VimUnDoHUH1v(17?JRwkM <MOV_Mk5_   v Mkmodule.exports = Class;function Class(properties) {5_   v Mk  5_  v Mk 5_  v Mk   5_   v Mo 5_   v Mo ' 5_    v Mo ' 5_   v Mo 'Test.create = function() 5_   v Mp 'Test.create = function() {5_ (  v Mp (  '5_   v Mp )5_    v Mp *  )5_    v Mp +  *5_  v Mp + this._fn = fn5_  v Mp + this._fn = fn;5_ '  v Mp +,Test.create = function(testCase, name, fn) {5_ '  v Mp! +2Test.create = function(testCase, name, function) {5_  v Mp#, +5_   v Mp- -  ,5_  v Mp2 /5_   v MpD 2  15_VMpG if (arguments.length === 1) { fn = arguments[0]; name = fn.name; }5_ VMpI /5_ VMpJ 5_ VMpM 2 if (arguments.length === 1) {5_*VMp_ this._case = testCase; this._name = name; this._function = fn; this._testStack.push(name); try { var args = this._before(); fn.apply({}, args); this._after(); } catch (e) { tracy.simplify(e); this._printTestStack();E console.error(str.indent(e.stack, ' ', this._testStack.length)); console.error(''); } this._testStack.pop();5_VMp` 5_VMpb return5_ VMpb5_! VMpd var test = new Test({5_ "!VMpe test = new Test({5_!#"VMpf = new Test({5_"$#VMpf new Test({5_#%$VMpl _name: name;5_$&%VMp p5_%'&vMp"%Class.prototype.method = function() {5_&('vMp"$Test.prototype.method = function() {5_')(vMp/"5_(*)vMp5_)+*vMp this._case = testCase;5_*,+vMp this._name = name;5_+-,vMp this._function = fn;5_,.-vMp5_-/.vMp5_.0/vMp this._testStack.push(name);5_/10vMp5_021vMp. var args = this._before();5_132vMp.$ var args = this._case._before();5_243(vMp.* var args = this._case.executeBefore();5_354 vMp. this._after();5_465vMp. this.executeAfter();5_576vMp. fn.apply({}, args);5_687 vMp. this.apply({}, args);5_798vMp.# this._function.apply({}, args);5_8:9vMp." this._function.apply(}, args);5_9;:vMp.! this._function.apply(, args);5_:<;##VMp"$ console.error('');!#E console.error(str.indent(e.stack, ' ', this._testStack.length)); " this._printTestStack();!  tracy.simplify(e);5_;=<&#VMp%& this._testStack.pop();5_<>=%#VMp$%5_=?>''+VMqQ&'2MicroTest.prototype._printTestStack = function() {1 this._testStack.forEach(function(testName, i) {7 console.error(str.indent(testName + ':', ' ', i)); });};5_>@? ''VMr (  '5_?A@((VMr 5_@BA ''VMr' this.executeAfter(test);5_ACB''VMr ( (  '5_BDCvMr ( console.log(var);5_CEDvMr console.log(e);5_DFE"vMr!#G //console.error(str.indent(e.stack, ' ', this._testStack.length));5_EGF"vMr!#E console.error(str.indent(e.stack, ' ', this._testStack.length));5_FHG"vMr!#G //console.error(str.indent(e.stack, ' ', this._testStack.length));5_GIHvMr('5_HJI  vMr (5_IKJ!!vMr** )5_JLKvMr * console.log(var);5_KMLvMr  console.log('jojo');5_LNM$2vMr#%)E console.error(str.indent(e.stack, ' ', this._testStack.length));5_MON$7vMr #%)@ console.error(str.indent(e.stack, ' ', this._case.length));5_NPO$7vMs  #%)H console.error(str.indent(e.stack, ' ', this._case.getTestDepth()));5_OQP(vMs1). var args = this._case.executeBefore(test);5_PRQvMs2 )" this._case.executeAfter(test);5_QSRvMsF) _fn: fn5_RTS vMsH) _function fn5_SUT)vMs)(*p())5_TVU)))vMs(*+%Class.prototype.method = function() {5_UWV)))vMs(*+$Test.prototype.method = function() {5_VXW*))vMs)++5_WYX*))vMs)* 5_XZY)))vMs)++ )+*5_Y[Z))vMs , +5_Z\[++vMs - this._errors = []'5_[]\'++vMs'). ')-5_\^]%,,vMt$& //this._printTestStack();5_]_^% ,,vMt$&. this._printTestStack();5_^`_%,,vMu$&. this._case.printTestStack();5__a`%,,vMu$&. this._case.printestStack();5_`ba%,,vMu$&. this._case.printstStack();5_acb%,,vMu$&. this._case.printtStack();5_bdc%,,vMu $&. this._case.printStack();5_ced',,vMu&( //console.error('');5_dfe.,,vMu0/1p..5_egf000vMu/12%Class.prototype.method = function() {5_fhg000vMu/12$Test.prototype.method = function() {5_gih100vMu0225_hji100vMu022 return this.name;5_ikj#00vMu"$ //tracy.simplify(e);5_jlk00vMu25_kml$11vMu#%4 #%35_lnm$22vMu#%4 Error.captureStackTrace();5_mon$,22vMu%&5$&5 $&45_npo%%%vMu$&5 console.log(var);5_oqp%%%vMu$% console.log(e);5_psq%%%vMu$& tracy.simplify(e);5_qtrs$%%vMv,#$/ Error.captureStackTrace(e, this._function);5_sut$$$vMv-#% //tracy.simplify(e);5_tvu$$$vMv.#% tracy.simplify(e);5_uwv'*$$vMv?&(3D console.error(str.indent(e.stack, ' ', this._case.getDepth()));5_vyw'*$$vMv@!&(3. console.error(str.indent(e.stack, ' ')));5_wzxy$$$vM#$ //tracy.simplify(e);5_y{z#$$vM#%3 #%25_z|{$%%vM%&4$&4 $&35_{}|%%%vM"$&4 console.log(var);5_|~}%%vM&45_}~%,,vM%';5_~ %--vM%!<A Error.prepareStackTrace = function(dummyObject, v8StackTrace) {5_$--vM1#$' var v8StackTrace = dummyObject.stack;5_$,,vM2#$& Error.prepareStackTrace = v8Handler;5_1++vM413:5_2++vM413;5_*++vM6)*! var stack = tracy.getTrace();5_***vM6)* console.log(stack);5_)**vM7*+;)+; )+:5_***vM7#)+; console.log(var);5_***vM;$*,< *,;5_#**vMC%"#5_) ))vMM)*<(*< (*;5_)))vMN() console.log(var);5_)))vMO&(*< (*;5_)**vMV(*< console.error('fuck');5_***vMX')* console.log(e.stack);5_)**vMh((*< (*;5_!++vMw) "=  "<5_,,vM!> !=5_"--vM!" console.error('prepare');5_",,vM!" return v8StackTrace;5_"++vM!#= !#<5_ ,,vM!=5_+--vM*+ Error.captureStackTrace(e);5_+,,vM*,=# console.error('fuck', e.stack);5_+,,vM**,=" console.error('fuck', .stack);5_#,,vM+"$> "$=5_,--vM,+->! console.error('fuck', stack);5_#--vM-"$> console.error('fucky');5_#'--vM."$>) console.error('fucky', v8StackTrace);5_--vM* var v8Handler = Error.prepareStackTrace;5_,,vM5_++vM var stack;5_**vM; Error.prepareStackTrace = function(error, v8StackTrace) {5_))vM0 console.error('fucky', v8StackTrace, error);5_((vM stack = v8StackTrace;5_''vM };5_&&vM5_$%%vM#$# console.error('fuck', e.stack);5_$$$vM#$ return;5_$$$vM/#$5_*$$vM)*& Error.prepareStackTrace = v8Handler;5_)$$vM0()5_$$$vM$'2 $&15_%$$vM$&35_'$$vM&(3- console.error(str.indent(e.stack, ' '));5_%$$vM$%- var stack = this._simplifyStack(e.stack);5_$$$vM#%25_$%%vM$&35_'&&vM&'5_(&&vM(*35_*&&vM )* this._errors.push(e);5_$&&vM #%35_$''vM $&45_+((vM *+5_(((vM(*45_&((vM%&- var stack = this._simplifyStack(e.stack);5_)''vM1(*45_*''vM2*,55_(''vM'(5_*''vM)*5_*''vM)* console.error('');5_))''vM(*3+ console.error(str.indent(stack, ' '));5_)-''vM3(*30 console.error(str.indent(stack, ' ') + '');5_&''vM%&5_*&&vM ,/4+-p*-3*,25_,,,vM"+-6%Class.prototype.method = function() {5_,,,vM&+-6"Ts.prototype.method = function() {5_,,,vM'4+-6$Test.prototype.method = function() {5_-,,vM,-/65_-,,vM-,-5_-,,vM-,-5_-,,vM.,.55_,),,vM0+-6,Test.prototype._simplifyStack = function() {5_,-,,vM1-.7,.7 ,.65_---vM25,.7 console.log(var);5_---vM<,- console.log(stack);5_---vM>6,.65_,--vMF,/7 ,.65_-//vMG7,.85_-//vMN8-/9 -/85_.00vMS./9-/9 5_...vMS9-/9 console.log(var);5_-..vMw-/95_.//vMy-/:5_. //vM}-0; -/:5_/11vM.0<5_0 11vM/3< while (l5_/ 33vM.0> var i = 0;5_/ 33vM.0> var i = ;5_133vM02>5_133vM13? 13>5_244vM12 if (5_133vM14? 13>5_255vM125_244vM125_133vM13? 13>5_/44vM./ var i = lines.length;5_/33vM./ while (i--) {5_/22vM./ var line = lines[i];5_/11vM./ 5_/00vM./ }5_.//vM.0;.0:5_/ 00vM.2; for (var i = 0; i < lines; i++5_022vM/1=5_022vM12>02> 02=5_111vM02> console.log(var);5_311vM:23 console.log(lines);5_111vM01 console.log(line);5_011vM02<5_4 22vM35= return stack;5_/22vM.0=# for (var i = 0; i < lines; i++) {5_422vM35= return lines.slice(;5_422vM35=& return lines.slice(0, i).join('\n');5_422vM36=' stack = lines.slice(0, i).join('\n');5_522vM47> .slice(0, i).join('\n');5_622vM69@ 68?5_122vM;02A5_122vM02A 5_1"22vM02# var isTestFunction = line.match5_1"22vM12B02B 02A5_111vM<02B console.log(var);5_1 11vM02B console.log(line);5_/11vM =.0B# for (var i = 1; i < lines; i++) {5_111vM/01 console.error(line);5_111vM102% //var isTestFunction = line.match5_111vM202A# var isTestFunction = line.match5_1511vM815B 13A5_311vM;24D5_1 11vM=?02D5_)22vMv)+E5_*33vMw)*5_ *22vMw,/G+-p*-F*,E5_  ,,,vMy+-I%Class.prototype.method = function() {5_   ,,,vMz+-I$Test.prototype.method = function() {5_   ,,,vM+-I.Test.prototype._getLastFunction = function() {5_   ,/,,vM+-I2Test.prototype._getLastFunctionCall = function() {5_  $,,vM$'J $&I5_ &5..vM%'K7 var lastFunctionCall = this._getLastFunctionCall();5_/..vM.0K5_/..vM@./ 5_...vM-.7Test.prototype._getLastFunctionCall = function(stack) {5_...vM-.};5_...vM -.5_*1&1*1V1M )+2 console.error(str.indent(stack, ' ') + '\n');(*- var stack = this._simplifyStack(e.stack);') this._case.printTestStack();&(%'< var lastFunctionCall = this._getLastFunctionCall(stack);5_*1&1*1V1M A*,H *,G5_+&1*1V1M*,H this._case.5_+&1*1V1M"B*,H this._case.printException();5_+&1*1V1M7*,H$ this._case.printException(test);5_*"&1*1V1M?*,H5_+&1*1V1M@C*,/ //var stack = this._simplifyStack(e.stack);5_,&1*1V1MD+-I% this._case.printException(stack);5_# &1*1V1M"$I } catch (e) {5_$&1*1V1M#%I this._errors.push(e);5_+%&1*1V1ME*,I- var stack = this._simplifyStack(e.stack);5_ &1*1V1MNFvar tracy = require('tracy');5_! %%1)1V1M$%> //var lastFunctionCall = this._getLastFunctionCall(stack);5_ "!%%1(1V1M$%5_!#"%%1'1V1M$%" //this._case.printTestStack();5_"$#%%1&1V1M$%/ //var stack = this._simplifyStack(e.stack);5_#%$%%1%1V1M$%4 //console.error(str.indent(stack, ' ') + '\n');5_$&%&%1%1V1M%'C, this._case.printException(error, stack);5_%'&&%1%1V1MG%'C' this._case.printException(, stack);5_&('%1%1V1M"D !C5_')( '1'1V1M#E5_(*)!)1)1V1MH "G5_)+* )1)1V1MI!G# if (!(args instanceof Array)) {5_*,+,)1)1V1M{.1I-/p,/H,.G5_+-,...vM|-/K%Class.prototype.method = function() {5_,.-...vM}-/K$Test.prototype.method = function() {5_-/.0.0VM04K5_.0/1.0VM02N5_/202.0VM13O%Test.prototype._before = function() {5_03124.0VM35P};46P46O5_2430.0VM25Q13p03P02O5_354222vM13S%Class.prototype.method = function() {5_465222vM13S$Test.prototype.method = function() {5_576822vM:=U9;p8;T8:S5_687:::vM9;W%Class.prototype.method = function() {5_798:::vM9;W$Test.prototype.method = function() {5_8:9:'::vM9;W*Test.prototype._handleError = function() {5_9;: ::vM X W5_:<;<<vM th5_;=<;;vMX5_<>=;;vMX this._before();5_=?> ;;vM Y  X5_>@?<<vM!Z !Y5_?A@!!.VM ! try {. var args = this._case.executeBefore(this);+ if (args && !(args instanceof Array)) { args = [args]; }% this._function.apply(this, args);" this._case.executeAfter(this); } catch (error) { this._errors.push(error);1 var stack = this._simplifyStack(error.stack);% this._case.printException(stack); }5_@BA#!!VM#2L5_ACB**+VM)*% this._function.apply(this, args);" this._case.executeAfter(this);5_BDC4**VM47X5_CED++.VM*+ this._errors.push(error);1 var stack = this._simplifyStack(error.stack);% this._case.printException(stack);5_DFE9++VM9>V5_EGF::=VM9>Z this._errors.push(error);1 var stack = this._simplifyStack(error.stack);% this._case.printException(stack);5_FHG>:=VM=>5_GIH;:=VM:;5_HJI;:<VM:<X5_IKJ):=VM()5_JLK)9<VM)+Y )+X5_KML*:=VM)+Y this._handleError()5_LNM*:=VM)+Y this._handleError(error)5_MON,:=VM+,5_NPO.$+VM.7X5_OQP8$+VM78% this._function.apply(this, args);5_P\Q030VM/1[/0. var args = this._case.executeBefore(this);+ if (args && !(args instanceof Array)) { args = [args]; }5_Q]Y\500$VM45" this._case.executeAfter(this);5_\^]700$VM79[5_]_^400$VM345_^`_73/VM7=[5__a`73/VM67" this._case.executeAfter(this);5_`ba83/VM8:_5_acb83/VM78% this._function.apply(this, args);5_bdc<3/VM;<5_ced.#3/VM -/^&Test.prototype._execute = function() {5_die3/VM O ^ this._execute();5_ejgi&&(VM`%&+ if (args && !(args instanceof Array)) { args = [args]; }5_ikj(&&VMa(,[5_jnk)&&VMb(*^5_koln**,VMg)-_+ if (args && !(args instanceof Array)) { args = [args]; }5_npo,*,VMh,.` ,._5_oqp,*,VMjP,.`5_prq *,VMĚ "b  "a5_qsr!+-VMĞQ "b this._case.reset():5_rts!+-VMĢR ! this._case.reset();5_sut$$.VM#$  try {. var args = this._case.executeBefore(this); } catch (error) { this._handleError(error); }) if (args && !(args instanceof Array)) { args = [args]; } return args;5_tvu $$VM ,V5_uwv!//VM "a5_vxw/00VM./%Test.prototype._before = function() {5_wyx///VM./};5_xzy///VM./5_y{z(*(VM'() if (args && !(args instanceof Array)) { args = [args]; }5_z|{#((VM#'\5_{}|$$&VM#'_) if (args && !(args instanceof Array)) { args = [args]; }5_|~}$&VM this._execute(args);5_}~#%VM this._after();5_~"$VM var args = this._before();5_!#VM5_- "VM,-% this._function.apply(this, args);5_" "VM"$Z5_5 "VM45" this._case.executeAfter(this);5_# "VM#%Z5_$ "VM#%[5_$ "VM#$5_# "VM"$[5_..;VM-.*Test.prototype._execute = function(args) { try { } catch (error) { this._handleError(error); }};$Test.prototype._after = function() { try { } catch (error) { this._handleError(error); }};5_)..VMV()5_;MOT;<M ;=N i--;5_<MO;=N i-;5_<MO;=N i;5_<MOU;=N i++;5_kmnl**,VMc)-_) if (args && !(args instanceof Array)) { args = [args]; }5_lm+*-VMd+,_ +-` return 5_ehfig777vM4N67^ 68_ console.error(var);78_5_gh777vM5M68_ console.error('after');5_egfE3/VMRKEF^ EG_ return stack;5_QZR\Y500$VM465_Y[Z500$VM475_Z[600$VM67Y};5_QTYR400$VM355_RUST43/VM355_TVU73/VM78Z try {% this._function.apply(this, args); } catch (error) { this._handleError(error); }5_UXV788VM685_VWX88<VM7978] try {% this._function.apply(this, args); } catch (error) { this._handleError(error); }5_VXW88<VM7978] try {% this._function.apply(this, args); } catch (error) { this._handleError(error); }5_RTS400$VM35[ this._case.executeAfter(this);5_0214.0VM45O46Pp5_311vM>34B 35C return;5_422vM35= return lines .slice(0, i).join('\n');5_,,,vM$+-5_,,,vM$+-5_,,,vM$+-5_wyx&$$vMvQ%'3 this._case.();5_qsr$%%vMv#%4 Error.captureStackTrace(e);5_VMpT+5