§
    ´›j(  ã            !      ót  — U d Z ddlmZ ddlmZ dddddœd	d
dddœdddddœdddddœdddddœdddddœdœZded<   d d!dd"d#d$d%œd&d'dd(d)d*d%œd+d,dd-d.d*d%œd/d0dd1d2d3d%œd4d5dd6d7d$d%œd8d9dd:d;d<d%œd=d>d	d?d@d$d%œdAdBd	dCdDd$d%œdEdFd	dGdHd$d%œdIdJd	dKdLd*d%œdMdNd	dOdPd<d%œdQdRddSdTd$d%œdUdVddWdXd$d%œdYdZdd[d\d$d%œd]d^dd_d`d*d%œdadbddcddd$d%œdedfddgd)d$d%œdhdiddjd2d3d%œdkdlddmdnd*d%œdodpddqdrd$d%œdsdtddudDd$d%œdvdwddxdyd*d%œdzd{dd|d}d*d%œd~ddd€d�d$d%œd‚dƒdd„d…d$d%œd†d‡ddˆd‰d$d%œdŠd‹ddŒd�d$d%œgZdŽed�<   d�„ eD ¦   «         Zd‘ed’<   d›d—„Z	dœd˜„Z
d�d™„ZdšS )žu  Enterprise AEC Document Taxonomy & Classification Hierarchy.

Defines the 2-Tier Hierarchical Classification for DSCons Construction ERP:
- 5 Mega-Groups (NhÃ³m nghiá»‡p vá»¥)
- Sub-types (Loáº¡i vÄƒn báº£n cá»¥ thá»ƒ) with standard codes for automatic numbering {Sá»‘}/{NÄƒm}/{MÃ£}-Ä�S
é    )Úannotations)ÚAnyÚlegalu   PhÃ¡p LÃ½ & HÃ nh ChÃ­nhu   âš–ï¸�uJ   CÃ´ng vÄƒn, quyáº¿t Ä‘á»‹nh, thÃ´ng bÃ¡o, tá»� trÃ¬nh, thÆ° tá»« phÃ¡p lÃ½)ÚkeyÚnameÚiconÚdescriptionÚcontractu   Há»£p Ä�á»“ng & Ä�áº¥u Tháº§uu   ðŸ¤�uU   Há»£p Ä‘á»“ng xÃ¢y dá»±ng, phá»¥ lá»¥c, bÃ¡o giÃ¡, chÃ o tháº§u, há»“ sÆ¡ dá»± tháº§uÚ	technicalu   Ká»¹ Thuáº­t & Báº£n Váº½u   ðŸ“�uZ   Thuyáº¿t minh dá»± toÃ¡n sÆ¡ bá»™, báº£n váº½ ká»¹ thuáº­t, BPTC, chá»‰ dáº«n ká»¹ thuáº­tÚsiteu   Hiá»‡n TrÆ°á»�ng & QA/QCu   ðŸ�—ï¸�uZ   BiÃªn báº£n hiá»‡n trÆ°á»�ng, nghiá»‡m thu, nháº­t kÃ½ cÃ´ng trÃ¬nh, phiáº¿u thÃ­ nghiá»‡mÚ	financialu   TÃ i ChÃ­nh & NgÃ¢n HÃ ngu   ðŸ�¦uR   á»¦y nhiá»‡m chi (UNC), sao kÃª ngÃ¢n hÃ ng, giáº¥y bÃ¡o ná»£/cÃ³, hÃ³a Ä‘Æ¡n, IPCÚotheru   KhÃ¡c & TÃ¹y Biáº¿nu   âœ¨uW   CÃ¡c dáº¡ng tÃ i liá»‡u nghiá»‡p vá»¥ Ä‘áº·c thÃ¹ do ngÆ°á»�i dÃ¹ng tá»± Ä‘á»‹nh nghÄ©a)r   r
   r   r   r   r   zdict[str, dict[str, str]]ÚDOCUMENT_GROUPSÚCVu
   CÃ´ng vÄƒnu   CÃ´ng vÄƒn (CV)z#60a5faÚboth)Úcoder   ÚgroupÚ
