Ë
    
Þ~flÃ  ã                   óô  — 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mZmZm	Z	m
Z
 d dlmZ d dlmZ d dlmZ d dlmZ  ej$                  e«      Zej+                  ej,                  «       d„ Zd„ Zd	„ Z G d
„ d«      Zi ai adZd„ Zd„ Zd„ Z d„ Z!d„ Z"d„ Z#d„ Z$i Z%d„ Z&d„ Z'd„ Z(ddgfd„Z)d„ Z*d„ Z+d„ Z,d„ Z-d„ Z.d„ Z/d„ Z0d „ Z1d!„ Z2d"„ Z3ddgfd#„Z4ddgfd$„Z5ddgfd%„Z6d&„ Z7d'„ Z8d(„ Z9d)„ Z:d*„ Z;d+„ Z<d,„ Z=d-„ Z>d.„ Z?d/„ Z@y)0é    N)Úbase64EncodeÚhashDataArrayÚgetJSArrayTypeÚarrayTypesMappingÚgetReferenceId)ÚvtkTypeUInt32Array)ÚvtkCompositeDataGeometryFilter)ÚvtkDataSetSurfaceFilter)ÚvtkColorTransferFunctionc                 ó8  — t        j                  «       5 }t        j                  |d¬«      5 }|j	                  d| z  |t        j
                  «       d d d «       |j                  d«       |j                  «       cd d d «       S # 1 sw Y   Œ3xY w# 1 sw Y   y xY w)NÚw)Úmodezdata/%sr   )ÚioÚBytesIOÚzipfileÚZipFileÚwritestrÚZIP_DEFLATEDÚseekÚread)ÚnameÚdataÚ	in_memoryÚzfs       úGlib/python3.12/site-packages/vtkmodules/web/render_window_serializer.pyÚzipCompressionr      si   € Ü	�‰Œ˜Ü�_‰_˜Y¨SÕ1°RØ�K‰K˜	 DÑ(¨$´×0DÑ0DÔE÷ 2à�‰�qÔØ�~‰~Ó÷	 
