Ë
    òaÇjul  ã                   ó8  ‡— d Z ddlZddlZddlZddlZddlZddlZddlZddlm	Z	 ddl
mZmZ  e	e«      j                  «       j                  Zej"                  j%                  d ee«      «        ej                  «       ZddlZddlmZmZmZmZ ddlmZmZmZmZ ej@                  jB                  jE                  d¬«       ej@                  jB                  jG                  d	¬
«        e$ejJ                  jL                  «      D ]'  Z'ejJ                  jL                  jQ                  e'«       Œ)  ejR                  edz  jU                  «       «      d   Z+g d¢Z,e,D � cg c]  } e+|    j[                  dd«      ‘Œ c} e_.        e,D �]O  Z/ejJ                  jL                  ja                  e/«      Z'de'_1        e'jd                  jf                  j[                  d«      Z4ejJ                  jj                  jm                   eee+e/   d   d   z  «      «      Z7e7jq                  dd«        e$e7jr                  «      Z: e;d„  e<d«      D «       «      dz   Z=ejJ                  jj                  jQ                  e7«       e=e'_>        e=e4j~                  d   _@        de4j~                  d   _@        e/dk(  rde4j~                  d   _@        ej‚                  j…                  e'«       �ŒR dZCdZDd ZEd!ZFd"ZGd#ZHg ZIi ZJ�d¥d$„ZKd%ZLd&ZMdd'„ZN�d¦d)„ZO�d§d+„ZP�d¨d/„ZQ�d©d0„ZR eRd1«        eRd2d«        ed3«      ZSg d4¢ZTd5D ]  ZU eeSeUd6d7fd8d9d:«       Œ  eeSeTdd D ��cg c]	  \  }}||f‘Œ c}}g d;¢z   d<dgd9«        eeSd=d>eDd:«        ePeSd?d@dAd«        eVeTdd eTdd «      D ]%  \  ZWZX eeSeWd   eWd   dBfeXd   eXd   dBfdCdDeDdE«       Œ'  eQeSdFdGdHdIdJdd-¬K«        eKeSg dL¢dMdN«        edO«      ZSdPD ]  ZUdQD ]  ZY eeSeUdReYfeUdSeYfdTdTeCdU«       Œ Œ dQD ]B  ZYdVD ];  ZZ eeSdeZeYfdWeCdX ej¶                   ej¸                  eYdkD  rdYndZ«      dd[«      «       Œ= ŒD  e]eSj¼                  «      Z_ eQeSd\dHdSd]d6dd-¬K«       eSj¼                  e_d D �cg c],  } e|j²                  |j´                  |jª                   f«      ‘Œ. c}eSj¼                  e_d  eKeSg d^¢d_d`da¬b«       dc„ Z` e`ddd«        e`ded	«       df„ Zadg„ ZbdhD ]  Zc ebdiecz   ec«       Œ  edj«      ZS eeSdkdleCdm«       dnD ]  ZU eeSeUdodpfeUdqdpfdTdreCd*«       Œ dsD ]%  ZU eeSeUdtdCfeUdudCfdTdveCd*«        eeSeUdwdxfdyd-dX«       Œ' dzD ]  ZU ePeSd{dGeUd6d|fd¬}«       Œ  eeSd~dd-dX«       d€D ]~  Zd e]eSj¼                  «      Z_ ePeSdwdGd�d¬}«       eSj¼                  e_d D �cg c]7  } eedd‚|j²                  z   z  |j´                  dxed|jª                  z  z
  f«      ‘Œ9 c}eSj¼                  e_d Œ€ dƒD ]š  ZUg d„¢ZeeUd…z
  eUd…z   fD ���cg c]  }eeD ]
  \  }}|||f‘Œ Œ c}}}Zf e]ee«      ZgeSjÑ                  ef e; e<egdz
  d†d†«      «       e; e<egdegz  «      «      g e<eg«      D �cg c]  }||dz   egz  |dz   egz  egz   |egz   f‘Œ c}z   eC«       Œœ dsD ]D  ZUg d‡¢ZeeUdˆz
  eUdˆz   fD ���cg c]  }eeD ]
  \  }}|||f‘Œ Œ c}}}ZfeSjÑ                  efg d‰¢eC«       ŒF  eeSdŠd‹eCd«        eeSdŒd�eCd«        eeSdŽd�eCd«        e<d.«      D ]�  Zi e<d«      D ]t  Zjd�eid‘z  d.z  z   dEz   Zkekd’z   dUz
  Zlejdoz  Zm end6emd“z   «      Zod”D ���cg c]&  }ekemfelemfeleofekeoffD ]  \  }}|d•|d–z  z
  |z   |f‘Œ Œ( c}}}ZfeSjÑ                  efg d‰¢eG«       Œv Œƒ  eeSd—d˜eCd:«        eKeSg d™¢dšd›dˆ¬œ«       �d©d�„Zp epdždŸd dFd¡«        epd¢d£d¤d\d¥d«        ed¦«      ZS e<d§«      D ]�  Zieiejâ                  z  d§z  dmz   ZWeidz   ejâ                  z  d§z  dmz
  ZXd¨d©eWfdªd«eWfdªd«eXfd¨d©eXffD ��	�
cg c]3  \  }}	}
| ejä                  |
«      z  d©|	 ejæ                  |
«      z  z   f‘Œ5 c}
}	}Zt eeSetd¬d­geD«       Œ‘ d®D ]9  ZUd© ejê                  deUd¨z  dz  z
  «      z  Zv eeSeUd©evz
  d¯feUd©evz   d¯fd°eEd.«       Œ;  eeSd±d²d³d´eEdµ«        eKeSg d¶¢eLd·d¸d¹g dº¢g d»¢d¼œd¬½«        ed¾«      ZSd¿D ]  ZU eeSeUddÀfeUddÀfdÁdÂeCd*«       Œ dÃD ]  ZZ eeSdeZdÀfdÄeCd*«       Œ  eeSdÅdÆeCd*«       d€D ]~  Zw e<d-«      D ]   Zi eeSewdÇz  dÈdmeidÈz   dÉz  d-z  z   fdÊddX«       Œ" dËD ]  ZZ eeSewdÉz  eZdÌfdÍeCdX«       Œ dËD ]3  ZZ eeSewdÎz  eZdÏz
  dmfewdÎz  eZdÏz   dmfdÐeEd«        eeSewdÑz  eZdtfdÒeEdµ«       Œ5 Œ€  eKeSg dÓ¢eLdÔd\g d»¢dÕœddÖd×dØ¬Ù«        edÚ«      ZS eOeSg dÛ¢d»eEd«        eeSdÜdÝdÞdÞeEdE«       d€D ]$  Zd eeSdßeddrz  dàdfeddDz  dádfedd­z  d{dfgdâeEd9«       Œ&  eKeSg dã¢dä«        edå«      ZSdæg e<ddç«      D �cg c]
  }dè|dçz  z   ‘Œ c}z   dégz   Zxg dê¢Zyg ZfeyD ]Ê  ZYexD ]Ã  ZUdëdÐ ejä                  eUejâ                  z  d!z  «      z  z   d: ejæ                  eUejâ                  z  d9z  «      z  z   dm ejæ                   endeY«      ejô                  z  «      z  z   Z{eYdkD  r+dìdÈdÈ ejæ                  eUejâ                  z  díz  «      z  z   z  ndZ|efj…                  eUe{eYe|z
  f«       ŒÅ ŒÌ  e]ex«      Z}g Z~ e< e]ey«      dz
  «      D ];  Zi e<e}dz
  «      D ]+  Zeie}z  ez   ZWe~j…                  eWeWdz   eWdz   e}z   eWe}z   f«       Œ- Œ=  e$ e<e}«      «       e<d e]ey«      «      D �cg c]  }|e}z  e}z   dz
  ‘Œ c}z    e$ e< e]ey«      dz
  e}z  e}z   dz
   e]ey«      dz
  e}z  dz
  d†«      «      z    e< e]ey«      dz
  dd†«      D �cg c]  }|e}z  ‘Œ	 c}z   Z€g Z�e€D ]m  Ze�j…                   e]ef«      «       efe   \  ZUZZZYefj…                  eUeYdîkD  r+dïdÈdÈ ejæ                  eUejâ                  z  dðz  «      z  z   z  nd eneYd\«      f«       Œo  e‚ eVe€e€dd e€dd z   «      «      D ]/  \  Zc\  ZZie~j…                  ee�ec   e�ecdz    e]e€«      z     eif«       Œ1 e~j…                   e; eƒe�«      «      «       eSjÑ                  efe~eHefD ���cg c]  \  }}}|dÈz   |f‘Œ c}}}¬ñ«        e< e]ey«      dz
  e}dz
  z  «      D ]  Z„deS�j
                  e„<   Œ  e‚eS�j                  «      D ]Ù  \  Z„Z‡e‡D �cg c]  }eSj¼                  |   ‘Œ c}Zˆeˆd   eˆd   z
  �j                  eˆd   eˆd   z
  «      �j                  «       Z‹ eŒe‹j´                  «      dÈk  sŒldòeS�j                  e„<   eˆD �cg c]D  } eŒe‹j²                  «      dÈkD  r|jª                  dÈz   n|j²                  dóz  |j´                  dóz  f‘ŒF c}eS�j                  e„<   ŒÛ  e<d(«      D ]‘  Zdôedõz  z   ZUdödU ejæ                  ed÷z  «      z  z   Z�eUe�z
  dødùfeUe�z   dødùfeUdúdûfeUd¯z   düdâ ejæ                  edýz  «      z  z   dþfgZ�eSjÑ                  e�g dÿ¢dòe�D ���cg c]  \  }}}|dÈz   dóz  |dóz  f‘Œ c}}}¬ñ«       Œ“  eKeSg �d ¢�d�dddg�ddÏ�dœ�d�dgddg�¬«        e�d«      ZSg �d	¢ZedgZ‘ eVeeeedd «      D ].  \  ZWZXe‘j…                  e‘d†    e�j$                  eWeX«      z   «       Œ0 �d
D ���cg c]  }eeD ]
  \  }}|||f‘Œ Œ c}}}Zf e]ee«      ZgeSjÑ                  ef e; e<egdz
  d†d†«      «       e; e<egdegz  «      «      g e<eg«      D �cg c]  }||dz   egz  |dz   egz  egz   |egz   f‘Œ c}z   eH�d