full_labelÚbadge_colorÚdefault_directionõ   QÄ�u   Quyáº¿t Ä‘á»‹nhu   Quyáº¿t Ä‘á»‹nh (QÄ�)z#38bdf8ÚincomingÚTBu   ThÃ´ng bÃ¡ou   ThÃ´ng bÃ¡o (TB)z#22d3eeÚTTru   Tá»� trÃ¬nhu   Tá»� trÃ¬nh (TTr)z#818cf8ÚinternalÚTHUu   ThÆ° tá»« / ThÆ° má»�iu   ThÆ° tá»« / ThÆ° má»�i (THÆ¯)z#a78bfaÚGUQu+   Giáº¥y giá»›i thiá»‡u / Giáº¥y á»§y quyá»�nu*   Giáº¥y giá»›i thiá»‡u / á»¦y quyá»�n (GUQ)z#c084fcÚoutgoingõ   HÄ�u%   Há»£p Ä‘á»“ng kinh táº¿ / XÃ¢y dá»±ngu   Há»£p Ä‘á»“ng (HÄ�)z#34d399õ   PLHÄ�u   Phá»¥ lá»¥c há»£p Ä‘á»“ngu!   Phá»¥ lá»¥c há»£p Ä‘á»“ng (PLHÄ�)z#10b981ÚBGu   BÃ¡o giÃ¡ / Ä�Æ¡n chÃ o giÃ¡u   BÃ¡o giÃ¡ / ChÃ o giÃ¡ (BG)z#4ade80ÚHSMTu   Há»“ sÆ¡ má»�i tháº§u / E-HSMTu   Há»“ sÆ¡ má»�i tháº§u (HSMT)z#a3e635ÚHSDTu(   Há»“ sÆ¡ dá»± tháº§u / Ä�Æ¡n dá»± tháº§uu   Há»“ sÆ¡ dá»± tháº§u (HSDT)z#facc15ÚTMu#   Thuyáº¿t minh & Dá»± toÃ¡n sÆ¡ bá»™u   Thuyáº¿t minh & Dá»± toÃ¡n (TM)z#f59e0bÚBVu0   Báº£n váº½ ká»¹ thuáº­t / Thiáº¿t káº¿ thi cÃ´ngu   Báº£n váº½ ká»¹ thuáº­t (BV)z#fb923cÚBPTCu"   Biá»‡n phÃ¡p tá»• chá»©c thi cÃ´ngu   Biá»‡n phÃ¡p thi cÃ´ng (BPTC)z#f97316ÚCDKTu(   Chá»‰ dáº«n ká»¹ thuáº­t / TiÃªu chuáº©nu    Chá»‰ dáº«n ká»¹ thuáº­t (CÄ�KT)z#ea580cÚBBu(   BiÃªn báº£n hiá»‡n trÆ°á»�ng / BÃ n giaou!   BiÃªn báº£n hiá»‡n trÆ°á»�ng (BB)z#94a3b8ÚBBNTu   BiÃªn báº£n nghiá»‡m thu QA/QCu   BiÃªn báº£n nghiá»‡m thu (BBNT)ÚNKu!   Nháº­t kÃ½ thi cÃ´ng cÃ´ng trÃ¬nhu   Nháº­t kÃ½ thi cÃ´ng (NK)ÚTNu2   Phiáº¿u káº¿t quáº£ thÃ­ nghiá»‡m / Kiá»ƒm Ä‘á»‹nhu   Phiáº¿u thÃ­ nghiá»‡m (TN)z#a855f7ÚKCSu,   BiÃªn báº£n kiá»ƒm tra váº­t tÆ° nháº­p bÃ£iu   Kiá»ƒm tra váº­t tÆ° (KCS)z#ec4899ÚUNCu)   á»¦y nhiá»‡m chi / Lá»‡nh chuyá»ƒn tiá»�nu   á»¦y nhiá»‡m chi (UNC)ÚSKu    Sao kÃª tÃ i khoáº£n ngÃ¢n hÃ ngu   Sao kÃª ngÃ¢n hÃ ng (SK)z#14b8a6ÚGBNu"   Giáº¥y bÃ¡o Ná»£ / Giáº¥y bÃ¡o CÃ³u   Giáº¥y bÃ¡o Ná»£ / CÃ³ (GBN)z#06b6d4ÚHDDTu   HÃ³a Ä‘Æ¡n Ä‘iá»‡n tá»­ GTGTu   HÃ³a Ä‘Æ¡n GTGT (HÄ�Ä�T)z#3b82f6ÚIPCu&   Chá»©ng chá»‰ thanh toÃ¡n Ä‘á»£t (IPC)u   Thanh toÃ¡n Ä‘á»£t (IPC)z#6366f1ÚQTu0   Há»“ sÆ¡ quyáº¿t toÃ¡n / Thanh lÃ½ há»£p Ä‘á»“ngu   Quyáº¿t toÃ¡n & Thanh lÃ½ (QT)z#8b5cf6ÚKHACu%   Loáº¡i vÄƒn báº£n khÃ¡c (TÃ¹y biáº¿n)u   âœ¨ KhÃ¡c (Tá»± nháº­p mÃ£)z#64748bzlist[dict[str, Any]]ÚDOCUMENT_TYPESc                óD   — i | ]}|d                                ¦   «         |“ŒS ©r   )Úupper)Ú.0Úitems     ú?C:\Projects\DSCons\app\modules\core\domain\document_taxonomy.pyú
<dictcomp>r;     s7   € ð 0ð 0ð 0Ø#'€Dˆ„L×ÒÑÔ˜$ð0ð 0ð 0ó    údict[str, dict[str, Any]]ÚDOCUMENT_TYPE_MAPr   ÚstrÚreturnúdict[str, Any] | Nonec                ó†   — | sdS t                                |                      ¦   «                              ¦   «         ¦  «        S )z=Retrieve document type definition by code (case-insensitive).N)r>   Úgetr7   Ústripr6   s    r:   Úget_document_typerE     s7   € àð ØˆtÝ× Ò  §¢¡¤×!3Ò!3Ñ!5Ô!5Ñ6Ô6Ð6r<   c                óÀ   — t          | ¦  «        }|r|d         S |                      ¦   «                              ¦   «         }|dv rdS |dv rdS |dv rdS |dv rd	S |d
v rdS dS )z3Resolve document group key from document type code.r   )r   ÚQDr   r   ÚTTRr   u   THÆ¯r   r   )ÚHDr   ÚPLHDr    r!   r"   r#   r
   )r$   r%   r&   r'   u   CÄ�KTÚDTr   )r(   r)   r*   r+   r,   r   )r-   r.   r/   r0   u   HÄ�Ä�Tr1   r2   r   r   )rE   r7   rD   )r   ÚtÚcs      r:   Úget_group_for_typerN   #  s”   € å˜$ÑÔ€AØð Ø�ŒzÐà�
