jupytergis-core 0.2.1__py3-none-any.whl → 0.3.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. jupytergis_core/_version.py +1 -1
  2. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/package.json +4 -4
  3. jupytergis_core-0.3.0.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/522.72bef5a8b98e983de7c7.js +8 -0
  4. jupytergis_core-0.3.0.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/526.9cc1cc3ad86a83f2c2d9.js +1 -0
  5. jupytergis_core-0.3.0.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/557.bcbda68cfa6c779a4442.js +1 -0
  6. jupytergis_core-0.3.0.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/991.42a512713a70a8f20dfa.js +1 -0
  7. jupytergis_core-0.3.0.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/remoteEntry.4853198f0e5e59c8332a.js +1 -0
  8. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/third-party-licenses.json +3 -3
  9. {jupytergis_core-0.2.1.dist-info → jupytergis_core-0.3.0.dist-info}/METADATA +2 -3
  10. {jupytergis_core-0.2.1.dist-info → jupytergis_core-0.3.0.dist-info}/RECORD +69 -69
  11. jupytergis_core-0.2.1.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/206.96bf5064280104ca1dfc.js +0 -1
  12. jupytergis_core-0.2.1.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/522.26c37ca2966d1fe3683c.js +0 -8
  13. jupytergis_core-0.2.1.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/557.8b7e6570b121d16e9b75.js +0 -1
  14. jupytergis_core-0.2.1.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/991.dd0c17bfa03200081503.js +0 -1
  15. jupytergis_core-0.2.1.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/remoteEntry.6217d6628c8bdbd81c6e.js +0 -1
  16. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/etc/jupyter/jupyter_server_config.d/jupytergis_core.json +0 -0
  17. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/02ff7d503bbd90b21fc4.png +0 -0
  18. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/062a9554f6b4caac9713.png +0 -0
  19. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/064f37cecb8130ad66e8.png +0 -0
  20. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/08da2741746ddab81d04.png +0 -0
  21. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/0c6a0352b82839119f95.png +0 -0
  22. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/13c485bb93f5567f02fd.png +0 -0
  23. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/1474207a6b3ca1001e78.png +0 -0
  24. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/154.0d16fbe1d1182d138b2c.js +0 -0
  25. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/1d440270da19a2f22fee.png +0 -0
  26. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/2218dfba22fc2b08e948.png +0 -0
  27. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/234.2f0fc49f516ad354aa18.js +0 -0
  28. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/27.aea9e291ba3dd16790fb.js +0 -0
  29. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/27.aea9e291ba3dd16790fb.js.LICENSE.txt +0 -0
  30. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/2ab791b60c4058e664f8.png +0 -0
  31. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/2b24b6a745c11511f055.png +0 -0
  32. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/2d676bc0a01c2cd2fccb.png +0 -0
  33. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/2f02309ea499725612ea.png +0 -0
  34. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/32c7a73662cceb5bb1d7.png +0 -0
  35. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/350eec4ce9ae4bc10bca.wasm +0 -0
  36. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/363ca7c5f78deb6fd033.png +0 -0
  37. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/3ae0bf244442de7efc35.png +0 -0
  38. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/3d48be10ffea86eb15de.png +0 -0
  39. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/407.fa2f7a0dc4d3371a5e2c.js +0 -0
  40. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/415edc3fa381260cf31e.png +0 -0
  41. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/42cbddf5e883673bc4e2.png +0 -0
  42. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/432.19e693d578a221132366.js +0 -0
  43. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/460.a2074380632031c05e8d.js +0 -0
  44. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/472.08add5249d72d563ba32.js +0 -0
  45. /jupytergis_core-0.2.1.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/522.26c37ca2966d1fe3683c.js.LICENSE.txt → /jupytergis_core-0.3.0.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/522.72bef5a8b98e983de7c7.js.LICENSE.txt +0 -0
  46. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/527ef171d5df15dc7da5.png +0 -0
  47. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/542.3038c6cef679f15b8d9a.js +0 -0
  48. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/552.9f37fbb73d9f60b6c3f3.js +0 -0
  49. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/555.7d0c1d2ee9e49a619cb9.js +0 -0
  50. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/5bb02252f243f8c7494f.png +0 -0
  51. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/5d181edc3c046e1454a1.png +0 -0
  52. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/5f32ad48aefe00e51312.png +0 -0
  53. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/618.86523276f857e0a3362e.js +0 -0
  54. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/6e4f6b4d0dfca3bd4450.png +0 -0
  55. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/71d436fb44627b6bfbd7.png +0 -0
  56. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/803.fb5db0cf2ba651643784.js +0 -0
  57. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/803.fb5db0cf2ba651643784.js.LICENSE.txt +0 -0
  58. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/8814e17f6b110e8f3e42.png +0 -0
  59. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/88b2ae0d29edb684eae5.png +0 -0
  60. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/971a42d174dd17b9451a.png +0 -0
  61. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/a86d626c9ed2e222d190.png +0 -0
  62. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/a9e286b0c0264a9fc737.png +0 -0
  63. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/ab309078b494f850430a.png +0 -0
  64. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/b36717fbb06f21d53b01.png +0 -0
  65. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/ba4b6e82fe5a816c40a5.png +0 -0
  66. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/bb2b310570da7a3587e9.png +0 -0
  67. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/d83457b1b925c1718f6d.png +0 -0
  68. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/e473e1e9f20af114bbb4.data +0 -0
  69. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/f2617180c6907263a7ff.png +0 -0
  70. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/fe99a6dbf5a71d308989.png +0 -0
  71. {jupytergis_core-0.2.1.data → jupytergis_core-0.3.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/style.js +0 -0
  72. {jupytergis_core-0.2.1.dist-info → jupytergis_core-0.3.0.dist-info}/WHEEL +0 -0
  73. {jupytergis_core-0.2.1.dist-info → jupytergis_core-0.3.0.dist-info}/entry_points.txt +0 -0
  74. {jupytergis_core-0.2.1.dist-info → jupytergis_core-0.3.0.dist-info}/licenses/LICENSE +0 -0
@@ -1 +0,0 @@
1
- (self.webpackChunk_jupytergis_jupytergis_core=self.webpackChunk_jupytergis_jupytergis_core||[]).push([[206],{56799:(e,t,a)=>{"use strict";a.r(t),a.d(t,{AnnotationModel:()=>xa,BaseForm:()=>Y,CommandIDs:()=>v,ControlPanelHeader:()=>Rt,ControlPanelModel:()=>na,CreationFormDialog:()=>pe,CreationFormWrapper:()=>ue,GeoTiffClassifications:()=>o,GlobalStateDbManager:()=>we,JupyterGISMainViewPanel:()=>At,JupyterGISPanel:()=>Ia,JupyterGISWidget:()=>ja,LeftPanelWidget:()=>oa,MainView:()=>Nt,MainViewModel:()=>Tt,ObjectProperties:()=>ia,RightPanelWidget:()=>ya,Separator:()=>fa,TOOLBAR_GROUPNAME_CLASS:()=>va,TOOLBAR_SEPARATOR_CLASS:()=>ga,ToolbarWidget:()=>ba,UsersItem:()=>ha,VectorClassifications:()=>r,addCommands:()=>Ue,createDefaultLayerRegistry:()=>z,createHeader:()=>Dt,debounce:()=>L,deepCopy:()=>D,geoJSONIcon:()=>h,getCSSVariableColor:()=>P,getElementFromProperty:()=>N,getFromIndexedDB:()=>J,getLayerTileInfo:()=>B,getSourceLayerNames:()=>V,icons:()=>b,isLightTheme:()=>R,loadGeoTIFFWithCache:()=>q,logoIcon:()=>c,logoMiniAlternativeIcon:()=>m,logoMiniIcon:()=>d,moundIcon:()=>g,nearest:()=>A,nonVisibilityIcon:()=>y,openDatabase:()=>F,parseColor:()=>W,rasterIcon:()=>u,requestAPI:()=>T,saveToIndexedDB:()=>U,throttle:()=>G,visibilityIcon:()=>p});var r,o,n=a(41256),s=a(46377);!function(e){e.calculateQuantileBreaks=(e,t)=>{const a=[...e].sort(((e,t)=>e-t)),r=[];if(!a)return[];const o=a.length;let n=o>0?a[0]:0;for(let e=1;e<t;e++){if(o>1){const r=e/t*(o-1),s=Math.floor(r),i=r-s;n=(1-i)*a[s]+i*a[s+1]}r.push(n)}return r.push(a[o-1]),r},e.calculateEqualIntervalBreaks=(e,t)=>{const a=Math.min(...e),r=Math.max(...e),o=[],n=(r-a)/t;let s=a;for(let e=0;e<t;e++)s+=n,o.push(s);return o[t-1]=r,o},e.calculateJenksBreaks=(e,t)=>{const a=Math.max(...e);if(0===e.length)return[];if(t<=1)return[a];if(t>=e.length)return e;const r=[...e].sort(((e,t)=>e-t)),o=r.length,n=Array.from({length:o+1},(()=>Array(t+1).fill(0))),s=Array.from({length:o+1},(()=>Array(t+1).fill(Number.MAX_VALUE)));for(let e=1;e<=t;e++){n[0][e]=1,n[1][e]=1,s[0][e]=0;for(let t=2;t<=o;t++)s[t][e]=Number.MAX_VALUE}for(let e=2;e<=o;e++){let a=0,o=0,i=0,l=0;for(let c=1;c<=e;c++){const d=e-c+1,m=r[d-1];o+=m*m,a+=m,i++,l=o-a*a/i;const u=d-1;if(0!==u)for(let a=2;a<=t;a++)s[e][a]>=l+s[u][a-1]&&(n[e][a]=u,s[e][a]=l+s[u][a-1])}n[e][1]=1,s[e][1]=l}const i=Array(t);i[t-1]=r[o-1];for(let e=t,a=o;e>=2;e--){const t=n[a][e]-1;i[e-2]=r[t],a=n[a][e]-1}return i},e.calculatePrettyBreaks=(e,t)=>{const a=Math.min(...e),r=Math.max(...e),o=[];if(t<1)return o.push(r),o;const n=Math.floor(t/3),s=t;let i,l=!1;const c=r-a;let d;i=Math.max(Math.abs(a),Math.abs(r)),d=1.4,l=c<1.4*i*Math.max(1,s)*1e-7*3,l?(i>10&&(i=9+i/10,i*=.75),n>1&&(i/=n)):(i=c,s>1&&(i/=s)),i<20*1e-7&&(i=20*1e-7);const m=Math.pow(10,Math.floor(Math.log10(i)));let u=m;2*m-i<1.5*(i-u)&&(u=2*m,5*m-i<2.75*(i-u)&&(u=5*m,10*m-i<1.5*(i-u)&&(u=10*m)));let p=Math.floor(a/u+1e-7),y=Math.ceil(r/u-1e-7);for(;p*u>a+1e-7*u;)p-=1;for(;y*u<r-1e-7*u;)y+=1;let h=Math.floor(.5+y-p);h<n&&(h=n-h,p>=0?(y+=h/2,p=p-h/2+h%2):(p-=h/2,y=y+h/2+h%2));const g=p*u,v=y-p;for(let e=1;e<v+1;e++)o.push(g+e*u);if(0===o.length)return o;if(o[0]<a&&(o[0]=a),o[o.length-1]>r&&(o[o.length-1]=r),a<0&&r>0){const e=o.map((e=>e-0));let t=0;for(let a=1;a<o.length;a++)Math.abs(e[a])<Math.abs(e[t])&&(t=a);o[t]=0}return o},e.calculateLogarithmicBreaks=(t,a)=>{const r=Math.min(...t),o=Math.max(...t);let n=Number.MAX_VALUE,s=[];n=r;const i=Math.log10(n);let l=Math.floor(i);const c=Math.ceil(Math.log10(o));let d=e.calculatePrettyBreaks([l,c],a);for(;d.length>0&&d[0]<i;)l+=1,d=e.calculatePrettyBreaks([l,c],a);s=d;for(let e=0;e<s.length;e++)s[e]=Math.pow(10,s[e]);return s}}(r||(r={})),function(e){e.classifyQuantileBreaks=async(e,t,a,r)=>{const o=[],i="discrete"===r,l=new n.A,c=await(0,s.uz)(a),d=await c.getImage(),m=(await d.readRasters({pool:l}))[t-1].filter((e=>0!==e)).sort(((e,t)=>e-t));if(l.destroy(),!m)return[];let u,p,y;i?(p=m.length/e,u=0,y=0):(p=m.length/(e-1),o.push(1),u=1,y=1);for(let e=y;e<m.length;e++)u+1<p?u++:(o.push(m[e]),u=0);return o.length!==e&&o.push(65535),o},e.classifyContinuousBreaks=(e,t,a,r)=>{const o=t,n=a;if(o>n)return[];const s=[],i=e;if("discrete"===r){const e=(n-o)*(i-1)/i;for(let t=1;t<i;t++){const a=t/i;s.push(o+a*e)}s.push(n)}else for(let e=0;e<=i;e++){if(26===e)continue;const t=e/i;s.push(o+t*(n-o))}return s},e.classifyEqualIntervalBreaks=(e,t,a,r)=>{const o=t,n=a;if(o>n)return[];const s=[];if("discrete"===r){const t=(n-o)/e;for(let a=1;a<e;a++)s.push(o+a*t);s.push(n)}else{const t=(n-o)/(e-1);for(let a=0;a<e;a++)s.push(o+a*t)}return s}}(o||(o={}));var i=a(89594),l=a(76960);const c=new l.LabIcon({name:"jupytergis::logo",svgstr:'<?xml version="1.0" encoding="UTF-8"?>\n\x3c!-- Created with Inkscape (http://www.inkscape.org/) --\x3e\n<svg width="512" height="512" version="1.1" viewBox="0 0 512 512" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><defs><mask id="mask78" maskUnits="userSpaceOnUse"><g transform="matrix(1.0767 0 0 1.0767 -12.485 -18.906)" style="paint-order:normal"><path d="m251.56 484.04c10.453-0.66464 20.739-6.0855 30.805-16.401 10.77-11.037 20.923-27.584 29.487-48.334 7.5035-18.18 13.781-39.586 18.487-63.278-26.117 2.1491-53.281 3.2876-80.975 3.2876-27.722 0-54.854-1.2016-80.993-3.3668 4.7076 23.724 10.993 45.156 18.505 63.357 8.5646 20.751 18.717 37.297 29.487 48.334 10.77 11.037 21.792 16.471 33.001 16.471 0.73263 0 1.4648-0.0236 2.1958-0.0701z" fill="#fff" stroke-width="0" style="paint-order:normal"/><path d="m468.12 331.81c-35.258 10.647-77.632 18.398-123.73 22.915-4.9228 25.979-11.713 49.562-20.043 69.743-9.0274 21.872-19.821 39.822-32.311 52.622-2.6437 2.7092-5.3844 5.1766-8.2036 7.4077a232.15 232.15 0 0 0 184.28-152.69z" fill="#fff" stroke-width="0" style="paint-order:normal"/><path d="m30.643 331.77a232.15 232.15 0 0 0 184.33 152.79c-2.8513-2.2495-5.6231-4.7396-8.2952-7.4778-12.49-12.8-23.284-30.75-32.311-52.622-8.3284-20.178-15.129-43.744-20.052-69.719-46.067-4.5298-88.399-12.322-123.67-22.973z" fill="#fff" stroke-width="0" style="paint-order:normal"/><path d="m151.6 171.87c-48.188 5.0669-91.71 13.724-126.18 25.017a232.15 232.15 0 0 0-8.2097 58.45 232.15 232.15 0 0 0 7.5602 58.322c34.698 11.468 78.487 20.139 126.84 25.187-4.0167-26.037-6.2183-54.142-6.2183-83.509 0-29.352 2.1996-57.441 6.2122-83.467z" fill="#fff" stroke-width="0" style="paint-order:normal"/><path d="m333.19 170.49c-26.951-2.3825-55.121-3.6718-83.833-3.6718-28.798 0-56.918 1.3698-83.842 3.7755-4.24 26.22-6.6087 54.806-6.6087 84.742 0 29.949 2.3712 58.546 6.6148 84.775 26.967 2.3909 55.095 3.742 83.836 3.742 28.717 0 56.884-1.2907 83.827-3.6718 4.2504-26.247 6.6239-54.871 6.6239-84.845 0-29.972-2.368-58.6-6.6178-84.845z" fill="#fff" stroke-width="0" style="paint-order:normal"/><path d="m347.12 171.85c4.0148 26.032 6.2153 54.13 6.2153 83.491 0 29.357-2.1923 57.459-6.2061 83.488 48.387-5.0494 92.199-13.714 126.88-25.175a232.15 232.15 0 0 0 7.5053-58.313 232.15 232.15 0 0 0-7.798-58.392c-34.664-11.434-78.367-20.065-126.6-25.099z" fill="#fff" stroke-width="0" style="paint-order:normal"/><path d="m214.96 26.13a232.15 232.15 0 0 0-184.19 152.67c35.169-10.625 77.423-18.397 123.55-22.906 4.9221-25.961 11.724-49.51 20.049-69.679 9.0274-21.872 19.821-39.819 32.311-52.619 2.6662-2.7322 5.4322-5.2169 8.2768-7.4626z" fill="#fff" stroke-width="0" style="paint-order:normal"/><path d="m262.17 28.975c-4.2405-1.6079-8.5126-2.4062-12.812-2.4062-11.208 0-22.23 5.4311-33.001 16.468-10.77 11.037-20.923 27.584-29.487 48.334-7.5086 18.192-13.793 39.613-18.499 63.324 26.09-2.1458 53.21-3.3333 80.987-3.3333 27.688 1e-5 54.853 1.1439 80.975 3.2998-4.706-23.695-10.983-45.108-18.487-63.29-8.5646-20.751-18.717-37.297-29.487-48.334-6.6392-6.8038-13.374-11.478-20.189-14.062z" fill="#fff" stroke-width="0" style="paint-order:normal"/><path d="m283.7 26.099c2.8654 2.2576 5.6564 4.742 8.3409 7.4931 12.49 12.8 23.284 30.747 32.311 52.619 8.3323 20.188 15.132 43.772 20.055 69.762 46.268 4.5479 88.804 12.357 124.17 23.083a232.15 232.15 0 0 0-184.88-152.96z" fill="#fff" stroke-width="0" style="paint-order:normal"/></g></mask></defs><g><g transform="matrix(1.0767 0 0 1.0767 -12.485 -18.906)" fill="#2d93ad" style="paint-order:normal"><path d="m251.56 484.04c10.453-0.66464 20.739-6.0855 30.805-16.401 10.77-11.037 20.923-27.584 29.487-48.334 7.5035-18.18 13.781-39.586 18.487-63.278-26.117 2.1491-53.281 3.2876-80.975 3.2876-27.722 0-54.854-1.2016-80.993-3.3668 4.7076 23.724 10.993 45.156 18.505 63.357 8.5646 20.751 18.717 37.297 29.487 48.334 10.77 11.037 21.792 16.471 33.001 16.471 0.73263 0 1.4648-0.0236 2.1958-0.0701z" style="paint-order:normal"/><path d="m468.12 331.81c-35.258 10.647-77.632 18.398-123.73 22.915-4.9228 25.979-11.713 49.562-20.043 69.743-9.0274 21.872-19.821 39.822-32.311 52.622-2.6437 2.7092-5.3844 5.1766-8.2036 7.4077a232.15 232.15 0 0 0 184.28-152.69z" style="paint-order:normal"/><path d="m30.643 331.77a232.15 232.15 0 0 0 184.33 152.79c-2.8513-2.2495-5.6231-4.7396-8.2952-7.4778-12.49-12.8-23.284-30.75-32.311-52.622-8.3284-20.178-15.129-43.744-20.052-69.719-46.067-4.5298-88.399-12.322-123.67-22.973z" style="paint-order:normal"/><path d="m151.6 171.87c-48.188 5.0669-91.71 13.724-126.18 25.017a232.15 232.15 0 0 0-8.2097 58.45 232.15 232.15 0 0 0 7.5602 58.322c34.698 11.468 78.487 20.139 126.84 25.187-4.0167-26.037-6.2183-54.142-6.2183-83.509 0-29.352 2.1996-57.441 6.2122-83.467z" style="paint-order:normal"/><path d="m333.19 170.49c-26.951-2.3825-55.121-3.6718-83.833-3.6718-28.798 0-56.918 1.3698-83.842 3.7755-4.24 26.22-6.6087 54.806-6.6087 84.742 0 29.949 2.3712 58.546 6.6148 84.775 26.967 2.3909 55.095 3.742 83.836 3.742 28.717 0 56.884-1.2907 83.827-3.6718 4.2504-26.247 6.6239-54.871 6.6239-84.845 0-29.972-2.368-58.6-6.6178-84.845z" style="paint-order:normal"/><path d="m347.12 171.85c4.0148 26.032 6.2153 54.13 6.2153 83.491 0 29.357-2.1923 57.459-6.2061 83.488 48.387-5.0494 92.199-13.714 126.88-25.175a232.15 232.15 0 0 0 7.5053-58.313 232.15 232.15 0 0 0-7.798-58.392c-34.664-11.434-78.367-20.065-126.6-25.099z" style="paint-order:normal"/><path d="m214.96 26.13a232.15 232.15 0 0 0-184.19 152.67c35.169-10.625 77.423-18.397 123.55-22.906 4.9221-25.961 11.724-49.51 20.049-69.679 9.0274-21.872 19.821-39.819 32.311-52.619 2.6662-2.7322 5.4322-5.2169 8.2768-7.4626z" style="paint-order:normal"/><path d="m262.17 28.975c-4.2405-1.6079-8.5126-2.4062-12.812-2.4062-11.208 0-22.23 5.4311-33.001 16.468-10.77 11.037-20.923 27.584-29.487 48.334-7.5086 18.192-13.793 39.613-18.499 63.324 26.09-2.1458 53.21-3.3333 80.987-3.3333 27.688 1e-5 54.853 1.1439 80.975 3.2998-4.706-23.695-10.983-45.108-18.487-63.29-8.5646-20.751-18.717-37.297-29.487-48.334-6.6392-6.8038-13.374-11.478-20.189-14.062z" style="paint-order:normal"/><path d="m283.7 26.099c2.8654 2.2576 5.6564 4.742 8.3409 7.4931 12.49 12.8 23.284 30.747 32.311 52.619 8.3323 20.188 15.132 43.772 20.055 69.762 46.268 4.5479 88.804 12.357 124.17 23.083a232.15 232.15 0 0 0-184.88-152.96z" style="paint-order:normal"/></g><g mask="url(#mask78)"><g fill="#87d68d"><path transform="translate(70.625 11.06)" d="m239.34 363.1c-0.76288 1.2394-0.53225 2.8479-1.1892 4.1217-0.66214 1.284-0.8507 2.8156-1.5508 4.0981-0.64478 1.1811-1.5009 2.7822-0.72787 3.8813 0.60727 0.86343 1.4166 1.0492 1.5951 2.5904 0.14306 1.2351-1.1819 2.5942 0.23503 3.5782 1.2607 0.87551 2.3034-0.46482 3.379-0.89029 0.65845-0.26044 2.7642-0.60327 2.2882-0.6074-0.72407-6e-3 1.2978-0.53601 1.7441-0.71116 1.4095-0.55311 1.6483 0.89908 2.3404 1.8246 0.66088 0.88389 1.9598 1.4168 2.2298 2.5272 0.40713 1.6742 1.7537 3.0033 1.9084 4.7372 0.14374 1.6114 1.7601 1.117 3.1003 1.202 1.4771 0.0936 2.3135-1.0009 2.4195-2.5261 0.0997-1.4345-0.2353-2.7754-0.12161-4.2454 0.13626-1.7617-0.80359-3.3518-1.767-4.7492-0.86239-1.2509-1.0614-3.1119-0.0193-4.1888 1.0357-1.0704 0.40366-2.706 1.2681-3.7836 0.81214-1.0124 1.101-2.2938 1.1964-3.6266 0.0926-1.294 0.9708-2.9692-0.0369-3.9689-1.3987-1.3876-3.5354-1.4288-5.368-1.7109-1.5434-0.23762 1.3236 0.0787-0.16067 0.10717-1.3409 0.0257-2.6144-0.58297-3.9634-0.25019-1.2407 0.30605-2.5458 0.0887-3.7657 0.43002-1.4319 0.4006-2.8058 0.8634-4.1094 1.6193-0.30895 0.17915-0.61591 0.3617-0.92461 0.54127z" style="paint-order:normal"/><path transform="matrix(0 1 -1.1064 0 730.82 158.68)" d="m270 363.03c-1.7592 1.4891-1.9061 4.0278-1.333 5.9665 0.38829 1.3136 1.313 2.7406 2.7591 2.9795 1.5082 0.24923 2.8119 0.92946 4.1922 1.4821 1.3248 0.53047 2.678 0.69359 4.138 0.72103 1.4498 0.0272 2.7827 1.9933 0.49533 2.1502-1.6835 0.11547-4.2764-1.913-4.9902-0.38479-0.93222 1.9958-2.2597 1.3004-4.2218 1.3872-1.7216 0.0762-3.6891 2.0229-1.4549 3.0556 1.4074 0.65052 2.3822 3.3674 1.6346 3.849-1.3866 0.89336-2.1289 1.8333-3.8235 2.6894-1.1123 0.56191-3.068 1.1155-2.5261 2.7474 0.54879 1.6526-0.99273 2.9639-2.0533 4.0534-1.26 1.2944-3.1056 2.5856-4.922 2.5756-2.7912-0.0155-5.5868-0.16095-8.3338-0.75522-1.4695-0.31791-3.0216-0.87793-3.9892-2.2663-0.66305-0.95132-0.39747-2.2996-0.64319-3.6966-0.28808-1.6379-0.97307-2.8652-1.5748-4.382-0.49457-1.2467-1.3102-1.3167-1.9545 0.28626-0.55988 1.393-1.1268 3.3748-0.24312 4.6503 0.98367 1.4199-1.0549 4.0763 0.38916 4.8548 0.97955 0.5281 1.7306 2.7942 0.0752 3.3339-1.4888 0.48542-3.09-1e-3 -4.6012 0.32893-1.4114 0.30822-2.8189 1.2741-3.2564 3.1019-0.36768 1.5359-1.0245 3.8426-2.6433 4.2727-1.5992 0.42489-2.6553 1.8981-3.6407 3.1356-0.81434 1.0227-0.99834 1.9346-1.9647 2.7986-0.85992 0.76877-2.5492 2.5964-3.484 1.6064-0.77515-0.82081-3.5478-0.67633-3.4776-0.4853 0.31806 0.86518 0.81479 1.5174-0.57566 2.0536-1.3563 0.52309-4.0551-1.8605-3.8158-0.81498 0.30359 1.3266 1.7229 1.9824 1.879 3.1602 0.24788 1.8708 1.2824 3.314 2.2319 4.8703 0.72452 1.1875 0.98766 2.532 0.84999 3.9297-0.10003 1.0156 0.40617 3.4669-1.4934 2.3361-1.462-0.87029-3.665-0.53893-4.811 0.52866-1.0423 0.97105-2.8392 0.94985-3.9765 0.23399-0.88154-0.55487-1.6664-2.532-2.6724-0.71658-0.47692 0.86067-1.7392 1.9097-1.9752 2.9515-0.34837 1.5376-2.6512 2.6586-1.7092 4.4658 0.79303 1.5213-0.0575 3.0944-0.0507 4.6715 6e-3 1.4866 0.19135 2.9548 0.43988 4.4386 0.29155 1.7406 2.0154 2.4529 3.2583 3.3954 1.4427 1.094 2.3469 3.0801 4.1375 3.4434 1.04 0.21098 3.4017 1.0304 3.3926 0.26153-0.0203-1.7164 1.6841-1.9515 3.1847-2.2987 1.4051-0.32507 1.0263-2.2855 2.1982-2.4138 0.98287-0.10762 0.91316-0.39918 2.4554-0.77938 1.4878-0.36676 1.9895-2.306 1.3522-3.59-0.82455-1.6612 1.5842-1.7854 2.4356-2.6476 1.2158-1.2312 3.4854-0.50553 3.7965-2.9022 0.25043-1.929 3.6531 0.41582 2.7229-2.1847-0.50687-1.4171-1.4071-4.4662 0.15358-4.5168 1.703-0.0552 3.5043-0.0208 5.2357 0.14996 1.5974 0.15756 3.6696-0.59291 3.8149-2.0256 0.16959-1.6717 1.3892-1.9849 2.7141-0.80557 1.4414 1.283 2.4206 3.1684 4.1888 3.9175 1.3421 0.56859 2.4148 1.4036 3.5377 2.4931 0.94409 0.91597 0.88357 2.6702 2.0278 3.2046 1.5397 0.71907 2.2768 2.2983 2.9258 3.7689 0.68913 1.5617 2.0086 2.9157 1.973 4.7485-0.0309 1.5867 0.65998 0.8831 1.3111-0.0598 0.92953-1.3462 2.0862-2.729 1.539-4.2873-0.47584-1.3549 0.90581-0.6734 1.5916-1.6137 1.0477-1.4366-1.3422-1.0409-1.618-2.2385-0.34223-1.4859-1.6834-2.0546-2.7284-3.1126-1.096-1.1097-3.5673-0.42325-3.9654-2.1153-0.30189-1.2833-0.96491-2.3031-1.8468-3.3826-0.82807-1.0136-3.0979-2.4854-2.0254-3.1927 1.0475-0.69074 1.9079-1.6695 2.8706-1.9289 1.2127-0.32681 2.7413 0.55537 3.5013 1.53 0.88925 1.1404 1.5976 2.3724 2.7977 3.3164 1.2868 1.0122 2.6158 2.1638 3.0851 3.7077 0.44154 1.4526 1.7941 1.2413 2.8336 1.9928 1.3057 0.9439 1.1629 2.6793 1.4846 4.2692 0.34931 1.7264 1.7283 3.1991 1.6784 4.9497-0.0557 1.9539 0.90377 3.5641 2.1408 4.8886 0.65173 0.69778 0.73681 1.5103 2.0394 0.82209 1.5203-0.80326 1.316-3.225 1.2325-4.7873-0.0724-1.3554-0.84252-4.2387 0.41797-4.0045 1.9973 0.37101 0.80921-2.4327 2.0383-2.8817 1.7516-0.6398 3.5349 1.8178 5.3525 1.5316 1.2757-0.20091 2.6825-1.3032 2.9498-2.3997 0.32982-1.3527 0.53124-2.9945 0.0236-4.3259-0.46213-1.2119-0.75535-2.84-2.1852-3.5386-1.1565-0.56507-1.8675-3.405 0.25031-2.6973 1.7151 0.57316 2.8094-0.71153 4.0508-1.8444 1.0632-0.97028 1.8081-1.5736 3.3078-2.4557 1.6605-0.97669 2.7874 1.7895 2.741 3.1426-0.0404 1.1753 0.30808 1.0366 1.68 0.85138 1.3372-0.1805 1.7421-1.2492 2.6594-2.5243 0.84973-1.1812 1.7759-2.1196 3.2416-2.5258 1.2699-0.35193 1.7873-0.70809 3.1697 0.75518 1.1884 1.2579-0.70801 1.9498-1.2113 2.3866-1.1666 1.0123-0.91893 2.368 0.79713 3.2708 1.0501 0.55245 1.7238 0.43214 2.6301 0.77029 1.2396 0.46252 2.2733 1.3037 3.126 2.3383 1.021 1.2388 2.9114 2.2862 2.8303 3.9572-0.0938 1.9323-2.273 1.5448-3.6914 1.8099-1.6525 0.30884-3.2176-0.40971-4.5457-1.2647-1.3753-0.88542-3.1052-0.65835-4.6738-0.70516-1.634-0.0487-2.1159 1.371-3.1707 2.2843-1.4652 1.2687-3.9308 0.28438-5.373 1.45-0.72543 0.58637-0.77722 2.3074-1.906 3.3758-1.3434 1.2715-3.5322 1.901-4.2035 3.6166-0.48257 1.2333-2.1272 3.8786-0.44291 4.4023 1.373 0.42685 2.6657-0.18091 4.1536 0.43777 1.5246 0.63394 3.106 0.74607 4.7145 0.91419 1.4472 0.15127 1.9749 0.72878 3.6395 1.682 1.3727 0.78614 1.3641 2.206 3.1439 2.7673 1.747 0.5509 1.1978 2.7545 1.5393 4.2158 0.4274 1.8289-0.5719 3.6082-2.112 4.6487-1.3653 0.92233-3.1537 0.83577-4.7628 0.81468-1.9565-0.0256-3.7636-0.53452-5.694-0.96627-1.4917-0.33363-3.2184-0.0719-4.6957 0.53638-1.3702 0.56425-2.9689 1.7273-4.4429 1.0727-1.819-0.80792-2.5474-2.7861-4.1313-3.8997-1.3954-0.98107-3.0315-1.6303-4.5957-2.2725-2.1013-0.86266-1.8165 2.0179-3.0342 3.2855-1.167 1.2148-2.417 2.5936-4.1238 2.9529-1.7209 0.36227-3.6255 0.80205-5.304 0.22202-1.1126-0.38447-2.132-1.2662-2.8654-1.986-1.283-1.2592-2.0478-3.2153-4.0534-3.634-1.6726-0.34918-2.0089-2.345-2.8217-3.5555-0.99473-1.4814-2.5614-2.7641-3.2775-4.4505-0.53379-1.257-1.4576-2.2659-2.9359-2.636-1.3195-0.3304-2.1301-0.16137-3.2827 0.93289-1.2795 1.2147-2.9664 1.6295-4.8348 1.6479-1.6927 0.0167-3.111-1.8672-4.6582-1.382-1.2826 0.40221-1.9592 1.0452-3.3807 1.9299-1.0383 0.64624-1.928 1.4724-2.856 2.1213-1.687 1.1794-3.2177 0.82958-4.7877 0.41201-2.0281-0.53942-4.4966 1.4011-6.1504 0.20161-1.2901-0.93572-4.0019-2.9996-4.7367-1.1056-0.59496 1.5336-1.8767 2.68-2.3392 4.2987-0.76048 2.6612-2.2961 5.1264-1.9883 8.0803 0.19868 1.9062 1.1073 3.5855 1.8389 5.352 0.98348 2.3748 3.0747 4.0065 4.7534 5.8898 1.0636 1.1932 1.4208 2.4645 2.4099 3.7828 1.2398 1.6523 2.5155 3.5285 4.3959 4.3009 1.5385 0.63201 1.467 1.3953 3.0226 2.0553 2.7224 1.155 5.2136 2.9131 7.0328 5.2698 1.3668 1.7707 3.3389 2.927 5.3707 3.6916 1.6688 0.62803 3.6506 0.83866 4.9136 2.0728 1.5724 1.5365 3.7004 2.3304 5.4974 3.6016 1.4707 1.0404 3.627 0.82138 5.3277 1.4462 1.3486 0.49547 2.6352 1.3666 4.1503 1.4239 3.955 0.14952 7.8186-1.0208 11.545-2.2096 8.6622-2.7636 17.404-5.6253 25.326-10.083 1.3206-0.74318 2.244-1.1394 3.2806-2.014 0.8716-0.7354 1.5983-1.4341 2.7733-1.8954 1.4112-0.55403 2.4356-1.6659 3.2167-2.9286 0.98923-1.5991 1.7596-3.6465 1.2061-5.3934-0.44712-1.411-0.92475-2.8938-1.3259-4.372-0.44519-1.6403-2.426-3.8976-1.1576-4.9925 1.1242-0.97034 2.7825-1.1665 4.1576-0.58242 1.5157 0.64374 2.9261 0.1441 4.2356-0.45829 1.6639-0.76544 2.0022-2.692 3.2962-3.8419 1.1666-1.0368 1.5617-2.7224 2.8655-3.576 1.5029-0.98389 2.1783-2.6252 2.7637-4.2444 0.63461-1.7551 0.50709-3.9424 2.2527-5.0453 1.9139-1.2092 3.6884-2.792 4.8014-4.725 1.1372-1.9751 1.9086-4.1257 2.5534-6.306 0.47515-1.6067 1.0106-3.192 1.4847-4.7989 0.79128-2.6818 0.52736-5.7325 1.9256-8.1549 1.1121-1.9267 2.1689-3.7973 2.911-5.9611 0.52145-1.5205 1.5981-2.7577 2.5786-4.0231 0.86335-1.1142 0.98011-2.616 1.7667-3.7308 1.812-2.5681 2.9191-5.6163 2.9658-8.8003 0.0303-2.0691-0.23366-4.1082 0.0653-6.1961 0.22375-1.5626 1.5993-2.8754 0.11452-4.5674-1.2404-1.4134-4.2699-2.2219-3.9063-4.1517 0.12251-0.65031-0.89007-0.87554-1.4025-1.1732-16.447-9.5534-31.229-22.85-49.34-28.66-1.5074-0.48356-2.3944-1.7288-4.2851-1.9332-2.7823-0.30083-9.5073-1.2276-8.2061 1.3039 0.10909 0.21225-0.53952 0.31321-0.66294 0.42603z" style="paint-order:normal"/><path transform="matrix(-1 0 0 1 513.22 -1.8379)" d="m192.41 54.2c1.5236 1.5891 1.5942 4.1028 3.0441 5.6606 1.2076 1.2974 2.1815 2.8377 3.3601 4.1181 1.1021 1.1972 1.8975 2.621 2.2277 4.1595 0.42766 1.9923 0.4545 3.9972 0.83303 6.0008 0.36694 1.9423 2.68 2.0842 4.1233 3.0061 1.6082 1.0272 3.18 2.0392 4.7374 3.1461 1.5104 1.0734 3.1573 1.8935 4.8956 2.3017 1.5974 0.37514 2.7572 1.8429 3.8899 3.0197 1.2943 1.3447 3.109 2.0658 4.7007 2.9667 1.6148 0.914 3.6225-0.15785 5.3367 0.52958 1.768 0.70902 3.011 2.5859 4.7102 3.47 2.262 1.1769 5.0236 1.1322 6.9712 3.0509 1.4321 1.4108 3.4338 2.5149 4.0119 4.5059 0.47655 1.6413 1.5121 4.0332 3.263 3.9633 1.9416-0.0775 3.3202 0.54051 4.7344 2.4124 1.095 1.4495 3.3569 1.0531 4.6291 2.5211 0.51511 0.59439 0.642 1.5553 0.8519 3.0916 0.21869 1.6007-0.47008 2.9829 0.0702 4.8896 0.55756 1.9676-0.12868 4.2269-1.4662 5.6213-0.62148 0.64793-0.83207 1.154-1.5158 1.9505-1.3693 1.5953-3.1725 4.2894-1.47 5.9528 1.5271 1.492-0.11831 3.318-0.36485 5.0636-0.2885 2.0427 1.4147 3.5317 1.2406 5.6046-0.15468 1.842-1.1984 4.0996-0.0648 5.5576 1.2069 1.5521 3.0217 2.8515 4.8533 3.6581 4.6835 2.0625 9.7857 2.8912 14.82 3.4532 2.1989 0.24547 4.3788 0.28227 6.6065 0.41171 2.7859 0.16189 5.5694 0.27911 8.3598 0.40755 3.9773 0.18307 7.9368 0.2828 11.913 0.89457 5.1712 0.79551 10.367 1.7277 15.602 1.7495 5.4271 0.0226 10.874 0.29326 16.283-0.15142 0.87241-0.0717-1.2519 0.0653 0.50918 0.13317 0.90138 0.0347 4.0617 8e-3 5.7002-0.65404 1.4828-0.59886 2.401-0.61477 4.1249-1.495 1.396-0.71275 2.8052-1.8649 3.7503-3.2447 1.1518-1.6814 0.99083-3.7494 1.018-5.7001 0.0271-1.9428 0.26955-3.8884-0.45585-5.821-0.67968-1.8108-1.2358-4.9643-3.3758-5.1042-1.9673-0.1286-4.0388-0.10822-5.9672 0.0496-1.8774 0.15361-3.4088-1.3234-4.2365-2.8357-0.75834-1.3855-2.8096-2.389-4.476-1.9426-1.8791 0.50333-4.0218 0.83508-5.7115-0.67342-1.8501-1.6517-7.4242-4.3878-5.2014-5.3667 1.4013-0.61711 2.0746-2.2351 2.4384-3.5322 0.40315-1.4373-2.1585-2.0358-2.7646-3.1895-0.99293-1.89-2.7495-3.1044-4.0576-4.7482-0.5269-0.66216 0.88692 0.50593-0.22374-0.23291-1.6429-1.0929-2.9518-3.1195-5.1453-3.0224-1.6779 0.0743-3.2789 0.21354-5.0358 0.50548-2.2283 0.37025-2.1658-2.436-3.6822-3.7279-1.5682-1.3361-2.687-3.0627-3.2285-4.9875-0.50592-1.7983-2.124-3.4837-3.8689-3.8309-1.9885-0.39564-4.0146-0.3211-6.1427 0.02056-1.6521 0.26523-3.5367 0.67221-5.0094-0.39763-1.4057-1.0212-3.8504-2.9895-4.7951-1.5945-0.87505 1.2921-0.43692 3.6852-2.1095 4.957-1.7991 1.3681-1.3274-2.3213-2.9035-2.9503-1.697-0.67732-2.2313 1.9078-3.6334 2.8269-1.5374 1.0078-3.9747 0.0449-5.2772 1.8298-0.96099 1.3169-2.7856 2.9537-4.3204 1.237-1.3081-1.4631-3.2205-1.8946-5.13-2.1903-1.1925-0.18466 0.10982-0.0809-0.72403-0.15067-1.7195-0.14381-3.9025-1.182-4.227-2.8129-0.47656-2.3952-1.2922-4.5487-1.8107-7.0799-0.37125-1.8126 0.16993-3.7216-0.58872-5.4761-1.0759-2.4882-3.7493-1.119-5.5646-0.6942-1.4934 0.34949-2.8169-0.35808-3.8553-1.2921-0.95622-0.86011-0.40571-2.6646-0.54493-3.9152-0.2041-1.8335-0.52145-3.9875 0.86081-5.4396 1.0071-1.058 1.4218-1.9101 2.8963-2.8782 1.8182-1.1938 0.5651-2.6313-1.1127-3.1957-2.2143-0.7449-2.7353 1.7386-4.137 2.7645-1.6639 1.2178-2.4699 3.1307-4.213 4.3781-1.4236 1.0188-3.4612 0.92155-4.2101 1.3805-1.8674 1.1444-2.0988-1.6068-4.2928-1.4101-1.9949 0.17886-2.7416-2.0198-3.1943-3.8005-0.4015-1.5797-0.69805-3.206-0.36527-4.9183 0.28238-1.453 1.5295-4.7841 0.27389-4.7075-0.6941 0.04235-1.4911-2.4873-0.94396-3.7725 0.72854-1.7114 1.8733-3.2325 2.4892-4.9843 0.60359-1.717-0.206-4.0098 1.2102-5.166 1.1864-0.96856 3.4431-1.3898 5.1312-1.0253 1.8967 0.40958 5.3413 1.7184 5.7603-0.24447 0.46941-2.1995 2.9544-2.0611 4.6783-1.6365 1.8357 0.45219 3.4381 1.308 5.3278 0.0893 1.5515-1.0007 3.2801-1.117 4.7942 0.3517 1.0582 1.0265 1.5024 2.373 1.8256 3.921 0.39021 1.8689 2.2288 2.5904 3.4875 3.8181 1.3779 1.344 1.5979 6.6548 2.3397 5.0612 0.65308-1.4028 1.2636-2.9234 0.65307-4.5546-0.66798-1.7847-1.5432-3.4115-2.0024-5.3321-0.4005-1.6753-0.8811-3.711 0.78678-5.0812 1.4324-1.1767 3.3055-1.515 4.8457-2.6184 1.5503-1.1106 2.849-2.7346 2.94-4.6614 0.10511-2.2269 1.8082-3.0506 3.7883-3.4729 1.6705-0.3562 2.9608-1.3328 4.6231-1.9658 2.2771-0.86702 0.61965-3.1713-0.29985-4.3933-1.1177-1.4853-2.0796-3.2078-0.14699-4.6739 1.4841-1.1258 3.3932-2.0818 3.8339-4.0323 0.47254-2.0913 2.2635-2.9271 4.2908-3.4728 1.6072-0.43266 4.8937-1.9015 3.5681-3.5039-1.3151-1.5897-3.2255-2.4707-5.2448-2.8786-2.8032-0.56624-5.5485-1.3412-8.3926-1.7406-2.2751-0.31955-4.5765-1.1393-6.8205-1.176-2.0655-0.033793-4.043-0.62656-6.1406-0.59537-2.4344 0.036199-4.8597-0.011252-7.2786 0.39955-2.2905 0.38901-4.5362 0.76735-6.8536 1.1964-2.8835 0.53388-5.4338 2.0836-7.9658 3.4779-2.7121 1.4935-5.113 3.3923-7.5461 5.3715-1.2965 1.0546-2.5712 2.0929-3.8436 3.2046-2.9208 2.552-6.0013 4.9276-8.7219 7.6971-1.8105 1.8431-3.4138 3.8853-5.2098 5.7431-1.805 1.867-2.4547 4.4567-3.8614 6.5958-1.0975 1.6689-1.6889 3.7317-3.343 4.9377-1.7501 1.2759-2.9147 3.1348-4.425 4.6612-0.98185 0.9923-2.2914 2.615-2.6968 3.1502-0.74236 0.97993-1.2546 2.1474-1.8032 3.248z" style="paint-order:normal"/></g><g fill="#5ab59d"><path d="m422.1 167.61c0.31386 2.6874 1.6161 5.722 0.22558 8.1733-0.7897 1.3921-4.3968-0.5393-3.0728 2.107 1.0606 2.1197 0.16274 5.6975-2.4613 5.867-3.2744 0.21146-3.5735-3.7168-5.3452-5.4382-2.0375-1.9798-3.294 0.4869-3.1271 2.5671 0.17175 2.1402 2.1324 3.6674 2.5781 5.7056 0.49871 2.2809 0.84173 5.472 3.446 6.2161 2.6902 0.76865 4.0501-3.4718 6.6542-2.479 2.177 0.82996 2.2343 3.5524 2.0324 5.4961-0.28511 2.7446 2.5494 4.2968 5.2998 3.163 2.8618-1.1797 3.2551 2.5441 4.8177 3.9005 1.6574 1.4388 2.0881 4.084 4.392 4.74 1.6254 0.46283 3.4236 1.0062 4.1863 2.8421 1.0154 2.4441 4.0648 3.6145 4.7937 6.0871 0.73566 2.4954-3.2351 3.7608-1.3475 6.7309 1.2665 1.9928-0.29919 2.9637-2.6796 3.4494-2.7658 0.56434-2.3548 4.0156-4.3848 5.4727-2.1066 1.5122-4.5732 0.11389-6.8255 2.1972-1.9905 1.8412-3.6271 4.0976-4.0333 6.8902-0.4508 3.0991-0.50503 6.2174-0.28941 9.3347 0.171 2.4723-2.5332 3.26-4.075 1.189-1.6978-2.2806-2.4746-5.2215-2.0804-7.997 0.39301-2.767-1.6497-4.8826-4.1231-6.4576-2.1231-1.352-4.8354-3.5451-4.2917-6.0117 0.47129-2.1382 2.755-4.9354 0.76831-6.6354-2.072-1.7731-2.2414-4.6489-2.978-7.2231-0.62927-2.1989-1.1684-4.9064-3.5329-5.9903-1.9959-0.915-5.6379 0.49337-4.6739 2.8684 1.2788 3.1507-3.0583 2.3858-4.6997 3.3599-2.0709 1.2291-2.3984 3.842-2.149 5.9835 0.34545 2.9655-2.8583 1.2307-4.407 0.99212-1.8074-0.27845-6.488-2.4195-5.9175-0.13981 0.46416 1.855 0.0453 3.1454-1.3379 4.8064-1.5968 1.9174-0.31975 4.7823-1.5209 6.7363-1.0184 1.6567 1.1229 3.8325 0.10174 5.0666-1.6344 1.9753-4.4026 2.4905-6.1731 4.4198-1.6341 1.7806-2.046 4.501-1.6486 6.7829 0.46662 2.6795 3.3563 3.5927 5.6442 4.1069 1.8102 0.40678 3.4791 1.2982 4.7214 2.7345 1.4608 1.6888 3.6506 2.0504 5.8131 2.3421 2.0556 0.27725 4.3351 0.5402 6.1689-0.93412 2.288-1.8395 6.6005 0.0188 6.4098 2.7527-0.19815 2.8397-3.4195 2.7212-5.3656 1.4478-2.1925-1.4346-3.4177 0.39009-2.6074 2.8785 0.90081 2.7666-2.9605 1.8194-3.868 3.8579-0.98788 2.2191-1.2185 5.6951 1.1883 7.0043 2.5682 1.3971 3.0613-1.6964 3.2598-3.8155 0.28411-3.0319 2.8879-0.50052 4.5506 0.11333 2.3643 0.87286 1.084 4.834 3.8817 5.1173 2.263 0.22916 4.2064 1.0733 5.852 2.9955 1.5647 1.8278 1.5834 5.1627 4.7408 5.0472 2.505-0.0916 3.332 2.3788 4.1799 4.2278 1.048 2.2852 2.7812 4.0493 4.5459 5.9912 1.5536 1.7096-1.7951 3.1095 0.0473 5.5567 1.3305 1.7673 3.3098 4.5734 5.3776 3.7628 0.97843-0.38356-0.25711-3.973 1.5355-2.4246 1.9514 1.6855 1.5488 4.4292 2.8557 6.8164 1.4811 2.7055 4.2769 4.3219 5.6111 7.1664 0.98536 2.1008 0.40678 4.4202 0.37772 6.6385-0.0303 2.3157-1.2616 5.0845 0.11696 6.9462 1.7796 2.4032 2.237-1.6059 2.7085-3.2584 0.79098-2.7721 3.9158-4.2514 4.8541-6.859 0.70496-1.9592 2.8423-6.8442 4.744-4.1158 1.7165 2.4628 4.3673 1.1974 6.5582 0.45824 2.2142-0.74705 3.7535 0.82817 5.6781 1.5712 1.8428 0.71147 4.0456-0.72606 5.6954 0.15001 2.4723 1.3128 2.8188 4.052 3.6333 6.5415 0.86844 2.6544 3.3855 4.3836 6.1264 4.7383 3.2666 0.4227 6.7312 0.19799 9.6827-1.1197 2.1961-0.98044 2.6056-3.8708 5.1162-4.6426 2.7636-0.84948 5.3205-2.1756 8.1323-2.9426 3.3623-0.91728 6.4835-2.5803 9.241-4.6373 3.706-2.7646 5.2926-7.3306 7.4427-11.252 2.371-4.3238 3.5134-9.1869 5.1808-13.803 2.1786-6.0316 2.5562-12.493 2.8876-18.85 0.2724-5.2242 1.5049-10.861-0.5855-15.698-1.6007-3.7032-2.0505-7.7297-2.8151-11.652-1.2439-6.3812-1.4974-12.903-2.603-19.301-0.61239-3.5434-2.1295-6.8331-3.3525-10.193-1.2664-3.4789-3.2019-6.6582-4.6619-10.05-1.4503-3.3697-2.8525-6.7561-4.1794-10.179-1.6556-4.27-2.365-9.591-6.3847-12.239-2.6657-1.7561-5.7505-2.6322-8.772-3.5421-4.5269-1.3632-9.1111-2.498-13.714-3.569-3.0741-0.71536-6.2249-0.94817-9.348-1.3949-4.3274-0.61902-8.4856-1.9689-12.641-3.3594-4.3625-1.4599-8.6793-3.0693-13.103-4.3296-3.9441-1.1236-7.9321-2.1716-11.984-2.7731-2.9226-0.43393-5.8228 0.26569-8.6867 1.0735-0.65001 0.18335-1.3421 0.25014-2.0093 0.12393z" style="paint-order:normal"/><path d="m390.26 164.02c-0.82291 1.5579-1.9589 2.9333-3.3896 4.027-1.495 1.143-3.5518 1.7648-4.521 3.381-0.6738 1.1236-0.19903 2.4653-0.14234 3.698 0.0431 0.93861-0.78242 1.5788-1.6178 1.9856-1.0606 0.51651-2.6357 0.96799-2.7828 2.1806-0.12793 1.0549 0.84082 1.8364 1.7887 2.1428 1.1232 0.36309 1.4716 1.688 1.3822 2.7775-0.15218 1.8533-1.426 3.3272-2.6057 4.6627-1.4371 1.6268-2.7513 3.4191-3.3699 5.5641-0.45925 1.5925-0.55738 3.3222 0.0451 4.9289 0.51071 1.362 1.4422 2.487 2.4853 3.5615 0.4406 0.45389 1.0066 1.1744 1.6833 0.92735 0.70062-0.25577 0.81351-1.1028 0.9571-1.7396 0.37129-1.6467 1.9002-2.7682 2.4619-4.3364 0.25903-0.72323 1.4784-1.2444 1.9045-0.54832 0.59911 0.97886 0.14665 2.1549-0.25205 3.1181-0.42431 1.025-0.57492 2.1533-1.1004 3.1448-0.59298 1.1188 0.17513 2.4009 1.1289 3.107 1.157 0.85653 2.9149 0.27947 3.965 1.1869 0.58498 0.5055 0.43338 1.4083-8e-3 2.0166-0.89952 1.2388-1.6827 2.5677-2.1639 4.0364-0.53816 1.6426-1.1902 3.5834-0.39611 5.1468 0.33664 0.66277 1.4004 0.95386 1.9033 0.30224 0.8534-1.1057 0.60438-2.5785 1.1193-3.8304 0.45862-1.115 1.4762-1.8286 2.4139-2.5494 1.0922-0.83961 1.7305-2.088 2.4364-3.2501 0.96187-1.5835 2.02-3.3454 3.8164-4.0415 1.1591-0.44908 2.4772-0.0432 3.6299-0.42326 1.5244-0.50258 2.6241-1.895 3.086-3.3656 0.43483-1.3845-0.27982-3.1044-1.7349-3.5668-1.0567-0.33575-2.1016 0.20481-3.1464 0.53319-0.76612 0.24079-1.378-0.44349-1.7432-1.1469-0.67444-1.2993-2.216-1.9551-3.5935-1.8644-0.76814 0.0506-1.7094-0.17728-2.0291-0.9651-0.41823-1.0306 0.43341-2.1459 1.555-2.3242 0.93181-0.14807 1.8104 0.32529 2.7248 0.47188 1.4017 0.22471 3.0377 0.82201 4.2687 8e-3 1.0937-0.72356 1.131-2.2154 0.86524-3.4067-0.28023-1.2563-1.331-2.4269-2.7233-2.4487-1.8468-0.0289-3.7274 0.99951-5.5118 0.36092-1.0125-0.36234-1.1083-1.7576-0.49081-2.5492 0.49743-0.63769 1.3493-0.62094 2.0808-0.59329 0.91728 0.0347 2.0483 0.0794 2.658-0.73598 0.75605-1.0112 0.4272-2.3707-0.0185-3.4561-0.3332-0.81148-0.42995-1.6841-0.67108-2.5464-0.19587-0.70049-0.45199-1.6972 0.19005-2.1593 0.6758-0.48643 1.508-0.45264 2.2729-0.82184 1.6059-0.77521 3.5607-0.93859 4.8557-2.2686 1.6504-1.695 3.3491-3.4875 4.1932-5.6849 0.28393-0.73915-0.36827-1.3792-1.0569-1.7421-1.5115-0.7964-3.0476-1.5556-4.722-1.9993-2.6836-0.71114-5.4736-0.25815-8.2275 0.0241-1.2289 0.12595-2.6712-0.0876-3.6407 0.83873-0.0758 0.0724-0.14646 0.14999-0.21184 0.23184z" style="paint-order:normal"/><path d="m-3.2476 250.96c2.9182-1.718 6.254-1.5804 9.2614-0.11946 2.6769 1.3004 5.3465-0.76846 8.0226-1.0365 3.0242-0.30289 5.8227 0.5964 8.5165 1.8071 2.8826 1.2955 5.8247 3.044 9.1038 2.7295 2.8292-0.27136 5.9562-0.86071 8.0843-2.6187 1.5003-1.2393 2.3561-2.031 3.745-3.6752 1.9682-2.33 1.6018-6.0939-0.0978-7.9993-2.0731-2.3241-1.7687-6.1618 0.17552-8.3509 1.9229-2.165 5.215-3.0342 6.6428-5.935 1.2473-2.5342 2.6627-4.988 3.8142-7.5938 1.179-2.6681 2.3439-6.3464-0.09555-8.6161-2.4267-2.2579-3.7262-5.7801-2.354-9.2265 1.2899-3.2396-0.43357-6.4642-0.30857-9.7538 0.11474-3.0198 1.0122-6.2936 3.2996-8.1728 2.1654-1.7789 3.1396-4.3659 4.862-6.4792 2.5912-3.1791 6.73-2.1272 10.298-2.8988 3.5326-0.76404 7.1168-1.418 10.448-2.8634 3.218-1.3962 6.8654-0.92659 10.17-1.9458 3.2211-0.99333 6.0538 1.798 6.238 4.7799 0.19935 3.226 3.3826 4.2394 3.9328 7.6271 0.55552 3.4205-0.85112 7.9431 1.7291 10.253 2.4993 2.2371 4.6385 4.8956 7.2572 7.0282 2.3883 1.945 3.1586 4.8928 3.4751 7.861 0.3861 3.6208 1.3523 7.2356 1.2374 10.908-0.11143 3.5642-0.11988 7.098 0.10191 10.664 0.20458 3.2889 1.9835 6.2203 2.745 9.3489 0.69549 2.8577 1.9651 5.6996 3.9804 7.9736 2.0824 2.3497 4.0584 4.7087 6.4616 6.9194 3.1191 2.8694 8.8373 4.7618 8.9797 9.0135 0.0611 1.826 3.6578 5.3256 0.36569 6.0378-2.5778 0.55765-5.092 1.7281-7.8585 1.6466-3.0462-0.0897-7.1093-2.4787-9.3358 0.59418-1.7084 2.3578-2.4456 4.8037-3.4712 7.5286-0.98327 2.6123-4.8864 0.11051-5.1934 4.1711-0.22476 2.9724-0.17201 7.053-2.5666 8.8249-2.1945 1.6238-4.3812 3.3314-4.8092 6.2704-0.4148 2.8489-2.8214 4.6235-3.7115 7.3198-0.78233 2.3697-4.6582 10.024-0.91029 8.2771 2.5442-1.1856 3.6475-6.0334 5.8476-6.4496 0.23404-0.0443 2.7098-3.0856 3.0993-3.9621 1.2825-2.8864 5.1365-4.2513 4.7123-7.6867-0.44311-3.5888 3.5058-5.0105 4.7297-7.7166 1.2301-2.7196 1.5182-3.4713 4.1234-5.5211 2.3872-1.8783 1.9194-6.2135 4.7095-7.4035 3.126-1.3333 7.2224 0.129 9.5866 2.6878 0.4658 0.50417-0.19163-0.44672 1.3764 0.79184 2.3671 1.8698 5.2274 2.5823 7.8534 3.9661 2.8232 1.4878 5.2692 3.5141 7.3623 6.159 1.5538 1.9634 2.0784 3.5688 1.3707 6.6761-0.62815 2.758-1.6644 4.7972-4.8652 6.188-2.795 1.2146-4.6077 1.2236-7.3398 1.8057-2.348 0.50022-3.3652 2.6829-5.8716 3.8202-2.5711 1.1667-2.0441 5.8264-4.3982 6.2656-3.0705 0.57284-3.4452 3.9567-0.68854 5.6045 2.2928 1.3705 5.2921-0.70723 7.5321-2.101 2.6982-1.6788 3.2044-4.8878 5.1004-7.2365 2.5522-3.1617 7.0399-0.31101 8.2624 3.1034 1.0409 2.9072 1.1308 5.9879 1.5157 9.0391 0.35968 2.8511 0.68006 5.6371 1.0975 8.4925 0.49001 3.3516-0.19942 6.8359 0.673 10.095 0.99665 3.7227 2.2725 7.2624 2.8612 11.238 0.42415 2.8642-3.3731 4.1444-5.5929 4.4185-3.7883 0.4678-7.6515 0.1031-11.465 0.0227-4.4198-0.0932-8.6837-0.96559-12.82-2.5007-2.9652-1.1005-6.0931-1.6378-9.0892-2.6414-4.5323-1.5182-9.3551-0.67917-14.048-0.93678-3.3694-0.18495-6.8177-0.48066-9.9786-1.5891-2.231-0.78239-6.0222-2.3686-7.1832-3.32-2.0585-1.6869-5.5975-3.4441-5.3603-6.3724 0.3135-3.8699 5.3444-2.0852 7.8904-1.8179 3.3774 0.35456 5.7562-1.1826 7.2034-4.1813 1.1196-2.3199 6.0774-0.56844 3.6576-4.6153-1.3705-2.2921-2.2684-5.3966-5.4936-6.0387-3.3513-0.66718-6.819-0.75545-10.234-0.12517-0.58423 0.10784 0.79365-0.65241-0.58041-0.0627-2.5988 1.1152-5.0994-0.75746-7.5196-0.0314-2.4587 0.73764-5.4845 0.60749-6.991 2.8106-2.2854 3.3421-5.1504 0.28631-7.2617-1.793-2.2004-2.1671-6.1835-1.9002-9.1179-1.8241-2.9236 0.0758-4.251 3.2505-4.5072 5.6354-0.35825 3.334-4.4041 4.2541-5.466 7.1824-0.90571 2.4976-3.043 4.7666-6.0855 4.3664-3.3696-0.44328-6.2595-2.4354-9.2365-3.9425-1.9576-0.99098-4.3695-0.35994-6.2626-1.2325-2.6016-1.1992-5.2538-1.944-7.9289-3.0912-3.1698-1.3593-7.6068 2.2114-9.6412-0.31044-2.13-2.6403-2.9308-6.2359-3.8837-9.4724-1.9757-6.7107-2.015-13.74-2.2924-20.665-0.32288-8.0596 0.68143-16.165-0.1208-24.188-0.41608-4.1609-1.5043-8.2511-1.1482-12.469 0.25211-2.9865 0.66031-6.2019-0.58485-8.7759z" style="paint-order:normal"/><path d="m121.67 173.91c-0.49696 1.5056-1.8763 3.012-1.4689 4.5285 0.54591 2.0323 0.15701 4.6932-1.8553 5.5823-1.895 0.83735-5.1587 2.8484-2.7276 4.627 1.5501 1.134 3.0448 2.307 4.3004 3.6441 1.719 1.8305-0.44344 4.7263 0.88536 6.3045 1.5227 1.8084 3.9752 1.8224 5.8981 3.3992 1.0958 0.89857 1.7883 3.0399 2.0461 4.0164 0.3334 1.2631 1.1164 3.5755 1.5313 5.2808 0.4816 1.9791 0.25007 4.9641 2.2009 5.7251 2.3172 0.90396 2.9007-2.2424 3.5469-4.0556 0.80395-2.2559 1.076-5.0338 0.18437-7.2739-0.82338-2.0687-1.5319-4.2277-2.9434-6.0927-1.2533-1.656-1.6713-3.5374-2.3646-5.5282-0.75852-2.1783-0.19691-4.4803 0.88738-6.371 1.1141-1.9426-0.57345-3.8555-1.7969-5.2537-1.4202-1.623-3.0759-3.1192-4.6733-4.5699-1.2993-1.18-1.5162-3.8339-3.6508-3.963z" style="paint-order:normal"/></g><g fill="#87d68d"><path d="m442.08 172.48c-0.15406 1.619-1.5082 2.5003-2.4898 3.6421-0.38303 0.44558-0.58259 1.0831-0.99511 1.4956-0.61904 0.61904-1.3674 1.117-1.9976 1.7471-0.10623 0.10623-0.14377 0.26877-0.25 0.375-0.18785 0.18785-1.494 1.2061-1.7393 1.3696-0.6345 0.423-1.6406 0.19221-2.2129 0.74756-0.0282 0.0273 0.0171 0.0824 0 0.11768-0.17248 0.35709-0.24169 0.60051-0.34717 0.96337-0.0556 0.1914-0.16214 0.0517-0.22656 0.24024-0.10128 0.29643-0.10813 1.1165 0.12451 1.3042 0.0718 0.0579 0.21542-0.0689 0.27686 0 0.1344 0.15064 0.39911 0.43469 0.49267 0.6123 0.014 0.0265-0.12208 1.2829-0.125 1.3091-0.0675 0.60595-0.23601 0.39147-0.36181 0.83984-0.17597 0.62712-0.37025 1.1718-0.12549 1.7871 0.0308 0.0775 0.15229 0.52644 0.24804 0.62207 0.21899 0.2187 0.91499 0.47785 1.1162 0.62158 0.52087 0.37205 1.109 0.78514 1.7373 0.99365 1.2369 0.41049 2.7248 0.4392 4 0.625 0.22291 0.0325 0.46036-0.0659 0.67578 0 0.98304 0.30049 2.1082 0.92309 2.75 1.7485 0.12234 0.15734 0.34652 0.92161 0.36182 0.96289 0.16953 0.45733 0.30431 0.8916 0.37256 1.3701 0.19093 1.3388-0.23171 1.9587 0.62597 3.3882 0.12009 0.20014 0.33008 0.33008 0.49512 0.49512 0.33333 0.33333 0.64523 0.68957 1 1 0.95727 0.83761 2.624 1.6621 3.2207 2.8555 0.084 0.16809 0.34833 0.66497 0.36914 0.85742 0.0311 0.28787-0.0681 0.58723 0 0.86865 0.0624 0.25769 0.1722 0.36059 0.11914 0.6167-0.16955 0.81842-0.77917 1.6763-0.11962 2.4639 0.74597 0.89073 1.7096 1.7683 2.6157 2.4912 0.23487 0.18738 0.53754 0.28754 0.75 0.5 0.20306 0.20306 1.1528 1.306 1.25 1.5 0.0528 0.10546 0.24497 1.0736 0.25 1.1235 0.11178 1.1109-0.3588 1.2717-0.4878 2.3037-0.0738 0.59077-0.0541 1.3273-0.37353 1.8687-0.32956 0.55853-0.60769 0.67724-0.49121 1.4912 0.0858 0.59937 0.61525 1.1055 0.87305 1.6211 0.45625 0.91252 0.90157 2.6829 0.62451 3.6401-0.60101 2.0765 0.0165-0.73744-0.37451 0.86133-0.24102 0.98549-0.35039 2.0124-0.61719 2.9907-0.22291 0.81734-0.6349 1.5721-0.87695 2.3789-0.0611 0.2035-0.0461 0.42774-0.125 0.625-0.27368 0.68419-0.82451 1.2898-1.25 1.875-0.52075 0.71622-0.38186 0.79527-1.1279 1.2544-1.3901 0.85544-0.53995 0.208-1.625 0.75-0.51662 0.25805-1.1437 0.57377-1.627 0.875-0.10001 0.0623-0.14462 0.19724-0.25 0.25-0.71048 0.3557-1.8343 0.38264-2.6089 0.49316-0.57287 0.0817-0.94682 0.5543-1.3716 0.87158-0.19465 0.1454-0.44341 0.21359-0.625 0.375-0.19227 0.17091-0.68184 0.89318-0.875 1.125-0.33638 0.40372-0.95137 0.73254-1.1235 1.249-0.23098 0.69292-0.061 0.7961-0.125 1.5-0.0192 0.21158-0.10144 0.41385-0.125 0.625-0.18754 1.6806 0.0993 3.4305 0 5.1201-0.0222 0.37698-0.0833 0.75065-0.125 1.126-0.0425 0.42123-0.10365 0.84098-0.12744 1.2637-0.0351 0.62402 0.0479 1.2518 0 1.875-0.0194 0.25271-0.10695 0.4972-0.125 0.75-0.0697 0.97638 0.0131 1.906-0.125 2.8726-0.0337 0.23607 0.0442 0.64708 0 0.8667-0.16845 0.83663-0.28199 0.61281-0.5 1.375-0.0989 0.3457-0.0631 0.76321-0.125 1.1172-0.10462 0.59861-0.38898 1.3247-0.63233 1.8721-0.62871 1.4143-1.5861 3.075-2.875 3.9956-0.48004 0.34289-1.0337 0.54008-1.5801 0.73877-0.37022 0.13463-0.83517 0.33122-1.2402 0.37061-0.41471 0.0403-0.83333 0-1.25 0-0.3247 0-0.73863 0.0343-1.0151 0-0.0716-9e-3 -1.784-0.32585-2.1382-0.50293-0.13373-0.0669-0.23562-0.19015-0.37305-0.24902-1.2912-0.55315 4e-3 0.0651-0.73974-0.125-0.41463-0.10604-0.76586-0.38681-1.1221-0.62403-0.37504-0.24975-0.56298-0.68809-0.87061-0.99511-0.6655-0.66419-1.6988-1.482-2.2368-2.2354-0.10829-0.15164-0.15124-0.34198-0.25-0.5-0.46742-0.74788-0.23926-0.26235-0.75-0.875-0.46808-0.56148-0.84995-1.224-1.3706-1.7446-0.18865-0.18866-0.43635-0.31135-0.625-0.5-0.10623-0.10623-0.14394-0.26861-0.25-0.375-0.1052-0.10554-0.25973-0.15009-0.37158-0.24854-1.0089-0.88802-1.9422-1.9296-2.6812-3.0381-0.19348-0.29023-0.59199-0.50155-0.83691-0.71142-0.72864-0.62437-1.6236-1.7496-1.9854-2.5938-0.27934-0.6518-0.51777-1.5315-0.375-2.2476 0.0542-0.27211 0.24798-0.49645 0.37207-0.74463 0.60143-1.2029 0.68249-2.2593 0-3.4878-0.56151-1.0107-1.3825-1.8842-2.1255-2.7505-0.0417-0.0832-0.0833-0.16634-0.125-0.24951-0.0415 0-0.0934 0.0275-0.12451 0-0.0275-0.0242 0.0293-0.0879 0-0.10987-0.49551-0.37075-1.7399-0.82296-2.106-1.25-0.15811-0.18446-0.24456-0.42002-0.375-0.625-0.53416-0.83939-0.56024-0.69094-0.88818-1.6929-0.29972-0.9157-0.28541-1.9396-0.64649-2.8423-0.10583-0.26458-0.41203-0.39434-0.60449-0.60449-0.30069-0.32834-0.56486-0.69027-0.87988-1.0049-0.0196-0.0196-1.7961-1.6699-1.979-1.7241-1.3084-0.38775-1.9727-0.0413-2.4888 1.25-0.53111 1.3288-0.37745 2.8893-0.37745 4.2886 0 0.40277 0.0411 1.1124-0.125 1.5-0.35794 0.83536-1.2989 1.7996-1.8765 2.377-0.65763 0.65746-1.968 1.6052-2.7544 2.1294-0.65546 0.43697-1.4927 0.59587-2.1489 1.0122-0.19941 0.12652-0.33394 0.33403-0.50098 0.50098-0.64409 0.64378-0.70026 0.62746-0.62402 1.6177 0.0195 0.2527 0.0309 0.51468 0.125 0.75 0.52687 1.3172 2.4537 1.4191 3.5708 1.9272 0.85101 0.3871 0.52233 0.36829 1.4536 0.61914 0.44259 0.11922 1.11 0.17687 1.5825 0.36963 1.0586 0.43184 1.697 1.0032 2.668 1.6518 0.20203 0.13496 0.41667 0.25 0.625 0.375 0.25 0.125 0.51748 0.21989 0.75 0.375 0.65106 0.43432 1.2919 0.88762 1.8936 1.3882 0.0318 0.0264-0.0218 0.0889 0 0.12402 0.1605 0.25804 0.38456 0.47065 0.5791 0.7041 0.94912 1.139 1.8028 2.2668 2.624 3.498 0.72169 1.0821 0.0252-0.16477 1.125 1.375 0.58685 0.2393 0.38535 0.85053 0.625 1.25 0.59474 0.99136 1.3721 1.7702 2.2534 2.5044 0.16007 0.13335 0.35247 0.22791 0.5 0.375 0.0202 0.0202-0.0825 0.25388-0.0825 0.35157 0 0.75298 0.0287 1.4596 0.25 2.1934 0.29675 0.98376 1.2246 2.1663 1.8496 2.8716 0.26696 0.30124 0.62419 0.50918 0.91992 0.78223 1.0583 0.9771 0.86182 1.0032 2.1304 2.0054 0.90845 0.7177 2.3724 1.4214 3.2774 1.9526 1.3012 0.76387 2.4863 1.7286 3.7715 2.5142 1.2371 0.67559 1.5068 0.79945 2.6943 1.5396 1.3322 0.83029 0.18159 0.1795 1.6445 1.1377 0.15875 0.10398 1.6937 0.98948 2.189 1.4297 0.9797 0.87084 0.31652 0.34581 1.125 1.375 0.86976 1.1072 0.94841 0.92374 1.7544 2.1323 0.0729 0.10937 0.0833 0.24935 0.125 0.37402 0.0814 0.11833 0.15729 0.24061 0.24414 0.35498 0.16134 0.21249 0.3586 0.39876 0.5 0.625 0.35198 0.56318 0.60693 1.4102 0.875 2 0.56581 1.2448 1.4927 2.2213 2.2891 3.3057 0.50918 0.69332 1.258 2.1781 1.5361 2.957 0.0991 0.27747 0.0259 0.59754 0.125 0.875 0.27013 0.75636 0.83613 1.3809 1.1274 2.1294 0.12463 0.3202 0.14896 0.67161 0.25 1 0.2352 0.7644 0.55757 1.5024 0.91309 2.2188 0.13389 0.2698 0.37358 0.47904 0.50098 0.75196 0.34554 0.74023 0.52455 1.5852 0.87256 2.3301 0.40415 0.865 0.29613 0.37802 0.75 1.125 0.13471 0.22172 0.19169 0.97946 0.25 1.2119 0.31874 1.2708 0.4473 3.4745 1.7495 4.2583 1.2197 0.73414 2.3395-0.51842 3.4927-0.74951 0.20348-0.0408 0.4159 0.0188 0.62256 0 0.49967-0.0455 1.0021-0.0633 1.5-0.125 0.0914-0.0113 0.15555-0.11346 0.24707-0.12354 0.78214-0.0861 1.593 0.0869 2.375 0 0.17075-0.019 0.32926-0.10602 0.5-0.125 1.975-0.21943-1.3464 0.42139 1.7529-0.125 1.3156-0.23193 2.6389-0.52661 3.999-0.37548 0.6151 0.0683 3.3576 1.2342 3.9131 1.6045 0.92008 0.61338 3.7264 2.7836 5.0146 2.3936 2.052-0.62117 2.006-2.7008 4.3848-2.8838 2.0192-0.15532 3.9372 0.51236 5.8652 0.9961 1.1464 0.28763 2.2577 0.6197 3.3486 1.1064 0.8708 0.38852 1.6138 1.0104 2.4072 1.5205 1.4586 0.93768 2.9235 2.0504 4.5098 2.7544 0.57695 0.25604 1.2708 0.31475 1.8765 0.50147 1.0458 0.32243 2.1251 0.71928 3.1728 0.98096 0.24543 0.0613 0.50616 0.0526 0.74854 0.125 1.6949 0.50644 3.2571 1.1574 4.9883 1.5644 0.55673 0.13089 1.1248-0.77023 1.2388-1.0942 0.29744-0.84584 0.0993-1.8117 0.38183-2.6626 0.33741-1.0161 1.3082-1.8954 1.8774-2.7534 0.35296-0.53201 0.60966-1.1243 0.96778-1.6528 0.76845-1.1341 1.7787-2.1232 2.6558-3.166 2.4241-2.8821-0.78077 0.7219 1.9648-2.4863 0.87654-1.0242 2.5823-2.7435 3.2461-3.876 1.2139-2.0711 3.7472-7.9446 4.2671-9.9199 1.0794-4.1006 1.2356-8.2058 1.418-12.405 0.10456-2.408 0.1881-4.8175 0.22216-7.2275 0.0609-4.3104-0.14794-11.605 0.25-16.025 0.54977-6.1066 1.2613-6.395 1.6123-11.709 0.23273-3.5233-0.31556-7.4443-0.91895-10.802-0.6954-3.8694-2.84-7.2248-4.7168-10.585-0.30361-0.54366-0.66326-1.0616-0.896-1.6392-0.61842-1.5347-1.0644-3.134-1.6509-4.6812-1.427-3.7645-3.2423-7.3969-4.5493-11.207-0.84257-2.4559-0.64315-2.7718-1.6045-4.5967-1.113-2.1128-2.5666-4.2086-3.8291-6.2363-1.8406-2.9563-4.6924-7.4965-7.9043-9.3789-0.35636-0.20886-0.76647-0.31165-1.1323-0.50342-1.8146-0.95118-1.0735-0.80965-2.812-1.4038-6.0051-2.0523-12.451-1.5319-18.677-1.9722-3.761-0.26596-7.4769-1.0397-11.172-1.728-2.3234-0.43275-0.98068-0.0222-3.1997-0.63623-0.95794-0.2651-1.9457-0.56448-2.8872-0.87744-0.33782-0.1123-0.65462-0.28868-1-0.375-0.32799-0.082-0.67292-0.0705-1.0063-0.12647-1.9031-0.3194-3.897-0.68578-5.748-1.2656-0.33293-0.10429-2.0016-0.7062-2.2017-0.99121-0.19831-0.28249-0.38497-0.40257-0.72803-0.6084-0.40894-0.24537-1.0345-0.43339-1.5-0.5-0.1645-0.0235-0.33723 0.04-0.49853 0-6e-3 -2e-3 6e-3 -0.22577 0-0.23487-0.29793-0.49223 0.17225 1.0358-0.39844-0.84765z" style="paint-order:normal"/><path d="m390.65 160.15c-0.14427 1.0509 0.56438 2.269-0.0246 3.1593-0.49731 0.75174-0.65881 1.6651-0.72273 2.5398-0.0469 0.64261 0.0378 1.2878-0.10654 1.9287-0.14578 0.64752-0.19172 1.3089-0.243 1.9702-0.0731 0.94205-0.35582 1.8554-0.7973 2.701-0.54314 1.0404-0.94292 2.1468-1.2518 3.2823-0.16502 0.60666-0.0325 1.2673-0.21359 1.8624-0.15122 0.4969-0.38193 0.95192-0.45854 1.494-0.0922 0.65276-0.37654 1.2473-0.40212 1.9301-0.0215 0.57443-0.2732 1.1079-0.25522 1.6909 0.015 0.48506-0.2827 0.87418-0.35204 1.3499-0.0877 0.60187-0.21339 1.1939-0.40427 1.7757-0.27807 0.84755-0.6761 1.7153-1.4298 2.2458-0.34723 0.24439-0.44227 0.66822-0.64032 1.0186-0.28376 0.50205-0.92724 0.79344-0.99072 1.4122-0.0433 0.42229 0.31009 0.73516 0.7202 0.8509 0.72084 0.20344 1.4617 0.33968 2.1711 0.57909 0.41365 0.13961 0.74032 0.44849 1.1266 0.64206 0.61306 0.30722 1.2882 0.48381 1.8272 0.95249 0.63612 0.55315 0.80621 1.4148 1.0288 2.1975 0.14846 0.52185 0.51677 0.92667 0.75999 1.407 0.27187 0.53691 0.32901 1.1443 0.49844 1.7158 0.15471 0.52186 0.31067 1.0753 0.65672 1.4965 0.28523 0.34716 0.7154 0.73299 1.1662 0.64224 0.52737-0.10614 0.76896-0.6388 1.0212-1.0497 0.37036-0.60332 0.34668-1.3359 0.30116-2.007-0.0378-0.55754-0.64103-0.81959-0.86735-1.2752-0.22777-0.4585-0.64583-0.67492-1.115-0.88466-0.50881-0.22745-0.26951-0.91664-0.65791-1.2008-0.36744-0.26884-0.7389-0.52029-1.0091-0.91857-0.25509-0.37597-0.36554-0.81667-0.37974-1.2712-0.0161-0.5167-0.34433-0.96069-0.33789-1.4941 7e-3 -0.5482-0.12857-1.0798-0.25292-1.6104-0.40873-1.744-0.54477-3.5277-0.53067-5.3471 5e-3 -0.60125 0.37517-1.1021 0.47627-1.6897 0.18487-1.0745 0.74488-2.023 1.2009-2.9968 0.41343-0.88301 0.71336-1.8104 1.1062-2.7036 0.3611-0.82119 0.86233-1.5719 1.2487-2.3793 0.57165-1.1946 1.0582-2.4463 1.9219-3.4837 0.79029-0.94915 1.6867-1.9369 1.8668-3.2083 0.20333-1.4354-0.45235-2.8202-1.2377-3.982-0.76031-1.1248-1.554-2.276-2.6612-3.085-0.43112-0.31501-0.97899-0.41786-1.5165-0.3056-0.0798 0.0167-0.15954 0.0337-0.23976 0.0483z" style="paint-order:normal"/><path d="m-8.8278 261.39c2.9416-1.3113 6.1393-1.8671 9.3578-1.8 2.7681 0.0577 5.4282-0.37444 8.2745 0.36567 3.2548 0.84635 5.964 2.8124 9.2028 3.7973 4.3267 1.3157 8.8974 1.4286 13.268 2.5147 2.474 0.61487 4.6851-0.0731 7.1332 0.34629 2.9104 0.49853 5.4653-1.1417 7.9253-2.4632 2.7194-1.4608 4.8516-3.8462 6.5139-6.382 1.3341-2.0351 2.5621-4.0581 3.9204-6.1413 2.3312-3.5752 6.0895-6.8085 6.3961-11.18 0.16843-2.4015-1.4559-3.863-0.92342-6.5262 0.66893-3.346 3.022-5.8896 5.5017-8.1604 2.7006-2.4731 4.7145-5.6559 5.2775-9.3853 0.58888-3.9008-0.01204-7.8141-1.39-11.565-0.75419-2.0528-1.4176-4.1578-1.9626-6.2772-0.88693-3.4496 3.0735-4.2701 4.961-6.1925 1.7503-1.7826 3.4195-3.9094 5.7431-4.9519 2.9397-1.319 5.205 1.9522 5.7005 4.5255 0.57278 2.9744 3.5612 2.8052 5.6597 4.4962 2.4346 1.962 3.4071 5.2054 3.4158 8.1506 0.0074 2.4948 0.09648 5.8668-0.62192 7.6637-1.0255 2.565-1.2439 5.3075-1.4072 8.0522-0.17266 2.9015-0.7752 5.8406 0.29913 8.6974 1.321 3.5129 2.6527 7.3154 5.3664 9.902 2.7783 2.6481 6.0767 4.5867 9.3758 6.4972 2.2042 1.2764 4.5978 2.7004 4.9184 5.8037 0.31055 3.0057-2.2624 4.8266-4.8985 5.5609-3.5226 0.98128-6.0282 3.8551-7.7652 7.0342-1.6773 3.0698-4.2492 5.5472-5.7182 8.761-1.3569 2.9686-3.3899 5.455-4.2038 8.7713-0.73722 3.004-2.8577 5.1008-4.7596 7.4295-1.4687 1.7983-0.84067 4.3807-0.80806 6.3088 0.04676 2.7641-0.29901 7.0373-3.4017 7.5262-2.6585 0.41888-4.5306-1.0339-6.435-2.9914-2.0348-2.0914-4.4935-3.8043-7.4422-4.4596-3.0841-0.68539-6.5793-1.7858-8.3408-4.3888-1.9799-2.9258-5.6054-3.3529-8.9052-2.0448-3.5238 1.3969-6.3026 4.1578-9.438 6.2215-2.3788 1.5658-1.8717 5.5612-4.7466 6.3654-2.4505 0.68551-5.4418 1.5108-7.7674 0.28456-2.101-1.1078-4.2766-2.1024-6.5241-2.8414-2.6599-0.87455-5.3093-0.33049-8.0445 0.42926-4.8736 1.3538-10.017 1.0189-15.013 0.77171-2.99-0.14797-4.3516-2.8514-5.585-5.4024-1.619-3.3488-2.3633-6.9776-3.5304-10.553-0.95785-2.9342-0.49915-5.9918 0.04755-8.953 0.50187-2.7184-0.54519-5.743 0.14141-8.5549 0.39376-1.6126-0.19854-3.9756 1.2322-5.0634z" style="paint-order:normal"/><path d="m109.95 318.1c-0.12485 2.8291 0.8468 5.8321-0.17678 8.488-0.66651 1.7294-2.3827 3.5097-1.4007 5.4088 0.66581 1.2877 1.4836 2.4754 2.3088 4.0763 0.98588 1.9125 2.797 3.2989 4.6756 4.1674 3.1378 1.4506 6.6495 1.1059 9.976 1.926 3.1153 0.76797 6.2431 1.4796 9.317 2.3927 2.9731 0.88315 8.9302 4.5554 9.1998 1.4072 0.13551-1.5824 0.15271-2.9829 0.40281-4.6945 0.31701-2.1694 2.076-4.6725 0.8367-6.5777-1.5361-2.3615-4.5986-2.8339-7.1419-3.4942-2.5536-0.66296-5.1047-1.1017-7.5997-2.202-3.4265-1.511-5.7854-4.636-7.4027-7.816-1.0196-2.0047-2.3821-3.7998-3.0498-5.9595-0.82291-2.6616-0.30179-5.4915 0.63366-8.1365 0.71099-2.0103 2.3066-3.4041 3.9582-4.6939 1.4516-1.1335 2.3045-1.856 3.6467-3.4092 1.4897-1.7239 3.5969-2.7483 5.1686-4.367 1.4384-1.4814 2.7657-3.9576 1.8157-5.7932-0.90157-1.7421-1.9685-4.4539-4.1141-4.3512-2.7986 0.13398-4.3419 2.7406-5.6875 4.7922-1.339 2.0415-1.7939 4.6469-3.5583 6.3815-1.5375 1.5115-2.7847 3.2547-4.0961 4.9674-1.3325 1.7403-2.2646 3.585-3.2968 5.5835-1.2271 2.3758-2.9405 4.4684-3.4736 7.2188-0.30912 1.595-1.6055 2.9981-0.94171 4.6852z" style="paint-order:normal"/></g><g fill="#bcebcb"><path d="m-14.634 272.69c6.7115-3.113 15.047-3.6171 21.766-0.37167 5.6383 2.7234 12.03 4.0587 18.185 3.7196 5.441-0.29977 10.607-0.98267 16.139-1.2843 5.1416-0.28037 9.4382-5.6571 14.375-9.9392 4.1524-3.6014 10.996-6.7752 11.672-12.191 0.79377-6.3645 3.6089-10.231 4.6238-16.025 1.1054-6.3107 2.7842-16.476 8.8083-15.808 3.5114 0.38978 1.4182 8.1279 1.0722 11.897-0.7162 7.8008 8.4008 8.9168 12.237 13.74 4.7295 5.9475-7.5549 4.5964-10.942 6.9575-5.0596 3.5274-14.441 5.6239-14.183 12.676 0.16237 4.4369 4.5777 18.261-3.1674 13.893-6.7388-3.8012-15.861-5.118-22.257-0.27525-5.8023 4.3934-8.881 10.196-15.922 14.154-2.039 1.1463-7.4391-4.4132-11.097-6.1053-7.9562-3.6806-16.642-1.2113-24.515 0.77484-6.3034 1.5902-11.425-2.1064-9.1411-9.3685 0.77242-2.4555 1.0114-4.2172 2.3459-6.4432z" style="paint-order:normal"/><path d="m530.74 248.27c-3.3674 0.33515-6.5778-0.50198-9.4571-2.6514-2.8538-2.1303-6.1243-2.9824-9.4433-3.9735-4.0508-1.2095-5.2077-5.5649-7.5591-8.5649-2.3873-3.0458-2.6724-6.9617-3.9393-10.487-1.4508-4.0373-3.0631-8.0033-4.6099-12.037-1.139-2.9708-2.9857-7.0615-4.9555-8.5804-2.1384-1.6488-5.8133-5.1315-8.7247-7.2534-3.1279-2.2797-6.7162-4.04-10.465-5.0098-3.6691-0.94914-6.3525-3.7692-9.7559-5.214-3.8074-1.6163-10.054-3.2732-12.198 0.10331-2.2332 3.517 0.11319 8.4334 4.0791 9.7223 3.0648 0.99606 6.6583 1.4786 9.0122 3.6812 2.5996 2.4327 2.4555 5.4901 4.5951 9.2719 2.4426 4.3173 7.7974 5.7279 10.43 9.6181 1.7117 2.5291 4.0577 8.0565 0.75687 9.4604-2.5671 1.0918-6.9836 1.601-6.882 5.4526 0.0864 3.2745 0.90856 7.2635-1.6011 9.8578-2.5116 2.5963-4.743 5.9496-8.1496 7.0122-4.4708 1.3946-0.86608 6.261-2.0106 9.2636-1.1538 3.0269-1.8278 6.616-4.6808 8.5202-2.8776 1.9206-5.3007 4.4992-8.1774 6.409-3.0348 2.0148-4.1355 5.9729-2.1347 9.318 2.1523 3.5984 6.8355 4.1029 10.661 4.6389 2.3106 0.32378 6.0611-0.57238 9.0266-0.25617 3.4591 0.36883 6.811 1.0739 10.302 1.149 4.7049 0.10116 8.8928 2.5645 12.807 4.9579 2.7478 1.6803 5.2853 3.8922 8.5102 4.0565 3.6131 0.1841 6.7129-0.35043 10.001-2.7844 1.4596-1.0805-1.4206 0.47627 0.5263-0.73734 3.64-2.269 1.8556-6.938 3.4528-10.147 1.7108-3.4377 1.092-7.2065 1.4413-10.971 0.36652-3.9495 2.1355-7.5532 3.346-11.299 1.3897-4.301 6.0718-5.3272 9.8791-6.4033 2.9033-0.82066 4.3297-4.9036 5.4458-6.5073l0.47176 0.38529z" style="paint-order:normal"/></g><g fill="#bcebcb" fill-opacity=".6837"><path d="m41.529 175.06 30.746-62.369 61.338 46.777z" style="font-variation-settings:\'wght\' 600"/><path d="m175.87 12.467-44.455 47.203 22.947 29.402 83.545-88.023z" style="font-variation-settings:\'wght\' 600"/><path d="m339.26 410.95 67.429-6.3598-20.897 40.956-56.846-0.73197z" style="font-variation-settings:\'wght\' 600"/><path d="m434.51 346.68-19.376 52.724 67.475-10.985 15.853-57.421z" style="font-variation-settings:\'wght\' 600"/></g><g fill="#5ab59d"><path transform="matrix(.95434 .044806 -.04797 1.0217 35.636 -25.312)" d="m384.4 438.68c-18.766 1.3122-37.531 2.6253-56.297 3.9375-3.3056 0.23138-5.7978 3.0987-5.5664 6.4043 0.23138 3.3056 3.0987 5.7978 6.4043 5.5664 18.766-1.3122 37.531-2.6233 56.297-3.9356 7.8257-0.54776 6.9898-12.52-0.83789-11.973zm168.3-86.282c-36.952 14.114-73.696 28.121-108.52 36.577-34.828 8.4564-68.33 11.524-102.21 14.61-3.4527 0.31412-5.9788 3.1835-5.6416 6.4084 0.33631 3.225 3.4084 5.5844 6.861 5.2695 33.883-3.0855 68.146-6.1891 104.15-14.932 36.007-8.7429 73.165-22.962 110.12-37.075 3.2107-1.226 4.7492-4.651 3.4364-7.6498-1.3134-2.9981-4.98-4.4342-8.19-3.2079zm-120.67-14.199c-2.6207 0.33197-4.9076 2.0514-5.6459 4.5314-8.64 29.033-17.134 57.408-34.806 84.904-17.671 27.496-45.174 54.973-72.979 82.648-2.5363 2.5239-2.3491 6.4694 0.41646 8.7731 2.7649 2.3044 7.0592 2.1266 9.5948-0.39786 27.805-27.674 55.918-55.55 74.692-84.762 18.775-29.213 27.558-58.906 36.198-87.939 0.98306-3.3072-1.1731-6.718-4.7843-7.6028-0.90289-0.22087-1.8131-0.26427-2.6867-0.15362zm0.13605 0.95556c0.7421-0.0934 1.5186-0.0568 2.2885 0.13095 6.8e-4 1.6e-4 1e-3 -2.4e-4 2e-3 -1e-4 3.0809 0.75585 4.8795 3.6181 4.0491 6.4117-8.6402 29.034-17.4 58.622-36.089 87.701-18.689 29.08-46.753 56.923-74.559 84.598-2.1534 2.144-5.8048 2.2954-8.1529 0.33844-2.3486-1.9564-2.5052-5.2484-0.35112-7.392 27.806-27.675 55.354-55.181 73.112-82.812 17.758-27.631 26.276-56.108 34.916-85.142 0.62383-2.0954 2.5563-3.5537 4.7846-3.8342zm2.4205-0.33522c-3.347-0.8188-6.7955 0.98976-7.7036 4.0401-8.6401 29.034-17.146 57.46-34.861 85.023-17.715 27.563-45.24 55.054-73.046 82.729-2.3452 2.3337-2.1733 5.953 0.38377 8.083 2.5565 2.1307 6.5302 1.9656 8.8747-0.36863 27.806-27.675 55.893-55.533 74.625-84.679 18.732-29.146 27.505-58.786 36.145-87.82 0.90681-3.0506-1.0705-6.1876-4.4171-7.0076z" color="#000000"/><path d="m182.45 2.0332c-1.5904 0.046065-3.0973 0.72191-4.1895 1.8789l-44.529 47.168c-10.972-13.253-23.631-26.423-36.215-39.518-1.1029-1.1468-2.6162-1.8086-4.207-1.8398-1.5907-0.030965-3.1285 0.57111-4.2754 1.6738-2.3888 2.2956-2.4649 6.093-0.16992 8.4824 16.353 17.016 32.55 33.908 44.572 50.244 4.591 6.2385 8.621 12.462 12.324 18.697-14.044 12.969-28.089 25.939-42.133 38.908-6.6532-4.5982-13.012-9.3007-18.885-14.188-16.701-13.897-30.143-29.634-43.82-45.682-1.0322-1.2115-2.5033-1.9632-4.0898-2.0898-1.5863-0.12669-3.1579 0.38196-4.3691 1.4141-2.5221 2.1497-2.8238 5.9371-0.67383 8.459 10.543 12.37 21.247 24.917 33.691 36.762l-31.182 57.092c-1.5888 2.9086-0.51836 6.5545 2.3906 8.1426 2.9086 1.5888 6.5545 0.51837 8.1426-2.3906l29.795-54.555c0.80827 0.6928 1.6171 1.3844 2.4414 2.0703 17.687 14.717 38.629 27.391 59.34 39.957 2.8331 1.719 6.5234 0.81566 8.2422-2.0176 1.719-2.8331 0.81566-6.5234-2.0176-8.2422-9.7642-5.9243-19.462-11.829-28.752-17.867 12.65-11.681 25.299-23.364 37.949-35.045 3.55 6.5441 6.8847 13.115 10.236 19.748 0.71778 1.4204 1.9705 2.4974 3.4824 2.9941 1.5121 0.49681 3.1597 0.37245 4.5801-0.34571 2.9558-1.4947 4.1413-5.1018 2.6484-8.0586-3.7895-7.4998-7.6366-15.08-11.863-22.727 12.265-11.326 19.294-18.014 31.559-29.34 2.434-2.2485 7.8221-10.683 5.5736-13.117-1.0794-1.1684-2.5786-1.8604-4.168-1.9238-1.5903-0.064-3.1409 0.50649-4.3105 1.5859-11.605 10.717-23.21 21.434-34.814 32.15-3.5179-5.7989-7.3327-11.633-11.654-17.506-0.59415-0.80734-1.2354-1.6132-1.8457-2.4199l45.73-48.439c2.2752-2.4097 2.1659-6.2076-0.24414-8.4824-1.157-1.0923-2.7005-1.6804-4.291-1.6348z" color="#000000" stroke-linecap="round" stroke-linejoin="round" style="-inkscape-stroke:none"/></g><g fill="none" stroke="#5ab59d" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"><path d="m321.9 56.832 39.568-13.822m49.949 117.25-13.699-31.065m25.405-27.069c-16.729-8.8949-50.187-26.685-50.187-26.685s-23.08 12.177-34.621 18.266m4.9739 29.106c26.648-6.9066 79.944-20.72 79.944-20.72s-34.029 36.106-51.043 54.16m121.54-38.615c-23.511-5.1886-70.534-15.566-70.534-15.566s17.546 43.06 26.319 64.59m-95.968-157.96c2.8269 11.417 5.6539 22.834 8.4808 34.251 3.7187 10.414 11.156 31.241 11.156 31.241s47.08-3.1593 70.621-4.739"/><path d="m184.03 437.33-22.946 12.878m-44.873-24.049 44.789 23.924-17.162 44.041m-42.821-143.13 23.209 39.15-34.156 11.374m16.994 63.558 17.214-75.001 43.099 6.4575m-139.44-3.1636 62.132 8.0781-26.976-61.447"/></g><g fill="#bcebcb"><circle cx="89.576" cy="401.04" r="5.3851"/><circle cx="123.46" cy="389.31" r="5.3851"/><circle cx="115.99" cy="426.11" r="5.3851"/><circle cx="160.46" cy="449.92" r="5.3851"/><circle cx="361.52" cy="42.673" r="5.3851"/><circle cx="373.2" cy="74.363" r="5.3851"/><circle cx="422.43" cy="101.78" r="5.3851"/><circle cx="397.54" cy="128.65" r="5.3851"/></g><g transform="matrix(1.1549 0 0 1.1549 -34.416 -26.992)"><path d="m255.48 155.24c0.0388 2.7251 0.90395 2.8548 1.8984 5.0866 1.0142 2.2762 0.41496 4.3934 0.99348 7.1557 0.57444 2.7428 4.6073 3.772 4.7995 6.347 0.20272 2.7154 0.0437 5.3177 0.2567 8.2833 0.2693 3.749 0.30527 7.5204 1.3759 11.226 0.81961 2.8368 0.30803 6.0728 2.1179 8.6932 1.8682 2.7048 2.7338 7.3217 5.9634 7.9021 1.5867 0.28515 2.3443 0.61693 4.7248 1.9716 2.074 1.1803 5.0698 2.604 7.2286 1.3144 2.7704-1.6549 5.6315-0.75175 8.731-1.5109 2.8482-0.69758 4.6101 2.6462 5.765 4.6969 1.4276 2.5349 5.4729 10.361 3.5498 8.057-0.94026-1.1265 0.56134 2.5692 0.95981 3.1323 1.4925 2.1091 2.317 4.5115 3.0628 6.972 0.78307 2.5838 1.0802 4.0647 2.1965 6.8477 1.1087 2.764 3.14 5.0846 3.6839 8.1204 0.56544 3.1564 1.3296 6.2302 2.6013 9.2414 1.1856 2.8071 3.074 6.7422 0.92826 9.1424-2.2813 2.5518-2.4594 12.284-3.3312 9.1438-0.36947-1.3307-0.59029 2.5423-0.70896 3.3145-0.44697 2.9085 1.1552 5.4473 2.0488 8.0871 1.2019 3.5501-2.7668 5.2658-5.1246 6.9366-2.2922 1.6244-5.7756 2.408-6.6881 5.0896-1.0266 3.0173-4.6559 4.8854-6.7782 3.956-1.5945-0.69829-2.2183-0.0564-3.0907 1.2802-0.84122 1.2888-2.1476 2.8647-3.9408 3.7662-2.4083 1.2108-5.0152 2.7574-6.9308 4.1498-2.3683 1.7216-6.4752 2.0974-6.2134 5.8658 0.23507 3.3839-2.862 5.0539-5.5628 5.5808-2.3571 0.4598-3.5703 2.6642-5.8459 1.7122-2.8401-1.1883-5.051 1.0468-7.6595 1.5219-3.2258 0.58751-6.119 3.4911-9.3645 2.952-2.3492-0.39023-4.274 0.69267-6.8969 0.44958-5.924-0.54905-11.77-1.8546-17.78-1.5407-3.4373 0.17952-7.4444 3.174-10.267 1.1251-1.6257-1.1801-3.1949-2.8627-4.887-3.9072-1.631-1.0069-1.9832-3.5714-2.2809-5.5388-0.57533-3.8027 0.4589-7.5866 0.52536-11.374 0.0559-3.1873-0.83904-6.2974-1.0538-9.4599-0.27417-4.0375 1.1518-8.2357-6e-3 -12.125-0.76218-2.5615-2.3777-3.9783-2.9059-7.0429-0.51409-2.9829 0.22394-6.0453 2.2216-8.1252 1.1182-1.1642 1.2147-2.6272 1.7187-3.9731 0.51323-1.3703 1.4334-3.7391 1.6268-5.6333 0.29135-2.854-0.0969-6.1521-2.7587-8.0076-3.1188-2.1741-7.1054-2.9498-9.8628-5.712-2.037-2.0406-2.3727-4.9475-4.0227-7.1758-3.008-4.0622-5.9508-8.4449-10.156-11.216-2.68-1.7661-4.0305-4.3031-6.0172-6.8994-1.7499-2.287-3.152-4.5306-4.5654-6.9643-2.5809-4.444-4.7668-9.4578-4.6436-14.559 0.0682-2.8236 0.0696-5.6202-0.0509-8.4618-0.42291-9.9751-0.56285-20.25 2.738-29.837 0.8332-2.4199 2.3891-4.7308 5.2845-4.7464 2.6836-0.0145 4.5747-1.9457 7.298-2.1087 2.9095-0.17421 5.5694-1.5295 8.4296-1.5807 5.1082-0.0915 10.181 0.0881 15.321-0.12921 2.5001-0.10572 4.7763-1.2332 7.1198-1.5421 4.3589-0.57444 8.5751 0.88746 12.942 0.80807 3.3486-0.0609 6.8825 0.7617 10.059-0.28472 3.04-1.0014 6.3612-0.5695 9.4952-0.28902 3.8944 0.34854 7.8817 0.76476 11.728-0.18402z" fill="#59b49d" fill-opacity=".48673" style="font-variation-settings:\'wght\' 600"/><g fill="#bbebca"><circle cx="272.41" cy="262.94" r="24.497" style="font-variation-settings:\'wght\' 600"/><circle cx="208.92" cy="207.54" r="18.473" style="font-variation-settings:\'wght\' 600"/><circle cx="291.7" cy="189.08" r="11.818" style="font-variation-settings:\'wght\' 600"/></g><g fill="#87d68d"><path class="st0" d="m271.2 227.89c-18.804 0-34.045 15.243-34.045 34.046 0 11.603 5.8727 21.757 14.67 27.996 8.0267 5.6941 9.7988 7.0526 12.621 12.441 2.233 4.2623 5.8546 11.743 5.8546 11.743 0.17018 0.34035 0.5173 0.55612 0.89935 0.55612 0.38035 0 0.73053-0.21594 0.90054-0.55612 0 0 3.6218-7.4802 5.8546-11.743 2.8208-5.3885 4.5944-6.747 12.62-12.441 8.7986-6.2393 14.671-16.394 14.671-27.996-1.7e-4 -18.803-15.244-34.046-34.046-34.046zm0 56.862c-12.599 0-22.814-10.215-22.814-22.816 0-12.6 10.215-22.815 22.814-22.815 12.6 0 22.815 10.215 22.815 22.815 0 12.6-10.215 22.816-22.815 22.816z"/><path class="st0" d="m208.01 181.12c-14.179 0-25.672 11.494-25.672 25.673 0 8.7493 4.4284 16.406 11.062 21.111 6.0527 4.2937 7.389 5.3182 9.5172 9.3814 1.6838 3.2141 4.4148 8.8547 4.4148 8.8547 0.12833 0.25665 0.39009 0.41935 0.67817 0.41935 0.28682 0 0.55088-0.16283 0.67907-0.41935 0 0 2.7311-5.6406 4.4148-8.8547 2.127-4.0633 3.4645-5.0877 9.5162-9.3814 6.6347-4.7049 11.063-12.362 11.063-21.111-1.3e-4 -14.179-11.495-25.673-25.673-25.673zm0 42.878c-9.5004 0-17.203-7.703-17.203-17.205 0-9.5014 7.703-17.204 17.203-17.204 9.5014 0 17.204 7.703 17.204 17.204 0 9.5016-7.7029 17.205-17.204 17.205z"/><path class="st0" d="m291.12 172.17c-9.0716 0-16.425 7.3537-16.425 16.425 0 5.5976 2.8332 10.496 7.0774 13.507 3.8724 2.747 4.7273 3.4024 6.0889 6.0021 1.0773 2.0563 2.8245 5.6651 2.8245 5.6651 0.0821 0.1642 0.24957 0.26829 0.43388 0.26829 0.1835 0 0.35244-0.10418 0.43446-0.26829 0 0 1.7473-3.6088 2.8245-5.6651 1.3608-2.5996 2.2165-3.255 6.0882-6.0021 4.2448-3.0101 7.078-7.909 7.078-13.507-8e-5 -9.0715-7.3544-16.425-16.425-16.425zm0 27.432c-6.0782 0-11.006-4.9282-11.006-11.007 0-6.0788 4.9282-11.007 11.006-11.007 6.0788 0 11.007 4.9282 11.007 11.007 0 6.0789-4.9282 11.007-11.007 11.007z"/></g></g></g></g></svg>\n'}),d=new l.LabIcon({name:"jupytergis::logoMini",svgstr:'<?xml version="1.0" encoding="UTF-8" standalone="no"?>\n\x3c!-- Created with Inkscape (http://www.inkscape.org/) --\x3e\n\n<svg\n width="32"\n height="32"\n viewBox="0 0 8.4666666 8.4666666"\n version="1.1"\n id="svg1"\n class="jp-icon-selectable jgis-main-logo"\n xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"\n xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"\n xmlns="http://www.w3.org/2000/svg"\n xmlns:svg="http://www.w3.org/2000/svg">\n <defs\n class="jp-icon-selectable jgis-main-logo">\n <clipPath\n id="clipPath72"\n class="jp-icon-selectable jgis-main-logo">\n <g\n class="jp-icon-selectable jgis-main-logo"\n fill="#0e96ff"\n inkscape:label="globe_mask">\n <path\n class="jp-icon-selectable jgis-main-logo"\n fill="#0e96ff"\n d="M 7.4248698,5.1092489 C 7.2793253,5.178829 7.1169909,5.2416342 6.9396281,5.2989014 6.552555,5.4238799 6.0924054,5.5209537 5.5831217,5.5831217 5.5208884,6.0924969 5.4238034,6.5527921 5.2989014,6.9396281 5.241439,7.117595 5.1785959,7.2804945 5.1087321,7.4264201 A 3.314533,3.314533 0 0 0 7.4248698,5.1092489 Z" />\n <path\n class="jp-icon-selectable jgis-main-logo"\n fill="#0e96ff"\n d="m 5.6275635,3.3444987 c 0.021961,0.2855957 0.034623,0.5815825 0.034623,0.8878011 0,0.306279 -0.01162,0.6039712 -0.03359,0.8898682 C 6.0746535,5.0627205 6.4747514,4.9769043 6.8026855,4.8710205 7.1239097,4.7673033 7.3754337,4.643783 7.5328735,4.5237549 A 3.314533,3.314533 0 0 0 7.5478597,4.2333333 3.314533,3.314533 0 0 0 7.5302897,3.9413615 C 7.3727069,3.8218794 7.122358,3.6988624 6.8026855,3.5956462 6.4745637,3.4897016 6.0740105,3.4038414 5.6275635,3.3444987 Z" />\n <path\n class="jp-icon-selectable jgis-main-logo"\n fill="#0e96ff"\n d="m 5.1071818,1.037146 c 0.070473,0.1467402 0.1338386,0.3106289 0.1917196,0.4898926 0.124897,0.3868206 0.2204364,0.8482336 0.2826701,1.3570231 0.5096828,0.062187 0.9707404,0.1586464 1.3580566,0.2837036 0.1773628,0.057267 0.3396972,0.1200723 0.4852417,0.1896525 A 3.314533,3.314533 0 0 0 5.1071818,1.037146 Z" />\n <path\n class="jp-icon-selectable jgis-main-logo"\n fill="#0e96ff"\n d="m 5.1226847,5.6280802 c -0.2852314,0.022002 -0.5823723,0.034107 -0.8883178,0.034107 -0.3063907,0 -0.6043564,-0.012058 -0.890385,-0.034107 0.05956,0.4456991 0.1458012,0.8446684 0.2516643,1.1725383 0.1028558,0.3185561 0.2250763,0.5704033 0.344165,0.7281209 a 3.314533,3.314533 0 0 0 0.2935221,0.01912 3.314533,3.314533 0 0 0 0.2945557,-0.021187 C 4.6465611,7.3688434 4.7685457,7.1179948 4.8710205,6.8006185 4.9768834,6.4727489 5.0631248,6.0737795 5.1226847,5.6280802 Z" />\n <path\n class="jp-icon-selectable jgis-main-logo"\n fill="#0e96ff"\n d="m 4.2343669,3.2540649 c -0.3252715,0 -0.6399866,0.014485 -0.9394776,0.040308 -0.025716,0.2994007 -0.040824,0.6128817 -0.040824,0.9379272 0,0.3253236 0.014032,0.640364 0.039791,0.9399943 0.2998155,0.025912 0.6148197,0.040308 0.9405111,0.040308 0.325105,0 0.6392968,-0.014447 0.938444,-0.040308 0.025759,-0.2996304 0.039791,-0.6146711 0.039791,-0.9399943 0,-0.3248601 -0.015136,-0.6381622 -0.040824,-0.9374105 C 4.8730268,3.2688386 4.5592761,3.2540649 4.2343669,3.2540649 Z" />\n <path\n class="jp-icon-selectable jgis-main-logo"\n fill="#0e96ff"\n d="M 4.2333333,0.91880697 A 3.314533,3.314533 0 0 0 3.9398112,0.93792725 C 3.8207224,1.0956068 3.6985021,1.3454248 3.5956462,1.6639811 3.4896444,1.9922806 3.4035487,2.3921801 3.3439819,2.8385864 3.6299807,2.8165648 3.9279192,2.80448 4.2343669,2.80448 c 0.3059761,0 0.6031179,0.011604 0.8883178,0.03359 C 5.0631199,2.3918651 4.9769826,1.9921578 4.8710205,1.6639811 4.7671835,1.3423859 4.6433966,1.0906799 4.5232381,0.93327637 4.5229255,0.93286679 4.5225169,0.93265088 4.5222046,0.93224284 A 3.314533,3.314533 0 0 0 4.2333333,0.91880697 Z" />\n <path\n class="jp-icon-selectable jgis-main-logo"\n fill="#0e96ff"\n d="M 2.8835449,5.5831217 C 2.3740511,5.520937 1.9139685,5.4238337 1.5270386,5.2989014 1.3493306,5.2415228 1.1865255,5.1789909 1.0407633,5.1092489 a 3.314533,3.314533 0 0 0 2.3187216,2.319755 C 3.2890926,7.2823721 3.2255904,7.118719 3.1677653,6.9396281 3.0428631,6.5527921 2.9457782,6.0924969 2.8835449,5.5831217 Z" />\n <path\n class="jp-icon-selectable jgis-main-logo"\n fill="#0e96ff"\n d="M 2.8391032,3.3439819 C 2.3932489,3.4034793 1.9939617,3.4897689 1.6660482,3.5956462 1.3463757,3.6988623 1.0939842,3.8218795 0.93637695,3.9413615 a 3.314533,3.314533 0 0 0 -0.01757,0.2919718 3.314533,3.314533 0 0 0 0.0149862,0.2904216 C 1.0912378,4.6437829 1.3448239,4.7673034 1.6660482,4.8710205 1.993688,4.9768094 2.3926527,5.0626941 2.8380697,5.122168 2.8161004,4.836271 2.80448,4.5385788 2.80448,4.2322998 c 0,-0.3064032 0.012637,-0.6025646 0.034623,-0.8883179 z" />\n <path\n class="jp-icon-selectable jgis-main-logo"\n fill="#0e96ff"\n d="m 3.3594849,1.0376628 a 3.314533,3.314533 0 0 0 -2.317688,2.319755 C 1.1873413,3.2878376 1.3496757,3.2250324 1.5270386,3.1677653 1.9140247,3.0428146 2.3754409,2.9462608 2.8850952,2.8840617 2.9473288,2.3752722 3.0428681,1.9138592 3.1677653,1.5270386 3.2255905,1.3479475 3.2890926,1.1842948 3.3594849,1.0376628 Z" />\n </g>\n </clipPath>\n </defs>\n <g\n inkscape:label="Layer 1"\n inkscape:groupmode="layer"\n class="jp-icon-selectable jgis-main-logo">\n <g\n class="jp-icon-selectable jgis-main-logo"\n inkscape:label="planet">\n <g\n class="jp-icon-selectable jgis-main-logo"\n fill="#5ab59d">\n <path\n class="jp-icon-selectable jgis-main-logo"\n fill="#5ab59d"\n d="M 7.4248698,5.1092489 C 7.2793253,5.178829 7.1169909,5.2416342 6.9396281,5.2989014 6.552555,5.4238799 6.0924054,5.5209537 5.5831217,5.5831217 5.5208884,6.0924969 5.4238034,6.5527921 5.2989014,6.9396281 5.241439,7.117595 5.1785959,7.2804945 5.1087321,7.4264201 A 3.314533,3.314533 0 0 0 7.4248698,5.1092489 Z" />\n <path\n class="jp-icon-selectable jgis-main-logo"\n fill="#5ab59d"\n d="m 5.6275635,3.3444987 c 0.021961,0.2855957 0.034623,0.5815825 0.034623,0.8878011 0,0.306279 -0.01162,0.6039712 -0.03359,0.8898682 C 6.0746535,5.0627205 6.4747514,4.9769043 6.8026855,4.8710205 7.1239097,4.7673033 7.3754337,4.643783 7.5328735,4.5237549 A 3.314533,3.314533 0 0 0 7.5478597,4.2333333 3.314533,3.314533 0 0 0 7.5302897,3.9413615 C 7.3727069,3.8218794 7.122358,3.6988624 6.8026855,3.5956462 6.4745637,3.4897016 6.0740105,3.4038414 5.6275635,3.3444987 Z" />\n <path\n class="jp-icon-selectable jgis-main-logo"\n fill="#5ab59d"\n d="m 5.1071818,1.037146 c 0.070473,0.1467402 0.1338386,0.3106289 0.1917196,0.4898926 0.124897,0.3868206 0.2204364,0.8482336 0.2826701,1.3570231 0.5096828,0.062187 0.9707404,0.1586464 1.3580566,0.2837036 0.1773628,0.057267 0.3396972,0.1200723 0.4852417,0.1896525 A 3.314533,3.314533 0 0 0 5.1071818,1.037146 Z" />\n <path\n class="jp-icon-selectable jgis-main-logo"\n fill="#5ab59d"\n d="m 5.1226847,5.6280802 c -0.2852314,0.022002 -0.5823723,0.034107 -0.8883178,0.034107 -0.3063907,0 -0.6043564,-0.012058 -0.890385,-0.034107 0.05956,0.4456991 0.1458012,0.8446684 0.2516643,1.1725383 0.1028558,0.3185561 0.2250763,0.5704033 0.344165,0.7281209 a 3.314533,3.314533 0 0 0 0.2935221,0.01912 3.314533,3.314533 0 0 0 0.2945557,-0.021187 C 4.6465611,7.3688434 4.7685457,7.1179948 4.8710205,6.8006185 4.9768834,6.4727489 5.0631248,6.0737795 5.1226847,5.6280802 Z" />\n <path\n class="jp-icon-selectable jgis-main-logo"\n fill="#5ab59d"\n d="m 4.2343669,3.2540649 c -0.3252715,0 -0.6399866,0.014485 -0.9394776,0.040308 -0.025716,0.2994007 -0.040824,0.6128817 -0.040824,0.9379272 0,0.3253236 0.014032,0.640364 0.039791,0.9399943 0.2998155,0.025912 0.6148197,0.040308 0.9405111,0.040308 0.325105,0 0.6392968,-0.014447 0.938444,-0.040308 0.025759,-0.2996304 0.039791,-0.6146711 0.039791,-0.9399943 0,-0.3248601 -0.015136,-0.6381622 -0.040824,-0.9374105 C 4.8730268,3.2688386 4.5592761,3.2540649 4.2343669,3.2540649 Z" />\n <path\n class="jp-icon-selectable jgis-main-logo"\n fill="#5ab59d"\n d="M 4.2333333,0.91880697 A 3.314533,3.314533 0 0 0 3.9398112,0.93792725 C 3.8207224,1.0956068 3.6985021,1.3454248 3.5956462,1.6639811 3.4896444,1.9922806 3.4035487,2.3921801 3.3439819,2.8385864 3.6299807,2.8165648 3.9279192,2.80448 4.2343669,2.80448 c 0.3059761,0 0.6031179,0.011604 0.8883178,0.03359 C 5.0631199,2.3918651 4.9769826,1.9921578 4.8710205,1.6639811 4.7671835,1.3423859 4.6433966,1.0906799 4.5232381,0.93327637 4.5229255,0.93286679 4.5225169,0.93265088 4.5222046,0.93224284 A 3.314533,3.314533 0 0 0 4.2333333,0.91880697 Z" />\n <path\n class="jp-icon-selectable jgis-main-logo"\n fill="#5ab59d"\n d="M 2.8835449,5.5831217 C 2.3740511,5.520937 1.9139685,5.4238337 1.5270386,5.2989014 1.3493306,5.2415228 1.1865255,5.1789909 1.0407633,5.1092489 a 3.314533,3.314533 0 0 0 2.3187216,2.319755 C 3.2890926,7.2823721 3.2255904,7.118719 3.1677653,6.9396281 3.0428631,6.5527921 2.9457782,6.0924969 2.8835449,5.5831217 Z" />\n <path\n class="jp-icon-selectable jgis-main-logo"\n fill="#5ab59d"\n d="M 2.8391032,3.3439819 C 2.3932489,3.4034793 1.9939617,3.4897689 1.6660482,3.5956462 1.3463757,3.6988623 1.0939842,3.8218795 0.93637695,3.9413615 a 3.314533,3.314533 0 0 0 -0.01757,0.2919718 3.314533,3.314533 0 0 0 0.0149862,0.2904216 C 1.0912378,4.6437829 1.3448239,4.7673034 1.6660482,4.8710205 1.993688,4.9768094 2.3926527,5.0626941 2.8380697,5.122168 2.8161004,4.836271 2.80448,4.5385788 2.80448,4.2322998 c 0,-0.3064032 0.012637,-0.6025646 0.034623,-0.8883179 z" />\n <path\n class="jp-icon-selectable jgis-main-logo"\n fill="#5ab59d"\n d="m 3.3594849,1.0376628 a 3.314533,3.314533 0 0 0 -2.317688,2.319755 C 1.1873413,3.2878376 1.3496757,3.2250324 1.5270386,3.1677653 1.9140247,3.0428146 2.3754409,2.9462608 2.8850952,2.8840617 2.9473288,2.3752722 3.0428681,1.9138592 3.1677653,1.5270386 3.2255905,1.3479475 3.2890926,1.1842948 3.3594849,1.0376628 Z" />\n </g>\n <g\n class="jp-icon-selectable jgis-main-logo"\n inkscape:label="decor"\n clip-path="url(#clipPath72)">\n <g\n class="jp-icon-selectable jgis-main-logo"\n inkscape:label="layers">\n <g\n class="jp-icon-selectable jgis-main-logo"\n inkscape:label="topo"\n fill="#baebc9">\n <path\n class="jp-icon-selectable jgis-main-logo"\n fill="#baebc9"\n d="m 5.8120483,-13.174906 a 9.265132,4.3162475 0 0 1 -7.9953776,2.13837 9.265132,4.3162475 0 0 1 -7.9958947,-2.138887 8.2971029,8.2971029 0 0 0 7.9958947,6.1200397 8.2971029,8.2971029 0 0 0 7.9953776,-6.1195227 z" />\n <path\n class="jp-icon-selectable jgis-main-logo"\n fill="#baebc9"\n d="m -2.1833293,-23.649719 a 8.2971029,8.2971029 0 0 0 -7.9964107,6.12004 9.265132,4.3162475 0 0 1 7.9964107,-2.139405 9.265132,4.3162475 0 0 1 8.0046794,2.144056 8.2971029,8.2971029 0 0 0 -8.0046794,-6.124691 z" />\n </g>\n <g\n class="jp-icon-selectable jgis-main-logo"\n fill="#e18335"\n inkscape:label="logo">\n <path\n class="jp-icon-selectable jgis-main-logo"\n fill="#e18335"\n d="m 4.0157756,-11.591541 a 8.7066393,5.4086871 0 0 1 -6.0647461,1.534274 8.7066393,5.4086871 0 0 1 -6.0652629,-1.534274 7.1981392,7.1981392 0 0 0 6.0652629,3.3238286 7.1981392,7.1981392 0 0 0 6.0647461,-3.3238286 z" />\n <path\n class="jp-icon-selectable jgis-main-logo"\n fill="#e18335"\n d="m -2.0489705,-22.663733 a 7.1981392,7.1981392 0 0 0 -6.0652629,3.323828 8.7066393,5.4086871 0 0 1 6.0652629,-1.53479 8.7066393,5.4086871 0 0 1 6.0575114,1.524972 7.1981392,7.1981392 0 0 0 -6.0575114,-3.31401 z" />\n </g>\n </g>\n </g>\n </g>\n <g\n class="jp-icon-selectable jgis-main-logo"\n inkscape:label="moons"\n fill="#2d93ac">\n <circle\n class="jp-icon-selectable jgis-main-logo"\n fill="#2d93ac"\n cx="0.96336174"\n cy="0.94979668"\n r="0.45812771" />\n <circle\n class="jp-icon-selectable jgis-main-logo"\n fill="#2d93ac"\n cx="7.1098151"\n cy="1.0457554"\n r="0.69682437" />\n <circle\n fill="#2d93ac"\n class="jp-icon-selectable jgis-main-logo"\n cx="1.3378263"\n cy="7.3802752"\n r="0.5190413" />\n </g>\n </g>\n</svg>\n'}),m=new l.LabIcon({name:"jupytergis::logoMiniAlternative",svgstr:'<?xml version="1.0" encoding="UTF-8"?>\n\x3c!-- Created with Inkscape (http://www.inkscape.org/) --\x3e\n<svg width="32" height="32" version="1.1" viewBox="0 0 8.4667 8.4667" xmlns="http://www.w3.org/2000/svg">\n <defs>\n <mask id="mask1" maskUnits="userSpaceOnUse">\n <g transform="rotate(180 4.016 4.0856)">\n <path d="m7.4249 5.1092c-0.14554 0.06958-0.30788 0.13239-0.48524 0.18965-0.38707 0.12498-0.84722 0.22205-1.3565 0.28422-0.062233 0.50938-0.15932 0.96967-0.28422 1.3565-0.057462 0.17797-0.12031 0.34087-0.19017 0.48679a3.3145 3.3145 0 0 0 2.3161-2.3172z" fill="#fdfeff" style="font-variation-settings:\'wght\' 600"/>\n <path d="m5.6276 3.3445c0.021961 0.2856 0.034623 0.58158 0.034623 0.8878 0 0.30628-0.01162 0.60397-0.03359 0.88987 0.44606-0.059448 0.84615-0.14526 1.1741-0.25115 0.32122-0.10372 0.57275-0.22724 0.73019-0.34727a3.3145 3.3145 0 0 0 0.014986-0.29042 3.3145 3.3145 0 0 0-0.01757-0.29197c-0.15758-0.11948-0.40793-0.2425-0.7276-0.34572-0.32812-0.10594-0.72868-0.1918-1.1751-0.25115z" fill="#fdfeff" style="font-variation-settings:\'wght\' 600"/>\n <path d="m5.1072 1.0371c0.070473 0.14674 0.13384 0.31063 0.19172 0.48989 0.1249 0.38682 0.22044 0.84823 0.28267 1.357 0.50968 0.062187 0.97074 0.15865 1.3581 0.2837 0.17736 0.057267 0.3397 0.12007 0.48524 0.18965a3.3145 3.3145 0 0 0-2.3177-2.3203z" fill="#fdfeff" style="font-variation-settings:\'wght\' 600"/>\n <path d="m5.1227 5.6281c-0.28523 0.022002-0.58237 0.034107-0.88832 0.034107-0.30639 0-0.60436-0.012058-0.89038-0.034107 0.05956 0.4457 0.1458 0.84467 0.25166 1.1725 0.10286 0.31856 0.22508 0.5704 0.34416 0.72812a3.3145 3.3145 0 0 0 0.29352 0.01912 3.3145 3.3145 0 0 0 0.29456-0.021187c0.11867-0.15783 0.24066-0.40868 0.34313-0.72605 0.10586-0.32787 0.1921-0.72684 0.25166-1.1725z" fill="#fdfeff" style="font-variation-settings:\'wght\' 600"/>\n <path d="m4.2344 3.2541c-0.32527 0-0.63999 0.014485-0.93948 0.040308-0.025716 0.2994-0.040824 0.61288-0.040824 0.93793 0 0.32532 0.014032 0.64036 0.039791 0.93999 0.29982 0.025912 0.61482 0.040308 0.94051 0.040308 0.3251 0 0.6393-0.014447 0.93844-0.040308 0.025759-0.29963 0.039791-0.61467 0.039791-0.93999 0-0.32486-0.015136-0.63816-0.040824-0.93741-0.29875-0.026051-0.6125-0.040825-0.93741-0.040825z" fill="#fdfeff" style="font-variation-settings:\'wght\' 600"/>\n <path d="m4.2333 0.91881a3.3145 3.3145 0 0 0-0.29352 0.01912c-0.11909 0.15768-0.24131 0.4075-0.34416 0.72605-0.106 0.3283-0.1921 0.7282-0.25166 1.1746 0.286-0.022022 0.58394-0.034106 0.89038-0.034106 0.30598 0 0.60312 0.011604 0.88832 0.03359-0.059565-0.4462-0.1457-0.84591-0.25166-1.1741-0.10384-0.3216-0.22762-0.5733-0.34778-0.7307-3.126e-4 -4.0958e-4 -7.212e-4 -6.2549e-4 -0.0010335-0.0010335a3.3145 3.3145 0 0 0-0.28887-0.013436z" fill="#fdfeff" style="font-variation-settings:\'wght\' 600"/>\n <path d="m2.8835 5.5831c-0.50949-0.062185-0.96958-0.15929-1.3565-0.28422-0.17771-0.057379-0.34051-0.11991-0.48628-0.18965a3.3145 3.3145 0 0 0 2.3187 2.3198c-0.070392-0.14663-0.13389-0.31028-0.19172-0.48938-0.1249-0.38684-0.22199-0.84713-0.28422-1.3565z" fill="#fdfeff" style="font-variation-settings:\'wght\' 600"/>\n <path d="m2.8391 3.344c-0.44585 0.059497-0.84514 0.14579-1.1731 0.25166-0.31967 0.10322-0.57206 0.22623-0.72967 0.34572a3.3145 3.3145 0 0 0-0.01757 0.29197 3.3145 3.3145 0 0 0 0.014986 0.29042c0.15744 0.12003 0.41103 0.24355 0.73226 0.34727 0.32764 0.10579 0.7266 0.19167 1.172 0.25115-0.021969-0.2859-0.03359-0.58359-0.03359-0.88987 0-0.3064 0.012637-0.60256 0.034623-0.88832z" fill="#fdfeff" style="font-variation-settings:\'wght\' 600"/>\n <path d="m3.3595 1.0377a3.3145 3.3145 0 0 0-2.3177 2.3198c0.14554-0.06958 0.30788-0.13239 0.48524-0.18965 0.38699-0.12495 0.8484-0.2215 1.3581-0.2837 0.062234-0.50879 0.15777-0.9702 0.28267-1.357 0.057825-0.17909 0.12133-0.34274 0.19172-0.48938z" fill="#fdfeff" style="font-variation-settings:\'wght\' 600"/>\n </g>\n </mask>\n </defs>\n <g transform="translate(.43462 .29538)">\n <g transform="rotate(180 4.016 4.0856)" fill="#5ab59d" stroke-width="0" style="paint-order:markers stroke fill">\n <path d="m7.4249 5.1092c-0.14554 0.06958-0.30788 0.13239-0.48524 0.18965-0.38707 0.12498-0.84722 0.22205-1.3565 0.28422-0.062233 0.50938-0.15932 0.96967-0.28422 1.3565-0.057462 0.17797-0.12031 0.34087-0.19017 0.48679a3.3145 3.3145 0 0 0 2.3161-2.3172z" style="font-variation-settings:\'wght\' 600;paint-order:markers stroke fill"/>\n <path d="m5.6276 3.3445c0.021961 0.2856 0.034623 0.58158 0.034623 0.8878 0 0.30628-0.01162 0.60397-0.03359 0.88987 0.44606-0.059448 0.84615-0.14526 1.1741-0.25115 0.32122-0.10372 0.57275-0.22724 0.73019-0.34727a3.3145 3.3145 0 0 0 0.014986-0.29042 3.3145 3.3145 0 0 0-0.01757-0.29197c-0.15758-0.11948-0.40793-0.2425-0.7276-0.34572-0.32812-0.10594-0.72868-0.1918-1.1751-0.25115z" style="font-variation-settings:\'wght\' 600;paint-order:markers stroke fill"/>\n <path d="m5.1072 1.0371c0.070473 0.14674 0.13384 0.31063 0.19172 0.48989 0.1249 0.38682 0.22044 0.84823 0.28267 1.357 0.50968 0.062187 0.97074 0.15865 1.3581 0.2837 0.17736 0.057267 0.3397 0.12007 0.48524 0.18965a3.3145 3.3145 0 0 0-2.3177-2.3203z" style="font-variation-settings:\'wght\' 600;paint-order:markers stroke fill"/>\n <path d="m5.1227 5.6281c-0.28523 0.022002-0.58237 0.034107-0.88832 0.034107-0.30639 0-0.60436-0.012058-0.89038-0.034107 0.05956 0.4457 0.1458 0.84467 0.25166 1.1725 0.10286 0.31856 0.22508 0.5704 0.34416 0.72812a3.3145 3.3145 0 0 0 0.29352 0.01912 3.3145 3.3145 0 0 0 0.29456-0.021187c0.11867-0.15783 0.24066-0.40868 0.34313-0.72605 0.10586-0.32787 0.1921-0.72684 0.25166-1.1725z" style="font-variation-settings:\'wght\' 600;paint-order:markers stroke fill"/>\n <path d="m4.2344 3.2541c-0.32527 0-0.63999 0.014485-0.93948 0.040308-0.025716 0.2994-0.040824 0.61288-0.040824 0.93793 0 0.32532 0.014032 0.64036 0.039791 0.93999 0.29982 0.025912 0.61482 0.040308 0.94051 0.040308 0.3251 0 0.6393-0.014447 0.93844-0.040308 0.025759-0.29963 0.039791-0.61467 0.039791-0.93999 0-0.32486-0.015136-0.63816-0.040824-0.93741-0.29875-0.026051-0.6125-0.040825-0.93741-0.040825z" style="font-variation-settings:\'wght\' 600;paint-order:markers stroke fill"/>\n <path d="m4.2333 0.91881a3.3145 3.3145 0 0 0-0.29352 0.01912c-0.11909 0.15768-0.24131 0.4075-0.34416 0.72605-0.106 0.3283-0.1921 0.7282-0.25166 1.1746 0.286-0.022022 0.58394-0.034106 0.89038-0.034106 0.30598 0 0.60312 0.011604 0.88832 0.03359-0.059565-0.4462-0.1457-0.84591-0.25166-1.1741-0.10384-0.3216-0.22762-0.5733-0.34778-0.7307-3.126e-4 -4.0958e-4 -7.212e-4 -6.2549e-4 -0.0010335-0.0010335a3.3145 3.3145 0 0 0-0.28887-0.013436z" style="font-variation-settings:\'wght\' 600;paint-order:markers stroke fill"/>\n <path d="m2.8835 5.5831c-0.50949-0.062185-0.96958-0.15929-1.3565-0.28422-0.17771-0.057379-0.34051-0.11991-0.48628-0.18965a3.3145 3.3145 0 0 0 2.3187 2.3198c-0.070392-0.14663-0.13389-0.31028-0.19172-0.48938-0.1249-0.38684-0.22199-0.84713-0.28422-1.3565z" style="font-variation-settings:\'wght\' 600;paint-order:markers stroke fill"/>\n <path d="m2.8391 3.344c-0.44585 0.059497-0.84514 0.14579-1.1731 0.25166-0.31967 0.10322-0.57206 0.22623-0.72967 0.34572a3.3145 3.3145 0 0 0-0.01757 0.29197 3.3145 3.3145 0 0 0 0.014986 0.29042c0.15744 0.12003 0.41103 0.24355 0.73226 0.34727 0.32764 0.10579 0.7266 0.19167 1.172 0.25115-0.021969-0.2859-0.03359-0.58359-0.03359-0.88987 0-0.3064 0.012637-0.60256 0.034623-0.88832z" style="font-variation-settings:\'wght\' 600;paint-order:markers stroke fill"/>\n <path d="m3.3595 1.0377a3.3145 3.3145 0 0 0-2.3177 2.3198c0.14554-0.06958 0.30788-0.13239 0.48524-0.18965 0.38699-0.12495 0.8484-0.2215 1.3581-0.2837 0.062234-0.50879 0.15777-0.9702 0.28267-1.357 0.057825-0.17909 0.12133-0.34274 0.19172-0.48938z" style="font-variation-settings:\'wght\' 600;paint-order:markers stroke fill"/>\n </g>\n <g mask="url(#mask1)">\n <g transform="matrix(.33495 -.15502 .15502 .33495 6.9101 8.7424)" stroke-width="0">\n <g fill="#baebc9">\n <path d="m5.812-13.175a9.2651 4.3162 0 0 1-7.9954 2.1384 9.2651 4.3162 0 0 1-7.9959-2.1389 8.2971 8.2971 0 0 0 7.9959 6.12 8.2971 8.2971 0 0 0 7.9954-6.1195z" style="font-variation-settings:\'wght\' 600;paint-order:markers stroke fill"/>\n <path d="m-2.1833-23.65a8.2971 8.2971 0 0 0-7.9964 6.12 9.2651 4.3162 0 0 1 7.9964-2.1394 9.2651 4.3162 0 0 1 8.0047 2.1441 8.2971 8.2971 0 0 0-8.0047-6.1247z" style="font-variation-settings:\'wght\' 600;paint-order:markers stroke fill"/>\n </g>\n <g transform="translate(-.13423 .11304)" fill="#e18335">\n <path d="m4.0158-11.592a8.7066 5.4087 0 0 1-6.0647 1.5343 8.7066 5.4087 0 0 1-6.0653-1.5343 7.1981 7.1981 0 0 0 6.0653 3.3238 7.1981 7.1981 0 0 0 6.0647-3.3238z" style="font-variation-settings:\'wght\' 600;paint-order:markers stroke fill"/>\n <path d="m-2.049-22.664a7.1981 7.1981 0 0 0-6.0653 3.3238 8.7066 5.4087 0 0 1 6.0653-1.5348 8.7066 5.4087 0 0 1 6.0575 1.525 7.1981 7.1981 0 0 0-6.0575-3.314z" style="font-variation-settings:\'wght\' 600;paint-order:markers stroke fill"/>\n </g>\n </g>\n </g>\n </g>\n <g fill="#2d93ac">\n <circle cx=".96336" cy=".9498" r=".45813" style="font-variation-settings:\'wght\' 600;paint-order:markers stroke fill"/>\n <circle cx="7.1098" cy="1.0458" r=".69682" style="font-variation-settings:\'wght\' 600;paint-order:markers stroke fill"/>\n <circle cx="1.3378" cy="7.3803" r=".51904" style="font-variation-settings:\'wght\' 600;paint-order:markers stroke fill"/>\n </g>\n</svg>\n'}),u=new l.LabIcon({name:"jupytergis::raster",svgstr:'<svg height="16" viewBox="0 0 24 24" width="16" xmlns="http://www.w3.org/2000/svg">\n <g class="jp-icon2 jp-icon-selectable" fill="#e2e2e2">\n <path d="M 22,8 H 2 v 1 h 20 z m 0,10.5 H 2 v 1 H 22 Z M 22,15 H 2 v 1 h 20 z m 0,-3.5 H 2 v 1 h 20 z m 0,-7 H 2 v 1 H 22 Z M 5.5,2 h -1 v 20 h 1 z M 9,2 H 8 v 20 h 1 z m 3.5,0 h -1 v 20 h 1 z M 16,2 h -1 v 20 h 1 z m 3.5,0 h -1 v 20 h 1 z"/>\n </g>\n</svg>\n'}),p=new l.LabIcon({name:"jupytergis::visibility",svgstr:'<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24">\n <path class="jp-icon3" d="M12 6c3.79 0 7.17 2.13 8.82 5.5C19.17 14.87 15.79 17 12 17s-7.17-2.13-8.82-5.5C4.83 8.13 8.21 6 12 6m0-2C7 4 2.73 7.11 1 11.5 2.73 15.89 7 19 12 19s9.27-3.11 11-7.5C21.27 7.11 17 4 12 4zm0 5c1.38 0 2.5 1.12 2.5 2.5S13.38 14 12 14s-2.5-1.12-2.5-2.5S10.62 9 12 9m0-2c-2.48 0-4.5 2.02-4.5 4.5S9.52 16 12 16s4.5-2.02 4.5-4.5S14.48 7 12 7z" fill="none" />\n</svg>\n'}),y=new l.LabIcon({name:"jupytergis::nonVisibility",svgstr:'<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24">\n <path class="jp-icon3" d="M12 6c3.79 0 7.17 2.13 8.82 5.5-.59 1.22-1.42 2.27-2.41 3.12l1.41 1.41c1.39-1.23 2.49-2.77 3.18-4.53C21.27 7.11 17 4 12 4c-1.27 0-2.49.2-3.64.57l1.65 1.65C10.66 6.09 11.32 6 12 6zm-1.07 1.14L13 9.21c.57.25 1.03.71 1.28 1.28l2.07 2.07c.08-.34.14-.7.14-1.07C16.5 9.01 14.48 7 12 7c-.37 0-.72.05-1.07.14zM2.01 3.87l2.68 2.68C3.06 7.83 1.77 9.53 1 11.5 2.73 15.89 7 19 12 19c1.52 0 2.98-.29 4.32-.82l3.42 3.42 1.41-1.41L3.42 2.45 2.01 3.87zm7.5 7.5l2.61 2.61c-.04.01-.08.02-.12.02-1.38 0-2.5-1.12-2.5-2.5 0-.05.01-.08.01-.13zm-3.4-3.4l1.75 1.75c-.23.55-.36 1.15-.36 1.78 0 2.48 2.02 4.5 4.5 4.5.63 0 1.23-.13 1.77-.36l.98.98c-.88.24-1.8.38-2.75.38-3.79 0-7.17-2.13-8.82-5.5.7-1.43 1.72-2.61 2.93-3.53z" fill="none" />\n</svg>\n'}),h=new l.LabIcon({name:"jupytergis::geoJSON",svgstr:'\x3c!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools --\x3e\n<svg\n width="16px"\n height="16px"\n viewBox="0 0 100 100"\n xmlns="http://www.w3.org/2000/svg"\n class="iconify iconify--gis">\n <g class="jp-icon2 jp-icon-selectable" fill="#e2e2e2">\n <path d="M13.996 0a2.5 2.5 0 0 0-2.5 2.5V70H0v22h11.496v5.5a2.5 2.5 0 0 0 2.5 2.5h72a2.5 2.5 0 0 0 2.5-2.5V21.625c.027-1.113.004-1.777-.732-2.59L69.46.732A2.5 2.5 0 0 0 67.662 0H13.996zm2.5 5h48.902l1.252 14.568a2.5 2.5 0 0 0 2.278 2.278l14.568 1.252V95h-67v-3H80V70H16.496V5zm54.275 4.115l8.61 8.61l-7.928-.682l-.682-7.928zM10.48 73c1.37 0 2.439.379 3.207 1.137c.772.751 1.269 1.793 1.49 3.125l-2.213.543c-.156-.712-.45-1.271-.881-1.68c-.426-.415-.961-.623-1.603-.623c-.974 0-1.748.406-2.325 1.217c-.572.81-.86 2.012-.86 3.607c0 1.72.292 3.014.874 3.877c.582.857 1.346 1.285 2.289 1.285c.467 0 .932-.118 1.398-.355a4.72 4.72 0 0 0 1.213-.881v-1.838h-2.55v-2.443h4.8v5.775c-.466.593-1.143 1.118-2.03 1.572c-.884.449-1.78.672-2.688.672c-1.154 0-2.16-.316-3.018-.949c-.858-.64-1.504-1.549-1.936-2.728C5.215 83.126 5 81.835 5 80.445c0-1.51.241-2.85.723-4.023c.481-1.173 1.187-2.073 2.115-2.7c.707-.48 1.587-.722 2.64-.722zm37.33 0c1.384 0 2.425.4 3.123 1.197c.702.798 1.07 1.862 1.105 3.194l-2.226.129c-.096-.745-.302-1.281-.618-1.604c-.31-.33-.78-.494-1.408-.494c-.647 0-1.153.176-1.52.525c-.235.224-.353.523-.353.899c0 .342.11.637.33.88c.281.31.963.633 2.047.97c1.084.336 1.886.686 2.402 1.048c.522.356.928.847 1.22 1.473c.295.62.443 1.388.443 2.304c0 .831-.175 1.607-.526 2.333c-.351.725-.848 1.267-1.49 1.623c-.642.349-1.444.523-2.402.523c-1.395 0-2.466-.422-3.213-1.266c-.748-.85-1.195-2.085-1.34-3.707l2.168-.277c.13.956.392 1.657.789 2.105c.401.449.942.672 1.619.672c.717 0 1.256-.196 1.617-.591c.366-.403.551-.87.551-1.405c0-.343-.079-.634-.234-.87c-.15-.245-.416-.456-.797-.634c-.261-.118-.855-.33-1.783-.632c-1.195-.39-2.033-.867-2.514-1.434c-.678-.798-1.018-1.77-1.018-2.916a4.6 4.6 0 0 1 .475-2.066a3.361 3.361 0 0 1 1.377-1.475c.602-.336 1.328-.504 2.176-.504zm11.318 0c1.626 0 2.925.663 3.898 1.988c.979 1.325 1.47 3.168 1.47 5.528c0 2.34-.486 4.17-1.454 5.496c-.968 1.318-2.262 1.978-3.883 1.978c-1.64 0-2.946-.657-3.914-1.969c-.968-1.318-1.453-3.13-1.453-5.437c0-1.477.168-2.717.504-3.719c.25-.738.592-1.4 1.023-1.986c.437-.587.915-1.021 1.432-1.305c.687-.382 1.479-.574 2.377-.574zm-19.777.248h2.218v9.176c0 1.2-.08 2.121-.24 2.767c-.216.844-.607 1.523-1.174 2.038c-.567.507-1.314.761-2.242.761c-1.089 0-1.927-.4-2.514-1.197c-.587-.804-.883-1.98-.888-3.53l2.1-.316c.024.83.118 1.417.279 1.76c.24.52.606.781 1.097.781c.497 0 .85-.183 1.055-.552c.206-.376.309-1.151.309-2.325v-9.363zm26.898 0h2.166l4.516 9.68v-9.68H75v14.494h-2.234l-4.45-9.451v9.451h-2.068V73.248zm-7.098 2.254c-.918 0-1.658.415-2.22 1.246c-.562.824-.842 2.069-.842 3.736c0 1.642.288 2.888.865 3.739c.577.843 1.31 1.265 2.197 1.265c.888 0 1.615-.418 2.182-1.256c.572-.843.86-2.106.86-3.787c0-1.66-.28-2.9-.837-3.716c-.551-.818-1.286-1.227-2.205-1.227zm-38.752 1.502c1.19 0 2.128.518 2.815 1.553c.687 1.028 1.016 2.607.986 4.736h-5.3c.015.824.186 1.466.512 1.928c.326.455.732.683 1.219.683c.331 0 .61-.12.836-.357c.226-.237.396-.62.512-1.147l2.107.465c-.271 1.015-.7 1.79-1.287 2.324c-.582.528-1.312.791-2.19.791c-1.39 0-2.418-.595-3.086-1.789c-.526-.955-.79-2.162-.79-3.619c0-1.74.346-3.102 1.038-4.084c.693-.989 1.569-1.484 2.627-1.484zm9.159 0c1.209 0 2.202.518 2.974 1.553c.773 1.028 1.158 2.33 1.158 3.906c0 1.589-.39 2.907-1.173 3.955c-.778 1.041-1.76 1.562-2.944 1.562c-.732 0-1.432-.217-2.1-.652c-.662-.435-1.165-1.07-1.511-1.908c-.346-.844-.52-1.87-.52-3.076c0-.923.174-1.816.52-2.68c.346-.863.835-1.522 1.467-1.977a3.58 3.58 0 0 1 2.129-.683zm-9.032 2.127c-.461 0-.841.22-1.142.662c-.301.442-.45 1.04-.445 1.799H22.1c-.015-.804-.174-1.413-.475-1.828c-.301-.422-.668-.633-1.1-.633zm9.04.139c-.552 0-1.017.276-1.393.83c-.376.553-.565 1.35-.565 2.392c0 1.042.189 1.839.565 2.393c.376.553.84.832 1.392.832c.552 0 1.014-.279 1.385-.832c.377-.554.565-1.358.565-2.412c0-1.029-.188-1.82-.565-2.373c-.371-.554-.833-.83-1.385-.83z"></path>\n <path d="M51.252 18v10.11h8.852a25.56 25.56 0 0 0-1.707-3.881c-1.985-3.606-4.507-5.78-7.145-6.229zm-2.504.1c-2.469.613-4.813 2.735-6.682 6.13a25.56 25.56 0 0 0-1.706 3.881h8.388zm-5.769.678a22.547 22.547 0 0 0-12.005 9.333h6.739c.594-1.851 1.318-3.562 2.16-5.089c.897-1.63 1.942-3.067 3.106-4.244zm14.729.231c1.074 1.134 2.044 2.488 2.883 4.013c.841 1.527 1.564 3.238 2.157 5.089h6.278a22.56 22.56 0 0 0-11.318-9.102zM29.595 30.615a22.435 22.435 0 0 0-2.095 8.329h8.408c.097-2.941.48-5.744 1.103-8.329zm10.004 0c-.662 2.542-1.078 5.357-1.184 8.329h10.333v-8.329zm11.653 0v8.329h10.797c-.106-2.972-.523-5.787-1.184-8.329zm12.197 0a41.505 41.505 0 0 1 1.1 8.329H72.5a22.435 22.435 0 0 0-2.095-8.329zM27.5 41.447a22.435 22.435 0 0 0 2.095 8.329h7.298c-.588-2.593-.934-5.396-.999-8.329zm10.898 0c.07 2.962.452 5.774 1.075 8.329h9.275v-8.329zm12.854 0v8.329h9.738c.624-2.555 1.005-5.367 1.075-8.329zm13.31 0c-.065 2.932-.409 5.736-.995 8.329h6.838a22.435 22.435 0 0 0 2.095-8.329zM30.973 52.28a22.565 22.565 0 0 0 11.33 9.105a20.107 20.107 0 0 1-2.432-3.514c-.917-1.666-1.697-3.546-2.319-5.591zm9.212 0c.532 1.61 1.165 3.084 1.88 4.383c1.753 3.182 3.923 5.246 6.222 5.997c.154.01.306.03.46.03V52.275zm11.066 0v10.415c.357-.02.713-.04 1.065-.08c2.247-.789 4.364-2.834 6.08-5.951c.716-1.299 1.349-2.773 1.88-4.383zm11.656 0c-.62 2.045-1.4 3.926-2.317 5.591a20.4 20.4 0 0 1-2.197 3.243a22.568 22.568 0 0 0 10.632-8.834z"></path>\n </g>\n</svg>\n'}),g=new l.LabIcon({name:"jupytergis::mound",svgstr:'<svg\n width="16px"\n height="16px"\n xmlns="http://www.w3.org/2000/svg"\n viewBox="0 0 576 512">\n <g class="jp-icon2 jp-icon-selectable" fill="#e2e2e2">\n <path d="M144.1 179.2C173.8 127.7 228.6 96 288 96s114.2 31.7 143.9 83.2L540.4 368c12.3 21.3-3.1 48-27.7 48H63.3c-24.6 0-40-26.6-27.7-48L144.1 179.2z"/>\n </g>\n</svg>\n'});var v;!function(e){e.createNew="jupytergis:create-new-jGIS-file",e.redo="jupytergis:redo",e.undo="jupytergis:undo",e.symbology="jupytergis:symbology",e.identify="jupytergis:identify",e.openLayerBrowser="jupytergis:openLayerBrowser",e.newRasterEntry="jupytergis:newRasterEntry",e.newVectorTileEntry="jupytergis:newVectorTileEntry",e.newGeoJSONEntry="jupytergis:newGeoJSONEntry",e.newHillshadeEntry="jupytergis:newHillshadeEntry",e.newImageEntry="jupytergis:newImageEntry",e.newVideoEntry="jupytergis:newVideoEntry",e.newGeoTiffEntry="jupytergis:newGeoTiffEntry",e.newRasterSource="jupytergis:newRasterSource",e.newRasterDemSource="jupytergis:newRasterDemSource",e.newVectorSource="jupytergis:newVectorSource",e.newGeoJSONSource="jupytergis:newGeoJSONSource",e.newImageSource="jupytergis:imageSource",e.newVideoSource="jupytergis:videoSource",e.newShapefileSource="jupytergis:shapefileSource",e.newGeoTiffSource="jupytergis:newGeoTiffSource",e.newRasterLayer="jupytergis:newRasterLayer",e.newVectorLayer="jupytergis:newVectorLayer",e.newHillshadeLayer="jupytergis:newHillshadeLayer",e.newImageLayer="jupytergis:newImageLayer",e.newVideoLayer="jupytergis:newVideoLayer",e.newShapefileLayer="jupytergis:newShapefileLayer",e.newWebGlTileLayer="jupytergis:newWebGlTileLayer",e.renameLayer="jupytergis:renameLayer",e.removeLayer="jupytergis:removeLayer",e.renameGroup="jupytergis:renameGroup",e.removeGroup="jupytergis:removeGroup",e.moveLayersToGroup="jupytergis:moveLayersToGroup",e.moveLayerToNewGroup="jupytergis:moveLayerToNewGroup",e.renameSource="jupytergis:renameSource",e.removeSource="jupytergis:removeSource",e.toggleConsole="jupytergis:toggleConsole",e.invokeCompleter="jupytergis:invokeConsoleCompleter",e.removeConsole="jupytergis:removeConsole",e.executeConsole="jupytergis:executeConsole",e.selectCompleter="jupytergis:selectConsoleCompleter",e.addAnnotation="jupytergis:addAnnotation"}(v||(v={}));const f={RasterSource:{icon:u},RasterDemSource:{icon:g},VectorTileSource:{iconClass:"fa fa-vector-square"},GeoJSONSource:{icon:h},ImageSource:{iconClass:"fa fa-image"},VideoSource:{iconClass:"fa fa-video"},ShapefileSource:{iconClass:"fa fa-file"},RasterLayer:{icon:u},VectorLayer:{iconClass:"fa fa-vector-square"},HillshadeLayer:{icon:g},ImageLayer:{iconClass:"fa fa-image"},VideoLayer:{iconClass:"fa fa-video"},[v.redo]:{icon:l.redoIcon},[v.undo]:{icon:l.undoIcon},[v.openLayerBrowser]:{iconClass:"fa fa-book-open"},[v.newRasterEntry]:{icon:u},[v.newVectorTileEntry]:{iconClass:"fa fa-vector-square"},[v.newGeoJSONEntry]:{icon:h},[v.newHillshadeEntry]:{icon:g},[v.newImageEntry]:{iconClass:"fa fa-image"},[v.newVideoEntry]:{iconClass:"fa fa-video"},[v.newShapefileLayer]:{iconClass:"fa fa-file"},[v.newGeoTiffEntry]:{iconClass:"fa fa-image"},[v.symbology]:{iconClass:"fa fa-brush"},[v.identify]:{iconClass:"fa fa-info"}},b=new Map(Object.entries(f));var S=a(93345),w=a.n(S),_=a(38286),C=a(80313),j=a(58597),I=a(12358),x=a(8996);const E=JSON.parse('{"OpenStreetMap":{"Mapnik":{"thumbnailPath":"rasterlayer_gallery/OpenStreetMap-Mapnik.png","url":"https://tile.openstreetmap.org/{z}/{x}/{y}.png","max_zoom":19,"html_attribution":"&copy; <a href=\\"https://www.openstreetmap.org/copyright\\">OpenStreetMap</a> contributors","attribution":"(C) OpenStreetMap contributors","name":"OpenStreetMap.Mapnik"},"DE":{"thumbnailPath":"rasterlayer_gallery/OpenStreetMap-DE.png","url":"https://tile.openstreetmap.de/{z}/{x}/{y}.png","max_zoom":18,"html_attribution":"&copy; <a href=\\"https://www.openstreetmap.org/copyright\\">OpenStreetMap</a> contributors","attribution":"(C) OpenStreetMap contributors","name":"OpenStreetMap.DE"},"CH":{"thumbnailPath":"rasterlayer_gallery/OpenStreetMap-CH.png","url":"https://tile.osm.ch/switzerland/{z}/{x}/{y}.png","max_zoom":18,"html_attribution":"&copy; <a href=\\"https://www.openstreetmap.org/copyright\\">OpenStreetMap</a> contributors","attribution":"(C) OpenStreetMap contributors","bounds":[[45,5],[48,11]],"name":"OpenStreetMap.CH"},"France":{"thumbnailPath":"rasterlayer_gallery/OpenStreetMap-France.png","url":"https://{s}.tile.openstreetmap.fr/osmfr/{z}/{x}/{y}.png","max_zoom":20,"html_attribution":"&copy; OpenStreetMap France | &copy; <a href=\\"https://www.openstreetmap.org/copyright\\">OpenStreetMap</a> contributors","attribution":"(C) OpenStreetMap France | (C) OpenStreetMap contributors","name":"OpenStreetMap.France"},"HOT":{"thumbnailPath":"rasterlayer_gallery/OpenStreetMap-HOT.png","url":"https://{s}.tile.openstreetmap.fr/hot/{z}/{x}/{y}.png","max_zoom":19,"html_attribution":"&copy; <a href=\\"https://www.openstreetmap.org/copyright\\">OpenStreetMap</a> contributors, Tiles style by <a href=\\"https://www.hotosm.org/\\" target=\\"_blank\\">Humanitarian OpenStreetMap Team</a> hosted by <a href=\\"https://openstreetmap.fr/\\" target=\\"_blank\\">OpenStreetMap France</a>","attribution":"(C) OpenStreetMap contributors, Tiles style by Humanitarian OpenStreetMap Team hosted by OpenStreetMap France","name":"OpenStreetMap.HOT"},"BZH":{"thumbnailPath":"rasterlayer_gallery/OpenStreetMap-BZH.png","url":"https://tile.openstreetmap.bzh/br/{z}/{x}/{y}.png","max_zoom":19,"html_attribution":"&copy; <a href=\\"https://www.openstreetmap.org/copyright\\">OpenStreetMap</a> contributors, Tiles courtesy of <a href=\\"http://www.openstreetmap.bzh/\\" target=\\"_blank\\">Breton OpenStreetMap Team</a>","attribution":"(C) OpenStreetMap contributors, Tiles courtesy of Breton OpenStreetMap Team","bounds":[[46.2,-5.5],[50,0.7]],"name":"OpenStreetMap.BZH"}},"NASAGIBS":{"ModisTerraTrueColorCR":{"thumbnailPath":"rasterlayer_gallery/NASAGIBS-ModisTerraTrueColorCR.png","url":"https://map1.vis.earthdata.nasa.gov/wmts-webmerc/{variant}/default/{time}/{tilematrixset}{max_zoom}/{z}/{y}/{x}.{format}","html_attribution":"Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (<a href=\\"https://earthdata.nasa.gov\\">ESDIS</a>) with funding provided by NASA/HQ.","attribution":"Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.","bounds":[[-85.0511287776,-179.999999975],[85.0511287776,179.999999975]],"min_zoom":1,"max_zoom":9,"format":"jpg","time":"2024-12-05","tilematrixset":"GoogleMapsCompatible_Level","variant":"MODIS_Terra_CorrectedReflectance_TrueColor","name":"NASAGIBS.ModisTerraTrueColorCR"},"ModisTerraBands367CR":{"thumbnailPath":"rasterlayer_gallery/NASAGIBS-ModisTerraBands367CR.png","url":"https://map1.vis.earthdata.nasa.gov/wmts-webmerc/{variant}/default/{time}/{tilematrixset}{max_zoom}/{z}/{y}/{x}.{format}","html_attribution":"Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (<a href=\\"https://earthdata.nasa.gov\\">ESDIS</a>) with funding provided by NASA/HQ.","attribution":"Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.","bounds":[[-85.0511287776,-179.999999975],[85.0511287776,179.999999975]],"min_zoom":1,"max_zoom":9,"format":"jpg","time":"2024-12-05","tilematrixset":"GoogleMapsCompatible_Level","variant":"MODIS_Terra_CorrectedReflectance_Bands367","name":"NASAGIBS.ModisTerraBands367CR"},"ViirsEarthAtNight2012":{"thumbnailPath":"rasterlayer_gallery/NASAGIBS-ViirsEarthAtNight2012.png","url":"https://map1.vis.earthdata.nasa.gov/wmts-webmerc/{variant}/default/{time}/{tilematrixset}{max_zoom}/{z}/{y}/{x}.{format}","html_attribution":"Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (<a href=\\"https://earthdata.nasa.gov\\">ESDIS</a>) with funding provided by NASA/HQ.","attribution":"Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.","bounds":[[-85.0511287776,-179.999999975],[85.0511287776,179.999999975]],"min_zoom":1,"max_zoom":8,"format":"jpg","time":"2024-12-05","tilematrixset":"GoogleMapsCompatible_Level","variant":"VIIRS_CityLights_2012","name":"NASAGIBS.ViirsEarthAtNight2012"},"ModisTerraLSTDay":{"thumbnailPath":"rasterlayer_gallery/NASAGIBS-ModisTerraLSTDay.png","url":"https://map1.vis.earthdata.nasa.gov/wmts-webmerc/{variant}/default/{time}/{tilematrixset}{max_zoom}/{z}/{y}/{x}.{format}","html_attribution":"Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (<a href=\\"https://earthdata.nasa.gov\\">ESDIS</a>) with funding provided by NASA/HQ.","attribution":"Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.","bounds":[[-85.0511287776,-179.999999975],[85.0511287776,179.999999975]],"min_zoom":1,"max_zoom":7,"format":"png","time":"2024-12-05","tilematrixset":"GoogleMapsCompatible_Level","variant":"MODIS_Terra_Land_Surface_Temp_Day","opacity":0.75,"name":"NASAGIBS.ModisTerraLSTDay"},"ModisTerraSnowCover":{"thumbnailPath":"rasterlayer_gallery/NASAGIBS-ModisTerraSnowCover.png","url":"https://map1.vis.earthdata.nasa.gov/wmts-webmerc/{variant}/default/{time}/{tilematrixset}{max_zoom}/{z}/{y}/{x}.{format}","html_attribution":"Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (<a href=\\"https://earthdata.nasa.gov\\">ESDIS</a>) with funding provided by NASA/HQ.","attribution":"Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.","bounds":[[-85.0511287776,-179.999999975],[85.0511287776,179.999999975]],"min_zoom":1,"max_zoom":8,"format":"png","time":"2024-12-05","tilematrixset":"GoogleMapsCompatible_Level","variant":"MODIS_Terra_NDSI_Snow_Cover","opacity":0.75,"name":"NASAGIBS.ModisTerraSnowCover"},"ModisTerraAOD":{"thumbnailPath":"rasterlayer_gallery/NASAGIBS-ModisTerraAOD.png","url":"https://map1.vis.earthdata.nasa.gov/wmts-webmerc/{variant}/default/{time}/{tilematrixset}{max_zoom}/{z}/{y}/{x}.{format}","html_attribution":"Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (<a href=\\"https://earthdata.nasa.gov\\">ESDIS</a>) with funding provided by NASA/HQ.","attribution":"Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.","bounds":[[-85.0511287776,-179.999999975],[85.0511287776,179.999999975]],"min_zoom":1,"max_zoom":6,"format":"png","time":"2024-12-05","tilematrixset":"GoogleMapsCompatible_Level","variant":"MODIS_Terra_Aerosol","opacity":0.75,"name":"NASAGIBS.ModisTerraAOD"},"ModisTerraChlorophyll":{"thumbnailPath":"rasterlayer_gallery/NASAGIBS-ModisTerraChlorophyll.png","url":"https://map1.vis.earthdata.nasa.gov/wmts-webmerc/{variant}/default/{time}/{tilematrixset}{max_zoom}/{z}/{y}/{x}.{format}","html_attribution":"Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (<a href=\\"https://earthdata.nasa.gov\\">ESDIS</a>) with funding provided by NASA/HQ.","attribution":"Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.","bounds":[[-85.0511287776,-179.999999975],[85.0511287776,179.999999975]],"min_zoom":1,"max_zoom":7,"format":"png","time":"2024-12-05","tilematrixset":"GoogleMapsCompatible_Level","variant":"MODIS_Terra_L2_Chlorophyll_A","opacity":0.75,"name":"NASAGIBS.ModisTerraChlorophyll","status":"broken"},"ModisTerraBands721CR":{"thumbnailPath":"rasterlayer_gallery/NASAGIBS-ModisTerraBands721CR.png","url":"https://gibs.earthdata.nasa.gov/wmts/epsg3857/best/MODIS_Terra_CorrectedReflectance_Bands721/default/{time}/GoogleMapsCompatible_Level9/{z}/{y}/{x}.jpg","max_zoom":9,"attribution":"Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.","html_attribution":"Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (<a href=\\"https://earthdata.nasa.gov\\">ESDIS</a>) with funding provided by NASA/HQ.","name":"NASAGIBS.ModisTerraBands721CR","time":"2024-12-05"},"ModisAquaTrueColorCR":{"thumbnailPath":"rasterlayer_gallery/NASAGIBS-ModisAquaTrueColorCR.png","url":"https://gibs.earthdata.nasa.gov/wmts/epsg3857/best/MODIS_Aqua_CorrectedReflectance_TrueColor/default/{time}/GoogleMapsCompatible_Level9/{z}/{y}/{x}.jpg","max_zoom":9,"attribution":"Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.","html_attribution":"Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (<a href=\\"https://earthdata.nasa.gov\\">ESDIS</a>) with funding provided by NASA/HQ.","name":"NASAGIBS.ModisAquaTrueColorCR","time":"2024-12-05"},"ModisAquaBands721CR":{"thumbnailPath":"rasterlayer_gallery/NASAGIBS-ModisAquaBands721CR.png","url":"https://gibs.earthdata.nasa.gov/wmts/epsg3857/best/MODIS_Aqua_CorrectedReflectance_Bands721/default/{time}/GoogleMapsCompatible_Level9/{z}/{y}/{x}.jpg","max_zoom":9,"attribution":"Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.","html_attribution":"Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (<a href=\\"https://earthdata.nasa.gov\\">ESDIS</a>) with funding provided by NASA/HQ.","name":"NASAGIBS.ModisAquaBands721CR","time":"2024-12-05"},"ViirsTrueColorCR":{"thumbnailPath":"rasterlayer_gallery/NASAGIBS-ViirsTrueColorCR.png","url":"https://gibs.earthdata.nasa.gov/wmts/epsg3857/best/VIIRS_SNPP_CorrectedReflectance_TrueColor/default/{time}/GoogleMapsCompatible_Level9/{z}/{y}/{x}.jpg","max_zoom":9,"attribution":"Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.","html_attribution":"Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (<a href=\\"https://earthdata.nasa.gov\\">ESDIS</a>) with funding provided by NASA/HQ.","name":"NASAGIBS.ViirsTrueColorCR","time":"2024-12-05"},"ASTER_GDEM_Greyscale_Shaded_Relief":{"thumbnailPath":"rasterlayer_gallery/NASAGIBS-ASTER_GDEM_Greyscale_Shaded_Relief.png","url":"https://gibs.earthdata.nasa.gov/wmts/epsg3857/best/ASTER_GDEM_Greyscale_Shaded_Relief/default/GoogleMapsCompatible_Level12/{z}/{y}/{x}.jpg","max_zoom":12,"attribution":"Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.","html_attribution":"Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (<a href=\\"https://earthdata.nasa.gov\\">ESDIS</a>) with funding provided by NASA/HQ.","name":"NASAGIBS.ASTER_GDEM_Greyscale_Shaded_Relief"}},"USGS":{"USTopo":{"thumbnailPath":"rasterlayer_gallery/USGS-USTopo.png","url":"https://basemap.nationalmap.gov/arcgis/rest/services/USGSTopo/MapServer/tile/{z}/{y}/{x}","max_zoom":20,"html_attribution":"Tiles courtesy of the <a href=\\"https://usgs.gov/\\">U.S. Geological Survey</a>","attribution":"Tiles courtesy of the U.S. Geological Survey","name":"USGS.USTopo"},"USImagery":{"thumbnailPath":"rasterlayer_gallery/USGS-USImagery.png","url":"https://basemap.nationalmap.gov/arcgis/rest/services/USGSImageryOnly/MapServer/tile/{z}/{y}/{x}","max_zoom":20,"html_attribution":"Tiles courtesy of the <a href=\\"https://usgs.gov/\\">U.S. Geological Survey</a>","attribution":"Tiles courtesy of the U.S. Geological Survey","name":"USGS.USImagery"},"USImageryTopo":{"thumbnailPath":"rasterlayer_gallery/USGS-USImageryTopo.png","url":"https://basemap.nationalmap.gov/arcgis/rest/services/USGSImageryTopo/MapServer/tile/{z}/{y}/{x}","max_zoom":20,"html_attribution":"Tiles courtesy of the <a href=\\"https://usgs.gov/\\">U.S. Geological Survey</a>","attribution":"Tiles courtesy of the U.S. Geological Survey","name":"USGS.USImageryTopo"}},"WaymarkedTrails":{"hiking":{"thumbnailPath":"rasterlayer_gallery/WaymarkedTrails-hiking.png","url":"https://tile.waymarkedtrails.org/{variant}/{z}/{x}/{y}.png","max_zoom":18,"html_attribution":"Map data: &copy; <a href=\\"https://www.openstreetmap.org/copyright\\">OpenStreetMap</a> contributors | Map style: &copy; <a href=\\"https://waymarkedtrails.org\\">waymarkedtrails.org</a> (<a href=\\"https://creativecommons.org/licenses/by-sa/3.0/\\">CC-BY-SA</a>)","attribution":"Map data: (C) OpenStreetMap contributors | Map style: (C) waymarkedtrails.org (CC-BY-SA)","variant":"hiking","name":"WaymarkedTrails.hiking"},"cycling":{"thumbnailPath":"rasterlayer_gallery/WaymarkedTrails-cycling.png","url":"https://tile.waymarkedtrails.org/{variant}/{z}/{x}/{y}.png","max_zoom":18,"html_attribution":"Map data: &copy; <a href=\\"https://www.openstreetmap.org/copyright\\">OpenStreetMap</a> contributors | Map style: &copy; <a href=\\"https://waymarkedtrails.org\\">waymarkedtrails.org</a> (<a href=\\"https://creativecommons.org/licenses/by-sa/3.0/\\">CC-BY-SA</a>)","attribution":"Map data: (C) OpenStreetMap contributors | Map style: (C) waymarkedtrails.org (CC-BY-SA)","variant":"cycling","name":"WaymarkedTrails.cycling"},"mtb":{"thumbnailPath":"rasterlayer_gallery/WaymarkedTrails-mtb.png","url":"https://tile.waymarkedtrails.org/{variant}/{z}/{x}/{y}.png","max_zoom":18,"html_attribution":"Map data: &copy; <a href=\\"https://www.openstreetmap.org/copyright\\">OpenStreetMap</a> contributors | Map style: &copy; <a href=\\"https://waymarkedtrails.org\\">waymarkedtrails.org</a> (<a href=\\"https://creativecommons.org/licenses/by-sa/3.0/\\">CC-BY-SA</a>)","attribution":"Map data: (C) OpenStreetMap contributors | Map style: (C) waymarkedtrails.org (CC-BY-SA)","variant":"mtb","name":"WaymarkedTrails.mtb"},"slopes":{"thumbnailPath":"rasterlayer_gallery/WaymarkedTrails-slopes.png","url":"https://tile.waymarkedtrails.org/{variant}/{z}/{x}/{y}.png","max_zoom":18,"html_attribution":"Map data: &copy; <a href=\\"https://www.openstreetmap.org/copyright\\">OpenStreetMap</a> contributors | Map style: &copy; <a href=\\"https://waymarkedtrails.org\\">waymarkedtrails.org</a> (<a href=\\"https://creativecommons.org/licenses/by-sa/3.0/\\">CC-BY-SA</a>)","attribution":"Map data: (C) OpenStreetMap contributors | Map style: (C) waymarkedtrails.org (CC-BY-SA)","variant":"slopes","name":"WaymarkedTrails.slopes"},"riding":{"thumbnailPath":"rasterlayer_gallery/WaymarkedTrails-riding.png","url":"https://tile.waymarkedtrails.org/{variant}/{z}/{x}/{y}.png","max_zoom":18,"html_attribution":"Map data: &copy; <a href=\\"https://www.openstreetmap.org/copyright\\">OpenStreetMap</a> contributors | Map style: &copy; <a href=\\"https://waymarkedtrails.org\\">waymarkedtrails.org</a> (<a href=\\"https://creativecommons.org/licenses/by-sa/3.0/\\">CC-BY-SA</a>)","attribution":"Map data: (C) OpenStreetMap contributors | Map style: (C) waymarkedtrails.org (CC-BY-SA)","variant":"riding","name":"WaymarkedTrails.riding"},"skating":{"thumbnailPath":"rasterlayer_gallery/WaymarkedTrails-skating.png","url":"https://tile.waymarkedtrails.org/{variant}/{z}/{x}/{y}.png","max_zoom":18,"html_attribution":"Map data: &copy; <a href=\\"https://www.openstreetmap.org/copyright\\">OpenStreetMap</a> contributors | Map style: &copy; <a href=\\"https://waymarkedtrails.org\\">waymarkedtrails.org</a> (<a href=\\"https://creativecommons.org/licenses/by-sa/3.0/\\">CC-BY-SA</a>)","attribution":"Map data: (C) OpenStreetMap contributors | Map style: (C) waymarkedtrails.org (CC-BY-SA)","variant":"skating","name":"WaymarkedTrails.skating"}},"Gaode":{"Normal":{"thumbnailPath":"rasterlayer_gallery/Gaode-Normal.png","url":"http://webrd01.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=7&x={x}&y={y}&z={z}","max_zoom":19,"attribution":"&copy; <a href=\\"http://www.gaode.com/\\">Gaode.com</a>","html_attribution":"&copy; <a href=\\"http://www.gaode.com/\\">Gaode.com</a>","name":"Gaode.Normal"},"Satellite":{"thumbnailPath":"rasterlayer_gallery/Gaode-Satellite.png","url":"http://webst01.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}","max_zoom":19,"attribution":"&copy; <a href=\\"http://www.gaode.com/\\">Gaode.com</a>","html_attribution":"&copy; <a href=\\"http://www.gaode.com/\\">Gaode.com</a>","name":"Gaode.Satellite"}},"Strava":{"All":{"thumbnailPath":"rasterlayer_gallery/Strava-All.png","url":"https://heatmap-external-a.strava.com/tiles/all/hot/{z}/{x}/{y}.png","max_zoom":15,"attribution":"Map tiles by <a href=\\"https://labs.strava.com/heatmap\\">Strava 2021</a>","html_attribution":"Map tiles by <a href=\\"https://labs.strava.com/heatmap\\">Strava 2021</a>","name":"Strava.All"},"Ride":{"thumbnailPath":"rasterlayer_gallery/Strava-Ride.png","url":"https://heatmap-external-a.strava.com/tiles/ride/hot/{z}/{x}/{y}.png","max_zoom":15,"attribution":"Map tiles by <a href=\\"https://labs.strava.com/heatmap\\">Strava 2021</a>","html_attribution":"Map tiles by <a href=\\"https://labs.strava.com/heatmap\\">Strava 2021</a>","name":"Strava.Ride"},"Run":{"thumbnailPath":"rasterlayer_gallery/Strava-Run.png","url":"https://heatmap-external-a.strava.com/tiles/run/bluered/{z}/{x}/{y}.png","max_zoom":15,"attribution":"Map tiles by <a href=\\"https://labs.strava.com/heatmap\\">Strava 2021</a>","html_attribution":"Map tiles by <a href=\\"https://labs.strava.com/heatmap\\">Strava 2021</a>","name":"Strava.Run"},"Water":{"thumbnailPath":"rasterlayer_gallery/Strava-Water.png","url":"https://heatmap-external-a.strava.com/tiles/water/blue/{z}/{x}/{y}.png","max_zoom":15,"attribution":"Map tiles by <a href=\\"https://labs.strava.com/heatmap\\">Strava 2021</a>","html_attribution":"Map tiles by <a href=\\"https://labs.strava.com/heatmap\\">Strava 2021</a>","name":"Strava.Water"},"Winter":{"thumbnailPath":"rasterlayer_gallery/Strava-Winter.png","url":"https://heatmap-external-a.strava.com/tiles/winter/hot/{z}/{x}/{y}.png","max_zoom":15,"attribution":"Map tiles by <a href=\\"https://labs.strava.com/heatmap\\">Strava 2021</a>","html_attribution":"Map tiles by <a href=\\"https://labs.strava.com/heatmap\\">Strava 2021</a>","name":"Strava.Winter"}},"OPNVKarte":{"thumbnailPath":"rasterlayer_gallery/OPNVKarte.png","url":"https://tileserver.memomaps.de/tilegen/{z}/{x}/{y}.png","max_zoom":18,"html_attribution":"Map <a href=\\"https://memomaps.de/\\">memomaps.de</a> <a href=\\"http://creativecommons.org/licenses/by-sa/2.0/\\">CC-BY-SA</a>, map data &copy; <a href=\\"https://www.openstreetmap.org/copyright\\">OpenStreetMap</a> contributors","attribution":"Map memomaps.de CC-BY-SA, map data (C) OpenStreetMap contributors","name":"OPNVKarte"},"OpenTopoMap":{"thumbnailPath":"rasterlayer_gallery/OpenTopoMap.png","url":"https://{s}.tile.opentopomap.org/{z}/{x}/{y}.png","max_zoom":17,"html_attribution":"Map data: &copy; <a href=\\"https://www.openstreetmap.org/copyright\\">OpenStreetMap</a> contributors, <a href=\\"http://viewfinderpanoramas.org\\">SRTM</a> | Map style: &copy; <a href=\\"https://opentopomap.org\\">OpenTopoMap</a> (<a href=\\"https://creativecommons.org/licenses/by-sa/3.0/\\">CC-BY-SA</a>)","attribution":"Map data: (C) OpenStreetMap contributors, SRTM | Map style: (C) OpenTopoMap (CC-BY-SA)","name":"OpenTopoMap"},"OpenRailwayMap":{"thumbnailPath":"rasterlayer_gallery/OpenRailwayMap.png","url":"https://{s}.tiles.openrailwaymap.org/standard/{z}/{x}/{y}.png","max_zoom":19,"html_attribution":"Map data: &copy; <a href=\\"https://www.openstreetmap.org/copyright\\">OpenStreetMap</a> contributors | Map style: &copy; <a href=\\"https://www.OpenRailwayMap.org\\">OpenRailwayMap</a> (<a href=\\"https://creativecommons.org/licenses/by-sa/3.0/\\">CC-BY-SA</a>)","attribution":"Map data: (C) OpenStreetMap contributors | Map style: (C) OpenRailwayMap (CC-BY-SA)","name":"OpenRailwayMap"}}');var M=a(66519),k=a.n(M);async function O(){const e=new URL(a(99875),a.b),t=new URL(a(61003),a.b);return await k()({paths:{wasm:t.href,data:e.href},useWorker:!1})}O();const L=(e,t=100)=>{let a;return(...r)=>{clearTimeout(a),a=window.setTimeout((()=>{e(...r)}),t)}};function G(e,t=100){let a,r;return function(...o){const n=+new Date;a&&n<a+t?(clearTimeout(r),r=setTimeout((()=>{a=n,e(...o)}),t)):(a=n,e(...o))}}function N(e,t){if(!e||!t)return;const a=document.querySelector(`[data-path="${e}"]`);return a?a.querySelector(`[id$=${t}]`):void 0}function A(e,t){const a=Math.round(e);return Math.abs(a-e)<t?a:e}function P(e){const t=window.getComputedStyle(document.body).getPropertyValue(e)||"#ffffff";return x.Qh(t).formatHex()}async function T(e="",t={}){const a=I.ServerConnection.makeSettings(),r=j.URLExt.join(a.baseUrl,e);let o;try{o=await I.ServerConnection.makeRequest(r,t,a)}catch(e){throw new I.ServerConnection.NetworkError(e)}let n=await o.text();if(n.length>0)try{n=JSON.parse(n)}catch(e){console.log("Not a JSON response body.",o)}if(!o.ok)throw new I.ServerConnection.ResponseError(o,n.message||n);return n}function R(){return"true"===document.body.getAttribute("data-jp-theme-light")}function D(e){return e?JSON.parse(JSON.stringify(e)):e}function z(e){const t={},r=a(74864);var o;(o=r).keys().forEach((e=>{const a=e.replace("./","").replace(/\.\w+$/,"");t[a]=o(e)}));for(const t of Object.keys(E)){const a=E[t];if("url"in a){const r=n(t,a);e.addRegistryLayer(r)}else Object.keys(a).forEach((r=>{const o=n(a[r].name,a[r],t);e.addRegistryLayer(o)}))}function n(e,a,r){const o={};return a.time&&(o.time=a.time),a.variant&&(o.variant=a.variant),a.tilematrixset&&(o.tilematrixset=a.tilematrixset),a.format&&(o.format=a.format),{name:e,thumbnail:t[a.name.replace(".","-")],source:{url:a.url,minZoom:a.min_zoom||0,maxZoom:a.max_zoom||24,attribution:a.attribution||"",provider:null!=r?r:e,urlParameters:o}}}}async function B(e,t,a){if(e.includes(".json")){const t=await fetch(e);if(!t.ok)throw new Error(`Failed to fetch json: ${t.statusText}`);e=(await t.json()).tiles[0]}const r=t.extent?(t.extent[1]+t.extent[3])/2:t.latitude||0,o=t.extent?(t.extent[0]+t.extent[2])/2:t.longitude||0,n=t.zoom||0,{xTile:s,yTile:i}=function(e,t,a){const r=e*(Math.PI/180),o=1<<a,n=Math.floor((t+180)/360*o),s=Math.floor(o*(1-Math.log(Math.tan(r)+1/Math.cos(r))/Math.PI)/2);return isNaN(n)||isNaN(s)?{xTile:0,yTile:0}:{xTile:n,yTile:s}}(r,o,n);if(e=e.replace("{z}",String(Math.floor(n))).replace("{x}",String(s)).replace("{y}",String(i)),a)for(const t of Object.keys(a))e=e.replace(`{${t}}`,a[t]);const l=await fetch(e);if(!l.ok)throw new Error(`Failed to fetch tile: ${l.statusText}`);const c=await l.arrayBuffer();return new C.cW(new _.A(c))}async function V(e,t){const a=await B(e,{latitude:0,longitude:0,zoom:0,extent:[]},t);return Object.keys(a.layers)}function W(e,t){var a,r,o,n,s,i,l,c,d,m,u;if(!e||!t)return;const p="circle"===e?"circle":"default",y={circle:{radius:null!==(a=t["circle-radius"])&&void 0!==a?a:5,fillColor:null!==(r=t["circle-fill-color"])&&void 0!==r?r:"#3399CC",strokeColor:null!==(o=t["circle-stroke-color"])&&void 0!==o?o:"#3399CC",strokeWidth:null!==(n=t["circle-stroke-width"])&&void 0!==n?n:1.25,joinStyle:null!==(s=t["circle-stroke-line-join"])&&void 0!==s?s:"round",capStyle:null!==(i=t["circle-stroke-line-cap"])&&void 0!==i?i:"round"},default:{fillColor:null!==(l=t["fill-color"])&&void 0!==l?l:"[255, 255, 255, 0.4]",strokeColor:null!==(c=t["stroke-color"])&&void 0!==c?c:"#3399CC",strokeWidth:null!==(d=t["stroke-width"])&&void 0!==d?d:1.25,capStyle:null!==(m=t["stroke-line-cap"])&&void 0!==m?m:"round",joinStyle:null!==(u=t["stroke-line-join"])&&void 0!==u?u:"round"}}[p];return Object.assign(y,{radius:y.radius,fillColor:y.fillColor,strokeColor:y.strokeColor,strokeWidth:y.strokeWidth,joinStyle:y.joinStyle,capStyle:y.capStyle}),y}const F=()=>new Promise(((e,t)=>{const a=indexedDB.open("GeoTIFFCache",1);a.onupgradeneeded=e=>{const t=a.result;t.objectStoreNames.contains("files")||t.createObjectStore("files",{keyPath:"url"})},a.onsuccess=()=>e(a.result),a.onerror=()=>t(a.error)})),U=async(e,t,a)=>{const r=await F();return new Promise(((o,n)=>{const s=r.transaction("files","readwrite");s.objectStore("files").put({url:e,file:t,metadata:a}),s.oncomplete=()=>o(),s.onerror=()=>n(s.error)}))},J=async e=>{const t=await F();return new Promise(((a,r)=>{const o=t.transaction("files","readonly").objectStore("files").get(e);o.onsuccess=()=>a(o.result),o.onerror=()=>r(o.error)}))},q=async e=>{if(!(null==e?void 0:e.url))return null;const t=await J(e.url);if(t)return{file:new Blob([t.file]),metadata:t.metadata,sourceUrl:e.url};const a=await fetch(e.url),r=await a.blob(),o=new File([r],"loaded.tif"),n=await O(),s=(await n.open(o)).datasets[0],i=await n.gdalinfo(s,["-stats"]);return n.close(s),await U(e.url,r,i),{file:r,metadata:i,sourceUrl:e.url}};var $=a(67262),H=a(74602),Z=a(27618);const Q=e=>{const{fields:t}=e,a=function(e,t){var a={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(a[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(a[r[o]]=e[r[o]])}return a}(e,["fields"]);return S.createElement(l.FormComponent,Object.assign({},a,{validator:Z.Ay,fields:Object.assign({},t)}))};class Y extends S.Component{constructor(e){super(e),this.currentFormData=D(this.props.sourceData),this.state={schema:e.schema,extraErrors:{}}}componentDidUpdate(e,t){if(e.sourceData!==this.props.sourceData){this.currentFormData=D(this.props.sourceData);const e=D(this.props.schema);this.setState((t=>Object.assign(Object.assign({},t),{schema:e})))}}componentDidMount(){if(this.props.formErrorSignal){const e=Object.keys(Object.assign({},this.state.extraErrors)).length>0;this.setState((e=>Object.assign(Object.assign({},e),this.state.extraErrors))),this.props.formErrorSignal.emit(e)}}processSchema(e,t,a){t.properties&&Object.entries(t.properties).forEach((([r,o])=>{a[r]={},"array"===o.type&&(a[r]=Object.assign({"ui:options":{orderable:!1,removable:!1,addable:!1}},a[r]),"array"===o.items.type&&(a[r]=Object.assign({items:Object.assign({"ui:options":{orderable:!1,removable:!1,addable:!1}},a[r].items)},a[r]))),"object"===o.type&&this.processSchema(e,o,a[r]),o.readOnly&&("create"===this.props.formContext&&delete o.readOnly,"update"===this.props.formContext&&this.removeFormEntry(r,e,t,a))}))}removeFormEntry(e,t,a,r){t&&delete t[e],delete a.properties[e],delete r[e],a.required&&a.required.includes(e)&&a.required.splice(a.required.indexOf(e),1)}syncData(e){e&&this.props.syncData(e)}onFormChange(e){if(this.currentFormData=e.formData,this.props.formChangedSignal&&this.props.formChangedSignal.emit(this.currentFormData||{}),this.props.formErrorSignal){const e=Object.keys(this.state.extraErrors).length>0;this.props.formErrorSignal.emit(e)}}onFormBlur(e,t){}onFormSubmit(e){this.currentFormData=e.formData,this.syncData(this.currentFormData),this.props.cancel&&this.props.cancel()}render(){var e,t;if(this.props.schema){const a=Object.assign(Object.assign({},this.state.schema),{additionalProperties:!0}),r=this.currentFormData,o={additionalProperties:{"ui:label":!1,classNames:"jGIS-hidden-field"}};this.processSchema(r,a,o);const n=S.createRef();return null===(e=this.props.ok)||void 0===e||e.connect((()=>{var e;null===(e=n.current)||void 0===e||e.click()})),S.createElement("div",{className:"jGIS-property-panel","data-path":null!==(t=this.props.filePath)&&void 0!==t?t:""},S.createElement("div",{className:"jGIS-property-outer",onKeyUp:e=>{var t;"Enter"===e.key&&(e.preventDefault(),null===(t=n.current)||void 0===t||t.click())}},S.createElement(Q,{schema:a,uiSchema:o,formData:r,onSubmit:this.onFormSubmit.bind(this),onChange:this.onFormChange.bind(this),onBlur:this.onFormBlur.bind(this),liveValidate:!0,children:S.createElement("button",{ref:n,type:"submit",style:{display:"none"}}),extraErrors:this.state.extraErrors})),!this.props.ok&&S.createElement("div",{className:"jGIS-property-buttons"},S.createElement("button",{className:"jp-Dialog-button jp-mod-accept jp-mod-styled",onClick:()=>{var e;return null===(e=n.current)||void 0===e?void 0:e.click()}},S.createElement("div",{className:"jp-Dialog-buttonLabel"},"Ok"))))}}}var K=a(11601);const X=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://geojson.org/schema/GeoJSON.json","title":"GeoJSON","oneOf":[{"title":"GeoJSON Point","type":"object","required":["type","coordinates"],"properties":{"type":{"type":"string","enum":["Point"]},"coordinates":{"type":"array","minItems":2,"items":{"type":"number"}},"bbox":{"type":"array","minItems":4,"items":{"type":"number"}}}},{"title":"GeoJSON LineString","type":"object","required":["type","coordinates"],"properties":{"type":{"type":"string","enum":["LineString"]},"coordinates":{"type":"array","minItems":2,"items":{"type":"array","minItems":2,"items":{"type":"number"}}},"bbox":{"type":"array","minItems":4,"items":{"type":"number"}}}},{"title":"GeoJSON Polygon","type":"object","required":["type","coordinates"],"properties":{"type":{"type":"string","enum":["Polygon"]},"coordinates":{"type":"array","items":{"type":"array","minItems":4,"items":{"type":"array","minItems":2,"items":{"type":"number"}}}},"bbox":{"type":"array","minItems":4,"items":{"type":"number"}}}},{"title":"GeoJSON MultiPoint","type":"object","required":["type","coordinates"],"properties":{"type":{"type":"string","enum":["MultiPoint"]},"coordinates":{"type":"array","items":{"type":"array","minItems":2,"items":{"type":"number"}}},"bbox":{"type":"array","minItems":4,"items":{"type":"number"}}}},{"title":"GeoJSON MultiLineString","type":"object","required":["type","coordinates"],"properties":{"type":{"type":"string","enum":["MultiLineString"]},"coordinates":{"type":"array","items":{"type":"array","minItems":2,"items":{"type":"array","minItems":2,"items":{"type":"number"}}}},"bbox":{"type":"array","minItems":4,"items":{"type":"number"}}}},{"title":"GeoJSON MultiPolygon","type":"object","required":["type","coordinates"],"properties":{"type":{"type":"string","enum":["MultiPolygon"]},"coordinates":{"type":"array","items":{"type":"array","items":{"type":"array","minItems":4,"items":{"type":"array","minItems":2,"items":{"type":"number"}}}}},"bbox":{"type":"array","minItems":4,"items":{"type":"number"}}}},{"title":"GeoJSON GeometryCollection","type":"object","required":["type","geometries"],"properties":{"type":{"type":"string","enum":["GeometryCollection"]},"geometries":{"type":"array","items":{"oneOf":[{"title":"GeoJSON Point","type":"object","required":["type","coordinates"],"properties":{"type":{"type":"string","enum":["Point"]},"coordinates":{"type":"array","minItems":2,"items":{"type":"number"}},"bbox":{"type":"array","minItems":4,"items":{"type":"number"}}}},{"title":"GeoJSON LineString","type":"object","required":["type","coordinates"],"properties":{"type":{"type":"string","enum":["LineString"]},"coordinates":{"type":"array","minItems":2,"items":{"type":"array","minItems":2,"items":{"type":"number"}}},"bbox":{"type":"array","minItems":4,"items":{"type":"number"}}}},{"title":"GeoJSON Polygon","type":"object","required":["type","coordinates"],"properties":{"type":{"type":"string","enum":["Polygon"]},"coordinates":{"type":"array","items":{"type":"array","minItems":4,"items":{"type":"array","minItems":2,"items":{"type":"number"}}}},"bbox":{"type":"array","minItems":4,"items":{"type":"number"}}}},{"title":"GeoJSON MultiPoint","type":"object","required":["type","coordinates"],"properties":{"type":{"type":"string","enum":["MultiPoint"]},"coordinates":{"type":"array","items":{"type":"array","minItems":2,"items":{"type":"number"}}},"bbox":{"type":"array","minItems":4,"items":{"type":"number"}}}},{"title":"GeoJSON MultiLineString","type":"object","required":["type","coordinates"],"properties":{"type":{"type":"string","enum":["MultiLineString"]},"coordinates":{"type":"array","items":{"type":"array","minItems":2,"items":{"type":"array","minItems":2,"items":{"type":"number"}}}},"bbox":{"type":"array","minItems":4,"items":{"type":"number"}}}},{"title":"GeoJSON MultiPolygon","type":"object","required":["type","coordinates"],"properties":{"type":{"type":"string","enum":["MultiPolygon"]},"coordinates":{"type":"array","items":{"type":"array","items":{"type":"array","minItems":4,"items":{"type":"array","minItems":2,"items":{"type":"number"}}}}},"bbox":{"type":"array","minItems":4,"items":{"type":"number"}}}}]}},"bbox":{"type":"array","minItems":4,"items":{"type":"number"}}}},{"title":"GeoJSON Feature","type":"object","required":["type","properties","geometry"],"properties":{"type":{"type":"string","enum":["Feature"]},"id":{"oneOf":[{"type":"number"},{"type":"string"}]},"properties":{"oneOf":[{"type":"null"},{"type":"object"}]},"geometry":{"oneOf":[{"type":"null"},{"title":"GeoJSON Point","type":"object","required":["type","coordinates"],"properties":{"type":{"type":"string","enum":["Point"]},"coordinates":{"type":"array","minItems":2,"items":{"type":"number"}},"bbox":{"type":"array","minItems":4,"items":{"type":"number"}}}},{"title":"GeoJSON LineString","type":"object","required":["type","coordinates"],"properties":{"type":{"type":"string","enum":["LineString"]},"coordinates":{"type":"array","minItems":2,"items":{"type":"array","minItems":2,"items":{"type":"number"}}},"bbox":{"type":"array","minItems":4,"items":{"type":"number"}}}},{"title":"GeoJSON Polygon","type":"object","required":["type","coordinates"],"properties":{"type":{"type":"string","enum":["Polygon"]},"coordinates":{"type":"array","items":{"type":"array","minItems":4,"items":{"type":"array","minItems":2,"items":{"type":"number"}}}},"bbox":{"type":"array","minItems":4,"items":{"type":"number"}}}},{"title":"GeoJSON MultiPoint","type":"object","required":["type","coordinates"],"properties":{"type":{"type":"string","enum":["MultiPoint"]},"coordinates":{"type":"array","items":{"type":"array","minItems":2,"items":{"type":"number"}}},"bbox":{"type":"array","minItems":4,"items":{"type":"number"}}}},{"title":"GeoJSON MultiLineString","type":"object","required":["type","coordinates"],"properties":{"type":{"type":"string","enum":["MultiLineString"]},"coordinates":{"type":"array","items":{"type":"array","minItems":2,"items":{"type":"array","minItems":2,"items":{"type":"number"}}}},"bbox":{"type":"array","minItems":4,"items":{"type":"number"}}}},{"title":"GeoJSON MultiPolygon","type":"object","required":["type","coordinates"],"properties":{"type":{"type":"string","enum":["MultiPolygon"]},"coordinates":{"type":"array","items":{"type":"array","items":{"type":"array","minItems":4,"items":{"type":"array","minItems":2,"items":{"type":"number"}}}}},"bbox":{"type":"array","minItems":4,"items":{"type":"number"}}}},{"title":"GeoJSON GeometryCollection","type":"object","required":["type","geometries"],"properties":{"type":{"type":"string","enum":["GeometryCollection"]},"geometries":{"type":"array","items":{"oneOf":[{"title":"GeoJSON Point","type":"object","required":["type","coordinates"],"properties":{"type":{"type":"string","enum":["Point"]},"coordinates":{"type":"array","minItems":2,"items":{"type":"number"}},"bbox":{"type":"array","minItems":4,"items":{"type":"number"}}}},{"title":"GeoJSON LineString","type":"object","required":["type","coordinates"],"properties":{"type":{"type":"string","enum":["LineString"]},"coordinates":{"type":"array","minItems":2,"items":{"type":"array","minItems":2,"items":{"type":"number"}}},"bbox":{"type":"array","minItems":4,"items":{"type":"number"}}}},{"title":"GeoJSON Polygon","type":"object","required":["type","coordinates"],"properties":{"type":{"type":"string","enum":["Polygon"]},"coordinates":{"type":"array","items":{"type":"array","minItems":4,"items":{"type":"array","minItems":2,"items":{"type":"number"}}}},"bbox":{"type":"array","minItems":4,"items":{"type":"number"}}}},{"title":"GeoJSON MultiPoint","type":"object","required":["type","coordinates"],"properties":{"type":{"type":"string","enum":["MultiPoint"]},"coordinates":{"type":"array","items":{"type":"array","minItems":2,"items":{"type":"number"}}},"bbox":{"type":"array","minItems":4,"items":{"type":"number"}}}},{"title":"GeoJSON MultiLineString","type":"object","required":["type","coordinates"],"properties":{"type":{"type":"string","enum":["MultiLineString"]},"coordinates":{"type":"array","items":{"type":"array","minItems":2,"items":{"type":"array","minItems":2,"items":{"type":"number"}}}},"bbox":{"type":"array","minItems":4,"items":{"type":"number"}}}},{"title":"GeoJSON MultiPolygon","type":"object","required":["type","coordinates"],"properties":{"type":{"type":"string","enum":["MultiPolygon"]},"coordinates":{"type":"array","items":{"type":"array","items":{"type":"array","minItems":4,"items":{"type":"array","minItems":2,"items":{"type":"number"}}}}},"bbox":{"type":"array","minItems":4,"items":{"type":"number"}}}}]}},"bbox":{"type":"array","minItems":4,"items":{"type":"number"}}}}]},"bbox":{"type":"array","minItems":4,"items":{"type":"number"}}}},{"title":"GeoJSON FeatureCollection","type":"object","required":["type","features"],"properties":{"type":{"type":"string","enum":["FeatureCollection"]},"features":{"type":"array","items":{"title":"GeoJSON Feature","type":"object","required":["type","properties","geometry"],"properties":{"type":{"type":"string","enum":["Feature"]},"id":{"oneOf":[{"type":"number"},{"type":"string"}]},"properties":{"oneOf":[{"type":"null"},{"type":"object"}]},"geometry":{"oneOf":[{"type":"null"},{"title":"GeoJSON Point","type":"object","required":["type","coordinates"],"properties":{"type":{"type":"string","enum":["Point"]},"coordinates":{"type":"array","minItems":2,"items":{"type":"number"}},"bbox":{"type":"array","minItems":4,"items":{"type":"number"}}}},{"title":"GeoJSON LineString","type":"object","required":["type","coordinates"],"properties":{"type":{"type":"string","enum":["LineString"]},"coordinates":{"type":"array","minItems":2,"items":{"type":"array","minItems":2,"items":{"type":"number"}}},"bbox":{"type":"array","minItems":4,"items":{"type":"number"}}}},{"title":"GeoJSON Polygon","type":"object","required":["type","coordinates"],"properties":{"type":{"type":"string","enum":["Polygon"]},"coordinates":{"type":"array","items":{"type":"array","minItems":4,"items":{"type":"array","minItems":2,"items":{"type":"number"}}}},"bbox":{"type":"array","minItems":4,"items":{"type":"number"}}}},{"title":"GeoJSON MultiPoint","type":"object","required":["type","coordinates"],"properties":{"type":{"type":"string","enum":["MultiPoint"]},"coordinates":{"type":"array","items":{"type":"array","minItems":2,"items":{"type":"number"}}},"bbox":{"type":"array","minItems":4,"items":{"type":"number"}}}},{"title":"GeoJSON MultiLineString","type":"object","required":["type","coordinates"],"properties":{"type":{"type":"string","enum":["MultiLineString"]},"coordinates":{"type":"array","items":{"type":"array","minItems":2,"items":{"type":"array","minItems":2,"items":{"type":"number"}}}},"bbox":{"type":"array","minItems":4,"items":{"type":"number"}}}},{"title":"GeoJSON MultiPolygon","type":"object","required":["type","coordinates"],"properties":{"type":{"type":"string","enum":["MultiPolygon"]},"coordinates":{"type":"array","items":{"type":"array","items":{"type":"array","minItems":4,"items":{"type":"array","minItems":2,"items":{"type":"number"}}}}},"bbox":{"type":"array","minItems":4,"items":{"type":"number"}}}},{"title":"GeoJSON GeometryCollection","type":"object","required":["type","geometries"],"properties":{"type":{"type":"string","enum":["GeometryCollection"]},"geometries":{"type":"array","items":{"oneOf":[{"title":"GeoJSON Point","type":"object","required":["type","coordinates"],"properties":{"type":{"type":"string","enum":["Point"]},"coordinates":{"type":"array","minItems":2,"items":{"type":"number"}},"bbox":{"type":"array","minItems":4,"items":{"type":"number"}}}},{"title":"GeoJSON LineString","type":"object","required":["type","coordinates"],"properties":{"type":{"type":"string","enum":["LineString"]},"coordinates":{"type":"array","minItems":2,"items":{"type":"array","minItems":2,"items":{"type":"number"}}},"bbox":{"type":"array","minItems":4,"items":{"type":"number"}}}},{"title":"GeoJSON Polygon","type":"object","required":["type","coordinates"],"properties":{"type":{"type":"string","enum":["Polygon"]},"coordinates":{"type":"array","items":{"type":"array","minItems":4,"items":{"type":"array","minItems":2,"items":{"type":"number"}}}},"bbox":{"type":"array","minItems":4,"items":{"type":"number"}}}},{"title":"GeoJSON MultiPoint","type":"object","required":["type","coordinates"],"properties":{"type":{"type":"string","enum":["MultiPoint"]},"coordinates":{"type":"array","items":{"type":"array","minItems":2,"items":{"type":"number"}}},"bbox":{"type":"array","minItems":4,"items":{"type":"number"}}}},{"title":"GeoJSON MultiLineString","type":"object","required":["type","coordinates"],"properties":{"type":{"type":"string","enum":["MultiLineString"]},"coordinates":{"type":"array","items":{"type":"array","minItems":2,"items":{"type":"array","minItems":2,"items":{"type":"number"}}}},"bbox":{"type":"array","minItems":4,"items":{"type":"number"}}}},{"title":"GeoJSON MultiPolygon","type":"object","required":["type","coordinates"],"properties":{"type":{"type":"string","enum":["MultiPolygon"]},"coordinates":{"type":"array","items":{"type":"array","items":{"type":"array","minItems":4,"items":{"type":"array","minItems":2,"items":{"type":"number"}}}}},"bbox":{"type":"array","minItems":4,"items":{"type":"number"}}}}]}},"bbox":{"type":"array","minItems":4,"items":{"type":"number"}}}}]},"bbox":{"type":"array","minItems":4,"items":{"type":"number"}}}}},"bbox":{"type":"array","minItems":4,"items":{"type":"number"}}}}]}');var ee=a.t(X,2);class te extends Y{constructor(e){var t,a;super(e);const r=new K.Ajv;this._validate=r.compile(ee),this._validatePath(null!==(a=null===(t=e.sourceData)||void 0===t?void 0:t.path)&&void 0!==a?a:"")}processSchema(e,t,a){""!==(null==e?void 0:e.path)&&this.removeFormEntry("data",e,t,a),super.processSchema(e,t,a),t.properties&&e&&delete t.properties.valid}onFormBlur(e,t){e.endsWith("_path")&&this._validatePath(t)}onFormSubmit(e){var t,a,r;(null===(r=null===(a=null===(t=this.state.extraErrors)||void 0===t?void 0:t.path)||void 0===a?void 0:a.__errors)||void 0===r?void 0:r.length)>=1?(0,i.showErrorMessage)("Invalid JSON file",this.state.extraErrors.path.__errors[0]):super.onFormSubmit(e)}async _validatePath(e){var t;const a=this.state.extraErrors;let r="",o=!1;if(e)try{const t=await this.props.model.readGeoJSON(e);o=this._validate(t),o||(r=`"${e}" is not a valid GeoJSON file`)}catch(t){r=`"${e}" is not a valid GeoJSON file: ${t}`}else r="Path is required";o?this.setState((e=>Object.assign(Object.assign({},e),{extraErrors:Object.assign(Object.assign({},a),{path:{__errors:[]}})}))):(a.path={__errors:[r]},null===(t=this._validate.errors)||void 0===t||t.reverse().forEach((e=>{a.path.__errors.push(e.message)})),this.setState((e=>Object.assign(Object.assign({},e),{extraErrors:a})))),this.props.formErrorSignal&&this.props.formErrorSignal.emit(!o)}}class ae extends Y{constructor(e){super(e),this.sourceFormChangedSignal=e.sourceFormChangedSignal}processSchema(e,t,a){if(super.processSchema(e,t,a),!t.properties.source)return;const r=this.props.model.getSourcesByType(this.props.sourceType);t.properties.source.enumNames=Object.values(r),t.properties.source.enum=Object.keys(r)}}class re extends ae{processSchema(e,t,a){super.processSchema(e,t,a),a.shadowColor={"ui:widget":"color"}}}class oe extends Y{constructor(){super(...arguments),this._urlParameters=[]}processSchema(e,t,a){if(super.processSchema(e,t,a),!t.properties||!e)return;const r=/\{([^}]+)\}/g,o=[];let n;for(;null!==(n=r.exec(e.url));)["max_zoom","min_zoom","x","y","z"].includes(n[1])||o.push(n[1]);if(this._urlParameters=o,0===o.length)return void this.removeFormEntry("urlParameters",e,t,a);const s={};t.properties.urlParameters={type:"object",required:this._urlParameters,properties:s};for(const e of this._urlParameters)s[e]="time"===e?{type:"string",format:"date"}:{type:"string"}}onFormBlur(e,t){super.onFormBlur(e,t),e.endsWith("_url")&&this.forceUpdate()}}class ne extends ae{constructor(e){super(e),this.sourceLayers=[],this.fetchSourceLayers(this.props.sourceData),this.sourceFormChangedSignal&&this.sourceFormChangedSignal.connect(((e,t)=>{"VectorTileSource"===this.props.sourceType&&this.fetchSourceLayers(this.currentFormData,t)})),e.model.clientStateChanged.connect((()=>{var t;if(!(null===(t=e.model.localState)||void 0===t?void 0:t.selected.value))return;const a=this.props.model.getLayer(Object.keys(e.model.localState.selected.value)[0]),r=this.props.model.getSource(null==a?void 0:a.parameters.source);if(!r||"VectorTileSource"!==r.type)return;const o=r.parameters;this.fetchSourceLayers(this.currentFormData,o)}))}onFormChange(e){if(super.onFormChange(e),this.currentSourceId===e.formData.source)return;const t=this.props.model.getSource(e.formData.source);t&&"VectorTileSource"===t.type&&this.fetchSourceLayers(this.currentFormData,t.parameters)}processSchema(e,t,a){this.removeFormEntry("color",e,t,a),this.removeFormEntry("symbologyState",e,t,a),super.processSchema(e,t,a),e&&0!==this.sourceLayers.length&&(e.sourceLayer&&this.sourceLayers.includes(e.sourceLayer)||(e.sourceLayer=this.sourceLayers[0]),t.properties.sourceLayer.enum=this.sourceLayers)}async fetchSourceLayers(e,t){if(e&&e.source){if(this.currentSourceId=e.source,!t){const a=this.props.model.getSource(e.source);if(!a||"VectorTileSource"!==a.type)return this.sourceLayers=[],void this.forceUpdate();t=a.parameters}try{this.sourceLayers=await V(t.url,t.urlParameters),this.forceUpdate()}catch(e){console.error(e)}}else this.currentSourceId="",this.sourceLayers=[],this.forceUpdate()}}class se extends ae{processSchema(e,t,a){this.removeFormEntry("color",e,t,a),this.removeFormEntry("symbologyState",e,t,a),super.processSchema(e,t,a)}}class ie extends Y{constructor(e){var t,a;super(e),this._validateUrls(null!==(a=null===(t=e.sourceData)||void 0===t?void 0:t.urls)&&void 0!==a?a:[])}onFormChange(e){var t;super.onFormChange(e),(null===(t=e.formData)||void 0===t?void 0:t.urls)&&this._validateUrls(e.formData.urls)}onFormSubmit(e){var t,a,r;(null===(r=null===(a=null===(t=this.state.extraErrors)||void 0===t?void 0:t.urls)||void 0===a?void 0:a.__errors)||void 0===r?void 0:r.length)>=1?(0,i.showErrorMessage)("Invalid URLs",this.state.extraErrors.urls.__errors[0]):super.onFormSubmit(e)}async _validateUrls(e){const t=this.state.extraErrors,a=[];let r=!0;if(e&&e.length>0)for(let t=0;t<e.length;t++){const{url:o,min:n,max:s}=e[t];o&&"string"==typeof o&&""!==o.trim()||(a.push(`URL at index ${t} is required and must be a valid string.`),r=!1),void 0!==n&&"number"==typeof n||(a.push(`Min value at index ${t} is required and must be a number.`),r=!1),void 0!==s&&"number"==typeof s||(a.push(`Max value at index ${t} is required and must be a number.`),r=!1),"number"==typeof n&&"number"==typeof s&&s<=n&&(a.push(`Max value at index ${t} must be greater than Min.`),r=!1)}else a.push("At least one valid URL with min/max values is required."),r=!1;r?this.setState((e=>Object.assign(Object.assign({},e),{extraErrors:Object.assign(Object.assign({},t),{urls:{__errors:[]}})}))):this.setState((e=>Object.assign(Object.assign({},e),{extraErrors:Object.assign(Object.assign({},t),{urls:{__errors:a}})}))),this.props.formErrorSignal&&this.props.formErrorSignal.emit(!r)}}function le(e){let t=ae;switch(e){case"VectorTileLayer":case"VectorLayer":t=ne;break;case"HillshadeLayer":t=re;break;case"WebGlLayer":t=se}return t}function ce(e){let t=Y;switch(e){case"GeoJSONSource":t=te;break;case"GeoTiffSource":t=ie;break;case"RasterSource":case"VectorTileSource":t=oe}return t}var de=function(e,t){var a={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(a[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(a[r[o]]=e[r[o]])}return a};class me extends S.Component{constructor(e){super(e),this.sourceFormChangedSignal=new H.Signal(this),this.filePath=e.context.path,this.jGISModel=e.context.model}render(){var e;const t=$.UUID.uuid4();let a;const r=le(this.props.layerType||"RasterLayer"),o=D(this.props.layerData||{});if(this.props.createLayer){if(!this.props.layerType)return void console.error("Cannot create a layer without specifying its type");if(a=D(this.props.formSchemaRegistry.getSchemas().get(this.props.layerType)),!a)return void console.error(`Cannot find schema for ${this.props.layerType}`);this.props.createSource&&(null===(e=a.properties)||void 0===e||delete e.source,o.source=t),a.required=["name",...a.required],a.properties=Object.assign({name:{type:"string",description:"The name of the layer"}},a.properties)}let n;const s=ce(this.props.sourceType||"RasterSource");if(this.props.sourceType){if(n=D(this.props.formSchemaRegistry.getSchemas().get(this.props.sourceType)),!n)return void console.error(`Cannot find schema for ${this.props.sourceType}`);this.props.createLayer||(n.required=["name",...n.required],n.properties=Object.assign({name:{type:"string",description:"The name of the source"}},n.properties))}const i=[];let l,c;return this.props.createLayer&&(l=new $.PromiseDelegate,i.push(l.promise)),this.props.createSource&&(c=new $.PromiseDelegate,i.push(c.promise)),Promise.all(i).then((async()=>{if(this.props.createSource){let e="";const a=await(null==c?void 0:c.promise),{name:r}=a,o=de(a,["name"]);e=r||(await(null==l?void 0:l.promise)).name+" Source";const n={type:this.props.sourceType||"RasterSource",name:e,parameters:o};this.jGISModel.sharedModel.addSource(t,n)}if(this.props.createLayer){let e="";const t=await(null==l?void 0:l.promise),{name:a}=t,r=de(t,["name"]);e=a||(await(null==l?void 0:l.promise)).name+" Layer";const o={type:this.props.layerType||"RasterLayer",parameters:r,visible:!0,name:e};this.jGISModel.addLayer($.UUID.uuid4(),o)}})),S.createElement("div",null,this.props.createSource&&S.createElement("div",null,S.createElement("h3",null,"Source Properties"),S.createElement(s,{formContext:"create",model:this.jGISModel,filePath:`${this.filePath}::panel`,schema:n,sourceData:this.props.sourceData,syncData:e=>{null==c||c.resolve(e)},ok:this.props.ok,cancel:this.props.cancel,formChangedSignal:this.sourceFormChangedSignal,formErrorSignal:this.props.formErrorSignal})),this.props.createLayer&&S.createElement("div",null,S.createElement("h3",null,"Layer Properties"),S.createElement(r,{formContext:"create",sourceType:this.props.sourceType,model:this.jGISModel,filePath:`${this.filePath}::panel`,schema:a,sourceData:o,syncData:e=>{null==l||l.resolve(e)},ok:this.props.ok,cancel:this.props.cancel,sourceFormChangedSignal:this.sourceFormChangedSignal,formErrorSignal:this.props.formErrorSignal})))}}const ue=e=>{var t;const[a,r]=S.useState(!1),o=S.useRef(),n=S.useRef();return Promise.all([e.okSignalPromise.promise,null===(t=e.formErrorSignalPromise)||void 0===t?void 0:t.promise]).then((([e,t])=>{o.current=e,n.current=t,r(!0)})),a&&S.createElement(me,{context:e.context,formSchemaRegistry:e.formSchemaRegistry,createLayer:e.createLayer,createSource:e.createSource,layerType:e.layerType,sourceType:e.sourceType,sourceData:e.sourceData,layerData:e.layerData,ok:o.current,cancel:e.cancel,formErrorSignal:n.current})};class pe extends i.Dialog{constructor(e){const t=new $.PromiseDelegate,a=new $.PromiseDelegate,r=S.createElement("div",{style:{overflow:"auto"}},S.createElement(ue,{context:e.context,formSchemaRegistry:e.formSchemaRegistry,createLayer:e.createLayer,createSource:e.createSource,layerType:e.layerType,sourceType:e.sourceType,sourceData:e.sourceData,layerData:e.layerData,okSignalPromise:t,cancel:()=>{this.resolve(0)},formErrorSignalPromise:a}));super({title:e.title,body:r,buttons:[i.Dialog.cancelButton(),i.Dialog.okButton()]}),this.okSignal=new H.Signal(this);const o=new H.Signal(this);o.connect(((e,t)=>{t||this.node.querySelector(":invalid")?this.node.getElementsByClassName("jp-mod-accept")[0].setAttribute("disabled",""):this.node.getElementsByClassName("jp-mod-accept")[0].removeAttribute("disabled")})),t.resolve(this.okSignal),a.resolve(o),this.addClass("jGIS-layer-CreationFormDialog")}resolve(e){0===e&&super.resolve(e),1===e&&this.okSignal.emit(1)}}var ye=a(68326),he=a(90560),ge=a(62778);const ve=({context:e,registry:t,formSchemaRegistry:a,okSignalPromise:r,cancel:o})=>{const[n,s]=(0,S.useState)(""),[i,l]=(0,S.useState)([]),[c,d]=(0,S.useState)(),[m,u]=(0,S.useState)(!1),[p,y]=(0,S.useState)(t),h=[...new Set(t.map((e=>e.source.provider)))],g=p.filter((e=>e.name.toLowerCase().includes(n)));(0,S.useEffect)((()=>(e.model.sharedModel.layersChanged.connect(v),()=>{e.model.sharedModel.layersChanged.disconnect(v)})),[]);const v=(t,a)=>{l(Object.values(e.model.sharedModel.layers).map((e=>e.name.split(" ")[0])))},f=e=>{const a=e.target,r=a.innerText===(null==c?void 0:c.innerText);a.classList.toggle("jGIS-layer-browser-category-selected"),null==c||c.classList.remove("jGIS-layer-browser-category-selected");const o=r?t:t.filter((e=>{var t;return null===(t=e.source.provider)||void 0===t?void 0:t.includes(a.innerText)}));y(o),s(""),d(r?null:a)};return m?(r.promise.then((e=>{e.disconnect(o,void 0)})),w().createElement("div",{className:"jGIS-customlayer-form"},w().createElement(ue,{context:e,formSchemaRegistry:a,createLayer:!0,createSource:!0,layerType:"RasterLayer",sourceType:"RasterSource",layerData:{name:"Custom Raster"},sourceData:{url:"https://tile.openstreetmap.org/{z}/{x}/{y}.png",maxZoom:24,minZoom:0,attribution:"(C) OpenStreetMap contributors"},okSignalPromise:r,cancel:o}))):(r.promise.then((e=>{e.connect(o,void 0)})),w().createElement("div",{className:"jGIS-layer-browser-container"},w().createElement("div",{className:"jGIS-layer-browser-header-container"},w().createElement("div",{className:"jGIS-layer-browser-header"},w().createElement("h2",{className:"jGIS-layer-browser-header-text"},"Layer Browser"),w().createElement("div",{className:"jGIS-layer-browser-header-search-container"},w().createElement("input",{type:"text",placeholder:"Search...",value:n,onChange:e=>{s(e.target.value.toLowerCase())},className:"jGIS-layer-browser-header-search"}))),w().createElement("div",{className:"jGIS-layer-browser-categories"},h.map((e=>w().createElement("span",{className:"jGIS-layer-browser-category",onClick:f},e))))),w().createElement("div",{className:"jGIS-layer-browser-grid"},w().createElement("div",{className:"jGIS-layer-browser-tile jGIS-layer-browser-custom-tile",onClick:()=>{u(!0)}},w().createElement("div",{className:"jGIS-layer-browser-tile-img-container"},w().createElement("img",{className:"jGIS-layer-browser-img",src:ge}),w().createElement("div",{className:"jGIS-layer-browser-icon"},w().createElement(he.g,{style:{height:20},icon:ye.QLR}))),w().createElement("div",{className:"jGIS-layer-browser-text-container"},w().createElement("div",{className:"jGIS-layer-browser-text-info"},w().createElement("h3",{className:"jGIS-layer-browser-text-header jGIS-layer-browser-text-general"},"Custom Raster Layer")),w().createElement("p",{className:"jGIS-layer-browser-text-general jGIS-layer-browser-text-source"},"Create A Custom Raster Layer"))),g.map((t=>w().createElement("div",{className:"jGIS-layer-browser-tile",onClick:()=>(t=>{const a=$.UUID.uuid4(),r={type:"RasterSource",name:t.name,parameters:t.source},o={type:"RasterLayer",parameters:{source:a},visible:!0,name:t.name+" Layer"};e.model.sharedModel.addSource(a,r),e.model.addLayer($.UUID.uuid4(),o)})(t)},w().createElement("div",{className:"jGIS-layer-browser-tile-img-container"},w().createElement("img",{className:"jGIS-layer-browser-img",src:t.thumbnail}),-1===i.indexOf(t.name)?w().createElement("div",{className:"jGIS-layer-browser-icon"},w().createElement(he.g,{style:{height:20},icon:ye.QLR})):w().createElement("div",{className:"jGIS-layer-browser-icon jGIS-layer-browser-added"},w().createElement(he.g,{style:{height:20},icon:ye.e68}),w().createElement("p",{className:"jGIS-layer-browser-text-general"},"Added!"))),w().createElement("div",{className:"jGIS-layer-browser-text-container"},w().createElement("div",{className:"jGIS-layer-browser-text-info"},w().createElement("h3",{className:"jGIS-layer-browser-text-header jGIS-layer-browser-text-general"},t.name)),w().createElement("p",{className:"jGIS-layer-browser-text-general jGIS-layer-browser-text-source"},t.source.attribution))))))))};class fe extends i.Dialog{constructor(e){let t;t=()=>{this.resolve(0)};const a=new $.PromiseDelegate;super({body:w().createElement(ve,{context:e.context,registry:e.registry,formSchemaRegistry:e.formSchemaRegistry,okSignalPromise:a,cancel:t}),buttons:[i.Dialog.cancelButton(),i.Dialog.okButton()]}),this.id="jupytergis::layerBrowser",this.okSignal=new H.Signal(this),a.resolve(this.okSignal),this.addClass("jGIS-layerbrowser-FormDialog")}resolve(e){0===e&&super.resolve(e),1===e&&this.okSignal.emit(1)}}var be,Se;!function(e){e.calculateQuantileBreaks=(e,t)=>{const a=[...e].sort(((e,t)=>e-t)),r=[];if(!a)return[];const o=a.length;let n=o>0?a[0]:0;for(let e=1;e<t;e++){if(o>1){const r=e/t*(o-1),s=Math.floor(r),i=r-s;n=(1-i)*a[s]+i*a[s+1]}r.push(n)}return r.push(a[o-1]),r},e.calculateEqualIntervalBreaks=(e,t)=>{const a=Math.min(...e),r=Math.max(...e),o=[],n=(r-a)/t;let s=a;for(let e=0;e<t;e++)s+=n,o.push(s);return o[t-1]=r,o},e.calculateJenksBreaks=(e,t)=>{const a=Math.max(...e);if(0===e.length)return[];if(t<=1)return[a];if(t>=e.length)return e;const r=[...e].sort(((e,t)=>e-t)),o=r.length,n=Array.from({length:o+1},(()=>Array(t+1).fill(0))),s=Array.from({length:o+1},(()=>Array(t+1).fill(Number.MAX_VALUE)));for(let e=1;e<=t;e++){n[0][e]=1,n[1][e]=1,s[0][e]=0;for(let t=2;t<=o;t++)s[t][e]=Number.MAX_VALUE}for(let e=2;e<=o;e++){let a=0,o=0,i=0,l=0;for(let c=1;c<=e;c++){const d=e-c+1,m=r[d-1];o+=m*m,a+=m,i++,l=o-a*a/i;const u=d-1;if(0!==u)for(let a=2;a<=t;a++)s[e][a]>=l+s[u][a-1]&&(n[e][a]=u,s[e][a]=l+s[u][a-1])}n[e][1]=1,s[e][1]=l}const i=Array(t);i[t-1]=r[o-1];for(let e=t,a=o;e>=2;e--){const t=n[a][e]-1;i[e-2]=r[t],a=n[a][e]-1}return i},e.calculatePrettyBreaks=(e,t)=>{const a=Math.min(...e),r=Math.max(...e),o=[];if(t<1)return o.push(r),o;const n=Math.floor(t/3),s=t;let i,l=!1;const c=r-a;let d;i=Math.max(Math.abs(a),Math.abs(r)),d=1.4,l=c<1.4*i*Math.max(1,s)*1e-7*3,l?(i>10&&(i=9+i/10,i*=.75),n>1&&(i/=n)):(i=c,s>1&&(i/=s)),i<20*1e-7&&(i=20*1e-7);const m=Math.pow(10,Math.floor(Math.log10(i)));let u=m;2*m-i<1.5*(i-u)&&(u=2*m,5*m-i<2.75*(i-u)&&(u=5*m,10*m-i<1.5*(i-u)&&(u=10*m)));let p=Math.floor(a/u+1e-7),y=Math.ceil(r/u-1e-7);for(;p*u>a+1e-7*u;)p-=1;for(;y*u<r-1e-7*u;)y+=1;let h=Math.floor(.5+y-p);h<n&&(h=n-h,p>=0?(y+=h/2,p=p-h/2+h%2):(p-=h/2,y=y+h/2+h%2));const g=p*u,v=y-p;for(let e=1;e<v+1;e++)o.push(g+e*u);if(0===o.length)return o;if(o[0]<a&&(o[0]=a),o[o.length-1]>r&&(o[o.length-1]=r),a<0&&r>0){const e=o.map((e=>e-0));let t=0;for(let a=1;a<o.length;a++)Math.abs(e[a])<Math.abs(e[t])&&(t=a);o[t]=0}return o},e.calculateLogarithmicBreaks=(t,a)=>{const r=Math.min(...t),o=Math.max(...t);let n=Number.MAX_VALUE,s=[];n=r;const i=Math.log10(n);let l=Math.floor(i);const c=Math.ceil(Math.log10(o));let d=e.calculatePrettyBreaks([l,c],a);for(;d.length>0&&d[0]<i;)l+=1,d=e.calculatePrettyBreaks([l,c],a);s=d;for(let e=0;e<s.length;e++)s[e]=Math.pow(10,s[e]);return s}}(be||(be={})),function(e){e.classifyQuantileBreaks=async(e,t,a,r)=>{const o=[],i="discrete"===r,l=new n.A,c=await(0,s.uz)(a),d=await c.getImage(),m=(await d.readRasters({pool:l}))[t-1].filter((e=>0!==e)).sort(((e,t)=>e-t));if(l.destroy(),!m)return[];let u,p,y;i?(p=m.length/e,u=0,y=0):(p=m.length/(e-1),o.push(1),u=1,y=1);for(let e=y;e<m.length;e++)u+1<p?u++:(o.push(m[e]),u=0);return o.length!==e&&o.push(65535),o},e.classifyContinuousBreaks=(e,t,a,r)=>{const o=t,n=a;if(o>n)return[];const s=[],i=e;if("discrete"===r){const e=(n-o)*(i-1)/i;for(let t=1;t<i;t++){const a=t/i;s.push(o+a*e)}s.push(n)}else for(let e=0;e<=i;e++){if(26===e)continue;const t=e/i;s.push(o+t*(n-o))}return s},e.classifyEqualIntervalBreaks=(e,t,a,r)=>{const o=t,n=a;if(o>n)return[];const s=[];if("discrete"===r){const t=(n-o)/e;for(let a=1;a<e;a++)s.push(o+a*t);s.push(n)}else{const t=(n-o)/(e-1);for(let a=0;a<e;a++)s.push(o+a*t)}return s}}(Se||(Se={}));class we{constructor(){this.stateDb=null}static getInstance(){return we.instance||(we.instance=new we),we.instance}initialize(e){null===this.stateDb?this.stateDb=e:console.warn("stateDb is already initialized.")}getStateDb(){return this.stateDb}}const _e=({index:e,bandRow:t,bandRows:a,setSelectedBand:r,setBandRows:o})=>{const[n,s]=(0,S.useState)(t.stats.minimum),[i,l]=(0,S.useState)(t.stats.maximum),c=()=>{const t=[...a];t[e].stats.minimum=n,t[e].stats.maximum=i,o(t)};return w().createElement(w().Fragment,null,w().createElement("div",{className:"jp-gis-symbology-row"},w().createElement("label",{htmlFor:`band-select-${e}`},"Band:"),w().createElement("div",{className:"jp-select-wrapper"},w().createElement("select",{name:`band-select-${e}`,onChange:e=>r(+e.target.value),className:"jp-mod-styled"},a.map(((e,a)=>w().createElement("option",{key:a,value:e.band,selected:e.band===t.band,className:"jp-mod-styled"},`Band ${e.band} (${e.colorInterpretation})`)))))),w().createElement("div",{className:"jp-gis-symbology-row",style:{gap:"0.5rem"}},w().createElement("div",{style:{display:"flex",justifyContent:"space-between",width:"50%"}},w().createElement("label",{htmlFor:"band-min",style:{alignSelf:"center"}},"Min"),w().createElement("input",{type:"number",className:"jp-mod-styled",style:{marginRight:15},value:n,onChange:e=>{s(+e.target.value),c()}})),w().createElement("div",{style:{display:"flex",justifyContent:"space-between",width:"50%",paddingRight:"2px"}},w().createElement("label",{htmlFor:"band-max",style:{alignSelf:"center"}},"Max"),w().createElement("input",{type:"number",className:"jp-mod-styled",value:i,onChange:e=>{l(+e.target.value),c()},onBlur:c}))))};var Ce=a(54645),je=a.n(Ce);const Ie=({index:e,colorMap:t,onClick:a})=>((0,S.useEffect)((()=>{const a=document.getElementById(`cv-${e}`);if(!a)return;const r=a.getContext("2d");if(r)for(let e=0;e<=255;e++){r.beginPath();const a=t.colors[e];r.fillStyle=a,r.fillRect(2*e,0,2,30)}}),[]),w().createElement("div",{key:t.name,onClick:()=>a(t.name),className:"jp-gis-color-ramp-entry"},w().createElement("span",{className:"jp-gis-color-label"},t.name),w().createElement("canvas",{id:`cv-${e}`,height:30,className:"jp-gis-color-canvas"}))),xe=({selectedRamp:e,setSelected:t})=>{const a=["jet","hot","cool","spring","summer","autumn","winter","bone","copper","greys","YiGnBu","greens","YiOrRd","bluered","RdBu","rainbow","portland","blackbody","earth","electric","viridis","inferno","magma","plasma","warm","bathymetry","cdom","chlorophyll","density","freesurface-blue","freesurface-red","oxygen","par","phase","salinity","temperature","turbidity","velocity-blue","velocity-green"],r=(0,S.useRef)(null),[o,n]=(0,S.useState)(!1),[s,i]=(0,S.useState)([]);(0,S.useEffect)((()=>{const e=[];a.forEach((t=>{const a={name:t,colors:je()({colormap:t,nshades:255,format:"rgbaString"})};e.push(a),i(e)}))}),[]),(0,S.useEffect)((()=>{s.length>0&&m(e)}),[e]);const c=e=>{t(e),n(!1),m(e)},d=e=>{r.current&&(r.current.contains(e.target)||n(!1))},m=e=>{const t=document.getElementById("cv");if(!t)return;t.style.visibility="hidden";const a=t.getContext("2d");if(!a)return;const r=s.filter((t=>t.name===e));for(let e=0;e<=255;e++){a.beginPath();const t=r[0].colors[e];a.fillStyle=t,a.fillRect(2*e,0,2,50)}t.style.visibility="initial"};return(0,S.useEffect)((()=>(document.addEventListener("mousedown",d),()=>{document.removeEventListener("mousedown",d)})),[]),w().createElement("div",{ref:r,className:"jp-gis-canvas-button-wrapper"},w().createElement(l.Button,{id:"jp-gis-canvas-button",onClick:()=>{n(!o)},className:"jp-Dialog-button jp-gis-canvas-button"},w().createElement("canvas",{id:"cv",className:"jp-gis-color-canvas-display",height:"30"})),w().createElement("div",{className:"jp-gis-color-ramp-dropdown "+(o?"jp-gis-open":"")},s.map(((e,t)=>w().createElement(Ie,{index:t,colorMap:e,onClick:c})))))},Ee=({numberOfShades:e,setNumberOfShades:t,selectedMode:a,setSelectedMode:r,modeOptions:o})=>w().createElement("div",{className:"jp-gis-symbology-row"},w().createElement("div",{className:"jp-gis-color-ramp-div"},w().createElement("label",{htmlFor:"class-number-input"},"Classes:"),w().createElement("input",{className:"jp-mod-styled",name:"class-number-input",type:"number",value:"continuous"===a?52:e,onChange:e=>t(e.target.value),disabled:"continuous"===a})),w().createElement("div",{className:"jp-gis-color-ramp-div"},w().createElement("label",{htmlFor:"mode-select"},"Mode:"),w().createElement("select",{name:"mode-select",onChange:e=>r(e.target.value)},o.map((e=>w().createElement("option",{className:"jp-mod-styled",value:e,selected:a===e},e)))))),Me=({layerParams:e,modeOptions:t,classifyFunc:a,showModeRow:r})=>{const[o,n]=(0,S.useState)(""),[s,i]=(0,S.useState)(""),[c,d]=(0,S.useState)(""),[m,u]=(0,S.useState)(!1);(0,S.useEffect)((()=>{p()}),[]);const p=async()=>{let t,a,r;e.symbologyState&&(t=e.symbologyState.nClasses,a=e.symbologyState.mode,r=e.symbologyState.colorRamp),d(t||"9"),i(a||"equal interval"),n(r||"cool")};return w().createElement("div",{className:"jp-gis-color-ramp-container"},w().createElement("div",{className:"jp-gis-symbology-row"},w().createElement("label",{htmlFor:"color-ramp-select"},"Color Ramp:"),w().createElement(xe,{selectedRamp:o,setSelected:n})),r&&w().createElement(Ee,{modeOptions:t,numberOfShades:c,setNumberOfShades:d,selectedMode:s,setSelectedMode:i}),m?w().createElement(he.g,{icon:ye.z1G,className:"jp-gis-loading-spinner"}):w().createElement(l.Button,{className:"jp-Dialog-button jp-mod-accept jp-mod-styled",onClick:()=>a(s,c,o,u)},"Classify"))},ke=({index:e,value:t,outputValue:a,stopRows:r,setStopRows:o,deleteRow:n,useNumber:s})=>{const i=(0,S.useRef)(null);(0,S.useEffect)((()=>{var e;i.current===document.activeElement&&(null===(e=i.current)||void 0===e||e.focus())}),[r]);const c=t=>{const a=[...r];a[e].output=s?+t.target.value:(e=>{const t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return t?[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16),1]:(console.warn("Unable to parse hex value, defaulting to black"),[parseInt("0",16),parseInt("0",16),parseInt("0",16)])})(t.target.value),o(a)};return w().createElement("div",{className:"jp-gis-color-row"},w().createElement("input",{id:`jp-gis-color-value-${e}`,type:"number",value:t,onChange:t=>{const a=[...r];a[e].stop=+t.target.value,o(a)},onBlur:()=>{const e=[...r];e.sort(((e,t)=>e.stop<t.stop?-1:e.stop>t.stop?1:0)),o(e)},className:"jp-mod-styled jp-gis-color-row-value-input"}),s?w().createElement("input",{type:"number",ref:i,value:a,onChange:c,className:"jp-mod-styled jp-gis-color-row-output-input"}):w().createElement("input",{id:`jp-gis-color-color-${e}`,ref:i,value:(e=>{if(Array.isArray(e))return"#"+e.slice(0,-1).map((e=>e.toString(16).padStart(2,"0"))).join("")})(a),type:"color",onChange:c,className:"jp-mod-styled jp-gis-color-row-output-input"}),w().createElement(l.Button,{id:`jp-gis-remove-color-${e}`,className:"jp-Button jp-gis-filter-icon"},w().createElement(he.g,{icon:ye.yLS,onClick:n})))};var Oe,Le;function Ge(e){return S.createElement("div",{className:"jGIS-Spinner",style:{display:e.loading?"flex":"none"}},S.createElement("div",{className:"jGIS-SpinnerContent"}))}!function(e){e.buildColorInfo=e=>{var t;if(!(null===(t=e.parameters)||void 0===t?void 0:t.color))return[];const a=e.parameters.color;if("string"==typeof a)return[];const r="circle"===e.parameters.type?"circle-":"";if(!a[`${r}fill-color`])return[];const o=[];switch(a[`${r}fill-color`][0]){case"interpolate":for(let e=3;e<a[`${r}fill-color`].length;e+=2){const t={stop:a[`${r}fill-color`][e],output:a[`${r}fill-color`][e+1]};o.push(t)}break;case"case":for(let e=1;e<a[`${r}fill-color`].length-1;e+=2){const t={stop:a[`${r}fill-color`][e][2],output:a[`${r}fill-color`][e+1]};o.push(t)}}return o},e.buildRadiusInfo=e=>{var t;if(!(null===(t=e.parameters)||void 0===t?void 0:t.color))return[];const a=e.parameters.color;if("string"==typeof a)return[];const r=[];for(let e=3;e<a["circle-radius"].length;e+=2){const t={stop:a["circle-radius"][e],output:a["circle-radius"][e+1]};r.push(t)}return r}}(Oe||(Oe={})),function(e){e.getValueColorPairs=(e,t,a)=>{let r=je()({colormap:t,nshades:a>9?a:9,format:"rgba"});const o=[];if(a<9){const t=Math.floor(a/2),o=r.slice(0,t),n=r.slice(r.length-(e.length-o.length));r=o.concat(n)}for(let t=0;t<a;t++)o.push({stop:e[t],output:r[t]});return o}}(Le||(Le={}));const Ne=({context:e,okSignalPromise:t,cancel:a,layerId:r})=>{const o=(0,S.useRef)(),n=(0,S.useRef)([]),s=(0,S.useRef)(),i=(0,S.useRef)(),c=(0,S.useRef)(),d=(0,S.useRef)(),[m,u]=(0,S.useState)(),[p,y]=(0,S.useState)(1),[h,g]=(0,S.useState)([]),[v,f]=(0,S.useState)([]),[b,_]=(0,S.useState)("linear"),[C,j]=(0,S.useState)();if(!r)return;const I=e.model.getLayer(r);if(!(null==I?void 0:I.parameters))return;const x=we.getInstance().getStateDb();(0,S.useEffect)((()=>(E(),t.promise.then((e=>{e.connect(O)})),()=>{t.promise.then((e=>{e.disconnect(O,void 0)}))})),[]),(0,S.useEffect)((()=>{c.current=m,M()}),[m]),(0,S.useEffect)((()=>{n.current=v,k()}),[v]),(0,S.useEffect)((()=>{o.current=h,s.current=b,i.current=C,d.current=p,c.current=m}),[h,b,C,p,m]);const E=async()=>{var e,t,a,o;const n=await(null==x?void 0:x.fetch(`jupytergis:${r}`));u(n);const s=I.parameters,i=null!==(t=null===(e=s.symbologyState)||void 0===e?void 0:e.band)&&void 0!==t?t:1,l=null!==(o=null===(a=s.symbologyState)||void 0===a?void 0:a.interpolation)&&void 0!==o?o:"linear";y(i),_(l)},M=async()=>{var t,a;const r=[],o=e.model.getSource(null===(t=null==I?void 0:I.parameters)||void 0===t?void 0:t.source),n=null===(a=null==o?void 0:o.parameters)||void 0===a?void 0:a.urls[0];if(!(null==n?void 0:n.url))return;const s=await(async e=>await q(e))(n),{file:i,metadata:l,sourceUrl:c}=Object.assign({},s);i&&l&&c===n.url&&(l.bands.forEach((e=>{var t,a;r.push({band:e.band,colorInterpretation:e.colorInterpretation,stats:{minimum:null!==(t=n.min)&&void 0!==t?t:e.minimum,maximum:null!==(a=n.max)&&void 0!==a?a:e.maximum,mean:e.mean,stdDev:e.stdDev},metadata:e.metadata,histogram:e.histogram})})),f(r))},k=()=>{var e;if(!(null===(e=I.parameters)||void 0===e?void 0:e.color)||!m)return;const t=I.parameters.color;if("string"==typeof t)return;const a="quantile"===m.selectedMode,r=[];switch(t[0]){case"interpolate":for(let e=5;e<t.length;e+=2){const o={stop:L(t[e],a),output:t[e+1]};r.push(o)}break;case"case":for(let e=3;e<t.length-1;e+=2){const o={stop:L(t[e][2],a),output:t[e+1]};r.push(o)}}g(r)},O=()=>{var t,l,c,m,u,y,h,g;const v=n.current[p-1];if(!v)return;const f=null===(t=I.parameters)||void 0===t?void 0:t.source,b=e.model.getSource(f);if(!b||!b.parameters)return;const S="quantile"===(null===(l=i.current)||void 0===l?void 0:l.selectedMode),w=b.parameters.urls[0];if(w.min=v.stats.minimum,w.max=v.stats.maximum,b.parameters.urls[0]=w,e.model.sharedModel.updateSource(f,b),!I.parameters)return;let _=[];switch(s.current){case"linear":_=["interpolate",["linear"]],_.push(["band",p]),_.push(0,[0,0,0,0]),null===(c=o.current)||void 0===c||c.map((e=>{_.push(G(e.stop,S)),_.push(e.output)}));break;case"discrete":_=["case"],_.push(["==",["band",p],0]),_.push([0,0,0,0]),null===(m=o.current)||void 0===m||m.map((e=>{_.push(["<=",["band",p],G(e.stop,S)]),_.push(e.output)})),_.push([0,0,0,0]);break;case"exact":_=["case"],_.push(["==",["band",p],0]),_.push([0,0,0,0]),null===(u=o.current)||void 0===u||u.map((e=>{_.push(["==",["band",p],G(e.stop,S)]),_.push(e.output)})),_.push([0,0,0,0])}const C={renderType:"Singleband Pseudocolor",band:d.current,interpolation:s.current,colorRamp:null===(y=i.current)||void 0===y?void 0:y.selectedRamp,nClasses:null===(h=i.current)||void 0===h?void 0:h.numberOfShades,mode:null===(g=i.current)||void 0===g?void 0:g.selectedMode};I.parameters.symbologyState=C,I.parameters.color=_,e.model.sharedModel.updateLayer(r,I),a()},L=(e,t)=>{const a=v[p-1];if(!a)return e;const r=t?1:a.stats.minimum;return e*((t?65535:a.stats.maximum)-r)/1+r},G=(e,t)=>{const a=n.current[p-1],r=t?1:a.stats.minimum;return(1*e-1*r)/((t?65535:a.stats.maximum)-r)};return w().createElement("div",{className:"jp-gis-layer-symbology-container"},w().createElement("div",{className:"jp-gis-band-container"},0===v.length?w().createElement(Ge,{loading:0===v.length}):w().createElement(_e,{index:p-1,bandRow:v[p-1],bandRows:v,setSelectedBand:y,setBandRows:f})),w().createElement("div",{className:"jp-gis-symbology-row"},w().createElement("label",{htmlFor:"function-select"},"Interpolation:"),w().createElement("div",{className:"jp-select-wrapper"},w().createElement("select",{name:"function-select",id:"function-select",className:"jp-mod-styled",value:b,style:{textTransform:"capitalize"},onChange:e=>{_(e.target.value)}},["discrete","linear","exact"].map(((e,t)=>w().createElement("option",{key:e,value:e,style:{textTransform:"capitalize"}},e)))))),v.length>0&&w().createElement(Me,{layerParams:I.parameters,modeOptions:["continuous","equal interval","quantile"],classifyFunc:async(t,a,r,o)=>{var n,s;j({selectedRamp:r,numberOfShades:a,selectedMode:t});let i=[];const l=v[p-1],c=e.model.getSource(null===(n=null==I?void 0:I.parameters)||void 0===n?void 0:n.source),d=null===(s=null==c?void 0:c.parameters)||void 0===s?void 0:s.urls[0],m="continuous"===t?52:+a;switch(o(!0),t){case"quantile":i=await Se.classifyQuantileBreaks(m,p,d.url,b);break;case"continuous":i=Se.classifyContinuousBreaks(m,l.stats.minimum,l.stats.maximum,b);break;case"equal interval":i=Se.classifyEqualIntervalBreaks(m,l.stats.minimum,l.stats.maximum,b);break;default:return void console.warn("No mode selected")}o(!1);const u=Le.getValueColorPairs(i,r,m);g(u)},showModeRow:!0}),w().createElement("div",{className:"jp-gis-stop-container"},w().createElement("div",{className:"jp-gis-stop-labels",style:{display:"flex",gap:6}},w().createElement("span",{style:{flex:"0 0 18%"}},"Value"," ","discrete"===b?"<=":"exact"===b?"=":""),w().createElement("span",null,"Output Value")),h.map(((e,t)=>w().createElement(ke,{key:`${t}-${e.output}`,index:t,value:e.stop,outputValue:e.output,stopRows:h,setStopRows:g,deleteRow:()=>(e=>{const t=[...h];t.splice(e,1),g(t)})(t)})))),w().createElement("div",{className:"jp-gis-symbology-button-container"},w().createElement(l.Button,{className:"jp-Dialog-button jp-mod-accept jp-mod-styled",onClick:()=>{g([{stop:0,output:[0,0,0,1]},...h])}},"Add Stop")))},Ae=({context:e,state:t,okSignalPromise:a,cancel:r,layerId:o})=>{const[n,s]=(0,S.useState)("Singleband Pseudocolor"),[i,l]=(0,S.useState)(null);let c;return(0,S.useEffect)((()=>{n&&(c="Singleband Pseudocolor"===n?w().createElement(Ne,{context:e,state:t,okSignalPromise:a,cancel:r,layerId:o}):w().createElement("div",null,"Render Type Not Implemented (yet)"),l(c))}),[n]),w().createElement(w().Fragment,null,w().createElement("div",{className:"jp-gis-symbology-row"},w().createElement("label",{htmlFor:"render-type-select"},"Render Type:"),w().createElement("select",{name:"render-type-select",id:"render-type-select",value:n,onChange:e=>{s(e.target.value)}},["Singleband Pseudocolor","Multiband Color"].map(((e,t)=>w().createElement("option",{key:e,value:e},e))))),i)},Pe=({featureProperties:e,selectedValue:t,setSelectedValue:a})=>w().createElement("div",{className:"jp-gis-symbology-row"},w().createElement("label",{htmlFor:"vector-value-select"},"Value:"),w().createElement("select",{name:"vector-value-select",onChange:e=>a(e.target.value),className:"jp-mod-styled"},Object.keys(e).map(((e,a)=>w().createElement("option",{key:a,value:e,selected:e===t,className:"jp-mod-styled"},e))))),Te=({selectedMethod:e,stopRows:t,setStopRows:a})=>w().createElement(w().Fragment,null,w().createElement("div",{className:"jp-gis-stop-container"},w().createElement("div",{className:"jp-gis-stop-labels",style:{display:"flex",gap:6}},w().createElement("span",{style:{flex:"0 0 18%"}},"Value"),w().createElement("span",null,"Output Value")),t.map(((r,o)=>w().createElement(ke,{key:`${o}-${r.output}`,index:o,value:r.stop,outputValue:r.output,stopRows:t,setStopRows:a,deleteRow:()=>(e=>{const r=[...t];r.splice(e,1),a(r)})(o),useNumber:"radius"===e})))),w().createElement("div",{className:"jp-gis-symbology-button-container"},w().createElement(l.Button,{className:"jp-Dialog-button jp-mod-accept jp-mod-styled",onClick:()=>{a([{stop:0,output:[0,0,0,1]},...t])}},"Add Stop"))),Re=({layerId:e,model:t})=>{const[a,r]=(0,S.useState)({}),[o,n]=(0,S.useState)(!0),[s,i]=(0,S.useState)(void 0);return(0,S.useEffect)((()=>{(async()=>{var a,o;if(e)try{const s=t.getLayer(e),i=t.getSource(null===(a=null==s?void 0:s.parameters)||void 0===a?void 0:a.source);if(!i)throw new Error("Source not found");const l=await t.readGeoJSON(null===(o=i.parameters)||void 0===o?void 0:o.path);if(!l)throw new Error("Failed to read GeoJSON data");const c={};l.features.forEach((e=>{e.properties&&Object.entries(e.properties).forEach((([e,t])=>{"string"!=typeof t&&(e in c||(c[e]=new Set),c[e].add(t))}))})),r(c),n(!1)}catch(e){i(e),n(!1)}})()}),[t,e]),{featureProps:a,isLoading:o,error:s}},De=({context:e,state:t,okSignalPromise:a,cancel:r,layerId:o})=>{const n=(0,S.useRef)(),s=(0,S.useRef)(),i=(0,S.useRef)(),l=(0,S.useRef)(),[c,d]=(0,S.useState)(""),[m,u]=(0,S.useState)("color"),[p,y]=(0,S.useState)([]),[h,g]=(0,S.useState)(["color"]),[v,f]=(0,S.useState)();if(!o)return;const b=e.model.getLayer(o);if(!(null==b?void 0:b.parameters))return;const{featureProps:_}=Re({layerId:o,model:e.model});(0,S.useEffect)((()=>{var e,t;let r=[];const o=null!==(t=null===(e=b.parameters.symbologyState)||void 0===e?void 0:e.method)&&void 0!==t?t:"color";return"color"===o&&(r=Oe.buildColorInfo(b)),"radius"===o&&(r=Oe.buildRadiusInfo(b)),y(r),a.promise.then((e=>{e.connect(j,void 0)})),()=>{a.promise.then((e=>{e.disconnect(j,void 0)}))}}),[]),(0,S.useEffect)((()=>{n.current=c,s.current=m,i.current=p,l.current=v}),[c,m,p,v]),(0,S.useEffect)((()=>{C()}),[_]);const C=async()=>{var e,t,a,r,o;"circle"===(null===(e=null==b?void 0:b.parameters)||void 0===e?void 0:e.type)&&g(["color","radius"]);const n=b.parameters,s=null!==(a=null===(t=n.symbologyState)||void 0===t?void 0:t.value)&&void 0!==a?a:Object.keys(_)[0],i=null!==(o=null===(r=n.symbologyState)||void 0===r?void 0:r.method)&&void 0!==o?o:"color";d(s),u(i)},j=()=>{var t,a,c,d;if(!b.parameters)return;const m=[];m.push("interpolate"),m.push(["linear"]),m.push(["get",n.current]),null===(t=i.current)||void 0===t||t.map((e=>{m.push(e.stop),m.push(e.output)}));const u=Object.assign({},b.parameters.color);"color"===s.current&&("fill"===b.parameters.type&&(u["fill-color"]=m),"line"===b.parameters.type&&(u["stroke-color"]=m),"circle"===b.parameters.type&&(u["circle-fill-color"]=m)),"radius"===s.current&&"circle"===b.parameters.type&&(u["circle-radius"]=m);const p={renderType:"Graduated",value:n.current,method:s.current,colorRamp:null===(a=l.current)||void 0===a?void 0:a.selectedRamp,nClasses:null===(c=l.current)||void 0===c?void 0:c.numberOfShades,mode:null===(d=l.current)||void 0===d?void 0:d.selectedMode};b.parameters.symbologyState=p,b.parameters.color=u,e.model.sharedModel.updateLayer(o,b),r()};return w().createElement("div",{className:"jp-gis-layer-symbology-container"},w().createElement(Pe,{featureProperties:_,selectedValue:c,setSelectedValue:d}),w().createElement("div",{className:"jp-gis-symbology-row"},w().createElement("label",{htmlFor:"vector-method-select"},"Method:"),w().createElement("select",{name:"vector-method-select",onChange:e=>u(e.target.value),className:"jp-mod-styled"},h.map(((e,t)=>w().createElement("option",{key:t,value:e,selected:e===m,className:"jp-mod-styled"},e))))),w().createElement(Me,{layerParams:b.parameters,modeOptions:["quantile","equal interval","jenks","pretty","logarithmic"],classifyFunc:(e,t,a)=>{let r;f({selectedRamp:a,numberOfShades:t,selectedMode:e});const o=Array.from(_[c]);switch(e){case"quantile":r=be.calculateQuantileBreaks(o,+t);break;case"equal interval":r=be.calculateEqualIntervalBreaks(o,+t);break;case"jenks":r=be.calculateJenksBreaks(o,+t);break;case"pretty":r=be.calculatePrettyBreaks(o,+t);break;case"logarithmic":r=be.calculateLogarithmicBreaks(o,+t);break;default:return void console.warn("No mode selected")}let n=[];if("radius"===m)for(let e=0;e<+t;e++)n.push({stop:r[e],output:r[e]});else n=Le.getValueColorPairs(r,a,+t);y(n)},showModeRow:!0}),w().createElement(Te,{selectedMethod:m,stopRows:p,setStopRows:y}))},ze=({context:e,state:t,okSignalPromise:a,cancel:r,layerId:o})=>{const n=(0,S.useRef)(),[s,i]=(0,S.useState)(!1),[l,c]=(0,S.useState)({fillColor:"#3399CC",joinStyle:"round",strokeColor:"#3399CC",capStyle:"round",strokeWidth:1.25,radius:5});if(!o)return;const d=e.model.getLayer(o);if(!d)return;(0,S.useEffect)((()=>{if(d.parameters)return i("circle"===d.parameters.type),(async()=>{var e;if(d.parameters&&"Single Symbol"===(null===(e=d.parameters)||void 0===e?void 0:e.symbologyState.renderType)){const e=W(d.parameters.type,d.parameters.color);e&&c(e)}})(),a.promise.then((e=>{e.connect(m,void 0)})),()=>{a.promise.then((e=>{e.disconnect(m,void 0)}))}}),[]),(0,S.useEffect)((()=>{n.current=l}),[l]);const m=()=>{var t,a,s,i,l,c;if(!d.parameters)return;const m={},u="circle"===d.parameters.type?"circle-":"";"circle"===d.parameters.type&&(m["circle-radius"]=null===(t=n.current)||void 0===t?void 0:t.radius),m[`${u}fill-color`]=null===(a=n.current)||void 0===a?void 0:a.fillColor,m[`${u}stroke-color`]=null===(s=n.current)||void 0===s?void 0:s.strokeColor,m[`${u}stroke-width`]=null===(i=n.current)||void 0===i?void 0:i.strokeWidth,m[`${u}stroke-line-join`]=null===(l=n.current)||void 0===l?void 0:l.joinStyle,m[`${u}stroke-line-cap`]=null===(c=n.current)||void 0===c?void 0:c.capStyle,d.parameters.symbologyState={renderType:"Single Symbol"},d.parameters.color=m,e.model.sharedModel.updateLayer(o,d),r()};return w().createElement("div",{className:"jp-gis-layer-symbology-container"},s?w().createElement("div",{className:"jp-gis-symbology-row"},w().createElement("label",{htmlFor:"vector-value-select"},"Radius:"),w().createElement("input",{type:"number",value:l.radius,className:"jp-mod-styled",onChange:e=>c((t=>Object.assign(Object.assign({},t),{radius:+e.target.value})))})):null,w().createElement("div",{className:"jp-gis-symbology-row"},w().createElement("label",{htmlFor:"vector-value-select"},"Fill Color:"),w().createElement("input",{type:"color",value:l.fillColor,className:"jp-mod-styled",onChange:e=>c((t=>Object.assign(Object.assign({},t),{fillColor:e.target.value})))})),w().createElement("div",{className:"jp-gis-symbology-row"},w().createElement("label",{htmlFor:"vector-value-select"},"Stroke Color:"),w().createElement("input",{type:"color",value:l.strokeColor,className:"jp-mod-styled",onChange:e=>c((t=>Object.assign(Object.assign({},t),{strokeColor:e.target.value})))})),w().createElement("div",{className:"jp-gis-symbology-row"},w().createElement("label",{htmlFor:"vector-value-select"},"Stroke Width:"),w().createElement("input",{type:"number",value:l.strokeWidth,className:"jp-mod-styled",onChange:e=>c((t=>Object.assign(Object.assign({},t),{strokeWidth:+e.target.value})))})),w().createElement("div",{className:"jp-gis-symbology-row"},w().createElement("label",{htmlFor:"vector-join-select"},"Join Style:"),w().createElement("div",{className:"jp-select-wrapper"},w().createElement("select",{name:"vector-join-select",onChange:e=>c((t=>Object.assign(Object.assign({},t),{joinStyle:e.target.value}))),className:"jp-mod-styled"},["bevel","round","miter"].map(((e,t)=>w().createElement("option",{key:t,value:e,selected:e===l.joinStyle,className:"jp-mod-styled"},e)))))),s?w().createElement("div",{className:"jp-gis-symbology-row"},w().createElement("label",{htmlFor:"vector-cap-select"},"Cap Style:"),w().createElement("div",{className:"jp-select-wrapper"},w().createElement("select",{name:"vector-cap-select",onChange:e=>c((t=>Object.assign(Object.assign({},t),{capStyle:e.target.value}))),className:"jp-mod-styled"},["butt","round","square"].map(((e,t)=>w().createElement("option",{key:t,value:e,selected:e===l.capStyle,className:"jp-mod-styled"},e)))))):null)},Be=({context:e,state:t,okSignalPromise:a,cancel:r,layerId:o})=>{const n=(0,S.useRef)(),s=(0,S.useRef)(),i=(0,S.useRef)(),[l,c]=(0,S.useState)(""),[d,m]=(0,S.useState)([]),[u,p]=(0,S.useState)();if(!o)return;const y=e.model.getLayer(o);if(!(null==y?void 0:y.parameters))return;const{featureProps:h}=Re({layerId:o,model:e.model});(0,S.useEffect)((()=>{const e=Oe.buildColorInfo(y);return m(e),a.promise.then((e=>{e.connect(v,void 0)})),()=>{a.promise.then((e=>{e.disconnect(v,void 0)}))}}),[]),(0,S.useEffect)((()=>{g()}),[h]),(0,S.useEffect)((()=>{n.current=l,s.current=d,i.current=u}),[l,d,u]);const g=async()=>{var e,t;const a=null!==(t=null===(e=y.parameters.symbologyState)||void 0===e?void 0:e.value)&&void 0!==t?t:Object.keys(h)[0];c(a)},v=()=>{var t,a,l,c;if(!y.parameters)return;const d=[];d.push("case"),null===(t=s.current)||void 0===t||t.map((e=>{d.push(["==",["get",n.current],e.stop]),d.push(e.output)})),d.push([0,0,0,0]);const m=Object.assign({},y.parameters.color);m["circle-fill-color"]=d;const u={renderType:"Categorized",value:n.current,colorRamp:null===(a=i.current)||void 0===a?void 0:a.selectedRamp,nClasses:null===(l=i.current)||void 0===l?void 0:l.numberOfShades,mode:null===(c=i.current)||void 0===c?void 0:c.selectedMode};y.parameters.symbologyState=u,y.parameters.color=m,e.model.sharedModel.updateLayer(o,y),r()};return w().createElement("div",{className:"jp-gis-layer-symbology-container"},w().createElement(Pe,{featureProperties:h,selectedValue:l,setSelectedValue:c}),w().createElement(Me,{layerParams:y.parameters,modeOptions:[],classifyFunc:(e,t,a,r)=>{p({selectedFunction:"",selectedRamp:a,numberOfShades:"",selectedMode:""});const o=Array.from(h[l]).sort(((e,t)=>e-t)),n=Le.getValueColorPairs(o,a,o.length);m(n)},showModeRow:!1}),w().createElement(Te,{selectedMethod:"",stopRows:d,setStopRows:m}))},Ve=({context:e,state:t,okSignalPromise:a,cancel:r,layerId:o})=>{const[n,s]=(0,S.useState)("Single Symbol"),[i,l]=(0,S.useState)(null),[c,d]=(0,S.useState)(["Single Symbol"]);let m;if(!o)return;const u=e.model.getLayer(o);return(null==u?void 0:u.parameters)?((0,S.useEffect)((()=>{var e,t;const a=null===(t=null===(e=u.parameters)||void 0===e?void 0:e.symbologyState)||void 0===t?void 0:t.renderType;s(null!=a?a:"Single Symbol"),"VectorLayer"===u.type&&d(["Single Symbol","Graduated","Categorized"])}),[]),(0,S.useEffect)((()=>{switch(n){case"Single Symbol":m=w().createElement(ze,{context:e,state:t,okSignalPromise:a,cancel:r,layerId:o});break;case"Graduated":m=w().createElement(De,{context:e,state:t,okSignalPromise:a,cancel:r,layerId:o});break;case"Categorized":m=w().createElement(Be,{context:e,state:t,okSignalPromise:a,cancel:r,layerId:o});break;default:m=w().createElement("div",null,"Render Type Not Implemented (yet)")}l(m)}),[n]),w().createElement(w().Fragment,null,w().createElement("div",{className:"jp-gis-symbology-row"},w().createElement("label",{htmlFor:"render-type-select"},"Render Type:"),w().createElement("select",{name:"render-type-select",id:"render-type-select",value:n,onChange:e=>{s(e.target.value)}},c.map(((e,t)=>w().createElement("option",{key:e,value:e},e))))),i)):void 0},We=({context:e,state:t,okSignalPromise:a,cancel:r})=>{const[o,n]=(0,S.useState)(null),[s,i]=(0,S.useState)(null);let l;return(0,S.useEffect)((()=>{const t=()=>{var t,a;if(!(null===(a=null===(t=e.model.localState)||void 0===t?void 0:t.selected)||void 0===a?void 0:a.value))return;const r=Object.keys(e.model.localState.selected.value)[0];n(r)};return t(),e.model.clientStateChanged.connect(t),()=>{e.model.clientStateChanged.disconnect(t)}}),[]),(0,S.useEffect)((()=>{if(!o)return;const n=e.model.getLayer(o);if(n){switch(n.type){case"VectorLayer":case"VectorTileLayer":l=w().createElement(Ve,{context:e,state:t,okSignalPromise:a,cancel:r,layerId:o});break;case"WebGlLayer":l=w().createElement(Ae,{context:e,state:t,okSignalPromise:a,cancel:r,layerId:o});break;default:l=w().createElement("div",null,"Layer Type Not Supported")}i(l)}}),[o]),w().createElement(w().Fragment,null,s)};class Fe extends i.Dialog{constructor(e){const t=new $.PromiseDelegate;super({title:"Symbology",body:w().createElement(We,{context:e.context,okSignalPromise:t,cancel:()=>{this.resolve(0)},state:e.state})}),this.id="jupytergis::symbologyWidget",this.okSignal=new H.Signal(this),t.resolve(this.okSignal),this.addClass("jp-gis-symbology-dialog")}resolve(e){0===e&&super.resolve(e),1===e&&this.okSignal.emit(null)}}function Ue(e,t,a,r,o,n,s){var l;const c=a.load("jupyterlab"),{commands:d}=e;d.addCommand(v.symbology,Object.assign({label:c.__("Edit Symbology"),isEnabled:()=>{var e,a;const r=null===(e=t.currentWidget)||void 0===e?void 0:e.context.model,o=null==r?void 0:r.sharedModel.awareness.getLocalState();if(!r||!o||!(null===(a=o.selected)||void 0===a?void 0:a.value))return!1;const n=o.selected.value;if(Object.keys(n).length>1)return!1;const s=Object.keys(n)[0],i=r.getLayer(s);return!!i&&["VectorLayer","VectorTileLayer","WebGlLayer"].includes(i.type)},execute:Je.createSymbologyDialog(t,n)},b.get(v.symbology))),d.addCommand(v.redo,Object.assign({label:c.__("Redo"),isEnabled:()=>!!t.currentWidget&&t.currentWidget.context.model.sharedModel.editable,execute:()=>{const e=t.currentWidget;if(e)return e.context.model.sharedModel.redo()}},null===(l=b.get(v.redo))||void 0===l?void 0:l.icon)),d.addCommand(v.undo,Object.assign({label:c.__("Undo"),isEnabled:()=>!!t.currentWidget&&t.currentWidget.context.model.sharedModel.editable,execute:()=>{const e=t.currentWidget;if(e)return e.context.model.sharedModel.undo()}},b.get(v.undo))),d.addCommand(v.identify,Object.assign({label:c.__("Identify"),isToggled:()=>{var e;return(null===(e=t.currentWidget)||void 0===e?void 0:e.context.model.isIdentifying)||!1},isEnabled:()=>!!t.currentWidget&&t.currentWidget.context.model.sharedModel.editable,execute:e=>{const a=t.currentWidget;if(!a)return;const r=e._luminoEvent;if(r){const e=r.keys;if(null==e?void 0:e.includes("Escape"))return a.context.model.isIdentifying=!1,a.node.classList.remove("jGIS-identify-tool"),void d.notifyCommandChanged(v.identify)}a.node.classList.toggle("jGIS-identify-tool"),a.context.model.toggleIdentify(),d.notifyCommandChanged(v.identify)}},b.get(v.identify))),d.addCommand(v.openLayerBrowser,Object.assign({label:c.__("Open Layer Browser"),isEnabled:()=>!!t.currentWidget&&t.currentWidget.context.model.sharedModel.editable,execute:Je.createLayerBrowser(t,o,r)},b.get(v.openLayerBrowser))),d.addCommand(v.newRasterEntry,Object.assign({label:c.__("New Raster Layer"),isEnabled:()=>!!t.currentWidget&&t.currentWidget.context.model.sharedModel.editable,execute:Je.createEntry({tracker:t,formSchemaRegistry:r,title:"Create Raster Layer",createLayer:!0,createSource:!0,sourceData:{minZoom:0,maxZoom:24},layerData:{name:"Custom Raster Layer"},sourceType:"RasterSource",layerType:"RasterLayer"})},b.get(v.newRasterEntry))),d.addCommand(v.newVectorTileEntry,Object.assign({label:c.__("New Vector Tile Layer"),isEnabled:()=>!!t.currentWidget&&t.currentWidget.context.model.sharedModel.editable,execute:Je.createEntry({tracker:t,formSchemaRegistry:r,title:"Create Vector Tile Layer",createLayer:!0,createSource:!0,sourceData:{minZoom:0,maxZoom:24},layerData:{name:"Custom Vector Tile Layer"},sourceType:"VectorTileSource",layerType:"VectorTileLayer"})},b.get(v.newVectorTileEntry))),d.addCommand(v.newGeoJSONEntry,Object.assign({label:c.__("New GeoJSON layer"),isEnabled:()=>!!t.currentWidget&&t.currentWidget.context.model.sharedModel.editable,execute:Je.createEntry({tracker:t,formSchemaRegistry:r,title:"Create GeoJSON Layer",createLayer:!0,createSource:!0,layerData:{name:"Custom GeoJSON Layer"},sourceType:"GeoJSONSource",layerType:"VectorLayer"})},b.get(v.newGeoJSONEntry))),d.addCommand(v.newHillshadeEntry,Object.assign({label:c.__("New Hillshade layer"),isEnabled:()=>!!t.currentWidget&&t.currentWidget.context.model.sharedModel.editable,execute:Je.createEntry({tracker:t,formSchemaRegistry:r,title:"Create Hillshade Layer",createLayer:!0,createSource:!0,layerData:{name:"Custom Hillshade Layer"},sourceType:"RasterDemSource",layerType:"HillshadeLayer"})},b.get(v.newHillshadeEntry))),d.addCommand(v.newImageEntry,Object.assign({label:c.__("New Image layer"),isEnabled:()=>!!t.currentWidget&&t.currentWidget.context.model.sharedModel.editable,execute:Je.createEntry({tracker:t,formSchemaRegistry:r,title:"Create Image Layer",createLayer:!0,createSource:!0,sourceData:{name:"Custom Image Source",url:"https://maplibre.org/maplibre-gl-js/docs/assets/radar.gif",coordinates:[[-80.425,46.437],[-71.516,46.437],[-71.516,37.936],[-80.425,37.936]]},layerData:{name:"Custom Image Layer"},sourceType:"ImageSource",layerType:"ImageLayer"})},b.get(v.newImageEntry))),d.addCommand(v.newVideoEntry,Object.assign({label:c.__("New Video layer"),isEnabled:()=>!!t.currentWidget&&t.currentWidget.context.model.sharedModel.editable,execute:Je.createEntry({tracker:t,formSchemaRegistry:r,title:"Create Video Layer",createLayer:!0,createSource:!0,sourceData:{name:"Custom Video Source",urls:["https://static-assets.mapbox.com/mapbox-gl-js/drone.mp4","https://static-assets.mapbox.com/mapbox-gl-js/drone.webm"],coordinates:[[-122.51596391201019,37.56238816766053],[-122.51467645168304,37.56410183312965],[-122.51309394836426,37.563391708549425],[-122.51423120498657,37.56161849366671]]},layerData:{name:"Custom Video Layer"},sourceType:"VideoSource",layerType:"RasterLayer"})},b.get(v.newVideoEntry))),d.addCommand(v.newShapefileSource,Object.assign({label:e=>"contextMenu"===e.from?c.__("Shapefile"):c.__("Add Shapefile Source"),isEnabled:()=>!!t.currentWidget&&t.currentWidget.context.model.sharedModel.editable,execute:Je.createEntry({tracker:t,formSchemaRegistry:r,title:"Create Shapefile Source",createLayer:!1,createSource:!0,sourceData:{name:"Custom Shapefile Source"},sourceType:"ShapefileSource"})},b.get(v.newShapefileSource))),d.addCommand(v.newGeoTiffEntry,Object.assign({label:c.__("New GeoTiff layer"),isEnabled:()=>!!t.currentWidget&&t.currentWidget.context.model.sharedModel.editable,execute:Je.createEntry({tracker:t,formSchemaRegistry:r,title:"Create GeoTiff Layer",createLayer:!0,createSource:!0,sourceData:{name:"Custom GeoTiff Source",urls:[{}]},layerData:{name:"Custom GeoTiff Layer"},sourceType:"GeoTiffSource",layerType:"WebGlLayer"})},b.get(v.newGeoTiffEntry))),d.addCommand(v.newRasterSource,Object.assign({label:e=>"contextMenu"===e.from?c.__("Raster"):c.__("New Raster Source"),isEnabled:()=>!!t.currentWidget&&t.currentWidget.context.model.sharedModel.editable,execute:Je.createEntry({tracker:t,formSchemaRegistry:r,title:"Create Raster Source",createLayer:!1,createSource:!0,sourceData:{name:"Custom Raster Source",minZoom:0,maxZoom:24},sourceType:"RasterSource"})},b.get(v.newRasterSource))),d.addCommand(v.newRasterDemSource,Object.assign({label:e=>"contextMenu"===e.from?c.__("Raster DEM"):c.__("New Raster DEM Source"),isEnabled:()=>!!t.currentWidget&&t.currentWidget.context.model.sharedModel.editable,execute:Je.createEntry({tracker:t,formSchemaRegistry:r,title:"Create Raster Dem Source",createLayer:!1,createSource:!0,sourceData:{name:"Custom Raster DEM Source"},sourceType:"RasterDemSource"})},b.get(v.newRasterDemSource))),d.addCommand(v.newVectorSource,Object.assign({label:e=>"contextMenu"===e.from?c.__("Vector"):c.__("New Vector Source"),isEnabled:()=>!!t.currentWidget&&t.currentWidget.context.model.sharedModel.editable,execute:Je.createEntry({tracker:t,formSchemaRegistry:r,title:"Create Vector Source",createLayer:!1,createSource:!0,sourceData:{name:"Custom Vector Source",minZoom:0,maxZoom:24},sourceType:"VectorTileSource"})},b.get(v.newVectorSource))),d.addCommand(v.newGeoJSONSource,Object.assign({label:e=>"contextMenu"===e.from?c.__("GeoJSON"):c.__("Add GeoJSON data from file"),isEnabled:()=>!!t.currentWidget&&t.currentWidget.context.model.sharedModel.editable,execute:Je.createEntry({tracker:t,formSchemaRegistry:r,title:"Create GeoJson Source",createLayer:!1,createSource:!0,sourceData:{name:"Custom GeoJSON Source"},sourceType:"GeoJSONSource"})},b.get(v.newGeoJSONSource))),d.addCommand(v.newImageSource,Object.assign({label:e=>"contextMenu"===e.from?c.__("Image"):c.__("Add Image Source"),isEnabled:()=>!!t.currentWidget&&t.currentWidget.context.model.sharedModel.editable,execute:Je.createEntry({tracker:t,formSchemaRegistry:r,title:"Create Image Source",createLayer:!1,createSource:!0,sourceData:{name:"Custom Image Source"},sourceType:"ImageSource"})},b.get(v.newImageSource))),d.addCommand(v.newVideoSource,Object.assign({label:e=>"contextMenu"===e.from?c.__("Video"):c.__("Add Video Source"),isEnabled:()=>!!t.currentWidget&&t.currentWidget.context.model.sharedModel.editable,execute:Je.createEntry({tracker:t,formSchemaRegistry:r,title:"Create Video Source",createLayer:!1,createSource:!0,sourceData:{name:"Custom Video Source"},sourceType:"VideoSource"})},b.get(v.newVideoSource))),d.addCommand(v.newRasterLayer,Object.assign({label:e=>"contextMenu"===e.from?c.__("Raster"):c.__("Add Raster layer"),isEnabled:()=>!!t.currentWidget&&t.currentWidget.context.model.sharedModel.editable,execute:Je.createEntry({tracker:t,formSchemaRegistry:r,title:"Create Raster Layer",createLayer:!0,createSource:!1,layerData:{name:"Custom Raster Layer"},sourceType:"RasterSource",layerType:"RasterLayer"})},b.get(v.newVectorLayer))),d.addCommand(v.newVectorLayer,Object.assign({label:e=>"contextMenu"===e.from?c.__("Vector"):c.__("Add New Vector layer"),isEnabled:()=>!!t.currentWidget&&t.currentWidget.context.model.sharedModel.editable,execute:Je.createEntry({tracker:t,formSchemaRegistry:r,title:"Create Vector Layer",createLayer:!0,createSource:!1,layerData:{name:"Custom Vector Layer"},sourceType:"VectorTileSource",layerType:"VectorTileLayer"})},b.get(v.newVectorLayer))),d.addCommand(v.newHillshadeLayer,Object.assign({label:e=>"contextMenu"===e.from?c.__("Hillshade"):c.__("Add Hillshade layer"),isEnabled:()=>!!t.currentWidget&&t.currentWidget.context.model.sharedModel.editable,execute:Je.createEntry({tracker:t,formSchemaRegistry:r,title:"Create Hillshade Layer",createLayer:!0,createSource:!1,layerData:{name:"Custom Hillshade Layer"},sourceType:"RasterDemSource",layerType:"HillshadeLayer"})},b.get(v.newHillshadeLayer))),d.addCommand(v.newImageLayer,Object.assign({label:e=>"contextMenu"===e.from?c.__("Image"):c.__("Add Image layer"),isEnabled:()=>!!t.currentWidget&&t.currentWidget.context.model.sharedModel.editable,execute:Je.createEntry({tracker:t,formSchemaRegistry:r,title:"Create Image Layer",createLayer:!0,createSource:!1,layerData:{name:"Custom Image Layer"},sourceType:"ImageSource",layerType:"RasterLayer"})},b.get(v.newImageLayer))),d.addCommand(v.newVideoLayer,Object.assign({label:e=>"contextMenu"===e.from?c.__("Video"):c.__("Add Video layer"),isEnabled:()=>!!t.currentWidget&&t.currentWidget.context.model.sharedModel.editable,execute:Je.createEntry({tracker:t,formSchemaRegistry:r,title:"Create Video Layer",createLayer:!0,createSource:!1,layerData:{name:"Custom Video Layer"},sourceType:"VideoSource",layerType:"RasterLayer"})},b.get(v.newVideoLayer))),d.addCommand(v.newShapefileLayer,Object.assign({label:c.__("New Shapefile Layer"),isEnabled:()=>!!t.currentWidget&&t.currentWidget.context.model.sharedModel.editable,execute:Je.createEntry({tracker:t,formSchemaRegistry:r,title:"Create Shapefile Layer",createLayer:!0,createSource:!0,sourceData:{name:"Custom Shapefile Source"},layerData:{name:"Custom Shapefile Layer"},sourceType:"ShapefileSource",layerType:"VectorLayer"})},b.get(v.newShapefileLayer))),d.addCommand(v.renameLayer,{label:c.__("Rename Layer"),execute:async()=>{var e;const a=null===(e=t.currentWidget)||void 0===e?void 0:e.context.model;await Je.renameSelectedItem(a,"layer",((e,t)=>{const r=null==a?void 0:a.getLayer(e);r&&(r.name=t,null==a||a.sharedModel.updateLayer(e,r))}))}}),d.addCommand(v.removeLayer,{label:c.__("Remove Layer"),execute:()=>{var e;const a=null===(e=t.currentWidget)||void 0===e?void 0:e.context.model;Je.removeSelectedItems(a,"layer",(e=>{null==a||a.removeLayer(e)}))}}),d.addCommand(v.renameGroup,{label:c.__("Rename Group"),execute:async()=>{var e;const a=null===(e=t.currentWidget)||void 0===e?void 0:e.context.model;await Je.renameSelectedItem(a,"group",((e,t)=>{null==a||a.renameLayerGroup(e,t)}))}}),d.addCommand(v.removeGroup,{label:c.__("Remove Group"),execute:async()=>{var e;const a=null===(e=t.currentWidget)||void 0===e?void 0:e.context.model;Je.removeSelectedItems(a,"group",(e=>{null==a||a.removeLayerGroup(e)}))}}),d.addCommand(v.moveLayersToGroup,{label:e=>e.label?e.label:c.__("Move to Root"),execute:e=>{var a,r,o;const n=null===(a=t.currentWidget)||void 0===a?void 0:a.context.model,s=e.label,i=null===(o=null===(r=null==n?void 0:n.localState)||void 0===r?void 0:r.selected)||void 0===o?void 0:o.value;i&&n.moveItemsToGroup(Object.keys(i),s)}}),d.addCommand(v.moveLayerToNewGroup,{label:c.__("Move Selected Layers to New Group"),execute:async()=>{var e,a,r;const o=null===(e=t.currentWidget)||void 0===e?void 0:e.context.model,n=null===(r=null===(a=null==o?void 0:o.localState)||void 0===a?void 0:a.selected)||void 0===r?void 0:r.value;if(!n)return;const s=await function(){const e=document.createElement("input");e.classList.add("jp-gis-left-panel-input"),e.style.marginLeft="26px";const t=document.getElementById("jp-gis-layer-tree");if(t)return t.appendChild(e),e.focus(),new Promise((a=>{e.addEventListener("blur",(()=>{t.removeChild(e),a(e.value)})),e.addEventListener("keydown",(t=>{("Enter"===t.key||"Escape"===t.key)&&(t.stopPropagation(),t.preventDefault(),e.blur())}))}))}();if(!s)return void console.warn("New name cannot be empty");const i=[];Object.keys(n).forEach((e=>{i.push(e)}));const l={name:s,layers:i};o.addNewLayerGroup(n,l)}}),d.addCommand(v.renameSource,{label:c.__("Rename Source"),execute:async()=>{var e;const a=null===(e=t.currentWidget)||void 0===e?void 0:e.context.model;await Je.renameSelectedItem(a,"source",((e,t)=>{const r=null==a?void 0:a.getSource(e);r&&(r.name=t,null==a||a.sharedModel.updateSource(e,r))}))}}),d.addCommand(v.removeSource,{label:c.__("Remove Source"),execute:()=>{var e;const a=null===(e=t.currentWidget)||void 0===e?void 0:e.context.model;Je.removeSelectedItems(a,"source",(e=>{var t;null===(t=null==a?void 0:a.getLayersBySource(e).length)||void 0===t||t?(0,i.showErrorMessage)("Remove source error","The source is used by a layer."):null==a||a.sharedModel.removeSource(e)}))}}),d.addCommand(v.toggleConsole,{label:c.__("Toggle console"),isEnabled:()=>!!t.currentWidget&&t.currentWidget.context.model.sharedModel.editable,execute:async()=>await Je.toggleConsole(t)}),d.addCommand(v.executeConsole,{label:c.__("Execute console"),isEnabled:()=>!!t.currentWidget&&t.currentWidget.context.model.sharedModel.editable,execute:()=>Je.executeConsole(t)}),d.addCommand(v.removeConsole,{label:c.__("Remove console"),isEnabled:()=>!!t.currentWidget&&t.currentWidget.context.model.sharedModel.editable,execute:()=>Je.removeConsole(t)}),d.addCommand(v.invokeCompleter,{label:c.__("Display the completion helper."),execute:()=>{var e;const a=t.currentWidget;if(!a||!s)return;const r=null===(e=a.content.consolePanel)||void 0===e?void 0:e.id;return r?s.invoke(r):void 0}}),d.addCommand(v.selectCompleter,{label:c.__("Select the completion suggestion."),execute:()=>{var e;const a=t.currentWidget;if(!a||!s)return;const r=null===(e=a.content.consolePanel)||void 0===e?void 0:e.id;return r?s.select(r):void 0}})}var Je;!function(e){e.createLayerBrowser=function(e,t,a){return async()=>{const r=e.currentWidget;if(!r)return;const o=new fe({context:r.context,registry:t.getRegistryLayers(),formSchemaRegistry:a});await o.launch()}},e.createSymbologyDialog=function(e,t){return async()=>{const a=e.currentWidget;if(!a)return;const r=new Fe({context:a.context,state:t});await r.launch()}},e.createEntry=function({tracker:e,formSchemaRegistry:t,title:a,createLayer:r,createSource:o,sourceData:n,layerData:s,sourceType:i,layerType:l}){return async()=>{const c=e.currentWidget;if(!c)return;const d=new pe({context:c.context,title:a,createLayer:r,createSource:o,sourceData:n,sourceType:i,layerData:s,layerType:l,formSchemaRegistry:t});await d.launch()}},e.getUserInputForRename=async function(e,t,a){const r=e.parentElement;return r.replaceChild(t,e),t.value=a,t.select(),t.focus(),new Promise((o=>{t.addEventListener("blur",(()=>{r.replaceChild(e,t),o(t.value)})),t.addEventListener("keydown",(r=>{"Enter"===r.key?(r.stopPropagation(),r.preventDefault(),t.blur()):"Escape"===r.key&&(r.stopPropagation(),r.preventDefault(),t.value=a,t.blur(),e.focus())}))}))},e.removeSelectedItems=function(e,t,a){var r;const o=null===(r=null==e?void 0:e.localState)||void 0===r?void 0:r.selected.value;if(o)for(const e in o)o[e].type===t&&a(e);else console.info("Nothing selected")},e.renameSelectedItem=async function(t,a,r){var o;const n=null===(o=null==t?void 0:t.localState)||void 0===o?void 0:o.selected.value;if(!n)return void console.error(`No ${a} selected`);let s="";for(const e in n)if(n[e].type===a){s=e;break}if(!s)return;const i=n[s].selectedNodeId;if(!i)return;const l=document.getElementById(i);if(!l)return void console.warn(`Node with ID ${i} not found`);const c=document.createElement("input");c.classList.add("jp-gis-left-panel-input");const d=l.innerText,m=await e.getUserInputForRename(l,c,d);m?m!==d&&r(s,m):console.warn("New name cannot be empty")},e.executeConsole=function(e){const t=e.currentWidget;t&&t.content.executeConsole()},e.removeConsole=function(e){const t=e.currentWidget;t&&t.content.removeConsole()},e.toggleConsole=async function(e){const t=e.currentWidget;if(!t)return;const a=t.context.path.split(":");let r="";r=a.length>1?a[1]:a[0],await t.content.toggleConsole(r)}}(Je||(Je={}));var qe=a(36087),$e=a(42495),He=a(95854),Ze=a(20489),Qe=a(98629),Ye=a(77835),Ke=a(56952),Xe=a(39512),et=a(88436),tt=a(15e3),at=a(79178),rt=a(43802),ot=a(5638),nt=a(59916),st=a(12895),it=a(34097),lt=a(28528),ct=a(61691),dt=a(83486),mt=a(34633),ut=a(90693),pt=a(3897),yt=a(39895),ht=a(37056),gt=a(5464),vt=a(79976),ft=a(62242),bt=a(54189),St=a.n(bt),wt=a(35256),_t=a(46167);const Ct=e=>{var t,a,r;const{self:o,message:n,user:s}=e,i=null!==(t=null==s?void 0:s.color)&&void 0!==t?t:"black",l=null!==(a=null==s?void 0:s.display_name)&&void 0!==a?a:"",c=null!==(r=null==s?void 0:s.initials)&&void 0!==r?r:"";return w().createElement("div",{className:"jGIS-Annotation-Message",style:{flexFlow:o?"row":"row-reverse"}},w().createElement("div",{className:"jGIS-Annotation-User-Icon",style:{backgroundColor:i},title:l},w().createElement("span",{style:{width:24,textAlign:"center"}},c)),w().createElement("div",{className:"jGIS-Annotation-Message-Content"},w().createElement("p",{style:{padding:7,margin:0}},n)))},jt=({itemId:e,annotationModel:t,rightPanelModel:a,children:r})=>{const[o,n]=(0,S.useState)(""),[s,c]=(0,S.useState)(null==a?void 0:a.jGISModel),d=t.getAnnotation(e),m=(0,S.useMemo)((()=>{var e;return null!==(e=null==d?void 0:d.contents)&&void 0!==e?e:[]}),[d]);null==a||a.documentChanged.connect(((e,t)=>{c(null==t?void 0:t.context.model)}));const u=()=>{t.addContent(e,o),n("")};return w().createElement("div",{className:"jGIS-Annotation"},r,w().createElement("div",null,m.map((e=>{var a,r;return w().createElement(Ct,{user:e.user,message:e.value,self:(null===(a=t.user)||void 0===a?void 0:a.username)===(null===(r=e.user)||void 0===r?void 0:r.username)})}))),w().createElement("div",{className:"jGIS-Annotation-Message"},w().createElement("textarea",{rows:3,placeholder:"Ctrl+Enter to submit",value:o,onChange:e=>n(e.currentTarget.value),onKeyDown:e=>{e.ctrlKey&&"Enter"===e.key&&u()}})),w().createElement("div",{className:"jGIS-Annotation-Buttons"},w().createElement(l.Button,{className:"jp-mod-styled jp-mod-warn",onClick:async()=>{var a;if(!(null===(a=t.getAnnotation(e))||void 0===a?void 0:a.contents.length))return t.removeAnnotation(e);(await(0,i.showDialog)({title:"Delete Annotation",body:"Are you sure you want to delete this annotation?",buttons:[i.Dialog.cancelButton(),i.Dialog.okButton({label:"Delete"})]})).button.accept&&t.removeAnnotation(e)}},w().createElement(he.g,{icon:ye.yLS})),a&&w().createElement(l.Button,{className:"jp-mod-styled jp-mod-accept",onClick:()=>{null==s||s.centerOnAnnotation(e)}},w().createElement(he.g,{icon:ye.EwE})),w().createElement(l.Button,{className:"jp-mod-styled jp-mod-accept",onClick:u},w().createElement(he.g,{icon:ye.isI}))))},It=({itemId:e,annotationModel:t,open:a})=>{const[r,o]=(0,S.useState)(a),n=a=>{var r;return a?o(!0):(null===(r=t.getAnnotation(e))||void 0===r?void 0:r.contents.length)?void o(!1):t.removeAnnotation(e)};return w().createElement(w().Fragment,null,w().createElement("div",{className:"jGIS-Annotation-Handler",onClick:()=>n(!r)}),w().createElement("div",{className:"jGIS-FloatingAnnotation",style:{visibility:r?"visible":"hidden"}},w().createElement(jt,{itemId:e,annotationModel:t},w().createElement("div",{className:"jGIS-Popup-Topbar",onClick:()=>{n(!1)}},w().createElement(he.g,{icon:ye.umU,className:"jGIS-Popup-TopBarIcon"})))))};function xt({remoteUser:e}){return(null==e?void 0:e.display_name)?w().createElement("div",{style:{position:"absolute",top:1,right:3,background:e.color}},`Following ${e.display_name}`):null}const Et=({clients:e})=>{const[t,a]=(0,S.useState)(!1);return w().createElement(w().Fragment,null,e&&Object.values(e).map((e=>w().createElement("div",{className:"jGIS-Popup-Wrapper",style:{left:`${e.coordinates.x}px`,top:`${e.coordinates.y}px`}},w().createElement("div",{key:e.username,className:"jGIS-Remote-Pointer",style:{color:e.color,cursor:"pointer"},onClick:()=>{a(!t)}},w().createElement(he.g,{icon:ye.eX_,className:"jGIS-Remote-Pointer-Icon"})),w().createElement("div",{style:{visibility:t?"visible":"hidden",background:e.color},className:"jGIS-Remote-Pointer-Popup jGIS-Floating-Pointer-Popup"},w().createElement("div",{className:"jGIS-Popup-Topbar",onClick:()=>{a(!1)}},w().createElement(he.g,{icon:ye.umU,className:"jGIS-Popup-TopBarIcon"})),w().createElement("div",{className:"jGIS-Remote-Pointer-Popup-Name"},e.displayName),w().createElement("div",{className:"jGIS-Remote-Pointer-Popup-Coordinates"},w().createElement("br",null),"Pointer Location:",w().createElement("br",null),"Longitude: ",e.lonLat.longitude.toFixed(2),w().createElement("br",null),"Latitude: ",e.lonLat.latitude.toFixed(2)))))))};var Mt=a(78882),kt=a(58471),Ot=a(21590),Lt=a(50207),Gt=a(19362);class Nt extends S.Component{constructor(e){super(e),this.addContextMenu=()=>{this._commands.addCommand(v.addAnnotation,{execute:()=>{var e;this._Map&&this._mainViewModel.addAnnotation({position:{x:this._clickCoords[0],y:this._clickCoords[1]},zoom:null!==(e=this._Map.getView().getZoom())&&void 0!==e?e:0,label:"New annotation",contents:[],parent:this._Map.getViewport().id})},label:"Add annotation",isEnabled:()=>!!this._Map}),this._contextMenu.addItem({command:v.addAnnotation,selector:".ol-viewport",rank:1})},this.vectorLayerStyleRuleBuilder=e=>{const t=e.parameters;if(!t)return;const a={"fill-color":"rgba(255,255,255,0.4)","stroke-color":"#3399CC","stroke-width":1.25,"circle-radius":5,"circle-fill-color":"rgba(255,255,255,0.4)","circle-stroke-width":1.25,"circle-stroke-color":"#3399CC"},r={style:a},o=Object.assign({},r);if(e.filters&&e.filters.logicalOp&&0!==e.filters.appliedFilters.length){const t=[];1===e.filters.appliedFilters.length?e.filters.appliedFilters.forEach((e=>{t.push(e.operator,["get",e.feature],e.value)})):(t.push(e.filters.logicalOp),e.filters.appliedFilters.forEach((e=>{t.push([e.operator,["get",e.feature],e.value])}))),o.filter=t}if(!t.color)return[o];const n=Object.assign(Object.assign({},a),t.color);return o.style=n,[o]},this.hillshadeMath=()=>{function e(e,t){return["+",["*",65280,["band",1,e,t]],["*",255,["band",2,e,t]],["*",255/256,["band",3,e,t]],-32768]}const t=["*",2,["resolution"]],a=["*",2,e(-1,0)],r=["/",["-",["*",2,e(1,0)],a],t],o=["*",2,e(0,-1)],n=["/",["-",["*",2,e(0,1)],o],t],s=["atan",["sqrt",["+",["^",r,2],["^",n,2]]]],i=["clamp",["atan",["-",0,r],n],-Math.PI,Math.PI],l=["*",Math.PI/180,45];return["*",255,["+",["*",["sin",l],["cos",s]],["*",["cos",l],["sin",s],["cos",["-",["*",Math.PI/180,46],i]]]]]},this._onClientSharedStateChanged=(e,t)=>{var a,r,o,n,s;const i=null===(a=this._model.localState)||void 0===a?void 0:a.remoteUser;if(i){const e=t.get(i);if(!e)return;(null===(r=e.user)||void 0===r?void 0:r.username)!==(null===(o=this.state.remoteUser)||void 0===o?void 0:o.username)&&this.setState((t=>Object.assign(Object.assign({},t),{remoteUser:e.user})));const a=e.viewportState;if(a.value){const{x:e,y:t}=a.value.coordinates,r=a.value.zoom;this._moveToPosition({x:e,y:t},r,0)}}else if(null!==this.state.remoteUser){this.setState((e=>Object.assign(Object.assign({},e),{remoteUser:null})));const e=null===(s=null===(n=this._model.localState)||void 0===n?void 0:n.viewportState)||void 0===s?void 0:s.value;e&&this._moveToPosition(e.coordinates,e.zoom)}t.forEach(((e,t)=>{var a;if(!(null==e?void 0:e.user))return;const r=null===(a=e.pointer)||void 0===a?void 0:a.value;if(this._model.getClientId()===t)return;const o=this.state.clientPointers;let n=o[t];if(r){const a=this._Map.getPixelFromCoordinate([r.coordinates.x,r.coordinates.y]),s=(0,it.WP)([r.coordinates.x,r.coordinates.y]);n||(n=o[t]={username:e.user.username,displayName:e.user.display_name,color:e.user.color,coordinates:{x:a[0],y:a[1]},lonLat:{longitude:s[0],latitude:s[1]}}),n.coordinates.x=a[0],n.coordinates.y=a[1],o[t]=n}else delete o[t];this.setState((e=>Object.assign(Object.assign({},e),{clientPointers:o})))}))},this._onSharedModelStateChange=(e,t)=>{var a;const r=null===(a=t.stateChange)||void 0===a?void 0:a.map((e=>e.name));if(!(null==r?void 0:r.includes("path")))return;const o=this._model.sharedModel.getState("path");o!==this._documentPath&&"string"==typeof o&&(void 0!==window.jupytergisMaps&&this._documentPath&&delete window.jupytergisMaps[this._documentPath],this._documentPath=o,void 0!==window.jupytergisMaps&&(window.jupytergisMaps[this._documentPath]=this._Map))},this._onSharedMetadataChanged=(e,t)=>{const a=Object.assign({},this.state.annotations);t.forEach(((e,t)=>{if(!t.startsWith("annotation"))return;const r=this._model.sharedModel.getMetadata(t);let o=!0;if(this.state.firstLoad&&(o=!1),!r||"add"!==e.action&&"update"!==e.action)"delete"===e.action&&delete a[t];else{const e=JSON.parse(r);e.open=o,a[t]=e}})),this.setState((e=>Object.assign(Object.assign({},e),{annotations:a,firstLoad:!1})))},this._syncPointer=G((e=>{const t={coordinates:{x:e[0],y:e[1]}};this._model.syncPointer(t)})),this._handleThemeChange=()=>{const e=R();this.setState((t=>Object.assign(Object.assign({},t),{lightTheme:e})))},this._handleWindowResize=()=>{},this._initializedPosition=!1,this.divRef=S.createRef(),this._ready=!1,this._sourceToLayerMap=new Map,vt.A.defs(Array.from(St())),(0,gt.kz)(vt.A),this._mainViewModel=this.props.viewModel,this._mainViewModel.viewSettingChanged.connect(this._onViewChanged,this),this._model=this._mainViewModel.jGISModel,this._model.themeChanged.connect(this._handleThemeChange,this),this._model.sharedOptionsChanged.connect(this._onSharedOptionsChanged,this),this._model.clientStateChanged.connect(this._onClientSharedStateChanged,this),this._model.sharedLayersChanged.connect(this._onLayersChanged,this),this._model.sharedLayerTreeChanged.connect(this._onLayerTreeChange,this),this._model.sharedSourcesChanged.connect(this._onSourcesChange,this),this._model.sharedModel.changed.connect(this._onSharedModelStateChange),this._mainViewModel.jGISModel.sharedMetadataChanged.connect(this._onSharedMetadataChanged,this),this._model.zoomToAnnotationSignal.connect(this._onZoomToAnnotation,this),this.state={id:this._mainViewModel.id,lightTheme:R(),loading:!0,firstLoad:!0,annotations:{},clientPointers:{}},this._sources=[],this._commands=new _t.CommandRegistry,this._contextMenu=new wt.ContextMenu({commands:this._commands})}async componentDidMount(){window.addEventListener("resize",this._handleWindowResize),await this.generateScene(),this.addContextMenu(),this._mainViewModel.initSignal(),void 0!==window.jupytergisMaps&&this._documentPath&&(window.jupytergisMaps[this._documentPath]=this._Map)}componentWillUnmount(){void 0!==window.jupytergisMaps&&this._documentPath&&delete window.jupytergisMaps[this._documentPath],window.removeEventListener("resize",this._handleWindowResize),this._mainViewModel.viewSettingChanged.disconnect(this._onViewChanged,this),this._model.themeChanged.disconnect(this._handleThemeChange,this),this._model.sharedOptionsChanged.disconnect(this._onSharedOptionsChanged,this),this._model.clientStateChanged.disconnect(this._onClientSharedStateChanged,this),this._mainViewModel.dispose()}async generateScene(){if(this.divRef.current){this._Map=new $e.A({target:this.divRef.current,layers:[],view:new He.Ay({center:[0,0],zoom:1}),controls:[new Ye.A]});const e=new et.A({formatConstructors:[Ke.A]});e.on("addfeatures",(e=>{const t=$.UUID.uuid4(),a={type:"GeoJSONSource",name:"Drag and Drop source",parameters:{path:e.file.name}},r=$.UUID.uuid4();this.addSource(t,a,r),this._model.sharedModel.addSource(t,a);const o={type:"VectorLayer",visible:!0,name:"Drag and Drop layer",parameters:{color:"#FF0000",opacity:1,type:"line",source:t}};this.addLayer(r,o,this.getLayerIDs().length),this._model.addLayer(r,o)})),this._Map.addInteraction(e);const t=new tt.A({hitTolerance:5,multi:!0,layers:e=>{var t,a;const r=null===(t=this._model)||void 0===t?void 0:t.sharedModel.awareness.getLocalState(),o=null===(a=null==r?void 0:r.selected)||void 0===a?void 0:a.value;if(!o)return!1;const n=Object.keys(o)[0];return e===this.getLayer(n)},condition:e=>(0,Gt.t5)(e)&&this._model.isIdentifying,style:new Mt.Ay({image:new kt.A({radius:5,fill:new Ot.A({color:"#C52707"}),stroke:new Lt.A({color:"#171717",width:2})})})});if(t.on("select",(e=>{const a=[];t.getFeatures().forEach((e=>{a.push(e.getProperties())})),this._model.syncIdentifiedFeatures(a,this._mainViewModel.id)})),this._Map.addInteraction(t),this._Map.getView().on("change:center",G((()=>{var e;if(null===(e=this._model.localState)||void 0===e?void 0:e.remoteUser)return;const t=this._Map.getView(),a=t.getCenter(),r=t.getZoom();a&&r&&this._model.syncViewport({coordinates:{x:a[0],y:a[1]},zoom:r},this._mainViewModel.id)}))),this._Map.on("postrender",(()=>{this.state.annotations&&this._updateAnnotation()})),this._Map.on("moveend",(()=>{if(!this._initializedPosition)return;const e=this._model.getOptions(),t=this._Map.getView(),a=t.getCenter()||[0,0],r=t.getZoom()||0,o=t.getProjection(),n=(0,it.WP)(a,o),s=t.getRotation(),i={latitude:n[1],longitude:n[0],bearing:s,projection:o.getCode(),zoom:r};i.extent=t.calculateExtent(),this._model.setOptions(Object.assign(Object.assign({},e),i))})),this._Map.on("click",this._identifyFeature.bind(this)),this._Map.getViewport().addEventListener("pointermove",this._onPointerMove.bind(this)),0!==qe.JupyterGISModel.getOrderedLayerIds(this._model).length){await this._updateLayersImpl(qe.JupyterGISModel.getOrderedLayerIds(this._model));const e=this._model.getOptions();this.updateOptions(e),this._initializedPosition=!0}this._Map.getViewport().addEventListener("contextmenu",(e=>{e.preventDefault(),e.stopPropagation();const t=this._Map.getEventCoordinate(e);this._clickCoords=t,this._contextMenu.open(e)})),this.setState((e=>Object.assign(Object.assign({},e),{loading:!1})))}}async _loadShapefileAsGeoJSON(e){try{const t=await fetch(`/jupytergis_core/proxy?url=${e}`),a=await t.arrayBuffer();return await(0,ft.Ay)(a)}catch(e){throw console.error("Error loading shapefile:",e),e}}async _loadGeoTIFFWithCache(e){const t=await q(e);return null==t?void 0:t.file}async addSource(e,t,a){var r,o;let n;switch(t.type){case"RasterSource":{const e=t.parameters,a=e.url.endsWith(".pmtiles"),r=this.computeSourceUrl(t);n=a?new ht.b({attributions:e.attribution,tileSize:256,url:r}):new ct.A({attributions:e.attribution,minZoom:e.minZoom,maxZoom:e.maxZoom,tileSize:256,url:r});break}case"RasterDemSource":{const e=t.parameters;n=new dt.A({url:this.computeSourceUrl(t),attributions:e.attribution});break}case"VectorTileSource":{const e=t.parameters,a=e.url.endsWith(".pmtiles"),r=this.computeSourceUrl(t);n=a?new ht.X({attributions:e.attribution,url:r}):new mt.A({attributions:e.attribution,minZoom:e.minZoom,maxZoom:e.maxZoom,url:r,format:new Xe.A({featureClass:lt.Ay})});break}case"GeoJSONSource":{const e=(null===(r=t.parameters)||void 0===r?void 0:r.data)||await this._model.readGeoJSON(null===(o=t.parameters)||void 0===o?void 0:o.path),a=new Ke.A({featureProjection:this._Map.getView().getProjection()}).readFeatures(e,{dataProjection:"EPSG:4326",featureProjection:this._Map.getView().getProjection()}),s=new Ze.A(a);s.forEach((e=>{e.setId((0,Qe.v6)(e))})),n=new ut.A({features:s});break}case"ShapefileSource":{const e=t.parameters,a=await this._loadShapefileAsGeoJSON(e.path),r=Array.isArray(a)?a[0]:a,o=new Ke.A;n=new ut.A({features:o.readFeatures(r,{dataProjection:"EPSG:4326",featureProjection:this._Map.getView().getProjection()})});break}case"ImageSource":{const e=t.parameters,a=Math.min(...e.coordinates.map((e=>e[0]))),r=Math.min(...e.coordinates.map((e=>e[1]))),o=Math.max(...e.coordinates.map((e=>e[0]))),s=Math.max(...e.coordinates.map((e=>e[1]))),i=(0,it.Rb)([a,s]),l=(0,it.Rb)([o,r]),c=i[0],d=i[1],m=l[0],u=[c,l[1],m,d];n=new yt.A({imageExtent:u,url:e.url,interpolate:!0,crossOrigin:""});break}case"VideoSource":console.warn("Video Tiles not supported with Open Layers");break;case"GeoTiffSource":{const e=t.parameters,a=e=>Object.assign(Object.assign({},e),{nodata:0}),r=await Promise.all(e.urls.map((async e=>{const t=await this._loadGeoTIFFWithCache(e);return Object.assign(Object.assign({},a(e)),{blob:t})})));n=new pt.A({sources:r,normalize:e.normalize,wrapX:e.wrapX});break}}n.set("id",e),this._sources[e]=n}computeSourceUrl(e){const t=e.parameters,a=t.urlParameters||{};let r=t.url;for(const e of Object.keys(a))r=r.replace(`{${e}}`,a[e]);return r.includes("{max_zoom}")&&(r=r.replace("{max_zoom}",t.maxZoom.toString())),r.includes("{min_zoom}")&&(r=r.replace("{min_zoom}",t.minZoom.toString())),r}async updateSource(e,t){const a=this._sourceToLayerMap.get(e),r=this.getLayer(a);r&&(this.removeSource(e),await this.addSource(e,t,a),r.setSource(this._sources[e]))}removeSource(e){delete this._sources[e]}updateLayers(e){this._updateLayersImpl(e)}async _updateLayersImpl(e){const t=this.getLayerIDs();for(let a=0;a<e.length;a++){const r=e[a],o=this._model.sharedModel.getLayer(r);if(!o){console.warn(`Layer with ID ${r} does not exist in the shared model.`);continue}void 0!==this.getLayer(r)?this.moveLayer(r,a):await this.addLayer(r,o,a);const n=t.indexOf(r);n>-1&&t.splice(n,1)}t.forEach((e=>{const t=this.getLayer(e);void 0!==t&&this._Map.removeLayer(t)})),this._ready=!0}async _buildMapLayer(e,t){var a;const r=null===(a=t.parameters)||void 0===a?void 0:a.source,o=this._model.sharedModel.getLayerSource(r);if(!o)return;let n,s;switch(this._sources[r]||await this.addSource(r,o,e),t.type){case"RasterLayer":s=t.parameters,n=new st.A({opacity:s.opacity,visible:t.visible,source:this._sources[s.source]});break;case"VectorLayer":s=t.parameters,n=new at.A({opacity:s.opacity,visible:t.visible,source:this._sources[s.source],style:this.vectorLayerStyleRuleBuilder(t)});break;case"VectorTileLayer":s=t.parameters,n=new rt.A({opacity:s.opacity,source:this._sources[s.source]}),this.updateLayer(e,t,n);break;case"HillshadeLayer":s=t.parameters,n=new ot.A({opacity:.3,source:this._sources[s.source],style:{color:["color",this.hillshadeMath()]}});break;case"ImageLayer":s=t.parameters,n=new nt.A({opacity:s.opacity,source:this._sources[s.source]});break;case"WebGlLayer":{s=t.parameters;const e={opacity:s.opacity,source:this._sources[s.source]};s.color&&(e.style={color:s.color}),n=new ot.A(e);break}}return n.set("id",e),this._sourceToLayerMap.set(s.source,e),n}async addLayer(e,t,a){if(this.getLayer(e))return;const r=await this._buildMapLayer(e,t);void 0!==r&&this._Map.getLayers().insertAt(a,r)}async updateLayer(e,t,a){var r,o,n,s;const i=null===(r=t.parameters)||void 0===r?void 0:r.source,l=this._model.sharedModel.getLayerSource(i);if(l)switch(this._sources[i]||await this.addSource(i,l,e),a.setVisible(t.visible),t.type){case"RasterLayer":a.setOpacity((null===(o=t.parameters)||void 0===o?void 0:o.opacity)||1);break;case"VectorLayer":{const e=t.parameters;a.setOpacity(e.opacity||1),a.setStyle(this.vectorLayerStyleRuleBuilder(t));break}case"VectorTileLayer":{const e=t.parameters;a.setOpacity(e.opacity||1),a.setStyle(this.vectorLayerStyleRuleBuilder(t));break}case"HillshadeLayer":case"ImageLayer":break;case"WebGlLayer":a.setOpacity(null===(n=t.parameters)||void 0===n?void 0:n.opacity),(null===(s=null==t?void 0:t.parameters)||void 0===s?void 0:s.color)&&a.setStyle({color:t.parameters.color})}}removeLayer(e){const t=this.getLayer(e);t&&this._Map.removeLayer(t)}_onSharedOptionsChanged(e,t){if(!this._initializedPosition){const e=this._model.getOptions();this.updateOptions(e),this._initializedPosition=!0}}async updateOptions(e){const{projection:t,extent:a,useExtent:r,latitude:o,longitude:n,zoom:s,bearing:i}=e;let l=this._Map.getView();const c=l.getProjection().getCode();if(void 0!==t&&c!==t){const e=(0,it.Jt)(t);if(!e)return void console.warn(`Invalid projection: ${t}`);l=new He.Ay({projection:e})}if(r&&a)l.fit(a);else{const t=(0,it.Rb)([n||0,o||0],l.getProjection());this._moveToPosition({x:t[0],y:t[1]},s||0),e.extent||(e.extent=l.calculateExtent(),this._model.setOptions(e))}l.setRotation(i||0),this._Map.setView(l)}_onViewChanged(e,t){}getLayer(e){return this._Map.getLayers().getArray().find((t=>t.get("id")===e))}getLayerIndex(e){return this._Map.getLayers().getArray().findIndex((t=>t.get("id")===e))}getLayerIDs(){return this._Map.getLayers().getArray().map((e=>e.get("id")))}moveLayer(e,t){const a=this.getLayerIndex(e);if(a===t||-1===a)return;const r=this.getLayer(e);let o=t;void 0!==r&&(this._Map.getLayers().removeAt(a),a<t&&(o-=1),this._Map.getLayers().insertAt(o,r))}_onLayersChanged(e,t){var a;this._ready&&(null===(a=t.layerChange)||void 0===a||a.forEach((e=>{const t=e.newValue;if(t&&0!==Object.keys(t).length){const a=this.getLayer(e.id),r=qe.JupyterGISModel.getOrderedLayerIds(this._model);a&&(r.includes(e.id)?this.updateLayer(e.id,t,a):this.updateLayers(r))}else this.removeLayer(e.id)})))}_onLayerTreeChange(e,t){this._ready=!1,this.updateLayers(qe.JupyterGISModel.getOrderedLayerIds(this._model))}_onSourcesChange(e,t){var a;this._ready&&(null===(a=t.sourceChange)||void 0===a||a.forEach((e=>{if(e.newValue&&0!==Object.keys(e.newValue).length){const t=this._model.getSource(e.id);t&&this.updateSource(e.id,t)}else this.removeSource(e.id)})))}_computeAnnotationPosition(e){const{x:t,y:a}=e.position,r=this._Map.getPixelFromCoordinate([t,a]);if(r)return{x:r[0],y:r[1]}}_updateAnnotation(){Object.keys(this.state.annotations).forEach((e=>{var t;const a=document.getElementById(e);if(a){const r=null===(t=this._model.annotationModel)||void 0===t?void 0:t.getAnnotation(e);if(r){const e=this._computeAnnotationPosition(r);e&&(a.style.left=`${Math.round(e.x)}px`,a.style.top=`${Math.round(e.y)}px`)}}}))}_onZoomToAnnotation(e,t){var a;const r=null===(a=this._model.annotationModel)||void 0===a?void 0:a.getAnnotation(t);r&&this._moveToPosition(r.position,r.zoom)}_moveToPosition(e,t,a=1e3){const r=this._Map.getView();void 0===!r.animate?(r.animate({zoom:t,duration:a}),r.animate({center:[e.x,e.y],duration:a})):(r.setZoom(t),r.setCenter([e.x,e.y]))}_onPointerMove(e){const t=this._Map.getEventPixel(e),a=this._Map.getCoordinateFromPixel(t);this._syncPointer(a)}_identifyFeature(e){var t,a;if(!this._model.isIdentifying)return;const r=null===(t=this._model)||void 0===t?void 0:t.sharedModel.awareness.getLocalState(),o=null===(a=null==r?void 0:r.selected)||void 0===a?void 0:a.value;if(!o)return void console.warn("Layer must be selected to use identify tool");const n=Object.keys(o)[0],s=this._model.getLayer(n);switch(null==s?void 0:s.type){case"WebGlLayer":{const t=this.getLayer(n).getData(e.pixel);if(!t||t instanceof DataView)return;const a={};for(let e=0;e<t.length-1;e++)a[`Band ${e+1}`]=t[e];a.Alpha=t[t.length-1],this._model.syncIdentifiedFeatures([a],this._mainViewModel.id);break}}}render(){return S.createElement(S.Fragment,null,Object.entries(this.state.annotations).map((([e,t])=>{if(!this._model.annotationModel)return null;const a=this._computeAnnotationPosition(t);return a&&S.createElement("div",{key:e,id:e,style:{left:a.x,top:a.y},className:"jGIS-Popup-Wrapper"},S.createElement(It,{itemId:e,annotationModel:this._model.annotationModel,open:!1}))})),S.createElement("div",{className:"jGIS-Mainview",style:{border:this.state.remoteUser?`solid 3px ${this.state.remoteUser.color}`:"unset"}},S.createElement(Ge,{loading:this.state.loading}),S.createElement(xt,{remoteUser:this.state.remoteUser}),S.createElement(Et,{clients:this.state.clientPointers}),S.createElement("div",{ref:this.divRef,style:{width:"100%",height:"calc(100%)"}})))}}class At extends i.ReactWidget{constructor(e){super(),this._mainViewModel=e.mainViewModel,this.addClass("jp-jupytergis-panel")}render(){return S.createElement(Nt,{viewModel:this._mainViewModel})}}var Pt=a(22717);class Tt{constructor(e){this._isDisposed=!1,this._jGISModel=e.jGISModel,this._viewSetting=e.viewSetting}get isDisposed(){return this._isDisposed}get id(){return this._id}get jGISModel(){return this._jGISModel}get viewSettingChanged(){return this._viewSetting.changed}dispose(){this._isDisposed||(this._jGISModel.sharedLayersChanged.disconnect(this._onsharedLayersChanged,this),this._isDisposed=!0)}initSignal(){this._jGISModel.sharedLayersChanged.connect(this._onsharedLayersChanged,this)}addAnnotation(e){var t;null===(t=this._jGISModel.annotationModel)||void 0===t||t.addAnnotation((0,Pt.A)(),e)}async _onsharedLayersChanged(e,t){t.layerChange}}class Rt extends wt.Widget{constructor(){super({node:Dt()}),this.title.changed.connect((e=>{this.node.textContent=this.title.label}))}}function Dt(){const e=document.createElement("h2");return e.textContent="-",e}const zt="jp-gis-layerGroupHeader",Bt="jp-gis-layerItem",Vt="jp-gis-layerIcon",Wt="jp-gis-layerText";class Ft extends wt.Panel{constructor(e){super(),this._onDragOver=e=>{e.stopPropagation(),e.preventDefault(),this.node.appendChild(Ht.dragIndicator),Ht.dragInfo.dragOverElement=null,Ht.dragInfo.dragOverPosition=null},this._onDrop=e=>{if(Ht.dragIndicator.style.display="none",void 0===this._model)return;const{jGISModel:t}=this._model,{draggedElement:a,dragOverElement:r,dragOverPosition:o}=Ht.dragInfo;if("error"===r)return;if(!a)return;const n=a.dataset.id;if(!n)return;if(null===r)return void(null==t||t.moveItemsToGroup([n],"",0));const s=r.dataset.id;s&&(r.classList.contains(zt)&&"below"===o?null==t||t.moveItemsToGroup([n],s):null==t||t.moveItemRelatedTo(n,s,"above"===o))},this._model=e.model,this._onSelect=e.onSelect,this._state=e.state,this.id="jupytergis::layerTree",this.addClass("jp-gis-layerPanel"),this.addWidget(l.ReactWidget.create(w().createElement(Ut,{model:this._model,onSelect:this._onSelect,state:this._state}))),this.node.ondragover=this._onDragOver,this.node.ondrop=this._onDrop}}function Ut(e){var t,a;const[r,o]=(0,S.useState)(null===(t=e.model)||void 0===t?void 0:t.jGISModel),[n,s]=(0,S.useState)((null==r?void 0:r.getLayerTree())||[]),i=({type:t,item:a,nodeId:r,event:o})=>{e.onSelect({type:t,item:a,nodeId:r,event:o})};return(0,S.useEffect)((()=>{const e=()=>{s((null==r?void 0:r.getLayerTree())||[])};return null==r||r.sharedModel.layersChanged.connect(e),null==r||r.sharedModel.layerTreeChanged.connect(e),()=>{null==r||r.sharedModel.layersChanged.disconnect(e),null==r||r.sharedModel.layerTreeChanged.disconnect(e)}}),[r]),null===(a=e.model)||void 0===a||a.documentChanged.connect(((e,t)=>{var a;o(null==t?void 0:t.context.model),s((null===(a=null==t?void 0:t.context.model)||void 0===a?void 0:a.getLayerTree())||[])})),w().createElement("div",{id:"jp-gis-layer-tree"},n.slice().reverse().map((t=>"string"==typeof t?w().createElement($t,{key:t,gisModel:r,layerId:t,onClick:i}):w().createElement(Jt,{key:t.name,gisModel:r,group:t,onClick:i,state:e.state}))))}function Jt(e){var t,a;const{group:r,gisModel:o,onClick:n,state:s}=e;if(void 0===r)return w().createElement(w().Fragment,null);const[c,d]=(0,S.useState)(""),[m,u]=(0,S.useState)(!1),p=null!==(t=null==r?void 0:r.name)&&void 0!==t?t:"Undefined group",y=null!==(a=null==r?void 0:r.layers)&&void 0!==a?a:[],[h,g]=(0,S.useState)(qt(r.name,o));return(0,S.useEffect)((()=>{d(i.DOMUtils.createDomID()),(async()=>{var e;const t=await s.fetch(`jupytergis:${r.name}`);u(null!==(e=null==t?void 0:t.expanded)&&void 0!==e&&e)})()}),[]),(0,S.useEffect)((()=>{const e=()=>{g(qt(r.name,o))};return null==o||o.clientStateChanged.connect(e),()=>{null==o||o.clientStateChanged.disconnect(e)}}),[o]),w().createElement("div",{className:`${Bt} jp-gis-layerGroup`,draggable:!0,onDragStart:Ht.onDragStart,onDragEnd:Ht.onDragEnd,"data-id":p},w().createElement("div",{onClick:async()=>{s.save(`jupytergis:${r.name}`,{expanded:!m}),u(!m)},onContextMenu:e=>{var t;const a=null===(t=e.currentTarget.children.namedItem(c))||void 0===t?void 0:t.id;n({type:"group",item:p,nodeId:a,event:e})},className:`${zt}${h?" jp-mod-selected":""}`,onDragOver:Ht.onDragOver,"data-id":p},w().createElement(l.LabIcon.resolveReact,{icon:l.caretDownIcon,className:"jp-gis-layerGroupCollapser"+(m?" jp-mod-expanded":""),tag:"span"}),w().createElement("span",{id:c,className:Wt},p)),m&&w().createElement("div",null,y.slice().reverse().map((t=>"string"==typeof t?w().createElement($t,{key:t,gisModel:o,layerId:t,onClick:n}):w().createElement(Jt,{key:t.name,gisModel:o,group:t,onClick:n,state:e.state})))))}function qt(e,t){var a,r,o,n;return(null===(r=null===(a=null==t?void 0:t.localState)||void 0===a?void 0:a.selected)||void 0===r?void 0:r.value)&&Object.keys(null===(n=null===(o=null==t?void 0:t.localState)||void 0===o?void 0:o.selected)||void 0===n?void 0:n.value).includes(e)||!1}function $t(e){const{layerId:t,gisModel:a,onClick:r}=e,o=null==a?void 0:a.getLayer(t);if(void 0===o)return w().createElement(w().Fragment,null);const[n,s]=(0,S.useState)(""),[c,d]=(0,S.useState)(qt(t,a)),m=o.name;(0,S.useEffect)((()=>{s(i.DOMUtils.createDomID())}),[]),(0,S.useEffect)((()=>{const e=(e,r)=>{d(qt(t,a))};return null==a||a.clientStateChanged.connect(e),()=>{null==a||a.clientStateChanged.disconnect(e)}}),[a]);const u=e=>{var a;const o=null===(a=e.currentTarget.children.namedItem(n))||void 0===a?void 0:a.id;r({type:"layer",item:t,nodeId:o,event:e})};return w().createElement("div",{className:`${Bt} jp-gis-layer${c?" jp-mod-selected":""}`,draggable:!0,onDragStart:Ht.onDragStart,onDragOver:Ht.onDragOver,onDragEnd:Ht.onDragEnd,"data-id":t},w().createElement("div",{className:"jp-gis-layerTitle",onClick:u,onContextMenu:u},b.has(o.type)&&w().createElement(l.LabIcon.resolveReact,Object.assign({},b.get(o.type),{className:Vt})),w().createElement("span",{id:n,className:Wt},m)),w().createElement(l.Button,{title:o.visible?"Hide layer":"Show layer",onClick:()=>{var e;o.visible=!o.visible,null===(e=null==a?void 0:a.sharedModel)||void 0===e||e.updateLayer(t,o)},minimal:!0},w().createElement(l.LabIcon.resolveReact,{icon:o.visible?p:y,className:`${Vt}${o.visible?"":" jp-gis-mod-hidden"}`,tag:"span"})))}var Ht,Zt;!function(e){e.dragIndicator=document.createElement("div"),e.dragIndicator.id="jp-drag-indicator",e.dragInfo={draggedElement:null,dragOverElement:null,dragOverPosition:null},e.onDragStart=t=>{e.dragInfo.draggedElement=t.target},e.onDragOver=t=>{var a;t.preventDefault(),t.stopPropagation();const{clientY:r}=t;let o=t.target.closest(`.${zt}, .${Bt}`);if(!o)return;if(null===(a=e.dragInfo.draggedElement)||void 0===a?void 0:a.contains(o))return void(e.dragInfo.dragOverElement="error");e.dragInfo.dragOverElement=o;const n=o.getBoundingClientRect();r-n.top<n.bottom-r?(e.dragInfo.dragOverPosition="above",o.classList.contains(zt)&&(o=o.parentNode),o.insertAdjacentElement("beforebegin",e.dragIndicator),e.dragIndicator.style.display="block"):(e.dragInfo.dragOverPosition="below",o.insertAdjacentElement("afterend",e.dragIndicator),e.dragIndicator.style.display="block")},e.onDragEnd=()=>{e.dragIndicator.style.display="none",e.dragInfo.draggedElement=null,e.dragInfo.dragOverElement=null,e.dragInfo.dragOverPosition=null}}(Ht||(Ht={}));class Qt extends wt.Panel{constructor(e){super(),this._model=e.model,this._onSelect=e.onSelect,this.id="jupytergis::sourcesPanel",this.addClass("jp-gis-sourcePanel"),this.addWidget(l.ReactWidget.create(w().createElement(Yt,{model:this._model,onSelect:this._onSelect})))}}function Yt(e){var t,a;const[r,o]=(0,S.useState)(null===(t=e.model)||void 0===t?void 0:t.jGISModel),[n,s]=(0,S.useState)(Zt.sortedSourceIds(r)),i=({type:t,item:a,nodeId:r,event:o})=>{e.onSelect({type:t,item:a,nodeId:r,event:o})};return(0,S.useEffect)((()=>{const e=()=>{s([...Zt.sortedSourceIds(r)])};return null==r||r.sharedModel.sourcesChanged.connect(e),null==r||r.clientStateChanged.connect(e),e(),()=>{null==r||r.sharedModel.sourcesChanged.disconnect(e),null==r||r.clientStateChanged.disconnect(e)}}),[r]),null===(a=e.model)||void 0===a||a.documentChanged.connect(((e,t)=>{o(null==t?void 0:t.context.model)})),w().createElement("div",{id:"jp-gis-sources"},n.map((e=>w().createElement(Xt,{key:`source-${e}`,gisModel:r,sourceId:e,onClick:i}))))}function Kt(e,t){var a,r,o,n;return(null===(r=null===(a=null==t?void 0:t.localState)||void 0===a?void 0:a.selected)||void 0===r?void 0:r.value)&&Object.keys(null===(n=null===(o=null==t?void 0:t.localState)||void 0===o?void 0:o.selected)||void 0===n?void 0:n.value).includes(e)||!1}function Xt(e){const{sourceId:t,gisModel:a,onClick:r}=e,o=null==a?void 0:a.getSource(t);if(void 0===o)return w().createElement(w().Fragment,null);const[n,s]=(0,S.useState)(""),[c,d]=(0,S.useState)(Kt(t,a)),[m,u]=(0,S.useState)(!1),p=o.name;(0,S.useEffect)((()=>{s(i.DOMUtils.createDomID())}),[]),(0,S.useEffect)((()=>{const e=()=>{const e=null==a?void 0:a.getLayersBySource(t);u(!e||0===e.length)};return null==a||a.sharedLayersChanged.connect(e),e(),()=>{null==a||a.sharedLayersChanged.disconnect(e)}}),[a]),(0,S.useEffect)((()=>{const e=(e,r)=>{d(Kt(t,a))};return null==a||a.clientStateChanged.connect(e),()=>{null==a||a.clientStateChanged.disconnect(e)}}),[a]);const y=e=>{var a;const o=null===(a=e.currentTarget.children.namedItem(n))||void 0===a?void 0:a.id;r({type:"source",item:t,nodeId:o,event:e})};let h="jp-gis-source";return c&&(h=h.concat(" jp-mod-selected")),m&&(h=h.concat(" jp-gis-sourceUnused")),w().createElement("div",{className:h},w().createElement("div",{className:"jp-gis-sourceTitle",onClick:y,onContextMenu:y},b.has(o.type)&&w().createElement(l.LabIcon.resolveReact,Object.assign({},b.get(o.type),{className:"jp-gis-sourceIcon"})),w().createElement("span",{id:n,className:"jp-gis-sourceText"},p),m&&w().createElement("span",{className:"jp-gis-sourceInfo"},"(unused)")))}!function(e){e.sortedSourceIds=function(e){const t=null==e?void 0:e.getSources();return void 0===t?[]:Object.keys(t).sort(((e,a)=>{const r=t[e].name.toLowerCase(),o=t[a].name.toLowerCase();return r<o?-1:r>o?1:0}))}}(Zt||(Zt={}));var ea=a(45250);const ta=({index:e,features:t,filterRows:a,setFilterRows:r,deleteRow:o})=>{const[n,s]=(0,S.useState)({}),[i,c]=(0,S.useState)(a[e].feature||Object.keys(t)[0]);(0,S.useEffect)((()=>{c(a[e].feature)}),[a]),(0,S.useEffect)((()=>{const e=Object.keys(t).sort(),a={};for(const r of e){const e=Array.from(t[r]).sort();a[r]=e}s(a)}),[t]),(0,S.useEffect)((()=>{var t;const a=document.getElementById(`jp-gis-value-select-${e}`);if(!a)return;const r=null===(t=a.options[a.selectedIndex])||void 0===t?void 0:t.value;r&&d(r)}),[i]);const d=t=>{const o=[...a],s="number"==typeof n[i][0];o[e].value=s?+t:t,r(o)};return w().createElement("div",{className:"jp-gis-filter-row"},w().createElement("select",{id:`jp-gis-feature-select-${e}`,className:"jp-mod-styled rjsf",onChange:t=>{const o=[...a];o[e].feature=t.target.value,c(t.target.value),r(o)}},Object.keys(n).map(((t,r)=>w().createElement("option",{key:r,value:t,selected:t===a[e].feature},t)))),w().createElement("select",{id:`jp-gis-operator-select-${e}`,className:"jp-mod-styled rjsf",onChange:t=>{const o=[...a];o[e].operator=t.target.value,r(o)}},["==","!=",">","<",">=","<="].map(((t,r)=>w().createElement("option",{key:r,value:t,selected:t===a[e].operator},t)))),w().createElement("select",{id:`jp-gis-value-select-${e}`,className:"jp-mod-styled rjsf",onChange:e=>{d(e.target.value)}},n[i]&&[...n[i]].map(((t,r)=>w().createElement("option",{key:r,value:t,selected:t===a[e].value},t)))),w().createElement(l.Button,{id:`jp-gis-remove-filter-${e}`,className:"jp-Button jp-gis-filter-icon"},w().createElement(he.g,{icon:ye.yLS,onClick:o})))};class aa extends wt.Panel{constructor(e){super(),this._model=e.model,this._tracker=e.tracker,this.id="jupytergis::layerTree",this.addWidget(l.ReactWidget.create(w().createElement(ra,{model:this._model,tracker:this._tracker})))}}const ra=e=>{var t;const a=(0,S.useRef)({}),[r,o]=(0,S.useState)(""),[n,s]=(0,S.useState)("all"),[i,c]=(0,S.useState)(""),[d,m]=(0,S.useState)(!1),[u,p]=(0,S.useState)([]),[y,h]=(0,S.useState)({}),[g,v]=(0,S.useState)(e.model.jGISModel);null===(t=e.model)||void 0===t||t.documentChanged.connect(((e,t)=>{v(null==t?void 0:t.context.model)})),(0,S.useEffect)((()=>{const t=()=>{var t;(null===(t=e.tracker.currentWidget)||void 0===t?void 0:t.id)!==r&&(e.tracker.currentWidget&&o(e.tracker.currentWidget.id),h({}),p([]),s("all"),c(""))};return e.tracker.currentChanged.connect(t),()=>{e.tracker.currentChanged.disconnect(t)}}),[]),(0,S.useEffect)((()=>{var e,t,a,r;(null===(t=null===(e=null==g?void 0:g.localState)||void 0===e?void 0:e.selected)||void 0===t?void 0:t.value)&&c(Object.keys(null===(r=null===(a=null==g?void 0:g.localState)||void 0===a?void 0:a.selected)||void 0===r?void 0:r.value)[0])}),[r]),(0,S.useEffect)((()=>{const t=()=>{var e,t,a,r;if(!(null===(t=null===(e=null==g?void 0:g.localState)||void 0===e?void 0:e.selected)||void 0===t?void 0:t.value))return;const o=Object.keys(null===(r=null===(a=null==g?void 0:g.localState)||void 0===a?void 0:a.selected)||void 0===r?void 0:r.value)[0];c(o)},a=(t,a)=>{var o,n,s,i,l;if((null===(o=e.tracker.currentWidget)||void 0===o?void 0:o.id)===r&&a.has("zoom")){if(!(null===(s=null===(n=null==g?void 0:g.localState)||void 0===n?void 0:n.selected)||void 0===s?void 0:s.value))return;const e=Object.keys(null===(l=null===(i=null==g?void 0:g.localState)||void 0===i?void 0:i.selected)||void 0===l?void 0:l.value)[0];b(e)}};return null==g||g.clientStateChanged.connect(t),null==g||g.sharedOptionsChanged.connect(a),()=>{null==g||g.clientStateChanged.disconnect(t),null==g||g.sharedOptionsChanged.disconnect(a)}}),[g]),(0,S.useEffect)((()=>{var e,t,a,r;h({});const o=null==g?void 0:g.getLayer(i);o&&"VectorLayer"===o.type?(m(!0),p(null!==(t=null===(e=o.filters)||void 0===e?void 0:e.appliedFilters)&&void 0!==t?t:[]),s(null!==(r=null===(a=o.filters)||void 0===a?void 0:a.logicalOp)&&void 0!==r?r:"all"),f()):m(!1)}),[i]),(0,S.useEffect)((()=>{a.current=y}),[y]);const f=async e=>{var t,r,o,n;if(!g)return;const s=g.getLayer(null!=e?e:i),l=g.getSource(null===(t=null==s?void 0:s.parameters)||void 0===t?void 0:t.source),{latitude:c,longitude:d,extent:m,zoom:u}=g.getOptions();if(!l||!s)return;const p=(0,ea.cloneDeep)(a.current);switch(s.filters&&s.filters.appliedFilters.map((e=>{e.feature in p||(p[e.feature]=new Set),p[e.feature].add(e.value)})),l.type){case"VectorTileSource":try{const e=(await B(null===(r=null==l?void 0:l.parameters)||void 0===r?void 0:r.url,{latitude:c,longitude:d,extent:m,zoom:u})).layers[null===(o=s.parameters)||void 0===o?void 0:o.sourceLayer];for(let t=0;t<e.length;t++){const a=e.feature(t);_(a.properties,p)}}catch(e){console.warn(`Error fetching tile info: ${e}`)}break;case"GeoJSONSource":{const e=await(null==g?void 0:g.readGeoJSON(null===(n=l.parameters)||void 0===n?void 0:n.path));null==e||e.features.forEach((e=>{e.properties&&_(e.properties,p)}));break}default:console.warn("Source type not supported")}h(p)},b=L(f,500),_=(e,t)=>{Object.entries(e).forEach((([e,a])=>{e in t||(t[e]=new Set),t[e].add(a)}))},C=(e,t)=>{const a=null==g?void 0:g.getLayer(i);a&&(a.filters={logicalOp:null!=t?t:n,appliedFilters:e},null==g||g.sharedModel.updateLayer(i,a))};return w().createElement(w().Fragment,null,d&&w().createElement("div",{className:"jp-gis-filter-main"},w().createElement("div",{id:"filter-container",className:"jp-gis-filter-select-container"},w().createElement("select",{className:"jp-mod-styled rjsf jp-gis-logical-select",onChange:e=>{s(e.target.value),C(u,e.target.value)}},w().createElement("option",{key:"all",value:"all",selected:"all"===n},"All"),w().createElement("option",{key:"any",value:"any",selected:"any"===n},"Any")),u.map(((e,t)=>w().createElement(ta,{key:t,index:t,features:y,filterRows:u,setFilterRows:p,deleteRow:()=>(e=>{const t=[...u];t.splice(e,1),C(t),p(t)})(t)})))),w().createElement("div",{className:"jp-gis-filter-button-container"},w().createElement("div",{style:{justifyContent:"flex-start"}},w().createElement(l.Button,{className:"jp-Dialog-button jp-mod-accept jp-mod-styled",onClick:()=>{p([...u,{feature:Object.keys(y)[0],operator:"==",value:[...Object.values(y)[0]][0]}])}},"Add"),w().createElement(l.Button,{className:"jp-Dialog-button jp-mod-reject jp-mod-styled",onClick:()=>{C([]),p([])}},"Clear")),w().createElement(l.Button,{className:"jp-Dialog-button jp-mod-accept jp-mod-styled",onClick:()=>{C(u)}},"Submit"))))};class oa extends l.SidePanel{constructor(e){super(),this._onSelect=({type:e,item:t,nodeId:a,event:r})=>{var o,n;if(!this._model||!a)return;const{jGISModel:s}=this._model,i=null===(n=null===(o=null==s?void 0:s.localState)||void 0===o?void 0:o.selected)||void 0===n?void 0:n.value,l=document.getElementById(a);if(l)if(l.tabIndex=0,l.focus(),i){if(r.ctrlKey||2!==r.button||!(t in i))if(r.ctrlKey){if(a){if(!Object.values(i).some((t=>t.type===e)))return void this.resetSelected(e,a,t);const r=Object.assign(Object.assign({},i),{[t]:{type:e,selectedNodeId:a}});this._lastSelectedNodeId=a,s.syncSelected(r,this.id)}}else this.resetSelected(e,a,t)}else this.resetSelected(e,a,t)},this.addClass("jGIS-sidepanel-widget"),this._model=e.model,this._state=e.state;const t=new Rt;this.header.addWidget(t);const a=new Qt({model:this._model,onSelect:this._onSelect});a.title.caption="Sources",a.title.label="Sources",this.addWidget(a);const r=new Ft({model:this._model,state:this._state,onSelect:this._onSelect});r.title.caption="Layer tree",r.title.label="Layers",this.addWidget(r);const o=new aa({model:this._model,tracker:e.tracker});o.title.caption="Filters",o.title.label="Filters",this.addWidget(o),e.tracker.currentChanged.connect(((e,a)=>{t.title.label=a?a.context.localPath:"-"}))}dispose(){super.dispose()}onAfterAttach(e){super.onAfterAttach(e),this.node.addEventListener("mouseup",this)}onBeforeDetach(e){super.onBeforeDetach(e),this.node.removeEventListener("mouseup",this)}handleEvent(e){"mouseup"===e.type&&this._mouseUpEvent(e)}_mouseUpEvent(e){const t=document.getElementById(this._lastSelectedNodeId);t&&t.focus()}resetSelected(e,t,a){var r,o;const n={};a&&t&&(n[a]={type:e,selectedNodeId:t},this._lastSelectedNodeId=t),null===(o=null===(r=this._model)||void 0===r?void 0:r.jGISModel)||void 0===o||o.syncSelected(n,this.id)}}class na{constructor(e){this._tracker=e.tracker,this._documentChanged=this._tracker.currentChanged}get documentChanged(){return this._documentChanged}get filePath(){var e;return null===(e=this._tracker.currentWidget)||void 0===e?void 0:e.context.localPath}get jGISModel(){var e;return null===(e=this._tracker.currentWidget)||void 0===e?void 0:e.context.model}get sharedModel(){var e;return null===(e=this._tracker.currentWidget)||void 0===e?void 0:e.context.model.sharedModel}disconnect(e){this._tracker.forEach((t=>{t.context.model.sharedLayersChanged.disconnect(e),t.context.model.sharedSourcesChanged.disconnect(e),t.context.model.sharedOptionsChanged.disconnect(e)})),this._tracker.forEach((t=>t.context.model.themeChanged.disconnect(e))),this._tracker.forEach((t=>t.context.model.clientStateChanged.disconnect(e)))}}class sa extends S.Component{async syncObjectProperties(e,t){e&&this.props.context.model.sharedModel.updateObjectParameters(e,t)}render(){let e,t,a,r,o,n,s;if(this.props.layer){const r=this.props.context.model.getLayer(this.props.layer);if(!r)return;if(t=le((null==r?void 0:r.type)||"RasterLayer"),a=D((null==r?void 0:r.parameters)||{}),e=D(this.props.formSchemaRegistry.getSchemas().get(r.type)),!e)return void console.error(`Cannot find schema for ${r.type}`)}if(this.props.source){if(s=this.props.context.model.getSource(this.props.source),!s)return;if(o=ce((null==s?void 0:s.type)||"RasterSource"),n=D((null==s?void 0:s.parameters)||{}),r=D(this.props.formSchemaRegistry.getSchemas().get(s.type)),!r)return void console.error(`Cannot find schema for ${s.type}`)}return S.createElement("div",null,this.props.layer&&t&&S.createElement("div",null,S.createElement("h3",null,"Layer Properties"),S.createElement(t,{formContext:"create",sourceType:(null==s?void 0:s.type)||"RasterSource",model:this.props.context.model,filePath:`${this.props.context.path}::panel`,schema:e,sourceData:a,syncData:e=>{this.syncObjectProperties(this.props.layer,e)}})),this.props.source&&o&&S.createElement("div",null,S.createElement("h3",null,"Source Properties"),S.createElement(o,{formContext:"create",model:this.props.context.model,filePath:`${this.props.context.path}::panel`,schema:r,sourceData:n,syncData:e=>{this.syncObjectProperties(this.props.source,e)}})))}}class ia extends l.PanelWithToolbar{constructor(e){super(e),this.title.label="Objects Properties";const t=i.ReactWidget.create(S.createElement(la,{cpModel:e.controlPanelModel,tracker:e.tracker,formSchemaRegistry:e.formSchemaRegistry}));this.addWidget(t),this.addClass("jGIS-sidebar-propertiespanel")}}class la extends S.Component{constructor(e){var t,a,r;super(e),this._sharedJGISModelChanged=()=>{this.forceUpdate()},this._onClientSharedStateChanged=(e,t)=>{var a,r;let o;const n=this.state.clientId,s=n?t.get(n):null;if(s&&(null===(a=s.selected)||void 0===a?void 0:a.emitter)&&s.selected.emitter!==this.state.id&&(null===(r=s.selected)||void 0===r?void 0:r.value)&&(o=s),o){const e=o.selected.value,t=Object.keys(e||{});if(void 0===e||1!==t.length)return void this.setState((e=>Object.assign(Object.assign({},e),{selectedObject:void 0})));const a=t[0];a!==this.state.selectedObject&&this.setState((e=>Object.assign(Object.assign({},e),{selectedObject:a})))}},this.state={context:null===(t=e.tracker.currentWidget)||void 0===t?void 0:t.context,clientId:null,id:(0,Pt.A)()},null===(a=this.props.cpModel.jGISModel)||void 0===a||a.sharedLayersChanged.connect(this._sharedJGISModelChanged),null===(r=this.props.cpModel.jGISModel)||void 0===r||r.sharedSourcesChanged.connect(this._sharedJGISModelChanged),this.props.cpModel.documentChanged.connect(((e,t)=>{t?(this.props.cpModel.disconnect(this._sharedJGISModelChanged),this.props.cpModel.disconnect(this._onClientSharedStateChanged),t.context.model.sharedLayersChanged.connect(this._sharedJGISModelChanged),t.context.model.sharedSourcesChanged.connect(this._sharedJGISModelChanged),t.context.model.clientStateChanged.connect(this._onClientSharedStateChanged),this.setState((e=>Object.assign(Object.assign({},e),{context:t.context,filePath:t.context.localPath,clientId:t.context.model.getClientId()})))):this.setState({context:void 0,selectedObject:void 0})}))}render(){var e;const t=this.state.selectedObject;if(!t||!this.state.context)return S.createElement("div",null);let a,r;const o=this.state.context.model.getLayer(t);return o?(a=t,r=null===(e=o.parameters)||void 0===e?void 0:e.source):this.state.context.model.getSource(t)&&(r=t),S.createElement(sa,{layer:a,source:r,formSchemaRegistry:this.props.formSchemaRegistry,context:this.state.context})}}class ca extends S.Component{constructor(e){super(e);const t=()=>{this.forceUpdate()};this._annotationModel=e.annotationModel,this._rightPanelModel=e.rightPanelModel,this._annotationModel.contextChanged.connect((async()=>{var a,r,o,n,s,i,l,c;await(null===(r=null===(a=this._annotationModel)||void 0===a?void 0:a.context)||void 0===r?void 0:r.ready),null===(s=null===(n=null===(o=this._annotationModel)||void 0===o?void 0:o.context)||void 0===n?void 0:n.model)||void 0===s||s.sharedMetadataChanged.disconnect(t),this._annotationModel=e.annotationModel,null===(c=null===(l=null===(i=this._annotationModel)||void 0===i?void 0:i.context)||void 0===l?void 0:l.model)||void 0===c||c.sharedMetadataChanged.connect(t),this.forceUpdate()}))}render(){var e;const t=null===(e=this._annotationModel)||void 0===e?void 0:e.getAnnotationIds();if(!t||!this._annotationModel)return w().createElement("div",null);const a=t.map((e=>w().createElement("div",null,w().createElement(jt,{rightPanelModel:this._rightPanelModel,annotationModel:this._annotationModel,itemId:e}),w().createElement("hr",{className:"jGIS-Annotations-Separator"}))));return w().createElement("div",null,a)}}class da extends l.PanelWithToolbar{constructor(e){super({}),this.title.label="Annotations",this.addClass("jGIS-Annotations"),this._annotationModel=e.annotationModel,this._rightPanelModel=e.rightPanelModel,this._widget=l.ReactWidget.create(w().createElement(ca,{rightPanelModel:this._rightPanelModel,annotationModel:this._annotationModel})),this.addWidget(this._widget)}}class ma extends wt.Panel{constructor(e){super(),this._model=e.model,this._tracker=e.tracker,this.id="jupytergis::identifyPanel",this.title.caption="Identify",this.title.label="Identify",this.addWidget(l.ReactWidget.create(w().createElement(ua,{controlPanelModel:this._model,tracker:this._tracker})))}}const ua=({controlPanelModel:e,tracker:t})=>{var a;const[r,o]=(0,S.useState)(""),[n,s]=(0,S.useState)(),[i,c]=(0,S.useState)({0:!0}),[d,m]=(0,S.useState)(null),[u,p]=(0,S.useState)(null==e?void 0:e.jGISModel),y=(0,S.useRef)(n);return null==e||e.documentChanged.connect(((e,t)=>{p(null==t?void 0:t.context.model)})),(0,S.useEffect)((()=>{const e=()=>{var e;(null===(e=t.currentWidget)||void 0===e?void 0:e.id)!==r&&(t.currentWidget&&o(t.currentWidget.id),s({}),c({0:!0}))};return t.currentChanged.connect(e),()=>{t.currentChanged.disconnect(e)}}),[]),(0,S.useEffect)((()=>{y.current=n}),[n]),(0,S.useEffect)((()=>{const e=(e,t)=>{var a,r,o,n,i,l;const c=null===(a=null==u?void 0:u.localState)||void 0===a?void 0:a.remoteUser;if(c){const e=t.get(c);return void(e&&((null===(r=e.user)||void 0===r?void 0:r.username)!==(null==d?void 0:d.username)&&m(e.user),s(null!==(n=null===(o=e.identifiedFeatures)||void 0===o?void 0:o.value)&&void 0!==n?n:{})))}const p=null===(l=null===(i=null==u?void 0:u.localState)||void 0===i?void 0:i.identifiedFeatures)||void 0===l?void 0:l.value;p?u.isIdentifying&&y.current!==p&&s(p):s({})};return null==u||u.clientStateChanged.connect(e),()=>{null==u||u.clientStateChanged.disconnect(e)}}),[u]),w().createElement("div",{className:"jgis-identify-wrapper",style:{border:(null===(a=null==u?void 0:u.localState)||void 0===a?void 0:a.remoteUser)?`solid 3px ${null==d?void 0:d.color}`:"unset"}},n&&Object.values(n).map(((e,t)=>w().createElement("div",{key:t,className:"jgis-identify-grid-item"},w().createElement("div",{className:"jgis-identify-grid-item-header",onClick:()=>{return e=t,console.log("visibleFeatures",i),void c((t=>Object.assign(Object.assign({},t),{[e]:!t[e]})));var e}},w().createElement(l.LabIcon.resolveReact,{icon:l.caretDownIcon,className:"jp-gis-layerGroupCollapser"+(i[t]?" jp-mod-expanded":""),tag:"span"}),w().createElement("span",null,"Feature ",t+1,":")),i[t]&&w().createElement(w().Fragment,null,Object.entries(e).filter((([e,t])=>"object"!=typeof t||null===t)).map((([e,t])=>w().createElement("div",{key:e,className:"jgis-identify-grid-body"},w().createElement("strong",null,e,":"),"string"==typeof t&&/<\/?[a-z][\s\S]*>/i.test(t)?w().createElement("span",{dangerouslySetInnerHTML:{__html:`${t}`}}):w().createElement("span",null,String(t))))))))))},pa=ma;class ya extends l.SidePanel{constructor(e){super(),this.addClass("jGIS-sidepanel-widget"),this._model=e.model,this._annotationModel=e.annotationModel;const t=new Rt;this.header.addWidget(t);const a=new ia({controlPanelModel:this._model,formSchemaRegistry:e.formSchemaRegistry,tracker:e.tracker});this.addWidget(a);const r=new da({rightPanelModel:this._model,annotationModel:this._annotationModel});this.addWidget(r);const o=new pa({model:this._model,tracker:e.tracker});o.title.caption="Identify",o.title.label="Identify",this.addWidget(o),this._model.documentChanged.connect(((e,r)=>{r?r.context.model.sharedModel.editable?(t.title.label=r.context.localPath,a.show()):(t.title.label=`${r.context.localPath} - Read Only`,a.hide()):t.title.label="-"})),e.tracker.currentChanged.connect((async(a,r)=>{var o;r?(this._currentContext=r.context,t.title.label=this._currentContext.localPath,this._annotationModel.context=(null===(o=e.tracker.currentWidget)||void 0===o?void 0:o.context)||void 0,await r.context.ready):(t.title.label="-",this._currentContext=null,this._annotationModel.context=void 0)}))}dispose(){super.dispose()}}class ha extends S.Component{constructor(e){super(e),this.selectUser=e=>{var t;let a;e.userId!==(null===(t=this.state.selectedUser)||void 0===t?void 0:t.userId)&&(a=e),this.setState((e=>Object.assign(Object.assign({},e),{selectedUser:a})),(()=>{this._model.setUserToFollow(null==a?void 0:a.userId)}))},this._model=e.model,this.state={usersList:[]}}componentDidMount(){this.setState((e=>Object.assign(Object.assign({},e),{usersList:this._model.users}))),this._model.userChanged.connect(((e,t)=>{this.setState((e=>Object.assign(Object.assign({},e),{usersList:t})))}))}createUserIcon(e){var t;let a;const{userId:r,userData:o}=e,n=r===(null===(t=this.state.selectedUser)||void 0===t?void 0:t.userId)?"selected":"";return a=o.avatar_url?S.createElement("div",{key:r,title:o.display_name,className:`lm-MenuBar-itemIcon jp-MenuBar-imageIcon ${n}`,onClick:()=>this.selectUser(e)},S.createElement("img",{src:o.avatar_url,alt:""})):S.createElement("div",{key:r,title:o.display_name,className:`lm-MenuBar-itemIcon jp-MenuBar-anonymousIcon ${n}`,style:{backgroundColor:o.color},onClick:()=>this.selectUser(e)},S.createElement("span",null,o.initials)),a}filterDuplicated(e){var t;const a=[],r=new Set;for(const o of e)(null===(t=null==o?void 0:o.userData)||void 0===t?void 0:t.username)&&!r.has(o.userData.username)&&(r.add(o.userData.username),a.push(o));return a}render(){return S.createElement("div",{className:"jGIS-toolbar-usertoolbar"},this.filterDuplicated(this.state.usersList).map((e=>{if(e.userId!==this._model.currentUserId)return this.createUserIcon(e)})))}}const ga="jGIS-Toolbar-Separator",va="jGIS-Toolbar-GroupName";class fa extends wt.Widget{constructor(){super(),this.addClass(ga)}}class ba extends l.ReactiveToolbar{constructor(e){if(super(),this.addClass("jGIS-toolbar-widget"),e.commands){this.addItem("undo",new i.CommandToolbarButton({id:v.undo,label:"",icon:l.undoIcon,commands:e.commands})),this.addItem("redo",new i.CommandToolbarButton({id:v.redo,label:"",icon:l.redoIcon,commands:e.commands})),this.addItem("separator0",new fa),this.addItem("Toggle console",new i.CommandToolbarButton({id:v.toggleConsole,commands:e.commands,label:"",icon:l.terminalIcon})),this.addItem("separator1",new fa),this.addItem("openLayerBrowser",new i.CommandToolbarButton({id:v.openLayerBrowser,label:"",commands:e.commands})),this.addItem("newRasterEntry",new i.CommandToolbarButton({id:v.newRasterEntry,label:"",commands:e.commands})),this.addItem("newVectorTileEntry",new i.CommandToolbarButton({id:v.newVectorTileEntry,label:"",commands:e.commands}));const t=new l.ToolbarButton({icon:l.addIcon,noFocusOnClick:!1,onClick:()=>{if(!e.commands)return;const a=t.node.getBoundingClientRect(),r=new wt.Menu({commands:e.commands});r.title.label="New Layer",r.addItem({type:"command",command:v.newHillshadeEntry}),r.addItem({type:"separator"}),r.addItem({type:"command",command:v.newImageEntry}),r.addItem({type:"separator"}),r.addItem({type:"command",command:v.newShapefileLayer}),r.addItem({type:"command",command:v.newGeoTiffEntry}),r.addItem({type:"command",command:v.newGeoJSONEntry}),r.open(a.x,a.bottom)}});this.addItem("New",t),this.addItem("separator2",new fa),this.addItem("identify",new i.CommandToolbarButton({id:v.identify,label:"",commands:e.commands})),e.commands.addKeyBinding({command:v.identify,keys:["Escape"],selector:"#main"}),this.addItem("spacer",l.ReactiveToolbar.createSpacerItem()),this.addItem("users",l.ReactWidget.create(S.createElement(ha,{model:e.model})))}}}var Sa=a(29963),wa=a(81497),_a=a(65948);class Ca extends wt.BoxPanel{constructor(e){super({direction:"top-to-bottom"}),this._resize=L((()=>{window.dispatchEvent(new Event("resize"))}),200),this.addClass("jpgis-console");const{manager:t,contentFactory:a,mimeTypeService:r,rendermime:o}=e,n=o.clone();this._consolePanel=new _a.ConsolePanel({manager:t,contentFactory:a,mimeTypeService:r,rendermime:n,kernelPreference:{name:"python3",shutdownOnDispose:!0}}),this._consolePanel.console.node.dataset.jpInteractionMode="notebook",this.addWidget(this._consolePanel),wt.BoxPanel.setStretch(this._consolePanel,1),this._consolePanel.toolbar.addItem("spacer",l.Toolbar.createSpacerItem()),this._consolePanel.toolbar.addItem("toggle",new l.CommandToolbarButton({label:"",icon:l.expandIcon,id:"jupytergis:toggleConsole",commands:e.commandRegistry})),this._consolePanel.toolbar.addItem("close",new l.CommandToolbarButton({label:"",icon:l.closeIcon,id:"jupytergis:removeConsole",commands:e.commandRegistry}))}get consolePanel(){return this._consolePanel}dispose(){this.isDisposed||(this._consolePanel.dispose(),super.dispose())}execute(){this._consolePanel.console.execute(!1)}onResize(e){super.onResize(e),this._resize()}}class ja extends Sa.DocumentWidget{constructor(e){super(e),this.onResize=e=>{window.dispatchEvent(new Event("resize"))}}dispose(){this.content.dispose(),super.dispose()}}class Ia extends wt.SplitPanel{constructor(e){super({orientation:"vertical",spacing:0}),this._consoleOpened=!1;const{model:t,consoleTracker:a}=e,r=function(e,t){var a={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(a[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(a[r[o]]=e[r[o]])}return a}(e,["model","consoleTracker"]);this._initModel({model:t}),this._initView(),this._consoleOption=r,this._consoleTracker=a}_initModel(e){this._view=new wa.ObservableMap,this._mainViewModel=new Tt({jGISModel:e.model,viewSetting:this._view})}_initView(){this._jupyterGISMainViewPanel=new At({mainViewModel:this._mainViewModel}),this.addWidget(this._jupyterGISMainViewPanel),wt.SplitPanel.setStretch(this._jupyterGISMainViewPanel,1)}get jupyterGISMainViewPanel(){return this._jupyterGISMainViewPanel}get viewChanged(){return this._view.changed}dispose(){this.isDisposed||(this._consoleView&&this._consoleView.dispose(),H.Signal.clearData(this),this._mainViewModel.dispose(),super.dispose())}get currentViewModel(){return this._mainViewModel}get consolePanel(){var e;return null===(e=this._consoleView)||void 0===e?void 0:e.consolePanel}executeConsole(){this._consoleView&&this._consoleView.execute()}removeConsole(){this._consoleView&&(this._consoleView.dispose(),this._consoleView=void 0,this._consoleOpened=!1,setTimeout((()=>{window.dispatchEvent(new Event("resize"))}),250))}async toggleConsole(e){if(this._consoleView)this._consoleOpened?(this._consoleOpened=!1,this.setRelativeSizes([1,0])):(this._consoleOpened=!0,this.setRelativeSizes([2,1]));else{const{contentFactory:t,manager:a,mimeTypeService:r,rendermime:o,commandRegistry:n}=this._consoleOption;if(t&&a&&r&&o&&n&&this._consoleTracker){this._consoleView=new Ca({contentFactory:t,manager:a,mimeTypeService:r,rendermime:o,commandRegistry:n});const{consolePanel:s}=this._consoleView;this._consoleTracker.widgetAdded.emit(s),await s.sessionContext.ready,await s.console.inject(`from jupytergis_lab import GISDocument\ndoc = GISDocument("${e}")`),this.addWidget(this._consoleView),this.setRelativeSizes([2,1]),this._consoleOpened=!0,s.console.sessionContext.kernelChanged.connect(((e,t)=>{t.newValue||this.removeConsole()}))}}setTimeout((()=>{window.dispatchEvent(new Event("resize"))}),250)}}class xa{constructor(e){this._contextChanged=new H.Signal(this),this._updateSignal=new H.Signal(this),this.context=e.context}get updateSignal(){return this._updateSignal}get user(){return this._user}set context(e){var t;this._context=e;const a=null===(t=this._context)||void 0===t?void 0:t.model.sharedModel.awareness.getLocalState();this._user=null==a?void 0:a.user,this._contextChanged.emit(void 0)}get context(){return this._context}get contextChanged(){return this._contextChanged}update(){this._updateSignal.emit(null)}getAnnotation(e){var t;const a=null===(t=this._context)||void 0===t?void 0:t.model.sharedModel.getMetadata(e);if(a)return JSON.parse(a)}getAnnotationIds(){var e;const t=[];for(const a in null===(e=this._context)||void 0===e?void 0:e.model.sharedModel.metadata)a.startsWith("annotation")&&t.push(a);return t}addAnnotation(e,t){var a;null===(a=this._context)||void 0===a||a.model.sharedModel.setMetadata(`annotation_${e}`,JSON.stringify(t))}removeAnnotation(e){var t;null===(t=this._context)||void 0===t||t.model.removeMetadata(e)}addContent(e,t){var a;const r={value:t,user:this._user},o=this.getAnnotation(e);if(o){const t=Object.assign(Object.assign({},o),{contents:[...o.contents,r]});null===(a=this._context)||void 0===a||a.model.sharedModel.setMetadata(e,JSON.stringify(t))}}}},74864:(e,t,a)=>{var r={"./Gaode-Normal.png":89279,"./Gaode-Satellite.png":49771,"./NASAGIBS-ASTER_GDEM_Greyscale_Shaded_Relief.png":42255,"./NASAGIBS-ModisAquaBands721CR.png":84035,"./NASAGIBS-ModisAquaTrueColorCR.png":7024,"./NASAGIBS-ModisTerraAOD.png":90806,"./NASAGIBS-ModisTerraBands367CR.png":48225,"./NASAGIBS-ModisTerraBands721CR.png":64739,"./NASAGIBS-ModisTerraChlorophyll.png":80990,"./NASAGIBS-ModisTerraLSTDay.png":53457,"./NASAGIBS-ModisTerraSnowCover.png":43896,"./NASAGIBS-ModisTerraTrueColorCR.png":65104,"./NASAGIBS-ViirsEarthAtNight2012.png":58313,"./NASAGIBS-ViirsTrueColorCR.png":47103,"./OPNVKarte.png":95209,"./OpenRailwayMap.png":42280,"./OpenStreetMap-BZH.png":51655,"./OpenStreetMap-CH.png":17298,"./OpenStreetMap-DE.png":99610,"./OpenStreetMap-France.png":52898,"./OpenStreetMap-HOT.png":68170,"./OpenStreetMap-Mapnik.png":67731,"./OpenTopoMap.png":95995,"./Strava-All.png":25482,"./Strava-Ride.png":93421,"./Strava-Run.png":30052,"./Strava-Water.png":85198,"./Strava-Winter.png":73184,"./USGS-USImagery.png":48348,"./USGS-USImageryTopo.png":44664,"./USGS-USTopo.png":95750,"./WaymarkedTrails-cycling.png":25851,"./WaymarkedTrails-hiking.png":28074,"./WaymarkedTrails-mtb.png":52343,"./WaymarkedTrails-riding.png":42041,"./WaymarkedTrails-skating.png":76491,"./WaymarkedTrails-slopes.png":1718,"./custom_raster.png":62778};function o(e){var t=n(e);return a(t)}function n(e){if(!a.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}o.keys=function(){return Object.keys(r)},o.resolve=n,e.exports=o,o.id=74864},99875:(e,t,a)=>{"use strict";e.exports=a.p+"e473e1e9f20af114bbb4.data"},61003:(e,t,a)=>{"use strict";e.exports=a.p+"350eec4ce9ae4bc10bca.wasm"},89279:(e,t,a)=>{"use strict";e.exports=a.p+"d83457b1b925c1718f6d.png"},49771:(e,t,a)=>{"use strict";e.exports=a.p+"1d440270da19a2f22fee.png"},42255:(e,t,a)=>{"use strict";e.exports=a.p+"32c7a73662cceb5bb1d7.png"},84035:(e,t,a)=>{"use strict";e.exports=a.p+"2f02309ea499725612ea.png"},7024:(e,t,a)=>{"use strict";e.exports=a.p+"1474207a6b3ca1001e78.png"},90806:(e,t,a)=>{"use strict";e.exports=a.p+"8814e17f6b110e8f3e42.png"},48225:(e,t,a)=>{"use strict";e.exports=a.p+"2ab791b60c4058e664f8.png"},64739:(e,t,a)=>{"use strict";e.exports=a.p+"2b24b6a745c11511f055.png"},80990:(e,t,a)=>{"use strict";e.exports=a.p+"5d181edc3c046e1454a1.png"},53457:(e,t,a)=>{"use strict";e.exports=a.p+"5bb02252f243f8c7494f.png"},43896:(e,t,a)=>{"use strict";e.exports=a.p+"527ef171d5df15dc7da5.png"},65104:(e,t,a)=>{"use strict";e.exports=a.p+"71d436fb44627b6bfbd7.png"},58313:(e,t,a)=>{"use strict";e.exports=a.p+"363ca7c5f78deb6fd033.png"},47103:(e,t,a)=>{"use strict";e.exports=a.p+"971a42d174dd17b9451a.png"},95209:(e,t,a)=>{"use strict";e.exports=a.p+"ba4b6e82fe5a816c40a5.png"},42280:(e,t,a)=>{"use strict";e.exports=a.p+"42cbddf5e883673bc4e2.png"},51655:(e,t,a)=>{"use strict";e.exports=a.p+"88b2ae0d29edb684eae5.png"},17298:(e,t,a)=>{"use strict";e.exports=a.p+"a86d626c9ed2e222d190.png"},99610:(e,t,a)=>{"use strict";e.exports=a.p+"fe99a6dbf5a71d308989.png"},52898:(e,t,a)=>{"use strict";e.exports=a.p+"13c485bb93f5567f02fd.png"},68170:(e,t,a)=>{"use strict";e.exports=a.p+"a9e286b0c0264a9fc737.png"},67731:(e,t,a)=>{"use strict";e.exports=a.p+"a9e286b0c0264a9fc737.png"},95995:(e,t,a)=>{"use strict";e.exports=a.p+"062a9554f6b4caac9713.png"},25482:(e,t,a)=>{"use strict";e.exports=a.p+"5f32ad48aefe00e51312.png"},93421:(e,t,a)=>{"use strict";e.exports=a.p+"2d676bc0a01c2cd2fccb.png"},30052:(e,t,a)=>{"use strict";e.exports=a.p+"b36717fbb06f21d53b01.png"},85198:(e,t,a)=>{"use strict";e.exports=a.p+"2218dfba22fc2b08e948.png"},73184:(e,t,a)=>{"use strict";e.exports=a.p+"f2617180c6907263a7ff.png"},48348:(e,t,a)=>{"use strict";e.exports=a.p+"064f37cecb8130ad66e8.png"},44664:(e,t,a)=>{"use strict";e.exports=a.p+"0c6a0352b82839119f95.png"},95750:(e,t,a)=>{"use strict";e.exports=a.p+"3d48be10ffea86eb15de.png"},25851:(e,t,a)=>{"use strict";e.exports=a.p+"ab309078b494f850430a.png"},28074:(e,t,a)=>{"use strict";e.exports=a.p+"3ae0bf244442de7efc35.png"},52343:(e,t,a)=>{"use strict";e.exports=a.p+"415edc3fa381260cf31e.png"},42041:(e,t,a)=>{"use strict";e.exports=a.p+"6e4f6b4d0dfca3bd4450.png"},76491:(e,t,a)=>{"use strict";e.exports=a.p+"bb2b310570da7a3587e9.png"},1718:(e,t,a)=>{"use strict";e.exports=a.p+"02ff7d503bbd90b21fc4.png"},62778:(e,t,a)=>{"use strict";e.exports=a.p+"08da2741746ddab81d04.png"},80432:()=>{},85787:()=>{},93907:()=>{}}]);