D ��cg c]  } e<eg«      D ]  }|dÈz   e‘|   f‘Œ Œ c}}¬ñ«       �dD ]t  Z„dòeS�j                  e„<   eS�j                  e„   D �cg c]:  }eSj¼                  |   j²                  dóz  eSj¼                  |   j´                  dóz  f‘Œ< c}eS�j                  e„<   Œv �dD ],  ZU eeSeedd! D ��cg c]  \  }}eU|�dz   |f‘Œ c}}�deCd«       Œ.  eKeSg �d¢�d�ddg�d�¬«        e�d«      ZS�dD ]  \  ZZZ�Z{ eeSdeZdfe�e{e�feDdm«       Œ  eOeSg �d¢d»eDd«        e<d.«      D �]  Zieiejâ                  z  d.z  ZWdxZ“e“ ejä                  eW«      z  ZUe“ ejæ                  eW«      z  ZY eeSeU�deYfeU�deYfdˆeDd.«       eidz   ejâ                  z  d.z  ZXe“ ejä                  eX«      z  Z”e“ ejæ                  eX«      z  Z• eeUe”z   dz  �deYe•z   dz  f«      Z– eeU�deYf«       ee”�de•f«      fD ]&  Zˆ eeSeˆeˆ�dz  e–�dz  z    e�d«      z   e–gdˆeDd9«       Œ(  eeSeU�deYfeU�deYf�deDd9d:�¬ «       �Œ
  eOeSg �d!¢d»eDd«        e<d-«      D ]‹  Zieiejâ                  z  d-z  ZW�d"D ]q  \  ZZZ“ eeSe“ ejä                  eW«      z  eZe“ ejæ                  eW«      z  fe“dÁz    ejä                  eW«      z  eZ�d#z   e“dÁz    ejæ                  eW«      z  fdÞeDd9d:�¬ «       Œs Œ�  eOeSg �d$¢d»eEd.«       d€D ]›  Zd eeSed�d%z  �d&dˆfed�d'z  �d&dˆf�deEd.«        eeSed�d(z  �d)dˆf�d#dmeEd(«        e<d.«      D ]E  Zc eeSedd©�d ejæ                  ec«      z  z   z  �d*ec�d+z  z
  dÁf�d,�deEdecdz  dk(  r�d-n�d.�¬/«       ŒG  eeSed�d0z  �d1dÁfd,d°eEd(«       Œ�  eKeSg �d2¢�d3�d4�d5�¬6«        e�d7«      ZS e<d«      D ]»  Zj e<d(«      D ]®  ZieidÈejdz  z  z   ejâ                  z  d(z  d:z   ZWeWejâ                  d(z  z   �d8z
  ZXejd“z  ejd“z  �d9z   fD ���
cg c]G  }�d:eWf�d;eWf�d;eXf�d:eXffD ]0  \  }}
| ejä                  |
«      z  || ejæ                  |
«      z  f‘Œ2 ŒI c}
}}ZfeSjÑ                  efg d‰¢d«       Œ° Œ½  eOeSg �d<¢d»eDd§«       �d=D ]Z  ZU�d=D ]R  ZY eeSeUd?eYfeU�d>eYf�d?�d?eC�d@«       d€D ]3  Zd eŒeUed�dAz  z   «      �dBk  sŒ eeSeU�dCeYfeUed�dAz  z   �dDeYfdvdveCdU«       Œ5 ŒT Œ\ �d=D ]  ZY eeS�dE�dFeYf�dG�dFeYfdÂ�dHeC�d@«       Œ �d=D ]  ZU eeSeU�dF�dEfeU�dF�dGf�dHdÂeC�d@«       Œ �d=D ]2  ZU�dID ]  ZZ eeSeUeZdf�dJeCdX«       Œ  eeSeU�dB�dKfeU�dL�dMfdÁdøeCdX«       Œ4  e<d.«      D ]  Zi eeS�dNei�dOz  z   �dP�dQf�dRddX«       Œ  eeS�dS�dTd,eCd(«        eeS�dU�dVdveCdç�d.�¬/«        eeS�dU�dWdÐeEdç�d.�¬/«        e<d(«      D ]R  Zieiejâ                  z  d(z  ZW eeS�dU�dX�dYd? ejæ                  eW«      z  z   d? ejä                  eW«      z  f�dZdCeCdX«       ŒT  eeS�dS�d[�dHeCd(«        eeS�d\�d]dìeCd«        e<d"«      D ]  Zi eeSdJeidÏz  z   �dYdf�d^d°eCd(�d.�¬/«       Œ   eeS�d_�d`�deCd.«        eOeSg �da¢�dbeCd «       �dcD ]  ZZd Œ  e<d-«      D �])  Zw ej¶                  ewejô                  z  dz  d�dd«      Z— e<d-«      D ]ö  Zjejd-z  Z˜ endej�dez   d-z  «      Z™�dfde˜z
  z  d…e˜z  z   Zš�dfde™z
  z  d…e™z  z   Z›ešZme›Zo�dg�dhe˜z  z   d­e˜z  e˜z  z   Zœ�dg�dhe™z  z   d­e™z  e™z  z   Z� e<d9«      D ]Œ  Zid†deiz  d9z  z   dEz   Zžd†deidz   z  d9z  z   dEz
  ZŸ�diD ����cg c]C  }ežešz  eœ|z   emfeŸešz  eœ|z   emfeŸe›z  e�|z   eofeže›z  e�|z   eoffD ]  \  }}}e— e|||f«      z  ‘Œ ŒE c}}}}ZfeSjÑ                  efg d‰¢eC«       ŒŽ Œø �Œ,  eOeSg �dj¢d»eCd«        eKeSg �dk¢�dl�d4g �dm¢g �dU¢g �dn¢�doœ�¬p«       g Z eID �]¯  Z¡e¡jJ                  �jE                  «        e¡j^                  Z/ e]e¡jJ                  �jF                  «      Z¤eJe/   Z¥ e¦�dqe/e¤�dre¥�ds   d�¬t«       e¤e¥�ds   k  sJ e/e¤e¥�ds   f«       ‚ e§�du„ e¡jJ                  �jF                  D «       «      s
J e/�dvf«       ‚e¡jJ                  �jP                  D �cg c]  }|�jR                  ‘Œ c}Zªe¥�jE                  e¤ e<d«      D �‡cg c]  Š e« enˆf�dw„eªD «       «      d.«      ‘Œ c} e<d«      D �‡cg c]  Š e« e¬ˆf�dx„eªD «       «      d.«      ‘Œ c}�dyœ e­e¡jJ                  �jF                  D �ch c]0  }e¡jJ                  jL                  |�j\                     j^                  ’Œ2 c}«      �¬z«       e j…                  e¥«       �Œ²  e]e «      �d{k(  sJ ‚ e¯�d|„ e D «       «      �d}k  sJ ‚ej@                  jB                  jE                  �d~¬«       eID ]  Z¡e¡�ja                  d«       Œ ej@                  �jb                  �je                   ee�dz  «      �d€ddd	�d�dddd	d	�¬‚«       e�dz  �jg                  «       Z%i �dƒ�d„“�d…�d†“�d‡�dˆ“�d‰�dŠ“�d‹�dŒ“�d�d`“�dŽe “�d� e¯�d�„ e D «       «      “�ds�d}“�d‘ e]e%«      “�d’d“�d“�d”�d•g“�d–d“�d—d“�d˜�d™“�dš�d›�dœ�d�œ“Z´e�džz  �jk                   e�jl                  e´d�¬Ÿ«      «       ej@                  �jn                  �jq                   ee�d z  «      �¬¡«       e�d¢z  �jk                   e�jl                   ej                  «       ez
   e�jr                  e%«      �ju                  «        e�jr                   e	e«      �jg                  «       «      �ju                  «       �d£œd�¬Ÿ«      «        e¦�d¤ e]e «      e´�d�   d�¬t«       yc c} w c c}}w c c}w c c}w c c}}}w c c}w c c}}}w c c}}}w c c}
}	}w c c}w c c}w c c}w c c}}}w c c}w c c}w c c}}}w c c}}}w c c}w c c}}w c c}w c c}}w c c}
}}w c c}}}}w c c}w c c}w c c}w c c}w (ª  zòMedieval-town frozen atom kit. Blender 5.2; Y-up authoring, export_yup=False.
Run Blender -b --factory-startup --python-exit-code 1 --python build_kit.py.
Shared shelf inputs preserved byte-for-byte. Original reed maps: prepare_materials.py.
é    N)ÚPath)ÚVectorÚMatrix)ÚMeshÚboxÚprismÚcyl)ÚbeamÚsweepÚringÚribbonÚSELECT)ÚactionF)Ú
use_globalzmaterials.jsonÚ	materials)ÚRubble_stoneÚRubble_stone_darkÚ	Oak_frameÚOak_frame_greyÚPlaster_ochreÚPlaster_whiteÚPlaster_pinkÚ	Clay_tileÚClay_tile_darkÚDressed_limestoneÚWrought_ironÚLeaded_glassÚ
Door_paintÚ
Sign_paintÚThatch_reedÚThatch_reed_cutÚLeather_brownÚtile_size_metresé   TzPrincipled BSDFÚmapsÚ	BaseColoré   c              #   óL   K  — | ]  }t        t        |d d…   «      dz  –— Œ y ­w)Né   é@   )ÚsumÚpx)Ú.0Úis     úbuild_kit.pyú	<genexpr>r0      sA   è ø€ ò  pTð  FGÔpsÔtvÐwxÐw{Ðz{Ðw{Ñt|Óp}ð  Aõ  qAñ  pTùs   ‚"$é   )r$   z
Base Colorç333333ë?Ú	Roughnessr   ç=
×£p=ê?ÚMetallicé   é	   é
   é   é   é   c                 ó²   — | j                  «       }t        j                  |«       | j                  ||d   |d   |d   g||dœ|¥t        | j                  <   |S )Nr   r6   r$   )Ú	node_nameÚnominal_size_whd_metresÚnominal_size_wdh_metresÚorigin_ruleÚtriangle_budget)ÚfinishÚOBJECTSÚappendÚnameÚMETA)ÚgÚsizeÚoriginÚlimitÚextraÚobs         r/   rB   rB      s    € Ø‡H�HƒJ€Œw�~‰~˜bÔ!¸A¿F¹FÐ]að  ~Bð  CDñ  ~Eð  FJð  KLñ  FMð  NRð  STñ  NUð  }Vð  ekð  ~Cñ  0Lð  FKð  0L¤$ q§v¡v¡,ð  TVð  MVó    z@Bottom centre of clear opening; exterior wall plane Z=0; +Z out.ziFront sill centre [0,0,0]; +Z downslope; body -Z; keep Y vertical on 55 degree host roof y=-tan(55deg)*z.c                 ó€   — | j                   |d  D �cg c]  }t        |«      ||z  z   ‘Œ c}| j                   |d  y c c}w ©N)Úvr   )rG   ÚstartÚcÚscalerP   s        r/   ÚmoverT      s5   € ÀAÇCÁCÈÈÀKÖ(P¸q¬°«°1°U±7Ó):Ò(P˜AŸC™C  ™KùÒ(Ps   ’;é   c                 óâ  ‡‡‡— g }g }|D ]Ã  \  }}	g }
t        |dkD  r‰nd«      D ]–  }|
j                  t        |«      «       |j                  |d   |t        j                  |t        j
                  z  ‰z  «      z  z   |d   |	z   |d   |t        j                  |t        j
                  z  ‰z  «      z  z   f«       Œ˜ |j                  |
«       ŒÅ g }t        ||dd  «      D ]’  \  ŠŠt        ‰«      dk(  r&|j                  ˆˆˆfd„t        ‰«      D «       «       Œ:t        ‰«      dk(  r&|j                  ˆˆˆfd„t        ‰«      D «       «       Œn|j                  ˆˆˆfd„t        ‰«      D «       «       Œ” |ret        |d   «      dkD  r&|j                  t        t        |d   «      «      «       t        |d   «      dkD  r|j                  t        |d   «      «       | j                  |||«       y )	Nç:Œ0âŽyE>r$   r   r6   c              3   óF   •K  — | ]  }‰d    ‰|dz   ‰z     ‰|   f–— Œ y­w)r   r$   N© ©r-   r.   ÚAÚBÚns     €€€r/   r0   zlathe.<locals>.<genexpr>&   s,   øè ø€ ÒB°A˜!˜A™$˜q ! A¡# q¡™z¨!¨A©$Ô/ÑBùó   ƒ!c              3   óF   •K  — | ]  }‰|   ‰|d z   ‰z     ‰d   f–— Œ y­w)r$   r   NrY   rZ   s     €€€r/   r0   zlathe.<locals>.<genexpr>'   s,   øè ø€ ÒD°a˜A˜a™D  A a¡C¨¡7¡¨A¨a©DÔ1ÑDùr^   c              3   óZ   •K  — | ]"  }‰|   ‰|d z   ‰z     ‰|d z   ‰z     ‰|   f–— Œ$ y­w)r$   NrY   rZ   s     €€€r/   r0   zlathe.<locals>.<genexpr>(   s:   øè ø€ ÒE°q�!�A‘$�q˜!˜A™#˜q™‘z ! Q q¡S¨!¡G¡*¨Q¨q©TÔ2ÑEùs   ƒ(+éÿÿÿÿ)ÚrangerD   ÚlenÚmathÚcosÚtauÚsinÚzipÚextendÚtupleÚreversedÚadd)rG   ÚprofilerR   Úmatr]   ÚclosedÚvsÚringsÚrÚyÚidsÚjÚfsr[   r\   s       `        @@r/   Úlatherw      sÞ  ú€ Ø€ˆR€uØò �S€Q€qØ€#Ü�a˜’f‘ !Ó$ò  I€a S§Z¡Z´°B³Ô%8¸¿¹ÀAÀaÁDÈÌ4Ï8É8ÐTUÔVZ×V^ÑV^ÑT^Ð_`ÑT`ÓKaÑIaÑDaÐbcÐdeÑbfÐghÑbhÐijÐklÑimÐnoÔpt×pxÑpxÐyzÔ{÷  |Dñ  |Dñ  zDð  EFñ  zFó  qGñ  oGñ  jGð  DHõ  :Ið  IØ‡,�,ˆsÕðð €Ü��e˜A˜B�iÓ ò F�S€Q€qÜˆƒVˆQ‚Yˆr�y‰yÕB¼¸q»ÔBÕBÜ
ˆ1ƒvˆq‚y�—‘ÕD¼5À»8ÔDÕDØ	‡y�yÕE¼EÀ!»HÔEÕEðFñ Üˆˆq‰ƒ]�1‚_�R—Y‘Yœu¤X¨e°A©hÓ%7Ó8Ô9Üˆˆr‰ƒ^�AÒ�b—i‘i¤ e¨B¡iÓ 0Ô1Ø‡�€rˆ"ˆSÕrM   ç{®Gázt?c                 óB  — |\  }}}|s#t        | |||dz  z   |dz
  f||dft        d«       nPt        | ||dz  z
  |f||dz  z   |f||dz  z   ||dz  z   f|||z   f||dz  z
  ||dz  z   fg|dz
  |dz
  gt        «       | dz  |dz  fD ]-  }	t        | ||	z   ||f||	z   ||r|dz  n|z   |fdd	t        |«       Œ/ t        | ||d