‰ß1Ð1ú÷ 
ˆús"   •B­%BÁ(BÂB	Â	BÂBc           	      óÒ  — t         | j                  «          }t        j                  |«      }| j	                  «       }| j                  «       }||z  }|dk7  r€t        j                  t        | «      «      5 }t        t        j                  ||z  |j                  |«      «      «      }d d d «       t        ||z  «      D �cg c]  }||z  |dz   |z   ‘Œ c}S y # 1 sw Y   Œ2xY wc c}w )NÚ é   )r   ÚGetDataTypeÚstructÚcalcsizeÚGetNumberOfValuesÚGetNumberOfComponentsr   r   Ú
memoryviewÚlistÚunpackr   Úrange)	Ú	dataTableÚdataTypeÚelementSizeÚnbValuesÚnbComponentsÚnbytesÚstreamr   Úidxs	            r   ÚdataTableToListr1   $   sÞ   € Ü  ×!6Ñ!6Ó!8Ñ9€HÜ—/‘/ (Ó+€KØ×*Ñ*Ó,€HØ×2Ñ2Ó4€LØ˜8Ñ#€FØ�3‚Ü�Z‰Zœ
 9Ó-Ô.°&ÜœŸ™ h°Ñ&9¸6¿;¹;ÀvÓ;NÓOÓPˆD÷ /ô ˜X¨Ñ5Ô6ó
á6�ð ��|Ñ# s¨Q¡w°,Ñ&>Ò?Ø6ñ
ð 	
ð
 ÷ /Ð.üò
s   Á52CÂ?C$ÃC!c                 ó`   — || z
  |dz
  z  }t        |«      D �cg c]
  }| ||z  z   ‘Œ c}S c c}w )Nr   ©r(   )ÚstartÚstopÚnumÚdeltaÚis        r   Úlinspacer9   8   s9   € Ø�E‰\˜c A™gÑ&€EÜ',¨S¤zÓ2¡z !ˆE�A˜‘IÓ zÑ2Ð2ùÒ2s   ™+c                   ó@   — e Zd Zd„ Zd„ Zd„ Zd
d„Zdd„Zd„ Zd„ Z	d„ Z
y	)ÚSynchronizationContextc                 ó.   — i | _         i | _        d| _        y )NF)ÚdataArrayCacheÚlastDependenciesMappingÚingoreLastDependencies)Úselfs    r   Ú__init__zSynchronizationContext.__init__D   s   € Ø ˆÔØ')ˆÔ$Ø&+ˆÕ#ó    c                 ó   — || _         y ©N)r?   )r@   Úforces     r   ÚsetIgnoreLastDependenciesz0SynchronizationContext.setIgnoreLastDependenciesI   s
   € Ø&+ˆÕ#rB   c                 ó"   — || j                   |<   y rD   )r=   )r@   ÚpMd5r   s      r   ÚcacheDataArrayz%SynchronizationContext.cacheDataArrayL   s   € Ø$(ˆ×Ñ˜DÒ!rB   c                 ó�  — | j                   |   }|d   }|d   }||j                  «       k7  rt        j                  d«       |j	                  «       dk(  r�|j                  «       |j                  «       z  }t        «       }|j                  |«       t        |«      D ]9  }	|j                  |	|j                  |	«      dk  rdn|j                  |	«      «       Œ; t        |«      }
nt        |«      }
|r,|s|
j                  «       S t        ||
j                  «       «      S t        |s|
«      S t        ||
j                  «       «      «      S )NÚarrayÚmTimez4 ***** ERROR: you asked for an old cache key! ***** é   r   éÿÿÿÿ)r=   ÚGetMTimeÚloggerÚdebugr    ÚGetNumberOfTuplesr$   r   ÚSetNumberOfTuplesr(   ÚSetValueÚGetValuer%   Útobytesr   r   )r@   rH   ÚbinaryÚcompressionÚcacheObjrK   Ú	cacheTimeÚ	arraySizeÚnewArrayr8   ÚpBuffers              r   ÚgetCachedDataArrayz)SynchronizationContext.getCachedDataArrayO   s4  € Ø×&Ñ& tÑ,ˆØ˜Ñ!ˆØ˜WÑ%ˆ	à˜Ÿ™Ó(Ò(Ü�L‰LÐOÔPà×ÑÓ "Ò$à×/Ñ/Ó1°E×4OÑ4OÓ4QÑQˆIÜ)Ó+ˆHØ×&Ñ& yÔ1Ü˜9Ö%�Ø×!Ñ! !¨5¯>©>¸!Ó+<¸qÒ+@¡RÀeÇnÁnÐUVÓFWÕXð &ä  Ó*‰Gä  Ó'ˆGáñ
 #ð —‘Ó!ðô $ D¨'¯/©/Ó*;Ó<ðô Ù&ˆGó
ð 	
Ü,:¸4ÀÇÁÓARÓ,Só
ð 	
rB   c                 ó  — t        j                   «       |z
  }g }| j                  D ]F  }| j                  |   }|d   }|j                  «       }|dk(  sŒ-|d   |k  sŒ6|j                  |«       ŒH |D ]  }| j                  |= Œ y )NrK   r   Úts)Útimer=   ÚGetReferenceCountÚappend)r@   Ú
timeWindowÚ
cutOffTimeÚshasToDeleteÚshaÚrecordrK   Úcounts           r   ÚcheckForArraysToReleasez.SynchronizationContext.checkForArraysToReleaseo   sˆ   € Ü—Y‘Y“[ :Ñ-ˆ
ØˆØ×&Ô&ˆCØ×(Ñ(¨Ñ-ˆFØ˜7‘OˆEØ×+Ñ+Ó-ˆEà˜‹z˜f T™l¨ZÓ7Ø×#Ñ# CÕ(ð 'ó  ˆCØ×#Ñ# CÑ(ñ  rB   c                 ó\   — g }|| j                   v r| j                  s| j                   |   }|S rD   )r>   r?   )r@   ÚidstrÚlastDepss      r   ÚgetLastDependencyListz,SynchronizationContext.getLastDependencyList}   s2   € ØˆØ�D×0Ñ0Ñ0¸×9TÒ9TØ×3Ñ3°EÑ:ˆHØˆrB   c                 ó"   — || j                   |<   y rD   )r>   )r@   rl   ÚdepLists      r   ÚsetNewDependencyListz+SynchronizationContext.setNewDependencyListƒ   s   € Ø.5ˆ×$Ñ$ UÒ+rB   c                 óô   — | j                  |«      }g }||D �cg c]  }||vsŒ|t        |«      gg‘Œ c}z  }||D �cg c]  }||vsŒ|t        |«      gg‘Œ c}z  }| j                  ||«       |S c c}w c c}w rD   )rn   ÚwrapIdrq   )r@   rl   ÚnewListÚ	addMethodÚremoveMethodÚoldListÚcallsÚxs           r   ÚbuildDependencyCallListz.SynchronizationContext.buildDependencyCallList†   s‹   € Ø×,Ñ,¨UÓ3ˆàˆØ±GÓP±G¨q¸qÈÒ?O�9œv a›y˜kÒ*°GÑPÑPˆØ±wÓS±w°!À!È7ÒBR�<¤&¨£) Ò-°wÑSÑSˆà×!Ñ! %¨Ô1Øˆùò	 QùÚSs   ™	A0£A0½	A5ÁA5N)FF)é   )Ú__name__Ú
__module__Ú__qualname__rA   rF   rI   r^   rj   rn   rq   rz   © rB   r   r;   r;   C   s+   „ ò,ò
,ò)ó
ó@)òò6órB   r;   c                 ó   — |t         | <   y rD   )ÚSERIALIZERS)r   Úmethods     r   ÚregisterInstanceSerializerrƒ   ž   s   € à„K�ÒrB   c                 ó   — |t         | <   y rD   )ÚJS_CLASS_MAPPING)Ú	vtk_classÚjs_classs     r   ÚregisterJSClassrˆ   ¢   s   € à"*Ô�YÒrB   c                 óH   — | j                  «       }|t        v r	t        |   S |S rD   )ÚGetClassNamer…   )Úvtk_objr†   s     r   Ú
class_namerŒ   ¦   s*   € Ø×$Ñ$Ó&€IØÔ$Ñ$Ü 	Ñ*Ð*àÐrB   c                 ó’   — t        |«      }|t        v r	t        |   nd }|r || ||||«      S t        j                  d|› d|› �«       y )Nz!!!No serializer for z	 with id )rŒ   r�   rP   Úerror)ÚparentÚinstanceÚ
instanceIdÚcontextÚdepthÚinstanceTypeÚ
serializers          r   ÚserializeInstancer–   ±   sR   € Ü˜hÓ'€LØ.:¼kÑ.I”˜\Ò*Èt€JáÙ˜& (¨J¸ÀÓGÐGä
‡L�LÐ(¨¨°iÀ
¸|ÐLÔMàrB   c                  ó”  — t        dt        «       t        dt        «       t        dt        «       t        dt        «       t        dt        «       t        dt        «       t        dt        «       t        dt        «       t        d	t        «       t        d
t        «       t	        dd«       t	        dd«       t	        d	d«       t	        d
d«       t        dt
        «       t        dt
        «       t	        dd«       t        dt        «       t        dt        «       t        dt        «       t        dt        «       t        dt        «       t        dt        «       t        dt        «       t        dt        «       t        dt        «       t        dt        «       t        dt        «       t        dt        «       t        dt        «       t        dt        «       t	        dd«       t        dt         «       t        dt         «       t        dt         «       t        dt         «       t        dt         «       t        d t         «       t        d!t         «       t        d"t         «       t        d#t         «       t        d$t         «       t        d%t         «       t        d&t         «       t        d't         «       t        d(t"        «       t        d)t"        «       t        d*t$        «       t        d+t$        «       t        d,t&        «       t        d-t&        «       t        d.t&        «       t        d/t(        «       t        d0t*        «       y )1NÚvtkActorÚvtkOpenGLActorÚvtkPVLODActorÚ	vtkVolumeÚ	vtkMapperÚvtkDataSetMapperÚvtkPolyDataMapperÚvtkImageDataMapperÚvtkOpenGLPolyDataMapperÚvtkCompositePolyDataMapper2ÚvtkVolumeMapperÚ vtkFixedPointVolumeRayCastMapperÚvtkLookupTableÚ'vtkPVDiscretizableColorTransferFunctionr   ÚvtkPiecewiseFunctionÚ
vtkTextureÚvtkOpenGLTextureÚvtkPropertyÚvtkOpenGLPropertyÚvtkVolumePropertyÚvtkPolyDataÚvtkImageDataÚvtkUnstructuredGridÚvtkMultiBlockDataSetÚvtkStructuredPointsÚvtkRenderWindowÚvtkCocoaRenderWindowÚvtkXOpenGLRenderWindowÚvtkWin32OpenGLRenderWindowÚvtkEGLRenderWindowÚvtkOpenVRRenderWindowÚvtkOpenXRRenderWindowÚvtkGenericOpenGLRenderWindowÚvtkOSOpenGLRenderWindowÚvtkOpenGLRenderWindowÚvtkIOSRenderWindowÚvtkExternalOpenGLRenderWindowÚvtkOffscreenOpenGLRenderWindowÚvtkRendererÚvtkOpenGLRendererÚ	vtkCameraÚvtkOpenGLCameraÚvtkLightÚ
vtkPVLightÚvtkOpenGLLightÚvtkCubeAxesActorÚvtkScalarBarActor)rƒ   ÚgenericActorSerializerÚgenericVolumeSerializerÚgenericMapperSerializerrˆ   ÚgenericVolumeMapperSerializerÚlookupTableSerializer2Ú,discretizableColorTransferFunctionSerializerÚcolorTransferFunctionSerializerÚpwfSerializerÚtextureSerializerÚpropertySerializerÚvolumePropertySerializerÚpolydataSerializerÚimagedataSerializerÚmergeToPolydataSerializerÚrenderWindowSerializerÚrendererSerializerÚcameraSerializerÚlightSerializerÚcubeAxesSerializerÚscalarBarActorSerializerr   rB   r   ÚinitializeSerializersrÛ   À   s•  € ä˜zÔ+AÔBÜÐ/Ô1GÔHÜ˜Ô0FÔGô ˜{Ô,CÔDô ˜{Ô,CÔDÜÐ1Ô3JÔKÜÐ2Ô4KÔLÜÐ3Ô5LÔMÜÐ8Ô:QÔRÜÐ<Ô>UÔVÜÐ'¨Ô5ÜÐ&¨Ô4ÜÐ-¨{Ô;ÜÐ1°;Ô?äÐ0Ô2OÔPÜÐAÔC`ÔaÜÐ6Ð8IÔJô Ð/Ô1GÔHÜØ1Ô3_ôô Ø"Ô$Côô Ð5´}ÔEô ˜|Ô->Ô?ÜÐ1Ô3DÔEô ˜}Ô.@ÔAÜÐ2Ô4FÔGô Ð2Ô4LÔMô ˜}Ô.@ÔAÜ˜~Ô/BÔCÜÐ4Ô6OÔPÜÐ5Ô7PÔQÜÐ4Ô6IÔJÜÐ)¨>Ô:ô Ð0Ô2HÔIÜÐ5Ô7MÔNÜÐ7Ô9OÔPÜÐ;Ô=SÔTÜÐ3Ô5KÔLÜÐ6Ô8NÔOÜÐ6Ô8NÔOÜÐ=Ô?UÔVÜÐ8Ô:PÔQÜÐ6Ô8NÔOÜÐ3Ô5KÔLÜÐ>Ô@VÔWÜÐ?ÔAWÔXô ˜}Ô.@ÔAÜÐ2Ô4FÔGô ˜{Ô,<Ô=ÜÐ0Ô2BÔCô ˜z¬?Ô;Ü˜|¬_Ô=ÜÐ/´ÔAô Ð1Ô3EÔFÜÐ2Ô4LÕMrB   c                 ó4   — d}t        | «      D ]  }|dz  }Œ	 |S )NÚ z  r3   )r“   ÚpaddingÚ_s      r   Úpadrà     s#   € Ø€GÜ�5Ž\ˆØ�4‰‰ð à€NrB   c                 ó   — d| z  S )Nzinstance:${%s}r   )ÚidStrs    r   rs   rs   '  s   € Ø˜eÑ#Ð#rB   c                 óÌ   — t        | «      }d }|t        v r	t        |   }|r|d   | j                  «       k(  r|d   S t        | «      | j                  «       dœ}|t        |<   |d   S )NÚmtimerg   )rg   rä   )r   ÚdataArrayShaMappingrO   r   )rK   ÚobjIdrh   s      r   Údigestrç   0  sn   € Ü˜5Ó!€Eà€FØÔ#Ñ#Ü$ UÑ+ˆá�&˜‘/ U§^¡^Ó%5Ò5Ø�e‰}Ðä" 5Ó)°E·N±NÓ4DÑE€Fà!'Ô˜ÑØ�%‰=ÐrB   c                 ót   — | j                  |«      }i }|d   |d<   |d   |d<   | j                  |«      |d<   |S )Nr   Úminr   ÚmaxÚ	component)ÚGetRangeÚGetComponentName)rK   rë   ÚrÚ	compRanges       r   ÚgetRangeInforð   C  sL   € Ø�‰�yÓ!€AØ€IØ˜‘t€IˆeÑØ˜‘t€IˆeÑØ"×3Ñ3°IÓ>€IˆkÑØÐrB   c                 óN  — | sy t        | «      }|j                  || | j                  «       t        j                  «       dœ«       i }||d<   d|d<   | j	                  «       |d<   t        | «      |d<   | j                  «       |d<   | j                  «       | j                  «       z  |d<   g |d	<   |d   d
kD  rQt        |d   «      D ]   }|d	   j                  t        | |«      «       Œ" |d	   j                  t        | d«      «       |S |d	   j                  t        | d«      «       |S )N)rK   rL   r`   ÚhashÚvtkDataArrayÚvtkClassr   r*   ÚnumberOfComponentsÚsizeÚrangesr   rN   r   )rç   rI   rO   ra   ÚGetNamer   r$   rR   r(   rc   rð   )rK   r’   rH   Úrootr8   s        r   ÚgetArrayDescriptionrú   O  s)  € ÙØä�%‹=€DØ×ÑØ˜¨¯©Ó(8ÄÇ	Á	ÃÑLôð €DØ€Dˆ�LØ%€DˆÑØ—=‘=“?€Dˆ�LÜ% eÓ,€DˆÑØ!&×!<Ñ!<Ó!>€DÐ	ÑØ×.Ñ.Ó0°5×3JÑ3JÓ3LÑL€Dˆ�LØ€Dˆ�NØÐ Ñ! AÒ%Ü�tÐ0Ñ1Ö2ˆAØ�‰N×!Ñ!¤,¨u°aÓ"8Õ9ð 3àˆX‰×Ñœl¨5°"Ó5Ô6ð €Kð 	ˆX‰×Ñœl¨5°!Ó4Ô5à€KrB   ÚNormalsÚTCoordsc                 ó¶  — t        «       }d|v }|�s|�rk|j                  d«      �rY|}|j                  «       }|j                  «       }	|	dk(  r|j	                  «       n|j                  «       }
|j                  «       }|rT|dv rP|j                  «       j                  |
«      }|€|j                  «       j                  «       }|j                  |«       |rT|dv rP|j                  «       j                  |
«      }|€|j                  «       j                  «       }|j                  |«       |rT|dk(  rO|j                  «       j                  «       }|€|j                  «       j                  «       }|j                  |«       |r\|j                  d«      rK|j                  «       j                  «       r-|j                  |j                  «       j                  «       «       |j                  |D �cg c]&  } t        |j                  «       d|z   d	„ «      «       ‘Œ( c}«       d
|j                  «       fd|j                  «       ffD ]�  \  }}t        |j                  «       «      D ]n  }|j                  |«      }|s||v sŒt!        ||«      }|sŒ*||d<   |j#                  |«      }|dk\  rd|j%                  |«      z   nd|d<   | j'                  |«       Œp Œ‘ y c c}w )NÚ*rœ   r   )r   é   )é   é   r   r§   ÚGetc                   ó   — y rD   r   r   rB   r   Ú<lambda>z'extractRequiredFields.<locals>.<lambda>“  s   € ÐPTrB   Ú	pointDataÚcellDataÚlocationÚsetÚaddArrayÚregistration)r  ÚIsAÚGetScalarVisibilityÚGetArrayAccessModeÚGetArrayNameÚ
GetArrayIdÚGetScalarModeÚGetPointDataÚGetArrayÚ
GetScalarsÚaddÚGetCellDataÚupdateÚgetattrr(   ÚGetNumberOfArraysrú   ÚIsArrayAnAttributeÚGetAttributeTypeAsStringrc   )ÚextractedFieldsr�   Údatasetr’   ÚrequestedFieldsÚarrays_to_exportÚ
export_allÚmapperÚscalarVisibilityÚarrayAccessModeÚcolorArrayNameÚ
scalarModeÚarray_to_exportÚrequestedFieldr  Ú
field_dataÚarray_indexrK   Ú	arrayMetaÚ	attributes                       r   ÚextractRequiredFieldsr+  m  sÁ  € ô “uÐØ˜Ð'€Jââ�f—j‘j Õ-ØˆFØ%×9Ñ9Ó;ÐØ$×7Ñ7Ó9ˆOà)8¸AÒ)=�×#Ñ#Ô%À6×CTÑCTÓCVð ð  ×-Ñ-Ó/ˆJÙ J°&Ñ$8Ø")×"6Ñ"6Ó"8×"AÑ"AÀ.Ó"Q�Ø"Ð*Ø&-×&:Ñ&:Ó&<×&GÑ&GÓ&I�OØ ×$Ñ$ _Ô5Ù J°&Ñ$8Ø")×"5Ñ"5Ó"7×"@Ñ"@ÀÓ"P�Ø"Ð*Ø&-×&9Ñ&9Ó&;×&FÑ&FÓ&H�OØ ×$Ñ$ _Ô5Ù J°!¢OØ")×"6Ñ"6Ó"8×"CÑ"CÓ"E�Ø"Ð*Ø&-×&9Ñ&9Ó&;×&FÑ&FÓ&H�OØ ×$Ñ$ _Ô5á�f—j‘j Ô.°7×3GÑ3GÓ3I×3TÑ3TÔ3VØ× Ñ  ×!5Ñ!5Ó!7×!BÑ!BÓ!DÔEà×Ññ '6óá&5�Nð V”˜×,Ñ,Ó.°¸Ñ0FÉÓUÕWØ&5ñô	
ð 
�g×*Ñ*Ó,Ð-Ø	�W×(Ñ(Ó*Ð+ó!Ñˆ�*ô ! ×!=Ñ!=Ó!?Ö@ˆKØ×'Ñ'¨Ó4ˆEÙ˜UÐ&6Ò6Ü/°°wÓ?�	ÚØ,4�I˜jÑ)Ø *× =Ñ =¸kÓ J�Ið %¨š>ð  
× CÑ CÀIÓ NÒNà'ð ˜nÑ-ð
 $×*Ñ*¨9Õ5ñ Añ	!ùòs   Ç-+Kc                 óˆ  — |j                  «       }d }d }g }g }	|�r‰d }