Š
‰Œ×ÒÑÔ€AØÐBÐBÐBØˆwØÐ@Ð@Ð@ØˆzØÐ7Ð7Ð7Øˆ{ØÐ-Ð-Ð-ØˆvØÐ?Ð?Ð?Øˆ{Øˆ7r<   c                 ó  — i } t                                ¦   «         D ]\  }}i |¥dg i¥| |<   Œt          D ]Q}|d         }|| v r"| |         d                              |¦  «         Œ0| d         d                              |¦  «         ŒR| S )z;Returns the full taxonomy grouped by Mega-Group with items.Úitemsr   r   )r   rP   r4   Úappend)ÚgroupedÚg_keyÚg_infor9   Úgs        r:   Úget_taxonomy_groupedrV   7  s³   € à)+€GÝ(×.Ò.Ñ0Ô0ð 
ð 
‰ˆˆvð
Øð
à�Rð
ð 
ˆ�‰ˆõ
 ð 3ð 3ˆØ�ŒMˆØ�ˆ<ˆ<Ø�AŒJ�wÔ×&Ò& tÑ,Ô,Ð,Ð,à�GÔ˜WÔ%×,Ò,¨TÑ2Ô2Ð2Ð2à€Nr<   N)r   r?   r@   rA   )r   r?   r@   r?   )r@   r=   )Ú__doc__Ú
__future__r   Útypingr   r   Ú__annotations__r4   r>   rE   rN   rV   © r<   r:   ú<module>r\      s°  ððð ð ð #Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ð Ð ð
 Ø*ØØcð	ð ð Ø/ØØnð	ð ð Ø+ØØsð	ð ð Ø*ØØsð	ð ð Ø+ØØkð	ð ð Ø%ØØpð	ð ð?%.ð %.€ð %ð %ð %ñ %ðV ØØØ'Ø Ø#ðð ð Ø!ØØ-Ø Ø'ðð ð ØØØ(Ø Ø'ðð ð ØØØ)Ø Ø'ðð ð Ø(ØØ5Ø Ø#ðð ð Ø=ØØBØ Ø'ðð ð Ø7ØØ+Ø Ø#ðð ð Ø+ØØ9Ø Ø#ðð ð Ø.ØØ3Ø Ø#ðð ð Ø0ØØ4Ø Ø'ðð ð Ø:ØØ3Ø Ø'ðð ð Ø5ØØ7Ø Ø#ðð ð ØBØØ4Ø Ø#ðð ð Ø4ØØ5Ø Ø#ðð ð Ø:ØØ8Ø Ø'ðð ð Ø:ØØ9Ø Ø#ðð ð Ø0ØØ7Ø Ø#ðð ð Ø3ØØ1Ø Ø'ðð ð ØDØØ2Ø Ø'ðð ð Ø>ØØ2Ø Ø#ðð ð Ø;ØØ.Ø Ø#ðð ð Ø2ØØ0Ø Ø'ðð ð Ø4ØØ4Ø Ø'ðð ð Ø.ØØ0Ø Ø#ðð ð Ø8ØØ0Ø Ø#ðð ð ØBØØ6Ø Ø#ðð ð Ø7ØØ3Ø Ø#ðð ðo_(€ð _ð _ð _ñ _ðD0ð 0Ø+9ð0ñ 0ô 0Ð ð ð ð ñ ð
7ð 7ð 7ð 7ðð ð ð ð(ð ð ð ð ð r<   