z
  |f|dz   d	dft        |«       |r| dz  |dz  fd|f|dz  |dz  fgn| dz  |f|dz  |fg}
t        |
|
dd  «      D ]8  \  }}t        | ||d   z   ||d   z   |f||d   z   ||d   z   |fdd	t        |«       Œ: dD �]Q  }t        dd«      D �]>  }|dz  }g }|r%| dz  df|dz  df|dz  |dz  fd|f| dz  |dz  fgn| dz  df|dz  df|dz  |f| dz  |fg}t        ||dd  |d d z   «      D ]„  \  }}|d   |d   z
  }|d   |d   z
  }|||z  z
  }t        |«      dk  rŒ3||d   z  |z   |d   z
  |z  }d|cxk  rdk  sŒSn ŒV|j                  ||d   z   ||z  z   ||d   z   ||z  z   |dz   f«       Œ† t        |«      dk(  sŒùt        |d   «      t        |d   «      z
  j                  dkD  s�Œ%t        | |d   |d   dt        d«       �ŒA �ŒT y )Nr6   çš™™™™™™?çyé&1¬Œ?r   çffffffæ?çìQ¸…ë¡?ç{®Gáz”?ç)\�Âõ(¬?ç¤p=
×£°?ç9´Èv¾Ÿš?ç¸…ëQ¸¾?çš™™™™™¹?r$   ç¸…ëQ¸®?)g333333û¿ç333333û?iøÿÿÿr;   ç
×£p=
Ç?rW   çú~j¼t“ˆ?çü©ñÒMb€?çü©ñÒMbp?r)   )r   ÚGLASSr   r
   ÚOAKrh   rb   ÚabsrD   rc   r   Úlengthr	   ÚIRON)rG   ÚwÚhrR   ÚpointedÚ
trim_bevelÚx0Úy0ÚzÚxÚtopÚaÚbÚslopeÚkÚ	interceptÚptsÚpolyÚdxÚdyÚdenÚts                         r/   Úglazingr£   -   s”  € à	
�€€B€qÙ”�A�r˜"˜Q˜q™S™&  4¡Ð(¨!¨A¨d¨´E¸!Õ<ÜˆA��1�Q‘3‘�rˆ{˜B˜q ™s™F 2˜;¨¨1¨Q©3©¨r°!°C±%©xÐ'8¸"¸RÀ¹T¸ÀBÀqÈÁsÁFÈ2ÈaÐPSÉeÉ8ÐCTÐUÐWXÐY]ÑW]Ð^_Ð`cÑ^cÐVdÔejÔkØˆ2ˆa‰4��!‘ˆ*Òg€Q”T˜!˜R ™T " Q˜K¨¨A©¨b¹7°!°C²%ÈÑ.JÈ1Ð(MÈdÐSWÔX[Ð\fÕgÐgÜ€Qˆˆ2ˆd‰7�1€~�q˜‘u˜T #Ð&¤s¨:Ô6Ù'.ˆ€rˆ!�tˆAˆb‰D€k�1�Q�%˜˜1™˜Q˜r™T˜
Ñ#°q°b¸±d¸1°X¸qÀ¹sÀ1¸gÐ4F€Ü��C˜˜�GÓÒd�S€Q€qœT ! R¨¨!©¡W¨R°°!±©W°QÐ$7¸¸A¸a¹D¹ÀÀAÀaÁDÁÈÐ8KÈCÐPTÔUXÐYcÕdÐdàó 	c€UÜ��B‹<ó c€aØˆs‰U€9�r�3Ù=Dˆ1ˆ"ˆQ‰$ˆqˆ�1�Q‘3�q�'˜1˜Q™3˜q ™u˜+ q¨ e¨a¨R°©T°!°C±%¨LÑ9ÈQÈBÈqÉDÐQRÈ8ÐUVÐWXÑUXÐYZÐT[Ð]^Ð_`Ñ]`ÐabÐ\cÐfgÐegÐhiÑeiÐjkÐdlÐJm€4Ü�$�t˜A˜B�x  R a Ñ(Ó)ò =�s€qˆØˆ�tˆAˆa‰D�y€B�A�a‘D˜˜1™‘I� " U¨2¡X¡+˜cÜ
ˆ3ƒx�‚}�XØˆQˆq‰T�z�)Ñ˜A˜a™DÑ  #Ñ%€AØˆ!„vˆA†vˆc�j‰j˜"˜Q˜q™T™' ! B¡$™, r¨!¨A©$¡w¨q°©t¡|°A°d±FÐ;Õ<ð	=ô
 
ˆ#ƒh�ƒk”v˜c !™f“~¤f¨S°©V£nÑ4×<Ñ<¸TÔAÄ#ÀaÈÈAÉÈsÐSTÉvÐVZÔ[_Ð`aÖBbòcñ	crM   ç{®Gáz´?r)   é   c                 ó†  ‡‡‡‡— dD ]ó  Šdˆˆˆˆfd„	}t        |«      D ]­  }	|	‰z  dz  |z  }
t        ‰dz  |
‰dz  |z  dz  z   «      }t        |«      D ]w  }||z
  ||z  |z  z   dz   }|||z  z   dz
  }dD ���cg c]1  }||
f||
f||f||ffD ]  \  }} ||||d	||
z
  z  ||
z
  z  z   «      ‘Œ  Œ3 }}}}| j                  |g d
¢t        «       Œy Œ¯ t	        | d‰dz
  |dz
  f‰‰z  dz  ‰dz
  |dz
  fddt
        d«       Œõ t        | d‰dz
  fd‰dz   fd‰dz
  fd‰dz
  fd‰dz
  fd‰dz
  fg||z
  |dz   gt        «       y c c}}}w )N©ra   r$   r   c                 ó8   •— ‰|z  ‰‰‰z
  |z  ‰dz  z  z   |z   | fS )Nr6   rY   )ÚurP   rs   ÚeaveÚridgeÚsider�   s      €€€€r/   Úptzgable_roof.<locals>.ptD   s.   ø€ ˜$˜q™& ¨¨U©
°A¡~°q¸±sÑ';Ñ!;¸AÑ!=¸aÐ@Ð@rM   r6   g=
×£p=ò?gú~j¼t“X?çú~j¼t“h?)r   gyé&1¬œ¿r‡   ©)r   r1   r6   r$   )r)   é   r¥   r:   )r   r$   r°   r)   )r$   r6   r¥   r°   )r6   r1   r:   r¥   )r1   r   r)   r:   ç
×£p=
§?çš™™™™™©?r€   ç
×£p=
·?r‰   gÃõ(\�Âµ¿g9´Èv¾Ÿª?çœÄ °rh¡?çÃõ(\�Âµ?ç333333³?g333333³¿çü©ñÒMb`?)r   )rb   Úminrl   ÚCLAYr
   r‹   r   )rG   r�   Údepthrª   r«   ÚzfrontÚrowsÚcolsr­   ÚrowÚv0Úv1ÚcolÚu0Úu1r    r©   rP   rp   r¬   s    ` ``              @r/   Ú
gable_roofrÄ   A   sé  û€ àò V€Tß@Ð@Ü�4‹[ò Q€cØ	ˆ!�eˆA�gˆd�l€2”c˜!˜A™#˜b  1¡ T¡¨$¡Ñ.Ó/�2Ü�D‹kò Q€sØˆe�|�C˜‘I˜d‘NÑ" 5Ñ(€B¨B¨u°T©z©M¸$Ñ,>¨Ø1:×hÐh¨2ÈÈ2ÀwÐPRÐSUÈwÐXZÐ[]ÐW^Ð`bÐceÐ_fÐFgÒh¹s¸qÀ‰ˆ1ˆQˆr�$˜˜"™‘+˜r "™uÑ%Ñ%Õ&ÐhÐ&Ðh€BÒhØ‡E�Eˆ"ÒJÌ4ÕPñQðQô €qˆ!ˆE�$‰J�v˜c‘zÐ	" D¨¡F¨1¡H¨T°$©Y°v¸c±zÐ#BÀ4ÈÌCÐPTÕUðVô €qˆ5��t‘Ð
˜a  d¡
˜^¨T°%¸±*Ð,=¸tÀEÈ$ÁJÐ>OÐQRÐSXÐY]ÑS]ÐP^Ð`eÐfkÐlpÑfpÐ_qÐ	rÐtzð  |Añ  uAð  BHð  IMñ  BMð  tNô  OSõ  Tùô is   Á76D<c                 ó@  — t        | «      }dD ]  }t        ||ddfddd«       Œ t        |ddt        d«       d	D ]  }t        ||d
df|ddfddt        d«       Œ t	        |ddd«       dD ]  }t        ||ddfdt        d
«       Œ t        |ddt        d
«       |s<t        |g d¢ddgd«       t        |dddd d!dd"¬#«       t        |d$d%d&d't        d(«       �n¤g d)¢}t        d*«      }g d+¢}t        ||d,d  «      D �]i  \  \  }}\  }	}
t        d-«      D �]N  }|t        ||   «      |z
  |z  z   }|t        ||d,z   d-z     «      |z
  |z  z   }|t        ||   «      |z
  |
z  z   }|t        ||d,z   d-z     «      |z
  |
z  z   }|j                  ||j                  f|j                  ||j                  f|j                  |	|j                  f|j                  |	|j                  fg}|j                  ||D ���cg c]  \  }}}||d.z
  |f‘Œ c}}}z   g d/¢t        «       t        ||j                  |d0z   |j                  f|j                  |d0z   |j                  fd.d.t        d
«       �ŒQ �Œl t        |g d1¢d2t        d-«       t!        |d|rd3nd4dgt"        d5d6d7d4d8¬9«       y c c}}}w ):N)ç\�Âõ(\ß¿ç\�Âõ(\ß?çÍÌÌÌÌÌÜ?g      ì¿)rƒ   ç      ð?ç      ü?r)   çú~j¼t“x?)r   r±   gìQ¸…ë¡¿)çš™™™™™ñ?ç¤p=
×£À?çÃõ(\�ÂÅ?©ç¸…ëQ¸Þ¿ç¸…ëQ¸Þ?r   rx   çR¸…ëQð?r¶   gR¸…ëQ¸?r‰   ç
×£p=
ç?çö(\�Âõè?)r   rÍ   rx   )g333333Û¿g333333Û?çö(\�Âõà?ç¸…ëQ¸Ž¿)çáz®Gáº?ç×£p=
×ë?r³   )r   g333333ï?rÖ   )rÒ   r³   r³   ))ç      à¿çffffffî?)r   gáz®Gáú?)ç      à?rÚ   g      ü¿g{®Gázt¿r°   çÍÌÌÌÌÌô?çffffffþ?rÉ   g)\�Âõ(ü?rƒ   r¥   ©r»   r¼   r½   )r   rÒ   rz   )r   g®Gázú?rz   r±   r   r®   ))çÍÌÌÌÌÌä¿r¤   )çÍÌÌÌÌÌä?r¤   )rà   çffffffÖ¿)rÛ   çÍÌÌÌÌÌü¿)çHáz®GÑ?râ   )çHáz®GÑ¿râ   )rÙ   râ   )rß   rá   )r   çR¸…ëQØ¿))rÉ   rÉ   )g®Gázò?g�Âõ(\�ê?)g¸…ëQ¸ö?ç×£p=
×ã?)ç®Gáz®û?çš™™™™™Ù?)çR¸…ëQ @r†   )çq=
×£p@r¶   r$   r'   r}   ))r   r$   r6   r1   )r:   r¥   r°   r)   )r   r)   r°   r$   )r$   r°   r¥   r6   )r6   r¥   r:   r1   )r1   r:   r)   r   r{   ))çìQ¸…ë±?r   )r³   r„   )r±   r‚   )r   çR¸…ëQÈ?)g;ßO�—n²?ç)\�Âõ(Ì?)g‰A`åÐ"«?rã   )r‡   ç®Gáz®×?)r   çáz®GáÚ?)r   rê   rå   çÍÌÌÌÌÌ@çÍÌÌÌÌÌü?éÄ	  é7   zy + tan(55deg)*z = 0F)Úhost_roof_pitch_degreesÚhost_roof_planeÚburial_depth_back_metresÚroof_cutout_required)r   r   r‹   r
   r£   r   rÄ   r   rh   rb   r–   rs   rl   r¹   rw   rŽ   rB   ÚDORMER)rE   ÚhiprG   r–   ÚoutlineÚcenterÚlevelsr”   Ús0Úy1Ús1ru   Úp0Úp1Úq0Úq1rp   rs   r•   s                      r/   Údormerr  M   sÀ  € Üˆƒ:€à
