Caml1999T025  =  	  )  'M  4 ,Stdlib__lazyA  ( !t PA'lazy.mlrr@А!a @  4 @@@@@@*floatarrayQ  0 @@@A@@@@&_none_@@ A@@@@5extension_constructorP#intA  0 @@@A@@@@	@A$charB&stringO%floatD$boolE  0 @@У%false^@@@У$true_@@@@A@@@@@A$unitF  0 @@У"()`@@&@@A@@@@&@A##exnG  0 @@AA@@@@)@@&%arrayH  0 @ @M@A@A@ @@@0@@-$listI  0 @ @N@AУ"[]a@@<@У"::b@@ @O@@H@@A@Y@@@I@@F&optionJ  0 @ @P@AУ$Nonec@@U@У$Somed@@[@@A@Y@@@\@@Y&lazy_tN  0 @ @Q@A@A@Y@@@c@@`)nativeintKf%int32Lh%int64Mj:Undefined_recursive_module]G@j@@ @Jt@@ @@@ @V@@A|=ocaml.warn_on_literal_pattern@@.Assert_failure\@@ @X@@A@0Division_by_zeroY%@@@A@+End_of_fileX,@@@A@)Sys_errorW3@/@@A%$@.Sys_blocked_io[;@@@A,+@)Not_foundVB@@@A32@'FailureUI@E@@A;:@0Invalid_argumentTQ@M@@ACB@.Stack_overflowZY@@@AƠJI@-Out_of_memoryS`@@@A͠QP@-Match_failureRg@fbc@ @c@@Aڠ^]@%bytesC2CamlinternalFormat8CamlinternalFormatBasics0CamlinternalLazy/CamlinternalMod.CamlinternalOO(Std_exit&Stdlib+Stdlib__arg-Stdlib__array3Stdlib__arrayLabels0Stdlib__bigarray,Stdlib__bool.Stdlib__buffer-Stdlib__bytes3Stdlib__bytesLabels0Stdlib__callback,Stdlib__char/Stdlib__complex.Stdlib__digest1Stdlib__ephemeron0Stdlib__filename-Stdlib__float.Stdlib__format+Stdlib__fun*Stdlib__gc.Stdlib__genlex/Stdlib__hashtbl+Stdlib__int-Stdlib__int32-Stdlib__int64.Stdlib__lexing,Stdlib__list2Stdlib__listLabels+Stdlib__map/Stdlib__marshal2Stdlib__moreLabels1Stdlib__nativeint+Stdlib__obj*Stdlib__oo.Stdlib__option/Stdlib__parsing2Stdlib__pervasives0Stdlib__printexc.Stdlib__printf-Stdlib__queue.Stdlib__random.Stdlib__result-Stdlib__scanf+Stdlib__seq+Stdlib__set1Stdlib__spacetime-Stdlib__stack1Stdlib__stdLabels.Stdlib__stream.Stdlib__string4Stdlib__stringLabels+Stdlib__sys-Stdlib__uchar,Stdlib__unit,Stdlib__weakm  0 @ @@A@AҠ@B@(@@B@)B@ @@@rr	@@@g@@rr@@B@  0 @A@A!tC@@A
&lazy_tN @(@ @) @'@ @ Y@@@ @@@@Aг0CamlinternalLazyr	'@А!ar	 r	@@@'/@@1@@10@  4 @@@)Undefined SCt		!t		*@:@@@At		t		G@@0CamlinternalLazy)Undefined0CamlinternalLazy)Undefined"t		-@@@@  4 @*M@@,make_forward T.v	I	R/v	I	^@б@А!a @MB@E  4 /..//////@1+@@=v	I	a>v	I	c@@гz&lazy_tFv	I	jGv	I	p@А!aMv	I	gNv	I	i@@@@@ @G@@@!@ @K@@6caml_lazy_make_forwardAA @@@^v	I	I_v	I	@@@@@(%force Ujx		kx		@б@гu!tux		vx		@А!a @VB@N  4 uttuuuuuu@GX+@@x		x		@@@@@ @P	@@А!ax		x		@@@@ @T@@+%lazy_forceAA<@@@x		x		@@@@@@ࠠ)force_val V|		|		@@@@Ǡ@ @_@@ @`@ @^B@]  4 @7R%@@@డm)force_val0CamlinternalLazy|		|		@@!a @@@ @@ @@4camlinternalLazy.mli]TT]Ts@@@@'@@|		@@@!@ࠠ(from_fun W~	
~	
@@@@@g@@ @m#arg @kB@h@ @lB@b 
@@ @3B@c@ @dB@a  4 @I\V@W@@@@@!f X@~	
~	
@@@"@@ @o!@ @n  4 @60A~		 A
m
@@@@@@б@г3$unit&~	
'~	
@@;@@ @e@@А8=/~	
0~	
@@@B@ @i!@@5~	
6~	
@@@L%@@@ࠠ!x YA
!
'B
!
(@@@&Stdlib#Obj!t@@ @C@r  4 EDDEEEEEE@?OF@I@@@@డ#Obj)new_block_
!
+`
!
8@@#intA@@ @i@@@ @h*@@ @g@ @f@ @e.caml_obj_blockBA @@@@'obj.mli~

~

@@@@@@@C@@@@C@B@C@@C@8@@డ#Obj(lazy_tag
!
9
!
E@4@@ @y@# G$ G@@
@@"D@R@@A
!
F
!
G@@(D@]@@O@@h^@@
!
#@@డ#Obj)set_field @
K
M @
K
Z@@}@@ @S@d@@ @R@@@ @Q$unitF@@ @P@ @O@ @N@ @M.%obj_set_fieldCAd@@@@@dx	y	yex	y	@@#"@@@@@C@C@@"@@C@@
k@@B@+C@@C@@C@@C@  4 @@@@@@@ఐ!x @
K
[ @
K
\@@@$D@@@@ @
K
] @
K
^@@(D@ @@డX#Obj$repr! @
K
`" @
K
h@@!a @0@@ @5@ @4)%identityAA@@@WW@@@@@@N@@D@'K@D@&D@$]E@#@D@"K@@ఐC!fJ @
K
iK @
K
j@@@X@@N @
K
_O @
K
k@@m[@@@@b\@డ#Obj#obj] A
m
p^ A
m
w@@@@ @7!a @,@ @6)%identityAA@@@XX@@@@@-@@B@>@@B@DB@=@B@<@@ఐE!x A
m
x A
m
y@@@C@B@@/@г!t A
m
 A
m
@А#argB@, A
m
| A
m
@@@@@ @.@@ A
m
oA@@@@@@@@Y@@AuA@@@ @R  4 @@@@@@@@ࠠ(from_val  D

 D

@@@@#arg @B@TϠB@@@ @B@U@ @VB@S  4 @@@@@@@!v @ D

 D

@@  4 @*$˰ D

 JOT@@@@@
	@А%,B@W D

 D

@@ D

 D

@@@@@@ࠠ!t  E

 E

@@@@@ @_C@\  4 @)4H@.@@@@డK#Obj#tag E

 E

@@@@ @A@@ @@@ @?,caml_obj_tagAA@@@\__\_@@@@@@@C@`+@C@^'@@డr#Obj$repr; E

< E

@@@@vB@gE@f@D@e?@@ఐw!vN E

O E

@I@@B@YM@@S E

T E

@@,P@@B@@UQ@@W E

@@డ"||c F

d F

@@$boolE@@ @ @@@ @ @@ @ @ @ @ @ '%sequorBA @@@@*stdlib.mli $$ $$@@ @@@@@B@p@@@B@o@@B@B@n@B@m@B@l  4 @@@@@@@డ!= F

 F

@@!a @ S@E@@ @ R@ @ Q@ @ P&%equalBA9@@@@8 vpp9 vp@@@@@@@C@zC@w@@C@v@C@u@C@t2@@ఐӠ!t F

 F

@<@@?@@డ#Obj+forward_tag F

 F

@~@@ @}@m K88n K8M@@
@@.D@{Y@@@@*Z@@డ2 F

 F

@@@@@@C@@@@C@}C@@C@@C@~t@@డLqs F

 F

@p@@@@@D@D@@#D@@D@@D@@@ఐ.!t* F

+ F

@@@@@డq#Obj(lazy_tag: F

; F

@@@&E@@@@@"@@డK F

L F

@@@@Q@@D@D@@WD@@D@@D@@@ఐg!tc F

d F

@а@@@@డ#Obj*double_tags F

t F
@@@ @@ O O@@
@@.E@@@@@*@@X@@}@@@@@ఐ^,make_forward G G @7@@@B@@B@@@ఐŠ!v G! G"@@@_@@ F

 H#(@@@డ#Obj%magic I49 I4B@@!a @*!b @)@ @8)%identityAAI@@@GYHY@@@@@ 	@@B@B@@B@9@@ఐ!v I4C I4D@Ѱ@@F@@+@г!t I4L I4M@А#arg)B@W I4G I4K@@@%@@ @^@@ H#.@@@,a@ F

@@ec@@@/@@AA@@82@ @  4 @@@@@@@.@ࠠ&is_val  MW[ MWa@@@@#arg @B@@@ @B@@@ @B@@ @B@  4 @Tnh@i@@@@@!l @. MWc/ MWd@@ @@ @  4 )(())))))@3-"8 MWW9 MW@@@@@@г/!tE MWlF MWm@А16K MWgL MWk@@@=<@@ @@@S MWbT MWn@@@E!@@డ"<>^ MW_ MW@@!a @ W@L@@ @ V@ @ U@ @ T)%notequalBA@@@@ ll l@@@@@x@@B@B@@a@B@@B@  4 srrssssss@KZQ@T@@@@@డ#Obj#tag MWq MWx@|@@@O@@C@@C@@@డ#Obj$repr MWz MW@@@@@@D@D@E@@D@6@@ఐ!l MW MW@@@@C@@ MWy MW@@/F@@5@@LG@@డ	#Obj(lazy_tag MW@<@@]C@X@@G@@Y@@AA@@@ @  4 @@@@@@@@ࠠ-lazy_from_fun  O O@@@@@@@ @@ @@ @@@ @@ @B@  4 @@@@@@ఐ (from_fun O O@4@@@@ O@@@@ࠠ-lazy_from_val  Q Q@@@@g @S@@ @@ @B@  4 @(>8@9@@@@ఐp(from_val) Q* Q@@@@@- Q@@@@ࠠ+lazy_is_val : S; S@@@@1 @@@ @)@@ @@ @B@   4 >==>>>>>>@+<6@7@@@@ఐL&is_valS ST S@[@@@@W S@@@@_A@RLB@5@@c@@D@fo@J@^"@93@4@@@  4 eddeeeeee@(<@@@!t !a @@@ @$boolE@@ @@ @@(lazy.mli l m	@0ocaml.deprecated m	 m@8Use Lazy.is_val instead.@ m m@@@@@ m@@W@!a @2@@ @
@ @	@% h::& iY@0ocaml.deprecated, iY^- iYn@:Use Lazy.from_val instead.@7 iYo8 iY@@@@@: iY[@@@@$unitF@@ @!a @@ @^@@ @@ @@Q dR e@0ocaml.deprecatedX eY e@:Use Lazy.from_fun instead.@c ed e@@@@@f e@@@~!a @@@ @{@@ @@ @@y _  z _ 9@@@!a @@@ @@ @@ Y\\ Y\u@@F@@P@@ @!a @@ @@@ @@ @@ P!! P!D@@,@!a @@@ @@ @@ Fpp Fp@@@Ƞ!a @!@@ @"@ @ +%lazy_forceAA @@@}

}
(@@@	H************************************************************************	SA@@	TA@ L@	H                                                                        	YB M M	ZB M @	H                                 OCaml                                  	_C  	`C  @	H                                                                        	eD  	fD 3@	H             Damien Doligez, projet Para, INRIA Rocquencourt            	kE44	lE4@	H                                                                        	qF	rF@	H   Copyright 1997 Institut National de Recherche en Informatique et     	wG	xG@	H     en Automatique.                                                    	}H	~Hg@	H                                                                        	Ihh	Ih@	H   All rights reserved.  This file is distributed under the terms of    	J	J@	H   the GNU Lesser General Public License version 2.1, with the          	K	KN@	H   special exception on linking described in the file LICENSE.          	LOO	LO@	H                                                                        	M	M@	H************************************************************************	N	N5@	& Module [Lazy]: deferred computations 	P77	P7a@	u
   WARNING: some purple magic is going on here.  Do not take this file
   as an example of how to program in OCaml.
	Sdd	V@
   We make use of two special tags provided by the runtime:
   [lazy_tag] and [forward_tag].

   A value of type ['a Lazy.t] can be one of three things:
   1. A block of size 1 with tag [lazy_tag].  Its field is a closure of
      type [unit -> 'a] that computes the value.
   2. A block of size 1 with tag [forward_tag].  Its field is the value
      of type ['a] that was computed.
   3. Anything else except a float.  This has type ['a] and is the value
      that was computed.
   Exceptions are stored in format (1).
   The GC will magically change things from (2) to (3) according to its
   fancy.

   If OCaml was configured with the -flat-float-array option (which is
   currently the default), the following is also true:
   We cannot use representation (3) for a [float Lazy.t] because
   [caml_make_array] assumes that only a [float] value can have tag
   [Double_tag].

   We have to use the built-in type constructor [lazy_t] to
   let the compiler implement the special typing and compilation
   rules for the [lazy] keyword.
	Y	p@3 let force = force 	z			z		@@  D +../ocamlopt0-strict-sequence(-absname"-w5+a-4-9-41-42-44-45-48"-g+-warn-error!A*-bin-annot)-nostdlib,-safe-string/-strict-formats"-p"-c"-o2stdlib__lazy.p.cmx	ː	(./stdlib @0{zpjtd]  4 									@	@@8CamlinternalFormatBasics0i;5d[͔023WvbqX;@&Stdlib0EQ:TnȠ-Stdlib__int320p^URݽkN	01b͠ty|Mp+Stdlib__obj0r^t2	
_tS@@A