Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Pygments / examplefiles / output / Object.st
Size: Mime:
€]q(cpygments.token
_TokenType
qXTextq…q…qq}q(Xsubtypesqcbuiltins
set
q]q	(hhXRootq
†q…qq
}q(hh]q…qRqXparentqhubhhXSymbolq†q…qq}q(hh]q…qRqhhubhhXRagq†q…qq}q(hh]q …q!Rq"hhubhhX
Whitespaceq#†q$…q%q&}q'(hh]q(…q)Rq*hhubhhXBeerq+†q,…q-q.}q/(hh]q0…q1Rq2hhubhhXPunctuationq3†q4…q5q6}q7(hh]q8…q9Rq:hhube…q;Rq<hh)…q=q>}q?(hh]q@(hXEscapeqA…qB…qCqD}qE(hh]qF…qGRqHhh>ubhXOperatorqI…qJ…qKqL}qM(hh]qN(hhIXDBSqO†qP…qQqR}qS(hh]qT…qURqVhhLubhhIXWordqW†qX…qYqZ}q[(hh]q\…q]Rq^hhLube…q_Rq`hh>hWhZhOhRubhXNameqa…qb…qcqd}qe(hh]qf(hhaXTagqg†qh…qiqj}qk(hh]ql…qmRqnhhdubhhaXEntityqo†qp…qqqr}qs(hh]qthhahohO‡qu…qvqw}qx(hh]qy…qzRq{hhruba…q|Rq}hhdhOhwubhhaX	Exceptionq~†q…q€q}q‚(hh]qƒ…q„Rq…hhdubhhaX	Decoratorq††q‡…qˆq‰}qŠ(hh]q‹…qŒRqhhdubhhaXClassqކq…qq‘}q’(hh]q“(hhahŽhO‡q”…q•q–}q—(hh]q˜…q™Rqšhh‘ubhhahŽXStartq›‡qœ…qqž}qŸ(hh]q …q¡Rq¢hh‘ube…q£Rq¤hhdh›hžhOh–ubhhaXVariableq¥†q¦…q§q¨}q©(hh]qª(hhah¥X	Anonymousq«‡q¬…q­q®}q¯(hh]q°…q±Rq²hh¨ubhhah¥hއq³…q´qµ}q¶(hh]q·…q¸Rq¹hh¨ubhhah¥XMagicqº‡q»…q¼q½}q¾(hh]q¿…qÀRqÁhh¨ubhhah¥XGlobalq‡qÅqāqÅ}qÆ(hh]qDžqÈRqÉhh¨ubhhah¥XInstanceqʇq˅q́qÍ}qÎ(hh]qυqÐRqÑhh¨ube…qÒRqÓhhdhŽhµhÂhÅhÊhÍhºh½h«h®ubhhaX	AttributeqԆqՅqցq×}qØ(hh]qÙhhahÔh¥‡qڅqہqÜ}qÝ(hh]qޅqßRqàhh×uba…qáRqâhhdh¥hÜubhhaX	Namespaceqã†qä…qåqæ}qç(hh]qè…qéRqêhhdubhhaXPropertyqë†qì…qíqî}qï(hh]qð…qñRqòhhdubhhah†qó…qôqõ}qö(hh]q÷…qøRqùhhdubhhaXClassesqú†qû…qüqý}qþ(hh]qÿ…rRrhhdubhhaXPseudor†r…rr}r(hh]r…rRr	hhdubhhaXLabelr
†r…rr
}r(hh]r…rRrhhdubhhahI†r…rr}r(hh]r…rRrhhdubhhaXBuiltinr†r…rr}r(hh]r(hhajj‡r…r r!}r"(hh]r#…r$Rr%hjubhhajXTyper&‡r'…r(r)}r*(hh]r+…r,Rr-hjube…r.Rr/hhdjj!j&j)ubhhaXFieldr0†r1…r2r3}r4(hh]r5…r6Rr7hhdubhhaXOtherr8†r9…r:r;}r<(hh]r=hhaj8XMemberr>‡r?…r@rA}rB(hh]rC…rDRrEhj;uba…rFRrGhhdj>jAubhhaXFunctionrH†rI…rJrK}rL(hh]rMhhajHhº‡rN…rOrP}rQ(hh]rR…rSRrThjKuba…rURrVhhdhºjPubhhaj&†rW…rXrY}rZ(hh]r[…r\Rr]hhdubhhaXConstantr^†r_…r`ra}rb(hh]rc…rdRrehhdube…rfRrghh>hÔh×jjhŽh‘j^jah†h‰hohrh~hjHjKhëhîj
j
hãhæj8j;hghjh¥h¨j0j3hhõjjhIjhúhýj&jYubhXLiteralrh…ri…rjrk}rl(hh]rm(hjhj8†rn…rorp}rq(hh]rr…rsRrthjkubhjhXCharru†rv…rwrx}ry(hh]rz…r{Rr|hjkubhjhXDater}†r~…rr€}r(hh]r‚…rƒRr„hjkubhjhXScalarr…†r†…r‡rˆ}r‰(hh]rŠhjhj…XPlainr‹‡rŒ…rrŽ}r(hh]r…r‘Rr’hjˆuba…r“Rr”hjkj‹jŽubhjhXStringr•†r–…r—r˜}r™(hh]rš(hjhj•XInterpolr›‡rœ…rrž}rŸ(hh]r …r¡Rr¢hj˜ubhjhj•X	Delimeterr£‡r¤…r¥r¦}r§(hh]r¨…r©Rrªhj˜ubhjhj•ju‡r«…r¬r­}r®(hh]r¯…r°Rr±hj˜ubhjhj•h‡r²…r³r´}rµ(hh]r¶…r·Rr¸hj˜ubhjhj•XSingler¹‡rº…r»r¼}r½(hh]r¾…r¿RrÀhj˜ubhjhj•j8‡rÁ…rrÃ}rÄ(hh]rÅ…rÆRrÇhj˜ubhjhj•XBacktickrȇrÉ…rʁrË}rÌ(hh]rÍ…rÎRrÏhj˜ubhjhj•hA‡rÐ…rсrÒ}rÓ(hh]rÔ…rÕRrÖhj˜ubhjhj•XRegexrׇrØ…rفrÚ}rÛ(hh]rÜ…rÝRrÞhj˜ubhjhj•XMomentr߇rà…rárâ}rã(hh]rä…råRræhj˜ubhjhj•XBooleanrç‡rè…rérê}rë(hh]rì…ríRrîhj˜ubhjhj•X	Characterrï‡rð…rñrò}ró(hh]rô…rõRröhj˜ubhjhj•X	Delimiterr÷‡rø…rùrú}rû(hh]rü…rýRrþhj˜ubhjhj•XDocrÿ‡r…rr}r(hh]r…rRrhj˜ubhjhj•ha‡r…rr	}r
(hh]r…rRr
hj˜ubhjhj•XAffixr‡r…rr}r(hh]r…rRrhj˜ubhjhj•XHeredocr‡r…rr}r(hh]r…rRrhj˜ubhjhj•XDoubler‡r…r r!}r"(hh]r#…r$Rr%hj˜ubhjhj•XInterpr&‡r'…r(r)}r*(hh]r+…r,Rr-hj˜ubhjhj•XAtomr.‡r/…r0r1}r2(hh]r3…r4Rr5hj˜ube…r6Rr7hjkjjjÈjËjuj­j÷jújÿjjj!hAjÒjjj›jžj8jÃj×jÚj¹j¼hj´jïjòjßjâj&j)jçjêj£j¦j.j1haj	ubhjhXNumberr8†r9…r:r;}r<(hh]r=(hjhj8XFloatr>‡r?…r@rA}rB(hh]rC…rDRrEhj;ubhjhj8XDecrF‡rG…rHrI}rJ(hh]rK…rLRrMhj;ubhjhj8XRadixrN‡rO…rPrQ}rR(hh]rS…rTRrUhj;ubhjhj8XOctrV‡rW…rXrY}rZ(hh]r[…r\Rr]hj;ubhjhj8XBinr^‡r_…r`ra}rb(hh]rc…rdRrehj;ubhjhj8hԇrf…rgrh}ri(hh]rj…rkRrlhj;ubhjhj8XHexrm‡rn…rorp}rq(hh]rr…rsRrthj;ubhjhj8XIntegerru‡rv…rwrx}ry(hh]rzh(jhj8juXLongr{tr|…r}r~}r(hh]r€…rRr‚hjxuba…rƒRr„hj;j{j~ubhjhj8XDecimalr…‡r†…r‡rˆ}r‰(hh]rŠ…r‹RrŒhj;ube…rRrŽhjkj^jaj>jAjmjpjujxjVjYjNjQhÔjhj…jˆjFjIube…rRrhh>j•j˜j8j;j}j€j…jˆj8jpjujxubhXGenericr‘…r’…r“r”}r•(hh]r–(hj‘XErrorr—†r˜…r™rš}r›(hh]rœ…rRržhj”ubhj‘X
SubheadingrŸ†r …r¡r¢}r£(hh]r¤…r¥Rr¦hj”ubhj‘X	Tracebackr§†r¨…r©rª}r«(hh]r¬…r­Rr®hj”ubhj‘XOutputr¯†r°…r±r²}r³(hh]r´…rµRr¶hj”ubhj‘XPromptr·†r¸…r¹rº}r»(hh]r¼…r½Rr¾hj”ubhj‘XDeletedr¿†rÀ…rÁrÂ}rÃ(hh]rÄ…rÅRrÆhj”ubhj‘XInsertedrdžrÈ…rɁrÊ}rË(hh]rÌ…rÍRrÎhj”ubhj‘XHeadingrφrÐ…rсrÒ}rÓ(hh]rÔ…rÕRrÖhj”ubhj‘XStrongr׆rØ…rفrÚ}rÛ(hh]rÜ…rÝRrÞhj”ubhj‘XEmphr߆rà…rárâ}rã(hh]rä…råRræhj”ube…rçRrèhh>j¿jÂjßjâj—jšjÏjÒjÇjÊj¯j²j·jºj×jÚjŸj¢j§jªubhj—…ré…rêrë}rì(hh]rí…rîRrïhh>ubhXKeywordrð…rñ…ròró}rô(hh]rõ(hjðhW†rö…r÷rø}rù(hh]rú…rûRrühjóubhjðjð†rý…rþrÿ}r(hh]r…rRrhjóubhjðj&†r…rr}r(hh]r…r	Rr
hjóubhjðXPreProcr†r…r
r}r(hh]r…rRrhjóubhjðXControlr†r…rr}r(hh]r…rRrhjóubhjðj^†r…rr}r(hh]r…r Rr!hjóubhjðhã†r"…r#r$}r%(hh]r&…r'Rr(hjóubhjðj†r)…r*r+}r,(hh]r-…r.Rr/hjóubhjðXDeclarationr0†r1…r2r3}r4(hh]r5…r6Rr7hjóubhjðXReservedr8†r9…r:r;}r<(hh]r=…r>Rr?hjóube…r@RrAhh>j^jj0j3hãj$jj+j8j;j&jjjjðjÿjjhWjøubhj8…rB…rCrD}rE(hh]rF…rGRrHhh>ubhhXCommentrI…rJ…rKrL}rM(hh]rN(hjIXPreprocrO†rP…rQrR}rS(hh]rT…rURrVhjLubhjIXMultirW†rX…rYrZ}r[(hh]r\…r]Rr^hjLubhjIXHashbangr_†r`…rarb}rc(hh]rd…reRrfhjLubhjIj¹†rg…rhri}rj(hh]rk…rlRrmhjLubhjIX
SingleLinern†ro…rprq}rr(hh]rs…rtRruhjLubhjIjÿ†rv…rwrx}ry(hh]rz…r{Rr|hjLubhjIX	Directiver}†r~…rr€}r(hh]r‚…rƒRr„hjLubhjIX	Multiliner…†r†…r‡rˆ}r‰(hh]rŠ…r‹RrŒhjLubhjIX
Singleliner†rŽ…rr}r‘(hh]r’…r“Rr”hjLubhjIXPreprocFiler•†r–…r—r˜}r™(hh]rš…r›RrœhjLubhjIXSpecialr†rž…rŸr }r¡(hh]r¢…r£Rr¤hjLube…r¥Rr¦hh>j_jbj…jˆjOjRj•j˜j¹jijj j}j€jnjqjÿjxjWjZjjubhh3…r§…r¨r©}rª(hh]r«hh3X	Indicatorr¬†r­…r®r¯}r°(hh]r±…r²Rr³hj©uba…r´Rrµhh>j¬j¯ube…r¶Rr·hhhAhDj—jëj8jDjðjóhahdjhjkh3j©hIhLjIjLj‘j”XTokenr¸h>j•j˜j8j;ubh#h&hhh3h6h
h
h+h.hhubX!r¹†rºh‘XProtoObjectr»†r¼hX r½†r¾jKX	subclass:r¿†rÀhj½†rÁj´X#Objectr†rÃhX
	rĆrÅjKXinstanceVariableNames:rƆrÇhj½†rÈj˜X''rɆrÊhX
	rˆrÌjKXclassVariableNames:r͆rÎhj½†rÏj˜X'DependentsFields'rІrÑhX
	rÒ†rÓjKXpoolDictionaries:rÔ†rÕhj½†rÖj˜X''r׆rØhX
	rÙ†rÚjKX	category:rÛ†rÜhj½†rÝj˜X'Kernel-Objects'rÞ†rßjKj¹†ràhX

rá†râjój¹†rãh‘XObjecträ†råjóX
 methodsFor: ræ†rçj˜X'*39Deprecated'rè†réjóX stamp: 'gk 2/24/2004 08:49'!rê†rëhX
rì†ríjKXbeeprî†rïhX
	rð†rñjLX
"Deprecated."rò†róhX
	
	rô†rõj!Xselfrö†r÷hj½†røjKXdeprecated:rù†rúhj½†rûj˜X!'Use Beeper class>>beep instead.'rü†rýj©X.rþ†rÿhX
	r†rh‘XBeeperr†rhj½†rjKXbeepr†rjóX! !r†rhX

r	†r
jój¹†rh‘XObjectr†r
jóX
 methodsFor: r†rj˜X'*39Deprecated'r†rjóX stamp: 'gk 2/24/2004 08:50'!r†rhjì†rjKX
beepPrimitiver†rhX
	r†rjLX3"Deprecated. Beep in the absence of sound support."r†rhX
	
	r†rj!Xselfr†rhj½†rjKXdeprecated:r †r!hj½†r"j˜X@'Use Beeper class>>beep or Beeper class>>beepPrimitive instead.'r#†r$j©jþ†r%hX
	r&†r'h‘XBeeperr(†r)hj½†r*jKX
beepPrimitiver+†r,jóX! !r-†r.hX

r/†r0jój¹†r1h‘XObjectr2†r3jóX
 methodsFor: r4†r5j˜X'*39Deprecated'r6†r7jóX stamp: 'md 12/12/2003 17:02'!r8†r9hjì†r:jKXbeep:r;†r<hj½†r=h¨X	soundNamer>†r?hX
	r@†rAjLXN"Make the given sound, unless the making of sound is disabled in Preferences."rB†rChX

	rD†rEj!XselfrF†rGhj½†rHjKXdeprecated:rI†rJhj½†rKj˜X,'Use SampledSound>>playSoundNamed: instead.'rL†rMj©jþ†rNhX
	rO†rPh‘XPreferencesrQ†rRhj½†rSjKX
soundsEnabledrT†rUhX
		rV†rWjXifTrue:rX†rYhj½†rZhX[r[†r\j!Xselfr]†r^hj½†r_jKXplaySoundNamed:r`†rahj½†rbh¨X	soundNamerc†rdhX]re†rfhjì†rgjóX! !rh†rihX

rj†rkjój¹†rlh‘XObjectrm†rnjóX
 methodsFor: ro†rpj˜X'*39Deprecated'rq†rrjóX stamp: 'sd 11/19/2004 16:57'!rs†rthjì†rujKX
contentsGetz:rv†rwhj½†rxh¨Xxry†rzhX
	r{†r|j!Xselfr}†r~hj½†rjKXdeprecated:r€†rhj½†r‚j˜Xd'there is no method named contents in object and in addition only one sender in a method not called'rƒ†r„j©jþ†r…hX 
	r††r‡j!Xselfrˆ†r‰hj½†rŠjKX	contents:r‹†rŒhj½†rh¨jy†rŽjóX! !r†rhX

r‘†r’jój¹†r“h‘XObjectr”†r•jóX
 methodsFor: r–†r—j˜X'*39Deprecated'r˜†r™jóX stamp: 'sd 11/13/2003 21:10'!rš†r›hjì†rœjKXdeprecatedExplanation:r†ržhj½†rŸh¨XaStringr †r¡hX
     r¢†r£jLX5"This method is OBSOLETE.  Use #deprecated: instead."r¤†r¥hX
	r¦†r§j!Xselfr¨†r©hj½†rªjKXdeprecated:r«†r¬hj½†r­j˜X<'Use Object>>deprecated: instead of deprecatedExplanation:.'r®†r¯j©jþ†r°hX

	r±†r²h‘XPreferencesr³†r´hj½†rµjKXshowDeprecationWarningsr¶†r·hj½†r¸jXifTrue:r¹†rºhX
		r»†r¼hj[†r½h‘XDeprecationr¾†r¿hj½†rÀjKXsignal:rÁ†rÂhj½†rÃhX(rĆrÅj˜X'{1} has been deprecated. {2}'rƆrÇhj½†rÈjKX
translatedrɆrÊhj½†rËjKXformat:r̆rÍhj½†rÎhX{rφrÐj!XthisContextrцrÒhj½†rÓjKXsenderrÔ†rÕhj½†rÖjKXprintStringr׆rØj©jþ†rÙhj½†rÚh¨XaStringrÛ†rÜhX}r݆rÞhX)r߆ràhje†rájóX! !râ†rãhX

rä†råjój¹†ræh‘XObjectrç†rèjóX
 methodsFor: ré†rêj˜X'*39Deprecated'rë†rìjóX stamp: 'sd 11/13/2003 21:11'!rí†rîhjì†rïjKXdeprecated:rð†rñhj½†ròh¨XaBlockró†rôhj½†rõjKXexplanation:rö†r÷hj½†røh¨XaStringrù†rúhX 
	 rû†rüjLX;"This method is OBSOLETE.  Use #deprecated:block: instead."rý†rþhX
	rÿ†rj!Xselfr†rhj½†rjKXdeprecated:r†rhj½†rj˜XC'Use Object>>deprecated:block: instead of deprecated:explanation:.'r†rj©jþ†r	hX

	r
†rh‘XPreferencesr†r
hj½†rjKXshowDeprecationWarningsr†rhj½†rjXifTrue:r†rhX
		r†rhj[†rh‘XDeprecationr†rhX
			r†rjKXsignal:r†rhj½†rhjĆrj˜X'{1} has been deprecated. {2}'r†r hj½†r!jKX
translatedr"†r#hj½†r$jKXformat:r%†r&hj½†r'hjφr(j!XthisContextr)†r*hj½†r+jKXsenderr,†r-hj½†r.jKXprintStringr/†r0j©jþ†r1hj½†r2h¨XaStringr3†r4hj݆r5hj߆r6hje†r7j©jþ†r8hX
	r9†r:hLX^r;†r<hj½†r=h¨XaBlockr>†r?hj½†r@jKXvaluerA†rBj©jþ†rChjì†rDjóX! !rE†rFhX

rG†rHjój¹†rIh‘XObjectrJ†rKjóX
 methodsFor: rL†rMj˜X'*39Deprecated'rN†rOjóX stamp: 'md 12/12/2003 16:25'!rP†rQhjì†rRjKXdoIfNotNil:rS†rThj½†rUh¨XaBlockrV†rWhX
	rX†rYj!XselfrZ†r[hj½†r\jKXdeprecated:r]†r^hj½†r_j˜X'use ifNotNilDo:'r`†raj©jþ†rbhX
	rc†rdhLj;†rehj½†rfj!Xselfrg†rhhj½†rijKXifNotNilDo:rj†rkhj½†rlh¨XaBlockrm†rnhjì†rojóX! !rp†rqhX

rr†rsjój¹†rth‘XObjectru†rvjóX
 methodsFor: rw†rxj˜X'*39Deprecated'ry†rzjóX stamp: 'md 11/27/2004 12:20'!r{†r|hjì†r}jKX	ifKindOf:r~†rhj½†r€h¨XaClassr†r‚hj½†rƒjKXthenDo:r„†r…hj½†r†h¨XaBlockr‡†rˆhX
	r‰†rŠj!Xselfr‹†rŒhj½†rjKXdeprecated:rކrhj½†rj˜X!'Deprecated. Just use #isKindOf:'r‘†r’j©jþ†r“hX
	r”†r•hLj;†r–hj½†r—hjĆr˜j!Xselfr™†ršhj½†r›jKX	isKindOf:rœ†rhj½†ržh¨XaClassrŸ†r hj߆r¡hj½†r¢jXifTrue:r£†r¤hj½†r¥hj[†r¦h¨XaBlockr§†r¨hj½†r©jKXvalue:rª†r«hj½†r¬j!Xselfr­†r®hje†r¯jóX! !r°†r±hX

r²†r³jój¹†r´h‘XObjectrµ†r¶jóX
 methodsFor: r·†r¸j˜X'*39Deprecated'r¹†rºjóX stamp: 'gk 2/23/2004 20:51'!r»†r¼hjì†r½jKXplaySoundNamed:r¾†r¿hj½†rÀh¨X	soundNamerÁ†rÂhX
	rÆrÄjLX2"Deprecated.
	Play the sound with the given name."rņrÆhX

	rdžrÈj!XselfrɆrÊhj½†rËjKXdeprecated:r̆rÍhj½†rÎj˜X;'Use "SoundService default playSoundNamed: aName" instead.'rφrÐj©jþ†rÑhX
	rÒ†rÓh‘XSoundServicerÔ†rÕhj½†rÖjKXdefaultr׆rØhj½†rÙjKXplaySoundNamed:rÚ†rÛhj½†rÜh¨X	soundNamer݆rÞjóX! !r߆ràhX


rá†râjój¹†rãh‘XObjecträ†råjóX
 methodsFor: ræ†rçj˜X'*Aida'rè†réjóX stamp: 'JM 4/22/2007 15:23'!rê†rëhjì†rìjKXaidaCanBeLockedrí†rîhX
	rï†rðjLXC"can we get an exclusive lock on that object (not already locked)?"rñ†ròhX
	ró†rôhLj;†rõj!Xfalserö†r÷jóX! !rø†rùhX

rú†rûjój¹†rüh‘XObjectrý†rþjóX
 methodsFor: rÿ†rj˜X'*Aida'r†rjóX stamp: 'JM 4/22/2007 15:23'!r†rhjì†rjKX
aidaDontCacher†rhX
	r†r	jLXT"don't cache web content in a browser. Appropriate header is added to http response"r
†rhX
	r†r
hLj;†rj!Xfalser†rjóX! !r†rhX

r†rjój¹†rh‘XObjectr†rjóX
 methodsFor: r†rj˜X'*Aida'r†rjóX stamp: 'JM 4/22/2007 15:24'!r†rhjì†rjKXaidaIsLockedr†r hX
	r!†r"jLX"is object locked exclusively?"r#†r$hX
	r%†r&hLj;†r'j!Xfalser(†r)jóX! !r*†r+hX

r,†r-jój¹†r.h‘XObjectr/†r0jóX
 methodsFor: r1†r2j˜X'*Aida'r3†r4jóX stamp: 'JM 4/22/2007 15:24'!r5†r6hjì†r7jKXaidaLockr8†r9hX
	r:†r;jLXˆ"get an exclusive lock on that object. Until unlocked, noon else can get that lock. Return false if already locked, true if successfull"r<†r=hX
	r>†r?hLj;†r@j!XfalserA†rBjóX! !rC†rDhX

rE†rFjój¹†rGh‘XObjectrH†rIjóX
 methodsFor: rJ†rKj˜X'*Aida'rL†rMjóX stamp: 'JM 4/22/2007 15:24'!rN†rOhjì†rPjKX
aidaUnlockrQ†rRhX
	rS†rTjLX""release an exclusive lock if any"rU†rVhX
	rW†rXhLj;†rYj!XtruerZ†r[jóX! !r\†r]hX

r^†r_jój¹†r`h‘XObjectra†rbjóX
 methodsFor: rc†rdj˜X'*Aida're†rfjóX stamp: 'JM 4/22/2007 15:24'!rg†rhhjì†rijKXapprj†rkhX
	rl†rmjLXC"fastest and most convinient way to find a web app for that object"rn†rohX
	rp†rqhLj;†rrj!Xselfrs†rthj½†rujKX
webAppFor:rv†rwhj½†rxj!Xselfry†rzhj½†r{jKXfirstSessionFromStackr|†r}jóX! !r~†rhX

r€†rjój¹†r‚h‘XObjectrƒ†r„jóX
 methodsFor: r…†r†j˜X'*Aida'r‡†rˆjóX stamp: 'JM 4/22/2007 15:25'!r‰†rŠhjì†r‹jKXcontentTyperŒ†rhjì†rŽhX
	r†rjLX"Janko Mivsek, apr98"r‘†r’hX
	r“†r”jLX2"return 'text/html' as content type for web pages"r•†r–hX

	r—†r˜hLj;†r™j˜X'text/html'rš†r›jóX! !rœ†rhX

rž†rŸjój¹†r h‘XObjectr¡†r¢jóX
 methodsFor: r£†r¤j˜X'*Aida'r¥†r¦jóX stamp: 'JM 4/22/2007 15:25'!r§†r¨hjì†r©jKXdeepSearchOfClass:rª†r«hj½†r¬h¨X
aClassNamer­†r®hX
	r¯†r°jLX9"finf all objects of that class down in object hierarchy"r±†r²hX
	r³†r´hLX|rµ†r¶h¨X objectDictionary class r·†r¸hLjµ†r¹hX
	rº†r»h¨XobjectDictionaryr¼†r½hj½†r¾hLX:=r¿†rÀhj½†rÁh‘XIdentityDictionaryr†rÃhj½†rÄjXnewrņrÆj©jþ†rÇhX
	rȆrÉj!XselfrʆrËhj½†rÌjKXdeepCopyNotIn:r͆rÎhj½†rÏh¨XobjectDictionaryrІrÑj©jþ†rÒhX
	rÓ†rÔh¨XclassrÕ†rÖhj½†r×hLX:=r؆rÙhj½†rÚh¨X
aClassNamerÛ†rÜhj½†rÝjKXasSymbolrÞ†rßj©jþ†ràhX
	rá†râhLj;†rãh¨XobjectDictionaryrä†råhj½†ræjKXkeysrç†rèhj½†réjKXselect:rê†rëhj½†rìhj[†ríhLX:rî†rïh¨Xeachrð†rñhj½†ròhLjµ†róhj½†rôh¨Xeachrõ†röhj½†r÷jKXclassrø†rùhj½†rújKXnamerû†rühj½†rýjKX=rþ†rÿhj½†rh¨Xclassr†rhje†rj©jþ†rjóX! !r†rhX

r†rjój¹†r	h‘XObjectr
†rjóX
 methodsFor: r†r
j˜X'*Aida'r†rjóX stamp: 'JM 4/22/2007 15:26'!r†rhjì†rjKXdeepSearchOfObsoleteClassesr†rhX
	r†rjLX?"find all objects of obsolete classes down in object hierarchy"r†rhX
	r†rhLjµ†rh¨X objectDictionary r†rhLjµ†rhX
	r†r h¨XobjectDictionaryr!†r"hj½†r#hLX:=r$†r%hj½†r&h‘XIdentityDictionaryr'†r(hj½†r)jXnewr*†r+j©jþ†r,hX
	r-†r.j!Xselfr/†r0hj½†r1jKXdeepCopyNotIn:r2†r3hj½†r4h¨XobjectDictionaryr5†r6j©jþ†r7hX
	r8†r9hLj;†r:h¨XobjectDictionaryr;†r<hj½†r=jKXkeysr>†r?hj½†r@jKXselect:rA†rBhj½†rChj[†rDhLjî†rEh¨XeachrF†rGhj½†rHhLjµ†rIhj½†rJh¨XeachrK†rLhj½†rMjKXclassrN†rOhj½†rPjKX
isObsoleterQ†rRhje†rSj©jþ†rTjóX! !rU†rVhX

rW†rXjój¹†rYh‘XObjectrZ†r[jóX
 methodsFor: r\†r]j˜X'*Aida'r^†r_jóX stamp: 'JM 4/22/2007 15:26'!r`†rahjì†rbjKXexpiresTimestamprc†rdhX
	re†rfjLX3"until when content of this object wont be changed"rg†rhhX
	ri†rjjLX<"used in http response, override if you like to be included"rk†rlhX
	rm†rnhLj;†roj!Xselfrp†rqhj½†rrjKXmodifiedTimestamprs†rthX  ru†rvjLX"to reload pages immediately"rw†rxjóX! !ry†rzhX

r{†r|jój¹†r}h‘XObjectr~†rjóX
 methodsFor: r€†rj˜X'*Aida'r‚†rƒjóX stamp: 'JM 4/22/2007 15:26'!r„†r…hjì†r†jKXfirstAppFromStackr‡†rˆhX
	r‰†rŠjLXH"try to find a first sender up in calling stack, who is  WebApplication"r‹†rŒhX
	r†rŽhLjµ†rh¨X	 context r†r‘hLjµ†r’hX
	r“†r”h¨Xcontextr•†r–hj½†r—hLX:=r˜†r™hj½†ršj!XthisContextr›†rœj©jþ†rhX
	rž†rŸhj[†r h¨Xcontextr¡†r¢hj½†r£jKXnotNilr¤†r¥hje†r¦hj½†r§jX
whileTrue:r¨†r©hj½†rªhj[†r«hX
		r¬†r­hjĆr®h¨Xcontextr¯†r°hj½†r±jKXreceiverr²†r³hj½†r´jKX	isKindOf:rµ†r¶hj½†r·h‘XWebApplicationr¸†r¹hj߆rºhj½†r»jXifTrue:r¼†r½hj½†r¾hj[†r¿hLj;†rÀh¨XcontextrÁ†rÂhj½†rÃjKXreceiverrĆrÅhje†rÆj©jþ†rÇhX
		rȆrÉh¨XcontextrʆrËhj½†rÌhLX:=r͆rÎhj½†rÏh¨XcontextrІrÑhj½†rÒjKXsenderrÓ†rÔhje†rÕj©jþ†rÖhX
	r׆rØhLj;†rÙj!XselfrÚ†rÛhj½†rÜjKXfirstSessionFromStackr݆rÞhj½†rßjKXlastApprà†rájóX! !râ†rãhX

rä†råjój¹†ræh‘XObjectrç†rèjóX
 methodsFor: ré†rêj˜X'*Aida'rë†rìjóX stamp: 'JM 4/25/2007 21:34'!rí†rîhjì†rïjKXfirstSessionFromStackrð†rñhX
	rò†rójLX_"try to find a first sender up in calling stack, who is  AIDASite and get session if that call"rô†rõhX
	rö†r÷hLjµ†røh¨X	 context rù†rúhLjµ†rûhX
	rü†rýh¨Xcontextrþ†rÿhj½†rhLX:=r†rhj½†rj!XthisContextr†rj©jþ†rhX
	r†rhj[†r	h¨Xcontextr
†rhj½†rjKXnotNilr
†rhje†rhj½†rjX
whileTrue:r†rhj½†rhj[†rhX
		r†rhjĆrh¨Xcontextr†rhj½†rjKXreceiverr†rhj½†rjKX	isKindOf:r†rhj½†r h‘XAIDASiter!†r"hj߆r#hj½†r$jXifTrue:r%†r&hX 	r'†r(hj[†r)hLj;†r*hjĆr+h¨Xcontextr,†r-hj½†r.jKXat:r/†r0hj½†r1j;X3r2†r3hj߆r4hj½†r5jLX	"always?"r6†r7hje†r8j©jþ†r9hX
		r:†r;h¨Xcontextr<†r=hj½†r>hLX:=r?†r@hj½†rAh¨XcontextrB†rChj½†rDjKXsenderrE†rFhje†rGj©jþ†rHhX
	rI†rJhLj;†rKj!XnilrL†rMjóX! !rN†rOhX

rP†rQjój¹†rRh‘XObjectrS†rTjóX
 methodsFor: rU†rVj˜X'*Aida'rW†rXjóX! stamp: 'mivsek 1/10/2008 18:14'!rY†rZhjì†r[jKXforLanguage:r\†r]hj½†r^h¨XaLanguageCodeSymbolr_†r`hX
	ra†rbjLXÊ"for multilingual support: returns an apropriate instance of itself for that language. 
	Langage is defined by ISO 639 2-letter language code, see 
	http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes"rc†rdhX
	re†rfhLj;†rgj!Xfalserh†rijóX! !rj†rkhX

rl†rmjój¹†rnh‘XObjectro†rpjóX
 methodsFor: rq†rrj˜X'*Aida'rs†rtjóX! stamp: 'mivsek 1/10/2008 18:14'!ru†rvhjì†rwjKXisMultilingualrx†ryhX
	rz†r{jLXš"for multilingual support: override this if your domain object responds 
	to #forLanguage: and returns an apropriate instance of itself for that language"r|†r}hX
	r~†rhLj;†r€j!Xfalser†r‚jóX! !rƒ†r„hX

r…†r†jój¹†r‡h‘XObjectrˆ†r‰jóX
 methodsFor: rІr‹j˜X'*Aida'rŒ†rjóX stamp: 'JM 4/22/2007 15:27'!rކrhjì†rjKXisVersionedObjectr‘†r’hX
	r“†r”hLj;†r•j!Xfalser–†r—jóX! !r˜†r™hX

rš†r›jój¹†rœh‘XObjectr†ržjóX
 methodsFor: rŸ†r j˜X'*Aida'r¡†r¢jóX stamp: 'JM 4/22/2007 15:27'!r£†r¤hjì†r¥jKXisWebApplicationr¦†r§hX
	r¨†r©hLj;†rªj!Xfalser«†r¬jóX! !r­†r®hX

r¯†r°jój¹†r±h‘XObjectr²†r³jóX
 methodsFor: r´†rµj˜X'*Aida'r¶†r·jóX stamp: 'JM 4/22/2007 15:27'!r¸†r¹hjì†rºjKX
isWebStyler»†r¼hX
	r½†r¾hLj;†r¿j!XfalserÀ†rÁjóX! !r†rÃhX

rĆrÅjój¹†rÆh‘XObjectrdžrÈjóX
 methodsFor: rɆrÊj˜X'*Aida'rˆrÌjóX stamp: 'JM 4/22/2007 15:27'!r͆rÎhjì†rÏjKXmodifiedTimestamprІrÑhX
	rÒ†rÓjLX$"when this object was last modified"rÔ†rÕhX
	rÖ†r×jLX<"used in http response, override if you like to be included"r؆rÙhX
	rÚ†rÛhLj;†rÜj!Xnilr݆rÞjóX! !r߆ràhX

rá†râjój¹†rãh‘XObjecträ†råjóX
 methodsFor: ræ†rçj˜X'*Aida'rè†réjóX stamp: 'JM 4/22/2007 15:28'!rê†rëhjì†rìjKXpreferedUrlrí†rîhX
	rï†rðjLX‘"override with a suggestion for url of this method!! If not already used, 
	it will be considered by URLResolver during automatic url generation"rñ†ròhX
	ró†rôhLj;†rõj!Xnilrö†r÷jóX! !rø†rùhX

rú†rûjój¹†rüh‘XObjectrý†rþjóX
 methodsFor: rÿ†r	j˜X'*Aida'r	†r	jóX stamp: 'JM 4/22/2007 15:28'!r	†r	hjì†r	jKXprintWebAppNotFoundFor:r	†r	hj½†r	h¨XaSessionr		†r
	hX 
	r	†r	hLjµ†r
	h¨X page r	†r	hLjµ†r	hX
	r	†r	h¨Xpager	†r	hj½†r	hLX:=r	†r	hj½†r	h‘XWebPager	†r	hj½†r	jXnewr	†r	j©jþ†r	hX
	r	†r 	h¨Xpager!	†r"	hj½†r#	jKXaddText:r$	†r%	hj½†r&	j˜X*'Cannot find aWebApplication for object a'r'	†r(	jKX,r)	†r*	hj½†r+	j!Xselfr,	†r-	hj½†r.	jKXclassr/	†r0	hj½†r1	jKXnamer2	†r3	j©jþ†r4	hX
	r5	†r6	hLj;†r7	h¨Xpager8	†r9	jóX! !r:	†r;	hX

r<	†r=	jój¹†r>	h‘XObjectr?	†r@	jóX
 methodsFor: rA	†rB	j˜X'*Aida'rC	†rD	jóX stamp: 'JM 4/22/2007 15:28'!rE	†rF	hjì†rG	jKXprintWebPageFor:rH	†rI	hj½†rJ	h¨XaSessionrK	†rL	hX 
	rM	†rN	jLX@"find appropriate web application to represent self as web page"rO	†rP	hX

	rQ	†rR	hLjµ†rS	h¨X webApp rT	†rU	hLjµ†rV	hX
	rW	†rX	h¨XwebApprY	†rZ	hj½†r[	hLX:=r\	†r]	hj½†r^	j!Xselfr_	†r`	hj½†ra	jKX
webAppFor:rb	†rc	hj½†rd	h¨XaSessionre	†rf	j©jþ†rg	hX
	rh	†ri	hLj;†rj	h¨XwebApprk	†rl	hj½†rm	jKXnotNilrn	†ro	hX 
		rp	†rq	jXifTrue:rr	†rs	hj½†rt	hj[†ru	h¨XwebApprv	†rw	hj½†rx	jKXprintWebPagery	†rz	hje†r{	hX
		r|	†r}	jXifFalse:r~	†r	hj½†r€	hj[†r	j!Xselfr‚	†rƒ	hj½†r„	jKXprintWebAppNotFoundFor:r…	†r†	hj½†r‡	h¨XaSessionrˆ	†r‰	hje†rŠ	jóX! !r‹	†rŒ	hX

r	†rŽ	jój¹†r	h‘XObjectr	†r‘	jóX
 methodsFor: r’	†r“	j˜X'*Aida'r”	†r•	jóX stamp: 'JM 4/22/2007 15:29'!r–	†r—	hjì†r˜	jKX	sendOver:r™	†rš	hj½†r›	h¨XaStreamrœ	†r	hX 
	rž	†rŸ	jLX"from Wiki rendering"r 	†r¡	hX
	r¢	†r£	j!Xselfr¤	†r¥	hj½†r¦	jKXprintOn:r§	†r¨	hj½†r©	h¨XaStreamrª	†r«	jóX! !r¬	†r­	hX

r®	†r¯	jój¹†r°	h‘XObjectr±	†r²	jóX
 methodsFor: r³	†r´	j˜X'*Aida'rµ	†r¶	jóX stamp: 'JM 4/22/2007 15:29'!r·	†r¸	hjì†r¹	jKX
webAppFor:rº	†r»	hj½†r¼	h¨XaSessionr½	†r¾	hX
	r¿	†rÀ	hLjµ†rÁ	h¨X webApp rÂ	†rÃ	hLjµ†rÄ	hX
	rÅ	†rÆ	h¨XaSessionrÇ	†rÈ	hj½†rÉ	jKXisNilrÊ	†rË	hj½†rÌ	jXifTrue:rÍ	†rÎ	hj½†rÏ	hj[†rÐ	hLj;†rÑ	j!XnilrÒ	†rÓ	hje†rÔ	j©jþ†rÕ	hX
	rÖ	†r×	h¨XwebApprØ	†rÙ	hj½†rÚ	hLX:=rÛ	†rÜ	hj½†rÝ	h¨XaSessionrÞ	†rß	hj½†rà	jKX
webAppFor:rá	†râ	hj½†rã	j!Xselfrä	†rå	j©jþ†ræ	hX
	rç	†rè	h¨XwebAppré	†rê	hj½†rë	jKXnotNilrì	†rí	hj½†rî	jXifTrue:rï	†rð	hj½†rñ	hj[†rò	hLj;†ró	h¨XwebApprô	†rõ	hje†rö	j©jþ†r÷	hX
	rø	†rù	h¨XwebApprú	†rû	hj½†rü	hLX:=rý	†rþ	hj½†rÿ	h‘XWebApplicationr
†r
hj½†r
jKXnewFor:r
†r
hj½†r
j!Xselfr
†r
hj½†r
jKXon:r	
†r

hj½†r
h¨XaSessionr
†r
j©jþ†r
hX
	r
†r
h¨XwebAppr
†r
hj½†r
jKXnotNilr
†r
hj½†r
e(jXifTrue:r
†r
hj½†r
hj[†r
h¨XaSessionr
†r
hj½†r
jKX
addWebApp:r
†r
hj½†r 
h¨XwebAppr!
†r"
hj½†r#
jKXfor:r$
†r%
hj½†r&
j!Xselfr'
†r(
hje†r)
j©jþ†r*
hX
	r+
†r,
hLj;†r-
h¨XwebAppr.
†r/
jóX! !r0
†r1
hX


r2
†r3
jój¹†r4
h‘XObjectr5
†r6
jóX
 methodsFor: r7
†r8
j˜X'*DynamicBindings'r9
†r:
jóX stamp: 'svp 3/6/2003 16:08'!r;
†r<
hjì†r=
jKXbindingr>
†r?
hX
	r@
†rA
jLX5"Answer the DynamicBinding for the receiver (if any)"rB
†rC
hX

	rD
†rE
hLj;†rF
h‘XBindingsrG
†rH
hj½†rI
jKXbindingFor:rJ
†rK
hj½†rL
j!XselfrM
†rN
hj½†rO
jKXifNotBound:rP
†rQ
hj½†rR
hj[†rS
j!XnilrT
†rU
hje†rV
jóX! !rW
†rX
hX

rY
†rZ
jój¹†r[
h‘XObjectr\
†r]
jóX
 methodsFor: r^
†r_
j˜X'*DynamicBindings'r`
†ra
jóX stamp: 'svp 4/29/2003 00:35'!rb
†rc
hjì†rd
jKXbinding:re
†rf
hj½†rg
h¨XanObjectrh
†ri
hX
	rj
†rk
jLXu"Set the dynamic binding for the receiver, if anObject is nil, then 
	remove the receiver's dynamic binding (if any)"rl
†rm
hX

	rn
†ro
hLj;†rp
h¨XanObjectrq
†rr
hX 
		rs
†rt
jKXifNil:ru
†rv
hj½†rw
hj[†rx
j!Xselfry
†rz
hj½†r{
jKX
removeBindingr|
†r}
hje†r~
hX
		r
†r€
jKX	ifNotNil:r
†r‚
hj½†rƒ
hj[†r„
h‘XBindingsr…
†r†
hj½†r‡
jKXbind:rˆ
†r‰
hj½†rŠ
j!Xselfr‹
†rŒ
hj½†r
jKXto:rŽ
†r
hj½†r
h¨XanObjectr‘
†r’
hje†r“
jóX! !r”
†r•
hX

r–
†r—
jój¹†r˜
h‘XObjectr™
†rš
jóX
 methodsFor: r›
†rœ
j˜X'*DynamicBindings'r
†rž
jóX stamp: 'svp 3/6/2003 16:09'!rŸ
†r 
hjì†r¡
jKX
hasBindingr¢
†r£
hX
	r¤
†r¥
jLX:"Answer whether or not the receiver has a dynamic binding"r¦
†r§
hX

	r¨
†r©
hLj;†rª
h‘XBindingsr«
†r¬
hj½†r­
jKXincludesKey:r®
†r¯
hj½†r°
j!Xselfr±
†r²
jóX! !r³
†r´
hX

rµ
†r¶
jój¹†r·
h‘XObjectr¸
†r¹
jóX
 methodsFor: rº
†r»
j˜X'*DynamicBindings'r¼
†r½
jóX stamp: 'svp 3/6/2003 16:09'!r¾
†r¿
hjì†rÀ
jKX
removeBindingrÁ
†rÂ
hX
	rÃ
†rÄ
jLX9"Remove the dynamic binding associated with the receiver"rÅ
†rÆ
hX

	rÇ
†rÈ
hLj;†rÉ
h‘XBindingsrÊ
†rË
hj½†rÌ
jKX
removeKey:rÍ
†rÎ
hj½†rÏ
j!XselfrÐ
†rÑ
hj½†rÒ
jKX	ifAbsent:rÓ
†rÔ
hj½†rÕ
hj[†rÖ
hje†r×
jóX! !rØ
†rÙ
hX


rÚ
†rÛ
jój¹†rÜ
h‘XObjectrÝ
†rÞ
jóX
 methodsFor: rß
†rà
j˜X'*KomHttpServer'rá
†râ
jóX stamp: 'SVP 8/23/1999 19:17'!rã
†rä
hjì†rå
jKXasHtmlDocumentForRequest:ræ
†rç
hj½†rè
h¨XaNetworkRequestré
†rê
hX

	rë
†rì
j!Xselfrí
†rî
hj½†rï
jKXerror:rð
†rñ
hX 
		rò
†ró
hjĆrô
j˜X'The requested object ('rõ
†rö
jKj)	†r÷
hX 
		rø
†rù
j!Xselfrú
†rû
hj½†rü
jKXasStringrý
†rþ
jKj)	†rÿ
hX 
		r†rj˜X7'), could not be converted into HTML for your browser.'r†rhj߆rjóX! !r†rhX

r†rjój¹†r	h‘XObjectr
†rjóX
 methodsFor: r†r
j˜X'*KomHttpServer'r†rjóX stamp: 'SVP 8/23/1999 19:23'!r†rhjì†rjKXasHttpResponseTo:r†rhj½†rh¨X
anHttpRequestr†rhX

	r†rhLj;†rhjĆrj!Xselfr†rhj½†rjKXasHtmlDocumentForRequest:r†r hj½†r!h¨X
anHttpRequestr"†r#hj߆r$hX 
		r%†r&jKXasHttpResponseTo:r'†r(hj½†r)h¨X
anHttpRequestr*†r+hjì†r,jóX! !r-†r.hX

r/†r0jój¹†r1h‘XObjectr2†r3jóX
 methodsFor: r4†r5j˜X'*KomHttpServer'r6†r7jóX stamp: 'svp 5/16/2003 12:47'!r8†r9hjì†r:jKXisComancheModuler;†r<hjì†r=hX
	r>†r?hLj;†r@j!XfalserA†rBjóX! !rC†rDhX

rE†rFjój¹†rGh‘XObjectrH†rIjóX
 methodsFor: rJ†rKj˜X'*KomHttpServer'rL†rMjóX stamp: 'SVP 8/17/1999 17:51'!rN†rOhjì†rPjKXmimeTyperQ†rRhjì†rShX
	rT†rUhLj;†rVh‘XMIMEDocumentrW†rXhj½†rYjKXdefaultContentTyperZ†r[jóX! !r\†r]hX


r^†r_jój¹†r`h‘XObjectra†rbjóX
 methodsFor: rc†rdj˜X'*Morphic-NewCurve-testing'''re†rfjóX stamp: 'wiz 12/31/2005 21:31'!rg†rhhjì†rijKX	isNonZerorj†rkhjì†rljLXG"Overriden in Number. This returns the backstop answer for non-numbers"rm†rnhjì†rohLj;†rpj!Xfalserq†rrj©jþ†rsjóX! !rt†ruhX


rv†rwjój¹†rxh‘XObjectry†rzjóX
 methodsFor: r{†r|j˜X'*Pinesoft-EventEnhancements'r}†r~jóX stamp: 'gvc 10/25/2006 18:18'!r†r€hjì†rjKXwhen:r‚†rƒhj½†r„h¨XanEventSelectorr…†r†hjì†r‡jKXsend:rˆ†r‰hj½†rŠh¨XaMessageSelectorr‹†rŒhjì†rjKXto:rކrhj½†rh¨XanObjectr‘†r’hjì†r“jKX
exclusive:r”†r•hj½†r–h¨XaValueHolderr—†r˜hX
 
	r™†ršj!Xselfr›†rœhX
		r†ržjKXwhen:rŸ†r hj½†r¡h¨XanEventSelectorr¢†r£hX
		r¤†r¥jKX	evaluate:r¦†r§hj½†r¨hjĆr©hjĆrªh‘XExclusiveWeakMessageSendr«†r¬hX
					r­†r®jKX	receiver:r¯†r°hj½†r±h¨XanObjectr²†r³hX
					r´†rµjKX	selector:r¶†r·hj½†r¸h¨XaMessageSelectorr¹†rºhj߆r»hX
						r¼†r½jKXbasicExecuting:r¾†r¿hj½†rÀh¨XaValueHolderrÁ†rÂhj߆rÃjóX! !rĆrÅhX

rƆrÇjój¹†rÈh‘XObjectrɆrÊjóX
 methodsFor: rˆrÌj˜X'*Pinesoft-EventEnhancements'r͆rÎjóX stamp: 'gvc 10/25/2006 18:17'!rφrÐhjì†rÑjKXwhen:rÒ†rÓhj½†rÔh¨XanEventSelectorrÕ†rÖhjì†r×jKXsend:r؆rÙhj½†rÚh¨XaMessageSelectorrÛ†rÜhjì†rÝjKXto:rÞ†rßhj½†ràh¨XanObjectrá†râhjì†rãjKXwith:rä†råhj½†ræh¨XanArgrç†rèhjì†réjKX
exclusive:rê†rëhj½†rìh¨XaValueHolderrí†rîhX
 
    rï†rðj!Xselfrñ†ròhX	
        ró†rôjKXwhen:rõ†röhj½†r÷h¨XanEventSelectorrø†rùhX	
        rú†rûjKX	evaluate:rü†rýhj½†rþhjĆrÿhjĆrh‘XExclusiveWeakMessageSendr†rhX
 		r†rjKX	receiver:r†rhj½†rh¨XanObjectr†r	hX
		r
†rjKX	selector:r†r
hj½†rh¨XaMessageSelectorr†rhX
		r†rjKX
arguments:r†rhj½†rhjĆrh‘XArrayr†rhj½†rjKXwith:r†rhj½†rh¨XanArgr†rhj߆rhj߆r hX
			r!†r"jKXbasicExecuting:r#†r$hj½†r%h¨XaValueHolderr&†r'hj߆r(jóX! !r)†r*hX

r+†r,jój¹†r-h‘XObjectr.†r/jóX
 methodsFor: r0†r1j˜X'*Pinesoft-EventEnhancements'r2†r3jóX stamp: 'gvc 10/25/2006 18:17'!r4†r5hjì†r6jKXwhen:r7†r8hj½†r9h¨XanEventSelectorr:†r;hjì†r<jKXsend:r=†r>hj½†r?h¨XaMessageSelectorr@†rAhjì†rBjKXto:rC†rDhj½†rEh¨XanObjectrF†rGhjì†rHjKXwithArguments:rI†rJhj½†rKh¨X
anArgArrayrL†rMhjì†rNjKX
exclusive:rO†rPhj½†rQh¨XaValueHolderrR†rShX
 
    rT†rUj!XselfrV†rWhX	
        rX†rYjKXwhen:rZ†r[hj½†r\h¨XanEventSelectorr]†r^hX	
        r_†r`jKX	evaluate:ra†rbhj½†rchjĆrdhjĆreh‘XExclusiveWeakMessageSendrf†rghX
		rh†rijKX	receiver:rj†rkhj½†rlh¨XanObjectrm†rnhX
		ro†rpjKX	selector:rq†rrhj½†rsh¨XaMessageSelectorrt†ruhX
		rv†rwjKX
arguments:rx†ryhj½†rzh¨X
anArgArrayr{†r|hj߆r}hX
			r~†rjKXbasicExecuting:r€†rhj½†r‚h¨XaValueHolderrƒ†r„hj߆r…jóX! !r††r‡hX

rˆ†r‰jój¹†rŠh‘XObjectr‹†rŒjóX
 methodsFor: r†rŽj˜X'*Pinesoft-EventEnhancements'r†rjóX stamp: 'gvc 10/24/2006 11:50'!r‘†r’hjì†r“jKXwhen:r”†r•hj½†r–h¨XanEventSelectorr—†r˜hjì†r™jKX	sendOnce:rš†r›hj½†rœh¨XaMessageSelectorr†ržhjì†rŸjKXto:r †r¡hj½†r¢h¨XanObjectr£†r¤hX
 
    r¥†r¦j!Xselfr§†r¨hX	
        r©†rªjKXwhen:r«†r¬hj½†r­h¨XanEventSelectorr®†r¯hX	
        r°†r±jKX	evaluate:r²†r³hj½†r´hjĆrµh‘XNonReentrantWeakMessageSendr¶†r·hX

            r¸†r¹jKX	receiver:rº†r»hj½†r¼h¨XanObjectr½†r¾hX

            r¿†rÀjKX	selector:rÁ†rÂhj½†rÃh¨XaMessageSelectorrÄ†rÅhj߆rÆjóX! !rÇ†rÈhX

rÉ†rÊjój¹†rËh‘XObjectrÌ†rÍjóX
 methodsFor: rÎ†rÏj˜X'*Pinesoft-EventEnhancements'rÐ†rÑjóX stamp: 'gvc 10/24/2006 11:49'!rÒ†rÓhjì†rÔjKXwhen:rÕ†rÖhj½†r×h¨XanEventSelectorrØ†rÙhjì†rÚjKX	sendOnce:rÛ†rÜhj½†rÝh¨XaMessageSelectorrÞ†rßhjì†ràjKXto:rá†râhj½†rãh¨XanObjecträ†råhjì†ræjKXwith:rç†rèhj½†réh¨XanArgrê†rëhX
 
    rì†ríj!Xselfrî†rïhX	
        rð†rñjKXwhen:rò†róhj½†rôh¨XanEventSelectorrõ†röhX	
        r÷†røjKX	evaluate:rù†rúhj½†rûhjĆrüh‘XNonReentrantWeakMessageSendrý†rþhX

            rÿ†r
jKX	receiver:r
†r
hj½†r
h¨XanObjectr
†r
hX

            r
†r
jKX	selector:r
†r	
hj½†r

h¨XaMessageSelectorr
†r
hX
		r

†r
jKX
arguments:r
†r
hj½†r
hjĆr
h‘XArrayr
†r
hj½†r
jKXwith:r
†r
hj½†r
h¨XanArgr
†r
hj߆r
hj߆r
jóX! !r
†r
hX

r
†r 
jój¹†r!
h‘XObjectr"
†r#
jóX
 methodsFor: r$
†r%
j˜X'*Pinesoft-EventEnhancements'r&
†r'
jóX stamp: 'gvc 10/24/2006 11:49'!r(
†r)
hjì†r*
jKXwhen:r+
†r,
hj½†r-
h¨XanEventSelectorr.
†r/
hjì†r0
jKX	sendOnce:r1
†r2
hj½†r3
h¨XaMessageSelectorr4
†r5
hjì†r6
jKXto:r7
†r8
hj½†r9
h¨XanObjectr:
†r;
hjì†r<
jKXwithArguments:r=
†r>
hj½†r?
h¨X
anArgArrayr@
†rA
hX
 
    rB
†rC
j!XselfrD
†rE
hX	
        rF
†rG
jKXwhen:rH
†rI
hj½†rJ
h¨XanEventSelectorrK
†rL
hX	
        rM
†rN
jKX	evaluate:rO
†rP
hj½†rQ
hjĆrR
h‘XNonReentrantWeakMessageSendrS
†rT
hX

            rU
†rV
jKX	receiver:rW
†rX
hj½†rY
h¨XanObjectrZ
†r[
hX

            r\
†r]
jKX	selector:r^
†r_
hj½†r`
h¨XaMessageSelectorra
†rb
hX
		rc
†rd
jKX
arguments:re
†rf
hj½†rg
h¨X
anArgArrayrh
†ri
hj߆rj
jóX! !rk
†rl
hX


rm
†rn
jój¹†ro
h‘XObjectrp
†rq
jóX
 methodsFor: rr
†rs
j˜X'*Pinesoft-Widgets'rt
†ru
jóX stamp: 'gvc 1/10/2007 11:41'!rv
†rw
hjì†rx
jKX	okToClosery
†rz
hX
	r{
†r|
jLX["Sent to models when a window closing.
	Allows this check to be independent of okToChange."r}
†r~
hX
	
	r
†r€
hLj;†r
j!Xtruer‚
†rƒ
jóX! !r„
†r…
hX

r†
†r‡
jój¹†rˆ
h‘XObjectr‰
†rŠ
jóX
 methodsFor: r‹
†rŒ
j˜X'*Pinesoft-Widgets'r
†rŽ
jóX stamp: 'gvc 4/17/2007 17:41'!r
†r
hjì†r‘
jKXtaskbarIconr’
†r“
hX
	r”
†r•
jLXI"Answer the icon for the receiver in a task bar
	or nil for the default."r–
†r—
hX

	r˜
†r™
hLj;†rš
j!Xselfr›
†rœ
hj½†r
jKXclassrž
†rŸ
hj½†r 
jKXtaskbarIconr¡
†r¢
jóX! !r£
†r¤
hX


r¥
†r¦
jój¹†r§
h‘XObjectr¨
†r©
jóX
 methodsFor: rª
†r«
j˜X'*Pinesoft-Widgets-override'r¬
†r­
jóX stamp: 'gvc 9/4/2007 12:32'!r®
†r¯
hjì†r°
jKXwindowActiveOnFirstClickr±
†r²
hX
	r³
†r´
jLX;"Return true if my window should be active on first click."rµ
†r¶
hX

	r·
†r¸
hLj;†r¹
j!Xtruerº
†r»
jóX! !r¼
†r½
hX


r¾
†r¿
jój¹†rÀ
h‘XObjectrÁ
†rÂ
jóX
 methodsFor: rÃ
†rÄ
j˜X'*SeasideAdaptersCompatibility'rÅ
†rÆ
jóX stamp: 'pmm 11/25/2007 14:17'!rÇ
†rÈ
hjì†rÉ
jKXtoStringrÊ
†rË
hX
	rÌ
†rÍ
hLj;†rÎ
j!XselfrÏ
†rÐ
jóX! !rÑ
†rÒ
hX


rÓ
†rÔ
jój¹†rÕ
h‘XObjectrÖ
†r×
jóX
 methodsFor: rØ
†rÙ
j˜X'*Tools-Explorer'rÚ
†rÛ
jóX* stamp: 'stephaneducasse 9/17/2005 21:52'!rÜ
†rÝ
hjì†rÞ
jKXexploreAndYourselfrß
†rà
hX
	rá
†râ
jLXK"i.e. explore; yourself. Thisway i can peek w/o typing all the parentheses"rã
†rä
hX
	rå
†ræ
j!Xselfrç
†rè
hj½†ré
jKXexplorerê
†rë
j©jþ†rì
hX 
     rí
†rî
hLj;†rï
j!Xselfrð
†rñ
jóX! !rò
†ró
hX

rô
†rõ
jój¹†rö
h‘XObjectr÷
†rø
jóX
 methodsFor: rù
†rú
j˜X'*Tools-Explorer'rû
†rü
jóX* stamp: 'stephaneducasse 9/17/2005 21:48'!rý
†rþ
hjì†rÿ
jKXexploreWithLabel:r†rhj½†rh¨Xlabelr†rhX

	r†rhLj;†rhj½†rh‘XObjectExplorerr	†r
hj½†rjXnewr†r
hj½†rjKXopenExplorerFor:r†rhj½†rj!Xselfr†rhj½†rjKX
withLabel:r†rhjì†rh¨Xlabelr†rjóX! !r†rhX


r†rjój¹†rh‘XObjectr†r jóX
 methodsFor: r!†r"j˜X'*kernel-extensions-flagging'r#†r$jóX stamp: 'mtf 1/26/2008 23:34'!r%†r&hjì†r'jKX
deprecatedr(†r)hX
	r*†r+jLX3"Warn that the sending method has been deprecated."r,†r-hX

	r.†r/h‘XPreferencesr0†r1hj½†r2jKXshowDeprecationWarningsr3†r4hj½†r5jXifTrue:r6†r7hX
		r8†r9hj[†r:h‘XDeprecationr;†r<hj½†r=jKXsignal:r>†r?hj½†r@j!XthisContextrA†rBhj½†rCjKXsenderrD†rEhj½†rFjKXprintStringrG†rHjKj)	†rIhj½†rJj˜X' has been deprecated.'rK†rLhje†rMjóX! !rN†rOhX


rP†rQjój¹†rRh‘XObjectrS†rTjóX
 methodsFor: rU†rVj˜X '*kernel-extensions-flexibility'rW†rXjóX stamp: 'kph 1/27/2008 19:21'!rY†rZhjì†r[jKXaskFor:r\†r]hj½†r^h¨Xselectorr_†r`hX 

    ra†rbjLX"returns true or false"rc†rdhX
	
	re†rfhLj;†rghj½†rhhjĆrij!Xselfrj†rkhj½†rljKXaskFor:rm†rnhj½†roh¨Xselectorrp†rqhj½†rrjKX	ifAbsent:rs†rthj½†ruj!Xnilrv†rwhj߆rxhj½†ryjKX==rz†r{hj½†r|j!Xtruer}†r~jóX! !r†r€hX

r†r‚jój¹†rƒh‘XObjectr„†r…jóX
 methodsFor: r††r‡j˜X '*kernel-extensions-flexibility'rˆ†r‰jóX stamp: 'kph 10/17/2007 14:01'!rІr‹hjì†rŒjKXaskFor:r†rŽhj½†rh¨Xselectorr†r‘hj½†r’jKX	ifAbsent:r“†r”hj½†r•h¨XaBlockr–†r—hX

   r˜†r™jLXž"enables a default value to be specified in order to be tolerant of potentially missing methods
	
	e.g.
	(myPoint askFor: #originOffset) ifAbsent: [ 0@0 ].
	"rš†r›hX

	rœ†rhLj;†ržhj½†rŸhjĆr j!Xselfr¡†r¢hj½†r£jKXclassr¤†r¥hj½†r¦jKXcanUnderstand:r§†r¨hj½†r©h¨Xselectorrª†r«hj߆r¬hj½†r­jXifFalse:r®†r¯hj½†r°hj[†r±hj½†r²h¨XaBlockr³†r´hj½†rµjKXvaluer¶†r·hj½†r¸hje†r¹hj½†rºjXifTrue:r»†r¼hj½†r½hj[†r¾j!Xselfr¿†rÀhj½†rÁjKXperform:r†rÃhj½†rÄh¨XselectorrņrÆhje†rÇjóX! !rȆrÉhX


rʆrËjój¹†rÌh‘XObjectr͆rÎjóX
 methodsFor: rφrÐj˜X'*kernel-extensions-logging'rцrÒjóX stamp: 'mtf 1/26/2008 23:52'!rÓ†rÔhjì†rÕjKXlogrÖ†r×hX
	r؆rÙjLXI"This method provides the univeral entry point fo all logging mechanisms"rÚ†rÛhX
	
	r܆rÝjLX“"Options:
	1. Null for null logging
	2. A LogRouter instance wih a FrameworkAdaptor.
	3. CurrentLog a process local variable supplying a LogRouter"rÞ†rßhX
	
	rà†ráhLj;†râhj½†rãhjĆräh‘X	Smalltalkrå†ræhj½†rçjKXat:rè†réhj½†rêj´X#CurrentLogrë†rìhj½†ríjKX	ifAbsent:rî†rïhj½†rðhj[†rñhj½†ròh‘XNullró†rôhj½†rõjKXdefaultrö†r÷hj½†røhje†rùhj߆rúhj½†rûjKXvaluerü†rýhX
		rþ†rÿjKXsender:r†rhj½†rj!XthisContextr†rhj½†rjKXsenderr†rj©X;r†r	hj½†r
jKX
beginEntryr†rj©j†r
hj½†rjKXyourselfr†rjóX! !r†rhX


r†rjój¹†rh‘XObjectr†rjóX
 methodsFor: r†rj˜X'*magritte-model-accessing'r†rjóX stamp: 'lr 3/9/2006 11:31'!r†rhjì†rjKXdescriptionr†r hX
	r!†r"jLXw"Return the description of the reciever. Subclasses might override this message to return instance-based descriptions."r#†r$hX

	r%†r&hLj;†r'hj½†r(j!Xselfr)†r*hj½†r+jKXclassr,†r-hj½†r.jKXdescriptionr/†r0jóX! !r1†r2hX

r3†r4jój¹†r5h‘XObjectr6†r7jóX
 methodsFor: r8†r9j˜X'*magritte-model-accessing'r:†r;jóX stamp: 'lr 3/9/2006 11:31'!r<†r=hjì†r>jKXmementoClassr?†r@hX
	rA†rBjLXW"Return a class to be used to remember or cache the receiver, namely a memento object."rC†rDhX

	rE†rFhLj;†rGhj½†rHh‘XMACheckedMementorI†rJjóX! !rK†rLhX


rM†rNjój¹†rOh‘XObjectrP†rQjóX
 methodsFor: rR†rSj˜X'*magritte-model-model'rT†rUjóX stamp: 'lr 3/9/2006 11:31'!rV†rWhjì†rXjKX
readUsing:rY†rZhj½†r[h¨XaDescriptionr\†r]hX
	r^†r_jLXN"Dispatch the read-access to the receiver using the accessor of aDescription."r`†rahX

	rb†rchLj;†rdhj½†reh¨XaDescriptionrf†rghj½†rhjKXaccessorri†rjhj½†rkjKXread:rl†rmhj½†rnj!Xselfro†rpjóX! !rq†rrhX

rs†rtjój¹†ruh‘XObjectrv†rwjóX
 methodsFor: rx†ryj˜X'*magritte-model-model'rz†r{jóX stamp: 'lr 3/9/2006 11:31'!r|†r}hjì†r~jKXwrite:r†r€hj½†rh¨XanObjectr‚†rƒhj½†r„jKXusing:r…†r†hj½†r‡h¨XaDescriptionrˆ†r‰hX
	rІr‹jLX["Dispatch the write-access to the receiver of anObject using the accessor of aDescription."rŒ†rhX

	rކrh¨XaDescriptionr†r‘hj½†r’jKXaccessorr“†r”hj½†r•jKXwrite:r–†r—hj½†r˜h¨XanObjectr™†ršhj½†r›jKXto:rœ†rhj½†ržj!XselfrŸ†r jóX! !r¡†r¢hX


r£†r¤jój¹†r¥h‘XObjectr¦†r§jóX
 methodsFor: r¨†r©j˜X'*magritte-model-testing'rª†r«jóX stamp: 'lr 3/9/2006 11:31'!r¬†r­hjì†r®jKX
isDescriptionr¯†r°hX
	r±†r²hLj;†r³hj½†r´j!Xfalserµ†r¶jóX! !r·†r¸hX


r¹†rºjój¹†r»h‘XObjectr¼†r½jóX
 methodsFor: r¾†r¿j˜X'*magritte-morph-converting'rÀ†rÁjóX stamp: 'lr 3/9/2006 11:33'!r†rÃhjì†rÄjKXasMorphrņrÆhX
	rdžrÈhLj;†rÉhj½†rÊj!XselfrˆrÌhj½†rÍjKXdescriptionrΆrÏhj½†rÐjKX
asMorphOn:rцrÒhj½†rÓj!XselfrÔ†rÕjóX! !rÖ†r×hX


r؆rÙjój¹†rÚh‘XObjectrÛ†rÜjóX
 methodsFor: r݆rÞj˜X'*magritte-seaside-converting'r߆ràjóX stamp: 'lr 3/9/2006 11:33'!rá†râhjì†rãjKXasComponenträ†råhX
	ræ†rçhLj;†rèhj½†réj!Xselfrê†rëhj½†rìjKXdescriptionrí†rîhj½†rïjKXasComponentOn:rð†rñhj½†ròj!Xselfró†rôjóX! !rõ†röhX


r÷†røjój¹†rùh‘XObjectrú†rûjóX
 methodsFor: rü†rýj˜X
'*monticello'rþ†rÿjóX stamp: 'dvf 8/10/2004 23:25'!r†rhjì†rjKX
isConflictr†rhX
	r†rhLj;†rj!Xfalser†r	jóX! !r
†rhX


r†r
jój¹†rh‘XObjectr†rjóX
 methodsFor: r†rj˜X'*null'r†rjóX stamp: 'kph 9/6/2007 23:31'!r†rhjì†rjKXifNull:r†rhj½†rh¨XaBlockr†rhX

	r†rhLj;†rhj½†r j!Xselfr!†r"jóX! !r#†r$hX

r%†r&jój¹†r'h‘XObjectr(†r)jóX
 methodsFor: r*†r+j˜X'*null'r,†r-jóX stamp: 'kph 9/6/2007 23:33'!r.†r/hjì†r0jKXisNullr1†r2hjì†r3hX
	r4†r5hLj;†r6hj½†r7j!Xfalser8†r9jóX! !r:†r;hX

r<†r=jój¹†r>h‘XObjectr?†r@jóX
 methodsFor: rA†rBj˜X'*null'rC†rDjóX stamp: 'kph 4/12/2007 08:27'!rE†rFhjì†rGjKXorNullrH†rIhjì†rJhX
	rK†rLhLj;†rMhj½†rNj!XselfrO†rPjóX! !rQ†rRhX


rS†rTjój¹†rUh‘XObjectrV†rWjóX
 methodsFor: rX†rYj˜X'*ob-tools-inspector'rZ†r[jóX stamp: 'lr 6/5/2008 11:07'!r\†r]hjì†r^jKXbasicInspectorNodesr_†r`hX
	ra†rbhX<rc†rdjóX
inspector:re†rfhX #'1' priority: 600rg†rhhX>ri†rjhX
	
	rk†rlhLjµ†rmh¨X nodes rn†rohLjµ†rphX
	rq†rrh¨Xnodesrs†rthj½†ruhLX:=rv†rwhj½†rxh‘XOrderedCollectionry†rze(hj½†r{jKXnew:r|†r}hj½†r~j!Xselfr†r€hj½†rjKXclassr‚†rƒhj½†r„jKXinstSizer…†r†hj½†r‡jKX+rˆ†r‰hj½†rŠj!Xselfr‹†rŒhj½†rjKX	basicSizerކrhj½†rjKjˆ†r‘hj½†r’j;X5r“†r”j©jþ†r•hX
	r–†r—h¨Xnodesr˜†r™hj½†ršjKXadd:r›†rœhj½†rj!Xselfrž†rŸhj½†r jKXselfInspectorNoder¡†r¢j©jþ†r£hX
	r¤†r¥j!Xselfr¦†r§hj½†r¨jKXclassr©†rªhj½†r«jKXallInstVarNamesr¬†r­hj½†r®jKXwithIndexDo:r¯†r°hj½†r±hj[†r²hj½†r³hLjî†r´h¨Xnamerµ†r¶hj½†r·hLjî†r¸h¨Xindexr¹†rºhj½†r»hLjµ†r¼hX
		r½†r¾h¨Xnodesr¿†rÀhj½†rÁjKXadd:r†rÃhj½†rÄhjĆrÅh‘XOTNamedVariableNoderƆrÇhj½†rÈjKXon:rɆrÊhj½†rËj!Xselfr̆rÍhj½†rÎjKXindex:rφrÐhj½†rÑh¨XindexrÒ†rÓhj½†rÔjKXname:rÕ†rÖhj½†r×h¨Xnamer؆rÙhj߆rÚhj½†rÛhje†rÜj©jþ†rÝhX
	rÞ†rßj;X1rà†ráhj½†râjKXto:rã†rähj½†råj!Xselfræ†rçhj½†rèjKX	basicSizeré†rêhj½†rëjKXdo:rì†ríhj½†rîhj[†rïhj½†rðhLjî†rñh¨Xindexrò†róhj½†rôhLjµ†rõhX
		rö†r÷h¨Xnodesrø†rùhj½†rújKXadd:rû†rühj½†rýhjĆrþh‘XOTIndexedVariableNoderÿ†rhj½†rjKXon:r†rhj½†rj!Xselfr†rhj½†rjKXindex:r†r	hj½†r
h¨Xindexr†rhj߆r
hj½†rhje†rj©jþ†rhX
	r†rhLj;†rhj½†rh¨Xnodesr†rjóX! !r†rhX

r†rjój¹†rh‘XObjectr†rjóX
 methodsFor: r†rj˜X'*ob-tools-inspector'r †r!jóX stamp: 'lr 6/5/2008 11:07'!r"†r#hjì†r$jKXprotocolInspectorNodesr%†r&hX
	r'†r(hjc†r)jóX
inspector:r*†r+hX #'#' priority: 800r,†r-hji†r.hX

	r/†r0hLj;†r1hj½†r2j!Xselfr3†r4hj½†r5jKXclassr6†r7hj½†r8jKXallSelectorsr9†r:hj½†r;jKXasArrayr<†r=hj½†r>jKXsortr?†r@hX
		rA†rBjKXcollect:rC†rDhj½†rEhj[†rFhj½†rGhLjî†rHh¨XeachrI†rJhj½†rKhLjµ†rLhj½†rMh‘XOTProtocolInspectorNoderN†rOhj½†rPjKXon:rQ†rRhj½†rSj!XselfrT†rUhj½†rVjKX	selector:rW†rXhj½†rYh¨XeachrZ†r[hj½†r\hje†r]jóX! !r^†r_hX

r`†rajój¹†rbh‘XObjectrc†rdjóX
 methodsFor: re†rfj˜X'*ob-tools-inspector'rg†rhjóX stamp: 'lr 6/5/2008 09:58'!ri†rjhjì†rkjKXselfInspectorNoderl†rmhX
	rn†rohLj;†rphj½†rqh‘XOTDerivedInspectorNoderr†rshj½†rtjKXon:ru†rvhj½†rwj!Xselfrx†ryhj½†rzjKXlabel:r{†r|hj½†r}j˜X'self'r~†rhj½†r€jKXblock:r†r‚hj½†rƒhj[†r„hj½†r…hLjî†r†h¨Xobjr‡†rˆhj½†r‰hLjµ†rŠhj½†r‹h¨XobjrŒ†rhj½†rŽhje†rjóX! !r†r‘hX


r’†r“jój¹†r”h‘XObjectr•†r–jóX
 methodsFor: r—†r˜j˜X'*omnibrowser-converting'r™†ršjóX stamp: 'cwp 4/17/2006 12:16'!r›†rœhjì†rjKXasAnnouncementrž†rŸhX
	r †r¡hLj;†r¢hj½†r£j!Xselfr¤†r¥jóX! !r¦†r§hX


r¨†r©jój¹†rªh‘XObjectr«†r¬jóX
 methodsFor: r­†r®j˜X
'*pier-model'r¯†r°jóX stamp: 'lr 3/9/2006 11:29'!r±†r²hjì†r³jKXaccept:r´†rµhj½†r¶h¨XaVisitorr·†r¸hX
	r¹†rºj!Xselfr»†r¼hj½†r½jKXsubclassResponsibilityr¾†r¿jóX! !rÀ†rÁhX

r†rÃjój¹†rÄh‘XObjectrņrÆjóX
 methodsFor: rdžrÈj˜X
'*pier-model'rɆrÊjóX stamp: 'lr 3/9/2006 11:29'!rˆrÌhjì†rÍjKXacceptDecorated:rΆrÏhj½†rÐh¨XaVisitorrцrÒhX
	rÓ†rÔj!XselfrÕ†rÖhj½†r×jKXaccept:r؆rÙhj½†rÚh¨XaVisitorrÛ†rÜjóX! !r݆rÞhX


r߆ràjój¹†ráh‘XObjectrâ†rãjóX
 methodsFor: rä†råj˜X
'*rio-kernel'ræ†rçjóX stamp: 'kph 3/8/2007 21:25'!rè†réhjì†rêjKXisRiorë†rìhjì†ríhX
	rî†rïhLj;†rðhj½†rñj!Xfalserò†rójóX! !rô†rõhX


rö†r÷jój¹†røh‘XObjectrù†rújóX
 methodsFor: rû†rüj˜X'*scriptaculous'rý†rþjóX stamp: 'lr 1/4/2007 17:20'!rÿ†rhjì†rjKX
asFunctionr†rhX
	r†rhLj;†rhj½†rj!Xselfr†r	hj½†r
jKXasFunction:r†rhj½†r
j´X#(r†rj´j߆rjóX! !r†rhX

r†rjój¹†rh‘XObjectr†rjóX
 methodsFor: r†rj˜X'*scriptaculous'r†rjóX stamp: 'lr 1/4/2007 17:21'!r†rhjì†rjKXasFunction:r†r hj½†r!h¨XaCollectionr"†r#hX
	r$†r%hLj;†r&hj½†r'h‘X
SUFunctionr(†r)hj½†r*jXnewr+†r,hj½†r-jKXadd:r.†r/hj½†r0j!Xselfr1†r2j©j†r3hj½†r4jKX
arguments:r5†r6hj½†r7h¨XaCollectionr8†r9jóX! !r:†r;hX

r<†r=jój¹†r>h‘XObjectr?†r@jóX
 methodsFor: rA†rBj˜X'*scriptaculous'rC†rDjóX stamp: 'lr 4/11/2006 19:49'!rE†rFhjì†rGjKXasJavascriptrH†rIhX
	rJ†rKhLj;†rLhj½†rMh‘XStringrN†rOhj½†rPjKXstreamContents:rQ†rRhj½†rShj[†rThj½†rUhLjî†rVh¨XstreamrW†rXhj½†rYhLjµ†rZhj½†r[j!Xselfr\†r]hj½†r^jKX
javascriptOn:r_†r`hj½†rah¨Xstreamrb†rchj½†rdhje†rejóX! !rf†rghX


rh†rijój¹†rjh‘XObjectrk†rljóX
 methodsFor: rm†rnj˜X'*scriptaculous-printing'ro†rpjóX stamp: 'lr 4/20/2006 21:10'!rq†rrhjì†rsjKX
javascriptOn:rt†ruhj½†rvh¨XaStreamrw†rxhX
	ry†rzj!Xselfr{†r|hj½†r}jKXprintOn:r~†rhj½†r€h¨XaStreamr†r‚jóX! !rƒ†r„hX


r…†r†jój¹†r‡h‘XObjectrˆ†r‰jóX
 methodsFor: rІr‹j˜X'*seaside2'rŒ†rjóX stamp: 'lr 6/5/2007 21:35'!rކrhjì†rjKX
deprecatedApir‘†r’hX
	r“†r”j!Xselfr•†r–hj½†r—jKXdeprecatedApi:r˜†r™hj½†ršj!XthisContextr›†rœhj½†rjKXsenderrž†rŸhj½†r jKX
displayStringr¡†r¢jóX! !r£†r¤hX

r¥†r¦jój¹†r§h‘XObjectr¨†r©jóX
 methodsFor: rª†r«j˜X'*seaside2'r¬†r­jóX stamp: 'lr 6/5/2007 21:35'!r®†r¯hjì†r°jKXdeprecatedApi:r±†r²hj½†r³h¨XaStringr´†rµhX
	r¶†r·h‘XWADeprecatedApir¸†r¹hj½†rºjKXraiseSignal:r»†r¼hj½†r½h¨XaStringr¾†r¿jóX! !rÀ†rÁhX

r†rÃjój¹†rÄh‘XObjectrņrÆjóX
 methodsFor: rdžrÈj˜X'*seaside2'rɆrÊjóX stamp: 'lr 5/9/2007 08:47'!rˆrÌhjì†rÍjKXinspectorFieldsrΆrÏhX
	rІrÑhLjµ†rÒh¨X	 members rÓ†rÔhLjµ†rÕhX
	rÖ†r×h¨Xmembersr؆rÙhj½†rÚhLX:=rÛ†rÜhj½†rÝh‘XArrayrÞ†rßhj½†ràjXnewrá†râhj½†rãjKXwriteStreamrä†råj©jþ†ræhX
	rç†rèj!Xselfré†rêhj½†rëjKXclassrì†ríhj½†rîjKXallInstVarNamesrï†rðhj½†rñjKXwithIndexDo:rò†róhj½†rôhj[†rõhj½†röhLjî†r÷h¨Xeachrø†rùhj½†rúhLjî†rûh¨Xindexrü†rýhj½†rþhLjµ†rÿhX
		r†rh¨Xmembersr†rhj½†rjKXnextPut:r†rhj½†rh¨Xeachr†r	hj½†r
jKX->r†rhj½†r
hjĆrj!Xselfr†rhj½†rjKX
instVarAt:r†rhj½†rh¨Xindexr†rhj߆rhj½†rhje†rj©jþ†rhX
	r†rj!Xselfr†rhj½†rjKXclassr †r!hj½†r"jKX
isVariabler#†r$hj½†r%jXifTrue:r&†r'hj½†r(hj[†r)hX
		r*†r+j;jà†r,hj½†r-jKXto:r.†r/hj½†r0j!Xselfr1†r2hj½†r3jKXsizer4†r5hj½†r6jKXdo:r7†r8hj½†r9hj[†r:hj½†r;hLjî†r<h¨Xindexr=†r>hj½†r?hLjµ†r@hX
			rA†rBh¨XmembersrC†rDhj½†rEjKXnextPut:rF†rGhj½†rHh¨XindexrI†rJhj½†rKjKX->rL†rMhj½†rNhjĆrOj!XselfrP†rQhj½†rRjKXat:rS†rThj½†rUh¨XindexrV†rWhj߆rXhj½†rYhje†rZhj½†r[hje†r\j©jþ†r]hX
	r^†r_hLj;†r`hj½†rah¨Xmembersrb†rchj½†rdjKXcontentsre†rfjóX! !rg†rhhX

ri†rjjój¹†rkh‘XObjectrl†rmjóX
 methodsFor: rn†roj˜X'*seaside2'rp†rqjóX stamp: 'avi 3/14/2005 15:19'!rr†rshjì†rtjKXlabelForSelector:ru†rvhj½†rwh¨XaSymbolrx†ryhX
	rz†r{hLj;†r|hj½†r}h¨XaSymbolr~†rhj½†r€jKXasCapitalizedPhraser†r‚jóX! !rƒ†r„hX

r…†r†jój¹†r‡h‘XObjectrˆ†r‰jóX
 methodsFor: rІr‹j˜X'*seaside2'rŒ†rjóX stamp: 'pmm 4/7/2007 17:14'!rކrhjì†rjKX	renderOn:r‘†r’hj½†r“h¨X	aRendererr”†r•hX
	r–†r—jLXë"Override this method to customize how objects (not components) are rendered when passed as an argument to #render:. The default is the return value of #displayString.
	Just remember that you can not use #callback:, #on:of:, or #call:"r˜†r™hX

	rš†r›h¨X	aRendererrœ†rhj½†ržjKXtext:rŸ†r hj½†r¡j!Xselfr¢†r£jóX! !r¤†r¥hX

r¦†r§jój¹†r¨h‘XObjectr©†rªjóX
 methodsFor: r«†r¬j˜X'*seaside2'r­†r®jóX stamp: 'lr 3/19/2007 23:13'!r¯†r°hjì†r±jKXrestoreFromSnapshot:r²†r³hj½†r´h¨XanObjectrµ†r¶hX
	r·†r¸j!Xselfr¹†rºhj½†r»jKX	copyFrom:r¼†r½hj½†r¾h¨XanObjectr¿†rÀjóX! !rÁ†rÂhX

rÆrÄjój¹†rÅh‘XObjectrƆrÇjóX
 methodsFor: rȆrÉj˜X'*seaside2'rʆrËjóX stamp: 'avi 9/1/2004 21:20'!r̆rÍhjì†rÎjKXsnapshotCopyrφrÐhX
	rцrÒhLj;†rÓhj½†rÔj!XselfrÕ†rÖhj½†r×jKXshallowCopyr؆rÙjóX! !rÚ†rÛhX

r܆rÝjój¹†rÞh‘XObjectr߆ràjóX
 methodsFor: rá†râj˜X'*seaside2'rã†räjóX stamp: 'lr 10/28/2007 14:42'!rå†ræhjì†rçjKXvalidationError:rè†réhj½†rêh¨Xmessagerë†rìhX
	rí†rîhLj;†rïh‘XWAValidationNotificationrð†rñhj½†ròjKXraiseSignal:ró†rôhj½†rõh¨Xmessagerö†r÷jóX! !rø†rùhX


rú†rûjój¹†rüh‘XObjectrý†rþjóX
 methodsFor: rÿ†rj˜X'*seaside2-encoding'r†rjóX stamp: 'lr 3/26/2007 20:16'!r†rhjì†rjKX	encodeOn:r†rhj½†rh¨X	aDocumentr	†r
hX
	r†rh¨X	aDocumentr
†rhj½†rjKXprint:r†rhj½†rj!Xselfr†rhj½†rjKX
displayStringr†rjóX! !r†rhX


r†rjój¹†rh‘XObjectr†rjóX
 methodsFor: r†r j˜X'*seaside2-squeak'r!†r"jóX stamp: 'pmm 5/22/2007 22:10'!r#†r$hjì†r%jKX	beMutabler&†r'hX
	r(†r)jLXN"for VW compatibility, a hack that allows to cache a value in a literal array"r*†r+jóX! !r,†r-hX

r.†r/jój¹†r0h‘XObjectr1†r2jóX
 methodsFor: r3†r4j˜X'*seaside2-squeak'r5†r6jóX stamp: 'lr 7/12/2005 17:01'!r7†r8hjì†r9jKX
displayStringr:†r;hX
	r<†r=hLj;†r>hj½†r?j!Xselfr@†rAhj½†rBjKXasStringrC†rDjóX! !rE†rFhX


rG†rHjój¹†rIh‘XObjectrJ†rKjóX
 methodsFor: rL†rMj˜X'*services-base'rN†rOjóX stamp: 'rr 3/21/2006 11:54'!rP†rQhjì†rRjKX	requestorrS†rThX
	rU†rVjLX("returns the focused window's requestor"rW†rXhX

	rY†rZjLX>"SystemWindow focusedWindow ifNotNilDo: [:w | ^ w requestor]."r[†r\hX

	r]†r^jLX"triggers an infinite loop"r_†r`hX

	ra†rbhLj;†rchj½†rdh‘X	Requestorre†rfhj½†rgjKXdefaultrh†rijóX! !rj†rkhX


rl†rmjój¹†rnh‘XObjectro†rpjóX
 methodsFor: rq†rrj˜X'*system-support'rs†rtjóX stamp: 'dvf 8/23/2003 12:27'!ru†rvhjì†rwjKXsystemNavigationrx†ryhjì†rzhX
	r{†r|hLj;†r}hj½†r~h‘XSystemNavigationr†r€hj½†rjKXdefaultr‚†rƒjóX! !r„†r…hX


r††r‡jój¹†rˆh‘XObjectr‰†rŠjóX
 methodsFor: r‹†rŒj˜X'*tools-browser'r†rŽjóX stamp: 'mu 3/6/2004 15:13'!r†rhjì†r‘jKXbrowser’†r“hX
	r”†r•j!Xselfr–†r—hj½†r˜jKXsystemNavigationr™†ršhj½†r›jKXbrowseClass:rœ†rhj½†ržj!XselfrŸ†r hj½†r¡jKXclassr¢†r£jóX! !r¤†r¥hX

r¦†r§jój¹†r¨h‘XObjectr©†rªjóX
 methodsFor: r«†r¬j˜X'*tools-browser'r­†r®jóX stamp: 'mu 3/11/2004 16:00'!r¯†r°hjì†r±jKXbrowseHierarchyr²†r³hX
	r´†rµj!Xselfr¶†r·hj½†r¸jKXsystemNavigationr¹†rºhj½†r»jKXbrowseHierarchy:r¼†r½hj½†r¾j!Xselfr¿†rÀhj½†rÁjKXclassr†rÃjóX! !rĆrÅhX


rƆrÇjój¹†rÈh‘XObjectrɆrÊjóX
 methodsFor: rˆrÌj˜X'*universes'r͆rÎjóX stamp: 'ls 11/26/2006 12:33'!rφrÐhjì†rÑjKX
isUPackagerÒ†rÓhX
	rÔ†rÕhLj;†rÖj!Xfalser׆rØjóX! !rÙ†rÚhX

rÛ†rÜjój¹†rÝh‘XObjectrÞ†rßjóX
 methodsFor: rà†ráj˜X'*universes'râ†rãjóX stamp: 'ls 11/26/2006 12:33'!rä†råhjì†ræjKXisUPackageCategoryrç†rèhX
	ré†rêhLj;†rëj!Xfalserì†ríjóX! !rî†rïhX


rð†rñjój¹†ròh‘XObjectró†rôjóX
 methodsFor: rõ†röj˜X'accessing'r÷†røjóX stamp: 'sw 4/30/1998 12:18'!rù†rúhjì†rûjKXaddInstanceVarNamed:rü†rýhj½†rþh¨XaNamerÿ†rhj½†rjKX
withValue:r†rhj½†rh¨XaValuer†rhX
	r†rjLX?"Add an instance variable named aName and give it value aValue"r	†r
hX
	r†rj!Xselfr
†rhj½†rjKXclassr†rhj½†rjKXaddInstVarName:r†rhj½†rh¨XaNamer†rhj½†rjKXasStringr†rj©jþ†rhX
	r†rj!Xselfr†rhj½†r jKX
instVarAt:r!†r"hj½†r#j!Xselfr$†r%hj½†r&jKXclassr'†r(hj½†r)jKXinstSizer*†r+hj½†r,jKXput:r-†r.hj½†r/h¨XaValuer0†r1jóX! !r2†r3hX

r4†r5jój¹†r6h‘XObjectr7†r8jóX
 methodsFor: r9†r:j˜X'accessing'r;†r<jóX stamp: 'yo 6/29/2004 11:39'!r=†r>hjì†r?jKXat:r@†rAhj½†rBh¨XindexrC†rDhX 
	rE†rFjLXã"Primitive. Assumes receiver is indexable. Answer the value of an 
	indexable element in the receiver. Fail if the argument index is not an 
	Integer or is out of bounds. Essential. See Object documentation 
	whatIsAPrimitive."rG†rHhX

	rI†rJhjc†rKjóX
primitive:rL†rMhX 60rN†rOhji†rPhX
	rQ†rRh¨XindexrS†rThj½†rUjKX	isIntegerrV†rWhj½†rXjXifTrue:rY†rZhX
		r[†r\hj[†r]j!Xselfr^†r_hj½†r`jKXclassra†rbhj½†rcjKX
isVariablerd†rehX
			rf†rgjXifTrue:rh†rihj½†rjhj[†rkj!Xselfrl†rmhj½†rnjKXerrorSubscriptBounds:ro†rphj½†rqh¨Xindexrr†rshje†rthX
			ru†rvjXifFalse:rw†rxhj½†ryhj[†rzj!Xselfr{†r|hj½†r}jKXerrorNotIndexabler~†rhje†r€hje†rj©jþ†r‚hX
	rƒ†r„h¨Xindexr…†r†hj½†r‡jKXisNumberrˆ†r‰hX
		rІr‹jXifTrue:rŒ†rhj½†rŽhj[†rhLj;†rj!Xselfr‘†r’hj½†r“jKXat:r”†r•hj½†r–h¨Xindexr—†r˜hj½†r™jKX	asIntegerrš†r›hje†rœhX
		r†ržjXifFalse:rŸ†r hj½†r¡hj[†r¢j!Xselfr£†r¤hj½†r¥jKXerrorNonIntegerIndexr¦†r§hje†r¨jóX! !r©†rªhX

r«†r¬jój¹†r­h‘XObjectr®†r¯jóX
 methodsFor: r°†r±j˜X'accessing'r²†r³jój¹†r´hjì†rµjKXat:r¶†r·hj½†r¸h¨Xindexr¹†rºhj½†r»jKXmodify:r¼†r½hj½†r¾h¨XaBlockr¿†rÀhX
	rÁ†rÂjLXL"Replace the element of the collection with itself transformed by the block"rÆrÄhX
	rņrÆhLj;†rÇhj½†rÈj!XselfrɆrÊhj½†rËjKXat:r̆rÍhj½†rÎh¨XindexrφrÐhj½†rÑjKXput:rÒ†rÓhj½†rÔhjĆrÕh¨XaBlockrÖ†r×hj½†rØjKXvalue:rÙ†rÚhj½†rÛhjĆrÜj!Xselfr݆rÞhj½†rßjKXat:rà†ráhj½†râh¨Xindexrã†rähj߆råhj߆ræjóX! !rç†rèhX

ré†rêjój¹†rëh‘XObjectrì†ríjóX
 methodsFor: rî†rïj˜X'accessing'rð†rñjóX stamp: 'yo 6/29/2004 13:08'!rò†róhjì†rôjKXat:rõ†röhj½†r÷h¨Xindexrø†rùhj½†rújKXput:rû†rühj½†rýh¨Xvaluerþ†rÿhX 
	r†rjLXe"Primitive. Assumes receiver is indexable. Store the argument value in 
	the indexable element of the receiver indicated by index. Fail if the 
	index is not an Integer or is out of bounds. Or fail if the value is not of 
	the right type for this kind of collection. Answer the value that was 
	stored. Essential. See Object documentation whatIsAPrimitive."r†rhX

	r†rhjc†rjóX
primitive:r†rhX 61r	†r
hji†rhX
	r†r
h¨Xindexr†rhj½†rjKX	isIntegerr†rhj½†rjXifTrue:r†rhX
		r†rhj[†rj!Xselfr†rhj½†rjKXclassr†rhj½†rjKX
isVariabler†r hX
			r!†r"jXifTrue:r#†r$hj½†r%hj[†r&hjĆr'h¨Xindexr(†r)hj½†r*jKX>=r+†r,hj½†r-j;jà†r.hj½†r/jKXand:r0†r1hj½†r2hj[†r3h¨Xindexr4†r5hj½†r6jKX<=r7†r8hj½†r9j!Xselfr:†r;hj½†r<jKXsizer=†r>hje†r?hj߆r@hX
					rA†rBjXifTrue:rC†rDhj½†rEhj[†rFj!XselfrG†rHhj½†rIjKXerrorImproperStorerJ†rKhje†rLhX
					rM†rNjXifFalse:rO†rPhj½†rQhj[†rRj!XselfrS†rThj½†rUjKXerrorSubscriptBounds:rV†rWhj½†rXh¨XindexrY†rZhje†r[hje†r\hX
			r]†r^jXifFalse:r_†r`hj½†rahj[†rbj!Xselfrc†rdhj½†rejKXerrorNotIndexablerf†rghje†rhhje†rij©jþ†rjhX
	rk†rlh¨Xindexrm†rnhj½†rojKXisNumberrp†rqhX
		rr†rsjXifTrue:rt†ruhj½†rvhj[†rwhLj;†rxj!Xselfry†rzhj½†r{jKXat:r|†r}hj½†r~h¨Xindexr†r€hj½†rjKX	asIntegerr‚†rƒhj½†r„jKXput:r…†r†hj½†r‡h¨Xvaluerˆ†r‰hje†rŠhX
		r‹†rŒjXifFalse:r†rŽhj½†rhj[†rj!Xselfr‘†r’hj½†r“jKXerrorNonIntegerIndexr”†r•hje†r–jóX! !r—†r˜hX

r™†ršjój¹†r›h‘XObjectrœ†re(jóX
 methodsFor: rž†rŸj˜X'accessing'r †r¡jóX stamp: 'yo 9/20/2004 10:22'!r¢†r£hjì†r¤jKXbasicAddInstanceVarNamed:r¥†r¦hj½†r§h¨XaNamer¨†r©hj½†rªjKX
withValue:r«†r¬hj½†r­h¨XaValuer®†r¯hX
	r°†r±jLX?"Add an instance variable named aName and give it value aValue"r²†r³hX
	r´†rµj!Xselfr¶†r·hj½†r¸jKXclassr¹†rºhj½†r»jKXaddInstVarName:r¼†r½hj½†r¾h¨XaNamer¿†rÀhj½†rÁjKXasStringr†rÃj©jþ†rÄhX
	rņrÆj!XselfrdžrÈhj½†rÉjKX
instVarAt:rʆrËhj½†rÌj!Xselfr͆rÎhj½†rÏjKXclassrІrÑhj½†rÒjKXinstSizerÓ†rÔhj½†rÕjKXput:rÖ†r×hj½†rØh¨XaValuerÙ†rÚjóX! !rÛ†rÜhX

r݆rÞjój¹†rßh‘XObjectrà†rájóX
 methodsFor: râ†rãj˜X'accessing'rä†råjój¹†ræhjì†rçjKXbasicAt:rè†réhj½†rêh¨Xindexrë†rìhX 
	rí†rîjLX"Primitive. Assumes receiver is indexable. Answer the value of an 
	indexable element in the receiver. Fail if the argument index is not an 
	Integer or is out of bounds. Essential. Do not override in a subclass. See 
	Object documentation whatIsAPrimitive."rï†rðhX

	rñ†ròhjc†rójóX
primitive:rô†rõhX 60rö†r÷hji†røhX
	rù†rúh¨Xindexrû†rühj½†rýjKX	isIntegerrþ†rÿhj½†rjXifTrue:r†rhj½†rhj[†rj!Xselfr†rhj½†rjKXerrorSubscriptBounds:r†r	hj½†r
h¨Xindexr†rhje†r
j©jþ†rhX
	r†rh¨Xindexr†rhj½†rjKXisNumberr†rhX
		r†rjXifTrue:r†rhj½†rhj[†rhLj;†rj!Xselfr†rhj½†rjKXbasicAt:r †r!hj½†r"h¨Xindexr#†r$hj½†r%jKX	asIntegerr&†r'hje†r(hX
		r)†r*jXifFalse:r+†r,hj½†r-hj[†r.j!Xselfr/†r0hj½†r1jKXerrorNonIntegerIndexr2†r3hje†r4jóX! !r5†r6hX

r7†r8jój¹†r9h‘XObjectr:†r;jóX
 methodsFor: r<†r=j˜X'accessing'r>†r?jój¹†r@hjì†rAjKXbasicAt:rB†rChj½†rDh¨XindexrE†rFhj½†rGjKXput:rH†rIhj½†rJh¨XvaluerK†rLhX 
	rM†rNjLX"Primitive. Assumes receiver is indexable. Store the second argument 
	value in the indexable element of the receiver indicated by index. Fail 
	if the index is not an Integer or is out of bounds. Or fail if the value is 
	not of the right type for this kind of collection. Answer the value that 
	was stored. Essential. Do not override in a subclass. See Object 
	documentation whatIsAPrimitive."rO†rPhX

	rQ†rRhjc†rSjóX
primitive:rT†rUhX 61rV†rWhji†rXhX
	rY†rZh¨Xindexr[†r\hj½†r]jKX	isIntegerr^†r_hX
		r`†rajXifTrue:rb†rchj½†rdhj[†rehjĆrfh¨Xindexrg†rhhj½†rijKX>=rj†rkhj½†rlj;jà†rmhj½†rnjKXand:ro†rphj½†rqhj[†rrh¨Xindexrs†rthj½†rujKX<=rv†rwhj½†rxj!Xselfry†rzhj½†r{jKXsizer|†r}hje†r~hj߆rhX
					r€†rjXifTrue:r‚†rƒhj½†r„hj[†r…j!Xselfr††r‡hj½†rˆjKXerrorImproperStorer‰†rŠhje†r‹hX
					rŒ†rjXifFalse:rކrhj½†rhj[†r‘j!Xselfr’†r“hj½†r”jKXerrorSubscriptBounds:r•†r–hj½†r—h¨Xindexr˜†r™hje†ršhje†r›j©jþ†rœhX
	r†ržh¨XindexrŸ†r hj½†r¡jKXisNumberr¢†r£hX
		r¤†r¥jXifTrue:r¦†r§hj½†r¨hj[†r©hLj;†rªj!Xselfr«†r¬hj½†r­jKXbasicAt:r®†r¯hj½†r°h¨Xindexr±†r²hj½†r³jKX	asIntegerr´†rµhj½†r¶jKXput:r·†r¸hj½†r¹h¨Xvaluerº†r»hje†r¼hX
		r½†r¾jXifFalse:r¿†rÀhj½†rÁhj[†rÂj!XselfrÆrÄhj½†rÅjKXerrorNonIntegerIndexrƆrÇhje†rÈjóX! !rɆrÊhX

rˆrÌjój¹†rÍh‘XObjectrΆrÏjóX
 methodsFor: rІrÑj˜X'accessing'rÒ†rÓjój¹†rÔhjì†rÕjKX	basicSizerÖ†r×hX
	r؆rÙjLXØ"Primitive. Answer the number of indexable variables in the receiver. 
	This value is the same as the largest legal subscript. Essential. Do not 
	override in any subclass. See Object documentation whatIsAPrimitive."rÚ†rÛhX

	r܆rÝhjc†rÞjóX
primitive:r߆ràhX 62rá†râhji†rãhX
	rä†råjLX="The number of indexable fields of fixed-length objects is 0"ræ†rçhX
	rè†réhLj;†rêj;X0rë†rìhX	rí†rîjóX! !rï†rðhX

rñ†ròjój¹†róh‘XObjectrô†rõjóX
 methodsFor: rö†r÷j˜X'accessing'rø†rùjój¹†rúhjì†rûjKX
bindWithTemp:rü†rýhj½†rþh¨XaBlockrÿ†rhX
	r†rhLj;†rhj½†rh¨XaBlockr†rhj½†rjKXvalue:r†r	hj½†r
j!Xselfr†rhj½†r
jKXvalue:r†rhj½†rj!Xnilr†rjóX! !r†rhX

r†rjój¹†rh‘XObjectr†rjóX
 methodsFor: r†rj˜X'accessing'r†rjóX stamp: 'md 10/7/2004 15:43'!r†rhjì†r jKXifNil:r!†r"hj½†r#h¨XnilBlockr$†r%hj½†r&jKXifNotNilDo:r'†r(hj½†r)h¨XaBlockr*†r+hX 
	r,†r-jLX4"Evaluate aBlock with the receiver as its argument."r.†r/hX

	r0†r1hLj;†r2hj½†r3h¨XaBlockr4†r5hj½†r6jKXvalue:r7†r8hj½†r9j!Xselfr:†r;hjì†r<jóX! !r=†r>hX

r?†r@jój¹†rAh‘XObjectrB†rCjóX
 methodsFor: rD†rEj˜X'accessing'rF†rGjóX stamp: 'di 11/8/2000 21:04'!rH†rIhjì†rJjKXifNotNilDo:rK†rLhj½†rMh¨XaBlockrN†rOhX
	rP†rQjLX="Evaluate the given block with the receiver as its argument."rR†rShX

	rT†rUhLj;†rVhj½†rWh¨XaBlockrX†rYhj½†rZjKXvalue:r[†r\hj½†r]j!Xselfr^†r_hjì†r`jóX! !ra†rbhX

rc†rdjój¹†reh‘XObjectrf†rgjóX
 methodsFor: rh†rij˜X'accessing'rj†rkjóX stamp: 'md 10/7/2004 15:43'!rl†rmhjì†rnjKXifNotNilDo:ro†rphj½†rqh¨XaBlockrr†rshj½†rtjKXifNil:ru†rvhj½†rwh¨XnilBlockrx†ryhX
	rz†r{jLX4"Evaluate aBlock with the receiver as its argument."r|†r}hX

	r~†rhLj;†r€hj½†rh¨XaBlockr‚†rƒhj½†r„jKXvalue:r…†r†hj½†r‡j!Xselfrˆ†r‰hjì†rŠjóX! !r‹†rŒhX

r†rŽjój¹†rh‘XObjectr†r‘jóX
 methodsFor: r’†r“j˜X'accessing'r”†r•jóX stamp: 'ajh 1/21/2003 12:59'!r–†r—hjì†r˜jKXin:r™†ršhj½†r›h¨XaBlockrœ†rhX
	rž†rŸjLX="Evaluate the given block with the receiver as its argument."r †r¡hX

	r¢†r£hLj;†r¤hj½†r¥h¨XaBlockr¦†r§hj½†r¨jKXvalue:r©†rªhj½†r«j!Xselfr¬†r­hjì†r®jóX! !r¯†r°hX

r±†r²jój¹†r³h‘XObjectr´†rµjóX
 methodsFor: r¶†r·j˜X'accessing'r¸†r¹jóX stamp: 'sw 10/17/2000 11:15'!rº†r»hjì†r¼jKX	presenterr½†r¾hX
	r¿†rÀjLX"Answer the presenter object associated with the receiver.  For morphs, there is in effect a clear containment hierarchy of presenters (accessed via their association with PasteUpMorphs); for arbitrary objects the hook is simply via the current world, at least at present."rÁ†rÂhX

	rÆrÄhLj;†rÅhj½†rÆj!XselfrdžrÈhj½†rÉjKXcurrentWorldrʆrËhj½†rÌjKX	presenterr͆rÎjóX! !rφrÐhX

rцrÒjój¹†rÓh‘XObjectrÔ†rÕjóX
 methodsFor: rÖ†r×j˜X'accessing'r؆rÙjój¹†rÚhjì†rÛjKXreadFromString:r܆rÝhj½†rÞh¨XaStringr߆ràhX
	rá†râjLX4"Create an object based on the contents of aString."rã†rähX

	rå†ræhLj;†rçj!Xselfrè†réhj½†rêjKX	readFrom:rë†rìhj½†ríhjĆrîh‘X
ReadStreamrï†rðhj½†rñjKXon:rò†róhj½†rôh¨XaStringrõ†röhj߆r÷jóX! !rø†rùhX

rú†rûjój¹†rüh‘XObjectrý†rþjóX
 methodsFor: rÿ†rj˜X'accessing'r†rjóX stamp: 'di 3/29/1999 13:10'!r†rhjì†rjKXsizer†rhX
	r†r	jLX·"Primitive. Answer the number of indexable variables in the receiver. 
	This value is the same as the largest legal subscript. Essential. See Object 
	documentation whatIsAPrimitive."r
†rhX

	r†r
hjc†rjóX
primitive:r†rhX 62r†rhji†rhX
	r†rj!Xselfr†rhj½†rjKXclassr†rhj½†rjKX
isVariabler†rhj½†rjXifFalse:r†r hj½†r!hj[†r"j!Xselfr#†r$hj½†r%jKXerrorNotIndexabler&†r'hje†r(j©jþ†r)hX
	r*†r+hLj;†r,hj½†r-j;jë†r.jóX! !r/†r0hX

r1†r2jój¹†r3h‘XObjectr4†r5jóX
 methodsFor: r6†r7j˜X'accessing'r8†r9jóX stamp: 'md 5/16/2006 12:34'!r:†r;hjì†r<jKXyourselfr=†r>hX
	r?†r@jLX"Answer self."rA†rBhX
	rC†rDhLj;†rEj!XselfrF†rGjóX! !rH†rIhX


rJ†rKjój¹†rLh‘XObjectrM†rNjóX
 methodsFor: rO†rPj˜X
'associating'rQ†rRjóX stamp: 'md 7/22/2005 16:03'!rS†rThjì†rUjKX->rV†rWhj½†rXh¨XanObjectrY†rZhX
	r[†r\jLX1"Answer an Association between self and anObject"r]†r^hX

	r_†r`hLj;†rah‘XAssociationrb†rchj½†rdjKXbasicNewre†rfhj½†rgjKXkey:rh†rihj½†rjj!Xselfrk†rlhj½†rmjKXvalue:rn†rohj½†rph¨XanObjectrq†rrjóX! !rs†rthX


ru†rvjój¹†rwh‘XObjectrx†ryjóX
 methodsFor: rz†r{j˜X	'binding'r|†r}jój¹†r~hjì†rjKX
bindingOf:r€†rhj½†r‚h¨XaStringrƒ†r„hX
	r…†r†hLj;†r‡j!Xnilrˆ†r‰jóX! !rІr‹hX


rŒ†rjój¹†rŽh‘XObjectr†rjóX
 methodsFor: r‘†r’j˜X'breakpoint'r“†r”jóX stamp: 'bkv 7/1/2003 12:33'!r•†r–hjì†r—jKXbreakr˜†r™hX
	rš†r›jLXÄ"This is a simple message to use for inserting breakpoints during debugging.
	The debugger is opened by sending a signal. This gives a chance to restore
	invariants related to multiple processes."rœ†rhX

	rž†rŸh‘X
BreakPointr †r¡hj½†r¢jKXsignalr£†r¤j©jþ†r¥hX

	r¦†r§jLX"nil break."r¨†r©jóX! !rª†r«hX


r¬†r­jój¹†r®h‘XObjectr¯†r°jóX
 methodsFor: r±†r²j˜X'casing'r³†r´jój¹†rµhjì†r¶jKXcaseOf:r·†r¸hj½†r¹h¨XaBlockAssociationCollectionrº†r»hX
	r¼†r½jLXö"The elements of aBlockAssociationCollection are associations between blocks.
	 Answer the evaluated value of the first association in aBlockAssociationCollection
	 whose evaluated key equals the receiver.  If no match is found, report an error."r¾†r¿hX

	rÀ†rÁhLj;†rÂhj½†rÃj!XselfrĆrÅhj½†rÆjKXcaseOf:rdžrÈhj½†rÉh¨XaBlockAssociationCollectionrʆrËhj½†rÌjKX
otherwise:r͆rÎhj½†rÏhj[†rÐj!XselfrцrÒhj½†rÓjKX	caseErrorrÔ†rÕhje†rÖhX

r׆rØjLXK"| z | z _ {[#a]->[1+1]. ['b' asSymbol]->[2+2]. [#c]->[3+3]}. #b caseOf: z"rÙ†rÚhjì†rÛjLXK"| z | z _ {[#a]->[1+1]. ['d' asSymbol]->[2+2]. [#c]->[3+3]}. #b caseOf: z"r܆rÝhjì†rÞjLX%"The following are compiled in-line:"r߆ràhjì†rájLX>"#b caseOf: {[#a]->[1+1]. ['b' asSymbol]->[2+2]. [#c]->[3+3]}"râ†rãhjì†räjLX>"#b caseOf: {[#a]->[1+1]. ['d' asSymbol]->[2+2]. [#c]->[3+3]}"rå†ræjóX! !rç†rèhX

ré†rêjój¹†rëh‘XObjectrì†ríjóX
 methodsFor: rî†rïj˜X'casing'rð†rñjój¹†ròhjì†rójKXcaseOf:rô†rõhj½†röh¨XaBlockAssociationCollectionr÷†røhj½†rùjKX
otherwise:rú†rûhj½†rüh¨XaBlockrý†rþhX
	rÿ†rjLX"The elements of aBlockAssociationCollection are associations between blocks.
	 Answer the evaluated value of the first association in aBlockAssociationCollection
	 whose evaluated key equals the receiver.  If no match is found, answer the result
	 of evaluating aBlock."r†rhX

	r†rh¨XaBlockAssociationCollectionr†rhj½†rjKXassociationsDo:r†r	hX
		r
†rhj[†rhLjî†r
h¨Xassocr†rhj½†rhLjµ†rhj½†rhjĆrh¨Xassocr†rhj½†rjKXkeyr†rhj½†rjKXvaluer†rhj½†rjKjþ†rhj½†rj!Xselfr†r hj߆r!hj½†r"jXifTrue:r#†r$hj½†r%hj[†r&hLj;†r'h¨Xassocr(†r)hj½†r*jKXvaluer+†r,hj½†r-jKXvaluer.†r/hje†r0hje†r1j©jþ†r2hX
	r3†r4hLj;†r5hj½†r6h¨XaBlockr7†r8hj½†r9jKXvaluer:†r;hX

r<†r=jLXZ"| z | z _ {[#a]->[1+1]. ['b' asSymbol]->[2+2]. [#c]->[3+3]}. #b caseOf: z otherwise: [0]"r>†r?hjì†r@jLXZ"| z | z _ {[#a]->[1+1]. ['d' asSymbol]->[2+2]. [#c]->[3+3]}. #b caseOf: z otherwise: [0]"rA†rBhjì†rCjLX%"The following are compiled in-line:"rD†rEhjì†rFjLXM"#b caseOf: {[#a]->[1+1]. ['b' asSymbol]->[2+2]. [#c]->[3+3]} otherwise: [0]"rG†rHhjì†rIjLXM"#b caseOf: {[#a]->[1+1]. ['d' asSymbol]->[2+2]. [#c]->[3+3]} otherwise: [0]"rJ†rKjóX! !rL†rMhX


rN†rOjój¹†rPh‘XObjectrQ†rRjóX
 methodsFor: rS†rTj˜X'class membership'rU†rVjój¹†rWhjì†rXjKXclassrY†rZhX
	r[†r\jLXu"Primitive. Answer the object which is the receiver's class. Essential. See 
	Object documentation whatIsAPrimitive."r]†r^hX

	r_†r`hjc†rajóX
primitive:rb†rchX 111rd†rehji†rfhX
	rg†rhj!Xselfri†rjhj½†rkjKXprimitiveFailedrl†rmjóX! !rn†rohX

rp†rqjój¹†rrh‘XObjectrs†rtjóX
 methodsFor: ru†rvj˜X'class membership'rw†rxjóX stamp: 'sw 9/27/2001 15:51'!ry†rzhjì†r{jKXinheritsFromAnyIn:r|†r}hj½†r~h¨XaListr†r€hX
	r†r‚jLXw"Answer whether the receiver inherits from any class represented by any element in the list.  The elements of the list can be classes, class name symbols, or strings representing possible class names.  This allows speculative membership tests to be made even when some of the classes may not be known to the current image, and even when their names are not interned symbols."rƒ†r„hX

	r…†r†hLjµ†r‡h¨X aClass rˆ†r‰hLjµ†rŠhX
	r‹†rŒh¨XaListr†rŽhj½†rjKXdo:r†r‘hX
		r’†r“hj[†r”hLjî†r•h¨Xelemr–†r—hj½†r˜hLjµ†r™hj½†ršh‘XSymbolr›†rœhj½†rjKXhasInterned:rž†rŸhj½†r h¨Xelemr¡†r¢hj½†r£jKXasStringr¤†r¥hj½†r¦jXifTrue:r§†r¨hX 
			r©†rªhj[†r«hLjî†r¬h¨X
elemSymbolr­†r®hj½†r¯hLjµ†r°hj½†r±hjĆr²hjĆr³hjĆr´h¨XaClassrµ†r¶hj½†r·hLX_r¸†r¹hj½†rºh‘X	Smalltalkr»†r¼hj½†r½jKXat:r¾†r¿hj½†rÀh¨X
elemSymbolrÁ†rÂhj½†rÃjKX	ifAbsent:rĆrÅhj½†rÆhj[†rÇj!XnilrȆrÉhje†rÊhj߆rËhj½†rÌjKX	isKindOf:r͆rÎhj½†rÏh‘XClassrІrÑhj߆rÒhX
						rÓ†rÔjKXand:rÕ†rÖhj½†r×hj[†rØj!XselfrÙ†rÚhj½†rÛjKX	isKindOf:r܆rÝhj½†rÞh¨XaClassr߆ràhje†ráhj߆râhX
				rã†räjXifTrue:rå†ræhX
					rç†rèhj[†réhLj;†rêhj½†rëj!Xtruerì†ríhje†rîhje†rïhje†rðj©jþ†rñhX
	rò†róhLj;†rôhj½†rõj!Xfalserö†r÷hX


rø†rùjLX"
{3.  true. 'olive'} do:
	[:token |
		 {{#Number. #Boolean}. {Number.  Boolean }.  {'Number'. 'Boolean'}} do:
			[:list |
				Transcript cr; show: token asString, ' list element provided as a ', list first class name, ' - ', (token inheritsFromAnyIn: list) asString]]
"rú†rûjóX! !rü†rýhX

rþ†rÿjój¹†rh‘XObjectr†rjóX
 methodsFor: r†rj˜X'class membership'r†rjój¹†rhjì†rjKX	isKindOf:r	†r
hj½†rh¨XaClassr†r
hX 
	r†rjLXM"Answer whether the class, aClass, is a superclass or class of the receiver."r†rhX

	r†rj!Xselfr†rhj½†rjKXclassr†rhj½†rjKX==r†rhj½†rh¨XaClassr†rhX
		r†r jXifTrue:r!†r"hj½†r#hj[†r$hLj;†r%j!Xtruer&†r'hje†r(hX
		r)†r*jXifFalse:r+†r,hj½†r-hj[†r.hLj;†r/j!Xselfr0†r1hj½†r2jKXclassr3†r4hj½†r5jKX
inheritsFrom:r6†r7hj½†r8h¨XaClassr9†r:hje†r;jóX! !r<†r=hX

r>†r?jój¹†r@h‘XObjectrA†rBjóX
 methodsFor: rC†rDj˜X'class membership'rE†rFjóX stamp: 'sw 2/16/98 02:08'!rG†rHhjì†rIjKX	isKindOf:rJ†rKhj½†rLh¨XaClassrM†rNhj½†rOjKXorOf:rP†rQhj½†rRh¨XanotherClassrS†rThX
	rU†rVjLX–"Answer whether either of the classes, aClass or anotherClass,, is a superclass or class of the receiver.  A convenience; could be somewhat optimized"rW†rXhX
	rY†rZhLj;†r[hj½†r\hjĆr]j!Xselfr^†r_hj½†r`jKX	isKindOf:ra†rbhj½†rch¨XaClassrd†rehj߆rfhj½†rgjKXor:rh†rihj½†rjhj[†rkj!Xselfrl†rmhj½†rnjKX	isKindOf:ro†rphj½†rqh¨XanotherClassrr†rshje†rtjóX! !ru†rvhX

rw†rxjój¹†ryh‘XObjectrz†r{jóX
 methodsFor: r|†r}j˜X'class membership'r~†rjój¹†r€hjì†rjKXisMemberOf:r‚†rƒhj½†r„h¨XaClassr…†r†hX 
	r‡†rˆjLXB"Answer whether the receiver is an instance of the class, aClass."r‰†rŠhX

	r‹†rŒhLj;†rj!Xselfrކrhj½†rjKXclassr‘†r’hj½†r“jKX==r”†r•hj½†r–h¨XaClassr—†r˜jóX! !r™†ršhX

r›†rœjój¹†rh‘XObjectrž†rŸjóX
 methodsFor: r †r¡j˜X'class membership'r¢†r£jój¹†r¤hjì†r¥jKXrespondsTo:r¦†r§hj½†r¨h¨XaSymbolr©†rªhX 
	r«†r¬jLXh"Answer whether the method dictionary of the receiver's class contains 
	aSymbol as a message selector."r­†r®hX

	r¯†r°hLj;†r±j!Xselfr²†r³hj½†r´jKXclassrµ†r¶hj½†r·jKXcanUnderstand:r¸†r¹hj½†rºh¨XaSymbolr»†r¼jóX! !r½†r¾hX

r¿†rÀjój¹†rÁh‘XObjectr†rÃjóX
 methodsFor: rĆrÅj˜X'class membership'rƆrÇjóX stamp: 'tk 10/21/1998 12:38'!rȆrÉhjì†rÊjKXxxxClassrˆrÌhX
	r͆rÎjLX*"For subclasses of nil, such as ObjectOut"rφrÐhX
	rцrÒhLj;†rÓhj½†rÔj!XselfrÕ†rÖhj½†r×jKXclassr؆rÙjóX! !rÚ†rÛhX


r܆rÝjój¹†rÞh‘XObjectr߆ràjóX
 methodsFor: rá†râj˜X'comparing'rã†räjóX stamp: 'tk 4/16/1999 18:26'!rå†ræhjì†rçjKXcloseTo:rè†réhj½†rêh¨XanObjectrë†rìhX
	rí†rîjLX™"Answer whether the receiver and the argument represent the same
	object. If = is redefined in any subclass, consider also redefining the
	message hash."rï†rðhX

	rñ†ròhLjµ†róh¨X ans rô†rõhLjµ†röhX
	r÷†røhj[†rùh¨Xansrú†rûhj½†rühLj¸†rýhj½†rþj!Xselfrÿ†rhj½†rjKjþ†rhj½†rh¨XanObjectr†rhje†rhj½†rjKXifError:r†r	hj½†r
hj[†rhLjî†rh¨XaStringr
†rhj½†rhLjî†rh¨X	aReceiverr†rhj½†rhLjµ†rhj½†rhLj;†rhj½†rj!Xfalser†rhje†rj©jþ†rhX
	r†rhLj;†rhj½†rh¨Xansr †r!jóX! !r"†r#hX

r$†r%jój¹†r&h‘XObjectr'†r(jóX
 methodsFor: r)†r*j˜X'comparing'r+†r,jój¹†r-hjì†r.jKXhashr/†r0hX
	r1†r2jLX•"Answer a SmallInteger whose value is related to the receiver's identity.
	May be overridden, and should be overridden in any classes that define = "r3†r4hX

	r5†r6hLj;†r7hj½†r8j!Xselfr9†r:hj½†r;jKXidentityHashr<†r=jóX! !r>†r?hX

r@†rAjój¹†rBh‘XObjectrC†rDjóX
 methodsFor: rE†rFj˜X'comparing'rG†rHjóX stamp: 'pm 9/23/97 09:36'!rI†rJhjì†rKjKX
hashMappedBy:rL†rMhj½†rNh¨XmaprO†rPhX
	rQ†rRjLX@"Answer what my hash would be if oops changed according to map."rS†rThX

	rU†rVhLj;†rWh¨XmaprX†rYhj½†rZjKXnewHashFor:r[†r\hj½†r]j!Xselfr^†r_jóX! !r`†rahX

rb†rcjój¹†rdh‘XObjectre†rfjóX
 methodsFor: rg†rhj˜X'comparing'ri†rjjóX stamp: 'di 9/27/97 20:23'!rk†rlhjì†rmjKXidentityHashMappedBy:rn†rohj½†rph¨Xmaprq†rrhX
	rs†rtjLX@"Answer what my hash would be if oops changed according to map."ru†rvhX

	rw†rxhLj;†ryh¨Xmaprz†r{hj½†r|jKXnewHashFor:r}†r~hj½†rj!Xselfr€†rjóX! !r‚†rƒhX

r„†r…jój¹†r†h‘XObjectr‡†rˆjóX
 methodsFor: r‰†rŠj˜X'comparing'r‹†rŒjóX stamp: 'sw 8/20/1998 12:34'!r†rŽhjì†rjKXidentityHashPrintStringr†r‘hX
	r’†r“jLX "'fred' identityHashPrintString"r”†r•hX

	r–†r—hLj;†r˜hj½†r™j˜X'('rš†r›jKj)	†rœhj½†rj!Xselfrž†rŸhj½†r jKXidentityHashr¡†r¢hj½†r£jKXprintStringr¤†r¥jKj)	†r¦hj½†r§j˜X')'r¨†r©jóX! !rª†r«hX

r¬†r­jój¹†r®h‘XObjectr¯†r°jóX
 methodsFor: r±†r²j˜X'comparing'r³†r´jóX stamp: 'ajh 2/2/2002 15:02'!rµ†r¶hjì†r·jKX
literalEqual:r¸†r¹hj½†rºh¨Xotherr»†r¼hX

	r½†r¾hLj;†r¿hj½†rÀj!XselfrÁ†rÂhj½†rÃjKXclassrĆrÅhj½†rÆjKX==rdžrÈe(hj½†rÉh¨XotherrʆrËhj½†rÌjKXclassr͆rÎhj½†rÏjKXand:rІrÑhj½†rÒhj[†rÓj!XselfrÔ†rÕhj½†rÖjKjþ†r×hj½†rØh¨XotherrÙ†rÚhje†rÛjóX! !r܆rÝhX

rÞ†rßjój¹†ràh‘XObjectrá†râjóX
 methodsFor: rã†räj˜X'comparing'rå†ræjój¹†rçhjì†rèjKjþ†réhj½†rêh¨XanObjectrë†rìhj½†ríhX
	rî†rïjLX›"Answer whether the receiver and the argument represent the same 
	object. If = is redefined in any subclass, consider also redefining the 
	message hash."rð†rñhX

	rò†róhLj;†rôj!Xselfrõ†röhj½†r÷jKX==rø†rùhj½†rúh¨XanObjectrû†rüjóX! !rý†rþhX

rÿ†rjój¹†rh‘XObjectr†rjóX
 methodsFor: r†rj˜X'comparing'r†rjój¹†rhjì†r	jKX~=r
†rhj½†rh¨XanObjectr
†rhj½†rhX
	r†rjLXR"Answer whether the receiver and the argument do not represent the 
	same object."r†rhX

	r†rhLj;†rj!Xselfr†rhj½†rjKjþ†rhj½†rh¨XanObjectr†rhj½†rjKX==r†r hj½†r!j!Xfalser"†r#jóX! !r$†r%hX


r&†r'jój¹†r(h‘XObjectr)†r*jóX
 methodsFor: r+†r,j˜X'converting'r-†r.jóX stamp: 'di 11/9/1998 12:15'!r/†r0hjì†r1jKX
adaptToFloat:r2†r3hj½†r4h¨Xrcvrr5†r6hj½†r7jKXandSend:r8†r9hj½†r:h¨Xselectorr;†r<hX
	r=†r>jLX|"If no method has been provided for adapting an object to a Float,
	then it may be adequate to simply adapt it to a number."r?†r@hX
	rA†rBhLj;†rChj½†rDj!XselfrE†rFhj½†rGjKXadaptToNumber:rH†rIhj½†rJh¨XrcvrrK†rLhj½†rMjKXandSend:rN†rOhj½†rPh¨XselectorrQ†rRjóX! !rS†rThX

rU†rVjój¹†rWh‘XObjectrX†rYjóX
 methodsFor: rZ†r[j˜X'converting'r\†r]jóX stamp: 'di 11/9/1998 12:14'!r^†r_hjì†r`jKXadaptToFraction:ra†rbhj½†rch¨Xrcvrrd†rehj½†rfjKXandSend:rg†rhhj½†rih¨Xselectorrj†rkhX
	rl†rmjLX"If no method has been provided for adapting an object to a Fraction,
	then it may be adequate to simply adapt it to a number."rn†rohX
	rp†rqhLj;†rrhj½†rsj!Xselfrt†ruhj½†rvjKXadaptToNumber:rw†rxhj½†ryh¨Xrcvrrz†r{hj½†r|jKXandSend:r}†r~hj½†rh¨Xselectorr€†rjóX! !r‚†rƒhX

r„†r…jój¹†r†h‘XObjectr‡†rˆjóX
 methodsFor: r‰†rŠj˜X'converting'r‹†rŒjóX stamp: 'di 11/9/1998 12:15'!r†rŽhjì†rjKXadaptToInteger:r†r‘hj½†r’h¨Xrcvrr“†r”hj½†r•jKXandSend:r–†r—hj½†r˜h¨Xselectorr™†ršhX
	r›†rœjLX~"If no method has been provided for adapting an object to a Integer,
	then it may be adequate to simply adapt it to a number."r†ržhX
	rŸ†r hLj;†r¡hj½†r¢j!Xselfr£†r¤hj½†r¥jKXadaptToNumber:r¦†r§hj½†r¨h¨Xrcvrr©†rªhj½†r«jKXandSend:r¬†r­hj½†r®h¨Xselectorr¯†r°jóX! !r±†r²hX

r³†r´jój¹†rµh‘XObjectr¶†r·jóX
 methodsFor: r¸†r¹j˜X'converting'rº†r»jóX stamp: 'rw 4/27/2002 07:48'!r¼†r½hjì†r¾jKXasActionSequencer¿†rÀhjì†rÁhX
	r†rÃhLj;†rÄh‘XWeakActionSequencerņrÆhj½†rÇjKXwith:rȆrÉhj½†rÊj!XselfrˆrÌjóX! !r͆rÎhX

rφrÐjój¹†rÑh‘XObjectrÒ†rÓjóX
 methodsFor: rÔ†rÕj˜X'converting'rÖ†r×jóX stamp: 'rw 7/20/2003 16:03'!r؆rÙhjì†rÚjKXasActionSequenceTrappingErrorsrÛ†rÜhjì†rÝhX
	rÞ†rßhLj;†ràh‘X WeakActionSequenceTrappingErrorsrá†râhj½†rãjKXwith:rä†råhj½†ræj!Xselfrç†rèjóX! !ré†rêhX

rë†rìjój¹†ríh‘XObjectrî†rïjóX
 methodsFor: rð†rñj˜X'converting'rò†rójóX stamp: 'svp 5/16/2000 18:14'!rô†rõhjì†röjKXasDraggableMorphr÷†røhX
	rù†rúhLj;†rûhjĆrüh‘XStringMorphrý†rþhj½†rÿjKX	contents:r†rhj½†rj!Xselfr†rhj½†rjKXprintStringr†rhj߆rhX
		r	†r
jKXcolor:r†rhj½†r
h‘XColorr†rhj½†rjKXwhiter†rj©j†rhX
		r†rjKXyourselfr†rjóX! !r†rhX

r†rjój¹†rh‘XObjectr†rjóX
 methodsFor: r†r j˜X'converting'r!†r"jóX stamp: 'sma 5/12/2000 17:39'!r#†r$hjì†r%jKXasOrderedCollectionr&†r'hX
	r(†r)jLXD"Answer an OrderedCollection with the receiver as its only element."r*†r+hX

	r,†r-hLj;†r.hj½†r/h‘XOrderedCollectionr0†r1hj½†r2jKXwith:r3†r4hj½†r5j!Xselfr6†r7jóX! !r8†r9hX

r:†r;jój¹†r<h‘XObjectr=†r>jóX
 methodsFor: r?†r@j˜X'converting'rA†rBjój¹†rChjì†rDjKXasStringrE†rFhX
	rG†rHjLX/"Answer a string that represents the receiver."rI†rJhX

	rK†rLhLj;†rMhj½†rNj!XselfrO†rPhj½†rQjKXprintStringrR†rShj½†rTjóX! !rU†rVhX

rW†rXjój¹†rYh‘XObjectrZ†r[jóX
 methodsFor: r\†r]j˜X'converting'r^†r_jóX stamp: 'ajh 3/11/2003 10:27'!r`†rahjì†rbjKXasStringOrTextrc†rdhX
	re†rfjLX/"Answer a string that represents the receiver."rg†rhhX

	ri†rjhLj;†rkhj½†rlj!Xselfrm†rnhj½†rojKXprintStringrp†rqhj½†rrjóX! !rs†rthX

ru†rvjój¹†rwh‘XObjectrx†ryjóX
 methodsFor: rz†r{j˜X'converting'r|†r}jój¹†r~hjì†rjKXas:r€†rhj½†r‚h¨X
aSimilarClassrƒ†r„hX
	r…†r†jLXT"Create an object of class aSimilarClass that has similar contents to the receiver."r‡†rˆhX

	r‰†rŠhLj;†r‹hj½†rŒh¨X
aSimilarClassr†rŽhj½†rjKXnewFrom:r†r‘hj½†r’j!Xselfr“†r”jóX! !r•†r–hX

r—†r˜jój¹†r™h‘XObjectrš†r›jóX
 methodsFor: rœ†rj˜X'converting'rž†rŸjóX stamp: 'RAA 8/2/1999 12:41'!r †r¡hjì†r¢jKXcomplexContentsr£†r¤hjì†r¥hX
	r¦†r§hLj;†r¨j!Xselfr©†rªjóX! !r«†r¬hX

r­†r®jój¹†r¯h‘XObjectr°†r±jóX
 methodsFor: r²†r³j˜X'converting'r´†rµjóX stamp: 'ajh 7/6/2003 20:37'!r¶†r·hjì†r¸jKX
mustBeBooleanr¹†rºhX
	r»†r¼jLX¤"Catches attempts to test truth of non-Booleans.  This message is sent from the VM.  The sending context is rewound to just before the jump causing this exception."r½†r¾hX

	r¿†rÀhLj;†rÁhj½†rÂj!XselfrÆrÄhj½†rÅjKXmustBeBooleanIn:rƆrÇhj½†rÈj!XthisContextrɆrÊhj½†rËjKXsenderr̆rÍjóX! !rΆrÏhX

rІrÑjój¹†rÒh‘XObjectrÓ†rÔjóX
 methodsFor: rÕ†rÖj˜X'converting'r׆rØjóX stamp: 'ajh 7/6/2003 20:40'!rÙ†rÚhjì†rÛjKXmustBeBooleanIn:r܆rÝhj½†rÞh¨Xcontextr߆ràhX
	rá†râjLXf"context is the where the non-boolean error occurred. Rewind context to before jump then raise error."rã†rähX

	rå†ræhLjµ†rçh¨X proceedValue rè†réhLjµ†rêhX
	rë†rìh¨Xcontextrí†rîhj½†rïjKXskipBackBeforeJumprð†rñj©jþ†ròhX
	ró†rôh¨XproceedValuerõ†röhj½†r÷hLj¸†røhj½†rùh‘XNonBooleanReceiverrú†rûhj½†rüjXnewrý†rþhX
		rÿ†rjKXobject:r†rhj½†rj!Xselfr†rj©j†rhX
		r†rjKXsignal:r	†r
hj½†rj˜X'proceed for truth.'r†r
j©jþ†rhX
	r†rhLj;†rhj½†rh¨XproceedValuer†rhj½†rjKX~~r†rhj½†rj!Xfalser†rjóX! !r†rhX

r†rjój¹†rh‘XObjectr †r!jóX
 methodsFor: r"†r#j˜X'converting'r$†r%jóX stamp: 'sw 3/26/2001 12:12'!r&†r'hjì†r(jKXprintDirectlyToDisplayr)†r*hX
	r+†r,jLX•"For debugging: write the receiver's printString directly to the display at (0, 100); senders of this are detected by the check-for-slips mechanism."r-†r.hX

	r/†r0j!Xselfr1†r2hj½†r3jKXasStringr4†r5hj½†r6jKX
displayAt:r7†r8hj½†r9j;jë†r:jKX@r;†r<j;X100r=†r>hX

r?†r@jLX1"StringMorph someInstance printDirectlyToDisplay"rA†rBjóX! !rC†rDhX

rE†rFjój¹†rGh‘XObjectrH†rIjóX
 methodsFor: rJ†rKj˜X'converting'rL†rMjóX stamp: 'RAA 3/31/1999 12:13'!rN†rOhjì†rPjKXwithoutListWrapperrQ†rRhjì†rShX
	rT†rUhLj;†rVj!XselfrW†rXjóX! !rY†rZhX


r[†r\jój¹†r]h‘XObjectr^†r_jóX
 methodsFor: r`†raj˜X	'copying'rb†rcjój¹†rdhjì†rejKXclonerf†rghjì†rhhX
	ri†rjhjc†rkjóX
primitive:rl†rmhX 148rn†rohji†rphX
	rq†rrj!Xselfrs†rthj½†rujKXprimitiveFailedrv†rwjóX! !rx†ryhX

rz†r{jój¹†r|h‘XObjectr}†r~jóX
 methodsFor: r†r€j˜X	'copying'r†r‚jóX stamp: 'ajh 8/18/2001 21:25'!rƒ†r„hjì†r…jKXcopyr††r‡hX
	rˆ†r‰jLX…"Answer another instance just like the receiver. Subclasses typically override postCopy; they typically do not override shallowCopy."rІr‹hX

	rŒ†rhLj;†rŽj!Xselfr†rhj½†r‘jKXshallowCopyr’†r“hj½†r”jKXpostCopyr•†r–jóX! !r—†r˜hX

r™†ršjój¹†r›h‘XObjectrœ†rjóX
 methodsFor: rž†rŸj˜X	'copying'r †r¡jóX stamp: 'tk 8/20/1998 16:01'!r¢†r£hjì†r¤jKXcopyAddedStateFrom:r¥†r¦hj½†r§h¨X
anotherObjectr¨†r©hX
	rª†r«jLX£"Copy over the values of instance variables added by the receiver's class from anotherObject to the receiver.  These will be remapped in mapUniClasses, if needed."r¬†r­hX

	r®†r¯j!Xselfr°†r±hj½†r²jKXclassr³†r´hj½†rµjKX
superclassr¶†r·hj½†r¸jKXinstSizer¹†rºhj½†r»jKjˆ†r¼hj½†r½j;jà†r¾hj½†r¿jKXto:rÀ†rÁhj½†rÂj!XselfrÆrÄhj½†rÅjKXclassrƆrÇhj½†rÈjKXinstSizerɆrÊhj½†rËjKXdo:r̆rÍhX
		rΆrÏhj[†rÐhLjî†rÑh¨XindexrÒ†rÓhj½†rÔhLjµ†rÕhj½†rÖj!Xselfr׆rØhj½†rÙjKX
instVarAt:rÚ†rÛhj½†rÜh¨Xindexr݆rÞhj½†rßjKXput:rà†ráhj½†râhjĆrãh¨X
anotherObjecträ†råhj½†ræjKX
instVarAt:rç†rèhj½†réh¨Xindexrê†rëhj߆rìhje†ríjóX! !rî†rïhX

rð†rñjój¹†ròh‘XObjectró†rôjóX
 methodsFor: rõ†röj˜X	'copying'r÷†røjóX stamp: 'tpr 2/14/2004 21:53'!rù†rúhjì†rûjKX	copyFrom:rü†rýhj½†rþh¨X
anotherObjectrÿ†r hX
	r †r jLX "Copy to myself all instance variables I have in common with anotherObject.  This is dangerous because it ignores an object's control over its own inst vars.  "r †r hX

	r †r hLjµ†r h¨X
 mine his r †r	 hLjµ†r
 hX
	r †r hjc†r
 jóX
primitive:r †r hX 168r †r hji†r hX
	r †r h¨Xminer †r hj½†r hLj¸†r hj½†r j!Xselfr †r hj½†r jKXclassr †r hj½†r jKXallInstVarNamesr  †r! j©jþ†r" hX
	r# †r$ h¨Xhisr% †r& hj½†r' hLj¸†r( hj½†r) h¨X
anotherObjectr* †r+ hj½†r, jKXclassr- †r. hj½†r/ jKXallInstVarNamesr0 †r1 j©jþ†r2 hX
	r3 †r4 j;jà†r5 hj½†r6 jKXto:r7 †r8 hj½†r9 hjĆr: h¨Xminer; †r< hj½†r= jKXsizer> †r? hj½†r@ jKXmin:rA †rB hj½†rC h¨XhisrD †rE hj½†rF jKXsizerG †rH hj߆rI hj½†rJ jKXdo:rK †rL hj½†rM hj[†rN hLjî†rO h¨XindrP †rQ hj½†rR hLjµ†rS hX
		rT †rU hjĆrV h¨XminerW †rX hj½†rY jKXat:rZ †r[ hj½†r\ h¨Xindr] †r^ hj߆r_ hj½†r` jKjþ†ra hj½†rb hjĆrc h¨Xhisrd †re hj½†rf jKXat:rg †rh hj½†ri h¨Xindrj †rk hj߆rl hj½†rm jXifTrue:rn †ro hj½†rp hj[†rq hX
			rr †rs j!Xselfrt †ru hj½†rv jKX
instVarAt:rw †rx hj½†ry h¨Xindrz †r{ hj½†r| jKXput:r} †r~ hj½†r hjĆr€ h¨X
anotherObjectr †r‚ hj½†rƒ jKX
instVarAt:r„ †r… hj½†r† h¨Xindr‡ †rˆ hj߆r‰ hje†rŠ hje†r‹ j©jþ†rŒ hX
	r †rŽ j!Xselfr †r hj½†r‘ jKXclassr’ †r“ hj½†r” jKX
isVariabler• †r– hj½†r— jKX&r˜ †r™ hj½†rš h¨X
anotherObjectr› †rœ hj½†r jKXclassrž †rŸ hj½†r  jKX
isVariabler¡ †r¢ hj½†r£ jXifTrue:r¤ †r¥ hj½†r¦ hj[†r§ hX
		r¨ †r© j;jà†rª hj½†r« jKXto:r¬ †r­ hj½†r® hjĆr¯ j!Xselfr° †r± hj½†r² jKX	basicSizer³ †r´ hj½†rµ jKXmin:r¶ †r· hj½†r¸ h¨X
anotherObjectr¹ †rº hj½†r» jKX	basicSizer¼ †r½ hj߆r¾ hj½†r¿ jKXdo:rÀ †rÁ hj½†r hj[†rà hLjî†rÄ h¨XindrÅ †rÆ hj½†rÇ hLjµ†rÈ hX
			rÉ †rÊ j!XselfrË †rÌ hj½†rÍ jKXbasicAt:rÎ †rÏ hj½†rÐ h¨XindrÑ †rÒ hj½†rÓ jKXput:rÔ †rÕ hj½†rÖ hjĆr× h¨X
anotherObjectrØ †rÙ hj½†rÚ jKXbasicAt:rÛ †rÜ hj½†rÝ h¨XindrÞ †rß hj߆rà hje†rá hje†râ j©jþ†rã jóX! !rä †rå hX

ræ †rç jój¹†rè h‘XObjectré †rê jóX
 methodsFor: rë †rì j˜X	'copying'rí †rî jóX stamp: 'ajh 5/23/2002 00:38'!rï †rð hjì†rñ jKX
copySameFrom:rò †ró hj½†rô h¨XotherObjectrõ †rö hX
	r÷ †rø jLX‚"Copy to myself all instance variables named the same in otherObject.
	This ignores otherObject's control over its own inst vars."rù †rú hX

	rû †rü hLjµ†rý h¨X  myInstVars otherInstVars match rþ †rÿ hLjµ†r!hX
	r!†r!h¨X
myInstVarsr!†r!hj½†r!hLj¸†r!hj½†r!j!Xselfr!†r	!hj½†r
!jKXclassr!†r!hj½†r
!jKXallInstVarNamesr!†r!j©jþ†r!hX
	r!†r!h¨X
otherInstVarsr!†r!hj½†r!hLj¸†r!hj½†r!h¨XotherObjectr!†r!hj½†r!jKXclassr!†r!hj½†r!jKXallInstVarNamesr!†r!j©jþ†r !hX
	r!!†r"!h¨X
myInstVarsr#!†r$!hj½†r%!jKXdoWithIndex:r&!†r'!hj½†r(!hj[†r)!hLjî†r*!h¨Xeachr+!†r,!hj½†r-!hLjî†r.!h¨Xindexr/!†r0!hj½†r1!hLjµ†r2!hX
		r3!†r4!hjĆr5!h¨Xmatchr6!†r7!hj½†r8!hLj¸†r9!hj½†r:!h¨X
otherInstVarsr;!†r<!hj½†r=!jKXindexOf:r>!†r?!hj½†r@!h¨XeachrA!†rB!hj߆rC!hj½†rD!jKji†rE!hj½†rF!j;jë†rG!hj½†rH!jXifTrue:rI!†rJ!hX
			rK!†rL!hj[†rM!j!XselfrN!†rO!hj½†rP!jKX
instVarAt:rQ!†rR!hj½†rS!h¨XindexrT!†rU!hj½†rV!jKXput:rW!†rX!hj½†rY!hjĆrZ!h¨XotherObjectr[!†r\!hj½†r]!jKX
instVarAt:r^!†r_!hj½†r`!h¨Xmatchra!†rb!hj߆rc!hje†rd!hje†re!j©jþ†rf!hX
	rg!†rh!j;jà†ri!hj½†rj!jKXto:rk!†rl!hj½†rm!hjĆrn!j!Xselfro!†rp!hj½†rq!jKX	basicSizerr!†rs!hj½†rt!jKXmin:ru!†rv!hj½†rw!h¨XotherObjectrx!†ry!hj½†rz!jKX	basicSizer{!†r|!hj߆r}!hj½†r~!jKXdo:r!†r€!hj½†r!hj[†r‚!hLjî†rƒ!h¨Xir„!†r…!hj½†r†!hLjµ†r‡!hX
		rˆ!†r‰!j!XselfrŠ!†r‹!hj½†rŒ!jKXbasicAt:r!†rŽ!hj½†r!h¨j„!†r!hj½†r‘!jKXput:r’!†r“!hj½†r”!hjĆr•!h¨XotherObjectr–!†r—!hj½†r˜!jKXbasicAt:r™!†rš!hj½†r›!h¨j„!†rœ!hj߆r!hje†rž!j©jþ†rŸ!hjì†r !jóX! !r¡!†r¢!hX

r£!†r¤!jój¹†r¥!h‘XObjectr¦!†r§!jóX
 methodsFor: r¨!†r©!j˜X	'copying'rª!†r«!jóX stamp: 'tk 4/20/1999 14:44'!r¬!†r­!hjì†r®!jKXcopyTwoLevelr¯!†r°!hX
	r±!†r²!jLX#"one more level than a shallowCopy"r³!†r´!hX

	rµ!†r¶!hLjµ†r·!h¨X newObject class index r¸!†r¹!hLjµ†rº!hX
	r»!†r¼!h¨Xclassr½!†r¾!hj½†r¿!hLj¸†rÀ!hj½†rÁ!j!XselfrÂ!†rÃ!hj½†rÄ!jKXclassrÅ!†rÆ!j©jþ†rÇ!hX
	rÈ!†rÉ!h¨X	newObjectrÊ!†rË!hj½†rÌ!hLj¸†rÍ!hj½†rÎ!j!XselfrÏ!†rÐ!hj½†rÑ!jKXclonerÒ!†rÓ!j©jþ†rÔ!hX
	rÕ!†rÖ!h¨X	newObjectr×!†rØ!hj½†rÙ!jKX==rÚ!†rÛ!hj½†rÜ!j!XselfrÝ!†rÞ!hj½†rß!jXifTrue:rà!†rá!hj½†râ!hj[†rã!hLj;†rä!hj½†rå!j!Xselfræ!†rç!hje†rè!j©jþ†ré!hX
	rê!†rë!h¨Xclassrì!†rí!hj½†rî!jKX
isVariablerï!†rð!hX
		rñ!†rò!jXifTrue:ró!†rô!hX 
			rõ!†rö!hj[†r÷!h¨Xindexrø!†rù!hj½†rú!hLj¸†rû!hj½†rü!j!Xselfrý!†rþ!hj½†rÿ!jKX	basicSizer"†r"j©jþ†r"hX
			r"†r"hj[†r"h¨Xindexr"†r"hj½†r"jKji†r	"hj½†r
"j;jë†r"hje†r"hX
				r
"†r"jX
whileTrue:r"†r"hX 
					r"†r"hj[†r"h¨X	newObjectr"†r"hj½†r"jKXbasicAt:r"†r"hj½†r"h¨Xindexr"†r"hj½†r"jKXput:r"†r"hj½†r"hjĆr "j!Xselfr!"†r""hj½†r#"jKXbasicAt:r$"†r%"hj½†r&"h¨Xindexr'"†r("hj߆r)"hj½†r*"jKXshallowCopyr+"†r,"j©jþ†r-"hX
					r."†r/"h¨Xindexr0"†r1"hj½†r2"hLj¸†r3"hj½†r4"h¨Xindexr5"†r6"hj½†r7"jKX-r8"†r9"hj½†r:"j;jà†r;"hje†r<"hje†r="j©jþ†r>"hX
	r?"†r@"h¨XindexrA"†rB"hj½†rC"hLj¸†rD"hj½†rE"h¨XclassrF"†rG"hj½†rH"jKXinstSizerI"†rJ"j©jþ†rK"hX
	rL"†rM"hj[†rN"h¨XindexrO"†rP"hj½†rQ"jKji†rR"hj½†rS"j;jë†rT"hje†rU"hX
		rV"†rW"jX
whileTrue:rX"†rY"hX 
			rZ"†r["hj[†r\"h¨X	newObjectr]"†r^"hj½†r_"jKX
instVarAt:r`"†ra"hj½†rb"h¨Xindexrc"†rd"hj½†re"jKXput:rf"†rg"hj½†rh"hjĆri"j!Xselfrj"†rk"hj½†rl"jKX
instVarAt:rm"†rn"hj½†ro"h¨Xindexrp"†rq"hj߆rr"hj½†rs"jKXshallowCopyrt"†ru"j©jþ†rv"hX
			rw"†rx"h¨Xindexry"†rz"hj½†r{"hLj¸†r|"hj½†r}"h¨Xindexr~"†r"hj½†r€"jKj8"†r"hj½†r‚"j;jà†rƒ"hje†r„"j©jþ†r…"hX
	r†"†r‡"hLj;†rˆ"h¨X	newObjectr‰"†rŠ"jóX! !r‹"†rŒ"hX

r"†rŽ"jój¹†r"h‘XObjectr"†r‘"jóX
 methodsFor: r’"†r“"j˜X	'copying'r”"†r•"jój¹†r–"hjì†r—"jKXdeepCopyr˜"†r™"hX
	rš"†r›"jLXN"Answer a copy of the receiver with its own copy of each instance 
	variable."rœ"†r"hX

	rž"†rŸ"hLjµ†r "h¨X newObject class index r¡"†r¢"hLjµ†r£"hX
	r¤"†r¥"h¨Xclassr¦"†r§"hj½†r¨"hLj¸†r©"hj½†rª"j!Xselfr«"†r¬"hj½†r­"jKXclassr®"†r¯"j©jþ†r°"hX
	r±"†r²"hjĆr³"h¨Xclassr´"†rµ"hj½†r¶"jKX==r·"†r¸"hj½†r¹"h‘XObjectrº"†r»"hj߆r¼"hj½†r½"jXifTrue:r¾"†r¿"hj½†rÀ"hj[†rÁ"hLj;†rÂ"e(j!XselfrÃ"†rÄ"hje†rÅ"j©jþ†rÆ"hX
	rÇ"†rÈ"h¨XclassrÉ"†rÊ"hj½†rË"jKX
isVariablerÌ"†rÍ"hX
		rÎ"†rÏ"jXifTrue:rÐ"†rÑ"hX 
			rÒ"†rÓ"hj[†rÔ"h¨XindexrÕ"†rÖ"hj½†r×"hLj¸†rØ"hj½†rÙ"j!XselfrÚ"†rÛ"hj½†rÜ"jKX	basicSizerÝ"†rÞ"j©jþ†rß"hX
			rà"†rá"h¨X	newObjectrâ"†rã"hj½†rä"hLj¸†rå"hj½†ræ"h¨Xclassrç"†rè"hj½†ré"jKX	basicNew:rê"†rë"hj½†rì"h¨Xindexrí"†rî"j©jþ†rï"hX
			rð"†rñ"hj[†rò"h¨Xindexró"†rô"hj½†rõ"jKji†rö"hj½†r÷"j;jë†rø"hje†rù"hX
				rú"†rû"jX
whileTrue:rü"†rý"hX 
					rþ"†rÿ"hj[†r#h¨X	newObjectr#†r#hj½†r#jKXbasicAt:r#†r#hj½†r#h¨Xindexr#†r#hj½†r	#jKXput:r
#†r#hj½†r#hjĆr
#j!Xselfr#†r#hj½†r#jKXbasicAt:r#†r#hj½†r#h¨Xindexr#†r#hj߆r#hj½†r#jKXdeepCopyr#†r#j©jþ†r#hX
					r#†r#h¨Xindexr#†r#hj½†r#hLj¸†r #hj½†r!#h¨Xindexr"#†r##hj½†r$#jKj8"†r%#hj½†r&#j;jà†r'#hje†r(#hje†r)#hX
		r*#†r+#jXifFalse:r,#†r-#hj½†r.#hj[†r/#h¨X	newObjectr0#†r1#hj½†r2#hLj¸†r3#hj½†r4#h¨Xclassr5#†r6#hj½†r7#jKXbasicNewr8#†r9#hje†r:#j©jþ†r;#hX
	r<#†r=#h¨Xindexr>#†r?#hj½†r@#hLj¸†rA#hj½†rB#h¨XclassrC#†rD#hj½†rE#jKXinstSizerF#†rG#j©jþ†rH#hX
	rI#†rJ#hj[†rK#h¨XindexrL#†rM#hj½†rN#jKji†rO#hj½†rP#j;jë†rQ#hje†rR#hX
		rS#†rT#jX
whileTrue:rU#†rV#hX 
			rW#†rX#hj[†rY#h¨X	newObjectrZ#†r[#hj½†r\#jKX
instVarAt:r]#†r^#hj½†r_#h¨Xindexr`#†ra#hj½†rb#jKXput:rc#†rd#hj½†re#hjĆrf#j!Xselfrg#†rh#hj½†ri#jKX
instVarAt:rj#†rk#hj½†rl#h¨Xindexrm#†rn#hj߆ro#hj½†rp#jKXdeepCopyrq#†rr#j©jþ†rs#hX
			rt#†ru#h¨Xindexrv#†rw#hj½†rx#hLj¸†ry#hj½†rz#h¨Xindexr{#†r|#hj½†r}#jKj8"†r~#hj½†r#j;jà†r€#hje†r#j©jþ†r‚#hX
	rƒ#†r„#hLj;†r…#h¨X	newObjectr†#†r‡#jóX! !rˆ#†r‰#hX

rŠ#†r‹#jój¹†rŒ#h‘XObjectr#†rŽ#jóX
 methodsFor: r#†r#j˜X	'copying'r‘#†r’#jóX stamp: 'hg 11/23/1999 13:43'!r“#†r”#hjì†r•#jKXinitialDeepCopierSizer–#†r—#hX
	r˜#†r™#jLXZ"default value is 4096; other classes may override this, esp. for smaller (=faster) sizes"rš#†r›#hX

	rœ#†r#hLj;†rž#j;X4096rŸ#†r #jóX! !r¡#†r¢#hX

r£#†r¤#jój¹†r¥#h‘XObjectr¦#†r§#jóX
 methodsFor: r¨#†r©#j˜X	'copying'rª#†r«#jóX stamp: 'ajh 1/27/2003 18:45'!r¬#†r­#hjì†r®#jKXpostCopyr¯#†r°#hX
	r±#†r²#jLX^"self is a shallow copy, subclasses should copy fields as necessary to complete the full copy"r³#†r´#hX

	rµ#†r¶#hLj;†r·#hj½†r¸#j!Xselfr¹#†rº#jóX! !r»#†r¼#hX

r½#†r¾#jój¹†r¿#h‘XObjectrÀ#†rÁ#jóX
 methodsFor: rÂ#†rÃ#j˜X	'copying'rÄ#†rÅ#jóX stamp: 'jm 11/14/97 11:08'!rÆ#†rÇ#hjì†rÈ#jKXshallowCopyrÉ#†rÊ#hX
	rË#†rÌ#jLXO"Answer a copy of the receiver which shares the receiver's instance variables."rÍ#†rÎ#hX
	rÏ#†rÐ#hLjµ†rÑ#h¨X class newObject index rÒ#†rÓ#hLjµ†rÔ#hX
	rÕ#†rÖ#hjc†r×#jóX
primitive:rØ#†rÙ#hX 148rÚ#†rÛ#hji†rÜ#hX
	rÝ#†rÞ#h¨Xclassrß#†rà#hj½†rá#hLj¸†râ#hj½†rã#j!Xselfrä#†rå#hj½†ræ#jKXclassrç#†rè#j©jþ†ré#hX
	rê#†rë#h¨Xclassrì#†rí#hj½†rî#jKX
isVariablerï#†rð#hX
		rñ#†rò#jXifTrue:ró#†rô#hX 
			rõ#†rö#hj[†r÷#h¨Xindexrø#†rù#hj½†rú#hLj¸†rû#hj½†rü#j!Xselfrý#†rþ#hj½†rÿ#jKX	basicSizer$†r$j©jþ†r$hX
			r$†r$h¨X	newObjectr$†r$hj½†r$hLj¸†r$hj½†r	$h¨Xclassr
$†r$hj½†r$jKX	basicNew:r
$†r$hj½†r$h¨Xindexr$†r$j©jþ†r$hX
			r$†r$hj[†r$h¨Xindexr$†r$hj½†r$jKji†r$hj½†r$j;jë†r$hje†r$hX
				r$†r$jX
whileTrue:r$†r $hX 
					r!$†r"$hj[†r#$h¨X	newObjectr$$†r%$hj½†r&$jKXbasicAt:r'$†r($hj½†r)$h¨Xindexr*$†r+$hj½†r,$jKXput:r-$†r.$hj½†r/$hjĆr0$j!Xselfr1$†r2$hj½†r3$jKXbasicAt:r4$†r5$hj½†r6$h¨Xindexr7$†r8$hj߆r9$j©jþ†r:$hX
					r;$†r<$h¨Xindexr=$†r>$hj½†r?$hLj¸†r@$hj½†rA$h¨XindexrB$†rC$hj½†rD$jKj8"†rE$hj½†rF$j;jà†rG$hje†rH$hje†rI$hX
		rJ$†rK$jXifFalse:rL$†rM$hj½†rN$hj[†rO$h¨X	newObjectrP$†rQ$hj½†rR$hLj¸†rS$hj½†rT$h¨XclassrU$†rV$hj½†rW$jKXbasicNewrX$†rY$hje†rZ$j©jþ†r[$hX
	r\$†r]$h¨Xindexr^$†r_$hj½†r`$hLj¸†ra$hj½†rb$h¨Xclassrc$†rd$hj½†re$jKXinstSizerf$†rg$j©jþ†rh$hX
	ri$†rj$hj[†rk$h¨Xindexrl$†rm$hj½†rn$jKji†ro$hj½†rp$j;jë†rq$hje†rr$hX
		rs$†rt$jX
whileTrue:ru$†rv$hX 
			rw$†rx$hj[†ry$h¨X	newObjectrz$†r{$hj½†r|$jKX
instVarAt:r}$†r~$hj½†r$h¨Xindexr€$†r$hj½†r‚$jKXput:rƒ$†r„$hj½†r…$hjĆr†$j!Xselfr‡$†rˆ$hj½†r‰$jKX
instVarAt:rŠ$†r‹$hj½†rŒ$h¨Xindexr$†rŽ$hj߆r$j©jþ†r$hX
			r‘$†r’$h¨Xindexr“$†r”$hj½†r•$hLj¸†r–$hj½†r—$h¨Xindexr˜$†r™$hj½†rš$jKj8"†r›$hj½†rœ$j;jà†r$hje†rž$j©jþ†rŸ$hX
	r $†r¡$hLj;†r¢$hj½†r£$h¨X	newObjectr¤$†r¥$jóX! !r¦$†r§$hX

r¨$†r©$jój¹†rª$h‘XObjectr«$†r¬$jóX
 methodsFor: r­$†r®$j˜X	'copying'r¯$†r°$jóX stamp: 'tk 3/11/2003 13:58'!r±$†r²$hjì†r³$jKXveryDeepCopyr´$†rµ$hX
	r¶$†r·$jLX±"Do a complete tree copy using a dictionary.  An object in the tree twice is only copied once.  All references to the object in the copy of the tree will point to the new copy."r¸$†r¹$hX

	rº$†r»$hLjµ†r¼$h¨X copier new r½$†r¾$hLjµ†r¿$hX
	rÀ$†rÁ$h¨XcopierrÂ$†rÃ$hj½†rÄ$hLj¸†rÅ$hj½†rÆ$h‘X
DeepCopierrÇ$†rÈ$hj½†rÉ$jXnewrÊ$†rË$hj½†rÌ$jKXinitialize:rÍ$†rÎ$hj½†rÏ$j!XselfrÐ$†rÑ$hj½†rÒ$jKXinitialDeepCopierSizerÓ$†rÔ$j©jþ†rÕ$hX
	rÖ$†r×$h¨XnewrØ$†rÙ$hj½†rÚ$hLj¸†rÛ$hj½†rÜ$j!XselfrÝ$†rÞ$hj½†rß$jKXveryDeepCopyWith:rà$†rá$hj½†râ$h¨Xcopierrã$†rä$j©jþ†rå$hX
	ræ$†rç$h¨Xcopierrè$†ré$hj½†rê$jKX
mapUniClassesrë$†rì$j©jþ†rí$hX
	rî$†rï$h¨Xcopierrð$†rñ$hj½†rò$jKX
referencesró$†rô$hj½†rõ$jKXassociationsDo:rö$†r÷$hj½†rø$hj[†rù$hLjî†rú$h¨Xassocrû$†rü$hj½†rý$hLjµ†rþ$hX 
		rÿ$†r%h¨Xassocr%†r%hj½†r%jKXvaluer%†r%hj½†r%jKXveryDeepFixupWith:r%†r%hj½†r	%h¨Xcopierr
%†r%hje†r%j©jþ†r
%hX
	r%†r%h¨Xcopierr%†r%hj½†r%jKX
fixDependentsr%†r%j©jþ†r%hX
	r%†r%hLj;†r%hj½†r%h¨Xnewr%†r%jóX! !r%†r%hX

r%†r%jój¹†r %h‘XObjectr!%†r"%jóX
 methodsFor: r#%†r$%j˜X	'copying'r%%†r&%jóX stamp: 'tk 3/11/2003 13:58'!r'%†r(%hjì†r)%jKXveryDeepCopySiblingr*%†r+%hX
	r,%†r-%jLXH"Do a complete tree copy using a dictionary.  Substitute a clone of oldPlayer for the root.  Normally, a Player or non systemDefined object would have a new class.  We do not want one this time.  An object in the tree twice, is only copied once.  All references to the object in the copy of the tree will point to the new copy."r.%†r/%hX

	r0%†r1%hLjµ†r2%h¨X copier new r3%†r4%hLjµ†r5%hX
	r6%†r7%h¨Xcopierr8%†r9%hj½†r:%hLj¸†r;%hj½†r<%h‘X
DeepCopierr=%†r>%hj½†r?%jXnewr@%†rA%hj½†rB%jKXinitialize:rC%†rD%hj½†rE%j!XselfrF%†rG%hj½†rH%jKXinitialDeepCopierSizerI%†rJ%j©jþ†rK%hX
	rL%†rM%h¨XcopierrN%†rO%hj½†rP%jKXnewUniClasses:rQ%†rR%hj½†rS%j!XfalserT%†rU%j©jþ†rV%hX
	rW%†rX%h¨XnewrY%†rZ%hj½†r[%hLj¸†r\%hj½†r]%j!Xselfr^%†r_%hj½†r`%jKXveryDeepCopyWith:ra%†rb%hj½†rc%h¨Xcopierrd%†re%j©jþ†rf%hX
	rg%†rh%h¨Xcopierri%†rj%hj½†rk%jKX
mapUniClassesrl%†rm%j©jþ†rn%hX
	ro%†rp%h¨Xcopierrq%†rr%hj½†rs%jKX
referencesrt%†ru%hj½†rv%jKXassociationsDo:rw%†rx%hj½†ry%hj[†rz%hLjî†r{%h¨Xassocr|%†r}%hj½†r~%hLjµ†r%hX 
		r€%†r%h¨Xassocr‚%†rƒ%hj½†r„%jKXvaluer…%†r†%hj½†r‡%jKXveryDeepFixupWith:rˆ%†r‰%hj½†rŠ%h¨Xcopierr‹%†rŒ%hje†r%j©jþ†rŽ%hX
	r%†r%h¨Xcopierr‘%†r’%hj½†r“%jKX
fixDependentsr”%†r•%j©jþ†r–%hX
	r—%†r˜%hLj;†r™%hj½†rš%h¨Xnewr›%†rœ%jóX! !r%†rž%hX

rŸ%†r %jój¹†r¡%h‘XObjectr¢%†r£%jóX
 methodsFor: r¤%†r¥%j˜X	'copying'r¦%†r§%jóX stamp: 'tk 5/13/2003 19:39'!r¨%†r©%hjì†rª%jKXveryDeepCopyUsing:r«%†r¬%hj½†r­%h¨Xcopierr®%†r¯%hX
	r°%†r±%jLX0"Do a complete tree copy using a dictionary.  An object in the tree twice is only copied once.  All references to the object in the copy of the tree will point to the new copy.
	Same as veryDeepCopy except copier (with dictionary) is supplied.
	** do not delete this method, even if it has no callers **"r²%†r³%hX

	r´%†rµ%hLjµ†r¶%h¨X new refs newDep newModel r·%†r¸%hLjµ†r¹%hX
	rº%†r»%h¨Xnewr¼%†r½%hj½†r¾%hLj¸†r¿%hj½†rÀ%j!XselfrÁ%†rÂ%hj½†rÃ%jKXveryDeepCopyWith:rÄ%†rÅ%hj½†rÆ%h¨XcopierrÇ%†rÈ%j©jþ†rÉ%hX
	rÊ%†rË%h¨XcopierrÌ%†rÍ%hj½†rÎ%jKX
mapUniClassesrÏ%†rÐ%j©jþ†rÑ%hX
	rÒ%†rÓ%h¨XcopierrÔ%†rÕ%hj½†rÖ%jKX
referencesr×%†rØ%hj½†rÙ%jKXassociationsDo:rÚ%†rÛ%hj½†rÜ%hj[†rÝ%hLjî†rÞ%h¨Xassocrß%†rà%hj½†rá%hLjµ†râ%hX 
		rã%†rä%h¨Xassocrå%†ræ%hj½†rç%jKXvaluerè%†ré%hj½†rê%jKXveryDeepFixupWith:rë%†rì%hj½†rí%h¨Xcopierrî%†rï%hje†rð%j©jþ†rñ%hX
	rò%†ró%jLX"Fix dependents"rô%†rõ%hX
	rö%†r÷%h¨Xrefsrø%†rù%hj½†rú%hLj¸†rû%hj½†rü%h¨Xcopierrý%†rþ%hj½†rÿ%jKX
referencesr&†r&j©jþ†r&hX
	r&†r&h‘XDependentsFieldsr&†r&hj½†r&jKXassociationsDo:r&†r	&hj½†r
&hj[†r&hLjî†r&h¨Xpairr
&†r&hj½†r&hLjµ†r&hX
		r&†r&h¨Xpairr&†r&hj½†r&jKXvaluer&†r&hj½†r&jKXdo:r&†r&hj½†r&hj[†r&hLjî†r&h¨Xdepr&†r&hj½†r &hLjµ†r!&hX 
			r"&†r#&hjĆr$&h¨XnewDepr%&†r&&hj½†r'&hLj¸†r(&hj½†r)&h¨Xrefsr*&†r+&hj½†r,&jKXat:r-&†r.&hj½†r/&h¨Xdepr0&†r1&hj½†r2&jKX	ifAbsent:r3&†r4&hj½†r5&hj[†r6&j!Xnilr7&†r8&hje†r9&hj߆r:&hj½†r;&jKX	ifNotNil:r<&†r=&hj½†r>&hj[†r?&hX
				r@&†rA&h¨XnewModelrB&†rC&hj½†rD&hLj¸†rE&hj½†rF&h¨XrefsrG&†rH&hj½†rI&jKXat:rJ&†rK&hj½†rL&h¨XpairrM&†rN&hj½†rO&jKXkeyrP&†rQ&hj½†rR&jKX	ifAbsent:rS&†rT&hj½†rU&hj[†rV&h¨XpairrW&†rX&hj½†rY&jKXkeyrZ&†r[&hje†r\&j©jþ†r]&hX
				r^&†r_&h¨XnewModelr`&†ra&hj½†rb&jKX
addDependent:rc&†rd&hj½†re&h¨XnewDeprf&†rg&hje†rh&hje†ri&hje†rj&j©jþ†rk&hX
	rl&†rm&hLj;†rn&hj½†ro&h¨Xnewrp&†rq&jóX! !rr&†rs&hX

rt&†ru&jój¹†rv&h‘XObjectrw&†rx&jóX
 methodsFor: ry&†rz&j˜X	'copying'r{&†r|&jóX stamp: 'tk 3/11/2003 14:12'!r}&†r~&hjì†r&jKXveryDeepCopyWith:r€&†r&hj½†r‚&h¨X
deepCopierrƒ&†r„&hX
	r…&†r†&jLX"Copy me and the entire tree of objects I point to.  An object in the tree twice is copied once, and both references point to him.  deepCopier holds a dictionary of objects we have seen.  Some classes refuse to be copied.  Some classes are picky about which fields get deep copied."r‡&†rˆ&hX
	r‰&†rŠ&hLjµ†r‹&h¨X, class index sub subAss new uc sup has mine rŒ&†r&hLjµ†rŽ&hX
	r&†r&h¨X
deepCopierr‘&†r’&hj½†r“&jKX
referencesr”&†r•&hj½†r–&jKXat:r—&†r˜&hj½†r™&j!Xselfrš&†r›&hj½†rœ&jKX
ifPresent:r&†rž&hj½†rŸ&hj[†r &hLjî†r¡&h¨Xnewerr¢&†r£&hj½†r¤&hLjµ†r¥&hj½†r¦&hLj;†r§&hj½†r¨&h¨Xnewerr©&†rª&hje†r«&j©jþ†r¬&hX 	r­&†r®&jLX"already did him"r¯&†r°&hX
	r±&†r²&h¨Xclassr³&†r´&hj½†rµ&hLj¸†r¶&hj½†r·&j!Xselfr¸&†r¹&hj½†rº&jKXclassr»&†r¼&j©jþ†r½&hX
	r¾&†r¿&h¨XclassrÀ&†rÁ&hj½†rÂ&jKXisMetarÃ&†rÄ&hj½†rÅ&jXifTrue:rÆ&†rÇ&hj½†rÈ&hj[†rÉ&hLj;†rÊ&hj½†rË&j!XselfrÌ&†rÍ&hje†rÎ&j©jþ†rÏ&hX		rÐ&†rÑ&jLX	"a class"rÒ&†rÓ&hX
	rÔ&†rÕ&h¨XnewrÖ&†r×&hj½†rØ&hLj¸†rÙ&hj½†rÚ&j!XselfrÛ&†rÜ&hj½†rÝ&jKXclonerÞ&†rß&j©jþ†rà&hX
	rá&†râ&hjĆrã&h¨Xclassrä&†rå&hj½†ræ&jKXisSystemDefinedrç&†rè&hj½†ré&jKXnotrê&†rë&hj½†rì&jKXand:rí&†rî&hj½†rï&hj[†rð&h¨X
deepCopierrñ&†rò&hj½†ró&jKX
newUniClassesrô&†rõ&hj½†rö&jLX	"allowed"r÷&†rø&hje†rù&hj߆rú&hj½†rû&jXifTrue:rü&†rý&hj½†rþ&hj[†rÿ&hX
		r'†r'h¨Xucr'†r'hj½†r'hLj¸†r'hj½†r'h¨X
deepCopierr'†r'hj½†r	'jKX
uniClassesr
'†r'hj½†r'jKXat:r
'†r'hj½†r'h¨Xclassr'†r'hj½†r'jKX	ifAbsent:r'†r'hj½†r'hj[†r'j!Xnilr'†r'hje†r'j©jþ†r'hX
		r'†r'h¨Xucr'†r'hj½†r'jKXifNil:r '†r!'hj½†r"'hj[†r#'hX
			r$'†r%'h¨X
deepCopierr&'†r''hj½†r('jKX
uniClassesr)'†r*'hj½†r+'jKXat:r,'†r-'hj½†r.'h¨Xclassr/'†r0'hj½†r1'jKXput:r2'†r3'hj½†r4'hjĆr5'h¨Xucr6'†r7'hj½†r8'hLj¸†r9'hj½†r:'j!Xselfr;'†r<'hj½†r='jKXcopyUniClassWith:r>'†r?'hj½†r@'h¨X
deepCopierrA'†rB'hj߆rC'j©jþ†rD'hX
			rE'†rF'h¨X
deepCopierrG'†rH'hj½†rI'jKX
referencesrJ'†rK'hj½†rL'jKXat:rM'†rN'hj½†rO'h¨XclassrP'†rQ'hj½†rR'jKXput:rS'†rT'hj½†rU'h¨XucrV'†rW'hje†rX'j©jþ†rY'hjí†rZ'jLX
"remember"r['†r\'hX
		r]'†r^'h¨Xnewr_'†r`'hj½†ra'hLj¸†rb'hj½†rc'h¨Xucrd'†re'hj½†rf'jXnewrg'†rh'j©jþ†ri'hX
		rj'†rk'h¨Xnewrl'†rm'hj½†rn'jKX	copyFrom:ro'†rp'hj½†rq'j!Xselfrr'†rs'hje†rt'j©jþ†ru'hjí†rv'jLX%"copy inst vars in case any are weak"rw'†rx'hX
	ry'†rz'h¨X
deepCopierr{'†r|'hj½†r}'jKX
referencesr~'†r'hj½†r€'jKXat:r'†r‚'hj½†rƒ'j!Xselfr„'†r…'hj½†r†'jKXput:r‡'†rˆ'hj½†r‰'h¨XnewrŠ'†r‹'j©jþ†rŒ'hjí†r'jLX
"remember"rŽ'†r'hX
	r'†r‘'hjĆr’'h¨Xclassr“'†r”'hj½†r•'jKX
isVariabler–'†r—'hj½†r˜'jKXand:r™'†rš'hj½†r›'hj[†rœ'h¨Xclassr'†rž'hj½†rŸ'jKX
isPointersr '†r¡'hje†r¢'hj߆r£'hj½†r¤'jXifTrue:r¥'†r¦'hX 
		r§'†r¨'hj[†r©'h¨Xindexrª'†r«'hj½†r¬'hLj¸†r­'hj½†r®'j!Xselfr¯'†r°'hj½†r±'jKX	basicSizer²'†r³'j©jþ†r´'hX
		rµ'†r¶'hj[†r·'h¨Xindexr¸'†r¹'hj½†rº'jKji†r»'hj½†r¼'j;jë†r½'hje†r¾'hj½†r¿'jX
whileTrue:rÀ'†rÁ'hX 
			rÂ'†rÃ'hj[†rÄ'h¨XsubrÅ'†rÆ'hj½†rÇ'hLj¸†rÈ'hj½†rÉ'j!XselfrÊ'†rË'hj½†rÌ'jKXbasicAt:rÍ'†rÎ'hj½†rÏ'h¨XindexrÐ'†rÑ'j©jþ†rÒ'hX
			rÓ'†rÔ'hjĆrÕ'h¨XsubAssrÖ'†r×'hj½†rØ'hLj¸†rÙ'hj½†rÚ'h¨X
deepCopierrÛ'†rÜ'hj½†rÝ'jKX
referencesrÞ'†rß'hj½†rà'jKXassociationAt:rá'†râ'hj½†rã'h¨Xsubrä'†rå'hj½†ræ'jKX	ifAbsent:rç'†rè'hj½†ré'hj[†rê'j!Xnilrë'†rì'hje†rí'hj߆rî'hX
				rï'†rð'jKXifNil:rñ'†rò'hj½†ró'hj[†rô'h¨Xnewrõ'†rö'hj½†r÷'jKXbasicAt:rø'†rù'hj½†rú'h¨Xindexrû'†rü'hj½†rý'jKXput:rþ'†rÿ'hj½†r(hjĆr(h¨Xsubr(†r(hj½†r(jKXveryDeepCopyWith:r(†r(hj½†r(h¨X
deepCopierr(†r	(hj߆r
(hje†r(hX
				r(†r
(jKX	ifNotNil:r(†r(hj½†r(hj[†r(h¨Xnewr(†r(hj½†r(jKXbasicAt:r(†r(hj½†r(h¨Xindexr(†r(hj½†r(jKXput:r(†r(hj½†r(h¨XsubAssr(†r(hj½†r (jKXvaluer!(†r"(hje†r#(j©jþ†r$(hX
			r%(†r&(h¨Xindexr'(†r((hj½†r)(hLj¸†r*(hj½†r+(h¨Xindexr,(†r-(hj½†r.(jKj8"†r/(hj½†r0(j;jà†r1(hje†r2(hje†r3(j©jþ†r4(hX
	r5(†r6(jLXD"Ask each superclass if it wants to share (weak copy) any inst vars"r7(†r8(hX
	r9(†r:(h¨Xnewr;(†r<(hj½†r=(jKXveryDeepInner:r>(†r?(hj½†r@(h¨X
deepCopierrA(†rB(j©jþ†rC(hX		rD(†rE(jLX"does super a lot"rF(†rG(hX

	rH(†rI(jLX3"other superclasses want all inst vars deep copied"rJ(†rK(hX
	rL(†rM(h¨XsuprN(†rO(hj½†rP(hLj¸†rQ(hj½†rR(h¨XclassrS(†rT(j©jþ†rU(hX  rV(†rW(h¨XindexrX(†rY(hj½†rZ(hLj¸†r[(hj½†r\(h¨Xclassr](†r^(hj½†r_(jKXinstSizer`(†ra(j©jþ†rb(hX
	rc(†rd(hj[†re(h¨Xhasrf(†rg(hj½†rh(hLj¸†ri(hj½†rj(h¨Xsuprk(†rl(hj½†rm(jKXcompiledMethodAt:rn(†ro(hj½†rp(j´X#veryDeepInner:rq(†rr(hj½†rs(jKX	ifAbsent:rt(†ru(hj½†rv(hj[†rw(j!Xnilrx(†ry(hje†rz(j©jþ†r{(hX
	r|(†r}(h¨Xhasr~(†r(hj½†r€(hLj¸†r(hj½†r‚(e(h¨Xhasrƒ(†r„(hj½†r…(jKXifNil:r†(†r‡(hj½†rˆ(hj[†r‰(h¨XclassrŠ(†r‹(hj½†rŒ(jKXisSystemDefinedr(†rŽ(hj½†r(jKXnotr(†r‘(hj½†r’(jLX"is a uniClass"r“(†r”(hje†r•(hj½†r–(jKX	ifNotNil:r—(†r˜(hj½†r™(hj[†rš(j!Xtruer›(†rœ(hje†r(j©jþ†rž(hX
	rŸ(†r (h¨Xminer¡(†r¢(hj½†r£(hLj¸†r¤(hj½†r¥(h¨Xsupr¦(†r§(hj½†r¨(jKXinstVarNamesr©(†rª(j©jþ†r«(hX
	r¬(†r­(h¨Xhasr®(†r¯(hj½†r°(jXifTrue:r±(†r²(hj½†r³(hj[†r´(h¨Xindexrµ(†r¶(hj½†r·(hLj¸†r¸(hj½†r¹(h¨Xindexrº(†r»(hj½†r¼(jKj8"†r½(hj½†r¾(h¨Xminer¿(†rÀ(hj½†rÁ(jKXsizerÂ(†rÃ(hje†rÄ(hjí†rÅ(jLX"skip inst vars"rÆ(†rÇ(hX
		rÈ(†rÉ(jXifFalse:rÊ(†rË(hj½†rÌ(hj[†rÍ(j;jà†rÎ(hj½†rÏ(jKXto:rÐ(†rÑ(hj½†rÒ(h¨XminerÓ(†rÔ(hj½†rÕ(jKXsizerÖ(†r×(hj½†rØ(jKXdo:rÙ(†rÚ(hj½†rÛ(hj[†rÜ(hLjî†rÝ(h¨XxxrÞ(†rß(hj½†rà(hLjµ†rá(hX
				râ(†rã(h¨Xsubrä(†rå(hj½†ræ(hLj¸†rç(hj½†rè(j!Xselfré(†rê(hj½†rë(jKX
instVarAt:rì(†rí(hj½†rî(h¨Xindexrï(†rð(j©jþ†rñ(hX
				rò(†ró(hjĆrô(h¨XsubAssrõ(†rö(hj½†r÷(hLj¸†rø(hj½†rù(h¨X
deepCopierrú(†rû(hj½†rü(jKX
referencesrý(†rþ(hj½†rÿ(jKXassociationAt:r)†r)hj½†r)h¨Xsubr)†r)hj½†r)jKX	ifAbsent:r)†r)hj½†r)hj[†r	)j!Xnilr
)†r)hje†r)hj߆r
)hX
						r)†r)jLX<"use association, not value, so nil is an exceptional value"r)†r)hX
					r)†r)jKXifNil:r)†r)hj½†r)hj[†r)h¨Xnewr)†r)hj½†r)jKX
instVarAt:r)†r)hj½†r)h¨Xindexr)†r)hj½†r )jKXput:r!)†r")hX
 
								r#)†r$)hjĆr%)h¨Xsubr&)†r')hj½†r()jKXveryDeepCopyWith:r))†r*)hj½†r+)h¨X
deepCopierr,)†r-)hj߆r.)hje†r/)hX
					r0)†r1)jKX	ifNotNil:r2)†r3)hj½†r4)hj[†r5)h¨Xnewr6)†r7)hj½†r8)jKX
instVarAt:r9)†r:)hj½†r;)h¨Xindexr<)†r=)hj½†r>)jKXput:r?)†r@)hj½†rA)h¨XsubAssrB)†rC)hj½†rD)jKXvaluerE)†rF)hje†rG)j©jþ†rH)hX
				rI)†rJ)h¨XindexrK)†rL)hj½†rM)hLj¸†rN)hj½†rO)h¨XindexrP)†rQ)hj½†rR)jKj8"†rS)hj½†rT)j;jà†rU)hje†rV)hje†rW)j©jþ†rX)hX
	rY)†rZ)hjĆr[)h¨Xsupr\)†r])hj½†r^)hLj¸†r_)hj½†r`)h¨Xsupra)†rb)hj½†rc)jKX
superclassrd)†re)hj߆rf)hj½†rg)jKX==rh)†ri)hj½†rj)j!Xnilrk)†rl)hje†rm)hj½†rn)jKX
whileFalsero)†rp)j©jþ†rq)hX
	rr)†rs)h¨Xnewrt)†ru)hj½†rv)jKXrehashrw)†rx)j©jþ†ry)hjí†rz)jLX'"force Sets and Dictionaries to rehash"r{)†r|)hX
	r})†r~)hLj;†r)hj½†r€)h¨Xnewr)†r‚)hjì†rƒ)jóX! !r„)†r…)hX

r†)†r‡)jój¹†rˆ)h‘XObjectr‰)†rŠ)jóX
 methodsFor: r‹)†rŒ)j˜X	'copying'r)†rŽ)jóX stamp: 'tk 1/6/1999 17:39'!r)†r)hjì†r‘)jKXveryDeepFixupWith:r’)†r“)hj½†r”)h¨X
deepCopierr•)†r–)hX
	r—)†r˜)jLX<"I have no fields and no superclass.  Catch the super call."r™)†rš)hjì†r›)jóX! !rœ)†r)hX

rž)†rŸ)jój¹†r )h‘XObjectr¡)†r¢)jóX
 methodsFor: r£)†r¤)j˜X	'copying'r¥)†r¦)jóX stamp: 'tk 9/4/2001 10:30'!r§)†r¨)hjì†r©)jKXveryDeepInner:rª)†r«)hj½†r¬)h¨X
deepCopierr­)†r®)hX
	r¯)†r°)jLXÔ"No special treatment for inst vars of my superclasses.  Override when some need to be weakly copied.  Object>>veryDeepCopyWith: will veryDeepCopy any inst var whose class does not actually define veryDeepInner:"r±)†r²)hjì†r³)jóX! !r´)†rµ)hX


r¶)†r·)jój¹†r¸)h‘XObjectr¹)†rº)jóX
 methodsFor: r»)†r¼)j˜X
'creation'r½)†r¾)jóX stamp: 'nk 2/26/2004 13:35'!r¿)†rÀ)hjì†rÁ)jKX
asStringMorphrÂ)†rÃ)hX
	rÄ)†rÅ)jLX6"Open a StringMorph, as best one can, on the receiver"rÆ)†rÇ)hX

	rÈ)†rÉ)hLj;†rÊ)hj½†rË)j!XselfrÌ)†rÍ)hj½†rÎ)jKXasStringOrTextrÏ)†rÐ)hj½†rÑ)jKX
asStringMorphrÒ)†rÓ)hjì†rÔ)jóX! !rÕ)†rÖ)hX

r×)†rØ)jój¹†rÙ)h‘XObjectrÚ)†rÛ)jóX
 methodsFor: rÜ)†rÝ)j˜X
'creation'rÞ)†rß)jóX stamp: 'nk 2/26/2004 13:35'!rà)†rá)hjì†râ)jKXasTextMorphrã)†rä)hX
	rå)†ræ)jLX4"Open a TextMorph, as best one can, on the receiver"rç)†rè)hX

	ré)†rê)hLj;†rë)hj½†rì)h‘X	TextMorphrí)†rî)hj½†rï)jXnewrð)†rñ)hj½†rò)jKX
contentsAsIs:ró)†rô)hj½†rõ)j!Xselfrö)†r÷)hj½†rø)jKXasStringOrTextrù)†rú)hjì†rû)jóX! !rü)†rý)hX

rþ)†rÿ)jój¹†r*h‘XObjectr*†r*jóX
 methodsFor: r*†r*j˜X
'creation'r*†r*jóX stamp: 'sw 1/29/2002 21:45'!r*†r*hjì†r	*jKXopenAsMorphr
*†r*hX
	r*†r
*jLX0"Open a morph, as best one can, on the receiver"r*†r*hX

	r*†r*hLj;†r*hj½†r*j!Xselfr*†r*hj½†r*jKXasMorphr*†r*hj½†r*jKX
openInHandr*†r*hX

r*†r*jLXY"
234 openAsMorph
(ScriptingSystem formAtKey: #TinyMenu) openAsMorph
'fred' openAsMorph
"r*†r*jóX! !r *†r!*hX


r"*†r#*jój¹†r$*h‘XObjectr%*†r&*jóX
 methodsFor: r'*†r(*j˜X'debugging'r)*†r**jóX stamp: 'md 11/24/2004 11:45'!r+*†r,*hjì†r-*jKXhaltIf:r.*†r/*hj½†r0*h¨X	conditionr1*†r2*hX
	r3*†r4*jLX3"This is the typical message to use for inserting breakpoints during 
	debugging.  Param can be a block or expression, halt if true.
	If the Block has one arg, the receiver is bound to that.
 	If the condition is a selector, we look up in the callchain. Halt if
      any method's selector equals selector."r5*†r6*hX
	r7*†r8*hLjµ†r9*h¨X cntxt r:*†r;*hLjµ†r<*hX

	r=*†r>*h¨X	conditionr?*†r@*hj½†rA*jKXisSymbolrB*†rC*hj½†rD*jXifTrue:rE*†rF*hj[†rG*hX
		rH*†rI*jLX<"only halt if a method with selector symbol is in callchain"rJ*†rK*hX
		rL*†rM*h¨XcntxtrN*†rO*hj½†rP*hLX:=rQ*†rR*hj½†rS*j!XthisContextrT*†rU*j©jþ†rV*hX
		rW*†rX*hj[†rY*h¨XcntxtrZ*†r[*hj½†r\*jKXsenderr]*†r^*hj½†r_*jKXisNilr`*†ra*hje†rb*hj½†rc*jXwhileFalse:rd*†re*hj½†rf*hj[†rg*hX
			rh*†ri*h¨Xcntxtrj*†rk*hj½†rl*hLX:=rm*†rn*hj½†ro*h¨Xcntxtrp*†rq*hj½†rr*jKXsenderrs*†rt*j©jþ†ru*hX 
			rv*†rw*hjĆrx*h¨Xcntxtry*†rz*hj½†r{*jKXselectorr|*†r}*hj½†r~*jKjþ†r*hj½†r€*h¨X	conditionr*†r‚*hj߆rƒ*hj½†r„*jXifTrue:r…*†r†*hj½†r‡*hj[†rˆ*h‘XHaltr‰*†rŠ*hj½†r‹*jKXsignalrŒ*†r*hje†rŽ*j©jþ†r*hX
			r*†r‘*hje†r’*j©jþ†r“*hX
		r”*†r•*hLj;†r–*j!Xselfr—*†r˜*j©jþ†r™*hX
	rš*†r›*hje†rœ*j©jþ†r*hX
	rž*†rŸ*hjĆr *h¨X	conditionr¡*†r¢*hj½†r£*jKXisBlockr¤*†r¥*hX 
			r¦*†r§*jXifTrue:r¨*†r©*hj½†rª*hj[†r«*h¨X	conditionr¬*†r­*hj½†r®*jKXvalueWithPossibleArgument:r¯*†r°*hj½†r±*j!Xselfr²*†r³*hje†r´*hX 
			rµ*†r¶*jXifFalse:r·*†r¸*hj½†r¹*hj[†rº*h¨X	conditionr»*†r¼*hje†r½*hX 
	r¾*†r¿*hj߆rÀ*hj½†rÁ*jXifTrue:rÂ*†rÃ*hj½†rÄ*hj[†rÅ*hX
		rÆ*†rÇ*h‘XHaltrÈ*†rÉ*hj½†rÊ*jKXsignalrË*†rÌ*hX
	rÍ*†rÎ*hje†rÏ*j©jþ†rÐ*jóX! !rÑ*†rÒ*hX

rÓ*†rÔ*jój¹†rÕ*h‘XObjectrÖ*†r×*jóX
 methodsFor: rØ*†rÙ*j˜X'debugging'rÚ*†rÛ*jój¹†rÜ*hjì†rÝ*h¨X	needsWorkrÞ*†rß*jóX! !rà*†rá*hX


râ*†rã*jój¹†rä*h‘XObjectrå*†ræ*jóX
 methodsFor: rç*†rè*j˜X'debugging-haltOnce'ré*†rê*jóX stamp: 'sbw 6/2/2004 08:26'!rë*†rì*hjì†rí*jKXcheckHaltCountExpiredrî*†rï*hX
	rð*†rñ*hLjµ†rò*h¨X	 counter ró*†rô*hLjµ†rõ*hX
	rö*†r÷*h¨Xcounterrø*†rù*hj½†rú*hLj¸†rû*hj½†rü*h‘X	Smalltalkrý*†rþ*hj½†rÿ*jKXat:r+†r+hj½†r+j´X
#HaltCountr+†r+hj½†r+jKX	ifAbsent:r+†r+hj½†r+hj[†r	+j;jë†r
+hje†r+j©jþ†r+hX
	r
+†r+hLj;†r+h¨Xcounterr+†r+hj½†r+jKjþ†r+hj½†r+j;jë†r+jóX! !r+†r+hX

r+†r+jój¹†r+h‘XObjectr+†r+jóX
 methodsFor: r+†r+j˜X'debugging-haltOnce'r+†r +jóX stamp: 'sbw 5/19/2004 19:04'!r!+†r"+hjì†r#+jKX
clearHaltOncer$+†r%+hX
	r&+†r'+jLX"Turn on the halt once flag."r(+†r)+hX
	r*+†r++h‘X	Smalltalkr,+†r-+hj½†r.+jKXat:r/+†r0+hj½†r1+j´X	#HaltOncer2+†r3+hj½†r4+jKXput:r5+†r6+hj½†r7+j!Xfalser8+†r9+jóX! !r:+†r;+hX

r<+†r=+jój¹†r>+h‘XObjectr?+†r@+jóX
 methodsFor: rA+†rB+j˜X'debugging-haltOnce'rC+†rD+jóX stamp: 'sbw 6/2/2004 08:30'!rE+†rF+hjì†rG+jKXdecrementAndCheckHaltCountrH+†rI+hX
	rJ+†rK+j!XselfrL+†rM+hj½†rN+jKXdecrementHaltCountrO+†rP+j©jþ†rQ+hX
	rR+†rS+hLj;†rT+j!XselfrU+†rV+hj½†rW+jKXcheckHaltCountExpiredrX+†rY+jóX! !rZ+†r[+hX

r\+†r]+jój¹†r^+h‘XObjectr_+†r`+jóX
 methodsFor: ra+†rb+j˜X'debugging-haltOnce'rc+†rd+jóX stamp: 'sbw 6/2/2004 08:28'!re+†rf+hjì†rg+jKXdecrementHaltCountrh+†ri+hX
	rj+†rk+hLjµ†rl+h¨X	 counter rm+†rn+hLjµ†ro+hX
	rp+†rq+h¨Xcounterrr+†rs+hj½†rt+hLX:=ru+†rv+hj½†rw+h‘X	Smalltalkrx+†ry+hX
				rz+†r{+jKXat:r|+†r}+hj½†r~+j´X
#HaltCountr+†r€+hX
				r+†r‚+jKX	ifAbsent:rƒ+†r„+hj½†r…+hj[†r†+j;jë†r‡+hje†rˆ+j©jþ†r‰+hX
	rŠ+†r‹+h¨XcounterrŒ+†r+hj½†rŽ+jKji†r+hj½†r+j;jë†r‘+hj½†r’+jXifTrue:r“+†r”+hj½†r•+hj[†r–+hX
		r—+†r˜+h¨Xcounterr™+†rš+hj½†r›+hLj¸†rœ+hj½†r+h¨Xcounterrž+†rŸ+hj½†r +jKj8"†r¡+hj½†r¢+j;jà†r£+j©jþ†r¤+hX
		r¥+†r¦+j!Xselfr§+†r¨+hj½†r©+jKXsetHaltCountTo:rª+†r«+hj½†r¬+h¨Xcounterr­+†r®+hje†r¯+jóX! !r°+†r±+hX

r²+†r³+jój¹†r´+h‘XObjectrµ+†r¶+jóX
 methodsFor: r·+†r¸+j˜X'debugging-haltOnce'r¹+†rº+jóX stamp: 'sbw 6/2/2004 08:42'!r»+†r¼+hjì†r½+jKXdoExpiredHaltCountr¾+†r¿+hX
	rÀ+†rÁ+j!XselfrÂ+†rÃ+hj½†rÄ+jKX
clearHaltOncerÅ+†rÆ+j©jþ†rÇ+hX
	rÈ+†rÉ+j!XselfrÊ+†rË+hj½†rÌ+jKXremoveHaltCountrÍ+†rÎ+j©jþ†rÏ+hX
	rÐ+†rÑ+j!XselfrÒ+†rÓ+hj½†rÔ+jKXhaltrÕ+†rÖ+jóX! !r×+†rØ+hX

rÙ+†rÚ+jój¹†rÛ+h‘XObjectrÜ+†rÝ+jóX
 methodsFor: rÞ+†rß+j˜X'debugging-haltOnce'rà+†rá+jóX stamp: 'sbw 6/2/2004 08:44'!râ+†rã+hjì†rä+jKXdoExpiredHaltCount:rå+†ræ+hj½†rç+h¨XaStringrè+†ré+hX
	rê+†rë+j!Xselfrì+†rí+hj½†rî+jKX
clearHaltOncerï+†rð+j©jþ†rñ+hX
	rò+†ró+j!Xselfrô+†rõ+hj½†rö+jKXremoveHaltCountr÷+†rø+j©jþ†rù+hX
	rú+†rû+j!Xselfrü+†rý+hj½†rþ+jKXhalt:rÿ+†r,hj½†r,h¨XaStringr,†r,jóX! !r,†r,hX

r,†r,jój¹†r,h‘XObjectr	,†r
,jóX
 methodsFor: r,†r,j˜X'debugging-haltOnce'r
,†r,jóX stamp: 'sbw 6/2/2004 08:45'!r,†r,hjì†r,jKXdoExpiredInspectCountr,†r,hX
	r,†r,j!Xselfr,†r,hj½†r,jKX
clearHaltOncer,†r,j©jþ†r,hX
	r,†r,j!Xselfr,†r,hj½†r ,jKXremoveHaltCountr!,†r",j©jþ†r#,hX
	r$,†r%,j!Xselfr&,†r',hj½†r(,jKXinspectr),†r*,jóX! !r+,†r,,hX

r-,†r.,jój¹†r/,h‘XObjectr0,†r1,jóX
 methodsFor: r2,†r3,j˜X'debugging-haltOnce'r4,†r5,jóX stamp: 'sbw 6/2/2004 08:43'!r6,†r7,hjì†r8,jKXhaltOnCount:r9,†r:,hj½†r;,h¨Xintr<,†r=,hX 
	r>,†r?,j!Xselfr@,†rA,hj½†rB,jKXhaltOnceEnabledrC,†rD,hX
		rE,†rF,jXifTrue:rG,†rH,hj½†rI,hj[†rJ,j!XselfrK,†rL,hj½†rM,jKXhasHaltCountrN,†rO,hX
				rP,†rQ,jXifTrue:rR,†rS,hj½†rT,hj[†rU,j!XselfrV,†rW,hj½†rX,jKXdecrementAndCheckHaltCountrY,†rZ,hX
						r[,†r\,jXifTrue:r],†r^,hj½†r_,hj[†r`,j!Xselfra,†rb,hj½†rc,jKXdoExpiredHaltCountrd,†re,hje†rf,hje†rg,hX
				rh,†ri,jXifFalse:rj,†rk,hj½†rl,hj[†rm,h¨Xintrn,†ro,hj½†rp,jKjþ†rq,hj½†rr,j;jà†rs,hX
						rt,†ru,jXifTrue:rv,†rw,hj½†rx,hj[†ry,j!Xselfrz,†r{,hj½†r|,jKXdoExpiredHaltCountr},†r~,hje†r,hX
						r€,†r,jXifFalse:r‚,†rƒ,hj½†r„,hj[†r…,j!Xselfr†,†r‡,hj½†rˆ,jKXsetHaltCountTo:r‰,†rŠ,hj½†r‹,h¨XintrŒ,†r,hj½†rŽ,jKj8"†r,hj½†r,j;jà†r‘,hje†r’,hje†r“,hje†r”,jóX! !r•,†r–,hX

r—,†r˜,jój¹†r™,h‘XObjectrš,†r›,jóX
 methodsFor: rœ,†r,j˜X'debugging-haltOnce'rž,†rŸ,jóX stamp: 'sbw 5/19/2004 19:05'!r ,†r¡,hjì†r¢,jKXhaltOncer£,†r¤,hX
	r¥,†r¦,jLX+"Halt unless we have already done it once."r§,†r¨,hX
	r©,†rª,j!Xselfr«,†r¬,hj½†r­,jKXhaltOnceEnabledr®,†r¯,hX
		r°,†r±,jXifTrue:r²,†r³,hj½†r´,hj[†rµ,j!Xselfr¶,†r·,hj½†r¸,jKX
clearHaltOncer¹,†rº,j©jþ†r»,hX
			r¼,†r½,hLj;†r¾,hj½†r¿,j!XselfrÀ,†rÁ,hj½†rÂ,jKXhaltrÃ,†rÄ,hje†rÅ,jóX! !rÆ,†rÇ,hX

rÈ,†rÉ,jój¹†rÊ,h‘XObjectrË,†rÌ,jóX
 methodsFor: rÍ,†rÎ,j˜X'debugging-haltOnce'rÏ,†rÐ,jóX stamp: 'sbw 5/19/2004 19:04'!rÑ,†rÒ,hjì†rÓ,jKXhaltOnceEnabledrÔ,†rÕ,hX
	rÖ,†r×,hLj;†rØ,hj½†rÙ,h‘X	SmalltalkrÚ,†rÛ,hX
		rÜ,†rÝ,jKXat:rÞ,†rß,hj½†rà,j´X	#HaltOncerá,†râ,hX
		rã,†rä,jKX	ifAbsent:rå,†ræ,hj½†rç,hj[†rè,j!Xfalseré,†rê,hje†rë,jóX! !rì,†rí,hX

rî,†rï,jój¹†rð,h‘XObjectrñ,†rò,jóX
 methodsFor: ró,†rô,j˜X'debugging-haltOnce'rõ,†rö,jóX stamp: 'sbw 5/19/2004 19:05'!r÷,†rø,hjì†rù,jKX	haltOnce:rú,†rû,hj½†rü,h¨XaStringrý,†rþ,hX 
	rÿ,†r-jLX+"Halt unless we have already done it once."r-†r-hX
	r-†r-j!Xselfr-†r-hj½†r-jKXhaltOnceEnabledr-†r	-hX
		r
-†r-jXifTrue:r-†r
-hj½†r-hj[†r-j!Xselfr-†r-hj½†r-jKX
clearHaltOncer-†r-j©jþ†r-hX
			r-†r-hLj;†r-hj½†r-j!Xselfr-†r-hj½†r-jKXhalt:r-†r-hj½†r-h¨XaStringr -†r!-hje†r"-jóX! !r#-†r$-hX

r%-†r&-jój¹†r'-h‘XObjectr(-†r)-jóX
 methodsFor: r*-†r+-j˜X'debugging-haltOnce'r,-†r--jóX stamp: 'sbw 6/2/2004 08:45'!r.-†r/-hjì†r0-jKXhalt:r1-†r2-hj½†r3-h¨XaStringr4-†r5-hj½†r6-jKXonCount:r7-†r8-hj½†r9-h¨Xintr:-†r;-hX 
	r<-†r=-j!Xselfr>-†r?-hj½†r@-jKXhaltOnceEnabledrA-†rB-hX
		rC-†rD-jXifTrue:rE-†rF-hj½†rG-hj[†rH-j!XselfrI-†rJ-hj½†rK-jKXhasHaltCountrL-†rM-hX
				rN-†rO-jXifTrue:rP-†rQ-hj½†rR-hj[†rS-j!XselfrT-†rU-hj½†rV-jKXdecrementAndCheckHaltCountrW-†rX-hX
						rY-†rZ-jXifTrue:r[-†r\-hj½†r]-hj[†r^-j!Xselfr_-†r`-hj½†ra-jKXdoExpiredHaltCount:rb-†rc-hj½†rd-h¨XaStringre-†rf-hje†rg-hje†rh-hX
				ri-†rj-jXifFalse:rk-†rl-hj½†rm-hj[†rn-h¨Xintro-†rp-hj½†rq-jKjþ†rr-hj½†rs-j;jà†rt-hX
						ru-†rv-jXifTrue:rw-†rx-hj½†ry-hj[†rz-j!Xselfr{-†r|-hj½†r}-jKXdoExpiredHaltCount:r~-†r-hj½†r€-h¨XaStringr-†r‚-hje†rƒ-hX
						r„-†r…-jXifFalse:r†-†r‡-hj½†rˆ-hj[†r‰-j!XselfrŠ-†r‹-hj½†rŒ-jKXsetHaltCountTo:r-†rŽ-hj½†r-h¨Xintr-†r‘-hj½†r’-jKj8"†r“-hj½†r”-j;jà†r•-hje†r–-hje†r—-hje†r˜-jóX! !r™-†rš-hX

r›-†rœ-jój¹†r-h‘XObjectrž-†rŸ-jóX
 methodsFor: r -†r¡-j˜X'debugging-haltOnce'r¢-†r£-jóX stamp: 'sbw 6/2/2004 08:36'!r¤-†r¥-hjì†r¦-jKXhasHaltCountr§-†r¨-hX
	r©-†rª-hLj;†r«-h‘X	Smalltalkr¬-†r­-hX
				r®-†r¯-jKXincludesKey:r°-†r±-hj½†r²-j´X
#HaltCountr³-†r´-jóX! !rµ-†r¶-hX

r·-†r¸-jój¹†r¹-h‘XObjectrº-†r»-jóX
 methodsFor: r¼-†r½-j˜X'debugging-haltOnce'r¾-†r¿-jóX stamp: 'sbw 6/2/2004 08:46'!rÀ-†rÁ-hjì†rÂ-jKXinspectOnCount:rÃ-†rÄ-hj½†rÅ-h¨XintrÆ-†rÇ-hX 
	rÈ-†rÉ-j!XselfrÊ-†rË-hj½†rÌ-jKXhaltOnceEnabledrÍ-†rÎ-hX
		rÏ-†rÐ-jXifTrue:rÑ-†rÒ-hj½†rÓ-hj[†rÔ-j!XselfrÕ-†rÖ-hj½†r×-jKXhasHaltCountrØ-†rÙ-hX
				rÚ-†rÛ-jXifTrue:rÜ-†rÝ-hj½†rÞ-hj[†rß-j!Xselfrà-†rá-hj½†râ-jKXdecrementAndCheckHaltCountrã-†rä-hX
						rå-†ræ-jXifTrue:rç-†rè-hj½†ré-hj[†rê-j!Xselfrë-†rì-hj½†rí-jKXdoExpiredInspectCountrî-†rï-hje†rð-hje†rñ-hX
				rò-†ró-jXifFalse:rô-†rõ-hj½†rö-hj[†r÷-h¨Xintrø-†rù-hj½†rú-jKjþ†rû-hj½†rü-j;jà†rý-hX
						rþ-†rÿ-jXifTrue:r.†r.hj½†r.hj[†r.j!Xselfr.†r.hj½†r.jKXdoExpiredInspectCountr.†r.hje†r	.hX
						r
.†r.jXifFalse:r.†r
.hj½†r.hj[†r.j!Xselfr.†r.hj½†r.jKXsetHaltCountTo:r.†r.hj½†r.h¨Xintr.†r.hj½†r.jKj8"†r.hj½†r.j;jà†r.hje†r.hje†r.hje†r.jóX! !r.†r .hX

r!.†r".jój¹†r#.h‘XObjectr$.†r%.jóX
 methodsFor: r&.†r'.j˜X'debugging-haltOnce'r(.†r).jóX stamp: 'sbw 5/19/2004 19:05'!r*.†r+.hjì†r,.jKXinspectOncer-.†r..hX
	r/.†r0.jLX."Inspect unless we have already done it once."r1.†r2.hX
	r3.†r4.j!Xselfr5.†r6.hj½†r7.jKXhaltOnceEnabledr8.†r9.hX
		r:.†r;.jXifTrue:r<.†r=.hj½†r>.hj[†r?.j!Xselfr@.†rA.hj½†rB.jKX
clearHaltOncerC.†rD.j©jþ†rE.hX
			rF.†rG.hLj;†rH.hj½†rI.j!XselfrJ.†rK.hj½†rL.jKXinspectrM.†rN.hje†rO.jóX! !rP.†rQ.hX

rR.†rS.jój¹†rT.h‘XObjectrU.†rV.jóX
 methodsFor: rW.†rX.j˜X'debugging-haltOnce'rY.†rZ.jóX stamp: 'sbw 6/2/2004 13:20'!r[.†r\.hjì†r].jKXinspectUntilCount:r^.†r_.hj½†r`.h¨Xintra.†rb.hX 
	rc.†rd.j!Xselfre.†rf.hj½†rg.jKXhaltOnceEnabledrh.†ri.hX
		rj.†rk.jXifTrue:rl.†rm.hj½†rn.hj[†ro.j!Xselfrp.†rq.hj½†rr.jKXhasHaltCountrs.†rt.hX
				ru.†rv.jXifTrue:rw.†rx.hj½†ry.hj[†rz.j!Xselfr{.†r|.hj½†r}.jKXdecrementAndCheckHaltCountr~.†r.hX
						r€.†r.jXifTrue:r‚.†rƒ.hj½†r„.hj[†r….j!Xselfr†.†r‡.hj½†rˆ.jKXdoExpiredInspectCountr‰.†rŠ.hje†r‹.hX
						rŒ.†r.e(jXifFalse:rŽ.†r.hj½†r.hj[†r‘.j!Xselfr’.†r“.hj½†r”.jKXinspectr•.†r–.hje†r—.hje†r˜.hX
				r™.†rš.jXifFalse:r›.†rœ.hj½†r.hj[†rž.h¨XintrŸ.†r .hj½†r¡.jKjþ†r¢.hj½†r£.j;jà†r¤.hX
						r¥.†r¦.jXifTrue:r§.†r¨.hj½†r©.hj[†rª.j!Xselfr«.†r¬.hj½†r­.jKXdoExpiredInspectCountr®.†r¯.hje†r°.hX
						r±.†r².jXifFalse:r³.†r´.hj½†rµ.hj[†r¶.j!Xselfr·.†r¸.hj½†r¹.jKXsetHaltCountTo:rº.†r».hj½†r¼.h¨Xintr½.†r¾.hj½†r¿.jKj8"†rÀ.hj½†rÁ.j;jà†rÂ.hje†rÃ.hje†rÄ.hje†rÅ.jóX! !rÆ.†rÇ.hX

rÈ.†rÉ.jój¹†rÊ.h‘XObjectrË.†rÌ.jóX
 methodsFor: rÍ.†rÎ.j˜X'debugging-haltOnce'rÏ.†rÐ.jóX stamp: 'sbw 6/2/2004 08:49'!rÑ.†rÒ.hjì†rÓ.jKXremoveHaltCountrÔ.†rÕ.hX
	rÖ.†r×.hjĆrØ.h‘X	SmalltalkrÙ.†rÚ.hj½†rÛ.jKXincludesKey:rÜ.†rÝ.hj½†rÞ.j´X
#HaltCountrß.†rà.hj߆rá.hj½†râ.jXifTrue:rã.†rä.hj½†rå.hj[†ræ.hX
		rç.†rè.h‘X	Smalltalkré.†rê.hj½†rë.jKX
removeKey:rì.†rí.hj½†rî.j´X
#HaltCountrï.†rð.hje†rñ.jóX! !rò.†ró.hX

rô.†rõ.jój¹†rö.h‘XObjectr÷.†rø.jóX
 methodsFor: rù.†rú.j˜X'debugging-haltOnce'rû.†rü.jóX stamp: 'sbw 6/2/2004 08:25'!rý.†rþ.hjì†rÿ.jKXsetHaltCountTo:r/†r/hj½†r/h¨Xintr/†r/hX
	r/†r/h‘X	Smalltalkr/†r/hj½†r	/jKXat:r
/†r/hj½†r/j´X
#HaltCountr
/†r/hj½†r/jKXput:r/†r/hj½†r/h¨Xintr/†r/jóX! !r/†r/hX

r/†r/jój¹†r/h‘XObjectr/†r/jóX
 methodsFor: r/†r/j˜X'debugging-haltOnce'r/†r/jóX stamp: 'sbw 5/19/2004 19:04'!r /†r!/hjì†r"/jKXsetHaltOncer#/†r$/hX
	r%/†r&/jLX"Turn on the halt once flag."r'/†r(/hX
	r)/†r*/h‘X	Smalltalkr+/†r,/hj½†r-/jKXat:r./†r//hj½†r0/j´X	#HaltOncer1/†r2/hj½†r3/jKXput:r4/†r5/hj½†r6/j!Xtruer7/†r8/jóX! !r9/†r:/hX

r;/†r</jój¹†r=/h‘XObjectr>/†r?/jóX
 methodsFor: r@/†rA/j˜X'debugging-haltOnce'rB/†rC/jóX stamp: 'sbw 5/19/2004 19:04'!rD/†rE/hjì†rF/jKXtoggleHaltOncerG/†rH/hX
	rI/†rJ/j!XselfrK/†rL/hj½†rM/jKXhaltOnceEnabledrN/†rO/hX
		rP/†rQ/jXifTrue:rR/†rS/hj½†rT/hj[†rU/j!XselfrV/†rW/hj½†rX/jKX
clearHaltOncerY/†rZ/hje†r[/hX
		r\/†r]/jXifFalse:r^/†r_/hj½†r`/hj[†ra/j!Xselfrb/†rc/hj½†rd/jKXsetHaltOncere/†rf/hje†rg/jóX! !rh/†ri/hX


rj/†rk/jój¹†rl/h‘XObjectrm/†rn/jóX
 methodsFor: ro/†rp/j˜X'dependents access'rq/†rr/jóX stamp: 'ar 2/11/2001 01:55'!rs/†rt/hjì†ru/jKX
addDependent:rv/†rw/hj½†rx/h¨XanObjectry/†rz/hX
	r{/†r|/jLX9"Make the given object one of the receiver's dependents."r}/†r~/hX

	r/†r€/hLjµ†r/h¨X dependents r‚/†rƒ/hLjµ†r„/hX
	r…/†r†/h¨X
dependentsr‡/†rˆ/hj½†r‰/hLj¸†rŠ/hj½†r‹/j!XselfrŒ/†r/hj½†rŽ/jKX
dependentsr/†r/j©jþ†r‘/hX
	r’/†r“/hjĆr”/h¨X
dependentsr•/†r–/hj½†r—/jKX	includes:r˜/†r™/hj½†rš/h¨XanObjectr›/†rœ/hj߆r/hj½†rž/jXifFalse:rŸ/†r /hX
		r¡/†r¢/hj[†r£/j!Xselfr¤/†r¥/hj½†r¦/jKX
myDependents:r§/†r¨/hj½†r©/hjĆrª/h¨X
dependentsr«/†r¬/hj½†r­/jKXcopyWithDependent:r®/†r¯/hj½†r°/h¨XanObjectr±/†r²/hj߆r³/hje†r´/j©jþ†rµ/hX
	r¶/†r·/hLj;†r¸/hj½†r¹/h¨XanObjectrº/†r»/jóX! !r¼/†r½/hX

r¾/†r¿/jój¹†rÀ/h‘XObjectrÁ/†rÂ/jóX
 methodsFor: rÃ/†rÄ/j˜X'dependents access'rÅ/†rÆ/jóX stamp: 'sma 2/29/2000 19:53'!rÇ/†rÈ/hjì†rÉ/jKXbreakDependentsrÊ/†rË/hX
	rÌ/†rÍ/jLX*"Remove all of the receiver's dependents."rÎ/†rÏ/hX

	rÐ/†rÑ/j!XselfrÒ/†rÓ/hj½†rÔ/jKX
myDependents:rÕ/†rÖ/hj½†r×/j!XnilrØ/†rÙ/jóX! !rÚ/†rÛ/hX

rÜ/†rÝ/jój¹†rÞ/h‘XObjectrß/†rà/jóX
 methodsFor: rá/†râ/j˜X'dependents access'rã/†rä/jóX stamp: 'sma 2/29/2000 19:26'!rå/†ræ/hjì†rç/jKXcanDiscardEditsrè/†ré/hX
	rê/†rë/jLXR"Answer true if none of the views on this model has unaccepted edits that matter."rì/†rí/hX

	rî/†rï/j!Xselfrð/†rñ/hj½†rò/jKX
dependentsró/†rô/hX
		rõ/†rö/jKXdo:r÷/†rø/hj½†rù/hj[†rú/hLjî†rû/h¨Xeachrü/†rý/hj½†rþ/hLjµ†rÿ/hj½†r0h¨Xeachr0†r0hj½†r0jKXcanDiscardEditsr0†r0hj½†r0jXifFalse:r0†r0hj½†r	0hj[†r
0hLj;†r0hj½†r0j!Xfalser
0†r0hje†r0hje†r0hX
		r0†r0jKXwithout:r0†r0hj½†r0j!Xselfr0†r0j©jþ†r0hX
	r0†r0hLj;†r0hj½†r0j!Xtruer0†r0jóX! !r0†r 0hX

r!0†r"0jój¹†r#0h‘XObjectr$0†r%0jóX
 methodsFor: r&0†r'0j˜X'dependents access'r(0†r)0jóX stamp: 'sma 2/29/2000 19:58'!r*0†r+0hjì†r,0jKX
dependentsr-0†r.0hX
	r/0†r00jLXŽ"Answer a collection of objects that are 'dependent' on the receiver;
	 that is, all objects that should be notified if the receiver changes."r10†r20hX

	r30†r40hLj;†r50hj½†r60j!Xselfr70†r80hj½†r90jKXmyDependentsr:0†r;0hj½†r<0jKXifNil:r=0†r>0hj½†r?0hj[†r@0j´X#(rA0†rB0j´j߆rC0hje†rD0jóX! !rE0†rF0hX

rG0†rH0jój¹†rI0h‘XObjectrJ0†rK0jóX
 methodsFor: rL0†rM0j˜X'dependents access'rN0†rO0jój¹†rP0hjì†rQ0jKX	evaluate:rR0†rS0hj½†rT0h¨XactionBlockrU0†rV0hj½†rW0jKXwheneverChangeIn:rX0†rY0hj½†rZ0h¨XaspectBlockr[0†r\0hX
	r]0†r^0hLjµ†r_0h¨X# viewerThenObject objectThenViewer r`0†ra0hLjµ†rb0hX
	rc0†rd0h¨XobjectThenViewerre0†rf0hj½†rg0hLj¸†rh0hj½†ri0j!Xselfrj0†rk0j©jþ†rl0hX
	rm0†rn0h¨XviewerThenObjectro0†rp0hj½†rq0hLj¸†rr0hj½†rs0h‘XObjectViewerrt0†ru0hj½†rv0jKXon:rw0†rx0hj½†ry0h¨XobjectThenViewerrz0†r{0j©jþ†r|0hX
	r}0†r~0h¨XobjectThenViewerr0†r€0hj½†r0jKXbecome:r‚0†rƒ0hj½†r„0h¨XviewerThenObjectr…0†r†0j©jþ†r‡0hX
	rˆ0†r‰0jLX"--- Then ---"rŠ0†r‹0hX
	rŒ0†r0h¨XobjectThenViewerrŽ0†r0hj½†r0jKXxxxViewedObject:r‘0†r’0hj½†r“0h¨XviewerThenObjectr”0†r•0hX
			r–0†r—0jKX	evaluate:r˜0†r™0hj½†rš0h¨XactionBlockr›0†rœ0hX
			r0†rž0jKXwheneverChangeIn:rŸ0†r 0hj½†r¡0h¨XaspectBlockr¢0†r£0jóX! !r¤0†r¥0hX

r¦0†r§0jój¹†r¨0h‘XObjectr©0†rª0jóX
 methodsFor: r«0†r¬0j˜X'dependents access'r­0†r®0jóX stamp: 'sma 2/29/2000 19:59'!r¯0†r°0hjì†r±0jKXhasUnacceptedEditsr²0†r³0hX
	r´0†rµ0jLXF"Answer true if any of the views on this object has unaccepted edits."r¶0†r·0hX

	r¸0†r¹0j!Xselfrº0†r»0hj½†r¼0jKX
dependentsr½0†r¾0hX
		r¿0†rÀ0jKXdo:rÁ0†rÂ0hj½†rÃ0hj[†rÄ0hLjî†rÅ0h¨XeachrÆ0†rÇ0hj½†rÈ0hLjµ†rÉ0hj½†rÊ0h¨XeachrË0†rÌ0hj½†rÍ0jKXhasUnacceptedEditsrÎ0†rÏ0hj½†rÐ0jXifTrue:rÑ0†rÒ0hj½†rÓ0hj[†rÔ0hLj;†rÕ0hj½†rÖ0j!Xtruer×0†rØ0hje†rÙ0hje†rÚ0hX
		rÛ0†rÜ0jKXwithout:rÝ0†rÞ0hj½†rß0j!Xselfrà0†rá0j©jþ†râ0hX
	rã0†rä0hLj;†rå0hj½†ræ0j!Xfalserç0†rè0jóX! !ré0†rê0hX

rë0†rì0jój¹†rí0h‘XObjectrî0†rï0jóX
 methodsFor: rð0†rñ0j˜X'dependents access'rò0†ró0jóX stamp: 'sma 2/29/2000 19:55'!rô0†rõ0hjì†rö0jKXmyDependentsr÷0†rø0hX
	rù0†rú0jLX:"Private. Answer a list of all the receiver's dependents."rû0†rü0hX

	rý0†rþ0hLj;†rÿ0hj½†r1h‘XDependentsFieldsr1†r1hj½†r1jKXat:r1†r1hj½†r1j!Xselfr1†r1hj½†r	1jKX	ifAbsent:r
1†r1hj½†r1hj[†r
1hje†r1jóX! !r1†r1hX

r1†r1jój¹†r1h‘XObjectr1†r1jóX
 methodsFor: r1†r1j˜X'dependents access'r1†r1jóX stamp: 'sma 2/29/2000 19:52'!r1†r1hjì†r1jKX
myDependents:r1†r1hj½†r1h¨XaCollectionOrNilr 1†r!1hX
	r"1†r#1jLX:"Private. Set (or remove) the receiver's dependents list."r$1†r%1hX

	r&1†r'1h¨XaCollectionOrNilr(1†r)1hX
		r*1†r+1jKXifNil:r,1†r-1hj½†r.1hj[†r/1h‘XDependentsFieldsr01†r11hj½†r21jKX
removeKey:r31†r41hj½†r51j!Xselfr61†r71hj½†r81jKX	ifAbsent:r91†r:1hj½†r;1hj[†r<1hje†r=1hje†r>1hX
		r?1†r@1jKX	ifNotNil:rA1†rB1hj½†rC1hj[†rD1h‘XDependentsFieldsrE1†rF1hj½†rG1jKXat:rH1†rI1hj½†rJ1j!XselfrK1†rL1hj½†rM1jKXput:rN1†rO1hj½†rP1h¨XaCollectionOrNilrQ1†rR1hje†rS1jóX! !rT1†rU1hX

rV1†rW1jój¹†rX1h‘XObjectrY1†rZ1jóX
 methodsFor: r[1†r\1j˜X'dependents access'r]1†r^1jóX" stamp: 'reThink 2/18/2001 17:06'!r_1†r`1hjì†ra1jKXreleaserb1†rc1hX
	rd1†re1jLXÐ"Remove references to objects that may refer to the receiver. This message 
	should be overridden by subclasses with any cycles, in which case the 
	subclass should also include the expression super release."rf1†rg1hX

	rh1†ri1j!Xselfrj1†rk1hj½†rl1jKXreleaseActionMaprm1†rn1jóX! !ro1†rp1hX

rq1†rr1jój¹†rs1h‘XObjectrt1†ru1jóX
 methodsFor: rv1†rw1j˜X'dependents access'rx1†ry1jóX stamp: 'sma 2/29/2000 20:23'!rz1†r{1hjì†r|1jKXremoveDependent:r}1†r~1hj½†r1h¨XanObjectr€1†r1hX
	r‚1†rƒ1jLX>"Remove the given object as one of the receiver's dependents."r„1†r…1hX

	r†1†r‡1hLjµ†rˆ1h¨X dependents r‰1†rŠ1hLjµ†r‹1hX
	rŒ1†r1h¨X
dependentsrŽ1†r1hj½†r1hLj¸†r‘1hj½†r’1j!Xselfr“1†r”1hj½†r•1jKX
dependentsr–1†r—1hj½†r˜1jKXreject:r™1†rš1hj½†r›1hj[†rœ1hLjî†r1h¨Xeachrž1†rŸ1hj½†r 1hLjµ†r¡1hj½†r¢1h¨Xeachr£1†r¤1hj½†r¥1jKX==r¦1†r§1hj½†r¨1h¨XanObjectr©1†rª1hje†r«1j©jþ†r¬1hX
	r­1†r®1j!Xselfr¯1†r°1hj½†r±1jKX
myDependents:r²1†r³1hj½†r´1hjĆrµ1h¨X
dependentsr¶1†r·1hj½†r¸1jKXisEmptyr¹1†rº1hj½†r»1jXifFalse:r¼1†r½1hj½†r¾1hj[†r¿1h¨X
dependentsrÀ1†rÁ1hje†rÂ1hj߆rÃ1j©jþ†rÄ1hX
	rÅ1†rÆ1hLj;†rÇ1hj½†rÈ1h¨XanObjectrÉ1†rÊ1jóX! !rË1†rÌ1hX


rÍ1†rÎ1jój¹†rÏ1h‘XObjectrÐ1†rÑ1jóX
 methodsFor: rÒ1†rÓ1j˜X'drag and drop'rÔ1†rÕ1jóX stamp: 'bh 9/16/2001 18:10'!rÖ1†r×1hjì†rØ1jKXacceptDroppingMorph:rÙ1†rÚ1hj½†rÛ1h¨X
transferMorphrÜ1†rÝ1hj½†rÞ1jKXevent:rß1†rà1hj½†rá1h¨Xevtrâ1†rã1hj½†rä1jKXinMorph:rå1†ræ1hj½†rç1h¨XdstListMorphrè1†ré1hX 
	
	rê1†rë1hLj;†rì1j!Xfalserí1†rî1j©jþ†rï1jóX! !rð1†rñ1hX

rò1†ró1jój¹†rô1h‘XObjectrõ1†rö1jóX
 methodsFor: r÷1†rø1j˜X'drag and drop'rù1†rú1jóX stamp: 'mir 5/16/2000 11:35'!rû1†rü1hjì†rý1jKXdragAnimationFor:rþ1†rÿ1hj½†r2h¨Xitemr2†r2hj½†r2jKXtransferMorph:r2†r2hj½†r2h¨X
transferMorphr2†r2hX 
	r	2†r
2jLX"Default do nothing"r2†r2jóX! !r
2†r2hX

r2†r2jój¹†r2h‘XObjectr2†r2jóX
 methodsFor: r2†r2j˜X'drag and drop'r2†r2jóX  stamp: 'panda 4/28/2000 16:20'!r2†r2hjì†r2jKXdragPassengerFor:r2†r2hj½†r2h¨Xitemr2†r2hj½†r 2jKXinMorph:r!2†r"2hj½†r#2h¨X
dragSourcer$2†r%2hX 
	r&2†r'2hLj;†r(2h¨Xitemr)2†r*2jóX! !r+2†r,2hX

r-2†r.2jój¹†r/2h‘XObjectr02†r12jóX
 methodsFor: r22†r32j˜X'drag and drop'r42†r52jóX  stamp: 'panda 4/28/2000 16:11'!r62†r72hjì†r82jKXdragTransferTyper92†r:2hX
	r;2†r<2hLj;†r=2j!Xnilr>2†r?2jóX! !r@2†rA2hX

rB2†rC2jój¹†rD2h‘XObjectrE2†rF2jóX
 methodsFor: rG2†rH2j˜X'drag and drop'rI2†rJ2jóX  stamp: 'panda 4/28/2000 16:05'!rK2†rL2hjì†rM2jKXdragTransferTypeForMorph:rN2†rO2hj½†rP2h¨X
dragSourcerQ2†rR2hX 
	rS2†rT2hLj;†rU2j!XnilrV2†rW2jóX! !rX2†rY2hX

rZ2†r[2jój¹†r\2h‘XObjectr]2†r^2jóX
 methodsFor: r_2†r`2j˜X'drag and drop'ra2†rb2jóX stamp: 'mir 5/8/2000 17:19'!rc2†rd2hjì†re2jKXwantsDroppedMorph:rf2†rg2hj½†rh2h¨XaMorphri2†rj2hj½†rk2jKXevent:rl2†rm2hj½†rn2h¨XanEventro2†rp2hj½†rq2jKXinMorph:rr2†rs2hj½†rt2h¨X
destinationLMru2†rv2hX 
	rw2†rx2hLj;†ry2j!Xfalserz2†r{2jóX! !r|2†r}2hX


r~2†r2jój¹†r€2h‘XObjectr2†r‚2jóX
 methodsFor: rƒ2†r„2j˜X'error handling'r…2†r†2jóX stamp: 'sma 5/6/2000 19:35'!r‡2†rˆ2hjì†r‰2jKXassert:rŠ2†r‹2hj½†rŒ2h¨XaBlockr2†rŽ2hX
	r2†r2jLX@"Throw an assertion error if aBlock does not evaluates to true."r‘2†r’2hX

	r“2†r”2h¨XaBlockr•2†r–2hj½†r—2jKXvaluer˜2†r™2hj½†rš2jXifFalse:r›2†rœ2hj½†r2hj[†rž2h‘XAssertionFailurerŸ2†r 2hj½†r¡2jKXsignal:r¢2†r£2hj½†r¤2j˜X'Assertion failed'r¥2†r¦2hje†r§2jóX! !r¨2†r©2hX

rª2†r«2jój¹†r¬2h‘XObjectr­2†r®2jóX
 methodsFor: r¯2†r°2j˜X'error handling'r±2†r²2jóX stamp: 'nk 1/15/2004 10:54'!r³2†r´2hjì†rµ2jKXassert:r¶2†r·2hj½†r¸2h¨XaBlockr¹2†rº2hj½†r»2jKXdescriptionBlock:r¼2†r½2hj½†r¾2h¨XdescriptionBlockr¿2†rÀ2hX
	rÁ2†rÂ2jLX?"Throw an assertion error if aBlock does not evaluate to true."rÃ2†rÄ2hX

	rÅ2†rÆ2h¨XaBlockrÇ2†rÈ2hj½†rÉ2jKXvaluerÊ2†rË2hj½†rÌ2jXifFalse:rÍ2†rÎ2hj½†rÏ2hj[†rÐ2h‘XAssertionFailurerÑ2†rÒ2hj½†rÓ2jKXsignal:rÔ2†rÕ2hj½†rÖ2h¨XdescriptionBlockr×2†rØ2hj½†rÙ2jKXvaluerÚ2†rÛ2hj½†rÜ2jKXasStringrÝ2†rÞ2hj½†rß2hje†rà2jóX! !rá2†râ2hX

rã2†rä2jój¹†rå2h‘XObjectræ2†rç2jóX
 methodsFor: rè2†ré2j˜X'error handling'rê2†rë2jóX stamp: 'nk 10/25/2003 16:47'!rì2†rí2hjì†rî2jKXassert:rï2†rð2hj½†rñ2h¨XaBlockrò2†ró2hj½†rô2jKXdescription:rõ2†rö2hj½†r÷2h¨XaStringrø2†rù2hX
	rú2†rû2jLX@"Throw an assertion error if aBlock does not evaluates to true."rü2†rý2hX

	rþ2†rÿ2h¨XaBlockr3†r3hj½†r3jKXvaluer3†r3hj½†r3jXifFalse:r3†r3hj½†r3hj[†r	3h‘XAssertionFailurer
3†r3hj½†r3jKXsignal:r
3†r3hj½†r3h¨XaStringr3†r3hj½†r3hje†r3jóX! !r3†r3hX

r3†r3jój¹†r3h‘XObjectr3†r3jóX
 methodsFor: r3†r3j˜X'error handling'r3†r3jóX stamp: 'md 10/13/2004 15:59'!r3†r 3hjì†r!3jKXbackwardCompatibilityOnly:r"3†r#3hj½†r$3h¨XanExplanationStringr%3†r&3hX
	r'3†r(3jLX„"Warn that the sending method has been deprecated. Methods that are tagt with #backwardCompatibility:
	 are kept for compatibility."r)3†r*3hX

	r+3†r,3h‘XPreferencesr-3†r.3hj½†r/3jKXshowDeprecationWarningsr03†r13hj½†r23jXifTrue:r33†r43hX
		r53†r63hj[†r73h‘XDeprecationr83†r93hj½†r:3jKXsignal:r;3†r<3hj½†r=3j!XthisContextr>3†r?3hj½†r@3jKXsenderrA3†rB3hj½†rC3jKXprintStringrD3†rE3jKj)	†rF3hj½†rG3j˜X=' has been deprecated (but will be kept for compatibility). 'rH3†rI3jKj)	†rJ3hj½†rK3h¨XanExplanationStringrL3†rM3hje†rN3jóX! !rO3†rP3hX

rQ3†rR3jój¹†rS3h‘XObjectrT3†rU3jóX
 methodsFor: rV3†rW3j˜X'error handling'rX3†rY3jój¹†rZ3hjì†r[3jKX	caseErrorr\3†r]3hX
	r^3†r_3jLX="Report an error from an in-line or explicit case statement."r`3†ra3hX

	rb3†rc3j!Xselfrd3†re3hj½†rf3jKXerror:rg3†rh3hj½†ri3j˜X)'Case not found, and no otherwise clause'rj3†rk3jóX! !rl3†rm3hX

rn3†ro3jój¹†rp3h‘XObjectrq3†rr3jóX
 methodsFor: rs3†rt3j˜X'error handling'ru3†rv3jóX stamp: 'rbb 3/1/2005 09:26'!rw3†rx3hjì†ry3jKXconfirm:rz3†r{3hj½†r|3h¨XqueryStringr}3†r~3hX
	r3†r€3jLX "Put up a yes/no menu with caption queryString. Answer true if the 
	response is yes, false if no. This is a modal question--the user must 
	respond yes or no."r3†r‚3hX

	rƒ3†r„3jLX "nil confirm: 'Are you hungry?'"r…3†r†3hX

	r‡3†rˆ3hLj;†r‰3hj½†rŠ3h‘X	UIManagerr‹3†rŒ3hj½†r3jKXdefaultrŽ3†r3hj½†r3jKXconfirm:r‘3†r’3hj½†r“3h¨XqueryStringr”3†r•3jóX! !r–3†r—3hX

r˜3†r™3jój¹†rš3h‘XObjectr›3†rœ3jóX
 methodsFor: r3†rž3j˜X'error handling'rŸ3†r 3jóX stamp: 'rbb 3/1/2005 09:27'!r¡3†r¢3hjì†r£3jKXconfirm:r¤3†r¥3hj½†r¦3h¨XaStringr§3†r¨3hj½†r©3jKX	orCancel:rª3†r«3hj½†r¬3h¨XcancelBlockr­3†r®3hX
	r¯3†r°3jLXÐ"Put up a yes/no/cancel menu with caption aString. Answer true if  
	the response is yes, false if no. If cancel is chosen, evaluate  
	cancelBlock. This is a modal question--the user must respond yes or no."r±3†r²3hX

	r³3†r´3hLj;†rµ3hj½†r¶3h‘X	UIManagerr·3†r¸3hj½†r¹3jKXdefaultrº3†r»3hj½†r¼3jKXconfirm:r½3†r¾3hj½†r¿3h¨XaStringrÀ3†rÁ3hj½†rÂ3jKX	orCancel:rÃ3†rÄ3hj½†rÅ3h¨XcancelBlockrÆ3†rÇ3jóX! !rÈ3†rÉ3hX

rÊ3†rË3jój¹†rÌ3h‘XObjectrÍ3†rÎ3jóX
 methodsFor: rÏ3†rÐ3j˜X'error handling'rÑ3†rÒ3jóX stamp: 'dew 10/6/2003 18:20'!rÓ3†rÔ3hjì†rÕ3jKXdeprecated:rÖ3†r×3hj½†rØ3h¨XanExplanationStringrÙ3†rÚ3hX
	rÛ3†rÜ3jLX3"Warn that the sending method has been deprecated."rÝ3†rÞ3hX

	rß3†rà3h‘XPreferencesrá3†râ3hj½†rã3jKXshowDeprecationWarningsrä3†rå3hj½†ræ3jXifTrue:rç3†rè3hX
		ré3†rê3hj[†rë3h‘XDeprecationrì3†rí3hj½†rî3jKXsignal:rï3†rð3hj½†rñ3j!XthisContextrò3†ró3hj½†rô3jKXsenderrõ3†rö3hj½†r÷3jKXprintStringrø3†rù3jKj)	†rú3hj½†rû3j˜X' has been deprecated. 'rü3†rý3jKj)	†rþ3hj½†rÿ3h¨XanExplanationStringr4†r4hje†r4jóX! !r4†r4hX

r4†r4jój¹†r4h‘XObjectr4†r	4jóX
 methodsFor: r
4†r4j˜X'error handling'r4†r
4jóX stamp: 'dew 10/7/2003 00:26'!r4†r4hjì†r4jKXdeprecated:r4†r4hj½†r4h¨XanExplanationStringr4†r4hj½†r4jKXblock:r4†r4hj½†r4h¨XaBlockr4†r4hX 
	 r4†r4jLX‘"Warn that the sender has been deprecated.  Answer the value of aBlock on resumption.  (Note that #deprecated: is usually the preferred method.)"r4†r4hX

	r 4†r!4h‘XPreferencesr"4†r#4hj½†r$4jKXshowDeprecationWarningsr%4†r&4hj½†r'4jXifTrue:r(4†r)4hX
		r*4†r+4hj[†r,4h‘XDeprecationr-4†r.4hX
			r/4†r04jKXsignal:r14†r24hj½†r34j!XthisContextr44†r54hj½†r64jKXsenderr74†r84hj½†r94jKXprintStringr:4†r;4jKj)	†r<4hj½†r=4j˜X' has been deprecated. 'r>4†r?4jKj)	†r@4hj½†rA4h¨XanExplanationStringrB4†rC4hje†rD4j©jþ†rE4hX
	rF4†rG4hLj;†rH4hj½†rI4h¨XaBlockrJ4†rK4hj½†rL4jKXvaluerM4†rN4j©jþ†rO4hjì†rP4jóX! !rQ4†rR4hX

rS4†rT4jój¹†rU4h‘XObjectrV4†rW4jóX
 methodsFor: rX4†rY4j˜X'error handling'rZ4†r[4jóX stamp: 'md 2/22/2006 21:21'!r\4†r]4hjì†r^4jKXdoesNotUnderstand:r_4†r`4hj½†ra4h¨XaMessagerb4†rc4hX 
	 rd4†re4jLXü"Handle the fact that there was an attempt to send the given message to the receiver but the receiver does not understand this message (typically sent from the machine when a message is sent to the receiver and no method is defined for that selector)."rf4†rg4hX
	rh4†ri4jLX"Testing: (3 activeProcess)"rj4†rk4hX

	rl4†rm4h‘XMessageNotUnderstoodrn4†ro4hj½†rp4jXnewrq4†rr4hX 
		rs4†rt4jKXmessage:ru4†rv4hj½†rw4h¨XaMessagerx4†ry4j©j†rz4hX
		r{4†r|4jKX	receiver:r}4†r~4hj½†r4j!Xselfr€4†r4j©j†r‚4hX
		rƒ4†r„4jKXsignalr…4†r†4j©jþ†r‡4hX
	rˆ4†r‰4hLj;†rŠ4hj½†r‹4h¨XaMessagerŒ4†r4hj½†rŽ4jKXsentTo:r4†r4hj½†r‘4j!Xselfr’4†r“4j©jþ†r”4hjì†r•4jóX! !r–4†r—4hX

r˜4†r™4jój¹†rš4h‘XObjectr›4†rœ4jóX
 methodsFor: r4†rž4j˜X'error handling'rŸ4†r 4jóX stamp: 'TRee 11/4/2003 16:47'!r¡4†r¢4hjì†r£4jKX	dpsTrace:r¤4†r¥4hj½†r¦4h¨XreportObjectr§4†r¨4hX  
	r©4†rª4h‘X
Transcriptr«4†r¬4hj½†r­4jKXmyDependentsr®4†r¯4hj½†r°4jKXisNilr±4†r²4hj½†r³4jXifTrue:r´4†rµ4hj½†r¶4hj[†r·4hLj;†r¸4j!Xselfr¹4†rº4hje†r»4j©jþ†r¼4hX
	r½4†r¾4j!Xselfr¿4†rÀ4hj½†rÁ4jKX	dpsTrace:rÂ4†rÃ4e(hj½†rÄ4h¨XreportObjectrÅ4†rÆ4hj½†rÇ4jKXlevels:rÈ4†rÉ4hj½†rÊ4j;jà†rË4hj½†rÌ4jKXwithContext:rÍ4†rÎ4hj½†rÏ4j!XthisContextrÐ4†rÑ4hX
		
rÒ4†rÓ4jLX" nil dpsTrace: 'sludder'. "rÔ4†rÕ4jóX! !rÖ4†r×4hX

rØ4†rÙ4jój¹†rÚ4h‘XObjectrÛ4†rÜ4jóX
 methodsFor: rÝ4†rÞ4j˜X'error handling'rß4†rà4jóX stamp: 'TRee 11/4/2003 16:49'!rá4†râ4hjì†rã4jKX	dpsTrace:rä4†rå4hj½†ræ4h¨XreportObjectrç4†rè4hj½†ré4jKXlevels:rê4†rë4hj½†rì4h¨XanIntrí4†rî4hX
	rï4†rð4j!Xselfrñ4†rò4hj½†ró4jKX	dpsTrace:rô4†rõ4hj½†rö4h¨XreportObjectr÷4†rø4hj½†rù4jKXlevels:rú4†rû4hj½†rü4h¨XanIntrý4†rþ4hj½†rÿ4jKXwithContext:r5†r5hj½†r5j!XthisContextr5†r5hX

r5†r5jLX5"(1 to: 3) do: [:int | nil dpsTrace: int levels: 5.]"r5†r5jóX! !r	5†r
5hX

r5†r5jój¹†r
5h‘XObjectr5†r5jóX
 methodsFor: r5†r5j˜X'error handling'r5†r5jóX stamp: 'TRee 11/4/2003 17:02'!r5†r5hjì†r5jKX	dpsTrace:r5†r5hj½†r5h¨XreportObjectr5†r5hj½†r5jKXlevels:r5†r5hj½†r5h¨XanIntr 5†r!5hj½†r"5jKXwithContext:r#5†r$5hj½†r%5h¨XcurrentContextr&5†r'5hX
	r(5†r)5hLjµ†r*5h¨X# reportString context displayCount r+5†r,5hLjµ†r-5hX
	r.5†r/5h¨XreportStringr05†r15hj½†r25hLX:=r35†r45hj½†r55hjĆr65h¨XreportObjectr75†r85hj½†r95jKXrespondsTo:r:5†r;5hj½†r<5j´X	#asStringr=5†r>5hj߆r?5hX 
			r@5†rA5jXifTrue:rB5†rC5hj½†rD5hj[†rE5h¨XreportObjectrF5†rG5hj½†rH5jKXasStringrI5†rJ5hje†rK5hj½†rL5jXifFalse:rM5†rN5hj½†rO5hj[†rP5h¨XreportObjectrQ5†rR5hj½†rS5jKXprintStringrT5†rU5hje†rV5j©jþ†rW5hX
	rX5†rY5hjĆrZ5h‘X	Smalltalkr[5†r\5hj½†r]5jKXat:r^5†r_5hj½†r`5j´X#Decompilerra5†rb5hj½†rc5jKX	ifAbsent:rd5†re5hj½†rf5hj[†rg5j!Xnilrh5†ri5hje†rj5hj߆rk5hX 
	rl5†rm5jKXifNil:rn5†ro5hX 
		rp5†rq5hj[†rr5h‘X
Transcriptrs5†rt5hj½†ru5jKXcrrv5†rw5j©j†rx5hj½†ry5jKXshow:rz5†r{5hj½†r|5h¨XreportStringr}5†r~5hje†r5hX
	r€5†r5jKX	ifNotNil:r‚5†rƒ5hX
		r„5†r…5hj[†r†5h¨Xcontextr‡5†rˆ5hj½†r‰5hLX:=rŠ5†r‹5hj½†rŒ5h¨XcurrentContextr5†rŽ5j©jþ†r5hX
		r5†r‘5h¨XdisplayCountr’5†r“5hj½†r”5hLX:=r•5†r–5hj½†r—5h¨XanIntr˜5†r™5hj½†rš5jKji†r›5hj½†rœ5j;jà†r5j©jþ†rž5hX
		rŸ5†r 5j;jà†r¡5hj½†r¢5jKXto:r£5†r¤5hj½†r¥5h¨XanIntr¦5†r§5hj½†r¨5jKXdo:r©5†rª5hX
			r«5†r¬5hj[†r­5hLjî†r®5h¨Xcountr¯5†r°5hj½†r±5hLjµ†r²5hX
			r³5†r´5h‘X
Transcriptrµ5†r¶5hj½†r·5jKXcrr¸5†r¹5j©jþ†rº5hX
			r»5†r¼5h¨XdisplayCountr½5†r¾5hX
				r¿5†rÀ5jXifTrue:rÁ5†rÂ5hj½†rÃ5hj[†rÄ5h‘X
TranscriptrÅ5†rÆ5hj½†rÇ5jKXshow:rÈ5†rÉ5hj½†rÊ5h¨XcountrË5†rÌ5hj½†rÍ5jKXprintStringrÎ5†rÏ5jKj)	†rÐ5hj½†rÑ5j˜X': 'rÒ5†rÓ5hje†rÔ5j©jþ†rÕ5hX
			
			rÖ5†r×5h¨XreportStringrØ5†rÙ5hj½†rÚ5jKXnotNilrÛ5†rÜ5hX
			rÝ5†rÞ5jXifTrue:rß5†rà5hX
				rá5†râ5hj[†rã5h‘X
Transcripträ5†rå5hj½†ræ5jKXshow:rç5†rè5hj½†ré5h¨Xcontextrê5†rë5hj½†rì5jKXhomerí5†rî5hj½†rï5jKXclassrð5†rñ5hj½†rò5jKXnameró5†rô5hX 
			rõ5†rö5jKj)	†r÷5hj½†rø5j˜X'/'rù5†rú5hj½†rû5jKj)	†rü5hj½†rý5h¨Xcontextrþ5†rÿ5hj½†r6jKXsenderr6†r6hj½†r6jKXselectorr6†r6jKj)	†r6hX  r6†r6j˜X' ('r	6†r
6hj½†r6jKj)	†r6hj½†r
6h¨XreportStringr6†r6hj½†r6jKj)	†r6hj½†r6j˜X')'r6†r6j©jþ†r6hX
				r6†r6h¨Xcontextr6†r6hj½†r6hLX:=r6†r6hj½†r6h¨Xcontextr6†r6hj½†r 6jKXsenderr!6†r"6j©jþ†r#6hX
				r$6†r%6h¨XreportStringr&6†r'6hj½†r(6hLX:=r)6†r*6hj½†r+6j!Xnilr,6†r-6hje†r.6hX
			r/6†r06jXifFalse:r16†r26hX
				r36†r46hj[†r56hjĆr66h¨Xcontextr76†r86hj½†r96jKXnotNilr:6†r;6hj½†r<6jKXand:r=6†r>6hj½†r?6hj[†r@6hjĆrA6h¨XcontextrB6†rC6hj½†rD6hLX:=rE6†rF6hj½†rG6h¨XcontextrH6†rI6hj½†rJ6jKXsenderrK6†rL6hj߆rM6hj½†rN6jKXnotNilrO6†rP6hje†rQ6hj߆rR6hX
				rS6†rT6jXifTrue:rU6†rV6hj½†rW6hj[†rX6h‘X
TranscriptrY6†rZ6hj½†r[6jKXshow:r\6†r]6hj½†r^6h¨Xcontextr_6†r`6hj½†ra6jKXreceiverrb6†rc6hj½†rd6jKXclassre6†rf6hj½†rg6jKXnamerh6†ri6hj½†rj6jKj)	†rk6hj½†rl6j˜X'/'rm6†rn6hj½†ro6jKj)	†rp6hj½†rq6h¨Xcontextrr6†rs6hj½†rt6jKXselectorru6†rv6hje†rw6hje†rx6hje†ry6j©jþ†rz6hX
		r{6†r|6jLX"Transcript cr"r}6†r~6hje†r6j©jþ†r€6jóX! !r6†r‚6hX

rƒ6†r„6jój¹†r…6h‘XObjectr†6†r‡6jóX
 methodsFor: rˆ6†r‰6j˜X'error handling'rŠ6†r‹6jóX stamp: 'md 8/2/2005 22:17'!rŒ6†r6hjì†rŽ6jKXerrorr6†r6hX
	r‘6†r’6jLX""Throw a generic Error exception."r“6†r”6hX

	r•6†r–6hLj;†r—6j!Xselfr˜6†r™6hj½†rš6jKXerror:r›6†rœ6hj½†r6j˜X	'Error!!'rž6†rŸ6j©jþ†r 6jóX! !r¡6†r¢6hX

r£6†r¤6jój¹†r¥6h‘XObjectr¦6†r§6jóX
 methodsFor: r¨6†r©6j˜X'error handling'rª6†r«6jóX stamp: 'tfei 4/12/1999 12:55'!r¬6†r­6hjì†r®6jKXerror:r¯6†r°6hj½†r±6h¨XaStringr²6†r³6hX 
	r´6†rµ6jLX""Throw a generic Error exception."r¶6†r·6hX

	r¸6†r¹6hLj;†rº6h‘XErrorr»6†r¼6hj½†r½6jXnewr¾6†r¿6hj½†rÀ6jKXsignal:rÁ6†rÂ6hj½†rÃ6h¨XaStringrÄ6†rÅ6jóX! !rÆ6†rÇ6hX

rÈ6†rÉ6jój¹†rÊ6h‘XObjectrË6†rÌ6jóX
 methodsFor: rÍ6†rÎ6j˜X'error handling'rÏ6†rÐ6jóX stamp: 'al 9/16/2005 14:12'!rÑ6†rÒ6hjì†rÓ6jKXexplicitRequirementrÔ6†rÕ6hX
	rÖ6†r×6j!XselfrØ6†rÙ6hj½†rÚ6jKXerror:rÛ6†rÜ6hj½†rÝ6j˜X'Explicitly required method'rÞ6†rß6jóX! !rà6†rá6hX

râ6†rã6jój¹†rä6h‘XObjectrå6†ræ6jóX
 methodsFor: rç6†rè6j˜X'error handling'ré6†rê6jóX stamp: 'al 2/13/2006 22:20'!rë6†rì6hjì†rí6jKXhaltrî6†rï6hX
	rð6†rñ6jLX"This is the typical message to use for inserting breakpoints during 
	debugging. It behaves like halt:, but does not call on halt: in order to 
	avoid putting this message on the stack. Halt is especially useful when 
	the breakpoint message is an arbitrary one."rò6†ró6hX

	rô6†rõ6h‘XHaltrö6†r÷6hj½†rø6jKXsignalrù6†rú6jóX! !rû6†rü6hX

rý6†rþ6jój¹†rÿ6h‘XObjectr7†r7jóX
 methodsFor: r7†r7j˜X'error handling'r7†r7jóX stamp: 'tfei 4/12/1999 12:59'!r7†r7hjì†r7jKXhalt:r	7†r
7hj½†r7h¨XaStringr7†r
7hX 
	r7†r7jLX¢"This is the typical message to use for inserting breakpoints during 
	debugging. It creates and schedules a Notifier with the argument, 
	aString, as the label."r7†r7hX
	
	r7†r7h‘XHaltr7†r7hj½†r7jXnewr7†r7hj½†r7jKXsignal:r7†r7hj½†r7h¨XaStringr7†r7jóX! !r7†r 7hX

r!7†r"7jój¹†r#7h‘XObjectr$7†r%7jóX
 methodsFor: r&7†r'7j˜X'error handling'r(7†r)7jóX stamp: 'md 1/20/2006 16:24'!r*7†r+7hjì†r,7jKXhandles:r-7†r.7hj½†r/7h¨X	exceptionr07†r17hX
	r27†r37jLX<"This method exists in case a non exception class is the first arg in an on:do: (for instance using a exception class that is not loaded). We prefer this to raising an error during error handling itself. Also, semantically it makes sense that the exception handler is not active if its exception class is not loaded"r47†r57hX

	r67†r77hLj;†r87hj½†r97j!Xfalser:7†r;7jóX! !r<7†r=7hX

r>7†r?7jój¹†r@7h‘XObjectrA7†rB7jóX
 methodsFor: rC7†rD7j˜X'error handling'rE7†rF7jóX stamp: 'ar 9/27/2005 20:24'!rG7†rH7hjì†rI7jKXnotifyWithLabel:rJ7†rK7hj½†rL7h¨XaStringrM7†rN7hX 
	rO7†rP7jLX¨"Create and schedule a Notifier with aString as the window label as well as the contents of the window, in  order to request confirmation before a process can proceed."rQ7†rR7hX

	rS7†rT7h‘XToolSetrU7†rV7hX
		rW7†rX7jKX
debugContext:rY7†rZ7hj½†r[7j!XthisContextr\7†r]7hX
		r^7†r_7jKXlabel:r`7†ra7hj½†rb7h¨XaStringrc7†rd7hX
		re7†rf7jKX	contents:rg7†rh7hj½†ri7h¨XaStringrj7†rk7hX

	rl7†rm7jLX1"nil notifyWithLabel: 'let us see if this works'"rn7†ro7jóX! !rp7†rq7hX

rr7†rs7jój¹†rt7h‘XObjectru7†rv7jóX
 methodsFor: rw7†rx7j˜X'error handling'ry7†rz7jóX stamp: 'hg 10/2/2001 20:49'!r{7†r|7hjì†r}7jKXnotify:r~7†r7hj½†r€7h¨XaStringr7†r‚7hX 
	rƒ7†r„7jLX‚"Create and schedule a Notifier with the argument as the message in 
	order to request confirmation before a process can proceed."r…7†r†7hX

	r‡7†rˆ7h‘XWarningr‰7†rŠ7hj½†r‹7jKXsignal:rŒ7†r7hj½†rŽ7h¨XaStringr7†r7hX

	r‘7†r’7jLX$"nil notify: 'confirmation message'"r“7†r”7jóX! !r•7†r–7hX

r—7†r˜7jój¹†r™7h‘XObjectrš7†r›7jóX
 methodsFor: rœ7†r7j˜X'error handling'rž7†rŸ7jój¹†r 7hjì†r¡7jKXnotify:r¢7†r£7hj½†r¤7h¨XaStringr¥7†r¦7hj½†r§7jKXat:r¨7†r©7hj½†rª7h¨Xlocationr«7†r¬7hX
	r­7†r®7jLXØ"Create and schedule a Notifier with the argument as the message in 
	order to request confirmation before a process can proceed. Subclasses can
	override this and insert an error message at location within aString."r¯7†r°7hX

	r±7†r²7j!Xselfr³7†r´7hj½†rµ7jKXnotify:r¶7†r·7hj½†r¸7h¨XaStringr¹7†rº7hX

	r»7†r¼7jLX+"nil notify: 'confirmation message' at: 12"r½7†r¾7jóX! !r¿7†rÀ7hX

rÁ7†rÂ7jój¹†rÃ7h‘XObjectrÄ7†rÅ7jóX
 methodsFor: rÆ7†rÇ7j˜X'error handling'rÈ7†rÉ7jój¹†rÊ7hjì†rË7jKXprimitiveFailedrÌ7†rÍ7hX
	rÎ7†rÏ7jLX["Announce that a primitive has failed and there is no appropriate 
	Smalltalk code to run."rÐ7†rÑ7hX

	rÒ7†rÓ7j!XselfrÔ7†rÕ7hj½†rÖ7jKXerror:r×7†rØ7hj½†rÙ7j˜X'a primitive has failed'rÚ7†rÛ7jóX! !rÜ7†rÝ7hX

rÞ7†rß7jój¹†rà7h‘XObjectrá7†râ7jóX
 methodsFor: rã7†rä7j˜X'error handling'rå7†ræ7jóX stamp: 'al 9/16/2005 14:12'!rç7†rè7hjì†ré7jKXrequirementrê7†rë7hX
	rì7†rí7j!Xselfrî7†rï7hj½†rð7jKXerror:rñ7†rò7hj½†ró7j˜X'Implicitly required method'rô7†rõ7jóX! !rö7†r÷7hX

rø7†rù7jój¹†rú7h‘XObjectrû7†rü7jóX
 methodsFor: rý7†rþ7j˜X'error handling'rÿ7†r8jóX stamp: 'AFi 2/8/2003 22:52'!r8†r8hjì†r8jKXshouldBeImplementedr8†r8hX
	r8†r8jLX2"Announce that this message should be implemented"r8†r	8hX

	r
8†r8j!Xselfr8†r
8hj½†r8jKXerror:r8†r8hj½†r8j˜X$'This message should be implemented'r8†r8jóX! !r8†r8hX

r8†r8jój¹†r8h‘XObjectr8†r8jóX
 methodsFor: r8†r8j˜X'error handling'r8†r8jój¹†r8hjì†r 8jKXshouldNotImplementr!8†r"8hX
	r#8†r$8jLX["Announce that, although the receiver inherits this message, it should 
	not implement it."r%8†r&8hX

	r'8†r(8j!Xselfr)8†r*8hj½†r+8jKXerror:r,8†r-8hj½†r.8j˜X1'This message is not appropriate for this object'r/8†r08jóX! !r18†r28hX

r38†r48jój¹†r58h‘XObjectr68†r78jóX
 methodsFor: r88†r98j˜X'error handling'r:8†r;8jóX stamp: 'md 2/17/2006 12:02'!r<8†r=8hjì†r>8jKXsubclassResponsibilityr?8†r@8hX
	rA8†rB8jLX"This message sets up a framework for the behavior of the class' subclasses.
	Announce that the subclass should have implemented this message."rC8†rD8hX

	rE8†rF8j!XselfrG8†rH8hj½†rI8jKXerror:rJ8†rK8hj½†rL8j˜X%'My subclass should have overridden 'rM8†rN8jKj)	†rO8hj½†rP8j!XthisContextrQ8†rR8hj½†rS8jKXsenderrT8†rU8hj½†rV8jKXselectorrW8†rX8hj½†rY8jKXprintStringrZ8†r[8jóX! !r\8†r]8hX

r^8†r_8jój¹†r`8h‘XObjectra8†rb8jóX
 methodsFor: rc8†rd8j˜X'error handling're8†rf8jóX stamp: 'al 12/16/2003 16:16'!rg8†rh8hjì†ri8jKX
traitConflictrj8†rk8hX
	rl8†rm8j!Xselfrn8†ro8hj½†rp8jKXerror:rq8†rr8hj½†rs8j˜XX'A class or trait does not properly resolve a conflict between multiple traits it uses.'rt8†ru8jóX! !rv8†rw8hX


rx8†ry8jój¹†rz8h‘XObjectr{8†r|8jóX
 methodsFor: r}8†r~8j˜X'evaluating'r8†r€8jóX" stamp: 'reThink 3/12/2001 18:14'!r8†r‚8hjì†rƒ8jKXvaluer„8†r…8hjì†r†8hX
	r‡8†rˆ8hLj;†r‰8j!XselfrŠ8†r‹8jóX! !rŒ8†r8hX

rŽ8†r8jój¹†r8h‘XObjectr‘8†r’8jóX
 methodsFor: r“8†r”8j˜X'evaluating'r•8†r–8jóX" stamp: 'reThink 2/18/2001 15:23'!r—8†r˜8hjì†r™8jKXvalueWithArguments:rš8†r›8hj½†rœ8h¨XaSequenceOfArgumentsr8†rž8hX

	rŸ8†r 8hLj;†r¡8j!Xselfr¢8†r£8jóX! !r¤8†r¥8hX


r¦8†r§8jój¹†r¨8h‘XObjectr©8†rª8jóX
 methodsFor: r«8†r¬8j˜X'events'r­8†r®8jóX stamp: 'nk 8/27/2003 16:23'!r¯8†r°8hjì†r±8jKXactionsWithReceiver:r²8†r³8hj½†r´8h¨XanObjectrµ8†r¶8hj½†r·8jKX	forEvent:r¸8†r¹8hj½†rº8h¨XanEventSelectorr»8†r¼8hX

	r½8†r¾8hLj;†r¿8hjĆrÀ8j!XselfrÁ8†rÂ8hj½†rÃ8jKXactionSequenceForEvent:rÄ8†rÅ8hj½†rÆ8h¨XanEventSelectorrÇ8†rÈ8hj߆rÉ8hX
                rÊ8†rË8jKXselect:rÌ8†rÍ8hj½†rÎ8hj[†rÏ8hLjî†rÐ8h¨XanActionrÑ8†rÒ8hj½†rÓ8hLjµ†rÔ8hj½†rÕ8h¨XanActionrÖ8†r×8hj½†rØ8jKXreceiverrÙ8†rÚ8hj½†rÛ8jKX==rÜ8†rÝ8hj½†rÞ8h¨XanObjectrß8†rà8hj½†rá8hje†râ8jóX! !rã8†rä8hX

rå8†ræ8jój¹†rç8h‘XObjectrè8†ré8jóX
 methodsFor: rê8†rë8j˜X'events'rì8†rí8jóX stamp: 'nk 8/27/2003 17:45'!rî8†rï8hjì†rð8jKXrenameActionsWithReceiver:rñ8†rò8hj½†ró8h¨XanObjectrô8†rõ8hj½†rö8jKX	forEvent:r÷8†rø8hj½†rù8h¨XanEventSelectorrú8†rû8hj½†rü8jKXtoEvent:rý8†rþ8hj½†rÿ8h¨XnewEventr9†r9hX

	r9†r9hLjµ†r9h¨X oldActions newActions r9†r9hLjµ†r9hX
	r9†r	9h¨X
oldActionsr
9†r9hj½†r9hLj¸†r
9hj½†r9h‘XSetr9†r9hj½†r9jXnewr9†r9j©jþ†r9hX
	r9†r9h¨X
newActionsr9†r9hj½†r9hLj¸†r9hj½†r9h‘XSetr9†r9hj½†r9jXnewr9†r 9j©jþ†r!9hX
	r"9†r#9hjĆr$9j!Xselfr%9†r&9hj½†r'9jKXactionSequenceForEvent:r(9†r)9hj½†r*9h¨XanEventSelectorr+9†r,9hj߆r-9hj½†r.9jKXdo:r/9†r09hj½†r19hj[†r29hj½†r39hLjî†r49h¨Xactionr59†r69hj½†r79hLjµ†r89hX
		r99†r:9h¨Xactionr;9†r<9hj½†r=9jKXreceiverr>9†r?9hj½†r@9jKX==rA9†rB9hj½†rC9h¨XanObjectrD9†rE9hX
			rF9†rG9jXifTrue:rH9†rI9hj½†rJ9hj[†rK9hj½†rL9h¨X
oldActionsrM9†rN9hj½†rO9jKXadd:rP9†rQ9hj½†rR9h¨XanObjectrS9†rT9hj½†rU9hje†rV9hX
			rW9†rX9jXifFalse:rY9†rZ9hj½†r[9hj[†r\9hj½†r]9h¨X
newActionsr^9†r_9hj½†r`9jKXadd:ra9†rb9hj½†rc9h¨XanObjectrd9†re9hj½†rf9hje†rg9hje†rh9j©jþ†ri9hX
	rj9†rk9j!Xselfrl9†rm9hj½†rn9jKXsetActionSequence:ro9†rp9hj½†rq9hjĆrr9h‘XActionSequencers9†rt9hj½†ru9jKXwithAll:rv9†rw9hj½†rx9h¨X
newActionsry9†rz9hj߆r{9hj½†r|9jKX	forEvent:r}9†r~9hj½†r9h¨XanEventSelectorr€9†r9j©jþ†r‚9hX
	rƒ9†r„9h¨X
oldActionsr…9†r†9hj½†r‡9jKXdo:rˆ9†r‰9hj½†rŠ9hj[†r‹9hj½†rŒ9hLjî†r9h¨XactrŽ9†r9hj½†r9hLjµ†r‘9hj½†r’9j!Xselfr“9†r”9hj½†r•9jKXwhen:r–9†r—9hj½†r˜9h¨XnewEventr™9†rš9hj½†r›9jKX	evaluate:rœ9†r9hj½†rž9h¨XactrŸ9†r 9hj½†r¡9hje†r¢9j©jþ†r£9jóX! !r¤9†r¥9hX


r¦9†r§9jój¹†r¨9h‘XObjectr©9†rª9jóX
 methodsFor: r«9†r¬9j˜X'events-accessing'r­9†r®9jóX stamp: 'nk 12/20/2002 17:48'!r¯9†r°9hjì†r±9jKXactionForEvent:r²9†r³9hj½†r´9h¨XanEventSelectorrµ9†r¶9hX
    r·9†r¸9jLXN"Answer the action to be evaluated when <anEventSelector> has been triggered."r¹9†rº9hX

	r»9†r¼9hLjµ†r½9h¨X	 actions r¾9†r¿9hLjµ†rÀ9hX
	rÁ9†rÂ9h¨XactionsrÃ9†rÄ9hj½†rÅ9hLX:=rÆ9†rÇ9hj½†rÈ9j!XselfrÉ9†rÊ9hj½†rË9jKX	actionMaprÌ9†rÍ9hX
		rÎ9†rÏ9jKXat:rÐ9†rÑ9hj½†rÒ9h¨XanEventSelectorrÓ9†rÔ9hj½†rÕ9jKXasSymbolrÖ9†r×9hX
		rØ9†rÙ9jKX	ifAbsent:rÚ9†rÛ9hj½†rÜ9hj[†rÝ9j!XnilrÞ9†rß9hje†rà9j©jþ†rá9hX
	râ9†rã9h¨Xactionsrä9†rå9hj½†ræ9jKXifNil:rç9†rè9hj½†ré9hj[†rê9hLj;†rë9j!Xnilrì9†rí9hje†rî9j©jþ†rï9hX
	rð9†rñ9hLj;†rò9hj½†ró9h¨Xactionsrô9†rõ9hj½†rö9jKXasMinimalRepresentationr÷9†rø9jóX! !rù9†rú9hX

rû9†rü9jój¹†rý9h‘XObjectrþ9†rÿ9jóX
 methodsFor: r:†r:j˜X'events-accessing'r:†r:jóX stamp: 'nk 12/20/2002 17:48'!r:†r:hjì†r:jKXactionForEvent:r:†r:hj½†r	:h¨XanEventSelectorr
:†r:hjì†r:jKX	ifAbsent:r
:†r:hj½†r:h¨XanExceptionBlockr:†r:hX
    r:†r:jLXN"Answer the action to be evaluated when <anEventSelector> has been triggered."r:†r:hX

	r:†r:hLjµ†r:h¨X	 actions r:†r:hLjµ†r:hX
	r:†r:h¨Xactionsr:†r:hj½†r :hLX:=r!:†r":hj½†r#:j!Xselfr$:†r%:hj½†r&:jKX	actionMapr':†r(:hX
		r):†r*:jKXat:r+:†r,:hj½†r-:h¨XanEventSelectorr.:†r/:hj½†r0:jKXasSymbolr1:†r2:hX
		r3:†r4:jKX	ifAbsent:r5:†r6:hj½†r7:hj[†r8:j!Xnilr9:†r::hje†r;:j©jþ†r<:hX
	r=:†r>:h¨Xactionsr?:†r@:hj½†rA:jKXifNil:rB:†rC:hj½†rD:hj[†rE:hLj;†rF:h¨XanExceptionBlockrG:†rH:hj½†rI:jKXvaluerJ:†rK:hje†rL:j©jþ†rM:hX
	rN:†rO:hLj;†rP:hj½†rQ:h¨XactionsrR:†rS:hj½†rT:jKXasMinimalRepresentationrU:†rV:jóX! !rW:†rX:hX

rY:†rZ:jój¹†r[:h‘XObjectr\:†r]:jóX
 methodsFor: r^:†r_:j˜X'events-accessing'r`:†ra:jóX" stamp: 'reThink 2/18/2001 14:43'!rb:†rc:hjì†rd:jKX	actionMapre:†rf:hjì†rg:hX
	rh:†ri:hLj;†rj:h‘XEventManagerrk:†rl:hj½†rm:jKX
actionMapFor:rn:†ro:hj½†rp:j!Xselfrq:†rr:jóX! !rs:†rt:hX

ru:†rv:jój¹†rw:h‘XObjectrx:†ry:jóX
 methodsFor: rz:†r{:j˜X'events-accessing'r|:†r}:jóX stamp: 'rw 4/27/2002 08:35'!r~:†r:hjì†r€:jKXactionSequenceForEvent:r:†r‚:hj½†rƒ:h¨XanEventSelectorr„:†r…:hX

    r†:†r‡:hLj;†rˆ:hjĆr‰:j!XselfrŠ:†r‹:hj½†rŒ:jKX	actionMapr:†rŽ:hX	
        r:†r:jKXat:r‘:†r’:hj½†r“:h¨XanEventSelectorr”:†r•:hj½†r–:jKXasSymbolr—:†r˜:hX	
        r™:†rš:jKX	ifAbsent:r›:†rœ:hj½†r:hj[†rž:hLj;†rŸ:h‘XWeakActionSequencer :†r¡:hj½†r¢:jXnewr£:†r¤:hje†r¥:hj߆r¦:hX

            r§:†r¨:jKXasActionSequencer©:†rª:jóX! !r«:†r¬:hX

r­:†r®:jój¹†r¯:h‘XObjectr°:†r±:jóX
 methodsFor: r²:†r³:j˜X'events-accessing'r´:†rµ:jóX stamp: 'SqR 6/28/2001 13:19'!r¶:†r·:hjì†r¸:jKX
actionsDo:r¹:†rº:hj½†r»:h¨XaBlockr¼:†r½:hX

	r¾:†r¿:j!XselfrÀ:†rÁ:hj½†rÂ:jKX	actionMaprÃ:†rÄ:hj½†rÅ:jKXdo:rÆ:†rÇ:hj½†rÈ:h¨XaBlockrÉ:†rÊ:jóX! !rË:†rÌ:hX

rÍ:†rÎ:jój¹†rÏ:h‘XObjectrÐ:†rÑ:jóX
 methodsFor: rÒ:†rÓ:j˜X'events-accessing'rÔ:†rÕ:jóX stamp: 'rw 2/10/2002 13:05'!rÖ:†r×:hjì†rØ:jKXcreateActionMaprÙ:†rÚ:hjì†rÛ:hX
	rÜ:†rÝ:hLj;†rÞ:h‘XIdentityDictionaryrß:†rà:hj½†rá:jXnewrâ:†rã:jóX! !rä:†rå:hX

ræ:†rç:jój¹†rè:h‘XObjectré:†rê:jóX
 methodsFor: rë:†rì:j˜X'events-accessing'rí:†rî:jóX stamp: 'SqR 2/19/2001 14:04'!rï:†rð:hjì†rñ:jKXhasActionForEvent:rò:†ró:hj½†rô:e(h¨XanEventSelectorrõ:†rö:hX
    r÷:†rø:jLXC"Answer true if there is an action associated with anEventSelector"rù:†rú:hX

    rû:†rü:hLj;†rý:hjĆrþ:j!Xselfrÿ:†r;hj½†r;jKXactionForEvent:r;†r;hj½†r;h¨XanEventSelectorr;†r;hj߆r;hj½†r;jKXnotNilr	;†r
;jóX! !r;†r;hX

r
;†r;jój¹†r;h‘XObjectr;†r;jóX
 methodsFor: r;†r;j˜X'events-accessing'r;†r;jóX" stamp: 'reThink 2/18/2001 15:29'!r;†r;hjì†r;jKXsetActionSequence:r;†r;hj½†r;h¨XactionSequencer;†r;hjì†r;jKX	forEvent:r;†r ;hj½†r!;h¨XanEventSelectorr";†r#;hX

    r$;†r%;hLjµ†r&;h¨X action r';†r(;hLjµ†r);hX
    r*;†r+;h¨Xactionr,;†r-;hj½†r.;hLX:=r/;†r0;hj½†r1;h¨XactionSequencer2;†r3;hj½†r4;jKXasMinimalRepresentationr5;†r6;j©jþ†r7;hX
    r8;†r9;h¨Xactionr:;†r;;hj½†r<;jKX==r=;†r>;hj½†r?;j!Xnilr@;†rA;hX	
        rB;†rC;jXifTrue:rD;†rE;hX

            rF;†rG;hj[†rH;j!XselfrI;†rJ;hj½†rK;jKXremoveActionsForEvent:rL;†rM;hj½†rN;h¨XanEventSelectorrO;†rP;hje†rQ;hX	
        rR;†rS;jXifFalse:rT;†rU;hX

            rV;†rW;hj[†rX;j!XselfrY;†rZ;hj½†r[;jKXupdateableActionMapr\;†r];hX
                r^;†r_;jKXat:r`;†ra;hj½†rb;h¨XanEventSelectorrc;†rd;hj½†re;jKXasSymbolrf;†rg;hX
                rh;†ri;jKXput:rj;†rk;hj½†rl;h¨Xactionrm;†rn;hje†ro;jóX! !rp;†rq;hX

rr;†rs;jój¹†rt;h‘XObjectru;†rv;jóX
 methodsFor: rw;†rx;j˜X'events-accessing'ry;†rz;jóX" stamp: 'reThink 2/25/2001 08:50'!r{;†r|;hjì†r};jKXupdateableActionMapr~;†r;hjì†r€;hX
	r;†r‚;hLj;†rƒ;h‘XEventManagerr„;†r…;hj½†r†;jKXupdateableActionMapFor:r‡;†rˆ;hj½†r‰;j!XselfrŠ;†r‹;jóX! !rŒ;†r;hX


rŽ;†r;jój¹†r;h‘XObjectr‘;†r’;jóX
 methodsFor: r“;†r”;j˜X'events-registering'r•;†r–;jóX" stamp: 'reThink 2/18/2001 15:04'!r—;†r˜;hjì†r™;jKXwhen:rš;†r›;hj½†rœ;h¨XanEventSelectorr;†rž;hj½†rŸ;jKX	evaluate:r ;†r¡;hj½†r¢;h¨XanActionr£;†r¤;hX 

	r¥;†r¦;hLjµ†r§;h¨X	 actions r¨;†r©;hLjµ†rª;hX
	r«;†r¬;h¨Xactionsr­;†r®;hj½†r¯;hLX:=r°;†r±;hj½†r²;j!Xselfr³;†r´;hj½†rµ;jKXactionSequenceForEvent:r¶;†r·;hj½†r¸;h¨XanEventSelectorr¹;†rº;j©jþ†r»;hX
	r¼;†r½;hjĆr¾;h¨Xactionsr¿;†rÀ;hj½†rÁ;jKX	includes:rÂ;†rÃ;hj½†rÄ;h¨XanActionrÅ;†rÆ;hj߆rÇ;hX
		rÈ;†rÉ;jXifTrue:rÊ;†rË;hj½†rÌ;hj[†rÍ;hLj;†rÎ;hj½†rÏ;j!XselfrÐ;†rÑ;hje†rÒ;j©jþ†rÓ;hX
	rÔ;†rÕ;j!XselfrÖ;†r×;hX 
		rØ;†rÙ;jKXsetActionSequence:rÚ;†rÛ;hj½†rÜ;hjĆrÝ;h¨XactionsrÞ;†rß;hj½†rà;jKX	copyWith:rá;†râ;hj½†rã;h¨XanActionrä;†rå;hj߆ræ;hX
		rç;†rè;jKX	forEvent:ré;†rê;hj½†rë;h¨XanEventSelectorrì;†rí;jóX! !rî;†rï;hX

rð;†rñ;jój¹†rò;h‘XObjectró;†rô;jóX
 methodsFor: rõ;†rö;j˜X'events-registering'r÷;†rø;jóX stamp: 'rww 12/30/2002 10:37'!rù;†rú;hjì†rû;jKXwhen:rü;†rý;hj½†rþ;h¨XanEventSelectorrÿ;†r<hjì†r<jKXsend:r<†r<hj½†r<h¨XaMessageSelectorr<†r<hjì†r<jKXto:r<†r	<hj½†r
<h¨XanObjectr<†r<hX
 
    r
<†r<j!Xselfr<†r<hX	
        r<†r<jKXwhen:r<†r<hj½†r<h¨XanEventSelectorr<†r<hX	
        r<†r<jKX	evaluate:r<†r<hj½†r<hjĆr<h‘XWeakMessageSendr<†r<hX

            r <†r!<jKX	receiver:r"<†r#<hj½†r$<h¨XanObjectr%<†r&<hX

            r'<†r(<jKX	selector:r)<†r*<hj½†r+<h¨XaMessageSelectorr,<†r-<hj߆r.<jóX! !r/<†r0<hX

r1<†r2<jój¹†r3<h‘XObjectr4<†r5<jóX
 methodsFor: r6<†r7<j˜X'events-registering'r8<†r9<jóX stamp: 'rww 12/30/2002 10:37'!r:<†r;<hjì†r<<jKXwhen:r=<†r><hj½†r?<h¨XanEventSelectorr@<†rA<hjì†rB<jKXsend:rC<†rD<hj½†rE<h¨XaMessageSelectorrF<†rG<hjì†rH<jKXto:rI<†rJ<hj½†rK<h¨XanObjectrL<†rM<hjì†rN<jKXwithArguments:rO<†rP<hj½†rQ<h¨X
anArgArrayrR<†rS<hX
 
    rT<†rU<j!XselfrV<†rW<hX	
        rX<†rY<jKXwhen:rZ<†r[<hj½†r\<h¨XanEventSelectorr]<†r^<hX	
        r_<†r`<jKX	evaluate:ra<†rb<hj½†rc<hjĆrd<h‘XWeakMessageSendre<†rf<hX

            rg<†rh<jKX	receiver:ri<†rj<hj½†rk<h¨XanObjectrl<†rm<hX

            rn<†ro<jKX	selector:rp<†rq<hj½†rr<h¨XaMessageSelectorrs<†rt<hX
		ru<†rv<jKX
arguments:rw<†rx<hj½†ry<h¨X
anArgArrayrz<†r{<hj߆r|<jóX! !r}<†r~<hX

r<†r€<jój¹†r<h‘XObjectr‚<†rƒ<jóX
 methodsFor: r„<†r…<j˜X'events-registering'r†<†r‡<jóX stamp: 'rww 12/30/2002 10:37'!rˆ<†r‰<hjì†rŠ<jKXwhen:r‹<†rŒ<hj½†r<h¨XanEventSelectorrŽ<†r<hjì†r<jKXsend:r‘<†r’<hj½†r“<h¨XaMessageSelectorr”<†r•<hjì†r–<jKXto:r—<†r˜<hj½†r™<h¨XanObjectrš<†r›<hjì†rœ<jKXwith:r<†rž<hj½†rŸ<h¨XanArgr <†r¡<hX
 
    r¢<†r£<j!Xselfr¤<†r¥<hX	
        r¦<†r§<jKXwhen:r¨<†r©<hj½†rª<h¨XanEventSelectorr«<†r¬<hX	
        r­<†r®<jKX	evaluate:r¯<†r°<hj½†r±<hjĆr²<h‘XWeakMessageSendr³<†r´<hX

            rµ<†r¶<jKX	receiver:r·<†r¸<hj½†r¹<h¨XanObjectrº<†r»<hX

            r¼<†r½<jKX	selector:r¾<†r¿<hj½†rÀ<h¨XaMessageSelectorrÁ<†rÂ<hX
		rÃ<†rÄ<jKX
arguments:rÅ<†rÆ<hj½†rÇ<hjĆrÈ<h‘XArrayrÉ<†rÊ<hj½†rË<jKXwith:rÌ<†rÍ<hj½†rÎ<h¨XanArgrÏ<†rÐ<hj߆rÑ<hj߆rÒ<jóX! !rÓ<†rÔ<hX


rÕ<†rÖ<jój¹†r×<h‘XObjectrØ<†rÙ<jóX
 methodsFor: rÚ<†rÛ<j˜X'events-removing'rÜ<†rÝ<jóX" stamp: 'reThink 2/18/2001 15:33'!rÞ<†rß<hjì†rà<jKXreleaseActionMaprá<†râ<hjì†rã<hX
	rä<†rå<h‘XEventManagerræ<†rç<hj½†rè<jKXreleaseActionMapFor:ré<†rê<hj½†rë<j!Xselfrì<†rí<jóX! !rî<†rï<hX

rð<†rñ<jój¹†rò<h‘XObjectró<†rô<jóX
 methodsFor: rõ<†rö<j˜X'events-removing'r÷<†rø<jóX" stamp: 'reThink 2/18/2001 15:33'!rù<†rú<hjì†rû<jKXremoveActionsForEvent:rü<†rý<hj½†rþ<h¨XanEventSelectorrÿ<†r=hX

    r=†r=hLjµ†r=h¨X map r=†r=hLjµ†r=hX
    r=†r=h¨Xmapr	=†r
=hj½†r=hLX:=r=†r
=hj½†r=j!Xselfr=†r=hj½†r=jKX	actionMapr=†r=j©jþ†r=hX
    r=†r=h¨Xmapr=†r=hj½†r=jKX
removeKey:r=†r=hj½†r=h¨XanEventSelectorr=†r=hj½†r=jKXasSymbolr =†r!=hj½†r"=jKX	ifAbsent:r#=†r$=hj½†r%=hj[†r&=hje†r'=j©jþ†r(=hX
    r)=†r*=h¨Xmapr+=†r,=hj½†r-=jKXisEmptyr.=†r/=hX	
        r0=†r1=jXifTrue:r2=†r3=hj½†r4=hj[†r5=j!Xselfr6=†r7=hj½†r8=jKXreleaseActionMapr9=†r:=hje†r;=jóX! !r<=†r==hX

r>=†r?=jój¹†r@=h‘XObjectrA=†rB=jóX
 methodsFor: rC=†rD=j˜X'events-removing'rE=†rF=jóX stamp: 'nk 8/25/2003 21:46'!rG=†rH=hjì†rI=jKXremoveActionsSatisfying:rJ=†rK=hj½†rL=h¨XaBlockrM=†rN=hX

	rO=†rP=j!XselfrQ=†rR=hj½†rS=jKX	actionMaprT=†rU=hj½†rV=jKXkeysrW=†rX=hj½†rY=jKXdo:rZ=†r[=hX
		r\=†r]=hj[†r^=hLjî†r_=h¨XeachEventSelectorr`=†ra=hj½†rb=hLjµ†rc=hX
			rd=†re=j!Xselfrf=†rg=hX
   				rh=†ri=jKXremoveActionsSatisfying:rj=†rk=hj½†rl=h¨XaBlockrm=†rn=hX
				ro=†rp=jKX	forEvent:rq=†rr=hj½†rs=h¨XeachEventSelectorrt=†ru=hX
		rv=†rw=hje†rx=jóX! !ry=†rz=hX

r{=†r|=jój¹†r}=h‘XObjectr~=†r=jóX
 methodsFor: r€=†r=j˜X'events-removing'r‚=†rƒ=jóX" stamp: 'reThink 2/18/2001 15:31'!r„=†r…=hjì†r†=jKXremoveActionsSatisfying:r‡=†rˆ=hj½†r‰=h¨XaOneArgBlockrŠ=†r‹=hX 
rŒ=†r=jKX	forEvent:rŽ=†r=hj½†r=h¨XanEventSelectorr‘=†r’=hX

    r“=†r”=j!Xselfr•=†r–=hX	
        r—=†r˜=jKXsetActionSequence:r™=†rš=hX

            r›=†rœ=hjĆr=hjĆrž=j!XselfrŸ=†r =hj½†r¡=jKXactionSequenceForEvent:r¢=†r£=hj½†r¤=h¨XanEventSelectorr¥=†r¦=hj߆r§=hX
                r¨=†r©=jKXreject:rª=†r«=hj½†r¬=hj[†r­=hLjî†r®=h¨XanActionr¯=†r°=hj½†r±=hLjµ†r²=hj½†r³=h¨XaOneArgBlockr´=†rµ=hj½†r¶=jKXvalue:r·=†r¸=hj½†r¹=h¨XanActionrº=†r»=hje†r¼=hj߆r½=hX	
        r¾=†r¿=jKX	forEvent:rÀ=†rÁ=hj½†rÂ=h¨XanEventSelectorrÃ=†rÄ=jóX! !rÅ=†rÆ=hX

rÇ=†rÈ=jój¹†rÉ=h‘XObjectrÊ=†rË=jóX
 methodsFor: rÌ=†rÍ=j˜X'events-removing'rÎ=†rÏ=jóX stamp: 'rw 7/29/2003 17:18'!rÐ=†rÑ=hjì†rÒ=jKXremoveActionsWithReceiver:rÓ=†rÔ=hj½†rÕ=h¨XanObjectrÖ=†r×=hX

	rØ=†rÙ=j!XselfrÚ=†rÛ=hj½†rÜ=jKX	actionMaprÝ=†rÞ=hj½†rß=jKXcopyrà=†rá=hj½†râ=jKXkeysDo:rã=†rä=hX
		rå=†ræ=hj[†rç=hLjî†rè=h¨XeachEventSelectorré=†rê=hj½†rë=hLjµ†rì=hX
			rí=†rî=j!Xselfrï=†rð=hX
   				rñ=†rò=jKXremoveActionsSatisfying:ró=†rô=hj½†rõ=hj[†rö=hLjî†r÷=h¨XanActionrø=†rù=hj½†rú=hLjµ†rû=hj½†rü=h¨XanActionrý=†rþ=hj½†rÿ=jKXreceiverr>†r>hj½†r>jKX==r>†r>hj½†r>h¨XanObjectr>†r>hje†r>hX
				r	>†r
>jKX	forEvent:r>†r>hj½†r
>h¨XeachEventSelectorr>†r>hX
		r>†r>hje†r>jóX! !r>†r>hX

r>†r>jój¹†r>h‘XObjectr>†r>jóX
 methodsFor: r>†r>j˜X'events-removing'r>†r>jóX" stamp: 'reThink 2/18/2001 15:36'!r>†r>hjì†r >jKXremoveActionsWithReceiver:r!>†r">hj½†r#>h¨XanObjectr$>†r%>hjì†r&>jKX	forEvent:r'>†r(>hj½†r)>h¨XanEventSelectorr*>†r+>hX

    r,>†r->j!Xselfr.>†r/>hX	
        r0>†r1>jKXremoveActionsSatisfying:r2>†r3>hX

            r4>†r5>hj[†r6>hLjî†r7>h¨XanActionr8>†r9>hj½†r:>hLjµ†r;>hX

            r<>†r=>h¨XanActionr>>†r?>hj½†r@>jKXreceiverrA>†rB>hj½†rC>jKX==rD>†rE>hj½†rF>h¨XanObjectrG>†rH>hje†rI>hX	
        rJ>†rK>jKX	forEvent:rL>†rM>hj½†rN>h¨XanEventSelectorrO>†rP>jóX! !rQ>†rR>hX

rS>†rT>jój¹†rU>h‘XObjectrV>†rW>jóX
 methodsFor: rX>†rY>j˜X'events-removing'rZ>†r[>jóX" stamp: 'reThink 2/18/2001 15:31'!r\>†r]>hjì†r^>jKX
removeAction:r_>†r`>hj½†ra>h¨XanActionrb>†rc>hjì†rd>jKX	forEvent:re>†rf>hj½†rg>h¨XanEventSelectorrh>†ri>hX

    rj>†rk>j!Xselfrl>†rm>hX	
        rn>†ro>jKXremoveActionsSatisfying:rp>†rq>hj½†rr>hj[†rs>hLjî†rt>h¨Xactionru>†rv>hj½†rw>hLjµ†rx>hj½†ry>h¨Xactionrz>†r{>hj½†r|>jKjþ†r}>hj½†r~>h¨XanActionr>†r€>hje†r>hX	
        r‚>†rƒ>jKX	forEvent:r„>†r…>hj½†r†>h¨XanEventSelectorr‡>†rˆ>jóX! !r‰>†rŠ>hX


r‹>†rŒ>jój¹†r>h‘XObjectrŽ>†r>jóX
 methodsFor: r>†r‘>j˜X'events-triggering'r’>†r“>jóX" stamp: 'reThink 2/18/2001 15:22'!r”>†r•>hjì†r–>jKX
triggerEvent:r—>†r˜>hj½†r™>h¨XanEventSelectorrš>†r›>hX
	rœ>†r>jLXh"Evaluate all actions registered for <anEventSelector>. Return the value of the last registered action."rž>†rŸ>hX

    r >†r¡>hLj;†r¢>hjĆr£>j!Xselfr¤>†r¥>hj½†r¦>jKXactionForEvent:r§>†r¨>hj½†r©>h¨XanEventSelectorrª>†r«>hj߆r¬>hj½†r­>jKXvaluer®>†r¯>jóX! !r°>†r±>hX

r²>†r³>jój¹†r´>h‘XObjectrµ>†r¶>jóX
 methodsFor: r·>†r¸>j˜X'events-triggering'r¹>†rº>jóX" stamp: 'reThink 2/18/2001 17:09'!r»>†r¼>hjì†r½>jKX
triggerEvent:r¾>†r¿>hj½†rÀ>h¨XanEventSelectorrÁ>†rÂ>hjì†rÃ>jKX
ifNotHandled:rÄ>†rÅ>hj½†rÆ>h¨XanExceptionBlockrÇ>†rÈ>hX
	rÉ>†rÊ>jLXh"Evaluate all actions registered for <anEventSelector>. Return the value of the last registered action."rË>†rÌ>hX

    rÍ>†rÎ>hLj;†rÏ>hjĆrÐ>j!XselfrÑ>†rÒ>hX 
		rÓ>†rÔ>jKXactionForEvent:rÕ>†rÖ>hj½†r×>h¨XanEventSelectorrØ>†rÙ>hX
		rÚ>†rÛ>jKX	ifAbsent:rÜ>†rÝ>hj½†rÞ>hj[†rß>hLj;†rà>h¨XanExceptionBlockrá>†râ>hj½†rã>jKXvaluerä>†rå>hje†ræ>hj߆rç>hj½†rè>jKXvalueré>†rê>hjì†rë>jóX! !rì>†rí>hX

rî>†rï>jój¹†rð>h‘XObjectrñ>†rò>jóX
 methodsFor: ró>†rô>j˜X'events-triggering'rõ>†rö>jóX" stamp: 'reThink 2/18/2001 15:21'!r÷>†rø>hjì†rù>jKX
triggerEvent:rú>†rû>hj½†rü>h¨XanEventSelectorrý>†rþ>hjì†rÿ>jKXwithArguments:r?†r?hj½†r?h¨XanArgumentListr?†r?hX

    r?†r?hLj;†r?hjĆr?j!Xselfr	?†r
?hj½†r?jKXactionForEvent:r?†r
?hj½†r?h¨XanEventSelectorr?†r?hj߆r?hX	
        r?†r?jKXvalueWithArguments:r?†r?hj½†r?h¨XanArgumentListr?†r?jóX! !r?†r?hX

r?†r?jój¹†r?h‘XObjectr?†r?jóX
 methodsFor: r ?†r!?j˜X'events-triggering'r"?†r#?jóX" stamp: 'reThink 2/18/2001 15:21'!r$?†r%?hjì†r&?jKX
triggerEvent:r'?†r(?hj½†r)?h¨XanEventSelectorr*?†r+?hjì†r,?jKXwithArguments:r-?†r.?hj½†r/?h¨XanArgumentListr0?†r1?hjì†r2?jKX
ifNotHandled:r3?†r4?hj½†r5?h¨XanExceptionBlockr6?†r7?hX

    r8?†r9?hLj;†r:?hjĆr;?j!Xselfr<?†r=?hX 
		r>?†r??jKXactionForEvent:r@?†rA?hj½†rB?h¨XanEventSelectorrC?†rD?hX
		rE?†rF?jKX	ifAbsent:rG?†rH?hj½†rI?hj[†rJ?hLj;†rK?h¨XanExceptionBlockrL?†rM?hj½†rN?jKXvaluerO?†rP?hje†rQ?hj߆rR?hX	
        rS?†rT?jKXvalueWithArguments:rU?†rV?hj½†rW?h¨XanArgumentListrX?†rY?jóX! !rZ?†r[?hX

r\?†r]?jój¹†r^?h‘XObjectr_?†r`?jóX
 methodsFor: ra?†rb?j˜X'events-triggering'rc?†rd?jóX" stamp: 'reThink 2/18/2001 14:59'!re?†rf?hjì†rg?jKX
triggerEvent:rh?†ri?hj½†rj?h¨XanEventSelectorrk?†rl?hjì†rm?jKXwith:rn?†ro?hj½†rp?h¨XanObjectrq?†rr?hX

    rs?†rt?hLj;†ru?j!Xselfrv?†rw?hX 
		rx?†ry?jKX
triggerEvent:rz?†r{?hj½†r|?h¨XanEventSelectorr}?†r~?hX
		r?†r€?jKXwithArguments:r?†r‚?hj½†rƒ?hjĆr„?h‘XArrayr…?†r†?hj½†r‡?jKXwith:rˆ?†r‰?hj½†rŠ?h¨XanObjectr‹?†rŒ?hj߆r?jóX! !rŽ?†r?hX

r?†r‘?jój¹†r’?h‘XObjectr“?†r”?jóX
 methodsFor: r•?†r–?j˜X'events-triggering'r—?†r˜?jóX" stamp: 'reThink 2/18/2001 14:59'!r™?†rš?hjì†r›?jKX
triggerEvent:rœ?†r?hj½†rž?h¨XanEventSelectorrŸ?†r ?hjì†r¡?jKXwith:r¢?†r£?hj½†r¤?h¨XanObjectr¥?†r¦?hjì†r§?jKX
ifNotHandled:r¨?†r©?hj½†rª?h¨XanExceptionBlockr«?†r¬?hX

    r­?†r®?hLj;†r¯?j!Xselfr°?†r±?hX 
		r²?†r³?jKX
triggerEvent:r´?†rµ?hj½†r¶?h¨XanEventSelectorr·?†r¸?hX
		r¹?†rº?jKXwithArguments:r»?†r¼?hj½†r½?hjĆr¾?h‘XArrayr¿?†rÀ?hj½†rÁ?jKXwith:rÂ?†rÃ?hj½†rÄ?h¨XanObjectrÅ?†rÆ?hj߆rÇ?hX
		rÈ?†rÉ?jKX
ifNotHandled:rÊ?†rË?hj½†rÌ?h¨XanExceptionBlockrÍ?†rÎ?jóX! !rÏ?†rÐ?hX


rÑ?†rÒ?jój¹†rÓ?h‘XObjectrÔ?†rÕ?jóX
 methodsFor: rÖ?†r×?j˜X'filter streaming'rØ?†rÙ?jóX stamp: 'MPW 1/1/1901 00:42'!rÚ?†rÛ?hjì†rÜ?jKXbyteEncode:rÝ?†rÞ?h¨XaStreamrß?†rà?hX
	rá?†râ?j!Xselfrã?†rä?hj½†rå?jKXflattenOnStream:ræ?†rç?h¨XaStreamrè?†ré?j©jþ†rê?hjì†rë?jóX! !rì?†rí?hX

rî?†rï?jój¹†rð?h‘XObjectrñ?†rò?jóX
 methodsFor: ró?†rô?j˜X'filter streaming'rõ?†rö?jój¹†r÷?hjì†rø?jKX
drawOnCanvas:rù?†rú?h¨XaStreamrû?†rü?hX
	rý?†rþ?j!Xselfrÿ?†r@hj½†r@jKXflattenOnStream:r@†r@h¨XaStreamr@†r@j©jþ†r@hjì†r@jóX! !r@†r	@hX

r
@†r@jój¹†r@h‘XObjectr
@†r@jóX
 methodsFor: r@†r@j˜X'filter streaming'r@†r@jóX stamp: 'MPW 1/1/1901 01:31'!r@†r@hjì†r@jKXelementSeparatorr@†r@hX
	r@†r@hLj;†r@j!Xnilr@†r@j©jþ†r@jóX! !r@†r@hX

r @†r!@jój¹†r"@h‘XObjectr#@†r$@jóX
 methodsFor: r%@†r&@j˜X'filter streaming'r'@†r(@jój¹†r)@hjì†r*@jKXencodePostscriptOn:r+@†r,@h¨XaStreamr-@†r.@hX
	r/@†r0@j!Xselfr1@†r2@hj½†r3@jKXbyteEncode:r4@†r5@h¨XaStreamr6@†r7@j©jþ†r8@hjì†r9@jóX! !r:@†r;@hX

r<@†r=@jój¹†r>@h‘XObjectr?@†r@@jóX
 methodsFor: rA@†rB@j˜X'filter streaming'rC@†rD@jóX stamp: 'MPW 1/1/1901 00:07'!rE@†rF@hjì†rG@jKXflattenOnStream:rH@†rI@h¨XaStreamrJ@†rK@hX
	rL@†rM@j!XselfrN@†rO@hj½†rP@jKXwriteOnFilterStream:rQ@†rR@h¨XaStreamrS@†rT@j©jþ†rU@hjì†rV@jóX! !rW@†rX@hX

rY@†rZ@jój¹†r[@h‘XObjectr\@†r]@jóX
 methodsFor: r^@†r_@j˜X'filter streaming'r`@†ra@jóX stamp: 'mpw 6/22/1930 22:56'!rb@†rc@hjì†rd@jKXfullDrawPostscriptOn:re@†rf@h¨XaStreamrg@†rh@hX
	ri@†rj@hLj;†rk@h¨XaStreamrl@†rm@hj½†rn@jKX	fullDraw:ro@†rp@j!Xselfrq@†rr@j©jþ†rs@hjì†rt@jóX! !ru@†rv@hX

rw@†rx@jój¹†ry@h‘XObjectrz@†r{@jóX
 methodsFor: r|@†r}@j˜X'filter streaming'r~@†r@jóX stamp: 'MPW 1/1/1901 01:51'!r€@†r@hjì†r‚@jKXprintOnStream:rƒ@†r„@h¨XaStreamr…@†r†@hX
	r‡@†rˆ@j!Xselfr‰@†rŠ@hj½†r‹@jKXbyteEncode:rŒ@†r@h¨XaStreamrŽ@†r@j©jþ†r@hjì†r‘@jóX! !r’@†r“@hX

r”@†r•@jój¹†r–@h‘XObjectr—@†r˜@jóX
 methodsFor: r™@†rš@j˜X'filter streaming'r›@†rœ@jóX stamp: 'MPW 1/1/1901 00:49'!r@†rž@hjì†rŸ@jKXputOn:r @†r¡@h¨XaStreamr¢@†r£@hX
	r¤@†r¥@hLj;†r¦@h¨XaStreamr§@†r¨@hj½†r©@jKXnextPut:rª@†r«@j!Xselfr¬@†r­@j©jþ†r®@hjì†r¯@jóX! !r°@†r±@hX

r²@†r³@jój¹†r´@h‘XObjectrµ@†r¶@jóX
 methodsFor: r·@†r¸@j˜X'filter streaming'r¹@†rº@jóX stamp: 'MPW 1/1/1901 01:53'!r»@†r¼@hjì†r½@jKXstoreOnStream:r¾@†r¿@h¨XaStreamrÀ@†rÁ@hX
	rÂ@†rÃ@j!XselfrÄ@†rÅ@hj½†rÆ@jKXprintOnStream:rÇ@†rÈ@h¨XaStreamrÉ@†rÊ@j©jþ†rË@hjì†rÌ@jóX! !rÍ@†rÎ@hX

rÏ@†rÐ@jój¹†rÑ@h‘XObjectrÒ@†rÓ@jóX
 methodsFor: rÔ@†rÕ@j˜X'filter streaming'rÖ@†r×@jóX stamp: 'MPW 1/1/1901 00:06'!rØ@†rÙ@hjì†rÚ@jKXwriteOnFilterStream:rÛ@†rÜ@h¨XaStreamrÝ@†rÞ@hX
	rß@†rà@h¨XaStreamrá@†râ@hj½†rã@jKXwriteObject:rä@†rå@j!Xselfræ@†rç@j©jþ†rè@hjì†ré@jóX! !rê@†rë@hX


rì@†rí@jój¹†rî@h‘XObjectrï@†rð@jóX
 methodsFor: rñ@†rò@j˜X'finalization'ró@†rô@jóX stamp: 'ar 3/21/98 16:26'!rõ@†rö@hjì†r÷@jKX
actAsExecutorrø@†rù@hX
	rú@†rû@jLXN"Prepare the receiver to act as executor for any resources associated with it"rü@†rý@hX
	rþ@†rÿ@j!XselfrA†rAhj½†rAjKXbreakDependentsrA†rAjóX! !rA†rAhX

rA†rAjój¹†r	Ah‘XObjectr
A†rAjóX
 methodsFor: rA†r
Aj˜X'finalization'rA†rAjóX stamp: 'ar 3/20/98 22:19'!rA†rAhjì†rAjKXexecutorrA†rAhX
	rA†rAjLXM"Return an object which can act as executor for finalization of the receiver"rA†rAhX
	rA†rAhLj;†rAj!XselfrA†rAhj½†rAjKXshallowCopyrA†r Ahj½†r!AjKX
actAsExecutorr"A†r#AjóX! !r$A†r%AhX

r&A†r'Ajój¹†r(Ah‘XObjectr)A†r*AjóX
 methodsFor: r+A†r,Aj˜X'finalization'r-A†r.AjóX stamp: 'ar 5/19/2003 20:10'!r/A†r0Ahjì†r1AjKXfinalizationRegistryr2A†r3AhX
	r4A†r5AjLX@"Answer the finalization registry associated with the receiver."r6A†r7AhX
	r8A†r9AhLj;†r:Ah‘XWeakRegistryr;A†r<Ahj½†r=AjKXdefaultr>A†r?AjóX! !r@A†rAAhX

rBA†rCAjój¹†rDAh‘XObjectrEA†rFAjóX
 methodsFor: rGA†rHAj˜X'finalization'rIA†rJAjóX stamp: 'ar 3/21/98 16:27'!rKA†rLAhjì†rMAjKXfinalizerNA†rOAhX
	rPA†rQAe(jLX2"Finalize the resource associated with the receiver. This message should only be sent during the finalization process. There is NO garantuee that the resource associated with the receiver hasn't been free'd before so take care that you don't run into trouble - this all may happen with interrupt priority."rRA†rSAjóX! !rTA†rUAhX

rVA†rWAjój¹†rXAh‘XObjectrYA†rZAjóX
 methodsFor: r[A†r\Aj˜X'finalization'r]A†r^AjóX stamp: 'ar 3/21/98 18:38'!r_A†r`Ahjì†raAjKXretryWithGC:rbA†rcAhj½†rdAh¨X	execBlockreA†rfAhj½†rgAjKXuntil:rhA†riAhj½†rjAh¨X	testBlockrkA†rlAhX
	rmA†rnAjLX"Retry execBlock as long as testBlock returns false. Do an incremental GC after the first try, a full GC after the second try."roA†rpAhX
	rqA†rrAhLjµ†rsAh¨X blockValue rtA†ruAhLjµ†rvAhX
	rwA†rxAh¨X
blockValueryA†rzAhj½†r{AhLX:=r|A†r}Ahj½†r~Ah¨X	execBlockrA†r€Ahj½†rAjKXvaluer‚A†rƒAj©jþ†r„AhX
	r…A†r†AhjĆr‡Ah¨X	testBlockrˆA†r‰Ahj½†rŠAjKXvalue:r‹A†rŒAhj½†rAh¨X
blockValuerŽA†rAhj߆rAhj½†r‘AjXifTrue:r’A†r“Ahj[†r”AhLj;†r•Ah¨X
blockValuer–A†r—Ahje†r˜Aj©jþ†r™AhX
	ršA†r›Ah‘X	SmalltalkrœA†rAhj½†ržAjKXgarbageCollectMostrŸA†r Aj©jþ†r¡AhX
	r¢A†r£Ah¨X
blockValuer¤A†r¥Ahj½†r¦AhLX:=r§A†r¨Ahj½†r©Ah¨X	execBlockrªA†r«Ahj½†r¬AjKXvaluer­A†r®Aj©jþ†r¯AhX
	r°A†r±AhjĆr²Ah¨X	testBlockr³A†r´Ahj½†rµAjKXvalue:r¶A†r·Ahj½†r¸Ah¨X
blockValuer¹A†rºAhj߆r»Ahj½†r¼AjXifTrue:r½A†r¾Ahj[†r¿AhLj;†rÀAh¨X
blockValuerÁA†rÂAhje†rÃAj©jþ†rÄAhX
	rÅA†rÆAh‘X	SmalltalkrÇA†rÈAhj½†rÉAjKXgarbageCollectrÊA†rËAj©jþ†rÌAhX
	rÍA†rÎAhLj;†rÏAh¨X	execBlockrÐA†rÑAhj½†rÒAjKXvaluerÓA†rÔAj©jþ†rÕAjóX! !rÖA†r×AhX

rØA†rÙAjój¹†rÚAh‘XObjectrÛA†rÜAjóX
 methodsFor: rÝA†rÞAj˜X'finalization'rßA†ràAjóX stamp: 'ar 5/19/2003 20:14'!ráA†râAhjì†rãAjKXtoFinalizeSend:räA†råAhj½†ræAh¨X	aSelectorrçA†rèAhj½†réAjKXto:rêA†rëAhj½†rìAh¨X
aFinalizerríA†rîAhj½†rïAjKXwith:rðA†rñAhj½†ròAh¨XaResourceHandleróA†rôAhX
	rõA†röAjLXª"When I am finalized (e.g., garbage collected) close the associated resource handle by sending aSelector to the appropriate finalizer (the guy who knows how to get rid of the resource).
	WARNING: Neither the finalizer nor the resource handle are allowed to reference me. If they do, then I will NEVER be garbage collected. Since this cannot be validated here, it is up to the client to make sure this invariant is not broken."r÷A†røAhX
	rùA†rúAj!XselfrûA†rüAhj½†rýAjKX==rþA†rÿAhj½†rBh¨X
aFinalizerrB†rBhj½†rBjXifTrue:rB†rBhj[†rBj!XselfrB†rBhj½†r	BjKXerror:r
B†rBhj½†rBj˜X'I cannot finalize myself'r
B†rBhje†rBj©jþ†rBhX
	rB†rBj!XselfrB†rBhj½†rBjKX==rB†rBhj½†rBh¨XaResourceHandlerB†rBhj½†rBjXifTrue:rB†rBhj[†rBj!XselfrB†r Bhj½†r!BjKXerror:r"B†r#Bhj½†r$Bj˜X'I cannot finalize myself'r%B†r&Bhje†r'Bj©jþ†r(BhX
	r)B†r*BhLj;†r+Bj!Xselfr,B†r-Bhj½†r.BjKXfinalizationRegistryr/B†r0Bhj½†r1BjKXadd:r2B†r3Bhj½†r4Bj!Xselfr5B†r6Bhj½†r7BjKX	executor:r8B†r9BhX
		r:B†r;BhjĆr<Bh‘XObjectFinalizerr=B†r>Bhj½†r?BjXnewr@B†rABhX
			rBB†rCBjKX	receiver:rDB†rEBhj½†rFBh¨X
aFinalizerrGB†rHBhX
			rIB†rJBjKX	selector:rKB†rLBhj½†rMBh¨X	aSelectorrNB†rOBhX
			rPB†rQBjKX	argument:rRB†rSBhj½†rTBh¨XaResourceHandlerUB†rVBhj߆rWBjóX! !rXB†rYBhX


rZB†r[Bjój¹†r\Bh‘XObjectr]B†r^BjóX
 methodsFor: r_B†r`Bj˜X
'flagging'raB†rbBjóX stamp: 'sw 8/4/97 16:49'!rcB†rdBhjì†reBjKXisThisEverCalledrfB†rgBhX
	rhB†riBhLj;†rjBhj½†rkBj!XselfrlB†rmBhj½†rnBjKXisThisEverCalled:roB†rpBhj½†rqBj!XthisContextrrB†rsBhj½†rtBjKXsenderruB†rvBhj½†rwBjKXprintStringrxB†ryBjóX! !rzB†r{BhX

r|B†r}Bjój¹†r~Bh‘XObjectrB†r€BjóX
 methodsFor: rB†r‚Bj˜X
'flagging'rƒB†r„Bjój¹†r…Bhjì†r†BjKXisThisEverCalled:r‡B†rˆBhj½†r‰Bh¨XmsgrŠB†r‹BhX
	rŒB†rBjLX"Send this message, with some useful printable argument, from methods or branches of methods which you believe are never reached.  2/5/96 sw"rŽB†rBhX

	rB†r‘Bj!Xselfr’B†r“Bhj½†r”BjKXhalt:r•B†r–Bhj½†r—Bj˜X'This is indeed called: 'r˜B†r™BjKj)	†ršBhj½†r›Bh¨XmsgrœB†rBhj½†ržBjKXprintStringrŸB†r BjóX! !r¡B†r¢BhX

r£B†r¤Bjój¹†r¥Bh‘XObjectr¦B†r§BjóX
 methodsFor: r¨B†r©Bj˜X
'flagging'rªB†r«BjóX stamp: 'jm 3/18/98 17:23'!r¬B†r­Bhjì†r®BjKXlogEntryr¯B†r°Bhjì†r±BhX
	r²B†r³Bh‘X
Transcriptr´B†rµBhj½†r¶BjKXshow:r·B†r¸Bhj½†r¹Bj˜X
'Entered 'rºB†r»BjKj)	†r¼Bhj½†r½Bj!XthisContextr¾B†r¿Bhj½†rÀBjKXsenderrÁB†rÂBhj½†rÃBjKXprintStringrÄB†rÅBj©j†rÆBhj½†rÇBjKXcrrÈB†rÉBj©jþ†rÊBhjì†rËBjóX! !rÌB†rÍBhX

rÎB†rÏBjój¹†rÐBh‘XObjectrÑB†rÒBjóX
 methodsFor: rÓB†rÔBj˜X
'flagging'rÕB†rÖBjóX stamp: 'jm 3/18/98 17:23'!r×B†rØBhjì†rÙBjKXlogExecutionrÚB†rÛBhjì†rÜBhX
	rÝB†rÞBh‘X
TranscriptrßB†ràBhj½†ráBjKXshow:râB†rãBhj½†räBj˜X'Executing 'råB†ræBjKj)	†rçBhj½†rèBj!XthisContextréB†rêBhj½†rëBjKXsenderrìB†ríBhj½†rîBjKXprintStringrïB†rðBj©j†rñBhj½†ròBjKXcrróB†rôBj©jþ†rõBhjì†röBjóX! !r÷B†røBhX

rùB†rúBjój¹†rûBh‘XObjectrüB†rýBjóX
 methodsFor: rþB†rÿBj˜X
'flagging'rC†rCjóX stamp: 'jm 3/18/98 17:22'!rC†rChjì†rCjKXlogExitrC†rChjì†rChX
	rC†r	Ch‘X
Transcriptr
C†rChj½†rCjKXshow:r
C†rChX  rC†rCj˜X	'Exited 'rC†rCjKj)	†rChj½†rCj!XthisContextrC†rChj½†rCjKXsenderrC†rChj½†rCjKXprintStringrC†rCj©j†rChj½†rCjKXcrrC†r Cj©jþ†r!Chjì†r"CjóX! !r#C†r$ChX


r%C†r&Cjój¹†r'Ch‘XObjectr(C†r)CjóX
 methodsFor: r*C†r+Cj˜X
'graph model'r,C†r-CjóX stamp: 'dgd 9/18/2004 15:07'!r.C†r/Chjì†r0CjKX addModelYellowButtonMenuItemsTo:r1C†r2Chj½†r3Ch¨XaCustomMenur4C†r5Chj½†r6CjKX	forMorph:r7C†r8Chj½†r9Ch¨XaMorphr:C†r;Chj½†r<CjKXhand:r=C†r>Chj½†r?Ch¨X
aHandMorphr@C†rAChX 
	rBC†rCCjLXŒ"The receiver serves as the model for aMorph; a menu is being constructed for the morph, and here the receiver is able to add its own items"rDC†rEChX
	rFC†rGCh‘XPreferencesrHC†rIChj½†rJCjKXcmdGesturesEnabledrKC†rLChj½†rMCjXifTrue:rNC†rOChj½†rPChj[†rQChj½†rRCjLX"build mode"rSC†rTChX
		rUC†rVCh¨XaCustomMenurWC†rXChj½†rYCjKXadd:rZC†r[Chj½†r\Cj˜X'inspect model'r]C†r^Chj½†r_CjKX
translatedr`C†raChj½†rbCjKXtarget:rcC†rdChj½†reCj!XselfrfC†rgChj½†rhCjKXaction:riC†rjChj½†rkCj´X#inspectrlC†rmCj©jþ†rnChX
	roC†rpChje†rqCj©jþ†rrChX

	rsC†rtChLj;†ruCh¨XaCustomMenurvC†rwChjì†rxCjóX! !ryC†rzChX

r{C†r|Cjój¹†r}Ch‘XObjectr~C†rCjóX
 methodsFor: r€C†rCj˜X
'graph model'r‚C†rƒCjóX stamp: 'nk 1/23/2004 14:35'!r„C†r…Chjì†r†CjKXhasModelYellowButtonMenuItemsr‡C†rˆChX
	r‰C†rŠChLj;†r‹Ch‘XPreferencesrŒC†rChj½†rŽCjKXcmdGesturesEnabledrC†rCjóX! !r‘C†r’ChX


r“C†r”Cjój¹†r•Ch‘XObjectr–C†r—CjóX
 methodsFor: r˜C†r™Cj˜X'inspecting'ršC†r›CjóX stamp: 'ar 9/27/2005 18:31'!rœC†rChjì†ržCjKXbasicInspectrŸC†r ChX
	r¡C†r¢CjLX"Create and schedule an Inspector in which the user can examine the 
	receiver's variables. This method should not be overriden."r£C†r¤ChX
	r¥C†r¦ChLj;†r§Ch‘XToolSetr¨C†r©Chj½†rªCjKX
basicInspect:r«C†r¬Chj½†r­Cj!Xselfr®C†r¯CjóX! !r°C†r±ChX

r²C†r³Cjój¹†r´Ch‘XObjectrµC†r¶CjóX
 methodsFor: r·C†r¸Cj˜X'inspecting'r¹C†rºCjóX stamp: 'md 1/18/2006 19:09'!r»C†r¼Chjì†r½CjKXinspectr¾C†r¿ChX
	rÀC†rÁCjLXZ"Create and schedule an Inspector in which the user can examine the receiver's variables."rÂC†rÃChX
	rÄC†rÅCh‘XToolSetrÆC†rÇChj½†rÈCjKXinspect:rÉC†rÊChj½†rËCj!XselfrÌC†rÍCjóX! !rÎC†rÏChX

rÐC†rÑCjój¹†rÒCh‘XObjectrÓC†rÔCjóX
 methodsFor: rÕC†rÖCj˜X'inspecting'r×C†rØCjóX stamp: 'apb 7/14/2004 12:19'!rÙC†rÚChjì†rÛCjKXinspectorClassrÜC†rÝChX
	rÞC†rßCjLX—"Answer the class of the inspector to be used on the receiver.  Called by inspect; 
	use basicInspect to get a normal (less useful) type of inspector."ràC†ráChX

	râC†rãChLj;†räChj½†råCh‘X	InspectorræC†rçCjóX! !rèC†réChX


rêC†rëCjój¹†rìCh‘XObjectríC†rîCjóX
 methodsFor: rïC†rðCj˜X	'locales'rñC†ròCjóX stamp: 'tak 8/4/2005 14:55'!róC†rôChjì†rõCjKX
localeChangedröC†r÷ChX
	røC†rùCj!XselfrúC†rûChj½†rüCjKXshouldBeImplementedrýC†rþCjóX! !rÿC†rDhX


rD†rDjój¹†rDh‘XObjectrD†rDjóX
 methodsFor: rD†rDj˜X'macpal'rD†r	DjóX stamp: 'sw 5/7/1998 23:00'!r
D†rDhjì†rDjKXcodeStrippedOut:r
D†rDhj½†rDh¨X
messageStringrD†rDhX
	rD†rDjLX`"When a method is stripped out for external release, it is replaced by a method that calls this"rD†rDhX

	rD†rDj!XselfrD†rDhj½†rDjKXhalt:rD†rDhj½†rDj˜X'Code stripped out -- 'rD†rDjKj)	†r Dhj½†r!Dh¨X
messageStringr"D†r#DjKj)	†r$Dhj½†r%Dj˜X'-- do not proceed.'r&D†r'DjóX! !r(D†r)DhX

r*D†r+Djój¹†r,Dh‘XObjectr-D†r.DjóX
 methodsFor: r/D†r0Dj˜X'macpal'r1D†r2DjóX stamp: 'sw 1/28/1999 17:31'!r3D†r4Dhjì†r5DjKXcontentsChangedr6D†r7DhX
	r8D†r9Dj!Xselfr:D†r;Dhj½†r<DjKXchanged:r=D†r>Dhj½†r?Dj´X	#contentsr@D†rADjóX! !rBD†rCDhX

rDD†rEDjój¹†rFDh‘XObjectrGD†rHDjóX
 methodsFor: rID†rJDj˜X'macpal'rKD†rLDjóX stamp: 'ar 3/18/2001 00:03'!rMD†rNDhjì†rODjKXcurrentEventrPD†rQDhX
	rRD†rSDjLXC"Answer the current Morphic event.  This method never returns nil."rTD†rUDhX
	rVD†rWDhLj;†rXDh‘XActiveEventrYD†rZDhj½†r[DjKXifNil:r\D†r]Dhj[†r^Dj!Xselfr_D†r`Dhj½†raDjKXcurrentHandrbD†rcDhj½†rdDjKX	lastEventreD†rfDhje†rgDjóX! !rhD†riDhX

rjD†rkDjój¹†rlDh‘XObjectrmD†rnDjóX
 methodsFor: roD†rpDj˜X'macpal'rqD†rrDjóX stamp: 'nk 9/1/2004 10:41'!rsD†rtDhjì†ruDjKXcurrentHandrvD†rwDhX
	rxD†ryDjLX1"Return a usable HandMorph -- the one associated with the object's current environment.  This method will always return a hand, even if it has to conjure one up as a last resort.  If a particular hand is actually handling events at the moment (such as a remote hand or a ghost hand), it will be returned."rzD†r{DhX

	r|D†r}DhLj;†r~Dh‘X
ActiveHandrD†r€Dhj½†rDjKXifNil:r‚D†rƒDhj½†r„Dhj[†r…Dhj½†r†Dj!Xselfr‡D†rˆDhj½†r‰DjKXcurrentWorldrŠD†r‹Dhj½†rŒDjKXprimaryHandrD†rŽDhj½†rDhje†rDjóX! !r‘D†r’DhX

r“D†r”Djój¹†r•Dh‘XObjectr–D†r—DjóX
 methodsFor: r˜D†r™Dj˜X'macpal'ršD†r›DjóX stamp: 'sw 5/17/2001 12:08'!rœD†rDhjì†ržDjKXcurrentVocabularyrŸD†r DhX
	r¡D†r¢DjLX5"Answer the currently-prevailing default vocabulary."r£D†r¤DhX

	r¥D†r¦DhLj;†r§Dhj½†r¨Dh‘X	Smalltalkr©D†rªDhj½†r«DjKX	isMorphicr¬D†r­Dhj½†r®DjXifTrue:r¯D†r°DhX
			r±D†r²Dhj[†r³Dh‘XActiveWorldr´D†rµDhj½†r¶DjKXcurrentVocabularyr·D†r¸Dhje†r¹DhX
		rºD†r»DjXifFalse:r¼D†r½DhX
			r¾D†r¿Dhj[†rÀDh‘X
VocabularyrÁD†rÂDhj½†rÃDjKXfullVocabularyrÄD†rÅDhje†rÆDjóX! !rÇD†rÈDhX

rÉD†rÊDjój¹†rËDh‘XObjectrÌD†rÍDjóX
 methodsFor: rÎD†rÏDj˜X'macpal'rÐD†rÑDjóX stamp: 'ar 3/18/2001 00:08'!rÒD†rÓDhjì†rÔDjKXcurrentWorldrÕD†rÖDhX
	r×D†rØDjLXb"Answer a morphic world that is the current UI focus.
		If in an embedded world, it's that world.
		If in a morphic project, it's that project's world.  
		If in an mvc project, it is the topmost morphic-mvc-window's worldMorph. 
		If in an mvc project that has no morphic-mvc-windows, then it's just some existing worldmorph instance.
		If in an mvc project in a Squeak that has NO WorldMorph instances, one is created.

	This method will never return nil, it will always return its best effort at returning a relevant world morph, but if need be -- if there are no worlds anywhere, it will create a new one."rÙD†rÚDhX

	rÛD†rÜDhLjµ†rÝDh¨X aView aSubview rÞD†rßDhLjµ†ràDhX
	ráD†râDh‘XActiveWorldrãD†räDhj½†råDjKX	ifNotNil:ræD†rçDhj[†rèDhLj;†réDh‘XActiveWorldrêD†rëDhje†rìDj©jþ†ríDhX
	rîD†rïDh‘XWorldrðD†rñDhj½†ròDjKX	ifNotNil:róD†rôDhj[†rõDhLj;†röDh‘XWorldr÷D†røDhje†rùDj©jþ†rúDhX
	rûD†rüDh¨XaViewrýD†rþDhj½†rÿDhLj¸†rEhj½†rEh‘XScheduledControllersrE†rEhj½†rEjKXcontrollerSatisfying:rE†rEhX
		rE†rEhj[†r	EhLjî†r
Eh¨XctrlrE†rEhj½†r
EhLjµ†rEhj½†rEhjĆrEh¨XaSubviewrE†rEhj½†rEhLj¸†rEhj½†rEh¨XctrlrE†rEhj½†rEjKXviewrE†rEhj½†rEjKXfirstSubViewrE†rEhj߆rEhj½†rEjKXnotNilr E†r!Ehj½†r"EjKXand:r#E†r$EhX
			r%E†r&Ehj[†r'Eh¨XaSubviewr(E†r)Ehj½†r*EjKXmodelr+E†r,Ehj½†r-EjKXisMorphr.E†r/Ehj½†r0EjKXand:r1E†r2Ehj½†r3Ehj[†r4Eh¨XaSubviewr5E†r6Ehj½†r7EjKXmodelr8E†r9Ehj½†r:EjKXisWorldMorphr;E†r<Ehje†r=Ehje†r>Ehje†r?Ej©jþ†r@EhX
	rAE†rBEhLj;†rCEh¨XaViewrDE†rEEhX
		rFE†rGEjKX	ifNotNil:rHE†rIEhX
			rJE†rKEhj[†rLEh¨XaSubviewrME†rNEhj½†rOEjKXmodelrPE†rQEhje†rREhX
		rSE†rTEjKXifNil:rUE†rVEhX
			rWE†rXEhj[†rYEh‘XMVCWiWPasteUpMorphrZE†r[Ehj½†r\EjKXnewWorldForProject:r]E†r^Ehj½†r_Ej!Xnilr`E†raEhje†rbEj©jþ†rcEjóX! !rdE†reEhX

rfE†rgEjój¹†rhEh‘XObjectriE†rjEjóX
 methodsFor: rkE†rlEj˜X'macpal'rmE†rnEjóX stamp: 'jm 5/6/1998 22:35'!roE†rpEhjì†rqEjKXflashrrE†rsEhX
	rtE†ruEjLX
"Do nothing."rvE†rwEhjì†rxEjóX! !ryE†rzEhX

r{E†r|Ejój¹†r}Eh‘XObjectr~E†rEjóX
 methodsFor: r€E†rEj˜X'macpal'r‚E†rƒEjóX stamp: 'sw 6/16/1998 15:07'!r„E†r…Ehjì†r†EjKXinstanceVariableValuesr‡E†rˆEhX
	r‰E†rŠEjLXˆ"Answer a collection whose elements are the values of those instance variables of the receiver which were added by the receiver's class"r‹E†rŒEhX
	rE†rŽEhLjµ†rEh¨X c rE†r‘EhLjµ†r’EhX
	r“E†r”Eh¨Xcr•E†r–Ehj½†r—EhLj¸†r˜Ehj½†r™Eh‘XOrderedCollectionršE†r›Ehj½†rœEjXnewrE†ržEj©jþ†rŸEhX
	r E†r¡Ej!Xselfr¢E†r£Ehj½†r¤EjKXclassr¥E†r¦Ehj½†r§EjKX
superclassr¨E†r©Ehj½†rªEjKXinstSizer«E†r¬Ehj½†r­EjKjˆ†r®Ehj½†r¯Ej;jà†r°Ehj½†r±EjKXto:r²E†r³Ehj½†r´Ej!XselfrµE†r¶Ehj½†r·EjKXclassr¸E†r¹Ehj½†rºEjKXinstSizer»E†r¼Ehj½†r½EjKXdo:r¾E†r¿EhX
		rÀE†rÁEhj[†rÂEhLjî†rÃEh¨j„!†rÄEhj½†rÅEhLjµ†rÆEhj½†rÇEh¨j•E†rÈEhj½†rÉEjKXadd:rÊE†rËEhj½†rÌEhjĆrÍEj!XselfrÎE†rÏEhj½†rÐEjKX
instVarAt:rÑE†rÒEhj½†rÓEh¨j„!†rÔEhj߆rÕEhje†rÖEj©jþ†r×EhX
	rØE†rÙEhLj;†rÚEhj½†rÛEh¨j•E†rÜEjóX! !rÝE†rÞEhX

rßE†ràEjój¹†ráEh‘XObjectrâE†rãEjóX
 methodsFor: räE†råEj˜X'macpal'ræE†rçEjóX stamp: 'sw 3/20/2001 13:29'!rèE†réEhjì†rêEjKXisUniversalTilesrëE†rìEhX
	ríE†rîEjLX"Return true if I (my world) uses universal tiles.  This message can be called in places where the current World is not known, such as when writing out a project.  For more information about the project-writing subtlety addressed by this protocol, kindly contact Ted Kaehler."rïE†rðEhX

	rñE†ròEhLj;†róEhj½†rôEh‘XPreferencesrõE†röEhj½†r÷EjKXuniversalTilesrøE†rùEjóX! !rúE†rûEhX

rüE†rýEjój¹†rþEh‘XObjectrÿE†rFjóX
 methodsFor: rF†rFj˜X'macpal'rF†rFjóX stamp: 'sw 10/24/2000 07:04'!rF†rFhjì†rFjKXobjectRepresentedrF†r	FhX
	r
F†rFjLXS"most objects represent themselves; this provides a hook for aliases to grab on to"rF†r
FhX

	rF†rFhLj;†rFhj½†rFj!XselfrF†rFjóX! !rF†rFhX

rF†rFjój¹†rFh‘XObjectrF†rFjóX
 methodsFor: rF†rFj˜X'macpal'rF†rFjóX stamp: 'sw 5/22/2001 18:31'!rF†r Fhjì†r!FjKXrefusesToAcceptCoder"F†r#FhX
	r$F†r%FjLX|"Answer whether the receiver is a code-bearing instrument which at the moment refuses to allow its contents to be submitted"r&F†r'FhX

	r(F†r)FhLj;†r*Fhj½†r+Fj!Xfalser,F†r-FhX
	r.F†r/FjóX! !r0F†r1FhX

r2F†r3Fjój¹†r4Fh‘XObjectr5F†r6FjóX
 methodsFor: r7F†r8Fj˜X'macpal'r9F†r:FjóX stamp: 'jm 2/24/1999 12:40'!r;F†r<Fhjì†r=FjKXscriptPerformerr>F†r?Fhjì†r@FhX
	rAF†rBFhLj;†rCFhj½†rDFj!XselfrEF†rFFhjì†rGFjóX! !rHF†rIFhX

rJF†rKFjój¹†rLFh‘XObjectrMF†rNFjóX
 methodsFor: rOF†rPFj˜X'macpal'rQF†rRFjóX stamp: 'sw 3/20/2001 13:40'!rSF†rTFhjì†rUFjKXslotInforVF†rWFhX
	rXF†rYFjLX\"Answer a list of slot-information objects.  Initally only provides useful info for players"rZF†r[FhX

	r\F†r]FhLj;†r^Fhj½†r_Fh‘X
Dictionaryr`F†raFhj½†rbFjXnewrcF†rdFjóX! !reF†rfFhX


rgF†rhFjój¹†riFh‘XObjectrjF†rkFjóX
 methodsFor: rlF†rmFj˜X'message handling'rnF†roFjóX stamp: 'md 1/20/2006 16:28'!rpF†rqFhjì†rrFjKXexecuteMethod:rsF†rtFhj½†ruFh¨XcompiledMethodrvF†rwFhX
	rxF†ryFjLX:"Execute compiledMethod against the receiver with no args"rzF†r{FhX

	r|F†r}FjLX"<primitive: 189>"r~F†rFhj½†r€FjLX""uncomment once prim 189 is in VM"rF†r‚FhX
	rƒF†r„FhLj;†r…Fhj½†r†Fj!Xselfr‡F†rˆFhj½†r‰FjKX	withArgs:rŠF†r‹Fhj½†rŒFj´X#(rF†rŽFj´j߆rFhj½†rFjKXexecuteMethod:r‘F†r’Fhj½†r“Fh¨XcompiledMethodr”F†r•FjóX! !r–F†r—FhX

r˜F†r™Fjój¹†ršFh‘XObjectr›F†rœFjóX
 methodsFor: rF†ržFj˜X'message handling'rŸF†r FjóX stamp: 'di 3/26/1999 07:52'!r¡F†r¢Fhjì†r£FjKXperform:r¤F†r¥Fhj½†r¦Fh¨XaSymbolr§F†r¨FhX 
	r©F†rªFjLX¼"Send the unary selector, aSymbol, to the receiver.
	Fail if the number of arguments expected by the selector is not zero.
	Primitive. Optional. See Object documentation whatIsAPrimitive."r«F†r¬FhX

	r­F†r®Fhjc†r¯FjóX
primitive:r°F†r±FhX 83r²F†r³Fhji†r´FhX
	rµF†r¶FhLj;†r·Fhj½†r¸Fj!Xselfr¹F†rºFhj½†r»FjKXperform:r¼F†r½Fhj½†r¾Fh¨XaSymbolr¿F†rÀFhj½†rÁFjKXwithArguments:rÂF†rÃFhj½†rÄFhjĆrÅFh‘XArrayrÆF†rÇFhj½†rÈFjKXnew:rÉF†rÊFhj½†rËFj;jë†rÌFhj߆rÍFjóX! !rÎF†rÏFhX

rÐF†rÑFjój¹†rÒFh‘XObjectrÓF†rÔFjóX
 methodsFor: rÕF†rÖFj˜X'message handling'r×F†rØFjóX stamp: 'st 11/5/2004 16:19'!rÙF†rÚFhjì†rÛFjKXperform:rÜF†rÝFhj½†rÞFh¨XselectorrßF†ràFhj½†ráFjKX	orSendTo:râF†rãFhj½†räFh¨XotherTargetråF†ræFhX
	rçF†rèFjLXW"If I wish to intercept and handle selector myself, do it; else send it to otherTarget"réF†rêFhX
	rëF†rìFhLj;†ríFhj½†rîFhjĆrïFj!XselfrðF†rñFhj½†ròFjKXrespondsTo:róF†rôFhj½†rõFh¨XselectorröF†r÷Fhj߆røFhj½†rùFjXifTrue:rúF†rûFhj½†rüFhj[†rýFj!XselfrþF†rÿFhj½†rGjKXperform:rG†rGhj½†rGh¨XselectorrG†rGhje†rGhj½†rGjXifFalse:rG†r	Ghj½†r
Ghj[†rGh¨XotherTargetrG†r
Ghj½†rGjKXperform:rG†rGhj½†rGh¨XselectorrG†rGhje†rGjóX! !rG†rGhX

rG†rGjój¹†rGh‘XObjectrG†rGjóX
 methodsFor: rG†rGj˜X'message handling'rG†rGjóX stamp: 'di 3/26/1999 07:55'!r G†r!Ghjì†r"GjKXperform:r#G†r$Ghj½†r%Gh¨Xselectorr&G†r'Ghj½†r(GjKXwithArguments:r)G†r*Ghj½†r+Gh¨XargArrayr,G†r-GhX 
	r.G†r/GjLXë"Send the selector, aSymbol, to the receiver with arguments in argArray.
	Fail if the number of arguments expected by the selector 
	does not match the size of argArray.
	Primitive. Optional. See Object documentation whatIsAPrimitive."r0G†r1GhX

	r2G†r3Ghjc†r4GjóX
primitive:r5G†r6GhX 84r7G†r8Ghji†r9GhX
	r:G†r;GhLj;†r<Ghj½†r=Gj!Xselfr>G†r?Ghj½†r@GjKXperform:rAG†rBGhj½†rCGh¨XselectorrDG†rEGhj½†rFGjKXwithArguments:rGG†rHGhj½†rIGh¨XargArrayrJG†rKGhj½†rLGjKX
inSuperclass:rMG†rNGhj½†rOGj!XselfrPG†rQGhj½†rRGjKXclassrSG†rTGjóX! !rUG†rVGhX

rWG†rXGjój¹†rYGh‘XObjectrZG†r[GjóX
 methodsFor: r\G†r]Gj˜X'message handling'r^G†r_GjóX stamp: 'ar 4/25/2005 13:35'!r`G†raGhjì†rbGjKXperform:rcG†rdGhj½†reGh¨XselectorrfG†rgGhj½†rhGjKXwithArguments:riG†rjGhj½†rkGh¨XargArrayrlG†rmGhj½†rnGjKX
inSuperclass:roG†rpGhj½†rqGh¨XlookupClassrrG†rsGhX
	rtG†ruGjLX@"NOTE:  This is just like perform:withArguments:, except that
	the message lookup process begins, not with the receivers's class,
	but with the supplied superclass instead.  It will fail if lookupClass
	cannot be found among the receiver's superclasses.
	Primitive. Essential. See Object documentation whatIsAPrimitive."rvG†rwGhX

	rxG†ryGhjc†rzGjóX
primitive:r{G†r|GhX 100r}G†r~Ghji†rGhX
	r€G†rGhjĆr‚Gh¨XselectorrƒG†r„Ge(hj½†r…GjKXisSymbolr†G†r‡Ghj߆rˆGhX
		r‰G†rŠGjXifFalse:r‹G†rŒGhj½†rGhj[†rŽGhLj;†rGhj½†rGj!Xselfr‘G†r’Ghj½†r“GjKXerror:r”G†r•Ghj½†r–Gj˜X$'selector argument must be a Symbol'r—G†r˜Ghje†r™Gj©jþ†ršGhX
	r›G†rœGhjĆrGh¨XselectorržG†rŸGhj½†r GjKXnumArgsr¡G†r¢Ghj½†r£GjKjþ†r¤Ghj½†r¥Gh¨XargArrayr¦G†r§Ghj½†r¨GjKXsizer©G†rªGhj߆r«GhX
		r¬G†r­GjXifFalse:r®G†r¯Ghj½†r°Ghj[†r±GhLj;†r²Ghj½†r³Gj!Xselfr´G†rµGhj½†r¶GjKXerror:r·G†r¸Ghj½†r¹Gj˜X'incorrect number of arguments'rºG†r»Ghje†r¼Gj©jþ†r½GhX
	r¾G†r¿GhjĆrÀGj!XselfrÁG†rÂGhj½†rÃGjKXclassrÄG†rÅGhj½†rÆGjKX==rÇG†rÈGhj½†rÉGh¨XlookupClassrÊG†rËGhj½†rÌGjKXor:rÍG†rÎGhj½†rÏGhj[†rÐGj!XselfrÑG†rÒGhj½†rÓGjKXclassrÔG†rÕGhj½†rÖGjKX
inheritsFrom:r×G†rØGhj½†rÙGh¨XlookupClassrÚG†rÛGhje†rÜGhj߆rÝGhX
		rÞG†rßGjXifFalse:ràG†ráGhj½†râGhj[†rãGhLj;†räGhj½†råGj!XselfræG†rçGhj½†rèGjKXerror:réG†rêGhj½†rëGj˜X,'lookupClass is not in my inheritance chain'rìG†ríGhje†rîGj©jþ†rïGhX
	rðG†rñGj!XselfròG†róGhj½†rôGjKXprimitiveFailedrõG†röGjóX! !r÷G†røGhX

rùG†rúGjój¹†rûGh‘XObjectrüG†rýGjóX
 methodsFor: rþG†rÿGj˜X'message handling'rH†rHjóX stamp: 'nk 4/11/2002 14:13'!rH†rHhjì†rHjKXperform:rH†rHhj½†rHh¨XselectorrH†r	Hhj½†r
HjKXwithEnoughArguments:rH†rHhj½†r
Hh¨XanArrayrH†rHhX
	rH†rHjLX¡"Send the selector, aSymbol, to the receiver with arguments in argArray.
	Only use enough arguments for the arity of the selector; supply nils for missing ones."rH†rHhX
	rH†rHhLjµ†rHh¨X numArgs args rH†rHhLjµ†rHhX
	rH†rHh¨XnumArgsrH†rHhj½†rHhLj¸†rHhj½†r Hh¨Xselectorr!H†r"Hhj½†r#HjKXnumArgsr$H†r%Hj©jþ†r&HhX
	r'H†r(Hh¨XanArrayr)H†r*Hhj½†r+HjKXsizer,H†r-Hhj½†r.HjKX==r/H†r0Hhj½†r1Hh¨XnumArgsr2H†r3HhX
		r4H†r5HjXifTrue:r6H†r7Hhj½†r8Hhj[†r9Hhj½†r:HhLj;†r;Hj!Xselfr<H†r=Hhj½†r>HjKXperform:r?H†r@Hhj½†rAHh¨XselectorrBH†rCHhj½†rDHjKXwithArguments:rEH†rFHhj½†rGHh¨XanArrayrHH†rIHhj½†rJHjKXasArrayrKH†rLHhj½†rMHhje†rNHj©jþ†rOHhX

	rPH†rQHh¨XargsrRH†rSHhj½†rTHhLj¸†rUHhj½†rVHh‘XArrayrWH†rXHhj½†rYHjKXnew:rZH†r[Hhj½†r\Hh¨XnumArgsr]H†r^Hj©jþ†r_HhX
	r`H†raHh¨XargsrbH†rcHhj½†rdHjKXreplaceFrom:reH†rfHhj½†rgHj;jà†rhHhX
		riH†rjHjKXto:rkH†rlHhj½†rmHhjĆrnHh¨XanArrayroH†rpHhj½†rqHjKXsizerrH†rsHhj½†rtHjKXmin:ruH†rvHhj½†rwHh¨XargsrxH†ryHhj½†rzHjKXsizer{H†r|Hhj߆r}HhX
		r~H†rHjKXwith:r€H†rHhj½†r‚Hh¨XanArrayrƒH†r„HhX
		r…H†r†HjKXstartingAt:r‡H†rˆHhj½†r‰Hj;jà†rŠHj©jþ†r‹HhX

	rŒH†rHhLj;†rŽHhj½†rHj!XselfrH†r‘Hhj½†r’HjKXperform:r“H†r”Hhj½†r•Hh¨Xselectorr–H†r—Hhj½†r˜HjKXwithArguments:r™H†ršHhj½†r›Hh¨XargsrœH†rHjóX! !ržH†rŸHhX

r H†r¡Hjój¹†r¢Hh‘XObjectr£H†r¤HjóX
 methodsFor: r¥H†r¦Hj˜X'message handling'r§H†r¨HjóX stamp: 'di 3/26/1999 07:52'!r©H†rªHhjì†r«HjKXperform:r¬H†r­Hhj½†r®Hh¨XaSymbolr¯H†r°Hhj½†r±HjKXwith:r²H†r³Hhj½†r´Hh¨XanObjectrµH†r¶HhX 
	r·H†r¸HjLXÓ"Send the selector, aSymbol, to the receiver with anObject as its argument.
	Fail if the number of arguments expected by the selector is not one.
	Primitive. Optional. See Object documentation whatIsAPrimitive."r¹H†rºHhX

	r»H†r¼Hhjc†r½HjóX
primitive:r¾H†r¿HhX 83rÀH†rÁHhji†rÂHhX
	rÃH†rÄHhLj;†rÅHhj½†rÆHj!XselfrÇH†rÈHhj½†rÉHjKXperform:rÊH†rËHhj½†rÌHh¨XaSymbolrÍH†rÎHhj½†rÏHjKXwithArguments:rÐH†rÑHhj½†rÒHhjĆrÓHh‘XArrayrÔH†rÕHhj½†rÖHjKXwith:r×H†rØHhj½†rÙHh¨XanObjectrÚH†rÛHhj߆rÜHjóX! !rÝH†rÞHhX

rßH†ràHjój¹†ráHh‘XObjectrâH†rãHjóX
 methodsFor: räH†råHj˜X'message handling'ræH†rçHjóX stamp: 'di 3/26/1999 07:52'!rèH†réHhjì†rêHjKXperform:rëH†rìHhj½†ríHh¨XaSymbolrîH†rïHhj½†rðHjKXwith:rñH†ròHhj½†róHh¨XfirstObjectrôH†rõHhj½†röHjKXwith:r÷H†røHhj½†rùHh¨XsecondObjectrúH†rûHhX 
	rüH†rýHjLXÎ"Send the selector, aSymbol, to the receiver with the given arguments.
	Fail if the number of arguments expected by the selector is not two.
	Primitive. Optional. See Object documentation whatIsAPrimitive."rþH†rÿHhX

	rI†rIhjc†rIjóX
primitive:rI†rIhX 83rI†rIhji†rIhX
	rI†r	IhLj;†r
Ihj½†rIj!XselfrI†r
Ihj½†rIjKXperform:rI†rIhj½†rIh¨XaSymbolrI†rIhj½†rIjKXwithArguments:rI†rIhj½†rIhjĆrIh‘XArrayrI†rIhj½†rIjKXwith:rI†rIhj½†rIh¨XfirstObjectrI†r Ihj½†r!IjKXwith:r"I†r#Ihj½†r$Ih¨XsecondObjectr%I†r&Ihj߆r'IjóX! !r(I†r)IhX

r*I†r+Ijój¹†r,Ih‘XObjectr-I†r.IjóX
 methodsFor: r/I†r0Ij˜X'message handling'r1I†r2IjóX stamp: 'di 3/26/1999 07:51'!r3I†r4Ihjì†r5IjKXperform:r6I†r7Ihj½†r8Ih¨XaSymbolr9I†r:Ihj½†r;IjKXwith:r<I†r=Ihj½†r>Ih¨XfirstObjectr?I†r@Ihj½†rAIjKXwith:rBI†rCIhj½†rDIh¨XsecondObjectrEI†rFIhj½†rGIjKXwith:rHI†rIIhj½†rJIh¨XthirdObjectrKI†rLIhX 
	rMI†rNIjLXÐ"Send the selector, aSymbol, to the receiver with the given arguments.
	Fail if the number of arguments expected by the selector is not three.
	Primitive. Optional. See Object documentation whatIsAPrimitive."rOI†rPIhX

	rQI†rRIhjc†rSIjóX
primitive:rTI†rUIhX 83rVI†rWIhji†rXIhX
	rYI†rZIhLj;†r[Ihj½†r\Ij!Xselfr]I†r^Ihj½†r_IjKXperform:r`I†raIhj½†rbIh¨XaSymbolrcI†rdIhX
		reI†rfIjKXwithArguments:rgI†rhIhj½†riIhjĆrjIh‘XArrayrkI†rlIhj½†rmIjKXwith:rnI†roIhj½†rpIh¨XfirstObjectrqI†rrIhj½†rsIjKXwith:rtI†ruIhj½†rvIh¨XsecondObjectrwI†rxIhj½†ryIjKXwith:rzI†r{Ihj½†r|Ih¨XthirdObjectr}I†r~Ihj߆rIjóX! !r€I†rIhX

r‚I†rƒIjój¹†r„Ih‘XObjectr…I†r†IjóX
 methodsFor: r‡I†rˆIj˜X'message handling'r‰I†rŠIjóX stamp: 'NS 1/28/2004 11:19'!r‹I†rŒIhjì†rIjKX	withArgs:rŽI†rIhj½†rIh¨XargArrayr‘I†r’Ihj½†r“IjKXexecuteMethod:r”I†r•Ihj½†r–Ih¨XcompiledMethodr—I†r˜IhX
	r™I†ršIjLXB"Execute compiledMethod against the receiver and args in argArray"r›I†rœIhX

	rI†ržIhLjµ†rŸIh¨X
 selector r I†r¡IhLjµ†r¢IhX
	r£I†r¤Ihjc†r¥IjóX
primitive:r¦I†r§IhX 188r¨I†r©Ihji†rªIhX
	r«I†r¬Ih¨Xselectorr­I†r®Ihj½†r¯IhLj¸†r°Ihj½†r±Ih‘XSymbolr²I†r³Ihj½†r´IjXnewrµI†r¶Ij©jþ†r·IhX
	r¸I†r¹Ij!XselfrºI†r»Ihj½†r¼IjKXclassr½I†r¾Ihj½†r¿IjKXaddSelectorSilently:rÀI†rÁIhj½†rÂIh¨XselectorrÃI†rÄIhj½†rÅIjKXwithMethod:rÆI†rÇIhj½†rÈIh¨XcompiledMethodrÉI†rÊIj©jþ†rËIhX
	rÌI†rÍIhLj;†rÎIhj½†rÏIhj[†rÐIj!XselfrÑI†rÒIhj½†rÓIjKXperform:rÔI†rÕIhj½†rÖIh¨Xselectorr×I†rØIhj½†rÙIjKXwithArguments:rÚI†rÛIhj½†rÜIh¨XargArrayrÝI†rÞIhje†rßIhX
		ràI†ráIjKXensure:râI†rãIhj½†räIhj[†råIj!XselfræI†rçIhj½†rèIjKXclassréI†rêIhj½†rëIjKXbasicRemoveSelector:rìI†ríIhj½†rîIh¨XselectorrïI†rðIhje†rñIjóX! !ròI†róIhX

rôI†rõIjój¹†röIh‘XObjectr÷I†røIjóX
 methodsFor: rùI†rúIj˜X'message handling'rûI†rüIjóX stamp: 'md 1/20/2006 16:28'!rýI†rþIhjì†rÿIjKXwith:rJ†rJhj½†rJh¨Xarg1rJ†rJhj½†rJjKXexecuteMethod:rJ†rJhj½†rJh¨XcompiledMethodr	J†r
JhX
	rJ†rJjLX6"Execute compiledMethod against the receiver and arg1"r
J†rJhX

	rJ†rJjLX"<primitive: 189>"rJ†rJhj½†rJjLX""uncomment once prim 189 is in VM"rJ†rJhX
	rJ†rJhLj;†rJhj½†rJj!XselfrJ†rJhj½†rJjKX	withArgs:rJ†rJhj½†rJhjφr Jh¨Xarg1r!J†r"Jhj݆r#Jhj½†r$JjKXexecuteMethod:r%J†r&Jhj½†r'Jh¨XcompiledMethodr(J†r)JjóX! !r*J†r+JhX

r,J†r-Jjój¹†r.Jh‘XObjectr/J†r0JjóX
 methodsFor: r1J†r2Jj˜X'message handling'r3J†r4JjóX stamp: 'md 1/20/2006 16:28'!r5J†r6Jhjì†r7JjKXwith:r8J†r9Jhj½†r:Jh¨Xarg1r;J†r<Jhj½†r=JjKXwith:r>J†r?Jhj½†r@Jh¨Xarg2rAJ†rBJhj½†rCJjKXexecuteMethod:rDJ†rEJhj½†rFJh¨XcompiledMethodrGJ†rHJhX
	rIJ†rJJjLX="Execute compiledMethod against the receiver and arg1 & arg2"rKJ†rLJhX

	rMJ†rNJjLX"<primitive: 189>"rOJ†rPJhj½†rQJjLX""uncomment once prim 189 is in VM"rRJ†rSJhX
	rTJ†rUJhLj;†rVJhj½†rWJj!XselfrXJ†rYJhj½†rZJjKX	withArgs:r[J†r\Jhj½†r]Jhjφr^Jh¨Xarg1r_J†r`Jj©jþ†raJhj½†rbJh¨Xarg2rcJ†rdJhj݆reJhj½†rfJjKXexecuteMethod:rgJ†rhJhj½†riJh¨XcompiledMethodrjJ†rkJjóX! !rlJ†rmJhX

rnJ†roJjój¹†rpJh‘XObjectrqJ†rrJjóX
 methodsFor: rsJ†rtJj˜X'message handling'ruJ†rvJjóX stamp: 'md 1/20/2006 16:28'!rwJ†rxJhjì†ryJjKXwith:rzJ†r{Jhj½†r|Jh¨Xarg1r}J†r~Jhj½†rJjKXwith:r€J†rJhj½†r‚Jh¨Xarg2rƒJ†r„Jhj½†r…JjKXwith:r†J†r‡Jhj½†rˆJh¨Xarg3r‰J†rŠJhj½†r‹JjKXexecuteMethod:rŒJ†rJhj½†rŽJh¨XcompiledMethodrJ†rJhX
	r‘J†r’JjLXD"Execute compiledMethod against the receiver and arg1, arg2, & arg3"r“J†r”JhX

	r•J†r–JjLX"<primitive: 189>"r—J†r˜Jhj½†r™JjLX""uncomment once prim 189 is in VM"ršJ†r›JhX
	rœJ†rJhLj;†ržJhj½†rŸJj!Xselfr J†r¡Jhj½†r¢JjKX	withArgs:r£J†r¤Jhj½†r¥Jhjφr¦Jh¨Xarg1r§J†r¨Jj©jþ†r©Jhj½†rªJh¨Xarg2r«J†r¬Jj©jþ†r­Jhj½†r®Jh¨Xarg3r¯J†r°Jhj݆r±Jhj½†r²JjKXexecuteMethod:r³J†r´Jhj½†rµJh¨XcompiledMethodr¶J†r·JjóX! !r¸J†r¹JhX

rºJ†r»Jjój¹†r¼Jh‘XObjectr½J†r¾JjóX
 methodsFor: r¿J†rÀJj˜X'message handling'rÁJ†rÂJjóX stamp: 'md 1/20/2006 16:28'!rÃJ†rÄJhjì†rÅJjKXwith:rÆJ†rÇJhj½†rÈJh¨Xarg1rÉJ†rÊJhj½†rËJjKXwith:rÌJ†rÍJhj½†rÎJh¨Xarg2rÏJ†rÐJhj½†rÑJjKXwith:rÒJ†rÓJhj½†rÔJh¨Xarg3rÕJ†rÖJhj½†r×JjKXwith:rØJ†rÙJhj½†rÚJh¨Xarg4rÛJ†rÜJhj½†rÝJjKXexecuteMethod:rÞJ†rßJhj½†ràJh¨XcompiledMethodráJ†râJhX
	rãJ†räJjLXJ"Execute compiledMethod against the receiver and arg1, arg2, arg3, & arg4"råJ†ræJhX

	rçJ†rèJjLX"<primitive: 189>"réJ†rêJhj½†rëJjLX""uncomment once prim 189 is in VM"rìJ†ríJhX
	rîJ†rïJhLj;†rðJhj½†rñJj!XselfròJ†róJhj½†rôJjKX	withArgs:rõJ†röJhj½†r÷JhjφrøJh¨Xarg1rùJ†rúJj©jþ†rûJhj½†rüJh¨Xarg2rýJ†rþJj©jþ†rÿJhj½†rKh¨Xarg3rK†rKj©jþ†rKhj½†rKh¨Xarg4rK†rKhj݆rKhj½†rKjKXexecuteMethod:r	K†r
Khj½†rKh¨XcompiledMethodrK†r
KjóX! !rK†rKhX


rK†rKjój¹†rKh‘XObjectrK†rKjóX
 methodsFor: rK†rKj˜X'objects from disk'rK†rKjóX stamp: 'tk 4/8/1999 12:46'!rK†rKhjì†rKjKXcomeFullyUpOnReload:rK†rKhj½†rKh¨XsmartRefStreamrK†r KhX
	r!K†r"KjLXK"Normally this read-in object is exactly what we want to store. 7/26/96 tk"r#K†r$KhX

	r%K†r&KhLj;†r'Khj½†r(Kj!Xselfr)K†r*KjóX! !r+K†r,KhX

r-K†r.Kjój¹†r/Kh‘XObjectr0K†r1KjóX
 methodsFor: r2K†r3Kj˜X'objects from disk'r4K†r5KjóX stamp: 'RAA 12/20/2000 16:51'!r6K†r7Khjì†r8KjKXconvertToCurrentVersion:r9K†r:Khj½†r;Kh¨XvarDictr<K†r=Khj½†r>KjKX
refStream:r?K†r@Khj½†rAKh¨XsmartRefStrmrBK†rCKhX

	rDK†rEKjLXR"subclasses should implement if they wish to convert old instances to modern ones"rFK†rGKjóX! !rHK†rIKhX

rJK†rKKjój¹†rLKh‘XObjectrMK†rNKjóX
 methodsFor: rOK†rPKj˜X'objects from disk'rQK†rRKjóX stamp: 'tk 11/29/2004 15:04'!rSK†rTKhjì†rUKjKXfixUponLoad:rVK†rWKhj½†rXKh¨XaProjectrYK†rZKhj½†r[KjKXseg:r\K†r]Khj½†r^Kh¨XanImageSegmentr_K†r`KhX
	raK†rbKjLX¨"change the object due to conventions that have changed on
the project level.  (sent to all objects in the incoming project).
Specific classes should reimplement this."rcK†rdKjóX! !reK†rfKhX

rgK†rhKjój¹†riKh‘XObjectrjK†rkKjóX
 methodsFor: rlK†rmKj˜X'objects from disk'rnK†roKjóX stamp: 'RAA 1/10/2001 14:02'!rpK†rqKhjì†rrKjKXindexIfCompactrsK†rtKhjì†ruKhX
	rvK†rwKhLj;†rxKj;jë†ryKhX		rzK†r{KjLX*"helps avoid a #respondsTo: in publishing"r|K†r}KjóX! !r~K†rKhX

r€K†rKjój¹†r‚Kh‘XObjectrƒK†r„KjóX
 methodsFor: r…K†r†Kj˜X'objects from disk'r‡K†rˆKjóX stamp: 'tk 2/24/1999 11:08'!r‰K†rŠKhjì†r‹KjKXobjectForDataStream:rŒK†rKhj½†rŽKh¨XrefStrmrK†rKhX
    r‘K†r’KjLX7"Return an object to store on an external data stream."r“K†r”KhX

    r•K†r–KhLj;†r—Khj½†r˜Kj!Xselfr™K†ršKjóX! !r›K†rœKhX

rK†ržKjój¹†rŸKh‘XObjectr K†r¡KjóX
 methodsFor: r¢K†r£Kj˜X'objects from disk'r¤K†r¥KjóX stamp: 'tk 4/8/1999 12:05'!r¦K†r§Khjì†r¨KjKX
readDataFrom:r©K†rªKhj½†r«Kh¨XaDataStreamr¬K†r­Khj½†r®KjKXsize:r¯K†r°Khj½†r±Kh¨X
varsOnDiskr²K†r³KhX
	r´K†rµKjLXG"Fill in the fields of self based on the contents of aDataStream.  Return self.
	 Read in the instance-variables written by Object>>storeDataOn:.
	 NOTE: This method must send beginReference: before reading any objects from aDataStream that might reference it.
	 Allow aDataStream to have fewer inst vars.  See SmartRefStream."r¶K†r·KhX
	r¸K†r¹KhLjµ†rºKh¨X cntInstVars cntIndexedVars r»K†r¼KhLjµ†r½KhX

	r¾K†r¿Kh¨XcntInstVarsrÀK†rÁKhj½†rÂKhLj¸†rÃKhj½†rÄKj!XselfrÅK†rÆKhj½†rÇKjKXclassrÈK†rÉKhj½†rÊKjKXinstSizerËK†rÌKj©jþ†rÍKhX
	rÎK†rÏKj!XselfrÐK†rÑKhj½†rÒKjKXclassrÓK†rÔKhj½†rÕKjKX
isVariablerÖK†r×KhX
		rØK†rÙKjXifTrue:rÚK†rÛKhj½†rÜKhj[†rÝKh¨XcntIndexedVarsrÞK†rßKhj½†ràKhLj¸†ráKhj½†râKh¨X
varsOnDiskrãK†räKhj½†råKjKj8"†ræKhj½†rçKh¨XcntInstVarsrèK†réKj©jþ†rêKhX
				rëK†rìKh¨XcntIndexedVarsríK†rîKhj½†rïKjKjc†rðKhj½†rñKj;jë†ròKhj½†róKjXifTrue:rôK†rõKhj½†röKhj[†r÷KhX
					røK†rùKj!XselfrúK†rûKhj½†rüKjKXerror:rýK†rþKhj½†rÿKj˜X9'Class has changed too much.  Define a convertxxx method'rL†rLhje†rLhje†rLhX
		rL†rLjXifFalse:rL†rLhj½†rLhj[†r	Lh¨XcntIndexedVarsr
L†rLhj½†rLhLj¸†r
Lhj½†rLj;jë†rLj©jþ†rLhX
				rL†rLh¨XcntInstVarsrL†rLhj½†rLhLj¸†rLhj½†rLh¨X
varsOnDiskrL†rLhje†rLj©jþ†rLhX 	rL†rLjLX"OK if fewer than now"rL†rLhX

	r L†r!Lh¨XaDataStreamr"L†r#Lhj½†r$LjKXbeginReference:r%L†r&Lhj½†r'Lj!Xselfr(L†r)Lj©jþ†r*LhX
	r+L†r,Lj;jà†r-Lhj½†r.LjKXto:r/L†r0Lhj½†r1Lh¨XcntInstVarsr2L†r3Lhj½†r4LjKXdo:r5L†r6LhX
		r7L†r8Lhj[†r9LhLjî†r:Lh¨j„!†r;Lhj½†r<LhLjµ†r=Lhj½†r>Lj!Xselfr?L†r@Lhj½†rALjKX
instVarAt:rBL†rCLhj½†rDLh¨j„!†rELhj½†rFLjKXput:rGL†rHLhj½†rILh¨XaDataStreamrJL†rKLhj½†rLLjKXnextrML†rNLhje†rOLj©jþ†rPLhX
	rQL†rRLj;jà†rSLhj½†rTLjKXto:rUL†rVLhj½†rWLh¨XcntIndexedVarsrXL†rYLhj½†rZLjKXdo:r[L†r\LhX
		r]L†r^Lhj[†r_LhLjî†r`Lh¨j„!†raLhj½†rbLhLjµ†rcLhj½†rdLj!XselfreL†rfLhj½†rgLjKXbasicAt:rhL†riLhj½†rjLh¨j„!†rkLhj½†rlLjKXput:rmL†rnLhj½†roLh¨XaDataStreamrpL†rqLhj½†rrLjKXnextrsL†rtLhje†ruLj©jþ†rvLhX
	rwL†rxLjLX1"Total number read MUST be equal to varsOnDisk!!"ryL†rzLhX
	r{L†r|LhLj;†r}Lhj½†r~Lj!XselfrL†r€Lhjí†rLjLXq"If we ever return something other than self, fix calls 
			on (super readDataFrom: aDataStream size: anInteger)"r‚L†rƒLjóX! !r„L†r…LhX

r†L†r‡Ljój¹†rˆLh‘XObjectr‰L†rŠLjóX
 methodsFor: r‹L†rŒLj˜X'objects from disk'rL†rŽLjóX stamp: 'CdG 10/17/2005 20:32'!rL†rLhjì†r‘LjKX
saveOnFiler’L†r“LhX
	r”L†r•LjLXÒ"Ask the user for a filename and save myself on a SmartReferenceStream file.  Writes out the version and class structure.  The file is fileIn-able.  Does not file out the class of the object.  tk 6/26/97 13:48"r–L†r—LhX

	r˜L†r™LhLjµ†ršLh¨X aFileName fileStream r›L†rœLhLjµ†rLhX
	ržL†rŸLh¨X	aFileNamer L†r¡Lhj½†r¢LhLX:=r£L†r¤Lhj½†r¥Lj!Xselfr¦L†r§Lhj½†r¨LjKXclassr©L†rªLhj½†r«LjKXnamer¬L†r­Lhj½†r®LjKX
asFileNamer¯L†r°Lj©jþ†r±Lhjí†r²LjLX"do better?"r³L†r´LhX
	rµL†r¶Lh¨X	aFileNamer·L†r¸Lhj½†r¹LhLX:=rºL†r»Lhj½†r¼Lh‘X	UIManagerr½L†r¾Lhj½†r¿LjKXdefaultrÀL†rÁLhX 
				rÂL†rÃLjKXrequest:rÄL†rÅLhj½†rÆLj˜X'File name?'rÇL†rÈLhj½†rÉLjKX
translatedrÊL†rËLhj½†rÌLjKXinitialAnswer:rÍL†rÎLhj½†rÏLh¨X	aFileNamerÐL†rÑLj©jþ†rÒLhX
	rÓL†rÔLh¨X	aFileNamerÕL†rÖLhj½†r×LjKXsizerØL†rÙLhj½†rÚLjKX==rÛL†rÜLhj½†rÝLj;jë†rÞLhj½†rßLjXifTrue:ràL†ráLhj½†râLhj[†rãLhLj;†räLhj½†råLh‘XBeeperræL†rçLhj½†rèLjKXbeepréL†rêLhje†rëLj©jþ†rìLhX

	ríL†rîLh¨X
fileStreamrïL†rðLhj½†rñLhLX:=ròL†róLhj½†rôLh‘X
FileStreamrõL†röLhj½†r÷LjKX
newFileNamed:røL†rùLhj½†rúLh¨X	aFileNamerûL†rüLhj½†rýLjKX
asFileNamerþL†rÿLj©jþ†rMhX
	rM†rMh¨X
fileStreamrM†rMhj½†rMjKX
fileOutClass:rM†rMhj½†rMj!Xnilr	M†r
Mhj½†rMjKX
andObject:rM†r
Mhj½†rMj!XselfrM†rMj©jþ†rMjóX! !rM†rMhX

rM†rMjój¹†rMh‘XObjectrM†rMjóX
 methodsFor: rM†rMj˜X'objects from disk'rM†rMjóX stamp: 'tk 8/9/2001 15:40'!rM†rMhjì†rMjKXstoreDataOn:r M†r!Mhj½†r"Mh¨XaDataStreamr#M†r$MhX
	r%M†r&MjLX,"Store myself on a DataStream.  Answer self.  This is a low-level DataStream/ReferenceStream method. See also objectToStoreOnDataStream.  NOTE: This method must send 'aDataStream beginInstance:size:' and then (nextPut:/nextPutWeak:) its subobjects.  readDataFrom:size: reads back what we write here."r'M†r(MhX
	r)M†r*MhLjµ†r+Mh¨X cntInstVars cntIndexedVars r,M†r-MhLjµ†r.MhX

	r/M†r0Mh¨XcntInstVarsr1M†r2Mhj½†r3MhLj¸†r4Mhj½†r5Mj!Xselfr6M†r7Mhj½†r8MjKXclassr9M†r:Mhj½†r;MjKXinstSizer<M†r=Mj©jþ†r>MhX
	r?M†r@Mh¨XcntIndexedVarsrAM†rBMhj½†rCMhLj¸†rDMhj½†rEMj!XselfrFM†rGMhj½†rHMjKX	basicSizerIM†rJMj©jþ†rKMhX
	rLM†rMMh¨XaDataStreamrNM†rOMhX
		rPM†rQMjKXbeginInstance:rRM†rSMhj½†rTMj!XselfrUM†rVMhj½†rWMjKXclassrXM†rYMhX
		rZM†r[MjKXsize:r\M†r]Mhj½†r^Mh¨XcntInstVarsr_M†r`Mhj½†raMjKjˆ†rbMhj½†rcMh¨XcntIndexedVarsrdM†reMj©jþ†rfMhX
	rgM†rhMj;jà†riMhj½†rjMjKXto:rkM†rlMhj½†rmMh¨XcntInstVarsrnM†roMhj½†rpMjKXdo:rqM†rrMhX
		rsM†rtMhj[†ruMhLjî†rvMh¨j„!†rwMhj½†rxMhLjµ†ryMhj½†rzMh¨XaDataStreamr{M†r|Mhj½†r}MjKXnextPut:r~M†rMhj½†r€MhjĆrMe(j!Xselfr‚M†rƒMhj½†r„MjKX
instVarAt:r…M†r†Mhj½†r‡Mh¨j„!†rˆMhj߆r‰Mhje†rŠMj©jþ†r‹MhX

	rŒM†rMjLXo"Write fields of a variable length object.  When writing to a dummy 
		stream, don't bother to write the bytes"rŽM†rMhX
	rM†r‘MhjĆr’MhjĆr“Mh¨XaDataStreamr”M†r•Mhj½†r–MjKX
byteStreamr—M†r˜Mhj½†r™MjKXclassršM†r›Mhj½†rœMjKX==rM†ržMhj½†rŸMh‘XDummyStreamr M†r¡Mhj߆r¢Mhj½†r£MjKXand:r¤M†r¥Mhj½†r¦Mhj[†r§Mj!Xselfr¨M†r©Mhj½†rªMjKXclassr«M†r¬Mhj½†r­MjKXisBitsr®M†r¯Mhje†r°Mhj߆r±Mhj½†r²MjXifFalse:r³M†r´Mhj½†rµMhj[†r¶MhX
		r·M†r¸Mj;jà†r¹Mhj½†rºMjKXto:r»M†r¼Mhj½†r½Mh¨XcntIndexedVarsr¾M†r¿Mhj½†rÀMjKXdo:rÁM†rÂMhX
			rÃM†rÄMhj[†rÅMhLjî†rÆMh¨j„!†rÇMhj½†rÈMhLjµ†rÉMhj½†rÊMh¨XaDataStreamrËM†rÌMhj½†rÍMjKXnextPut:rÎM†rÏMhj½†rÐMhjĆrÑMj!XselfrÒM†rÓMhj½†rÔMjKXbasicAt:rÕM†rÖMhj½†r×Mh¨j„!†rØMhj߆rÙMhje†rÚMhje†rÛMj©jþ†rÜMhjì†rÝMjóX! !rÞM†rßMhX


ràM†ráMjój¹†râMh‘XObjectrãM†räMjóX
 methodsFor: råM†ræMj˜X'parts bin'rçM†rèMjóX stamp: 'sw 10/24/2001 16:34'!réM†rêMhjì†rëMjKXdescriptionForPartsBinrìM†ríMhX
	rîM†rïMjLX™"If the receiver is a member of a class that would like to be represented in a parts bin, answer the name by which it should be known, and a documentation string to be provided, for example, as balloon help.  When the 'nativitySelector' is sent to the 'globalReceiver', it is expected that some kind of Morph will result.  The parameters used in the implementation below are for documentation purposes only!!"rðM†rñMhX

	ròM†róMhLj;†rôMhj½†rõMh‘XDescriptionForPartsBinröM†r÷MhX
		røM†rùMjKXformalName:rúM†rûMhj½†rüMj˜X'PutFormalNameHere'rýM†rþMhX
		rÿM†rNjKX
categoryList:rN†rNhj½†rNj´X#(rN†rNj´XPutACategoryHererN†rNhj½†rNj´XMaybePutAnotherCategoryHerer	N†r
Nj´j߆rNhX
		rN†r
NjKXdocumentation:rN†rNhj½†rNj˜X'Put the balloon help here'rN†rNhX
		rN†rNjKXglobalReceiverSymbol:rN†rNhj½†rNj´X#PutAGlobalHererN†rNhX
		rN†rNjKXnativitySelector:rN†rNhj½†rNj´X#PutASelectorHererN†r NjóX! !r!N†r"NhX


r#N†r$Njój¹†r%Nh‘XObjectr&N†r'NjóX
 methodsFor: r(N†r)Nj˜X
'printing'r*N†r+NjóX stamp: 'di 6/20/97 08:57'!r,N†r-Nhjì†r.NjKXfullPrintStringr/N†r0NhX
	r1N†r2NjLXE"Answer a String whose characters are a description of the receiver."r3N†r4NhX

	r5N†r6NhLj;†r7Nhj½†r8Nh‘XStringr9N†r:Nhj½†r;NjKXstreamContents:r<N†r=Nhj½†r>Nhj[†r?NhLjî†r@Nh¨XsrAN†rBNhj½†rCNhLjµ†rDNhj½†rENj!XselfrFN†rGNhj½†rHNjKXprintOn:rIN†rJNhj½†rKNh¨jAN†rLNhje†rMNjóX! !rNN†rONhX

rPN†rQNjój¹†rRNh‘XObjectrSN†rTNjóX
 methodsFor: rUN†rVNj˜X
'printing'rWN†rXNjój¹†rYNhjì†rZNjKX	isLiteralr[N†r\NhX
	r]N†r^NjLXS"Answer whether the receiver has a literal text form recognized by the 
	compiler."r_N†r`NhX

	raN†rbNhLj;†rcNj!XfalserdN†reNjóX! !rfN†rgNhX

rhN†riNjój¹†rjNh‘XObjectrkN†rlNjóX
 methodsFor: rmN†rnNj˜X
'printing'roN†rpNjóX stamp: 'sma 6/1/2000 09:28'!rqN†rrNhjì†rsNjKXlongPrintOn:rtN†ruNhj½†rvNh¨XaStreamrwN†rxNhX
	ryN†rzNjLXf"Append to the argument, aStream, the names and values of all 
	of the receiver's instance variables."r{N†r|NhX

	r}N†r~Nj!XselfrN†r€Nhj½†rNjKXclassr‚N†rƒNhj½†r„NjKXallInstVarNamesr…N†r†Nhj½†r‡NjKXdoWithIndex:rˆN†r‰NhX
		rŠN†r‹Nhj[†rŒNhLjî†rNh¨XtitlerŽN†rNhj½†rNhLjî†r‘Nh¨Xindexr’N†r“Nhj½†r”NhLjµ†r•NhX
		r–N†r—Nh¨XaStreamr˜N†r™Nhj½†ršNjKXnextPutAll:r›N†rœNhj½†rNh¨XtitleržN†rŸNj©j†r NhX
		 r¡N†r¢NjKXnextPut:r£N†r¤Nhj½†r¥Nj­X$:r¦N†r§Nj©j†r¨NhX
		 r©N†rªNjKXspacer«N†r¬Nj©j†r­NhX
		 r®N†r¯NjKXtabr°N†r±Nj©j†r²NhX
		 r³N†r´NjKXprint:rµN†r¶Nhj½†r·NhjĆr¸Nj!Xselfr¹N†rºNhj½†r»NjKX
instVarAt:r¼N†r½Nhj½†r¾Nh¨Xindexr¿N†rÀNhj߆rÁNj©j†rÂNhX
		 rÃN†rÄNjKXcrrÅN†rÆNhje†rÇNjóX! !rÈN†rÉNhX

rÊN†rËNjój¹†rÌNh‘XObjectrÍN†rÎNjóX
 methodsFor: rÏN†rÐNj˜X
'printing'rÑN†rÒNjóX stamp: 'tk 10/19/2001 11:18'!rÓN†rÔNhjì†rÕNjKXlongPrintOn:rÖN†r×Nhj½†rØNh¨XaStreamrÙN†rÚNhj½†rÛNjKX
limitedTo:rÜN†rÝNhj½†rÞNh¨X	sizeLimitrßN†ràNhj½†ráNjKXindent:râN†rãNhj½†räNh¨XindentråN†ræNhX
	rçN†rèNjLX’"Append to the argument, aStream, the names and values of all of the receiver's instance variables.  Limit is the length limit for each inst var."réN†rêNhX

	rëN†rìNj!XselfríN†rîNhj½†rïNjKXclassrðN†rñNhj½†ròNjKXallInstVarNamesróN†rôNhj½†rõNjKXdoWithIndex:röN†r÷NhX
		røN†rùNhj[†rúNhLjî†rûNh¨XtitlerüN†rýNhj½†rþNhLjî†rÿNh¨XindexrO†rOhj½†rOhLjµ†rOhX
		rO†rOh¨XindentrO†rOhj½†rOjXtimesRepeat:r	O†r
Ohj½†rOhj[†rOh¨XaStreamr
O†rOhj½†rOjKXtabrO†rOhje†rOj©jþ†rOhX
		rO†rOh¨XaStreamrO†rOhj½†rOjKXnextPutAll:rO†rOhj½†rOh¨XtitlerO†rOj©j†rOhX
		 rO†r OjKXnextPut:r!O†r"Ohj½†r#Oj­X$:r$O†r%Oj©j†r&OhX
		 r'O†r(OjKXspacer)O†r*Oj©j†r+OhX
		 r,O†r-OjKXtabr.O†r/Oj©j†r0OhX
		 r1O†r2OjKXnextPutAll:r3O†r4OhX 
			r5O†r6OhjĆr7OhjĆr8Oj!Xselfr9O†r:Ohj½†r;OjKX
instVarAt:r<O†r=Ohj½†r>Oh¨Xindexr?O†r@Ohj߆rAOhj½†rBOjKXprintStringLimitedTo:rCO†rDOhj½†rEOhjĆrFOh¨X	sizeLimitrGO†rHOhj½†rIOjKj8"†rJOj;j2†rKOhj½†rLOjKj8"†rMOh¨XtitlerNO†rOOhj½†rPOjKXsizerQO†rROhj½†rSOjKXmax:rTO†rUOhj½†rVOj;jà†rWOhj߆rXOhj߆rYOj©j†rZOhX
		 r[O†r\OjKXcrr]O†r^Ohje†r_OjóX! !r`O†raOhX

rbO†rcOjój¹†rdOh‘XObjectreO†rfOjóX
 methodsFor: rgO†rhOj˜X
'printing'riO†rjOjóX stamp: 'tk 10/16/2001 19:41'!rkO†rlOhjì†rmOjKXlongPrintStringrnO†roOhX
	rpO†rqOjLXE"Answer a String whose characters are a description of the receiver."rrO†rsOhX
	
	rtO†ruOhLjµ†rvOh¨X str rwO†rxOhLjµ†ryOhX
	rzO†r{Oh¨Xstrr|O†r}Ohj½†r~OhLj¸†rOhj½†r€Oh‘XStringrO†r‚Ohj½†rƒOjKXstreamContents:r„O†r…Ohj½†r†Ohj[†r‡OhLjî†rˆOh¨XaStreamr‰O†rŠOhj½†r‹OhLjµ†rŒOhj½†rOj!XselfrŽO†rOhj½†rOjKXlongPrintOn:r‘O†r’Ohj½†r“Oh¨XaStreamr”O†r•Ohje†r–Oj©jþ†r—OhX
	r˜O†r™OjLX3"Objects without inst vars should return something"ršO†r›OhX
	rœO†rOhLj;†ržOhj½†rŸOh¨Xstrr O†r¡Ohj½†r¢OjKXisEmptyr£O†r¤Ohj½†r¥OjXifTrue:r¦O†r§Ohj½†r¨Ohj[†r©Oj!XselfrªO†r«Ohj½†r¬OjKXprintStringr­O†r®OjKj)	†r¯Ohj½†r°Oh‘XStringr±O†r²Ohj½†r³OjKXcrr´O†rµOhje†r¶Ohj½†r·OjXifFalse:r¸O†r¹Ohj½†rºOhj[†r»Oh¨Xstrr¼O†r½Ohje†r¾OjóX! !r¿O†rÀOhX

rÁO†rÂOjój¹†rÃOh‘XObjectrÄO†rÅOjóX
 methodsFor: rÆO†rÇOj˜X
'printing'rÈO†rÉOjóX stamp: 'BG 11/7/2004 13:39'!rÊO†rËOhjì†rÌOjKXlongPrintStringLimitedTo:rÍO†rÎOhj½†rÏOh¨XaLimitValuerÐO†rÑOhX
	rÒO†rÓOjLXE"Answer a String whose characters are a description of the receiver."rÔO†rÕOhX
	
	rÖO†r×OhLjµ†rØOh¨X str rÙO†rÚOhLjµ†rÛOhX
	rÜO†rÝOh¨XstrrÞO†rßOhj½†ràOhLj¸†ráOhj½†râOh‘XStringrãO†räOhj½†råOjKXstreamContents:ræO†rçOhj½†rèOhj[†réOhLjî†rêOh¨XaStreamrëO†rìOhj½†ríOhLjµ†rîOhj½†rïOj!XselfrðO†rñOhj½†ròOjKXlongPrintOn:róO†rôOhj½†rõOh¨XaStreamröO†r÷Ohj½†røOjKX
limitedTo:rùO†rúOhj½†rûOh¨XaLimitValuerüO†rýOhj½†rþOjKXindent:rÿO†rPhj½†rPj;jë†rPhje†rPj©jþ†rPhX
	rP†rPjLX3"Objects without inst vars should return something"rP†rPhX
	r	P†r
PhLj;†rPhj½†rPh¨Xstrr
P†rPhj½†rPjKXisEmptyrP†rPhj½†rPjXifTrue:rP†rPhj½†rPhj[†rPj!XselfrP†rPhj½†rPjKXprintStringrP†rPjKj)	†rPhj½†rPh‘XStringrP†rPhj½†r PjKXcrr!P†r"Phje†r#Phj½†r$PjXifFalse:r%P†r&Phj½†r'Phj[†r(Ph¨Xstrr)P†r*Phje†r+PjóX! !r,P†r-PhX

r.P†r/Pjój¹†r0Ph‘XObjectr1P†r2PjóX
 methodsFor: r3P†r4Pj˜X
'printing'r5P†r6PjóX stamp: 'sw 3/7/2001 13:14'!r7P†r8Phjì†r9PjKXnominallyUnsent:r:P†r;Phj½†r<Ph¨XaSelectorSymbolr=P†r>PhX
	r?P†r@PjLXB"From within the body of a method which is not formally sent within the system, but which you intend to have remain in the system (for potential manual invocation, or for documentation, or perhaps because it's sent by commented-out-code that you anticipate uncommenting out someday, send this message, with the selector itself as the argument.

This will serve two purposes:

	(1)  The method will not be returned by searches for unsent selectors (because it, in a manner of speaking, sends itself).
	(2)	You can locate all such methods by browsing senders of #nominallyUnsent:"rAP†rBPhX

	rCP†rDPj!XfalserEP†rFPhj½†rGPjXifTrue:rHP†rIPhj½†rJPhj[†rKPj!XselfrLP†rMPhj½†rNPjKXflag:rOP†rPPhj½†rQPj´X#nominallyUnsent:rRP†rSPhje†rTPhX    rUP†rVPjLX3"So that this method itself will appear to be sent"rWP†rXPhjì†rYPjóX! !rZP†r[PhX

r\P†r]Pjój¹†r^Ph‘XObjectr_P†r`PjóX
 methodsFor: raP†rbPj˜X
'printing'rcP†rdPjóX stamp: 'sma 6/1/2000 09:31'!reP†rfPhjì†rgPjKXprintOn:rhP†riPhj½†rjPh¨XaStreamrkP†rlPhX
	rmP†rnPjLX\"Append to the argument, aStream, a sequence of characters that  
	identifies the receiver."roP†rpPhX

	rqP†rrPhLjµ†rsPh¨X title rtP†ruPhLjµ†rvPhX
	rwP†rxPh¨XtitleryP†rzPhj½†r{PhLj¸†r|Phj½†r}Pj!Xselfr~P†rPhj½†r€PjKXclassrP†r‚Phj½†rƒPjKXnamer„P†r…Pj©jþ†r†PhX
	r‡P†rˆPh¨XaStreamr‰P†rŠPhX
		r‹P†rŒPjKXnextPutAll:rP†rŽPhj½†rPhjĆrPh¨Xtitler‘P†r’Phj½†r“PjKXfirstr”P†r•Phj½†r–PjKXisVowelr—P†r˜Phj½†r™PjXifTrue:ršP†r›Phj½†rœPhj[†rPj˜X'an 'ržP†rŸPhje†r Phj½†r¡PjXifFalse:r¢P†r£Phj½†r¤Phj[†r¥Pj˜X'a 'r¦P†r§Phje†r¨Phj߆r©Pj©j†rªPhX
		r«P†r¬PjKXnextPutAll:r­P†r®Phj½†r¯Ph¨Xtitler°P†r±PjóX! !r²P†r³PhX

r´P†rµPjój¹†r¶Ph‘XObjectr·P†r¸PjóX
 methodsFor: r¹P†rºPj˜X
'printing'r»P†r¼PjóX stamp: 'sma 6/1/2000 09:22'!r½P†r¾Phjì†r¿PjKXprintStringrÀP†rÁPhX
	rÂP†rÃPjLXŒ"Answer a String whose characters are a description of the receiver. 
	If you want to print without a character limit, use fullPrintString."rÄP†rÅPhX

	rÆP†rÇPhLj;†rÈPhj½†rÉPj!XselfrÊP†rËPhj½†rÌPjKXprintStringLimitedTo:rÍP†rÎPhj½†rÏPj;X50000rÐP†rÑPjóX! !rÒP†rÓPhX

rÔP†rÕPjój¹†rÖPh‘XObjectr×P†rØPjóX
 methodsFor: rÙP†rÚPj˜X
'printing'rÛP†rÜPjóX stamp: 'tk 5/7/1999 16:20'!rÝP†rÞPhjì†rßPjKXprintStringLimitedTo:ràP†ráPhj½†râPh¨XlimitrãP†räPhX
	råP†ræPjLX‹"Answer a String whose characters are a description of the receiver.
	If you want to print without a character limit, use fullPrintString."rçP†rèPhX
	réP†rêPhLjµ†rëPh¨X limitedString rìP†ríPhLjµ†rîPhX
	rïP†rðPh¨X
limitedStringrñP†ròPhj½†róPhLj¸†rôPhj½†rõPh‘XStringröP†r÷Phj½†røPjKXstreamContents:rùP†rúPhj½†rûPhj[†rüPhLjî†rýPh¨jAN†rþPhj½†rÿPhLjµ†rQhj½†rQj!XselfrQ†rQhj½†rQjKXprintOn:rQ†rQhj½†rQh¨jAN†rQhje†r	Qhj½†r
QjKX
limitedTo:rQ†rQhj½†r
Qh¨XlimitrQ†rQj©jþ†rQhX
	rQ†rQh¨X
limitedStringrQ†rQhj½†rQjKXsizerQ†rQhj½†rQjKjc†rQhj½†rQh¨XlimitrQ†rQhj½†rQjXifTrue:rQ†rQhj½†r Qhj[†r!QhLj;†r"Qhj½†r#Qh¨X
limitedStringr$Q†r%Qhje†r&Qj©jþ†r'QhX
	r(Q†r)QhLj;†r*Qhj½†r+Qh¨X
limitedStringr,Q†r-Qhj½†r.QjKj)	†r/Qhj½†r0Qj˜X'...etc...'r1Q†r2QjóX! !r3Q†r4QhX

r5Q†r6Qjój¹†r7Qh‘XObjectr8Q†r9QjóX
 methodsFor: r:Q†r;Qj˜X
'printing'r<Q†r=QjóX stamp: 'MPW 1/1/1901 00:30'!r>Q†r?Qhjì†r@QjKXpropertyListrAQ†rBQhX
	rCQ†rDQjLXS"Answer a String whose characters are a property-list description of the receiver."rEQ†rFQhX

	rGQ†rHQhLj;†rIQhj½†rJQh‘XPropertyListEncoderrKQ†rLQhj½†rMQjKXprocess:rNQ†rOQj!XselfrPQ†rQQj©jþ†rRQhjì†rSQjóX! !rTQ†rUQhX

rVQ†rWQjój¹†rXQh‘XObjectrYQ†rZQjóX
 methodsFor: r[Q†r\Qj˜X
'printing'r]Q†r^QjóX stamp: 'sw 10/17/2000 11:16'!r_Q†r`Qhjì†raQjKXreportableSizerbQ†rcQhX
	rdQ†reQjLXi"Answer a string that reports the size of the receiver -- useful for showing in a list view, for example"rfQ†rgQhX

	rhQ†riQhLj;†rjQhj½†rkQhjĆrlQj!XselfrmQ†rnQhj½†roQjKX	basicSizerpQ†rqQhj½†rrQjKjˆ†rsQhj½†rtQj!XselfruQ†rvQhj½†rwQjKXclassrxQ†ryQhj½†rzQjKXinstSizer{Q†r|Qhj߆r}Qhj½†r~QjKXprintStringrQ†r€QjóX! !rQ†r‚QhX

rƒQ†r„Qjój¹†r…Qh‘XObjectr†Q†r‡QjóX
 methodsFor: rˆQ†r‰Qj˜X
'printing'rŠQ†r‹Qjój¹†rŒQhjì†rQjKXstoreOn:rŽQ†rQhj½†rQh¨XaStreamr‘Q†r’QhX 
	r“Q†r”QjLX"Append to the argument aStream a sequence of characters that is an 
	expression whose evaluation creates an object similar to the receiver."r•Q†r–QhX

	r—Q†r˜Qh¨XaStreamr™Q†ršQhj½†r›QjKXnextPut:rœQ†rQhj½†ržQj­X$(rŸQ†r Qj©jþ†r¡QhX
	r¢Q†r£Qj!Xselfr¤Q†r¥Qhj½†r¦QjKXclassr§Q†r¨Qhj½†r©QjKX
isVariablerªQ†r«QhX
		r¬Q†r­QjXifTrue:r®Q†r¯Qhj½†r°Qhj[†r±Qh¨XaStreamr²Q†r³Qhj½†r´QjKXnextPutAll:rµQ†r¶Qhj½†r·Qj˜X'('r¸Q†r¹QjKj)	†rºQhj½†r»Qj!Xselfr¼Q†r½Qhj½†r¾QjKXclassr¿Q†rÀQhj½†rÁQjKXnamerÂQ†rÃQjKj)	†rÄQhj½†rÅQj˜X
' basicNew: 'rÆQ†rÇQj©j†rÈQhX
					rÉQ†rÊQjKXstore:rËQ†rÌQhj½†rÍQj!XselfrÎQ†rÏQhj½†rÐQjKX	basicSizerÑQ†rÒQj©j†rÓQhX
					rÔQ†rÕQjKXnextPutAll:rÖQ†r×Qhj½†rØQj˜X') 'rÙQ†rÚQhje†rÛQhX
		rÜQ†rÝQjXifFalse:rÞQ†rßQhj½†ràQhj[†ráQh¨XaStreamrâQ†rãQhj½†räQjKXnextPutAll:råQ†ræQhj½†rçQj!XselfrèQ†réQhj½†rêQjKXclassrëQ†rìQhj½†ríQjKXnamerîQ†rïQjKj)	†rðQhj½†rñQj˜X' basicNew'ròQ†róQhje†rôQj©jþ†rõQhX
	röQ†r÷Qj;jà†røQhj½†rùQjKXto:rúQ†rûQhj½†rüQj!XselfrýQ†rþQhj½†rÿQjKXclassrR†rRhj½†rRjKXinstSizerR†rRhj½†rRjKXdo:rR†rRhX
		rR†r	Rhj[†r
RhLjî†rRh¨j„!†rRhj½†r
RhLjµ†rRhX
		rR†rRh¨XaStreamrR†rRhj½†rRjKXnextPutAll:rR†rRhj½†rRj˜X' instVarAt: 'rR†rRj©j†rRhX
			rR†rRjKXstore:rR†rRhj½†rRh¨j„!†rRj©j†r RhX
			r!R†r"RjKXnextPutAll:r#R†r$Rhj½†r%Rj˜X' put: 'r&R†r'Rj©j†r(RhX
			r)R†r*RjKXstore:r+R†r,Rhj½†r-RhjĆr.Rj!Xselfr/R†r0Rhj½†r1RjKX
instVarAt:r2R†r3Rhj½†r4Rh¨j„!†r5Rhj߆r6Rj©j†r7RhX
			r8R†r9RjKXnextPut:r:R†r;Rhj½†r<Rj­X$;r=R†r>Rhje†r?Rj©jþ†r@RhX
	rAR†rBRj;jà†rCRhj½†rDRjKXto:rER†rFRhj½†rGRj!XselfrHR†rIRhj½†rJRjKX	basicSizerKR†rLRhj½†rMRjKXdo:rNR†rORhX
		rPR†rQRhj[†rRRhLjî†rSRh¨j„!†rTRhj½†rURhLjµ†rVRhX
		rWR†rXRh¨XaStreamrYR†rZRhj½†r[RjKXnextPutAll:r\R†r]Rhj½†r^Rj˜X' basicAt: 'r_R†r`Rj©j†raRhX
			rbR†rcRjKXstore:rdR†reRhj½†rfRh¨j„!†rgRj©j†rhRhX
			riR†rjRjKXnextPutAll:rkR†rlRhj½†rmRj˜X' put: 'rnR†roRj©j†rpRhX
			rqR†rrRjKXstore:rsR†rtRhj½†ruRhjĆrvRj!XselfrwR†rxRhj½†ryRjKXbasicAt:rzR†r{Rhj½†r|Rh¨j„!†r}Rhj߆r~Rj©j†rRhX
			r€R†rRjKXnextPut:r‚R†rƒRhj½†r„Rj­X$;r…R†r†Rhje†r‡Rj©jþ†rˆRhX
	r‰R†rŠRh¨XaStreamr‹R†rŒRhj½†rRjKXnextPutAll:rŽR†rRhj½†rRj˜X' yourself)'r‘R†r’Rhjì†r“RjóX! !r”R†r•RhX

r–R†r—Rjój¹†r˜Rh‘XObjectr™R†ršRjóX
 methodsFor: r›R†rœRj˜X
'printing'rR†ržRjóX stamp: 'di 6/20/97 09:12'!rŸR†r Rhjì†r¡RjKXstoreStringr¢R†r£RhX
	r¤R†r¥RjLX`"Answer a String representation of the receiver from which the receiver 
	can be reconstructed."r¦R†r§RhX

	r¨R†r©RhLj;†rªRhj½†r«Rh‘XStringr¬R†r­Rhj½†r®RjKXstreamContents:r¯R†r°Rhj½†r±Rhj[†r²RhLjî†r³Rh¨jAN†r´Rhj½†rµRhLjµ†r¶Rhj½†r·Rj!Xselfr¸R†r¹Rhj½†rºRjKXstoreOn:r»R†r¼Rhj½†r½Rh¨jAN†r¾Rhje†r¿RjóX! !rÀR†rÁRhX

rÂR†rÃRjój¹†rÄRh‘XObjectrÅR†rÆRjóX
 methodsFor: rÇR†rÈRj˜X
'printing'rÉR†rÊRjóX stamp: 'sw 5/2/1998 13:55'!rËR†rÌRhjì†rÍRjKXstringForReadoutrÎR†rÏRhX
	rÐR†rÑRhLj;†rÒRhj½†rÓRj!XselfrÔR†rÕRhj½†rÖRjKXstringRepresentationr×R†rØRjóX! !rÙR†rÚRhX

rÛR†rÜRjój¹†rÝRh‘XObjectrÞR†rßRjóX
 methodsFor: ràR†ráRj˜X
'printing'râR†rãRjój¹†räRhjì†råRjKXstringRepresentationræR†rçRhX
	rèR†réRjLXš"Answer a string that represents the receiver.  For most objects this is simply its printString, but for strings themselves, it's themselves.  6/12/96 sw"rêR†rëRhX

	rìR†ríRhLj;†rîRhj½†rïRj!XselfrðR†rñRhj½†ròRjKXprintStringróR†rôRhj½†rõRjóX! !röR†r÷RhX


røR†rùRjój¹†rúRh‘XObjectrûR†rüRjóX
 methodsFor: rýR†rþRj˜X'scripting'rÿR†rSjóX stamp: 'ar 3/17/2001 20:11'!rS†rShjì†rSjKXadaptedToWorld:rS†rShj½†rSh¨XaWorldrS†rShX
	r	S†r
SjLXS"If I refer to a world or a hand, return the corresponding items in the new world."rS†rShX
	r
S†rShLj;†rSj!XselfrS†rSjóX! !rS†rShX

rS†rSjój¹†rSh‘XObjectrS†rSjóX
 methodsFor: rS†rSj˜X'scripting'rS†rSjóX stamp: 'sw 3/10/2000 13:57'!rS†rShjì†rSjKXdefaultFloatPrecisionFor:r S†r!Shj½†r"Sh¨XaGetSelectorr#S†r$ShX
	r%S†r&SjLX}"Answer a number indicating the default float precision to be used in a numeric readout for which the receiver is the model."r'S†r(ShX

	r)S†r*ShLj;†r+Shj½†r,Sj;jà†r-SjóX! !r.S†r/ShX

r0S†r1Sjój¹†r2Sh‘XObjectr3S†r4SjóX
 methodsFor: r5S†r6Sj˜X'scripting'r7S†r8SjóX stamp: 'RAA 3/9/2001 17:08'!r9S†r:Shjì†r;SjKXevaluateUnloggedForSelf:r<S†r=Shj½†r>Sh¨XaCodeStringr?S†r@ShX

	rAS†rBShLj;†rCSh‘XCompilerrDS†rEShj½†rFSjKX	evaluate:rGS†rHShX
		rIS†rJSh¨XaCodeStringrKS†rLShX
		rMS†rNSjKXfor:rOS†rPShj½†rQSj!XselfrRS†rSShX
		rTS†rUSjKXlogged:rVS†rWShj½†rXSj!XfalserYS†rZSjóX! !r[S†r\ShX

r]S†r^Sjój¹†r_Sh‘XObjectr`S†raSjóX
 methodsFor: rbS†rcSj˜X'scripting'rdS†reSjóX stamp: 'yo 12/25/2003 16:43'!rfS†rgShjì†rhSjKXmethodInterfacesForCategory:riS†rjShj½†rkSh¨XaCategorySymbolrlS†rmShj½†rnSjKX
inVocabulary:roS†rpShj½†rqSh¨XaVocabularyrrS†rsShj½†rtSjKXlimitClass:ruS†rvShj½†rwSh¨XaLimitClassrxS†ryShX
	rzS†r{Se(jLXÍ"Return a list of methodInterfaces for the receiver in the given category, given a vocabulary.  aCategorySymbol is the inherent category symbol, not necessarily the wording as expressed in the vocabulary."r|S†r}ShX

	r~S†rShLjµ†r€Sh¨X categorySymbol rS†r‚ShLjµ†rƒShX
	r„S†r…Sh¨XcategorySymbolr†S†r‡Shj½†rˆShLj¸†r‰Shj½†rŠSh¨XaCategorySymbolr‹S†rŒShj½†rSjKXasSymbolrŽS†rSj©jþ†rShX

	r‘S†r’ShjĆr“Sh¨XcategorySymbolr”S†r•Shj½†r–SjKX==r—S†r˜Shj½†r™Sh‘XScriptingSystemršS†r›Shj½†rœSjKX nameForInstanceVariablesCategoryrS†ržShj߆rŸShj½†r SjXifTrue:r¡S†r¢Shj½†r£Shj[†r¤ShX
		r¥S†r¦SjLX!"user-defined instance variables"r§S†r¨ShX
		r©S†rªShLj;†r«Shj½†r¬Sj!Xselfr­S†r®Shj½†r¯SjKX/methodInterfacesForInstanceVariablesCategoryIn:r°S†r±Shj½†r²Sh¨XaVocabularyr³S†r´Shje†rµSj©jþ†r¶ShX
	r·S†r¸ShjĆr¹Sh¨XcategorySymbolrºS†r»Shj½†r¼SjKX==r½S†r¾Shj½†r¿Sh‘XScriptingSystemrÀS†rÁShj½†rÂSjKXnameForScriptsCategoryrÃS†rÄShj߆rÅShj½†rÆSjXifTrue:rÇS†rÈShj½†rÉShj[†rÊShX
		rËS†rÌSjLX"user-defined scripts"rÍS†rÎShX
		rÏS†rÐShLj;†rÑShj½†rÒSj!XselfrÓS†rÔShj½†rÕSjKX%methodInterfacesForScriptsCategoryIn:rÖS†r×Shj½†rØSh¨XaVocabularyrÙS†rÚShje†rÛSj©jþ†rÜShX
	rÝS†rÞSjLX"all others"rßS†ràShX
	ráS†râShLj;†rãShj½†räSj!XselfråS†ræShj½†rçSjKXusableMethodInterfacesIn:rèS†réShj½†rêShjĆrëSh¨XaVocabularyrìS†ríShj½†rîSjKXmethodInterfacesInCategory:rïS†rðShj½†rñSh¨XcategorySymbolròS†róShX
		rôS†rõSjKXforInstance:röS†r÷Shj½†røSj!XselfrùS†rúShX
		rûS†rüSjKXofClass:rýS†rþShj½†rÿSj!XselfrT†rThj½†rTjKXclassrT†rThX
		rT†rTjKXlimitClass:rT†rThj½†r	Th¨XaLimitClassr
T†rThj߆rThjì†r
TjóX! !rT†rThX

rT†rTjój¹†rTh‘XObjectrT†rTjóX
 methodsFor: rT†rTj˜X'scripting'rT†rTjóX stamp: 'sw 8/3/2001 13:54'!rT†rThjì†rTjKX/methodInterfacesForInstanceVariablesCategoryIn:rT†rThj½†rTh¨XaVocabularyrT†r ThX
	r!T†r"TjLXÌ"Return a collection of methodInterfaces for the instance-variables category.  The vocabulary parameter, at present anyway, is not used.  And for non-players, the method is at present vacuous in any case"r#T†r$ThX

	r%T†r&ThLj;†r'ThX  r(T†r)Th‘XOrderedCollectionr*T†r+Thj½†r,TjXnewr-T†r.TjóX! !r/T†r0ThX

r1T†r2Tjój¹†r3Th‘XObjectr4T†r5TjóX
 methodsFor: r6T†r7Tj˜X'scripting'r8T†r9TjóX stamp: 'sw 8/3/2001 13:53'!r:T†r;Thjì†r<TjKX%methodInterfacesForScriptsCategoryIn:r=T†r>Thj½†r?Th¨XaVocabularyr@T†rAThX
	rBT†rCTjLXÖ"Answer a list of method interfaces for the category #scripts, as seen in a viewer or other tool.  The vocabulary argument is not presently used.  Also, at present, only Players really do anyting interesting here."rDT†rEThX

	rFT†rGThLj;†rHThj½†rITh‘XOrderedCollectionrJT†rKThj½†rLTjXnewrMT†rNTjóX! !rOT†rPThX

rQT†rRTjój¹†rSTh‘XObjectrTT†rUTjóX
 methodsFor: rVT†rWTj˜X'scripting'rXT†rYTjóX stamp: 'RAA 2/16/2001 19:37'!rZT†r[Thjì†r\TjKXselfWrittenAsIllr]T†r^Thjì†r_ThX
	r`T†raThLj;†rbTj!XselfrcT†rdTjóX! !reT†rfThX

rgT†rhTjój¹†riTh‘XObjectrjT†rkTjóX
 methodsFor: rlT†rmTj˜X'scripting'rnT†roTjóX stamp: 'RAA 2/16/2001 19:38'!rpT†rqThjì†rrTjKXselfWrittenAsImrsT†rtThjì†ruThX
	rvT†rwThLj;†rxTj!XselfryT†rzTjóX! !r{T†r|ThX

r}T†r~Tjój¹†rTh‘XObjectr€T†rTjóX
 methodsFor: r‚T†rƒTj˜X'scripting'r„T†r…TjóX stamp: 'RAA 2/16/2001 19:37'!r†T†r‡Thjì†rˆTjKXselfWrittenAsMer‰T†rŠThjì†r‹ThX
	rŒT†rThLj;†rŽTj!XselfrT†rTjóX! !r‘T†r’ThX

r“T†r”Tjój¹†r•Th‘XObjectr–T†r—TjóX
 methodsFor: r˜T†r™Tj˜X'scripting'ršT†r›TjóX stamp: 'RAA 2/16/2001 19:37'!rœT†rThjì†ržTjKXselfWrittenAsMyrŸT†r Thjì†r¡ThX
	r¢T†r£ThLj;†r¤Tj!Xselfr¥T†r¦TjóX! !r§T†r¨ThX

r©T†rªTjój¹†r«Th‘XObjectr¬T†r­TjóX
 methodsFor: r®T†r¯Tj˜X'scripting'r°T†r±TjóX stamp: 'RAA 2/16/2001 19:38'!r²T†r³Thjì†r´TjKXselfWrittenAsThisrµT†r¶Thjì†r·ThX
	r¸T†r¹ThLj;†rºTj!Xselfr»T†r¼TjóX! !r½T†r¾ThX


r¿T†rÀTjój¹†rÁTh‘XObjectrÂT†rÃTjóX
 methodsFor: rÄT†rÅTj˜X'scripts-kernel'rÆT†rÇTjóX stamp: 'nk 10/14/2004 10:55'!rÈT†rÉThjì†rÊTjKXuniversalTilesForGetterOf:rËT†rÌThj½†rÍTh¨XaMethodInterfacerÎT†rÏThX
	rÐT†rÑTjLXD"Return universal tiles for a getter on the given method interface."rÒT†rÓThX

	rÔT†rÕThLjµ†rÖTh¨X! ms argTile argArray itsSelector r×T†rØThLjµ†rÙThX
	rÚT†rÛTh¨XitsSelectorrÜT†rÝThj½†rÞThLj¸†rßThj½†ràTh¨XaMethodInterfaceráT†râThj½†rãTjKXselectorräT†råTj©jþ†ræThX
	rçT†rèTh¨XargArrayréT†rêThj½†rëThLj¸†rìThj½†ríTj´X#(rîT†rïTj´j߆rðTj©jþ†rñThX

	ròT†róTjLX#"Four gratuituous special cases..."rôT†rõThX

	röT†r÷ThjĆrøTh¨XitsSelectorrùT†rúThj½†rûTjKX==rüT†rýThj½†rþTj´X#color:sees:rÿT†rUhj߆rUhj½†rUjXifTrue:rU†rUhX
		rU†rUhj[†rUh¨XargTilerU†r	Uhj½†r
UhLj¸†rUhj½†rUh‘XScriptingSystemr
U†rUhj½†rUjKXtileForArgType:rU†rUhj½†rUj´X#ColorrU†rUj©jþ†rUhX
		rU†rUh¨XargArrayrU†rUhj½†rUhLj¸†rUhj½†rUh‘XArrayrU†rUhj½†rUjKXwith:r U†r!Uhj½†r"Uh¨XargTiler#U†r$Uhj½†r%UjKXcolorSwatchr&U†r'Uhj½†r(UjKXcolorr)U†r*Uhj½†r+UjKXwith:r,U†r-Uhj½†r.Uh¨XargTiler/U†r0Uhj½†r1UjKXcolorSwatchr2U†r3Uhj½†r4UjKXcolorr5U†r6Uhj½†r7UjKXcopyr8U†r9Uhje†r:Uj©jþ†r;UhX

	r<U†r=Uh¨XitsSelectorr>U†r?Uhj½†r@UjKX==rAU†rBUhj½†rCUj´X#seesColor:rDU†rEUhj½†rFUjXifTrue:rGU†rHUhX
		rIU†rJUhj[†rKUh¨XargTilerLU†rMUhj½†rNUhLj¸†rOUhj½†rPUh‘XScriptingSystemrQU†rRUhj½†rSUjKXtileForArgType:rTU†rUUhj½†rVUj´X#ColorrWU†rXUj©jþ†rYUhX
		rZU†r[Uh¨XargArrayr\U†r]Uhj½†r^UhLj¸†r_UhX  r`U†raUh‘XArrayrbU†rcUhj½†rdUjKXwith:reU†rfUhj½†rgUh¨XargTilerhU†riUhj½†rjUjKXcolorSwatchrkU†rlUhj½†rmUjKXcolorrnU†roUhje†rpUj©jþ†rqUhX

	rrU†rsUhjĆrtUj´X#(ruU†rvUj´X	touchesA:rwU†rxUhj½†ryUj´X	overlaps:rzU†r{Uhj½†r|Uj´XoverlapsAny:r}U†r~Uj´j߆rUhj½†r€UjKX	includes:rU†r‚Uhj½†rƒUh¨XitsSelectorr„U†r…Uhj߆r†Uhj½†r‡UjXifTrue:rˆU†r‰UhX
		rŠU†r‹Uhj[†rŒUh¨XargTilerU†rŽUhj½†rUhLj¸†rUhj½†r‘Uh‘XScriptingSystemr’U†r“Uhj½†r”UjKXtileForArgType:r•U†r–Uhj½†r—Uj´X#Playerr˜U†r™Uj©jþ†ršUhX
		r›U†rœUh¨XargArrayrU†ržUhj½†rŸUhLj¸†r Uhj½†r¡Uh‘XArrayr¢U†r£Uhj½†r¤UjKXwith:r¥U†r¦Uhj½†r§Uh¨XargTiler¨U†r©Uhj½†rªUjKXactualObjectr«U†r¬Uhje†r­Uj©jþ†r®UhX

	r¯U†r°Uh¨Xmsr±U†r²Uhj½†r³UhLj¸†r´Uhj½†rµUh‘XMessageSendr¶U†r·Uhj½†r¸UjKX	receiver:r¹U†rºUhj½†r»Uj!Xselfr¼U†r½Uhj½†r¾UjKX	selector:r¿U†rÀUhj½†rÁUh¨XitsSelectorrÂU†rÃUhj½†rÄUjKX
arguments:rÅU†rÆUhj½†rÇUh¨XargArrayrÈU†rÉUj©jþ†rÊUhX
	rËU†rÌUhLj;†rÍUhj½†rÎUh¨XmsrÏU†rÐUhj½†rÑUjKX
asTilesIn:rÒU†rÓUhj½†rÔUj!XselfrÕU†rÖUhj½†r×UjKXclassrØU†rÙUhj½†rÚUjKXglobalNames:rÛU†rÜUhj½†rÝUhjĆrÞUj!XselfrßU†ràUhj½†ráUjKXclassrâU†rãUhj½†räUjKX
officialClassråU†ræUhj½†rçUjKX~~rèU†réUhj½†rêUh‘X
CardPlayerrëU†rìUhj߆ríUhX
			rîU†rïUjLXF"For CardPlayers, use 'self'.  For others, name it, and use its name."rðU†rñUjóX! !ròU†róUhX

rôU†rõUjój¹†röUh‘XObjectr÷U†røUjóX
 methodsFor: rùU†rúUj˜X'scripts-kernel'rûU†rüUjóX stamp: 'tk 9/28/2001 13:30'!rýU†rþUhjì†rÿUjKXuniversalTilesForInterface:rV†rVhj½†rVh¨XaMethodInterfacerV†rVhX
	rV†rVjLXM"Return universal tiles for the given method interface.  Record who self is."rV†rVhX

	r	V†r
VhLjµ†rVh¨X& ms argTile itsSelector aType argList rV†r
VhLjµ†rVhX
	rV†rVh¨XitsSelectorrV†rVhj½†rVhLj¸†rVhj½†rVh¨XaMethodInterfacerV†rVhj½†rVjKXselectorrV†rVj©jþ†rVhX
	rV†rVh¨XargListrV†rVhj½†r VhLj¸†r!Vhj½†r"Vh‘XOrderedCollectionr#V†r$Vhj½†r%VjXnewr&V†r'Vj©jþ†r(VhX
	r)V†r*Vh¨XaMethodInterfacer+V†r,Vhj½†r-VjKXargumentVariablesr.V†r/Vhj½†r0VjKXdoWithIndex:r1V†r2VhX
		r3V†r4Vhj[†r5VhLjî†r6Vh¨XanArgumentVariabler7V†r8Vhj½†r9VhLjî†r:Vh¨XanIndexr;V†r<Vhj½†r=VhLjµ†r>VhX 
			r?V†r@Vh¨XargTilerAV†rBVhj½†rCVhLj¸†rDVhj½†rEVh‘XScriptingSystemrFV†rGVhj½†rHVjKXtileForArgType:rIV†rJVhj½†rKVhjĆrLVh¨XaTyperMV†rNVhj½†rOVhLj¸†rPVhj½†rQVh¨XaMethodInterfacerRV†rSVhj½†rTVjKXtypeForArgumentNumber:rUV†rVVhj½†rWVh¨XanIndexrXV†rYVhj߆rZVj©jþ†r[VhX
			r\V†r]Vh¨XargListr^V†r_Vhj½†r`VjKXadd:raV†rbVhj½†rcVhjĆrdVh¨XaTypereV†rfVhj½†rgVjKX==rhV†riVhj½†rjVj´X#PlayerrkV†rlVhX 
				rmV†rnVjXifTrue:roV†rpVhj½†rqVhj[†rrVh¨XargTilersV†rtVhj½†ruVjKXactualObjectrvV†rwVhje†rxVhX
				ryV†rzVjXifFalse:r{V†r|Vhj½†r}Vhj[†r~Vh¨XargTilerV†r€Vhj½†rVjKXliteralr‚V†rƒVhje†r„Vhj߆r…Vj©jþ†r†Vhjí†r‡VjLX"default value for each type"rˆV†r‰Vhje†rŠVj©jþ†r‹VhX

	rŒV†rVh¨XmsrŽV†rVhj½†rVhLj¸†r‘Vhj½†r’Vh‘XMessageSendr“V†r”Vhj½†r•VjKX	receiver:r–V†r—Vhj½†r˜Vj!Xselfr™V†ršVhj½†r›VjKX	selector:rœV†rVhj½†ržVh¨XitsSelectorrŸV†r Vhj½†r¡VjKX
arguments:r¢V†r£Vhj½†r¤Vh¨XargListr¥V†r¦Vhj½†r§VjKXasArrayr¨V†r©Vj©jþ†rªVhX
	r«V†r¬VhLj;†r­Vhj½†r®Vh¨Xmsr¯V†r°Vhj½†r±VjKX
asTilesIn:r²V†r³Vhj½†r´Vj!XselfrµV†r¶Vhj½†r·VjKXclassr¸V†r¹Vhj½†rºVjKXglobalNames:r»V†r¼Vhj½†r½VhjĆr¾Vj!Xselfr¿V†rÀVhj½†rÁVjKXclassrÂV†rÃVhj½†rÄVjKX
officialClassrÅV†rÆVhj½†rÇVjKX~~rÈV†rÉVhj½†rÊVh‘X
CardPlayerrËV†rÌVhj߆rÍVhX
			rÎV†rÏVjLXF"For CardPlayers, use 'self'.  For others, name it, and use its name."rÐV†rÑVjóX! !rÒV†rÓVhX


rÔV†rÕVjój¹†rÖVh‘XObjectr×V†rØVjóX
 methodsFor: rÙV†rÚVj˜X'self evaluating'rÛV†rÜVjóX stamp: 'sd 7/31/2005 21:47'!rÝV†rÞVhjì†rßVjKXisSelfEvaluatingràV†ráVhX
	râV†rãVhLj;†räVhj½†råVj!XselfræV†rçVhj½†rèVjKX	isLiteralréV†rêVjóX! !rëV†rìVhX


ríV†rîVjój¹†rïVh‘XObjectrðV†rñVjóX
 methodsFor: ròV†róVj˜X'system primitives'rôV†rõVjój¹†röVhjì†r÷VjKXasOoprøV†rùVhX
	rúV†rûVjLX÷"Primitive. Answer a SmallInteger whose value is half of the receiver's 
	object pointer (interpreting object pointers as 16-bit signed quantities). 
	Fail if the receiver is a SmallInteger. Essential. See Object documentation 
	whatIsAPrimitive."rüV†rýVhX

	rþV†rÿVhjc†rWjóX
primitive:rW†rWhX 75rW†rWhji†rWhX
	rW†rWj!XselfrW†r	Whj½†r
WjKXprimitiveFailedrW†rWjóX! !r
W†rWhX

rW†rWjój¹†rWh‘XObjectrW†rWjóX
 methodsFor: rW†rWj˜X'system primitives'rW†rWjóX stamp: 'di 1/9/1999 15:19'!rW†rWhjì†rWjKXbecomeForward:rW†rWhj½†rWh¨XotherObjectrW†rWhX 
	r W†r!WjLX›"Primitive. All variables in the entire system that used to point
	to the receiver now point to the argument.
	Fails if either argument is a SmallInteger."r"W†r#WhX

	r$W†r%WhjĆr&Wh‘XArrayr'W†r(Whj½†r)WjKXwith:r*W†r+Whj½†r,Wj!Xselfr-W†r.Whj߆r/WhX
		r0W†r1WjKXelementsForwardIdentityTo:r2W†r3WhX
			r4W†r5WhjĆr6Wh‘XArrayr7W†r8Whj½†r9WjKXwith:r:W†r;Whj½†r<Wh¨XotherObjectr=W†r>Whj߆r?WjóX! !r@W†rAWhX

rBW†rCWjój¹†rDWh‘XObjectrEW†rFWjóX
 methodsFor: rGW†rHWj˜X'system primitives'rIW†rJWjóX stamp: 'zz 3/3/2004 23:53'!rKW†rLWhjì†rMWjKXbecomeForward:rNW†rOWhj½†rPWh¨XotherObjectrQW†rRWhj½†rSWjKX	copyHash:rTW†rUWhj½†rVWh¨XcopyHashrWW†rXWhX
	rYW†rZWjLXø"Primitive. All variables in the entire system that used to point to the receiver now point to the argument.
	If copyHash is true, the argument's identity hash bits will be set to those of the receiver.
	Fails if either argument is a SmallInteger."r[W†r\WhX

	r]W†r^WhjĆr_Wh‘XArrayr`W†raWhj½†rbWjKXwith:rcW†rdWhj½†reWj!XselfrfW†rgWhj߆rhWhX
		riW†rjWjKXelementsForwardIdentityTo:rkW†rlWhX
			rmW†rnWhjĆroWh‘XArrayrpW†rqWhj½†rrWjKXwith:rsW†rtWhj½†ruWh¨XotherObjectrvW†rwWhj߆rxWhX
				ryW†rzWjKX	copyHash:r{W†r|Whj½†r}Wh¨XcopyHashr~W†rWjóX! !r€W†rWhX

r‚W†rƒWjój¹†r„Wh‘XObjectr…W†r†WjóX
 methodsFor: r‡W†rˆWj˜X'system primitives'r‰W†rŠWjóX stamp: 'sw 10/16/2000 10:59'!r‹W†rŒWhjì†rWjKX	classNamerŽW†rWhX
	rW†r‘WjLXX"Answer a string characterizing the receiver's class, for use in list views for example"r’W†r“WhX

	r”W†r•WhLj;†r–Whj½†r—Wj!Xselfr˜W†r™Whj½†ršWjKXclassr›W†rœWhj½†rWjKXnameržW†rŸWhj½†r WjKXasStringr¡W†r¢WjóX! !r£W†r¤WhX

r¥W†r¦Wjój¹†r§Wh‘XObjectr¨W†r©WjóX
 methodsFor: rªW†r«Wj˜X'system primitives'r¬W†r­WjóX stamp: 'sw 10/16/2000 11:04'!r®W†r¯Whjì†r°WjKX
creationStampr±W†r²WhX
	r³W†r´WjLX¡"Answer a string which reports the creation particulars of the receiver.  Intended perhaps for list views, but this is presently a feature not easily accessible"rµW†r¶WhX

	r·W†r¸WhLj;†r¹Whj½†rºWj˜X'<no creation stamp>'r»W†r¼WjóX! !r½W†r¾WhX

r¿W†rÀWjój¹†rÁWh‘XObjectrÂW†rÃWjóX
 methodsFor: rÄW†rÅWj˜X'system primitives'rÆW†rÇWjój¹†rÈWhjì†rÉWjKX
instVarAt:rÊW†rËWhj½†rÌWh¨XindexrÍW†rÎWhX 
	rÏW†rÐWjLX"Primitive. Answer a fixed variable in an object. The numbering of the 
	variables corresponds to the named instance variables. Fail if the index 
	is not an Integer or is not the index of a fixed variable. Essential. See 
	Object documentation whatIsAPrimitive."rÑW†rÒWhX

	rÓW†rÔWhjc†rÕWjóX
primitive:rÖW†r×WhX 73rØW†rÙWhji†rÚWhX
	rÛW†rÜWjLX "Access beyond fixed variables."rÝW†rÞWhX
	rßW†ràWhLj;†ráWj!XselfrâW†rãWhj½†räWjKXbasicAt:råW†ræWhj½†rçWh¨XindexrèW†réWhj½†rêWjKj8"†rëWhj½†rìWj!XselfríW†rîWhj½†rïWjKXclassrðW†rñWhj½†ròWjKXinstSizeróW†rôWhX		rõW†röWjóX! !r÷W†røWhX

rùW†rúWjój¹†rûWh‘XObjectrüW†rýWjóX
 methodsFor: rþW†rÿWj˜X'system primitives'rX†rXjój¹†rXhjì†rXjKX
instVarAt:rX†rXhj½†rXh¨X	anIntegerrX†rXhj½†r	XjKXput:r
X†rXhj½†rXh¨XanObjectr
X†rXhX 
	rX†rXjLXÌ"Primitive. Store a value into a fixed variable in the receiver. The 
	numbering of the variables corresponds to the named instance variables. 
	Fail if the index is not an Integer or is not the index of a fixed variable. 
	Answer the value stored as the result. Using this message violates the 
	principle that each object has sovereign control over the storing of 
	values into its instance variables. Essential. See Object documentation 
	whatIsAPrimitive."rX†rXhX

	rX†rXhjc†rXjóX
primitive:rX†rXhX 74rX†rXhji†rXhX
	rX†rXjLX"Access beyond fixed fields"rX†rXhX
	rX†r XhLj;†r!Xj!Xselfr"X†r#Xhj½†r$XjKXbasicAt:r%X†r&Xhj½†r'Xh¨X	anIntegerr(X†r)Xhj½†r*XjKj8"†r+Xhj½†r,Xj!Xselfr-X†r.Xhj½†r/XjKXclassr0X†r1Xhj½†r2XjKXinstSizer3X†r4Xhj½†r5XjKXput:r6X†r7Xhj½†r8Xh¨XanObjectr9X†r:XjóX! !r;X†r<XhX

r=X†r>Xjój¹†r?Xh‘XObjectr@X†rAXjóX
 methodsFor: rBX†rCXj˜X'system primitives'rDX†rEXjóX stamp: 'sw 10/16/2000 11:09'!rFX†rGXhjì†rHXjKX
instVarNamed:rIX†rJXhj½†rKXh¨XaStringrLX†rMXhX
	rNX†rOXjLXf"Return the value of the instance variable in me with that name.  Slow and unclean, but very useful. "rPX†rQXhX

	rRX†rSXhLj;†rTXhj½†rUXj!XselfrVX†rWXhj½†rXXjKX
instVarAt:rYX†rZXhj½†r[XhjĆr\Xj!Xselfr]X†r^Xhj½†r_XjKXclassr`X†raXhj½†rbXjKXallInstVarNamesrcX†rdXhj½†reXjKXindexOf:rfX†rgXhj½†rhXh¨XaStringriX†rjXhj½†rkXjKXasStringrlX†rmXhj߆rnXhX


roX†rpXjóX! !rqX†rrXhX

rsX†rtXjój¹†ruXh‘XObjectrvX†rwXjóX
 methodsFor: rxX†ryXj˜X'system primitives'rzX†r{XjóX stamp: 'sw 10/16/2000 11:10'!r|X†r}Xhjì†r~XjKX
instVarNamed:rX†r€Xhj½†rXh¨XaStringr‚X†rƒXhj½†r„XjKXput:r…X†r†Xhj½†r‡Xh¨XaValuerˆX†r‰XhX
	rŠX†r‹XjLXh"Store into the value of the instance variable in me of that name.  Slow and unclean, but very useful. "rŒX†rXhX

	rŽX†rXhLj;†rXhj½†r‘Xj!Xselfr’X†r“Xhj½†r”XjKX
instVarAt:r•X†r–Xhj½†r—XhjĆr˜Xj!Xselfr™X†ršXhj½†r›XjKXclassrœX†rXhj½†ržXjKXallInstVarNamesrŸX†r Xhj½†r¡XjKXindexOf:r¢X†r£Xhj½†r¤Xh¨XaStringr¥X†r¦Xhj½†r§XjKXasStringr¨X†r©Xhj߆rªXhj½†r«XjKXput:r¬X†r­Xhj½†r®Xh¨XaValuer¯X†r°Xhjì†r±XjóX! !r²X†r³XhX

r´X†rµXjój¹†r¶Xh‘XObjectr·X†r¸XjóX
 methodsFor: r¹X†rºXj˜X'system primitives'r»X†r¼XjóX stamp: 'sw 10/17/2000 11:12'!r½X†r¾Xhjì†r¿XjKX	oopStringrÀX†rÁXhX
	rÂX†rÃXjLX9"Answer a string that represents the oop of the receiver"rÄX†rÅXhX

	rÆX†rÇXhLj;†rÈXhj½†rÉXj!XselfrÊX†rËXhj½†rÌXjKXasOoprÍX†rÎXhj½†rÏXjKXprintStringrÐX†rÑXjóX! !rÒX†rÓXhX

rÔX†rÕXjój¹†rÖXh‘XObjectr×X†rØXjóX
 methodsFor: rÙX†rÚXj˜X'system primitives'rÛX†rÜXjóX stamp: 'ar 3/2/2001 01:34'!rÝX†rÞXhjì†rßXjKXprimitiveChangeClassTo:ràX†ráXhj½†râXh¨XanObjectrãX†räXhX
	råX†ræXjLXË"Primitive. Change the class of the receiver into the class of the argument given that the format of the receiver matches the format of the argument's class. Fail if receiver or argument are SmallIntegers, or the receiver is an instance of a compact class and the argument isn't, or when the argument's class is compact and the receiver isn't, or when the format of the receiver is different from the format of the argument's class, or when the arguments class is fixed and the receiver's size differs from the size that an instance of the argument's class should have.
	Note: The primitive will fail in most cases that you think might work. This is mostly because of a) the difference between compact and non-compact classes, and b) because of differences in the format. As an example, '(Array new: 3) primitiveChangeClassTo: Morph basicNew' would fail for three of the reasons mentioned above. Array is compact, Morph is not (failure #1). Array is variable and Morph is fixed (different format - failure #2). Morph is a fixed-field-only object and the array is too short (failure #3).
	The facility is really provided for certain, very specific applications (mostly related to classes changing shape) and not for casual use."rçX†rèXhX

	réX†rêXhjc†rëXjóX
primitive:rìX†ríXhX 115rîX†rïXhji†rðXhX
	rñX†ròXj!XselfróX†rôXhj½†rõXjKXprimitiveFailedröX†r÷XjóX! !røX†rùXhX

rúX†rûXjój¹†rüXh‘XObjectrýX†rþXjóX
 methodsFor: rÿX†rYj˜X'system primitives'rY†rYjóX stamp: 'di 3/27/1999 12:21'!rY†rYhjì†rYjKXrootStubInImageSegment:rY†rYhj½†rYh¨XimageSegmentr	Y†r
YhX

	rY†rYhLj;†r
Yhj½†rYh‘XImageSegmentRootStubrY†rYhj½†rYjXnewrY†rYhX
		rY†rYjKX
xxSuperclass:rY†rYhj½†rYj!XnilrY†rYhX
		rY†rYjKXformat:rY†rYhj½†rYj!Xnilr Y†r!YhX
		r"Y†r#YjKXsegment:r$Y†r%Yhj½†r&Yh¨XimageSegmentr'Y†r(YjóX! !r)Y†r*YhX

r+Y†r,Yjój¹†r-Yh‘XObjectr.Y†r/YjóX
 methodsFor: r0Y†r1Yj˜X'system primitives'r2Y†r3Yjój¹†r4Yhjì†r5YjKX
someObjectr6Y†r7YhX
	r8Y†r9YjLXI"Primitive. Answer the first object in the enumeration of all
	 objects."r:Y†r;YhX

	r<Y†r=Yhjc†r>YjóX
primitive:r?Y†r@YhX 138rAY†rBYhji†rCYhX
	rDY†rEYj!XselfrFY†rGYhj½†rHYjKXprimitiveFailedrIY†rJYj©jþ†rKYjóX! !rLY†rMYhX


rNY†rOYjój¹†rPYh‘XObjectrQY†rRYjóX
 methodsFor: rSY†rTYj˜X	'testing'rUY†rVYjóX stamp: 'sw 9/26/2001 11:58'!rWY†rXYhjì†rYYjKX	basicTyperZY†r[YhX
	r\Y†r]YjLX@"Answer a symbol representing the inherent type of the receiver"r^Y†r_YhX

	r`Y†raYhLj;†rbYhj½†rcYj´X#ObjectrdY†reYjóX! !rfY†rgYhX

rhY†riYjój¹†rjYh‘XObjectrkY†rlYjóX
 methodsFor: rmY†rnYj˜X	'testing'roY†rpYjóX stamp: 'sw 5/3/2001 16:19'!rqY†rrYhjì†rsYjKXbeViewedrtY†ruYhX
	rvY†rwYjLXg"Open up a viewer on the receiver.  The Presenter is invited to decide just how to present this viewer"rxY†ryYhX

	rzY†r{Yj!Xselfr|Y†r}Yhj½†r~YjKXuniqueNameForReferencerY†r€Yj©jþ†rYhX  r‚Y†rƒYjLX4"So the viewer will have something nice to refer to"r„Y†r…YhX
	r†Y†r‡Yj!XselfrˆY†r‰Yhj½†rŠYjKX	presenterr‹Y†rŒYhj½†rYjKXviewObject:rŽY†rYhj½†rYj!Xselfr‘Y†r’YjóX! !r“Y†r”YhX

r•Y†r–Yjój¹†r—Yh‘XObjectr˜Y†r™YjóX
 methodsFor: ršY†r›Yj˜X	'testing'rœY†rYjóX stamp: 'sw 10/16/2000 11:01'!ržY†rŸYhjì†r YjKXcostumesr¡Y†r¢YhX
	r£Y†r¤YjLX "Answer a list of costumes associated with the receiver.  The appearance of this method in class Object serves only as a backstop, probably only transitionally"r¥Y†r¦YhX

	r§Y†r¨YhLj;†r©Yhj½†rªYe(j!Xnilr«Y†r¬YjóX! !r­Y†r®YhX

r¯Y†r°Yjój¹†r±Yh‘XObjectr²Y†r³YjóX
 methodsFor: r´Y†rµYj˜X	'testing'r¶Y†r·YjóX stamp: 'sw 1/12/98 18:09'!r¸Y†r¹Yhjì†rºYh¨X	haltIfNilr»Y†r¼YjóX! !r½Y†r¾YhX

r¿Y†rÀYjój¹†rÁYh‘XObjectrÂY†rÃYjóX
 methodsFor: rÄY†rÅYj˜X	'testing'rÆY†rÇYjóX stamp: 'md 1/20/2006 17:09'!rÈY†rÉYhjì†rÊYjKXhasLiteralSuchThat:rËY†rÌYhj½†rÍYh¨X	testBlockrÎY†rÏYhX
	rÐY†rÑYjLXA"This is the end of the imbedded structure path so return false."rÒY†rÓYhX

	rÔY†rÕYhLj;†rÖYhj½†r×Yj!XfalserØY†rÙYjóX! !rÚY†rÛYhX

rÜY†rÝYjój¹†rÞYh‘XObjectrßY†ràYjóX
 methodsFor: ráY†râYj˜X	'testing'rãY†räYjóX stamp: 'md 1/20/2006 17:10'!råY†ræYhjì†rçYjKXhasLiteralThorough:rèY†réYhj½†rêYh¨XliteralrëY†rìYhX
	ríY†rîYjLX¬"Answer true if literal is identical to any literal in this array, even if imbedded in further structures.  This is the end of the imbedded structure path so return false."rïY†rðYhX

	rñY†ròYhLj;†róYhj½†rôYj!XfalserõY†röYjóX! !r÷Y†røYhX

rùY†rúYjój¹†rûYh‘XObjectrüY†rýYjóX
 methodsFor: rþY†rÿYj˜X	'testing'rZ†rZjóX stamp: 'sw 1/30/2001 22:24'!rZ†rZhjì†rZjKXhaveFullProtocolBrowsedrZ†rZhX
	rZ†rZjLX#"Open up a Lexicon on the receiver"r	Z†r
ZhX

	rZ†rZhLj;†r
Zhj½†rZj!XselfrZ†rZhj½†rZjKX'haveFullProtocolBrowsedShowingSelector:rZ†rZhj½†rZj!XnilrZ†rZhX

	rZ†rZjLX"(2@3) haveFullProtocolBrowsed"rZ†rZhjì†rZjóX! !rZ†rZhX

rZ†rZjój¹†r Zh‘XObjectr!Z†r"ZjóX
 methodsFor: r#Z†r$Zj˜X	'testing'r%Z†r&ZjóX stamp: 'ar 9/27/2005 21:04'!r'Z†r(Zhjì†r)ZjKX'haveFullProtocolBrowsedShowingSelector:r*Z†r+Zhj½†r,Zh¨X	aSelectorr-Z†r.ZhX
	r/Z†r0ZjLXZ"Open up a Lexicon on the receiver, having it open up showing aSelector, which may be nil"r1Z†r2ZhX

	r3Z†r4ZhLjµ†r5Zh¨X
 aBrowser r6Z†r7ZhLjµ†r8ZhX
	r9Z†r:Zh¨XaBrowserr;Z†r<Zhj½†r=ZhLX:=r>Z†r?Zhj½†r@ZhjĆrAZh‘X	SmalltalkrBZ†rCZhj½†rDZjKXat:rEZ†rFZhj½†rGZj´X#InstanceBrowserrHZ†rIZhj½†rJZjKX	ifAbsent:rKZ†rLZhj[†rMZhLj;†rNZj!XnilrOZ†rPZhje†rQZhj߆rRZhj½†rSZjXnewrTZ†rUZhj½†rVZjKXuseVocabulary:rWZ†rXZhj½†rYZh‘X
VocabularyrZZ†r[Zhj½†r\ZjKXfullVocabularyr]Z†r^Zj©jþ†r_ZhX
	r`Z†raZh¨XaBrowserrbZ†rcZhj½†rdZjKX
openOnObject:reZ†rfZhj½†rgZj!XselfrhZ†riZhj½†rjZjKXinWorld:rkZ†rlZhj½†rmZh‘XActiveWorldrnZ†roZhj½†rpZjKXshowingSelector:rqZ†rrZhj½†rsZh¨X	aSelectorrtZ†ruZhX

	rvZ†rwZjLX"(2@3) haveFullProtocolBrowsed"rxZ†ryZjóX! !rzZ†r{ZhX

r|Z†r}Zjój¹†r~Zh‘XObjectrZ†r€ZjóX
 methodsFor: rZ†r‚Zj˜X	'testing'rƒZ†r„ZjóX stamp: 'md 7/30/2005 21:21'!r…Z†r†Zhjì†r‡ZjKXisArrayrˆZ†r‰ZhX
	rŠZ†r‹ZhLj;†rŒZj!XfalserZ†rŽZjóX! !rZ†rZhX

r‘Z†r’Zjój¹†r“Zh‘XObjectr”Z†r•ZjóX
 methodsFor: r–Z†r—Zj˜X	'testing'r˜Z†r™ZjóX stamp: 'ar 7/9/1999 18:18'!ršZ†r›Zhjì†rœZjKX
isBehaviorrZ†ržZhX
	rŸZ†r ZjLXa"Return true if the receiver is a behavior.
	Note: Do not override in any class except behavior."r¡Z†r¢ZhX
	r£Z†r¤ZhLj;†r¥Zj!Xfalser¦Z†r§ZjóX! !r¨Z†r©ZhX

rªZ†r«Zjój¹†r¬Zh‘XObjectr­Z†r®ZjóX
 methodsFor: r¯Z†r°Zj˜X	'testing'r±Z†r²ZjóX stamp: 'ajh 1/21/2003 13:15'!r³Z†r´Zhjì†rµZjKXisBlockr¶Z†r·Zhjì†r¸ZhX
	r¹Z†rºZhLj;†r»Zhj½†r¼Zj!Xfalser½Z†r¾ZjóX! !r¿Z†rÀZhX

rÁZ†rÂZjój¹†rÃZh‘XObjectrÄZ†rÅZjóX
 methodsFor: rÆZ†rÇZj˜X	'testing'rÈZ†rÉZjóX stamp: 'md 11/21/2003 12:14'!rÊZ†rËZhjì†rÌZjKXisBlockClosurerÍZ†rÎZhjì†rÏZhX
	rÐZ†rÑZhLj;†rÒZhj½†rÓZj!XfalserÔZ†rÕZjóX! !rÖZ†r×ZhX

rØZ†rÙZjój¹†rÚZh‘XObjectrÛZ†rÜZjóX
 methodsFor: rÝZ†rÞZj˜X	'testing'rßZ†ràZjóX stamp: 'yo 8/28/2002 13:41'!ráZ†râZhjì†rãZjKXisCharacterräZ†råZhjì†ræZhX
	rçZ†rèZhLj;†réZhj½†rêZj!XfalserëZ†rìZj©jþ†ríZhjì†rîZjóX! !rïZ†rðZhX

rñZ†ròZjój¹†róZh‘XObjectrôZ†rõZjóX
 methodsFor: röZ†r÷Zj˜X	'testing'røZ†rùZjóX stamp: 'ar 8/17/1999 19:43'!rúZ†rûZhjì†rüZjKXisCollectionrýZ†rþZhX
	rÿZ†r[jLXy"Return true if the receiver is some sort of Collection and responds to basic collection messages such as #size and #do:"r[†r[hX
	r[†r[hLj;†r[j!Xfalser[†r[jóX! !r[†r	[hX

r
[†r[jój¹†r[h‘XObjectr
[†r[jóX
 methodsFor: r[†r[j˜X	'testing'r[†r[jój¹†r[hjì†r[jKXisColorr[†r[hX
	r[†r[jLX7"Answer true if receiver is a Color. False by default."r[†r[hX

	r[†r[hLj;†r[hj½†r[j!Xfalser[†r [hjì†r![jóX! !r"[†r#[hX

r$[†r%[jój¹†r&[h‘XObjectr'[†r([jóX
 methodsFor: r)[†r*[j˜X	'testing'r+[†r,[jóX stamp: 'nk 4/17/2004 19:43'!r-[†r.[hjì†r/[jKXisColorFormr0[†r1[hX
	r2[†r3[hLj;†r4[j!Xfalser5[†r6[jóX! !r7[†r8[hX

r9[†r:[jój¹†r;[h‘XObjectr<[†r=[jóX
 methodsFor: r>[†r?[j˜X	'testing'r@[†rA[jóX stamp: 'md 11/21/2003 12:14'!rB[†rC[hjì†rD[jKXisCompiledMethodrE[†rF[hjì†rG[hX
	rH[†rI[hLj;†rJ[hj½†rK[j!XfalserL[†rM[jóX! !rN[†rO[hX

rP[†rQ[jój¹†rR[h‘XObjectrS[†rT[jóX
 methodsFor: rU[†rV[j˜X	'testing'rW[†rX[jóX stamp: 'mk 10/27/2003 17:33'!rY[†rZ[hjì†r[[jKX	isComplexr\[†r][hX
	r^[†r_[jLX@"Answer true if receiver is a Complex number. False by default."r`[†ra[hX

	rb[†rc[hLj;†rd[hj½†re[j!Xfalserf[†rg[hjì†rh[jóX! !ri[†rj[hX

rk[†rl[jój¹†rm[h‘XObjectrn[†ro[jóX
 methodsFor: rp[†rq[j˜X	'testing'rr[†rs[jóX stamp: 'md 8/11/2005 16:45'!rt[†ru[hjì†rv[jKXisDictionaryrw[†rx[hX
	ry[†rz[hLj;†r{[j!Xfalser|[†r}[jóX! !r~[†r[hX

r€[†r[jój¹†r‚[h‘XObjectrƒ[†r„[jóX
 methodsFor: r…[†r†[j˜X	'testing'r‡[†rˆ[jóX stamp: 'di 11/9/1998 09:38'!r‰[†rŠ[hjì†r‹[jKXisFloatrŒ[†r[hX
	rŽ[†r[jLX+"Overridden to return true in Float, natch"r[†r‘[hX
	r’[†r“[hLj;†r”[hj½†r•[j!Xfalser–[†r—[jóX! !r˜[†r™[hX

rš[†r›[jój¹†rœ[h‘XObjectr[†rž[jóX
 methodsFor: rŸ[†r [j˜X	'testing'r¡[†r¢[jóX stamp: 'ar 10/30/2000 23:22'!r£[†r¤[hjì†r¥[jKXisFormr¦[†r§[hX
	r¨[†r©[hLj;†rª[j!Xfalser«[†r¬[jóX! !r­[†r®[hX

r¯[†r°[jój¹†r±[h‘XObjectr²[†r³[jóX
 methodsFor: r´[†rµ[j˜X	'testing'r¶[†r·[jóX stamp: 'len 1/13/98 21:18'!r¸[†r¹[hjì†rº[jKX
isFractionr»[†r¼[hX
	r½[†r¾[jLX,"Answer true if the receiver is a Fraction."r¿[†rÀ[hX

	rÁ[†rÂ[hLj;†rÃ[hj½†rÄ[j!XfalserÅ[†rÆ[jóX! !rÇ[†rÈ[hX

rÉ[†rÊ[jój¹†rË[h‘XObjectrÌ[†rÍ[jóX
 methodsFor: rÎ[†rÏ[j˜X	'testing'rÐ[†rÑ[jóX stamp: 'rhi 8/14/2003 08:51'!rÒ[†rÓ[hjì†rÔ[jKXisHeaprÕ[†rÖ[hjì†r×[hX
	rØ[†rÙ[hLj;†rÚ[hj½†rÛ[j!XfalserÜ[†rÝ[jóX! !rÞ[†rß[hX

rà[†rá[jój¹†râ[h‘XObjectrã[†rä[jóX
 methodsFor: rå[†ræ[j˜X	'testing'rç[†rè[jój¹†ré[hjì†rê[jKX	isIntegerrë[†rì[hX
	rí[†rî[jLX'"Overridden to return true in Integer."rï[†rð[hX

	rñ[†rò[hLj;†ró[hj½†rô[j!Xfalserõ[†rö[jóX! !r÷[†rø[hX

rù[†rú[jój¹†rû[h‘XObjectrü[†rý[jóX
 methodsFor: rþ[†rÿ[j˜X	'testing'r\†r\jóX stamp: 'rhi 8/12/2003 09:52'!r\†r\hjì†r\jKX
isIntervalr\†r\hjì†r\hX
	r\†r	\hLj;†r
\hj½†r\j!Xfalser\†r
\jóX! !r\†r\hX

r\†r\jój¹†r\h‘XObjectr\†r\jóX
 methodsFor: r\†r\j˜X	'testing'r\†r\jóX stamp: 'nk 4/25/2002 08:04'!r\†r\hjì†r\jKX
isMessageSendr\†r\hX
	r\†r\hLj;†r \j!Xfalser!\†r"\hjì†r#\jóX! !r$\†r%\hX

r&\†r'\jój¹†r(\h‘XObjectr)\†r*\jóX
 methodsFor: r+\†r,\j˜X	'testing'r-\†r.\jóX stamp: 'md 2/19/2006 11:24'!r/\†r0\hjì†r1\jKXisMethodPropertiesr2\†r3\hX
	r4\†r5\hLj;†r6\j!Xfalser7\†r8\jóX! !r9\†r:\hX

r;\†r<\jój¹†r=\h‘XObjectr>\†r?\jóX
 methodsFor: r@\†rA\j˜X	'testing'rB\†rC\jój¹†rD\hjì†rE\jKXisMorphrF\†rG\hjì†rH\hX
	rI\†rJ\hLj;†rK\hj½†rL\j!XfalserM\†rN\jóX! !rO\†rP\hX

rQ\†rR\jój¹†rS\h‘XObjectrT\†rU\jóX
 methodsFor: rV\†rW\j˜X	'testing'rX\†rY\jóX stamp: 'ar 9/13/2000 15:37'!rZ\†r[\hjì†r\\jKXisMorphicEventr]\†r^\hX
	r_\†r`\hLj;†ra\j!Xfalserb\†rc\jóX! !rd\†re\hX

rf\†rg\jój¹†rh\h‘XObjectri\†rj\jóX
 methodsFor: rk\†rl\j˜X	'testing'rm\†rn\jóX stamp: 'gm 2/22/2003 12:56'!ro\†rp\hjì†rq\jKXisMorphicModelrr\†rs\hX
	rt\†ru\jLX0"Return true if the receiver is a morphic model"rv\†rw\hX
	rx\†ry\hLj;†rz\j!Xfalser{\†r|\hjì†r}\jóX! !r~\†r\hX

r€\†r\jój¹†r‚\h‘XObjectrƒ\†r„\jóX
 methodsFor: r…\†r†\j˜X	'testing'r‡\†rˆ\jój¹†r‰\hjì†rŠ\jKXisNumberr‹\†rŒ\hX
	r\†rŽ\jLX,"Overridden to return true in Number, natch"r\†r\hX
	r‘\†r’\hLj;†r“\hj½†r”\j!Xfalser•\†r–\jóX! !r—\†r˜\hX

r™\†rš\jój¹†r›\h‘XObjectrœ\†r\jóX
 methodsFor: rž\†rŸ\j˜X	'testing'r \†r¡\jóX stamp: 'di 11/6/1998 08:04'!r¢\†r£\hjì†r¤\jKXisPointr¥\†r¦\hX
	r§\†r¨\jLX%"Overridden to return true in Point."r©\†rª\hX

	r«\†r¬\hLj;†r­\hj½†r®\j!Xfalser¯\†r°\jóX! !r±\†r²\hX

r³\†r´\jój¹†rµ\h‘XObjectr¶\†r·\jóX
 methodsFor: r¸\†r¹\j˜X	'testing'rº\†r»\jóX stamp: 'ikp 9/26/97 14:45'!r¼\†r½\hjì†r¾\jKXisPseudoContextr¿\†rÀ\hX
	rÁ\†rÂ\hLj;†rÃ\j!XfalserÄ\†rÅ\jóX! !rÆ\†rÇ\hX

rÈ\†rÉ\jój¹†rÊ\h‘XObjectrË\†rÌ\jóX
 methodsFor: rÍ\†rÎ\j˜X	'testing'rÏ\†rÐ\jóX stamp: 'md 10/2/2005 21:52'!rÑ\†rÒ\hjì†rÓ\jKXisRectanglerÔ\†rÕ\hX
	rÖ\†r×\hLj;†rØ\j!XfalserÙ\†rÚ\jóX! !rÛ\†rÜ\hX

rÝ\†rÞ\jój¹†rß\h‘XObjectrà\†rá\jóX
 methodsFor: râ\†rã\j˜X	'testing'rä\†rå\jóX stamp: 'nk 6/14/2004 16:49'!ræ\†rç\hjì†rè\jKX
isSketchMorphré\†rê\hX
	rë\†rì\hLj;†rí\j!Xfalserî\†rï\jóX! !rð\†rñ\hX

rò\†ró\jój¹†rô\h‘XObjectrõ\†rö\jóX
 methodsFor: r÷\†rø\j˜X	'testing'rù\†rú\jóX stamp: 'ar 12/23/1999 15:43'!rû\†rü\hjì†rý\jKXisStreamrþ\†rÿ\hX
	r]†r]jLX="Return true if the receiver responds to the stream protocol"r]†r]hX
	r]†r]hLj;†r]j!Xfalser]†r]hjì†r	]jóX! !r
]†r]hX

r]†r
]jój¹†r]h‘XObjectr]†r]jóX
 methodsFor: r]†r]j˜X	'testing'r]†r]jóX stamp: 'sma 6/15/2000 15:48'!r]†r]hjì†r]jKXisStringr]†r]hX
	r]†r]jLX,"Overridden to return true in String, natch"r]†r]hX
	r]†r]hLj;†r ]hj½†r!]j!Xfalser"]†r#]jóX! !r$]†r%]hX

r&]†r']jój¹†r(]h‘XObjectr)]†r*]jóX
 methodsFor: r+]†r,]j˜X	'testing'r-]†r.]jóX stamp: 'md 4/30/2003 15:30'!r/]†r0]hjì†r1]jKXisSymbolr2]†r3]hX
	r4]†r5]hLj;†r6]hj½†r7]j!Xfalser8]†r9]hj½†r:]jóX! !r;]†r<]hX

r=]†r>]jój¹†r?]h‘XObjectr@]†rA]jóX
 methodsFor: rB]†rC]j˜X	'testing'rD]†rE]jóX stamp: 'jam 3/9/2003 15:10'!rF]†rG]hjì†rH]jKXisSystemWindowrI]†rJ]hjì†rK]jLX0"answer whatever the receiver is a SystemWindow"rL]†rM]hX
	rN]†rO]hLj;†rP]hj½†rQ]j!XfalserR]†rS]jóX! !rT]†rU]hX

rV]†rW]jój¹†rX]h‘XObjectrY]†rZ]jóX
 methodsFor: r[]†r\]j˜X	'testing'r]]†r^]jój¹†r_]hjì†r`]jKXisTextra]†rb]hX
	rc]†rd]hLj;†re]hj½†rf]j!Xfalserg]†rh]jóX! !ri]†rj]hX

rk]†rl]jój¹†rm]h‘XObjectrn]†ro]jóX
 methodsFor: rp]†rq]j˜X	'testing'rr]†rs]jóX stamp: 'pmm 7/6/2006 20:46'!rt]†ru]hjì†rv]jKXisTraitrw]†rx]hX
	ry]†rz]jLXc"Return true if the receiver is a trait.
	Note: Do not override in any class except TraitBehavior."r{]†r|]hX
	r}]†r~]hLj;†r]j!Xfalser€]†r]jóX! !r‚]†rƒ]hX

r„]†r…]jój¹†r†]h‘XObjectr‡]†rˆ]jóX
 methodsFor: r‰]†rŠ]j˜X	'testing'r‹]†rŒ]jóX stamp: 'tk 10/21/97 12:45'!r]†rŽ]hjì†r]jKX
isTransparentr]†r‘]hX
	r’]†r“]hLj;†r”]hj½†r•]j!Xfalser–]†r—]jóX! !r˜]†r™]hX

rš]†r›]jój¹†rœ]h‘XObjectr]†rž]jóX
 methodsFor: rŸ]†r ]j˜X	'testing'r¡]†r¢]jóX stamp: 'ar 8/14/2001 23:19'!r£]†r¤]hjì†r¥]jKXisVariableBindingr¦]†r§]hX
	r¨]†r©]jLX7"Return true if I represent a literal variable binding"rª]†r«]hX
	r¬]†r­]hLj;†r®]j!Xfalser¯]†r°]hX
	r±]†r²]jóX! !r³]†r´]hX

rµ]†r¶]jój¹†r·]h‘XObjectr¸]†r¹]jóX
 methodsFor: rº]†r»]j˜X	'testing'r¼]†r½]jóX stamp: 'ls 7/14/1998 21:45'!r¾]†r¿]hjì†rÀ]jKXisWebBrowserrÁ]†rÂ]hX
	rÃ]†rÄ]jLX;"whether this object is a web browser.  See class: Scamper"rÅ]†rÆ]hX
	rÇ]†rÈ]hLj;†rÉ]j!XfalserÊ]†rË]jóX! !rÌ]†rÍ]hX

rÎ]†rÏ]jój¹†rÐ]h‘XObjectrÑ]†rÒ]jóX
 methodsFor: rÓ]†rÔ]j˜X	'testing'rÕ]†rÖ]jóX stamp: 'sw 10/27/2000 06:58'!r×]†rØ]hjì†rÙ]jKX	knownNamerÚ]†rÛ]hX
	rÜ]†rÝ]jLXK"If a formal name has been handed out for this object, answer it, else nil"rÞ]†rß]hX
	
	rà]†rá]hLj;†râ]hj½†rã]h‘XPreferencesrä]†rå]hj½†ræ]jKXcapitalizedReferencesrç]†rè]hX
		ré]†rê]jXifTrue:rë]†rì]hX
			rí]†rî]hj[†rï]h‘X
Referencesrð]†rñ]hj½†rò]jKXkeyAtValue:ró]†rô]hj½†rõ]j!Xselfrö]†r÷]hj½†rø]jKX	ifAbsent:rù]†rú]hj½†rû]hj[†rü]j!Xnilrý]†rþ]hje†rÿ]hje†r^hX
		r^†r^jXifFalse:r^†r^hX
			r^†r^hj[†r^j!Xnilr^†r	^hje†r
^jóX! !r^†r^hX

r
^†r^jój¹†r^h‘XObjectr^†r^jóX
 methodsFor: r^†r^j˜X	'testing'r^†r^jóX stamp: 'sw 9/27/96'!r^†r^hjì†r^jKXnamer^†r^hX
	r^†r^jLXä"Answer a name for the receiver.  This is used generically in the title of certain inspectors, such as the referred-to inspector, and specificially by various subsystems.  By default, we let the object just print itself out..  "r^†r^hX

	r^†r ^hLj;†r!^hj½†r"^j!Xselfr#^†r$^hj½†r%^jKXprintStringr&^†r'^jóX! !r(^†r)^hX

r*^†r+^jój¹†r,^h‘XObjectr-^†r.^jóX
 methodsFor: r/^†r0^j˜X	'testing'r1^†r2^jóX stamp: 'sw 11/19/2001 13:28'!r3^†r4^hjì†r5^jKX
nameForViewerr6^†r7^hX
	r8^†r9^jLXD"Answer a name to be shown in a Viewer that is viewing the receiver"r:^†r;^hX

	r<^†r=^hLjµ†r>^h¨X aName r?^†r@^hLjµ†rA^hX
	rB^†rC^hjĆrD^h¨XaNamerE^†rF^hj½†rG^hLj¸†rH^hj½†rI^j!XselfrJ^†rK^hj½†rL^jKXuniqueNameForReferenceOrNilrM^†rN^hj߆rO^hj½†rP^jKX	ifNotNil:rQ^†rR^hj½†rS^hj[†rT^hLj;†rU^hj½†rV^h¨XaNamerW^†rX^hje†rY^j©jþ†rZ^hX
	r[^†r\^hjĆr]^h¨XaNamer^^†r_^hj½†r`^hLj¸†ra^hj½†rb^j!Xselfrc^†rd^hj½†re^jKX	knownNamerf^†rg^hj߆rh^hj½†ri^jKX	ifNotNil:rj^†rk^hj½†rl^hj[†rm^hLj;†rn^hj½†ro^h¨XaNamerp^†rq^hje†rr^j©jþ†rs^hX

	rt^†ru^hLj;†rv^hj½†rw^hj[†rx^hjĆry^j!Xselfrz^†r{^hj½†r|^jKXasStringr}^†r~^hj½†r^jKXcopyWithout:r€^†r^hj½†r‚^h‘X	Characterrƒ^†r„^hj½†r…^jKXcrr†^†r‡^hj߆rˆ^hj½†r‰^jKXtruncateTo:rŠ^†r‹^hX  rŒ^†r^j;X27rŽ^†r^hje†r^hj½†r‘^jKXifError:r’^†r“^hX
		r”^†r•^hj[†r–^hLjî†r—^h¨Xmsgr˜^†r™^hj½†rš^hLjî†r›^h¨Xrcvrrœ^†r^hj½†rž^hLjµ†rŸ^hj½†r ^hLj;†r¡^hj½†r¢^j!Xselfr£^†r¤^hj½†r¥^jKXclassr¦^†r§^hj½†r¨^jKXnamer©^†rª^hj½†r«^jKXprintStringr¬^†r­^hje†r®^jóX! !r¯^†r°^hX

r±^†r²^jój¹†r³^h‘XObjectr´^†rµ^jóX
 methodsFor: r¶^†r·^j˜X	'testing'r¸^†r¹^jój¹†rº^hjì†r»^jKXnotNilr¼^†r½^hX
	r¾^†r¿^jLX3"Coerces nil to false and everything else to true."rÀ^†rÁ^hX

	rÂ^†rÃ^hLj;†rÄ^j!XtruerÅ^†rÆ^jóX! !rÇ^†rÈ^hX

rÉ^†rÊ^jój¹†rË^h‘XObjectrÌ^†rÍ^jóX
 methodsFor: rÎ^†rÏ^j˜X	'testing'rÐ^†rÑ^jóX stamp: 'tk 9/6/2001 19:15'!rÒ^†rÓ^hjì†rÔ^jKXopenInstanceBrowserWithTilesrÕ^†rÖ^hX
	r×^†rØ^jLXf"Open up an instance browser on me with tiles as the code type, and with the search level as desired."rÙ^†rÚ^hX

	rÛ^†rÜ^hLjµ†rÝ^h¨X
 aBrowser rÞ^†rß^hLjµ†rà^hX
	rá^†râ^h¨XaBrowserrã^†rä^hj½†rå^hLj¸†ræ^hj½†rç^h‘XInstanceBrowserrè^†ré^hj½†rê^jXnewrë^†rì^j©jþ†rí^hX
	rî^†rï^h¨XaBrowserrð^†rñ^hj½†rò^jKXuseVocabulary:ró^†rô^hj½†rõ^h‘X
Vocabularyrö^†r÷^hj½†rø^jKXfullVocabularyrù^†rú^j©jþ†rû^hX
	rü^†rý^h¨XaBrowserrþ^†rÿ^hj½†r_jKXlimitClass:r_†r_hj½†r_j!Xselfr_†r_hj½†r_jKXclassr_†r_j©jþ†r	_hX
	r
_†r_h¨XaBrowserr_†r
_hj½†r_jKXcontentsSymbol:r_†r_hj½†r_j´X#tilesr_†r_j©jþ†r_hX		r_†r_jLX."preset it to make extra buttons (tile menus)"r_†r_hX
	r_†r_h¨XaBrowserr_†r_hj½†r_jKX
openOnObject:r_†r_hj½†r _j!Xselfr!_†r"_hj½†r#_jKXinWorld:r$_†r%_hj½†r&_h‘XActiveWorldr'_†r(_hj½†r)_jKXshowingSelector:r*_†r+_hj½†r,_j!Xnilr-_†r._j©jþ†r/_hX
	r0_†r1_h¨XaBrowserr2_†r3_hj½†r4_jKXcontentsSymbol:r5_†r6_hj½†r7_j´X#sourcer8_†r9_j©jþ†r:_hX
	r;_†r<_h¨XaBrowserr=_†r>_hj½†r?_jKXtoggleShowingTilesr@_†rA_j©jþ†rB_hX

	rC_†rD_jLXS"
(2@3) openInstanceBrowserWithTiles.
WatchMorph new openInstanceBrowserWithTiles
"rE_†rF_jóX! !rG_†rH_hX

rI_†rJ_jój¹†rK_h‘XObjectrL_†rM_jóX
 methodsFor: rN_†rO_j˜X	'testing'rP_†rQ_jóX stamp: 'tk 7/28/2005 04:50'!rR_†rS_hjì†rT_jKXrenameInternal:rU_†rV_hj½†rW_h¨XnewNamerX_†rY_hX 
	rZ_†r[_jLX"Change the internal name (because of a conflict) but leave the external name unchanged.  Change Player class name, but do not change the names that appear in tiles.  Any object that might be pointed to in the References dictionary might get this message sent to it upon reload"r\_†r]_hX

	r^_†r__hLj;†r`_hj½†ra_j!Xnilrb_†rc_hjí†rd_jLX3"caller will renameTo:.  new name may be different"re_†rf_jóX! !rg_†rh_hX

ri_†rj_jój¹†rk_h‘XObjectrl_†rm_jóX
 methodsFor: rn_†ro_j˜X	'testing'rp_†rq_jóX stamp: 'sw 2/27/2002 14:55'!rr_†rs_hjì†rt_jKX	renameTo:ru_†rv_hj½†rw_h¨XnewNamerx_†ry_hX
	rz_†r{_jLXÆ"If the receiver has an inherent idea about its own name, it should take action here.  Any object that might be pointed to in the References dictionary might get this message sent to it upon reload"r|_†r}_jóX! !r~_†r_hX

r€_†r_jój¹†r‚_h‘XObjectrƒ_†r„_jóX
 methodsFor: r…_†r†_j˜X	'testing'r‡_†rˆ_jóX stamp: 'sw 1/18/2001 13:43'!r‰_†rŠ_hjì†r‹_jKX	showDiffsrŒ_†r_hX
	rŽ_†r_jLX "Answer whether the receiver, serving as the model of a text-bearing entity, is 'showing differences' -- if it is, the editor may wish to show special feedback"r_†r‘_hX

	r’_†r“_hLj;†r”_hj½†r•_j!Xfalser–_†r—_jóX! !r˜_†r™_hX

rš_†r›_jój¹†rœ_h‘XObjectr_†rž_jóX
 methodsFor: rŸ_†r _j˜X	'testing'r¡_†r¢_jóX stamp: 'sw 10/20/1999 14:52'!r£_†r¤_hjì†r¥_jKXstepAt:r¦_†r§_hj½†r¨_h¨XmillisecondClockValuer©_†rª_hj½†r«_jKXin:r¬_†r­_hj½†r®_h¨XaWindowr¯_†r°_hX

	r±_†r²_hLj;†r³_hj½†r´_j!Xselfrµ_†r¶_hj½†r·_jKXstepIn:r¸_†r¹_hj½†rº_h¨XaWindowr»_†r¼_jóX! !r½_†r¾_hX

r¿_†rÀ_jój¹†rÁ_h‘XObjectrÂ_†rÃ_jóX
 methodsFor: rÄ_†rÅ_j˜X	'testing'rÆ_†rÇ_jóX stamp: 'sw 10/19/1999 08:16'!rÈ_†rÉ_hjì†rÊ_jKXstepIn:rË_†rÌ_hj½†rÍ_h¨XaWindowrÎ_†rÏ_hX

	rÐ_†rÑ_hLj;†rÒ_hj½†rÓ_j!XselfrÔ_†rÕ_hj½†rÖ_jKXstepr×_†rØ_jóX! !rÙ_†rÚ_hX

rÛ_†rÜ_jój¹†rÝ_h‘XObjectrÞ_†rß_jóX
 methodsFor: rà_†rá_j˜X	'testing'râ_†rã_jóX stamp: 'sw 10/19/1999 08:21'!rä_†rå_hjì†ræ_jKXstepTimerç_†rè_hX
	ré_†rê_hX
	rë_†rì_hLj;†rí_hj½†rî_j;X1000rï_†rð_hj½†rñ_jLXR"milliseconds -- default backstop for objects serving as models of system windows"rò_†ró_jóX! !rô_†rõ_hX

rö_†r÷_jój¹†rø_h‘XObjectrù_†rú_jóX
 methodsFor: rû_†rü_j˜X	'testing'rý_†rþ_jóX stamp: 'sw 10/19/1999 08:22'!rÿ_†r`hjì†r`jKXstepTimeIn:r`†r`hj½†r`h¨X
aSystemWindowr`†r`hX
	
	r`†r`hLj;†r	`hj½†r
`j;X1000r`†r`hj½†r
`jLXR"milliseconds -- default backstop for objects serving as models of system windows"r`†r`jóX! !r`†r`hX

r`†r`jój¹†r`h‘XObjectr`†r`jóX
 methodsFor: r`†r`j˜X	'testing'r`†r`jóX stamp: 'sw 5/3/2001 18:22'!r`†r`hjì†r`jKXvocabularyDemandedr`†r`hX
	r `†r!`e(jLX¡"Answer a vocabulary that the receiver insists be used when it is looked at in a Viewer.  This allows specific classes to insist on specific custom vocabularies"r"`†r#`hX

	r$`†r%`hLj;†r&`hj½†r'`j!Xnilr(`†r)`jóX! !r*`†r+`hX

r,`†r-`jój¹†r.`h‘XObjectr/`†r0`jóX
 methodsFor: r1`†r2`j˜X	'testing'r3`†r4`jóX stamp: 'sw 11/13/2001 07:26'!r5`†r6`hjì†r7`jKXwantsDiffFeedbackr8`†r9`hX
	r:`†r;`jLX‹"Answer whether the receiver, serving as the model of a text-bearing entity, would like for 'diffs' green pane-border feedback to be shown"r<`†r=`hX

	r>`†r?`hLj;†r@`hj½†rA`j!XfalserB`†rC`jóX! !rD`†rE`hX

rF`†rG`jój¹†rH`h‘XObjectrI`†rJ`jóX
 methodsFor: rK`†rL`j˜X	'testing'rM`†rN`jóX stamp: 'di 1/8/1999 15:04'!rO`†rP`hjì†rQ`jKX
wantsStepsrR`†rS`hX
	rT`†rU`jLX„"Overridden by morphic classes whose instances want to be stepped,
	or by model classes who want their morphic views to be stepped."rV`†rW`hX

	rX`†rY`hLj;†rZ`hj½†r[`j!Xfalser\`†r]`jóX! !r^`†r_`hX

r``†ra`jój¹†rb`h‘XObjectrc`†rd`jóX
 methodsFor: re`†rf`j˜X	'testing'rg`†rh`jóX stamp: 'sw 10/19/1999 08:26'!ri`†rj`hjì†rk`jKX
wantsStepsIn:rl`†rm`hj½†rn`h¨X
aSystemWindowro`†rp`hX
	
	rq`†rr`hLj;†rs`hj½†rt`j!Xselfru`†rv`hj½†rw`jKX
wantsStepsrx`†ry`jóX! !rz`†r{`hX


r|`†r}`jój¹†r~`h‘XObjectr`†r€`jóX
 methodsFor: r`†r‚`j˜X'thumbnail'rƒ`†r„`jóX stamp: 'dgd 9/25/2004 23:17'!r…`†r†`hjì†r‡`jKXiconOrThumbnailOfSize:rˆ`†r‰`hj½†rŠ`h¨XaNumberOrPointr‹`†rŒ`hX 
	r`†rŽ`jLX5"Answer an appropiate form to represent the receiver"r`†r`hX
	r‘`†r’`hLj;†r“`hj½†r”`j!Xnilr•`†r–`jóX! !r—`†r˜`hX


r™`†rš`jój¹†r›`h‘XObjectrœ`†r`jóX
 methodsFor: rž`†rŸ`j˜X'translation support'r `†r¡`jój¹†r¢`hjì†r£`jKXinline:r¤`†r¥`hj½†r¦`h¨X
inlineFlagr§`†r¨`hX
	r©`†rª`jLX7"For translation only; noop when running in Smalltalk."r«`†r¬`jóX! !r­`†r®`hX

r¯`†r°`jój¹†r±`h‘XObjectr²`†r³`jóX
 methodsFor: r´`†rµ`j˜X'translation support'r¶`†r·`jój¹†r¸`hjì†r¹`jKXvar:rº`†r»`hj½†r¼`h¨X	varSymbolr½`†r¾`hj½†r¿`jKX	declareC:rÀ`†rÁ`hj½†rÂ`h¨X
declStringrÃ`†rÄ`hX
	rÅ`†rÆ`jLX7"For translation only; noop when running in Smalltalk."rÇ`†rÈ`jóX! !rÉ`†rÊ`hX


rË`†rÌ`jój¹†rÍ`h‘XObjectrÎ`†rÏ`jóX
 methodsFor: rÐ`†rÑ`j˜X'undo'rÒ`†rÓ`jóX stamp: 'di 9/11/2000 20:32'!rÔ`†rÕ`hjì†rÖ`jKX
capturedStater×`†rØ`hX
	rÙ`†rÚ`jLX""May be overridden in subclasses."rÛ`†rÜ`hX

	rÝ`†rÞ`hLj;†rß`hj½†rà`j!Xselfrá`†râ`hj½†rã`jKXshallowCopyrä`†rå`hjì†ræ`jóX! !rç`†rè`hX

ré`†rê`jój¹†rë`h‘XObjectrì`†rí`jóX
 methodsFor: rî`†rï`j˜X'undo'rð`†rñ`jóX stamp: 'di 9/11/2000 20:29'!rò`†ró`hjì†rô`jKXcommandHistoryrõ`†rö`hX
	r÷`†rø`jLX-"Return the command history for the receiver"rù`†rú`hX
	rû`†rü`hLjµ†rý`h¨X w rþ`†rÿ`hLjµ†rahX
	ra†rahjĆrah¨Xwra†rahj½†rahLj¸†rahj½†raj!Xselfr	a†r
ahj½†rajKXcurrentWorldra†r
ahj߆rahj½†rajKX	ifNotNil:ra†rahj½†rahj[†rahLj;†rahj½†rah¨ja†rahj½†rajKXcommandHistoryra†rahje†raj©jþ†rahX
	ra†rahLj;†rahj½†rah‘XCommandHistoryr a†r!ahj½†r"ajXnewr#a†r$aj©jþ†r%ahj½†r&ajLX:"won't really record anything but prevent breaking things"r'a†r(ajóX! !r)a†r*ahX

r+a†r,ajój¹†r-ah‘XObjectr.a†r/ajóX
 methodsFor: r0a†r1aj˜X'undo'r2a†r3ajóX stamp: 'di 12/12/2000 15:01'!r4a†r5ahjì†r6ajKXpurgeAllCommandsr7a†r8ahX
	r9a†r:ajLX$"Purge all commands for this object"r;a†r<ahX
	r=a†r>ah‘XPreferencesr?a†r@ahj½†rAajKXuseUndorBa†rCahj½†rDajXifFalse:rEa†rFahj½†rGahj[†rHahLj;†rIahj½†rJaj!XselfrKa†rLahje†rMaj©jþ†rNahj½†rOajLX"get out quickly"rPa†rQahX
	rRa†rSaj!XselfrTa†rUahj½†rVajKXcommandHistoryrWa†rXahj½†rYajKXpurgeAllCommandsSuchThat:rZa†r[ahj½†r\ahj[†r]ahLjî†r^ah¨Xcmdr_a†r`ahj½†raahLjµ†rbahj½†rcah¨Xcmdrda†reahj½†rfajKX
undoTargetrga†rhahj½†riajKX==rja†rkahj½†rlaj!Xselfrma†rnahje†roaj©jþ†rpahjì†rqajóX! !rra†rsahX

rta†ruajój¹†rvah‘XObjectrwa†rxajóX
 methodsFor: rya†rzaj˜X'undo'r{a†r|ajóX stamp: 'di 9/12/2000 08:15'!r}a†r~ahjì†rajKXredoFromCapturedState:r€a†rahj½†r‚ah¨Xstrƒa†r„ahX 
	r…a†r†ajLX:"May be overridden in subclasses.  See also capturedState"r‡a†rˆahX

	r‰a†rŠaj!Xselfr‹a†rŒahj½†rajKXundoFromCapturedState:rŽa†rahj½†rah¨Xstr‘a†r’ahX  r“a†r”ajLX"Simple cases are symmetric"r•a†r–ahjì†r—ajóX! !r˜a†r™ahX

rša†r›ajój¹†rœah‘XObjectra†ržajóX
 methodsFor: rŸa†r aj˜X'undo'r¡a†r¢ajóX stamp: 'sw 11/16/2000 14:42'!r£a†r¤ahjì†r¥ajKXrefineRedoTarget:r¦a†r§ahj½†r¨ah¨Xtargetr©a†rªahj½†r«ajKX	selector:r¬a†r­ahj½†r®ah¨XaSymbolr¯a†r°ahj½†r±ajKX
arguments:r²a†r³ahj½†r´ah¨X	argumentsrµa†r¶ahj½†r·ajKXin:r¸a†r¹ahj½†rºah¨XrefineBlockr»a†r¼ahX 
	r½a†r¾ajLXF"Any object can override this method to refine its redo specification"r¿a†rÀahX

	rÁa†rÂahLj;†rÃahj½†rÄah¨XrefineBlockrÅa†rÆahX
		rÇa†rÈajKXvalue:rÉa†rÊahj½†rËah¨XtargetrÌa†rÍahX
		rÎa†rÏajKXvalue:rÐa†rÑahj½†rÒah¨XaSymbolrÓa†rÔahX
		rÕa†rÖajKXvalue:r×a†rØahj½†rÙah¨X	argumentsrÚa†rÛajóX! !rÜa†rÝahX

rÞa†rßajój¹†ràah‘XObjectráa†râajóX
 methodsFor: rãa†räaj˜X'undo'råa†ræajóX stamp: 'sw 11/16/2000 14:42'!rça†rèahjì†réajKXrefineUndoTarget:rêa†rëahj½†rìah¨Xtargetría†rîahj½†rïajKX	selector:rða†rñahj½†ròah¨XaSymbolróa†rôahj½†rõajKX
arguments:röa†r÷ahj½†røah¨X	argumentsrùa†rúahj½†rûajKXin:rüa†rýahj½†rþah¨XrefineBlockrÿa†rbhX 
	rb†rbjLXF"Any object can override this method to refine its undo specification"rb†rbhX

	rb†rbhLj;†rbhj½†rbh¨XrefineBlockr	b†r
bhX
		rb†rbjKXvalue:r
b†rbhj½†rbh¨Xtargetrb†rbhX
		rb†rbjKXvalue:rb†rbhj½†rbh¨XaSymbolrb†rbhX
		rb†rbjKXvalue:rb†rbhj½†rbh¨X	argumentsrb†rbjóX! !r b†r!bhX

r"b†r#bjój¹†r$bh‘XObjectr%b†r&bjóX
 methodsFor: r'b†r(bj˜X'undo'r)b†r*bjóX stamp: 'di 9/11/2000 20:30'!r+b†r,bhjì†r-bjKXrememberCommand:r.b†r/bhj½†r0bh¨XaCommandr1b†r2bhX
	r3b†r4bjLX%"Remember the given command for undo"r5b†r6bhX
	r7b†r8bh‘XPreferencesr9b†r:bhj½†r;bjKXuseUndor<b†r=bhj½†r>bjXifFalse:r?b†r@bhj½†rAbhj[†rBbhLj;†rCbhj½†rDbj!XselfrEb†rFbhje†rGbj©jþ†rHbhj½†rIbjLX"get out quickly"rJb†rKbhX
	rLb†rMbhLj;†rNbhj½†rObj!XselfrPb†rQbhj½†rRbjKXcommandHistoryrSb†rTbhj½†rUbjKXrememberCommand:rVb†rWbhj½†rXbh¨XaCommandrYb†rZbjóX! !r[b†r\bhX

r]b†r^bjój¹†r_bh‘XObjectr`b†rabjóX
 methodsFor: rbb†rcbj˜X'undo'rdb†rebjóX stamp: 'di 9/11/2000 20:30'!rfb†rgbhjì†rhbjKXrememberUndoableAction:rib†rjbhj½†rkbh¨XactionBlockrlb†rmbhj½†rnbjKXnamed:rob†rpbhj½†rqbh¨Xcaptionrrb†rsbhX
	rtb†rubhLjµ†rvbh¨X cmd result rwb†rxbhLjµ†rybhX
	rzb†r{bh¨Xcmdr|b†r}bhj½†r~bhLj¸†rbhj½†r€bh‘XCommandrb†r‚bhj½†rƒbjXnewr„b†r…bhj½†r†bjKXcmdWording:r‡b†rˆbhj½†r‰bh¨XcaptionrŠb†r‹bj©jþ†rŒbhX
	rb†rŽbh¨Xcmdrb†rbhj½†r‘bjKXundoTarget:r’b†r“bhj½†r”bj!Xselfr•b†r–bhj½†r—bjKX	selector:r˜b†r™bhj½†ršbj´X#undoFromCapturedState:r›b†rœbhj½†rbjKX	argument:ržb†rŸbhj½†r bj!Xselfr¡b†r¢bhj½†r£bjKX
capturedStater¤b†r¥bj©jþ†r¦bhX
	r§b†r¨bh¨Xresultr©b†rªbhj½†r«bhLj¸†r¬bhj½†r­bh¨XactionBlockr®b†r¯bhj½†r°bjKXvaluer±b†r²bj©jþ†r³bhX
	r´b†rµbh¨Xcmdr¶b†r·bhj½†r¸bjKXredoTarget:r¹b†rºbhj½†r»bj!Xselfr¼b†r½bhj½†r¾bjKX	selector:r¿b†rÀbhj½†rÁbj´X#redoFromCapturedState:rÂb†rÃbhj½†rÄbjKX	argument:rÅb†rÆbhj½†rÇbj!XselfrÈb†rÉbhj½†rÊbjKX
capturedStaterËb†rÌbj©jþ†rÍbhX
	rÎb†rÏbj!XselfrÐb†rÑbhj½†rÒbjKXrememberCommand:rÓb†rÔbhj½†rÕbh¨XcmdrÖb†r×bj©jþ†rØbhX
	rÙb†rÚbhLj;†rÛbhj½†rÜbh¨XresultrÝb†rÞbjóX! !rßb†ràbhX

ráb†râbjój¹†rãbh‘XObjecträb†råbjóX
 methodsFor: ræb†rçbj˜X'undo'rèb†rébjóX stamp: 'di 9/11/2000 20:32'!rêb†rëbhjì†rìbjKXundoFromCapturedState:ríb†rîbhj½†rïbh¨Xstrðb†rñbhX 
	ròb†róbjLX:"May be overridden in subclasses.  See also capturedState"rôb†rõbhX

	röb†r÷bj!Xselfrøb†rùbhj½†rúbjKX	copyFrom:rûb†rübhj½†rýbh¨Xstrþb†rÿbhjì†rcjóX! !rc†rchX


rc†rcjój¹†rch‘XObjectrc†rcjóX
 methodsFor: rc†r	cj˜X
'updating'r
c†rcjój¹†rchjì†r
cjKXchangedrc†rchX
	rc†rcjLXn"Receiver changed in a general way; inform all the dependents by 
	sending each dependent an update: message."rc†rchX

	rc†rcj!Xselfrc†rchj½†rcjKXchanged:rc†rchj½†rcj!Xselfrc†rcjóX! !rc†rchX

r c†r!cjój¹†r"ch‘XObjectr#c†r$cjóX
 methodsFor: r%c†r&cj˜X
'updating'r'c†r(cjój¹†r)chjì†r*cjKXchanged:r+c†r,chj½†r-ch¨X
aParameterr.c†r/chX 
	r0c†r1cjLX¹"Receiver changed. The change is denoted by the argument aParameter. 
	Usually the argument is a Symbol that is part of the dependent's change 
	protocol. Inform all of the dependents."r2c†r3chX

	r4c†r5cj!Xselfr6c†r7chj½†r8cjKX
dependentsr9c†r:chj½†r;cjKXdo:r<c†r=chj½†r>chj[†r?chLjî†r@ch¨X
aDependentrAc†rBchj½†rCchLjµ†rDchj½†rEch¨X
aDependentrFc†rGchj½†rHcjKXupdate:rIc†rJchj½†rKch¨X
aParameterrLc†rMchje†rNcjóX! !rOc†rPchX

rQc†rRcjój¹†rSch‘XObjectrTc†rUcjóX
 methodsFor: rVc†rWcj˜X
'updating'rXc†rYcjóX stamp: 'nk 2/17/2004 11:12'!rZc†r[chjì†r\cjKXchanged:r]c†r^chj½†r_ch¨XanAspectr`c†rachj½†rbcjKXwith:rcc†rdchj½†rech¨XanObjectrfc†rgchX
	rhc†ricjLXæ"Receiver changed. The change is denoted by the argument anAspect. 
	Usually the argument is a Symbol that is part of the dependent's change 
	protocol. Inform all of the dependents. Also pass anObject for additional information."rjc†rkchX

	rlc†rmcj!Xselfrnc†rochj½†rpcjKX
dependentsrqc†rrchj½†rscjKXdo:rtc†ruchj½†rvchj[†rwchLjî†rxch¨X
aDependentryc†rzchj½†r{chLjµ†r|chj½†r}ch¨X
aDependentr~c†rchj½†r€cjKXupdate:rc†r‚chj½†rƒch¨XanAspectr„c†r…chj½†r†cjKXwith:r‡c†rˆchj½†r‰ch¨XanObjectrŠc†r‹chje†rŒcjóX! !rc†rŽchX

rc†rcjój¹†r‘ch‘XObjectr’c†r“cjóX
 methodsFor: r”c†r•cj˜X
'updating'r–c†r—cjóX stamp: 'sw 10/12/1999 18:15'!r˜c†r™chjì†ršcjKXhandledListVerificationr›c†rœchX
	rc†ržcjLX,"When a self-updating PluggableListMorph lazily checks to see the state of affairs, it first gives its model an opportunity to handle the list verification itself (this is appropriate for some models, such as VersionsBrowser); if a list's model has indeed handled things itself, it returns true here"rŸc†r chX

	r¡c†r¢chLj;†r£chj½†r¤cj!Xfalser¥c†r¦cjóX! !r§c†r¨chX

r©c†rªcjój¹†r«ch‘XObjectr¬c†r­cjóX
 methodsFor: r®c†r¯cj˜X
'updating'r°c†r±cjóX stamp: 'sw 10/31/1999 00:15'!r²c†r³chjì†r´cjKXnoteSelectionIndex:rµc†r¶chj½†r·ch¨X	anIntegerr¸c†r¹chj½†rºcjKXfor:r»c†r¼chj½†r½ch¨XaSymbolr¾c†r¿chX
	rÀc†rÁcjLX
"backstop"rÂc†rÃcjóX! !rÄc†rÅchX

rÆc†rÇcjój¹†rÈch‘XObjectrÉc†rÊcjóX
 methodsFor: rËc†rÌcj˜X
'updating'rÍc†rÎcjój¹†rÏchjì†rÐcjKX
okToChangerÑc†rÒchX
	rÓc†rÔcjLX."Allows a controller to ask this of any model"rÕc†rÖchX
	r×c†rØchLj;†rÙchj½†rÚcj!XtruerÛc†rÜcjóX! !rÝc†rÞchX

rßc†ràcjój¹†rách‘XObjectrâc†rãcjóX
 methodsFor: räc†råcj˜X
'updating'ræc†rçcjóX stamp: 'sw 10/19/1999 14:39'!rèc†réchjì†rêcjKXupdateListsAndCodeIn:rëc†rìchj½†rích¨XaWindowrîc†rïchX
	rðc†rñcj!Xselfròc†róchj½†rôcjKXcanDiscardEditsrõc†röchj½†r÷cjXifFalse:røc†rùchj½†rúchj[†rûchLj;†rüchj½†rýcj!Xselfrþc†rÿchje†rdj©jþ†rdhX
	rd†rdh¨XaWindowrd†rdhj½†rdjKXupdatablePanesrd†rdhj½†r	djKXdo:r
d†rdhj½†rdhj[†r
dhLjî†rdh¨XaPanerd†rdhj½†rdhLjµ†rdhj½†rdh¨XaPanerd†rdhj½†rdjKXverifyContentsrd†rdhje†rdjóX! !rd†rdhX

rd†rdjój¹†rdh‘XObjectrd†r djóX
 methodsFor: r!d†r"dj˜X
'updating'r#d†r$djóX stamp: 'sma 2/29/2000 20:05'!r%d†r&dhjì†r'djKXupdate:r(d†r)dhj½†r*dh¨X
aParameterr+d†r,dhX 
	r-d†r.djLX¬"Receive a change notice from an object of whom the receiver is a 
	dependent. The default behavior is to do nothing; a subclass might want 
	to change itself in some way."r/d†r0dhX

	r1d†r2dhLj;†r3dhj½†r4dj!Xselfr5d†r6djóX! !r7d†r8dhX

r9d†r:djój¹†r;dh‘XObjectr<d†r=djóX
 methodsFor: r>d†r?dj˜X
'updating'r@d†rAdjóX stamp: 'nk 2/17/2004 11:13'!rBd†rCdhjì†rDdjKXupdate:rEd†rFdhj½†rGdh¨XanAspectrHd†rIdhj½†rJdjKXwith:rKd†rLdhj½†rMdh¨XanObjectrNd†rOdhX
	rPd†rQdjLXÎ"Receive a change notice from an object of whom the receiver is a 
	dependent. The default behavior is to call update:,
	which by default does nothing; a subclass might want 
	to change itself in some way."rRd†rSdhX

	rTd†rUdhLj;†rVdhj½†rWdj!XselfrXd†rYdhj½†rZdjKXupdate:r[d†r\dhj½†r]dh¨XanAspectr^d†r_djóX! !r`d†radhX

rbd†rcdjój¹†rddh‘XObjectred†rfdjóX
 methodsFor: rgd†rhdj˜X
'updating'rid†rjdjóX stamp: 'jm 8/20/1998 18:26'!rkd†rldhjì†rmdjKXwindowIsClosingrnd†rodhX
	rpd†rqdjLX"This message is used to inform a models that its window is closing. Most models do nothing, but some, such as the Debugger, must do some cleanup. Note that this mechanism must be used with care by models that support multiple views, since one view may be closed while others left open."rrd†rsdhjì†rtdjóX! !rud†rvdhX


rwd†rxdjój¹†rydh‘XObjectrzd†r{djóX
 methodsFor: r|d†r}dj˜X'user interface'r~d†rdjóX stamp: 'sw 10/4/1999 08:13'!r€d†rdhjì†r‚djKXaddModelItemsToWindowMenu:rƒd†r„dhj½†r…dh¨XaMenur†d†r‡dhX
	rˆd†r‰djLX"aMenu is being constructed to be presented to the user in response to the user's pressing on the menu widget in the title bar of a morphic window.  Here, the model is given the opportunity to add any model-specific items to the menu, whose default target is the SystemWindow itself."rŠd†r‹djóX! !rŒd†rdhX

rŽd†rdjój¹†rdh‘XObjectr‘d†r’djóX
 methodsFor: r“d†r”dj˜X'user interface'r•d†r–djóX stamp: 'sw 10/5/1998 14:39'!r—d†r˜dhjì†r™djKXaddModelMenuItemsTo:ršd†r›dhj½†rœdh¨XaCustomMenurd†rždhj½†rŸdjKX	forMorph:r d†r¡dhj½†r¢dh¨XaMorphr£d†r¤dhj½†r¥djKXhand:r¦d†r§dhj½†r¨dh¨X
aHandMorphr©d†rªdhX 
	r«d†r¬djLXŒ"The receiver serves as the model for aMorph; a menu is being constructed for the morph, and here the receiver is able to add its own items"r­d†r®dhjì†r¯djóX! !r°d†r±dhX

r²d†r³djój¹†r´dh‘XObjectrµd†r¶djóX
 methodsFor: r·d†r¸dj˜X'user interface'r¹d†rºdjóX stamp: 'sma 11/12/2000 11:43'!r»d†r¼dhjì†r½djKXasExplorerStringr¾d†r¿dhX
	rÀd†rÁdhLj;†rÂdhj½†rÃdj!XselfrÄd†rÅdhj½†rÆdjKXprintStringrÇd†rÈdjóX! !rÉd†rÊdhX

rËd†rÌdjój¹†rÍdh‘XObjectrÎd†rÏdjóX
 methodsFor: rÐd†rÑdj˜X'user interface'rÒd†rÓdjóX stamp: 'sw 7/13/1999 15:53'!rÔd†rÕdhjì†rÖdjKXdefaultBackgroundColorr×d†rØdhX
	rÙd†rÚdjLXt"Answer the color to be used as the base window color for a window whose model is an object of the receiver's class"rÛd†rÜdhX
	
	rÝd†rÞdhLj;†rßdhj½†ràdh‘XPreferencesrád†râdhj½†rãdjKXwindowColorFor:räd†rådhj½†rædj!Xselfrçd†rèdhj½†rédjKXclassrêd†rëdhj½†rìdjKXnameríd†rîdjóX! !rïd†rðdhX

rñd†ròdjój¹†ródh‘XObjectrôd†rõdjóX
 methodsFor: röd†r÷dj˜X'user interface'rød†rùdjój¹†rúdhjì†rûdjKXdefaultLabelForInspectorrüd†rýdhX
	rþd†rÿdjLXN"Answer the default label to be used for an Inspector window on the receiver."re†rehX

	re†rehLj;†rehj½†rej!Xselfre†rehj½†rejKXclassr	e†r
ehj½†rejKXnamere†r
ejóX! !re†rehX

re†rejój¹†reh‘XObjectre†rejóX
 methodsFor: re†rej˜X'user interface're†rejóX stamp: 'RAA 7/10/2000 08:11'!re†rehjì†rejKX$eToyStreamedRepresentationNotifying:re†rehj½†reh¨XaWidgetre†r ehX

	r!e†r"ehLjµ†r#eh¨X	 outData r$e†r%ehLjµ†r&ehX
	r'e†r(ehj[†r)ehj½†r*eh¨XoutDatar+e†r,ehj½†r-ehLj¸†r.ehj½†r/eh‘XSmartRefStreamr0e†r1ehj½†r2ejKXstreamedRepresentationOf:r3e†r4ehj½†r5ej!Xselfr6e†r7ehj½†r8ehje†r9ehX 
		r:e†r;ejKXon:r<e†r=ehj½†r>eh‘XProgressInitiationExceptionr?e†r@ehX
		rAe†rBejKXdo:rCe†rDehj½†rEehj[†rFehj½†rGehLjî†rHeh¨XexrIe†rJehj½†rKehLjµ†rLehX 
			rMe†rNeh¨XexrOe†rPehj½†rQejKXsendNotificationsTo:rRe†rSehj½†rTehj[†rUehj½†rVehLjî†rWeh¨XminrXe†rYehj½†rZehLjî†r[eh¨Xmaxr\e†r]ehj½†r^ehLjî†r_eh¨Xcurrr`e†raehj½†rbehLjµ†rcehX
				rde†reeh¨XaWidgetrfe†rgehj½†rhejKX	ifNotNil:rie†rjehj½†rkehj[†rleh¨XaWidgetrme†rnehj½†roejKXflashIndicator:rpe†rqehj½†rrej´X#workingrse†rtehje†ruej©jþ†rvehX
			rwe†rxehje†ryej©jþ†rzehX
		r{e†r|ehje†r}ej©jþ†r~ehX
	re†r€ehLj;†reh¨XoutDatar‚e†rƒehjì†r„ejóX! !r…e†r†ehX

r‡e†rˆejój¹†r‰eh‘XObjectrŠe†r‹ejóX
 methodsFor: rŒe†rej˜X'user interface'rŽe†rejóX stamp: 'ar 9/27/2005 20:29'!re†r‘ehjì†r’ejKXexplorer“e†r”ehX
	r•e†r–ehLj;†r—eh‘XToolSetr˜e†r™ehj½†ršejKXexplore:r›e†rœehj½†rej!Xselfrže†rŸejóX! !r e†r¡ehX

r¢e†r£ejój¹†r¤eh‘XObjectr¥e†r¦ejóX
 methodsFor: r§e†r¨ej˜X'user interface'r©e†rªejóX stamp: 'sw 8/15/97 17:25'!r«e†r¬ehjì†r­ejKXfullScreenSizer®e†r¯ehX
	r°e†r±ejLXI"Answer the size to which a window displaying the receiver should be set"r²e†r³ehX
	r´e†rµehLjµ†r¶eh¨X adj r·e†r¸ehLjµ†r¹ehX
	rºe†r»eh¨Xadjr¼e†r½ehj½†r¾ehLj¸†r¿ehj½†rÀehjĆrÁej;j2†rÂehj½†rÃejKX*rÄe†rÅehj½†rÆeh‘XPreferencesrÇe†rÈehj½†rÉejKXscrollBarWidthrÊe†rËehj߆rÌehj½†rÍejKj;†rÎehj½†rÏej;jë†rÐej©jþ†rÑehX
	rÒe†rÓehLj;†rÔehj½†rÕeh‘X	RectanglerÖe†r×ehj½†rØejKXorigin:rÙe†rÚehj½†rÛeh¨XadjrÜe†rÝehj½†rÞejKXextent:rße†ràehj½†ráehjĆrâeh‘X
DisplayScreenrãe†räehj½†råejKXactualScreenSizeræe†rçehj½†rèejKj8"†réehj½†rêeh¨Xadjrëe†rìehj߆ríejóX! !rîe†rïehX

rðe†rñejój¹†ròeh‘XObjectróe†rôejóX
 methodsFor: rõe†röej˜X'user interface'r÷e†røejóX stamp: 'RAA 6/21/1999 11:27'!rùe†rúehjì†rûejKXhasContentsInExplorerrüe†rýehjì†rþehX
	rÿe†rfhLj;†rfj!Xselfrf†rfhj½†rfjKX	basicSizerf†rfhj½†rfjKji†rfhj½†r	fj;jë†r
fhj½†rfjKXor:rf†r
fhj½†rfhj[†rfj!Xselfrf†rfhj½†rfjKXclassrf†rfhj½†rfjKXallInstVarNamesrf†rfhj½†rfjKXisEmptyrf†rfhj½†rfjKXnotrf†rfhje†rfhjì†rfjóX! !r f†r!fhX

r"f†r#fjój¹†r$fh‘XObjectr%f†r&fjóX
 methodsFor: r'f†r(fj˜X'user interface'r)f†r*fjóX stamp: 'rbb 3/1/2005 09:28'!r+f†r,fhjì†r-fjKXinform:r.f†r/fhj½†r0fh¨XaStringr1f†r2fhX
	r3f†r4fjLXD"Display a message for the user to read and then dismiss. 6/9/96 sw"r5f†r6fhX

	r7f†r8fh¨XaStringr9f†r:fhj½†r;fjKXisEmptyOrNilr<f†r=fhj½†r>fjXifFalse:r?f†r@fhj½†rAfhj[†rBfh‘X	UIManagerrCf†rDfhj½†rEfjKXdefaultrFf†rGfhj½†rHfjKXinform:rIf†rJfhj½†rKfh¨XaStringrLf†rMfhje†rNfjóX! !rOf†rPfhX

rQf†rRfjój¹†rSfe(h‘XObjectrTf†rUfjóX
 methodsFor: rVf†rWfj˜X'user interface'rXf†rYfjój¹†rZfhjì†r[fjKX
initialExtentr\f†r]fhX
	r^f†r_fjLX§"Answer the desired extent for the receiver when a view on it is first opened on the screen. 
	5/22/96 sw: in the absence of any override, obtain from RealEstateAgent"r`f†rafhX

	rbf†rcfhLj;†rdfhj½†refh‘XRealEstateAgentrff†rgfhj½†rhfjKXstandardWindowExtentrif†rjfjóX! !rkf†rlfhX

rmf†rnfjój¹†rofh‘XObjectrpf†rqfjóX
 methodsFor: rrf†rsfj˜X'user interface'rtf†rufjóX stamp: 'ar 9/27/2005 20:30'!rvf†rwfhjì†rxfjKXinspectWithLabel:ryf†rzfhj½†r{fh¨XaLabelr|f†r}fhX
	r~f†rfjLXZ"Create and schedule an Inspector in which the user can examine the receiver's variables."r€f†rfhX
	r‚f†rƒfhLj;†r„fh‘XToolSetr…f†r†fhj½†r‡fjKXinspect:rˆf†r‰fhj½†rŠfj!Xselfr‹f†rŒfhj½†rfjKXlabel:rŽf†rfhj½†rfh¨XaLabelr‘f†r’fjóX! !r“f†r”fhX

r•f†r–fjój¹†r—fh‘XObjectr˜f†r™fjóX
 methodsFor: ršf†r›fj˜X'user interface'rœf†rfjóX stamp: 'sw 6/12/2001 11:09'!ržf†rŸfhjì†r fjKXlaunchPartVia:r¡f†r¢fhj½†r£fh¨X	aSelectorr¤f†r¥fhX
	r¦f†r§fjLX‚"Obtain a morph by sending aSelector to self, and attach it to the morphic hand.  This provides a general protocol for parts bins"r¨f†r©fhX

	rªf†r«fhLjµ†r¬fh¨X aMorph r­f†r®fhLjµ†r¯fhX
	r°f†r±fh¨XaMorphr²f†r³fhj½†r´fhLj¸†rµfhj½†r¶fj!Xselfr·f†r¸fhj½†r¹fjKXperform:rºf†r»fhj½†r¼fh¨X	aSelectorr½f†r¾fj©jþ†r¿fhX
	rÀf†rÁfh¨XaMorphrÂf†rÃfhj½†rÄfjKXsetProperty:rÅf†rÆfhj½†rÇfj´X#beFullyVisibleAfterDroprÈf†rÉfhj½†rÊfjKXtoValue:rËf†rÌfhj½†rÍfj!XtruerÎf†rÏfj©jþ†rÐfhX
	rÑf†rÒfh¨XaMorphrÓf†rÔfhj½†rÕfjKX
openInHandrÖf†r×fjóX! !rØf†rÙfhX

rÚf†rÛfjój¹†rÜfh‘XObjectrÝf†rÞfjóX
 methodsFor: rßf†ràfj˜X'user interface'ráf†râfjóX stamp: 'sw 6/17/2004 01:47'!rãf†räfhjì†råfjKXlaunchPartVia:ræf†rçfhj½†rèfh¨X	aSelectorréf†rêfhj½†rëfjKXlabel:rìf†rífhj½†rîfh¨XaStringrïf†rðfhX
	rñf†ròfjLX‚"Obtain a morph by sending aSelector to self, and attach it to the morphic hand.  This provides a general protocol for parts bins"róf†rôfhX

	rõf†röfhLjµ†r÷fh¨X aMorph røf†rùfhLjµ†rúfhX
	rûf†rüfh¨XaMorphrýf†rþfhj½†rÿfhLj¸†rghj½†rgj!Xselfrg†rghj½†rgjKXperform:rg†rghj½†rgh¨X	aSelectorrg†r	gj©jþ†r
ghX
	rg†rgh¨XaMorphr
g†rghj½†rgjKX
setNameTo:rg†rghj½†rghjĆrgh‘XActiveWorldrg†rghj½†rgjKXunusedMorphNameLike:rg†rghj½†rgh¨XaStringrg†rghj߆rgj©jþ†rghX
	rg†rgh¨XaMorphr g†r!ghj½†r"gjKXsetProperty:r#g†r$ghj½†r%gj´X#beFullyVisibleAfterDropr&g†r'ghj½†r(gjKXtoValue:r)g†r*ghj½†r+gj!Xtruer,g†r-gj©jþ†r.ghX
	r/g†r0gh¨XaMorphr1g†r2ghj½†r3gjKX
openInHandr4g†r5gjóX! !r6g†r7ghX

r8g†r9gjój¹†r:gh‘XObjectr;g†r<gjóX
 methodsFor: r=g†r>gj˜X'user interface'r?g†r@gjóX stamp: 'sw 10/16/2000 11:11'!rAg†rBghjì†rCgjKXlaunchTileToReferrDg†rEghX
	rFg†rGgjLXD"Create a tile to reference the receiver, and attach it to the hand"rHg†rIghX

	rJg†rKgj!XselfrLg†rMghj½†rNgjKXcurrentHandrOg†rPghj½†rQgjKXattachMorph:rRg†rSghj½†rTgj!XselfrUg†rVghj½†rWgjKXtileToReferrXg†rYgjóX! !rZg†r[ghX

r\g†r]gjój¹†r^gh‘XObjectr_g†r`gjóX
 methodsFor: rag†rbgj˜X'user interface'rcg†rdgjóX stamp: 'di 5/11/1999 22:26'!reg†rfghjì†rggjKX
modelSleeprhg†righX
	rjg†rkgjLX^"A window with me as model is being exited or collapsed or closed.
	Default response is no-op"rlg†rmghj½†rngjóX! !rog†rpghX

rqg†rrgjój¹†rsgh‘XObjectrtg†rugjóX
 methodsFor: rvg†rwgj˜X'user interface'rxg†rygjóX stamp: 'di 5/11/1999 22:01'!rzg†r{ghjì†r|gjKXmodelWakeUpr}g†r~ghX
	rg†r€gjLXT"A window with me as model is being entered or expanded.  Default response is no-op"rg†r‚ghj½†rƒgjóX! !r„g†r…ghX

r†g†r‡gjój¹†rˆgh‘XObjectr‰g†rŠgjóX
 methodsFor: r‹g†rŒgj˜X'user interface'rg†rŽgjóX stamp: 'sw 10/16/1999 22:45'!rg†rghjì†r‘gjKXmodelWakeUpIn:r’g†r“ghj½†r”gh¨XaWindowr•g†r–ghX
	r—g†r˜gjLXT"A window with me as model is being entered or expanded.  Default response is no-op"r™g†ršghX 
	r›g†rœgj!Xselfrg†ržghj½†rŸgjKXmodelWakeUpr g†r¡gjóX! !r¢g†r£ghX

r¤g†r¥gjój¹†r¦gh‘XObjectr§g†r¨gjóX
 methodsFor: r©g†rªgj˜X'user interface'r«g†r¬gjóX stamp: 'sw 3/8/1999 15:27'!r­g†r®ghjì†r¯gjKXmouseUpBalk:r°g†r±ghj½†r²gh¨Xevtr³g†r´ghX
	rµg†r¶gjLX""A button I own got a mouseDown, but the user moved out before letting up.  Certain kinds of objects (so-called 'radio buttons', for example, and other structures that must always have some selection, e.g. PaintBoxMorph) wish to take special action in this case; this default does nothing."r·g†r¸ghjì†r¹gjóX! !rºg†r»ghX

r¼g†r½gjój¹†r¾gh‘XObjectr¿g†rÀgjóX
 methodsFor: rÁg†rÂgj˜X'user interface'rÃg†rÄgjóX stamp: 'sw 8/22/97 13:14'!rÅg†rÆghjì†rÇgjKXnewTileMorphRepresentativerÈg†rÉghX
	rÊg†rËghLj;†rÌghj½†rÍgh‘X	TileMorphrÎg†rÏghj½†rÐgjXnewrÑg†rÒghj½†rÓgjKXsetLiteral:rÔg†rÕghj½†rÖgj!Xselfr×g†rØgjóX! !rÙg†rÚghX

rÛg†rÜgjój¹†rÝgh‘XObjectrÞg†rßgjóX
 methodsFor: ràg†rágj˜X'user interface'râg†rãgjóX stamp: 'jcg 11/1/2001 13:13'!räg†råghjì†rægjKXnotYetImplementedrçg†règhX
	rég†rêgj!Xselfrëg†rìghj½†rígjKXinform:rîg†rïghj½†rðgj˜X'Not yet implemented ('rñg†rògjKj)	†róghj½†rôgj!XthisContextrõg†röghj½†r÷gjKXsenderrøg†rùghj½†rúgjKXprintStringrûg†rügjKj)	†rýghj½†rþgj˜X')'rÿg†rhjóX! !rh†rhhX

rh†rhjój¹†rhh‘XObjectrh†rhjóX
 methodsFor: rh†r	hj˜X'user interface'r
h†rhjóX stamp: 'di 6/10/1998 15:06'!rh†r
hhjì†rhjKXwindowReqNewLabel:rh†rhhj½†rhh¨XlabelStringrh†rhhX
	rh†rhjLXc"My window's title has been edited.
	Return true if this is OK, and override for further behavior."rh†rhhX

	rh†rhhLj;†rhhj½†rhj!Xtruerh†rhjóX! !rh†rhhX


r h†r!hjój¹†r"hh‘XObjectr#h†r$hjóX
 methodsFor: r%h†r&hj˜X'viewer'r'h†r(hjóX stamp: 'sw 10/16/2000 10:35'!r)h†r*hhjì†r+hjKXassureUniClassr,h†r-hhX
	r.h†r/hjLXˆ"If the receiver is not yet an instance of a uniclass, create a uniclass for it and make the receiver become an instance of that class."r0h†r1hhX

	r2h†r3hhLjµ†r4hh¨X anInstance r5h†r6hhLjµ†r7hhX
	r8h†r9hj!Xselfr:h†r;hhj½†r<hjKXbelongsToUniClassr=h†r>hhj½†r?hjXifTrue:r@h†rAhhj½†rBhhj[†rChhLj;†rDhhj½†rEhj!XselfrFh†rGhhje†rHhj©jþ†rIhhX
	rJh†rKhh¨X
anInstancerLh†rMhhj½†rNhhLj¸†rOhhj½†rPhj!XselfrQh†rRhhj½†rShjKXclassrTh†rUhhj½†rVhjKXinstanceOfUniqueClassrWh†rXhj©jþ†rYhhX
	rZh†r[hj!Xselfr\h†r]hhj½†r^hjKXbecome:r_h†r`hhj½†rahhjĆrbhj!Xselfrch†rdhhj½†rehjKXas:rfh†rghhj½†rhhh¨X
anInstancerih†rjhhj½†rkhjKXclassrlh†rmhhj߆rnhj©jþ†rohhX
	rph†rqhhLj;†rrhhj½†rshh¨X
anInstancerth†ruhjóX! !rvh†rwhhX

rxh†ryhjój¹†rzhh‘XObjectr{h†r|hjóX
 methodsFor: r}h†r~hj˜X'viewer'rh†r€hjóX stamp: 'sw 10/16/2000 10:41'!rh†r‚hhjì†rƒhjKXbelongsToUniClassr„h†r…hhX
	r†h†r‡hjLX§"Answer whether the receiver belongs to a uniclass.  For the moment (this is not entirely satisfactory) this is precisely equated with the classname ending in a digit"rˆh†r‰hhX

	rŠh†r‹hhLj;†rŒhhj½†rhj!XselfrŽh†rhhj½†rhjKXclassr‘h†r’hhj½†r“hjKXnamer”h†r•hhj½†r–hjKX
endsWithDigitr—h†r˜hjóX! !r™h†ršhhX

r›h†rœhjój¹†rhh‘XObjectržh†rŸhjóX
 methodsFor: r h†r¡hj˜X'viewer'r¢h†r£hjóX stamp: 'sw 12/11/2000 15:37'!r¤h†r¥hhjì†r¦hjKXbrowseOwnClassSubProtocolr§h†r¨hhX
	r©h†rªhjLX>"Open up a ProtocolBrowser on the subprotocol of the receiver"r«h†r¬hhX

	r­h†r®hh‘XProtocolBrowserr¯h†r°hhj½†r±hjKXopenSubProtocolForClass:r²h†r³hhj½†r´hj!Xselfrµh†r¶hhj½†r·hjKXclassr¸h†r¹hhjì†rºhjóX! !r»h†r¼hhX

r½h†r¾hjój¹†r¿hh‘XObjectrÀh†rÁhjóX
 methodsFor: rÂh†rÃhj˜X'viewer'rÄh†rÅhjóX stamp: 'sw 8/4/2001 00:51'!rÆh†rÇhhjì†rÈhjKXcategoriesForViewer:rÉh†rÊhhj½†rËhh¨XaViewerrÌh†rÍhhX
	rÎh†rÏhjLX:"Answer a list of categories to offer in the given viewer"rÐh†rÑhhX

	rÒh†rÓhhLj;†rÔhhj½†rÕhh¨XaViewerrÖh†r×hhj½†rØhjKXcurrentVocabularyrÙh†rÚhhj½†rÛhjKXcategoryListForInstance:rÜh†rÝhhj½†rÞhj!Xselfrßh†ràhhj½†ráhjKXofClass:râh†rãhhj½†rähj!Xselfråh†ræhhj½†rçhjKXclassrèh†réhhj½†rêhjKXlimitClass:rëh†rìhhj½†ríhh¨XaViewerrîh†rïhhj½†rðhjKX
limitClassrñh†ròhjóX! !róh†rôhhX

rõh†röhjój¹†r÷hh‘XObjectrøh†rùhjóX
 methodsFor: rúh†rûhj˜X'viewer'rüh†rýhjóX stamp: 'sw 8/3/2001 22:08'!rþh†rÿhhjì†rijKXcategoriesForVocabulary:ri†rihj½†rih¨XaVocabularyri†rihj½†rijKXlimitClass:ri†rihj½†r	ih¨XaLimitClassr
i†rihX
	ri†r
ijLX·"Answer a list of categories of methods for the receiver when using the given vocabulary, given that one considers only methods that are implemented not further away than aLimitClass"ri†rihX

	ri†rihLj;†rihj½†rih¨XaVocabularyri†rihj½†rijKXcategoryListForInstance:ri†rihj½†rij!Xselfri†rihj½†rijKXofClass:ri†rihj½†rij!Xselfr i†r!ihj½†r"ijKXclassr#i†r$ihj½†r%ijKXlimitClass:r&i†r'ihj½†r(ih¨XaLimitClassr)i†r*ijóX! !r+i†r,ihX

r-i†r.ijój¹†r/ih‘XObjectr0i†r1ijóX
 methodsFor: r2i†r3ij˜X'viewer'r4i†r5ijóX stamp: 'sw 10/25/2000 07:20'!r6i†r7ihjì†r8ijKXchooseNewNameForReferencer9i†r:ihX
	r;i†r<ijLXo"Offer an opportunity for the receiver, presumed already to be known in the References registry, to be renamed"r=i†r>ihX

	r?i†r@ihLjµ†rAih¨X  nameSym current newName rBi†rCihLjµ†rDihX
	rEi†rFih¨XcurrentrGi†rHihj½†rIihLj¸†rJihj½†rKih‘X
ReferencesrLi†rMihj½†rNijKXkeyAtValue:rOi†rPihj½†rQij!XselfrRi†rSihj½†rTijKX	ifAbsent:rUi†rVihj½†rWihj[†rXihLj;†rYihj½†rZij!Xselfr[i†r\ihj½†r]ijKXerror:r^i†r_ihj½†r`ij˜X'not found in References'rai†rbihje†rcij©jþ†rdihX

	rei†rfih¨XnewNamergi†rhihj½†riihLj¸†rjihj½†rkih‘XFillInTheBlankrli†rmihj½†rnijKXrequest:roi†rpihj½†rqij˜X'Please enter new name'rri†rsihj½†rtijKXinitialAnswer:rui†rvihj½†rwih¨Xcurrentrxi†ryij©jþ†rzihX
	r{i†r|ijLXÌ"Want to user some better way of determining the validity of the chosen identifier, and also want to give more precise diagnostic if the string the user types in is not acceptable.  Work to be done here."r}i†r~ihX

	ri†r€ih¨XnewNameri†r‚ihj½†rƒijKXisEmptyr„i†r…ihj½†r†ijXifTrue:r‡i†rˆihj½†r‰ihj[†rŠihLj;†r‹ihj½†rŒij!Xnilri†rŽihje†rij©jþ†rihX
	r‘i†r’ihjĆr“ihjĆr”ih‘XScannerr•i†r–ihj½†r—ijKXisLiteralSymbol:r˜i†r™ihj½†rših¨XnewNamer›i†rœihj߆rihj½†ržijKXand:rŸi†r ihj½†r¡ihj[†r¢ihjĆr£ih¨XnewNamer¤i†r¥ihj½†r¦ijKX	includes:r§i†r¨ihj½†r©ij­X$:rªi†r«ihj߆r¬ihj½†r­ijKXnotr®i†r¯ihje†r°ihj߆r±ihX
		r²i†r³ijXifTrue:r´i†rµihX
			r¶i†r·ihj[†r¸ih¨XnameSymr¹i†rºihj½†r»ihLj¸†r¼ihj½†r½ih¨XnewNamer¾i†r¿ihj½†rÀijKXcapitalizedrÁi†rÂihj½†rÃijKXasSymbolrÄi†rÅij©jþ†rÆihX
			rÇi†rÈihjĆrÉihjĆrÊihjĆrËih‘X
ReferencesrÌi†rÍihj½†rÎijKXincludesKey:rÏi†rÐihX  rÑi†rÒih¨XnameSymrÓi†rÔihj߆rÕihj½†rÖijKXnotr×i†rØihj½†rÙijKXand:rÚi†rÛihX
				rÜi†rÝihj[†rÞihjĆrßih‘X	Smalltalkrài†ráihj½†râijKXincludesKey:rãi†räihj½†råih¨XnameSymræi†rçihj߆rèihj½†réijKXnotrêi†rëihje†rìihj߆ríihj½†rîijKXand:rïi†rðihX
						rñi†ròihj[†róihjĆrôih‘XScriptingSystemrõi†röihj½†r÷ijKXallKnownClassVariableNamesrøi†rùihj½†rúijKX	includes:rûi†rüihj½†rýih¨XnameSymrþi†rÿihj߆rjhj½†rjjKXnotrj†rjhje†rjhj߆rjhX
					rj†rjjXifTrue:rj†r	jhX
						r
j†rjhj[†rjhjĆr
jh‘X
Referencesrj†rjhj½†rjjKXassociationAt:rj†rjhj½†rjh¨Xcurrentrj†rjhj߆rjhj½†rjjKXkey:rj†rjhj½†rjh¨XnameSymrj†rjj©jþ†rjhX
						rj†rjh‘X
Referencesr j†r!jhj½†r"jjKXrehashr#j†r$jj©jþ†r%jhX
						r&j†r'jhLj;†r(jhj½†r)jh¨XnameSymr*j†r+jhje†r,jhje†r-jj©jþ†r.jhX
	r/j†r0jj!Xselfr1j†r2jhj½†r3jjKXinform:r4j†r5jhj½†r6jj˜X$'Sorry, that name is not available.'r7j†r8jj©jþ†r9jhX
	r:j†r;jhLj;†r<jhj½†r=jj!Xnilr>j†r?jjóX! !r@j†rAjhX

rBj†rCjjój¹†rDjh‘XObjectrEj†rFjjóX
 methodsFor: rGj†rHjj˜X'viewer'rIj†rJjjóX stamp: 'sw 8/3/2001 21:22'!rKj†rLjhjì†rMjjKXdefaultLimitClassForVocabulary:rNj†rOjhj½†rPjh¨XaVocabularyrQj†rRjhX
	rSj†rTjjLX¢"Answer the class to use, by default, as the limit class on a protocol browser or viewer opened up on the receiver, within the purview of the Vocabulary provided"rUj†rVjhX

	rWj†rXjhLj;†rYjhj½†rZjhjĆr[jh¨XaVocabularyr\j†r]jhj½†r^jjKX	isKindOf:r_j†r`jhj½†rajh‘XFullVocabularyrbj†rcjhj߆rdjhX
		rej†rfjjXifTrue:rgj†rhjhX
			 rij†rjjhj[†rkjj!Xselfrlj†rmjhj½†rnjjKXclassroj†rpjhj½†rqjjKX
superclassrrj†rsjhj½†rtjjKX==ruj†rvjhj½†rwjh‘XObjectrxj†ryjhX
				rzj†r{jjXifTrue:r|j†r}jhX
					r~j†rjhj[†r€jj!Xselfrj†r‚jhj½†rƒjjKXclassr„j†r…jhje†r†jhX
				r‡j†rˆjjXifFalse:r‰j†rŠjhX
					r‹j†rŒjhj[†rjj!XselfrŽj†rjhj½†rjjKXclassr‘j†r’jhj½†r“jjKX
superclassr”j†r•jhje†r–jhje†r—jhX
		r˜j†r™jjXifFalse:ršj†r›jhX
			rœj†rjhj[†ržjh‘XProtoObjectrŸj†r jhje†r¡jjóX! !r¢j†r£jhX

r¤j†r¥jjój¹†r¦jh‘XObjectr§j†r¨jjóX
 methodsFor: r©j†rªjj˜X'viewer'r«j†r¬jjóX stamp: 'sw 2/14/2000 14:24'!r­j†r®jhjì†r¯jjKXdefaultNameStemForInstancesr°j†r±jhX
	r²j†r³jjLXÆ"Answer a basis for names of default instances of the receiver.  The default is to let the class specify, but certain instances will want to override.  (PasteUpMorphs serving as Worlds come to mind"r´j†rµjhX

	r¶j†r·jhLj;†r¸jhj½†r¹jj!Xselfrºj†r»jhj½†r¼jjKXclassr½j†r¾jhj½†r¿jjKXdefaultNameStemForInstancesrÀj†rÁjjóX! !rÂj†rÃjhX

rÄj†rÅjjój¹†rÆjh‘XObjectrÇj†rÈjjóX
 methodsFor: rÉj†rÊjj˜X'viewer'rËj†rÌjjóX stamp: 'sw 5/22/2001 16:53'!rÍj†rÎjhjì†rÏjjKXelementTypeFor:rÐj†rÑjhj½†rÒjh¨XaStringOrSymbolrÓj†rÔjhj½†rÕjjKXvocabulary:rÖj†r×jhj½†rØjh¨XaVocabularyrÙj†rÚjhX
	rÛj†rÜjjLXF"Answer a symbol characterizing what kind of element aStringOrSymbol represents.  Realistically, at present, this always just returns #systemScript; a prototyped but not-incorporated architecture supported use of a leading colon to characterize an inst var of a system class, and for the moment we still see its remnant here."rÝj†rÞjhX

	rßj†ràjj!Xselfráj†râjhj½†rãjjKXflag:räj†råjhj½†ræjj´X	#deferredrçj†rèjj©jþ†réjhX  rêj†rëjjLX$"a loose end in the non-player case"rìj†ríjhX
	rîj†rïjhLj;†rðjhj½†rñjj´X
#systemScriptròj†rójjóX! !rôj†rõjhX

röj†r÷jjój¹†røjh‘XObjectrùj†rújjóX
 methodsFor: rûj†rüjj˜X'viewer'rýj†rþjjóX stamp: 'sw 5/4/2001 07:04'!rÿj†rkhjì†rkjKXexternalNamerk†rkhX
	rk†rkjLX{"Answer an external name by which the receiver is known.  Generic implementation here is a transitional backstop. probably"rk†rkhX

	rk†r	khLj;†r
khj½†rkj!Xselfrk†r
khj½†rkjKX
nameForViewerrk†rkjóX! !rk†rkhX

rk†rkjój¹†rkh‘XObjectrk†rkjóX
 methodsFor: rk†rkj˜X'viewer'rk†rkjóX stamp: 'sw 5/4/2001 07:06'!rk†rkhjì†rkjKXgraphicForViewerTabrk†r khX
	r!k†r"kjLXÔ"When a Viewer is open on the receiver, its tab needs some graphic to show to the user.  Answer a form or a morph to serve that purpose.  A generic image is used for arbitrary objects, but note my reimplementors"r#k†r$khX
	
	r%k†r&khLj;†r'khj½†r(kh‘XScriptingSystemr)k†r*khj½†r+kjKX
formAtKey:r,k†r-khj½†r.kj˜X'Image'r/k†r0kjóX! !r1k†r2khX

r3k†r4kjój¹†r5kh‘XObjectr6k†r7kjóX
 methodsFor: r8k†r9kj˜X'viewer'r:k†r;kjóX stamp: 'sw 5/4/2001 07:08'!r<k†r=khjì†r>kjKXhasUserDefinedSlotsr?k†r@khX
	rAk†rBkjLX©"Answer whether the receiver has any user-defined slots, in the omniuser sense of the term.  This is needed to allow Viewers to look at any object, not just at Players."rCk†rDkhX

	rEk†rFkhLj;†rGkhj½†rHkj!XfalserIk†rJkjóX! !rKk†rLkhX

rMk†rNkjój¹†rOkh‘XObjectrPk†rQkjóX
 methodsFor: rRk†rSkj˜X'viewer'rTk†rUkjóX stamp: 'sw 8/22/2002 14:07'!rVk†rWkhjì†rXkjKXinfoFor:rYk†rZkhj½†r[kh¨X	anElementr\k†r]khj½†r^kjKX	inViewer:r_k†r`khj½†rakh¨XaViewerrbk†rckhX
	rdk†rekjLXˆ"The user made a gesture asking for info/menu relating to me.  Some of the messages dispatched here are not yet available in this image"rfk†rgkhX

	rhk†rikhLjµ†rjkh¨X aMenu elementType rkk†rlkhLjµ†rmkhX
	rnk†rokh¨XelementTyperpk†rqkhj½†rrkhLj¸†rskhj½†rtkj!Xselfruk†rvkhj½†rwkjKXelementTypeFor:rxk†rykhj½†rzkh¨X	anElementr{k†r|khj½†r}kjKXvocabulary:r~k†rkhj½†r€kh¨XaViewerrk†r‚khj½†rƒkjKXcurrentVocabularyr„k†r…kj©jþ†r†khX
	r‡k†rˆkhjĆr‰khjĆrŠkh¨XelementTyper‹k†rŒkhj½†rkjKjþ†rŽkhj½†rkj´X#systemSlotrk†r‘khj߆r’khj½†r“kjKjµ†r”khj½†r•khjĆr–kh¨XelementTyper—k†r˜khj½†r™kjKX==ršk†r›khj½†rœkj´X	#userSlotrk†ržkhj߆rŸkhj߆r khX
		r¡k†r¢kjXifTrue:r£k†r¤khjí†r¥khj[†r¦khLj;†r§khj½†r¨kj!Xselfr©k†rªkhj½†r«kjKXslotInfoButtonHitFor:r¬k†r­khj½†r®kh¨X	anElementr¯k†r°khj½†r±kjKX	inViewer:r²k†r³khj½†r´kh¨XaViewerrµk†r¶khje†r·kj©jþ†r¸khX
	r¹k†rºkj!Xselfr»k†r¼khj½†r½kjKXflag:r¾k†r¿khj½†rÀkj´X	#deferredrÁk†rÂkj©jþ†rÃkhX  rÄk†rÅkjLX="Use a traditional MenuMorph, and reinstate the pacify thing"rÆk†rÇkhX
	rÈk†rÉkh¨XaMenurÊk†rËkhj½†rÌkhLj¸†rÍkhj½†rÎkh‘X	MenuMorphrÏk†rÐkhj½†rÑkjXnewrÒk†rÓkhj½†rÔkjKXdefaultTarget:rÕk†rÖkhj½†r×kh¨XaViewerrØk†rÙkj©jþ†rÚkhX
	rÛk†rÜkj´X#(rÝk†rÞkhjí†rßkj´jĆràkj˜X'implementors'rák†râkhX			rãk†räkj´XbrowseImplementorsOf:råk†rækj´j߆rçkhX
		rèk†rékj´jĆrêkj˜X	'senders'rëk†rìkhX				rík†rîkj´XbrowseSendersOf:rïk†rðkj´j߆rñkhX
		ròk†rókj´jĆrôkj˜X
'versions'rõk†rökhX				r÷k†røkj´XbrowseVersionsOf:rùk†rúkj´j߆rûkhX
		rük†rýkj´j8"†rþkhX
		rÿk†rlj´jĆrlj˜X
'browse full'rl†rlhX			rl†rlj´XbrowseMethodFull:rl†rlj´j߆rlhX
		r	l†r
lj´jĆrlj˜X
'inheritance'rl†r
lhX			rl†rlj´XbrowseMethodInheritance:rl†rlj´j߆rlhX
		rl†rlj´j8"†rlhX
		rl†rlj´jĆrlj˜X'about this method'rl†rlhX		rl†rlj´XaboutMethod:rl†rlj´j߆rlj´j߆r lhj½†r!ljKXdo:r"l†r#lhX

			r$l†r%lhj[†r&lhLjî†r'lh¨Xpairr(l†r)lhj½†r*lhLjµ†r+lhX
				r,l†r-lh¨Xpairr.l†r/lhj½†r0ljKjþ†r1lhj½†r2lj˜X'-'r3l†r4lhX
					r5l†r6ljXifTrue:r7l†r8lhX
						r9l†r:lhj[†r;lh¨XaMenur<l†r=lhj½†r>ljKXaddLiner?l†r@lhje†rAlhX
					rBl†rCljXifFalse:rDl†rElhX
						rFl†rGlhj[†rHlh¨XaMenurIl†rJlhj½†rKljKXadd:rLl†rMlhj½†rNlh¨XpairrOl†rPlhj½†rQljKXfirstrRl†rSlhj½†rTljKXtarget:rUl†rVlhj½†rWlh¨XaViewerrXl†rYlhj½†rZljKX	selector:r[l†r\lhj½†r]lh¨Xpairr^l†r_lhj½†r`ljKXsecondral†rblhj½†rcljKX	argument:rdl†relhj½†rflh¨X	anElementrgl†rhlhje†rilhje†rjlj©jþ†rklhX
	rll†rmlh¨XaMenurnl†rolhj½†rpljKXaddLinerql†rrlj©jþ†rslhX
	rtl†rulh¨XaMenurvl†rwlhj½†rxljKXdefaultTarget:ryl†rzlhj½†r{lj!Xselfr|l†r}lj©jþ†r~lhX
	rl†r€le(j´X#(rl†r‚lhjí†rƒlj´jĆr„lj˜X'destroy script'r…l†r†lhX		r‡l†rˆlj´X
removeScript:r‰l†rŠlj´j߆r‹lhX
		rŒl†rlj´jĆrŽlj˜X'rename script'rl†rlhX		r‘l†r’lj´X
renameScript:r“l†r”lj´j߆r•lhX
		r–l†r—lj´jĆr˜lj˜X'pacify script'r™l†ršlhX		r›l†rœlj´X
pacifyScript:rl†ržlj´j߆rŸlj´j߆r lhj½†r¡ljKXdo:r¢l†r£lhX
			r¤l†r¥lhj[†r¦lhLjî†r§lh¨Xpairr¨l†r©lhj½†rªlhLjµ†r«lhX
				r¬l†r­lh¨XaMenur®l†r¯lhj½†r°ljKXadd:r±l†r²lhj½†r³lh¨Xpairr´l†rµlhj½†r¶ljKXfirstr·l†r¸lhj½†r¹ljKXtarget:rºl†r»lhj½†r¼lj!Xselfr½l†r¾lhj½†r¿ljKX	selector:rÀl†rÁlhj½†rÂlh¨XpairrÃl†rÄlhj½†rÅljKXsecondrÆl†rÇlhj½†rÈljKX	argument:rÉl†rÊlhj½†rËlh¨X	anElementrÌl†rÍlhje†rÎlj©jþ†rÏlhX

	rÐl†rÑlh¨XaMenurÒl†rÓlhj½†rÔljKXaddLinerÕl†rÖlj©jþ†r×lhX
	rØl†rÙlh¨XaMenurÚl†rÛlhX  rÜl†rÝljKXadd:rÞl†rßlhj½†ràlj˜X'show categories....'rál†râlhj½†rãljKXtarget:räl†rålhj½†rælh¨XaViewerrçl†rèlhj½†réljKX	selector:rêl†rëlhj½†rìlj´X#showCategoriesFor:ríl†rîlhj½†rïljKX	argument:rðl†rñlhj½†ròlh¨X	anElementról†rôlj©jþ†rõlhX
	röl†r÷lh¨XaMenurøl†rùlhj½†rúljKXitemsrûl†rülhj½†rýljKXsizerþl†rÿlhj½†rmjKX==rm†rmhj½†rmj;jë†rmhj½†rmjXifTrue:rm†rmhX  rm†r	mjLX*"won't happen at the moment a/c the above"r
m†rmhX
		rm†r
mhj[†rmh¨XaMenurm†rmhj½†rmjKXadd:rm†rmhj½†rmj˜X'ok'rm†rmhj½†rmjKXaction:rm†rmhj½†rmj!Xnilrm†rmhje†rmj©jþ†rmhX  rm†r mjLX."in case it was a slot -- weird, transitional"r!m†r"mhX

	r#m†r$mh¨XaMenur%m†r&mhj½†r'mjKX	addTitle:r(m†r)mhj½†r*mh¨X	anElementr+m†r,mhj½†r-mjKXasStringr.m†r/mjKj)	†r0mhj½†r1mj˜X' ('r2m†r3mjKj)	†r4mhj½†r5mh¨XelementTyper6m†r7mjKj)	†r8mhj½†r9mj˜X')'r:m†r;mj©jþ†r<mhX

	r=m†r>mh¨XaMenur?m†r@mhj½†rAmjKX
popUpInWorld:rBm†rCmhj½†rDmj!XselfrEm†rFmhj½†rGmjKXcurrentWorldrHm†rImj©jþ†rJmhX
 rKm†rLmjóX! !rMm†rNmhX

rOm†rPmjój¹†rQmh‘XObjectrRm†rSmjóX
 methodsFor: rTm†rUmj˜X'viewer'rVm†rWmjóX stamp: 'sw 9/26/2001 11:58'!rXm†rYmhjì†rZmjKXinitialTypeForSlotNamed:r[m†r\mhj½†r]mh¨XaNamer^m†r_mhX
	r`m†ramjLXG"Answer the initial type to be ascribed to the given instance variable"rbm†rcmhX

	rdm†remhLj;†rfmhj½†rgmj´X#Objectrhm†rimjóX! !rjm†rkmhX

rlm†rmmjój¹†rnmh‘XObjectrom†rpmjóX
 methodsFor: rqm†rrmj˜X'viewer'rsm†rtmjóX stamp: 'ar 5/26/2001 16:13'!rum†rvmhjì†rwmjKXisPlayerLikerxm†rymhX
	rzm†r{mjLX5"Return true if the receiver is a player-like object"r|m†r}mhX
	r~m†rmhLj;†r€mj!Xfalserm†r‚mjóX! !rƒm†r„mhX

r…m†r†mjój¹†r‡mh‘XObjectrˆm†r‰mjóX
 methodsFor: rŠm†r‹mj˜X'viewer'rŒm†rmjóX stamp: 'nk 9/11/2004 16:53'!rŽm†rmhjì†rmjKX(methodInterfacesInPresentationOrderFrom:r‘m†r’mhj½†r“mh¨X
interfaceListr”m†r•mhj½†r–mjKXforCategory:r—m†r˜mhj½†r™mh¨X	aCategoryršm†r›mhX 
	rœm†rmjLXj"Answer the interface list sorted in desired presentation order, using a 
	static master-ordering list, q.v. The category parameter allows an 
	escape in case one wants to apply different order strategies in different 
	categories, but for now a single master-priority-ordering is used -- see 
	the comment in method EToyVocabulary.masterOrderingOfPhraseSymbols"ržm†rŸmhX

	r m†r¡mhLjµ†r¢mh¨X% masterOrder ordered unordered index r£m†r¤mhLjµ†r¥mhX
	r¦m†r§mh¨XmasterOrderr¨m†r©mhj½†rªmhLX:=r«m†r¬mhj½†r­mh‘X
Vocabularyr®m†r¯mhj½†r°mjKXeToyVocabularyr±m†r²mhj½†r³mjKXmasterOrderingOfPhraseSymbolsr´m†rµmj©jþ†r¶mhX
	r·m†r¸mh¨Xorderedr¹m†rºmhj½†r»mhLX:=r¼m†r½mhj½†r¾mh‘XSortedCollectionr¿m†rÀmhj½†rÁmjKX
sortBlock:rÂm†rÃmhj½†rÄmhj[†rÅmhLjî†rÆmh¨XarÇm†rÈmhj½†rÉmhLjî†rÊmh¨XbrËm†rÌmhj½†rÍmhLjµ†rÎmhj½†rÏmh¨jÇm†rÐmhj½†rÑmjKXkeyrÒm†rÓmhj½†rÔmjKjc†rÕmhj½†rÖmh¨jËm†r×mhj½†rØmjKXkeyrÙm†rÚmhje†rÛmj©jþ†rÜmhX
	rÝm†rÞmh¨X	unorderedrßm†ràmhj½†rámhLX:=râm†rãmhj½†rämh‘XSortedCollectionråm†ræmhj½†rçmjKX
sortBlock:rèm†rémhj½†rêmhj[†rëmhLjî†rìmh¨jÇm†rímhj½†rîmhLjî†rïmh¨jËm†rðmhj½†rñmhLjµ†ròmhj½†rómh¨jÇm†rômhj½†rõmjKXwordingröm†r÷mhj½†rømjKjc†rùmhj½†rúmh¨jËm†rûmhj½†rümjKXwordingrým†rþmhje†rÿmj©jþ†rnhX

	rn†rnh¨X
interfaceListrn†rnhj½†rnjKXdo:rn†rnhj½†rnhj[†r	nhLjî†r
nh¨X	interfacern†rnhj½†r
nhLjµ†rnhX 
		rn†rnh¨Xindexrn†rnhj½†rnhLX:=rn†rnhj½†rnh¨XmasterOrderrn†rnhj½†rnjKXindexOf:rn†rnhj½†rnh¨X	interfacern†rnhj½†rnjKX
elementSymbolr n†r!nj©jþ†r"nhX
		r#n†r$nh¨Xindexr%n†r&nhj½†r'njKXisZeror(n†r)nhX
			r*n†r+njXifTrue:r,n†r-nhj½†r.nhj[†r/nh¨X	unorderedr0n†r1nhj½†r2njKXadd:r3n†r4nhj½†r5nh¨X	interfacer6n†r7nhje†r8nhX
			r9n†r:njXifFalse:r;n†r<nhj½†r=nhj[†r>nh¨Xorderedr?n†r@nhj½†rAnjKXadd:rBn†rCnhj½†rDnh¨XindexrEn†rFnhj½†rGnjKX->rHn†rInhj½†rJnh¨X	interfacerKn†rLnhje†rMnhje†rNnj©jþ†rOnhX

	rPn†rQnhLj;†rRnhj½†rSnh‘XArrayrTn†rUnhX
		rVn†rWnjKXstreamContents:rXn†rYnhj½†rZnhj[†r[nhLjî†r\nh¨Xstreamr]n†r^nhj½†r_nhLjµ†r`nhX 
			ran†rbnh¨Xorderedrcn†rdnhj½†renjKXdo:rfn†rgnhj½†rhnhj[†rinhLjî†rjnh¨Xassocrkn†rlnhj½†rmnhLjµ†rnnhj½†ronh¨Xstreamrpn†rqnhj½†rrnjKXnextPut:rsn†rtnhj½†runh¨Xassocrvn†rwnhj½†rxnjKXvalueryn†rznhje†r{nj©jþ†r|nhX
			r}n†r~nh¨Xstreamrn†r€nhj½†rnjKXnextPutAll:r‚n†rƒnhj½†r„nh¨X	unorderedr…n†r†nhje†r‡njóX! !rˆn†r‰nhX

rŠn†r‹njój¹†rŒnh‘XObjectrn†rŽnjóX
 methodsFor: rn†rnj˜X'viewer'r‘n†r’njóX stamp: 'sw 10/24/2000 11:36'!r“n†r”nhjì†r•njKXnewScriptorAround:r–n†r—nhj½†r˜nh¨XaPhraseTileMorphr™n†ršnhX
	r›n†rœnjLX"Sprout a scriptor around aPhraseTileMorph, thus making a new script.  This is where generalized scriptors will be threaded in"rn†ržnhX

	rŸn†r nhLj;†r¡nhj½†r¢nj!Xnilr£n†r¤njóX! !r¥n†r¦nhX

r§n†r¨njój¹†r©nh‘XObjectrªn†r«njóX
 methodsFor: r¬n†r­nj˜X'viewer'r®n†r¯njóX stamp: 'sw 10/25/2000 17:42'!r°n†r±nhjì†r²njKXofferViewerMenuForEvt:r³n†r´nhj½†rµnh¨XanEventr¶n†r·nhj½†r¸njKXmorph:r¹n†rºnhj½†r»nh¨XaMorphr¼n†r½nhX
	r¾n†r¿njLXÓ"Offer the viewer's primary menu to the user.  aMorph is some morph within the viewer itself, the one within which a mousedown triggered the need for this menu, and it is used only to retrieve the Viewer itself"rÀn†rÁnhX

	rÂn†rÃnj!XselfrÄn†rÅnhj½†rÆnjKXofferViewerMenuFor:rÇn†rÈnhj½†rÉnhjĆrÊnh¨XaMorphrËn†rÌnhj½†rÍnjKX
ownerThatIsA:rÎn†rÏnhj½†rÐnh‘XStandardViewerrÑn†rÒnhj߆rÓnhj½†rÔnjKXevent:rÕn†rÖnhj½†r×nh¨XanEventrØn†rÙnjóX! !rÚn†rÛnhX

rÜn†rÝnjój¹†rÞnh‘XObjectrßn†rànjóX
 methodsFor: rán†rânj˜X'viewer'rãn†ränjóX stamp: 'sw 8/11/2002 02:03'!rån†rænhjì†rçnjKXofferViewerMenuFor:rèn†rénhj½†rênh¨XaViewerrën†rìnhj½†rínjKXevent:rîn†rïnhj½†rðnh¨Xevtrñn†rònhX
	rón†rônjLX-"Offer the primary Viewer menu to the user.  Copied up from Player code, but most of the functions suggested here don't work for non-Player objects, many aren't even defined, some relate to exploratory sw work not yet reflected in the current corpus.  We are early in the life cycle of this method..."rõn†rönhX

	r÷n†rønhLjµ†rùnh¨X aMenu rún†rûnhLjµ†rünhX
	rýn†rþnh¨XaMenurÿn†rohj½†rohLj¸†rohj½†roh‘X	MenuMorphro†rohj½†rojXnewro†rohj½†r	ojKXdefaultTarget:r
o†rohj½†roj!Xselfr
o†roj©jþ†rohX
	ro†roh¨XaMenuro†rohj½†rojKX
addStayUpItemro†roj©jþ†rohX
	ro†roh¨XaMenuro†rohj½†rojKXtitle:ro†rohj½†roj˜XA'**CAUTION -- UNDER CONSTRUCTION!!**
Many things may not work!!
'r o†r!ojKj)	†r"ohj½†r#oj!Xselfr$o†r%ohj½†r&ojKX
nameForViewerr'o†r(oj©jþ†r)ohX
	r*o†r+ohjĆr,oh¨XaViewerr-o†r.ohj½†r/ojKXaffordsUniclassr0o†r1ohj½†r2ojKXand:r3o†r4ohj½†r5ohj[†r6oj!Xselfr7o†r8ohj½†r9ojKXbelongsToUniClassr:o†r;ohj½†r<ojKXnotr=o†r>ohje†r?ohj߆r@ohj½†rAojXifTrue:rBo†rCohX
		rDo†rEohj[†rFoh¨XaMenurGo†rHohj½†rIojKXadd:rJo†rKohj½†rLoj˜X'give me a Uniclass'rMo†rNohj½†rOojKXaction:rPo†rQohj½†rRoj´X#assureUniClassrSo†rToj©jþ†rUohX
		rVo†rWoh¨XaMenurXo†rYohj½†rZojKXaddLiner[o†r\ohje†r]oj©jþ†r^ohX
	r_o†r`oh¨XaMenurao†rbohj½†rcojKXadd:rdo†reohj½†rfoj˜X'choose vocabulary...'rgo†rhohj½†riojKXtarget:rjo†rkohj½†rloh¨XaViewerrmo†rnohj½†roojKXaction:rpo†rqohj½†rroj´X#chooseVocabularyrso†rtoj©jþ†ruohX
	rvo†rwoh¨XaMenurxo†ryohj½†rzojKXadd:r{o†r|ohj½†r}oj˜X'choose limit class...'r~o†rohj½†r€ojKXtarget:ro†r‚ohj½†rƒoh¨XaViewerr„o†r…ohj½†r†ojKXaction:r‡o†rˆohj½†r‰oj´X#chooseLimitClassrŠo†r‹oj©jþ†rŒohX
	ro†rŽoh¨XaMenuro†rohj½†r‘ojKXadd:r’o†r“ohj½†r”oj˜X'add search pane'r•o†r–ohj½†r—ojKXtarget:r˜o†r™ohj½†ršoh¨XaViewerr›o†rœohj½†rojKXaction:ržo†rŸohj½†r oj´X#addSearchPaner¡o†r¢oj©jþ†r£ohX
	r¤o†r¥oh¨XaMenur¦o†r§ohj½†r¨ojKXballoonTextForLastItem:r©o†rªohj½†r«oj˜X]'Specify which class should be the most generic one to have its methods shown in this Viewer'r¬o†r­oj©jþ†r®ohX
	r¯o†r°oh¨XaMenur±o†r²ohj½†r³ojKXaddLiner´o†rµoj©jþ†r¶ohX

	r·o†r¸oj!Xselfr¹o†rºohj½†r»ojKXbelongsToUniClassr¼o†r½ohj½†r¾ojXifTrue:r¿o†rÀohX
		rÁo†rÂohj[†rÃoh¨XaMenurÄo†rÅohj½†rÆojKXadd:rÇo†rÈohj½†rÉoj˜X'add a new instance variable'rÊo†rËohj½†rÌojKXtarget:rÍo†rÎohj½†rÏoj!XselfrÐo†rÑohj½†rÒojKX	selector:rÓo†rÔohj½†rÕoj´X#addInstanceVariableIn:rÖo†r×ohj½†rØojKX	argument:rÙo†rÚohj½†rÛoh¨XaViewerrÜo†rÝoj©jþ†rÞohX
		rßo†ràoh¨XaMenuráo†râohj½†rãojKXadd:räo†råohj½†ræoj˜X'add a new script'rço†rèohj½†réojKXtarget:rêo†rëohj½†rìoh¨XaViewerrío†rîohj½†rïojKX	selector:rðo†rñohj½†ròoj´X#newPermanentScriptIn:róo†rôohj½†rõojKX	argument:röo†r÷ohj½†røoh¨XaViewerrùo†rúoj©jþ†rûohX
		rüo†rýoh¨XaMenurþo†rÿohj½†rpjKXaddLinerp†rpj©jþ†rphX
		rp†rph¨XaMenurp†rphj½†rpjKXadd:r	p†r
phj½†rpj˜X'make my class be first-class'rp†r
phj½†rpjKXtarget:rp†rphj½†rpj!Xselfrp†rphj½†rpjKX	selector:rp†rphj½†rpj´X#makeFirstClassClassIn:rp†rphj½†rpjKX	argument:rp†rphj½†rph¨XaViewerrp†rpj©jþ†r phX
		r!p†r"ph¨XaMenur#p†r$phj½†r%pjKXadd:r&p†r'phj½†r(pj˜X%'move my changes up to my superclass'r)p†r*phj½†r+pjKXtarget:r,p†r-phj½†r.pj!Xselfr/p†r0phj½†r1pjKXaction:r2p†r3phj½†r4pj´X#promoteChangesToSuperclassr5p†r6pj©jþ†r7phX
		r8p†r9ph¨XaMenur:p†r;phj½†r<pjKXaddLiner=p†r>phje†r?pj©jþ†r@phX

	rAp†rBph¨XaMenurCp†rDphj½†rEpjKXadd:rFp†rGphj½†rHpj˜X'tear off a tile'rIp†rJphj½†rKpjKXtarget:rLp†rMphj½†rNpj!XselfrOp†rPphj½†rQpjKX	selector:rRp†rSphj½†rTpj´X#launchTileToReferrUp†rVpj©jþ†rWphX
	rXp†rYph¨XaMenurZp†r[phj½†r\pjKXaddLiner]p†r^pj©jþ†r_phX

	r`p†raph¨XaMenurbp†rcphj½†rdpjKXadd:rep†rfphj½†rgpj˜X'inspect me'rhp†riphj½†rjpjKXtarget:rkp†rlphj½†rmpj!Xselfrnp†rophj½†rppjKX	selector:rqp†rrphj½†rspj´X#inspectrtp†rupj©jþ†rvphX
	rwp†rxph¨XaMenuryp†rzphj½†r{pjKXadd:r|p†r}phj½†r~pj˜X'inspect my class'rp†r€phj½†rpjKXtarget:r‚p†rƒphj½†r„pj!Xselfr…p†r†phj½†r‡pjKXclassrˆp†r‰phj½†rŠpjKXaction:r‹p†rŒphj½†rpj´X#inspectrŽp†rpj©jþ†rphX
	r‘p†r’ph¨XaMenur“p†r”phj½†r•pjKXaddLiner–p†r—pj©jþ†r˜phX

	r™p†ršph¨XaMenur›p†rœphj½†rpjKXadd:ržp†rŸphj½†r pj˜X'browse vocabulary'r¡p†r¢phj½†r£pjKXaction:r¤p†r¥phj½†r¦pj´X#haveFullProtocolBrowsedr§p†r¨pj©jþ†r©phX
	rªp†r«ph¨XaMenur¬p†r­phj½†r®pjKXadd:r¯p†r°phj½†r±pj˜X'inspect this Viewer'r²p†r³phj½†r´pjKXtarget:rµp†r¶phj½†r·ph¨XaViewerr¸p†r¹phj½†rºpjKXaction:r»p†r¼phj½†r½pj´X#inspectr¾p†r¿pj©jþ†rÀphX

	rÁp†rÂph¨XaMenurÃp†rÄphj½†rÅpjKXpopUpEvent:rÆp†rÇphj½†rÈph¨XevtrÉp†rÊphj½†rËpjKXin:rÌp†rÍphj½†rÎph¨XaViewerrÏp†rÐphj½†rÑpjKXcurrentWorldrÒp†rÓphX

rÔp†rÕpjLXb"
	aMenu add: 'references to me' target: aViewer action: #browseReferencesToObject.
	aMenu add: 'toggle scratch pane' target: aViewer selector: #toggleScratchPane.
	aMenu add: 'make a nascent script for me' target: aViewer selector: #makeNascentScript.
	aMenu add: 'rename me' target: aViewer selector: #chooseNewNameForReference.
	aMenu add: 'browse full' action: #browseOwnClassFull.
	aMenu add: 'browse hierarchy' action: #browseOwnClassHierarchy.
	aMenu add: 'set user level...' target: aViewer action: #setUserLevel.
	aMenu add: 'browse sub-protocol' action: #browseOwnClassSubProtocol.
	aMenu addLine.

"rÖp†r×pjóX! !rØp†rÙphX

rÚp†rÛpjój¹†rÜph‘XObjectrÝp†rÞpjóX
 methodsFor: rßp†ràpj˜X'viewer'ráp†râpjóX stamp: 'sw 1/22/2001 15:20'!rãp†räphjì†råpjKX
renameScript:ræp†rçphj½†rèph¨XoldSelectorrép†rêphX
	rëp†rìpjLXT"prompt the user for a new selector and apply it.  Presently only works for players"ríp†rîphX

	rïp†rðpj!Xselfrñp†ròphj½†rópjKXnotYetImplementedrôp†rõpjóX! !röp†r÷phX

røp†rùpjój¹†rúph‘XObjectrûp†rüpjóX
 methodsFor: rýp†rþpj˜X'viewer'rÿp†rqjóX stamp: 'sw 8/10/2004 11:53'!rq†rqhjì†rqjKXtilePhrasesForCategory:rq†rqhj½†rqh¨XaCategorySymbolrq†rqhj½†r	qjKX	inViewer:r
q†rqhj½†rqh¨XaViewerr
q†rqhX
	rq†rqjLX2"Return a collection of phrases for the category."rq†rqhX

	rq†rqhLjµ†rqh¨X interfaces rq†rqhLjµ†rqhX
	rq†rqh¨X
interfacesrq†rqhj½†rqhLj¸†rqhj½†rqj!Xselfr q†r!qhj½†r"qjKXmethodInterfacesForCategory:r#q†r$qhj½†r%qh¨XaCategorySymbolr&q†r'qhj½†r(qjKX
inVocabulary:r)q†r*qhj½†r+qh¨XaViewerr,q†r-qhj½†r.qjKXcurrentVocabularyr/q†r0qhj½†r1qjKXlimitClass:r2q†r3qhj½†r4qh¨XaViewerr5q†r6qhj½†r7qjKX
limitClassr8q†r9qj©jþ†r:qhX
	r;q†r<qh¨X
interfacesr=q†r>qhj½†r?qhLj¸†r@qhj½†rAqj!XselfrBq†rCqhj½†rDqjKX(methodInterfacesInPresentationOrderFrom:rEq†rFqhj½†rGqh¨X
interfacesrHq†rIqhj½†rJqjKXforCategory:rKq†rLqhj½†rMqh¨XaCategorySymbolrNq†rOqj©jþ†rPqhX
	rQq†rRqhLj;†rSqhj½†rTqj!XselfrUq†rVqhj½†rWqjKXtilePhrasesForMethodInterfaces:rXq†rYqhj½†rZqh¨X
interfacesr[q†r\qhj½†r]qjKX	inViewer:r^q†r_qhj½†r`qh¨XaViewerraq†rbqjóX! !rcq†rdqhX

req†rfqjój¹†rgqh‘XObjectrhq†riqjóX
 methodsFor: rjq†rkqj˜X'viewer'rlq†rmqjóX stamp: 'sw 8/10/2004 11:53'!rnq†roqhjì†rpqjKXtilePhrasesForMethodInterfaces:rqq†rrqhj½†rsqh¨XmethodInterfaceListrtq†ruqhj½†rvqjKX	inViewer:rwq†rxqhj½†ryqh¨XaViewerrzq†r{qhX
	r|q†r}qjLXJ"Return a collection of ViewerLine objects corresponding to the method-interface list provided.   The resulting list will be in the same order as the incoming list, but may be smaller if the viewer's vocbulary suppresses some of the methods, or if, in classic tiles mode, the selector requires more arguments than can be handled."r~q†rqhX

	r€q†rqhLjµ†r‚qh¨X. toSuppress interfaces resultType itsSelector rƒq†r„qhLjµ†r…qhX
	r†q†r‡qh¨X
toSuppressrˆq†r‰qhj½†rŠqhLj¸†r‹qhj½†rŒqh¨XaViewerrq†rŽqhj½†rqjKXcurrentVocabularyrq†r‘qhj½†r’qjKXphraseSymbolsToSuppressr“q†r”qj©jþ†r•qhX
	r–q†r—qh¨X
interfacesr˜q†r™qhj½†ršqhLj¸†r›qhj½†rœqh¨XmethodInterfaceListrq†ržqhj½†rŸqjKXreject:r q†r¡qhj½†r¢qhj[†r£qhLjî†r¤qh¨Xintr¥q†r¦qhj½†r§qhLjµ†r¨qhj½†r©qh¨X
toSuppressrªq†r«qhj½†r¬qjKX	includes:r­q†r®qhj½†r¯qh¨Xintr°q†r±qhj½†r²qjKXselectorr³q†r´qhje†rµqj©jþ†r¶qhX
	r·q†r¸qh‘XPreferencesr¹q†rºqhj½†r»qjKXuniversalTilesr¼q†r½qhj½†r¾qjXifFalse:r¿q†rÀqhX  rÁq†rÂqjLX)"Classic tiles have their limitations..."rÃq†rÄqhX
		rÅq†rÆqhj[†rÇqh¨X
interfacesrÈq†rÉqhj½†rÊqhLj¸†rËqhj½†rÌqh¨X
interfacesrÍq†rÎqhj½†rÏqjKXselect:rÐq†rÑqhX
			rÒq†rÓqhj[†rÔqhLjî†rÕqh¨XintrÖq†r×qhj½†rØqhLjµ†rÙqhX
				rÚq†rÛqh¨XitsSelectorrÜq†rÝqhj½†rÞqhLj¸†rßqhj½†ràqh¨Xintráq†râqhj½†rãqjKXselectorräq†råqj©jþ†ræqhX
				rçq†rèqh¨XitsSelectorréq†rêqhj½†rëqjKXnumArgsrìq†ríqhj½†rîqjKjc†rïqhj½†rðqj;X2rñq†ròqhj½†róqjKXor:rôq†rõqhX
					röq†r÷qjLX,"The lone two-arg loophole in classic tiles"røq†rùqhX
					rúq†rûqhj[†rüqj´X#(rýq†rþqj´Xcolor:sees:rÿq†rrj´j߆rrhj½†rrjKX	includes:rr†rrhj½†rrh¨XitsSelectorrr†rrhje†rrhje†r	rhje†r
rj©jþ†rrhX

	rr†r
rhLj;†rrhj½†rrh¨X
interfacesrr†rrhj½†rrjKXcollect:rr†rrhX
		rr†rrhj[†rrhLjî†rrh¨XaMethodInterfacerr†rrhj½†rrhLjµ†rrhX
			rr†rrhjĆrrhjĆr rh¨X
resultTyper!r†r"rhj½†r#rhLj¸†r$rhj½†r%rh¨XaMethodInterfacer&r†r'rhj½†r(rjKX
resultTyper)r†r*rhj߆r+rhj½†r,rjKXnotNilr-r†r.rhj½†r/rjKXand:r0r†r1rhj½†r2rhj[†r3rh¨X
resultTyper4r†r5rhj½†r6rjKX~~r7r†r8rhj½†r9rj´X#unknownr:r†r;rhje†r<rhj߆r=rhX 
				r>r†r?rjXifTrue:r@r†rArhX
					rBr†rCrhj[†rDrh¨XaViewerrEr†rFrhj½†rGrjKXphraseForVariableFrom:rHr†rIrhj½†rJrh¨XaMethodInterfacerKr†rLrhje†rMrhX
				rNr†rOrjXifFalse:rPr†rQrhX
					rRr†rSrhj[†rTrh¨XaViewerrUr†rVrhj½†rWrjKXphraseForCommandFrom:rXr†rYrhj½†rZrh¨XaMethodInterfacer[r†r\rhje†r]rhje†r^rjóX! !r_r†r`rhX

rar†rbrjój¹†rcrh‘XObjectrdr†rerjóX
 methodsFor: rfr†rgrj˜X'viewer'rhr†rirjóX stamp: 'sw 8/10/2004 12:23'!rjr†rkrhjì†rlrjKXtilePhrasesForSelectorList:rmr†rnrhj½†rorh¨XaListrpr†rqrhj½†rrrjKX	inViewer:rsr†rtrhj½†rurh¨XaViewerrvr†rwre(hX
	rxr†ryrjLXƒ"Particular to the search facility in viewers.  Answer a list, in appropriate order, of ViewerLine objects to put into the viewer."rzr†r{rhX

	r|r†r}rhLjµ†r~rh¨X interfaces aVocab rr†r€rhLjµ†rrhX
	r‚r†rƒrh¨XaVocabr„r†r…rhj½†r†rhLj¸†r‡rhj½†rˆrh¨XaViewerr‰r†rŠrhj½†r‹rjKXcurrentVocabularyrŒr†rrj©jþ†rŽrhX
	rr†rrh¨X
interfacesr‘r†r’rhj½†r“rhLj¸†r”rhj½†r•rj!Xselfr–r†r—rhX
		r˜r†r™rjKX(methodInterfacesInPresentationOrderFrom:ršr†r›rhX
			rœr†rrhjĆržrh¨XaListrŸr†r rhj½†r¡rjKXcollect:r¢r†r£rhj½†r¤rhj[†r¥rhLjî†r¦rh¨XaSelr§r†r¨rhj½†r©rhLjµ†rªrhj½†r«rh¨XaVocabr¬r†r­rhj½†r®rjKXmethodInterfaceForSelector:r¯r†r°rhj½†r±rh¨XaSelr²r†r³rhj½†r´rjKXclass:rµr†r¶rhj½†r·rj!Xselfr¸r†r¹rhj½†rºrjKXclassr»r†r¼rhje†r½rhj߆r¾rhX
		r¿r†rÀrjKXforCategory:rÁr†rÂrhj½†rÃrj´X#searchrÄr†rÅrj©jþ†rÆrhX
	rÇr†rÈrhLj;†rÉrhj½†rÊrj!XselfrËr†rÌrhj½†rÍrjKXtilePhrasesForMethodInterfaces:rÎr†rÏrhj½†rÐrh¨X
interfacesrÑr†rÒrhj½†rÓrjKX	inViewer:rÔr†rÕrhj½†rÖrh¨XaViewerr×r†rØrjóX! !rÙr†rÚrhX

rÛr†rÜrjój¹†rÝrh‘XObjectrÞr†rßrjóX
 methodsFor: ràr†rárj˜X'viewer'râr†rãrjóX stamp: 'sw 5/4/2001 04:51'!rär†rårhjì†rærjKXtileToReferrçr†rèrhX
	rér†rêrjLX7"Answer a reference tile that comprises an alias to me"rër†rìrhX

	rír†rîrhLj;†rïrhj½†rðrh‘X	TileMorphrñr†ròrhj½†rórjXnewrôr†rõrhj½†rörjKX
setToReferTo:r÷r†rørhj½†rùrj!Xselfrúr†rûrjóX! !rür†rýrhX

rþr†rÿrjój¹†rsh‘XObjectrs†rsjóX
 methodsFor: rs†rsj˜X'viewer'rs†rsjóX stamp: 'sd 3/30/2005 22:04'!rs†rshjì†r	sjKXuniqueInstanceVariableNameLike:r
s†rshj½†rsh¨XaStringr
s†rshj½†rsjKX
excluding:rs†rshj½†rsh¨X
takenNamesrs†rshX
	rs†rsjLX›"Answer a nice instance-variable name to be added to the receiver which resembles aString, making sure it does not coincide with any element in takenNames"rs†rshX

	rs†rshLjµ†rsh¨X okBase uniqueName usedNames rs†rshLjµ†rshX
	rs†r sh¨X	usedNamesr!s†r"shj½†r#shLj¸†r$shj½†r%sj!Xselfr&s†r'shj½†r(sjKXclassr)s†r*shj½†r+sjKXallInstVarNamesEverywherer,s†r-sj©jþ†r.shX
	r/s†r0sh¨X	usedNamesr1s†r2shj½†r3sjKXremoveAllFoundIn:r4s†r5shj½†r6sj!Xselfr7s†r8shj½†r9sjKXclassr:s†r;shj½†r<sjKXinstVarNamesr=s†r>sj©jþ†r?shX
	r@s†rAsh¨X	usedNamesrBs†rCshj½†rDsjKXaddAll:rEs†rFshj½†rGsh¨X
takenNamesrHs†rIsj©jþ†rJshX
	rKs†rLsh¨XokBaserMs†rNshj½†rOshLj¸†rPshj½†rQsh‘XScannerrRs†rSshj½†rTsjKX#wellFormedInstanceVariableNameFrom:rUs†rVshj½†rWsh¨XaStringrXs†rYsj©jþ†rZshX

	r[s†r\sh¨X
uniqueNamer]s†r^shj½†r_shLj¸†r`shj½†rash‘X	Utilitiesrbs†rcshj½†rdsjKXkeyLike:res†rfshj½†rgsh¨XokBaserhs†rishj½†rjsjKXsatisfying:rks†rlshX 
		rms†rnshj[†roshLjî†rpsh¨XaKeyrqs†rrshj½†rsshLjµ†rtshj½†rushjĆrvsh¨X	usedNamesrws†rxshj½†rysjKX	includes:rzs†r{shj½†r|sh¨XaKeyr}s†r~shj߆rshj½†r€sjKXnotrs†r‚shje†rƒsj©jþ†r„shX

	r…s†r†shLj;†r‡shj½†rˆsh¨X
uniqueNamer‰s†rŠsjóX! !r‹s†rŒshX

rs†rŽsjój¹†rsh‘XObjectrs†r‘sjóX
 methodsFor: r’s†r“sj˜X'viewer'r”s†r•sjóX stamp: 'sw 11/21/2001 15:16'!r–s†r—shjì†r˜sjKXuniqueNameForReferencer™s†ršshX
	r›s†rœsjLXâ"Answer a nice name by which the receiver can be referred to by other objects.  At present this uses a global References dictionary to hold the database of references, but in due course this will need to acquire some locality"rs†ržshX

	rŸs†r shLjµ†r¡sh¨X# aName nameSym stem knownClassVars r¢s†r£shLjµ†r¤shX
	r¥s†r¦shjĆr§sh¨XaNamer¨s†r©shj½†rªshLj¸†r«shj½†r¬sj!Xselfr­s†r®shj½†r¯sjKXuniqueNameForReferenceOrNilr°s†r±shj߆r²shj½†r³sjKX	ifNotNil:r´s†rµshj½†r¶shj[†r·shLj;†r¸shj½†r¹sh¨XaNamerºs†r»shje†r¼sj©jþ†r½shX
	r¾s†r¿shjĆrÀsh¨XstemrÁs†rÂshj½†rÃshLj¸†rÄshj½†rÅsj!XselfrÆs†rÇshj½†rÈsjKX	knownNamerÉs†rÊshj߆rËshj½†rÌsjKXifNil:rÍs†rÎshX
		rÏs†rÐshj[†rÑsh¨XstemrÒs†rÓshj½†rÔshLj¸†rÕshj½†rÖsj!Xselfr×s†rØshj½†rÙsjKXdefaultNameStemForInstancesrÚs†rÛshj½†rÜsjKXasStringrÝs†rÞshje†rßsj©jþ†ràshX
	rás†râsh¨Xstemrãs†räshj½†råshLj¸†ræshj½†rçsh¨Xstemrès†réshj½†rêsjKXselect:rës†rìshj½†ríshj[†rîshLjî†rïsh¨Xchrðs†rñshj½†ròshLjµ†róshj½†rôsh¨Xchrõs†röshj½†r÷sjKXisLetterrøs†rùshj½†rúsjKXor:rûs†rüshj½†rýshj[†rþsh¨Xchrÿs†rthj½†rtjKXisDigitrt†rthje†rthje†rtj©jþ†rthX
	rt†rth¨Xstemr	t†r
thj½†rtjKXsizert†r
thj½†rtjKX==rt†rthj½†rtj;jë†rthj½†rtjXifTrue:rt†rthj½†rthj[†rth¨Xstemrt†rthj½†rthLj¸†rthj½†rtj˜X'A'rt†rthje†rtj©jþ†r thX
	r!t†r"th¨Xstemr#t†r$thj½†r%tjKXfirstr&t†r'thj½†r(tjKXisLetterr)t†r*thj½†r+tjXifFalse:r,t†r-thX
		r.t†r/thj[†r0th¨Xstemr1t†r2thj½†r3thLj¸†r4thj½†r5tj˜X'A'r6t†r7tjKj)	†r8thj½†r9th¨Xstemr:t†r;thje†r<tj©jþ†r=thX
	r>t†r?th¨Xstemr@t†rAthj½†rBthLj¸†rCthj½†rDth¨XstemrEt†rFthj½†rGtjKXcapitalizedrHt†rItj©jþ†rJthX
	rKt†rLth¨XknownClassVarsrMt†rNthj½†rOthLj¸†rPthj½†rQth‘XScriptingSystemrRt†rSthj½†rTtjKXallKnownClassVariableNamesrUt†rVtj©jþ†rWthX
	rXt†rYth¨XaNamerZt†r[thj½†r\thLj¸†r]thj½†r^th‘X	Utilitiesr_t†r`thj½†ratjKXkeyLike:rbt†rcthX  rdt†reth¨Xstemrft†rgthj½†rhtjKXsatisfying:rit†rjthX
		rkt†rlthj[†rmthLjî†rnth¨XjinaLakerot†rpthj½†rqthLjµ†rrthX
			rst†rtth¨XnameSymrut†rvthj½†rwthLj¸†rxthj½†ryth¨XjinaLakerzt†r{thj½†r|tjKXasSymbolr}t†r~tj©jþ†rthX
			 r€t†rthjĆr‚thjĆrƒth‘X
Referencesr„t†r…thj½†r†tjKXincludesKey:r‡t†rˆthX  r‰t†rŠth¨XnameSymr‹t†rŒthj߆rthj½†rŽtjKXnotrt†rthj½†r‘tjKXand:r’t†r“thX
				r”t†r•thj[†r–thjĆr—th‘X	Smalltalkr˜t†r™thj½†rštjKXincludesKey:r›t†rœthj½†rth¨XnameSymržt†rŸthj߆r thj½†r¡tjKXnotr¢t†r£thje†r¤thj߆r¥thj½†r¦tjKXand:r§t†r¨thX
						r©t†rªthj[†r«thjĆr¬th¨XknownClassVarsr­t†r®thj½†r¯tjKX	includes:r°t†r±thj½†r²th¨XnameSymr³t†r´thj߆rµthj½†r¶tjKXnotr·t†r¸thje†r¹thje†rºtj©jþ†r»thX

	r¼t†r½th‘X
Referencesr¾t†r¿thj½†rÀtjKXat:rÁt†rÂthj½†rÃthjĆrÄth¨XaNamerÅt†rÆthj½†rÇthLj¸†rÈthj½†rÉth¨XaNamerÊt†rËthj½†rÌtjKXasSymbolrÍt†rÎthj߆rÏthj½†rÐtjKXput:rÑt†rÒthj½†rÓtj!XselfrÔt†rÕtj©jþ†rÖthX
	r×t†rØthLj;†rÙthj½†rÚth¨XaNamerÛt†rÜtjóX! !rÝt†rÞthX

rßt†ràtjój¹†ráth‘XObjectrât†rãtjóX
 methodsFor: rät†råtj˜X'viewer'ræt†rçtjóX stamp: 'md 1/17/2006 17:58'!rèt†réthjì†rêtjKXuniqueNameForReferenceFrom:rët†rìthj½†ríth¨XproposedNamerît†rïthX
	rðt†rñtjLXl"Answer a satisfactory symbol, similar to the proposedName but obeying the rules, to represent the receiver"ròt†róthX

	rôt†rõthLjµ†röth¨X aName nameSym stem okay r÷t†røthLjµ†rùthX
	rút†rûth¨XproposedNamerüt†rýthj½†rþtjKjþ†rÿthj½†ruj!Xselfru†ruhj½†rujKXuniqueNameForReferenceOrNilru†ruhX 
		ru†rujXifTrue:ru†r	uhj½†r
uhj[†ruhLj;†ruhj½†r
uh¨XproposedNameru†ruhje†ruj©jþ†ruhX  ru†rujLX"No change"ru†ruhX

	ru†ruh¨Xstemru†ruhj½†ruhLj¸†ruhj½†ruh¨XproposedNameru†ruhj½†rujKXselect:r u†r!uhj½†r"uhj[†r#uhLjî†r$uh¨Xchr%u†r&uhj½†r'uhLjµ†r(uhj½†r)uh¨Xchr*u†r+uhj½†r,ujKXisLetterr-u†r.uhj½†r/ujKXor:r0u†r1uhj½†r2uhj[†r3uh¨Xchr4u†r5uhj½†r6ujKXisDigitr7u†r8uhje†r9uhje†r:uj©jþ†r;uhX
	r<u†r=uh¨Xstemr>u†r?uhj½†r@ujKXsizerAu†rBuhj½†rCujKX==rDu†rEuhj½†rFuj;jë†rGuhj½†rHujXifTrue:rIu†rJuhj½†rKuhj[†rLuh¨XstemrMu†rNuhj½†rOuhLj¸†rPuhj½†rQuj˜X'A'rRu†rSuhje†rTuj©jþ†rUuhX
	rVu†rWuh¨XstemrXu†rYuhj½†rZujKXfirstr[u†r\uhj½†r]ujKXisLetterr^u†r_uhj½†r`ujXifFalse:rau†rbuhX
		rcu†rduhj[†reuh¨Xstemrfu†rguhj½†rhuhLj¸†riuhj½†rjuj˜X'A'rku†rlujKj)	†rmuhj½†rnuh¨Xstemrou†rpuhje†rquj©jþ†rruhX
	rsu†rtuh¨Xstemruu†rvuhj½†rwuhLj¸†rxuhj½†ryuh¨Xstemrzu†r{uhj½†r|ujKXcapitalizedr}u†r~uj©jþ†ruhX
	r€u†ruh¨XaNamer‚u†rƒuhj½†r„uhLj¸†r…uhj½†r†uh‘X	Utilitiesr‡u†rˆuhj½†r‰ujKXkeyLike:rŠu†r‹uhj½†rŒuh¨Xstemru†rŽuhj½†rujKXsatisfying:ru†r‘uhX
		r’u†r“uhj[†r”uhLjî†r•uh¨XjinaLaker–u†r—uhj½†r˜uhLjµ†r™uhX
			ršu†r›uh¨XnameSymrœu†ruhj½†ržuhLj¸†rŸuhj½†r uh¨XjinaLaker¡u†r¢uhj½†r£ujKXasSymbolr¤u†r¥uj©jþ†r¦uhX
			r§u†r¨uh¨Xokayr©u†rªuhj½†r«uhLj¸†r¬uhj½†r­uj!Xtruer®u†r¯uj©jþ†r°uhX
			r±u†r²uhjĆr³uj!Xselfr´u†rµuhj½†r¶ujKXclassr·u†r¸uhj½†r¹ujKX
bindingOf:rºu†r»uhj½†r¼uh¨XnameSymr½u†r¾uhj߆r¿uhj½†rÀujKX	ifNotNil:rÁu†rÂuhj½†rÃuhj[†rÄuh¨XokayrÅu†rÆuhj½†rÇuhLj¸†rÈuhj½†rÉuj!XfalserÊu†rËuhj½†rÌujLX"don't use it"rÍu†rÎuhje†rÏuj©jþ†rÐuhX
			rÑu†rÒuh¨XokayrÓu†rÔuhje†rÕuj©jþ†rÖuhX
	r×u†rØuhLj;†rÙuhj½†rÚuh¨XaNamerÛu†rÜuhj½†rÝujKXasSymbolrÞu†rßujóX! !ràu†ráuhX

râu†rãujój¹†räuh‘XObjectråu†ræujóX
 methodsFor: rçu†rèuj˜X'viewer'réu†rêujóX stamp: 'sw 3/15/2004 23:01'!rëu†rìuhjì†ríujKXuniqueNameForReferenceOrNilrîu†rïuhX
	rðu†rñujLXR"If the receiver has a unique name for reference, return it here, else return nil"ròu†róuhX

	rôu†rõuhLj;†röuhj½†r÷uh‘X
Referencesrøu†rùuhj½†rúujKXkeyAtValue:rûu†rüuhj½†rýuj!Xselfrþu†rÿuhj½†rvjKX	ifAbsent:rv†rvhj½†rvhj[†rvj!Xnilrv†rvhje†rvjóX! !rv†r	vhX

r
v†rvjój¹†rvh‘XObjectr
v†rvjóX
 methodsFor: rv†rvj˜X'viewer'rv†rvjóX stamp: 'ar 5/16/2001 01:40'!rv†rvhjì†rvjKX$updateThresholdForGraphicInViewerTabrv†rvhX
	rv†rvjLX"When a Viewer is open on the receiver, its tab needs some graphic to show to the user. Computing this graphic can take quite some time so we want to make the update frequency depending on how long it takes to compute the thumbnail. The threshold returned by this method defines that the viewer will update at most every 'threshold * timeItTakesToDraw' milliseconds. Thus, if the time for computing the receiver's thumbnail is 200 msecs and the the threshold is 10, the viewer will update at most every two seconds."rv†rvhX
	rv†rvhLj;†rvj;X20rv†r vhj½†r!vjLX*"seems to be a pretty good general choice"r"v†r#vjóX! !r$v†r%vhX

r&v†r'vjój¹†r(vh‘XObjectr)v†r*vjóX
 methodsFor: r+v†r,vj˜X'viewer'r-v†r.vjóX stamp: 'sw 3/9/2001 13:48'!r/v†r0vhjì†r1vjKXusableMethodInterfacesIn:r2v†r3vhj½†r4vh¨XaListOfMethodInterfacesr5v†r6vhX
	r7v†r8vjLX6"Filter aList, returning a subset list of apt phrases"r9v†r:vhX

	r;v†r<vhLj;†r=vhj½†r>vh¨XaListOfMethodInterfacesr?v†r@vhjì†rAvjóX! !rBv†rCvhX


rDv†rEvjój¹†rFvh‘XObjectrGv†rHvjóX
 methodsFor: rIv†rJvj˜X'world hacking'rKv†rLvjóX stamp: 'ar 3/17/2001 23:45'!rMv†rNvhjì†rOvjKXcouldOpenInMorphicrPv†rQvhjì†rRvhX	
        rSv†rTvjLXA"is there an obvious morphic world in which to open a new morph?"rUv†rVvhX


        rWv†rXvhLj;†rYvh‘XWorldrZv†r[vhj½†r\vjKXnotNilr]v†r^vhj½†r_vjKXor:r`v†ravhj½†rbvhj[†rcvh‘XActiveWorldrdv†revhj½†rfvjKXnotNilrgv†rhvhje†rivjóX! !rjv†rkvhX


rlv†rmvjój¹†rnvh‘XObjectrov†rpvjóX
 methodsFor: rqv†rrvj˜X	'private'rsv†rtvjój¹†ruvhjì†rvvjKXerrorImproperStorerwv†rxvhX
	ryv†rzvjLXD"Create an error notification that an improper store was attempted."r{v†r|vhX

	r}v†r~vj!Xselfrv†r€vhj½†rvjKXerror:r‚v†rƒvhj½†r„vj˜X&'Improper store into indexable object'r…v†r†vjóX! !r‡v†rˆvhX

r‰v†rŠvjój¹†r‹vh‘XObjectrŒv†rvjóX
 methodsFor: rŽv†rvj˜X	'private'rv†r‘vjój¹†r’vhjì†r“vjKXerrorNonIntegerIndexr”v†r•vhX
	r–v†r—vjLXL"Create an error notification that an improper object was used as an index."r˜v†r™vhX

	ršv†r›vj!Xselfrœv†rvhj½†ržvjKXerror:rŸv†r vhj½†r¡vj˜X)'only integers should be used as indices'r¢v†r£vjóX! !r¤v†r¥vhX

r¦v†r§vjój¹†r¨vh‘XObjectr©v†rªvjóX
 methodsFor: r«v†r¬vj˜X	'private'r­v†r®vjóX stamp: 'yo 6/29/2004 11:37'!r¯v†r°vhjì†r±vjKXerrorNotIndexabler²v†r³vhX
	r´v†rµvjLXB"Create an error notification that the receiver is not indexable."r¶v†r·vhX

	r¸v†r¹vj!Xselfrºv†r»vhj½†r¼vjKXerror:r½v†r¾vhj½†r¿vhjĆrÀvj˜X$'Instances of {1} are not indexable'rÁv†rÂvhj½†rÃvjKX
translatedrÄv†rÅvhj½†rÆvjKXformat:rÇv†rÈvhj½†rÉvhjφrÊvj!XselfrËv†rÌvhj½†rÍvjKXclassrÎv†rÏvhj½†rÐvjKXnamerÑv†rÒvhj݆rÓvhj߆rÔvjóX! !rÕv†rÖvhX

r×v†rØvjój¹†rÙvh‘XObjectrÚv†rÛvjóX
 methodsFor: rÜv†rÝvj˜X	'private'rÞv†rßvjój¹†ràvhjì†rávjKXerrorSubscriptBounds:râv†rãvhj½†rävh¨Xindexråv†rævhX 
	rçv†rèvjLXM"Create an error notification that an improper integer was used as an index."rév†rêvhX

	rëv†rìvj!Xselfrív†rîvhj½†rïvjKXerror:rðv†rñvhj½†ròvj˜X'subscript is out of bounds: 'róv†rôvhj½†rõvjKj)	†rövhj½†r÷vh¨Xindexrøv†rùvhj½†rúvjKXprintStringrûv†rüvjóX! !rýv†rþvhX

rÿv†rwjój¹†rwh‘XObjectrw†rwjóX
 methodsFor: rw†rwj˜X	'private'rw†rwjóX stamp: 'ar 2/6/2004 14:47'!rw†r	whjì†r
wjKXprimitiveError:rw†rwhj½†r
wh¨XaStringrw†rwhX 
	rw†rwjLXo"This method is called when the error handling results in a recursion in 
	calling on error: or halt or halt:."rw†rwhX

	rw†rwhLjµ†rwh¨X	 context rw†rwhLjµ†rwhX
	rw†rwhjĆrwh‘XStringrw†rwhX
		rw†r wjKXstreamContents:r!w†r"whX 
			r#w†r$whj[†r%whLjî†r&wh¨jAN†r'whj½†r(whLjµ†r)whX
			r*w†r+wh¨jAN†r,whj½†r-wjKXnextPutAll:r.w†r/whj½†r0wj˜X$'***System error handling failed***'r1w†r2wj©jþ†r3whX
			r4w†r5wh¨jAN†r6whj½†r7wjKXcrr8w†r9wj©j†r:whj½†r;wjKXnextPutAll:r<w†r=whj½†r>wh¨XaStringr?w†r@wj©jþ†rAwhX
			rBw†rCwh¨XcontextrDw†rEwhj½†rFwhLj¸†rGwhj½†rHwj!XthisContextrIw†rJwhj½†rKwjKXsenderrLw†rMwhj½†rNwjKXsenderrOw†rPwj©jþ†rQwhX
			rRw†rSwj;X20rTw†rUwhj½†rVwjXtimesRepeat:rWw†rXwhj½†rYwhj[†rZwh¨Xcontextr[w†r\whj½†r]wjKX==r^w†r_whj½†r`wj!Xnilraw†rbwhj½†rcwjXifFalse:rdw†rewhj½†rfwhj[†rgwh¨jAN†rhwhj½†riwjKXcrrjw†rkwj©j†rlwhj½†rmwjKXprint:rnw†rowhj½†rpwhjĆrqwh¨Xcontextrrw†rswhj½†rtwhLj¸†ruwhj½†rvwh¨Xcontextrww†rxwhj½†rywjKXsenderrzw†r{whj߆r|whje†r}whje†r~wj©jþ†rwhX
			r€w†rwh¨jAN†r‚whj½†rƒwjKXcrr„w†r…wj©j†r†whj½†r‡wjKXnextPutAll:rˆw†r‰whj½†rŠwj˜X!'-------------------------------'r‹w†rŒwj©jþ†rwhX
			rŽw†rwh¨jAN†rwhj½†r‘wjKXcrr’w†r“wj©j†r”whj½†r•wjKXnextPutAll:r–w†r—whj½†r˜wj˜X*'Type CR to enter an emergency evaluator.'r™w†ršwj©jþ†r›whX
			rœw†rwh¨jAN†ržwhj½†rŸwjKXcrr w†r¡wj©j†r¢whj½†r£wjKXnextPutAll:r¤w†r¥whj½†r¦wj˜X&'Type any other character to restart.'r§w†r¨whje†r©whj߆rªwhX
		r«w†r¬wjKX
displayAt:r­w†r®whj½†r¯wj;jë†r°whj½†r±wjKj;†r²whj½†r³wj;jë†r´wj©jþ†rµwhX
	r¶w†r·whj[†r¸wh‘XSensorr¹w†rºwhj½†r»wjKXkeyboardPressedr¼w†r½whje†r¾whj½†r¿wjKX
whileFalserÀw†rÁwj©jþ†rÂwhX
	rÃw†rÄwh‘XSensorrÅw†rÆwhj½†rÇwjKXkeyboardrÈw†rÉwhj½†rÊwjKjþ†rËwhj½†rÌwh‘X	CharacterrÍw†rÎwhj½†rÏwjKXcrrÐw†rÑwhj½†rÒwjXifTrue:rÓw†rÔwhj½†rÕwhj[†rÖwh‘XTranscripterr×w†rØwhj½†rÙwjKXemergencyEvaluatorrÚw†rÛwhje†rÜwj©jþ†rÝwhX
	rÞw†rßwh‘X	Smalltalkràw†ráwhj½†râwjKX	isMorphicrãw†räwhX
		råw†ræwjXifTrue:rçw†rèwhj½†réwhj[†rêwh‘XWorldrëw†rìwhj½†ríwjKXinstallrîw†rïwhj½†rðwjLX"init hands and redisplay"rñw†ròwhje†rówhX
		rôw†rõwjXifFalse:röw†r÷whj½†røwhj[†rùwh‘XScheduledControllersrúw†rûwhj½†rüwjKXsearchForActiveControllerrýw†rþwhje†rÿwjóX! !rx†rxhX

rx†rxjój¹†rxh‘XObjectrx†rxjóX
 methodsFor: rx†rxj˜X	'private'r	x†r
xjój¹†rxhjì†rxjKXspeciesr
x†rxhX
	rx†rxjLXn"Answer the preferred class for reconstructing the receiver.  For example, 
	collections create new collections whenever enumeration messages such as 
	collect: or select: are invoked.  The new kind of collection is determined by 
	the species of the original collection.  Species and class are not always the 
	same.  For example, the species of Interval is Array."rx†rxhX

	rx†rxhLj;†rxj!Xselfrx†rxhj½†rxjKXclassrx†rxjóX! !rx†rxhX

rx†rxjój¹†rxh‘XObjectr x†r!xjóX
 methodsFor: r"x†r#xj˜X	'private'r$x†r%xjój¹†r&xhjì†r'xjKXstoreAt:r(x†r)xhj½†r*xh¨Xoffsetr+x†r,xhj½†r-xjKXinTempFrame:r.x†r/xhj½†r0xh¨XaContextr1x†r2xhX
	r3x†r4xjLXž"This message had to get sent to an expression already on the stack
	as a Block argument being accessed by the debugger.
	Just re-route it to the temp frame."r5x†r6xhX
	r7x†r8xhLj;†r9xhj½†r:xh¨XaContextr;x†r<xhj½†r=xjKXtempAt:r>x†r?xhj½†r@xh¨XoffsetrAx†rBxhj½†rCxjKXput:rDx†rExhj½†rFxj!XselfrGx†rHxjóX! !rIx†rJxhX

rKx†rLxjóX9"-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "!rMx†rNxhX

rOx†rPxh‘XObject classrQx†rRxe(jóX
	instanceVariableNames: rSx†rTxj˜X''rUx†rVxjój¹†rWxhX

rXx†rYxjój¹†rZxh‘XObject classr[x†r\xjóX
 methodsFor: r]x†r^xj˜X'*Pinesoft-Widgets'r_x†r`xjóX stamp: 'gvc 4/17/2007 17:40'!rax†rbxhjì†rcxjKXtaskbarIconrdx†rexhX
	rfx†rgxjLXX"Answer the icon for an instance of the receiver in a task bar
	or nil for the default."rhx†rixhX

	rjx†rkxhLj;†rlxj!Xnilrmx†rnxjóX! !rox†rpxhX


rqx†rrxjój¹†rsxh‘XObject classrtx†ruxjóX
 methodsFor: rvx†rwxj˜X'*magritte-model-accessing'rxx†ryxjóX stamp: 'lr 3/27/2006 15:47'!rzx†r{xhjì†r|xjKXdescriptionr}x†r~xhX
	rx†r€xhLj;†rxhj½†r‚xh‘XMADescriptionBuilderrƒx†r„xhj½†r…xjKXfor:r†x†r‡xhj½†rˆxj!Xselfr‰x†rŠxjóX! !r‹x†rŒxhX


rx†rŽxjój¹†rxh‘XObject classrx†r‘xjóX
 methodsFor: r’x†r“xj˜X'class initialization'r”x†r•xjóX stamp: 'ar 2/11/2001 02:00'!r–x†r—xhjì†r˜xjKXflushDependentsr™x†ršxhX
	r›x†rœxh‘XDependentsFieldsrx†ržxhj½†rŸxjKXkeysAndValuesDo:r x†r¡xhj[†r¢xhLjî†r£xh¨Xkeyr¤x†r¥xhj½†r¦xhLjî†r§xh¨Xdepr¨x†r©xhLjµ†rªxhX
		r«x†r¬xh¨Xkeyr­x†r®xhj½†r¯xjKX	ifNotNil:r°x†r±xhj[†r²xh¨Xkeyr³x†r´xhj½†rµxjKXremoveDependent:r¶x†r·xhj½†r¸xj!Xnilr¹x†rºxhje†r»xj©jþ†r¼xhX
	r½x†r¾xhje†r¿xj©jþ†rÀxhX
	rÁx†rÂxh‘XDependentsFieldsrÃx†rÄxhj½†rÅxjKXfinalizeValuesrÆx†rÇxj©jþ†rÈxjóX! !rÉx†rÊxhX

rËx†rÌxjój¹†rÍxh‘XObject classrÎx†rÏxjóX
 methodsFor: rÐx†rÑxj˜X'class initialization'rÒx†rÓxjóX stamp: 'rw 2/10/2002 13:09'!rÔx†rÕxhjì†rÖxjKXflushEventsr×x†rØxhX
	rÙx†rÚxjLX"Object flushEvents"rÛx†rÜxhX

	rÝx†rÞxh‘XEventManagerrßx†ràxhj½†ráxjKXflushEventsrâx†rãxj©jþ†räxhj½†råxjóX! !ræx†rçxhX

rèx†réxjój¹†rêxh‘XObject classrëx†rìxjóX
 methodsFor: ríx†rîxj˜X'class initialization'rïx†rðxjóX stamp: 'rww 10/2/2001 07:35'!rñx†ròxhjì†róxjKX
initializerôx†rõxhX
	röx†r÷xjLX"Object initialize"røx†rùxhX
	rúx†rûxh‘XDependentsFieldsrüx†rýxhj½†rþxjKXifNil:rÿx†ryhj[†ryj!Xselfry†ryhj½†ryjKXinitializeDependentsFieldsry†ryhje†ryj©jþ†ryjóX! !r	y†r
yhX

ry†ryjój¹†r
yh‘XObject classry†ryjóX
 methodsFor: ry†ryj˜X'class initialization'ry†ryjóX stamp: 'ar 2/11/2001 01:41'!ry†ryhjì†ryjKXinitializeDependentsFieldsry†ryhX
	ry†ryjLX"Object initialize"ry†ryhX
	ry†ryh‘XDependentsFieldsry†r yhj½†r!yhLj¸†r"yhj½†r#yh‘XWeakIdentityKeyDictionaryr$y†r%yhj½†r&yjXnewr'y†r(yj©jþ†r)yhjì†r*yjóX! !r+y†r,yhX

r-y†r.yjój¹†r/yh‘XObject classr0y†r1yjóX
 methodsFor: r2y†r3yj˜X'class initialization'r4y†r5yjóX stamp: 'ar 2/11/2001 01:45'!r6y†r7yhjì†r8yjKXreInitializeDependentsFieldsr9y†r:yhX
	r;y†r<yjLX%"Object reInitializeDependentsFields"r=y†r>yhX
	r?y†r@yhLjµ†rAyh¨X oldFields rBy†rCyhLjµ†rDyhX
	rEy†rFyh¨X	oldFieldsrGy†rHyhj½†rIyhLj¸†rJyhj½†rKyh‘XDependentsFieldsrLy†rMyj©jþ†rNyhX
	rOy†rPyh‘XDependentsFieldsrQy†rRyhj½†rSyhLj¸†rTyhj½†rUyh‘XWeakIdentityKeyDictionaryrVy†rWyhj½†rXyjXnewrYy†rZyj©jþ†r[yhX
	r\y†r]yh¨X	oldFieldsr^y†r_yhj½†r`yjKXkeysAndValuesDo:ray†rbyhj[†rcyhLjî†rdyh¨Xobjrey†rfyhj½†rgyhLjî†rhyh¨Xdepsriy†rjyhLjµ†rkyhX
		rly†rmyh¨Xdepsrny†royhj½†rpyjKXdo:rqy†rryhj[†rsyhLjî†rtyh¨Xdruy†rvyhLjµ†rwyhj½†rxyh¨Xobjryy†rzyhj½†r{yjKX
addDependent:r|y†r}yhj½†r~yh¨juy†ryhje†r€yhje†ryj©jþ†r‚yhjì†rƒyjóX! !r„y†r…yhX


r†y†r‡yjój¹†rˆyh‘XObject classr‰y†rŠyjóX
 methodsFor: r‹y†rŒyj˜X'documentation'ry†rŽyjój¹†ryhjì†ryjKXhowToModifyPrimitivesr‘y†r’yhX
	r“y†r”yjLXØ	"You are allowed to write methods which specify primitives, but please use 
	caution.  If you make a subclass of a class which contains a primitive method, 
	the subclass inherits the primitive.  The message which is implemented 
	primitively may be overridden in the subclass (E.g., see at:put: in String's 
	subclass Symbol).  The primitive behavior can be invoked using super (see 
	Symbol string:). 
	 
	A class which attempts to mimic the behavior of another class without being 
	its subclass may or may not be able to use the primitives of the original class.  
	In general, if the instance variables read or written by a primitive have the 
	same meanings and are in the same fields in both classes, the primitive will 
	work.  

	For certain frequently used 'special selectors', the compiler emits a 
	send-special-selector bytecode instead of a send-message bytecode.  
	Special selectors were created because they offer two advantages.  Code 
	which sends special selectors compiles into fewer bytes than normal.  For 
	some pairs of receiver classes and special selectors, the interpreter jumps 
	directly to a primitive routine without looking up the method in the class.  
	This is much faster than a normal message lookup. 
	 
	A selector which is a special selector solely in order to save space has a 
	normal behavior.  Methods whose selectors are special in order to 
	gain speed contain the comment, 'No Lookup'.  When the interpreter 
	encounters a send-special-selector bytecode, it checks the class of the 
	receiver and the selector.  If the class-selector pair is a no-lookup pair, 
	then the interpreter swiftly jumps to the routine which implements the 
	corresponding primitive.  (A special selector whose receiver is not of the 
	right class to make a no-lookup pair, is looked up normally).  The pairs are 
	listed below.  No-lookup methods contain a primitive number specification, 
	<primitive: xx>, which is redundant.  Since the method is not normally looked 
	up, deleting the primitive number specification cannot prevent this 
	primitive from running.  If a no-lookup primitive fails, the method is looked 
	up normally, and the expressions in it are executed. 
	 
	No Lookup pairs of (class, selector) 
	 
	SmallInteger with any of		+ - * /  \\  bitOr: bitShift: bitAnd:  // 
	SmallInteger with any of		=  ~=  >  <  >=  <= 
	Any class with					== 
	Any class with 					@ 
	Point with either of				x y 
	ContextPart with					blockCopy: 
	BlockContext with either of 		value value:
	"r•y†r–yhX

	r—y†r˜yj!Xselfr™y†ršyhj½†r›yjKXerror:rœy†ryhj½†ržyj˜X'comment only'rŸy†r yjóX! !r¡y†r¢yhX

r£y†r¤yjój¹†r¥yh‘XObject classr¦y†r§yjóX
 methodsFor: r¨y†r©yj˜X'documentation'rªy†r«yjój¹†r¬yhjì†r­yjKXwhatIsAPrimitiver®y†r¯yhX
	r°y†r±yjLX®"Some messages in the system are responded to primitively. A primitive   
	response is performed directly by the interpreter rather than by evaluating   
	expressions in a method. The methods for these messages indicate the   
	presence of a primitive response by including <primitive: xx> before the   
	first expression in the method.   
	  
	Primitives exist for several reasons. Certain basic or 'primitive' 
	operations cannot be performed in any other way. Smalltalk without 
	primitives can move values from one variable to another, but cannot add two 
	SmallIntegers together. Many methods for arithmetic and comparison 
	between numbers are primitives. Some primitives allow Smalltalk to 
	communicate with I/O devices such as the disk, the display, and the keyboard. 
	Some primitives exist only to make the system run faster; each does the same 
	thing as a certain Smalltalk method, and its implementation as a primitive is 
	optional.  
	  
	When the Smalltalk interpreter begins to execute a method which specifies a 
	primitive response, it tries to perform the primitive action and to return a 
	result. If the routine in the interpreter for this primitive is successful, 
	it will return a value and the expressions in the method will not be evaluated. 
	If the primitive routine is not successful, the primitive 'fails', and the 
	Smalltalk expressions in the method are executed instead. These 
	expressions are evaluated as though the primitive routine had not been 
	called.  
	  
	The Smalltalk code that is evaluated when a primitive fails usually 
	anticipates why that primitive might fail. If the primitive is optional, the 
	expressions in the method do exactly what the primitive would have done (See 
	Number @). If the primitive only works on certain classes of arguments, the 
	Smalltalk code tries to coerce the argument or appeals to a superclass to find 
	a more general way of doing the operation (see SmallInteger +). If the 
	primitive is never supposed to fail, the expressions signal an error (see 
	SmallInteger asFloat).  
	  
	Each method that specifies a primitive has a comment in it. If the primitive is 
	optional, the comment will say 'Optional'. An optional primitive that is not 
	implemented always fails, and the Smalltalk expressions do the work 
	instead.  
	 
	If a primitive is not optional, the comment will say, 'Essential'. Some 
	methods will have the comment, 'No Lookup'. See Object 
	howToModifyPrimitives for an explanation of special selectors which are 
	not looked up.  
	  
	For the primitives for +, -, *, and bitShift: in SmallInteger, and truncated 
	in Float, the primitive constructs and returns a 16-bit 
	LargePositiveInteger when the result warrants it. Returning 16-bit 
	LargePositiveIntegers from these primitives instead of failing is 
	optional in the same sense that the LargePositiveInteger arithmetic 
	primitives are optional. The comments in the SmallInteger primitives say, 
	'Fails if result is not a SmallInteger', even though the implementor has the 
	option to construct a LargePositiveInteger. For further information on 
	primitives, see the 'Primitive Methods' part of the chapter on the formal 
	specification of the interpreter in the Smalltalk book."r²y†r³yhX

	r´y†rµyj!Xselfr¶y†r·yhj½†r¸yjKXerror:r¹y†rºyhj½†r»yj˜X'comment only'r¼y†r½yjóX! !r¾y†r¿yhX


rÀy†rÁyjój¹†rÂyh‘XObject classrÃy†rÄyjóX
 methodsFor: rÅy†rÆyj˜X'file list services'rÇy†rÈyjóX stamp: 'nk 6/12/2004 11:41'!rÉy†rÊyhjì†rËyjKXfileReaderServicesForDirectory:rÌy†rÍyhj½†rÎyh¨XaFileDirectoryrÏy†rÐyhX
	rÑy†rÒyjLX
"Backstop"rÓy†rÔyhX
	rÕy†rÖyhLj;†r×yj´X#(rØy†rÙyj´j߆rÚyjóX! !rÛy†rÜyhX

rÝy†rÞyjój¹†rßyh‘XObject classrày†ráyjóX
 methodsFor: rây†rãyj˜X'file list services'räy†råyjóX stamp: 'nk 6/12/2004 11:30'!ræy†rçyhjì†rèyjKXfileReaderServicesForFile:réy†rêyhj½†rëyh¨XfullNamerìy†ríyhj½†rîyjKXsuffix:rïy†rðyhj½†rñyh¨Xsuffixròy†róyhX
	rôy†rõyjLX
"Backstop"röy†r÷yhX
	røy†rùyhLj;†rúyj´X#(rûy†rüyj´j߆rýyjóX! !rþy†rÿyhX

rz†rzjój¹†rzh‘XObject classrz†rzjóX
 methodsFor: rz†rzj˜X'file list services'rz†rzjóX stamp: 'md 2/15/2006 17:20'!r	z†r
zhjì†rzjKXservicesrz†r
zhX
	rz†rzjLX
"Backstop"rz†rzhX
	rz†rzhLj;†rzj´X#(rz†rzj´j߆rzjóX! !rz†rzhX


rz†rzjój¹†rzh‘XObject classrz†rzjóX
 methodsFor: rz†r zj˜X'instance creation'r!z†r"zjóX stamp: 'sw 1/23/2003 09:45'!r#z†r$zhjì†r%zjKXcategoryForUniclassesr&z†r'zhX
	r(z†r)zjLXO"Answer the default system category into which to place unique-class instances"r*z†r+zhX

	r,z†r-zhLj;†r.zhj½†r/zj˜X
'UserObjects'r0z†r1zjóX! !r2z†r3zhX

r4z†r5zjój¹†r6zh‘XObject classr7z†r8zjóX
 methodsFor: r9z†r:zj˜X'instance creation'r;z†r<zjóX stamp: 'sw 7/28/97 15:56'!r=z†r>zhjì†r?zjKXchooseUniqueClassNamer@z†rAzhX
	rBz†rCzhLjµ†rDzh¨X
 i className rEz†rFzhLjµ†rGzhX
	rHz†rIzh¨j„!†rJzhj½†rKzhLj¸†rLzhj½†rMzj;jà†rNzj©jþ†rOzhX
	rPz†rQzhj[†rRzh¨X	classNamerSz†rTzhj½†rUzhLj¸†rVzhj½†rWzhjĆrXzj!XselfrYz†rZzhj½†r[zjKXnamer\z†r]zhj½†r^zjKj)	†r_zhj½†r`zh¨j„!†razhj½†rbzjKXprintStringrcz†rdzhj߆rezhj½†rfzjKXasSymbolrgz†rhzj©jþ†rizhX
	 rjz†rkzh‘X	Smalltalkrlz†rmzhj½†rnzjKXincludesKey:roz†rpzhj½†rqzh¨X	classNamerrz†rszhje†rtzhX
		ruz†rvzjX
whileTrue:rwz†rxzhj½†ryzhj[†rzzh¨j„!†r{zhj½†r|zhLj¸†r}zhj½†r~zh¨j„!†rzhj½†r€zjKjˆ†rzhj½†r‚zj;jà†rƒzhje†r„zj©jþ†r…zhX
	r†z†r‡zhLj;†rˆzhj½†r‰zh¨X	classNamerŠz†r‹zjóX! !rŒz†rzhX

rŽz†rzjój¹†rzh‘XObject classr‘z†r’zjóX
 methodsFor: r“z†r”zj˜X'instance creation'r•z†r–zjóX stamp: 'tk 8/22/1998 08:22'!r—z†r˜zhjì†r™zjKXinitialInstanceršz†r›zhX
	rœz†rzjLXV"Answer the first instance of the receiver, generate an error if there is one already"ržz†rŸzhX
	r z†r¡zjLXL"self instanceCount > 0 ifTrue: [self error: 'instance(s) already exist.']."r¢z†r£zhX
		r¤z†r¥zjLX""Debugging test that is very slow"r¦z†r§zhX
	r¨z†r©zhLj;†rªzhj½†r«zj!Xselfr¬z†r­zhj½†r®zjXnewr¯z†r°zjóX! !r±z†r²zhX

r³z†r´zjój¹†rµzh‘XObject classr¶z†r·zjóX
 methodsFor: r¸z†r¹zj˜X'instance creation'rºz†r»zjóX stamp: 'sw 5/5/2000 09:30'!r¼z†r½zhjì†r¾zjKXinitializedInstancer¿z†rÀzhX
	rÁz†rÂzhLj;†rÃzhj½†rÄzj!XselfrÅz†rÆzhj½†rÇzjXnewrÈz†rÉzjóX! !rÊz†rËzhX

rÌz†rÍzjój¹†rÎzh‘XObject classrÏz†rÐzjóX
 methodsFor: rÑz†rÒzj˜X'instance creation'rÓz†rÔzjóX stamp: 'sw 10/16/2000 10:58'!rÕz†rÖzhjì†r×zjKXinstanceOfUniqueClassrØz†rÙzhX
	rÚz†rÛzjLX9"Answer an instance of a unique subclass of the receiver"rÜz†rÝzhX

	rÞz†rßzhLj;†ràzhj½†rázj!Xselfrâz†rãzhj½†räzjKX'instanceOfUniqueClassWithInstVarString:råz†ræzhj½†rçzj˜X''rèz†rézhj½†rêzjKXandClassInstVarString:rëz†rìzhj½†rízj˜X''rîz†rïzjóX! !rðz†rñzhX

ròz†rózjój¹†rôzh‘XObject classrõz†rözjóX
 methodsFor: r÷z†røzj˜X'instance creation'rùz†rúzjóX stamp: 'tk 8/22/1998 08:27'!rûz†rüzhjì†rýzjKX'instanceOfUniqueClassWithInstVarString:rþz†rÿzhj½†r{h¨X
instVarStringr{†r{hj½†r{jKXandClassInstVarString:r{†r{hj½†r{h¨XclassInstVarStringr{†r{hX
	r	{†r
{jLXF"Create a unique class for the receiver, and answer an instance of it"r{†r{hX

	r
{†r{hLj;†r{hj½†r{hjĆr{j!Xselfr{†r{hj½†r{jKXnewUniqueClassInstVars:r{†r{hj½†r{h¨X
instVarStringr{†r{hX 
		r{†r{jKXclassInstVars:r{†r{hj½†r{h¨XclassInstVarStringr{†r {hj߆r!{hj½†r"{jKXinitialInstancer#{†r${jóX! !r%{†r&{hX

r'{†r({jój¹†r){h‘XObject classr*{†r+{jóX
 methodsFor: r,{†r-{j˜X'instance creation'r.{†r/{jóX stamp: 'sw 10/23/1999 22:51'!r0{†r1{hjì†r2{jKX
isUniClassr3{†r4{hX
	r5{†r6{hLj;†r7{hj½†r8{j!Xfalser9{†r:{jóX! !r;{†r<{hX

r={†r>{jój¹†r?{h‘XObject classr@{†rA{jóX
 methodsFor: rB{†rC{j˜X'instance creation'rD{†rE{jóX stamp: 'ajh 5/23/2002 00:35'!rF{†rG{hjì†rH{jKXnewFrom:rI{†rJ{hj½†rK{h¨XaSimilarObjectrL{†rM{hX
	rN{†rO{jLXÅ"Create an object that has similar contents to aSimilarObject.
	If the classes have any instance varaibles with the same names, copy them across.
	If this is bad for a class, override this method."rP{†rQ{hX

	rR{†rS{hLj;†rT{hj½†rU{hjĆrV{j!XselfrW{†rX{hj½†rY{jKX
isVariablerZ{†r[{hX
		r\{†r]{jXifTrue:r^{†r_{hj½†r`{hj[†ra{j!Xselfrb{†rc{hj½†rd{jKX	basicNew:re{†rf{hj½†rg{h¨XaSimilarObjectrh{†ri{hj½†rj{jKX	basicSizerk{†rl{hje†rm{hX
		rn{†ro{jXifFalse:rp{†rq{hj½†rr{hj[†rs{j!Xselfrt{†ru{hj½†rv{jKXbasicNewrw{†rx{hje†ry{hX
	  rz{†r{{hj߆r|{hj½†r}{jKX
copySameFrom:r~{†r{hj½†r€{h¨XaSimilarObjectr{†r‚{jóX! !rƒ{†r„{hX

r…{†r†{jój¹†r‡{h‘XObject classrˆ{†r‰{jóX
 methodsFor: rŠ{†r‹{j˜X'instance creation'rŒ{†r{jóX stamp: 'tk 6/29/1998 12:11'!rŽ{†r{hjì†r{jKXnewUniqueClassInstVars:r‘{†r’{hj½†r“{h¨X
instVarStringr”{†r•{hj½†r–{jKXclassInstVars:r—{†r˜{hj½†r™{h¨XclassInstVarStringrš{†r›{hX
	rœ{†r{jLX("Create a unique class for the receiver"rž{†rŸ{hX

	r {†r¡{hLjµ†r¢{h¨X aName aClass r£{†r¤{hLjµ†r¥{hX
	r¦{†r§{j!Xselfr¨{†r©{hj½†rª{jKXisSystemDefinedr«{†r¬{hj½†r­{jXifFalse:r®{†r¯{hX
		r°{†r±{hj[†r²{hLj;†r³{hj½†r´{h¨X
superclassrµ{†r¶{hj½†r·{jKXnewUniqueClassInstVars:r¸{†r¹{hj½†rº{h¨X
instVarStringr»{†r¼{hj½†r½{jKXclassInstVars:r¾{†r¿{hj½†rÀ{h¨XclassInstVarStringrÁ{†rÂ{hje†rÃ{j©jþ†rÄ{hX
	rÅ{†rÆ{h¨XaNamerÇ{†rÈ{hj½†rÉ{hLj¸†rÊ{hj½†rË{j!XselfrÌ{†rÍ{hj½†rÎ{jKXchooseUniqueClassNamerÏ{†rÐ{j©jþ†rÑ{hX
	rÒ{†rÓ{h¨XaClassrÔ{†rÕ{hj½†rÖ{hLj¸†r×{hj½†rØ{j!XselfrÙ{†rÚ{hj½†rÛ{jKX	subclass:rÜ{†rÝ{hj½†rÞ{h¨XaNamerß{†rà{hj½†rá{jKXinstanceVariableNames:râ{†rã{hj½†rä{h¨X
instVarStringrå{†ræ{hX 
		rç{†rè{jKXclassVariableNames:ré{†rê{hj½†rë{j˜X''rì{†rí{hj½†rî{jKXpoolDictionaries:rï{†rð{hj½†rñ{j˜X''rò{†ró{hj½†rô{jKX	category:rõ{†rö{hj½†r÷{j!Xselfrø{†rù{hj½†rú{jKXcategoryForUniclassesrû{†rü{j©jþ†rý{hX
	rþ{†rÿ{h¨XclassInstVarStringr|†r|hj½†r|jKXsizer|†r|hj½†r|jKji†r|hj½†r|j;jë†r|hj½†r	|jXifTrue:r
|†r|hX
		r|†r
|hj[†r|h¨XaClassr|†r|hj½†r|jKXclassr|†r|hj½†r|jKXinstanceVariableNames:r|†r|hj½†r|h¨XclassInstVarStringr|†r|hje†r|j©jþ†r|hX
	r|†r|hLj;†r|hj½†r|h¨XaClassr |†r!|jóX! !r"|†r#|hX

r$|†r%|jój¹†r&|h‘XObject classr'|†r(|jóX
 methodsFor: r)|†r*|j˜X'instance creation'r+|†r,|jóX stamp: 'sw 7/28/97 15:56'!r-|†r.|hjì†r/|jKXnewUserInstancer0|†r1|hX
	r2|†r3|jLXc"Answer an instance of an appropriate class to serve as a user object in the containment hierarchy"r4|†r5|hX

	r6|†r7|hLj;†r8|hj½†r9|j!Xselfr:|†r;|hj½†r<|jKXinstanceOfUniqueClassr=|†r>|jóX! !r?|†r@|hX

rA|†rB|jój¹†rC|h‘XObject classrD|†rE|jóX
 methodsFor: rF|†rG|j˜X'instance creation'rH|†rI|jóX stamp: 'nk 8/30/2004 07:57'!rJ|†rK|hjì†rL|jKXreadCarefullyFrom:rM|†rN|hj½†rO|h¨XtextStringOrStreamrP|†rQ|hX
	rR|†rS|jLX|"Create an object based on the contents of textStringOrStream.  Return an error instead of putting up a SyntaxError window."rT|†rU|hX

	rV|†rW|hLjµ†rX|h¨X object rY|†rZ|hLjµ†r[|hX
	r\|†r]|hjĆr^|h‘XCompilerr_|†r`|hj½†ra|jKXcouldEvaluate:rb|†rc|hj½†rd|h¨XtextStringOrStreamre|†rf|hj߆rg|hX
		rh|†ri|jXifFalse:rj|†rk|hj½†rl|hj[†rm|hLj;†rn|hj½†ro|j!Xselfrp|†rq|hj½†rr|jKXerror:rs|†rt|hj½†ru|j˜X"'expected String, Stream, or Text'rv|†rw|hje†rx|j©jþ†ry|hX
	rz|†r{|h¨Xobjectr||†r}|hj½†r~|hLj¸†r|hj½†r€|h‘XCompilerr|†r‚|hj½†rƒ|jKX	evaluate:r„|†r…|hj½†r†|h¨XtextStringOrStreamr‡|†rˆ|hj½†r‰|jKXfor:rŠ|†r‹|hj½†rŒ|j!Xnilr|†rŽ|hX 
				r|†r|jKX
notifying:r‘|†r’|hj½†r“|j´X#error:r”|†r•|hj½†r–|jLX"signal we want errors"r—|†r˜|hj½†r™|jKXlogged:rš|†r›|hj½†rœ|j!Xfalser|†rž|j©jþ†rŸ|hX
	r |†r¡|hjĆr¢|h¨Xobjectr£|†r¤|hj½†r¥|jKX	isKindOf:r¦|†r§|hj½†r¨|j!Xselfr©|†rª|hj߆r«|hj½†r¬|jXifFalse:r­|†r®|hj½†r¯|hj[†r°|j!Xselfr±|†r²|hj½†r³|jKXerror:r´|†rµ|hj½†r¶|j!Xselfr·|†r¸|hj½†r¹|jKXnamerº|†r»|jKj)	†r¼|hj½†r½|j˜X' expected'r¾|†r¿|hje†rÀ|j©jþ†rÁ|hX
	rÂ|†rÃ|hLj;†rÄ|h¨XobjectrÅ|†rÆ|jóX! !rÇ|†rÈ|hX

rÉ|†rÊ|jój¹†rË|h‘XObject classrÌ|†rÍ|jóX
 methodsFor: rÎ|†rÏ|j˜X'instance creation'rÐ|†rÑ|jóX stamp: 'nk 8/30/2004 07:57'!rÒ|†rÓ|hjì†rÔ|jKX	readFrom:rÕ|†rÖ|hj½†r×|h¨XtextStringOrStreamrØ|†rÙ|hX
	rÚ|†rÛ|jLX?"Create an object based on the contents of textStringOrStream."rÜ|†rÝ|hX

	rÞ|†rß|hLjµ†rà|h¨X object rá|†râ|hLjµ†rã|hX
	rä|†rå|hjĆræ|h‘XCompilerrç|†rè|hj½†ré|jKXcouldEvaluate:rê|†rë|hj½†rì|h¨XtextStringOrStreamrí|†rî|hj߆rï|hX
		rð|†rñ|jXifFalse:rò|†ró|hj½†rô|hj[†rõ|hLj;†rö|hj½†r÷|j!Xselfrø|†rù|hj½†rú|jKXerror:rû|†rü|hj½†rý|j˜X"'expected String, Stream, or Text'rþ|†rÿ|hje†r}j©jþ†r}hX
	r}†r}h¨Xobjectr}†r}hj½†r}hLj¸†r}hj½†r}h‘XCompilerr	}†r
}hj½†r}jKX	evaluate:r}†r
}hj½†r}h¨XtextStringOrStreamr}†r}j©jþ†r}hX
	r}†r}hjĆr}h¨Xobjectr}†r}hj½†r}jKX	isKindOf:r}†r}hj½†r}j!Xselfr}†r}hj߆r}hj½†r}jXifFalse:r}†r }hj½†r!}hj[†r"}j!Xselfr#}†r$}hj½†r%}jKXerror:r&}†r'}hj½†r(}j!Xselfr)}†r*}hj½†r+}jKXnamer,}†r-}jKj)	†r.}hj½†r/}j˜X' expected'r0}†r1}hje†r2}j©jþ†r3}hX
	r4}†r5}hLj;†r6}h¨Xobjectr7}†r8}jóX! !r9}†r:}hX


r;}†r<}jój¹†r=}h‘XObject classr>}†r?}jóX
 methodsFor: r@}†rA}j˜X'objects from disk'rB}†rC}jóX stamp: 'tk 1/8/97'!rD}†rE}hjì†rF}jKXcreateFrom:rG}†rH}hj½†rI}h¨XaSmartRefStreamrJ}†rK}hj½†rL}jKXsize:rM}†rN}hj½†rO}h¨X
varsOnDiskrP}†rQ}hj½†rR}jKXversion:rS}†rT}hj½†rU}h¨XinstVarListrV}†rW}hX
	rX}†rY}jLX—"Create an instance of me so objects on the disk can be read in.  Tricky part is computing the size if variable.  Inst vars will be filled in later.  "rZ}†r[}hX

	r\}†r]}hLj;†r^}hj½†r_}j!Xselfr`}†ra}hj½†rb}jKX
isVariablerc}†rd}hX
		re}†rf}jXifFalse:rg}†rh}hj½†ri}hj[†rj}j!Xselfrk}†rl}hj½†rm}jKXbasicNewrn}†ro}hje†rp}hX
		rq}†rr}jXifTrue:rs}†rt}hj½†ru}hj[†rv}jLXE"instVarList is names of old class's inst vars plus a version number"rw}†rx}hX 
				ry}†rz}j!Xselfr{}†r|}hj½†r}}jKX	basicNew:r~}†r}hj½†r€}hjĆr}h¨X
varsOnDiskr‚}†rƒ}hj½†r„}jKj8"†r…}hj½†r†}hjĆr‡}h¨XinstVarListrˆ}†r‰}hj½†rŠ}jKXsizer‹}†rŒ}hj½†r}jKj8"†rŽ}hj½†r}j;jà†r}hj߆r‘}hj߆r’}hje†r“}hjì†r”}jóX! !r•}†r–}hX


r—}†r˜}jój¹†r™}h‘XObject classrš}†r›}jóX
 methodsFor: rœ}†r}j˜X'window color'rž}†rŸ}jóX stamp: 'nk 6/10/2004 08:10'!r }†r¡}hjì†r¢}jKXwindowColorSpecificationr£}†r¤}hX
	r¥}†r¦}jLXˆ"Answer a WindowColorSpec object that declares my preference.
	This is a backstop for classes that don't otherwise define a preference."r§}†r¨}hX

	r©}†rª}hLj;†r«}hj½†r¬}h‘XWindowColorSpecr­}†r®}hj½†r¯}jKXclassSymbol:r°}†r±}hj½†r²}j!Xselfr³}†r´}hj½†rµ}jKXnamer¶}†r·}hX
		r¸}†r¹}jKXwording:rº}†r»}hj½†r¼}j˜X	'Default'r½}†r¾}hj½†r¿}jKXbrightColor:rÀ}†rÁ}hj½†rÂ}j´X#whiterÃ}†rÄ}hX
		rÅ}†rÆ}jKXpastelColor:rÇ}†rÈ}hj½†rÉ}j´X#whiterÊ}†rË}hX
		rÌ}†rÍ}jKXhelpMessage:rÎ}†rÏ}hj½†rÐ}j˜X*'Other windows without color preferences.'rÑ}†rÒ}jóX! !rÓ}†rÔ}hX


rÕ}†rÖ}jój¹†r×}h‘XObject classrØ}†rÙ}jóX
 methodsFor: rÚ}†rÛ}j˜X	'private'rÜ}†rÝ}jóX stamp: 'mir 8/22/2001 15:20'!rÞ}†rß}hjì†rà}jKXreleaseExternalSettingsrá}†râ}hX
	rã}†rä}jLX"Do nothing as a default"rå}†ræ}jóX! !rç}†rè}hX


ré}†rê}h‘XObjectrë}†rì}hj½†rí}jKX
initializerî}†rï}jKj¹†rð}hjì†rñ}e.