Ò?€Q”S˜˜A˜c %˜=¨¸¸$Õ?Ð?Ü€Q€~�m¤C¨Ô-Ø
ÒH€Q”T˜!˜Q˜q ˜J¨¨$¨t }°T¸$¼sÀ4ÕHÐHÜˆˆ3ˆs�<Ô Ø
Ò@€Q”s˜1˜a  E˜]¨>¼#¸aÕ@Ð@Ü€Q€~�n¤S¨Ô+ÙÜˆÒ
)¨5°¨-¸Ô:ÜˆQˆs�3�s˜4 s°°qÕ9ä€qˆ�} T¨$¬s°4Ö8ò j€'Ü	�Ó	€&Ò!e˜&Ü˜V F¨1¨2 JÓ/ó E�o�g€rˆ"‰gˆr�"Ü�!‹Hó E€qØŒv�g˜a‘jÓ! &Ñ(¨"Ñ,Ñ,€B°¼¸wÈÈ!ÉÈQÁwÑ?OÓ8PÐQWÑ8WÐY[Ñ7[Ñ0[¨RØŒv�g˜a‘jÓ! &Ñ(¨"Ñ,Ñ,€B°¼¸wÈÈ!ÉÈQÁwÑ?OÓ8PÐQWÑ8WÐY[Ñ7[Ñ0[¨RØ	�‰ˆb�—‘ˆ˜Ÿ™˜R §¡�~ r§t¡t¨B¨r¯t©t n°b·d±d¸2¸b¿d¹d°^ÐD€BØ‡E�Eˆ"¨×+Ð+™u˜q  1ˆq��4‘˜ŠlÔ+Ñ
+Ò,iÔjnÔoäˆˆB�D‰D��D‘˜Ÿ™Ð §¡ R¨¡W¨R¯T©TÐ2°4¸¼TÀ!ÖDòEðEô ˆÒ
\Ð]jÔkoÐpqÔrÜˆˆ3‘c‰s˜s 3Ð
'¬¨tÈBÐ_uð  PSð  inö  oùô ,s   Ç0JÚdormer_gabledÚdormer_hippedÚdormer_wall))çš™™™™™é¿r   )çš™™™™™é?r   )r	  ç      ô?)ç…ëQ¸å?r
  )r  çÍÌÌÌÌÌø?)rÛ   r  )rÛ   ç…ëQ¸ý?)ç{®GázÔ?r  )r  ç¤p=
×£ @)ç{®GázÄ?r  )r   ç333333@)ç{®GázÄ¿r  )ç{®GázÔ¿r  )r  r  )rÙ   r  )rÙ   r  )ç…ëQ¸å¿r  )r  r
  )r  r
  )g×£p=
×ã¿ræ   ç333333ã?çáz®Gáº¿)ç
×£p=
×?ç333333ó?çáz®GáÊ?r°   rˆ   ))r  rÉ   )çš™™™™™Ù¿rÉ   )r   r  )rè   rÉ   )r	  rÉ   gáz®GáÊ¿)r   r³   r  )çš™™™™™ù?r†   r  rÓ   r
  )r   çš™™™™™É?rz   rÖ   r±   rƒ   r·   rÜ   gÍÌÌÌÌÌð?r  ré   ç333333Ã¿rÞ   )r  r  r  z7Bottom centre front face at eaves; facade Z=0; body -Z.rò   Úlouvre_ridgerÏ   )çÃõ(\�ÂÕ¿çÃõ(\�ÂÕ?ç¸…ëQ¸¾¿rï   r¶   r‰   )r¤   rí   r  )gHáz®Gñ?rë   r€   r®   iîÿÿÿé   ÚXrÉ   gq=
×£på?)r  r|   rÉ   z2Centre on host roof ridge line Y=0; ridge along X.z+Xr‚   )Ú
ridge_axisÚsaddle_embed_metresc                 óp  ‡‡— t        | «      }|rdnd}|rdnd}|rdnd}t        |d|dz  d	|d
z  fdd«       t        |d|d|ft        d«       |rg d¢nddg}|rdnd}t        |«      D �]*  \  }Š||r|dk(  rdndz
  }	|rdndŠt	        |‰dz  df‰dz  df‰df‰|	dz
  f‰dz  |	dz
  f‰d z  |	d!z
  f‰d"z  |	d#z
  f‰d z  |	d$z
  f‰d z  |	f‰d%z  |	f‰d%z  |	d&z
  fg‰ddft        |«       g d'¢|rd(gng z   D ]-  }
|
|	d)z
  k  sŒt	        |‰d*z  |
f‰d*z  |
d+z   fg‰ddfd|d,«       Œ/ |r�t        d«      D ]s  }|t        j                  z  dz  }‰‰d-z   t        j                  |«      z  z   }‰d-z   t        j                  |«      z  }t        |||	d.z
  |f||	dz
  |fd/t        dd¬0«       Œu |rÈ|dk(  rÃd1D ]¾  }t        d«      D ]®  }|t        j                  z  dz  }|dz   t        j                  z  dz  }||z   d2z  }ˆˆfd3„} |||«       |||d4z   «      f |||d4z   «       |||«      f |||«       |||d4z
  «      f |||d4z
  «       |||«      ffD ]  \  }}t        |||d5d5t        d«       Œ Œ° ŒÀ t        |‰|	d6z
  df‰|	d&z
  df‰d7z  t        d«       �Œ- t        ||||gd8|rd9nd:t        |«      ¬;«       y )<Nr  r  ç333333@gffffff@rÉ   r	  )r   çö(\�ÂõØ?r   ç)\�Âõ(ì?rÔ   çÍÌÌÌÌÌì?r   r~   )r   r4   r   r‚   r‡   )rÐ   r   rÑ   ç�Âõ(\�Ò¿ç�Âõ(\�Ò?r'   r)   r$   çffffffÖ?çq=
×£pÍ?ç®GázÎ?gìQ¸…ëñ?g…ëQ¸…ë?ç®Gáz®ï?rÌ   rÈ   g…ëQ¸…ó?rè   r
  r  gö(\�Âõð?ç¸…ëQ¸Î?r†   çÃõ(\�Âå?ç¤p=
×£à?)g…ëQ¸õ?ç�Âõ(\�ú?ç       @g¸…ëQ¸@gq=
×£p@ç®GázÞ?gþÔxé&1ð?rz   FrË   r(  ç/Ý$�•?©Úr2)gÃõ(\�Âõ?ç…ëQ¸…û?r  r6   c                 óx   •— ‰‰dz   t        j                  | «      z  z   |‰dz   t        j                  | «      z  fS )Nç;ßO�—n‚?)rd   re   rg   )r¢   rs   rr   r–   s     €€r/   Úrpzchimney.<locals>.rp•   s6   ø€ ˜˜A˜d™F¤D§H¡H¨Q£KÑ/Ñ/°°1°T±6¼4¿8¹8ÀA»;Ñ2FÐGÐGrM   rÎ   ç;ßO�—n’?rÕ   r  z=Bottom centre; vertical Y; placement base 0.55 m below ridge.i¸  éÐ  )Úflue_openings)r   r   ÚSTONEÚ	enumeraterw   rb   rd   rf   re   rg   r	   r
   rŽ   rB   rc   )rE   ÚrichrG   r�   r�   ÚdÚxsr]   r›   r—   rs   ru   r˜   ÚxxÚzzÚyyr™   Úmidr=  ÚaaÚbbrr   r–   s                        @@r/   ÚchimneyrL  ‚   s  ù€ Üˆƒ:€‘t‘ ˆa©d¡s¸ QÁT¹cÈr¸AÜ€Q€y�!�C‘%˜˜A˜c™EÐ" 1 SÔ)Ü€Q€y�!�C˜�œ5 Ô&ÙƒL˜t C˜j€±©1¸!¨Ü�b‹Mó 2�S€Q€qØ‘˜˜Aš‰ 1Ñ%€#©t©¸ aÜˆˆAˆd‰F�3ˆ<˜˜4™ ˜ a¨ X¨q°°S±¨k¸1¸T¹6À#ÀcÁ'Ð:JÈAÈdÉFÐSVÐWZÑSZÐK[Ð]^Ð_cÑ]cÐdgÐhkÑdkÐ\lÐnoÐptÑntÐuxÐy|Ñu|Ðm}ð  @Að  BFñ  @Fð  GJð  Kð  MNð  ORñ  MRð  SVð  LWð  YZð  [^ñ  Y^ð  _bð  cfñ  _fð  Xgð  hð  jkð  lmð  noð  ipô  qvð  wxô  yâ ©D 4¡&°bÑ9ò J€aØˆˆC‰ƒi”�a˜!˜E™' !˜ a¨¡g¨a°©fÐ%5Ð6¸¸!¸A°w¸qÀÀ5ÕIðJá	Ü�!‹Hò @€qØŒ�‰�j��l€A�a˜˜4™¤§¡¨!£Ñ,Ñ,�2°°4±¼¿¹À!»Ñ0D¨RÜˆˆ2ˆc�#‰g�bˆ/˜2˜c #™g b˜/¨$¬u°Q¸$Ö?ð@ñ 
ˆa�ŠdØò \€rÜ�1‹Xò \ˆØŒ�‰�z�!�|€Q�q˜‘sœDŸH™H‘n QÑ&�A¨A¨a©C°©7 sÝGÙ�q˜“H™R  B s¡F›^Ð,©b°°R¸±V«n¹RÀÀ"»XÐ-FÉÈ1ÈRËÑQSÐTWÐXZÐ[^ÑX^ÓQ_ÐG`ÑbdÐehÐikÐloÑioÓbpÑqsÐtuÐvxÓqyÐazÐ{ò  \‰ˆˆBô  }Að  BCð  DFð  GIð  JNð  OSô  TYð  Z[õ  }\ñ  \ñ\ð\ô €aˆˆ3ˆs‰7�1ˆ�q˜˜S™ �m A c¡E¬$¨qÖ1ð#2ô$ ˆˆ1ˆQˆqˆ'ÐQÑZ^ÑRVÐdhÔwzÐ{}Ów~ÖrM   Úchimney_clusterÚchimney_twinc           
      óX  — t        | ddt        d«       t        | ddddt        d«       t        | g d	¢d
t        d«       dD ]G  }t        | d|ddfddt        d«       t	        d«      D ]  }t        | |d|dz  z
  dfddt        d«       Œ! ŒI dD ]  }t        | d|dfd|dfdt        d«       Œ y )N)r   ç¤p=
×£À¿rz   )r³   ç333333Ó?r²   r‰   )r   ç¸…ëQ¸ž¿ç{®Gáz¤?)r   rR  çìQ¸…ëá?rz   gyé&1¬œ?r·   ))r   g¤p=
×£Ð¿rS  )r   ç¸…ëQ¸Î¿r  )r   r  rQ  )r   g
×£p=
§¿rÈ   r‡   r°   ©çq=
×£pÍ¿r.  )r   rR  çR¸…ëQà?rR  rX  r7  çü©ñÒMbP?r6   g
×£p=
·¿gTã¥›Ä °?r´   rË   r'   )g{®Gáz¤¿rW  r   r±   gV-²­?ç9´Èv¾ŸŠ?r¥   )r   rŽ   r
   r   rb   r   r	   )rG   r–   ru   rs   s       r/   Úsign_bracketr[  œ   s»   € Ü€Q€}�]¤4¨Ô-Ü€aˆ�\ $ t¬D°Ô6Ü€qÒ	?ÀÄTÈ!ÔLØ