t        |d«      st        j                  d«       n|j	                  «       }
|
rMt        |
«      }t        ||
|||dz   «      }|r.|	j                  |«       |j                  dt        |«      gg«       d }t        |d«      r|j                  «       }nt        j                  d«       |rMt        |«      }t        |||||dz   «      }|r.|	j                  |«       |j                  dt        |«      gg«       d }t        |d«      r|j                  «       }nt        j                  d	«       |rMt        |«      }t        |||||dz   «      }|r.|	j                  |«       |j                  d
t        |«      gg«       |dk(  s|r—|r•t        | «      |t        |«      ||j                  «       |j                  «       |j                  «       |j                  «       |j!                  «       |j#                  «       |j%                  «       |j'                  «       dœ	||	dœS y )NÚ	GetMapperú+This actor does not have a GetMapper methodr   Ú	setMapperÚGetPropertyú-This actor does not have a GetProperty methodÚsetPropertyÚ
GetTexturez,This actor does not have a GetTexture methodÚ
addTexturer   )	Ú
visibilityÚpickableÚdragableÚ	useBoundsÚoriginÚpositionÚscaleÚforceOpaqueÚforceTranslucent©r�   ÚidÚtypeÚ
propertiesrx   Údependencies)ÚGetVisibilityÚhasattrrP   rQ   r-  r   r–   rc   rs   r0  r3  rŒ   ÚGetPickableÚGetDragableÚGetUseBoundsÚ	GetOriginÚGetPositionÚGetScaleÚGetForceOpaqueÚGetForceTranslucent)r�   ÚactorÚactorIdr’   r“   ÚactorVisibilityÚmapperInstanceÚpropertyInstancerx   rB  r   ÚmapperIdÚpropÚpropIdÚtextureÚ	textureIdÚtextureInstances                    r   rÇ   rÇ   °  s<  € ð ×)Ñ)Ó+€OØ€NØÐØ€EØ€LâØˆÜ�u˜kÔ*Ü�L‰LÐFÕGà—_‘_Ó&ˆFáÜ% fÓ-ˆHÜ.Ø�v˜x¨°%¸!±)óˆNñ Ø×#Ñ# NÔ3Ø—‘˜k¬F°8Ó,<Ð+=Ð>Ô?àˆÜ�5˜-Ô(Ø×$Ñ$Ó&‰Dä�L‰LÐHÔIáÜ# DÓ)ˆFÜ0Ø�t˜V W¨e°a©ió Ðñ  Ø×#Ñ#Ð$4Ô5Ø—‘˜m¬f°V«nÐ-=Ð>Ô?ð ˆÜ�5˜,Ô'Ø×&Ñ&Ó(‰Gä�L‰LÐGÔHáÜ& wÓ/ˆIÜ/Ø�w 	¨7°E¸A±IóˆOñ Ø×#Ñ# OÔ4Ø—‘˜l¬V°IÓ->Ð,?Ð@ÔAà˜!Ò¡Ñ3Cä$ VÓ,ØÜ˜uÓ%ð .Ø!×-Ñ-Ó/Ø!×-Ñ-Ó/Ø"×/Ñ/Ó1àŸ/™/Ó+Ø!×-Ñ-Ó/ØŸ™Ó)à$×3Ñ3Ó5Ø$)×$=Ñ$=Ó$?ñð Ø(ñ'
ð 	
ð, rB   c                 óF  — |j                  «       }d }d }g }g }	|�rd }
t        |d«      st        j                  d«       n|j	                  «       }
|
rMt        |
«      }t        ||
|||dz   «      }|r.|	j                  |«       |j                  dt        |«      gg«       d }t        |d«      r|j                  «       }nt        j                  d«       |rMt        |«      }t        |||||dz   «      }|r.|	j                  |«       |j                  dt        |«      gg«       |dk(  s|ry|rwt        | «      |t        |«      ||j                  «       |j                  «       |j                  «       |j                  «       |j                  «       |j!                  «       d	œ||	d
œS y )Nr-  r.  r   r/  r0  r1  r2  r   )r5  r6  r7  r8  r9  r:  r;  r>  )rC  rD  rP   rQ   r-  r   r–   rc   rs   r0  rŒ   rE  rF  rG  rH  rI  rJ  )r�   rM  rN  r’   r“   rO  rP  rQ  rx   rB  r   rR  rS  rT  s                 r   rÈ   rÈ     s¦  € ð ×)Ñ)Ó+€OØ€NØÐØ€EØ€LâØˆÜ�u˜kÔ*Ü�L‰LÐFÕGà—_‘_Ó&ˆFáÜ% fÓ-ˆHÜ.Ø�v˜x¨°%¸!±)óˆNñ Ø×#Ñ# NÔ3Ø—‘˜k¬F°8Ó,<Ð+=Ð>Ô?àˆÜ�5˜-Ô(Ø×$Ñ$Ó&‰Dä�L‰LÐHÔIáÜ# DÓ)ˆFÜ0Ø�t˜V W¨e°a©ió Ðñ  Ø×#Ñ#Ð$4Ô5Ø—‘˜m¬f°V«nÐ-=Ð>Ô?à˜!Ò¡Ñ3Cä$ VÓ,ØÜ˜uÓ%ð .Ø!×-Ñ-Ó/Ø!×-Ñ-Ó/Ø"×/Ñ/Ó1àŸ/™/Ó+Ø!×-Ñ-Ó/ØŸ™Ó)ñ
ð Ø(ñ!
ð 	
ð& rB   c                 óŽ  — d }d }g }g }t        |d«      r|j                  «       }nt        j                  d«       |rGd|z  }	t	        |||	||dz   «      }|r.|j                  |«       |j                  dt        |	«      gg«       |r@t        | «      |d|j                  «       |j                  «       |j                  «       dœ||dœS y )	NÚGetInputz*This texture does not have GetInput methodz
%s-texturer   ÚsetInputDatar§   )ÚinterpolateÚrepeatÚ	edgeClampr>  )rD  rZ  rP   rQ   r–   rc   rs   r   ÚGetInterpolateÚ	GetRepeatÚGetEdgeClamp)
r�   rU  rV  r’   r“   Ú
dataObjectÚdataObjectInstancerx   rB  ÚdataObjectIds
             r   rÏ   rÏ   F  sã   € ð €JØÐØ€EØ€Läˆw˜
