§
    ¾*gô  ã                   ó   — d „ Z d„ Zd„ ZdS )c           	      ól  ‡‡	‡
‡— ddl }|j        j        }ddlm} |j        j        }|sdS | D ]†\  Š	}}|d         Š|d         Š
|                     dd¦  «        Št          t          ˆˆ	ˆ
ˆfd„|j
        D ¦   «         ¦  «        d¦  «        }|€ |j
        j        ‰	fi |¤Ž} |||d	         ‰¬
¦  «         Œ‡dS )z�
    Register a set of keymaps for addons using a list of keymaps.

    See 'blender_defaults.py' for examples of the format this takes.
    é    N)Úkeymap_init_from_dataÚ
space_typeÚregion_typeÚmodalFc              3   ót   •K  — | ]2}|j         ‰k    r%|j        ‰k    r|j        ‰k    r|j        ‰k    ¯.|V — Œ3d S ©N©Únamer   r   Úis_modal©Ú.0ÚkÚkm_modalÚkm_nameÚkm_region_typeÚkm_space_types     €€€€ú`/home/blender/git/blender-v430/install_release/4.3/scripts/modules/bpy_extras/keyconfig_utils.pyú	<genexpr>z(addon_keymap_register.<locals>.<genexpr>   se   øè è € ð 
ð 
ØØŒv˜Ò Ð ØŒM˜^Ò+Ð+ØŒL˜MÒ)Ð)ØŒJ˜(Ò"Ð"ð	 ð #Ð"Ð"Ð"ð
ð 
ó    Úitems)r   )ÚbpyÚcontextÚwindow_managerÚbl_keymap_utils.ior   Ú
keyconfigsÚaddonÚgetÚnextÚiterÚkeymapsÚnew)Úkeymap_datar   Úwmr   ÚkconfÚkm_argsÚ
km_contentÚkmapr   r   r   r   s           @@@@r   Úaddon_keymap_registerr)   	   s)  øøøø€ ð €J€J€JØ	ŒÔ	#€Bà8Ð8Ð8Ð8Ð8Ð8àŒMÔ€EØð ØˆØ(3ð Lð LÑ$ˆ�˜*Ø Ô-ˆØ  Ô/ˆØ—;’;˜w¨Ñ.Ô.ˆÝ•Dð 
ð 
ð 
ð 
ð 
ð 
ð 
Ø”}ð
ñ 
ô 
ñ 
ô 
ð ñô ˆð ˆ<Ø$�5”=Ô$ WÐ8Ð8°Ð8Ð8ˆDØÐ˜d J¨wÔ$7À(ÐKÑKÔKÐKÐKðLð Lr   c                 ón  ‡‡‡‡— ddl }|j        j        }|j        }|j        |j        fD ]Š}| D ]…\  Š}}|d         Š|d         Š|                     dd¦  «        Šˆˆˆˆfd„|j        D ¦   «         }|D ]@}|d         D ]5\  }	}
}
|j        D ]'}|j	        |	k    r|j         
                    |¦  «         Œ(Œ6ŒAŒ†Œ‹dS )	z1
    Unregister a set of keymaps for addons.
    r   Nr   r   r   Fc              3   ót   •K  — | ]2}|j         ‰k    r%|j        ‰k    r|j        ‰k    r|j        ‰k    ¯.|V — Œ3d S r	   r
   r   s     €€€€r   r   z*addon_keymap_unregister.<locals>.<genexpr>6   se   øè è € ð ð ØØ”6˜WÒ$Ð$Ø” Ò/Ð/Ø” Ò-Ð-Ø”
˜hÒ&Ð&ð	 ð 'Ð&Ð&Ð&ðð r   r   )r   r   r   r   Úuserr   r   r!   Úkeymap_itemsÚidnameÚremove)r#   r   r$   Úkconfsr%   r&   r'   Úkmapsr(   Ú
kmi_idnameÚ_Úkmir   r   r   r   s               @@@@r   Úaddon_keymap_unregisterr5   '   s1  øøøø€ ð €J€J€JØ	ŒÔ	#€BàŒ]€FØ”+˜vœ|Ð,ð :ð :ˆØ,7ð 	:ð 	:Ñ(ˆG�W˜jØ# LÔ1ˆMØ$ ]Ô3ˆNØ—{’{ 7¨EÑ2Ô2ˆHðð ð ð ð ð ð Ø œ=ðñ ô ˆEð ð :ð :�Ø(2°7Ô(;ð :ð :Ñ$�J  1Ø#Ô0ð :ð :˜Øœ:¨Ò3Ð3Ø Ô-×4Ò4°SÑ9Ô9Ð9øð:ð:ð:ð	:ð:ð :r   c                 óŠ   ‡‡‡— ddl mŠ ˆfd„Šdˆˆfd„	Šddlm} d}|                     ¦   «         D ]} ‰| |¦  «        rd}Œ|S )	Nr   )Úkmi_args_as_datac                 ód   •— |r| j         }n| j        }d                     | ‰| ¦  «        ¦  «        S )Nz
{:s}({:s}))Ú	propvaluer.   Úformat)r4   r   Úkmi_idr7   s      €r   Ú_kmistrzkeyconfig_test.<locals>._kmistrK   s=   ø€ Øð 	 Ø”]ˆFˆFà”ZˆFØ×"Ò" 6Ð+;Ð+;¸CÑ+@Ô+@ÑAÔAÐAr   c                 óB  •— d}|\  }}}}| j                              |||¬¦  «        }	|	�rô|	                     ¦   «         }	|	j        }
|rÇ|	j        D ]¨}|                     |¦  «        r‘t          d¦  «         t          |j        d¦  «         t           ‰||
¦  «                             ¦   «         ¦  «         t          |	j        d¦  «         t           ‰||
¦  «                             ¦   «         ¦  «         d}Œ©|D ]} ‰| |||¦  «        rd}Œ�nt          |	j        ¦  «        D ]è\  }}|D ]} ‰| |||	¦  «        rd}Œt          t          |	j        ¦  «        |z
  dz
  ¦  «        D ]¦}|	j        ||z   dz            }|                     |¦  «        r|t          d¦  «         t          |	j        d¦  «         t           ‰||
¦  «                             ¦   «         ¦  «         t           ‰||
¦  «                             ¦   «         ¦  «         d}Œ§Œé|D ]} ‰| |¦  «        rd}Œ|S )	NF)r   r   z===========z[parent]z[child]Té   z[self confict])r!   ÚfindÚactiver   r-   ÚcompareÚprintr   ÚstripÚ	enumerateÚrangeÚlen)ÚkcÚentryÚsrcÚparentÚresultr.   ÚspaceidÚregionidÚchildrenÚkmr   ÚitemÚchildÚiÚjr<   Ú	testEntrys                  €€r   rT   z!keyconfig_test.<locals>.testEntryR   su  ø€ Øˆà.3Ñ+ˆ�˜ 8àŒZ�_Š_˜V°ÀXˆ_ÑNÔNˆàñ "	&Ø—’‘”ˆBØ”{ˆHàð &ØœOð &ð &�DØ—{’{ 4Ñ(Ô(ð &Ý˜mÑ,Ô,Ð,Ý˜fœk¨:Ñ6Ô6Ð6Ý˜g˜g c¨8Ñ4Ô4×:Ò:Ñ<Ô<Ñ=Ô=Ð=Ý˜bœg yÑ1Ô1Ð1Ý˜g˜g d¨HÑ5Ô5×;Ò;Ñ=Ô=Ñ>Ô>Ð>Ø!%˜øà%ð &ð &�EØ �y  U¨C°Ñ8Ô8ð &Ø!%˜øñ&õ (¨¬Ñ8Ô8ð *ð *‘F�A�sØ!)ð *ð *˜Ø$˜9 R¨°°RÑ8Ô8ð *Ø%)˜Føå"¥3 r¤Ñ#7Ô#7¸!Ñ#;¸aÑ#?Ñ@Ô@ð *ð *˜Ø!œ¨q°1©u°q©yÔ9˜ØŸ;š; tÑ,Ô,ð *Ý! -Ñ0Ô0Ð0Ý! "¤'Ð+;Ñ<Ô<Ð<Ý! ' '¨#¨xÑ"8Ô"8×">Ò">Ñ"@Ô"@ÑAÔAÐAÝ! ' '¨$°Ñ"9Ô"9×"?Ò"?Ñ"AÔ"AÑBÔBÐBØ%)˜Føð*ð &ð &ð &�EØ �y  UÑ+Ô+ð &Ø!%˜øàˆr   )Úkeymap_hierarchyFT)NN)r   r7   Úbl_keymap_utilsrU   Úgenerate)rG   rU   rK   rH   r<   r7   rT   s       @@@r   Úkeyconfig_testrX   H   s¬   øøø€ Ø3Ð3Ð3Ð3Ð3Ð3ðBð Bð Bð Bð Bð+ð +ð +ð +ð +ð +ð +ð` 1Ð0Ð0Ð0Ð0Ð0Ø€FØ!×*Ò*Ñ,Ô,ð ð ˆØˆ9�R˜ÑÔð 	ØˆFøØ€Mr   N)r)   r5   rX   © r   r   ú<module>rZ      s@   ððLð Lð Lð<:ð :ð :ðB?ð ?ð ?ð ?ð ?r   