ò A€QÜ€qˆ�q˜˜c�l 4¨¬T°$Ô7Ü�‹8Ò@€a”D˜˜A˜d 1 T¡6™k¨#Ð.¨t°D¼¸aÕ@Ñ@ðAð Ò>€Q”c˜!˜Q˜q ˜J¨¨!¨D z°$´t¸AÕ>Ñ>rM   c                 ó&  — t        | «      }t        |«       |dk(  rpg d¢}t        ||ddgd«       dD ]@  }t        |dd|fd	d
|fdd|fdd|fgdt        d«       t        |dd	|fdd	|fddt        d«       ŒB t        |ddddt        d«       �nÛ|dk(  rÕg d¢}t        ||ddgd«       dD ]º  }t        |||d   gz   D ��cg c]  \  }}|dz  |dz  d z
  |f‘Œ c}}dt        d«       g d!¢}t        |||||d"kD  rd#nd$z   gt        «       t        |g d%¢||d&z   gt        «       t        |d'd(|fd'd(|d)z   fd*t        d+«       t        |d,d-|fd.d/|fd0d1|fd2d3|fd2d4|fgdt        d5«       Œ¼ �n|d6k(  rqt        |d7d8d9t        d«       t        |d:d;d<d<t        d=«       d>D ]  }t        |d?|d@fdAt        dB«       Œ t        |ddCdDdDt        d«       t        |dEdFdDdDt        d«       n‹g dG¢}	t        |t        |	«      D �
��cg c]&  \  }
\  }}||d@dt        j                  |
«      z  z   f‘Œ( c}}}
dHt        dI«       t        |g dJ¢dKt        dL«       dMD ]  }t        ||dNd@f|d.d@fdDdDt        d«       Œ t        |g dO¢dPdQg dR¢idSdTdUdVdWœ|   ¬X«       y c c}}w c c}}}
w )YNÚboot))çÃõ(\�ÂÅ¿çš™™™™™É¿)rí   r_  )rí   çìQ¸…ëÑ¿)rÎ   ç×£p=
×Ó¿)ç333333Ã?çffffffæ¿)r.  ç333333ë¿)r  ç¸…ëQ¸î¿)rë   ç\�Âõ(\ï¿)ç¸…ëQ¸Ž?çÃõ(\�Âí¿)r+  rf  )ç…ëQ¸…Û¿g®Gázî¿)ç)\�Âõ(Ü¿g×£p=
×ë¿)ç®Gáz®×¿g=
×£p=ê¿)rP  çö(\�Âõè¿)rP  r  )çR¸…ëQÈ¿r+  g{®GázÜ?gq=
×£pá?é   )g×£p=
×Û?gV-²á?gáz®GáÚ¿gð§ÆK7‰í¿rä   çffffffî¿ç        gÍÌÌÌÌÌì¿r  gìQ¸…ëí¿r‡   r)   r^  r>  r{   rY  )rW  ç
×£p=
Ç¿rX  )r!  r_  rX  Úpig))çÍÌÌÌÌÌÜ¿rW  )ç
×£p=
×¿rm  )r  rm  )rÈ   ç      Ð¿)ç…ëQ¸…Û?gq=
×£pí¿)r  rf  )rt  g
×£p=
ï¿)rs  g{®Gázì¿g…ëQ¸Ý?g{®Gázà?é   )gÏ÷Sã¥›Ü?g#Ûù~j¼à?r   gÃõ(\�Âí?g®Gázî?rz   ))ç333333Ó¿çìQ¸…ëá¿)rW  rs  )ç¸…ëQ¸®¿r  )rÍ   ri  )r  çR¸…ëQà¿)r,  g¤p=
×£à¿)r   g=
×£p=â¿)r  ç{®Gázä¿)r.  r  )rÎ   r  )rƒ   r  )rƒ   rc  )g)\�Âõ(¼¿rc  )rq  çìQ¸…ëé¿)rU  r  )rW  r|  )rx  g…ëQ¸…ã¿rÛ   r~   ç{®Gáz”¿))r  r{  )r  r  )r1  rÆ   çÛù~j¼t“?g\�Âõ(\Ï?gî|?5^ºá¿r�   gºI+‡†?r¥   r+  çš™™™™™á¿rá   rÙ   rt  rs  ra  rj  rÆ   r°   Úkey)r   rå   rX  r†   r}   )r   r€  rX  )r   re  rX  r€   r‰   )r}  rh  r³   rX  )rì   rë   r€   r®   )r!  ru  rX  rg  )r.  rq  rX  )r‚   ru  rX  )©rU  r}  )rk  g®Gázæ¿)rå   g®GázÞ¿)r`  ç…ëQ¸Õ¿)rP  rt  )rp  ry  )çìQ¸…ëÁ?rd  )rã   rd  )r  ç
×£p=
ç¿)çR¸…ëQØ?rÐ   )çìQ¸…ëÑ?rƒ  )rÍ   rt  )r~  gáz®Gáâ¿)r^  çáz®Gáê¿r‚  çªñÒMb¨?r'   ))ra  ç¸…ëQ¸æ¿rX  )r^  rˆ  rÕ   )rÍ   rˆ  rX  )ç×£p=
×Ó?rŠ  rX  gºI+‡¦?r:   rV  rq  )r*  rÉ   r  z?Wall bracket fixing point [0,0,0]; object hangs below, body +Z.Úwall_fix©r   r   r   ÚcobblerÚbutcherÚ	locksmithÚbaker©r]  rr  r�  Úpretzel)ÚsocketsÚtrade)r   r[  r   r   r‹   r
   rŽ   r	   r   r   rB  rd   rg   r¹   rB   )rE   ÚkindrG   rž   r•   Úppr–   rs   rr  r�   r.   s              r/   Úsignr˜  ¤   s  € Üˆƒ:€Œl˜1ŒoØˆ&‚Lò B€$Üˆˆ$��Tˆ{˜2ÔØò 9€aÜˆˆT�%˜ˆN˜D  a˜=¨"¨T°!¨°c¸%À°]ÐCÀDÌÈQÔOÜˆˆ4��Qˆ-˜˜T !˜ T¨$¬s°4Õ8ð9ô €qˆ˜¨¨d´4¸Ö=Ø
ˆE‚kÚb€"Üˆˆ"ˆd�4ˆ[˜ÔØò _€aÜˆ¨B°°1±¨w©J×7¡S Q qˆQˆs‰U�1�S‘5˜‘:˜aÒ Ó7¸¼SÀÔCò L€3Üˆˆ3��!˜A˜bšD‘S dÑ+Ð,¬SÔ1ÜˆÒ-¨q°°4±¨j¼Ô=Ü€qˆ$ˆu�Qˆ˜˜e A d¡FÐ+¨D´°aÔ8ÜˆˆT�$�qˆM˜4  Q˜-¨¨d°1¨°t¸DÀ°mÀTÈ$ÈqÀMÐRÐSWÔX[Ð\]Õ^ò_ð ˆE‚kÜ€qˆ�c˜$œt BÔ'Ü€qˆ�l 4¨¬T°$Ô7ØÒB€a”s˜1˜c ! C˜[¨¼¸TÕBÐBÜ€qˆ˜¨¨d´4¸Ô=¼dÀ1À^ÐTbÐcgÐhlÔmqÐrvÕ>wò t€#Üˆ´Y¸s³^×
DÐ
D©'¨!©E¨Q¨qˆAˆa��DœŸ™ !›Ñ$Ñ$Ò%Ô
DÀTÌ$ÈqÔQÜˆÒ
IÈ$ÌtÐTUÔVØÒK€a”d˜1˜a  S˜\¨1¨T°#¨,°t¸DÄÀdÕKÐKÜˆŠ+ÐWÐakÒlsÐ`tð  DMð  T]ð  doð  zAñ  |Bð  CGñ  |Hö  Iùó! 8ùô Es   Â<JÇ5+Jr’  Úsign_Úoriel)r   rƒ   r,  )g      ø?r  g�Âõ(\�â?r‡   )r…  r   rÓ   r  rÕ   rç   r³   )g®Gáz®ç¿ç®Gáz®ç?r†   rÊ   r€   r  r,  )rë   r‡  rÛ   )rt  r  rT  ç…ëQ¸á?)r’   )r   rî   rœ  )gffffffö?rã   rë   r§   )r   r  r   r›  )gö(\�Âõà¿rÕ   ))r}   rS  )rÕ   rS  )r6  g{®Gáz´¿)ç…ëQ¸Õ?r^  )rÎ   rt  )r}   ri  rë   ra   ))r}   r4  )çš™™™™™á?r4  )rž  gö(\�Âõü?)r}   g\�Âõ(\@r}   r¯   )r   r…   rœ  )ç®Gáz®÷?rÍ   r¶   )r   çHáz®Gá?rœ  )rŸ  rƒ   r¶   )r   gÍÌÌÌÌÌÌ?rœ  )rŸ  r³   r¶   r  r  gÑ?r.  )r   gü©ñÒMb ¿çš™™™™™@rà   )r   ç×£p=
×û?r3  )çHáz®Gù?ç)\�Âõ(¼?r„  )r  r¡  r  zLBottom centre BACK face Z=0 at upper-storey floor; corbels extend below Y=0.rv  )Úcorbel_drop_metresÚwall_trim_front_min_zc                 óJ  — t        | «      }|dz  }||z
  }||z
  dz  }	|rdnt        }
dD ]?  }t        d«      D ]/  }t        ||||	dz  z   z  |dz   |z  dz  df|	|dz  dz
  df|
d	«       Œ1 ŒA t        d
«      D �]  }|t        j
                  z  d
z  dz   }|dz   t        j
                  z  d
z  dz
  }|t	        j                  |«      z  ||t	        j                  |«      z  z   f||	z   t	        j                  |«      z  |||z
  t	        j                  |«      z  z   f||	z   t	        j                  |«      z  |||z
  t	        j                  |«      z  z   f|t	        j                  |«      z  ||t	        j                  |«      z  z   fg}t        ||ddg|
«       �Œ! t        d«      D ]«  }| dz   ||dz
  z  dz  z   }| dz   |dz   |dz
  z  dz  z   dz
  }t        d«      D �cg c]J  }|||z
  |z  dz  z
  |t	        j                  t        d||z  |||z
  |z  dz  z
  dz  z
  «      «      z   dz
  f‘ŒL }}t        ||df|dfg|z   ddg|rt        nd«       Œ­ d|dz
  fD ]o  }| dz   |dz
  f|dz
  |dz
  f|dz
  |f|dz
  |dz   f| dz   |dz   fg}t        ||ddgt        «       | dz   d|d z
  fD ]  }t        |||df||dfd!t        d«       Œ Œq t        ||d"z
  d#d$fd%d&t        d«       t        ||d"z
  d'd(fd)t        d*«       t        |||dgt         ||||g d+¢dd,œdd-¬.«       y c c}w )/Nr6   r   r§   r¥   rÛ   rz   rË   rQ  r‰   r9   r$   ç      À¿gffffffÆ?r7   rˆ   çü©ñÒMb�?rx   r)   r1   gìQ¸…ë±¿gú~j¼t“ˆ¿rU   rÎ   r²   r>  r�   r³   r·   çœÄ °rh‘?rÍ   rz  r  ç{®Gáz„?rì   r)  gÛù~j¼t£?r±   r<  gq=
