asda?‰PNG  IHDR ? f ??C1 sRGB ??é gAMA ±? üa pHYs ? ??o¨d GIDATx^íüL”÷e÷Y?a?("Bh?_ò???¢§?q5k?*:t0A-o??¥]VkJ¢M??f?±8\k2íll£1]q?ù???T GOOF----LE-8-2.0"]4hO^] gguile  gdefine-module*   gsystem grepl g coop-server  gfilenameS fsystem/repl/coop-server.scm gimportsS gice-9 gmatch    greceive    gthreads    gq    gsrfi gsrfi-9    gselectS g start-repl* !gprompting-meta-read " ! #" $gserver %$ &g run-server* 'gmake-tcp-server-socket (gadd-open-socket! )g close-socket! *gguard-against-http-request +&'()* ,%+ -#, .gexportsS /gspawn-coop-repl-server 0gpoll-coop-repl-server 1/0 2gset-current-module 32 42 5g 6g!%%make-coop-repl-server-procedure 7gmake-syntax-transformer 87 97 :g%make-coop-repl-server ;gmacro < ?g_ @gany A?@@ Bg syntax-object Cglambda Dgm-6cff15a80cd23e5-5 Egtop FDE Ggribcage Hgt-6cff15a80cd23e5-3 Igt-6cff15a80cd23e5-4 JHI KFF Lfl-6cff15a80cd23e5-a Mfl-6cff15a80cd23e5-b NLM OGJKN PG Qgx RQ SF Tfl-6cff15a80cd23e5-7 UT VGRSU Wgshift Xg proc-name Ygargs ZXY [E \[[ ]fl-1e8ba8b5a-2ba ^fl-1e8ba8b5a-2bb _]^ `GZ\_ agkey bgvalue cgname dgformals egbody fabcde g[[[[[ hfl-1e8ba8b5a-2ad ifl-1e8ba8b5a-2ae jfl-1e8ba8b5a-2af kfl-1e8ba8b5a-2b0 lfl-1e8ba8b5a-2b1 mhijkl nGfgm ogmake-procedure-name po q[ rfl-1e8ba8b5a-29d sr tGpqs u[ vfl-1e8ba8b5a-29c wv xGRuw yFOPVWPPPP`ntx  zghygiene {z |BCy{ }gmutex ~[OPV z B}~ gqueue B~  g make-struct gm-6cff15a80cd23e5-1 E gt-1e8ba8b5a-38d gt-1e8ba8b5a-38c gt-1e8ba8b5a-38b  gm-1e8ba8b5a-38e E  fl-1e8ba8b5a-392 fl-1e8ba8b5a-393 fl-1e8ba8b5a-394  G g ctor-args  fl-1e8ba8b5a-37a  Gu gctor gfield  fl-1e8ba8b5a-376 fl-1e8ba8b5a-377  G\ gform g type-name gconstructor-spec g field-names  [[[[ fl-1e8ba8b5a-36b fl-1e8ba8b5a-36c fl-1e8ba8b5a-36d fl-1e8ba8b5a-36e  G g record-layout gfunctional-setters gsetters gcopier ggetters g constructor ggetter-identifiers gfield-identifiers  [[[[[[[[ fl-1e8ba8b5a-343 fl-1e8ba8b5a-341 fl-1e8ba8b5a-33f fl-1e8ba8b5a-33d fl-1e8ba8b5a-33b fl-1e8ba8b5a-339 fl-1e8ba8b5a-337 fl-1e8ba8b5a-335  G fl-1e8ba8b5a-334  GRu OPVWPPPPP B{ B5~ B {  | geach-any ?Ȍ gsyntax-violation   fWrong number of arguments g identifier?   [PV B6   f-source expression failed to match any pattern grecord-type-vtable   gpwpw gdefault-record-printer   } gset-struct-vtable-name!   gvtable-offset-user   g%coop-repl-server?-procedure gcoop-repl-server? ?@ gm-6cff15a80cd23e5-14 E gt-6cff15a80cd23e5-13   fl-6cff15a80cd23e5-19  G fl-6cff15a80cd23e5-16  GR PWPPPP`ntx  BC{ gobj gt-1e8ba8b5a-47e gt-1e8ba8b5a-478 gt-1e8ba8b5a-479 gt-1e8ba8b5a-47a gt-1e8ba8b5a-47d gt-1e8ba8b5a-47c gt-1e8ba8b5a-47b  gm-1e8ba8b5a-47f E  fl-1e8ba8b5a-483 fl-1e8ba8b5a-484 fl-1e8ba8b5a-485 fl-1e8ba8b5a-486 fl-1e8ba8b5a-487 fl-1e8ba8b5a-488 fl-1e8ba8b5a-489  G  g copier-id     fl-1e8ba8b5a-476     G u  g ctor-name  fl-1e8ba8b5a-46e  Gu  fl-1e8ba8b5a-46c  Gu glayout  fl-1e8ba8b5a-46a  Gu g immutable?  fl-1e8ba8b5a-468   Gu !g field-count "! #fl-1e8ba8b5a-466 $# %G"u$ &g getter-ids '& (fl-1e8ba8b5a-463 )( *G'u) +g field-ids ,+ -fl-1e8ba8b5a-460 .- /G,u. 0gpredicate-name 1g field-spec 201 3[[[[[[ 4fl-1e8ba8b5a-453 5fl-1e8ba8b5a-454 6fl-1e8ba8b5a-455 7fl-1e8ba8b5a-456 8fl-1e8ba8b5a-457 9fl-1e8ba8b5a-458 :456789 ;G23: <PWPPPPP PPPP P%P*P/; =B<{ >= ?gand @B?<{ Agstruct? BBA<{ CB= Dgeq? EBD<{ Fg struct-vtable GBF<{ HG= I[P JB5I KEHJ L@CK M>L N[P OBN Pgthrow-bad-struct QP RP Sgcoop-repl-server-mutex Tg!%coop-repl-server-mutex-procedure Ugfree-id Vg %%on-error Wgm-6cff15a80cd23e5-20 XWE YX Zfl-6cff15a80cd23e5-22 [Z \GRY[ ]XP\WPPPP`ntx  ^BV]{ _U^ `_@ ag%%type bgt-1e8ba8b5a-3a5 cgt-1e8ba8b5a-3a6 dgt-1e8ba8b5a-3a7 egt-1e8ba8b5a-3a8 fgt-1e8ba8b5a-3a9 ggt-1e8ba8b5a-3aa hgt-1e8ba8b5a-3ab ibcdefgh jgm-1e8ba8b5a-3ac kjE lkkkkkkk mfl-1e8ba8b5a-3b0 nfl-1e8ba8b5a-3b1 ofl-1e8ba8b5a-3b2 pfl-1e8ba8b5a-3b3 qfl-1e8ba8b5a-3b4 rfl-1e8ba8b5a-3b5 sfl-1e8ba8b5a-3b6 tmnopqrs uGilt vggetter wgindex xvw yfl-1e8ba8b5a-3a3 zfl-1e8ba8b5a-3a4 {yz |Gx\{ }&  ~[[[ fl-1e8ba8b5a-39e fl-1e8ba8b5a-39f fl-1e8ba8b5a-3a0  G}~ P\WPuPPP|P Ba{ U ?`@ gck gerr gs  XX fl-6cff15a80cd23e5-25 fl-6cff15a80cd23e5-26  G XP\WPPPP`ntx  B{ gquote B{ [P\ B5   g%%index B{ U ?`@ fl-6cff15a80cd23e5-2a fl-6cff15a80cd23e5-2b  G XP\WPPPP`ntx  B{ B{ P\ B    g%%copier B{ U ?`@ fl-6cff15a80cd23e5-2f fl-6cff15a80cd23e5-30  G XP\WPPPP`ntx  B{ B{ g%%-set-fields [P\ B   gt-6cff15a80cd23e5-1f  fl-6cff15a80cd23e5-34  GY XP\WPPPP`ntx  BC{ P\WPuPPP|P B{  gif B{ BD{ BF{  [P\ B5  g struct-ref B{ P\ B   BP{ B{ BS     [P\ BT gcoop-repl-server-queue g!%coop-repl-server-queue-procedure gm-6cff15a80cd23e5-3b E  fl-6cff15a80cd23e5-3d  GR PWPPPP`ntx  BV{ U @ PWPuPPP|P Ba{ U ?@  fl-6cff15a80cd23e5-40 fl-6cff15a80cd23e5-41  G PWPPPP`ntx  B{ B{ [P B5   B{ U ?@ fl-6cff15a80cd23e5-45 fl-6cff15a80cd23e5-46  G PWPPPP`ntx  B{ B{ P B    B{ U ?@ fl-6cff15a80cd23e5-4a fl-6cff15a80cd23e5-4b  G  PWPPPP`ntx   B {  B {  [P  B      gt-6cff15a80cd23e5-3a  fl-6cff15a80cd23e5-4f  G PWPPPP`ntx  BC{ PWPuPPP|P B{  B{ BD{ BF{  [P B5   !B{ "P #B " $!# %BP{ &B{ 'B (&' )%( * $) +* ,[P -B, .geach /@@ 0./ 1@0 2@1 3@2 4g %%set-fields 5gdummy 6gcheck? 7gexpr 856v7 9gm-6cff15a80cd23e5-56 :9E ;: fl-6cff15a80cd23e5-5d ?fl-6cff15a80cd23e5-5e @fl-6cff15a80cd23e5-5f A<=>?@ BG8;A C: Dfl-6cff15a80cd23e5-58 ED FGRCE Ggt-1e8ba8b5a-3c4 Hgt-1e8ba8b5a-3c6 Igt-1e8ba8b5a-3c5 JGHI Kgm-1e8ba8b5a-3c7 LKE MLLL Nfl-1e8ba8b5a-3cb Ofl-1e8ba8b5a-3cc Pfl-1e8ba8b5a-3cd QNOP RGJMQ Sfl-1e8ba8b5a-3c1 Tfl-1e8ba8b5a-3c2 Ufl-1e8ba8b5a-3c3 VSTU WG}~V XBPFWPRPPPW  YB4X{ Z[BPF [B5Z \BSZ ]BZ ^\] _gmap `_ a_ bglist cg make-mutex dgmake-q egmake-coop-repl-server fg lock-mutex gf hf ig unlock-mutex ji ki lgenq! mgcoop-repl-server-eval ng  og%%make-coop-repl-procedure pg%make-coop-repl q?@@@@ rgm-6cff15a80cd23e5-91 srE tgt-6cff15a80cd23e5-8d ugt-6cff15a80cd23e5-8e vgt-6cff15a80cd23e5-8f wgt-6cff15a80cd23e5-90 xtuvw yssss zfl-6cff15a80cd23e5-96 {fl-6cff15a80cd23e5-97 |fl-6cff15a80cd23e5-98 }fl-6cff15a80cd23e5-99 ~z{|} Gxy~ s fl-6cff15a80cd23e5-93  GR sPWPPPP`ntx  BC{ [P B} gcondvar B gthunk B gcont B  gm-6cff15a80cd23e5-8b E PWPPPPP B{ Bn B {   [P Bo gpwpwpwpw } g%coop-repl?-procedure g coop-repl? gm-6cff15a80cd23e5-a4 E gt-6cff15a80cd23e5-a3   fl-6cff15a80cd23e5-a9  G fl-6cff15a80cd23e5-a6  GR PWPPPP`ntx  BC{ PWPPPPP PPPP P%P*P/; B{  B?{ BA{  BD{ BF{  [P Bn    [P B gcoop-repl-mutex g%coop-repl-mutex-procedure gm-6cff15a80cd23e5-b0 E  fl-6cff15a80cd23e5-b2  GR PWPPPP`ntx  BV{ U @ PWPuPPP|P Ba{ U ?@  fl-6cff15a80cd23e5-b5 fl-6cff15a80cd23e5-b6  G PWPPPP`ntx  B{ B{ [P Bn   B{ U ?@ fl-6cff15a80cd23e5-ba fl-6cff15a80cd23e5-bb  G PWPPPP`ntx  B{ B{ P B    B{ U ?@ fl-6cff15a80cd23e5-bf fl-6cff15a80cd23e5-c0  G PWPPPP`ntx  B{ B{ g%%-set-fields [P B   gt-6cff15a80cd23e5-af  fl-6cff15a80cd23e5-c4  G PWPPPP`ntx  BC{ PWPuPPP|P B{  B{ BD{ BF{  [P Bn  B{ P B   BP{  B{  B             [P B gcoop-repl-condvar g%coop-repl-condvar-procedure gm-6cff15a80cd23e5-cb E  fl-6cff15a80cd23e5-cd  GR PWPPPP`ntx  BV{ U @ PWPuPPP|P Ba{ U  ?@ ! "fl-6cff15a80cd23e5-d0 #fl-6cff15a80cd23e5-d1 $"# %G!$ &%PWPPPP`ntx  'B&{ (B&{ )[%P *Bn) +(* ,+ -B{ .U- /?.@ 0fl-6cff15a80cd23e5-d5 1fl-6cff15a80cd23e5-d6 201 3G!2 43PWPPPP`ntx  5B4{ 6B4{ 73P 8B 7 968 :9 ;B{ <U; =?<@ >fl-6cff15a80cd23e5-da ?fl-6cff15a80cd23e5-db @>? AG!@ BAPWPPPP`ntx  CBB{ DBB{ E[AP FBE GDF HG Igt-6cff15a80cd23e5-ca JI Kfl-6cff15a80cd23e5-df LK MGJL NMPWPPPP`ntx  OBCN{ PMPWPuPPP|P QBP{ RQ SBP{ TBDP{ UBFP{ VUQ W[MP XBnW YTVX ZBP{ [MP \B [ ]ZQ\ ^BPP{ _BP{ `BW a_` b^Qa cSY]b dORc e[P fBe ggcoop-repl-read-thunk hg%coop-repl-read-thunk-procedure igm-6cff15a80cd23e5-e6 jiE kj lfl-6cff15a80cd23e5-e8 ml nGRkm ojPnWPPPP`ntx  pBVo{ qUp rq@ sPnWPuPPP|P tBas{ uUt v?ru@ wjj xfl-6cff15a80cd23e5-eb yfl-6cff15a80cd23e5-ec zxy {Gwz |j{PnWPPPP`ntx  }B|{ ~B|{ [{Pn Bn ~  Bs{ U ?r@ fl-6cff15a80cd23e5-f0 fl-6cff15a80cd23e5-f1  Gw jPnWPPPP`ntx  B{ B{ Pn B    Bs{ U ?r@ fl-6cff15a80cd23e5-f5 fl-6cff15a80cd23e5-f6  Gw jPnWPPPP`ntx  B{ B{ [Pn B   gt-6cff15a80cd23e5-e5  fl-6cff15a80cd23e5-fa  Gk jPnWPPPP`ntx  BC{ PnWPuPPP|P B{  B{ BD{ BF{  [Pn Bn  B{ Pn B   BP{ B{ Bg     [Pn Bh gcoop-repl-cont g%coop-repl-cont-procedure gm-6cff15a80cd23e5-101 E  fl-6cff15a80cd23e5-103  GR PWPPPP`ntx  BV{ U @ PWPuPPP|P Ba{ U ?@  fl-6cff15a80cd23e5-106 fl-6cff15a80cd23e5-107  G PWPPPP`ntx  B{ B{ [P Bn   B{ U ?@ fl-6cff15a80cd23e5-10b fl-6cff15a80cd23e5-10c  G PWPPPP`ntx  B{ B{ P B    B{ U ?@ fl-6cff15a80cd23e5-110 fl-6cff15a80cd23e5-111  G PWPPPP`ntx  B{ B{ [P B   gt-6cff15a80cd23e5-100  fl-6cff15a80cd23e5-115  G PWPPPP`ntx  BC{ PWPuPPP|P B{  B{ BD{ BF{  [P Bn  B{ P B     BP{  B{  B           [P B gm-6cff15a80cd23e5-11c E  fl-6cff15a80cd23e5-121 fl-6cff15a80cd23e5-122 fl-6cff15a80cd23e5-123 fl-6cff15a80cd23e5-124 fl-6cff15a80cd23e5-125  G8  fl-6cff15a80cd23e5-11e   GR !P WPRPPPW  "B4!{ #[P  $Bn# %B# &B# 'Bg# (B# )%&'( *gset-coop-repl-read-thunk! +g$%set-coop-repl-read-thunk!-procedure ,gm-6cff15a80cd23e5-130 -,E .gt-6cff15a80cd23e5-12e /gt-6cff15a80cd23e5-12f 0./ 1-- 2fl-6cff15a80cd23e5-135 3fl-6cff15a80cd23e5-136 423 5G014 6- 7fl-6cff15a80cd23e5-132 87 9GR68 :-5P9WPPPP`ntx  ;BC:{ <= ?gm-1e8ba8b5a-3e8 @?E A@@ Bfl-1e8ba8b5a-3ec Cfl-1e8ba8b5a-3ed DBC EG>AD Fgsetter GcvF Hfl-1e8ba8b5a-3e0 Ifl-1e8ba8b5a-3e1 Jfl-1e8ba8b5a-3e2 KHIJ LGG~K M1w Nfl-1e8ba8b5a-3d7 Ofl-1e8ba8b5a-3d8 PNO QGM\P Rg field-specs SR Tfl-1e8ba8b5a-3d3 Ufl-1e8ba8b5a-3d4 VTU WGS\V X5P9WPELPQPW YBX{ Zgval [BZX{ \Y[ ]BX{ ^BDX{ _BFX{ `_Y a[5P9 bBna c^`b dg struct-set! eBdX{ f5P9 gB f heYg[ iBPX{ jBX{ kB*a ljk miYl n]chm o;\n p[P9 qB+p rgset-coop-repl-cont! sg%set-coop-repl-cont!-procedure tgm-6cff15a80cd23e5-140 utE vgt-6cff15a80cd23e5-13e wgt-6cff15a80cd23e5-13f xvw yuu zfl-6cff15a80cd23e5-145 {fl-6cff15a80cd23e5-146 |z{ }Gxy| ~u fl-6cff15a80cd23e5-142  GR~ u}PWPPPP`ntx  BC{ }PWPELPQPW B{ BZ{  B{ BD{ BF{  [}P Bn  Bd{ }P B   BP{ B{ Br     [P Bs gmake-condition-variable gmake-coop-repl gwait-condition-variable gerror f2coop-repl-read: condvar signaled, but thunk is #f! gcoop-repl-read gcoop-repl-prompt gstore-repl-cont g *repl-stack* gcurrent-module f"coop-reader: read-thunk is not #f! gsignal-condition-variable gmake-coop-reader geval g reader-loop gq-empty? gdeq!   fno matching pattern gnew-repl gstart-repl-client gcatch   gcall-with-new-thread   g%thread-handler   gcurrent-language gstart-coop-repl gmake-coop-client-proc grun-coop-repl-server g close-fdes gfileno gwith-continuation-barrier gcurrent-input-port gcurrent-output-port gcurrent-error-port gcurrent-warning-port g parameter?   g scm-error gwrong-type-arg f parameterize fNot a parameter: ~S gsave-module-excursionC5h`]4    -.1544>"G5h]Cgmutex  gqueue  gfilenamefsystem/repl/coop-server.scm $   gnameg!%%make-coop-repl-server-procedureC6R49:;>Ah\]CTgt-6cff15a80cd23e5-3  gt-6cff15a80cd23e5-4    C:h^]L6Vga  gfilenamefsystem/repl/coop-server.scm  $   C?hN]L6Fgfilenamefsystem/repl/coop-server.scm  $    Ch]C   C hp]45$@45$ O@45$4O?$@  6  6gx  ngtmp ngtmp  " ngtmp  > ngfilenamefsystem/repl/coop-server.scm $   n C5:R5ݨ45>"G 6i5R5h]$CCgobj  gfilenamefsystem/repl/coop-server.scm $    gnameg%coop-repl-server?-procedureCR49;>Mh<]C4gt-6cff15a80cd23e5-13    Ch^]L6Vga  gfilenamefsystem/repl/coop-server.scm  $   C?hN]L6Fgfilenamefsystem/repl/coop-server.scm  $    COh]C   C hp]45$@45$ O@45$4O?$@  6  6gx  ngtmp ngtmp  " ngtmp  > ngfilenamefsystem/repl/coop-server.scm $   n C5R5RSh]& C6gs  gfilenamefsystem/repl/coop-server.scm $    gnameg!%coop-repl-server-mutex-procedureCTR49S;>h:]C2gerr  gs    Ch:]C2gerr  gs    Ch:]C2gerr  gs    Ch<]C4gt-6cff15a80cd23e5-1f    CSh^]L6Vga  gfilenamefsystem/repl/coop-server.scm  $   C?hN]L6Fgfilenamefsystem/repl/coop-server.scm  $    Ch]C   Ch]145$@45$@45$@45$ @4 5$  O@4 5$4 O?$@66gx  gtmp gtmp  " gtmp  9 gtmp  P gtmp  g gtmp  gfilenamefsystem/repl/coop-server.scm $   C5SR5Rh]& C6gs  gfilenamefsystem/repl/coop-server.scm $    gnameg!%coop-repl-server-queue-procedureCR49;>h:]C2gerr  gs    Ch:]C2gerr  gs    C h:]C2gerr  gs    C+h<]C4gt-6cff15a80cd23e5-3a    Ch^]L6Vga  gfilenamefsystem/repl/coop-server.scm  $   C?hN]L6Fgfilenamefsystem/repl/coop-server.scm  $    C-h]C   Ch]145$@45$@45$@45$ @4 5$  O@4 5$4 O?$@66gx  gtmp gtmp  " gtmp  9 gtmp  P gtmp  g gtmp  gfilenamefsystem/repl/coop-server.scm $   C5R49;>3Y[^abh v]45Cngdummy  gcheck?  gs   ggetter   gexpr      Ch(] 45$@6gx  "gtmp "gfilenamefsystem/repl/coop-server.scm $   " g macro-typeg syntax-rulesgpatternsgcheck?gsggettergexprg...C5Rcd5h ]4545Cgmutex gqueue gfilenamefsystem/repl/coop-server.scm *  +   + ' +    gnamegmake-coop-repl-serverCeR5RShhN]L6Fgfilenamefsystem/repl/coop-server.scm 0    CkhN]L6Fgfilenamefsystem/repl/coop-server.scm 0    Clh-13& " 45OO4O>"GV4& " 45>X4O>"GCX4O>"GFg coop-server gopcode gargs  gx  # gfilenamefsystem/repl/coop-server.scm - 0  # 0  J 1  O 1 k 2 p 1  r 0   gnamegcoop-repl-server-evalg documentationfQueue a new instruction with the symbolic name OPCODE and an arbitrary number of arguments, to be processed the next time COOP-SERVER is polled.CmRnh]Cgmutex  gcondvar  gthunk   gcont   gfilenamefsystem/repl/coop-server.scm 4    gnameg%%make-coop-repl-procedureCoR49p;>qh]Cgt-6cff15a80cd23e5-8d  gt-6cff15a80cd23e5-8e  gt-6cff15a80cd23e5-8f   gt-6cff15a80cd23e5-90      Cph^]L6Vga  gfilenamefsystem/repl/coop-server.scm  4   C?hN]L6Fgfilenamefsystem/repl/coop-server.scm  4    Ch]C   C hp]45$@45$ O@45$4O?$@  6  6gx  ngtmp ngtmp  " ngtmp  > ngfilenamefsystem/repl/coop-server.scm 4   n C5pRn4n>"G oinRnh]$CCygobj  gfilenamefsystem/repl/coop-server.scm 4    gnameg%coop-repl?-procedureCR49;>h<]C4gt-6cff15a80cd23e5-a3    Ch^]L6Vga  gfilenamefsystem/repl/coop-server.scm  4   C?hN]L6Fgfilenamefsystem/repl/coop-server.scm  4    Ch]C   C hp]45$@45$ O@45$4O?$@  6  6gx  ngtmp ngtmp  " ngtmp  > ngfilenamefsystem/repl/coop-server.scm 4   n C5RnRh]& C6|gs  gfilenamefsystem/repl/coop-server.scm 4    gnameg%coop-repl-mutex-procedureCR49;>h:]C2gerr  gs    Ch:]C2gerr  gs    Ch:]C2gerr  gs    Ch<]C4gt-6cff15a80cd23e5-af    Ch^]L6Vga  gfilenamefsystem/repl/coop-server.scm  4   C?hN]L6Fgfilenamefsystem/repl/coop-server.scm  4    Ch]C   Ch]145$@45$@45$@45$ @4 5$  O@4 5$4 O?$@66gx  gtmp gtmp  " gtmp  9 gtmp  P gtmp  g gtmp  gfilenamefsystem/repl/coop-server.scm 4   C5RnRh]& C6~gs  gfilenamefsystem/repl/coop-server.scm 4    gnameg%coop-repl-condvar-procedureCR49;> ',h:]C2gerr  gs    C/5:h:]C2gerr  gs    C=CHh:]C2gerr  gs    Cdh<]C4gt-6cff15a80cd23e5-ca    Ch^]L6Vga  gfilenamefsystem/repl/coop-server.scm  4   C?hN]L6Fgfilenamefsystem/repl/coop-server.scm  4    Cfh]C   Ch]145$@45$@45$@45$ @4 5$  O@4 5$4 O?$@66gx  gtmp gtmp  " gtmp  9 gtmp  P gtmp  g gtmp  gfilenamefsystem/repl/coop-server.scm 4   C5RnRgh ]& C6gs  gfilenamefsystem/repl/coop-server.scm 4    gnameg%coop-repl-read-thunk-procedureChR49g;>v}h:]C2gerr  gs    Ch:]C2gerr  gs    Ch:]C2gerr  gs    Ch<]C4gt-6cff15a80cd23e5-e5    Cgh^]L6Vga  gfilenamefsystem/repl/coop-server.scm  4   C?hN]L6Fgfilenamefsystem/repl/coop-server.scm  4    Ch]C   Ch]145$@45$@45$@45$ @4 5$  O@4 5$4 O?$@66gx  gtmp gtmp  " gtmp  9 gtmp  P gtmp  g gtmp  gfilenamefsystem/repl/coop-server.scm 4   C5gRnRh ]& C6{gs  gfilenamefsystem/repl/coop-server.scm 4    gnameg%coop-repl-cont-procedureCR49;>h:]C2gerr  gs    Ch:]C2gerr  gs    Ch:]C2gerr  gs    Ch=]C5gt-6cff15a80cd23e5-100    Ch^]L6Vga  gfilenamefsystem/repl/coop-server.scm  4   C?hN]L6Fgfilenamefsystem/repl/coop-server.scm  4    Ch]C   Ch]145$@45$@45$@45$ @4 5$  O@4 5$4 O?$@66gx  gtmp gtmp  " gtmp  9 gtmp  P gtmp  g gtmp  gfilenamefsystem/repl/coop-server.scm 4   C5R49;>3"$)abh v]45Cngdummy  gcheck?  gs   ggetter   gexpr      Ch(] 45$@6gx  "gtmp "gfilenamefsystem/repl/coop-server.scm 4   " g macro-typeg syntax-rulesgpatternsgcheck?gsggettergexprg...C5RnR*h ]& C6gs  gval  gfilenamefsystem/repl/coop-server.scm 4    gnameg$%set-coop-repl-read-thunk!-procedureC+R49*;>Aoh`]CXgt-6cff15a80cd23e5-12e  gt-6cff15a80cd23e5-12f    C*h^]L6Vga  gfilenamefsystem/repl/coop-server.scm  4   C?hN]L6Fgfilenamefsystem/repl/coop-server.scm  4    Cqh]C   C hp]45$@45$ O@45$4O?$@  6  6gx  ngtmp ngtmp  " ngtmp  > ngfilenamefsystem/repl/coop-server.scm 4   n C5*RnRrh ]& C6gs  gval  gfilenamefsystem/repl/coop-server.scm 4    gnameg%set-coop-repl-cont!-procedureCsR49r;>Ah`]CXgt-6cff15a80cd23e5-13e  gt-6cff15a80cd23e5-13f    Crh^]L6Vga  gfilenamefsystem/repl/coop-server.scm  4   C?hN]L6Fgfilenamefsystem/repl/coop-server.scm  4    Ch]C   C hp]45$@45$ O@45$4O?$@  6  6gx  ngtmp ngtmp  " ngtmp  > ngfilenamefsystem/repl/coop-server.scm 4   n C5rRcnh ]4545Cgmutex gcondvar gfilenamefsystem/repl/coop-server.scm <  =   = =    gnamegmake-coop-replCRnRhhN]L6Fgfilenamefsystem/repl/coop-server.scm B    CkhN]L6Fgfilenamefsystem/repl/coop-server.scm B    Cg* h0]& " 45OO4O>"GV&  " 45$"D4& " 45& " 45>"G&  " 45$"4  >"G&  "4 >"GX4O>"G6g coop-repl  .gx  (gthunk  gthunk ( .gfilenamefsystem/repl/coop-server.scm ?  B   B E C  a C f D k D & E & D F  F G H  H  H  I  B ( A  . K   . gnamegcoop-repl-readg documentationf5Read an expression via the thunk stored in COOP-REPL.CRnhV]LL6Ngfilenamefsystem/repl/coop-server.scm R   R %   Chh]LO6`gexp  gfilenamefsystem/repl/coop-server.scm P   Q    CRrh ]&  OC6gcont  g coop-repl  gfilenamefsystem/repl/coop-server.scm M  O   gnamegstore-repl-contg documentationf4Save the partial continuation CONT within COOP-REPL.CRh]L6   Ch0]U4O>XCXFG@gthunk  )ghandler  )gargs   )gfilenamefsystem/repl/coop-server.scm T  V   V  V   ) gnamegcoop-repl-promptg documentationf2Apply THUNK within a prompt for cooperative REPLs.CR2!h(^]LY4L>"G4L>ZCZFVgfilenamefsystem/repl/coop-server.scm b d   e   ( CnRhhN]L6Fgfilenamefsystem/repl/coop-server.scm f    CkhN]L6Fgfilenamefsystem/repl/coop-server.scm f    Cg*hD][45OL&L " 4L5OO4O>"GVL& L " 4L 5$4  >"G"L& L "4L >"G4 L&L " 4L5>"GX4O>"GLWF<grepl   gstack gmodule  g read-thunk  gx  ; gfilenamefsystem/repl/coop-server.scm \   a  `  ]  $ f  ; f  d g  g  h h  h i  j  j # j  f   k   k    ChS]OCKg coop-repl  gfilenamefsystem/repl/coop-server.scm X   gnamegmake-coop-readerg documentationfReturn a new procedure for reading user input from COOP-REPL. The generated procedure passes the responsibility of reading input to another thread and aborts the cooperative REPL prompt.CRmh(S]445>"G6Kg coop-server  'g coop-repl  'gfilenamefsystem/repl/coop-server.scm m  p  p % q   p  ' r   ' gnameg reader-loopg documentationfRun an unbounded loop that reads an expression for COOP-REPL and stores the expression within COOP-SERVER for later evaluation.CR5RShhN]L6Fgfilenamefsystem/repl/coop-server.scm y    CkhN]L6Fgfilenamefsystem/repl/coop-server.scm y    Cnh]1& " 45OO4O>"GV& " 4545$"45X4O>"G$}" $ &$$[(74 &  " 4 5>"G" 44  5>"G"44  5>"G"44  5>"G"44  5>"G"44  5>"pG"i$^&>$/( 4>"G"""""""""Cg coop-server  gx  gqueue  \ xgop gw  gx  gw  Lgx  Lgw   gw    gx    gw    gfilenamefsystem/repl/coop-server.scm t  y   y E z  \ z  _ {  i {  o |  z y y  }  ~   ~    ~    gnamegpoll-coop-repl-serverg documentationfPoll the cooperative REPL server COOP-SERVER and apply a pending operation if there is one, such as evaluating an expression typed at the REPL prompt. This procedure must be called from the same thread that called spawn-coop-repl-server.C0RhO]LL6Ggfilenamefsystem/repl/coop-server.scm   C h8]454LO>"G45456g coop-repl  5gfilenamefsystem/repl/coop-server.scm       '  - ( 5   5 Chd-13C\gargs gfilenamefsystem/repl/coop-server.scm  Ch]O6g coop-server  gfilenamefsystem/repl/coop-server.scm     gnamegstart-coop-replg documentationf5Start a new cooperative REPL process for COOP-SERVER.CR&h]456g coop-server  g server-socket  gfilenamefsystem/repl/coop-server.scm       gnamegrun-coop-repl-serverg documentationfQStart the cooperative REPL server for COOP-SERVER using the socket SERVER-SOCKET.CR'ehO]LL6Ggfilenamefsystem/repl/coop-server.scm   Ch@-.,3#45454O>"GCg server-socket >g coop-server  >gfilenamefsystem/repl/coop-server.scm  $     !  > gnamegspawn-coop-repl-serverg documentationfCreate and return a new cooperative REPL server object, and spawn a new thread to listen for connections on SERVER-SOCKET. Proper functioning of the REPL server requires that poll-coop-repl-server be called periodically on the returned server object.C/Rmh]L6gclient  gaddr  gfilenamefsystem/repl/coop-server.scm   '   Ch]OCg coop-server  gfilenamefsystem/repl/coop-server.scm   gnamegmake-coop-client-procg documentationfgReturn a new procedure that is used to schedule the creation of a new cooperative REPL for COOP-SERVER.CR(ha]4L56Ygfilenamefsystem/repl/coop-server.scm   2 &  C*hX]L6Pgfilenamefsystem/repl/coop-server.scm     C)hX]L6Pgfilenamefsystem/repl/coop-server.scm      Chd-13C\gargs gfilenamefsystem/repl/coop-server.scm  Ch0] 45$"4 >"G45$"4 >"G45$"4 >"G45$"4 >"G    4 L54 L54 L54 L5Y Y4  LO>"GZZ LO6gt-6cff15a80cd23e5-300 "gt-6cff15a80cd23e5-301 "gt-6cff15a80cd23e5-302  "gt-6cff15a80cd23e5-303  "gfilenamefsystem/repl/coop-server.scm   & 0   0 ChX]LLO6Pgfilenamefsystem/repl/coop-server.scm      Ch@8]4O>"G4>"GO60g coop-server  :gclient  :gfilenamefsystem/repl/coop-server.scm     :   : gnamegstart-repl-clientg documentationfmRun a cooperative REPL for COOP-SERVER within a prompt. All input and output is sent over the socket CLIENT.CRCgm  ,grtd  grtd m gfilenamefsystem/repl/coop-server.scm   $ 1 * h - N 4 =L < A ? C9 M D T J X K m Q t T U X~ Z[ `   ` C6