Ë
    Î£jX  ã            
       ór   — d dl Z d dlmZmZmZ  e j
                  «       Zdededededef
d„Zd	ed
edefd„Z	y)é    N)Ú
PCFElementÚPCFFileÚAttributeTypeÚelementÚoffsetÚ
source_pcfÚ
target_pcfÚreturnc                 óØ  — |j                   | j                     }	 |dk(  rd}n	 |j                   j                  |«      }t        || j                  | j                  i ¬
«      }| j                  j                  «       D ]¤  \  }\  }}		 |j                   j                  |«       |t        j                   k(  r|	dk7  r|	|z   n|	}
||
f|j                  |<   ŒV|t        j"                  k(  r+|	D �cg c]  }|dk7  r||z   n|‘Œ }
}||
f|j                  |<   Œ”||	f|j                  |<   Œ¦ |S # t        $ r4 t	        |j                   «      }|j                   j                  |«       Y �Œ"w xY w# t        $ rK t        j                  d|j                  dd¬«      › d�«       t        d|j                  dd¬«      › d	�«      ‚w xY w# t        $ r |j                   j                  |«       Y �ŒBw xY wc c}w )Ns
   DmeElementr   z$Failed to process particle element 'ÚasciiÚreplace)Úerrorsz' during mergez0PCF merge failed while processing element type 'z'))Útype_name_indexÚelement_nameÚdata_signatureÚ
attributesl   ÿÿ )Ústring_dictionaryr   ÚindexÚ
ValueErrorÚlenÚappendÚ	ExceptionÚlogÚ	exceptionÚdecoder   r   r   r   Úitemsr   ÚELEMENTÚELEMENT_ARRAY)r   r   r   r	   Ú	type_nameÚnew_type_name_indexÚnew_elementÚ	attr_nameÚ	attr_typeÚvalueÚ	new_valueÚidxs               úLC:\Users\pivot\Documents\cueki\casual-preloader\core\operations\pcf_merge.pyÚcopy_elementr(      s  € ð ×,Ñ,¨W×-DÑ-DÑE€Ið}Ø˜Ò%Ø"#Ñð?Ø&0×&BÑ&B×&HÑ&HÈÓ&SÐ#ô Ø+Ø×)Ñ)Ø×-Ñ-Øô	€Kð *1×);Ñ);×)AÑ)AÖ)CÑ%ˆ	Ñ%�I˜uð	;Ø×(Ñ(×.Ñ.¨yÔ9ð œ×-Ñ-Ò-à*/°:Ò*=˜ šÀ5ˆIØ1:¸IÐ0FˆK×"Ñ" 9Ò-àœ-×5Ñ5Ò5áOTÓUÉuÈ¨°
Ò):˜˜všÀÑCÈuˆIÐUØ1:¸IÐ0FˆK×"Ñ" 9Ò-ð 2;¸EÐ0BˆK×"Ñ" 9Ò-ð+ *Dð. ÐøôO ò ?ä&)¨*×*FÑ*FÓ&GÐ#Ø×,Ñ,×3Ñ3°I×>ð?ûô ò }Ü�‰Ð<¸Y×=MÑ=MÈgÐ^gÐ=MÓ=hÐ<iÐiwÐxÔyÜÐKÈI×L\ÑL\Ð]dÐmvÐL\ÓLwÐKxÐxzÐ{Ó|Ð|ð}ûô  ò 	;à×(Ñ(×/Ñ/°	×:ð	;üò VsA   ›E% ¤D% ÂF<Ã)G'Ä%9E"ÅE% Å!E"Å"E% Å%AF9Æ<$G$Ç#G$Úpcf1Úpcf2c                 ó
  — t        | j                  «      }d}| j                  |   }g }g }t        |j                  «      D ]  \  }}||k(  rŒt        ||dz
  || «      }	|j	                  |	«       |j
                  |j                     }
|
dk(  sŒM|j	                  t        | j                  «      t        |«      z   dz
  «       Œ� |j                  d   \  }}|||z   f|j                  d<   | j                  j                  |«       | S )Nr   é   s   DmeParticleSystemDefinitions   particleSystemDefinitions)	r   ÚelementsÚ	enumerater(   r   r   r   r   Úextend)r)   r*   Úelement_offsetÚroot_idxÚroot_elementÚnew_elementsÚnew_system_indicesÚir   r!   r   r#   Úexisting_systemss                r'   Úmerge_pcf_filesr7   >   s  € ä˜Ÿ™Ó'€Nð €HØ—=‘= Ñ*€Lð €LØÐä §¡Ö.‰
ˆˆ7à�Š=Øä" 7¨N¸QÑ,>ÀÀdÓKˆØ×Ñ˜KÔ(ð ×*Ñ*¨7×+BÑ+BÑCˆ	ØÐ6Ó6Ø×%Ñ%¤c¨$¯-©-Ó&8¼3¸|Ó;LÑ&LÈqÑ&PÕQð /ð #/×"9Ñ"9Ð:VÑ"WÑ€IÐØ=FÐHXÐ[mÑHmÐ<n€L×ÑÐ8Ñ9ð 	‡M�M×Ñ˜Ô&à€Kó    )
ÚloggingÚvalve_parsersr   r   r   Ú	getLoggerr   Úintr(   r7   © r8   r'   Ú<module>r>      sc   ðÛ ç <Ñ <à€g×ÑÓ€ð3˜*ð 3¨cð 3¸wð 3Ø$ð3Ø)3ó3ðl ˜'ð  ¨ð  °Wô  r8   