tE-Slate microworldsrjava.lang.Integer⠤8Ivaluexrjava.lang.Number xpsq~^ ContainerInfo# ESlateInfo ComponentInfosr"gr.cti.eslate.utils.ESlateFieldMap1 ILatLjava/util/Hashtable;Lbt"Lgr/cti/typeArray/ObjectBaseArray;LctLjava/lang/String;Ldt!Lgr/cti/typeArray/ClassBaseArray;xpt2.0.0t2.0srjava.util.Hashtable%!JF loadFactorI thresholdxp?@w tComponentClassNamessrjava.lang.Integer⠤8Ivaluexrjava.lang.Number xptComponentFrameIndexsq~ tLevelssq~ tScript listenerssq~ tComponentNamessq~ tMicroworld View Listsq~ tMicroworld Viewsq~ t MwdLayerssq~ t DesktopSizesq~ tMwdSizesq~ xsq~ t"gr.cti.eslate.utils.ESlateFieldMapsq~q~t1sq~?@w tScriptListener Arraysq~ xsq~ tcom.objectspace.jgl.Arraysrcom.objectspace.jgl.Array 6ImyLength[ myStoraget[Ljava/lang/Object;xp ur[Ljava.lang.Object;Xs)lxp sr+gr.cti.eslate.base.container.ScriptListener  Laq~LbtLjava/lang/Boolean;Lcq~Ldt9Lgr/cti/eslate/base/container/HierarchicalComponentPath2;Leq~Lft0Lgr/cti/eslate/base/container/LogoScriptHandler;Lgq~[ht[BLitLjava/lang/Object;Ljq~xpsq~q~t2.0sq~?@w t Script namesq~ t Method namesq~ t Logo Handlersq~ tListener class bytessq~ tComponent namesq~ tListener class namesq~ tPathToComponentsq~ t Logo scriptsq~ tScriptsq~ xsq~ tjava.lang.Booleansrjava.lang.Boolean r՜Zvaluexptjava.lang.Stringt,gr.cti.eslate.base.ActionListener_169706a801q~2ur[BTxp -,gr/cti/eslate/base/ActionListener_169706a801java/lang/Objectjava/awt/event/ActionListener eSlateHandle!Lgr/cti/eslate/base/ESlateHandle; tokenizerLvirtuoso/logo/Tokenizer; logoMachineLvirtuoso/logo/Machine;logoEnvironmentLvirtuoso/logo/InterpEnviron; logoThread!Lvirtuoso/logo/InterpreterThread;varInitializationScriptLjava/lang/String;scriptactionPerformed(Ljava/awt/event/ActionEvent;)VCodeLineNumberTable   java/lang/StringBuffer "!()V  &%,(Ljava/lang/String;)Ljava/lang/StringBuffer;append $) make "Modifiers+ | .-()I getModifiers 0,1java/awt/event/ActionEvent &3(I)Ljava/lang/StringBuffer; 26| 98()Ljava/lang/String;toString 7< make "paramString> @"| B8 paramString 0AE make "ActionCommand G8 getActionCommand 0FJ make "source  K N8getComponentName PMQgr/cti/eslate/base/ESlateHandleS Uu ask "Masterclock [StopTick] ask "Chronometer [StopChronometer resetchronometer] ask "Play [tbutton.unselect]  V ZY,(Ljava/lang/String;)Lvirtuoso/logo/LogoList;tokenize \X]virtuoso/logo/Tokenizer ^ ba2(Lvirtuoso/logo/Machine;)Lvirtuoso/logo/ParseTree; getRunnable d`evirtuoso/logo/LogoList  f ji9(Lvirtuoso/logo/In terpEnviron;)Lvirtuoso/logo/LogoObject;execute lhmvirtuoso/logo/ParseTree poLjava/io/PrintStream;out rnsjava/lang/SystemuLanguageException: "w(Ljava/lang/String;)V v z8 getMessage |y}java/lang/Throwable wprintln ~java/io/PrintStream   ()Lvirtuoso/logo/IOBase; outStream virtuoso/logo/InterpreterThread wputLine virtuoso/logo/IOBasevirtuoso/logo/LanguageExceptionThrowException: virt uoso/logo/ThrowExceptionsetLogoRuntime(Lgr/cti/eslate/base/ESlateHandle;Lvirtuoso/logo/Machine;Lvirtuoso/logo/InterpEnviron;Lvirtuoso/logo/InterpreterThread;Lvirtuoso/logo/Tokenizer;)V  ActionListener_169706a801.java SourceFile! A***Y#*'('*'+/45':*Y#*';'='?'+C'5':*Y#*'D'='?'+H'5':*Y#*'I'= '?'*LO'5':*Y#*'R':*TWY#*'T':M*,[N-*_c*gkWNqYtx-{':*-{:qYtx{':LNqYx-{':*-{:qYtx{':9ILkZ9 i"#$&)02 4 79899N;l>?@BEH*+L*,_*-g**HI JKLN"!:** L**_*g* q~NtStopq~NtactionPerformedq~NtactionPerformedq~Ntu ask "Masterclock [StopTick] ask "Chronometer [StopChronometer resetchronometer] ask "Play [tbutton.unselect] t7gr.cti.eslate.base.container.HierarchicalComponentPath2sq~q~t2.0sq~?@w tMethod index arraysq~ tPathsq~ tNode type arraysq~ xsq~ t[Ljava.lang.String;ur[Ljava.lang.String;V{GxptStopt[Iur[IM`&v겥xpq~euq~fxt.gr.cti.eslate.base.container.LogoScriptHandlersq~q~t1.0sq~?@w tListener classsq~ q~:sq~ xsq~ q~Nq~Stjava.lang.Classvrjava.awt.event.ActionListenerxpxxxsq~.sq~q~t2.0sq~?@w q~8sq~ q~:sq~ q~sq~ q~@sq~ q~Bsq~ q~Dsq~ q~Fsq~ q~Hsq~ xsq~ q~Ksq~Lq~Nt,gr.cti.eslate.base.ActionListener_16882448cdq~2uq~P -,gr/cti/eslate/base/ActionListener_16882448cdjava/lang/Objectjava/awt/event/ActionListener eSlateHandle!Lgr/cti/eslate/base/ESlateHandle; tokenizerLvirtuoso/logo/Tokenizer; logoMachineLvirtuoso/logo/Machine;logoEnvironmentLvirtuoso/logo/InterpEnviron; logoThread!Lvirtuoso/logo/InterpreterThread;varInitializationScriptLjava/lang/String;scriptactionPerformed(Ljava/awt/event/ActionEvent;)VCodeLineNumberTable   java/lang/StringBuffer "!()V  &%,(Ljava/lang/String;)Ljava/lang/StringBuffer;append $) make "Modifiers+ | .-()I getModifiers 0,1java/awt/event/ActionEvent &3(I)Ljava/lang/StringBuffer; 26| 98()Ljava/lang/String;toString 7< make "paramString> @"| B8 paramString 0AE make "ActionCommand G8getActionCommand 0FJ make "source  K N8getComponentName PMQgr/cti/eslate/base/ESlateHandleS UVifelse ask "LogoToggle [tbutton.selected] [ask "Logo [restore]] [ask "Logo [hide]]  V ZY,(Ljava/lang/String;)Lvirtuoso/logo/LogoList;tokenize \X]virtuoso/logo/Tokenizer ^ ba2(Lvirtuoso/logo/Machine;)Lvirtuoso/logo/ParseTree; getRunnable d`evirtuoso/logo/LogoList  f ji9(Lvirtuoso/logo/InterpEnviron;)Lvirtuoso/logo/LogoObject;execute lhmvirtuoso/logo/ParseTree poLjava/io/PrintStream;out rnsjava/lang/SystemuLanguageException: "w(Ljava/lang/String;)V v z8 getMessage |y}java/lang/Throwable wprintln ~java/io/PrintStream   ()Lvirtuoso/logo/IOBase; outStream virtuoso/logo/InterpreterThread wputLine virtuoso/logo/IOBasevirtuoso/logo/LanguageExceptionThrowException: virtuoso/logo/ThrowExceptionsetLogoRuntime(Lgr/cti/eslate/base/ESlateHandle;Lvirtuoso/logo/Machine;Lvirtuoso/logo/InterpEnviron;Lvirtuoso/logo/InterpreterThread;Lvirtuoso/logo/Tokenizer;)V  ActionListener_16882448cd.java SourceFile! A***Y#*'('*'+/45':*Y#*';'='?'+C'5':*Y#*'D'='?'+H'5':*Y#*'I'='?'*LO'5':*Y#*'R':*TWY#*'T':M*,[N-*_c*gkWNqYtx-{':*-{:qYtx{':LNqYx-{':*-{:qYtx{':9ILkZ9 i"#$&)02 4 79899N;l>?@BEH*+L*,_*-g**HI JKLN"!:**L**_*g* q~Nt LogoToggleq~NtactionPerformedq~NtactionPerformedq~NtVifelse ask "LogoToggle [tbutton.selected] [ask "Logo [restore]] [ask "Logo [hide]]q~Vsq~q~t2.0sq~?@w q~Zsq~ q~\sq~ q~^sq~ xsq~ q~auq~bt LogoToggleq~euq~fq~euq~fxq~isq~q~t1.0sq~?@w q~msq~ q~:sq~ xsq~ q~Nq~q~qq~sxxxsq~.sq~q~t2.0sq~?@w q~8sq~ q~:sq~ q~sq~ q~@sq~ q~Bsq~ q~Dsq~ q~Fsq~ q~Hsq~ xsq~ q~Ksq~Lq~Nt,gr.cti.eslate.base.ActionListener_1696611ae4q~2uq~P -,gr/cti/eslate/base/ActionListener_1696611ae4java/lang/Objectjava/awt/event/ActionListener eSlateHandle!Lgr/cti/eslate/base/ESlateHandle; tokenizerLvirtuoso/logo/Tokenizer; logoMachineLvirtuoso/logo/Machine;logoEnvironmentLvirtuoso/logo/InterpEnviron; logoThread!Lvirtuoso/logo/InterpreterThread;varInitializationScriptLjava/lang/String;scriptactionPerformed(Ljava/awt/event/ActionEvent;)VCodeLineNumberTable   java/lang/StringBuffer "!()V  &%,(Ljava/lang/String;)Ljava/lang/StringBuffer;append $) make "Modifiers+ | .-()I getModifiers 0,1java/awt/event/ActionEvent &3(I)Ljava/lang/StringBuffer; 26| 98()Ljava/lang/String;toString 7< make "paramString> @"| B8 paramString 0AE make "ActionCommand G8getActionCommand 0FJ make "source  K N8getComponentName PMQgr/cti/eslate/base/ESlateHandleS UYifelse ask "NotesToggle [tbutton.selected] [ask "Notes [restore]] [ask "Notes [hide]]  V ZY,(Ljava/lang/String;)Lvirtuoso/logo/LogoList;tokenize \X]virtuoso/logo/Tokenizer ^ ba2(Lvirtuoso/logo/Machine;)Lvirtuoso/logo/ParseTree; getRunnable d`evirtuoso/logo/LogoList  f ji9(Lvirtuoso/logo/InterpEnviron;)Lvirtuoso/logo/LogoObject;execute lhmvirtuoso/logo/ParseTree poLjava/io/PrintStream;out rnsjava/lang/SystemuLanguageException: "w(Ljava/lang/String;)V v z8 getMessage |y}java/lang/Throwable wprintln ~java/io/PrintStream   ()Lvirtuoso/logo/IOBase; outStream virtuoso/logo/InterpreterThread wputLine virtuoso/logo/IOBasevirtuoso/logo/LanguageExceptionThrowException: virtuoso/logo/ThrowExceptionsetLogoRuntime(Lgr/cti/eslate/base/ESlateHandle;Lvirtuoso/logo/Machine;Lvirtuoso/logo/InterpEnviron;Lvirtuoso/logo/InterpreterThread;Lvirtuoso/logo/Tokenizer;)V  ActionListener_1696611ae4.java SourceFile! A***Y#*'('*'+/45':*Y#*';'='?'+C'5':*Y#*'D'='?'+H'5':*Y#*'I'='?'*LO'5':*Y#*'R':*TWY#*'T':M*,[N-*_c*gkWNqYtx-{':*-{:qYtx{':LNqYx-{':*-{:qYtx{':9ILkZ9 i"#$&)02 4 79899N;l>?@BEH*+L*,_*-g**HI JKLN"!:**L**_*g* q~Nt NotesToggleq~NtactionPerformedq~NtactionPerformedq~NtYifelse ask "NotesToggle [tbutton.selected] [ask "Notes [restore]] [ask "Notes [hide]]q~Vsq~q~t2.0sq~?@w q~Zsq~ q~\sq~ q~^sq~ xsq~ q~auq~bt NotesToggleq~euq~fq~euq~fxq~isq~q~t1.0sq~?@w q~msq~ q~:sq~ xsq~ q~Nq~q~qq~sxxxsq~.sq~q~t2.0sq~?@w q~8sq~ q~:sq~ q~sq~ q~@sq~ q~Bsq~ q~Dsq~ q~Fsq~ q~Hsq~ xsq~ q~Kq~Mq~Nt,gr.cti.eslate.base.ChangeListener_16970686afq~2uq~P 0-,gr/cti/eslate/base/ChangeListener_16970686afjava/lang/Object javax/swing/event/ChangeListener eSlateHandle!Lgr/cti/eslate/base/ESlateHandle; tokenizerLvirtuoso/logo/Tokenizer; logoMachineLvirtuoso/logo/Machine;logoEnvironmentLvirtuoso/logo/InterpEnviron; logoThread!Lvirtuoso/logo/InterpreterThread;varInitializationScriptLjava/lang/String;script stateChanged"(Ljavax/swing/event/ChangeEvent;)VCodeLineNumberTable   java/lang/StringBuffer "!()V  &%,(Ljava/lang/String;)Ljava/lang/StringBuffer;append $) make "source+ -"|  . 21()Ljava/lang/String;getComponentName 405gr/cti/eslate/base/ESlateHandle7| 91toString 8< >xask "Masterclock [StopTick] ask "Chronometer [StopChronometer resetchronometer] ask "Logo [ LOGO.EXECUTE "ReadControls ]  ? CB,(Ljava/lang/String;)Lvirtuoso/logo/LogoList;tokenize EAFvirtuoso/logo/Tokenizer G KJ2(Lvirtuoso/logo/Machine;)Lvirtuoso/logo/ParseTree; getRunnable MINvirtuoso/logo/LogoList  O SR9(Lvirtuoso/logo/InterpEnviron;)Lvirtuoso/logo/LogoObject;execute UQVvirtuoso/logo/ParseTree YX Ljava/io/PrintStream;out [W\java/lang/System^LanguageException: "`(Ljava/lang/String;)V _ c1 getMessage ebfjava/lang/Throwable h`println jgkjava/io/PrintStream  l po()Lvirtuoso/logo/IOBase; outStream rnsvirtuoso/logo/InterpreterThread u`putLine wtxvirtuoso/logo/IOBasezvirtuoso/logo/LanguageException|ThrowException: ~virtuoso/logo/ThrowExceptionsetLogoRuntime(Lgr/cti/eslate/base/ESlateHandle;Lvirtuoso/l!ogo/Machine;Lvirtuoso/logo/InterpEnviron;Lvirtuoso/logo/InterpreterThread;Lvirtuoso/logo/Tokenizer;)V  ChangeListener_16970686af.java SourceFile! ****Y#*'('*','*/3'6':*Y#*';':*=@Y#*'=':M*,DN-*HL*PTWNZY]a-d':i*mq-dv:ZY]ad':iLNZY{a-d':i*mq-dv":ZY]ad':iyxy  yx}NA[ a#x*x,.123589:<)?H*+/*,H*-P*m*BC DEFH"!:**/**H*P*m q~Nt Slope Angleq~Nt stateChangedq~Nt stateChangedq~Ntxask "Masterclock [StopTick] ask "Chronometer [StopChronometer resetchronometer] ask "Logo [ LOGO.EXECUTE "ReadControls #]q~Vsq~q~t2.0sq~?@w q~Zsq~ q~\sq~ q~^sq~ xsq~ q~auq~bt Slope Angleq~euq~fq~euq~fxq~isq~q~t1.0sq~?@w q~msq~ q~:sq~ xsq~ q~Nq~q~qvr javax.swing.event.ChangeListenerxpxxxsq~.sq~q~t2.0sq~?@w q~8sq~ q~:sq~ q~sq~ q~@sq~ q~Bsq~ q~Dsq~ q~Fsq~ q~Hsq~ x$sq~ q~Kq~Mq~Nt,gr.cti.eslate.base.ChangeListener_1697067027q~2uq~P 0-,gr/cti/eslate/base/ChangeListener_1697067027java/lang/Object javax/swing/event/ChangeListener eSlateHandle!Lgr/cti/eslate/base/ESlateHandle; tokenizerLvirtuoso/logo/Tokenizer; logoMachineLvirtuoso/logo/Machine;logoEnvironmentLvirtuoso/logo/InterpEnviron; logoThread!Lvirtuoso/logo/InterpreterThread;varInitializationScriptLjava/lang/String;script stateChanged%"(Ljavax/swing/event/ChangeEvent;)VCodeLineNumberTable   java/lang/StringBuffer "!()V  &%,(Ljava/lang/String;)Ljava/lang/StringBuffer;append $) make "source+ -"|  . 21()Ljava/lang/String;getComponentName 405gr/cti/eslate/base/ESlateHandle7| 91toString 8< >xask "Masterclock [StopTick] ask "Chronometer [StopChronometer resetchronometer] ask "Logo [ LOGO.EXECUTE "ReadControls ]  &? CB,(Ljava/lang/String;)Lvirtuoso/logo/LogoList;tokenize EAFvirtuoso/logo/Tokenizer G KJ2(Lvirtuoso/logo/Machine;)Lvirtuoso/logo/ParseTree; getRunnable MINvirtuoso/logo/LogoList  O SR9(Lvirtuoso/logo/InterpEnviron;)Lvirtuoso/logo/LogoObject;execute UQVvirtuoso/logo/ParseTree YXLjava/io/PrintStream;out [W\java/lang/System^LanguageException: "`(Ljava/lang/String;)V _ c1 getMessage ebfjava/lang/Throwable h'`println jgkjava/io/PrintStream  l po()Lvirtuoso/logo/IOBase; outStream rnsvirtuoso/logo/InterpreterThread u`putLine wtxvirtuoso/logo/IOBasezvirtuoso/logo/LanguageException|ThrowException: ~virtuoso/logo/ThrowExceptionsetLogoRuntime(Lgr/cti/eslate/base/ESlateHandle;Lvirtuoso/logo/Machine;Lvirtuoso/logo/InterpEnviron;Lvirtuoso/logo/InterpreterThread;Lvirtuoso/logo/Tokenizer;)V  ChangeListener_1697067027.java SourceFile!( ****Y#*'('*','*/3'6':*Y#*';':*=@Y#*'=':M*,DN-*HL*PTWNZY]a-d':i*mq-dv:ZY]ad':iLNZY{a-d':i*mq-dv:ZY]ad':iyxy  yx}NA[ a#x*x,.123589:<)?)H*+/*,H*-P*m*BC DEFH"!:**/**H*P*m q~NtSpring Stretchq~Nq~q~Nt stateChangedq~Ntxask "Masterclock [StopTick] ask "Chronometer [StopChronometer resetchronometer] ask "Logo [ LOGO.EXECUTE "ReadControls ]q~Vsq~q~t2.0sq~?@w q~Zsq~ q~\sq~ q~^sq~ xsq~ q~auq~btSpring Stretchq~euq~fq~euq~fx*q~isq~q~t1.0sq~?@w q~msq~ q~:sq~ xsq~ q~Nq~q~qq~xxxsq~.sq~q~t2.0sq~?@w q~8sq~ q~:sq~ q~sq~ q~@sq~ q~Bsq~ q~Dsq~ q~Fsq~ q~Hsq~ xsq~ q~Kq~Mq~Nt,gr.cti.eslate.base.ChangeListener_1697067b55q~2uq~P 0-,gr/cti/eslate/base/ChangeListener_1697067b55java/lang/Object javax/swing/event/ChangeListener eSlat+eHandle!Lgr/cti/eslate/base/ESlateHandle; tokenizerLvirtuoso/logo/Tokenizer; logoMachineLvirtuoso/logo/Machine;logoEnvironmentLvirtuoso/logo/InterpEnviron; logoThread!Lvirtuoso/logo/InterpreterThread;varInitializationScriptLjava/lang/String;script stateChanged"(Ljavax/swing/event/ChangeEvent;)VCodeLineNumberTable   java/lang/StringBuffer "!()V  &%,(Ljava/lang/String;)Ljava/lang/StringBuffer;append $) ,make "source+ -"|  . 21()Ljava/lang/String;getComponentName 405gr/cti/eslate/base/ESlateHandle7| 91toString 8< >xask "Masterclock [StopTick] ask "Chronometer [StopChronometer resetchronometer] ask "Logo [ LOGO.EXECUTE "ReadControls ]  ? CB,(Ljava/lang/String;)Lvirtuoso/logo/LogoList;tokenize EAFvirtuoso/logo/Tokenizer G KJ2(Lvirtuoso/logo/Machine;)Lvirtuoso/logo/ParseTree; getRunnable MINvirtuoso/logo/LogoLis-t  O SR9(Lvirtuoso/logo/InterpEnviron;)Lvirtuoso/logo/LogoObject;execute UQVvirtuoso/logo/ParseTree YXLjava/io/PrintStream;out [W\java/lang/System^LanguageException: "`(Ljava/lang/String;)V _ c1 getMessage ebfjava/lang/Throwable h`println jgkjava/io/PrintStream  l po()Lvirtuoso/logo/IOBase; outStream rnsvirtuoso/logo/InterpreterThread u`putLine wtxvirtuoso/logo/IOBasezvirtuoso/logo/LanguageExce.ption|ThrowException: ~virtuoso/logo/ThrowExceptionsetLogoRuntime(Lgr/cti/eslate/base/ESlateHandle;Lvirtuoso/logo/Machine;Lvirtuoso/logo/InterpEnviron;Lvirtuoso/logo/InterpreterThread;Lvirtuoso/logo/Tokenizer;)V  ChangeListener_1697067b55.java SourceFile! ****Y#*'('*','*/3'6':*Y#*';':*=@Y#*'=':M*,DN-*HL*/PTWNZY]a-d':i*mq-dv:ZY]ad':iLNZY{a-d':i*mq-dv:ZY]ad':iyxy  yx}NA[ a#x*x,.123589:<)?H*+/*,H*-P*m*BC DEFH"!:**/**H*P*m q~NtSpring Constantq~Nq~q~Nt stateChangedq~Nt0xask "Masterclock [StopTick] ask "Chronometer [StopChronometer resetchronometer] ask "Logo [ LOGO.EXECUTE "ReadControls ]q~Vsq~q~t2.0sq~?@w q~Zsq~ q~\sq~ q~^sq~ xsq~ q~auq~btSpring Constantq~euq~fq~euq~fxq~isq~q~t1.0sq~?@w q~msq~ q~:sq~ xsq~ q~Nq~q~qq~xxxsq~.sq~q~t2.0sq~?@w q~8sq~ q~:sq~ q~sq~ 1q~@sq~ q~Bsq~ q~Dsq~ q~Fsq~ q~Hsq~ xsq~ q~Kq~Mq~Nt,gr.cti.eslate.base.ChangeListener_1697068de4q~2uq~P 0-,gr/cti/eslate/base/ChangeListener_1697068de4java/lang/Object javax/swing/event/ChangeListener eSlateHandle!Lgr/cti/eslate/base/ESlateHandle; tokenizerLvirtuoso/logo/Tokenizer; logoMachineLvirtuoso/logo/Machine;logoEnvironmentLvirtuoso/logo/InterpEnviron; logoThread!Lvirtuoso/logo/Interpret2erThread;varInitializationScriptLjava/lang/String;script stateChanged"(Ljavax/swing/event/ChangeEvent;)VCodeLineNumberTable   java/lang/StringBuffer "!()V  &%,(Ljava/lang/String;)Ljava/lang/StringBuffer;append $) make "source+ -"|  . 21()Ljava/lang/String;getComponentName 405gr/cti/eslate/base/ESlateHandle7| 91toString 8< >xask "Masterclock [StopTick] ask "Chronometer [3StopChronometer resetchronometer] ask "Logo [ LOGO.EXECUTE "ReadControls ]  ? CB,(Ljava/lang/String;)Lvirtuoso/logo/LogoList;tokenize EAFvirtuoso/logo/Tokenizer G KJ2(Lvirtuoso/logo/Machine;)Lvirtuoso/logo/ParseTree; getRunnable MINvirtuoso/logo/LogoList  O SR9(Lvirtuoso/logo/InterpEnviron;)Lvirtuoso/logo/LogoObject;execute UQVvirtuoso/logo/ParseTree YXLjava/io/PrintStream;out [W\java/lang/System^LanguageException: "`4(Ljava/lang/String;)V _ c1 getMessage ebfjava/lang/Throwable h`println jgkjava/io/PrintStream  l po()Lvirtuoso/logo/IOBase; outStream rnsvirtuoso/logo/InterpreterThread u`putLine wtxvirtuoso/logo/IOBasezvirtuoso/logo/LanguageException|ThrowException: ~virtuoso/logo/ThrowExceptionsetLogoRuntime(Lgr/cti/eslate/base/ESlateHandle;Lvirtuoso/logo/Machine;Lvirtuoso/logo/InterpEnviron;Lvirtuoso/logo/InterpreterThread;Lvirtuoso/log5o/Tokenizer;)V  ChangeListener_1697068de4.java SourceFile! ****Y#*'('*','*/3'6':*Y#*';':*=@Y#*'=':M*,DN-*HL*PTWNZY]a-d':i*mq-dv:ZY]ad':iLNZY{a-d':i*mq-dv:ZY]ad':iyxy  yx}N6A[ a#x*x,.123589:<)?H*+/*,H*-P*m*BC DEFH"!:**/**H*P*m q~Nt Ball Massq~Nq~q~Nt stateChangedq~Ntxask "Masterclock [StopTick] ask "Chronometer [StopChronometer resetchronometer] ask "Logo [ LOGO.EXECUTE "ReadControls ]q~Vsq~q~t2.0sq~?@w q~Zsq~ q~\sq~ q~^sq~ xsq~ 7q~auq~bt Ball Massq~euq~fq~euq~fxq~isq~q~t1.0sq~?@w q~msq~ q~:sq~ xsq~ q~Nq~q~qq~xxxsq~.sq~q~t2.0sq~?@w q~8sq~ q~:sq~ q~sq~ q~@sq~ q~Bsq~ q~Dsq~ q~Fsq~ q~Hsq~ xsq~ q~Ksq~Lq~Nt,gr.cti.eslate.base.ChangeListener_1688a16b01q~2uq~P -,gr/cti/eslate/base/ChangeListener_1688a186b01java/lang/Object javax/swing/event/ChangeListener eSlateHandle!Lgr/cti/eslate/base/ESlateHandle; tokenizerLvirtuoso/logo/Tokenizer; logoMachineLvirtuoso/logo/Machine;logoEnvironmentLvirtuoso/logo/InterpEnviron; logoThread!Lvirtuoso/logo/InterpreterThread;varInitializationScriptLjava/lang/String;script stateChanged"(Ljavax/swing/event/ChangeEvent;)VCodeLineNumberTable   java/lang/StringBuffer "!()V  9&%,(Ljava/lang/String;)Ljava/lang/StringBuffer;append $) make "source+ -"|  . 21()Ljava/lang/String;getComponentName 405gr/cti/eslate/base/ESlateHandle7| 91toString 8< >!ask "Logo [logo.execute "newTick]  ? CB,(Ljava/lang/String;)Lvirtuoso/logo/LogoList;tokenize EAFvirtuoso/logo/Tokenizer G KJ2(Lvirtuoso/logo/Machine;)Lvirtuoso/logo/ParseTree; getRunnable MINvirtuoso/logo/LogoList  O S:R9(Lvirtuoso/logo/InterpEnviron;)Lvirtuoso/logo/LogoObject;execute UQVvirtuoso/logo/ParseTree YXLjava/io/PrintStream;out [W\java/lang/System^LanguageException: "`(Ljava/lang/String;)V _ c1 getMessage ebfjava/lang/Throwable h`println jgkjava/io/PrintStream  l po()Lvirtuoso/logo/IOBase; outStream rnsvirtuoso/logo/InterpreterThread u`putLine wtxvirtuoso/logo/IOBasezvirtuoso/logo/LanguageException|Thro;wException: ~virtuoso/logo/ThrowExceptionsetLogoRuntime(Lgr/cti/eslate/base/ESlateHandle;Lvirtuoso/logo/Machine;Lvirtuoso/logo/InterpEnviron;Lvirtuoso/logo/InterpreterThread;Lvirtuoso/logo/Tokenizer;)V  ChangeListener_1688a16b01.java SourceFile! ****Y#*'('*','*/3'6':*Y#*';':*=@Y#*'=':M*,DN-*HL*PTWNZ<Y]a-d':i*mq-dv:ZY]ad':iLNZY{a-d':i*mq-dv:ZY]ad':iyxy  yx}NA[ a#x*x,.123589:<)?H*+/*,H*-P*m*BC DEFH"!:**/**H*P*m q~NtSimulation Time (secs)q~Nt stateChangedq~Nt stateChangedq~N=t!ask "Logo [logo.execute "newTick]q~Vsq~q~t2.0sq~?@w q~Zsq~ q~\sq~ q~^sq~ xsq~ q~auq~btSimulation Time (secs)q~euq~fq~euq~fxq~isq~q~t1.0sq~?@w q~msq~ q~:sq~ xsq~ q~Nq~eq~qq~xxxsq~.sq~q~t2.0sq~?@w q~8sq~ q~:sq~ q~sq~ q~@sq~ q~Bsq~ q~Dsq~ q~Fsq~ q~Hsq~ >xsq~ q~Ksq~Lq~Nt,gr.cti.eslate.base.ActionListener_16970115d4q~2uq~P -,gr/cti/eslate/base/ActionListener_16970115d4java/lang/Objectjava/awt/event/ActionListener eSlateHandle!Lgr/cti/eslate/base/ESlateHandle; tokenizerLvirtuoso/logo/Tokenizer; logoMachineLvirtuoso/logo/Machine;logoEnvironmentLvirtuoso/logo/InterpEnviron; logoThread!Lvirtuoso/logo/InterpreterThread;varInitializationScriptLjava/lang/String;scriptactionPerfo?rmed(Ljava/awt/event/ActionEvent;)VCodeLineNumberTable   java/lang/StringBuffer "!()V  &%,(Ljava/lang/String;)Ljava/lang/StringBuffer;append $) make "Modifiers+ | .-()I getModifiers 0,1java/awt/event/ActionEvent &3(I)Ljava/lang/StringBuffer; 26| 98()Ljava/lang/String;toString 7< make "paramString> @"| B8 paramString 0AE make "ActionCommand G8getActionCommand@ 0FJ make "source  K N8getComponentName PMQgr/cti/eslate/base/ESlateHandleS Uifelse ask "Play [tbutton.selected] [ ask "Masterclock [ StartTick ] ask "Chronometer [ StartChronometer ] ] [ ask "Masterclock [StopTick] ask "Chronometer [StopChronometer]]  V ZY,(Ljava/lang/String;)Lvirtuoso/logo/LogoList;tokenize \X]virtuoso/logo/Tokenizer ^ ba2(Lvirtuoso/logo/Machine;)Lvirtuoso/logo/ParseTree; getRunnable d`evirtuoAso/logo/LogoList  f ji9(Lvirtuoso/logo/InterpEnviron;)Lvirtuoso/logo/LogoObject;execute lhmvirtuoso/logo/ParseTree poLjava/io/PrintStream;out rnsjava/lang/SystemuLanguageException: "w(Ljava/lang/String;)V v z8 getMessage |y}java/lang/Throwable wprintln ~java/io/PrintStream   ()Lvirtuoso/logo/IOBase; outStream virtuoso/logo/InterpreterThread wputLine virtuoso/logo/IOBasevirtuoso/loBgo/LanguageExceptionThrowException: virtuoso/logo/ThrowExceptionsetLogoRuntime(Lgr/cti/eslate/base/ESlateHandle;Lvirtuoso/logo/Machine;Lvirtuoso/logo/InterpEnviron;Lvirtuoso/logo/InterpreterThread;Lvirtuoso/logo/Tokenizer;)V  ActionListener_16970115d4.java SourceFile! A***Y#*'('*'+/45':*Y#*';'='?'+C'5':*Y#*'DC'='?'+H'5':*Y#*'I'='?'*LO'5':*Y#*'R':*TWY#*'T':M*,[N-*_c*gkWNqYtx-{':*-{:qYtx{':LNqYx-{':*-{:qYtx{':9ILkZ9 i"#$&)02 4 79899N;l>?@BEH*+L*,_*-g**DHI JKLN"!:**L**_*g* q~NtPlayq~NtactionPerformedq~NtactionPerformedq~Ntifelse ask "Play [tbutton.selected] [ ask "Masterclock [ StartTick ] ask "Chronometer [ StartChronometer ] ] [ ask "Masterclock [StopTick] ask "Chronometer [StopChronometer]] q~Vsq~q~t2.0sq~?@w q~Zsq~ q~\sq~ q~^sq~ xsq~ q~auq~btPlayq~euq~fq~eEuq~fxq~isq~q~t1.0sq~?@w q~msq~ q~:sq~ xsq~ q~Nq~q~qq~sxxxpxt/gr.cti.eslate.base.container.MicroworldViewListsq~q~t1.0sq~?@w tViewssq~ xsq~ t.[Lgr.cti.eslate.base.container.MicroworldView;ur.[Lgr.cti.eslate.base.container.MicroworldView;U#\n.xpxt+gr.cti.eslate.base.container.MicroworldViewsq~q~t1.0sq~?@Gw_*tHorizontal Scroll Bar Policysq~ (tOutline Drag FEnabledsq~ tActive Component Namesq~ tMaximize Allowedsq~ tInfo Button Visiblesq~ t#Component Activation Change Allowedsq~ t Move Allowedsq~ t Title Enabledsq~ t%Component Frozen State Change Allowedsq~ tName Change Allowedsq~ t Close Allowedsq~ tPin Button Visiblesq~ tMicroworld Resizablesq~ tHelp Button Visiblesq~ tBackground Typesq~ t$Microworld Background Change Allowedsq~ tHeavyweight MGenu Systemsq~ %tControl Bars Visiblesq~ tComponents beyond boundssq~ #tComponent Infossq~ tComponent Bar Enabledsq~ tResize Allowedsq~ tVertical Scroll Bar Policysq~ )tMicroworld Pop-up Enabledsq~ tView position Ysq~ 'tView position Xsq~ &t Border Typesq~ tComponent Removal Allowedsq~ tBackground Iconsq~ tMicroworld Auto-Scrollablesq~ "tBackground Icon Display Modesq~ tMinimize Allowedsq~ H tMicroworld Auto-Expandablesq~ !tMenu Bar Visiblesq~ tControl Bar Title Activesq~ tMicroworld Storage Allowedsq~ tBackground Colorsq~ tComponent Instantiation Allowedsq~ tMicroworld Pin View Enabledsq~ t View Namesq~ tOuter Border Typesq~ tDesktop Draggablesq~ $xsq~ *q~Ntt1[Lgr.cti.eslate.base.container.ComponentViewInfo;ur1[Lgr.cti.eslate.base.container.ComponentViewInfo;$E xpsr.gr.cti.eslate.base.coIntainer.ComponentViewInfo xpsq~q~t1.0sq~?@#w/t Is Maximumsq~ tFrame Maximizable Statesq~ tLayersq~ t"Component Activated On Mouse Presssq~ tIs Iconsq~ t Y Locationsq~ tPin Button Visibility Statesq~ tInfo Button Visibility Statesq~ tHeightsq~ tFrame Resizablesq~ q~@sq~ tHelp Button Visibility Statesq~ tFrame Active Title Statesq~ tFrame Closable Statesq~ t Is FrJozensq~ tFrame Iconifiable Statesq~ tFrame Bar Visibility Statesq~ tWidthsq~ t X Locationsq~ xsq~ q~Nt Masterclockq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Ltjava.lang.Integersq~ q~=sq~ q~=sq~ ^q~=sq~ q~Ksq~Lq~Ksq~Lq~=sq~ xxsq~sq~q~t1.0sq~?@#w/q~ sq~ q~ sq~ q~sq~ q~sqK~ q~sq~ q~sq~ q~sq~ q~sq~ q~sq~ q~sq~ q~@sq~ q~ sq~ q~"sq~ q~$sq~ q~&sq~ q~(sq~ q~*sq~ q~,sq~ q~.sq~ xsq~ q~NtStageq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~=sq~ q~=sq~ >q~=sq~ q~=sq~ q~Ksq~Lq~Ksq~Lq~=sq~ xxsq~sq~q~tL1.0sq~?@#w/q~ sq~ q~ sq~ q~sq~ q~sq~ q~sq~ q~sq~ q~sq~ q~sq~ q~sq~ q~sq~ q~@sq~ q~ sq~ q~"sq~ q~$sq~ q~&sq~ q~(sq~ q~*sq~ q~,sq~ q~.sq~ xsq~ q~Nt Chronometerq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~=sq~ eq~=sq~ Bq~M=sq~ Qq~=sq~ /q~Ksq~Lq~Ksq~Lq~=sq~ xxsq~sq~q~t1.0sq~?@#w/q~ sq~ q~ sq~ q~sq~ q~sq~ q~sq~ q~sq~ q~sq~ q~sq~ q~sq~ q~sq~ q~@sq~ q~ sq~ q~"sq~ q~$sq~ q~&sq~ q~(sq~ q~*sq~ q~,sq~ q~.sq~ xsq~ q~Nt ESlateLabelq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~KsNq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~=sq~ q~=sq~ 2q~=sq~ q~=sq~ 'q~Ksq~Lq~Ksq~Lq~=sq~ xxsq~sq~q~t1.0sq~?@#w/q~ sq~ q~ sq~ q~sq~ q~sq~ q~sq~ q~sq~ q~sq~ q~sq~ q~sq~ q~sq~ q~@sq~ q~ sq~ q~"sq~ q~$sq~ q~&sq~ q~(sq~ q~*sq~ q~,sq~ q~.sq~ xsq~ q~Nq~pOq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~=sq~ ;q~=sq~ >q~=sq~ q~=sq~ @q~Ksq~Lq~Ksq~Lq~=sq~ xxsq~sq~q~t1.0sq~?@#w/q~ sq~ q~ sq~ q~sq~ q~sq~ q~sq~ q~sq~ q~sq~ q~sq~ q~sq~ q~sq~ q~@sq~ q~ sq~ q~"sq~ q~$sq~ q~&sq~ q~P(sq~ q~*sq~ q~,sq~ q~.sq~ xsq~ q~Nq~q~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~=sq~ Rq~=sq~ Aq~=sq~ q~=sq~ [q~Ksq~Lq~Ksq~Lq~=sq~ xxsq~sq~q~t1.0sq~?@#w/q~ sq~ q~ sq~ q~sq~ q~sq~ q~sq~ q~sq~ q~sq~ q~sq~ q~sq~ q~sq~ Qq~@sq~ q~ sq~ q~"sq~ q~$sq~ q~&sq~ q~(sq~ q~*sq~ q~,sq~ q~.sq~ xsq~ q~Nq~q~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~=sq~ Eq~=sq~ Oq~=sq~ q~=sq~ q~Ksq~Lq~Ksq~Lq~=sq~ xxsq~sq~q~t1.0sq~?@#w/q~ sq~ q~ sq~ q~sq~ q~sq~ q~sq~ R q~sq~ q~sq~ q~sq~ q~sq~ q~sq~ q~@sq~ q~ sq~ q~"sq~ q~$sq~ q~&sq~ q~(sq~ q~*sq~ q~,sq~ q~.sq~ xsq~ q~Nq~&q~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~=sq~ q~=sq~ ;q~=sq~ q~=sq~ q~Ksq~Lq~Ksq~Lq~=sq~ xxsq~sq~q~t1.0sq~?@#wS/q~ sq~ q~ sq~ q~sq~ q~sq~ q~sq~ q~sq~ q~sq~ q~sq~ q~sq~ q~sq~ q~@sq~ q~ sq~ q~"sq~ q~$sq~ q~&sq~ q~(sq~ q~*sq~ q~,sq~ q~.sq~ xsq~ q~Nq~q~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~=sq~ q~=sq~ ~`t.xrjava.awt.Color3uFfalphaIvalueLcstLjava/awt/color/ColorSpace;[ frgbvaluet[F[fvalueq~L theContexttLjava/awt/PaintContext;xpppppt*gr.cti.eslate.utils.NewRestorableImageIconsr*gr.cti.eslate.utils.NewRestorableImageIconƒƯ~GIaxpzPNG  IHDR``w8l_IDATx ]v\j+ǹwG90v#j•F!s|k}}t#a{v8cC6Ѳ r"xa[ Fʴ QDO9@ns\3#kɫ[Z؇ YNEJOL @4G^Ah@Q'bhj:(‘ ݨ}|M[_G 5{Hu @^ǟo@K6DB،nnڤ~zn*|u"wïU=DXI tr{KC:E?#:y9[(\E02'E99۫(=Żթsz#}n3c4~cFӏHq/#2!(ZvXb6x#&nl"qjId-;q}OƝ3NZ !}BTnCÂmHrE1Q"fxYT:nj\W!jF H_f͢`q5442!Y>5u$f<6T@6Bfx(h@ _]F<ZPqUoJ:tM◬͢|gz{1=-zGY8 2芸(t>fUeTF|kǻU(^F2Œ44b,&FY0bvf U#~O㓪J=s(Y#W$2ȮUڄmF(adgN^Z(elH`MfMؔo]ÿ5#eQ'BFd ~~U .6ë NsM .7r7QɞCZI&Q7fquRkVm$=Z&6iߐYKHp#mieE RqZ=@ 8E|xKP~U_U2@>ԅ]ĘBF|谑8>T /fŶfx+P$nn򻗸@e&(J`G{Dڴ4 a Di#H %r>%!W!iz?KF*~`u}±iD fhthq K"Bq['fPJ2Ë$>t2#.ҏʇ|zӋ5sv5ɫ $Q iG69Q#*7Ih zO[z M[$.ԝ`Y) 1vMw*K-L3ե!4ZSH",Y 8o"YO61~,Fx>cΉdfN挋DٍEógt"wzƚ4o 4w`QF!Zn I7S70rg|P]Ley$L׃/j*l>i 34k}3Mgƍ x@]dP8=φ. <TvQ3\oF53!αE*ٞG>,@$Q+GhK<"$q >mD#ܠRqs)"g*q ™ }HgVԾKa0Hbǔ)\f9]z OopeJ**s+v-p&m jD,9oyIHb ٶ x"`&YBI1d̏#xH"mڍpM$#"+G{5 :aE#b()t#f$pbᄁʉDmsQR6 *?By1-. a_7&m R}v|H_^J“\ӌ['2@*އ"/2R(HtHS6sHM I:hy"77`x݉KVĺH^`T 8NH ONQŬ" F7,QͨGE5@:em)G`#ĪGC̘! )eE&|X_MfV)@Y$)d; R\F@/ #+(dsъI[Dڢ4ZT mZhMYD*r=@񍛸n2 ":ڞ}EA ~|Ij>: WƬqf a_h'.qA48*c/V=yzg;[)c)Y.\놟WTRFcQNyc=e>o$j7DȵKzA,+P? ;ܔRl,UNI؄[)˚s)O2oBUBtA6ٽ4鋊Z4F-j@]n(rX-43~' ifڟف񼓪92Ok> Y49oӼ48H#*+TeGK3o2p?~G3E"6nmhYҦ{ҩh2W/OE˽ 2?ŕ O) `ԟ炦ƌD}nVs3)nJ?K&&{{GHQ]g.pOM5=G$C,!+:!RkU3*3)Δ >$Fmm(nT,l ȥ1#jd 狲AFZ?7pW4lp#iخõ&rvOfuT;I10dGI|T z~kZ\PLM#Od%%*3,zZx"]w)Sș3 \$"odsE;'HdN[de%Q} hJ642QAQq)Kq:?C -:Iub42e;JVDƤ C̓e|3uuaoШ)C:`2S7/g}2OrBh/ :siBr2t+N|PJRB!GD8ON5OJK ))Q2'ߙ:Es(=apCV-uT\^nrFln ;GHY )YBLH=b..!H;$QNmPoOB?C9VZxPrwҿDo.z!;=E6< z}eNRE}Nh&~@45 IZU.;W.l}5jbt?~Fmry̎En:#fC_*jB\b|2 70 ǫE~~SĎ۫N|^[kn\hD?hB47gDCT0BDPnFy9~SN2E?rdiBǻ`\N7he~D+L!s]F 'Y-Fz1$bF=Ծa E}L OƦg|Mk?@1wxR. t# z}b.| %T@$1qy&A5$f>|9E.4bv;נd3Q< ր+oDft0jJriE Z8B.4=LH js Ccfz؋nHhE3M#Fuے4٤Ư תQsrxE*eJ)Xb/w#SQ{sQԅO$|꣇rj$>+bz%4/tdN`P)♾1|NrBu^M↨oeh!T|t}o^R襼Ph֍ܵ|R&Ki4JMOYK">D;iz:G)gh?m̢Ym#`oI|lGnIIcSOI67(Em^u%J_G8zv&5DHHCNX4ZﰄcԖ W!4 ?z%9KT="I<ɊFVdHYL}\Fh|H1 gb4;+K\: Ϳv:iʉ=8?؍9jYLҥfsP~W5t#?,Għ$n#5<5*!fXecEk x:)E7bn[d>UN 1m<A4I $ּecDs0+m\L'bRǤDƂ o&s*|M9L*$|Nߜf0 \m >-g:[ ;q7n#`$%g5$x );2f$mԺfZ|hƭ`Qm8P~L[8eB%V`0A)]&]VܵY%.f&iw;BY4Q(|Fh;{!v֨θ g 36  e;E7\fH2ڇyJTm nyKt;izOL p8;˃>7'IN6(ad?B;T (s5). +,tnvE%yy› ;C2?}J gYBs]GiG"<:PMwNCt'N#(Mr@tg%!ZI"a0jI4gȇ_="ȓQBwP>!E7V8z(=]T7~I:ER9dRYel Pgf_E؍EN4PRl;早wwV"}Ե(^FфlU%OzT$eTYƥ:Dss:^=%6n"Eous7rpiGHŔ"J#jdǠ|vGrh_82Wu\b H&RZjYzΜ.%riB}PmGK=J$Uˆ{%ٞv0kkjh a$^QplM/#ou ~=.4_.OKjEɲq a& /oມoNT߻ b:(JD̅P*eatEJ :OW|pͷ(7L껏gЎ%~rRPyN:@G8$x >bx4U_p"Hl*i*$ヨx-$7I,c<"uh~h}XWO(**>,df4\W#}[}jX̤-љ*E/Bz#RJߢj;҆I bhik[Բ44e49"w-GI.eg9PMbFJ"_^0]7jWeS.4Ra(uWF \iyo^!*(x_SQkf$PBjz݋z:Ѓxi YG jFYZYeyt9yH_dr!3Wh{|7z3R!rA%l& ! .*-&zs eRQTUsPxPIN·yCUf|\<Xۧ&|X̴Η5 j-[Ly+{8]G B&t3U#(oݑ#ڿ|J[ %[Fip1ƭ#dLLfv4NB'1HB%Yi6|Z'I.ѨQF9ɗ?QsIT+ۚZJqX;=o'}/!8(Z0z-aIB #Oцfa9Zo\٧pê!d#cOY#>.FlnPywՁKMR̠JJZXF =C RLlq4/l2Mo lbq:jf2Le0O6hFֆ׍zd-haMp|i!.+ۤ,G?LMn!OH +є~4f>I| nOPm25|V!|S"B,UY(p3E|V[!- 7w).D ,9Gۇ%\i!wP2 :2GoRlz&?%kSP$0AQkhmhF5Sւ/ Pv{ _85o>M_;_$ =v{wڏ嘅'I-:Q W/` WiҾDԜh8$ƌ!8}PY%0%bXm_dSsMFQ\4FMVRRfO$H*jZ4H "VY#nN#)={TS(XYuHᒅŒEĭL"aˁ{8mQ ի4mR?)O=O QȢ͞zGe ԸmeOc CTm~(J7BۀfJETC#TBʩ|ʎn8(P: d,l e܈DQ0@,G*.|ӆuԈkJ5ƒ c+O1KP+R|'3J5 Nf:$9*\Dlu<6)njg7] ૯8CW;i"gou7 vn U3b,^DCdqi63o| ˤ1(F$)2i2x76ьKq gY(?9Fw=pyKa4稂{Q{OlJ1#FNyQXYD/M2bf~(sc&huH!*rA;$R|h"o#5#T M`Zlj$&L%HvϤPl]#+e?}nxW& ajr&) eU8{΀sYHbF]b;2-F39BMwrQzcM5Do:7hugA); sH\">Bb)h"rpyLHNu:&"mH]Gȿ}S9*+l$r_ǵPaфyV* e eb,%Zz0 c9 &R*0Vc6;!M,xJw\x+E+;)V\?eSO0YYk#07oҀ)e3n";? ?SAm,$ xSA-Xk䰚^ *F* 1HL[4բ\T.#gYYMAGHQ{Tƻ T[ۈ#lp9Y{/&*%"O#qc{<ťӤ~+(>5H'>&5/o,K"ee.}zNj>Td͸Ќt˴$h1zYXcfZ/y!!dgMՖNYpXBN+ë2 qn3\F6_?#:ͻ{P:<-UT3:).2(sr$k3Q.Sq։":Y$NEdM"x_&GfQ@_]OC6oB$n@"r&/ tBϛ4@"%pG#j֑eEI7EdEM;R7\0/?jhHrM֚8{]B OeW 6Vd,h9^ꫛ|-]T?+$QwjEŬӣ|m b j1qO ٥ BvV0+:nnLI"ITkWZzpdz!TG JnB >2:H Id Bvv „رaxu⭰`.Ӆ6ahq U4pVnQd@#ԍAj$ ]Nen&45*5k0V7qYgՑ f'-;@S8hJ>l~I6J" 1]y^ zCێyB͐-/ `G*A],7IΙ)6TO>$;W`$1]!̗gO~h]Aex60dw"*ԙ&@f<O+" B͗*׊<=Êzj&o(?K)pE]Ըf-hwQy\U˱Y(rDž|ڻHG>9ned??ȡp42'H9EѽY:|FǗ(@/QqJcNЫ[\>Θ[sUx3%=aG4R'lo#>Er<T4r\ҹz7}L@ iI1= r ۈqSo<unDu|*A(ed։S1 h9YxYyݪ97hW~([ݐc.1$a1~csA'wLd%'"LK]9޷c=x,koVwۻ(|;btfJz9ga߀FE "EKg Ps5Lǟ#38Jvy⸔( |C&*O nIis-?z.!O_Q+Qw'm>t޲%${2;:IٛK8O*ib-?&ЧK9=OaJLvXx:G)=ltsa+ r1A(b\׺[TyTEb<`d@ʱNcq$z|)E3ϗpZeƈᩬ5t>zLyYc1yC1 Gjbbm$PpDdF WvB2|Z*FD.RۭS4>z$؂uxze,}wb&0(~9*p;ŤH!lcArE_1JEW('+ץy+=?Z<}IjP"KaT|yt99J&:Br wS]=_%hr|Q[̅FW;H+XpJ9'y+s]x6tEX2&ypB" ѓnjl' 7TWk-~5Mud,»K+7QVn q.D^} %/pQǛrBYu~C߲,\d rKywX)K|`(Ϲ11VwC-"6oF顬-4q\jELoI%6,D捘2Qȃ|C\CQOK+IO/F-wN=< 9zypq:@^TS۲蕵|h+ r0eA %^D3W7)7& 4h~q uWƻYI%L2maMéR)hBGPGH̎č%$(>ƯO[X9< &쪮!F.<*(xrGAmvlrV'O .8$`T Z*qJ AK9.<5!q @3G_7TB, ~QJs"/I374L1}ֵ**ۥ|D u<#7"1TnjZ_GS³{G6W%su|Mq]5}a~x̓`0:A6#%@*.Gzg[o΂o$CE]Y3?`f\G'r!)\#q@\ 0b@ʝ=YDVxfpY&x0ĉR3^!B;njZcEJbi1[8^#tXNɘD6 WHcf ¥Rwt=+A"3wO6):Q0ԍ.1D_bp[քo¡1WrV6mz@"UOCT,tz$[lsrօ,~ƿGF kTMb:0FgS^exO -¤42E>WH/ Qs{d`\enCrqLzI+- 4 b64fJ,\T?;% x??A*bd~"Aׁ덵`9am"{$ڀJI_(5B[?vO< IKAAJa\Vˉ7Ab"BwfU.[ɴy* ;̚eDQ! gSF2 #&kNpc3d>$tC/eS(Z ?sZ|zN^BI%K7q nB ́+]:<)”QÒPTO ~~ o2zG#rn{[|Y_J8._Fsjo .<%LtB+7hj*[yQ3 !D+kJLc.(}2Є?='Mg>u-izkv4]jQE-NJ^E57A¸3 "D{xkN’5kGnD) W̵GGdqOeySS+2HLQ4>$\nп/NdlTj=nC0vWe^܃pnD줜I&^QX_Aɢ_s:na'(\Vq9tqzT. (P t8)$ޤ97IJަ/qK._Pkĕp#?_@E|Y/oIP޸+GOgҗ%o ×Tx4{~M{K?N([Ċ G|үDsJˆcd3Jcن>!f dJ A[)Mjsw֠|dOkfuۊU$iƆa8fˆJ,$*%NyK%w/㣖fDL )JL w vLnY5\pxIJ1[߼@e-k|F>z]XO車#}ڀmoG⨝"5|*lBZ?:vP17EB(Y|݋l#FȍbYXD$eDSDF#rd7ıEoLB 9dkRkxk'eeբ-9)|C顨fhtyrc ~KG^E Z|n5!kq20C=V ǎY:ybF\ҁ1#r\NٙLU+2W8ރ=RLN6.<#9 ĸbp",YX܎~xhmg@=4D>$O1{|ՉUTݿqGec:lCIK7}c G֊4qѦ \l?Dwi4UDE%s} p'`O$&.W2aC͞5LV2lFzӀw[ۈkj A;5iE-Oiߑ7URgs  y0 gҳдs$+XU aGp"Eұ[1DGX "s"ijvu+$VqamxTV.ɺz@5d8:*ZӄRN8dz :D8UQ4Mq!>h+C]'#P㸀;d?!ƣ^,1P+5oȢoZI:oSAߦû"O FMW~JrU 3H[EgR^VBojurRƔ I}f9h;D02&9I*w#l&>GcV#OuQ1ǹb #/&nZɝj9n!D)gݎ5e'>0=pE}<2>*s]жwUz 1f,S2pkrପjh{#h;^˧s25ϞBDYiGomE qYDxMR;6=ڑe,;1üCP9cBoS벅;;AOԂBs <[)JdC^xfq%e?dUxg[~)uT#QtH?\CMONf .ԗ#:F&~TD+9'SchȣR 5c4H#'i3p9n9MW6hDc0" Hh>(]Cpw+|cG{^~yDJDmT䌎!ix[tWVQdkQ_ezV6н֭My~%f"͡N47 fz65|gQ^&Y{=Z=_RI^|R2B{%칐NltP<{PFNy"1 *.D3ل>\`Zp t$"ŕ3h}~9''1pAf9~V"]/"-* TR130YdFC'0HE+A\Ru`[&!(w;KOԢf_$D6~P  /; ~Cl@NԈEsͿ C6B[l5s1Q.<ϛ7m?Ƒ yg4V\>)ϗ#=NmeQ e>'Z_G48>*pQD #~HHpM e\B;QBhxvP||2ut|is= PK/16JEݯRVP]|B6'r6jE aL̫߹իquw(YYt꾭=pۍP%U'7(E P Q4ȵM#ĆpcrN7{ Z*+3~rgB2`ԈA˫:&GME+sozMLOD/X' ܊!>oPu{E΁QjI-Ϭ`M TE1wWs,Ό'#FQtlĉ7~\DBs^=Fvz28SӁ]J}}QAKan ax"gE’YXRCEsȬIvM#kY/ʪR^%Hb{ZjdTle3yLV/ydqJiݔ5t=xD8Qϐew)(]sQhïrSϿUZ%+;Mr`w}Jl9=״ݷ6aj( '~y7Cـ'h'iFPb/9A(d @\A>ϙPDR<);8FbO"aY.Tt*Ш$cjLگDϋ#J*.9 gG"oƍmt>wܨG.eY;!.Z 4^Cqvс,zRvÇ[[&-bq:6LGDKyh}7۫ 9Bo32M).@[rl巸2<.ϒZB4'qb K֗ޠ!N8}b(2@lU)Bӷ7((UGbiŻוLU7eM +Vj2JxWVБ^:L ʭ4/["eQ|ìT ?DM91-BE%( 쎙oO ;@q~Cuq~Dt10t4t2t7t19t21t1t5t6t26t25t3t24t17t16t23q~euq~fq~Asq~ q~Cuq~Dq~]q~[q~`q~Cuq~Dtgr.cti.eslate.base.ESlateHandleq~q~t[Ljava.util.8[ \(SL pH^6nS=ˠn\[G{ "V'/ c~bLCM'.GAZn-H2&%>opÊдSRѿMO4G\uiQJGRJ>2X>W{z6qUTPnVãKvU]y;cۈ}t1kF2K蚓F0eB;F3!\AM~D5i0tAy'c;`ml @B%PE;BN 8'ɕv]ofS>}XC$:XgY ^=mp-dڐHBȇ3qh_ؽILh#x?<~]m0;#<jK3j1<ʣS 9qI'qBVX N\fri'ԄikmfiQAx[ݜO2 Fr[{ ͌z Q}i0n|MB:CCдI⟾%Y>LFYK^ĉqJ|ZÐS^+cD3"Awx(XI[ҍ{(1i Rl3H ~ HI KY|2i; +"{q디33>GhO(&IQrZQ- ?}\v(؟"'%T>#gm9G~e0"T[djЄyK``r/z}˪4o<}u./[h2=ލFB&V+I ޞ[8l\EbwCM 3zܹ"WW qK^3I;Iا:[?әxKR *5C dn%II&-$ܕ]as:<@IN&}/"Iu?D^ٹio}*vkn(FƯCƦ| ͈P- 1Q f&f8aWΐ\c,΢4$THïtFOZU,7A44l[7vX ewqMmML0{1u.:l80Zby|!Rt\+Pxge-?8Yve܋+PCS5?7{Z(߾adl ۑoWsQsg'Si^g'~+VdcXRXBH}[N}J~0Md o~ **?h\NByL5/Wpb:M2!3;D1-؜G:W6kV!hay+xr^k1Zﻄ/Kk[p5ޒj+38AH>QuSP^07·o<*j>%K":< y!q}oMJx% '_{Ϻ2D_Pi90w&5ki~]cr 4d%~"$ThF4%'o"͍> K/QWw2qGQSx0L|kg+KXzɛol@co3KwTza}io-18͘.skp-Y0LOm8tlTǤɃ f/۟qLJHq1sV˺nU4#%LviXMzYxzt58|.Iw0G{eYA޸dF(+1wk܄<"T[7AJ9ZM]wlA&0:}aF +8"YB[GGwF6cUaoE:M>XYWޠ&ҁ9cbrn΂4l긌-Hzp%b)Gҍ"_D$iJbw\+ԥq$0T,4M_ҮR8?|02=W*2qoAE/L6T0pL~.<6&xiBgu L|z$$eeΦU<㈋k?D5O+%3!ܞ"=X_fMW{j5??o+;3(ƶ27hKVIoXSE#EXگ^dT$W"ۄӜWHD%2O"-:[6,#n46g(>>o|6 Wc=vcSdM5}>`=Qޓ"-ΙYؓK Mڿ"PlN1SYIOWB+CH.e~; r!^&4 W.$ilcD,jN$ƢlxU`{R%EC[myJ^@$<մK0"$[i7pm5VNMP\=M@ݻH~N؝y8Bֶ$o'G/U2M D7s+Xu)ٺvbgWN v٪B>!aTzil_=p,ـif^" ˋ c'y /4r۪ #mClkj!.Q̳Tݚ֋;+H$Sϗ5-1'+j>~tAJɛDnT<vĢ=RXXbo}\JoFx1 kR#v nuf403D!sdWo$aFDwfu ~z]5/ CxSΏˌz ktl(||Y]ht}l$?eѓ$WpH{_mU(zr-TT2bnkWw=[9s XhSS!fwGzus5gi{iͶ'Xª|7nKv6'҇B^-LKF]]l!G$C&\5 CĨ-O2Ur3\ qO](z[z+7Ŷi]|΍O۶j _Aڝ%[NjAB3#fzވO4}Д rez-HAGm !hsNƍ%ՍTDe/҇dWրDq 9Xo;)Q"=%Շw/g!r+X+т#LdGJ?59Kd7gor$Ёl^,/v*P J2# :dC"Z]kþ'dG|:bIlׯ!c w-Ϭ|wW֡S}|/{665dxf[:0p1B,kGeV!}o-a/tNvVo6O2ݵ; Ls~CX--W"Ât PiCK)I|׆o21#NA"t{v# <{k;ُqJDLL"x` q3Mx6hϙP*Q߽dx㌿GEkDp]TiPz:uzyhp ^5% kG}(ٳu+(gx4de'UĘ[Sρ^d~ڧ UVSBn[aى ظW;94v dBُwMV* HN"Q1>cyC[ɎR+LͰXS/Vؔ0Sn0RGjE?uV ;g);*=Ǝt+~myWĥ/T~ H9ۄo8ß LRJ3#W9A©8kKayQ[fw!QC Z}r AD*[`1bBq$ONWb2 160;Jf7a z :?;Gc}5jB>1R3Ǽs64#%_y{c5x2ƒD*/ c8BTtR`_P6{Ɔ^'msS71PEMuG/b_miʾ*[m5'b؏Ih"Lļdk_GopԵf|Qj M~>2Bnc7il%/ sWOp$-]Y'-TI |}|S &^ݿ=m&ʼn2#WO&R6[#>|-rKZfb.FNWfӨer mje?ISCUSj{9ic$gHX hIz$Sw Bݪ .:7U4}~1y/Wy^T~^R"ﮘ-4fb'^^\ŇqɆdlm*-U2IENDB`xq~=sq~ q~=sq~ q~=sq~ q~Nq~1q~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~Ksq~Lq~=sq~ q~=sq~ q~=sq~ q~=sq~ xtjava.awt.Dimensionsrjava.awt.DimensionA׬_DIheightIwidthxpq~(sq~)uq~,t%gr.cti.eslate.masterclock.MasterClocktgr.cti.eslate.stage.Staget%gr.cti.eslate.chronometer.Chronometert%gr.cti.eslate.eslateLabel.ESlateLabelt'gr.cti.eslate.eslateSlider.ESlateSlidert3gr.cti.eslate.eslateToggleButton.ESlateToggleButtonq~q~q~t+gr.cti.eslate.eslateTextArea.ESlateTextAreaq~q~t'gr.cti.eslate.eslateButton.ESlateButtontgr.cti.eslate.logo.Logoq~tgr.cti.eslate.canvas.Canvasppppq~(sq~)uq~, ppppppppppq~auq~bq~1q~]q~q~q~pq~q~q~&q~q~q~q~Jq~dq~Yq~q~t&gr.cti.eslate.base.container.LayerInfosq~q~t1.0sq~?@w t Layer namessq~ tDefault layer namesq~ xsq~ q~auq~btΠροκαθορισμένοq~Nq~ xq~euq~fq~sq~xVector;ur[Ljava.util.Vector; 0hoxpsrjava.util.Vectorٗ}[;IcapacityIncrementI elementCount[ elementDatat[Ljava/lang/Object;xpur[Ljava.lang.Object;Xs)lxp tTickpppppppppsq~uq~ tTime in secondspppppppppsq~uq~ t Valuepppppppppq~uq~sq~uq~ ttickpppppppppsq~uq~ tsecspppppppppsq~uq~ tValuepppppppppq~Cuq~Dq~[q~`q~[q~Cuq~Dq~q~q~q~uq~sq~uq~ tTickpppppppppsq~uq~ q~pppppppppsq~uq~ q~pppppppppq~uq~sq~uq~ ttickpppppppppsq~uq~ q~pppppppppsq~uq~ q~pppppppppq~auq~bppppppppppppppppq~euq~ftjava.lang.Stringt(Mechanical Energy Preservation principletjava.lang.Booleansrjava.lang.Boolean r՜Zvaluexpq~sq~q~sq~q~sq~q~sq~xStop. Ball Mass OCanvas Slope Angle O NotesToggleBNotes StageSpring Constant OSpring Stretch OPlay ChronometerlLogo^I Masterclock LogoToggle " ESlateLabel'Simulation Time (secs) O,sr"gr.cti.eslate.utils.ESlateFieldMap1 ILatLjava/util/Hashtable;Lbt"Lgr/cti/typeArray/ObjectBaseArray;LctLjava/lang/String;Ldt!Lgr/cti/typeArray/ClassBaseArray;xpt2.0.0t1.0.3srjava.util.Hashtable%!JF loadFactorI thresholdxp?@#w/tIconsrjava.lang.Integer⠤8Ivaluexrjava.lang.Number xptVerticalAlignmentsq~ t Backgroundsq~ tDoubleBufferedsq~ tDisabledSelectedIconsq~ tRolloverEnabledsq~ t BorderPaintedsq~ tOpaquesq~ t MaximumSizesq~ t DisabledIconsq~ tVerticalTextPositionsq~ tDebugGraphicsOptionssq~ tContentAreaFilledsq~ t Foregroundsq~ tDefaultCapablesq~ tMarginsq~ t AlignmentYsq~ t AlignmentXsq~ tHorizontalTextPositionsq~ tSelectedsq~ tTextsq~ tHorizontalAlignmentsq~ t MinimumSizesq~ t ActionCommandsq~ tFontsq~ t FocusPaintedsq~ tEnabledsq~ xsq~ tjava.lang.Floatsrjava.lang.Floatɢ<Fvaluexq~ q~Csq~D?t java.awt.Fontsr java.awt.Fontš5VsIfontSerializedDataVersionF pointSizeIsizeIstyleLfRequestedAttributesq~Lnameq~xpA@ sq~?@w srjava.awt.font.TextAttributekx Fxr/java.text.AttributedCharacterIterator$Attributet&G\Lnameq~xpt transformsr java.awt.font.TransformAttribute.0ZL transformtLjava/awt/geom/AffineTransform;xpsrjava.awt.geom.AffineTransformxJbDm00Dm01Dm02Dm10Dm11Dm12xp??xsq~Ktsizesq~DA@sq~Ktfamilyt Helveticaxq~Yxtjava.lang.Booleansrjava.lang.Boolean r՜Zvaluexpq~Zsq~[q~Zsq~[q~Zsq~[q~Zsq~[q~Zsq~[q~Zsq~[q~Zsq~[q~Zsq~[tjava.lang.Integersq~ q~esq~ q~esq~ q~esq~ q~esq~ tjava.lang.Stringtq~kq~lt!javax.swing.plaf.InsetsUIResourcesr!javax.swing.plaf.InsetsUIResourceNcY\xrjava.awt.Insetsv3:IbottomIleftIrightItopxpt javax.swing.plaf.ColorUIResourcesr javax.swing.plaf.ColorUIResourcekSxrjava.awt.Color3uFfalphaIvalueLcstLjava/awt/color/ColorSpace;[ frgbvaluet[F[fvalueq~uL theContexttLjava/awt/PaintContext;xpppppq~qsq~rpppptjava.awt.Dimensionsrjava.awt.DimensionA׬_DIheightIwidthxp%=q~ysq~z%=t*gr.cti.eslate.utils.NewRestorableImageIconsr*gr.cti.eslate.utils.NewRestorableImageIconƒƯ~GIaxpzPNG  IHDRJLIDATxڭ 1 x}/0%jWv-MgI5 <9\p~7s_دr j^baNSÀZPTt: Έ$dvm`f3 C#naZl~h4g\p'X$8jPx)%;sY6Nظ*w\GakG񑦩 q7j..G$IO Z@`LmpYė,];!f2U sXIߍ[Nj\>"2`c#E '@DZARG\O>>An̍Z#V5$v6SD \[gWNPj`fcQvio:qʆxkBSW9WC汏Q;\;}S W CYkS infj84EWUz'ք:LpaintImmediatelyClipq~2L preferredSizeq~>LvetoableChangeSupportt"Ljava/beans/VetoableChangeSupport;LwindowInputMaptLjavax/swing/ComponentInputMap;xrjava.awt.Container@s 'IcontainerSerializedDataVersionI ncomponents[ componentt[Ljava/awt/Component;L dispatchert Ljava/awt/LightweightDispatcher;L layoutMgrtLjava/awt/LayoutManager;LmaxSizeq~>xrjava.awt.ComponentY<IcomponentSerializedDataVersionZenabledJ eventMaskZhasFocusIheightZisPackedZnameExplicitlySetZ newEventsOnlyZvalidZvisibleIwidthIxIyLaccessibleContextq~3L backgroundtLjava/awt/Color;L changeSupportt"Ljava/beans/PropertyChangeSupport;LcursortLjava/awt/Cursor;L dropTargettLjava/awt/dnd/DropTarget;LfonttLjava/awt/Font;L foregroundq~FLlocaletLjava/util/Locale;LminSizeq~>Lnameq~LpeerFontq~JLpopupstLjava/util/Vector;LprefSizeq~>xpsq~q~t1sq~?@w tWidthsq~ tNamesq~ tOpaquesq~ tHeightsq~ xsq~ tjava.lang.StringtΖωγραφική1tjava.lang.Booleansrjava.lang.Boolean r՜Zvaluexptjava.lang.Integersq~ q~_sq~ 7xsq~q~t1sq~?@w q~Ssq~ tImagesq~ xsq~ t*gr.cti.eslate.utils.NewRestorableImageIconsr*gr.cti.eslate.utils.NewRestorableImageIconƯ~GIaxpzPNG  IHDR;NIDATxAn:QehO<1@ȟlhF,O:o{-}ߟ fff 433@hffB333-mR8wL-$)R  BP @h A(B BP @h A(B BЅ.B BPP @h %B BPP @h %B BPP Ah B3 B @hBP 4@(P @( f B3 B @hBP 4@(P @( f B3 B @h t P@h @(% B P@h @(% B P@h @(B BP @h A(B BP @h A(B BХ.B BPP @h %B BPP @h %B BPP BP 4@(P @( f B3 B @hBP 4@(P @( f B3 B @hBP 4@(P  BB@(P 4J  BB@(P 4J  BB@(P 4J  !B@B@(P 4  !B@B@(P 4   ] 4  B@(@(J 4  B@(@(J 4  B@(@( f B3 B @hBP 4@(P @( f B3 B @hBP 4@(P @( f B3 Bz@BBB@(P 4J  BB@(P 4J  BB@(P 4  !B@B@(P 4  !B@B@(P 4  K] 4  B@(@(J 4  B@(@(J 4  B@(@( f B3 B @hBP 4@(P @( f B3 B @hBP 4@(P @( f B3 @h t P@h @(% B P@h @(% B P@h @(B BP @h A(B BP @h A(B BPP @h %B BPP @h %B BPP @h %B @hBP 4@(P @( f B3 B @hBP 4@(P @( f B3 B @hBP 4@(]@h @(% B P@h @(% B P@h @(% B P @h A(B BP @h A(B BP t BPP @h %B BPP @h %B BPP @h BB @hBP 4@(P#B(EsP]-~{q>3J=|޲0|ÁœgB+H5K ҄5.їSA<}+֟Uw]\9[g<~޲) ,A%y +j|}Ehн|OKD[Ծ,b/;O޲05>kag?4̝'V ChffB33!|GUL'zؐ7IENDB`Ζωγραφική1xq~Zq~[xxppppppppptjava.awt.Colorsrjava.awt.Color3uFfalphaIvalueLcstLjava/awt/color/ColorSpace;[ frgbvaluet[F[fvalueq~oL theContexttLjava/awt/PaintContext;xpppppq~lsq~mppppq~lsq~mppppq~Zt1q~Zt5q~Zt0q~\sq~]q~_sq~ q~_sq~ q~\sq~]q~\sq~]tgr.cti.typeArray.BoolBaseArraysrgr.cti.typeArray.BoolBaseArray2<),[ baseArrayt[Zxrgr.cti.typeArray.ArrayBase0zgI countLimitI countPresentI maximumGrowthxp ur[ZW 9]xp t$gr.cti.eslate.utils.BorderDescriptorsq~q~t2.0sq~?@w tBorderAttributessq~ tBorderClassNamesq~ xsq~ q~Zt"javax.swing.border.SoftBevelBordertjava.util.Hashtablesq~?@w tShadowOuterColorsq~m]]]pppptShadowInnerColorsq~mpppptHighlightOuterColorsq~mppppt BevelTypesq~ tHighlightInnerColorsq~mppppxxxsr"gr.cti.eslate.utils.ESlateFieldMap1 ILatLjava/util/Hashtable;Lbt"Lgr/cti/typeArray/ObjectBaseArray;LctLjava/lang/String;Ldt!Lgr/cti/typeArray/ClassBaseArray;xpt2.0.0t1.0srjava.util.Hashtable%!JF loadFactorI thresholdxp?@#w/t PaintLabelssrjava.lang.Integer⠤8Ivaluexrjava.lang.Number xpt PaintTickssq~ tBordersq~ tMinimumsq~ t Backgroundsq~ t SnapToTickssq~ tDoubleBufferedsq~ tOpaquesq~ t MaximumSizesq~ tMaximumsq~ tDebugGraphicsOptionssq~ t Foregroundsq~ t AlignmentYsq~ t AlignmentXsq~ tInvertedsq~ tMinorTickSpacingsq~ tMajorTickSpacingsq~ t MinimumSizesq~ tFontsq~ t Orientationsq~ t PaintTracksq~ tValuesq~ tEnabledsq~ xsq~ t$gr.cti.eslate.utils.BorderDescriptorsq~q~t2.0sq~?@w tBorderAttributessq~ xsq~ tjava.util.Hashtablesq~?@w xxtjava.lang.Floatsrjava.lang.Floatɢ<Fvaluexq~ ?q~Dsq~E?t java.awt.Fontsr java.awt.Fontš5VsIfontSerializedDataVersionF pointSizeIsizeIstyleLfRequestedAttributesq~Lnameq~xpA@ sq~?@w srjava.awt.font.TextAttributekx Fxr/java.text.AttributedCharacterIterator$Attributet&G\Lnameq~xpt transformsr java.awt.font.TransformAttribute.0ZL transformtLjava/awt/geom/AffineTransform;xpsrjava.awt.geom.AffineTransformxJbDm00Dm01Dm02Dm10Dm11Dm12xp??xsq~Ltsizesq~EA@sq~Ltfamilyt Helveticaxq~Zxtjava.lang.Booleansrjava.lang.Boolean r՜Zvaluexpq~[sq~\q~[sq~\q~[sq~\q~[sq~\q~[sq~\q~[sq~\q~[sq~\tjava.lang.Integersq~ q~esq~ tjava.awt.Colorsrjava.awt.Color3uFfalphaIvalueLcstLjava/awt/color/ColorSpace;[ frgbvaluet[F[fvalueq~kL theContexttLjava/awt/PaintContext;xpppppt javax.swing.plaf.ColorUIResourcesr javax.swing.plaf.ColorUIResourcekSxq~ippppq~esq~ Yq~esq~ tjava.awt.Dimensionsrjava.awt.DimensionA׬_DIheightIwidthxpq~ssq~t$q~esq~ q~esq~ q~esq~ xsr"gr.cti.eslate.utils.ESlateFieldMap1 ILatLjava/util/Hashtable;Lbt"Lgr/cti/typeArray/ObjectBaseArray;LctLjava/lang/String;Ldt!Lgr/cti/typeArray/ClassBaseArray;xpt2.0.0t1.0srjava.util.Hashtable%!JF loadFactorI thresholdxp?@#w/tIconsrjava.lang.Integer⠤8Ivaluexrjava.lang.Number xptVerticalAlignmentsq~ t Backgroundsq~ tDoubleBufferedsq~ tDisabledSelectedIconsq~ tRolloverEnabledsq~ t BorderPaintedsq~ tOpaquesq~ t MaximumSizesq~ t DisabledIconsq~ tVerticalTextPositionsq~ tDebugGraphicsOptionssq~ tContentAreaFilledsq~ t Foregroundsq~ tMarginsq~ t AlignmentYsq~ t AlignmentXsq~ tHorizontalTextPositionsq~ tSelectedsq~ tHorizontalAlignmentsq~ tTextsq~ t MinimumSizesq~ t ActionCommandsq~ tFontsq~ t ToolTipTextsq~ t FocusPaintedsq~ tEnabledsq~ xsq~ tjava.lang.Floatsrjava.lang.Floatɢ<Fvaluexq~ q~Csq~D?t java.awt.Fontsr java.awt.Fontš5VsIfontSerializedDataVersionF pointSizeIsizeIstyleLfRequestedAttributesq~Lnameq~xpA@ sq~?@w srjava.awt.font.TextAttributekx Fxr/java.text.AttributedCharacterIterator$Attributet&G\Lnameq~xpt transformsr java.awt.font.TransformAttribute.0ZL transformtLjava/awt/geom/AffineTransform;xpsrjava.awt.geom.AffineTransformxJbDm00Dm01Dm02Dm10Dm11Dm12xp??xsq~Ktsizesq~DA@sq~Ktfamilyt Helveticaxq~Yxtjava.lang.Booleansrjava.lang.Boolean r՜Zvaluexpq~Zsq~[q~Zsq~[q~Zsq~[q~Zsq~[q~Zsq~[q~Zsq~[q~Zsq~[tjava.lang.Integersq~ q~dsq~ q~dsq~ q~dsq~ q~dsq~ tjava.lang.Stringtq~jtNotebookq~jq~kt!javax.swing.plaf.InsetsUIResourcesr!javax.swing.plaf.InsetsUIResourceNcY\xrjava.awt.Insetsv3:IbottomIleftIrightItopxpt javax.swing.plaf.ColorUIResourcesr javax.swing.plaf.ColorUIResourcekSxrjava.awt.Color3uFfalphaIvalueLcstLjava/awt/color/ColorSpace;[ frgbvaluet[F[fvalueq~uL theContexttLjava/awt/PaintContext;xpppppq~qsq~rpppptjava.awt.Dimensionsrjava.awt.DimensionA׬_DIheightIwidthxp;Sq~ysq~z;St*gr.cti.eslate.utils.NewRestorableImageIconsr*gr.cti.eslate.utils.NewRestorableImageIconƒƯ~GIaxpzPNG  IHDR22?UIDATx {u%[ &uLvaU?~5iYfMBkvR,C!BܧzDUCe90Pj0<@|biXaio۶Ԧ\Ҡ!48qrť U4J,ƺs ER{#_Q@* N([4p?+fJ%7 KQ @>B "p! `d[ D@WOjM3  C * 9cK1@ :8{K .N[hjTB_벗>IENDB`xq~}sq~~zPNG  IHDR22?UIDATx {u%[ &uLvaU?~5iYfMBkvR,C!BܧzDUCe90Pj0<@|biXaio۶Ԧ\Ҡ!48qrť U4J,ƺs ER{#_Q@* N([4p?+fJ%7 KQ @>B "p! `d[ D@WOjM3  C * 9cK1@ :8{K .N[hjTB_벗>IENDB`xq~}sq~~zPNG  IHDR22?eIDATxر0 `ˑGptt1}4FGzEEL۔L0 ^oתbR\|Z2" mN-|ƵXDwxn [n ihaAJTPӠk7F*#6i5_}߻> ӏ 6"x>'!Xĵ[q>;?L(_SBApj5M3! R7C0Dθ8v;CQ;|LS ;V}<ۛR Foq5@ χf()@YC`>b l`c{{P1ʿQh_^NfIENDB`xxsr"gr.cti.eslate.utils.ESlateFieldMap1 ILatLjava/util/Hashtable;Lbt"Lgr/cti/typeArray/ObjectBaseArray;LctLjava/lang/String;Ldt!Lgr/cti/typeArray/ClassBaseArray;xpt2.0.0t1.0srjava.util.Hashtable%!JF loadFactorI thresholdxp?@#w/t CaretPositionsrjava.lang.Integer⠤8Ivaluexrjava.lang.Number xptSelectionStartsq~ tLineWrapsq~ t Backgroundsq~ tTabSizesq~ tDisabledTextColorsq~ tDoubleBufferedsq~ tFireOnEnterPresssq~ tOpaquesq~ t MaximumSizesq~ tDebugGraphicsOptionssq~ tSelectedTextColorsq~ t Foregroundsq~ tMarginsq~ t AlignmentYsq~ t AlignmentXsq~ tSelectionColorsq~ tColumnssq~ t WrapStyleWordsq~ t CaretColorsq~ tRowssq~ tEditablesq~ t SelectionEndsq~ tTextsq~ t MinimumSizesq~ tFontsq~ tEnabledsq~ xsq~ tjava.lang.Floatsrjava.lang.Floatɢ<Fvaluexq~ ?q~Csq~D?t java.awt.Fontsr java.awt.Fontš5VsIfontSerializedDataVersionF pointSizeIsizeIstyleLfRequestedAttributesq~Lnameq~xpA@ sq~?@w srjava.awt.font.TextAttributekx Fxr/java.text.AttributedCharacterIterator$Attributet&G\Lnameq~xpt transformsr java.awt.font.TransformAttribute.0ZL transformtLjava/awt/geom/AffineTransform;xpsrjava.awt.geom.AffineTransformxJbDm00Dm01Dm02Dm10Dm11Dm12xp??xsq~Ktsizesq~DA@sq~Ktfamilyt Helveticaxq~Yxtjava.lang.Booleansrjava.lang.Boolean r՜Zvaluexpq~Zsq~[q~Zsq~[q~Zsq~[q~Zsq~[q~Zsq~[tjava.lang.Integersq~ q~bsq~ q~bsq~ tjava.lang.Stringtq~bsq~ q~bsq~ q~bsq~ q~bsq~ t!javax.swing.plaf.InsetsUIResourcesr!javax.swing.plaf.InsetsUIResourceNcY\xrjava.awt.Insetsv3:IbottomIleftIrightItopxpt javax.swing.plaf.ColorUIResourcesr javax.swing.plaf.ColorUIResourcekSxrjava.awt.Color3uFfalphaIvalueLcstLjava/awt/color/ColorSpace;[ frgbvaluet[F[fvalueq~tL theContexttLjava/awt/PaintContext;xpppppq~psq~qppppq~pq~wq~psq~qppppq~psq~qppppq~psq~qppppq~Zsq~[tjava.awt.Dimensionsrjava.awt.DimensionA׬_DIheightIwidthxpq~|sq~}/xsr"gr.cti.eslate.utils.ESlateFieldMap1 ILatLjava/util/Hashtable;Lbt"Lgr/cti/typeArray/ObjectBaseArray;LctLjava/lang/String;Ldt!Lgr/cti/typeArray/ClassBaseArray;xpt2.0.0t1srjava.util.Hashtable%!JF loadFactorI thresholdxp?@w tTOOLBAR_VISIBLE_PROPERTYsrjava.lang.Integer⠤8Ivaluexrjava.lang.Number xptMENUBAR_VISIBLE_PROPERTYsq~ tSCENE_PROPERTYsq~ tBorderDescriptorsq~ xsq~ tgr.cti.eslate.stage.Scenesq~q~t1sq~?@w t'CONTROL_POINT_MOVEMENT_ENABLED_PROPERTYsq~ t OBJECT_MOVEMENT_ENABLED_PROPERTYsq~ tAXIS_VISIBLE_PROPERTYsq~ tMARKS_OVER_SHAPES_PROPERTYsq~ tGRID_TYPE_PROPERTYsq~ t WORLD_TO_VIEW_TRANSFORM_PROPERTYsq~ tCOORDINATES_VISIBLE_PROPERTYsq~ tCONTROL_POINTS_VISIBLE_PROPERTYsq~ tGRID_VISIBLE_PROPERTYsq~ tCOLOR_PROPERTYsq~ t OBJECTS_AND_CONSTRAINTS_PROPERTYsq~ xsq~ tjava.awt.geom.AffineTransformsrjava.awt.geom.AffineTransformxJbDm00Dm01Dm02Dm10Dm11Dm12xp?@?@nxt javax.swing.plaf.ColorUIResourcesr javax.swing.plaf.ColorUIResourcekSxrjava.awt.Color3uFfalphaIvalueLcstLjava/awt/color/ColorSpace;[ frgbvaluet[F[fvalueq~7L theContexttLjava/awt/PaintContext;xppppptjava.lang.Booleansrjava.lang.Boolean r՜Zvaluexpq~:sq~;tjava.lang.Integersq~ q~:sq~;q~:sq~;q~:sq~;t[Ljava.lang.Object;ur[Ljava.lang.Object;Xs)lxpsrjava.util.Vectorٗ}[;IcapacityIncrementI elementCount[ elementDatat[Ljava/lang/Object;xpuq~D srgr.cti.eslate.stage.objects.BoxV xr)gr.cti.eslate.stage.objects.PhysicsObject {0_ xr'gr.cti.eslate.stage.objects.SceneObject {0_ xrgr.cti.eslate.stage.BaseObjectXW) xpsq~q~t1sq~?@w t MASS_PROPERTYsq~ q~+sq~ tCONTROL_POINTS_PROPERTYsq~ tVELOCITY_PROPERTYsq~ tACCELERATION_PROPERTYsq~ t NAME_PROPERTYsq~ xsq~ tjava.lang.StringtBox1t#[Lgr.cti.eslate.stage.ControlPoint;ur#[Lgr.cti.eslate.stage.ControlPoint;@Kxpsr gr.cti.eslate.stage.ControlPointo xq~Msq~q~t1sq~?@w tLOCATION_X_PROPERTYsq~ tLOCATION_Y_PROPERTYsq~ q~[sq~ xsq~ q~^t ControlPoint1tjava.lang.Doublesrjava.lang.DoubleJ)kDvaluexq~ .q~osq~pxxsq~csq~q~t1sq~?@w q~hsq~ q~jsq~ q~[sq~ xsq~ q~^t ControlPoint2q~osq~pq~osq~p@Ixxtjava.awt.Colorsq~5q_ppppq~osq~ptgr.cti.shapes.DoublePoint2Dsq~psq~pq~sq~psq~pxxsq~Jsq~q~t1sq~?@w q~Rsq~ q~+sq~ q~Usq~ q~Wsq~ q~Ysq~ q~[sq~ xsq~ q~^tBox2q~`uq~asq~csq~q~t1sq~?@w q~hsq~ q~jsq~ q~[sq~ xsq~ q~^t ControlPoint3q~osq~p@{q~osq~pBxxsq~csq~q~t1sq~?@w q~hsq~ q~jsq~ q~[sq~ xsq~ q~^t ControlPoint4q~osq~p@q~osq~p5xxq~~sq~5q_ppppq~osq~pq~sq~psq~pq~sq~psq~pxxsr!gr.cti.eslate.stage.objects.SlopeJ~' xq~Ksq~q~t1sq~?@w q~Rsq~ q~+sq~ q~Usq~ q~Wsq~ q~Ysq~ q~[sq~ xsq~ q~^tSlope1q~`uq~asq~csq~q~t1sq~?@w q~hsq~ q~jsq~ q~[sq~ xsq~ q~^t ControlPoint5q~osq~p@yq~osq~p5xxsq~csq~q~t1sq~?@w q~hsq~ q~jsq~ q~[sq~ xsq~ q~^t ControlPoint6q~osq~p@q~osq~p@eáLlxxq~~sq~5q_ppppq~osq~pq~sq~psq~pq~sq~psq~pxxsr"gr.cti.eslate.stage.objects.Springo xq~Ksq~q~t1sq~?@w tSPRING_CONSTANT_PROPERTYsq~ tNATURAL_LENGTH_PROPERTYsq~ q~Rsq~ q~+sq~ q~Usq~ q~Wsq~ q~Ysq~ q~[sq~ xsq~ q~^tSpring1q~`uq~asq~csq~q~t1sq~?@w q~hsq~ q~jsq~ q~[sq~ xsq~ q~^t ControlPoint7q~osq~pq~osq~pxxsq~csq~q~t1sq~?@w q~hsq~ q~jsq~ q~[sq~ xsq~ q~^t ControlPoint8q~osq~p@_q~osq~pxxq~~sq~5dddppppq~osq~pq~sq~pΞLsq~pq~sq~p@6(ksq~pq~osq~p@>q~osq~p@e@xxsr gr.cti.eslate.stage.objects.Ball {0_ xq~Ksq~q~t1sq~?@w q~Rsq~ q~+sq~ q~Usq~ q~Wsq~ q~Ysq~ q~[sq~ xsq~ q~^tBall1q~`uq~asq~csq~q~t1sq~?@w q~hsq~ q~jsq~ q~[sq~ xsq~ q~^t ControlPoint9q~osq~p@b`q~osq~pxxsq~csq~q~t1sq~?@w q~hsq~ q~jsq~ q~[sq~ xsq~ q~^tControlPoint10q~osq~p@dq~osq~pxxq~~sq~5ppppq~osq~p@Lq~sq~pΞLsq~pq~sq~p@6(ksq~pxxpppppsq~Fuq~D ppppppppppq~:sq~;q~:sq~;xq~:sq~;q~:sq~;t$gr.cti.eslate.utils.BorderDescriptorsq~q~t2.0sq~?@w tBorderAttributessq~ tBorderClassNamesq~ xsq~ q~^tjavax.swing.border.BevelBordertjava.util.Hashtablesq~?@w tShadowOuterColorsq~5]]]pppptShadowInnerColorsq~5pppptHighlightOuterColorsq~5ppppt BevelTypesq~ tHighlightInnerColorsq~5ppppxxxsr"gr.cti.eslate.utils.ESlateFieldMap1 ILatLjava/util/Hashtable;Lbt"Lgr/cti/typeArray/ObjectBaseArray;LctLjava/lang/String;Ldt!Lgr/cti/typeArray/ClassBaseArray;xpt2.0.0t1.0srjava.util.Hashtable%!JF loadFactorI thresholdxp?@#w/t PaintLabelssrjava.lang.Integer⠤8Ivaluexrjava.lang.Number xpt PaintTickssq~ tBordersq~ tMinimumsq~ t Backgroundsq~ t SnapToTickssq~ tDoubleBufferedsq~ tOpaquesq~ t MaximumSizesq~ tMaximumsq~ tDebugGraphicsOptionssq~ t Foregroundsq~ t AlignmentYsq~ t AlignmentXsq~ tInvertedsq~ tMinorTickSpacingsq~ tMajorTickSpacingsq~ t MinimumSizesq~ tFontsq~ t Orientationsq~ t PaintTracksq~ tValuesq~ tEnabledsq~ xsq~ t$gr.cti.eslate.utils.BorderDescriptorsq~q~t2.0sq~?@w tBorderAttributessq~ xsq~ tjava.util.Hashtablesq~?@w xxtjava.lang.Floatsrjava.lang.Floatɢ<Fvaluexq~ ?q~Dsq~E?t java.awt.Fontsr java.awt.Fontš5VsIfontSerializedDataVersionF pointSizeIsizeIstyleLfRequestedAttributesq~Lnameq~xpA@ sq~?@w srjava.awt.font.TextAttributekx Fxr/java.text.AttributedCharacterIterator$Attributet&G\Lnameq~xpt transformsr java.awt.font.TransformAttribute.0ZL transformtLjava/awt/geom/AffineTransform;xpsrjava.awt.geom.AffineTransformxJbDm00Dm01Dm02Dm10Dm11Dm12xp??xsq~Ltsizesq~EA@sq~Ltfamilyt Helveticaxq~Zxtjava.lang.Booleansrjava.lang.Boolean r՜Zvaluexpq~[sq~\q~[sq~\q~[sq~\q~[sq~\q~[sq~\q~[sq~\q~[sq~\tjava.lang.Integersq~ q~esq~ tjava.awt.Colorsrjava.awt.Color3uFfalphaIvalueLcstLjava/awt/color/ColorSpace;[ frgbvaluet[F[fvalueq~kL theContexttLjava/awt/PaintContext;xpppppt javax.swing.plaf.ColorUIResourcesr javax.swing.plaf.ColorUIResourcekSxq~ippppq~esq~ dq~esq~ tjava.awt.Dimensionsrjava.awt.DimensionA׬_DIheightIwidthxpq~ssq~t$q~esq~ q~esq~ q~esq~ xsr"gr.cti.eslate.utils.ESlateFieldMap1 ILatLjava/util/Hashtable;Lbt"Lgr/cti/typeArray/ObjectBaseArray;LctLjava/lang/String;Ldt!Lgr/cti/typeArray/ClassBaseArray;xpt2.0.0t1.0srjava.util.Hashtable%!JF loadFactorI thresholdxp?@#w/t PaintLabelssrjava.lang.Integer⠤8Ivaluexrjava.lang.Number xpt PaintTickssq~ tBordersq~ tMinimumsq~ t Backgroundsq~ t SnapToTickssq~ tDoubleBufferedsq~ tOpaquesq~ t MaximumSizesq~ tMaximumsq~ tDebugGraphicsOptionssq~ t Foregroundsq~ t AlignmentYsq~ t AlignmentXsq~ tInvertedsq~ tMinorTickSpacingsq~ tMajorTickSpacingsq~ t MinimumSizesq~ tFontsq~ t Orientationsq~ t PaintTracksq~ tValuesq~ tEnabledsq~ xsq~ t$gr.cti.eslate.utils.BorderDescriptorsq~q~t2.0sq~?@w tBorderAttributessq~ xsq~ tjava.util.Hashtablesq~?@w xxtjava.lang.Floatsrjava.lang.Floatɢ<Fvaluexq~ ?q~Dsq~E?t java.awt.Fontsr java.awt.Fontš5VsIfontSerializedDataVersionF pointSizeIsizeIstyleLfRequestedAttributesq~Lnameq~xpA@ sq~?@w srjava.awt.font.TextAttributekx Fxr/java.text.AttributedCharacterIterator$Attributet&G\Lnameq~xpt transformsr java.awt.font.TransformAttribute.0ZL transformtLjava/awt/geom/AffineTransform;xpsrjava.awt.geom.AffineTransformxJbDm00Dm01Dm02Dm10Dm11Dm12xp??xsq~Ltsizesq~EA@sq~Ltfamilyt Helveticaxq~Zxtjava.lang.Booleansrjava.lang.Boolean r՜Zvaluexpq~[sq~\q~[sq~\q~[sq~\q~[sq~\q~[sq~\q~[sq~\q~[sq~\tjava.lang.Integersq~ q~esq~ tjava.awt.Colorsrjava.awt.Color3uFfalphaIvalueLcstLjava/awt/color/ColorSpace;[ frgbvaluet[F[fvalueq~kL theContexttLjava/awt/PaintContext;xpppppt javax.swing.plaf.ColorUIResourcesr javax.swing.plaf.ColorUIResourcekSxq~ippppq~esq~ dq~esq~ tjava.awt.Dimensionsrjava.awt.DimensionA׬_DIheightIwidthxpq~ssq~t$q~esq~ q~esq~ q~esq~ +xsr"gr.cti.eslate.utils.ESlateFieldMap1 ILatLjava/util/Hashtable;Lbt"Lgr/cti/typeArray/ObjectBaseArray;LctLjava/lang/String;Ldt!Lgr/cti/typeArray/ClassBaseArray;xpt2.0.0t1.0srjava.util.Hashtable%!JF loadFactorI thresholdxp?@#w/tIconsrjava.lang.Integer⠤8Ivaluexrjava.lang.Number xptVerticalAlignmentsq~ t Backgroundsq~ tDoubleBufferedsq~ tDisabledSelectedIconsq~ tRolloverEnabledsq~ t BorderPaintedsq~ tOpaquesq~ t MaximumSizesq~ t DisabledIconsq~ tVerticalTextPositionsq~ tDebugGraphicsOptionssq~ tContentAreaFilledsq~ t Foregroundsq~ tMarginsq~ t AlignmentYsq~ t AlignmentXsq~ tHorizontalTextPositionsq~ tSelectedsq~ tHorizontalAlignmentsq~ tTextsq~ t MinimumSizesq~ t ActionCommandsq~ tFontsq~ t FocusPaintedsq~ tEnabledsq~ xsq~ tjava.lang.Floatsrjava.lang.Floatɢ<Fvaluexq~ q~Asq~B?t java.awt.Fontsr java.awt.Fontš5VsIfontSerializedDataVersionF pointSizeIsizeIstyleLfRequestedAttributesq~Lnameq~xpA@ sq~?@w srjava.awt.font.TextAttributekx Fxr/java.text.AttributedCharacterIterator$Attributet&G\Lnameq~xpt transformsr java.awt.font.TransformAttribute.0ZL transformtLjava/awt/geom/AffineTransform;xpsrjava.awt.geom.AffineTransformxJbDm00Dm01Dm02Dm10Dm11Dm12xp??xsq~Itsizesq~BA@sq~Itfamilyt Helveticaxq~Wxtjava.lang.Booleansrjava.lang.Boolean r՜Zvaluexpq~Xsq~Yq~Xsq~Yq~Xsq~Yq~Xsq~Yq~Xsq~Yq~Xsq~Yq~Xsq~Ytjava.lang.Integersq~ q~bsq~ q~bsq~ q~bsq~ q~bsq~ tjava.lang.Stringtq~hq~it!javax.swing.plaf.InsetsUIResourcesr!javax.swing.plaf.InsetsUIResourceNcY\xrjava.awt.Insetsv3:IbottomIleftIrightItopxpt javax.swing.plaf.ColorUIResourcesr javax.swing.plaf.ColorUIResourcekSxrjava.awt.Color3uFfalphaIvalueLcstLjava/awt/color/ColorSpace;[ frgbvaluet[F[fvalueq~rL theContexttLjava/awt/PaintContext;xpppppq~nsq~opppptjava.awt.Dimensionsrjava.awt.DimensionA׬_DIheightIwidthxp#;q~vsq~w#;t*gr.cti.eslate.utils.NewRestorableImageIconsr*gr.cti.eslate.utils.NewRestorableImageIconƒƯ~GIaxpzۉPNG  IHDRbkIDATx͖n0 EI}=H*cug^&"%):Y?}n[x>^Wn 'tM &Tv]X3}TV& @{^jvr 1'*,A 4hZVia݆sI8]ш ~@ Op&IxgKUE( :!GkDl:աØ̛NM@-IAq=`S#c`Q?ʜW9b ꀲ*D %+OnQm ៈԱiID38(<* v~rTY5@X$JICr5ũCNBPߏ7mkش/8hk<9$$! zcҏ/7-x9YAC^#4_ _blV:}ۑb_K KXfN_\z;HEڡ3~Oz LgW*~R2-Ꝝ 8IENDB`xq~zsq~{zۉPNG  IHDRbkIDATx͖n0 EI}=H*cug^&"%):Y?}n[x>^Wn 'tM &Tv]X3}TV& @{^jvr 1'*,A 4hZVia݆sI8]ш ~@ Op&IxgKUE( :!GkDl:աØ̛NM@-IAq=`S#c`Q?ʜW9b ꀲ*D %+OnQm ៈԱiID38(<* v~rTY5@X$JICr5ũCNBPߏ7mkش/8hk<9$$! zcҏ/7-x9YAC^#4_ _blV:}ۑb_K KXfN_\z;HEڡ3~Oz LgW*~R2-Ꝝ 8IENDB`xq~zsq~{zPNG  IHDRbktIDATx͖+@#["HdK,llD"H$DFƎPS9dv© ֋\.ӵ, n7πy6knL}S4b`_u.EMReXҬT5xaoC0YMyGu[S7ԱeIIȜ4M:iә&>xgvٵ%Kzdu-6`du/ag%QúP6T\KJV,r*ۊ*>DUyrzedx'<3Q6wa.hg_Gt\E785\ c;+`hX{+ Tۿå^3Hi⹹!K7av;?)Tej߼8/q86IENDB`xxsr"gr.cti.eslate.utils.ESlateFieldMap1 ILatLjava/util/Hashtable;Lbt"Lgr/cti/typeArray/ObjectBaseArray;LctLjava/lang/String;Ldt!Lgr/cti/typeArray/ClassBaseArray;xpt2.0.0t1.5.30srjava.util.Hashtable%!JF loadFactorI thresholdxp?@w tstartedsrjava.lang.Integer⠤8Ivaluexrjava.lang.Number xptrunningsq~ tintervalsq~ xsq~ tgr.cti.eslate.utils.TimeCountsrgr.cti.eslate.utils.TimeCount@5qğIhourIminIsecIusecxptjava.lang.Booleansrjava.lang.Boolean r՜Zvaluexpq~sq~xsr"gr.cti.eslate.utils.ESlateFieldMap1 ILatLjava/util/Hashtable;Lbt"Lgr/cti/typeArray/ObjectBaseArray;LctLjava/lang/String;Ldt!Lgr/cti/typeArray/ClassBaseArray;xpt2.0.0t2srjava.util.Hashtable%!JF loadFactorI thresholdxp?@w tBorderDescriptorsrjava.lang.Integer⠤8Ivaluexrjava.lang.Number xp tToolBarVisiblesq~ t OutputAreasq~ tBuffersq~ tMenuBarVisiblesq~ t FontSelectorsq~ tFontsq~ tExecQueueMaxSizesq~ t LevelClocksq~ t InputAreasq~ xsq~ tjava.lang.Stringt,';=================================================== ;-- Intialization functions ;==================================================== ;-- Intialization of basic simulation parameters MAKE "frameDelay 5 MAKE "TimeStep 0.3 MAKE "groundColor [113 95 0] MAKE "ballColor [181 169 167] MAKE "springColor [100 100 100] MAKE "UBarColor [200 0 0] MAKE "EkBarColor [0 200 0] MAKE "EdBarColor [0 0 200] MAKE "talkToVectors false ;-- The Reset function redraws the Scene (in the Stage component) ;-- by recreating and re-placing all objects accrordingly, ;-- and "solves" the new configuration based on the parameters ;-- specified by the user To Reset Startup Solve NewData End ;=================================================== ;-- Functions relating to the creation and initialization of the Scene ;==================================================== ;-- Recreates all scene objects (for this experiment) and places ;-- them approriatelly TO Startup ask "Stage [ Scene.DisableRefresh CreateSceneElements setupscene Scene.EnableRefresh ] End ;-- Creates and names the objects participating in this experiment To CreateSceneElements Scene.clear make "Wall (Scene.makeObject "Box) make "Floor (Scene.makeObject "Box) make "Slope (Scene.makeObject "Slope) make "Spring (Scene.makeObject "Spring) make "Ball (Scene.makeObject "Ball) End ;-- Places the objects in predefined positions To SetupScene Local ["radius "floorHeight "m "wallWidth] Make "radius 20 Make "m 30 Make "floorHeight 30 Make "wallWidth 30 ASK :Ball [ SetMass :m SetLocation (LIST 100+:radius 0) SetColor :ballColor SetRadius :radius ] ASK :Spring [ SetColor :springColor SetLocation [0 0] SetLength 100 SetNaturalLength 170 SetSpringConstant :m*(SQR 2*PI*0.1) ] ASK :Floor [ SetWidth 880 SetHeight :floorHeight SetLocation (LIST 440 -(:radius+1)-:floorHeight/2) SetColor :groundColor ] ASK :Wall [ SetHeight 2*((:radius+1)+:floorHeight) SetWidth :wallWidth SetLocation (LIST -:wallWidth/2 0) SetColor :groundColor ] ASK :Slope [ SetLocation (LIST 400 -(:radius+1)) SetWidth 480 SetAngle 30 SetColor :groundColor ] Make "g 9.81 End ;============================================= ;-- Functions implementing the simulation ;============================================= ;-- Executes the simulation for a given time frame To Play :fromTime :toTime local "toTimeMinusStep make "toTimeMinusStep :toTime-:TimeStep While [:fromTime<=:toTime] [ Simulate :fromTime Wait :frameDelay IfElse :fromTime>:toTimeMinusStep [Simulate :toTime Stop] [make "fromTime :fromTime+:TimeStep] ] End ;-- Calculates the position and state of all simulation objects ;-- participating in the experiment for every simulation cycle TO SIMULATE :t IF (:t>:t6) [ IFELSE (:t6=0) [MAKE "t 0] [MAKE "t (RealRemainder :t :t6)] ] Scene.DisableRefresh AnimateSpring :t AnimateBall :t Scene.EnableRefresh newData END ;-- "newTick" is called at every time tick to render the specific ;-- time snaphsot to newTick make "newFrame ask "Chronometer [CHRONOMETERSECONDS] IfElse :newFrame = :renderedFrame [] [Simulate :newFrame make "renderedFrame :newFrame] End ;-- Executes a specific phase of the simulation (6 phases in this ;-- configuration To Phase :N IF (:N<=0) [PRINT "|Valid phase numbers are >0| STOP] Run (LIST "PLAY (word ":t (REMAINDER :N-1 6)) (word ":t (REMAINDER :N 6))) End ;-- Solves the system of motion equations To Solve Make "TIME 0 Make "renderedFrame 0 ASK :Ball [ Make "m Mass ] ASK :Spring [ Make "L0 NaturalLength Make "x0 :L0-Length Make "k SpringConstant Make "w (SQRT :k/:m) Make "f0 3/4*(2*PI) Make "u0 :w*:x0 ] ASK :Slope [ Make "f Angle Make "sinf (sin :f) Make "cosf (cos :f) Make "SlopeX (FIRST LOCATION) ] ;-- Calculates the starting-ending time of every simulation phase Make "t0 0 IFELSE (:u0=0) [ Make "t1 :t0 Make "t2 :t0 Make "t3 :t0 Make "t4 :t0 Make "t5 :t0 Make "t6 :t0 ][ Make "t1 (2*PI/:w)/4 if :f=0 [PRINT "|Slope's Angle can't be 0| STOP] Make "radiusDiv2 (:radius)/2-200/:f Make "s1 :SlopeX-:L0-:radius-:radiusDiv2 Make "t2 :t1+:s1/:u0 Make "t3 :t2+(:u0/(:g*:sinf)) Make "s2y (SQR :u0)/(2*:g) Make "s2x :s2y*(COTAN :f) Make "t4 :t3+(:t3-:t2) Make "t5 :t4+(:t2-:t1) Make "t6 :t5+:t1 ] End ;-- Calculates the position/size of the spring for a given ;-- time t of the simulation To AnimateSpring :t ASK :Spring [ IF :t<=:t1[ SetLength :L0+:x0*(sinr :w*:t+:f0) SetVelocity (LIST :u0*(cosr :w*:t+:f0) 0) SetAcceleration (LIST -(sqr :w)*:x0*(sinr :w*:t +:f0) 0) STOP ] IF (AND :t>=:t5 :t<=:t6) [ Make "t (:t-:t5) SetLength :L0-(:x0*(sinr :w*:t)) SetVelocity (LIST -:u0*(cosr :w*:t) 0) SetAcceleration (LIST (sqr :w)*:x0*(sinr :w*:t) 0) STOP ] SetLength :L0 SetVelocity [0 0] SetAcceleration [0 0] ] END ;-- Calculates the position of the moving object (ball) ;-- for a given time t of the simulation To AnimateBall :t ASK :Ball [ IF :t<=:t1 [ SetLocation Spring.EndPoint.Location_PlusRadiusOnX SetVelocity Spring.Velocity SetAcceleration Spring.Acceleration STOP ] IF :t<=:t2 [ make "t (:t-:t1) SetLocation (LIST (:L0+:radius)+:u0*:t 0) SetVelocity (LIST :u0 0) SetAcceleration [0 0] STOP ] local "distance IF :t<=:t3 [ Make "t (:t-:t2) Make "distance :u0*:t-0.5*:g*:sinf*(sqr :t) SetLocation (LIST (:SlopeX-:radiusDiv2+:distance*:cosf) :distance*:sinf ) SetVelocity polar2cartesian (:u0-:g*:sinf*:t) :f SetAcceleration polar2cartesian (:g*:sinf) (180+:f) STOP ] IF :t<=:t4 [ make "t (:t-:t3) Make "distance 0.5*:g*:sinf*(sqr :t) SetLocation (LIST (:SlopeX-:radiusDiv2+:s2x-:distance*:cosf) :s2y-:distance*:sinf ) SetVelocity polar2cartesian (:g*:sinf*:t) (180+:f) SetAcceleration polar2cartesian (:g*sin :f) (180+:f) STOP ] IF :t<=:t5 [ make "t (:t-:t4) SetLocation (LIST :SlopeX-:radiusDiv2-:u0*:t 0) SetVelocity (LIST -:u0 0) SetAcceleration [0 0] STOP ] IF :t<=:t6 [ SetLocation Spring.EndPoint.Location_PlusRadiusOnX SetVelocity Spring.Velocity SetAcceleration Spring.Acceleration STOP ] PRINT "|Error! t should never be >t6... The SIMULATE proc should take care of this!| ] END ;-- For every simulation cycle, "newData" calculates the ;-- energy values TO NewData if :talkToVectors=true [ ask "Velocity [SetVector Mover.Velocity] ask "Acceleration [SetVector Mover.Acceleration] ask "Force [SetVector Mover.Force] ] local ["U "rU "Ek "rEk "Ed "rEd] make "Ek System.KineticEnergy make "Ed System.DynamicEnergy make "U :Ek+:Ed make "rEk (roundN :Ek 2) make "rEd (roundN :Ed 2) make "rU (roundN :rEk+:rEd 2) ASK "Canvas [ CanvasPage.DisableRefresh ClearCanvasPage BAR (word "U= :rU) :Ek+:Ed :U 1 3 :UBarColor BAR (word "Ek= :rEk) :Ek :U 2 3 :EkBarColor BAR (word "Ed= :rEd) :Ed :U 3 3 :EdBarColor CanvasPage.EnableRefresh ] END ;-- Draws the energy chart on the Canvas component using ;-- Canvas drawing primitives (this is a temporary solution until ;-- the functionality is replaced from a Chart component. TO BAR :caption :value :max :n :bars :fillColor local ["barStepX "upPaddingY "downPaddingY "barWidth "barX "pageHeight "barHeight] make "barStepX 5 make "upPaddingY 10 make "downPaddingY 20 make "barWidth integer (canvasPageWidth-(:bars+1)*:barStepX)/:bars make "barX :barStepX+(:n-1)*(:barWidth+:barStepX) make "pageHeight canvasPageHeight text (word word "\[ :caption "\]) :barX (:pageHeight-5) if :max=0 [STOP] make "barHeight integer :value*((:pageHeight-:upPaddingY-:downPaddingY)/:max) make "barY :pageHeight-:downPaddingY setCanvasFill :fillColor rectangle :barX :barY (:barX+:barWidth) (:barY-:barHeight) END ;-- Calculates the Mechanical Energy of the system TO System.MechanicEnergy output 0.5*:k*sqr(:x0) END ;Calculates the Kinetic Energy of the system TO System.KineticEnergy output ASK :Ball [0.5*mass*(sqrMagnitude velocity)] END ;Calculates the Dynamic Energy of the system TO System.DynamicEnergy ASK :Ball [ output mass*:g*altitude + ask :spring [0.5*springConstant*sqr(naturalLength-length)] ] END ;======================================================== ;-- The following functions implement the communication with ;-- the various Sliders that manipulate the configuration parameters ;======================================================== TO NEWDISPLACEMENT :x ASK :Spring [ IF :x>NATURALLENGTH [STOP] ask "Stage [Scene.DisableRefresh ] SETLENGTH NATURALLENGTH-:x SETANGLE 0 ] ASK :Ball [ SETLOCATION Spring.EndPoint.Location_PlusRadiusOnX SETVELOCITY [0 0] SETACCELERATION [0 0] ] SOLVE NEWDATA ask "Stage [Scene.EnableRefresh ] END TO READCONTROLS Scene.DisableRefresh NEWDISPLACEMENT ask "|Spring Stretch| [ Slider.Value] ask :Ball [ SETMASS ask "|Ball Mass| [ Slider.Value ] ] ask :Spring [ SETSPRINGCONSTANT ask "|Spring Constant| [Slider.Value] ] ask :Slope [ SETANGLE ask "|Slope Angle| [ Slider.Value ] ] SOLVE Scene.EnableRefresh newtick END TO PlayFromTo localmake "from ask "From [ GET "text ] localmake "to ask "To [ GET "text ] PLAY :from :to END ;============================================= ;-- The following are various helper calculation functions ;============================================= TO magnitude :vector output SQRT( (SQR FIRST :vector) + (SQR LAST :vector) ) END TO sqrMagnitude :vector output ( (SQR FIRST :vector) + (SQR LAST :vector) ) END TO scaledVector :vector :scale output (LIST (FIRST :vector)*:scale (LAST :vector)*:scale) END TO realRemainder :x :y output :x-(integer :x/:y)*:y END TO sinr :angle output sin rad2deg :angle END TO cosr :angle output cos rad2deg :angle END TO polar2cartesian :order :angle output (LIST :order*(cos :angle) :order*(sin :angle)) END TO vectorOrder :vector output SQRT( (SQR FIRST :vector) + (SQR LAST :vector) ) END TO sqrVectorOrder :vector output ( (SQR FIRST :vector) + (SQR LAST :vector) ) END TO scaledVector :vector :scale output (LIST (FIRST :vector)*:scale (LAST :vector)*:scale) END TO COTAN :f OUTPUT 1/(TAN :f) END TO RAD2DEG :f OUTPUT :f*180/PI END TO SQR :x OUTPUT :x*:x END TO Ball.Velocity output ASK :Ball [VELOCITY] END TO Ball.Acceleration output ASK :Ball [ACCELERATION] END TO Ball.Force output ask :Ball [AppliedForce] END TO Spring.Velocity output ASK :Spring [VELOCITY] END TO Spring.Acceleration output ASK :Spring [ACCELERATION] END TO Spring.EndPoint.Location_PlusRadiusOnX local "springLocation make "springLocation ASK :Spring [LOCATION] output ASK :Spring [LIST (FIRST :springLocation)+LENGTH+:radius (LAST :springLocation)] END TO roundN :x :n [local "accuracy] make "accuracy (power 10 :n) output (round :x*:accuracy)/:accuracy END reset q~!t* Ball.Velocity defined. scaledVector defined. magnitude defined. SQR defined. Startup defined. Solve defined. Spring.Acceleration defined. sqrMagnitude defined. PlayFromTo defined. CreateSceneElements defined. BAR defined. NewData defined. sinr defined. AnimateBall defined. vectorOrder defined. SetupScene defined. Phase defined. Ball.Acceleration defined. READCONTROLS defined. COTAN defined. newTick defined. cosr defined. Ball.Force defined. System.DynamicEnergy defined. RAD2DEG defined. Spring.Velocity defined. roundN defined. System.KineticEnergy defined. System.MechanicEnergy defined. SIMULATE defined. realRemainder defined. Spring.EndPoint.Location_PlusRadiusOnX defined. sqrVectorOrder defined. AnimateSpring defined. Reset defined. Play defined. polar2ca rtesian defined. NEWDISPLACEMENT defined. t[Bur[BTxp'MAKE "radius "20 MAKE "m "57 MAKE "u0 "31.195478754730498 MAKE "k "30 MAKE "talkToVectors "FALSE MAKE "Ed "27735 MAKE "wallWidth "30 MAKE "sinf "0.37460659341591196 MAKE "Spring "Spring1 MAKE "g "9.81 MAKE "SlopeX "400 MAKE "f "21.999999999999996 MAKE "springColor [ 100 100 100 ] MAKE "barStepX "5 MAKE "floorHeight "30 MAKE "UBarColor [ 200 0 0 ] MAKE "barY "295 MAKE "TimeStep "0.3 MAKE "barX "301 MAKE "accuracy "10 0 MAKE "t6 "34.71322892546297 MAKE "t5 "32.54803561064846 MAKE "t4 "25.845432623374144 MAKE "t3 "17.356614462731486 MAKE "TIME "0 MAKE "t2 "8.867796302088827 MAKE "t1 "2.16519331481451 MAKE "t0 "0 MAKE "rEk "0 MAKE "newFrame "0 MAKE "Slope "Slope1 MAKE "radiusDiv2 "0.9090909090909083 MAKE "Floor "Box2 MAKE "EdBarColor [ 0 0 200 ] MAKE "EkBarColor [ 0 200 0 ] MAKE "frameDelay "5 MAKE "barWidth "143 MAKE "rEd "27735 MAKE "L0 "170 MAKE "s2y "49.60030044530284 MAKE "s2x "122.76505155766 753 MAKE "pageHeight "315 MAKE "groundColor [ 113 95 0 ] MAKE "ballColor [ 181 169 167 ] MAKE "Wall "Box1 MAKE "downPaddingY "20 MAKE "rU "27735 MAKE "cosf "0.9271838545667874 MAKE "s1 "209.0909090909091 MAKE "Ball "Ball1 MAKE "x0 "43 MAKE "w "0.7254762501100116 MAKE "barHeight "285 MAKE "U "27735 MAKE "f0 "4.71238898038469 MAKE "upPaddingY "10 MAKE "Ek "9.358445276940817E-28 MAKE "renderedFrame "0 TO Ball.Velocity output ASK :Ball [VELOCITY] END TO scaledVector :vector :scale  output (LIST (FIRST :vector)*:scale (LAST :vector)*:scale) END TO magnitude :vector output SQRT( (SQR FIRST :vector) + (SQR LAST :vector) ) END TO SQR :x OUTPUT :x*:x END TO Startup ask "Stage [ Scene.DisableRefresh CreateSceneElements setupscene Scene.EnableRefresh ] END TO Solve Make "TIME 0 Make "renderedFrame 0 ASK :Ball [ Make "m Mass ] ASK :Spring [ Make "L0 NaturalLength Make "x0 :L0-Length Make "k SpringConstant Make "w (SQRT :k/:m) Make "f0 3/4*(2*PI) Make "u0 :w*:x0 ] ASK :Slope [ Make "f Angle Make "sinf (sin :f) Make "cosf (cos :f) Make "SlopeX (FIRST LOCATION) ] ;-- - ;-- (). Make "t0 0 IFELSE (:u0=0) [ Make "t1 :t0 Make "t2 :t0 Make "t3 :t0 Make "t4 :t0 Make "t5 :t0 Make "t6 :t0 ][ Make "t1 (2*PI/:w)/4 if :f=0 [PRINT "|Slope's Angle can't be 0| STOP] Make "radiusDiv2 (:radius)/2-200/:f Make "s1 :SlopeX-:L0-:radius-:radiusDiv2 Make "t2 :t1+:s1/:u0 Make "t3 :t2+(:u0/(:g*:sinf)) Make "s2y (SQR :u0)/(2*:g) Make "s2x :s2y*(COTAN :f) Make "t4 :t3+(:t3-:t2) Make "t5 :t4+(:t2-:t1) Make "t6 :t5+:t1 ] END TO Spring.Acceleration output ASK :Spring [ACCELERATION] END TO sqrMagnitude :vector output ( (SQR FIRST :vector) + (SQR LAST :vector) ) END TO PlayFromTo localmake "from ask "From [ GET "text ] localmake "to ask "To [ GET "text ] PLAY :from :to END  TO CreateSceneElements Scene.clear make "Wall (Scene.makeObject "Box) make "Floor (Scene.makeObject "Box) make "Slope (Scene.makeObject "Slope) make "Spring (Scene.makeObject "Spring) make "Ball (Scene.makeObject "Ball) END TO BAR :caption :value :max :n :bars :fillColor local ["barStepX "upPaddingY "downPaddingY "barWidth "barX "pageHeight "barHeight] make "barStepX 5 make "upPaddingY 10 make "downPaddingY 20 make "barWidth integer (canvasPageWidth-(:bars+1)*:barStepX)/:bars make "barX :barStepX+(:n-1)*(:barWidth+:barStepX) make "pageHeight canvasPageHeight text (word word "\[ :caption "\]) :barX (:pageHeight-5) if :max=0 [STOP] make "barHeight integer :value*((:pageHeight-:upPaddingY-:downPaddingY)/:max) make "barY :pageHeight-:downPaddingY setCanvasFill :fillColor rectangle :barX :barY (:barX+:barWidth) (:barY-:barHeight) END TO NewData if :talkToVectors=true [ ask "Velocity [SetVector Mover.Velocity] ask "Acceleration [SetVector Mover.Acceleration] ask "Force [SetVector Mover.Force] ] local ["U "rU "Ek "rEk "Ed "rEd] make "Ek System.KineticEnergy make "Ed System.DynamicEnergy make "U :Ek+:Ed make "rEk (roundN :Ek 2) make "rEd (roundN :Ed 2) make "rU (roundN :rEk+:rEd 2) ASK "Canvas [ CanvasPage.DisableRefresh ClearCanvasPage BAR (word "U= :rU) :Ek+:Ed :U 1 3 :UBarColor BAR (word "Ek= :rEk) :Ek :U 2 3 :EkBarColor BAR (word "Ed= :rEd) :Ed :U 3  3 :EdBarColor CanvasPage.EnableRefresh ] END TO sinr :angle output sin rad2deg :angle END TO AnimateBall :t ASK :Ball [ IF :t<=:t1 [ SetLocation Spring.EndPoint.Location_PlusRadiusOnX SetVelocity Spring.Velocity SetAcceleration Spring.Acceleration STOP ] IF :t<=:t2 [ make "t (:t-:t1) SetLocation (LIST (:L0+:radius)+:u0*:t 0) SetVelocity (LIST :u0 0) SetAcceleration [0 0] STOP ] local "distance IF :t<=:t3 [ Make "t (:t-:t2)  Make "distance :u0*:t-0.5*:g*:sinf*(sqr :t) SetLocation (LIST (:SlopeX-:radiusDiv2+:distance*:cosf) :distance*:sinf ) SetVelocity polar2cartesian (:u0-:g*:sinf*:t) :f SetAcceleration polar2cartesian (:g*:sinf) (180+:f) STOP ] IF :t<=:t4 [ make "t (:t-:t3) Make "distance 0.5*:g*:sinf*(sqr :t) SetLocation (LIST (:SlopeX-:radiusDiv2+:s2x-:distance*:cosf) :s2y-:distance*:sinf ) SetVelocity polar2cartesian (:g*:sinf*:t) (180+:f) SetAcceleration polar2cartesian (:g*sin :f) (180+:f) STOP ] IF :t<=:t5 [ make "t (:t-:t4) SetLocation (LIST :SlopeX-:radiusDiv2-:u0*:t 0) SetVelocity (LIST -:u0 0) SetAcceleration [0 0] STOP ] IF :t<=:t6 [ SetLocation Spring.EndPoint.Location_PlusRadiusOnX SetVelocity Spring.Velocity SetAcceleration Spring.Acceleration STOP ] PRINT "|Error! t should never be >t6... The SIMULATE proc should take care of this!| ] END TO vectorOrder :vector output SQRT( (SQR FIRST :vector) + (SQR LAST :vector) ) END TO SetupScene Local ["radius "floorHeight "m "wallWidth] Make "radius 20 Make "m 30 Make "floorHeight 30 Make "wallWidth 30 ASK :Ball [ SetMass :m SetLocation (LIST 100+:radius 0) SetColor :ballColor SetRadius :radius ] ASK :Spring [ SetColor :springColor SetLocation [0 0] SetLength 100 SetNaturalLength 170 SetSpringConstant :m*(SQR 2*PI*0.1) ] ASK :Floor [ SetWidth 880 SetHeight :floorHeight SetLocation (LIST 440 -(:radius+1)-:floorHeight/2) SetColor :groundColor ] ASK :Wall [ SetHeight 2*((:radius+1)+:floorHeight) SetWidth :wallWidth SetLocation (LIST -:wallWidth/2 0) SetColor :groundColor ] ASK :Slope [ SetLocation (LIST 400 -(:radius+1)) SetWidth 480 SetAngle 30 SetColor :groundColor ] Make "g 9.81 END TO Phase :N IF (:N<=0) [PRINT "|Valid phase numbers are >0| STOP] Run (LIST "PLAY (word ":t (REMAINDER :N-1 6)) (word ":t (REMAINDER :N 6))) END TO Ball.Acceleration output ASK :Ball [ACCELERATION] END TO READCONTROLS Scene.DisableRefresh NEWDISPLACEMENT ask "|Spring Stretch| [ Slider.Value] ask :Ball [ SETMASS ask "|Ball Mass| [ Slider.Value ] ] ask :Spring [ SETSPRINGCONSTANT ask "|Spring Constant| [Slider.Value] ] ask :Slope [ SETANGLE ask "|Slope Angle| [ Slider.Value ] ] SOLVE Scene.EnableRefresh newtick END TO COTAN :f OUTPUT 1/(TAN :f) END TO newTick make "newFrame ask "Chronometer [CHRONOMETERSECONDS] IfElse :newFrame = :renderedFrame [] [Simulate :newFrame make "renderedFrame :newFrame] END TO cosr :angle output cos rad2deg :angle END TO Ball.Force output ask :Ball [AppliedForce] END TO System.DynamicEnergy ASK :Ball [ output mass*:g*altitude + ask :spring [0.5*springConstant*sqr(naturalLength-length)] ] END TO RAD2DEG :f OUTPUT :f*180/PI END TO Spring.Velocity output ASK :Spring [VELOCITY] END TO roundN :x :n [local "accuracy] make "accuracy (power 10 :n) output (round :x*:accuracy)/:accuracy END TO System.KineticEnergy ;-- output ask :mover [kineticEnergy] output ASK :Ball [0.5*mass*(sqrMagnitude velocity)] END TO System.MechanicEnergy output 0.5*:k*sqr(:x0) END TO SIMULATE :t IF (:t>:t6) [ IFELSE (:t6=0) [MAKE "t 0] [MAKE "t (RealRemainder :t :t6)] ] Scene.DisableRefresh AnimateSpring :t AnimateBall :t Scene.EnableRefresh newData END TO realRemainder :x :y output :x-(integer :x/:y)*:y END TO Spring.EndPoint.Location_PlusRadiusOnX local "springLocation make "springLocation ASK :Spring [LOCATION] output ASK :Spring [LIST (FIRST :springLocation)+LENGTH+:radius (LAST :springLocation)] END TO sqrVectorOrder :vector output ( (SQR FIRST :vector) + (SQR LAST :vector) ) END TO AnimateSpring :t ASK :Spring [ IF :t<=:t1[ SetLength :L0+:x0*(sinr :w*:t+:f0) SetVelocity (LIST :u0*(cosr :w*:t+:f0) 0) SetAcceleration (LIST -(sqr :w)*:x0*(sinr :w*:t +:f0) 0) STOP ] IF (AND :t>=:t5 :t<=:t6) [ Make "t (:t-:t5) SetLength :L0-(:x0*(sinr :w*:t)) SetVelocity (LIST -:u0*(cosr :w*:t) 0) SetAcceleration (LIST (sqr :w)*:x0*(sinr :w*:t) 0) STOP ] SetLength :L0 SetVelocity [0 0] SetAcceleration [0 0] ] END TO Reset Startup Solve NewData END TO Play :fromTime :toTime local "toTimeMinusStep make "toTimeMinusStep :toTime-:TimeStep While [:fromTime<=:toTime] [ Simulate :fromTime Wait :frameDelay IfElse :fromTime>:toTimeMinusStep [Simulate :toTime Stop] [make "fromTime :fromTime+:TimeStep] ] END TO polar2cartesian :order :angle output (LIST :order*(cos :angle) :order*(sin :angle)) END TO NEWDISPLACEMENT :x ASK :Spring [ IF :x>NATURALLENGTH [STOP] ask "Stage [Scene.DisableRefresh ] SETLENGTH NATURALLENGTH-:x SETANGLE 0 ] ASK :Ball [ SETLOCATION Spring.EndPoint.Location_PlusRadiusOnX SETVELOCITY [0 0] SETACCELERATION [0 0] ] SOLVE NEWDATA ask "Stage [Scene.EnableRefresh ] END tjava.lang.Integersq~ t java.awt.Fontsr java.awt.Fontš5VsIfontSerializedDataVersionF pointSizeIsizeIstyleLfRequestedAttributesq~Lnameq~xpApsq~?@w srjava.awt.font.TextAttributekx Fxr/java.text.AttributedCharacterIterator$Attributet&G\Lnameq~xpt transformsr java.awt.font.TransformAttribute.0ZL transformtLjava/awt/geom/AffineTransform;xpsrjava.awt.geom.AffineTransformxJbDm00Dm01Dm02Dm10Dm11Dm12xp??xsq~-tsizesrjava.lang.Floatɢ<Fvaluexq~ Apsq~-tfamilyt Helveticaxq~q~=sq~>q~'sq~ t$gr.cti.eslate.utils.BorderDescriptorsq~q~t2.0sq~?@w tBorderAttributessq~ tBorderClassNamesq~ xsq~ q~!t+gr.cti.eslate.utils.NoTopOneLineBevelBordertjava.util.Hashtablesq~?@w t ShadowColorsrjava.awt.Color3uFfalphaIvalueLcstLjava/awt/color/ColorSpace;[ frgbvaluet[F[fvalueq~RL theContexttLjava/awt/PaintContext;xp]]]ppppt BevelTypesq~ tHighlightInnerColorsq~Pppppxxxsr"gr.cti.eslate.utils.ESlateFieldMap1 ILatLjava/util/Hashtable;Lbt"Lgr/cti/typeArray/ObjectBaseArray;LctLjava/lang/String;Ldt!Lgr/cti/typeArray/ClassBaseArray;xpt2.0.0t1.5.32srjava.util.Hashtable%!JF loadFactorI thresholdxp?@w t saveStatesrjava.lang.Integer⠤8Ivaluexrjava.lang.Number xpt isStartedsq~ t isRunningsq~ t timeScalesq~ tminValuesq~ tmaxValuesq~ xsq~ tjava.lang.Do!ublesrjava.lang.DoubleJ)kDvaluexq~ ?q~sq~@Yq~sq~@tjava.lang.Booleansrjava.lang.Boolean r՜Zvaluexpq~sq~q~sq~xsr"gr.cti.eslate.utils.ESlateFieldMap1 ILatLjava/util/Hashtable;Lbt"Lgr/cti/typeArray/ObjectBaseArray;LctLjava/lang/String;Ldt!Lgr/cti/typeArray/ClassBaseArray;xpt2.0.0t1.0srjava.util.Hashtable%!JF loadFactorI thresholdxp?@#w/tVerticalAlignmentsrjava.lang.Integer⠤8Ivaluexrjava.lang.Number xpt Backgroundsq~ tDoubleBufferedsq~ tRolloverEnabledsq~ t BorderPaintedsq~ tOpaquesq~ t Max#imumSizesq~ tVerticalTextPositionsq~ tDebugGraphicsOptionssq~ tContentAreaFilledsq~ t Foregroundsq~ tMarginsq~ t AlignmentYsq~ t AlignmentXsq~ tHorizontalTextPositionsq~ tSelectedsq~ tHorizontalAlignmentsq~ tTextsq~ t MinimumSizesq~ t ActionCommandsq~ tFontsq~ t ToolTipTextsq~ t FocusPaintedsq~ tEnabledsq~ xsq~ tjava.lang.Floatsrjava.lang.Floatɢ<Fval$uexq~ q~=sq~>?t java.awt.Fontsr java.awt.Fontš5VsIfontSerializedDataVersionF pointSizeIsizeIstyleLfRequestedAttributesq~Lnameq~xpAsq~?@w srjava.awt.font.TextAttributekx Fxr/java.text.AttributedCharacterIterator$Attributet&G\Lnameq~xptweightsq~>@sq~Et transformsr java.awt.font.TransformAttribute.0ZL transformtLjava/awt/geom/AffineTransform;xpsrjava.awt.geom.AffineTransformxJbDm00%Dm01Dm02Dm10Dm11Dm12xp??xsq~Etsizesq~>Asq~Etfamilytxq~Vxtjava.lang.Booleansrjava.lang.Boolean r՜Zvaluexpq~Wsq~Xq~Wsq~Xq~Wsq~Xq~Wsq~Xq~Wsq~Xq~Wsq~Xq~Wsq~Xtjava.lang.Integersq~ q~asq~ q~asq~ q~asq~ q~asq~ tjava.lang.StringtLogoq~gt&Εμφάνιση/απόκρυψη Logoq~gq~ht!javax.swing.plaf.InsetsUIResourcesr!javax.swing.plaf.Ins&etsUIResourceNcY\xrjava.awt.Insetsv3:IbottomIleftIrightItopxpt javax.swing.plaf.ColorUIResourcesr javax.swing.plaf.ColorUIResourcekSxrjava.awt.Color3uFfalphaIvalueLcstLjava/awt/color/ColorSpace;[ frgbvaluet[F[fvalueq~rL theContexttLjava/awt/PaintContext;xppppptjava.awt.Colorsq~ppppptjava.awt.Dimensionsrjava.awt.DimensionA׬_DIheightIwidthxpMq~wsq~xMxsr"gr.cti.eslate.utils.ESlateFieldMap1 ILatLjava/util/Hashtable;Lbt"Lgr/cti/typeArray/ObjectBaseArray;LctLjava/lang/String;Ldt!Lgr/cti/typeArray/ClassBaseArray;xpt2.0.0t1.0srjava.util.Hashtable%!JF loadFactorI thresholdxp?@wt AlignmentYsrjava.lang.Integer⠤8Ivaluexrjava.lang.Number xpt AlignmentXsq~ tDoubleBufferedsq~ tTextsq~ tEnabledsq~ tBordersq~ t Foregroundsq~ tFont(sq~ tHorizontalAlignmentsq~ t PreferredSizesq~ t MaximumSizesq~ t MinimumSizesq~ tDebugGraphicsOptionssq~ tOpaquesq~ tVerticalAlignmentsq~ t Backgroundsq~ xsq~ tjava.lang.Floatsrjava.lang.Floatɢ<Fvaluexq~ q~-sq~.?t java.awt.Fontsr java.awt.Fontš5VsIfontSerializedDataVersionF pointSizeIsizeIstyleLfRequestedAttributesq~Lnameq~xpA`sq~?@w srjava.awt.f)ont.TextAttributekx Fxr/java.text.AttributedCharacterIterator$Attributet&G\Lnameq~xptweightsq~.@sq~5t transformsr java.awt.font.TransformAttribute.0ZL transformtLjava/awt/geom/AffineTransform;xpsrjava.awt.geom.AffineTransformxJbDm00Dm01Dm02Dm10Dm11Dm12xp??xsq~5tsizesq~.A`sq~5tfamilyt SansSerifxq~Fxtjava.lang.Booleansrjava.lang.Boolean r՜Zvaluexpq~Gsq~Htjava.l*ang.Integersq~ q~Ksq~ q~Ksq~ tjava.lang.Stringt.Energy Diagram: Mechanical - Kinetic - Dynamict javax.swing.plaf.ColorUIResourcesr javax.swing.plaf.ColorUIResourcekSxrjava.awt.Color3uFfalphaIvalueLcstLjava/awt/color/ColorSpace;[ frgbvaluet[F[fvalueq~UL theContexttLjava/awt/PaintContext;xppppptjava.awt.Colorsq~S3ppppq~Gsq~Htjava.awt.Dimensionsrjava.awt.DimensionA׬_DIheightIwidthxpvq~[sq~\+vq~[sq~\<dt$gr.cti.eslate.utils.BorderDescriptorsq~q~t2.0sq~?@w tBorderAttributessq~ xsq~ tjava.util.Hashtablesq~?@w xxxsr"gr.cti.eslate.utils.ESlateFieldMap1 ILatLjava/util/Hashtable;Lbt"Lgr/cti/typeArray/ObjectBaseArray;LctLjava/lang/String;Ldt!Lgr/cti/typeArray/ClassBaseArray;xpt2.0.0t1.0srjava.util.Hashtable%!JF loadFactorI thresholdxp?@#w/t PaintLabelssrjava.lang.Integer⠤8Ivaluexrjava.lang.Number xpt PaintTickssq~ tBordersq~ tMinimumsq~ t Backgroundsq~ t SnapToTickssq~ tDoubleBufferedsq~ -tOpaquesq~ t MaximumSizesq~ tMaximumsq~ tDebugGraphicsOptionssq~ t Foregroundsq~ t AlignmentYsq~ t AlignmentXsq~ tInvertedsq~ tMinorTickSpacingsq~ tMajorTickSpacingsq~ t MinimumSizesq~ tFontsq~ t Orientationsq~ t PaintTracksq~ tValuesq~ tEnabledsq~ xsq~ t$gr.cti.eslate.utils.BorderDescriptorsq~q~t2.0sq~?@w tBorderAttributessq~ xsq~ tjav.a.util.Hashtablesq~?@w xxtjava.lang.Floatsrjava.lang.Floatɢ<Fvaluexq~ ?q~Dsq~E?t java.awt.Fontsr java.awt.Fontš5VsIfontSerializedDataVersionF pointSizeIsizeIstyleLfRequestedAttributesq~Lnameq~xpA@ sq~?@w srjava.awt.font.TextAttributekx Fxr/java.text.AttributedCharacterIterator$Attributet&G\Lnameq~xpt transformsr java.awt.font.TransformAttribute.0ZL transformtLjava/awt/ge/om/AffineTransform;xpsrjava.awt.geom.AffineTransformxJbDm00Dm01Dm02Dm10Dm11Dm12xp??xsq~Ltsizesq~EA@sq~Ltfamilyt Helveticaxq~Zxtjava.lang.Booleansrjava.lang.Boolean r՜Zvaluexpq~[sq~\q~[sq~\q~[sq~\q~[sq~\q~[sq~\q~[sq~\q~[sq~\tjava.lang.Integersq~ q~esq~ tjava.awt.Colorsrjava.awt.Color3uFfalphaIvalueLcstLjava/awt/color/ColorSpace;[ frgbva0luet[F[fvalueq~kL theContexttLjava/awt/PaintContext;xpppppt javax.swing.plaf.ColorUIResourcesr javax.swing.plaf.ColorUIResourcekSxq~ippppq~esq~ q~esq~ tjava.awt.Dimensionsrjava.awt.DimensionA׬_DIheightIwidthxp q~ssq~t $q~esq~ q~esq~ q~esq~ x