Ô#Ø×%Ñ%Ó'‰
ä�‰ÐAÔBáØ# iÑ/ˆÜ.Ø�Z ¨w¸À¹	ó
Ðñ Ø×ÑÐ 2Ô3Ø�L‰L˜.¬6°,Ó+?Ð*@ÐAÔBáä$ VÓ,ØØ à&×5Ñ5Ó7Ø!×+Ñ+Ó-Ø$×1Ñ1Ó3ñð
 Ø(ñ
ð 	
ð rB   c                 ó®  — d }d }d }g }g }	t        |d«      r1|j                  «       j                  «        |j                  dd«      }nt        j                  d«       |r“|j                  d«      r;t        «       }
|
j                  |«       |
j                  «        |
j                  «       }d|z  }t        |||||dz   «      }|r.|	j                  |«       |j                  dt        |«      gg«       d }t        |d«      r|j                  «       }nt        j                  d	«       |rMt        |«      }t        |||||dz   «      }|r.|	j                  |«       |j                  d
t        |«      gg«       |rß|j                  «       dk(  r|j!                  «       n|j#                  «       }t        | «      |t%        |«      |j'                  «       |j)                  «       |j                  «       |j+                  «       |j-                  «       rdnd|j/                  «       ||j1                  «       |j3                  «       |j5                  «       rdnddœ
||	dœS y )NÚGetInputDataObjectr   ú3This mapper does not have GetInputDataObject methodÚ
vtkDataSetú
%s-datasetr   r[  ÚGetLookupTablez/This mapper does not have GetLookupTable methodÚsetLookupTable)
ÚresolveCoincidentTopologyÚ
renderTimer"  ÚscalarRangeÚuseLookupTableScalarRanger!  ÚcolorByArrayNameÚ	colorModer$  ÚinterpolateScalarsBeforeMappingr>  )rD  ÚGetInputAlgorithmÚUpdaterf  rP   rQ   r  r
   ÚSetInputDataÚ	GetOutputr–   rc   rs   rj  r   r  r  r  rŒ   ÚGetResolveCoincidentTopologyÚGetRenderTimeÚGetScalarRangeÚGetUseLookupTableScalarRanger  ÚGetColorModer  Ú"GetInterpolateScalarsBeforeMapping)r�   r   rR  r’   r“   rb  rc  ÚlookupTableInstancerx   rB  Úalgrd  ÚlookupTableÚlookupTableIdr#  s                  r   rÉ   rÉ   p  sQ  € ð €JØÐØÐØ€EØ€LäˆvÐ+Ô,Ø× Ñ Ó"×)Ñ)Ô+Ø×.Ñ.¨q°!Ó4‰
