OwlCyberSecurity - MANAGER
Edit File: editor.cpython-36.opt-2.pyc
3 ��2a������������������@���s���d�dl�Zd�dlZd�dlZd�dlZd�dlZd�dlZd�dlZd�dlZd�dl T�d�dl mZ�d�dlj Zd�dljZd�dlmZ�d�dlmZ�d�dlmZ�d�dlmZ�d�dlmZ�d�d lmZ�d�d lmZ�d�dlmZ�d�dlmZ�d�d lmZ�d�dlmZ�d�dlm Z �dZ!dej"���Z#e$jdkZ%dd��Z&G�dd��de'�Z(dd��Z)dd��Z*G�dd��de'�Z+dd��Z,dd d!d"�Z-d#d$��Z.d%d&��Z/d'd(��Z0e1d)k�r�d�d*l2m3Z3�e3d+d,d-d.��d�d/l4m5Z5�e5e0��dS�)0�����N)�*)� Scrollbar)�idleConf)�configdialog)�grep)�help)� help_about)�macosx)�MultiCallCreator)�pyparse)�query)�replace)�search)�window����z (%s)�darwinc��������������C���sb���t�j\}�}}}}d|�|f�}|d|f�7�}|dkrB|d|f�7�}n|dkr^|d|d�|f�7�}|S�)Nz%s%sz%s� candidatezrc%s�finalr���)�sys�version_info)�major�minor�micro�level�serial�release��r����+/opt/alt/python36/lib64/python3.6/editor.py�_sphinx_version!���s����r���c���������������@���s���e�Zd�ZddlmZ�ddlmZmZ�ddlm Z �ddl mZmZ�ddl mZ�ddlmZ�ddlmZ�dd lmZ�dd lmZ�ddlmZ�ddlmZ�dd lmZ�ddlmZ�ddlm Z �ddl!m"Z"�e#j$��Z%dZ&d�dd�Z'dd��Z(dd��Z)dd��Z*dd��Z+d�dd�Z,d�d�d�d�d�d�d�gZ-d,d-��Z.d.d/��Z/d0d1��Z0d2d3��Z1dZ2d4d5��Z3d�gZ4d8d9��Z5d:d;��Z6d<d=��Z7d>d?��Z8d�d@dA�Z9�d�dBdC�Z:�ddDdE�Z;�ddFdG�Z<dHdI��Z=dJdK��Z>dLdM��Z?�ddNdO�Z@�ddPdQ�ZAdRdS��ZBdTdU��ZCdVdW��ZDdXdY��ZEdZd[��ZFd\d]��ZGd^d_��ZHd`da��ZIdbdc��ZJddde��ZKdfdg��ZL�ddhdi�ZM�ddjdk�ZN�ddldm�ZOdndo��ZPdpdq��ZQdrds��ZRdtdu��ZSdvdw��ZTdxdy��ZUdzd{��ZVd|d}��ZWeXjYeXjZ�d~�Z[dd���Z\d�d���Z]d�d���Z^d�d���Z_d�d���Z`d�d���Zad�d���Zb�dd�d��Zcd�d���Zdd�d���Zed�d���Zfd�d���Zgd�d���Zhd�d���Zid�d���Zjd�d���Zk�d d�d��Zld�d���Zm�d d�d��Znd�d���Zod�d���Zpd�d���Zqd�d���Zrd�d���Zsd�d���Ztd�d���Zud�d���Zvd�d���Zwd�d�iZxd�d���Zy�dd�d��Zz�dd�d��Z{d�d���Z|�d d�dÄZ}�dd�dńZ~d�dDŽ�Zd�dɄ�Z�d�d˄�Z�d�d̈́�Z��dd�dЄZ�d�d҄�Z�d�dԄ�Z�d�dք�Z�d�d�Z�d�dڄ�Z�d�d܄�Z�d�dބ�Z�d�d��Z�d�d��Z�d�d��Z�d�d��Z�d�d��Z�d�d��Z�d�d��Z�d�d��Z�d�d��Z�d�d��Z�d�d��Z�dS�(���EditorWindowr���)� Percolator)�ColorDelegator�color_config)� UndoDelegator)� IOBinding�encoding)�mainmenu)�MultiStatusBar)�AutoComplete)� AutoExpand)�Calltip)�CodeContext)�FormatParagraph)� ParenMatch)�Rstrip)�Squeezer)� ZoomHeightNc�������������C���sn��ddl�m}�tjd�k�rtjjtjdd�}tj j d�rvddtjd�d����}tjjd �r^d }q�d}tjj||dd�}nVtj d�d��dkr�tjjtjdd t ����} tjj| �r�| }ntj dkr�tjjtjd�}tjj|�}tjj|��r|t_tj dk�rdtj�t_ndtjd�d���t_||�_|�p*|j}||�_t|�|�_tj||�jd��|�_} |�rl|j|�_|j|�j_ni�|�_i�|�j_tjjtjd�|�_d|�_t| ��|�_ }t!|dd��|�_"}tj#ddddd�|�_$dddd|�j$d tj#ddd!dd�d"�} t%t&�|f| ��|�_'}|�j'|�j_(|�j)���|�j*���|�jj+d#|�j,��|�jj-d$|�j.��t/j0���rp|j-d$|�j.��|j-d%|�j1��|j-d&|�j1��n|j-d'|�j1��|j-d(|�j2��|j-d)|�j2��|j-d*|�j2��|j-d+|�j3��|j-d,|�j4��|j-d-|�j5��|j-d.|�j6��|j-d/|�j7��|j-d0|�j8��|j-d1|�j9��|j-d2|�j:��|j-d3|�j;��|j-d4d5d6����|j-d7|�j<��|j-d8|�j=��|j-d9|�j>��|j-d:|�j?��|j-d;|�j@��|j-d<|�jA��|j-d=|�jB��|j-d>|�jC��|j-d?|�jD��|j-d@|�jE��|j-dA|�jF��|j-dB|�jG��|j-dC|�jH��|j-dD|�jI��|j-dE|�jJ��|j-dF|�jK��|j-dG|�jL��|j-dH|�jM��|j-dI|�jN��|j-dJ|�jOd���|j-dK|�jOdL���|j-dM|�jP��|j-dN|�jQ��|j-dO|�jR��|�r�||j|�<�|�r�|�|jS|<�|j-dP|�jT��|j-dQ|�jjU��|j-dR|�jV��|j-dS|�jW��|j-dT|�jX��|�jY���|�jZ|dU<�|j[t\t]dV��|j^|dW<�tj_|�jdd�|dX<�|j[t`tadLdY��|j[tbtadLdY��|jc���tj#ddZd[d\d�}|�|�_dd]|�_e|�je|�_f|�jg���d^|�_hd}|�_i|�jj|��|�_k}|�jl���|�_m}|jn|��|jo|_o|jp|_p|jq|�jr��|�js|���|�_t}|ju|�jv��d^|�_w|�jxd^��d�|�_y|�rjtjjz|��rZtjj|���rZ|j{|��rjdb|�_w|�j||�}|�jx|��n|j}|��db|�_w|�j~���|�jr���|�j���|�j����|�j�j�dc�}|�r�|j�dd�}|d�k�r�d~}|dk�r�|j����|dL�}||�_�tj�|�j���t�j�|�_�t�j�|�_�t�j�|�_�|j�dedf��|j�dgdhdidj��|j�dkdl��|j�dmdn��|j�dodndpdq��|�j�|��}|j-de|j���|j-dg|j���|j-dr|j���|j-ds|�j�|��j���|j-dt|�j�|��j���|�j�|��}|j-du|j���|j-do|j���||��}|j-dv|j���|j-dw|j���|j-dx|�j�|��j���|�j�|��}|j-dk|j���|j-dm|j���|j-dy|j���|j-dz|�j�|��j���|j-d{|�j�|��j���|�j�|��}|j-d||j���d�S�)Nr���)� ScriptBindingZDocz index.html�linuxzpython-docs-z%s.%s.%s����z/var/www/html/python/z/var/www/html/python/index.htmlz/usr/share/doc/�winzPython%s.chmr���z0Resources/English.lproj/Documentation/index.htmlzfile://zhttps://docs.python.org/%d.%d/����)�menuzrecent-files.lst���vbar)�name�mainr����width�int)�type�text����ZnoneZ wordprocessor�height)r9���Zpadx�wrapZhighlightthicknessr;���Ztabstyler@���ZWM_DELETE_WINDOWz<<close-window>>z<Control-Button-1>z<2>z<3>z<MouseWheel>z <Button-4>z <Button-5>z<<cut>>z<<copy>>z <<paste>>z<<center-insert>>z<<help>>z<<python-docs>>z<<about-idle>>z<<open-config-dialog>>z<<open-module>>z<<do-nothing>>c�������������S���s���dS�)N�breakr���)�eventr���r���r����<lambda>����s����z'EditorWindow.__init__.<locals>.<lambda>z<<select-all>>z<<remove-selection>>z<<find>>z<<find-again>>z<<find-in-files>>z<<find-selection>>z<<replace>>z <<goto-line>>z<<smart-backspace>>z<<newline-and-indent>>z<<smart-indent>>z<<indent-region>>z<<dedent-region>>z<<comment-region>>z<<uncomment-region>>z<<tabify-region>>z<<untabify-region>>z<<toggle-tabs>>z<<change-indentwidth>>z<Left>z<Right>����z<<del-word-left>>z<<del-word-right>>z<<beginning-of-line>>z<<open-new-window>>z<<close-all-windows>>z<<open-class-browser>>z<<open-path-browser>>z<<open-turtle-demo>>�command)�side�fillZyscrollcommand�font)rG���rH����expand�Indentz use-spaces�boolr���F�2��������@KL�Tr����endz<<autocomplete>>z <Key-Tab>z<<try-open-completions>>z<KeyRelease-period>z<KeyRelease-slash>z<KeyRelease-backslash>z<<try-open-calltip>>z<KeyRelease-parenleft>z<<refresh-calltip>>z<KeyRelease-parenright>z<<paren-closed>>z<KeyRelease-bracketright>z<KeyRelease-braceright>z<<force-open-completions>>z<<expand-word>>z<<format-paragraph>>z<<flash-paren>>z<<check-module>>z<<run-module>>z <<do-rstrip>>z<<force-open-calltip>>z<<zoom-height>>z<<toggle-code-context>>z<<squeeze-current-text>>)rM���rN���rO������)�Zidlelib.runscriptr1���r����help_url�os�path�joinr����base_prefix�platform�countr����isdirr����isfile�normpath�flist�root�Menu�menubarr���ZListedToplevel�top�vars�tkinter_varsZinversedict� instance_dictr���Zuserdir�recent_files_path�prompt_last_line�Frame� text_framer���r8���� GetOptionr;���r ���ZTextr>���Zfocused_widget� createmenubar�apply_bindingsZprotocol�close�bind�close_eventr ���ZisAquaTk�right_menu_event�mousescroll�cut�copy�paste�center_insert_event�help_dialog�python_docs�about_dialog� config_dialog�open_module_event� select_all�remove_selection� find_event�find_again_event�find_in_files_event�find_selection_event� replace_event�goto_line_event�smart_backspace_event�newline_and_indent_event�smart_indent_event�indent_region_event�dedent_region_event�comment_region_event�uncomment_region_event�tabify_region_event�untabify_region_event�toggle_tabs_event�change_indentwidth_event�move_at_edge_if_selection� del_word_left�del_word_right� home_callback�dict�new_callbackZclose_all_callback�open_module_browser�open_path_browser�open_turtle_demo�set_status_bar�handle_yview�pack�RIGHT�Y�set�GetFontZLEFTZBOTHZTOPZ focus_set�usetabs�tabwidth�indentwidth�set_notabs_indentwidth�context_use_ps1�num_context_linesr ����perr#����undo�insertfilter�undo_block_start�undo_block_stopZset_saved_change_hook�saved_change_hookr$����ioZset_filename_change_hook�filename_change_hookZ good_load�set_indentation_params�color�exists�loadfile�ispythonsourceZset_filename�ResetColorizer�update_recent_files_list�load_extensions�menudict�get�index� add_separator� wmenu_endZregister_callback�postwindowsmenu�tkMessageBox�askyesno�tkSimpleDialog� askinteger� showerror� event_addr(���Zautocomplete_eventZtry_open_completions_eventZforce_open_completions_eventr)���Zexpand_word_eventr,���Zformat_paragraph_eventr-���Zflash_paren_eventZparen_closed_eventZcheck_module_eventZrun_module_eventr.���Z do_rstripr*���Ztry_open_calltip_eventZrefresh_calltip_eventZforce_open_calltip_eventr0���Zzoom_height_eventr+���Ztoggle_code_context_eventr/���Zsqueeze_current_text_event)�selfr\����filename�keyr]���r1���ZdochomeZpyverZbasepathZchmfiler`���rg���r8���Ztext_optionsr>���Z usespacesr����r����r����� is_py_srcr6���rP���ZautocompleteZ parenmatchZ scriptbindingZctipZsqueezerr���r���r����__init__A���s���� zEditorWindow.__init__c�������������C���sn���t�|t�r`y|j|�j�}W�nD�tk r^���y|j|�j�}W�n�tk rX���|jd�}Y�nX�Y�nX�tjdd|�S�)Nz iso8859-1u���[𐀀-]u����)� isinstance�bytes�decode�filesystemencoding�UnicodeDecodeErrorr%����re�sub)r����r����r���r���r����_filename_to_unicodeD��s���� z!EditorWindow._filename_to_unicodec�������������C���s���|�j�j��\}}|�jj|��dS�)NrB���)r����Zdefaultfilenamer\����new)r����rC����dirname�basenamer���r���r���r����S��s����zEditorWindow.new_callbackc�������������C���s���|j�d@�dkr|jdkrd�S�|�jjd�rd|�jjddd�rd|�jjddd�rdt|�jjd�jd�d ��}n:|�jjdd�}x*tt |��D�]}||�dkr�P�q�W�t |�}t|�jjd�jd�d ��}||kr�d}d t |��d�}|j�d @�dkr�|�jjddd��n�|�jjd��s|�jjdd��n@|�jj|�jjd�d|�jjd���rD|�jjdd��n|�jjdd��|�jj|�}|�jjd�}|�jj|d|��r�||�}}|�jjddd��|�jj d||��|�jjd|��|�jjd��dS�)N����r���ZHomeZiomarkz<=zinsert lineendzinsert linestart�.rE���� � �insertzinsert linestart+�c�selz1.0rP���z sel.firstZ my_anchor�<zsel.last�>rB���)r����r����)�stateZkeysymr>���r�����comparer<����splitr�����range�len�str� tag_remove�mark_set�tag_add�see)r����rC���Zinsertpt�lineZlineat�dest�first�lastr���r���r���r����X��s@���� zEditorWindow.home_callbackc�������������C���s����|�j�|�j�|�_t|�jdddd�}tjdkr<|�jjddtd��|�jjdd td��|�jjd dtd��|�jjt t d��|jt t d��|�jjd |�j ��|�jjd dd��|�jj|�j ��d�S�)NrE���Zgrey75)r@���ZborderwidthZ backgroundr���Z _padding1z )rG����columnzCol: ?r����zLn: ?)rG���rH���z<<set-line-and-column>>z<KeyRelease>z<ButtonRelease>)r'���r`���� status_barrf���r���rW���� set_labelr����r����ZBOTTOM�Xr>���rl����set_line_and_columnr����Z after_idle)r�����sepr���r���r���r�������s���� zEditorWindow.set_status_barc�������������C���s>���|�j�jt�jd�\}}|�jjdd|���|�jjdd|���d�S�)Nr����r����zCol: %sr����zLn: %s)r>���r����ZINSERTr����r����r����)r����rC���r����r����r���r���r���r�������s����z EditorWindow.set_line_and_column�file�_File�edit�_Edit�format�F_ormat�run�_Run�options�_Optionsr����_Windowr����_Helpc�������������C���s����|�j�}i��|�_}xD|�jD�]:\}}t|�\}}t||dd��||<�}|j|||d��qW�tj��r�t|ddd��|d<�}|jd|d��|�j���t|�j�dd�|�_ |�jd �j d dd|�j d��|�jd �jt�|�_ |�j���d�S�)Nr���)r9����tearoff)�labelr6���� underlineZappleZapplicationZIDLE)r����r6���)r����r����r3���zRecent Files)r����r����r6���r���)r_���r����� menu_specs�prepstrr^���Zadd_cascader ���Z isCarbonTk� fill_menus�recent_files_menuZinsert_cascader�����END�base_helpmenu_length�reset_help_menu_entries)r����Zmbarr����r9���r����r����r6���r���r���r���ri������s"���� zEditorWindow.createmenubarc�������������C���sJ���|�j�d�}|jd�}|d�kr d}||�jkr<|j|�jd�|��tj|��d�S�)Nr���rP���rE���rQ���)r����r����r�����deleter���Zadd_windows_to_menu)r����r6���rP���r���r���r���r�������s���� zEditorWindow.postwindowsmenuc�������������G���sR���|dkr<t�|d��}t|�jd�|��|�jd��}d}|df}|�jj|f|����dS�)NZmovetor���rP���z@0,0Zscroll�unitsrB���)�float�round� getlinenor>����yview)r����rC����argsZfraction�linesr���r���r���r�������s����zEditorWindow.handle_yviewc�������������C���s@���t�j|jdkt�j|jdki}||j�r*dnd}|�jj|d��dS�)Nr���r����r?���r��rB������)Z EventTypeZ MouseWheelZdeltaZButtonZnumr=���r>���Zyview_scroll)r����rC���Zupr��r���r���r���ro������s ����zEditorWindow.mousescrollc������� ��� ���C���s����|�j�jdd|j|jf���|�js(|�j���|�j}||�_tjd�d��dk}|rX|�j�j dd��xX|�j D�]N}y|\}}}W�n�tk r����w`Y�nX�|d�kr�q`t|�|���}|j ||d��q`W�|j|j|j��|r�|�j�j dd��d S�) Nr����z@%d,%dr3���r4���Zarrow)Zcursor)r����ZibeamrB���)r>���r�����x�y�rmenu� make_rmenurC���r���rW����config�rmenu_specs� ValueError�getattrZentryconfigureZtk_popupZx_rootZy_root) r����rC���r��Ziswin�itemr����� eventnameZverify_stater����r���r���r���rn������s*����zEditorWindow.right_menu_event�Close�<<close-window>>c�������������C���sj���t�|�jdd�}xP|�jD�]F}|d�|d��}}|d�k rT|�j|fdd�}|j||d��q|j���qW�||�_d�S�)Nr���)r����rE���c�������������S���s���|�j�|��d�S�)N)�event_generate)r>���r��r���r���r���rF�����s����z(EditorWindow.make_rmenu.<locals>.command)r����rF���)r^���r>���r���add_commandr����r��)r����r��r��r����r��rF���r���r���r���r �����s����zEditorWindow.make_rmenuc�������������C���s���|�j���S�)N)�rmenu_check_copy)r����r���r���r����rmenu_check_cut��s����zEditorWindow.rmenu_check_cutc�������������C���s6���y|�j�jd�}W�n�tk r$���dS�X�|r.dS�dS�d�S�)Nz sel.first�disabled�normal)r>���r�����TclError)r����Zindxr���r���r���r����s ����zEditorWindow.rmenu_check_copyc�������������C���s6���y|�j�jjd|�j�d��W�n�tk r,���dS�X�dS�d�S�)Nztk::GetSelectionZ CLIPBOARDr��r��)r>����tk�callr��)r����r���r���r����rmenu_check_paste��s ����zEditorWindow.rmenu_check_pastec�������������C���s���t�j|�j��dS�)NrB���)r���ZAboutDialogr`���)r����rC���r���r���r���rv�����s����zEditorWindow.about_dialogc�������������C���s���t�j|�jd��dS�)NZSettingsrB���)r���ZConfigDialogr`���)r����rC���r���r���r���rw���$��s����zEditorWindow.config_dialogc�������������C���s"���|�j�r|�j�}n|�j}tj|��dS�)NrB���)r]���r`���r���Z show_idlehelp)r����rC����parentr���r���r���rt���*��s ���� zEditorWindow.help_dialogc�������������C���sn���t�jd�d��dkr^ytj|�j��W�qj�tk rZ�}�ztjdt|�|�j d��W�Y�d�d�}~X�qjX�nt j|�j��dS�)Nr3���r4���zDocument Start Failure)�title�messager ��rB���)r���rW���rS���� startfilerR����OSErrorr����r����r����r>���� webbrowser�open)r����rC����whyr���r���r���ru���4��s����$zEditorWindow.python_docsc�������������C���s���|�j�jd��dS�)Nz<<Cut>>rB���)r>���r��)r����rC���r���r���r���rp���?��s����zEditorWindow.cutc�������������C���s ���|�j�jd�sd�S�|�j�jd��dS�)Nr����z<<Copy>>rB���)r>���Z tag_rangesr��)r����rC���r���r���r���rq���C��s����zEditorWindow.copyc�������������C���s���|�j�jd��|�j�jd��dS�)Nz <<Paste>>r����rB���)r>���r��r����)r����rC���r���r���r���rr���J��s����zEditorWindow.pastec�������������C���s.���|�j�jddd��|�j�jdd��|�j�jd��dS�)Nr����z1.0zend-1cr����rB���)r>���r����r����r����)r����rC���r���r���r���ry���O��s����zEditorWindow.select_allc�������������C���s ���|�j�jddd��|�j�jd��dS�)Nr����z1.0rP���r����rB���)r>���r����r����)r����rC���r���r���r���rz���U��s����zEditorWindow.remove_selectionc����������������s*���|�j�j�|�j�j�d������fdd�}|S�)N�sel.first+1c�sel.last-1cc����������������sB���|�j�d@�dkr>y�d���d������W�n�tk r<���Y�nX�d�S�)Nr?���r���z sel.firstr����)r����r��)rC���)� edge_index�edges_table�self_text_index�self_text_mark_setr���r����move_at_edgee��s����z<EditorWindow.move_at_edge_if_selection.<locals>.move_at_edge)r(��r)��)r>���r����r����)r����r*��r.��r���)r*��r+��r,��r-��r���r����Z��s ����z&EditorWindow.move_at_edge_if_selectionc�������������C���s���|�j�jd��dS�)Nz <Meta-Delete>rB���)r>���r��)r����rC���r���r���r���r����n��s����zEditorWindow.del_word_leftc�������������C���s���|�j�jd��dS�)Nz<Meta-d>rB���)r>���r��)r����rC���r���r���r���r����r��s����zEditorWindow.del_word_rightc�������������C���s���t�j|�j��dS�)NrB���)r����findr>���)r����rC���r���r���r���r{���v��s����zEditorWindow.find_eventc�������������C���s���t�j|�j��dS�)NrB���)r���Z find_againr>���)r����rC���r���r���r���r|���z��s����zEditorWindow.find_again_eventc�������������C���s���t�j|�j��dS�)NrB���)r���Zfind_selectionr>���)r����rC���r���r���r���r~���~��s����z!EditorWindow.find_selection_eventc�������������C���s���t�j�|�j|�j|�j��dS�)NrB���)r���r>���r����r\���)r����rC���r���r���r���r}������s����z EditorWindow.find_in_files_eventc�������������C���s���t�j�|�j��dS�)NrB���)r ���r>���)r����rC���r���r���r���r������s����zEditorWindow.replace_eventc�������������C���sT���|�j�}tjdd|d�}|d�kr"dS�|dkr6|j���dS�|jdd|���|jd��dS�)NZGotozGo to line number:)r ��rB���r���r����z%d.0)r>���r����r�����bellr����r����)r����rC���r>����linenor���r���r���r�������s���� zEditorWindow.goto_line_eventc���������� ���C���sp���y|�j�jdd�j��}W�n�tk r.���d}Y�nX�tj|�j�dd|�j}|d�k rl|�jr`|�jj|��n|�j j |��|S�)Nz sel.firstzsel.lastr7���zOpen ModulezAEnter the name of a Python module to search on sys.path and open:)r>���r�����stripr��r���Z ModuleName�resultr\���r&��r����r����)r����r9���Z file_pathr���r���r����open_module���s���� zEditorWindow.open_modulec�������������C���s���|�j����dS�)NrB���)r4��)r����rC���r���r���r���rx������s����zEditorWindow.open_module_eventc�������������C���sJ���|�j�j}|�jjdko|s,|�j��}|d�kr,dS�ddlm}�|j|�j|��dS�)NZPyShellEditorWindowrB���r���)�browser) r����r����� __class__�__name__r4���idlelibr5��Z ModuleBrowserr]���)r����rC���r����r5��r���r���r���r�������s����z EditorWindow.open_module_browserc�������������C���s���ddl�m}�|j|�j��dS�)Nr���)�pathbrowserrB���)r8��r9��ZPathBrowserr]���)r����rC���r9��r���r���r���r�������s����zEditorWindow.open_path_browserc�������������C���s&���dd�l�}tjddg}|j|dd��dS�)Nr���z-cz,from turtledemo.__main__ import main; main()F)�shellrB���)� subprocessr���� executable�Popen)r����rC���r;���cmdr���r���r���r�������s����zEditorWindow.open_turtle_democ�������������C���sN���|d�k rJ|dkrJ|�j�jdd|���|�j�jddd��|�j�jddd��|�j���d�S�)Nr���r����z%d.0r����z1.0rP���z insert +1l)r>���r����r����r�����center)r����r1��r���r���r����gotoline���s ����zEditorWindow.gotolinec�������������C���sb���|�st�jj|�rdS�t�jjt�jj|��\}}t�jj|�dkrBdS�|�jjdd�}|jd�o`d|kS�) NT�.py�.pywz1.0z1.0 lineendz#!�python)rA��rB��) rS���rT���rY����splitextr�����normcaser>���r����� startswith)r����r�����baseZextr����r���r���r���r�������s����zEditorWindow.ispythonsourcec�������������C���s���|�j�r|�j�j|���d�|�_�d�S�)N)r\���Zunregister_maybe_terminate)r����r���r���r���� close_hook���s����zEditorWindow.close_hookc�������������C���s ���||�_�d�S�)N)rH��)r����rH��r���r���r����set_close_hook���s����zEditorWindow.set_close_hookc�������������C���s2���|�j�r|�j�j|���|�j���|�jj|���|�j���d�S�)N)r\���Zfilename_changed_editr����r`���Zupdate_windowlist_registryr����)r����r���r���r���r�������s ����z!EditorWindow.filename_change_hookc�������������C���sV���|�j�r d�S�|�j|�jj�r"|�j��|�_�|�j�rR|�jj|�j��|�jj|�j���|�jj|�j��d�S�)N) r����r����r����r����r!���r�����removefilterr����r����)r����r���r���r���� _addcolorizer���s���� zEditorWindow._addcolorizerc�������������C���s,���|�j�s d�S�|�j�j���|�jj|�j���d�|�_�d�S�)N)r����Zremovecolorsr����rJ��)r����r���r���r����_rmcolorizer���s ���� zEditorWindow._rmcolorizerc�������������C���s ���|�j����|�j���tj|�j��d�S�)N)rL��rK��r���r"���r>���)r����r���r���r���r�������s����zEditorWindow.ResetColorizer�_c�������������C���sp���|j�d|��|j|�}|r6||�jkr6|j�d|d�|��d|j|�krR|jd|��n|jd|d���|j|��d�S�)NZERRORz wordstart� r����z+1c)r����r����� IDENTCHARSr����r����)r����r>����pos�charr���r���r����colorize_syntax_error��s���� z"EditorWindow.colorize_syntax_errorc�������������C���s���t�j|�jdd�|�jd<�d�S�)Nr:���r���rI���)r���r����r]���r>���)r����r���r���r���� ResetFont��s����zEditorWindow.ResetFontc�������������C���s����t�j���|�j_}x&|j��D�]\}}|�jj|f|����qW�xF|�j��D�]:}t�j|�}|rBx&|j��D�]\}}|�jj|f|����q^W�qBW�d�S�)N) r����GetCurrentKeySetr&����default_keydefs�itemsr>���Zevent_delete�get_standard_extension_names�GetExtensionBindings)r�����keydefsrC����keylist� extensionName�xkeydefsr���r���r����RemoveKeybindings��s���� zEditorWindow.RemoveKeybindingsc������� ������C���sV��t�j���|�j_}|�j���x(|�j��D�]}t�j|�}|r"|�j|��q"W�i�}xR|�jjD�]F}i�||d�<�x4|d�D�](}|rj|d�||d��t|d��d�<�qjW�qPW�x�|�j D�]�}|�j |�}|j t�}|d�kr�q�|d7�}x�td|�D�]r} |j | �dkr�|j| d�} | r�|j| d�}d}||k�r.|||�k�r.||�|�}|r�t||�} |j| | d��q�W�q�W�d�S�)Nr���rE���rF����acceleratorr����r7���)r^��)r���rT��r&���rU��rj���rW��rX���menudefsr����r����r����r����r����r=���Z entrycget�get_acceleratorZentryconfig) r����rY��r[��r\��Z menuEventDictr6���r��ZmenubarItemrP���r����ZaccelZitemNamerC���r���r���r����ApplyKeybindings#��s<���� ( zEditorWindow.ApplyKeybindingsc�������������C���s���|�j�stjddddd�|�_d�S�)Nr:���rK���z num-spacesr<���)r=���)r����r���rh���r����)r����r���r���r���r����G��s���� z#EditorWindow.set_notabs_indentwidthc�������������C���s����t�j��}|�jd�}|jt�}||�jkr8|j|�jd�|��|rr|j���x,|D�]$}|�j|d��}|j |d�|d��qJW�||�jd<�d�S�)Nr���rE���r���)r����rF���) r���ZGetAllExtraHelpSourcesListr����r����r����r����r��r�����"_EditorWindow__extra_help_callbackr��)r����Z help_listZhelpmenuZhelpmenu_length�entryr>��r���r���r���r���N��s���� z$EditorWindow.reset_help_menu_entriesc����������������s���|f��fdd� }|S�)Nc����������������s����|�j�d�stjj|��}�tjd�d��dkrrytj|���W�q|�tk rn�}�ztj dt |���jd��W�Y�d�d�}~X�q|X�n tj |���d�S�)N�www�httpr3���r4���zDocument Start Failure)r!��r"��r ��)rd��re��)rF��rS���rT���r[���r���rW���r#��r$��r����r����r����r>���r%��r&��)�helpfiler'��)r����r���r����display_extra_helpa��s���� $z>EditorWindow.__extra_help_callback.<locals>.display_extra_helpr���)r����rf��rg��r���)r����r���Z__extra_help_callback_��s����z"EditorWindow.__extra_help_callbackc����������������s���g�}t�jj|�j�r8t|�jdddd��}|j��}W�d�Q�R�X�|rjt�jj|�d�}||kr^|j|��|jd|��g���x4|D�],}d|ks�t�jj|dd����rt��j |��qtW���fd d �|D��}d}|dt |���}y,t|�jdddd��}|j|��W�d�Q�R�X�W�n\�tk �rR�}�z>t |�jd d��sBd|�j_tjdd|�jt|���|�jd��W�Y�d�d�}~X�nX�xt|�jjD�]h}|j} | jdt��xNt|�D�]B\} }|j��}|�j|�}|j|�} | j|| �d�|�| dd���q~W��q^W�d�S�)N�r�utf_8r ���)r%����errorsrN��r�����rE���c����������������s���g�|�]}|��kr|�qS�r���r���)�.0rT���)� bad_pathsr���r���� <listcomp>��s����z9EditorWindow.update_recent_files_list.<locals>.<listcomp>Z1234567890ABCDEFGHIJK�w�recentfilelist_error_displayedFTzIDLE Warningz|Cannot update File menu Recent Files list. Your operating system says: %s Select OK and IDLE will continue without updating.)r!��r"��r ��r����)r����rF���r����rQ���)rS���rT���r����rd���r&��� readlines�abspath�remover�����appendr����� writelinesr$��r��r]���rp��r�����showwarningr����r����r>���r`���rc���r����r��r����� enumerate�rstrip�#_EditorWindow__recent_file_callbackr��)r�����new_fileZrf_listZrf_list_filerT���ZulcharsZrf_file�err�instancer6����i� file_nameZ ufile_name�callbackr���)rm��r���r����n��sL���� z%EditorWindow.update_recent_files_listc����������������s���|f��fdd� }|S�)Nc����������������s�����j�j|�d��d�S�)N)ZeditFile)r����r&��)Z fn_closure)r����r���r����open_recent_file���s����z=EditorWindow.__recent_file_callback.<locals>.open_recent_filer���)r����r~��r���r���)r����r���Z__recent_file_callback���s����z#EditorWindow.__recent_file_callbackc�������������C���s����|�j���}|�j��}|r*|r*|d�|�t�}n|r4|}n|r>|}nd}|pL|pL|}|�j��sfd|�}d|�}|�jj|��|�jj|��d�S�)Nz - �Untitledz*%s*z*%s)�short_title� long_title�_py_version� get_savedr`���Zwm_titleZwm_iconname)r����ZshortZlongr!��Ziconr���r���r���r�������s����zEditorWindow.saved_change_hookc�������������C���s ���|�j�j��S�)N)r����r���)r����r���r���r���r������s����zEditorWindow.get_savedc�������������C���s���|�j�j|��d�S�)N)r����� set_saved)r�����flagr���r���r���r������s����zEditorWindow.set_savedc�������������C���s���|�j�j���d�S�)N)r����� reset_undo)r����r���r���r���r������s����zEditorWindow.reset_undoc�������������C���s(���|�j�j}|rtjj|�}nd}|�j|�S�)Nr���)r����r����rS���rT���r����r����)r����r����r���r���r���r������s ����zEditorWindow.short_titlec�������������C���s���|�j�|�jjpd�S�)Nr7���)r����r����r����)r����r���r���r���r������s����zEditorWindow.long_titlec�������������C���s���|�j����dS�)NrB���)r?��)r����rC���r���r���r���rs������s����z EditorWindow.center_insert_eventr����c�������������C���sH���|�j�}|�j��\}}|�j|�}||�}td||d���}|jt|���d�S�)NrE���r5���)r>����getwindowlinesr���maxr��r��)r�����markr>���r`����botr1��r@���Znewtopr���r���r���r?�����s���� zEditorWindow.centerc�������������C���sN���|�j�}|�jd�}|�jd�}||krF|j��dkrFt|d��}||�d�}||fS�)Nz@0,0z@0,65535rE���r@���)r>���r��Zwinfo_heightr<���)r����r>���r`���r���r@���r���r���r���r������s���� zEditorWindow.getwindowlinesc�������������C���s���|�j�}tt|j|���S�)N)r>���r<���r��r����)r����r���r>���r���r���r���r�����s����zEditorWindow.getlinenoc�������������C���s(���|�j�j��}tjd|�}ttt|j����S�)Nz(\d+)x(\d+)\+(-?\d+)\+(-?\d+))r`���Zwm_geometryr�����match�list�mapr<����groups)r����Zgeom�mr���r���r����get_geometry���s���� zEditorWindow.get_geometryc�������������C���s���|�j����dS�)NrB���)rk���)r����rC���r���r���r���rm������s����zEditorWindow.close_eventc�������������C���sH���|�j�rD|�j��s:|�jj��dkr&|�jj���|�jj���|�jj���|�j�j��S�d�S�)Nr��)r����r���r`���r����Z deiconify�lowerZlift� maybesave)r����r���r���r���r������s���� zEditorWindow.maybesavec�������������C���s ���|�j���}t|�dkr|�j���|S�)NZcancel)r���r�����_close)r����Zreplyr���r���r���rk������s����zEditorWindow.closec�������������C���s����|�j�jr|�j|�j�jd��tj|�j��|�j���|�j�j���d�|�_�d�|�_|�j rZ|�j jd��d�|�_ d�|�_ d�|�_|�jj���d�|�_|�j j���|�jr�|�j���d�S�)N)rz��F)r����r����r����r���Zunregister_callbackr�����unload_extensionsrk���r����r����r>���rb���r����r`���ZdestroyrH��)r����r���r���r���r������s"���� zEditorWindow._closec�������������C���s���i�|�_�|�j���d�S�)N)� extensions�load_standard_extensions)r����r���r���r���r������s����zEditorWindow.load_extensionsc�������������C���s4���x(t�|�jj���D�]}t|d�r|j���qW�i�|�_d�S�)Nrk���)r���r����values�hasattrrk���)r�����insr���r���r���r�����s���� zEditorWindow.unload_extensionsc�������������C���sH���xB|�j���D�]6}y|�j|��W�q ���tdt|���tj���Y�q X�q W�d�S�)NzFailed to load extension)rW���load_extension�print�repr� traceback� print_exc)r����r9���r���r���r���r�����s����z%EditorWindow.load_standard_extensionsc�������������C���s���t�jdd�S�)NT)Zeditor_only)r���Z GetExtensions)r����r���r���r���rW��"��s����z)EditorWindow.get_standard_extension_namesZZzDummyZzzdummyc������� ������C���sF��|�j�j||�}y>ytjd|�td�}W�n"�ttfk rH���tj|�}Y�nX�W�n �tk rl���td|����Y�nX�t||�}t j |�}t|d�r�|�j|j |��||��}||�j|<�|�rB|�j|��x�|D�]|}|jdd�}x |d�d��dkr�|dd���}q�W�x"|dd���d k�r|d�d��}q�W�|d �}t||�r�|�jj|t||���q�W�d�S�) Nr����)�packagez Failed to import extension: r_���-rM��rE���r����r����Z_eventrQ���rQ���)�extfilesr����� importlib� import_module�__package__�ImportError� TypeErrorr���r��r���rX��r���r����r_��r���rj���r ���r>���rl���) r����r9���Zfname�mod�clsrY��r���ZveventZ methodnamer���r���r���r���)��s4���� zEditorWindow.load_extensionc�������������C���sJ���|d�kr|�j�j}|�j}||_x(|j��D�]\}}|r&|j|f|����q&W�d�S�)N)r&���rU��r>���rY��rV��r����)r����rY��r>���rC���rZ��r���r���r���rj���E��s����zEditorWindow.apply_bindingsc���������� ���C���s����|d�kr|�j�j}|d�kr |�j�j}|�j}|�j}x�|D�]�\}}|j|�}|sJq2x�|D�]�}|sb|j���qP|\} } | d�d��dk}|r�| dd���} t| �\}} t|| �} || fdd�}|r�|�j | t �}|j| ||| |d��qP|j| ||| d��qPW�q2W�d�S�)NrE����!c�������������S���s���|�j�|��d�S�)N)r��)r>���r��r���r���r���rF���g��s����z(EditorWindow.fill_menus.<locals>.command)r����r����rF���r^���variable)r����r����rF���r^��) r&���r_��rU��r����r>���r����r����r����r`���get_var_objZ BooleanVarZadd_checkbuttonr��)r����r_��rY��r����r>���ZmnameZ entrylistr6���rc��r����r��Zcheckbuttonr����r^��rF����varr���r���r���r����N��s8���� zEditorWindow.fill_menusc�������������C���s&���|�j�|�}|r|j��}|S�t|��d�S�)N)r���r����� NameError)r����r9���r����valuer���r���r����getvars��s ���� zEditorWindow.getvarc�������������C���s(���|�j�||�}|r|j|��nt|��d�S�)N)r���r����r���)r����r9���r����vartyper���r���r���r����setvar{��s����zEditorWindow.setvarc�������������C���s.���|�j�j|�}|�r*|r*||�j��|�j�|<�}|S�)N)rb���r����r>���)r����r9���r���r���r���r���r���r������s���� zEditorWindow.get_var_objc�������������C���s,���|�j�r$|�jjd|�p"d|�jj|�kS�dS�d�S�)NZTODO�STRINGrE���)r����r>���� tag_prevrangeZ tag_names)r����Z text_indexr���r���r����is_char_in_string���s����zEditorWindow.is_char_in_stringc�������������C���s:���y |�j�jd�}|�j�jd�}||fS��tk r4���dS�X�d�S�)Nz sel.firstzsel.last)NN)r>���r����r��)r����r����r����r���r���r����get_selection_indices���s����z"EditorWindow.get_selection_indicesc�������������C���s���|�j�d�pt}t|�S�)N�tabs)r>����TK_TABWIDTH_DEFAULTr<���)r����Zcurrentr���r���r����get_tk_tabwidth���s����zEditorWindow.get_tk_tabwidthc�������������C���sB���|�j�}|�j��|kr>|jjdd|d�d|jd|��}|j|d��d�S�)NrI���Zmeasurez -displayof�n)r���)r>���r���r��r��ZmasterZ configure)r����Znewtabwidthr>���Zpixelsr���r���r����set_tk_tabwidth���s���� zEditorWindow.set_tk_tabwidthTc�������������C���sP���|r@|r@|�j���}d|��ko"dkn��r.||�_|�j|�jkr@d|�_|�j|�j��d�S�)Nr5���r���F)�guess_indentr����r����r����r���)r����r����Zguessr}��r���r���r���r�������s����z#EditorWindow.set_indentation_paramsc������� ������C���sB��|�j�}|�j��\}}|r6|r6|j||��|jd|��dS�|jdd�}|dkrp|jddd�rd|jd��n|j���dS�|d �d kr�|jd��dS�|�j}t|j |��}|d�|�j �|�j �}d } xH||�jkr�P�|d�d��}| d�} t|j |��}||kp�|d�d kr�P�q�W�|j���|jd| �d��||k��r6|j dd||����|j���dS�)Nr����rB���zinsert linestartr7���r����z1.0z insert-1crE���z r���z insert-%dcr����rQ���rQ���rQ���)r>���r���r��r����r����r����r0��r����r����� expandtabsr����re���r����r����r����) r����rC���r>���r����r�����charsr����ZhaveZwantZ ncharsdeletedr���r���r���r�������sB���� z"EditorWindow.smart_backspace_eventc������� ��� ���C���s����|�j�}|�j��\}}|j���z�|rV|rVt|�t|�kr>|�j|�S�|j||��|jd|��|jdd�}t||�j �\}}|t |�kr�|�j||�j���n>|�j r�d}n&t |j|�j ��}|�j} d| || ���}|jd|��|jd��dS�|j���X�d�S�)Nr����zinsert linestartr����r����rB���)r>���r���r����� index2liner����r��r����r����� classifywsr����r�����reindent_tor����r����r���r����r����r����) r����rC���r>���r����r�����prefix�raw� effectiveZpadr���r���r���r���r�������s,���� zEditorWindow.smart_indent_eventc�������������C���s���|�j�}|�j��\}}|j����z�|r>|r>|j||��|jd|��|jdd�}dt|��}}x ||k�rx||�dkrx|d�}qZW�||kr�|jdd��dS�|d�|��}d}x2|r�|d�dkr�||�jkr�|d�d ��}|d�}q�W�|r�|jd|�d��x|jd�dk�r|jd��q�W�|jdd��t |j d��} tj|�j |�j�} |�j�s�xj|�jD�]`}t| |�d�}t|�d �} |j| d�}| j|��| j|�j|�j| ��}|d�k �s�|dk�rDP��qDW�| j|�p�d��n@|jd d�}|�r�|d�} nd} |j| d�}| j|��| jd��| j��}|tjk�r�|tjk�rnn|tjk�r6|jd|��nT|tjk�rR|�j| j����n8|tjk�r�| j ��dk�rz|jd|��n|�j| j!����n�dS�| j"��}|jd|��| j#���r�|�j$|��n|�r�| j%���r�|�j&|��dS�|j'd��|j(���X�d�S�)Nr����zinsert linestartr���z rE���rN��rB���zinsert - %d charsz.0Zconsolez1.0rQ���rQ���))r>���r���r����r��r����r����r����r����re���r���r����r���ZParserr����r����r����r����r���r���Zset_codeZfind_good_parse_start�_build_char_in_string_funcZset_lor���Zget_continuation_typeZC_NONEZC_STRING_FIRST_LINEZC_STRING_NEXT_LINESZ C_BRACKETr���Zcompute_bracket_indentZC_BACKSLASHZget_num_lines_in_stmtZcompute_backslash_indentZget_base_indent_stringZis_block_openerr����Zis_block_closerr����r����r����)r����rC���r>���r����r����r����r}��r����indentZlnor���contextZstartatZstartatindexZrawtextZbodrh��r����r���r���r���r������s����� z%EditorWindow.newline_and_indent_eventc�������������C���s���||�j�fdd�}|S�)Nc�������������S���s���||d|����S�)Nz+%dcr���)�offsetZ_startindexZ_icisr���r���r����inner}��s����z6EditorWindow._build_char_in_string_func.<locals>.inner)r���)r����Z startindexr���r���r���r���r���|��s����z'EditorWindow._build_char_in_string_funcc������� ������C���sz���|�j���\}}}}xTtt|��D�]D}||�}|rt||�j�\}} | |�j�} |�j| �||d����||<�qW�|�j||||��dS�)NrB���)� get_regionr����r����r���r����r�����_make_blanks� set_region) r����rC����head�tailr���r��rP��r����r���r���r���r���r���r�������s���� z EditorWindow.indent_region_eventc������� ������C���s����|�j���\}}}}xZtt|��D�]J}||�}|rt||�j�\}} t| |�j�d�} |�j| �||d����||<�qW�|�j||||��dS�)Nr���rB���) r���r����r����r���r����r���r����r���r���) r����rC���r���r���r���r��rP��r����r���r���r���r���r���r�������s����z EditorWindow.dedent_region_eventc�������������C���sR���|�j���\}}}}x,tt|�d��D�]}||�}d|�||<�q"W�|�j||||��dS�)NrE���z##rB���)r���r����r����r���)r����rC���r���r���r���r��rP��r����r���r���r���r�������s����z!EditorWindow.comment_region_eventc�������������C���s����|�j���\}}}}xdtt|��D�]T}||�}|s0q|d�d��dkrN|dd���}n|d�d��dkrj|dd���}|||<�qW�|�j||||��dS�)Nr5���z##rE����#rB���)r���r����r����r���)r����rC���r���r���r���r��rP��r����r���r���r���r�������s����z#EditorWindow.uncomment_region_eventc������� ������C���s����|�j���\}}}}|�j��}|d�kr$d�S�x\tt|��D�]L}||�}|r2t||�\} } t| |�\}}d|�d|��|| d����||<�q2W�|�j||||��dS�)Nr����r����rB���)r����_asktabwidthr����r����r����divmodr���) r����rC���r���r���r���r��r����rP��r����r���r����ntabs�nspacesr���r���r���r�������s�����$z EditorWindow.tabify_region_eventc�������������C���s`���|�j���\}}}}|�j��}|d�kr$d�S�x&tt|��D�]}||�j|�||<�q2W�|�j||||��dS�)NrB���)r���r���r����r����r���r���)r����rC���r���r���r���r��r����rP��r���r���r���r�������s�����z"EditorWindow.untabify_region_eventc�������������C���sF���|�j�ddd |�j��d�d|�j��d�d �|�jd �rB|�j�|�_d|�_dS�)NzToggle tabsz Turn tabs �on�offz? Indent width �will be� remains atz 8.z! Note: a tab is always 8 columns)r ��r���rB���)r���r���)r���r���)r����r����r>���r����)r����rC���r���r���r���r�������s���� zEditorWindow.toggle_tabs_eventc�������������C���s:���|�j�dd|�j|�jddd�}|r6||�jkr6|�j�r6||�_dS�)NzIndent widthz6New indent width (2-16) (Always use 8 when using tabs)r5�������)r ���initialvalue�minvalue�maxvaluerB���)r����r>���r����r����)r����rC���r����r���r���r���r�������s����z%EditorWindow.change_indentwidth_eventc�������������C���sn���|�j�}|�j��\}}|r8|r8|j|d��}|j|d��}n|jd�}|jd�}|j||�}|jd�}||||fS�)Nz linestartz-1c lineend +1czinsert linestartzinsert lineend +1crN��)r>���r���r����r����r����)r����r>���r����r����r���r���r���r��r���r���r���r������s���� zEditorWindow.get_regionc�������������C���sx���|�j�}dj|�}||kr$|j���d�S�|jddd��|jd|��|j���|j||��|j||��|j���|j d|d��d�S�)NrN��r����z1.0rP���r����) r>���rU���r0��r����r����r����r��r����r����r����)r����r���r���r���r��r>����newcharsr���r���r���r������s���� zEditorWindow.set_regionc�������������C���s2���|�j�r&t||�j�\}}d|�d|��S�d|�S�d�S�)Nr����r����)r����r���r����)r����r���r���r���r���r���r���r�����s����zEditorWindow._make_blanksc�������������C���sJ���|�j�}|j���|jddd�r(|jdd��|r>|jd|�j|���|j���d�S�)Nzinsert linestartz!=r����)r>���r����r����r��r����r���r����)r����r����r>���r���r���r���r��� ��s����zEditorWindow.reindent_toc�������������C���s���|�j�dd|�j|�jddd�S�)Nz Tab widthzColumns per tab? (2-16)r5���r���)r ��r���r���r���)r����r>���r����)r����r���r���r���r�����s����zEditorWindow._asktabwidthc�������������C���sP���t�|�j|�j�j��\}}|r@|r@t||�j�\}}t||�j�\}}nd�}}||�S�)Nr���)�IndentSearcherr>���r����r����r���)r�����openerZindentedr���ZindentsmallZindentlarger���r���r���r���$��s����zEditorWindow.guess_indent)NNNN)N)r����r����)r����r����)r����r����)r����r����)r����r����)r���r����)r���r����)r��r��N)N)N)N)N)N)N)N)N)N)N)r����)r����)N)NN)N)N)T)�r7��� __module__�__qualname__Zidlelib.percolatorr ���Zidlelib.colorizerr!���r"���Zidlelib.undor#���Zidlelib.iomenur$���r%���r8��r&���Zidlelib.statusbarr'���Zidlelib.autocompleter(���Zidlelib.autoexpandr)���Zidlelib.calltipr*���Zidlelib.codecontextr+���Zidlelib.paragraphr,���Zidlelib.parenmatchr-���Zidlelib.rstripr.���Zidlelib.squeezerr/���Zidlelib.zoomheightr0���r����getfilesystemencodingr����rR���r����r����r����r����r����r����r����ri���r����r����ro���r��rn���r��r ��r��r��r��rv���rw���rt���ru���rp���rq���rr���ry���rz���r����r����r����r{���r|���r~���r}���r���r����r4��rx���r����r����r����r@��r����rH��rI��r����rK��rL��r�����stringZ ascii_letters�digitsrO��rR��rS��r]��ra��r����r���rb��r����ry��r����r���r���r���r���r���rs���r?��r���r��r���rm���r���rk���r���r����r���r���rW��r���r���rj���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���r���r���r���-���s �� ��+ $. % ,#j r���c�������������C���s���t�t|���S�)N)r<���r��)r����r���r���r���r���.��s����r���c�������������C���s\���d�}}xJ|�D�]B}|dkr,|d�}|d�}q|dkrN|d�}||�d�|�}qP�qW�||fS�)Nr���r����rE���r����r���)�sr����r���r���Zchr���r���r���r���6��s���� r���c���������������@���s8���e�Zd�Zdd��Zdd��Zejejdfdd�Zd d��Z dS�)r���c�������������C���s(���||�_�||�_d�|�_|�_d��|�_|�_d�S�)Nr���)r>���r����r}���finished�blkopenline�indentedline)r����r>���r����r���r���r���r����K��s����zIndentSearcher.__init__c�������������C���sL���|�j�r dS�|�jd��}|�_t|�d�}|�jj|dd�r:dS�|�jj||d��S�)Nr7���rE���z.0z>=rP���z lineend+1c)r���r}��r���r>���r����r����)r����r}��r���r���r���r����readlineQ��s����zIndentSearcher.readline�class�def�for�if�try�whilec ������� ������C���s>���|�j�rn2||kr ||kr ||�_n||kr:|�jr:||�_d|�_�d�S�)NrE���)r���r���r���) r����r=����token�startrP���r�����INDENT�NAMEZOPENERSr���r���r���� tokeneaterZ��s����zIndentSearcher.tokeneaterc�������������C���sl���t�j}|�jt�_zHy(t�j|�j�}x|D�]}|�j|���q$W�W�n�t�jtfk rR���Y�nX�W�d�|t�_X�|�j|�j fS�)N) �tokenize�tabsizer�����generate_tokensr���r���� TokenError�SyntaxErrorr���r���)r����Zsave_tabsize�tokensr���r���r���r���r����f��s���� zIndentSearcher.runN)r���r���r���r���r���r���) r7��r���r���r����r���r���r���r���r���r����r���r���r���r���r���D��s��� r���c�������������C���s6���|�j�d�}|dkr.|�d�|��|�|d�d����}�||�fS�)NrM��r���rE���)r/��)r���r}��r���r���r���r����x��s���� r�����[�]�/)ZbracketleftZbracketrightZslashc�������������C���s����|�j�|�}|�s tj��r$|dkr$dS�|d�}tjddd��|�}tjd d d��|�}tjdd|�}tjdd |�}tjdd|�}tjdd|�}tjdd|�}tjdd|�}tjdd|�}|S�)N�<<open-module>>� <<goto-line>>�<<change-indentwidth>>r7���r���z-[a-z]\bc�������������S���s���|�j���j��S�)N)�group�upper)r���r���r���r���rD������s����z!get_accelerator.<locals>.<lambda>z\b\w+\bc�������������S���s���t�j|�j��|�j���S�)N)�keynamesr����r��)r���r���r���r���rD������s����zKey-ZCancelz Ctrl-BreakzControl-zCtrl-r����+z><r����r����r����>���r���r���r���)r����r ���Z isCocoaTkr����r����)rY��r��rZ��r���r���r���r���r`�����s"���� ��r`��c�������������C���s4���|�j�}|jddd��|jddd��|jddd��d�S�) NZtcl_wordBreakAfterza br���r����Z tcl_wordcharsz\wZtcl_nonwordcharsz\W)r��r��)r]���r��r���r���r���� fixwordbreaks���s����r��c�������������C���s����|�}t�|��tjdd���r&tjd�}nd�}tj|d���t||d�}|j}d|d<�x,td�D�] }|jdd|�t |��d���qZW�d�S�) NrE���)r]���r����� ���r@�������r����z rN��) r��r����argvr ���ZsetupAppr���r>���r����r����r����)r ��r]���r����r����r>���r}��r���r���r����_editor_window���s����r ���__main__)r:���zidlelib.idle_test.test_editorr5���F)� verbosity�exit)r����)6Z importlib.abcr����importlib.utilrS���rW���r���r���r���r%��ZtkinterZtkinter.ttkr���Ztkinter.simpledialogZsimpledialogr����Ztkinter.messageboxZ messageboxr����Zidlelib.configr���r8��r���r���r���r���r ���Zidlelib.multicallr ���r���r���r ���r���r���r���Zpython_versionr���r���r���r����objectr���r���r���r���r����r��r`��r��r ��r7��Zunittestr:���Zidlelib.idle_test.htestr����r���r���r���r����<module>���sn��� ������������ 4