Ë ‚Ö¦i<ãóº— ddlZddlZddl­ddlmZmZddlmZddlm Z ddl Z ddl m Z ejdk(r ddlmZe«ej"j%ej"j'e««Zejd k(Zd Zd Zd Zd ZdZddefZdZgd¢ZdZ dZ!gd¢Z"d„Z#de fde fde jffZ$Gd„de%«Z&d„Z'e(dk(re'«yy)éN)Ú*)ÚColorDelegatorÚ color_config)Ú Percolator)Ú view_text)Ú__doc__Úwin32)Ú fix_win_hidpiÚdarwinéééééÚArialé )rrÚbold)zLucida Consoleé Únormalééd) éé ré réééééécó’—tjt«D�cgc] }|jd«r |ddk7r|dd‘Œ"c}Scc}w)Nz.pyrÚ_éýÿÿÿ)ÚosÚlistdirÚdemo_dirÚendswith)Úentrys ú,/usr/lib64/python3.12/turtledemo/__main__.pyÚgetExampleEntriesr*vsL€Ü$&§J¡J¬xÔ$8ó 7Ñ$8˜5Ø �N‰N˜5Ô ! e¨A¡h°#¢oð �#�2ŠJÐ$8ñ 7ð7ùò 7sœ%AzTurtledemo helpzAbout turtledemozAbout turtle modulecó€—eZdZdd„Zd„Zd„Zd„Zd„Zdd„Zdd„Z d „Z dd „Z d „Z d „Z d „Zd„Zd„Zd„Zd„Zd„Zd„Zy)Ú DemoWindowNc óN—t«x|_x}t_|j d«|j d|j «trTddl}|jdddddjtj««ddg|j|j¬ «|jdd ¬ «|jdd ¬ «|jd d d ¬ «|jdd d ¬ «|jdd d ¬ «t!|t"d¬«|_|j$j'|j)|j$«dd¬«|j$j'|j+|j$«dd¬«|j$j'|j-|j$«dd¬«|j$|d<t/|t0dt2d¬«}|j5|j7|««|j5|j9|««|j;ddd¬«t=|d ddddt>¬«|_ trjtC|d tDd!|jF¬"«|_$tC|d#tDd!|jJ¬"«|_&tC|d$tDd!|jN¬"«|_(nltC|d tDd%d&|jF¬'«|_$tC|d#tDd%d&|jJ¬'«|_&tC|d$tDd%d&|jN¬'«|_(|j@j;d ddd(¬)«|jHj;d d d*¬+«|jLj;d dd*¬+«|jPj;d dd*¬+«tS|jT«jWtY««d,|_-d,|_.|r|j_|«|jatbtbtbd-d.«td|_3y)/NzPython turtle-graphics examplesÚWM_DELETE_WINDOWrÚ osascriptz-ez tell application "System Events"z>set frontmost of the first process whose unix id is {} to truezend tell)ÚstderrÚstdoutr )ÚweightéZ)Úminsizer2r r)ÚreliefÚ borderwidthÚExamples)ÚmenuÚlabelÚ underlineÚFontsizeÚHelpr8rz#ddd)ÚorientÚ sashwidthÚ sashreliefÚbgrÚnews)ÚrowÚ columnspanÚstickyz --- z#ddf)rér)ÚheightÚtextr@Úfontr6r5z START z#00cc22)rGrHÚfgÚcommandz STOP z CLEAR Úwhitez#fed)rGrHrIÚdisabledforegroundrJ)rr)rBÚcolumnrDÚpadxÚew)rBrMrDFzChoose example from menuÚblack)4ÚTkÚrootÚturtleÚ_rootÚtitleÚ wm_protocolÚ_destroyr Ú subprocessÚrunÚformatr$ÚgetpidÚDEVNULLÚgrid_rowconfigureÚgrid_columnconfigureÚMenuÚRAISEDÚmBarÚ add_cascadeÚmakeLoadDemoMenuÚ makeFontMenuÚ makeHelpMenuÚ PanedWindowÚ HORIZONTALÚSOLIDÚaddÚ makeTextFrameÚmakeGraphFrameÚgridÚLabelÚRIDGEÚ output_lblÚButtonÚbtnfontÚ startDemoÚ start_btnÚstopItÚstop_btnÚ clearCanvasÚ clear_btnrrGÚ insertfilterrÚdirtyÚexitflagÚloadfileÚ configGUIÚDISABLEDÚSTARTUPÚstate)ÚselfÚfilenamerRrXÚpanes r)Ú__init__zDemoWindow.__init__ƒsˆ€Ü*,«$Ð.ˆŒ Ð.�Dœ6œ<Ø � ‰ Ð4Ô5Ø ×ÑÐ+¨T¯]©]Ô;å Û ð �N‰Nà#ØÐ@Øð6ß6<±f¼R¿Y¹Y»[Ó6Iؘjð ð&×-Ñ-Ø%×-Ñ-ð ô 0ð ×јq¨ÐÔ+Ø ×!Ñ! !¨AÐ!Ô.Ø ×!Ñ! !¨R¸Ð!Ô:Ø ×!Ñ! !¨R¸Ð!Ô:Ø ×!Ñ! !¨R¸Ð!Ô:䘤f¸!Ô<ˆŒ Ø � ‰ ×Ñ 4×#8Ñ#8¸¿¹Ó#CØ$.¸!ð ô =à � ‰ ×Ñ 4×#4Ñ#4°T·Y±YÓ#?Ø$.¸!ð ô =à � ‰ ×Ñ 4×#4Ñ#4°T·Y±YÓ#?Ø$*°að ô 9à—y‘yˆˆV‰ ä˜4¬ ¸aÜ&+°ô8ˆà �‰�×#Ñ# DÓ)Ô*Ø �‰�×$Ñ$ TÓ*Ô+Ø � ‰ �a A¨fˆ Ô5ä ¨a°gÀ&Ø%<È!Ü',ô.ˆŒõ Ü# D¨y¼wØ'0¸$¿.¹.ôJˆDŒNä" 4¨h¼WØ&/¸¿¹ôFˆDŒMä# D¨y¼wØ'0¸D×Ñ.>ô@ˆDŒNð �‰×Ñ ¨1°VÀ%ÐÔHØ �‰×Ñ ¨!°DÐÔ9Ø � ‰ ×јq¨°4ÐÔ8Ø �‰×Ñ ¨!°DÐÔ9ä�4—9‘9Ó×*Ñ*¬>Ó+;Ô<؈Œ ؈Œ Ù Ø �M‰M˜(Ô #Ø �‰”x¤¬8Ø1°7ô <äˆ� ócóL—|jj«}|jj«}|jjd|j|z z|jz «|jj d|j |z z|j z «y)Ngà?)ÚcanvasÚ winfo_widthÚ winfo_heightÚ xview_movetoÚ canvwidthÚ yview_movetoÚ canvheight)r€ÚeventÚcwidthÚcheights r)ÚonResizezDemoWindow.onResizeÏsx€Ø—‘×(Ñ(Ó*ˆØ—+‘+×*Ñ*Ó,ˆØ � ‰ × Ñ   d§n¡n°VÑ&;Ñ!<¸T¿^¹^Ñ!KÔLØ � ‰ × Ñ   d§o¡o°gÑ&=Ñ!>¸t¿¹Ñ!NÕOr„có¼—t|«x|_}t|dddd¬«x|_}t |«t |d¬«x|_}|j|d<|jtt¬ «t |d t¬ «x|_ }|j|d<|jtt¬ «|j |d <|j |d <t#t$«|d<t&rdnd}|j)d|z|j*«|j)d|z|j*«|j)d|z|j,«|j)d|z|j,«|j/d|j0«|j/d|j,«|j/d|j*«|jtt2d¬«|S)NrGrÚnoneé-)ÚnamerNÚwrapÚwidthÚvbar)r”rJ)ÚsideÚfillÚhbar)r”r=ÚyscrollcommandÚxscrollcommandrHÚCommandÚControlz <%s-minus>z<%s-underscore>z <%s-equal>z <%s-plus>zzzr )r˜r™Úexpand)ÚFrameÚ text_frameÚTextrGrÚ Scrollbarr—ÚyviewÚpackÚLEFTÚYrgršÚxviewÚBOTTOMÚXÚsetÚtupleÚtxtfontr Úbind_allÚ decrease_sizeÚ increase_sizeÚbindÚupdate_mousewheelÚBOTH)r€rRr¡rGr—ršÚshortcuts r)rjzDemoWindow.makeTextFrameÕsŠ€Ü',¨T£{Ð2ˆŒ˜*Ü  °¸aØ%+°2ô7ð 7ˆŒ �Dä�TÔä$ Z°fÔ=Ð=ˆŒ �DØŸ*™*ˆˆY‰Ø � ‰ ”t¤!ˆ Ô$Ü$ Z°fÄZÔPÐPˆŒ �DØŸ*™*ˆˆY‰Ø � ‰ ”v¤Aˆ Ô&Ø!%§¡ˆÐ ÑØ!%§¡ˆÐ ÑäœW“~ˆˆV‰ Ý &‘9¨IˆØ � ‰ �l XÑ-¨t×/AÑ/AÔBØ � ‰ Ð'¨(Ñ2°D×4FÑ4FÔGØ � ‰ �l XÑ-¨t×/AÑ/AÔBØ � ‰ �k HÑ,¨d×.@Ñ.@ÔAØ � ‰ Ð(¨$×*@Ñ*@ÔAØ � ‰ Ð&¨×(:Ñ(:Ô;Ø � ‰ Ð&¨×(:Ñ(:Ô;à � ‰ ”t¤$¨qˆ Ô1ØÐr„có —|tj_d|_d|_tj |dd|j|j«xtj_x|_}|j«|jjd|j«d|j d<tj«x|_ }tjj||«|gtj _|S)Nièi iXz rr6)rSÚ_ScreenrTrŠrŒÚScrolledCanvasÚ_canvasr†Ú adjustScrollsÚ _rootwindowr±r�ÚScreenÚscreenÚ TurtleScreenrƒÚ RawTurtleÚscreens)r€rRr†r¼s r)rkzDemoWindow.makeGraphFrameñsÌ€ð $Œ�‰ÔàˆŒØˆŒÜ8>×8MÑ8MØ�c˜3 §¡°·±ó9Að AŒ�‰Ôð A ¤¨và×ÑÔØ×Ñ×Ñ  ¨t¯}©}Ô=Ø()ˆ�‰�}Ñ%ä%Ÿ}™}›Ð.ˆŒ �fÜ×Ñ×$Ñ$ V¨VÔ4Ø$* 8Œ×ÑÔ Øˆ r„cór—|td<tt«|jd<d|z|jd<y)Nr rHz Font size %drG)r­r¬rGro)r€Úsizes r)Ú set_txtsizezDemoWindow.set_txtsizes0€ØŒ�‰ Ü!¤'›Nˆ� ‰ �&ÑØ"0°4Ñ"7ˆ�‰˜Òr„cóV—|jttddz t««y©Nr Úbreak)rÂÚmaxr­ÚMINIMUM_FONT_SIZE©r€Údummys r)r¯zDemoWindow.decrease_size ó#€Ø ×ÑœœW Q™Z¨!™^Ô->Ó?Ô@Ør„cóV—|jttddzt««yrÄ)rÂÚminr­ÚMAXIMUM_FONT_SIZErÈs r)r°zDemoWindow.increase_sizerÊr„cóp—|jdkt k(r|j«S|j«S)Nr)Údeltar r¯r°)r€r�s r)r²zDemoWindow.update_mousewheels4€ð �K‰K˜!‰O¤V Ò ,Ø×%Ñ%Ó'Ð 'à×%Ñ%Ó'Ð 'r„cóä—trU|jj|¬«|jj|¬«|jj|¬«nx|jj||t k(rdnd¬«|jj||t k(rdnd¬«|jj||t k(rdnd¬«|j j||¬«y)N)rz#d00z#fca)rr@)rGrI)r rsÚconfigrurwÚNORMALro)r€ÚstartÚstopÚclearÚtxtÚcolors r)r|zDemoWindow.configGUIsÊ€Ý Ø �N‰N× !Ñ !¨Ð !Ô .Ø �M‰M× Ñ  tÐ Ô ,Ø �N‰N× !Ñ !¨Ð !Õ .à �N‰N× !Ñ !¨Ø/4¼ª¡VÀFð "ô Là �M‰M× Ñ  tØ.2´fªn¡FÀ&ð !ô Jà �N‰N× !Ñ !¨Ø/4¼ª¡VÀFð "ô Là �‰×Ñ C¨EÐÕ2r„có|‡—t|«}t«D]"}|fˆfd„ }|j|dt|¬«Œ$|S)Ncó(•—‰j|«y©N)r{)r(r€s €r)Úloadz)DemoWindow.makeLoadDemoMenu..load,sø€Ø— ‘ ˜eÕ$r„r©r9r:rHrJ)r_r*Ú add_commandÚmenufont)r€Úmasterr8r(rÛs` r)rczDemoWindow.makeLoadDemoMenu(sDø€Ü�F‹|ˆä&Ö(ˆEØ õ %à × Ñ  5°AÜ"*°Dð õ :ð)ð ˆ r„có.‡—t|«}|jd‰jt¬«|jd‰jt¬«|j «t D]+}|fˆfd„ }|jt|«dt|¬«Œ-|S)NzDecrease (C-'-'))r9rJrHzIncrease (C-'+')có(•—‰j|«yrÚ)rÂ)rÁr€s €r)Úresizez'DemoWindow.makeFontMenu..resize;sø€Ø× Ñ  Õ&r„rrÜ)r_rÝr¯rÞr°Ú add_separatorÚ font_sizesÚstr)r€rßr8rÁrâs` r)rdzDemoWindow.makeFontMenu2s“ø€Ü�F‹|ˆØ ×ÑÐ1¸4×;MÑ;MÜ&ð ô (à ×ÑÐ1¸4×;MÑ;MÜ&ð ô (à ×ÑÔçˆDØ õ 'à × Ñ ¤3 t£9¸Ü"*°Fð õ <ðð ˆ r„cóz‡—t|«}tD]%\}}||fˆfd„ }|j|t|¬«Œ'|S)Ncó4•—t‰j||«yrÚ)rrR)Ú help_labelÚ help_filer€s €r)Úshowz%DemoWindow.makeHelpMenu..showEsø€Ü˜$Ÿ)™) Z°Õ;r„)r9rHrJ)r_Ú help_entriesrÝrÞ)r€rßr8rèrérês` r)rezDemoWindow.makeHelpMenuAsAø€Ü�F‹|ˆç%1Ñ !ˆJ˜ Ø *°iõ <à × Ñ  :´HÀdÐ Õ Kð&2ðˆ r„có`—|jr"|jj«d|_yy©NF)ryr¼rÕ©r€s r)Ú refreshCanvaszDemoWindow.refreshCanvasJs%€Ø �:Š:Ø �K‰K× Ñ Ô ØˆD�Jð r„có,—|j«dtj_d|z}t |«t j ||_t|jjd«5}|j«}ddd«|jjdd«|jjd«|jj|dz«|j!t"t$t$dd«t&|_y#1swYŒŒxYw) NFz turtledemo.Úrz1.0Úendz# - a Python turtle graphics examplezPress start buttonÚred)rvrSr½Ú_RUNNINGÚ __import__ÚsysÚmodulesÚmoduleÚopenÚ__file__ÚreadrGÚdeleteÚinsertrRrUr|rÒr}ÚREADYr)r€r�ÚmodnameÚfÚcharss r)r{zDemoWindow.loadfileOsÉ€Ø ×ÑÔØ',Œ×ÑÔ$Ø (Ñ*ˆÜ�7ÔÜ—k‘k 'Ñ*ˆŒ Ü �$—+‘+×&Ñ&¨Ô ,°Ø—F‘F“HˆE÷-à � ‰ ×ј Ô&Ø � ‰ ×ј Ô&Ø � ‰ �‰˜Ð#HÑHÔIØ �‰”vœx¬Ø+¨Uô 4äˆ� ÷-Ð ,ús Á.D Ä DcóÔ—|j«d|_dtj_|j t tt dd«|jj«|jjd«t|_ |jj«}|dk(r t|_ n t |_ |jt k(r!|j tt t|«y|jtk(r)d|_|j t tt dd«yy#tj"$r|j$€Yyt |_ d}YŒ¡wxYw) NTzdemo running...rPÚstandardÚ EVENTLOOPzstopped!zuse mouse/keys or STOPró)rïryrSr½rôr|r}rÒr¼rÕÚmodeÚRUNNINGrrøÚmainÚ EVENTDRIVENÚDONEÚ TerminatorrRrz)r€Úresults r)rrzDemoWindow.startDemo^s€Ø ×ÑÔØˆŒ Ø'+Œ×ÑÔ$Ø �‰”x¤¬Ø(¨'ô 3à � ‰ ×ÑÔØ � ‰ ×јÔ$܈Œ ð Ø—[‘[×%Ñ%Ó'ˆFؘÒ$Ü(�• ä!�” ð �:‰:œÒ Ø �N‰Nœ6¤8¬VØ!õ #à �Z‰Zœ;Ò &Ø ˆDŒMØ �N‰Nœ8¤V¬XØ3°Uõ <ð'øô× Ñ ò Ø�y‰yÐ Ù܈DŒJØŠFð  úsÂ6D6Ä6E'Å E'Å&E'cóЗ|j«|jjd«|jj d¬«|j t tt«y)NÚallÚ)Úcursor)rïr¼Ú_deleter†rÑr|rÒr}rîs r)rvzDemoWindow.clearCanvas{sE€Ø ×ÑÔØ � ‰ ×јEÔ"Ø � ‰ ×Ñ "ÐÔ%Ø �‰”vœx¬Õ2r„có¶—|jr8|j«d|_|jtttdd«dt j _y)NFzSTOPPED!ró)rzrvr|rÒr}rSr½rôrîs r)rtzDemoWindow.stopIt�sA€Ø �=Š=Ø × Ñ Ô Ø!ˆDŒMØ �N‰Nœ6¤8¬XØ% uô .à',Œ×ÑÕ$r„cóp—dtj_|jj «d|_yrí)rSr½rôrRÚdestroyrîs r)rWzDemoWindow._destroy‰s'€Ø',Œ×ÑÔ$Ø � ‰ ×ÑÔØˆ� r„rÚ)rÚblue)Ú__name__Ú __module__Ú __qualname__rƒr�rjrkrÂr¯r°r²r|rcrdrerïr{rrrvrtrW©r„r)r,r,�s_„óIòXPò ò8ò(8ó óò(ó 3òò òòò ò<ò:3ò -ór„r,cóL—t«}|jj«yrÚ)r,rRÚmainloop)Údemos r)rr�s€Ü ‹<€D؇I�I×ÑÕr„Ú__main__))rör$ÚtkinterÚidlelib.colorizerrrÚidlelib.percolatorrÚidlelib.textviewrrSÚ turtledemorÚabout_turtledemoÚplatformÚ idlelib.utilr ÚpathÚdirnameÚabspathrúr&r r~rþrr rrÒrÞrqr­rÇrÍrär*rëÚobjectr,rrrr„r)Úr)súððTój Û äß:Ý)Ý&Û Ý2à‡<�<�7ÒÝ*Ù„Oà �7‰7�?‰?˜2Ÿ7™7Ÿ?™?¨8Ó4Ó 5€Ø �‰˜Ñ !€Ø €Ø €Ø €Ø€Ø€ à �R˜Ð €Ø €Ú *€àÐØÐÚ 7€ ò7ð ˜Ð ØÐ)Ð*ؘFŸN™NÐ+ð€ ôK�ôKò\ð ˆzÒÙ…Fðr„