ä�‰ÐJÔKáØ�>‰>˜,Ô'Ü)Ó+ˆCØ×Ñ˜ZÔ(Ø�J‰JŒLØŸ™›ˆJà# hÑ.ˆÜ.Ø�J ¨g°u¸q±yó
Ðñ Ø×ÑÐ 2Ô3Ø�L‰L˜.¬6°,Ó+?Ð*@ÐAÔBà€KäˆvÐ'Ô(Ø×+Ñ+Ó-‰ä�‰ÐFÔGáÜ& {Ó3ˆÜ/Ø�K °¸À¹ó
Ðñ Ø×ÑÐ 3Ô4Ø�L‰LØ!¤F¨=Ó$9Ð#:Ð;ôñ ð ×(Ñ(Ó*¨aÒ/ð ×ÑÔ!à×"Ñ"Ó$ð 	ô % VÓ,ØÜ˜vÓ&à-3×-PÑ-PÓ-RØ$×2Ñ2Ó4Ø#)×#<Ñ#<Ó#>Ø%×4Ñ4Ó6à×6Ñ6Ô8ñ ./àØ$*×$>Ñ$>Ó$@Ø$2Ø#×0Ñ0Ó2Ø$×2Ñ2Ó4à×<Ñ<Ô>ñ 45àñð  Ø(ñ+
ð 	
ð0 rB   c                 ó  — d }d }d }g }g }	t        |d«      r1|j                  «       j                  «        |j                  dd«      }nt        j                  d«       |rGd|z  }
t        |||
||dz   «      }|r.|	j                  |«       |j                  dt        |
«      gg«       |rXt        | «      |t        |«      |j                  «       |j                  «       |j                  «       |j                  «       dœ||	dœS y )	Nrf  r   rg  ri  r   r[  )ÚsampleDistanceÚimageSampleDistanceÚautoAdjustSampleDistancesÚ	blendModer>  )rD  rs  rt  rf  rP   rQ   r–   rc   rs   r   rŒ   ÚGetSampleDistanceÚGetImageSampleDistanceÚGetAutoAdjustSampleDistancesÚGetBlendMode)r�   r   rR  r’   r“   rb  rc  r}  rx   rB  rd  s              r   rÊ   rÊ   Å  s  € ð €JØÐØÐØ€EØ€LäˆvÐ+Ô,Ø× Ñ Ó"×)Ñ)Ô+Ø×.Ñ.¨q°!Ó4‰
ä�‰ÐJÔKáØ# hÑ.ˆÜ.Ø�J ¨g°u¸q±yó
Ðñ Ø×ÑÐ 2Ô3Ø�L‰L˜.¬6°,Ó+?Ð*@ÐAÔBáä$ VÓ,ØÜ˜vÓ&ð #)×":Ñ":Ó"<Ø'-×'DÑ'DÓ'Fà-3×-PÑ-PÓ-RØ#×0Ñ0Ó2ñ
ð Ø(ñ!
ð 	
ð& rB   c                 óf  — |j                  «       }ddg}t        |d«      r	 |j                  |«       |j	                  «       }|j                  «       }	t        | «      |t        |«      |j                  «       ||||j                  «       |j                  «       |j                  «       |j                  «       rdnd|j                  «       rdnd|j                  «       |j                  «       |j!                  «       |j#                  «       |j%                  «       dœdœS # t        $ r
}Y d }~Œød }~ww xY w)Ng      à?r   ÚGetHueRangeTF)ÚnumberOfColorsÚ
valueRangeÚhueRangeÚsaturationRangeÚnanColorÚbelowRangeColorÚaboveRangeColorÚuseAboveRangeColorÚuseBelowRangeColorÚalphaÚ
vectorSizeÚvectorComponentÚ
vectorModeÚindexedLookup©r�   r?  r@  rA  )rì   rD  r‹  Ú	ExceptionÚGetSaturationRangeÚGetAlphaRanger   rŒ   ÚGetNumberOfColorsÚGetNanColorÚGetBelowRangeColorÚGetAboveRangeColorÚGetUseAboveRangeColorÚGetUseBelowRangeColorÚGetAlphaÚGetVectorSizeÚGetVectorComponentÚGetVectorModeÚGetIndexedLookup)
r�   r  r€  r’   r“   ÚlookupTableRangeÚlookupTableHueRangeÚinstÚlutSatRangeÚlutAlphaRanges
             r   ÚlookupTableSerializerr®  ÷  s/  € ð #×+Ñ+Ó-Ðà ˜(ÐÜˆ{˜MÔ*ð	Ø×#Ñ#Ð$7Ô8ð ×0Ñ0Ó2€KØ×-Ñ-Ó/€Mô ! Ó(ØÜ˜;Ó'à)×;Ñ;Ó=Ø*Ø+à*Ø#×/Ñ/Ó1Ø*×=Ñ=Ó?Ø*×=Ñ=Ó?à×0Ñ0Ô2ñ #'àà×0Ñ0Ô2ñ #'àØ ×)Ñ)Ó+Ø%×3Ñ3Ó5Ø*×=Ñ=Ó?Ø%×3Ñ3Ó5Ø(×9Ñ9Ó;ñ'
ñ	ð øô ò 	Üûð	ús   ¢D Ä	D0Ä+D0c           	      ó  — | j                  «       }t        |«      }|rkt        «       }| j                  «       }t	        |dt        |«      iŽ}t        ||«      D ],  \  }} |j                  |g|d d D �cg c]  }|dz  ‘Œ	 c}¢­Ž  Œ. |S y c c}w )Nr6   rÿ   éÿ   )ÚGetTabler1   r   ÚGetTableRanger9   ÚlenÚzipÚAddRGBPoint)r  r)   ÚtableÚctfÚ
tableRangeÚpointsry   Úrgbas           r   Ú"lookupTableToColorTransferFunctionr»  &  s–   € Ø×$Ñ$Ó&€IÜ˜IÓ&€EÙÜ&Ó(ˆØ ×.Ñ.Ó0ˆ
Ü˜:Ð6¬3¨u«:Ñ6ˆÜ˜6 5Ö)‰GˆAˆtØˆC�O‰O˜AÐ<°$°r¸±(Ó ;±(¨Q  S£°(Ñ ;Ô<ð *ð ˆ
àùò	 !<s   Á3B
c                 ó<   — t        |«      }|rt        | ||||«      S y rD   )r»  rÍ   )r�   r  r€  r’   r“   r·  s         r   rË   rË   5  s,   € Ü
,¨[Ó
9€CÙ
Ü.Ø�C˜¨°ó
ð 	
ð rB   c                 ó@  — t        |d«      r|j                  «       nd}t        |d«      r|j                  «       ng d¢}|dk(  rt        |d«      r|j                  «       }t	        | «      |t        |«      i d|“d|“d	|j                  «       “d
|j                  «       “d|j                  «       “d|j                  «       “d|j                  «       “d|j                  «       “d|j                  «       “d|j                  «       “d|j                  «       “d|j                  «       “d|j                  «       rdnd“d|j!                  «       rdnd“d|j#                  «       rdnd“d|j%                  «       “d|j'                  «       “d|j)                  «       rdndi¥dœS )NÚGetRepresentationr   ÚGetDiffuseColor)r   r   r   r   ÚGetColorÚrepresentationÚdiffuseColorÚcolorÚambientColorÚspecularColorÚ	edgeColorÚambientÚdiffuseÚspecularÚspecularPowerÚopacityÚinterpolationÚedgeVisibilityr   ÚbackfaceCullingÚfrontfaceCullingÚ	pointSizeÚ	lineWidthÚlightingrš  )rD  r¾  r¿  rÀ  r   rŒ   ÚGetAmbientColorÚGetSpecularColorÚGetEdgeColorÚ
GetAmbientÚ
GetDiffuseÚGetSpecularÚGetSpecularPowerÚ
GetOpacityÚGetInterpolationÚGetEdgeVisibilityÚGetBackfaceCullingÚGetFrontfaceCullingÚGetPointSizeÚGetLineWidthÚGetLighting)r�   ÚpropObjÚ	propObjIdr’   r“   rÁ  Ú
colorToUses          r   rÐ   rÐ   B  sø  € ä'.¨wÐ8KÔ'Lˆ×!Ñ!Ô#ÐRSð ô &-¨WÐ6GÔ%Hˆ×ÑÔ!Êið ð ˜Òœw w°
Ô;Ø×%Ñ%Ó'ˆ
ô ! Ó(ØÜ˜7Ó#ð
Ø˜nð
à˜Jð
ð �W×%Ñ%Ó'ð
ð ˜G×3Ñ3Ó5ð	
ð
 ˜W×5Ñ5Ó7ð
ð ˜×-Ñ-Ó/ð
ð �w×)Ñ)Ó+ð
ð �w×)Ñ)Ó+ð
ð ˜×+Ñ+Ó-ð
ð ˜W×5Ñ5Ó7ð
ð �w×)Ñ)Ó+ð
ð ˜W×5Ñ5Ó7ð
ð  7×#<Ñ#<Ô#>™aÀAð
ð  G×$>Ñ$>Ô$@™qÀað
ð  W×%@Ñ%@Ô%B¡Èð
ð  ˜×-Ñ-Ó/ð!
ð" ˜×-Ñ-Ó/ð#
ð$ ˜W×0Ñ0Ô2™¸ñ%
ñ	ð rB   c                 ó”  — g }g }|j                  «       }|rNt        |«      }t        |||||dz   «      }	|	r/|j                  |	«       |j                  ddt	        |«      gg«       |j                  «       }
|
rNt        |
«      }t        ||
|||dz   «      }|r/|j                  |«       |j                  ddt	        |«      gg«       t        | «      |t        |«      |j                  «       |j                  «       |j                  «       |j                  «       |j                  «       |j                  «       |j                  «       dœ||dœS )Nr   ÚsetRGBTransferFunctionr   ÚsetScalarOpacity)ÚindependentComponentsÚinterpolationTypeÚshaderÇ  rÈ  rÉ  rÊ  r>  )ÚGetRGBTransferFunctionr   r–   rc   rs   ÚGetScalarOpacityrŒ   ÚGetIndependentComponentsÚGetInterpolationTypeÚGetShaderÖ  r×  rØ  rÙ  )r�   râ  rã  r’   r“   rx   rB  Úlutr€  r}  ÚpwfÚpwfIdÚpwfInstances                r   rÑ   rÑ   f  sW  € Ø€EØ€Lð ×
(Ñ
(Ó
*€CÙ
Ü& sÓ+ˆÜ/Ø�S˜-¨°%¸!±)ó
Ðñ Ø×ÑÐ 3Ô4Ø�L‰LÐ2°Q¼¸}Ó8MÐ4NÐOÔPð ×
"Ñ
"Ó
$€CÙ
Ü˜sÓ#ˆÜ'Ø�S˜% ¨%°!©)ó
ˆñ Ø×Ñ Ô,Ø�L‰LÐ,¨q´&¸³-Ð.@ÐAÔBô ! Ó(ØÜ˜7Ó#à%,×%EÑ%EÓ%GØ!(×!=Ñ!=Ó!?Ø×%Ñ%Ó'Ø×)Ñ)Ó+Ø×)Ñ)Ó+Ø×+Ñ+Ó-Ø$×5Ñ5Ó7ñ

ð Ø$ñ!ð rB   c           	      óN  — t        |d«      r7t        d«      D �cg c]"  }|j                  «       j                  d|«      ‘Œ$ }}ng d¢}g }t	        || ||d«       t        | «      |t        |«      |j                  «       |j                  «       |j                  «       ||dœdœS c c}w )NÚGetDirectionMatrixé	   r   )	r   r   r   r   r   r   r   r   r   rþ   )Úspacingr9  Ú
dimensionsÚ	directionÚfieldsrš  )
rD  r(   rõ  Ú
GetElementr+  r   rŒ   Ú
GetSpacingrH  ÚGetDimensions)	r�   r  Ú	datasetIdr’   r“   Úrequested_fieldsr8   rù  rú  s	            r   rÓ   rÓ   ˜  s¬   € ÜˆwÐ,Ô-ÜLQÐRSÌHÓUÉHÀq�W×/Ñ/Ó1×<Ñ<¸QÀÕBÈHˆ	ÑUâ/ˆ	ð €FÜ˜& &¨'°7¸CÔ@ô ! Ó(ØÜ˜7Ó#à×)Ñ)Ó+Ø×'Ñ'Ó)Ø!×/Ñ/Ó1Ø"Øñ
ñ	ð ùò Vs   š'B"c                 ó¾  — |�rE|j                  «       �r4i }t        |j                  «       j                  «       |«      }d|d<   ||d<   |j                  «       rd|j                  «       j                  «       j	                  «       dkD  r5t        |j                  «       j                  «       |«      }||d<   d|d   d<   |j                  «       rd|j                  «       j                  «       j	                  «       dkD  r5t        |j                  «       j                  «       |«      }	|	|d<   d|d   d<   |j                  «       rd|j                  «       j                  «       j	                  «       dkD  r5t        |j                  «       j                  «       |«      }
|
|d<   d|d   d<   |j                  «       rd|j                  «       j                  «       j	                  «       dkD  r5t        |j                  «       j                  «       |«      }||d	<   d|d	   d<   g |d
<   t        |d
   | |||«       t        | «      |t        |«      |dœS t        j                  d«       y )NÚ	vtkPointsrô   r¹  r   ÚvertsÚvtkCellArrayÚlinesÚpolysÚstripsrú  rš  zThis dataset has no points!)Ú	GetPointsrú   ÚGetDataÚGetVertsrR   ÚGetLinesÚGetPolysÚ	GetStripsr+  r   rŒ   rP   rQ   )r�   r  rþ  r’   r“   rÿ  rA  r¹  Ú_vertsÚ_linesÚ_polysÚ_stripss               r   rÒ   rÒ   ³  s?  € Ú�7×$Ñ$Õ&Øˆ
