VimUnDo#0gy7ŚzR::VP V 9?function valuefn(value) { return function fn() { return value}}5_ .9::VP V-/9= self.tail = typeof(tail) === 'function' ? once(rest) : tail5_0 .E::VP V-/9E self.tail = typeof(tail) === 'function' ? once(rest) : valuefn(tail5_ 1!0.9::VP W-09F self.tail = typeof(tail) === 'function' ? once(rest) : valuefn(tail)5_021 /;;VP W  "; ":5_132!"<<VP W ";"Stream.prototype.tail = function()5_243!$<<VP W #;%Stream.prototype.tail = function() {}5_354! ==VP W "<$Stream.prototype.tail = function() {5_465!%==VP W!#= !#<5_576">>VP W$!#= return this.tail5_6870>>VP W402> 02=5_798??VP W=?>5_8:9@@VP WA?function tail()5_9;:@@VP WB?function tail(stream)5_:<;@@VP WB ?function tail(stream) {}5_;=<AAVP WC!@5_<>=BBVP WD B  A5_=?>CCVP WX B stream.tailValue =5_>@?CCVP We B stream.tailValue !== tail5_?A@.CCVP Wl!B. stream.tailValue !== tail ? stream.tailValue5_@BA <DDVP W!C< : stream.tailValue = tailPromise5_ACB =DDVP W!C> : stream.tailValue = tailPromise()5_BDC DDVP W!CD : stream.tailValue = tailPromise(stream)5_CED EDDVP W!CE : (stream.tailValue = tailPromise(stream)5_DFE 2DDVP W!CF : (stream.tailValue = tailPromise(stream))5_EGF DDVP W!CM : (stream.tailValue = stream.tailPromise(stream))5_FHG CDDVP W!CL : stream.tailValue = stream.tailPromise(stream))5_GIH EDDVP W!CE : stream.tailValue = stream.rest(stream))5_HJI.DDVP W C. stream.tailValue !== tail ? stream.tailValue5_IKJDDVP W C% stream.tailValue !== tail ? stream.5_JLK DDVP W C stream.tail !== tail ? stream.5_KML DDVP W!CD : stream.tailValue = stream.rest(stream)5_LNM )DDVP W!C? : stream.tailValue = stream.rest(stream)5_MON DDVP W!C: : stream.tail = stream.rest(stream)5_NPO ;DDVP W!C; : (stream.tail = stream.rest(stream)5_OQPDDVP W C$ stream.tail !== tail ? stream.tail5_PRQ DDVP W!C< : (stream.tail = stream.rest(stream))5_QSR&DDVP W%&)Stream.prototype.tail = function tail() {5_RTS&CCVP W%& return this.tailValue5_SUT&BBVP W%&}5_TVU3AAVP W24@ self.5_UWV3AAVP W24@ self.tail = typeof()5_VXW3AAVP W24@ self.tail = typeof(tail)5_WYX3 AAVP W24@! self.tail = typeof(tail) === ''5_XZY3)AAVP W24@) self.tail = typeof(tail) === 'function'5_Y[Z0AAVP W/1@function stream(head, tail) {5_Z\[0AAVP X/1@function stream(head, rest) {5_[]\2AAVP X13@ self.head = head5_\^]3AAVP X 24@0 self.tail = typeof(tail) === 'function' ? tail5_]_^31AAVP X24@1 self.tail = typeof(first) === 'function' ? tail5_^`_37AAVP X35A 35@5__a`4BBVP X%35A self.rest = typeof()5_`ba4BBVP X&35A self.rest = typeof(first)5_acb4!BBVP X(35A" self.rest = typeof(first) === ''5_bdc4*BBVP X*35A* self.rest = typeof(first) === 'function'5_ced2BBVP X224B 24A5_dfe3CCVP X324B if ()5_egf3 CCVP X524B if (typeof())5_fhg3CCVP X724B if (typeof(rest))5_gih3CCVP X924B if (typeof(rest) === '')5_hji3 CCVP X:24B" if (typeof(rest) === 'function')5_ikj3"CCVP X;24B" if (typeof(rest) === 'function')5_jlk3$CCVP X<25B% if (typeof(rest) === 'function') {}5_kml3DDVP XK35D 35C5_lnm3$EEVP XT24D$ if (typeof(rest) === 'function') {5_mon5EEVP XV45 }5_nqo4DDVP XV47D 46C5_orpq6FFVP X^57E self5_qsr6FFVP Xb57E self.tail = tail5_rts2FFVP Xj24F 24E5_sut444 v P Xo35F" if (typeof(rest) === 'function')5_tvu344 v P Xp24F self[]5_uwv3&44 v P Xt24F( self[typeof(rest) === 'function' ? '']5_vxw3+44 v P Xv24F, self[typeof(rest) === 'function' ? 'rest']5_wyx3/44 v P Xy24F1 self[typeof(rest) === 'function' ? 'rest' : '']5_xzy3544 v P Xz24F5 self[typeof(rest) === 'function' ? 'rest' : 'tail']5_y{z444 v P X}34 if ()5_z|{444 v P X}34 self.rest = rest5_{}|444 v P X~34 else5_|~}444 v P X~34 self.tail = rest5_}~%44 v P X%'C%'B5_~555 v P X458 self.tail = typeof(first) === 'function' ? rest : tail5_555 v P X45- self.rest = typeof(first) === 'function' ? 5_555 v P X458 self.tail = typeof(tail) === 'function' ? once(rest) :5_5,55 v P X459 valuefn(tail)5_455 v P X46?5_66 v P X@function valuefn(value) { return function fn() { return value} }5_55 v P X5_44 v P Xfunction once(f) {5_33 v P X var cache, cached = false5_22 v P X return function shot() {5_11 v P X if (cached) return cache5_00 v P X$ cache = f.apply(this, arguments)5_// v P X cached = true5_.. v P X return cache5_-- v P X }5_,, v P X}5_++ v P X5_"** v P X!#4, return when(stream.rest(stream), identity)5_ 0** v P [b 40 first = sequence.first, rest = sequence.rest5_** v P [4function Stream() {}5_++ v P [6 55_,, v P [7 65_-- v P [7function Stream() {5_+++;v;P [*,7< self[typeof(rest) === 'function' ? 'rest' : 'tail'] = rest5_++;v;P [7 this[]5_B++;v;P [7B this[self[typeof(rest) === 'function' ? 'rest' : 'tail'] = rest]5_ ++;v;P [7A this[self[typeof(rest) === 'function' ? 'rest' : 'tail'] = rest5_++;v;P [75_* ,,;v;P [)+8 var self = new Stream()5_),,;v;P [(*8function stream(first, rest) {5_* ,,;v;P [)+8 new Stream()5_+,,;v;P [*+ self.head = first5_+++;v;P [*+ 5_+++;v;P [*+5_+++;v;P [*+ return self5_++;v;P \5 45_,,;v;P \ 5function Stream(head, rest) {5_*,,;v;P \"*,6 *,55_+ --;v;P \%*,6 typeof[]5_+--;v;P \'*,6 typeof[rest]5_+--;v;P \)*,6 typeof[rest] === ''5_+--;v;P \**,6 typeof[rest] === 'function'5_+$--;v;P \0*,6* typeof[rest] === 'function' ? new Stream5_+%--;v;P \3*,6+ typeof[rest] === 'function' ? new (Stream5_+*--;v;P \4*,6* typeof[rest] === 'function' ? new Stream5_+--;v;P \8*,6, typeof[rest] === 'function' ? new Stream()5_+7--;v;P \D*,68 var value = typeof[rest] === 'function' ? new Stream()5_+B--;v;P \N+-6 : new Stream*-6B var value = typeof[rest] === 'function' ? new Stream(head, tail)5_,7..;v;P \]+-78 : new Stream()5_,,..;v;P \{+-7B : new Stream(head, rest)5_-..;v;P \},.7 new Stream(head, rest)5_-..;v;P \!-/8 -/75_//;v;P \"< this[typeof(rest) === 'function' ? 'rest' : 'tail'] = rest5_..;v;P \7function Stream(head) {5_..;v;P \8 75_//;v;P \985_00;v;P \Stream.prototype5_//;v;P \985_00;v;P \:95_11;v;P \ :Stream.prototype.5_11;v;P \ :Stream.prototype.rest = 5_!11;v;P \ :"Stream.prototype.rest = function()5_(11;v;P \ :(Stream.prototype.rest = function(stream)5_*11;v;P \# :+Stream.prototype.rest = function(stream) {}5_11;v;P \$: this.rest = rest5_11;v;P \%: this.tail = tail5_-A11;v;P \,.:D var value = typeof[rest] === 'function' ? new Stream(head, tail) :5_.=11;v;P \&-/:B new Stream(head, rest)5_- 11;v;P ],.:J var value = typeof[rest] === 'function' ? new Stream(head, tail, null) :5_/11;v;P ]./ value.rest = rest5_/00;v;P ]./ return value5_.,//;v;P ]'-/8H new Stream(head, null, rest)5_-<//;v;P ],.8E return typeof[rest] === 'function' ? new Stream(head, tail, null) :5_-B//;v;P ],.8E return typeof[rest] === 'function' ? new Stream(head, null, null) :5_.B//;v;P ](-/8C new Stream(head, null, rest)5_-//;v;P ]",.8E return typeof[rest] === 'function' ? new Stream(head, null, rest) :5_-//;v;P ]#1,.8E return typeof(rest] === 'function' ? new Stream(head, null, rest) :5_//;v;P a)2%Stream.prototype.constructor = Stream5_..;v;P a* this.tail = tail || this.tail5_--;v;P a+36 this.rest = rest || this.rest5_*--;v;P a3*,7 *,65_+..;v;P a7*,7 return new Stream()5_,..;v;P a>+,E return typeof(rest) === 'function' ? new Stream(head, null, rest) :5_,'--;v;P a>4+,= new Stream(head, rest)5_&,,;v;P aB&(55_(--;v;P aG')6% return when(tail(stream), identity)5_()--;v;P a]')6@ return when(stream.tail || stream.tail tail(stream), identity)5_(8--;v;P a`')6B return when(stream.tail || stream.tail = tail(stream), identity)5_(7--;v;P ad')6B return when(stream.tail || stream.tail = stream.rest() identity)5_(<--;v;P af')6F return when(stream.tail || stream.tail = stream.rest(tail) identity)5_(--;v;P ak')6G return when(stream.tail || stream.tail = stream.rest(tail), identity)5_(H--;v;P am')6H return when(stream.tail || (stream.tail = stream.rest(tail), identity)5_(=--;v;P ao')6H return when(stream.tail || (stream.tail = stream.rest(tail), identity)5_'--;v;P ar5&'5_'<,,;v;P au8&(5I return when(stream.tail || (stream.tail = stream.rest(tail)), identity)5_  vP n: 57 isEmpty = sequence.isEmpty, count = sequence.count,5_5 vP p4exports.stream = stream5_5 vP p;4exports.iterate = stream5_ vP p=5#function Stream(head, tail, rest) {5_ vP pfunction tail(stream) {5_ vP p+ return stream.tail !== tail ? stream.tail5_ vP pC : (stream.tail = stream.rest(stream))5_ vP p}5_ vP p>5_ vP p?Stream.prototype.tail = tail5_ vP p@?Stream.prototype.rest = function(stream) { return stream.tail }5_ vP q@A. this.head = first5_ < vP qB!.I return when(stream.tail || (stream.tail = stream.rest(rest)), identity)5_++ +vP q*,.% return iterate(f(first(self)), f)5_++ +vP q*,. return iterate(, f)5_++ +vP qC*,. return iterate(f)5_#+ +vP q/.5_, ,vP q!count.define(Stream, function() {5_+ +vP q return Infinity5_* *vP q})5_) )vP q'first.define(Stream, function(stream) {5_( (vP q return when(stream, head)5_' 'vP qE})5_)& &vP r*,function repeat))5_+& &vP r*function repeat()5_+& &vP r*,function repeat(value)5_+& &vP r*function repeat(value) {}5_+& &vP r+-- +-,5_,& &vP r+-- return stream()5_,!& &vP r+--" return stream(value, function())5_,#& &vP rF+--% return stream(value, function() {})5_ -& &vP rH--5_   vP .exports.Stream = Stream5_  vP I."Stream.prototype.length = Infinity5_  P@.K return when(stream.tail || (stream.tail = stream.rest(stream)), identity)5_EP@.F return stream.tail || (stream.tail = stream.rest(stream)), identity)5_<P@!J.< return stream.tail || (stream.tail = stream.rest(stream)))5_P@)-var eventuals = require('eventual/eventual'),5_P@*O defer = eventuals.defer, deliver = eventuals.deliver, when = eventuals.when5_P@*K5_ P@,M 5_ P@g ,function head(stream) { return stream.head }5_ P@gN )function identity(value) { return value }5_P@lO5_vPR*P('5_!vPRO1 while (!isEmpty(tail)) {5_!vPRR1 while (tail)) {5_!vPRUR1 while (tail && count()) {5_vPR`1 &List.prototype.toString = function() { var value = '', tail = this; while (tail && count(tail)) {% value = value + ' ' + first(tail) tail = rest(tail) }$ return '(' + value.substr(1) + ')'}5_vPRa5_vPRaS5_!vPRJ1 while (tail)) {5_  P@.5_  vP ./l/5_ .& &vP sM./.0function append/1function append()5_0& &vP sQ/1function append(value)5_0& &vP sR/1function append(value) {}5_ 0& &vP sS/1function append(value) {}5_ 0& &vP sV011 022 return 5_#,,;v;P jb"$55_//;v;P `\,8 this.head = head5_//;v;P `-8function Stream(head, rest) {5_..;v;P `.5_..;v;P `/7 this.rest = rest5_,B..;v;P \c+-7C : new Stream(head, rest);5_0** v P [/14& return count(value, function(self) {5_oqp3"FFVP X[24E% if (typeof(rest) === 'function') {}5_ "0!';;VP V'(9 '): return typeof()5_!#"(;;VP V'): return typeof(stream.tail)5_"$#(;;VP V'):# return typeof(stream.tail) === ''5_#%$(";;VP V'):+ return typeof(stream.tail) === 'function'5_$&%(+)+) v P V'):. return typeof(stream.tail) === 'function' ? 5_%'&) )+) v P V(*: return 5_&('(.)+) v P V'):Q return typeof(stream.tail) === 'function' ? when(stream.rest(stream), identity)5_')(( )+) v P V'):U var tail = typeof(stream.tail) === 'function' ? when(stream.rest(stream), identity)5_(*)(7)+) v P V'):P var tail = typeof(stream.tail) === 'function' ? stream.rest(stream), identity)5_)+*(P)+) v P V'):D var tail = typeof(stream.tail) === 'function' ? stream.rest(stream5_*,+(=)+) v P V'):D var tail = typeof(stream.tail) === 'function' ? stream.tail(stream5_+-,(D*+* v P V'):G var tail = typeof(stream.tail) === 'function' ? stream.tail(stream) := stream.tail5_,.-* *+* v P V)+; return when()5_-/.**+* v P V)+; return when(tail, identity)5_./0F*+* v P V/1; self.tail = typeof(tail5