×£pí?çyé&1¬|?)r¶   r‚   r>  r®   r�  )ÚwidthÚheightÚspring_heightÚarch_radiusÚbottom_centerÚwall_thicknessT)Úopeningr¦  Úrequires_wall_opening)r   rA  rb   r   rd   Úpire   rg   r   ÚsqrtÚmaxr‹   rŽ   r	   r   rB   ÚFACADE)rE   r�   r�   Úouter_wÚouter_hÚrubblerG   rr   Úspringr¢   rn   Úsr¾   ru   r˜   r™   r—  r“   Úx1r.   r—   rs   rž   r–   s                           r/   Údoorr¿  å   sE  € Üˆƒ:€��!‘ˆa˜1˜Q™3�F '¨!¡)¨Q¡˜q¹±1ÄE¨sØ
ò _€QÜ�1‹XÒ^€c”c˜!˜Q  ! A¡#¡™Y¨¨B©°¡°qÑ'8¸Ð>ÀÀ&ÈÁ(È4Á-ÐPSÐ?TÐUXÐY]Õ^Ñ^ð_ô �‹)ó €QØ„d‡g�g�Iˆb�L�Ñ€!˜˜1™œdŸg™g™ bÑ(¨Ñ-�aØŒ�‰�!‹�}�V˜AœdŸh™h q›k™MÑ)Ð*¨Q¨q©S´$·(±(¸1³+Ñ,=¸fÀgÈfÁnÔVZ×V^ÑV^Ð_`ÓVaÑEaÑ>aÐ+bÐefÐghÑehÔjn×jrÑjrÐstÓjuÑduÐv|ð  Fð  GMñ  Mô  OS÷  OWñ  OWð  XYó  OZñ  ~Zñ  wZð  d[ð  ]^ô  _c÷  _gñ  _gð  hió  _jñ  ]jð  kqð  rsô  tx÷  t|ñ  t|ð  }~ó  tñ  rñ  kð  \@ð  A€"Üˆˆ"ˆe�Dˆ\˜#Öðô �‹(ò H€QØ€Rˆ�WˆQ��$‘‰Z˜‰\Ñ€"˜a˜R ™W a¨¡c¨A¨d©F¡^°AÑ%5Ñ5°dÑ:˜"äW\Ð]^ÓW_Ö`ÐRSˆˆBˆr‰E�1‰9�Q‰;‰�vœdŸi™i¬¨A¨a°©c°2°r¸"±u¸a±iÀ±k±>ÀAÑ2EÑ.EÓ(FÓGÑGÈÑLÒMÐ`€#Ð`ÜˆˆBˆtˆ9�b˜�YÐ
 Ñ
# T¨% L¹µÀBÕGð	Hð
 ˆv�c‰zÐ