ô % W×%6Ñ%6Ó%8×%@Ñ%@Ó%BÀGÓLˆØ(ˆˆzÑØ%ˆ
�8Ñð ×ÑÔ '×"2Ñ"2Ó"4×"<Ñ"<Ó">×"PÑ"PÓ"RÐUVÒ"VÜ(¨×)9Ñ)9Ó);×)CÑ)CÓ)EÀwÓOˆFØ"(ˆJ�wÑØ.<ˆJ�wÑ 
Ñ+ð ×ÑÔ '×"2Ñ"2Ó"4×"<Ñ"<Ó">×"PÑ"PÓ"RÐUVÒ"VÜ(¨×)9Ñ)9Ó);×)CÑ)CÓ)EÀwÓOˆFØ"(ˆJ�wÑØ.<ˆJ�wÑ 
Ñ+ð ×ÑÔ '×"2Ñ"2Ó"4×"<Ñ"<Ó">×"PÑ"PÓ"RÐUVÒ"VÜ(¨×)9Ñ)9Ó);×)CÑ)CÓ)EÀwÓOˆFØ"(ˆJ�wÑØ.<ˆJ�wÑ 
Ñ+ð ×ÑÔØ×!Ñ!Ó#×+Ñ+Ó-×?Ñ?ÓAÀAÒEä)¨'×*;Ñ*;Ó*=×*EÑ*EÓ*GÈÓQˆGØ#*ˆJ�xÑ Ø/=ˆJ�xÑ  Ñ,ð  "ˆ
�8ÑÜ˜j¨Ñ2°F¸GÀWÐN^Ô_ô % VÓ,ØÜ˜wÓ'Ø$ñ	
ð 	
ô ‡L�LÐ.Ô/ØrB   c                 ó‚  — d }|j                  d«      r<t        «       }|j                  |«       |j                  «        |j	                  «       }na|j                  d«      r<t        «       }|j                  |«       |j                  «        |j	                  «       }nt        j                  «       }t        | |||||«      S )NÚvtkCompositeDataSetr®   )	r  r	   ru  rt  rv  r
   r   rZ  rÒ   )r�   rb  rd  r’   r“   rÿ  r  Úgfs           r   rÔ   rÔ   é  s“   € Ø€Gà‡~�~Ð+Ô,Ü+Ó-ˆØ
