Caml1999I036 wZ.Stdlib__Option!t;!a@@A$None@@*option.mliXX@@A@$Some@@ X X@@ B@@@A&optionL @@@Y@@@@@X@@@@-@@A@$none!a@@@@@*[<<+[<P@@?C@@$some@!a@)@@@@@@>^kk?^k@@SD@@%value@9!a@@@@'default  @@@@@VaWa@@kE@@#get@Q!a@@@@@@@jdkd5@@F@@$bind@e!a@@@@@@ r!b@@@@@@{ @@@@@@@@ii@@G@@$join@!a@@@@@@@ @@@@@@l''l'O@@H@@#map@@!a@!b@@@@@@@@@@@@@@@oo@@I@@$fold$none!a@$some@!b@@@@ܠ @@@@@@@@@@r  r X@@J@@$iter@@!a@$unitF@@@@@@@@@ @@@@@@@@vv@@(K@@'is_none@!a@@@@$boolE@@@@@@-{ S S.{ S r@@BL@@'is_some@(!a@@@@@@@@@@E~  F~  @@ZM@@%equal@@!a@@1@@@@@@@@N@@@@U@@@C@@@@@@@@@@nA  oA  M@@N@@'compare@@!a@@#intA@@@@@@@@y@@@@@@@@@@@@@@@@@E  E  #@@O@@)to_result$none!e@@!a@@@@&Stdlib&result @@@@@@@@K  K  @@P@@'to_list@!a@@@@$listK @@@@@@O k kO k @@Q@@&to_seq@ՠ!a@@@@:#Seq!t @@@@@@R  R  @@ R@@@_L.Stdlib__Option0 5P0=z"+Stdlib__Seq0]h+F&}.Stdlib__Either0FԤ) 4'>&Stdlib0y{x!O!8CamlinternalFormatBasics0oZ2t,@@@Caml1999T036A !+(C.Stdlib__Option*ocaml.text&_none_@@A l Option values. Option values explicitly indicate the presence or absence of a value. @since 4.08 *option.mliP77T@@@@@@3@@@@@@#intA;@@@A@@@@@:@A@$charB;@@A@@@@@>@A@&stringQ;@@ A@@@@@B@@@%bytesC;@@ A@@@@@F@@@%floatD;@@A@@@@@J@@@$boolE;@@%falsec@@T@$trued@@Z@@@A@@@@@[@A@$unitF;@@"()e@@e@@@A@@@@@f@A@ #exnG;@@@A@@@@@j@@@#effH;@@O@A@A@@@@@@s@@@,continuationI;@@Q@@P@B@A@nY@@@@@@@@@%arrayJ;@@R@A@A@@@@@@@@@ $listK;@@S@A"[]f@@@"::g@@@T@@@ @@A@Y@@@@@@@@&optionL;@@V@A$Noneh@@@$Somei@@@@@A@Y@@@@@@@@)nativeintM;@@A@@@@@@@@%int32N;@@A@@@@@@@@%int64O;@@A@@@@@@@@&lazy_tP;@@X@AJA@Y@@@@@@@@5extension_constructorR;@@A@@@@@@@@*floatarrayS;@@A@@@@@@@@&iarrayT;@@Y@A[A@Y@@@@@@@@*atomic_locU;@@Z@AdA@@@@@@@@@.Assert_failure`#@@@@@J@@@@@@@@[@@A=ocaml.warn_on_literal_pattern @ @0Division_by_zero]#@@@A  @+End_of_file\#$@@@A@'FailureY#,@'@@A!$$@0Invalid_argumentX#5@0@@A*$-#-@-Match_failureV#>@@=@9@;@@a@@A;5>4>@)Not_foundZ#O@@@AC=F<F@-Out_of_memoryW#W@@@AKENDN@.Stack_overflow^#_@@@ASMVLV@.Sys_blocked_io_#g@@@A[U^T^@)Sys_error[#o@j@@Ad^g]g@:Undefined_recursive_modulea#x@@w@s@u@@h@@Auoxnx@:Continuation_already_takenb#@@@A}wv@&Stdlib@Ax5 {1:options Options} VV@@@@@@A+!tAXX@А!a@3@;@@@A@A@@@@@@G@B@@@XX@)ocaml.doc @ The type for option values. Either [None] or a value [Some v]. YY:@@@@@@@@@@@@AXX@@BA@;0@A$None@@XX@@A@$SomeBB@@@X,@@B@@@ADLB@@@@Y@@@@@96@@&@#@@@@@#XX@@А!a ]XJ@@@@ @@Aг&optionXX@А!a%lX X@@@,o @@]ZYX@XX@@@X@X@@hg@$none[<@ [<D@г&option([<J)[<P@А!a@B@30//00000@/o@A6[<G7[<I@@@ @@@ @@@?[<<@3 [none] is [None]. L\QQM\Qi@@@@@@@eC@@'@`@@@@@@($somec^kod^ks@б@А!a@B@3lkklllll@=V4@Ar^kvs^kx@@гڠ&option{^k|^k@А!a^k|^k~@@@@@@ @@@!@@@@@^kk@ސ7 [some v] is [Some v]. __@@@@@@@D@@#@@@@@@@;%valueaa@б@г&optionaa@А!a@B@3@Zk>@Aaa@@@ @@@ @@б'defaultА!aaa@@А!aaa@@!!@@a@@@@@ @@@a @; G [value o ~default] is [v] if [o] is [Some v] and [default] otherwise. bb@@@@@@@E@@@K @@@@@@?#getd d#@б@гy&optiond)d/@А!a@B@3"!!"""""@^y>@A(d&)d(@@@ @@@ @@А!a 3d34d5@@@ @@@@@:d@ g [get o] is [v] if [o] is [Some v] and raise otherwise. @raise Invalid_argument if [o] is [None]. Ge66Hgr@@@@@@@`F@@@[@@@@@@1$bind^i_i@б@гȠ&optioniiji@А!a@B@3qppqqqqq@Pk>@Awixi@@@ @@@ @@б@б@А!aii@@г&optionii@А!b@B@&ii@@@ @@@-@@@5@@0@@г &optionii@А!b>ii@@@#@@@E @@@@@Hi@@@G@@LJ@@@i@ E [bind o f] is [f v] if [o] is [Some v] and [None] if [o] is [None]. jj%@@@@@@@G@@'@#䐠@@@@@@k$joinl'+l'/@б@гQ&optionl'<l'B@г[&optionl'5l';@А!a@B@3@H@A l'2 l'4@@@ @@@ @@@&@@@ #@@г|&optionl'Il'O@А!a!$l'F%l'H@@@'@@@# @@@@@&$@@@0l''@ H [join oo] is [Some v] if [oo] is [Some (Some v)] and [None] otherwise. =mPP>mP@@@@@@@VH@@#@Q@@@@@@E#mapToUo@б@б@А!a@B@3_^^_____@\6@Aeofo@@А!b@B@ poqo@@@ @@@@б@гݠ&option~oo@А!a'"oo@@@-@@@) @@г&optionoo@А!b/7oo@@@5@@@> @@@@@A@@@4@@Do@@@o@ K [map f o] is [None] if [o] is [None] and [Some (f v)] if [o] is [Some v]. pp@@@@@@@I@@'@ ː@@@@@@d$foldr $r (@б$noneА!a@B@3@{6@Ar 0r 2@@б$someб@А!b@ B@r <r >@@А!ar Br D@@@#@@ @@б@гc&optionr Lr R@А!b . r I r K@@@&@@@5 @@А!a>9r Vr X@@@ C@@>@@:%@@Ar 6@@OJ@@E"r + @@@%r  @u V [fold ~none ~some o] is [none] if [o] is [None] and [some v] if [o] is [Some v]. 2sYY3t@@@@@@@KJ@@@F@@@@@@e$iterIvJv@б@б@А!a@B@ 3TSSTTTTT@|6@AZv[v@@г$unitcvdv@@ @@@ @@@@@ @@б@гԠ&optionuvvv@А!a)$|v}v@@@/@@@+ @@г7$unitvv@@ @@@8@@@@@;@@@,@@>v @@@v@鐠 < [iter f o] is [f v] if [o] is [Some v] and [()] otherwise. ww $@@@@@@@K@@@@@@@@@^ǐ & {1:preds Predicates and comparisons} y & &y & Q@@@@@@3@p1@A'is_none{ S W{ S ^@б@г:&option{ S d{ S j@А!a@B@ { S a{ S c@@@ @@@'@@г$bool{ S n{ S r@@ @@@4@@@@@7@@@{ S S @P 5 [is_none o] is [true] if and only if [o] is [None].  | s s| s @@@@@@@&L@@@`!@@@@@@V'is_some$~  %~  @б@г&option/~  0~  @А!a@"B@376677777@up>@A=~  >~  @@@ @@@ @@г $boolK~  L~  @@ @@@@@@@@ @@@V~   @ 7 [is_some o] is [true] if and only if [o] is [Some o]. c  d  @@@@@@@|M@@@w@@@@@@8%equal zA  {A  @б@б@А!a@0B@#3@Oj6@AA  A  @@б@А!a A  A  "@@гZ$boolA  &A  *@@ @@@$@@@!@@%@@@$@@& @@б@г&optionA  2A  8@А!a4/A  /A  1@@@:@@@(6 @@б@г'&optionA  ?A  E@А!aKFA  <A  >@@@Q@@@*M @@г$boolA  IA  M@@ @@@+Z@@@@@,]@@@.@@-`1 @@@F@@.cA  @@@A  @? [equal eq o0 o1] is [true] if and only if [o0] and [o1] are both [None] or if they are [Some v0] and [Some v1] and [eq v0 v1] is [true]. B N NC  @@@@@@@N@@"@O@@@@@@'compare!E  E  @б@б@А!a@>B@13@6@A$E  %E  @@б@А!a ,E  -E  @@г#int5E  6E  @@ @@@2@@@!@@3@@@$@@4 @@б@г&optionJE  KE  @А!a4/QE  RE  @@@:@@@66 @@б@г&optionaE  bE  @А!aKFhE  iE  @@@Q@@@8M @@гI#intvE  wE  #@@ @@@9Z@@@@@:]@@@.@@;`1 @@@F@@<cE  @@@E  @ؐ [compare cmp o0 o1] is a total order on options using [cmp] to compare values wrapped by [Some _]. [None] is smaller than [Some _] values. F $ $G o @@@@@@@O@@"@@@@@@@8 {1:convert Converting} I  I  @@@@@@3@1@A)to_result"K  K  @б$noneА!e@KB@?K  K  @@б@г8&optionK  K  @А!a@IB@@/K  K  @@@ @@@B6@@г{&resultK  K  @А!aDK  K  @@А!e8KK  K  @@@'?@@@ES K  @@@% @@FW(@@LG@@GZK  @@@K   @c R [to_result ~none o] is [Ok v] if [o] is [Some v] and [Error none] otherwise.  L  !M X i@@@@@@@9P@@0@s4@@@@@@z'to_list#7O k o8O k v@б@г&optionBO k |CO k @А!a@SB@L3JIIJJJJJ@>@APO k yQO k {@@@ @@@N @@гڠ$list^O k _O k @А!aeO k fO k @@@"@@@P @@@@@Q!@@@qO k k@ D [to_list o] is [[]] if [o] is [None] and [[v]] if [o] is [Some v]. ~P  P  @@@@@@@Q@@#@@@@@@@@&to_seqcR  R  @б@г&optionR  R  @А!a@ ~B@T3@_z>@AR  R  @@@ @@@V @@гE#Seq!tR  R  @ R  R  @@А!a% R  R  @@@+@@@ {'@@@%@@ |*(@@@R  @( z [to_seq o] is [o] as a sequence. [None] is the empty sequence and [Some v] is the singleton sequence containing [v]. S  T B {@@@@@@@R@@$@8@@@@@@I@i0A@@n@N@@?@@\@<@q@> @@!@@W@@@@@3        @lB@A@ H************************************************************************ A@@ A@L@ H  "BMM #BM@ H OCaml  (C )C@ H  .D /D3@ H The OCaml programmers  4E44 5E4@ H  :F ;F@ H Copyright 2018 Institut National de Recherche en Informatique et  @G AG@ H en Automatique.  FH GHg@ H  LIhh MIh@ H All rights reserved. This file is distributed under the terms of  RJ SJ@ H the GNU Lesser General Public License version 2.1, with the  XK YKN@ H special exception on linking described in the file LICENSE.  ^LOO _LO@ H  dM eM@ H************************************************************************ jN kN5@ m* Option values. Option values explicitly indicate the presence or absence of a value. @since 4.08  p6* {1:options Options} !* vX wX@ A* The type for option values. Either [None] or a value [Some v]. 4* [none] is [None]. 38* [some v] is [Some v]. 砠 H* [value o ~default] is [v] if [o] is [Some v] and [default] otherwise.  h* [get o] is [v] if [o] is [Some v] and raise otherwise. @raise Invalid_argument if [o] is [None]. A F* [bind o f] is [f v] if [o] is [Some v] and [None] if [o] is [None].  I* [join oo] is [Some v] if [oo] is [Some (Some v)] and [None] otherwise. Q L* [map f o] is [None] if [o] is [None] and [Some (f v)] if [o] is [Some v]. ڠ W* [fold ~none ~some o] is [none] if [o] is [None] and [some v] if [o] is [Some v]. b =* [iter f o] is [f v] if [o] is [Some v] and [()] otherwise.  '* {1:preds Predicates and comparisons} ֠ 6* [is_none o] is [true] if and only if [o] is [None].  8* [is_some o] is [true] if and only if [o] is [Some o]. = * [equal eq o0 o1] is [true] if and only if [o0] and [o1] are both [None] or if they are [Some v0] and [Some v1] and [eq v0 v1] is [true].  * [compare cmp o0 o1] is a total order on options using [cmp] to compare values wrapped by [Some _]. [None] is smaller than [Some _] values. 9* {1:convert Converting}  S* [to_result ~none o] is [Ok v] if [o] is [Some v] and [Error none] otherwise.  E* [to_list o] is [[]] if [o] is [None] and [[v]] if [o] is [Some v]. 1 {* [to_seq o] is [o] as a sequence. [None] is the empty sequence and [Some v] is the singleton sequence containing [v]. @?)../ocamlc0-strict-sequence(-absname"-w5+a-4-9-41-42-44-45-48"-g+-warn-error"+A*-bin-annot)-nostdlib*-principal"-o2stdlib__Option.cmi"-c  Z/home/teraram/ci/builds/workspace/parallel-build/flambda/true/label/ocaml-manycores/stdlib @@0SOx~3        @ @@8CamlinternalFormatBasics0oZ2t,ݠ&Stdlib0y{x!O!.Stdlib__Either0FԤ) 4'> 0 5P0=z"+Stdlib__Seq0]h+F&}@0 5P0=z"ASCVŐ. @@@k @G@@G@^&@@:p@@@@5@͐9J3j@ @@P@@