ò G€QØ
ˆˆC‰��$‘ˆ˜˜3™˜q ™v˜¨¨#©¨a y°!°C±%¸¸$¹°À!ÀÀCÁÈÈ$ÉÀÐP€$Üˆˆ$��Tˆ{œ4Ô ØˆBˆs‰F�4˜˜#™ÐÒF€aœs 1 a¨¨$ Z°°1°T°
¸3¼tÀAÕFÑFðGô €aˆˆ3‰ˆs�4Ð˜˜d¤4¨Ô+Ü€Qˆˆ#‰ˆc�$Ð˜¬¨TÔ2Üˆˆ7�7˜2Ð
œv°qÀ!ÐTZÐijò  |Cð  UWñ  /Xð  osð  JNö  Oùò as   ÇAL Údoor_arched_stonerÌ   gffffff@rð   Údoor_cellarr*  rñ   r5  Úwindow_cellarrn  r/  rì   rQ  ç      Ð?rm  r„   )r  çš™™™™™©¿r²   rb  r¬  rZ  )gu“VÍ¿rì   r«  )gu“VÍ?rì   r«  gZd;ßO�—?gºI+‡–?rY  )r  rÛ   rÃ  r6  r†  Úellipse)r   rì   r   r�  )r­  r®  Úshaperû   r±  )r³  r´  Úwindow_shuttered)g      Ø¿g      Ø?rÄ  r²   rb  )gš™™™™™™¿gffffffð?)r	  r²   rb  )r   gÛù~j¼t£¿r   )r	  rë   r  g�•C‹l×?rÛ   gÙÎ÷SãÕ?)r}   g\�Âõ(\ï?gw¾Ÿ/Ý´?)r  r	  g�•C‹lÇ?)r>  r€   r�  gX9´ÈvÖ?rS  r>  gÅ °rh‘Õ?)r‡   gV-²�?r,  )r	  rÌ   rQ  r|   )r­  r®  r±  éZ   g¸…ëQ¸Ö?z;Frame depth nominal 0.3; open 0.35 m leaf projects 0.355 m.)r³  r´  Úshutter_open_angle_degreesÚopen_shutter_projection_metresÚnominal_depth_noteÚfinial))r¤   r   )r¤   r±   )rS  r¤   )r}   ç®Gázæ?)r‰  g\�Âõ(\ç?)r‡   rÚ   ©r   r$   )r¨  rà   r   )g      À?rà   r   gÙÎ÷Sã¥›?)r   rè   r   gq=
×£pÝ?r   r<  )rÃ  r$   rÃ  zBottom centre; +Y vertical.Úthatch_panelç)\�Âõ(à¿é   rÙ   ç)\�Âõ(à?)r   rà   g¤p=
×£ð?gœÄ °rhÑ?gL7‰A`å ?é   r0  r�   é   )Úuvé   rè   gq=
×£pÝ¿gsh‘í|?µ?rª  r  r   gÕxé&1ð?r×   gé&1¬ð?gyé&1¬Œ¿rÝ   gd;ßO�—ð?))r   r6   r$   )r   r$   r1   )r$   r6   r1   )r6   r   r1   )r$   rQ  r$   zQCentre of UPPER edge on rafter plane [0,0,0]; X eaves, Y thickness, +Z downslope.i,  r«  )r–   r•   é2   ró   )Úgrid_step_metresÚmesh_overlap_metresÚroof_pitch_degreesÚtexture_period_metresÚthatch_ridge))rs  r!  )rj  r~   )rt  rb  )ru  rQ  )r!  rï   )r   rÈ   )r‚   rï   )rÃ  rQ  )r  rb  )g)\�Âõ(Ü?r~   )rÈ   r!  )r‹  r^  )r  r„  )r   rÃ  )r_  r„  )ra  r^  )rÐ  rÒ  rÎ  )r  r   r   r  r{   )r$   rÈ   r*  zCCentre on ridge line; ridge along X; lower skirts cover panel tops.rÎ   )rØ  Úlower_skirt_drop_metresÚpillory))r   r$   r¤  )g…ëQ¸Å?r2   r¤  )r‡  r2  r‚   )
)ç¤p=
×£Ð?r   )rß  g=
×£p=Ú?)r†   rÇ   )rb  ç=
×£p=â?)g�Âõ(\�Â?g
×£p=
@)r†   g®Gáz®@)r†   g=
×£p=@)r  ç
×£p=
	@)r-  g×£p=
×	@)r-  g{®Gáz
@g=
×£p=
@g333333@g{®Gáz@g      @r2  r  )r   rƒ   r   g)\�Âõ(@gš™™™™™@rz   r8  ))r-  gffffff@)rî   g¤p=
×£@)r   gö(\�Âõ@)rQ  g…ëQ¸@)r  gffffff@)çq=
×£p½?gÍÌÌÌÌÌ@)g¸…ëQ¸ž?ç…ëQ¸@)r   gq=
×£p@))gHáz®G@r‹  )gHáz®G@r.  )g=
×£p=@r  rµ   ))r}   rã  )r}   g�Âõ(\�@)r±   g¤p=
×£@)r>  g×£p=
×@)r   r¥   râ  r¢  g=
×£p=Ê?r  r:  r£  gË¡E¶óý´?r‰  r•   r–   )Úaxisrí   g)\�Âõ(ð?)r$   r¥   r$   z Ground centre; Y=0 base bearing.ip  zQSheet G stone gothic civic pillory; pierced upper lantern, iron restraint chains.)Ú	referenceÚ
well_wheelr©  g%�•C‹Ì?ræ   rØ   ))ç{®Gázì?rÍ  )rç  r	  )ç…ëQ¸…ã?r	  )rè  rÍ  )r…  rÓ   gffffff@r¤  rË   r-  r	  g¸…ëQ¸ @g)\�Âõ(@rl  gìQ¸…ë@rÔ   r„  )r)  ç�Âõ(\�ò?)r²   rì   gHáz®Gõ?g)\�Âõ(ä¿g¤p=
×£ô?g{®Gázä?g333333ã¿r1  rÒ   r…  )r.  rÇ   r²   )gffffffò¿rŸ  r   )r4   rŸ  r   )ç¤p=
×£ð¿rŸ  r   g¤p=
×£è?g‘í|?5^ê?rê  rŸ  g/Ý$�¥?)ro  rŸ  r   )g
×£p=
ó¿ç�Âõ(\� @r   )gR¸…ëQð¿rë  r   g+‡ÙÎ·?)r²   r(  r   )r²   g=
×£p=ö?r   ))r„  rp  )r†   r‡  )rb  r‡  )r‚   rz   )r   rz   )r²   r   r   )r†  rà  ÚYré  gáz®Gáò?g      @rè  )r   gÙÎ÷Sã¥›¿))rƒ   rá  )rƒ   gš™™™™™	@)rS  g      
@)r>  g
×£p=
@)r   r'  )r  r'  r  z-Ground centre; +Y vertical; wheel on -X side.)r   rŸ  r   )r   r	  r   )ÚwinchÚwheelÚwell_opening)r”  ÚATOMú/rA   )Úflushc              #   ó:   K  — | ]  }|j                   d kD  –— Œ y­w)gê-�™—q=N)Úarea)r-   Úps     r/   r0   r0   ‘  s   è ø€ Ò3˜QˆA�F‰F�5�LÑ3ùs   ‚z	zero areac              3   ó(   •K  — | ]	  }|‰   –— Œ y ­wrO   rY   ©r-   rP   r›   s     €r/   r0   r0   “  s   øè ø€ Ò:MÀA¸1¸Q½4Ñ:Mùó   ƒc              3   ó(   •K  — | ]	  }|‰   –— Œ y ­wrO   rY   r÷  s     €r/   r0   r0   “  s!   øè ø€ ò  uHÐ~ÐuvÐwxÕuyñ  uHùrø  )r¸   r·  )Ú	trianglesÚbounding_boxr   é   c              #   ó&   K  — | ]	  }|d    –— Œ y­w©rú  NrY   ©r-   Úes     r/   r0   r0   –  s   è ø€ Ò
+˜aˆ1ˆ[�>Ñ
+ùó   ‚iÈ¯  ÚDESELECTzkit.glbÚGLBÚEXPORT)ÚfilepathÚexport_formatÚuse_selectionÚexport_applyÚ
export_yupÚexport_materialsÚexport_texcoordsÚexport_normalsÚexport_tangentsÚexport_camerasÚexport_lightsÚschemazforge.atom-kit.v2Ústylezmedieval-townÚunitsÚmetresÚupz+YÚfacade_outwardz+ZÚfacade_horizontalÚatomsÚtotal_trianglesc              #   ó&   K  — | ]	  }|d    –— Œ y­wrþ  rY   rÿ  s     r/   r0   r0   ›  s0   è ø€ ò  jKð  ~ð  klð  mxõ  kyñ  jKùr  Ú	glb_bytesÚmaterial_bindingÚpaint_slotsr   r   Úimages_embeddedÚ
roof_unitsÚuv_rulezlMetric UV0 divided by shelf physical repeat, no extra repeat at runtime. Thatch UV V downslope, periodic 1m.Ú
provenancezhOriginal reconstruction from user sheet.jpg using medieval shelf helpers; not extracted source geometry.zZShared Poly Haven CC0 shelf unchanged; original periodic Thatch_reed height/albedo/normal.)ÚgeometryÚtextureszkit.json)Úindentz	kit.blend)r  zbuild_evidence.json)ÚsecondsÚ
glb_sha256Úbuilder_sha256ÚEXPORT_COMPLETE)r?  )rU   T)Frx   )r¤   r)   r¥   )F)»Ú__doc__ÚbpyÚbmeshrd   ÚjsonÚsysÚhashlibÚtimeÚpathlibr   Ú	mathutilsr   r   Ú__file__ÚresolveÚparentÚROOTÚpathÚinsertÚstrÚSTARTr!  ÚGr   r   r   r	   Údetailsr
   r   r   r   ÚopsÚobjectÚ
select_allÚdeleteÚlistÚdatar   ÚmÚremoveÚloadsÚ	read_textÚSHELFÚNAMESÚgetÚTILESrE   ÚnewÚ	use_nodesÚ	node_treeÚnodesÚbsÚimagesÚloadÚimrS   Úpixelsr,   rj   rb   rÁ   Údiffuse_colorÚinputsÚdefault_valueÚMATSrD   r‹   rA  rŽ   rŠ   r¹   ÚTHATCHrC   rF   rB   r¸  rø   rT   rw   r£   rÄ   r  rG   rú   r–   rh   r˜   r™   r•   rs   ÚRotationÚradiansrc   rP   ÚstrL  r[  r˜  r›   r½  rž   rp   r]   rl   ru   r¾   r“   r¾  Úz0r¸   Úz1r¿  rf   re   rg   r—  r¶  rH  r¬   rE  Úzsrµ  r�   ÚtipÚNrv   r.   ÚedgeÚbottomrB  rk   ÚfiÚsmoothÚfÚfacerõ  ÚcrossÚ
normalizedÚnormalrŒ   ÚmirÕ  r�   ÚvvÚarcÚdistrr   Úx2Úz2rI  ÚrotÚt0Út1Úw0Úw1r”   rþ   rÂ   rÃ   ÚentriesrL   ÚupdateÚpolygonsÚtriÚentryÚprintÚallÚverticesÚcor�   Úroundr·  ÚsortedÚmaterial_indexr+   Ú
select_setÚexport_sceneÚgltfÚ
read_bytesÚkitÚ
write_textÚdumpsÚwmÚsave_as_mainfileÚsha256Ú	hexdigest)r]   r–   rs   rP   rF  r•   r.   r    ÚrxÚryr¢   ru   r˜   r™   rR   rr   r›   rõ  s   0000000000000000p0r/   ú<module>rŒ     s "  øðñ÷ ,× +× +Ó +Ý ß #Ù	ˆ(ƒ^×ÑÓ×$Ñ$€ S§X¡X§_¡_°Q±s¸4³yÔ%AÈ	ÈÏ	É	ËÀ%Û ß 'Ó 'ß *Ó *Ø ‡�‡�× Ñ  Ð Ô *¨3¯7©7¯>©>×+@Ñ+@ÈEÐ+@Ô+RÙ	ˆc�h‰h× Ñ Ó	!Ò >€A #§(¡(×"4Ñ"4×";Ñ";¸AÕ">Ð >Ø€d‡j�j�$Ð'Ñ'×2Ñ2Ó4Ó5°kÑB€ò P€Ø5:Ö;°ˆˆq‰�‰Ð(¨Õ	+Ò;€„Øó €DØ‡8�8×Ñ×Ñ˜$Ó€¨D ¤°A·K±K×4EÑ4E×4IÑ4IÐJ[Ó4\°Ø‡H�H‡O�O×Ñ™˜T %¨¡+¨fÑ"5°kÑ"BÑBÓCÓD€ÀRÇXÁXÈaÐPQÄ]ÑVZÐ[]×[dÑ[dÓVeÐSUÑjoñ  pTñ  KPð  QRó  KSô  pTó  kTð  UYñ  kYÐfið  Z]÷  Zbñ  Zb÷  Ziñ  Zi÷  Zpñ  Zpð  qsô  ZtØ€„¸3�R—Y‘Y˜|Ñ,Ô:Ðdg¸r¿y¹yÈÑ?UÔ?cØˆ.Ò¸S˜Ÿ™ :Ñ.Ô<Ø‡�‡�ˆqÖðð €ˆA€e�2ˆd˜B�e A˜t¨R fØ
€�ˆ4ôVàI€Ør€Û Pôôcô(Tôoñ< €Ô ™˜¨tÔ4á€}Ó€ò 	X€à	Ò >€A‘C˜˜1˜S ˜-¨°q¸Õ>Ð >Ù €a˜' ! "˜+×&‘3�1�Qˆ!ˆAŠÓ&Ò'YÑYÐ[_Ð`aÐZbÐcdÔ eÙ €A€m�M %¨Ô -Ù ˆˆ#ˆd�< Ô %Ùˆw�q�rˆ{˜7 1 2˜;Ó'Ò g�C€A€a©¨Q°°!±°Q°q±T¸%Ð/@À!ÀAÁ$ÀqÈÁtÈEÐARÐSWÐX[Ð\aÐbfÕ(gÐ gÙ 
ˆ1ˆT�$�t˜D¨°!¸Õ ;Ù €qŠÐPÐQUÔ Vá€~Ó€Ø	ò E€AØ
ÒD€Q‘T˜!˜Q˜t A˜J¨¨#¨a y°°d¸3¸tÕDÑDðEà	ò y€AØ
Òx€Q™˜A˜q  1˜gÐ&6°s¸4ÀÀÇÁÐP\ÐPT×P\ÑP\ÐdeÐfgÒdgÑ]`ÐmoÓPpÐqrÐsvÓ@wÕxÑxðyñ €q‡s�sƒ8€‰J�q˜˜S  S°¸¸qÕAØ*+¯#©#¨b¨c¨(Ö	3 Q‰&�!—#‘#�a—c‘c˜1Ÿ3™3˜$�Õ
 Ò	3€‡�€B€C€Ù €qŠÐJÐVZÐorÕ sò@ñ0 Ð˜$Ô ¡¨°uÔ =ò?òIð< 
(Ò 9€A©¨W°Q©Y°qÕ(9Ð 9á€wƒ-€Ù €A€k�.  TÔ *Ø	Ò H€A‘d˜1˜a  C˜[¨!¨D°¨°d¸3¸sÀ4ÕHÐ HØ	ò )€AÙ€aˆˆ3ˆtˆ�a˜˜T�] 4¨¨S°Ô6Ù€Qˆˆ#ˆc€{�=  4Õ(ð)ð 
Ò A€A‘G˜A˜c $¨¨#¨d |¸qÖAÐ AÙ €A€l�> ! DÔ )à	ò B€AÙˆ�‰ƒH€‰W�Q�s˜4 	°QÕ7Ø89¿¹¸B¸C¸Ö
A°1‰6�1�c˜!Ÿ#™#‘g‘;˜qŸs™s 3 q¨¯©¡u¡9Ð-Õ.Ò
A€‡�€R€S�ðBð 
ò k€AÚI€Ø˜3™˜q ™u˜×6Ð6�"°Ò6©#¨!¨A€bˆˆ1‚XÐ6€XÔ6€¹¸T»°qØ‡�€r‰5‘�q˜‘s˜2˜bÓ!Ó"¡5©¨q°°1±«Ó#6Ð
7Ñ\aÐbcÓ\dÖ8eÐWX¸!¸Q¸q¹SÀ!¹GÀQÀqÁSÈ!ÁGÈAÁIÈaÐPQÉcÒ9RÒ8eÑ
eÐfiÕjðkð
 
ò M€AÚ5€Ø˜4™  $¡˜×8Ð8�"°4Ò8©C¨A¨a€bˆˆ1‚XÐ8€XÔ8€Ø‡�€rÒ
GÈÕLðMñ €A€m�O C¨Ô *Ù €A€l�? 3 qÔ )Ù €A€m�O C¨Ô *á	ˆq‹ò O€AÙ�!‹Hò O€SØ	ˆ!ˆC‰%�‰'�\�$Ñ€"˜"˜U™( 4™-�r¨3¨s©7¨±c¸#¸bÀ¹f³o°2Ø$-×[Ð[˜b¸2¸b¸'À2ÀbÀ'È2ÈbÈ'ÐSUÐVXÐRYÐ9ZÒ[±#°!°A€qˆˆa�‰e‰�B‰�qÒÐ[ÐÔ[€"Ø‡%�%ˆÒHÈÕNñOðOñ
 €A€l�> # dÔ +Ù €qŠÐdÐx{ð  SWõ  XôOñ* Ð˜˜S  SÔ )©$¨}¸RÀÀCÈÈDÔ*Qá€Ó€Ù	ˆr‹ò €AØ€T‡X�X�:ˆb�=�Ñ€˜˜1™˜dŸh™h™ rÑ)¨$Ñ.�aØ:>¸sÀ1¸ÀsÈ3ÈqÀkÐSVÐWZÐ[\ÐR]Ð_cÐdgÐhiÐ^jÐ8k×lÐl©W¨R°°1€bˆˆ�‰�!‹�n�S˜˜H˜DŸH™H Q›K™Ñ'Ò(Ôl€Ù€qˆˆT�#ˆJ�uÕðð 
ò T€AØˆ	ˆ�	‰	�!�Q�t‘V˜a‘K‘-Ó Ñ €¡ Q¨¨#¨b©&° ¸¸#¸b¹&À°ÀtÈDÐQRÕ!SðTá €Q€�~ d¨4°°TÔ :Ù €qŠ�V¨S¸#ÀiÒYbÒszÑ${ð  SWõ  XáÐÓ€Ø	Ò D€A‘d˜1˜a  $˜Z¨¨1¨T¨
°3°s¸3¸tÕDÐ DØ	Ò ?€A‘s˜1˜a  $˜Z¨°c¸$Õ?Ð ?Ù €A€n�] 3 tÔ ,Øò 5€Dá
�‹(ÒZ€Q‘3�q˜$˜t™) C¨¨a°©d°D©[¸©]Ñ(:Ð;Ð<RÐSTÐUYÕZÐZØ
ÒF€Q‘C˜˜4 ™9 Q tÐ,¨_¸SÀÕFÐFØ
ò 5€QÙ€aˆˆd‰�1�S‘5˜Ð  T¡	¨!¨C©%°Ð5°d¸4ÀÔBÙ€aˆˆd‰�1�SÐ˜/¨$¨tÕ4ñ5ð	5ñ €qŠ�V¨R¸ÊWÑ$UÐlpð  MOð  osð  GDõ  Eá€xƒ.€‘�qÒ^Ð_fÐgkÐlmÔnÙ €Q€}�\ $ t¨D°Ô 6Ø	Ò Z€A‘�a˜ A c¡E¨#¨a =°!°C±%¸¸A°ÀÀ#ÁÀcÈ!¸}ÐMÈdÐSWÐXYÕZÐ ZÙ €qŠÐ2Ô 3á€~Ó€˜5˜'±U¸1¸R³[Ö"A° 3 q¨¡t£8Ò"AÑAÀ4À&ÑH�rÊLÈØ€Ø	ò €AØ
ò €Qàˆˆhˆd�h‰h�q˜Ÿ™‘z "‘}Ó%Ñ	%Ñ% d¨8¨4¯8©8°A°d·h±h±J¸q±LÓ+AÑ&AÑAÀ$ÀxÀtÇxÁxÑPSÐTUÐVWÓPXÐY]×Y`ÑY`ÑP`ÓGaÑBaÑa€!Ø./°ªc€dˆBˆr�(�$—(‘(˜1˜TŸX™X™: b™=Ó)Ñ)Ñ)Ò*°q€#Ø‡)�)ˆQˆq��3‘ˆKÕñ	ðñ €bƒ'€ˆRˆ"Ù	‰s�2‹w�q‰yÓ	ò :€AÙ
��!‘‹*Ò9€Q�q˜‘s˜1‘u�Q˜RŸY™Y¨¨!¨A©#¨a°©c°!©e°A°a±CÐ'8Õ9Ñ9ð:ñ 
‰%�‹(ƒ^¡e¨A©c°"«gÓ&6Ö7 �Q�q‘S˜‘U˜1“WÒ7Ñ7¹¹UÁCÈÃGÈAÁIÈqÁ=ÐQRÁ?ÐSTÑCTÑVYÐZ\ÓV]Ð^_ÑV_ÐabÑUbÐcdÑUdÐegÓ=hÓ8iÑiÑx}ñ  Bð  CEó  Fð  GHñ  Hð  IJð  KMó  yNö  kOÐstÐklÐmnÓknò  kOñ  O€Ø	€Ø	Ò €Aˆf�m‰m™C ›GÔ$¨2¨a©5¡U Q q¨°·±¸AÐfgÐhkÒfk¸dÀBÀrÈ(È$Ï(É(ÐSTÐUY×U]ÑU]ÑS]Ð^`ÑS`ÓJaÑGaÑDaÒ>bÐqrÑsvÐwxÐy|Ós}Ð;~Õ1Ð Ù™˜T $ q r (¨4°°¨8Ñ"3Ó4Ó5Ò h�G€A�e€qˆ°b·i±iÀÀ6È!Á9ÈVÐUVÐWXÑUXÑZ]Ð^bÓZcÑTcÑMdÐefÐ@gÕ6hÐ hØ ‡	�	‰%‘˜Ó Ó
!Ô "Ø ‡�€bˆˆF¨R×0Ð0¡E A a¨˜˜"™˜Q’xÔ0€Ô 1Ù
‘�R“˜‘˜Q˜q™SÑ!Ó
"Ò 4€B° 1§8¢8¨B¢<Ð 4á˜Ÿš‹~ò V�G€B€tØÖˆq€A‡C�CˆƒFÒ€ ! A¡$ q¨¡t¡)×!2Ò!2°1°Q±4¸¸!¹±9Ó!=×!HÒ!HÓ!J˜&Ùˆ�‰ƒM�"ÓØ€!‡$‚$€r�(ÐSTÖUÈa¡C¨¯©£M°"Ò$4˜!Ÿ#™#˜bš&¸!¿#¹#¸rÑAÀ!Ç#Á#ÀbÁ&ÒIÒUˆa�dŠd�2ŠhðVñ
 
ˆr‹ò V€AØˆˆ$‰�;€��d˜8˜4Ÿ8™8 A c¡E›?Ñ*Ñ*ˆqØˆ�cˆ$ˆuÐ�q˜‘s˜4 Ð&¨¨$¨u ~°q¸±v¸eÀDÈÈÏÉÐRSÐTWÑRWËÑDXÑ>XÐY^Ð6_Ð`€Ø‡�€rÒ
+¨BÐQS×2TÐ2TÉÈÈ!ÈA°Q°r±T¸2±I¸aÀ¹dÒ3CÔ2T€ÕUðVñ €q‹ÑfÑgjÐ}~ð  @Að  }Bñ  \_ð  dgò  Whñ  }ñ  @Bð  |Cð  [\ð  ]^ð  Z_ö  `Ù�~Ó€ó n€à€C€Ùˆt�D˜˜�HÓÒ @�C€A€a˜cŸj™j¨¨R©°°·²¸1¸Q³Ñ)?Õ@Ð @Ù!×2Ð2�¨TÒ2¡c a¨€Q€qˆ‚GÐ2€GÔ2€±S¸³Y°1Ø ‡�€b‰%‘�a˜‘c˜"˜RÓ Ó
!¡%©¨a°°!±«Ó"5Ð	6Ñ[`ÐabÓ[cÖ7dÐVW¸¸A¸a¹CÀ¹7ÀAÀaÁCÈÁ7È1Á9ÈQÈqÉSÒ8QÒ7dÑ	dÐekñ  HT÷  pgð  CDñ  ^cð  deó  ^fò  pgð  YZÐqrÐsuÑquÐvyÐz{Ñv|Òp}ð  pgÐp}ó  pg€ô  hÙ
ò C€BØ
€‡‚€b�¸!¿#º#¸b¹'ÖB°Q˜Ÿ™˜A™Ÿ™ ™ A§C¡C¨¡F§H¡H¨R¡KÒ0ÒBˆQ�TŠT�"ŠXðCñ 
ò 9€AÙ€q $ s¨ )×	,™3˜1˜Qˆ1ˆQ‰t‰V�AŠ,Ó	,©T°#°aÕ8ð9á €q‹ÑYÑZ]ÐpqÐorñ  LOö  Pá�yƒ/€Ù8Ò Z�E€A€aˆ¹¸QÀÀ!ÀA¸wÈÈ!ÈAÀwÈuÐUYÕ9ZÐ ZÙ €aÓtÐu|ð  ~Cð  DEô  Fá	ˆq‹ó 3€AØ€T‡X�X�:ˆa�<€�#�˜˜(˜$Ÿ(™( 1›+™�a¨¨(¨$¯(©(°1«+© aÙ€Qˆ‰$ˆq€z�1‘T˜!�*˜T %¨Ô*à€a�Cˆ�‰�>�!Ñ€�q˜˜Ÿ™ !›‘}�B¨¨(¨$¯(©(°1«+© RÙˆa�‰d�A‰X‘d˜A˜b™D !™8Ð$Ó%€Ù�1‘T˜!�*Ó™f b©¨b \Ó2Ð
3ò @€QÙˆˆ1ˆQ‰s‰U�3‘s‘7‰]™6¡)Ó,Ñ,¨SÐ
1°$°u¸QÕ?ð@á€Qˆ‰$ˆq€z�1‘T˜!�*™T %¨¨T×2Ð2ð3ñ €aÓ`ÐahÐinÐopÔ qÙ	ˆq‹ò o€AØ€T‡X�X�:ˆa�<€Ù.ò o�S€Q€qÙ€aˆˆ8ˆ4�8‰8�A‹;‰�q˜˜8˜4Ÿ8™8 A›;™Ð'¨!¨C©%°°·±¸!³Ñ)<¸Q¹t¹VÀQÀsÁUÈHÈDÏHÉHÐUVËKÑDWÐ(XÐY]Ð^cÐdeÐim×nñoðoñ €aÓ?ÀÈÈQÔ OØ	ò +€AÙ€Qˆ‰$‰‰t�DÐ˜1™T™6¡$ tÐ,©T°$°qÔ9Ù€aˆ‰3‰‰t�DÐ™$˜t D¨Ô,Ù
�‹(Òr€Q‘4˜˜1˜c¡$ x t§x¡x°£{Ñ"2Ñ2Ñ3±D¸¹4¹±KÀÐDÁTÉ$ÈtÐTUÐbcÐdeÑbeÐghÒbhÒ[^Ñnq×rÐrÙ€aˆ‰3‰‰t�CÐ˜˜T $ rÕ*ð	+ñ
 €q‹Ñ3±Dñ  DWö  Xá�|Ó€Ù�‹8ò L€CÙ
�‹)ò L€QØ€rˆ3ˆq‰5�z�\�4—8‘8Ñ˜BÑ˜tÑ#€! a¨¯©°©¡m±DÑ&8 AØ03°C±¸¸C¹Á¹Ð/E×sÐs¨!ÑSVÐWXÐRYÑ[^Ð_`ÐZaÑcfÐghÐbiÑknÐopÐjqÐQrÒsÉ#È!ÈA€qˆˆ�‰�!‹�}�Q�q˜˜Ÿ™ !›‘}Ò%ÐsÐ%Ôs€"Ø‡%�%ˆÒHÈÕKñLðLñ
 €aÓ1°'¸%ÀÔ CÙ	ò M€AÙ