�‰˜
Ô#Ø
�	‰	ŒØ—,‘,“.‰Ø	�‰Ð-Ô	.Ü$Ó&ˆØ
�‰˜
Ô#Ø
�	‰	ŒØ—,‘,“.‰ä—/‘/Ó#ˆä˜f g¨|¸WÀeÐM]Ó^Ð^rB   c                 óì  — g }t        |j                  «       «      D ])  }g d¢}|j                  ||«       |j                  |«       Œ+ t	        | «      |t        |«      |j                  «       rdnd|j                  «       |j                  «       rdnd|j                  «       rdnd|j                  «       |j                  «       |j                  «       |j                  «       |j                  «       |dœ
dœS )N)r   r   r   r   r   r   r   r   )
ÚclampingÚ
colorSpaceÚhSVWrapÚallowDuplicateScalarsr•  r—  r–  r˜  r™  Únodesrš  )r(   ÚGetSizeÚGetNodeValuerc   r   rŒ   ÚGetClampingÚGetColorSpaceÚ
GetHSVWrapÚGetAllowDuplicateScalarsr¤  r¦  r¥  r§  r¨  ©r�   r�   ræ   r’   r“   r  r8   Únodes           r   rÍ   rÍ   ÿ  sâ   € Ø€Eä�8×#Ñ#Ó%Ö&ˆâ!ˆØ×Ñ˜a Ô&Ø�‰�TÕð	 'ô ! Ó(ØÜ˜8Ó$à%×1Ñ1Ô3™¸Ø"×0Ñ0Ó2Ø$×/Ñ/Ô1‘q°qð +3×*KÑ*KÔ*M¡QÐSTØ×&Ñ&Ó(Ø'×:Ñ:Ó<Ø"×0Ñ0Ó2Ø"×0Ñ0Ó2Ø%×6Ñ6Ó8Øñ
ñ	ð rB   c                 ó|   — t        | ||||«      }|j                  «       |d   d<   |j                  «       |d   d<   |S )NrA  Ú
discretizeÚnumberOfValues)rÍ   ÚGetDiscretizer#   )r�   r�   ræ   r’   r“   r·  s         r   rÌ   rÌ     sJ   € Ü
)¨&°(¸EÀ7ÈEÓ
R€CØ&.×&<Ñ&<Ó&>€CˆÑ�lÑ#Ø*2×*DÑ*DÓ*F€CˆÑÐ&Ñ'Ø€JrB   c                 ó2  — g }t        |j                  «       «      D ])  }g d¢}|j                  ||«       |j                  |«       Œ+ t	        | «      |t        |«      t        |j                  «       «      |j                  «       |j                  «       |dœdœS )N)r   r   r   r   )r(   r  r  r  rš  )
r(   r  r  rc   r   rŒ   r&   rì   r  r  r   s           r   rÎ   rÎ   '  s�   € Ø€Eä�8×#Ñ#Ó%Ö&ˆâˆØ×Ñ˜a Ô&Ø�‰�TÕð	 'ô ! Ó(ØÜ˜8Ó$ä˜(×+Ñ+Ó-Ó.Ø ×,Ñ,Ó.Ø%-×%FÑ%FÓ%HØñ	
ñ	
ð 
rB   c                 óÚ  — g d¢}|j                  «       r|j                  «       |d<   |j                  «       r|j                  «       |d<   |j	                  «       r|j                  «       |d<   t        | «      |di d|j                  «       “d|j                  «       “d|j                  «       “d	|j                  «       “d
|j                  «       “d|j                  «       “d|j                  «       “d|j                  «       “d|j                  «       “d|j!                  «       “dd“dd“d|“dd“ddddddœ“dd“dddd ddœ“d!t#        t        |j%                  «       «      «      gggg d"œS )#aë  
    Possible add-on properties for vtk.js:
        gridLines: True,
        axisLabels: None,
        axisTitlePixelOffset: 35.0,
        axisTextStyle: {
            fontColor: 'white',
            fontStyle: 'normal',
            fontSize: 18,
            fontFamily: 'serif',
        },
        tickLabelPixelOffset: 12.0,
        tickTextStyle: {
            fontColor: 'white',
            fontStyle: 'normal',
            fontSize: 14,
            fontFamily: 'serif',
        },
    )rÝ   rÝ   rÝ   r   r   r   rÅ   r5  r6  r7  r8  r9  r:  r;  r<  r=  Ú
dataBoundsÚfaceVisibilityAngleé   Ú	gridLinesTÚ
axisLabelsÚaxisTitlePixelOffsetg     €A@ÚaxisTextStyleÚwhiteÚnormalé   Úserif©Ú	fontColorÚ	fontStyleÚfontSizeÚ
fontFamilyÚtickLabelPixelOffsetg      (@ÚtickTextStyleé   Ú	setCamerar>  )ÚGetXAxisLabelVisibilityÚ	GetXTitleÚGetYAxisLabelVisibilityÚ	GetYTitleÚGetZAxisLabelVisibilityÚ	GetZTitler   rC  rE  rF  rG  rH  rI  rJ  rK  rL  Ú	GetBoundsrs   Ú	GetCamera)r�   rM  rN  r’   r“   r,  s         r   rÙ   rÙ   >  sÞ  € ò( €JØ×$Ñ$Ô&ØŸ™Ó)ˆ
�1‰Ø×$Ñ$Ô&ØŸ™Ó)ˆ
�1‰Ø×$Ñ$Ô&ØŸ™Ó)ˆ
�1‰ô ! Ó(ØØ"ð 
à˜%×-Ñ-Ó/ð 
ð ˜×)Ñ)Ó+ð 
ð ˜×)Ñ)Ó+ð	 
ð
 ˜×+Ñ+Ó-ð 
ð �e—o‘oÓ'ð 
ð ˜×)Ñ)Ó+ð 
ð �U—^‘^Ó%ð 
ð ˜5×/Ñ/Ó1ð 
ð  × 9Ñ 9Ó ;ð 
ð ˜%Ÿ/™/Ó+ð 
ð " 1ð 
ð  ˜ð! 
ð" ˜*ð# 
ð$ # Dð% 
ð& Ø$Ø%ØØ%ñ	ð' 
ð2 # Dð3 
ð4 Ø$Ø%ØØ%ñ	ð5 
ðB ¤¬°u·±Ó7HÓ(IÓ!JÐ KÐLÐMØñM'ð 'rB   c                 óÆ  — g }g }|j                  «       }|sy t        |«      }t        |||||dz   «      }	|	sy |j                  |	«       |j                  dt	        |«      gg«       d }
t        |d«      r|j                  «       }
ndt        j                  d«       |
rMt        |
«      }t        ||
|||dz   «      }|r.|j                  |«       |j                  dt	        |«      gg«       |j                  «       }|j                  «       }|j                  «       }t        | «      |d|j                  «       |j                  «       |j                  «       |j                  «       d|dd	g||gd
|j!                  «       j#                  «       ddddœd|j!                  «       j#                  «       ddddœ|j%                  «       |j'                  «       |j)                  «       dœ||dœS )Nr   ÚsetScalarsToColorsr0  z6This scalarBarActor does not have a GetProperty methodr2  rÆ   Tg)\�Âõ(ì?gq=
×£pí¿g      B@r0  r1  r2  r3  g      ,@r:  )r5  r6  r7  r8  Ú	automatedÚ	axisLabelÚboxPositionÚboxSizer-  r.  r8  r9  ÚdrawNanAnnotationÚdrawBelowRangeSwatchÚdrawAboveRangeSwatchr>  )rj  r   r–   rc   rs   rD  r0  rP   rQ   ÚGetTitleÚGetWidthÚ	GetHeightrC  rE  rF  rG  ÚGetTitleTextPropertyrÀ  ÚGetDrawNanAnnotationÚGetDrawBelowRangeSwatchÚGetDrawAboveRangeSwatch)r�   rM  rN  r’   r“   rB  rx   rð  ÚlutIdÚlutInstancerS  rT  rQ  rG  ÚwidthÚheights                   r   rÚ   rÚ   …  sõ  € Ø€LØ€EØ
×
Ñ
Ó
 €CÙØä˜3Ó€EÜ# E¨3°°wÀÈÁ	ÓJ€KÙØà×Ñ˜Ô$Ø	‡L�LÐ&¬°«¨Ð8Ô9à€DÜˆu�mÔ$Ø× Ñ Ó"‰ä�‰ÐMÔNáÜ# DÓ)ˆFÜ0Ø�t˜V W¨e°a©ió Ðñ  Ø×#Ñ#Ð$4Ô5Ø—‘˜m¬f°V«nÐ-=Ð>Ô?à—‘Ó €IØ�N‰NÓ€EØ�_‰_Ó€Fô ! Ó(ØØ#ð  ×-Ñ-Ó/Ø×)Ñ)Ó+Ø×)Ñ)Ó+Ø×+Ñ+Ó-ð Ø"ð ! %˜=Ø˜v�Ø$(à"×7Ñ7Ó9×BÑBÓDØ%ØØ%ñ	ð %)à"×7Ñ7Ó9×BÑBÓDØ%ØØ%ñ	ð "'×!;Ñ!;Ó!=Ø$)×$AÑ$AÓ$CØ$)×$AÑ$AÓ$CñE#
ðH Ø$ñS*ð *rB   c                 óP  — g }g }g }g }|j                  «       }	t        |	«      }
t        ||	|
||dz   «      }|r.|j                  |«       |j                  dt	        |
«      gg«       |j                  «       }t        |j                  «       «      D ]U  }|j                  |«      }t        |«      }t        |||||dz   «      }|sŒ4|j                  |«       |j                  |«       ŒW ||j                  d|z  |dd«      z  }|j                  «       }t        |j                  «       «      D ]U  }|j                  |«      }t        |«      }t        |||||dz   «      }|sŒ4|j                  |«       |j                  |«       ŒW ||j                  d|z  |dd«      z  }t        |«      dkD  rýt        | «      |t        |«      |j                  «       |j                  «       |j                  «       |j!                  «       |j#                  «       |j%                  «       |j'                  «       |j)                  «       |j+                  «       |j-                  «       |j/                  «       |j1                  «       |j3                  «       |j5                  «       |j7                  «       d	œ||d
œS y )Nr   ÚsetActiveCameraz%s-propsÚaddViewPropÚremoveViewPropz	%s-lightsÚaddLightÚremoveLight)Ú
backgroundÚbackground2ÚviewportÚtwoSidedLightingÚlightFollowCameraÚlayerÚpreserveColorBufferÚpreserveDepthBufferÚnearClippingPlaneToleranceÚclippingRangeExpansionÚ
useShadowsÚuseDepthPeelingÚocclusionRatioÚmaximumNumberOfPeelsÚinteractive)r�   r?  r@  rA  rB  rx   )ÚGetActiveCamerar   r–   rc   rs   ÚGetViewPropsr(   ÚGetNumberOfItemsÚGetItemAsObjectrz   Ú	GetLightsr³  rŒ   ÚGetBackgroundÚGetBackground2ÚGetViewportÚGetTwoSidedLightingÚGetLightFollowCameraÚGetLayerÚGetPreserveColorBufferÚGetPreserveDepthBufferÚGetNearClippingPlaneToleranceÚGetClippingRangeExpansionÚGetUseShadowsÚGetUseDepthPeelingÚGetOcclusionRatioÚGetMaximumNumberOfPeelsÚGetInteractive)r�   r�   ræ   r’   r“   rB  ÚviewPropIdsÚ	lightsIdsrx   ÚcameraÚcameraIdÚcameraInstanceÚviewPropCollectionÚrpIdxÚviewPropÚ
viewPropIdÚviewPropInstanceÚlightCollectionÚlightIdxÚlightÚlightIdÚlightInstances                         r   rÖ   rÖ   Ö  s­  € Ø€LØ€KØ€IØ€Eð ×%Ñ%Ó'€FÜ˜fÓ%€HÜ& x°¸À7ÈEÐTUÉIÓV€NÙØ×Ñ˜NÔ+Ø�‰Ð'¬&°Ó*:Ð);Ð<Ô=ð "×.Ñ.Ó0ÐÜÐ)×:Ñ:Ó<Ö=ˆØ%×5Ñ5°eÓ<ˆÜ# HÓ-ˆ
ä,Ø�h 
¨G°U¸Q±Yó
Ðò Ø×ÑÐ 0Ô1Ø×Ñ˜zÕ*ð >ð 
ˆW×,Ñ,Ø�UÑ˜K¨Ð8Hóñ €Eð
 ×(Ñ(Ó*€OÜ˜/×:Ñ:Ó<Ö=ˆØ×/Ñ/°Ó9ˆÜ  Ó'ˆä)¨(°E¸7ÀGÈUÐUVÉYÓWˆÚØ×Ñ Ô.Ø×Ñ˜WÕ%ð >ð 
ˆW×,Ñ,Ø�eÑ˜Y¨
°Móñ €Eô ˆ<Ó˜1Òä$ VÓ,ØÜ˜xÓ(à&×4Ñ4Ó6Ø'×6Ñ6Ó8Ø$×0Ñ0Ó2ð %-×$@Ñ$@Ó$BØ%-×%BÑ%BÓ%DØ!×*Ñ*Ó,Ø'/×'FÑ'FÓ'HØ'/×'FÑ'FÓ'HØ.6×.TÑ.TÓ.VØ*2×*LÑ*LÓ*NØ&×4Ñ4Ó6Ø#+×#>Ñ#>Ó#@Ø"*×"<Ñ"<Ó">Ø(0×(HÑ(HÓ(JØ'×6Ñ6Ó8ñ)ð, )Øñ7
ð 	
ð< rB   c                 ó®   — t        | «      |t        |«      |j                  «       |j                  «       |j	                  «       |j                  «       dœdœS )N)Ú
focalPointr:  ÚviewUpÚclippingRangerš  )r   rŒ   ÚGetFocalPointrI  Ú	GetViewUpÚGetClippingRange©r�   r�   ræ   r’   r“   s        r   r×   r×   )  sT   € ä  Ó(ØÜ˜8Ó$à"×0Ñ0Ó2Ø ×,Ñ,Ó.Ø×(Ñ(Ó*Ø%×6Ñ6Ó8ñ	
ñ	
ð 
rB   c                 ó   — | dk(  ry| dk(  ryy)z¹
    #define VTK_LIGHT_TYPE_HEADLIGHT    1
    #define VTK_LIGHT_TYPE_CAMERA_LIGHT 2
    #define VTK_LIGHT_TYPE_SCENE_LIGHT  3

    'HeadLight';
    'SceneLight';
    'CameraLight'
    r   Ú	HeadLightr   ÚCameraLightÚ
SceneLightr   )Úvalues    r   ÚlightTypeToStringr�  :  s   € ð �‚zØØ	�!ŠØàrB   c                 ó’  — t        | «      |t        |«      |j                  «       |j                  «       |j	                  «       |j                  «       |j                  «       |j                  «       |j                  «       |j                  «       |j                  «       t        |j                  «       «      |j                  «       dœdœS )N)ÚswitchÚ	intensityrÃ  r:  r‘  Ú
positionalÚexponentÚ	coneAngleÚattenuationValuesÚ	lightTypeÚshadowAttenuationrš  )r   rŒ   Ú	GetSwitchÚGetIntensityr¿  rI  r”  ÚGetPositionalÚGetExponentÚGetConeAngleÚGetAttenuationValuesr�  ÚGetLightTypeÚGetShadowAttenuationr—  s        r   rØ   rØ   L  s¯   € ä  Ó(ØÜ˜8Ó$ð ×(Ñ(Ó*Ø!×.Ñ.Ó0Ø×-Ñ-Ó/Ø ×,Ñ,Ó.Ø"×0Ñ0Ó2Ø"×0Ñ0Ó2Ø ×,Ñ,Ó.Ø!×.Ñ.Ó0Ø!)×!>Ñ!>Ó!@Ü*¨8×+@Ñ+@Ó+BÓCØ!)×!>Ñ!>Ó!@ñ
ñ	ð rB   c           	      ó¨  — g }g }|j                  «       }t        |j                  «       «      D ]U  }|j                  |«      }	t	        |	«      }
t        ||	|
||dz   «      }|sŒ4|j                  |«       |j                  |
«       ŒW |j                  ||dd«      }t	        | «      |t        |«      d|j                  «       i|||j                  «       dœS )Nr   ÚaddRendererÚremoveRendererÚnumberOfLayers)r�   r?  r@  rA  rB  rx   rä   )ÚGetRenderersr(   ro  rp  r   r–   rc   rz   rŒ   ÚGetNumberOfLayersrO   )r�   r�   ræ   r’   r“   rB  ÚrendererIdsÚrendererCollectionÚrIdxÚrendererÚ
rendererIdÚrendererInstancerx   s                r   rÕ   rÕ   f  sè   € Ø€LØ€Kà!×.Ñ.Ó0ÐÜÐ(×9Ñ9Ó;Ö<ˆà%×5Ñ5°dÓ;ˆÜ# HÓ-ˆ
Ü,Ø�h 
¨G°U¸Q±Yó
Ðò Ø×ÑÐ 0Ô1Ø×Ñ˜zÕ*ð =ð ×+Ñ+Øˆ{˜MÐ+;ó€Eô
 ! Ó(ØÜ˜8Ó$Ø'¨×)CÑ)CÓ)EÐFØ$ØØ×"Ñ"Ó$ñð rB   )Ar   Úloggingr!   ra   r   Úvtkmodules.webr   r   r   r   r   Úvtkmodules.vtkCommonCorer   Úvtkmodules.vtkFiltersGeometryr	   r
   Úvtkmodules.vtkRenderingCorer   Ú	getLoggerr|   rP   ÚsetLevelÚDEBUGr   r1   r9   r;   r�   r…   r’   rƒ   rˆ   rŒ   r–   rÛ   rà   rs   rå   rç   rð   rú   r+  rÇ   rÈ   rÏ   rÉ   rÊ   r®  r»  rË   rÐ   rÑ   rÓ   rÒ   rÔ   rÍ   rÌ   rÎ   rÙ   rÚ   rÖ   r×   r�  rØ   rÕ   r   rB   r   Ú<module>rÃ     sx  ðÛ 	Û Û Û Û ÷õ õ 8Ý HÝ AÝ @à	ˆ×	Ñ	˜8Ó	$€à ‡��—‘Ô ò òò(3÷Kñ Kðd €ØÐ Ø
€òò+òò	òUNòzò$ð Ð òò&òð> AJÈ9Ð?Uó<6òFOòj<òB$òTOòj-òd)ò^òò"òH-ðd YbÐclÐWmó ð6 XaÐbkÐVló 0ðl clÐmvÐawó _ò,ò@òò.CòNLòbMòfò"ò$ó4rB   