ò M€QÙ€qˆ!ˆC�ˆ�A‘d˜1�:™c¡# c©$Ô/Øò M€aÙ	ˆ!ˆA‰c‰E‰'ƒl‘2ƒo‘d˜1˜a¡ Q˜Z¨¨1©S©5©±°aÐ(8¸¸dÀ3ÀtÕLñMñMðMñ
 
Ò G€A‘D˜™D¡ a˜=©#©d°1¨°c¹#¸cÁ$ÕGÐ GÙ	Ò G€A‘D˜˜A™d¡4˜=¨!©D±¨±c¸#¸cÁ$ÕGÐ Gá	ò 5€AÙ
Ò;€Q‘S˜˜A˜a ˜7¡>°#°dÕ;Ð;Ù€aˆ‰3‰tˆ�a™™S�\ # d¨3¨tÕ4ð5ñ 
ˆq‹Ò C€A‘#�a™˜Q™s™U™¡4©Ð-©m¸A¸dÕCÐ CÙ €A�n‘\ # c¨"Ô -á €Q�~‘c˜$˜s 2©3Ö /±°Q±~ÁdÈ4ÐPTÐUWÑ]`Ö0aÙ	ˆr‹ò h€AØ€T‡X�X�:ˆb�=€‘�a™©©d°3°x°t·x±xÀ³{±?Ñ.BÀ3ÀxÀtÇxÁxÐPQÃ{Á?Ð'SÑTXÐY]Ð^aÐbfÕgðhá €A�n‘]¡3 s¨2Ô .Ù €AÑÑ+¨D°°QÔ 7á	ˆq‹Ò G€A‘$�q˜$˜q ™u™*¡T¨!Ð,©T°$°s¸2Á3×GÐ GÙ €A�k‘,™t C¨Ô *Ù €aÓ:¹;ÀsÈ2Ô NÙ	Ò Q€AÊTÐ Qá�!‹Hó 	O€DØ€V‡_�_�T˜$Ÿ'™'‘\ !‘^ A¡cÓ*€Ù�!‹Hò O€SØˆ�U€"‰c�!�S™‘X˜q‘LÓ!ˆ2Ù	ˆ1ˆR‰4�[��R‘Ñ€"™4  2¡™; s¨2¡vÑ-˜Ø€"ˆ2ˆ‘‘c˜"‘f‘˜S ™V B™YÑ&ˆb©$©s°2©v©+°c¸"±f¸R±iÑ*? rÙ�‹8ò O€aØˆˆ1‰ˆQ‰�hˆt�m€2�r˜!˜Q˜q™S™' !™)‘| DÑ(�BÙ%.÷  Cñ  C˜r¸bÀ¹eÀBÀrÁEÈ"Ð=MÈrÐRTÉuÐUWÐXZÑUZÐ[]ÐN^Ð`bÐceÑ`eÐfhÐikÑfkÐlnÐ_oÐqsÐtvÑqvÐwyÐz|Ñw|Ð}ð  qAð  =Bò  C±5°1°Q°q€s‰6�1�Q�q�'‹?Óð  CÐõ  C€2Ø‡5�5ˆÒIÈ#ÕNñOò	Oð	Oñ €aÓ>¸wÀsÈ1Ô MÙ €q‹ÑFÁtÓ]gÓp~ó  OXò  UYö  Zà
€Ø
ó €BØ‡�‡‚Ô�r—w‘w�$¡3 r§w¡w×'7Ò'7Ó#8˜s¸tÀD¹z¸Ù�vˆd�3‘s˜5Ñ!2Ñ3¸$Ö?ØˆUÑ$Ñ%Ò%ÐI t¨C°Ñ6GÑ0HÐ&IÓIÐ%ÙÒ3 "§'¡'×"2Ò"2Ô3Ô3ÐF°T¹+Ð4FÓFÐ3Ø—G‘G×$Ò$Ö%ˆq€a‡d„dÒ%€Ø‡‚˜ÑZ_Ð`aÓZb×0cÐUV±±sÔ:MÈÔ:MÓ7MÈaÕ1PÒ0cñ  UZð  [\ó  U]÷  k^ð  PQÑkpÑqtô  uHð  DGô  uHó  rHð  IJõ  lKò  k^ò  *_ñ  jpð  df÷  dkñ  dk÷  dtò  dtö  quð  _`ð  rt÷  ryñ  ry÷  rCñ  rCð  DE÷  DTò  DTñ  rU÷  rZó  rZò  quó  jv�ô  wØ‡��Öðñ ˆ7ƒ|‘RÒÐ ÐÙ
Ò
+ 7Ô
+Ó+©UÒ2Ð 2Ð2Ø ‡�‡�× Ñ ¡Ð Ô ,Ø
Ò %€B�"—-’- Õ%Ð %Ø ‡�× Ò × Ò ¡3 t©I¡~Ó#6ÁUÐY]Ðkoð  |Añ  S[ð  mqð  AEð  VZð  joð  ~CÑ ô  DØ
‰9�n× Ò Ó"€ð T�XÑ!ð  T¡'©/ð  T¹'Á(ð  TÉ4ÑPTð  TÑUeÑfjð  TÑk~ð  @Dð  Tñ  ELð  MTð  Tñ  Ufñ  gjò  jKð  CJô  jKó  gKð  Tñ  L]ñ  ^cð  Tñ  doñ  psð  txó  pyð  Tñ  zLð  M]ð  Tñ  ^kñ  myñ  zFð  lGð  Tñ  HYð  Z[ð  Tñ  \hð  imð  Tñ  nwñ  xfð  Tñ  gsñ  @j	ñ  v	Rò  tSð  T€Ø�j�× Ò ˜Z˜TŸZšZ¨°1Õ5Ô 6°s·w±w·z²z×7RÒ7RÑ\_Ð`dÑepÑ`pÓ\qÑ7RÔ7rØÑÑ× 'Ò '¨
¨¯
ª
¸i¸d¿i¹i»kÈ%Ñ>OÐ]kÐ]d×]kÒ]kÐlpÓ]q×]{Ò]{Ó]}ð  P^ð  PW÷  P^ò  P^ñ  _cð  dló  _m÷  _xò  _xó  _zó  P{÷  PEò  PEó  PGò  4Hð  PQõ  )Rô  SÙ Ñ™˜G› SÑ):Ñ%;À$× Gùò] 	<ùóB 	'ùò 
4ùò` Bùô 7ùÚ8eùô 9ùô \ùô> mùò2 #Bùò 8ùò  kOùô
 1ùò ùâUùô
 3Uùô 3ùÚ7dùó  pgùâBùó 
-ùôB tùõH Cùò &ùÚ0cùò  k^ùò  qusÇ   ÅAm0ÍAm5Ñ41Am;Ö#<An ØAn
Ù%AnÚ'An
Ý +Anà8An
èAn&í;An+ïAn0óAn5ô=An<ö3A	AoúAoü#Aoþ Aoþ*Aoÿ9?AoÁAAo$ÁN)AAo*Á[4AAo1ÁaAo9Áb Ao>Áb/ ApÁc/5Ap