From b840f1697d7c2f02117a032810cc88812a3c2d37 Mon Sep 17 00:00:00 2001 From: Peter Ehrlich Date: Thu, 17 Apr 2014 01:12:35 -0700 Subject: [PATCH] Update examples --- README.md | 2 +- build/leap.rigged-hand-0.1.0.js | 6 +- build/leap.rigged-hand-0.1.0.min.js | 4 +- examples/advanced.coffee | 15 +- examples/advanced.js | 14 +- examples/confidence2-49fps.json.lz | 1 + examples/lib/leap-0.4.3-disconnect.js | 7278 ----------------------- examples/lib/leap-plugins-0.1.4-pre.js | 288 - examples/lib/leap-skeleton-master.js | 7456 ------------------------ index.html | 8 +- quickstart.html | 7 +- 11 files changed, 27 insertions(+), 15052 deletions(-) create mode 100644 examples/confidence2-49fps.json.lz delete mode 100644 examples/lib/leap-0.4.3-disconnect.js delete mode 100644 examples/lib/leap-plugins-0.1.4-pre.js delete mode 100644 examples/lib/leap-skeleton-master.js diff --git a/README.md b/README.md index aceaedb..d8befa5 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ Requires LeapJS Skeletal 0.4.2 or greater with LeapJS-Plugins 0.1.3 or greater. - Live Demo: [http://leapmotion.github.io/leapjs-rigged-hand/](http://leapmotion.github.io/leapjs-rigged-hand/) - If you don't have a Leap, automatic mode is available. Ths JSON frame stream is almost 4mb, so give it a moment to load - and then make sure you have the page in focus for playback. http://leapmotion.github.io/rigged-hand/?spy=1 + and then make sure you have the page in focus for playback. http://leapmotion.github.io/rigged-hand/?playback=1 ![hands](https://f.cloud.github.com/assets/407497/2405446/5e7ee120-aa50-11e3-8ac0-579b316efc04.png) diff --git a/build/leap.rigged-hand-0.1.0.js b/build/leap.rigged-hand-0.1.0.js index 1545904..2f12cd3 100644 --- a/build/leap.rigged-hand-0.1.0.js +++ b/build/leap.rigged-hand-0.1.0.js @@ -1,5 +1,5 @@ /* - * LeapJS Rigged Hand - v0.1.0 - 2014-04-01 + * LeapJS Rigged Hand - v0.1.0 - 2014-04-17 * http://github.com/leapmotion/leapjs-rigged-hand/ * * Copyright 2014 LeapMotion, Inc @@ -225,7 +225,7 @@ var _sortBy = function (obj, iterator, context) { }; } - if (!THREE.Quaternion.prototype.positionFromWorld) { + if (!THREE.Bone.prototype.positionFromWorld) { THREE.Bone.prototype.positionFromWorld = function(eye, target) { var angle, directionDotParentDirection; directionDotParentDirection = this.worldDirection.dot(this.parent.worldDirection); @@ -280,7 +280,7 @@ var _sortBy = function (obj, iterator, context) { this.use('handHold'); this.use('handEntry'); this.use('versionCheck', { - requiredProtocolVerion: 6 + requiredProtocolVersion: 6 }); scope.offset || (scope.offset = new THREE.Vector3(0, -10, 0)); scope.scale || (scope.scale = 1); diff --git a/build/leap.rigged-hand-0.1.0.min.js b/build/leap.rigged-hand-0.1.0.min.js index cb135c3..3f62d36 100644 --- a/build/leap.rigged-hand-0.1.0.min.js +++ b/build/leap.rigged-hand-0.1.0.min.js @@ -1,5 +1,5 @@ /* - * LeapJS Rigged Hand - v0.1.0 - 2014-04-01 + * LeapJS Rigged Hand - v0.1.0 - 2014-04-17 * http://github.com/leapmotion/leapjs-rigged-hand/ * * Copyright 2014 LeapMotion, Inc @@ -19,4 +19,4 @@ */ (function(){var a={};a.left={metadata:{formatVersion:3.1,generatedBy:"Blender 2.65 Exporter",vertices:2410,faces:4814,normals:2410,colors:0,uvs:[2607],materials:1,morphTargets:0,bones:21},scale:1,materials:[{DbgColor:15658734,DbgIndex:0,DbgName:"blinn4.001",blending:"NormalBlending",colorAmbient:[.32000000953674324,.32000000953674324,.32000000953674324],colorDiffuse:[.32000000953674324,.32000000953674324,.32000000953674324],colorSpecular:[.25,.25,.25],depthTest:!0,depthWrite:!0,shading:"Lambert",specularCoef:6,transparency:1,transparent:!1,vertexColors:!1}],vertices:[1.22942,.774977,-3.35185,1.42609,-.478233,-3.40355,.84844,-.88444,-3.36849,.030257,-.962191,-3.28528,-.661126,-.559468,-3.18423,-.979384,.0165074,-3.17513,-.783917,.640197,-3.20108,-.214468,1.04977,-3.27878,1.20734,.895485,-2.52609,1.65798,.547995,-2.46182,1.47008,-.375558,-2.759,.961504,-.785808,-2.70927,.084305,-.947828,-2.65088,-.667864,-.560589,-2.6019,-.980828,.0134533,-2.49324,-.790878,.59214,-2.4822,-.24055,1.01467,-2.52929,.50347,1.07132,-2.53758,1.71938,.154861,-2.38388,1.62485,.15754,-3.31741,1.49269,-.329401,-2.12486,1.05279,-.72032,-2.29968,-.626099,-.5634,-2.13737,-1.03598,.0773312,-2.02205,-.849987,.620173,-1.94671,-.316683,.993881,-1.93821,.463259,1.05811,-1.91527,1.16931,.867444,-1.8998,1.63501,.534232,-1.9029,1.68195,.0898902,-1.92909,1.1505,.817051,-1.25583,.417646,1.03868,-1.26761,-.44361,.92487,-1.13234,-1.16978,.734792,-1.28244,-1.44651,.0970132,-1.6801,-1.22266,-.519207,-1.84092,1.4515,-.858763,-1.57016,1.79794,-.0443058,-1.38015,1.6167,.397453,-1.32328,1.10273,.602236,-.0132909,.361562,.852108,.0454471,-.779688,.84978,-.280164,1.8055,.133081,-.014,1.68316,.296807,-.771195,1.93957,-.105605,-.793737,1.97884,-.133131,-.254207,1.99737,-.526043,-.643128,.723184,.768218,-.0477939,-.371789,.863113,-.144415,.009133,.894026,-.0806449,.380684,.903151,-.279562,.419901,.973566,-.709003,-.138103,.957677,-.585179,-1.30092,.853238,-.503621,-1.74575,.627006,-.834033,-1.99449,.0597741,-1.11887,-1.8987,-.577716,-1.41375,1.10305,.698179,-.552823,1.48053,.409184,-.0796719,1.75842,.187767,-.325438,-1.83132,.124708,.985458,-2.06622,.462531,-.140945,-1.78832,.604237,.271111,-1.90565,.140236,1.00746,-.879512,.460233,2.11825,-.556636,.484935,2.22159,.371485,.3921,2.27455,.721269,.319936,2.22078,1.55441,-.0348792,1.92832,1.89561,-.135385,1.82487,-1.8183,-.168175,1.84766,-1.61989,.595787,.660359,1.77609,-.48113,-1.44932,1.64694,-.984263,-.837581,1.69258,-1.04764,-.102766,2.03486,-.711072,.0914369,2.06383,-.307631,.292218,1.83823,.0421769,.428186,1.48848,.319129,.486727,1.10504,.50879,.511268,.72429,.658209,.526606,.362125,.789891,.532683,-.038213,.810546,.475768,-.744307,.762936,.33816,-.405338,.786639,.411416,-.042304,-.933402,-2.33476,.480255,-1.16511,-.958961,.232221,-1.03825,-1.78434,-1.04406,-1.08256,-.123793,-1.30471,-1.156,-.541573,-1.83478,-1.02279,-.806632,-2.27408,-.626755,-.734611,-2.32803,-.020632,-.444754,-1.45447,-.488005,1.05414,-1.43952,-.498769,.988666,-1.48384,-.486603,.918845,-1.9105,.179526,.841472,-2.43211,-.703331,-.115764,-2.559,-.105507,.0818138,-2.31125,.321279,.344503,-2.08963,.399771,.614748,-2.0193,-1.05131,-.149889,-1.5832,-1.12316,-.0771712,-1.36092,-.889779,.513836,-1.38383,-1.06425,.1258,-1.12801,-.889652,.383686,-1.1325,.81318,.254145,-2.73911,-.182152,.595343,-2.56131,-.759563,.392296,-2.13558,-1.00941,.372311,-1.73779,-1.00764,.410339,-1.58149,-.864125,.772187,-1.52212,-.491431,1.20036,-1.90997,.0423589,1.17593,-2.32232,.262535,.846963,-2.35828,.100718,1.30711,-2.75048,-.319659,1.13106,-2.59177,-.834999,1.00448,-2.20459,-.987852,.966227,-1.94259,-.956697,.970723,-1.7294,-.84853,1.11475,-1.626,-.553276,1.35409,-1.95669,-.0950051,1.42092,-2.41256,-.0593152,1.77288,-2.75292,-.467018,1.66755,-2.06431,-1.04587,1.81977,-1.91412,-.939315,1.84203,-1.76947,-.759853,1.83279,-1.96222,-.218178,1.9435,-1.37206,.394417,2.39199,-.879072,.313302,2.50667,-.644284,.270488,2.59602,.404846,.21775,2.65398,.657597,.215334,2.61886,1.17767,.0709167,2.48949,1.51028,-.235533,2.28854,1.74537,-.205238,2.25361,-1.75359,.0549517,2.25939,-1.80226,-.264984,2.24014,-1.57952,-.655591,2.32579,-.982862,-.813792,2.52252,-.33398,-.904936,2.55363,.336928,-.948953,2.62459,.909189,-1.10469,2.48711,1.41565,-1.0653,2.40701,1.86531,-1.10132,2.2628,2.20032,-.660823,2.5575,2.21332,-.636785,2.14186,2.00934,-.262352,2.20563,2.17728,-.443265,1.80724,2.16097,-.425936,2.1717,1.85059,-.287616,2.60541,2.10646,-.427438,2.55666,1.3294,-.0601133,2.42008,.961223,.181866,2.53719,1.17297,.166145,2.14483,1.14287,-.0129853,2.8225,1.33439,-.189649,2.76575,.861335,.105449,2.87753,.162312,.369491,2.7103,-.38266,.382315,2.68076,-.099417,.542163,2.37078,-.114612,.340517,3.04855,.203723,.24153,3.04584,-.408284,.266578,3.02279,.392088,-.00796136,2.99884,.531574,-.00135536,2.97933,1.40136,-.477836,2.65638,1.55557,-.423699,2.68643,-.863875,.0849457,2.82717,-1.12039,.363061,2.43156,-1.58015,.261082,2.32351,-1.34926,.418515,2.03851,-1.06266,.278948,2.73615,-1.35856,.328638,2.69513,-1.63958,.215928,2.6732,-1.81606,.0112527,2.6674,-1.83532,-.304438,2.67324,-1.54786,-.624512,2.73402,-.677855,-.689876,3.01918,-.264284,-.829032,2.98731,.243652,-.802147,3.07349,.55573,-.894801,3.05241,.956952,-1.02707,2.90814,1.30875,-.943993,2.84106,1.53641,-.966477,2.78754,-.0636,.230695,4.19669,1.01615,-.0465454,3.78029,2.04416,-.418419,3.37135,-1.38973,.248548,3.8604,-2.42132,-.12197,2.21437,-2.78333,-.545044,2.13597,-2.66868,-.936679,1.79044,-2.76439,-.507149,1.94127,-2.42978,-.104843,2.01877,-1.82476,-.746919,2.25758,-1.93359,-.986593,2.20639,-2.0816,-1.10433,2.17732,-2.31668,-1.17607,2.17851,-2.07386,-1.06547,1.96161,-2.23881,-1.08639,1.73793,-2.03295,-1.00135,1.54391,-1.87636,-.904421,1.59166,-2.81103,-.571444,2.36978,-2.42111,-.146353,2.43395,-1.93986,-.320252,2.34525,-1.93088,-.96267,1.98448,-2.68244,-1.05394,2.23121,-2.83926,-.570363,2.79685,-2.47622,-.202017,2.8288,-2.03333,-.299554,2.76106,-1.8695,-.663658,2.68472,-1.93276,-.958531,2.62776,-2.13701,-1.14437,2.60472,-2.44111,-1.2154,2.63731,-2.78624,-1.04589,2.69871,-2.85185,-.586393,3.37123,-2.55462,-.290396,3.41953,-2.18948,-.311912,3.30821,-2.0114,-.550707,3.20487,-2.04397,-.84669,3.17646,-2.26563,-1.06291,3.18025,-2.57325,-1.1181,3.17482,-2.81335,-.937501,3.25145,-2.54445,-.467101,3.78268,-2.23656,-.448068,3.62798,-2.79085,-.704479,3.66002,-2.63816,-.919593,3.59445,-2.21613,-.694805,3.59736,-2.42584,-.798862,3.678,-.43041,.156314,4.16121,.25932,.0589335,4.14926,.701913,-.0568594,3.79963,1.26546,-.248296,3.77109,1.76274,-.356844,3.39,2.17711,-.62114,3.35244,-1.0691,.145136,3.84506,-1.68298,.135269,3.82911,-1.04219,-.682992,2.91124,.424039,-.480762,3.26046,.453211,-.449471,3.2466,1.45809,-.718578,2.84715,1.38188,-.694449,2.83002,-1.79396,-.37291,3.78683,-1.50484,-.635578,3.78245,-1.09605,-.631487,3.78544,-.866483,-.38621,3.79856,-.80134,-.316815,3.08976,1.34519,-.461585,3.7963,1.22071,-.824593,3.82143,1.31573,-.668662,3.81957,.385831,-.497551,3.969,.192251,-.716094,3.93579,-.20047,-.763749,3.92344,-.491208,-.574751,3.95373,-.59218,-.373379,3.97662,-.717937,-.308169,3.08562,.958273,-.949713,3.82509,.644526,-.871635,3.83064,.493042,-.594616,3.82738,2.10911,-.890241,3.35754,1.84373,-1.02893,3.38788,1.596,-.958094,3.43192,1.47773,-.804259,3.43249,.703178,-.0240194,3.60675,1.03557,-.0329734,3.56587,1.28757,-.244332,3.58564,1.01297,-.22453,5.27507,1.24212,-.347317,5.21138,1.25675,-.702883,4.94913,1.15756,-.819468,4.91446,.963526,-.896373,4.9145,.726477,-.843118,4.92049,.574489,-.648011,4.98228,.747884,-.260892,5.19523,.994792,-.391668,6.56878,.732009,-.424572,6.41324,1.30595,-.5182,5.0774,1.23495,-.698712,6.39997,1.14108,-.820245,6.37626,.942517,-.876231,6.39098,.721037,-.779504,6.37175,.655042,-.591945,6.36504,.975371,-.631728,6.62169,1.78136,-.451495,4.13577,2.04154,-.524065,4.11481,2.09983,-.888213,4.08995,1.8889,-1.05357,4.10207,1.63533,-.995028,4.12311,1.51868,-.848751,4.14051,1.76642,-.625908,4.88027,1.98911,-.683837,4.83673,2.05905,-.769018,4.74587,1.61621,-.695055,4.8007,2.01598,-.87315,4.75241,1.74159,-.94378,4.78344,1.64383,-.841425,4.80147,1.91788,-.954693,4.75687,1.78822,-.825931,4.89043,1.93589,-.849474,4.86096,.785724,-.580593,6.56001,1.25507,-.536416,6.4492,1.14257,-.664289,6.55239,-.391406,-.639948,5.1946,-.490392,-.486493,5.22168,-.460433,-.0830917,5.28727,-.120195,.0644313,5.32075,.227331,-.0810267,5.298,.129544,-.719593,5.20883,-.139925,-.292716,7.13818,-.427061,-.37689,6.97717,.148817,-.373109,7.04468,.201686,-.541719,6.97454,.121213,-.684705,6.93585,-.071576,-.763414,6.93712,-.326081,-.713697,6.92346,-.444548,-.560463,6.92274,.036442,-.525971,7.147,-.203776,-.482293,7.16388,-1.40743,.0782974,5.20023,-1.15486,.0171794,5.18666,-.9707,-.337097,5.17886,-1.11698,-.53808,5.16229,-1.74931,-.412551,5.189,-1.66881,.00659539,5.1971,-1.68331,-.120593,6.39516,-1.11563,-.102763,6.35254,-1.4048,-.0255838,6.45173,-1.05763,-.261277,6.34283,-1.1153,-.443488,6.39303,-1.43636,-.550207,6.44678,-1.69381,-.394561,6.43841,-1.20056,-.245892,6.54456,-1.47387,-.243352,6.59994,.294231,-.559506,5.24786,.517116,-.239587,3.81165,.690202,-.0917555,4.00358,1.24788,-.25266,3.97751,.72551,-.238583,4.87012,1.00099,-.196603,4.86985,1.23149,-.339926,4.84929,.747047,-.278948,5.57926,1.00157,-.274699,5.72574,1.2268,-.381544,5.62953,1.75608,-.32916,3.20061,2.05492,-.399212,3.17883,1.5104,-.516498,3.4041,1.75958,-.39444,3.5875,1.54574,-.58238,4.14693,1.77531,-.459273,4.00963,2.04007,-.525478,3.98698,2.14767,-.687625,4.10375,2.03499,-.540442,4.25971,.412913,-.180887,4.06005,.236824,.0791075,3.90119,-.065848,.253825,3.89598,-.422517,.168164,3.89833,-.589092,-.0951825,4.06076,-.07238,.187882,4.44983,.295339,.0374935,4.37072,-.526523,-.30215,5.26232,-.458175,-.0677806,5.09033,-.111956,.0966053,5.09144,.24481,-.0796976,5.09016,.339803,-.292127,5.28265,-.130472,.0245573,5.6493,.225412,-.109073,5.58031,-.475941,-.105102,5.53735,-1.6774,.170071,3.55985,-1.37144,.261364,3.54723,-1.05277,.165281,3.58266,-.901496,-.0331415,3.82025,-1.06796,.123786,4.10685,-1.39827,.236427,4.16596,-1.71303,.11801,4.10612,-1.81381,-.0724975,3.7957,-1.80994,-.151644,5.20441,-1.67803,.0116024,5.00806,-1.40958,.108961,4.98165,-1.13832,.0298404,4.99075,-1.00362,-.106183,5.18936,-1.14302,.0131354,5.40431,-1.40425,.0633413,5.44246,-1.66838,-.00393465,5.41654,-1.40545,.0292033,5.93589,-1.14864,-.0420537,5.87834,-1.04045,-.148282,5.82871,-.993977,-.301703,5.82335,-1.09252,-.539027,5.83539,-1.45739,-.648052,5.84889,-1.75916,-.442118,5.86293,-1.77297,-.18239,5.8731,-1.66113,-.0432037,5.90896,-1.46164,-.590086,5.16381,-1.48229,-.615972,4.5041,-1.76508,-.392513,4.52989,-1.81637,-.165189,4.56134,-1.69417,.0434195,4.59772,-1.40432,.148076,4.60597,-1.11365,.0520925,4.58262,-.962179,-.120703,4.54902,-.939234,-.362002,4.5135,-1.10628,-.580935,4.4962,-1.8193,-.345626,3.14411,-1.83355,-.0303584,3.12606,-1.65402,.202823,3.09286,-1.34979,.295354,3.09448,-1.02665,.212845,3.13691,-.85047,-.0163714,3.21637,-.82156,-.363755,3.29377,-1.09512,-.660447,3.25327,-1.5222,-.624199,3.17571,-.633748,.0319786,2.93647,-.5994,-.0674484,3.44525,-.406395,.188276,3.44803,-.090399,.277557,3.45458,.22917,.150634,3.46029,.376605,-.149455,3.43726,.355259,-.467356,3.42273,.173719,-.72015,3.41253,-.225089,-.750949,3.37654,-.52666,-.557248,3.40812,-.623456,-.314348,3.42734,-.457886,.134106,4.3872,-.451546,.0168084,4.73041,-.092844,.134658,4.76892,.270699,-.0451246,4.73028,.392555,-.302889,4.66208,.336177,-.525127,4.60551,.17235,-.687069,4.56387,-.159149,-.73973,4.54794,-.426824,-.597447,4.56778,-.52408,-.431973,4.59722,-.553387,-.249282,4.65349,-.167064,-.762769,5.18431,-.12444,-.811719,6.08615,.1153,-.729233,6.0982,.251088,-.565049,6.16145,.248051,-.385764,6.25734,.155636,-.23887,6.4216,-.139299,-.132382,6.51883,-.448398,-.226716,6.32327,-.507716,-.40094,6.16306,-.477318,-.561433,6.10568,-.354527,-.724153,6.08442,.51019,-.179506,3.32737,.770625,.0357436,3.24658,1.09648,-.0350494,3.2064,1.32425,-.237552,3.19492,1.3635,-.509543,3.19982,1.33183,-.669225,3.2394,1.26068,-.823025,3.27695,.983224,-.97573,3.32201,.636182,-.875543,3.37949,.50512,-.536189,3.38736,.991142,-.0783505,4.01325,.983561,-.110442,4.41447,1.24578,-.274545,4.38695,1.34553,-.504539,4.35701,1.2946,-.684974,4.34104,1.18053,-.79941,4.33229,.965618,-.879385,4.33755,.709956,-.824398,4.33624,.546447,-.617996,4.3474,.511918,-.362182,4.36984,.67486,-.143445,4.41262,.592044,-.39891,5.09697,.635127,-.462253,5.96826,.59469,-.658165,5.84188,.709236,-.861251,5.75553,.941627,-.92631,5.74749,1.1359,-.85611,5.79402,1.25293,-.728433,5.8946,1.30368,-.579737,6.01472,1.22868,-.42583,6.15118,.989162,-.314633,6.20624,.761542,-.362631,6.09742,2.07281,-.407658,2.91002,2.19688,-.653891,2.95022,2.13931,-.921215,3.00629,1.85103,-1.07675,3.05524,1.56105,-.977329,3.11162,1.4731,-.758885,3.10399,1.50554,-.519274,3.03608,1.77056,-.32435,2.94527,2.04107,-.462646,3.56703,2.03972,-.505494,3.78788,2.14936,-.693482,3.74371,2.10732,-.892273,3.73332,1.86671,-1.05124,3.75969,1.60064,-1.00112,3.79639,1.48873,-.836912,3.80557,1.51445,-.606589,3.80513,1.76132,-.432458,3.81621,1.77233,-.462512,4.28244,1.76961,-.528176,4.55496,1.9969,-.610618,4.52229,2.10318,-.738521,4.47806,2.07369,-.887291,4.44986,1.90726,-1.04059,4.4514,1.66277,-1.01198,4.47134,1.54217,-.85793,4.49505,1.56057,-.655119,4.52539,-.711528,-.956199,-1.64439,-.834848,-1.14515,-.841224,-1.31655,-1.00024,-1.39902,-.393991,-1.07881,-.953107,.041174,-1.06988,-.952211,-1.25266,.661556,.884478,-.425389,.698012,.938419,-.03858,.742654,1.01161,.719094,.544558,1.03383,1.50138,.214346,.964405,1.68681,-1.08799,.470233,2.1374,-.92059,2.61492,1.86589,-1.08404,2.69441,2.15008,-.918612,2.16456,2.14111,-.891765,1.69267,1.88078,-1.15,1.77882,.847777,-1.12223,1.8876,.252983,-.992217,1.98278,-.372614,-.940965,2.02842,-1.0154,-.880062,1.99985,-1.57194,-.61855,1.89841,.649922,-1.15538,-.224417,.247226,-1.05915,-.100222,.816131,-1.14677,.254238,-.633228,-1.03953,-.242752,-.209839,-1.00309,-.187138,.050609,-.988093,.23679,-.51938,-.831503,-1.87094,-.258321,-.9963,-1.79166,-.196686,-.902512,-2.14035,.146761,-.953799,-2.13982,1.20839,-.771026,-2.03434,-.79359,.680039,.876673,.35546,.681231,1.05108,1.11869,.419906,1.00983,1.86902,-.0406371,.894402,2.08108,-.410181,.795756,2.00131,-.855585,.709025,1.71363,-1.10784,.90107,1.46997,-1.22386,1.72762,1.16214,-1.14603,.980415,1.14933,-1.22717,-.215414,.883464,-1.05864,-1.69525,1.05988,-1.21262,-.958569,.630203,-.894603,-2.10945,1.2014,-1.18583,.369951,.443575,-.907779,-2.37649,.606514,-1.04348,.610738,.089126,-.9477,.714807,-.479551,-.861351,.715782,-.826781,-.863534,.501999,-.941477,-.788283,.98526,-1.49171,-.506481,1.20642,-1.85802,.0810679,1.23971,-1.676,.47701,1.02014,-1.70826,.159168,1.85511,-1.72103,.323729,1.47764,-1.30774,.483078,1.44246,-.85888,.570235,1.52328,-.478951,.613202,1.65499,-.063695,.665696,1.73535,.347807,.532698,1.70533,.7242,.408177,1.64044,1.14464,.294828,1.55422,1.52535,.0936118,1.45247,1.88663,-.108733,1.35066,2.09164,-.455838,1.25839,1.82274,-1.13153,1.36365,2.06551,-.848173,1.23691,.701668,-1.02173,1.25816,.175437,-.942596,1.35948,-.424545,-.867684,1.42097,-1.02579,-.819813,1.49626,-1.56105,-.555991,1.54696,-1.82136,-.0330822,1.53811,.543513,1.06447,-3.34916,-.956766,.350657,-3.18234,-.534568,.88115,-3.23475,.159891,1.09371,-3.31821,.912399,.962365,-3.36338,1.4891,.527975,-3.30726,1.57218,-.202819,-3.3564,1.18689,-.718999,-3.39372,.45795,-1.01663,-3.32812,-.342886,-.763173,-3.2344,-.87737,-.299503,-3.17233,-.1183,.44978,2.72585,1.5923,-.133036,-2.86356,1.44248,-.429802,-3.03968,1.54727,-.240158,-3.06894,1.69819,.148722,-2.65919,1.65282,.442096,-2.75007,1.7327,.359002,-2.41057,1.70958,.324748,-2.61053,.318044,-.96237,-2.50759,.210088,-.927967,-2.36209,-.051401,-.939484,-2.4746,.150744,-.96817,-2.45475,1.61419,-.100793,-1.97275,1.64518,-.0637467,-2.30512,1.72251,.149817,-2.15997,1.66948,-.00790074,-2.14653,1.29249,-.584143,-2.2596,1.38163,-.602358,-2.0299,1.10228,-.736898,-2.16293,1.26685,-.642859,-2.14972,-.372473,-.753445,-2.11843,-.326824,-.756717,-2.29134,-.138366,-.890964,-2.23362,-.283061,-.785272,-2.21581,-1.19726,.82115,-.952763,-1.45426,.663549,-1.16156,-1.54432,.730813,-.662996,-1.45057,.765455,-.925341,1.0999,.644886,-.250677,.865775,.779572,-.308658,.937614,.690131,-.00645592,.972464,.709088,-.199931,1.34067,.527891,-.331217,1.26767,.509439,-.0234049,1.23056,.565396,-.212469,.524854,.807505,.0358101,.557767,.849307,-.223192,.367355,.878318,-.128768,.485145,.846608,-.111438,.196106,.917064,-.23889,.193591,.878102,.0211591,.248388,.89611,-.121528,-1.22814,.818661,-.04971,-.953447,.812883,-.0372259,-1.01833,.873462,-.439501,-1.06555,.855386,-.178615,-.742408,.783952,.0584691,-.91472,.766462,.322692,-.871105,.792509,.116049,1.62595,.317273,-.257652,1.67137,.268683,-.00536797,1.78586,.160157,-.172209,1.69544,.252076,-.147625,1.90176,-.00541299,-.079585,1.87398,.042632,-.32899,1.85994,.062462,-.193802,1.96088,-.115423,-.537464,2.04088,-.338049,-.38123,1.99323,-.299337,-.76591,2.00974,-.25599,-.557753,-.052533,.930954,-.349468,-.301238,.90565,-.399197,-.20252,.877304,-.0738919,-.191497,.907517,-.272981,-.033758,-.969085,-2.146,.099368,-.947978,-2.24232,-.02571,-.946469,-2.2172,-2.36228,.287999,.581231,-2.18768,.346845,.748092,-2.1847,.382723,.448129,-2.24168,.34211,.596947,-1.53356,-1.0447,.264392,-1.67423,-1.08549,.139117,-1.44343,-1.1075,-.00444624,-1.54664,-1.08416,.130672,-2.19846,-.0954382,2.00734,-2.16302,-.0770902,1.82323,-2.4336,-.0926542,1.91493,-2.24787,-.0729972,1.92865,-2.74508,-.716066,1.66548,-2.76395,-.726989,1.88355,-2.75898,-.488091,1.83248,-2.76244,-.669449,1.80339,-2.15425,-1.09521,1.9081,-2.13983,-1.07478,1.79798,-2.06832,-1.05531,1.89392,-2.12678,-1.08083,1.86861,-2.12629,-1.04039,1.58293,-2.05482,-1.02976,1.71784,-2.11473,-1.05524,1.71587,-1.80946,-.839414,1.66455,-1.85023,-.877178,1.84492,-1.90226,-.929353,1.74753,-1.85092,-.881648,1.76747,-1.86109,-.886514,1.95751,-1.92562,-.951323,1.91388,-1.87382,-.901557,1.90647,-2.16495,-.1254,2.14011,-2.4335,-.116731,2.11821,-2.24426,-.0943472,2.09187,-1.18165,.428153,2.28287,-1.36147,.413081,2.2453,-1.24059,.39904,2.41693,-1.26365,.425674,2.31483,-1.51363,.321693,2.15989,-1.48515,.335473,2.36397,-1.45756,.361778,2.24314,1.17889,.117087,2.33952,1.02904,.201261,2.37161,1.08037,.130655,2.51295,1.10168,.152142,2.39657,1.30489,.0366237,2.27177,1.25715,.0111797,2.47304,1.24796,.0623877,2.3514,-1.0772,-.748101,2.70363,-.770983,-.74145,2.75347,-.836911,-.660229,2.93956,-.891556,-.710914,2.78662,.236536,-.870751,2.85482,.491575,-.933708,2.85137,.402174,-.817481,3.05954,.372312,-.862332,2.91737,1.32946,-1.01404,2.63024,1.52415,-1.02442,2.59775,1.42075,-.924716,2.77361,1.42688,-.992904,2.66538,2.21903,-.585766,1.95584,2.17462,-.428969,2.01182,2.19873,-.525402,2.16307,2.20409,-.509401,2.03378,2.09351,-.298256,2.01074,2.09287,-.335958,2.19498,2.12873,-.350167,2.0586,.091855,.475247,2.57004,-.11129,.500482,2.58479,.028461,.43056,2.72661,.00260001,.483468,2.6281,-.298582,.461585,2.52589,-.254926,.423915,2.70976,-.223759,.474522,2.60186,2.12746,-.501456,3.3621,2.13997,-.502486,3.22316,2.04578,-.403098,3.27755,2.11359,-.474427,3.28853,2.12837,-.538625,3.49971,2.03918,-.435599,3.4691,2.11041,-.494446,3.44146,-2.77178,-.777375,2.01692,-2.77141,-.517682,2.04246,-2.77537,-.696141,1.97774,-2.86578,-.777642,3.30029,-2.81876,-.840061,3.48658,-2.83154,-.61408,3.56996,-2.85892,-.745547,3.4736,-2.10873,-.496058,3.45338,-2.07103,-.416094,3.23795,-2.23376,-.348253,3.52458,-2.13286,-.407566,3.4225,-.532439,.0458215,3.92419,-.534778,.0524665,4.11914,-.423581,.170824,4.04743,-.511674,.0847045,4.03499,-.548696,.0109945,4.28153,-.431749,.142816,4.26905,-.520097,.0657175,4.21814,.344659,-.0487835,4.11085,.335772,-.0419425,3.92802,.243527,.0693385,4.04439,.315616,-.0158455,4.03458,.379077,-.0840875,4.27079,.275132,.0536925,4.25145,.341611,-.0357395,4.20229,.583472,-.105737,3.66308,.598113,-.12309,3.80561,.703559,-.0420424,3.71698,.615033,-.0931774,3.73585,.587298,-.16239,3.95481,.702859,-.0698665,3.88508,.619762,-.120624,3.8747,1.32002,-.349334,3.78116,1.33805,-.359109,3.64029,1.27333,-.243116,3.69339,1.31797,-.327087,3.7128,1.31368,-.360286,3.93307,1.25361,-.248262,3.85503,1.30406,-.328267,3.84746,1.60796,-.389566,3.26318,1.62801,-.399304,3.39606,1.76526,-.345587,3.29604,1.65364,-.372786,3.3204,1.61442,-.433249,3.53727,1.76643,-.371697,3.48724,1.65707,-.400822,3.47151,-.973809,.0703225,3.83148,-.954791,.0765056,3.64008,-1.06633,.155988,3.73217,-.986753,.0954075,3.74224,-.972569,.0424385,4.02576,-1.07197,.136444,3.95732,-.99578,.0758535,3.92641,-1.77392,.0653166,3.61078,-1.7637,.0453605,3.80954,-1.6762,.152241,3.71339,-1.74807,.0803165,3.71841,-1.7829,.0126235,4.01571,-1.69007,.125487,3.94789,-1.75399,.0530965,3.91126,1.28713,-.426688,5.14713,1.28166,-.430825,4.87556,1.23351,-.348688,5.05107,1.27457,-.410855,5.02813,1.29631,-.445508,5.45756,1.23899,-.35132,5.38823,1.28499,-.410053,5.30888,.639248,-.310428,4.90292,.663274,-.317482,5.14744,.742715,-.255377,5.05409,.672947,-.300485,5.04041,.647962,-.322819,5.42687,.747779,-.253738,5.35351,.676359,-.298276,5.28718,.670112,-.447294,6.19667,.754464,-.376016,6.26098,.691801,-.405559,6.02266,.702571,-.407,6.17265,.719028,-.573914,6.4945,.776777,-.498192,6.54242,.675768,-.505107,6.38576,.7241,-.517899,6.49064,1.1758,-.603533,6.54831,1.1881,-.67507,6.50449,1.25624,-.631983,6.41993,1.2065,-.635569,6.50612,1.13299,-.738581,6.50573,1.19841,-.763505,6.38109,1.17325,-.72214,6.47995,.666529,-.689279,6.35694,.763885,-.679111,6.51603,.713781,-.643169,6.4744,1.63913,-.4897,4.04767,1.65653,-.485997,4.1404,1.78387,-.452318,4.07639,1.6811,-.471986,4.09093,1.64137,-.504517,4.2495,1.78214,-.454931,4.19823,1.68129,-.480429,4.19122,2.111,-.596985,4.10685,2.11334,-.604187,4.01031,2.03883,-.523873,4.05551,2.09835,-.58042,4.05909,2.10705,-.616302,4.21386,2.03864,-.524348,4.17739,2.09666,-.583816,4.15963,1.92215,-.899335,4.82729,1.97868,-.921764,4.74803,1.97893,-.858935,4.82338,1.96052,-.892936,4.8067,1.77748,-.885004,4.85661,1.71391,-.826971,4.87101,1.67924,-.901102,4.788,1.72417,-.871548,4.84864,1.25168,-.445536,6.30749,1.29729,-.566115,6.23575,1.28532,-.50223,6.07655,1.28541,-.505094,6.2174,-.51654,-.189803,5.12022,-.517781,-.186918,5.26917,-.458843,-.0768197,5.20407,-.5089,-.163516,5.20367,-.527938,-.214161,5.44809,-.46204,-.0880387,5.37614,-.513404,-.168769,5.34558,.299122,-.180672,5.28375,.314656,-.194024,5.12419,.231112,-.0779106,5.20487,.292323,-.160137,5.20696,.299605,-.206895,5.48231,.222906,-.0867817,5.40162,.283891,-.164263,5.37198,-.147095,-.395402,7.17688,-.294544,-.303896,7.09725,-.305082,-.429807,7.13039,-.247013,-.379654,7.15618,-.4914,-.40564,6.61144,-.439093,-.288284,6.72963,-.49797,-.319576,6.20747,-.479747,-.344939,6.5437,-.335889,-.523638,7.08902,-.451342,-.477164,6.94433,-.360994,-.475229,7.07979,.130644,-.312801,6.82032,.208153,-.394406,6.73422,.215495,-.314126,6.31111,.182472,-.34837,6.66497,.065699,-.441618,7.14001,.125487,-.522019,7.09689,.191264,-.461934,7.00874,.128072,-.471328,7.10262,.08327,-.60613,7.08343,.179123,-.618356,6.94611,.130594,-.578177,7.06587,-.029564,-.637664,7.09981,.036772,-.739969,6.92995,.032919,-.656255,7.06284,-.249528,-.600589,7.09987,-.408339,-.644636,6.90891,-.334367,-.588763,7.05914,-1.07309,-.0325236,5.18349,-1.05955,-.0379816,5.03447,-1.15025,.0264224,5.10482,-1.08577,-.0191176,5.11451,-1.06421,-.0468826,5.34885,-1.15564,.0146994,5.27079,-1.08998,-.0252666,5.25527,-1.76205,-.0657686,5.05165,-1.75497,-.0560816,5.19602,-1.66899,.00892441,5.11869,-1.73806,-.0426846,5.12933,-1.75812,-.0695446,5.36506,-1.66595,.00642738,5.2803,-1.73699,-.0429966,5.2673,-1.42254,-.121951,6.56676,-1.54779,-.0484938,6.43756,-1.57969,-.17508,6.54653,-1.51944,-.111725,6.53906,-1.7581,-.1624,6.1512,-1.66349,-.0653018,6.16348,-1.72924,-.105737,5.87647,-1.72451,-.105341,6.07963,-1.71963,-.259134,6.42239,-1.59154,-.323069,6.55628,-1.63125,-.248274,6.52901,-1.15179,-.0723187,6.12541,-1.07286,-.140552,6.09551,-1.08207,-.0955687,5.83684,-1.09672,-.103342,6.03363,-1.17437,-.167021,6.51562,-1.12241,-.249577,6.47602,-1.07024,-.187573,6.34803,-1.11742,-.198589,6.46687,-1.17443,-.338349,6.51326,-1.06348,-.345721,6.3526,-1.11634,-.307565,6.46327,-1.4404,-.399598,6.57416,-1.59411,-.504422,6.44098,-1.5481,-.412775,6.55,1.86146,-.985125,.546762,1.87562,-1.00635,.841288,1.68313,-1.10358,.686734,1.81727,-1.03225,.694549,-.74251,-.834933,.902976,-.903806,-.791795,.783346,-.612798,-.890316,.50535,-.732526,-.840525,.711399,.520759,1.06911,-2.89034,.874666,1.0117,-2.53503,1.21861,.850291,-2.88857,.891876,.996939,-2.89824,1.47527,.735124,-2.50359,1.47869,.653759,-2.84688,1.25958,-.606695,-2.72355,.909509,-.83213,-2.99302,1.23117,-.66071,-3.01483,.547215,-.917364,-2.71096,.088162,-.947078,-2.92452,.525883,-.963495,-2.96323,-.309918,-.777652,-2.6436,-.66414,-.570086,-2.84846,-.32557,-.778294,-2.8894,-.901814,-.293098,-2.54888,-.972391,.00606133,-2.79182,-.884636,-.306326,-2.81702,-.95832,.316325,-2.46682,-.778693,.613247,-2.79105,-.947639,.329038,-2.78091,-.556261,.840721,-2.50498,-.225742,1.03512,-2.85215,-.542854,.862449,-2.81501,.124469,1.08712,-2.53772,.141296,1.08924,-2.87452,1.65947,.573606,-2.18512,1.19185,.899552,-2.21055,1.44352,.723097,-1.89812,1.46753,.757882,-2.199,.836487,.978671,-1.9053,.486078,1.06822,-2.22863,.855705,.99899,-2.21975,1.70284,.305473,-1.9135,1.74171,.359347,-2.17092,1.49108,-.344887,-2.47685,1.61629,-.0878547,-2.56916,1.01392,-.747638,-2.48409,1.29134,-.587046,-2.47497,.724319,-.803608,-2.35333,.639722,-.863214,-2.51974,-.660827,-.536667,-2.37861,-.326667,-.773087,-2.44645,-.956176,-.23374,-2.1081,-.999657,.0454083,-2.24778,-.916143,-.260314,-2.31698,-.815546,.590128,-2.20666,-.998143,.375678,-1.98037,-.975516,.339961,-2.21468,-.618565,.818875,-1.94081,-.265392,1.00551,-2.24299,-.581042,.824443,-2.22658,.066332,1.08923,-1.9306,.103037,1.0879,-2.24006,1.69452,.0146212,-1.66404,1.81894,-.259589,-1.40871,1.62582,-.408458,-1.76994,1.69641,-.1913,-1.70843,1.65071,-.689587,-1.5025,1.32096,-.79924,-1.83955,1.50382,-.624207,-1.79602,.950079,-.871051,-2.06998,.538312,-.876756,-2.24509,.820092,-.812423,-2.21059,-1.14498,.0883622,-1.82573,-.918273,-.496447,-1.93825,-1.40258,-.221403,-1.85263,-1.10385,-.218473,-1.95858,-.218799,-.934864,-2.0091,-.408878,-.913104,-1.87365,-.551625,-.73597,-1.95295,-.390163,-.840237,-1.99858,-.918923,.65795,-1.66038,-1.21653,.395424,-1.5091,-1.04086,.384286,-1.73151,-.796939,.847141,-1.21665,-.390729,.9519,-1.58927,-.678046,.83666,-1.61404,-.004773,1.0466,-1.26272,.436197,1.04768,-1.58745,.017552,1.07158,-1.60006,.79989,.946496,-1.25553,1.15535,.836858,-1.57914,.818769,.964819,-1.57872,1.42319,.617972,-1.28601,1.59012,.449301,-1.6147,1.42117,.664441,-1.59217,1.73408,.172298,-1.35517,1.66321,.222308,-1.63831,.41777,1.00818,-.975586,.737066,.885626,-.667457,1.12624,.764646,-.941114,.776162,.912708,-.954501,1.45289,.496592,-.701572,1.64404,.344344,-1.04054,1.42991,.566963,-.990159,-.270314,.945286,-.828792,.117462,.992623,-.687221,.051406,1.02685,-.959035,-.649426,.880293,-.708152,-.910111,.862307,-.817788,-.550315,.845679,-.239227,-.451225,.893654,-.563894,-1.74975,.0785762,-1.42088,-1.92359,.370646,-.931055,-1.44297,.382143,-1.36138,-1.49426,-.546498,-1.72573,-2.13874,-.268553,-1.20921,-1.80916,-.244461,-1.57721,1.3797,-1.12935,-.913535,.981942,-1.14587,-1.35487,1.19082,-.985573,-1.6429,1.56662,-.924312,-1.2195,1.30178,-1.06334,-1.29997,1.85179,-.788208,-.746116,1.89304,-.522012,-1.08044,1.77242,-.74562,-1.14077,1.88651,-.0850889,-1.08058,1.9216,-.298597,-1.08073,1.83145,.0886131,-.796352,1.79272,.126903,-1.07071,.727614,.711118,.259074,.919404,.600226,.521852,1.10539,.558137,.248279,.924883,.650452,.257292,1.28698,.404401,.498314,1.48154,.364266,.222317,1.28221,.455212,.236305,.361043,.821915,.277381,.539573,.717384,.532399,.542103,.772703,.276593,-.026949,.851209,.216717,.163663,.81669,.509684,.16924,.849606,.255538,-.578392,.781224,.37105,-.39545,.830126,.139425,-.573465,.805306,.0767181,1.67832,.19946,.466732,1.82173,.089516,.194741,1.67234,.245039,.222673,1.96879,-.127699,.370339,2.03604,-.235214,.025666,1.9399,-.071962,.130824,1.71576,.230274,-.529209,1.54208,.403004,-.458223,2.09257,-.507659,.198671,2.02878,-.638041,-.24492,2.07088,-.431375,-.0951951,1.89477,-.89444,-.0132831,1.68677,-1.02809,-.457393,1.88973,-.846885,-.361321,.404138,.937836,-.47239,.647725,.868092,-.421111,-.227802,.795543,.44515,-.217196,.839486,.187548,-1.55763,.744592,-.065813,-1.91345,.56427,-.492989,-1.89868,.558828,.0161929,-1.66797,.658322,-.347241,-1.67786,.627863,.466438,-1.45339,.719623,.44077,-1.49077,.780397,.196145,-2.22028,.0359711,-.763791,-2.22755,.26312,-.294314,-2.1053,.331948,-.614034,-2.17548,-.600464,-1.02587,-2.36017,-.325852,-.629987,-2.28698,-.293096,-.891759,-1.65491,-1.01338,-1.12198,-2.09181,-.856537,-.785493,-1.62499,-.818228,-1.46643,-1.9609,-.838116,-1.10467,-1.96031,.472151,.450038,-1.98763,.297164,.785094,-1.8342,.151715,.850154,-1.81391,.394264,.609402,-1.90744,.346318,.653602,-1.68282,-.155836,1.07817,-1.43395,-.484997,.987414,-1.75904,-.150778,1.0588,-1.67424,-.146196,1.03734,-1.86667,.0817369,1.06584,-1.71428,-.204306,1.19341,-1.47442,-.488583,1.13571,-1.68866,-.173567,1.12097,-2.11692,.226919,1.05763,-2.05616,.264975,.922486,-2.19659,.37644,.116437,-2.05167,.443736,.257871,-2.44193,-.070563,-.165808,-2.44785,.160663,.225213,-2.34128,.20145,-.0226441,-1.91134,.17082,.929561,-1.80336,.377317,.817972,-1.79257,.403364,.696743,-1.484,-.496347,.941284,-1.77865,-.197449,1.14668,-1.79059,-.174427,1.116,-1.88809,.111889,1.1068,-1.82471,.321346,1.14251,-1.65793,.546054,.828336,-1.83141,.354947,.967569,-1.45568,-.48689,1.07117,-1.76619,-.234203,1.29024,-1.78063,-.217621,1.20584,-.869805,.526539,1.84683,-1.08313,.545137,1.4727,-1.33529,.43376,1.70868,-1.07323,.470414,2.06142,-1.08891,.518459,1.77986,-.993159,.340124,2.45339,-.884749,.384398,2.34055,-1.03098,.402722,2.29998,-.718694,.470229,2.17602,-.511494,.568252,1.97523,-.668492,.590856,1.58972,-.689102,.533249,1.91217,-.768762,.284444,2.55342,-.612218,.381978,2.42527,-.753551,.392947,2.3941,-.358766,.496314,2.26375,-.083353,.585355,2.04394,-.276736,.641254,1.70635,-.308631,.565621,2.01094,-.516639,.321826,2.65188,-.449946,.414435,2.46631,.289915,.292878,2.67942,.39427,.306629,2.49522,.178649,.501213,2.30984,.247688,.399552,2.52816,.352459,.461143,2.01039,.154249,.63878,1.73517,.153243,.570812,2.04234,.524773,.193855,2.63622,.701637,.271789,2.45133,.5488,.358228,2.25903,.545192,.285994,2.48477,.731294,.368011,1.94734,.531514,.455912,1.67369,.539055,.401957,1.98297,.926146,.276852,2.17026,.808503,.213717,2.56979,.871121,.246531,2.4038,1.15751,.235188,1.83542,.936018,.36803,1.6016,.940876,.318559,1.89523,1.42008,-.149474,2.35222,1.54267,-.132203,2.11262,1.38847,.0551168,2.00558,1.4157,-.0493083,2.18201,1.54991,.0380758,1.70313,1.3376,.194304,1.50322,1.36106,.132982,1.76523,1.72833,-.0754762,1.88264,1.62526,-.222219,2.26342,1.83989,-.159553,2.04921,1.68347,-.144343,2.06645,1.71948,.0119558,1.40453,1.89881,-.125388,1.58708,1.73355,-.0293102,1.6476,2.0418,-.243088,1.78282,1.87794,-.214723,2.22689,1.98494,-.207071,2.0161,2.12471,-.456696,1.49855,2.01194,-.269437,1.29869,2.03274,-.267419,1.53358,-1.79408,.0133008,1.84172,-1.80244,-.226158,2.01809,-1.8014,-.0886073,2.25122,-1.74338,.105142,2.0378,-1.79765,-.0460562,2.01179,-1.74535,-.392984,1.86872,-1.56838,-.646296,2.09068,-1.73325,-.46662,2.27842,-1.72747,-.437457,2.058,-1.81391,.170758,1.50984,-1.84461,-.101119,1.69309,-1.70013,.228409,1.66912,-1.80916,.0861528,1.68151,-1.75136,-.28971,1.55166,-1.59361,-.583412,1.72402,-1.77573,-.337368,1.71014,-1.52849,.604682,.939261,-1.22893,.712787,.594678,-1.47383,.66872,.690591,1.44042,-1.16991,-.171432,1.10952,-1.2372,-.574116,1.42362,-1.16854,-.532122,1.69037,-1.06449,.208693,1.45605,-1.1596,.419058,1.18363,-1.2077,.0986079,1.44985,-1.16388,.144965,2.02878,-.776578,.397258,1.88534,-.937424,.293042,2.07598,-.3651,.549681,2.09594,-.622641,.747955,2.09888,-.571257,.479175,1.85748,904921e-9,.664287,1.99169,-.220712,.845458,1.98594,-.176848,.611566,1.49465,.2689,.730035,1.70275,.110977,.936373,1.69068,.155466,.705122,1.10802,.463051,.760134,1.30672,.315482,.988107,1.29711,.364857,.746167,.922436,.500728,1.02538,.721556,.607216,.775375,.918564,.552562,.771179,.530505,.597236,1.04265,.359413,.737147,.779918,.535074,.662069,.779211,-.036463,.778197,.725629,.169099,.752958,1.04476,.16892,.795344,.762811,-.237691,.714256,.973571,-.407885,.7477,.665186,-.228242,.759015,.693335,-.762925,.725843,.605097,-.607029,.691052,.905865,-.584269,.743051,.635526,-1.00764,.681884,.869527,-.962041,.711768,.588949,.372022,-.936752,-2.13011,.298689,-.926065,-2.25372,-.015956,-1.01923,-1.79506,.347717,-1.11758,-1.41156,.263172,-1.10045,-.943906,-.139558,-1.02104,-1.40296,.07836,-1.05279,-1.42681,.159864,-1.07025,-.527706,.55745,-1.17737,-.571315,.457241,-1.11064,-.181319,.352286,-1.12419,-.549072,.74395,-1.2124,-.966496,.875652,-1.217,-.231294,.806532,-1.21585,-.580235,.534548,-1.07822,-1.75544,.671979,-1.15588,-1.36435,.175987,-.999536,-2.01061,-.034403,-1.01327,-2.02386,-.693247,-1.09218,-.560778,-.842312,-1.06908,-.189559,-1.12502,-1.12858,-.341016,-1.09829,-1.15725,-.726767,-.915877,-1.11973,-.477233,-.676239,-.990856,.132415,-.984412,-.879074,.401415,-1.0449,-1.00279,.122412,-.870367,-.996672,.112126,-1.22513,-1.07103,-.0146842,-1.46626,-1.14508,-.301084,-1.30406,-1.1236,-.180045,-1.25397,-.894559,.420803,-1.3558,-.99532,.297239,-1.20744,-1.00267,.18967,-1.56108,-1.12004,-.746625,-1.04532,-1.11896,-1.11428,-1.37012,-1.1186,-1.00933,-1.78373,-1.11345,-.12036,-1.95437,-1.05078,-.426653,-1.6965,-1.12912,-.385489,-2.24707,-.917283,-.149782,-2.36713,-.672147,-.390691,-2.18996,-.898872,-.42959,-2.5426,-.419815,-.0363392,-2.44957,-.375223,-.3134,-1.27956,-.731675,.653418,-1.38592,-.726308,.758612,-1.33412,-.726202,.670377,-1.5226,-.725565,.975728,-1.47054,-.878111,.648047,-1.45057,-.729481,.879189,-1.13628,-.717642,.767322,-1.19374,-.727547,.680758,-1.21618,-.702638,1.0931,-1.16133,-.705287,.912057,-2.07464,-1.02467,.104292,-2.35088,-.927789,.370206,-2.492,-.72815,.133601,-2.29911,-.921491,.10293,-2.65905,-.138602,.327785,-2.70242,-.49802,.451241,-2.62394,-.455489,.206389,-2.60248,.101151,.760093,-2.53712,.130889,.4754,-1.93305,-1.0252,.385318,-1.85951,-1.0745,.123089,-1.65541,-.946935,.61176,-1.49428,-.974963,.442776,-2.76002,-.24191,.876771,-2.61752,-.0456771,1.2302,-2.32359,.182031,1.09225,-2.6133,.0375759,1.0035,-2.60399,-.796885,.687991,-2.7029,-.606561,1.05813,-2.73461,-.548757,.76461,-2.18206,-.992922,.659077,-2.39582,-.957693,.975096,-2.39314,-.94142,.658297,-1.85725,-.962434,.706681,-2.05743,-.982766,.955408,-2.00259,-.990882,.666468,-1.66188,-.84551,.923991,-1.83179,-.912318,1.02169,-1.74724,-.915942,.800821,-1.57072,-.509918,1.27224,-1.6692,-.739413,1.23042,-1.60421,-.723387,1.09094,-1.93943,-.0138121,1.28828,-1.73859,-.293538,1.42968,-1.75251,-.246036,1.3084,-2.12171,.0675099,1.33107,-2.13397,.158208,1.1862,-2.7464,-.40442,1.40948,-2.64678,-.208679,1.71916,-2.38684,.00666286,1.55574,-2.63275,-.139719,1.48477,-1.89952,-.184103,1.61641,-2.11644,-.0382582,1.58825,-2.60558,-.897178,1.36886,-2.71818,-.676447,1.36899,-2.22837,-1.02375,1.32766,-2.44079,-1.07385,1.71869,-2.41203,-1.01254,1.34361,-1.98492,-.968366,1.26776,-2.09569,-1.0018,1.28232,-1.81428,-.869036,1.34406,-1.95137,-.957314,1.55257,-1.89153,-.926398,1.29068,-1.67809,-.629505,1.53287,-1.73924,-.783482,1.42943,-1.77671,-.48219,1.86521,-1.73142,-.394988,1.59717,-2.65558,-.257297,1.99347,-2.6532,-.241537,1.87825,-1.98845,-.996148,1.83215,-1.97714,-.984182,1.72668,-2.00077,-1.02073,1.98249,-1.99572,-1.00779,1.90988,-1.92537,-.302899,2.16372,-1.84072,-.541094,2.29553,-1.80409,-.749439,2.06886,-1.8109,-.530571,2.09807,-1.86761,-.892792,2.22935,-1.93625,-.976482,2.07573,-1.86681,-.891013,2.07478,-2.41096,-.141015,2.31375,-2.1425,-.162033,2.40002,-2.13416,-.159155,2.25407,-1.20101,.323463,2.71176,-1.08176,.3243,2.57581,-1.36606,.361589,2.53821,-1.21714,.356157,2.55542,-1.50903,.287235,2.682,-1.62579,.238888,2.5006,-1.50154,.307734,2.51917,-.867254,.21991,2.6473,-.947744,.21791,2.7732,-.965089,.279925,2.60607,-.646081,.173015,2.75947,-.758881,.0306997,2.81497,-.764581,.160655,2.68847,-.533891,.179565,3.00839,-.408579,.318252,2.84931,-.538023,.24568,2.82823,.318768,.133411,3.02445,.401688,.120443,2.81229,.191311,.293424,2.86954,.309098,.200346,2.84327,.466876,-.0277743,2.94435,.5932,.134201,2.7831,.485758,.0841947,2.78023,.679836,.104491,2.92617,.9051,.150976,2.70557,.740811,.166966,2.74913,1.01759,.0510247,2.8434,1.16465,.0315717,2.65415,1.04841,.0961887,2.67446,1.24881,-.0892153,2.80324,1.33415,-.135647,2.59539,1.25794,-.0421823,2.63595,1.39654,-.317447,2.7196,1.46611,-.342191,2.45848,1.40039,-.244792,2.51908,1.50168,-.470309,2.62457,1.64903,-.273118,2.45703,1.56037,-.320238,2.44145,1.68866,-.304876,2.63916,1.91984,-.269981,2.40585,1.77498,-.243731,2.43573,-1.56926,.279284,1.88845,-1.6867,.180854,2.29309,-1.63141,.227955,2.08386,-1.74249,.12389,2.66913,-1.7868,.0292117,2.47179,-1.71864,.143376,2.48413,-1.82549,-.285271,2.46844,-1.8503,-.130303,2.66834,-1.82989,-.110472,2.46724,-1.73676,-.492275,2.6973,-1.56636,-.638464,2.54599,-1.74229,-.479725,2.50044,-1.31636,-.675882,2.79748,-1.33696,-.780586,2.41836,-1.33757,-.736583,2.61902,-1.31989,-.791975,1.93299,-1.00942,-.868266,2.24664,-1.32703,-.795504,2.15712,-.632892,-.846979,2.51983,-.30265,-.872919,2.79214,-.491321,-.766976,2.99324,-.558027,-.803983,2.77995,-.687164,-.900037,2.02591,-.352786,-.930981,2.29261,-.672445,-.888905,2.27422,-.00654899,-.84051,3.01578,-.011602,-.940544,2.59115,-.015493,-.898405,2.82519,.287673,-1.00845,2.29129,-.057848,-.963507,2.00885,-.032928,-.960385,2.29542,.552376,-1.05857,1.94196,.888696,-1.14116,2.19982,.622573,-1.05926,2.57683,.592292,-1.09084,2.25673,.931854,-1.06017,2.71864,.746194,-.997002,2.97755,.685597,-1.02688,2.7984,1.14368,-1.1749,1.81874,1.45151,-1.18009,2.09664,1.16141,-1.09037,2.40585,1.17973,-1.15536,2.1294,1.14594,-1.00764,2.86402,1.15142,-1.0404,2.64776,1.85914,-1.06458,2.48278,1.70056,-1.06328,2.73871,1.66101,-1.11198,2.32053,1.68988,-1.05637,2.53285,1.69975,-1.20632,1.79822,1.87606,-1.13581,2.03042,1.68283,-1.18143,2.07237,2.0316,-1.03303,2.21289,2.1298,-.910356,2.39605,2.02454,-1.02991,2.65307,2.0159,-1.01213,2.43718,2.15519,-.912832,1.92618,2.02759,-1.04441,1.72384,2.0405,-1.04642,1.98275,2.12794,-.431549,2.35992,2.17082,-.539895,2.54915,2.19841,-.654804,2.34903,2.17701,-.53922,2.34937,2.20294,-.658886,2.76069,2.08503,-.420599,2.74385,2.15719,-.525626,2.92287,2.16316,-.534357,2.74419,2.19089,-.789353,2.58155,2.20348,-.772793,2.14536,2.18622,-.781671,2.36586,2.19396,-.786728,2.97939,2.14458,-.927681,2.82021,2.19891,-.791874,2.78835,2.18862,-.692863,1.69412,2.21222,-.745772,1.91728,1.99867,-.335384,2.57721,2.0434,-.334605,2.38166,2.10088,-.865682,1.45899,2.10797,-.654975,1.23171,2.14047,-.667961,1.45813,1.80042,-.309819,2.78651,1.93696,-.33262,2.91743,1.96121,-.337149,2.75911,1.61159,-.388759,2.98905,1.52707,-.487402,2.862,1.64174,-.36034,2.82233,1.12381,-.0338364,3.00893,1.22448,-.123164,3.19861,1.33978,-.220649,2.97613,1.24152,-.113205,2.99494,.818011,.0692146,3.0569,.944873,.0212766,3.22026,.987064,.0288066,3.02642,1.37172,-.376742,3.19681,1.34876,-.506375,2.90921,1.38755,-.360824,2.95101,.601144,-.0314534,3.28589,.510163,-.0919104,3.1506,.633207,.0351866,3.09936,.050666,.315785,3.05438,-.116884,.394209,2.8791,.04536,.369905,2.88322,-.268291,.321781,3.03692,-.268806,.370847,2.86643,-.104779,.305003,3.23931,.077133,.240003,3.45984,.21753,.196545,3.24233,.061584,.276119,3.24569,-.255752,.256666,3.44969,-.404449,.223217,3.22364,-.261818,.284774,3.2305,.332422,.00828359,3.45094,.374102,-.0905894,3.20843,.326678,.0662056,3.22504,-.531039,.0759046,3.45013,-.609204,-.0180924,3.20487,-.530266,.124192,3.21965,.434534,-.204307,3.13594,.45611,-.454602,3.24693,.44509,-.205981,3.15235,.458926,-.178841,3.13316,.392671,-.312221,3.42847,.397093,-.454285,3.27734,.386104,-.260724,3.22778,.48672,-.507703,3.25616,.498677,-.356171,3.36343,.463619,-.284918,3.2233,1.42583,-.70286,2.81885,1.47021,-.595985,2.78591,1.3872,-.601992,2.75689,1.45099,-.592025,2.73787,1.47,-.737529,2.95215,1.4751,-.651979,3.07409,1.47498,-.62676,2.91057,-.814027,-.105715,2.95123,-.771138,-.305233,3.06427,-.678484,-.138165,2.99704,-.75728,-.118316,2.91839,-1.03603,.249101,2.91958,-.91529,.115413,3.17297,-.853825,.0339196,3.0024,-.925206,.161947,2.95367,-.818755,-.176913,3.25808,-.811719,-.341363,3.1552,-.824155,-.135699,3.07216,-1.53856,.422352,1.44834,-1.54371,.333753,1.66877,-1.35021,.305757,2.87866,-1.18022,.275271,3.11031,-1.18661,.296754,2.8946,-1.51032,.267156,3.08804,-1.65011,.213221,2.86795,-1.50897,.274395,2.8696,-1.76662,.101319,3.10829,-1.83398,-.00397135,2.87953,-1.75852,.117432,2.87262,-1.84719,-.179457,3.13682,-1.82971,-.325045,2.89182,-1.8543,-.152636,2.88485,-1.53065,-.619079,2.93753,-1.70197,-.50954,3.15551,-1.71812,-.502062,2.90826,-1.08604,-.669546,3.06898,-1.31518,-.674801,3.20899,-1.31816,-.669896,2.98914,-.747193,-.541275,3.16136,-.851507,-.567994,3.10366,-.797147,-.555447,3.12244,-.238419,-.784766,3.17242,-.407765,-.688787,3.3933,-.599567,-.636801,3.22643,-.442386,-.739297,3.19448,-.649972,-.30955,3.20536,-.594678,-.429811,3.42128,-.669519,-.480267,3.23632,.198198,-.760677,3.23404,-.016283,-.765593,3.39074,-.008479,-.803116,3.194,.445261,-.73718,3.2103,.400338,-.686188,3.24175,.423084,-.709523,3.22731,.294606,-.60737,3.42053,.350815,-.643915,3.28112,.978125,-.993881,3.10762,.796035,-.961226,3.35195,.619071,-.885767,3.20469,.78582,-.97369,3.15401,.53771,-.714998,3.39211,.508892,-.717312,3.24409,1.27199,-.87402,3.04266,1.15088,-.921306,3.30178,1.15415,-.959453,3.07939,1.47169,-.83308,2.85025,1.3701,-.809605,2.8778,1.41971,-.820066,2.83042,1.86011,-1.09177,2.88502,1.68727,-1.05823,3.08527,1.55785,-.97868,2.95415,1.69295,-1.07032,2.9211,1.49502,-.866513,3.11868,1.48635,-.852881,2.96964,-.061939,.252187,4.06304,.123678,.169992,4.18146,.104939,.186878,3.89563,.11357,.175675,4.05517,-.257124,.249572,3.89683,-.263664,.229732,4.19018,-.260663,.249569,4.06054,-.275761,.186975,4.43754,-.064662,.230914,4.32196,-.268889,.217272,4.31063,.129701,.135737,4.42742,.131888,.16641,4.29979,1.02277,-.0404114,3.68557,.863669,.00401657,3.57881,.847862,-.0206275,3.79106,.852082,-.0110664,3.69803,1.16452,-.134832,3.77158,1.18491,-.126053,3.56603,1.17291,-.129336,3.68232,.832558,-.0605115,4.0172,1.00679,-.0544835,3.8811,.842413,-.0333685,3.88841,1.13959,-.145697,4.0006,1.15241,-.139753,3.86828,1.912,-.372544,3.38055,1.91693,-.338948,3.17372,1.91246,-.362052,3.27829,1.91361,-.403541,3.5959,1.91522,-.374122,3.48945,-1.53634,.239981,3.54588,-1.55573,.214109,3.84915,-1.3824,.254518,3.72021,-1.54663,.225182,3.71463,-1.21422,.216334,3.85724,-1.20098,.233463,3.55812,-1.21002,.223928,3.72487,-1.39468,.248578,3.99891,-1.2164,.196404,4.14934,-1.21807,.200588,3.98641,-1.57608,.201935,4.15201,-1.5653,.209212,3.98402,-2.66627,-.283356,2.20773,-2.6597,-.271087,2.1026,-2.79738,-.565145,2.23943,-2.68281,-.29862,2.42353,-2.67144,-.294837,2.30778,-2.6526,-1.0244,2.03047,-2.80339,-.84238,2.29678,-2.77915,-.826452,2.13604,-2.49686,-1.16564,2.19332,-2.28911,-1.13444,1.98432,-2.45651,-1.12204,1.98111,-1.97522,-.310708,2.53849,-1.91484,-.477377,2.72254,-1.83983,-.715656,2.4582,-1.86868,-.517208,2.49834,-1.88102,-.823651,2.65258,-1.92211,-.983992,2.3918,-1.86102,-.870056,2.42241,-2.00465,-1.05147,2.18804,-2.07604,-1.08194,2.04904,-2.00445,-1.0348,2.06643,-2.01936,-1.06796,2.61064,-2.09926,-1.13286,2.36321,-2.0022,-1.06967,2.37026,-2.18077,-1.14894,2.17441,-2.16728,-1.11774,2.02102,-2.37001,-1.20702,2.39319,-2.27743,-1.19308,2.61461,-2.21853,-1.17913,2.37277,-2.73437,-1.05942,2.45143,-2.62341,-1.17799,2.66598,-2.55791,-1.18631,2.41853,-2.85393,-.823095,2.74341,-2.8275,-.568756,2.54769,-2.83524,-.837696,2.49689,-2.70566,-.337538,2.83103,-2.44302,-.164152,2.59511,-2.68741,-.31703,2.58751,-2.23022,-.193085,2.8001,-2.17579,-.166033,2.57396,-2.81468,-.590184,3.08777,-2.74704,-.39805,3.42322,-2.50757,-.273638,3.11559,-2.70624,-.387032,3.12338,-2.80544,-1.00444,2.97554,-2.85078,-.805605,3.03034,-2.35688,-.262729,3.37749,-2.11365,-.303414,3.03073,-2.2994,-.25786,3.07797,-1.92482,-.605593,2.93622,-1.98884,-.442113,2.97501,-2.00122,-.700905,3.18719,-1.97163,-.913649,2.89862,-1.92262,-.766685,2.91344,-2.13467,-.970113,3.17841,-2.19354,-1.12593,2.88619,-2.06585,-1.03479,2.88929,-2.41938,-1.11533,3.17268,-2.51242,-1.18723,2.90131,-2.34725,-1.17709,2.88814,-2.70998,-1.05729,3.20563,-2.67525,-1.13607,2.93062,-2.57453,-.336977,3.67317,-2.69237,-.566114,3.75831,-2.75024,-.448495,3.66036,-2.38467,-.431109,3.73321,-2.3866,-.310056,3.62008,-2.2215,-.583946,3.64267,-2.13763,-.76491,3.43571,-2.10273,-.633853,3.45151,-2.34769,-.950536,3.46197,-2.30128,-.734124,3.65079,-2.22396,-.865044,3.44899,-2.55343,-.874121,3.65157,-2.61797,-1.01879,3.42747,-2.48778,-1.01204,3.44462,-2.71623,-.830573,3.65242,-2.7327,-.952511,3.45874,-2.49407,-.625311,3.78573,-2.62786,-.716968,3.76023,2.18987,-.645949,3.13537,2.06339,-.400779,3.05505,2.15062,-.517673,3.08547,2.17587,-.773776,3.35098,2.12177,-.903187,3.18086,2.18281,-.778396,3.16221,2.16735,-.672724,3.56577,2.15039,-.789374,3.73324,2.11594,-.895872,3.54454,2.1677,-.782846,3.54464,2.04082,-.486823,3.67508,2.11631,-.597142,3.764,2.12216,-.57647,3.6226,-.906808,-.550985,3.29065,-.889642,-.560125,3.15342,-1.80165,-.358786,3.44312,-1.82111,-.228929,3.79044,-1.83551,-.0586404,3.42113,-1.83557,-.205566,3.43812,-1.51432,-.63196,3.45737,-1.68657,-.525951,3.78399,-1.69281,-.517707,3.44823,-1.76525,-.375508,4.16096,-1.80733,-.27376,4.54447,-1.82164,-.138321,4.20482,-1.81138,-.254141,4.17404,-1.48787,-.614231,4.14191,-1.65753,-.523714,4.51589,-1.65898,-.511079,4.15078,-1.09195,-.6546,3.49022,-1.29479,-.667593,3.78251,-1.30516,-.675256,3.47167,-1.10589,-.595942,4.13341,-1.2816,-.63775,4.49724,-1.28762,-.641148,4.13556,-.833233,-.381984,3.5097,-.943056,-.534212,3.791,-.918677,-.549018,3.50548,-.901677,-.377733,4.14832,-.995951,-.47908,4.50156,-.974963,-.503727,4.13731,-.868479,-.0444024,3.47499,-.857286,-.218369,3.809,-.830849,-.204426,3.50015,-.91015,-.0912035,4.20578,-.928593,-.236392,4.53043,-.882272,-.231972,4.16858,1.36091,-.496901,3.496,1.30773,-.243843,3.41269,1.35757,-.374786,3.44692,1.33951,-.586758,3.81042,1.32908,-.666385,3.53984,1.35061,-.603124,3.22055,1.34822,-.593458,3.52445,1.33272,-.606005,4.34794,1.30613,-.675624,4.08221,1.34872,-.489749,4.09039,1.33683,-.593974,4.08169,1.25151,-.252621,4.16192,1.31438,-.391422,4.37018,1.32402,-.371856,4.12841,1.28122,-.743111,3.82179,1.24458,-.821165,3.55367,1.30928,-.733849,3.25781,1.29955,-.735547,3.54761,1.11127,-.906227,3.82298,.971936,-.969187,3.57126,1.13547,-.917724,3.56223,1.24492,-.745806,4.33482,1.19785,-.812108,4.07726,1.26178,-.744185,4.07981,1.08664,-.848749,4.33486,.957366,-.922583,4.07918,1.09689,-.882354,4.07817,.400908,-.185317,3.71693,.426454,-.36461,4.00365,.373356,-.486276,3.67473,.415308,-.345502,3.69776,.316602,-.614384,3.94909,.177698,-.717037,3.65599,.305345,-.611631,3.66426,.378321,-.512189,4.28507,.274375,-.612855,4.5828,.196183,-.707212,4.24357,.311876,-.615866,4.26065,.429152,-.259656,4.37539,.376864,-.42269,4.63164,.421419,-.395851,4.32026,.00507201,-.777447,3.92508,-.215175,-.76005,3.63603,-.011075,-.773267,3.6424,.021023,-.742339,4.55111,-.174949,-.755297,4.23206,.022875,-.765211,4.23264,-.372003,-.687212,3.93712,-.520199,-.56626,3.66995,-.393437,-.685437,3.65082,-.31653,-.682493,4.55529,-.462424,-.589517,4.25815,-.342931,-.684662,4.24332,-.558961,-.468188,3.96457,-.605531,-.33925,3.6906,-.581119,-.443218,3.68125,-.489974,-.51143,4.58076,-.574013,-.40743,4.28555,-.535236,-.49593,4.27008,-.621637,-.199875,3.43689,-.606138,-.267866,4.00433,-.5941,-.107017,3.71767,-.610777,-.236674,3.70543,-.543598,-.351358,4.62108,-.585842,-.187985,4.37016,-.590247,-.311444,4.31456,-.641368,-.168747,3.20202,.794787,-.937687,3.82794,.633906,-.87157,3.59503,.793574,-.953267,3.58373,.834846,-.871852,4.33659,.663862,-.860963,4.07791,.806247,-.917226,4.07877,.538466,-.74822,3.83155,.485765,-.568023,3.59398,.528837,-.732485,3.60034,.61111,-.73322,4.34061,.50223,-.612352,4.07769,.553744,-.754027,4.07833,.480711,-.433016,3.82009,.495086,-.228153,3.54622,.470894,-.399434,3.57786,.511718,-.494166,4.35533,.500224,-.319583,4.09626,.48616,-.466902,4.0789,1.99373,-.988092,3.36963,1.84526,-1.05773,3.21815,2.0189,-1.03339,3.02999,2.00393,-1.00896,3.19778,2.00696,-.991747,3.74305,1.85562,-1.05174,3.57254,2.0051,-.998608,3.55475,1.70446,-1.00965,3.41169,1.57537,-.965247,3.26701,1.68917,-1.0411,3.24435,1.7202,-1.05237,3.77942,1.59186,-.98877,3.61372,1.70835,-1.04253,3.59476,1.52656,-.887951,3.43821,1.47193,-.78215,3.26307,1.50677,-.877325,3.27316,1.52813,-.925889,3.80465,1.48396,-.823473,3.61872,1.52181,-.912507,3.62118,1.45895,-.689825,3.42065,1.49141,-.529731,3.20503,1.4642,-.672447,3.24153,1.48148,-.730163,3.80335,1.50548,-.583725,3.62438,1.47442,-.715505,3.61412,.725008,.00374959,3.44118,.578892,-.0825274,3.48828,1.06291,-.0298494,3.40082,.896924,.0177546,3.41352,.869291,-.220432,5.24571,1.00965,-.217398,5.09027,.853358,-.193329,4.87001,.864834,-.216333,5.07624,1.14692,-.271023,5.26236,1.13483,-.253342,4.85952,1.14225,-.268654,5.07901,1.01036,-.234501,5.47214,1.12864,-.314481,5.71419,1.14148,-.282194,5.45854,.86916,-.259159,5.67701,.869105,-.220727,5.43044,1.29025,-.628973,4.99961,1.27046,-.690878,4.61502,1.31084,-.522898,4.6464,1.30017,-.616159,4.63238,1.3024,-.569774,5.64681,1.28877,-.65741,5.95447,1.26251,-.726544,5.4517,1.29322,-.652701,5.53378,1.17189,-.805074,4.60241,1.21419,-.763337,4.9238,1.22879,-.750582,4.60466,1.14741,-.846256,5.35164,1.20273,-.795662,5.83934,1.21436,-.791642,5.39146,.970768,-.891441,4.61012,1.07365,-.870265,4.91401,1.08663,-.8596,4.60644,1.04961,-.905508,5.76428,.953133,-.899772,5.31679,1.05865,-.885682,5.32936,.844342,-.886825,4.91351,.713956,-.845909,4.61323,.842535,-.88705,4.61,.823495,-.911583,5.74297,.736322,-.83749,5.32643,.842907,-.883184,5.31242,.564226,-.633859,4.6439,.627746,-.759795,4.94437,.615375,-.752652,4.62593,.625433,-.770791,5.78945,.586371,-.661276,5.43362,.644185,-.76215,5.36861,.558774,-.532042,5.03187,.547055,-.39387,4.67544,.54155,-.516116,4.66238,.593613,-.44516,5.61591,.600638,-.551052,5.90713,.564999,-.550857,5.51497,1.14513,-.447299,6.54529,1.12424,-.355441,6.20087,.990551,-.332816,6.37817,1.13475,-.380451,6.36562,.858952,-.323392,6.16692,.844234,-.379794,6.528,.850152,-.331976,6.3415,.985111,-.522819,6.62225,1.07418,-.652987,6.59729,1.09842,-.561275,6.60156,.872531,-.603319,6.60222,.870517,-.50042,6.59486,.614349,-.627506,6.13914,.629777,-.525579,6.17642,1.23166,-.315783,4.62355,1.29437,-.41914,4.62746,1.22819,-.404888,5.9279,1.27532,-.491089,5.80326,1.26646,-.724318,6.18854,1.29231,-.6458,6.2189,1.14486,-.866989,6.1281,1.21748,-.800892,6.15575,1.05624,-.865083,6.3847,.933622,-.94501,6.1076,1.05155,-.920503,6.11334,.960163,-.753363,6.55583,1.06189,-.756679,6.53677,.81978,-.848666,6.38839,.695825,-.84808,6.10469,.804504,-.922369,6.10519,1.92411,-.462723,4.12696,1.91939,-.470635,3.99039,1.92224,-.469768,4.0621,1.91816,-.476725,4.28309,1.92258,-.463884,4.19511,2.14486,-.798001,4.09504,2.10912,-.893321,3.91333,2.14855,-.701862,3.91384,2.14939,-.79515,3.91382,2.12958,-.723185,4.3017,2.10239,-.810934,4.46012,2.09526,-.891018,4.27065,2.12851,-.805162,4.27987,2.01356,-.981434,4.09303,1.87843,-1.05171,3.93425,2.01517,-.991939,3.92082,2.01,-.972296,4.44702,1.90087,-1.06064,4.27504,2.02069,-.98746,4.26984,1.7464,-1.04988,4.11303,1.62098,-.993921,3.96312,1.73478,-1.04499,3.94968,1.77826,-1.05662,4.46165,1.643,-1.01046,4.2926,1.75895,-1.06476,4.28373,1.56552,-.92845,4.13204,1.50225,-.8443,3.97623,1.54784,-.927386,3.9717,1.52484,-.854974,4.3141,1.58749,-.941373,4.48169,1.57024,-.938594,4.30244,1.4993,-.740384,4.14663,1.51979,-.607728,3.96927,1.48789,-.737032,3.97651,1.52694,-.75867,4.50991,1.53984,-.631033,4.34578,1.50747,-.750701,4.32676,1.90105,-.545531,4.54775,1.76503,-.549479,4.73605,1.89524,-.626912,4.88638,1.99919,-.624673,4.69655,1.89906,-.561147,4.72849,1.64937,-.57584,4.54147,1.58014,-.669636,4.69807,1.66731,-.657934,4.8489,1.65509,-.600041,4.71608,1.9589,-.779885,4.87612,1.78105,-.745294,4.9082,1.86839,-.837184,4.88701,1.879,-.753601,4.90985,1.62489,-.765293,4.81051,1.69722,-.753834,4.8786,2.07491,-.665287,4.50311,2.03838,-.735416,4.79218,2.07749,-.753568,4.64188,2.05254,-.692023,4.66549,2.04185,-.818017,4.75858,2.00409,-.803856,4.82956,2.052,-.885117,4.62139,2.07574,-.817473,4.63004,1.57556,-.855549,4.6714,1.55984,-.763253,4.68509,1.91508,-1.01086,4.62499,1.99892,-.95415,4.61819,1.83134,-.965986,4.7741,1.69367,-.997744,4.65025,1.80294,-1.03137,4.63963,1.85415,-.898479,4.84884,-.160647,-.742236,4.86154,-.295449,-.711091,5.18629,-.403212,-.610997,4.87519,-.303498,-.689313,4.86539,-.153217,-.782484,5.55472,-.250829,-.785288,6.08469,-.372152,-.675092,5.56331,-.276317,-.739374,5.55555,-.454419,-.562317,5.2056,-.496197,-.455708,4.90386,-.462336,-.530008,4.88729,-.43011,-.645736,6.0901,-.484992,-.524887,5.59521,-.439736,-.600621,5.57589,-.52971,-.291084,4.93803,-.512101,-.411901,5.24364,-.517271,-.38302,4.92469,-.501463,-.480305,6.13254,-.528605,-.364619,5.67313,-.511826,-.449251,5.6245,-.117056,.0790733,5.21507,-.320301,.0466934,5.08926,-.32409,.0157073,5.30887,-.323151,.0275433,5.21058,-.124482,.0501713,5.43953,-.336868,-.0081487,5.60749,-.32739,.00467232,5.41539,.084756,.0158223,5.31438,.097775,.0370524,5.08832,.088729,.0249123,5.21063,.075384,-.0198017,5.63856,.080866,.00392031,5.43193,.316482,-.545018,4.92228,.225965,-.646195,5.22773,.155855,-.70265,4.88302,.254714,-.630815,4.90205,.195594,-.651079,6.12125,.116739,-.727858,5.57977,.286562,-.569715,5.63176,.215469,-.657378,5.60259,-.011097,-.768703,5.19293,.005998,-.747378,4.86816,.00608701,-.79143,6.08956,-.011613,-.778337,5.56352,.030029,-.175235,6.50667,-.135179,-.220532,6.92465,.011371,-.321206,7.12422,.020631,-.256587,6.9107,-.325457,-.134834,6.45309,-.306182,-.228309,6.86698,-.075269,-.501223,7.17304,-.032433,-.414519,7.17376,-.480547,-.575215,6.58379,-.495846,-.487014,6.60665,.243901,-.559113,6.67098,.266366,-.471242,6.21139,.237967,-.468738,6.7191,.132207,-.729924,6.60602,.206574,-.649503,6.62784,-.098784,-.833752,6.60251,.030489,-.79966,6.60161,-.202332,-.756109,6.93845,-.356306,-.756806,6.58357,-.237966,-.819489,6.59749,-1.55745,.0767214,4.99038,-1.54791,.0567864,5.20042,-1.40934,.0921624,5.10509,-1.55174,.0639434,5.11026,-1.25872,.0885554,4.9793,-1.26935,.0586594,5.19425,-1.2655,.0747084,5.1016,-1.26304,.0537974,5.43177,-1.40479,.0701514,5.29697,-1.26688,.0599634,5.28911,-1.54483,.0436563,5.43807,-1.5424,.0460024,5.29326,-.990715,-.129541,4.86322,-.962512,-.22694,5.18804,-.963148,-.348662,4.85362,-.956829,-.234478,4.86501,-1.01745,-.443925,5.16901,-1.11261,-.557515,4.83491,-1.00942,-.460422,4.84206,-1.00606,-.135866,5.53129,-1.00852,-.214073,5.82599,-.976365,-.322038,5.50544,-.976338,-.222278,5.5136,-1.01308,-.414036,5.82658,-1.10379,-.54326,5.49931,-1.01318,-.432185,5.5008,-1.27545,-.595922,5.16019,-1.47056,-.596761,4.83918,-1.27891,-.611709,4.83378,-1.25183,-.6379,5.84456,-1.46191,-.626188,5.50254,-1.264,-.623431,5.49983,-1.63072,-.521623,5.17453,-1.75392,-.401311,4.86574,-1.6393,-.515869,4.85094,-1.63969,-.571586,5.85416,-1.76328,-.434911,5.52481,-1.64169,-.556026,5.51155,-1.81028,-.293152,5.20201,-1.80989,-.175648,4.87838,-1.80382,-.286334,4.8784,-1.79268,-.183235,5.55941,-1.79342,-.298189,5.87075,-1.80647,-.300706,5.5392,-1.40214,439244e-9,6.21103,-1.54754,.00629728,5.93283,-1.54814,-.0156848,6.20616,-1.74724,-.435464,6.18421,-1.78351,-.284792,6.18004,-1.02867,-.278955,6.11075,-1.04477,-.201219,6.11125,-1.24914,-.0394798,6.43434,-1.2609,.00826328,5.91705,-1.25761,-.0204568,6.18784,-1.31306,-.244909,6.59073,-1.28751,-.137374,6.55894,-1.09236,-.510014,6.14677,-1.03641,-.381022,6.12019,-1.25036,-.529701,6.43574,-1.4495,-.65018,6.18743,-1.24024,-.623923,6.17515,.367699,-.320129,4.9489,.341984,-.448801,5.26797,.359073,-.441866,4.94076,.326001,-.348228,5.72103,.323143,-.462894,5.66783,.562169,-.233939,4.39304,.670245,-.103527,4.18633,.560494,-.195694,4.14653,.823546,-.103576,4.41891,.982141,-.0920375,4.19575,.822945,-.0814845,4.19835,1.13225,-.171743,4.40299,1.139,-.141531,4.18534,.701332,-.20089,4.65072,.599057,-.282696,4.65772,.989004,-.163048,4.64179,.837639,-.154454,4.6482,.759055,-.333728,5.86635,.665123,-.374562,5.75118,.993397,-.305027,5.99967,.865073,-.295302,5.95493,1.75603,-.32981,3.08301,1.59524,-.397605,3.13913,1.92365,-.330052,3.05415,1.6121,-.492289,3.81278,1.7576,-.415148,3.70049,1.60517,-.469864,3.66828,1.91595,-.440866,3.80751,1.91474,-.422197,3.70356,1.76649,-.446088,3.92219,1.62027,-.4994,3.9444,1.76809,-.492089,4.40333,1.63234,-.535634,4.38187,2.03909,-.520588,3.89548,1.91797,-.455667,3.90487,2.0273,-.562324,4.38084,2.09734,-.641419,4.34428,1.907,-.52191,4.39773,.231358,.104986,3.69454,.334278,-.0317614,3.70405,.285975,-.00360557,4.53613,.358648,-.177137,4.69575,.376627,-.134815,4.46318,-.075073,.265943,3.68652,.093754,.210005,3.68914,-.415091,.169395,3.68884,-.254945,.249876,3.68621,-.534168,-.118892,4.69265,-.456881,.0787594,4.54395,-.559541,-.0485595,4.46715,-.295088,.114808,4.75889,-.080366,.171266,4.60312,-.284304,.155042,4.58904,.112973,.0736564,4.75803,.129116,.119591,4.58591,-.452594,-.0365426,4.92343,-.520376,-.170414,4.92451,-.467948,-.157904,5.87198,-.525201,-.267223,5.76583,-.103161,.117352,4.93933,-.308792,.0761504,4.93282,.256962,-.0716626,4.92473,.106827,.0535894,4.93386,.187828,-.169709,5.9314,.276616,-.257259,5.82587,-.141537,-.0230457,6.02283,.048313,-.0798827,6.0068,-1.66599,.185947,3.33882,-1.77958,.0803216,3.37251,-1.35844,.275974,3.32866,-1.52084,.252828,3.32599,-1.03797,.183038,3.37129,-1.1891,.251553,3.34316,-1.08097,.0963385,4.3289,-1.0251,-.0286535,4.56663,-.979443,.0110025,4.27455,-1.4019,.206694,4.37842,-1.24318,.119441,4.59669,-1.22345,.174276,4.36386,-1.71548,.0887315,4.33703,-1.56527,.120871,4.60686,-1.57726,.173369,4.37037,-1.78016,-.0559015,4.58089,-1.79297,-.0244995,4.27702,-1.68579,.0215224,4.83214,-1.77031,-.0715876,4.85144,-1.66107,-.0279147,5.64017,-1.74238,-.0967157,5.60337,-1.40778,.127298,4.81446,-1.56204,.0958294,4.8215,-1.13025,.0320944,4.81395,-1.25212,.100216,4.80996,-1.14559,-.0171917,5.61908,-1.06313,-.0720317,5.57649,-1.40583,.0530353,5.6653,-1.26298,.0302263,5.65004,-.594124,-1.1103,-.91055,-.975047,-1.00214,-1.50229,-.533552,-1.04964,-1.30075,-.7662,-1.09738,-1.23122,-.276394,-1.04198,-.569266,-.443238,-1.01773,-.249752,-.490484,-1.04997,-.592364,-1.71793,.414825,1.25912,-1.28007,.563045,1.16995,-1.53161,.508055,1.1962,-.835816,.638729,1.19587,-1.04697,.598659,1.16559,-.447769,.646857,1.28573,-.636309,.644297,1.24213,-.045036,.714631,1.37162,-.252314,.671457,1.33119,.354213,.623246,1.37391,.164201,.707658,1.3868,.721388,.47722,1.32838,.530905,.530913,1.35016,1.12692,.351242,1.27446,.926841,.429669,1.30478,1.50911,.152882,1.20408,1.31544,.248863,1.23937,1.87483,-.0807701,1.12106,1.70829,.0585259,1.16715,1.48144,-1.16099,.945655,1.19378,-1.16751,.63808,1.46036,-1.16145,.67351,1.87002,-1.1399,1.56035,1.96392,-1.01077,1.28287,2.0031,-1.02819,1.49639,.447074,-.973484,1.31262,.779643,-1.0489,1.5684,.218283,-.941342,1.67369,.505313,-.978738,1.62709,-.387203,-.886128,1.73711,-.116881,-.901054,1.39406,-.07979,-.911225,1.71113,-1.01714,-.848471,1.74512,-.723472,-.842578,1.46033,-.697684,-.859931,1.751,-1.34371,-.724322,1.53151,-1.32843,-.760174,1.7308,.426885,-1.04361,.255067,.743145,-1.16276,.0643789,.739409,-1.10993,.382504,.588331,-1.10624,.13426,.971884,-1.16858,.308049,.938876,-1.19473,.0655919,.065346,-.968712,.429155,.145894,-1.01482,.135023,.338579,-.991172,.677038,.248221,-1.00512,.373129,.882733,-1.0997,.776413,.946189,-1.13517,.531506,-.305555,-.949192,.245126,-.493886,-.955781,.160477,-.053411,-.997659,.113703,-.175786,-.895736,.720239,-.129758,-.94453,.407019,2.07787,-.440491,1.02991,1.99649,-.253694,1.07247,2.03794,-.842287,.999662,2.0953,-.642294,.999572,1.76155,-1.11176,1.13623,1.92184,-1.00024,1.05994,.129475,-.933571,1.03732,.633373,-1.02232,.962696,.392606,-.974291,.999244,-.460598,-.850979,1.09254,-.157935,-.884961,1.06151,-1.03147,-.810071,1.25083,-.749978,-.840169,1.17296,-1.55203,-.530466,1.36771,-1.28947,-.711049,1.30943,-1.8358,.0314768,1.38917,-1.75321,-.254272,1.40299,-.440534,-.951265,-1.65427,-.187798,-1.05405,-.96728,-.325059,-1.02336,-1.3425,-.601538,-.83665,-1.78452,-.478513,-.891573,-1.77148,1.65475,-1.20092,1.48679,1.30817,-1.16456,1.36018,1.55337,-1.16424,1.23416,1.74599,-1.19475,1.61726,1.86259,.0601151,-.547438,.1606,.951003,-.442572,-2.35569,-.579264,3.73854,1.20487,-.123563,3.39916,.851758,-.7234,6.54708,.632692,-.740729,6.11338,1.6197,-.933784,4.65849,-.13545,-.622768,7.11648,-.436472,-.668888,6.57487,-1.29,-.376566,6.5597,-1.62988,-.567265,6.18338,1.12651,-.223618,4.63156,1.1221,-.342249,5.99344,2.11318,-.610127,3.89963,-.535239,.0427126,3.69983,.337266,-.20037,4.92751,-.336922,-.0545887,5.96959,-.930774,.0841386,3.4172,-1.04855,-.0454556,4.83329,-1.54684,.0290473,5.66178,2.02752,-1.04263,2.8519,-1.81554,.254641,1.32895,.015089,-1.03848,-.182678,-.040065,-1.04611,-.52584,.038691,-1.02324,.0362609,.931395,-1.08597,1.17557,1.04375,-1.11696,1.48508,.819228,-1.0599,.970167,-.933918,-.778621,-1.77323,-1.22444,-.80592,-1.62732,-.703752,-.727601,-1.87377,.746437,-.980774,-1.9525,1.07641,-.923239,-1.88872,.440983,-.985952,-1.98279,1.31904,-.677987,2.96777,1.32451,-.607955,2.92741,1.31626,-.759412,3.01025,.343625,-.0186556,-3.31935],morphTargets:[],normals:[.812983,-.581225,.034761,.734764,-.151219,-.661214,.92822,-.371929,-.002808,.590808,-.379009,-.71221,.721152,.057344,-.69039,.933714,-.355754,-.039766,.829279,-.558672,.011872,.985412,.147954,-.083987,.977325,-.204932,-.053133,.975188,.108341,-.192938,.983276,-.147801,-.106235,.90933,.377544,-.174749,.837855,.530778,-.127445,-.341655,-.938353,-.052095,-.159825,-.984008,-.078188,.003632,-.991516,.129673,.123447,-.990265,.064211,.237648,-.96585,.103183,.088778,-.98761,.129307,-.290384,-.956877,.001923,.923399,-.382244,.034089,.981109,-.18833,.04416,.943358,-.301248,-.138951,.978942,-.198431,.047853,.859188,-.478957,-.179846,.911222,-.411389,-.019562,.683462,-.72457,-.088687,.406415,-.812281,-.418287,.389843,-.915067,-.103061,.622883,-.686361,-.375378,.713736,-.534165,-.452986,.497696,-.728782,-.470199,-.55739,-.753349,-.348918,-.563646,-.809534,-.164006,-.513749,-.787072,-.34135,-.48909,-.839259,-.237495,-.593982,-.746391,-.300027,-.541002,-.840999,-.001862,-.359996,.905087,-.226234,-.433149,.901212,-.011902,-.252388,.967559,-.010224,-.200964,.962218,-.183538,-.482803,.693899,-.534196,-.393017,.79931,-.454512,-.574053,.775323,-.263192,.384594,.909452,.157903,.483077,.862514,.150578,.433149,.888363,.152135,.477401,.86578,.149876,.473556,.868435,.146641,.368877,.913205,.172948,.287088,.940764,.180273,.518662,.8464,.120579,.474136,.865688,.160375,.529832,.8417,.103946,.468398,.869778,.155034,.249611,.952086,.176611,.197913,.969268,.146031,.271096,.949705,.156682,.194067,.966979,.164983,.249428,.949156,.192022,.167089,.970183,.175512,.062136,.987945,.141606,.089908,.983978,.153935,.048341,.987671,.148747,-.030152,.98938,.142094,-.113987,.9906,.075198,-.019379,.987091,.15891,-.025513,.999268,.027772,.064852,.987121,.146031,.002869,.98764,.156529,.017701,.990661,.135044,.069308,.983184,.168859,-.054903,.992157,.112064,.102054,.990478,.092166,-.017029,.993378,.113468,.757012,.653371,0,.741966,.67037,-.006684,.671285,.740776,.024537,.644002,.763695,.044557,.635517,.769768,.059572,.769951,.636525,.044649,.822169,.56917,.001343,.844783,.534867,.014771,.910428,.413038,-.022309,.828028,.560656,-.00238,.978118,.190069,-.084231,.923734,.362285,-.12421,.910489,.411634,-.03943,.982513,.071169,-.171911,.989715,.118442,-.08002,.957427,-.232734,-.170751,-.099612,.986084,.13303,-.11655,.985321,.124577,-.064089,.988006,.140385,-.129429,.98703,.094638,-.161657,.980346,.112888,-.149876,.98178,.116733,-.173864,-.934965,-.309183,.043245,-.990661,-.129154,.089755,-.969329,-.228767,-.225196,-.950316,-.21485,-.538316,.841029,.053285,-.405347,.912625,.052309,-.57622,.814386,-.068392,-.397717,.911344,.105838,-.183294,.931242,.31489,-.374187,.888516,.265481,-.116611,.946684,.300211,.062258,-.968902,.239418,.09302,-.976226,.195685,.173711,-.941771,.287881,.107944,-.945128,.308237,.066836,-.968383,.240242,-.027985,-.976104,.21543,-.021729,-.992828,.117496,.053499,.986175,.156804,-.332194,.93646,.112491,.263985,.955107,.13422,-.367443,.919462,.139775,.296426,.941771,.158574,.65978,.730735,.175024,-.283761,.941527,.181616,-.99707,-.035615,-.067568,-.977233,.211921,-.007752,-.985809,.166875,-.017365,-.964782,-.231758,-.124302,-.770043,-.615375,-.168218,-.978271,-.175573,-.110233,-.976226,.214484,-.030244,.29783,-.945585,-.130924,.4897,-.868007,-.082034,.479812,-.868648,-.123112,.370983,-.922758,-.104007,.087802,-.982543,-.163945,.289071,-.946623,-.14243,.472793,-.876461,-.090854,.315378,-.940062,-.129673,.44734,-.88873,-.100131,.270333,-.955107,-.120975,.413099,-.908109,-.068209,.642079,-.766503,-.013184,.779717,-.624409,.046083,.742821,-.669027,.024232,.637165,-.770623,.009613,.937284,-.319773,.138524,.776238,-.628834,.044496,.652211,-.757958,-.008454,.738701,-.67391,.010987,.665395,-.745354,-.040681,.807459,-.589007,.032105,.694205,-.717307,-.05942,.08655,.982452,.165044,-.255531,.951598,.17069,.350993,.915403,.196966,-.354564,.930387,.092715,.035585,.980865,.191351,.079562,.959746,.269326,.172491,.943144,.284066,-.060945,.99234,.107395,-.308451,.950804,.028077,-.371776,.927427,.040284,-.293832,.941618,.164312,-.537889,.841212,.054872,-.524888,.851131,-.004089,-.574602,.818384,-305e-6,-.620319,.784295,.006684,.488418,.833277,.25898,.581164,.775903,.245247,.516984,.827082,.220557,.556658,.804224,.208167,.51091,.840938,.178167,.408979,.889309,.204443,.342692,.900327,.268197,.642506,.730552,.231147,.780145,.569689,.25837,.67983,.704062,.205115,.698599,.676351,.233375,-.145665,-.901914,.406537,.050569,-.968657,.243141,-.036744,-.938597,.343028,-.069643,-.946593,.314768,-.098056,-.95877,.266671,-.203986,-.923063,.325999,-.377667,-.845515,.377361,-.23957,-.857845,.454573,.080782,-.927671,.364513,-.224403,-.923856,.310007,-.012238,-.958922,.283334,-.19071,-.948943,.251198,-.353832,-.892178,.280648,-.430189,-.837458,.337016,.03531,-.742363,.669027,.113956,-.941862,.31605,-.063509,-.890225,.451033,.483657,-.774773,.407117,-.0065,-.961333,.275277,-.136326,-.962645,.233894,-.524094,-.800043,.291879,.967437,.235511,.092593,.998199,.02118,.056001,.965453,.260475,.003967,.993896,.102084,-.041627,.908567,.417707,.003052,.931913,.347087,-.105045,.880764,.456313,.126591,.733238,.663991,.146336,.813746,.576769,.071444,.750237,.658864,.054964,.531144,.826319,.187078,.332835,.903531,.269784,.273263,.887539,.370891,.496017,.797845,.34257,.166143,.94702,.274819,-.063509,.971129,.229865,-.035798,.986602,.159154,-.05356,.93466,.351421,-.291269,.904721,.3108,-.263344,.939879,.217292,-.325419,.923765,.201788,-.405988,.871548,.274789,.79165,.606525,.073489,.522904,.839869,.14539,.850703,.519028,.082919,.533586,.836665,.123325,.977233,.20188,.064943,.86523,.498672,.051485,.606861,.792718,.057222,.558123,.809961,.180059,.847835,.504135,.164281,.779687,.602649,.169897,.609912,.766442,.201331,-.996918,-.020753,-.075381,-.968261,.245857,-.04471,-.966826,-.226325,-.118229,-.975555,.209784,-.065218,-.953612,.300974,-702e-6,-.993133,-.116733,.00354,-.968871,-.149022,.197577,-.933653,.184606,.306894,-.818537,-.481613,.313059,-.853084,-.506821,.123783,-.770775,-.172094,.613392,.875942,.216376,.431135,.581683,.707968,.400464,.671316,.364788,.645161,.786004,.513047,.34489,.827967,.506363,.240852,.937132,.17954,.299142,.516221,.837397,.17954,-.574389,.818049,.028962,-.597919,.801233,-.022095,-.805231,.592914,-.005097,-.85818,.513138,-.012452,-.974456,.223579,.019898,-.85345,.521073,-.006165,-.573199,.815577,.078829,-.765831,.633778,.108493,-.573321,.818659,.03235,-.903806,.422803,.065706,-.614063,.779595,.122868,.807245,.589831,-.020508,.704093,.708396,-.049165,.838221,.541704,-.062563,.69863,.715384,-.009003,.961455,.273782,-.024598,.839595,.543199,.001953,.708457,.704856,.035035,.708792,.704184,-.041414,.892972,.44969,.018555,.814814,.576739,-.05829,.7275,.676595,.113529,-.349223,.926359,.141026,-.703848,.698843,.127201,-.609699,.778161,.150639,-.345897,.929106,.130741,-.911649,.402844,.08124,-.710166,.687399,.151921,-.377819,.912595,.156072,-.630604,.760735,.153478,-.397015,.905759,.148106,-.723502,.686483,.072329,-.4232,.90289,.074953,.938444,.331736,.096133,.911344,.400678,.09415,.808039,.578417,.111667,.813349,.572558,.103,.993896,.103488,.03766,.954466,.288888,.074374,.832301,.546617,.091769,.921751,.387371,.016816,.796319,.597827,.0918,.790155,.612354,.025239,.90289,.422498,.079073,-.354747,.925321,.133732,-.034669,.9888,.145054,-.132694,.988678,.069918,-.588702,.806818,.049532,-.853725,.512406,.092441,-.527177,.825648,.200873,-.078677,.986236,.145238,-.426527,.889889,.161626,-.107456,.978851,.174017,-.557421,.815577,.155095,-.145573,.967742,.205573,.689932,.718375,.088717,.532884,.841365,.089938,.744835,.65862,.106723,.51619,.85165,.090609,.907163,.411908,.085818,.753746,.650807,.090976,.529191,.842738,.098636,.540819,.837428,.078799,.764611,.639119,.082858,.702048,.706992,.085177,.572649,.815027,.087954,-.600604,.794671,.087771,-.838313,.539293,.079836,-.797082,.596881,.091311,-.588214,.80636,.061251,-.974822,.219794,.036988,-.860073,.508133,.045045,-.637349,.768731,.053163,-.817743,.575518,.005707,-.663259,.748283,-.011811,-.894406,.447188,-.002106,-.701956,.711936,.018586,.756798,.653584,-.006439,.92938,.367504,-.033784,.906064,.422956,-.010468,.749413,.661885,-.015931,.998169,.058718,-.012818,.926817,.375103,.015839,.776605,.628468,.043001,.726005,.683554,.075045,.939665,.336558,.060945,.906339,.422468,.005585,.736198,.668111,.107669,-.44322,.891598,.092532,-.466597,.87051,.156316,-.646931,.756005,.099368,-.707053,.695914,.12537,-.893033,.446883,.052309,-.66982,.742454,.007752,-.43025,.902676,-.004975,-.623493,.781396,-.025483,-.411664,.910886,.027558,-.727439,.682638,.069308,-.43849,.885952,.150884,-.670675,.735435,.096286,-.817255,.561144,.130955,-.67101,.73629,.087069,-.870968,.479019,.109226,-.565142,.81869,.101535,-.709799,.633931,.307077,-.499954,.862484,.078066,-.897,.319285,.305612,-.803461,.005432,.595325,-.790643,.264992,.551897,-.952483,.011078,.304361,-.57329,-.056307,.817377,-.629749,.287454,.72161,.877804,.243904,.412244,.654134,-.076632,.752464,.776116,-.243385,.581683,.914731,-.229682,.332377,.525529,-.37965,.761345,.690878,-.431501,.580035,.837825,-.44908,.310373,.654134,-.559771,.508621,.50795,-.613819,.604297,.556749,-.767785,.317026,.727989,-.618641,.29545,-.803583,-.228462,.549577,-.898495,-.301248,.319254,-.698569,-.600726,.388653,-.609119,-.391644,.689596,-.297769,.954619,.003082,-.040101,.997101,-.064394,-.081698,.996521,.0159,-.499405,.866329,-.005188,-.833796,.54738,.071596,-.476577,.876064,.073092,-.082308,.996216,.026795,-.324564,.942076,.084506,-.080782,.994018,.073458,-.53856,.831843,.133915,-.098666,.978088,.183233,.79751,.603107,-.014771,.591113,.806574,.002594,.863979,.502731,.027833,.558092,.829585,-.01709,.980621,.189123,.050844,.85696,.514786,-.023286,.5992,.800531,.007111,.867275,.474715,.149846,.610309,.784234,.111545,.639882,.748405,.174383,.807367,.577441,.121006,.625965,-.484054,.611377,.382855,-.457259,.802667,.529557,-.637959,.559038,.31959,-.671072,.668935,.340587,-.819727,.460463,.61507,-.687368,.386212,.780877,-.504898,.367748,-.143895,-.600909,.786248,-.387829,-.552202,.737968,-.290597,-.775414,.560594,-.570849,-.612262,.547014,-.119144,-.356945,.926481,-.440382,-.340617,.830653,-.722007,-.379833,.578265,.930113,.363781,.050172,.918058,.39613,.014344,.699057,.714591,.025636,.770501,.61214,.17774,.990814,.073214,.113559,.99939,.034364,-.005951,-.763665,.644642,.034791,-.963652,.266213,.021943,-.935118,.354015,-.013367,-.78695,.613178,.068148,-.999786,-.017518,-.009705,-.968444,.248177,-.021546,-.7463,.664998,.027619,-.931669,.363262,183e-6,-.735923,.676199,.033296,-.974212,.225501,.006867,-.779504,.623585,.058626,.866237,.495956,.060366,.697958,.713309,.063356,.893826,.444838,.056001,.70278,.707968,.06943,.980224,.188513,.059877,.904447,.422101,.061373,.741539,.666524,.076357,.687948,.720847,.083956,.898282,.432325,.078372,.859584,.506974,.063601,.708609,.693075,.132206,-.060854,.15598,.98587,-.339518,.216681,.915281,-.239845,-.214545,.946776,-.565539,.018921,.824458,-.002228,.730338,.683065,-.478622,.65389,.585894,-.837977,.372326,.398877,-.999084,458e-6,.042634,-.980956,.16892,.095676,-.948088,.310099,.070284,-.969481,.23188,.079348,-.802423,.567614,.184149,-.816065,.567156,.111148,-.934263,-.033692,.3549,-.601032,-.284951,.746666,-.747734,-.082827,.658803,-.898373,-.286966,.332499,.822382,.556627,.117466,.898465,.418744,.131779,.717368,.678579,.157659,.672628,.724784,.149113,.730125,.531938,.428846,.869686,.480239,.113956,.960875,.251137,.116642,.679525,.047334,.732109,.923246,.131108,.361064,.473281,.139225,.869808,.311899,-.277444,.908689,.656606,-.215552,.722739,.926969,-.184088,.326792,.669668,-.438948,.599048,.803247,-.520188,.290139,.449416,-.56093,.695212,.60387,-.736351,.305094,.307627,-.726402,.614551,.366955,-.871487,.325266,.114505,-.641743,.758293,.07947,-.915342,.394696,-.582904,-.481887,.654195,-.49086,-.78402,.379894,-.325144,-.54387,.773583,-.766503,-.562731,.309458,.620594,.782769,.045534,.446059,.891537,.078433,.644032,.763298,.050539,.489456,.86639,.098636,.853725,.519883,.028932,.709342,.704489,.021302,.545518,.836634,.048982,.684194,.728446,.034608,.453536,.891201,.003327,.487594,.871395,.053682,.59621,.802118,.033204,-.521134,.852779,.033723,-.793542,.608386,.010132,-.69689,.717124,-.003388,-.573443,.816858,.062105,-.961058,.275887,.01532,-.76986,.638173,0,-.49556,.868191,.024934,-.695456,.717429,.039766,-.462111,.885037,.056001,-.778741,.622791,.075198,-.49971,.862117,.083499,-.321329,.606983,.726829,-.147923,.067415,.986694,-.023011,.539293,.841792,-.503098,.361217,.785089,-.015229,.920927,.389386,-.363598,.857906,.362926,-.728263,.584887,.357036,-.940916,.335551,.045076,-.893429,.431867,.123356,-.744682,.663564,.07123,-.783959,.619739,.03592,-.560686,.819453,.118625,-.551164,.832728,.0524,-.887295,.09595,.451033,-.669515,.114078,.73397,-.496445,-.134251,.857601,-.796838,-.361675,.483932,.69924,.707327,.103488,.721854,.686056,.090823,.542405,.835444,.088107,.558733,.826472,.068667,.810846,.578784,.086428,.700674,.680013,.215888,.847133,.521012,.104343,.582232,.390912,.712851,.800836,.244209,.5468,.923795,.304483,.232032,.502426,.005493,.864589,.777917,-.011811,.628224,.965148,.052278,.256417,.796014,-.138279,.589251,.935301,-.190222,.298318,.566881,-.299387,.767449,.72924,-.51735,.447798,-.328257,-.446455,.832392,-.044435,-.822291,.567309,-.004425,-.421339,.906857,-.485366,-.726646,.48616,.362987,-.929411,-.066347,.637226,-.766839,-.076662,.565783,-.818873,-.096408,.420515,-.904904,-.065584,.831843,-.549547,-.077364,.633808,-.76751,-.09592,.361858,-.929472,-.071291,-.068422,-.977142,.20127,-.089969,-.991211,.096927,-.15067,-.982025,.113407,-.159551,-.987182,-58e-5,-.273141,-.958525,-.080996,-.279763,-.957884,.064425,-.14893,-.952391,.265999,.533921,.838923,-.105472,.256569,.637684,-.726279,.300272,.952879,-.042604,.451613,.493515,-.743248,.072939,.704672,-.705741,.120487,.992706,-.003662,.242622,.970031,.010468,.105472,.994324,.012391,.446486,.893582,-.046144,.592395,.385693,-.707297,.699088,.698447,-.152898,.626789,.770837,-.113437,.392346,-.916288,.080325,.399213,-.618519,-.676748,.616535,-.78457,.065432,.222541,-.695029,-.683615,.633869,-.772729,.032441,.399426,-.913297,.079562,.209174,-.973083,.09653,.161046,-.977233,.137974,-.204688,-.977355,.053133,.024323,-.781945,-.622822,-.304788,-.720145,-.623249,-.478957,-.877651,-.016694,-.457289,-.889279,.001923,-.650319,-.758232,.046266,-.651601,-.758538,-.003906,-.540025,-.549486,-.637501,-.428144,-.605853,-.670492,-.878689,-.476882,-.020966,-.995178,-.097537,-.008728,-.775719,-.092959,-.624165,-.682669,-.366527,-.63213,-.877285,-.479904,824e-6,-.994842,-.091739,-.042512,-.953093,.30253,.008759,-.763878,.22251,-.605762,-.952483,.298654,-.059694,-.792199,.609546,-.029023,-.795709,.604907,.029969,-.638173,.444105,-.628864,-.318461,.947447,.029237,-.498215,.57976,-.644673,-.602405,.79754,.031709,-.288461,.697928,-.655446,-.612751,.790216,.008026,-.343333,.938994,.019745,-.067721,.997681,.00589,-.043977,.998993,.008362,-.077364,.720664,-.688925,.581927,.812006,.044527,.579852,.797876,.164708,.8417,.502365,.197851,.825251,.562822,.04648,.383984,.921049,.064577,.394513,.910947,.120487,.2631,.962279,.06888,.11951,.99234,.030793,.139042,.989471,.039399,.233131,.970153,.066256,.987854,.143284,.059908,.980438,.092654,.173589,.917447,-.395764,-.040193,.83697,-.547197,-.001404,.645039,-.764122,.001312,.387371,-.919523,.066195,.300882,-.943175,.140782,.282632,-.959197,-.0065,-.532121,-.845698,.040254,-.655873,-.752739,.056093,-.820582,-.3961,-.411969,-.87228,-.487533,-.037172,-.930662,.058412,-.361095,-.991119,-.072359,-.111545,-.898282,.394452,-.193487,-.76989,.628864,-.108463,-.937956,.32487,-.121128,-.738365,.646077,-.193304,-.360088,.932798,-.013825,-.612293,.789544,-.041169,-.569506,.816401,-.095523,-.378033,.925748,-.004028,-.081301,.996582,.013855,-.074679,.997192,-.003174,.851619,-.302316,-.428114,.933714,-.045564,-.355083,.973968,.093966,-.206244,.942869,.007569,-.333018,.938719,.221656,-.263894,.884274,-.263771,-.385266,.741966,-.492935,-.45436,.754936,-.512101,-.409589,.58919,-.707297,-.390515,.578234,-.695181,-.426984,.248787,-.95822,-.140934,.234748,-.904355,-.356334,.262856,-.820826,-.507065,.157842,-.899258,-.40788,-.452345,.08475,-.887783,-.663045,.373394,-.648762,-.550829,-.084841,-.830256,-.490158,.501907,-.712577,-.423109,-.485061,-.765282,-.303018,-.397565,-.866054,-.443556,-.702963,-.555895,-.498398,-.689627,-.525346,-.403211,-.861934,-.307321,-.474319,-.819025,-.322764,-.230384,-.958342,-.168767,-.460341,-.74633,-.480667,-.550676,.544694,-.632466,-.636677,.687735,-.348766,-.799646,.451125,-.396252,-.342906,.939299,.008728,-.455153,.880703,-.130955,-.225867,.963652,-.142491,-.234413,.972015,.014191,-.127384,.989715,.064852,-.117344,.99176,.051302,.134373,.988495,.069155,.139073,.989227,.045381,.293435,.950682,.100375,.281381,.95761,.061525,.469283,.87524,.116977,.454024,.886929,.084628,.673177,.73394,.089969,.651204,.743217,.153233,.877163,.458724,.141758,.835688,.549181,.001007,.97467,.223365,-.009217,.910977,.386639,-.143437,.467269,.86816,.167028,.317209,.939238,.130955,.151585,.981719,.114872,.161779,.976775,.140385,.319102,.936491,.145421,.61095,.783227,.115055,.640675,.75808,.121586,.754326,.654561,.049867,.788873,.61446,.007141,-.182531,.980651,.070406,-.077792,.9906,.112308,-.023041,.990387,.136387,-.072329,.995514,-.060579,-.096652,.995086,.020142,-.14066,.98648,.083987,-.091861,.98648,.135655,-.528092,.563585,-.635182,-.612079,.544603,-.573351,-.71514,.481704,-.506424,-.687368,.543687,-.481552,-.833522,.14359,-.533464,-.64742,.130985,-.750755,-.429151,-.383129,-.817927,-.666463,-.345073,-.660817,.390057,-.902982,-.18009,.604633,-.742271,-.288766,.618,-.761986,-.193487,.398968,-.875027,-.274056,.131932,-.982818,-.129063,.1583,-.958678,-.236335,.386395,-.849818,-.35844,.17655,-.931944,-.316691,.813776,-.549303,-.189734,.926267,-.266274,-.26661,.794061,-.538499,-.281838,.967589,.019776,-.251717,.938871,.287484,-.189245,.844356,.53386,-.044771,.872677,.479202,-.093448,.481368,.863124,.152562,.372509,.912931,.166662,.301859,.938322,.168584,.363628,.914457,.177526,.294565,.936064,.192206,.469192,.869228,.155736,.4532,.878872,.148778,.457961,.875454,.154393,.465926,.8717,.151646,.482376,.865932,.132115,.290445,.94348,.159459,.205542,.968993,.136967,.325175,.925748,.192877,.267556,.952696,.143956,-.050478,.988189,.144505,.04944,.990051,.131504,-.07593,.987396,.138829,.029054,.993255,.112033,-.149113,.984283,.094272,-.106143,.986969,.120701,-.123966,.985015,.119785,-.072268,.985626,.152593,.625385,.77337,.103671,.623188,.773675,.114109,.76104,.644917,.069918,.770928,.633045,.069704,.852077,.521775,.040559,.846217,.53206,.027558,.951994,.306009,.004517,.935728,.351787,-.025239,.640706,.765496,.058779,.7369,.675771,.016083,.938902,-.321512,-.122593,.996277,.038026,-.077181,.997497,-.044832,-.054231,.909574,-.405835,-.088961,.595355,-.796625,-.104404,.782556,-.608478,-.131687,.728416,-.679312,-.088839,.538438,-.841029,-.051881,.260933,.947722,.183569,.156438,.972381,.173132,-.086245,.984954,.149693,-.089267,.984161,.153111,-.490005,.871578,.015503,-.396161,.917997,-.017792,-.448622,.893674,-.003571,-.501297,.849055,.166509,-.571337,.818323,-.062197,-.603137,.795556,-.057405,-.299417,.948607,.102237,-.546068,.79339,.268868,-.237678,.941435,.239143,-.561541,.805017,.191198,-.799432,.568529,-.194067,-.780541,.57152,-.25309,-.853877,.388318,-.346477,-.902524,.339976,-.26429,-.829249,-.357128,-.429823,-.928617,.097964,-.357799,-.878109,-.370373,-.302805,-.962249,.04413,-.268532,-.434004,-.63628,-.637776,-.363842,-.865444,-.344371,-.616962,-.66039,-.427992,-.215949,-.841578,-.495041,-.419324,-.880703,-.220222,-.668722,-.687307,-.283547,-.543657,.743431,.389477,-.256996,.914029,.313822,.059633,.824793,.562273,.317759,.850246,.419568,.700095,.107791,-.705832,.640217,.678793,.359569,-.880001,-.223518,-.419019,.672262,.467605,-.573901,.773888,.542497,.326701,.926145,.377056,.003449,.939512,.205145,.274209,-.246681,.031495,-.968566,-.536668,-.442793,-.718253,.732994,.548082,.402844,.888974,.069033,.452681,.540178,.671346,.507401,.551164,.68511,.476211,.703818,.541856,.459334,.823573,.014801,.566973,.203162,.900113,.385327,.140324,.904355,.402966,-.465224,.882962,.06241,-.594836,.80166,-.05884,-.765648,.60509,-.218177,-.778497,.588092,-.219214,-.893094,.311136,-.324839,-.896054,.286233,-.339305,-.795984,.591632,.127812,-.991577,.102145,.079531,-.831172,.555956,.001892,-.995605,.012085,.092563,-.871914,-.450758,-.191168,-.648061,-.758202,.071444,-.830714,-.538835,-.139714,-.543626,-.821955,.169744,-.632832,.766167,.111667,-.849025,.526353,.045534,-.986175,-.018921,.164525,-.860561,.487136,.148686,-.986358,-.037324,.160192,-.582507,.787347,.201819,-.854701,-.514939,-.065401,-.878231,-.478133,.007294,-.655019,-.740471,-.150487,-.653188,-.698538,-.292154,-.0889,.976287,.197302,-.092563,.979644,.178045,-.20127,.973083,.111972,-.080538,.960662,.265694,-.132725,.980621,.143864,-.214301,.965758,.146184,-.405133,.910154,.086184,-.277291,.932737,.230384,.064974,.944426,.322153,.095584,.936308,.33784,-.08414,.932432,.351329,.017579,.883969,.467177,-.140446,.98117,.132511,-.17365,.968078,.180609,-.173559,.946135,.273263,-.14304,.965545,.217322,-.138218,.938475,.316416,-.163976,.980773,.105502,-.119205,.894345,.431196,-.164129,.867275,.469955,-.040712,.805017,.591845,-.305002,.812037,.497482,-.18012,.957121,.226814,-.087924,.964293,.249763,-.028748,.975585,.217597,-.011139,.982665,.184881,-.142735,.9794,.142735,-.330576,.892666,.306314,-.480178,.823481,.302072,.356517,.913999,.193609,.5215,.797204,.304025,.563646,.737083,.372753,.4232,.771874,.47441,.372143,.847438,.378582,.364635,.898618,.243904,.286172,.932524,.22013,.402112,.895413,.191046,.303934,.933439,.190405,.436689,.876339,.203192,.132237,.90759,.398419,.228828,.94702,.225288,.032502,.852748,.521287,.021302,.921903,.386792,.182531,.940733,.285806,.237922,.953429,.185339,.273812,.9476,.164464,.234901,.959838,.153264,.337107,.923429,.183325,.246345,.953856,.171545,.326731,.930723,.16419,.25779,.938932,.227851,.187964,.937986,.291269,.327189,.932401,.153325,.445174,.878658,.17246,.295846,.938658,.177007,.427625,.889126,.162969,.67214,.664235,.327067,.563982,.779626,.272164,.776574,.521409,.353587,.393872,.766594,.507065,.41142,.794397,.446791,.419599,.840877,.341807,.497024,.846278,.191626,.430342,.880032,.20072,.491348,.85873,.14536,.449934,.87936,.155766,.256691,.933531,.25013,.327799,.905362,.269906,.165136,.910489,.37904,.492172,.864071,.105411,-.058992,.918241,.391552,.001709,.964873,.262703,.622425,.782373,.020936,.506027,.853755,.122501,.444197,.885556,.135838,.698325,.715171,.02942,.728568,.684317,-.029572,.511002,.849178,.133122,.250649,.941649,.224647,.811762,.577715,-.084964,.948882,.278298,-.148778,.856075,.514328,-.050691,.963805,.252022,-.086673,-.845607,.531388,.050417,-.942656,.302469,.140996,-.981231,.186804,.047456,-.745994,.651845,.136082,-.991577,-.103519,.077639,-.986297,-.164861,.004791,-.985382,.16245,-.050722,-.980956,-.17835,-.076876,-.904782,.424024,-.039155,-.880612,-.473556,-.015564,-.870937,-.487503,-.061525,-.675253,-.733116,-.080721,-.659719,-.747765,-.074587,-.860347,-.503098,-.081515,-.626118,-.779687,.005799,-.649434,.692068,.314951,-.922544,.329844,.200232,-.917875,.3596,.16776,-.626789,.705344,.331004,-.994781,-.091769,-.043947,-.998321,-.054109,-.019532,-.685934,-.712882,-.145817,-.892666,-.435499,-.116001,-.885006,-.4279,-.183447,-.696463,-.695578,-.176336,-.068728,.97702,.201727,-.294656,.940825,.167272,-.354808,.901028,.249458,-.108737,.96585,.235054,.085604,-.995544,-.039216,.358806,-.930052,-.078768,.320627,-.947172,-.006714,.076083,-.99646,.035646,.046785,-.996704,.066164,.272927,-.961974,.00943,.47853,-.876309,-.055086,.202887,-.979186,-.001648,-.001862,-.997314,.072878,.680654,-.727866,-.082797,.87756,-.475112,-.064241,.993988,-.107089,-.022279,.988861,-.145756,-.029695,.963866,.265358,.022614,.969268,.243843,.032441,.864589,.499557,.053652,.761162,.644581,.071596,.873897,.482253,.060701,.763482,.640217,.084658,.583117,.799005,.146611,.605426,.786767,.120121,.46556,.869259,.166112,.464339,.864864,.19071,.478317,.859706,.179083,.460402,.875088,.149052,.451552,.879513,.149968,.445204,.877346,.178869,.306345,.927641,.213569,.269936,.939695,.209876,.246895,.942228,.226234,.345653,.921537,.176855,.3502,.912931,.209479,.34199,.919645,.192999,.39436,.900784,.181738,.330363,.918027,.219214,-.110172,.986206,.123386,.074648,.988433,.13184,-.123356,.986328,.109104,.150761,.977935,.144475,-.136509,.981872,.131382,-.104953,.983184,.149419,-.085025,.984741,.151677,-.071261,.984039,.162908,-.094882,.983642,.15302,-.083956,.983795,.15833,-.050905,.989349,.136204,-.070559,.985595,.153661,-.014985,.983947,.177709,-.043519,.984924,.167302,.121403,-.9888,-.086459,.139775,-.950285,-.278115,-.10538,-.991516,-.075747,-.105411,-.990417,-.088961,-.170721,-.983398,-.060976,-.076418,-.982025,-.17246,-.170598,-.980621,-.095981,-.220679,-.975341,-.002747,-.219214,-.97528,-.027284,-.108219,-.994049,-.009827,-.253395,-.966002,.050905,-.20542,-.97351,.100192,-.162572,-.981658,.099429,-.182592,-.982299,.041231,-.197363,-.978545,.058901,-.227912,-.97,.084506,-.081362,-.994263,-.069002,-.113834,-.993286,.018983,-.145573,-.987701,.056642,-.006531,-.960601,-.27781,-.027955,-.986511,-.161107,-.162542,-.970672,-.177068,.055849,-.968322,-.243324,.131138,-.985229,.109897,.092624,-.995666,-.007691,.188971,-.97528,.114414,.013245,-.999847,-.010468,.155339,-.979278,.129917,.140355,-.975463,.1695,.095584,-.988433,.117527,.115452,-.96646,.229255,-.014893,-.999847,.005585,.077731,-.970824,.226783,.025971,-.952086,.304636,-.063936,-.917692,.392071,.091952,-.93057,.354289,.086886,-.88052,.465926,.08887,-.983184,.15949,.146062,-.951415,.271004,-.015229,-.997925,.062349,.192206,-.907285,.373913,.270547,-.820002,.504349,.247902,-.889889,.382885,.433119,-.763634,.478774,-.039979,-.978545,-.202033,-.1442,-.970214,-.194586,-.197333,-.972503,-.123569,-.182531,-.982086,-.046541,-.166784,-.984802,.04828,-.407208,-.901639,-.145573,-.384808,-.921995,-.042451,-.665548,-.712729,-.221412,-.634724,-.757195,-.154057,-.880001,-.393567,-.265786,-.85345,-.454573,-.25483,-.954833,-.007202,-.297006,-.938719,-.093295,-.331797,-.005554,-.810236,.586047,.48204,-.628864,.610004,.767815,-.464248,.44142,.694143,-.566881,.443617,.41789,-.803064,.424757,.611011,-.644032,.46028,.38319,-.847224,.36787,-.205512,-.88876,.40965,-.35197,-.920255,.170843,-.474013,-.878353,-.061617,-.507584,-.841182,-.186407,-.324412,-.94586,.008576,-.576586,-.806024,-.133457,-.223487,-.974639,.011292,-.502029,-.856563,-.119114,-.811274,-.524003,-.259194,-.769982,-.59386,-.233283,-.946348,-.216285,-.239967,-.921354,.267281,-.282174,-.929746,-.16126,-.330943,-.964507,.226875,-.134892,-.765893,.627186,-.141453,-.75042,.659444,.044588,-.14478,-.979522,.139714,-.022004,-.9906,.13477,.217048,-.909116,.35548,.212409,-.933775,.287942,-.984313,.171758,.039796,-.734153,.651204,.192083,-.990936,.122013,.055666,-.746147,.635609,.198096,-.303842,.898434,.316965,-.260475,.906735,.331614,-.757012,-.643208,-.114933,-.964232,-.260567,-.048036,-.742698,-.663045,-.093509,-.958983,-.281381,-.033692,-.130406,-.991424,.006775,-.420148,-.903806,-.081179,-.065371,-.996734,-.047151,-.354686,-.929807,-.098117,.076296,-.993378,.085726,.186041,-.970031,.156224,.125706,-.992004,.008484,.270333,-.961119,.055971,.315439,-.923643,.217505,.49501,-.824091,.275307,.400647,-.911008,.097568,.607471,-.775353,.172582,.715079,-.591357,.372723,.860927,-.02823,.50792,.804285,-.536241,.255928,.922819,-.120396,.365856,.558977,.67748,.478011,.730247,.598071,.330119,.600146,.732597,.321024,.795892,.563555,.221137,.187567,.861812,.471206,.300821,.846706,.438826,-.767541,.6198,.163335,-.234352,.92645,.294443,-.991424,.128971,.020753,-.776818,.619465,.112918,.65038,.728996,.213324,.344462,.89526,.282479,-.725578,-.670156,-.156224,-.957183,-.270577,-.102573,.023896,-.991516,-.127537,-.303842,-.938414,-.164464,-.307779,-.933927,-.181677,.204199,-.976287,-.071688,.344554,-.938658,-.013367,.478713,-.876736,.045869,.639699,-.762749,.094668,.525101,-.850765,-.021149,.962371,-.180914,.202643,.810999,-.572527,.120273,.889584,.379162,.254616,.939146,.259987,.224433,-.770653,.634419,.059511,-.777245,.624104,.079745,.554918,-.830439,-.049318,.583331,-.81106,-.043489,.592761,-.801477,-.078768,.593921,-.797174,-.108249,.974303,-.198675,.105838,.964538,.205023,.166173,.773095,.617603,.144383,.96585,.230171,.118809,.792627,.600482,.105472,.989471,-.115665,.086642,.851711,-.523911,-.006684,.895566,-.444746,.011414,.753288,-.655629,-.051515,.717917,-.692526,-.070406,.38908,.914579,.11008,-.209052,.97174,.109531,.366222,.928404,.062624,-.234718,.97116,.041169,.14011,.975585,.169073,.112003,.967711,.225715,-.122379,.97943,.160222,-.189367,.958525,.212897,.329417,.926389,.182348,.229102,.944945,.233589,-.38493,.919187,.08298,-.449721,.886135,.11182,-.581256,.813379,.022217,-.618275,.785943,.003052,.577044,.779382,.244026,.296365,.802332,.518052,.285684,.89462,.343516,.679647,.612659,.403363,-.086947,.658925,.747124,-.545824,.683187,.485061,-.059725,.766808,.639058,-.782617,.482284,.393506,-.617542,.724967,.305032,-.72808,.651418,.213294,-.482498,.845973,.226844,-.447127,.854518,.264229,.7846,.589984,.190466,.564867,.789239,.240822,.57741,.798517,.170019,.650014,.712638,.263771,.612445,.678518,.40556,.765923,.522752,.374248,.053682,.825861,.561266,.021302,.819422,.572771,-.272988,.866237,.418409,-.561754,.747734,.353954,.290353,.909268,.298166,.041169,.942747,.330882,-.190832,.926176,.325205,.222053,.935697,.274056,.419782,.874966,.241157,.450026,.845149,.288339,.536851,.815882,.214728,.56972,.780786,.256447,.695029,.69863,.169744,.718711,.661641,.213599,.860317,.495315,.120212,.849208,.498398,.174352,.968841,.187078,.162267,.868526,.437452,.232856,.493484,.686361,.534135,.747368,.367077,.553758,-.368938,.887539,.275887,-.285806,.830042,.478835,-.367168,.784906,.4991,-.73516,.660604,.151891,-.352397,.914029,.200781,.005432,.975921,.217963,.143254,.975036,.169622,.345347,.917997,.194861,-.606311,.79339,.053682,-.700186,.71392,-.003388,-.75869,.650838,-.02768,-.76635,.64153,-.033082,-.907926,.410474,-.084323,-.914731,.397992,-.069277,-.783654,.620045,-.03766,-.985412,.134251,-.104465,-.972137,-.215796,-.091311,-.995819,.071596,-.056337,-.960234,-.277078,-.033601,-.759423,-.65038,.015168,-.553789,-.826746,.098758,-.448408,-.887204,.108493,-.819025,-.572954,-.029786,-.185614,-.963286,.193884,-.272164,-.92935,.249397,-.32487,-.936796,.129826,-.403119,-.911313,-.08359,-.377819,-.92584,.003479,-.152348,-.987426,-.04178,-.139592,-.983734,.112796,-.278634,-.930387,.238075,-.312693,-.915403,.253395,-.162328,-.961791,.220313,-.189459,-.960723,.202704,-.168798,-.976165,.136265,-.15894,-.955901,.246834,-.104831,-.987182,.120243,-.088015,-.994934,-.048341,-.120457,-.989196,.083468,-.102573,-.992645,-.064211,.004089,-.966735,.255715,-.011017,-.973662,.227668,-.078158,-.985046,.153356,-.116306,-.992218,.044008,-.178228,-.980224,-.085849,-.196936,-.978301,.063875,-.091494,-.993194,-.071993,-.213233,-.959807,.182318,-.200354,-.979217,.031434,-.216773,-.968108,-.125431,-.084841,-.994903,.053987,-.198248,-.975799,-.092105,-427e-6,-.987518,.157445,-.224189,-.94998,.217383,.028138,-.984436,.173345,.04062,-.983856,.174139,-.225349,-.950957,.211768,.093661,-.972991,.210852,-.044313,-.987274,.152562,-.168249,-.985595,-.017029,-.037385,-.977142,.209204,-.050203,-.998718,-.003327,.174841,-.963347,.203375,.286355,-.936796,.200873,.165807,-.984741,.052675,.016053,-.96353,.267067,.275246,-.945555,.17365,-.088656,-.989837,.110904,.093966,-.993683,-.061129,-.271279,-.962432,.01117,.117679,-.978515,.169225,.165044,-.985198,.046236,.370952,-.923124,.100864,.440138,-.897916,-.00351,.505814,-.859249,-.076174,.519822,-.853816,.027406,.575701,-.811274,.101779,.817499,-.575182,.02823,.846034,-.530442,.05298,.817255,-.573473,-.056368,.867458,-.495865,-.040132,.685293,-.723319,-.084506,.892148,-.426527,-.148656,.635853,-.771508,.020173,.997772,.044282,.049501,.953307,.28843,.089236,.84228,.525193,.121342,.933897,.355998,.032075,.777673,.623951,.076846,.996399,.084292,-.005341,.893918,.447859,.016724,.991119,.132756,427e-6,.904355,.426344,.018067,.989319,.142766,.028474,.712882,.700095,.040651,.671285,.741081,.011689,.97702,-.209296,.040193,.970275,-.24015,.029023,.971496,-.234626,-.033418,.978484,-.206244,-.005066,.82992,-.557817,-.004761,.979339,-.196661,.046541,.824854,-.558733,.08594,.983245,-.057772,-.172735,.983154,-.173467,-.057466,.504349,.854732,.122532,.634419,.755364,.163915,.983367,-.04593,-.175634,.905667,-.377483,-.192969,.904843,-.397839,-.151433,.991699,-.068819,-.108463,.384198,.920621,.069491,-.043611,.992859,.110996,.284616,.958281,.025849,-.159307,.986145,.045717,-.595447,.803308,.009491,-.846217,.531693,.034547,-.89819,.438887,-.023713,-.526994,.844997,.090487,.868526,.489395,.078219,.664602,.738945,.110538,.504013,.855586,.117954,.666311,.741447,.079012,.471084,.879208,.0712,.863979,.495682,.088412,.349986,.925321,.145756,.077609,.974517,.210395,.240364,.965972,.09537,-.109806,.982665,.149205,.979827,-.179724,.0871,.998627,.045717,.0253,.988769,.132176,.069674,.992981,-.118107,-.00351,-.600238,.781274,.171209,-.798425,.557756,.22663,-.930265,.345225,.124088,-.410901,.878658,.24308,.292306,.929106,.226386,.299173,.906095,.299081,-.001648,.969848,.243599,-.016663,.947447,.319468,-.266121,.934721,.23545,-.278573,.918119,.281777,.314798,.93701,.15128,.619709,.772454,.138676,.011658,.987579,.15656,.043428,.995209,.087252,.368389,.923551,.106326,.675558,.727378,.120365,-.273843,.958373,.080599,-.270333,.949095,.161504,-.549272,.831813,.079592,-.512986,.842586,.163823,.95761,.236579,.164251,.874935,.467513,.125919,.899899,.428816,.079043,.981719,.190313,-.001587,-.798944,.595233,.085543,-.926603,.351665,.133122,-.952696,.293466,.07886,-.756523,.636433,.150273,-.369701,.494186,.786798,.339,.424879,.839351,.438765,.193762,.877438,-.725181,-.679708,.109806,-.982421,.146001,-.116153,-.953337,.119999,.276955,.927122,.17774,.329844,.999329,-.032899,-.014557,.799982,-.07004,.595904,.941191,-.327647,.082156,-.883358,.210181,.418897,-.676534,-.089633,.730918,-.99826,.015259,.056673,-.994446,-.105045,.004395,.674306,.382092,.631886,-.119816,.42674,.89639,-.353771,.660909,.661794,.681021,.331034,.653127,-.866787,.43141,.250038,-.871426,.117405,.476241,-.976897,.207373,.051515,-.997772,-.036683,.055391,-.993255,.114322,-.017731,-.995239,-.096622,-.011689,-.792627,.398511,.461379,-.027436,.576861,.81637,.794977,.404859,.451704,.09769,.481063,.871181,.848292,.151189,.507462,-.661184,.361095,.657582,.739799,.663747,.109928,.927854,.366649,.067965,.435224,.892148,.120823,.771538,.625507,.115909,.50145,.855617,.128208,.940153,.331858,.076907,.985198,.15595,.070833,.992584,.113163,.044221,.989288,-.113376,.091769,.97766,-.204443,.04828,-.465926,.848201,.251839,-.311136,.890378,.332194,.175604,.979064,.102664,-.075686,.993164,.088778,-.038057,.996673,.07181,.231239,.967162,.105167,-.289682,.956053,.044557,-.546403,.837397,.013611,-.542528,.839473,.030396,-.307413,.949858,.056703,-.787591,.615802,.020936,-.939817,.341594,-.005341,-.961028,.275552,.021455,-.762993,.646321,-.008972,-.99884,-.041292,.023499,-.941496,-.336833,.01001,-.923978,-.381603,.024659,-.999969,0,.007172,-.706778,-.70687,.027528,-.38731,-.921567,.025361,-.687735,-.725822,.013001,-.390637,-.920469,-.010712,-.127934,-.991699,.011078,.197913,-.975494,.095981,-.093295,-.995605,-.005219,.279031,-.95938,.041078,.264382,-.708304,.6545,-.390027,-.378338,.839473,-.643849,-.22776,.73043,-.362285,-.887173,.285684,-.148076,-.964049,.220588,-.528367,-.835566,.150365,-.198737,-.976684,.080844,-.768578,-.594256,.236885,-.561113,-.673238,.481521,-.934812,.085452,.344676,-.934751,-.309336,.174596,-.98941,-.120426,.080874,-.82342,-.054537,.564776,.023164,-.978668,.204077,.347056,-.888913,.298868,.065249,-.994018,.087527,.463881,-.877132,.124027,-.292673,-.679189,.673055,-.360912,-.632374,.685415,.169622,-.507309,.844874,.800562,-.576891,.161962,.550432,-.535874,.640156,.083438,-.987701,.132206,-.242714,-.960936,.132847,.125706,-.990631,.053255,-.268654,-.96176,.053102,-.613239,-.764702,.197729,-.670095,-.739341,.065615,-.72927,-.438826,.524949,-.924802,-.376263,.055757,.764794,-.599414,.236152,.427808,-.887326,.172063,.788629,-.60744,.095004,.501633,-.860988,.083773,-.775109,-.352794,.524094,.158635,-.243751,.956755,.797296,-.174627,.577715,-.338389,-.940855,.015015,-.726157,-.686819,.031037,.078463,-.996673,.021302,.089236,-.990051,.108768,-.326212,-.942076,.0777,-.71511,-.695822,.066408,-.941893,-.334025,.034852,-.921751,-.386853,.026582,.180029,.980865,.073824,.505997,.861049,.050172,.171514,.984619,.033204,.520951,.85342,.014252,.488968,.87225,.00647,.146031,.985443,.086886,-.226661,.971618,.067324,-.243965,.969756,.002777,-.220771,.967925,.119724,-.223792,.966369,.126469,.126682,.980255,.151677,-.203253,.951903,.229163,.112705,.968078,.223731,.462722,.881771,.091098,.439894,.879727,.180364,.35316,.930448,.097476,-.00586,.993133,.116703,.344737,.933622,.09714,-.033998,.992553,.116703,.034059,.992676,.115787,.379009,.920408,.095523,.634083,.766839,.099246,.6451,.75869,.090487,.632984,.766228,.110385,-.059053,.984588,.164586,-.057924,.988769,.1377,.256386,.957701,.130589,.317148,.937376,.143742,.62392,.774773,.102054,.58208,.811426,.052431,.229469,.969451,.086337,.209174,.964202,.162816,.213202,.969024,.124393,.253609,.943785,.211921,.239051,.961119,.138035,.0047,.998779,.048708,-.291543,.955382,.04709,-.340983,.93762,.067446,.012635,.998291,.057009,-.378735,.924894,.033204,.001007,.999176,.039949,.298471,.951781,.070742,.28193,.955718,.084292,.30958,.946654,.089206,.333537,.94055,.064058,.016327,.999481,.026826,.352428,.932585,.077761,.009186,.994781,.101413,-.376904,.923307,.073641,-.388653,.921354,.001923,-.766839,.640584,.039216,-.762169,.646565,.031892,-.974273,.205023,-.093204,-.745048,.666982,-885e-6,-.96823,.22953,-.099002,-.729972,.68337,-.009552,-.699271,-.680502,-.218787,-.952391,-.25425,-.168157,-.727958,-.654622,-.203772,-.960448,-.224311,-.164892,-.303415,-.930479,-.205176,-.286416,-.930845,-.226875,.061159,-.984222,-.16596,.061464,-.980163,-.188238,.993805,-.024506,.108249,.952269,.281716,.117374,.761254,.635639,.128025,.915769,.363811,.170141,.68923,.700827,.183721,.985443,.046663,.163305,.954192,-.245979,.170171,.939573,-.33256,.081118,.840541,-.51735,.160619,.805506,-.591662,.032533,.484115,-.864071,-.137791,.608905,-.786309,-.104434,.623646,-.776696,-.088015,.493606,-.863094,-.106754,.654103,-.745201,.129643,.638264,-.769707,-.011872,.461837,-.886471,-.028993,.442885,-.89172,.092898,.29722,-.940825,-.162694,.297922,-.94528,-.132786,.030488,-.996521,-.077273,.23957,-.968871,.062075,-.026673,-.999146,.031098,.267342,-.962554,-.044496,-.774194,-.612568,-.159215,-.432661,-.901364,-.017701,-.829066,-.556627,-.052461,-.368145,-.921232,-.125553,-.978912,-.16541,-.119633,-.993622,-.108432,-.030244,-.961394,.267983,-.061983,-.955596,.294015,.018921,-.720817,.692343,.032167,-.712027,.698752,.068911,-.27546,.949004,.153172,-.265938,.95938,.093814,.314737,.940916,.124729,.230049,.952727,.198309,-.291147,.9523,.091281,-.71276,.701193,.015473,-.947447,.319681,-.011414,-.717978,.694876,.039918,-.307962,.948027,.079836,-.864101,-.49971,.059938,-.998169,-.059023,.01059,.56505,.798791,.206488,.12241,.979827,.157903,.11594,.984619,.13068,.960997,.136113,.240638,.863033,.45439,.220618,.840144,-.473861,.263771,.94882,-.182257,.25782,.927244,-.136174,.348766,.823176,-.424574,.376904,.441267,-.870144,.219214,.658589,-.709952,.249428,.645894,-.660024,.383618,.417798,-.831568,.365917,.199072,-.961699,.188238,.162694,-.931486,.325266,-.098758,-.982849,.155705,-.160131,-.946989,.27842,-.496231,-.860866,.112369,-.540391,-.811823,.221076,-.725608,.512955,.458602,-.503464,.103275,.857784,-.067232,.348155,.934996,-.24955,.826899,.503891,.361156,.416089,.834498,.224158,.855068,.467513,.704978,-.052583,.707266,.882077,-.116001,.456557,.696036,-.345592,.629322,.778375,-.41258,.473128,.399518,-.74926,.528123,.521836,-.443373,.728751,.318949,-.568834,.758049,.603504,-.611591,.511551,.154576,-.863155,.480667,.083438,-.690085,.718894,-.207007,-.778985,.591845,-.199408,-.892819,.403821,-.481368,-.570452,.665456,-.56386,-.741111,.36436,.159398,-.174383,.971679,-.19483,-.357982,.913144,.989929,.134587,.043245,.887509,.46028,.020692,.646046,.762963,.021271,.971465,-.226844,.069002,.798242,-.591113,.115452,.967986,-.247017,.044221,.778069,-.626728,.042146,.972991,-.226539,.043733,.808863,-.58797,-.002655,.981048,.163884,.103061,.978912,-.20011,.040468,.983734,.167455,.064669,.827113,-.561754,.015687,.860958,.486129,.149541,.635029,.758263,.147435,.875576,.475295,.086032,.638905,.759636,.121311,.657643,-.684317,.31492,.732475,-.675893,.081057,-.979034,.198828,.043886,-.994263,-.098788,.040925,-.917051,-.398206,.020508,-.995911,-.082125,.036897,-.918882,-.392315,.041627,-.69454,-.719413,-.00293,-.37788,-.92581,-.00586,-.682943,-.729331,.040254,-.343822,-.938108,.040956,-.99707,.076388,.001495,-.976867,-.21363,-.007569,-.874905,-.484146,.009278,-.976257,-.216437,.006317,-.866115,-.499771,.006836,-.993439,.109439,.032289,-.660939,-.74984,.029359,-.329051,-.943419,.040803,-.630177,-.776269,.015412,-.292886,-.955687,.029298,-.053011,-.998505,.0112,.318796,-.946867,.04181,.012146,-.997925,.062777,.361705,-.927152,.097446,.409314,-.910031,.06531,.061556,-.996948,.047487,.490951,-.869259,.057527,.10123,-.994079,.038911,.96765,-.24189,.071535,.729698,-.680166,.069704,.729698,-.674703,.110874,.955901,-.272744,.10886,.736381,-.670797,.087985,.941923,-.32255,.093142,.794855,-.601306,.08121,.957091,-.273904,.094241,.929411,.357219,.092349,.990814,.112552,.074892,.992279,.082736,.092166,.995849,.019684,.088717,.9335,.341441,.109287,.990722,.076296,.112247,.905179,.401685,.138768,.998657,-.03061,.041505,.976623,.206122,.060854,.853053,.514908,.084323,.97882,-.203192,-.024018,.983215,-.179754,.030335,.986572,-.162481,.015992,.947569,-.318094,.029328,.93585,-.351085,.02942,.959136,-.282693,.010498,.958892,-.278909,.05179,.998413,.055971,.001404,.996094,.055269,.068514,.973083,-.230201,.009156,.891049,-.452803,.031495,.843104,-.536515,.036256,.929197,.369274,.013398,.787194,.615741,.03357,.920133,.380627,.0918,.780541,.613147,.121494,.853389,-.518143,.056581,.886105,-.461654,.040254,.70922,-.699911,.084323,.759056,-.649098,.049379,.921537,-.384381,.054598,.489914,-.870022,.054964,.439772,-.893094,.094638,.109622,-.992462,.054537,.101474,-.990844,.088839,.653371,-.753258,.075106,.785058,-.617176,.052278,.717399,-.695578,.038301,.564867,-.823267,.05591,.419568,-.900815,.111545,.366161,-.928678,.058779,.115848,-.984375,.132481,.099857,-.993347,.057161,.924497,-.373547,-.075564,.993316,-.093448,-.067476,.967956,.248512,-.035463,.994049,-.107486,-.016083,.916166,-.400006,-.024018,.777459,-.626942,-.049654,.761589,-.647816,-.016449,.482559,-.87582,-.002869,.477462,-.878414,-.019135,.737175,-.673971,.047975,.890805,-.452101,.045076,.708152,-.704672,.043764,.871639,-.486587,.058901,.466048,-.883908,.038209,.477035,-.877468,.049593,.97766,-.205817,.042238,.961058,-.266488,.073,.991821,.104678,.072939,.993744,.048219,.100711,-.221747,-.975066,-.005524,.104801,-.994263,-.019807,.123112,-.99237,.006226,-.236457,-.971374,.022431,-.216407,-.975036,.049074,.14008,-.988952,.048219,.164739,-.985626,.036927,-.181097,-.983032,.02884,-.551775,-.833522,.026978,-.550645,-.833369,.04767,-.800958,-.597705,.034394,-.768364,-.638142,.048585,-.710898,-.701987,.042146,-.51326,-.856929,.046937,-.483993,-.874599,.027436,-.710013,-.702719,.045106,-.898251,-.438398,.029847,-.936857,-.346721,.045228,-.971557,-.235603,.022553,-.987304,-.151585,.046846,-.85934,-.505997,.074099,-.857112,-.512467,.051668,-.938536,-.333354,.089419,-.951598,-.299173,.070132,-.969359,.242805,.036409,-.993286,.087497,.075594,-.998535,.032136,.043336,-.999298,-.023499,.029145,-.992248,-.092654,.08243,-.994476,.069704,.078433,-.978515,-.186254,.08826,-.995148,-.011628,.097446,-.966826,.172735,.188025,-.275369,-.960234,.045442,-.244392,-.967406,.066073,-.645527,-.763695,.004486,-.59386,-.802759,.053652,-.207312,-.967834,.142399,-.201331,-.977294,.065584,-.523118,-.848445,.080294,-.546983,-.825983,.13599,-.873714,-.485275,.033021,-.898526,-.437391,-.036195,-.983276,-.181249,.016724,-.985748,-.163335,-.039705,-.965453,-.244179,.090793,-.83224,-.53914,.129185,-.790796,-.606586,.081576,-.921628,-.379528,.080874,-.949004,.3137,.030366,-.999146,.032197,-.025758,-.998566,.046602,.025697,-.959532,.277963,.044618,-.998627,-.01471,.049745,-.987579,-.126164,.093387,-.976135,.187841,.108829,.492843,-.861843,.11948,.492111,-.858913,.141575,.476028,-.878536,.039338,.1077,-.984649,.137272,.07947,-.996124,.037172,.51033,-.85931,-.032991,.553087,-.833064,-.004608,.127476,-.98938,-.069674,.193884,-.980804,-.01941,-.317362,-.936125,.151433,-.666768,-.735923,.117405,-.294504,-.955565,.011139,-.592303,-.805078,-.031648,-.251289,-.963378,-.093265,-.206244,-.978484,671e-6,-.592395,-.801477,-.081545,-.564348,-.825068,.027619,-.978729,-.204901,-.00766,-.86108,-.506668,.042146,-.799799,-.600116,-.012299,-.948393,-.316141,.023499,-.96762,-.252297,-.004761,-.836634,-.54503,-.054079,-.828181,-.558916,.041017,-.966979,-.251869,.038575,-.912656,.408612,.006775,-.996796,.078738,-.013184,-.996979,.06943,.034639,-.893338,.435316,.111423,-.996155,.062563,.060823,-.995117,.090793,.038301,-.887265,.455733,.070925,-.700919,.706595,.096988,-.273171,.954619,.118534,.423597,.902768,.074343,.119053,.988678,.091159,-.15125,.977844,.144536,-.158879,.984649,.071932,-.140782,.98999,.008271,.185797,.98117,.052217,.189489,.98114,.037721,.208502,.972167,.106784,.518571,.854854,.016511,.541124,.838343,.065645,.488693,.871853,.032014,.490921,.865352,.100589,.205634,.972747,.107059,.463363,.879391,.109134,.182714,.973785,.135411,-.118809,.989502,.081942,-.12888,.978912,.158391,.961699,-.274026,-.004883,.996918,.027314,.073183,.964385,-.257057,.06183,.870388,-.492233,-.008759,.873409,-.484603,.047639,.872036,-.489364,-.006165,.966338,-.257179,.002899,.999146,.026185,.031617,.952239,-.305032,-.013215,.85818,-.513047,-.016511,.753868,-.656667,.020539,.763237,-.646016,-.010102,.612568,-.790307,-.012513,.614338,-.788965,-.009003,.732261,-.680746,-.01883,.743492,-.668538,-.014405,.589465,-.807581,-.017731,.537156,-.84283,-.032685,.376934,-.926145,-.010498,.116001,-.992706,-.032105,.404614,-.913999,-.028748,.076327,-.99707,-.002686,.284433,-.957793,-.041292,.349437,-.936338,-.033357,.035066,-.997986,-.052553,366e-6,-.999115,-.041902,-.512406,-.858608,-.013611,-.17423,-.984344,-.025575,-.212012,-.977203,.00882,-.506424,-.862087,.018189,-.522782,-.852046,-.026093,-.267983,-.962859,-.032807,-.270272,-.960814,-.061464,-.587634,-.807886,-.044343,-.789117,-.61388,.019593,-.950896,-.307077,.038087,-.81164,-.584063,.009156,-.953093,-.301492,.025819,-.774132,-.632527,-.024415,-.870815,-.491531,.005432,-.942778,-.333354,-.005585,-.987396,-.146641,.059145,-.957244,.260475,.125614,-.994354,-.082339,.066652,-.998566,.020447,.048921,-.984436,.149815,.09183,-.919034,.382183,.096286,-.999268,.018769,.032685,.558153,.563036,.609424,.151952,.967559,.201727,.124241,.725364,.677023,.464553,.856471,.224921,.424116,.902707,.072085,.116184,.9906,.072024,-.367412,.739525,.563952,-.28251,.947691,.148503,-.245552,.967193,.06476,.397198,.068422,.915159,.029054,.195654,.980224,-.027161,-.239418,.970519,.318461,-.327372,.889584,-.315958,.246315,.916227,-.336406,-.139073,.931364,-.955016,.264229,.134404,-.990448,-.046297,.129643,.930937,.352916,.093783,.76635,.632496,.112308,.924619,.379925,.026307,.731223,.68041,.047823,.886532,-.455824,.079073,.969359,-.222633,.103519,.751122,-.657491,.058718,.577776,-.814264,.055605,.008545,-.995117,.098178,.339702,-.937529,.07477,.284799,-.884548,.369396,-.052278,-.905179,.421766,-.062532,-.652058,.755547,.274117,-.663076,.696524,-.368328,-.922208,.117557,-.387371,-.81109,.438246,-.710044,-.691519,.132694,.271615,.960051,-.067019,.254494,.964293,.072939,.282083,.958647,-.037019,.281137,.954924,.095279,.274209,.930906,.241157,.971892,-.23249,.036805,.984069,.177648,.005646,.980407,-.196204,.016602,.825648,-.563494,.027223,.837519,-.546007,.019898,.859706,-.507187,.060244,.972839,-.207099,.103305,.983215,.125095,.132572,.968719,-.206732,.13715,.97821,.127293,.163945,.865963,-.486251,.116764,.574786,-.818171,.013459,.621235,-.783593,-.002228,.201086,-.979553,946e-6,.249611,-.967132,-.047792,.664998,-.746513,.021424,.678732,-.726279,.108646,.29667,-.954894,.011475,.35136,-.928709,.11829,-.224738,-.973968,.029023,-.239784,-.970183,-.035188,-.544542,-.835932,.068422,-.56972,-.821802,.003143,-.205359,-.978668,-.005036,-.570269,-.821436,.004761,-.112522,-.986908,.115513,-.52678,-.843471,.105014,-.945616,-.316019,.076815,-.78869,-.609363,.08124,-.784173,-.619861,.028504,-.938139,-.343364,.044099,-.777856,-.617786,.114994,-.941771,-.331767,.05414,-.794,-.607044,.031739,-.932157,-.336314,.133854,-.99704,.049654,.05826,-.996246,.056124,.065584,-.877743,.476669,.047853,-.876217,.466872,.119144,-.996338,.038728,.0759,-.986847,.049928,.15363,-.849117,.498489,.174505,.694327,.694418,.188849,.373882,.918729,.126774,.34727,.906247,.241035,.581896,.785363,.211005,-.133915,.975951,.17188,-.183081,.943358,.276559,.310038,.58095,.752556,-.219031,.595416,.772942,.689688,.414258,.59386,-.569018,.782952,.251289,-.530869,.825007,.193609,-.855495,.450026,.256081,-.815851,.252968,.519944,-.588549,.450148,.671499,.517899,-.086367,.851039,.12711,-.413099,.901761,.198187,-.032472,.979614,-.16953,.002106,.985504,-.503403,-.046113,.862789,-.782128,-.140233,.607105,.975585,.128605,.177892,.815607,.530931,.229865,.863643,.469131,.184454,.865627,.195959,.460677,.951842,-.003113,.306558,.738151,-.225288,.635884,.866298,-.325175,.379131,.853938,-.482742,.194189,.956633,-.22364,.186438,-.87579,-.359813,.321726,-.953276,-.027284,.300821,.375927,-.897092,.232063,.674001,-.713126,.192663,-.024262,-.958525,.283914,.033448,-.840541,.540666,-.438093,-.845424,.305399,.090426,-.6498,.754692,-.718467,-.695547,-.003327,-.490432,-.871151,-.023682,-.189184,-.981201,-.037996,-.491928,-.869411,-.046052,-.205359,-.97702,-.056856,-.693808,-.719199,-.036378,-.657369,-.752129,-.045991,-.451003,-.890927,-.052736,-.152135,-.987182,-.047853,-.361614,-.930754,-.053804,-.025513,-.998566,-.046419,-.621235,-.781976,-.050111,-.846828,-.531236,-.025056,-.861415,-.507736,.011261,-.93466,-.355174,-.015046,-.936155,-.350963,.019501,-.908444,-.417096,-.027161,-.807367,-.588946,-.03589,-.802667,-.595233,-.036866,-.921934,-.386944,-.016724,-.978637,-.205329,-.00824,-.998627,-.029389,.043062,-.977111,-.210913,.026582,-.966979,-.25425,-.016785,-.982147,-.187841,.008728,-.995941,-.089602,.006165,.003998,.990631,.136296,-.420728,.902585,.090854,-.00238,.992096,.12537,-.434126,.893582,.114078,-.44322,.887082,.128788,.021699,.989746,.141087,-.41258,.905759,.096591,.002625,.993683,.112094,-.41142,.909238,.06296,.024323,.990722,.133641,.425275,.898648,.107334,.451613,.884335,.118137,.406812,.907895,.100955,.395367,.905362,.15479,.392193,.913236,.110111,.449049,-.893277,-.019349,.708426,-.705618,.013916,.869472,-.492874,.032685,.698508,-.715445,.012635,.856502,-.515732,.01944,.472427,-.881314,-.006714,.767998,-.640217,.01587,.869015,-.493606,.033357,.924375,-.379101,.042024,.687368,-.726249,.007141,.597919,-.801508,-.006165,.483322,-.875332,-.011902,.148686,-.987945,-.042543,.136265,-.989929,-.03824,.203619,-.978515,-.031892,.328166,-.944121,-.030213,.404736,.893796,.193152,.393933,.891079,.225318,.079989,.973571,.213813,.050447,.962035,.268105,.369854,.667501,.646199,-.381512,.884945,.266976,-.402509,.896481,.185186,.039521,-.242592,.969298,.200812,.152318,.967681,-.948668,-.312326,.049745,-.994598,-.07123,.075381,.977813,.177587,.111026,.975219,-.204382,.084414,.996399,-.020936,.082003,.645772,-.761711,.052248,.828455,-.557054,.057588,.072756,-.994171,.079348,.407788,-.910642,.0665,-.60979,-.791375,.042695,-.28959,-.954588,.069765,-.195776,-.884335,.423811,-.027131,.990417,.135197,-.340648,.933622,.110691,-.307993,.947081,.09006,-.036195,.991943,.12125,-.264016,.959044,.102268,-.017426,.993927,.108585,.291849,.952116,.090945,.249062,.957457,.145573,.246559,.965819,.079836,.213263,.973754,.079287,-.044404,.997162,.060549,-.027467,.997833,.059572,.230689,.972961,.01117,-.267281,.962249,.050935,-.245827,.966643,.071474,.971343,-.230415,.05826,.99115,.121799,.052309,.891537,.450209,.049532,.991394,.128636,.023652,.971191,-.237251,.021088,.50914,-.858486,.060884,.816797,-.573626,.061068,.822413,-.56859,.016877,.532914,-.846156,.001648,.986541,-.158971,.038026,.984954,.163305,.056246,.87466,.478744,.075808,.950224,.2931,.105472,.995758,-.006043,.091586,.623768,-.781274,-.022431,.876797,-.480667,.012391,.928037,-.364269,.077639,.705252,-.707266,.048463,.151677,-.98822,-.020173,.116184,-.991485,.058443,-.209296,-.97702,-.040254,-.256844,-.9653,.04651,.226447,-.971801,-.065249,-.181341,-.979858,-.083316,.298166,-.954466,.008362,-.170446,-.98526,-.014008,-.578448,-.815363,.022706,-.538713,-.840724,-.05414,-.826991,-.562181,.001221,-.801843,-.595416,-.049745,-.547746,-.833888,-.067721,-.570544,-.821223,458e-6,-.849788,-.526383,-.026765,-.878994,-.476089,.026002,-.971618,-.236427,-.004639,-.974639,-.222907,-.018189,-.986785,.161596,.009827,-.998413,-.034577,.04413,-.955412,.287271,.067965,-.99414,-.10477,.026551,.012513,.994415,.104709,-.285409,.950713,.121158,671e-6,.995758,.09183,-.28956,.953887,.079012,-.875576,-.460005,.147343,-.98938,.006989,.145146,.942869,.318888,.096255,.990631,.067843,.118442,.337687,.8652,.370556,.314646,.946165,.075777,.301767,.94879,.093326,.259377,.490249,.832057,.210669,.028443,.977111,.963073,-.242622,.116489,.78402,-.607379,.127934,.376659,-.911283,.166173,-.135014,-.976531,.167699,.355327,-.741142,.569536,.969207,-.241066,.049989,.978637,-.20072,.044404,.991729,.098972,.081301,.980071,-.190405,.056246,.984008,.147801,.099155,-.797784,.601154,.04593,-.81399,.559069,.157445,-.428663,.898282,.096408,-.448653,.872219,.194647,-.057527,.991546,.116062,-.115452,.979217,.16654,.22306,.963073,.150609,.199652,.975036,.09711,.525071,.848201,.069216,.52736,.835475,.154332,-.768731,.607288,.200476,-.458754,.859859,.223914,-.130161,.970061,.204901,.234321,.956206,.175207,-.696219,.702139,.149144,-.480789,.86578,.138554,.147404,.984436,.095584,-.197424,.972777,.121158,-.619373,.785058,-.006836,-.189459,.98175,.016083,.230964,.972076,.041292,-.588794,.79281,.157323,-.580523,.80517,.121158,-.168157,.972137,.163244,-.160497,.975951,.147404,.268899,.949553,.161168,.275643,.948973,.15302,-.546495,.835444,.057497,-.132084,.981201,.14066,-.552568,.809534,.198187,-.079043,.969695,.231147,.271004,.952666,.137638,.636586,.767846,.071657,.873806,.455794,.169347,.583331,.764672,.273751,.292367,.912839,.284951,.869015,.493728,.031587,.709952,.698264,.091342,.908872,.391491,.143712,.745079,.642415,.179205,.917631,.374218,.133732,.742576,.646626,.174322,.458846,.884304,.086184,.113193,.992248,.050844,-.590167,.806909,.023347,-.273263,.961669,.022034,-.932676,.331675,.141697,-.942564,.299356,.148137,-.64861,.718528,.250954,-.714072,.671712,.19715,-.275613,.94055,.19834,-.356395,.916318,.18247,.096286,.981414,.16596,.087924,.980834,.173742,.458327,.867489,.193213,.452895,.873287,.179418,-.959807,.267678,.084017,-.763787,.632984,.126041,-.977844,.199866,.062105,-.8081,.578661,.109989,-.425428,.893124,.14594,.058016,.989532,.131901,.472701,.873775,.114048,.749504,.652699,.110416,.87463,.45732,.160741,.698935,.694357,.171148,.439619,.882748,.165777,.053102,.985443,.161382,-.820826,.57033,.030488,-.554674,.831538,.028748,-.278451,.959441,.043764,-.008454,.997223,.073733,.524491,.842677,.121494,.265053,.958586,.103916,.781304,.605731,.150426,.595141,.785852,.167943,.761223,.62917,.156957,.583026,.795312,.165899,.352519,.918973,.176611,.001129,.981597,.190863,.332255,.926908,.174383,.009217,.984619,.174413,-.702445,.701865,.117893,-.37257,.912748,.167486,-.650258,.746452,.141179,-.351085,.921537,.165746,-.919645,.389966,.046175,-.877316,.471419,.089724,-.847041,.529649,.044496,-.625751,.775262,.085635,-.782281,.617328,.083163,-.558397,.826716,.068453,-.35609,.92761,.112552,-.012268,.994629,.102573,.578814,.811426,.080813,.333872,.938383,.089114,.694998,.711234,.105258,.496658,.86111,.108615,-.003174,.997833,.065584,.275979,.957518,.083407,.157109,-.987548,-.004517,.098636,-.973479,-.206397,.121616,-.992279,-.023865,.059053,-.974395,-.216834,-.134007,-.866482,-.48085,-.067873,-.849269,-.523515,.123905,-.98706,.101688,.01175,-.997101,.074984,.069582,-.990478,.118717,-.066591,-.992767,.099826,-.168767,.947111,.272835,-.304178,.910428,.280282,-.584735,.779077,.225959,-.113956,.978607,.171117,-.166784,.963195,.210761,-.065249,.98648,.150304,-.102054,.987854,.116947,-.177404,.98059,.083316,-.087863,.989776,.112094,.228126,.957976,.173711,.431349,.881741,.190954,.261299,.943144,.205359,.377667,.905118,.195135,.308817,.929563,.201209,.4391,.87991,.181341,.482833,.857418,.177923,.453658,.870602,.190283,.552263,.820246,.148778,.744377,.664113,.069308,.086032,-.99588,-.02765,.133,-.991089,-.00528,-.142247,-.98941,.028535,-.0665,-.996155,.05652,.474868,-.871609,-.121403,.712241,-.681326,-.168676,.415754,-.89172,-.178686,.698569,-.691733,-.182806,-.192022,-.976287,-.099612,-.13535,-.988067,-.073397,-.124027,-.992248,-.001404,-.15183,-.98825,.016663,-.223182,-.974639,.015748,-.258095,-.962462,-.083651,-.10242,-.990936,-.086673,-.095309,-.989929,-.104587,-.126316,-.991668,-.024903,-.094699,-.994751,-.038301,-.06418,-.993286,-.09592,-.154851,-.981872,-.109134,-.081606,-.995972,-.036988,-.198737,-.976287,-.085543,-.425855,-.895474,-.129307,-.47441,-.869228,-.13892,-.232093,-.962706,.138981,-.203284,-.971252,.12363,-.254128,-.957823,.134037,-.210822,-.972747,.096255,-.238166,-.963958,.118473,-.205298,-.967376,.14832,-.140446,-.982299,.123783,-.111209,-.987884,.107944,-.166906,-.98233,.084445,-.155553,-.982147,.105472,-.158971,-.982452,.097354,-.169866,-.982727,.073183,-.125462,-.982574,.136937,-.119327,-.983306,.137181,-.221351,-.971191,.088076,-.185888,-.976897,.105319,.058382,-.983886,.16895,-.077212,-.987182,.139531,-.118503,-.983398,.137394,-.144444,-.986267,.079806,-.133091,-.981903,.134617,.875454,.483016,.015748,.969146,.246345,-397e-6,.994659,-.098941,-.029084,.880886,-.464309,-.091556,.665334,-.734642,-.132603,.371929,-.919828,-.124668,-.197516,-.977996,.06711,-.168157,-.984283,.053591,-.148869,-.988433,.028474,-.083926,-.996399,-.009247,-.140477,-.990051,.006897,-.105594,-.993774,-.035127,-.255318,-.962279,-.093753,-.485702,-.85519,-.180944,-.6957,-.681936,-.225654,-.993316,-.086062,.076846,-.900632,-.433271,-.033113,.027497,-.986328,-.16245,.016266,-.99942,-.028962,-.171667,-.945311,-.277261,-.424543,-.859798,-.28367,-.239967,-.790246,-.563799,-.126713,-.990448,-.054079,.085696,-.991974,-.092654,.128269,-.982757,-.132969,.250374,-.965392,-.072695,.822779,.567858,-.023377,.021699,.986847,.16007,.462844,-.072268,.88348,.659108,.747703,.080325,-.362346,-.545732,.755516,-.923093,-.360942,.132542,-.716971,-.625446,.307718,-.092685,-.601825,.793207,-.827448,-.560442,.03415,.290445,-.392163,.872799,-.5833,-.79928,.144444,.538438,.830164,.144475,.421674,.903012,.08182,.864345,.502426,.020875,-.844356,.534623,.034486,.913724,.392285,.105777,-.448195,.88345,.136296,.775048,.620991,.116611,.749504,.658711,.065401,-.309091,.949004,.0618,.507889,-.861385,.004547,-.907651,.375744,.186926,-.085971,-.994964,.050935,-.133763,-.988983,.063082,-.122013,-.983886,.130558,-.229926,-.971648,-.054872,-.243934,-.969726,.010407,-.226081,-.971038,.077181,-.268471,-.64391,-.716422,-.241707,-.62154,-.74514,-.32374,-.674032,-.66393,.349559,-.839991,-.41493,.134556,-.885952,-.443739,.062838,-.928983,-.364666,.982727,-.059084,.175207,.987884,.00531,.155065,.971923,-.131321,.195105,-.075625,-275e-6,-.997131],colors:[],uvs:[[.429865,.455717,.448074,.436117,.442622,.45328,.429709,.43364,.470408,.45132,.450085,.467731,.433473,.476077,.4839,.50074,.471511,.503845,.480223,.486045,.468995,.482857,.487915,.474368,.496036,.494863,.355588,.527994,.36227,.508766,.366024,.529766,.374158,.52147,.380014,.534204,.368391,.539783,.354802,.54397,.465042,.522509,.47643,.537087,.46183,.535819,.475191,.520405,.442223,.528142,.458156,.511167,.422303,.522405,.409352,.538298,.407162,.524046,.419494,.53496,.426877,.544116,.413627,.551475,.33486,.557578,.340991,.551614,.345254,.563013,.349066,.554236,.321326,.547176,.339087,.543048,.67226,.598538,.681762,.609056,.673882,.623812,.662276,.601294,.672765,.585293,.655985,.575965,.68551,.594979,.555422,.656323,.546197,.655362,.552784,.64678,.545378,.643263,.544237,.626073,.557558,.640642,.565584,.654556,.532482,.637511,.538224,.645005,.525875,.649739,.536865,.654115,.576624,.653233,.583385,.660544,.575579,.659694,.581796,.652856,.572506,.646998,.580201,.645,.590628,.658879,.586953,.652755,.588456,.646427,.598004,.652743,.67532,.645435,.663947,.641298,.657392,.627744,.659153,.650811,.672533,.663589,.644792,.638982,.660871,.669762,.650063,.671676,.655402,.659261,.646198,.657236,.508162,.643417,.50903,.635552,.513857,.645325,.517563,.639981,.515869,.6525,.50734,.651247,.502396,.641648,.498903,.647158,.489586,.637575,.500125,.634277,.479318,.6217,.486135,.608544,.488627,.622546,.473958,.611039,.475295,.631474,.460635,.619893,.609045,.652144,.60645,.642682,.598691,.639534,.601716,.627409,.611641,.636383,.618428,.648452,.354814,.565977,.361854,.554757,.364667,.565412,.355255,.558336,.738395,.628461,.729361,.633259,.730457,.622633,.735282,.63498,.738229,.643165,.74607,.638433,.731126,.64459,.235208,.648669,.241028,.64747,.239412,.655545,.232192,.654719,.22437,.651587,.232383,.643782,.240286,.639409,.782363,.657514,.787956,.653708,.78497,.660849,.784061,.651727,.778089,.659935,.780699,.67202,.779125,.65075,.793243,.633966,.789954,.638849,.785937,.635291,.79209,.628913,.803362,.623912,.797622,.634091,.794029,.640849,.176301,.670327,.180902,.673953,.176223,.675644,.180036,.670756,.1804,.662345,.183009,.668019,.184687,.671772,.186769,.667155,.188697,.669854,.188759,.663649,.192639,.666993,.191484,.676955,.195291,.680747,.191996,.679963,.195601,.675732,.191944,.687447,.189551,.682327,.187784,.678789,.186113,.68309,.184237,.680737,.184707,.686232,.180525,.683537,.788895,.660304,.795521,.658253,.789987,.664778,.79184,.655321,.693299,.767445,.699315,.775906,.693555,.776403,.697927,.77008,.701197,.766899,.697342,.756654,.704018,.7739,.708534,.771867,.705553,.76696,.707044,.762094,.712566,.76824,.566711,.790268,.561481,.789523,.565024,.784082,.560437,.781643,.558965,.770168,.567965,.780333,.571975,.789369,.556409,.782956,.550696,.786528,.552454,.778407,.556323,.788862,.296661,.80903,.286329,.807138,.296028,.80155,.288281,.796114,.294633,.785926,.302926,.799446,.306469,.811911,.364367,.813399,.354532,.815195,.362089,.805447,.353786,.802243,.357826,.788484,.368108,.800873,.373515,.812885,.425118,.800699,.415289,.792874,.422707,.794727,.416929,.804111,.418141,.780143,.427568,.790403,.433158,.799738,.484838,.779524,.478826,.777799,.484938,.774105,.480716,.770131,.489191,.772668,.487641,.762009,.49028,.779817,.495692,.780286,.493965,.77476,.497018,.771312,.501201,.779402,.623279,.781041,.628176,.791389,.622117,.790332,.627725,.784979,.631732,.782526,.629104,.770608,.633507,.790679,.63886,.790027,.636555,.783906,.63908,.779134,.644124,.787576,.495082,.823381,.498104,.826298,.494496,.826184,.497883,.822996,.489338,.826121,.492957,.820954,.49692,.819252,.498404,.829539,.494029,.831184,.49564,.828962,.498057,.83305,.799884,.637611,.797823,.643019,.804258,.635735,.802541,.644195,.847203,.668782,.850844,.662426,.856389,.667612,.855408,.673564,.863007,.666885,.856615,.657167,.865184,.67711,.835139,.707093,.837868,.698787,.845923,.704595,.832544,.702005,.82471,.700135,.822171,.706414,.829285,.694692,.655013,.844368,.654518,.838631,.658286,.844614,.659565,.840701,.66599,.847417,.660226,.848783,.656321,.849689,.660389,.853499,.657653,.855093,.663266,.856687,.659832,.860714,.635792,.849163,.640146,.853035,.636102,.853791,.638678,.847662,.630069,.854939,.632555,.846075,.636199,.842189,.641845,.858445,.637517,.862227,.638471,.858131,.642793,.86441,.574981,.842391,.579585,.84031,.577849,.843349,.575318,.83734,.584328,.847462,.579018,.847365,.575367,.847278,.578468,.851431,.575774,.852208,.580583,.854753,.576866,.857481,.557354,.846719,.557594,.842492,.56086,.846807,.560245,.841687,.552243,.846639,.55527,.839047,.558751,.83628,.557326,.854427,.561484,.851908,.561399,.85731,.558708,.851004,.507569,.824322,.504638,.823517,.505121,.819903,.509411,.822234,.513995,.827931,.508521,.827224,.504824,.826821,.507656,.829869,.504855,.830046,.509506,.832346,.505558,.833637,.719146,.829628,.724563,.832115,.720702,.834015,.721648,.827309,.714951,.836802,.715161,.827522,.717805,.82268,.727562,.836944,.724281,.841762,.724169,.837573,.730015,.842433,.737081,.819654,.740747,.814718,.740461,.819073,.735087,.813968,.749146,.820099,.743555,.822833,.739759,.824663,.744861,.827535,.742436,.829737,.748602,.830066,.746042,.83477,.565069,.893359,.562122,.898609,.562603,.894199,.565391,.898666,.557341,.898456,.560678,.890563,.564059,.887748,.565681,.904068,.561754,.906593,.563193,.903133,.565338,.909729,.578595,.89292,.578951,.887371,.581286,.893623,.582964,.889935,.587447,.897476,.582351,.897949,.578859,.898217,.581666,.902471,.579064,.90358,.583529,.905776,.579955,.90914,.58567,.922619,.588905,.932663,.585786,.929232,.590281,.922793,.582707,.932665,.585311,.942205,.581692,.924452,.591049,.946738,.590125,.961545,.588636,.954208,.596072,.954214,.585508,.965062,.584664,.954314,.562172,.943621,.56285,.955386,.559945,.955816,.557661,.949208,.561564,.96581,.559283,.962923,.554362,.958367,.425167,.96819,.422885,.970768,.423382,.961851,.420586,.961992,.419887,.952767,.424364,.955382,.429123,.96227,.395986,.97064,.39032,.964013,.397282,.963851,.394929,.956998,.399658,.954111,.400912,.963935,.400739,.973943,.507172,.857417,.504732,.856691,.505408,.853469,.508906,.855497,.512575,.860754,.507794,.860099,.504631,.859707,.506812,.862571,.504359,.862712,.508182,.864882,.504565,.866049,.496837,.856285,.499047,.85907,.496049,.85877,.4992,.856082,.491793,.858437,.495306,.854069,.49872,.852778,.49508,.863269,.498916,.862045,.498218,.86521,.496662,.861367,.480221,.893077,.47763,.895421,.477603,.890008,.475072,.890785,.473586,.885872,.477542,.886177,.482401,.888679,.467661,.892767,.464691,.893367,.465609,.887782,.462008,.889871,.468842,.898121,.464372,.897473,.459176,.894213,.561219,.930578,.560994,.923851,.564738,.925311,.564266,.933651,.558646,.934453,.556775,.924525,.669692,.899023,.673262,.89497,.672592,.899231,.668623,.892974,.679664,.902287,.674753,.903654,.671401,.904629,.675292,.908626,.673045,.910331,.678074,.91194,.675524,.916221,.653024,.904207,.657323,.908272,.653726,.909087,.655513,.902636,.648329,.910313,.64991,.900803,.652905,.896864,.65926,.914006,.655773,.917894,.656234,.913651,.660686,.920267,.684977,.965306,.686963,.960077,.691957,.978626,.69126,.963302,.680595,.954679,.684686,.951921,.689879,.950179,.689322,.928721,.690931,.939571,.686826,.93643,.684837,.929373,.684883,.94035,.681515,.931908,.69766,.955745,.70004,.974477,.696283,.964452,.706773,.965317,.663291,.943472,.660606,.936212,.665124,.936773,.667567,.945921,.669237,.957369,.661838,.948259,.65629,.937908,.671499,.972577,.66595,.96551,.675236,.970442,.679764,.983662,.67336,.982018,.664606,.977534,.326442,.984028,.332441,.987569,.325961,.993159,.32969,.976834,.323727,.98209,.320528,.995687,.326283,.971751,.321737,.977208,.322742,.968634,.318714,.981138,.318701,.968884,.303809,.982686,.308214,.970881,.308372,.983547,.302248,.973416,.300781,.991084,.307382,.997843,.295041,.98112,.749333,.877369,.754163,.880212,.751006,.881688,.751313,.875428,.746412,.884013,.745684,.874945,.747622,.870689,.754435,.889065,.757011,.884922,.759345,.890167,.754136,.885221,.764458,.869636,.767407,.86532,.767487,.869343,.762201,.864186,.775663,.871222,.770612,.873128,.767235,.874484,.77201,.877489,.769923,.879327,.775494,.88004,.773403,.884178,.790581,.920825,.797652,.935521,.788895,.925445,.795517,.923049,.783354,.916947,.78742,.914182,.792968,.912246,.790354,.893746,.793307,.90305,.788397,.900676,.785379,.894695,.786552,.904225,.782006,.897308,.80192,.91645,.800983,.923813,.805558,.932018,.812231,.924093,.765141,.909776,.76178,.904209,.766009,.903805,.769337,.911201,.764341,.914101,.772005,.920421,.758206,.906489,.778583,.930634,.775077,.93268,.769322,.927195,.78322,.940843,.777386,.940319,.768284,.936077,.245914,.959763,.253711,.95969,.247207,.965781,.248847,.953389,.242169,.969312,.241674,.960143,.243162,.950953,.223222,.95958,.229372,.950283,.228588,.960604,.221887,.951748,.219148,.966382,.226157,.972025,.213361,.957383,.423454,.691472,.436045,.683583,.43224,.691889,.424253,.67969,.449141,.693122,.437152,.700639,.425724,.703514,.28685,.690361,.302643,.697445,.282906,.699312,.289208,.70641,.276926,.710942,.272588,.701264,.269918,.688802,.523239,.459234,.538203,.427089,.541622,.455538,.518421,.430985,.557022,.42522,.559667,.453645,.545355,.482093,.562776,.48055,.528,.484944,.496913,.437889,.504813,.465241,.511256,.489243,.396141,.465852,.411616,.43623,.413581,.459897,.393253,.441789,.416708,.481522,.399698,.487577,.382078,.49588,.377932,.474011,.358914,.484537,.374636,.449719,.35584,.460202,.340732,.51398,.339565,.495287,.321892,.522299,.32133,.5094,.31986,.490332,.337348,.473148,.66447,.486765,.652766,.474221,.654611,.450964,.66789,.465715,.67544,.50461,.680671,.486055,.670088,.51552,.66185,.502471,.652052,.493535,.639878,.465632,.640444,.440596,.640537,.487678,.627311,.484086,.625736,.459962,.625331,.433545,.594273,.454021,.609374,.428953,.610473,.456262,.592626,.426149,.612621,.481786,.59671,.480553,.579979,.480136,.577257,.453219,.575153,.4249,.5161,.511684,.519816,.53334,.504719,.534908,.501161,.514947,.532213,.509007,.535734,.532045,.552325,.531278,.56608,.506314,.569401,.531231,.548993,.507177,.48763,.518156,.490449,.536358,.453611,.490289,.437388,.499235,.42004,.502523,.403833,.506843,.388298,.513189,.393133,.528503,.339203,.529634,.321379,.533446,.662834,.523058,.660814,.514122,.669646,.52308,.669518,.519328,.656522,.523948,.653069,.509759,.64737,.525937,.630404,.506673,.64284,.507569,.635502,.528637,.600053,.506269,.61598,.506391,.620844,.5307,.604292,.531919,.586827,.531653,.583223,.506137,.44721,.555731,.463418,.55565,.478415,.555536,.46628,.575321,.480776,.57424,.451091,.57739,.431853,.561938,.435779,.580682,.421042,.583872,.417667,.567107,.384402,.547098,.396916,.542571,.400663,.556397,.387985,.560267,.676957,.539966,.662799,.536932,.668339,.531164,.671757,.549141,.670728,.524584,.680831,.530754,.321973,.563858,.331992,.568458,.342263,.574214,.3288,.578214,.337592,.588349,.322501,.573329,.664905,.56004,.643419,.550961,.654611,.54346,.609457,.558801,.627569,.555714,.636523,.582231,.615561,.590356,.592904,.582648,.590367,.55717,.574477,.579001,.572359,.555503,.557434,.577398,.555186,.554689,.540835,.576659,.538609,.55449,.524779,.575306,.522653,.554517,.50747,.55473,.509575,.574292,.492834,.555172,.495087,.573885,.542609,.599394,.559271,.599256,.575266,.6003,.576138,.618816,.561794,.619823,.525804,.615351,.526022,.595783,.511393,.610307,.511002,.593061,.60712,.6122,.591157,.604171,.589429,.621401,.646999,.606816,.631825,.615812,.619984,.626963,.629447,.643369,.677384,.571616,.682382,.559671,.69353,.569073,.689401,.581542,.697586,.557441,.686943,.548831,.690935,.538223,.7014,.546084,.41114,.618728,.423797,.601157,.425736,.618529,.409348,.602602,.397272,.619261,.39554,.603896,.40698,.58658,.393423,.588724,.441703,.618778,.455135,.597722,.439091,.599581,.469689,.594069,.483436,.592174,.498497,.608275,.497004,.591892,.547188,.667705,.557028,.668597,.567008,.668873,.558534,.68143,.56862,.682016,.548309,.68058,.537916,.679358,.53714,.666412,.527289,.677848,.526685,.664401,.576647,.670473,.585573,.67072,.578503,.682569,.588086,.68251,.60322,.666657,.594238,.669441,.607336,.679837,.597598,.681567,.634549,.659025,.638966,.673612,.623617,.662,.628099,.675841,.516395,.663765,.516615,.676336,.505798,.674203,.506452,.661823,.494532,.671096,.496208,.658105,.48235,.667022,.484952,.65237,.52152,.629345,.510335,.624404,.45705,.640443,.471575,.646744,.468934,.662614,.454637,.658006,.426357,.635397,.441322,.637166,.440151,.65405,.426148,.651339,.567487,.635287,.578121,.633578,.613361,.664688,.617573,.677977,.709225,.627075,.692682,.635633,.69544,.618932,.710419,.64678,.698116,.603999,.710277,.611717,.69097,.653088,.706034,.661974,.689765,.669196,.704275,.675434,.712639,.598191,.701231,.590367,.704748,.577728,.715773,.585653,.712157,.554304,.708454,.56579,.723163,.56245,.719333,.573795,.276474,.584438,.267543,.604563,.26449,.590722,.279935,.599659,.256159,.609608,.253212,.597181,.260591,.576613,.249436,.584625,.272303,.568845,.721654,.663721,.722549,.64535,.727933,.659172,.734351,.6565,.733321,.671069,.737879,.667721,.72996,.676322,.223524,.69601,.217202,.701659,.216641,.698592,.220945,.693082,.22957,.689595,.225319,.686882,.23421,.693238,.226457,.699593,.218246,.705197,.218577,.690831,.221245,.684928,.216088,.696097,.215147,.693864,.215906,.689261,.217165,.683785,.740464,.654633,.746901,.6532,.742349,.665677,.746921,.665058,.720583,.630842,.721165,.617533,.732981,.611296,.723273,.60499,.726331,.592952,.73631,.59977,.718319,.672717,.728826,.68275,.716876,.682355,.728338,.689245,.220248,.709015,.229814,.703895,.239207,.697865,.233363,.709037,.24428,.703754,.222333,.713717,.704344,.68813,.716466,.69214,.727922,.696002,.716724,.702173,.727749,.703918,.705352,.700248,.224922,.718495,.236978,.714763,.2295,.722975,.24096,.720873,.24861,.710657,.252679,.718147,.68358,.754873,.669067,.742069,.680354,.741083,.672239,.755204,.665561,.728501,.67677,.727256,.691995,.740092,.688028,.72606,.68436,.766675,.68585,.777155,.674674,.767227,.677115,.778447,.654504,.729993,.658143,.743645,.661661,.756652,.647338,.745805,.651336,.75922,.64355,.731922,.664988,.768773,.655565,.771158,.668112,.780021,.659397,.782245,.640817,.763197,.636384,.748599,.624848,.751411,.621295,.735662,.632512,.733929,.646655,.774577,.651174,.784738,.614808,.76596,.614145,.778242,.614258,.789246,.605437,.788565,.604331,.77677,.603179,.764144,.612692,.750974,.601207,.750342,.609911,.736197,.598739,.736264,.594487,.776209,.592462,.763589,.596326,.788093,.587438,.788176,.584912,.776527,.581954,.764014,.590172,.750116,.579307,.750313,.587784,.736243,.576889,.736318,.571237,.76569,.575765,.777761,.57911,.78852,.568197,.750931,.556468,.751423,.565811,.73632,.554463,.735933,.543759,.774143,.545199,.763128,.543191,.78388,.534696,.781579,.534165,.771084,.533745,.759583,.544312,.748877,.532682,.746462,.542899,.734452,.531396,.732735,.514712,.768491,.522867,.757564,.524434,.769209,.512046,.756949,.525881,.779748,.517084,.778863,.509842,.743783,.519844,.731127,.521337,.744753,.508091,.729913,.500705,.757919,.505247,.769121,.508598,.778746,.497901,.743663,.48514,.743917,.495901,.729017,.483146,.728224,.719387,.751964,.722624,.740393,.725844,.74813,.715163,.743625,.729339,.738053,.731862,.744812,.729481,.755367,.734984,.751272,.723674,.759585,.240711,.756355,.251509,.751355,.252491,.76011,.239763,.748827,.263861,.753565,.264972,.763691,.252782,.769086,.265076,.773984,.241233,.764087,.711663,.733818,.718432,.722411,.720128,.73182,.708971,.723157,.72726,.722346,.727761,.730697,.261982,.743899,.249876,.74298,.238474,.741664,.247664,.735044,.236609,.734794,.259483,.734777,.67762,.682759,.691278,.684719,.693427,.698772,.68128,.698272,.398636,.63438,.412197,.63456,.412637,.649725,.399598,.648921,.400059,.662619,.41254,.664022,.425387,.666175,.412037,.677539,.39968,.675661,.438503,.669667,.452349,.674874,.467125,.678659,.466205,.695203,.480959,.682042,.480589,.697415,.493692,.685082,.50559,.687626,.493667,.6996,.505894,.701583,.517567,.703346,.516935,.689634,.528001,.691275,.528921,.70492,.540063,.706313,.538894,.69269,.549584,.693835,.55104,.707446,.561832,.708186,.570461,.695164,.572474,.708599,.560103,.694644,.582981,.708742,.590724,.695255,.593421,.708563,.580661,.695429,.611025,.693192,.600798,.694489,.614508,.70689,.603901,.707945,.625244,.705438,.621517,.691579,.636093,.703778,.632219,.689799,.654231,.68613,.643116,.687896,.65819,.700491,.64706,.702065,.665556,.684463,.669549,.699147,.372637,.551228,.37591,.563351,.339735,.606572,.353325,.590702,.354447,.606347,.367044,.591093,.368421,.605891,.356164,.62224,.370162,.621052,.341574,.623574,.358396,.638142,.361618,.653688,.345878,.659251,.343538,.640631,.372204,.636058,.374649,.65034,.383759,.620013,.385424,.634847,.387023,.64899,.380215,.590323,.382006,.605024,.354142,.577107,.366031,.577496,.27001,.644574,.283128,.629565,.2828,.644221,.270522,.631489,.280869,.658798,.267935,.657407,.258831,.645227,.256919,.656429,.259186,.633674,.276662,.673344,.263909,.669924,.257684,.681697,.253469,.667288,.248262,.677375,.249177,.646184,.247548,.655888,.249163,.636251,.244558,.66547,.240376,.674521,.236768,.664181,.233407,.672518,.282128,.614743,.269612,.618152,.25823,.621783,.24787,.625766,.238423,.630225,.245682,.614855,.235984,.620396,.242763,.603707,.233055,.610245,.23906,.592514,.229586,.6001,.734093,.57,.729979,.581288,.744422,.577169,.740153,.588358,.241547,.685932,.235274,.682496,.229499,.680054,.224088,.678441,.226846,.67121,.218708,.677598,.220424,.670581,.248586,.690726,.255812,.697302,.260451,.706057,.264659,.714782,.226786,.626286,.22391,.616769,.217862,.63258,.21503,.623459,.220756,.607141,.212245,.614115,.759351,.601937,.745766,.606483,.749882,.595193,.754931,.613193,.754288,.58404,.764019,.590781,.741955,.617788,.750664,.624987,.229617,.635476,.220843,.641692,.229567,.663109,.222189,.662273,.763916,.619396,.75972,.630508,.772392,.625214,.768097,.635229,.756135,.642375,.76462,.645873,.77379,.597823,.76866,.608667,.783579,.605952,.777594,.615589,.208815,.638943,.206105,.630486,.199832,.645607,.196964,.637987,.203737,.621605,.194962,.630238,.211709,.647195,.214037,.655484,.203055,.652583,.205593,.659398,.214267,.663756,.213738,.671169,.206895,.666102,.207246,.672497,.2131,.677701,.212721,.683469,.207326,.678499,.207576,.684118,.214345,.692215,.213017,.688436,.211839,.69183,.209108,.688897,.754168,.654706,.761804,.657136,.75185,.666122,.75839,.668543,.775585,.639325,.772384,.648836,.779931,.630599,.781848,.642621,.768127,.671744,.770099,.659414,.793275,.614746,.785736,.622457,.190528,.652919,.186966,.645726,.1756,.653169,.184681,.638831,.170317,.645871,.195199,.658097,.19853,.663304,.200277,.668705,.201149,.674193,.19479,.671194,.201265,.685611,.201235,.679744,.208559,.693758,.20428,.691223,.206311,.699756,.19822,.696666,.790904,.647237,.786682,.645093,.190265,.673319,.186329,.675358,.182289,.677465,.17784,.679984,.771371,.689761,.77308,.676501,.779814,.682176,.763313,.683044,.787547,.675601,.787275,.686801,.794741,.679579,.778813,.694713,.186432,.69409,.180082,.690789,.173712,.695583,.179214,.699176,.169156,.691488,.175501,.687257,.79491,.668602,.800649,.661575,.801397,.672446,.807026,.665206,.705065,.790922,.701796,.783215,.710591,.788283,.707092,.780917,.698938,.793652,.695667,.785084,.715835,.785511,.712091,.778348,.721114,.782469,.716985,.775054,.691823,.796896,.679876,.789415,.688305,.787126,.683043,.801264,.673705,.801017,.662693,.792986,.67107,.790856,.665809,.804317,.654598,.79466,.657093,.804538,.64988,.805315,.647435,.796326,.617256,.810522,.622836,.799685,.624562,.809103,.615284,.799923,.606817,.800238,.608379,.812938,.598,.799736,.599394,.810894,.589466,.799622,.591234,.811872,.574216,.798348,.581337,.79885,.582501,.808884,.575483,.807241,.569306,.806192,.568196,.798016,.563487,.805318,.562517,.797288,.557666,.804503,.556773,.796408,.551551,.803683,.550641,.794959,.544806,.802864,.543538,.793319,.535583,.791602,.536833,.802082,.519083,.788594,.527333,.78953,.528773,.798085,.521114,.798324,.512298,.796099,.510909,.787679,.505021,.79495,.503568,.787272,.706906,.748368,.712795,.756587,.717832,.7639,.726629,.779027,.727921,.767102,.732223,.775041,.722333,.771269,.733401,.762586,.738539,.757652,.737664,.770256,.74264,.764486,.251275,.787491,.263961,.783988,.26212,.793964,.25235,.778115,.241074,.780159,.24136,.771844,.273689,.800254,.276068,.78984,.278585,.779164,.276927,.755358,.278349,.767039,.290738,.756497,.29289,.769973,.314658,.79859,.31745,.81118,.310581,.784942,.327364,.79869,.325262,.785012,.328921,.811521,.307795,.770496,.305059,.756582,.322663,.770542,.319663,.756097,.341104,.812749,.340603,.799911,.340409,.785942,.337789,.770454,.349614,.754011,.353495,.7701,.334527,.755259,.373213,.783236,.368732,.767573,.3646,.751845,.38364,.765075,.379546,.749266,.387411,.780284,.379015,.796686,.390877,.793927,.393986,.806216,.383545,.80883,.401914,.77902,.398799,.763207,.395066,.74647,.414521,.762401,.412798,.743429,.403262,.792647,.404974,.804666,.44563,.7852,.431294,.776176,.442332,.774642,.436383,.787063,.449057,.794688,.44104,.796605,.428276,.762826,.427278,.749731,.440024,.763085,.438563,.751396,.457122,.793623,.454616,.784303,.452437,.774282,.463224,.78419,.461984,.774736,.464987,.793164,.461266,.764531,.449502,.752095,.460781,.753279,.450836,.763505,.478805,.785534,.485309,.786376,.491317,.786805,.486178,.793611,.492348,.793925,.479648,.793352,.48888,.808179,.481025,.801152,.487391,.800979,.482879,.809001,.493407,.801003,.494548,.807801,.470918,.775955,.471373,.784701,.472537,.793135,.474197,.801412,.467007,.801757,.476209,.809596,.469282,.810153,.472978,.755937,.471456,.766651,.498502,.794329,.497252,.787166,.471885,.741867,.459407,.740512,.457097,.726677,.470007,.727077,.499408,.801347,.505613,.802139,.500085,.807988,.50574,.808835,.511714,.810352,.519112,.805478,.518064,.812354,.512203,.803521,.553173,.812479,.558837,.812769,.564449,.813372,.560147,.820821,.565338,.821161,.555014,.821042,.570055,.814266,.575872,.81564,.570567,.822028,.575836,.823476,.541316,.812442,.547282,.812388,.549831,.821722,.544511,.822526,.58145,.825494,.588564,.820103,.587112,.827611,.582071,.817594,.631105,.808099,.629327,.799476,.637224,.807175,.635329,.79877,.643391,.806256,.64125,.797855,.633233,.816736,.627148,.818223,.639234,.815658,.641207,.823897,.635646,.825111,.63009,.826878,.646922,.823157,.645271,.814787,.652806,.822906,.651522,.814227,.614059,.822461,.62074,.820145,.624422,.829213,.618554,.831622,.658934,.82305,.664805,.813898,.665159,.823146,.658094,.813956,.6,.818796,.604571,.820292,.601511,.824249,.600074,.824258,.595917,.819676,.598831,.824646,.608744,.825318,.612293,.832724,.603692,.825672,.605958,.831188,.593696,.823515,.597765,.825681,.592436,.828529,.597247,.826844,.533688,.805386,.53052,.804137,.529748,.802336,.531876,.806072,.526341,.803314,.529724,.806413,.525102,.807767,.53045,.80834,.52459,.813966,.531085,.814669,.670817,.809089,.674882,.807559,.679714,.809204,.675241,.810982,.676507,.813467,.672498,.810302,.696953,.805509,.690227,.809795,.703205,.801813,.702576,.813482,.708006,.809474,.696638,.817815,.684345,.814499,.689652,.821435,.67781,.817451,.68128,.823363,.702351,.736672,.698816,.724442,.708944,.798631,.714369,.795789,.718279,.803201,.713153,.806075,.723473,.80069,.725116,.790331,.728902,.798495,.719688,.793068,.734768,.796307,.736643,.783748,.741051,.793615,.730793,.787385,.747418,.789134,.747705,.772615,.753625,.782794,.742362,.778955,.240033,.790035,.249516,.797724,.259643,.804176,.247108,.809264,.256756,.815148,.237963,.801932,.27001,.809838,.280425,.814998,.266622,.819991,.276483,.823647,.292607,.815414,.298105,.815301,.303349,.817392,.299912,.819335,.302342,.819985,.297404,.820108,.320115,.822712,.329703,.823298,.321259,.833788,.329894,.834705,.313723,.832456,.311716,.822451,.30385,.820136,.307587,.830125,.30331,.825639,.306627,.822539,.340103,.824384,.350742,.825821,.339077,.835497,.348262,.835981,.367155,.819846,.371638,.819841,.370634,.822348,.369849,.824252,.362775,.821805,.369628,.824494,.357122,.835623,.359819,.827682,.368552,.827448,.365572,.833361,.3964,.817356,.387666,.819247,.398324,.828032,.390511,.8293,.380016,.821689,.383513,.830156,.371873,.825293,.375343,.824267,.377792,.830247,.372352,.82882,.415047,.814615,.405759,.815915,.414943,.825125,.406647,.826681,.43228,.804255,.427696,.804192,.432124,.806964,.42959,.806997,.424232,.807279,.429962,.809541,.445628,.804821,.439642,.806734,.452526,.803409,.455583,.811629,.449215,.812736,.443543,.813831,.433552,.811116,.436106,.808385,.438883,.814623,.434568,.814345,.646645,.845271,.640401,.840069,.644974,.838825,.642445,.846304,.644136,.852242,.648283,.85138,.650916,.8446,.649725,.838264,.65244,.850499,.654015,.856501,.649986,.857517,.656026,.862846,.651853,.864092,.645831,.858222,.647446,.864694,.567519,.841313,.571314,.841679,.568109,.846968,.571843,.847134,.57115,.83588,.566851,.835252,.563707,.841272,.562681,.835297,.564392,.846857,.572314,.852662,.573116,.858527,.56919,.858809,.568652,.852711,.564942,.852507,.565284,.858477,.501452,.826501,.501241,.82302,.500971,.819025,.50181,.833737,.501624,.829935,.729021,.822713,.73023,.814927,.733079,.820932,.725702,.816801,.736054,.826436,.732194,.828327,.725116,.824881,.721479,.819333,.728321,.830238,.731489,.835662,.735407,.833941,.734647,.841539,.738825,.839896,.74267,.83771,.739117,.831965,.795005,.649249,.799541,.651505,.808632,.646355,.805138,.654287,.815579,.649591,.811691,.657698,.813482,.626441,.811316,.637263,.82164,.630229,.818818,.640518,.154679,.663333,.164796,.658785,.157761,.669959,.16784,.665914,.151449,.656611,.160964,.652746,.787808,.698464,.795705,.690746,.802659,.683504,.805033,.69427,.811223,.687299,.798278,.701593,.158151,.706198,.171742,.705495,.163122,.711942,.166393,.700865,.154051,.700838,.161943,.696114,.169946,.678332,.172193,.683124,.165567,.686938,.162676,.681869,.150401,.695626,.158192,.691197,.154857,.685977,.146917,.690448,.168585,.672692,.160146,.676211,.148353,.674458,.143316,.685133,.139396,.679574,.151687,.680443,.140852,.660789,.134916,.673491,.129826,.666425,.144705,.668013,.830075,.635317,.82675,.644955,.83898,.641484,.834993,.650282,.823099,.653674,.83101,.658396,.818991,.661683,.826785,.666051,.822109,.673372,.814262,.669172,.808845,.676385,.816935,.680413,.830442,.677778,.834962,.670738,.839096,.663522,.843566,.675692,.839295,.682515,.848029,.648847,.843223,.656256,.820224,.69099,.825475,.684514,.834439,.688888,.809837,.704218,.814927,.697407,.145722,.705313,.149042,.711142,.152875,.717872,.139322,.71521,.141002,.722526,.137391,.709249,.139038,.695042,.142461,.700047,.13471,.704196,.131506,.699547,.135276,.690129,.12782,.695118,.130963,.68519,.123397,.690933,.125738,.68007,.117638,.687134,.119311,.674466,.110263,.683408,.852919,.680809,.863883,.686176,.859835,.694026,.848935,.687805,.853741,.700036,.843735,.693871,.121758,.7187,.128852,.725484,.117546,.72605,.129919,.717918,.124285,.714178,.129805,.712312,.124478,.703802,.121235,.711679,.117724,.707947,.12757,.707976,.1211,.699737,.114837,.703756,.113143,.700253,.117224,.696265,.102792,.692164,.107286,.700689,.097497,.701354,.111211,.694072,.096772,.710852,.110245,.712648,.10078,.718861,.107275,.706999,.485334,.816981,.490734,.815037,.495715,.814012,.478474,.817854,.471527,.818426,.480728,.826322,.473579,.826678,.481649,.834691,.475048,.834806,.488158,.835007,.48252,.842591,.488435,.842614,.476387,.842768,.49338,.836699,.497835,.837772,.493449,.842781,.497926,.843046,.288645,.819231,.295344,.820671,.296446,.825368,.286187,.82577,.745303,.805152,.752661,.801148,.759703,.795426,.75822,.814926,.765772,.809815,.234924,.815902,.244196,.822258,.253689,.827265,.241107,.836634,.250476,.840496,.231556,.831864,.758521,.832811,.76529,.828599,.772334,.82474,.772076,.841865,.779406,.839105,.765282,.844666,.229025,.849039,.238095,.851869,.247216,.854581,.235095,.867252,.244002,.869118,.226141,.865726,.263253,.831149,.272918,.833883,.259799,.843535,.26913,.845651,.265193,.85877,.256259,.856966,.261317,.87271,.252718,.870994,.294077,.833587,.282956,.834905,.278651,.8465,.28854,.845562,.274044,.859839,.282659,.859946,.269704,.874117,.277712,.875354,.704173,.826444,.696345,.830052,.704582,.840534,.687096,.831878,.694697,.842303,.70321,.855552,.71238,.85295,.720757,.850482,.720947,.865186,.727747,.861893,.713697,.868999,.547753,.833435,.552456,.830847,.556927,.829104,.539211,.822359,.541774,.833714,.544119,.846142,.536102,.832813,.537658,.845502,.53391,.820509,.545338,.871273,.551481,.860029,.552031,.871986,.544661,.858797,.537711,.85755,.537621,.870079,.556966,.862797,.561539,.864429,.557428,.872289,.562042,.872434,.42294,.846057,.422845,.834012,.430474,.843759,.430434,.830953,.415591,.847973,.415246,.836214,.422884,.82275,.431246,.818555,.40748,.837778,.408362,.849354,.399878,.838886,.401202,.850183,.415966,.860297,.422817,.858584,.429788,.856427,.422635,.871536,.428762,.869139,.416284,.87326,.409141,.861479,.40987,.874313,.402314,.862145,.403361,.874876,.608209,.841311,.615694,.842916,.623198,.841945,.619255,.855708,.60853,.85499,.354842,.845598,.363407,.842418,.352679,.857557,.361194,.855113,.344549,.858764,.346429,.846864,.350051,.870848,.357824,.869308,.347241,.884925,.35382,.883854,.340304,.885466,.342517,.871686,.622527,.8699,.62699,.883817,.617714,.884794,.6124,.870246,.631649,.869777,.635194,.882781,.329534,.846264,.337906,.846918,.336606,.858975,.328842,.858391,.327798,.87122,.335079,.871782,.333408,.885418,.326561,.884826,.32153,.845121,.32132,.857244,.313982,.843267,.314015,.855293,.313855,.868411,.320718,.870124,.319894,.883793,.313406,.882237,.306864,.852389,.306876,.840035,.299752,.848324,.298782,.834272,.307127,.880184,.307094,.865927,.301265,.877784,.300396,.862925,.665851,.833642,.67097,.821851,.672657,.831791,.676033,.818259,.678694,.827893,.675145,.843835,.682597,.839096,.67923,.857036,.671954,.860762,.687358,.852696,.682652,.870768,.690494,.867725,.675642,.873354,.670164,.814183,.673996,.811828,.392485,.839552,.394105,.850471,.385511,.839506,.387128,.849984,.395526,.862271,.396926,.874966,.390485,.874431,.388824,.861694,.380255,.848431,.378766,.838108,.372987,.845422,.371362,.834393,.375093,.85754,.382066,.860125,.384134,.873063,.378077,.870655,.585988,.836195,.59199,.836284,.59698,.83411,.59275,.846267,.598786,.843568,.588151,.859752,.595729,.857758,.60489,.85476,.597355,.86996,.606571,.868114,.589676,.871244,.462332,.81077,.464789,.819032,.46692,.827139,.458319,.819693,.460644,.827708,.468748,.835164,.470319,.843045,.462659,.835633,.46448,.843518,.452131,.820471,.446413,.821263,.454662,.828315,.448896,.828907,.456784,.83621,.458724,.844097,.451112,.836824,.453097,.844799,.436034,.821928,.441177,.821814,.443415,.829377,.438025,.829475,.440163,.837851,.445576,.837391,.447567,.845571,.442029,.84653,.516793,.819541,.524282,.821119,.532121,.821849,.523501,.829086,.532187,.829745,.516154,.837106,.523534,.83756,.531347,.838233,.523189,.845839,.530599,.846956,.516425,.844938,.580742,.833164,.575713,.830783,.566154,.828513,.570866,.829304,.575146,.8864,.575205,.892532,.575497,.898425,.57172,.892496,.572079,.898602,.571317,.886244,.568269,.892761,.56762,.886599,.568654,.898647,.568917,.904616,.572375,.904721,.56893,.911049,.572616,.911278,.575822,.904388,.576324,.910775,.549231,.897994,.553755,.884141,.546983,.884115,.542406,.896624,.539548,.88321,.543554,.913501,.550131,.912743,.556358,.912696,.551387,.927031,.544493,.931495,.422643,.885262,.422918,.900196,.417312,.900963,.416722,.886805,.428181,.882556,.428063,.898214,.423688,.916266,.424656,.931496,.418865,.929302,.418032,.915432,.429201,.917916,.430985,.935584,.411441,.901384,.404449,.888158,.410614,.887703,.405511,.901691,.41236,.91515,.413265,.928363,.407722,.928309,.406595,.915222,.392045,.88796,.39822,.888279,.399528,.901938,.393594,.90209,.395143,.916469,.400855,.915665,.402133,.92891,.396555,.93029,.38774,.901943,.37978,.885016,.385939,.887032,.381927,.90098,.389507,.91773,.390865,.932747,.384349,.91972,.384838,.936783,.589575,.883222,.597417,.882702,.606105,.88119,.596691,.896559,.604903,.895056,.59647,.924582,.589944,.911287,.596996,.910932,.604875,.911342,.60438,.928106,.568002,.945242,.573292,.935515,.573355,.945589,.568514,.93522,.568828,.926395,.573137,.926707,.579013,.944617,.578138,.934712,.577421,.925992,.567659,.956529,.573294,.956951,.572857,.969741,.566671,.968501,.579292,.956108,.580077,.968376,.594321,.936514,.600725,.942057,.558736,.88189,.562918,.880468,.561053,.915108,.565016,.917185,.548601,.946442,.554029,.939359,.431917,.950295,.425132,.944748,.419494,.941856,.408802,.940604,.414158,.940641,.415052,.952064,.409963,.952183,.418471,.973422,.41123,.963476,.41633,.962735,.412724,.975096,.403445,.941287,.404735,.95282,.398014,.942906,.501947,.856216,.502049,.852689,.50182,.859369,.501595,.86253,.501322,.866032,.484673,.858177,.489431,.850049,.483601,.850368,.478762,.858289,.477597,.850557,.47955,.86582,.484812,.865719,.489927,.866186,.484996,.872662,.489233,.872551,.480383,.873278,.471808,.850862,.473139,.858548,.466151,.851297,.467709,.858968,.474345,.866013,.475484,.873246,.469177,.866395,.470651,.873461,.46056,.851923,.462302,.859597,.455013,.852675,.456899,.860445,.464039,.867066,.458796,.868053,.46582,.874133,.460874,.875315,.444078,.854589,.449524,.853564,.451437,.861443,.445896,.8624,.455646,.877099,.447398,.870752,.453331,.869331,.449737,.879473,.521291,.862032,.522418,.853888,.52949,.863102,.52982,.855141,.515454,.85248,.513736,.869465,.520726,.870465,.528861,.871929,.526512,.881619,.518959,.878482,.513128,.8765,.495671,.879301,.500225,.875142,.499398,.880149,.496573,.874354,.504102,.875632,.503331,.880759,.498306,.885367,.502409,.88595,.494536,.884333,.507374,.881225,.508307,.87592,.511462,.882223,.509631,.885938,.506393,.886088,.492849,.889676,.494837,.897625,.49044,.895617,.496872,.891085,.501455,.891683,.500513,.898283,.506191,.891318,.511043,.889664,.512699,.89612,.505812,.897748,.489004,.877959,.492964,.873367,.492263,.878411,.491347,.883026,.489087,.881815,.489476,.887654,.486952,.893288,.486806,.884571,.483214,.889714,.481481,.8814,.485578,.879147,.520938,.890593,.515599,.885262,.472153,.880053,.476667,.88023,.467677,.880641,.469611,.886552,.463194,.881997,.471512,.891846,.473756,.897373,.312642,.896686,.318847,.898065,.325193,.899076,.31763,.912753,.323709,.913642,.311638,.911595,.310556,.926899,.316369,.92756,.322178,.928267,.315185,.942191,.32071,.9426,.309368,.94224,.305861,.91001,.306704,.89481,.300334,.907545,.30127,.892411,.299272,.92445,.304712,.926043,.303202,.942737,.296812,.943488,.688144,.899869,.678164,.886504,.68537,.884885,.69256,.882369,.695191,.897524,.700034,.913296,.692423,.91474,.703671,.930474,.695765,.929235,.685802,.916605,.662459,.900123,.668,.905577,.664442,.906517,.666138,.899367,.664462,.892787,.66041,.893493,.672356,.918662,.66652,.913068,.669988,.911896,.668779,.920087,.658844,.901228,.656525,.894744,.66083,.907432,.664891,.920712,.662892,.913797,.338207,.899956,.344742,.899647,.351123,.898621,.342367,.914999,.349029,.91417,.336062,.914934,.336837,.948075,.346305,.931531,.342605,.951547,.339807,.931221,.331398,.945344,.333761,.930162,.329861,.914386,.331649,.899695,.327967,.929154,.326064,.943521,.669667,.936755,.672499,.946051,.673965,.935816,.677063,.944851,.67573,.956619,.681147,.942851,.677928,.934159,.686239,.981862,.680485,.968474,.706253,.947813,.697638,.943084,.658469,.954525,.654982,.962701,.651158,.941488,.645476,.946091,.328899,.959523,.333607,.96409,.33898,.971894,.319477,.956181,.32431,.956969,.308436,.957078,.314234,.956276,.31379,.969679,.757482,.871868,.757947,.864741,.760961,.870525,.754105,.866107,.763999,.875884,.760652,.877351,.750596,.868025,.754174,.873524,.757327,.878792,.763444,.889836,.763814,.882834,.767145,.888636,.760397,.88409,.770519,.886803,.767051,.88122,.723779,.881098,.729919,.876911,.735883,.872634,.739072,.888707,.733045,.893396,.257653,.88689,.265754,.888564,.273418,.890346,.262236,.902887,.269809,.904911,.254284,.901023,.741701,.905773,.746892,.900555,.752315,.896963,.75444,.910822,.750679,.916662,.251186,.914883,.259156,.917063,.267161,.919748,.256081,.930739,.264252,.934584,.248305,.928113,.246127,.899401,.249348,.885248,.237771,.89804,.240853,.883659,.243125,.913276,.234767,.912144,.240455,.926556,.232175,.925815,.232283,.882233,.229275,.896834,.223836,.881142,.22098,.895715,.22595,.911384,.223083,.925873,.216657,.910668,.212735,.926462,.785991,.852828,.778445,.855013,.793173,.866414,.78486,.868526,.770923,.856861,.798011,.893778,.784766,.883403,.7922,.881456,.801108,.880113,.808067,.894263,.778721,.909016,.782808,.906826,.774561,.901693,.778443,.899697,.812768,.909655,.801498,.905753,.762006,.919592,.759969,.926366,.778417,.919206,.774206,.910592,.770384,.903089,.784089,.928739,.790479,.939744,.252604,.943194,.259923,.94841,.245577,.940282,.238245,.938892,.230353,.938703,.236588,.950162,.632304,.897847,.638527,.912497,.629014,.914268,.623296,.899331,.640314,.895699,.644415,.927441,.651705,.925707,.636216,.930248,.582603,.862712,.583687,.871883,.578045,.864392,.578809,.87224,.573846,.86519,.574535,.872352,.570362,.872439,.569785,.865401,.565717,.865197,.566227,.872453,.583834,.881345,.579196,.880125,.574914,.879633,.570874,.879485,.585005,.91407,.580844,.916468,.572869,.918616,.576899,.917983,.510878,.816752,.50556,.814854,.500591,.813988,.510699,.838049,.510926,.844273,.506114,.838443,.506259,.843776,.501963,.838318,.502067,.843362,.510351,.850323,.506022,.848978,.508702,.870215,.50454,.870571,.502089,.848341,.49821,.848233,.493851,.868107,.497381,.869508,.500876,.870315,.628271,.838068,.633178,.835002,.638852,.871508,.644504,.872209,.641592,.881759,.646844,.88079,.638091,.832961,.643153,.831688,.653806,.831175,.648387,.83108,.666877,.865224,.669888,.875178,.6625,.868167,.664974,.876595,.658203,.870053,.660509,.877781,.656066,.878857,.653874,.871276,.651563,.87983,.649337,.87205,.672093,.885461,.667092,.885126,.681816,.920471,.678477,.923757,.662564,.885529,.658275,.886323,.654034,.887555,.649772,.889267,.657713,.927027,.662691,.928202,.66715,.928366,.671226,.927629,.738282,.805694,.732307,.806561,.727022,.808113,.722103,.810263,.712996,.816531,.717439,.813051,.728017,.850245,.733616,.849472,.73333,.859235,.738087,.857028,.738315,.848113,.742577,.846346,.742371,.855057,.746523,.85314,.750472,.841547,.746586,.844225,.754914,.849263,.750659,.851219,.75432,.837898,.759692,.847093,.764229,.856579,.758967,.857056,.780835,.887179,.777656,.890471,.754495,.858244,.75043,.859826,.742922,.864333,.746596,.861831,.757765,.896781,.762513,.896783,.77075,.894933,.766792,.896197,.297016,.627829,.310501,.608804,.311794,.626282,.295779,.61155,.293501,.594749,.309223,.589217,.297183,.643982,.312901,.643622,.296017,.660316,.314278,.662616,.684592,.712391,.695932,.711897,.70691,.711921,.661931,.714616,.673204,.713371,.650823,.716137,.639836,.717816,.628866,.719577,.617887,.720986,.606946,.721875,.596107,.722267,.574628,.722346,.585375,.722396,.56374,.722096,.55266,.721415,.54144,.720273,.53007,.718773,.51856,.717255,.506753,.715751,.412577,.705152,.411583,.690833,.395638,.706162,.398126,.689215,.437431,.740639,.447852,.740223,.43387,.72968,.445064,.727663,.3604,.736568,.345785,.738841,.342078,.724187,.356344,.721881,.370088,.719054,.374791,.733718,.331026,.740555,.316346,.741982,.327445,.726158,.312673,.728076,.301985,.743258,.288097,.744092,.298498,.73043,.28492,.732393,.274732,.744297,.271898,.733888,.374683,.677987,.355798,.674012,.36746,.667083,.36544,.68942,.377696,.662635,.380279,.67127,.388466,.673245,.38831,.661879,.349584,.693306,.333596,.683668,.344372,.680337,.335754,.695936,.332349,.675309,.338445,.670365,.380856,.696359,.385546,.684192,.291806,.675911,.307637,.679757,.321817,.683057,.321059,.697022,.324894,.671894,.494455,.714311,.481525,.712885,.467916,.711636,.453898,.711364,.441442,.714136,.429609,.716843,.366248,.705424,.352723,.707624,.338653,.709861,.308415,.713812,.323919,.711688,.294345,.717963,.281179,.721339,.268536,.724056,.25634,.726157,.233665,.728426,.244693,.727643,.325226,.6081,.32673,.624897,.323796,.5921,.323113,.582721,.316717,.577935,.40373,.72493,.417317,.720128,.423356,.733639,.429353,.74132,.49939,.622405,.588661,.635279,.11531,.716709,.1081,.723871,.561455,.828413,.405886,.963858,.406543,.975227,.392482,.946047,.386123,.951585,.458601,.884224,.45353,.887914,.313898,.982917,.314605,.997448,.301907,.959056,.293748,.963017,.235294,.971465,.235532,.960561,.210786,.942825,.221535,.939777,.5669,.879784,.568904,.918347,.494111,.848774,.659558,.832158,.64539,.891894,.67502,.926083,.708731,.821004,.739456,.867777,.774351,.893016,.459744,.80238,.717402,.712402,.727558,.713048,.328285,.641645,.329881,.657504,.331107,.666577,.389147,.730068,.382908,.71521,.376693,.705655,.284338,.561968,.288975,.578431,.296216,.556024,.301681,.572533,.307997,.551638,.312077,.566486,.404075,.571052,.390974,.574116,.378286,.576351,.536628,.812638,.53233,.81038,.430363,.811832,.422628,.813443,.06141,.486205,.075042,.504764,.146716,.439424,.094054,.516661,.116983,.523614,.141274,.525235,.164114,.522375,.186363,.512632,.212101,.501872,.23452,.482402,.247405,.452825,.201782,.383327,.133196,.353119,.11395,.354778,.098044,.359361,.08452,.367038,.073805,.378312,.064689,.393287,.056438,.412605,.052209,.435877,.053297,.461836]],faces:[42,591,584,592,0,0,1,2,0,1,2,42,584,591,1,0,1,0,3,1,0,3,42,19,592,584,0,4,2,1,4,2,1,42,592,19,590,0,2,4,5,2,4,5,42,10,592,590,0,6,2,5,6,2,5,42,592,10,591,0,2,6,0,2,6,0,42,595,18,596,0,7,8,9,7,8,9,42,18,593,596,0,8,10,9,8,10,9,42,19,594,593,0,4,11,10,4,11,10,42,593,594,596,0,10,11,9,10,11,9,42,9,596,594,0,12,9,11,12,9,11,42,596,9,595,0,9,12,7,9,12,7,42,599,12,600,0,13,14,15,13,14,15,42,12,597,600,0,14,16,15,14,16,15,42,549,598,597,0,17,18,16,17,18,16,42,597,598,600,0,16,18,15,16,18,15,42,85,600,598,0,19,15,18,19,15,18,42,600,85,599,0,15,19,13,15,19,13,42,604,29,601,0,20,21,22,20,21,22,42,29,604,603,0,21,20,23,21,20,23,42,20,604,601,0,24,20,22,24,20,22,42,604,20,602,0,20,24,25,20,24,25,42,604,602,603,0,20,25,23,20,25,23,42,603,602,18,0,23,25,8,23,25,8,42,605,607,21,0,26,27,28,26,27,28,42,607,605,608,0,27,26,29,27,26,29,42,20,608,605,0,24,29,26,24,29,26,42,608,20,606,0,29,24,30,29,24,30,42,534,608,606,0,31,29,30,31,29,30,42,608,534,607,0,29,31,27,29,31,27,42,609,612,532,0,32,33,34,32,33,34,42,532,612,611,0,34,33,35,34,33,35,42,609,22,610,0,32,36,37,32,36,37,42,609,610,612,0,32,37,33,32,37,33,42,611,612,610,0,35,33,37,35,33,37,42,611,610,85,0,35,37,19,35,37,19,42,616,615,53,0,38,39,40,38,39,40,42,53,613,616,0,40,41,38,40,41,38,42,616,613,614,0,38,41,42,38,41,42,42,613,33,614,0,41,43,42,41,43,42,42,614,54,616,0,42,44,38,42,44,38,42,615,616,54,0,39,38,44,39,38,44,42,619,39,620,0,45,46,47,45,46,47,42,39,617,620,0,46,48,47,46,48,47,42,57,618,617,0,49,50,48,49,50,48,42,617,618,620,0,48,50,47,48,50,47,42,47,620,618,0,51,47,50,51,47,50,42,620,47,619,0,47,51,45,47,51,45,42,621,623,58,0,52,53,54,52,53,54,42,58,623,622,0,54,53,55,54,53,55,42,617,621,57,0,48,52,49,48,52,49,42,621,617,623,0,52,48,53,52,48,53,42,39,623,617,0,46,53,48,46,53,48,42,623,39,622,0,53,46,55,53,46,55,42,627,40,624,0,56,57,58,56,57,58,42,40,627,626,0,57,56,59,57,56,59,42,47,627,624,0,51,56,58,51,56,58,42,627,47,625,0,56,51,60,56,51,60,42,627,50,626,0,56,61,59,56,61,59,42,50,627,625,0,61,56,60,61,56,60,42,629,40,630,0,62,57,63,62,57,63,42,40,626,630,0,57,59,63,57,59,63,42,50,630,626,0,61,63,59,61,63,59,42,630,50,628,0,63,61,64,63,61,64,42,49,630,628,0,65,63,64,65,63,64,42,630,49,629,0,63,65,62,63,65,62,42,53,631,634,0,40,66,67,40,66,67,42,53,634,633,0,40,67,68,40,67,68,42,632,634,631,0,69,67,66,69,67,66,42,631,106,632,0,66,70,69,66,70,69,42,634,41,633,0,67,71,68,67,71,68,42,41,634,632,0,71,67,69,71,67,69,42,636,83,637,0,72,73,74,72,73,74,42,83,635,637,0,73,75,74,73,75,74,42,41,632,635,0,71,69,75,71,69,75,42,635,632,637,0,75,69,74,75,69,74,42,106,637,632,0,70,74,69,70,74,69,42,637,106,636,0,74,70,72,74,70,72,42,640,59,641,0,76,77,78,76,77,78,42,59,638,641,0,77,79,78,77,79,78,42,58,641,638,0,54,78,79,54,78,79,42,641,58,639,0,78,54,80,78,54,80,42,42,641,639,0,81,78,80,81,78,80,42,641,42,640,0,78,81,76,78,81,76,42,644,42,642,0,82,81,83,82,81,83,42,42,644,640,0,81,82,76,81,82,76,42,644,45,643,0,82,84,85,82,84,85,42,45,644,642,0,84,82,83,84,82,83,42,644,59,640,0,82,77,76,82,77,76,42,59,644,643,0,77,82,85,77,82,85,42,648,44,645,0,86,87,88,86,87,88,42,44,648,647,0,87,86,89,87,86,89,42,646,645,45,0,90,88,84,90,88,84,42,645,646,648,0,88,90,86,88,90,86,42,648,46,647,0,86,91,89,86,91,89,42,46,648,646,0,91,86,90,91,86,90,42,651,49,652,0,92,65,93,92,65,93,42,49,649,652,0,65,94,93,65,94,93,42,52,650,649,0,95,96,94,95,96,94,42,649,650,652,0,94,96,93,94,96,93,42,48,652,650,0,97,93,96,97,93,96,42,652,48,651,0,93,97,92,93,97,92,42,653,654,533,0,98,99,100,98,99,100,42,654,653,655,0,99,98,101,99,98,101,42,532,611,653,0,34,35,98,34,35,98,42,653,611,655,0,98,35,101,98,35,101,42,85,655,611,0,19,101,35,19,101,35,42,655,85,654,0,101,19,99,101,19,99,42,656,658,99,0,102,103,104,102,103,104,42,658,656,659,0,103,102,105,103,102,105,42,656,657,659,0,102,106,105,102,106,105,42,657,656,114,0,106,102,107,106,102,107,42,659,100,658,0,105,108,103,105,108,103,42,100,659,657,0,108,105,106,108,105,106,42,663,662,104,0,109,110,111,109,110,111,42,104,660,663,0,111,112,109,111,112,109,42,110,661,660,0,113,114,112,113,114,112,42,660,661,663,0,112,114,109,112,114,109,42,102,663,661,0,115,109,114,115,109,114,42,663,102,662,0,109,115,110,109,115,110,42,667,194,664,0,116,117,118,116,117,118,42,194,667,666,0,117,116,119,117,116,119,42,665,664,128,0,120,118,121,120,118,121,42,664,665,667,0,118,120,116,118,120,116,42,667,123,666,0,116,122,119,116,122,119,42,123,667,665,0,122,116,120,122,116,120,42,671,670,124,0,123,124,125,123,124,125,42,124,668,671,0,125,126,123,125,126,123,42,192,669,668,0,127,128,126,127,128,126,42,668,669,671,0,126,128,123,126,128,123,42,193,671,669,0,129,123,128,129,123,128,42,671,193,670,0,123,129,124,123,129,124,42,672,674,199,0,130,131,132,130,131,132,42,674,672,675,0,131,130,133,131,130,133,42,672,200,673,0,130,134,135,130,134,135,42,672,673,675,0,130,135,133,130,135,133,42,675,125,674,0,133,136,131,133,136,131,42,125,675,673,0,136,133,135,136,133,135,42,678,125,673,0,137,136,135,137,136,135,42,125,678,677,0,136,137,138,136,137,138,42,200,678,673,0,134,137,135,134,137,135,42,678,200,676,0,137,134,139,137,134,139,42,676,677,678,0,139,138,137,139,138,137,42,201,677,676,0,140,138,139,140,138,139,42,681,679,682,0,141,142,143,141,142,143,42,679,681,202,0,142,141,144,142,141,144,42,127,682,679,0,145,143,142,145,143,142,42,682,127,680,0,143,145,146,143,145,146,42,126,682,680,0,147,143,146,147,143,146,42,682,126,681,0,143,147,141,143,147,141,42,685,684,126,0,148,149,147,148,149,147,42,126,680,685,0,147,146,148,147,146,148,42,127,685,680,0,145,148,146,145,148,146,42,685,127,683,0,148,145,150,148,145,150,42,683,206,684,0,150,151,149,150,151,149,42,683,684,685,0,150,149,148,150,149,148,42,688,190,686,0,152,153,154,152,153,154,42,190,688,687,0,153,152,155,153,152,155,42,664,688,686,0,118,152,154,118,152,154,42,686,128,664,0,154,121,118,154,121,118,42,688,194,687,0,152,117,155,152,117,155,42,194,688,664,0,117,152,118,117,152,118,42,689,691,170,0,156,157,158,156,157,158,42,691,689,692,0,157,156,159,157,156,159,42,690,689,172,0,160,156,161,160,156,161,42,689,690,692,0,156,160,159,156,160,159,42,129,692,690,0,162,159,160,162,159,160,42,692,129,691,0,159,162,157,159,162,157,42,694,129,695,0,163,162,164,163,162,164,42,129,690,695,0,162,160,164,162,160,164,42,172,693,690,0,161,165,160,161,165,160,42,690,693,695,0,160,165,164,160,165,164,42,171,695,693,0,166,164,165,166,164,165,42,695,171,694,0,164,166,163,164,166,163,42,698,134,699,0,167,168,169,167,168,169,42,134,696,699,0,168,170,169,168,170,169,42,155,697,696,0,171,172,170,171,172,170,42,696,697,699,0,170,172,169,170,172,169,42,697,154,698,0,172,173,167,172,173,167,42,698,699,697,0,167,169,172,167,169,172,42,702,153,700,0,174,175,176,174,175,176,42,153,702,701,0,175,174,177,175,174,177,42,696,700,155,0,170,176,171,170,176,171,42,700,696,702,0,176,170,174,176,170,174,42,134,702,696,0,168,174,170,168,174,170,42,702,134,701,0,174,168,177,174,168,177,42,705,238,706,0,178,179,180,178,179,180,42,238,703,706,0,179,181,180,179,181,180,42,140,706,703,0,182,180,181,182,180,181,42,706,140,704,0,180,182,183,180,182,183,42,704,179,705,0,183,184,178,183,184,178,42,705,706,704,0,178,180,183,178,180,183,42,709,181,710,0,185,186,187,185,186,187,42,181,707,710,0,186,188,187,186,188,187,42,142,710,707,0,189,187,188,189,187,188,42,710,142,708,0,187,189,190,187,189,190,42,182,710,708,0,191,187,190,191,187,190,42,710,182,709,0,187,191,185,187,191,185,42,713,711,714,0,192,193,194,192,193,194,42,711,713,184,0,193,192,195,193,192,195,42,144,712,711,0,196,197,193,196,197,193,42,711,712,714,0,193,197,194,193,197,194,42,185,714,712,0,198,194,197,198,194,197,42,714,185,713,0,194,198,192,194,198,192,42,717,147,718,0,199,200,201,199,200,201,42,147,715,718,0,200,202,201,200,202,201,42,716,715,149,0,203,202,204,203,202,204,42,715,716,718,0,202,203,201,202,203,201,42,150,718,716,0,205,201,203,205,201,203,42,718,150,717,0,201,205,199,201,205,199,42,720,150,721,0,206,205,207,206,205,207,42,150,716,721,0,205,203,207,205,203,207,42,149,719,716,0,204,208,203,204,208,203,42,716,719,721,0,203,208,207,203,208,207,42,148,721,719,0,209,207,208,209,207,208,42,721,148,720,0,207,209,206,207,209,206,42,722,724,159,0,210,211,212,210,211,212,42,724,722,725,0,211,210,213,211,210,213,42,723,722,161,0,214,210,215,214,210,215,42,722,723,725,0,210,214,213,210,214,213,42,589,725,723,0,216,213,214,216,213,214,42,725,589,724,0,213,216,211,213,216,211,42,727,589,728,0,217,216,218,217,216,218,42,589,723,728,0,216,214,218,216,214,218,42,161,726,723,0,215,219,214,215,219,214,42,723,726,728,0,214,219,218,214,219,218,42,160,728,726,0,220,218,219,220,218,219,42,728,160,727,0,218,220,217,218,220,217,42,732,188,729,0,221,222,223,221,222,223,42,188,732,731,0,222,221,224,222,221,224,42,235,732,729,0,225,221,223,225,221,223,42,732,235,730,0,221,225,226,221,225,226,42,731,732,730,0,224,221,226,224,221,226,42,731,730,345,0,224,226,227,224,226,227,42,734,733,735,0,228,229,230,228,229,230,42,733,734,485,0,229,228,231,229,228,231,42,235,735,733,0,225,230,229,225,230,229,42,735,235,729,0,230,225,223,230,225,223,42,735,188,734,0,230,222,228,230,222,228,42,188,735,729,0,222,230,223,222,230,223,42,738,737,193,0,232,233,129,232,233,129,42,193,669,738,0,129,128,232,129,128,232,42,738,669,736,0,232,128,234,232,128,234,42,669,192,736,0,128,127,234,128,127,234,42,191,738,736,0,235,232,234,235,232,234,42,738,191,737,0,232,235,233,232,235,233,42,216,739,742,0,236,237,238,236,237,238,42,216,742,741,0,236,238,239,236,238,239,42,742,739,740,0,238,237,240,238,237,240,42,739,223,740,0,237,241,240,237,241,240,42,742,226,741,0,238,242,239,238,242,239,42,226,742,740,0,242,238,240,242,238,240,42,743,745,225,0,243,244,245,243,244,245,42,745,743,746,0,244,243,246,244,243,246,42,744,746,743,0,247,246,243,247,246,243,42,743,219,744,0,243,248,247,243,248,247,42,218,746,744,0,249,246,247,249,246,247,42,746,218,745,0,246,249,244,246,249,244,42,749,356,750,0,250,251,252,250,251,252,42,356,747,750,0,251,253,252,251,253,252,42,357,750,747,0,254,252,253,254,252,253,42,750,357,748,0,252,254,255,252,254,255,42,748,230,749,0,255,256,250,255,256,250,42,748,749,750,0,255,250,252,255,250,252,42,753,752,230,0,257,258,256,257,258,256,42,230,748,753,0,256,255,257,256,255,257,42,748,357,751,0,255,254,259,255,254,259,42,748,751,753,0,255,259,257,255,259,257,42,751,752,753,0,259,258,257,259,258,257,42,751,423,752,0,259,260,258,259,260,258,42,757,231,754,0,261,262,263,261,262,263,42,231,757,756,0,262,261,264,262,261,264,42,353,757,754,0,265,261,263,265,261,263,42,757,353,755,0,261,265,266,261,265,266,42,757,354,756,0,261,267,264,261,267,264,42,354,757,755,0,267,261,266,267,261,266,42,759,758,760,0,268,269,270,268,269,270,42,758,759,359,0,269,268,271,269,268,271,42,353,760,758,0,265,270,269,265,270,269,42,760,353,754,0,270,265,263,270,265,263,42,760,231,759,0,270,262,268,270,262,268,42,231,760,754,0,262,270,263,262,270,263,42,763,761,764,0,272,273,274,272,273,274,42,761,763,264,0,273,272,275,273,272,275,42,335,764,761,0,276,274,273,276,274,273,42,764,335,762,0,274,276,277,274,276,277,42,232,764,762,0,278,274,277,278,274,277,42,764,232,763,0,274,278,272,274,278,272,42,767,766,232,0,279,280,278,279,280,278,42,232,762,767,0,278,277,279,278,277,279,42,335,767,762,0,276,279,277,276,279,277,42,767,335,765,0,279,276,281,279,276,281,42,765,336,766,0,281,282,280,281,282,280,42,765,766,767,0,281,280,279,281,280,279,42,768,771,233,0,283,284,285,283,284,285,42,233,771,770,0,285,284,286,285,284,286,42,248,771,768,0,287,284,283,287,284,283,42,771,248,769,0,284,287,288,284,287,288,42,266,770,769,0,289,286,288,289,286,288,42,770,771,769,0,286,284,288,286,284,288,42,772,773,337,0,290,291,292,290,291,292,42,773,772,774,0,291,290,293,291,290,293,42,248,774,772,0,287,293,290,287,293,290,42,774,248,768,0,293,287,283,293,287,283,42,774,233,773,0,293,285,291,293,285,291,42,233,774,768,0,285,293,283,285,293,283,42,778,777,344,0,294,295,296,294,295,296,42,344,775,778,0,296,297,294,296,297,294,42,346,776,775,0,298,299,297,298,299,297,42,775,776,778,0,297,299,294,297,299,294,42,234,778,776,0,300,294,299,300,294,299,42,778,234,777,0,294,300,295,294,300,295,42,781,780,234,0,301,302,300,301,302,300,42,234,776,781,0,300,299,301,300,299,301,42,346,781,776,0,298,301,299,298,301,299,42,781,346,779,0,301,298,303,301,298,303,42,347,781,779,0,304,301,303,304,301,303,42,781,347,780,0,301,304,302,301,304,302,42,785,236,782,0,305,306,307,305,306,307,42,236,785,784,0,306,305,308,306,305,308,42,371,785,782,0,309,305,307,309,305,307,42,785,371,783,0,305,309,310,305,309,310,42,785,783,784,0,305,310,308,305,310,308,42,370,784,783,0,311,308,310,311,308,310,42,787,786,788,0,312,313,314,312,313,314,42,786,787,372,0,313,312,315,313,312,315,42,371,788,786,0,309,314,313,309,314,313,42,788,371,782,0,314,309,307,314,309,307,42,788,236,787,0,314,306,312,314,306,312,42,236,788,782,0,306,314,307,306,314,307,42,791,789,792,0,316,317,318,316,317,318,42,789,791,368,0,317,316,319,317,316,319,42,375,792,789,0,320,318,317,320,318,317,42,792,375,790,0,318,320,321,318,320,321,42,237,792,790,0,322,318,321,322,318,321,42,792,237,791,0,318,322,316,318,322,316,42,795,794,237,0,323,324,322,323,324,322,42,795,237,790,0,323,322,321,323,322,321,42,375,795,790,0,320,323,321,320,323,321,42,795,375,793,0,323,320,325,323,320,325,42,793,794,795,0,325,324,323,325,324,323,42,793,374,794,0,325,326,324,325,326,324,42,798,796,799,0,327,328,329,327,328,329,42,796,798,268,0,328,327,330,328,327,330,42,277,799,796,0,331,329,328,331,329,328,42,799,277,797,0,329,331,332,329,331,332,42,799,340,798,0,329,333,327,329,333,327,42,340,799,797,0,333,329,332,333,329,332,42,801,800,802,0,334,335,336,334,335,336,42,800,801,343,0,335,334,337,335,334,337,42,277,802,800,0,331,336,335,331,336,335,42,802,277,796,0,336,331,328,336,331,328,42,268,802,796,0,330,336,328,330,336,328,42,802,268,801,0,336,330,334,336,330,334,42,805,338,806,0,338,339,340,338,339,340,42,338,803,806,0,339,341,340,339,341,340,42,466,806,803,0,342,340,341,342,340,341,42,806,466,804,0,340,342,343,340,342,343,42,804,274,805,0,343,344,338,343,344,338,42,804,805,806,0,343,338,340,343,338,340,42,809,808,274,0,345,346,344,345,346,344,42,274,804,809,0,344,343,345,344,343,345,42,466,809,804,0,342,345,343,342,345,343,42,809,466,807,0,345,342,347,345,342,347,42,807,808,809,0,347,346,345,347,346,345,42,807,341,808,0,347,348,346,347,348,346,42,812,810,813,0,349,350,351,349,350,351,42,810,812,467,0,350,349,352,350,349,352,42,811,813,810,0,353,351,350,353,351,350,42,810,276,811,0,350,354,353,350,354,353,42,811,476,813,0,353,355,351,353,355,351,42,812,813,476,0,349,351,355,349,351,355,42,816,814,817,0,356,357,358,356,357,358,42,814,816,282,0,357,356,359,357,356,359,42,817,300,815,0,358,360,361,358,360,361,42,300,817,814,0,360,358,357,360,358,357,42,817,276,816,0,358,354,356,358,354,356,42,276,817,815,0,354,358,361,354,358,361,42,301,818,821,0,362,363,364,362,363,364,42,301,821,820,0,362,364,365,362,364,365,42,302,821,818,0,366,364,363,366,364,363,42,821,302,819,0,364,366,367,364,366,367,42,819,820,821,0,367,365,364,367,365,364,42,820,819,278,0,365,367,368,365,367,368,42,819,302,824,0,369,370,371,367,366,369,42,302,822,824,0,370,372,371,366,370,369,42,824,279,823,0,371,373,374,369,371,372,42,279,824,822,0,373,371,372,371,369,370,42,824,278,819,0,371,375,369,369,368,367,42,278,824,823,0,375,371,374,368,369,372,42,814,282,827,0,376,377,378,357,359,373,42,282,825,827,0,377,379,378,359,374,373,42,281,827,825,0,380,378,379,375,373,374,42,827,281,826,0,378,380,381,373,375,376,42,300,827,826,0,382,378,381,360,373,376,42,827,300,814,0,378,382,376,373,360,357,42,831,830,349,0,383,384,385,377,378,379,42,349,828,831,0,385,386,383,379,380,377,42,348,829,828,0,387,388,386,381,382,380,42,828,829,831,0,386,388,383,380,382,377,42,284,831,829,0,389,383,388,383,377,382,42,831,284,830,0,383,389,384,377,383,378,42,834,833,284,0,390,391,389,384,385,383,42,284,829,834,0,389,388,390,383,382,384,42,829,348,832,0,388,387,392,382,381,386,42,829,832,834,0,388,392,390,382,386,384,42,494,834,832,0,393,390,392,387,384,386,42,834,494,833,0,390,393,391,384,387,385,42,838,285,835,0,394,395,396,388,389,390,42,285,838,837,0,395,394,397,389,388,391,42,351,838,835,0,398,394,396,392,388,390,42,838,351,836,0,394,398,399,388,392,393,42,838,350,837,0,394,400,397,388,394,391,42,350,838,836,0,400,394,399,394,388,393,42,839,840,352,0,401,402,403,395,396,397,42,840,839,841,0,402,401,404,396,395,398,42,351,841,839,0,398,404,401,392,398,395,42,841,351,835,0,404,398,396,398,392,390,42,841,285,840,0,404,395,402,398,389,396,42,285,841,835,0,395,404,396,389,398,390,42,844,299,845,0,405,406,407,399,400,401,42,299,842,845,0,406,408,407,400,402,401,42,297,845,842,0,409,407,408,403,401,402,42,845,297,843,0,407,409,410,401,403,404,42,845,294,844,0,407,411,405,401,405,399,42,294,845,843,0,411,407,410,405,401,404,42,846,849,295,0,412,413,414,406,407,408,42,295,849,848,0,414,413,415,408,407,409,42,298,849,846,0,416,413,412,410,407,406,42,849,298,847,0,413,416,417,407,410,411,42,296,849,847,0,418,413,417,412,407,411,42,849,296,848,0,413,418,415,407,412,409,42,853,852,474,0,419,420,421,413,414,415,42,474,850,853,0,421,422,419,415,416,413,42,301,851,850,0,362,423,422,362,417,416,42,850,851,853,0,422,423,419,416,417,413,42,851,852,853,0,423,420,419,417,414,413,42,851,473,852,0,423,424,420,417,418,414,42,856,854,857,0,425,426,427,419,420,421,42,854,856,361,0,426,425,428,420,419,422,42,360,857,854,0,429,427,426,423,421,420,42,857,360,855,0,427,429,430,421,423,424,42,305,857,855,0,431,427,430,425,421,424,42,857,305,856,0,427,431,425,421,425,419,42,860,859,305,0,432,433,431,426,427,425,42,305,855,860,0,431,430,432,425,424,426,42,360,860,855,0,429,432,430,423,426,424,42,860,360,858,0,432,429,434,426,423,428,42,858,859,860,0,434,433,432,428,427,426,42,858,367,859,0,434,435,433,428,429,427,42,864,307,861,0,436,437,438,430,431,432,42,307,864,863,0,437,436,439,431,430,433,42,364,864,861,0,440,436,438,434,430,432,42,864,364,862,0,436,440,441,430,434,435,42,864,363,863,0,436,442,439,430,436,433,42,363,864,862,0,442,436,441,436,430,435,42,866,865,867,0,443,444,445,437,438,439,42,865,866,366,0,444,443,446,438,437,440,42,364,867,865,0,440,445,444,434,439,438,42,867,364,861,0,445,440,438,439,434,432,42,867,307,866,0,445,437,443,439,431,437,42,307,867,861,0,437,445,438,431,439,432,42,868,871,318,0,447,448,449,441,442,443,42,318,871,870,0,449,448,450,443,442,444,42,309,871,868,0,451,448,447,445,442,441,42,871,309,869,0,448,451,452,442,445,446,42,310,870,869,0,453,450,452,447,444,446,42,870,871,869,0,450,448,452,444,442,446,42,442,872,875,0,454,455,456,448,449,450,42,442,875,874,0,454,456,457,448,450,451,42,873,875,872,0,458,456,455,452,450,449,42,872,310,873,0,455,453,458,449,447,452,42,873,441,875,0,458,459,456,452,453,450,42,874,875,441,0,457,456,459,451,450,453,42,877,876,878,0,460,461,462,454,455,456,42,876,877,316,0,461,460,463,455,454,457,42,876,318,870,0,461,449,450,455,443,444,42,876,870,878,0,461,450,462,455,444,456,42,878,310,877,0,462,453,460,456,447,454,42,310,878,870,0,453,462,450,447,456,444,42,882,881,439,0,464,465,466,458,459,460,42,439,879,882,0,466,467,464,460,461,458,42,311,880,879,0,468,469,467,462,463,461,42,882,879,880,0,464,467,469,458,461,463,42,438,882,880,0,470,464,469,464,458,463,42,882,438,881,0,464,470,465,458,464,459,42,886,885,311,0,471,472,468,465,466,462,42,311,883,886,0,468,473,471,462,467,465,42,886,317,884,0,471,474,475,465,468,469,42,317,886,883,0,474,471,473,468,465,467,42,884,885,886,0,475,472,471,469,466,465,42,884,312,885,0,475,476,472,469,470,466,42,889,312,884,0,477,478,479,471,470,469,42,312,889,888,0,478,477,480,470,471,472,42,887,884,317,0,481,479,482,473,469,468,42,884,887,889,0,479,481,477,469,473,471,42,313,889,887,0,483,477,481,474,471,473,42,889,313,888,0,477,483,480,471,474,472,42,313,892,891,0,483,484,485,474,475,476,42,892,313,887,0,484,483,481,475,474,473,42,887,317,890,0,481,482,486,473,468,477,42,887,890,892,0,481,486,484,473,477,475,42,892,314,891,0,484,487,485,475,478,476,42,314,892,890,0,487,484,486,478,475,477,42,895,315,893,0,488,489,490,479,480,481,42,315,895,894,0,489,488,491,480,479,482,42,876,893,318,0,492,490,493,455,481,443,42,893,876,895,0,490,492,488,481,455,479,42,316,895,876,0,494,488,492,457,479,455,42,895,316,894,0,488,494,491,479,457,482,42,899,320,896,0,495,496,497,483,484,485,42,320,899,898,0,496,495,498,484,483,486,42,380,899,896,0,499,495,497,487,483,485,42,899,380,897,0,495,499,500,483,487,488,42,899,897,898,0,495,500,498,483,488,486,42,379,898,897,0,501,498,500,489,486,488,42,900,901,381,0,502,503,504,490,491,492,42,901,900,902,0,503,502,505,491,490,493,42,380,902,900,0,499,505,502,487,493,490,42,902,380,896,0,505,499,497,493,487,485,42,902,320,901,0,505,496,503,493,484,491,42,320,902,896,0,496,505,497,484,493,485,42,905,903,906,0,506,507,508,494,495,496,42,903,905,377,0,507,506,509,495,494,497,42,376,906,903,0,510,508,507,498,496,495,42,906,376,904,0,508,510,511,496,498,499,42,324,906,904,0,512,508,511,500,496,499,42,906,324,905,0,508,512,506,496,500,494,42,909,908,324,0,513,514,512,501,502,500,42,324,904,909,0,512,511,513,500,499,501,42,376,909,904,0,510,513,511,498,501,499,42,909,376,907,0,513,510,515,501,498,503,42,907,383,908,0,515,516,514,503,504,502,42,907,908,909,0,515,514,513,503,502,501,42,913,333,910,0,517,518,519,505,506,507,42,333,913,912,0,518,517,520,506,505,508,42,327,913,910,0,521,517,519,509,505,507,42,913,327,911,0,517,521,522,505,509,510,42,913,911,912,0,517,522,520,505,510,508,42,912,911,325,0,520,522,523,508,510,511,42,391,914,917,0,524,525,526,512,513,514,42,391,917,916,0,524,526,527,512,514,515,42,915,917,914,0,528,526,525,516,514,513,42,914,325,915,0,525,523,528,513,511,516,42,917,392,916,0,526,529,527,514,517,515,42,392,917,915,0,529,526,528,517,514,516,42,912,918,920,0,520,530,531,508,518,519,42,918,912,325,0,530,520,523,518,508,511,42,920,918,919,0,531,530,532,519,518,520,42,918,331,919,0,530,533,532,518,521,520,42,333,920,919,0,518,531,532,506,519,520,42,920,333,912,0,531,518,520,519,506,508,42,924,923,385,0,534,535,536,522,523,524,42,385,921,924,0,536,537,534,524,525,522,42,924,921,922,0,534,537,538,522,525,526,42,921,326,922,0,537,539,538,525,527,526,42,386,924,922,0,540,534,538,528,522,526,42,924,386,923,0,534,540,535,522,528,523,42,326,925,928,0,539,541,542,527,529,530,42,326,928,927,0,539,542,543,527,530,531,42,928,332,926,0,542,544,545,530,532,533,42,332,928,925,0,544,542,541,532,530,529,42,928,328,927,0,542,546,543,530,534,531,42,328,928,926,0,546,542,545,534,530,533,42,931,328,926,0,547,548,549,535,534,533,42,328,931,930,0,548,547,550,534,535,536,42,332,931,926,0,551,547,549,532,535,533,42,931,332,929,0,547,551,552,535,532,537,42,931,329,930,0,547,553,550,535,538,536,42,329,931,929,0,553,547,552,538,535,537,42,934,330,932,0,554,555,556,539,540,541,42,330,934,933,0,555,554,557,540,539,542,42,932,919,934,0,556,558,554,541,520,539,42,919,932,333,0,558,556,559,520,541,506,42,934,331,933,0,554,560,557,539,521,542,42,331,934,919,0,560,554,558,521,539,520,42,937,935,938,0,561,562,563,543,544,545,42,935,937,513,0,562,561,564,544,543,546,42,540,938,935,0,565,563,562,547,545,544,42,938,540,936,0,563,565,566,545,547,548,42,541,938,936,0,567,563,566,549,545,548,42,938,541,937,0,563,567,561,545,549,543,42,941,552,942,0,568,569,570,550,551,552,42,552,939,942,0,569,571,570,551,553,552,42,554,940,939,0,572,573,571,554,555,553,42,939,940,942,0,571,573,570,553,555,552,42,553,942,940,0,574,570,573,556,552,555,42,942,553,941,0,570,574,568,552,556,550,42,945,582,946,0,575,576,577,557,558,559,42,945,0,582,0,575,578,576,557,560,558,42,946,578,943,0,577,579,580,559,561,562,42,578,946,582,0,579,577,576,561,559,558,42,944,943,17,0,581,580,582,563,562,564,42,943,944,946,0,580,581,577,562,563,559,42,8,946,944,0,583,577,581,565,559,563,42,946,8,945,0,577,583,575,559,565,557,42,594,583,948,0,11,584,585,11,566,567,42,583,594,19,0,584,11,4,566,11,4,42,945,948,583,0,575,585,584,557,567,566,42,583,0,945,0,584,578,575,566,560,557,42,8,947,948,0,583,586,585,565,568,567,42,8,948,945,0,583,585,575,565,567,557,42,947,594,948,0,586,11,585,568,11,567,42,594,947,9,0,11,586,12,11,568,12,42,950,585,951,0,587,588,589,569,570,571,42,585,950,2,0,588,587,590,570,569,572,42,951,1,591,0,589,3,0,571,3,0,42,1,951,585,0,3,589,588,3,571,570,42,949,591,10,0,591,0,6,573,0,6,42,591,949,951,0,0,591,589,0,573,571,42,11,951,949,0,592,589,591,574,571,573,42,951,11,950,0,589,592,587,571,574,569,42,952,950,11,0,593,587,592,575,569,574,42,950,952,954,0,587,593,594,569,575,576,42,952,12,953,0,593,14,595,575,14,577,42,952,953,954,0,593,595,594,575,577,576,42,953,586,954,0,595,596,594,577,578,576,42,586,953,3,0,596,595,597,578,577,579,42,954,2,950,0,594,590,587,576,572,569,42,2,954,586,0,590,594,596,572,576,578,42,12,955,957,0,14,598,599,14,580,581,42,12,957,953,0,14,599,595,14,581,577,42,13,956,955,0,600,601,598,582,583,580,42,955,956,957,0,598,601,599,580,583,581,42,956,4,957,0,601,602,599,583,584,581,42,957,4,587,0,599,602,603,581,584,585,42,957,587,953,0,599,603,595,581,585,577,42,953,587,3,0,595,603,597,577,585,579,42,960,959,5,0,604,605,606,586,587,588,42,960,5,588,0,604,606,607,586,588,589,42,956,960,588,0,608,604,607,583,586,589,42,956,588,4,0,608,607,609,583,589,584,42,13,958,960,0,610,611,604,582,590,586,42,13,960,956,0,610,604,608,582,586,583,42,958,14,959,0,611,612,605,590,591,587,42,958,959,960,0,611,605,604,590,587,586,42,963,5,959,0,613,606,605,592,588,587,42,5,963,579,0,606,613,614,588,592,593,42,14,963,959,0,612,613,605,591,592,587,42,963,14,961,0,613,612,615,592,591,594,42,15,963,961,0,616,613,615,595,592,594,42,963,15,962,0,613,616,617,592,595,596,42,962,579,963,0,617,614,613,596,593,592,42,579,962,6,0,614,617,618,593,596,597,42,965,580,966,0,619,620,621,598,599,600,42,580,965,7,0,620,619,622,599,598,601,42,966,6,962,0,621,618,617,600,597,596,42,6,966,580,0,618,621,620,597,600,599,42,964,962,15,0,623,617,616,602,596,595,42,962,964,966,0,617,623,621,596,602,600,42,16,966,964,0,624,621,623,603,600,602,42,966,16,965,0,621,624,619,600,603,598,42,967,965,16,0,625,619,624,604,598,603,42,965,967,968,0,619,625,626,598,604,605,42,17,968,967,0,582,626,625,564,605,604,42,968,17,943,0,626,582,580,605,564,562,42,943,581,968,0,580,627,626,562,606,605,42,581,943,578,0,627,580,579,606,562,561,42,968,7,965,0,626,622,619,605,601,598,42,7,968,581,0,622,626,627,601,605,606,42,972,971,28,0,628,629,630,607,608,609,42,28,969,972,0,630,631,628,609,610,607,42,972,9,947,0,628,12,586,607,12,568,42,9,972,969,0,12,628,631,12,607,610,42,970,947,8,0,632,586,583,611,568,565,42,947,970,972,0,586,632,628,568,611,607,42,27,971,970,0,633,629,632,612,608,611,42,971,972,970,0,629,628,632,608,607,611,42,973,974,26,0,634,635,636,613,614,615,42,974,973,975,0,635,634,637,614,613,616,42,27,975,973,0,633,637,634,612,616,613,42,975,27,970,0,637,633,632,616,612,611,42,970,944,975,0,632,581,637,611,563,616,42,944,970,8,0,581,632,583,563,611,565,42,975,17,974,0,637,582,635,616,564,614,42,17,975,944,0,582,637,581,564,616,563,42,969,595,9,0,631,7,12,610,7,12,42,595,969,977,0,7,631,638,7,610,617,42,28,977,969,0,630,638,631,609,617,610,42,977,28,976,0,638,630,639,617,609,618,42,603,976,29,0,23,639,21,23,618,21,42,976,603,977,0,639,23,638,618,23,617,42,977,18,595,0,638,8,7,617,8,7,42,18,977,603,0,8,638,23,8,617,23,42,593,590,19,0,10,5,4,10,5,4,42,590,593,979,0,5,10,640,5,10,619,42,18,979,593,0,8,640,10,8,619,10,42,979,18,602,0,640,8,25,619,8,25,42,602,978,979,0,25,641,640,25,620,619,42,978,602,20,0,641,25,24,620,25,24,42,979,10,590,0,640,6,5,619,6,5,42,10,979,978,0,6,640,641,6,619,620,42,981,10,978,0,642,6,641,621,6,620,42,10,981,949,0,6,642,591,6,621,573,42,605,978,20,0,26,641,24,26,620,24,42,978,605,981,0,641,26,642,620,26,621,42,21,981,605,0,28,642,26,28,621,26,42,981,21,980,0,642,28,643,621,28,622,42,980,949,981,0,643,591,642,622,573,621,42,949,980,11,0,591,643,592,573,622,574,42,597,952,983,0,16,593,644,16,575,623,42,952,597,12,0,593,16,14,575,16,14,42,983,11,980,0,644,592,643,623,574,622,42,11,983,952,0,592,644,593,574,623,575,42,982,980,21,0,645,643,28,624,622,28,42,980,982,983,0,643,645,644,622,624,623,42,549,983,982,0,17,644,645,17,623,624,42,983,549,597,0,644,17,16,623,17,16,42,985,984,13,0,646,647,600,625,626,582,42,985,13,955,0,646,600,598,625,582,580,42,599,985,955,0,13,646,598,13,625,580,42,955,12,599,0,598,14,13,580,14,13,42,85,610,985,0,19,37,646,19,37,625,42,85,985,599,0,19,646,13,19,625,13,42,610,22,984,0,37,36,647,37,36,626,42,610,984,985,0,37,647,646,37,626,625,42,986,988,22,0,648,649,650,627,628,36,42,22,988,984,0,650,649,651,36,628,626,42,986,23,987,0,648,652,653,627,629,630,42,986,987,988,0,648,653,649,627,630,628,42,987,14,988,0,653,612,649,630,591,628,42,988,14,958,0,649,612,611,628,591,590,42,988,958,984,0,649,611,651,628,590,626,42,984,958,13,0,651,611,610,626,590,582,42,990,989,991,0,654,655,656,631,632,633,42,989,990,24,0,655,654,657,632,631,634,42,991,15,961,0,656,616,615,633,595,594,42,15,991,989,0,616,656,655,595,633,632,42,987,961,14,0,653,615,612,630,594,591,42,961,987,991,0,615,653,656,594,630,633,42,23,991,987,0,652,656,653,629,633,630,42,991,23,990,0,656,652,654,633,629,631,42,993,964,994,0,658,623,659,635,602,636,42,964,993,16,0,623,658,624,602,635,603,42,994,15,989,0,659,616,655,636,595,632,42,15,994,964,0,616,659,623,595,636,602,42,992,989,24,0,660,655,657,637,632,634,42,989,992,994,0,655,660,659,632,637,636,42,25,994,992,0,661,659,660,638,636,637,42,994,25,993,0,659,661,658,636,638,635,42,995,993,25,0,662,658,661,639,635,638,42,993,995,996,0,658,662,663,635,639,640,42,26,996,995,0,636,663,662,615,640,639,42,996,26,974,0,663,636,635,640,615,614,42,974,967,996,0,635,625,663,614,604,640,42,967,974,17,0,625,635,582,604,614,564,42,996,16,993,0,663,624,658,640,603,635,42,16,996,967,0,624,663,625,603,640,604,42,999,601,1e3,0,664,22,665,641,22,642,42,601,999,20,0,22,664,24,22,641,24,42,1e3,601,997,0,665,22,666,642,22,643,42,601,29,997,0,22,21,666,22,21,643,42,998,1e3,37,0,667,665,668,644,642,645,42,1e3,997,37,0,665,666,668,642,643,645,42,72,1e3,998,0,669,665,667,646,642,644,42,1e3,72,999,0,665,669,664,642,646,641,42,606,999,1003,0,30,664,670,30,641,647,42,999,606,20,0,664,30,24,641,30,24,42,1003,72,1001,0,670,669,671,647,646,648,42,72,1003,999,0,669,670,664,646,647,641,42,1003,36,1002,0,670,672,673,647,649,650,42,36,1003,1001,0,672,670,671,649,647,648,42,1002,606,1003,0,673,30,670,650,30,647,42,606,1002,534,0,30,673,31,30,650,31,42,1005,982,1006,0,674,645,675,651,624,652,42,982,1005,549,0,645,674,17,624,651,17,42,1006,21,607,0,675,28,27,652,28,27,42,21,1006,982,0,28,675,645,28,652,624,42,1004,607,534,0,676,27,31,653,27,31,42,607,1004,1006,0,27,676,675,27,653,652,42,547,1006,1004,0,677,675,676,654,652,653,42,1006,547,1005,0,675,677,674,652,654,651,42,1009,1007,1010,0,678,679,680,655,656,657,42,1007,1009,34,0,679,678,681,656,655,658,42,1010,23,986,0,680,652,648,657,629,627,42,23,1010,1007,0,652,680,679,629,657,656,42,1008,986,22,0,682,648,650,659,627,36,42,986,1008,1010,0,648,682,680,627,659,657,42,35,1010,1008,0,683,680,682,660,657,659,42,1010,35,1009,0,680,683,678,657,660,655,42,1013,609,1014,0,684,32,685,661,32,662,42,609,1013,22,0,32,684,36,32,661,36,42,1011,1014,609,0,686,685,32,663,662,32,42,1011,609,532,0,686,32,34,663,32,34,42,1012,1011,531,0,687,686,688,664,663,665,42,1011,1012,1014,0,686,687,685,663,664,662,42,1013,1012,530,0,684,687,689,661,664,666,42,1012,1013,1014,0,687,684,685,664,661,662,42,1016,1015,1017,0,690,691,692,667,668,669,42,1015,1016,33,0,691,690,43,668,667,43,42,1017,24,990,0,692,657,654,669,634,631,42,24,1017,1015,0,657,692,691,634,669,668,42,1007,990,23,0,679,654,652,656,631,629,42,990,1007,1017,0,654,679,692,631,656,669,42,34,1016,1007,0,681,690,679,658,667,656,42,1016,1017,1007,0,690,692,679,667,669,656,42,1019,992,1020,0,693,660,694,670,637,671,42,992,1019,25,0,660,693,661,637,670,638,42,1020,24,1015,0,694,657,691,671,634,668,42,24,1020,992,0,657,694,660,634,671,637,42,1018,1015,33,0,695,691,43,672,668,43,42,1015,1018,1020,0,691,695,694,668,672,671,42,32,1020,1018,0,696,694,695,673,671,672,42,1020,32,1019,0,694,696,693,671,673,670,42,1021,1019,32,0,697,693,696,674,670,673,42,1019,1021,1023,0,693,697,698,670,674,675,42,31,1023,1021,0,699,698,697,676,675,674,42,1023,31,1022,0,698,699,700,675,676,677,42,1022,995,1023,0,700,662,698,677,639,675,42,995,1022,26,0,662,700,636,639,677,615,42,1023,25,1019,0,698,661,693,675,638,670,42,25,1023,995,0,661,698,662,638,675,639,42,1024,1022,31,0,701,700,699,678,677,676,42,1022,1024,1026,0,700,701,702,677,678,679,42,30,1026,1024,0,703,702,701,680,679,678,42,1026,30,1025,0,702,703,704,679,680,681,42,1025,973,1026,0,704,634,702,681,613,679,42,973,1025,27,0,634,704,633,613,681,612,42,1026,26,1022,0,702,636,700,679,615,677,42,26,1026,973,0,636,702,634,615,679,613,42,1027,1025,30,0,705,704,703,682,681,680,42,1025,1027,1029,0,704,705,706,681,682,683,42,1028,1027,38,0,707,705,708,684,682,685,42,1027,1028,1029,0,705,707,706,682,684,683,42,28,1029,1028,0,630,706,707,609,683,684,42,1029,28,971,0,706,630,629,683,609,608,42,1029,27,1025,0,706,633,704,683,612,681,42,27,1029,971,0,633,706,629,612,683,608,42,976,1028,1031,0,639,707,709,618,684,686,42,1028,976,28,0,707,639,630,684,618,609,42,1031,38,1030,0,709,708,710,686,685,687,42,38,1031,1028,0,708,709,707,685,686,684,42,997,1030,37,0,666,710,668,643,687,645,42,1030,997,1031,0,710,666,709,687,643,686,42,29,1031,997,0,21,709,666,21,686,643,42,1031,29,976,0,709,21,639,686,21,618,42,1034,1024,1035,0,711,701,712,688,678,689,42,1024,1034,30,0,701,711,703,678,688,680,42,1032,1035,1024,0,713,712,701,690,689,678,42,1032,1024,31,0,713,701,699,690,678,676,42,51,1033,1035,0,714,715,712,691,692,689,42,51,1035,1032,0,714,712,713,691,689,690,42,1033,57,1034,0,715,49,711,692,49,688,42,1033,1034,1035,0,715,711,712,692,688,689,42,1036,1034,57,0,716,711,49,693,688,49,42,1034,1036,1038,0,711,716,717,688,693,694,42,43,1038,1036,0,718,717,716,695,694,693,42,1038,43,1037,0,717,718,719,694,695,696,42,1037,1027,1038,0,719,705,717,696,682,694,42,1027,1037,38,0,705,719,708,682,696,685,42,1038,30,1034,0,717,703,711,694,680,688,42,30,1038,1027,0,703,717,705,680,694,682,42,1021,1039,1041,0,697,720,721,674,697,698,42,1039,1021,32,0,720,697,696,697,674,673,42,1039,1040,1041,0,720,722,721,697,699,698,42,1040,1039,52,0,722,720,95,699,697,95,42,1032,1040,51,0,713,722,714,690,699,691,42,1040,1032,1041,0,722,713,721,699,690,698,42,31,1041,1032,0,699,721,713,676,698,690,42,1041,31,1021,0,721,699,697,698,676,674,42,633,1043,53,0,68,723,40,68,700,40,42,613,53,1043,0,41,40,723,41,40,700,42,41,1042,633,0,71,724,68,71,701,68,42,1043,633,1042,0,723,68,724,700,68,701,42,1042,1018,1043,0,724,695,723,701,672,700,42,1018,1042,32,0,695,724,696,672,701,673,42,1043,1018,613,0,723,695,41,700,672,41,42,613,1018,33,0,41,695,43,41,672,43,42,1042,1039,32,0,724,720,696,701,697,673,42,1039,1042,1045,0,720,724,725,697,701,702,42,41,1045,1042,0,71,725,724,71,702,701,42,1045,41,1044,0,725,71,726,702,71,703,42,1044,650,1045,0,726,96,725,703,96,702,42,650,1044,48,0,96,726,97,96,703,97,42,1045,52,1039,0,725,95,720,702,95,697,42,52,1045,650,0,95,725,96,95,702,96,42,614,1016,1048,0,42,690,727,42,667,704,42,1016,614,33,0,690,42,43,667,42,43,42,34,1048,1016,0,681,727,690,658,704,667,42,1048,34,1046,0,727,681,728,704,658,705,42,55,1047,1048,0,729,730,727,706,707,704,42,55,1048,1046,0,729,727,728,706,704,705,42,1047,614,1048,0,730,42,727,707,42,704,42,1047,54,614,0,730,44,42,707,44,42,42,1050,1046,1051,0,731,728,732,708,705,709,42,1046,1050,55,0,728,731,729,705,708,706,42,1009,1051,1046,0,678,732,728,655,709,705,42,1009,1046,34,0,678,728,681,655,705,658,42,1049,1009,35,0,733,678,683,710,655,660,42,1009,1049,1051,0,678,733,732,655,710,709,42,56,1051,1049,0,734,732,733,711,709,710,42,1051,56,1050,0,732,734,731,709,711,708,42,1052,1055,73,0,735,736,737,712,713,714,42,1055,1052,1056,0,736,735,738,713,712,715,42,546,1056,1052,0,739,738,735,716,715,712,42,1056,546,1053,0,738,739,740,715,716,717,42,1053,1054,1056,0,740,741,738,717,718,715,42,1054,1053,545,0,741,740,742,718,717,719,42,1056,36,1055,0,738,672,736,715,649,713,42,36,1056,1054,0,672,738,741,649,715,718,42,1057,1058,46,0,743,744,91,720,721,91,42,1058,1057,1059,0,744,743,745,721,720,722,42,73,1059,1057,0,737,745,743,714,722,720,42,1059,73,1055,0,745,737,736,722,714,713,42,1055,1001,1059,0,736,671,745,713,648,722,42,1001,1055,36,0,671,736,672,648,713,649,42,1059,72,1058,0,745,669,744,722,646,721,42,72,1059,1001,0,669,745,671,646,722,648,42,647,1058,1061,0,89,744,746,89,721,723,42,1058,647,46,0,744,89,91,721,89,91,42,1061,72,998,0,746,669,667,723,646,644,42,72,1061,1058,0,669,746,744,646,723,721,42,998,1060,1061,0,667,747,746,644,724,723,42,1060,998,37,0,747,667,668,724,644,645,42,44,1061,1060,0,87,746,747,87,723,724,42,1061,44,647,0,746,87,89,723,87,89,42,1060,1062,44,0,747,748,87,724,725,87,42,1062,1060,1063,0,748,747,749,725,724,726,42,37,1063,1060,0,668,749,747,645,726,724,42,1063,37,1030,0,749,668,710,726,645,687,42,1030,1037,1063,0,710,719,749,687,696,726,42,1037,1030,38,0,719,710,708,696,687,685,42,1063,43,1062,0,749,718,748,726,695,725,42,43,1063,1037,0,718,749,719,695,726,696,42,1066,619,1067,0,750,45,751,727,45,728,42,619,1066,39,0,45,750,46,45,727,46,42,1064,1067,619,0,752,751,45,729,728,45,42,1064,619,47,0,752,45,51,729,45,51,42,1065,1064,80,0,753,752,754,730,729,731,42,1064,1065,1067,0,752,753,751,729,730,728,42,79,1067,1065,0,755,751,753,732,728,730,42,1067,79,1066,0,751,755,750,728,732,727,42,1068,1066,79,0,756,750,755,733,727,732,42,1066,1068,1070,0,750,756,757,727,733,734,42,78,1070,1068,0,758,757,756,735,734,733,42,1070,78,1069,0,757,758,759,734,735,736,42,1069,622,1070,0,759,55,757,736,55,734,42,622,1069,58,0,55,759,54,55,736,54,42,1070,39,1066,0,757,46,750,734,46,727,42,39,1070,622,0,46,757,55,46,734,55,42,1064,624,1073,0,752,58,760,729,58,737,42,624,1064,47,0,58,752,51,58,729,51,42,1071,1073,624,0,761,760,58,738,737,58,42,1071,624,40,0,761,58,57,738,58,57,42,1072,1071,81,0,762,761,763,739,738,740,42,1071,1072,1073,0,761,762,760,738,739,737,42,80,1073,1072,0,754,760,762,731,737,739,42,1073,80,1064,0,760,754,752,737,731,729,42,1074,629,49,0,764,62,65,741,62,65,42,629,1074,1076,0,62,764,765,62,741,742,42,82,1076,1074,0,766,765,764,743,742,741,42,1076,82,1075,0,765,766,767,742,743,744,42,1075,1071,1076,0,767,761,765,744,738,742,42,1071,1075,81,0,761,767,763,738,744,740,42,1076,40,629,0,765,57,62,742,57,62,42,40,1076,1071,0,57,765,761,57,742,738,42,635,1044,41,0,75,726,71,75,703,71,42,1044,635,1079,0,726,75,768,703,75,745,42,83,1079,635,0,73,768,75,73,745,75,42,1079,83,1077,0,768,73,769,745,73,746,42,1077,1078,1079,0,769,770,768,746,747,745,42,1078,1077,84,0,770,769,771,747,746,748,42,1079,48,1044,0,768,97,726,745,97,703,42,48,1079,1078,0,97,768,770,97,745,747,42,1069,639,58,0,759,80,54,736,80,54,42,639,1069,1082,0,80,759,772,80,736,749,42,1080,1069,78,0,773,759,758,750,736,735,42,1069,1080,1082,0,759,773,772,736,750,749,42,1082,77,1081,0,772,774,775,749,751,752,42,77,1082,1080,0,774,772,773,751,749,750,42,1082,42,639,0,772,81,80,749,81,80,42,42,1082,1081,0,81,772,775,81,749,752,42,1083,1081,77,0,776,775,774,753,752,751,42,1081,1083,1085,0,775,776,777,752,753,754,42,76,1085,1083,0,778,777,776,755,754,753,42,1085,76,1084,0,777,778,779,754,755,756,42,1084,642,1085,0,779,83,777,756,83,754,42,642,1084,45,0,83,779,84,83,756,84,42,1085,42,1081,0,777,81,775,754,81,752,42,42,1085,642,0,81,777,83,81,754,83,42,1036,621,1087,0,716,52,780,693,52,757,42,621,1036,57,0,52,716,49,52,693,49,42,638,1087,621,0,79,780,52,79,757,52,42,621,58,638,0,52,54,79,52,54,79,42,59,1086,1087,0,77,781,780,77,758,757,42,59,1087,638,0,77,780,79,77,757,79,42,1036,1086,43,0,716,781,718,693,758,695,42,1086,1036,1087,0,781,716,780,758,693,757,42,1089,646,1090,0,782,90,783,759,90,760,42,646,1089,46,0,90,782,91,90,759,91,42,1090,45,1084,0,783,84,779,760,84,756,42,45,1090,646,0,84,783,90,84,760,90,42,1088,1084,76,0,784,779,778,761,756,755,42,1084,1088,1090,0,779,784,783,756,761,760,42,75,1090,1088,0,785,783,784,762,760,761,42,1090,75,1089,0,783,785,782,760,762,759,42,1092,1057,1093,0,786,743,787,763,720,764,42,1057,1092,73,0,743,786,737,720,763,714,42,1093,46,1089,0,787,91,782,764,91,759,42,46,1093,1057,0,91,787,743,91,764,720,42,1091,1089,75,0,788,782,785,765,759,762,42,1089,1091,1093,0,782,788,787,759,765,764,42,74,1093,1091,0,789,787,788,766,764,765,42,1093,74,1092,0,787,789,786,764,766,763,42,618,1033,1095,0,50,715,790,50,692,767,42,1033,618,57,0,715,50,49,692,50,49,42,1095,51,1094,0,790,714,791,767,691,768,42,51,1095,1033,0,714,790,715,691,767,692,42,625,1094,50,0,60,791,61,60,768,61,42,1094,625,1095,0,791,60,790,768,60,767,42,625,618,1095,0,60,50,790,60,50,767,42,618,625,47,0,50,60,51,50,60,51,42,1078,651,48,0,770,92,97,747,92,97,42,651,1078,1097,0,92,770,792,92,747,769,42,84,1097,1078,0,771,792,770,748,769,747,42,1097,84,1096,0,792,771,793,769,748,770,42,1096,1074,1097,0,793,764,792,770,741,769,42,1074,1096,82,0,764,793,766,741,770,743,42,1074,651,1097,0,764,92,792,741,92,769,42,651,1074,49,0,92,764,65,92,741,65,42,1100,1098,1101,0,794,795,796,771,772,773,42,1098,1100,62,0,795,794,797,772,771,774,42,1101,53,615,0,796,40,39,773,40,39,42,53,1101,1098,0,40,796,795,40,773,772,42,1099,615,54,0,798,39,44,775,39,44,42,615,1099,1101,0,39,798,796,39,775,773,42,61,1101,1099,0,799,796,798,776,773,775,42,1101,61,1100,0,796,799,794,773,776,771,42,1098,631,53,0,795,66,40,772,66,40,42,631,1098,1104,0,66,795,800,66,772,777,42,62,1104,1098,0,797,800,795,774,777,772,42,1104,62,1102,0,800,797,801,777,774,778,42,1102,1103,1104,0,801,802,800,778,779,777,42,1103,1102,71,0,802,801,803,779,778,780,42,106,1104,1103,0,70,800,802,70,777,779,42,1104,106,631,0,800,70,66,777,70,66,42,1106,1099,1107,0,804,798,805,781,775,782,42,1099,1106,61,0,798,804,799,775,781,776,42,1107,54,1047,0,805,44,730,782,44,707,42,54,1107,1099,0,44,805,798,44,782,775,42,1105,1047,55,0,806,730,729,783,707,706,42,1047,1105,1107,0,730,806,805,707,783,782,42,92,1107,1105,0,807,805,806,784,782,783,42,1107,92,1106,0,805,807,804,782,784,781,42,1108,1050,56,0,808,731,734,785,708,711,42,1050,1108,1110,0,731,808,809,708,785,786,42,91,1110,1108,0,810,809,808,787,786,785,42,1110,91,1109,0,809,810,811,786,787,788,42,1109,1105,1110,0,811,806,809,788,783,786,42,1105,1109,92,0,806,811,807,783,788,784,42,1110,55,1050,0,809,729,731,786,706,708,42,55,1110,1105,0,729,809,806,706,786,783,42,1113,1111,1114,0,812,813,814,789,790,791,42,1111,1113,505,0,813,812,815,790,789,792,42,1114,90,1112,0,814,816,817,791,793,794,42,90,1114,1111,0,816,814,813,793,791,790,42,1112,1108,1114,0,817,818,814,794,785,791,42,1108,1112,91,0,818,817,819,785,794,787,42,1114,56,1113,0,814,820,812,791,711,789,42,56,1114,1108,0,820,814,818,711,791,785,42,1118,1115,1119,0,821,822,823,795,796,797,42,1115,1118,62,0,822,821,797,796,795,774,42,100,1119,1115,0,108,823,822,108,797,796,42,1119,100,1116,0,823,108,824,797,108,798,42,1116,1117,1119,0,824,825,823,798,799,797,42,1117,1116,60,0,825,824,826,799,798,800,42,96,1118,1119,0,827,821,823,801,795,797,42,1119,1117,96,0,823,825,827,797,799,801,42,1123,1117,60,0,828,829,830,802,799,800,42,60,1120,1123,0,830,831,828,800,803,802,42,1121,1120,93,0,832,831,833,804,803,805,42,1120,1121,1123,0,831,832,828,803,804,802,42,1123,1121,95,0,828,832,834,802,804,806,42,1123,95,1122,0,828,834,835,802,806,807,42,1117,1123,1122,0,829,828,835,799,802,807,42,1117,1122,96,0,829,835,836,799,807,801,42,1127,1126,93,0,837,838,833,808,809,805,42,93,1120,1127,0,833,831,837,805,803,808,42,1124,1127,1120,0,839,837,831,810,808,803,42,1120,60,1124,0,831,830,839,803,800,810,42,113,1125,1127,0,840,841,837,811,812,808,42,1127,1124,113,0,837,839,840,808,810,811,42,1125,112,1126,0,841,842,838,812,813,809,42,1126,1127,1125,0,838,837,841,809,808,812,42,1129,657,114,0,843,106,107,814,106,107,42,114,1128,1129,0,107,844,843,107,815,814,42,1124,1129,1128,0,845,843,844,810,814,815,42,1128,113,1124,0,844,846,845,815,811,810,42,60,1116,1129,0,826,824,843,800,798,814,42,1129,1124,60,0,843,845,826,814,810,800,42,1116,100,657,0,824,108,106,798,108,106,42,657,1129,1116,0,106,843,824,106,814,798,42,1100,1131,62,0,794,847,797,771,816,774,42,62,1131,1115,0,797,847,822,774,816,796,42,1130,1100,61,0,848,794,799,817,771,776,42,1100,1130,1131,0,794,848,847,771,817,816,42,99,1131,1130,0,104,847,848,104,816,817,42,1131,99,658,0,847,104,103,816,104,103,42,1131,658,1115,0,847,103,822,816,103,796,42,1115,658,100,0,822,103,108,796,103,108,42,1133,1130,1134,0,849,848,850,818,817,819,42,1130,1133,99,0,848,849,104,817,818,104,42,1134,61,1106,0,850,799,804,819,776,781,42,61,1134,1130,0,799,850,848,776,819,817,42,1132,1106,92,0,851,804,807,820,781,784,42,1106,1132,1134,0,804,851,850,781,820,819,42,98,1134,1132,0,852,850,851,821,819,820,42,1134,98,1133,0,850,852,849,819,821,818,42,1102,1118,1137,0,801,821,853,778,795,822,42,1118,1102,62,0,821,801,797,795,778,774,42,1137,96,1135,0,853,827,854,822,801,823,42,96,1137,1118,0,827,853,821,801,822,795,42,1136,1135,63,0,855,854,856,824,823,825,42,1135,1136,1137,0,854,855,853,823,824,822,42,71,1137,1136,0,803,853,855,780,822,824,42,1137,71,1102,0,853,803,801,822,780,778,42,1135,1122,1140,0,857,835,858,823,807,826,42,1122,1135,96,0,835,857,836,807,823,801,42,1122,1138,1140,0,835,859,858,807,827,826,42,1138,1122,95,0,859,835,834,827,807,806,42,1138,1139,1140,0,859,860,858,827,828,826,42,1139,1138,94,0,860,859,861,828,827,829,42,63,1140,1139,0,862,858,860,825,826,828,42,1140,63,1135,0,858,862,857,826,825,823,42,1143,1136,1144,0,863,855,864,830,824,831,42,1136,1143,71,0,855,863,803,824,830,780,42,1144,63,1141,0,864,856,865,831,825,832,42,63,1144,1136,0,856,864,855,825,831,824,42,1142,1141,556,0,866,865,867,833,832,834,42,1141,1142,1144,0,865,866,864,832,833,831,42,1144,557,1143,0,864,868,863,831,835,830,42,557,1144,1142,0,868,864,866,835,831,833,42,1141,1147,556,0,869,870,871,832,836,834,42,1146,556,1147,0,872,871,870,837,834,836,42,63,1139,1141,0,862,860,869,825,828,832,42,1147,1141,1139,0,870,869,860,836,832,828,42,1139,1145,1147,0,860,873,870,828,838,836,42,1145,1139,94,0,873,860,861,838,828,829,42,1147,555,1146,0,870,874,872,836,839,837,42,555,1147,1145,0,874,870,873,839,836,838,42,1151,1148,1152,0,875,876,877,840,841,842,42,1148,1151,64,0,876,875,878,841,840,843,42,1152,561,1149,0,877,879,880,842,844,845,42,561,1152,1148,0,879,877,876,844,842,841,42,1150,1149,560,0,881,880,882,846,845,847,42,1149,1150,1152,0,880,881,877,845,846,842,42,172,1152,1150,0,161,877,881,161,842,846,42,1152,172,1151,0,877,161,875,842,161,840,42,1151,689,1155,0,875,156,883,840,156,848,42,689,1151,172,0,156,875,161,156,840,161,42,1155,170,1153,0,883,158,884,848,158,849,42,170,1155,689,0,158,883,156,158,848,156,42,1154,1153,130,0,885,884,886,850,849,851,42,1153,1154,1155,0,884,885,883,849,850,848,42,64,1155,1154,0,878,883,885,843,848,850,42,1155,64,1151,0,883,878,875,848,843,840,42,1148,1158,561,0,876,887,879,841,852,844,42,1158,1148,1159,0,887,876,888,852,841,853,42,64,1159,1148,0,878,888,876,843,853,841,42,1159,64,1156,0,888,878,889,853,843,854,42,1156,1157,1159,0,889,890,888,854,855,853,42,1157,1156,65,0,890,889,891,855,854,856,42,1159,562,1158,0,888,892,887,853,857,852,42,562,1159,1157,0,892,888,890,857,853,855,42,65,1162,1161,0,891,893,894,856,858,859,42,1162,65,1156,0,893,891,889,858,856,854,42,1156,1154,1162,0,889,885,893,854,850,858,42,1154,1156,64,0,885,889,878,850,854,843,42,130,1162,1154,0,886,893,885,851,858,850,42,130,1160,1162,0,886,895,893,851,860,858,42,1161,1160,131,0,894,895,896,859,860,861,42,1160,1161,1162,0,895,894,893,860,859,858,42,1163,1166,65,0,897,898,891,862,863,856,42,65,1166,1157,0,891,898,890,856,863,855,42,161,1164,1163,0,215,899,897,215,864,862,42,1163,1164,1166,0,897,899,898,862,864,863,42,1164,563,1166,0,899,900,898,864,865,863,42,1166,563,1165,0,898,900,901,863,865,866,42,1166,1165,1157,0,898,901,890,863,866,855,42,1157,1165,562,0,890,901,892,855,866,857,42,726,1163,1168,0,219,897,902,219,862,867,42,1163,726,161,0,897,219,215,862,219,215,42,1168,65,1161,0,902,891,894,867,856,859,42,65,1168,1163,0,891,902,897,856,867,862,42,1168,131,1167,0,902,896,903,867,861,868,42,131,1168,1161,0,896,902,894,861,867,859,42,160,1168,1167,0,220,902,903,220,867,868,42,1168,160,726,0,902,220,219,867,220,219,42,1171,722,1172,0,904,210,905,869,210,870,42,722,1171,161,0,210,904,215,210,869,215,42,1172,159,1169,0,905,212,906,870,212,871,42,159,1172,722,0,212,905,210,212,870,210,42,1172,132,1170,0,905,907,908,870,872,873,42,132,1172,1169,0,907,905,906,872,870,871,42,66,1172,1170,0,909,905,908,874,870,873,42,1172,66,1171,0,905,909,904,870,874,869,42,1171,66,1175,0,904,909,910,869,874,875,42,66,1173,1175,0,909,911,910,874,876,875,42,1175,1173,1174,0,910,911,912,875,876,877,42,1173,564,1174,0,911,913,912,876,878,877,42,1164,1175,563,0,899,910,900,864,875,865,42,1175,1174,563,0,910,912,900,875,877,865,42,161,1171,1164,0,215,904,899,215,869,864,42,1171,1175,1164,0,904,910,899,869,875,864,42,1179,66,1170,0,914,909,908,879,874,873,42,66,1179,1178,0,909,914,915,874,879,880,42,1176,1170,132,0,916,908,907,881,873,872,42,1170,1176,1179,0,908,916,914,873,881,879,42,133,1179,1176,0,917,914,916,882,879,881,42,1179,133,1177,0,914,917,918,879,882,883,42,1177,1178,1179,0,918,915,914,883,880,879,42,1178,1177,67,0,915,918,919,880,883,884,42,1178,67,1182,0,915,919,920,880,884,885,42,67,1180,1182,0,919,921,920,884,886,885,42,1182,1180,1181,0,920,921,922,885,886,887,42,1180,565,1181,0,921,923,922,886,888,887,42,1173,1182,564,0,911,920,913,876,885,878,42,1182,1181,564,0,920,922,913,885,887,878,42,66,1178,1173,0,909,915,911,874,880,876,42,1178,1182,1173,0,915,920,911,880,885,876,42,697,1183,1185,0,172,924,925,172,889,890,42,1183,697,155,0,924,172,171,889,172,171,42,1185,67,1177,0,925,919,918,890,884,883,42,67,1185,1183,0,919,925,924,884,890,889,42,1184,1177,133,0,926,918,917,891,883,882,42,1177,1184,1185,0,918,926,925,883,891,890,42,154,1185,1184,0,173,925,926,173,890,891,42,1185,154,697,0,925,173,172,890,173,172,42,1183,1180,67,0,924,921,919,889,886,884,42,1180,1183,1188,0,921,924,927,886,889,892,42,155,1188,1183,0,171,927,924,171,892,889,42,1188,155,1186,0,927,171,928,892,171,893,42,1186,1187,1188,0,928,929,927,893,894,892,42,1187,1186,566,0,929,928,930,894,893,895,42,1188,565,1180,0,927,923,921,892,888,886,42,565,1188,1187,0,923,927,929,888,892,894,42,1192,1191,155,0,931,932,171,896,897,171,42,155,700,1192,0,171,176,931,171,176,896,42,1189,1192,700,0,933,931,176,898,896,176,42,1189,700,153,0,933,176,175,898,176,175,42,135,1190,1192,0,934,935,931,899,900,896,42,135,1192,1189,0,934,931,933,899,896,898,42,1190,68,1191,0,935,936,932,900,901,897,42,1190,1191,1192,0,935,932,931,900,897,896,42,1191,1186,155,0,932,928,171,897,893,171,42,1186,1191,1195,0,928,932,937,893,897,902,42,68,1195,1191,0,936,937,932,901,902,897,42,1195,68,1193,0,937,936,938,902,901,903,42,1193,1194,1195,0,938,939,937,903,904,902,42,1194,1193,567,0,939,938,940,904,903,905,42,1195,566,1186,0,937,930,928,902,895,893,42,566,1195,1194,0,930,937,939,895,902,904,42,1198,1196,1199,0,941,942,943,906,907,908,42,1196,1198,69,0,942,941,944,907,906,909,42,1199,68,1190,0,943,936,935,908,901,900,42,68,1199,1196,0,936,943,942,901,908,907,42,1197,1190,135,0,945,935,934,910,900,899,42,1190,1197,1199,0,935,945,943,900,910,908,42,136,1199,1197,0,946,943,945,911,908,910,42,1199,136,1198,0,943,946,941,908,911,906,42,1201,1200,1202,0,947,948,949,912,913,914,42,1200,1201,568,0,948,947,950,913,912,915,42,1202,567,1193,0,949,940,938,914,905,903,42,567,1202,1200,0,940,949,948,905,914,913,42,1196,1193,68,0,942,938,936,907,903,901,42,1193,1196,1202,0,938,942,949,903,907,914,42,69,1202,1196,0,944,949,942,909,914,907,42,1202,69,1201,0,949,944,947,914,909,912,42,719,1203,1205,0,208,951,952,208,916,917,42,1203,719,149,0,951,208,204,916,208,204,42,1205,69,1198,0,952,944,941,917,909,906,42,69,1205,1203,0,944,952,951,909,917,916,42,1204,1198,136,0,953,941,946,918,906,911,42,1198,1204,1205,0,941,953,952,906,918,917,42,148,1205,1204,0,209,952,953,209,917,918,42,1205,148,719,0,952,209,208,917,209,208,42,1203,1201,69,0,951,947,944,916,912,909,42,1201,1203,1208,0,947,951,954,912,916,919,42,149,1208,1203,0,204,954,951,204,919,916,42,1208,149,1206,0,954,204,955,919,204,920,42,1206,1207,1208,0,955,956,954,920,921,919,42,1207,1206,569,0,956,955,957,921,920,922,42,1208,568,1201,0,954,950,947,919,915,912,42,568,1208,1207,0,950,954,956,915,919,921,42,1212,1209,1213,0,958,959,960,923,924,925,42,1209,1212,558,0,959,958,961,924,923,926,42,1213,70,1210,0,960,962,963,925,927,928,42,70,1213,1209,0,962,960,959,927,925,924,42,1211,1210,138,0,964,963,965,929,928,930,42,1210,1211,1213,0,963,964,960,928,929,925,42,137,1213,1211,0,966,960,964,931,925,929,42,1213,137,1212,0,960,966,958,925,931,923,42,1210,1214,1217,0,967,968,969,928,932,933,42,1214,1210,70,0,968,967,970,932,928,927,42,1217,523,1215,0,969,971,972,933,934,935,42,523,1217,1214,0,971,969,968,934,933,932,42,1216,1215,139,0,973,972,974,936,935,937,42,1215,1216,1217,0,972,973,969,935,936,933,42,138,1217,1216,0,975,969,973,930,933,936,42,1217,138,1210,0,969,975,967,933,930,928,42,1220,1218,1221,0,976,977,978,938,939,940,42,1218,1220,559,0,977,976,979,939,938,941,42,1221,577,1219,0,978,980,981,940,942,943,42,577,1221,1218,0,980,978,977,942,940,939,42,1209,1219,70,0,959,981,962,924,943,927,42,1219,1209,1221,0,981,959,978,943,924,940,42,558,1221,1209,0,961,978,959,926,940,924,42,1221,558,1220,0,978,961,976,940,926,938,42,1214,1223,523,0,968,982,971,932,944,934,42,1223,1214,1224,0,982,968,983,944,932,945,42,70,1224,1214,0,970,983,968,927,945,932,42,1224,70,1219,0,983,970,984,945,927,943,42,1219,1222,1224,0,984,985,983,943,946,945,42,1222,1219,577,0,985,984,986,946,943,942,42,1224,576,1223,0,983,987,982,945,947,944,42,576,1224,1222,0,987,983,985,947,945,946,42,1226,1103,1227,0,988,802,989,948,779,949,42,1103,1226,106,0,802,988,70,779,948,70,42,71,1227,1103,0,803,989,802,780,949,779,42,1227,71,1143,0,989,803,863,949,780,830,42,1225,1143,557,0,990,863,868,950,830,835,42,1143,1225,1227,0,863,990,989,830,950,949,42,508,1227,1225,0,991,989,990,951,949,950,42,1227,508,1226,0,989,991,988,949,951,948,42,1229,1052,1230,0,992,735,993,952,712,953,42,1052,1229,546,0,735,992,739,712,952,716,42,1230,73,1092,0,993,737,786,953,714,763,42,73,1230,1052,0,737,993,735,714,953,712,42,1228,1092,74,0,994,786,789,954,763,766,42,1092,1228,1230,0,786,994,993,763,954,953,42,544,1230,1228,0,995,993,994,955,953,954,42,1230,544,1229,0,993,995,992,953,955,952,42,1233,1228,1234,0,996,994,997,956,954,957,42,1228,1233,544,0,994,996,995,954,956,955,42,1234,74,1231,0,997,789,998,957,766,958,42,74,1234,1228,0,789,997,994,766,957,954,42,1232,1231,513,0,999,998,564,959,958,546,42,1231,1232,1234,0,998,999,997,958,959,957,42,548,1234,1232,0,1e3,997,999,960,957,959,42,1234,548,1233,0,997,1e3,996,957,960,956,42,1231,1091,1236,0,998,788,1001,958,765,961,42,1091,1231,74,0,788,998,789,765,958,766,42,1236,75,1235,0,1001,785,1002,961,762,962,42,75,1236,1091,0,785,1001,788,762,961,765,42,1235,935,1236,0,1002,562,1001,962,544,961,42,935,1235,540,0,562,1002,565,544,962,547,42,513,1236,935,0,564,1001,562,546,961,544,42,1236,513,1231,0,1001,564,998,961,546,958,42,540,1235,1239,0,565,1002,1003,547,962,963,42,540,1239,1238,0,565,1003,1004,547,963,964,42,1235,75,1088,0,1002,785,784,962,762,761,42,1235,1088,1239,0,1002,784,1003,962,761,963,42,1239,1088,76,0,1003,784,778,963,761,755,42,1239,76,1237,0,1003,778,1005,963,755,965,42,1238,1239,1237,0,1004,1003,1005,964,963,965,42,1238,1237,539,0,1004,1005,1006,964,965,966,42,1237,1083,1242,0,1005,776,1007,965,753,967,42,1083,1237,76,0,776,1005,778,753,965,755,42,1242,77,1240,0,1007,774,1008,967,751,968,42,77,1242,1083,0,774,1007,776,751,967,753,42,1241,1240,538,0,1009,1008,1010,969,968,970,42,1240,1241,1242,0,1008,1009,1007,968,969,967,42,539,1242,1241,0,1006,1007,1009,966,967,969,42,1242,539,1237,0,1007,1006,1005,967,966,965,42,1244,538,1245,0,1011,1010,1012,971,970,972,42,538,1240,1245,0,1010,1008,1012,970,968,972,42,1245,1240,1080,0,1012,1008,773,972,968,750,42,1240,77,1080,0,1008,774,773,968,751,750,42,1243,1245,78,0,1013,1012,758,973,972,735,42,1245,1080,78,0,1012,773,758,972,750,735,42,512,1244,1243,0,1014,1011,1013,974,971,973,42,1244,1245,1243,0,1011,1012,1013,971,972,973,42,1247,512,1248,0,1015,1014,1016,975,974,976,42,512,1243,1248,0,1014,1013,1016,974,973,976,42,1248,1243,1068,0,1016,1013,756,976,973,733,42,1243,78,1068,0,1013,758,756,973,735,733,42,1246,1248,79,0,1017,1016,755,977,976,732,42,1248,1068,79,0,1016,756,755,976,733,732,42,537,1247,1246,0,1018,1015,1017,978,975,977,42,1247,1248,1246,0,1015,1016,1017,975,976,977,42,1249,1250,511,0,1019,1020,1021,979,980,981,42,1250,1249,1251,0,1020,1019,1022,980,979,982,42,537,1251,1249,0,1018,1022,1019,978,982,979,42,1251,537,1246,0,1022,1018,1017,982,978,977,42,1246,1065,1251,0,1017,753,1022,977,730,982,42,1065,1246,79,0,753,1017,755,730,977,732,42,1251,80,1250,0,1022,754,1020,982,731,980,42,80,1251,1065,0,754,1022,753,731,982,730,42,1252,1253,536,0,1023,1024,1025,983,984,985,42,1253,1252,1254,0,1024,1023,1026,984,983,986,42,511,1254,1252,0,1021,1026,1023,981,986,983,42,1254,511,1250,0,1026,1021,1020,986,981,980,42,1250,1072,1254,0,1020,762,1026,980,739,986,42,1072,1250,80,0,762,1020,754,739,980,731,42,1254,81,1253,0,1026,763,1024,986,740,984,42,81,1254,1072,0,763,1026,762,740,986,739,42,1255,1075,82,0,1027,767,766,987,744,743,42,1075,1255,1257,0,767,1027,1028,744,987,988,42,510,1257,1255,0,1029,1028,1027,989,988,987,42,1257,510,1256,0,1028,1029,1030,988,989,990,42,1256,1253,1257,0,1030,1024,1028,990,984,988,42,1253,1256,536,0,1024,1030,1025,984,990,985,42,1257,81,1075,0,1028,763,767,988,740,744,42,81,1257,1253,0,763,1028,1024,740,988,984,42,1258,1260,509,0,1031,1032,1033,991,992,993,42,509,1260,1259,0,1033,1032,1034,993,992,994,42,510,1255,1258,0,1029,1027,1031,989,987,991,42,1258,1255,1260,0,1031,1027,1032,991,987,992,42,1255,82,1260,0,1027,766,1032,987,743,992,42,1260,82,1096,0,1032,766,793,992,743,770,42,1260,1096,1259,0,1032,793,1034,992,770,994,42,1259,1096,84,0,1034,793,771,994,770,748,42,1261,1077,83,0,1035,769,73,995,746,73,42,1077,1261,1263,0,769,1035,1036,746,995,996,42,535,1263,1261,0,1037,1036,1035,997,996,995,42,1263,535,1262,0,1036,1037,1038,996,997,998,42,1262,1259,1263,0,1038,1034,1036,998,994,996,42,1259,1262,509,0,1034,1038,1033,994,998,993,42,1263,84,1077,0,1036,771,769,996,748,746,42,84,1263,1259,0,771,1036,1034,748,996,994,42,1265,106,1226,0,1039,70,988,999,70,948,42,106,1265,636,0,70,1039,72,70,999,72,42,1264,1226,508,0,1040,988,991,1e3,948,951,42,1226,1264,1265,0,988,1040,1039,948,1e3,999,42,535,1265,1264,0,1037,1039,1040,997,999,1e3,42,1265,535,1261,0,1039,1037,1035,999,997,995,42,1261,636,1265,0,1035,72,1039,995,72,999,42,636,1261,83,0,72,1035,73,72,995,73,42,654,598,1267,0,99,18,1041,99,18,1001,42,598,654,85,0,18,99,19,18,99,19,42,1267,549,1005,0,1041,17,674,1001,17,651,42,549,1267,598,0,17,1041,18,17,1001,18,42,1266,1005,547,0,1042,674,677,1002,651,654,42,1005,1266,1267,0,674,1042,1041,651,1002,1001,42,533,1267,1266,0,100,1041,1042,100,1001,1002,42,1267,533,654,0,1041,100,99,1001,100,99,42,1271,1268,1272,0,1043,1044,1045,1003,1004,1005,42,1268,1271,531,0,1044,1043,688,1004,1003,665,42,1272,87,1269,0,1045,1046,1047,1005,1006,1007,42,87,1272,1268,0,1046,1045,1044,1006,1005,1004,42,1270,1269,86,0,1048,1047,1049,1008,1007,1009,42,1269,1270,1272,0,1047,1048,1045,1007,1008,1005,42,507,1272,1270,0,1050,1045,1048,1010,1005,1008,42,1272,507,1271,0,1045,1050,1043,1005,1010,1003,42,1276,1275,525,0,1051,1052,1053,1011,1012,1013,42,525,1273,1276,0,1053,1054,1051,1013,1014,1011,42,1270,1276,1273,0,1048,1051,1054,1008,1011,1014,42,1273,507,1270,0,1054,1050,1048,1014,1010,1008,42,86,1274,1276,0,1049,1055,1051,1009,1015,1011,42,1276,1270,86,0,1051,1048,1049,1011,1008,1009,42,1274,524,1275,0,1055,1056,1052,1015,1016,1012,42,1275,1276,1274,0,1052,1051,1055,1012,1011,1015,42,1274,1277,1279,0,1055,1057,1058,1015,1017,1018,42,1277,1274,86,0,1057,1055,1049,1017,1015,1009,42,1279,546,1229,0,1058,739,992,1018,716,952,42,546,1279,1277,0,739,1058,1057,716,1018,1017,42,1278,1229,544,0,1059,992,995,1019,952,955,42,1229,1278,1279,0,992,1059,1058,952,1019,1018,42,524,1279,1278,0,1056,1058,1059,1016,1018,1019,42,1279,524,1274,0,1058,1056,1055,1018,1016,1015,42,1269,1280,1281,0,1047,1060,1061,1007,1020,1021,42,1280,1269,87,0,1060,1047,1046,1020,1007,1006,42,1281,545,1053,0,1061,742,740,1021,719,717,42,545,1281,1280,0,742,1061,1060,719,1021,1020,42,1277,1053,546,0,1057,740,739,1017,717,716,42,1053,1277,1281,0,740,1057,1061,717,1017,1021,42,86,1281,1277,0,1049,1061,1057,1009,1021,1017,42,1281,86,1269,0,1061,1049,1047,1021,1009,1007,42,1283,1011,532,0,1062,686,34,1022,663,34,42,1283,532,653,0,1062,34,98,1022,34,98,42,1283,533,1282,0,1062,100,1063,1022,100,1023,42,533,1283,653,0,100,1062,98,100,1022,98,42,1268,1282,87,0,1044,1063,1046,1004,1023,1006,42,1282,1268,1283,0,1063,1044,1062,1023,1004,1022,42,1268,531,1011,0,1044,688,686,1004,665,663,42,1268,1011,1283,0,1044,686,1062,1004,663,1022,42,1288,504,1284,0,1064,1065,1066,1024,1025,1026,42,504,1288,1287,0,1065,1064,1067,1025,1024,1027,42,527,1288,1284,0,1068,1064,1066,1028,1024,1026,42,1288,527,1285,0,1064,1068,1069,1024,1028,1029,42,1285,1286,1288,0,1069,1070,1064,1029,1030,1024,42,1286,1285,88,0,1070,1069,1071,1030,1029,1031,42,1288,1286,1287,0,1064,1070,1067,1024,1030,1027,42,1287,1286,89,0,1067,1070,1072,1027,1030,1032,42,1285,1289,1292,0,1069,1073,1074,1029,1033,1034,42,1289,1285,527,0,1073,1069,1068,1033,1029,1028,42,1292,553,1290,0,1074,574,1075,1034,556,1035,42,553,1292,1289,0,574,1074,1073,556,1034,1033,42,1291,1290,105,0,1076,1075,1077,1036,1035,1037,42,1290,1291,1292,0,1075,1076,1074,1035,1036,1034,42,1292,88,1285,0,1074,1071,1069,1034,1031,1029,42,88,1292,1291,0,1071,1074,1076,1031,1034,1036,42,1286,88,1295,0,1070,1071,1078,1030,1031,1038,42,88,1293,1295,0,1071,1079,1078,1031,1039,1038,42,662,1295,1293,0,110,1078,1079,110,1038,1039,42,1293,104,662,0,1079,111,110,1039,111,110,42,1294,662,102,0,1080,110,115,1040,110,115,42,662,1294,1295,0,110,1080,1078,110,1040,1038,42,1294,89,1286,0,1080,1072,1070,1040,1032,1030,42,1294,1286,1295,0,1080,1070,1078,1040,1030,1038,42,1291,1293,88,0,1076,1079,1071,1036,1039,1031,42,1293,1291,1298,0,1079,1076,1081,1039,1036,1041,42,1298,105,1296,0,1081,1077,1082,1041,1037,1042,42,105,1298,1291,0,1077,1081,1076,1037,1041,1036,42,1297,1296,103,0,1083,1082,1084,1043,1042,1044,42,1296,1297,1298,0,1082,1083,1081,1042,1043,1041,42,1298,104,1293,0,1081,111,1079,1041,111,1039,42,104,1298,1297,0,111,1081,1083,111,1041,1043,42,1287,1300,504,0,1067,1085,1065,1027,1045,1025,42,1300,1287,1301,0,1085,1067,1086,1045,1027,1046,42,1301,1287,1299,0,1086,1067,1087,1046,1027,1047,42,1287,89,1299,0,1067,1072,1087,1027,1032,1047,42,1111,1299,90,0,813,1087,816,790,1047,793,42,1299,1111,1301,0,1087,813,1086,1047,790,1046,42,505,1301,1111,0,815,1086,813,792,1046,790,42,1301,505,1300,0,1086,815,1085,1046,792,1045,42,1304,1299,89,0,1088,1087,1072,1048,1047,1032,42,1304,89,1294,0,1088,1072,1080,1048,1032,1040,42,1304,102,1302,0,1088,115,1089,1048,115,1049,42,102,1304,1294,0,115,1088,1080,115,1048,1040,42,1303,1302,101,0,1090,1089,1091,1050,1049,1051,42,1302,1303,1304,0,1089,1090,1088,1049,1050,1048,42,90,1304,1303,0,816,1088,1090,793,1048,1050,42,1304,90,1299,0,1088,816,1087,1048,793,1047,42,1112,1303,1307,0,817,1090,1092,794,1050,1052,42,1303,1112,90,0,1090,817,816,1050,794,793,42,1307,101,1305,0,1092,1091,1093,1052,1051,1053,42,101,1307,1303,0,1091,1092,1090,1051,1052,1050,42,1305,1306,1307,0,1093,1094,1092,1053,1054,1052,42,1306,1305,97,0,1094,1093,1095,1054,1053,1055,42,1307,91,1112,0,1092,819,817,1052,787,794,42,91,1307,1306,0,819,1092,1094,787,1052,1054,42,1306,1109,91,0,1096,811,810,1054,788,787,42,1109,1306,1309,0,811,1096,1097,788,1054,1056,42,97,1309,1306,0,1098,1097,1096,1055,1056,1054,42,1309,97,1308,0,1097,1098,1099,1056,1055,1057,42,1308,1132,1309,0,1099,851,1097,1057,820,1056,42,1132,1308,98,0,851,1099,852,820,1057,821,42,1309,92,1109,0,1097,807,811,1056,784,788,42,92,1309,1132,0,807,1097,851,784,1056,820,42,1296,1310,1312,0,1082,1100,1101,1042,1058,1059,42,1310,1296,105,0,1100,1082,1077,1058,1042,1037,42,1312,95,1121,0,1101,834,832,1059,806,804,42,95,1312,1310,0,834,1101,1100,806,1059,1058,42,1311,1121,93,0,1102,832,833,1060,804,805,42,1121,1311,1312,0,832,1102,1101,804,1060,1059,42,1311,103,1312,0,1102,1084,1101,1060,1044,1059,42,1296,1312,103,0,1082,1101,1084,1042,1059,1044,42,1315,1314,1311,0,1103,1104,1102,1061,1062,1060,42,103,1311,1314,0,1084,1102,1104,1044,1060,1062,42,1315,93,1126,0,1103,833,838,1061,805,809,42,93,1315,1311,0,833,1103,1102,805,1061,1060,42,1313,1126,112,0,1105,838,842,1063,809,813,42,1126,1313,1315,0,838,1105,1103,809,1063,1061,42,1315,111,1314,0,1103,1106,1104,1061,1064,1062,42,111,1315,1313,0,1106,1103,1105,1064,1061,1063,42,1317,1290,553,0,1107,1075,574,1065,1035,556,42,553,1316,1317,0,574,1108,1107,556,1066,1065,42,1138,1317,1316,0,859,1107,1108,827,1065,1066,42,1316,94,1138,0,1108,861,859,1066,829,827,42,1317,1138,95,0,1107,859,834,1065,827,806,42,1317,95,1310,0,1107,834,1100,1065,806,1058,42,105,1317,1310,0,1077,1107,1100,1037,1065,1058,42,1317,105,1290,0,1107,1077,1075,1065,1037,1035,42,1316,940,1319,0,1108,573,1109,1066,555,1067,42,940,1316,553,0,573,1108,574,555,1066,556,42,1319,554,1318,0,1109,572,1110,1067,554,1068,42,554,1319,940,0,572,1109,573,554,1067,555,42,1145,1318,555,0,873,1110,874,838,1068,839,42,1318,1145,1319,0,1110,873,1109,1068,838,1067,42,94,1319,1145,0,861,1109,873,829,1067,838,42,1319,94,1316,0,1109,861,1108,1067,829,1066,42,1305,1320,1323,0,1093,1111,1112,1053,1069,1070,42,1320,1305,101,0,1111,1093,1091,1069,1053,1051,42,1323,109,1321,0,1112,1113,1114,1070,1071,1072,42,109,1323,1320,0,1113,1112,1111,1071,1070,1069,42,1322,1321,108,0,1115,1114,1116,1073,1072,1074,42,1321,1322,1323,0,1114,1115,1112,1072,1073,1070,42,1323,97,1305,0,1112,1095,1093,1070,1055,1053,42,97,1323,1322,0,1095,1112,1115,1055,1070,1073,42,1325,1324,1326,0,1117,1118,1119,1075,1076,1077,42,1324,1325,107,0,1118,1117,1120,1076,1075,1078,42,1326,98,1308,0,1119,852,1099,1077,821,1057,42,98,1326,1324,0,852,1119,1118,821,1077,1076,42,1322,1308,97,0,1121,1099,1098,1073,1057,1055,42,1308,1322,1326,0,1099,1121,1119,1057,1073,1077,42,108,1326,1322,0,1122,1119,1121,1074,1077,1073,42,1326,108,1325,0,1119,1122,1117,1077,1074,1075,42,1324,1133,98,0,1118,849,852,1076,818,821,42,1133,1324,1328,0,849,1118,1123,818,1076,1079,42,107,1328,1324,0,1120,1123,1118,1078,1079,1076,42,1328,107,1327,0,1123,1120,1124,1079,1078,1080,42,1327,656,1328,0,1124,102,1123,1080,102,1079,42,656,1327,114,0,102,1124,107,102,1080,107,42,1328,99,1133,0,1123,104,849,1079,104,818,42,99,1328,656,0,104,1123,102,104,1079,102,42,1302,661,1330,0,1089,114,1125,1049,114,1081,42,661,1302,102,0,114,1089,115,114,1049,115,42,1330,110,1329,0,1125,113,1126,1081,113,1082,42,110,1330,661,0,113,1125,114,113,1081,114,42,1320,1329,109,0,1111,1126,1113,1069,1082,1071,42,1329,1320,1330,0,1126,1111,1125,1082,1069,1081,42,101,1330,1320,0,1091,1125,1111,1051,1081,1069,42,1330,101,1302,0,1125,1091,1089,1081,1051,1049,42,1297,660,104,0,1083,112,111,1043,112,111,42,660,1297,1332,0,112,1083,1127,112,1043,1083,42,103,1332,1297,0,1084,1127,1083,1044,1083,1043,42,1332,103,1314,0,1127,1084,1104,1083,1044,1062,42,1314,1331,1332,0,1104,1128,1127,1062,1084,1083,42,1331,1314,111,0,1128,1104,1106,1084,1062,1064,42,1332,110,660,0,1127,113,112,1083,113,112,42,110,1332,1331,0,113,1127,1128,113,1083,1084,42,1333,1327,107,0,1129,1124,1120,1085,1080,1078,42,1327,1333,1336,0,1124,1129,1130,1080,1085,1086,42,116,1336,1333,0,1131,1130,1129,1087,1086,1085,42,1336,116,1334,0,1130,1131,1132,1086,1087,1088,42,1334,1335,1336,0,1132,1133,1130,1088,1089,1086,42,1335,1334,115,0,1133,1132,1134,1089,1088,1090,42,1336,114,1327,0,1130,107,1124,1086,107,1080,42,114,1336,1335,0,107,1130,1133,107,1086,1089,42,1337,1325,108,0,1135,1117,1122,1091,1075,1074,42,1325,1337,1339,0,1117,1135,1136,1075,1091,1092,42,117,1339,1337,0,1137,1136,1135,1093,1092,1091,42,1339,117,1338,0,1136,1137,1138,1092,1093,1094,42,1338,1333,1339,0,1138,1129,1136,1094,1085,1092,42,1333,1338,116,0,1129,1138,1131,1085,1094,1087,42,1339,107,1325,0,1136,1120,1117,1092,1078,1075,42,107,1339,1333,0,1120,1136,1129,1078,1092,1085,42,1321,1340,1342,0,1114,1139,1140,1072,1095,1096,42,1340,1321,109,0,1139,1114,1113,1095,1072,1071,42,118,1342,1340,0,1141,1140,1139,1097,1096,1095,42,1342,118,1341,0,1140,1141,1142,1096,1097,1098,42,1341,1337,1342,0,1142,1143,1140,1098,1091,1096,42,1337,1341,117,0,1143,1142,1144,1091,1098,1093,42,108,1342,1337,0,1116,1140,1143,1074,1096,1091,42,1342,108,1321,0,1140,1116,1114,1096,1074,1072,42,1340,109,1345,0,1139,1113,1145,1095,1071,1099,42,109,1329,1345,0,1113,1126,1145,1071,1082,1099,42,1345,1329,1343,0,1145,1126,1146,1099,1082,1100,42,1329,110,1343,0,1126,113,1146,1082,113,1100,42,1344,1345,119,0,1147,1145,1148,1101,1099,1102,42,1345,1343,119,0,1145,1146,1148,1099,1100,1102,42,118,1340,1344,0,1141,1139,1147,1097,1095,1101,42,1340,1345,1344,0,1139,1145,1147,1095,1099,1101,42,1331,1343,110,0,1128,1146,113,1084,1100,113,42,1343,1331,1348,0,1146,1128,1149,1100,1084,1103,42,111,1348,1331,0,1106,1149,1128,1064,1103,1084,42,1348,111,1346,0,1149,1106,1150,1103,1064,1104,42,1346,1347,1348,0,1150,1151,1149,1104,1105,1103,42,1347,1346,120,0,1151,1150,1152,1105,1104,1106,42,119,1348,1347,0,1148,1149,1151,1102,1103,1105,42,1348,119,1343,0,1149,1148,1146,1103,1102,1100,42,1313,1346,111,0,1105,1150,1106,1063,1104,1064,42,1346,1313,1351,0,1150,1105,1153,1104,1063,1107,42,1351,112,1349,0,1153,842,1154,1107,813,1108,42,112,1351,1313,0,842,1153,1105,813,1107,1063,42,1350,1349,121,0,1155,1154,1156,1109,1108,1110,42,1349,1350,1351,0,1154,1155,1153,1108,1109,1107,42,1351,120,1346,0,1153,1152,1150,1107,1106,1104,42,120,1351,1350,0,1152,1153,1155,1106,1107,1109,42,1125,1352,1354,0,841,1157,1158,812,1111,1112,42,1352,1125,113,0,1157,841,840,1111,812,811,42,1354,122,1353,0,1158,1159,1160,1112,1113,1114,42,122,1354,1352,0,1159,1158,1157,1113,1112,1111,42,1349,1353,121,0,1154,1160,1156,1108,1114,1110,42,1353,1349,1354,0,1160,1154,1158,1114,1108,1112,42,112,1354,1349,0,842,1158,1154,813,1112,1108,42,1354,112,1125,0,1158,842,841,1112,813,812,42,1335,1128,114,0,1133,844,107,1089,815,107,42,1128,1335,1356,0,844,1133,1161,815,1089,1115,42,115,1356,1335,0,1134,1161,1133,1090,1115,1089,42,1356,115,1355,0,1161,1134,1162,1115,1090,1116,42,1355,1352,1356,0,1162,1163,1161,1116,1111,1115,42,1352,1355,122,0,1163,1162,1164,1111,1116,1113,42,1356,113,1128,0,1161,846,844,1115,811,815,42,113,1356,1352,0,846,1161,1163,811,1115,1111,42,1360,1359,115,0,1165,1166,1134,1117,1118,1090,42,1360,115,1334,0,1165,1134,1132,1117,1090,1088,42,1360,116,1357,0,1165,1131,1167,1117,1087,1119,42,116,1360,1334,0,1131,1165,1132,1087,1117,1088,42,1358,1357,124,0,1168,1167,125,1120,1119,125,42,1357,1358,1360,0,1167,1168,1165,1119,1120,1117,42,1358,123,1359,0,1168,122,1166,1120,122,1118,42,1358,1359,1360,0,1168,1166,1165,1120,1118,1117,42,665,1361,1362,0,120,1169,1170,120,1121,1122,42,1361,665,128,0,1169,120,121,1121,120,121,42,1362,122,1355,0,1170,1164,1162,1122,1113,1116,42,122,1362,1361,0,1164,1170,1169,1113,1122,1121,42,1359,1355,115,0,1166,1162,1134,1118,1116,1090,42,1355,1359,1362,0,1162,1166,1170,1116,1118,1122,42,123,1362,1359,0,122,1170,1166,122,1122,1118,42,1362,123,665,0,1170,122,120,1122,122,120,42,668,1363,192,0,126,1171,127,126,1123,127,42,1363,668,1364,0,1171,126,1172,1123,126,1124,42,124,1364,668,0,125,1172,126,125,1124,126,42,1364,124,1357,0,1172,125,1167,1124,125,1119,42,1357,1338,1364,0,1167,1138,1172,1119,1094,1124,42,1338,1357,116,0,1138,1167,1131,1094,1119,1087,42,1364,117,1363,0,1172,1137,1171,1124,1093,1123,42,117,1364,1338,0,1137,1172,1138,1093,1124,1094,42,1365,1341,118,0,1173,1142,1141,1125,1098,1097,42,1341,1365,1367,0,1142,1173,1174,1098,1125,1126,42,200,1367,1365,0,134,1174,1173,134,1126,1125,42,1367,200,1366,0,1174,134,1175,1126,134,1127,42,1366,1363,1367,0,1175,1176,1174,1127,1123,1126,42,1363,1366,192,0,1176,1175,1177,1123,1127,127,42,1367,117,1341,0,1174,1144,1142,1126,1093,1098,42,117,1367,1363,0,1144,1174,1176,1093,1126,1123,42,676,1365,1369,0,139,1173,1178,139,1125,1128,42,1365,676,200,0,1173,139,134,1125,139,134,42,1369,118,1344,0,1178,1141,1147,1128,1097,1101,42,118,1369,1365,0,1141,1178,1173,1097,1128,1125,42,1368,1344,119,0,1179,1147,1148,1129,1101,1102,42,1344,1368,1369,0,1147,1179,1178,1101,1129,1128,42,201,1369,1368,0,140,1178,1179,140,1128,1129,42,1369,201,676,0,1178,140,139,1128,140,139,42,1368,1347,1372,0,1179,1151,1180,1129,1105,1130,42,1347,1368,119,0,1151,1179,1148,1105,1129,1102,42,1372,120,1370,0,1180,1152,1181,1130,1106,1131,42,120,1372,1347,0,1152,1180,1151,1106,1130,1105,42,1371,1370,202,0,1182,1181,144,1132,1131,144,42,1370,1371,1372,0,1181,1182,1180,1131,1132,1130,42,201,1368,1371,0,140,1179,1182,140,1129,1132,42,1368,1372,1371,0,1179,1180,1182,1129,1130,1132,42,1373,679,1374,0,1183,142,1184,1133,142,1134,42,679,1373,127,0,142,1183,145,142,1133,145,42,1374,202,1370,0,1184,144,1181,1134,144,1131,42,202,1374,679,0,144,1184,142,144,1134,142,42,1350,1370,120,0,1155,1181,1152,1109,1131,1106,42,1370,1350,1374,0,1181,1155,1184,1131,1109,1134,42,1374,121,1373,0,1184,1156,1183,1134,1110,1133,42,121,1374,1350,0,1156,1184,1155,1110,1134,1109,42,1353,1361,1376,0,1160,1185,1186,1114,1121,1135,42,1361,1353,122,0,1185,1160,1159,1121,1114,1113,42,128,1376,1361,0,1187,1186,1185,121,1135,1121,42,1376,128,1375,0,1186,1187,1188,1135,121,1136,42,1373,1375,127,0,1183,1188,145,1133,1136,145,42,1375,1373,1376,0,1188,1183,1186,1136,1133,1135,42,121,1376,1373,0,1156,1186,1183,1110,1135,1133,42,1376,121,1353,0,1186,1156,1160,1135,1110,1114,42,1377,666,1378,0,1189,119,1190,1137,119,1138,42,666,1377,194,0,119,1189,117,119,1137,117,42,1378,123,1358,0,1190,122,1168,1138,122,1120,42,123,1378,666,0,122,1190,119,122,1138,119,42,670,1358,124,0,124,1168,125,124,1120,125,42,1358,670,1378,0,1168,124,1190,1120,124,1138,42,193,1378,670,0,129,1190,124,129,1138,124,42,1378,193,1377,0,1190,129,1189,1138,129,1137,42,677,201,1380,0,138,140,1191,138,140,1139,42,201,1371,1380,0,140,1182,1191,140,1132,1139,42,1380,202,681,0,1191,144,141,1139,144,141,42,202,1380,1371,0,144,1191,1182,144,1139,1132,42,1379,681,126,0,1192,141,147,1140,141,147,42,681,1379,1380,0,141,1192,1191,141,1140,1139,42,125,1380,1379,0,136,1191,1192,136,1139,1140,42,1380,125,677,0,1191,136,138,1139,136,138,42,674,1379,1382,0,131,1192,1193,131,1140,1141,42,1379,674,125,0,1192,131,136,1140,131,136,42,684,1382,1379,0,149,1193,1192,149,1141,1140,42,1379,126,684,0,1192,147,149,1140,147,149,42,206,1381,1382,0,151,1194,1193,151,1142,1141,42,206,1382,684,0,151,1193,149,151,1141,149,42,199,1382,1381,0,132,1193,1194,132,1141,1142,42,1382,199,674,0,1193,132,131,1141,132,131,42,1385,1375,1386,0,1195,1196,1197,1143,1136,1144,42,1375,1385,127,0,1196,1195,1198,1136,1143,145,42,1383,1386,1375,0,1199,1197,1196,1145,1144,1136,42,1375,128,1383,0,1196,121,1199,1136,121,1145,42,1384,1383,205,0,1200,1199,1201,1146,1145,1147,42,1383,1384,1386,0,1199,1200,1197,1145,1146,1144,42,195,1386,1384,0,1202,1197,1200,1148,1144,1146,42,1386,195,1385,0,1197,1202,1195,1144,1148,1143,42,1385,683,127,0,1203,150,145,1143,150,145,42,683,1385,1389,0,150,1203,1204,150,1143,1149,42,1387,1385,195,0,1205,1203,1206,1150,1143,1148,42,1385,1387,1389,0,1203,1205,1204,1143,1150,1149,42,196,1389,1387,0,1207,1204,1205,1151,1149,1150,42,1389,196,1388,0,1204,1207,1208,1149,1151,1152,42,1389,206,683,0,1204,151,150,1149,151,150,42,206,1389,1388,0,151,1204,1208,151,1149,1152,42,1383,686,1392,0,1199,154,1209,1145,154,1153,42,686,1383,128,0,154,1199,121,154,1145,121,42,1392,190,1390,0,1209,153,1210,1153,153,1154,42,190,1392,686,0,153,1209,154,153,1153,154,42,1391,1390,204,0,1211,1210,1212,1155,1154,1156,42,1390,1391,1392,0,1210,1211,1209,1154,1155,1153,42,205,1392,1391,0,1201,1209,1211,1147,1153,1155,42,1392,205,1383,0,1209,1201,1199,1153,1147,1145,42,1393,1396,174,0,1213,1214,1215,1157,1158,1159,42,174,1396,1395,0,1215,1214,1216,1159,1158,1160,42,173,1394,1393,0,1217,1218,1213,1161,1162,1157,42,1393,1394,1396,0,1213,1218,1214,1157,1162,1158,42,1394,170,1396,0,1218,158,1214,1162,158,1158,42,1396,170,691,0,1214,158,157,1158,158,157,42,1396,691,1395,0,1214,157,1216,1158,157,1160,42,1395,691,129,0,1216,157,162,1160,157,162,42,1397,1399,175,0,1219,1220,1221,1163,1164,1165,42,175,1399,1398,0,1221,1220,1222,1165,1164,1166,42,174,1395,1397,0,1215,1216,1219,1159,1160,1163,42,1397,1395,1399,0,1219,1216,1220,1163,1160,1164,42,1395,129,1399,0,1216,162,1220,1160,162,1164,42,1399,129,694,0,1220,162,163,1164,162,163,42,1399,694,1398,0,1220,163,1222,1164,163,1166,42,171,1398,694,0,166,1222,163,166,1166,163,42,1401,1400,1402,0,1223,1224,1225,1167,1168,1169,42,1400,1401,169,0,1224,1223,1226,1168,1167,1170,42,130,1402,1400,0,886,1225,1224,851,1169,1168,42,1402,130,1153,0,1225,886,884,1169,851,849,42,1153,1394,1402,0,884,1218,1225,849,1162,1169,42,1394,1153,170,0,1218,884,158,1162,849,158,42,1402,173,1401,0,1225,1217,1223,1169,1161,1167,42,173,1402,1394,0,1217,1225,1218,1161,1169,1162,42,1404,1403,1405,0,1227,1228,1229,1171,1172,1173,42,1403,1404,412,0,1228,1227,1230,1172,1171,1174,42,1405,131,1160,0,1229,896,895,1173,861,860,42,131,1405,1403,0,896,1229,1228,861,1173,1172,42,1400,1160,130,0,1224,895,886,1168,860,851,42,1160,1400,1405,0,895,1224,1229,860,1168,1173,42,169,1405,1400,0,1226,1229,1224,1170,1173,1168,42,1405,169,1404,0,1229,1226,1227,1173,1170,1171,42,1403,412,1408,0,1228,1230,1231,1172,1174,1175,42,412,1406,1408,0,1230,1232,1231,1174,1176,1175,42,164,1407,1406,0,1233,1234,1232,1177,1178,1176,42,1406,1407,1408,0,1232,1234,1231,1176,1178,1175,42,1407,160,1408,0,1234,220,1231,1178,220,1175,42,1408,160,1167,0,1231,220,903,1175,220,868,42,1408,1167,1403,0,1231,903,1228,1175,868,1172,42,131,1403,1167,0,896,1228,903,861,1172,868,42,1409,1411,163,0,1235,1236,1237,1179,1180,1181,42,1411,1409,1412,0,1236,1235,1238,1180,1179,1182,42,1410,1409,165,0,1239,1235,1240,1183,1179,1184,42,1409,1410,1412,0,1235,1239,1238,1179,1183,1182,42,1410,1169,1412,0,1239,906,1238,1183,871,1182,42,1169,1410,132,0,906,1239,907,871,1183,872,42,1412,159,1411,0,1238,212,1236,1182,212,1180,42,159,1412,1169,0,212,1238,906,212,1182,871,42,1415,132,1410,0,1241,907,1239,1185,872,1183,42,132,1415,1176,0,907,1241,916,872,1185,881,42,1413,1410,165,0,1242,1239,1240,1186,1183,1184,42,1413,1415,1410,0,1242,1241,1239,1186,1185,1183,42,1413,1414,1415,0,1242,1243,1241,1186,1187,1185,42,1414,1413,166,0,1243,1242,1244,1187,1186,1188,42,1414,1176,1415,0,1243,916,1241,1187,881,1185,42,1176,1414,133,0,916,1243,917,881,1187,882,42,1417,1184,1418,0,1245,926,1246,1189,891,1190,42,1184,1417,154,0,926,1245,173,891,1189,173,42,1418,133,1414,0,1246,917,1243,1190,882,1187,42,133,1418,1184,0,917,1246,926,882,1190,891,42,1416,1414,166,0,1247,1243,1244,1191,1187,1188,42,1414,1416,1418,0,1243,1247,1246,1187,1191,1190,42,158,1418,1416,0,1248,1246,1247,1192,1190,1191,42,1418,158,1417,0,1246,1248,1245,1190,1192,1189,42,1419,1417,158,0,1249,1245,1248,1193,1189,1192,42,1417,1419,1421,0,1245,1249,1250,1189,1193,1194,42,156,1421,1419,0,1251,1250,1249,1195,1194,1193,42,1421,156,1420,0,1250,1251,1252,1194,1195,1196,42,1420,698,1421,0,1252,167,1250,1196,167,1194,42,698,1420,134,0,167,1252,168,167,1196,168,42,1421,154,1417,0,1250,173,1245,1194,173,1189,42,154,1421,698,0,173,1250,167,173,1194,167,42,1422,1420,156,0,1253,1252,1251,1197,1196,1195,42,1420,1422,1424,0,1252,1253,1254,1196,1197,1198,42,157,1424,1422,0,1255,1254,1253,1199,1198,1197,42,1424,157,1423,0,1254,1255,1256,1198,1199,1200,42,1423,701,1424,0,1256,177,1254,1200,177,1198,42,701,1423,153,0,177,1256,175,177,1200,175,42,1424,134,1420,0,1254,168,1252,1198,168,1196,42,134,1424,701,0,168,1254,177,168,1198,177,42,1425,1423,157,0,1257,1256,1255,1201,1200,1199,42,1423,1425,1427,0,1256,1257,1258,1200,1201,1202,42,1426,1425,167,0,1259,1257,1260,1203,1201,1204,42,1425,1426,1427,0,1257,1259,1258,1201,1203,1202,42,1426,1189,1427,0,1259,933,1258,1203,898,1202,42,1189,1426,135,0,933,1259,934,898,1203,899,42,1427,153,1423,0,1258,175,1256,1202,175,1200,42,153,1427,1189,0,175,1258,933,175,1202,898,42,1429,1197,1430,0,1261,945,1262,1205,910,1206,42,1197,1429,136,0,945,1261,946,910,1205,911,42,1430,135,1426,0,1262,934,1259,1206,899,1203,42,135,1430,1197,0,934,1262,945,899,1206,910,42,1428,1426,167,0,1263,1259,1260,1207,1203,1204,42,1426,1428,1430,0,1259,1263,1262,1203,1207,1206,42,1429,1428,168,0,1261,1263,1264,1205,1207,1208,42,1428,1429,1430,0,1263,1261,1262,1207,1205,1206,42,1431,1429,168,0,1265,1261,1264,1209,1205,1208,42,1429,1431,1433,0,1261,1265,1266,1205,1209,1210,42,151,1433,1431,0,1267,1266,1265,1211,1210,1209,42,1433,151,1432,0,1266,1267,1268,1210,1211,1212,42,1432,1204,1433,0,1268,953,1266,1212,918,1210,42,1204,1432,148,0,953,1268,209,918,1212,209,42,1433,136,1429,0,1266,946,1261,1210,911,1205,42,136,1433,1204,0,946,1266,953,911,1210,918,42,1434,693,172,0,1269,165,161,1213,165,161,42,693,1434,1436,0,165,1269,1270,165,1213,1214,42,1434,1212,1436,0,1269,958,1270,1213,923,1214,42,1212,1434,558,0,958,1269,961,923,1213,926,42,137,1436,1212,0,966,1270,958,931,1214,923,42,1436,137,1435,0,1270,966,1271,1214,931,1215,42,1435,693,1436,0,1271,165,1270,1215,165,1214,42,693,1435,171,0,165,1271,166,165,1215,166,42,1437,1438,176,0,1272,1273,1274,1216,1217,1218,42,1438,1437,1439,0,1273,1272,1275,1217,1216,1219,42,175,1398,1437,0,1221,1222,1272,1165,1166,1216,42,1437,1398,1439,0,1272,1222,1275,1216,1166,1219,42,1398,171,1439,0,1222,166,1275,1166,166,1219,42,1439,171,1435,0,1275,166,1271,1219,166,1215,42,1439,1435,1438,0,1275,1271,1273,1219,1215,1217,42,1438,1435,137,0,1273,1271,966,1217,1215,931,42,1438,1211,1442,0,1273,964,1276,1217,929,1220,42,1211,1438,137,0,964,1273,966,929,1217,931,42,1442,138,1440,0,1276,965,1277,1220,930,1221,42,138,1442,1211,0,965,1276,964,930,1220,929,42,1441,1440,177,0,1278,1277,1279,1222,1221,1223,42,1440,1441,1442,0,1277,1278,1276,1221,1222,1220,42,176,1442,1441,0,1274,1276,1278,1218,1220,1222,42,1442,176,1438,0,1276,1274,1273,1220,1218,1217,42,1443,1444,178,0,1280,1281,1282,1224,1225,1226,42,1444,1443,1445,0,1281,1280,1283,1225,1224,1227,42,177,1445,1443,0,1284,1283,1280,1223,1227,1224,42,1445,177,1440,0,1283,1284,1285,1227,1223,1221,42,1440,1216,1445,0,1285,973,1283,1221,936,1227,42,1216,1440,138,0,973,1285,975,936,1221,930,42,1445,139,1444,0,1283,974,1281,1227,937,1225,42,139,1445,1216,0,974,1283,973,937,1227,936,42,1446,703,238,0,1286,181,179,1228,181,179,42,703,1446,1448,0,181,1286,1287,181,1228,1229,42,178,1448,1446,0,1282,1287,1286,1226,1229,1228,42,1448,178,1444,0,1287,1282,1281,1229,1226,1225,42,1444,1447,1448,0,1281,1288,1287,1225,1230,1229,42,1447,1444,139,0,1288,1281,974,1230,1225,937,42,1448,140,703,0,1287,182,181,1229,182,181,42,140,1448,1447,0,182,1287,1288,182,1229,1230,42,1215,1449,1451,0,972,1289,1290,935,1231,1232,42,1449,1215,523,0,1289,972,971,1231,935,934,42,1451,522,1450,0,1290,1291,1292,1232,1233,1234,42,522,1451,1449,0,1291,1290,1289,1233,1232,1231,42,1447,1450,140,0,1288,1292,182,1230,1234,182,42,1450,1447,1451,0,1292,1288,1290,1234,1230,1232,42,139,1451,1447,0,974,1290,1288,937,1232,1230,42,1451,139,1215,0,1290,974,972,1232,937,935,42,1455,1454,179,0,1293,1294,184,1235,1236,184,42,179,704,1455,0,184,183,1293,184,183,1235,42,1452,1455,704,0,1295,1293,183,1237,1235,183,42,704,140,1452,0,183,182,1295,183,182,1237,42,1453,1455,141,0,1296,1293,1297,1238,1235,1239,42,1455,1452,141,0,1293,1295,1297,1235,1237,1239,42,180,1454,1453,0,1298,1294,1296,1240,1236,1238,42,1454,1455,1453,0,1294,1293,1296,1236,1235,1238,42,1452,140,1458,0,1295,182,1299,1237,182,1241,42,140,1450,1458,0,182,1292,1299,182,1234,1241,42,1458,1450,1456,0,1299,1292,1300,1241,1234,1242,42,1450,522,1456,0,1292,1291,1300,1234,1233,1242,42,1457,1458,521,0,1301,1299,1302,1243,1241,1244,42,1458,1456,521,0,1299,1300,1302,1241,1242,1244,42,141,1452,1457,0,1297,1295,1301,1239,1237,1243,42,1452,1458,1457,0,1295,1299,1301,1237,1241,1243,42,1459,707,181,0,1303,188,186,1245,188,186,42,707,1459,1461,0,188,1303,1304,188,1245,1246,42,180,1461,1459,0,1298,1304,1303,1240,1246,1245,42,1461,180,1453,0,1304,1298,1296,1246,1240,1238,42,1453,1460,1461,0,1296,1305,1304,1238,1247,1246,42,1460,1453,141,0,1305,1296,1297,1247,1238,1239,42,1460,707,1461,0,1305,188,1304,1247,188,1246,42,707,1460,142,0,188,1305,189,188,1247,189,42,1464,520,1462,0,1306,1307,1308,1248,1249,1250,42,520,1464,1463,0,1307,1306,1309,1249,1248,1251,42,1460,1462,142,0,1305,1308,189,1247,1250,189,42,1462,1460,1464,0,1308,1305,1306,1250,1247,1248,42,141,1464,1460,0,1297,1306,1305,1239,1248,1247,42,1464,141,1457,0,1306,1297,1301,1248,1239,1243,42,1457,1463,1464,0,1301,1309,1306,1243,1251,1248,42,1463,1457,521,0,1309,1301,1302,1251,1243,1244,42,1467,1462,1468,0,1310,1308,1311,1252,1250,1253,42,1462,1467,142,0,1308,1310,189,1250,1252,189,42,1468,520,1465,0,1311,1307,1312,1253,1249,1254,42,520,1468,1462,0,1307,1311,1308,1249,1253,1250,42,1466,1465,519,0,1313,1312,1314,1255,1254,1256,42,1465,1466,1468,0,1312,1313,1311,1254,1255,1253,42,143,1468,1466,0,1315,1311,1313,1257,1253,1255,42,1468,143,1467,0,1311,1315,1310,1253,1257,1252,42,708,1467,1471,0,190,1310,1316,190,1252,1258,42,1467,708,142,0,1310,190,189,1252,190,189,42,1467,1469,1471,0,1310,1317,1316,1252,1259,1258,42,1469,1467,143,0,1317,1310,1315,1259,1252,1257,42,1471,183,1470,0,1316,1318,1319,1258,1260,1261,42,183,1471,1469,0,1318,1316,1317,1260,1258,1259,42,708,1470,182,0,190,1319,191,190,1261,191,42,1470,708,1471,0,1319,190,1316,1261,190,1258,42,1474,1466,1475,0,1320,1313,1321,1262,1255,1263,42,1466,1474,143,0,1313,1320,1315,1255,1262,1257,42,1475,519,1472,0,1321,1314,1322,1263,1256,1264,42,519,1475,1466,0,1314,1321,1313,1256,1263,1255,42,1473,1472,542,0,1323,1322,1324,1265,1264,1266,42,1472,1473,1475,0,1322,1323,1321,1264,1265,1263,42,144,1475,1473,0,196,1321,1323,196,1263,1265,42,1475,144,1474,0,1321,196,1320,1263,196,1262,42,1474,711,1477,0,1320,193,1325,1262,193,1267,42,711,1474,144,0,193,1320,196,193,1262,196,42,184,1477,711,0,195,1325,193,195,1267,193,42,1477,184,1476,0,1325,195,1326,1267,195,1268,42,1476,1469,1477,0,1326,1317,1325,1268,1259,1267,42,1469,1476,183,0,1317,1326,1318,1259,1268,1260,42,1477,143,1474,0,1325,1315,1320,1267,1257,1262,42,143,1477,1469,0,1315,1325,1317,1257,1267,1259,42,1478,1480,145,0,1327,1328,1329,1269,1270,1271,42,1480,1478,1481,0,1328,1327,1330,1270,1269,1272,42,515,1481,1478,0,1331,1330,1327,1273,1272,1269,42,1481,515,1479,0,1330,1331,1332,1272,1273,1274,42,1479,712,1481,0,1332,197,1330,1274,197,1272,42,712,1479,185,0,197,1332,198,197,1274,198,42,1481,144,1480,0,1330,196,1328,1272,196,1270,42,144,1481,712,0,196,1330,197,196,1272,197,42,1480,1473,1484,0,1328,1323,1333,1270,1265,1275,42,1473,1480,144,0,1323,1328,196,1265,1270,196,42,1484,1473,1482,0,1333,1323,1334,1275,1265,1276,42,1473,542,1482,0,1323,1324,1334,1265,1266,1276,42,1483,1482,518,0,1335,1334,1336,1277,1276,1278,42,1482,1483,1484,0,1334,1335,1333,1276,1277,1275,42,145,1484,1483,0,1329,1333,1335,1271,1275,1277,42,1484,145,1480,0,1333,1329,1328,1275,1271,1270,42,1487,1478,1488,0,1337,1327,1338,1279,1269,1280,42,1478,1487,515,0,1327,1337,1331,1269,1279,1273,42,1488,145,1485,0,1338,1329,1339,1280,1271,1281,42,145,1488,1478,0,1329,1338,1327,1271,1280,1269,42,1486,1485,516,0,1340,1339,1341,1282,1281,1283,42,1485,1486,1488,0,1339,1340,1338,1281,1282,1280,42,514,1488,1486,0,1342,1338,1340,1284,1280,1282,42,1488,514,1487,0,1338,1342,1337,1280,1284,1279,42,1489,1490,517,0,1343,1344,1345,1285,1286,1287,42,1490,1489,1491,0,1344,1343,1346,1286,1285,1288,42,516,1491,1489,0,1341,1346,1343,1283,1288,1285,42,1491,516,1485,0,1346,1341,1339,1288,1283,1281,42,1485,1483,1491,0,1339,1335,1346,1281,1277,1288,42,1483,1485,145,0,1335,1339,1329,1277,1281,1271,42,1491,518,1490,0,1346,1336,1344,1288,1278,1286,42,518,1491,1483,0,1336,1346,1335,1278,1288,1277,42,1494,717,1495,0,1347,199,1348,1289,199,1290,42,717,1494,147,0,199,1347,200,199,1289,200,42,1495,150,1492,0,1348,205,1349,1290,205,1291,42,150,1495,717,0,205,1348,199,205,1290,199,42,1493,1492,152,0,1350,1349,1351,1292,1291,1293,42,1492,1493,1495,0,1349,1350,1348,1291,1292,1290,42,146,1494,1493,0,1352,1347,1350,1294,1289,1292,42,1493,1494,1495,0,1350,1347,1348,1292,1289,1290,42,1498,1496,1499,0,1353,1354,1355,1295,1296,1297,42,1496,1498,478,0,1354,1353,1356,1296,1295,1298,42,1499,146,1493,0,1355,1352,1350,1297,1294,1292,42,146,1499,1496,0,1352,1355,1354,1294,1297,1296,42,1497,1499,152,0,1357,1355,1351,1299,1297,1293,42,1499,1493,152,0,1355,1350,1351,1297,1292,1293,42,477,1498,1497,0,1358,1353,1357,1300,1295,1299,42,1498,1499,1497,0,1353,1355,1357,1295,1297,1299,42,1494,1501,147,0,1347,1359,200,1289,1301,200,42,1501,1494,1502,0,1359,1347,1360,1301,1289,1302,42,146,1502,1494,0,1352,1360,1347,1294,1302,1289,42,1502,146,1500,0,1360,1352,1361,1302,1294,1303,42,1500,1486,1502,0,1361,1340,1360,1303,1282,1302,42,1486,1500,514,0,1340,1361,1342,1282,1303,1284,42,1502,516,1501,0,1360,1341,1359,1302,1283,1301,42,516,1502,1486,0,1341,1360,1340,1283,1302,1282,42,1505,1504,514,0,1362,1363,1342,1304,1305,1284,42,1505,514,1500,0,1362,1342,1361,1304,1284,1303,42,1496,1505,1500,0,1354,1362,1361,1296,1304,1303,42,1496,1500,146,0,1354,1361,1352,1296,1303,1294,42,478,1503,1505,0,1356,1364,1362,1298,1306,1304,42,478,1505,1496,0,1356,1362,1354,1298,1304,1296,42,1503,479,1504,0,1364,1365,1363,1306,1307,1305,42,1503,1504,1505,0,1364,1363,1362,1306,1305,1304,42,1506,715,1507,0,1366,202,1367,1308,202,1309,42,715,1506,149,0,202,1366,204,202,1308,204,42,1507,147,1501,0,1367,200,1359,1309,200,1301,42,147,1507,715,0,200,1367,202,200,1309,202,42,1501,1489,1507,0,1359,1343,1367,1301,1285,1309,42,1489,1501,516,0,1343,1359,1341,1285,1301,1283,42,517,1507,1489,0,1345,1367,1343,1287,1309,1285,42,1507,517,1506,0,1367,1345,1366,1309,1287,1308,42,1508,1432,151,0,1368,1268,1267,1310,1212,1211,42,1432,1508,1509,0,1268,1368,1369,1212,1310,1311,42,152,1509,1508,0,1351,1369,1368,1293,1311,1310,42,1509,152,1492,0,1369,1351,1349,1311,1293,1291,42,1492,720,1509,0,1349,206,1369,1291,206,1311,42,720,1492,150,0,206,1349,205,206,1291,205,42,1509,148,1432,0,1369,209,1268,1311,209,1212,42,148,1509,720,0,209,1369,206,209,1311,206,42,1506,1206,149,0,1366,955,204,1308,920,204,42,1206,1506,1512,0,955,1366,1370,920,1308,1312,42,517,1510,1506,0,1345,1371,1366,1287,1313,1308,42,1506,1510,1512,0,1366,1371,1370,1308,1313,1312,42,1510,571,1512,0,1371,1372,1370,1313,1314,1312,42,1512,571,1511,0,1370,1372,1373,1312,1314,1315,42,1512,569,1206,0,1370,957,955,1312,922,920,42,569,1512,1511,0,957,1370,1373,922,1312,1315,42,1497,1508,1515,0,1357,1368,1374,1299,1310,1316,42,1508,1497,152,0,1368,1357,1351,1310,1299,1293,42,1515,151,1513,0,1374,1267,1375,1316,1211,1317,42,151,1515,1508,0,1267,1374,1368,1211,1316,1310,42,1514,1513,484,0,1376,1375,1377,1318,1317,1319,42,1513,1514,1515,0,1375,1376,1374,1317,1318,1316,42,477,1515,1514,0,1358,1374,1376,1300,1316,1318,42,1515,477,1497,0,1374,1358,1357,1316,1300,1299,42,1516,1517,483,0,1378,1379,1380,1320,1321,1322,42,1517,1516,1518,0,1379,1378,1381,1321,1320,1323,42,484,1518,1516,0,1377,1381,1378,1319,1323,1320,42,1518,484,1513,0,1381,1377,1375,1323,1319,1317,42,1513,1431,1518,0,1375,1265,1381,1317,1209,1323,42,1431,1513,151,0,1265,1375,1267,1209,1317,1211,42,1518,168,1517,0,1381,1264,1379,1323,1208,1321,42,168,1518,1431,0,1264,1381,1265,1208,1323,1209,42,1521,1422,1522,0,1382,1253,1383,1324,1197,1325,42,1422,1521,157,0,1253,1382,1255,1197,1324,1199,42,1522,156,1519,0,1383,1251,1384,1325,1195,1326,42,156,1522,1422,0,1251,1383,1253,1195,1325,1197,42,1520,1519,447,0,1385,1384,1386,1327,1326,1328,42,1519,1520,1522,0,1384,1385,1383,1326,1327,1325,42,448,1522,1520,0,1387,1383,1385,1329,1325,1327,42,1522,448,1521,0,1383,1387,1382,1325,1329,1324,42,1519,1419,1525,0,1384,1249,1388,1326,1193,1330,42,1419,1519,156,0,1249,1384,1251,1193,1326,1195,42,1525,158,1523,0,1388,1248,1389,1330,1192,1331,42,158,1525,1419,0,1248,1388,1249,1192,1330,1193,42,1524,1523,446,0,1390,1389,1391,1332,1331,1333,42,1523,1524,1525,0,1389,1390,1388,1331,1332,1330,42,447,1525,1524,0,1386,1388,1390,1328,1330,1332,42,1525,447,1519,0,1388,1386,1384,1330,1328,1326,42,1527,1425,1528,0,1392,1257,1393,1334,1201,1335,42,1425,1527,167,0,1257,1392,1260,1201,1334,1204,42,1528,157,1521,0,1393,1255,1382,1335,1199,1324,42,157,1528,1425,0,1255,1393,1257,1199,1335,1201,42,1526,1521,448,0,1394,1382,1387,1336,1324,1329,42,1521,1526,1528,0,1382,1394,1393,1324,1336,1335,42,449,1528,1526,0,1395,1393,1394,1337,1335,1336,42,1528,449,1527,0,1393,1395,1392,1335,1337,1334,42,1529,1530,445,0,1396,1397,1398,1338,1339,1340,42,1530,1529,1531,0,1397,1396,1399,1339,1338,1341,42,446,1531,1529,0,1391,1399,1396,1333,1341,1338,42,1531,446,1523,0,1399,1391,1389,1341,1333,1331,42,1523,1416,1531,0,1389,1247,1399,1331,1191,1341,42,1416,1523,158,0,1247,1389,1248,1191,1331,1192,42,1531,166,1530,0,1399,1244,1397,1341,1188,1339,42,166,1531,1416,0,1244,1399,1247,1188,1341,1191,42,1532,1534,162,0,1400,1401,1402,1342,1343,1344,42,162,1534,1533,0,1402,1401,1403,1344,1343,1345,42,163,1534,1532,0,1237,1401,1400,1181,1343,1342,42,1534,163,1411,0,1401,1237,1236,1343,1181,1180,42,159,1534,1411,0,212,1401,1236,212,1343,1180,42,1534,159,724,0,1401,212,211,1343,212,211,42,1534,724,1533,0,1401,211,1403,1343,211,1345,42,1533,724,589,0,1403,211,216,1345,211,216,42,1535,1533,1536,0,1404,1403,1405,1346,1345,1347,42,1533,1535,162,0,1403,1404,1402,1345,1346,1344,42,1536,589,727,0,1405,216,217,1347,216,217,42,589,1536,1533,0,216,1405,1403,216,1347,1345,42,1407,727,160,0,1234,217,220,1178,217,220,42,727,1407,1536,0,217,1234,1405,217,1178,1347,42,164,1536,1407,0,1233,1405,1234,1177,1347,1178,42,1536,164,1535,0,1405,1233,1404,1347,1177,1346,42,1540,1539,163,0,1406,1407,1237,1348,1349,1181,42,1540,163,1532,0,1406,1237,1400,1348,1181,1342,42,1537,1540,1532,0,1408,1406,1400,1350,1348,1342,42,1537,1532,162,0,1408,1400,1402,1350,1342,1344,42,415,1538,1540,0,1409,1410,1406,1351,1352,1348,42,415,1540,1537,0,1409,1406,1408,1351,1348,1350,42,1538,416,1539,0,1410,1411,1407,1352,1353,1349,42,1538,1539,1540,0,1410,1407,1406,1352,1349,1348,42,1541,1543,414,0,1412,1413,1414,1354,1355,1356,42,414,1543,1542,0,1414,1413,1415,1356,1355,1357,42,415,1537,1541,0,1409,1408,1412,1351,1350,1354,42,1541,1537,1543,0,1412,1408,1413,1354,1350,1355,42,1537,162,1543,0,1408,1402,1413,1350,1344,1355,42,1543,162,1535,0,1413,1402,1404,1355,1344,1346,42,1543,1535,1542,0,1413,1404,1415,1355,1346,1357,42,1542,1535,164,0,1415,1404,1233,1357,1346,1177,42,1545,165,1546,0,1416,1240,1417,1358,1184,1359,42,165,1409,1546,0,1240,1235,1417,1184,1179,1359,42,1546,1409,1539,0,1417,1235,1407,1359,1179,1349,42,1409,163,1539,0,1235,1237,1407,1179,1181,1349,42,1544,1546,416,0,1418,1417,1411,1360,1359,1353,42,1546,1539,416,0,1417,1407,1411,1359,1349,1353,42,417,1545,1544,0,1419,1416,1418,1361,1358,1360,42,1545,1546,1544,0,1416,1417,1418,1358,1359,1360,42,1547,1548,413,0,1420,1421,1422,1362,1363,1364,42,1548,1547,1549,0,1421,1420,1423,1363,1362,1365,42,1542,1547,414,0,1415,1420,1414,1357,1362,1356,42,1547,1542,1549,0,1420,1415,1423,1362,1357,1365,42,1542,164,1549,0,1415,1233,1423,1357,1177,1365,42,1549,164,1406,0,1423,1233,1232,1365,1177,1176,42,1549,1406,1548,0,1423,1232,1421,1365,1176,1363,42,412,1548,1406,0,1230,1421,1232,1174,1363,1176,42,1553,1413,165,0,1424,1242,1240,1366,1186,1184,42,165,1550,1553,0,1240,1425,1424,1184,1367,1366,42,1553,240,1551,0,1424,1426,1427,1366,1368,1369,42,240,1553,1550,0,1426,1424,1425,1368,1366,1367,42,1551,1552,1553,0,1427,1428,1424,1369,1370,1366,42,1552,1551,239,0,1428,1427,1429,1370,1369,1371,42,1552,166,1413,0,1242,1424,1428,1370,1188,1186,42,1550,1545,1556,0,1425,1416,1430,1367,1358,1372,42,1545,1550,165,0,1416,1425,1240,1358,1367,1184,42,1556,417,1554,0,1430,1419,1431,1372,1361,1373,42,417,1556,1545,0,1419,1430,1416,1361,1372,1358,42,1555,1554,418,0,1432,1431,1433,1374,1373,1375,42,1554,1555,1556,0,1431,1432,1430,1373,1374,1372,42,240,1556,1555,0,1426,1430,1432,1368,1372,1374,42,1556,240,1550,0,1430,1426,1425,1372,1368,1367,42,1559,1530,1552,0,1434,1397,1428,1376,1339,1370,42,166,1552,1530,0,1244,1428,1397,1188,1370,1339,42,1559,239,1557,0,1434,1429,1435,1376,1371,1377,42,239,1559,1552,0,1429,1434,1428,1371,1376,1370,42,1558,1557,454,0,1436,1435,1437,1378,1377,1379,42,1557,1558,1559,0,1435,1436,1434,1377,1378,1376,42,445,1559,1558,0,1398,1434,1436,1340,1376,1378,42,1559,445,1530,0,1434,1398,1397,1376,1340,1339,42,1562,1560,1563,0,1438,1439,1440,1380,1381,1382,42,1560,1562,242,0,1439,1438,1441,1381,1380,1383,42,1563,1560,1561,0,1440,1439,1442,1382,1381,1384,42,241,1561,1560,0,1443,1442,1439,1385,1384,1381,42,168,1563,1561,0,1264,1440,1442,1208,1382,1384,42,1428,1563,168,0,1263,1440,1264,1207,1382,1208,42,167,1563,1428,0,1260,1440,1263,1204,1382,1207,42,1563,167,1562,0,1440,1260,1438,1382,1204,1380,42,1517,1561,1566,0,1379,1442,1444,1321,1384,1386,42,1561,1517,168,0,1442,1379,1264,1384,1321,1208,42,1566,241,1564,0,1444,1443,1445,1386,1385,1387,42,241,1566,1561,0,1443,1444,1442,1385,1386,1384,42,1565,1564,482,0,1446,1445,1447,1388,1387,1389,42,1564,1565,1566,0,1445,1446,1444,1387,1388,1386,42,483,1566,1565,0,1380,1444,1446,1322,1386,1388,42,1566,483,1517,0,1444,1380,1379,1386,1322,1321,42,1404,1569,412,0,1227,1448,1230,1171,1390,1174,42,1569,1404,1570,0,1448,1227,1449,1390,1171,1391,42,169,1567,1404,0,1226,1450,1227,1170,1392,1171,42,1404,1567,1570,0,1227,1450,1449,1171,1392,1391,42,1567,1568,1570,0,1450,1451,1449,1392,1393,1391,42,1568,1567,247,0,1451,1450,1452,1393,1392,1394,42,1570,256,1569,0,1449,1453,1448,1391,1395,1390,42,256,1570,1568,0,1453,1449,1451,1395,1391,1393,42,1574,1573,169,0,1454,1455,1226,1396,1397,1170,42,169,1401,1574,0,1226,1223,1454,1170,1167,1396,42,1571,1574,1401,0,1456,1454,1223,1398,1396,1167,42,1401,173,1571,0,1223,1217,1456,1167,1161,1398,42,1572,1574,407,0,1457,1454,1458,1399,1396,1400,42,407,1574,1571,0,1458,1454,1456,1400,1396,1398,42,408,1573,1572,0,1459,1455,1457,1401,1397,1399,42,1573,1574,1572,0,1455,1454,1457,1397,1396,1399,42,1567,1573,1577,0,1450,1455,1460,1392,1397,1402,42,1573,1567,169,0,1455,1450,1226,1397,1392,1170,42,1577,408,1575,0,1460,1459,1461,1402,1401,1403,42,408,1577,1573,0,1459,1460,1455,1401,1402,1397,42,1576,1575,409,0,1462,1461,1463,1404,1403,1405,42,1575,1576,1577,0,1461,1462,1460,1403,1404,1402,42,247,1577,1576,0,1452,1460,1462,1394,1402,1404,42,1577,247,1567,0,1460,1452,1450,1402,1394,1392,42,1579,1150,560,0,1464,881,882,1406,846,847,42,1579,560,1578,0,1464,882,1465,1406,847,1407,42,1579,559,1220,0,1464,979,976,1406,941,938,42,559,1579,1578,0,979,1464,1465,941,1406,1407,42,558,1434,1579,0,961,1269,1464,926,1213,1406,42,558,1579,1220,0,961,1464,976,926,1406,938,42,1434,172,1150,0,1269,161,881,1213,161,846,42,1434,1150,1579,0,1269,881,1464,1213,846,1406,42,1582,1571,173,0,1466,1456,1217,1408,1398,1161,42,1582,173,1393,0,1466,1217,1213,1408,1161,1157,42,1580,1582,1393,0,1467,1466,1213,1409,1408,1157,42,1580,1393,174,0,1467,1213,1215,1409,1157,1159,42,406,1581,1582,0,1468,1469,1466,1410,1411,1408,42,406,1582,1580,0,1468,1466,1467,1410,1408,1409,42,1581,407,1571,0,1469,1458,1456,1411,1400,1398,42,1581,1571,1582,0,1469,1456,1466,1411,1398,1408,42,1583,1584,405,0,1470,1471,1472,1412,1413,1414,42,1584,1583,1585,0,1471,1470,1473,1413,1412,1415,42,406,1580,1583,0,1468,1467,1470,1410,1409,1412,42,1583,1580,1585,0,1470,1467,1473,1412,1409,1415,42,1580,174,1585,0,1467,1215,1473,1409,1159,1415,42,1585,174,1397,0,1473,1215,1219,1415,1159,1163,42,1585,1397,1584,0,1473,1219,1471,1415,1163,1413,42,1584,1397,175,0,1471,1219,1221,1413,1163,1165,42,1586,1587,404,0,1474,1475,1476,1416,1417,1418,42,1587,1586,1588,0,1475,1474,1477,1417,1416,1419,42,405,1588,1586,0,1472,1477,1474,1414,1419,1416,42,1588,405,1584,0,1477,1472,1471,1419,1414,1413,42,1584,1437,1588,0,1471,1272,1477,1413,1216,1419,42,1437,1584,175,0,1272,1471,1221,1216,1413,1165,42,1588,176,1587,0,1477,1274,1475,1419,1218,1417,42,176,1588,1437,0,1274,1477,1272,1218,1419,1216,42,1589,1590,403,0,1478,1479,1480,1420,1421,1422,42,1590,1589,1591,0,1479,1478,1481,1421,1420,1423,42,404,1591,1589,0,1476,1481,1478,1418,1423,1420,42,1591,404,1587,0,1481,1476,1475,1423,1418,1417,42,1587,1441,1591,0,1475,1278,1481,1417,1222,1423,42,1441,1587,176,0,1278,1475,1274,1222,1417,1218,42,1591,177,1590,0,1481,1279,1479,1423,1223,1421,42,177,1591,1441,0,1279,1481,1278,1223,1423,1222,42,1590,1443,1594,0,1482,1280,1483,1421,1224,1424,42,1443,1590,177,0,1280,1482,1284,1224,1421,1223,42,1594,178,1592,0,1483,1282,1484,1424,1226,1425,42,178,1594,1443,0,1282,1483,1280,1226,1424,1224,42,1593,1592,411,0,1485,1484,1486,1426,1425,1427,42,1592,1593,1594,0,1484,1485,1483,1425,1426,1424,42,403,1594,1593,0,1487,1483,1485,1422,1424,1426,42,1594,403,1590,0,1483,1487,1482,1424,1422,1421,42,238,1597,1446,0,179,1488,1286,179,1428,1228,42,1597,238,1595,0,1488,179,1489,1428,179,1429,42,1596,1595,410,0,1490,1489,1491,1430,1429,1431,42,1595,1596,1597,0,1489,1490,1488,1429,1430,1428,42,411,1597,1596,0,1486,1488,1490,1427,1428,1430,42,1597,411,1592,0,1488,1486,1484,1428,1427,1425,42,1592,1446,1597,0,1484,1286,1488,1425,1228,1428,42,1446,1592,178,0,1286,1484,1282,1228,1425,1226,42,1599,705,1600,0,1492,178,1493,1432,178,1433,42,705,1599,238,0,178,1492,179,178,1432,179,42,1600,179,1598,0,1493,184,1494,1433,184,1434,42,179,1600,705,0,184,1493,178,184,1433,178,42,1568,1598,256,0,1495,1494,1496,1393,1434,1395,42,1598,1568,1600,0,1494,1495,1493,1434,1393,1433,42,247,1600,1568,0,1497,1493,1495,1394,1433,1393,42,1600,247,1599,0,1493,1497,1492,1433,1394,1432,42,1604,180,1601,0,1498,1298,1499,1435,1240,1436,42,180,1604,1454,0,1298,1498,1294,1240,1435,1236,42,1602,1601,420,0,1500,1499,1501,1437,1436,1438,42,1601,1602,1604,0,1499,1500,1498,1436,1437,1435,42,421,1604,1602,0,1502,1498,1500,1439,1435,1437,42,1604,421,1603,0,1498,1502,1503,1435,1439,1440,42,1603,1454,1604,0,1503,1294,1498,1440,1236,1435,42,1454,1603,179,0,1294,1503,184,1236,1440,184,42,1605,1606,422,0,1504,1505,1506,1441,1442,1443,42,1606,1605,1607,0,1505,1504,1507,1442,1441,1444,42,256,1607,1605,0,1496,1507,1504,1395,1444,1441,42,1607,256,1598,0,1507,1496,1494,1444,1395,1434,42,1603,1607,1598,0,1503,1507,1494,1440,1444,1434,42,1598,179,1603,0,1494,184,1503,1434,184,1440,42,1607,421,1606,0,1507,1502,1505,1444,1439,1442,42,421,1607,1603,0,1502,1507,1503,1439,1444,1440,42,181,1610,1459,0,186,1508,1303,186,1445,1245,42,1610,181,1608,0,1508,186,1509,1445,186,1446,42,1609,1608,419,0,1510,1509,1511,1447,1446,1448,42,1608,1609,1610,0,1509,1510,1508,1446,1447,1445,42,420,1610,1609,0,1501,1508,1510,1438,1445,1447,42,1610,420,1601,0,1508,1501,1499,1445,1438,1436,42,1601,1459,1610,0,1499,1303,1508,1436,1245,1445,42,1459,1601,180,0,1303,1499,1298,1245,1436,1240,42,1613,709,1611,0,1512,185,1513,1449,185,1450,42,182,1611,709,0,191,1513,185,191,1450,185,42,1551,1613,239,0,1513,1514,1515,1369,1449,1371,42,1551,1612,1613,0,1515,1516,1512,1369,1451,1449,42,1612,1551,240,0,1516,1515,1517,1451,1369,1368,42,1612,709,1613,0,1516,185,1512,1451,185,1449,42,709,1612,181,0,185,1516,186,185,1451,186,42,1608,1614,419,0,1509,1518,1511,1446,1452,1448,42,1614,1608,1615,0,1518,1509,1519,1452,1446,1453,42,181,1615,1608,0,186,1519,1509,186,1453,1446,42,1615,181,1612,0,1519,186,1516,1453,186,1451,42,1555,1615,240,0,1520,1519,1517,1374,1453,1368,42,240,1615,1612,0,1517,1519,1516,1368,1453,1451,42,418,1614,1555,0,1521,1518,1520,1375,1452,1374,42,1614,1615,1555,0,1518,1519,1520,1452,1453,1374,42,1616,1470,183,0,1522,1319,1318,1454,1261,1260,42,1470,1616,1619,0,1319,1522,1523,1261,1454,1455,42,452,1619,1616,0,1524,1523,1522,1456,1455,1454,42,1619,452,1617,0,1523,1524,1525,1455,1456,1457,42,1617,1618,1619,0,1525,1526,1523,1457,1458,1455,42,1618,1617,453,0,1526,1525,1527,1458,1457,1459,42,1619,182,1470,0,1523,191,1319,1455,191,1261,42,182,1619,1618,0,191,1523,1526,191,1455,1458,42,1557,1611,1621,0,1528,1513,1529,1377,1450,1460,42,1611,1557,239,0,1513,1528,1514,1450,1377,1371,42,182,1621,1611,0,191,1529,1513,191,1460,1450,42,1621,182,1618,0,1529,191,1526,1460,191,1458,42,453,1620,1621,0,1527,1530,1529,1459,1461,1460,42,453,1621,1618,0,1527,1529,1526,1459,1460,1458,42,454,1621,1620,0,1531,1529,1530,1379,1460,1461,42,1621,454,1557,0,1529,1531,1528,1460,1379,1377,42,1476,1622,1624,0,1326,1532,1533,1268,1462,1463,42,1622,1476,184,0,1532,1326,195,1462,1268,195,42,451,1624,1622,0,1534,1533,1532,1464,1463,1462,42,1624,451,1623,0,1533,1534,1535,1463,1464,1465,42,1623,1616,1624,0,1535,1522,1533,1465,1454,1463,42,1616,1623,452,0,1522,1535,1524,1454,1465,1456,42,1624,183,1476,0,1533,1318,1326,1463,1260,1268,42,183,1624,1616,0,1318,1533,1522,1260,1463,1454,42,713,1625,1627,0,192,1536,1537,192,1466,1467,42,1625,713,185,0,1536,192,198,1466,192,198,42,1627,241,1560,0,1537,1538,1539,1467,1385,1381,42,241,1627,1625,0,1538,1537,1536,1385,1467,1466,42,1560,1626,1627,0,1539,1540,1537,1381,1468,1467,42,1626,1560,242,0,1540,1539,1541,1468,1381,1383,42,1626,713,1627,0,1540,192,1537,1468,192,1467,42,713,1626,184,0,192,1540,195,192,1468,195,42,1631,1630,185,0,1542,1543,198,1469,1470,198,42,1631,185,1479,0,1542,198,1332,1469,198,1274,42,1628,1631,1479,0,1544,1542,1332,1471,1469,1274,42,1628,1479,515,0,1544,1332,1331,1471,1274,1273,42,480,1629,1631,0,1545,1546,1542,1472,1473,1469,42,480,1631,1628,0,1545,1542,1544,1472,1469,1471,42,1629,481,1630,0,1546,1547,1543,1473,1474,1470,42,1629,1630,1631,0,1546,1543,1542,1473,1470,1469,42,1564,1625,1633,0,1548,1536,1549,1387,1466,1475,42,1625,1564,241,0,1536,1548,1538,1466,1387,1385,42,1630,1625,185,0,1543,1536,198,1470,1466,198,42,1625,1630,1633,0,1536,1543,1549,1466,1470,1475,42,481,1632,1633,0,1547,1550,1549,1474,1476,1475,42,481,1633,1630,0,1547,1549,1543,1474,1475,1470,42,482,1633,1632,0,1551,1549,1550,1389,1475,1476,42,1633,482,1564,0,1549,1551,1548,1475,1389,1387,42,1634,1636,355,0,1552,1553,1554,1477,1478,1479,42,1636,1634,1637,0,1553,1552,1555,1478,1477,1480,42,1635,1634,186,0,1556,1552,1557,1481,1477,1482,42,1634,1635,1637,0,1552,1556,1555,1477,1481,1480,42,231,1637,1635,0,262,1555,1556,262,1480,1481,42,1637,231,756,0,1555,262,264,1480,262,264,42,1637,354,1636,0,1555,267,1553,1480,267,1478,42,354,1637,756,0,267,1555,264,267,1480,264,42,1640,1634,355,0,1558,1552,1554,1483,1477,1479,42,1640,355,1638,0,1558,1554,1559,1483,1479,1484,42,749,1640,1638,0,250,1558,1559,250,1483,1484,42,749,1638,356,0,250,1559,251,250,1484,251,42,230,1639,1640,0,256,1560,1558,256,1485,1483,42,230,1640,749,0,256,1558,250,256,1483,250,42,1639,186,1634,0,1560,1557,1552,1485,1482,1477,42,1639,1634,1640,0,1560,1552,1558,1485,1477,1483,42,1643,1642,186,0,1561,1562,1557,1486,1487,1482,42,1643,186,1639,0,1561,1557,1560,1486,1482,1485,42,752,1643,1639,0,258,1561,1560,258,1486,1485,42,752,1639,230,0,258,1560,256,258,1485,256,42,423,1641,1643,0,260,1563,1561,260,1488,1486,42,423,1643,752,0,260,1561,258,260,1486,258,42,1641,358,1642,0,1563,1564,1562,1488,1489,1487,42,1641,1642,1643,0,1563,1562,1561,1488,1487,1486,42,759,1645,359,0,268,1565,271,268,1490,271,42,1644,359,1645,0,1566,271,1565,1491,271,1490,42,231,1635,759,0,262,1556,268,262,1481,268,42,1645,759,1635,0,1565,268,1556,1490,268,1481,42,1635,186,1645,0,1556,1557,1565,1481,1482,1490,42,1642,1645,186,0,1562,1565,1557,1487,1490,1482,42,1645,1642,1644,0,1565,1562,1566,1490,1487,1491,42,358,1644,1642,0,1564,1566,1562,1489,1491,1487,42,1646,1649,187,0,1567,1568,1569,1492,1493,1494,42,1648,187,1649,0,1570,1569,1568,1495,1494,1493,42,1649,1646,1647,0,1568,1567,1571,1493,1492,1496,42,1646,265,1647,0,1567,1572,1571,1492,1497,1496,42,763,1649,264,0,272,1568,275,272,1493,275,42,1649,1647,264,0,1568,1571,275,1493,1496,275,42,1649,763,1648,0,1568,272,1570,1493,272,1495,42,232,1648,763,0,278,1570,272,278,1495,272,42,1652,265,1646,0,1573,1572,1567,1498,1497,1492,42,265,1652,1651,0,1572,1573,1574,1497,1498,1499,42,1650,1646,187,0,1575,1567,1569,1500,1492,1494,42,1646,1650,1652,0,1567,1575,1573,1492,1500,1498,42,1650,770,1652,0,1575,286,1573,1500,286,1498,42,770,1650,233,0,286,1575,285,286,1500,285,42,1652,266,1651,0,1573,289,1574,1498,289,1499,42,266,1652,770,0,289,1573,286,289,1498,286,42,1655,232,766,0,1576,278,280,1501,278,280,42,232,1655,1648,0,278,1576,1570,278,1501,1495,42,1653,766,336,0,1577,280,282,1502,280,282,42,766,1653,1655,0,280,1577,1576,280,1502,1501,42,455,1655,1653,0,1578,1576,1577,1503,1501,1502,42,1655,455,1654,0,1576,1578,1579,1501,1503,1504,42,1654,1648,1655,0,1579,1570,1576,1504,1495,1501,42,1648,1654,187,0,1570,1579,1569,1495,1504,1494,42,773,1650,1657,0,291,1575,1580,291,1500,1505,42,1650,773,233,0,1575,291,285,1500,291,285,42,1657,187,1654,0,1580,1569,1579,1505,1494,1504,42,187,1657,1650,0,1569,1580,1575,1494,1505,1500,42,1656,1654,455,0,1581,1579,1578,1506,1504,1503,42,1654,1656,1657,0,1579,1581,1580,1504,1506,1505,42,337,1657,1656,0,292,1580,1581,292,1505,1506,42,1657,337,773,0,1580,292,291,1505,292,291,42,1658,777,234,0,1582,295,300,1507,295,300,42,777,1658,1660,0,295,1582,1583,295,1507,1508,42,188,1660,1658,0,222,1583,1582,222,1508,1507,42,1660,188,731,0,1583,222,224,1508,222,224,42,731,1659,1660,0,224,1584,1583,224,1509,1508,42,1659,731,345,0,1584,224,227,1509,224,227,42,1660,344,777,0,1583,296,295,1508,296,295,42,344,1660,1659,0,296,1583,1584,296,1508,1509,42,1661,485,1662,0,1585,231,1586,1510,231,1511,42,485,734,1662,0,231,228,1586,231,228,1511,42,1662,734,1658,0,1586,228,1582,1511,228,1507,42,734,188,1658,0,228,222,1582,228,222,1507,42,780,1658,234,0,302,1582,300,302,1507,300,42,1658,780,1662,0,1582,302,1586,1507,302,1511,42,347,1661,780,0,304,1585,302,304,1510,302,42,1661,1662,780,0,1585,1586,302,1510,1511,302,42,1665,1663,1666,0,1587,1588,1589,1512,1513,1514,42,1663,1665,369,0,1588,1587,1590,1513,1512,1515,42,1666,368,791,0,1589,319,316,1514,319,316,42,368,1666,1663,0,319,1589,1588,319,1514,1513,42,237,1664,1666,0,322,1591,1589,322,1516,1514,42,237,1666,791,0,322,1589,316,322,1514,316,42,189,1666,1664,0,1592,1589,1591,1517,1514,1516,42,1666,189,1665,0,1589,1592,1587,1514,1517,1512,42,1669,369,1665,0,1593,1590,1587,1518,1515,1512,42,369,1669,1668,0,1590,1593,1594,1515,1518,1519,42,1667,1665,189,0,1595,1587,1592,1520,1512,1517,42,1665,1667,1669,0,1587,1595,1593,1512,1520,1518,42,236,1669,1667,0,306,1593,1595,306,1518,1520,42,1669,236,784,0,1593,306,308,1518,306,308,42,1669,370,1668,0,1593,311,1594,1518,311,1519,42,370,1669,784,0,311,1593,308,311,1518,308,42,1672,189,1670,0,1596,1592,1597,1521,1517,1522,42,189,1672,1667,0,1592,1596,1595,1517,1521,1520,42,1671,1670,373,0,1598,1597,1599,1523,1522,1524,42,1670,1671,1672,0,1597,1598,1596,1522,1523,1521,42,372,1672,1671,0,315,1596,1598,315,1521,1523,42,1672,372,787,0,1596,315,312,1521,315,312,42,787,1667,1672,0,312,1595,1596,312,1520,1521,42,1667,787,236,0,1595,312,306,1520,312,306,42,1673,1670,1674,0,1600,1597,1601,1525,1522,1526,42,1670,1673,373,0,1597,1600,1599,1522,1525,1524,42,1674,189,1664,0,1601,1592,1591,1526,1517,1516,42,189,1674,1670,0,1592,1601,1597,1517,1526,1522,42,794,1664,237,0,324,1591,322,324,1516,322,42,1664,794,1674,0,1591,324,1601,1516,324,1526,42,374,1674,794,0,326,1601,324,326,1526,324,42,1674,374,1673,0,1601,326,1600,1526,326,1525,42,737,1377,193,0,233,1189,129,233,1137,129,42,1377,737,1676,0,1189,233,1602,1137,233,1527,42,191,1676,737,0,235,1602,233,235,1527,233,42,1676,191,1675,0,1602,235,1603,1527,235,1528,42,1675,687,1676,0,1603,155,1602,1528,155,1527,42,687,1675,190,0,155,1603,153,155,1528,153,42,1676,194,1377,0,1602,117,1189,1527,117,1137,42,194,1676,687,0,117,1602,155,117,1527,155,42,1677,1675,191,0,1604,1603,235,1529,1528,235,42,1675,1677,1679,0,1603,1604,1605,1528,1529,1530,42,203,1679,1677,0,1606,1605,1604,1531,1530,1529,42,1679,203,1678,0,1605,1606,1607,1530,1531,1532,42,204,1679,1678,0,1212,1605,1607,1156,1530,1532,42,1679,204,1390,0,1605,1212,1210,1530,1156,1154,42,1679,190,1675,0,1605,153,1603,1530,153,1528,42,190,1679,1390,0,153,1605,1210,153,1530,1154,42,1680,736,192,0,1608,234,127,1533,234,127,42,736,1680,1682,0,234,1608,1609,234,1533,1534,42,207,1682,1680,0,1610,1609,1608,1535,1534,1533,42,1682,207,1681,0,1609,1610,1611,1534,1535,1536,42,1681,1677,1682,0,1611,1604,1609,1536,1529,1534,42,1677,1681,203,0,1604,1611,1606,1529,1536,1531,42,1682,191,736,0,1609,235,234,1534,235,234,42,191,1682,1677,0,235,1609,1604,235,1534,1529,42,1683,1685,198,0,1612,1613,1614,1537,1538,1539,42,198,1685,1684,0,1614,1613,1615,1539,1538,1540,42,207,1680,1683,0,1616,1617,1612,1535,1533,1537,42,1683,1680,1685,0,1612,1617,1613,1537,1533,1538,42,1680,192,1685,0,1617,1177,1613,1533,127,1538,42,1685,192,1366,0,1613,1177,1175,1538,127,1127,42,1685,1366,1684,0,1613,1175,1615,1538,1127,1540,42,1684,1366,200,0,1615,1175,134,1540,1127,134,42,1688,1384,1689,0,1618,1200,1619,1541,1146,1542,42,1384,1688,195,0,1200,1618,1202,1146,1541,1148,42,1689,205,1686,0,1619,1201,1620,1542,1147,1543,42,205,1689,1384,0,1201,1619,1200,1147,1542,1146,42,1687,1686,210,0,1621,1620,1622,1544,1543,1545,42,1686,1687,1689,0,1620,1621,1619,1543,1544,1542,42,211,1689,1687,0,1623,1619,1621,1546,1542,1544,42,1689,211,1688,0,1619,1623,1618,1542,1546,1541,42,1690,1688,211,0,1624,1625,1626,1547,1541,1546,42,1688,1690,1692,0,1625,1624,1627,1541,1547,1548,42,212,1692,1690,0,1628,1627,1624,1549,1548,1547,42,1692,212,1691,0,1627,1628,1629,1548,1549,1550,42,1691,1387,1692,0,1629,1205,1627,1550,1150,1548,42,1387,1691,196,0,1205,1629,1207,1150,1550,1151,42,1692,195,1688,0,1627,1206,1625,1548,1148,1541,42,195,1692,1387,0,1206,1627,1205,1148,1548,1150,42,1694,1381,1695,0,1630,1194,1631,1551,1142,1552,42,1381,1694,199,0,1194,1630,132,1142,1551,132,42,1695,206,1388,0,1631,151,1208,1552,151,1152,42,206,1695,1381,0,151,1631,1194,151,1552,1142,42,1693,1388,196,0,1632,1208,1207,1553,1152,1151,42,1388,1693,1695,0,1208,1632,1631,1152,1553,1552,42,197,1695,1693,0,1633,1631,1632,1554,1552,1553,42,1695,197,1694,0,1631,1633,1630,1552,1554,1551,42,1696,1691,212,0,1634,1629,1628,1555,1550,1549,42,1691,1696,1698,0,1629,1634,1635,1550,1555,1556,42,1697,1696,213,0,1636,1634,1637,1557,1555,1558,42,1696,1697,1698,0,1634,1636,1635,1555,1557,1556,42,1697,1693,1698,0,1636,1632,1635,1557,1553,1556,42,1693,1697,197,0,1632,1636,1633,1553,1557,1554,42,1698,196,1691,0,1635,1207,1629,1556,1151,1550,42,196,1698,1693,0,1207,1635,1632,1151,1556,1553,42,672,1684,200,0,130,1615,134,130,1540,134,42,1684,672,1700,0,1615,130,1638,1540,130,1559,42,1700,199,1694,0,1638,132,1630,1559,132,1551,42,199,1700,672,0,132,1638,130,132,1559,130,42,1699,1694,197,0,1639,1630,1633,1560,1551,1554,42,1694,1699,1700,0,1630,1639,1638,1551,1560,1559,42,198,1700,1699,0,1614,1638,1639,1539,1559,1560,42,1700,198,1684,0,1638,1614,1615,1559,1539,1540,42,1701,1702,214,0,1640,1641,1642,1561,1562,1563,42,1702,1701,1703,0,1641,1640,1643,1562,1561,1564,42,198,1703,1701,0,1614,1643,1640,1539,1564,1561,42,1703,198,1699,0,1643,1614,1639,1564,1539,1560,42,1697,1699,197,0,1636,1639,1633,1557,1560,1554,42,1699,1697,1703,0,1639,1636,1643,1560,1557,1564,42,1703,213,1702,0,1643,1637,1641,1564,1558,1562,42,213,1703,1697,0,1637,1643,1636,1558,1564,1557,42,1704,1705,215,0,1644,1645,1646,1565,1566,1567,42,1705,1704,1706,0,1645,1644,1647,1566,1565,1568,42,207,1706,1704,0,1616,1647,1644,1535,1568,1565,42,1706,207,1683,0,1647,1616,1612,1568,1535,1537,42,1683,1701,1706,0,1612,1640,1647,1537,1561,1568,42,1701,1683,198,0,1640,1612,1614,1561,1537,1539,42,1706,214,1705,0,1647,1642,1645,1568,1563,1566,42,214,1706,1701,0,1642,1647,1640,1563,1568,1561,42,1704,1681,207,0,1648,1611,1610,1565,1536,1535,42,1681,1704,1709,0,1611,1648,1649,1536,1565,1569,42,215,1709,1704,0,1650,1649,1648,1567,1569,1565,42,1709,215,1707,0,1649,1650,1651,1569,1567,1570,42,1707,1708,1709,0,1651,1652,1649,1570,1571,1569,42,1708,1707,208,0,1652,1651,1653,1571,1570,1572,42,1709,203,1681,0,1649,1606,1611,1569,1531,1536,42,203,1709,1708,0,1606,1649,1652,1531,1569,1571,42,1708,1678,203,0,1652,1607,1606,1571,1532,1531,42,1678,1708,1712,0,1607,1652,1654,1532,1571,1573,42,208,1712,1708,0,1653,1654,1652,1572,1573,1571,42,1712,208,1710,0,1654,1653,1655,1573,1572,1574,42,209,1712,1710,0,1656,1654,1655,1575,1573,1574,42,1712,209,1711,0,1654,1656,1657,1573,1575,1576,42,1711,1678,1712,0,1657,1607,1654,1576,1532,1573,42,1678,1711,204,0,1607,1657,1212,1532,1576,1156,42,1686,1391,1714,0,1620,1211,1658,1543,1155,1577,42,1391,1686,205,0,1211,1620,1201,1155,1543,1147,42,1714,204,1711,0,1658,1212,1657,1577,1156,1576,42,204,1714,1391,0,1212,1658,1211,1156,1577,1155,42,1713,1711,209,0,1659,1657,1656,1578,1576,1575,42,1711,1713,1714,0,1657,1659,1658,1576,1578,1577,42,210,1714,1713,0,1622,1658,1659,1545,1577,1578,42,1714,210,1686,0,1658,1622,1620,1577,1545,1543,42,1717,1710,1718,0,1660,1655,1661,1579,1574,1580,42,1710,1717,209,0,1655,1660,1656,1574,1579,1575,42,1710,1715,1718,0,1655,1662,1661,1574,1581,1580,42,1715,1710,208,0,1662,1655,1653,1581,1574,1572,42,216,1716,1718,0,236,1663,1661,236,1582,1580,42,216,1718,1715,0,236,1661,1662,236,1580,1581,42,217,1718,1716,0,1664,1661,1663,1583,1580,1582,42,1718,217,1717,0,1661,1664,1660,1580,1583,1579,42,1707,1719,1720,0,1651,1665,1666,1570,1584,1585,42,1719,1707,215,0,1665,1651,1650,1584,1570,1567,42,1720,223,739,0,1666,241,237,1585,241,237,42,223,1720,1719,0,241,1666,1665,241,1585,1584,42,739,1715,1720,0,237,1662,1666,237,1581,1585,42,1715,739,216,0,1662,237,236,1581,237,236,42,1720,208,1707,0,1666,1653,1651,1585,1572,1570,42,208,1720,1715,0,1653,1666,1662,1572,1585,1581,42,1722,1713,1723,0,1667,1659,1668,1586,1578,1587,42,1713,1722,210,0,1659,1667,1622,1578,1586,1545,42,1723,209,1717,0,1668,1656,1660,1587,1575,1579,42,209,1723,1713,0,1656,1668,1659,1575,1587,1578,42,1721,1717,217,0,1669,1660,1664,1588,1579,1583,42,1717,1721,1723,0,1660,1669,1668,1579,1588,1587,42,218,1723,1721,0,249,1668,1669,249,1587,1588,42,1723,218,1722,0,1668,249,1667,1587,249,1586,42,1724,1687,1725,0,1670,1621,1671,1589,1544,1590,42,1687,1724,211,0,1621,1670,1623,1544,1589,1546,42,1725,210,1722,0,1671,1622,1667,1590,1545,1586,42,210,1725,1687,0,1622,1671,1621,1545,1590,1544,42,744,1722,218,0,247,1667,249,247,1586,249,42,1722,744,1725,0,1667,247,1671,1586,247,1590,42,219,1725,744,0,248,1671,247,248,1590,247,42,1725,219,1724,0,1671,248,1670,1590,248,1589,42,1727,1690,1728,0,1672,1624,1673,1591,1547,1592,42,1690,1727,212,0,1624,1672,1628,1547,1591,1549,42,1728,211,1724,0,1673,1626,1674,1592,1546,1589,42,211,1728,1690,0,1626,1673,1624,1546,1592,1547,42,1726,1724,219,0,1675,1674,1676,1593,1589,248,42,1724,1726,1728,0,1674,1675,1673,1589,1593,1592,42,220,1728,1726,0,1677,1673,1675,1594,1592,1593,42,1728,220,1727,0,1673,1677,1672,1592,1594,1591,42,1730,213,1731,0,1678,1637,1679,1595,1558,1596,42,213,1696,1731,0,1637,1634,1679,1558,1555,1596,42,1731,212,1727,0,1679,1628,1672,1596,1549,1591,42,212,1731,1696,0,1628,1679,1634,1549,1596,1555,42,1729,1727,220,0,1680,1672,1677,1597,1591,1594,42,1727,1729,1731,0,1672,1680,1679,1591,1597,1596,42,221,1730,1729,0,1681,1678,1680,1598,1595,1597,42,1730,1731,1729,0,1678,1679,1680,1595,1596,1597,42,1702,1730,1734,0,1641,1678,1682,1562,1595,1599,42,1730,1702,213,0,1678,1641,1637,1595,1562,1558,42,1734,221,1732,0,1682,1681,1683,1599,1598,1600,42,221,1734,1730,0,1681,1682,1678,1598,1599,1595,42,1733,1732,222,0,1684,1683,1685,1601,1600,1602,42,1732,1733,1734,0,1683,1684,1682,1600,1601,1599,42,214,1734,1733,0,1642,1682,1684,1563,1599,1601,42,1734,214,1702,0,1682,1642,1641,1599,1563,1562,42,1705,1733,1736,0,1645,1684,1686,1566,1601,1603,42,1733,1705,214,0,1684,1645,1642,1601,1566,1563,42,1736,222,1735,0,1686,1685,1687,1603,1602,1604,42,222,1736,1733,0,1685,1686,1684,1602,1603,1601,42,1719,1735,223,0,1688,1687,1689,1584,1604,241,42,1735,1719,1736,0,1687,1688,1686,1604,1584,1603,42,215,1736,1719,0,1646,1686,1688,1567,1603,1584,42,1736,215,1705,0,1686,1646,1645,1603,1567,1566,42,1739,1738,224,0,1690,1691,1692,1605,1606,1607,42,1739,224,1737,0,1690,1692,1693,1605,1607,1608,42,1739,1737,1716,0,1690,1693,1663,1605,1608,1582,42,1737,217,1716,0,1693,1664,1663,1608,1583,1582,42,741,1716,216,0,239,1663,236,239,1582,236,42,1716,741,1739,0,1663,239,1690,1582,239,1605,42,741,226,1738,0,239,242,1691,239,242,1606,42,741,1738,1739,0,239,1691,1690,239,1606,1605,42,1737,1740,1741,0,1693,1694,1695,1608,1609,1610,42,1740,1737,224,0,1694,1693,1692,1609,1608,1607,42,745,1741,1740,0,244,1695,1694,244,1610,1609,42,745,1740,225,0,244,1694,245,244,1609,245,42,745,1721,1741,0,244,1669,1695,244,1588,1610,42,1721,745,218,0,1669,244,249,1588,244,249,42,1741,217,1737,0,1695,1664,1693,1610,1583,1608,42,217,1741,1721,0,1664,1695,1669,1583,1610,1588,42,1742,743,225,0,1696,1697,1698,1611,243,245,42,743,1742,1744,0,1697,1696,1699,243,1611,1612,42,228,1744,1742,0,1700,1699,1696,1613,1612,1611,42,1744,228,1743,0,1699,1700,1701,1612,1613,1614,42,1743,1726,1744,0,1701,1675,1699,1614,1593,1612,42,1726,1743,220,0,1675,1701,1677,1593,1614,1594,42,1744,219,743,0,1699,1676,1697,1612,248,243,42,219,1744,1726,0,1676,1699,1675,248,1612,1593,42,1745,1746,229,0,1702,1703,1704,1615,1616,1617,42,1746,1745,1747,0,1703,1702,1705,1616,1615,1618,42,221,1747,1745,0,1681,1705,1702,1598,1618,1615,42,1747,221,1729,0,1705,1681,1680,1618,1598,1597,42,220,1743,1747,0,1677,1701,1705,1594,1614,1618,42,1747,1729,220,0,1705,1680,1677,1618,1597,1594,42,1747,228,1746,0,1705,1700,1703,1618,1613,1616,42,228,1747,1743,0,1700,1705,1701,1613,1618,1614,42,1750,229,1748,0,1706,1704,1707,1619,1617,1620,42,229,1750,1745,0,1704,1706,1702,1617,1619,1615,42,227,1750,1748,0,1708,1706,1707,1621,1619,1620,42,1750,227,1749,0,1706,1708,1709,1619,1621,1622,42,222,1750,1749,0,1685,1706,1709,1602,1619,1622,42,1750,222,1732,0,1706,1685,1683,1619,1602,1600,42,1732,1745,1750,0,1683,1702,1706,1600,1615,1619,42,1745,1732,221,0,1702,1683,1681,1615,1600,1598,42,740,1751,226,0,1710,1711,1712,240,1623,242,42,1751,740,1752,0,1711,1710,1713,1623,240,1624,42,223,1752,740,0,1689,1713,1710,241,1624,240,42,1752,223,1735,0,1713,1689,1687,1624,241,1604,42,1749,1735,222,0,1709,1687,1685,1622,1604,1602,42,1735,1749,1752,0,1687,1709,1713,1604,1622,1624,42,227,1752,1749,0,1708,1713,1709,1621,1624,1622,42,1752,227,1751,0,1713,1708,1711,1624,1621,1623,42,1738,1753,224,0,1714,1715,1716,1606,1625,1607,42,1753,1738,1754,0,1715,1714,1717,1625,1606,1626,42,1754,226,1751,0,1717,1712,1711,1626,242,1623,42,226,1754,1738,0,1712,1717,1714,242,1626,1606,42,1748,1751,227,0,1707,1711,1708,1620,1623,1621,42,1751,1748,1754,0,1711,1707,1717,1623,1620,1626,42,1754,229,1753,0,1717,1704,1715,1626,1617,1625,42,229,1754,1748,0,1704,1717,1707,1617,1626,1620,42,730,1755,1757,0,226,1718,1719,226,1627,1628,42,1755,730,235,0,1718,226,225,1627,226,225,42,1757,478,1498,0,1719,1356,1353,1628,1298,1295,42,478,1757,1755,0,1356,1719,1718,1298,1628,1627,42,1756,1498,477,0,1720,1353,1358,1629,1295,1300,42,1498,1756,1757,0,1353,1720,1719,1295,1629,1628,42,345,1757,1756,0,227,1719,1720,227,1628,1629,42,1757,345,730,0,1719,227,226,1628,227,226,42,1760,1759,479,0,1721,1722,1365,1630,1631,1307,42,1760,479,1503,0,1721,1365,1364,1630,1307,1306,42,1755,1760,1503,0,1718,1721,1364,1627,1630,1306,42,1755,1503,478,0,1718,1364,1356,1627,1306,1298,42,235,1758,1760,0,225,1723,1721,225,1632,1630,42,235,1760,1755,0,225,1721,1718,225,1630,1627,42,1758,260,1759,0,1723,1724,1722,1632,1633,1631,42,1758,1759,1760,0,1723,1722,1721,1632,1631,1630,42,1764,1763,260,0,1725,1726,1724,1634,1635,1633,42,1764,260,1758,0,1725,1724,1723,1634,1633,1632,42,1764,1758,1761,0,1725,1723,1727,1634,1632,1636,42,1758,235,1761,0,1723,225,1727,1632,225,1636,42,1762,1761,487,0,1728,1727,1729,1637,1636,1638,42,1761,1762,1764,0,1727,1728,1725,1636,1637,1634,42,488,1763,1762,0,1730,1726,1728,1639,1635,1637,42,1762,1763,1764,0,1728,1726,1725,1637,1635,1634,42,733,1761,235,0,229,1727,225,229,1636,225,42,1761,733,1767,0,1727,229,1731,1636,229,1640,42,1767,485,1765,0,1731,231,1732,1640,231,1641,42,485,1767,733,0,231,1731,229,231,1640,229,42,1766,1765,486,0,1733,1732,1734,1642,1641,1643,42,1765,1766,1767,0,1732,1733,1731,1641,1642,1640,42,487,1767,1766,0,1729,1731,1733,1638,1640,1642,42,1767,487,1761,0,1731,1729,1727,1640,1638,1636,42,1595,1599,1769,0,1489,1492,1735,1429,1432,1644,42,1599,1595,238,0,1492,1489,179,1432,1429,179,42,1576,1769,1599,0,1736,1735,1492,1404,1644,1432,42,1599,247,1576,0,1492,1497,1736,1432,1394,1404,42,409,1768,1769,0,1737,1738,1735,1405,1645,1644,42,409,1769,1576,0,1737,1735,1736,1405,1644,1404,42,410,1769,1768,0,1491,1735,1738,1431,1644,1645,42,1769,410,1595,0,1735,1491,1489,1644,1431,1429,42,1772,1589,1773,0,1739,1478,1740,1646,1420,1647,42,1589,1772,404,0,1478,1739,1476,1420,1646,1418,42,1773,403,1770,0,1740,1480,1741,1647,1422,1648,42,403,1773,1589,0,1480,1740,1478,1422,1647,1420,42,1771,1770,243,0,1742,1741,1743,1649,1648,1650,42,1770,1771,1773,0,1741,1742,1740,1648,1649,1647,42,375,1773,1771,0,320,1740,1742,320,1647,1649,42,1773,375,1772,0,1740,320,1739,1647,320,1646,42,1770,1593,1776,0,1744,1485,1745,1648,1426,1651,42,1593,1770,403,0,1485,1744,1487,1426,1648,1422,42,1776,411,1774,0,1745,1486,1746,1651,1427,1652,42,411,1776,1593,0,1486,1745,1485,1427,1651,1426,42,1775,1774,244,0,1747,1746,1748,1653,1652,1654,42,1774,1775,1776,0,1746,1747,1745,1652,1653,1651,42,243,1776,1775,0,1749,1745,1747,1650,1651,1653,42,1776,243,1770,0,1745,1749,1744,1651,1650,1648,42,1779,375,1780,0,1750,320,1751,1655,320,1656,42,1780,375,1771,0,1751,320,1742,1656,320,1649,42,1780,1771,1777,0,1751,1742,1752,1656,1649,1657,42,1777,1771,243,0,1752,1742,1743,1657,1649,1650,42,1778,1780,395,0,1753,1751,1754,1658,1656,1659,42,395,1780,1777,0,1754,1751,1752,1659,1656,1657,42,396,1779,1778,0,1755,1750,1753,1660,1655,1658,42,1778,1779,1780,0,1753,1750,1751,1658,1655,1656,42,1777,243,1783,0,1756,1749,1757,1657,1650,1661,42,1783,243,1775,0,1757,1749,1747,1661,1650,1653,42,1783,244,1781,0,1757,1748,1758,1661,1654,1662,42,244,1783,1775,0,1748,1757,1747,1654,1661,1653,42,1782,1783,394,0,1759,1757,1760,1663,1661,1664,42,394,1783,1781,0,1760,1757,1758,1664,1661,1662,42,395,1777,1782,0,1761,1756,1759,1659,1657,1663,42,1782,1777,1783,0,1759,1756,1757,1663,1657,1661,42,1774,1596,1786,0,1746,1490,1762,1652,1430,1665,42,1596,1774,411,0,1490,1746,1486,1430,1652,1427,42,1786,410,1784,0,1762,1491,1763,1665,1431,1666,42,410,1786,1596,0,1491,1762,1490,1431,1665,1430,42,1785,1784,245,0,1764,1763,1765,1667,1666,1668,42,1784,1785,1786,0,1763,1764,1762,1666,1667,1665,42,244,1786,1785,0,1748,1762,1764,1654,1665,1667,42,1786,244,1774,0,1762,1748,1746,1665,1654,1652,42,1787,1785,245,0,1766,1764,1765,1669,1667,1668,42,1785,1787,1789,0,1764,1766,1767,1667,1669,1670,42,402,1789,1787,0,1768,1767,1766,1671,1670,1669,42,1789,402,1788,0,1767,1768,1769,1670,1671,1672,42,1788,1781,1789,0,1769,1758,1767,1672,1662,1670,42,1781,1788,394,0,1758,1769,1760,1662,1672,1664,42,1781,1785,1789,0,1758,1764,1767,1662,1667,1670,42,1785,1781,244,0,1764,1758,1748,1667,1662,1654,42,1790,1768,409,0,1770,1738,1737,1673,1645,1405,42,1768,1790,1792,0,1738,1770,1771,1645,1673,1674,42,1791,1790,246,0,1772,1770,1773,1675,1673,1676,42,1790,1791,1792,0,1770,1772,1771,1673,1675,1674,42,245,1792,1791,0,1765,1771,1772,1668,1674,1675,42,1792,245,1784,0,1771,1765,1763,1674,1668,1666,42,1784,1768,1792,0,1763,1738,1771,1666,1645,1674,42,1768,1784,410,0,1738,1763,1491,1645,1666,1431,42,1787,245,1795,0,1766,1765,1774,1669,1668,1677,42,245,1791,1795,0,1765,1772,1774,1668,1675,1677,42,1795,246,1793,0,1774,1773,1775,1677,1676,1678,42,246,1795,1791,0,1773,1774,1772,1676,1677,1675,42,1794,1793,401,0,1776,1775,1777,1679,1678,1680,42,1793,1794,1795,0,1775,1776,1774,1678,1679,1677,42,402,1795,1794,0,1768,1774,1776,1671,1677,1679,42,1795,402,1787,0,1774,1768,1766,1677,1671,1669,42,1796,1575,408,0,1778,1461,1459,1681,1403,1401,42,1575,1796,1798,0,1461,1778,1779,1403,1681,1682,42,371,1798,1796,0,309,1779,1778,309,1682,1681,42,1798,371,1797,0,1779,309,1780,1682,309,1683,42,1797,1790,1798,0,1780,1781,1779,1683,1673,1682,42,1790,1797,246,0,1781,1780,1782,1673,1683,1676,42,1798,409,1575,0,1779,1463,1461,1682,1405,1403,42,409,1798,1790,0,1463,1779,1781,1405,1682,1673,42,1793,1797,1801,0,1783,1780,1784,1678,1683,1684,42,1797,1793,246,0,1780,1783,1782,1683,1678,1676,42,1801,371,1799,0,1784,309,1785,1684,309,1685,42,371,1801,1797,0,309,1784,1780,309,1684,1683,42,1800,1799,400,0,1786,1785,1787,1686,1685,1687,42,1799,1800,1801,0,1785,1786,1784,1685,1686,1684,42,401,1801,1800,0,1788,1784,1786,1680,1684,1686,42,1801,401,1793,0,1784,1788,1783,1684,1680,1678,42,769,1802,1804,0,288,1789,1790,288,1688,1689,42,1802,769,248,0,1789,288,287,1688,288,287,42,1804,449,1526,0,1790,1395,1394,1689,1337,1336,42,449,1804,1802,0,1395,1790,1789,1337,1689,1688,42,1803,1526,448,0,1791,1394,1387,1690,1336,1329,42,1526,1803,1804,0,1394,1791,1790,1336,1690,1689,42,266,1804,1803,0,289,1790,1791,289,1689,1690,42,1804,266,769,0,1790,289,288,1689,289,288,42,1802,1807,449,0,1789,1792,1395,1688,1691,1337,42,1807,1802,1808,0,1792,1789,1793,1691,1688,1692,42,248,1808,1802,0,287,1793,1789,287,1692,1688,42,1808,248,1805,0,1793,287,1794,1692,287,1693,42,1805,1806,1808,0,1794,1795,1793,1693,1694,1692,42,1806,1805,250,0,1795,1794,1796,1694,1693,1695,42,1808,450,1807,0,1793,1797,1792,1692,1696,1691,42,450,1808,1806,0,1797,1793,1795,1696,1692,1694,42,1809,1811,458,0,1798,1799,1800,1697,1698,1699,42,1811,1809,1812,0,1799,1798,1801,1698,1697,1700,42,1810,1809,459,0,1802,1798,1803,1701,1697,1702,42,1809,1810,1812,0,1798,1802,1801,1697,1701,1700,42,1810,250,1812,0,1802,1796,1801,1701,1695,1700,42,1812,250,1805,0,1801,1796,1794,1700,1695,1693,42,1805,1811,1812,0,1794,1799,1801,1693,1698,1700,42,1811,1805,248,0,1799,1794,287,1698,1693,287,42,1811,772,1815,0,1799,290,1804,1698,290,1703,42,772,1811,248,0,290,1799,287,290,1698,287,42,1815,337,1813,0,1804,292,1805,1703,292,1704,42,337,1815,772,0,292,1804,290,292,1703,290,42,1814,1813,457,0,1806,1805,1807,1705,1704,1706,42,1813,1814,1815,0,1805,1806,1804,1704,1705,1703,42,458,1815,1814,0,1800,1804,1806,1699,1703,1705,42,1815,458,1811,0,1804,1800,1799,1703,1699,1698,42,1816,1819,250,0,1808,1809,1810,1707,1708,1695,42,250,1819,1806,0,1810,1809,1811,1695,1708,1694,42,249,1817,1816,0,1812,1813,1808,1709,1710,1707,42,1816,1817,1819,0,1808,1813,1809,1707,1710,1708,42,1817,451,1819,0,1813,1534,1809,1710,1464,1708,42,1819,451,1818,0,1809,1534,1814,1708,1464,1711,42,1819,1818,1806,0,1809,1814,1811,1708,1711,1694,42,1806,1818,450,0,1811,1814,1815,1694,1711,1696,42,1817,1623,451,0,1813,1535,1534,1710,1465,1464,42,1623,1817,1822,0,1535,1813,1816,1465,1710,1712,42,249,1822,1817,0,1812,1816,1813,1709,1712,1710,42,1822,249,1820,0,1816,1812,1817,1712,1709,1713,42,1820,1821,1822,0,1817,1818,1816,1713,1714,1712,42,1821,1820,257,0,1818,1817,1819,1714,1713,1715,42,1822,452,1623,0,1816,1524,1535,1712,1456,1465,42,452,1822,1821,0,1524,1816,1818,1456,1712,1714,42,1824,1816,1825,0,1820,1808,1821,1716,1707,1717,42,1816,1824,249,0,1808,1820,1812,1707,1716,1709,42,1825,1816,1810,0,1821,1808,1822,1717,1707,1701,42,1810,1816,250,0,1822,1808,1810,1701,1707,1695,42,1823,1810,459,0,1823,1822,1824,1718,1701,1702,42,1810,1823,1825,0,1822,1823,1821,1701,1718,1717,42,460,1824,1823,0,1825,1820,1823,1719,1716,1718,42,1824,1825,1823,0,1820,1821,1823,1716,1717,1718,42,1820,1824,1828,0,1817,1820,1826,1713,1716,1720,42,1824,1820,249,0,1820,1817,1812,1716,1713,1709,42,460,1828,1824,0,1825,1826,1820,1719,1720,1716,42,1828,460,1826,0,1826,1825,1827,1720,1719,1721,42,1826,1827,1828,0,1827,1828,1826,1721,1722,1720,42,1827,1826,461,0,1828,1827,1829,1722,1721,1723,42,1828,257,1820,0,1826,1819,1817,1720,1715,1713,42,257,1828,1827,0,1819,1826,1828,1715,1720,1722,42,1831,1554,1832,0,1830,1431,1831,1724,1373,1725,42,1554,1831,418,0,1431,1830,1433,1373,1724,1375,42,1832,1554,1829,0,1831,1431,1832,1725,1373,1726,42,1554,417,1829,0,1431,1419,1832,1373,1361,1726,42,1830,1829,353,0,1833,1832,265,1727,1726,265,42,1829,1830,1832,0,1832,1833,1831,1726,1727,1725,42,251,1832,1830,0,1834,1831,1833,1728,1725,1727,42,1832,251,1831,0,1831,1834,1830,1725,1728,1724,42,1835,418,1831,0,1835,1521,1836,1729,1375,1724,42,418,1835,1614,0,1521,1835,1518,1375,1729,1452,42,1833,1831,251,0,1837,1836,1838,1730,1724,1728,42,1831,1833,1835,0,1836,1837,1835,1724,1730,1729,42,252,1835,1833,0,1839,1835,1837,1731,1729,1730,42,1835,252,1834,0,1835,1839,1840,1729,1731,1732,42,1834,1614,1835,0,1840,1518,1835,1732,1452,1729,42,1614,1834,419,0,1518,1840,1511,1452,1732,1448,42,1839,251,1836,0,1841,1838,1842,1733,1728,1734,42,251,1839,1833,0,1838,1841,1837,1728,1733,1730,42,1837,1836,428,0,1843,1842,1844,1735,1734,1736,42,1836,1837,1839,0,1842,1843,1841,1734,1735,1733,42,1839,429,1838,0,1841,1845,1846,1733,1737,1738,42,429,1839,1837,0,1845,1841,1843,1737,1733,1735,42,1838,1833,1839,0,1846,1837,1841,1738,1730,1733,42,1833,1838,252,0,1837,1846,1839,1730,1738,1731,42,1842,1841,428,0,1847,1848,1849,1739,1740,1736,42,428,1836,1842,0,1849,1850,1847,1736,1734,1739,42,1830,1842,1836,0,1833,1847,1850,1727,1739,1734,42,1836,251,1830,0,1850,1834,1833,1734,1728,1727,42,1842,1830,353,0,1847,1833,265,1739,1727,265,42,1842,353,1840,0,1847,265,1851,1739,265,1741,42,1841,1842,1840,0,1848,1847,1851,1740,1739,1741,42,1841,1840,427,0,1848,1851,1852,1740,1741,1742,42,1844,1609,1845,0,1853,1510,1854,1743,1447,1744,42,1609,1844,420,0,1510,1853,1501,1447,1743,1438,42,1845,419,1834,0,1854,1511,1840,1744,1448,1732,42,419,1845,1609,0,1511,1854,1510,1448,1744,1447,42,1843,1834,252,0,1855,1840,1839,1745,1732,1731,42,1834,1843,1845,0,1840,1855,1854,1732,1745,1744,42,253,1845,1843,0,1856,1854,1855,1746,1744,1745,42,1845,253,1844,0,1854,1856,1853,1744,1746,1743,42,1847,1843,1848,0,1857,1855,1858,1747,1745,1748,42,1843,1847,253,0,1855,1857,1856,1745,1747,1746,42,1848,252,1838,0,1858,1839,1846,1748,1731,1738,42,252,1848,1843,0,1839,1858,1855,1731,1748,1745,42,1846,1838,429,0,1859,1846,1845,1749,1738,1737,42,1838,1846,1848,0,1846,1859,1858,1738,1749,1748,42,430,1848,1846,0,1860,1858,1859,1750,1748,1749,42,1848,430,1847,0,1858,1860,1857,1748,1750,1747,42,1844,1602,420,0,1853,1500,1501,1743,1437,1438,42,1602,1844,1851,0,1500,1853,1861,1437,1743,1751,42,253,1851,1844,0,1856,1861,1853,1746,1751,1743,42,1851,253,1849,0,1861,1856,1862,1751,1746,1752,42,1849,1850,1851,0,1862,1863,1861,1752,1753,1751,42,1850,1849,254,0,1863,1862,1864,1753,1752,1754,42,1851,421,1602,0,1861,1502,1500,1751,1439,1437,42,421,1851,1850,0,1502,1861,1863,1439,1751,1753,42,1853,254,1854,0,1865,1864,1866,1755,1754,1756,42,1854,254,1849,0,1866,1864,1862,1756,1754,1752,42,1854,253,1847,0,1866,1856,1857,1756,1746,1747,42,253,1854,1849,0,1856,1866,1862,1746,1756,1752,42,1852,1847,430,0,1867,1857,1860,1757,1747,1750,42,1847,1852,1854,0,1857,1867,1866,1747,1757,1756,42,431,1853,1852,0,1868,1865,1867,1758,1755,1757,42,1852,1853,1854,0,1867,1865,1866,1757,1755,1756,42,1855,1857,254,0,1869,1870,1864,1759,1760,1754,42,254,1857,1850,0,1864,1870,1863,1754,1760,1753,42,255,1856,1855,0,1871,1872,1869,1761,1762,1759,42,1855,1856,1857,0,1869,1872,1870,1759,1762,1760,42,1856,1606,1857,0,1872,1505,1870,1762,1442,1760,42,1606,1856,422,0,1505,1872,1506,1442,1762,1443,42,1857,1606,1850,0,1870,1505,1863,1760,1442,1753,42,1850,1606,421,0,1863,1505,1502,1753,1442,1439,42,1858,1860,431,0,1873,1874,1868,1763,1764,1758,42,431,1860,1853,0,1868,1874,1865,1758,1764,1755,42,432,1859,1858,0,1875,1876,1873,1765,1766,1763,42,1858,1859,1860,0,1873,1876,1874,1763,1766,1764,42,1859,255,1860,0,1876,1871,1874,1766,1761,1764,42,1860,255,1855,0,1874,1871,1869,1764,1761,1759,42,1860,1855,1853,0,1874,1869,1865,1764,1759,1755,42,1853,1855,254,0,1865,1869,1864,1755,1759,1754,42,1863,1861,1864,0,1877,1878,1879,1767,1768,1769,42,1861,1863,413,0,1878,1877,1422,1768,1767,1364,42,1864,422,1856,0,1879,1880,1881,1769,1443,1762,42,422,1864,1861,0,1880,1879,1878,1443,1769,1768,42,1862,1864,255,0,1882,1879,1883,1770,1769,1761,42,255,1864,1856,0,1883,1879,1881,1761,1769,1762,42,357,1863,1862,0,254,1877,1882,254,1767,1770,42,1862,1863,1864,0,1882,1877,1879,1770,1767,1769,42,357,1867,1866,0,254,1884,1885,254,1771,1772,42,1867,357,1862,0,1884,254,1882,1771,254,1770,42,1867,1862,1859,0,1884,1882,1886,1771,1770,1766,42,1859,1862,255,0,1886,1882,1883,1766,1770,1761,42,1865,1867,432,0,1887,1884,1888,1773,1771,1765,42,432,1867,1859,0,1888,1884,1886,1765,1771,1766,42,1865,1866,1867,0,1887,1885,1884,1773,1772,1771,42,1866,1865,433,0,1885,1887,1889,1772,1773,1774,42,1548,1569,1868,0,1421,1448,1890,1363,1390,1775,42,1569,1548,412,0,1448,1421,1230,1390,1363,1174,42,1868,256,1605,0,1890,1453,1891,1775,1395,1441,42,256,1868,1569,0,1453,1890,1448,1395,1775,1390,42,1861,1605,422,0,1878,1891,1880,1768,1441,1443,42,1605,1861,1868,0,1891,1878,1890,1441,1768,1775,42,413,1868,1861,0,1422,1890,1878,1364,1775,1768,42,1868,413,1548,0,1890,1422,1421,1775,1364,1363,42,1821,1617,452,0,1818,1525,1524,1714,1457,1456,42,1617,1821,1871,0,1525,1818,1892,1457,1714,1776,42,257,1871,1821,0,1819,1892,1818,1715,1776,1714,42,1871,257,1869,0,1892,1819,1893,1776,1715,1777,42,1869,1870,1871,0,1893,1894,1892,1777,1778,1776,42,1870,1869,258,0,1894,1893,1895,1778,1777,1779,42,1871,453,1617,0,1892,1527,1525,1776,1459,1457,42,453,1871,1870,0,1527,1892,1894,1459,1776,1778,42,1874,257,1827,0,1896,1819,1828,1780,1715,1722,42,257,1874,1869,0,1819,1896,1893,1715,1780,1777,42,1872,1827,461,0,1897,1828,1829,1781,1722,1723,42,1827,1872,1874,0,1828,1897,1896,1722,1781,1780,42,462,1874,1872,0,1898,1896,1897,1782,1780,1781,42,1874,462,1873,0,1896,1898,1899,1780,1782,1783,42,1873,1869,1874,0,1899,1893,1896,1783,1777,1780,42,1869,1873,258,0,1893,1899,1895,1777,1783,1779,42,1875,1870,258,0,1900,1894,1895,1784,1778,1779,42,1870,1875,1877,0,1894,1900,1901,1778,1784,1785,42,259,1877,1875,0,1902,1901,1900,1786,1785,1784,42,1877,259,1876,0,1901,1902,1903,1785,1786,1787,42,1876,1620,1877,0,1903,1530,1901,1787,1461,1785,42,1620,1876,454,0,1530,1903,1531,1461,1787,1379,42,1877,1620,1870,0,1901,1530,1894,1785,1461,1778,42,1870,1620,453,0,1894,1530,1527,1778,1461,1459,42,1879,1875,1880,0,1904,1900,1905,1788,1784,1789,42,1875,1879,259,0,1900,1904,1902,1784,1788,1786,42,1880,1875,1873,0,1905,1900,1899,1789,1784,1783,42,1873,1875,258,0,1899,1900,1895,1783,1784,1779,42,1878,1873,462,0,1906,1899,1898,1790,1783,1782,42,1873,1878,1880,0,1899,1906,1905,1783,1790,1789,42,463,1879,1878,0,1907,1904,1906,1791,1788,1790,42,1878,1879,1880,0,1906,1904,1905,1790,1788,1789,42,1882,1558,1883,0,1908,1436,1909,1792,1378,1793,42,1558,1882,445,0,1436,1908,1398,1378,1792,1340,42,1883,454,1876,0,1909,1437,1910,1793,1379,1787,42,454,1883,1558,0,1437,1909,1436,1379,1793,1378,42,1881,1876,259,0,1911,1910,1912,1794,1787,1786,42,1876,1881,1883,0,1910,1911,1909,1787,1794,1793,42,335,1883,1881,0,276,1909,1911,276,1793,1794,42,1883,335,1882,0,1909,276,1908,1793,276,1792,42,1885,1881,1886,0,1913,1911,1914,1795,1794,1796,42,1881,1885,335,0,1911,1913,276,1794,1795,276,42,1886,259,1879,0,1914,1912,1915,1796,1786,1788,42,259,1886,1881,0,1912,1914,1911,1786,1796,1794,42,1884,1879,463,0,1916,1915,1917,1797,1788,1791,42,1879,1884,1886,0,1915,1916,1914,1788,1797,1796,42,464,1886,1884,0,1918,1914,1916,1798,1796,1797,42,1886,464,1885,0,1914,1918,1913,1796,1798,1795,42,1759,1889,479,0,1722,1919,1365,1631,1799,1307,42,1889,1759,1890,0,1919,1722,1920,1799,1631,1800,42,260,1890,1759,0,1724,1920,1722,1633,1800,1631,42,1890,260,1887,0,1920,1724,1921,1800,1633,1801,42,1887,1888,1890,0,1921,1922,1920,1801,1802,1800,42,1888,1887,261,0,1922,1921,1923,1802,1801,1803,42,1890,480,1889,0,1920,1545,1919,1800,1472,1799,42,480,1890,1888,0,1545,1920,1922,1472,1800,1802,42,1763,1887,260,0,1726,1921,1724,1635,1801,1633,42,1887,1763,1893,0,1921,1726,1924,1801,1635,1804,42,488,1893,1763,0,1730,1924,1726,1639,1804,1635,42,1893,488,1891,0,1924,1730,1925,1804,1639,1805,42,1891,1892,1893,0,1925,1926,1924,1805,1806,1804,42,1892,1891,489,0,1926,1925,1927,1806,1805,1807,42,1893,261,1887,0,1924,1923,1921,1804,1803,1801,42,261,1893,1892,0,1923,1924,1926,1803,1804,1806,42,1896,1895,481,0,1928,1929,1547,1808,1809,1474,42,1896,481,1629,0,1928,1547,1546,1808,1474,1473,42,1888,1896,1629,0,1922,1928,1546,1802,1808,1473,42,1888,1629,480,0,1922,1546,1545,1802,1473,1472,42,261,1894,1896,0,1923,1930,1928,1803,1810,1808,42,261,1896,1888,0,1923,1928,1922,1803,1808,1802,42,1895,1894,262,0,1929,1930,1931,1809,1810,1811,42,1894,1895,1896,0,1930,1929,1928,1810,1809,1808,42,1892,1894,261,0,1926,1930,1923,1806,1810,1803,42,1894,1892,1899,0,1930,1926,1932,1810,1806,1812,42,489,1899,1892,0,1927,1932,1926,1807,1812,1806,42,1899,489,1897,0,1932,1927,1933,1812,1807,1813,42,1897,1898,1899,0,1933,1934,1932,1813,1814,1812,42,1898,1897,490,0,1934,1933,1935,1814,1813,1815,42,1899,262,1894,0,1932,1931,1930,1812,1811,1810,42,262,1899,1898,0,1931,1932,1934,1811,1812,1814,42,1901,1632,1902,0,1936,1550,1937,1816,1476,1817,42,1632,1901,482,0,1550,1936,1551,1476,1816,1389,42,1895,1902,1632,0,1929,1937,1550,1809,1817,1476,42,1895,1632,481,0,1929,1550,1547,1809,1476,1474,42,1900,1902,262,0,1938,1937,1931,1818,1817,1811,42,262,1902,1895,0,1931,1937,1929,1811,1817,1809,42,263,1902,1900,0,1939,1937,1938,1819,1817,1818,42,1902,263,1901,0,1937,1939,1936,1817,1819,1816,42,1904,1900,1905,0,1940,1938,1941,1820,1818,1821,42,1900,1904,263,0,1938,1940,1939,1818,1820,1819,42,1905,262,1898,0,1941,1931,1934,1821,1811,1814,42,262,1905,1900,0,1931,1941,1938,1811,1821,1818,42,1903,1905,490,0,1942,1941,1935,1822,1821,1815,42,490,1905,1898,0,1935,1941,1934,1815,1821,1814,42,491,1905,1903,0,1943,1941,1942,1823,1821,1822,42,1905,491,1904,0,1941,1943,1940,1821,1823,1820,42,1907,1565,1908,0,1944,1446,1945,1824,1388,1825,42,1565,1907,483,0,1446,1944,1380,1388,1824,1322,42,1908,482,1901,0,1945,1447,1946,1825,1389,1816,42,482,1908,1565,0,1447,1945,1446,1389,1825,1388,42,1906,1901,263,0,1947,1946,1948,1826,1816,1819,42,1901,1906,1908,0,1946,1947,1945,1816,1826,1825,42,346,1908,1906,0,298,1945,1947,298,1825,1826,42,1908,346,1907,0,1945,298,1944,1825,298,1824,42,1910,1906,1911,0,1949,1947,1950,1827,1826,1828,42,1906,1910,346,0,1947,1949,298,1826,1827,298,42,1911,263,1904,0,1950,1948,1951,1828,1819,1820,42,263,1911,1906,0,1948,1950,1947,1819,1828,1826,42,1909,1904,491,0,1952,1951,1953,1829,1820,1823,42,1904,1909,1911,0,1951,1952,1950,1820,1829,1828,42,492,1911,1909,0,1954,1950,1952,1830,1828,1829,42,1911,492,1910,0,1950,1954,1949,1828,1830,1827,42,1882,761,1913,0,1908,273,1955,1792,273,1831,42,761,1882,335,0,273,1908,276,273,1792,276,42,264,1913,761,0,275,1955,273,275,1831,273,42,1913,264,1912,0,1955,275,1956,1831,275,1832,42,1912,1529,1913,0,1956,1396,1955,1832,1338,1831,42,1529,1912,446,0,1396,1956,1391,1338,1832,1333,42,1913,445,1882,0,1955,1398,1908,1831,1340,1792,42,445,1913,1529,0,1398,1955,1396,1340,1831,1338,42,1914,1524,1915,0,1957,1390,1958,1833,1332,1834,42,1524,1914,447,0,1390,1957,1386,1332,1833,1328,42,1915,446,1912,0,1958,1391,1956,1834,1333,1832,42,446,1915,1524,0,1391,1958,1390,1333,1834,1332,42,1647,1912,264,0,1571,1956,275,1496,1832,275,42,1912,1647,1915,0,1956,1571,1958,1832,1496,1834,42,265,1915,1647,0,1572,1958,1571,1497,1834,1496,42,1915,265,1914,0,1958,1572,1957,1834,1497,1833,42,805,1918,338,0,338,1959,339,338,1835,339,42,1918,805,1919,0,1959,338,1960,1835,338,1836,42,274,1919,805,0,344,1960,338,344,1836,338,42,1919,274,1916,0,1960,344,1961,1836,344,1837,42,1916,1917,1919,0,1961,1962,1960,1837,1838,1836,42,1917,1916,267,0,1962,1961,1963,1838,1837,1839,42,1919,339,1918,0,1960,1964,1959,1836,1840,1835,42,339,1919,1917,0,1964,1960,1962,1840,1836,1838,42,1922,339,1917,0,1965,1964,1962,1841,1840,1838,42,339,1922,1921,0,1964,1965,1966,1840,1841,1842,42,1920,1917,267,0,1967,1962,1963,1843,1838,1839,42,1917,1920,1922,0,1962,1967,1965,1838,1843,1841,42,268,1922,1920,0,330,1965,1967,330,1841,1843,42,1922,268,798,0,1965,330,327,1841,330,327,42,798,1921,1922,0,327,1966,1965,327,1842,1841,42,1921,798,340,0,1966,327,333,1842,327,333,42,801,1920,1925,0,334,1967,1968,334,1843,1844,42,1920,801,268,0,1967,334,330,1843,334,330,42,1925,267,1923,0,1968,1963,1969,1844,1839,1845,42,267,1925,1920,0,1963,1968,1967,1839,1844,1843,42,1924,1923,342,0,1970,1969,1971,1846,1845,1847,42,1923,1924,1925,0,1969,1970,1968,1845,1846,1844,42,1925,343,801,0,1968,337,334,1844,337,334,42,343,1925,1924,0,337,1968,1970,337,1844,1846,42,808,1916,274,0,346,1961,344,346,1837,344,42,1916,808,1927,0,1961,346,1972,1837,346,1848,42,341,1927,808,0,348,1972,346,348,1848,346,42,1927,341,1926,0,1972,348,1973,1848,348,1849,42,1926,1923,1927,0,1973,1969,1972,1849,1845,1848,42,1923,1926,342,0,1969,1973,1971,1845,1849,1847,42,1927,267,1916,0,1972,1963,1961,1848,1839,1837,42,267,1927,1923,0,1963,1972,1969,1839,1848,1845,42,1928,1930,277,0,1974,1975,331,1850,1851,331,42,1930,1928,1931,0,1975,1974,1976,1851,1850,1852,42,269,1931,1928,0,1977,1976,1974,1853,1852,1850,42,1931,269,1929,0,1976,1977,1978,1852,1853,1854,42,1929,1809,1931,0,1978,1798,1976,1854,1697,1852,42,1809,1929,459,0,1798,1978,1803,1697,1854,1702,42,1931,458,1930,0,1976,1800,1975,1852,1699,1851,42,458,1931,1809,0,1800,1976,1798,1699,1852,1697,42,1928,1934,269,0,1974,1979,1977,1850,1855,1853,42,1934,1928,1935,0,1979,1974,1980,1855,1850,1856,42,277,1935,1928,0,331,1980,1974,331,1856,1850,42,1935,277,1932,0,1980,331,1981,1856,331,1857,42,1933,1932,473,0,1982,1981,424,1858,1857,418,42,1932,1933,1935,0,1981,1982,1980,1857,1858,1856,42,1935,472,1934,0,1980,1983,1979,1856,1859,1855,42,472,1935,1933,0,1983,1980,1982,1859,1856,1858,42,1938,1937,270,0,1984,1985,1986,1860,1861,1862,42,270,1936,1938,0,1986,1987,1984,1862,1863,1860,42,1938,460,1823,0,1984,1825,1823,1860,1719,1718,42,460,1938,1936,0,1825,1984,1987,1719,1860,1863,42,459,1929,1938,0,1824,1988,1984,1702,1854,1860,42,1938,1823,459,0,1984,1823,1824,1860,1718,1702,42,1929,269,1937,0,1988,1989,1985,1854,1853,1861,42,1937,1938,1929,0,1985,1984,1988,1861,1860,1854,42,1941,1940,471,0,1990,1991,1992,1864,1865,1866,42,471,1939,1941,0,1992,1993,1990,1866,1867,1864,42,1937,1941,1939,0,1985,1990,1993,1861,1864,1867,42,1939,270,1937,0,1993,1986,1985,1867,1862,1861,42,269,1934,1941,0,1989,1994,1990,1853,1855,1864,42,1941,1937,269,0,1990,1985,1989,1864,1861,1853,42,1934,472,1940,0,1994,1995,1991,1855,1859,1865,42,1940,1941,1934,0,1991,1990,1994,1865,1864,1855,42,1943,1942,1944,0,1996,1997,1998,1868,1869,1870,42,1942,1943,271,0,1997,1996,1999,1869,1868,1871,42,1944,461,1826,0,1998,1829,1827,1870,1723,1721,42,461,1944,1942,0,1829,1998,1997,1723,1870,1869,42,1936,1826,460,0,1987,1827,1825,1863,1721,1719,42,1826,1936,1944,0,1827,1987,1998,1721,1863,1870,42,270,1944,1936,0,1986,1998,1987,1862,1870,1863,42,1944,270,1943,0,1998,1986,1996,1870,1862,1868,42,1947,270,1939,0,2e3,1986,1993,1872,1862,1867,42,270,1947,1943,0,1986,2e3,1996,1862,1872,1868,42,1945,1939,471,0,2001,1993,1992,1873,1867,1866,42,1939,1945,1947,0,1993,2001,2e3,1867,1873,1872,42,470,1947,1945,0,2002,2e3,2001,1874,1872,1873,42,1947,470,1946,0,2e3,2002,2003,1872,1874,1875,42,1946,1943,1947,0,2003,1996,2e3,1875,1868,1872,42,1943,1946,271,0,1996,2003,1999,1868,1875,1871,42,1949,1872,1950,0,2004,1897,2005,1876,1781,1877,42,1872,1949,462,0,1897,2004,1898,1781,1876,1782,42,1950,461,1942,0,2005,1829,1997,1877,1723,1869,42,461,1950,1872,0,1829,2005,1897,1723,1877,1781,42,1948,1950,271,0,2006,2005,1999,1878,1877,1871,42,271,1950,1942,0,1999,2005,1997,1871,1877,1869,42,272,1949,1948,0,2007,2004,2006,1879,1876,1878,42,1948,1949,1950,0,2006,2004,2005,1878,1876,1877,42,1952,272,1953,0,2008,2007,2009,1880,1879,1881,42,1953,272,1948,0,2009,2007,2006,1881,1879,1878,42,1953,271,1946,0,2009,1999,2003,1881,1871,1875,42,271,1953,1948,0,1999,2009,2006,1871,1881,1878,42,1951,1946,470,0,2010,2003,2002,1882,1875,1874,42,1946,1951,1953,0,2003,2010,2009,1875,1882,1881,42,469,1952,1951,0,2011,2008,2010,1883,1880,1882,42,1951,1952,1953,0,2010,2008,2009,1882,1880,1881,42,1955,1954,1956,0,2012,2013,2014,1884,1885,1886,42,1954,1955,273,0,2013,2012,2015,1885,1884,1887,42,1956,463,1878,0,2014,1907,1906,1886,1791,1790,42,463,1956,1954,0,1907,2014,2013,1791,1886,1885,42,1949,1878,462,0,2004,1906,1898,1876,1790,1782,42,1878,1949,1956,0,1906,2004,2014,1790,1876,1886,42,272,1956,1949,0,2007,2014,2004,1879,1886,1876,42,1956,272,1955,0,2014,2007,2012,1886,1879,1884,42,1952,1955,272,0,2008,2012,2007,1880,1884,1879,42,1955,1952,1959,0,2012,2008,2016,1884,1880,1888,42,1959,469,1957,0,2016,2011,2017,1888,1883,1889,42,469,1959,1952,0,2011,2016,2008,1883,1888,1880,42,1957,1958,1959,0,2017,2018,2016,1889,1890,1888,42,1958,1957,468,0,2018,2017,2019,1890,1889,1891,42,1959,273,1955,0,2016,2015,2012,1888,1887,1884,42,273,1959,1958,0,2015,2016,2018,1887,1888,1890,42,1961,464,1962,0,2020,1918,2021,1892,1798,1893,42,1962,464,1884,0,2021,1918,1916,1893,1798,1797,42,1962,1884,1954,0,2021,1916,2022,1893,1797,1885,42,1954,1884,463,0,2022,1916,1917,1885,1797,1791,42,1960,1962,273,0,2023,2021,2024,1894,1893,1887,42,273,1962,1954,0,2024,2021,2022,1887,1893,1885,42,466,1961,1960,0,342,2020,2023,342,1892,1894,42,1960,1961,1962,0,2023,2020,2021,1894,1892,1893,42,1964,1963,1965,0,2025,2026,2027,1895,1896,1897,42,1963,1964,467,0,2026,2025,352,1896,1895,352,42,1965,466,1960,0,2027,342,2023,1897,342,1894,42,466,1965,1963,0,342,2027,2026,342,1897,1896,42,1958,1960,273,0,2028,2023,2024,1890,1894,1887,42,1960,1958,1965,0,2023,2028,2027,1894,1890,1897,42,468,1965,1958,0,2029,2027,2028,1891,1897,1890,42,1965,468,1964,0,2027,2029,2025,1897,1891,1895,42,1966,1968,275,0,2030,2031,2032,1898,1899,1900,42,1968,1966,1969,0,2031,2030,2033,1899,1898,1901,42,1969,301,850,0,2033,362,422,1901,362,416,42,301,1969,1966,0,362,2033,2030,362,1901,1898,42,850,1967,1969,0,422,2034,2033,416,1902,1901,42,1967,850,474,0,2034,422,421,1902,416,415,42,1969,475,1968,0,2033,2035,2031,1901,1903,1899,42,475,1969,1967,0,2035,2033,2034,1903,1901,1902,42,1971,1968,1972,0,2036,2031,2037,1904,1899,1905,42,1968,1971,275,0,2031,2036,2032,1899,1904,1900,42,1972,475,1970,0,2037,2035,2038,1905,1903,1906,42,475,1972,1968,0,2035,2037,2031,1903,1905,1899,42,811,1970,476,0,353,2038,355,353,1906,355,42,1970,811,1972,0,2038,353,2037,1906,353,1905,42,276,1972,811,0,354,2037,353,354,1905,353,42,1972,276,1971,0,2037,354,2036,1905,354,1904,42,818,1966,1975,0,363,2030,2039,363,1898,1907,42,1966,818,301,0,2030,363,362,1898,363,362,42,1966,275,1973,0,2030,2032,2040,1898,1900,1908,42,1966,1973,1975,0,2030,2040,2039,1898,1908,1907,42,1973,283,1975,0,2040,2041,2039,1908,1909,1907,42,1975,283,1974,0,2039,2041,2042,1907,1909,1910,42,1975,302,818,0,2039,366,363,1907,366,363,42,302,1975,1974,0,366,2039,2042,366,1907,1910,42,815,1971,276,0,361,2036,354,361,1904,354,42,1971,815,1977,0,2036,361,2043,1904,361,1911,42,1977,300,1976,0,2043,360,2044,1911,360,1912,42,300,1977,815,0,360,2043,361,360,1911,361,42,1973,1976,283,0,2040,2044,2041,1908,1912,1909,42,1976,1973,1977,0,2044,2040,2043,1912,1908,1911,42,275,1977,1973,0,2032,2043,2040,1900,1911,1908,42,1977,275,1971,0,2043,2032,2036,1911,1900,1904,42,816,810,1979,0,356,350,2045,356,350,1913,42,810,816,276,0,350,356,354,350,356,354,42,1979,467,1964,0,2045,352,2025,1913,352,1895,42,467,1979,810,0,352,2045,350,352,1913,350,42,1978,1964,468,0,2046,2025,2029,1914,1895,1891,42,1964,1978,1979,0,2025,2046,2045,1895,1914,1913,42,282,1979,1978,0,359,2045,2046,359,1913,1914,42,1979,282,816,0,2045,359,356,1913,359,356,42,1930,797,277,0,1975,332,331,1851,332,331,42,797,1930,1981,0,332,1975,2047,332,1851,1915,42,1981,458,1814,0,2047,1800,1806,1915,1699,1705,42,458,1981,1930,0,1800,2047,1975,1699,1915,1851,42,1814,1980,1981,0,1806,2048,2047,1705,1916,1915,42,1980,1814,457,0,2048,1806,1807,1916,1705,1706,42,340,1981,1980,0,333,2047,2048,333,1915,1916,42,1981,340,797,0,2047,333,332,1915,333,332,42,1932,277,800,0,1981,331,335,1857,331,335,42,800,1983,1932,0,335,2049,1981,335,1917,1857,42,343,1983,800,0,337,2049,335,337,1917,335,42,1983,343,1982,0,2049,337,2050,1917,337,1918,42,1982,852,1983,0,2050,420,2049,1918,414,1917,42,852,1982,474,0,420,2050,421,414,1918,415,42,473,1983,852,0,424,2049,420,418,1917,414,42,1983,473,1932,0,2049,424,1981,1917,418,1857,42,1984,1933,1985,0,2051,1982,2052,1919,1858,1920,42,1933,1984,472,0,1982,2051,1983,1858,1919,1859,42,1985,473,851,0,2052,424,423,1920,418,417,42,473,1985,1933,0,424,2052,1982,418,1920,1858,42,820,851,301,0,365,423,362,365,417,362,42,851,820,1985,0,423,365,2052,417,365,1920,42,278,1985,820,0,368,2052,365,368,1920,365,42,1985,278,1984,0,2052,368,2051,1920,368,1919,42,823,1984,278,0,374,2053,375,372,1919,368,42,1984,823,1987,0,2053,374,2054,1919,372,1921,42,279,1987,823,0,373,2054,374,371,1921,372,42,1987,279,1986,0,2054,373,2055,1921,371,1922,42,1986,1940,1987,0,2055,1991,2054,1922,1865,1921,42,1940,1986,471,0,1991,2055,1992,1865,1922,1866,42,1987,472,1984,0,2054,1995,2053,1921,1859,1919,42,472,1987,1940,0,1995,2054,1991,1859,1921,1865,42,1989,1945,1990,0,2056,2001,2057,1923,1873,1924,42,1945,1989,470,0,2001,2056,2002,1873,1923,1874,42,1990,471,1986,0,2057,1992,2055,1924,1866,1922,42,471,1990,1945,0,1992,2057,2001,1866,1924,1873,42,1988,1986,279,0,2058,2055,373,1925,1922,371,42,1986,1988,1990,0,2055,2058,2057,1922,1925,1924,42,280,1990,1988,0,2059,2057,2058,1926,1924,1925,42,1990,280,1989,0,2057,2059,2056,1924,1926,1923,42,1974,1991,1992,0,2060,2061,2062,1910,1927,1928,42,1991,1974,283,0,2061,2060,2063,1927,1910,1909,42,1992,280,1988,0,2062,2059,2058,1928,1926,1925,42,280,1992,1991,0,2059,2062,2061,1926,1928,1927,42,822,1988,279,0,372,2058,373,370,1925,371,42,1988,822,1992,0,2058,372,2062,1925,370,1928,42,302,1974,822,0,370,2060,372,366,1910,370,42,1974,1992,822,0,2060,2062,372,1910,1928,370,42,1989,1951,470,0,2056,2010,2002,1923,1882,1874,42,1951,1989,1995,0,2010,2056,2064,1882,1923,1929,42,1993,1989,280,0,2065,2056,2059,1930,1923,1926,42,1989,1993,1995,0,2056,2065,2064,1923,1930,1929,42,281,1995,1993,0,380,2064,2065,375,1929,1930,42,1995,281,1994,0,2064,380,2066,1929,375,1931,42,1995,469,1951,0,2064,2011,2010,1929,1883,1882,42,469,1995,1994,0,2011,2064,2066,1883,1929,1931,42,1998,349,830,0,2067,385,384,1932,379,378,42,349,1998,1997,0,385,2067,2068,379,1932,1933,42,1996,830,284,0,2069,384,389,1934,378,383,42,830,1996,1998,0,384,2069,2067,378,1934,1932,42,285,1998,1996,0,395,2067,2069,389,1932,1934,42,1998,285,837,0,2067,395,397,1932,389,391,42,837,1997,1998,0,397,2068,2067,391,1933,1932,42,1997,837,350,0,2068,397,400,1933,391,394,42,840,1996,2e3,0,402,2069,2070,396,1934,1935,42,1996,840,285,0,2069,402,395,1934,396,389,42,2e3,284,833,0,2070,389,391,1935,383,385,42,284,2e3,1996,0,389,2070,2069,383,1935,1934,42,1999,833,494,0,2071,391,393,1936,385,387,42,833,1999,2e3,0,391,2071,2070,385,1936,1935,42,352,2e3,1999,0,403,2070,2071,397,1935,1936,42,2e3,352,840,0,2070,403,402,1935,397,396,42,2001,2003,351,0,2072,2073,398,1937,1938,392,42,2003,2001,2004,0,2073,2072,2074,1938,1937,1939,42,286,2004,2001,0,2075,2074,2072,1940,1939,1937,42,2004,286,2002,0,2074,2075,2076,1939,1940,1941,42,2002,488,2004,0,2076,1730,2074,1941,1639,1939,42,2004,488,1762,0,2074,1730,1728,1939,1639,1637,42,2004,487,2003,0,2074,1729,2073,1939,1638,1938,42,487,2004,1762,0,1729,2074,1728,1638,1939,1637,42,2007,2001,2008,0,2077,2072,2078,1942,1937,1943,42,2001,2007,286,0,2072,2077,2075,1937,1942,1940,42,2008,351,2005,0,2078,398,2079,1943,392,1944,42,351,2008,2001,0,398,2078,2072,392,1943,1937,42,2006,2005,497,0,2080,2079,2081,1945,1944,1946,42,2005,2006,2008,0,2079,2080,2078,1944,1945,1943,42,498,2008,2006,0,2082,2078,2080,1947,1943,1945,42,2008,498,2007,0,2078,2082,2077,1943,1947,1942,42,2002,1891,488,0,2076,1925,1730,1941,1805,1639,42,1891,2002,2011,0,1925,2076,2083,1805,1941,1948,42,286,2011,2002,0,2075,2083,2076,1940,1948,1941,42,2011,286,2009,0,2083,2075,2084,1948,1940,1949,42,2009,2010,2011,0,2084,2085,2083,1949,1950,1948,42,2010,2009,287,0,2085,2084,2086,1950,1949,1951,42,2011,489,1891,0,2083,1927,1925,1948,1807,1805,42,489,2011,2010,0,1927,2083,2085,1807,1948,1950,42,2007,2009,286,0,2077,2084,2075,1942,1949,1940,42,2009,2007,2014,0,2084,2077,2087,1949,1942,1952,42,2012,2007,498,0,2088,2077,2082,1953,1942,1947,42,2007,2012,2014,0,2077,2088,2087,1942,1953,1952,42,2012,2013,2014,0,2088,2089,2087,1953,1954,1952,42,2013,2012,499,0,2089,2088,2090,1954,1953,1955,42,2014,287,2009,0,2087,2086,2084,1952,1951,1949,42,287,2014,2013,0,2086,2087,2089,1951,1952,1954,42,2010,1897,489,0,2085,1933,1927,1950,1813,1807,42,1897,2010,2017,0,1933,2085,2091,1813,1950,1956,42,287,2017,2010,0,2086,2091,2085,1951,1956,1950,42,2017,287,2015,0,2091,2086,2092,1956,1951,1957,42,2015,2016,2017,0,2092,2093,2091,1957,1958,1956,42,2016,2015,288,0,2093,2092,2094,1958,1957,1959,42,2017,490,1897,0,2091,1935,1933,1956,1815,1813,42,490,2017,2016,0,1935,2091,2093,1815,1956,1958,42,2020,2019,288,0,2095,2096,2094,1960,1961,1959,42,2020,288,2015,0,2095,2094,2092,1960,1959,1957,42,2020,287,2013,0,2095,2086,2089,1960,1951,1954,42,287,2020,2015,0,2086,2095,2092,1951,1960,1957,42,2018,2013,499,0,2097,2089,2090,1962,1954,1955,42,2013,2018,2020,0,2089,2097,2095,1954,1962,1960,42,500,2020,2018,0,2098,2095,2097,1963,1960,1962,42,2020,500,2019,0,2095,2098,2096,1960,1963,1961,42,2022,491,2023,0,2099,1943,2100,1964,1823,1965,42,2023,491,1903,0,2100,1943,1942,1965,1823,1822,42,2023,490,2016,0,2100,1935,2093,1965,1815,1958,42,490,2023,1903,0,1935,2100,1942,1815,1965,1822,42,2021,2023,288,0,2101,2100,2094,1966,1965,1959,42,288,2023,2016,0,2094,2100,2093,1959,1965,1958,42,289,2022,2021,0,2102,2099,2101,1967,1964,1966,42,2021,2022,2023,0,2101,2099,2100,1966,1964,1965,42,2025,2024,2026,0,2103,2104,2105,1968,1969,1970,42,2024,2025,501,0,2104,2103,2106,1969,1968,1971,42,2026,289,2021,0,2105,2102,2101,1970,1967,1966,42,289,2026,2024,0,2102,2105,2104,1967,1970,1969,42,2019,2021,288,0,2096,2101,2094,1961,1966,1959,42,2021,2019,2026,0,2101,2096,2105,1966,1961,1970,42,500,2026,2019,0,2098,2105,2096,1963,1970,1961,42,2026,500,2025,0,2105,2098,2103,1970,1963,1968,42,2027,2029,289,0,2107,2108,2109,1972,1973,1967,42,289,2029,2022,0,2109,2108,2110,1967,1973,1964,42,348,2028,2027,0,387,2111,2107,381,1974,1972,42,2027,2028,2029,0,2107,2111,2108,1972,1974,1973,42,2028,1909,2029,0,2111,1952,2108,1974,1829,1973,42,1909,2028,492,0,1952,2111,1954,1829,1974,1830,42,2029,491,2022,0,2108,1953,2110,1973,1823,1964,42,491,2029,1909,0,1953,2108,1952,1823,1973,1829,42,2031,2027,2032,0,2112,2107,2113,1975,1972,1976,42,2027,2031,348,0,2107,2112,387,1972,1975,381,42,2024,2032,2027,0,2114,2113,2107,1969,1976,1972,42,2024,2027,289,0,2114,2107,2109,1969,1972,1967,42,501,2030,2032,0,2115,2116,2113,1971,1977,1976,42,501,2032,2024,0,2115,2113,2114,1971,1976,1969,42,2031,2030,502,0,2112,2116,2117,1975,1977,1978,42,2030,2031,2032,0,2116,2112,2113,1977,1975,1976,42,2036,2033,2037,0,2118,2119,2120,1979,1980,1981,42,2033,2036,496,0,2119,2118,2121,1980,1979,1982,42,2037,495,2034,0,2120,2122,2123,1981,1983,1984,42,495,2037,2033,0,2122,2120,2119,1983,1981,1980,42,2035,2034,290,0,2124,2123,2125,1985,1984,1986,42,2034,2035,2037,0,2123,2124,2120,1984,1985,1981,42,291,2037,2035,0,2126,2120,2124,1987,1981,1985,42,2037,291,2036,0,2120,2126,2118,1981,1987,1979,42,2041,2034,495,0,2127,2123,2122,1988,1984,1983,42,2041,495,2038,0,2127,2122,2128,1988,1983,1989,42,2041,2038,2039,0,2127,2128,2129,1988,1989,1990,42,2038,502,2039,0,2128,2117,2129,1989,1978,1990,42,2041,293,2040,0,2127,2130,2131,1988,1991,1992,42,293,2041,2039,0,2130,2127,2129,1991,1988,1990,42,2040,290,2034,0,2131,2125,2123,1992,1986,1984,42,2040,2034,2041,0,2131,2123,2127,1992,1984,1988,42,2042,2044,299,0,2132,2133,2134,1993,1994,400,42,2044,2042,2045,0,2133,2132,2135,1994,1993,1995,42,291,2045,2042,0,2126,2135,2132,1987,1995,1993,42,2045,291,2035,0,2135,2126,2124,1995,1987,1985,42,2035,2043,2045,0,2124,2136,2135,1985,1996,1995,42,2043,2035,290,0,2136,2124,2125,1996,1985,1986,42,2045,298,2044,0,2135,2137,2133,1995,410,1994,42,298,2045,2043,0,2137,2135,2136,410,1995,1996,42,2047,2046,296,0,2138,2139,2140,1997,1998,412,42,296,847,2047,0,2140,2141,2138,412,411,1997,42,2043,2047,847,0,2136,2138,2141,1996,1997,411,42,2043,847,298,0,2136,2141,2137,1996,411,410,42,2040,2047,290,0,2131,2138,2125,1992,1997,1986,42,290,2047,2043,0,2125,2138,2136,1986,1997,1996,42,293,2047,2040,0,2130,2138,2131,1991,1997,1992,42,2047,293,2046,0,2138,2130,2139,1997,1991,1998,42,2050,2048,2051,0,2142,2143,2144,1999,2e3,2001,42,2048,2050,497,0,2143,2142,2081,2e3,1999,1946,42,2051,496,2036,0,2144,2121,2118,2001,1982,1979,42,496,2051,2048,0,2121,2144,2143,1982,2001,2e3,42,2036,2049,2051,0,2118,2145,2144,1979,2002,2001,42,2049,2036,291,0,2145,2118,2126,2002,1979,1987,42,2051,292,2050,0,2144,2146,2142,2001,2003,1999,42,292,2051,2049,0,2146,2144,2145,2003,2001,2002,42,2049,2042,2053,0,2145,2132,2147,2002,1993,2004,42,2042,2049,291,0,2132,2145,2126,1993,2002,1987,42,844,2053,2042,0,2148,2147,2132,399,2004,1993,42,2042,299,844,0,2132,2134,2148,1993,400,399,42,844,2052,2053,0,2148,2149,2147,399,2005,2004,42,2052,844,294,0,2149,2148,2150,2005,399,405,42,2053,292,2049,0,2147,2146,2145,2004,2003,2002,42,292,2053,2052,0,2146,2147,2149,2003,2004,2005,42,2054,2006,2055,0,2151,2080,2152,2006,1945,2007,42,2006,2054,498,0,2080,2151,2082,1945,2006,1947,42,2055,497,2050,0,2152,2081,2142,2007,1946,1999,42,497,2055,2006,0,2081,2152,2080,1946,2007,1945,42,2052,2055,292,0,2149,2152,2146,2005,2007,2003,42,2055,2050,292,0,2152,2142,2146,2007,1999,2003,42,294,2055,2052,0,2150,2152,2149,405,2007,2005,42,2055,294,2054,0,2152,2150,2151,2007,405,2006,42,2056,2030,501,0,2153,2116,2115,2008,1977,1971,42,2030,2056,2057,0,2116,2153,2154,1977,2008,2009,42,296,2057,2056,0,2140,2154,2153,412,2009,2008,42,2057,296,2046,0,2154,2140,2139,2009,412,1998,42,293,2057,2046,0,2130,2154,2139,1991,2009,1998,42,2057,293,2039,0,2154,2130,2129,2009,1991,1990,42,2057,502,2030,0,2154,2117,2116,2009,1978,1977,42,502,2057,2039,0,2117,2154,2129,1978,2009,1990,42,2058,499,2059,0,2155,2090,2156,2010,1955,2011,42,2059,499,2012,0,2156,2090,2088,2011,1955,1953,42,2059,498,2054,0,2156,2082,2151,2011,1947,2006,42,498,2059,2012,0,2082,2156,2088,1947,2011,1953,42,843,2054,294,0,410,2151,411,404,2006,405,42,2054,843,2059,0,2151,410,2156,2006,404,2011,42,297,2058,843,0,409,2155,410,403,2010,404,42,2058,2059,843,0,2155,2156,410,2010,2011,404,42,2058,2018,499,0,2155,2097,2090,2010,1962,1955,42,2018,2058,2062,0,2097,2155,2157,1962,2010,2012,42,297,2062,2058,0,409,2157,2155,403,2012,2010,42,2062,297,2060,0,2157,409,2158,2012,403,2013,42,295,2062,2060,0,414,2157,2158,408,2012,2013,42,2062,295,2061,0,2157,414,2159,2012,408,2014,42,2061,2018,2062,0,2159,2097,2157,2014,1962,2012,42,2018,2061,500,0,2097,2159,2098,1962,2014,1963,42,846,2060,2063,0,412,2158,2160,406,2013,2015,42,2060,846,295,0,2158,412,414,2013,406,408,42,2060,842,2063,0,2158,408,2160,2013,402,2015,42,842,2060,297,0,408,2158,409,402,2013,403,42,2044,842,299,0,2161,408,406,1994,402,400,42,842,2044,2063,0,408,2161,2160,402,1994,2015,42,298,2063,2044,0,416,2160,2161,410,2015,1994,42,2063,298,846,0,2160,416,412,2015,410,406,42,2066,431,2067,0,2162,1868,2163,2016,1758,2017,42,2067,431,1852,0,2163,1868,1867,2017,1758,1757,42,2067,1852,2064,0,2163,1867,2164,2017,1757,2018,42,2064,1852,430,0,2164,1867,1860,2018,1757,1750,42,2065,2067,434,0,2165,2163,2166,2019,2017,2020,42,434,2067,2064,0,2166,2163,2164,2020,2017,2018,42,303,2066,2065,0,2167,2162,2165,2021,2016,2019,42,2065,2066,2067,0,2165,2162,2163,2019,2016,2017,42,2070,303,2071,0,2168,2167,2169,2022,2021,2023,42,2071,303,2065,0,2169,2167,2165,2023,2021,2019,42,2071,434,2068,0,2169,2166,2170,2023,2020,2024,42,434,2071,2065,0,2166,2169,2165,2020,2023,2019,42,2069,2068,435,0,2171,2170,2172,2025,2024,2026,42,2068,2069,2071,0,2170,2171,2169,2024,2025,2023,42,444,2071,2069,0,2173,2169,2171,2027,2023,2025,42,2071,444,2070,0,2169,2173,2168,2023,2027,2022,42,2072,2074,303,0,2174,2175,2167,2028,2029,2021,42,303,2074,2066,0,2167,2175,2162,2021,2029,2016,42,304,2073,2072,0,2176,2177,2174,2030,2031,2028,42,2072,2073,2074,0,2174,2177,2175,2028,2031,2029,42,2073,432,2074,0,2177,1875,2175,2031,1765,2029,42,2074,432,1858,0,2175,1875,1873,2029,1765,1763,42,2074,1858,2066,0,2175,1873,2162,2029,1763,2016,42,2066,1858,431,0,2162,1873,1868,2016,1763,1758,42,2076,304,2077,0,2178,2176,2179,2032,2030,2033,42,2077,304,2072,0,2179,2176,2174,2033,2030,2028,42,2077,2072,2070,0,2179,2174,2168,2033,2028,2022,42,2070,2072,303,0,2168,2174,2167,2022,2028,2021,42,2075,2077,444,0,2180,2179,2173,2034,2033,2027,42,444,2077,2070,0,2173,2179,2168,2027,2033,2022,42,443,2076,2075,0,2181,2178,2180,2035,2032,2034,42,2075,2076,2077,0,2180,2178,2179,2034,2032,2033,42,2079,2078,2080,0,2182,2183,2184,2036,2037,2038,42,2078,2079,360,0,2183,2182,429,2037,2036,423,42,2080,433,1865,0,2184,1889,1887,2038,1774,1773,42,433,2080,2078,0,1889,2184,2183,1774,2038,2037,42,2073,1865,432,0,2185,1887,1888,2031,1773,1765,42,1865,2073,2080,0,1887,2185,2184,1773,2031,2038,42,304,2080,2073,0,2186,2184,2185,2030,2038,2031,42,2080,304,2079,0,2184,2186,2182,2038,2030,2036,42,2076,2079,304,0,2187,2182,2186,2032,2036,2030,42,2079,2076,2083,0,2182,2187,2188,2036,2032,2039,42,443,2083,2076,0,2189,2188,2187,2035,2039,2032,42,2083,443,2081,0,2188,2189,2190,2039,2035,2040,42,2081,2082,2083,0,2190,2191,2188,2040,2041,2039,42,2082,2081,442,0,2191,2190,454,2041,2040,448,42,2083,360,2079,0,2188,429,2182,2039,423,2036,42,360,2083,2082,0,429,2188,2191,423,2039,2041,42,2084,2086,306,0,2192,2193,2194,2042,2043,2044,42,2086,2084,2087,0,2193,2192,2195,2043,2042,2045,42,2087,2084,2085,0,2195,2192,2196,2045,2042,2046,42,2084,362,2085,0,2192,2197,2196,2042,2047,2046,42,856,2085,361,0,425,2196,428,419,2046,422,42,2085,856,2087,0,2196,425,2195,2046,419,2045,42,305,2087,856,0,431,2195,425,425,2045,419,42,2087,305,2086,0,2195,431,2193,2045,425,2043,42,2089,2088,2090,0,2198,2199,2200,2048,2049,2050,42,2088,2089,365,0,2199,2198,2201,2049,2048,2051,42,2090,306,2086,0,2200,2194,2193,2050,2044,2043,42,306,2090,2088,0,2194,2200,2199,2044,2050,2049,42,859,2086,305,0,433,2193,431,427,2043,425,42,2086,859,2090,0,2193,433,2200,2043,427,2050,42,367,2090,859,0,435,2200,433,429,2050,427,42,2090,367,2089,0,2200,435,2198,2050,429,2048,42,2093,362,2084,0,2202,2197,2192,2052,2047,2042,42,362,2093,2092,0,2197,2202,2203,2047,2052,2053,42,2091,2084,306,0,2204,2192,2194,2054,2042,2044,42,2084,2091,2093,0,2192,2204,2202,2042,2054,2052,42,307,2093,2091,0,437,2202,2204,431,2052,2054,42,2093,307,863,0,2202,437,439,2052,431,433,42,863,2092,2093,0,439,2203,2202,433,2053,2052,42,2092,863,363,0,2203,439,442,2053,433,436,42,2094,2088,365,0,2205,2199,2201,2055,2049,2051,42,2088,2094,2095,0,2199,2205,2206,2049,2055,2056,42,366,2095,2094,0,446,2206,2205,440,2056,2055,42,2095,366,866,0,2206,446,443,2056,440,437,42,866,2091,2095,0,443,2204,2206,437,2054,2056,42,2091,866,307,0,2204,443,437,2054,437,431,42,2095,306,2088,0,2206,2194,2199,2056,2044,2049,42,306,2095,2091,0,2194,2206,2204,2044,2056,2054,42,2098,1837,2099,0,2207,1843,2208,2057,1735,2058,42,1837,2098,429,0,1843,2207,1845,1735,2057,1737,42,2099,428,2096,0,2208,1844,2209,2058,1736,2059,42,428,2099,1837,0,1844,2208,1843,1736,2058,1735,42,2097,2096,334,0,2210,2209,2211,2060,2059,2061,42,2096,2097,2099,0,2209,2210,2208,2059,2060,2058,42,308,2099,2097,0,2212,2208,2210,2062,2058,2060,42,2099,308,2098,0,2208,2212,2207,2058,2062,2057,42,2100,2102,437,0,2213,2214,2215,2063,2064,2065,42,2102,2100,2103,0,2214,2213,2216,2064,2063,2066,42,436,2103,2100,0,2217,2216,2213,2067,2066,2063,42,2103,436,2101,0,2216,2217,2218,2066,2067,2068,42,2101,2097,2103,0,2218,2210,2216,2068,2060,2066,42,2097,2101,308,0,2210,2218,2212,2060,2068,2062,42,2103,334,2102,0,2216,2211,2214,2066,2061,2064,42,334,2103,2097,0,2211,2216,2210,2061,2066,2060,42,2104,2098,308,0,2219,2207,2212,2069,2057,2062,42,2098,2104,2105,0,2207,2219,2220,2057,2069,2070,42,434,2105,2104,0,2166,2220,2219,2020,2070,2069,42,2105,434,2064,0,2220,2166,2164,2070,2020,2018,42,2064,1846,2105,0,2164,1859,2220,2018,1749,2070,42,1846,2064,430,0,1859,2164,1860,1749,2018,1750,42,2105,429,2098,0,2220,1845,2207,2070,1737,2057,42,429,2105,1846,0,1845,2220,1859,1737,2070,1749,42,2068,2104,2107,0,2170,2219,2221,2024,2069,2071,42,2104,2068,434,0,2219,2170,2166,2069,2024,2020,42,2107,308,2101,0,2221,2212,2218,2071,2062,2068,42,308,2107,2104,0,2212,2221,2219,2062,2071,2069,42,2106,2101,436,0,2222,2218,2217,2072,2068,2067,42,2101,2106,2107,0,2218,2222,2221,2068,2072,2071,42,435,2107,2106,0,2172,2221,2222,2026,2071,2072,42,2107,435,2068,0,2221,2172,2170,2071,2026,2024,42,2108,879,439,0,2223,467,466,2073,461,460,42,879,2108,2111,0,467,2223,2224,461,2073,2074,42,2111,440,2109,0,2224,2225,2226,2074,2075,2076,42,440,2111,2108,0,2225,2224,2223,2075,2074,2073,42,2110,2109,309,0,2227,2226,451,2077,2076,445,42,2109,2110,2111,0,2226,2227,2224,2076,2077,2074,42,311,2111,2110,0,468,2224,2227,462,2074,2077,42,2111,311,879,0,2224,468,467,2074,462,461,42,2109,440,2113,0,2226,2225,2228,2076,2075,2078,42,2113,440,2112,0,2228,2225,2229,2078,2075,2079,42,2113,2112,873,0,2228,2229,458,2078,2079,452,42,873,2112,441,0,458,2229,459,452,2079,453,42,310,2113,873,0,453,2228,458,447,2078,452,42,310,869,2113,0,453,452,2228,447,446,2078,42,869,309,2109,0,452,451,2226,446,445,2076,42,869,2109,2113,0,452,2226,2228,446,2076,2078,42,868,2114,2115,0,447,2230,2231,441,2080,2081,42,2114,868,318,0,2230,447,449,2080,441,443,42,2115,317,883,0,2231,474,473,2081,468,467,42,317,2115,2114,0,474,2231,2230,468,2081,2080,42,2110,883,311,0,2227,473,468,2077,467,462,42,883,2110,2115,0,473,2227,2231,467,2077,2081,42,309,2115,2110,0,451,2231,2227,445,2081,2077,42,2115,309,868,0,2231,451,447,2081,445,441,42,2116,2081,443,0,2232,2190,2189,2082,2040,2035,42,2081,2116,2117,0,2190,2232,2233,2040,2082,2083,42,316,2117,2116,0,463,2233,2232,457,2083,2082,42,2117,316,877,0,2233,463,460,2083,457,454,42,877,872,2117,0,460,455,2233,454,449,2083,42,872,877,310,0,455,460,453,449,454,447,42,2117,442,2081,0,2233,454,2190,2083,448,2040,42,442,2117,872,0,454,2233,455,448,2083,449,42,885,880,311,0,472,469,468,466,463,462,42,880,885,2120,0,469,472,2234,463,466,2084,42,312,2120,885,0,476,2234,472,470,2084,466,42,2120,312,2118,0,2234,476,2235,2084,470,2085,42,2118,2119,2120,0,2235,2236,2234,2085,2086,2084,42,2119,2118,437,0,2236,2235,2237,2086,2085,2065,42,2120,438,880,0,2234,470,469,2084,464,463,42,438,2120,2119,0,470,2234,2236,464,2084,2086,42,2121,2100,2122,0,2238,2213,2239,2087,2063,2088,42,2100,2121,436,0,2213,2238,2217,2063,2087,2067,42,2122,437,2118,0,2239,2215,2240,2088,2065,2085,42,437,2122,2100,0,2215,2239,2213,2065,2088,2063,42,888,2118,312,0,480,2240,478,472,2085,470,42,2118,888,2122,0,2240,480,2239,2085,472,2088,42,313,2122,888,0,483,2239,480,474,2088,472,42,2122,313,2121,0,2239,483,2238,2088,474,2087,42,2123,2106,2124,0,2241,2222,2242,2089,2072,2090,42,2106,2123,435,0,2222,2241,2172,2072,2089,2026,42,2124,436,2121,0,2242,2217,2238,2090,2067,2087,42,436,2124,2106,0,2217,2242,2222,2067,2090,2072,42,891,2121,313,0,485,2238,483,476,2087,474,42,2121,891,2124,0,2238,485,2242,2087,476,2090,42,314,2124,891,0,487,2242,485,478,2090,476,42,2124,314,2123,0,2242,487,2241,2090,478,2089,42,2126,2069,2127,0,2243,2171,2244,2091,2025,2092,42,2069,2126,444,0,2171,2243,2173,2025,2091,2027,42,2127,435,2123,0,2244,2172,2241,2092,2026,2089,42,435,2127,2069,0,2172,2244,2171,2026,2092,2025,42,2125,2123,314,0,2245,2241,487,2093,2089,478,42,2123,2125,2127,0,2241,2245,2244,2089,2093,2092,42,315,2127,2125,0,489,2244,2245,480,2092,2093,42,2127,315,2126,0,2244,489,2243,2092,480,2091,42,2130,2128,2131,0,2246,2247,2248,2094,2095,2096,42,2128,2130,378,0,2247,2246,2249,2095,2094,2097,42,2131,377,905,0,2248,509,506,2096,497,494,42,377,2131,2128,0,509,2248,2247,497,2096,2095,42,324,2129,2131,0,512,2250,2248,500,2098,2096,42,324,2131,905,0,512,2248,506,500,2096,494,42,2129,319,2130,0,2250,2251,2246,2098,2099,2094,42,2129,2130,2131,0,2250,2246,2248,2098,2094,2096,42,898,2132,2134,0,498,2252,2253,486,2100,2101,42,2132,898,379,0,2252,498,501,2100,486,489,42,2134,378,2130,0,2253,2249,2246,2101,2097,2094,42,378,2134,2132,0,2249,2253,2252,2097,2101,2100,42,2133,2130,319,0,2254,2246,2251,2102,2094,2099,42,2130,2133,2134,0,2246,2254,2253,2094,2102,2101,42,320,2134,2133,0,496,2253,2254,484,2101,2102,42,2134,320,898,0,2253,496,498,2101,484,486,42,2135,2136,382,0,2255,2256,2257,2103,2104,2105,42,2136,2135,2137,0,2256,2255,2258,2104,2103,2106,42,381,2137,2135,0,504,2258,2255,492,2106,2103,42,2137,381,901,0,2258,504,503,2106,492,491,42,901,2133,2137,0,503,2254,2258,491,2102,2106,42,2133,901,320,0,2254,503,496,2102,491,484,42,2137,319,2136,0,2258,2251,2256,2106,2099,2104,42,319,2137,2133,0,2251,2258,2254,2099,2106,2102,42,2138,2136,2139,0,2259,2256,2260,2107,2104,2108,42,2136,2138,382,0,2256,2259,2257,2104,2107,2105,42,2139,319,2129,0,2260,2251,2250,2108,2099,2098,42,319,2139,2136,0,2251,2260,2256,2099,2108,2104,42,908,2129,324,0,514,2250,512,502,2098,500,42,2129,908,2139,0,2250,514,2260,2098,502,2108,42,383,2139,908,0,516,2260,514,504,2108,502,42,2139,383,2138,0,2260,516,2259,2108,504,2107,42,2142,1800,2143,0,2261,1786,2262,2109,1686,2110,42,1800,2142,401,0,1786,2261,1788,1686,2109,1680,42,2143,400,2140,0,2262,1787,2263,2110,1687,2111,42,400,2143,1800,0,1787,2262,1786,1687,2110,1686,42,2141,2140,380,0,2264,2263,499,2112,2111,487,42,2140,2141,2143,0,2263,2264,2262,2111,2112,2110,42,321,2143,2141,0,2265,2262,2264,2113,2110,2112,42,2143,321,2142,0,2262,2265,2261,2110,2113,2109,42,2145,1794,2146,0,2266,1776,2267,2114,1679,2115,42,1794,2145,402,0,1776,2266,1768,1679,2114,1671,42,2146,401,2142,0,2267,1777,2268,2115,1680,2109,42,401,2146,1794,0,1777,2267,1776,1680,2115,1679,42,2144,2142,321,0,2269,2268,2270,2116,2109,2113,42,2142,2144,2146,0,2268,2269,2267,2109,2116,2115,42,322,2146,2144,0,2271,2267,2269,2117,2115,2116,42,2146,322,2145,0,2267,2271,2266,2115,2117,2114,42,2149,2141,2150,0,2272,2264,2273,2118,2112,2119,42,2141,2149,321,0,2264,2272,2265,2112,2118,2113,42,2150,380,2147,0,2273,499,2274,2119,487,2120,42,380,2150,2141,0,499,2273,2264,487,2119,2112,42,2148,2147,386,0,2275,2274,540,2121,2120,528,42,2147,2148,2150,0,2274,2275,2273,2120,2121,2119,42,387,2150,2148,0,2276,2273,2275,2122,2119,2121,42,2150,387,2149,0,2273,2276,2272,2119,2122,2118,42,2152,2144,2153,0,2277,2269,2278,2123,2116,2124,42,2144,2152,322,0,2269,2277,2271,2116,2123,2117,42,2153,321,2149,0,2278,2270,2279,2124,2113,2118,42,321,2153,2144,0,2270,2278,2269,2113,2124,2116,42,2151,2149,387,0,2280,2279,2281,2125,2118,2122,42,2149,2151,2153,0,2279,2280,2278,2118,2125,2124,42,388,2153,2151,0,2282,2278,2280,2126,2124,2125,42,2153,388,2152,0,2278,2282,2277,2124,2126,2123,42,2154,2145,322,0,2283,2266,2271,2127,2114,2117,42,2145,2154,2156,0,2266,2283,2284,2114,2127,2128,42,393,2155,2154,0,2285,2286,2283,2129,2130,2127,42,2154,2155,2156,0,2283,2286,2284,2127,2130,2128,42,2155,394,2156,0,2286,1760,2284,2130,1664,2128,42,2156,394,1788,0,2284,1760,1769,2128,1664,1672,42,1788,2145,2156,0,1769,2266,2284,1672,2114,2128,42,2145,1788,402,0,2266,1769,1768,2114,1672,1671,42,2159,2158,393,0,2287,2288,2285,2131,2132,2129,42,2159,393,2154,0,2287,2285,2283,2131,2129,2127,42,2159,322,2152,0,2287,2271,2277,2131,2117,2123,42,322,2159,2154,0,2271,2287,2283,2117,2131,2127,42,2157,2152,388,0,2289,2277,2282,2133,2123,2126,42,2152,2157,2159,0,2277,2289,2287,2123,2133,2131,42,389,2159,2157,0,2290,2287,2289,2134,2131,2133,42,2159,389,2158,0,2287,2290,2288,2131,2134,2132,42,2155,1782,394,0,2286,1759,1760,2130,1663,1664,42,1782,2155,2162,0,1759,2286,2291,1663,2130,2135,42,393,2162,2155,0,2285,2291,2286,2129,2135,2130,42,2162,393,2160,0,2291,2285,2292,2135,2129,2136,42,2160,2161,2162,0,2292,2293,2291,2136,2137,2135,42,2161,2160,323,0,2293,2292,2294,2137,2136,2138,42,2162,395,1782,0,2291,1761,1759,2135,1659,1663,42,395,2162,2161,0,1761,2291,2293,1659,2135,2137,42,2158,2160,393,0,2288,2292,2285,2132,2136,2129,42,2160,2158,2165,0,2292,2288,2295,2136,2132,2139,42,389,2165,2158,0,2290,2295,2288,2134,2139,2132,42,2165,389,2163,0,2295,2290,2296,2139,2134,2140,42,2163,2164,2165,0,2296,2297,2295,2140,2141,2139,42,2164,2163,390,0,2297,2296,2298,2141,2140,2142,42,2165,323,2160,0,2295,2294,2292,2139,2138,2136,42,323,2165,2164,0,2294,2295,2297,2138,2139,2141,42,2161,1778,395,0,2299,1753,1754,2137,1658,1659,42,1778,2161,2168,0,1753,2299,2300,1658,2137,2143,42,323,2168,2161,0,2301,2300,2299,2138,2143,2137,42,2168,323,2166,0,2300,2301,2302,2143,2138,2144,42,2166,2167,2168,0,2302,2303,2300,2144,2145,2143,42,2167,2166,376,0,2303,2302,510,2145,2144,498,42,2168,396,1778,0,2300,1755,1753,2143,1660,1658,42,396,2168,2167,0,1755,2300,2303,1660,2143,2145,42,2170,2169,2171,0,2304,2305,2306,2146,2147,2148,42,2169,2170,391,0,2305,2304,524,2147,2146,512,42,2171,376,2166,0,2306,510,2302,2148,498,2144,42,376,2171,2169,0,510,2306,2305,498,2148,2147,42,2164,2166,323,0,2307,2302,2301,2141,2144,2138,42,2166,2164,2171,0,2302,2307,2306,2144,2141,2148,42,390,2171,2164,0,2308,2306,2307,2142,2148,2141,42,2171,390,2170,0,2306,2308,2304,2148,2142,2146,42,911,2172,2174,0,522,2309,2310,510,2149,2150,42,2172,911,327,0,2309,522,521,2149,510,509,42,2174,384,2173,0,2310,2311,2312,2150,2151,2152,42,384,2174,2172,0,2311,2310,2309,2151,2150,2149,42,915,2173,392,0,528,2312,529,516,2152,517,42,2173,915,2174,0,2312,528,2310,2152,516,2150,42,325,2174,915,0,523,2310,528,511,2150,516,42,2174,325,911,0,2310,523,522,2150,511,510,42,2175,2170,390,0,2313,2304,2308,2153,2146,2142,42,2170,2175,2176,0,2304,2313,2314,2146,2153,2154,42,2176,331,918,0,2314,533,530,2154,521,518,42,331,2176,2175,0,533,2314,2313,521,2154,2153,42,325,2176,918,0,523,2314,530,511,2154,518,42,2176,325,914,0,2314,523,525,2154,511,513,42,914,2170,2176,0,525,2304,2314,513,2146,2154,42,2170,914,391,0,2304,525,524,2146,513,512,42,927,922,326,0,543,538,539,531,526,527,42,922,927,2178,0,538,543,2315,526,531,2155,42,328,2178,927,0,546,2315,543,534,2155,531,42,2178,328,2177,0,2315,546,2316,2155,534,2156,42,2177,2148,2178,0,2316,2275,2315,2156,2121,2155,42,2148,2177,387,0,2275,2316,2276,2121,2156,2122,42,2178,2148,922,0,2315,2275,538,2155,2121,526,42,922,2148,386,0,538,2275,540,526,2121,528,42,2179,2172,327,0,2317,2309,521,2157,2149,509,42,2172,2179,2181,0,2309,2317,2318,2149,2157,2158,42,326,2181,2179,0,539,2318,2317,527,2158,2157,42,2181,326,921,0,2318,539,537,2158,527,525,42,921,2180,2181,0,537,2319,2318,525,2159,2158,42,2180,921,385,0,2319,537,536,2159,525,524,42,2181,384,2172,0,2318,2311,2309,2158,2151,2149,42,384,2181,2180,0,2311,2318,2319,2151,2158,2159,42,925,2179,2183,0,541,2317,2320,529,2157,2160,42,2179,925,326,0,2317,541,539,2157,529,527,42,2183,327,910,0,2320,521,519,2160,509,507,42,327,2183,2179,0,521,2320,2317,509,2160,2157,42,910,2182,2183,0,519,2321,2320,507,2161,2160,42,2182,910,333,0,2321,519,518,2161,507,506,42,2183,332,925,0,2320,544,541,2160,532,529,42,332,2183,2182,0,544,2320,2321,532,2160,2161,42,2185,387,2177,0,2322,2281,2323,2162,2122,2156,42,387,2185,2151,0,2281,2322,2280,2122,2162,2125,42,930,2177,328,0,550,2323,548,536,2156,534,42,2177,930,2185,0,2323,550,2322,2156,536,2162,42,930,2184,2185,0,550,2324,2322,536,2163,2162,42,2184,930,329,0,2324,550,553,2163,536,538,42,2185,388,2151,0,2322,2282,2280,2162,2126,2125,42,388,2185,2184,0,2282,2322,2324,2126,2162,2163,42,2188,2187,389,0,2325,2326,2290,2164,2165,2134,42,2188,389,2157,0,2325,2290,2289,2164,2134,2133,42,2188,2157,2184,0,2325,2289,2324,2164,2133,2163,42,2184,2157,388,0,2324,2289,2282,2163,2133,2126,42,2186,2188,329,0,2327,2325,553,2166,2164,538,42,329,2188,2184,0,553,2325,2324,538,2164,2163,42,2186,330,2187,0,2327,555,2326,2166,540,2165,42,2186,2187,2188,0,2327,2326,2325,2166,2165,2164,42,2191,2190,334,0,2328,2329,2330,2167,2168,2061,42,334,2096,2191,0,2330,2331,2328,2061,2059,2167,42,1841,2191,2096,0,1848,2328,2331,1740,2167,2059,42,2096,428,1841,0,2331,1849,1848,2059,1736,1740,42,427,2189,2191,0,1852,2332,2328,1742,2169,2167,42,2191,1841,427,0,2328,1848,1852,2167,1740,1742,42,2189,364,2190,0,2332,440,2329,2169,434,2168,42,2190,2191,2189,0,2329,2328,2332,2168,2167,2169,42,364,2193,2190,0,440,2333,2329,434,2170,2168,42,2193,364,2192,0,2333,440,2334,2170,434,2171,42,2119,2193,2192,0,2236,2333,2334,2086,2170,2171,42,2119,2192,438,0,2236,2334,470,2086,2171,464,42,437,2193,2119,0,2237,2333,2236,2065,2170,2086,42,437,2102,2193,0,2237,2335,2333,2065,2064,2170,42,2102,2190,2193,0,2335,2329,2333,2064,2168,2170,42,2190,2102,334,0,2329,2335,2330,2168,2064,2061,42,1885,765,335,0,1913,281,276,1795,281,276,42,765,1885,2196,0,281,1913,2336,281,1795,2172,42,464,2196,1885,0,1918,2336,1913,1798,2172,1795,42,2196,464,2194,0,2336,1918,2337,2172,1798,2173,42,2194,2195,2196,0,2337,2338,2336,2173,2174,2172,42,2195,2194,465,0,2338,2337,2339,2174,2173,2175,42,2196,336,765,0,2336,282,281,2172,282,281,42,336,2196,2195,0,282,2336,2338,282,2172,2174,42,2195,1653,336,0,2338,1577,282,2174,1502,282,42,1653,2195,2199,0,1577,2338,2340,1502,2174,2176,42,465,2199,2195,0,2339,2340,2338,2175,2176,2174,42,2199,465,2197,0,2340,2339,2341,2176,2175,2177,42,456,2199,2197,0,2342,2340,2341,2178,2176,2177,42,2199,456,2198,0,2340,2342,2343,2176,2178,2179,42,2198,1653,2199,0,2343,1577,2340,2179,1502,2176,42,1653,2198,455,0,1577,2343,1578,1502,2179,1503,42,1813,1656,2201,0,1805,1581,2344,1704,1506,2180,42,1656,1813,337,0,1581,1805,292,1506,1704,292,42,2201,455,2198,0,2344,1578,2343,2180,1503,2179,42,455,2201,1656,0,1578,2344,1581,1503,2180,1506,42,2200,2198,456,0,2345,2343,2342,2181,2179,2178,42,2198,2200,2201,0,2343,2345,2344,2179,2181,2180,42,457,2201,2200,0,1807,2344,2345,1706,2180,2181,42,2201,457,1813,0,2344,1807,1805,2180,1706,1704,42,1961,466,803,0,2020,342,341,1892,342,341,42,803,2203,1961,0,341,2346,2020,341,2182,1892,42,338,2203,803,0,339,2346,341,339,2182,341,42,2203,338,2202,0,2346,339,2347,2182,339,2183,42,465,2203,2202,0,2339,2346,2347,2175,2182,2183,42,2203,465,2194,0,2346,2339,2337,2182,2175,2173,42,2203,464,1961,0,2346,1918,2020,2182,1798,1892,42,464,2203,2194,0,1918,2346,2337,1798,2182,2173,42,1918,2205,338,0,1959,2348,339,1835,2184,339,42,338,2205,2202,0,339,2348,2347,339,2184,2183,42,339,2204,1918,0,1964,2349,1959,1840,2185,1835,42,1918,2204,2205,0,1959,2349,2348,1835,2185,2184,42,456,2205,2204,0,2342,2348,2349,2178,2184,2185,42,2205,456,2197,0,2348,2342,2341,2184,2178,2177,42,2205,2197,2202,0,2348,2341,2347,2184,2177,2183,42,2202,2197,465,0,2347,2341,2339,2183,2177,2175,42,1963,807,466,0,2026,347,342,1896,347,342,42,807,1963,2207,0,347,2026,2350,347,1896,2186,42,467,2207,1963,0,352,2350,2026,352,2186,1896,42,2207,467,812,0,2350,352,349,2186,352,349,42,2206,812,476,0,2351,349,355,2187,349,355,42,812,2206,2207,0,349,2351,2350,349,2187,2186,42,341,2207,2206,0,348,2350,2351,348,2186,2187,42,2207,341,807,0,2350,348,347,2186,348,347,42,1970,2208,2209,0,2038,2352,2353,1906,2188,2189,42,2208,1970,475,0,2352,2038,2035,2188,1906,1903,42,2209,342,1926,0,2353,1971,1973,2189,1847,1849,42,342,2209,2208,0,1971,2353,2352,1847,2189,2188,42,2206,1926,341,0,2351,1973,348,2187,1849,348,42,1926,2206,2209,0,1973,2351,2353,1849,2187,2189,42,476,2209,2206,0,355,2353,2351,355,2189,2187,42,2209,476,1970,0,2353,355,2038,2189,355,1906,42,1907,775,2211,0,1944,297,2354,1824,297,2190,42,775,1907,346,0,297,1944,298,297,1824,298,42,344,2211,775,0,296,2354,297,296,2190,297,42,2211,344,2210,0,2354,296,2355,2190,296,2191,42,2210,1516,2211,0,2355,1378,2354,2191,1320,2190,42,1516,2210,484,0,1378,2355,1377,1320,2191,1319,42,2211,483,1907,0,2354,1380,1944,2190,1322,1824,42,483,2211,1516,0,1380,2354,1378,1322,2190,1320,42,1659,2210,344,0,1584,2355,296,1509,2191,296,42,2210,1659,2212,0,2355,1584,2356,2191,1509,2192,42,345,2212,1659,0,227,2356,1584,227,2192,1509,42,2212,345,1756,0,2356,227,1720,2192,227,1629,42,1756,1514,2212,0,1720,1376,2356,1629,1318,2192,42,1514,1756,477,0,1376,1720,1358,1318,1629,1300,42,2212,484,2210,0,2356,1377,2355,2192,1319,2191,42,484,2212,1514,0,1377,2356,1376,1319,2192,1318,42,1910,779,346,0,1949,303,298,1827,303,298,42,779,1910,2215,0,303,1949,2357,303,1827,2193,42,492,2215,1910,0,1954,2357,1949,1830,2193,1827,42,2215,492,2213,0,2357,1954,2358,2193,1830,2194,42,2213,2214,2215,0,2358,2359,2357,2194,2195,2193,42,2214,2213,493,0,2359,2358,2360,2195,2194,2196,42,2215,347,779,0,2357,304,303,2193,304,303,42,347,2215,2214,0,304,2357,2359,304,2193,2195,42,2214,1661,347,0,2359,1585,304,2195,1510,304,42,1661,2214,2217,0,1585,2359,2361,1510,2195,2197,42,493,2217,2214,0,2360,2361,2359,2196,2197,2195,42,2217,493,2216,0,2361,2360,2362,2197,2196,2198,42,486,2217,2216,0,1734,2361,2362,1643,2197,2198,42,2217,486,1765,0,2361,1734,1732,2197,1643,1641,42,1765,1661,2217,0,1732,1585,2361,1641,1510,2197,42,1661,1765,485,0,1585,1732,231,1510,1641,231,42,2028,828,2219,0,2111,386,2363,1974,380,2199,42,828,2028,348,0,386,2111,387,380,1974,381,42,349,2219,828,0,385,2363,386,379,2199,380,42,2219,349,2218,0,2363,385,2364,2199,379,2200,42,2218,2213,2219,0,2364,2358,2363,2200,2194,2199,42,2213,2218,493,0,2358,2364,2360,2194,2200,2196,42,2219,492,2028,0,2363,1954,2111,2199,1830,1974,42,492,2219,2213,0,1954,2363,2358,1830,2199,2194,42,2031,832,348,0,2112,392,387,1975,386,381,42,832,2031,2221,0,392,2112,2365,386,1975,2201,42,502,2221,2031,0,2117,2365,2112,1978,2201,1975,42,2221,502,2038,0,2365,2117,2128,2201,1978,1989,42,2038,2220,2221,0,2128,2366,2365,1989,2202,2201,42,2220,2038,495,0,2366,2128,2122,2202,1989,1983,42,2221,494,832,0,2365,393,392,2201,387,386,42,494,2221,2220,0,393,2365,2366,387,2201,2202,42,1997,350,2223,0,2068,400,2367,1933,394,2203,42,350,2222,2223,0,400,2368,2367,394,2204,2203,42,2223,2222,2216,0,2367,2368,2362,2203,2204,2198,42,2222,486,2216,0,2368,1734,2362,2204,1643,2198,42,2218,2223,493,0,2364,2367,2360,2200,2203,2196,42,2223,2216,493,0,2367,2362,2360,2203,2198,2196,42,2223,2218,1997,0,2367,2364,2068,2203,2200,1933,42,349,1997,2218,0,385,2068,2364,379,1933,2200,42,839,2005,351,0,401,2079,398,395,1944,392,42,2005,839,2225,0,2079,401,2369,1944,395,2205,42,2225,352,2224,0,2369,403,2370,2205,397,2206,42,352,2225,839,0,403,2369,401,397,2205,395,42,2048,2224,496,0,2143,2370,2121,2e3,2206,1982,42,2224,2048,2225,0,2370,2143,2369,2206,2e3,2205,42,497,2225,2048,0,2081,2369,2143,1946,2205,2e3,42,2225,497,2005,0,2369,2081,2079,2205,1946,1944,42,2226,494,2220,0,2371,393,2366,2207,387,2202,42,494,2226,1999,0,393,2371,2071,387,2207,1936,42,2033,2220,495,0,2119,2366,2122,1980,2202,1983,42,2220,2033,2226,0,2366,2119,2371,2202,1980,2207,42,496,2226,2033,0,2121,2371,2119,1982,2207,1980,42,2226,496,2224,0,2371,2121,2370,2207,1982,2206,42,2224,1999,2226,0,2370,2071,2371,2206,1936,2207,42,1999,2224,352,0,2071,2370,403,1936,2206,397,42,1829,755,353,0,1832,266,265,1726,266,265,42,755,1829,2228,0,266,1832,2372,266,1726,2208,42,417,2228,1829,0,1419,2372,1832,1361,2208,1726,42,2228,417,1544,0,2372,1419,1418,2208,1361,1360,42,1544,2227,2228,0,1418,2373,2372,1360,2209,2208,42,2227,1544,416,0,2373,1418,1411,2209,1360,1353,42,2228,354,755,0,2372,267,266,2208,267,266,42,354,2228,2227,0,267,2372,2373,267,2208,2209,42,758,1840,353,0,269,1851,265,269,1741,265,42,1840,758,2231,0,1851,269,2374,1741,269,2210,42,2231,359,2229,0,2374,271,2375,2210,271,2211,42,359,2231,758,0,271,2374,269,271,2210,269,42,2230,2229,426,0,2376,2375,2377,2212,2211,2213,42,2229,2230,2231,0,2375,2376,2374,2211,2212,2210,42,427,2231,2230,0,1852,2374,2376,1742,2210,2212,42,2231,427,1840,0,2374,1852,1851,2210,1742,1741,42,1636,2227,2233,0,1553,2373,2378,1478,2209,2214,42,2227,1636,354,0,2373,1553,267,2209,1478,267,42,2233,416,1538,0,2378,1411,1410,2214,1353,1352,42,416,2233,2227,0,1411,2378,2373,1353,2214,2209,42,2232,1538,415,0,2379,1410,1409,2215,1352,1351,42,1538,2232,2233,0,1410,2379,2378,1352,2215,2214,42,355,2233,2232,0,1554,2378,2379,1479,2214,2215,42,2233,355,1636,0,2378,1554,1553,2214,1479,1478,42,1638,2234,356,0,1559,2380,251,1484,2216,251,42,2234,1638,2235,0,2380,1559,2381,2216,1484,2217,42,2232,1638,355,0,2379,1559,1554,2215,1484,1479,42,1638,2232,2235,0,1559,2379,2381,1484,2215,2217,42,2232,415,2235,0,2379,1409,2381,2215,1351,2217,42,2235,415,1541,0,2381,1409,1412,2217,1351,1354,42,2235,414,2234,0,2381,1414,2380,2217,1356,2216,42,414,2235,1541,0,1414,2381,1412,1356,2217,1354,42,1866,751,357,0,1885,259,254,1772,259,254,42,751,1866,2238,0,259,1885,2382,259,1772,2218,42,433,2238,1866,0,1889,2382,1885,1774,2218,1772,42,2238,433,2236,0,2382,1889,2383,2218,1774,2219,42,2236,2237,2238,0,2383,2384,2382,2219,2220,2218,42,2237,2236,424,0,2384,2383,2385,2220,2219,2221,42,2238,423,751,0,2382,260,259,2218,260,259,42,423,2238,2237,0,260,2382,2384,260,2218,2220,42,2237,1641,423,0,2384,1563,260,2220,1488,260,42,1641,2237,2241,0,1563,2384,2386,1488,2220,2222,42,424,2241,2237,0,2385,2386,2384,2221,2222,2220,42,2241,424,2239,0,2386,2385,2387,2222,2221,2223,42,425,2241,2239,0,2388,2386,2387,2224,2222,2223,42,2241,425,2240,0,2386,2388,2389,2222,2224,2225,42,2241,358,1641,0,2386,1564,1563,2222,1489,1488,42,358,2241,2240,0,1564,2386,2389,1489,2222,2225,42,2242,426,2243,0,2390,2377,2391,2226,2213,2227,42,426,2229,2243,0,2377,2375,2391,2213,2211,2227,42,2243,2229,1644,0,2391,2375,1566,2227,2211,1491,42,2229,359,1644,0,2375,271,1566,2211,271,1491,42,2240,2243,358,0,2389,2391,1564,2225,2227,1489,42,2243,1644,358,0,2391,1566,1564,2227,1491,1489,42,425,2242,2240,0,2388,2390,2389,2224,2226,2225,42,2242,2243,2240,0,2390,2391,2389,2226,2227,2225,42,2078,854,2245,0,2183,426,2392,2037,420,2228,42,854,2078,360,0,426,2183,429,420,2037,423,42,361,2245,854,0,428,2392,426,422,2228,420,42,2245,361,2244,0,2392,428,2393,2228,422,2229,42,2244,2236,2245,0,2393,2383,2392,2229,2219,2228,42,2236,2244,424,0,2383,2393,2385,2219,2229,2221,42,2245,433,2078,0,2392,1889,2183,2228,1774,2037,42,433,2245,2236,0,1889,2392,2383,1774,2228,2219,42,2082,858,360,0,2191,434,429,2041,428,423,42,858,2082,2247,0,434,2191,2394,428,2041,2230,42,442,2247,2082,0,454,2394,2191,448,2230,2041,42,2247,442,874,0,2394,454,457,2230,448,451,42,874,2246,2247,0,457,2395,2394,451,2231,2230,42,2246,874,441,0,2395,457,459,2231,451,453,42,2247,367,858,0,2394,435,434,2230,429,428,42,367,2247,2246,0,435,2394,2395,429,2230,2231,42,2085,2244,361,0,2196,2393,428,2046,2229,422,42,2244,2085,2249,0,2393,2196,2396,2229,2046,2232,42,362,2249,2085,0,2197,2396,2196,2047,2232,2046,42,2249,362,2248,0,2396,2197,2397,2232,2047,2233,42,2248,2239,2249,0,2397,2387,2396,2233,2223,2232,42,2239,2248,425,0,2387,2397,2388,2223,2233,2224,42,2249,2239,2244,0,2396,2387,2393,2232,2223,2229,42,2244,2239,424,0,2393,2387,2385,2229,2223,2221,42,2092,363,2251,0,2203,442,2398,2053,436,2234,42,363,2250,2251,0,442,2399,2398,436,2235,2234,42,2251,2250,2242,0,2398,2399,2390,2234,2235,2226,42,2250,426,2242,0,2399,2377,2390,2235,2213,2226,42,2248,2251,425,0,2397,2398,2388,2233,2234,2224,42,2251,2242,425,0,2398,2390,2388,2234,2226,2224,42,362,2092,2248,0,2197,2203,2397,2047,2053,2233,42,2092,2251,2248,0,2203,2398,2397,2053,2234,2233,42,865,2192,364,0,444,2334,440,438,2171,434,42,2192,865,2253,0,2334,444,2400,2171,438,2236,42,366,2253,865,0,446,2400,444,440,2236,438,42,2253,366,2252,0,2400,446,2401,2236,440,2237,42,2252,881,2253,0,2401,465,2400,2237,459,2236,42,881,2252,439,0,465,2401,466,459,2237,460,42,438,2253,881,0,470,2400,465,464,2236,459,42,2253,438,2192,0,2400,470,2334,2236,464,2171,42,2252,2094,2255,0,2401,2205,2402,2237,2055,2238,42,2094,2252,366,0,2205,2401,446,2055,2237,440,42,2255,365,2254,0,2402,2201,2403,2238,2051,2239,42,365,2255,2094,0,2201,2402,2205,2051,2238,2055,42,2108,2254,440,0,2223,2403,2225,2073,2239,2075,42,2254,2108,2255,0,2403,2223,2402,2239,2073,2238,42,439,2255,2108,0,466,2402,2223,460,2238,2073,42,2255,439,2252,0,2402,466,2401,2238,460,2237,42,1772,789,2257,0,1739,317,2404,1646,317,2240,42,789,1772,375,0,317,1739,320,317,1646,320,42,368,2257,789,0,319,2404,317,319,2240,317,42,2257,368,2256,0,2404,319,2405,2240,319,2241,42,2256,1586,2257,0,2405,1474,2404,2241,1416,2240,42,1586,2256,405,0,1474,2405,1472,1416,2241,1414,42,2257,404,1772,0,2404,1476,1739,2240,1418,1646,42,404,2257,1586,0,1476,2404,1474,1418,2240,1416,42,1663,2256,368,0,1588,2405,319,1513,2241,319,42,2256,1663,2259,0,2405,1588,2406,2241,1513,2242,42,369,2259,1663,0,1590,2406,1588,1515,2242,1513,42,2259,369,2258,0,2406,1590,2407,2242,1515,2243,42,2258,1583,2259,0,2407,1470,2406,2243,1412,2242,42,1583,2258,406,0,1470,2407,1468,1412,2243,1410,42,2259,405,2256,0,2406,1472,2405,2242,1414,2241,42,405,2259,1583,0,1472,2406,1470,1414,2242,1412,42,1668,2260,2261,0,1594,2408,2409,1519,2244,2245,42,2260,1668,370,0,2408,1594,311,2244,1519,311,42,2261,407,1581,0,2409,1458,1469,2245,1400,1411,42,407,2261,2260,0,1458,2409,2408,1400,2245,2244,42,2258,1581,406,0,2407,1469,1468,2243,1411,1410,42,1581,2258,2261,0,1469,2407,2409,1411,2243,2245,42,369,2261,2258,0,1590,2409,2407,1515,2245,2243,42,2261,369,1668,0,2409,1590,1594,2245,1515,1519,42,786,1799,371,0,313,1785,309,313,1685,309,42,1799,786,2264,0,1785,313,2410,1685,313,2246,42,2264,372,2262,0,2410,315,2411,2246,315,2247,42,372,2264,786,0,315,2410,313,315,2246,313,42,2263,2262,399,0,2412,2411,2413,2248,2247,2249,42,2262,2263,2264,0,2411,2412,2410,2247,2248,2246,42,400,2264,2263,0,1787,2410,2412,1687,2246,2248,42,2264,400,1799,0,2410,1787,1785,2246,1687,1685,42,2262,1671,2267,0,2411,1598,2414,2247,1523,2250,42,1671,2262,372,0,1598,2411,315,1523,2247,315,42,2267,373,2265,0,2414,1599,2415,2250,1524,2251,42,373,2267,1671,0,1599,2414,1598,1524,2250,1523,42,2266,2265,398,0,2416,2415,2417,2252,2251,2253,42,2265,2266,2267,0,2415,2416,2414,2251,2252,2250,42,399,2267,2266,0,2413,2414,2416,2249,2250,2252,42,2267,399,2262,0,2414,2413,2411,2250,2249,2247,42,2268,1673,374,0,2418,1600,326,2254,1525,326,42,1673,2268,2270,0,1600,2418,2419,1525,2254,2255,42,397,2270,2268,0,2420,2419,2418,2256,2255,2254,42,2270,397,2269,0,2419,2420,2421,2255,2256,2257,42,2269,2265,2270,0,2421,2415,2419,2257,2251,2255,42,2265,2269,398,0,2415,2421,2417,2251,2257,2253,42,2270,373,1673,0,2419,1599,1600,2255,1524,1525,42,373,2270,2265,0,1599,2419,2415,1524,2255,2251,42,1779,793,375,0,1750,325,320,1655,325,320,42,793,1779,2272,0,325,1750,2422,325,1655,2258,42,396,2272,1779,0,1755,2422,1750,1660,2258,1655,42,2272,396,2271,0,2422,1755,2423,2258,1660,2259,42,2271,2268,2272,0,2423,2418,2422,2259,2254,2258,42,2268,2271,397,0,2418,2423,2420,2254,2259,2256,42,2272,374,793,0,2422,326,325,2258,326,325,42,374,2272,2268,0,326,2422,2418,326,2258,2254,42,2167,903,2274,0,2303,507,2424,2145,495,2260,42,903,2167,376,0,507,2303,510,495,2145,498,42,377,2274,903,0,509,2424,507,497,2260,495,42,2274,377,2273,0,2424,509,2425,2260,497,2261,42,2273,2271,2274,0,2425,2423,2424,2261,2259,2260,42,2271,2273,397,0,2423,2425,2420,2259,2261,2256,42,2274,396,2167,0,2424,1755,2303,2260,1660,2145,42,396,2274,2271,0,1755,2424,2423,1660,2260,2259,42,2169,907,376,0,2305,515,510,2147,503,498,42,907,2169,2276,0,515,2305,2426,503,2147,2262,42,391,2276,2169,0,524,2426,2305,512,2262,2147,42,2276,391,916,0,2426,524,527,2262,512,515,42,916,2275,2276,0,527,2427,2426,515,2263,2262,42,2275,916,392,0,2427,527,529,2263,515,517,42,2276,383,907,0,2426,516,515,2262,504,503,42,383,2276,2275,0,516,2426,2427,504,2262,2263,42,2128,2273,377,0,2247,2425,509,2095,2261,497,42,2273,2128,2278,0,2425,2247,2428,2261,2095,2264,42,378,2278,2128,0,2249,2428,2247,2097,2264,2095,42,2278,378,2277,0,2428,2249,2429,2264,2097,2265,42,2277,2269,2278,0,2429,2421,2428,2265,2257,2264,42,2269,2277,398,0,2421,2429,2417,2257,2265,2253,42,2269,2273,2278,0,2421,2425,2428,2257,2261,2264,42,2273,2269,397,0,2425,2421,2420,2261,2257,2256,42,2279,2266,2280,0,2430,2416,2431,2266,2252,2267,42,2266,2279,399,0,2416,2430,2413,2252,2266,2249,42,2280,398,2277,0,2431,2417,2429,2267,2253,2265,42,398,2280,2266,0,2417,2431,2416,2253,2267,2252,42,2132,2277,378,0,2252,2429,2249,2100,2265,2097,42,2277,2132,2280,0,2429,2252,2431,2265,2100,2267,42,2132,379,2279,0,2252,501,2430,2100,489,2266,42,2132,2279,2280,0,2252,2430,2431,2100,2266,2267,42,900,2147,380,0,502,2274,499,490,2120,487,42,2147,900,2282,0,2274,502,2432,2120,490,2268,42,2282,381,2281,0,2432,504,2433,2268,492,2269,42,381,2282,900,0,504,2432,502,492,2268,490,42,923,2281,385,0,535,2433,536,523,2269,524,42,2281,923,2282,0,2433,535,2432,2269,523,2268,42,386,2282,923,0,540,2432,535,528,2268,523,42,2282,386,2147,0,2432,540,2274,2268,528,2120,42,2180,2283,384,0,2319,2434,2311,2159,2270,2151,42,2283,2180,2284,0,2434,2319,2435,2270,2159,2271,42,385,2284,2180,0,536,2435,2319,524,2271,2159,42,2284,385,2281,0,2435,536,2433,2271,524,2269,42,2281,2135,2284,0,2433,2255,2435,2269,2103,2271,42,2135,2281,381,0,2255,2433,504,2103,2269,492,42,2284,382,2283,0,2435,2257,2434,2271,2105,2270,42,382,2284,2135,0,2257,2435,2255,2105,2271,2103,42,2285,2287,506,0,2436,2437,2438,2272,2273,2274,42,2287,2285,2288,0,2437,2436,2439,2273,2272,2275,42,2288,504,1300,0,2439,1065,1085,2275,1025,1045,42,504,2288,2285,0,1065,2439,2436,1025,2275,2272,42,1300,2286,2288,0,1085,2440,2439,1045,2276,2275,42,2286,1300,505,0,2440,1085,815,2276,1045,792,42,503,2288,2286,0,2441,2439,2440,2277,2275,2276,42,2288,503,2287,0,2439,2441,2437,2275,2277,2273,42,2291,506,2289,0,2442,2438,2443,2278,2274,2279,42,506,2291,2285,0,2438,2442,2436,2274,2278,2272,42,2290,2289,528,0,2444,2443,2445,2280,2279,2281,42,2289,2290,2291,0,2443,2444,2442,2279,2280,2278,42,527,2291,2290,0,1068,2442,2444,1028,2278,2280,42,2291,527,1284,0,2442,1068,1066,2278,1028,1026,42,1284,2285,2291,0,1066,2436,2442,1026,2272,2278,42,2285,1284,504,0,2436,1066,1065,2272,1026,1025,42,2293,1225,2294,0,2446,990,2447,2282,950,2283,42,1225,2293,508,0,990,2446,991,950,2282,951,42,2294,557,2292,0,2447,868,2448,2283,835,2284,42,557,2294,1225,0,868,2447,990,835,2283,950,42,1578,2292,559,0,1465,2448,979,1407,2284,941,42,2292,1578,2294,0,2448,1465,2447,2284,1407,2283,42,560,2294,1578,0,882,2447,1465,847,2283,1407,42,2294,560,2293,0,2447,882,2446,2283,847,2282,42,1149,2295,2296,0,880,2449,2450,845,2285,2286,42,2295,1149,561,0,2449,880,879,2285,845,844,42,1264,2296,2295,0,1040,2450,2449,1e3,2286,2285,42,2295,535,1264,0,2449,1037,1040,2285,997,1e3,42,2293,2296,508,0,2446,2450,991,2282,2286,951,42,2296,1264,508,0,2450,1040,991,2286,1e3,951,42,560,1149,2293,0,882,880,2446,847,845,2282,42,1149,2296,2293,0,880,2450,2446,845,2286,2282,42,1158,2298,561,0,887,2451,879,852,2287,844,42,561,2298,2295,0,879,2451,2449,844,2287,2285,42,562,2297,1158,0,892,2452,887,857,2288,852,42,1158,2297,2298,0,887,2452,2451,852,2288,2287,42,2297,509,2298,0,2452,1033,2451,2288,993,2287,42,2298,509,1262,0,2451,1033,1038,2287,993,998,42,2298,1262,2295,0,2451,1038,2449,2287,998,2285,42,2295,1262,535,0,2449,1038,1037,2285,998,997,42,1165,2300,562,0,901,2453,892,866,2289,857,42,562,2300,2297,0,892,2453,2452,857,2289,2288,42,563,2299,1165,0,900,2454,901,865,2290,866,42,1165,2299,2300,0,901,2454,2453,866,2290,2289,42,2299,510,2300,0,2454,1029,2453,2290,989,2289,42,2300,510,1258,0,2453,1029,1031,2289,989,991,42,2300,1258,2297,0,2453,1031,2452,2289,991,2288,42,2297,1258,509,0,2452,1031,1033,2288,991,993,42,2302,1174,564,0,2455,912,913,2291,877,878,42,564,2301,2302,0,913,2456,2455,878,2292,2291,42,1256,2302,2301,0,1030,2455,2456,990,2291,2292,42,2301,536,1256,0,2456,1025,1030,2292,985,990,42,2299,1256,510,0,2454,1030,1029,2290,990,989,42,1256,2299,2302,0,1030,2454,2455,990,2290,2291,42,2299,563,1174,0,2454,900,912,2290,865,877,42,1174,2302,2299,0,912,2455,2454,877,2291,2290,42,2303,1252,2304,0,2457,1023,2458,2293,983,2294,42,1252,2303,511,0,1023,2457,1021,983,2293,981,42,2304,536,2301,0,2458,1025,2456,2294,985,2292,42,536,2304,1252,0,1025,2458,1023,985,2294,983,42,1181,2301,564,0,922,2456,913,887,2292,878,42,2301,1181,2304,0,2456,922,2458,2292,887,2294,42,565,2304,1181,0,923,2458,922,888,2294,887,42,2304,565,2303,0,2458,923,2457,2294,888,2293,42,1187,2303,565,0,929,2457,923,894,2293,888,42,2303,1187,2306,0,2457,929,2459,2293,894,2295,42,566,2306,1187,0,930,2459,929,895,2295,894,42,2306,566,2305,0,2459,930,2460,2295,895,2296,42,2305,1249,2306,0,2460,1019,2459,2296,979,2295,42,1249,2305,537,0,1019,2460,1018,979,2296,978,42,2306,511,2303,0,2459,1021,2457,2295,981,2293,42,511,2306,1249,0,1021,2459,1019,981,2295,979,42,2308,537,2305,0,2461,1018,2460,2297,978,2296,42,537,2308,1247,0,1018,2461,1015,978,2297,975,42,1194,2305,566,0,939,2460,930,904,2296,895,42,2305,1194,2308,0,2460,939,2461,2296,904,2297,42,567,2308,1194,0,940,2461,939,905,2297,904,42,2308,567,2307,0,2461,940,2462,2297,905,2298,42,2307,1247,2308,0,2462,1015,2461,2298,975,2297,42,1247,2307,512,0,1015,2462,1014,975,2298,974,42,2310,512,2307,0,2463,1014,2462,2299,974,2298,42,512,2310,1244,0,1014,2463,1011,974,2299,971,42,1200,2307,567,0,948,2462,940,913,2298,905,42,2307,1200,2310,0,2462,948,2463,2298,913,2299,42,568,2310,1200,0,950,2463,948,915,2299,913,42,2310,568,2309,0,2463,950,2464,2299,915,2300,42,2309,1244,2310,0,2464,1011,2463,2300,971,2299,42,1244,2309,538,0,1011,2464,1010,971,2300,970,42,2311,937,541,0,2465,561,567,2301,543,549,42,937,2311,2313,0,561,2465,2466,543,2301,2302,42,543,2313,2311,0,2467,2466,2465,2303,2302,2301,42,2313,543,2312,0,2466,2467,2468,2302,2303,2304,42,2312,1232,2313,0,2468,999,2466,2304,959,2302,42,1232,2312,548,0,999,2468,1e3,959,2304,960,42,2313,513,937,0,2466,564,561,2302,546,543,42,513,2313,1232,0,564,2466,999,546,2302,959,42,1490,2314,2316,0,1344,2469,2470,1286,2305,2306,42,2314,1490,518,0,2469,1344,1336,2305,1286,1278,42,2316,570,2315,0,2470,2471,2472,2306,2307,2308,42,570,2316,2314,0,2471,2470,2469,2307,2306,2305,42,1510,2315,571,0,1371,2472,1372,1313,2308,1314,42,2315,1510,2316,0,2472,1371,2470,2308,1313,2306,42,517,2316,1510,0,1345,2470,1371,1287,2306,1313,42,2316,517,1490,0,2470,1345,1344,2306,1287,1286,42,2320,2319,573,0,2473,2474,2475,2309,2310,2311,42,2320,573,2317,0,2473,2475,2476,2309,2311,2312,42,2320,572,2318,0,2473,2477,2478,2309,2313,2314,42,572,2320,2317,0,2477,2473,2476,2313,2309,2312,42,519,1465,2320,0,1314,1312,2473,1256,1254,2309,42,519,2320,2318,0,1314,2473,2478,1256,2309,2314,42,1465,520,2319,0,1312,1307,2474,1254,1249,2310,42,1465,2319,2320,0,1312,2474,2473,1254,2310,2309,42,1463,2323,520,0,1309,2479,1307,1251,2315,1249,42,520,2323,2319,0,1307,2479,2474,1249,2315,2310,42,521,2321,1463,0,1302,2480,1309,1244,2316,1251,42,1463,2321,2323,0,1309,2480,2479,1251,2316,2315,42,2321,2322,2323,0,2480,2481,2479,2316,2317,2315,42,2322,2321,574,0,2481,2480,2482,2317,2316,2318,42,2323,573,2319,0,2479,2475,2474,2315,2311,2310,42,573,2323,2322,0,2475,2479,2481,2311,2315,2317,42,1456,2321,521,0,1300,2480,1302,1242,2316,1244,42,2321,1456,2326,0,2480,1300,2483,2316,1242,2319,42,522,2326,1456,0,1291,2483,1300,1233,2319,1242,42,2326,522,2324,0,2483,1291,2484,2319,1233,2320,42,2324,2325,2326,0,2484,2485,2483,2320,2321,2319,42,2325,2324,575,0,2485,2484,2486,2321,2320,2322,42,2326,574,2321,0,2483,2482,2480,2319,2318,2316,42,574,2326,2325,0,2482,2483,2485,2318,2319,2321,42,1449,2324,522,0,1289,2484,1291,1231,2320,1233,42,2324,1449,2328,0,2484,1289,2487,2320,1231,2323,42,523,2328,1449,0,971,2487,1289,934,2323,1231,42,2328,523,1223,0,2487,971,982,2323,934,944,42,576,2328,1223,0,987,2487,982,947,2323,944,42,2328,576,2327,0,2487,987,2488,2323,947,2324,42,2328,575,2324,0,2487,2486,2484,2323,2322,2320,42,575,2328,2327,0,2486,2487,2488,2322,2323,2324,42,2331,2329,2332,0,2489,2490,2491,2325,2326,2327,42,2329,2331,550,0,2490,2489,2492,2326,2325,2328,42,2332,525,1275,0,2491,1053,1052,2327,1013,1012,42,525,2332,2329,0,1053,2491,2490,1013,2327,2326,42,524,2330,2332,0,1056,2493,2491,1016,2329,2327,42,2332,1275,524,0,2491,1052,1056,2327,1012,1016,42,526,2332,2330,0,2494,2491,2493,2330,2327,2329,42,2332,526,2331,0,2491,2494,2489,2327,2330,2325,42,2333,1233,548,0,2495,996,1e3,2331,956,960,42,1233,2333,2334,0,996,2495,2496,956,2331,2332,42,526,2334,2333,0,2494,2496,2495,2330,2332,2331,42,2334,526,2330,0,2496,2494,2493,2332,2330,2329,42,2330,1278,2334,0,2493,1059,2496,2329,1019,2332,42,1278,2330,524,0,1059,2493,1056,1019,2329,1016,42,2334,544,1233,0,2496,995,996,2332,955,956,42,544,2334,1278,0,995,2496,1059,955,2332,1019,42,2337,2335,2338,0,2497,2498,2499,2333,2334,2335,42,2335,2337,551,0,2498,2497,2500,2334,2333,2336,42,2338,529,2336,0,2499,2501,2502,2335,2337,2338,42,529,2338,2335,0,2501,2499,2498,2337,2335,2334,42,2329,2336,525,0,2490,2502,1053,2326,2338,1013,42,2336,2329,2338,0,2502,2490,2499,2338,2326,2335,42,550,2338,2329,0,2492,2499,2490,2328,2335,2326,42,2338,550,2337,0,2499,2492,2497,2335,2328,2333,42,2312,2339,2340,0,2468,2503,2504,2304,2339,2340,42,2339,2312,543,0,2503,2468,2467,2339,2304,2303,42,550,2340,2339,0,2492,2504,2503,2328,2340,2339,42,2340,550,2331,0,2504,2492,2489,2340,2328,2325,42,2333,2331,526,0,2495,2489,2494,2331,2325,2330,42,2331,2333,2340,0,2489,2495,2504,2325,2331,2340,42,2340,548,2312,0,2504,1e3,2468,2340,960,2304,42,548,2340,2333,0,1e3,2504,2495,960,2340,2331,42,528,2342,2290,0,2445,2505,2444,2281,2341,2280,42,2342,528,2341,0,2505,2445,2506,2341,2281,2342,42,941,2342,2341,0,568,2505,2506,550,2341,2342,42,2341,552,941,0,2506,569,568,2342,551,550,42,1289,941,553,0,1073,568,574,1033,550,556,42,941,1289,2342,0,568,1073,2505,550,1033,2341,42,527,2342,1289,0,1068,2505,1073,1028,2341,1033,42,2342,527,2290,0,2505,1068,2444,2341,1028,2280,42,552,2341,2345,0,569,2506,2507,551,2342,2343,42,552,2345,2344,0,569,2507,2508,551,2343,2344,42,528,2343,2341,0,2445,2509,2506,2281,2345,2342,42,2341,2343,2345,0,2506,2509,2507,2342,2345,2343,42,2335,2345,529,0,2498,2507,2501,2334,2343,2337,42,2345,2343,529,0,2507,2509,2501,2343,2345,2337,42,551,2344,2335,0,2500,2508,2498,2336,2344,2334,42,2344,2345,2335,0,2508,2507,2498,2344,2343,2334,42,1207,2309,568,0,956,2464,950,921,2300,915,42,2309,1207,2347,0,2464,956,2510,2300,921,2346,42,569,2347,1207,0,957,2510,956,922,2346,921,42,2347,569,2346,0,2510,957,2511,2346,922,2347,42,2346,1241,2347,0,2511,1009,2510,2347,969,2346,42,1241,2346,539,0,1009,2511,1006,969,2347,966,42,2347,538,2309,0,2510,1010,2464,2346,970,2300,42,538,2347,1241,0,1010,2510,1009,970,2346,969,42,2349,539,2346,0,2512,1006,2511,2348,966,2347,42,539,2349,1238,0,1006,2512,1004,966,2348,964,42,1511,2346,569,0,1373,2511,957,1315,2347,922,42,2346,1511,2349,0,2511,1373,2512,2347,1315,2348,42,1511,2348,2349,0,1373,2513,2512,1315,2349,2348,42,2348,1511,571,0,2513,1373,1372,2349,1315,1314,42,2348,1238,2349,0,2513,1004,2512,2349,964,2348,42,1238,2348,540,0,1004,2513,565,964,2349,547,42,2348,936,540,0,2513,566,565,2349,548,547,42,936,2348,2351,0,566,2513,2514,548,2349,2350,42,571,2351,2348,0,1372,2514,2513,1314,2350,2349,42,2351,571,2315,0,2514,1372,2472,2350,1314,2308,42,2315,2350,2351,0,2472,2515,2514,2308,2351,2350,42,2350,2315,570,0,2515,2472,2471,2351,2308,2307,42,2351,541,936,0,2514,567,566,2350,549,548,42,541,2351,2350,0,567,2514,2515,549,2350,2351,42,2317,2353,572,0,2476,2516,2477,2312,2352,2313,42,2353,2317,2354,0,2516,2476,2517,2352,2312,2353,42,573,2352,2317,0,2475,2518,2476,2311,2354,2312,42,2317,2352,2354,0,2476,2518,2517,2312,2354,2353,42,2352,551,2354,0,2518,2500,2517,2354,2336,2353,42,2354,551,2337,0,2517,2500,2497,2353,2336,2333,42,2354,2337,2353,0,2517,2497,2516,2353,2333,2352,42,2353,2337,550,0,2516,2497,2492,2352,2333,2328,42,2355,2344,2356,0,2519,2508,2520,2355,2344,2356,42,2344,2355,552,0,2508,2519,569,2344,2355,551,42,2356,551,2352,0,2520,2500,2518,2356,2336,2354,42,551,2356,2344,0,2500,2520,2508,2336,2356,2344,42,2322,2352,573,0,2481,2518,2475,2317,2354,2311,42,2352,2322,2356,0,2518,2481,2520,2354,2317,2356,42,574,2356,2322,0,2482,2520,2481,2318,2356,2317,42,2356,574,2355,0,2520,2482,2519,2356,2318,2355,42,2355,939,552,0,2519,571,569,2355,553,551,42,939,2355,2358,0,571,2519,2521,553,2355,2357,42,574,2358,2355,0,2482,2521,2519,2318,2357,2355,42,2358,574,2325,0,2521,2482,2485,2357,2318,2321,42,2325,2357,2358,0,2485,2522,2521,2321,2358,2357,42,2357,2325,575,0,2522,2485,2486,2358,2321,2322,42,2358,554,939,0,2521,572,571,2357,554,553,42,554,2358,2357,0,572,2521,2522,554,2357,2358,42,1318,2357,2360,0,1110,2522,2523,1068,2358,2359,42,2357,1318,554,0,2522,1110,572,2358,1068,554,42,575,2360,2357,0,2486,2523,2522,2322,2359,2358,42,2360,575,2327,0,2523,2486,2488,2359,2322,2324,42,2359,2327,576,0,2524,2488,987,2360,2324,947,42,2327,2359,2360,0,2488,2524,2523,2324,2360,2359,42,555,2360,2359,0,874,2523,2524,839,2359,2360,42,2360,555,1318,0,2523,874,1110,2359,839,1068,42,2361,1146,2362,0,2525,872,2526,2361,837,2362,42,1146,2361,556,0,872,2525,871,837,2361,834,42,2359,2362,1146,0,2524,2526,872,2360,2362,837,42,2359,1146,555,0,2524,872,874,2360,837,839,42,1222,2359,576,0,985,2524,987,946,2360,947,42,2359,1222,2362,0,2524,985,2526,2360,946,2362,42,577,2362,1222,0,986,2526,985,942,2362,946,42,2362,577,2361,0,2526,986,2525,2362,942,2361,42,2365,2364,506,0,2527,2528,2438,2363,2364,2274,42,506,2287,2365,0,2438,2437,2527,2274,2273,2363,42,2363,2365,2287,0,2529,2527,2437,2365,2363,2273,42,2287,503,2363,0,2437,2441,2529,2273,2277,2365,42,1271,2363,531,0,1043,2529,688,1003,2365,665,42,2363,1271,2365,0,2529,1043,2527,2365,1003,2363,42,1271,507,2364,0,1043,1050,2528,1003,1010,2364,42,2364,2365,1271,0,2528,2527,1043,2364,2363,1003,42,2367,1012,531,0,2530,687,688,2366,664,665,42,531,2363,2367,0,688,2529,2530,665,2365,2366,42,503,2366,2363,0,2441,2531,2529,2277,2367,2365,42,2363,2366,2367,0,2529,2531,2530,2365,2367,2366,42,530,2367,2366,0,689,2530,2531,666,2366,2367,42,2367,530,1012,0,2530,689,687,2366,666,664,42,2369,2311,2370,0,2532,2465,2533,2368,2301,2369,42,2311,2369,543,0,2465,2532,2467,2301,2368,2303,42,2311,2350,2370,0,2465,2515,2533,2301,2351,2369,42,2350,2311,541,0,2515,2465,567,2351,2301,549,42,570,2370,2350,0,2471,2533,2515,2307,2369,2351,42,2370,570,2368,0,2533,2471,2534,2369,2307,2370,42,2368,2369,2370,0,2534,2532,2533,2370,2368,2369,42,2369,2368,542,0,2532,2534,1324,2368,2370,1266,42,1482,2371,518,0,1334,2535,1336,1276,2371,1278,42,2314,518,2371,0,2469,1336,2535,2305,1278,2371,42,542,2371,1482,0,1324,2535,1334,1266,2371,1276,42,2371,542,2368,0,2535,1324,2534,2371,1266,2370,42,570,2314,2368,0,2471,2469,2534,2307,2305,2370,42,2314,2371,2368,0,2469,2535,2534,2305,2371,2370,42,643,645,2372,0,85,88,2536,85,88,2372,42,645,643,45,0,88,85,84,88,85,84,42,2372,44,1062,0,2536,87,748,2372,87,725,42,44,2372,645,0,87,2536,88,87,2372,88,42,1062,1086,2372,0,748,781,2536,725,758,2372,42,1086,1062,43,0,781,748,718,758,725,695,42,2372,59,643,0,2536,77,85,2372,77,85,42,59,2372,1086,0,77,2536,781,77,2372,758,42,649,628,2373,0,94,64,2537,94,64,2373,42,628,649,49,0,64,94,65,64,94,65,42,50,2373,628,0,61,2537,64,61,2373,64,42,2373,50,1094,0,2537,61,791,2373,61,768,42,1094,1040,2373,0,791,722,2537,768,699,2373,42,1040,1094,51,0,722,791,714,699,768,691,42,2373,52,649,0,2537,95,94,2373,95,94,42,52,2373,1040,0,95,2537,722,95,2373,699,42,224,1753,2374,0,1716,1715,2538,1607,1625,2374,42,224,2374,1740,0,1716,2538,2539,1607,2374,1609,42,229,1746,1753,0,1704,1703,1715,1617,1616,1625,42,1753,1746,2374,0,1715,1703,2538,1625,1616,2374,42,1742,2374,228,0,1696,2538,1700,1611,2374,1613,42,2374,1746,228,0,2538,1703,1700,2374,1616,1613,42,225,2374,1742,0,1698,2538,1696,245,2374,1611,42,2374,225,1740,0,2538,1698,2539,2374,245,1609,42,1803,448,2375,0,1791,1387,2540,1690,1329,2375,42,2375,448,1520,0,2540,1387,1385,2375,1329,1327,42,2375,447,1914,0,2540,1386,1957,2375,1328,1833,42,447,2375,1520,0,1386,2540,1385,1328,2375,1327,42,1651,1914,265,0,1574,1957,1572,1499,1833,1497,42,1914,1651,2375,0,1957,1574,2540,1833,1499,2375,42,1651,266,1803,0,1574,289,1791,1499,289,1690,42,1651,1803,2375,0,1574,1791,2540,1499,1690,2375,42,2376,280,1991,0,2541,2059,2061,2376,1926,1927,42,280,2376,1993,0,2059,2541,2065,1926,2376,1930,42,283,2376,1991,0,2063,2541,2061,1909,2376,1927,42,2376,283,1976,0,2541,2063,2542,2376,1909,1912,42,1976,826,2376,0,2542,381,2541,1912,376,2376,42,826,1976,300,0,381,2542,382,376,1912,360,42,826,1993,2376,0,381,2065,2541,376,1930,2376,42,1993,826,281,0,2065,381,380,1930,376,375,42,1994,1957,469,0,2066,2017,2011,1931,1889,1883,42,1957,1994,2377,0,2017,2066,2543,1889,1931,2377,42,2377,281,825,0,2543,380,379,2377,375,374,42,281,2377,1994,0,380,2543,2066,375,2377,1931,42,1978,825,282,0,2544,379,377,1914,374,359,42,825,1978,2377,0,379,2544,2543,374,1914,2377,42,468,2377,1978,0,2019,2543,2544,1891,2377,1914,42,2377,468,1957,0,2543,2019,2017,2377,1891,1889,42,2378,500,2061,0,2545,2098,2159,2378,1963,2014,42,500,2378,2025,0,2098,2545,2103,1963,2378,1968,42,848,2061,295,0,415,2159,414,409,2014,408,42,2061,848,2378,0,2159,415,2545,2014,409,2378,42,2056,848,296,0,2546,415,418,2008,409,412,42,848,2056,2378,0,415,2546,2545,409,2008,2378,42,2378,501,2025,0,2545,2106,2103,2378,1971,1968,42,501,2378,2056,0,2106,2545,2546,1971,2378,2008,42,893,2125,2379,0,490,2245,2547,481,2093,2379,42,2125,893,315,0,2245,490,489,2093,481,480,42,2379,314,890,0,2547,487,486,2379,478,477,42,314,2379,2125,0,487,2547,2245,478,2379,2093,42,2114,890,317,0,2548,486,482,2080,477,468,42,890,2114,2379,0,486,2548,2547,477,2080,2379,42,318,2379,2114,0,493,2547,2548,443,2379,2080,42,2379,318,893,0,2547,493,490,2379,443,481,42,2380,444,2126,0,2549,2173,2243,2380,2027,2091,42,444,2380,2075,0,2173,2549,2180,2027,2380,2034,42,894,2126,315,0,491,2243,489,482,2091,480,42,2126,894,2380,0,2243,491,2549,2091,482,2380,42,2116,894,316,0,2550,491,494,2082,482,457,42,894,2116,2380,0,491,2550,2549,482,2082,2380,42,2380,443,2075,0,2549,2181,2180,2380,2035,2034,42,443,2380,2116,0,2181,2549,2550,2035,2380,2082,42,932,2182,333,0,556,2551,559,541,2161,506,42,2182,932,2381,0,2551,556,2552,2161,541,2381,42,330,2381,932,0,555,2552,556,540,2381,541,42,2381,330,2186,0,2552,555,2327,2381,540,2166,42,2186,329,2381,0,2327,553,2552,2166,538,2381,42,2381,329,929,0,2552,553,552,2381,538,537,42,2381,332,2182,0,2552,551,2551,2381,532,2161,42,332,2381,929,0,551,2552,552,532,2381,537,42,2175,390,2382,0,2553,2298,2554,2153,2142,2382,42,2382,390,2163,0,2554,2298,2296,2382,2142,2140,42,2382,389,2187,0,2554,2290,2326,2382,2134,2165,42,389,2382,2163,0,2290,2554,2296,2134,2382,2140,42,933,2187,330,0,557,2326,555,542,2165,540,42,2187,933,2382,0,2326,557,2554,2165,542,2382,42,331,2175,933,0,560,2553,557,521,2153,542,42,2175,2382,933,0,2553,2554,557,2153,2382,542,42,2383,1921,340,0,2555,1966,333,2383,1842,333,42,340,1980,2383,0,333,2048,2555,333,1916,2383,42,2200,2383,1980,0,2345,2555,2048,2181,2383,1916,42,1980,457,2200,0,2048,1807,2345,1916,1706,2181,42,2204,2383,456,0,2349,2555,2342,2185,2383,2178,42,2383,2200,456,0,2555,2345,2342,2383,2181,2178,42,339,1921,2204,0,1964,1966,2349,1840,1842,2185,42,1921,2383,2204,0,1966,2555,2349,1842,2383,2185,42,1967,2208,475,0,2034,2352,2035,1902,2188,1903,42,2208,1967,2384,0,2352,2034,2556,2188,1902,2384,42,474,2384,1967,0,421,2556,2034,415,2384,1902,42,2384,474,1982,0,2556,421,2050,2384,415,1918,42,1982,1924,2384,0,2050,1970,2556,1918,1846,2384,42,1924,1982,343,0,1970,2050,337,1846,1918,337,42,2384,342,2208,0,2556,1971,2352,2384,1847,2188,42,342,2384,1924,0,1971,2556,1970,1847,2384,1846,42,2003,836,351,0,2073,399,398,1938,393,392,42,836,2003,2385,0,399,2073,2557,393,1938,2385,42,2385,487,1766,0,2557,1729,1733,2385,1638,1642,42,487,2385,2003,0,1729,2557,2073,1638,2385,1938,42,1766,2222,2385,0,1733,2368,2557,1642,2204,2385,42,2222,1766,486,0,2368,1733,1734,2204,1642,1643,42,350,2385,2222,0,400,2557,2368,394,2385,2204,42,2385,350,836,0,2557,400,399,2385,394,393,42,1863,747,2386,0,1877,253,2558,1767,253,2386,42,747,1863,357,0,253,1877,254,253,1767,254,42,356,2386,747,0,251,2558,253,251,2386,253,42,2386,356,2234,0,2558,251,2380,2386,251,2216,42,2234,1547,2386,0,2380,1420,2558,2216,1362,2386,42,1547,2234,414,0,1420,2380,1414,1362,2216,1356,42,2386,413,1863,0,2558,1422,1877,2386,1364,1767,42,413,2386,1547,0,1422,2558,1420,1364,2386,1362,42,2189,862,364,0,2332,441,440,2169,435,434,42,862,2189,2387,0,441,2332,2559,435,2169,2387,42,427,2387,2189,0,1852,2559,2332,1742,2387,2169,42,2387,427,2230,0,2559,1852,2376,2387,1742,2212,42,2230,2250,2387,0,2376,2399,2559,2212,2235,2387,42,2250,2230,426,0,2399,2376,2377,2235,2212,2213,42,363,2387,2250,0,442,2559,2399,436,2387,2235,42,2387,363,862,0,2559,442,441,2387,436,435,42,2246,2089,367,0,2395,2198,435,2231,2048,429,42,2089,2246,2388,0,2198,2395,2560,2048,2231,2388,42,441,2388,2246,0,459,2560,2395,453,2388,2231,42,2388,441,2112,0,2560,459,2229,2388,453,2079,42,2112,2254,2388,0,2229,2403,2560,2079,2239,2388,42,2254,2112,440,0,2403,2229,2225,2239,2079,2075,42,2388,365,2089,0,2560,2201,2198,2388,2051,2048,42,365,2388,2254,0,2201,2560,2403,2051,2388,2239,42,783,1796,2389,0,310,1778,2561,310,1681,2389,42,1796,783,371,0,1778,310,309,1681,310,309,42,2389,408,1572,0,2561,1459,1457,2389,1401,1399,42,408,2389,1796,0,1459,2561,1778,1401,2389,1681,42,2260,1572,407,0,2408,1457,1458,2244,1399,1400,42,1572,2260,2389,0,1457,2408,2561,1399,2244,2389,42,370,2389,2260,0,311,2561,2408,311,2389,2244,42,2389,370,783,0,2561,311,310,2389,311,310,42,897,2140,2390,0,500,2263,2562,488,2111,2390,42,2140,897,380,0,2263,500,499,2111,488,487,42,2390,400,2263,0,2562,1787,2412,2390,1687,2248,42,400,2390,2140,0,1787,2562,2263,1687,2390,2111,42,399,2279,2390,0,2413,2430,2562,2249,2266,2390,42,2390,2263,399,0,2562,2412,2413,2390,2248,2249,42,379,2390,2279,0,501,2562,2430,489,2390,2266,42,2390,379,897,0,2562,501,500,2390,489,488,42,2275,2138,383,0,2427,2259,516,2263,2107,504,42,2138,2275,2391,0,2259,2427,2563,2107,2263,2391,42,392,2391,2275,0,529,2563,2427,517,2391,2263,42,2391,392,2173,0,2563,529,2312,2391,517,2152,42,2173,2283,2391,0,2312,2434,2563,2152,2270,2391,42,2283,2173,384,0,2434,2312,2311,2270,2152,2151,42,2391,382,2138,0,2563,2257,2259,2391,2105,2107,42,382,2391,2283,0,2257,2563,2434,2105,2391,2270,42,1889,1628,2392,0,1919,1544,2564,1799,1471,2392,42,1628,1889,480,0,1544,1919,1545,1471,1799,1472,42,2392,515,1487,0,2564,1331,1337,2392,1273,1279,42,515,2392,1628,0,1331,2564,1544,1273,2392,1471,42,1504,1487,514,0,1363,1337,1342,1305,1279,1284,42,1487,1504,2392,0,1337,1363,2564,1279,1305,2392,42,479,2392,1504,0,1365,2564,1363,1307,2392,1305,42,2392,479,1889,0,2564,1365,1919,2392,1307,1799,42,2292,1142,2393,0,2448,866,2565,2284,833,2393,42,1142,2292,557,0,866,2448,868,833,2284,835,42,2393,556,2361,0,2565,867,2566,2393,834,2361,42,556,2393,1142,0,867,2565,866,834,2393,833,42,1218,2361,577,0,977,2566,980,939,2361,942,42,2361,1218,2393,0,2566,977,2565,2361,939,2393,42,559,2393,1218,0,979,2565,977,941,2393,939,42,2393,559,2292,0,2565,979,2448,2393,941,2284,42,2289,2364,2395,0,2443,2528,2567,2279,2364,2394,42,2364,2289,506,0,2528,2443,2438,2364,2279,2274,42,2395,507,1273,0,2567,1050,1054,2394,1010,1014,42,507,2395,2364,0,1050,2567,2528,1010,2394,2364,42,2394,1273,525,0,2568,1054,1053,2395,1014,1013,42,1273,2394,2395,0,1054,2568,2567,1014,2395,2394,42,528,2395,2394,0,2445,2567,2568,2281,2394,2395,42,2395,528,2289,0,2567,2445,2443,2394,2281,2279,42,528,2396,2343,0,2445,2569,2509,2281,2396,2345,42,2396,528,2394,0,2569,2445,2568,2396,2281,2395,42,525,2396,2394,0,1053,2569,2568,1013,2396,2395,42,2396,525,2336,0,2569,1053,2502,2396,1013,2338,42,2396,529,2343,0,2569,2501,2509,2396,2337,2345,42,529,2396,2336,0,2501,2569,2502,2337,2396,2338,42,1472,2318,2398,0,1322,2478,2570,1264,2314,2397,42,2318,1472,519,0,2478,1322,1314,2314,1264,1256,42,2398,572,2397,0,2570,2477,2571,2397,2313,2398,42,572,2398,2318,0,2477,2570,2478,2313,2397,2314,42,2369,2397,543,0,2532,2571,2467,2368,2398,2303,42,2397,2369,2398,0,2571,2532,2570,2398,2368,2397,42,542,2398,2369,0,1324,2570,2532,1266,2397,2368,42,2398,542,1472,0,2570,1324,1322,2397,1266,1264,42,2339,543,2399,0,2503,2467,2572,2339,2303,2399,42,543,2397,2399,0,2467,2571,2572,2303,2398,2399,42,572,2399,2397,0,2477,2572,2571,2313,2399,2398,42,2399,572,2353,0,2572,2477,2516,2399,2313,2352,42,2353,550,2339,0,2516,2492,2503,2352,2328,2339,42,2353,2339,2399,0,2516,2503,2572,2352,2339,2399,42,1113,1049,2401,0,812,2573,2574,789,710,2400,42,1049,1113,56,0,2573,812,820,710,789,711,42,2401,35,2400,0,2574,2575,2576,2400,660,2401,42,35,2401,1049,0,2575,2574,2573,660,2400,710,42,2400,2286,2401,0,2576,2440,2574,2401,2276,2400,42,2286,2400,503,0,2440,2576,2441,2276,2401,2277,42,505,2401,2286,0,815,2574,2440,792,2400,2276,42,2401,505,1113,0,2574,815,812,2400,792,789,42,2400,1008,2402,0,2576,2577,2578,2401,659,2402,42,1008,2400,35,0,2577,2576,2575,659,2401,660,42,22,2402,1008,0,36,2578,2577,36,2402,659,42,2402,22,1013,0,2578,36,684,2402,36,661,42,530,2402,1013,0,689,2578,684,666,2402,661,42,2402,530,2366,0,2578,689,2531,2402,666,2367,42,503,2402,2366,0,2441,2578,2531,2277,2402,2367,42,2402,503,2400,0,2578,2441,2576,2402,2277,2401,42,1054,1002,36,0,741,673,672,718,650,649,42,1002,1054,2404,0,673,741,2579,650,718,2403,42,545,2404,1054,0,742,2579,741,719,2403,718,42,2404,545,2403,0,2579,742,2580,2403,719,2404,42,2403,1004,2404,0,2580,676,2579,2404,653,2403,42,1004,2403,547,0,676,2580,677,653,2404,654,42,2404,534,1002,0,2579,31,673,2403,31,650,42,534,2404,1004,0,31,2579,676,31,2403,653,42,1280,2403,545,0,1060,2580,742,1020,2404,719,42,2403,1280,2405,0,2580,1060,2581,2404,1020,2405,42,87,2405,1280,0,1046,2581,1060,1006,2405,1020,42,2405,87,1282,0,2581,1046,1063,2405,1006,1023,42,1282,1266,2405,0,1063,1042,2581,1023,1002,2405,42,1266,1282,533,0,1042,1063,100,1002,1023,100,42,2405,547,2403,0,2581,677,2580,2405,654,2404,42,547,2405,1266,0,677,2581,1042,654,2405,1002,42,1562,1527,2407,0,1438,1392,2582,1380,1334,2406,42,1527,1562,167,0,1392,1438,1260,1334,1380,1204,42,449,2407,1527,0,1395,2582,1392,1337,2406,1334,42,2407,449,1807,0,2582,1395,1792,2406,1337,1691,42,1807,2406,2407,0,1792,2583,2582,1691,2407,2406,42,2406,1807,450,0,2583,1792,1797,2407,1691,1696,42,2407,242,1562,0,2582,1441,1438,2406,1383,1380,42,242,2407,2406,0,1441,2582,2583,1383,2406,2407,42,2406,1626,242,0,2584,1540,1541,2407,1468,1383,42,1626,2406,2408,0,1540,2584,2585,1468,2407,2408,42,450,2408,2406,0,1815,2585,2584,1696,2408,2407,42,2408,450,1818,0,2585,1815,1814,2408,1696,1711,42,1818,1622,2408,0,1814,1532,2585,1711,1462,2408,42,1622,1818,451,0,1532,1814,1534,1462,1711,1464,42,1622,1626,2408,0,1532,1540,2585,1462,1468,2408,42,1626,1622,184,0,1540,1532,195,1468,1462,195,42,579,6,2409,0,2586,2587,2588,593,597,2409,42,2409,6,580,0,2588,2587,2589,2409,597,599,42,2409,580,7,0,2588,2589,2590,2409,599,601,42,2409,7,581,0,2588,2590,2591,2409,601,606,42,2409,581,578,0,2588,2591,2592,2409,606,561,42,2409,578,582,0,2588,2592,2593,2409,561,558,42,582,0,2409,0,2593,2594,2588,558,560,2409,42,2409,0,583,0,2588,2594,2595,2409,560,566,42,2409,583,19,0,2588,2595,2596,2409,566,4,42,2409,19,584,0,2588,2596,2597,2409,4,1,42,1,2409,584,0,2598,2588,2597,3,2409,1,42,585,2409,1,0,2599,2588,2598,570,2409,3,42,2,2409,585,0,2600,2588,2599,572,2409,570,42,586,2409,2,0,2601,2588,2600,578,2409,572,42,3,2409,586,0,2602,2588,2601,579,2409,578,42,587,2409,3,0,2603,2588,2602,585,2409,579,42,4,2409,587,0,2604,2588,2603,584,2409,585,42,588,2409,4,0,2605,2588,2604,589,2409,584,42,5,2409,588,0,2606,2588,2605,588,2409,589,42,579,2409,5,0,2586,2588,2606,593,2409,588],bones:[{parent:-1,name:"Wrist",pos:[0,0,-0],rotq:[0,0,0,1]},{parent:0,name:"Finger_00",pos:[-1.37609,2.16904e-7,-1.14256],rotq:[0,0,0,1]},{parent:1,name:"Finger_01",pos:[-.917899,-.234756,1.67231],rotq:[0,0,0,1]},{parent:2,name:"Finger_02",pos:[-.132687,-.18571,1.64865],rotq:[0,0,0,1]},{parent:3,name:"Finger_03",pos:[-.100171,-.140201,1.24464],rotq:[0,0,0,1]},{parent:0,name:"Finger_10",pos:[-1.31466,-117688e-11,2.19792],rotq:[0,0,0,1]},{parent:5,name:"Finger_11",pos:[-.0321025,-.11755,1.95268],rotq:[0,0,0,1]},{parent:6,name:"Finger_12",pos:[-.0192316,-.0704202,1.16979],rotq:[0,0,0,1]},{parent:7,name:"Finger_13",pos:[-.0188826,-.0691422,1.14856],rotq:[0,0,0,1]},{parent:0,name:"Finger_20",pos:[-.053333,-9.54433e-7,2.46982],rotq:[0,0,0,1]},{parent:9,name:"Finger_21",pos:[7.45058e-9,-.163323,1.92416],rotq:[0,0,0,1]},{parent:10,name:"Finger_22",pos:[3.72529e-9,-.111247,1.31064],rotq:[0,0,0,1]},{parent:11,name:"Finger_23",pos:[0,-.112985,1.33111],rotq:[0,0,0,1]},{parent:0,name:"Finger_30",pos:[.959611,-5.83959e-7,2.31429],rotq:[0,0,0,1]},{parent:13,name:"Finger_31",pos:[5.96046e-8,-.283859,1.98441],rotq:[0,0,0,1]},{parent:14,name:"Finger_32",pos:[-5.96046e-8,-.166273,1.16239],rotq:[0,0,0,1]},{parent:15,name:"Finger_33",pos:[5.96046e-8,-.160046,1.11885],rotq:[0,0,0,1]},{parent:0,name:"Finger_40",pos:[1.83458,-.433138,2.12193],rotq:[0,0,0,1]},{parent:17,name:"Finger_41",pos:[-2.38419e-7,-.116079,1.14359],rotq:[0,0,0,1]},{parent:18,name:"Finger_42",pos:[1.19209e-7,-.0747082,.736012],rotq:[0,0,0,1]},{parent:19,name:"Finger_43",pos:[0,-.0809339,.797347],rotq:[0,0,0,1]}],skinIndices:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,1,0,1,0,1,0,0,0,1,0,1,0,0,0,1,0,1,0,1,1,0,1,0,1,0,0,0,0,0,0,0,2,1,1,0,1,0,0,2,0,5,0,9,0,9,0,13,0,13,0,17,0,5,0,1,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,1,0,1,0,1,1,0,1,0,1,0,1,0,2,0,0,2,0,2,2,0,1,2,1,2,1,2,1,2,1,2,1,0,1,0,1,0,0,1,0,1,2,1,1,2,1,2,1,2,2,1,2,0,2,0,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,0,2,0,2,3,2,3,2,3,2,3,2,3,2,3,5,0,5,0,9,5,9,13,13,9,13,0,17,13,17,0,5,0,5,0,5,0,5,0,9,0,9,0,0,13,17,0,17,0,17,0,17,0,17,0,0,17,17,0,17,13,17,0,13,0,13,0,0,13,13,17,13,17,13,9,9,0,9,0,0,9,9,0,9,13,9,5,9,13,13,9,17,13,17,13,5,9,5,0,5,0,0,5,5,9,5,0,5,0,5,0,5,0,5,0,9,5,9,0,9,13,13,9,13,17,17,13,17,13,9,10,13,0,18,17,5,6,3,2,3,2,2,3,2,3,2,3,3,2,3,2,3,2,3,2,2,3,2,3,2,3,2,3,3,2,3,2,3,2,2,3,3,2,3,4,3,4,3,2,3,2,3,2,3,2,3,2,3,2,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,9,10,9,10,13,14,13,14,18,17,18,17,5,6,5,6,5,9,13,9,9,13,17,13,17,13,5,6,5,6,5,6,5,6,5,9,13,14,13,14,13,14,9,10,9,10,9,10,9,10,9,10,9,5,13,14,13,14,13,14,18,17,18,17,18,17,18,17,13,9,13,0,13,17,14,15,14,15,14,13,14,13,14,13,14,15,14,15,14,15,15,16,15,16,14,15,15,16,15,16,15,16,15,16,15,16,15,16,19,18,19,18,19,18,19,18,19,18,19,18,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,15,16,15,16,15,16,10,11,10,11,10,11,10,11,10,11,10,11,11,12,11,12,11,12,11,12,11,12,11,12,11,12,11,12,11,12,11,12,6,7,6,7,6,7,6,7,6,7,6,7,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,10,11,13,14,13,14,13,14,14,13,14,13,14,15,15,14,15,14,15,14,17,18,17,18,18,17,18,17,19,18,18,19,18,19,19,18,19,18,9,10,9,10,9,10,9,10,9,10,10,9,9,10,10,11,10,9,10,11,10,9,10,0,10,11,10,11,10,11,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,6,7,6,7,6,7,6,7,6,7,7,6,7,6,7,6,7,8,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,6,7,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,5,6,5,6,5,0,5,0,5,9,5,9,5,9,5,9,5,6,9,5,9,5,9,5,9,0,9,13,9,13,9,13,9,13,9,5,9,5,9,5,9,10,10,9,10,9,10,9,10,9,10,9,10,9,10,9,10,9,10,9,10,9,10,11,11,10,11,10,11,10,11,0,11,0,11,12,11,10,11,10,11,10,11,10,13,9,13,9,13,17,13,17,13,17,13,17,13,17,13,17,13,9,13,9,13,14,14,13,14,13,14,13,14,13,14,13,14,13,14,13,14,13,14,13,14,13,14,15,15,0,15,14,15,14,15,14,15,14,15,14,15,0,15,16,15,16,15,0,17,18,17,18,17,18,17,18,17,18,17,18,17,18,17,18,18,17,18,19,18,19,18,19,18,19,18,19,18,19,18,19,18,19,19,18,19,20,19,20,19,20,19,18,19,20,19,20,19,20,19,20,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,17,17,0,17,18,17,0,0,17,0,17,0,17,0,9,0,9,0,5,0,5,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,17,0,17,0,17,0,17,0,17,0,17,0,1,0,0,0,1,0,0,0,17,0,0,0,1,0,1,0,1,0,1,0,2,0,2,0,2,0,1,0,5,0,2,0,5,0,5,0,9,0,9,0,9,0,13,0,13,0,13,0,17,0,17,0,17,0,17,0,17,0,9,0,9,0,5,0,5,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,1,2,2,1,1,2,1,2,1,0,1,2,1,0,1,0,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,5,0,5,0,5,0,5,0,5,0,5,0,5,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,5,0,5,9,5,9,5,9,9,13,13,9,9,13,9,13,17,13,17,0,17,13,17,13,0,17,17,0,17,0,17,0,0,17,17,0,17,0,9,0,9,0,9,0,9,0,9,0,9,0,9,0,18,17,17,18,17,18,18,17,18,17,18,17,18,17,2,3,2,3,2,3,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,9,10,9,10,9,10,9,10,9,10,9,10,9,10,9,10,9,10,9,10,9,10,9,10,9,10,9,10,13,9,13,14,13,0,13,9,13,14,13,14,13,14,13,14,13,17,13,14,13,14,13,14,13,14,13,14,17,18,18,17,18,17,18,17,18,17,18,17,18,17,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,14,15,14,15,14,15,14,15,14,15,14,15,14,15,14,15,14,15,14,15,14,15,14,15,14,15,14,15,15,0,15,16,15,0,15,0,15,16,15,16,15,16,15,16,15,16,15,16,15,16,15,16,15,16,15,16,15,16,15,16,15,16,15,16,19,18,19,18,19,18,19,18,19,18,19,18,19,18,19,18,19,18,19,18,19,18,19,18,19,18,19,18,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,15,16,15,16,15,0,15,16,10,9,10,11,10,11,10,11,10,11,10,11,10,11,10,11,10,9,10,11,10,0,10,11,10,11,10,11,11,12,11,12,11,12,11,12,11,12,11,12,11,10,11,12,11,12,11,12,11,12,11,12,11,0,11,0,11,0,11,12,11,12,11,12,11,12,11,12,11,12,11,12,11,12,11,12,11,12,11,12,11,12,11,12,6,7,6,7,6,7,6,7,7,6,6,7,6,7,6,7,6,7,6,7,6,7,7,6,6,7,6,7,7,8,7,8,7,8,7,8,7,8,7,8,7,6,7,8,7,8,7,8,7,8,7,8,7,8,7,6,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,0,17,0,17,0,17,0,17,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,1,0,1,0,1,0,1,0,1,0,1,0,0,1,0,1,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,1,0,1,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,2,2,1,2,1,1,2,1,2,2,0,2,0,2,0,2,0,2,1,2,0,2,0,2,0,2,1,2,1,1,2,1,2,1,2,1,2,1,2,0,2,0,1,1,0,0,2,0,2,0,2,0,2,0,2,0,1,0,1,0,2,0,2,0,2,0,5,0,5,0,5,0,5,0,5,5,0,5,0,5,0,0,5,0,9,0,5,0,5,5,9,0,9,0,5,0,9,0,9,0,9,0,9,9,0,9,0,9,0,9,0,0,9,9,0,0,9,0,9,0,9,13,9,13,0,0,13,0,13,0,13,0,9,0,13,0,13,13,0,13,0,0,13,0,13,0,13,13,0,0,13,0,13,0,13,0,13,0,13,0,13,0,17,17,0,0,17,0,17,0,17,0,17,0,17,0,17,17,0,0,17,0,17,0,17,0,17,0,5,5,0,5,0,0,5,0,5,0,5,0,5,5,0,5,0,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,1,0,1,0,1,0,1,0,1,0,1,0,17,0,17,0,1,0,1,0,17,0,17,0,17,0,17,0,17,0,0,0,17,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,1,1,0,0,1,0,1,0,1,0,1,0,1,0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0,1,0,1,0,1,2,1,2,1,0,1,2,1,2,0,1,2,0,0,2,2,0,1,2,2,0,0,1,0,1,0,2,0,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,2,1,1,2,1,2,1,2,1,2,1,2,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,0,2,0,2,0,2,0,2,0,2,0,2,1,2,1,2,3,2,3,2,1,2,0,2,0,2,0,2,3,2,3,2,1,2,3,2,3,2,1,2,1,2,0,2,3,2,1,2,0,2,0,2,3,2,0,2,3,2,3,2,3,2,3,2,3,2,3,2,3,3,2,2,3,2,3,3,2,2,3,2,3,3,2,3,2,3,2,5,9,5,0,5,0,5,0,5,0,5,0,5,0,5,9,5,9,5,9,9,5,5,9,5,9,9,5,9,0,9,5,9,13,9,13,9,0,9,13,13,9,13,9,9,13,13,9,13,9,13,9,13,0,13,0,13,0,13,17,13,17,13,17,13,17,17,13,13,17,17,13,17,13,17,13,17,13,17,0,17,0,0,5,5,0,0,5,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,0,5,0,5,0,5,9,0,9,0,9,5,9,5,0,9,0,9,0,9,9,13,9,0,9,0,0,9,0,9,0,9,0,13,0,17,13,0,0,13,13,17,13,9,13,0,0,17,0,17,17,0,0,17,13,17,17,13,17,0,17,18,17,0,17,0,0,17,17,0,17,0,17,0,17,0,17,0,17,0,0,17,0,17,17,0,17,0,17,0,17,0,17,0,17,18,17,18,17,18,17,0,17,0,17,0,17,0,17,18,17,18,17,18,0,17,0,17,17,0,17,0,0,17,0,17,0,17,17,0,17,18,17,0,17,18,17,13,17,13,13,0,13,17,13,17,13,17,13,9,13,0,13,0,13,17,13,17,13,17,13,9,13,9,13,9,9,13,9,0,9,0,9,5,9,0,9,0,9,13,9,13,9,13,9,0,9,5,9,5,9,13,9,13,9,13,9,5,9,5,9,5,9,13,9,13,13,9,13,9,9,13,9,13,9,13,13,9,13,9,13,9,17,13,17,13,17,13,17,13,17,18,17,18,17,13,5,9,5,9,9,5,5,9,5,9,5,9,5,9,5,9,5,9,5,9,5,9,0,2,0,5,5,0,5,9,5,9,5,0,5,0,5,0,5,0,5,0,5,0,5,6,5,0,5,0,5,0,5,6,5,0,5,9,5,9,5,9,9,5,5,9,5,9,9,5,9,5,9,5,9,5,9,5,9,5,9,5,9,13,9,13,9,13,13,9,9,13,13,9,9,13,9,13,13,17,13,9,13,9,13,9,13,9,13,9,13,17,13,17,13,17,17,13,17,13,17,13,17,18,17,18,17,18,17,18,17,18,17,18,9,10,9,10,9,10,9,10,9,10,9,10,9,10,10,9,9,10,9,10,10,9,9,10,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,14,13,0,13,0,13,14,13,0,18,17,17,18,17,18,18,17,18,17,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,3,2,2,3,3,2,3,2,3,2,2,3,3,2,3,2,3,2,2,3,2,3,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,2,3,2,3,3,2,3,2,3,2,3,2,2,3,3,2,3,2,3,2,3,2,3,2,3,2,3,4,3,2,3,2,3,4,3,2,3,0,3,2,3,2,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,17,18,17,18,17,18,18,17,17,18,17,18,18,17,18,19,18,17,18,17,18,19,18,19,18,17,5,9,5,9,5,6,5,6,5,6,5,6,5,6,5,6,5,6,6,5,6,5,6,5,6,5,6,5,6,5,6,5,5,6,5,6,5,6,6,5,6,5,6,5,5,6,5,6,5,6,6,5,6,5,6,5,5,9,5,6,5,6,6,5,6,5,6,5,13,17,13,17,13,17,13,14,13,17,13,17,13,17,14,13,13,14,13,14,13,14,13,14,14,13,13,14,13,14,13,17,13,17,13,17,13,14,13,17,13,17,14,13,13,14,13,14,14,13,13,14,13,14,9,13,9,10,9,13,9,13,9,10,9,13,9,13,9,10,10,9,9,10,9,10,9,10,10,9,9,10,9,10,9,10,9,13,10,9,9,10,9,10,9,10,9,5,9,5,10,9,9,10,9,10,9,10,9,5,9,5,10,9,9,10,9,10,9,5,9,10,9,5,9,5,10,9,9,10,9,10,9,5,13,14,13,9,13,14,14,13,13,14,13,14,13,14,13,9,13,9,14,13,13,14,13,14,13,14,13,9,13,9,14,13,13,14,13,14,18,17,17,18,17,18,17,18,18,19,18,17,18,17,18,17,18,17,18,17,18,19,18,19,18,19,18,17,18,17,18,17,18,19,18,19,18,19,18,17,17,18,17,18,18,19,18,17,18,17,13,9,13,9,13,0,13,0,14,15,14,15,14,0,14,15,14,15,14,0,14,15,14,15,15,14,14,15,15,14,14,15,14,15,14,13,14,13,14,13,15,14,15,14,15,14,15,14,14,13,14,13,14,13,14,15,15,14,14,15,14,13,14,13,14,13,15,14,14,15,14,15,14,15,14,13,14,13,15,14,14,15,14,15,14,13,14,15,14,13,15,14,14,15,14,15,14,15,14,13,14,13,15,14,15,14,15,14,15,16,15,0,15,16,15,16,15,0,15,16,15,16,15,16,15,16,15,16,15,16,15,16,15,0,15,0,14,13,14,13,15,0,15,14,15,0,15,16,15,14,15,0,15,16,15,14,15,14,15,16,15,16,15,16,15,14,15,14,19,18,18,19,19,18,19,18,19,18,19,18,18,19,18,19,18,19,19,18,19,20,19,18,19,18,19,18,18,19,18,19,19,20,19,18,19,18,19,18,18,19,18,19,19,20,19,18,19,18,19,18,18,19,18,19,19,18,19,20,19,18,19,18,18,19,18,19,19,20,19,18,19,18,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,10,9,10,11,10,9,10,9,10,11,11,10,10,11,10,11,10,11,10,9,10,9,11,10,10,11,10,11,10,9,10,11,10,9,11,10,10,11,10,11,10,11,10,9,10,11,10,11,10,11,10,11,10,11,10,11,10,0,10,0,10,11,10,11,10,9,10,11,10,9,10,9,11,10,10,11,10,11,10,11,10,11,10,9,11,10,10,11,11,0,11,12,11,12,11,12,11,12,11,12,11,12,11,12,11,12,11,12,11,12,11,10,11,12,11,12,11,12,11,12,11,12,11,12,11,12,11,12,6,7,6,7,6,7,6,7,6,7,6,7,6,7,7,6,6,7,6,7,7,6,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,7,6,7,6,7,6,7,6,7,6,7,6,7,6,6,7,6,7,6,7,7,6,7,6,7,6,6,7,6,7,6,7,7,6,7,6,7,6,6,7,6,7,6,7,7,6,7,6,7,6,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,0,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,10,9,10,11,10,9,11,10,10,11,14,13,13,14,13,14,14,13,13,14,13,14,14,13,13,14,14,13,14,13,14,13,14,13,15,14,15,14,15,14,15,14,17,18,17,18,17,18,18,19,18,19,18,19,18,19,18,19,18,19,18,19,19,0,19,18,18,19,18,19,19,18,19,18,19,0,9,0,9,13,10,9,10,9,10,9,9,0,9,0,9,10,9,0,10,9,10,9,10,9,10,9,10,9,10,9,10,9,10,9,10,9,10,9,11,10,11,10,10,9,10,9,10,9,10,0,11,10,11,10,11,10,11,10,5,0,5,6,5,0,5,0,5,9,5,0,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,7,6,7,7,6,7,6,6,5,6,0,6,0,6,0,7,6,7,6,7,6,7,6,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,1,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,17,0,17,0,17,0,17,0,17,0,17,0,13,0,17,0,9,0,13,0,9,0,9,0,9,0,5,0,5,0,5,0,5,0,5,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,17,0,0,0,1,0,1,0,1,0,1,0,1,0,17,0,17,0,17,0,17,0,17,0,17,0,1,0,17,0,0,0,1,0,1,0,2,0,1,0,2,0,2,0,2,0,2,0,1,0,1,0,1,0,1,0,1,0,17,0,17,0,17,0,17,0,1,0,1,3,4,13,0,15,16,15,14,19,20,11,12,11,12,7,8,7,8,14,13,15,14,18,19,9,10,10,9,11,10,5,9,6,7,7,6,17,18,0,2,0,1,0,1,0,1,0,17,0,17,0,17,0,1,0,1,0,1,0,0,0,0,0,0,13,17,13,17,13,17,0,0],skinWeights:[1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,.99758,.00242,.991047,.008953,.994211,.005789,1,0,1,0,1,0,1,0,1,0,.985016,.014984,.953109,.046891,.939562,.060438,.94762,.05238,1,0,1,0,1,0,1,0,1,0,.992609,.007391,.939122,.060878,.676634,.323366,.686539,.313461,.69996,.30004,1,0,1,0,.998504,.001496,1,0,1,0,.920575,.079425,1,0,.998383,.001617,.9957,.0043,.998476,.001524,.995399,.004601,1,0,.986932,.013068,.9982,.0018,1,0,.998539,.001461,.9913,.0087,.517586,.482414,.807741,.192259,.752375,.247625,.653481,.346519,1,0,1,0,1,0,.609921,.21074,.965726,.02219,.775382,.179182,.485378,.269048,.69797,.262826,.75125,.157732,.734273,.219022,.72,.2455,.9183,.0598,.951805,.046195,.586359,.376238,.469015,.442577,1,0,.991498,.008502,.997498,.002502,.998599,.001401,1,0,1,0,1,0,1,0,1,0,1,0,.9981,.0019,.944933,.053663,.988195,.011805,1,0,.961845,.038155,.996661,.003339,.50197,.483501,.647817,.346411,.881183,.116066,.969403,.028397,.9894,.0078,.604584,.270412,.652683,.276653,.456392,.445332,.361199,.315352,.9611,.0356,.934267,.065733,.77577,.218589,.568683,.385057,.938282,.03647,.853789,.111433,.502928,.289726,.737673,.206516,.539926,.380031,.740363,.253538,.584958,.415041,.561056,.437944,.646465,.341234,.645399,.282833,.584657,.29068,.791645,.145344,.867807,.080743,.780781,.210768,.987778,.00942,.982591,.017409,.964175,.034524,.943789,.04991,.912798,.068142,.905321,.050232,.895716,.075318,.954365,.029705,.989096,.010904,.981591,.018409,.909619,.090381,.912974,.083925,.923269,.069528,.916825,.080773,.9203,.078,.6841,.1679,.49835,.278928,.5856,.2239,.695,.1781,.95169,.041908,.458546,.326633,.7528,.2182,.76593,.23307,.723123,.273073,.6681,.326198,.501401,.356485,.516803,.390278,.360844,.305222,.3635,.348984,.665833,.257752,.760452,.234547,.986999,.011901,.722672,.277328,.7607,.2383,.672067,.327933,.726,.274,.994899,.002801,.993497,.006503,.775378,.169017,.976295,.018004,.608082,.389817,.992799,.006101,.876227,.11396,.9853,.0119,.891357,.081232,.808643,.155547,.5557,.4361,.9905,.0054,.963793,.029806,.958792,.028706,.6577,.3316,.6655,.3233,.565339,.41695,.842305,.148189,.738048,.236047,.907991,.073107,.805041,.194958,.595055,.403544,.954095,.031003,.9908,.007,.988898,.011102,.985797,.014203,.971875,.028125,.944556,.04954,.558503,.399259,.852241,.067527,.708896,.238067,.660564,.264706,.671269,.195178,.558412,.352771,.854727,.076738,.916764,.083235,1,0,.758726,.241274,.975919,.024081,.5208,.4792,.537754,.462246,.904933,.095067,.880088,.119912,.909,.091,.594792,.405208,.590895,.408104,.596979,.402021,.616723,.382076,.802243,.197757,.931345,.067554,.968697,.024602,.963489,.026308,.920868,.079132,.923892,.076108,.652557,.347443,.810849,.188151,.691469,.307331,.9883,.008,.9942,.003,.9777,.018,.9555,.0365,.939894,.050905,.9387,.0513,.949805,.037896,.966597,.020002,.6088,.3912,.6395,.3605,.867874,.132126,.854169,.145831,.817182,.181018,.7912,.207,.79782,.20078,.7505,.2495,.5017,.4983,.5304,.4696,.5047,.4953,.5053,.4947,.508,.492,.5016,.4984,.922171,.077829,.93481,.06519,.997799,.002201,.994498,.004001,.854589,.145411,.647811,.352189,.964074,.035926,.96337,.03663,.847793,.09967,.5454,.451397,.559607,.43889,.807446,.158727,.6455,.3207,.777445,.222555,.742209,.257791,.802041,.195859,.835684,.161516,.675103,.319196,.955255,.031331,.914066,.061124,.910473,.064019,.973795,.022705,.969479,.026018,.969888,.027011,.973581,.024117,.975895,.022304,.548319,.446579,.925385,.058912,.936587,.05161,.956853,.034438,.662715,.335551,.760704,.234894,.902432,.086961,.874012,.118783,.997899,.002101,1,0,.993896,.004002,.957476,.042524,.936784,.063216,.9969,.0031,.994798,.005202,.9867,.0071,.9851,.0085,.9854,.0115,.976881,.023119,.7659,.2341,.9801,.0199,.874714,.125286,.9857,.0143,.991798,.008202,.994197,.005803,.994296,.005704,.992199,.007801,.5646,.4354,.932428,.067572,.914274,.085726,.671156,.328844,.660796,.338103,.722322,.277678,.76231,.23769,.5575,.4425,.647065,.352935,.861586,.138414,.59746,.40254,.732747,.267253,.564313,.435687,.558256,.441744,.625388,.374612,.5027,.4973,.5131,.4869,.7457,.2543,.9673,.0327,.7542,.2458,.9891,.0063,.990399,.006601,.982583,.017417,.984963,.015037,.987,.013,.9898,.0061,.5483,.4517,.7315,.2685,.6981,.3019,.8113,.1887,.80064,.19936,.80032,.19968,.803902,.196098,.806442,.193558,.5052,.4948,.50415,.49585,.951465,.048535,.927017,.072983,.791465,.208535,.824142,.175858,.766415,.233585,.902997,.097003,.79968,.20032,.8988,.1012,.7426,.2574,.90209,.09791,.837484,.162516,.763576,.236424,.7543,.2457,.5302,.4698,.5051,.4949,.992001,.005699,.985999,.010201,.975416,.024584,.97195,.02805,.9944,.0032,.998446,.001554,.992768,.004922,.562738,.437262,.853418,.146582,.652613,.347387,.699186,.300814,.76543,.23457,.688876,.309882,.984204,.014632,.762285,.237715,.528881,.471119,.541417,.458583,.769842,.230158,.983768,.016232,.948015,.051985,.991805,.008195,.9916,.0084,.986695,.013305,.951966,.048034,.608258,.391742,.52178,.47822,.9898,.0086,.99253,.004084,.997013,.001593,.998399,.001601,1,0,.635765,.364235,.686796,.313204,.714132,.285868,.9935,.0065,.9981,.0019,.994095,.005905,.920344,.079656,.641259,.358741,.626143,.373857,.621088,.378912,.886264,.113736,.719081,.280919,.976532,.023468,.995399,.004601,.986396,.013604,.754364,.245636,.637469,.362531,.661514,.338486,.631185,.368815,.9964,.0019,.997599,.002401,.995698,.004302,.992994,.007006,.987599,.010301,.9843,.0118,.985151,.011254,.991734,.006367,.995,.0032,.806642,.193358,.971145,.026431,.968277,.028015,.96846,.02875,.982494,.017506,.981198,.018802,.986397,.013603,.975085,.024915,.9171,.0817,.9209,.0774,.994198,.003701,.998999,.001001,1,0,1,0,.987097,.011702,.9562,.0411,.89969,.089109,.944589,.036607,.983294,.007508,.713543,.267654,.976362,.023638,.995395,.004605,1,0,.993397,.006603,.949249,.050751,.877465,.119832,.910082,.078216,.957183,.018307,.933893,.058506,.944122,.054376,.527301,.472699,.9418,.0582,.970165,.029835,.96493,.03507,.878288,.121712,.80106,.19894,.755427,.244573,.716715,.283285,.725145,.274855,.753851,.246149,.823382,.176618,.987999,.006701,.891989,.107011,.890023,.109977,.932773,.067227,1,0,1,0,.996898,.003102,.9925,.0075,.96718,.03282,.897718,.102282,.884188,.114811,.89988,.10012,.988095,.011905,.9988,.0012,.966844,.031453,.837284,.143414,.785579,.181218,.783778,.171917,.867087,.080708,.895248,.073537,.845785,.146915,.982844,.017156,.668902,.331098,.686365,.313635,.706711,.293289,.736339,.263661,.723969,.276031,.713156,.286844,.717145,.282855,.737843,.262157,.692343,.307657,.675736,.324264,.961734,.038266,1,0,.966097,.033903,.865,.135,.877188,.122812,.921592,.078408,.9963,.0037,1,0,.9989,.0011,.996299,.003701,1,0,.989498,.010502,.977286,.022714,.930572,.068227,.737995,.258203,.614314,.375375,.777867,.207825,.951657,.038034,.989399,.009401,.967703,.03078,.974041,.024477,.963444,.030249,.950487,.034618,.9131,.0731,.788379,.206621,.8144,.1818,.946573,.049422,.979917,.020083,.98904,.01096,.989697,.010303,.995597,.004403,.9925,.0046,.982129,.009037,.9608,.0211,.964096,.021602,.97,.0202,.9788,.0177,.856955,.143045,.757701,.240951,.510434,.489566,.919562,.080438,.95273,.04727,.872105,.105539,.996297,.003703,1,0,1,0,1,0,.997298,.002702,.977482,.017114,.948574,.023512,.735141,.264859,.730146,.269854,.69884,.30016,.884431,.060036,.887766,.055217,.877314,.087461,.854982,.112969,.648965,.335134,.994799,.005201,.992297,.007703,.998699,.001301,.856058,.139461,.966743,.031953,.993295,.006705,.959976,.040024,.971802,.028198,1,0,1,0,1,0,.977684,.020114,1,0,1,0,.9985,.0015,.995799,.004201,.994298,.005702,.989896,.010104,.850255,.141843,.993893,.006107,.995999,.004001,1,0,.984098,.015902,1,0,.998899,.001101,1,0,.998999,.001001,.995591,.004409,.963236,.028842,.844492,.125146,.936497,.031374,.752571,.179453,.598523,.240763,.692058,.174971,.7044,.2798,.83006,.072009,.956534,.018004,.9846,.01,.983793,.008403,.985193,.013207,.989198,.008502,.9946,.0041,.991698,.008302,.9962,.0025,.993498,.006502,.973,.027,.939852,.060148,.960592,.039408,.989197,.005202,.988079,.00581,.981094,.008403,.954516,.025709,.802634,.132572,.68786,.165018,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,.9306,.0628,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,.996898,.003102,1,0,1,0,1,0,.608671,.391329,.583056,.416944,.754027,.245972,.591643,.408357,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,.615811,.381713,.85162,.147228,.78277,.21723,.771188,.227802,.943619,.056381,.883903,.11352,.911178,.087431,1,0,1,0,1,0,1,0,1,0,1,0,1,0,.997058,.002942,.997199,.002801,.9954,.0046,.996599,.003401,.9969,.0031,.991185,.008815,.9949,.005101,.9951,.0049,1,0,1,0,1,0,.522188,.475747,.620212,.364593,.75736,.225606,.576821,.412296,.750071,.131927,.836513,.084107,.799108,.163258,.821503,.113359,.94999,.05001,.991194,.008806,.9765,.0235,.984797,.015203,.980492,.019508,.935894,.064106,.960896,.039104,.972097,.027903,.852223,.147777,.916258,.083742,.867702,.132298,.880633,.119367,.964296,.031603,.95,.0473,.946795,.050905,.955482,.034014,.919884,.075915,.948095,.047305,.944683,.050015,.871684,.126814,.876764,.121934,.894584,.103614,.764253,.235747,.826,.174,.907291,.092709,.845485,.149415,.861347,.138653,.9485,.0469,.910091,.087309,.524305,.475695,.89995,.10005,.796639,.203361,.9029,.0958,.961785,.038215,.993594,.006406,.978389,.021611,.5345,.4614,.923392,.061406,.856586,.139214,.796335,.123861,.588153,.29948,.729757,.228105,.766837,.154908,.682973,.19928,.593875,.280124,.522518,.42464,.577346,.338303,.726609,.153007,.879876,.063013,.748375,.179718,.821093,.101961,.5044,.4956,.5004,.4996,.763,.237,.5198,.4802,.5196,.4804,.84887,.15113,.5179,.4821,.842458,.150235,.876512,.119288,.947995,.044604,.910709,.084092,.769708,.221689,.920552,.069141,.876514,.117883,.77151,.22849,.645988,.354012,.520462,.479538,.575696,.424304,.910259,.088634,.918429,.081571,.907726,.092274,.763776,.236224,.780778,.219222,.872687,.127313,.788979,.211021,.5118,.4882,.5079,.4921,.5138,.4862,.728973,.271027,.919168,.080832,.5407,.4593,.805981,.194019,.985491,.014509,.951142,.048858,.969985,.030015,.976151,.023849,.752596,.247404,.809896,.190104,.890603,.109397,.954602,.045398,.99178,.00822,.97782,.02218,.981565,.018435,.724781,.275219,.814752,.185248,.895324,.104676,.9957,.0031,.9963,.0027,1,0,.9974,.0013,.988093,.011907,.995699,.004301,.995698,.004302,.98619,.009807,.985982,.008211,.996399,.002001,.990693,.005304,.975333,.022467,.994796,.005204,.989296,.008804,.613651,.386349,.854745,.145255,.602094,.397906,.688521,.311479,.937955,.060757,.963427,.036573,.95605,.04395,.957587,.042413,.987988,.012012,.989998,.010002,.983395,.016605,.72327,.27673,.908584,.091416,.922968,.077032,.9871,.0129,.954952,.045048,.988143,.011857,.982211,.017789,.680374,.319626,.892374,.107626,.902207,.097793,.933983,.066017,.9886,.0095,.986443,.013557,.983416,.016584,.526097,.473903,.767056,.232944,.791868,.208132,.9922,.0054,.979092,.020908,.996146,.003854,.994493,.005507,.672241,.327759,.845563,.154437,.914621,.085379,1,0,.9977,.0023,1,0,1,0,.950695,.049305,.9073,.0927,.9922,.0078,.9682,.0318,.8943,.1057,.9379,.0621,.9843,.0157,.9572,.0428,.962,.038,.992399,.007601,.9731,.0269,.995698,.004302,.969697,.030303,.986699,.013301,.684455,.315545,.935143,.064857,.828618,.171382,.898185,.101815,.968904,.031096,.976183,.023817,.980318,.019682,.89811,.10189,.615875,.384125,.797336,.202664,.845983,.154017,.950758,.049242,.964577,.035423,.955084,.044916,.5181,.4819,.726545,.273455,.5231,.4769,.5283,.4717,.5049,.4951,.5036,.4964,.5432,.4568,.5056,.4944,.995,.005,.9986,.0014,1,0,.9987,.0013,.9923,.004,.986355,.012562,.990998,.007467,.990843,.007224,.855049,.144951,.938092,.061908,.966384,.033616,.995099,.004901,.9986,.0014,.996599,.003401,1,0,.786741,.213259,.951253,.048747,.970389,.029611,.5031,.4969,.5201,.4799,.504,.496,.5024,.4976,.9962,.0038,.9709,.0291,.982998,.017002,.9938,.0042,.5103,.4897,.825265,.174735,.5239,.4761,.9868,.0132,1,0,1,0,1,0,.504,.496,.5113,.4887,.8638,.1362,.5164,.4836,.5081,.4919,.847985,.152015,.5266,.4734,.5065,.4935,.829249,.170751,.515752,.484248,.5098,.4902,.829715,.170285,.5226,.4774,.892248,.107752,.967414,.032586,.974388,.025612,.959441,.040559,.552113,.447887,.779608,.220392,.757271,.242729,.933815,.066185,.858469,.141531,.957358,.042642,.933597,.066403,.550902,.449098,.742596,.257404,.725016,.274984,.5061,.4939,.8479,.1521,.5068,.4932,.5101,.4899,.983695,.016305,.985497,.014503,.994129,.004472,.993696,.006304,.818682,.181318,.5071,.4929,.512,.488,.993899,.006101,.9967,.0033,.996699,.003301,.998299,.001701,.5357,.4643,.5899,.4101,.929,.071,.753,.247,.532,.468,.9122,.0878,.7749,.2251,.504,.496,.8306,.1694,.5095,.4905,.996498,.003502,.991798,.008202,.995298,.004702,.995098,.004902,.960615,.025199,.905911,.061512,.92512,.063107,.941369,.044638,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,.995167,.004833,1,0,1,0,.992033,.007967,.997119,.002881,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,.962947,.037053,.975627,.024373,.987762,.012238,.958028,.041972,.948463,.051537,.970121,.029879,.937406,.062594,.986769,.013231,.941918,.058082,.994395,.005605,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,.884545,.115455,.931052,.068948,.785907,.214093,.934495,.065505,.995792,.004208,.974866,.025134,.97136,.02864,.989685,.010315,.920672,.079328,.683714,.316286,.905587,.094413,.905526,.094474,.932555,.067445,.930552,.069448,.970879,.029121,.996866,.003134,.978081,.021919,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,.99556,.00444,1,0,1,0,1,0,1,0,.998138,.001862,1,0,.976976,.023024,.9949,.0051,.9864,.0136,.933858,.066142,.831742,.168258,.969917,.030083,.983306,.016694,.517396,.482604,.885164,.114836,.566023,.433977,.515027,.484973,.875087,.124912,.516804,.483196,.988599,.011401,.985411,.014589,1,0,.9874,.0126,.986296,.013704,.993799,.006201,.993,.007,.991,.009,.996182,.003818,.994905,.005095,.996416,.003584,.996913,.003087,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,.9984,.0016,1,0,1,0,.975457,.024543,.990118,.009882,.976165,.023835,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,.997599,.002401,.998406,.001594,.998199,.001801,.995499,.004501,.996799,.003201,1,0,1,0,.9958,.0042,.9962,.0038,.741103,.252649,.948959,.049275,.920908,.062122,.894497,.103543,.609444,.325726,.540713,.432067,.597189,.387099,.976993,.023007,.994399,.0034,.99123,.00877,.94047,.05953,.993294,.006706,.980796,.019204,.742377,.257623,.94923,.048717,.595342,.404658,.862943,.137057,.741274,.157563,.562481,.337037,.465185,.282956,.4924,.251563,.469809,.357072,.605972,.225728,.507992,.356535,.400121,.385304,.480263,.300452,.767689,.110262,.814398,.124887,.70574,.199559,.728625,.165515,.90167,.082097,.818891,.150757,.940449,.051003,.894566,.070899,.992594,.007406,.879368,.120632,.990393,.009607,.403305,.297548,.459,.3247,.427103,.35292,.56303,.333386,.54556,.307251,.472167,.33236,.549853,.255847,.628599,.188139,.588612,.296239,.5506,.223461,.705088,.234422,.616937,.243306,.592815,.272884,.955782,.037815,.984692,.008004,.953186,.042213,.840768,.153531,.980367,.019633,.854085,.09601,.679868,.246325,.8549,.1293,.764,.1589,.943294,.032703,.989891,.006906,.959092,.028206,.49555,.293029,.549555,.29693,.420942,.387839,.824647,.158948,.951671,.046528,.988997,.008002,.965793,.028406,.745875,.167317,.49935,.484948,.819982,.109711,.4967,.4351,.830899,.161297,.821482,.159916,.958196,.033603,.992591,.007409,.972289,.02581,.448945,.374237,.7548,.1672,.8495,.0838,.364536,.331133,.9784,.0183,.9961,.0021,.9829,.0096,.936894,.061706,.952195,.025903,.9561,.0397,.963982,.036018,.9976,.0024,.994098,.005902,.694069,.175118,.7788,.1407,.8842,.111,.5153,.472,.9894,.0077,.997299,.002701,.988391,.011609,.983202,.010499,.7887,.1403,.9274,.0709,.952795,.035504,.998099,.001901,.990197,.009803,.997698,.002302,.920384,.079616,.9026,.0944,.908691,.091309,.9328,.0672,.989099,.010901,.9819,.0181,.688569,.288729,.507501,.478896,.819728,.178671,.50155,.497049,.49915,.498549,.57563,.393157,.523162,.472736,.781181,.217317,.506204,.491095,.760421,.10105,.666672,.255866,.866276,.09512,.821111,.129712,.652813,.209736,.773919,.195757,.629752,.298019,.783945,.156161,.808327,.17874,.691954,.2731,.996999,.003001,.992499,.007502,.994399,.005601,.9977,.0012,.998299,.001701,.998299,.001701,.998699,.001301,.998099,.001901,.998499,.001501,.998299,.001701,.995399,.004601,.998199,.001801,1,0,.9977,.0023,.9989,.0011,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,.998699,.001301,.995499,.004501,.9983,.0017,.972863,.025939,.992992,.007008,.991196,.008804,.954039,.040865,.927981,.069067,1,0,1,0,.987911,.012089,.95801,.04199,.955626,.044374,.938634,.061366,.94615,.05385,.983042,.016958,.989899,.010101,.994798,.005202,.985881,.014119,.981598,.018402,.995799,.004201,.991999,.008001,1,0,.977421,.022579,1,0,1,0,.831449,.16674,.710546,.281509,.544632,.446789,.55895,.438865,.677075,.31994,.86459,.127899,.707044,.244111,.531595,.440143,.717001,.26842,.642873,.330466,.798803,.187201,.713538,.269036,.471951,.40006,.651712,.253388,.575104,.375433,.797111,.199561,.624912,.375088,.60058,.398253,.914702,.052985,.951034,.038354,.905345,.083711,.964084,.027924,.9893,.0061,.982326,.011267,.981493,.018507,.997398,.002602,.518337,.245195,.446827,.294579,.394603,.321265,.733868,.140415,.430634,.364818,.578649,.211632,.816937,.101409,.665103,.185875,.905502,.061032,.875244,.070796,.896729,.089852,.694669,.30193,.918519,.081481,.9342,.0625,.878388,.121612,.5044,.4956,.926993,.073007,.877226,.122774,.521136,.478864,.699378,.274196,.88483,.082159,.481044,.430896,.645383,.193001,.953795,.046205,.994667,.005333,.949058,.048497,.975774,.024226,.891846,.108154,.989596,.010404,.943794,.056206,.846854,.148144,.969172,.029326,.893279,.105521,.773671,.200851,.936887,.052911,.82978,.159165,.807055,.124462,.911289,.061093,.77411,.184552,.853421,.107242,.922508,.044414,.868106,.072804,.937832,.036557,.904046,.067526,.867621,.095896,.986018,.007088,.972187,.019271,.9973,.0014,.9988,.0012,.998752,.001248,1,0,.98195,.007896,.997,.001701,.990799,.006001,.9974,.0016,.9888,.0052,.952352,.047648,.992398,.004601,.977346,.013361,.984999,.008701,.968443,.01299,.971294,.020804,.972753,.013962,.954581,.023892,.969023,.014797,.960184,.034014,.943848,.031512,.976898,.023102,.9954,.0046,.92002,.078779,.955291,.041508,.802724,.197276,.875501,.124499,.830398,.169602,.722578,.277422,.8328,.1662,.852809,.147191,.63863,.36137,.706389,.293611,.763192,.236808,.854685,.145315,.942994,.057006,.833483,.166517,.9875,.0066,.962304,.021798,.9828,.0161,.985799,.010901,.995299,.004701,.968197,.031803,.984795,.015205,.779578,.157716,.9142,.0678,.9134,.0495,.7147,.2277,.534253,.434443,.526653,.392239,.921892,.067107,.942194,.034403,.9061,.0619,.9153,.0785,.766,.1984,.967797,.016202,.935294,.046405,.50005,.485151,.8091,.1581,.478448,.471847,.9519,.0433,.9957,.0023,.9692,.0211,1,0,.9959,.0027,1,0,.981096,.017003,.930279,.047114,.9873,.007,.706018,.278162,.566753,.396717,.830432,.141957,.713571,.270717,.974597,.016402,.903981,.079016,.989198,.009702,.992898,.007102,.990801,.007299,.871659,.126139,.859258,.140742,.50095,.49905,.990699,.009301,.963589,.036411,.977198,.022802,.935729,.064271,.986396,.013604,.965783,.034217,.970688,.028011,.894437,.101461,.943332,.056668,.950065,.033223,.724852,.258332,.911856,.074437,.857372,.13332,.753832,.193468,.780712,.210384,.495497,.328597,.774555,.141828,.812969,.135495,.731912,.164715,.896956,.054576,.762829,.187056,.777744,.138797,.886266,.058418,.661332,.261952,.838868,.090418,.762729,.121536,.917075,.057917,.811781,.150815,.905881,.045509,.75463,.119732,.581665,.255304,.769208,.141156,.610694,.200661,.792489,.088333,.736821,.102125,.907372,.073422,.704323,.280668,.571028,.291016,.809786,.151791,.505701,.372775,.483445,.328198,.930986,.060112,.944055,.023319,.838471,.149119,.947969,.037222,.766183,.231516,.524477,.475523,.654323,.341873,.792509,.20749,.947932,.052068,.974995,.014603,.953495,.043904,.505251,.494749,.757403,.242597,.505501,.494499,.972297,.027703,.994098,.005902,.959196,.040804,.968797,.031203,.9945,.0036,.998899,.001101,.993799,.006201,1,0,.988898,.009502,.811362,.188638,.965486,.034514,.968375,.031625,.983693,.013405,.993199,.005101,.8173,.1827,.5045,.4955,1,0,.99,.01,.915592,.084408,.972897,.027103,.948495,.051505,1,0,.9985,.0015,1,0,.990098,.007502,.973892,.021406,.994795,.005205,1,0,.996399,.003601,.947732,.049765,.995598,.004402,.996599,.003401,1,0,1,0,.932339,.061355,.611861,.365837,.7899,.197,.967984,.032016,.840984,.157016,.967697,.031303,.992797,.004602,.9835,.0136,.988597,.008302,.988796,.006303,.981096,.014003,1,0,.9988,.0012,.994297,.005703,.999,.001,1,0,.993299,.005301,.998699,.001301,.985394,.014606,.89789,.10101,.980088,.019912,.990891,.009109,.953291,.044809,.983398,.015002,.509751,.488149,.550045,.448352,.606521,.391978,.591759,.405741,.931591,.068409,.734876,.263522,.84543,.15457,.694708,.30009,.906003,.093997,.770485,.228514,.737874,.230023,.878667,.112023,.6446,.3342,.769262,.21673,.905186,.045755,.92471,.065879,.957279,.029215,.761328,.23257,.587476,.407122,.710984,.282913,.570971,.419726,.9832,.0136,.979992,.018908,.930786,.065413,.964696,.031603,.943094,.052805,.803641,.190257,.90063,.097268,.93186,.024029,.950157,.03568,1,0,.997899,.002101,.9967,.0023,1,0,.9987,.0013,1,0,1,0,.9979,.0021,.9987,.0013,.9972,.0017,.994696,.005304,.997399,.002601,.9826,.0122,.994289,.00351,.993691,.006309,.922084,.055711,.980213,.009999,.978598,.010901,.531606,.455091,.785171,.201521,.623123,.362863,.936143,.026224,.956691,.031606,.855999,.132493,.928364,.053127,.819119,.178278,.9442,.053697,.817244,.177849,.835769,.142414,.95938,.028114,.93977,.038619,.627091,.354774,.542288,.442899,.530762,.453106,.895913,.099679,.759139,.232849,.808362,.121224,.910546,.038523,.836085,.124587,.880681,.051752,.887966,.09843,.781847,.203542,.590218,.347269,.816182,.134713,.678936,.24765,.855228,.102251,.606021,.339968,.734973,.214821,.924285,.067413,.70012,.294277,.884084,.091291,.918667,.070228,.703863,.285729,.907417,.063557,.975272,.024728,.935386,.064614,.9973,.0027,.987522,.012478,.9953,.0047,.927253,.072747,.983969,.016031,.581411,.418589,.747368,.252632,.761209,.238791,.600263,.399737,.764883,.235117,1,0,1,0,1,0,1,0,1,0,1,0,1,0,.981666,.018334,1,0,1,0,.980054,.019946,1,0,.764558,.235442,.851615,.148385,.574143,.425857,.990885,.009114,.949986,.050014,.9982,.0018,.98173,.01827,.995452,.004548,.99653,.00347,.987688,.012312,.9986,.0014,.9982,.0018,.904105,.095895,.642323,.357677,.930653,.069347,.612737,.387263,.923696,.076304,.8417,.1583,.8711,.1289,.850485,.149515,.991,.009,.977,.023,.755578,.244422,.912056,.087944,.771177,.228823,.70157,.29743,.813851,.186149,.843337,.156663,.938645,.061355,.978098,.017602,.894089,.10391,.9392,.0597,.954495,.038204,.864886,.132813,.890489,.107611,.606388,.393612,.700671,.299329,.703073,.296927,.9446,.0472,.866973,.130726,.868687,.129213,.660593,.339407,.741868,.258132,.8926,.1044,.9509,.0396,.8908,.1068,.9346,.0625,.966997,.022602,.9262,.0712,.9876,.0069,.990894,.009106,.9828,.016,.998499,.001501,.991597,.008403,1,0,.9965,.0024,.990998,.009002,.976895,.023105,.5112,.4888,.988099,.011901,.9846,.0154,.9603,.0374,.976988,.023012,.90189,.09811,.9894,.0096,.994499,.005501,.9735,.0216,.984302,.013499,.8656,.1333,.9622,.0294,.972797,.021402,.8421,.1564,.9609,.0313,.967503,.024998,.8193,.1793,.9603,.034,.9647,.029,.826996,.173004,.964596,.031903,.5037,.4963,.5005,.4995,.5007,.4993,.5022,.4978,.506,.494,.5081,.4919,.516552,.483448,.5233,.4767,.507851,.492149,.5013,.4987,.506551,.493449,.5012,.4988,.519852,.480148,.5088,.4912,.5016,.4984,.510551,.489449,.5003,.4997,.5002,.4998,.843453,.156547,.949297,.050703,.926078,.073922,.657688,.342312,.784327,.215673,.813332,.186668,.935045,.059461,.972249,.020057,.942589,.051983,.936728,.058909,.987743,.006601,.971886,.0261,.980634,.014265,.932987,.054611,.877251,.112545,.970566,.029434,.812953,.187047,.996432,.003568,.987094,.012906,.958602,.040314,.763306,.236694,.96708,.03292,.85728,.14272,.962151,.034005,.795256,.204744,.813328,.186672,.90365,.09635,.974805,.02253,.877332,.122668,.9593,.0312,.849062,.150938,.975625,.021887,.73252,.26748,.970508,.028348,.89788,.10212,.96008,.025013,.871687,.126513,.967277,.022416,.555611,.444389,.921592,.077408,.523652,.476348,.992198,.004401,.9107,.0882,.984198,.009001,.863662,.136338,.966076,.033924,.843784,.156216,.937756,.044831,.995796,.004204,.982586,.014011,.922869,.054422,.904,.0619,.7998,.1726,.914491,.057206,.754997,.245003,.823724,.171872,.875591,.123077,.811325,.184902,.801706,.198294,.704515,.295485,.819557,.180443,.908473,.06502,.905791,.057906,.7803,.1815,.89979,.063306,.931379,.050915,.952881,.020808,.943866,.032019,.76324,.23676,.874587,.12231,.86309,.133407,.740941,.259059,.846,.151797,.886598,.1113,.9943,.004,.9784,.0201,.98049,.016608,.989998,.007902,.977691,.018908,.978783,.015612,.982484,.014613,.913774,.086226,.813581,.186419,.907945,.092055,.927271,.072729,.684027,.315973,.8636,.1364,.909791,.090209,.978383,.019315,.9873,.004,.987799,.006701,.804161,.195839,.910155,.089845,.923669,.076331,.977477,.020821,.987684,.008711,.990091,.005605,.761152,.238848,.916375,.083625,.93228,.06772,.979092,.019108,.989496,.007503,.988992,.008006,.758252,.241748,.920784,.079216,.93258,.06742,.967742,.032258,.975698,.023302,.995199,.0024,.993199,.004301,.79866,.20134,.752096,.247904,.912491,.087509,.914666,.083834,.939088,.04941,.960092,.019704,.963593,.012002,.761986,.238014,.862449,.13615,.872762,.125138,.956074,.035621,.96474,.028549,.965196,.022702,.775465,.224535,.890078,.108622,.890856,.107943,.979892,.015506,.986485,.013515,.982091,.015608,.798239,.201761,.902573,.097427,.932653,.067347,.776855,.221344,.502452,.497548,.913139,.08576,.80066,.19934,.952995,.036104,.943094,.042904,.96,.0343,.896148,.098449,.822829,.173569,.776309,.222689,.8901,.1033,.945795,.038604,.963,.0188,.917859,.074037,.672469,.32443,.814644,.182055,.8155,.1812,.956796,.027303,.957596,.030703,.850025,.147474,.913547,.085155,.826196,.172504,.9222,.0748,.9806,.0151,.9764,.0142,.9978,.0022,.992298,.007702,1,0,1,0,.966468,.033532,.996029,.003971,1,0,.997669,.002331,.944392,.055608,1,0,.994207,.005793,.74416,.25584,.915978,.084022,.725878,.274122,.869515,.130485,.756483,.243517,.9791,.0194,.978698,.021302,.991299,.008701,.9869,.0131,.9003,.0997,.9968,.0032,.685269,.314731,.8902,.1098,.970497,.029503,.9962,.0038,.977198,.022802,.896179,.103821,.9792,.0208,.777778,.222222,.96257,.03743,.9916,.0052,.971989,.028011,.918892,.081108,.957187,.042813,.95239,.04761,.9876,.0063,.971077,.028923,.971883,.028117,.9024,.0976,.926878,.073122,.962789,.037211,.977282,.022718,.989401,.007199,.977987,.022013,.9159,.0841,.50205,.49795,.837768,.162232,.9703,.0285,.988798,.011202,.987591,.012409,.8958,.1042,.9897,.0103,.8431,.1569,.9366,.0634,1,0,.9836,.0164,.9956,.0044,1,0,.9546,.0454,.9969,.0031,.505,.495,.5222,.4778,.6467,.3533,.507,.493,.6525,.3475,1,0,1,0,.968582,.031418,.986804,.013196,1,0,.9839,.0161,1,0,.9989,.0011,.998199,.001801,1,0,.995999,.004001,.995099,.004901,.996899,.003101,.9707,.0293,.9734,.0266,.997599,.002401,.994498,.005502,.9953,.0047,.949503,.050497,.610646,.389354,.774974,.225026,.995094,.004906,.98731,.01269,.701833,.298167,.839989,.158234,.810402,.189598,.827658,.172342,.973721,.026279,.991318,.004543,.958751,.040163,.978033,.021967,.764014,.235986,.860886,.137114,.896856,.10165,.9826,.0093,.930886,.065413,.964885,.033769,.735609,.264391,.531613,.468387,.798098,.201902,.9737,.0158,.946895,.050105,.9575,.0402,.790174,.209826,.53446,.46554,.510753,.489247,.9572,.0401,.9757,.0156,.964396,.033603,.845454,.154546,.842832,.157168,.801841,.198159,.981002,.014199,.9875,.0115,.9795,.019,.9983,.0017,.9578,.0422,.5097,.4903,.9789,.0211,.9859,.0141,.993596,.006404,.932987,.067013,.5144,.4856,.963496,.036504,.5104,.4896,.5011,.4989,.5013,.4987,.5005,.4995,.524852,.475148,.5014,.4986,.9961,.0029,.8322,.1678,.982597,.017403,.9877,.0123,.821282,.178718,.5215,.4785,.966273,.033727,.981393,.018607,.927242,.072758,.942583,.057417,.924708,.073293,.961365,.038635,.526153,.473847,.9272,.0716,.9263,.0727,.5027,.4973,.973887,.026113,.9908,.0051,.975288,.024712,.976588,.023412,.958283,.041717,.914123,.085877,.963089,.036911,.968691,.031309,.991299,.005401,.981393,.018607,.97969,.02031,.897308,.102692,.947495,.052505,.965093,.034907,.986492,.013508,.9914,.0067,.986392,.013608,.934554,.065446,.620738,.379262,.914791,.085209,.996201,.003799,.998751,.001249,.987083,.012917,.996895,.003105,.913274,.086726,.650818,.349182,.920858,.079142,.994115,.005885,1,0,1,0,.654327,.345673,.935549,.064451,.985494,.014506,.9926,.0048,.976886,.023114,.984294,.015706,.91916,.08084,.962489,.037511,.928193,.071807,.964793,.035207,.992601,.0043,.981793,.018207,.918143,.081857,.969494,.030506,1,0,.9781,.0219,.5029,.4971,.9933,.0067,.9975,.0014,.9793,.0207,.5004,.4996,.5002,.4998,.9881,.0088,.991192,.008808,.9935,.0065,.985894,.014106,.9941,.0059,.9895,.0075,.992699,.005601,.9844,.012,.989299,.008001,.874762,.125238,.9848,.0111,.9878,.0093,.994599,.005401,.938783,.061217,.987805,.012195,.983223,.016777,.997099,.002901,.955539,.044461,.990641,.009359,.679337,.320663,.787762,.212238,.785265,.214735,.669368,.330632,.760643,.239357,.9961,.0028,.783289,.216711,.9873,.0086,.992799,.005601,.87924,.12076,.9831,.0111,.9884,.0072,.879833,.120167,.995798,.004202,.948095,.051905,.884561,.115439,.994195,.005805,.945189,.054811,.957996,.042004,.890256,.109744,.972894,.023943,.986767,.010386,.991901,.006399,.946284,.053716,.965397,.034603,.79951,.20049,.967339,.030286,.975396,.022525,.989846,.007956,.87857,.12143,.894532,.105468,.717718,.282282,.98185,.016335,.976698,.021695,.84579,.15421,.99175,.006453,.876136,.123864,.987699,.012301,.998999,.001001,.9919,.0081,.97979,.02021,.985297,.014703,.994298,.005702,.9949,.005101,.9195,.0805,1,0,.9962,.0038,.5005,.4995,.504,.496,.989294,.010706,.994898,.005102,.8924,.1076,.981289,.018711,.992598,.007402,.9928,.0072,.997898,.002102,.991498,.008502,.614875,.385125,.689929,.310071,.689603,.310397,.813922,.186078,.850178,.149823,.672692,.327308,.788675,.211325,.790401,.209599,.683776,.316224,.787165,.212835,.97214,.027859,.987089,.012911,.951108,.048892,.985391,.014609,.9988,.0012,.9771,.0229,.9979,.0021,.998,.002,.952957,.047043,.959975,.040025,.987153,.012847,.970876,.029124,.992854,.005416,.99009,.004994,.986358,.013642,.996894,.003106,.87745,.12255,.832904,.167096,1,0,.998399,.001601,.876517,.123483,.938296,.061704,.998046,.001954,.994954,.005046,1,0,1,0,.998399,.001601,.851292,.148708,.9564,.0436,.687028,.312972,1,0,1,0,.998499,.001501,1,0,.913583,.086417,.826725,.173275,.685608,.314392,.978185,.021815,.889858,.110142,.890918,.109082,.990956,.009044,.920143,.079857,.990996,.009005,.989095,.010905,.755049,.244951,.612938,.387062,.996699,.003301,.9972,.0028,.9961,.0039,1,0,.814625,.185375,.761595,.238405,.806469,.193531,.801633,.198367,1,0,.9989,.0011,1,0,1,0,.998399,.001601,1,0,.885981,.114019,.988697,.011303,.905833,.094167,.863267,.136733,.994199,.005801,.879794,.120206,.857742,.142258,.988342,.011658,.879244,.120756,.978961,.019688,.838054,.161946,.9964,.0023,.995671,.004329,.941148,.058852,.925198,.074801,.9989,.0011,1,0,1,0,1,0,.956997,.043003,.93617,.06383,.966822,.033178,.975435,.024565,.870209,.129791,.661846,.338154,.885202,.114798,.790385,.209615,.955964,.044036,.930979,.066828,.915642,.084358,.806778,.084839,.952122,.033666,.898034,.060639,.995296,.003603,.985899,.010101,1,0,.998899,.001101,.998599,.001401,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,.9979,.0021,1,0,.992296,.007704,.998199,.001801,.996899,.003101,.885508,.114492,.958688,.041312,.915375,.084625,.990794,.003502,.973289,.013505,.969691,.014504,.978689,.009205,.965137,.023142,.991583,.00511,.978589,.013707,.942083,.043013,.981091,.008204,.970055,.015423,.927283,.046394,.9244,.0645,.997899,.002101,.997899,.002101,.998999,.001001,.9982,.0018,.998999,.001001,.998199,.001801,.995395,.004605,.994597,.005403,.998398,.001602,.997699,.002301,.998799,.001201,1,0,.973732,.023974,.941762,.054679,.988839,.011161,.988189,.009509,.991387,.007513,.991699,.008301,.996,.004,.987998,.012002,.990499,.009501,.980092,.019908,.984897,.015103,.997395,.001303,.998999,.001001,1,0,.989295,.005603,.996795,.002204,.964719,.016275,.983712,.006893,.838998,.085708,.941207,.032566,.648238,.186084,.626055,.203116,.922166,.077834,.947281,.052719,.928352,.071648,.913706,.086294,.941506,.058494,.93208,.06652,.980694,.018005,.981187,.018813,.882265,.116535,.998209,.001791,.9984,.0016,.5006,.4994,1,0,.9798,.0202,.997499,.002501,.928836,.071164,.5036,.4964,.988,.0081,.5028,.4972,.989097,.010903,.98859,.01141,.999,.001,.82028,.17972,.9969,.0017,.9962,.0038,.79569,.20431,.9959,.003,.998699,.001301,.966753,.033247,.973876,.022921,.708758,.149154,.98562,.01438,.979258,.020742,.99131,.00869,.994096,.004503,.982498,.013001,.998398,.001602,.778869,.221131,.550213,.449787,.91643,.08357,1,0,1,0,1,0,.543809,.418384,.5455,.4238,.556711,.395879,1,0],animations:[]},a.right={metadata:{formatVersion:3.1,generatedBy:"Blender 2.65 Exporter",vertices:2410,faces:4814,normals:2410,colors:0,uvs:[2607],materials:1,morphTargets:0,bones:21},scale:1,materials:[{DbgColor:15658734,DbgIndex:0,DbgName:"blinn4.001",blending:"NormalBlending",colorAmbient:[.32000000953674324,.32000000953674324,.32000000953674324],colorDiffuse:[.32000000953674324,.32000000953674324,.32000000953674324],colorSpecular:[.25,.25,.25],depthTest:!0,depthWrite:!0,shading:"Lambert",specularCoef:6,transparency:1,transparent:!1,vertexColors:!1}],vertices:[-1.20861,.774977,-3.35185,-1.40529,-.478233,-3.40355,-.827636,-.88444,-3.36849,-.009453,-.962191,-3.28528,.68193,-.559468,-3.18423,1.00019,.0165074,-3.17513,.804721,.640197,-3.20108,.235272,1.04977,-3.27878,-1.18653,.895485,-2.52609,-1.63717,.547995,-2.46182,-1.44928,-.375558,-2.759,-.9407,-.785808,-2.70927,-.063501,-.947828,-2.65088,.688668,-.560589,-2.6019,1.00163,.0134533,-2.49324,.811682,.59214,-2.4822,.261354,1.01467,-2.52929,-.482666,1.07132,-2.53758,-1.69858,.154861,-2.38388,-1.60405,.15754,-3.31741,-1.47188,-.329401,-2.12486,-1.03198,-.72032,-2.29968,.646903,-.5634,-2.13737,1.05679,.0773312,-2.02205,.870792,.620173,-1.94671,.337487,.993881,-1.93821,-.442455,1.05811,-1.91527,-1.14851,.867444,-1.8998,-1.61421,.534232,-1.9029,-1.66115,.0898902,-1.92909,-1.12969,.817051,-1.25583,-.396842,1.03868,-1.26761,.464414,.92487,-1.13234,1.19058,.734792,-1.28244,1.46731,.0970132,-1.6801,1.24346,-.519207,-1.84092,-1.43069,-.858763,-1.57016,-1.77714,-.0443058,-1.38015,-1.5959,.397453,-1.32328,-1.08193,.602236,-.0132909,-.340758,.852108,.0454471,.800492,.84978,-.280164,-1.78469,.133081,-.014,-1.66235,.296807,-.771195,-1.91876,-.105605,-.793737,-1.95803,-.133131,-.254207,-1.97656,-.526043,-.643128,-.70238,.768218,-.0477939,.392593,.863113,-.144415,.011671,.894026,-.0806449,-.35988,.903151,-.279562,-.399097,.973566,-.709003,.158907,.957677,-.585179,1.32172,.853238,-.503621,1.76655,.627006,-.834033,2.01529,.0597742,-1.11887,1.9195,-.577716,-1.41375,-1.08225,.698179,-.552823,-1.45973,.409184,-.0796719,-1.73762,.187767,-.325438,1.85212,.124708,.985458,2.08702,.462531,-.140945,1.80913,.604237,.271111,1.92645,.140236,1.00746,.900316,.460233,2.11825,.57744,.484935,2.22159,-.350681,.3921,2.27455,-.700465,.319936,2.22078,-1.53361,-.0348792,1.92832,-1.8748,-.135385,1.82487,1.83911,-.168175,1.84766,1.64069,.595787,.660359,-1.75529,-.48113,-1.44932,-1.62614,-.984263,-.837581,-1.67178,-1.04764,-.102766,-2.01406,-.711072,.0914369,-2.04302,-.307631,.292218,-1.81742,.0421769,.428186,-1.46768,.319129,.486727,-1.08424,.50879,.511268,-.703486,.658209,.526606,-.341321,.789891,.532683,.059017,.810546,.475768,.765111,.762936,.33816,.426142,.786639,.411416,.063109,-.933402,-2.33476,-.459451,-1.16511,-.958961,-.211416,-1.03825,-1.78434,1.06486,-1.08256,-.123793,1.32551,-1.156,-.541573,1.85559,-1.02279,-.806632,2.29488,-.626755,-.734611,2.34883,-.0206319,-.444754,1.47528,-.488005,1.05414,1.46032,-.498769,.988666,1.50465,-.486603,.918845,1.9313,.179526,.841472,2.45291,-.703331,-.115764,2.5798,-.105507,.081814,2.33205,.321279,.344503,2.11044,.399771,.614748,2.04011,-1.05131,-.149889,1.60401,-1.12316,-.0771711,1.38172,-.889779,.513836,1.40464,-1.06425,.1258,1.14881,-.889652,.383686,1.1533,.81318,.254145,2.75991,-.182152,.595343,2.58212,-.759563,.392296,2.15639,-1.00941,.372311,1.7586,-1.00764,.410339,1.60229,-.864125,.772187,1.54293,-.491431,1.20036,1.93077,.0423589,1.17593,2.34313,.262535,.846963,2.37909,.100718,1.30711,2.77128,-.319659,1.13106,2.61258,-.834999,1.00448,2.2254,-.987852,.966227,1.96339,-.956697,.970723,1.7502,-.84853,1.11475,1.64681,-.553276,1.35409,1.97749,-.0950052,1.42092,2.43336,-.0593152,1.77288,2.77373,-.467018,1.66755,2.08511,-1.04587,1.81977,1.93493,-.939315,1.84203,1.79027,-.759853,1.83279,1.98303,-.218178,1.9435,1.39287,.394417,2.39199,.899876,.313302,2.50667,.665088,.270488,2.59602,-.384042,.21775,2.65398,-.636793,.215334,2.61886,-1.15687,.0709167,2.48949,-1.48948,-.235533,2.28854,-1.72457,-.205238,2.25361,1.7744,.0549517,2.25939,1.82307,-.264984,2.24014,1.60032,-.655591,2.32579,1.00367,-.813792,2.52252,.354784,-.904936,2.55363,-.316124,-.948953,2.62459,-.888385,-1.10469,2.48711,-1.39485,-1.0653,2.40701,-1.84451,-1.10132,2.2628,-2.17952,-.660823,2.5575,-2.19251,-.636785,2.14186,-1.98854,-.262352,2.20563,-2.15648,-.443265,1.80724,-2.14017,-.425936,2.1717,-1.82979,-.287616,2.60541,-2.08566,-.427438,2.55666,-1.30859,-.0601133,2.42008,-.940419,.181866,2.53719,-1.15216,.166145,2.14483,-1.12207,-.0129853,2.8225,-1.31358,-.189649,2.76575,-.840531,.105449,2.87753,-.141508,.369491,2.7103,.403464,.382315,2.68076,.120221,.542163,2.37078,.135416,.340517,3.04855,-.182919,.24153,3.04584,.429088,.266578,3.02279,-.371284,-.00796135,2.99884,-.51077,-.00135535,2.97933,-1.38056,-.477836,2.65638,-1.53477,-.423699,2.68643,.884679,.0849457,2.82717,1.14119,.363061,2.43156,1.60095,.261082,2.32351,1.37006,.418515,2.03851,1.08347,.278948,2.73615,1.37936,.328638,2.69513,1.66039,.215928,2.6732,1.83686,.0112527,2.6674,1.85612,-.304438,2.67324,1.56866,-.624512,2.73402,.698659,-.689876,3.01918,.285088,-.829032,2.98731,-.222848,-.802147,3.07349,-.534926,-.894801,3.05241,-.936148,-1.02707,2.90814,-1.28794,-.943993,2.84106,-1.51561,-.966477,2.78754,.084404,.230696,4.19669,-.995342,-.0465454,3.78029,-2.02335,-.418419,3.37135,1.41054,.248548,3.8604,2.44212,-.12197,2.21437,2.80414,-.545044,2.13597,2.68949,-.936679,1.79044,2.7852,-.507149,1.94127,2.45058,-.104843,2.01877,1.84556,-.746919,2.25758,1.95439,-.986593,2.20639,2.10241,-1.10433,2.17732,2.33749,-1.17607,2.17851,2.09467,-1.06547,1.96161,2.25961,-1.08639,1.73793,2.05375,-1.00135,1.54391,1.89717,-.904421,1.59166,2.83183,-.571444,2.36978,2.44192,-.146353,2.43395,1.96066,-.320252,2.34525,1.95168,-.96267,1.98448,2.70324,-1.05394,2.23121,2.86006,-.570363,2.79685,2.49703,-.202017,2.8288,2.05414,-.299554,2.76106,1.8903,-.663658,2.68472,1.95356,-.958531,2.62776,2.15781,-1.14437,2.60472,2.46191,-1.2154,2.63731,2.80704,-1.04589,2.69871,2.87265,-.586393,3.37123,2.57543,-.290396,3.41953,2.21029,-.311912,3.30821,2.03221,-.550707,3.20487,2.06477,-.84669,3.17646,2.28643,-1.06291,3.18025,2.59405,-1.1181,3.17482,2.83415,-.937501,3.25145,2.56525,-.467101,3.78268,2.25736,-.448068,3.62798,2.81165,-.704479,3.66002,2.65897,-.919593,3.59445,2.23694,-.694805,3.59736,2.44665,-.798862,3.67799,.451214,.156315,4.16121,-.238516,.0589335,4.14926,-.681109,-.0568595,3.79963,-1.24465,-.248296,3.77109,-1.74194,-.356844,3.39,-2.1563,-.62114,3.35244,1.0899,.145136,3.84506,1.70379,.135269,3.82911,1.06299,-.682992,2.91124,-.403235,-.480762,3.26046,-.432406,-.449471,3.24659,-1.43729,-.718578,2.84715,-1.36108,-.694449,2.83002,1.81477,-.37291,3.78683,1.52564,-.635577,3.78245,1.11685,-.631486,3.78544,.887287,-.38621,3.79856,.822144,-.316815,3.08976,-1.32438,-.461585,3.7963,-1.19991,-.824593,3.82143,-1.29492,-.668662,3.81957,-.365027,-.497551,3.969,-.171447,-.716094,3.93579,.221274,-.763749,3.92344,.512012,-.574751,3.95373,.612984,-.373379,3.97662,.738741,-.308169,3.08562,-.937468,-.949713,3.82509,-.623722,-.871635,3.83064,-.472238,-.594616,3.82738,-2.0883,-.890241,3.35754,-1.82293,-1.02893,3.38788,-1.5752,-.958094,3.43192,-1.45692,-.804259,3.43249,-.682373,-.0240194,3.60675,-1.01476,-.0329734,3.56587,-1.26677,-.244332,3.58564,-.99217,-.22453,5.27507,-1.22132,-.347317,5.21138,-1.23595,-.702883,4.94913,-1.13676,-.819468,4.91446,-.942722,-.896373,4.9145,-.705673,-.843118,4.92049,-.553685,-.648011,4.98228,-.72708,-.260892,5.19523,-.973988,-.391668,6.56879,-.711205,-.424572,6.41324,-1.28515,-.5182,5.0774,-1.21414,-.698712,6.39997,-1.12027,-.820245,6.37626,-.921712,-.876231,6.39098,-.700233,-.779504,6.37175,-.634238,-.591945,6.36504,-.954567,-.631728,6.62169,-1.76055,-.451495,4.13577,-2.02074,-.524065,4.11482,-2.07903,-.888213,4.08995,-1.86809,-1.05357,4.10207,-1.61452,-.995028,4.12312,-1.49787,-.848751,4.14051,-1.74562,-.625908,4.88027,-1.9683,-.683837,4.83673,-2.03824,-.769018,4.74587,-1.59541,-.695055,4.8007,-1.99517,-.87315,4.75241,-1.72078,-.94378,4.78344,-1.62303,-.841425,4.80148,-1.89708,-.954693,4.75687,-1.76742,-.825931,4.89043,-1.91509,-.849474,4.86096,-.76492,-.580593,6.56001,-1.23427,-.536416,6.44921,-1.12177,-.664289,6.55239,.41221,-.639948,5.1946,.511196,-.486493,5.22169,.481237,-.0830916,5.28727,.140999,.0644314,5.32075,-.206527,-.0810266,5.298,-.10874,-.719593,5.20883,.16073,-.292716,7.13818,.447865,-.37689,6.97717,-.128013,-.373109,7.04468,-.180882,-.541719,6.97454,-.100409,-.684705,6.93585,.09238,-.763414,6.93712,.346885,-.713697,6.92346,.465352,-.560463,6.92274,-.015638,-.525971,7.147,.22458,-.482293,7.16388,1.42823,.0782974,5.20023,1.17566,.0171794,5.18666,.991504,-.337097,5.17886,1.13778,-.53808,5.16229,1.77012,-.412551,5.189,1.68962,.00659538,5.1971,1.70411,-.120593,6.39516,1.13644,-.102763,6.35254,1.4256,-.0255838,6.45173,1.07843,-.261277,6.34283,1.1361,-.443488,6.39303,1.45717,-.550207,6.44678,1.71462,-.394561,6.43841,1.22137,-.245892,6.54456,1.49468,-.243352,6.59994,-.273427,-.559506,5.24786,-.496312,-.239587,3.81165,-.669398,-.0917555,4.00358,-1.22707,-.25266,3.97751,-.704706,-.238583,4.87012,-.980186,-.196603,4.86985,-1.21069,-.339926,4.84929,-.726243,-.278948,5.57926,-.980769,-.274699,5.72574,-1.206,-.381544,5.62953,-1.73528,-.32916,3.20061,-2.03412,-.399212,3.17883,-1.48959,-.516498,3.4041,-1.73878,-.39444,3.5875,-1.52493,-.58238,4.14693,-1.7545,-.459272,4.00963,-2.01927,-.525478,3.98698,-2.12687,-.687625,4.10375,-2.01419,-.540442,4.25971,-.392109,-.180887,4.06005,-.21602,.0791076,3.90119,.086652,.253826,3.89598,.443321,.168164,3.89833,.609896,-.0951825,4.06076,.093184,.187882,4.44983,-.274535,.0374935,4.37072,.547327,-.30215,5.26232,.478979,-.0677806,5.09033,.13276,.0966054,5.09144,-.224006,-.0796976,5.09016,-.318999,-.292127,5.28265,.151277,.0245573,5.6493,-.204608,-.109073,5.58031,.496745,-.105102,5.53735,1.6982,.170071,3.55985,1.39225,.261364,3.54723,1.07357,.165281,3.58266,.9223,-.0331414,3.82025,1.08877,.123786,4.10685,1.41908,.236427,4.16596,1.73383,.11801,4.10612,1.83461,-.0724974,3.7957,1.83074,-.151644,5.20441,1.69884,.0116024,5.00806,1.43038,.108961,4.98165,1.15913,.0298404,4.99075,1.02443,-.106183,5.18936,1.16383,.0131353,5.40431,1.42506,.0633413,5.44246,1.68918,-.00393467,5.41654,1.42625,.0292032,5.93589,1.16945,-.0420537,5.87834,1.06126,-.148282,5.82871,1.01478,-.301703,5.82335,1.11333,-.539027,5.83539,1.47819,-.648052,5.84889,1.77996,-.442118,5.86293,1.79378,-.18239,5.8731,1.68193,-.0432037,5.90896,1.48244,-.590086,5.16381,1.50309,-.615972,4.5041,1.78589,-.392513,4.52989,1.83717,-.165189,4.56134,1.71497,.0434195,4.59772,1.42512,.148076,4.60597,1.13446,.0520925,4.58262,.982983,-.120703,4.54902,.960038,-.362002,4.5135,1.12709,-.580935,4.4962,1.8401,-.345626,3.14411,1.85435,-.0303584,3.12606,1.67482,.202823,3.09286,1.37059,.295354,3.09448,1.04746,.212845,3.13691,.871274,-.0163714,3.21637,.842364,-.363755,3.29378,1.11593,-.660447,3.25327,1.543,-.624199,3.17571,.654552,.0319787,2.93647,.620204,-.0674484,3.44525,.427199,.188276,3.44803,.111203,.277557,3.45458,-.208365,.150634,3.46029,-.355801,-.149455,3.43726,-.334455,-.467356,3.42273,-.152914,-.72015,3.41253,.245893,-.750949,3.37654,.547464,-.557248,3.40812,.64426,-.314348,3.42734,.478691,.134106,4.3872,.47235,.0168085,4.73041,.113648,.134658,4.76892,-.249895,-.0451245,4.73028,-.371751,-.302889,4.66208,-.315373,-.525127,4.60551,-.151546,-.687069,4.56387,.179953,-.73973,4.54794,.447628,-.597447,4.56778,.544884,-.431973,4.59722,.574191,-.249282,4.65349,.187868,-.762769,5.18431,.145244,-.811719,6.08615,-.094496,-.729233,6.0982,-.230284,-.565049,6.16145,-.227247,-.385764,6.25734,-.134832,-.23887,6.4216,.160103,-.132382,6.51883,.469203,-.226716,6.32327,.528521,-.40094,6.16306,.498122,-.561433,6.10568,.375331,-.724153,6.08442,-.489386,-.179506,3.32737,-.749821,.0357436,3.24658,-1.07567,-.0350494,3.2064,-1.30345,-.237552,3.19492,-1.34269,-.509543,3.19982,-1.31103,-.669225,3.2394,-1.23987,-.823025,3.27695,-.96242,-.97573,3.32201,-.615378,-.875543,3.37949,-.484316,-.536189,3.38736,-.970338,-.0783505,4.01325,-.962757,-.110442,4.41447,-1.22498,-.274545,4.38695,-1.32473,-.50454,4.35701,-1.27379,-.684975,4.34104,-1.15973,-.799411,4.33229,-.944813,-.879386,4.33755,-.689151,-.824399,4.33624,-.525642,-.617996,4.3474,-.491113,-.362183,4.36984,-.654055,-.143445,4.41262,-.57124,-.39891,5.09697,-.614322,-.462253,5.96826,-.573886,-.658165,5.84188,-.688432,-.861251,5.75553,-.920823,-.92631,5.74749,-1.1151,-.85611,5.79402,-1.23212,-.728433,5.8946,-1.28287,-.579737,6.01472,-1.20788,-.42583,6.15118,-.968358,-.314633,6.20624,-.740738,-.362631,6.09743,-2.05201,-.407658,2.91002,-2.17607,-.653891,2.95022,-2.1185,-.921215,3.00629,-1.83023,-1.07675,3.05524,-1.54024,-.977329,3.11162,-1.45229,-.758885,3.10399,-1.48474,-.519274,3.03608,-1.74976,-.32435,2.94527,-2.02027,-.462646,3.56702,-2.01891,-.505494,3.78788,-2.12856,-.693482,3.74371,-2.08651,-.892273,3.73332,-1.8459,-1.05124,3.75969,-1.57983,-1.00112,3.79639,-1.46792,-.836911,3.80557,-1.49364,-.606588,3.80513,-1.74051,-.432457,3.81621,-1.75153,-.462512,4.28244,-1.7488,-.528176,4.55496,-1.9761,-.610618,4.52229,-2.08238,-.738521,4.47806,-2.05288,-.887291,4.44986,-1.88646,-1.04059,4.4514,-1.64196,-1.01198,4.47134,-1.52136,-.85793,4.49505,-1.53976,-.655119,4.52539,.732332,-.956199,-1.64439,.855652,-1.14515,-.841224,1.33735,-1.00024,-1.39902,.414795,-1.07881,-.953107,-.02037,-1.06988,-.952211,1.27347,.661556,.884478,.446193,.698012,.938419,.059384,.742654,1.01161,-.69829,.544558,1.03383,-1.48058,.214346,.964405,-1.66601,-1.08799,.470233,-2.1166,-.92059,2.61492,-1.84508,-1.08404,2.69441,-2.12927,-.918612,2.16457,-2.12031,-.891765,1.69267,-1.85997,-1.15,1.77882,-.826973,-1.12223,1.8876,-.232178,-.992217,1.98278,.393418,-.940965,2.02842,1.03621,-.880062,1.99985,1.59274,-.61855,1.89841,-.629118,-1.15538,-.224417,-.226422,-1.05915,-.100222,-.795327,-1.14677,.254238,.654032,-1.03953,-.242752,.230643,-1.00309,-.187138,-.029805,-.988093,.23679,.540184,-.831503,-1.87094,.279125,-.9963,-1.79166,.21749,-.902512,-2.14035,-.125957,-.953799,-2.13982,-1.18758,-.771026,-2.03434,.814394,.680039,.876673,-.334655,.681231,1.05108,-1.09788,.419906,1.00983,-1.84822,-.0406371,.894402,-2.06027,-.410181,.795756,-1.9805,-.855585,.709025,-1.69282,-1.10784,.90107,-1.44917,-1.22386,1.72762,-1.14134,-1.14603,.980415,-1.12852,-1.22717,-.215414,-.86266,-1.05864,-1.69525,-1.03908,-1.21262,-.958569,-.609399,-.894603,-2.10945,-1.18059,-1.18583,.369951,-.422771,-.907779,-2.37649,-.58571,-1.04348,.610738,-.068322,-.9477,.714807,.500355,-.861351,.715782,.847585,-.863534,.501999,.962281,-.788283,.98526,1.51251,-.506481,1.20642,1.87883,.0810679,1.23971,1.6968,.47701,1.02014,1.72906,.159168,1.85511,1.74183,.323729,1.47764,1.32855,.483078,1.44246,.879684,.570235,1.52328,.499755,.613202,1.65499,.084499,.665696,1.73535,-.327003,.532698,1.70533,-.703396,.408177,1.64044,-1.12384,.294828,1.55422,-1.50455,.0936118,1.45247,-1.86583,-.108733,1.35066,-2.07084,-.455838,1.25839,-1.80194,-1.13153,1.36365,-2.0447,-.848173,1.23691,-.680864,-1.02173,1.25816,-.154633,-.942596,1.35948,.445349,-.867684,1.42097,1.0466,-.819813,1.49626,1.58185,-.555991,1.54696,1.84217,-.0330822,1.53811,-.522709,1.06447,-3.34916,.97757,.350657,-3.18234,.555372,.88115,-3.23475,-.139087,1.09371,-3.31821,-.891595,.962365,-3.36338,-1.4683,.527975,-3.30726,-1.55137,-.202819,-3.3564,-1.16608,-.718999,-3.39372,-.437146,-1.01663,-3.32812,.363691,-.763173,-3.2344,.898174,-.299503,-3.17233,.139104,.44978,2.72585,-1.5715,-.133036,-2.86356,-1.42167,-.429802,-3.03968,-1.52646,-.240158,-3.06894,-1.67738,.148722,-2.65919,-1.63201,.442096,-2.75007,-1.7119,.359002,-2.41057,-1.68877,.324748,-2.61053,-.29724,-.96237,-2.50759,-.189284,-.927967,-2.36209,.072205,-.939484,-2.4746,-.129939,-.96817,-2.45475,-1.59339,-.100793,-1.97275,-1.62437,-.0637467,-2.30512,-1.7017,.149817,-2.15997,-1.64868,-.00790074,-2.14653,-1.27169,-.584143,-2.2596,-1.36082,-.602358,-2.0299,-1.08147,-.736898,-2.16293,-1.24604,-.642859,-2.14972,.393277,-.753445,-2.11843,.347628,-.756717,-2.29134,.15917,-.890964,-2.23362,.303865,-.785272,-2.21581,1.21806,.82115,-.952763,1.47506,.663549,-1.16156,1.56512,.730813,-.662996,1.47137,.765455,-.925341,-1.07909,.644886,-.250677,-.844971,.779572,-.308658,-.91681,.690131,-.00645592,-.95166,.709088,-.199931,-1.31986,.527891,-.331217,-1.24687,.509439,-.0234049,-1.20976,.565396,-.212469,-.50405,.807505,.0358101,-.536963,.849307,-.223192,-.346551,.878318,-.128768,-.464341,.846608,-.111438,-.175301,.917064,-.23889,-.172786,.878102,.0211591,-.227584,.89611,-.121528,1.24894,.818661,-.0497099,.974251,.812883,-.0372259,1.03913,.873462,-.439501,1.08635,.855386,-.178615,.763212,.783952,.0584691,.935524,.766462,.322692,.89191,.792509,.116049,-1.60514,.317273,-.257652,-1.65056,.268683,-.00536797,-1.76506,.160157,-.172209,-1.67463,.252076,-.147625,-1.88096,-.00541299,-.079585,-1.85318,.042632,-.32899,-1.83913,.062462,-.193802,-1.94008,-.115423,-.537464,-2.02008,-.338049,-.38123,-1.97242,-.299337,-.76591,-1.98893,-.25599,-.557753,.073337,.930954,-.349468,.322042,.90565,-.399197,.223324,.877304,-.0738919,.212301,.907517,-.272981,.054562,-.969085,-2.146,-.078564,-.947978,-2.24232,.046514,-.946469,-2.2172,2.38309,.287999,.581231,2.20849,.346845,.748092,2.2055,.382723,.448129,2.26248,.34211,.596947,1.55437,-1.0447,.264392,1.69504,-1.08549,.139117,1.46424,-1.1075,-.00444606,1.56744,-1.08416,.130672,2.21926,-.0954382,2.00734,2.18383,-.0770902,1.82324,2.4544,-.0926542,1.91493,2.26867,-.0729972,1.92865,2.76589,-.716066,1.66548,2.78475,-.726989,1.88355,2.77979,-.488091,1.83248,2.78325,-.669449,1.80339,2.17505,-1.09521,1.9081,2.16063,-1.07478,1.79798,2.08913,-1.05531,1.89392,2.14758,-1.08083,1.86861,2.1471,-1.04039,1.58293,2.07562,-1.02976,1.71784,2.13553,-1.05524,1.71587,1.83027,-.839414,1.66455,1.87104,-.877178,1.84492,1.92306,-.929353,1.74753,1.87172,-.881648,1.76747,1.88189,-.886514,1.95751,1.94643,-.951323,1.91388,1.89463,-.901557,1.90647,2.18575,-.1254,2.14011,2.4543,-.116731,2.11821,2.26507,-.0943472,2.09187,1.20246,.428153,2.28287,1.38228,.413081,2.2453,1.2614,.39904,2.41693,1.28446,.425674,2.31483,1.53443,.321693,2.15989,1.50595,.335473,2.36398,1.47836,.361778,2.24314,-1.15809,.117087,2.33952,-1.00823,.201261,2.37161,-1.05956,.130655,2.51295,-1.08087,.152142,2.39657,-1.28409,.0366237,2.27177,-1.23634,.0111797,2.47304,-1.22716,.0623877,2.3514,1.098,-.748101,2.70363,.791787,-.74145,2.75347,.857715,-.660229,2.93956,.91236,-.710914,2.78662,-.215732,-.870751,2.85482,-.470771,-.933708,2.85137,-.38137,-.817481,3.05954,-.351508,-.862332,2.91737,-1.30866,-1.01404,2.63024,-1.50334,-1.02442,2.59775,-1.39994,-.924716,2.77361,-1.40607,-.992904,2.66538,-2.19822,-.585766,1.95584,-2.15382,-.428969,2.01182,-2.17793,-.525402,2.16307,-2.18328,-.509401,2.03378,-2.0727,-.298256,2.01074,-2.07206,-.335958,2.19498,-2.10793,-.350167,2.0586,-.071051,.475247,2.57004,.132094,.500482,2.58479,-.007657,.43056,2.72661,.018204,.483468,2.6281,.319386,.461585,2.52589,.27573,.423915,2.70976,.244563,.474522,2.60186,-2.10665,-.501456,3.3621,-2.11917,-.502486,3.22316,-2.02498,-.403098,3.27755,-2.09278,-.474427,3.28853,-2.10756,-.538625,3.49971,-2.01838,-.435599,3.4691,-2.08961,-.494446,3.44146,2.79258,-.777375,2.01692,2.79221,-.517682,2.04246,2.79617,-.696141,1.97774,2.88658,-.777642,3.30029,2.83957,-.840061,3.48658,2.85234,-.61408,3.56996,2.87972,-.745547,3.4736,2.12954,-.496058,3.45338,2.09184,-.416094,3.23795,2.25457,-.348253,3.52458,2.15366,-.407566,3.4225,.553243,.0458215,3.92419,.555582,.0524665,4.11914,.444385,.170824,4.04743,.532479,.0847045,4.03499,.5695,.0109945,4.28153,.452553,.142817,4.26905,.540901,.0657175,4.21814,-.323855,-.0487835,4.11085,-.314968,-.0419425,3.92802,-.222723,.0693385,4.04439,-.294812,-.0158455,4.03458,-.358273,-.0840875,4.27079,-.254328,.0536925,4.25145,-.320807,-.0357395,4.20229,-.562668,-.105737,3.66308,-.577308,-.12309,3.80561,-.682755,-.0420424,3.71698,-.594229,-.0931774,3.73585,-.566494,-.16239,3.95481,-.682055,-.0698665,3.88508,-.598958,-.120624,3.8747,-1.29922,-.349334,3.78116,-1.31725,-.359109,3.64029,-1.25253,-.243116,3.69339,-1.29716,-.327087,3.7128,-1.29287,-.360286,3.93307,-1.23281,-.248262,3.85503,-1.28326,-.328267,3.84746,-1.58716,-.389566,3.26318,-1.6072,-.399304,3.39606,-1.74445,-.345587,3.29604,-1.63284,-.372786,3.32039,-1.59361,-.433249,3.53727,-1.74562,-.371697,3.48724,-1.63627,-.400822,3.47151,.994613,.0703225,3.83148,.975595,.0765056,3.64008,1.08714,.155988,3.73217,1.00756,.0954075,3.74224,.993374,.0424385,4.02576,1.09278,.136444,3.95732,1.01658,.0758535,3.92641,1.79473,.0653166,3.61078,1.7845,.0453606,3.80954,1.69701,.152241,3.71339,1.76887,.0803166,3.71841,1.8037,.0126235,4.01571,1.71088,.125487,3.94789,1.7748,.0530965,3.91126,-1.26632,-.426688,5.14713,-1.26086,-.430825,4.87556,-1.21271,-.348688,5.05107,-1.25377,-.410855,5.02813,-1.2755,-.445508,5.45756,-1.21819,-.35132,5.38823,-1.26419,-.410053,5.30888,-.618444,-.310428,4.90292,-.64247,-.317482,5.14745,-.721911,-.255377,5.05409,-.652142,-.300485,5.04041,-.627158,-.322819,5.42687,-.726975,-.253738,5.35352,-.655554,-.298276,5.28718,-.649308,-.447294,6.19667,-.73366,-.376016,6.26098,-.670997,-.405559,6.02266,-.681767,-.407,6.17265,-.698224,-.573914,6.4945,-.755973,-.498192,6.54242,-.654964,-.505107,6.38576,-.703296,-.517899,6.49064,-1.15499,-.603533,6.54831,-1.1673,-.67507,6.50449,-1.23544,-.631983,6.41993,-1.1857,-.635569,6.50612,-1.11219,-.738581,6.50573,-1.17761,-.763505,6.38109,-1.15245,-.72214,6.47995,-.645725,-.689279,6.35694,-.743081,-.679111,6.51603,-.692977,-.643169,6.4744,-1.61833,-.4897,4.04767,-1.63572,-.485998,4.1404,-1.76307,-.452319,4.07639,-1.66029,-.471987,4.09093,-1.62057,-.504517,4.24951,-1.76133,-.454932,4.19823,-1.66049,-.480429,4.19122,-2.0902,-.596985,4.10685,-2.09253,-.604187,4.01031,-2.01803,-.523873,4.05551,-2.07754,-.58042,4.0591,-2.08625,-.616302,4.21386,-2.01784,-.524348,4.17739,-2.07586,-.583816,4.15963,-1.90134,-.899335,4.82729,-1.95787,-.921764,4.74803,-1.95813,-.858935,4.82339,-1.93971,-.892936,4.8067,-1.75667,-.885004,4.85661,-1.69311,-.826971,4.87101,-1.65843,-.901102,4.788,-1.70337,-.871548,4.84864,-1.23088,-.445536,6.30749,-1.27648,-.566115,6.23575,-1.26452,-.50223,6.07655,-1.26461,-.505094,6.2174,.537344,-.189803,5.12022,.538585,-.186918,5.26917,.479648,-.0768196,5.20407,.529704,-.163516,5.20367,.548742,-.214161,5.44809,.482844,-.0880386,5.37614,.534208,-.168769,5.34558,-.278318,-.180672,5.28375,-.293852,-.194024,5.12419,-.210307,-.0779106,5.20487,-.271519,-.160137,5.20696,-.278801,-.206895,5.48231,-.202101,-.0867816,5.40162,-.263087,-.164263,5.37199,.167899,-.395402,7.17688,.315348,-.303896,7.09725,.325886,-.429807,7.13039,.267817,-.379654,7.15618,.512204,-.40564,6.61144,.459897,-.288284,6.72963,.518774,-.319576,6.20747,.500551,-.344939,6.5437,.356693,-.523638,7.08902,.472147,-.477164,6.94434,.381798,-.475229,7.07979,-.109839,-.312801,6.82032,-.187349,-.394406,6.73422,-.19469,-.314126,6.31111,-.161668,-.34837,6.66497,-.044895,-.441618,7.14001,-.104683,-.522019,7.09689,-.170459,-.461934,7.00874,-.107268,-.471328,7.10262,-.062466,-.60613,7.08343,-.158319,-.618356,6.94611,-.10979,-.578177,7.06587,.050368,-.637664,7.09981,-.015968,-.739969,6.92995,-.012115,-.656255,7.06284,.270332,-.600589,7.09987,.429143,-.644636,6.90891,.355171,-.588763,7.05915,1.0939,-.0325236,5.18349,1.08035,-.0379816,5.03447,1.17105,.0264224,5.10482,1.10657,-.0191176,5.11452,1.08501,-.0468827,5.34885,1.17644,.0146994,5.27079,1.11078,-.0252666,5.25527,1.78285,-.0657686,5.05165,1.77578,-.0560816,5.19602,1.68979,.00892439,5.1187,1.75887,-.0426846,5.12933,1.77893,-.0695447,5.36506,1.68676,.00642737,5.2803,1.7578,-.0429966,5.2673,1.44334,-.121951,6.56676,1.5686,-.0484938,6.43756,1.6005,-.17508,6.54653,1.54025,-.111725,6.53906,1.77891,-.1624,6.1512,1.68429,-.0653018,6.16348,1.75004,-.105737,5.87647,1.74531,-.105341,6.07963,1.74044,-.259134,6.42239,1.61234,-.323069,6.55628,1.65206,-.248274,6.52901,1.17259,-.0723188,6.12541,1.09367,-.140552,6.09551,1.10287,-.0955687,5.83684,1.11752,-.103342,6.03363,1.19518,-.167021,6.51562,1.14322,-.249577,6.47602,1.09104,-.187573,6.34803,1.13822,-.198589,6.46687,1.19524,-.338349,6.51326,1.08429,-.345721,6.3526,1.13715,-.307565,6.46327,1.4612,-.399598,6.57416,1.61491,-.504422,6.44098,1.5689,-.412775,6.55,-1.84066,-.985125,.546762,-1.85482,-1.00635,.841288,-1.66233,-1.10358,.686734,-1.79646,-1.03225,.694549,.763314,-.834933,.902976,.92461,-.791795,.783346,.633602,-.890316,.50535,.75333,-.840525,.711399,-.499955,1.06911,-2.89034,-.853862,1.0117,-2.53503,-1.19781,.850291,-2.88857,-.871072,.996939,-2.89824,-1.45446,.735124,-2.50359,-1.45788,.653759,-2.84688,-1.23878,-.606695,-2.72355,-.888705,-.83213,-2.99302,-1.21037,-.66071,-3.01483,-.526411,-.917364,-2.71096,-.067358,-.947078,-2.92452,-.505078,-.963495,-2.96323,.330722,-.777652,-2.6436,.684944,-.570086,-2.84846,.346374,-.778294,-2.8894,.922618,-.293098,-2.54888,.993196,.00606133,-2.79182,.90544,-.306326,-2.81702,.979124,.316325,-2.46682,.799497,.613247,-2.79105,.968443,.329038,-2.78091,.577065,.840721,-2.50498,.246546,1.03512,-2.85215,.563658,.862449,-2.81501,-.103665,1.08712,-2.53772,-.120492,1.08924,-2.87452,-1.63867,.573606,-2.18512,-1.17105,.899552,-2.21055,-1.42271,.723097,-1.89812,-1.44672,.757882,-2.199,-.815683,.978671,-1.9053,-.465274,1.06822,-2.22863,-.834901,.99899,-2.21975,-1.68204,.305473,-1.9135,-1.7209,.359347,-2.17092,-1.47027,-.344887,-2.47685,-1.59548,-.0878547,-2.56916,-.993112,-.747638,-2.48409,-1.27053,-.587046,-2.47497,-.703515,-.803608,-2.35333,-.618918,-.863214,-2.51974,.681631,-.536667,-2.37861,.347471,-.773087,-2.44645,.97698,-.23374,-2.1081,1.02046,.0454083,-2.24778,.936947,-.260314,-2.31698,.83635,.590128,-2.20666,1.01895,.375678,-1.98037,.99632,.339961,-2.21468,.639369,.818875,-1.94081,.286196,1.00551,-2.24299,.601846,.824443,-2.22658,-.045528,1.08923,-1.9306,-.082233,1.0879,-2.24006,-1.67372,.0146212,-1.66404,-1.79814,-.259589,-1.40871,-1.60501,-.408458,-1.76994,-1.67561,-.1913,-1.70843,-1.62991,-.689587,-1.5025,-1.30016,-.79924,-1.83955,-1.48301,-.624207,-1.79602,-.929274,-.871051,-2.06998,-.517507,-.876756,-2.24509,-.799288,-.812423,-2.21059,1.16579,.0883622,-1.82573,.939077,-.496447,-1.93825,1.42338,-.221403,-1.85263,1.12466,-.218473,-1.95858,.239603,-.934864,-2.0091,.429682,-.913104,-1.87365,.57243,-.73597,-1.95295,.410967,-.840237,-1.99858,.939727,.65795,-1.66038,1.23733,.395424,-1.5091,1.06167,.384286,-1.73151,.817743,.847141,-1.21665,.411533,.9519,-1.58927,.69885,.83666,-1.61404,.025577,1.0466,-1.26272,-.415392,1.04768,-1.58745,.003252,1.07158,-1.60006,-.779086,.946496,-1.25553,-1.13454,.836858,-1.57914,-.797965,.964819,-1.57872,-1.40239,.617972,-1.28601,-1.56931,.449301,-1.6147,-1.40037,.664441,-1.59217,-1.71327,.172298,-1.35517,-1.6424,.222308,-1.63831,-.396966,1.00818,-.975586,-.716262,.885626,-.667457,-1.10543,.764646,-.941114,-.755358,.912708,-.954501,-1.43208,.496592,-.701572,-1.62324,.344344,-1.04054,-1.40911,.566963,-.990159,.291118,.945286,-.828792,-.096657,.992623,-.687221,-.030602,1.02685,-.959035,.67023,.880293,-.708152,.930915,.862307,-.817788,.571119,.845679,-.239227,.472029,.893654,-.563894,1.77055,.0785762,-1.42088,1.94439,.370646,-.931055,1.46378,.382143,-1.36138,1.51507,-.546498,-1.72573,2.15955,-.268553,-1.20921,1.82996,-.244461,-1.57721,-1.35889,-1.12935,-.913535,-.961138,-1.14587,-1.35487,-1.17002,-.985573,-1.6429,-1.54581,-.924312,-1.2195,-1.28097,-1.06334,-1.29997,-1.83098,-.788208,-.746116,-1.87223,-.522012,-1.08044,-1.75161,-.74562,-1.14077,-1.86571,-.0850889,-1.08058,-1.90079,-.298597,-1.08073,-1.81064,.0886131,-.796352,-1.77192,.126903,-1.07071,-.706809,.711118,.259074,-.8986,.600226,.521852,-1.08459,.558137,.248279,-.904079,.650452,.257292,-1.26618,.404401,.498314,-1.46073,.364266,.222317,-1.26141,.455212,.236305,-.340239,.821915,.277381,-.518769,.717384,.532399,-.521298,.772703,.276593,.047753,.851209,.216717,-.142859,.81669,.509684,-.148436,.849606,.255538,.599196,.781224,.37105,.416254,.830126,.139425,.594269,.805306,.0767181,-1.65752,.19946,.466732,-1.80093,.089516,.194741,-1.65154,.245039,.222673,-1.94799,-.127699,.370339,-2.01524,-.235214,.025666,-1.9191,-.071962,.130824,-1.69496,.230274,-.529209,-1.52128,.403004,-.458223,-2.07176,-.507659,.198671,-2.00797,-.638041,-.24492,-2.05008,-.431375,-.0951951,-1.87396,-.89444,-.0132831,-1.66596,-1.02809,-.457393,-1.86893,-.846885,-.361321,-.383334,.937836,-.47239,-.626921,.868092,-.421111,.248606,.795543,.44515,.238,.839486,.187548,1.57843,.744592,-.0658129,1.93425,.56427,-.492989,1.91948,.558828,.016193,1.68877,.658322,-.347241,1.69867,.627863,.466438,1.47419,.719623,.44077,1.51157,.780397,.196145,2.24109,.0359711,-.763791,2.24835,.26312,-.294314,2.12611,.331948,-.614034,2.19628,-.600464,-1.02587,2.38097,-.325852,-.629987,2.30778,-.293096,-.891759,1.67571,-1.01338,-1.12198,2.11262,-.856537,-.785493,1.6458,-.818228,-1.46643,1.9817,-.838116,-1.10467,1.98111,.472151,.450038,2.00844,.297164,.785094,1.855,.151715,.850154,1.83471,.394264,.609402,1.92824,.346318,.653602,1.70363,-.155836,1.07817,1.45475,-.484997,.987414,1.77985,-.150778,1.0588,1.69504,-.146196,1.03734,1.88747,.0817369,1.06584,1.73509,-.204306,1.19341,1.49522,-.488583,1.13571,1.70946,-.173567,1.12097,2.13772,.226919,1.05763,2.07697,.264975,.922486,2.2174,.37644,.116437,2.07248,.443736,.257871,2.46273,-.0705629,-.165808,2.46866,.160663,.225213,2.36208,.20145,-.022644,1.93214,.17082,.929561,1.82416,.377317,.817972,1.81338,.403364,.696743,1.50481,-.496347,.941284,1.79945,-.197449,1.14668,1.81139,-.174427,1.116,1.90889,.111889,1.1068,1.84551,.321346,1.14251,1.67874,.546054,.828336,1.85221,.354947,.967569,1.47648,-.48689,1.07117,1.78699,-.234203,1.29024,1.80144,-.217621,1.20584,.890609,.526539,1.84683,1.10394,.545137,1.4727,1.3561,.43376,1.70868,1.09404,.470414,2.06142,1.10971,.518459,1.77986,1.01396,.340124,2.45339,.905553,.384398,2.34055,1.05179,.402722,2.29998,.739498,.470229,2.17602,.532298,.568252,1.97523,.689296,.590856,1.58972,.709906,.533249,1.91217,.789566,.284444,2.55342,.633022,.381978,2.42527,.774355,.392947,2.3941,.37957,.496314,2.26375,.104157,.585355,2.04394,.29754,.641254,1.70635,.329435,.565621,2.01094,.537443,.321826,2.65188,.47075,.414435,2.46631,-.269111,.292878,2.67942,-.373466,.306629,2.49522,-.157845,.501213,2.30984,-.226884,.399552,2.52816,-.331655,.461143,2.01039,-.133445,.63878,1.73517,-.132439,.570812,2.04234,-.503968,.193855,2.63622,-.680833,.271789,2.45133,-.527996,.358228,2.25903,-.524388,.285994,2.48477,-.71049,.368011,1.94734,-.510709,.455912,1.67369,-.518251,.401957,1.98297,-.905342,.276852,2.17026,-.787699,.213717,2.56979,-.850317,.246531,2.4038,-1.13671,.235188,1.83542,-.915213,.36803,1.6016,-.920072,.318559,1.89523,-1.39928,-.149474,2.35222,-1.52187,-.132203,2.11262,-1.36766,.0551168,2.00558,-1.39489,-.0493083,2.18201,-1.5291,.0380758,1.70313,-1.3168,.194304,1.50322,-1.34026,.132982,1.76523,-1.70753,-.0754762,1.88264,-1.60445,-.222219,2.26343,-1.81909,-.159553,2.04921,-1.66267,-.144343,2.06645,-1.69868,.0119558,1.40453,-1.87801,-.125388,1.58708,-1.71275,-.0293102,1.6476,-2.021,-.243088,1.78282,-1.85713,-.214723,2.22689,-1.96413,-.207071,2.0161,-2.1039,-.456696,1.49855,-1.99113,-.269437,1.29869,-2.01194,-.267419,1.53358,1.81489,.0133008,1.84172,1.82325,-.226158,2.01809,1.82221,-.0886072,2.25122,1.76419,.105142,2.0378,1.81846,-.0460562,2.01179,1.76616,-.392984,1.86872,1.58919,-.646296,2.09068,1.75406,-.46662,2.27842,1.74827,-.437457,2.058,1.83471,.170758,1.50984,1.86541,-.101119,1.69309,1.72093,.228409,1.66912,1.82996,.0861528,1.68151,1.77216,-.28971,1.55166,1.61441,-.583412,1.72402,1.79654,-.337368,1.71014,1.5493,.604682,.939261,1.24973,.712787,.594678,1.49464,.66872,.690591,-1.41962,-1.16991,-.171432,-1.08872,-1.2372,-.574116,-1.40281,-1.16854,-.532122,-1.66957,-1.06449,.208693,-1.43524,-1.1596,.419058,-1.16282,-1.2077,.0986079,-1.42904,-1.16388,.144965,-2.00798,-.776578,.397258,-1.86454,-.937424,.293042,-2.05518,-.3651,.549681,-2.07514,-.622641,.747955,-2.07807,-.571257,.479175,-1.83667,904921e-9,.664287,-1.97089,-.220712,.845458,-1.96514,-.176848,.611566,-1.47384,.2689,.730035,-1.68195,.110977,.936373,-1.66987,.155466,.705122,-1.08722,.463051,.760134,-1.28592,.315482,.988107,-1.27631,.364857,.746167,-.901632,.500728,1.02538,-.700752,.607216,.775375,-.89776,.552562,.771179,-.509701,.597236,1.04265,-.338609,.737147,.779918,-.51427,.662069,.779211,.057267,.778197,.725629,-.148295,.752958,1.04476,-.148116,.795344,.762811,.258495,.714256,.973571,.428689,.7477,.665186,.249046,.759015,.693335,.783729,.725843,.605097,.627833,.691052,.905865,.605073,.743051,.635526,1.02844,.681884,.869527,.982845,.711768,.588949,-.351218,-.936752,-2.13011,-.277885,-.926065,-2.25372,.03676,-1.01923,-1.79506,-.326913,-1.11758,-1.41156,-.242368,-1.10045,-.943906,.160362,-1.02104,-1.40296,-.057556,-1.05279,-1.42681,-.13906,-1.07025,-.527706,-.536646,-1.17737,-.571315,-.436437,-1.11064,-.181319,-.331482,-1.12419,-.549072,-.723146,-1.2124,-.966496,-.854848,-1.217,-.231294,-.785728,-1.21585,-.580235,-.513744,-1.07822,-1.75544,-.651175,-1.15588,-1.36435,-.155183,-.999536,-2.01061,.055207,-1.01327,-2.02386,.714052,-1.09218,-.560778,.863116,-1.06908,-.189559,1.14583,-1.12858,-.341016,1.11909,-1.15725,-.726767,.936681,-1.11973,-.477233,.697043,-.990856,.132415,1.00522,-.879074,.401415,1.0657,-1.00279,.122412,.891171,-.996672,.112126,1.24593,-1.07103,-.0146841,1.48706,-1.14508,-.301084,1.32486,-1.1236,-.180045,1.27478,-.894559,.420803,1.3766,-.99532,.297239,1.22824,-1.00267,.18967,1.58188,-1.12004,-.746625,1.06612,-1.11896,-1.11428,1.39093,-1.1186,-1.00933,1.80453,-1.11345,-.12036,1.97517,-1.05078,-.426653,1.7173,-1.12912,-.385489,2.26788,-.917283,-.149782,2.38794,-.672147,-.390691,2.21076,-.898872,-.42959,2.56341,-.419815,-.0363391,2.47037,-.375223,-.3134,1.30036,-.731675,.653418,1.40672,-.726308,.758612,1.35492,-.726202,.670377,1.54341,-.725565,.975728,1.49134,-.878111,.648047,1.47138,-.729481,.879189,1.15709,-.717642,.767322,1.21455,-.727547,.680758,1.23698,-.702638,1.0931,1.18214,-.705287,.912057,2.09544,-1.02467,.104292,2.37169,-.927789,.370206,2.51281,-.72815,.133601,2.31991,-.921491,.10293,2.67985,-.138602,.327785,2.72323,-.49802,.451241,2.64474,-.455489,.206389,2.62329,.101151,.760093,2.55793,.130889,.4754,1.95385,-1.0252,.385318,1.88031,-1.0745,.123089,1.67621,-.946935,.61176,1.51509,-.974963,.442776,2.78082,-.24191,.876771,2.63832,-.0456771,1.2302,2.3444,.182031,1.09225,2.63411,.0375759,1.0035,2.62479,-.796885,.687991,2.7237,-.606561,1.05813,2.75542,-.548757,.76461,2.20286,-.992922,.659077,2.41662,-.957693,.975096,2.41395,-.94142,.658297,1.87806,-.962434,.706681,2.07824,-.982766,.955408,2.02339,-.990882,.666468,1.68269,-.84551,.923991,1.85259,-.912318,1.02169,1.76804,-.915942,.800821,1.59152,-.509918,1.27224,1.69,-.739413,1.23042,1.62501,-.723387,1.09094,1.96023,-.0138122,1.28829,1.75939,-.293538,1.42968,1.77332,-.246036,1.3084,2.14251,.0675098,1.33107,2.15477,.158208,1.1862,2.76721,-.40442,1.40948,2.66758,-.208679,1.71916,2.40764,.00666281,1.55574,2.65355,-.139719,1.48477,1.92032,-.184103,1.61641,2.13724,-.0382582,1.58825,2.62638,-.897178,1.36886,2.73898,-.676447,1.36899,2.24917,-1.02375,1.32766,2.4616,-1.07385,1.71869,2.43283,-1.01254,1.34361,2.00572,-.968366,1.26776,2.1165,-1.0018,1.28232,1.83508,-.869036,1.34406,1.97217,-.957314,1.55257,1.91234,-.926398,1.29068,1.6989,-.629505,1.53287,1.76004,-.783482,1.42943,1.79751,-.48219,1.86521,1.75223,-.394988,1.59717,2.67638,-.257297,1.99347,2.674,-.241537,1.87825,2.00925,-.996148,1.83215,1.99795,-.984182,1.72668,2.02157,-1.02073,1.98249,2.01653,-1.00779,1.90988,1.94617,-.302899,2.16372,1.86152,-.541094,2.29553,1.82489,-.749439,2.06887,1.83171,-.530571,2.09807,1.88841,-.892792,2.22935,1.95706,-.976482,2.07573,1.88761,-.891013,2.07478,2.43176,-.141015,2.31375,2.16331,-.162033,2.40002,2.15496,-.159155,2.25407,1.22182,.323463,2.71176,1.10256,.3243,2.57581,1.38687,.361589,2.53821,1.23795,.356157,2.55542,1.52983,.287235,2.682,1.6466,.238888,2.5006,1.52235,.307734,2.51917,.888058,.21991,2.6473,.968548,.21791,2.7732,.985893,.279925,2.60607,.666885,.173015,2.75947,.779685,.0306997,2.81497,.785385,.160655,2.68847,.554695,.179565,3.00839,.429383,.318252,2.84931,.558827,.24568,2.82823,-.297963,.133411,3.02445,-.380883,.120443,2.81229,-.170507,.293424,2.86954,-.288294,.200346,2.84327,-.446072,-.0277743,2.94435,-.572396,.134201,2.7831,-.464954,.0841947,2.78023,-.659032,.104491,2.92617,-.884296,.150976,2.70557,-.720007,.166966,2.74913,-.996782,.0510247,2.8434,-1.14385,.0315717,2.65415,-1.0276,.0961887,2.67446,-1.228,-.0892153,2.80324,-1.31335,-.135647,2.59539,-1.23713,-.0421823,2.63595,-1.37574,-.317447,2.7196,-1.4453,-.342191,2.45848,-1.37958,-.244792,2.51908,-1.48088,-.470309,2.62457,-1.62823,-.273118,2.45703,-1.53957,-.320238,2.44145,-1.66785,-.304876,2.63916,-1.89903,-.269981,2.40585,-1.75417,-.243731,2.43573,1.59007,.279284,1.88845,1.7075,.180854,2.29309,1.65222,.227955,2.08386,1.7633,.12389,2.66913,1.8076,.0292117,2.47179,1.73944,.143376,2.48413,1.8463,-.285271,2.46844,1.8711,-.130303,2.66834,1.8507,-.110472,2.46724,1.75757,-.492275,2.6973,1.58716,-.638464,2.54599,1.7631,-.479725,2.50044,1.33717,-.675882,2.79748,1.35776,-.780586,2.41836,1.35838,-.736583,2.61902,1.3407,-.791975,1.93299,1.03023,-.868266,2.24664,1.34783,-.795504,2.15712,.653697,-.846979,2.51983,.323454,-.872919,2.79214,.512125,-.766976,2.99324,.578831,-.803983,2.77995,.707968,-.900037,2.02591,.37359,-.930981,2.29261,.69325,-.888905,2.27422,.027353,-.84051,3.01578,.032406,-.940544,2.59115,.036297,-.898405,2.82519,-.266869,-1.00845,2.29129,.078652,-.963507,2.00885,.053733,-.960385,2.29542,-.531572,-1.05857,1.94196,-.867892,-1.14116,2.19982,-.601769,-1.05926,2.57683,-.571488,-1.09084,2.25673,-.91105,-1.06017,2.71864,-.72539,-.997002,2.97755,-.664793,-1.02688,2.7984,-1.12288,-1.1749,1.81874,-1.43071,-1.18009,2.09664,-1.14061,-1.09037,2.40585,-1.15892,-1.15536,2.1294,-1.12514,-1.00764,2.86402,-1.13062,-1.0404,2.64776,-1.83834,-1.06458,2.48278,-1.67976,-1.06328,2.73871,-1.64021,-1.11198,2.32053,-1.66908,-1.05637,2.53285,-1.67895,-1.20632,1.79822,-1.85525,-1.13581,2.03042,-1.66203,-1.18143,2.07237,-2.0108,-1.03303,2.21289,-2.10899,-.910356,2.39605,-2.00373,-1.02991,2.65307,-1.99509,-1.01213,2.43718,-2.13438,-.912832,1.92618,-2.00679,-1.04441,1.72384,-2.0197,-1.04642,1.98275,-2.10713,-.431549,2.35992,-2.15001,-.539895,2.54915,-2.1776,-.654804,2.34903,-2.1562,-.53922,2.34937,-2.18214,-.658886,2.76069,-2.06423,-.420599,2.74385,-2.13639,-.525626,2.92287,-2.14236,-.534357,2.74419,-2.17008,-.789353,2.58155,-2.18268,-.772793,2.14536,-2.16541,-.781671,2.36586,-2.17316,-.786728,2.97939,-2.12377,-.927681,2.82021,-2.17811,-.791874,2.78836,-2.16782,-.692863,1.69412,-2.19142,-.745772,1.91728,-1.97786,-.335384,2.57721,-2.02259,-.334605,2.38166,-2.08007,-.865682,1.45899,-2.08717,-.654975,1.23171,-2.11967,-.667961,1.45813,-1.77961,-.309819,2.78651,-1.91616,-.33262,2.91743,-1.94041,-.337149,2.75911,-1.59078,-.388759,2.98905,-1.50626,-.487402,2.862,-1.62094,-.36034,2.82233,-1.10301,-.0338364,3.00893,-1.20367,-.123164,3.19861,-1.31898,-.220649,2.97613,-1.22072,-.113205,2.99494,-.797207,.0692146,3.0569,-.924069,.0212766,3.22026,-.96626,.0288066,3.02642,-1.35092,-.376742,3.19681,-1.32795,-.506375,2.90921,-1.36675,-.360824,2.95101,-.58034,-.0314534,3.28589,-.489359,-.0919104,3.1506,-.612403,.0351866,3.09936,-.029862,.315785,3.05438,.137688,.394209,2.8791,-.024556,.369905,2.88322,.289095,.321781,3.03692,.28961,.370847,2.86643,.125583,.305003,3.23931,-.056328,.240003,3.45984,-.196726,.196545,3.24233,-.04078,.276119,3.24569,.276556,.256666,3.44969,.425253,.223217,3.22364,.282622,.284774,3.2305,-.311617,.0082836,3.45094,-.353298,-.0905894,3.20843,-.305874,.0662056,3.22504,.551844,.0759046,3.45013,.630008,-.0180924,3.20487,.55107,.124192,3.21965,-.413729,-.204307,3.13594,-.435306,-.454602,3.24693,-.424286,-.205981,3.15235,-.438122,-.178841,3.13316,-.371867,-.312221,3.42847,-.376289,-.454285,3.27733,-.3653,-.260724,3.22778,-.465916,-.507703,3.25616,-.477873,-.356171,3.36343,-.442815,-.284918,3.2233,-1.40503,-.70286,2.81885,-1.44941,-.595985,2.78591,-1.3664,-.601992,2.75689,-1.43019,-.592025,2.73787,-1.44919,-.737529,2.95215,-1.45429,-.651979,3.07409,-1.45417,-.62676,2.91057,.834832,-.105715,2.95123,.791943,-.305233,3.06427,.699288,-.138165,2.99704,.778084,-.118316,2.91839,1.05684,.249101,2.91958,.936094,.115413,3.17297,.874629,.0339197,3.0024,.946011,.161947,2.95367,.839559,-.176913,3.25808,.832523,-.341363,3.1552,.844959,-.135699,3.07216,1.55937,.422352,1.44834,1.56451,.333753,1.66877,1.37102,.305757,2.87866,1.20102,.275271,3.11032,1.20741,.296754,2.8946,1.53112,.267156,3.08804,1.67091,.213221,2.86795,1.52977,.274395,2.8696,1.78742,.101319,3.10829,1.85478,-.00397133,2.87953,1.77932,.117432,2.87262,1.868,-.179457,3.13682,1.85051,-.325045,2.89182,1.8751,-.152636,2.88485,1.55145,-.619079,2.93753,1.72277,-.50954,3.15551,1.73892,-.502062,2.90826,1.10684,-.669546,3.06898,1.33598,-.674801,3.20899,1.33896,-.669896,2.98914,.767997,-.541275,3.16136,.872311,-.567994,3.10366,.817952,-.555447,3.12244,.259223,-.784766,3.17242,.428569,-.688787,3.3933,.620371,-.636801,3.22643,.46319,-.739297,3.19448,.670776,-.30955,3.20536,.615482,-.429811,3.42128,.690323,-.480267,3.23632,-.177394,-.760677,3.23404,.037087,-.765593,3.39074,.029283,-.803116,3.194,-.424457,-.73718,3.2103,-.379534,-.686188,3.24175,-.402279,-.709523,3.22731,-.273801,-.60737,3.42053,-.330011,-.643915,3.28112,-.957321,-.993881,3.10762,-.775231,-.961226,3.35195,-.598267,-.885767,3.20469,-.765015,-.97369,3.15401,-.516906,-.714998,3.39211,-.488088,-.717312,3.24409,-1.25119,-.87402,3.04266,-1.13008,-.921306,3.30178,-1.13335,-.959453,3.07939,-1.45088,-.83308,2.85025,-1.3493,-.809605,2.8778,-1.39891,-.820066,2.83042,-1.83931,-1.09177,2.88502,-1.66647,-1.05823,3.08527,-1.53705,-.97868,2.95415,-1.67215,-1.07032,2.9211,-1.47422,-.866513,3.11868,-1.46555,-.852881,2.96964,.082743,.252187,4.06304,-.102874,.169993,4.18146,-.084134,.186878,3.89563,-.092766,.175675,4.05517,.277928,.249572,3.89683,.284468,.229733,4.19018,.281467,.249569,4.06054,.296565,.186975,4.43754,.085467,.230914,4.32196,.289693,.217273,4.31063,-.108897,.135737,4.42742,-.111083,.166411,4.29979,-1.00196,-.0404114,3.68557,-.842865,.00401657,3.57881,-.827058,-.0206275,3.79106,-.831278,-.0110664,3.69803,-1.14371,-.134832,3.77158,-1.1641,-.126053,3.56603,-1.15211,-.129336,3.68232,-.811754,-.0605115,4.0172,-.985986,-.0544835,3.8811,-.821609,-.0333685,3.88841,-1.11878,-.145697,4.0006,-1.13161,-.139753,3.86828,-1.89119,-.372544,3.38055,-1.89612,-.338948,3.17372,-1.89166,-.362052,3.27829,-1.89281,-.403541,3.5959,-1.89442,-.374122,3.48945,1.55714,.239981,3.54588,1.57653,.214109,3.84915,1.4032,.254518,3.72021,1.56744,.225182,3.71463,1.23502,.216334,3.85724,1.22178,.233463,3.55812,1.23083,.223928,3.72487,1.41548,.248577,3.99891,1.2372,.196404,4.14934,1.23888,.200587,3.98641,1.59688,.201935,4.15201,1.5861,.209211,3.98403,2.68708,-.283356,2.20773,2.68051,-.271087,2.10261,2.81818,-.565145,2.23943,2.70361,-.29862,2.42353,2.69224,-.294837,2.30778,2.67341,-1.0244,2.03047,2.82419,-.84238,2.29678,2.79996,-.826452,2.13604,2.51766,-1.16564,2.19332,2.30991,-1.13444,1.98432,2.47732,-1.12204,1.98111,1.99603,-.310708,2.53849,1.93564,-.477377,2.72253,1.86064,-.715656,2.4582,1.88948,-.517208,2.49834,1.90182,-.823651,2.65258,1.94292,-.983992,2.3918,1.88183,-.870056,2.42241,2.02546,-1.05147,2.18804,2.09684,-1.08194,2.04904,2.02525,-1.0348,2.06643,2.04016,-1.06796,2.61063,2.12007,-1.13286,2.36321,2.02301,-1.06967,2.37026,2.20158,-1.14894,2.17441,2.18808,-1.11774,2.02102,2.39082,-1.20702,2.39319,2.29823,-1.19308,2.61461,2.23934,-1.17913,2.37277,2.75517,-1.05942,2.45143,2.64422,-1.17799,2.66598,2.57871,-1.18631,2.41853,2.87473,-.823095,2.74341,2.84831,-.568756,2.54768,2.85604,-.837696,2.49689,2.72647,-.337538,2.83103,2.46382,-.164152,2.59511,2.70821,-.31703,2.58751,2.25102,-.193085,2.8001,2.19659,-.166033,2.57396,2.83548,-.590184,3.08777,2.76784,-.39805,3.42322,2.52837,-.273638,3.11559,2.72704,-.387032,3.12338,2.82624,-1.00444,2.97554,2.87158,-.805605,3.03034,2.37768,-.262729,3.37748,2.13445,-.303414,3.03073,2.32021,-.25786,3.07797,1.94562,-.605593,2.93622,2.00964,-.442113,2.97501,2.02203,-.700905,3.18719,1.99244,-.913649,2.89862,1.94342,-.766685,2.91344,2.15548,-.970113,3.17841,2.21434,-1.12593,2.88619,2.08665,-1.03479,2.88929,2.44018,-1.11533,3.17268,2.53322,-1.18723,2.90131,2.36806,-1.17709,2.88814,2.73079,-1.05729,3.20563,2.69606,-1.13607,2.93062,2.59533,-.336977,3.67317,2.71318,-.566114,3.75831,2.77104,-.448495,3.66036,2.40547,-.431109,3.73321,2.4074,-.310056,3.62008,2.24231,-.583946,3.64267,2.15843,-.76491,3.43571,2.12353,-.633853,3.45151,2.3685,-.950536,3.46196,2.32209,-.734124,3.65079,2.24476,-.865044,3.44899,2.57423,-.874121,3.65157,2.63877,-1.01879,3.42747,2.50858,-1.01204,3.44462,2.73704,-.830573,3.65242,2.7535,-.952511,3.45874,2.51488,-.625311,3.78572,2.64867,-.716968,3.76023,-2.16906,-.645949,3.13537,-2.04258,-.400779,3.05505,-2.12982,-.517673,3.08547,-2.15506,-.773776,3.35098,-2.10096,-.903187,3.18087,-2.16201,-.778396,3.16221,-2.14655,-.672724,3.56577,-2.12959,-.789374,3.73324,-2.09514,-.895872,3.54454,-2.1469,-.782846,3.54464,-2.02002,-.486822,3.67508,-2.0955,-.597142,3.764,-2.10136,-.57647,3.6226,.927612,-.550985,3.29065,.910447,-.560125,3.15342,1.82246,-.358786,3.44312,1.84191,-.228929,3.79044,1.85632,-.0586404,3.42113,1.85637,-.205566,3.43812,1.53512,-.63196,3.45737,1.70738,-.52595,3.78399,1.71361,-.517707,3.44823,1.78605,-.375509,4.16096,1.82813,-.273761,4.54447,1.84244,-.138322,4.20482,1.83218,-.254142,4.17404,1.50868,-.614232,4.14191,1.67834,-.523714,4.51589,1.67978,-.51108,4.15078,1.11275,-.6546,3.49022,1.3156,-.667592,3.78251,1.32597,-.675256,3.47167,1.12669,-.595943,4.13341,1.30241,-.63775,4.49724,1.30843,-.641149,4.13556,.854037,-.381984,3.5097,.96386,-.534211,3.791,.939481,-.549018,3.50548,.922481,-.377734,4.14832,1.01675,-.479081,4.50156,.995768,-.503728,4.13731,.889283,-.0444024,3.47499,.87809,-.218369,3.809,.851653,-.204426,3.50015,.930954,-.0912035,4.20578,.949397,-.236392,4.53043,.903076,-.231973,4.16858,-1.34011,-.496901,3.496,-1.28693,-.243843,3.41269,-1.33677,-.374786,3.44692,-1.31871,-.586758,3.81042,-1.30828,-.666385,3.53984,-1.3298,-.603124,3.22055,-1.32741,-.593458,3.52445,-1.31191,-.606006,4.34794,-1.28532,-.675624,4.08221,-1.32791,-.489749,4.09039,-1.31602,-.593974,4.08169,-1.23071,-.252622,4.16192,-1.29358,-.391423,4.37018,-1.30322,-.371857,4.12841,-1.26042,-.743111,3.82179,-1.22378,-.821165,3.55367,-1.28848,-.733849,3.25781,-1.27875,-.735547,3.54761,-1.09047,-.906227,3.82298,-.951132,-.969187,3.57126,-1.11467,-.917724,3.56223,-1.22412,-.745806,4.33482,-1.17705,-.812108,4.07726,-1.24098,-.744185,4.07981,-1.06584,-.84875,4.33486,-.936561,-.922583,4.07918,-1.07608,-.882354,4.07817,-.380104,-.185317,3.71693,-.40565,-.36461,4.00365,-.352552,-.486276,3.67473,-.394504,-.345502,3.69776,-.295797,-.614384,3.94909,-.156894,-.717037,3.65599,-.284541,-.611631,3.66426,-.357517,-.512189,4.28507,-.253571,-.612855,4.5828,-.175379,-.707212,4.24357,-.291072,-.615866,4.26065,-.408348,-.259656,4.37539,-.35606,-.42269,4.63164,-.400615,-.395851,4.32026,.015732,-.777447,3.92508,.235979,-.76005,3.63603,.031879,-.773267,3.6424,-218998e-9,-.742339,4.55111,.195753,-.755297,4.23206,-.002071,-.765211,4.23264,.392807,-.687212,3.93712,.541003,-.56626,3.66995,.414241,-.685437,3.65082,.337334,-.682493,4.55529,.483229,-.589517,4.25815,.363735,-.684662,4.24332,.579765,-.468188,3.96457,.626335,-.33925,3.6906,.601923,-.443218,3.68125,.510778,-.51143,4.58076,.594817,-.40743,4.28555,.55604,-.49593,4.27008,.642441,-.199875,3.43689,.626942,-.267866,4.00433,.614904,-.107017,3.71767,.631581,-.236674,3.70543,.564402,-.351358,4.62108,.606646,-.187985,4.37016,.611051,-.311444,4.31456,.662172,-.168747,3.20202,-.773983,-.937687,3.82794,-.613102,-.87157,3.59503,-.77277,-.953267,3.58373,-.814042,-.871852,4.33659,-.643058,-.860963,4.07791,-.785443,-.917226,4.07876,-.517662,-.748221,3.83155,-.464961,-.568023,3.59398,-.508033,-.732485,3.60034,-.590306,-.733221,4.34061,-.481426,-.612352,4.07769,-.53294,-.754027,4.07833,-.459907,-.433016,3.82009,-.474282,-.228153,3.54622,-.45009,-.399434,3.57786,-.490914,-.494167,4.35533,-.47942,-.319583,4.09626,-.465355,-.466902,4.0789,-1.97292,-.988092,3.36963,-1.82446,-1.05773,3.21815,-1.99809,-1.03339,3.02999,-1.98312,-1.00896,3.19778,-1.98616,-.991747,3.74305,-1.83481,-1.05174,3.57254,-1.9843,-.998608,3.55475,-1.68365,-1.00965,3.41168,-1.55457,-.965247,3.267,-1.66837,-1.0411,3.24435,-1.6994,-1.05237,3.77942,-1.57106,-.98877,3.61372,-1.68755,-1.04253,3.59475,-1.50576,-.887951,3.43821,-1.45112,-.78215,3.26307,-1.48597,-.877325,3.27316,-1.50733,-.925888,3.80465,-1.46315,-.823473,3.61872,-1.501,-.912507,3.62118,-1.43815,-.689825,3.42064,-1.47061,-.529731,3.20503,-1.44339,-.672447,3.24153,-1.46067,-.730163,3.80335,-1.48468,-.583725,3.62438,-1.45361,-.715505,3.61412,-.704204,.00374959,3.44118,-.558088,-.0825274,3.48828,-1.04211,-.0298494,3.40082,-.87612,.0177546,3.41352,-.848487,-.220432,5.24571,-.988842,-.217398,5.09027,-.832554,-.193329,4.87002,-.84403,-.216333,5.07624,-1.12612,-.271023,5.26236,-1.11402,-.253342,4.85952,-1.12144,-.268654,5.07901,-.989554,-.234501,5.47214,-1.10784,-.314481,5.71419,-1.12068,-.282194,5.45854,-.848356,-.259159,5.67701,-.848301,-.220727,5.43044,-1.26945,-.628973,4.99961,-1.24966,-.690879,4.61502,-1.29003,-.522899,4.6464,-1.27936,-.61616,4.63238,-1.28159,-.569774,5.64681,-1.26796,-.65741,5.95447,-1.24171,-.726544,5.45171,-1.27241,-.652701,5.53378,-1.15109,-.805075,4.60241,-1.19339,-.763337,4.92381,-1.20799,-.750582,4.60466,-1.1266,-.846256,5.35164,-1.18193,-.795662,5.83934,-1.19356,-.791642,5.39146,-.949964,-.891442,4.61012,-1.05284,-.870265,4.91401,-1.06582,-.859601,4.60644,-1.02881,-.905508,5.76428,-.932329,-.899772,5.31679,-1.03785,-.885682,5.32936,-.823538,-.886825,4.91351,-.693151,-.84591,4.61323,-.821731,-.887051,4.61,-.802691,-.911583,5.74297,-.715518,-.83749,5.32643,-.822103,-.883184,5.31242,-.543422,-.633859,4.6439,-.606942,-.759795,4.94437,-.594571,-.752653,4.62593,-.604629,-.770791,5.78945,-.565567,-.661276,5.43363,-.623381,-.76215,5.36861,-.53797,-.532042,5.03187,-.526251,-.39387,4.67544,-.520746,-.516117,4.66238,-.572809,-.44516,5.61591,-.579833,-.551052,5.90713,-.544195,-.550857,5.51497,-1.12433,-.447299,6.5453,-1.10343,-.355441,6.20087,-.969747,-.332816,6.37817,-1.11394,-.380451,6.36562,-.838148,-.323392,6.16692,-.82343,-.379794,6.528,-.829348,-.331976,6.3415,-.964307,-.522819,6.62225,-1.05337,-.652987,6.5973,-1.07762,-.561275,6.60156,-.851726,-.603319,6.60223,-.849713,-.50042,6.59486,-.593545,-.627506,6.13914,-.608973,-.525579,6.17642,-1.21086,-.315783,4.62355,-1.27356,-.41914,4.62746,-1.20738,-.404888,5.9279,-1.25452,-.491089,5.80326,-1.24566,-.724318,6.18854,-1.27151,-.6458,6.2189,-1.12406,-.866989,6.1281,-1.19667,-.800892,6.15575,-1.03543,-.865083,6.3847,-.912818,-.94501,6.1076,-1.03074,-.920503,6.11334,-.939359,-.753363,6.55583,-1.04108,-.756679,6.53677,-.798976,-.848666,6.38839,-.675021,-.84808,6.10469,-.7837,-.922369,6.1052,-1.90331,-.462723,4.12696,-1.89859,-.470634,3.99039,-1.90143,-.469768,4.0621,-1.89736,-.476725,4.28309,-1.90178,-.463884,4.19511,-2.12406,-.798001,4.09504,-2.08832,-.893321,3.91333,-2.12774,-.701862,3.91384,-2.12859,-.79515,3.91382,-2.10878,-.723185,4.3017,-2.08159,-.810934,4.46012,-2.07445,-.891018,4.27065,-2.1077,-.805162,4.27987,-1.99275,-.981434,4.09303,-1.85763,-1.05171,3.93425,-1.99436,-.991939,3.92082,-1.98919,-.972296,4.44702,-1.88006,-1.06064,4.27504,-1.99989,-.98746,4.26984,-1.7256,-1.04988,4.11303,-1.60018,-.993921,3.96312,-1.71397,-1.04499,3.94968,-1.75745,-1.05662,4.46165,-1.6222,-1.01046,4.2926,-1.73815,-1.06476,4.28373,-1.54472,-.92845,4.13204,-1.48145,-.8443,3.97623,-1.52703,-.927386,3.9717,-1.50403,-.854974,4.31411,-1.56668,-.941373,4.48169,-1.54943,-.938594,4.30244,-1.4785,-.740384,4.14663,-1.49898,-.607727,3.96927,-1.46708,-.737031,3.97651,-1.50613,-.75867,4.50992,-1.51904,-.631033,4.34579,-1.48667,-.750701,4.32676,-1.88025,-.545531,4.54775,-1.74423,-.549479,4.73605,-1.87443,-.626912,4.88638,-1.97839,-.624673,4.69655,-1.87826,-.561147,4.72849,-1.62857,-.57584,4.54147,-1.55934,-.669636,4.69807,-1.64651,-.657934,4.8489,-1.63428,-.600041,4.71609,-1.9381,-.779885,4.87612,-1.76025,-.745294,4.9082,-1.84759,-.837184,4.88701,-1.8582,-.753601,4.90985,-1.60409,-.765293,4.81051,-1.67641,-.753834,4.8786,-2.0541,-.665287,4.50311,-2.01758,-.735416,4.79218,-2.05669,-.753568,4.64188,-2.03173,-.692023,4.66549,-2.02105,-.818017,4.75859,-1.98328,-.803856,4.82956,-2.03119,-.885117,4.6214,-2.05493,-.817473,4.63004,-1.55475,-.855549,4.6714,-1.53904,-.763253,4.68509,-1.89428,-1.01086,4.625,-1.97812,-.95415,4.61819,-1.81053,-.965986,4.7741,-1.67287,-.997744,4.65025,-1.78213,-1.03137,4.63964,-1.83334,-.898479,4.84884,.181452,-.742236,4.86154,.316253,-.711091,5.18629,.424016,-.610997,4.87519,.324302,-.689313,4.86539,.174021,-.782484,5.55472,.271633,-.785288,6.08469,.392957,-.675092,5.56331,.297121,-.739374,5.55555,.475223,-.562317,5.2056,.517001,-.455708,4.90386,.48314,-.530008,4.8873,.450915,-.645736,6.0901,.505796,-.524887,5.59521,.46054,-.600621,5.5759,.550515,-.291084,4.93803,.532905,-.411901,5.24364,.538075,-.38302,4.92469,.522267,-.480305,6.13254,.549409,-.364619,5.67313,.532631,-.449251,5.6245,.13786,.0790734,5.21507,.341105,.0466934,5.08926,.344894,.0157074,5.30887,.343955,.0275434,5.21058,.145287,.0501714,5.43953,.357672,-.00814865,5.60749,.348194,.00467237,5.41539,-.063952,.0158224,5.31438,-.076971,.0370524,5.08832,-.067925,.0249124,5.21063,-.05458,-.0198017,5.63856,-.060062,.00392037,5.43193,-.295678,-.545018,4.92228,-.205161,-.646195,5.22773,-.135051,-.70265,4.88302,-.23391,-.630815,4.90206,-.17479,-.651079,6.12125,-.095935,-.727858,5.57977,-.265758,-.569715,5.63177,-.194665,-.657378,5.60259,.031901,-.768703,5.19293,.014806,-.747378,4.86816,.014717,-.79143,6.08956,.032417,-.778337,5.56352,-.00922501,-.175235,6.50667,.155983,-.220532,6.92466,.009433,-.321206,7.12422,172995e-9,-.256587,6.9107,.346261,-.134834,6.45309,.326986,-.228309,6.86698,.096073,-.501223,7.17304,.053238,-.414519,7.17376,.501351,-.575215,6.5838,.51665,-.487014,6.60665,-.223097,-.559113,6.67098,-.245562,-.471242,6.21139,-.217163,-.468738,6.7191,-.111403,-.729924,6.60602,-.18577,-.649503,6.62784,.119588,-.833752,6.60251,-.00968501,-.79966,6.60161,.223136,-.756109,6.93845,.37711,-.756806,6.58357,.25877,-.819489,6.59749,1.57825,.0767214,4.99038,1.56872,.0567864,5.20042,1.43014,.0921624,5.10509,1.57254,.0639434,5.11026,1.27953,.0885554,4.9793,1.29015,.0586594,5.19426,1.2863,.0747084,5.1016,1.28384,.0537973,5.43177,1.42559,.0701514,5.29697,1.28769,.0599634,5.28911,1.56563,.0436563,5.43807,1.5632,.0460024,5.29326,1.01152,-.129541,4.86322,.983316,-.22694,5.18804,.983952,-.348662,4.85362,.977633,-.234478,4.86501,1.03825,-.443925,5.16901,1.13342,-.557515,4.83491,1.03023,-.460422,4.84206,1.02687,-.135866,5.53129,1.02932,-.214073,5.82599,.997169,-.322038,5.50544,.997142,-.222278,5.5136,1.03388,-.414036,5.82658,1.1246,-.54326,5.49931,1.03398,-.432185,5.5008,1.29626,-.595922,5.16019,1.49137,-.596761,4.83918,1.29972,-.611709,4.83378,1.27264,-.6379,5.84456,1.48271,-.626188,5.50254,1.2848,-.623431,5.49983,1.65152,-.521623,5.17453,1.77472,-.401311,4.86574,1.66011,-.515869,4.85094,1.6605,-.571586,5.85416,1.78408,-.434911,5.52481,1.66249,-.556026,5.51155,1.83109,-.293152,5.20201,1.8307,-.175648,4.87838,1.82462,-.286334,4.8784,1.81349,-.183235,5.55941,1.81423,-.298189,5.87075,1.82728,-.300706,5.5392,1.42294,439214e-9,6.21103,1.56834,.00629725,5.93283,1.56894,-.0156848,6.20616,1.76804,-.435464,6.18421,1.80431,-.284792,6.18004,1.04948,-.278955,6.11075,1.06557,-.201219,6.11125,1.26995,-.0394798,6.43434,1.2817,.00826325,5.91705,1.27841,-.0204568,6.18784,1.33387,-.244909,6.59073,1.30832,-.137374,6.55894,1.11317,-.510014,6.14677,1.05722,-.381022,6.12019,1.27116,-.529701,6.43574,1.4703,-.65018,6.18743,1.26104,-.623923,6.17515,-.346895,-.320129,4.9489,-.32118,-.448801,5.26798,-.338269,-.441866,4.94076,-.305197,-.348228,5.72103,-.302339,-.462894,5.66783,-.541365,-.233939,4.39304,-.649441,-.103528,4.18633,-.53969,-.195694,4.14653,-.802742,-.103576,4.41891,-.961336,-.0920375,4.19575,-.80214,-.0814845,4.19835,-1.11144,-.171743,4.40299,-1.1182,-.141531,4.18534,-.680528,-.20089,4.65072,-.578253,-.282696,4.65772,-.9682,-.163048,4.64179,-.816835,-.154454,4.6482,-.738251,-.333728,5.86635,-.644319,-.374562,5.75118,-.972593,-.305027,5.99968,-.844269,-.295302,5.95493,-1.73522,-.32981,3.08301,-1.57444,-.397605,3.13913,-1.90285,-.330052,3.05415,-1.5913,-.492288,3.81278,-1.7368,-.415147,3.70049,-1.58437,-.469863,3.66828,-1.89514,-.440865,3.8075,-1.89394,-.422196,3.70356,-1.74569,-.446087,3.92219,-1.59946,-.499399,3.9444,-1.74729,-.492089,4.40333,-1.61153,-.535634,4.38187,-2.01829,-.520588,3.89548,-1.89717,-.455666,3.90487,-2.0065,-.562324,4.38084,-2.07653,-.641419,4.34428,-1.8862,-.52191,4.39773,-.210554,.104986,3.69454,-.313474,-.0317614,3.70405,-.265171,-.00360553,4.53613,-.337844,-.177137,4.69575,-.355823,-.134815,4.46318,.095877,.265943,3.68652,-.07295,.210005,3.68914,.435895,.169395,3.68884,.275749,.249876,3.68621,.554972,-.118892,4.69265,.477685,.0787595,4.54395,.580345,-.0485595,4.46715,.315892,.114808,4.75889,.10117,.171266,4.60312,.305108,.155042,4.58904,-.092169,.0736564,4.75803,-.108312,.119591,4.58591,.473398,-.0365426,4.92343,.54118,-.170414,4.92451,.488752,-.157904,5.87198,.546005,-.267223,5.76583,.123965,.117352,4.93933,.329596,.0761504,4.93282,-.236158,-.0716626,4.92473,-.086023,.0535894,4.93386,-.167024,-.169709,5.9314,-.255812,-.257259,5.82587,.162341,-.0230457,6.02283,-.027509,-.0798827,6.0068,1.68679,.185947,3.33882,1.80038,.0803216,3.37251,1.37924,.275974,3.32866,1.54164,.252828,3.32599,1.05878,.183038,3.37129,1.2099,.251553,3.34316,1.10178,.0963385,4.3289,1.0459,-.0286535,4.56663,1.00025,.0110025,4.27455,1.4227,.206695,4.37842,1.26398,.119441,4.5967,1.24426,.174276,4.36386,1.73629,.0887315,4.33703,1.58608,.120871,4.60686,1.59807,.17337,4.37037,1.80096,-.0559015,4.58089,1.81378,-.0244995,4.27702,1.7066,.0215224,4.83214,1.79111,-.0715876,4.85144,1.68188,-.0279147,5.64017,1.76319,-.0967157,5.60337,1.42858,.127298,4.81446,1.58285,.0958294,4.8215,1.15105,.0320944,4.81396,1.27293,.100216,4.80996,1.1664,-.0171917,5.61908,1.08394,-.0720317,5.57649,1.42664,.0530353,5.6653,1.28378,.0302263,5.65004,.614928,-1.1103,-.91055,.995851,-1.00214,-1.50229,.554357,-1.04964,-1.30075,.787004,-1.09738,-1.23122,.297198,-1.04198,-.569266,.464042,-1.01773,-.249752,.511288,-1.04997,-.592364,1.73874,.414825,1.25912,1.30087,.563045,1.16995,1.55241,.508055,1.1962,.85662,.638729,1.19587,1.06777,.598659,1.16559,.468573,.646857,1.28573,.657113,.644297,1.24213,.06584,.714631,1.37162,.273118,.671457,1.33119,-.333408,.623246,1.37391,-.143397,.707658,1.3868,-.700584,.47722,1.32838,-.510101,.530913,1.35016,-1.10611,.351242,1.27446,-.906037,.429669,1.30478,-1.48831,.152882,1.20408,-1.29464,.248863,1.23937,-1.85402,-.0807701,1.12106,-1.68748,.0585259,1.16715,-1.46064,-1.16099,.945655,-1.17297,-1.16751,.63808,-1.43955,-1.16145,.67351,-1.84922,-1.1399,1.56035,-1.94312,-1.01077,1.28287,-1.9823,-1.02819,1.49639,-.42627,-.973484,1.31262,-.758839,-1.0489,1.5684,-.197479,-.941342,1.67369,-.484509,-.978738,1.62709,.408007,-.886128,1.73711,.137685,-.901054,1.39406,.100594,-.911225,1.71113,1.03794,-.848471,1.74512,.744276,-.842578,1.46033,.718488,-.859931,1.751,1.36452,-.724322,1.53151,1.34924,-.760174,1.7308,-.406081,-1.04361,.255067,-.722341,-1.16276,.0643789,-.718605,-1.10993,.382504,-.567526,-1.10624,.13426,-.95108,-1.16858,.308049,-.918072,-1.19473,.0655919,-.044542,-.968712,.429155,-.12509,-1.01482,.135023,-.317774,-.991172,.677038,-.227417,-1.00512,.373129,-.861929,-1.0997,.776413,-.925385,-1.13517,.531506,.326359,-.949192,.245126,.51469,-.955781,.160477,.074215,-.997659,.113703,.19659,-.895736,.720239,.150562,-.94453,.407019,-2.05706,-.440491,1.02991,-1.97569,-.253694,1.07247,-2.01714,-.842287,.999662,-2.0745,-.642294,.999572,-1.74074,-1.11176,1.13623,-1.90103,-1.00024,1.05994,-.108671,-.933571,1.03732,-.612569,-1.02232,.962696,-.371802,-.974291,.999244,.481402,-.850979,1.09254,.178739,-.884961,1.06151,1.05227,-.810071,1.25083,.770782,-.840169,1.17296,1.57284,-.530466,1.36771,1.31028,-.711049,1.30943,1.8566,.0314768,1.38917,1.77401,-.254272,1.40299,.461338,-.951265,-1.65427,.208602,-1.05405,-.96728,.345863,-1.02336,-1.3425,.622343,-.83665,-1.78452,.499317,-.891573,-1.77148,-1.63394,-1.20092,1.48679,-1.28737,-1.16456,1.36018,-1.53257,-1.16424,1.23416,-1.72519,-1.19475,1.61726,-1.84179,.0601151,-.547438,-.139796,.951003,-.442572,2.37649,-.579264,3.73854,-1.18406,-.123563,3.39916,-.830954,-.7234,6.54708,-.611888,-.740729,6.11338,-1.5989,-.933784,4.65849,.156255,-.622768,7.11648,.457276,-.668888,6.57487,1.3108,-.376566,6.5597,1.65068,-.567265,6.18338,-1.10571,-.223618,4.63156,-1.10129,-.342249,5.99344,-2.09238,-.610127,3.89963,.556043,.0427126,3.69983,-.316462,-.20037,4.92751,.357726,-.0545887,5.96959,.951578,.0841386,3.4172,1.06935,-.0454556,4.83329,1.56764,.0290473,5.66178,-2.00672,-1.04263,2.8519,1.83635,.254641,1.32895,.005715,-1.03848,-.182678,.060869,-1.04611,-.52584,-.017887,-1.02324,.0362609,-.910591,-1.08597,1.17557,-1.02295,-1.11696,1.48508,-.798424,-1.0599,.970167,.954722,-.778621,-1.77323,1.24524,-.80592,-1.62732,.724556,-.727601,-1.87377,-.725632,-.980774,-1.9525,-1.05561,-.923239,-1.88872,-.420179,-.985952,-1.98279,-1.29824,-.677987,2.96777,-1.30371,-.607955,2.92741,-1.29545,-.759412,3.01025,-.322821,-.0186556,-3.31935],morphTargets:[],normals:[-.734764,-.151219,-.661214,-.812983,-.581225,.034761,-.92822,-.371929,-.002808,-.590808,-.379009,-.71221,-.721152,.057344,-.69039,-.933714,-.355754,-.039766,-.829279,-.558672,.011872,-.975188,.108341,-.192938,-.977325,-.204932,-.053133,-.985412,.147954,-.083987,-.983276,-.147801,-.106235,-.90933,.377544,-.174749,-.837855,.530778,-.127445,.341655,-.938353,-.052095,-.003632,-.991516,.129673,.159825,-.984008,-.078188,-.123447,-.990265,.064211,-.088778,-.98761,.129307,-.237648,-.96585,.103183,.290384,-.956877,.001923,-.923399,-.382244,.034089,-.943358,-.301248,-.138951,-.981109,-.18833,.04416,-.978942,-.198431,.047853,-.859188,-.478957,-.179846,-.911222,-.411389,-.019562,-.683462,-.72457,-.088687,-.406415,-.812281,-.418287,-.622883,-.686361,-.375378,-.389843,-.915067,-.103061,-.713736,-.534165,-.452986,-.497696,-.728782,-.470199,.55739,-.753349,-.348918,.513749,-.787072,-.34135,.563646,-.809534,-.164006,.48909,-.839259,-.237495,.541002,-.840999,-.001862,.593982,-.746391,-.300027,.359996,.905087,-.226234,.252388,.967559,-.010224,.433149,.901212,-.011902,.200964,.962218,-.183538,.482803,.693899,-.534196,.393017,.79931,-.454512,.574053,.775323,-.263192,-.384594,.909452,.157903,-.433149,.888363,.152135,-.483077,.862514,.150578,-.477401,.86578,.149876,-.473556,.868435,.146641,-.368877,.913205,.172948,-.287088,.940764,.180273,-.518662,.8464,.120579,-.529832,.8417,.103946,-.474136,.865688,.160375,-.468398,.869778,.155034,-.271096,.949705,.156682,-.197913,.969268,.146031,-.249611,.952086,.176611,-.194067,.967009,.164983,-.249428,.949156,.192022,-.167089,.970183,.175512,-.089908,.983978,.153905,-.062136,.987945,.141606,-.048341,.987671,.148747,.030152,.98938,.142094,.025513,.999268,.027772,.019379,.987091,.15891,.113987,.9906,.075198,-.064852,.987121,.146031,-.002869,.98764,.156529,-.017701,.990661,.135044,-.102054,.990478,.092166,.054903,.992157,.112064,-.069308,.983184,.168859,.017029,.993378,.113468,-.671285,.740776,.024537,-.741966,.67037,-.006684,-.757012,.653371,0,-.644002,.763695,.044557,-.635517,.769768,.059572,-.769951,.636525,.044649,-.822169,.569201,.001343,-.844783,.534867,.014771,-.910428,.413038,-.022309,-.828028,.560656,-.00238,-.978118,.190069,-.084231,-.910489,.411634,-.03943,-.923734,.362285,-.12421,-.982513,.071169,-.171911,-.989715,.118442,-.08002,-.957396,-.232734,-.170751,.099612,.986084,.13303,.11655,.985321,.124577,.064089,.988006,.140385,.129429,.98703,.094638,.161657,.980346,.112888,.149876,.98178,.116733,-.043245,-.990661,-.129154,.173864,-.934965,-.309183,-.089755,-.969329,-.228767,.225196,-.950316,-.21485,.538316,.841029,.053285,.405347,.912625,.052309,.397717,.911374,.105838,.57622,.814386,-.068392,.183294,.931242,.31489,.374187,.888516,.265481,.116611,.946684,.300211,-.09302,-.976226,.195685,-.062258,-.968902,.239418,-.173711,-.941771,.287881,-.107944,-.945128,.308237,-.066836,-.968383,.240242,.027985,-.976104,.21543,.021729,-.992828,.117496,.367443,.919462,.139775,-.053499,.986175,.156804,.332194,.93646,.112491,-.263985,.955107,.13422,-.296426,.941771,.158574,-.65978,.730735,.175024,.283761,.941527,.181616,.99707,-.035615,-.067568,.985809,.166875,-.017365,.977233,.211921,-.007752,.964782,-.231758,-.124302,.978271,-.175573,-.110233,.770043,-.615375,-.168218,.976226,.214484,-.030244,-.29783,-.945585,-.130924,-.4897,-.868007,-.082034,-.370983,-.922788,-.104007,-.479812,-.868648,-.123112,-.289071,-.946623,-.14243,-.087802,-.982543,-.163945,-.472793,-.876461,-.090884,-.315378,-.940062,-.129673,-.44734,-.88873,-.100131,-.270333,-.955107,-.120975,-.413099,-.908109,-.068209,-.642079,-.766503,-.013184,-.779717,-.624409,.046083,-.637165,-.770623,.009613,-.742821,-.669027,.024232,-.937284,-.319773,.138524,-.776238,-.628834,.044496,-.652211,-.757958,-.008454,-.738701,-.67391,.011017,-.665395,-.745354,-.040681,-.807459,-.589007,.032105,-.694205,-.717307,-.05942,-.350993,.915403,.196966,.255531,.951598,.17069,-.08652,.982452,.165044,.354564,.930387,.092715,-.079562,.959746,.269326,-.035585,.980865,.191351,-.172491,.943144,.284066,.060976,.99234,.107395,.371776,.927427,.040284,.308451,.950804,.028077,.293832,.941618,.164312,.524888,.851131,-.004089,.537889,.841212,.054872,.574602,.818384,-305e-6,.620319,.784295,.006684,-.488418,.833277,.25898,-.516984,.827082,.220557,-.581164,.775903,.245247,-.556658,.804224,.208167,-.408979,.889309,.204443,-.51091,.840938,.178167,-.342692,.900327,.268197,-.679861,.704062,.205115,-.780145,.569689,.25837,-.642506,.730552,.231147,-.698599,.676351,.233375,.145665,-.901914,.406537,.036744,-.938597,.343028,-.050569,-.968657,.243141,.069643,-.946593,.314768,.098056,-.95877,.266671,.203986,-.923063,.325999,.377667,-.845515,.377361,.224403,-.923856,.310007,-.080782,-.927671,.364513,.23957,-.857845,.454573,.012238,-.958922,.283334,.19071,-.948943,.251198,.353832,-.892178,.280648,.430189,-.837458,.337016,-.03531,-.742363,.669027,-.113956,-.941862,.31605,-.483657,-.774773,.407117,.063509,-.890225,.451033,.0065,-.961333,.275277,.136326,-.962645,.233894,.524094,-.800043,.291879,-.967437,.235511,.092593,-.965453,.260506,.003967,-.998199,.02118,.056001,-.993896,.102084,-.041627,-.908567,.417707,.003052,-.931913,.347087,-.105045,-.880764,.456313,.126591,-.733268,.663991,.146336,-.813746,.576769,.071444,-.750237,.658864,.054964,-.531144,.826319,.187078,-.332835,.903531,.269784,-.273263,.887539,.370891,-.166143,.94702,.274819,-.496017,.797845,.34257,.063509,.971129,.229865,.035798,.986602,.159154,.05356,.93466,.351421,.263344,.939879,.217292,.291269,.904721,.3108,.325419,.923765,.201788,.405988,.871548,.274789,-.850703,.519028,.082919,-.522904,.839869,.14539,-.79165,.606525,.073489,-.533586,.836665,.123325,-.977233,.20188,.064943,-.86523,.498672,.051515,-.606861,.792718,.057222,-.847835,.504135,.164281,-.558123,.809961,.180059,-.779687,.602649,.169897,-.609912,.766442,.201331,.996918,-.020753,-.075381,.968261,.245857,-.04471,.966826,-.226325,-.118229,.975555,.209784,-.065218,.953612,.300974,-702e-6,.933653,.184606,.306894,.968871,-.149022,.197577,.993133,-.116733,.00354,.818537,-.481613,.313059,.853084,-.506821,.123783,.770775,-.172094,.613392,-.875942,.216376,.431135,-.581683,.707968,.400464,-.786004,.513016,.34489,-.671316,.364788,.645161,-.827967,.506363,.240852,-.937132,.17954,.299142,-.516221,.837397,.17954,.805231,.592914,-.005097,.597919,.801233,-.022095,.574389,.818049,.028962,.85818,.513138,-.012482,.974456,.223579,.019898,.85345,.521073,-.006165,.573199,.815577,.078829,.765831,.633778,.108493,.573321,.818659,.03235,.903806,.422803,.065706,.614063,.779595,.122868,-.838221,.541704,-.062563,-.704093,.708396,-.049165,-.807245,.589831,-.020508,-.69866,.715384,-.009003,-.961455,.273782,-.024598,-.839595,.543199,.001953,-.708457,.704856,.035035,-.892972,.44969,.018555,-.708762,.704184,-.041414,-.814844,.576708,-.05829,-.7275,.676595,.113529,.349223,.926359,.141026,.703848,.698843,.127201,.345927,.929106,.130741,.609699,.778161,.150639,.911649,.402844,.08124,.710166,.687399,.151921,.377819,.912595,.156072,.630604,.760765,.153508,.397015,.905759,.148106,.723502,.686483,.072329,.4232,.90289,.074953,-.938444,.331736,.096103,-.808039,.578417,.111667,-.911344,.400678,.09415,-.813349,.572558,.103,-.993896,.103488,.03766,-.954466,.288858,.074374,-.832301,.546617,.091769,-.921751,.387371,.016816,-.796319,.597827,.0918,-.90289,.422498,.079073,-.790155,.612354,.025239,.354778,.925321,.133732,.132694,.988678,.069918,.034669,.9888,.145054,.588702,.806818,.049532,.853725,.512406,.092441,.527177,.825648,.200873,.078677,.986236,.145238,.426527,.889889,.161626,.107456,.978851,.174017,.557421,.815577,.155095,.145573,.967742,.205573,-.744835,.65862,.106723,-.532884,.841365,.089938,-.689932,.718375,.088717,-.51619,.85165,.090609,-.907163,.411908,.085818,-.753746,.650807,.090976,-.529191,.842738,.098636,-.764611,.639119,.082858,-.540819,.837428,.078799,-.702048,.706992,.085177,-.572649,.815027,.087954,.838313,.539293,.079836,.600604,.794671,.087771,.797082,.596881,.091311,.588214,.80636,.061251,.974822,.219794,.036988,.860073,.508133,.045045,.637349,.768731,.053163,.817743,.575518,.005707,.663259,.748283,-.011811,.894406,.447188,-.002106,.701956,.711936,.018586,-.92938,.367504,-.033784,-.756798,.653584,-.006439,-.906064,.422956,-.010468,-.749413,.661885,-.015931,-.998169,.058718,-.012818,-.926817,.375103,.015839,-.776605,.628468,.043001,-.939665,.336558,.060945,-.726005,.683554,.075045,-.906339,.422468,.005585,-.736198,.668111,.107669,.646931,.756005,.099368,.466597,.87051,.156316,.44319,.891598,.092532,.707053,.695914,.12537,.893033,.446883,.052309,.66982,.742454,.007752,.43025,.902676,-.004975,.623493,.781396,-.025483,.411664,.910886,.027558,.727439,.682638,.069308,.43849,.885952,.150884,.817255,.561144,.130955,.670675,.735435,.096286,.67101,.73629,.087069,.870968,.479019,.109226,.565142,.81869,.101535,.709799,.633931,.307077,.499954,.862484,.078066,.803461,.005432,.595325,.897,.319285,.305612,.790643,.264992,.551897,.952483,.011078,.304361,.57329,-.056307,.817377,.629749,.287454,.72161,-.877804,.243904,.412244,-.776116,-.243385,.581683,-.654134,-.076632,.752464,-.914731,-.229682,.332377,-.525529,-.37965,.761345,-.690878,-.431501,.580035,-.837825,-.44908,.310373,-.654134,-.559771,.508621,-.50795,-.613819,.604297,-.556749,-.767785,.317026,-.727989,-.61861,.29545,.803583,-.228462,.549577,.898495,-.301248,.319254,.698569,-.600726,.388653,.609119,-.391644,.689596,.297769,.954619,.003082,.081698,.996521,.0159,.040101,.997101,-.064394,.499405,.866329,-.005188,.833796,.54738,.071596,.476577,.876064,.073092,.082308,.996216,.026795,.324564,.942076,.084506,.080782,.994018,.073458,.53856,.831843,.133915,.098666,.978088,.183233,-.863979,.502731,.027833,-.591113,.806574,.002594,-.79751,.603107,-.014771,-.558092,.829585,-.01709,-.980621,.189123,.050844,-.85696,.514786,-.023286,-.5992,.800531,.007111,-.867275,.474715,.149846,-.610309,.784234,.111545,-.807367,.577441,.121006,-.639882,.748405,.174383,-.529557,-.637959,.559038,-.382855,-.457259,.802667,-.625965,-.484054,.611377,-.31959,-.671072,.668935,-.340587,-.819727,.460463,-.61507,-.687368,.386212,-.780877,-.504898,.367748,.143895,-.600909,.786248,.290597,-.775414,.560594,.387829,-.552202,.737968,.570849,-.612262,.547014,.119144,-.356945,.926481,.440382,-.340617,.830653,.722007,-.379833,.578265,-.930113,.363781,.050172,-.699057,.714591,.025636,-.918058,.39613,.014344,-.770501,.61214,.17774,-.990814,.073214,.113559,-.99939,.034364,-.005951,.763665,.644642,.034791,.963652,.266213,.021943,.78695,.613178,.068148,.935118,.354015,-.013367,.999786,-.017518,-.009705,.968444,.248177,-.021546,.7463,.664998,.02765,.931669,.363262,183e-6,.735923,.676199,.033296,.974212,.225501,.006867,.779504,.623585,.058626,-.893826,.444838,.056001,-.697958,.713309,.063356,-.866237,.495956,.060366,-.70278,.707968,.06943,-.980224,.188513,.059877,-.904447,.422101,.061373,-.741539,.666524,.076388,-.898282,.432325,.078372,-.687948,.720847,.083956,-.859584,.506974,.063601,-.708609,.693075,.132206,.060884,.15598,.98587,.239845,-.214545,.946776,.339518,.216681,.915281,.565539,.018921,.824488,.002228,.730338,.683065,.478622,.65389,.585894,.837977,.372326,.398877,.980956,.16892,.095676,.999084,458e-6,.042634,.948088,.310099,.070284,.969481,.23188,.079318,.802423,.567614,.184149,.816065,.567156,.111148,.601032,-.284951,.746666,.934263,-.033692,.3549,.747734,-.082827,.658803,.898373,-.286966,.332499,-.672628,.724784,.149113,-.717368,.678579,.157659,-.822382,.556627,.117466,-.898465,.418744,.131779,-.869655,.480239,.113956,-.730125,.531938,.428846,-.960875,.251137,.116642,-.679525,.047334,.732109,-.923246,.131108,.361064,-.473281,.139225,.869808,-.311899,-.277444,.908689,-.656606,-.215552,.72277,-.926969,-.184057,.326792,-.669668,-.438917,.599048,-.803247,-.520188,.290139,-.449416,-.56093,.695212,-.60387,-.736351,.305094,-.307657,-.726402,.614551,-.366955,-.871487,.325266,-.114505,-.641743,.758293,-.07947,-.915342,.394696,.325144,-.54387,.773583,.49086,-.78402,.379894,.582904,-.481887,.654195,.766503,-.562731,.309458,-.644002,.763298,.050539,-.446059,.891537,.078433,-.620594,.782769,.045534,-.489456,.86639,.098636,-.853725,.519883,.028932,-.709342,.70452,.021302,-.545518,.836634,.048982,-.684194,.728446,.034608,-.453536,.891201,.003327,-.59621,.802118,.033204,-.487594,.871395,.053682,.521134,.852779,.033723,.793542,.608386,.010132,.573443,.816858,.062105,.69689,.717124,-.003388,.961058,.275887,.01532,.76986,.638173,0,.49556,.868191,.024934,.695456,.717429,.039766,.462111,.885037,.056001,.778741,.622791,.075198,.49971,.862117,.083499,.023011,.539293,.841792,.147923,.067415,.986694,.321329,.606983,.726829,.503098,.361217,.785089,.015229,.920927,.389386,.363598,.857906,.362926,.728263,.584887,.357036,.893429,.431867,.123356,.940916,.335551,.045076,.744682,.663564,.07123,.783959,.619739,.03592,.560686,.819453,.118625,.551164,.832728,.0524,.887295,.09595,.451033,.669515,.114078,.73397,.496445,-.134251,.857601,.796838,-.361675,.483932,-.558733,.826472,.068667,-.542405,.835444,.088107,-.69924,.707327,.103488,-.721854,.686026,.090823,-.810846,.578784,.086428,-.700674,.680013,.215888,-.847133,.521012,.104343,-.800806,.244209,.5468,-.582232,.390912,.712851,-.923795,.304483,.232032,-.502426,.005493,.864589,-.777917,-.011811,.628224,-.965148,.052278,.256417,-.796014,-.138279,.589251,-.935301,-.190222,.298318,-.566881,-.299387,.767449,-.72924,-.51735,.447798,.328257,-.446455,.832392,.004425,-.421339,.906857,.044435,-.822291,.567309,.485366,-.726646,.48616,-.362987,-.929411,-.066347,-.637226,-.766839,-.076662,-.420515,-.904904,-.065584,-.565783,-.818873,-.096408,-.831843,-.549547,-.077364,-.633808,-.76751,-.09592,-.361858,-.929472,-.071291,.068422,-.977142,.20127,.15067,-.982025,.113407,.089969,-.991211,.096927,.159551,-.987182,-58e-5,.273141,-.958525,-.080996,.279763,-.957884,.064425,.14893,-.952391,.265999,-.256569,.637684,-.726279,-.451613,.493515,-.743248,-.533921,.838923,-.105472,-.300272,.952879,-.042604,-.072939,.704672,-.705741,-.120487,.992706,-.003662,-.242622,.970031,.010468,-.105472,.994324,.012391,-.446486,.893582,-.046144,-.592395,.385693,-.707297,-.699088,.698447,-.152898,-.626789,.770837,-.113437,-.399213,-.618519,-.676748,-.392346,-.916288,.080325,-.616535,-.78457,.065432,-.222541,-.695029,-.683615,-.633869,-.772729,.032441,-.399426,-.913297,.079562,-.209174,-.973083,.09653,-.161046,-.977233,.137974,.204688,-.977355,.053133,-.024323,-.781945,-.622822,.304758,-.720145,-.623249,.457289,-.889279,.001923,.478957,-.877651,-.016694,.650319,-.758232,.046266,.651601,-.758538,-.003906,.540025,-.549486,-.637501,.428144,-.605853,-.670492,.878689,-.476913,-.020966,.775719,-.092959,-.624165,.995178,-.097537,-.008728,.682669,-.366527,-.63213,.877285,-.479904,824e-6,.994842,-.091739,-.042512,.953093,.30253,.008759,.763878,.22251,-.605762,.952483,.298654,-.059694,.792199,.609546,-.029023,.795709,.604907,.029969,.638173,.444105,-.628864,.318461,.947447,.029237,.498215,.57976,-.644673,.288461,.697928,-.655446,.602405,.79754,.031709,.612751,.790216,.008026,.343333,.938994,.019745,.067721,.997681,.00589,.043977,.998993,.008362,.077364,.720664,-.688925,-.579852,.797876,.164708,-.581927,.812006,.044527,-.8417,.502335,.197851,-.825251,.562822,.04648,-.383984,.921049,.064577,-.394513,.910947,.120487,-.2631,.962279,.06888,-.11951,.99234,.030793,-.233131,.970153,.066256,-.139042,.989471,.039399,-.987854,.143284,.059908,-.980438,.092654,.173589,-.917447,-.395764,-.040193,-.83697,-.547197,-.001404,-.645039,-.764122,.001312,-.387371,-.919523,.066195,-.300882,-.943175,.140782,-.282632,-.959197,-.0065,.532121,-.845698,.040254,.655873,-.752739,.056093,.820582,-.3961,-.411969,.87228,-.487533,-.037172,.991119,-.072359,-.111545,.930662,.058412,-.361095,.898282,.394452,-.193487,.76989,.628864,-.108463,.738365,.646077,-.193304,.937956,.32487,-.121128,.360088,.932798,-.013825,.612293,.789544,-.041169,.569506,.816401,-.095523,.378033,.925748,-.004028,.081301,.996582,.013855,.074679,.997192,-.003174,-.851619,-.302316,-.428114,-.933714,-.045564,-.355083,-.973968,.093966,-.206244,-.938719,.221656,-.263894,-.942869,.007569,-.333018,-.884274,-.263771,-.385266,-.741966,-.492935,-.45436,-.754936,-.512101,-.409589,-.58919,-.707297,-.390515,-.578234,-.695181,-.426984,-.248787,-.95822,-.140934,-.234748,-.904355,-.356334,-.262856,-.820826,-.507065,-.157842,-.899258,-.40788,.452345,.08475,-.887783,.663045,.373394,-.648762,.490158,.501907,-.712577,.550829,-.084841,-.830256,.423109,-.485061,-.765282,.303018,-.397565,-.866054,.443556,-.702963,-.555895,.498398,-.689627,-.525346,.403211,-.861934,-.307321,.474319,-.819025,-.322764,.230384,-.958342,-.168767,.460341,-.74633,-.480667,.550676,.544694,-.632466,.636677,.687735,-.348766,.799646,.451125,-.396252,.342906,.939299,.008728,.455153,.880703,-.130955,.225867,.963652,-.142491,.234413,.972015,.014191,.127384,.989715,.064852,.117344,.99176,.051302,-.134373,.988495,.069155,-.139073,.989227,.045381,-.293435,.950682,.100375,-.281381,.95761,.061525,-.469283,.87524,.116977,-.454024,.886929,.084628,-.673177,.73394,.089969,-.651204,.743248,.153233,-.877163,.458754,.141758,-.835688,.549181,.001007,-.97467,.223365,-.009217,-.910977,.386639,-.143437,-.467269,.86816,.167028,-.317209,.939238,.130955,-.151585,.981719,.114872,-.161779,.976775,.140385,-.319102,.936491,.145421,-.61095,.783227,.115055,-.640675,.75808,.121586,-.754326,.654561,.049867,-.788873,.61446,.007141,.182531,.980651,.070406,.077792,.9906,.112308,.023041,.990387,.136387,.072329,.995514,-.060579,.096652,.995086,.020142,.14066,.98648,.083987,.091861,.98648,.135655,.528092,.563585,-.635182,.612079,.544603,-.573351,.71514,.481704,-.506424,.687368,.543687,-.481552,.833522,.14359,-.533464,.64742,.130985,-.750755,.429151,-.383129,-.817927,.666463,-.345073,-.660817,-.604633,-.742271,-.288766,-.390057,-.902982,-.18009,-.618,-.761986,-.193487,-.398968,-.875027,-.274056,-.131932,-.982818,-.129063,-.1583,-.958678,-.236335,-.386395,-.849818,-.35844,-.17655,-.931944,-.316691,-.813776,-.549303,-.189734,-.926267,-.266274,-.26661,-.794061,-.538499,-.281838,-.967589,.019776,-.251717,-.938871,.287484,-.189245,-.844356,.53386,-.044771,-.872677,.479202,-.093448,-.481368,.863124,.152562,-.372509,.912931,.166662,-.301859,.938322,.168584,-.363628,.914457,.177526,-.294565,.936064,.192206,-.469192,.869228,.155736,-.4532,.878872,.148778,-.457961,.875454,.154393,-.465926,.8717,.151646,-.482376,.865932,.132115,-.290445,.94348,.159459,-.205542,.968993,.136967,-.325175,.925748,.192877,-.267556,.952696,.143956,.050478,.988189,.144505,-.04944,.990051,.131504,.07593,.987396,.138829,-.029054,.993255,.112033,.149113,.984283,.094272,.106143,.986969,.120701,.123966,.985015,.119785,.072268,.985626,.152593,-.625385,.77337,.103671,-.623188,.773675,.114109,-.76104,.644917,.069918,-.770928,.633045,.069704,-.852077,.521775,.040559,-.846217,.53206,.027558,-.951994,.306009,.004517,-.935728,.351787,-.025239,-.640706,.765496,.058779,-.7369,.675771,.016083,-.938902,-.321512,-.122593,-.996277,.038026,-.077181,-.997497,-.044832,-.054231,-.909574,-.405835,-.088961,-.595355,-.796625,-.104404,-.782556,-.608478,-.131687,-.728416,-.679312,-.088839,-.538438,-.841029,-.051881,-.260933,.947722,.183569,-.156438,.972381,.173132,.086245,.984954,.149693,.089267,.984161,.153111,.396161,.917997,-.017792,.490005,.871578,.015503,.448622,.893674,-.003571,.501297,.849055,.166509,.571337,.818323,-.062197,.603137,.795556,-.057405,.299417,.948607,.102237,.546068,.79339,.268868,.237678,.941435,.239143,.561541,.805017,.191198,.799432,.568529,-.194067,.780541,.57152,-.25309,.853877,.388318,-.346477,.902524,.339976,-.26429,.829249,-.357128,-.429823,.928617,.097964,-.357799,.878109,-.370373,-.302805,.962249,.04413,-.268532,.363842,-.865444,-.344371,.434004,-.63628,-.637776,.616962,-.66039,-.427992,.215949,-.841578,-.495041,.419324,-.880703,-.220222,.668722,-.687307,-.283547,.543657,.743431,.389477,.256996,.914029,.313822,-.059633,.824793,.562273,-.317759,.850246,.419568,-.700095,.107791,-.705832,-.640217,.678793,.359569,.880001,-.223518,-.419019,-.672262,.467605,-.573901,-.773888,.542497,.326701,-.926145,.377056,.003449,-.939512,.205145,.274209,.536668,-.442793,-.718253,.246681,.031495,-.968566,-.732994,.548082,.402844,-.888974,.069033,.452681,-.540178,.671346,.507401,-.703818,.541856,.459334,-.551164,.68511,.476211,-.823573,.014801,.566973,-.203162,.900113,.385327,-.140324,.904355,.402966,.465224,.882962,.06241,.594836,.80166,-.05884,.765648,.60509,-.218177,.778497,.588092,-.219214,.893094,.311136,-.324839,.896054,.286233,-.339305,.795984,.591632,.127812,.991577,.102145,.079531,.831172,.555956,.001892,.995605,.012085,.092563,.871914,-.450758,-.191168,.648061,-.758202,.071444,.830714,-.538835,-.139714,.543626,-.821955,.169744,.632832,.766167,.111667,.849025,.526353,.045534,.986175,-.018921,.164525,.860561,.487136,.148686,.986358,-.037324,.160192,.582507,.787347,.201819,.878231,-.478133,.007294,.854701,-.514939,-.065401,.655019,-.740471,-.150487,.653188,-.698538,-.292154,.0889,.976287,.197302,.092563,.979644,.178045,.080538,.960662,.265694,.20127,.973083,.111972,.132725,.980621,.143864,.214301,.965758,.146184,.405133,.910154,.086184,.277291,.932737,.230384,-.064974,.944426,.322153,-.095584,.936308,.33784,.08414,.932432,.351329,-.017579,.883969,.467177,.140446,.98117,.132511,.17365,.968078,.180609,.173559,.946135,.273263,.14304,.965545,.217322,.138218,.938475,.316416,.163976,.980773,.105502,.119205,.894345,.431196,.164129,.867275,.469955,.040712,.805017,.591845,.305002,.812037,.497482,.087924,.964293,.249763,.18012,.957121,.226814,.028748,.975585,.217597,.011139,.982665,.184881,.142735,.9794,.142735,.330576,.892666,.306314,.480178,.823481,.302072,-.356517,.913999,.193609,-.5215,.797204,.304025,-.563646,.737083,.372753,-.4232,.771874,.47441,-.372143,.847438,.378582,-.364635,.898618,.243904,-.286172,.932524,.22013,-.402112,.895413,.191046,-.303934,.933439,.190405,-.436689,.876339,.203192,-.132237,.90759,.398419,-.228828,.94702,.225288,-.032502,.852748,.521287,-.021302,.921903,.386792,-.182531,.940733,.285806,-.237922,.953429,.185339,-.273812,.9476,.164464,-.234901,.959838,.153264,-.337107,.923429,.183325,-.246345,.953856,.171545,-.326731,.930723,.16419,-.25779,.938932,.227851,-.187964,.937986,.291269,-.327189,.932401,.153325,-.445174,.878658,.17246,-.295846,.938658,.177007,-.427625,.889126,.162969,-.67214,.664235,.327067,-.563982,.779626,.272164,-.776574,.521409,.353587,-.393872,.766594,.507065,-.41142,.794397,.446791,-.419599,.840877,.341807,-.497024,.846278,.191626,-.430342,.880032,.20072,-.491348,.85873,.14536,-.449934,.87936,.155766,-.327799,.905362,.269906,-.256691,.933531,.25013,-.165136,.910489,.37904,-.492172,.864071,.105411,.058992,.918241,.391552,-.001709,.964873,.262703,-.622425,.782373,.020936,-.506027,.853755,.122501,-.698325,.715171,.02942,-.444197,.885556,.135838,-.728568,.684317,-.029572,-.511002,.849178,.133122,-.250649,.941649,.224647,-.811762,.577715,-.084964,-.948882,.278298,-.148778,-.856075,.514328,-.050691,-.963805,.252022,-.086673,.942656,.302469,.140996,.845607,.531388,.050417,.981231,.186804,.047456,.745994,.651845,.136082,.991577,-.103519,.077639,.986297,-.164861,.004791,.985382,.16245,-.050722,.980956,-.17835,-.076876,.904782,.424024,-.039155,.880612,-.473556,-.015564,.870937,-.487503,-.061525,.675253,-.733116,-.080721,.659719,-.747765,-.074587,.860347,-.503098,-.081515,.626118,-.779687,.005799,.922544,.329844,.200232,.649434,.692068,.314951,.917875,.3596,.16776,.626789,.705344,.331004,.994781,-.091769,-.043947,.998321,-.054109,-.019532,.685934,-.712882,-.145817,.892666,-.435499,-.116001,.885006,-.427869,-.183447,.696463,-.695578,-.176305,.068728,.97702,.201727,.294656,.940825,.167272,.354808,.901028,.249458,.108737,.96585,.235054,-.085604,-.995544,-.039216,-.358806,-.930052,-.078768,-.320627,-.947172,-.006714,-.076083,-.99646,.035646,-.046785,-.996704,.066164,-.272927,-.961974,.00943,-.47853,-.876309,-.055086,-.202887,-.979186,-.001648,.001862,-.997314,.072878,-.680654,-.727866,-.082797,-.87756,-.475112,-.064241,-.988861,-.145756,-.029695,-.993988,-.107089,-.022279,-.963866,.265358,.022614,-.969268,.243843,.032441,-.864589,.499557,.053652,-.761162,.644581,.071596,-.873897,.482253,.060701,-.763482,.640217,.084658,-.583117,.799005,.146611,-.605426,.786767,.120121,-.46556,.869259,.166112,-.464339,.864864,.19068,-.478317,.859706,.179083,-.460402,.875088,.149052,-.451552,.879513,.149968,-.445204,.877346,.178869,-.306345,.927641,.213569,-.269936,.939695,.209876,-.345653,.921537,.176855,-.246895,.942228,.226234,-.3502,.912931,.209479,-.34199,.919645,.192999,-.330363,.918027,.219214,-.39436,.900784,.181738,.110172,.986206,.123386,-.074648,.988433,.13184,.123356,.986328,.109104,-.150761,.977935,.144475,.136509,.981872,.131382,.085025,.984741,.151677,.104953,.983184,.149419,.071261,.984039,.162908,.094882,.983642,.15302,.083956,.983795,.15833,.050905,.989349,.136204,.070559,.985595,.153661,.014985,.983947,.177709,.043519,.984924,.167302,-.121403,-.9888,-.086459,-.139775,-.950285,-.278115,.105411,-.990417,-.088961,.10538,-.991516,-.075747,.170721,-.983398,-.060976,.076418,-.982025,-.17246,.170598,-.980621,-.095981,.220679,-.975341,-.002747,.219214,-.97528,-.027284,.108219,-.994049,-.009827,.253395,-.966002,.050905,.162572,-.981658,.099429,.20542,-.97351,.100192,.182592,-.982299,.041231,.197363,-.978545,.058901,.227912,-.97,.084506,.081362,-.994263,-.069002,.113834,-.993286,.018983,.145573,-.987701,.056642,.006531,-.960601,-.27781,.027955,-.986511,-.161107,.162542,-.970672,-.177068,-.055849,-.968322,-.243324,-.188971,-.97528,.114414,-.092624,-.995666,-.007691,-.131138,-.985229,.109897,-.013245,-.999847,-.010468,-.155339,-.979278,.129917,-.140355,-.975463,.1695,-.095584,-.988433,.117527,-.115452,-.96646,.229255,.014893,-.999847,.005585,-.077731,-.970824,.226783,-.025971,-.952086,.304636,.063936,-.917692,.392071,-.091952,-.93057,.354289,-.086886,-.88052,.465926,-.08887,-.983184,.15949,-.146062,-.951415,.271004,.015229,-.997925,.062349,-.192206,-.907285,.373913,-.270547,-.820002,.504349,-.247902,-.889889,.382885,-.433119,-.763634,.478774,.039979,-.978545,-.202033,.1442,-.970214,-.194586,.197333,-.972503,-.123569,.182531,-.982086,-.046541,.166784,-.984802,.04828,.407208,-.901639,-.145573,.384808,-.921995,-.042451,.665548,-.712729,-.221412,.634724,-.757195,-.154057,.880001,-.393567,-.265786,.85345,-.454573,-.25483,.954833,-.007202,-.297006,.938719,-.093295,-.331797,.005554,-.810236,.586047,-.48204,-.628864,.610004,-.767815,-.464248,.44145,-.41789,-.803064,.424757,-.694143,-.566881,.443617,-.611011,-.644032,.46028,-.38319,-.847224,.36787,.205512,-.88876,.40965,.35197,-.920255,.170843,.474013,-.878353,-.061617,.507584,-.841182,-.186377,.324412,-.94586,.008576,.576586,-.806024,-.133457,.223487,-.974639,.011292,.502029,-.856563,-.119114,.811274,-.524003,-.259194,.769982,-.59386,-.233283,.946348,-.216285,-.239967,.921354,.267281,-.282174,.964507,.226875,-.134892,.929746,-.16126,-.330943,.765893,.627186,-.141484,.75042,.659444,.044588,.14478,-.979522,.139714,.022004,-.9906,.13477,-.217048,-.909116,.35548,-.212409,-.933775,.287942,.984313,.171758,.039796,.734153,.651204,.192083,.990936,.122013,.055666,.746147,.635609,.198096,.303842,.898434,.316965,.260475,.906735,.331614,.757012,-.643208,-.114933,.964232,-.260567,-.048036,.742698,-.663045,-.093509,.958983,-.281381,-.033692,.130406,-.991424,.006775,.420148,-.903806,-.081179,.065371,-.996734,-.047151,.354686,-.929807,-.098117,-.076296,-.993378,.085726,-.186041,-.970031,.156224,-.270333,-.961119,.055971,-.125706,-.992004,.008484,-.315439,-.923643,.217505,-.49501,-.824091,.275307,-.400647,-.911008,.097568,-.607471,-.775353,.172582,-.715079,-.591357,.372723,-.860927,-.02823,.50792,-.804285,-.536241,.255928,-.922819,-.120396,.365886,-.558977,.67748,.478011,-.730247,.598071,.330119,-.600146,.732597,.321024,-.795892,.563555,.221137,-.187567,.861812,.471206,-.300821,.846706,.438826,.767541,.6198,.163335,.234352,.92645,.294443,.991424,.128971,.020753,.776818,.619465,.112918,-.65038,.728996,.213324,-.344462,.89526,.282479,.725578,-.670156,-.156224,.957183,-.270577,-.102573,-.023896,-.991516,-.127537,.303842,-.938414,-.164464,.307779,-.933927,-.181677,-.204199,-.976287,-.071688,-.344554,-.938658,-.013367,-.478713,-.876736,.045869,-.639699,-.762749,.094668,-.525101,-.850765,-.021149,-.962371,-.180914,.202643,-.810999,-.572527,.120273,-.889584,.379162,.254616,-.939146,.259987,.224433,.770653,.634419,.059511,.777245,.624104,.079745,-.554918,-.830439,-.049318,-.583331,-.81106,-.043489,-.592761,-.801477,-.078768,-.593921,-.797174,-.10828,-.974303,-.198675,.105838,-.964538,.205023,.166173,-.773095,.617603,.144383,-.96585,.230171,.118809,-.792627,.600482,.105472,-.989471,-.115665,.086642,-.851711,-.523911,-.006684,-.895566,-.444746,.011414,-.753288,-.655629,-.051515,-.717917,-.692526,-.070406,-.38908,.914579,.11008,.209052,.97174,.109531,-.366222,.928404,.062624,.234718,.97116,.041169,-.14011,.975585,.169073,.122379,.97943,.160222,-.112003,.967711,.225715,.189367,.958525,.212897,-.329417,.926389,.182348,-.229102,.944945,.233589,.38493,.919187,.08298,.581256,.813379,.022217,.44969,.886135,.11182,.618275,.785943,.003052,-.577044,.779382,.244026,-.296365,.802332,.518052,-.679647,.612659,.403363,-.285684,.89462,.343516,.545824,.683187,.485061,.086947,.658925,.747124,.059694,.766808,.639058,.782617,.482284,.393506,.617542,.724967,.305032,.72808,.651418,.213294,.482498,.845973,.226844,.447127,.854518,.264229,-.7846,.589984,.190466,-.564867,.789239,.240822,-.650044,.712638,.263771,-.57741,.798517,.170019,-.612445,.678518,.40556,-.765923,.522752,.374248,-.053682,.825861,.561266,-.027375,.819941,.571764,.272988,.866237,.418409,.561632,.747826,.353923,-.290353,.909268,.298166,-.041169,.942747,.330882,.190832,.926176,.325205,-.222053,.935697,.274056,-.419782,.874966,.241157,-.450026,.845149,.288339,-.536851,.815882,.214728,-.56972,.780786,.256447,-.694998,.69863,.169744,-.718711,.661641,.213599,-.860317,.495315,.120212,-.849208,.498398,.174352,-.968841,.187078,.162267,-.868526,.437452,.232856,-.493484,.686361,.534135,-.747368,.367077,.553758,.368938,.887539,.275887,.285806,.830042,.478835,.367168,.784906,.4991,.73516,.660604,.151891,.352397,.914029,.200781,-.005432,.975921,.217963,-.143254,.975036,.169622,-.345347,.917997,.194861,.606311,.79339,.053682,.700186,.71392,-.003388,.75869,.650838,-.02768,.76635,.64153,-.033082,.907926,.410474,-.084323,.783654,.620045,-.03766,.914731,.397992,-.069277,.985412,.134251,-.104465,.972137,-.215796,-.091311,.995819,.071596,-.056337,.960234,-.277078,-.033601,.759423,-.65038,.015168,.553789,-.826746,.098758,.819025,-.572954,-.029786,.448408,-.887204,.108493,.185614,-.963286,.193884,.272164,-.92935,.249397,.32487,-.936796,.129826,.403119,-.911313,-.08359,.377819,-.92584,.003479,.152348,-.987426,-.04178,.139592,-.983734,.112796,.278634,-.930387,.238075,.312693,-.915403,.253395,.162328,-.961791,.220313,.189459,-.960723,.202704,.168798,-.976165,.136265,.15894,-.955901,.246834,.104831,-.987182,.120243,.088015,-.994934,-.048341,.120457,-.989196,.083468,.102573,-.992645,-.064211,-.004089,-.966735,.255715,.011017,-.973662,.227668,.078158,-.985046,.153356,.116306,-.992218,.044008,.196936,-.978301,.063875,.178228,-.980224,-.085849,.091494,-.993194,-.071993,.213233,-.959807,.182318,.200354,-.979217,.031434,.216773,-.968108,-.125431,.084841,-.994903,.053987,.198248,-.975799,-.092105,427e-6,-.987518,.157445,.224189,-.94998,.217383,-.028138,-.984436,.173345,-.04062,-.983856,.174139,.225349,-.950957,.211768,-.093661,-.972991,.210852,.044313,-.987274,.152562,.168249,-.985595,-.016999,.037416,-.977142,.209204,.050203,-.998718,-.003327,-.174841,-.963347,.203375,-.286355,-.936796,.200873,-.165807,-.984741,.052675,-.016053,-.96353,.267067,.088656,-.989837,.110904,-.275246,-.945555,.17365,-.093966,-.993683,-.061129,.271279,-.962432,.01117,-.117679,-.978515,.169225,-.165044,-.985198,.046236,-.370952,-.923124,.100864,-.440138,-.897916,-.00351,-.505814,-.859249,-.076174,-.519822,-.853816,.027406,-.575701,-.811274,.101779,-.817499,-.575182,.02823,-.846034,-.530442,.05298,-.817255,-.573473,-.056368,-.867458,-.495865,-.040132,-.685293,-.723319,-.084506,-.635853,-.771508,.020173,-.892148,-.426527,-.148625,-.997772,.044282,.049501,-.953307,.28843,.089236,-.84228,.525163,.121342,-.933897,.355998,.032075,-.777673,.623951,.076846,-.996399,.084292,-.005371,-.893918,.447859,.016724,-.991119,.132756,427e-6,-.989319,.142766,.028474,-.904355,.426374,.018067,-.712882,.700095,.040651,-.671285,.741081,.011689,-.97702,-.209296,.040193,-.970275,-.24015,.029023,-.971496,-.234626,-.033418,-.978484,-.206244,-.005066,-.82992,-.557817,-.004761,-.979339,-.196661,.046541,-.824854,-.558733,.08594,-.983245,-.057772,-.172735,-.983154,-.173467,-.057466,-.504349,.854732,.122532,-.634419,.755364,.163915,-.983367,-.04593,-.175634,-.905667,-.377483,-.192969,-.904843,-.397839,-.151433,-.991699,-.068819,-.108463,-.384198,.920621,.069491,.043611,.992859,.110996,-.284585,.958281,.025849,.159307,.986145,.045717,.846217,.531693,.034547,.595447,.803308,.009491,.89819,.438887,-.023713,.526994,.844997,.090487,-.868526,.489395,.078219,-.664602,.738945,.110538,-.504013,.855586,.117954,-.666311,.741447,.079012,-.471084,.879208,.0712,-.863979,.495682,.088412,-.349986,.925321,.145756,-.077609,.974517,.210395,-.240364,.965972,.09537,.109806,.982665,.149205,-.979827,-.179724,.0871,-.998627,.045717,.0253,-.988769,.132176,.069674,-.992981,-.118107,-.00351,.798425,.557756,.22663,.600238,.781274,.171209,.930265,.345225,.124088,.410901,.878658,.24308,-.292306,.929106,.226386,.001648,.969848,.243599,-.299173,.906095,.299081,.016663,.947447,.319468,.266121,.934721,.23545,.278573,.918119,.281777,-.314798,.93701,.15128,-.619709,.772454,.138676,-.011658,.987579,.15656,-.043428,.995209,.087252,-.368389,.923551,.106326,-.675558,.727378,.120365,.273843,.958373,.080599,.549272,.831813,.079592,.270333,.949095,.161504,.512986,.842586,.163823,-.874935,.467513,.125919,-.95761,.236579,.164251,-.899899,.428816,.079043,-.981719,.190313,-.001587,.926603,.351665,.133122,.798944,.595233,.085543,.952696,.293466,.07886,.756523,.636433,.150273,.391217,.515885,.762078,-.33903,.424879,.839351,-.438734,.193762,.877468,.767876,-.640553,-.005463,.981903,.102145,-.159368,.925474,.114994,.360881,-.927122,.17774,.329844,-.999329,-.032899,-.014557,-.799982,-.07004,.595904,-.941191,-.327647,.082156,.883358,.210181,.418897,.676534,-.089633,.730918,.99826,.015259,.056673,.994446,-.105045,.004395,-.674306,.382092,.631886,.119816,.42674,.89639,-.681021,.331034,.653127,.353771,.660909,.661794,.866787,.43141,.250038,.871426,.117405,.476241,.976897,.207373,.051515,.997772,-.036683,.055391,.993255,.114322,-.017731,.995239,-.096622,-.011689,.792627,.398511,.461379,.027436,.576861,.81637,-.794977,.404859,.451704,-.09769,.481063,.871181,-.848292,.151189,.507431,.661184,.361095,.657582,-.739799,.663747,.109928,-.927854,.366649,.067965,-.435224,.892148,.120823,-.50145,.855617,.128208,-.771538,.625507,.115909,-.940153,.331858,.076907,-.985198,.15595,.070803,-.992584,.113163,.044221,-.989288,-.113376,.091769,-.97766,-.204443,.04828,.465926,.848201,.251839,.311136,.890378,.332194,-.175604,.979064,.102664,.075686,.993164,.088778,.038057,.996673,.07181,-.231239,.967162,.105167,.289682,.956053,.044557,.546403,.837397,.013611,.307413,.949858,.056703,.542528,.839473,.030396,.787591,.615802,.020936,.939817,.341594,-.005341,.762993,.646321,-.008972,.961028,.275552,.021455,.99884,-.041292,.023499,.941496,-.336833,.01001,.999969,0,.007172,.923978,-.381603,.024659,.706778,-.70687,.027528,.38731,-.921567,.025361,.687735,-.725822,.013001,.390637,-.920469,-.010712,.127934,-.991699,.011078,-.197913,-.975494,.095981,.093295,-.995605,-.005219,-.279031,-.95938,.041078,.390027,-.378338,.839473,-.264382,-.708304,.6545,.643818,-.22776,.730461,.362285,-.887173,.285684,.148076,-.964049,.220588,.528367,-.835566,.150365,.198737,-.976684,.080844,.768578,-.594256,.236885,.561113,-.673238,.481521,.934751,-.309336,.174596,.934812,.085452,.344676,.98941,-.120426,.080874,.82342,-.054537,.564776,-.023164,-.978668,.204077,-.347056,-.888913,.298868,-.065249,-.994018,.087527,-.463881,-.877132,.124027,.377148,-.636952,.672292,.267251,-.669332,.693197,-.169622,-.507309,.844874,-.800562,-.576891,.161962,-.550432,-.535874,.640156,-.083438,-.987701,.132206,.242714,-.960936,.132847,-.125706,-.990631,.053255,.268654,-.96176,.053102,.613239,-.764702,.197729,.670095,-.739341,.065615,.72924,-.438826,.524949,.924802,-.376263,.055757,-.764794,-.599384,.236152,-.427808,-.887326,.172063,-.788629,-.60744,.095004,-.501633,-.860988,.083773,.775109,-.352794,.524094,-.158635,-.243751,.956755,-.797296,-.174627,.577715,.338389,-.940855,.015015,.726157,-.686819,.031037,-.078463,-.996673,.021302,-.089236,-.990051,.108768,.326212,-.942076,.0777,.71511,-.695822,.066408,.941893,-.334025,.034852,.921751,-.386853,.026582,-.180029,.980865,.073824,-.505997,.861049,.050172,-.520951,.85342,.014252,-.171514,.984619,.033204,-.488968,.87225,.00647,-.146031,.985443,.086886,.226661,.971618,.067324,.243965,.969756,.002777,.220771,.967925,.119724,.223792,.966369,.126469,-.126682,.980255,.151677,.203253,.951903,.229163,-.112705,.968078,.223731,-.439894,.879727,.180334,-.462722,.881771,.091098,-.344737,.933622,.09714,.033998,.992553,.116703,.00586,.993133,.116703,-.35316,.930448,.097476,-.034059,.992676,.115787,-.379009,.920408,.095523,-.634083,.766839,.099246,-.6451,.75869,.090487,-.632984,.766228,.110385,.059053,.984588,.164586,.057924,.988769,.1377,-.256386,.957701,.130589,-.317148,.937376,.143742,-.62392,.774743,.102054,-.58208,.811426,.052431,-.229469,.969451,.086337,-.209174,.964202,.162816,-.213202,.969024,.124393,-.253609,.943785,.211921,-.239051,.961119,.138035,-.0047,.998779,.048708,.291543,.955382,.04709,-.012635,.998291,.057009,.340983,.93762,.067446,.378735,.924894,.033204,-.001007,.999176,.039949,-.298471,.951781,.070742,-.28193,.955718,.084292,-.30958,.946654,.089206,-.333537,.94055,.064058,-.016327,.999481,.026826,-.352428,.932585,.077761,-.009186,.994781,.101413,.376904,.923307,.073641,.388653,.921354,.001923,.766839,.640584,.039216,.762169,.646565,.031892,.974273,.205023,-.093204,.745048,.666982,-885e-6,.96823,.22953,-.099002,.729972,.68337,-.009552,.699271,-.680502,-.218787,.952391,-.25425,-.168157,.727958,-.654622,-.203772,.960448,-.224311,-.164892,.303415,-.930479,-.205176,-.061159,-.984222,-.16596,.286416,-.930845,-.226875,-.061464,-.980163,-.188238,-.993805,-.024506,.108249,-.952269,.281716,.117374,-.761254,.635639,.128025,-.915769,.363811,.170141,-.68923,.700827,.183721,-.985443,.046663,.163305,-.954192,-.245979,.170171,-.939573,-.33256,.081118,-.840541,-.51735,.160619,-.805506,-.591662,.032533,-.484115,-.864071,-.137791,-.608905,-.786309,-.104434,-.623646,-.776696,-.088015,-.493606,-.863094,-.106754,-.654103,-.745201,.129643,-.638264,-.769707,-.011872,-.461837,-.886471,-.028993,-.442885,-.89172,.092898,-.29722,-.940825,-.162694,-.297922,-.94528,-.132786,-.23957,-.968871,.062075,-.030488,-.996521,-.077273,.026673,-.999146,.031098,-.267342,-.962554,-.044496,.432661,-.901364,-.017701,.774194,-.612568,-.159215,.829066,-.556627,-.052461,.368145,-.921232,-.125553,.978912,-.16541,-.119633,.993622,-.108432,-.030244,.961394,.267983,-.061983,.955596,.294015,.018921,.720817,.692343,.032167,.712027,.698752,.068911,.27546,.949004,.153172,.265938,.95938,.093814,-.314737,.940916,.124729,-.230049,.952727,.198309,.291147,.9523,.091281,.71276,.701193,.015473,.947447,.319681,-.011414,.717978,.694876,.039918,.307962,.948027,.079836,.864101,-.49971,.059938,.998169,-.059023,.01059,-.56505,.798761,.206488,-.12241,.979827,.157903,-.11594,.984619,.13068,-.960997,.136113,.240638,-.863033,.45439,.220618,-.840114,-.473891,.263771,-.94882,-.182257,.25782,-.927244,-.136174,.348766,-.823176,-.424574,.376904,-.658589,-.709952,.249428,-.441267,-.870144,.219214,-.645894,-.660024,.383618,-.417798,-.831568,.365917,-.199072,-.961699,.188238,-.162694,-.931486,.325266,.098758,-.982849,.155705,.160131,-.946989,.27842,.496231,-.860866,.112369,.540391,-.811823,.221076,.725608,.512955,.458602,.067263,.348155,.934996,.503464,.103275,.857784,.24955,.826899,.503891,-.361156,.416089,.834498,-.224158,.855068,.467513,-.704978,-.052583,.707266,-.882077,-.116001,.456557,-.696036,-.345592,.629322,-.778375,-.41261,.473128,-.521836,-.443373,.728751,-.399518,-.74926,.528123,-.318949,-.568834,.758049,-.603504,-.611591,.511551,-.154576,-.863155,.480667,-.083468,-.690085,.718894,.207007,-.778985,.591845,.199408,-.892819,.403821,.481368,-.570452,.665426,.56386,-.741111,.36436,-.159398,-.174383,.971679,.19483,-.357982,.913144,-.989929,.134587,.043245,-.887509,.46028,.020692,-.646046,.762963,.021271,-.971465,-.226814,.069002,-.798242,-.591113,.115452,-.967986,-.247017,.044221,-.778069,-.626728,.042146,-.972991,-.226539,.043733,-.808863,-.58797,-.002655,-.981048,.163884,.10303,-.978912,-.20011,.040468,-.983734,.167455,.064669,-.827113,-.561754,.015687,-.860958,.486129,.149541,-.635029,.758263,.147435,-.875576,.475295,.086032,-.638905,.759636,.121311,-.657643,-.684317,.31492,-.732475,-.675893,.081057,.979034,.198828,.043886,.994263,-.098788,.040925,.917051,-.398206,.020508,.995911,-.082125,.036897,.918882,-.392315,.041627,.69454,-.719413,-.00293,.37788,-.92581,-.00586,.682943,-.729331,.040223,.343822,-.938108,.040956,.976867,-.21363,-.007569,.99707,.076388,.001495,.874905,-.484146,.009278,.866115,-.499771,.006836,.976257,-.216437,.006317,.993439,.109439,.032289,.660939,-.74984,.029359,.329051,-.943419,.040803,.292886,-.955687,.029298,.630177,-.776269,.015412,.053011,-.998505,.0112,-.318796,-.946867,.04181,-.012146,-.997925,.062777,-.361705,-.927152,.097446,-.409314,-.910031,.06531,-.061556,-.996948,.047487,-.490951,-.869259,.057527,-.10123,-.994079,.038911,-.96765,-.24189,.071505,-.729698,-.680166,.069704,-.955901,-.272744,.10886,-.729698,-.674703,.110904,-.736381,-.670797,.087985,-.941923,-.322581,.093142,-.794855,-.601306,.08121,-.957091,-.273904,.094241,-.929411,.357219,.092349,-.990814,.112552,.074892,-.992279,.082736,.092166,-.995849,.019684,.088717,-.9335,.341441,.109287,-.990722,.076296,.112247,-.905179,.401685,.138768,-.998657,-.03061,.041505,-.976623,.206122,.060854,-.853053,.514908,.084323,-.97882,-.203192,-.024018,-.983215,-.179754,.030335,-.986572,-.162481,.015992,-.947569,-.318094,.029328,-.93585,-.351085,.02942,-.959136,-.282693,.010498,-.958892,-.278909,.05179,-.998413,.055971,.001404,-.973083,-.230201,.009156,-.996094,.055269,.068514,-.891049,-.452803,.031495,-.843104,-.536515,.036256,-.929197,.369274,.013398,-.787194,.615741,.03357,-.920133,.380627,.0918,-.780541,.613147,.121494,-.886105,-.461684,.040254,-.853389,-.518143,.056581,-.759056,-.649098,.049379,-.70922,-.699911,.084323,-.921537,-.384381,.054598,-.489914,-.870022,.054964,-.439772,-.893094,.094638,-.109622,-.992462,.054537,-.101474,-.990844,.088839,-.653371,-.753258,.075106,-.785058,-.617176,.052278,-.717399,-.695578,.038301,-.564867,-.823267,.05591,-.419568,-.900815,.111545,-.366161,-.928678,.058779,-.115848,-.984375,.132481,-.099857,-.993347,.057161,-.924497,-.373547,-.075564,-.993316,-.093448,-.067476,-.967956,.248512,-.035463,-.994049,-.107486,-.016083,-.916166,-.400006,-.024018,-.777459,-.626942,-.049654,-.761589,-.647816,-.016449,-.482559,-.87582,-.002869,-.477462,-.878414,-.019135,-.890805,-.452101,.045076,-.737175,-.673971,.047975,-.871639,-.486587,.058901,-.708152,-.704672,.043764,-.466048,-.883908,.038209,-.477035,-.877468,.049593,-.961058,-.266488,.073,-.97766,-.205817,.042238,-.991821,.104678,.072939,-.993744,.048219,.100711,.221747,-.975066,-.005524,-.104801,-.994263,-.019807,-.123112,-.99237,.006226,.236457,-.971374,.022431,.216407,-.975036,.049074,-.14008,-.988952,.048219,-.164739,-.985626,.036927,.181097,-.983032,.02884,.551775,-.833522,.026978,.550645,-.833369,.04767,.800958,-.597705,.034394,.768364,-.638142,.048585,.51326,-.856929,.046937,.710929,-.701987,.042146,.483993,-.874599,.027436,.710013,-.702719,.045106,.936857,-.346721,.045228,.898251,-.438398,.029847,.987304,-.151585,.046846,.971557,-.235603,.022553,.857112,-.512467,.051668,.85934,-.505997,.074099,.951598,-.299173,.070132,.938536,-.333354,.089419,.993286,.087497,.075594,.969359,.242805,.036409,.998535,.032136,.043336,.999298,-.023499,.029145,.992248,-.092654,.08243,.994476,.069704,.078433,.978515,-.186254,.08826,.995148,-.011628,.097446,.966826,.172735,.188025,.275369,-.960234,.045442,.244392,-.967406,.066073,.645527,-.763695,.004486,.59386,-.802759,.053652,.207312,-.967834,.142399,.201331,-.977294,.065584,.523118,-.848445,.080294,.546983,-.825983,.13599,.873714,-.485275,.033021,.898526,-.437391,-.036195,.983276,-.181249,.016724,.985748,-.163335,-.039705,.965453,-.244179,.090793,.83224,-.53914,.129185,.790796,-.606586,.081576,.921628,-.379528,.080874,.949004,.3137,.030366,.999146,.032197,-.025758,.998566,.046602,.025697,.959532,.277963,.044618,.998627,-.01471,.049745,.987579,-.126164,.093387,.976135,.187841,.108829,-.492843,-.861843,.11948,-.492111,-.858913,.141575,-.476028,-.878536,.039338,-.1077,-.984649,.137272,-.07947,-.996124,.037172,-.51033,-.85931,-.032991,-.553087,-.833064,-.004608,-.127476,-.98938,-.069674,-.193884,-.980804,-.01941,.317362,-.936094,.151433,.666768,-.735923,.117405,.294504,-.955565,.011139,.592303,-.805078,-.031648,.251289,-.963378,-.093265,.206244,-.978484,671e-6,.592395,-.801477,-.081545,.564348,-.825068,.027619,.978729,-.204901,-.00766,.86108,-.506668,.042146,.799799,-.600116,-.012299,.948393,-.316141,.023499,.96762,-.252297,-.004761,.836634,-.54503,-.054079,.828181,-.558916,.041017,.966979,-.2519,.038575,.912656,.408612,.006775,.996796,.078738,-.013215,.996979,.06943,.034639,.893338,.435316,.111423,.996155,.062563,.060823,.995117,.090793,.038301,.887265,.455733,.070925,.700919,.706595,.096988,.273171,.954619,.118534,-.423597,.902768,.074343,-.119053,.988678,.091159,.15125,.977844,.144536,.158879,.984649,.071932,.140782,.98999,.008271,-.185797,.98117,.052217,-.189489,.98114,.037721,-.208502,.972167,.106784,-.518571,.854854,.016511,-.541124,.838343,.065645,-.488693,.871853,.032014,-.490921,.865352,.100589,-.205634,.972747,.107059,-.463363,.879391,.109134,-.182714,.973785,.135411,.118809,.989502,.081942,.12888,.978912,.158391,-.961699,-.274026,-.004883,-.996918,.027345,.073214,-.964385,-.257057,.06183,-.870388,-.492233,-.008759,-.873409,-.484603,.047639,-.872036,-.489364,-.006165,-.966338,-.257179,.002899,-.999146,.026185,.031617,-.952239,-.305032,-.013215,-.85818,-.513047,-.016511,-.763237,-.646016,-.010102,-.753868,-.656667,.020539,-.612568,-.790307,-.012513,-.614338,-.788965,-.009003,-.743492,-.668538,-.014405,-.732261,-.680746,-.01883,-.589465,-.807581,-.017731,-.537156,-.84283,-.032685,-.376934,-.926145,-.010498,-.116001,-.992706,-.032105,-.076327,-.99707,-.002686,-.404614,-.913999,-.028748,-.284433,-.957793,-.041292,-.349437,-.936338,-.033357,-.035066,-.997986,-.052553,-366e-6,-.999115,-.041902,.512406,-.858608,-.013611,.17423,-.984344,-.025575,.212012,-.977203,.00882,.506424,-.862087,.018189,.267983,-.962859,-.032807,.522782,-.852046,-.026093,.270272,-.960814,-.061464,.587634,-.807886,-.044343,.789117,-.61388,.019593,.950896,-.307077,.038087,.953093,-.301492,.025819,.81164,-.584063,.009156,.774132,-.632527,-.024415,.870815,-.491531,.005432,.942778,-.333354,-.005585,.987396,-.146641,.059145,.994354,-.082339,.066652,.957244,.260475,.125614,.998566,.020447,.048921,.984436,.149815,.09183,.919034,.382183,.096286,.999268,.018769,.032685,-.558153,.563036,.609424,-.151952,.967559,.201727,-.464553,.856471,.224921,-.124241,.725364,.677023,-.424116,.902707,.072085,-.116153,.9906,.072024,.367412,.739525,.563952,.28251,.947691,.148503,.245552,.967193,.06476,-.397198,.068422,.915159,-.029054,.195654,.980224,.027161,-.239418,.970519,-.318461,-.327372,.889584,.315958,.246315,.916227,.336406,-.139073,.931364,.955016,.264229,.134404,.990448,-.046297,.129643,-.930937,.352916,.093783,-.76635,.632496,.112308,-.924619,.379925,.026307,-.731223,.68041,.047823,-.886532,-.455824,.079073,-.969359,-.222633,.103519,-.751122,-.657491,.058718,-.577776,-.814264,.055605,-.008545,-.995117,.098178,-.339702,-.937529,.07477,-.284799,-.884548,.369396,.052278,-.905179,.421766,.062532,-.652058,.755547,-.274117,-.663076,.696524,.368328,-.922208,.117557,.387371,-.81109,.438246,.710044,-.691519,.132694,-.271615,.960051,-.067019,-.254494,.964293,.072939,-.282083,.958647,-.037019,-.281137,.954924,.095279,-.274209,.930906,.241157,-.971892,-.23249,.036805,-.984069,.177648,.005646,-.980407,-.196204,.016602,-.825648,-.563494,.027223,-.837519,-.546007,.019898,-.859706,-.507187,.060244,-.972839,-.207099,.103305,-.983215,.125095,.132572,-.968719,-.206732,.13715,-.97821,.127293,.163945,-.865963,-.486251,.116764,-.574786,-.818171,.013459,-.621235,-.783593,-.002228,-.201086,-.979553,946e-6,-.249611,-.967132,-.047792,-.664998,-.746513,.021424,-.678732,-.726279,.108646,-.29667,-.954894,.011475,-.35136,-.928709,.11829,.224738,-.973968,.029023,.239784,-.970183,-.035188,.544542,-.835902,.068422,.56972,-.821802,.003143,.205359,-.978668,-.005036,.570269,-.821436,.004761,.112522,-.986908,.115513,.52678,-.843471,.105014,.78869,-.609363,.08124,.945616,-.316019,.076815,.784173,-.619861,.028504,.938139,-.343364,.044099,.777856,-.617786,.114994,.941771,-.331767,.05414,.932157,-.336314,.133854,.794,-.607044,.031739,.99704,.049654,.05826,.996246,.056124,.065584,.877743,.476669,.047853,.876247,.466872,.119144,.996338,.038728,.0759,.986847,.049928,.15363,.849117,.498489,.174505,-.694327,.694418,.188849,-.373882,.918729,.126774,-.581896,.785363,.211005,-.34727,.906247,.241035,.133915,.975951,.17188,.183081,.943358,.276559,-.310068,.58095,.752556,.219031,.595416,.772942,-.689688,.414258,.59386,.569018,.782952,.251289,.530869,.825007,.193609,.855495,.450026,.256081,.588549,.450148,.671499,.815851,.252968,.519944,-.517899,-.086367,.85107,-.12711,-.413099,.901761,-.198187,-.032472,.979614,.16953,.002106,.985504,.503403,-.046113,.862789,.782128,-.140233,.607105,-.975585,.128636,.177892,-.815607,.530931,.229865,-.863643,.469131,.184454,-.865627,.195959,.460677,-.951842,-.003113,.306558,-.738151,-.225288,.635884,-.866298,-.325175,.379131,-.853938,-.482742,.194189,-.956664,-.22364,.186438,.875759,-.359813,.321726,.953276,-.027284,.300821,-.674001,-.713126,.192694,-.375927,-.897092,.232063,.024262,-.958525,.283914,-.033448,-.840541,.540666,.438093,-.845424,.305399,-.090426,-.6498,.754692,.490432,-.871151,-.023682,.718467,-.695547,-.003327,.189184,-.981201,-.037996,.205359,-.97702,-.056856,.491928,-.869411,-.046052,.693808,-.719199,-.036378,.451003,-.890927,-.052736,.657369,-.752129,-.045991,.152135,-.987182,-.047853,.361614,-.930754,-.053804,.025513,-.998566,-.046419,.621235,-.782006,-.050111,.861415,-.507736,.011261,.846828,-.531236,-.025056,.936155,-.350963,.019501,.93466,-.355174,-.015046,.807367,-.588946,-.03589,.908444,-.417096,-.027161,.802667,-.595233,-.036866,.921934,-.386944,-.016724,.978637,-.205329,-.00824,.998627,-.029389,.043062,.977111,-.210913,.026582,.966979,-.25425,-.016785,.982147,-.187841,.008728,.995941,-.089572,.006165,.420728,.902585,.090854,-.003998,.990631,.136296,.00238,.992096,.12537,.434126,.893582,.114078,.44322,.887082,.128788,-.021699,.989746,.141087,.41258,.905759,.096591,-.002625,.993683,.112094,-.024323,.990722,.133641,.41142,.909238,.06296,-.425275,.898648,.107334,-.451613,.884335,.118137,-.406812,.907895,.100955,-.395367,.905362,.15479,-.392193,.913236,.110111,-.449049,-.893277,-.019349,-.708426,-.705618,.013916,-.869472,-.492874,.032685,-.698508,-.715445,.012635,-.856502,-.515732,.01944,-.472427,-.881314,-.006714,-.767998,-.640217,.01587,-.869015,-.493606,.033357,-.687368,-.726249,.007141,-.924375,-.379101,.042024,-.597919,-.801508,-.006165,-.483322,-.875332,-.011902,-.148686,-.987945,-.042543,-.136265,-.989929,-.03824,-.203619,-.978515,-.031892,-.328166,-.944121,-.030213,-.404736,.893796,.193152,-.393933,.891079,.225318,-.079989,.973571,.213813,-.050447,.962035,.268105,-.369854,.667501,.646199,.381512,.884945,.266976,.402509,.896481,.185186,-.039491,-.242592,.969298,-.200812,.152318,.967681,.948668,-.312326,.049745,.994598,-.07123,.075381,-.977813,.177587,.111026,-.975219,-.204382,.084414,-.996399,-.020936,.082003,-.645741,-.761711,.052248,-.828455,-.557054,.057588,-.072756,-.994171,.079348,-.407788,-.910642,.0665,.60979,-.791375,.042695,.28959,-.954588,.069765,.195776,-.884335,.423811,.027131,.990417,.135197,.340648,.933622,.110691,.036195,.991943,.12125,.307993,.947081,.09006,.264016,.959044,.102268,.017426,.993927,.108585,-.291849,.952116,.090945,-.249062,.957457,.145573,-.246559,.965819,.079836,-.213263,.973754,.079287,.044404,.997162,.060549,-.230689,.972961,.01117,.027467,.997833,.059572,.267281,.962249,.050935,.245827,.966643,.071474,-.971343,-.230415,.05826,-.99115,.121769,.052309,-.891537,.450209,.049532,-.991394,.128636,.023652,-.971191,-.237251,.021088,-.50914,-.858486,.060884,-.816797,-.573626,.061068,-.822413,-.56859,.016877,-.532914,-.846156,.001648,-.986541,-.158971,.038026,-.984954,.163305,.056246,-.87466,.478744,.075808,-.950224,.2931,.105472,-.995758,-.006043,.091586,-.623768,-.781274,-.022431,-.876797,-.480667,.012391,-.928037,-.364269,.077639,-.705252,-.707266,.048463,-.151677,-.98822,-.020173,-.116184,-.991485,.058443,.209296,-.97702,-.040254,.256844,-.9653,.04651,-.226447,-.971801,-.065249,.181341,-.979858,-.083316,-.298166,-.954466,.008362,.170446,-.98526,-.014008,.578448,-.815363,.022706,.538713,-.840724,-.05414,.826991,-.562181,.001221,.801843,-.595416,-.049745,.547746,-.833888,-.067721,.570544,-.821223,458e-6,.849788,-.526383,-.026765,.878994,-.476089,.026002,.971618,-.236427,-.004639,.974639,-.222907,-.018189,.986785,.161596,.009827,.998413,-.034577,.04413,.955412,.287271,.067965,.99414,-.10477,.026551,-.012513,.994415,.104709,.285409,.950713,.121158,-671e-6,.995758,.09183,.28956,.953887,.079012,.875576,-.460005,.147343,.98938,.006989,.145146,-.942869,.318888,.096255,-.990631,.067843,.118442,-.337687,.8652,.370556,-.314646,.946165,.075777,-.301767,.94879,.093326,-.259346,.490249,.832057,-.210669,.028443,.977111,-.963073,-.242622,.116489,-.78402,-.607379,.127934,-.376659,-.911283,.166173,.135014,-.976531,.167699,-.355327,-.741142,.569536,-.978637,-.20072,.044404,-.969207,-.241066,.049989,-.991729,.098972,.081301,-.984008,.147801,.099155,-.980071,-.190405,.056246,.797784,.601154,.04593,.81399,.559069,.157445,.428663,.898282,.096408,.448683,.872219,.194647,.057527,.991546,.116062,.115452,.979217,.16654,-.22306,.963073,.150609,-.199652,.975036,.09711,-.525071,.848201,.069216,-.52736,.835475,.154332,.768731,.607288,.200476,.458754,.859859,.223914,.130161,.970061,.204901,-.234321,.956206,.175207,.696219,.702139,.149144,.480789,.86578,.138554,-.147404,.984436,.095584,.197424,.972777,.121158,.619373,.785058,-.006836,.189459,.98175,.016083,-.230964,.972076,.041292,.588794,.79281,.157323,.580523,.80517,.121158,.168157,.972137,.163244,.160497,.975951,.147404,-.268899,.949553,.161168,-.275674,.948973,.15302,.546495,.835444,.057497,.132084,.981201,.14066,.552568,.809534,.198187,.079043,.969695,.231147,-.271004,.952666,.137638,-.636586,.767846,.071657,-.873806,.455794,.169347,-.583331,.764672,.273751,-.292367,.912839,.284951,-.869015,.493728,.031587,-.709952,.698264,.091342,-.908872,.391491,.143712,-.745048,.642415,.179205,-.917631,.374218,.133732,-.742576,.646626,.174322,-.458846,.884304,.086184,-.113193,.992248,.050844,.590167,.806909,.023347,.273263,.961669,.022034,.932676,.331675,.141697,.942564,.299356,.148137,.64861,.718528,.250954,.714072,.671712,.19715,.275613,.94055,.19834,.356395,.916318,.18247,-.096286,.981414,.16596,-.087924,.980834,.173742,-.458357,.867489,.193213,-.452895,.873287,.179418,.959807,.267678,.084017,.763787,.632984,.126041,.977844,.199866,.062105,.8081,.578661,.109989,.425428,.893124,.14594,-.058016,.989532,.131901,-.472701,.873775,.114048,-.749504,.652699,.110416,-.87463,.45732,.160741,-.698935,.694357,.171148,-.439619,.882748,.165777,-.053102,.985443,.161382,.820826,.57033,.030488,.554674,.831538,.028748,.278451,.959441,.043764,.008454,.997223,.073733,-.524491,.842677,.121494,-.265053,.958586,.103916,-.781304,.605701,.150426,-.595141,.785852,.167943,-.761223,.62917,.156957,-.583026,.795312,.165899,-.352519,.918973,.176611,-.001129,.981597,.190863,-.332255,.926908,.174383,-.009217,.984619,.174413,.702445,.701865,.117893,.37257,.912748,.167486,.650258,.746452,.141179,.351085,.921537,.165746,.919645,.389966,.046175,.877316,.471419,.089724,.847041,.529649,.044496,.625751,.775262,.085635,.782281,.617328,.083163,.558397,.826716,.068453,.35609,.92761,.112552,.012268,.994629,.102573,-.578814,.811426,.080813,-.333872,.938383,.089114,-.694998,.711234,.105258,-.496658,.86111,.108615,.003174,.997833,.065584,-.275979,.957518,.083407,-.098636,-.973479,-.206397,-.157109,-.987548,-.004517,-.121616,-.992279,-.023865,-.059053,-.974395,-.216834,.134007,-.866482,-.48085,.067873,-.849269,-.523515,-.01175,-.997101,.074984,-.123905,-.98706,.101688,.066591,-.992767,.099826,-.069582,-.990478,.118717,.168767,.947111,.272835,.304178,.910428,.280282,.584735,.779077,.225959,.113956,.978607,.171117,.166784,.963195,.210761,.065249,.98648,.150304,.102054,.987854,.116947,.177404,.98059,.083316,.087863,.989776,.112094,-.228126,.957976,.173711,-.431349,.881741,.190954,-.261299,.943144,.205359,-.377667,.905118,.195135,-.308817,.929563,.201209,-.4391,.87991,.181341,-.482833,.857418,.177923,-.453658,.870602,.190283,-.552263,.820246,.148778,-.744377,.664113,.069308,-.086032,-.99588,-.02765,-.133,-.991089,-.00528,.142247,-.98941,.028535,.0665,-.996155,.05652,-.474868,-.871609,-.121403,-.712241,-.681326,-.168676,-.415754,-.89172,-.178686,-.698569,-.691733,-.182806,.192022,-.976287,-.099612,.124027,-.992248,-.001404,.13535,-.988067,-.073397,.15183,-.98825,.016663,.223182,-.974639,.015748,.258095,-.962462,-.083651,.10242,-.990936,-.086673,.095309,-.989929,-.104587,.126316,-.991668,-.024903,.094699,-.994751,-.038301,.06418,-.993286,-.09592,.154851,-.981872,-.109134,.081606,-.995972,-.036988,.198737,-.976287,-.085543,.425855,-.895474,-.129307,.47441,-.869228,-.13892,.203284,-.971252,.12363,.232093,-.962706,.138981,.254128,-.957823,.134037,.210822,-.972747,.096255,.238166,-.963958,.118473,.205298,-.967376,.14832,.140446,-.982299,.123814,.111209,-.987884,.107944,.166906,-.98233,.084445,.155553,-.982147,.105472,.169866,-.982727,.073183,.158971,-.982452,.097354,.125462,-.982574,.136937,.119327,-.983306,.137181,.221351,-.971191,.088076,.185888,-.976897,.105319,-.058382,-.983886,.16895,.077212,-.987182,.139531,.118503,-.983398,.137394,.144444,-.986267,.079806,.133091,-.981903,.134617,-.875454,.483016,.015748,-.969146,.246345,-397e-6,-.994659,-.098941,-.029084,-.880886,-.464309,-.091556,-.665334,-.734642,-.132603,-.371929,-.919828,-.124668,.197516,-.977996,.06711,.168157,-.984283,.053591,.148869,-.988433,.028474,.083926,-.996399,-.009247,.140477,-.990051,.006897,.105594,-.993774,-.035127,.255318,-.962279,-.093753,.485702,-.85519,-.180944,.6957,-.681936,-.225654,.993316,-.086062,.076846,.900632,-.433271,-.033113,-.016266,-.99942,-.028962,-.027497,-.986328,-.16245,.171667,-.945311,-.277261,.424543,-.859798,-.28367,.239937,-.790246,-.563799,.126713,-.990448,-.054079,-.085696,-.991974,-.092654,-.128269,-.982757,-.132969,-.250374,-.965392,-.072695,-.822779,.567858,-.023377,-.021699,.986847,.16007,-.462844,-.072268,.88348,-.659108,.747703,.080325,.362346,-.545732,.755516,.923093,-.360942,.132542,.716971,-.625446,.307718,.092685,-.601825,.793207,.827448,-.560442,.03415,-.290445,-.392163,.872799,.5833,-.79928,.144444,-.538438,.830164,.144475,-.421674,.903012,.08182,-.864345,.502426,.020875,.844356,.534623,.034486,-.913724,.392285,.105777,.448195,.88345,.136296,-.775048,.620991,.116611,-.749504,.658711,.065401,.309091,.949004,.0618,-.507889,-.861385,.004547,.907651,.375744,.186926,.085971,-.994964,.050935,.133763,-.988983,.063082,.122013,-.983886,.130558,.229926,-.971648,-.054872,.243934,-.969726,.010407,.226081,-.971038,.077181,.268471,-.64391,-.716422,.241707,-.62154,-.74514,.32374,-.674032,-.66393,-.349559,-.839991,-.41493,-.134556,-.885952,-.443739,-.062838,-.928983,-.364666,-.982727,-.059084,.175207,-.987884,.00531,.155065,-.971923,-.131321,.195105,.075625,-275e-6,-.997131],colors:[],uvs:[[.448074,.436117,.429865,.455717,.442622,.45328,.429709,.43364,.470408,.45132,.450085,.467731,.433473,.476077,.480223,.486045,.471511,.503845,.4839,.50074,.468995,.482857,.487915,.474368,.496036,.494863,.355588,.527994,.366024,.529766,.36227,.508766,.374158,.52147,.368391,.539783,.380014,.534204,.354802,.54397,.465042,.522509,.46183,.535819,.47643,.537087,.475191,.520405,.442223,.528142,.458156,.511167,.422303,.522405,.409352,.538298,.419494,.53496,.407162,.524046,.426877,.544116,.413627,.551475,.33486,.557578,.345254,.563013,.340991,.551614,.349066,.554236,.339087,.543048,.321326,.547176,.67226,.598538,.673882,.623812,.681762,.609056,.662276,.601294,.672765,.585293,.655985,.575965,.68551,.594979,.555422,.656323,.552784,.64678,.546197,.655362,.545378,.643263,.544237,.626073,.557558,.640642,.565584,.654556,.532482,.637511,.525875,.649739,.538224,.645005,.536865,.654115,.575579,.659694,.583385,.660544,.576624,.653233,.581796,.652856,.572506,.646998,.580201,.645,.586953,.652755,.590628,.658879,.588456,.646427,.598004,.652743,.657392,.627744,.663947,.641298,.67532,.645435,.659153,.650811,.672533,.663589,.644792,.638982,.655402,.659261,.650063,.671676,.660871,.669762,.646198,.657236,.513857,.645325,.50903,.635552,.508162,.643417,.517563,.639981,.515869,.6525,.50734,.651247,.502396,.641648,.498903,.647158,.489586,.637575,.500125,.634277,.479318,.6217,.488627,.622546,.486135,.608544,.473958,.611039,.475295,.631474,.460635,.619893,.609045,.652144,.60645,.642682,.598691,.639534,.601716,.627409,.611641,.636383,.618428,.648452,.361854,.554757,.354814,.565977,.364667,.565412,.355255,.558336,.738395,.628461,.729361,.633259,.735282,.63498,.730457,.622633,.738229,.643165,.74607,.638433,.731126,.64459,.241028,.64747,.235208,.648669,.239412,.655545,.232192,.654719,.22437,.651587,.232383,.643782,.240286,.639409,.784061,.651727,.782363,.657514,.787956,.653708,.78497,.660849,.778089,.659935,.780699,.67202,.779125,.65075,.793243,.633966,.785937,.635291,.789954,.638849,.79209,.628913,.797622,.634091,.803362,.623912,.794029,.640849,.176301,.670327,.180902,.673953,.180036,.670756,.176223,.675644,.183009,.668019,.1804,.662345,.184687,.671772,.186769,.667155,.188697,.669854,.188759,.663649,.192639,.666993,.191484,.676955,.195291,.680747,.195601,.675732,.191996,.679963,.191944,.687447,.189551,.682327,.187784,.678789,.186113,.68309,.184237,.680737,.184707,.686232,.180525,.683537,.789987,.664778,.795521,.658253,.788895,.660304,.79184,.655321,.699315,.775906,.693299,.767445,.693555,.776403,.697927,.77008,.697342,.756654,.701197,.766899,.704018,.7739,.705553,.76696,.708534,.771867,.707044,.762094,.712566,.76824,.566711,.790268,.565024,.784082,.561481,.789523,.560437,.781643,.567965,.780333,.558965,.770168,.571975,.789369,.552454,.778407,.550696,.786528,.556409,.782956,.556323,.788862,.296661,.80903,.296028,.80155,.286329,.807138,.288281,.796114,.294633,.785926,.302926,.799446,.306469,.811911,.362089,.805447,.354532,.815195,.364367,.813399,.353786,.802243,.357826,.788484,.368108,.800873,.373515,.812885,.425118,.800699,.415289,.792874,.416929,.804111,.422707,.794727,.418141,.780143,.427568,.790403,.433158,.799738,.484838,.779524,.484938,.774105,.478826,.777799,.480716,.770131,.489191,.772668,.487641,.762009,.49028,.779817,.495692,.780286,.493965,.77476,.497018,.771312,.501201,.779402,.623279,.781041,.628176,.791389,.627725,.784979,.622117,.790332,.631732,.782526,.629104,.770608,.633507,.790679,.636555,.783906,.63886,.790027,.63908,.779134,.644124,.787576,.494496,.826184,.498104,.826298,.495082,.823381,.497883,.822996,.489338,.826121,.492957,.820954,.49692,.819252,.494029,.831184,.498404,.829539,.49564,.828962,.498057,.83305,.799884,.637611,.797823,.643019,.804258,.635735,.802541,.644195,.847203,.668782,.855408,.673564,.856389,.667612,.850844,.662426,.863007,.666885,.856615,.657167,.865184,.67711,.835139,.707093,.837868,.698787,.832544,.702005,.845923,.704595,.82471,.700135,.822171,.706414,.829285,.694692,.658286,.844614,.654518,.838631,.655013,.844368,.659565,.840701,.66599,.847417,.660226,.848783,.656321,.849689,.660389,.853499,.657653,.855093,.663266,.856687,.659832,.860714,.636102,.853791,.640146,.853035,.635792,.849163,.638678,.847662,.630069,.854939,.632555,.846075,.636199,.842189,.637517,.862227,.641845,.858445,.638471,.858131,.642793,.86441,.574981,.842391,.579585,.84031,.575318,.83734,.577849,.843349,.584328,.847462,.579018,.847365,.575367,.847278,.578468,.851431,.575774,.852208,.580583,.854753,.576866,.857481,.557354,.846719,.56086,.846807,.557594,.842492,.560245,.841687,.552243,.846639,.55527,.839047,.558751,.83628,.557326,.854427,.561484,.851908,.558708,.851004,.561399,.85731,.507569,.824322,.505121,.819903,.504638,.823517,.509411,.822234,.513995,.827931,.508521,.827224,.504824,.826821,.507656,.829869,.504855,.830046,.509506,.832346,.505558,.833637,.720702,.834015,.724563,.832115,.719146,.829628,.721648,.827309,.714951,.836802,.715161,.827522,.717805,.82268,.724281,.841762,.727562,.836944,.724169,.837573,.730015,.842433,.740747,.814718,.737081,.819654,.740461,.819073,.735087,.813968,.749146,.820099,.743555,.822833,.739759,.824663,.744861,.827535,.742436,.829737,.748602,.830066,.746042,.83477,.562122,.898609,.565069,.893359,.562603,.894199,.565391,.898666,.557341,.898456,.560678,.890563,.564059,.887748,.561754,.906593,.565681,.904068,.563193,.903133,.565338,.909729,.581286,.893623,.578951,.887371,.578595,.89292,.582964,.889935,.587447,.897476,.582351,.897949,.578859,.898217,.581666,.902471,.579064,.90358,.583529,.905776,.579955,.90914,.588905,.932663,.58567,.922619,.585786,.929232,.590281,.922793,.582707,.932665,.585311,.942205,.581692,.924452,.590125,.961545,.591049,.946738,.588636,.954208,.596072,.954214,.585508,.965062,.584664,.954314,.562172,.943621,.559945,.955816,.56285,.955386,.557661,.949208,.561564,.96581,.559283,.962923,.554362,.958367,.423382,.961851,.422885,.970768,.425167,.96819,.420586,.961992,.419887,.952767,.424364,.955382,.429123,.96227,.397282,.963851,.39032,.964013,.395986,.97064,.394929,.956998,.399658,.954111,.400912,.963935,.400739,.973943,.507172,.857417,.505408,.853469,.504732,.856691,.508906,.855497,.512575,.860754,.507794,.860099,.504631,.859707,.506812,.862571,.504359,.862712,.508182,.864882,.504565,.866049,.496049,.85877,.499047,.85907,.496837,.856285,.4992,.856082,.491793,.858437,.495306,.854069,.49872,.852778,.49508,.863269,.498916,.862045,.496662,.861367,.498218,.86521,.477603,.890008,.47763,.895421,.480221,.893077,.475072,.890785,.473586,.885872,.477542,.886177,.482401,.888679,.467661,.892767,.465609,.887782,.464691,.893367,.462008,.889871,.468842,.898121,.464372,.897473,.459176,.894213,.561219,.930578,.564738,.925311,.560994,.923851,.564266,.933651,.558646,.934453,.556775,.924525,.669692,.899023,.673262,.89497,.668623,.892974,.672592,.899231,.679664,.902287,.674753,.903654,.671401,.904629,.675292,.908626,.673045,.910331,.678074,.91194,.675524,.916221,.653726,.909087,.657323,.908272,.653024,.904207,.655513,.902636,.648329,.910313,.64991,.900803,.652905,.896864,.655773,.917894,.65926,.914006,.656234,.913651,.660686,.920267,.684977,.965306,.691957,.978626,.686963,.960077,.69126,.963302,.680595,.954679,.684686,.951921,.689879,.950179,.690931,.939571,.689322,.928721,.686826,.93643,.684837,.929373,.684883,.94035,.681515,.931908,.70004,.974477,.69766,.955745,.696283,.964452,.706773,.965317,.667567,.945921,.665124,.936773,.663291,.943472,.660606,.936212,.661838,.948259,.669237,.957369,.65629,.937908,.671499,.972577,.66595,.96551,.675236,.970442,.679764,.983662,.67336,.982018,.664606,.977534,.325961,.993159,.332441,.987569,.326442,.984028,.32969,.976834,.323727,.98209,.320528,.995687,.326283,.971751,.321737,.977208,.322742,.968634,.318714,.981138,.318701,.968884,.308372,.983547,.308214,.970881,.303809,.982686,.302248,.973416,.300781,.991084,.307382,.997843,.295041,.98112,.751006,.881688,.754163,.880212,.749333,.877369,.751313,.875428,.746412,.884013,.745684,.874945,.747622,.870689,.754435,.889065,.757011,.884922,.754136,.885221,.759345,.890167,.764458,.869636,.767407,.86532,.762201,.864186,.767487,.869343,.775663,.871222,.770612,.873128,.767235,.874484,.77201,.877489,.769923,.879327,.775494,.88004,.773403,.884178,.788895,.925445,.797652,.935521,.790581,.920825,.795517,.923049,.783354,.916947,.78742,.914182,.792968,.912246,.793307,.90305,.790354,.893746,.788397,.900676,.785379,.894695,.786552,.904225,.782006,.897308,.80192,.91645,.800983,.923813,.805558,.932018,.812231,.924093,.769337,.911201,.766009,.903805,.765141,.909776,.76178,.904209,.764341,.914101,.772005,.920421,.758206,.906489,.775077,.93268,.778583,.930634,.769322,.927195,.78322,.940843,.777386,.940319,.768284,.936077,.247207,.965781,.253711,.95969,.245914,.959763,.248847,.953389,.242169,.969312,.241674,.960143,.243162,.950953,.223222,.95958,.228588,.960604,.229372,.950283,.221887,.951748,.219148,.966382,.226157,.972025,.213361,.957383,.423454,.691472,.436045,.683583,.424253,.67969,.43224,.691889,.449141,.693122,.437152,.700639,.425724,.703514,.28685,.690361,.282906,.699312,.302643,.697445,.289208,.70641,.276926,.710942,.272588,.701264,.269918,.688802,.538203,.427089,.518421,.430985,.523239,.459234,.541622,.455538,.557022,.42522,.559667,.453645,.545355,.482093,.562776,.48055,.528,.484944,.496913,.437889,.504813,.465241,.511256,.489243,.411616,.43623,.396141,.465852,.413581,.459897,.393253,.441789,.416708,.481522,.399698,.487577,.382078,.49588,.377932,.474011,.358914,.484537,.374636,.449719,.35584,.460202,.339565,.495287,.340732,.51398,.321892,.522299,.32133,.5094,.31986,.490332,.337348,.473148,.66447,.486765,.654611,.450964,.652766,.474221,.66789,.465715,.67544,.50461,.680671,.486055,.670088,.51552,.66185,.502471,.652052,.493535,.639878,.465632,.640444,.440596,.640537,.487678,.627311,.484086,.625736,.459962,.625331,.433545,.594273,.454021,.609374,.428953,.592626,.426149,.610473,.456262,.612621,.481786,.59671,.480553,.579979,.480136,.577257,.453219,.575153,.4249,.519816,.53334,.5161,.511684,.504719,.534908,.501161,.514947,.532213,.509007,.535734,.532045,.552325,.531278,.56608,.506314,.548993,.507177,.569401,.531231,.48763,.518156,.490449,.536358,.453611,.490289,.437388,.499235,.42004,.502523,.403833,.506843,.388298,.513189,.393133,.528503,.339203,.529634,.321379,.533446,.662834,.523058,.669646,.52308,.660814,.514122,.669518,.519328,.653069,.509759,.656522,.523948,.64737,.525937,.630404,.506673,.635502,.528637,.64284,.507569,.600053,.506269,.61598,.506391,.620844,.5307,.604292,.531919,.586827,.531653,.583223,.506137,.44721,.555731,.463418,.55565,.478415,.555536,.480776,.57424,.46628,.575321,.451091,.57739,.431853,.561938,.435779,.580682,.421042,.583872,.417667,.567107,.384402,.547098,.396916,.542571,.400663,.556397,.387985,.560267,.676957,.539966,.662799,.536932,.671757,.549141,.668339,.531164,.670728,.524584,.680831,.530754,.321973,.563858,.331992,.568458,.342263,.574214,.3288,.578214,.337592,.588349,.322501,.573329,.664905,.56004,.643419,.550961,.654611,.54346,.609457,.558801,.627569,.555714,.636523,.582231,.615561,.590356,.592904,.582648,.590367,.55717,.574477,.579001,.572359,.555503,.557434,.577398,.555186,.554689,.540835,.576659,.538609,.55449,.524779,.575306,.522653,.554517,.50747,.55473,.509575,.574292,.492834,.555172,.495087,.573885,.542609,.599394,.559271,.599256,.575266,.6003,.576138,.618816,.561794,.619823,.525804,.615351,.526022,.595783,.511393,.610307,.511002,.593061,.60712,.6122,.591157,.604171,.589429,.621401,.646999,.606816,.631825,.615812,.619984,.626963,.629447,.643369,.677384,.571616,.682382,.559671,.69353,.569073,.689401,.581542,.697586,.557441,.686943,.548831,.690935,.538223,.7014,.546084,.423797,.601157,.41114,.618728,.425736,.618529,.409348,.602602,.397272,.619261,.39554,.603896,.40698,.58658,.393423,.588724,.441703,.618778,.455135,.597722,.439091,.599581,.469689,.594069,.483436,.592174,.498497,.608275,.497004,.591892,.547188,.667705,.557028,.668597,.567008,.668873,.558534,.68143,.56862,.682016,.548309,.68058,.537916,.679358,.53714,.666412,.527289,.677848,.526685,.664401,.576647,.670473,.585573,.67072,.578503,.682569,.588086,.68251,.60322,.666657,.594238,.669441,.607336,.679837,.597598,.681567,.634549,.659025,.638966,.673612,.623617,.662,.628099,.675841,.516395,.663765,.516615,.676336,.505798,.674203,.506452,.661823,.494532,.671096,.496208,.658105,.48235,.667022,.484952,.65237,.52152,.629345,.510335,.624404,.45705,.640443,.471575,.646744,.468934,.662614,.454637,.658006,.426357,.635397,.441322,.637166,.440151,.65405,.426148,.651339,.567487,.635287,.578121,.633578,.613361,.664688,.617573,.677977,.692682,.635633,.709225,.627075,.69544,.618932,.710419,.64678,.698116,.603999,.710277,.611717,.69097,.653088,.706034,.661974,.689765,.669196,.704275,.675434,.712639,.598191,.701231,.590367,.704748,.577728,.715773,.585653,.712157,.554304,.708454,.56579,.723163,.56245,.719333,.573795,.267543,.604563,.276474,.584438,.26449,.590722,.279935,.599659,.256159,.609608,.253212,.597181,.260591,.576613,.249436,.584625,.272303,.568845,.721654,.663721,.722549,.64535,.727933,.659172,.734351,.6565,.733321,.671069,.737879,.667721,.72996,.676322,.217202,.701659,.223524,.69601,.216641,.698592,.220945,.693082,.22957,.689595,.225319,.686882,.226457,.699593,.23421,.693238,.218246,.705197,.218577,.690831,.221245,.684928,.216088,.696097,.215906,.689261,.215147,.693864,.217165,.683785,.740464,.654633,.746901,.6532,.742349,.665677,.746921,.665058,.720583,.630842,.721165,.617533,.732981,.611296,.723273,.60499,.726331,.592952,.73631,.59977,.718319,.672717,.728826,.68275,.716876,.682355,.728338,.689245,.220248,.709015,.229814,.703895,.239207,.697865,.233363,.709037,.24428,.703754,.222333,.713717,.704344,.68813,.716466,.69214,.727922,.696002,.716724,.702173,.727749,.703918,.705352,.700248,.2295,.722975,.24096,.720873,.236978,.714763,.224922,.718495,.24861,.710657,.252679,.718147,.68358,.754873,.669067,.742069,.672239,.755204,.680354,.741083,.665561,.728501,.67677,.727256,.691995,.740092,.688028,.72606,.68436,.766675,.68585,.777155,.674674,.767227,.677115,.778447,.654504,.729993,.658143,.743645,.661661,.756652,.647338,.745805,.651336,.75922,.64355,.731922,.664988,.768773,.655565,.771158,.668112,.780021,.659397,.782245,.636384,.748599,.640817,.763197,.624848,.751411,.621295,.735662,.632512,.733929,.646655,.774577,.651174,.784738,.614808,.76596,.614145,.778242,.614258,.789246,.605437,.788565,.604331,.77677,.603179,.764144,.612692,.750974,.601207,.750342,.609911,.736197,.598739,.736264,.594487,.776209,.592462,.763589,.596326,.788093,.587438,.788176,.584912,.776527,.581954,.764014,.590172,.750116,.579307,.750313,.587784,.736243,.576889,.736318,.571237,.76569,.575765,.777761,.57911,.78852,.568197,.750931,.556468,.751423,.565811,.73632,.554463,.735933,.543759,.774143,.545199,.763128,.543191,.78388,.534696,.781579,.534165,.771084,.533745,.759583,.544312,.748877,.532682,.746462,.542899,.734452,.531396,.732735,.522867,.757564,.514712,.768491,.524434,.769209,.512046,.756949,.525881,.779748,.517084,.778863,.509842,.743783,.519844,.731127,.508091,.729913,.521337,.744753,.500705,.757919,.505247,.769121,.508598,.778746,.497901,.743663,.48514,.743917,.495901,.729017,.483146,.728224,.722624,.740393,.719387,.751964,.725844,.74813,.715163,.743625,.729339,.738053,.731862,.744812,.729481,.755367,.734984,.751272,.723674,.759585,.251509,.751355,.240711,.756355,.252491,.76011,.239763,.748827,.263861,.753565,.264972,.763691,.252782,.769086,.265076,.773984,.241233,.764087,.718432,.722411,.711663,.733818,.720128,.73182,.708971,.723157,.72726,.722346,.727761,.730697,.261982,.743899,.249876,.74298,.238474,.741664,.247664,.735044,.236609,.734794,.259483,.734777,.67762,.682759,.691278,.684719,.693427,.698772,.68128,.698272,.398636,.63438,.412197,.63456,.412637,.649725,.399598,.648921,.400059,.662619,.41254,.664022,.425387,.666175,.412037,.677539,.39968,.675661,.438503,.669667,.452349,.674874,.466205,.695203,.467125,.678659,.480959,.682042,.480589,.697415,.493692,.685082,.50559,.687626,.493667,.6996,.505894,.701583,.517567,.703346,.516935,.689634,.528001,.691275,.528921,.70492,.540063,.706313,.538894,.69269,.549584,.693835,.55104,.707446,.561832,.708186,.570461,.695164,.560103,.694644,.572474,.708599,.582981,.708742,.590724,.695255,.580661,.695429,.593421,.708563,.611025,.693192,.600798,.694489,.614508,.70689,.603901,.707945,.625244,.705438,.636093,.703778,.621517,.691579,.632219,.689799,.654231,.68613,.643116,.687896,.65819,.700491,.64706,.702065,.665556,.684463,.669549,.699147,.372637,.551228,.37591,.563351,.353325,.590702,.339735,.606572,.354447,.606347,.367044,.591093,.368421,.605891,.356164,.62224,.370162,.621052,.341574,.623574,.358396,.638142,.345878,.659251,.361618,.653688,.343538,.640631,.372204,.636058,.374649,.65034,.383759,.620013,.385424,.634847,.387023,.64899,.380215,.590323,.382006,.605024,.354142,.577107,.366031,.577496,.2828,.644221,.283128,.629565,.27001,.644574,.270522,.631489,.280869,.658798,.267935,.657407,.258831,.645227,.256919,.656429,.259186,.633674,.276662,.673344,.263909,.669924,.257684,.681697,.253469,.667288,.248262,.677375,.249177,.646184,.247548,.655888,.249163,.636251,.244558,.66547,.240376,.674521,.236768,.664181,.233407,.672518,.282128,.614743,.269612,.618152,.25823,.621783,.24787,.625766,.238423,.630225,.245682,.614855,.235984,.620396,.242763,.603707,.233055,.610245,.23906,.592514,.229586,.6001,.734093,.57,.729979,.581288,.744422,.577169,.740153,.588358,.241547,.685932,.235274,.682496,.229499,.680054,.226846,.67121,.224088,.678441,.218708,.677598,.220424,.670581,.248586,.690726,.255812,.697302,.260451,.706057,.264659,.714782,.226786,.626286,.22391,.616769,.217862,.63258,.21503,.623459,.220756,.607141,.212245,.614115,.759351,.601937,.745766,.606483,.754931,.613193,.749882,.595193,.754288,.58404,.764019,.590781,.741955,.617788,.750664,.624987,.229617,.635476,.220843,.641692,.229567,.663109,.222189,.662273,.763916,.619396,.75972,.630508,.772392,.625214,.768097,.635229,.756135,.642375,.76462,.645873,.77379,.597823,.76866,.608667,.783579,.605952,.777594,.615589,.208815,.638943,.206105,.630486,.199832,.645607,.196964,.637987,.203737,.621605,.194962,.630238,.211709,.647195,.214037,.655484,.205593,.659398,.203055,.652583,.214267,.663756,.213738,.671169,.206895,.666102,.207246,.672497,.2131,.677701,.212721,.683469,.207326,.678499,.207576,.684118,.214345,.692215,.213017,.688436,.211839,.69183,.209108,.688897,.754168,.654706,.761804,.657136,.75185,.666122,.75839,.668543,.775585,.639325,.772384,.648836,.779931,.630599,.781848,.642621,.768127,.671744,.770099,.659414,.793275,.614746,.785736,.622457,.190528,.652919,.186966,.645726,.1756,.653169,.184681,.638831,.170317,.645871,.195199,.658097,.19853,.663304,.200277,.668705,.201149,.674193,.19479,.671194,.201265,.685611,.201235,.679744,.208559,.693758,.20428,.691223,.206311,.699756,.19822,.696666,.790904,.647237,.786682,.645093,.190265,.673319,.186329,.675358,.182289,.677465,.17784,.679984,.771371,.689761,.77308,.676501,.763313,.683044,.779814,.682176,.787547,.675601,.787275,.686801,.794741,.679579,.778813,.694713,.186432,.69409,.180082,.690789,.173712,.695583,.179214,.699176,.169156,.691488,.175501,.687257,.79491,.668602,.800649,.661575,.801397,.672446,.807026,.665206,.705065,.790922,.710591,.788283,.701796,.783215,.707092,.780917,.698938,.793652,.695667,.785084,.715835,.785511,.721114,.782469,.712091,.778348,.716985,.775054,.691823,.796896,.679876,.789415,.683043,.801264,.688305,.787126,.662693,.792986,.673705,.801017,.67107,.790856,.665809,.804317,.654598,.79466,.657093,.804538,.64988,.805315,.647435,.796326,.617256,.810522,.622836,.799685,.615284,.799923,.624562,.809103,.606817,.800238,.608379,.812938,.598,.799736,.599394,.810894,.589466,.799622,.591234,.811872,.574216,.798348,.581337,.79885,.582501,.808884,.575483,.807241,.569306,.806192,.568196,.798016,.563487,.805318,.562517,.797288,.557666,.804503,.556773,.796408,.551551,.803683,.550641,.794959,.544806,.802864,.543538,.793319,.535583,.791602,.536833,.802082,.519083,.788594,.527333,.78953,.528773,.798085,.521114,.798324,.512298,.796099,.510909,.787679,.505021,.79495,.503568,.787272,.706906,.748368,.712795,.756587,.717832,.7639,.726629,.779027,.727921,.767102,.722333,.771269,.732223,.775041,.733401,.762586,.738539,.757652,.737664,.770256,.74264,.764486,.251275,.787491,.263961,.783988,.25235,.778115,.26212,.793964,.241074,.780159,.24136,.771844,.273689,.800254,.276068,.78984,.278585,.779164,.276927,.755358,.278349,.767039,.290738,.756497,.29289,.769973,.314658,.79859,.31745,.81118,.310581,.784942,.327364,.79869,.325262,.785012,.328921,.811521,.307795,.770496,.305059,.756582,.322663,.770542,.319663,.756097,.341104,.812749,.340603,.799911,.340409,.785942,.337789,.770454,.353495,.7701,.349614,.754011,.334527,.755259,.373213,.783236,.368732,.767573,.3646,.751845,.38364,.765075,.379546,.749266,.387411,.780284,.379015,.796686,.390877,.793927,.393986,.806216,.383545,.80883,.401914,.77902,.398799,.763207,.395066,.74647,.414521,.762401,.412798,.743429,.403262,.792647,.404974,.804666,.44563,.7852,.431294,.776176,.436383,.787063,.442332,.774642,.449057,.794688,.44104,.796605,.428276,.762826,.427278,.749731,.440024,.763085,.438563,.751396,.457122,.793623,.454616,.784303,.452437,.774282,.463224,.78419,.461984,.774736,.464987,.793164,.461266,.764531,.449502,.752095,.450836,.763505,.460781,.753279,.478805,.785534,.485309,.786376,.491317,.786805,.486178,.793611,.492348,.793925,.479648,.793352,.48888,.808179,.481025,.801152,.482879,.809001,.487391,.800979,.493407,.801003,.494548,.807801,.470918,.775955,.471373,.784701,.472537,.793135,.474197,.801412,.467007,.801757,.476209,.809596,.469282,.810153,.472978,.755937,.471456,.766651,.498502,.794329,.497252,.787166,.471885,.741867,.459407,.740512,.457097,.726677,.470007,.727077,.499408,.801347,.505613,.802139,.500085,.807988,.50574,.808835,.519112,.805478,.511714,.810352,.518064,.812354,.512203,.803521,.553173,.812479,.558837,.812769,.564449,.813372,.560147,.820821,.565338,.821161,.555014,.821042,.570055,.814266,.575872,.81564,.570567,.822028,.575836,.823476,.541316,.812442,.547282,.812388,.549831,.821722,.544511,.822526,.588564,.820103,.58145,.825494,.587112,.827611,.582071,.817594,.631105,.808099,.637224,.807175,.629327,.799476,.635329,.79877,.643391,.806256,.64125,.797855,.633233,.816736,.627148,.818223,.639234,.815658,.641207,.823897,.635646,.825111,.63009,.826878,.646922,.823157,.652806,.822906,.645271,.814787,.651522,.814227,.62074,.820145,.614059,.822461,.624422,.829213,.618554,.831622,.664805,.813898,.658934,.82305,.665159,.823146,.658094,.813956,.6,.818796,.604571,.820292,.601511,.824249,.600074,.824258,.595917,.819676,.598831,.824646,.608744,.825318,.612293,.832724,.603692,.825672,.605958,.831188,.593696,.823515,.597765,.825681,.592436,.828529,.597247,.826844,.533688,.805386,.53052,.804137,.531876,.806072,.529748,.802336,.526341,.803314,.529724,.806413,.525102,.807767,.53045,.80834,.52459,.813966,.531085,.814669,.670817,.809089,.674882,.807559,.679714,.809204,.675241,.810982,.676507,.813467,.672498,.810302,.696953,.805509,.690227,.809795,.703205,.801813,.708006,.809474,.702576,.813482,.696638,.817815,.684345,.814499,.689652,.821435,.67781,.817451,.68128,.823363,.702351,.736672,.698816,.724442,.708944,.798631,.714369,.795789,.718279,.803201,.713153,.806075,.723473,.80069,.725116,.790331,.719688,.793068,.728902,.798495,.734768,.796307,.736643,.783748,.730793,.787385,.741051,.793615,.747418,.789134,.747705,.772615,.742362,.778955,.753625,.782794,.240033,.790035,.249516,.797724,.259643,.804176,.247108,.809264,.256756,.815148,.237963,.801932,.27001,.809838,.280425,.814998,.266622,.819991,.276483,.823647,.298105,.815301,.292607,.815414,.303349,.817392,.299912,.819335,.302342,.819985,.297404,.820108,.320115,.822712,.329703,.823298,.321259,.833788,.329894,.834705,.313723,.832456,.311716,.822451,.307587,.830125,.30385,.820136,.30331,.825639,.306627,.822539,.340103,.824384,.350742,.825821,.339077,.835497,.348262,.835981,.371638,.819841,.367155,.819846,.369849,.824252,.362775,.821805,.369628,.824494,.357122,.835623,.359819,.827682,.368552,.827448,.365572,.833361,.3964,.817356,.387666,.819247,.398324,.828032,.390511,.8293,.380016,.821689,.383513,.830156,.371873,.825293,.370634,.822348,.375343,.824267,.377792,.830247,.372352,.82882,.415047,.814615,.405759,.815915,.414943,.825125,.406647,.826681,.43228,.804255,.427696,.804192,.432124,.806964,.42959,.806997,.424232,.807279,.429962,.809541,.445628,.804821,.439642,.806734,.452526,.803409,.455583,.811629,.449215,.812736,.443543,.813831,.433552,.811116,.436106,.808385,.438883,.814623,.434568,.814345,.646645,.845271,.640401,.840069,.642445,.846304,.644974,.838825,.644136,.852242,.648283,.85138,.650916,.8446,.649725,.838264,.65244,.850499,.654015,.856501,.649986,.857517,.656026,.862846,.651853,.864092,.647446,.864694,.645831,.858222,.568109,.846968,.571843,.847134,.571314,.841679,.567519,.841313,.57115,.83588,.566851,.835252,.563707,.841272,.562681,.835297,.564392,.846857,.572314,.852662,.573116,.858527,.56919,.858809,.568652,.852711,.564942,.852507,.565284,.858477,.501452,.826501,.501241,.82302,.500971,.819025,.50181,.833737,.501624,.829935,.729021,.822713,.73023,.814927,.725702,.816801,.733079,.820932,.736054,.826436,.732194,.828327,.725116,.824881,.721479,.819333,.728321,.830238,.731489,.835662,.735407,.833941,.734647,.841539,.738825,.839896,.74267,.83771,.739117,.831965,.795005,.649249,.799541,.651505,.808632,.646355,.805138,.654287,.815579,.649591,.811691,.657698,.813482,.626441,.811316,.637263,.82164,.630229,.818818,.640518,.154679,.663333,.157761,.669959,.164796,.658785,.16784,.665914,.151449,.656611,.160964,.652746,.787808,.698464,.795705,.690746,.802659,.683504,.805033,.69427,.811223,.687299,.798278,.701593,.171742,.705495,.158151,.706198,.163122,.711942,.166393,.700865,.154051,.700838,.161943,.696114,.169946,.678332,.172193,.683124,.165567,.686938,.162676,.681869,.150401,.695626,.158192,.691197,.154857,.685977,.146917,.690448,.168585,.672692,.160146,.676211,.143316,.685133,.148353,.674458,.139396,.679574,.151687,.680443,.134916,.673491,.140852,.660789,.129826,.666425,.144705,.668013,.830075,.635317,.82675,.644955,.83898,.641484,.834993,.650282,.823099,.653674,.83101,.658396,.818991,.661683,.826785,.666051,.822109,.673372,.814262,.669172,.808845,.676385,.816935,.680413,.830442,.677778,.834962,.670738,.839096,.663522,.843566,.675692,.839295,.682515,.848029,.648847,.843223,.656256,.820224,.69099,.825475,.684514,.834439,.688888,.809837,.704218,.814927,.697407,.145722,.705313,.149042,.711142,.152875,.717872,.139322,.71521,.141002,.722526,.137391,.709249,.142461,.700047,.139038,.695042,.13471,.704196,.131506,.699547,.135276,.690129,.12782,.695118,.130963,.68519,.123397,.690933,.125738,.68007,.117638,.687134,.119311,.674466,.110263,.683408,.852919,.680809,.859835,.694026,.863883,.686176,.848935,.687805,.853741,.700036,.843735,.693871,.128852,.725484,.121758,.7187,.117546,.72605,.129919,.717918,.124285,.714178,.129805,.712312,.121235,.711679,.124478,.703802,.117724,.707947,.12757,.707976,.1211,.699737,.114837,.703756,.113143,.700253,.117224,.696265,.107286,.700689,.102792,.692164,.097497,.701354,.111211,.694072,.096772,.710852,.110245,.712648,.107275,.706999,.10078,.718861,.485334,.816981,.490734,.815037,.495715,.814012,.478474,.817854,.471527,.818426,.480728,.826322,.473579,.826678,.481649,.834691,.475048,.834806,.488158,.835007,.48252,.842591,.488435,.842614,.476387,.842768,.49338,.836699,.497835,.837772,.493449,.842781,.497926,.843046,.288645,.819231,.295344,.820671,.296446,.825368,.286187,.82577,.745303,.805152,.752661,.801148,.759703,.795426,.75822,.814926,.765772,.809815,.234924,.815902,.244196,.822258,.253689,.827265,.241107,.836634,.250476,.840496,.231556,.831864,.76529,.828599,.758521,.832811,.772334,.82474,.779406,.839105,.772076,.841865,.765282,.844666,.238095,.851869,.229025,.849039,.247216,.854581,.244002,.869118,.235095,.867252,.226141,.865726,.263253,.831149,.272918,.833883,.259799,.843535,.26913,.845651,.265193,.85877,.256259,.856966,.261317,.87271,.252718,.870994,.294077,.833587,.282956,.834905,.28854,.845562,.278651,.8465,.274044,.859839,.282659,.859946,.269704,.874117,.277712,.875354,.704173,.826444,.696345,.830052,.704582,.840534,.687096,.831878,.694697,.842303,.70321,.855552,.71238,.85295,.720757,.850482,.720947,.865186,.727747,.861893,.713697,.868999,.547753,.833435,.552456,.830847,.556927,.829104,.539211,.822359,.541774,.833714,.544119,.846142,.536102,.832813,.537658,.845502,.53391,.820509,.545338,.871273,.551481,.860029,.544661,.858797,.552031,.871986,.537711,.85755,.537621,.870079,.556966,.862797,.561539,.864429,.557428,.872289,.562042,.872434,.422845,.834012,.42294,.846057,.430474,.843759,.430434,.830953,.415246,.836214,.415591,.847973,.422884,.82275,.431246,.818555,.40748,.837778,.408362,.849354,.399878,.838886,.401202,.850183,.415966,.860297,.422817,.858584,.429788,.856427,.422635,.871536,.428762,.869139,.416284,.87326,.409141,.861479,.40987,.874313,.402314,.862145,.403361,.874876,.608209,.841311,.615694,.842916,.623198,.841945,.619255,.855708,.60853,.85499,.354842,.845598,.363407,.842418,.361194,.855113,.352679,.857557,.344549,.858764,.346429,.846864,.357824,.869308,.350051,.870848,.35382,.883854,.347241,.884925,.340304,.885466,.342517,.871686,.62699,.883817,.622527,.8699,.617714,.884794,.6124,.870246,.631649,.869777,.635194,.882781,.329534,.846264,.337906,.846918,.336606,.858975,.328842,.858391,.327798,.87122,.335079,.871782,.333408,.885418,.326561,.884826,.32153,.845121,.32132,.857244,.313982,.843267,.314015,.855293,.320718,.870124,.313855,.868411,.319894,.883793,.313406,.882237,.306876,.840035,.306864,.852389,.298782,.834272,.299752,.848324,.307094,.865927,.307127,.880184,.300396,.862925,.301265,.877784,.67097,.821851,.665851,.833642,.672657,.831791,.676033,.818259,.678694,.827893,.682597,.839096,.675145,.843835,.67923,.857036,.671954,.860762,.687358,.852696,.690494,.867725,.682652,.870768,.675642,.873354,.670164,.814183,.673996,.811828,.392485,.839552,.394105,.850471,.385511,.839506,.387128,.849984,.395526,.862271,.396926,.874966,.390485,.874431,.388824,.861694,.380255,.848431,.378766,.838108,.372987,.845422,.371362,.834393,.375093,.85754,.382066,.860125,.384134,.873063,.378077,.870655,.585988,.836195,.59199,.836284,.59698,.83411,.59275,.846267,.598786,.843568,.588151,.859752,.595729,.857758,.60489,.85476,.597355,.86996,.606571,.868114,.589676,.871244,.462332,.81077,.464789,.819032,.46692,.827139,.458319,.819693,.460644,.827708,.468748,.835164,.470319,.843045,.462659,.835633,.46448,.843518,.452131,.820471,.446413,.821263,.454662,.828315,.448896,.828907,.456784,.83621,.458724,.844097,.451112,.836824,.453097,.844799,.436034,.821928,.441177,.821814,.443415,.829377,.438025,.829475,.440163,.837851,.445576,.837391,.447567,.845571,.442029,.84653,.516793,.819541,.524282,.821119,.532121,.821849,.523501,.829086,.532187,.829745,.516154,.837106,.523534,.83756,.531347,.838233,.523189,.845839,.530599,.846956,.516425,.844938,.580742,.833164,.575713,.830783,.566154,.828513,.570866,.829304,.575146,.8864,.575205,.892532,.575497,.898425,.57172,.892496,.572079,.898602,.571317,.886244,.568269,.892761,.56762,.886599,.568654,.898647,.568917,.904616,.572375,.904721,.56893,.911049,.572616,.911278,.575822,.904388,.576324,.910775,.549231,.897994,.553755,.884141,.546983,.884115,.542406,.896624,.539548,.88321,.543554,.913501,.550131,.912743,.556358,.912696,.551387,.927031,.544493,.931495,.422918,.900196,.422643,.885262,.417312,.900963,.416722,.886805,.428181,.882556,.428063,.898214,.424656,.931496,.423688,.916266,.418865,.929302,.418032,.915432,.429201,.917916,.430985,.935584,.411441,.901384,.404449,.888158,.405511,.901691,.410614,.887703,.41236,.91515,.413265,.928363,.407722,.928309,.406595,.915222,.392045,.88796,.39822,.888279,.399528,.901938,.393594,.90209,.400855,.915665,.395143,.916469,.402133,.92891,.396555,.93029,.38774,.901943,.37978,.885016,.381927,.90098,.385939,.887032,.389507,.91773,.390865,.932747,.384349,.91972,.384838,.936783,.597417,.882702,.589575,.883222,.606105,.88119,.604903,.895056,.596691,.896559,.59647,.924582,.589944,.911287,.596996,.910932,.604875,.911342,.60438,.928106,.568002,.945242,.573292,.935515,.568514,.93522,.573355,.945589,.568828,.926395,.573137,.926707,.579013,.944617,.578138,.934712,.577421,.925992,.567659,.956529,.573294,.956951,.572857,.969741,.566671,.968501,.579292,.956108,.580077,.968376,.594321,.936514,.600725,.942057,.558736,.88189,.562918,.880468,.561053,.915108,.565016,.917185,.548601,.946442,.554029,.939359,.431917,.950295,.425132,.944748,.419494,.941856,.408802,.940604,.414158,.940641,.415052,.952064,.409963,.952183,.418471,.973422,.41123,.963476,.412724,.975096,.41633,.962735,.403445,.941287,.404735,.95282,.398014,.942906,.501947,.856216,.502049,.852689,.50182,.859369,.501595,.86253,.501322,.866032,.484673,.858177,.489431,.850049,.483601,.850368,.478762,.858289,.477597,.850557,.47955,.86582,.484812,.865719,.489927,.866186,.484996,.872662,.489233,.872551,.480383,.873278,.471808,.850862,.473139,.858548,.466151,.851297,.467709,.858968,.474345,.866013,.475484,.873246,.469177,.866395,.470651,.873461,.46056,.851923,.462302,.859597,.455013,.852675,.456899,.860445,.464039,.867066,.458796,.868053,.46582,.874133,.460874,.875315,.449524,.853564,.444078,.854589,.451437,.861443,.445896,.8624,.455646,.877099,.447398,.870752,.449737,.879473,.453331,.869331,.521291,.862032,.52949,.863102,.522418,.853888,.52982,.855141,.515454,.85248,.513736,.869465,.520726,.870465,.528861,.871929,.526512,.881619,.518959,.878482,.513128,.8765,.495671,.879301,.500225,.875142,.496573,.874354,.499398,.880149,.504102,.875632,.503331,.880759,.498306,.885367,.502409,.88595,.494536,.884333,.507374,.881225,.508307,.87592,.511462,.882223,.506393,.886088,.509631,.885938,.492849,.889676,.494837,.897625,.496872,.891085,.49044,.895617,.501455,.891683,.500513,.898283,.506191,.891318,.512699,.89612,.511043,.889664,.505812,.897748,.489004,.877959,.492964,.873367,.492263,.878411,.491347,.883026,.489087,.881815,.489476,.887654,.486952,.893288,.486806,.884571,.483214,.889714,.481481,.8814,.485578,.879147,.520938,.890593,.515599,.885262,.476667,.88023,.472153,.880053,.467677,.880641,.469611,.886552,.463194,.881997,.471512,.891846,.473756,.897373,.318847,.898065,.312642,.896686,.325193,.899076,.323709,.913642,.31763,.912753,.311638,.911595,.316369,.92756,.310556,.926899,.322178,.928267,.315185,.942191,.32071,.9426,.309368,.94224,.306704,.89481,.305861,.91001,.30127,.892411,.300334,.907545,.304712,.926043,.299272,.92445,.303202,.942737,.296812,.943488,.688144,.899869,.678164,.886504,.68537,.884885,.69256,.882369,.695191,.897524,.700034,.913296,.692423,.91474,.703671,.930474,.695765,.929235,.685802,.916605,.668,.905577,.662459,.900123,.664442,.906517,.666138,.899367,.664462,.892787,.66041,.893493,.672356,.918662,.66652,.913068,.668779,.920087,.669988,.911896,.658844,.901228,.656525,.894744,.66083,.907432,.664891,.920712,.662892,.913797,.338207,.899956,.344742,.899647,.351123,.898621,.342367,.914999,.349029,.91417,.336062,.914934,.336837,.948075,.346305,.931531,.339807,.931221,.342605,.951547,.331398,.945344,.333761,.930162,.329861,.914386,.331649,.899695,.327967,.929154,.326064,.943521,.669667,.936755,.672499,.946051,.673965,.935816,.677063,.944851,.67573,.956619,.681147,.942851,.677928,.934159,.686239,.981862,.680485,.968474,.706253,.947813,.697638,.943084,.658469,.954525,.654982,.962701,.651158,.941488,.645476,.946091,.328899,.959523,.333607,.96409,.33898,.971894,.319477,.956181,.32431,.956969,.308436,.957078,.314234,.956276,.31379,.969679,.757482,.871868,.757947,.864741,.754105,.866107,.760961,.870525,.763999,.875884,.760652,.877351,.750596,.868025,.754174,.873524,.757327,.878792,.763444,.889836,.763814,.882834,.760397,.88409,.767145,.888636,.770519,.886803,.767051,.88122,.723779,.881098,.729919,.876911,.735883,.872634,.739072,.888707,.733045,.893396,.257653,.88689,.265754,.888564,.273418,.890346,.262236,.902887,.269809,.904911,.254284,.901023,.741701,.905773,.746892,.900555,.752315,.896963,.75444,.910822,.750679,.916662,.251186,.914883,.259156,.917063,.267161,.919748,.256081,.930739,.264252,.934584,.248305,.928113,.246127,.899401,.249348,.885248,.237771,.89804,.240853,.883659,.243125,.913276,.234767,.912144,.240455,.926556,.232175,.925815,.232283,.882233,.229275,.896834,.223836,.881142,.22098,.895715,.22595,.911384,.223083,.925873,.216657,.910668,.212735,.926462,.785991,.852828,.778445,.855013,.793173,.866414,.78486,.868526,.770923,.856861,.798011,.893778,.784766,.883403,.7922,.881456,.801108,.880113,.808067,.894263,.778721,.909016,.782808,.906826,.774561,.901693,.778443,.899697,.812768,.909655,.801498,.905753,.762006,.919592,.759969,.926366,.778417,.919206,.774206,.910592,.770384,.903089,.784089,.928739,.790479,.939744,.259923,.94841,.252604,.943194,.245577,.940282,.238245,.938892,.230353,.938703,.236588,.950162,.638527,.912497,.632304,.897847,.629014,.914268,.623296,.899331,.640314,.895699,.651705,.925707,.644415,.927441,.636216,.930248,.582603,.862712,.583687,.871883,.578045,.864392,.578809,.87224,.573846,.86519,.574535,.872352,.570362,.872439,.569785,.865401,.565717,.865197,.566227,.872453,.583834,.881345,.579196,.880125,.574914,.879633,.570874,.879485,.585005,.91407,.580844,.916468,.572869,.918616,.576899,.917983,.510878,.816752,.50556,.814854,.500591,.813988,.510699,.838049,.510926,.844273,.506114,.838443,.506259,.843776,.501963,.838318,.502067,.843362,.510351,.850323,.506022,.848978,.508702,.870215,.50454,.870571,.502089,.848341,.49821,.848233,.493851,.868107,.497381,.869508,.500876,.870315,.628271,.838068,.633178,.835002,.638852,.871508,.644504,.872209,.641592,.881759,.646844,.88079,.638091,.832961,.643153,.831688,.653806,.831175,.648387,.83108,.666877,.865224,.669888,.875178,.6625,.868167,.664974,.876595,.658203,.870053,.660509,.877781,.656066,.878857,.653874,.871276,.651563,.87983,.649337,.87205,.672093,.885461,.667092,.885126,.681816,.920471,.678477,.923757,.662564,.885529,.658275,.886323,.654034,.887555,.649772,.889267,.657713,.927027,.662691,.928202,.66715,.928366,.671226,.927629,.738282,.805694,.732307,.806561,.727022,.808113,.722103,.810263,.712996,.816531,.717439,.813051,.728017,.850245,.733616,.849472,.73333,.859235,.738087,.857028,.738315,.848113,.742577,.846346,.742371,.855057,.746523,.85314,.750472,.841547,.746586,.844225,.754914,.849263,.750659,.851219,.75432,.837898,.759692,.847093,.764229,.856579,.758967,.857056,.780835,.887179,.777656,.890471,.754495,.858244,.75043,.859826,.742922,.864333,.746596,.861831,.757765,.896781,.762513,.896783,.77075,.894933,.766792,.896197,.310501,.608804,.297016,.627829,.311794,.626282,.295779,.61155,.293501,.594749,.309223,.589217,.312901,.643622,.297183,.643982,.314278,.662616,.296017,.660316,.684592,.712391,.695932,.711897,.70691,.711921,.661931,.714616,.673204,.713371,.650823,.716137,.639836,.717816,.628866,.719577,.617887,.720986,.606946,.721875,.596107,.722267,.574628,.722346,.585375,.722396,.56374,.722096,.55266,.721415,.54144,.720273,.53007,.718773,.51856,.717255,.506753,.715751,.412577,.705152,.411583,.690833,.395638,.706162,.398126,.689215,.437431,.740639,.447852,.740223,.43387,.72968,.445064,.727663,.3604,.736568,.342078,.724187,.345785,.738841,.356344,.721881,.370088,.719054,.374791,.733718,.331026,.740555,.316346,.741982,.327445,.726158,.312673,.728076,.301985,.743258,.288097,.744092,.298498,.73043,.28492,.732393,.274732,.744297,.271898,.733888,.355798,.674012,.374683,.677987,.36746,.667083,.36544,.68942,.377696,.662635,.380279,.67127,.388466,.673245,.38831,.661879,.349584,.693306,.333596,.683668,.335754,.695936,.344372,.680337,.332349,.675309,.338445,.670365,.380856,.696359,.385546,.684192,.291806,.675911,.307637,.679757,.321817,.683057,.321059,.697022,.324894,.671894,.494455,.714311,.481525,.712885,.467916,.711636,.453898,.711364,.441442,.714136,.429609,.716843,.366248,.705424,.352723,.707624,.338653,.709861,.308415,.713812,.323919,.711688,.294345,.717963,.281179,.721339,.268536,.724056,.25634,.726157,.233665,.728426,.244693,.727643,.32673,.624897,.325226,.6081,.323796,.5921,.323113,.582721,.316717,.577935,.40373,.72493,.417317,.720128,.423356,.733639,.429353,.74132,.49939,.622405,.588661,.635279,.1081,.723871,.11531,.716709,.561455,.828413,.405886,.963858,.406543,.975227,.392482,.946047,.386123,.951585,.458601,.884224,.45353,.887914,.313898,.982917,.314605,.997448,.301907,.959056,.293748,.963017,.235294,.971465,.235532,.960561,.221535,.939777,.210786,.942825,.5669,.879784,.568904,.918347,.494111,.848774,.659558,.832158,.64539,.891894,.67502,.926083,.708731,.821004,.739456,.867777,.774351,.893016,.459744,.80238,.717402,.712402,.727558,.713048,.328285,.641645,.329881,.657504,.331107,.666577,.389147,.730068,.382908,.71521,.376693,.705655,.284338,.561968,.288975,.578431,.296216,.556024,.301681,.572533,.307997,.551638,.312077,.566486,.404075,.571052,.390974,.574116,.378286,.576351,.536628,.812638,.53233,.81038,.430363,.811832,.422628,.813443,.06141,.486205,.146716,.439424,.075042,.504764,.094054,.516661,.116983,.523614,.141274,.525235,.164114,.522375,.186363,.512632,.212101,.501872,.23452,.482402,.247405,.452825,.201782,.383327,.133196,.353119,.11395,.354778,.098044,.359361,.08452,.367038,.073805,.378312,.064689,.393287,.056438,.412605,.052209,.435877,.053297,.461836]],faces:[42,584,591,592,0,0,1,2,0,1,2,42,591,584,1,0,1,0,3,1,0,3,42,592,19,584,0,2,4,0,2,4,0,42,19,592,590,0,4,2,5,4,2,5,42,592,10,590,0,2,6,5,2,6,5,42,10,592,591,0,6,2,1,6,2,1,42,596,18,595,0,7,8,9,7,8,9,42,18,596,593,0,8,7,10,8,7,10,42,19,593,594,0,4,10,11,4,10,11,42,593,596,594,0,10,7,11,10,7,11,42,9,596,595,0,12,7,9,12,7,9,42,596,9,594,0,7,12,11,7,12,11,42,599,600,12,0,13,14,15,13,14,15,42,597,12,600,0,16,15,14,16,15,14,42,598,549,597,0,17,18,16,17,18,16,42,597,600,598,0,16,14,17,16,14,17,42,85,600,599,0,19,14,13,19,14,13,42,600,85,598,0,14,19,17,14,19,17,42,604,601,29,0,20,21,22,20,21,22,42,29,603,604,0,22,23,20,22,23,20,42,20,604,602,0,24,20,25,24,20,25,42,604,20,601,0,20,24,21,20,24,21,42,603,18,602,0,23,8,25,23,8,25,42,603,602,604,0,23,25,20,23,25,20,42,605,607,608,0,26,27,28,26,27,28,42,607,605,21,0,27,26,29,27,26,29,42,608,20,605,0,28,24,26,28,24,26,42,20,608,606,0,24,28,30,24,28,30,42,608,534,606,0,28,31,30,28,31,30,42,534,608,607,0,31,28,27,31,28,27,42,609,532,612,0,32,33,34,32,33,34,42,532,611,612,0,33,35,34,33,35,34,42,610,22,609,0,36,37,32,36,37,32,42,610,609,612,0,36,32,34,36,32,34,42,85,610,611,0,19,36,35,19,36,35,42,611,610,612,0,35,36,34,35,36,34,42,616,53,615,0,38,39,40,38,39,40,42,53,616,613,0,39,38,41,39,38,41,42,616,614,613,0,38,42,41,38,42,41,42,613,614,33,0,41,42,43,41,42,43,42,616,54,614,0,38,44,42,38,44,42,42,54,616,615,0,44,38,40,44,38,40,42,619,620,39,0,45,46,47,45,46,47,42,39,620,617,0,47,46,48,47,46,48,42,57,617,618,0,49,48,50,49,48,50,42,617,620,618,0,48,46,50,48,46,50,42,47,620,619,0,51,46,45,51,46,45,42,620,47,618,0,46,51,50,46,51,50,42,621,58,623,0,52,53,54,52,53,54,42,58,622,623,0,53,55,54,53,55,54,42,617,57,621,0,48,49,52,48,49,52,42,617,621,623,0,48,52,54,48,52,54,42,39,623,622,0,47,54,55,47,54,55,42,623,39,617,0,54,47,48,54,47,48,42,624,40,627,0,56,57,58,56,57,58,42,40,626,627,0,57,59,58,57,59,58,42,47,627,625,0,51,58,60,51,58,60,42,627,47,624,0,58,51,56,58,51,56,42,50,627,626,0,61,58,59,61,58,59,42,627,50,625,0,58,61,60,58,61,60,42,630,40,629,0,62,57,63,62,57,63,42,40,630,626,0,57,62,59,57,62,59,42,630,50,626,0,62,61,59,62,61,59,42,50,630,628,0,61,62,64,61,62,64,42,49,630,629,0,65,62,63,65,62,63,42,630,49,628,0,62,65,64,62,65,64,42,53,633,634,0,39,66,67,39,66,67,42,53,634,631,0,39,67,68,39,67,68,42,632,631,634,0,69,68,67,69,68,67,42,631,632,106,0,68,69,70,68,69,70,42,41,634,633,0,71,67,66,71,67,66,42,634,41,632,0,67,71,69,67,71,69,42,637,83,636,0,72,73,74,72,73,74,42,635,83,637,0,75,73,72,75,73,72,42,41,635,632,0,71,75,69,71,75,69,42,635,637,632,0,75,72,69,75,72,69,42,106,637,636,0,70,72,74,70,72,74,42,637,106,632,0,72,70,69,72,70,69,42,641,59,640,0,76,77,78,76,77,78,42,59,641,638,0,77,76,79,77,76,79,42,641,58,638,0,76,53,79,76,53,79,42,58,641,639,0,53,76,80,53,76,80,42,42,641,640,0,81,76,78,81,76,78,42,641,42,639,0,76,81,80,76,81,80,42,644,642,42,0,82,83,81,82,83,81,42,42,640,644,0,81,78,82,81,78,82,42,45,644,643,0,84,82,85,84,82,85,42,644,45,642,0,82,84,83,82,84,83,42,59,644,640,0,77,82,78,77,82,78,42,644,59,643,0,82,77,85,82,77,85,42,648,645,44,0,86,87,88,86,87,88,42,44,647,648,0,88,89,86,88,89,86,42,646,45,645,0,90,84,87,90,84,87,42,646,645,648,0,90,87,86,90,87,86,42,46,648,647,0,91,86,89,91,86,89,42,648,46,646,0,86,91,90,86,91,90,42,651,652,49,0,92,93,65,92,93,65,42,649,49,652,0,94,65,93,94,65,93,42,52,649,650,0,95,94,96,95,94,96,42,649,652,650,0,94,93,96,94,93,96,42,48,652,651,0,97,93,92,97,93,92,42,652,48,650,0,93,97,96,93,97,96,42,654,653,533,0,98,99,100,98,99,100,42,653,654,655,0,99,98,101,99,98,101,42,532,653,611,0,33,99,35,33,99,35,42,653,655,611,0,99,101,35,99,101,35,42,85,655,654,0,19,101,98,19,101,98,42,655,85,611,0,101,19,35,101,19,35,42,656,658,659,0,102,103,104,102,103,104,42,658,656,99,0,103,102,105,103,102,105,42,656,657,114,0,102,106,107,102,106,107,42,657,656,659,0,106,102,104,106,102,104,42,100,659,658,0,108,104,103,108,104,103,42,659,100,657,0,104,108,106,104,108,106,42,662,663,104,0,109,110,111,109,110,111,42,660,104,663,0,112,111,110,112,111,110,42,110,660,661,0,113,112,114,113,112,114,42,660,663,661,0,112,110,114,112,110,114,42,102,663,662,0,115,110,109,115,110,109,42,663,102,661,0,110,115,114,110,115,114,42,666,667,194,0,116,117,118,116,117,118,42,664,194,667,0,119,118,117,119,118,117,42,665,128,664,0,120,121,119,120,121,119,42,665,664,667,0,120,119,117,120,119,117,42,123,667,666,0,122,117,116,122,117,116,42,667,123,665,0,117,122,120,117,122,120,42,671,124,670,0,123,124,125,123,124,125,42,124,671,668,0,124,123,126,124,123,126,42,669,668,671,0,127,126,123,127,126,123,42,192,668,669,0,128,126,127,128,126,127,42,193,671,670,0,129,123,125,129,123,125,42,671,193,669,0,123,129,127,123,129,127,42,672,674,675,0,130,131,132,130,131,132,42,674,672,199,0,131,130,133,131,130,133,42,673,672,675,0,134,130,132,134,130,132,42,200,672,673,0,135,130,134,135,130,134,42,125,675,674,0,136,132,131,136,132,131,42,675,125,673,0,132,136,134,132,136,134,42,678,673,125,0,137,134,136,137,134,136,42,125,677,678,0,136,138,137,136,138,137,42,200,678,676,0,135,137,139,135,137,139,42,678,200,673,0,137,135,134,137,135,134,42,676,678,677,0,139,137,138,139,137,138,42,677,201,676,0,138,140,139,138,140,139,42,681,679,202,0,141,142,143,141,142,143,42,679,681,682,0,142,141,144,142,141,144,42,127,682,680,0,145,144,146,145,144,146,42,682,127,679,0,144,145,142,144,145,142,42,126,682,681,0,147,144,141,147,144,141,42,682,126,680,0,144,147,146,144,147,146,42,685,126,684,0,148,147,149,148,147,149,42,126,685,680,0,147,148,146,147,148,146,42,685,127,680,0,148,145,146,148,145,146,42,127,685,683,0,145,148,150,145,148,150,42,683,684,206,0,150,149,151,150,149,151,42,684,683,685,0,149,150,148,149,150,148,42,686,190,688,0,152,153,154,152,153,154,42,190,687,688,0,153,155,154,153,155,154,42,664,686,688,0,119,152,154,119,152,154,42,686,664,128,0,152,119,121,152,119,121,42,194,688,687,0,118,154,155,118,154,155,42,688,194,664,0,154,118,119,154,118,119,42,691,689,170,0,156,157,158,156,157,158,42,689,691,692,0,157,156,159,157,156,159,42,172,689,690,0,160,157,161,160,157,161,42,690,689,692,0,161,157,159,161,157,159,42,129,692,691,0,162,159,156,162,159,156,42,692,129,690,0,159,162,161,159,162,161,42,695,129,694,0,163,162,164,163,162,164,42,129,695,690,0,162,163,161,162,163,161,42,693,690,695,0,165,161,163,165,161,163,42,172,690,693,0,160,161,165,160,161,165,42,171,695,694,0,166,163,164,166,163,164,42,695,171,693,0,163,166,165,163,166,165,42,698,699,134,0,167,168,169,167,168,169,42,696,134,699,0,170,169,168,170,169,168,42,697,155,696,0,171,172,170,171,172,170,42,697,696,699,0,171,170,168,171,170,168,42,154,697,698,0,173,171,167,173,171,167,42,698,697,699,0,167,171,168,167,171,168,42,700,153,702,0,174,175,176,174,175,176,42,153,701,702,0,175,177,176,175,177,176,42,696,155,700,0,170,172,174,170,172,174,42,696,700,702,0,170,174,176,170,174,176,42,134,702,701,0,169,176,177,169,176,177,42,702,134,696,0,176,169,170,176,169,170,42,705,706,238,0,178,179,180,178,179,180,42,238,706,703,0,180,179,181,180,179,181,42,140,706,704,0,182,179,183,182,179,183,42,706,140,703,0,179,182,181,179,182,181,42,179,704,705,0,184,183,178,184,183,178,42,705,704,706,0,178,183,179,178,183,179,42,710,181,709,0,185,186,187,185,186,187,42,707,181,710,0,188,186,185,188,186,185,42,142,710,708,0,189,185,190,189,185,190,42,710,142,707,0,185,189,188,185,189,188,42,182,710,709,0,191,185,187,191,185,187,42,710,182,708,0,185,191,190,185,191,190,42,713,711,184,0,192,193,194,192,193,194,42,711,713,714,0,193,192,195,193,192,195,42,144,711,712,0,196,193,197,196,193,197,42,712,711,714,0,197,193,195,197,193,195,42,185,714,713,0,198,195,192,198,195,192,42,714,185,712,0,195,198,197,195,198,197,42,717,718,147,0,199,200,201,199,200,201,42,715,147,718,0,202,201,200,202,201,200,42,716,149,715,0,203,204,202,203,204,202,42,716,715,718,0,203,202,200,203,202,200,42,150,718,717,0,205,200,199,205,200,199,42,718,150,716,0,200,205,203,200,205,203,42,720,721,150,0,206,207,205,206,207,205,42,716,150,721,0,203,205,207,203,205,207,42,719,149,716,0,208,204,203,208,204,203,42,716,721,719,0,203,207,208,203,207,208,42,148,721,720,0,209,207,206,209,207,206,42,721,148,719,0,207,209,208,207,209,208,42,722,724,725,0,210,211,212,210,211,212,42,724,722,159,0,211,210,213,211,210,213,42,723,161,722,0,214,215,210,214,215,210,42,723,722,725,0,214,210,212,214,210,212,42,589,725,724,0,216,212,211,216,212,211,42,725,589,723,0,212,216,214,212,216,214,42,728,589,727,0,217,216,218,217,216,218,42,589,728,723,0,216,217,214,216,217,214,42,161,723,726,0,215,214,219,215,214,219,42,723,728,726,0,214,217,219,214,217,219,42,160,728,727,0,220,217,218,220,217,218,42,728,160,726,0,217,220,219,217,220,219,42,729,188,732,0,221,222,223,221,222,223,42,188,731,732,0,222,224,223,222,224,223,42,235,732,730,0,225,223,226,225,223,226,42,732,235,729,0,223,225,221,223,225,221,42,345,730,731,0,227,226,224,227,226,224,42,731,730,732,0,224,226,223,224,226,223,42,733,734,735,0,228,229,230,228,229,230,42,734,733,485,0,229,228,231,229,228,231,42,235,735,729,0,225,230,221,225,230,221,42,735,235,733,0,230,225,228,230,225,228,42,188,735,734,0,222,230,229,222,230,229,42,735,188,729,0,230,222,221,230,222,221,42,738,193,737,0,232,129,233,232,129,233,42,193,738,669,0,129,232,127,129,232,127,42,736,669,738,0,234,127,232,234,127,232,42,669,736,192,0,127,234,128,127,234,128,42,738,191,736,0,232,235,234,232,235,234,42,191,738,737,0,235,232,233,235,232,233,42,216,741,742,0,236,237,238,236,237,238,42,216,742,739,0,236,238,239,236,238,239,42,740,739,742,0,240,239,238,240,239,238,42,739,740,223,0,239,240,241,239,240,241,42,226,742,741,0,242,238,237,242,238,237,42,742,226,740,0,238,242,240,238,242,240,42,743,745,746,0,243,244,245,243,244,245,42,745,743,225,0,244,243,246,244,243,246,42,744,743,746,0,247,243,245,247,243,245,42,743,744,219,0,243,247,248,243,247,248,42,746,218,744,0,245,249,247,245,249,247,42,218,746,745,0,249,245,244,249,245,244,42,750,356,749,0,250,251,252,250,251,252,42,356,750,747,0,251,250,253,251,250,253,42,750,357,747,0,250,254,253,250,254,253,42,357,750,748,0,254,250,255,254,250,255,42,748,749,230,0,255,252,256,255,252,256,42,749,748,750,0,252,255,250,252,255,250,42,753,230,752,0,257,256,258,257,256,258,42,230,753,748,0,256,257,255,256,257,255,42,751,748,753,0,259,255,257,259,255,257,42,748,751,357,0,255,259,254,255,259,254,42,751,753,752,0,259,257,258,259,257,258,42,752,423,751,0,258,260,259,258,260,259,42,754,231,757,0,261,262,263,261,262,263,42,231,756,757,0,262,264,263,262,264,263,42,353,757,755,0,265,263,266,265,263,266,42,757,353,754,0,263,265,261,263,265,261,42,354,757,756,0,267,263,264,267,263,264,42,757,354,755,0,263,267,266,263,267,266,42,758,759,760,0,268,269,270,268,269,270,42,759,758,359,0,269,268,271,269,268,271,42,353,760,754,0,265,270,261,265,270,261,42,760,353,758,0,270,265,268,270,265,268,42,231,760,759,0,262,270,269,262,270,269,42,760,231,754,0,270,262,261,270,262,261,42,763,761,264,0,272,273,274,272,273,274,42,761,763,764,0,273,272,275,273,272,275,42,764,335,761,0,275,276,273,275,276,273,42,335,764,762,0,276,275,277,276,275,277,42,232,764,763,0,278,275,272,278,275,272,42,764,232,762,0,275,278,277,275,278,277,42,767,232,766,0,279,278,280,279,278,280,42,232,767,762,0,278,279,277,278,279,277,42,767,335,762,0,279,276,277,279,276,277,42,335,767,765,0,276,279,281,276,279,281,42,765,766,336,0,281,280,282,281,280,282,42,766,765,767,0,280,281,279,280,281,279,42,768,233,771,0,283,284,285,283,284,285,42,233,770,771,0,284,286,285,284,286,285,42,248,771,769,0,287,285,288,287,285,288,42,771,248,768,0,285,287,283,285,287,283,42,266,769,770,0,289,288,286,289,288,286,42,770,769,771,0,286,288,285,286,288,285,42,772,773,774,0,290,291,292,290,291,292,42,773,772,337,0,291,290,293,291,290,293,42,248,774,768,0,287,292,283,287,292,283,42,774,248,772,0,292,287,290,292,287,290,42,233,774,773,0,284,292,291,284,292,291,42,774,233,768,0,292,284,283,292,284,283,42,778,344,777,0,294,295,296,294,295,296,42,344,778,775,0,295,294,297,295,294,297,42,346,775,776,0,298,297,299,298,297,299,42,775,778,776,0,297,294,299,297,294,299,42,234,778,777,0,300,294,296,300,294,296,42,778,234,776,0,294,300,299,294,300,299,42,781,234,780,0,301,300,302,301,300,302,42,234,781,776,0,300,301,299,300,301,299,42,781,346,776,0,301,298,299,301,298,299,42,346,781,779,0,298,301,303,298,301,303,42,347,781,780,0,304,301,302,304,301,302,42,781,347,779,0,301,304,303,301,304,303,42,782,236,785,0,305,306,307,305,306,307,42,236,784,785,0,306,308,307,306,308,307,42,371,785,783,0,309,307,310,309,307,310,42,785,371,782,0,307,309,305,307,309,305,42,784,370,783,0,308,311,310,308,311,310,42,784,783,785,0,308,310,307,308,310,307,42,786,787,788,0,312,313,314,312,313,314,42,787,786,372,0,313,312,315,313,312,315,42,371,788,782,0,309,314,305,309,314,305,42,788,371,786,0,314,309,312,314,309,312,42,236,788,787,0,306,314,313,306,314,313,42,788,236,782,0,314,306,305,314,306,305,42,789,791,792,0,316,317,318,316,317,318,42,791,789,368,0,317,316,319,317,316,319,42,792,375,789,0,318,320,316,318,320,316,42,375,792,790,0,320,318,321,320,318,321,42,792,237,790,0,318,322,321,318,322,321,42,237,792,791,0,322,318,317,322,318,317,42,795,237,794,0,323,322,324,323,322,324,42,237,795,790,0,322,323,321,322,323,321,42,795,375,790,0,323,320,321,323,320,321,42,375,795,793,0,320,323,325,320,323,325,42,793,795,794,0,325,323,324,325,323,324,42,794,374,793,0,324,326,325,324,326,325,42,796,798,799,0,327,328,329,327,328,329,42,798,796,268,0,328,327,330,328,327,330,42,799,277,796,0,329,331,327,329,331,327,42,797,277,799,0,332,331,329,332,331,329,42,799,340,797,0,329,333,332,329,333,332,42,340,799,798,0,333,329,328,333,329,328,42,800,801,802,0,334,335,336,334,335,336,42,801,800,343,0,335,334,337,335,334,337,42,802,277,800,0,336,331,334,336,331,334,42,277,802,796,0,331,336,327,331,336,327,42,802,268,796,0,336,330,327,336,330,327,42,268,802,801,0,330,336,335,330,336,335,42,806,338,805,0,338,339,340,338,339,340,42,338,806,803,0,339,338,341,339,338,341,42,466,803,806,0,342,341,338,342,341,338,42,466,806,804,0,342,338,343,342,338,343,42,804,805,274,0,343,340,344,343,340,344,42,805,804,806,0,340,343,338,340,343,338,42,809,804,274,0,345,343,344,345,343,344,42,274,808,809,0,344,346,345,344,346,345,42,807,466,809,0,347,342,345,347,342,345,42,809,466,804,0,345,342,343,345,342,343,42,807,809,808,0,347,345,346,347,345,346,42,808,341,807,0,346,348,347,346,348,347,42,810,812,813,0,349,350,351,349,350,351,42,812,810,467,0,350,349,352,350,349,352,42,811,810,813,0,353,349,351,353,349,351,42,810,811,276,0,349,353,354,349,353,354,42,476,813,812,0,355,351,350,355,351,350,42,813,476,811,0,351,355,353,351,355,353,42,814,816,817,0,356,357,358,356,357,358,42,816,814,282,0,357,356,359,357,356,359,42,817,300,814,0,358,360,356,358,360,356,42,300,817,815,0,360,358,361,360,358,361,42,276,817,816,0,354,358,357,354,358,357,42,817,276,815,0,358,354,361,358,354,361,42,301,821,818,0,362,363,364,362,363,364,42,821,301,820,0,363,362,365,363,362,365,42,302,821,819,0,366,363,367,366,363,367,42,821,302,818,0,363,366,364,363,366,364,42,821,820,819,0,363,365,367,363,365,367,42,820,278,819,0,365,368,367,365,368,367,42,824,302,819,0,369,370,371,369,366,367,42,302,824,822,0,370,369,372,366,369,370,42,824,279,822,0,369,373,372,369,371,370,42,279,824,823,0,373,369,374,371,369,372,42,278,824,819,0,375,369,371,368,369,367,42,824,278,823,0,369,375,374,369,368,372,42,827,282,814,0,376,377,378,373,359,356,42,282,827,825,0,377,376,379,359,373,374,42,827,281,825,0,376,380,379,373,375,374,42,281,827,826,0,380,376,381,375,373,376,42,300,827,814,0,382,376,378,360,373,356,42,827,300,826,0,376,382,381,373,360,376,42,831,349,830,0,383,384,385,377,378,379,42,349,831,828,0,384,383,386,378,377,380,42,348,828,829,0,387,386,388,381,380,382,42,828,831,829,0,386,383,388,380,377,382,42,284,831,830,0,389,383,385,383,377,379,42,831,284,829,0,383,389,388,377,383,382,42,834,284,833,0,390,389,391,384,383,385,42,284,834,829,0,389,390,388,383,384,382,42,832,829,834,0,392,388,390,386,382,384,42,829,832,348,0,388,392,387,382,386,381,42,494,834,833,0,393,390,391,387,384,385,42,834,494,832,0,390,393,392,384,387,386,42,835,285,838,0,394,395,396,388,389,390,42,285,837,838,0,395,397,396,389,391,390,42,351,838,836,0,398,396,399,392,390,393,42,838,351,835,0,396,398,394,390,392,388,42,350,838,837,0,400,396,397,394,390,391,42,838,350,836,0,396,400,399,390,394,393,42,839,840,841,0,401,402,403,395,396,397,42,840,839,352,0,402,401,404,396,395,398,42,351,841,835,0,398,403,394,392,397,388,42,841,351,839,0,403,398,401,397,392,395,42,285,841,840,0,395,403,402,389,397,396,42,841,285,835,0,403,395,394,397,389,388,42,845,299,844,0,405,406,407,399,400,401,42,299,845,842,0,406,405,408,400,399,402,42,845,297,842,0,405,409,408,399,403,402,42,297,845,843,0,409,405,410,403,399,404,42,294,845,844,0,411,405,407,405,399,401,42,845,294,843,0,405,411,410,399,405,404,42,846,295,849,0,412,413,414,406,407,408,42,295,848,849,0,413,415,414,407,409,408,42,298,849,847,0,416,414,417,410,408,411,42,849,298,846,0,414,416,412,408,410,406,42,296,849,848,0,418,414,415,412,408,409,42,849,296,847,0,414,418,417,408,412,411,42,853,474,852,0,419,420,421,413,414,415,42,474,853,850,0,420,419,422,414,413,416,42,850,853,851,0,422,419,423,416,413,417,42,850,851,301,0,422,423,362,416,417,362,42,853,852,851,0,419,421,423,413,415,417,42,851,852,473,0,423,421,424,417,415,418,42,856,854,361,0,425,426,427,419,420,421,42,854,856,857,0,426,425,428,420,419,422,42,857,360,854,0,428,429,426,422,423,420,42,360,857,855,0,429,428,430,423,422,424,42,305,857,856,0,431,428,425,425,422,419,42,857,305,855,0,428,431,430,422,425,424,42,860,305,859,0,432,431,433,426,425,427,42,305,860,855,0,431,432,430,425,426,424,42,860,360,855,0,432,429,430,426,423,424,42,360,860,858,0,429,432,434,423,426,428,42,858,860,859,0,434,432,433,428,426,427,42,859,367,858,0,433,435,434,427,429,428,42,861,307,864,0,436,437,438,430,431,432,42,307,863,864,0,437,439,438,431,433,432,42,364,864,862,0,440,438,441,434,432,435,42,864,364,861,0,438,440,436,432,434,430,42,363,864,863,0,442,438,439,436,432,433,42,864,363,862,0,438,442,441,432,436,435,42,865,866,867,0,443,444,445,437,438,439,42,866,865,366,0,444,443,446,438,437,440,42,364,867,861,0,440,445,436,434,439,430,42,867,364,865,0,445,440,443,439,434,437,42,307,867,866,0,437,445,444,431,439,438,42,867,307,861,0,445,437,436,439,431,430,42,868,318,871,0,447,448,449,441,442,443,42,318,870,871,0,448,450,449,442,444,443,42,309,871,869,0,451,449,452,445,443,446,42,871,309,868,0,449,451,447,443,445,441,42,310,869,870,0,453,452,450,447,446,444,42,870,869,871,0,450,452,449,444,446,443,42,872,442,875,0,454,455,456,448,449,450,42,442,874,875,0,455,457,456,449,451,450,42,873,872,875,0,458,454,456,452,448,450,42,872,873,310,0,454,458,453,448,452,447,42,441,875,874,0,459,456,457,453,450,451,42,875,441,873,0,456,459,458,450,453,452,42,876,877,878,0,460,461,462,454,455,456,42,877,876,316,0,461,460,463,455,454,457,42,870,876,878,0,450,460,462,444,454,456,42,318,876,870,0,448,460,450,442,454,444,42,310,878,877,0,453,462,461,447,456,455,42,878,310,870,0,462,453,450,456,447,444,42,879,439,882,0,464,465,466,458,459,460,42,881,882,439,0,467,466,465,461,460,459,42,879,882,880,0,464,466,468,458,460,462,42,879,880,311,0,464,468,469,458,462,463,42,438,882,881,0,470,466,467,464,460,461,42,882,438,880,0,466,470,468,460,464,462,42,886,311,885,0,471,469,472,465,463,466,42,311,886,883,0,469,471,473,463,465,467,42,886,317,883,0,471,474,473,465,468,467,42,317,886,884,0,474,471,475,468,465,469,42,884,886,885,0,475,471,472,469,465,466,42,885,312,884,0,472,476,475,466,470,469,42,884,312,889,0,477,478,479,469,470,471,42,312,888,889,0,478,480,479,470,472,471,42,887,317,884,0,481,482,477,473,468,469,42,887,884,889,0,481,477,479,473,469,471,42,889,313,887,0,479,483,481,471,474,473,42,313,889,888,0,483,479,480,474,471,472,42,313,892,887,0,483,484,481,474,475,473,42,892,313,891,0,484,483,485,475,474,476,42,890,887,892,0,486,481,484,477,473,475,42,887,890,317,0,481,486,482,473,477,468,42,892,314,890,0,484,487,486,475,478,477,42,314,892,891,0,487,484,485,478,475,476,42,893,315,895,0,488,489,490,479,480,481,42,315,894,895,0,489,491,490,480,482,481,42,876,318,893,0,492,493,488,454,442,479,42,876,893,895,0,492,488,490,454,479,481,42,895,316,876,0,490,494,492,481,457,454,42,316,895,894,0,494,490,491,457,481,482,42,896,320,899,0,495,496,497,483,484,485,42,320,898,899,0,496,498,497,484,486,485,42,380,899,897,0,499,497,500,487,485,488,42,899,380,896,0,497,499,495,485,487,483,42,898,379,897,0,498,501,500,486,489,488,42,898,897,899,0,498,500,497,486,488,485,42,900,901,902,0,502,503,504,490,491,492,42,901,900,381,0,503,502,505,491,490,493,42,380,902,896,0,499,504,495,487,492,483,42,902,380,900,0,504,499,502,492,487,490,42,320,902,901,0,496,504,503,484,492,491,42,902,320,896,0,504,496,495,492,484,483,42,905,903,377,0,506,507,508,494,495,496,42,903,905,906,0,507,506,509,495,494,497,42,906,376,903,0,509,510,507,497,498,495,42,376,906,904,0,510,509,511,498,497,499,42,324,906,905,0,512,509,506,500,497,494,42,906,324,904,0,509,512,511,497,500,499,42,909,324,908,0,513,512,514,501,500,502,42,324,909,904,0,512,513,511,500,501,499,42,909,376,904,0,513,510,511,501,498,499,42,376,909,907,0,510,513,515,498,501,503,42,907,908,383,0,515,514,516,503,502,504,42,908,907,909,0,514,515,513,502,503,501,42,910,333,913,0,517,518,519,505,506,507,42,333,912,913,0,518,520,519,506,508,507,42,913,327,910,0,519,521,517,507,509,505,42,327,913,911,0,521,519,522,509,507,510,42,911,913,912,0,522,519,520,510,507,508,42,912,325,911,0,520,523,522,508,511,510,42,914,391,917,0,524,525,526,512,513,514,42,917,391,916,0,526,525,527,514,513,515,42,917,915,914,0,526,528,524,514,516,512,42,914,915,325,0,524,528,523,512,516,511,42,392,917,916,0,529,526,527,517,514,515,42,917,392,915,0,526,529,528,514,517,516,42,918,912,920,0,530,520,531,518,508,519,42,912,918,325,0,520,530,523,508,518,511,42,919,918,920,0,532,530,531,520,518,519,42,918,919,331,0,530,532,533,518,520,521,42,333,920,912,0,518,531,520,506,519,508,42,920,333,919,0,531,518,532,519,506,520,42,921,385,924,0,534,535,536,522,523,524,42,385,923,924,0,535,537,536,523,525,524,42,924,922,921,0,536,538,534,524,526,522,42,921,922,326,0,534,538,539,522,526,527,42,386,924,923,0,540,536,537,528,524,525,42,924,386,922,0,536,540,538,524,528,526,42,326,928,925,0,539,541,542,527,529,530,42,928,326,927,0,541,539,543,529,527,531,42,928,332,925,0,541,544,542,529,532,530,42,332,928,926,0,544,541,545,532,529,533,42,928,328,926,0,541,546,545,529,534,533,42,328,928,927,0,546,541,543,534,529,531,42,926,328,931,0,547,548,549,533,534,535,42,328,930,931,0,548,550,549,534,536,535,42,332,931,929,0,551,549,552,532,535,537,42,931,332,926,0,549,551,547,535,532,533,42,329,931,930,0,553,549,550,538,535,536,42,931,329,929,0,549,553,552,535,538,537,42,934,932,330,0,554,555,556,539,540,541,42,330,933,934,0,556,557,554,541,542,539,42,932,919,333,0,555,558,559,540,520,506,42,919,932,934,0,558,555,554,520,540,539,42,331,934,933,0,560,554,557,521,539,542,42,934,331,919,0,554,560,558,539,521,520,42,937,935,513,0,561,562,563,543,544,545,42,935,937,938,0,562,561,564,544,543,546,42,938,540,935,0,564,565,562,546,547,544,42,540,938,936,0,565,564,566,547,546,548,42,938,541,936,0,564,567,566,546,549,548,42,541,938,937,0,567,564,561,549,546,543,42,941,942,552,0,568,569,570,550,551,552,42,939,552,942,0,571,570,569,553,552,551,42,554,939,940,0,572,571,573,554,553,555,42,939,942,940,0,571,569,573,553,551,555,42,942,553,940,0,569,574,573,551,556,555,42,553,942,941,0,574,569,568,556,551,550,42,582,0,945,0,575,576,577,557,558,559,42,582,945,946,0,575,577,578,557,559,560,42,946,578,582,0,578,579,575,560,561,557,42,578,946,943,0,579,578,580,561,560,562,42,944,943,946,0,581,580,578,563,562,560,42,943,944,17,0,580,581,582,562,563,564,42,8,946,945,0,583,578,577,565,560,559,42,946,8,944,0,578,583,581,560,565,563,42,583,594,948,0,584,11,585,566,11,567,42,594,583,19,0,11,584,4,11,566,4,42,945,583,948,0,577,584,585,559,566,567,42,945,0,583,0,577,576,584,559,558,566,42,8,948,947,0,583,585,586,565,567,568,42,948,8,945,0,585,583,577,567,565,559,42,947,948,594,0,586,585,11,568,567,11,42,947,594,9,0,586,11,12,568,11,12,42,585,950,951,0,587,588,589,569,570,571,42,950,585,2,0,588,587,590,570,569,572,42,1,951,591,0,3,589,1,3,571,1,42,951,1,585,0,589,3,587,571,3,569,42,591,949,10,0,1,591,6,1,573,6,42,949,591,951,0,591,1,589,573,1,571,42,951,11,949,0,589,592,591,571,574,573,42,11,951,950,0,592,589,588,574,571,570,42,950,952,11,0,588,593,592,570,575,574,42,952,950,954,0,593,588,594,575,570,576,42,954,953,952,0,594,595,593,576,577,575,42,12,952,953,0,15,593,595,15,575,577,42,953,586,3,0,595,596,597,577,578,579,42,586,953,954,0,596,595,594,578,577,576,42,2,954,950,0,590,594,588,572,576,570,42,954,2,586,0,594,590,596,576,572,578,42,953,957,12,0,595,598,15,577,580,15,42,955,12,957,0,599,15,598,581,15,580,42,13,955,956,0,600,599,601,582,581,583,42,955,957,956,0,599,598,601,581,580,583,42,956,957,4,0,601,598,602,583,580,584,42,957,587,4,0,598,603,602,580,585,584,42,957,953,587,0,598,595,603,580,577,585,42,953,3,587,0,595,597,603,577,579,585,42,960,5,959,0,604,605,606,586,587,588,42,5,960,588,0,605,604,607,587,586,589,42,956,588,960,0,608,607,604,583,589,586,42,588,956,4,0,607,608,609,589,583,584,42,13,960,958,0,610,604,611,582,586,590,42,960,13,956,0,604,610,608,586,582,583,42,958,959,14,0,611,606,612,590,588,591,42,959,958,960,0,606,611,604,588,590,586,42,963,959,5,0,613,606,605,592,588,587,42,963,5,579,0,613,605,614,592,587,593,42,14,963,961,0,612,613,615,591,592,594,42,963,14,959,0,613,612,606,592,591,588,42,15,961,963,0,616,615,613,595,594,592,42,15,963,962,0,616,613,617,595,592,596,42,962,963,579,0,617,613,614,596,592,593,42,962,579,6,0,617,614,618,596,593,597,42,965,580,7,0,619,620,621,598,599,600,42,580,965,966,0,620,619,622,599,598,601,42,966,6,580,0,622,618,620,601,597,599,42,6,966,962,0,618,622,617,597,601,596,42,964,962,966,0,623,617,622,602,596,601,42,962,964,15,0,617,623,616,596,602,595,42,16,966,965,0,624,622,619,603,601,598,42,966,16,964,0,622,624,623,601,603,602,42,967,965,968,0,625,619,626,604,598,605,42,965,967,16,0,619,625,624,598,604,603,42,17,968,943,0,582,626,580,564,605,562,42,968,17,967,0,626,582,625,605,564,604,42,943,581,578,0,580,627,579,562,606,561,42,581,943,968,0,627,580,626,606,562,605,42,968,7,581,0,626,621,627,605,600,606,42,7,968,965,0,621,626,619,600,605,598,42,971,972,28,0,628,629,630,607,608,609,42,28,972,969,0,630,629,631,609,608,610,42,972,9,969,0,629,12,631,608,12,610,42,9,972,947,0,12,629,586,12,608,568,42,970,947,972,0,632,586,629,611,568,608,42,947,970,8,0,586,632,583,568,611,565,42,27,970,971,0,633,632,628,612,611,607,42,971,970,972,0,628,632,629,607,611,608,42,973,974,975,0,634,635,636,613,614,615,42,974,973,26,0,635,634,637,614,613,616,42,27,975,970,0,633,636,632,612,615,611,42,975,27,973,0,636,633,634,615,612,613,42,970,944,8,0,632,581,583,611,563,565,42,944,970,975,0,581,632,636,563,611,615,42,975,17,944,0,636,582,581,615,564,563,42,17,975,974,0,582,636,635,564,615,614,42,969,595,977,0,631,9,638,610,9,617,42,595,969,9,0,9,631,12,9,610,12,42,28,977,976,0,630,638,639,609,617,618,42,977,28,969,0,638,630,631,617,609,610,42,976,603,29,0,639,23,22,618,23,22,42,603,976,977,0,23,639,638,23,618,617,42,977,18,603,0,638,8,23,617,8,23,42,18,977,595,0,8,638,9,8,617,9,42,590,593,19,0,5,10,4,5,10,4,42,593,590,979,0,10,5,640,10,5,619,42,18,979,602,0,8,640,25,8,619,25,42,979,18,593,0,640,8,10,619,8,10,42,602,978,20,0,25,641,24,25,620,24,42,978,602,979,0,641,25,640,620,25,619,42,979,10,978,0,640,6,641,619,6,620,42,10,979,590,0,6,640,5,6,619,5,42,981,978,10,0,642,641,6,621,620,6,42,981,10,949,0,642,6,591,621,6,573,42,605,20,978,0,26,24,641,26,24,620,42,605,978,981,0,26,641,642,26,620,621,42,21,605,981,0,29,26,642,29,26,621,42,981,980,21,0,642,643,29,621,622,29,42,980,981,949,0,643,642,591,622,621,573,42,949,11,980,0,591,592,643,573,574,622,42,952,597,983,0,593,16,644,575,16,623,42,597,952,12,0,16,593,15,16,575,15,42,11,983,980,0,592,644,643,574,623,622,42,983,11,952,0,644,592,593,623,574,575,42,980,982,21,0,643,645,29,622,624,29,42,982,980,983,0,645,643,644,624,622,623,42,983,549,982,0,644,18,645,623,18,624,42,549,983,597,0,18,644,16,18,623,16,42,985,13,984,0,646,600,647,625,582,626,42,13,985,955,0,600,646,599,582,625,581,42,599,955,985,0,13,599,646,13,581,625,42,955,599,12,0,599,13,15,581,13,15,42,85,985,610,0,19,646,36,19,625,36,42,985,85,599,0,646,19,13,625,19,13,42,610,984,22,0,36,647,37,36,626,37,42,984,610,985,0,647,36,646,626,36,625,42,986,22,988,0,648,649,650,627,37,628,42,22,984,988,0,649,651,650,37,626,628,42,988,987,986,0,650,652,648,628,629,627,42,23,986,987,0,653,648,652,630,627,629,42,987,988,14,0,652,650,612,629,628,591,42,988,958,14,0,650,611,612,628,590,591,42,988,984,958,0,650,651,611,628,626,590,42,984,13,958,0,651,610,611,626,582,590,42,990,989,24,0,654,655,656,631,632,633,42,989,990,991,0,655,654,657,632,631,634,42,991,15,989,0,657,616,655,634,595,632,42,15,991,961,0,616,657,615,595,634,594,42,987,961,991,0,652,615,657,629,594,634,42,961,987,14,0,615,652,612,594,629,591,42,23,991,990,0,653,657,654,630,634,631,42,991,23,987,0,657,653,652,634,630,629,42,993,964,16,0,658,623,624,635,602,603,42,964,993,994,0,623,658,659,602,635,636,42,994,15,964,0,659,616,623,636,595,602,42,15,994,989,0,616,659,655,595,636,632,42,992,989,994,0,660,655,659,637,632,636,42,989,992,24,0,655,660,656,632,637,633,42,994,25,992,0,659,661,660,636,638,637,42,25,994,993,0,661,659,658,638,636,635,42,995,993,996,0,662,658,663,639,635,640,42,993,995,25,0,658,662,661,635,639,638,42,26,996,974,0,637,663,635,616,640,614,42,996,26,995,0,663,637,662,640,616,639,42,974,967,17,0,635,625,582,614,604,564,42,967,974,996,0,625,635,663,604,614,640,42,996,16,967,0,663,624,625,640,603,604,42,16,996,993,0,624,663,658,603,640,635,42,999,601,20,0,664,21,24,641,21,24,42,601,999,1e3,0,21,664,665,21,641,642,42,997,601,1e3,0,666,21,665,643,21,642,42,601,997,29,0,21,666,22,21,643,22,42,37,1e3,998,0,667,665,668,644,642,645,42,1e3,37,997,0,665,667,666,642,644,643,42,72,1e3,999,0,669,665,664,646,642,641,42,1e3,72,998,0,665,669,668,642,646,645,42,999,606,1003,0,664,30,670,641,30,647,42,606,999,20,0,30,664,24,30,641,24,42,72,1003,1001,0,669,670,671,646,647,648,42,1003,72,999,0,670,669,664,647,646,641,42,1003,36,1001,0,670,672,671,647,649,648,42,36,1003,1002,0,672,670,673,649,647,650,42,1002,1003,606,0,673,670,30,650,647,30,42,1002,606,534,0,673,30,31,650,30,31,42,982,1005,1006,0,645,674,675,624,651,652,42,1005,982,549,0,674,645,18,651,624,18,42,21,1006,607,0,29,675,27,29,652,27,42,1006,21,982,0,675,29,645,652,29,624,42,607,1004,534,0,27,676,31,27,653,31,42,1004,607,1006,0,676,27,675,653,27,652,42,1006,547,1004,0,675,677,676,652,654,653,42,547,1006,1005,0,677,675,674,654,652,651,42,1009,1007,34,0,678,679,680,655,656,657,42,1007,1009,1010,0,679,678,681,656,655,658,42,1010,23,1007,0,681,653,679,658,630,656,42,23,1010,986,0,653,681,648,630,658,627,42,986,1008,22,0,648,682,649,627,659,37,42,1008,986,1010,0,682,648,681,659,627,658,42,1010,35,1008,0,681,683,682,658,660,659,42,35,1010,1009,0,683,681,678,660,658,655,42,609,1013,1014,0,32,684,685,32,661,662,42,1013,609,22,0,684,32,37,661,32,37,42,1011,609,1014,0,686,32,685,663,32,662,42,609,1011,532,0,32,686,33,32,663,33,42,1012,1011,1014,0,687,686,685,664,663,662,42,1011,1012,531,0,686,687,688,663,664,665,42,1013,1012,1014,0,684,687,685,661,664,662,42,1012,1013,530,0,687,684,689,664,661,666,42,1016,1015,33,0,690,691,43,667,668,43,42,1015,1016,1017,0,691,690,692,668,667,669,42,1017,24,1015,0,692,656,691,669,633,668,42,24,1017,990,0,656,692,654,633,669,631,42,1007,990,1017,0,679,654,692,656,631,669,42,990,1007,23,0,654,679,653,631,656,630,42,34,1007,1016,0,680,679,690,657,656,667,42,1016,1007,1017,0,690,679,692,667,656,669,42,992,1019,1020,0,660,693,694,637,670,671,42,1019,992,25,0,693,660,661,670,637,638,42,24,1020,1015,0,656,694,691,633,671,668,42,1020,24,992,0,694,656,660,671,633,637,42,1015,1018,33,0,691,695,43,668,672,43,42,1018,1015,1020,0,695,691,694,672,668,671,42,32,1020,1019,0,696,694,693,673,671,670,42,1020,32,1018,0,694,696,695,671,673,672,42,1021,1019,1023,0,697,693,698,674,670,675,42,1019,1021,32,0,693,697,696,670,674,673,42,31,1023,1022,0,699,698,700,676,675,677,42,1023,31,1021,0,698,699,697,675,676,674,42,1022,995,26,0,700,662,637,677,639,616,42,995,1022,1023,0,662,700,698,639,677,675,42,1023,25,995,0,698,661,662,675,638,639,42,25,1023,1019,0,661,698,693,638,675,670,42,1024,1022,1026,0,701,700,702,678,677,679,42,1022,1024,31,0,700,701,699,677,678,676,42,30,1026,1025,0,703,702,704,680,679,681,42,1026,30,1024,0,702,703,701,679,680,678,42,1025,973,27,0,704,634,633,681,613,612,42,973,1025,1026,0,634,704,702,613,681,679,42,1026,26,973,0,702,637,634,679,616,613,42,26,1026,1022,0,637,702,700,616,679,677,42,1027,1025,1029,0,705,704,706,682,681,683,42,1025,1027,30,0,704,705,703,681,682,680,42,1028,38,1027,0,707,708,705,684,685,682,42,1027,1029,1028,0,705,706,707,682,683,684,42,28,1028,1029,0,630,707,706,609,684,683,42,1029,971,28,0,706,628,630,683,607,609,42,1029,27,971,0,706,633,628,683,612,607,42,27,1029,1025,0,633,706,704,612,683,681,42,1028,976,1031,0,707,639,709,684,618,686,42,976,1028,28,0,639,707,630,618,684,609,42,38,1031,1030,0,708,709,710,685,686,687,42,1031,38,1028,0,709,708,707,686,685,684,42,1030,997,37,0,710,666,667,687,643,644,42,997,1030,1031,0,666,710,709,643,687,686,42,1031,29,997,0,709,22,666,686,22,643,42,29,1031,976,0,22,709,639,22,686,618,42,1034,1024,30,0,711,701,703,688,678,680,42,1024,1034,1035,0,701,711,712,678,688,689,42,1032,1024,1035,0,713,701,712,690,678,689,42,1024,1032,31,0,701,713,699,678,690,676,42,51,1035,1033,0,714,712,715,691,689,692,42,1035,51,1032,0,712,714,713,689,691,690,42,1033,1034,57,0,715,711,49,692,688,49,42,1034,1033,1035,0,711,715,712,688,692,689,42,1036,1034,1038,0,716,711,717,693,688,694,42,1034,1036,57,0,711,716,49,688,693,49,42,43,1038,1037,0,718,717,719,695,694,696,42,1038,43,1036,0,717,718,716,694,695,693,42,1037,1027,38,0,719,705,708,696,682,685,42,1027,1037,1038,0,705,719,717,682,696,694,42,1038,30,1027,0,717,703,705,694,680,682,42,30,1038,1034,0,703,717,711,680,694,688,42,1039,1021,1041,0,720,697,721,697,674,698,42,1021,1039,32,0,697,720,696,674,697,673,42,1039,1040,52,0,720,722,95,697,699,95,42,1040,1039,1041,0,722,720,721,699,697,698,42,1040,1032,51,0,722,713,714,699,690,691,42,1032,1040,1041,0,713,722,721,690,699,698,42,1041,31,1032,0,721,699,713,698,676,690,42,31,1041,1021,0,699,721,697,676,698,674,42,53,613,1043,0,39,41,723,39,41,700,42,53,1043,633,0,39,723,66,39,700,66,42,633,1043,1042,0,66,723,724,66,700,701,42,633,1042,41,0,66,724,71,66,701,71,42,1018,1042,1043,0,695,724,723,672,701,700,42,1042,1018,32,0,724,695,696,701,672,673,42,613,33,1018,0,41,43,695,41,43,672,42,613,1018,1043,0,41,695,723,41,672,700,42,1039,1042,32,0,720,724,696,697,701,673,42,1042,1039,1045,0,724,720,725,701,697,702,42,41,1045,1044,0,71,725,726,71,702,703,42,1045,41,1042,0,725,71,724,702,71,701,42,1044,650,48,0,726,96,97,703,96,97,42,650,1044,1045,0,96,726,725,96,703,702,42,52,1045,1039,0,95,725,720,95,702,697,42,1045,52,650,0,725,95,96,702,95,96,42,1016,614,1048,0,690,42,727,667,42,704,42,614,1016,33,0,42,690,43,42,667,43,42,34,1048,1046,0,680,727,728,657,704,705,42,1048,34,1016,0,727,680,690,704,657,667,42,55,1048,1047,0,729,727,730,706,704,707,42,1048,55,1046,0,727,729,728,704,706,705,42,1047,614,54,0,730,42,44,707,42,44,42,1047,1048,614,0,730,727,42,707,704,42,42,1050,1046,55,0,731,728,729,708,705,706,42,1046,1050,1051,0,728,731,732,705,708,709,42,1009,1046,1051,0,678,728,732,655,705,709,42,1046,1009,34,0,728,678,680,705,655,657,42,1009,1049,35,0,678,733,683,655,710,660,42,1049,1009,1051,0,733,678,732,710,655,709,42,1051,56,1049,0,732,734,733,709,711,710,42,56,1051,1050,0,734,732,731,711,709,708,42,1055,1052,73,0,735,736,737,712,713,714,42,1052,1055,1056,0,736,735,738,713,712,715,42,1056,546,1052,0,738,739,736,715,716,713,42,546,1056,1053,0,739,738,740,716,715,717,42,1054,1053,1056,0,741,740,738,718,717,715,42,1053,1054,545,0,740,741,742,717,718,719,42,36,1056,1055,0,672,738,735,649,715,712,42,1056,36,1054,0,738,672,741,715,649,718,42,1057,1058,1059,0,743,744,745,720,721,722,42,1058,1057,46,0,744,743,91,721,720,91,42,73,1059,1055,0,737,745,735,714,722,712,42,1059,73,1057,0,745,737,743,722,714,720,42,1055,1001,36,0,735,671,672,712,648,649,42,1001,1055,1059,0,671,735,745,648,712,722,42,1059,72,1001,0,745,669,671,722,646,648,42,72,1059,1058,0,669,745,744,646,722,721,42,647,1058,46,0,89,744,91,89,721,91,42,1058,647,1061,0,744,89,746,721,89,723,42,1061,72,1058,0,746,669,744,723,646,721,42,72,1061,998,0,669,746,668,646,723,645,42,1060,998,1061,0,747,668,746,724,645,723,42,998,1060,37,0,668,747,667,645,724,644,42,44,1061,647,0,88,746,89,88,723,89,42,1061,44,1060,0,746,88,747,723,88,724,42,1062,1060,44,0,748,747,88,725,724,88,42,1060,1062,1063,0,747,748,749,724,725,726,42,1063,37,1060,0,749,667,747,726,644,724,42,37,1063,1030,0,667,749,710,644,726,687,42,1037,1030,1063,0,719,710,749,696,687,726,42,1030,1037,38,0,710,719,708,687,696,685,42,43,1063,1062,0,718,749,748,695,726,725,42,1063,43,1037,0,749,718,719,726,695,696,42,1066,619,39,0,750,45,47,727,45,47,42,619,1066,1067,0,45,750,751,45,727,728,42,1064,619,1067,0,752,45,751,729,45,728,42,619,1064,47,0,45,752,51,45,729,51,42,1065,1064,1067,0,753,752,751,730,729,728,42,1064,1065,80,0,752,753,754,729,730,731,42,79,1067,1066,0,755,751,750,732,728,727,42,1067,79,1065,0,751,755,753,728,732,730,42,1068,1066,1070,0,756,750,757,733,727,734,42,1066,1068,79,0,750,756,755,727,733,732,42,78,1070,1069,0,758,757,759,735,734,736,42,1070,78,1068,0,757,758,756,734,735,733,42,1069,622,58,0,759,55,53,736,55,53,42,622,1069,1070,0,55,759,757,55,736,734,42,1070,39,622,0,757,47,55,734,47,55,42,39,1070,1066,0,47,757,750,47,734,727,42,1064,624,47,0,752,56,51,729,56,51,42,624,1064,1073,0,56,752,760,56,729,737,42,1071,624,1073,0,761,56,760,738,56,737,42,624,1071,40,0,56,761,57,56,738,57,42,1072,1071,1073,0,762,761,760,739,738,737,42,1071,1072,81,0,761,762,763,738,739,740,42,80,1073,1064,0,754,760,752,731,737,729,42,1073,80,1072,0,760,754,762,737,731,739,42,1074,629,1076,0,764,63,765,741,63,742,42,629,1074,49,0,63,764,65,63,741,65,42,82,1076,1075,0,766,765,767,743,742,744,42,1076,82,1074,0,765,766,764,742,743,741,42,1075,1071,81,0,767,761,763,744,738,740,42,1071,1075,1076,0,761,767,765,738,744,742,42,1076,40,1071,0,765,57,761,742,57,738,42,40,1076,629,0,57,765,63,57,742,63,42,635,1044,1079,0,75,726,768,75,703,745,42,1044,635,41,0,726,75,71,703,75,71,42,83,1079,1077,0,73,768,769,73,745,746,42,1079,83,635,0,768,73,75,745,73,75,42,1077,1078,84,0,769,770,771,746,747,748,42,1078,1077,1079,0,770,769,768,747,746,745,42,1079,48,1078,0,768,97,770,745,97,747,42,48,1079,1044,0,97,768,726,97,745,703,42,1069,639,1082,0,759,80,772,736,80,749,42,639,1069,58,0,80,759,53,80,736,53,42,1080,78,1069,0,773,758,759,750,735,736,42,1080,1069,1082,0,773,759,772,750,736,749,42,1082,77,1080,0,772,774,773,749,751,750,42,77,1082,1081,0,774,772,775,751,749,752,42,1082,42,1081,0,772,81,775,749,81,752,42,42,1082,639,0,81,772,80,81,749,80,42,1083,1081,1085,0,776,775,777,753,752,754,42,1081,1083,77,0,775,776,774,752,753,751,42,76,1085,1084,0,778,777,779,755,754,756,42,1085,76,1083,0,777,778,776,754,755,753,42,1084,642,45,0,779,83,84,756,83,84,42,642,1084,1085,0,83,779,777,83,756,754,42,1085,42,642,0,777,81,83,754,81,83,42,42,1085,1081,0,81,777,775,81,754,752,42,621,1036,1087,0,52,716,780,52,693,757,42,1036,621,57,0,716,52,49,693,52,49,42,638,621,1087,0,79,52,780,79,52,757,42,621,638,58,0,52,79,53,52,79,53,42,59,1087,1086,0,77,780,781,77,757,758,42,1087,59,638,0,780,77,79,757,77,79,42,1036,1086,1087,0,716,781,780,693,758,757,42,1086,1036,43,0,781,716,718,758,693,695,42,1089,646,46,0,782,90,91,759,90,91,42,646,1089,1090,0,90,782,783,90,759,760,42,1090,45,646,0,783,84,90,760,84,90,42,45,1090,1084,0,84,783,779,84,760,756,42,1088,1084,1090,0,784,779,783,761,756,760,42,1084,1088,76,0,779,784,778,756,761,755,42,75,1090,1089,0,785,783,782,762,760,759,42,1090,75,1088,0,783,785,784,760,762,761,42,1092,1057,73,0,786,743,737,763,720,714,42,1057,1092,1093,0,743,786,787,720,763,764,42,1093,46,1057,0,787,91,743,764,91,720,42,46,1093,1089,0,91,787,782,91,764,759,42,1091,1089,1093,0,788,782,787,765,759,764,42,1089,1091,75,0,782,788,785,759,765,762,42,74,1093,1092,0,789,787,786,766,764,763,42,1093,74,1091,0,787,789,788,764,766,765,42,1033,618,1095,0,715,50,790,692,50,767,42,618,1033,57,0,50,715,49,50,692,49,42,51,1095,1094,0,714,790,791,691,767,768,42,1095,51,1033,0,790,714,715,767,691,692,42,1094,625,50,0,791,60,61,768,60,61,42,625,1094,1095,0,60,791,790,60,768,767,42,625,1095,618,0,60,790,50,60,767,50,42,618,47,625,0,50,51,60,50,51,60,42,1078,651,1097,0,770,92,792,747,92,769,42,651,1078,48,0,92,770,97,92,747,97,42,84,1097,1096,0,771,792,793,748,769,770,42,1097,84,1078,0,792,771,770,769,748,747,42,1096,1074,82,0,793,764,766,770,741,743,42,1074,1096,1097,0,764,793,792,741,770,769,42,1074,1097,651,0,764,792,92,741,769,92,42,1074,651,49,0,764,92,65,741,92,65,42,1098,1100,1101,0,794,795,796,771,772,773,42,1100,1098,62,0,795,794,797,772,771,774,42,53,1101,615,0,39,796,40,39,773,40,42,1101,53,1098,0,796,39,794,773,39,771,42,1099,615,1101,0,798,40,796,775,40,773,42,615,1099,54,0,40,798,44,40,775,44,42,1101,61,1099,0,796,799,798,773,776,775,42,61,1101,1100,0,799,796,795,776,773,772,42,631,1098,53,0,68,794,39,68,771,39,42,1098,631,1104,0,794,68,800,771,68,777,42,1104,62,1098,0,800,797,794,777,774,771,42,62,1104,1102,0,797,800,801,774,777,778,42,1103,1102,1104,0,802,801,800,779,778,777,42,1102,1103,71,0,801,802,803,778,779,780,42,106,1104,631,0,70,800,68,70,777,68,42,1104,106,1103,0,800,70,802,777,70,779,42,1106,1099,61,0,804,798,799,781,775,776,42,1099,1106,1107,0,798,804,805,775,781,782,42,1107,54,1099,0,805,44,798,782,44,775,42,54,1107,1047,0,44,805,730,44,782,707,42,1105,1047,1107,0,806,730,805,783,707,782,42,1047,1105,55,0,730,806,729,707,783,706,42,92,1107,1106,0,807,805,804,784,782,781,42,1107,92,1105,0,805,807,806,782,784,783,42,1108,1050,1110,0,808,731,809,785,708,786,42,1050,1108,56,0,731,808,734,708,785,711,42,91,1110,1109,0,810,809,811,787,786,788,42,1110,91,1108,0,809,810,808,786,787,785,42,1109,1105,92,0,811,806,807,788,783,784,42,1105,1109,1110,0,806,811,809,783,788,786,42,1110,55,1105,0,809,729,806,786,706,783,42,55,1110,1050,0,729,809,731,706,786,708,42,1111,1113,1114,0,812,813,814,789,790,791,42,1113,1111,505,0,813,812,815,790,789,792,42,90,1114,1112,0,816,814,817,793,791,794,42,1114,90,1111,0,814,816,812,791,793,789,42,1112,1108,91,0,817,818,819,794,785,787,42,1108,1112,1114,0,818,817,814,785,794,791,42,1114,56,1108,0,814,820,818,791,711,785,42,56,1114,1113,0,820,814,813,711,791,790,42,1118,1115,62,0,821,822,797,795,796,774,42,1115,1118,1119,0,822,821,823,796,795,797,42,1119,100,1115,0,823,108,822,797,108,796,42,100,1119,1116,0,108,823,824,108,797,798,42,1116,1119,1117,0,824,823,825,798,797,799,42,1117,60,1116,0,825,826,824,799,800,798,42,1119,96,1117,0,823,827,825,797,801,799,42,1118,96,1119,0,821,827,823,795,801,797,42,1117,1123,60,0,828,829,830,799,802,800,42,1120,60,1123,0,831,830,829,803,800,802,42,1123,1121,1120,0,829,832,831,802,804,803,42,93,1120,1121,0,833,831,832,805,803,804,42,1122,95,1123,0,834,835,829,806,807,802,42,1121,1123,95,0,832,829,835,804,802,807,42,96,1122,1117,0,836,834,828,801,806,799,42,1123,1117,1122,0,829,828,834,802,799,806,42,1127,93,1126,0,837,833,838,808,805,809,42,93,1127,1120,0,833,837,831,805,808,803,42,60,1120,1124,0,830,831,839,800,803,810,42,1127,1124,1120,0,837,839,831,808,810,803,42,1125,113,1127,0,840,841,837,811,812,808,42,1127,113,1124,0,837,841,839,808,812,810,42,1125,1126,112,0,840,838,842,811,809,813,42,1126,1125,1127,0,838,840,837,809,811,808,42,1129,114,657,0,843,107,106,814,107,106,42,114,1129,1128,0,107,843,844,107,814,815,42,1129,1124,1128,0,843,845,844,814,810,815,42,1128,1124,113,0,844,845,846,815,810,812,42,1116,60,1129,0,824,826,843,798,800,814,42,1129,60,1124,0,843,826,845,814,800,810,42,1116,657,100,0,824,106,108,798,106,108,42,657,1116,1129,0,106,824,843,106,798,814,42,1100,62,1131,0,795,797,847,772,774,816,42,62,1115,1131,0,797,822,847,774,796,816,42,1130,61,1100,0,848,799,795,817,776,772,42,1100,1131,1130,0,795,847,848,772,816,817,42,99,1130,1131,0,105,848,847,105,817,816,42,1131,658,99,0,847,103,105,816,103,105,42,1131,1115,658,0,847,822,103,816,796,103,42,1115,100,658,0,822,108,103,796,108,103,42,1130,1133,1134,0,848,849,850,817,818,819,42,1133,1130,99,0,849,848,105,818,817,105,42,61,1134,1106,0,799,850,804,776,819,781,42,1134,61,1130,0,850,799,848,819,776,817,42,1132,1106,1134,0,851,804,850,820,781,819,42,1106,1132,92,0,804,851,807,781,820,784,42,98,1134,1133,0,852,850,849,821,819,818,42,1134,98,1132,0,850,852,851,819,821,820,42,1102,1118,62,0,801,821,797,778,795,774,42,1118,1102,1137,0,821,801,853,795,778,822,42,1137,96,1118,0,853,827,821,822,801,795,42,96,1137,1135,0,827,853,854,801,822,823,42,1135,1136,63,0,854,855,856,823,824,825,42,1136,1135,1137,0,855,854,853,824,823,822,42,1137,71,1136,0,853,803,855,822,780,824,42,71,1137,1102,0,803,853,801,780,822,778,42,1135,1122,96,0,857,834,836,823,806,801,42,1122,1135,1140,0,834,857,858,806,823,826,42,95,1122,1138,0,835,834,859,807,806,827,42,1138,1122,1140,0,859,834,858,827,806,826,42,1138,1139,94,0,859,860,861,827,828,829,42,1139,1138,1140,0,860,859,858,828,827,826,42,1140,63,1139,0,858,862,860,826,825,828,42,63,1140,1135,0,862,858,857,825,826,823,42,1136,1143,1144,0,855,863,864,824,830,831,42,1143,1136,71,0,863,855,803,830,824,780,42,63,1144,1141,0,856,864,865,825,831,832,42,1144,63,1136,0,864,856,855,831,825,824,42,1141,1142,556,0,865,866,867,832,833,834,42,1142,1141,1144,0,866,865,864,833,832,831,42,557,1144,1143,0,868,864,863,835,831,830,42,1144,557,1142,0,864,868,866,831,835,833,42,556,1146,1147,0,869,870,871,834,836,837,42,556,1147,1141,0,869,871,872,834,837,832,42,1139,63,1141,0,860,862,872,828,825,832,42,1141,1147,1139,0,872,871,860,832,837,828,42,1145,1139,1147,0,873,860,871,838,828,837,42,1139,1145,94,0,860,873,861,828,838,829,42,555,1147,1146,0,874,871,870,839,837,836,42,1147,555,1145,0,871,874,873,837,839,838,42,1151,1148,64,0,875,876,877,840,841,842,42,1148,1151,1152,0,876,875,878,841,840,843,42,1152,561,1148,0,878,879,876,843,844,841,42,561,1152,1149,0,879,878,880,844,843,845,42,1150,1149,1152,0,881,880,878,846,845,843,42,1149,1150,560,0,880,881,882,845,846,847,42,172,1152,1151,0,160,878,875,160,843,840,42,1152,172,1150,0,878,160,881,843,160,846,42,689,1151,1155,0,157,875,883,157,840,848,42,1151,689,172,0,875,157,160,840,157,160,42,170,1155,1153,0,158,883,884,158,848,849,42,1155,170,689,0,883,158,157,848,158,157,42,1153,1154,130,0,884,885,886,849,850,851,42,1154,1153,1155,0,885,884,883,850,849,848,42,1155,64,1154,0,883,877,885,848,842,850,42,64,1155,1151,0,877,883,875,842,848,840,42,1148,1158,1159,0,876,887,888,841,852,853,42,1158,1148,561,0,887,876,879,852,841,844,42,64,1159,1156,0,877,888,889,842,853,854,42,1159,64,1148,0,888,877,876,853,842,841,42,1156,1157,65,0,889,890,891,854,855,856,42,1157,1156,1159,0,890,889,888,855,854,853,42,1159,562,1157,0,888,892,890,853,857,855,42,562,1159,1158,0,892,888,887,857,853,852,42,65,1162,1156,0,891,893,889,856,858,854,42,1162,65,1161,0,893,891,894,858,856,859,42,1156,1154,64,0,889,885,877,854,850,842,42,1154,1156,1162,0,885,889,893,850,854,858,42,130,1162,1160,0,886,893,895,851,858,860,42,130,1154,1162,0,886,885,893,851,850,858,42,1161,1160,1162,0,894,895,893,859,860,858,42,1160,1161,131,0,895,894,896,860,859,861,42,65,1157,1166,0,891,890,897,856,855,862,42,65,1166,1163,0,891,897,898,856,862,863,42,161,1163,1164,0,215,898,899,215,863,864,42,1163,1166,1164,0,898,897,899,863,862,864,42,1164,1166,563,0,899,897,900,864,862,865,42,1166,1165,563,0,897,901,900,862,866,865,42,1166,1157,1165,0,897,890,901,862,855,866,42,1157,562,1165,0,890,892,901,855,857,866,42,1163,726,1168,0,898,219,902,863,219,867,42,726,1163,161,0,219,898,215,219,863,215,42,65,1168,1161,0,891,902,894,856,867,859,42,1168,65,1163,0,902,891,898,867,856,863,42,1168,131,1161,0,902,896,894,867,861,859,42,131,1168,1167,0,896,902,903,861,867,868,42,1168,160,1167,0,902,220,903,867,220,868,42,160,1168,726,0,220,902,219,220,867,219,42,722,1171,1172,0,210,904,905,210,869,870,42,1171,722,161,0,904,210,215,869,210,215,42,159,1172,1169,0,213,905,906,213,870,871,42,1172,159,722,0,905,213,210,870,213,210,42,1172,132,1169,0,905,907,906,870,872,871,42,132,1172,1170,0,907,905,908,872,870,873,42,1172,66,1170,0,905,909,908,870,874,873,42,66,1172,1171,0,909,905,904,874,870,869,42,1171,1175,66,0,904,910,909,869,875,874,42,66,1175,1173,0,909,910,911,874,875,876,42,1175,1174,1173,0,910,912,911,875,877,876,42,1173,1174,564,0,911,912,913,876,877,878,42,1164,563,1175,0,899,900,910,864,865,875,42,1175,563,1174,0,910,900,912,875,865,877,42,161,1164,1171,0,215,899,904,215,864,869,42,1171,1164,1175,0,904,899,910,869,864,875,42,1179,1170,66,0,914,908,909,879,873,874,42,1179,66,1178,0,914,909,915,879,874,880,42,1176,132,1170,0,916,907,908,881,872,873,42,1176,1170,1179,0,916,908,914,881,873,879,42,133,1176,1179,0,917,916,914,882,881,879,42,1179,1177,133,0,914,918,917,879,883,882,42,1177,1179,1178,0,918,914,915,883,879,880,42,1177,1178,67,0,918,915,919,883,880,884,42,1178,1182,67,0,915,920,919,880,885,884,42,67,1182,1180,0,919,920,921,884,885,886,42,1182,1181,1180,0,920,922,921,885,887,886,42,1180,1181,565,0,921,922,923,886,887,888,42,1173,564,1182,0,911,913,920,876,878,885,42,1182,564,1181,0,920,913,922,885,878,887,42,66,1173,1178,0,909,911,915,874,876,880,42,1178,1173,1182,0,915,911,920,880,876,885,42,1183,697,1185,0,924,171,925,889,171,890,42,697,1183,155,0,171,924,172,171,889,172,42,67,1185,1177,0,919,925,918,884,890,883,42,1185,67,1183,0,925,919,924,890,884,889,42,1177,1184,133,0,918,926,917,883,891,882,42,1184,1177,1185,0,926,918,925,891,883,890,42,1185,154,1184,0,925,173,926,890,173,891,42,154,1185,697,0,173,925,171,173,890,171,42,1183,1180,1188,0,924,921,927,889,886,892,42,1180,1183,67,0,921,924,919,886,889,884,42,155,1188,1186,0,172,927,928,172,892,893,42,1188,155,1183,0,927,172,924,892,172,889,42,1186,1187,566,0,928,929,930,893,894,895,42,1187,1186,1188,0,929,928,927,894,893,892,42,1188,565,1187,0,927,923,929,892,888,894,42,565,1188,1180,0,923,927,921,888,892,886,42,1192,155,1191,0,931,172,932,896,172,897,42,155,1192,700,0,172,931,174,172,896,174,42,1189,700,1192,0,933,174,931,898,174,896,42,700,1189,153,0,174,933,175,174,898,175,42,135,1192,1190,0,934,931,935,899,896,900,42,1192,135,1189,0,931,934,933,896,899,898,42,1190,1191,68,0,935,932,936,900,897,901,42,1191,1190,1192,0,932,935,931,897,900,896,42,1191,1186,1195,0,932,928,937,897,893,902,42,1186,1191,155,0,928,932,172,893,897,172,42,68,1195,1193,0,936,937,938,901,902,903,42,1195,68,1191,0,937,936,932,902,901,897,42,1193,1194,567,0,938,939,940,903,904,905,42,1194,1193,1195,0,939,938,937,904,903,902,42,1195,566,1194,0,937,930,939,902,895,904,42,566,1195,1186,0,930,937,928,895,902,893,42,1196,1198,1199,0,941,942,943,906,907,908,42,1198,1196,69,0,942,941,944,907,906,909,42,68,1199,1190,0,936,943,935,901,908,900,42,1199,68,1196,0,943,936,941,908,901,906,42,1190,1197,135,0,935,945,934,900,910,899,42,1197,1190,1199,0,945,935,943,910,900,908,42,1199,136,1197,0,943,946,945,908,911,910,42,136,1199,1198,0,946,943,942,911,908,907,42,1201,1200,568,0,947,948,949,912,913,914,42,1200,1201,1202,0,948,947,950,913,912,915,42,1202,567,1200,0,950,940,948,915,905,913,42,567,1202,1193,0,940,950,938,905,915,903,42,1196,1193,1202,0,941,938,950,906,903,915,42,1193,1196,68,0,938,941,936,903,906,901,42,69,1202,1201,0,944,950,947,909,915,912,42,1202,69,1196,0,950,944,941,915,909,906,42,1203,719,1205,0,951,208,952,916,208,917,42,719,1203,149,0,208,951,204,208,916,204,42,69,1205,1198,0,944,952,942,909,917,907,42,1205,69,1203,0,952,944,951,917,909,916,42,1198,1204,136,0,942,953,946,907,918,911,42,1204,1198,1205,0,953,942,952,918,907,917,42,1205,148,1204,0,952,209,953,917,209,918,42,148,1205,719,0,209,952,208,209,917,208,42,1203,1201,1208,0,951,947,954,916,912,919,42,1201,1203,69,0,947,951,944,912,916,909,42,149,1208,1206,0,204,954,955,204,919,920,42,1208,149,1203,0,954,204,951,919,204,916,42,1206,1207,569,0,955,956,957,920,921,922,42,1207,1206,1208,0,956,955,954,921,920,919,42,1208,568,1207,0,954,949,956,919,914,921,42,568,1208,1201,0,949,954,947,914,919,912,42,1209,1212,1213,0,958,959,960,923,924,925,42,1212,1209,558,0,959,958,961,924,923,926,42,70,1213,1210,0,962,960,963,927,925,928,42,1213,70,1209,0,960,962,958,925,927,923,42,1210,1211,138,0,963,964,965,928,929,930,42,1211,1210,1213,0,964,963,960,929,928,925,42,1213,137,1211,0,960,966,964,925,931,929,42,137,1213,1212,0,966,960,959,931,925,924,42,1214,1210,1217,0,967,968,969,932,928,933,42,1210,1214,70,0,968,967,970,928,932,927,42,523,1217,1215,0,971,969,972,934,933,935,42,1217,523,1214,0,969,971,967,933,934,932,42,1215,1216,139,0,972,973,974,935,936,937,42,1216,1215,1217,0,973,972,969,936,935,933,42,1217,138,1216,0,969,975,973,933,930,936,42,138,1217,1210,0,975,969,968,930,933,928,42,1218,1220,1221,0,976,977,978,938,939,940,42,1220,1218,559,0,977,976,979,939,938,941,42,577,1221,1219,0,980,978,981,942,940,943,42,1221,577,1218,0,978,980,976,940,942,938,42,1219,1209,70,0,981,958,962,943,923,927,42,1209,1219,1221,0,958,981,978,923,943,940,42,1221,558,1209,0,978,961,958,940,926,923,42,558,1221,1220,0,961,978,977,926,940,939,42,1223,1214,523,0,982,967,971,944,932,934,42,1214,1223,1224,0,967,982,983,932,944,945,42,1224,70,1214,0,983,970,967,945,927,932,42,70,1224,1219,0,970,983,984,927,945,943,42,1222,1219,1224,0,985,984,983,946,943,945,42,1219,1222,577,0,984,985,986,943,946,942,42,576,1224,1223,0,987,983,982,947,945,944,42,1224,576,1222,0,983,987,985,945,947,946,42,1103,1226,1227,0,802,988,989,779,948,949,42,1226,1103,106,0,988,802,70,948,779,70,42,1227,71,1103,0,989,803,802,949,780,779,42,71,1227,1143,0,803,989,863,780,949,830,42,1143,1225,557,0,863,990,868,830,950,835,42,1225,1143,1227,0,990,863,989,950,830,949,42,508,1227,1226,0,991,989,988,951,949,948,42,1227,508,1225,0,989,991,990,949,951,950,42,1229,1052,546,0,992,736,739,952,713,716,42,1052,1229,1230,0,736,992,993,713,952,953,42,1230,73,1052,0,993,737,736,953,714,713,42,73,1230,1092,0,737,993,786,714,953,763,42,1228,1092,1230,0,994,786,993,954,763,953,42,1092,1228,74,0,786,994,789,763,954,766,42,544,1230,1229,0,995,993,992,955,953,952,42,1230,544,1228,0,993,995,994,953,955,954,42,1233,1228,544,0,996,994,995,956,954,955,42,1228,1233,1234,0,994,996,997,954,956,957,42,1234,74,1228,0,997,789,994,957,766,954,42,74,1234,1231,0,789,997,998,766,957,958,42,1232,1231,1234,0,999,998,997,959,958,957,42,1231,1232,513,0,998,999,563,958,959,545,42,548,1234,1233,0,1e3,997,996,960,957,956,42,1234,548,1232,0,997,1e3,999,957,960,959,42,1231,1091,74,0,998,788,789,958,765,766,42,1091,1231,1236,0,788,998,1001,765,958,961,42,1236,75,1091,0,1001,785,788,961,762,765,42,75,1236,1235,0,785,1001,1002,762,961,962,42,935,1235,1236,0,562,1002,1001,544,962,961,42,1235,935,540,0,1002,562,565,962,544,547,42,513,1236,1231,0,563,1001,998,545,961,958,42,1236,513,935,0,1001,563,562,961,545,544,42,1238,1239,540,0,1003,1004,565,963,964,547,42,1235,540,1239,0,1002,565,1004,962,547,964,42,1239,1088,1235,0,1004,784,1002,964,761,962,42,75,1235,1088,0,785,1002,784,762,962,761,42,1237,76,1239,0,1005,778,1004,965,755,964,42,1088,1239,76,0,784,1004,778,761,964,755,42,539,1237,1238,0,1006,1005,1003,966,965,963,42,1238,1237,1239,0,1003,1005,1004,963,965,964,42,1237,1083,76,0,1005,776,778,965,753,755,42,1083,1237,1242,0,776,1005,1007,753,965,967,42,1242,77,1083,0,1007,774,776,967,751,753,42,77,1242,1240,0,774,1007,1008,751,967,968,42,1241,1240,1242,0,1009,1008,1007,969,968,967,42,1240,1241,538,0,1008,1009,1010,968,969,970,42,539,1242,1237,0,1006,1007,1005,966,967,965,42,1242,539,1241,0,1007,1006,1009,967,966,969,42,1244,1245,538,0,1011,1012,1010,971,972,970,42,538,1245,1240,0,1010,1012,1008,970,972,968,42,1245,1080,1240,0,1012,773,1008,972,750,968,42,1240,1080,77,0,1008,773,774,968,750,751,42,1243,78,1245,0,1013,758,1012,973,735,972,42,1245,78,1080,0,1012,758,773,972,735,750,42,512,1243,1244,0,1014,1013,1011,974,973,971,42,1244,1243,1245,0,1011,1013,1012,971,973,972,42,1247,1248,512,0,1015,1016,1014,975,976,974,42,512,1248,1243,0,1014,1016,1013,974,976,973,42,1248,1068,1243,0,1016,756,1013,976,733,973,42,1243,1068,78,0,1013,756,758,973,733,735,42,1246,79,1248,0,1017,755,1016,977,732,976,42,1248,79,1068,0,1016,755,756,976,732,733,42,537,1246,1247,0,1018,1017,1015,978,977,975,42,1247,1246,1248,0,1015,1017,1016,975,977,976,42,1249,1250,1251,0,1019,1020,1021,979,980,981,42,1250,1249,511,0,1020,1019,1022,980,979,982,42,537,1251,1246,0,1018,1021,1017,978,981,977,42,1251,537,1249,0,1021,1018,1019,981,978,979,42,1246,1065,79,0,1017,753,755,977,730,732,42,1065,1246,1251,0,753,1017,1021,730,977,981,42,1251,80,1065,0,1021,754,753,981,731,730,42,80,1251,1250,0,754,1021,1020,731,981,980,42,1252,1253,1254,0,1023,1024,1025,983,984,985,42,1253,1252,536,0,1024,1023,1026,984,983,986,42,511,1254,1250,0,1022,1025,1020,982,985,980,42,1254,511,1252,0,1025,1022,1023,985,982,983,42,1250,1072,80,0,1020,762,754,980,739,731,42,1072,1250,1254,0,762,1020,1025,739,980,985,42,1254,81,1072,0,1025,763,762,985,740,739,42,81,1254,1253,0,763,1025,1024,740,985,984,42,1255,1075,1257,0,1027,767,1028,987,744,988,42,1075,1255,82,0,767,1027,766,744,987,743,42,510,1257,1256,0,1029,1028,1030,989,988,990,42,1257,510,1255,0,1028,1029,1027,988,989,987,42,1256,1253,536,0,1030,1024,1026,990,984,986,42,1253,1256,1257,0,1024,1030,1028,984,990,988,42,1257,81,1253,0,1028,763,1024,988,740,984,42,81,1257,1075,0,763,1028,767,740,988,744,42,1258,509,1260,0,1031,1032,1033,991,992,993,42,509,1259,1260,0,1032,1034,1033,992,994,993,42,510,1258,1255,0,1029,1031,1027,989,991,987,42,1258,1260,1255,0,1031,1033,1027,991,993,987,42,1255,1260,82,0,1027,1033,766,987,993,743,42,1260,1096,82,0,1033,793,766,993,770,743,42,1260,1259,1096,0,1033,1034,793,993,994,770,42,1259,84,1096,0,1034,771,793,994,748,770,42,1261,1077,1263,0,1035,769,1036,995,746,996,42,1077,1261,83,0,769,1035,73,746,995,73,42,535,1263,1262,0,1037,1036,1038,997,996,998,42,1263,535,1261,0,1036,1037,1035,996,997,995,42,1262,1259,509,0,1038,1034,1032,998,994,992,42,1259,1262,1263,0,1034,1038,1036,994,998,996,42,1263,84,1259,0,1036,771,1034,996,748,994,42,84,1263,1077,0,771,1036,769,748,996,746,42,1226,106,1265,0,988,70,1039,948,70,999,42,106,636,1265,0,70,74,1039,70,74,999,42,1264,508,1226,0,1040,991,988,1e3,951,948,42,1226,1265,1264,0,988,1039,1040,948,999,1e3,42,535,1264,1265,0,1037,1040,1039,997,1e3,999,42,535,1265,1261,0,1037,1039,1035,997,999,995,42,1265,636,1261,0,1039,74,1035,999,74,995,42,1261,636,83,0,1035,74,73,995,74,73,42,598,654,1267,0,17,98,1041,17,98,1001,42,654,598,85,0,98,17,19,98,17,19,42,549,1267,1005,0,18,1041,674,18,1001,651,42,1267,549,598,0,1041,18,17,1001,18,17,42,1005,1266,547,0,674,1042,677,651,1002,654,42,1266,1005,1267,0,1042,674,1041,1002,651,1001,42,1267,533,1266,0,1041,100,1042,1001,100,1002,42,533,1267,654,0,100,1041,98,100,1001,98,42,1268,1271,1272,0,1043,1044,1045,1003,1004,1005,42,1271,1268,531,0,1044,1043,688,1004,1003,665,42,87,1272,1269,0,1046,1045,1047,1006,1005,1007,42,1272,87,1268,0,1045,1046,1043,1005,1006,1003,42,1269,1270,86,0,1047,1048,1049,1007,1008,1009,42,1270,1269,1272,0,1048,1047,1045,1008,1007,1005,42,1272,507,1270,0,1045,1050,1048,1005,1010,1008,42,507,1272,1271,0,1050,1045,1044,1010,1005,1004,42,1276,525,1275,0,1051,1052,1053,1011,1012,1013,42,525,1276,1273,0,1052,1051,1054,1012,1011,1014,42,1270,1273,1276,0,1048,1054,1051,1008,1014,1011,42,1273,1270,507,0,1054,1048,1050,1014,1008,1010,42,86,1276,1274,0,1049,1051,1055,1009,1011,1015,42,1276,86,1270,0,1051,1049,1048,1011,1009,1008,42,1274,1275,524,0,1055,1053,1056,1015,1013,1016,42,1275,1274,1276,0,1053,1055,1051,1013,1015,1011,42,1277,1274,1279,0,1057,1055,1058,1017,1015,1018,42,1274,1277,86,0,1055,1057,1049,1015,1017,1009,42,546,1279,1229,0,739,1058,992,716,1018,952,42,1279,546,1277,0,1058,739,1057,1018,716,1017,42,1229,1278,544,0,992,1059,995,952,1019,955,42,1278,1229,1279,0,1059,992,1058,1019,952,1018,42,1279,524,1278,0,1058,1056,1059,1018,1016,1019,42,524,1279,1274,0,1056,1058,1055,1016,1018,1015,42,1280,1269,1281,0,1060,1047,1061,1020,1007,1021,42,1269,1280,87,0,1047,1060,1046,1007,1020,1006,42,545,1281,1053,0,742,1061,740,719,1021,717,42,1281,545,1280,0,1061,742,1060,1021,719,1020,42,1053,1277,546,0,740,1057,739,717,1017,716,42,1277,1053,1281,0,1057,740,1061,1017,717,1021,42,1281,86,1277,0,1061,1049,1057,1021,1009,1017,42,86,1281,1269,0,1049,1061,1047,1009,1021,1007,42,1283,532,1011,0,1062,33,686,1022,33,663,42,532,1283,653,0,33,1062,99,33,1022,99,42,1283,533,653,0,1062,100,99,1022,100,99,42,533,1283,1282,0,100,1062,1063,100,1022,1023,42,1268,1282,1283,0,1043,1063,1062,1003,1023,1022,42,1282,1268,87,0,1063,1043,1046,1023,1003,1006,42,1268,1011,531,0,1043,686,688,1003,663,665,42,1011,1268,1283,0,686,1043,1062,663,1003,1022,42,1284,504,1288,0,1064,1065,1066,1024,1025,1026,42,504,1287,1288,0,1065,1067,1066,1025,1027,1026,42,527,1288,1285,0,1068,1066,1069,1028,1026,1029,42,1288,527,1284,0,1066,1068,1064,1026,1028,1024,42,1285,1286,88,0,1069,1070,1071,1029,1030,1031,42,1286,1285,1288,0,1070,1069,1066,1030,1029,1026,42,1288,1287,1286,0,1066,1067,1070,1026,1027,1030,42,1287,89,1286,0,1067,1072,1070,1027,1032,1030,42,1289,1285,1292,0,1073,1069,1074,1033,1029,1034,42,1285,1289,527,0,1069,1073,1068,1029,1033,1028,42,553,1292,1290,0,574,1074,1075,556,1034,1035,42,1292,553,1289,0,1074,574,1073,1034,556,1033,42,1290,1291,105,0,1075,1076,1077,1035,1036,1037,42,1291,1290,1292,0,1076,1075,1074,1036,1035,1034,42,1292,88,1291,0,1074,1071,1076,1034,1031,1036,42,88,1292,1285,0,1071,1074,1069,1031,1034,1029,42,1286,1295,88,0,1070,1078,1071,1030,1038,1031,42,88,1295,1293,0,1071,1078,1079,1031,1038,1039,42,1295,662,1293,0,1078,109,1079,1038,109,1039,42,1293,662,104,0,1079,109,111,1039,109,111,42,1294,662,1295,0,1080,109,1078,1040,109,1038,42,662,1294,102,0,109,1080,115,109,1040,115,42,1294,1286,89,0,1080,1070,1072,1040,1030,1032,42,1286,1294,1295,0,1070,1080,1078,1030,1040,1038,42,1291,1293,1298,0,1076,1079,1081,1036,1039,1041,42,1293,1291,88,0,1079,1076,1071,1039,1036,1031,42,105,1298,1296,0,1077,1081,1082,1037,1041,1042,42,1298,105,1291,0,1081,1077,1076,1041,1037,1036,42,1297,1296,1298,0,1083,1082,1081,1043,1042,1041,42,1296,1297,103,0,1082,1083,1084,1042,1043,1044,42,1298,104,1297,0,1081,111,1083,1041,111,1043,42,104,1298,1293,0,111,1081,1079,111,1041,1039,42,1300,1287,504,0,1085,1067,1065,1045,1027,1025,42,1287,1300,1301,0,1067,1085,1086,1027,1045,1046,42,1299,1287,1301,0,1087,1067,1086,1047,1027,1046,42,1287,1299,89,0,1067,1087,1072,1027,1047,1032,42,1299,1111,90,0,1087,812,816,1047,789,793,42,1111,1299,1301,0,812,1087,1086,789,1047,1046,42,505,1301,1300,0,815,1086,1085,792,1046,1045,42,1301,505,1111,0,1086,815,812,1046,792,789,42,1304,89,1299,0,1088,1072,1087,1048,1032,1047,42,89,1304,1294,0,1072,1088,1080,1032,1048,1040,42,102,1304,1302,0,115,1088,1089,115,1048,1049,42,1304,102,1294,0,1088,115,1080,1048,115,1040,42,1302,1303,101,0,1089,1090,1091,1049,1050,1051,42,1303,1302,1304,0,1090,1089,1088,1050,1049,1048,42,1304,90,1303,0,1088,816,1090,1048,793,1050,42,90,1304,1299,0,816,1088,1087,793,1048,1047,42,1303,1112,1307,0,1090,817,1092,1050,794,1052,42,1112,1303,90,0,817,1090,816,794,1050,793,42,101,1307,1305,0,1091,1092,1093,1051,1052,1053,42,1307,101,1303,0,1092,1091,1090,1052,1051,1050,42,1305,1306,97,0,1093,1094,1095,1053,1054,1055,42,1306,1305,1307,0,1094,1093,1092,1054,1053,1052,42,1307,91,1306,0,1092,819,1094,1052,787,1054,42,91,1307,1112,0,819,1092,817,787,1052,794,42,1306,1109,1309,0,1096,811,1097,1054,788,1056,42,1109,1306,91,0,811,1096,810,788,1054,787,42,97,1309,1308,0,1098,1097,1099,1055,1056,1057,42,1309,97,1306,0,1097,1098,1096,1056,1055,1054,42,1308,1132,98,0,1099,851,852,1057,820,821,42,1132,1308,1309,0,851,1099,1097,820,1057,1056,42,1309,92,1132,0,1097,807,851,1056,784,820,42,92,1309,1109,0,807,1097,811,784,1056,788,42,1310,1296,1312,0,1100,1082,1101,1058,1042,1059,42,1296,1310,105,0,1082,1100,1077,1042,1058,1037,42,95,1310,1312,0,835,1100,1101,807,1058,1059,42,1312,1121,95,0,1101,832,835,1059,804,807,42,1311,1121,1312,0,1102,832,1101,1060,804,1059,42,1121,1311,93,0,832,1102,833,804,1060,805,42,103,1312,1296,0,1084,1101,1082,1044,1059,1042,42,1312,103,1311,0,1101,1084,1102,1059,1044,1060,42,1314,1311,103,0,1103,1102,1084,1061,1060,1044,42,1311,1314,1315,0,1102,1103,1104,1060,1061,1062,42,1315,93,1311,0,1104,833,1102,1062,805,1060,42,93,1315,1126,0,833,1104,838,805,1062,809,42,1313,1126,1315,0,1105,838,1104,1063,809,1062,42,1126,1313,112,0,838,1105,842,809,1063,813,42,111,1315,1314,0,1106,1104,1103,1064,1062,1061,42,1315,111,1313,0,1104,1106,1105,1062,1064,1063,42,1317,553,1290,0,1107,574,1075,1065,556,1035,42,553,1317,1316,0,574,1107,1108,556,1065,1066,42,1138,1316,1317,0,859,1108,1107,827,1066,1065,42,1316,1138,94,0,1108,859,861,1066,827,829,42,95,1317,1310,0,835,1107,1100,807,1065,1058,42,1138,1317,95,0,859,1107,835,827,1065,807,42,1317,105,1310,0,1107,1077,1100,1065,1037,1058,42,105,1317,1290,0,1077,1107,1075,1037,1065,1035,42,940,1316,1319,0,573,1108,1109,555,1066,1067,42,1316,940,553,0,1108,573,574,1066,555,556,42,554,1319,1318,0,572,1109,1110,554,1067,1068,42,1319,554,940,0,1109,572,573,1067,554,555,42,1318,1145,555,0,1110,873,874,1068,838,839,42,1145,1318,1319,0,873,1110,1109,838,1068,1067,42,1319,94,1145,0,1109,861,873,1067,829,838,42,94,1319,1316,0,861,1109,1108,829,1067,1066,42,1320,1305,1323,0,1111,1093,1112,1069,1053,1070,42,1305,1320,101,0,1093,1111,1091,1053,1069,1051,42,109,1323,1321,0,1113,1112,1114,1071,1070,1072,42,1323,109,1320,0,1112,1113,1111,1070,1071,1069,42,1321,1322,108,0,1114,1115,1116,1072,1073,1074,42,1322,1321,1323,0,1115,1114,1112,1073,1072,1070,42,1323,97,1322,0,1112,1095,1115,1070,1055,1073,42,97,1323,1305,0,1095,1112,1093,1055,1070,1053,42,1325,1324,107,0,1117,1118,1119,1075,1076,1077,42,1324,1325,1326,0,1118,1117,1120,1076,1075,1078,42,1326,98,1324,0,1120,852,1118,1078,821,1076,42,98,1326,1308,0,852,1120,1099,821,1078,1057,42,1322,1308,1326,0,1121,1099,1120,1073,1057,1078,42,1308,1322,97,0,1099,1121,1098,1057,1073,1055,42,108,1326,1325,0,1122,1120,1117,1074,1078,1075,42,1326,108,1322,0,1120,1122,1121,1078,1074,1073,42,1324,1133,1328,0,1118,849,1123,1076,818,1079,42,1133,1324,98,0,849,1118,852,818,1076,821,42,107,1328,1327,0,1119,1123,1124,1077,1079,1080,42,1328,107,1324,0,1123,1119,1118,1079,1077,1076,42,1327,656,114,0,1124,102,107,1080,102,107,42,656,1327,1328,0,102,1124,1123,102,1080,1079,42,1328,99,656,0,1123,105,102,1079,105,102,42,99,1328,1133,0,105,1123,849,105,1079,818,42,661,1302,1330,0,114,1089,1125,114,1049,1081,42,1302,661,102,0,1089,114,115,1049,114,115,42,110,1330,1329,0,113,1125,1126,113,1081,1082,42,1330,110,661,0,1125,113,114,1081,113,114,42,1329,1320,109,0,1126,1111,1113,1082,1069,1071,42,1320,1329,1330,0,1111,1126,1125,1069,1082,1081,42,1330,101,1320,0,1125,1091,1111,1081,1051,1069,42,101,1330,1302,0,1091,1125,1089,1051,1081,1049,42,660,1297,104,0,112,1083,111,112,1043,111,42,1297,660,1332,0,1083,112,1127,1043,112,1083,42,1332,103,1297,0,1127,1084,1083,1083,1044,1043,42,103,1332,1314,0,1084,1127,1103,1044,1083,1061,42,1331,1314,1332,0,1128,1103,1127,1084,1061,1083,42,1314,1331,111,0,1103,1128,1106,1061,1084,1064,42,110,1332,660,0,113,1127,112,113,1083,112,42,1332,110,1331,0,1127,113,1128,1083,113,1084,42,1333,1327,1336,0,1129,1124,1130,1085,1080,1086,42,1327,1333,107,0,1124,1129,1119,1080,1085,1077,42,116,1336,1334,0,1131,1130,1132,1087,1086,1088,42,1336,116,1333,0,1130,1131,1129,1086,1087,1085,42,1334,1335,115,0,1132,1133,1134,1088,1089,1090,42,1335,1334,1336,0,1133,1132,1130,1089,1088,1086,42,1336,114,1335,0,1130,107,1133,1086,107,1089,42,114,1336,1327,0,107,1130,1124,107,1086,1080,42,1337,1325,1339,0,1135,1117,1136,1091,1075,1092,42,1325,1337,108,0,1117,1135,1122,1075,1091,1074,42,117,1339,1338,0,1137,1136,1138,1093,1092,1094,42,1339,117,1337,0,1136,1137,1135,1092,1093,1091,42,1338,1333,116,0,1138,1129,1131,1094,1085,1087,42,1333,1338,1339,0,1129,1138,1136,1085,1094,1092,42,1339,107,1333,0,1136,1119,1129,1092,1077,1085,42,107,1339,1325,0,1119,1136,1117,1077,1092,1075,42,1340,1321,1342,0,1139,1114,1140,1095,1072,1096,42,1321,1340,109,0,1114,1139,1113,1072,1095,1071,42,118,1342,1341,0,1141,1140,1142,1097,1096,1098,42,1342,118,1340,0,1140,1141,1139,1096,1097,1095,42,1341,1337,117,0,1142,1143,1144,1098,1091,1093,42,1337,1341,1342,0,1143,1142,1140,1091,1098,1096,42,1342,108,1337,0,1140,1116,1143,1096,1074,1091,42,108,1342,1321,0,1116,1140,1114,1074,1096,1072,42,1345,109,1340,0,1145,1113,1139,1099,1071,1095,42,109,1345,1329,0,1113,1145,1126,1071,1099,1082,42,1343,1329,1345,0,1146,1126,1145,1100,1082,1099,42,1329,1343,110,0,1126,1146,113,1082,1100,113,42,119,1345,1344,0,1147,1145,1148,1101,1099,1102,42,1345,119,1343,0,1145,1147,1146,1099,1101,1100,42,1344,1340,118,0,1148,1139,1141,1102,1095,1097,42,1340,1344,1345,0,1139,1148,1145,1095,1102,1099,42,1343,1331,110,0,1146,1128,113,1100,1084,113,42,1331,1343,1348,0,1128,1146,1149,1084,1100,1103,42,1348,111,1331,0,1149,1106,1128,1103,1064,1084,42,111,1348,1346,0,1106,1149,1150,1064,1103,1104,42,1347,1346,1348,0,1151,1150,1149,1105,1104,1103,42,1346,1347,120,0,1150,1151,1152,1104,1105,1106,42,119,1348,1343,0,1147,1149,1146,1101,1103,1100,42,1348,119,1347,0,1149,1147,1151,1103,1101,1105,42,1346,1313,111,0,1150,1105,1106,1104,1063,1064,42,1313,1346,1351,0,1105,1150,1153,1063,1104,1107,42,1351,112,1313,0,1153,842,1105,1107,813,1063,42,112,1351,1349,0,842,1153,1154,813,1107,1108,42,1350,1349,1351,0,1155,1154,1153,1109,1108,1107,42,1349,1350,121,0,1154,1155,1156,1108,1109,1110,42,120,1351,1346,0,1152,1153,1150,1106,1107,1104,42,1351,120,1350,0,1153,1152,1155,1107,1106,1109,42,1352,1125,1354,0,1157,840,1158,1111,811,1112,42,1125,1352,113,0,840,1157,841,811,1111,812,42,122,1354,1353,0,1159,1158,1160,1113,1112,1114,42,1354,122,1352,0,1158,1159,1157,1112,1113,1111,42,1353,1349,121,0,1160,1154,1156,1114,1108,1110,42,1349,1353,1354,0,1154,1160,1158,1108,1114,1112,42,1354,112,1349,0,1158,842,1154,1112,813,1108,42,112,1354,1125,0,842,1158,840,813,1112,811,42,1335,1128,1356,0,1133,844,1161,1089,815,1115,42,1128,1335,114,0,844,1133,107,815,1089,107,42,115,1356,1355,0,1134,1161,1162,1090,1115,1116,42,1356,115,1335,0,1161,1134,1133,1115,1090,1089,42,1355,1352,122,0,1162,1163,1164,1116,1111,1113,42,1352,1355,1356,0,1163,1162,1161,1111,1116,1115,42,1356,113,1352,0,1161,846,1163,1115,812,1111,42,113,1356,1128,0,846,1161,844,812,1115,815,42,1360,115,1359,0,1165,1134,1166,1117,1090,1118,42,115,1360,1334,0,1134,1165,1132,1090,1117,1088,42,116,1360,1357,0,1131,1165,1167,1087,1117,1119,42,1360,116,1334,0,1165,1131,1132,1117,1087,1088,42,1357,1358,124,0,1167,1168,124,1119,1120,124,42,1358,1357,1360,0,1168,1167,1165,1120,1119,1117,42,1358,1359,123,0,1168,1166,122,1120,1118,122,42,1359,1358,1360,0,1166,1168,1165,1118,1120,1117,42,665,1361,128,0,120,1169,121,120,1121,121,42,1361,665,1362,0,1169,120,1170,1121,120,1122,42,1362,122,1361,0,1170,1164,1169,1122,1113,1121,42,122,1362,1355,0,1164,1170,1162,1113,1122,1116,42,1359,1355,1362,0,1166,1162,1170,1118,1116,1122,42,1355,1359,115,0,1162,1166,1134,1116,1118,1090,42,123,1362,665,0,122,1170,120,122,1122,120,42,1362,123,1359,0,1170,122,1166,1122,122,1118,42,1363,668,192,0,1171,126,128,1123,126,128,42,668,1363,1364,0,126,1171,1172,126,1123,1124,42,1364,124,668,0,1172,124,126,1124,124,126,42,124,1364,1357,0,124,1172,1167,124,1124,1119,42,1338,1357,1364,0,1138,1167,1172,1094,1119,1124,42,1357,1338,116,0,1167,1138,1131,1119,1094,1087,42,117,1364,1363,0,1137,1172,1171,1093,1124,1123,42,1364,117,1338,0,1172,1137,1138,1124,1093,1094,42,1365,1341,1367,0,1173,1142,1174,1125,1098,1126,42,1341,1365,118,0,1142,1173,1141,1098,1125,1097,42,200,1367,1366,0,135,1174,1175,135,1126,1127,42,1367,200,1365,0,1174,135,1173,1126,135,1125,42,1366,1363,192,0,1175,1176,1177,1127,1123,128,42,1363,1366,1367,0,1176,1175,1174,1123,1127,1126,42,1367,117,1363,0,1174,1144,1176,1126,1093,1123,42,117,1367,1341,0,1144,1174,1142,1093,1126,1098,42,1365,676,1369,0,1173,139,1178,1125,139,1128,42,676,1365,200,0,139,1173,135,139,1125,135,42,1369,118,1365,0,1178,1141,1173,1128,1097,1125,42,118,1369,1344,0,1141,1178,1148,1097,1128,1102,42,1368,1344,1369,0,1179,1148,1178,1129,1102,1128,42,1344,1368,119,0,1148,1179,1147,1102,1129,1101,42,201,1369,676,0,140,1178,139,140,1128,139,42,1369,201,1368,0,1178,140,1179,1128,140,1129,42,1368,1347,119,0,1179,1151,1147,1129,1105,1101,42,1347,1368,1372,0,1151,1179,1180,1105,1129,1130,42,1372,120,1347,0,1180,1152,1151,1130,1106,1105,42,120,1372,1370,0,1152,1180,1181,1106,1130,1131,42,1371,1370,1372,0,1182,1181,1180,1132,1131,1130,42,1370,1371,202,0,1181,1182,143,1131,1132,143,42,1371,1368,201,0,1182,1179,140,1132,1129,140,42,1368,1371,1372,0,1179,1182,1180,1129,1132,1130,42,679,1373,1374,0,142,1183,1184,142,1133,1134,42,1373,679,127,0,1183,142,145,1133,142,145,42,202,1374,1370,0,143,1184,1181,143,1134,1131,42,1374,202,679,0,1184,143,142,1134,143,142,42,1370,1350,120,0,1181,1155,1152,1131,1109,1106,42,1350,1370,1374,0,1155,1181,1184,1109,1131,1134,42,1374,121,1350,0,1184,1156,1155,1134,1110,1109,42,121,1374,1373,0,1156,1184,1183,1110,1134,1133,42,1361,1353,1376,0,1185,1160,1186,1121,1114,1135,42,1353,1361,122,0,1160,1185,1159,1114,1121,1113,42,128,1376,1375,0,1187,1186,1188,121,1135,1136,42,1376,128,1361,0,1186,1187,1185,1135,121,1121,42,1375,1373,127,0,1188,1183,145,1136,1133,145,42,1373,1375,1376,0,1183,1188,1186,1133,1136,1135,42,1376,121,1373,0,1186,1156,1183,1135,1110,1133,42,121,1376,1353,0,1156,1186,1160,1110,1135,1114,42,1377,666,194,0,1189,116,118,1137,116,118,42,666,1377,1378,0,116,1189,1190,116,1137,1138,42,1378,123,666,0,1190,122,116,1138,122,116,42,123,1378,1358,0,122,1190,1168,122,1138,1120,42,670,1358,1378,0,125,1168,1190,125,1120,1138,42,1358,670,124,0,1168,125,124,1120,125,124,42,193,1378,1377,0,129,1190,1189,129,1138,1137,42,1378,193,670,0,1190,129,125,1138,129,125,42,1380,201,677,0,1191,140,138,1139,140,138,42,201,1380,1371,0,140,1191,1182,140,1139,1132,42,1380,202,1371,0,1191,143,1182,1139,143,1132,42,202,1380,681,0,143,1191,141,143,1139,141,42,1379,681,1380,0,1192,141,1191,1140,141,1139,42,681,1379,126,0,141,1192,147,141,1140,147,42,125,1380,677,0,136,1191,138,136,1139,138,42,1380,125,1379,0,1191,136,1192,1139,136,1140,42,674,1379,125,0,131,1192,136,131,1140,136,42,1379,674,1382,0,1192,131,1193,1140,131,1141,42,684,1379,1382,0,149,1192,1193,149,1140,1141,42,1379,684,126,0,1192,149,147,1140,149,147,42,206,1382,1381,0,151,1193,1194,151,1141,1142,42,1382,206,684,0,1193,151,149,1141,151,149,42,199,1382,674,0,133,1193,131,133,1141,131,42,1382,199,1381,0,1193,133,1194,1141,133,1142,42,1385,1375,127,0,1195,1196,1197,1143,1136,145,42,1375,1385,1386,0,1196,1195,1198,1136,1143,1144,42,1383,1375,1386,0,1199,1196,1198,1145,1136,1144,42,1375,1383,128,0,1196,1199,121,1136,1145,121,42,1384,1383,1386,0,1200,1199,1198,1146,1145,1144,42,1383,1384,205,0,1199,1200,1201,1145,1146,1147,42,195,1386,1385,0,1202,1198,1195,1148,1144,1143,42,1386,195,1384,0,1198,1202,1200,1144,1148,1146,42,1385,683,1389,0,1203,150,1204,1143,150,1149,42,683,1385,127,0,150,1203,145,150,1143,145,42,1387,195,1385,0,1205,1206,1203,1150,1148,1143,42,1387,1385,1389,0,1205,1203,1204,1150,1143,1149,42,196,1387,1389,0,1207,1205,1204,1151,1150,1149,42,196,1389,1388,0,1207,1204,1208,1151,1149,1152,42,1389,206,1388,0,1204,151,1208,1149,151,1152,42,206,1389,683,0,151,1204,150,151,1149,150,42,1383,686,128,0,1199,152,121,1145,152,121,42,686,1383,1392,0,152,1199,1209,152,1145,1153,42,1392,190,686,0,1209,153,152,1153,153,152,42,190,1392,1390,0,153,1209,1210,153,1153,1154,42,1391,1390,1392,0,1211,1210,1209,1155,1154,1153,42,1390,1391,204,0,1210,1211,1212,1154,1155,1156,42,205,1392,1383,0,1201,1209,1199,1147,1153,1145,42,1392,205,1391,0,1209,1201,1211,1153,1147,1155,42,1393,174,1396,0,1213,1214,1215,1157,1158,1159,42,174,1395,1396,0,1214,1216,1215,1158,1160,1159,42,173,1393,1394,0,1217,1213,1218,1161,1157,1162,42,1393,1396,1394,0,1213,1215,1218,1157,1159,1162,42,1394,1396,170,0,1218,1215,158,1162,1159,158,42,1396,691,170,0,1215,156,158,1159,156,158,42,1396,1395,691,0,1215,1216,156,1159,1160,156,42,1395,129,691,0,1216,162,156,1160,162,156,42,1397,175,1399,0,1219,1220,1221,1163,1164,1165,42,175,1398,1399,0,1220,1222,1221,1164,1166,1165,42,174,1397,1395,0,1214,1219,1216,1158,1163,1160,42,1397,1399,1395,0,1219,1221,1216,1163,1165,1160,42,1395,1399,129,0,1216,1221,162,1160,1165,162,42,1399,694,129,0,1221,164,162,1165,164,162,42,1399,1398,694,0,1221,1222,164,1165,1166,164,42,1398,171,694,0,1222,166,164,1166,166,164,42,1401,1400,169,0,1223,1224,1225,1167,1168,1169,42,1400,1401,1402,0,1224,1223,1226,1168,1167,1170,42,1402,130,1400,0,1226,886,1224,1170,851,1168,42,130,1402,1153,0,886,1226,884,851,1170,849,42,1394,1153,1402,0,1218,884,1226,1162,849,1170,42,1153,1394,170,0,884,1218,158,849,1162,158,42,173,1402,1401,0,1217,1226,1223,1161,1170,1167,42,1402,173,1394,0,1226,1217,1218,1170,1161,1162,42,1403,1404,1405,0,1227,1228,1229,1171,1172,1173,42,1404,1403,412,0,1228,1227,1230,1172,1171,1174,42,1405,131,1403,0,1229,896,1227,1173,861,1171,42,131,1405,1160,0,896,1229,895,861,1173,860,42,1400,1160,1405,0,1224,895,1229,1168,860,1173,42,1160,1400,130,0,895,1224,886,860,1168,851,42,169,1405,1404,0,1225,1229,1228,1169,1173,1172,42,1405,169,1400,0,1229,1225,1224,1173,1169,1168,42,1408,412,1403,0,1231,1230,1227,1175,1174,1171,42,412,1408,1406,0,1230,1231,1232,1174,1175,1176,42,164,1406,1407,0,1233,1232,1234,1177,1176,1178,42,1406,1408,1407,0,1232,1231,1234,1176,1175,1178,42,1408,1167,160,0,1231,903,220,1175,868,220,42,1408,160,1407,0,1231,220,1234,1175,220,1178,42,1403,131,1167,0,1227,896,903,1171,861,868,42,1403,1167,1408,0,1227,903,1231,1171,868,1175,42,1409,1411,1412,0,1235,1236,1237,1179,1180,1181,42,1411,1409,163,0,1236,1235,1238,1180,1179,1182,42,1410,165,1409,0,1239,1240,1235,1183,1184,1179,42,1410,1409,1412,0,1239,1235,1237,1183,1179,1181,42,1410,1169,132,0,1239,906,907,1183,871,872,42,1169,1410,1412,0,906,1239,1237,871,1183,1181,42,1412,159,1169,0,1237,213,906,1181,213,871,42,159,1412,1411,0,213,1237,1236,213,1181,1180,42,1415,1410,132,0,1241,1239,907,1185,1183,872,42,132,1176,1415,0,907,916,1241,872,881,1185,42,165,1410,1413,0,1240,1239,1242,1184,1183,1186,42,1410,1415,1413,0,1239,1241,1242,1183,1185,1186,42,1413,1414,166,0,1242,1243,1244,1186,1187,1188,42,1414,1413,1415,0,1243,1242,1241,1187,1186,1185,42,1415,1176,1414,0,1241,916,1243,1185,881,1187,42,1176,133,1414,0,916,917,1243,881,882,1187,42,1184,1417,1418,0,926,1245,1246,891,1189,1190,42,1417,1184,154,0,1245,926,173,1189,891,173,42,133,1418,1414,0,917,1246,1243,882,1190,1187,42,1418,133,1184,0,1246,917,926,1190,882,891,42,1414,1416,166,0,1243,1247,1244,1187,1191,1188,42,1416,1414,1418,0,1247,1243,1246,1191,1187,1190,42,1418,158,1416,0,1246,1248,1247,1190,1192,1191,42,158,1418,1417,0,1248,1246,1245,1192,1190,1189,42,1417,1419,158,0,1245,1249,1248,1189,1193,1192,42,1419,1417,1421,0,1249,1245,1250,1193,1189,1194,42,1421,156,1419,0,1250,1251,1249,1194,1195,1193,42,156,1421,1420,0,1251,1250,1252,1195,1194,1196,42,1420,698,134,0,1252,167,169,1196,167,169,42,698,1420,1421,0,167,1252,1250,167,1196,1194,42,154,1421,1417,0,173,1250,1245,173,1194,1189,42,1421,154,698,0,1250,173,167,1194,173,167,42,1422,1420,1424,0,1253,1252,1254,1197,1196,1198,42,1420,1422,156,0,1252,1253,1251,1196,1197,1195,42,157,1424,1423,0,1255,1254,1256,1199,1198,1200,42,1424,157,1422,0,1254,1255,1253,1198,1199,1197,42,1423,701,153,0,1256,177,175,1200,177,175,42,701,1423,1424,0,177,1256,1254,177,1200,1198,42,1424,134,701,0,1254,169,177,1198,169,177,42,134,1424,1420,0,169,1254,1252,169,1198,1196,42,1425,1423,1427,0,1257,1256,1258,1201,1200,1202,42,1423,1425,157,0,1256,1257,1255,1200,1201,1199,42,1426,167,1425,0,1259,1260,1257,1203,1204,1201,42,1426,1425,1427,0,1259,1257,1258,1203,1201,1202,42,1426,1189,135,0,1259,933,934,1203,898,899,42,1189,1426,1427,0,933,1259,1258,898,1203,1202,42,1427,153,1189,0,1258,175,933,1202,175,898,42,153,1427,1423,0,175,1258,1256,175,1202,1200,42,1197,1429,1430,0,945,1261,1262,910,1205,1206,42,1429,1197,136,0,1261,945,946,1205,910,911,42,135,1430,1426,0,934,1262,1259,899,1206,1203,42,1430,135,1197,0,1262,934,945,1206,899,910,42,1426,1428,167,0,1259,1263,1260,1203,1207,1204,42,1428,1426,1430,0,1263,1259,1262,1207,1203,1206,42,1429,168,1428,0,1261,1264,1263,1205,1208,1207,42,1429,1428,1430,0,1261,1263,1262,1205,1207,1206,42,1429,1431,168,0,1261,1265,1264,1205,1209,1208,42,1431,1429,1433,0,1265,1261,1266,1209,1205,1210,42,1433,151,1431,0,1266,1267,1265,1210,1211,1209,42,151,1433,1432,0,1267,1266,1268,1211,1210,1212,42,1204,1432,1433,0,953,1268,1266,918,1212,1210,42,1432,1204,148,0,1268,953,209,1212,918,209,42,136,1433,1429,0,946,1266,1261,911,1210,1205,42,1433,136,1204,0,1266,946,953,1210,911,918,42,1434,693,1436,0,1269,165,1270,1213,165,1214,42,693,1434,172,0,165,1269,160,165,1213,160,42,1434,1212,558,0,1269,959,961,1213,924,926,42,1212,1434,1436,0,959,1269,1270,924,1213,1214,42,137,1212,1436,0,966,959,1270,931,924,1214,42,137,1436,1435,0,966,1270,1271,931,1214,1215,42,1435,1436,693,0,1271,1270,165,1215,1214,165,42,1435,693,171,0,1271,165,166,1215,165,166,42,1437,1438,1439,0,1272,1273,1274,1216,1217,1218,42,1438,1437,176,0,1273,1272,1275,1217,1216,1219,42,175,1437,1398,0,1220,1272,1222,1164,1216,1166,42,1437,1439,1398,0,1272,1274,1222,1216,1218,1166,42,1439,1435,171,0,1274,1271,166,1218,1215,166,42,1439,171,1398,0,1274,166,1222,1218,166,1166,42,1438,137,1435,0,1273,966,1271,1217,931,1215,42,1438,1435,1439,0,1273,1271,1274,1217,1215,1218,42,1438,1211,137,0,1273,964,966,1217,929,931,42,1211,1438,1442,0,964,1273,1276,929,1217,1220,42,1442,138,1211,0,1276,965,964,1220,930,929,42,138,1442,1440,0,965,1276,1277,930,1220,1221,42,1441,1440,1442,0,1278,1277,1276,1222,1221,1220,42,1440,1441,177,0,1277,1278,1279,1221,1222,1223,42,176,1442,1438,0,1275,1276,1273,1219,1220,1217,42,1442,176,1441,0,1276,1275,1278,1220,1219,1222,42,1443,1444,1445,0,1280,1281,1282,1224,1225,1226,42,1444,1443,178,0,1281,1280,1283,1225,1224,1227,42,177,1445,1440,0,1284,1282,1285,1223,1226,1221,42,1445,177,1443,0,1282,1284,1280,1226,1223,1224,42,1440,1216,138,0,1285,973,975,1221,936,930,42,1216,1440,1445,0,973,1285,1282,936,1221,1226,42,1445,139,1216,0,1282,974,973,1226,937,936,42,139,1445,1444,0,974,1282,1281,937,1226,1225,42,1446,703,1448,0,1286,181,1287,1228,181,1229,42,703,1446,238,0,181,1286,180,181,1228,180,42,178,1448,1444,0,1283,1287,1281,1227,1229,1225,42,1448,178,1446,0,1287,1283,1286,1229,1227,1228,42,1444,1447,139,0,1281,1288,974,1225,1230,937,42,1447,1444,1448,0,1288,1281,1287,1230,1225,1229,42,1448,140,1447,0,1287,182,1288,1229,182,1230,42,140,1448,703,0,182,1287,181,182,1229,181,42,1215,1449,523,0,972,1289,971,935,1231,934,42,1449,1215,1451,0,1289,972,1290,1231,935,1232,42,1451,522,1449,0,1290,1291,1289,1232,1233,1231,42,522,1451,1450,0,1291,1290,1292,1233,1232,1234,42,1447,1450,1451,0,1288,1292,1290,1230,1234,1232,42,1450,1447,140,0,1292,1288,182,1234,1230,182,42,139,1451,1215,0,974,1290,972,937,1232,935,42,1451,139,1447,0,1290,974,1288,1232,937,1230,42,1455,179,1454,0,1293,184,1294,1235,184,1236,42,179,1455,704,0,184,1293,183,184,1235,183,42,1455,1452,704,0,1293,1295,183,1235,1237,183,42,704,1452,140,0,183,1295,182,183,1237,182,42,1453,141,1455,0,1296,1297,1293,1238,1239,1235,42,1455,141,1452,0,1293,1297,1295,1235,1239,1237,42,180,1453,1454,0,1298,1296,1294,1240,1238,1236,42,1454,1453,1455,0,1294,1296,1293,1236,1238,1235,42,1452,1458,140,0,1295,1299,182,1237,1241,182,42,140,1458,1450,0,182,1299,1292,182,1241,1234,42,1458,1456,1450,0,1299,1300,1292,1241,1242,1234,42,1450,1456,522,0,1292,1300,1291,1234,1242,1233,42,1457,521,1458,0,1301,1302,1299,1243,1244,1241,42,1458,521,1456,0,1299,1302,1300,1241,1244,1242,42,141,1457,1452,0,1297,1301,1295,1239,1243,1237,42,1452,1457,1458,0,1295,1301,1299,1237,1243,1241,42,1459,707,1461,0,1303,188,1304,1245,188,1246,42,707,1459,181,0,188,1303,186,188,1245,186,42,1461,180,1459,0,1304,1298,1303,1246,1240,1245,42,180,1461,1453,0,1298,1304,1296,1240,1246,1238,42,1453,1460,141,0,1296,1305,1297,1238,1247,1239,42,1460,1453,1461,0,1305,1296,1304,1247,1238,1246,42,1461,707,1460,0,1304,188,1305,1246,188,1247,42,707,142,1460,0,188,189,1305,188,189,1247,42,1464,1462,520,0,1306,1307,1308,1248,1249,1250,42,1464,520,1463,0,1306,1308,1309,1248,1250,1251,42,1460,142,1462,0,1305,189,1307,1247,189,1249,42,1460,1462,1464,0,1305,1307,1306,1247,1249,1248,42,141,1460,1464,0,1297,1305,1306,1239,1247,1248,42,141,1464,1457,0,1297,1306,1301,1239,1248,1243,42,1457,1464,1463,0,1301,1306,1309,1243,1248,1251,42,1457,1463,521,0,1301,1309,1302,1243,1251,1244,42,1467,1462,142,0,1310,1307,189,1252,1249,189,42,1462,1467,1468,0,1307,1310,1311,1249,1252,1253,42,1468,520,1462,0,1311,1308,1307,1253,1250,1249,42,520,1468,1465,0,1308,1311,1312,1250,1253,1254,42,1466,1465,1468,0,1313,1312,1311,1255,1254,1253,42,1465,1466,519,0,1312,1313,1314,1254,1255,1256,42,143,1468,1467,0,1315,1311,1310,1257,1253,1252,42,1468,143,1466,0,1311,1315,1313,1253,1257,1255,42,1467,708,1471,0,1310,190,1316,1252,190,1258,42,708,1467,142,0,190,1310,189,190,1252,189,42,1467,1469,143,0,1310,1317,1315,1252,1259,1257,42,1469,1467,1471,0,1317,1310,1316,1259,1252,1258,42,1471,183,1469,0,1316,1318,1317,1258,1260,1259,42,183,1471,1470,0,1318,1316,1319,1260,1258,1261,42,708,1470,1471,0,190,1319,1316,190,1261,1258,42,1470,708,182,0,1319,190,191,1261,190,191,42,1474,1466,143,0,1320,1313,1315,1262,1255,1257,42,1466,1474,1475,0,1313,1320,1321,1255,1262,1263,42,1475,519,1466,0,1321,1314,1313,1263,1256,1255,42,519,1475,1472,0,1314,1321,1322,1256,1263,1264,42,1473,1472,1475,0,1323,1322,1321,1265,1264,1263,42,1472,1473,542,0,1322,1323,1324,1264,1265,1266,42,144,1475,1474,0,196,1321,1320,196,1263,1262,42,1475,144,1473,0,1321,196,1323,1263,196,1265,42,711,1474,1477,0,193,1320,1325,193,1262,1267,42,1474,711,144,0,1320,193,196,1262,193,196,42,184,1477,1476,0,194,1325,1326,194,1267,1268,42,1477,184,711,0,1325,194,193,1267,194,193,42,1476,1469,183,0,1326,1317,1318,1268,1259,1260,42,1469,1476,1477,0,1317,1326,1325,1259,1268,1267,42,1477,143,1469,0,1325,1315,1317,1267,1257,1259,42,143,1477,1474,0,1315,1325,1320,1257,1267,1262,42,1478,1480,1481,0,1327,1328,1329,1269,1270,1271,42,1480,1478,145,0,1328,1327,1330,1270,1269,1272,42,515,1481,1479,0,1331,1329,1332,1273,1271,1274,42,1481,515,1478,0,1329,1331,1327,1271,1273,1269,42,1479,712,185,0,1332,197,198,1274,197,198,42,712,1479,1481,0,197,1332,1329,197,1274,1271,42,1481,144,712,0,1329,196,197,1271,196,197,42,144,1481,1480,0,196,1329,1328,196,1271,1270,42,1480,1473,144,0,1328,1323,196,1270,1265,196,42,1473,1480,1484,0,1323,1328,1333,1265,1270,1275,42,1482,1473,1484,0,1334,1323,1333,1276,1265,1275,42,1473,1482,542,0,1323,1334,1324,1265,1276,1266,42,1483,1482,1484,0,1335,1334,1333,1277,1276,1275,42,1482,1483,518,0,1334,1335,1336,1276,1277,1278,42,145,1484,1480,0,1330,1333,1328,1272,1275,1270,42,1484,145,1483,0,1333,1330,1335,1275,1272,1277,42,1487,1478,515,0,1337,1327,1331,1279,1269,1273,42,1478,1487,1488,0,1327,1337,1338,1269,1279,1280,42,1488,145,1478,0,1338,1330,1327,1280,1272,1269,42,145,1488,1485,0,1330,1338,1339,1272,1280,1281,42,1486,1485,1488,0,1340,1339,1338,1282,1281,1280,42,1485,1486,516,0,1339,1340,1341,1281,1282,1283,42,514,1488,1487,0,1342,1338,1337,1284,1280,1279,42,1488,514,1486,0,1338,1342,1340,1280,1284,1282,42,1489,1490,1491,0,1343,1344,1345,1285,1286,1287,42,1490,1489,517,0,1344,1343,1346,1286,1285,1288,42,516,1491,1485,0,1341,1345,1339,1283,1287,1281,42,1491,516,1489,0,1345,1341,1343,1287,1283,1285,42,1485,1483,145,0,1339,1335,1330,1281,1277,1272,42,1483,1485,1491,0,1335,1339,1345,1277,1281,1287,42,1491,518,1483,0,1345,1336,1335,1287,1278,1277,42,518,1491,1490,0,1336,1345,1344,1278,1287,1286,42,1494,717,147,0,1347,199,201,1289,199,201,42,717,1494,1495,0,199,1347,1348,199,1289,1290,42,1495,150,717,0,1348,205,199,1290,205,199,42,150,1495,1492,0,205,1348,1349,205,1290,1291,42,1493,1492,1495,0,1350,1349,1348,1292,1291,1290,42,1492,1493,152,0,1349,1350,1351,1291,1292,1293,42,1493,1494,146,0,1350,1347,1352,1292,1289,1294,42,1494,1493,1495,0,1347,1350,1348,1289,1292,1290,42,1498,1496,478,0,1353,1354,1355,1295,1296,1297,42,1496,1498,1499,0,1354,1353,1356,1296,1295,1298,42,1499,146,1496,0,1356,1352,1354,1298,1294,1296,42,146,1499,1493,0,1352,1356,1350,1294,1298,1292,42,1497,152,1499,0,1357,1351,1356,1299,1293,1298,42,1499,152,1493,0,1356,1351,1350,1298,1293,1292,42,1497,1498,477,0,1357,1353,1358,1299,1295,1300,42,1498,1497,1499,0,1353,1357,1356,1295,1299,1298,42,1494,1501,1502,0,1347,1359,1360,1289,1301,1302,42,1501,1494,147,0,1359,1347,201,1301,1289,201,42,146,1502,1500,0,1352,1360,1361,1294,1302,1303,42,1502,146,1494,0,1360,1352,1347,1302,1294,1289,42,1500,1486,514,0,1361,1340,1342,1303,1282,1284,42,1486,1500,1502,0,1340,1361,1360,1282,1303,1302,42,1502,516,1486,0,1360,1341,1340,1302,1283,1282,42,516,1502,1501,0,1341,1360,1359,1283,1302,1301,42,1505,514,1504,0,1362,1342,1363,1304,1284,1305,42,514,1505,1500,0,1342,1362,1361,1284,1304,1303,42,1496,1500,1505,0,1354,1361,1362,1296,1303,1304,42,1500,1496,146,0,1361,1354,1352,1303,1296,1294,42,478,1505,1503,0,1355,1362,1364,1297,1304,1306,42,1505,478,1496,0,1362,1355,1354,1304,1297,1296,42,1503,1504,479,0,1364,1363,1365,1306,1305,1307,42,1504,1503,1505,0,1363,1364,1362,1305,1306,1304,42,1506,715,149,0,1366,202,204,1308,202,204,42,715,1506,1507,0,202,1366,1367,202,1308,1309,42,147,1507,1501,0,201,1367,1359,201,1309,1301,42,1507,147,715,0,1367,201,202,1309,201,202,42,1501,1489,516,0,1359,1343,1341,1301,1285,1283,42,1489,1501,1507,0,1343,1359,1367,1285,1301,1309,42,1507,517,1489,0,1367,1346,1343,1309,1288,1285,42,517,1507,1506,0,1346,1367,1366,1288,1309,1308,42,1432,1508,151,0,1268,1368,1267,1212,1310,1211,42,1508,1432,1509,0,1368,1268,1369,1310,1212,1311,42,152,1509,1492,0,1351,1369,1349,1293,1311,1291,42,1509,152,1508,0,1369,1351,1368,1311,1293,1310,42,1492,720,150,0,1349,206,205,1291,206,205,42,720,1492,1509,0,206,1349,1369,206,1291,1311,42,148,1509,1432,0,209,1369,1268,209,1311,1212,42,1509,148,720,0,1369,209,206,1311,209,206,42,1506,1206,1512,0,1366,955,1370,1308,920,1312,42,1206,1506,149,0,955,1366,204,920,1308,204,42,517,1506,1510,0,1346,1366,1371,1288,1308,1313,42,1506,1512,1510,0,1366,1370,1371,1308,1312,1313,42,1510,1512,571,0,1371,1370,1372,1313,1312,1314,42,1512,1511,571,0,1370,1373,1372,1312,1315,1314,42,1512,569,1511,0,1370,957,1373,1312,922,1315,42,569,1512,1206,0,957,1370,955,922,1312,920,42,1497,1508,152,0,1357,1368,1351,1299,1310,1293,42,1508,1497,1515,0,1368,1357,1374,1310,1299,1316,42,151,1515,1513,0,1267,1374,1375,1211,1316,1317,42,1515,151,1508,0,1374,1267,1368,1316,1211,1310,42,1513,1514,484,0,1375,1376,1377,1317,1318,1319,42,1514,1513,1515,0,1376,1375,1374,1318,1317,1316,42,477,1515,1497,0,1358,1374,1357,1300,1316,1299,42,1515,477,1514,0,1374,1358,1376,1316,1300,1318,42,1517,1516,483,0,1378,1379,1380,1320,1321,1322,42,1516,1517,1518,0,1379,1378,1381,1321,1320,1323,42,1518,484,1516,0,1381,1377,1379,1323,1319,1321,42,484,1518,1513,0,1377,1381,1375,1319,1323,1317,42,1431,1513,1518,0,1265,1375,1381,1209,1317,1323,42,1513,1431,151,0,1375,1265,1267,1317,1209,1211,42,168,1518,1517,0,1264,1381,1378,1208,1323,1320,42,1518,168,1431,0,1381,1264,1265,1323,1208,1209,42,1521,1422,157,0,1382,1253,1255,1324,1197,1199,42,1422,1521,1522,0,1253,1382,1383,1197,1324,1325,42,1522,156,1422,0,1383,1251,1253,1325,1195,1197,42,156,1522,1519,0,1251,1383,1384,1195,1325,1326,42,1520,1519,1522,0,1385,1384,1383,1327,1326,1325,42,1519,1520,447,0,1384,1385,1386,1326,1327,1328,42,448,1522,1521,0,1387,1383,1382,1329,1325,1324,42,1522,448,1520,0,1383,1387,1385,1325,1329,1327,42,1519,1419,156,0,1384,1249,1251,1326,1193,1195,42,1419,1519,1525,0,1249,1384,1388,1193,1326,1330,42,158,1525,1523,0,1248,1388,1389,1192,1330,1331,42,1525,158,1419,0,1388,1248,1249,1330,1192,1193,42,1523,1524,446,0,1389,1390,1391,1331,1332,1333,42,1524,1523,1525,0,1390,1389,1388,1332,1331,1330,42,1525,447,1524,0,1388,1386,1390,1330,1328,1332,42,447,1525,1519,0,1386,1388,1384,1328,1330,1326,42,1527,1425,167,0,1392,1257,1260,1334,1201,1204,42,1425,1527,1528,0,1257,1392,1393,1201,1334,1335,42,1528,157,1425,0,1393,1255,1257,1335,1199,1201,42,157,1528,1521,0,1255,1393,1382,1199,1335,1324,42,1526,1521,1528,0,1394,1382,1393,1336,1324,1335,42,1521,1526,448,0,1382,1394,1387,1324,1336,1329,42,449,1528,1527,0,1395,1393,1392,1337,1335,1334,42,1528,449,1526,0,1393,1395,1394,1335,1337,1336,42,1530,1529,445,0,1396,1397,1398,1338,1339,1340,42,1529,1530,1531,0,1397,1396,1399,1339,1338,1341,42,1531,446,1529,0,1399,1391,1397,1341,1333,1339,42,446,1531,1523,0,1391,1399,1389,1333,1341,1331,42,1416,1523,1531,0,1247,1389,1399,1191,1331,1341,42,1523,1416,158,0,1389,1247,1248,1331,1191,1192,42,166,1531,1530,0,1244,1399,1396,1188,1341,1338,42,1531,166,1416,0,1399,1244,1247,1341,1188,1191,42,1532,162,1534,0,1400,1401,1402,1342,1343,1344,42,162,1533,1534,0,1401,1403,1402,1343,1345,1344,42,163,1534,1411,0,1238,1402,1236,1182,1344,1180,42,1534,163,1532,0,1402,1238,1400,1344,1182,1342,42,1411,1534,159,0,1236,1402,213,1180,1344,213,42,1534,724,159,0,1402,211,213,1344,211,213,42,1534,1533,724,0,1402,1403,211,1344,1345,211,42,1533,589,724,0,1403,216,211,1345,216,211,42,1535,1533,162,0,1404,1403,1401,1346,1345,1343,42,1533,1535,1536,0,1403,1404,1405,1345,1346,1347,42,1536,589,1533,0,1405,216,1403,1347,216,1345,42,589,1536,727,0,216,1405,218,216,1347,218,42,1407,727,1536,0,1234,218,1405,1178,218,1347,42,727,1407,160,0,218,1234,220,218,1178,220,42,164,1536,1535,0,1233,1405,1404,1177,1347,1346,42,1536,164,1407,0,1405,1233,1234,1347,1177,1178,42,1540,163,1539,0,1406,1238,1407,1348,1182,1349,42,163,1540,1532,0,1238,1406,1400,1182,1348,1342,42,1537,1532,1540,0,1408,1400,1406,1350,1342,1348,42,1532,1537,162,0,1400,1408,1401,1342,1350,1343,42,415,1540,1538,0,1409,1406,1410,1351,1348,1352,42,1540,415,1537,0,1406,1409,1408,1348,1351,1350,42,1538,1539,416,0,1410,1407,1411,1352,1349,1353,42,1539,1538,1540,0,1407,1410,1406,1349,1352,1348,42,1541,414,1543,0,1412,1413,1414,1354,1355,1356,42,414,1542,1543,0,1413,1415,1414,1355,1357,1356,42,415,1541,1537,0,1409,1412,1408,1351,1354,1350,42,1541,1543,1537,0,1412,1414,1408,1354,1356,1350,42,1537,1543,162,0,1408,1414,1401,1350,1356,1343,42,1543,1535,162,0,1414,1404,1401,1356,1346,1343,42,1543,1542,1535,0,1414,1415,1404,1356,1357,1346,42,1542,164,1535,0,1415,1233,1404,1357,1177,1346,42,1546,165,1545,0,1416,1240,1417,1358,1184,1359,42,165,1546,1409,0,1240,1416,1235,1184,1358,1179,42,1539,1409,1546,0,1407,1235,1416,1349,1179,1358,42,1409,1539,163,0,1235,1407,1238,1179,1349,1182,42,416,1546,1544,0,1411,1416,1418,1353,1358,1360,42,1546,416,1539,0,1416,1411,1407,1358,1353,1349,42,1544,1545,417,0,1418,1417,1419,1360,1359,1361,42,1545,1544,1546,0,1417,1418,1416,1359,1360,1358,42,1548,1547,413,0,1420,1421,1422,1362,1363,1364,42,1547,1548,1549,0,1421,1420,1423,1363,1362,1365,42,1542,414,1547,0,1415,1413,1421,1357,1355,1363,42,1547,1549,1542,0,1421,1423,1415,1363,1365,1357,42,1542,1549,164,0,1415,1423,1233,1357,1365,1177,42,1549,1406,164,0,1423,1232,1233,1365,1176,1177,42,1548,412,1406,0,1420,1230,1232,1362,1174,1176,42,1548,1406,1549,0,1420,1232,1423,1362,1176,1365,42,1553,165,1413,0,1424,1240,1242,1366,1184,1186,42,1550,165,1553,0,1425,1240,1424,1367,1184,1366,42,1553,240,1550,0,1424,1426,1425,1366,1368,1367,42,240,1553,1551,0,1426,1424,1427,1368,1366,1369,42,1551,1552,239,0,1427,1428,1429,1369,1370,1371,42,1551,1553,1552,0,1427,1424,1428,1369,1366,1370,42,1553,1413,166,0,1242,1244,1428,1366,1186,1188,42,1545,1550,1556,0,1417,1425,1430,1359,1367,1372,42,1550,1545,165,0,1425,1417,1240,1367,1359,1184,42,417,1556,1554,0,1419,1430,1431,1361,1372,1373,42,1556,417,1545,0,1430,1419,1417,1372,1361,1359,42,1554,1555,418,0,1431,1432,1433,1373,1374,1375,42,1555,1554,1556,0,1432,1431,1430,1374,1373,1372,42,240,1556,1550,0,1426,1430,1425,1368,1372,1367,42,1556,240,1555,0,1430,1426,1432,1372,1368,1374,42,1552,1530,1559,0,1428,1396,1434,1370,1338,1376,42,1530,1552,166,0,1396,1428,1244,1338,1370,1188,42,239,1552,1559,0,1429,1428,1434,1371,1370,1376,42,1559,1557,239,0,1434,1435,1429,1376,1377,1371,42,1557,1558,454,0,1435,1436,1437,1377,1378,1379,42,1558,1557,1559,0,1436,1435,1434,1378,1377,1376,42,1559,445,1558,0,1434,1398,1436,1376,1340,1378,42,445,1559,1530,0,1398,1434,1396,1340,1376,1338,42,1562,1560,242,0,1438,1439,1440,1380,1381,1382,42,1560,1562,1563,0,1439,1438,1441,1381,1380,1383,42,1561,1560,1563,0,1442,1439,1441,1384,1381,1383,42,1561,241,1560,0,1442,1443,1439,1384,1385,1381,42,168,1563,1428,0,1264,1441,1263,1208,1383,1207,42,168,1561,1563,0,1264,1442,1441,1208,1384,1383,42,167,1563,1562,0,1260,1441,1438,1204,1383,1380,42,1563,167,1428,0,1441,1260,1263,1383,1204,1207,42,1561,1517,1566,0,1442,1378,1444,1384,1320,1386,42,1517,1561,168,0,1378,1442,1264,1320,1384,1208,42,241,1566,1564,0,1443,1444,1445,1385,1386,1387,42,1566,241,1561,0,1444,1443,1442,1386,1385,1384,42,1564,1565,482,0,1445,1446,1447,1387,1388,1389,42,1565,1564,1566,0,1446,1445,1444,1388,1387,1386,42,1566,483,1565,0,1444,1380,1446,1386,1322,1388,42,483,1566,1517,0,1380,1444,1378,1322,1386,1320,42,1404,1569,1570,0,1228,1448,1449,1172,1390,1391,42,1569,1404,412,0,1448,1228,1230,1390,1172,1174,42,1567,169,1404,0,1450,1225,1228,1392,1169,1172,42,1404,1570,1567,0,1228,1449,1450,1172,1391,1392,42,1567,1568,247,0,1450,1451,1452,1392,1393,1394,42,1568,1567,1570,0,1451,1450,1449,1393,1392,1391,42,1570,256,1568,0,1449,1453,1451,1391,1395,1393,42,256,1570,1569,0,1453,1449,1448,1395,1391,1390,42,1574,169,1573,0,1454,1225,1455,1396,1169,1397,42,169,1574,1401,0,1225,1454,1223,1169,1396,1167,42,1571,1401,1574,0,1456,1223,1454,1398,1167,1396,42,1401,1571,173,0,1223,1456,1217,1167,1398,1161,42,407,1574,1572,0,1457,1454,1458,1399,1396,1400,42,1574,407,1571,0,1454,1457,1456,1396,1399,1398,42,1572,1573,408,0,1458,1455,1459,1400,1397,1401,42,1573,1572,1574,0,1455,1458,1454,1397,1400,1396,42,1573,1567,1577,0,1455,1450,1460,1397,1392,1402,42,1567,1573,169,0,1450,1455,1225,1392,1397,1169,42,408,1577,1575,0,1459,1460,1461,1401,1402,1403,42,1577,408,1573,0,1460,1459,1455,1402,1401,1397,42,1575,1576,409,0,1461,1462,1463,1403,1404,1405,42,1576,1575,1577,0,1462,1461,1460,1404,1403,1402,42,1577,247,1576,0,1460,1452,1462,1402,1394,1404,42,247,1577,1567,0,1452,1460,1450,1394,1402,1392,42,1579,560,1150,0,1464,882,881,1406,847,846,42,560,1579,1578,0,882,1464,1465,847,1406,1407,42,1579,559,1578,0,1464,979,1465,1406,941,1407,42,559,1579,1220,0,979,1464,977,941,1406,939,42,558,1579,1434,0,961,1464,1269,926,1406,1213,42,1579,558,1220,0,1464,961,977,1406,926,939,42,1434,1150,172,0,1269,881,160,1213,846,160,42,1150,1434,1579,0,881,1269,1464,846,1213,1406,42,1582,173,1571,0,1466,1217,1456,1408,1161,1398,42,173,1582,1393,0,1217,1466,1213,1161,1408,1157,42,1580,1393,1582,0,1467,1213,1466,1409,1157,1408,42,1393,1580,174,0,1213,1467,1214,1157,1409,1158,42,406,1582,1581,0,1468,1466,1469,1410,1408,1411,42,1582,406,1580,0,1466,1468,1467,1408,1410,1409,42,1581,1571,407,0,1469,1456,1457,1411,1398,1399,42,1571,1581,1582,0,1456,1469,1466,1398,1411,1408,42,1583,1584,1585,0,1470,1471,1472,1412,1413,1414,42,1584,1583,405,0,1471,1470,1473,1413,1412,1415,42,406,1583,1580,0,1468,1470,1467,1410,1412,1409,42,1583,1585,1580,0,1470,1472,1467,1412,1414,1409,42,1580,1585,174,0,1467,1472,1214,1409,1414,1158,42,1585,1397,174,0,1472,1219,1214,1414,1163,1158,42,1585,1584,1397,0,1472,1471,1219,1414,1413,1163,42,1584,175,1397,0,1471,1220,1219,1413,1164,1163,42,1586,1587,1588,0,1474,1475,1476,1416,1417,1418,42,1587,1586,404,0,1475,1474,1477,1417,1416,1419,42,405,1588,1584,0,1473,1476,1471,1415,1418,1413,42,1588,405,1586,0,1476,1473,1474,1418,1415,1416,42,1584,1437,175,0,1471,1272,1220,1413,1216,1164,42,1437,1584,1588,0,1272,1471,1476,1216,1413,1418,42,1588,176,1437,0,1476,1275,1272,1418,1219,1216,42,176,1588,1587,0,1275,1476,1475,1219,1418,1417,42,1589,1590,1591,0,1478,1479,1480,1420,1421,1422,42,1590,1589,403,0,1479,1478,1481,1421,1420,1423,42,404,1591,1587,0,1477,1480,1475,1419,1422,1417,42,1591,404,1589,0,1480,1477,1478,1422,1419,1420,42,1587,1441,176,0,1475,1278,1275,1417,1222,1219,42,1441,1587,1591,0,1278,1475,1480,1222,1417,1422,42,1591,177,1441,0,1480,1279,1278,1422,1223,1222,42,177,1591,1590,0,1279,1480,1479,1223,1422,1421,42,1590,1443,177,0,1482,1280,1284,1421,1224,1223,42,1443,1590,1594,0,1280,1482,1483,1224,1421,1424,42,1594,178,1443,0,1483,1283,1280,1424,1227,1224,42,178,1594,1592,0,1283,1483,1484,1227,1424,1425,42,1593,1592,1594,0,1485,1484,1483,1426,1425,1424,42,1592,1593,411,0,1484,1485,1486,1425,1426,1427,42,403,1594,1590,0,1487,1483,1482,1423,1424,1421,42,1594,403,1593,0,1483,1487,1485,1424,1423,1426,42,238,1597,1595,0,180,1488,1489,180,1428,1429,42,1597,238,1446,0,1488,180,1286,1428,180,1228,42,1596,410,1595,0,1490,1491,1489,1430,1431,1429,42,1596,1595,1597,0,1490,1489,1488,1430,1429,1428,42,411,1596,1597,0,1486,1490,1488,1427,1430,1428,42,411,1597,1592,0,1486,1488,1484,1427,1428,1425,42,1592,1597,1446,0,1484,1488,1286,1425,1428,1228,42,1592,1446,178,0,1484,1286,1283,1425,1228,1227,42,1600,705,1599,0,1492,178,1493,1432,178,1433,42,238,1599,705,0,180,1493,178,180,1433,178,42,179,1600,1598,0,184,1492,1494,184,1432,1434,42,1600,179,705,0,1492,184,178,1432,184,178,42,1598,1568,256,0,1494,1495,1496,1434,1393,1395,42,1568,1598,1600,0,1495,1494,1492,1393,1434,1432,42,1600,247,1568,0,1492,1497,1495,1432,1394,1393,42,247,1600,1599,0,1497,1492,1493,1394,1432,1433,42,1604,1601,180,0,1498,1499,1298,1435,1436,1240,42,180,1454,1604,0,1298,1294,1498,1240,1236,1435,42,1602,420,1601,0,1500,1501,1499,1437,1438,1436,42,1601,1604,1602,0,1499,1498,1500,1436,1435,1437,42,1602,1604,421,0,1500,1498,1502,1437,1435,1439,42,1604,1603,421,0,1498,1503,1502,1435,1440,1439,42,1604,1454,1603,0,1498,1294,1503,1435,1236,1440,42,1454,179,1603,0,1294,184,1503,1236,184,1440,42,1606,1605,422,0,1504,1505,1506,1441,1442,1443,42,1605,1606,1607,0,1505,1504,1507,1442,1441,1444,42,1607,256,1605,0,1507,1496,1505,1444,1395,1442,42,256,1607,1598,0,1496,1507,1494,1395,1444,1434,42,1603,1598,1607,0,1503,1494,1507,1440,1434,1444,42,1598,1603,179,0,1494,1503,184,1434,1440,184,42,421,1607,1606,0,1502,1507,1504,1439,1444,1441,42,1607,421,1603,0,1507,1502,1503,1444,1439,1440,42,181,1610,1608,0,186,1508,1509,186,1445,1446,42,1610,181,1459,0,1508,186,1303,1445,186,1245,42,1609,419,1608,0,1510,1511,1509,1447,1448,1446,42,1609,1608,1610,0,1510,1509,1508,1447,1446,1445,42,420,1609,1610,0,1501,1510,1508,1438,1447,1445,42,420,1610,1601,0,1501,1508,1499,1438,1445,1436,42,1601,1610,1459,0,1499,1508,1303,1436,1445,1245,42,1601,1459,180,0,1499,1303,1298,1436,1245,1240,42,1611,709,1613,0,1512,187,1513,1449,187,1450,42,709,1611,182,0,187,1512,191,187,1449,191,42,239,1611,1551,0,1512,1513,1514,1371,1449,1369,42,1612,1551,1613,0,1515,1514,1513,1451,1369,1450,42,1551,1612,240,0,1514,1515,1516,1369,1451,1368,42,181,1612,709,0,186,1515,187,186,1451,187,42,1613,709,1612,0,1513,187,1515,1450,187,1451,42,1614,1608,419,0,1517,1509,1511,1452,1446,1448,42,1608,1614,1615,0,1509,1517,1518,1446,1452,1453,42,181,1615,1612,0,186,1518,1515,186,1453,1451,42,1615,181,1608,0,1518,186,1509,1453,186,1446,42,240,1612,1615,0,1516,1515,1518,1368,1451,1453,42,240,1615,1555,0,1516,1518,1519,1368,1453,1374,42,418,1555,1614,0,1520,1519,1517,1375,1374,1452,42,1614,1555,1615,0,1517,1519,1518,1452,1374,1453,42,1616,1470,1619,0,1521,1319,1522,1454,1261,1455,42,1470,1616,183,0,1319,1521,1318,1261,1454,1260,42,452,1619,1617,0,1523,1522,1524,1456,1455,1457,42,1619,452,1616,0,1522,1523,1521,1455,1456,1454,42,1617,1618,453,0,1524,1525,1526,1457,1458,1459,42,1618,1617,1619,0,1525,1524,1522,1458,1457,1455,42,1619,182,1618,0,1522,191,1525,1455,191,1458,42,182,1619,1470,0,191,1522,1319,191,1455,1261,42,1557,1611,239,0,1527,1512,1528,1377,1449,1371,42,1611,1557,1621,0,1512,1527,1529,1449,1377,1460,42,182,1621,1618,0,191,1529,1525,191,1460,1458,42,1621,182,1611,0,1529,191,1512,1460,191,1449,42,453,1621,1620,0,1526,1529,1530,1459,1460,1461,42,1621,453,1618,0,1529,1526,1525,1460,1459,1458,42,1621,454,1620,0,1529,1531,1530,1460,1379,1461,42,454,1621,1557,0,1531,1529,1527,1379,1460,1377,42,1622,1476,1624,0,1532,1326,1533,1462,1268,1463,42,1476,1622,184,0,1326,1532,194,1268,1462,194,42,451,1624,1623,0,1534,1533,1535,1464,1463,1465,42,1624,451,1622,0,1533,1534,1532,1463,1464,1462,42,1623,1616,452,0,1535,1521,1523,1465,1454,1456,42,1616,1623,1624,0,1521,1535,1533,1454,1465,1463,42,1624,183,1616,0,1533,1318,1521,1463,1260,1454,42,183,1624,1476,0,1318,1533,1326,1260,1463,1268,42,1625,713,1627,0,1536,192,1537,1466,192,1467,42,713,1625,185,0,192,1536,198,192,1466,198,42,241,1627,1560,0,1538,1537,1539,1385,1467,1381,42,1627,241,1625,0,1537,1538,1536,1467,1385,1466,42,1560,1626,242,0,1539,1540,1541,1381,1468,1382,42,1626,1560,1627,0,1540,1539,1537,1468,1381,1467,42,1627,713,1626,0,1537,192,1540,1467,192,1468,42,713,184,1626,0,192,194,1540,192,194,1468,42,1631,185,1630,0,1542,198,1543,1469,198,1470,42,185,1631,1479,0,198,1542,1332,198,1469,1274,42,1628,1479,1631,0,1544,1332,1542,1471,1274,1469,42,1479,1628,515,0,1332,1544,1331,1274,1471,1273,42,480,1631,1629,0,1545,1542,1546,1472,1469,1473,42,1631,480,1628,0,1542,1545,1544,1469,1472,1471,42,1629,1630,481,0,1546,1543,1547,1473,1470,1474,42,1630,1629,1631,0,1543,1546,1542,1470,1473,1469,42,1625,1564,1633,0,1536,1548,1549,1466,1387,1475,42,1564,1625,241,0,1548,1536,1538,1387,1466,1385,42,1630,185,1625,0,1543,198,1536,1470,198,1466,42,1630,1625,1633,0,1543,1536,1549,1470,1466,1475,42,481,1633,1632,0,1547,1549,1550,1474,1475,1476,42,1633,481,1630,0,1549,1547,1543,1475,1474,1470,42,1633,482,1632,0,1549,1551,1550,1475,1389,1476,42,482,1633,1564,0,1551,1549,1548,1389,1475,1387,42,1634,1636,1637,0,1552,1553,1554,1477,1478,1479,42,1636,1634,355,0,1553,1552,1555,1478,1477,1480,42,1635,186,1634,0,1556,1557,1552,1481,1482,1477,42,1635,1634,1637,0,1556,1552,1554,1481,1477,1479,42,231,1635,1637,0,262,1556,1554,262,1481,1479,42,231,1637,756,0,262,1554,264,262,1479,264,42,1637,354,756,0,1554,267,264,1479,267,264,42,354,1637,1636,0,267,1554,1553,267,1479,1478,42,1640,355,1634,0,1558,1555,1552,1483,1480,1477,42,355,1640,1638,0,1555,1558,1559,1480,1483,1484,42,749,1638,1640,0,252,1559,1558,252,1484,1483,42,1638,749,356,0,1559,252,251,1484,252,251,42,230,1640,1639,0,256,1558,1560,256,1483,1485,42,1640,230,749,0,1558,256,252,1483,256,252,42,1639,1634,186,0,1560,1552,1557,1485,1477,1482,42,1634,1639,1640,0,1552,1560,1558,1477,1485,1483,42,1643,186,1642,0,1561,1557,1562,1486,1482,1487,42,186,1643,1639,0,1557,1561,1560,1482,1486,1485,42,752,1639,1643,0,258,1560,1561,258,1485,1486,42,1639,752,230,0,1560,258,256,1485,258,256,42,423,1643,1641,0,260,1561,1563,260,1486,1488,42,1643,423,752,0,1561,260,258,1486,260,258,42,1641,1642,358,0,1563,1562,1564,1488,1487,1489,42,1642,1641,1643,0,1562,1563,1561,1487,1488,1486,42,359,1644,1645,0,271,1565,1566,271,1490,1491,42,359,1645,759,0,271,1566,269,271,1491,269,42,759,1645,1635,0,269,1566,1556,269,1491,1481,42,759,1635,231,0,269,1556,262,269,1481,262,42,1645,1642,186,0,1566,1562,1557,1491,1487,1482,42,1645,186,1635,0,1566,1557,1556,1491,1482,1481,42,1644,358,1642,0,1565,1564,1562,1490,1489,1487,42,1644,1642,1645,0,1565,1562,1566,1490,1487,1491,42,187,1648,1649,0,1567,1568,1569,1492,1493,1494,42,187,1649,1646,0,1567,1569,1570,1492,1494,1495,42,1649,1647,1646,0,1569,1571,1570,1494,1496,1495,42,1646,1647,265,0,1570,1571,1572,1495,1496,1497,42,763,264,1649,0,272,274,1569,272,274,1494,42,1649,264,1647,0,1569,274,1571,1494,274,1496,42,1648,232,763,0,1568,278,272,1493,278,272,42,1648,763,1649,0,1568,272,1569,1493,272,1494,42,1652,1646,265,0,1573,1570,1572,1498,1495,1497,42,1652,265,1651,0,1573,1572,1574,1498,1497,1499,42,1650,187,1646,0,1575,1567,1570,1500,1492,1495,42,1650,1646,1652,0,1575,1570,1573,1500,1495,1498,42,1650,770,233,0,1575,286,284,1500,286,284,42,770,1650,1652,0,286,1575,1573,286,1500,1498,42,1652,266,770,0,1573,289,286,1498,289,286,42,266,1652,1651,0,289,1573,1574,289,1498,1499,42,1655,766,232,0,1576,280,278,1501,280,278,42,1655,232,1648,0,1576,278,1568,1501,278,1493,42,1653,336,766,0,1577,282,280,1502,282,280,42,1653,766,1655,0,1577,280,1576,1502,280,1501,42,455,1653,1655,0,1578,1577,1576,1503,1502,1501,42,455,1655,1654,0,1578,1576,1579,1503,1501,1504,42,1654,1655,1648,0,1579,1576,1568,1504,1501,1493,42,1654,1648,187,0,1579,1568,1567,1504,1493,1492,42,773,1650,233,0,291,1575,284,291,1500,284,42,1650,773,1657,0,1575,291,1580,1500,291,1505,42,1657,187,1650,0,1580,1567,1575,1505,1492,1500,42,187,1657,1654,0,1567,1580,1579,1492,1505,1504,42,1656,1654,1657,0,1581,1579,1580,1506,1504,1505,42,1654,1656,455,0,1579,1581,1578,1504,1506,1503,42,337,1657,773,0,293,1580,291,293,1505,291,42,1657,337,1656,0,1580,293,1581,1505,293,1506,42,1658,777,1660,0,1582,296,1583,1507,296,1508,42,777,1658,234,0,296,1582,300,296,1507,300,42,188,1660,731,0,222,1583,224,222,1508,224,42,1660,188,1658,0,1583,222,1582,1508,222,1507,42,731,1659,345,0,224,1584,227,224,1509,227,42,1659,731,1660,0,1584,224,1583,1509,224,1508,42,1660,344,1659,0,1583,295,1584,1508,295,1509,42,344,1660,777,0,295,1583,296,295,1508,296,42,1661,1662,485,0,1585,1586,231,1510,1511,231,42,485,1662,734,0,231,1586,229,231,1511,229,42,1662,1658,734,0,1586,1582,229,1511,1507,229,42,734,1658,188,0,229,1582,222,229,1507,222,42,780,1658,1662,0,302,1582,1586,302,1507,1511,42,1658,780,234,0,1582,302,300,1507,302,300,42,780,1661,347,0,302,1585,304,302,1510,304,42,1661,780,1662,0,1585,302,1586,1510,302,1511,42,1665,1663,369,0,1587,1588,1589,1512,1513,1514,42,1663,1665,1666,0,1588,1587,1590,1513,1512,1515,42,1666,368,1663,0,1590,319,1588,1515,319,1513,42,368,1666,791,0,319,1590,317,319,1515,317,42,237,1666,1664,0,322,1590,1591,322,1515,1516,42,1666,237,791,0,1590,322,317,1515,322,317,42,189,1666,1665,0,1592,1590,1587,1517,1515,1512,42,1666,189,1664,0,1590,1592,1591,1515,1517,1516,42,1669,1665,369,0,1593,1587,1589,1518,1512,1514,42,1669,369,1668,0,1593,1589,1594,1518,1514,1519,42,1667,189,1665,0,1595,1592,1587,1520,1517,1512,42,1667,1665,1669,0,1595,1587,1593,1520,1512,1518,42,236,1667,1669,0,306,1595,1593,306,1520,1518,42,236,1669,784,0,306,1593,308,306,1518,308,42,1669,370,784,0,1593,311,308,1518,311,308,42,370,1669,1668,0,311,1593,1594,311,1518,1519,42,1672,1670,189,0,1596,1597,1592,1521,1522,1517,42,1672,189,1667,0,1596,1592,1595,1521,1517,1520,42,1671,373,1670,0,1598,1599,1597,1523,1524,1522,42,1671,1670,1672,0,1598,1597,1596,1523,1522,1521,42,372,1671,1672,0,315,1598,1596,315,1523,1521,42,372,1672,787,0,315,1596,313,315,1521,313,42,787,1672,1667,0,313,1596,1595,313,1521,1520,42,787,1667,236,0,313,1595,306,313,1520,306,42,1673,1670,373,0,1600,1597,1599,1525,1522,1524,42,1670,1673,1674,0,1597,1600,1601,1522,1525,1526,42,1674,189,1670,0,1601,1592,1597,1526,1517,1522,42,189,1674,1664,0,1592,1601,1591,1517,1526,1516,42,794,1664,1674,0,324,1591,1601,324,1516,1526,42,1664,794,237,0,1591,324,322,1516,324,322,42,374,1674,1673,0,326,1601,1600,326,1526,1525,42,1674,374,794,0,1601,326,324,1526,326,324,42,737,1377,1676,0,233,1189,1602,233,1137,1527,42,1377,737,193,0,1189,233,129,1137,233,129,42,191,1676,1675,0,235,1602,1603,235,1527,1528,42,1676,191,737,0,1602,235,233,1527,235,233,42,1675,687,190,0,1603,155,153,1528,155,153,42,687,1675,1676,0,155,1603,1602,155,1528,1527,42,1676,194,687,0,1602,118,155,1527,118,155,42,194,1676,1377,0,118,1602,1189,118,1527,1137,42,1677,1675,1679,0,1604,1603,1605,1529,1528,1530,42,1675,1677,191,0,1603,1604,235,1528,1529,235,42,203,1679,1678,0,1606,1605,1607,1531,1530,1532,42,1679,203,1677,0,1605,1606,1604,1530,1531,1529,42,204,1678,1679,0,1212,1607,1605,1156,1532,1530,42,204,1679,1390,0,1212,1605,1210,1156,1530,1154,42,1679,190,1390,0,1605,153,1210,1530,153,1154,42,190,1679,1675,0,153,1605,1603,153,1530,1528,42,1680,736,1682,0,1608,234,1609,1533,234,1534,42,736,1680,192,0,234,1608,128,234,1533,128,42,207,1682,1681,0,1610,1609,1611,1535,1534,1536,42,1682,207,1680,0,1609,1610,1608,1534,1535,1533,42,1681,1677,203,0,1611,1604,1606,1536,1529,1531,42,1677,1681,1682,0,1604,1611,1609,1529,1536,1534,42,1682,191,1677,0,1609,235,1604,1534,235,1529,42,191,1682,736,0,235,1609,234,235,1534,234,42,1683,198,1685,0,1612,1613,1614,1537,1538,1539,42,198,1684,1685,0,1613,1615,1614,1538,1540,1539,42,207,1683,1680,0,1616,1612,1617,1535,1537,1533,42,1683,1685,1680,0,1612,1614,1617,1537,1539,1533,42,1680,1685,192,0,1617,1614,1177,1533,1539,128,42,1685,1366,192,0,1614,1175,1177,1539,1127,128,42,1366,1685,1684,0,1175,1614,1615,1127,1539,1540,42,1684,200,1366,0,1615,135,1175,1540,135,1127,42,1384,1688,1689,0,1200,1618,1619,1146,1541,1542,42,1688,1384,195,0,1618,1200,1202,1541,1146,1148,42,1689,205,1384,0,1619,1201,1200,1542,1147,1146,42,205,1689,1686,0,1201,1619,1620,1147,1542,1543,42,1686,1687,210,0,1620,1621,1622,1543,1544,1545,42,1687,1686,1689,0,1621,1620,1619,1544,1543,1542,42,1689,211,1687,0,1619,1623,1621,1542,1546,1544,42,211,1689,1688,0,1623,1619,1618,1546,1542,1541,42,1688,1690,211,0,1624,1625,1626,1541,1547,1546,42,1690,1688,1692,0,1625,1624,1627,1547,1541,1548,42,212,1692,1691,0,1628,1627,1629,1549,1548,1550,42,1692,212,1690,0,1627,1628,1625,1548,1549,1547,42,1691,1387,196,0,1629,1205,1207,1550,1150,1151,42,1387,1691,1692,0,1205,1629,1627,1150,1550,1548,42,1692,195,1387,0,1627,1206,1205,1548,1148,1150,42,195,1692,1688,0,1206,1627,1624,1148,1548,1541,42,1694,1381,199,0,1630,1194,133,1551,1142,133,42,1381,1694,1695,0,1194,1630,1631,1142,1551,1552,42,1695,206,1381,0,1631,151,1194,1552,151,1142,42,206,1695,1388,0,151,1631,1208,151,1552,1152,42,1693,1388,1695,0,1632,1208,1631,1553,1152,1552,42,1388,1693,196,0,1208,1632,1207,1152,1553,1151,42,197,1695,1694,0,1633,1631,1630,1554,1552,1551,42,1695,197,1693,0,1631,1633,1632,1552,1554,1553,42,1696,1691,1698,0,1634,1629,1635,1555,1550,1556,42,1691,1696,212,0,1629,1634,1628,1550,1555,1549,42,1697,213,1696,0,1636,1637,1634,1557,1558,1555,42,1696,1698,1697,0,1634,1635,1636,1555,1556,1557,42,1697,1693,197,0,1636,1632,1633,1557,1553,1554,42,1693,1697,1698,0,1632,1636,1635,1553,1557,1556,42,1698,196,1693,0,1635,1207,1632,1556,1151,1553,42,196,1698,1691,0,1207,1635,1629,1151,1556,1550,42,1684,672,200,0,1615,130,135,1540,130,135,42,672,1684,1700,0,130,1615,1638,130,1540,1559,42,1700,199,672,0,1638,133,130,1559,133,130,42,199,1700,1694,0,133,1638,1630,133,1559,1551,42,1699,1694,1700,0,1639,1630,1638,1560,1551,1559,42,1694,1699,197,0,1630,1639,1633,1551,1560,1554,42,198,1700,1684,0,1613,1638,1615,1538,1559,1540,42,1700,198,1699,0,1638,1613,1639,1559,1538,1560,42,1702,1701,214,0,1640,1641,1642,1561,1562,1563,42,1701,1702,1703,0,1641,1640,1643,1562,1561,1564,42,1703,198,1701,0,1643,1613,1641,1564,1538,1562,42,198,1703,1699,0,1613,1643,1639,1538,1564,1560,42,1697,1699,1703,0,1636,1639,1643,1557,1560,1564,42,1699,1697,197,0,1639,1636,1633,1560,1557,1554,42,213,1703,1702,0,1637,1643,1640,1558,1564,1561,42,1703,213,1697,0,1643,1637,1636,1564,1558,1557,42,1705,1704,215,0,1644,1645,1646,1565,1566,1567,42,1704,1705,1706,0,1645,1644,1647,1566,1565,1568,42,1706,207,1704,0,1647,1616,1645,1568,1535,1566,42,207,1706,1683,0,1616,1647,1612,1535,1568,1537,42,1701,1683,1706,0,1641,1612,1647,1562,1537,1568,42,1683,1701,198,0,1612,1641,1613,1537,1562,1538,42,214,1706,1705,0,1642,1647,1644,1563,1568,1565,42,1706,214,1701,0,1647,1642,1641,1568,1563,1562,42,1704,1681,1709,0,1648,1611,1649,1566,1536,1569,42,1681,1704,207,0,1611,1648,1610,1536,1566,1535,42,215,1709,1707,0,1650,1649,1651,1567,1569,1570,42,1709,215,1704,0,1649,1650,1648,1569,1567,1566,42,1707,1708,208,0,1651,1652,1653,1570,1571,1572,42,1708,1707,1709,0,1652,1651,1649,1571,1570,1569,42,1709,203,1708,0,1649,1606,1652,1569,1531,1571,42,203,1709,1681,0,1606,1649,1611,1531,1569,1536,42,1708,1678,1712,0,1652,1607,1654,1571,1532,1573,42,1678,1708,203,0,1607,1652,1606,1532,1571,1531,42,208,1712,1710,0,1653,1654,1655,1572,1573,1574,42,1712,208,1708,0,1654,1653,1652,1573,1572,1571,42,209,1710,1712,0,1656,1655,1654,1575,1574,1573,42,209,1712,1711,0,1656,1654,1657,1575,1573,1576,42,1711,1712,1678,0,1657,1654,1607,1576,1573,1532,42,1711,1678,204,0,1657,1607,1212,1576,1532,1156,42,1391,1686,1714,0,1211,1620,1658,1155,1543,1577,42,1686,1391,205,0,1620,1211,1201,1543,1155,1147,42,204,1714,1711,0,1212,1658,1657,1156,1577,1576,42,1714,204,1391,0,1658,1212,1211,1577,1156,1155,42,1711,1713,209,0,1657,1659,1656,1576,1578,1575,42,1713,1711,1714,0,1659,1657,1658,1578,1576,1577,42,1714,210,1713,0,1658,1622,1659,1577,1545,1578,42,210,1714,1686,0,1622,1658,1620,1545,1577,1543,42,1717,1710,209,0,1660,1655,1656,1579,1574,1575,42,1710,1717,1718,0,1655,1660,1661,1574,1579,1580,42,1710,1715,208,0,1655,1662,1653,1574,1581,1572,42,1715,1710,1718,0,1662,1655,1661,1581,1574,1580,42,216,1718,1716,0,236,1661,1663,236,1580,1582,42,1718,216,1715,0,1661,236,1662,1580,236,1581,42,1718,217,1716,0,1661,1664,1663,1580,1583,1582,42,217,1718,1717,0,1664,1661,1660,1583,1580,1579,42,1719,1707,1720,0,1665,1651,1666,1584,1570,1585,42,1707,1719,215,0,1651,1665,1650,1570,1584,1567,42,223,1720,739,0,241,1666,239,241,1585,239,42,1720,223,1719,0,1666,241,1665,1585,241,1584,42,739,1715,216,0,239,1662,236,239,1581,236,42,1715,739,1720,0,1662,239,1666,1581,239,1585,42,1720,208,1715,0,1666,1653,1662,1585,1572,1581,42,208,1720,1707,0,1653,1666,1651,1572,1585,1570,42,1713,1722,1723,0,1659,1667,1668,1578,1586,1587,42,1722,1713,210,0,1667,1659,1622,1586,1578,1545,42,209,1723,1717,0,1656,1668,1660,1575,1587,1579,42,1723,209,1713,0,1668,1656,1659,1587,1575,1578,42,1717,1721,217,0,1660,1669,1664,1579,1588,1583,42,1721,1717,1723,0,1669,1660,1668,1588,1579,1587,42,1723,218,1721,0,1668,249,1669,1587,249,1588,42,218,1723,1722,0,249,1668,1667,249,1587,1586,42,1687,1724,1725,0,1621,1670,1671,1544,1589,1590,42,1724,1687,211,0,1670,1621,1623,1589,1544,1546,42,210,1725,1722,0,1622,1671,1667,1545,1590,1586,42,1725,210,1687,0,1671,1622,1621,1590,1545,1544,42,1722,744,218,0,1667,247,249,1586,247,249,42,744,1722,1725,0,247,1667,1671,247,1586,1590,42,1725,219,744,0,1671,248,247,1590,248,247,42,219,1725,1724,0,248,1671,1670,248,1590,1589,42,1690,1727,1728,0,1625,1672,1673,1547,1591,1592,42,1727,1690,212,0,1672,1625,1628,1591,1547,1549,42,211,1728,1724,0,1626,1673,1674,1546,1592,1589,42,1728,211,1690,0,1673,1626,1625,1592,1546,1547,42,1724,1726,219,0,1674,1675,1676,1589,1593,248,42,1726,1724,1728,0,1675,1674,1673,1593,1589,1592,42,1728,220,1726,0,1673,1677,1675,1592,1594,1593,42,220,1728,1727,0,1677,1673,1672,1594,1592,1591,42,1731,213,1730,0,1678,1637,1679,1595,1558,1596,42,213,1731,1696,0,1637,1678,1634,1558,1595,1555,42,212,1731,1727,0,1628,1678,1672,1549,1595,1591,42,1731,212,1696,0,1678,1628,1634,1595,1549,1555,42,1727,1729,220,0,1672,1680,1677,1591,1597,1594,42,1729,1727,1731,0,1680,1672,1678,1597,1591,1595,42,1729,1730,221,0,1680,1679,1681,1597,1596,1598,42,1730,1729,1731,0,1679,1680,1678,1596,1597,1595,42,1730,1702,1734,0,1679,1640,1682,1596,1561,1599,42,1702,1730,213,0,1640,1679,1637,1561,1596,1558,42,221,1734,1732,0,1681,1682,1683,1598,1599,1600,42,1734,221,1730,0,1682,1681,1679,1599,1598,1596,42,1732,1733,222,0,1683,1684,1685,1600,1601,1602,42,1733,1732,1734,0,1684,1683,1682,1601,1600,1599,42,1734,214,1733,0,1682,1642,1684,1599,1563,1601,42,214,1734,1702,0,1642,1682,1640,1563,1599,1561,42,1733,1705,1736,0,1684,1644,1686,1601,1565,1603,42,1705,1733,214,0,1644,1684,1642,1565,1601,1563,42,222,1736,1735,0,1685,1686,1687,1602,1603,1604,42,1736,222,1733,0,1686,1685,1684,1603,1602,1601,42,1735,1719,223,0,1687,1688,1689,1604,1584,241,42,1719,1735,1736,0,1688,1687,1686,1584,1604,1603,42,1736,215,1719,0,1686,1646,1688,1603,1567,1584,42,215,1736,1705,0,1646,1686,1644,1567,1603,1565,42,1739,224,1738,0,1690,1691,1692,1605,1606,1607,42,224,1739,1737,0,1691,1690,1693,1606,1605,1608,42,1716,1737,1739,0,1663,1693,1690,1582,1608,1605,42,1737,1716,217,0,1693,1663,1664,1608,1582,1583,42,741,1716,1739,0,237,1663,1690,237,1582,1605,42,1716,741,216,0,1663,237,236,1582,237,236,42,741,1738,226,0,237,1692,242,237,1607,242,42,1738,741,1739,0,1692,237,1690,1607,237,1605,42,1737,1740,224,0,1693,1694,1691,1608,1609,1606,42,1740,1737,1741,0,1694,1693,1695,1609,1608,1610,42,745,1740,1741,0,244,1694,1695,244,1609,1610,42,1740,745,225,0,1694,244,246,1609,244,246,42,1721,745,1741,0,1669,244,1695,1588,244,1610,42,745,1721,218,0,244,1669,249,244,1588,249,42,1741,217,1721,0,1695,1664,1669,1610,1583,1588,42,217,1741,1737,0,1664,1695,1693,1583,1610,1608,42,743,1742,225,0,1696,1697,1698,243,1611,246,42,1742,743,1744,0,1697,1696,1699,1611,243,1612,42,1744,228,1742,0,1699,1700,1697,1612,1613,1611,42,228,1744,1743,0,1700,1699,1701,1613,1612,1614,42,1726,1743,1744,0,1675,1701,1699,1593,1614,1612,42,1743,1726,220,0,1701,1675,1677,1614,1593,1594,42,219,1744,743,0,1676,1699,1696,248,1612,243,42,1744,219,1726,0,1699,1676,1675,1612,248,1593,42,1746,1745,229,0,1702,1703,1704,1615,1616,1617,42,1745,1746,1747,0,1703,1702,1705,1616,1615,1618,42,1747,221,1745,0,1705,1681,1703,1618,1598,1616,42,221,1747,1729,0,1681,1705,1680,1598,1618,1597,42,220,1747,1743,0,1677,1705,1701,1594,1618,1614,42,1747,220,1729,0,1705,1677,1680,1618,1594,1597,42,1747,228,1743,0,1705,1700,1701,1618,1613,1614,42,228,1747,1746,0,1700,1705,1702,1613,1618,1615,42,1750,1748,229,0,1706,1707,1704,1619,1620,1617,42,229,1745,1750,0,1704,1703,1706,1617,1616,1619,42,227,1750,1749,0,1708,1706,1709,1621,1619,1622,42,1750,227,1748,0,1706,1708,1707,1619,1621,1620,42,222,1749,1750,0,1685,1709,1706,1602,1622,1619,42,1750,1732,222,0,1706,1683,1685,1619,1600,1602,42,1732,1750,1745,0,1683,1706,1703,1600,1619,1616,42,1745,221,1732,0,1703,1681,1683,1616,1598,1600,42,1751,740,226,0,1710,1711,1712,1623,240,242,42,740,1751,1752,0,1711,1710,1713,240,1623,1624,42,1752,223,740,0,1713,1689,1711,1624,241,240,42,223,1752,1735,0,1689,1713,1687,241,1624,1604,42,1749,1735,1752,0,1709,1687,1713,1622,1604,1624,42,1735,1749,222,0,1687,1709,1685,1604,1622,1602,42,227,1752,1751,0,1708,1713,1710,1621,1624,1623,42,1752,227,1749,0,1713,1708,1709,1624,1621,1622,42,1738,1753,1754,0,1714,1715,1716,1607,1625,1626,42,1753,1738,224,0,1715,1714,1717,1625,1607,1606,42,226,1754,1751,0,1712,1716,1710,242,1626,1623,42,1754,226,1738,0,1716,1712,1714,1626,242,1607,42,1751,1748,227,0,1710,1707,1708,1623,1620,1621,42,1748,1751,1754,0,1707,1710,1716,1620,1623,1626,42,1754,229,1748,0,1716,1704,1707,1626,1617,1620,42,229,1754,1753,0,1704,1716,1715,1617,1626,1625,42,1755,730,1757,0,1718,226,1719,1627,226,1628,42,730,1755,235,0,226,1718,225,226,1627,225,42,1757,478,1755,0,1719,1355,1718,1628,1297,1627,42,478,1757,1498,0,1355,1719,1353,1297,1628,1295,42,1756,1498,1757,0,1720,1353,1719,1629,1295,1628,42,1498,1756,477,0,1353,1720,1358,1295,1629,1300,42,345,1757,730,0,227,1719,226,227,1628,226,42,1757,345,1756,0,1719,227,1720,1628,227,1629,42,1760,479,1759,0,1721,1365,1722,1630,1307,1631,42,479,1760,1503,0,1365,1721,1364,1307,1630,1306,42,1755,1503,1760,0,1718,1364,1721,1627,1306,1630,42,1503,1755,478,0,1364,1718,1355,1306,1627,1297,42,235,1760,1758,0,225,1721,1723,225,1630,1632,42,1760,235,1755,0,1721,225,1718,1630,225,1627,42,1758,1759,260,0,1723,1722,1724,1632,1631,1633,42,1759,1758,1760,0,1722,1723,1721,1631,1632,1630,42,1764,260,1763,0,1725,1724,1726,1634,1633,1635,42,260,1764,1758,0,1724,1725,1723,1633,1634,1632,42,1761,1758,1764,0,1727,1723,1725,1636,1632,1634,42,1758,1761,235,0,1723,1727,225,1632,1636,225,42,1762,1761,1764,0,1728,1727,1725,1637,1636,1634,42,1761,1762,487,0,1727,1728,1729,1636,1637,1638,42,1762,1763,488,0,1728,1726,1730,1637,1635,1639,42,1763,1762,1764,0,1726,1728,1725,1635,1637,1634,42,1761,733,235,0,1727,228,225,1636,228,225,42,733,1761,1767,0,228,1727,1731,228,1636,1640,42,1767,485,733,0,1731,231,228,1640,231,228,42,485,1767,1765,0,231,1731,1732,231,1640,1641,42,1766,1765,1767,0,1733,1732,1731,1642,1641,1640,42,1765,1766,486,0,1732,1733,1734,1641,1642,1643,42,487,1767,1761,0,1729,1731,1727,1638,1640,1636,42,1767,487,1766,0,1731,1729,1733,1640,1638,1642,42,1595,1599,238,0,1489,1493,180,1429,1433,180,42,1599,1595,1769,0,1493,1489,1735,1433,1429,1644,42,1576,1599,1769,0,1736,1493,1735,1404,1433,1644,42,1599,1576,247,0,1493,1736,1497,1433,1404,1394,42,409,1769,1768,0,1737,1735,1738,1405,1644,1645,42,1769,409,1576,0,1735,1737,1736,1644,1405,1404,42,410,1769,1595,0,1491,1735,1489,1431,1644,1429,42,1769,410,1768,0,1735,1491,1738,1644,1431,1645,42,1772,1589,404,0,1739,1478,1477,1646,1420,1419,42,1589,1772,1773,0,1478,1739,1740,1420,1646,1647,42,1773,403,1589,0,1740,1481,1478,1647,1423,1420,42,403,1773,1770,0,1481,1740,1741,1423,1647,1648,42,1771,1770,1773,0,1742,1741,1740,1649,1648,1647,42,1770,1771,243,0,1741,1742,1743,1648,1649,1650,42,375,1773,1772,0,320,1740,1739,320,1647,1646,42,1773,375,1771,0,1740,320,1742,1647,320,1649,42,1770,1593,403,0,1744,1485,1487,1648,1426,1423,42,1593,1770,1776,0,1485,1744,1745,1426,1648,1651,42,1776,411,1593,0,1745,1486,1485,1651,1427,1426,42,411,1776,1774,0,1486,1745,1746,1427,1651,1652,42,1775,1774,1776,0,1747,1746,1745,1653,1652,1651,42,1774,1775,244,0,1746,1747,1748,1652,1653,1654,42,243,1776,1770,0,1749,1745,1744,1650,1651,1648,42,1776,243,1775,0,1745,1749,1747,1651,1650,1653,42,375,1780,1771,0,320,1750,1742,320,1655,1649,42,1780,375,1779,0,1750,320,1751,1655,320,1656,42,1777,1771,1780,0,1752,1742,1750,1657,1649,1655,42,1771,1777,243,0,1742,1752,1743,1649,1657,1650,42,395,1780,1778,0,1753,1750,1754,1658,1655,1659,42,1780,395,1777,0,1750,1753,1752,1655,1658,1657,42,1779,1778,1780,0,1751,1754,1750,1656,1659,1655,42,1778,1779,396,0,1754,1751,1755,1659,1656,1660,42,1783,243,1777,0,1756,1749,1757,1661,1650,1657,42,243,1783,1775,0,1749,1756,1747,1650,1661,1653,42,1783,244,1775,0,1756,1748,1747,1661,1654,1653,42,244,1783,1781,0,1748,1756,1758,1654,1661,1662,42,394,1783,1782,0,1759,1756,1760,1663,1661,1664,42,1783,394,1781,0,1756,1759,1758,1661,1663,1662,42,1782,1777,395,0,1760,1757,1761,1664,1657,1658,42,1777,1782,1783,0,1757,1760,1756,1657,1664,1661,42,1774,1596,411,0,1746,1490,1486,1652,1430,1427,42,1596,1774,1786,0,1490,1746,1762,1430,1652,1665,42,1786,410,1596,0,1762,1491,1490,1665,1431,1430,42,410,1786,1784,0,1491,1762,1763,1431,1665,1666,42,1785,1784,1786,0,1764,1763,1762,1667,1666,1665,42,1784,1785,245,0,1763,1764,1765,1666,1667,1668,42,244,1786,1774,0,1748,1762,1746,1654,1665,1652,42,1786,244,1785,0,1762,1748,1764,1665,1654,1667,42,1787,1785,1789,0,1766,1764,1767,1669,1667,1670,42,1785,1787,245,0,1764,1766,1765,1667,1669,1668,42,402,1789,1788,0,1768,1767,1769,1671,1670,1672,42,1789,402,1787,0,1767,1768,1766,1670,1671,1669,42,1788,1781,394,0,1769,1758,1759,1672,1662,1663,42,1781,1788,1789,0,1758,1769,1767,1662,1672,1670,42,1789,1785,1781,0,1767,1764,1758,1670,1667,1662,42,1781,1785,244,0,1758,1764,1748,1662,1667,1654,42,1790,1768,1792,0,1770,1738,1771,1673,1645,1674,42,1768,1790,409,0,1738,1770,1737,1645,1673,1405,42,246,1790,1791,0,1772,1770,1773,1675,1673,1676,42,1791,1790,1792,0,1773,1770,1771,1676,1673,1674,42,245,1791,1792,0,1765,1773,1771,1668,1676,1674,42,245,1792,1784,0,1765,1771,1763,1668,1674,1666,42,1784,1792,1768,0,1763,1771,1738,1666,1674,1645,42,1784,1768,410,0,1763,1738,1491,1666,1645,1431,42,1795,245,1787,0,1774,1765,1766,1677,1668,1669,42,245,1795,1791,0,1765,1774,1773,1668,1677,1676,42,246,1795,1793,0,1772,1774,1775,1675,1677,1678,42,1795,246,1791,0,1774,1772,1773,1677,1675,1676,42,1794,1793,1795,0,1776,1775,1774,1679,1678,1677,42,1793,1794,401,0,1775,1776,1777,1678,1679,1680,42,402,1795,1787,0,1768,1774,1766,1671,1677,1669,42,1795,402,1794,0,1774,1768,1776,1677,1671,1679,42,1796,1575,1798,0,1778,1461,1779,1681,1403,1682,42,1575,1796,408,0,1461,1778,1459,1403,1681,1401,42,371,1798,1797,0,309,1779,1780,309,1682,1683,42,1798,371,1796,0,1779,309,1778,1682,309,1681,42,1797,1790,246,0,1780,1781,1782,1683,1673,1675,42,1790,1797,1798,0,1781,1780,1779,1673,1683,1682,42,1798,409,1790,0,1779,1463,1781,1682,1405,1673,42,409,1798,1575,0,1463,1779,1461,1405,1682,1403,42,1793,1797,246,0,1783,1780,1782,1678,1683,1675,42,1797,1793,1801,0,1780,1783,1784,1683,1678,1684,42,1801,371,1797,0,1784,309,1780,1684,309,1683,42,371,1801,1799,0,309,1784,1785,309,1684,1685,42,1800,1799,1801,0,1786,1785,1784,1686,1685,1684,42,1799,1800,400,0,1785,1786,1787,1685,1686,1687,42,401,1801,1793,0,1788,1784,1783,1680,1684,1678,42,1801,401,1800,0,1784,1788,1786,1684,1680,1686,42,1802,769,1804,0,1789,288,1790,1688,288,1689,42,769,1802,248,0,288,1789,287,288,1688,287,42,1804,449,1802,0,1790,1395,1789,1689,1337,1688,42,449,1804,1526,0,1395,1790,1394,1337,1689,1336,42,1803,1526,1804,0,1791,1394,1790,1690,1336,1689,42,1526,1803,448,0,1394,1791,1387,1336,1690,1329,42,266,1804,769,0,289,1790,288,289,1689,288,42,1804,266,1803,0,1790,289,1791,1689,289,1690,42,1802,1807,1808,0,1789,1792,1793,1688,1691,1692,42,1807,1802,449,0,1792,1789,1395,1691,1688,1337,42,248,1808,1805,0,287,1793,1794,287,1692,1693,42,1808,248,1802,0,1793,287,1789,1692,287,1688,42,1805,1806,250,0,1794,1795,1796,1693,1694,1695,42,1806,1805,1808,0,1795,1794,1793,1694,1693,1692,42,1808,450,1806,0,1793,1797,1795,1692,1696,1694,42,450,1808,1807,0,1797,1793,1792,1696,1692,1691,42,1809,1811,1812,0,1798,1799,1800,1697,1698,1699,42,1811,1809,458,0,1799,1798,1801,1698,1697,1700,42,1810,459,1809,0,1802,1803,1798,1701,1702,1697,42,1809,1812,1810,0,1798,1800,1802,1697,1699,1701,42,250,1810,1812,0,1796,1802,1800,1695,1701,1699,42,1812,1805,250,0,1800,1794,1796,1699,1693,1695,42,1805,1812,1811,0,1794,1800,1799,1693,1699,1698,42,1811,248,1805,0,1799,287,1794,1698,287,1693,42,1811,772,248,0,1799,290,287,1698,290,287,42,772,1811,1815,0,290,1799,1804,290,1698,1703,42,1815,337,772,0,1804,293,290,1703,293,290,42,337,1815,1813,0,293,1804,1805,293,1703,1704,42,1814,1813,1815,0,1806,1805,1804,1705,1704,1703,42,1813,1814,457,0,1805,1806,1807,1704,1705,1706,42,458,1815,1811,0,1801,1804,1799,1700,1703,1698,42,1815,458,1814,0,1804,1801,1806,1703,1700,1705,42,1819,1816,250,0,1808,1809,1810,1707,1708,1695,42,250,1806,1819,0,1810,1811,1808,1695,1694,1707,42,1817,249,1816,0,1812,1813,1809,1709,1710,1708,42,1816,1819,1817,0,1809,1808,1812,1708,1707,1709,42,451,1817,1819,0,1534,1812,1808,1464,1709,1707,42,1819,1818,451,0,1808,1814,1534,1707,1711,1464,42,1818,1819,1806,0,1814,1808,1811,1711,1707,1694,42,1806,450,1818,0,1811,1815,1814,1694,1696,1711,42,1817,1623,1822,0,1812,1535,1816,1709,1465,1712,42,1623,1817,451,0,1535,1812,1534,1465,1709,1464,42,249,1822,1820,0,1813,1816,1817,1710,1712,1713,42,1822,249,1817,0,1816,1813,1812,1712,1710,1709,42,1820,1821,257,0,1817,1818,1819,1713,1714,1715,42,1821,1820,1822,0,1818,1817,1816,1714,1713,1712,42,1822,452,1821,0,1816,1523,1818,1712,1456,1714,42,452,1822,1623,0,1523,1816,1535,1456,1712,1465,42,1824,1816,249,0,1820,1809,1813,1716,1708,1710,42,1816,1824,1825,0,1809,1820,1821,1708,1716,1717,42,1810,1816,1825,0,1822,1809,1821,1701,1708,1717,42,1816,1810,250,0,1809,1822,1810,1708,1701,1695,42,1823,1810,1825,0,1823,1822,1821,1718,1701,1717,42,1810,1823,459,0,1822,1823,1824,1701,1718,1702,42,1823,1824,460,0,1823,1820,1825,1718,1716,1719,42,1824,1823,1825,0,1820,1823,1821,1716,1718,1717,42,1824,1820,1828,0,1820,1817,1826,1716,1713,1720,42,1820,1824,249,0,1817,1820,1813,1713,1716,1710,42,460,1828,1826,0,1825,1826,1827,1719,1720,1721,42,1828,460,1824,0,1826,1825,1820,1720,1719,1716,42,1826,1827,461,0,1827,1828,1829,1721,1722,1723,42,1827,1826,1828,0,1828,1827,1826,1722,1721,1720,42,1828,257,1827,0,1826,1819,1828,1720,1715,1722,42,257,1828,1820,0,1819,1826,1817,1715,1720,1713,42,1831,1554,418,0,1830,1431,1433,1724,1373,1375,42,1554,1831,1832,0,1431,1830,1831,1373,1724,1725,42,1829,1554,1832,0,1832,1431,1831,1726,1373,1725,42,1554,1829,417,0,1431,1832,1419,1373,1726,1361,42,1830,1829,1832,0,1833,1832,1831,1727,1726,1725,42,1829,1830,353,0,1832,1833,265,1726,1727,265,42,251,1832,1831,0,1834,1831,1830,1728,1725,1724,42,1832,251,1830,0,1831,1834,1833,1725,1728,1727,42,1835,1831,418,0,1835,1836,1520,1729,1724,1375,42,1835,418,1614,0,1835,1520,1517,1729,1375,1452,42,251,1831,1833,0,1837,1836,1838,1728,1724,1730,42,1833,1831,1835,0,1838,1836,1835,1730,1724,1729,42,1833,1835,252,0,1838,1835,1839,1730,1729,1731,42,252,1835,1834,0,1839,1835,1840,1731,1729,1732,42,1835,1614,1834,0,1835,1517,1840,1729,1452,1732,42,1834,1614,419,0,1840,1517,1511,1732,1452,1448,42,1836,251,1839,0,1841,1837,1842,1733,1728,1734,42,1839,251,1833,0,1842,1837,1838,1734,1728,1730,42,428,1836,1837,0,1843,1841,1844,1735,1733,1736,42,1837,1836,1839,0,1844,1841,1842,1736,1733,1734,42,1837,1839,429,0,1844,1842,1845,1736,1734,1737,42,429,1839,1838,0,1845,1842,1846,1737,1734,1738,42,1839,1833,1838,0,1842,1838,1846,1734,1730,1738,42,1838,1833,252,0,1846,1838,1839,1738,1730,1731,42,1841,1842,428,0,1847,1848,1849,1739,1740,1735,42,428,1842,1836,0,1849,1848,1850,1735,1740,1733,42,1842,1830,1836,0,1848,1833,1850,1740,1727,1733,42,1836,1830,251,0,1850,1833,1834,1733,1727,1728,42,1840,353,1842,0,1851,265,1848,1741,265,1740,42,1842,353,1830,0,1848,265,1833,1740,265,1727,42,427,1840,1841,0,1852,1851,1847,1742,1741,1739,42,1842,1841,1840,0,1848,1847,1851,1740,1739,1741,42,1844,1609,420,0,1853,1510,1501,1743,1447,1438,42,1609,1844,1845,0,1510,1853,1854,1447,1743,1744,42,1845,419,1609,0,1854,1511,1510,1744,1448,1447,42,419,1845,1834,0,1511,1854,1840,1448,1744,1732,42,1843,1834,1845,0,1855,1840,1854,1745,1732,1744,42,1834,1843,252,0,1840,1855,1839,1732,1745,1731,42,253,1845,1844,0,1856,1854,1853,1746,1744,1743,42,1845,253,1843,0,1854,1856,1855,1744,1746,1745,42,1847,1843,253,0,1857,1855,1856,1747,1745,1746,42,1843,1847,1848,0,1855,1857,1858,1745,1747,1748,42,1848,252,1843,0,1858,1839,1855,1748,1731,1745,42,252,1848,1838,0,1839,1858,1846,1731,1748,1738,42,1846,1838,1848,0,1859,1846,1858,1749,1738,1748,42,1838,1846,429,0,1846,1859,1845,1738,1749,1737,42,430,1848,1847,0,1860,1858,1857,1750,1748,1747,42,1848,430,1846,0,1858,1860,1859,1748,1750,1749,42,1844,1602,1851,0,1853,1500,1861,1743,1437,1751,42,1602,1844,420,0,1500,1853,1501,1437,1743,1438,42,253,1851,1849,0,1856,1861,1862,1746,1751,1752,42,1851,253,1844,0,1861,1856,1853,1751,1746,1743,42,1849,1850,254,0,1862,1863,1864,1752,1753,1754,42,1850,1849,1851,0,1863,1862,1861,1753,1752,1751,42,1851,421,1850,0,1861,1502,1863,1751,1439,1753,42,421,1851,1602,0,1502,1861,1500,1439,1751,1437,42,254,1854,1849,0,1864,1865,1862,1754,1755,1752,42,1854,254,1853,0,1865,1864,1866,1755,1754,1756,42,1854,253,1849,0,1865,1856,1862,1755,1746,1752,42,253,1854,1847,0,1856,1865,1857,1746,1755,1747,42,1852,1847,1854,0,1867,1857,1865,1757,1747,1755,42,1847,1852,430,0,1857,1867,1860,1747,1757,1750,42,1853,1852,1854,0,1866,1867,1865,1756,1757,1755,42,1852,1853,431,0,1867,1866,1868,1757,1756,1758,42,1857,1855,254,0,1869,1870,1864,1759,1760,1754,42,254,1850,1857,0,1864,1863,1869,1754,1753,1759,42,1856,255,1855,0,1871,1872,1870,1761,1762,1760,42,1855,1857,1856,0,1870,1869,1871,1760,1759,1761,42,1856,1606,422,0,1871,1504,1506,1761,1441,1443,42,1606,1856,1857,0,1504,1871,1869,1441,1761,1759,42,1606,1857,1850,0,1504,1869,1863,1441,1759,1753,42,1850,421,1606,0,1863,1502,1504,1753,1439,1441,42,1860,1858,431,0,1873,1874,1868,1763,1764,1758,42,431,1853,1860,0,1868,1866,1873,1758,1756,1763,42,1859,432,1858,0,1875,1876,1874,1765,1766,1764,42,1858,1860,1859,0,1874,1873,1875,1764,1763,1765,42,255,1859,1860,0,1872,1875,1873,1762,1765,1763,42,1860,1855,255,0,1873,1870,1872,1763,1760,1762,42,1855,1860,1853,0,1870,1873,1866,1760,1763,1756,42,1853,254,1855,0,1866,1864,1870,1756,1754,1760,42,1861,1863,1864,0,1877,1878,1879,1767,1768,1769,42,1863,1861,413,0,1878,1877,1422,1768,1767,1364,42,422,1864,1856,0,1880,1879,1881,1443,1769,1761,42,1864,422,1861,0,1879,1880,1877,1769,1443,1767,42,1864,255,1856,0,1879,1882,1881,1769,1762,1761,42,255,1864,1862,0,1882,1879,1883,1762,1769,1770,42,1862,1863,357,0,1883,1878,254,1770,1768,254,42,1863,1862,1864,0,1878,1883,1879,1768,1770,1769,42,357,1867,1862,0,254,1884,1883,254,1771,1770,42,1867,357,1866,0,1884,254,1885,1771,254,1772,42,1862,1859,255,0,1883,1886,1882,1770,1765,1762,42,1859,1862,1867,0,1886,1883,1884,1765,1770,1771,42,1867,432,1859,0,1884,1887,1886,1771,1766,1765,42,432,1867,1865,0,1887,1884,1888,1766,1771,1773,42,1865,1867,1866,0,1888,1884,1885,1773,1771,1772,42,1865,1866,433,0,1888,1885,1889,1773,1772,1774,42,1569,1548,1868,0,1448,1420,1890,1390,1362,1775,42,1548,1569,412,0,1420,1448,1230,1362,1390,1174,42,256,1868,1605,0,1453,1890,1891,1395,1775,1442,42,1868,256,1569,0,1890,1453,1448,1775,1395,1390,42,1605,1861,422,0,1891,1877,1880,1442,1767,1443,42,1861,1605,1868,0,1877,1891,1890,1767,1442,1775,42,1868,413,1861,0,1890,1422,1877,1775,1364,1767,42,413,1868,1548,0,1422,1890,1420,1364,1775,1362,42,1821,1617,1871,0,1818,1524,1892,1714,1457,1776,42,1617,1821,452,0,1524,1818,1523,1457,1714,1456,42,257,1871,1869,0,1819,1892,1893,1715,1776,1777,42,1871,257,1821,0,1892,1819,1818,1776,1715,1714,42,1869,1870,258,0,1893,1894,1895,1777,1778,1779,42,1870,1869,1871,0,1894,1893,1892,1778,1777,1776,42,1871,453,1870,0,1892,1526,1894,1776,1459,1778,42,453,1871,1617,0,1526,1892,1524,1459,1776,1457,42,1874,1827,257,0,1896,1828,1819,1780,1722,1715,42,1874,257,1869,0,1896,1819,1893,1780,1715,1777,42,461,1827,1872,0,1829,1828,1897,1723,1722,1781,42,1827,1874,1872,0,1828,1896,1897,1722,1780,1781,42,1872,1874,462,0,1897,1896,1898,1781,1780,1782,42,1874,1873,462,0,1896,1899,1898,1780,1783,1782,42,1874,1869,1873,0,1896,1893,1899,1780,1777,1783,42,1873,1869,258,0,1899,1893,1895,1783,1777,1779,42,1875,1870,1877,0,1900,1894,1901,1784,1778,1785,42,1870,1875,258,0,1894,1900,1895,1778,1784,1779,42,259,1877,1876,0,1902,1901,1903,1786,1785,1787,42,1877,259,1875,0,1901,1902,1900,1785,1786,1784,42,1620,1876,1877,0,1530,1903,1901,1461,1787,1785,42,1876,1620,454,0,1903,1530,1531,1787,1461,1379,42,1877,1870,1620,0,1901,1894,1530,1785,1778,1461,42,1870,453,1620,0,1894,1526,1530,1778,1459,1461,42,1879,1875,259,0,1904,1900,1902,1788,1784,1786,42,1875,1879,1880,0,1900,1904,1905,1784,1788,1789,42,1873,1875,1880,0,1899,1900,1905,1783,1784,1789,42,1875,1873,258,0,1900,1899,1895,1784,1783,1779,42,1873,1878,462,0,1899,1906,1898,1783,1790,1782,42,1878,1873,1880,0,1906,1899,1905,1790,1783,1789,42,1878,1879,463,0,1906,1904,1907,1790,1788,1791,42,1879,1878,1880,0,1904,1906,1905,1788,1790,1789,42,1558,1882,1883,0,1436,1908,1909,1378,1792,1793,42,1882,1558,445,0,1908,1436,1398,1792,1378,1340,42,454,1883,1876,0,1437,1909,1910,1379,1793,1787,42,1883,454,1558,0,1909,1437,1436,1793,1379,1378,42,1876,1881,259,0,1910,1911,1912,1787,1794,1786,42,1881,1876,1883,0,1911,1910,1909,1794,1787,1793,42,335,1883,1882,0,276,1909,1908,276,1793,1792,42,1883,335,1881,0,1909,276,1911,1793,276,1794,42,1881,1885,1886,0,1911,1913,1914,1794,1795,1796,42,1885,1881,335,0,1913,1911,276,1795,1794,276,42,259,1886,1879,0,1912,1914,1915,1786,1796,1788,42,1886,259,1881,0,1914,1912,1911,1796,1786,1794,42,1879,1884,463,0,1915,1916,1917,1788,1797,1791,42,1884,1879,1886,0,1916,1915,1914,1797,1788,1796,42,1886,464,1884,0,1914,1918,1916,1796,1798,1797,42,464,1886,1885,0,1918,1914,1913,1798,1796,1795,42,1759,1889,1890,0,1722,1919,1920,1631,1799,1800,42,1889,1759,479,0,1919,1722,1365,1799,1631,1307,42,260,1890,1887,0,1724,1920,1921,1633,1800,1801,42,1890,260,1759,0,1920,1724,1722,1800,1633,1631,42,1887,1888,261,0,1921,1922,1923,1801,1802,1803,42,1888,1887,1890,0,1922,1921,1920,1802,1801,1800,42,1890,480,1888,0,1920,1545,1922,1800,1472,1802,42,480,1890,1889,0,1545,1920,1919,1472,1800,1799,42,1763,1887,1893,0,1726,1921,1924,1635,1801,1804,42,1887,1763,260,0,1921,1726,1724,1801,1635,1633,42,488,1893,1891,0,1730,1924,1925,1639,1804,1805,42,1893,488,1763,0,1924,1730,1726,1804,1639,1635,42,1891,1892,489,0,1925,1926,1927,1805,1806,1807,42,1892,1891,1893,0,1926,1925,1924,1806,1805,1804,42,1893,261,1892,0,1924,1923,1926,1804,1803,1806,42,261,1893,1887,0,1923,1924,1921,1803,1804,1801,42,1896,481,1895,0,1928,1547,1929,1808,1474,1809,42,481,1896,1629,0,1547,1928,1546,1474,1808,1473,42,1888,1629,1896,0,1922,1546,1928,1802,1473,1808,42,1629,1888,480,0,1546,1922,1545,1473,1802,1472,42,261,1896,1894,0,1923,1928,1930,1803,1808,1810,42,1896,261,1888,0,1928,1923,1922,1808,1803,1802,42,1895,1894,1896,0,1929,1930,1928,1809,1810,1808,42,1894,1895,262,0,1930,1929,1931,1810,1809,1811,42,1892,1894,1899,0,1926,1930,1932,1806,1810,1812,42,1894,1892,261,0,1930,1926,1923,1810,1806,1803,42,489,1899,1897,0,1927,1932,1933,1807,1812,1813,42,1899,489,1892,0,1932,1927,1926,1812,1807,1806,42,1897,1898,490,0,1933,1934,1935,1813,1814,1815,42,1898,1897,1899,0,1934,1933,1932,1814,1813,1812,42,1899,262,1898,0,1932,1931,1934,1812,1811,1814,42,262,1899,1894,0,1931,1932,1930,1811,1812,1810,42,1632,1901,1902,0,1550,1936,1937,1476,1816,1817,42,1901,1632,482,0,1936,1550,1551,1816,1476,1389,42,1895,1632,1902,0,1929,1550,1937,1809,1476,1817,42,1632,1895,481,0,1550,1929,1547,1476,1809,1474,42,262,1902,1900,0,1931,1937,1938,1811,1817,1818,42,1902,262,1895,0,1937,1931,1929,1817,1811,1809,42,1902,263,1900,0,1937,1939,1938,1817,1819,1818,42,263,1902,1901,0,1939,1937,1936,1819,1817,1816,42,1900,1904,1905,0,1938,1940,1941,1818,1820,1821,42,1904,1900,263,0,1940,1938,1939,1820,1818,1819,42,262,1905,1898,0,1931,1941,1934,1811,1821,1814,42,1905,262,1900,0,1941,1931,1938,1821,1811,1818,42,490,1905,1903,0,1935,1941,1942,1815,1821,1822,42,1905,490,1898,0,1941,1935,1934,1821,1815,1814,42,491,1905,1904,0,1943,1941,1940,1823,1821,1820,42,1905,491,1903,0,1941,1943,1942,1821,1823,1822,42,1907,1565,483,0,1944,1446,1380,1824,1388,1322,42,1565,1907,1908,0,1446,1944,1945,1388,1824,1825,42,482,1908,1901,0,1447,1945,1946,1389,1825,1816,42,1908,482,1565,0,1945,1447,1446,1825,1389,1388,42,1906,1901,1908,0,1947,1946,1945,1826,1816,1825,42,1901,1906,263,0,1946,1947,1948,1816,1826,1819,42,346,1908,1907,0,298,1945,1944,298,1825,1824,42,1908,346,1906,0,1945,298,1947,1825,298,1826,42,1906,1910,1911,0,1947,1949,1950,1826,1827,1828,42,1910,1906,346,0,1949,1947,298,1827,1826,298,42,263,1911,1904,0,1948,1950,1951,1819,1828,1820,42,1911,263,1906,0,1950,1948,1947,1828,1819,1826,42,1909,1904,1911,0,1952,1951,1950,1829,1820,1828,42,1904,1909,491,0,1951,1952,1953,1820,1829,1823,42,492,1911,1910,0,1954,1950,1949,1830,1828,1827,42,1911,492,1909,0,1950,1954,1952,1828,1830,1829,42,761,1882,1913,0,273,1908,1955,273,1792,1831,42,1882,761,335,0,1908,273,276,1792,273,276,42,1913,264,761,0,1955,274,273,1831,274,273,42,264,1913,1912,0,274,1955,1956,274,1831,1832,42,1529,1912,1913,0,1397,1956,1955,1339,1832,1831,42,1912,1529,446,0,1956,1397,1391,1832,1339,1333,42,445,1913,1882,0,1398,1955,1908,1340,1831,1792,42,1913,445,1529,0,1955,1398,1397,1831,1340,1339,42,1524,1914,1915,0,1390,1957,1958,1332,1833,1834,42,1914,1524,447,0,1957,1390,1386,1833,1332,1328,42,446,1915,1912,0,1391,1958,1956,1333,1834,1832,42,1915,446,1524,0,1958,1391,1390,1834,1333,1332,42,1912,1647,264,0,1956,1571,274,1832,1496,274,42,1647,1912,1915,0,1571,1956,1958,1496,1832,1834,42,1915,265,1647,0,1958,1572,1571,1834,1497,1496,42,265,1915,1914,0,1572,1958,1957,1497,1834,1833,42,805,1918,1919,0,340,1959,1960,340,1835,1836,42,1918,805,338,0,1959,340,339,1835,340,339,42,274,1919,1916,0,344,1960,1961,344,1836,1837,42,1919,274,805,0,1960,344,340,1836,344,340,42,1916,1917,267,0,1961,1962,1963,1837,1838,1839,42,1917,1916,1919,0,1962,1961,1960,1838,1837,1836,42,1919,339,1917,0,1960,1964,1962,1836,1840,1838,42,339,1919,1918,0,1964,1960,1959,1840,1836,1835,42,1922,1917,339,0,1965,1962,1964,1841,1838,1840,42,1922,339,1921,0,1965,1964,1966,1841,1840,1842,42,1920,267,1917,0,1967,1963,1962,1843,1839,1838,42,1920,1917,1922,0,1967,1962,1965,1843,1838,1841,42,268,1920,1922,0,330,1967,1965,330,1843,1841,42,268,1922,798,0,330,1965,328,330,1841,328,42,1922,1921,798,0,1965,1966,328,1841,1842,328,42,798,1921,340,0,328,1966,333,328,1842,333,42,801,1920,268,0,335,1967,330,335,1843,330,42,1920,801,1925,0,1967,335,1968,1843,335,1844,42,1925,267,1920,0,1968,1963,1967,1844,1839,1843,42,267,1925,1923,0,1963,1968,1969,1839,1844,1845,42,1924,1923,1925,0,1970,1969,1968,1846,1845,1844,42,1923,1924,342,0,1969,1970,1971,1845,1846,1847,42,343,1925,801,0,337,1968,335,337,1844,335,42,1925,343,1924,0,1968,337,1970,1844,337,1846,42,808,1916,1927,0,346,1961,1972,346,1837,1848,42,1916,808,274,0,1961,346,344,1837,346,344,42,1927,341,808,0,1972,348,346,1848,348,346,42,341,1927,1926,0,348,1972,1973,348,1848,1849,42,1926,1923,342,0,1973,1969,1971,1849,1845,1847,42,1923,1926,1927,0,1969,1973,1972,1845,1849,1848,42,1927,267,1923,0,1972,1963,1969,1848,1839,1845,42,267,1927,1916,0,1963,1972,1961,1839,1848,1837,42,1928,1930,1931,0,1974,1975,1976,1850,1851,1852,42,1930,1928,277,0,1975,1974,331,1851,1850,331,42,269,1931,1929,0,1977,1976,1978,1853,1852,1854,42,1931,269,1928,0,1976,1977,1974,1852,1853,1850,42,1929,1809,459,0,1978,1798,1803,1854,1697,1702,42,1809,1929,1931,0,1798,1978,1976,1697,1854,1852,42,1931,458,1809,0,1976,1801,1798,1852,1700,1697,42,458,1931,1930,0,1801,1976,1975,1700,1852,1851,42,1934,1928,269,0,1979,1974,1977,1855,1850,1853,42,1928,1934,1935,0,1974,1979,1980,1850,1855,1856,42,1935,277,1928,0,1980,331,1974,1856,331,1850,42,277,1935,1932,0,331,1980,1981,331,1856,1857,42,1933,1932,1935,0,1982,1981,1980,1858,1857,1856,42,1932,1933,473,0,1981,1982,424,1857,1858,418,42,472,1935,1934,0,1983,1980,1979,1859,1856,1855,42,1935,472,1933,0,1980,1983,1982,1856,1859,1858,42,1937,1938,270,0,1984,1985,1986,1860,1861,1862,42,270,1938,1936,0,1986,1985,1987,1862,1861,1863,42,1938,460,1936,0,1985,1825,1987,1861,1719,1863,42,460,1938,1823,0,1825,1985,1823,1719,1861,1718,42,1929,459,1938,0,1988,1824,1985,1854,1702,1861,42,1938,459,1823,0,1985,1824,1823,1861,1702,1718,42,269,1929,1937,0,1989,1988,1984,1853,1854,1860,42,1937,1929,1938,0,1984,1988,1985,1860,1854,1861,42,1940,1941,471,0,1990,1991,1992,1864,1865,1866,42,1939,471,1941,0,1993,1992,1991,1867,1866,1865,42,1941,1937,1939,0,1991,1984,1993,1865,1860,1867,42,1939,1937,270,0,1993,1984,1986,1867,1860,1862,42,1934,269,1941,0,1994,1989,1991,1855,1853,1865,42,1937,1941,269,0,1984,1991,1989,1860,1865,1853,42,472,1934,1940,0,1995,1994,1990,1859,1855,1864,42,1941,1940,1934,0,1991,1990,1994,1865,1864,1855,42,1943,1942,271,0,1996,1997,1998,1868,1869,1870,42,1942,1943,1944,0,1997,1996,1999,1869,1868,1871,42,1944,461,1942,0,1999,1829,1997,1871,1723,1869,42,461,1944,1826,0,1829,1999,1827,1723,1871,1721,42,1936,1826,1944,0,1987,1827,1999,1863,1721,1871,42,1826,1936,460,0,1827,1987,1825,1721,1863,1719,42,270,1944,1943,0,1986,1999,1996,1862,1871,1868,42,1944,270,1936,0,1999,1986,1987,1871,1862,1863,42,1939,270,1947,0,1993,1986,2e3,1867,1862,1872,42,1947,270,1943,0,2e3,1986,1996,1872,1862,1868,42,471,1939,1945,0,1992,1993,2001,1866,1867,1873,42,1945,1939,1947,0,2001,1993,2e3,1873,1867,1872,42,1945,1947,470,0,2001,2e3,2002,1873,1872,1874,42,470,1947,1946,0,2002,2e3,2003,1874,1872,1875,42,1947,1943,1946,0,2e3,1996,2003,1872,1868,1875,42,1946,1943,271,0,2003,1996,1998,1875,1868,1870,42,1949,1872,462,0,2004,1897,1898,1876,1781,1782,42,1872,1949,1950,0,1897,2004,2005,1781,1876,1877,42,1950,461,1872,0,2005,1829,1897,1877,1723,1781,42,461,1950,1942,0,1829,2005,1997,1723,1877,1869,42,271,1950,1948,0,1998,2005,2006,1870,1877,1878,42,1950,271,1942,0,2005,1998,1997,1877,1870,1869,42,1948,1949,272,0,2006,2004,2007,1878,1876,1879,42,1949,1948,1950,0,2004,2006,2005,1876,1878,1877,42,1953,272,1952,0,2008,2007,2009,1880,1879,1881,42,272,1953,1948,0,2007,2008,2006,1879,1880,1878,42,1953,271,1948,0,2008,1998,2006,1880,1870,1878,42,271,1953,1946,0,1998,2008,2003,1870,1880,1875,42,1951,1946,1953,0,2010,2003,2008,1882,1875,1880,42,1946,1951,470,0,2003,2010,2002,1875,1882,1874,42,1951,1952,469,0,2010,2009,2011,1882,1881,1883,42,1952,1951,1953,0,2009,2010,2008,1881,1882,1880,42,1955,1954,273,0,2012,2013,2014,1884,1885,1886,42,1954,1955,1956,0,2013,2012,2015,1885,1884,1887,42,1956,463,1954,0,2015,1907,2013,1887,1791,1885,42,463,1956,1878,0,1907,2015,1906,1791,1887,1790,42,1949,1878,1956,0,2004,1906,2015,1876,1790,1887,42,1878,1949,462,0,1906,2004,1898,1790,1876,1782,42,272,1956,1955,0,2007,2015,2012,1879,1887,1884,42,1956,272,1949,0,2015,2007,2004,1887,1879,1876,42,1952,1955,1959,0,2009,2012,2016,1881,1884,1888,42,1955,1952,272,0,2012,2009,2007,1884,1881,1879,42,469,1959,1957,0,2011,2016,2017,1883,1888,1889,42,1959,469,1952,0,2016,2011,2009,1888,1883,1881,42,1957,1958,468,0,2017,2018,2019,1889,1890,1891,42,1958,1957,1959,0,2018,2017,2016,1890,1889,1888,42,1959,273,1958,0,2016,2014,2018,1888,1886,1890,42,273,1959,1955,0,2014,2016,2012,1886,1888,1884,42,464,1962,1884,0,1918,2020,1916,1798,1892,1797,42,1962,464,1961,0,2020,1918,2021,1892,1798,1893,42,1954,1884,1962,0,2022,1916,2020,1885,1797,1892,42,1884,1954,463,0,1916,2022,1917,1797,1885,1791,42,273,1962,1960,0,2023,2020,2024,1886,1892,1894,42,1962,273,1954,0,2020,2023,2022,1892,1886,1885,42,1960,1961,466,0,2024,2021,342,1894,1893,342,42,1961,1960,1962,0,2021,2024,2020,1893,1894,1892,42,1964,1963,467,0,2025,2026,352,1895,1896,352,42,1963,1964,1965,0,2026,2025,2027,1896,1895,1897,42,466,1965,1960,0,342,2027,2024,342,1897,1894,42,1965,466,1963,0,2027,342,2026,1897,342,1896,42,1958,1960,1965,0,2028,2024,2027,1890,1894,1897,42,1960,1958,273,0,2024,2028,2023,1894,1890,1886,42,468,1965,1964,0,2029,2027,2025,1891,1897,1895,42,1965,468,1958,0,2027,2029,2028,1897,1891,1890,42,1966,1968,1969,0,2030,2031,2032,1898,1899,1900,42,1968,1966,275,0,2031,2030,2033,1899,1898,1901,42,301,1969,850,0,362,2032,422,362,1900,416,42,1969,301,1966,0,2032,362,2030,1900,362,1898,42,850,1967,474,0,422,2034,420,416,1902,414,42,1967,850,1969,0,2034,422,2032,1902,416,1900,42,1969,475,1967,0,2032,2035,2034,1900,1903,1902,42,475,1969,1968,0,2035,2032,2031,1903,1900,1899,42,1971,1968,275,0,2036,2031,2033,1904,1899,1901,42,1968,1971,1972,0,2031,2036,2037,1899,1904,1905,42,1972,475,1968,0,2037,2035,2031,1905,1903,1899,42,475,1972,1970,0,2035,2037,2038,1903,1905,1906,42,1970,811,476,0,2038,353,355,1906,353,355,42,811,1970,1972,0,353,2038,2037,353,1906,1905,42,1972,276,811,0,2037,354,353,1905,354,353,42,276,1972,1971,0,354,2037,2036,354,1905,1904,42,818,1966,301,0,364,2030,362,364,1898,362,42,1966,818,1975,0,2030,364,2039,1898,364,1907,42,1975,1973,1966,0,2039,2040,2030,1907,1908,1898,42,275,1966,1973,0,2033,2030,2040,1901,1898,1908,42,1973,1975,283,0,2040,2039,2041,1908,1907,1909,42,1975,1974,283,0,2039,2042,2041,1907,1910,1909,42,302,1975,818,0,366,2039,364,366,1907,364,42,1975,302,1974,0,2039,366,2042,1907,366,1910,42,1971,815,276,0,2036,361,354,1904,361,354,42,815,1971,1977,0,361,2036,2043,361,1904,1911,42,1977,300,815,0,2043,360,361,1911,360,361,42,300,1977,1976,0,360,2043,2044,360,1911,1912,42,1973,1976,1977,0,2040,2044,2043,1908,1912,1911,42,1976,1973,283,0,2044,2040,2041,1912,1908,1909,42,275,1977,1971,0,2033,2043,2036,1901,1911,1904,42,1977,275,1973,0,2043,2033,2040,1911,1901,1908,42,816,810,276,0,357,349,354,357,349,354,42,810,816,1979,0,349,357,2045,349,357,1913,42,1979,467,810,0,2045,352,349,1913,352,349,42,467,1979,1964,0,352,2045,2025,352,1913,1895,42,1978,1964,1979,0,2046,2025,2045,1914,1895,1913,42,1964,1978,468,0,2025,2046,2029,1895,1914,1891,42,282,1979,816,0,359,2045,357,359,1913,357,42,1979,282,1978,0,2045,359,2046,1913,359,1914,42,1930,277,797,0,1975,331,332,1851,331,332,42,797,1981,1930,0,332,2047,1975,332,1915,1851,42,1981,458,1930,0,2047,1801,1975,1915,1700,1851,42,458,1981,1814,0,1801,2047,1806,1700,1915,1705,42,1980,1814,1981,0,2048,1806,2047,1916,1705,1915,42,1814,1980,457,0,1806,2048,1807,1705,1916,1706,42,340,1981,797,0,333,2047,332,333,1915,332,42,1981,340,1980,0,2047,333,2048,1915,333,1916,42,1932,800,277,0,1981,334,331,1857,334,331,42,800,1932,1983,0,334,1981,2049,334,1857,1917,42,1983,343,800,0,2049,337,334,1917,337,334,42,343,1983,1982,0,337,2049,2050,337,1917,1918,42,852,1982,1983,0,421,2050,2049,415,1918,1917,42,1982,852,474,0,2050,421,420,1918,415,414,42,473,1983,1932,0,424,2049,1981,418,1917,1857,42,1983,473,852,0,2049,424,421,1917,418,415,42,1984,1933,472,0,2051,1982,1983,1919,1858,1859,42,1933,1984,1985,0,1982,2051,2052,1858,1919,1920,42,1985,473,1933,0,2052,424,1982,1920,418,1858,42,473,1985,851,0,424,2052,423,418,1920,417,42,820,851,1985,0,365,423,2052,365,417,1920,42,851,820,301,0,423,365,362,417,365,362,42,1985,278,820,0,2052,368,365,1920,368,365,42,278,1985,1984,0,368,2052,2051,368,1920,1919,42,823,1984,1987,0,374,2053,2054,372,1919,1921,42,1984,823,278,0,2053,374,375,1919,372,368,42,279,1987,1986,0,373,2054,2055,371,1921,1922,42,1987,279,823,0,2054,373,374,1921,371,372,42,1986,1940,471,0,2055,1990,1992,1922,1864,1866,42,1940,1986,1987,0,1990,2055,2054,1864,1922,1921,42,1987,472,1940,0,2054,1995,1990,1921,1859,1864,42,472,1987,1984,0,1995,2054,2053,1859,1921,1919,42,1989,1945,470,0,2056,2001,2002,1923,1873,1874,42,1945,1989,1990,0,2001,2056,2057,1873,1923,1924,42,1990,471,1945,0,2057,1992,2001,1924,1866,1873,42,471,1990,1986,0,1992,2057,2055,1866,1924,1922,42,1988,1986,1990,0,2058,2055,2057,1925,1922,1924,42,1986,1988,279,0,2055,2058,373,1922,1925,371,42,280,1990,1989,0,2059,2057,2056,1926,1924,1923,42,1990,280,1988,0,2057,2059,2058,1924,1926,1925,42,1974,1991,283,0,2060,2061,2062,1910,1927,1909,42,1991,1974,1992,0,2061,2060,2063,1927,1910,1928,42,1992,280,1991,0,2063,2059,2061,1928,1926,1927,42,280,1992,1988,0,2059,2063,2058,1926,1928,1925,42,822,1988,1992,0,372,2058,2063,370,1925,1928,42,1988,822,279,0,2058,372,373,1925,370,371,42,822,1974,302,0,372,2060,370,370,1910,366,42,1974,822,1992,0,2060,372,2063,1910,370,1928,42,1989,1951,1995,0,2056,2010,2064,1923,1882,1929,42,1951,1989,470,0,2010,2056,2002,1882,1923,1874,42,280,1989,1993,0,2059,2056,2065,1926,1923,1930,42,1993,1989,1995,0,2065,2056,2064,1930,1923,1929,42,1993,1995,281,0,2065,2064,380,1930,1929,375,42,1995,1994,281,0,2064,2066,380,1929,1931,375,42,1995,469,1994,0,2064,2011,2066,1929,1883,1931,42,469,1995,1951,0,2011,2064,2010,1883,1929,1882,42,1998,830,349,0,2067,385,384,1932,379,378,42,1998,349,1997,0,2067,384,2068,1932,378,1933,42,1996,284,830,0,2069,389,385,1934,383,379,42,1996,830,1998,0,2069,385,2067,1934,379,1932,42,285,1996,1998,0,395,2069,2067,389,1934,1932,42,285,1998,837,0,395,2067,397,389,1932,391,42,837,1998,1997,0,397,2067,2068,391,1932,1933,42,837,1997,350,0,397,2068,400,391,1933,394,42,840,1996,285,0,402,2069,395,396,1934,389,42,1996,840,2e3,0,2069,402,2070,1934,396,1935,42,2e3,284,1996,0,2070,389,2069,1935,383,1934,42,284,2e3,833,0,389,2070,391,383,1935,385,42,1999,833,2e3,0,2071,391,2070,1936,385,1935,42,833,1999,494,0,391,2071,393,385,1936,387,42,352,2e3,840,0,404,2070,402,398,1935,396,42,2e3,352,1999,0,2070,404,2071,1935,398,1936,42,2001,2003,2004,0,2072,2073,2074,1937,1938,1939,42,2003,2001,351,0,2073,2072,398,1938,1937,392,42,286,2004,2002,0,2075,2074,2076,1940,1939,1941,42,2004,286,2001,0,2074,2075,2072,1939,1940,1937,42,488,2002,2004,0,1730,2076,2074,1639,1941,1939,42,2004,1762,488,0,2074,1728,1730,1939,1637,1639,42,2004,487,1762,0,2074,1729,1728,1939,1638,1637,42,487,2004,2003,0,1729,2074,2073,1638,1939,1938,42,2007,2001,286,0,2077,2072,2075,1942,1937,1940,42,2001,2007,2008,0,2072,2077,2078,1937,1942,1943,42,2008,351,2001,0,2078,398,2072,1943,392,1937,42,351,2008,2005,0,398,2078,2079,392,1943,1944,42,2006,2005,2008,0,2080,2079,2078,1945,1944,1943,42,2005,2006,497,0,2079,2080,2081,1944,1945,1946,42,498,2008,2007,0,2082,2078,2077,1947,1943,1942,42,2008,498,2006,0,2078,2082,2080,1943,1947,1945,42,2002,1891,2011,0,2076,1925,2083,1941,1805,1948,42,1891,2002,488,0,1925,2076,1730,1805,1941,1639,42,286,2011,2009,0,2075,2083,2084,1940,1948,1949,42,2011,286,2002,0,2083,2075,2076,1948,1940,1941,42,2009,2010,287,0,2084,2085,2086,1949,1950,1951,42,2010,2009,2011,0,2085,2084,2083,1950,1949,1948,42,2011,489,2010,0,2083,1927,2085,1948,1807,1950,42,489,2011,1891,0,1927,2083,1925,1807,1948,1805,42,2007,2009,2014,0,2077,2084,2087,1942,1949,1952,42,2009,2007,286,0,2084,2077,2075,1949,1942,1940,42,498,2007,2012,0,2082,2077,2088,1947,1942,1953,42,2012,2007,2014,0,2088,2077,2087,1953,1942,1952,42,2012,2013,499,0,2088,2089,2090,1953,1954,1955,42,2013,2012,2014,0,2089,2088,2087,1954,1953,1952,42,2014,287,2013,0,2087,2086,2089,1952,1951,1954,42,287,2014,2009,0,2086,2087,2084,1951,1952,1949,42,2010,1897,2017,0,2085,1933,2091,1950,1813,1956,42,1897,2010,489,0,1933,2085,1927,1813,1950,1807,42,287,2017,2015,0,2086,2091,2092,1951,1956,1957,42,2017,287,2010,0,2091,2086,2085,1956,1951,1950,42,2015,2016,288,0,2092,2093,2094,1957,1958,1959,42,2016,2015,2017,0,2093,2092,2091,1958,1957,1956,42,2017,490,2016,0,2091,1935,2093,1956,1815,1958,42,490,2017,1897,0,1935,2091,1933,1815,1956,1813,42,2020,288,2019,0,2095,2094,2096,1960,1959,1961,42,288,2020,2015,0,2094,2095,2092,1959,1960,1957,42,2020,287,2015,0,2095,2086,2092,1960,1951,1957,42,287,2020,2013,0,2086,2095,2089,1951,1960,1954,42,2018,2013,2020,0,2097,2089,2095,1962,1954,1960,42,2013,2018,499,0,2089,2097,2090,1954,1962,1955,42,500,2020,2019,0,2098,2095,2096,1963,1960,1961,42,2020,500,2018,0,2095,2098,2097,1960,1963,1962,42,2023,491,2022,0,2099,1943,2100,1964,1823,1965,42,491,2023,1903,0,1943,2099,1942,1823,1964,1822,42,490,2023,2016,0,1935,2099,2093,1815,1964,1958,42,2023,490,1903,0,2099,1935,1942,1964,1815,1822,42,2023,288,2016,0,2099,2094,2093,1964,1959,1958,42,288,2023,2021,0,2094,2099,2101,1959,1964,1966,42,2021,2022,289,0,2101,2100,2102,1966,1965,1967,42,2022,2021,2023,0,2100,2101,2099,1965,1966,1964,42,2025,2024,501,0,2103,2104,2105,1968,1969,1970,42,2024,2025,2026,0,2104,2103,2106,1969,1968,1971,42,2026,289,2024,0,2106,2102,2104,1971,1967,1969,42,289,2026,2021,0,2102,2106,2101,1967,1971,1966,42,2019,2021,2026,0,2096,2101,2106,1961,1966,1971,42,2021,2019,288,0,2101,2096,2094,1966,1961,1959,42,500,2026,2025,0,2098,2106,2103,1963,1971,1968,42,2026,500,2019,0,2106,2098,2096,1971,1963,1961,42,2027,289,2029,0,2107,2108,2109,1972,1967,1973,42,289,2022,2029,0,2108,2110,2109,1967,1965,1973,42,348,2027,2028,0,387,2107,2111,381,1972,1974,42,2027,2029,2028,0,2107,2109,2111,1972,1973,1974,42,2028,1909,492,0,2111,1952,1954,1974,1829,1830,42,1909,2028,2029,0,1952,2111,2109,1829,1974,1973,42,2029,491,1909,0,2109,1953,1952,1973,1823,1829,42,491,2029,2022,0,1953,2109,2110,1823,1973,1965,42,2027,2031,2032,0,2107,2112,2113,1972,1975,1976,42,2031,2027,348,0,2112,2107,387,1975,1972,381,42,2024,2027,2032,0,2114,2107,2113,1969,1972,1976,42,2027,2024,289,0,2107,2114,2108,1972,1969,1967,42,501,2032,2030,0,2115,2113,2116,1970,1976,1977,42,2032,501,2024,0,2113,2115,2114,1976,1970,1969,42,2031,2030,2032,0,2112,2116,2113,1975,1977,1976,42,2030,2031,502,0,2116,2112,2117,1977,1975,1978,42,2036,2033,496,0,2118,2119,2120,1979,1980,1981,42,2033,2036,2037,0,2119,2118,2121,1980,1979,1982,42,2037,495,2033,0,2121,2122,2119,1982,1983,1980,42,495,2037,2034,0,2122,2121,2123,1983,1982,1984,42,2035,2034,2037,0,2124,2123,2121,1985,1984,1982,42,2034,2035,290,0,2123,2124,2125,1984,1985,1986,42,291,2037,2036,0,2126,2121,2118,1987,1982,1979,42,2037,291,2035,0,2121,2126,2124,1982,1987,1985,42,2041,495,2034,0,2127,2122,2123,1988,1983,1984,42,495,2041,2038,0,2122,2127,2128,1983,1988,1989,42,2039,2038,2041,0,2129,2128,2127,1990,1989,1988,42,2038,2039,502,0,2128,2129,2117,1989,1990,1978,42,2041,2040,293,0,2127,2130,2131,1988,1991,1992,42,2041,293,2039,0,2127,2131,2129,1988,1992,1990,42,2040,2034,290,0,2130,2123,2125,1991,1984,1986,42,2034,2040,2041,0,2123,2130,2127,1984,1991,1988,42,2042,2044,2045,0,2132,2133,2134,1993,1994,1995,42,2044,2042,299,0,2133,2132,2135,1994,1993,400,42,291,2045,2035,0,2126,2134,2124,1987,1995,1985,42,2045,291,2042,0,2134,2126,2132,1995,1987,1993,42,2035,2043,290,0,2124,2136,2125,1985,1996,1986,42,2043,2035,2045,0,2136,2124,2134,1996,1985,1995,42,2045,298,2043,0,2134,2137,2136,1995,410,1996,42,298,2045,2044,0,2137,2134,2133,410,1995,1994,42,2047,296,2046,0,2138,2139,2140,1997,412,1998,42,296,2047,847,0,2139,2138,2141,412,1997,411,42,2043,847,2047,0,2136,2141,2138,1996,411,1997,42,847,2043,298,0,2141,2136,2137,411,1996,410,42,290,2047,2040,0,2125,2138,2130,1986,1997,1991,42,2047,290,2043,0,2138,2125,2136,1997,1986,1996,42,293,2047,2046,0,2131,2138,2140,1992,1997,1998,42,2047,293,2040,0,2138,2131,2130,1997,1992,1991,42,2050,2048,497,0,2142,2143,2081,1999,2e3,1946,42,2048,2050,2051,0,2143,2142,2144,2e3,1999,2001,42,496,2051,2036,0,2120,2144,2118,1981,2001,1979,42,2051,496,2048,0,2144,2120,2143,2001,1981,2e3,42,2049,2036,2051,0,2145,2118,2144,2002,1979,2001,42,2036,2049,291,0,2118,2145,2126,1979,2002,1987,42,292,2051,2050,0,2146,2144,2142,2003,2001,1999,42,2051,292,2049,0,2144,2146,2145,2001,2003,2002,42,2049,2042,291,0,2145,2132,2126,2002,1993,1987,42,2042,2049,2053,0,2132,2145,2147,1993,2002,2004,42,844,2042,2053,0,2148,2132,2147,401,1993,2004,42,2042,844,299,0,2132,2148,2135,1993,401,400,42,2052,844,2053,0,2149,2148,2147,2005,401,2004,42,844,2052,294,0,2148,2149,2150,401,2005,405,42,292,2053,2049,0,2146,2147,2145,2003,2004,2002,42,2053,292,2052,0,2147,2146,2149,2004,2003,2005,42,2054,2006,498,0,2151,2080,2082,2006,1945,1947,42,2006,2054,2055,0,2080,2151,2152,1945,2006,2007,42,2055,497,2006,0,2152,2081,2080,2007,1946,1945,42,497,2055,2050,0,2081,2152,2142,1946,2007,1999,42,292,2055,2052,0,2146,2152,2149,2003,2007,2005,42,2055,292,2050,0,2152,2146,2142,2007,2003,1999,42,2055,294,2052,0,2152,2150,2149,2007,405,2005,42,294,2055,2054,0,2150,2152,2151,405,2007,2006,42,2056,2030,2057,0,2153,2116,2154,2008,1977,2009,42,2030,2056,501,0,2116,2153,2115,1977,2008,1970,42,296,2057,2046,0,2139,2154,2140,412,2009,1998,42,2057,296,2056,0,2154,2139,2153,2009,412,2008,42,2046,2057,293,0,2140,2154,2131,1998,2009,1992,42,2057,2039,293,0,2154,2129,2131,2009,1990,1992,42,2057,502,2039,0,2154,2117,2129,2009,1978,1990,42,502,2057,2030,0,2117,2154,2116,1978,2009,1977,42,2059,499,2058,0,2155,2090,2156,2010,1955,2011,42,499,2059,2012,0,2090,2155,2088,1955,2010,1953,42,498,2059,2054,0,2082,2155,2151,1947,2010,2006,42,2059,498,2012,0,2155,2082,2088,2010,1947,1953,42,2054,843,294,0,2151,410,411,2006,404,405,42,843,2054,2059,0,410,2151,2155,404,2006,2010,42,843,2058,297,0,410,2156,409,404,2011,403,42,2058,843,2059,0,2156,410,2155,2011,404,2010,42,2058,2018,2062,0,2156,2097,2157,2011,1962,2012,42,2018,2058,499,0,2097,2156,2090,1962,2011,1955,42,297,2062,2060,0,409,2157,2158,403,2012,2013,42,2062,297,2058,0,2157,409,2156,2012,403,2011,42,2060,2062,295,0,2158,2157,413,2013,2012,407,42,2062,2061,295,0,2157,2159,413,2012,2014,407,42,2062,2018,2061,0,2157,2097,2159,2012,1962,2014,42,2018,500,2061,0,2097,2098,2159,1962,1963,2014,42,2060,846,2063,0,2158,412,2160,2013,406,2015,42,846,2060,295,0,412,2158,413,406,2013,407,42,2060,842,297,0,2158,408,409,2013,402,403,42,842,2060,2063,0,408,2158,2160,402,2013,2015,42,842,2044,299,0,408,2161,406,402,1994,400,42,2044,842,2063,0,2161,408,2160,1994,402,2015,42,2063,298,2044,0,2160,416,2161,2015,410,1994,42,298,2063,846,0,416,2160,412,410,2015,406,42,431,2067,1852,0,1868,2162,1867,1758,2016,1757,42,2067,431,2066,0,2162,1868,2163,2016,1758,2017,42,2064,1852,2067,0,2164,1867,2162,2018,1757,2016,42,1852,2064,430,0,1867,2164,1860,1757,2018,1750,42,434,2067,2065,0,2165,2162,2166,2019,2016,2020,42,2067,434,2064,0,2162,2165,2164,2016,2019,2018,42,2065,2066,303,0,2166,2163,2167,2020,2017,2021,42,2066,2065,2067,0,2163,2166,2162,2017,2020,2016,42,2071,303,2070,0,2168,2167,2169,2022,2021,2023,42,303,2071,2065,0,2167,2168,2166,2021,2022,2020,42,2071,434,2065,0,2168,2165,2166,2022,2019,2020,42,434,2071,2068,0,2165,2168,2170,2019,2022,2024,42,2069,2068,2071,0,2171,2170,2168,2025,2024,2022,42,2068,2069,435,0,2170,2171,2172,2024,2025,2026,42,444,2071,2070,0,2173,2168,2169,2027,2022,2023,42,2071,444,2069,0,2168,2173,2171,2022,2027,2025,42,2074,2072,303,0,2174,2175,2167,2028,2029,2021,42,303,2066,2074,0,2167,2163,2174,2021,2017,2028,42,2073,304,2072,0,2176,2177,2175,2030,2031,2029,42,2072,2074,2073,0,2175,2174,2176,2029,2028,2030,42,432,2073,2074,0,1876,2176,2174,1766,2030,2028,42,2074,1858,432,0,2174,1874,1876,2028,1764,1766,42,1858,2074,2066,0,1874,2174,2163,1764,2028,2017,42,2066,431,1858,0,2163,1868,1874,2017,1758,1764,42,304,2077,2072,0,2177,2178,2175,2031,2032,2029,42,2077,304,2076,0,2178,2177,2179,2032,2031,2033,42,2072,2070,303,0,2175,2169,2167,2029,2023,2021,42,2070,2072,2077,0,2169,2175,2178,2023,2029,2032,42,2077,444,2070,0,2178,2173,2169,2032,2027,2023,42,444,2077,2075,0,2173,2178,2180,2027,2032,2034,42,2076,2075,2077,0,2179,2180,2178,2033,2034,2032,42,2075,2076,443,0,2180,2179,2181,2034,2033,2035,42,2079,2078,360,0,2182,2183,429,2036,2037,423,42,2078,2079,2080,0,2183,2182,2184,2037,2036,2038,42,2080,433,2078,0,2184,1889,2183,2038,1774,2037,42,433,2080,1865,0,1889,2184,1888,1774,2038,1773,42,2073,1865,2080,0,2185,1888,2184,2030,1773,2038,42,1865,2073,432,0,1888,2185,1887,1773,2030,1766,42,304,2080,2079,0,2186,2184,2182,2031,2038,2036,42,2080,304,2073,0,2184,2186,2185,2038,2031,2030,42,2076,2079,2083,0,2187,2182,2188,2033,2036,2039,42,2079,2076,304,0,2182,2187,2186,2036,2033,2031,42,443,2083,2081,0,2189,2188,2190,2035,2039,2040,42,2083,443,2076,0,2188,2189,2187,2039,2035,2033,42,2081,2082,442,0,2190,2191,455,2040,2041,449,42,2082,2081,2083,0,2191,2190,2188,2041,2040,2039,42,2083,360,2082,0,2188,429,2191,2039,423,2041,42,360,2083,2079,0,429,2188,2182,423,2039,2036,42,2086,2084,306,0,2192,2193,2194,2042,2043,2044,42,2084,2086,2087,0,2193,2192,2195,2043,2042,2045,42,2085,2084,2087,0,2196,2193,2195,2046,2043,2045,42,2084,2085,362,0,2193,2196,2197,2043,2046,2047,42,856,2085,2087,0,425,2196,2195,419,2046,2045,42,2085,856,361,0,2196,425,427,2046,419,421,42,305,2087,2086,0,431,2195,2192,425,2045,2042,42,2087,305,856,0,2195,431,425,2045,425,419,42,2089,2088,365,0,2198,2199,2200,2048,2049,2050,42,2088,2089,2090,0,2199,2198,2201,2049,2048,2051,42,2090,306,2088,0,2201,2194,2199,2051,2044,2049,42,306,2090,2086,0,2194,2201,2192,2044,2051,2042,42,859,2086,2090,0,433,2192,2201,427,2042,2051,42,2086,859,305,0,2192,433,431,2042,427,425,42,367,2090,2089,0,435,2201,2198,429,2051,2048,42,2090,367,859,0,2201,435,433,2051,429,427,42,2093,2084,362,0,2202,2193,2197,2052,2043,2047,42,2093,362,2092,0,2202,2197,2203,2052,2047,2053,42,2091,306,2084,0,2204,2194,2193,2054,2044,2043,42,2091,2084,2093,0,2204,2193,2202,2054,2043,2052,42,307,2091,2093,0,437,2204,2202,431,2054,2052,42,307,2093,863,0,437,2202,439,431,2052,433,42,863,2093,2092,0,439,2202,2203,433,2052,2053,42,863,2092,363,0,439,2203,442,433,2053,436,42,2094,2088,2095,0,2205,2199,2206,2055,2049,2056,42,2088,2094,365,0,2199,2205,2200,2049,2055,2050,42,366,2095,866,0,446,2206,444,440,2056,438,42,2095,366,2094,0,2206,446,2205,2056,440,2055,42,866,2091,307,0,444,2204,437,438,2054,431,42,2091,866,2095,0,2204,444,2206,2054,438,2056,42,2095,306,2091,0,2206,2194,2204,2056,2044,2054,42,306,2095,2088,0,2194,2206,2199,2044,2056,2049,42,2098,1837,429,0,2207,1844,1845,2057,1736,1737,42,1837,2098,2099,0,1844,2207,2208,1736,2057,2058,42,2099,428,1837,0,2208,1843,1844,2058,1735,1736,42,428,2099,2096,0,1843,2208,2209,1735,2058,2059,42,2097,2096,2099,0,2210,2209,2208,2060,2059,2058,42,2096,2097,334,0,2209,2210,2211,2059,2060,2061,42,308,2099,2098,0,2212,2208,2207,2062,2058,2057,42,2099,308,2097,0,2208,2212,2210,2058,2062,2060,42,2100,2102,2103,0,2213,2214,2215,2063,2064,2065,42,2102,2100,437,0,2214,2213,2216,2064,2063,2066,42,436,2103,2101,0,2217,2215,2218,2067,2065,2068,42,2103,436,2100,0,2215,2217,2213,2065,2067,2063,42,2101,2097,308,0,2218,2210,2212,2068,2060,2062,42,2097,2101,2103,0,2210,2218,2215,2060,2068,2065,42,2103,334,2097,0,2215,2211,2210,2065,2061,2060,42,334,2103,2102,0,2211,2215,2214,2061,2065,2064,42,2104,2098,2105,0,2219,2207,2220,2069,2057,2070,42,2098,2104,308,0,2207,2219,2212,2057,2069,2062,42,434,2105,2064,0,2165,2220,2164,2019,2070,2018,42,2105,434,2104,0,2220,2165,2219,2070,2019,2069,42,2064,1846,430,0,2164,1859,1860,2018,1749,1750,42,1846,2064,2105,0,1859,2164,2220,1749,2018,2070,42,2105,429,1846,0,2220,1845,1859,2070,1737,1749,42,429,2105,2098,0,1845,2220,2207,1737,2070,2057,42,2068,2104,434,0,2170,2219,2165,2024,2069,2019,42,2104,2068,2107,0,2219,2170,2221,2069,2024,2071,42,2107,308,2104,0,2221,2212,2219,2071,2062,2069,42,308,2107,2101,0,2212,2221,2218,2062,2071,2068,42,2106,2101,2107,0,2222,2218,2221,2072,2068,2071,42,2101,2106,436,0,2218,2222,2217,2068,2072,2067,42,435,2107,2068,0,2172,2221,2170,2026,2071,2024,42,2107,435,2106,0,2221,2172,2222,2071,2026,2072,42,2108,879,2111,0,2223,464,2224,2073,458,2074,42,879,2108,439,0,464,2223,465,458,2073,459,42,2111,440,2108,0,2224,2225,2223,2074,2075,2073,42,440,2111,2109,0,2225,2224,2226,2075,2074,2076,42,2110,2109,2111,0,2227,2226,2224,2077,2076,2074,42,2109,2110,309,0,2226,2227,451,2076,2077,445,42,311,2111,879,0,469,2224,464,463,2074,458,42,2111,311,2110,0,2224,469,2227,2074,463,2077,42,2113,440,2109,0,2228,2225,2226,2078,2075,2076,42,2113,2112,440,0,2228,2229,2225,2078,2079,2075,42,873,441,2112,0,458,459,2229,452,453,2079,42,2112,2113,873,0,2229,2228,458,2079,2078,452,42,310,873,2113,0,453,458,2228,447,452,2078,42,2113,869,310,0,2228,452,453,2078,446,447,42,869,2109,309,0,452,2226,451,446,2076,445,42,2109,869,2113,0,2226,452,2228,2076,446,2078,42,2114,868,2115,0,2230,447,2231,2080,441,2081,42,868,2114,318,0,447,2230,448,441,2080,442,42,317,2115,883,0,474,2231,473,468,2081,467,42,2115,317,2114,0,2231,474,2230,2081,468,2080,42,883,2110,311,0,473,2227,469,467,2077,463,42,2110,883,2115,0,2227,473,2231,2077,467,2081,42,309,2115,868,0,451,2231,447,445,2081,441,42,2115,309,2110,0,2231,451,2227,2081,445,2077,42,2116,2081,2117,0,2232,2190,2233,2082,2040,2083,42,2081,2116,443,0,2190,2232,2189,2040,2082,2035,42,316,2117,877,0,463,2233,461,457,2083,455,42,2117,316,2116,0,2233,463,2232,2083,457,2082,42,877,872,310,0,461,454,453,455,448,447,42,872,877,2117,0,454,461,2233,448,455,2083,42,2117,442,872,0,2233,455,454,2083,449,448,42,442,2117,2081,0,455,2233,2190,449,2083,2040,42,885,880,2120,0,472,468,2234,466,462,2084,42,880,885,311,0,468,472,469,462,466,463,42,312,2120,2118,0,476,2234,2235,470,2084,2085,42,2120,312,885,0,2234,476,472,2084,470,466,42,2118,2119,437,0,2235,2236,2237,2085,2086,2066,42,2119,2118,2120,0,2236,2235,2234,2086,2085,2084,42,2120,438,2119,0,2234,470,2236,2084,464,2086,42,438,2120,880,0,470,2234,468,464,2084,462,42,2121,2100,436,0,2238,2213,2217,2087,2063,2067,42,2100,2121,2122,0,2213,2238,2239,2063,2087,2088,42,2122,437,2100,0,2239,2216,2213,2088,2066,2063,42,437,2122,2118,0,2216,2239,2240,2066,2088,2085,42,2118,888,312,0,2240,480,478,2085,472,470,42,888,2118,2122,0,480,2240,2239,472,2085,2088,42,2122,313,888,0,2239,483,480,2088,474,472,42,313,2122,2121,0,483,2239,2238,474,2088,2087,42,2123,2106,435,0,2241,2222,2172,2089,2072,2026,42,2106,2123,2124,0,2222,2241,2242,2072,2089,2090,42,2124,436,2106,0,2242,2217,2222,2090,2067,2072,42,436,2124,2121,0,2217,2242,2238,2067,2090,2087,42,891,2121,2124,0,485,2238,2242,476,2087,2090,42,2121,891,313,0,2238,485,483,2087,476,474,42,2124,314,891,0,2242,487,485,2090,478,476,42,314,2124,2123,0,487,2242,2241,478,2090,2089,42,2126,2069,444,0,2243,2171,2173,2091,2025,2027,42,2069,2126,2127,0,2171,2243,2244,2025,2091,2092,42,2127,435,2069,0,2244,2172,2171,2092,2026,2025,42,435,2127,2123,0,2172,2244,2241,2026,2092,2089,42,2123,2125,314,0,2241,2245,487,2089,2093,478,42,2125,2123,2127,0,2245,2241,2244,2093,2089,2092,42,2127,315,2125,0,2244,489,2245,2092,480,2093,42,315,2127,2126,0,489,2244,2243,480,2092,2091,42,2130,2128,378,0,2246,2247,2248,2094,2095,2096,42,2128,2130,2131,0,2247,2246,2249,2095,2094,2097,42,2131,377,2128,0,2249,508,2247,2097,496,2095,42,377,2131,905,0,508,2249,506,496,2097,494,42,324,2131,2129,0,512,2249,2250,500,2097,2098,42,2131,324,905,0,2249,512,506,2097,500,494,42,2129,2130,319,0,2250,2246,2251,2098,2094,2099,42,2130,2129,2131,0,2246,2250,2249,2094,2098,2097,42,898,2132,379,0,498,2252,501,486,2100,489,42,2132,898,2134,0,2252,498,2253,2100,486,2101,42,2134,378,2132,0,2253,2248,2252,2101,2096,2100,42,378,2134,2130,0,2248,2253,2246,2096,2101,2094,42,2133,2130,2134,0,2254,2246,2253,2102,2094,2101,42,2130,2133,319,0,2246,2254,2251,2094,2102,2099,42,320,2134,898,0,496,2253,498,484,2101,486,42,2134,320,2133,0,2253,496,2254,2101,484,2102,42,2135,2136,2137,0,2255,2256,2257,2103,2104,2105,42,2136,2135,382,0,2256,2255,2258,2104,2103,2106,42,381,2137,901,0,505,2257,503,493,2105,491,42,2137,381,2135,0,2257,505,2255,2105,493,2103,42,901,2133,320,0,503,2254,496,491,2102,484,42,2133,901,2137,0,2254,503,2257,2102,491,2105,42,2137,319,2133,0,2257,2251,2254,2105,2099,2102,42,319,2137,2136,0,2251,2257,2256,2099,2105,2104,42,2138,2136,382,0,2259,2256,2258,2107,2104,2106,42,2136,2138,2139,0,2256,2259,2260,2104,2107,2108,42,2139,319,2136,0,2260,2251,2256,2108,2099,2104,42,319,2139,2129,0,2251,2260,2250,2099,2108,2098,42,908,2129,2139,0,514,2250,2260,502,2098,2108,42,2129,908,324,0,2250,514,512,2098,502,500,42,383,2139,2138,0,516,2260,2259,504,2108,2107,42,2139,383,908,0,2260,516,514,2108,504,502,42,2142,1800,401,0,2261,1786,1788,2109,1686,1680,42,1800,2142,2143,0,1786,2261,2262,1686,2109,2110,42,2143,400,1800,0,2262,1787,1786,2110,1687,1686,42,400,2143,2140,0,1787,2262,2263,1687,2110,2111,42,2141,2140,2143,0,2264,2263,2262,2112,2111,2110,42,2140,2141,380,0,2263,2264,499,2111,2112,487,42,321,2143,2142,0,2265,2262,2261,2113,2110,2109,42,2143,321,2141,0,2262,2265,2264,2110,2113,2112,42,2145,1794,402,0,2266,1776,1768,2114,1679,1671,42,1794,2145,2146,0,1776,2266,2267,1679,2114,2115,42,2146,401,1794,0,2267,1777,1776,2115,1680,1679,42,401,2146,2142,0,1777,2267,2268,1680,2115,2109,42,2144,2142,2146,0,2269,2268,2267,2116,2109,2115,42,2142,2144,321,0,2268,2269,2270,2109,2116,2113,42,322,2146,2145,0,2271,2267,2266,2117,2115,2114,42,2146,322,2144,0,2267,2271,2269,2115,2117,2116,42,2149,2141,321,0,2272,2264,2265,2118,2112,2113,42,2141,2149,2150,0,2264,2272,2273,2112,2118,2119,42,2150,380,2141,0,2273,499,2264,2119,487,2112,42,380,2150,2147,0,499,2273,2274,487,2119,2120,42,2148,2147,2150,0,2275,2274,2273,2121,2120,2119,42,2147,2148,386,0,2274,2275,540,2120,2121,528,42,387,2150,2149,0,2276,2273,2272,2122,2119,2118,42,2150,387,2148,0,2273,2276,2275,2119,2122,2121,42,2152,2144,322,0,2277,2269,2271,2123,2116,2117,42,2144,2152,2153,0,2269,2277,2278,2116,2123,2124,42,2153,321,2144,0,2278,2270,2269,2124,2113,2116,42,321,2153,2149,0,2270,2278,2279,2113,2124,2118,42,2151,2149,2153,0,2280,2279,2278,2125,2118,2124,42,2149,2151,387,0,2279,2280,2281,2118,2125,2122,42,388,2153,2152,0,2282,2278,2277,2126,2124,2123,42,2153,388,2151,0,2278,2282,2280,2124,2126,2125,42,2154,2145,2156,0,2283,2266,2284,2127,2114,2128,42,2145,2154,322,0,2266,2283,2271,2114,2127,2117,42,393,2154,2155,0,2285,2283,2286,2129,2127,2130,42,2154,2156,2155,0,2283,2284,2286,2127,2128,2130,42,2155,2156,394,0,2286,2284,1759,2130,2128,1663,42,2156,1788,394,0,2284,1769,1759,2128,1672,1663,42,1788,2156,2145,0,1769,2284,2266,1672,2128,2114,42,2145,402,1788,0,2266,1768,1769,2114,1671,1672,42,2159,393,2158,0,2287,2285,2288,2131,2129,2132,42,393,2159,2154,0,2285,2287,2283,2129,2131,2127,42,2159,322,2154,0,2287,2271,2283,2131,2117,2127,42,322,2159,2152,0,2271,2287,2277,2117,2131,2123,42,2157,2152,2159,0,2289,2277,2287,2133,2123,2131,42,2152,2157,388,0,2277,2289,2282,2123,2133,2126,42,389,2159,2158,0,2290,2287,2288,2134,2131,2132,42,2159,389,2157,0,2287,2290,2289,2131,2134,2133,42,2155,1782,2162,0,2286,1760,2291,2130,1664,2135,42,1782,2155,394,0,1760,2286,1759,1664,2130,1663,42,393,2162,2160,0,2285,2291,2292,2129,2135,2136,42,2162,393,2155,0,2291,2285,2286,2135,2129,2130,42,2160,2161,323,0,2292,2293,2294,2136,2137,2138,42,2161,2160,2162,0,2293,2292,2291,2137,2136,2135,42,2162,395,2161,0,2291,1761,2293,2135,1658,2137,42,395,2162,1782,0,1761,2291,1760,1658,2135,1664,42,2158,2160,2165,0,2288,2292,2295,2132,2136,2139,42,2160,2158,393,0,2292,2288,2285,2136,2132,2129,42,389,2165,2163,0,2290,2295,2296,2134,2139,2140,42,2165,389,2158,0,2295,2290,2288,2139,2134,2132,42,2163,2164,390,0,2296,2297,2298,2140,2141,2142,42,2164,2163,2165,0,2297,2296,2295,2141,2140,2139,42,2165,323,2164,0,2295,2294,2297,2139,2138,2141,42,323,2165,2160,0,2294,2295,2292,2138,2139,2136,42,2161,1778,2168,0,2299,1754,2300,2137,1659,2143,42,1778,2161,395,0,1754,2299,1753,1659,2137,1658,42,323,2168,2166,0,2301,2300,2302,2138,2143,2144,42,2168,323,2161,0,2300,2301,2299,2143,2138,2137,42,2166,2167,376,0,2302,2303,510,2144,2145,498,42,2167,2166,2168,0,2303,2302,2300,2145,2144,2143,42,2168,396,2167,0,2300,1755,2303,2143,1660,2145,42,396,2168,1778,0,1755,2300,1754,1660,2143,1659,42,2170,2169,391,0,2304,2305,525,2146,2147,513,42,2169,2170,2171,0,2305,2304,2306,2147,2146,2148,42,2171,376,2169,0,2306,510,2305,2148,498,2147,42,376,2171,2166,0,510,2306,2302,498,2148,2144,42,2164,2166,2171,0,2307,2302,2306,2141,2144,2148,42,2166,2164,323,0,2302,2307,2301,2144,2141,2138,42,390,2171,2170,0,2308,2306,2304,2142,2148,2146,42,2171,390,2164,0,2306,2308,2307,2148,2142,2141,42,911,2172,327,0,522,2309,521,510,2149,509,42,2172,911,2174,0,2309,522,2310,2149,510,2150,42,2174,384,2172,0,2310,2311,2309,2150,2151,2149,42,384,2174,2173,0,2311,2310,2312,2151,2150,2152,42,915,2173,2174,0,528,2312,2310,516,2152,2150,42,2173,915,392,0,2312,528,529,2152,516,517,42,325,2174,911,0,523,2310,522,511,2150,510,42,2174,325,915,0,2310,523,528,2150,511,516,42,2175,2170,2176,0,2313,2304,2314,2153,2146,2154,42,2170,2175,390,0,2304,2313,2308,2146,2153,2142,42,331,2176,918,0,533,2314,530,521,2154,518,42,2176,331,2175,0,2314,533,2313,2154,521,2153,42,325,918,2176,0,523,530,2314,511,518,2154,42,325,2176,914,0,523,2314,524,511,2154,512,42,2176,2170,914,0,2314,2304,524,2154,2146,512,42,914,2170,391,0,524,2304,525,512,2146,513,42,927,922,2178,0,543,538,2315,531,526,2155,42,922,927,326,0,538,543,539,526,531,527,42,328,2178,2177,0,546,2315,2316,534,2155,2156,42,2178,328,927,0,2315,546,543,2155,534,531,42,2177,2148,387,0,2316,2275,2276,2156,2121,2122,42,2148,2177,2178,0,2275,2316,2315,2121,2156,2155,42,2148,2178,922,0,2275,2315,538,2121,2155,526,42,922,386,2148,0,538,540,2275,526,528,2121,42,2179,2172,2181,0,2317,2309,2318,2157,2149,2158,42,2172,2179,327,0,2309,2317,521,2149,2157,509,42,326,2181,921,0,539,2318,534,527,2158,522,42,2181,326,2179,0,2318,539,2317,2158,527,2157,42,921,2180,385,0,534,2319,535,522,2159,523,42,2180,921,2181,0,2319,534,2318,2159,522,2158,42,2181,384,2180,0,2318,2311,2319,2158,2151,2159,42,384,2181,2172,0,2311,2318,2309,2151,2158,2149,42,2179,925,2183,0,2317,542,2320,2157,530,2160,42,925,2179,326,0,542,2317,539,530,2157,527,42,327,2183,910,0,521,2320,517,509,2160,505,42,2183,327,2179,0,2320,521,2317,2160,509,2157,42,2182,910,2183,0,2321,517,2320,2161,505,2160,42,910,2182,333,0,517,2321,518,505,2161,506,42,332,2183,925,0,544,2320,542,532,2160,530,42,2183,332,2182,0,2320,544,2321,2160,532,2161,42,2177,387,2185,0,2322,2281,2323,2156,2122,2162,42,387,2151,2185,0,2281,2280,2323,2122,2125,2162,42,328,2177,930,0,548,2322,550,534,2156,536,42,2177,2185,930,0,2322,2323,550,2156,2162,536,42,930,2184,329,0,550,2324,553,536,2163,538,42,2184,930,2185,0,2324,550,2323,2163,536,2162,42,2185,388,2184,0,2323,2282,2324,2162,2126,2163,42,388,2185,2151,0,2282,2323,2280,2126,2162,2125,42,2188,389,2187,0,2325,2290,2326,2164,2134,2165,42,389,2188,2157,0,2290,2325,2289,2134,2164,2133,42,2184,2157,2188,0,2324,2289,2325,2163,2133,2164,42,2157,2184,388,0,2289,2324,2282,2133,2163,2126,42,329,2188,2186,0,553,2325,2327,538,2164,2166,42,2188,329,2184,0,2325,553,2324,2164,538,2163,42,2186,2187,330,0,2327,2326,556,2166,2165,541,42,2187,2186,2188,0,2326,2327,2325,2165,2166,2164,42,2190,2191,334,0,2328,2329,2330,2167,2168,2061,42,334,2191,2096,0,2330,2329,2331,2061,2168,2059,42,2191,1841,2096,0,2329,1847,2331,2168,1739,2059,42,2096,1841,428,0,2331,1847,1849,2059,1739,1735,42,2189,427,2191,0,2332,1852,2329,2169,1742,2168,42,2191,427,1841,0,2329,1852,1847,2168,1742,1739,42,364,2189,2190,0,440,2332,2328,434,2169,2167,42,2190,2189,2191,0,2328,2332,2329,2167,2169,2168,42,2192,364,2193,0,2333,440,2334,2170,434,2171,42,2193,364,2190,0,2334,440,2328,2171,434,2167,42,438,2192,2119,0,470,2333,2236,464,2170,2086,42,2119,2192,2193,0,2236,2333,2334,2086,2170,2171,42,2119,2193,437,0,2236,2334,2237,2086,2171,2066,42,437,2193,2102,0,2237,2334,2335,2066,2171,2064,42,2193,2190,2102,0,2334,2328,2335,2171,2167,2064,42,2102,2190,334,0,2335,2328,2330,2064,2167,2061,42,765,1885,335,0,281,1913,276,281,1795,276,42,1885,765,2196,0,1913,281,2336,1795,281,2172,42,464,2196,2194,0,1918,2336,2337,1798,2172,2173,42,2196,464,1885,0,2336,1918,1913,2172,1798,1795,42,2194,2195,465,0,2337,2338,2339,2173,2174,2175,42,2195,2194,2196,0,2338,2337,2336,2174,2173,2172,42,2196,336,2195,0,2336,282,2338,2172,282,2174,42,336,2196,765,0,282,2336,281,282,2172,281,42,2195,1653,2199,0,2338,1577,2340,2174,1502,2176,42,1653,2195,336,0,1577,2338,282,1502,2174,282,42,465,2199,2197,0,2339,2340,2341,2175,2176,2177,42,2199,465,2195,0,2340,2339,2338,2176,2175,2174,42,456,2197,2199,0,2342,2341,2340,2178,2177,2176,42,456,2199,2198,0,2342,2340,2343,2178,2176,2179,42,2198,2199,1653,0,2343,2340,1577,2179,2176,1502,42,2198,1653,455,0,2343,1577,1578,2179,1502,1503,42,1813,1656,337,0,1805,1581,293,1704,1506,293,42,1656,1813,2201,0,1581,1805,2344,1506,1704,2180,42,2201,455,1656,0,2344,1578,1581,2180,1503,1506,42,455,2201,2198,0,1578,2344,2343,1503,2180,2179,42,2200,2198,2201,0,2345,2343,2344,2181,2179,2180,42,2198,2200,456,0,2343,2345,2342,2179,2181,2178,42,457,2201,1813,0,1807,2344,1805,1706,2180,1704,42,2201,457,2200,0,2344,1807,2345,2180,1706,2181,42,1961,803,466,0,2021,341,342,1893,341,342,42,803,1961,2203,0,341,2021,2346,341,1893,2182,42,338,2203,2202,0,339,2346,2347,339,2182,2183,42,2203,338,803,0,2346,339,341,2182,339,341,42,465,2202,2203,0,2339,2347,2346,2175,2183,2182,42,2203,2194,465,0,2346,2337,2339,2182,2173,2175,42,464,2203,1961,0,1918,2346,2021,1798,2182,1893,42,2203,464,2194,0,2346,1918,2337,2182,1798,2173,42,2205,1918,338,0,2348,1959,339,2184,1835,339,42,338,2202,2205,0,339,2347,2348,339,2183,2184,42,339,1918,2204,0,1964,1959,2349,1840,1835,2185,42,1918,2205,2204,0,1959,2348,2349,1835,2184,2185,42,2204,2205,456,0,2349,2348,2342,2185,2184,2178,42,2205,2197,456,0,2348,2341,2342,2184,2177,2178,42,2197,2205,2202,0,2341,2348,2347,2177,2184,2183,42,2202,465,2197,0,2347,2339,2341,2183,2175,2177,42,1963,466,807,0,2026,342,347,1896,342,347,42,807,2207,1963,0,347,2350,2026,347,2186,1896,42,2207,467,1963,0,2350,352,2026,2186,352,1896,42,467,2207,812,0,352,2350,350,352,2186,350,42,2206,812,2207,0,2351,350,2350,2187,350,2186,42,812,2206,476,0,350,2351,355,350,2187,355,42,2207,341,2206,0,2350,348,2351,2186,348,2187,42,341,2207,807,0,348,2350,347,348,2186,347,42,1970,2208,475,0,2038,2352,2035,1906,2188,1903,42,2208,1970,2209,0,2352,2038,2353,2188,1906,2189,42,2209,342,2208,0,2353,1971,2352,2189,1847,2188,42,342,2209,1926,0,1971,2353,1973,1847,2189,1849,42,1926,2206,341,0,1973,2351,348,1849,2187,348,42,2206,1926,2209,0,2351,1973,2353,2187,1849,2189,42,476,2209,1970,0,355,2353,2038,355,2189,1906,42,2209,476,2206,0,2353,355,2351,2189,355,2187,42,775,1907,2211,0,297,1944,2354,297,1824,2190,42,1907,775,346,0,1944,297,298,1824,297,298,42,344,2211,2210,0,295,2354,2355,295,2190,2191,42,2211,344,775,0,2354,295,297,2190,295,297,42,2210,1516,484,0,2355,1379,1377,2191,1321,1319,42,1516,2210,2211,0,1379,2355,2354,1321,2191,2190,42,2211,483,1516,0,2354,1380,1379,2190,1322,1321,42,483,2211,1907,0,1380,2354,1944,1322,2190,1824,42,1659,2210,2212,0,1584,2355,2356,1509,2191,2192,42,2210,1659,344,0,2355,1584,295,2191,1509,295,42,345,2212,1756,0,227,2356,1720,227,2192,1629,42,2212,345,1659,0,2356,227,1584,2192,227,1509,42,1756,1514,477,0,1720,1376,1358,1629,1318,1300,42,1514,1756,2212,0,1376,1720,2356,1318,1629,2192,42,2212,484,1514,0,2356,1377,1376,2192,1319,1318,42,484,2212,2210,0,1377,2356,2355,1319,2192,2191,42,779,1910,346,0,303,1949,298,303,1827,298,42,1910,779,2215,0,1949,303,2357,1827,303,2193,42,492,2215,2213,0,1954,2357,2358,1830,2193,2194,42,2215,492,1910,0,2357,1954,1949,2193,1830,1827,42,2213,2214,493,0,2358,2359,2360,2194,2195,2196,42,2214,2213,2215,0,2359,2358,2357,2195,2194,2193,42,2215,347,2214,0,2357,304,2359,2193,304,2195,42,347,2215,779,0,304,2357,303,304,2193,303,42,2214,1661,2217,0,2359,1585,2361,2195,1510,2197,42,1661,2214,347,0,1585,2359,304,1510,2195,304,42,493,2217,2216,0,2360,2361,2362,2196,2197,2198,42,2217,493,2214,0,2361,2360,2359,2197,2196,2195,42,486,2216,2217,0,1734,2362,2361,1643,2198,2197,42,486,2217,1765,0,1734,2361,1732,1643,2197,1641,42,1765,2217,1661,0,1732,2361,1585,1641,2197,1510,42,1765,1661,485,0,1732,1585,231,1641,1510,231,42,2028,828,348,0,2111,386,387,1974,380,381,42,828,2028,2219,0,386,2111,2363,380,1974,2199,42,349,2219,2218,0,384,2363,2364,378,2199,2200,42,2219,349,828,0,2363,384,386,2199,378,380,42,2218,2213,493,0,2364,2358,2360,2200,2194,2196,42,2213,2218,2219,0,2358,2364,2363,2194,2200,2199,42,2219,492,2213,0,2363,1954,2358,2199,1830,2194,42,492,2219,2028,0,1954,2363,2111,1830,2199,1974,42,2031,832,2221,0,2112,392,2365,1975,386,2201,42,832,2031,348,0,392,2112,387,386,1975,381,42,502,2221,2038,0,2117,2365,2128,1978,2201,1989,42,2221,502,2031,0,2365,2117,2112,2201,1978,1975,42,2038,2220,495,0,2128,2366,2122,1989,2202,1983,42,2220,2038,2221,0,2366,2128,2365,2202,1989,2201,42,2221,494,2220,0,2365,393,2366,2201,387,2202,42,494,2221,832,0,393,2365,392,387,2201,386,42,1997,2223,350,0,2068,2367,400,1933,2203,394,42,350,2223,2222,0,400,2367,2368,394,2203,2204,42,2223,2216,2222,0,2367,2362,2368,2203,2198,2204,42,2222,2216,486,0,2368,2362,1734,2204,2198,1643,42,2218,493,2223,0,2364,2360,2367,2200,2196,2203,42,2223,493,2216,0,2367,2360,2362,2203,2196,2198,42,1997,349,2218,0,2068,384,2364,1933,378,2200,42,1997,2218,2223,0,2068,2364,2367,1933,2200,2203,42,2005,839,351,0,2079,401,398,1944,395,392,42,839,2005,2225,0,401,2079,2369,395,1944,2205,42,2225,352,839,0,2369,404,401,2205,398,395,42,352,2225,2224,0,404,2369,2370,398,2205,2206,42,2048,2224,2225,0,2143,2370,2369,2e3,2206,2205,42,2224,2048,496,0,2370,2143,2120,2206,2e3,1981,42,497,2225,2005,0,2081,2369,2079,1946,2205,1944,42,2225,497,2048,0,2369,2081,2143,2205,1946,2e3,42,2226,2220,494,0,2371,2366,393,2207,2202,387,42,2226,494,1999,0,2371,393,2071,2207,387,1936,42,2033,495,2220,0,2119,2122,2366,1980,1983,2202,42,2033,2220,2226,0,2119,2366,2371,1980,2202,2207,42,496,2033,2226,0,2120,2119,2371,1981,1980,2207,42,2226,2224,496,0,2371,2370,2120,2207,2206,1981,42,2224,2226,1999,0,2370,2371,2071,2206,2207,1936,42,2224,1999,352,0,2370,2071,404,2206,1936,398,42,1829,755,2228,0,1832,266,2372,1726,266,2208,42,755,1829,353,0,266,1832,265,266,1726,265,42,2228,417,1829,0,2372,1419,1832,2208,1361,1726,42,417,2228,1544,0,1419,2372,1418,1361,2208,1360,42,2227,1544,2228,0,2373,1418,2372,2209,1360,2208,42,1544,2227,416,0,1418,2373,1411,1360,2209,1353,42,354,2228,755,0,267,2372,266,267,2208,266,42,2228,354,2227,0,2372,267,2373,2208,267,2209,42,1840,758,353,0,1851,268,265,1741,268,265,42,758,1840,2231,0,268,1851,2374,268,1741,2210,42,2231,359,758,0,2374,271,268,2210,271,268,42,359,2231,2229,0,271,2374,2375,271,2210,2211,42,2230,2229,2231,0,2376,2375,2374,2212,2211,2210,42,2229,2230,426,0,2375,2376,2377,2211,2212,2213,42,427,2231,1840,0,1852,2374,1851,1742,2210,1741,42,2231,427,2230,0,2374,1852,2376,2210,1742,2212,42,1636,2227,354,0,1553,2373,267,1478,2209,267,42,2227,1636,2233,0,2373,1553,2378,2209,1478,2214,42,2233,416,2227,0,2378,1411,2373,2214,1353,2209,42,416,2233,1538,0,1411,2378,1410,1353,2214,1352,42,2232,1538,2233,0,2379,1410,2378,2215,1352,2214,42,1538,2232,415,0,1410,2379,1409,1352,2215,1351,42,355,2233,1636,0,1555,2378,1553,1480,2214,1478,42,2233,355,2232,0,2378,1555,2379,2214,1480,2215,42,1638,2234,2235,0,1559,2380,2381,1484,2216,2217,42,2234,1638,356,0,2380,1559,251,2216,1484,251,42,355,1638,2232,0,1555,1559,2379,1480,1484,2215,42,1638,2235,2232,0,1559,2381,2379,1484,2217,2215,42,2232,2235,415,0,2379,2381,1409,2215,2217,1351,42,2235,1541,415,0,2381,1412,1409,2217,1354,1351,42,2235,414,1541,0,2381,1413,1412,2217,1355,1354,42,414,2235,2234,0,1413,2381,2380,1355,2217,2216,42,751,1866,357,0,259,1885,254,259,1772,254,42,1866,751,2238,0,1885,259,2382,1772,259,2218,42,433,2238,2236,0,1889,2382,2383,1774,2218,2219,42,2238,433,1866,0,2382,1889,1885,2218,1774,1772,42,2236,2237,424,0,2383,2384,2385,2219,2220,2221,42,2237,2236,2238,0,2384,2383,2382,2220,2219,2218,42,2238,423,2237,0,2382,260,2384,2218,260,2220,42,423,2238,751,0,260,2382,259,260,2218,259,42,2237,1641,2241,0,2384,1563,2386,2220,1488,2222,42,1641,2237,423,0,1563,2384,260,1488,2220,260,42,424,2241,2239,0,2385,2386,2387,2221,2222,2223,42,2241,424,2237,0,2386,2385,2384,2222,2221,2220,42,425,2239,2241,0,2388,2387,2386,2224,2223,2222,42,425,2241,2240,0,2388,2386,2389,2224,2222,2225,42,2241,358,2240,0,2386,1564,2389,2222,1489,2225,42,358,2241,1641,0,1564,2386,1563,1489,2222,1488,42,2242,2243,426,0,2390,2391,2377,2226,2227,2213,42,426,2243,2229,0,2377,2391,2375,2213,2227,2211,42,2243,1644,2229,0,2391,1565,2375,2227,1490,2211,42,2229,1644,359,0,2375,1565,271,2211,1490,271,42,2240,358,2243,0,2389,1564,2391,2225,1489,2227,42,2243,358,1644,0,2391,1564,1565,2227,1489,1490,42,425,2240,2242,0,2388,2389,2390,2224,2225,2226,42,2242,2240,2243,0,2390,2389,2391,2226,2225,2227,42,2078,854,360,0,2183,426,429,2037,420,423,42,854,2078,2245,0,426,2183,2392,420,2037,2228,42,2245,361,854,0,2392,427,426,2228,421,420,42,361,2245,2244,0,427,2392,2393,421,2228,2229,42,2236,2244,2245,0,2383,2393,2392,2219,2229,2228,42,2244,2236,424,0,2393,2383,2385,2229,2219,2221,42,433,2245,2078,0,1889,2392,2183,1774,2228,2037,42,2245,433,2236,0,2392,1889,2383,2228,1774,2219,42,858,2082,360,0,434,2191,429,428,2041,423,42,2082,858,2247,0,2191,434,2394,2041,428,2230,42,442,2247,874,0,455,2394,457,449,2230,451,42,2247,442,2082,0,2394,455,2191,2230,449,2041,42,2246,874,2247,0,2395,457,2394,2231,451,2230,42,874,2246,441,0,457,2395,459,451,2231,453,42,367,2247,858,0,435,2394,434,429,2230,428,42,2247,367,2246,0,2394,435,2395,2230,429,2231,42,2085,2244,2249,0,2196,2393,2396,2046,2229,2232,42,2244,2085,361,0,2393,2196,427,2229,2046,421,42,362,2249,2248,0,2197,2396,2397,2047,2232,2233,42,2249,362,2085,0,2396,2197,2196,2232,2047,2046,42,2248,2239,425,0,2397,2387,2388,2233,2223,2224,42,2239,2248,2249,0,2387,2397,2396,2223,2233,2232,42,2249,2244,2239,0,2396,2393,2387,2232,2229,2223,42,2244,424,2239,0,2393,2385,2387,2229,2221,2223,42,2092,2251,363,0,2203,2398,442,2053,2234,436,42,363,2251,2250,0,442,2398,2399,436,2234,2235,42,2251,2242,2250,0,2398,2390,2399,2234,2226,2235,42,2250,2242,426,0,2399,2390,2377,2235,2226,2213,42,2248,425,2251,0,2397,2388,2398,2233,2224,2234,42,2251,425,2242,0,2398,2388,2390,2234,2224,2226,42,362,2248,2092,0,2197,2397,2203,2047,2233,2053,42,2092,2248,2251,0,2203,2397,2398,2053,2233,2234,42,2192,865,364,0,2333,443,440,2170,437,434,42,865,2192,2253,0,443,2333,2400,437,2170,2236,42,2253,366,865,0,2400,446,443,2236,440,437,42,366,2253,2252,0,446,2400,2401,440,2236,2237,42,881,2252,2253,0,467,2401,2400,461,2237,2236,42,2252,881,439,0,2401,467,465,2237,461,459,42,438,2253,2192,0,470,2400,2333,464,2236,2170,42,2253,438,881,0,2400,470,467,2236,464,461,42,2094,2252,2255,0,2205,2401,2402,2055,2237,2238,42,2252,2094,366,0,2401,2205,446,2237,2055,440,42,2255,365,2094,0,2402,2200,2205,2238,2050,2055,42,365,2255,2254,0,2200,2402,2403,2050,2238,2239,42,2108,2254,2255,0,2223,2403,2402,2073,2239,2238,42,2254,2108,440,0,2403,2223,2225,2239,2073,2075,42,2255,439,2108,0,2402,465,2223,2238,459,2073,42,439,2255,2252,0,465,2402,2401,459,2238,2237,42,789,1772,2257,0,316,1739,2404,316,1646,2240,42,1772,789,375,0,1739,316,320,1646,316,320,42,368,2257,2256,0,319,2404,2405,319,2240,2241,42,2257,368,789,0,2404,319,316,2240,319,316,42,2256,1586,405,0,2405,1474,1473,2241,1416,1415,42,1586,2256,2257,0,1474,2405,2404,1416,2241,2240,42,2257,404,1586,0,2404,1477,1474,2240,1419,1416,42,404,2257,1772,0,1477,2404,1739,1419,2240,1646,42,1663,2256,2259,0,1588,2405,2406,1513,2241,2242,42,2256,1663,368,0,2405,1588,319,2241,1513,319,42,369,2259,2258,0,1589,2406,2407,1514,2242,2243,42,2259,369,1663,0,2406,1589,1588,2242,1514,1513,42,2258,1583,406,0,2407,1470,1468,2243,1412,1410,42,1583,2258,2259,0,1470,2407,2406,1412,2243,2242,42,2259,405,1583,0,2406,1473,1470,2242,1415,1412,42,405,2259,2256,0,1473,2406,2405,1415,2242,2241,42,1668,2260,370,0,1594,2408,311,1519,2244,311,42,2260,1668,2261,0,2408,1594,2409,2244,1519,2245,42,2261,407,2260,0,2409,1457,2408,2245,1399,2244,42,407,2261,1581,0,1457,2409,1469,1399,2245,1411,42,2258,1581,2261,0,2407,1469,2409,2243,1411,2245,42,1581,2258,406,0,1469,2407,1468,1411,2243,1410,42,369,2261,1668,0,1589,2409,1594,1514,2245,1519,42,2261,369,2258,0,2409,1589,2407,2245,1514,2243,42,1799,786,371,0,1785,312,309,1685,312,309,42,786,1799,2264,0,312,1785,2410,312,1685,2246,42,2264,372,786,0,2410,315,312,2246,315,312,42,372,2264,2262,0,315,2410,2411,315,2246,2247,42,2262,2263,399,0,2411,2412,2413,2247,2248,2249,42,2263,2262,2264,0,2412,2411,2410,2248,2247,2246,42,400,2264,1799,0,1787,2410,1785,1687,2246,1685,42,2264,400,2263,0,2410,1787,2412,2246,1687,2248,42,2262,1671,372,0,2411,1598,315,2247,1523,315,42,1671,2262,2267,0,1598,2411,2414,1523,2247,2250,42,2267,373,1671,0,2414,1599,1598,2250,1524,1523,42,373,2267,2265,0,1599,2414,2415,1524,2250,2251,42,2266,2265,2267,0,2416,2415,2414,2252,2251,2250,42,2265,2266,398,0,2415,2416,2417,2251,2252,2253,42,2267,399,2266,0,2414,2413,2416,2250,2249,2252,42,399,2267,2262,0,2413,2414,2411,2249,2250,2247,42,2268,1673,2270,0,2418,1600,2419,2254,1525,2255,42,1673,2268,374,0,1600,2418,326,1525,2254,326,42,397,2270,2269,0,2420,2419,2421,2256,2255,2257,42,2270,397,2268,0,2419,2420,2418,2255,2256,2254,42,2269,2265,398,0,2421,2415,2417,2257,2251,2253,42,2265,2269,2270,0,2415,2421,2419,2251,2257,2255,42,2270,373,2265,0,2419,1599,2415,2255,1524,2251,42,373,2270,1673,0,1599,2419,1600,1524,2255,1525,42,793,1779,375,0,325,1751,320,325,1656,320,42,1779,793,2272,0,1751,325,2422,1656,325,2258,42,396,2272,2271,0,1755,2422,2423,1660,2258,2259,42,2272,396,1779,0,2422,1755,1751,2258,1660,1656,42,2271,2268,397,0,2423,2418,2420,2259,2254,2256,42,2268,2271,2272,0,2418,2423,2422,2254,2259,2258,42,2272,374,2268,0,2422,326,2418,2258,326,2254,42,374,2272,793,0,326,2422,325,326,2258,325,42,2167,903,376,0,2303,507,510,2145,495,498,42,903,2167,2274,0,507,2303,2424,495,2145,2260,42,377,2274,2273,0,508,2424,2425,496,2260,2261,42,2274,377,903,0,2424,508,507,2260,496,495,42,2273,2271,397,0,2425,2423,2420,2261,2259,2256,42,2271,2273,2274,0,2423,2425,2424,2259,2261,2260,42,2274,396,2271,0,2424,1755,2423,2260,1660,2259,42,396,2274,2167,0,1755,2424,2303,1660,2260,2145,42,907,2169,376,0,515,2305,510,503,2147,498,42,2169,907,2276,0,2305,515,2426,2147,503,2262,42,391,2276,916,0,525,2426,527,513,2262,515,42,2276,391,2169,0,2426,525,2305,2262,513,2147,42,916,2275,392,0,527,2427,529,515,2263,517,42,2275,916,2276,0,2427,527,2426,2263,515,2262,42,2276,383,2275,0,2426,516,2427,2262,504,2263,42,383,2276,907,0,516,2426,515,504,2262,503,42,2128,2273,2278,0,2247,2425,2428,2095,2261,2264,42,2273,2128,377,0,2425,2247,508,2261,2095,496,42,378,2278,2277,0,2248,2428,2429,2096,2264,2265,42,2278,378,2128,0,2428,2248,2247,2264,2096,2095,42,2277,2269,398,0,2429,2421,2417,2265,2257,2253,42,2269,2277,2278,0,2421,2429,2428,2257,2265,2264,42,2269,2278,2273,0,2421,2428,2425,2257,2264,2261,42,2273,397,2269,0,2425,2420,2421,2261,2256,2257,42,2279,2266,399,0,2430,2416,2413,2266,2252,2249,42,2266,2279,2280,0,2416,2430,2431,2252,2266,2267,42,2280,398,2266,0,2431,2417,2416,2267,2253,2252,42,398,2280,2277,0,2417,2431,2429,2253,2267,2265,42,2132,2277,2280,0,2252,2429,2431,2100,2265,2267,42,2277,2132,378,0,2429,2252,2248,2265,2100,2096,42,2132,2279,379,0,2252,2430,501,2100,2266,489,42,2279,2132,2280,0,2430,2252,2431,2266,2100,2267,42,2147,900,380,0,2274,502,499,2120,490,487,42,900,2147,2282,0,502,2274,2432,490,2120,2268,42,2282,381,900,0,2432,505,502,2268,493,490,42,381,2282,2281,0,505,2432,2433,493,2268,2269,42,2281,923,385,0,2433,537,535,2269,525,523,42,923,2281,2282,0,537,2433,2432,525,2269,2268,42,386,2282,2147,0,540,2432,2274,528,2268,2120,42,2282,386,923,0,2432,540,537,2268,528,525,42,2180,2283,2284,0,2319,2434,2435,2159,2270,2271,42,2283,2180,384,0,2434,2319,2311,2270,2159,2151,42,385,2284,2281,0,535,2435,2433,523,2271,2269,42,2284,385,2180,0,2435,535,2319,2271,523,2159,42,2281,2135,381,0,2433,2255,505,2269,2103,493,42,2135,2281,2284,0,2255,2433,2435,2103,2269,2271,42,2284,382,2135,0,2435,2258,2255,2271,2106,2103,42,382,2284,2283,0,2258,2435,2434,2106,2271,2270,42,2287,2285,506,0,2436,2437,2438,2272,2273,2274,42,2285,2287,2288,0,2437,2436,2439,2273,2272,2275,42,2288,504,2285,0,2439,1065,2437,2275,1025,2273,42,504,2288,1300,0,1065,2439,1085,1025,2275,1045,42,2286,1300,2288,0,2440,1085,2439,2276,1045,2275,42,1300,2286,505,0,1085,2440,815,1045,2276,792,42,503,2288,2287,0,2441,2439,2436,2277,2275,2272,42,2288,503,2286,0,2439,2441,2440,2275,2277,2276,42,2289,506,2291,0,2442,2438,2443,2278,2274,2279,42,506,2285,2291,0,2438,2437,2443,2274,2273,2279,42,528,2289,2290,0,2444,2442,2445,2280,2278,2281,42,2289,2291,2290,0,2442,2443,2445,2278,2279,2281,42,2290,2291,527,0,2445,2443,1068,2281,2279,1028,42,2291,1284,527,0,2443,1064,1068,2279,1024,1028,42,2291,2285,1284,0,2443,2437,1064,2279,2273,1024,42,2285,504,1284,0,2437,1065,1064,2273,1025,1024,42,2293,1225,508,0,2446,990,991,2282,950,951,42,1225,2293,2294,0,990,2446,2447,950,2282,2283,42,2294,557,1225,0,2447,868,990,2283,835,950,42,557,2294,2292,0,868,2447,2448,835,2283,2284,42,1578,2292,2294,0,1465,2448,2447,1407,2284,2283,42,2292,1578,559,0,2448,1465,979,2284,1407,941,42,560,2294,2293,0,882,2447,2446,847,2283,2282,42,2294,560,1578,0,2447,882,1465,2283,847,1407,42,1149,2295,561,0,880,2449,879,845,2285,844,42,2295,1149,2296,0,2449,880,2450,2285,845,2286,42,1264,2295,2296,0,1040,2449,2450,1e3,2285,2286,42,2295,1264,535,0,2449,1040,1037,2285,1e3,997,42,2293,508,2296,0,2446,991,2450,2282,951,2286,42,2296,508,1264,0,2450,991,1040,2286,951,1e3,42,2293,1149,560,0,2446,880,882,2282,845,847,42,1149,2293,2296,0,880,2446,2450,845,2282,2286,42,1158,561,2298,0,887,879,2451,852,844,2287,42,561,2295,2298,0,879,2449,2451,844,2285,2287,42,562,1158,2297,0,892,887,2452,857,852,2288,42,1158,2298,2297,0,887,2451,2452,852,2287,2288,42,2297,2298,509,0,2452,2451,1032,2288,2287,992,42,2298,1262,509,0,2451,1038,1032,2287,998,992,42,2298,2295,1262,0,2451,2449,1038,2287,2285,998,42,2295,535,1262,0,2449,1037,1038,2285,997,998,42,1165,562,2300,0,901,892,2453,866,857,2289,42,562,2297,2300,0,892,2452,2453,857,2288,2289,42,563,1165,2299,0,900,901,2454,865,866,2290,42,1165,2300,2299,0,901,2453,2454,866,2289,2290,42,2299,2300,510,0,2454,2453,1029,2290,2289,989,42,2300,1258,510,0,2453,1031,1029,2289,991,989,42,2300,2297,1258,0,2453,2452,1031,2289,2288,991,42,2297,509,1258,0,2452,1032,1031,2288,992,991,42,1174,2302,564,0,912,2455,913,877,2291,878,42,564,2302,2301,0,913,2455,2456,878,2291,2292,42,2302,1256,2301,0,2455,1030,2456,2291,990,2292,42,2301,1256,536,0,2456,1030,1026,2292,990,986,42,2299,1256,2302,0,2454,1030,2455,2290,990,2291,42,1256,2299,510,0,1030,2454,1029,990,2290,989,42,563,2299,1174,0,900,2454,912,865,2290,877,42,1174,2299,2302,0,912,2454,2455,877,2290,2291,42,2303,1252,511,0,2457,1023,1022,2293,983,982,42,1252,2303,2304,0,1023,2457,2458,983,2293,2294,42,2304,536,1252,0,2458,1026,1023,2294,986,983,42,536,2304,2301,0,1026,2458,2456,986,2294,2292,42,1181,2301,2304,0,922,2456,2458,887,2292,2294,42,2301,1181,564,0,2456,922,913,2292,887,878,42,565,2304,2303,0,923,2458,2457,888,2294,2293,42,2304,565,1181,0,2458,923,922,2294,888,887,42,1187,2303,2306,0,929,2457,2459,894,2293,2295,42,2303,1187,565,0,2457,929,923,2293,894,888,42,566,2306,2305,0,930,2459,2460,895,2295,2296,42,2306,566,1187,0,2459,930,929,2295,895,894,42,2305,1249,537,0,2460,1019,1018,2296,979,978,42,1249,2305,2306,0,1019,2460,2459,979,2296,2295,42,2306,511,1249,0,2459,1022,1019,2295,982,979,42,511,2306,2303,0,1022,2459,2457,982,2295,2293,42,2308,2305,537,0,2461,2460,1018,2297,2296,978,42,2308,537,1247,0,2461,1018,1015,2297,978,975,42,1194,566,2305,0,939,930,2460,904,895,2296,42,1194,2305,2308,0,939,2460,2461,904,2296,2297,42,567,1194,2308,0,940,939,2461,905,904,2297,42,567,2308,2307,0,940,2461,2462,905,2297,2298,42,2307,2308,1247,0,2462,2461,1015,2298,2297,975,42,2307,1247,512,0,2462,1015,1014,2298,975,974,42,2310,2307,512,0,2463,2462,1014,2299,2298,974,42,2310,512,1244,0,2463,1014,1011,2299,974,971,42,1200,567,2307,0,948,940,2462,913,905,2298,42,1200,2307,2310,0,948,2462,2463,913,2298,2299,42,568,1200,2310,0,949,948,2463,914,913,2299,42,568,2310,2309,0,949,2463,2464,914,2299,2300,42,2309,2310,1244,0,2464,2463,1011,2300,2299,971,42,2309,1244,538,0,2464,1011,1010,2300,971,970,42,2311,937,2313,0,2465,561,2466,2301,543,2302,42,937,2311,541,0,561,2465,567,543,2301,549,42,543,2313,2312,0,2467,2466,2468,2303,2302,2304,42,2313,543,2311,0,2466,2467,2465,2302,2303,2301,42,2312,1232,548,0,2468,999,1e3,2304,959,960,42,1232,2312,2313,0,999,2468,2466,959,2304,2302,42,2313,513,1232,0,2466,563,999,2302,545,959,42,513,2313,937,0,563,2466,561,545,2302,543,42,1490,2314,518,0,1344,2469,1336,1286,2305,1278,42,2314,1490,2316,0,2469,1344,2470,2305,1286,2306,42,2316,570,2314,0,2470,2471,2469,2306,2307,2305,42,570,2316,2315,0,2471,2470,2472,2307,2306,2308,42,1510,2315,2316,0,1371,2472,2470,1313,2308,2306,42,2315,1510,571,0,2472,1371,1372,2308,1313,1314,42,517,2316,1490,0,1346,2470,1344,1288,2306,1286,42,2316,517,1510,0,2470,1346,1371,2306,1288,1313,42,2320,573,2319,0,2473,2474,2475,2309,2310,2311,42,573,2320,2317,0,2474,2473,2476,2310,2309,2312,42,572,2320,2318,0,2477,2473,2478,2313,2309,2314,42,2320,572,2317,0,2473,2477,2476,2309,2313,2312,42,519,2320,1465,0,1314,2473,1312,1256,2309,1254,42,2320,519,2318,0,2473,1314,2478,2309,1256,2314,42,1465,2319,520,0,1312,2475,1308,1254,2311,1250,42,2319,1465,2320,0,2475,1312,2473,2311,1254,2309,42,1463,520,2323,0,1309,1308,2479,1251,1250,2315,42,520,2319,2323,0,1308,2475,2479,1250,2311,2315,42,521,1463,2321,0,1302,1309,2480,1244,1251,2316,42,1463,2323,2321,0,1309,2479,2480,1251,2315,2316,42,2321,2322,574,0,2480,2481,2482,2316,2317,2318,42,2322,2321,2323,0,2481,2480,2479,2317,2316,2315,42,2323,573,2322,0,2479,2474,2481,2315,2310,2317,42,573,2323,2319,0,2474,2479,2475,2310,2315,2311,42,1456,2321,2326,0,1300,2480,2483,1242,2316,2319,42,2321,1456,521,0,2480,1300,1302,2316,1242,1244,42,522,2326,2324,0,1291,2483,2484,1233,2319,2320,42,2326,522,1456,0,2483,1291,1300,2319,1233,1242,42,2324,2325,575,0,2484,2485,2486,2320,2321,2322,42,2325,2324,2326,0,2485,2484,2483,2321,2320,2319,42,2326,574,2325,0,2483,2482,2485,2319,2318,2321,42,574,2326,2321,0,2482,2483,2480,2318,2319,2316,42,1449,2324,2328,0,1289,2484,2487,1231,2320,2323,42,2324,1449,522,0,2484,1289,1291,2320,1231,1233,42,523,2328,1223,0,971,2487,982,934,2323,944,42,2328,523,1449,0,2487,971,1289,2323,934,1231,42,1223,2328,576,0,982,2487,987,944,2323,947,42,2328,2327,576,0,2487,2488,987,2323,2324,947,42,2328,575,2327,0,2487,2486,2488,2323,2322,2324,42,575,2328,2324,0,2486,2487,2484,2322,2323,2320,42,2329,2331,2332,0,2489,2490,2491,2325,2326,2327,42,2331,2329,550,0,2490,2489,2492,2326,2325,2328,42,2332,525,2329,0,2491,1052,2489,2327,1012,2325,42,525,2332,1275,0,1052,2491,1053,1012,2327,1013,42,524,2332,2330,0,1056,2491,2493,1016,2327,2329,42,2332,524,1275,0,2491,1056,1053,2327,1016,1013,42,2332,526,2330,0,2491,2494,2493,2327,2330,2329,42,526,2332,2331,0,2494,2491,2490,2330,2327,2326,42,2333,1233,2334,0,2495,996,2496,2331,956,2332,42,1233,2333,548,0,996,2495,1e3,956,2331,960,42,2334,526,2333,0,2496,2494,2495,2332,2330,2331,42,526,2334,2330,0,2494,2496,2493,2330,2332,2329,42,1278,2330,2334,0,1059,2493,2496,1019,2329,2332,42,2330,1278,524,0,2493,1059,1056,2329,1019,1016,42,544,2334,1233,0,995,2496,996,955,2332,956,42,2334,544,1278,0,2496,995,1059,2332,955,1019,42,2337,2335,551,0,2497,2498,2499,2333,2334,2335,42,2335,2337,2338,0,2498,2497,2500,2334,2333,2336,42,2338,529,2335,0,2500,2501,2498,2336,2337,2334,42,529,2338,2336,0,2501,2500,2502,2337,2336,2338,42,2329,2336,2338,0,2489,2502,2500,2325,2338,2336,42,2336,2329,525,0,2502,2489,1052,2338,2325,1012,42,550,2338,2337,0,2492,2500,2497,2328,2336,2333,42,2338,550,2329,0,2500,2492,2489,2336,2328,2325,42,2339,2312,2340,0,2503,2468,2504,2339,2304,2340,42,2312,2339,543,0,2468,2503,2467,2304,2339,2303,42,550,2340,2331,0,2492,2504,2490,2328,2340,2326,42,2340,550,2339,0,2504,2492,2503,2340,2328,2339,42,2333,2331,2340,0,2495,2490,2504,2331,2326,2340,42,2331,2333,526,0,2490,2495,2494,2326,2331,2330,42,2340,548,2333,0,2504,1e3,2495,2340,960,2331,42,548,2340,2312,0,1e3,2504,2468,960,2340,2304,42,528,2342,2341,0,2444,2505,2506,2280,2341,2342,42,2342,528,2290,0,2505,2444,2445,2341,2280,2281,42,941,2341,2342,0,568,2506,2505,550,2342,2341,42,2341,941,552,0,2506,568,570,2342,550,552,42,941,1289,553,0,568,1073,574,550,1033,556,42,1289,941,2342,0,1073,568,2505,1033,550,2341,42,2342,527,1289,0,2505,1068,1073,2341,1028,1033,42,527,2342,2290,0,1068,2505,2445,1028,2341,2281,42,2345,552,2344,0,2507,570,2508,2343,552,2344,42,2341,552,2345,0,2506,570,2507,2342,552,2343,42,528,2341,2343,0,2444,2506,2509,2280,2342,2345,42,2341,2345,2343,0,2506,2507,2509,2342,2343,2345,42,2335,529,2345,0,2498,2501,2507,2334,2337,2343,42,2343,2345,529,0,2509,2507,2501,2345,2343,2337,42,2335,2344,551,0,2498,2508,2499,2334,2344,2335,42,2344,2335,2345,0,2508,2498,2507,2344,2334,2343,42,1207,2309,2347,0,956,2464,2510,921,2300,2346,42,2309,1207,568,0,2464,956,949,2300,921,914,42,569,2347,2346,0,957,2510,2511,922,2346,2347,42,2347,569,1207,0,2510,957,956,2346,922,921,42,2346,1241,539,0,2511,1009,1006,2347,969,966,42,1241,2346,2347,0,1009,2511,2510,969,2347,2346,42,2347,538,1241,0,2510,1010,1009,2346,970,969,42,538,2347,2309,0,1010,2510,2464,970,2346,2300,42,2349,2346,539,0,2512,2511,1006,2348,2347,966,42,2349,539,1238,0,2512,1006,1003,2348,966,963,42,1511,569,2346,0,1373,957,2511,1315,922,2347,42,1511,2346,2349,0,1373,2511,2512,1315,2347,2348,42,1511,2348,571,0,1373,2513,1372,1315,2349,1314,42,2348,1511,2349,0,2513,1373,2512,2349,1315,2348,42,2348,2349,1238,0,2513,2512,1003,2349,2348,963,42,2348,1238,540,0,2513,1003,565,2349,963,547,42,2348,936,2351,0,2513,566,2514,2349,548,2350,42,936,2348,540,0,566,2513,565,548,2349,547,42,571,2351,2315,0,1372,2514,2472,1314,2350,2308,42,2351,571,2348,0,2514,1372,2513,2350,1314,2349,42,2315,2350,570,0,2472,2515,2471,2308,2351,2307,42,2350,2315,2351,0,2515,2472,2514,2351,2308,2350,42,2351,541,2350,0,2514,567,2515,2350,549,2351,42,541,2351,936,0,567,2514,566,549,2350,548,42,2353,2317,572,0,2516,2476,2477,2352,2312,2313,42,2317,2353,2354,0,2476,2516,2517,2312,2352,2353,42,573,2317,2352,0,2474,2476,2518,2310,2312,2354,42,2317,2354,2352,0,2476,2517,2518,2312,2353,2354,42,2352,2354,551,0,2518,2517,2499,2354,2353,2335,42,2354,2337,551,0,2517,2497,2499,2353,2333,2335,42,2353,550,2337,0,2516,2492,2497,2352,2328,2333,42,2353,2337,2354,0,2516,2497,2517,2352,2333,2353,42,2355,2344,552,0,2519,2508,570,2355,2344,552,42,2344,2355,2356,0,2508,2519,2520,2344,2355,2356,42,2356,551,2344,0,2520,2499,2508,2356,2335,2344,42,551,2356,2352,0,2499,2520,2518,2335,2356,2354,42,2322,2352,2356,0,2481,2518,2520,2317,2354,2356,42,2352,2322,573,0,2518,2481,2474,2354,2317,2310,42,574,2356,2355,0,2482,2520,2519,2318,2356,2355,42,2356,574,2322,0,2520,2482,2481,2356,2318,2317,42,2355,939,2358,0,2519,571,2521,2355,553,2357,42,939,2355,552,0,571,2519,570,553,2355,552,42,574,2358,2325,0,2482,2521,2485,2318,2357,2321,42,2358,574,2355,0,2521,2482,2519,2357,2318,2355,42,2325,2357,575,0,2485,2522,2486,2321,2358,2322,42,2357,2325,2358,0,2522,2485,2521,2358,2321,2357,42,2358,554,2357,0,2521,572,2522,2357,554,2358,42,554,2358,939,0,572,2521,571,554,2357,553,42,2357,1318,2360,0,2522,1110,2523,2358,1068,2359,42,1318,2357,554,0,1110,2522,572,1068,2358,554,42,575,2360,2327,0,2486,2523,2488,2322,2359,2324,42,2360,575,2357,0,2523,2486,2522,2359,2322,2358,42,2327,2359,576,0,2488,2524,987,2324,2360,947,42,2359,2327,2360,0,2524,2488,2523,2360,2324,2359,42,2360,555,2359,0,2523,874,2524,2359,839,2360,42,555,2360,1318,0,874,2523,1110,839,2359,1068,42,1146,2361,2362,0,870,2525,2526,836,2361,2362,42,2361,1146,556,0,2525,870,869,2361,836,834,42,2359,1146,2362,0,2524,870,2526,2360,836,2362,42,1146,2359,555,0,870,2524,874,836,2360,839,42,2359,1222,576,0,2524,985,987,2360,946,947,42,1222,2359,2362,0,985,2524,2526,946,2360,2362,42,2362,577,1222,0,2526,986,985,2362,942,946,42,577,2362,2361,0,986,2526,2525,942,2362,2361,42,2364,2365,506,0,2527,2528,2438,2363,2364,2274,42,506,2365,2287,0,2438,2528,2436,2274,2364,2272,42,2363,2287,2365,0,2529,2436,2528,2365,2272,2364,42,2287,2363,503,0,2436,2529,2441,2272,2365,2277,42,1271,2363,2365,0,1044,2529,2528,1004,2365,2364,42,2363,1271,531,0,2529,1044,688,2365,1004,665,42,507,1271,2364,0,1050,1044,2527,1010,1004,2363,42,2364,1271,2365,0,2527,1044,2528,2363,1004,2364,42,2367,531,1012,0,2530,688,687,2366,665,664,42,531,2367,2363,0,688,2530,2529,665,2366,2365,42,503,2363,2366,0,2441,2529,2531,2277,2365,2367,42,2363,2367,2366,0,2529,2530,2531,2365,2366,2367,42,2367,530,2366,0,2530,689,2531,2366,666,2367,42,530,2367,1012,0,689,2530,687,666,2366,664,42,2311,2369,2370,0,2465,2532,2533,2301,2368,2369,42,2369,2311,543,0,2532,2465,2467,2368,2301,2303,42,2311,2350,541,0,2465,2515,567,2301,2351,549,42,2350,2311,2370,0,2515,2465,2533,2351,2301,2369,42,570,2350,2370,0,2471,2515,2533,2307,2351,2369,42,570,2370,2368,0,2471,2533,2534,2307,2369,2370,42,2368,2370,2369,0,2534,2533,2532,2370,2369,2368,42,2369,542,2368,0,2532,1324,2534,2368,1266,2370,42,1482,518,2371,0,1334,1336,2535,1276,1278,2371,42,518,2314,2371,0,1336,2469,2535,1278,2305,2371,42,542,2371,2368,0,1324,2535,2534,1266,2371,2370,42,2371,542,1482,0,2535,1324,1334,2371,1266,1276,42,570,2368,2314,0,2471,2534,2469,2307,2370,2305,42,2314,2368,2371,0,2469,2534,2535,2305,2370,2371,42,643,645,45,0,85,87,84,85,87,84,42,645,643,2372,0,87,85,2536,87,85,2372,42,2372,44,645,0,2536,88,87,2372,88,87,42,44,2372,1062,0,88,2536,748,88,2372,725,42,1086,1062,2372,0,781,748,2536,758,725,2372,42,1062,1086,43,0,748,781,718,725,758,695,42,59,2372,643,0,77,2536,85,77,2372,85,42,2372,59,1086,0,2536,77,781,2372,77,758,42,628,649,2373,0,64,94,2537,64,94,2373,42,649,628,49,0,94,64,65,94,64,65,42,50,2373,1094,0,61,2537,791,61,2373,768,42,2373,50,628,0,2537,61,64,2373,61,64,42,1094,1040,51,0,791,722,714,768,699,691,42,1040,1094,2373,0,722,791,2537,699,768,2373,42,2373,52,1040,0,2537,95,722,2373,95,699,42,52,2373,649,0,95,2537,94,95,2373,94,42,1740,2374,224,0,2538,2539,1717,1609,2374,1606,42,224,2374,1753,0,1717,2539,1715,1606,2374,1625,42,229,1753,1746,0,1704,1715,1702,1617,1625,1615,42,1753,2374,1746,0,1715,2539,1702,1625,2374,1615,42,228,2374,1742,0,1700,2539,1697,1613,2374,1611,42,1746,2374,228,0,1702,2539,1700,1615,2374,1613,42,225,2374,1740,0,1698,2539,2538,246,2374,1609,42,2374,225,1742,0,2539,1698,1697,2374,246,1611,42,2375,448,1803,0,2540,1387,1791,2375,1329,1690,42,448,2375,1520,0,1387,2540,1385,1329,2375,1327,42,2375,447,1520,0,2540,1386,1385,2375,1328,1327,42,447,2375,1914,0,1386,2540,1957,1328,2375,1833,42,1651,1914,2375,0,1574,1957,2540,1499,1833,2375,42,1914,1651,265,0,1957,1574,1572,1833,1499,1497,42,1651,1803,266,0,1574,1791,289,1499,1690,289,42,1803,1651,2375,0,1791,1574,2540,1690,1499,2375,42,1991,280,2376,0,2061,2059,2541,1927,1926,2376,42,280,1993,2376,0,2059,2065,2541,1926,1930,2376,42,283,2376,1976,0,2062,2541,2542,1909,2376,1912,42,2376,283,1991,0,2541,2062,2061,2376,1909,1927,42,1976,826,300,0,2542,381,382,1912,376,360,42,826,1976,2376,0,381,2542,2541,376,1912,2376,42,2376,1993,826,0,2541,2065,381,2376,1930,376,42,1993,281,826,0,2065,380,381,1930,375,376,42,1994,1957,2377,0,2066,2017,2543,1931,1889,2377,42,1957,1994,469,0,2017,2066,2011,1889,1931,1883,42,281,2377,825,0,380,2543,379,375,2377,374,42,2377,281,1994,0,2543,380,2066,2377,375,1931,42,825,1978,282,0,379,2544,377,374,1914,359,42,1978,825,2377,0,2544,379,2543,1914,374,2377,42,2377,468,1978,0,2543,2019,2544,2377,1891,1914,42,468,2377,1957,0,2019,2543,2017,1891,2377,1889,42,2061,500,2378,0,2159,2098,2545,2014,1963,2378,42,500,2025,2378,0,2098,2103,2545,1963,1968,2378,42,295,2061,848,0,413,2159,415,407,2014,409,42,2061,2378,848,0,2159,2545,415,2014,2378,409,42,848,2056,296,0,415,2546,418,409,2008,412,42,2056,848,2378,0,2546,415,2545,2008,409,2378,42,2378,501,2056,0,2545,2105,2546,2378,1970,2008,42,501,2378,2025,0,2105,2545,2103,1970,2378,1968,42,2125,893,2379,0,2245,488,2547,2093,479,2379,42,893,2125,315,0,488,2245,489,479,2093,480,42,314,2379,890,0,487,2547,486,478,2379,477,42,2379,314,2125,0,2547,487,2245,2379,478,2093,42,890,2114,317,0,486,2548,482,477,2080,468,42,2114,890,2379,0,2548,486,2547,2080,477,2379,42,2379,318,2114,0,2547,493,2548,2379,442,2080,42,318,2379,893,0,493,2547,488,442,2379,479,42,2126,444,2380,0,2243,2173,2549,2091,2027,2380,42,444,2075,2380,0,2173,2180,2549,2027,2034,2380,42,315,2126,894,0,489,2243,491,480,2091,482,42,2126,2380,894,0,2243,2549,491,2091,2380,482,42,894,2116,316,0,491,2550,494,482,2082,457,42,2116,894,2380,0,2550,491,2549,2082,482,2380,42,2380,443,2116,0,2549,2181,2550,2380,2035,2082,42,443,2380,2075,0,2181,2549,2180,2035,2380,2034,42,2182,932,333,0,2551,555,559,2161,540,506,42,932,2182,2381,0,555,2551,2552,540,2161,2381,42,2381,330,932,0,2552,556,555,2381,541,540,42,330,2381,2186,0,556,2552,2327,541,2381,2166,42,2186,2381,329,0,2327,2552,553,2166,2381,538,42,2381,929,329,0,2552,552,553,2381,537,538,42,332,2381,2182,0,551,2552,2551,532,2381,2161,42,2381,332,929,0,2552,551,552,2381,532,537,42,2382,390,2175,0,2553,2298,2554,2382,2142,2153,42,390,2382,2163,0,2298,2553,2296,2142,2382,2140,42,2382,389,2163,0,2553,2290,2296,2382,2134,2140,42,389,2382,2187,0,2290,2553,2326,2134,2382,2165,42,2187,933,330,0,2326,557,556,2165,542,541,42,933,2187,2382,0,557,2326,2553,542,2165,2382,42,933,2175,331,0,557,2554,560,542,2153,521,42,2175,933,2382,0,2554,557,2553,2153,542,2382,42,1921,2383,340,0,1966,2555,333,1842,2383,333,42,340,2383,1980,0,333,2555,2048,333,2383,1916,42,2383,2200,1980,0,2555,2345,2048,2383,2181,1916,42,1980,2200,457,0,2048,2345,1807,1916,2181,1706,42,2204,456,2383,0,2349,2342,2555,2185,2178,2383,42,2383,456,2200,0,2555,2342,2345,2383,2178,2181,42,339,2204,1921,0,1964,2349,1966,1840,2185,1842,42,1921,2204,2383,0,1966,2349,2555,1842,2185,2383,42,1967,2208,2384,0,2034,2352,2556,1902,2188,2384,42,2208,1967,475,0,2352,2034,2035,2188,1902,1903,42,474,2384,1982,0,420,2556,2050,414,2384,1918,42,2384,474,1967,0,2556,420,2034,2384,414,1902,42,1982,1924,343,0,2050,1970,337,1918,1846,337,42,1924,1982,2384,0,1970,2050,2556,1846,1918,2384,42,2384,342,1924,0,2556,1971,1970,2384,1847,1846,42,342,2384,2208,0,1971,2556,2352,1847,2384,2188,42,2003,836,2385,0,2073,399,2557,1938,393,2385,42,836,2003,351,0,399,2073,398,393,1938,392,42,2385,487,2003,0,2557,1729,2073,2385,1638,1938,42,487,2385,1766,0,1729,2557,1733,1638,2385,1642,42,2222,1766,2385,0,2368,1733,2557,2204,1642,2385,42,1766,2222,486,0,1733,2368,1734,1642,2204,1643,42,350,2385,836,0,400,2557,399,394,2385,393,42,2385,350,2222,0,2557,400,2368,2385,394,2204,42,1863,747,357,0,1878,253,254,1768,253,254,42,747,1863,2386,0,253,1878,2558,253,1768,2386,42,356,2386,2234,0,251,2558,2380,251,2386,2216,42,2386,356,747,0,2558,251,253,2386,251,253,42,2234,1547,414,0,2380,1421,1413,2216,1363,1355,42,1547,2234,2386,0,1421,2380,2558,1363,2216,2386,42,413,2386,1863,0,1422,2558,1878,1364,2386,1768,42,2386,413,1547,0,2558,1422,1421,2386,1364,1363,42,2189,862,2387,0,2332,441,2559,2169,435,2387,42,862,2189,364,0,441,2332,440,435,2169,434,42,2387,427,2189,0,2559,1852,2332,2387,1742,2169,42,427,2387,2230,0,1852,2559,2376,1742,2387,2212,42,2250,2230,2387,0,2399,2376,2559,2235,2212,2387,42,2230,2250,426,0,2376,2399,2377,2212,2235,2213,42,363,2387,862,0,442,2559,441,436,2387,435,42,2387,363,2250,0,2559,442,2399,2387,436,2235,42,2246,2089,2388,0,2395,2198,2560,2231,2048,2388,42,2089,2246,367,0,2198,2395,435,2048,2231,429,42,2388,441,2246,0,2560,459,2395,2388,453,2231,42,441,2388,2112,0,459,2560,2229,453,2388,2079,42,2112,2254,440,0,2229,2403,2225,2079,2239,2075,42,2254,2112,2388,0,2403,2229,2560,2239,2079,2388,42,2388,365,2254,0,2560,2200,2403,2388,2050,2239,42,365,2388,2089,0,2200,2560,2198,2050,2388,2048,42,1796,783,2389,0,1778,310,2561,1681,310,2389,42,783,1796,371,0,310,1778,309,310,1681,309,42,2389,408,1796,0,2561,1459,1778,2389,1401,1681,42,408,2389,1572,0,1459,2561,1458,1401,2389,1400,42,2260,1572,2389,0,2408,1458,2561,2244,1400,2389,42,1572,2260,407,0,1458,2408,1457,1400,2244,1399,42,370,2389,783,0,311,2561,310,311,2389,310,42,2389,370,2260,0,2561,311,2408,2389,311,2244,42,2140,380,897,0,2263,499,500,2111,487,488,42,897,2390,2140,0,500,2562,2263,488,2390,2111,42,2390,400,2140,0,2562,1787,2263,2390,1687,2111,42,400,2390,2263,0,1787,2562,2412,1687,2390,2248,42,399,2390,2279,0,2413,2562,2430,2249,2390,2266,42,2390,399,2263,0,2562,2413,2412,2390,2249,2248,42,379,2390,897,0,501,2562,500,489,2390,488,42,2390,379,2279,0,2562,501,2430,2390,489,2266,42,2275,2138,2391,0,2427,2259,2563,2263,2107,2391,42,2138,2275,383,0,2259,2427,516,2107,2263,504,42,392,2391,2173,0,529,2563,2312,517,2391,2152,42,2391,392,2275,0,2563,529,2427,2391,517,2263,42,2173,2283,384,0,2312,2434,2311,2152,2270,2151,42,2283,2173,2391,0,2434,2312,2563,2270,2152,2391,42,2391,382,2283,0,2563,2258,2434,2391,2106,2270,42,382,2391,2138,0,2258,2563,2259,2106,2391,2107,42,1889,1628,480,0,1919,1544,1545,1799,1471,1472,42,1628,1889,2392,0,1544,1919,2564,1471,1799,2392,42,2392,515,1628,0,2564,1331,1544,2392,1273,1471,42,515,2392,1487,0,1331,2564,1337,1273,2392,1279,42,1504,1487,2392,0,1363,1337,2564,1305,1279,2392,42,1487,1504,514,0,1337,1363,1342,1279,1305,1284,42,479,2392,1889,0,1365,2564,1919,1307,2392,1799,42,2392,479,1504,0,2564,1365,1363,2392,1307,1305,42,1142,2292,2393,0,866,2448,2565,833,2284,2393,42,2292,1142,557,0,2448,866,868,2284,833,835,42,556,2393,2361,0,867,2565,2566,834,2393,2361,42,2393,556,1142,0,2565,867,866,2393,834,833,42,2361,1218,577,0,2566,976,980,2361,938,942,42,1218,2361,2393,0,976,2566,2565,938,2361,2393,42,2393,559,1218,0,2565,979,976,2393,941,938,42,559,2393,2292,0,979,2565,2448,941,2393,2284,42,2364,2289,2395,0,2527,2442,2567,2363,2278,2394,42,2289,2364,506,0,2442,2527,2438,2278,2363,2274,42,507,2395,1273,0,1050,2567,1054,1010,2394,1014,42,2395,507,2364,0,2567,1050,2527,2394,1010,2363,42,1273,2394,525,0,1054,2568,1052,1014,2395,1012,42,2394,1273,2395,0,2568,1054,2567,2395,1014,2394,42,2395,528,2394,0,2567,2444,2568,2394,2280,2395,42,528,2395,2289,0,2444,2567,2442,2280,2394,2278,42,528,2343,2396,0,2444,2509,2569,2280,2345,2396,42,528,2396,2394,0,2444,2569,2568,2280,2396,2395,42,2396,525,2394,0,2569,1052,2568,2396,1012,2395,42,525,2396,2336,0,1052,2569,2502,1012,2396,2338,42,2396,529,2336,0,2569,2501,2502,2396,2337,2338,42,529,2396,2343,0,2501,2569,2509,2337,2396,2345,42,1472,2318,519,0,1322,2478,1314,1264,2314,1256,42,2318,1472,2398,0,2478,1322,2570,2314,1264,2397,42,2398,572,2318,0,2570,2477,2478,2397,2313,2314,42,572,2398,2397,0,2477,2570,2571,2313,2397,2398,42,2369,2397,2398,0,2532,2571,2570,2368,2398,2397,42,2397,2369,543,0,2571,2532,2467,2398,2368,2303,42,542,2398,1472,0,1324,2570,1322,1266,2397,1264,42,2398,542,2369,0,2570,1324,2532,2397,1266,2368,42,2399,543,2339,0,2572,2467,2503,2399,2303,2339,42,543,2399,2397,0,2467,2572,2571,2303,2399,2398,42,2399,572,2397,0,2572,2477,2571,2399,2313,2398,42,572,2399,2353,0,2477,2572,2516,2313,2399,2352,42,2353,2339,550,0,2516,2503,2492,2352,2339,2328,42,2339,2353,2399,0,2503,2516,2572,2339,2352,2399,42,1049,1113,2401,0,2573,813,2574,710,790,2400,42,1113,1049,56,0,813,2573,820,790,710,711,42,35,2401,2400,0,2575,2574,2576,660,2400,2401,42,2401,35,1049,0,2574,2575,2573,2400,660,710,42,2400,2286,503,0,2576,2440,2441,2401,2276,2277,42,2286,2400,2401,0,2440,2576,2574,2276,2401,2400,42,2401,505,2286,0,2574,815,2440,2400,792,2276,42,505,2401,1113,0,815,2574,813,792,2400,790,42,1008,2400,2402,0,2577,2576,2578,659,2401,2402,42,2400,1008,35,0,2576,2577,2575,2401,659,660,42,22,2402,1013,0,37,2578,684,37,2402,661,42,2402,22,1008,0,2578,37,2577,2402,37,659,42,530,1013,2402,0,689,684,2578,666,661,2402,42,2402,2366,530,0,2578,2531,689,2402,2367,666,42,503,2402,2400,0,2441,2578,2576,2277,2402,2401,42,2402,503,2366,0,2578,2441,2531,2402,2277,2367,42,1002,1054,36,0,673,741,672,650,718,649,42,1054,1002,2404,0,741,673,2579,718,650,2403,42,2404,545,1054,0,2579,742,741,2403,719,718,42,545,2404,2403,0,742,2579,2580,719,2403,2404,42,1004,2403,2404,0,676,2580,2579,653,2404,2403,42,2403,1004,547,0,2580,676,677,2404,653,654,42,534,2404,1002,0,31,2579,673,31,2403,650,42,2404,534,1004,0,2579,31,676,2403,31,653,42,2403,1280,545,0,2580,1060,742,2404,1020,719,42,1280,2403,2405,0,1060,2580,2581,1020,2404,2405,42,2405,87,1280,0,2581,1046,1060,2405,1006,1020,42,87,2405,1282,0,1046,2581,1063,1006,2405,1023,42,1266,1282,2405,0,1042,1063,2581,1002,1023,2405,42,1282,1266,533,0,1063,1042,100,1023,1002,100,42,547,2405,2403,0,677,2581,2580,654,2405,2404,42,2405,547,1266,0,2581,677,1042,2405,654,1002,42,1527,1562,2407,0,1392,1438,2582,1334,1380,2406,42,1562,1527,167,0,1438,1392,1260,1380,1334,1204,42,449,2407,1807,0,1395,2582,1792,1337,2406,1691,42,2407,449,1527,0,2582,1395,1392,2406,1337,1334,42,1807,2406,450,0,1792,2583,1797,1691,2407,1696,42,2406,1807,2407,0,2583,1792,2582,2407,1691,2406,42,2407,242,2406,0,2582,1440,2583,2406,1382,2407,42,242,2407,1562,0,1440,2582,1438,1382,2406,1380,42,2406,1626,2408,0,2584,1540,2585,2407,1468,2408,42,1626,2406,242,0,1540,2584,1541,1468,2407,1382,42,450,2408,1818,0,1815,2585,1814,1696,2408,1711,42,2408,450,2406,0,2585,1815,2584,2408,1696,2407,42,1818,1622,451,0,1814,1532,1534,1711,1462,1464,42,1622,1818,2408,0,1532,1814,2585,1462,1711,2408,42,2408,1626,1622,0,2585,1540,1532,2408,1468,1462,42,1626,184,1622,0,1540,194,1532,1468,194,1462,42,579,2409,6,0,2586,2587,2588,593,2409,597,42,2409,580,6,0,2587,2589,2588,2409,599,597,42,2409,7,580,0,2587,2590,2589,2409,600,599,42,2409,581,7,0,2587,2591,2590,2409,606,600,42,2409,578,581,0,2587,2592,2591,2409,561,606,42,2409,582,578,0,2587,2593,2592,2409,557,561,42,2409,0,582,0,2587,2594,2593,2409,558,557,42,583,0,2409,0,2595,2594,2587,566,558,2409,42,2409,19,583,0,2587,2596,2595,2409,4,566,42,2409,584,19,0,2587,2597,2596,2409,0,4,42,1,584,2409,0,2598,2597,2587,3,0,2409,42,585,1,2409,0,2599,2598,2587,569,3,2409,42,2,585,2409,0,2600,2599,2587,572,569,2409,42,586,2,2409,0,2601,2600,2587,578,572,2409,42,3,586,2409,0,2602,2601,2587,579,578,2409,42,587,3,2409,0,2603,2602,2587,585,579,2409,42,4,587,2409,0,2604,2603,2587,584,585,2409,42,588,4,2409,0,2605,2604,2587,589,584,2409,42,5,588,2409,0,2606,2605,2587,587,589,2409,42,579,5,2409,0,2586,2606,2587,593,587,2409],bones:[{parent:-1,name:"Wrist",pos:[0,0,-0],rotq:[0,0,0,1]},{parent:0,name:"Finger_00",pos:[1.37609,4.41528e-7,-1.14256],rotq:[0,0,0,1]},{parent:1,name:"Finger_01",pos:[.917901,-.234756,1.67231],rotq:[0,0,0,1]},{parent:2,name:"Finger_02",pos:[.124702,-.354635,1.62137],rotq:[0,0,0,1]},{parent:3,name:"Finger_03",pos:[.165027,-.262837,1.21758],rotq:[0,0,0,1]},{parent:0,name:"Finger_10",pos:[1.31466,-2.92583e-7,2.19792],rotq:[0,0,0,1]},{parent:5,name:"Finger_11",pos:[.0321014,-.117549,1.95268],rotq:[0,0,0,1]},{parent:6,name:"Finger_12",pos:[-596046e-11,-.0661789,1.1702],rotq:[0,0,0,1]},{parent:7,name:"Finger_13",pos:[357628e-11,-.0649788,1.14896],rotq:[0,0,0,1]},{parent:0,name:"Finger_20",pos:[.053333,-9.54433e-7,2.46982],rotq:[0,0,0,1]},{parent:9,name:"Finger_21",pos:[-1.11759e-8,-.163324,1.92416],rotq:[0,0,0,1]},{parent:10,name:"Finger_22",pos:[7.45058e-9,-.129482,1.30897],rotq:[0,0,0,1]},{parent:11,name:"Finger_23",pos:[-3.72529e-9,-.131505,1.32941],rotq:[0,0,0,1]},{parent:0,name:"Finger_30",pos:[-.959611,-5.83959e-7,2.31429],rotq:[0,0,0,1]},{parent:13,name:"Finger_31",pos:[0,-.28386,1.98441],rotq:[0,0,0,1]},{parent:14,name:"Finger_32",pos:[5.96046e-8,-.134498,1.16649],rotq:[0,0,0,1]},{parent:15,name:"Finger_33",pos:[0,-.129459,1.12281],rotq:[0,0,0,1]},{parent:0,name:"Finger_40",pos:[-1.83458,-.433139,2.12193],rotq:[0,0,0,1]},{parent:17,name:"Finger_41",pos:[2.38419e-7,-.11608,1.14359],rotq:[0,0,0,1]},{parent:18,name:"Finger_42",pos:[0,-.101106,.732851],rotq:[0,0,0,1]},{parent:19,name:"Finger_43",pos:[-2.38419e-7,-.109532,.793927],rotq:[0,0,0,1]}],skinIndices:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0,1,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,1,0,1,0,0,0,1,0,1,1,0,1,0,1,0,1,0,0,1,0,0,0,1,2,0,1,0,1,0,0,2,0,5,0,9,0,9,0,13,0,13,0,17,0,5,1,0,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,1,0,1,0,1,0,1,2,2,0,0,2,0,2,2,1,1,2,1,2,1,2,1,2,1,2,1,0,1,0,1,0,0,1,0,1,2,1,2,1,1,2,1,2,2,1,2,0,2,0,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,0,2,0,2,3,2,3,2,3,2,3,2,3,2,3,5,0,5,0,9,5,9,13,13,9,13,0,17,13,17,0,5,0,5,0,5,0,5,0,9,0,9,0,0,13,17,0,17,0,17,0,17,0,17,0,0,17,17,0,17,13,17,0,13,0,13,0,0,13,13,17,13,17,13,9,9,0,9,0,0,9,9,0,9,13,9,5,9,13,13,9,13,17,17,13,5,9,5,0,5,0,0,5,5,9,5,0,5,0,5,0,5,0,5,0,9,5,9,0,9,13,13,9,13,17,17,13,17,13,9,10,13,0,18,17,5,6,2,3,3,2,2,3,2,3,2,3,3,2,3,2,3,2,3,2,2,3,2,3,2,3,2,3,3,2,3,2,3,2,2,3,3,2,3,4,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,9,10,9,10,13,14,13,14,18,17,18,17,5,6,5,6,5,9,13,9,9,13,17,13,17,13,5,6,5,6,5,6,5,6,5,9,13,14,13,14,13,14,9,10,9,10,9,10,9,10,9,10,9,5,13,14,13,14,13,14,18,17,18,17,18,17,18,17,13,9,13,0,13,17,14,15,14,15,14,13,14,13,14,13,14,15,14,15,14,15,15,16,15,16,14,15,15,16,15,16,15,16,15,16,15,16,15,16,19,18,19,18,19,18,19,18,19,18,19,18,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,15,16,15,16,15,16,10,11,10,11,10,11,10,11,10,11,10,11,11,12,11,12,11,12,11,12,11,12,11,12,11,12,11,12,11,12,11,12,6,7,6,7,6,7,6,7,6,7,6,7,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,10,11,13,14,13,14,13,14,14,13,14,0,14,13,15,14,15,14,15,14,17,18,17,18,18,17,18,17,19,18,18,19,18,19,19,18,19,18,9,10,9,10,9,10,9,10,9,10,10,9,9,10,10,11,10,9,10,9,10,9,10,0,10,11,10,11,10,11,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,6,7,6,7,6,7,6,7,6,7,7,6,7,6,7,6,7,8,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,6,7,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,5,6,5,6,5,0,5,0,5,9,5,9,5,9,5,9,5,6,9,5,9,5,9,5,9,0,9,13,9,13,9,13,9,13,9,5,9,5,9,5,9,10,10,9,10,9,10,9,10,9,10,9,10,9,10,9,10,9,10,9,10,9,10,11,11,10,11,10,11,10,11,0,11,0,11,12,11,10,11,10,11,10,11,10,13,9,13,9,13,0,13,17,13,17,13,17,13,17,13,17,13,9,13,9,13,14,14,13,14,13,14,13,14,13,14,13,14,13,14,13,14,13,14,13,14,13,14,15,15,14,15,14,15,14,15,14,15,14,15,14,15,0,15,0,15,16,15,0,17,18,17,18,17,18,17,18,17,18,17,18,17,18,17,18,18,17,18,19,18,19,18,19,18,19,18,19,18,19,18,19,18,19,19,18,19,20,19,20,19,20,19,18,19,20,19,20,19,20,19,20,0,1,0,1,1,0,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,17,17,0,17,0,17,0,0,17,0,17,0,17,0,9,0,9,0,5,0,5,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,17,0,17,0,17,0,17,0,17,0,17,0,1,0,1,0,1,0,1,0,0,0,1,0,1,0,1,0,1,0,1,0,2,0,2,0,2,0,1,0,5,0,2,0,5,0,5,0,9,0,9,0,9,0,13,0,13,0,13,0,17,0,17,0,17,0,17,0,17,0,9,0,9,0,5,0,5,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,1,2,2,1,1,2,1,2,1,2,1,2,1,0,1,0,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,5,0,5,0,5,0,5,0,5,0,5,0,5,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,5,0,5,9,5,9,5,9,9,13,13,9,9,13,9,13,17,13,17,0,17,13,17,13,0,17,0,17,17,0,17,0,0,17,17,0,17,0,9,0,9,0,9,0,9,0,9,0,9,0,9,0,18,17,17,18,17,18,18,17,18,17,18,17,18,17,2,3,2,3,2,3,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,9,10,9,10,9,10,9,10,9,10,9,10,9,10,9,10,9,10,9,10,9,10,9,10,9,10,9,10,13,9,13,14,13,0,13,14,13,14,13,14,13,14,13,14,13,17,13,14,13,14,13,14,13,14,13,14,17,18,18,17,17,18,18,17,18,17,18,17,18,17,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,14,15,14,15,14,15,14,15,14,15,14,15,14,15,14,15,14,15,14,15,14,15,14,15,14,15,14,15,15,0,15,16,15,0,15,0,15,16,15,16,15,16,15,16,15,16,15,16,15,16,15,16,15,16,15,16,15,16,15,16,15,16,15,16,19,18,19,18,19,18,19,18,19,18,19,18,19,18,19,18,19,18,19,18,19,18,19,18,19,18,19,18,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,15,16,15,16,15,0,15,16,10,11,10,11,10,11,10,11,10,11,10,11,10,11,10,11,10,9,10,11,10,0,10,11,10,11,10,11,11,12,11,12,11,12,11,12,11,12,11,12,11,10,11,12,11,12,11,12,11,12,11,12,11,0,11,0,11,0,11,12,11,12,11,12,11,12,11,12,11,12,11,12,11,12,11,12,11,12,11,12,11,12,11,12,6,7,6,7,6,7,6,7,7,6,6,7,6,7,6,7,6,7,6,7,6,7,7,6,6,7,6,7,7,8,7,8,7,8,7,8,7,8,7,8,7,6,7,8,7,8,7,8,7,8,7,8,7,8,7,6,7,0,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,0,17,0,17,0,17,0,17,0,1,0,1,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,1,0,1,0,1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,1,0,1,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0,1,2,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,2,2,1,2,1,1,2,1,2,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,1,2,1,1,2,1,2,1,2,1,2,1,2,2,0,0,1,1,0,0,2,0,2,0,2,0,2,0,2,0,1,0,1,0,2,0,2,0,2,0,5,0,5,0,5,0,5,0,5,5,0,5,0,5,0,0,5,0,9,0,5,0,5,5,9,0,9,0,5,0,9,0,9,0,9,0,9,9,0,9,0,9,0,9,0,0,9,9,0,0,9,0,9,0,9,13,9,13,0,0,13,0,13,0,13,0,9,0,13,0,13,13,0,13,0,0,13,0,13,0,13,13,0,0,13,0,13,0,13,0,13,0,13,0,13,0,17,17,0,0,17,0,17,0,17,0,17,0,17,0,17,17,0,0,17,0,17,0,17,0,17,0,5,5,0,5,0,0,5,0,5,0,5,0,5,5,0,5,0,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,17,0,1,0,1,0,17,0,17,0,17,0,17,0,17,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,1,0,0,1,0,1,0,1,0,1,0,1,0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0,1,0,1,0,1,2,1,2,1,0,1,2,1,2,0,2,2,0,0,2,2,0,2,1,2,0,0,2,0,2,0,2,0,2,1,2,1,2,1,2,1,2,1,2,2,1,1,2,2,1,1,2,1,2,1,2,2,1,1,2,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,1,2,3,2,3,2,3,2,0,2,0,2,0,2,3,2,3,2,3,2,3,2,3,2,1,2,1,2,0,2,3,2,1,2,0,2,0,2,3,2,0,2,3,2,3,2,3,2,3,2,3,2,3,2,3,3,2,2,3,2,3,3,2,2,3,2,3,3,2,3,2,2,3,5,9,5,0,5,0,5,0,5,0,5,0,5,0,5,9,5,9,5,9,9,5,5,9,5,9,9,5,9,0,9,5,9,13,9,13,9,0,9,13,9,13,13,9,9,13,13,9,13,9,13,9,13,0,13,0,13,0,13,17,13,17,13,0,13,17,17,13,13,17,17,13,17,13,17,13,17,13,17,0,17,0,0,5,5,0,0,5,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,0,5,0,5,0,5,9,0,9,0,9,5,9,5,0,9,0,9,0,9,9,13,9,0,9,0,0,9,0,9,0,9,0,13,0,17,13,0,0,13,13,17,13,9,13,0,0,17,0,17,17,0,0,17,13,17,17,13,17,0,17,18,17,0,17,0,0,17,0,17,0,17,17,0,17,0,17,0,17,0,0,17,0,17,0,17,17,0,17,0,17,0,17,0,17,18,17,0,17,18,17,0,17,0,17,0,17,0,17,18,17,18,17,18,0,17,0,17,17,0,17,0,0,17,0,17,0,17,17,0,17,18,17,0,17,18,17,13,17,13,13,0,13,17,13,17,13,17,13,9,13,0,13,0,13,17,13,17,13,17,13,9,13,9,13,9,9,13,9,0,9,0,9,5,9,0,9,0,9,13,9,13,9,0,9,5,9,5,9,5,9,13,9,13,9,13,9,5,9,5,9,5,9,13,9,13,13,9,13,9,9,13,9,13,9,13,13,9,13,9,13,9,17,13,17,13,17,13,17,13,17,13,17,18,17,13,5,9,5,9,9,5,5,9,5,9,5,9,5,9,5,9,5,9,5,9,5,9,0,2,0,5,5,0,5,9,5,9,5,0,5,0,5,0,5,0,5,0,5,0,5,6,5,0,5,0,5,0,5,6,5,0,5,9,5,9,5,9,9,5,5,9,5,9,9,5,9,5,9,5,9,5,9,5,9,5,9,5,9,13,9,13,9,13,13,9,9,13,13,9,9,13,9,13,13,17,13,9,13,9,13,9,13,9,13,9,13,17,13,17,13,17,17,13,17,13,17,13,17,18,17,18,17,18,17,18,17,18,17,18,9,10,9,10,9,10,9,10,9,10,9,10,9,10,10,9,9,10,9,10,9,10,9,10,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,14,13,0,13,0,13,14,13,0,18,17,17,18,17,18,18,17,18,17,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,3,2,2,3,3,2,3,2,3,2,2,3,3,2,3,2,3,2,2,3,2,3,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,2,3,2,3,3,2,3,2,3,2,3,2,2,3,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,4,3,2,3,2,3,2,3,2,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,17,18,17,18,17,18,18,17,17,18,17,18,18,17,18,19,18,17,18,17,18,17,18,19,18,17,5,9,5,9,5,6,5,6,5,6,5,6,5,6,5,6,5,6,6,5,6,5,6,5,6,5,6,5,6,5,6,5,5,6,5,6,5,6,6,5,6,5,6,5,5,6,5,6,5,6,6,5,6,5,6,5,5,9,5,6,5,6,6,5,6,5,6,5,13,17,13,17,13,17,13,14,13,17,13,17,13,17,14,13,13,14,13,14,13,14,13,14,14,13,13,14,13,14,13,17,13,17,13,17,13,14,13,17,13,17,14,13,13,14,13,14,14,13,13,14,13,14,9,13,9,10,9,13,9,13,9,10,9,13,9,13,9,10,10,9,9,10,9,10,9,10,10,9,9,10,9,10,9,5,9,13,10,9,9,10,9,10,9,10,9,5,9,5,10,9,9,10,9,10,9,10,9,5,9,5,10,9,9,10,9,10,9,5,9,10,9,5,9,5,10,9,9,10,9,10,9,5,13,14,13,9,13,9,14,13,13,14,13,14,13,14,13,9,13,9,14,13,13,14,13,14,13,14,13,9,13,9,14,13,13,14,13,14,18,17,18,17,17,18,17,18,18,19,18,17,18,17,18,17,18,17,18,17,18,19,18,19,18,19,18,17,18,17,18,17,18,19,18,19,18,19,18,17,17,18,17,18,18,19,18,17,18,17,13,9,13,9,13,0,13,0,14,15,14,0,14,0,14,0,14,15,14,0,14,0,14,15,15,14,14,15,15,14,14,15,14,15,14,13,14,13,14,13,15,14,15,14,15,14,15,14,14,13,14,13,14,13,14,15,15,14,14,15,14,13,14,13,14,13,15,14,14,15,14,15,14,15,14,13,14,13,15,14,14,15,14,15,14,13,14,15,14,13,15,14,14,15,14,15,14,15,14,13,14,13,15,14,15,14,15,14,15,16,15,0,15,16,15,16,15,0,15,16,15,16,15,16,15,16,15,16,15,16,15,16,15,14,15,0,14,13,14,13,15,0,15,14,15,16,15,16,15,14,15,0,15,16,15,14,15,14,15,16,15,16,15,16,15,14,15,14,19,18,18,19,19,18,19,18,19,18,19,18,18,19,18,19,18,19,19,18,19,20,19,18,19,18,19,18,18,19,18,19,19,20,19,18,19,18,19,18,19,18,19,18,19,20,19,18,19,18,19,18,19,18,19,18,19,18,19,20,19,18,19,18,18,19,18,19,19,20,19,18,19,18,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,19,20,10,9,10,11,10,9,10,9,10,11,11,10,10,11,10,11,10,11,10,9,10,9,11,10,10,11,10,11,10,9,10,11,10,9,11,10,10,11,10,11,10,11,10,9,10,11,10,11,10,11,10,11,10,11,10,11,10,0,10,0,10,11,10,11,10,9,10,11,10,9,10,9,11,10,10,11,10,11,10,11,10,11,10,9,11,10,10,11,11,0,11,12,11,12,11,12,11,12,11,12,11,12,11,12,11,12,11,12,11,12,11,10,11,12,11,12,11,12,11,12,11,12,11,12,11,12,11,12,6,7,6,7,6,7,6,7,6,7,6,7,6,7,7,6,6,7,6,7,7,6,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,7,6,7,6,7,6,7,6,7,6,7,6,7,6,6,7,6,7,6,7,7,6,7,6,7,6,6,7,6,7,6,7,7,6,7,6,7,6,6,7,6,7,6,7,7,6,7,6,7,6,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,0,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,10,9,10,0,10,9,11,10,10,11,14,13,13,14,13,14,14,13,13,14,13,14,14,13,13,14,14,13,14,13,14,13,14,13,15,0,15,14,15,14,15,14,17,18,17,18,17,18,18,19,18,19,18,17,18,19,18,0,18,19,18,19,19,18,19,18,18,19,18,19,19,18,19,18,19,0,9,0,9,13,10,9,10,9,10,9,9,0,9,0,9,10,9,0,10,9,10,9,10,9,10,9,10,9,10,9,10,9,10,9,10,9,10,9,11,10,11,10,10,9,10,9,10,9,10,9,11,10,11,10,11,10,11,10,5,0,5,6,5,0,5,0,5,9,5,0,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,7,6,7,7,6,7,6,6,5,6,0,6,0,6,0,7,6,7,6,7,6,7,6,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,2,0,1,0,1,0,1,0,1,0,0,0,1,0,9,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,17,0,17,0,17,0,17,0,17,0,17,0,13,0,17,0,9,0,13,0,9,0,9,0,9,0,5,0,5,0,5,0,5,0,5,0,1,0,1,0,0,0,1,0,0,0,1,0,1,0,1,0,1,0,1,0,17,0,0,0,1,0,1,0,1,0,1,0,1,0,17,0,17,0,17,0,17,0,17,0,17,0,1,0,0,0,0,0,1,0,1,0,2,0,2,0,2,0,2,0,2,0,2,0,1,0,1,0,1,0,1,0,1,0,17,0,17,0,17,0,17,0,1,0,1,3,4,13,0,15,16,15,14,19,20,11,12,11,12,7,8,7,8,14,13,15,0,18,19,9,10,10,9,11,10,5,9,6,7,7,6,17,18,0,2,0,1,0,1,0,1,0,17,0,17,0,17,0,1,0,1,0,1,0,1,0,1,0,1,13,17,13,17,13,17,0,0],skinWeights:[1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,.997058,.002942,.986981,.013019,.999977,0,.950676,.049324,.989126,.010874,.999966,0,.999824,0,.999953,0,.998927,.001073,.996622,.003378,.974438,.025562,1,0,.961379,.038621,.959492,.040508,.9377,.0623,.908176,.091824,.877335,.122665,.960336,.039664,.956672,.043328,.964286,.035714,.9794,.0206,.969476,.030524,.9927,.0072,.965381,.034619,.938216,.061784,.637022,.362978,.546813,.453187,.626262,.373738,.9869,.0131,.9934,.0065,.9947,.0053,.9996,0,.9996,0,.90496,.094544,.9989,.001,.9969,.0031,.996,.004,.998,.0019,.9961,.0038,.9997,0,.985201,.014699,.997641,.002359,.9995,0,.997,.003,.989849,.010151,.513745,.485509,.807583,.192118,.764376,.235435,.71352,.286404,.9989,.0011,.9992,0,.9982,.0017,.659259,.167725,.965456,.021403,.776117,.176573,.419032,.334884,.702,.2601,.7478,.1612,.7352,.2203,.7187,.2449,.9173,.0608,.9543,.0438,.5786,.3786,.460628,.455553,.9918,.0082,.9946,.0053,.9976,.0019,.9981,.0011,.9986,0,.9993,0,.9997,0,.9999,0,.9999,0,.9996,0,.997932,.001968,.940906,.057594,.988043,.011656,.9599,.0401,.98,.0199,.948224,.051776,.49378,.48843,.65252,.340636,.877539,.1191,.9665,.0306,.9814,.0099,.607515,.319858,.625932,.288251,.48817,.419728,.426134,.287353,.951415,.045025,.796603,.203062,.774996,.219728,.572495,.383069,.934549,.040656,.850493,.107237,.439083,.285049,.740125,.191832,.524666,.376475,.723957,.269813,.733325,.266572,.513382,.485424,.595733,.39144,.558114,.370973,.659244,.223289,.799886,.160052,.857179,.083313,.772503,.218122,.982597,.012701,.983722,.015579,.96336,.034667,.943163,.052104,.934368,.050283,.927749,.035165,.907,.0686,.9526,.0301,.978,.0211,.9773,.0223,.9356,.0635,.9354,.0629,.9382,.0565,.9443,.0522,.9178,.0806,.6931,.1644,.4895,.2878,.591,.2142,.6848,.1838,.956,.0391,.4503,.3376,.7527,.2169,.7625,.236,.7201,.2743,.6669,.3265,.4986,.3617,.5135,.3938,.3717,.3088,.3703,.3448,.6297,.2905,.7004,.2943,.9882,.0108,.7273,.2726,.764,.235,.674,.326,.7316,.2684,.9937,.0038,.9942,.0055,.7833,.1698,.9728,.0208,.6093,.3888,.9967,.0024,.942,.0513,.9831,.0136,.8957,.079,.7947,.1662,.5618,.4292,.9893,.006,.9663,.0275,.9484,.0372,.6646,.3246,.6584,.33,.4932,.4925,.8184,.1723,.7588,.2155,.9138,.0688,.8073,.1924,.5969,.4005,.9598,.0266,.9911,.007,.9879,.0119,.984,.0158,.9691,.0299,.9421,.0511,.5526,.4026,.8513,.0687,.7215,.2241,.6409,.282,.6749,.1846,.5347,.3715,.8388,.0856,.9099,.0901,.9997,0,.7336,.2664,.9741,.0259,.5357,.4641,.5396,.4604,.8047,.1951,.8713,.1287,.8782,.1216,.6037,.3957,.6137,.3859,.6296,.3701,.6586,.3412,.8378,.1618,.9455,.0536,.9802,.016,.9771,.0165,.9197,.0801,.8306,.1687,.5514,.448,.8386,.1605,.7459,.2539,.9905,.0057,.9761,.0148,.9594,.0358,.963,.034,.9634,.0339,.9699,.0276,.9802,.0173,.9868,.0101,.7046,.2954,.7362,.2636,.8544,.1448,.933,.0654,.9179,.081,.848,.1516,.8618,.138,.7888,.2111,.5095,.4905,.5596,.4404,.5091,.4909,.5014,.4986,.5673,.4326,.5044,.4956,.9082,.0917,.9404,.0596,.9965,.0029,.997,.0021,.726,.2739,.6956,.304,.9698,.0301,.9561,.0439,.8471,.0981,.5312,.4644,.5726,.4241,.7815,.1816,.6051,.361,.8228,.177,.7794,.22,.793,.2047,.8249,.1725,.7105,.2833,.9795,.0135,.939,.0444,.952,.0337,.9763,.0204,.9703,.025,.9689,.0275,.9708,.0258,.972,.0256,.4997,.494,.9327,.0546,.9366,.0515,.9538,.0356,.6858,.3121,.8593,.1324,.9143,.0709,.8711,.1196,.9969,.0025,.9999,0,.9967,.002,.9896,.0104,.9841,.0158,.9968,.0032,.9944,.0056,.9855,.0077,.9824,.0105,.9806,.0158,.9804,.0195,.7796,.2204,.9902,.0098,.9857,.0139,.9825,.0174,.9876,.012,.9902,.0088,.9948,.004,.9957,.0039,.63,.37,.9053,.0946,.9033,.0967,.7222,.2774,.7496,.2494,.8962,.1029,.8158,.1834,.56,.44,.6529,.3471,.8811,.1189,.5989,.4011,.7469,.2531,.5586,.4414,.5555,.4444,.6266,.3733,.5021,.4979,.508,.492,.883,.117,.9672,.0328,.755,.245,.9887,.0065,.9893,.0075,.9774,.0216,.9854,.0143,.9893,.0105,.991,.0053,.5498,.4502,.734,.2659,.7012,.2988,.8195,.1805,.8099,.1899,.8094,.1902,.8094,.1901,.8097,.19,.5047,.4953,.5044,.4956,.9566,.0433,.9399,.0601,.8512,.1487,.8296,.1702,.8048,.195,.9003,.0996,.7823,.2176,.9177,.0823,.7384,.2616,.9199,.0801,.8454,.1545,.7611,.2387,.7416,.2583,.5251,.4749,.5066,.4934,.9939,.0041,.9835,.0121,.9774,.0222,.983,.0166,.9937,.0035,.9991,0,.9968,.002,.5951,.4049,.8884,.1116,.6385,.3615,.7114,.2885,.7282,.2718,.6853,.3125,.9706,.0282,.7555,.2441,.5213,.4786,.5329,.467,.8167,.1832,.9852,.0147,.9607,.0386,.9925,.0072,.9911,.0088,.9835,.0159,.9408,.0583,.5414,.4586,.5702,.4298,.9871,.0112,.9911,.0047,.9961,.002,.9981,.0017,.9994,0,.7729,.227,.7695,.2305,.802,.1977,.9927,.0073,.9979,.002,.994,.0053,.9284,.071,.6715,.3284,.6767,.3233,.6418,.3582,.9205,.0794,.8065,.1934,.9736,.0259,.9948,.0049,.9873,.0126,.8338,.1662,.6776,.3223,.6839,.3161,.6413,.3586,.9959,.0022,.9983,.0015,.9973,.0025,.9945,.0051,.9891,.0092,.9826,.0129,.9825,.0123,.9885,.0082,.9924,.0046,.803,.1968,.9811,.0166,.9834,.0144,.9831,.0153,.9816,.0175,.9812,.0186,.9898,.01,.99,.0095,.9864,.0126,.9823,.0161,.9933,.004,.9977,.0012,.9991,0,.9989,0,.9895,.0093,.9647,.0328,.9131,.0765,.9476,.0339,.9835,.0074,.6526,.3266,.9667,.0312,.9922,.0065,.9986,0,.9941,.0055,.9536,.0455,.886,.1104,.9153,.0728,.9561,.0197,.9264,.0653,.9321,.0644,.5194,.4806,.9375,.0623,.9591,.0409,.9582,.0418,.8819,.1181,.8092,.1907,.7621,.2377,.7182,.2816,.7221,.2777,.7504,.2494,.8209,.1788,.9884,.0065,.8982,.1009,.8979,.1016,.9379,.0618,.9997,0,1,0,.9948,.0041,.9909,.0091,.9635,.0358,.8968,.1024,.8866,.1124,.8924,.1063,.9859,.0138,.9993,0,.9826,.0155,.8789,.1068,.8284,.1456,.8307,.1347,.8915,.0601,.8899,.0805,.838,.1544,.9927,.0073,.7747,.2253,.7872,.2128,.7658,.2341,.7456,.254,.7197,.2797,.7115,.2876,.7163,.2827,.7355,.2638,.7301,.2696,.7459,.254,.9601,.0396,.9977,.0022,.956,.044,.8524,.1475,.8642,.1357,.9145,.0855,.9951,.0048,.9997,0,.9992,0,.9979,.002,.9996,0,.9907,.0092,.9779,.0214,.9342,.064,.7135,.2803,.6,.3856,.7703,.2112,.9449,.0407,.9874,.0108,.9775,.0215,.9761,.0228,.9747,.0209,.954,.0347,.8648,.1272,.7036,.2919,.7951,.2008,.9383,.0566,.9702,.0286,.9813,.0183,.9823,.0171,.9949,.0047,.9954,.0029,.9894,.0055,.9757,.0145,.9769,.0176,.9739,.0198,.9752,.0212,.826375,.173512,.730706,.267707,.504836,.49487,.924025,.075475,.9649,.0349,.871349,.10596,.995441,.003759,.9987,0,.9998,0,.9996,0,.9972,.0022,.9762,.0182,.9436,.0263,.7301,.2694,.7377,.2622,.7367,.2621,.89,.0534,.8899,.0556,.879,.0859,.8563,.111,.6427,.3359,.9952,.0046,.9917,.0079,.9984,.0012,.842186,.152397,.964836,.03356,.991968,.007232,.942152,.057848,.958282,.041604,.952533,.047467,.954,.046,.959893,.040107,.975255,.021849,.9995,0,.9997,0,.9986,.0013,.9961,.0038,.9948,.0049,.9915,.0082,.8944,.0972,.9943,.0046,.9967,.0031,.9637,.0363,.9908,.0092,.951918,.048082,.9983,0,.9612,.0388,.998,.001,.993323,.004377,.962334,.027025,.842085,.121007,.929389,.036042,.705668,.196408,.579414,.243278,.691318,.174919,.6989,.2835,.820485,.075617,.953665,.01849,.9846,.0098,.9831,.0087,.9839,.014,.9892,.0084,.9946,.0041,.9917,.008,.9964,.0024,.9938,.006,.9744,.0256,.9493,.0499,.9639,.036,.9895,.0045,.9866,.0058,.9805,.0082,.9494,.0267,.747682,.150396,.671395,.171827,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,.9211,.0718,1,0,1,0,1,0,.999112,0,.999932,0,.979338,.020662,.996268,.003732,.976232,.023768,.962223,.037777,.962276,.037724,.971051,.028949,.963965,.036035,.962841,.037159,.963329,.036671,.961976,.038024,.960406,.039594,.962986,.037014,.957476,.042524,.960016,.039984,.959036,.040964,.971046,.028954,.960521,.039479,.958775,.041225,.586857,.413059,.603296,.396704,.759507,.240001,.637243,.362621,.9993,0,.9996,0,.9997,0,.9995,0,.999,.001,.9995,0,.9993,0,.9997,0,.9997,0,.9997,0,.9997,0,.999176,0,.999285,0,.9998,0,.588846,.408542,.840961,.1578,.777768,.221761,.762367,.236533,.937256,.061955,.87461,.122731,.895432,.1031,.9987,.0012,.9991,0,.9986,.0013,.9988,.0011,.9986,.0012,.998,.0019,.9985,.0014,.9971,.0028,.9974,.0024,.9959,.0041,.9969,.003,.995755,.004245,.988499,.011501,.993633,.006267,.993826,.006174,.955925,.044075,.960187,.039813,.960053,.039947,.524231,.473817,.604693,.379063,.740171,.242262,.568071,.420896,.7202,.150911,.80746,.110296,.798903,.154904,.809808,.108992,.9621,.0374,.9864,.0122,.9525,.0472,.978,.0215,.9692,.0307,.9201,.0798,.9571,.0428,.9682,.0317,.8936,.106,.9405,.0588,.9018,.0977,.9155,.084,.9756,.0222,.9685,.0302,.9653,.0336,.9712,.0221,.9377,.0597,.9666,.0309,.9618,.0349,.8882,.1104,.9027,.0962,.9141,.0842,.9241,.0756,.779,.2208,.9223,.0775,.8619,.1339,.8406,.1583,.9512,.0448,.9114,.0864,.5339,.4658,.8987,.1009,.7962,.2034,.9075,.0916,.9453,.054,.9928,.0064,.9779,.0217,.5222,.4757,.9331,.0557,.8616,.1355,.7925,.127,.5742,.3047,.7299,.2251,.7636,.1545,.6938,.1872,.558,.3061,.5453,.4002,.5948,.3175,.7095,.159,.8606,.0756,.7271,.1944,.8037,.1095,.5041,.4959,.5002,.4998,.776,.2239,.5189,.4811,.5262,.4738,.8557,.1441,.5156,.4844,.8522,.1409,.8511,.1436,.9487,.0446,.9077,.0874,.7251,.2633,.9071,.0804,.8502,.142,.8613,.1386,.7415,.2584,.5062,.4938,.7306,.2694,.9715,.0282,.9512,.0487,.9462,.0536,.7194,.2806,.7696,.2304,.8674,.1326,.8415,.1585,.507,.493,.5202,.4798,.5134,.4866,.8189,.1809,.9233,.0755,.5854,.4145,.809,.1907,.9812,.018,.9388,.061,.9651,.0347,.9689,.0308,.7987,.2012,.8234,.1765,.8814,.1185,.969,.0308,.9922,.0074,.9826,.0173,.9871,.0128,.8702,.1298,.8777,.1222,.9344,.0656,.9951,.0034,.9945,.0041,.9983,0,.9965,.0019,.9829,.0163,.9941,.0056,.9933,.0061,.9929,.0048,.9924,.0042,.9981,.001,.9952,.0025,.9864,.0125,.9966,.003,.9945,.0045,.7366,.2631,.8709,.1289,.5016,.4984,.7508,.2491,.9656,.0337,.9362,.0635,.9575,.0422,.9647,.035,.9881,.0111,.9914,.0085,.9861,.0136,.7981,.2018,.9402,.0598,.9409,.059,.986,.014,.9493,.0506,.9866,.0134,.979,.021,.7317,.2682,.9128,.0872,.9097,.0903,.9873,.0126,.9958,.0023,.9981,.0017,.997,.0027,.7898,.2102,.9701,.0299,.9571,.0428,.9915,.006,.9785,.0213,.9965,.0032,.9932,.0064,.761,.239,.9613,.0386,.9514,.0486,.9997,0,.9989,.0011,.9999,0,.9997,0,.9792,.0208,.9539,.0461,.9962,.0037,.985,.015,.8767,.1233,.9271,.0729,.9829,.0171,.9508,.0492,.9503,.0496,.9887,.0111,.9647,.0353,.9966,.0028,.9823,.0176,.9923,.0076,.7522,.2478,.9297,.0702,.8263,.1737,.8966,.1034,.9701,.0296,.9663,.0336,.9714,.0285,.9222,.0778,.7269,.2731,.8168,.1832,.8805,.1195,.9769,.0231,.972,.028,.9638,.0362,.5092,.4908,.7548,.2452,.5146,.4854,.5183,.4817,.5038,.4962,.5031,.4969,.5364,.4636,.5041,.4959,.9955,.0045,.9985,.0015,.9997,0,.9989,.0011,.9911,.0047,.9841,.0147,.9895,.0088,.989,.0089,.92,.0795,.9571,.0425,.9692,.0301,.9977,.002,.9986,.0014,.997,.0025,.9996,0,.8829,.117,.9745,.0255,.9786,.0213,.5039,.4961,.5262,.4738,.5048,.4952,.5033,.4967,.9949,.0048,.9684,.0316,.9797,.02,.9925,.005,.5089,.4911,.8282,.1717,.5249,.4751,.984,.016,1,0,1,0,.9993,0,.5041,.4959,.5103,.4897,.8785,.1215,.5131,.4869,.5069,.4931,.8589,.1411,.5216,.4784,.505,.4949,.8444,.1554,.5123,.4877,.5096,.4904,.8348,.1647,.5224,.4776,.9198,.0802,.9728,.0271,.9828,.0171,.9706,.0294,.7103,.2897,.8898,.1102,.8496,.1504,.9513,.0484,.8815,.1184,.9576,.0422,.9329,.0669,.6038,.3961,.8267,.1732,.7953,.2046,.5074,.4926,.8162,.1838,.51,.49,.5131,.4869,.9755,.0239,.9787,.021,.991,.0064,.9884,.0103,.7907,.2093,.509,.491,.5166,.4834,.9958,.0042,.9981,.0019,.9981,.0018,.9989,0,.5337,.4663,.5799,.4201,.9508,.0492,.7976,.2024,.5193,.4807,.929,.071,.8142,.1858,.5051,.4949,.8126,.1873,.513,.487,.9968,.0028,.9928,.007,.9959,.0038,.9956,.0041,.955672,.026145,.901203,.061482,.921108,.064452,.937046,.045483,1,0,.996022,.003978,1,0,1,0,.995541,.004459,1,0,.997953,.002047,.994348,.005652,.999993,0,.985723,.014277,.999718,0,.996131,.003869,.995453,.004547,.999988,0,.999919,0,.999967,0,1,0,.999997,0,1,0,1,0,1,0,.999623,0,1,0,1,0,.996779,.003221,1,0,.964047,.035953,.95789,.04211,.9754,.0246,.959085,.040915,.958569,.041431,.968964,.031036,.960748,.039252,.979404,.020596,.965177,.034823,.986096,.013904,.998461,.001539,.960941,.039059,.969786,.030214,.960907,.039093,.960358,.039642,.997805,.002195,.981396,.018604,.905649,.094351,.992305,.007695,.990958,.009042,.981881,.018119,.890227,.109773,.985298,.014702,.924232,.075768,.97824,.02176,.984008,.015991,.961102,.038898,.966828,.033172,.98824,.01176,.9929,.0071,.976888,.023112,.980594,.019406,.9901,.0099,.973539,.026461,.982631,.017369,.955609,.044391,.956907,.043093,.956573,.043427,.684234,.315766,.764378,.235622,.564846,.435154,.701538,.298462,.954562,.045438,.956868,.043132,.930412,.069588,.95874,.04126,.763967,.236033,.562901,.437099,.692426,.307574,.83184,.16816,.9447,.0553,.872919,.127081,.961217,.038783,.960788,.039212,.9612,.0388,.9878,.0122,.984,.016,.973529,.026471,.996,.004,.9929,.0071,.9922,.0078,.9941,.0058,.9935,.0065,.982965,.017035,.9992,0,.9984,.0016,.9958,.0042,.9979,.002,.996,.004,.9972,.0028,.973107,.026893,.994542,.005458,.969859,.030141,.929333,.070571,.812216,.187696,.965028,.034773,.972134,.027866,.596396,.403604,.9331,.0668,.630594,.369406,.524892,.475108,.826779,.173093,.59014,.40986,.9941,.0059,.9842,.0157,.9796,.0204,.9933,.0067,.9953,.0047,.9954,.0045,.9943,.0057,.9936,.0063,.9948,.0051,.9946,.0054,.9964,.0036,.9954,.0046,.9999,0,.9999,0,.9998,0,.9999,0,.9998,0,.9996,0,.9998,0,.9997,0,.9998,0,.9998,0,.997959,.002041,.999292,0,.999364,0,.973427,.025874,.986257,.013543,.968607,.031096,.9996,0,.9993,0,.9995,0,.999,0,.9986,.001,.999,0,.9977,.0022,.9984,.0016,.9985,0,.9978,.002,.9983,.0013,.998,.0014,.9966,.0032,.9973,.0025,.9994,0,.9998,0,.995077,.004823,.99429,.00561,.749385,.244324,.9697,.029,.93292,.052115,.909332,.088989,.631073,.306626,.523507,.450464,.61186,.372561,.9734,.0257,.9922,.004,.9909,.0086,.92877,.070578,.9901,.0078,.9779,.0217,.708797,.290219,.94864,.048951,.611137,.388781,.821348,.177833,.743424,.161999,.575727,.361309,.532131,.242296,.537563,.23076,.505127,.353689,.688125,.23343,.50836,.398876,.488221,.385289,.576809,.318348,.771599,.128711,.824569,.129987,.708844,.236326,.764503,.17594,.889203,.092341,.771481,.198433,.931334,.059481,.897871,.069534,.961697,.037232,.777007,.221734,.965804,.032577,.370074,.340552,.39959,.366774,.472598,.306272,.552869,.345876,.493916,.365562,.445689,.419753,.50055,.294284,.617735,.189092,.579013,.303439,.50939,.249643,.676073,.243352,.578794,.254341,.535944,.313271,.9564,.0368,.982998,.008096,.9534,.0414,.8535,.1413,.9795,.0189,.8611,.0918,.6914,.2384,.8627,.1228,.77,.1547,.9421,.034,.9891,.0066,.9602,.0272,.5057,.2849,.5467,.2956,.4178,.394,.8064,.1746,.9474,.0499,.9881,.0086,.9622,.0314,.7377,.1706,.4968,.486,.8272,.1081,.4984,.4427,.8384,.154,.8268,.1569,.9595,.0327,.9914,.0074,.9727,.0252,.4372,.3811,.7421,.1749,.8467,.0839,.3707,.3194,.9779,.0186,.996,.0021,.9823,.0099,.9312,.0671,.9479,.0283,.9525,.0427,.9644,.0352,.9976,.0022,.9939,.0058,.7149,.1669,.7707,.1475,.8855,.1101,.5148,.474,.9898,.0075,.9971,.0026,.9877,.0116,.9847,.0094,.7857,.14,.9342,.0642,.9516,.0359,.9978,.0017,.9907,.009,.9971,.002,.9211,.0787,.9069,.0901,.9162,.0836,.9343,.0656,.9899,.0101,.983,.0169,.6808,.2934,.5077,.4762,.8125,.1851,.5009,.4971,.4983,.4983,.5674,.3948,.522,.4722,.7788,.2182,.5062,.4897,.751861,.10662,.6531,.2608,.8605,.0989,.8116,.1359,.628554,.220492,.7571,.1988,.6128,.3027,.777727,.161748,.798289,.189433,.676874,.288414,.9974,.0023,.9947,.0052,.9961,.0038,.9981,0,.9981,.0013,.9982,.0013,.9984,.001,.9979,.0016,.9981,.0012,.9982,.0015,.9958,.004,.9981,.0015,.9993,0,.9978,.0021,.9989,0,.9998,0,.9994,0,.9997,0,.9999,0,.9998,0,.9999,0,.9999,0,.9999,0,.9999,0,.9998,0,.9998,0,.9999,0,.998964,0,.9994,0,.9996,0,.998104,.001396,.992702,.006999,.997352,.002548,.95853,.040092,.990378,.008524,.982897,.016607,.940222,.053768,.904627,.092202,.952,.048,.959169,.040831,.95809,.04191,.959471,.040529,.9757,.0241,.957562,.042335,.959744,.040155,.986798,.013002,.9912,.0087,.9948,.005,.9903,.0095,.9864,.0135,.9964,.0035,.9935,.0064,.9444,.0556,.9743,.0257,.94195,.05805,.943553,.056447,.817476,.180357,.694849,.296052,.54776,.441947,.54999,.447409,.656535,.340047,.846722,.144237,.701095,.239925,.518966,.44597,.710714,.272047,.663537,.302738,.804289,.178749,.724277,.253723,.45177,.380053,.645522,.231741,.599386,.338309,.780066,.215659,.607271,.392123,.588379,.410258,.911154,.05122,.959274,.030906,.90937,.07829,.957193,.033981,.9872,.0078,.9828,.0106,.944963,.054374,.993,.0059,.507205,.259536,.465543,.298667,.395827,.34927,.765935,.136105,.440959,.371523,.611596,.205161,.793642,.106076,.658918,.179493,.889099,.073805,.860672,.0848,.858513,.124624,.55601,.439414,.811827,.186098,.862139,.131504,.582345,.417655,.629173,.37075,.718857,.280888,.766191,.233284,.50052,.49938,.589067,.379555,.85243,.110178,.550251,.381183,.565349,.271943,.923901,.075907,.993035,.006366,.936702,.059594,.962169,.037539,.830042,.169513,.983693,.015812,.875916,.124084,.768697,.227296,.95089,.047457,.777732,.221329,.780221,.19902,.943707,.04847,.761197,.230396,.848352,.090993,.934619,.042758,.83411,.129127,.866812,.103668,.9405,.0371,.885773,.070063,.929675,.042258,.910338,.062971,.873324,.09211,.981702,.008592,.96516,.023534,.997,.0019,.9963,.0036,.9959,.0022,.9992,0,.9818,.009,.9948,.0024,.9906,.008,.9975,.002,.9935,.003,.9493,.0504,.9945,.0038,.9868,.0074,.9913,.0051,.9801,.0094,.9831,.0123,.9837,.0076,.9669,.0188,.9794,.0109,.9687,.0261,.9505,.0289,.9453,.0547,.9854,.0145,.9458,.0532,.9734,.025,.8377,.1618,.9077,.0916,.8804,.119,.7226,.277,.8513,.1477,.8699,.1292,.6719,.3277,.7351,.2644,.7917,.2077,.7165,.2832,.7368,.2629,.8153,.1845,.9889,.0056,.9664,.0197,.9826,.0165,.9869,.0102,.9947,.005,.9668,.0331,.9837,.0161,.7966,.1443,.9264,.0577,.9215,.0442,.6961,.2451,.5711,.3969,.5449,.375,.8989,.088,.9338,.0382,.8941,.0714,.9205,.0736,.777,.1875,.971,.0151,.9413,.0414,.4924,.4924,.7942,.1701,.4885,.4602,.945,.0494,.9948,.0028,.9647,.0242,.9995,0,.9972,.0021,.9995,0,.992,.0068,.9494,.0304,.9917,.0045,.8655,.1269,.545,.419,.8569,.1181,.6726,.3127,.9693,.0205,.8907,.0909,.985,.0134,.993,.0066,.9901,.0076,.8606,.1355,.8557,.1439,.5002,.4995,.9894,.0105,.9602,.0395,.9747,.0252,.9313,.0673,.9844,.0152,.9618,.0376,.9685,.0296,.8903,.1047,.9395,.0591,.9486,.0341,.725,.2577,.9108,.0751,.857,.1315,.7578,.1899,.7806,.21,.4752,.3443,.7716,.1447,.8106,.1362,.7261,.1651,.8995,.0518,.7656,.1845,.7839,.1326,.8897,.0547,.6734,.2549,.8431,.0895,.7675,.1226,.9181,.0577,.812,.1523,.9082,.0443,.757,.1147,.5635,.265,.7716,.1377,.6066,.1946,.7841,.0958,.7221,.1073,.9226,.0575,.7949,.1885,.5572,.3025,.8263,.1335,.5189,.3544,.4695,.3325,.9173,.0736,.9379,.023,.778,.2083,.9349,.0484,.8475,.1495,.5256,.4734,.731,.2642,.7752,.2234,.9457,.0532,.9732,.0168,.9482,.0492,.5074,.4925,.7726,.227,.5008,.499,.9759,.0241,.9948,.0049,.9633,.0365,.9733,.0267,.9952,.0031,.9987,0,.9947,.0052,.9989,0,.9894,.009,.8147,.1851,.9672,.0325,.9703,.0289,.9845,.012,.9939,.0044,.8264,.1736,.5046,.4954,.9991,0,.9917,.0083,.9209,.0789,.9749,.025,.9521,.0479,.9986,0,.9986,.0013,.9998,0,.9869,.0093,.9655,.0286,.9919,.007,.9998,0,.9983,.0015,.9837,.015,.9986,.0012,.9954,.0042,.9996,0,.9999,0,.9609,.0347,.7062,.2769,.9408,.0555,.9625,.0369,.8334,.1645,.9634,.0354,.9929,.0041,.9814,.0154,.9888,.0082,.9855,.0084,.9774,.0164,.9983,0,.9987,.001,.9946,.0048,.9988,0,.9982,.0013,.9904,.0077,.9972,.0019,.9875,.0122,.9051,.0937,.9822,.0172,.9858,.0129,.9313,.066,.9759,.022,.5198,.4779,.563,.4336,.5959,.4024,.5816,.4156,.9383,.0603,.7511,.2458,.8564,.1425,.6835,.3107,.8983,.0995,.757,.2414,.7052,.2614,.8523,.1368,.593,.3876,.7305,.2557,.8915,.054,.916,.0705,.9469,.037,.8049,.188,.6314,.3623,.5369,.4528,.6514,.3374,.9864,.0109,.9841,.0146,.9417,.0543,.9703,.0264,.9545,.0418,.8303,.1637,.919,.0783,.925716,.026002,.9464,.0387,.9985,0,.9981,.0016,.9973,.0018,.9996,0,.9984,.0015,.9993,0,.9989,0,.9973,.0025,.9984,.0015,.9967,.0019,.9933,.0058,.9966,.003,.9822,.0126,.9931,.0035,.9917,.0068,.9239,.0534,.9812,.0093,.9786,.0106,.5172,.4688,.795,.191,.6348,.3498,.9348,.0272,.953,.0348,.844,.1428,.9242,.0562,.79,.2058,.9324,.0631,.8009,.1922,.8434,.1338,.9609,.0258,.9416,.0361,.5976,.3812,.5622,.4214,.5053,.4758,.9021,.0917,.7721,.2182,.8195,.1083,.9145,.0417,.8219,.1377,.8788,.0565,.879,.1072,.7636,.2205,.6247,.3144,.8777,.0875,.7074,.2208,.8281,.1222,.5734,.3704,.7065,.2389,.9246,.0649,.6824,.3093,.8728,.096,.9158,.0703,.6945,.2913,.8956,.0675,.9762,.0238,.9645,.0355,.9975,.0025,.9932,.0068,.9944,.0055,.9519,.048,.987,.013,.6719,.3281,.8165,.1835,.8658,.1342,.5014,.4986,.8797,.1203,.9999,0,.9998,0,.9997,0,.9999,0,.9998,0,.9997,0,.9999,0,.9957,.0043,.9995,0,.9994,0,.9976,.0024,.9997,0,.9002,.0997,.9509,.0491,.8872,.1128,.9948,.0049,.9884,.0116,.9979,.0021,.9848,.0152,.9955,.0045,.9964,.0036,.9918,.0082,.9986,.0012,.9984,.0016,.9356,.0644,.8466,.1534,.977,.023,.7978,.2022,.9616,.0384,.7549,.245,.8014,.1986,.8495,.1505,.9658,.034,.9324,.0676,.5124,.4876,.942,.0579,.8306,.1694,.7769,.223,.8566,.1432,.834,.1659,.8948,.1043,.9728,.0246,.909,.0904,.9333,.0661,.9704,.0274,.9009,.0986,.9191,.0804,.6418,.3579,.7338,.2659,.7387,.261,.9718,.0262,.9138,.0858,.9127,.0869,.721,.2788,.7823,.2175,.9402,.0594,.9817,.0165,.9395,.0601,.9616,.038,.9903,.008,.964,.0357,.996,.0022,.9899,.0096,.9923,.0075,.9932,.0041,.9574,.0412,.9939,.0056,.9814,.0145,.9473,.052,.9811,.0187,.8157,.1843,.9669,.0318,.9817,.0181,.9889,.0106,.9905,.0094,.8335,.1663,.98,.0162,.9788,.0195,.9853,.0092,.9856,.0098,.9481,.0508,.9858,.0097,.9884,.0073,.9111,.0884,.9867,.011,.9895,.0077,.9097,.0901,.9904,.0085,.9916,.0071,.9235,.0764,.9919,.0075,.52,.48,.5039,.4961,.515,.485,.5107,.4893,.5239,.4761,.5336,.4664,.7691,.2308,.8643,.1356,.5036,.4964,.5097,.4903,.5139,.4861,.5005,.4995,.5042,.4958,.5015,.4985,.501,.499,.5025,.4975,.502,.498,.5007,.4993,.938,.0619,.9714,.0286,.9731,.0269,.7613,.238,.8522,.147,.9163,.0834,.9824,.0162,.9782,.0163,.9514,.0435,.9711,.027,.9946,.0027,.9871,.0118,.9951,.0036,.94,.0484,.8855,.1042,.9839,.0157,.8944,.1056,.9968,.0031,.9923,.0075,.973,.0252,.8596,.1402,.9858,.0136,.9349,.065,.9853,.013,.9123,.0876,.94,.0599,.9165,.0832,.9898,.0088,.9539,.046,.9617,.0297,.8704,.1289,.9805,.0166,.9098,.0899,.9907,.0084,.9339,.066,.964,.0231,.8683,.1299,.9697,.0208,.9163,.0835,.989,.01,.9355,.0643,.9933,.0035,.9132,.0859,.9867,.0079,.915,.0849,.9919,.0076,.9454,.0546,.9725,.0205,.9977,.0019,.9911,.0071,.9675,.0221,.9389,.041,.8424,.1364,.9499,.0349,.7775,.2223,.9029,.0954,.9503,.0493,.9285,.0703,.9464,.0536,.8629,.1371,.9495,.0504,.943,.0405,.9342,.0406,.8241,.1459,.9327,.0437,.9445,.0427,.9604,.015,.9589,.0219,.7588,.2407,.8921,.1056,.8998,.0981,.7387,.2606,.85,.1472,.8931,.1049,.9949,.0036,.9814,.0173,.9822,.0147,.9914,.0067,.9793,.0174,.9796,.0142,.9835,.0131,.9199,.0798,.8235,.1764,.9103,.0891,.9304,.0692,.8009,.199,.8729,.127,.9199,.08,.9779,.0192,.987,.0041,.9882,.0061,.8105,.1894,.9086,.0909,.9236,.076,.9752,.0219,.9846,.0101,.9881,.0063,.7586,.2412,.9129,.0867,.9298,.0699,.9762,.0213,.9867,.0093,.9861,.0097,.7536,.2462,.9148,.0849,.9281,.0716,.9577,.0401,.9706,.028,.9936,.0033,.9911,.0055,.7953,.2045,.7898,.2101,.903,.0969,.8851,.1123,.9413,.0481,.9589,.0217,.9653,.0127,.7623,.237,.861,.1366,.8728,.125,.9542,.0364,.9601,.031,.9625,.0252,.774,.2254,.8873,.111,.8876,.1107,.9776,.0169,.9842,.0145,.9794,.0175,.7943,.2054,.9397,.0599,.9274,.0717,.8158,.1815,.7214,.2757,.9168,.081,.7986,.2003,.948,.045,.9543,.0228,.9692,.0237,.9286,.0626,.8379,.1567,.8371,.1594,.7843,.2114,.9381,.0494,.9583,.0305,.9201,.0694,.6636,.3318,.8127,.1827,.7809,.2159,.9534,.0302,.9538,.0352,.8443,.1521,.9121,.0859,.815,.1824,.9136,.0829,.9756,.0188,.9732,.0157,.9971,.0028,.9907,.009,1,0,.9998,0,.9962,.0038,.9997,0,.9993,0,.9996,0,.9973,.0027,.9997,0,.9997,0,.9554,.0446,.954,.046,.9782,.0218,.9394,.0606,.9771,.0229,.9953,.0031,.9784,.0216,.9915,.0085,.9871,.0129,.9046,.0954,.9974,.0024,.6773,.3227,.8887,.1113,.9698,.0302,.996,.004,.9768,.0231,.8885,.1112,.9752,.0248,.7723,.2276,.9603,.0389,.9916,.0056,.9708,.0289,.907,.0929,.9502,.0493,.946,.0538,.9857,.0076,.9685,.0306,.9697,.0295,.8855,.1144,.9162,.0835,.9554,.0443,.9744,.0245,.9866,.0095,.9753,.0237,.9034,.0965,.5025,.4975,.8233,.1766,.9661,.0325,.9878,.0121,.9852,.0139,.8814,.1186,.985,.0149,.8284,.1716,.9533,.0467,.9996,0,.9906,.0094,.9978,.0022,.9997,0,.9754,.0246,.9987,.0012,.5012,.4988,.5346,.4654,.6514,.3486,.7529,.2471,.7386,.2614,.9982,.0016,.9995,0,.9922,.0077,.9925,.0075,1,0,.9871,.0129,.9989,.001,.9988,.0012,.9968,.0025,.9988,0,.9926,.0069,.9928,.0068,.9952,.0044,.9567,.0432,.9608,.0392,.9962,.0031,.992,.0077,.9929,.0068,.9667,.0333,.799,.201,.8816,.1184,.9964,.0036,.9922,.0078,.8093,.1905,.9062,.0925,.9143,.0853,.937,.0625,.9919,.0079,.9953,.0024,.9725,.027,.9859,.0139,.8195,.1802,.7704,.2285,.8985,.1007,.991,.005,.9583,.0394,.9807,.0187,.8976,.1017,.821,.1783,.7991,.2002,.9853,.0107,.9803,.0173,.9837,.0149,.8957,.1037,.5011,.4985,.7435,.2559,.9697,.0276,.9822,.0136,.9824,.0159,.8553,.1443,.8993,.1002,.7891,.2105,.9804,.0157,.9849,.0137,.9813,.017,.9963,.0036,.932,.068,.5149,.4851,.9776,.0223,.9768,.0232,.9884,.0107,.9221,.0776,.521,.479,.9472,.0527,.5078,.4922,.5013,.4987,.5006,.4994,.5005,.4995,.5248,.4752,.5018,.4982,.9972,.0022,.8561,.1439,.9879,.012,.9905,.0095,.8437,.1563,.5147,.4853,.9769,.0227,.9881,.0118,.9276,.0719,.9376,.0621,.9449,.0543,.9754,.0243,.5165,.4835,.9386,.061,.9419,.0578,.501,.499,.974,.0255,.9909,.005,.9739,.0255,.9758,.0238,.959,.0407,.9177,.0816,.9625,.0372,.9689,.0308,.9905,.0059,.9798,.0196,.9781,.0214,.8975,.1017,.944,.0558,.9635,.0363,.9855,.0137,.9901,.0079,.9849,.0145,.9323,.067,.7659,.234,.9087,.0912,.9952,.0043,.9975,.0014,.9912,.0086,.9971,.0025,.9688,.0311,.8837,.1162,.981,.0189,.9973,.0027,.9993,0,.9993,0,.9242,.0758,.9918,.0082,.9868,.013,.994,.0038,.9783,.0213,.9857,.014,.9277,.072,.9659,.0339,.9361,.0638,.9693,.0306,.9933,.0038,.9825,.0171,.9266,.0729,.9715,.0284,.9995,0,.9688,.0312,.5038,.4962,.9907,.0093,.9965,.002,.9742,.0258,.5003,.4997,.5003,.4997,.988,.0088,.9898,.0092,.995,.005,.989,.0108,.9953,.0047,.9919,.0057,.9945,.0042,.9871,.01,.9917,.0062,.8858,.114,.9859,.0103,.9895,.0079,.9933,.0065,.9647,.0353,.9908,.0091,.9896,.0104,.9973,.0026,.9827,.0173,.9968,.0032,.827,.173,.9066,.0934,.9324,.0676,.8107,.1892,.9018,.0982,.9973,.0024,.8946,.1054,.9922,.0072,.9952,.0045,.8905,.1094,.9888,.0102,.9933,.0061,.981,.019,.9974,.0024,.9564,.0436,.9705,.0295,.9951,.0043,.9494,.0505,.9641,.0359,.8922,.1077,.9877,.0113,.9934,.0061,.9923,.0061,.9421,.0576,.9658,.0341,.8769,.1229,.9869,.0121,.9916,.0078,.988,.0088,.9355,.0642,.9528,.047,.8491,.1508,.9918,.0074,.9893,.0099,.9476,.0522,.9901,.0069,.9488,.051,.9865,.0134,.997,.0016,.9881,.0118,.9724,.0268,.9776,.0219,.9965,.0034,.9971,.0028,.933,.067,.9991,0,.9974,.0026,.5004,.4996,.5028,.4972,.9911,.0085,.9966,.0032,.9012,.0988,.9787,.0205,.993,.0067,.9929,.0071,.9988,0,.9924,.0075,.7767,.2233,.8489,.1511,.7955,.2044,.9291,.0709,.9384,.0615,.8895,.1105,.9752,.0248,.9744,.0256,.9456,.0544,.9793,.0207,.9846,.0152,.9884,.0114,.9965,.0035,.9969,.0031,.999,0,.9744,.0256,.9988,.0012,.9987,.0013,.9685,.0313,.9647,.0346,.9953,.0047,.9745,.0241,.9946,.0028,.9936,.0039,.993,.0068,.9988,0,.9348,.065,.9126,.0872,.9972,.0016,.996,.0031,.9403,.0596,.9774,.0226,.9985,.0012,.9977,.0021,.9995,0,.999,0,.9982,.0013,.8916,.1084,.9582,.0418,.8426,.1574,.9991,0,.9996,0,.9969,.002,.9991,0,.9091,.0907,.8811,.1188,.7853,.2146,.9768,.0231,.8938,.1062,.95,.0499,.9866,.0134,.9262,.0738,.9889,.0104,.9874,.0121,.9187,.0813,.7754,.2245,.995,.0047,.9962,.0036,.9957,.0043,.9987,.0013,.984,.0159,.9577,.0423,.9869,.013,.9929,.0071,.9992,0,.9986,.0013,.9998,0,.9998,0,.9983,.0012,.9996,0,.9439,.0561,.9942,.0057,.9532,.0468,.9213,.0787,.9952,.0048,.9586,.0414,.922,.0779,.9889,.0108,.9494,.0506,.9867,.0124,.9373,.0626,.9955,.0029,.9945,.0044,.9764,.0234,.9673,.0325,.9984,.0012,.9984,0,.999,0,.9995,0,.9894,.0105,.9865,.0135,.9887,.0112,.9947,.0053,.861041,.138186,.671348,.328556,.875011,.124792,.765033,.234699,.950086,.049123,.921374,.075953,.907254,.091683,.797938,.089203,.938926,.046047,.88639,.070168,.991706,.0063,.976806,.01893,.9977,0,.997223,.001477,.9981,.0015,.9983,.001,.9988,0,.9989,0,.9996,0,.9995,0,.9991,0,.9997,0,.9994,0,.9996,0,.998,.0019,.9993,0,.9936,.0059,.9981,.0014,.9972,.0024,.9041,.0951,.9634,.0363,.9234,.0763,.9903,.0034,.9744,.0119,.9703,.0145,.9788,.009,.964,.0226,.9896,.005,.9784,.0137,.9424,.0417,.9801,.0082,.9695,.015,.9109,.0515,.9193,.0657,.9975,.0021,.9979,.0019,.9986,0,.9981,.0017,.9987,0,.9982,.0015,.99403,.00487,.993672,.005928,.9974,.0015,.996992,.002408,.9984,.001,.9989,0,.966175,.031151,.924348,.071373,.985189,.013913,.986078,.010225,.986903,.011703,.9923,.0076,.9964,.0036,.9891,.0107,.9914,.0086,.9834,.0162,.9868,.013,.9953,.0013,.9979,0,.9975,0,.9878,.006,.9949,.0022,.9607,.02,.9827,.007,.72542,.144646,.9239,.0438,.639026,.185857,.613972,.192384,.927871,.072018,.953659,.046041,.940329,.059569,.900405,.099595,.941914,.057967,.9466,.0516,.9853,.013,.9847,.0146,.9103,.0881,.9974,.0026,.998133,.001867,.504,.496,.9998,0,.984,.0159,.9959,.0039,.9343,.0654,.503,.497,.9884,.0078,.5021,.4979,.9848,.0147,.9989,.0011,.9996,0,.939,.0609,.9957,.0022,.9966,.0034,.9761,.0239,.9968,.0022,.9987,.001,.9905,.0094,.9743,.0209,.705149,.146909,.983579,.015821,.975516,.024086,.989454,.009947,.9944,.0035,.985,.0103,.9977,.0013,.716334,.283666,.569249,.430751,.837933,.162067,.951171,.048829,.96165,.03835,.943306,.056694,.597,.3678,.6122,.3606,.5998,.355,1,0],animations:[]}; -var b=function(a,b,c){if(null==a)return a;if(Array.prototype.forEach&&a.forEach===Array.prototype.forEach)a.forEach(b,c);else if(a.length===+a.length){for(var d=0,e=a.length;e>d;d++)if(b.call(c,a[d],d,a)===breaker)return}else for(var f=_.keys(a),d=0,e=f.length;e>d;d++)if(b.call(c,a[f[d]],f[d],a)===breaker)return;return a},c=function(a){return b(Array.prototype.slice.call(arguments,1),function(b){if(b)for(var c in b)a[c]=b[c]}),a},d=function(a){return"function"==typeof a},e=function(a){return null==a?_.identity:d(a)?a:_.property(a)};_map=function(a,b,c){var d=[];return null==a?d:Array.prototype.map&&a.map===Array.prototype.map?a.map(b,c):(each(a,function(a,e,f){d.push(b.call(c,a,e,f))}),d)},_pluck=function(a,b){return _map(a,_property(b))},_property=function(a){return function(b){return b[a]}};var f,g=function(a,b,c){return b=e(b),_pluck(_map(a,function(a,d,e){return{value:a,index:d,criteria:b.call(c,a,d,e)}}).sort(function(a,b){var c=a.criteria,d=b.criteria;if(c!==d){if(c>d||void 0===c)return 1;if(d>c||void 0===d)return-1}return a.index-b.index}),"value")};THREE.Quaternion.prototype.setFromVectors||(THREE.Quaternion.prototype.setFromVectors=function(a,b){var c;return c=(new THREE.Vector3).crossVectors(a,b),this.set(c.x,c.y,c.z,1+a.dot(b)),this.normalize(),this}),THREE.Quaternion.prototype.positionFromWorld||(THREE.Bone.prototype.positionFromWorld=function(a,b){var c,d;return d=this.worldDirection.dot(this.parent.worldDirection),c=Math.acos(d),this.worldAxis.crossVectors(this.parent.worldDirection,this.worldDirection).normalize(),this.worldUp.set(0,0,0).add(this.parent.worldUp.clone().multiplyScalar(d)).add((new THREE.Vector3).crossVectors(this.worldAxis,this.parent.worldUp).multiplyScalar(Math.sin(c))).add(this.worldAxis.clone().multiplyScalar(this.worldAxis.dot(this.parent.worldUp)*(1-d))).normalize(),this.matrix.lookAt(a,b,this.worldUp),this.worldQuaternion.setFromRotationMatrix(this.matrix),this.quaternion.copy(this.parent.worldQuaternion).inverse().multiply(this.worldQuaternion),this}),f=function(a){var b,c;return c=this,this.scene=new THREE.Scene,this.renderer=new THREE.WebGLRenderer({alpha:!0}),this.renderer.setClearColor(0,0),this.renderer.setSize(window.innerWidth,window.innerHeight),this.renderer.domElement.style.position="fixed",this.renderer.domElement.style.top=0,this.renderer.domElement.style.left=0,this.renderer.domElement.style.width="100%",this.renderer.domElement.style.height="100%",a.appendChild(this.renderer.domElement),this.scene.add(new THREE.AmbientLight(8947848)),b=new THREE.PointLight(16777215),b.position=new THREE.Vector3(-20,10,0),b.lookAt(new THREE.Vector3(0,0,0)),this.scene.add(b),this.camera=new THREE.PerspectiveCamera(90,window.innerWidth/window.innerHeight,1,1e3),this.camera.position.fromArray([0,3,15]),this.camera.lookAt(new THREE.Vector3(0,0,0)),window.addEventListener("resize",function(){return c.camera.aspect=window.innerWidth/window.innerHeight,c.camera.updateProjectionMatrix(),c.renderer.setSize(window.innerWidth,window.innerHeight),c.renderer.render(c.scene,c.camera)},!1),c.scene.add(c.camera),c.renderer.render(c.scene,c.camera)},Leap.plugin("riggedHand",function(b){var d,e,h,i,j;return null==b&&(b={}),this.use("handHold"),this.use("handEntry"),this.use("versionCheck",{requiredProtocolVerion:6}),b.offset||(b.offset=new THREE.Vector3(0,-10,0)),b.scale||(b.scale=1),b.positionScale||(b.positionScale=1),b.initScene=f,b.parent||(b.initScene(document.body),b.parent=b.scene,b.renderFn=function(){return b.renderer.render(b.scene,b.camera)}),i=new THREE.Projector,e=function(a){var d,e,f;return d=(new THREE.JSONLoader).parse(a),d.materials[0].skinning=!0,d.materials[0].transparent=!0,d.materials[0].opacity=.7,d.materials[0].emissive.setHex(8947848),d.materials[0].vertexColors=THREE.VertexColors,d.materials[0].depthTest=!1,c(d.materials[0],b.materialOptions),c(d.geometry,b.geometryOptions),e=new THREE.SkinnedMesh(d.geometry,d.materials[0]),e.scale.multiplyScalar(b.scale),e.positionRaw=new THREE.Vector3,e.fingers=e.children[0].children,e.bonesBySkinIndex={},f=0,e.children[0].traverse(function(a){return a.skinIndex=f,e.bonesBySkinIndex[f]=a,f++}),e.boneLabels={},b.boneLabels&&e.traverse(function(a){var c,d,f,g,h,i,j;d=(g=e.boneLabels)[h=a.id]||(g[h]=document.createElement("div")),document.body.appendChild(d),d.style.position="absolute",d.style.zIndex="10",d.style.color="white",d.style.fontSize="20px",d.style.textShadow="0px 0px 3px black",d.style.fontFamily="helvetica",d.style.textAlign="center",i=b.labelAttributes,j=[];for(c in i)f=i[c],j.push(d.setAttribute(c,f));return j}),e.screenPosition=function(a,b){var c;if(!b)throw"No camera provided";return c=new THREE.Vector3,a instanceof THREE.Vector3?c.fromLeap(a.toArray(),this.leapScale):c.fromLeap(a,this.leapScale).sub(this.positionRaw).add(this.position),c=i.projectVector(c,b),c.x=c.x*window.innerWidth/2+window.innerWidth/2,c.y=c.y*window.innerHeight/2+window.innerHeight/2,c},e},e(a.right),THREE.Vector3.prototype.fromLeap||(THREE.Vector3.prototype.fromLeap=function(a,c){return this.fromArray(a).divideScalar(c).add(b.offset)}),j=new THREE.Vector3(0,0,0),this.on("handFound",function(c){var d,f,g,h,i,j,k;for(d=b.lowPoly?lowPolyRigs[c.type]:a[c.type],f=e(d),b.parent.add(f),c.data("riggedHand.mesh",f),g=f.children[0],f.leapScale=(new THREE.Vector3).subVectors((new THREE.Vector3).fromArray(c.fingers[2].pipPosition),(new THREE.Vector3).fromArray(c.fingers[2].mcpPosition)).length()/f.fingers[2].position.length()/b.scale,g.worldUp=new THREE.Vector3,g.positionLeap=new THREE.Vector3,k=f.fingers,i=0,j=k.length;j>i;i++)h=k[i],h.pip=h.children[0],h.dip=h.pip.children[0],h.tip=h.dip.children[0],h.worldQuaternion=new THREE.Quaternion,h.pip.worldQuaternion=new THREE.Quaternion,h.dip.worldQuaternion=new THREE.Quaternion,h.worldAxis=new THREE.Vector3,h.pip.worldAxis=new THREE.Vector3,h.dip.worldAxis=new THREE.Vector3,h.worldDirection=new THREE.Vector3,h.pip.worldDirection=new THREE.Vector3,h.dip.worldDirection=new THREE.Vector3,h.worldUp=new THREE.Vector3,h.pip.worldUp=new THREE.Vector3,h.dip.worldUp=new THREE.Vector3,h.positionLeap=new THREE.Vector3,h.pip.positionLeap=new THREE.Vector3,h.dip.positionLeap=new THREE.Vector3,h.tip.positionLeap=new THREE.Vector3;return g.worldDirection=new THREE.Vector3,g.worldQuaternion=f.quaternion}),this.on("handLost",function(a){var c;return c=a.data("riggedHand.mesh"),b.parent.remove(c),b.boneLabels&&c.children[0].traverse(function(a){return document.body.removeChild(c.boneLabels[a.id])}),b.renderFn?b.renderFn():void 0}),h={},d=new THREE.Mesh(new THREE.IcosahedronGeometry(.3,1),new THREE.MeshNormalMaterial),{frame:function(a){var c,e,f,i,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S;for(b.stats&&b.stats.begin(),N=a.hands,z=0,D=N.length;D>z;z++){for(p=N[z],p.fingers=g(p.fingers,function(a){return a.id}),k=p.data("riggedHand.mesh"),s=k.children[0],s.positionLeap.fromArray(p.palmPosition),O=s.children,m=A=0,E=O.length;E>A;m=++A)r=O[m],r.positionLeap.fromArray(p.fingers[m].mcpPosition),r.pip.positionLeap.fromArray(p.fingers[m].pipPosition),r.dip.positionLeap.fromArray(p.fingers[m].dipPosition),r.tip.positionLeap.fromArray(p.fingers[m].tipPosition);for(s.worldDirection.fromArray(p.direction),s.up.fromArray(p.palmNormal).multiplyScalar(-1),s.worldUp.fromArray(p.palmNormal).multiplyScalar(-1),k.positionRaw.fromLeap(p.palmPosition,k.leapScale),k.position.copy(k.positionRaw).multiplyScalar(b.positionScale),k.matrix.lookAt(s.worldDirection,j,s.up),s.worldQuaternion.setFromRotationMatrix(k.matrix),P=s.children,B=0,F=P.length;F>B;B++)r=P[B],r.traverse(function(a){return a.children[0]?(a.worldDirection.subVectors(a.children[0].positionLeap,a.positionLeap).normalize(),a.positionFromWorld(a.children[0].positionLeap,a.positionLeap)):void 0});if(b.dotsMode)for(Q=p.fingers,m=C=0,G=Q.length;G>C;m=++C)for(o=Q[m],R=["mcp","pip","dip","tip"],J=0,H=R.length;H>J;J++)t=R[J],h[""+t+"-"+m]||(h[""+t+"-"+m]=d.clone(),b.parent.add(h[""+t+"-"+m])),h[""+t+"-"+m].position.fromLeap(o[""+t+"Position"],k.leapScale).sub(k.positionRaw).add(k.position);if(b.boneLabels&&s.traverse(function(a){var c,d;return(c=k.boneLabels[a.id])?(d=k.screenPosition(a.positionLeap,b.camera),c.style.left=""+d.x+"px",c.style.bottom=""+d.y+"px",c.innerHTML=b.boneLabels(a,p)||""):void 0}),b.boneColors){for(i=k.geometry,c={},m=0;mK;K++)for(e=S[K],n=0;3>n;)e.vertexColors[n]=i.colors[e[f[n]]],n++}}return b.renderFn&&b.renderFn(),b.stats?b.stats.end():void 0}}})}).call(this); \ No newline at end of file +var b=function(a,b,c){if(null==a)return a;if(Array.prototype.forEach&&a.forEach===Array.prototype.forEach)a.forEach(b,c);else if(a.length===+a.length){for(var d=0,e=a.length;e>d;d++)if(b.call(c,a[d],d,a)===breaker)return}else for(var f=_.keys(a),d=0,e=f.length;e>d;d++)if(b.call(c,a[f[d]],f[d],a)===breaker)return;return a},c=function(a){return b(Array.prototype.slice.call(arguments,1),function(b){if(b)for(var c in b)a[c]=b[c]}),a},d=function(a){return"function"==typeof a},e=function(a){return null==a?_.identity:d(a)?a:_.property(a)};_map=function(a,b,c){var d=[];return null==a?d:Array.prototype.map&&a.map===Array.prototype.map?a.map(b,c):(each(a,function(a,e,f){d.push(b.call(c,a,e,f))}),d)},_pluck=function(a,b){return _map(a,_property(b))},_property=function(a){return function(b){return b[a]}};var f,g=function(a,b,c){return b=e(b),_pluck(_map(a,function(a,d,e){return{value:a,index:d,criteria:b.call(c,a,d,e)}}).sort(function(a,b){var c=a.criteria,d=b.criteria;if(c!==d){if(c>d||void 0===c)return 1;if(d>c||void 0===d)return-1}return a.index-b.index}),"value")};THREE.Quaternion.prototype.setFromVectors||(THREE.Quaternion.prototype.setFromVectors=function(a,b){var c;return c=(new THREE.Vector3).crossVectors(a,b),this.set(c.x,c.y,c.z,1+a.dot(b)),this.normalize(),this}),THREE.Bone.prototype.positionFromWorld||(THREE.Bone.prototype.positionFromWorld=function(a,b){var c,d;return d=this.worldDirection.dot(this.parent.worldDirection),c=Math.acos(d),this.worldAxis.crossVectors(this.parent.worldDirection,this.worldDirection).normalize(),this.worldUp.set(0,0,0).add(this.parent.worldUp.clone().multiplyScalar(d)).add((new THREE.Vector3).crossVectors(this.worldAxis,this.parent.worldUp).multiplyScalar(Math.sin(c))).add(this.worldAxis.clone().multiplyScalar(this.worldAxis.dot(this.parent.worldUp)*(1-d))).normalize(),this.matrix.lookAt(a,b,this.worldUp),this.worldQuaternion.setFromRotationMatrix(this.matrix),this.quaternion.copy(this.parent.worldQuaternion).inverse().multiply(this.worldQuaternion),this}),f=function(a){var b,c;return c=this,this.scene=new THREE.Scene,this.renderer=new THREE.WebGLRenderer({alpha:!0}),this.renderer.setClearColor(0,0),this.renderer.setSize(window.innerWidth,window.innerHeight),this.renderer.domElement.style.position="fixed",this.renderer.domElement.style.top=0,this.renderer.domElement.style.left=0,this.renderer.domElement.style.width="100%",this.renderer.domElement.style.height="100%",a.appendChild(this.renderer.domElement),this.scene.add(new THREE.AmbientLight(8947848)),b=new THREE.PointLight(16777215),b.position=new THREE.Vector3(-20,10,0),b.lookAt(new THREE.Vector3(0,0,0)),this.scene.add(b),this.camera=new THREE.PerspectiveCamera(90,window.innerWidth/window.innerHeight,1,1e3),this.camera.position.fromArray([0,3,15]),this.camera.lookAt(new THREE.Vector3(0,0,0)),window.addEventListener("resize",function(){return c.camera.aspect=window.innerWidth/window.innerHeight,c.camera.updateProjectionMatrix(),c.renderer.setSize(window.innerWidth,window.innerHeight),c.renderer.render(c.scene,c.camera)},!1),c.scene.add(c.camera),c.renderer.render(c.scene,c.camera)},Leap.plugin("riggedHand",function(b){var d,e,h,i,j;return null==b&&(b={}),this.use("handHold"),this.use("handEntry"),this.use("versionCheck",{requiredProtocolVersion:6}),b.offset||(b.offset=new THREE.Vector3(0,-10,0)),b.scale||(b.scale=1),b.positionScale||(b.positionScale=1),b.initScene=f,b.parent||(b.initScene(document.body),b.parent=b.scene,b.renderFn=function(){return b.renderer.render(b.scene,b.camera)}),i=new THREE.Projector,e=function(a){var d,e,f;return d=(new THREE.JSONLoader).parse(a),d.materials[0].skinning=!0,d.materials[0].transparent=!0,d.materials[0].opacity=.7,d.materials[0].emissive.setHex(8947848),d.materials[0].vertexColors=THREE.VertexColors,d.materials[0].depthTest=!1,c(d.materials[0],b.materialOptions),c(d.geometry,b.geometryOptions),e=new THREE.SkinnedMesh(d.geometry,d.materials[0]),e.scale.multiplyScalar(b.scale),e.positionRaw=new THREE.Vector3,e.fingers=e.children[0].children,e.bonesBySkinIndex={},f=0,e.children[0].traverse(function(a){return a.skinIndex=f,e.bonesBySkinIndex[f]=a,f++}),e.boneLabels={},b.boneLabels&&e.traverse(function(a){var c,d,f,g,h,i,j;d=(g=e.boneLabels)[h=a.id]||(g[h]=document.createElement("div")),document.body.appendChild(d),d.style.position="absolute",d.style.zIndex="10",d.style.color="white",d.style.fontSize="20px",d.style.textShadow="0px 0px 3px black",d.style.fontFamily="helvetica",d.style.textAlign="center",i=b.labelAttributes,j=[];for(c in i)f=i[c],j.push(d.setAttribute(c,f));return j}),e.screenPosition=function(a,b){var c;if(!b)throw"No camera provided";return c=new THREE.Vector3,a instanceof THREE.Vector3?c.fromLeap(a.toArray(),this.leapScale):c.fromLeap(a,this.leapScale).sub(this.positionRaw).add(this.position),c=i.projectVector(c,b),c.x=c.x*window.innerWidth/2+window.innerWidth/2,c.y=c.y*window.innerHeight/2+window.innerHeight/2,c},e},e(a.right),THREE.Vector3.prototype.fromLeap||(THREE.Vector3.prototype.fromLeap=function(a,c){return this.fromArray(a).divideScalar(c).add(b.offset)}),j=new THREE.Vector3(0,0,0),this.on("handFound",function(c){var d,f,g,h,i,j,k;for(d=b.lowPoly?lowPolyRigs[c.type]:a[c.type],f=e(d),b.parent.add(f),c.data("riggedHand.mesh",f),g=f.children[0],f.leapScale=(new THREE.Vector3).subVectors((new THREE.Vector3).fromArray(c.fingers[2].pipPosition),(new THREE.Vector3).fromArray(c.fingers[2].mcpPosition)).length()/f.fingers[2].position.length()/b.scale,g.worldUp=new THREE.Vector3,g.positionLeap=new THREE.Vector3,k=f.fingers,i=0,j=k.length;j>i;i++)h=k[i],h.pip=h.children[0],h.dip=h.pip.children[0],h.tip=h.dip.children[0],h.worldQuaternion=new THREE.Quaternion,h.pip.worldQuaternion=new THREE.Quaternion,h.dip.worldQuaternion=new THREE.Quaternion,h.worldAxis=new THREE.Vector3,h.pip.worldAxis=new THREE.Vector3,h.dip.worldAxis=new THREE.Vector3,h.worldDirection=new THREE.Vector3,h.pip.worldDirection=new THREE.Vector3,h.dip.worldDirection=new THREE.Vector3,h.worldUp=new THREE.Vector3,h.pip.worldUp=new THREE.Vector3,h.dip.worldUp=new THREE.Vector3,h.positionLeap=new THREE.Vector3,h.pip.positionLeap=new THREE.Vector3,h.dip.positionLeap=new THREE.Vector3,h.tip.positionLeap=new THREE.Vector3;return g.worldDirection=new THREE.Vector3,g.worldQuaternion=f.quaternion}),this.on("handLost",function(a){var c;return c=a.data("riggedHand.mesh"),b.parent.remove(c),b.boneLabels&&c.children[0].traverse(function(a){return document.body.removeChild(c.boneLabels[a.id])}),b.renderFn?b.renderFn():void 0}),h={},d=new THREE.Mesh(new THREE.IcosahedronGeometry(.3,1),new THREE.MeshNormalMaterial),{frame:function(a){var c,e,f,i,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S;for(b.stats&&b.stats.begin(),N=a.hands,z=0,D=N.length;D>z;z++){for(p=N[z],p.fingers=g(p.fingers,function(a){return a.id}),k=p.data("riggedHand.mesh"),s=k.children[0],s.positionLeap.fromArray(p.palmPosition),O=s.children,m=A=0,E=O.length;E>A;m=++A)r=O[m],r.positionLeap.fromArray(p.fingers[m].mcpPosition),r.pip.positionLeap.fromArray(p.fingers[m].pipPosition),r.dip.positionLeap.fromArray(p.fingers[m].dipPosition),r.tip.positionLeap.fromArray(p.fingers[m].tipPosition);for(s.worldDirection.fromArray(p.direction),s.up.fromArray(p.palmNormal).multiplyScalar(-1),s.worldUp.fromArray(p.palmNormal).multiplyScalar(-1),k.positionRaw.fromLeap(p.palmPosition,k.leapScale),k.position.copy(k.positionRaw).multiplyScalar(b.positionScale),k.matrix.lookAt(s.worldDirection,j,s.up),s.worldQuaternion.setFromRotationMatrix(k.matrix),P=s.children,B=0,F=P.length;F>B;B++)r=P[B],r.traverse(function(a){return a.children[0]?(a.worldDirection.subVectors(a.children[0].positionLeap,a.positionLeap).normalize(),a.positionFromWorld(a.children[0].positionLeap,a.positionLeap)):void 0});if(b.dotsMode)for(Q=p.fingers,m=C=0,G=Q.length;G>C;m=++C)for(o=Q[m],R=["mcp","pip","dip","tip"],J=0,H=R.length;H>J;J++)t=R[J],h[""+t+"-"+m]||(h[""+t+"-"+m]=d.clone(),b.parent.add(h[""+t+"-"+m])),h[""+t+"-"+m].position.fromLeap(o[""+t+"Position"],k.leapScale).sub(k.positionRaw).add(k.position);if(b.boneLabels&&s.traverse(function(a){var c,d;return(c=k.boneLabels[a.id])?(d=k.screenPosition(a.positionLeap,b.camera),c.style.left=""+d.x+"px",c.style.bottom=""+d.y+"px",c.innerHTML=b.boneLabels(a,p)||""):void 0}),b.boneColors){for(i=k.geometry,c={},m=0;mK;K++)for(e=S[K],n=0;3>n;)e.vertexColors[n]=i.colors[e[f[n]]],n++}}return b.renderFn&&b.renderFn(),b.stats?b.stats.end():void 0}}})}).call(this); \ No newline at end of file diff --git a/examples/advanced.coffee b/examples/advanced.coffee index 52624d3..711853f 100644 --- a/examples/advanced.coffee +++ b/examples/advanced.coffee @@ -124,12 +124,11 @@ if getParam('screenPosition') cursor.style.bottom = screenPosition.y -if getParam('spy') - $.get 'http://lm-007.herokuapp.com/record_json/brian', (data)-> - spy = window.LeapUtils.record_controller(controller, 500) - spy.replay({ - frames: data.frames, - loop: true, - play_same_frames: true - }) +if getParam('playback') + controller.use('playback', { + recording: 'examples/confidence2-49fps.json.lz' + autoPlay: true + pauseOnHand: true + }) + diff --git a/examples/advanced.js b/examples/advanced.js index 4ebf5d4..cbd5047 100644 --- a/examples/advanced.js +++ b/examples/advanced.js @@ -106,15 +106,11 @@ function getParam(name) { }); } - if (getParam('spy')) { - $.get('http://lm-007.herokuapp.com/record_json/brian', function(data) { - var spy; - spy = window.LeapUtils.record_controller(controller, 500); - return spy.replay({ - frames: data.frames, - loop: true, - play_same_frames: true - }); + if (getParam('playback')) { + controller.use('playback', { + recording: 'examples/confidence2-49fps.json.lz', + autoPlay: true, + pauseOnHand: true }); } diff --git a/examples/confidence2-49fps.json.lz b/examples/confidence2-49fps.json.lz new file mode 100644 index 0000000..8c36b2f --- /dev/null +++ b/examples/confidence2-49fps.json.lz @@ -0,0 +1 @@ +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 \ No newline at end of file diff --git a/examples/lib/leap-0.4.3-disconnect.js b/examples/lib/leap-0.4.3-disconnect.js deleted file mode 100644 index 50e629b..0000000 --- a/examples/lib/leap-0.4.3-disconnect.js +++ /dev/null @@ -1,7278 +0,0 @@ -/*! - * LeapJS v0.4.3 - * http://github.com/leapmotion/leapjs/ - * - * Copyright 2013 LeapMotion, Inc. and other contributors - * Released under the BSD-2-Clause license - * http://github.com/leapmotion/leapjs/blob/master/LICENSE.txt - */ -;(function(e,t,n){function i(n,s){if(!t[n]){if(!e[n]){var o=typeof require=="function"&&require;if(!s&&o)return o(n,!0);if(r)return r(n,!0);throw new Error("Cannot find module '"+n+"'")}var u=t[n]={exports:{}};e[n][0].call(u.exports,function(t){var r=e[n][1][t];return i(r?r:t)},u,u.exports)}return t[n].exports}var r=typeof require=="function"&&require;for(var s=0;s= this.size) return undefined; - if (i >= this._buf.length) return undefined; - return this._buf[(this.pos - i - 1) % this.size]; -} - -CircularBuffer.prototype.push = function(o) { - this._buf[this.pos % this.size] = o; - return this.pos++; -} - -},{}],2:[function(require,module,exports){ -var chooseProtocol = require('../protocol').chooseProtocol - , EventEmitter = require('events').EventEmitter - , _ = require('underscore'); - -var BaseConnection = module.exports = function(opts) { - this.opts = _.defaults(opts || {}, { - host : '127.0.0.1', - enableGestures: false, - port: 6437, - background: false, - requestProtocolVersion: 4 - }); - this.host = this.opts.host; - this.port = this.opts.port; - this.protocolVersionVerified = false; - this.on('ready', function() { - this.enableGestures(this.opts.enableGestures); - this.setBackground(this.opts.background); - }); -} - -BaseConnection.prototype.getUrl = function() { - return "ws://" + this.host + ":" + this.port + "/v" + this.opts.requestProtocolVersion + ".json"; -} - -BaseConnection.prototype.setBackground = function(state) { - this.opts.background = state; - if (this.protocol && this.protocol.sendBackground && this.background !== this.opts.background) { - this.background = this.opts.background; - this.protocol.sendBackground(this, this.opts.background); - } -} - -BaseConnection.prototype.handleOpen = function() { - if (!this.connected) { - this.connected = true; - this.emit('connect'); - } -} - -BaseConnection.prototype.enableGestures = function(enabled) { - this.gesturesEnabled = enabled ? true : false; - this.send(this.protocol.encode({"enableGestures": this.gesturesEnabled})); -} - -BaseConnection.prototype.handleClose = function(code, reason) { - if (!this.connected) return; - this.disconnect(); - - // 1001 - an active connection is closed - // 1006 - cannot connect - if (code === 1001 && this.opts.requestProtocolVersion > 1) { - if (this.protocolVersionVerified) { - this.protocolVersionVerified = false; - }else{ - this.opts.requestProtocolVersion--; - } - } - this.startReconnection(); -} - -BaseConnection.prototype.startReconnection = function() { - var connection = this; - if(!this.reconnectionTimer){ - (this.reconnectionTimer = setInterval(function() { connection.reconnect() }, 1000)); - } -} - -BaseConnection.prototype.stopReconnection = function() { - this.reconnectionTimer = clearInterval(this.reconnectionTimer); -} - -// By default, disconnect will prevent auto-reconnection. -// Pass in true to allow the reconnection loop not be interrupted continue -BaseConnection.prototype.disconnect = function(allowReconnect) { - if (!allowReconnect) this.stopReconnection(); - if (!this.socket) return; - this.socket.close(); - delete this.socket; - delete this.protocol; - delete this.background; // This is not persisted when reconnecting to the web socket server - if (this.connected) { - this.connected = false; - this.emit('disconnect'); - } - return true; -} - -BaseConnection.prototype.reconnect = function() { - if (this.connected) { - this.stopReconnection(); - } else { - this.disconnect(true); - this.connect(); - } -} - -BaseConnection.prototype.handleData = function(data) { - var message = JSON.parse(data); - - var messageEvent; - if (this.protocol === undefined) { - messageEvent = this.protocol = chooseProtocol(message); - this.protocolVersionVerified = true; - this.emit('ready'); - } else { - messageEvent = this.protocol(message); - } - this.emit(messageEvent.type, messageEvent); -} - -BaseConnection.prototype.connect = function() { - if (this.socket) return; - this.socket = this.setupSocket(); - return true; -} - -BaseConnection.prototype.send = function(data) { - this.socket.send(data); -} - -BaseConnection.prototype.reportFocus = function(state) { - if (this.focusedState === state) return; - this.focusedState = state; - this.emit(this.focusedState ? 'focus' : 'blur'); - if (this.protocol && this.protocol.sendFocused) { - this.protocol.sendFocused(this, this.focusedState); - } -} - -_.extend(BaseConnection.prototype, EventEmitter.prototype); - - -},{"../protocol":12,"events":18,"underscore":21}],3:[function(require,module,exports){ -var BaseConnection = module.exports = require('./base') - , _ = require('underscore'); - -var BrowserConnection = module.exports = function(opts) { - BaseConnection.call(this, opts); - var connection = this; - this.on('ready', function() { connection.startFocusLoop(); }) - this.on('disconnect', function() { connection.stopFocusLoop(); }) -} - -_.extend(BrowserConnection.prototype, BaseConnection.prototype); - -BrowserConnection.prototype.setupSocket = function() { - var connection = this; - var socket = new WebSocket(this.getUrl()); - socket.onopen = function() { connection.handleOpen(); }; - socket.onclose = function(data) { connection.handleClose(data['code'], data['reason']); }; - socket.onmessage = function(message) { connection.handleData(message.data) }; - return socket; -} - -BrowserConnection.prototype.startFocusLoop = function() { - if (this.focusDetectorTimer) return; - var connection = this; - var propertyName = null; - if (typeof document.hidden !== "undefined") { - propertyName = "hidden"; - } else if (typeof document.mozHidden !== "undefined") { - propertyName = "mozHidden"; - } else if (typeof document.msHidden !== "undefined") { - propertyName = "msHidden"; - } else if (typeof document.webkitHidden !== "undefined") { - propertyName = "webkitHidden"; - } else { - propertyName = undefined; - } - - if (connection.windowVisible === undefined) { - connection.windowVisible = propertyName === undefined ? true : document[propertyName] === false; - } - - var focusListener = window.addEventListener('focus', function(e) { - connection.windowVisible = true; - updateFocusState(); - }); - - var blurListener = window.addEventListener('blur', function(e) { - connection.windowVisible = false; - updateFocusState(); - }); - - this.on('disconnect', function() { - window.removeEventListener('focus', focusListener); - window.removeEventListener('blur', blurListener); - }); - - var updateFocusState = function() { - var isVisible = propertyName === undefined ? true : document[propertyName] === false; - connection.reportFocus(isVisible && connection.windowVisible); - } - - this.focusDetectorTimer = setInterval(updateFocusState, 100); -} - -BrowserConnection.prototype.stopFocusLoop = function() { - if (!this.focusDetectorTimer) return; - clearTimeout(this.focusDetectorTimer); - delete this.focusDetectorTimer; -} - -},{"./base":2,"underscore":21}],4:[function(require,module,exports){ -var process=require("__browserify_process");var Frame = require('./frame') - , Hand = require('./hand') - , Pointable = require('./pointable') - , CircularBuffer = require("./circular_buffer") - , Pipeline = require("./pipeline") - , EventEmitter = require('events').EventEmitter - , gestureListener = require('./gesture').gestureListener - , _ = require('underscore'); - -/** - * Constructs a Controller object. - * - * When creating a Controller object, you may optionally pass in options - * to set the host , set the port, enable gestures, or select the frame event type. - * - * ```javascript - * var controller = new Leap.Controller({ - * host: '127.0.0.1', - * port: 6437, - * enableGestures: true, - * frameEventName: 'animationFrame' - * }); - * ``` - * - * @class Controller - * @memberof Leap - * @classdesc - * The Controller class is your main interface to the Leap Motion Controller. - * - * Create an instance of this Controller class to access frames of tracking data - * and configuration information. Frame data can be polled at any time using the - * [Controller.frame]{@link Leap.Controller#frame}() function. Call frame() or frame(0) to get the most recent - * frame. Set the history parameter to a positive integer to access previous frames. - * A controller stores up to 60 frames in its frame history. - * - * Polling is an appropriate strategy for applications which already have an - * intrinsic update loop, such as a game. - */ - - -var Controller = module.exports = function(opts) { - var inNode = (typeof(process) !== 'undefined' && process.versions && process.versions.node), - controller = this; - - opts = _.defaults(opts || {}, { - inNode: inNode - }); - - this.inNode = opts.inNode; - - opts = _.defaults(opts || {}, { - frameEventName: this.useAnimationLoop() ? 'animationFrame' : 'deviceFrame', - suppressAnimationLoop: !this.useAnimationLoop(), - loopWhileDisconnected: false, - useAllPlugins: false - }); - - this.animationFrameRequested = false; - this.onAnimationFrame = function() { - controller.emit('animationFrame', controller.lastConnectionFrame); - if (controller.loopWhileDisconnected && (controller.connection.focusedState || controller.connection.opts.background) ){ - window.requestAnimationFrame(controller.onAnimationFrame); - }else{ - controller.animationFrameRequested = false; - } - } - this.suppressAnimationLoop = opts.suppressAnimationLoop; - this.loopWhileDisconnected = opts.loopWhileDisconnected; - this.frameEventName = opts.frameEventName; - this.useAllPlugins = opts.useAllPlugins; - this.history = new CircularBuffer(200); - this.lastFrame = Frame.Invalid; - this.lastValidFrame = Frame.Invalid; - this.lastConnectionFrame = Frame.Invalid; - this.accumulatedGestures = []; - if (opts.connectionType === undefined) { - this.connectionType = (this.inBrowser() ? require('./connection/browser') : require('./connection/node')); - } else { - this.connectionType = opts.connectionType; - } - this.connection = new this.connectionType(opts); - this.plugins = {}; - this._pluginPipelineSteps = {}; - this._pluginExtendedMethods = {}; - if (opts.useAllPlugins) this.useRegisteredPlugins(); - this.setupConnectionEvents(); -} - -Controller.prototype.gesture = function(type, cb) { - var creator = gestureListener(this, type); - if (cb !== undefined) { - creator.stop(cb); - } - return creator; -} - -/* - * @returns the controller - */ -Controller.prototype.setBackground = function(state) { - this.connection.setBackground(state); - return this; -} - -Controller.prototype.inBrowser = function() { - return !this.inNode; -} - -Controller.prototype.useAnimationLoop = function() { - return this.inBrowser() && !this.inBackgroundPage(); -} - -Controller.prototype.inBackgroundPage = function(){ - // http://developer.chrome.com/extensions/extension#method-getBackgroundPage - return (typeof(chrome) !== "undefined") && - chrome.extension && - chrome.extension.getBackgroundPage && - (chrome.extension.getBackgroundPage() === window) -} - -/* - * @returns the controller - */ -Controller.prototype.connect = function() { - this.connection.connect(); - return this; -} - - -Controller.prototype.connected = function() { - return !!this.connection.connected; -} - -Controller.prototype.runAnimationLoop = function(){ - if (!this.suppressAnimationLoop && !this.animationFrameRequested) { - this.animationFrameRequested = true; - window.requestAnimationFrame(this.onAnimationFrame); - } -} - -/* - * @returns the controller - */ -Controller.prototype.disconnect = function() { - this.connection.disconnect(); - return this; -} - -/** - * Returns a frame of tracking data from the Leap. - * - * Use the optional history parameter to specify which frame to retrieve. - * Call frame() or frame(0) to access the most recent frame; call frame(1) to - * access the previous frame, and so on. If you use a history value greater - * than the number of stored frames, then the controller returns an invalid frame. - * - * @method frame - * @memberof Leap.Controller.prototype - * @param {number} history The age of the frame to return, counting backwards from - * the most recent frame (0) into the past and up to the maximum age (59). - * @returns {Leap.Frame} The specified frame; or, if no history - * parameter is specified, the newest frame. If a frame is not available at - * the specified history position, an invalid Frame is returned. - */ -Controller.prototype.frame = function(num) { - return this.history.get(num) || Frame.Invalid; -} - -Controller.prototype.loop = function(callback) { - switch (callback.length) { - case 1: - this.on(this.frameEventName, callback); - break; - case 2: - var controller = this; - var scheduler = null; - var immediateRunnerCallback = function(frame) { - callback(frame, function() { - if (controller.lastFrame != frame) { - immediateRunnerCallback(controller.lastFrame); - } else { - controller.once(controller.frameEventName, immediateRunnerCallback); - } - }); - } - this.once(this.frameEventName, immediateRunnerCallback); - break; - } - return this.connect(); -} - -Controller.prototype.addStep = function(step) { - if (!this.pipeline) this.pipeline = new Pipeline(this); - this.pipeline.addStep(step); -} - -// this is run on every deviceFrame -Controller.prototype.processFrame = function(frame) { - if (frame.gestures) { - this.accumulatedGestures = this.accumulatedGestures.concat(frame.gestures); - } - // lastConnectionFrame is used by the animation loop - this.lastConnectionFrame = frame; - this.runAnimationLoop(); - this.emit('deviceFrame', frame); -} - -// on a this.deviceEventName (usually 'animationFrame' in browsers), this emits a 'frame' -Controller.prototype.processFinishedFrame = function(frame) { - this.lastFrame = frame; - if (frame.valid) { - this.lastValidFrame = frame; - } - frame.controller = this; - frame.historyIdx = this.history.push(frame); - if (frame.gestures) { - frame.gestures = this.accumulatedGestures; - this.accumulatedGestures = []; - for (var gestureIdx = 0; gestureIdx != frame.gestures.length; gestureIdx++) { - this.emit("gesture", frame.gestures[gestureIdx], frame); - } - } - if (this.pipeline) { - frame = this.pipeline.run(frame); - if (!frame) frame = Frame.Invalid; - } - this.emit('frame', frame); -} - -Controller.prototype.setupConnectionEvents = function() { - var controller = this; - this.connection.on('frame', function(frame) { - controller.processFrame(frame); - }); - this.on(this.frameEventName, function(frame) { - controller.processFinishedFrame(frame); - }); - - // Delegate connection events - this.connection.on('disconnect', function() { controller.emit('disconnect'); }); - this.connection.on('ready', function() { controller.emit('ready'); }); - this.connection.on('connect', function() { controller.emit('connect'); }); - this.connection.on('focus', function() { controller.emit('focus'); controller.runAnimationLoop(); }); - this.connection.on('blur', function() { controller.emit('blur') }); - this.connection.on('protocol', function(protocol) { controller.emit('protocol', protocol); }); - this.connection.on('deviceConnect', function(evt) { controller.emit(evt.state ? 'deviceConnected' : 'deviceDisconnected'); }); -} - - -Controller._pluginFactories = {}; - -/* - * Registers a plugin, making is accessible to controller.use later on. - * - * @member plugin - * @memberof Leap.Controller.prototype - * @param {String} name The name of the plugin (usually camelCase). - * @param {function} factory A factory method which will return an instance of a plugin. - * The factory receives an optional hash of options, passed in via controller.use. - * - * Valid keys for the object include frame, hand, finger, tool, and pointable. The value - * of each key can be either a function or an object. If given a function, that function - * will be called once for every instance of the object, with that instance injected as an - * argument. This allows decoration of objects with additional data: - * - * ```javascript - * Leap.Controller.plugin('testPlugin', function(options){ - * return { - * frame: function(frame){ - * frame.foo = 'bar'; - * } - * } - * }); - * ``` - * - * When hand is used, the callback is called for every hand in `frame.hands`. Note that - * hand objects are recreated with every new frame, so that data saved on the hand will not - * persist. - * - * ```javascript - * Leap.Controller.plugin('testPlugin', function(){ - * return { - * hand: function(hand){ - * console.log('testPlugin running on hand ' + hand.id); - * } - * } - * }); - * ``` - * - * A factory can return an object to add custom functionality to Frames, Hands, or Pointables. - * The methods are added directly to the object's prototype. Finger and Tool cannot be used here, Pointable - * must be used instead. - * This is encouraged for calculations which may not be necessary on every frame. - * Memoization is also encouraged, for cases where the method may be called many times per frame by the application. - * - * ```javascript - * // This plugin allows hand.usefulData() to be called later. - * Leap.Controller.plugin('testPlugin', function(){ - * return { - * hand: { - * usefulData: function(){ - * console.log('usefulData on hand', this.id); - * // memoize the results on to the hand, preventing repeat work: - * this.x || this.x = someExpensiveCalculation(); - * return this.x; - * } - * } - * } - * }); - * - * Note that the factory pattern allows encapsulation for every plugin instance. - * - * ```javascript - * Leap.Controller.plugin('testPlugin', function(options){ - * options || options = {} - * options.center || options.center = [0,0,0] - * - * privatePrintingMethod = function(){ - * console.log('privatePrintingMethod - options', options); - * } - * - * return { - * pointable: { - * publicPrintingMethod: function(){ - * privatePrintingMethod(); - * } - * } - * } - * }); - * - */ -Controller.plugin = function(pluginName, factory) { - if (this._pluginFactories[pluginName]) { - throw "Plugin \"" + pluginName + "\" already registered"; - } - return this._pluginFactories[pluginName] = factory; -}; - -/* - * Returns a list of registered plugins. - * @returns {Array} Plugin Factories. - */ -Controller.plugins = function() { - return _.keys(this._pluginFactories); -}; - -/* - * Begin using a registered plugin. The plugin's functionality will be added to all frames - * returned by the controller (and/or added to the objects within the frame). - * - The order of plugin execution inside the loop will match the order in which use is called by the application. - * - The plugin be run for both deviceFrames and animationFrames. - * - * If called a second time, the options will be merged with those of the already instantiated plugin. - * - * @method use - * @memberOf Leap.Controller.prototype - * @param pluginName - * @param {Hash} Options to be passed to the plugin's factory. - * @returns the controller - */ -Controller.prototype.use = function(pluginName, options) { - var functionOrHash, pluginFactory, key, pluginInstance, klass; - - pluginFactory = (typeof pluginName == 'function') ? pluginName : Controller._pluginFactories[pluginName]; - - if (!pluginFactory) { - throw 'Leap Plugin ' + pluginName + ' not found.'; - } - - options || (options = {}); - - if (this.plugins[pluginName]){ - _.extend(this.plugins[pluginName], options) - return this; - } - - this.plugins[pluginName] = options; - - pluginInstance = pluginFactory.call(this, options); - - for (key in pluginInstance) { - functionOrHash = pluginInstance[key]; - - if (typeof functionOrHash === 'function') { - if (!this.pipeline) this.pipeline = new Pipeline(this); - if (!this._pluginPipelineSteps[pluginName]) this._pluginPipelineSteps[pluginName] = []; - - this._pluginPipelineSteps[pluginName].push( this.pipeline.addWrappedStep(key, functionOrHash) ); - } else { - if (!this._pluginExtendedMethods[pluginName]) this._pluginExtendedMethods[pluginName] = []; - - switch (key) { - case 'frame': - klass = Frame - break; - case 'hand': - klass = Hand - break; - case 'pointable': - klass = Pointable - break; - default: - throw pluginName + ' specifies invalid object type "' + key + '" for prototypical extension' - } - - _.extend(klass.prototype, functionOrHash); - _.extend(klass.Invalid, functionOrHash); - this._pluginExtendedMethods[pluginName].push([klass, functionOrHash]) - } - } - return this; -}; - -/* - * Stop using a used plugin. This will remove any of the plugin's pipeline methods (those called on every frame) - * and remove any methods which extend frame-object prototypes. - * - * @method stopUsing - * @memberOf Leap.Controller.prototype - * @param pluginName - * @returns the controller - */ -Controller.prototype.stopUsing = function (pluginName) { - var steps = this._pluginPipelineSteps[pluginName], - extMethodHashes = this._pluginExtendedMethods[pluginName], - i = 0, klass, extMethodHash; - - if (!this.plugins[pluginName]) return; - - if (steps) { - for (i = 0; i < steps.length; i++) { - this.pipeline.removeStep(steps[i]); - } - } - - if (extMethodHashes){ - for (i = 0; i < extMethodHashes.length; i++){ - klass = extMethodHashes[i][0] - extMethodHash = extMethodHashes[i][1] - for (var methodName in extMethodHash) { - delete klass.prototype[methodName] - delete klass.Invalid[methodName] - } - } - } - - delete this.plugins[pluginName] - - return this; -} - -Controller.prototype.useRegisteredPlugins = function(){ - for (var plugin in Controller._pluginFactories){ - this.use(plugin); - } -} - - -_.extend(Controller.prototype, EventEmitter.prototype); - -},{"./circular_buffer":1,"./connection/browser":3,"./connection/node":17,"./frame":5,"./gesture":6,"./hand":7,"./pipeline":10,"./pointable":11,"__browserify_process":19,"events":18,"underscore":21}],5:[function(require,module,exports){ -var Hand = require("./hand") - , Pointable = require("./pointable") - , createGesture = require("./gesture").createGesture - , glMatrix = require("gl-matrix") - , mat3 = glMatrix.mat3 - , vec3 = glMatrix.vec3 - , InteractionBox = require("./interaction_box") - , _ = require("underscore"); - -/** - * Constructs a Frame object. - * - * Frame instances created with this constructor are invalid. - * Get valid Frame objects by calling the - * [Controller.frame]{@link Leap.Controller#frame}() function. - * - * @class Frame - * @memberof Leap - * @classdesc - * The Frame class represents a set of hand and finger tracking data detected - * in a single frame. - * - * The Leap detects hands, fingers and tools within the tracking area, reporting - * their positions, orientations and motions in frames at the Leap frame rate. - * - * Access Frame objects using the [Controller.frame]{@link Leap.Controller#frame}() function. - */ -var Frame = module.exports = function(data) { - /** - * Reports whether this Frame instance is valid. - * - * A valid Frame is one generated by the Controller object that contains - * tracking data for all detected entities. An invalid Frame contains no - * actual tracking data, but you can call its functions without risk of a - * undefined object exception. The invalid Frame mechanism makes it more - * convenient to track individual data across the frame history. For example, - * you can invoke: - * - * ```javascript - * var finger = controller.frame(n).finger(fingerID); - * ``` - * - * for an arbitrary Frame history value, "n", without first checking whether - * frame(n) returned a null object. (You should still check that the - * returned Finger instance is valid.) - * - * @member valid - * @memberof Leap.Frame.prototype - * @type {Boolean} - */ - this.valid = true; - /** - * A unique ID for this Frame. Consecutive frames processed by the Leap - * have consecutive increasing values. - * @member id - * @memberof Leap.Frame.prototype - * @type {String} - */ - this.id = data.id; - /** - * The frame capture time in microseconds elapsed since the Leap started. - * @member timestamp - * @memberof Leap.Frame.prototype - * @type {number} - */ - this.timestamp = data.timestamp; - /** - * The list of Hand objects detected in this frame, given in arbitrary order. - * The list can be empty if no hands are detected. - * - * @member hands[] - * @memberof Leap.Frame.prototype - * @type {Leap.Hand} - */ - this.hands = []; - this.handsMap = {}; - /** - * The list of Pointable objects (fingers and tools) detected in this frame, - * given in arbitrary order. The list can be empty if no fingers or tools are - * detected. - * - * @member pointables[] - * @memberof Leap.Frame.prototype - * @type {Leap.Pointable} - */ - this.pointables = []; - /** - * The list of Tool objects detected in this frame, given in arbitrary order. - * The list can be empty if no tools are detected. - * - * @member tools[] - * @memberof Leap.Frame.prototype - * @type {Leap.Pointable} - */ - this.tools = []; - /** - * The list of Finger objects detected in this frame, given in arbitrary order. - * The list can be empty if no fingers are detected. - * @member fingers[] - * @memberof Leap.Frame.prototype - * @type {Leap.Pointable} - */ - this.fingers = []; - - /** - * The InteractionBox associated with the current frame. - * - * @member interactionBox - * @memberof Leap.Frame.prototype - * @type {Leap.InteractionBox} - */ - if (data.interactionBox) { - this.interactionBox = new InteractionBox(data.interactionBox); - } - this.gestures = []; - this.pointablesMap = {}; - this._translation = data.t; - this._rotation = _.flatten(data.r); - this._scaleFactor = data.s; - this.data = data; - this.type = 'frame'; // used by event emitting - this.currentFrameRate = data.currentFrameRate; - var handMap = {}; - for (var handIdx = 0, handCount = data.hands.length; handIdx != handCount; handIdx++) { - var hand = new Hand(data.hands[handIdx]); - hand.frame = this; - this.hands.push(hand); - this.handsMap[hand.id] = hand; - handMap[hand.id] = handIdx; - } - for (var pointableIdx = 0, pointableCount = data.pointables.length; pointableIdx != pointableCount; pointableIdx++) { - var pointable = new Pointable(data.pointables[pointableIdx]); - pointable.frame = this; - this.pointables.push(pointable); - this.pointablesMap[pointable.id] = pointable; - (pointable.tool ? this.tools : this.fingers).push(pointable); - if (pointable.handId !== undefined && handMap.hasOwnProperty(pointable.handId)) { - var hand = this.hands[handMap[pointable.handId]]; - hand.pointables.push(pointable); - (pointable.tool ? hand.tools : hand.fingers).push(pointable); - } - } - - if (data.gestures) { - /** - * The list of Gesture objects detected in this frame, given in arbitrary order. - * The list can be empty if no gestures are detected. - * - * Circle and swipe gestures are updated every frame. Tap gestures - * only appear in the list for a single frame. - * @member gestures[] - * @memberof Leap.Frame.prototype - * @type {Leap.Gesture} - */ - for (var gestureIdx = 0, gestureCount = data.gestures.length; gestureIdx != gestureCount; gestureIdx++) { - this.gestures.push(createGesture(data.gestures[gestureIdx])); - } - } -} - -/** - * The tool with the specified ID in this frame. - * - * Use the Frame tool() function to retrieve a tool from - * this frame using an ID value obtained from a previous frame. - * This function always returns a Pointable object, but if no tool - * with the specified ID is present, an invalid Pointable object is returned. - * - * Note that ID values persist across frames, but only until tracking of a - * particular object is lost. If tracking of a tool is lost and subsequently - * regained, the new Pointable object representing that tool may have a - * different ID than that representing the tool in an earlier frame. - * - * @method tool - * @memberof Leap.Frame.prototype - * @param {String} id The ID value of a Tool object from a previous frame. - * @returns {Leap.Pointable} The tool with the - * matching ID if one exists in this frame; otherwise, an invalid Pointable object - * is returned. - */ -Frame.prototype.tool = function(id) { - var pointable = this.pointable(id); - return pointable.tool ? pointable : Pointable.Invalid; -} - -/** - * The Pointable object with the specified ID in this frame. - * - * Use the Frame pointable() function to retrieve the Pointable object from - * this frame using an ID value obtained from a previous frame. - * This function always returns a Pointable object, but if no finger or tool - * with the specified ID is present, an invalid Pointable object is returned. - * - * Note that ID values persist across frames, but only until tracking of a - * particular object is lost. If tracking of a finger or tool is lost and subsequently - * regained, the new Pointable object representing that finger or tool may have - * a different ID than that representing the finger or tool in an earlier frame. - * - * @method pointable - * @memberof Leap.Frame.prototype - * @param {String} id The ID value of a Pointable object from a previous frame. - * @returns {Leap.Pointable} The Pointable object with - * the matching ID if one exists in this frame; - * otherwise, an invalid Pointable object is returned. - */ -Frame.prototype.pointable = function(id) { - return this.pointablesMap[id] || Pointable.Invalid; -} - -/** - * The finger with the specified ID in this frame. - * - * Use the Frame finger() function to retrieve the finger from - * this frame using an ID value obtained from a previous frame. - * This function always returns a Finger object, but if no finger - * with the specified ID is present, an invalid Pointable object is returned. - * - * Note that ID values persist across frames, but only until tracking of a - * particular object is lost. If tracking of a finger is lost and subsequently - * regained, the new Pointable object representing that physical finger may have - * a different ID than that representing the finger in an earlier frame. - * - * @method finger - * @memberof Leap.Frame.prototype - * @param {String} id The ID value of a finger from a previous frame. - * @returns {Leap.Pointable} The finger with the - * matching ID if one exists in this frame; otherwise, an invalid Pointable - * object is returned. - */ -Frame.prototype.finger = function(id) { - var pointable = this.pointable(id); - return !pointable.tool ? pointable : Pointable.Invalid; -} - -/** - * The Hand object with the specified ID in this frame. - * - * Use the Frame hand() function to retrieve the Hand object from - * this frame using an ID value obtained from a previous frame. - * This function always returns a Hand object, but if no hand - * with the specified ID is present, an invalid Hand object is returned. - * - * Note that ID values persist across frames, but only until tracking of a - * particular object is lost. If tracking of a hand is lost and subsequently - * regained, the new Hand object representing that physical hand may have - * a different ID than that representing the physical hand in an earlier frame. - * - * @method hand - * @memberof Leap.Frame.prototype - * @param {String} id The ID value of a Hand object from a previous frame. - * @returns {Leap.Hand} The Hand object with the matching - * ID if one exists in this frame; otherwise, an invalid Hand object is returned. - */ -Frame.prototype.hand = function(id) { - return this.handsMap[id] || Hand.Invalid; -} - -/** - * The angle of rotation around the rotation axis derived from the overall - * rotational motion between the current frame and the specified frame. - * - * The returned angle is expressed in radians measured clockwise around - * the rotation axis (using the right-hand rule) between the start and end frames. - * The value is always between 0 and pi radians (0 and 180 degrees). - * - * The Leap derives frame rotation from the relative change in position and - * orientation of all objects detected in the field of view. - * - * If either this frame or sinceFrame is an invalid Frame object, then the - * angle of rotation is zero. - * - * @method rotationAngle - * @memberof Leap.Frame.prototype - * @param {Leap.Frame} sinceFrame The starting frame for computing the relative rotation. - * @param {number[]} [axis] The axis to measure rotation around. - * @returns {number} A positive value containing the heuristically determined - * rotational change between the current frame and that specified in the sinceFrame parameter. - */ -Frame.prototype.rotationAngle = function(sinceFrame, axis) { - if (!this.valid || !sinceFrame.valid) return 0.0; - - var rot = this.rotationMatrix(sinceFrame); - var cs = (rot[0] + rot[4] + rot[8] - 1.0)*0.5 - var angle = Math.acos(cs); - angle = isNaN(angle) ? 0.0 : angle; - - if (axis !== undefined) { - var rotAxis = this.rotationAxis(sinceFrame); - angle *= vec3.dot(rotAxis, vec3.normalize(vec3.create(), axis)); - } - - return angle; -} - -/** - * The axis of rotation derived from the overall rotational motion between - * the current frame and the specified frame. - * - * The returned direction vector is normalized. - * - * The Leap derives frame rotation from the relative change in position and - * orientation of all objects detected in the field of view. - * - * If either this frame or sinceFrame is an invalid Frame object, or if no - * rotation is detected between the two frames, a zero vector is returned. - * - * @method rotationAxis - * @memberof Leap.Frame.prototype - * @param {Leap.Frame} sinceFrame The starting frame for computing the relative rotation. - * @returns {number[]} A normalized direction vector representing the axis of the heuristically determined - * rotational change between the current frame and that specified in the sinceFrame parameter. - */ -Frame.prototype.rotationAxis = function(sinceFrame) { - if (!this.valid || !sinceFrame.valid) return vec3.create(); - return vec3.normalize(vec3.create(), [ - this._rotation[7] - sinceFrame._rotation[5], - this._rotation[2] - sinceFrame._rotation[6], - this._rotation[3] - sinceFrame._rotation[1] - ]); -} - -/** - * The transform matrix expressing the rotation derived from the overall - * rotational motion between the current frame and the specified frame. - * - * The Leap derives frame rotation from the relative change in position and - * orientation of all objects detected in the field of view. - * - * If either this frame or sinceFrame is an invalid Frame object, then - * this method returns an identity matrix. - * - * @method rotationMatrix - * @memberof Leap.Frame.prototype - * @param {Leap.Frame} sinceFrame The starting frame for computing the relative rotation. - * @returns {number[]} A transformation matrix containing the heuristically determined - * rotational change between the current frame and that specified in the sinceFrame parameter. - */ -Frame.prototype.rotationMatrix = function(sinceFrame) { - if (!this.valid || !sinceFrame.valid) return mat3.create(); - var transpose = mat3.transpose(mat3.create(), this._rotation) - return mat3.multiply(mat3.create(), sinceFrame._rotation, transpose); -} - -/** - * The scale factor derived from the overall motion between the current frame and the specified frame. - * - * The scale factor is always positive. A value of 1.0 indicates no scaling took place. - * Values between 0.0 and 1.0 indicate contraction and values greater than 1.0 indicate expansion. - * - * The Leap derives scaling from the relative inward or outward motion of all - * objects detected in the field of view (independent of translation and rotation). - * - * If either this frame or sinceFrame is an invalid Frame object, then this method returns 1.0. - * - * @method scaleFactor - * @memberof Leap.Frame.prototype - * @param {Leap.Frame} sinceFrame The starting frame for computing the relative scaling. - * @returns {number} A positive value representing the heuristically determined - * scaling change ratio between the current frame and that specified in the sinceFrame parameter. - */ -Frame.prototype.scaleFactor = function(sinceFrame) { - if (!this.valid || !sinceFrame.valid) return 1.0; - return Math.exp(this._scaleFactor - sinceFrame._scaleFactor); -} - -/** - * The change of position derived from the overall linear motion between the - * current frame and the specified frame. - * - * The returned translation vector provides the magnitude and direction of the - * movement in millimeters. - * - * The Leap derives frame translation from the linear motion of all objects - * detected in the field of view. - * - * If either this frame or sinceFrame is an invalid Frame object, then this - * method returns a zero vector. - * - * @method translation - * @memberof Leap.Frame.prototype - * @param {Leap.Frame} sinceFrame The starting frame for computing the relative translation. - * @returns {number[]} A vector representing the heuristically determined change in - * position of all objects between the current frame and that specified in the sinceFrame parameter. - */ -Frame.prototype.translation = function(sinceFrame) { - if (!this.valid || !sinceFrame.valid) return vec3.create(); - return vec3.subtract(vec3.create(), this._translation, sinceFrame._translation); -} - -/** - * A string containing a brief, human readable description of the Frame object. - * - * @method toString - * @memberof Leap.Frame.prototype - * @returns {String} A brief description of this frame. - */ -Frame.prototype.toString = function() { - var str = "Frame [ id:"+this.id+" | timestamp:"+this.timestamp+" | Hand count:("+this.hands.length+") | Pointable count:("+this.pointables.length+")"; - if (this.gestures) str += " | Gesture count:("+this.gestures.length+")"; - str += " ]"; - return str; -} - -/** - * Returns a JSON-formatted string containing the hands, pointables and gestures - * in this frame. - * - * @method dump - * @memberof Leap.Frame.prototype - * @returns {String} A JSON-formatted string. - */ -Frame.prototype.dump = function() { - var out = ''; - out += "Frame Info:
"; - out += this.toString(); - out += "

Hands:
" - for (var handIdx = 0, handCount = this.hands.length; handIdx != handCount; handIdx++) { - out += " "+ this.hands[handIdx].toString() + "
"; - } - out += "

Pointables:
"; - for (var pointableIdx = 0, pointableCount = this.pointables.length; pointableIdx != pointableCount; pointableIdx++) { - out += " "+ this.pointables[pointableIdx].toString() + "
"; - } - if (this.gestures) { - out += "

Gestures:
"; - for (var gestureIdx = 0, gestureCount = this.gestures.length; gestureIdx != gestureCount; gestureIdx++) { - out += " "+ this.gestures[gestureIdx].toString() + "
"; - } - } - out += "

Raw JSON:
"; - out += JSON.stringify(this.data); - return out; -} - -/** - * An invalid Frame object. - * - * You can use this invalid Frame in comparisons testing - * whether a given Frame instance is valid or invalid. (You can also check the - * [Frame.valid]{@link Leap.Frame#valid} property.) - * - * @static - * @type {Leap.Frame} - * @name Invalid - * @memberof Leap.Frame - */ -Frame.Invalid = { - valid: false, - hands: [], - fingers: [], - tools: [], - gestures: [], - pointables: [], - pointable: function() { return Pointable.Invalid }, - finger: function() { return Pointable.Invalid }, - hand: function() { return Hand.Invalid }, - toString: function() { return "invalid frame" }, - dump: function() { return this.toString() }, - rotationAngle: function() { return 0.0; }, - rotationMatrix: function() { return mat3.create(); }, - rotationAxis: function() { return vec3.create(); }, - scaleFactor: function() { return 1.0; }, - translation: function() { return vec3.create(); } -}; - -},{"./gesture":6,"./hand":7,"./interaction_box":9,"./pointable":11,"gl-matrix":20,"underscore":21}],6:[function(require,module,exports){ -var glMatrix = require("gl-matrix") - , vec3 = glMatrix.vec3 - , EventEmitter = require('events').EventEmitter - , _ = require('underscore'); - -/** - * Constructs a new Gesture object. - * - * An uninitialized Gesture object is considered invalid. Get valid instances - * of the Gesture class, which will be one of the Gesture subclasses, from a - * Frame object. - * - * @class Gesture - * @abstract - * @memberof Leap - * @classdesc - * The Gesture class represents a recognized movement by the user. - * - * The Leap watches the activity within its field of view for certain movement - * patterns typical of a user gesture or command. For example, a movement from side to - * side with the hand can indicate a swipe gesture, while a finger poking forward - * can indicate a screen tap gesture. - * - * When the Leap recognizes a gesture, it assigns an ID and adds a - * Gesture object to the frame gesture list. For continuous gestures, which - * occur over many frames, the Leap updates the gesture by adding - * a Gesture object having the same ID and updated properties in each - * subsequent frame. - * - * **Important:** Recognition for each type of gesture must be enabled; - * otherwise **no gestures are recognized or reported**. - * - * Subclasses of Gesture define the properties for the specific movement patterns - * recognized by the Leap. - * - * The Gesture subclasses for include: - * - * * CircleGesture -- A circular movement by a finger. - * * SwipeGesture -- A straight line movement by the hand with fingers extended. - * * ScreenTapGesture -- A forward tapping movement by a finger. - * * KeyTapGesture -- A downward tapping movement by a finger. - * - * Circle and swipe gestures are continuous and these objects can have a - * state of start, update, and stop. - * - * The screen tap gesture is a discrete gesture. The Leap only creates a single - * ScreenTapGesture object appears for each tap and it always has a stop state. - * - * Get valid Gesture instances from a Frame object. You can get a list of gestures - * from the Frame gestures array. You can also use the Frame gesture() method - * to find a gesture in the current frame using an ID value obtained in a - * previous frame. - * - * Gesture objects can be invalid. For example, when you get a gesture by ID - * using Frame.gesture(), and there is no gesture with that ID in the current - * frame, then gesture() returns an Invalid Gesture object (rather than a null - * value). Always check object validity in situations where a gesture might be - * invalid. - */ -var createGesture = exports.createGesture = function(data) { - var gesture; - switch (data.type) { - case 'circle': - gesture = new CircleGesture(data); - break; - case 'swipe': - gesture = new SwipeGesture(data); - break; - case 'screenTap': - gesture = new ScreenTapGesture(data); - break; - case 'keyTap': - gesture = new KeyTapGesture(data); - break; - default: - throw "unkown gesture type"; - } - /** - * The gesture ID. - * - * All Gesture objects belonging to the same recognized movement share the - * same ID value. Use the ID value with the Frame::gesture() method to - * find updates related to this Gesture object in subsequent frames. - * - * @member id - * @memberof Leap.Gesture.prototype - * @type {number} - */ - gesture.id = data.id; - /** - * The list of hands associated with this Gesture, if any. - * - * If no hands are related to this gesture, the list is empty. - * - * @member handIds - * @memberof Leap.Gesture.prototype - * @type {Array} - */ - gesture.handIds = data.handIds; - /** - * The list of fingers and tools associated with this Gesture, if any. - * - * If no Pointable objects are related to this gesture, the list is empty. - * - * @member pointableIds - * @memberof Leap.Gesture.prototype - * @type {Array} - */ - gesture.pointableIds = data.pointableIds; - /** - * The elapsed duration of the recognized movement up to the - * frame containing this Gesture object, in microseconds. - * - * The duration reported for the first Gesture in the sequence (with the - * start state) will typically be a small positive number since - * the movement must progress far enough for the Leap to recognize it as - * an intentional gesture. - * - * @member duration - * @memberof Leap.Gesture.prototype - * @type {number} - */ - gesture.duration = data.duration; - /** - * The gesture ID. - * - * Recognized movements occur over time and have a beginning, a middle, - * and an end. The 'state()' attribute reports where in that sequence this - * Gesture object falls. - * - * Possible values for the state field are: - * - * * start - * * update - * * stop - * - * @member state - * @memberof Leap.Gesture.prototype - * @type {String} - */ - gesture.state = data.state; - /** - * The gesture type. - * - * Possible values for the type field are: - * - * * circle - * * swipe - * * screenTap - * * keyTap - * - * @member type - * @memberof Leap.Gesture.prototype - * @type {String} - */ - gesture.type = data.type; - return gesture; -} - -/* - * Returns a builder object, which uses method chaining for gesture callback binding. - */ -var gestureListener = exports.gestureListener = function(controller, type) { - var handlers = {}; - var gestureMap = {}; - - controller.on('gesture', function(gesture, frame) { - if (gesture.type == type) { - if (gesture.state == "start" || gesture.state == "stop") { - if (gestureMap[gesture.id] === undefined) { - var gestureTracker = new Gesture(gesture, frame); - gestureMap[gesture.id] = gestureTracker; - _.each(handlers, function(cb, name) { - gestureTracker.on(name, cb); - }); - } - } - gestureMap[gesture.id].update(gesture, frame); - if (gesture.state == "stop") { - delete gestureMap[gesture.id]; - } - } - }); - var builder = { - start: function(cb) { - handlers['start'] = cb; - return builder; - }, - stop: function(cb) { - handlers['stop'] = cb; - return builder; - }, - complete: function(cb) { - handlers['stop'] = cb; - return builder; - }, - update: function(cb) { - handlers['update'] = cb; - return builder; - } - } - return builder; -} - -var Gesture = exports.Gesture = function(gesture, frame) { - this.gestures = [gesture]; - this.frames = [frame]; -} - -Gesture.prototype.update = function(gesture, frame) { - this.lastGesture = gesture; - this.lastFrame = frame; - this.gestures.push(gesture); - this.frames.push(frame); - this.emit(gesture.state, this); -} - -Gesture.prototype.translation = function() { - return vec3.subtract(vec3.create(), this.lastGesture.startPosition, this.lastGesture.position); -} - -_.extend(Gesture.prototype, EventEmitter.prototype); - -/** - * Constructs a new CircleGesture object. - * - * An uninitialized CircleGesture object is considered invalid. Get valid instances - * of the CircleGesture class from a Frame object. - * - * @class CircleGesture - * @memberof Leap - * @augments Leap.Gesture - * @classdesc - * The CircleGesture classes represents a circular finger movement. - * - * A circle movement is recognized when the tip of a finger draws a circle - * within the Leap field of view. - * - * ![CircleGesture](images/Leap_Gesture_Circle.png) - * - * Circle gestures are continuous. The CircleGesture objects for the gesture have - * three possible states: - * - * * start -- The circle gesture has just started. The movement has - * progressed far enough for the recognizer to classify it as a circle. - * * update -- The circle gesture is continuing. - * * stop -- The circle gesture is finished. - */ -var CircleGesture = function(data) { - /** - * The center point of the circle within the Leap frame of reference. - * - * @member center - * @memberof Leap.CircleGesture.prototype - * @type {number[]} - */ - this.center = data.center; - /** - * The normal vector for the circle being traced. - * - * If you draw the circle clockwise, the normal vector points in the same - * general direction as the pointable object drawing the circle. If you draw - * the circle counterclockwise, the normal points back toward the - * pointable. If the angle between the normal and the pointable object - * drawing the circle is less than 90 degrees, then the circle is clockwise. - * - * ```javascript - * var clockwiseness; - * if (circle.pointable.direction.angleTo(circle.normal) <= PI/4) { - * clockwiseness = "clockwise"; - * } - * else - * { - * clockwiseness = "counterclockwise"; - * } - * ``` - * - * @member normal - * @memberof Leap.CircleGesture.prototype - * @type {number[]} - */ - this.normal = data.normal; - /** - * The number of times the finger tip has traversed the circle. - * - * Progress is reported as a positive number of the number. For example, - * a progress value of .5 indicates that the finger has gone halfway - * around, while a value of 3 indicates that the finger has gone around - * the the circle three times. - * - * Progress starts where the circle gesture began. Since the circle - * must be partially formed before the Leap can recognize it, progress - * will be greater than zero when a circle gesture first appears in the - * frame. - * - * @member progress - * @memberof Leap.CircleGesture.prototype - * @type {number} - */ - this.progress = data.progress; - /** - * The radius of the circle in mm. - * - * @member radius - * @memberof Leap.CircleGesture.prototype - * @type {number} - */ - this.radius = data.radius; -} - -CircleGesture.prototype.toString = function() { - return "CircleGesture ["+JSON.stringify(this)+"]"; -} - -/** - * Constructs a new SwipeGesture object. - * - * An uninitialized SwipeGesture object is considered invalid. Get valid instances - * of the SwipeGesture class from a Frame object. - * - * @class SwipeGesture - * @memberof Leap - * @augments Leap.Gesture - * @classdesc - * The SwipeGesture class represents a swiping motion of a finger or tool. - * - * ![SwipeGesture](images/Leap_Gesture_Swipe.png) - * - * Swipe gestures are continuous. - */ -var SwipeGesture = function(data) { - /** - * The starting position within the Leap frame of - * reference, in mm. - * - * @member startPosition - * @memberof Leap.SwipeGesture.prototype - * @type {number[]} - */ - this.startPosition = data.startPosition; - /** - * The current swipe position within the Leap frame of - * reference, in mm. - * - * @member position - * @memberof Leap.SwipeGesture.prototype - * @type {number[]} - */ - this.position = data.position; - /** - * The unit direction vector parallel to the swipe motion. - * - * You can compare the components of the vector to classify the swipe as - * appropriate for your application. For example, if you are using swipes - * for two dimensional scrolling, you can compare the x and y values to - * determine if the swipe is primarily horizontal or vertical. - * - * @member direction - * @memberof Leap.SwipeGesture.prototype - * @type {number[]} - */ - this.direction = data.direction; - /** - * The speed of the finger performing the swipe gesture in - * millimeters per second. - * - * @member speed - * @memberof Leap.SwipeGesture.prototype - * @type {number} - */ - this.speed = data.speed; -} - -SwipeGesture.prototype.toString = function() { - return "SwipeGesture ["+JSON.stringify(this)+"]"; -} - -/** - * Constructs a new ScreenTapGesture object. - * - * An uninitialized ScreenTapGesture object is considered invalid. Get valid instances - * of the ScreenTapGesture class from a Frame object. - * - * @class ScreenTapGesture - * @memberof Leap - * @augments Leap.Gesture - * @classdesc - * The ScreenTapGesture class represents a tapping gesture by a finger or tool. - * - * A screen tap gesture is recognized when the tip of a finger pokes forward - * and then springs back to approximately the original postion, as if - * tapping a vertical screen. The tapping finger must pause briefly before beginning the tap. - * - * ![ScreenTap](images/Leap_Gesture_Tap2.png) - * - * ScreenTap gestures are discrete. The ScreenTapGesture object representing a tap always - * has the state, STATE_STOP. Only one ScreenTapGesture object is created for each - * screen tap gesture recognized. - */ -var ScreenTapGesture = function(data) { - /** - * The position where the screen tap is registered. - * - * @member position - * @memberof Leap.ScreenTapGesture.prototype - * @type {number[]} - */ - this.position = data.position; - /** - * The direction of finger tip motion. - * - * @member direction - * @memberof Leap.ScreenTapGesture.prototype - * @type {number[]} - */ - this.direction = data.direction; - /** - * The progess value is always 1.0 for a screen tap gesture. - * - * @member progress - * @memberof Leap.ScreenTapGesture.prototype - * @type {number} - */ - this.progress = data.progress; -} - -ScreenTapGesture.prototype.toString = function() { - return "ScreenTapGesture ["+JSON.stringify(this)+"]"; -} - -/** - * Constructs a new KeyTapGesture object. - * - * An uninitialized KeyTapGesture object is considered invalid. Get valid instances - * of the KeyTapGesture class from a Frame object. - * - * @class KeyTapGesture - * @memberof Leap - * @augments Leap.Gesture - * @classdesc - * The KeyTapGesture class represents a tapping gesture by a finger or tool. - * - * A key tap gesture is recognized when the tip of a finger rotates down toward the - * palm and then springs back to approximately the original postion, as if - * tapping. The tapping finger must pause briefly before beginning the tap. - * - * ![KeyTap](images/Leap_Gesture_Tap.png) - * - * Key tap gestures are discrete. The KeyTapGesture object representing a tap always - * has the state, STATE_STOP. Only one KeyTapGesture object is created for each - * key tap gesture recognized. - */ -var KeyTapGesture = function(data) { - /** - * The position where the key tap is registered. - * - * @member position - * @memberof Leap.KeyTapGesture.prototype - * @type {number[]} - */ - this.position = data.position; - /** - * The direction of finger tip motion. - * - * @member direction - * @memberof Leap.KeyTapGesture.prototype - * @type {number[]} - */ - this.direction = data.direction; - /** - * The progess value is always 1.0 for a key tap gesture. - * - * @member progress - * @memberof Leap.KeyTapGesture.prototype - * @type {number} - */ - this.progress = data.progress; -} - -KeyTapGesture.prototype.toString = function() { - return "KeyTapGesture ["+JSON.stringify(this)+"]"; -} - -},{"events":18,"gl-matrix":20,"underscore":21}],7:[function(require,module,exports){ -var Pointable = require("./pointable") - , glMatrix = require("gl-matrix") - , mat3 = glMatrix.mat3 - , vec3 = glMatrix.vec3 - , _ = require("underscore"); - -/** - * Constructs a Hand object. - * - * An uninitialized hand is considered invalid. - * Get valid Hand objects from a Frame object. - * @class Hand - * @memberof Leap - * @classdesc - * The Hand class reports the physical characteristics of a detected hand. - * - * Hand tracking data includes a palm position and velocity; vectors for - * the palm normal and direction to the fingers; properties of a sphere fit - * to the hand; and lists of the attached fingers and tools. - * - * Note that Hand objects can be invalid, which means that they do not contain - * valid tracking data and do not correspond to a physical entity. Invalid Hand - * objects can be the result of asking for a Hand object using an ID from an - * earlier frame when no Hand objects with that ID exist in the current frame. - * A Hand object created from the Hand constructor is also invalid. - * Test for validity with the [Hand.valid]{@link Leap.Hand#valid} property. - */ -var Hand = module.exports = function(data) { - /** - * A unique ID assigned to this Hand object, whose value remains the same - * across consecutive frames while the tracked hand remains visible. If - * tracking is lost (for example, when a hand is occluded by another hand - * or when it is withdrawn from or reaches the edge of the Leap field of view), - * the Leap may assign a new ID when it detects the hand in a future frame. - * - * Use the ID value with the {@link Frame.hand}() function to find this - * Hand object in future frames. - * - * @member id - * @memberof Leap.Hand.prototype - * @type {String} - */ - this.id = data.id; - /** - * The center position of the palm in millimeters from the Leap origin. - * @member palmPosition - * @memberof Leap.Hand.prototype - * @type {number[]} - */ - this.palmPosition = data.palmPosition; - /** - * The direction from the palm position toward the fingers. - * - * The direction is expressed as a unit vector pointing in the same - * direction as the directed line from the palm position to the fingers. - * - * @member direction - * @memberof Leap.Hand.prototype - * @type {number[]} - */ - this.direction = data.direction; - /** - * The rate of change of the palm position in millimeters/second. - * - * @member palmVeclocity - * @memberof Leap.Hand.prototype - * @type {number[]} - */ - this.palmVelocity = data.palmVelocity; - /** - * The normal vector to the palm. If your hand is flat, this vector will - * point downward, or "out" of the front surface of your palm. - * - * ![Palm Vectors](images/Leap_Palm_Vectors.png) - * - * The direction is expressed as a unit vector pointing in the same - * direction as the palm normal (that is, a vector orthogonal to the palm). - * @member palmNormal - * @memberof Leap.Hand.prototype - * @type {number[]} - */ - this.palmNormal = data.palmNormal; - /** - * The center of a sphere fit to the curvature of this hand. - * - * This sphere is placed roughly as if the hand were holding a ball. - * - * ![Hand Ball](images/Leap_Hand_Ball.png) - * @member sphereCenter - * @memberof Leap.Hand.prototype - * @type {number[]} - */ - this.sphereCenter = data.sphereCenter; - /** - * The radius of a sphere fit to the curvature of this hand, in millimeters. - * - * This sphere is placed roughly as if the hand were holding a ball. Thus the - * size of the sphere decreases as the fingers are curled into a fist. - * - * @member sphereRadius - * @memberof Leap.Hand.prototype - * @type {number} - */ - this.sphereRadius = data.sphereRadius; - /** - * Reports whether this is a valid Hand object. - * - * @member valid - * @memberof Leap.Hand.prototype - * @type {boolean} - */ - this.valid = true; - /** - * The list of Pointable objects (fingers and tools) detected in this frame - * that are associated with this hand, given in arbitrary order. The list - * can be empty if no fingers or tools associated with this hand are detected. - * - * Use the {@link Pointable} tool property to determine - * whether or not an item in the list represents a tool or finger. - * You can also get only the tools using the Hand.tools[] list or - * only the fingers using the Hand.fingers[] list. - * - * @member pointables[] - * @memberof Leap.Hand.prototype - * @type {Leap.Pointable[]} - */ - this.pointables = []; - /** - * The list of fingers detected in this frame that are attached to - * this hand, given in arbitrary order. - * - * The list can be empty if no fingers attached to this hand are detected. - * - * @member fingers[] - * @memberof Leap.Hand.prototype - * @type {Leap.Pointable[]} - */ - this.fingers = []; - /** - * The list of tools detected in this frame that are held by this - * hand, given in arbitrary order. - * - * The list can be empty if no tools held by this hand are detected. - * - * @member tools[] - * @memberof Leap.Hand.prototype - * @type {Leap.Pointable[]} - */ - this.tools = []; - this._translation = data.t; - this._rotation = _.flatten(data.r); - this._scaleFactor = data.s; - - /** - * Time the hand has been visible in seconds. - * - * @member timeVisible - * @memberof Leap.Hand.prototype - * @type {number} - */ - this.timeVisible = data.timeVisible; - - /** - * The palm position with stabalization - * @member stabilizedPalmPosition - * @memberof Leap.Hand.prototype - * @type {number[]} - */ - this.stabilizedPalmPosition = data.stabilizedPalmPosition; -} - -/** - * The finger with the specified ID attached to this hand. - * - * Use this function to retrieve a Pointable object representing a finger - * attached to this hand using an ID value obtained from a previous frame. - * This function always returns a Pointable object, but if no finger - * with the specified ID is present, an invalid Pointable object is returned. - * - * Note that the ID values assigned to fingers persist across frames, but only - * until tracking of a particular finger is lost. If tracking of a finger is - * lost and subsequently regained, the new Finger object representing that - * finger may have a different ID than that representing the finger in an - * earlier frame. - * - * @method finger - * @memberof Leap.Hand.prototype - * @param {String} id The ID value of a finger from a previous frame. - * @returns {Leap.Pointable} The Finger object with - * the matching ID if one exists for this hand in this frame; otherwise, an - * invalid Finger object is returned. - */ -Hand.prototype.finger = function(id) { - var finger = this.frame.finger(id); - return (finger && finger.handId == this.id) ? finger : Pointable.Invalid; -} - -/** - * The angle of rotation around the rotation axis derived from the change in - * orientation of this hand, and any associated fingers and tools, between the - * current frame and the specified frame. - * - * The returned angle is expressed in radians measured clockwise around the - * rotation axis (using the right-hand rule) between the start and end frames. - * The value is always between 0 and pi radians (0 and 180 degrees). - * - * If a corresponding Hand object is not found in sinceFrame, or if either - * this frame or sinceFrame are invalid Frame objects, then the angle of rotation is zero. - * - * @method rotationAngle - * @memberof Leap.Hand.prototype - * @param {Leap.Frame} sinceFrame The starting frame for computing the relative rotation. - * @param {numnber[]} [axis] The axis to measure rotation around. - * @returns {number} A positive value representing the heuristically determined - * rotational change of the hand between the current frame and that specified in - * the sinceFrame parameter. - */ -Hand.prototype.rotationAngle = function(sinceFrame, axis) { - if (!this.valid || !sinceFrame.valid) return 0.0; - var sinceHand = sinceFrame.hand(this.id); - if(!sinceHand.valid) return 0.0; - var rot = this.rotationMatrix(sinceFrame); - var cs = (rot[0] + rot[4] + rot[8] - 1.0)*0.5 - var angle = Math.acos(cs); - angle = isNaN(angle) ? 0.0 : angle; - if (axis !== undefined) { - var rotAxis = this.rotationAxis(sinceFrame); - angle *= vec3.dot(rotAxis, vec3.normalize(vec3.create(), axis)); - } - return angle; -} - -/** - * The axis of rotation derived from the change in orientation of this hand, and - * any associated fingers and tools, between the current frame and the specified frame. - * - * The returned direction vector is normalized. - * - * If a corresponding Hand object is not found in sinceFrame, or if either - * this frame or sinceFrame are invalid Frame objects, then this method returns a zero vector. - * - * @method rotationAxis - * @memberof Leap.Hand.prototype - * @param {Leap.Frame} sinceFrame The starting frame for computing the relative rotation. - * @returns {number[]} A normalized direction Vector representing the axis of the heuristically determined - * rotational change of the hand between the current frame and that specified in the sinceFrame parameter. - */ -Hand.prototype.rotationAxis = function(sinceFrame) { - if (!this.valid || !sinceFrame.valid) return vec3.create(); - var sinceHand = sinceFrame.hand(this.id); - if (!sinceHand.valid) return vec3.create(); - return vec3.normalize(vec3.create(), [ - this._rotation[7] - sinceHand._rotation[5], - this._rotation[2] - sinceHand._rotation[6], - this._rotation[3] - sinceHand._rotation[1] - ]); -} - -/** - * The transform matrix expressing the rotation derived from the change in - * orientation of this hand, and any associated fingers and tools, between - * the current frame and the specified frame. - * - * If a corresponding Hand object is not found in sinceFrame, or if either - * this frame or sinceFrame are invalid Frame objects, then this method returns - * an identity matrix. - * - * @method rotationMatrix - * @memberof Leap.Hand.prototype - * @param {Leap.Frame} sinceFrame The starting frame for computing the relative rotation. - * @returns {number[]} A transformation Matrix containing the heuristically determined - * rotational change of the hand between the current frame and that specified in the sinceFrame parameter. - */ -Hand.prototype.rotationMatrix = function(sinceFrame) { - if (!this.valid || !sinceFrame.valid) return mat3.create(); - var sinceHand = sinceFrame.hand(this.id); - if(!sinceHand.valid) return mat3.create(); - var transpose = mat3.transpose(mat3.create(), this._rotation); - var m = mat3.multiply(mat3.create(), sinceHand._rotation, transpose); - return m; -} - -/** - * The scale factor derived from the hand's motion between the current frame and the specified frame. - * - * The scale factor is always positive. A value of 1.0 indicates no scaling took place. - * Values between 0.0 and 1.0 indicate contraction and values greater than 1.0 indicate expansion. - * - * The Leap derives scaling from the relative inward or outward motion of a hand - * and its associated fingers and tools (independent of translation and rotation). - * - * If a corresponding Hand object is not found in sinceFrame, or if either this frame or sinceFrame - * are invalid Frame objects, then this method returns 1.0. - * - * @method scaleFactor - * @memberof Leap.Hand.prototype - * @param {Leap.Frame} sinceFrame The starting frame for computing the relative scaling. - * @returns {number} A positive value representing the heuristically determined - * scaling change ratio of the hand between the current frame and that specified in the sinceFrame parameter. - */ -Hand.prototype.scaleFactor = function(sinceFrame) { - if (!this.valid || !sinceFrame.valid) return 1.0; - var sinceHand = sinceFrame.hand(this.id); - if(!sinceHand.valid) return 1.0; - - return Math.exp(this._scaleFactor - sinceHand._scaleFactor); -} - -/** - * The change of position of this hand between the current frame and the specified frame - * - * The returned translation vector provides the magnitude and direction of the - * movement in millimeters. - * - * If a corresponding Hand object is not found in sinceFrame, or if either this frame or - * sinceFrame are invalid Frame objects, then this method returns a zero vector. - * - * @method translation - * @memberof Leap.Hand.prototype - * @param {Leap.Frame} sinceFrame The starting frame for computing the relative translation. - * @returns {number[]} A Vector representing the heuristically determined change in hand - * position between the current frame and that specified in the sinceFrame parameter. - */ -Hand.prototype.translation = function(sinceFrame) { - if (!this.valid || !sinceFrame.valid) return vec3.create(); - var sinceHand = sinceFrame.hand(this.id); - if(!sinceHand.valid) return vec3.create(); - return [ - this._translation[0] - sinceHand._translation[0], - this._translation[1] - sinceHand._translation[1], - this._translation[2] - sinceHand._translation[2] - ]; -} - -/** - * A string containing a brief, human readable description of the Hand object. - * @method toString - * @memberof Leap.Hand.prototype - * @returns {String} A description of the Hand as a string. - */ -Hand.prototype.toString = function() { - return "Hand [ id: "+ this.id + " | palm velocity:"+this.palmVelocity+" | sphere center:"+this.sphereCenter+" ] "; -} - -/** - * The pitch angle in radians. - * - * Pitch is the angle between the negative z-axis and the projection of - * the vector onto the y-z plane. In other words, pitch represents rotation - * around the x-axis. - * If the vector points upward, the returned angle is between 0 and pi radians - * (180 degrees); if it points downward, the angle is between 0 and -pi radians. - * - * @method pitch - * @memberof Leap.Hand.prototype - * @returns {number} The angle of this vector above or below the horizon (x-z plane). - * - */ -Hand.prototype.pitch = function() { - return Math.atan2(this.direction[1], -this.direction[2]); -} - -/** - * The yaw angle in radians. - * - * Yaw is the angle between the negative z-axis and the projection of - * the vector onto the x-z plane. In other words, yaw represents rotation - * around the y-axis. If the vector points to the right of the negative z-axis, - * then the returned angle is between 0 and pi radians (180 degrees); - * if it points to the left, the angle is between 0 and -pi radians. - * - * @method yaw - * @memberof Leap.Hand.prototype - * @returns {number} The angle of this vector to the right or left of the y-axis. - * - */ -Hand.prototype.yaw = function() { - return Math.atan2(this.direction[0], -this.direction[2]); -} - -/** - * The roll angle in radians. - * - * Roll is the angle between the y-axis and the projection of - * the vector onto the x-y plane. In other words, roll represents rotation - * around the z-axis. If the vector points to the left of the y-axis, - * then the returned angle is between 0 and pi radians (180 degrees); - * if it points to the right, the angle is between 0 and -pi radians. - * - * @method roll - * @memberof Leap.Hand.prototype - * @returns {number} The angle of this vector to the right or left of the y-axis. - * - */ -Hand.prototype.roll = function() { - return Math.atan2(this.palmNormal[0], -this.palmNormal[1]); -} - -/** - * An invalid Hand object. - * - * You can use an invalid Hand object in comparisons testing - * whether a given Hand instance is valid or invalid. (You can also use the - * Hand valid property.) - * - * @static - * @type {Leap.Hand} - * @name Invalid - * @memberof Leap.Hand - */ -Hand.Invalid = { - valid: false, - fingers: [], - tools: [], - pointables: [], - pointable: function() { return Pointable.Invalid }, - finger: function() { return Pointable.Invalid }, - toString: function() { return "invalid frame" }, - dump: function() { return this.toString(); }, - rotationAngle: function() { return 0.0; }, - rotationMatrix: function() { return mat3.create(); }, - rotationAxis: function() { return vec3.create(); }, - scaleFactor: function() { return 1.0; }, - translation: function() { return vec3.create(); } -}; - -},{"./pointable":11,"gl-matrix":20,"underscore":21}],8:[function(require,module,exports){ -/** - * Leap is the global namespace of the Leap API. - * @namespace Leap - */ -module.exports = { - Controller: require("./controller"), - Frame: require("./frame"), - Gesture: require("./gesture"), - Hand: require("./hand"), - Pointable: require("./pointable"), - InteractionBox: require("./interaction_box"), - CircularBuffer: require("./circular_buffer"), - UI: require("./ui"), - glMatrix: require("gl-matrix"), - mat3: require("gl-matrix").mat3, - vec3: require("gl-matrix").vec3, - loopController: undefined, - version: require('./version.js'), - /** - * The Leap.loop() function passes a frame of Leap data to your - * callback function and then calls window.requestAnimationFrame() after - * executing your callback function. - * - * Leap.loop() sets up the Leap controller and WebSocket connection for you. - * You do not need to create your own controller when using this method. - * - * Your callback function is called on an interval determined by the client - * browser. Typically, this is on an interval of 60 frames/second. The most - * recent frame of Leap data is passed to your callback function. If the Leap - * is producing frames at a slower rate than the browser frame rate, the same - * frame of Leap data can be passed to your function in successive animation - * updates. - * - * As an alternative, you can create your own Controller object and use a - * {@link Controller#onFrame onFrame} callback to process the data at - * the frame rate of the Leap device. See {@link Controller} for an - * example. - * - * @method Leap.loop - * @param {function} callback A function called when the browser is ready to - * draw to the screen. The most recent {@link Frame} object is passed to - * your callback function. - * - * ```javascript - * Leap.loop( function( frame ) { - * // ... your code here - * }) - * ``` - */ - loop: function(opts, callback) { - if (callback === undefined) { - callback = opts; - opts = {}; - } - (typeof opts.useAllPlugins == 'undefined') && (opts.useAllPlugins = true) - if (!this.loopController) this.loopController = new this.Controller(opts); - this.loopController.loop(callback); - return this.loopController; - }, - - /* - * Convenience method for Leap.Controller.plugin - */ - plugin: function(name, options){ - this.Controller.plugin(name, options) - } -} - -},{"./circular_buffer":1,"./controller":4,"./frame":5,"./gesture":6,"./hand":7,"./interaction_box":9,"./pointable":11,"./ui":13,"./version.js":16,"gl-matrix":20}],9:[function(require,module,exports){ -var glMatrix = require("gl-matrix") - , vec3 = glMatrix.vec3; - -/** - * Constructs a InteractionBox object. - * - * @class InteractionBox - * @memberof Leap - * @classdesc - * The InteractionBox class represents a box-shaped region completely within - * the field of view of the Leap Motion controller. - * - * The interaction box is an axis-aligned rectangular prism and provides - * normalized coordinates for hands, fingers, and tools within this box. - * The InteractionBox class can make it easier to map positions in the - * Leap Motion coordinate system to 2D or 3D coordinate systems used - * for application drawing. - * - * ![Interaction Box](images/Leap_InteractionBox.png) - * - * The InteractionBox region is defined by a center and dimensions along the x, y, and z axes. - */ -var InteractionBox = module.exports = function(data) { - /** - * Indicates whether this is a valid InteractionBox object. - * - * @member valid - * @type {Boolean} - * @memberof Leap.InteractionBox.prototype - */ - this.valid = true; - /** - * The center of the InteractionBox in device coordinates (millimeters). - * This point is equidistant from all sides of the box. - * - * @member center - * @type {number[]} - * @memberof Leap.InteractionBox.prototype - */ - this.center = data.center; - - this.size = data.size; - /** - * The width of the InteractionBox in millimeters, measured along the x-axis. - * - * @member width - * @type {number} - * @memberof Leap.InteractionBox.prototype - */ - this.width = data.size[0]; - /** - * The height of the InteractionBox in millimeters, measured along the y-axis. - * - * @member height - * @type {number} - * @memberof Leap.InteractionBox.prototype - */ - this.height = data.size[1]; - /** - * The depth of the InteractionBox in millimeters, measured along the z-axis. - * - * @member depth - * @type {number} - * @memberof Leap.InteractionBox.prototype - */ - this.depth = data.size[2]; -} - -/** - * Converts a position defined by normalized InteractionBox coordinates - * into device coordinates in millimeters. - * - * This function performs the inverse of normalizePoint(). - * - * @method denormalizePoint - * @memberof Leap.InteractionBox.prototype - * @param {number[]} normalizedPosition The input position in InteractionBox coordinates. - * @returns {number[]} The corresponding denormalized position in device coordinates. - */ -InteractionBox.prototype.denormalizePoint = function(normalizedPosition) { - return vec3.fromValues( - (normalizedPosition[0] - 0.5) * this.size[0] + this.center[0], - (normalizedPosition[1] - 0.5) * this.size[1] + this.center[1], - (normalizedPosition[2] - 0.5) * this.size[2] + this.center[2] - ); -} - -/** - * Normalizes the coordinates of a point using the interaction box. - * - * Coordinates from the Leap Motion frame of reference (millimeters) are - * converted to a range of [0..1] such that the minimum value of the - * InteractionBox maps to 0 and the maximum value of the InteractionBox maps to 1. - * - * @method normalizePoint - * @memberof Leap.InteractionBox.prototype - * @param {number[]} position The input position in device coordinates. - * @param {Boolean} clamp Whether or not to limit the output value to the range [0,1] - * when the input position is outside the InteractionBox. Defaults to true. - * @returns {number[]} The normalized position. - */ -InteractionBox.prototype.normalizePoint = function(position, clamp) { - var vec = vec3.fromValues( - ((position[0] - this.center[0]) / this.size[0]) + 0.5, - ((position[1] - this.center[1]) / this.size[1]) + 0.5, - ((position[2] - this.center[2]) / this.size[2]) + 0.5 - ); - - if (clamp) { - vec[0] = Math.min(Math.max(vec[0], 0), 1); - vec[1] = Math.min(Math.max(vec[1], 0), 1); - vec[2] = Math.min(Math.max(vec[2], 0), 1); - } - return vec; -} - -/** - * Writes a brief, human readable description of the InteractionBox object. - * - * @method toString - * @memberof Leap.InteractionBox.prototype - * @returns {String} A description of the InteractionBox object as a string. - */ -InteractionBox.prototype.toString = function() { - return "InteractionBox [ width:" + this.width + " | height:" + this.height + " | depth:" + this.depth + " ]"; -} - -/** - * An invalid InteractionBox object. - * - * You can use this InteractionBox instance in comparisons testing - * whether a given InteractionBox instance is valid or invalid. (You can also use the - * InteractionBox.valid property.) - * - * @static - * @type {Leap.InteractionBox} - * @name Invalid - * @memberof Leap.InteractionBox - */ -InteractionBox.Invalid = { valid: false }; - -},{"gl-matrix":20}],10:[function(require,module,exports){ -var Pipeline = module.exports = function (controller) { - this.steps = []; - this.controller = controller; -} - -Pipeline.prototype.addStep = function (step) { - this.steps.push(step); -} - -Pipeline.prototype.run = function (frame) { - var stepsLength = this.steps.length; - for (var i = 0; i != stepsLength; i++) { - if (!frame) break; - frame = this.steps[i](frame); - } - return frame; -} - -Pipeline.prototype.removeStep = function(step){ - var index = this.steps.indexOf(step); - if (index === -1) throw "Step not found in pipeline"; - this.steps.splice(index, 1); -} - -/* - * Wraps a plugin callback method in method which can be run inside the pipeline. - * This wrapper method loops the callback over objects within the frame as is appropriate, - * calling the callback for each in turn. - * - * @method createStepFunction - * @memberOf Leap.Controller.prototype - * @param {Controller} The controller on which the callback is called. - * @param {String} type What frame object the callback is run for and receives. - * Can be one of 'frame', 'finger', 'hand', 'pointable', 'tool' - * @param {function} callback The method which will be run inside the pipeline loop. Receives one argument, such as a hand. - * @private - */ -Pipeline.prototype.addWrappedStep = function (type, callback) { - var controller = this.controller, - step = function (frame) { - var dependencies, i, len; - dependencies = (type == 'frame') ? [frame] : (frame[type + 's'] || []); - - for (i = 0, len = dependencies.length; i < len; i++) { - callback.call(controller, dependencies[i]); - } - - return frame; - }; - - this.addStep(step); - return step; -}; -},{}],11:[function(require,module,exports){ -var glMatrix = require("gl-matrix") - , vec3 = glMatrix.vec3; - -/** - * Constructs a Pointable object. - * - * An uninitialized pointable is considered invalid. - * Get valid Pointable objects from a Frame or a Hand object. - * - * @class Pointable - * @memberof Leap - * @classdesc - * The Pointable class reports the physical characteristics of a detected - * finger or tool. - * - * Both fingers and tools are classified as Pointable objects. Use the - * Pointable.tool property to determine whether a Pointable object represents a - * tool or finger. The Leap classifies a detected entity as a tool when it is - * thinner, straighter, and longer than a typical finger. - * - * Note that Pointable objects can be invalid, which means that they do not - * contain valid tracking data and do not correspond to a physical entity. - * Invalid Pointable objects can be the result of asking for a Pointable object - * using an ID from an earlier frame when no Pointable objects with that ID - * exist in the current frame. A Pointable object created from the Pointable - * constructor is also invalid. Test for validity with the Pointable.valid - * property. - */ -var Pointable = module.exports = function(data) { - /** - * Indicates whether this is a valid Pointable object. - * - * @member valid - * @type {Boolean} - * @memberof Leap.Pointable.prototype - */ - this.valid = true; - /** - * A unique ID assigned to this Pointable object, whose value remains the - * same across consecutive frames while the tracked finger or tool remains - * visible. If tracking is lost (for example, when a finger is occluded by - * another finger or when it is withdrawn from the Leap field of view), the - * Leap may assign a new ID when it detects the entity in a future frame. - * - * Use the ID value with the pointable() functions defined for the - * {@link Frame} and {@link Frame.Hand} classes to find this - * Pointable object in future frames. - * - * @member id - * @type {String} - * @memberof Leap.Pointable.prototype - */ - this.id = data.id; - this.handId = data.handId; - /** - * The estimated length of the finger or tool in millimeters. - * - * The reported length is the visible length of the finger or tool from the - * hand to tip. If the length isn't known, then a value of 0 is returned. - * - * @member length - * @type {number} - * @memberof Leap.Pointable.prototype - */ - this.length = data.length; - /** - * Whether or not the Pointable is believed to be a tool. - * Tools are generally longer, thinner, and straighter than fingers. - * - * If tool is false, then this Pointable must be a finger. - * - * @member tool - * @type {Boolean} - * @memberof Leap.Pointable.prototype - */ - this.tool = data.tool; - /** - * The estimated width of the tool in millimeters. - * - * The reported width is the average width of the visible portion of the - * tool from the hand to the tip. If the width isn't known, - * then a value of 0 is returned. - * - * Pointable objects representing fingers do not have a width property. - * - * @member width - * @type {number} - * @memberof Leap.Pointable.prototype - */ - this.width = data.width; - /** - * The direction in which this finger or tool is pointing. - * - * The direction is expressed as a unit vector pointing in the same - * direction as the tip. - * - * ![Finger](images/Leap_Finger_Model.png) - * @member direction - * @type {number[]} - * @memberof Leap.Pointable.prototype - */ - this.direction = data.direction; - /** - * The tip position in millimeters from the Leap origin. - * Stabilized - * - * @member stabilizedTipPosition - * @type {number[]} - * @memberof Leap.Pointable.prototype - */ - this.stabilizedTipPosition = data.stabilizedTipPosition; - /** - * The tip position in millimeters from the Leap origin. - * - * @member tipPosition - * @type {number[]} - * @memberof Leap.Pointable.prototype - */ - this.tipPosition = data.tipPosition; - /** - * The rate of change of the tip position in millimeters/second. - * - * @member tipVelocity - * @type {number[]} - * @memberof Leap.Pointable.prototype - */ - this.tipVelocity = data.tipVelocity; - /** - * The current touch zone of this Pointable object. - * - * The Leap Motion software computes the touch zone based on a floating touch - * plane that adapts to the user's finger movement and hand posture. The Leap - * Motion software interprets purposeful movements toward this plane as potential touch - * points. When a Pointable moves close to the adaptive touch plane, it enters the - * "hovering" zone. When a Pointable reaches or passes through the plane, it enters - * the "touching" zone. - * - * The possible states include: - * - * * "none" -- The Pointable is outside the hovering zone. - * * "hovering" -- The Pointable is close to, but not touching the touch plane. - * * "touching" -- The Pointable has penetrated the touch plane. - * - * The touchDistance value provides a normalized indication of the distance to - * the touch plane when the Pointable is in the hovering or touching zones. - * - * @member touchZone - * @type {String} - * @memberof Leap.Pointable.prototype - */ - this.touchZone = data.touchZone; - /** - * A value proportional to the distance between this Pointable object and the - * adaptive touch plane. - * - * ![Touch Distance](images/Leap_Touch_Plane.png) - * - * The touch distance is a value in the range [-1, 1]. The value 1.0 indicates the - * Pointable is at the far edge of the hovering zone. The value 0 indicates the - * Pointable is just entering the touching zone. A value of -1.0 indicates the - * Pointable is firmly within the touching zone. Values in between are - * proportional to the distance from the plane. Thus, the touchDistance of 0.5 - * indicates that the Pointable is halfway into the hovering zone. - * - * You can use the touchDistance value to modulate visual feedback given to the - * user as their fingers close in on a touch target, such as a button. - * - * @member touchDistance - * @type {number} - * @memberof Leap.Pointable.prototype - */ - this.touchDistance = data.touchDistance; - - /** - * How long the pointable has been visible in seconds. - * - * @member timeVisible - * @type {number} - * @memberof Leap.Pointable.prototype - */ - this.timeVisible = data.timeVisible; -} - -/** - * A string containing a brief, human readable description of the Pointable - * object. - * - * @method toString - * @memberof Leap.Pointable.prototype - * @returns {String} A description of the Pointable object as a string. - */ -Pointable.prototype.toString = function() { - if(this.tool == true){ - return "Pointable [ id:" + this.id + " " + this.length + "mmx | with:" + this.width + "mm | direction:" + this.direction + ' ]'; - } else { - return "Pointable [ id:" + this.id + " " + this.length + "mmx | direction: " + this.direction + ' ]'; - } -} - -/** - * Returns the hand which the pointable is attached to. - */ -Pointable.prototype.hand = function(){ - return this.frame.hand(this.handId); -} - -/** - * An invalid Pointable object. - * - * You can use this Pointable instance in comparisons testing - * whether a given Pointable instance is valid or invalid. (You can also use the - * Pointable.valid property.) - - * @static - * @type {Leap.Pointable} - * @name Invalid - * @memberof Leap.Pointable - */ -Pointable.Invalid = { valid: false }; - -},{"gl-matrix":20}],12:[function(require,module,exports){ -var Frame = require('./frame') - -var Event = function(data) { - this.type = data.type; - this.state = data.state; -}; - -var chooseProtocol = exports.chooseProtocol = function(header) { - var protocol; - switch(header.version) { - case 1: - case 2: - case 3: - case 4: - protocol = JSONProtocol(header.version, function(data) { - return data.event ? new Event(data.event) : new Frame(data); - }); - protocol.sendBackground = function(connection, state) { - connection.send(protocol.encode({background: state})); - } - protocol.sendFocused = function(connection, state) { - connection.send(protocol.encode({focused: state})); - } - break; - default: - throw "unrecognized version"; - } - return protocol; -} - -var JSONProtocol = function(version, cb) { - var protocol = cb; - protocol.encode = function(message) { - return JSON.stringify(message); - } - protocol.version = version; - protocol.versionLong = 'Version ' + version; - protocol.type = 'protocol'; - return protocol; -}; - -},{"./frame":5}],13:[function(require,module,exports){ -exports.UI = { - Region: require("./ui/region"), - Cursor: require("./ui/cursor") -}; -},{"./ui/cursor":14,"./ui/region":15}],14:[function(require,module,exports){ -var Cursor = module.exports = function() { - return function(frame) { - var pointable = frame.pointables.sort(function(a, b) { return a.z - b.z })[0] - if (pointable && pointable.valid) { - frame.cursorPosition = pointable.tipPosition - } - return frame - } -} - -},{}],15:[function(require,module,exports){ -var EventEmitter = require('events').EventEmitter - , _ = require('underscore') - -var Region = module.exports = function(start, end) { - this.start = new Vector(start) - this.end = new Vector(end) - this.enteredFrame = null -} - -Region.prototype.hasPointables = function(frame) { - for (var i = 0; i != frame.pointables.length; i++) { - var position = frame.pointables[i].tipPosition - if (position.x >= this.start.x && position.x <= this.end.x && position.y >= this.start.y && position.y <= this.end.y && position.z >= this.start.z && position.z <= this.end.z) { - return true - } - } - return false -} - -Region.prototype.listener = function(opts) { - var region = this - if (opts && opts.nearThreshold) this.setupNearRegion(opts.nearThreshold) - return function(frame) { - return region.updatePosition(frame) - } -} - -Region.prototype.clipper = function() { - var region = this - return function(frame) { - region.updatePosition(frame) - return region.enteredFrame ? frame : null - } -} - -Region.prototype.setupNearRegion = function(distance) { - var nearRegion = this.nearRegion = new Region( - [this.start.x - distance, this.start.y - distance, this.start.z - distance], - [this.end.x + distance, this.end.y + distance, this.end.z + distance] - ) - var region = this - nearRegion.on("enter", function(frame) { - region.emit("near", frame) - }) - nearRegion.on("exit", function(frame) { - region.emit("far", frame) - }) - region.on('exit', function(frame) { - region.emit("near", frame) - }) -} - -Region.prototype.updatePosition = function(frame) { - if (this.nearRegion) this.nearRegion.updatePosition(frame) - if (this.hasPointables(frame) && this.enteredFrame == null) { - this.enteredFrame = frame - this.emit("enter", this.enteredFrame) - } else if (!this.hasPointables(frame) && this.enteredFrame != null) { - this.enteredFrame = null - this.emit("exit", this.enteredFrame) - } - return frame -} - -Region.prototype.normalize = function(position) { - return new Vector([ - (position.x - this.start.x) / (this.end.x - this.start.x), - (position.y - this.start.y) / (this.end.y - this.start.y), - (position.z - this.start.z) / (this.end.z - this.start.z) - ]) -} - -Region.prototype.mapToXY = function(position, width, height) { - var normalized = this.normalize(position) - var x = normalized.x, y = normalized.y - if (x > 1) x = 1 - else if (x < -1) x = -1 - if (y > 1) y = 1 - else if (y < -1) y = -1 - return [ - (x + 1) / 2 * width, - (1 - y) / 2 * height, - normalized.z - ] -} - -_.extend(Region.prototype, EventEmitter.prototype) -},{"events":18,"underscore":21}],16:[function(require,module,exports){ -// This file is automatically updated from package.json by grunt. -module.exports = { - full: '0.4.3', - major: 0, - minor: 4, - dot: 3 -} -},{}],17:[function(require,module,exports){ - -},{}],18:[function(require,module,exports){ -var process=require("__browserify_process");if (!process.EventEmitter) process.EventEmitter = function () {}; - -var EventEmitter = exports.EventEmitter = process.EventEmitter; -var isArray = typeof Array.isArray === 'function' - ? Array.isArray - : function (xs) { - return Object.prototype.toString.call(xs) === '[object Array]' - } -; -function indexOf (xs, x) { - if (xs.indexOf) return xs.indexOf(x); - for (var i = 0; i < xs.length; i++) { - if (x === xs[i]) return i; - } - return -1; -} - -// By default EventEmitters will print a warning if more than -// 10 listeners are added to it. This is a useful default which -// helps finding memory leaks. -// -// Obviously not all Emitters should be limited to 10. This function allows -// that to be increased. Set to zero for unlimited. -var defaultMaxListeners = 10; -EventEmitter.prototype.setMaxListeners = function(n) { - if (!this._events) this._events = {}; - this._events.maxListeners = n; -}; - - -EventEmitter.prototype.emit = function(type) { - // If there is no 'error' event listener then throw. - if (type === 'error') { - if (!this._events || !this._events.error || - (isArray(this._events.error) && !this._events.error.length)) - { - if (arguments[1] instanceof Error) { - throw arguments[1]; // Unhandled 'error' event - } else { - throw new Error("Uncaught, unspecified 'error' event."); - } - return false; - } - } - - if (!this._events) return false; - var handler = this._events[type]; - if (!handler) return false; - - if (typeof handler == 'function') { - switch (arguments.length) { - // fast cases - case 1: - handler.call(this); - break; - case 2: - handler.call(this, arguments[1]); - break; - case 3: - handler.call(this, arguments[1], arguments[2]); - break; - // slower - default: - var args = Array.prototype.slice.call(arguments, 1); - handler.apply(this, args); - } - return true; - - } else if (isArray(handler)) { - var args = Array.prototype.slice.call(arguments, 1); - - var listeners = handler.slice(); - for (var i = 0, l = listeners.length; i < l; i++) { - listeners[i].apply(this, args); - } - return true; - - } else { - return false; - } -}; - -// EventEmitter is defined in src/node_events.cc -// EventEmitter.prototype.emit() is also defined there. -EventEmitter.prototype.addListener = function(type, listener) { - if ('function' !== typeof listener) { - throw new Error('addListener only takes instances of Function'); - } - - if (!this._events) this._events = {}; - - // To avoid recursion in the case that type == "newListeners"! Before - // adding it to the listeners, first emit "newListeners". - this.emit('newListener', type, listener); - - if (!this._events[type]) { - // Optimize the case of one listener. Don't need the extra array object. - this._events[type] = listener; - } else if (isArray(this._events[type])) { - - // Check for listener leak - if (!this._events[type].warned) { - var m; - if (this._events.maxListeners !== undefined) { - m = this._events.maxListeners; - } else { - m = defaultMaxListeners; - } - - if (m && m > 0 && this._events[type].length > m) { - this._events[type].warned = true; - console.error('(node) warning: possible EventEmitter memory ' + - 'leak detected. %d listeners added. ' + - 'Use emitter.setMaxListeners() to increase limit.', - this._events[type].length); - console.trace(); - } - } - - // If we've already got an array, just append. - this._events[type].push(listener); - } else { - // Adding the second element, need to change to array. - this._events[type] = [this._events[type], listener]; - } - - return this; -}; - -EventEmitter.prototype.on = EventEmitter.prototype.addListener; - -EventEmitter.prototype.once = function(type, listener) { - var self = this; - self.on(type, function g() { - self.removeListener(type, g); - listener.apply(this, arguments); - }); - - return this; -}; - -EventEmitter.prototype.removeListener = function(type, listener) { - if ('function' !== typeof listener) { - throw new Error('removeListener only takes instances of Function'); - } - - // does not use listeners(), so no side effect of creating _events[type] - if (!this._events || !this._events[type]) return this; - - var list = this._events[type]; - - if (isArray(list)) { - var i = indexOf(list, listener); - if (i < 0) return this; - list.splice(i, 1); - if (list.length == 0) - delete this._events[type]; - } else if (this._events[type] === listener) { - delete this._events[type]; - } - - return this; -}; - -EventEmitter.prototype.removeAllListeners = function(type) { - if (arguments.length === 0) { - this._events = {}; - return this; - } - - // does not use listeners(), so no side effect of creating _events[type] - if (type && this._events && this._events[type]) this._events[type] = null; - return this; -}; - -EventEmitter.prototype.listeners = function(type) { - if (!this._events) this._events = {}; - if (!this._events[type]) this._events[type] = []; - if (!isArray(this._events[type])) { - this._events[type] = [this._events[type]]; - } - return this._events[type]; -}; - -EventEmitter.listenerCount = function(emitter, type) { - var ret; - if (!emitter._events || !emitter._events[type]) - ret = 0; - else if (typeof emitter._events[type] === 'function') - ret = 1; - else - ret = emitter._events[type].length; - return ret; -}; - -},{"__browserify_process":19}],19:[function(require,module,exports){ -// shim for using process in browser - -var process = module.exports = {}; - -process.nextTick = (function () { - var canSetImmediate = typeof window !== 'undefined' - && window.setImmediate; - var canPost = typeof window !== 'undefined' - && window.postMessage && window.addEventListener - ; - - if (canSetImmediate) { - return function (f) { return window.setImmediate(f) }; - } - - if (canPost) { - var queue = []; - window.addEventListener('message', function (ev) { - if (ev.source === window && ev.data === 'process-tick') { - ev.stopPropagation(); - if (queue.length > 0) { - var fn = queue.shift(); - fn(); - } - } - }, true); - - return function nextTick(fn) { - queue.push(fn); - window.postMessage('process-tick', '*'); - }; - } - - return function nextTick(fn) { - setTimeout(fn, 0); - }; -})(); - -process.title = 'browser'; -process.browser = true; -process.env = {}; -process.argv = []; - -process.binding = function (name) { - throw new Error('process.binding is not supported'); -} - -// TODO(shtylman) -process.cwd = function () { return '/' }; -process.chdir = function (dir) { - throw new Error('process.chdir is not supported'); -}; - -},{}],20:[function(require,module,exports){ -/** - * @fileoverview gl-matrix - High performance matrix and vector operations - * @author Brandon Jones - * @author Colin MacKenzie IV - * @version 2.0.0 - */ - -/* Copyright (c) 2012, Brandon Jones, Colin MacKenzie IV. All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ - - -(function() { - "use strict"; - - var shim = {}; - if (typeof(exports) === 'undefined') { - if(typeof define == 'function' && typeof define.amd == 'object' && define.amd) { - shim.exports = {}; - define(function() { - return shim.exports; - }); - } else { - // gl-matrix lives in a browser, define its namespaces in global - shim.exports = window; - } - } - else { - // gl-matrix lives in commonjs, define its namespaces in exports - shim.exports = exports; - } - - (function(exports) { - /* Copyright (c) 2012, Brandon Jones, Colin MacKenzie IV. All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ - -/** - * @class 2 Dimensional Vector - * @name vec2 - */ - -var vec2 = {}; - -if(!GLMAT_EPSILON) { - var GLMAT_EPSILON = 0.000001; -} - -/** - * Creates a new, empty vec2 - * - * @returns {vec2} a new 2D vector - */ -vec2.create = function() { - return new Float32Array(2); -}; - -/** - * Creates a new vec2 initialized with values from an existing vector - * - * @param {vec2} a vector to clone - * @returns {vec2} a new 2D vector - */ -vec2.clone = function(a) { - var out = new Float32Array(2); - out[0] = a[0]; - out[1] = a[1]; - return out; -}; - -/** - * Creates a new vec2 initialized with the given values - * - * @param {Number} x X component - * @param {Number} y Y component - * @returns {vec2} a new 2D vector - */ -vec2.fromValues = function(x, y) { - var out = new Float32Array(2); - out[0] = x; - out[1] = y; - return out; -}; - -/** - * Copy the values from one vec2 to another - * - * @param {vec2} out the receiving vector - * @param {vec2} a the source vector - * @returns {vec2} out - */ -vec2.copy = function(out, a) { - out[0] = a[0]; - out[1] = a[1]; - return out; -}; - -/** - * Set the components of a vec2 to the given values - * - * @param {vec2} out the receiving vector - * @param {Number} x X component - * @param {Number} y Y component - * @returns {vec2} out - */ -vec2.set = function(out, x, y) { - out[0] = x; - out[1] = y; - return out; -}; - -/** - * Adds two vec2's - * - * @param {vec2} out the receiving vector - * @param {vec2} a the first operand - * @param {vec2} b the second operand - * @returns {vec2} out - */ -vec2.add = function(out, a, b) { - out[0] = a[0] + b[0]; - out[1] = a[1] + b[1]; - return out; -}; - -/** - * Subtracts two vec2's - * - * @param {vec2} out the receiving vector - * @param {vec2} a the first operand - * @param {vec2} b the second operand - * @returns {vec2} out - */ -vec2.sub = vec2.subtract = function(out, a, b) { - out[0] = a[0] - b[0]; - out[1] = a[1] - b[1]; - return out; -}; - -/** - * Multiplies two vec2's - * - * @param {vec2} out the receiving vector - * @param {vec2} a the first operand - * @param {vec2} b the second operand - * @returns {vec2} out - */ -vec2.mul = vec2.multiply = function(out, a, b) { - out[0] = a[0] * b[0]; - out[1] = a[1] * b[1]; - return out; -}; - -/** - * Divides two vec2's - * - * @param {vec2} out the receiving vector - * @param {vec2} a the first operand - * @param {vec2} b the second operand - * @returns {vec2} out - */ -vec2.div = vec2.divide = function(out, a, b) { - out[0] = a[0] / b[0]; - out[1] = a[1] / b[1]; - return out; -}; - -/** - * Returns the minimum of two vec2's - * - * @param {vec2} out the receiving vector - * @param {vec2} a the first operand - * @param {vec2} b the second operand - * @returns {vec2} out - */ -vec2.min = function(out, a, b) { - out[0] = Math.min(a[0], b[0]); - out[1] = Math.min(a[1], b[1]); - return out; -}; - -/** - * Returns the maximum of two vec2's - * - * @param {vec2} out the receiving vector - * @param {vec2} a the first operand - * @param {vec2} b the second operand - * @returns {vec2} out - */ -vec2.max = function(out, a, b) { - out[0] = Math.max(a[0], b[0]); - out[1] = Math.max(a[1], b[1]); - return out; -}; - -/** - * Scales a vec2 by a scalar number - * - * @param {vec2} out the receiving vector - * @param {vec2} a the vector to scale - * @param {vec2} b amount to scale the vector by - * @returns {vec2} out - */ -vec2.scale = function(out, a, b) { - out[0] = a[0] * b; - out[1] = a[1] * b; - return out; -}; - -/** - * Calculates the euclidian distance between two vec2's - * - * @param {vec2} a the first operand - * @param {vec2} b the second operand - * @returns {Number} distance between a and b - */ -vec2.dist = vec2.distance = function(a, b) { - var x = b[0] - a[0], - y = b[1] - a[1]; - return Math.sqrt(x*x + y*y); -}; - -/** - * Calculates the squared euclidian distance between two vec2's - * - * @param {vec2} a the first operand - * @param {vec2} b the second operand - * @returns {Number} squared distance between a and b - */ -vec2.sqrDist = vec2.squaredDistance = function(a, b) { - var x = b[0] - a[0], - y = b[1] - a[1]; - return x*x + y*y; -}; - -/** - * Caclulates the length of a vec2 - * - * @param {vec2} a vector to calculate length of - * @returns {Number} length of a - */ -vec2.len = vec2.length = function (a) { - var x = a[0], - y = a[1]; - return Math.sqrt(x*x + y*y); -}; - -/** - * Caclulates the squared length of a vec2 - * - * @param {vec2} a vector to calculate squared length of - * @returns {Number} squared length of a - */ -vec2.sqrLen = vec2.squaredLength = function (a) { - var x = a[0], - y = a[1]; - return x*x + y*y; -}; - -/** - * Negates the components of a vec2 - * - * @param {vec2} out the receiving vector - * @param {vec2} a vector to negate - * @returns {vec2} out - */ -vec2.negate = function(out, a) { - out[0] = -a[0]; - out[1] = -a[1]; - return out; -}; - -/** - * Normalize a vec2 - * - * @param {vec2} out the receiving vector - * @param {vec2} a vector to normalize - * @returns {vec2} out - */ -vec2.normalize = function(out, a) { - var x = a[0], - y = a[1]; - var len = x*x + y*y; - if (len > 0) { - //TODO: evaluate use of glm_invsqrt here? - len = 1 / Math.sqrt(len); - out[0] = a[0] * len; - out[1] = a[1] * len; - } - return out; -}; - -/** - * Caclulates the dot product of two vec2's - * - * @param {vec2} a the first operand - * @param {vec2} b the second operand - * @returns {Number} dot product of a and b - */ -vec2.dot = function (a, b) { - return a[0] * b[0] + a[1] * b[1]; -}; - -/** - * Computes the cross product of two vec2's - * Note that the cross product must by definition produce a 3D vector - * - * @param {vec3} out the receiving vector - * @param {vec2} a the first operand - * @param {vec2} b the second operand - * @returns {vec3} out - */ -vec2.cross = function(out, a, b) { - var z = a[0] * b[1] - a[1] * b[0]; - out[0] = out[1] = 0; - out[2] = z; - return out; -}; - -/** - * Performs a linear interpolation between two vec2's - * - * @param {vec3} out the receiving vector - * @param {vec2} a the first operand - * @param {vec2} b the second operand - * @param {Number} t interpolation amount between the two inputs - * @returns {vec2} out - */ -vec2.lerp = function (out, a, b, t) { - var ax = a[0], - ay = a[1]; - out[0] = ax + t * (b[0] - ax); - out[1] = ay + t * (b[1] - ay); - return out; -}; - -/** - * Transforms the vec2 with a mat2 - * - * @param {vec2} out the receiving vector - * @param {vec2} a the vector to transform - * @param {mat2} m matrix to transform with - * @returns {vec2} out - */ -vec2.transformMat2 = function(out, a, m) { - var x = a[0], - y = a[1]; - out[0] = x * m[0] + y * m[1]; - out[1] = x * m[2] + y * m[3]; - return out; -}; - -/** - * Perform some operation over an array of vec2s. - * - * @param {Array} a the array of vectors to iterate over - * @param {Number} stride Number of elements between the start of each vec2. If 0 assumes tightly packed - * @param {Number} offset Number of elements to skip at the beginning of the array - * @param {Number} count Number of vec2s to iterate over. If 0 iterates over entire array - * @param {Function} fn Function to call for each vector in the array - * @param {Object} [arg] additional argument to pass to fn - * @returns {Array} a - */ -vec2.forEach = (function() { - var vec = new Float32Array(2); - - return function(a, stride, offset, count, fn, arg) { - var i, l; - if(!stride) { - stride = 2; - } - - if(!offset) { - offset = 0; - } - - if(count) { - l = Math.min((count * stride) + offset, a.length); - } else { - l = a.length; - } - - for(i = offset; i < l; i += stride) { - vec[0] = a[i]; vec[1] = a[i+1]; - fn(vec, vec, arg); - a[i] = vec[0]; a[i+1] = vec[1]; - } - - return a; - }; -})(); - -/** - * Returns a string representation of a vector - * - * @param {vec2} vec vector to represent as a string - * @returns {String} string representation of the vector - */ -vec2.str = function (a) { - return 'vec2(' + a[0] + ', ' + a[1] + ')'; -}; - -if(typeof(exports) !== 'undefined') { - exports.vec2 = vec2; -} -; -/* Copyright (c) 2012, Brandon Jones, Colin MacKenzie IV. All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ - -/** - * @class 3 Dimensional Vector - * @name vec3 - */ - -var vec3 = {}; - -if(!GLMAT_EPSILON) { - var GLMAT_EPSILON = 0.000001; -} - -/** - * Creates a new, empty vec3 - * - * @returns {vec3} a new 3D vector - */ -vec3.create = function() { - return new Float32Array(3); -}; - -/** - * Creates a new vec3 initialized with values from an existing vector - * - * @param {vec3} a vector to clone - * @returns {vec3} a new 3D vector - */ -vec3.clone = function(a) { - var out = new Float32Array(3); - out[0] = a[0]; - out[1] = a[1]; - out[2] = a[2]; - return out; -}; - -/** - * Creates a new vec3 initialized with the given values - * - * @param {Number} x X component - * @param {Number} y Y component - * @param {Number} z Z component - * @returns {vec3} a new 3D vector - */ -vec3.fromValues = function(x, y, z) { - var out = new Float32Array(3); - out[0] = x; - out[1] = y; - out[2] = z; - return out; -}; - -/** - * Copy the values from one vec3 to another - * - * @param {vec3} out the receiving vector - * @param {vec3} a the source vector - * @returns {vec3} out - */ -vec3.copy = function(out, a) { - out[0] = a[0]; - out[1] = a[1]; - out[2] = a[2]; - return out; -}; - -/** - * Set the components of a vec3 to the given values - * - * @param {vec3} out the receiving vector - * @param {Number} x X component - * @param {Number} y Y component - * @param {Number} z Z component - * @returns {vec3} out - */ -vec3.set = function(out, x, y, z) { - out[0] = x; - out[1] = y; - out[2] = z; - return out; -}; - -/** - * Adds two vec3's - * - * @param {vec3} out the receiving vector - * @param {vec3} a the first operand - * @param {vec3} b the second operand - * @returns {vec3} out - */ -vec3.add = function(out, a, b) { - out[0] = a[0] + b[0]; - out[1] = a[1] + b[1]; - out[2] = a[2] + b[2]; - return out; -}; - -/** - * Subtracts two vec3's - * - * @param {vec3} out the receiving vector - * @param {vec3} a the first operand - * @param {vec3} b the second operand - * @returns {vec3} out - */ -vec3.sub = vec3.subtract = function(out, a, b) { - out[0] = a[0] - b[0]; - out[1] = a[1] - b[1]; - out[2] = a[2] - b[2]; - return out; -}; - -/** - * Multiplies two vec3's - * - * @param {vec3} out the receiving vector - * @param {vec3} a the first operand - * @param {vec3} b the second operand - * @returns {vec3} out - */ -vec3.mul = vec3.multiply = function(out, a, b) { - out[0] = a[0] * b[0]; - out[1] = a[1] * b[1]; - out[2] = a[2] * b[2]; - return out; -}; - -/** - * Divides two vec3's - * - * @param {vec3} out the receiving vector - * @param {vec3} a the first operand - * @param {vec3} b the second operand - * @returns {vec3} out - */ -vec3.div = vec3.divide = function(out, a, b) { - out[0] = a[0] / b[0]; - out[1] = a[1] / b[1]; - out[2] = a[2] / b[2]; - return out; -}; - -/** - * Returns the minimum of two vec3's - * - * @param {vec3} out the receiving vector - * @param {vec3} a the first operand - * @param {vec3} b the second operand - * @returns {vec3} out - */ -vec3.min = function(out, a, b) { - out[0] = Math.min(a[0], b[0]); - out[1] = Math.min(a[1], b[1]); - out[2] = Math.min(a[2], b[2]); - return out; -}; - -/** - * Returns the maximum of two vec3's - * - * @param {vec3} out the receiving vector - * @param {vec3} a the first operand - * @param {vec3} b the second operand - * @returns {vec3} out - */ -vec3.max = function(out, a, b) { - out[0] = Math.max(a[0], b[0]); - out[1] = Math.max(a[1], b[1]); - out[2] = Math.max(a[2], b[2]); - return out; -}; - -/** - * Scales a vec3 by a scalar number - * - * @param {vec3} out the receiving vector - * @param {vec3} a the vector to scale - * @param {vec3} b amount to scale the vector by - * @returns {vec3} out - */ -vec3.scale = function(out, a, b) { - out[0] = a[0] * b; - out[1] = a[1] * b; - out[2] = a[2] * b; - return out; -}; - -/** - * Calculates the euclidian distance between two vec3's - * - * @param {vec3} a the first operand - * @param {vec3} b the second operand - * @returns {Number} distance between a and b - */ -vec3.dist = vec3.distance = function(a, b) { - var x = b[0] - a[0], - y = b[1] - a[1], - z = b[2] - a[2]; - return Math.sqrt(x*x + y*y + z*z); -}; - -/** - * Calculates the squared euclidian distance between two vec3's - * - * @param {vec3} a the first operand - * @param {vec3} b the second operand - * @returns {Number} squared distance between a and b - */ -vec3.sqrDist = vec3.squaredDistance = function(a, b) { - var x = b[0] - a[0], - y = b[1] - a[1], - z = b[2] - a[2]; - return x*x + y*y + z*z; -}; - -/** - * Caclulates the length of a vec3 - * - * @param {vec3} a vector to calculate length of - * @returns {Number} length of a - */ -vec3.len = vec3.length = function (a) { - var x = a[0], - y = a[1], - z = a[2]; - return Math.sqrt(x*x + y*y + z*z); -}; - -/** - * Caclulates the squared length of a vec3 - * - * @param {vec3} a vector to calculate squared length of - * @returns {Number} squared length of a - */ -vec3.sqrLen = vec3.squaredLength = function (a) { - var x = a[0], - y = a[1], - z = a[2]; - return x*x + y*y + z*z; -}; - -/** - * Negates the components of a vec3 - * - * @param {vec3} out the receiving vector - * @param {vec3} a vector to negate - * @returns {vec3} out - */ -vec3.negate = function(out, a) { - out[0] = -a[0]; - out[1] = -a[1]; - out[2] = -a[2]; - return out; -}; - -/** - * Normalize a vec3 - * - * @param {vec3} out the receiving vector - * @param {vec3} a vector to normalize - * @returns {vec3} out - */ -vec3.normalize = function(out, a) { - var x = a[0], - y = a[1], - z = a[2]; - var len = x*x + y*y + z*z; - if (len > 0) { - //TODO: evaluate use of glm_invsqrt here? - len = 1 / Math.sqrt(len); - out[0] = a[0] * len; - out[1] = a[1] * len; - out[2] = a[2] * len; - } - return out; -}; - -/** - * Caclulates the dot product of two vec3's - * - * @param {vec3} a the first operand - * @param {vec3} b the second operand - * @returns {Number} dot product of a and b - */ -vec3.dot = function (a, b) { - return a[0] * b[0] + a[1] * b[1] + a[2] * b[2]; -}; - -/** - * Computes the cross product of two vec3's - * - * @param {vec3} out the receiving vector - * @param {vec3} a the first operand - * @param {vec3} b the second operand - * @returns {vec3} out - */ -vec3.cross = function(out, a, b) { - var ax = a[0], ay = a[1], az = a[2], - bx = b[0], by = b[1], bz = b[2]; - - out[0] = ay * bz - az * by; - out[1] = az * bx - ax * bz; - out[2] = ax * by - ay * bx; - return out; -}; - -/** - * Performs a linear interpolation between two vec3's - * - * @param {vec3} out the receiving vector - * @param {vec3} a the first operand - * @param {vec3} b the second operand - * @param {Number} t interpolation amount between the two inputs - * @returns {vec3} out - */ -vec3.lerp = function (out, a, b, t) { - var ax = a[0], - ay = a[1], - az = a[2]; - out[0] = ax + t * (b[0] - ax); - out[1] = ay + t * (b[1] - ay); - out[2] = az + t * (b[2] - az); - return out; -}; - -/** - * Transforms the vec3 with a mat4. - * 4th vector component is implicitly '1' - * - * @param {vec3} out the receiving vector - * @param {vec3} a the vector to transform - * @param {mat4} m matrix to transform with - * @returns {vec3} out - */ -vec3.transformMat4 = function(out, a, m) { - var x = a[0], y = a[1], z = a[2]; - out[0] = m[0] * x + m[4] * y + m[8] * z + m[12]; - out[1] = m[1] * x + m[5] * y + m[9] * z + m[13]; - out[2] = m[2] * x + m[6] * y + m[10] * z + m[14]; - return out; -}; - -/** - * Transforms the vec3 with a quat - * - * @param {vec3} out the receiving vector - * @param {vec3} a the vector to transform - * @param {quat} q quaternion to transform with - * @returns {vec3} out - */ -vec3.transformQuat = function(out, a, q) { - var x = a[0], y = a[1], z = a[2], - qx = q[0], qy = q[1], qz = q[2], qw = q[3], - - // calculate quat * vec - ix = qw * x + qy * z - qz * y, - iy = qw * y + qz * x - qx * z, - iz = qw * z + qx * y - qy * x, - iw = -qx * x - qy * y - qz * z; - - // calculate result * inverse quat - out[0] = ix * qw + iw * -qx + iy * -qz - iz * -qy; - out[1] = iy * qw + iw * -qy + iz * -qx - ix * -qz; - out[2] = iz * qw + iw * -qz + ix * -qy - iy * -qx; - return out; -}; - -/** - * Perform some operation over an array of vec3s. - * - * @param {Array} a the array of vectors to iterate over - * @param {Number} stride Number of elements between the start of each vec3. If 0 assumes tightly packed - * @param {Number} offset Number of elements to skip at the beginning of the array - * @param {Number} count Number of vec3s to iterate over. If 0 iterates over entire array - * @param {Function} fn Function to call for each vector in the array - * @param {Object} [arg] additional argument to pass to fn - * @returns {Array} a - */ -vec3.forEach = (function() { - var vec = new Float32Array(3); - - return function(a, stride, offset, count, fn, arg) { - var i, l; - if(!stride) { - stride = 3; - } - - if(!offset) { - offset = 0; - } - - if(count) { - l = Math.min((count * stride) + offset, a.length); - } else { - l = a.length; - } - - for(i = offset; i < l; i += stride) { - vec[0] = a[i]; vec[1] = a[i+1]; vec[2] = a[i+2]; - fn(vec, vec, arg); - a[i] = vec[0]; a[i+1] = vec[1]; a[i+2] = vec[2]; - } - - return a; - }; -})(); - -/** - * Returns a string representation of a vector - * - * @param {vec3} vec vector to represent as a string - * @returns {String} string representation of the vector - */ -vec3.str = function (a) { - return 'vec3(' + a[0] + ', ' + a[1] + ', ' + a[2] + ')'; -}; - -if(typeof(exports) !== 'undefined') { - exports.vec3 = vec3; -} -; -/* Copyright (c) 2012, Brandon Jones, Colin MacKenzie IV. All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ - -/** - * @class 4 Dimensional Vector - * @name vec4 - */ - -var vec4 = {}; - -if(!GLMAT_EPSILON) { - var GLMAT_EPSILON = 0.000001; -} - -/** - * Creates a new, empty vec4 - * - * @returns {vec4} a new 4D vector - */ -vec4.create = function() { - return new Float32Array(4); -}; - -/** - * Creates a new vec4 initialized with values from an existing vector - * - * @param {vec4} a vector to clone - * @returns {vec4} a new 4D vector - */ -vec4.clone = function(a) { - var out = new Float32Array(4); - out[0] = a[0]; - out[1] = a[1]; - out[2] = a[2]; - out[3] = a[3]; - return out; -}; - -/** - * Creates a new vec4 initialized with the given values - * - * @param {Number} x X component - * @param {Number} y Y component - * @param {Number} z Z component - * @param {Number} w W component - * @returns {vec4} a new 4D vector - */ -vec4.fromValues = function(x, y, z, w) { - var out = new Float32Array(4); - out[0] = x; - out[1] = y; - out[2] = z; - out[3] = w; - return out; -}; - -/** - * Copy the values from one vec4 to another - * - * @param {vec4} out the receiving vector - * @param {vec4} a the source vector - * @returns {vec4} out - */ -vec4.copy = function(out, a) { - out[0] = a[0]; - out[1] = a[1]; - out[2] = a[2]; - out[3] = a[3]; - return out; -}; - -/** - * Set the components of a vec4 to the given values - * - * @param {vec4} out the receiving vector - * @param {Number} x X component - * @param {Number} y Y component - * @param {Number} z Z component - * @param {Number} w W component - * @returns {vec4} out - */ -vec4.set = function(out, x, y, z, w) { - out[0] = x; - out[1] = y; - out[2] = z; - out[3] = w; - return out; -}; - -/** - * Adds two vec4's - * - * @param {vec4} out the receiving vector - * @param {vec4} a the first operand - * @param {vec4} b the second operand - * @returns {vec4} out - */ -vec4.add = function(out, a, b) { - out[0] = a[0] + b[0]; - out[1] = a[1] + b[1]; - out[2] = a[2] + b[2]; - out[3] = a[3] + b[3]; - return out; -}; - -/** - * Subtracts two vec4's - * - * @param {vec4} out the receiving vector - * @param {vec4} a the first operand - * @param {vec4} b the second operand - * @returns {vec4} out - */ -vec4.sub = vec4.subtract = function(out, a, b) { - out[0] = a[0] - b[0]; - out[1] = a[1] - b[1]; - out[2] = a[2] - b[2]; - out[3] = a[3] - b[3]; - return out; -}; - -/** - * Multiplies two vec4's - * - * @param {vec4} out the receiving vector - * @param {vec4} a the first operand - * @param {vec4} b the second operand - * @returns {vec4} out - */ -vec4.mul = vec4.multiply = function(out, a, b) { - out[0] = a[0] * b[0]; - out[1] = a[1] * b[1]; - out[2] = a[2] * b[2]; - out[3] = a[3] * b[3]; - return out; -}; - -/** - * Divides two vec4's - * - * @param {vec4} out the receiving vector - * @param {vec4} a the first operand - * @param {vec4} b the second operand - * @returns {vec4} out - */ -vec4.div = vec4.divide = function(out, a, b) { - out[0] = a[0] / b[0]; - out[1] = a[1] / b[1]; - out[2] = a[2] / b[2]; - out[3] = a[3] / b[3]; - return out; -}; - -/** - * Returns the minimum of two vec4's - * - * @param {vec4} out the receiving vector - * @param {vec4} a the first operand - * @param {vec4} b the second operand - * @returns {vec4} out - */ -vec4.min = function(out, a, b) { - out[0] = Math.min(a[0], b[0]); - out[1] = Math.min(a[1], b[1]); - out[2] = Math.min(a[2], b[2]); - out[3] = Math.min(a[3], b[3]); - return out; -}; - -/** - * Returns the maximum of two vec4's - * - * @param {vec4} out the receiving vector - * @param {vec4} a the first operand - * @param {vec4} b the second operand - * @returns {vec4} out - */ -vec4.max = function(out, a, b) { - out[0] = Math.max(a[0], b[0]); - out[1] = Math.max(a[1], b[1]); - out[2] = Math.max(a[2], b[2]); - out[3] = Math.max(a[3], b[3]); - return out; -}; - -/** - * Scales a vec4 by a scalar number - * - * @param {vec4} out the receiving vector - * @param {vec4} a the vector to scale - * @param {vec4} b amount to scale the vector by - * @returns {vec4} out - */ -vec4.scale = function(out, a, b) { - out[0] = a[0] * b; - out[1] = a[1] * b; - out[2] = a[2] * b; - out[3] = a[3] * b; - return out; -}; - -/** - * Calculates the euclidian distance between two vec4's - * - * @param {vec4} a the first operand - * @param {vec4} b the second operand - * @returns {Number} distance between a and b - */ -vec4.dist = vec4.distance = function(a, b) { - var x = b[0] - a[0], - y = b[1] - a[1], - z = b[2] - a[2], - w = b[3] - a[3]; - return Math.sqrt(x*x + y*y + z*z + w*w); -}; - -/** - * Calculates the squared euclidian distance between two vec4's - * - * @param {vec4} a the first operand - * @param {vec4} b the second operand - * @returns {Number} squared distance between a and b - */ -vec4.sqrDist = vec4.squaredDistance = function(a, b) { - var x = b[0] - a[0], - y = b[1] - a[1], - z = b[2] - a[2], - w = b[3] - a[3]; - return x*x + y*y + z*z + w*w; -}; - -/** - * Caclulates the length of a vec4 - * - * @param {vec4} a vector to calculate length of - * @returns {Number} length of a - */ -vec4.len = vec4.length = function (a) { - var x = a[0], - y = a[1], - z = a[2], - w = a[3]; - return Math.sqrt(x*x + y*y + z*z + w*w); -}; - -/** - * Caclulates the squared length of a vec4 - * - * @param {vec4} a vector to calculate squared length of - * @returns {Number} squared length of a - */ -vec4.sqrLen = vec4.squaredLength = function (a) { - var x = a[0], - y = a[1], - z = a[2], - w = a[3]; - return x*x + y*y + z*z + w*w; -}; - -/** - * Negates the components of a vec4 - * - * @param {vec4} out the receiving vector - * @param {vec4} a vector to negate - * @returns {vec4} out - */ -vec4.negate = function(out, a) { - out[0] = -a[0]; - out[1] = -a[1]; - out[2] = -a[2]; - out[3] = -a[3]; - return out; -}; - -/** - * Normalize a vec4 - * - * @param {vec4} out the receiving vector - * @param {vec4} a vector to normalize - * @returns {vec4} out - */ -vec4.normalize = function(out, a) { - var x = a[0], - y = a[1], - z = a[2], - w = a[3]; - var len = x*x + y*y + z*z + w*w; - if (len > 0) { - len = 1 / Math.sqrt(len); - out[0] = a[0] * len; - out[1] = a[1] * len; - out[2] = a[2] * len; - out[3] = a[3] * len; - } - return out; -}; - -/** - * Caclulates the dot product of two vec4's - * - * @param {vec4} a the first operand - * @param {vec4} b the second operand - * @returns {Number} dot product of a and b - */ -vec4.dot = function (a, b) { - return a[0] * b[0] + a[1] * b[1] + a[2] * b[2] + a[3] * b[3]; -}; - -/** - * Performs a linear interpolation between two vec4's - * - * @param {vec4} out the receiving vector - * @param {vec4} a the first operand - * @param {vec4} b the second operand - * @param {Number} t interpolation amount between the two inputs - * @returns {vec4} out - */ -vec4.lerp = function (out, a, b, t) { - var ax = a[0], - ay = a[1], - az = a[2], - aw = a[3]; - out[0] = ax + t * (b[0] - ax); - out[1] = ay + t * (b[1] - ay); - out[2] = az + t * (b[2] - az); - out[3] = aw + t * (b[3] - aw); - return out; -}; - -/** - * Transforms the vec4 with a mat4. - * - * @param {vec4} out the receiving vector - * @param {vec4} a the vector to transform - * @param {mat4} m matrix to transform with - * @returns {vec4} out - */ -vec4.transformMat4 = function(out, a, m) { - var x = a[0], y = a[1], z = a[2], w = a[3]; - out[0] = m[0] * x + m[4] * y + m[8] * z + m[12] * w; - out[1] = m[1] * x + m[5] * y + m[9] * z + m[13] * w; - out[2] = m[2] * x + m[6] * y + m[10] * z + m[14] * w; - out[3] = m[3] * x + m[7] * y + m[11] * z + m[15] * w; - return out; -}; - -/** - * Transforms the vec4 with a quat - * - * @param {vec4} out the receiving vector - * @param {vec4} a the vector to transform - * @param {quat} q quaternion to transform with - * @returns {vec4} out - */ -vec4.transformQuat = function(out, a, q) { - var x = a[0], y = a[1], z = a[2], - qx = q[0], qy = q[1], qz = q[2], qw = q[3], - - // calculate quat * vec - ix = qw * x + qy * z - qz * y, - iy = qw * y + qz * x - qx * z, - iz = qw * z + qx * y - qy * x, - iw = -qx * x - qy * y - qz * z; - - // calculate result * inverse quat - out[0] = ix * qw + iw * -qx + iy * -qz - iz * -qy; - out[1] = iy * qw + iw * -qy + iz * -qx - ix * -qz; - out[2] = iz * qw + iw * -qz + ix * -qy - iy * -qx; - return out; -}; - -/** - * Perform some operation over an array of vec4s. - * - * @param {Array} a the array of vectors to iterate over - * @param {Number} stride Number of elements between the start of each vec4. If 0 assumes tightly packed - * @param {Number} offset Number of elements to skip at the beginning of the array - * @param {Number} count Number of vec2s to iterate over. If 0 iterates over entire array - * @param {Function} fn Function to call for each vector in the array - * @param {Object} [arg] additional argument to pass to fn - * @returns {Array} a - */ -vec4.forEach = (function() { - var vec = new Float32Array(4); - - return function(a, stride, offset, count, fn, arg) { - var i, l; - if(!stride) { - stride = 4; - } - - if(!offset) { - offset = 0; - } - - if(count) { - l = Math.min((count * stride) + offset, a.length); - } else { - l = a.length; - } - - for(i = offset; i < l; i += stride) { - vec[0] = a[i]; vec[1] = a[i+1]; vec[2] = a[i+2]; vec[3] = a[i+3]; - fn(vec, vec, arg); - a[i] = vec[0]; a[i+1] = vec[1]; a[i+2] = vec[2]; a[i+3] = vec[3]; - } - - return a; - }; -})(); - -/** - * Returns a string representation of a vector - * - * @param {vec4} vec vector to represent as a string - * @returns {String} string representation of the vector - */ -vec4.str = function (a) { - return 'vec4(' + a[0] + ', ' + a[1] + ', ' + a[2] + ', ' + a[3] + ')'; -}; - -if(typeof(exports) !== 'undefined') { - exports.vec4 = vec4; -} -; -/* Copyright (c) 2012, Brandon Jones, Colin MacKenzie IV. All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ - -/** - * @class 2x2 Matrix - * @name mat2 - */ - -var mat2 = {}; - -var mat2Identity = new Float32Array([ - 1, 0, - 0, 1 -]); - -if(!GLMAT_EPSILON) { - var GLMAT_EPSILON = 0.000001; -} - -/** - * Creates a new identity mat2 - * - * @returns {mat2} a new 2x2 matrix - */ -mat2.create = function() { - return new Float32Array(mat2Identity); -}; - -/** - * Creates a new mat2 initialized with values from an existing matrix - * - * @param {mat2} a matrix to clone - * @returns {mat2} a new 2x2 matrix - */ -mat2.clone = function(a) { - var out = new Float32Array(4); - out[0] = a[0]; - out[1] = a[1]; - out[2] = a[2]; - out[3] = a[3]; - return out; -}; - -/** - * Copy the values from one mat2 to another - * - * @param {mat2} out the receiving matrix - * @param {mat2} a the source matrix - * @returns {mat2} out - */ -mat2.copy = function(out, a) { - out[0] = a[0]; - out[1] = a[1]; - out[2] = a[2]; - out[3] = a[3]; - return out; -}; - -/** - * Set a mat2 to the identity matrix - * - * @param {mat2} out the receiving matrix - * @returns {mat2} out - */ -mat2.identity = function(out) { - out[0] = 1; - out[1] = 0; - out[2] = 0; - out[3] = 1; - return out; -}; - -/** - * Transpose the values of a mat2 - * - * @param {mat2} out the receiving matrix - * @param {mat2} a the source matrix - * @returns {mat2} out - */ -mat2.transpose = function(out, a) { - // If we are transposing ourselves we can skip a few steps but have to cache some values - if (out === a) { - var a1 = a[1]; - out[1] = a[2]; - out[2] = a1; - } else { - out[0] = a[0]; - out[1] = a[2]; - out[2] = a[1]; - out[3] = a[3]; - } - - return out; -}; - -/** - * Inverts a mat2 - * - * @param {mat2} out the receiving matrix - * @param {mat2} a the source matrix - * @returns {mat2} out - */ -mat2.invert = function(out, a) { - var a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3], - - // Calculate the determinant - det = a0 * a3 - a2 * a1; - - if (!det) { - return null; - } - det = 1.0 / det; - - out[0] = a3 * det; - out[1] = -a1 * det; - out[2] = -a2 * det; - out[3] = a0 * det; - - return out; -}; - -/** - * Caclulates the adjugate of a mat2 - * - * @param {mat2} out the receiving matrix - * @param {mat2} a the source matrix - * @returns {mat2} out - */ -mat2.adjoint = function(out, a) { - // Caching this value is nessecary if out == a - var a0 = a[0]; - out[0] = a[3]; - out[1] = -a[1]; - out[2] = -a[2]; - out[3] = a0; - - return out; -}; - -/** - * Calculates the determinant of a mat2 - * - * @param {mat2} a the source matrix - * @returns {Number} determinant of a - */ -mat2.determinant = function (a) { - return a[0] * a[3] - a[2] * a[1]; -}; - -/** - * Multiplies two mat2's - * - * @param {mat2} out the receiving matrix - * @param {mat2} a the first operand - * @param {mat2} b the second operand - * @returns {mat2} out - */ -mat2.mul = mat2.multiply = function (out, a, b) { - var a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3]; - var b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3]; - out[0] = a0 * b0 + a1 * b2; - out[1] = a0 * b1 + a1 * b3; - out[2] = a2 * b0 + a3 * b2; - out[3] = a2 * b1 + a3 * b3; - return out; -}; - -/** - * Rotates a mat2 by the given angle - * - * @param {mat2} out the receiving matrix - * @param {mat2} a the matrix to rotate - * @param {mat2} rad the angle to rotate the matrix by - * @returns {mat2} out - */ -mat2.rotate = function (out, a, rad) { - var a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3], - s = Math.sin(rad), - c = Math.cos(rad); - out[0] = a0 * c + a1 * s; - out[1] = a0 * -s + a1 * c; - out[2] = a2 * c + a3 * s; - out[3] = a2 * -s + a3 * c; - return out; -}; - -/** - * Scales the mat2 by the dimensions in the given vec2 - * - * @param {mat2} out the receiving matrix - * @param {mat2} a the matrix to rotate - * @param {mat2} v the vec2 to scale the matrix by - * @returns {mat2} out - **/ -mat2.scale = function(out, a, v) { - var a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3], - v0 = v[0], v1 = v[1]; - out[0] = a0 * v0; - out[1] = a1 * v1; - out[2] = a2 * v0; - out[3] = a3 * v1; - return out; -}; - -/** - * Returns a string representation of a mat2 - * - * @param {mat2} mat matrix to represent as a string - * @returns {String} string representation of the matrix - */ -mat2.str = function (a) { - return 'mat2(' + a[0] + ', ' + a[1] + ', ' + a[2] + ', ' + a[3] + ')'; -}; - -if(typeof(exports) !== 'undefined') { - exports.mat2 = mat2; -} -; -/* Copyright (c) 2012, Brandon Jones, Colin MacKenzie IV. All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ - -/** - * @class 3x3 Matrix - * @name mat3 - */ - -var mat3 = {}; - -var mat3Identity = new Float32Array([ - 1, 0, 0, - 0, 1, 0, - 0, 0, 1 -]); - -if(!GLMAT_EPSILON) { - var GLMAT_EPSILON = 0.000001; -} - -/** - * Creates a new identity mat3 - * - * @returns {mat3} a new 3x3 matrix - */ -mat3.create = function() { - return new Float32Array(mat3Identity); -}; - -/** - * Creates a new mat3 initialized with values from an existing matrix - * - * @param {mat3} a matrix to clone - * @returns {mat3} a new 3x3 matrix - */ -mat3.clone = function(a) { - var out = new Float32Array(9); - out[0] = a[0]; - out[1] = a[1]; - out[2] = a[2]; - out[3] = a[3]; - out[4] = a[4]; - out[5] = a[5]; - out[6] = a[6]; - out[7] = a[7]; - out[8] = a[8]; - return out; -}; - -/** - * Copy the values from one mat3 to another - * - * @param {mat3} out the receiving matrix - * @param {mat3} a the source matrix - * @returns {mat3} out - */ -mat3.copy = function(out, a) { - out[0] = a[0]; - out[1] = a[1]; - out[2] = a[2]; - out[3] = a[3]; - out[4] = a[4]; - out[5] = a[5]; - out[6] = a[6]; - out[7] = a[7]; - out[8] = a[8]; - return out; -}; - -/** - * Set a mat3 to the identity matrix - * - * @param {mat3} out the receiving matrix - * @returns {mat3} out - */ -mat3.identity = function(out) { - out[0] = 1; - out[1] = 0; - out[2] = 0; - out[3] = 0; - out[4] = 1; - out[5] = 0; - out[6] = 0; - out[7] = 0; - out[8] = 1; - return out; -}; - -/** - * Transpose the values of a mat3 - * - * @param {mat3} out the receiving matrix - * @param {mat3} a the source matrix - * @returns {mat3} out - */ -mat3.transpose = function(out, a) { - // If we are transposing ourselves we can skip a few steps but have to cache some values - if (out === a) { - var a01 = a[1], a02 = a[2], a12 = a[5]; - out[1] = a[3]; - out[2] = a[6]; - out[3] = a01; - out[5] = a[7]; - out[6] = a02; - out[7] = a12; - } else { - out[0] = a[0]; - out[1] = a[3]; - out[2] = a[6]; - out[3] = a[1]; - out[4] = a[4]; - out[5] = a[7]; - out[6] = a[2]; - out[7] = a[5]; - out[8] = a[8]; - } - - return out; -}; - -/** - * Inverts a mat3 - * - * @param {mat3} out the receiving matrix - * @param {mat3} a the source matrix - * @returns {mat3} out - */ -mat3.invert = function(out, a) { - var a00 = a[0], a01 = a[1], a02 = a[2], - a10 = a[3], a11 = a[4], a12 = a[5], - a20 = a[6], a21 = a[7], a22 = a[8], - - b01 = a22 * a11 - a12 * a21, - b11 = -a22 * a10 + a12 * a20, - b21 = a21 * a10 - a11 * a20, - - // Calculate the determinant - det = a00 * b01 + a01 * b11 + a02 * b21; - - if (!det) { - return null; - } - det = 1.0 / det; - - out[0] = b01 * det; - out[1] = (-a22 * a01 + a02 * a21) * det; - out[2] = (a12 * a01 - a02 * a11) * det; - out[3] = b11 * det; - out[4] = (a22 * a00 - a02 * a20) * det; - out[5] = (-a12 * a00 + a02 * a10) * det; - out[6] = b21 * det; - out[7] = (-a21 * a00 + a01 * a20) * det; - out[8] = (a11 * a00 - a01 * a10) * det; - return out; -}; - -/** - * Caclulates the adjugate of a mat3 - * - * @param {mat3} out the receiving matrix - * @param {mat3} a the source matrix - * @returns {mat3} out - */ -mat3.adjoint = function(out, a) { - var a00 = a[0], a01 = a[1], a02 = a[2], - a10 = a[3], a11 = a[4], a12 = a[5], - a20 = a[6], a21 = a[7], a22 = a[8]; - - out[0] = (a11 * a22 - a12 * a21); - out[1] = (a02 * a21 - a01 * a22); - out[2] = (a01 * a12 - a02 * a11); - out[3] = (a12 * a20 - a10 * a22); - out[4] = (a00 * a22 - a02 * a20); - out[5] = (a02 * a10 - a00 * a12); - out[6] = (a10 * a21 - a11 * a20); - out[7] = (a01 * a20 - a00 * a21); - out[8] = (a00 * a11 - a01 * a10); - return out; -}; - -/** - * Calculates the determinant of a mat3 - * - * @param {mat3} a the source matrix - * @returns {Number} determinant of a - */ -mat3.determinant = function (a) { - var a00 = a[0], a01 = a[1], a02 = a[2], - a10 = a[3], a11 = a[4], a12 = a[5], - a20 = a[6], a21 = a[7], a22 = a[8]; - - return a00 * (a22 * a11 - a12 * a21) + a01 * (-a22 * a10 + a12 * a20) + a02 * (a21 * a10 - a11 * a20); -}; - -/** - * Multiplies two mat3's - * - * @param {mat3} out the receiving matrix - * @param {mat3} a the first operand - * @param {mat3} b the second operand - * @returns {mat3} out - */ -mat3.mul = mat3.multiply = function (out, a, b) { - var a00 = a[0], a01 = a[1], a02 = a[2], - a10 = a[3], a11 = a[4], a12 = a[5], - a20 = a[6], a21 = a[7], a22 = a[8], - - b00 = b[0], b01 = b[1], b02 = b[2], - b10 = b[3], b11 = b[4], b12 = b[5], - b20 = b[6], b21 = b[7], b22 = b[8]; - - out[0] = b00 * a00 + b01 * a10 + b02 * a20; - out[1] = b00 * a01 + b01 * a11 + b02 * a21; - out[2] = b00 * a02 + b01 * a12 + b02 * a22; - - out[3] = b10 * a00 + b11 * a10 + b12 * a20; - out[4] = b10 * a01 + b11 * a11 + b12 * a21; - out[5] = b10 * a02 + b11 * a12 + b12 * a22; - - out[6] = b20 * a00 + b21 * a10 + b22 * a20; - out[7] = b20 * a01 + b21 * a11 + b22 * a21; - out[8] = b20 * a02 + b21 * a12 + b22 * a22; - return out; -}; - -/** - * Returns a string representation of a mat3 - * - * @param {mat3} mat matrix to represent as a string - * @returns {String} string representation of the matrix - */ -mat3.str = function (a) { - return 'mat3(' + a[0] + ', ' + a[1] + ', ' + a[2] + ', ' + - a[3] + ', ' + a[4] + ', ' + a[5] + ', ' + - a[6] + ', ' + a[7] + ', ' + a[8] + ')'; -}; - -if(typeof(exports) !== 'undefined') { - exports.mat3 = mat3; -} -; -/* Copyright (c) 2012, Brandon Jones, Colin MacKenzie IV. All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ - -/** - * @class 4x4 Matrix - * @name mat4 - */ - -var mat4 = {}; - -var mat4Identity = new Float32Array([ - 1, 0, 0, 0, - 0, 1, 0, 0, - 0, 0, 1, 0, - 0, 0, 0, 1 -]); - -if(!GLMAT_EPSILON) { - var GLMAT_EPSILON = 0.000001; -} - -/** - * Creates a new identity mat4 - * - * @returns {mat4} a new 4x4 matrix - */ -mat4.create = function() { - return new Float32Array(mat4Identity); -}; - -/** - * Creates a new mat4 initialized with values from an existing matrix - * - * @param {mat4} a matrix to clone - * @returns {mat4} a new 4x4 matrix - */ -mat4.clone = function(a) { - var out = new Float32Array(16); - out[0] = a[0]; - out[1] = a[1]; - out[2] = a[2]; - out[3] = a[3]; - out[4] = a[4]; - out[5] = a[5]; - out[6] = a[6]; - out[7] = a[7]; - out[8] = a[8]; - out[9] = a[9]; - out[10] = a[10]; - out[11] = a[11]; - out[12] = a[12]; - out[13] = a[13]; - out[14] = a[14]; - out[15] = a[15]; - return out; -}; - -/** - * Copy the values from one mat4 to another - * - * @param {mat4} out the receiving matrix - * @param {mat4} a the source matrix - * @returns {mat4} out - */ -mat4.copy = function(out, a) { - out[0] = a[0]; - out[1] = a[1]; - out[2] = a[2]; - out[3] = a[3]; - out[4] = a[4]; - out[5] = a[5]; - out[6] = a[6]; - out[7] = a[7]; - out[8] = a[8]; - out[9] = a[9]; - out[10] = a[10]; - out[11] = a[11]; - out[12] = a[12]; - out[13] = a[13]; - out[14] = a[14]; - out[15] = a[15]; - return out; -}; - -/** - * Set a mat4 to the identity matrix - * - * @param {mat4} out the receiving matrix - * @returns {mat4} out - */ -mat4.identity = function(out) { - out[0] = 1; - out[1] = 0; - out[2] = 0; - out[3] = 0; - out[4] = 0; - out[5] = 1; - out[6] = 0; - out[7] = 0; - out[8] = 0; - out[9] = 0; - out[10] = 1; - out[11] = 0; - out[12] = 0; - out[13] = 0; - out[14] = 0; - out[15] = 1; - return out; -}; - -/** - * Transpose the values of a mat4 - * - * @param {mat4} out the receiving matrix - * @param {mat4} a the source matrix - * @returns {mat4} out - */ -mat4.transpose = function(out, a) { - // If we are transposing ourselves we can skip a few steps but have to cache some values - if (out === a) { - var a01 = a[1], a02 = a[2], a03 = a[3], - a12 = a[6], a13 = a[7], - a23 = a[11]; - - out[1] = a[4]; - out[2] = a[8]; - out[3] = a[12]; - out[4] = a01; - out[6] = a[9]; - out[7] = a[13]; - out[8] = a02; - out[9] = a12; - out[11] = a[14]; - out[12] = a03; - out[13] = a13; - out[14] = a23; - } else { - out[0] = a[0]; - out[1] = a[4]; - out[2] = a[8]; - out[3] = a[12]; - out[4] = a[1]; - out[5] = a[5]; - out[6] = a[9]; - out[7] = a[13]; - out[8] = a[2]; - out[9] = a[6]; - out[10] = a[10]; - out[11] = a[14]; - out[12] = a[3]; - out[13] = a[7]; - out[14] = a[11]; - out[15] = a[15]; - } - - return out; -}; - -/** - * Inverts a mat4 - * - * @param {mat4} out the receiving matrix - * @param {mat4} a the source matrix - * @returns {mat4} out - */ -mat4.invert = function(out, a) { - var a00 = a[0], a01 = a[1], a02 = a[2], a03 = a[3], - a10 = a[4], a11 = a[5], a12 = a[6], a13 = a[7], - a20 = a[8], a21 = a[9], a22 = a[10], a23 = a[11], - a30 = a[12], a31 = a[13], a32 = a[14], a33 = a[15], - - b00 = a00 * a11 - a01 * a10, - b01 = a00 * a12 - a02 * a10, - b02 = a00 * a13 - a03 * a10, - b03 = a01 * a12 - a02 * a11, - b04 = a01 * a13 - a03 * a11, - b05 = a02 * a13 - a03 * a12, - b06 = a20 * a31 - a21 * a30, - b07 = a20 * a32 - a22 * a30, - b08 = a20 * a33 - a23 * a30, - b09 = a21 * a32 - a22 * a31, - b10 = a21 * a33 - a23 * a31, - b11 = a22 * a33 - a23 * a32, - - // Calculate the determinant - det = b00 * b11 - b01 * b10 + b02 * b09 + b03 * b08 - b04 * b07 + b05 * b06; - - if (!det) { - return null; - } - det = 1.0 / det; - - out[0] = (a11 * b11 - a12 * b10 + a13 * b09) * det; - out[1] = (a02 * b10 - a01 * b11 - a03 * b09) * det; - out[2] = (a31 * b05 - a32 * b04 + a33 * b03) * det; - out[3] = (a22 * b04 - a21 * b05 - a23 * b03) * det; - out[4] = (a12 * b08 - a10 * b11 - a13 * b07) * det; - out[5] = (a00 * b11 - a02 * b08 + a03 * b07) * det; - out[6] = (a32 * b02 - a30 * b05 - a33 * b01) * det; - out[7] = (a20 * b05 - a22 * b02 + a23 * b01) * det; - out[8] = (a10 * b10 - a11 * b08 + a13 * b06) * det; - out[9] = (a01 * b08 - a00 * b10 - a03 * b06) * det; - out[10] = (a30 * b04 - a31 * b02 + a33 * b00) * det; - out[11] = (a21 * b02 - a20 * b04 - a23 * b00) * det; - out[12] = (a11 * b07 - a10 * b09 - a12 * b06) * det; - out[13] = (a00 * b09 - a01 * b07 + a02 * b06) * det; - out[14] = (a31 * b01 - a30 * b03 - a32 * b00) * det; - out[15] = (a20 * b03 - a21 * b01 + a22 * b00) * det; - - return out; -}; - -/** - * Caclulates the adjugate of a mat4 - * - * @param {mat4} out the receiving matrix - * @param {mat4} a the source matrix - * @returns {mat4} out - */ -mat4.adjoint = function(out, a) { - var a00 = a[0], a01 = a[1], a02 = a[2], a03 = a[3], - a10 = a[4], a11 = a[5], a12 = a[6], a13 = a[7], - a20 = a[8], a21 = a[9], a22 = a[10], a23 = a[11], - a30 = a[12], a31 = a[13], a32 = a[14], a33 = a[15]; - - out[0] = (a11 * (a22 * a33 - a23 * a32) - a21 * (a12 * a33 - a13 * a32) + a31 * (a12 * a23 - a13 * a22)); - out[1] = -(a01 * (a22 * a33 - a23 * a32) - a21 * (a02 * a33 - a03 * a32) + a31 * (a02 * a23 - a03 * a22)); - out[2] = (a01 * (a12 * a33 - a13 * a32) - a11 * (a02 * a33 - a03 * a32) + a31 * (a02 * a13 - a03 * a12)); - out[3] = -(a01 * (a12 * a23 - a13 * a22) - a11 * (a02 * a23 - a03 * a22) + a21 * (a02 * a13 - a03 * a12)); - out[4] = -(a10 * (a22 * a33 - a23 * a32) - a20 * (a12 * a33 - a13 * a32) + a30 * (a12 * a23 - a13 * a22)); - out[5] = (a00 * (a22 * a33 - a23 * a32) - a20 * (a02 * a33 - a03 * a32) + a30 * (a02 * a23 - a03 * a22)); - out[6] = -(a00 * (a12 * a33 - a13 * a32) - a10 * (a02 * a33 - a03 * a32) + a30 * (a02 * a13 - a03 * a12)); - out[7] = (a00 * (a12 * a23 - a13 * a22) - a10 * (a02 * a23 - a03 * a22) + a20 * (a02 * a13 - a03 * a12)); - out[8] = (a10 * (a21 * a33 - a23 * a31) - a20 * (a11 * a33 - a13 * a31) + a30 * (a11 * a23 - a13 * a21)); - out[9] = -(a00 * (a21 * a33 - a23 * a31) - a20 * (a01 * a33 - a03 * a31) + a30 * (a01 * a23 - a03 * a21)); - out[10] = (a00 * (a11 * a33 - a13 * a31) - a10 * (a01 * a33 - a03 * a31) + a30 * (a01 * a13 - a03 * a11)); - out[11] = -(a00 * (a11 * a23 - a13 * a21) - a10 * (a01 * a23 - a03 * a21) + a20 * (a01 * a13 - a03 * a11)); - out[12] = -(a10 * (a21 * a32 - a22 * a31) - a20 * (a11 * a32 - a12 * a31) + a30 * (a11 * a22 - a12 * a21)); - out[13] = (a00 * (a21 * a32 - a22 * a31) - a20 * (a01 * a32 - a02 * a31) + a30 * (a01 * a22 - a02 * a21)); - out[14] = -(a00 * (a11 * a32 - a12 * a31) - a10 * (a01 * a32 - a02 * a31) + a30 * (a01 * a12 - a02 * a11)); - out[15] = (a00 * (a11 * a22 - a12 * a21) - a10 * (a01 * a22 - a02 * a21) + a20 * (a01 * a12 - a02 * a11)); - return out; -}; - -/** - * Calculates the determinant of a mat4 - * - * @param {mat4} a the source matrix - * @returns {Number} determinant of a - */ -mat4.determinant = function (a) { - var a00 = a[0], a01 = a[1], a02 = a[2], a03 = a[3], - a10 = a[4], a11 = a[5], a12 = a[6], a13 = a[7], - a20 = a[8], a21 = a[9], a22 = a[10], a23 = a[11], - a30 = a[12], a31 = a[13], a32 = a[14], a33 = a[15], - - b00 = a00 * a11 - a01 * a10, - b01 = a00 * a12 - a02 * a10, - b02 = a00 * a13 - a03 * a10, - b03 = a01 * a12 - a02 * a11, - b04 = a01 * a13 - a03 * a11, - b05 = a02 * a13 - a03 * a12, - b06 = a20 * a31 - a21 * a30, - b07 = a20 * a32 - a22 * a30, - b08 = a20 * a33 - a23 * a30, - b09 = a21 * a32 - a22 * a31, - b10 = a21 * a33 - a23 * a31, - b11 = a22 * a33 - a23 * a32; - - // Calculate the determinant - return b00 * b11 - b01 * b10 + b02 * b09 + b03 * b08 - b04 * b07 + b05 * b06; -}; - -/** - * Multiplies two mat4's - * - * @param {mat4} out the receiving matrix - * @param {mat4} a the first operand - * @param {mat4} b the second operand - * @returns {mat4} out - */ -mat4.mul = mat4.multiply = function (out, a, b) { - var a00 = a[0], a01 = a[1], a02 = a[2], a03 = a[3], - a10 = a[4], a11 = a[5], a12 = a[6], a13 = a[7], - a20 = a[8], a21 = a[9], a22 = a[10], a23 = a[11], - a30 = a[12], a31 = a[13], a32 = a[14], a33 = a[15]; - - // Cache only the current line of the second matrix - var b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3]; - out[0] = b0*a00 + b1*a10 + b2*a20 + b3*a30; - out[1] = b0*a01 + b1*a11 + b2*a21 + b3*a31; - out[2] = b0*a02 + b1*a12 + b2*a22 + b3*a32; - out[3] = b0*a03 + b1*a13 + b2*a23 + b3*a33; - - b0 = b[4]; b1 = b[5]; b2 = b[6]; b3 = b[7]; - out[4] = b0*a00 + b1*a10 + b2*a20 + b3*a30; - out[5] = b0*a01 + b1*a11 + b2*a21 + b3*a31; - out[6] = b0*a02 + b1*a12 + b2*a22 + b3*a32; - out[7] = b0*a03 + b1*a13 + b2*a23 + b3*a33; - - b0 = b[8]; b1 = b[9]; b2 = b[10]; b3 = b[11]; - out[8] = b0*a00 + b1*a10 + b2*a20 + b3*a30; - out[9] = b0*a01 + b1*a11 + b2*a21 + b3*a31; - out[10] = b0*a02 + b1*a12 + b2*a22 + b3*a32; - out[11] = b0*a03 + b1*a13 + b2*a23 + b3*a33; - - b0 = b[12]; b1 = b[13]; b2 = b[14]; b3 = b[15]; - out[12] = b0*a00 + b1*a10 + b2*a20 + b3*a30; - out[13] = b0*a01 + b1*a11 + b2*a21 + b3*a31; - out[14] = b0*a02 + b1*a12 + b2*a22 + b3*a32; - out[15] = b0*a03 + b1*a13 + b2*a23 + b3*a33; - return out; -}; - -/** - * Translate a mat4 by the given vector - * - * @param {mat4} out the receiving matrix - * @param {mat4} a the matrix to translate - * @param {vec3} v vector to translate by - * @returns {mat4} out - */ -mat4.translate = function (out, a, v) { - var x = v[0], y = v[1], z = v[2], - a00, a01, a02, a03, - a10, a11, a12, a13, - a20, a21, a22, a23; - - if (a === out) { - out[12] = a[0] * x + a[4] * y + a[8] * z + a[12]; - out[13] = a[1] * x + a[5] * y + a[9] * z + a[13]; - out[14] = a[2] * x + a[6] * y + a[10] * z + a[14]; - out[15] = a[3] * x + a[7] * y + a[11] * z + a[15]; - } else { - a00 = a[0]; a01 = a[1]; a02 = a[2]; a03 = a[3]; - a10 = a[4]; a11 = a[5]; a12 = a[6]; a13 = a[7]; - a20 = a[8]; a21 = a[9]; a22 = a[10]; a23 = a[11]; - - out[0] = a00; out[1] = a01; out[2] = a02; out[3] = a03; - out[4] = a10; out[5] = a11; out[6] = a12; out[7] = a13; - out[8] = a20; out[9] = a21; out[10] = a22; out[11] = a23; - - out[12] = a00 * x + a10 * y + a20 * z + a[12]; - out[13] = a01 * x + a11 * y + a21 * z + a[13]; - out[14] = a02 * x + a12 * y + a22 * z + a[14]; - out[15] = a03 * x + a13 * y + a23 * z + a[15]; - } - - return out; -}; - -/** - * Scales the mat4 by the dimensions in the given vec3 - * - * @param {mat4} out the receiving matrix - * @param {mat4} a the matrix to scale - * @param {vec3} v the vec3 to scale the matrix by - * @returns {mat4} out - **/ -mat4.scale = function(out, a, v) { - var x = v[0], y = v[1], z = v[2]; - - out[0] = a[0] * x; - out[1] = a[1] * x; - out[2] = a[2] * x; - out[3] = a[3] * x; - out[4] = a[4] * y; - out[5] = a[5] * y; - out[6] = a[6] * y; - out[7] = a[7] * y; - out[8] = a[8] * z; - out[9] = a[9] * z; - out[10] = a[10] * z; - out[11] = a[11] * z; - out[12] = a[12]; - out[13] = a[13]; - out[14] = a[14]; - out[15] = a[15]; - return out; -}; - -/** - * Rotates a mat4 by the given angle - * - * @param {mat4} out the receiving matrix - * @param {mat4} a the matrix to rotate - * @param {Number} rad the angle to rotate the matrix by - * @param {vec3} axis the axis to rotate around - * @returns {mat4} out - */ -mat4.rotate = function (out, a, rad, axis) { - var x = axis[0], y = axis[1], z = axis[2], - len = Math.sqrt(x * x + y * y + z * z), - s, c, t, - a00, a01, a02, a03, - a10, a11, a12, a13, - a20, a21, a22, a23, - b00, b01, b02, - b10, b11, b12, - b20, b21, b22; - - if (Math.abs(len) < GLMAT_EPSILON) { return null; } - - len = 1 / len; - x *= len; - y *= len; - z *= len; - - s = Math.sin(rad); - c = Math.cos(rad); - t = 1 - c; - - a00 = a[0]; a01 = a[1]; a02 = a[2]; a03 = a[3]; - a10 = a[4]; a11 = a[5]; a12 = a[6]; a13 = a[7]; - a20 = a[8]; a21 = a[9]; a22 = a[10]; a23 = a[11]; - - // Construct the elements of the rotation matrix - b00 = x * x * t + c; b01 = y * x * t + z * s; b02 = z * x * t - y * s; - b10 = x * y * t - z * s; b11 = y * y * t + c; b12 = z * y * t + x * s; - b20 = x * z * t + y * s; b21 = y * z * t - x * s; b22 = z * z * t + c; - - // Perform rotation-specific matrix multiplication - out[0] = a00 * b00 + a10 * b01 + a20 * b02; - out[1] = a01 * b00 + a11 * b01 + a21 * b02; - out[2] = a02 * b00 + a12 * b01 + a22 * b02; - out[3] = a03 * b00 + a13 * b01 + a23 * b02; - out[4] = a00 * b10 + a10 * b11 + a20 * b12; - out[5] = a01 * b10 + a11 * b11 + a21 * b12; - out[6] = a02 * b10 + a12 * b11 + a22 * b12; - out[7] = a03 * b10 + a13 * b11 + a23 * b12; - out[8] = a00 * b20 + a10 * b21 + a20 * b22; - out[9] = a01 * b20 + a11 * b21 + a21 * b22; - out[10] = a02 * b20 + a12 * b21 + a22 * b22; - out[11] = a03 * b20 + a13 * b21 + a23 * b22; - - if (a !== out) { // If the source and destination differ, copy the unchanged last row - out[12] = a[12]; - out[13] = a[13]; - out[14] = a[14]; - out[15] = a[15]; - } - return out; -}; - -/** - * Rotates a matrix by the given angle around the X axis - * - * @param {mat4} out the receiving matrix - * @param {mat4} a the matrix to rotate - * @param {Number} rad the angle to rotate the matrix by - * @returns {mat4} out - */ -mat4.rotateX = function (out, a, rad) { - var s = Math.sin(rad), - c = Math.cos(rad), - a10 = a[4], - a11 = a[5], - a12 = a[6], - a13 = a[7], - a20 = a[8], - a21 = a[9], - a22 = a[10], - a23 = a[11]; - - if (a !== out) { // If the source and destination differ, copy the unchanged rows - out[0] = a[0]; - out[1] = a[1]; - out[2] = a[2]; - out[3] = a[3]; - out[12] = a[12]; - out[13] = a[13]; - out[14] = a[14]; - out[15] = a[15]; - } - - // Perform axis-specific matrix multiplication - out[4] = a10 * c + a20 * s; - out[5] = a11 * c + a21 * s; - out[6] = a12 * c + a22 * s; - out[7] = a13 * c + a23 * s; - out[8] = a20 * c - a10 * s; - out[9] = a21 * c - a11 * s; - out[10] = a22 * c - a12 * s; - out[11] = a23 * c - a13 * s; - return out; -}; - -/** - * Rotates a matrix by the given angle around the Y axis - * - * @param {mat4} out the receiving matrix - * @param {mat4} a the matrix to rotate - * @param {Number} rad the angle to rotate the matrix by - * @returns {mat4} out - */ -mat4.rotateY = function (out, a, rad) { - var s = Math.sin(rad), - c = Math.cos(rad), - a00 = a[0], - a01 = a[1], - a02 = a[2], - a03 = a[3], - a20 = a[8], - a21 = a[9], - a22 = a[10], - a23 = a[11]; - - if (a !== out) { // If the source and destination differ, copy the unchanged rows - out[4] = a[4]; - out[5] = a[5]; - out[6] = a[6]; - out[7] = a[7]; - out[12] = a[12]; - out[13] = a[13]; - out[14] = a[14]; - out[15] = a[15]; - } - - // Perform axis-specific matrix multiplication - out[0] = a00 * c - a20 * s; - out[1] = a01 * c - a21 * s; - out[2] = a02 * c - a22 * s; - out[3] = a03 * c - a23 * s; - out[8] = a00 * s + a20 * c; - out[9] = a01 * s + a21 * c; - out[10] = a02 * s + a22 * c; - out[11] = a03 * s + a23 * c; - return out; -}; - -/** - * Rotates a matrix by the given angle around the Z axis - * - * @param {mat4} out the receiving matrix - * @param {mat4} a the matrix to rotate - * @param {Number} rad the angle to rotate the matrix by - * @returns {mat4} out - */ -mat4.rotateZ = function (out, a, rad) { - var s = Math.sin(rad), - c = Math.cos(rad), - a00 = a[0], - a01 = a[1], - a02 = a[2], - a03 = a[3], - a10 = a[4], - a11 = a[5], - a12 = a[6], - a13 = a[7]; - - if (a !== out) { // If the source and destination differ, copy the unchanged last row - out[8] = a[8]; - out[9] = a[9]; - out[10] = a[10]; - out[11] = a[11]; - out[12] = a[12]; - out[13] = a[13]; - out[14] = a[14]; - out[15] = a[15]; - } - - // Perform axis-specific matrix multiplication - out[0] = a00 * c + a10 * s; - out[1] = a01 * c + a11 * s; - out[2] = a02 * c + a12 * s; - out[3] = a03 * c + a13 * s; - out[4] = a10 * c - a00 * s; - out[5] = a11 * c - a01 * s; - out[6] = a12 * c - a02 * s; - out[7] = a13 * c - a03 * s; - return out; -}; - -/** - * Creates a matrix from a quaternion rotation and vector translation - * This is equivalent to (but much faster than): - * - * mat4.identity(dest); - * mat4.translate(dest, vec); - * var quatMat = mat4.create(); - * quat4.toMat4(quat, quatMat); - * mat4.multiply(dest, quatMat); - * - * @param {mat4} out mat4 receiving operation result - * @param {quat4} q Rotation quaternion - * @param {vec3} v Translation vector - * @returns {mat4} out - */ -mat4.fromRotationTranslation = function (out, q, v) { - // Quaternion math - var x = q[0], y = q[1], z = q[2], w = q[3], - x2 = x + x, - y2 = y + y, - z2 = z + z, - - xx = x * x2, - xy = x * y2, - xz = x * z2, - yy = y * y2, - yz = y * z2, - zz = z * z2, - wx = w * x2, - wy = w * y2, - wz = w * z2; - - out[0] = 1 - (yy + zz); - out[1] = xy + wz; - out[2] = xz - wy; - out[3] = 0; - out[4] = xy - wz; - out[5] = 1 - (xx + zz); - out[6] = yz + wx; - out[7] = 0; - out[8] = xz + wy; - out[9] = yz - wx; - out[10] = 1 - (xx + yy); - out[11] = 0; - out[12] = v[0]; - out[13] = v[1]; - out[14] = v[2]; - out[15] = 1; - - return out; -}; - -/** - * Generates a frustum matrix with the given bounds - * - * @param {mat4} out mat4 frustum matrix will be written into - * @param {Number} left Left bound of the frustum - * @param {Number} right Right bound of the frustum - * @param {Number} bottom Bottom bound of the frustum - * @param {Number} top Top bound of the frustum - * @param {Number} near Near bound of the frustum - * @param {Number} far Far bound of the frustum - * @returns {mat4} out - */ -mat4.frustum = function (out, left, right, bottom, top, near, far) { - var rl = 1 / (right - left), - tb = 1 / (top - bottom), - nf = 1 / (near - far); - out[0] = (near * 2) * rl; - out[1] = 0; - out[2] = 0; - out[3] = 0; - out[4] = 0; - out[5] = (near * 2) * tb; - out[6] = 0; - out[7] = 0; - out[8] = (right + left) * rl; - out[9] = (top + bottom) * tb; - out[10] = (far + near) * nf; - out[11] = -1; - out[12] = 0; - out[13] = 0; - out[14] = (far * near * 2) * nf; - out[15] = 0; - return out; -}; - -/** - * Generates a perspective projection matrix with the given bounds - * - * @param {mat4} out mat4 frustum matrix will be written into - * @param {number} fovy Vertical field of view in radians - * @param {number} aspect Aspect ratio. typically viewport width/height - * @param {number} near Near bound of the frustum - * @param {number} far Far bound of the frustum - * @returns {mat4} out - */ -mat4.perspective = function (out, fovy, aspect, near, far) { - var f = 1.0 / Math.tan(fovy / 2), - nf = 1 / (near - far); - out[0] = f / aspect; - out[1] = 0; - out[2] = 0; - out[3] = 0; - out[4] = 0; - out[5] = f; - out[6] = 0; - out[7] = 0; - out[8] = 0; - out[9] = 0; - out[10] = (far + near) * nf; - out[11] = -1; - out[12] = 0; - out[13] = 0; - out[14] = (2 * far * near) * nf; - out[15] = 0; - return out; -}; - -/** - * Generates a orthogonal projection matrix with the given bounds - * - * @param {mat4} out mat4 frustum matrix will be written into - * @param {number} left Left bound of the frustum - * @param {number} right Right bound of the frustum - * @param {number} bottom Bottom bound of the frustum - * @param {number} top Top bound of the frustum - * @param {number} near Near bound of the frustum - * @param {number} far Far bound of the frustum - * @returns {mat4} out - */ -mat4.ortho = function (out, left, right, bottom, top, near, far) { - var lr = 1 / (left - right), - bt = 1 / (bottom - top), - nf = 1 / (near - far); - out[0] = -2 * lr; - out[1] = 0; - out[2] = 0; - out[3] = 0; - out[4] = 0; - out[5] = -2 * bt; - out[6] = 0; - out[7] = 0; - out[8] = 0; - out[9] = 0; - out[10] = 2 * nf; - out[11] = 0; - out[12] = (left + right) * lr; - out[13] = (top + bottom) * bt; - out[14] = (far + near) * nf; - out[15] = 1; - return out; -}; - -/** - * Generates a look-at matrix with the given eye position, focal point, and up axis - * - * @param {mat4} out mat4 frustum matrix will be written into - * @param {vec3} eye Position of the viewer - * @param {vec3} center Point the viewer is looking at - * @param {vec3} up vec3 pointing up - * @returns {mat4} out - */ -mat4.lookAt = function (out, eye, center, up) { - var x0, x1, x2, y0, y1, y2, z0, z1, z2, len, - eyex = eye[0], - eyey = eye[1], - eyez = eye[2], - upx = up[0], - upy = up[1], - upz = up[2], - centerx = center[0], - centery = center[1], - centerz = center[2]; - - if (Math.abs(eyex - centerx) < GLMAT_EPSILON && - Math.abs(eyey - centery) < GLMAT_EPSILON && - Math.abs(eyez - centerz) < GLMAT_EPSILON) { - return mat4.identity(out); - } - - z0 = eyex - centerx; - z1 = eyey - centery; - z2 = eyez - centerz; - - len = 1 / Math.sqrt(z0 * z0 + z1 * z1 + z2 * z2); - z0 *= len; - z1 *= len; - z2 *= len; - - x0 = upy * z2 - upz * z1; - x1 = upz * z0 - upx * z2; - x2 = upx * z1 - upy * z0; - len = Math.sqrt(x0 * x0 + x1 * x1 + x2 * x2); - if (!len) { - x0 = 0; - x1 = 0; - x2 = 0; - } else { - len = 1 / len; - x0 *= len; - x1 *= len; - x2 *= len; - } - - y0 = z1 * x2 - z2 * x1; - y1 = z2 * x0 - z0 * x2; - y2 = z0 * x1 - z1 * x0; - - len = Math.sqrt(y0 * y0 + y1 * y1 + y2 * y2); - if (!len) { - y0 = 0; - y1 = 0; - y2 = 0; - } else { - len = 1 / len; - y0 *= len; - y1 *= len; - y2 *= len; - } - - out[0] = x0; - out[1] = y0; - out[2] = z0; - out[3] = 0; - out[4] = x1; - out[5] = y1; - out[6] = z1; - out[7] = 0; - out[8] = x2; - out[9] = y2; - out[10] = z2; - out[11] = 0; - out[12] = -(x0 * eyex + x1 * eyey + x2 * eyez); - out[13] = -(y0 * eyex + y1 * eyey + y2 * eyez); - out[14] = -(z0 * eyex + z1 * eyey + z2 * eyez); - out[15] = 1; - - return out; -}; - -/** - * Returns a string representation of a mat4 - * - * @param {mat4} mat matrix to represent as a string - * @returns {String} string representation of the matrix - */ -mat4.str = function (a) { - return 'mat4(' + a[0] + ', ' + a[1] + ', ' + a[2] + ', ' + a[3] + ', ' + - a[4] + ', ' + a[5] + ', ' + a[6] + ', ' + a[7] + ', ' + - a[8] + ', ' + a[9] + ', ' + a[10] + ', ' + a[11] + ', ' + - a[12] + ', ' + a[13] + ', ' + a[14] + ', ' + a[15] + ')'; -}; - -if(typeof(exports) !== 'undefined') { - exports.mat4 = mat4; -} -; -/* Copyright (c) 2012, Brandon Jones, Colin MacKenzie IV. All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ - -/** - * @class Quaternion - * @name quat - */ - -var quat = {}; - -var quatIdentity = new Float32Array([0, 0, 0, 1]); - -if(!GLMAT_EPSILON) { - var GLMAT_EPSILON = 0.000001; -} - -/** - * Creates a new identity quat - * - * @returns {quat} a new quaternion - */ -quat.create = function() { - return new Float32Array(quatIdentity); -}; - -/** - * Creates a new quat initialized with values from an existing quaternion - * - * @param {quat} a quaternion to clone - * @returns {quat} a new quaternion - */ -quat.clone = vec4.clone; - -/** - * Creates a new quat initialized with the given values - * - * @param {Number} x X component - * @param {Number} y Y component - * @param {Number} z Z component - * @param {Number} w W component - * @returns {quat} a new quaternion - */ -quat.fromValues = vec4.fromValues; - -/** - * Copy the values from one quat to another - * - * @param {quat} out the receiving quaternion - * @param {quat} a the source quaternion - * @returns {quat} out - */ -quat.copy = vec4.copy; - -/** - * Set the components of a quat to the given values - * - * @param {quat} out the receiving quaternion - * @param {Number} x X component - * @param {Number} y Y component - * @param {Number} z Z component - * @param {Number} w W component - * @returns {quat} out - */ -quat.set = vec4.set; - -/** - * Set a quat to the identity quaternion - * - * @param {quat} out the receiving quaternion - * @returns {quat} out - */ -quat.identity = function(out) { - out[0] = 0; - out[1] = 0; - out[2] = 0; - out[3] = 1; - return out; -}; - -/** - * Sets a quat from the given angle and rotation axis, - * then returns it. - * - * @param {quat} out the receiving quaternion - * @param {vec3} axis the axis around which to rotate - * @param {Number} rad the angle in radians - * @returns {quat} out - **/ -quat.setAxisAngle = function(out, axis, rad) { - rad = rad * 0.5; - var s = Math.sin(rad); - out[0] = s * axis[0]; - out[1] = s * axis[1]; - out[2] = s * axis[2]; - out[3] = Math.cos(rad); - return out; -}; - -/** - * Adds two quat's - * - * @param {quat} out the receiving quaternion - * @param {quat} a the first operand - * @param {quat} b the second operand - * @returns {quat} out - */ -quat.add = vec4.add; - -/** - * Multiplies two quat's - * - * @param {quat} out the receiving quaternion - * @param {quat} a the first operand - * @param {quat} b the second operand - * @returns {quat} out - */ -quat.mul = quat.multiply = function(out, a, b) { - var ax = a[0], ay = a[1], az = a[2], aw = a[3], - bx = b[0], by = b[1], bz = b[2], bw = b[3]; - - out[0] = ax * bw + aw * bx + ay * bz - az * by; - out[1] = ay * bw + aw * by + az * bx - ax * bz; - out[2] = az * bw + aw * bz + ax * by - ay * bx; - out[3] = aw * bw - ax * bx - ay * by - az * bz; - return out; -}; - -/** - * Scales a quat by a scalar number - * - * @param {quat} out the receiving vector - * @param {quat} a the vector to scale - * @param {quat} b amount to scale the vector by - * @returns {quat} out - */ -quat.scale = vec4.scale; - -/** - * Rotates a quaternion by the given angle around the X axis - * - * @param {quat} out quat receiving operation result - * @param {quat} a quat to rotate - * @param {number} rad angle (in radians) to rotate - * @returns {quat} out - */ -quat.rotateX = function (out, a, rad) { - rad *= 0.5; - - var ax = a[0], ay = a[1], az = a[2], aw = a[3], - bx = Math.sin(rad), bw = Math.cos(rad); - - out[0] = ax * bw + aw * bx; - out[1] = ay * bw + az * bx; - out[2] = az * bw - ay * bx; - out[3] = aw * bw - ax * bx; - return out; -}; - -/** - * Rotates a quaternion by the given angle around the X axis - * - * @param {quat} out quat receiving operation result - * @param {quat} a quat to rotate - * @param {number} rad angle (in radians) to rotate - * @returns {quat} out - */ -quat.rotateY = function (out, a, rad) { - rad *= 0.5; - - var ax = a[0], ay = a[1], az = a[2], aw = a[3], - by = Math.sin(rad), bw = Math.cos(rad); - - out[0] = ax * bw - az * by; - out[1] = ay * bw + aw * by; - out[2] = az * bw + ax * by; - out[3] = aw * bw - ay * by; - return out; -}; - -/** - * Rotates a quaternion by the given angle around the X axis - * - * @param {quat} out quat receiving operation result - * @param {quat} a quat to rotate - * @param {number} rad angle (in radians) to rotate - * @returns {quat} out - */ -quat.rotateZ = function (out, a, rad) { - rad *= 0.5; - - var ax = a[0], ay = a[1], az = a[2], aw = a[3], - bz = Math.sin(rad), bw = Math.cos(rad); - - out[0] = ax * bw + ay * bz; - out[1] = ay * bw - ax * bz; - out[2] = az * bw + aw * bz; - out[3] = aw * bw - az * bz; - return out; -}; - -/** - * Calculates the W component of a quat from the X, Y, and Z components. - * Assumes that quaternion is 1 unit in length. - * Any existing W component will be ignored. - * - * @param {quat} out the receiving quaternion - * @param {quat} a quat to calculate W component of - * @returns {quat} out - */ -quat.calculateW = function (out, a) { - var x = a[0], y = a[1], z = a[2]; - - out[0] = x; - out[1] = y; - out[2] = z; - out[3] = -Math.sqrt(Math.abs(1.0 - x * x - y * y - z * z)); - return out; -}; - -/** - * Caclulates the dot product of two quat's - * - * @param {quat} a the first operand - * @param {quat} b the second operand - * @returns {Number} dot product of a and b - */ -quat.dot = vec4.dot; - -/** - * Performs a linear interpolation between two quat's - * - * @param {quat} out the receiving quaternion - * @param {quat} a the first operand - * @param {quat} b the second operand - * @param {Number} t interpolation amount between the two inputs - * @returns {quat} out - */ -quat.lerp = vec4.lerp; - -/** - * Performs a spherical linear interpolation between two quat - * - * @param {quat} out the receiving quaternion - * @param {quat} a the first operand - * @param {quat} b the second operand - * @param {Number} t interpolation amount between the two inputs - * @returns {quat} out - */ -quat.slerp = function (out, a, b, t) { - var ax = a[0], ay = a[1], az = a[2], aw = a[3], - bx = b[0], by = b[1], bz = b[2], bw = a[3]; - - var cosHalfTheta = ax * bx + ay * by + az * bz + aw * bw, - halfTheta, - sinHalfTheta, - ratioA, - ratioB; - - if (Math.abs(cosHalfTheta) >= 1.0) { - if (out !== a) { - out[0] = ax; - out[1] = ay; - out[2] = az; - out[3] = aw; - } - return out; - } - - halfTheta = Math.acos(cosHalfTheta); - sinHalfTheta = Math.sqrt(1.0 - cosHalfTheta * cosHalfTheta); - - if (Math.abs(sinHalfTheta) < 0.001) { - out[0] = (ax * 0.5 + bx * 0.5); - out[1] = (ay * 0.5 + by * 0.5); - out[2] = (az * 0.5 + bz * 0.5); - out[3] = (aw * 0.5 + bw * 0.5); - return out; - } - - ratioA = Math.sin((1 - t) * halfTheta) / sinHalfTheta; - ratioB = Math.sin(t * halfTheta) / sinHalfTheta; - - out[0] = (ax * ratioA + bx * ratioB); - out[1] = (ay * ratioA + by * ratioB); - out[2] = (az * ratioA + bz * ratioB); - out[3] = (aw * ratioA + bw * ratioB); - - return out; -}; - -/** - * Calculates the inverse of a quat - * - * @param {quat} out the receiving quaternion - * @param {quat} a quat to calculate inverse of - * @returns {quat} out - */ -quat.invert = function(out, a) { - var a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3], - dot = a0*a0 + a1*a1 + a2*a2 + a3*a3, - invDot = dot ? 1.0/dot : 0; - - // TODO: Would be faster to return [0,0,0,0] immediately if dot == 0 - - out[0] = -a0*invDot; - out[1] = -a1*invDot; - out[2] = -a2*invDot; - out[3] = a3*invDot; - return out; -}; - -/** - * Calculates the conjugate of a quat - * If the quaternion is normalized, this function is faster than quat.inverse and produces the same result. - * - * @param {quat} out the receiving quaternion - * @param {quat} a quat to calculate conjugate of - * @returns {quat} out - */ -quat.conjugate = function (out, a) { - out[0] = -a[0]; - out[1] = -a[1]; - out[2] = -a[2]; - out[3] = a[3]; - return out; -}; - -/** - * Caclulates the length of a quat - * - * @param {quat} a vector to calculate length of - * @returns {Number} length of a - */ -quat.len = quat.length = vec4.length; - -/** - * Caclulates the squared length of a quat - * - * @param {quat} a vector to calculate squared length of - * @returns {Number} squared length of a - */ -quat.sqrLen = quat.squaredLength = vec4.squaredLength; - -/** - * Normalize a quat - * - * @param {quat} out the receiving quaternion - * @param {quat} a quaternion to normalize - * @returns {quat} out - */ -quat.normalize = vec4.normalize; - -/** - * Returns a string representation of a quatenion - * - * @param {quat} vec vector to represent as a string - * @returns {String} string representation of the vector - */ -quat.str = function (a) { - return 'quat(' + a[0] + ', ' + a[1] + ', ' + a[2] + ', ' + a[3] + ')'; -}; - -if(typeof(exports) !== 'undefined') { - exports.quat = quat; -} -; - - - - - - - - - - - })(shim.exports); -})(); - -},{}],21:[function(require,module,exports){ -// Underscore.js 1.4.4 -// http://underscorejs.org -// (c) 2009-2013 Jeremy Ashkenas, DocumentCloud Inc. -// Underscore may be freely distributed under the MIT license. - -(function() { - - // Baseline setup - // -------------- - - // Establish the root object, `window` in the browser, or `global` on the server. - var root = this; - - // Save the previous value of the `_` variable. - var previousUnderscore = root._; - - // Establish the object that gets returned to break out of a loop iteration. - var breaker = {}; - - // Save bytes in the minified (but not gzipped) version: - var ArrayProto = Array.prototype, ObjProto = Object.prototype, FuncProto = Function.prototype; - - // Create quick reference variables for speed access to core prototypes. - var push = ArrayProto.push, - slice = ArrayProto.slice, - concat = ArrayProto.concat, - toString = ObjProto.toString, - hasOwnProperty = ObjProto.hasOwnProperty; - - // All **ECMAScript 5** native function implementations that we hope to use - // are declared here. - var - nativeForEach = ArrayProto.forEach, - nativeMap = ArrayProto.map, - nativeReduce = ArrayProto.reduce, - nativeReduceRight = ArrayProto.reduceRight, - nativeFilter = ArrayProto.filter, - nativeEvery = ArrayProto.every, - nativeSome = ArrayProto.some, - nativeIndexOf = ArrayProto.indexOf, - nativeLastIndexOf = ArrayProto.lastIndexOf, - nativeIsArray = Array.isArray, - nativeKeys = Object.keys, - nativeBind = FuncProto.bind; - - // Create a safe reference to the Underscore object for use below. - var _ = function(obj) { - if (obj instanceof _) return obj; - if (!(this instanceof _)) return new _(obj); - this._wrapped = obj; - }; - - // Export the Underscore object for **Node.js**, with - // backwards-compatibility for the old `require()` API. If we're in - // the browser, add `_` as a global object via a string identifier, - // for Closure Compiler "advanced" mode. - if (typeof exports !== 'undefined') { - if (typeof module !== 'undefined' && module.exports) { - exports = module.exports = _; - } - exports._ = _; - } else { - root._ = _; - } - - // Current version. - _.VERSION = '1.4.4'; - - // Collection Functions - // -------------------- - - // The cornerstone, an `each` implementation, aka `forEach`. - // Handles objects with the built-in `forEach`, arrays, and raw objects. - // Delegates to **ECMAScript 5**'s native `forEach` if available. - var each = _.each = _.forEach = function(obj, iterator, context) { - if (obj == null) return; - if (nativeForEach && obj.forEach === nativeForEach) { - obj.forEach(iterator, context); - } else if (obj.length === +obj.length) { - for (var i = 0, l = obj.length; i < l; i++) { - if (iterator.call(context, obj[i], i, obj) === breaker) return; - } - } else { - for (var key in obj) { - if (_.has(obj, key)) { - if (iterator.call(context, obj[key], key, obj) === breaker) return; - } - } - } - }; - - // Return the results of applying the iterator to each element. - // Delegates to **ECMAScript 5**'s native `map` if available. - _.map = _.collect = function(obj, iterator, context) { - var results = []; - if (obj == null) return results; - if (nativeMap && obj.map === nativeMap) return obj.map(iterator, context); - each(obj, function(value, index, list) { - results[results.length] = iterator.call(context, value, index, list); - }); - return results; - }; - - var reduceError = 'Reduce of empty array with no initial value'; - - // **Reduce** builds up a single result from a list of values, aka `inject`, - // or `foldl`. Delegates to **ECMAScript 5**'s native `reduce` if available. - _.reduce = _.foldl = _.inject = function(obj, iterator, memo, context) { - var initial = arguments.length > 2; - if (obj == null) obj = []; - if (nativeReduce && obj.reduce === nativeReduce) { - if (context) iterator = _.bind(iterator, context); - return initial ? obj.reduce(iterator, memo) : obj.reduce(iterator); - } - each(obj, function(value, index, list) { - if (!initial) { - memo = value; - initial = true; - } else { - memo = iterator.call(context, memo, value, index, list); - } - }); - if (!initial) throw new TypeError(reduceError); - return memo; - }; - - // The right-associative version of reduce, also known as `foldr`. - // Delegates to **ECMAScript 5**'s native `reduceRight` if available. - _.reduceRight = _.foldr = function(obj, iterator, memo, context) { - var initial = arguments.length > 2; - if (obj == null) obj = []; - if (nativeReduceRight && obj.reduceRight === nativeReduceRight) { - if (context) iterator = _.bind(iterator, context); - return initial ? obj.reduceRight(iterator, memo) : obj.reduceRight(iterator); - } - var length = obj.length; - if (length !== +length) { - var keys = _.keys(obj); - length = keys.length; - } - each(obj, function(value, index, list) { - index = keys ? keys[--length] : --length; - if (!initial) { - memo = obj[index]; - initial = true; - } else { - memo = iterator.call(context, memo, obj[index], index, list); - } - }); - if (!initial) throw new TypeError(reduceError); - return memo; - }; - - // Return the first value which passes a truth test. Aliased as `detect`. - _.find = _.detect = function(obj, iterator, context) { - var result; - any(obj, function(value, index, list) { - if (iterator.call(context, value, index, list)) { - result = value; - return true; - } - }); - return result; - }; - - // Return all the elements that pass a truth test. - // Delegates to **ECMAScript 5**'s native `filter` if available. - // Aliased as `select`. - _.filter = _.select = function(obj, iterator, context) { - var results = []; - if (obj == null) return results; - if (nativeFilter && obj.filter === nativeFilter) return obj.filter(iterator, context); - each(obj, function(value, index, list) { - if (iterator.call(context, value, index, list)) results[results.length] = value; - }); - return results; - }; - - // Return all the elements for which a truth test fails. - _.reject = function(obj, iterator, context) { - return _.filter(obj, function(value, index, list) { - return !iterator.call(context, value, index, list); - }, context); - }; - - // Determine whether all of the elements match a truth test. - // Delegates to **ECMAScript 5**'s native `every` if available. - // Aliased as `all`. - _.every = _.all = function(obj, iterator, context) { - iterator || (iterator = _.identity); - var result = true; - if (obj == null) return result; - if (nativeEvery && obj.every === nativeEvery) return obj.every(iterator, context); - each(obj, function(value, index, list) { - if (!(result = result && iterator.call(context, value, index, list))) return breaker; - }); - return !!result; - }; - - // Determine if at least one element in the object matches a truth test. - // Delegates to **ECMAScript 5**'s native `some` if available. - // Aliased as `any`. - var any = _.some = _.any = function(obj, iterator, context) { - iterator || (iterator = _.identity); - var result = false; - if (obj == null) return result; - if (nativeSome && obj.some === nativeSome) return obj.some(iterator, context); - each(obj, function(value, index, list) { - if (result || (result = iterator.call(context, value, index, list))) return breaker; - }); - return !!result; - }; - - // Determine if the array or object contains a given value (using `===`). - // Aliased as `include`. - _.contains = _.include = function(obj, target) { - if (obj == null) return false; - if (nativeIndexOf && obj.indexOf === nativeIndexOf) return obj.indexOf(target) != -1; - return any(obj, function(value) { - return value === target; - }); - }; - - // Invoke a method (with arguments) on every item in a collection. - _.invoke = function(obj, method) { - var args = slice.call(arguments, 2); - var isFunc = _.isFunction(method); - return _.map(obj, function(value) { - return (isFunc ? method : value[method]).apply(value, args); - }); - }; - - // Convenience version of a common use case of `map`: fetching a property. - _.pluck = function(obj, key) { - return _.map(obj, function(value){ return value[key]; }); - }; - - // Convenience version of a common use case of `filter`: selecting only objects - // containing specific `key:value` pairs. - _.where = function(obj, attrs, first) { - if (_.isEmpty(attrs)) return first ? null : []; - return _[first ? 'find' : 'filter'](obj, function(value) { - for (var key in attrs) { - if (attrs[key] !== value[key]) return false; - } - return true; - }); - }; - - // Convenience version of a common use case of `find`: getting the first object - // containing specific `key:value` pairs. - _.findWhere = function(obj, attrs) { - return _.where(obj, attrs, true); - }; - - // Return the maximum element or (element-based computation). - // Can't optimize arrays of integers longer than 65,535 elements. - // See: https://bugs.webkit.org/show_bug.cgi?id=80797 - _.max = function(obj, iterator, context) { - if (!iterator && _.isArray(obj) && obj[0] === +obj[0] && obj.length < 65535) { - return Math.max.apply(Math, obj); - } - if (!iterator && _.isEmpty(obj)) return -Infinity; - var result = {computed : -Infinity, value: -Infinity}; - each(obj, function(value, index, list) { - var computed = iterator ? iterator.call(context, value, index, list) : value; - computed >= result.computed && (result = {value : value, computed : computed}); - }); - return result.value; - }; - - // Return the minimum element (or element-based computation). - _.min = function(obj, iterator, context) { - if (!iterator && _.isArray(obj) && obj[0] === +obj[0] && obj.length < 65535) { - return Math.min.apply(Math, obj); - } - if (!iterator && _.isEmpty(obj)) return Infinity; - var result = {computed : Infinity, value: Infinity}; - each(obj, function(value, index, list) { - var computed = iterator ? iterator.call(context, value, index, list) : value; - computed < result.computed && (result = {value : value, computed : computed}); - }); - return result.value; - }; - - // Shuffle an array. - _.shuffle = function(obj) { - var rand; - var index = 0; - var shuffled = []; - each(obj, function(value) { - rand = _.random(index++); - shuffled[index - 1] = shuffled[rand]; - shuffled[rand] = value; - }); - return shuffled; - }; - - // An internal function to generate lookup iterators. - var lookupIterator = function(value) { - return _.isFunction(value) ? value : function(obj){ return obj[value]; }; - }; - - // Sort the object's values by a criterion produced by an iterator. - _.sortBy = function(obj, value, context) { - var iterator = lookupIterator(value); - return _.pluck(_.map(obj, function(value, index, list) { - return { - value : value, - index : index, - criteria : iterator.call(context, value, index, list) - }; - }).sort(function(left, right) { - var a = left.criteria; - var b = right.criteria; - if (a !== b) { - if (a > b || a === void 0) return 1; - if (a < b || b === void 0) return -1; - } - return left.index < right.index ? -1 : 1; - }), 'value'); - }; - - // An internal function used for aggregate "group by" operations. - var group = function(obj, value, context, behavior) { - var result = {}; - var iterator = lookupIterator(value || _.identity); - each(obj, function(value, index) { - var key = iterator.call(context, value, index, obj); - behavior(result, key, value); - }); - return result; - }; - - // Groups the object's values by a criterion. Pass either a string attribute - // to group by, or a function that returns the criterion. - _.groupBy = function(obj, value, context) { - return group(obj, value, context, function(result, key, value) { - (_.has(result, key) ? result[key] : (result[key] = [])).push(value); - }); - }; - - // Counts instances of an object that group by a certain criterion. Pass - // either a string attribute to count by, or a function that returns the - // criterion. - _.countBy = function(obj, value, context) { - return group(obj, value, context, function(result, key) { - if (!_.has(result, key)) result[key] = 0; - result[key]++; - }); - }; - - // Use a comparator function to figure out the smallest index at which - // an object should be inserted so as to maintain order. Uses binary search. - _.sortedIndex = function(array, obj, iterator, context) { - iterator = iterator == null ? _.identity : lookupIterator(iterator); - var value = iterator.call(context, obj); - var low = 0, high = array.length; - while (low < high) { - var mid = (low + high) >>> 1; - iterator.call(context, array[mid]) < value ? low = mid + 1 : high = mid; - } - return low; - }; - - // Safely convert anything iterable into a real, live array. - _.toArray = function(obj) { - if (!obj) return []; - if (_.isArray(obj)) return slice.call(obj); - if (obj.length === +obj.length) return _.map(obj, _.identity); - return _.values(obj); - }; - - // Return the number of elements in an object. - _.size = function(obj) { - if (obj == null) return 0; - return (obj.length === +obj.length) ? obj.length : _.keys(obj).length; - }; - - // Array Functions - // --------------- - - // Get the first element of an array. Passing **n** will return the first N - // values in the array. Aliased as `head` and `take`. The **guard** check - // allows it to work with `_.map`. - _.first = _.head = _.take = function(array, n, guard) { - if (array == null) return void 0; - return (n != null) && !guard ? slice.call(array, 0, n) : array[0]; - }; - - // Returns everything but the last entry of the array. Especially useful on - // the arguments object. Passing **n** will return all the values in - // the array, excluding the last N. The **guard** check allows it to work with - // `_.map`. - _.initial = function(array, n, guard) { - return slice.call(array, 0, array.length - ((n == null) || guard ? 1 : n)); - }; - - // Get the last element of an array. Passing **n** will return the last N - // values in the array. The **guard** check allows it to work with `_.map`. - _.last = function(array, n, guard) { - if (array == null) return void 0; - if ((n != null) && !guard) { - return slice.call(array, Math.max(array.length - n, 0)); - } else { - return array[array.length - 1]; - } - }; - - // Returns everything but the first entry of the array. Aliased as `tail` and `drop`. - // Especially useful on the arguments object. Passing an **n** will return - // the rest N values in the array. The **guard** - // check allows it to work with `_.map`. - _.rest = _.tail = _.drop = function(array, n, guard) { - return slice.call(array, (n == null) || guard ? 1 : n); - }; - - // Trim out all falsy values from an array. - _.compact = function(array) { - return _.filter(array, _.identity); - }; - - // Internal implementation of a recursive `flatten` function. - var flatten = function(input, shallow, output) { - each(input, function(value) { - if (_.isArray(value)) { - shallow ? push.apply(output, value) : flatten(value, shallow, output); - } else { - output.push(value); - } - }); - return output; - }; - - // Return a completely flattened version of an array. - _.flatten = function(array, shallow) { - return flatten(array, shallow, []); - }; - - // Return a version of the array that does not contain the specified value(s). - _.without = function(array) { - return _.difference(array, slice.call(arguments, 1)); - }; - - // Produce a duplicate-free version of the array. If the array has already - // been sorted, you have the option of using a faster algorithm. - // Aliased as `unique`. - _.uniq = _.unique = function(array, isSorted, iterator, context) { - if (_.isFunction(isSorted)) { - context = iterator; - iterator = isSorted; - isSorted = false; - } - var initial = iterator ? _.map(array, iterator, context) : array; - var results = []; - var seen = []; - each(initial, function(value, index) { - if (isSorted ? (!index || seen[seen.length - 1] !== value) : !_.contains(seen, value)) { - seen.push(value); - results.push(array[index]); - } - }); - return results; - }; - - // Produce an array that contains the union: each distinct element from all of - // the passed-in arrays. - _.union = function() { - return _.uniq(concat.apply(ArrayProto, arguments)); - }; - - // Produce an array that contains every item shared between all the - // passed-in arrays. - _.intersection = function(array) { - var rest = slice.call(arguments, 1); - return _.filter(_.uniq(array), function(item) { - return _.every(rest, function(other) { - return _.indexOf(other, item) >= 0; - }); - }); - }; - - // Take the difference between one array and a number of other arrays. - // Only the elements present in just the first array will remain. - _.difference = function(array) { - var rest = concat.apply(ArrayProto, slice.call(arguments, 1)); - return _.filter(array, function(value){ return !_.contains(rest, value); }); - }; - - // Zip together multiple lists into a single array -- elements that share - // an index go together. - _.zip = function() { - var args = slice.call(arguments); - var length = _.max(_.pluck(args, 'length')); - var results = new Array(length); - for (var i = 0; i < length; i++) { - results[i] = _.pluck(args, "" + i); - } - return results; - }; - - // Converts lists into objects. Pass either a single array of `[key, value]` - // pairs, or two parallel arrays of the same length -- one of keys, and one of - // the corresponding values. - _.object = function(list, values) { - if (list == null) return {}; - var result = {}; - for (var i = 0, l = list.length; i < l; i++) { - if (values) { - result[list[i]] = values[i]; - } else { - result[list[i][0]] = list[i][1]; - } - } - return result; - }; - - // If the browser doesn't supply us with indexOf (I'm looking at you, **MSIE**), - // we need this function. Return the position of the first occurrence of an - // item in an array, or -1 if the item is not included in the array. - // Delegates to **ECMAScript 5**'s native `indexOf` if available. - // If the array is large and already in sort order, pass `true` - // for **isSorted** to use binary search. - _.indexOf = function(array, item, isSorted) { - if (array == null) return -1; - var i = 0, l = array.length; - if (isSorted) { - if (typeof isSorted == 'number') { - i = (isSorted < 0 ? Math.max(0, l + isSorted) : isSorted); - } else { - i = _.sortedIndex(array, item); - return array[i] === item ? i : -1; - } - } - if (nativeIndexOf && array.indexOf === nativeIndexOf) return array.indexOf(item, isSorted); - for (; i < l; i++) if (array[i] === item) return i; - return -1; - }; - - // Delegates to **ECMAScript 5**'s native `lastIndexOf` if available. - _.lastIndexOf = function(array, item, from) { - if (array == null) return -1; - var hasIndex = from != null; - if (nativeLastIndexOf && array.lastIndexOf === nativeLastIndexOf) { - return hasIndex ? array.lastIndexOf(item, from) : array.lastIndexOf(item); - } - var i = (hasIndex ? from : array.length); - while (i--) if (array[i] === item) return i; - return -1; - }; - - // Generate an integer Array containing an arithmetic progression. A port of - // the native Python `range()` function. See - // [the Python documentation](http://docs.python.org/library/functions.html#range). - _.range = function(start, stop, step) { - if (arguments.length <= 1) { - stop = start || 0; - start = 0; - } - step = arguments[2] || 1; - - var len = Math.max(Math.ceil((stop - start) / step), 0); - var idx = 0; - var range = new Array(len); - - while(idx < len) { - range[idx++] = start; - start += step; - } - - return range; - }; - - // Function (ahem) Functions - // ------------------ - - // Create a function bound to a given object (assigning `this`, and arguments, - // optionally). Delegates to **ECMAScript 5**'s native `Function.bind` if - // available. - _.bind = function(func, context) { - if (func.bind === nativeBind && nativeBind) return nativeBind.apply(func, slice.call(arguments, 1)); - var args = slice.call(arguments, 2); - return function() { - return func.apply(context, args.concat(slice.call(arguments))); - }; - }; - - // Partially apply a function by creating a version that has had some of its - // arguments pre-filled, without changing its dynamic `this` context. - _.partial = function(func) { - var args = slice.call(arguments, 1); - return function() { - return func.apply(this, args.concat(slice.call(arguments))); - }; - }; - - // Bind all of an object's methods to that object. Useful for ensuring that - // all callbacks defined on an object belong to it. - _.bindAll = function(obj) { - var funcs = slice.call(arguments, 1); - if (funcs.length === 0) funcs = _.functions(obj); - each(funcs, function(f) { obj[f] = _.bind(obj[f], obj); }); - return obj; - }; - - // Memoize an expensive function by storing its results. - _.memoize = function(func, hasher) { - var memo = {}; - hasher || (hasher = _.identity); - return function() { - var key = hasher.apply(this, arguments); - return _.has(memo, key) ? memo[key] : (memo[key] = func.apply(this, arguments)); - }; - }; - - // Delays a function for the given number of milliseconds, and then calls - // it with the arguments supplied. - _.delay = function(func, wait) { - var args = slice.call(arguments, 2); - return setTimeout(function(){ return func.apply(null, args); }, wait); - }; - - // Defers a function, scheduling it to run after the current call stack has - // cleared. - _.defer = function(func) { - return _.delay.apply(_, [func, 1].concat(slice.call(arguments, 1))); - }; - - // Returns a function, that, when invoked, will only be triggered at most once - // during a given window of time. - _.throttle = function(func, wait) { - var context, args, timeout, result; - var previous = 0; - var later = function() { - previous = new Date; - timeout = null; - result = func.apply(context, args); - }; - return function() { - var now = new Date; - var remaining = wait - (now - previous); - context = this; - args = arguments; - if (remaining <= 0) { - clearTimeout(timeout); - timeout = null; - previous = now; - result = func.apply(context, args); - } else if (!timeout) { - timeout = setTimeout(later, remaining); - } - return result; - }; - }; - - // Returns a function, that, as long as it continues to be invoked, will not - // be triggered. The function will be called after it stops being called for - // N milliseconds. If `immediate` is passed, trigger the function on the - // leading edge, instead of the trailing. - _.debounce = function(func, wait, immediate) { - var timeout, result; - return function() { - var context = this, args = arguments; - var later = function() { - timeout = null; - if (!immediate) result = func.apply(context, args); - }; - var callNow = immediate && !timeout; - clearTimeout(timeout); - timeout = setTimeout(later, wait); - if (callNow) result = func.apply(context, args); - return result; - }; - }; - - // Returns a function that will be executed at most one time, no matter how - // often you call it. Useful for lazy initialization. - _.once = function(func) { - var ran = false, memo; - return function() { - if (ran) return memo; - ran = true; - memo = func.apply(this, arguments); - func = null; - return memo; - }; - }; - - // Returns the first function passed as an argument to the second, - // allowing you to adjust arguments, run code before and after, and - // conditionally execute the original function. - _.wrap = function(func, wrapper) { - return function() { - var args = [func]; - push.apply(args, arguments); - return wrapper.apply(this, args); - }; - }; - - // Returns a function that is the composition of a list of functions, each - // consuming the return value of the function that follows. - _.compose = function() { - var funcs = arguments; - return function() { - var args = arguments; - for (var i = funcs.length - 1; i >= 0; i--) { - args = [funcs[i].apply(this, args)]; - } - return args[0]; - }; - }; - - // Returns a function that will only be executed after being called N times. - _.after = function(times, func) { - if (times <= 0) return func(); - return function() { - if (--times < 1) { - return func.apply(this, arguments); - } - }; - }; - - // Object Functions - // ---------------- - - // Retrieve the names of an object's properties. - // Delegates to **ECMAScript 5**'s native `Object.keys` - _.keys = nativeKeys || function(obj) { - if (obj !== Object(obj)) throw new TypeError('Invalid object'); - var keys = []; - for (var key in obj) if (_.has(obj, key)) keys[keys.length] = key; - return keys; - }; - - // Retrieve the values of an object's properties. - _.values = function(obj) { - var values = []; - for (var key in obj) if (_.has(obj, key)) values.push(obj[key]); - return values; - }; - - // Convert an object into a list of `[key, value]` pairs. - _.pairs = function(obj) { - var pairs = []; - for (var key in obj) if (_.has(obj, key)) pairs.push([key, obj[key]]); - return pairs; - }; - - // Invert the keys and values of an object. The values must be serializable. - _.invert = function(obj) { - var result = {}; - for (var key in obj) if (_.has(obj, key)) result[obj[key]] = key; - return result; - }; - - // Return a sorted list of the function names available on the object. - // Aliased as `methods` - _.functions = _.methods = function(obj) { - var names = []; - for (var key in obj) { - if (_.isFunction(obj[key])) names.push(key); - } - return names.sort(); - }; - - // Extend a given object with all the properties in passed-in object(s). - _.extend = function(obj) { - each(slice.call(arguments, 1), function(source) { - if (source) { - for (var prop in source) { - obj[prop] = source[prop]; - } - } - }); - return obj; - }; - - // Return a copy of the object only containing the whitelisted properties. - _.pick = function(obj) { - var copy = {}; - var keys = concat.apply(ArrayProto, slice.call(arguments, 1)); - each(keys, function(key) { - if (key in obj) copy[key] = obj[key]; - }); - return copy; - }; - - // Return a copy of the object without the blacklisted properties. - _.omit = function(obj) { - var copy = {}; - var keys = concat.apply(ArrayProto, slice.call(arguments, 1)); - for (var key in obj) { - if (!_.contains(keys, key)) copy[key] = obj[key]; - } - return copy; - }; - - // Fill in a given object with default properties. - _.defaults = function(obj) { - each(slice.call(arguments, 1), function(source) { - if (source) { - for (var prop in source) { - if (obj[prop] == null) obj[prop] = source[prop]; - } - } - }); - return obj; - }; - - // Create a (shallow-cloned) duplicate of an object. - _.clone = function(obj) { - if (!_.isObject(obj)) return obj; - return _.isArray(obj) ? obj.slice() : _.extend({}, obj); - }; - - // Invokes interceptor with the obj, and then returns obj. - // The primary purpose of this method is to "tap into" a method chain, in - // order to perform operations on intermediate results within the chain. - _.tap = function(obj, interceptor) { - interceptor(obj); - return obj; - }; - - // Internal recursive comparison function for `isEqual`. - var eq = function(a, b, aStack, bStack) { - // Identical objects are equal. `0 === -0`, but they aren't identical. - // See the Harmony `egal` proposal: http://wiki.ecmascript.org/doku.php?id=harmony:egal. - if (a === b) return a !== 0 || 1 / a == 1 / b; - // A strict comparison is necessary because `null == undefined`. - if (a == null || b == null) return a === b; - // Unwrap any wrapped objects. - if (a instanceof _) a = a._wrapped; - if (b instanceof _) b = b._wrapped; - // Compare `[[Class]]` names. - var className = toString.call(a); - if (className != toString.call(b)) return false; - switch (className) { - // Strings, numbers, dates, and booleans are compared by value. - case '[object String]': - // Primitives and their corresponding object wrappers are equivalent; thus, `"5"` is - // equivalent to `new String("5")`. - return a == String(b); - case '[object Number]': - // `NaN`s are equivalent, but non-reflexive. An `egal` comparison is performed for - // other numeric values. - return a != +a ? b != +b : (a == 0 ? 1 / a == 1 / b : a == +b); - case '[object Date]': - case '[object Boolean]': - // Coerce dates and booleans to numeric primitive values. Dates are compared by their - // millisecond representations. Note that invalid dates with millisecond representations - // of `NaN` are not equivalent. - return +a == +b; - // RegExps are compared by their source patterns and flags. - case '[object RegExp]': - return a.source == b.source && - a.global == b.global && - a.multiline == b.multiline && - a.ignoreCase == b.ignoreCase; - } - if (typeof a != 'object' || typeof b != 'object') return false; - // Assume equality for cyclic structures. The algorithm for detecting cyclic - // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`. - var length = aStack.length; - while (length--) { - // Linear search. Performance is inversely proportional to the number of - // unique nested structures. - if (aStack[length] == a) return bStack[length] == b; - } - // Add the first object to the stack of traversed objects. - aStack.push(a); - bStack.push(b); - var size = 0, result = true; - // Recursively compare objects and arrays. - if (className == '[object Array]') { - // Compare array lengths to determine if a deep comparison is necessary. - size = a.length; - result = size == b.length; - if (result) { - // Deep compare the contents, ignoring non-numeric properties. - while (size--) { - if (!(result = eq(a[size], b[size], aStack, bStack))) break; - } - } - } else { - // Objects with different constructors are not equivalent, but `Object`s - // from different frames are. - var aCtor = a.constructor, bCtor = b.constructor; - if (aCtor !== bCtor && !(_.isFunction(aCtor) && (aCtor instanceof aCtor) && - _.isFunction(bCtor) && (bCtor instanceof bCtor))) { - return false; - } - // Deep compare objects. - for (var key in a) { - if (_.has(a, key)) { - // Count the expected number of properties. - size++; - // Deep compare each member. - if (!(result = _.has(b, key) && eq(a[key], b[key], aStack, bStack))) break; - } - } - // Ensure that both objects contain the same number of properties. - if (result) { - for (key in b) { - if (_.has(b, key) && !(size--)) break; - } - result = !size; - } - } - // Remove the first object from the stack of traversed objects. - aStack.pop(); - bStack.pop(); - return result; - }; - - // Perform a deep comparison to check if two objects are equal. - _.isEqual = function(a, b) { - return eq(a, b, [], []); - }; - - // Is a given array, string, or object empty? - // An "empty" object has no enumerable own-properties. - _.isEmpty = function(obj) { - if (obj == null) return true; - if (_.isArray(obj) || _.isString(obj)) return obj.length === 0; - for (var key in obj) if (_.has(obj, key)) return false; - return true; - }; - - // Is a given value a DOM element? - _.isElement = function(obj) { - return !!(obj && obj.nodeType === 1); - }; - - // Is a given value an array? - // Delegates to ECMA5's native Array.isArray - _.isArray = nativeIsArray || function(obj) { - return toString.call(obj) == '[object Array]'; - }; - - // Is a given variable an object? - _.isObject = function(obj) { - return obj === Object(obj); - }; - - // Add some isType methods: isArguments, isFunction, isString, isNumber, isDate, isRegExp. - each(['Arguments', 'Function', 'String', 'Number', 'Date', 'RegExp'], function(name) { - _['is' + name] = function(obj) { - return toString.call(obj) == '[object ' + name + ']'; - }; - }); - - // Define a fallback version of the method in browsers (ahem, IE), where - // there isn't any inspectable "Arguments" type. - if (!_.isArguments(arguments)) { - _.isArguments = function(obj) { - return !!(obj && _.has(obj, 'callee')); - }; - } - - // Optimize `isFunction` if appropriate. - if (typeof (/./) !== 'function') { - _.isFunction = function(obj) { - return typeof obj === 'function'; - }; - } - - // Is a given object a finite number? - _.isFinite = function(obj) { - return isFinite(obj) && !isNaN(parseFloat(obj)); - }; - - // Is the given value `NaN`? (NaN is the only number which does not equal itself). - _.isNaN = function(obj) { - return _.isNumber(obj) && obj != +obj; - }; - - // Is a given value a boolean? - _.isBoolean = function(obj) { - return obj === true || obj === false || toString.call(obj) == '[object Boolean]'; - }; - - // Is a given value equal to null? - _.isNull = function(obj) { - return obj === null; - }; - - // Is a given variable undefined? - _.isUndefined = function(obj) { - return obj === void 0; - }; - - // Shortcut function for checking if an object has a given property directly - // on itself (in other words, not on a prototype). - _.has = function(obj, key) { - return hasOwnProperty.call(obj, key); - }; - - // Utility Functions - // ----------------- - - // Run Underscore.js in *noConflict* mode, returning the `_` variable to its - // previous owner. Returns a reference to the Underscore object. - _.noConflict = function() { - root._ = previousUnderscore; - return this; - }; - - // Keep the identity function around for default iterators. - _.identity = function(value) { - return value; - }; - - // Run a function **n** times. - _.times = function(n, iterator, context) { - var accum = Array(n); - for (var i = 0; i < n; i++) accum[i] = iterator.call(context, i); - return accum; - }; - - // Return a random integer between min and max (inclusive). - _.random = function(min, max) { - if (max == null) { - max = min; - min = 0; - } - return min + Math.floor(Math.random() * (max - min + 1)); - }; - - // List of HTML entities for escaping. - var entityMap = { - escape: { - '&': '&', - '<': '<', - '>': '>', - '"': '"', - "'": ''', - '/': '/' - } - }; - entityMap.unescape = _.invert(entityMap.escape); - - // Regexes containing the keys and values listed immediately above. - var entityRegexes = { - escape: new RegExp('[' + _.keys(entityMap.escape).join('') + ']', 'g'), - unescape: new RegExp('(' + _.keys(entityMap.unescape).join('|') + ')', 'g') - }; - - // Functions for escaping and unescaping strings to/from HTML interpolation. - _.each(['escape', 'unescape'], function(method) { - _[method] = function(string) { - if (string == null) return ''; - return ('' + string).replace(entityRegexes[method], function(match) { - return entityMap[method][match]; - }); - }; - }); - - // If the value of the named property is a function then invoke it; - // otherwise, return it. - _.result = function(object, property) { - if (object == null) return null; - var value = object[property]; - return _.isFunction(value) ? value.call(object) : value; - }; - - // Add your own custom functions to the Underscore object. - _.mixin = function(obj) { - each(_.functions(obj), function(name){ - var func = _[name] = obj[name]; - _.prototype[name] = function() { - var args = [this._wrapped]; - push.apply(args, arguments); - return result.call(this, func.apply(_, args)); - }; - }); - }; - - // Generate a unique integer id (unique within the entire client session). - // Useful for temporary DOM ids. - var idCounter = 0; - _.uniqueId = function(prefix) { - var id = ++idCounter + ''; - return prefix ? prefix + id : id; - }; - - // By default, Underscore uses ERB-style template delimiters, change the - // following template settings to use alternative delimiters. - _.templateSettings = { - evaluate : /<%([\s\S]+?)%>/g, - interpolate : /<%=([\s\S]+?)%>/g, - escape : /<%-([\s\S]+?)%>/g - }; - - // When customizing `templateSettings`, if you don't want to define an - // interpolation, evaluation or escaping regex, we need one that is - // guaranteed not to match. - var noMatch = /(.)^/; - - // Certain characters need to be escaped so that they can be put into a - // string literal. - var escapes = { - "'": "'", - '\\': '\\', - '\r': 'r', - '\n': 'n', - '\t': 't', - '\u2028': 'u2028', - '\u2029': 'u2029' - }; - - var escaper = /\\|'|\r|\n|\t|\u2028|\u2029/g; - - // JavaScript micro-templating, similar to John Resig's implementation. - // Underscore templating handles arbitrary delimiters, preserves whitespace, - // and correctly escapes quotes within interpolated code. - _.template = function(text, data, settings) { - var render; - settings = _.defaults({}, settings, _.templateSettings); - - // Combine delimiters into one regular expression via alternation. - var matcher = new RegExp([ - (settings.escape || noMatch).source, - (settings.interpolate || noMatch).source, - (settings.evaluate || noMatch).source - ].join('|') + '|$', 'g'); - - // Compile the template source, escaping string literals appropriately. - var index = 0; - var source = "__p+='"; - text.replace(matcher, function(match, escape, interpolate, evaluate, offset) { - source += text.slice(index, offset) - .replace(escaper, function(match) { return '\\' + escapes[match]; }); - - if (escape) { - source += "'+\n((__t=(" + escape + "))==null?'':_.escape(__t))+\n'"; - } - if (interpolate) { - source += "'+\n((__t=(" + interpolate + "))==null?'':__t)+\n'"; - } - if (evaluate) { - source += "';\n" + evaluate + "\n__p+='"; - } - index = offset + match.length; - return match; - }); - source += "';\n"; - - // If a variable is not specified, place data values in local scope. - if (!settings.variable) source = 'with(obj||{}){\n' + source + '}\n'; - - source = "var __t,__p='',__j=Array.prototype.join," + - "print=function(){__p+=__j.call(arguments,'');};\n" + - source + "return __p;\n"; - - try { - render = new Function(settings.variable || 'obj', '_', source); - } catch (e) { - e.source = source; - throw e; - } - - if (data) return render(data, _); - var template = function(data) { - return render.call(this, data, _); - }; - - // Provide the compiled function source as a convenience for precompilation. - template.source = 'function(' + (settings.variable || 'obj') + '){\n' + source + '}'; - - return template; - }; - - // Add a "chain" function, which will delegate to the wrapper. - _.chain = function(obj) { - return _(obj).chain(); - }; - - // OOP - // --------------- - // If Underscore is called as a function, it returns a wrapped object that - // can be used OO-style. This wrapper holds altered versions of all the - // underscore functions. Wrapped objects may be chained. - - // Helper function to continue chaining intermediate results. - var result = function(obj) { - return this._chain ? _(obj).chain() : obj; - }; - - // Add all of the Underscore functions to the wrapper object. - _.mixin(_); - - // Add all mutator Array functions to the wrapper. - each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) { - var method = ArrayProto[name]; - _.prototype[name] = function() { - var obj = this._wrapped; - method.apply(obj, arguments); - if ((name == 'shift' || name == 'splice') && obj.length === 0) delete obj[0]; - return result.call(this, obj); - }; - }); - - // Add all accessor Array functions to the wrapper. - each(['concat', 'join', 'slice'], function(name) { - var method = ArrayProto[name]; - _.prototype[name] = function() { - return result.call(this, method.apply(this._wrapped, arguments)); - }; - }); - - _.extend(_.prototype, { - - // Start chaining a wrapped Underscore object. - chain: function() { - this._chain = true; - return this; - }, - - // Extracts the result from a wrapped and chained object. - value: function() { - return this._wrapped; - } - - }); - -}).call(this); - -},{}],22:[function(require,module,exports){ -if (typeof(window) !== 'undefined' && typeof(window.requestAnimationFrame) !== 'function') { - window.requestAnimationFrame = ( - window.webkitRequestAnimationFrame || - window.mozRequestAnimationFrame || - window.oRequestAnimationFrame || - window.msRequestAnimationFrame || - function(callback) { setTimeout(callback, 1000 / 60); } - ); -} - -Leap = require("../lib/index"); - -},{"../lib/index":8}]},{},[22]) -;; \ No newline at end of file diff --git a/examples/lib/leap-plugins-0.1.4-pre.js b/examples/lib/leap-plugins-0.1.4-pre.js deleted file mode 100644 index 77cfc15..0000000 --- a/examples/lib/leap-plugins-0.1.4-pre.js +++ /dev/null @@ -1,288 +0,0 @@ -/* - * LeapJS-Plugins - v0.1.3 - 2014-04-01 - * http://github.com/leapmotion/leapjs-plugins/ - * - * Copyright 2014 LeapMotion, Inc - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -//CoffeeScript generated from main/hand-entry/leap.hand-entry.coffee -/* -Emits controller events when a hand enters of leaves the frame -"handLost" and "handFound" -Each event also includes the hand object, which will be invalid for the handLost event. -*/ - - -(function() { - var handEntry; - - handEntry = function() { - var activeHandIds; - activeHandIds = []; - this.on("deviceDisconnected", function() { - for (var i = 0, len = activeHandIds.length; i < len; i++){ - id = activeHandIds[i]; - activeHandIds.splice(i, 1); - // this gets executed before the current frame is added to the history. - this.emit('handLost', this.lastConnectionFrame.hand(id)) - i--; - len--; - }; - }); - return { - frame: function(frame) { - var id, newValidHandIds, _i, _len, _results; - newValidHandIds = frame.hands.map(function(hand) { - return hand.id; - }); - for (var i = 0, len = activeHandIds.length; i < len; i++){ - id = activeHandIds[i]; - if( newValidHandIds.indexOf(id) == -1){ - activeHandIds.splice(i, 1); - // this gets executed before the current frame is added to the history. - this.emit('handLost', this.frame(1).hand(id)) - i--; - len--; - } - }; - _results = []; - for (_i = 0, _len = newValidHandIds.length; _i < _len; _i++) { - id = newValidHandIds[_i]; - if (activeHandIds.indexOf(id) === -1) { - activeHandIds.push(id); - _results.push(this.emit('handFound', frame.hand(id))); - } else { - _results.push(void 0); - } - } - return _results; - } - }; - }; - - if ((typeof Leap !== 'undefined') && Leap.Controller) { - Leap.Controller.plugin('handEntry', handEntry); - } else if (typeof module !== 'undefined') { - module.exports.handEntry = handEntry; - } else { - throw 'leap.js not included'; - } - -}).call(this); - -//CoffeeScript generated from main/hand-hold/leap.hand-hold.coffee -(function() { - var handHold; - - handHold = function() { - var extraHandData; - extraHandData = {}; - return { - hand: { - data: function(hashOrKey, value) { - var key, _name, _results; - extraHandData[_name = this.id] || (extraHandData[_name] = []); - if (value) { - return extraHandData[this.id][hashOrKey] = value; - } else if (toString.call(hashOrKey) === '[object String]') { - return extraHandData[this.id][hashOrKey]; - } else { - _results = []; - for (key in hashOrKey) { - value = hashOrKey[key]; - if (value === void 0) { - _results.push(delete extraHandData[this.id][key]); - } else { - _results.push(extraHandData[this.id][key] = value); - } - } - return _results; - } - }, - hold: function(object) { - if (object) { - return this.data({ - holding: object - }); - } else { - return this.hold(this.hovering()); - } - }, - holding: function() { - return this.data('holding'); - }, - release: function() { - var release; - release = this.data('holding'); - this.data({ - holding: void 0 - }); - return release; - }, - hoverFn: function(getHover) { - return this.data({ - getHover: getHover - }); - }, - hovering: function() { - var getHover; - if (getHover = this.data('getHover')) { - return this._hovering || (this._hovering = getHover.call(this)); - } - } - } - }; - }; - - if ((typeof Leap !== 'undefined') && Leap.Controller) { - Leap.Controller.plugin('handHold', handHold); - } else if (typeof module !== 'undefined') { - module.exports.handHold = handHold; - } else { - throw 'leap.js not included'; - } - -}).call(this); - -//CoffeeScript generated from main/screen-position/leap.screen-position.coffee -/* -Adds the "screenPosition" method by default to hands and pointables. This returns a vec3 (an array of length 3) -with [x,y,z] screen coordinates indicating where the hand is, originating from the bottom left. -This method can accept an optional vec3, allowing it to convert any arbitrary vec3 of coordinates. - -Custom positioning methods can be passed in, allowing different scaling techniques, -e.g., http://msdn.microsoft.com/en-us/library/windows/hardware/gg463319.aspx (Pointer Ballistics) -Here we scale based upon the interaction box and screen size: - -options: - scale, scaleX, and scaleY. They all default to 1. - verticalOffset: in pixels. This number is added to the returned Y value. Defaults to 0. - - - -controller.use 'screenPosition', { - method: (positionVec3)-> - Arguments for Leap.vec3 are (out, a, b) - [ - Leap.vec3.subtract(positionVec3, positionVec3, @frame.interactionBox.center) - Leap.vec3.divide(positionVec3, positionVec3, @frame.interactionBox.size) - Leap.vec3.multiply(positionVec3, positionVec3, [document.body.offsetWidth, document.body.offsetHeight, 0]) - ] -} -More info on vec3 can be found, here: http://glmatrix.net/docs/2.2.0/symbols/vec3.html -*/ - - -(function() { - var screenPosition; - - screenPosition = function(options) { - var baseScale, baseVerticalOffset, position, positioningMethods; - if (options == null) { - options = {}; - } - options.positioning || (options.positioning = 'absolute'); - options.scale || (options.scale = 1); - options.scaleX || (options.scaleX = 1); - options.scaleY || (options.scaleY = 1); - options.scaleZ || (options.scaleZ = 1); - options.verticalOffset || (options.verticalOffset = 0); - baseScale = 6; - baseVerticalOffset = -100; - positioningMethods = { - absolute: function(positionVec3) { - return [(window.innerWidth / 2) + (positionVec3[0] * baseScale * options.scale * options.scaleX), window.innerHeight + baseVerticalOffset + options.verticalOffset - (positionVec3[1] * baseScale * options.scale * options.scaleY), positionVec3[2] * baseScale * options.scale * options.scaleZ]; - } - }; - position = function(vec3, memoize) { - var screenPositionVec3; - if (memoize == null) { - memoize = false; - } - screenPositionVec3 = typeof options.positioning === 'function' ? options.positioning.call(this, vec3) : positioningMethods[options.positioning].call(this, vec3); - if (memoize) { - this.screenPositionVec3 = screenPositionVec3; - } - return screenPositionVec3; - }; - return { - hand: { - screenPosition: function(vec3) { - return position.call(this, vec3 || this.stabilizedPalmPosition, !vec3); - } - }, - pointable: { - screenPosition: function(vec3) { - return position.call(this, vec3 || this.stabilizedTipPosition, !vec3); - } - } - }; - }; - - if ((typeof Leap !== 'undefined') && Leap.Controller) { - Leap.Controller.plugin('screenPosition', screenPosition); - } else if (typeof module !== 'undefined') { - module.exports.screenPosition = screenPosition; - } else { - throw 'leap.js not included'; - } - -}).call(this); - -//CoffeeScript generated from main/version-check/leap.version-check.coffee -(function() { - var versionCheck; - - versionCheck = function(scope) { - scope.alert || (scope.alert = false); - scope.requiredProtocolVersion || (scope.requiredProtocolVersion = 6); - scope.disconnect || (scope.disconnect = true); - if ((typeof Leap !== 'undefined') && Leap.Controller) { - if (Leap.version.minor < 5 && Leap.version.dot < 4) { - console.warn("LeapJS Version Check plugin incompatible with LeapJS pre 0.4.4"); - } - } - this.on('ready', function() { - var current, required; - required = scope.requiredProtocolVersion; - current = this.connection.opts.requestProtocolVersion; - if (current < required) { - console.warn("Protocol Version too old. v" + required + " required, v" + current + " available."); - if (scope.disconnect) { - this.disconnect(); - } - if (scope.alert) { - alert("Your Leap Software version is out of date. Visit http://www.leapmotion.com/setup to update"); - } - return this.emit('versionCheck.outdated', { - required: required, - current: current, - disconnect: scope.disconnect - }); - } - }); - return {}; - }; - - if ((typeof Leap !== 'undefined') && Leap.Controller) { - Leap.Controller.plugin('versionCheck', versionCheck); - } else if (typeof module !== 'undefined') { - module.exports.versionCheck = versionCheck; - } else { - throw 'leap.js not included'; - } - -}).call(this); diff --git a/examples/lib/leap-skeleton-master.js b/examples/lib/leap-skeleton-master.js deleted file mode 100644 index b2275d1..0000000 --- a/examples/lib/leap-skeleton-master.js +++ /dev/null @@ -1,7456 +0,0 @@ -;(function(e,t,n){function i(n,s){if(!t[n]){if(!e[n]){var o=typeof require=="function"&&require;if(!s&&o)return o(n,!0);if(r)return r(n,!0);throw new Error("Cannot find module '"+n+"'")}var u=t[n]={exports:{}};e[n][0].call(u.exports,function(t){var r=e[n][1][t];return i(r?r:t)},u,u.exports)}return t[n].exports}var r=typeof require=="function"&&require;for(var s=0;s= this.size) return undefined; - if (i >= this._buf.length) return undefined; - return this._buf[(this.pos - i - 1) % this.size]; -} - -CircularBuffer.prototype.push = function(o) { - this._buf[this.pos % this.size] = o; - return this.pos++; -} - -},{}],3:[function(require,module,exports){ -var chooseProtocol = require('../protocol').chooseProtocol - , EventEmitter = require('events').EventEmitter - , _ = require('underscore'); - -var BaseConnection = module.exports = function(opts) { - this.opts = _.defaults(opts || {}, { - host : '127.0.0.1', - enableGestures: false, - port: 6437, - background: false, - requestProtocolVersion: 6 - }); - this.host = this.opts.host; - this.port = this.opts.port; - this.protocolVersionVerified = false; - this.on('ready', function() { - this.enableGestures(this.opts.enableGestures); - this.setBackground(this.opts.background); - }); -} - -BaseConnection.prototype.getUrl = function() { - return "ws://" + this.host + ":" + this.port + "/v" + this.opts.requestProtocolVersion + ".json"; -} - -BaseConnection.prototype.setBackground = function(state) { - this.opts.background = state; - if (this.protocol && this.protocol.sendBackground && this.background !== this.opts.background) { - this.background = this.opts.background; - this.protocol.sendBackground(this, this.opts.background); - } -} - -BaseConnection.prototype.handleOpen = function() { - if (!this.connected) { - this.connected = true; - this.emit('connect'); - } -} - -BaseConnection.prototype.enableGestures = function(enabled) { - this.gesturesEnabled = enabled ? true : false; - this.send(this.protocol.encode({"enableGestures": this.gesturesEnabled})); -} - -BaseConnection.prototype.handleClose = function(code, reason) { - if (!this.connected) return; - this.disconnect(); - - // 1001 - an active connection is closed - // 1006 - cannot connect - if (code === 1001 && this.opts.requestProtocolVersion > 1) { - if (this.protocolVersionVerified) { - this.protocolVersionVerified = false; - }else{ - this.opts.requestProtocolVersion--; - } - } - this.startReconnection(); -} - -BaseConnection.prototype.startReconnection = function() { - var connection = this; - this.reconnectionTimer = setInterval(function() { connection.reconnect() }, 1000); -} - -BaseConnection.prototype.disconnect = function() { - if (!this.socket) return; - this.socket.close(); - delete this.socket; - delete this.protocol; - delete this.background; // This is not persisted when reconnecting to the web socket server - if (this.connected) { - this.connected = false; - this.emit('disconnect'); - } - return true; -} - -BaseConnection.prototype.reconnect = function() { - if (this.connected) { - clearInterval(this.reconnectionTimer); - } else { - this.disconnect(); - this.connect(); - } -} - -BaseConnection.prototype.handleData = function(data) { - var message = JSON.parse(data); - - var messageEvent; - if (this.protocol === undefined) { - messageEvent = this.protocol = chooseProtocol(message); - this.protocolVersionVerified = true; - this.emit('ready'); - } else { - messageEvent = this.protocol(message); - } - this.emit(messageEvent.type, messageEvent); -} - -BaseConnection.prototype.connect = function() { - if (this.socket) return; - this.socket = this.setupSocket(); - return true; -} - -BaseConnection.prototype.send = function(data) { - this.socket.send(data); -} - -BaseConnection.prototype.reportFocus = function(state) { - if (this.focusedState === state) return; - this.focusedState = state; - this.emit(this.focusedState ? 'focus' : 'blur'); - if (this.protocol && this.protocol.sendFocused) { - this.protocol.sendFocused(this, this.focusedState); - } -} - -_.extend(BaseConnection.prototype, EventEmitter.prototype); - - -},{"../protocol":14,"events":20,"underscore":23}],4:[function(require,module,exports){ -var BaseConnection = module.exports = require('./base') - , _ = require('underscore'); - -var BrowserConnection = module.exports = function(opts) { - BaseConnection.call(this, opts); - var connection = this; - this.on('ready', function() { connection.startFocusLoop(); }) - this.on('disconnect', function() { connection.stopFocusLoop(); }) -} - -_.extend(BrowserConnection.prototype, BaseConnection.prototype); - -BrowserConnection.prototype.setupSocket = function() { - var connection = this; - var socket = new WebSocket(this.getUrl()); - socket.onopen = function() { connection.handleOpen(); }; - socket.onclose = function(data) { connection.handleClose(data['code'], data['reason']); }; - socket.onmessage = function(message) { connection.handleData(message.data) }; - return socket; -} - -BrowserConnection.prototype.startFocusLoop = function() { - if (this.focusDetectorTimer) return; - var connection = this; - var propertyName = null; - if (typeof document.hidden !== "undefined") { - propertyName = "hidden"; - } else if (typeof document.mozHidden !== "undefined") { - propertyName = "mozHidden"; - } else if (typeof document.msHidden !== "undefined") { - propertyName = "msHidden"; - } else if (typeof document.webkitHidden !== "undefined") { - propertyName = "webkitHidden"; - } else { - propertyName = undefined; - } - - if (connection.windowVisible === undefined) { - connection.windowVisible = propertyName === undefined ? true : document[propertyName] === false; - } - - var focusListener = window.addEventListener('focus', function(e) { - connection.windowVisible = true; - updateFocusState(); - }); - - var blurListener = window.addEventListener('blur', function(e) { - connection.windowVisible = false; - updateFocusState(); - }); - - this.on('disconnect', function() { - window.removeEventListener('focus', focusListener); - window.removeEventListener('blur', blurListener); - }); - - var updateFocusState = function() { - var isVisible = propertyName === undefined ? true : document[propertyName] === false; - connection.reportFocus(isVisible && connection.windowVisible); - } - - this.focusDetectorTimer = setInterval(updateFocusState, 100); -} - -BrowserConnection.prototype.stopFocusLoop = function() { - if (!this.focusDetectorTimer) return; - clearTimeout(this.focusDetectorTimer); - delete this.focusDetectorTimer; -} - -},{"./base":3,"underscore":23}],5:[function(require,module,exports){ -var process=require("__browserify_process");var Frame = require('./frame') - , Hand = require('./hand') - , Pointable = require('./pointable') - , CircularBuffer = require("./circular_buffer") - , Pipeline = require("./pipeline") - , EventEmitter = require('events').EventEmitter - , gestureListener = require('./gesture').gestureListener - , _ = require('underscore'); - -/** - * Constructs a Controller object. - * - * When creating a Controller object, you may optionally pass in options - * to set the host , set the port, enable gestures, or select the frame event type. - * - * ```javascript - * var controller = new Leap.Controller({ - * host: '127.0.0.1', - * port: 6437, - * enableGestures: true, - * frameEventName: 'animationFrame' - * }); - * ``` - * - * @class Controller - * @memberof Leap - * @classdesc - * The Controller class is your main interface to the Leap Motion Controller. - * - * Create an instance of this Controller class to access frames of tracking data - * and configuration information. Frame data can be polled at any time using the - * [Controller.frame]{@link Leap.Controller#frame}() function. Call frame() or frame(0) to get the most recent - * frame. Set the history parameter to a positive integer to access previous frames. - * A controller stores up to 60 frames in its frame history. - * - * Polling is an appropriate strategy for applications which already have an - * intrinsic update loop, such as a game. - */ - - -var Controller = module.exports = function(opts) { - var inNode = (typeof(process) !== 'undefined' && process.versions && process.versions.node), - controller = this; - - opts = _.defaults(opts || {}, { - inNode: inNode - }); - - this.inNode = opts.inNode; - - opts = _.defaults(opts || {}, { - frameEventName: this.useAnimationLoop() ? 'animationFrame' : 'deviceFrame', - suppressAnimationLoop: !this.useAnimationLoop(), - loopWhileDisconnected: false, - useAllPlugins: false - }); - - this.animationFrameRequested = false; - this.onAnimationFrame = function() { - controller.emit('animationFrame', controller.lastConnectionFrame); - if (controller.loopWhileDisconnected && (controller.connection.focusedState || controller.connection.opts.background) ){ - window.requestAnimationFrame(controller.onAnimationFrame); - }else{ - controller.animationFrameRequested = false; - } - } - this.suppressAnimationLoop = opts.suppressAnimationLoop; - this.loopWhileDisconnected = opts.loopWhileDisconnected; - this.frameEventName = opts.frameEventName; - this.useAllPlugins = opts.useAllPlugins; - this.history = new CircularBuffer(200); - this.lastFrame = Frame.Invalid; - this.lastValidFrame = Frame.Invalid; - this.lastConnectionFrame = Frame.Invalid; - this.accumulatedGestures = []; - if (opts.connectionType === undefined) { - this.connectionType = (this.inBrowser() ? require('./connection/browser') : require('./connection/node')); - } else { - this.connectionType = opts.connectionType; - } - this.connection = new this.connectionType(opts); - this.plugins = {}; - this._pluginPipelineSteps = {}; - this._pluginExtendedMethods = {}; - if (opts.useAllPlugins) this.useRegisteredPlugins(); - this.setupConnectionEvents(); -} - -Controller.prototype.gesture = function(type, cb) { - var creator = gestureListener(this, type); - if (cb !== undefined) { - creator.stop(cb); - } - return creator; -} - -/* - * @returns the controller - */ -Controller.prototype.setBackground = function(state) { - this.connection.setBackground(state); - return this; -} - -Controller.prototype.inBrowser = function() { - return !this.inNode; -} - -Controller.prototype.useAnimationLoop = function() { - return this.inBrowser() && !this.inBackgroundPage(); -} - -Controller.prototype.inBackgroundPage = function(){ - // http://developer.chrome.com/extensions/extension#method-getBackgroundPage - return (typeof(chrome) !== "undefined") && - chrome.extension && - chrome.extension.getBackgroundPage && - (chrome.extension.getBackgroundPage() === window) -} - -/* - * @returns the controller - */ -Controller.prototype.connect = function() { - this.connection.connect(); - return this; -} - - -Controller.prototype.connected = function() { - return !!this.connection.connected; -} - -Controller.prototype.runAnimationLoop = function(){ - if (!this.suppressAnimationLoop && !this.animationFrameRequested) { - this.animationFrameRequested = true; - window.requestAnimationFrame(this.onAnimationFrame); - } -} - -/* - * @returns the controller - */ -Controller.prototype.disconnect = function() { - this.connection.disconnect(); - return this; -} - -/** - * Returns a frame of tracking data from the Leap. - * - * Use the optional history parameter to specify which frame to retrieve. - * Call frame() or frame(0) to access the most recent frame; call frame(1) to - * access the previous frame, and so on. If you use a history value greater - * than the number of stored frames, then the controller returns an invalid frame. - * - * @method frame - * @memberof Leap.Controller.prototype - * @param {number} history The age of the frame to return, counting backwards from - * the most recent frame (0) into the past and up to the maximum age (59). - * @returns {Leap.Frame} The specified frame; or, if no history - * parameter is specified, the newest frame. If a frame is not available at - * the specified history position, an invalid Frame is returned. - */ -Controller.prototype.frame = function(num) { - return this.history.get(num) || Frame.Invalid; -} - -Controller.prototype.loop = function(callback) { - switch (callback.length) { - case 1: - this.on(this.frameEventName, callback); - break; - case 2: - var controller = this; - var scheduler = null; - var immediateRunnerCallback = function(frame) { - callback(frame, function() { - if (controller.lastFrame != frame) { - immediateRunnerCallback(controller.lastFrame); - } else { - controller.once(controller.frameEventName, immediateRunnerCallback); - } - }); - } - this.once(this.frameEventName, immediateRunnerCallback); - break; - } - return this.connect(); -} - -Controller.prototype.addStep = function(step) { - if (!this.pipeline) this.pipeline = new Pipeline(this); - this.pipeline.addStep(step); -} - -// this is run on every deviceFrame -Controller.prototype.processFrame = function(frame) { - if (frame.gestures) { - this.accumulatedGestures = this.accumulatedGestures.concat(frame.gestures); - } - // lastConnectionFrame is used by the animation loop - this.lastConnectionFrame = frame; - this.runAnimationLoop(); - this.emit('deviceFrame', frame); -} - -// on a this.deviceEventName (usually 'animationFrame' in browsers), this emits a 'frame' -Controller.prototype.processFinishedFrame = function(frame) { - this.lastFrame = frame; - if (frame.valid) { - this.lastValidFrame = frame; - } - frame.controller = this; - frame.historyIdx = this.history.push(frame); - if (frame.gestures) { - frame.gestures = this.accumulatedGestures; - this.accumulatedGestures = []; - for (var gestureIdx = 0; gestureIdx != frame.gestures.length; gestureIdx++) { - this.emit("gesture", frame.gestures[gestureIdx], frame); - } - } - if (this.pipeline) { - frame = this.pipeline.run(frame); - if (!frame) frame = Frame.Invalid; - } - this.emit('frame', frame); -} - -Controller.prototype.setupConnectionEvents = function() { - var controller = this; - this.connection.on('frame', function(frame) { - controller.processFrame(frame); - }); - this.on(this.frameEventName, function(frame) { - controller.processFinishedFrame(frame); - }); - - // Delegate connection events - this.connection.on('disconnect', function() { controller.emit('disconnect'); }); - this.connection.on('ready', function() { controller.emit('ready'); }); - this.connection.on('connect', function() { controller.emit('connect'); }); - this.connection.on('focus', function() { controller.emit('focus'); controller.runAnimationLoop(); }); - this.connection.on('blur', function() { controller.emit('blur') }); - this.connection.on('protocol', function(protocol) { controller.emit('protocol', protocol); }); - this.connection.on('deviceConnect', function(evt) { controller.emit(evt.state ? 'deviceConnected' : 'deviceDisconnected'); }); -} - - -Controller._pluginFactories = {}; - -/* - * Registers a plugin, making is accessible to controller.use later on. - * - * @member plugin - * @memberof Leap.Controller.prototype - * @param {String} name The name of the plugin (usually camelCase). - * @param {function} factory A factory method which will return an instance of a plugin. - * The factory receives an optional hash of options, passed in via controller.use. - * - * Valid keys for the object include frame, hand, finger, tool, and pointable. The value - * of each key can be either a function or an object. If given a function, that function - * will be called once for every instance of the object, with that instance injected as an - * argument. This allows decoration of objects with additional data: - * - * ```javascript - * Leap.Controller.plugin('testPlugin', function(options){ - * return { - * frame: function(frame){ - * frame.foo = 'bar'; - * } - * } - * }); - * ``` - * - * When hand is used, the callback is called for every hand in `frame.hands`. Note that - * hand objects are recreated with every new frame, so that data saved on the hand will not - * persist. - * - * ```javascript - * Leap.Controller.plugin('testPlugin', function(){ - * return { - * hand: function(hand){ - * console.log('testPlugin running on hand ' + hand.id); - * } - * } - * }); - * ``` - * - * A factory can return an object to add custom functionality to Frames, Hands, or Pointables. - * The methods are added directly to the object's prototype. Finger and Tool cannot be used here, Pointable - * must be used instead. - * This is encouraged for calculations which may not be necessary on every frame. - * Memoization is also encouraged, for cases where the method may be called many times per frame by the application. - * - * ```javascript - * // This plugin allows hand.usefulData() to be called later. - * Leap.Controller.plugin('testPlugin', function(){ - * return { - * hand: { - * usefulData: function(){ - * console.log('usefulData on hand', this.id); - * // memoize the results on to the hand, preventing repeat work: - * this.x || this.x = someExpensiveCalculation(); - * return this.x; - * } - * } - * } - * }); - * - * Note that the factory pattern allows encapsulation for every plugin instance. - * - * ```javascript - * Leap.Controller.plugin('testPlugin', function(options){ - * options || options = {} - * options.center || options.center = [0,0,0] - * - * privatePrintingMethod = function(){ - * console.log('privatePrintingMethod - options', options); - * } - * - * return { - * pointable: { - * publicPrintingMethod: function(){ - * privatePrintingMethod(); - * } - * } - * } - * }); - * - */ -Controller.plugin = function(pluginName, factory) { - if (this._pluginFactories[pluginName]) { - throw "Plugin \"" + pluginName + "\" already registered"; - } - return this._pluginFactories[pluginName] = factory; -}; - -/* - * Returns a list of registered plugins. - * @returns {Array} Plugin Factories. - */ -Controller.plugins = function() { - return _.keys(this._pluginFactories); -}; - -/* - * Begin using a registered plugin. The plugin's functionality will be added to all frames - * returned by the controller (and/or added to the objects within the frame). - * - The order of plugin execution inside the loop will match the order in which use is called by the application. - * - The plugin be run for both deviceFrames and animationFrames. - * - * If called a second time, the options will be merged with those of the already instantiated plugin. - * - * @method use - * @memberOf Leap.Controller.prototype - * @param pluginName - * @param {Hash} Options to be passed to the plugin's factory. - * @returns the controller - */ -Controller.prototype.use = function(pluginName, options) { - var functionOrHash, pluginFactory, key, pluginInstance, klass; - - pluginFactory = (typeof pluginName == 'function') ? pluginName : Controller._pluginFactories[pluginName]; - - if (!pluginFactory) { - throw 'Leap Plugin ' + pluginName + ' not found.'; - } - - options || (options = {}); - - if (this.plugins[pluginName]){ - _.extend(this.plugins[pluginName], options) - return this; - } - - this.plugins[pluginName] = options; - - pluginInstance = pluginFactory.call(this, options); - - for (key in pluginInstance) { - functionOrHash = pluginInstance[key]; - - if (typeof functionOrHash === 'function') { - if (!this.pipeline) this.pipeline = new Pipeline(this); - if (!this._pluginPipelineSteps[pluginName]) this._pluginPipelineSteps[pluginName] = []; - - this._pluginPipelineSteps[pluginName].push( this.pipeline.addWrappedStep(key, functionOrHash) ); - } else { - if (!this._pluginExtendedMethods[pluginName]) this._pluginExtendedMethods[pluginName] = []; - - switch (key) { - case 'frame': - klass = Frame - break; - case 'hand': - klass = Hand - break; - case 'pointable': - klass = Pointable - break; - default: - throw pluginName + ' specifies invalid object type "' + key + '" for prototypical extension' - } - - _.extend(klass.prototype, functionOrHash); - _.extend(klass.Invalid, functionOrHash); - this._pluginExtendedMethods[pluginName].push([klass, functionOrHash]) - } - } - return this; -}; - -/* - * Stop using a used plugin. This will remove any of the plugin's pipeline methods (those called on every frame) - * and remove any methods which extend frame-object prototypes. - * - * @method stopUsing - * @memberOf Leap.Controller.prototype - * @param pluginName - * @returns the controller - */ -Controller.prototype.stopUsing = function (pluginName) { - var steps = this._pluginPipelineSteps[pluginName], - extMethodHashes = this._pluginExtendedMethods[pluginName], - i = 0, klass, extMethodHash; - - if (!this.plugins[pluginName]) return; - - if (steps) { - for (i = 0; i < steps.length; i++) { - this.pipeline.removeStep(steps[i]); - } - } - - if (extMethodHashes){ - for (i = 0; i < extMethodHashes.length; i++){ - klass = extMethodHashes[i][0] - extMethodHash = extMethodHashes[i][1] - for (var methodName in extMethodHash) { - delete klass.prototype[methodName] - delete klass.Invalid[methodName] - } - } - } - - delete this.plugins[pluginName] - - return this; -} - -Controller.prototype.useRegisteredPlugins = function(){ - for (var plugin in Controller._pluginFactories){ - this.use(plugin); - } -} - - -_.extend(Controller.prototype, EventEmitter.prototype); - -},{"./circular_buffer":2,"./connection/browser":4,"./connection/node":19,"./frame":7,"./gesture":8,"./hand":9,"./pipeline":12,"./pointable":13,"__browserify_process":21,"events":20,"underscore":23}],6:[function(require,module,exports){ -var Pointable = require('./pointable') - , _ = require('underscore'); - -/** -* Constructs a Finger object. -* -* An uninitialized finger is considered invalid. -* Get valid Finger objects from a Frame or a Hand object. -* -* @class Finger -* @memberof Leap -* @classdesc -* The Finger class reports the physical characteristics of a finger. -* -* Both fingers and tools are classified as Pointable objects. Use the -* Pointable.tool property to determine whether a Pointable object represents a -* tool or finger. The Leap classifies a detected entity as a tool when it is -* thinner, straighter, and longer than a typical finger. -* -* Note that Finger objects can be invalid, which means that they do not -* contain valid tracking data and do not correspond to a physical entity. -* Invalid Finger objects can be the result of asking for a Finger object -* using an ID from an earlier frame when no Finger objects with that ID -* exist in the current frame. A Finger object created from the Finger -* constructor is also invalid. Test for validity with the Pointable.valid -* property. -*/ -var Finger = module.exports = function(data) { - Pointable.call(this, data); // use pointable as super-constructor - - /** - * The position of the distal interphalangeal joint of the finger. - * This joint is closest to the tip. - * - * The distal interphalangeal joint is located between the most extreme segment - * of the finger (the distal phalanx) and the middle segment (the intermediate - * phalanx). - * - * @member dipPosition - * @type {number[]} - * @memberof Leap.Finger.prototype - */ - this.dipPosition = data.dipPosition; - - /** - * The position of the proximal interphalangeal joint of the finger. This joint is the middle - * joint of a finger. - * - * The proximal interphalangeal joint is located between the two finger segments - * closest to the hand (the proximal and the intermediate phalanges). On a thumb, - * which lacks an intermediate phalanx, this joint index identifies the knuckle joint - * between the proximal phalanx and the metacarpal bone. - * - * @member pipPosition - * @type {number[]} - * @memberof Leap.Finger.prototype - */ - this.pipPosition = data.pipPosition; - - /** - * The position of the metacarpopophalangeal joint, or knuckle, of the finger. - * - * The metacarpopophalangeal joint is located at the base of a finger between - * the metacarpal bone and the first phalanx. The common name for this joint is - * the knuckle. - * - * On a thumb, which has one less phalanx than a finger, this joint index - * identifies the thumb joint near the base of the hand, between the carpal - * and metacarpal bones. - * - * @member mcpPosition - * @type {number[]} - * @memberof Leap.Finger.prototype - */ - this.mcpPosition = data.mcpPosition; - - /** - * Whether or not this finger is in an extended posture. - * - * A finger is considered extended if it is extended straight from the hand as if - * pointing. A finger is not extended when it is bent down and curled towards the - * palm. - * @member extended - * @type {Boolean} - * @memberof Leap.Finger.prototype - */ - this.extended = data.extended; - - /** - * An integer code for the name of this finger. - * - * * 0 -- thumb - * * 1 -- index finger - * * 2 -- middle finger - * * 3 -- ring finger - * * 4 -- pinky - * - * @member type - * @type {number} - * @memberof Leap.Finger.prototype - */ - this.type = data.type; - this.finger = true; - - /** - * The joint positions of this finger as an array in the order base to tip. - * - * @member positions - * @type {array[]} - * @memberof Leap.Finger.prototype - */ - this.positions = [this.mcpPosition, this.pipPosition, this.dipPosition, this.tipPosition]; -}; - -_.extend(Finger.prototype, Pointable.prototype); - -Finger.prototype.toString = function() { - if(this.tool == true){ - return "Finger [ id:" + this.id + " " + this.length + "mmx | width:" + this.width + "mm | direction:" + this.direction + ' ]'; - } else { - return "Finger [ id:" + this.id + " " + this.length + "mmx | direction: " + this.direction + ' ]'; - } -}; - -Finger.Invalid = { valid: false }; - -},{"./pointable":13,"underscore":23}],7:[function(require,module,exports){ -var Hand = require("./hand") - , Pointable = require("./pointable") - , createGesture = require("./gesture").createGesture - , glMatrix = require("gl-matrix") - , mat3 = glMatrix.mat3 - , vec3 = glMatrix.vec3 - , InteractionBox = require("./interaction_box") - , Finger = require('./finger') - , _ = require("underscore"); - -/** - * Constructs a Frame object. - * - * Frame instances created with this constructor are invalid. - * Get valid Frame objects by calling the - * [Controller.frame]{@link Leap.Controller#frame}() function. - * - * @class Frame - * @memberof Leap - * @classdesc - * The Frame class represents a set of hand and finger tracking data detected - * in a single frame. - * - * The Leap detects hands, fingers and tools within the tracking area, reporting - * their positions, orientations and motions in frames at the Leap frame rate. - * - * Access Frame objects using the [Controller.frame]{@link Leap.Controller#frame}() function. - */ -var Frame = module.exports = function(data) { - /** - * Reports whether this Frame instance is valid. - * - * A valid Frame is one generated by the Controller object that contains - * tracking data for all detected entities. An invalid Frame contains no - * actual tracking data, but you can call its functions without risk of a - * undefined object exception. The invalid Frame mechanism makes it more - * convenient to track individual data across the frame history. For example, - * you can invoke: - * - * ```javascript - * var finger = controller.frame(n).finger(fingerID); - * ``` - * - * for an arbitrary Frame history value, "n", without first checking whether - * frame(n) returned a null object. (You should still check that the - * returned Finger instance is valid.) - * - * @member valid - * @memberof Leap.Frame.prototype - * @type {Boolean} - */ - this.valid = true; - /** - * A unique ID for this Frame. Consecutive frames processed by the Leap - * have consecutive increasing values. - * @member id - * @memberof Leap.Frame.prototype - * @type {String} - */ - this.id = data.id; - /** - * The frame capture time in microseconds elapsed since the Leap started. - * @member timestamp - * @memberof Leap.Frame.prototype - * @type {number} - */ - this.timestamp = data.timestamp; - /** - * The list of Hand objects detected in this frame, given in arbitrary order. - * The list can be empty if no hands are detected. - * - * @member hands[] - * @memberof Leap.Frame.prototype - * @type {Leap.Hand} - */ - this.hands = []; - this.handsMap = {}; - /** - * The list of Pointable objects (fingers and tools) detected in this frame, - * given in arbitrary order. The list can be empty if no fingers or tools are - * detected. - * - * @member pointables[] - * @memberof Leap.Frame.prototype - * @type {Leap.Pointable} - */ - this.pointables = []; - /** - * The list of Tool objects detected in this frame, given in arbitrary order. - * The list can be empty if no tools are detected. - * - * @member tools[] - * @memberof Leap.Frame.prototype - * @type {Leap.Pointable} - */ - this.tools = []; - /** - * The list of Finger objects detected in this frame, given in arbitrary order. - * The list can be empty if no fingers are detected. - * @member fingers[] - * @memberof Leap.Frame.prototype - * @type {Leap.Pointable} - */ - this.fingers = []; - - /** - * The InteractionBox associated with the current frame. - * - * @member interactionBox - * @memberof Leap.Frame.prototype - * @type {Leap.InteractionBox} - */ - if (data.interactionBox) { - this.interactionBox = new InteractionBox(data.interactionBox); - } - this.gestures = []; - this.pointablesMap = {}; - this._translation = data.t; - this._rotation = _.flatten(data.r); - this._scaleFactor = data.s; - this.data = data; - this.type = 'frame'; // used by event emitting - this.currentFrameRate = data.currentFrameRate; - - if (data.gestures) { - /** - * The list of Gesture objects detected in this frame, given in arbitrary order. - * The list can be empty if no gestures are detected. - * - * Circle and swipe gestures are updated every frame. Tap gestures - * only appear in the list for a single frame. - * @member gestures[] - * @memberof Leap.Frame.prototype - * @type {Leap.Gesture} - */ - for (var gestureIdx = 0, gestureCount = data.gestures.length; gestureIdx != gestureCount; gestureIdx++) { - this.gestures.push(createGesture(data.gestures[gestureIdx])); - } - } - this.postprocessData(data); -}; - -Frame.prototype.postprocessData = function(data){ - if (!data) { - data = this.data; - } - - for (var handIdx = 0, handCount = data.hands.length; handIdx != handCount; handIdx++) { - var hand = new Hand(data.hands[handIdx]); - hand.frame = this; - this.hands.push(hand); - this.handsMap[hand.id] = hand; - } - for (var pointableIdx = 0, pointableCount = data.pointables.length; pointableIdx != pointableCount; pointableIdx++) { - var pointableData = data.pointables[pointableIdx]; - var pointable = pointableData.dipPosition ? new Finger(pointableData) : new Pointable(pointableData); - pointable.frame = this; - this.addPointable(pointable); - } -}; - -/** - * Adds data from a pointable element into the pointablesMap; - * also adds the pointable to the frame.handsMap hand to which it belongs, - * and to the hand's tools or hand's fingers map. - * - * @param pointable {Object} a Pointable - */ -Frame.prototype.addPointable = function (pointable) { - this.pointables.push(pointable); - this.pointablesMap[pointable.id] = pointable; - (pointable.tool ? this.tools : this.fingers).push(pointable); - if (pointable.handId !== undefined && this.handsMap.hasOwnProperty(pointable.handId)) { - var hand = this.handsMap[pointable.handId]; - hand.pointables.push(pointable); - (pointable.tool ? hand.tools : hand.fingers).push(pointable); - switch (pointable.type){ - case 0: - hand.thumb = pointable; - break; - case 1: - hand.indexFinger = pointable; - break; - case 2: - hand.middleFinger = pointable; - break; - case 3: - hand.ringFinger = pointable; - break; - case 4: - hand.pinky = pointable; - break; - } - } -}; - -/** - * The tool with the specified ID in this frame. - * - * Use the Frame tool() function to retrieve a tool from - * this frame using an ID value obtained from a previous frame. - * This function always returns a Pointable object, but if no tool - * with the specified ID is present, an invalid Pointable object is returned. - * - * Note that ID values persist across frames, but only until tracking of a - * particular object is lost. If tracking of a tool is lost and subsequently - * regained, the new Pointable object representing that tool may have a - * different ID than that representing the tool in an earlier frame. - * - * @method tool - * @memberof Leap.Frame.prototype - * @param {String} id The ID value of a Tool object from a previous frame. - * @returns {Leap.Pointable} The tool with the - * matching ID if one exists in this frame; otherwise, an invalid Pointable object - * is returned. - */ -Frame.prototype.tool = function(id) { - var pointable = this.pointable(id); - return pointable.tool ? pointable : Pointable.Invalid; -}; - -/** - * The Pointable object with the specified ID in this frame. - * - * Use the Frame pointable() function to retrieve the Pointable object from - * this frame using an ID value obtained from a previous frame. - * This function always returns a Pointable object, but if no finger or tool - * with the specified ID is present, an invalid Pointable object is returned. - * - * Note that ID values persist across frames, but only until tracking of a - * particular object is lost. If tracking of a finger or tool is lost and subsequently - * regained, the new Pointable object representing that finger or tool may have - * a different ID than that representing the finger or tool in an earlier frame. - * - * @method pointable - * @memberof Leap.Frame.prototype - * @param {String} id The ID value of a Pointable object from a previous frame. - * @returns {Leap.Pointable} The Pointable object with - * the matching ID if one exists in this frame; - * otherwise, an invalid Pointable object is returned. - */ -Frame.prototype.pointable = function(id) { - return this.pointablesMap[id] || Pointable.Invalid; -}; - -/** - * The finger with the specified ID in this frame. - * - * Use the Frame finger() function to retrieve the finger from - * this frame using an ID value obtained from a previous frame. - * This function always returns a Finger object, but if no finger - * with the specified ID is present, an invalid Pointable object is returned. - * - * Note that ID values persist across frames, but only until tracking of a - * particular object is lost. If tracking of a finger is lost and subsequently - * regained, the new Pointable object representing that physical finger may have - * a different ID than that representing the finger in an earlier frame. - * - * @method finger - * @memberof Leap.Frame.prototype - * @param {String} id The ID value of a finger from a previous frame. - * @returns {Leap.Pointable} The finger with the - * matching ID if one exists in this frame; otherwise, an invalid Pointable - * object is returned. - */ -Frame.prototype.finger = function(id) { - var pointable = this.pointable(id); - return !pointable.tool ? pointable : Pointable.Invalid; -}; - -/** - * The Hand object with the specified ID in this frame. - * - * Use the Frame hand() function to retrieve the Hand object from - * this frame using an ID value obtained from a previous frame. - * This function always returns a Hand object, but if no hand - * with the specified ID is present, an invalid Hand object is returned. - * - * Note that ID values persist across frames, but only until tracking of a - * particular object is lost. If tracking of a hand is lost and subsequently - * regained, the new Hand object representing that physical hand may have - * a different ID than that representing the physical hand in an earlier frame. - * - * @method hand - * @memberof Leap.Frame.prototype - * @param {String} id The ID value of a Hand object from a previous frame. - * @returns {Leap.Hand} The Hand object with the matching - * ID if one exists in this frame; otherwise, an invalid Hand object is returned. - */ -Frame.prototype.hand = function(id) { - return this.handsMap[id] || Hand.Invalid; -}; - -/** - * The angle of rotation around the rotation axis derived from the overall - * rotational motion between the current frame and the specified frame. - * - * The returned angle is expressed in radians measured clockwise around - * the rotation axis (using the right-hand rule) between the start and end frames. - * The value is always between 0 and pi radians (0 and 180 degrees). - * - * The Leap derives frame rotation from the relative change in position and - * orientation of all objects detected in the field of view. - * - * If either this frame or sinceFrame is an invalid Frame object, then the - * angle of rotation is zero. - * - * @method rotationAngle - * @memberof Leap.Frame.prototype - * @param {Leap.Frame} sinceFrame The starting frame for computing the relative rotation. - * @param {number[]} [axis] The axis to measure rotation around. - * @returns {number} A positive value containing the heuristically determined - * rotational change between the current frame and that specified in the sinceFrame parameter. - */ -Frame.prototype.rotationAngle = function(sinceFrame, axis) { - if (!this.valid || !sinceFrame.valid) return 0.0; - - var rot = this.rotationMatrix(sinceFrame); - var cs = (rot[0] + rot[4] + rot[8] - 1.0)*0.5; - var angle = Math.acos(cs); - angle = isNaN(angle) ? 0.0 : angle; - - if (axis !== undefined) { - var rotAxis = this.rotationAxis(sinceFrame); - angle *= vec3.dot(rotAxis, vec3.normalize(vec3.create(), axis)); - } - - return angle; -}; - -/** - * The axis of rotation derived from the overall rotational motion between - * the current frame and the specified frame. - * - * The returned direction vector is normalized. - * - * The Leap derives frame rotation from the relative change in position and - * orientation of all objects detected in the field of view. - * - * If either this frame or sinceFrame is an invalid Frame object, or if no - * rotation is detected between the two frames, a zero vector is returned. - * - * @method rotationAxis - * @memberof Leap.Frame.prototype - * @param {Leap.Frame} sinceFrame The starting frame for computing the relative rotation. - * @returns {number[]} A normalized direction vector representing the axis of the heuristically determined - * rotational change between the current frame and that specified in the sinceFrame parameter. - */ -Frame.prototype.rotationAxis = function(sinceFrame) { - if (!this.valid || !sinceFrame.valid) return vec3.create(); - return vec3.normalize(vec3.create(), [ - this._rotation[7] - sinceFrame._rotation[5], - this._rotation[2] - sinceFrame._rotation[6], - this._rotation[3] - sinceFrame._rotation[1] - ]); -} - -/** - * The transform matrix expressing the rotation derived from the overall - * rotational motion between the current frame and the specified frame. - * - * The Leap derives frame rotation from the relative change in position and - * orientation of all objects detected in the field of view. - * - * If either this frame or sinceFrame is an invalid Frame object, then - * this method returns an identity matrix. - * - * @method rotationMatrix - * @memberof Leap.Frame.prototype - * @param {Leap.Frame} sinceFrame The starting frame for computing the relative rotation. - * @returns {number[]} A transformation matrix containing the heuristically determined - * rotational change between the current frame and that specified in the sinceFrame parameter. - */ -Frame.prototype.rotationMatrix = function(sinceFrame) { - if (!this.valid || !sinceFrame.valid) return mat3.create(); - var transpose = mat3.transpose(mat3.create(), this._rotation) - return mat3.multiply(mat3.create(), sinceFrame._rotation, transpose); -} - -/** - * The scale factor derived from the overall motion between the current frame and the specified frame. - * - * The scale factor is always positive. A value of 1.0 indicates no scaling took place. - * Values between 0.0 and 1.0 indicate contraction and values greater than 1.0 indicate expansion. - * - * The Leap derives scaling from the relative inward or outward motion of all - * objects detected in the field of view (independent of translation and rotation). - * - * If either this frame or sinceFrame is an invalid Frame object, then this method returns 1.0. - * - * @method scaleFactor - * @memberof Leap.Frame.prototype - * @param {Leap.Frame} sinceFrame The starting frame for computing the relative scaling. - * @returns {number} A positive value representing the heuristically determined - * scaling change ratio between the current frame and that specified in the sinceFrame parameter. - */ -Frame.prototype.scaleFactor = function(sinceFrame) { - if (!this.valid || !sinceFrame.valid) return 1.0; - return Math.exp(this._scaleFactor - sinceFrame._scaleFactor); -} - -/** - * The change of position derived from the overall linear motion between the - * current frame and the specified frame. - * - * The returned translation vector provides the magnitude and direction of the - * movement in millimeters. - * - * The Leap derives frame translation from the linear motion of all objects - * detected in the field of view. - * - * If either this frame or sinceFrame is an invalid Frame object, then this - * method returns a zero vector. - * - * @method translation - * @memberof Leap.Frame.prototype - * @param {Leap.Frame} sinceFrame The starting frame for computing the relative translation. - * @returns {number[]} A vector representing the heuristically determined change in - * position of all objects between the current frame and that specified in the sinceFrame parameter. - */ -Frame.prototype.translation = function(sinceFrame) { - if (!this.valid || !sinceFrame.valid) return vec3.create(); - return vec3.subtract(vec3.create(), this._translation, sinceFrame._translation); -} - -/** - * A string containing a brief, human readable description of the Frame object. - * - * @method toString - * @memberof Leap.Frame.prototype - * @returns {String} A brief description of this frame. - */ -Frame.prototype.toString = function() { - var str = "Frame [ id:"+this.id+" | timestamp:"+this.timestamp+" | Hand count:("+this.hands.length+") | Pointable count:("+this.pointables.length+")"; - if (this.gestures) str += " | Gesture count:("+this.gestures.length+")"; - str += " ]"; - return str; -} - -/** - * Returns a JSON-formatted string containing the hands, pointables and gestures - * in this frame. - * - * @method dump - * @memberof Leap.Frame.prototype - * @returns {String} A JSON-formatted string. - */ -Frame.prototype.dump = function() { - var out = ''; - out += "Frame Info:
"; - out += this.toString(); - out += "

Hands:
" - for (var handIdx = 0, handCount = this.hands.length; handIdx != handCount; handIdx++) { - out += " "+ this.hands[handIdx].toString() + "
"; - } - out += "

Pointables:
"; - for (var pointableIdx = 0, pointableCount = this.pointables.length; pointableIdx != pointableCount; pointableIdx++) { - out += " "+ this.pointables[pointableIdx].toString() + "
"; - } - if (this.gestures) { - out += "

Gestures:
"; - for (var gestureIdx = 0, gestureCount = this.gestures.length; gestureIdx != gestureCount; gestureIdx++) { - out += " "+ this.gestures[gestureIdx].toString() + "
"; - } - } - out += "

Raw JSON:
"; - out += JSON.stringify(this.data); - return out; -} - -/** - * An invalid Frame object. - * - * You can use this invalid Frame in comparisons testing - * whether a given Frame instance is valid or invalid. (You can also check the - * [Frame.valid]{@link Leap.Frame#valid} property.) - * - * @static - * @type {Leap.Frame} - * @name Invalid - * @memberof Leap.Frame - */ -Frame.Invalid = { - valid: false, - hands: [], - fingers: [], - tools: [], - gestures: [], - pointables: [], - pointable: function() { return Pointable.Invalid }, - finger: function() { return Pointable.Invalid }, - hand: function() { return Hand.Invalid }, - toString: function() { return "invalid frame" }, - dump: function() { return this.toString() }, - rotationAngle: function() { return 0.0; }, - rotationMatrix: function() { return mat3.create(); }, - rotationAxis: function() { return vec3.create(); }, - scaleFactor: function() { return 1.0; }, - translation: function() { return vec3.create(); } -}; - -},{"./finger":6,"./gesture":8,"./hand":9,"./interaction_box":11,"./pointable":13,"gl-matrix":22,"underscore":23}],8:[function(require,module,exports){ -var glMatrix = require("gl-matrix") - , vec3 = glMatrix.vec3 - , EventEmitter = require('events').EventEmitter - , _ = require('underscore'); - -/** - * Constructs a new Gesture object. - * - * An uninitialized Gesture object is considered invalid. Get valid instances - * of the Gesture class, which will be one of the Gesture subclasses, from a - * Frame object. - * - * @class Gesture - * @abstract - * @memberof Leap - * @classdesc - * The Gesture class represents a recognized movement by the user. - * - * The Leap watches the activity within its field of view for certain movement - * patterns typical of a user gesture or command. For example, a movement from side to - * side with the hand can indicate a swipe gesture, while a finger poking forward - * can indicate a screen tap gesture. - * - * When the Leap recognizes a gesture, it assigns an ID and adds a - * Gesture object to the frame gesture list. For continuous gestures, which - * occur over many frames, the Leap updates the gesture by adding - * a Gesture object having the same ID and updated properties in each - * subsequent frame. - * - * **Important:** Recognition for each type of gesture must be enabled; - * otherwise **no gestures are recognized or reported**. - * - * Subclasses of Gesture define the properties for the specific movement patterns - * recognized by the Leap. - * - * The Gesture subclasses for include: - * - * * CircleGesture -- A circular movement by a finger. - * * SwipeGesture -- A straight line movement by the hand with fingers extended. - * * ScreenTapGesture -- A forward tapping movement by a finger. - * * KeyTapGesture -- A downward tapping movement by a finger. - * - * Circle and swipe gestures are continuous and these objects can have a - * state of start, update, and stop. - * - * The screen tap gesture is a discrete gesture. The Leap only creates a single - * ScreenTapGesture object appears for each tap and it always has a stop state. - * - * Get valid Gesture instances from a Frame object. You can get a list of gestures - * from the Frame gestures array. You can also use the Frame gesture() method - * to find a gesture in the current frame using an ID value obtained in a - * previous frame. - * - * Gesture objects can be invalid. For example, when you get a gesture by ID - * using Frame.gesture(), and there is no gesture with that ID in the current - * frame, then gesture() returns an Invalid Gesture object (rather than a null - * value). Always check object validity in situations where a gesture might be - * invalid. - */ -var createGesture = exports.createGesture = function(data) { - var gesture; - switch (data.type) { - case 'circle': - gesture = new CircleGesture(data); - break; - case 'swipe': - gesture = new SwipeGesture(data); - break; - case 'screenTap': - gesture = new ScreenTapGesture(data); - break; - case 'keyTap': - gesture = new KeyTapGesture(data); - break; - default: - throw "unknown gesture type"; - } - - /** - * The gesture ID. - * - * All Gesture objects belonging to the same recognized movement share the - * same ID value. Use the ID value with the Frame::gesture() method to - * find updates related to this Gesture object in subsequent frames. - * - * @member id - * @memberof Leap.Gesture.prototype - * @type {number} - */ - gesture.id = data.id; - /** - * The list of hands associated with this Gesture, if any. - * - * If no hands are related to this gesture, the list is empty. - * - * @member handIds - * @memberof Leap.Gesture.prototype - * @type {Array} - */ - gesture.handIds = data.handIds.slice(); - /** - * The list of fingers and tools associated with this Gesture, if any. - * - * If no Pointable objects are related to this gesture, the list is empty. - * - * @member pointableIds - * @memberof Leap.Gesture.prototype - * @type {Array} - */ - gesture.pointableIds = data.pointableIds.slice(); - /** - * The elapsed duration of the recognized movement up to the - * frame containing this Gesture object, in microseconds. - * - * The duration reported for the first Gesture in the sequence (with the - * start state) will typically be a small positive number since - * the movement must progress far enough for the Leap to recognize it as - * an intentional gesture. - * - * @member duration - * @memberof Leap.Gesture.prototype - * @type {number} - */ - gesture.duration = data.duration; - /** - * The gesture ID. - * - * Recognized movements occur over time and have a beginning, a middle, - * and an end. The 'state()' attribute reports where in that sequence this - * Gesture object falls. - * - * Possible values for the state field are: - * - * * start - * * update - * * stop - * - * @member state - * @memberof Leap.Gesture.prototype - * @type {String} - */ - gesture.state = data.state; - /** - * The gesture type. - * - * Possible values for the type field are: - * - * * circle - * * swipe - * * screenTap - * * keyTap - * - * @member type - * @memberof Leap.Gesture.prototype - * @type {String} - */ - gesture.type = data.type; - return gesture; -} - -/* - * Returns a builder object, which uses method chaining for gesture callback binding. - */ -var gestureListener = exports.gestureListener = function(controller, type) { - var handlers = {}; - var gestureMap = {}; - - controller.on('gesture', function(gesture, frame) { - if (gesture.type == type) { - if (gesture.state == "start" || gesture.state == "stop") { - if (gestureMap[gesture.id] === undefined) { - var gestureTracker = new Gesture(gesture, frame); - gestureMap[gesture.id] = gestureTracker; - _.each(handlers, function(cb, name) { - gestureTracker.on(name, cb); - }); - } - } - gestureMap[gesture.id].update(gesture, frame); - if (gesture.state == "stop") { - delete gestureMap[gesture.id]; - } - } - }); - var builder = { - start: function(cb) { - handlers['start'] = cb; - return builder; - }, - stop: function(cb) { - handlers['stop'] = cb; - return builder; - }, - complete: function(cb) { - handlers['stop'] = cb; - return builder; - }, - update: function(cb) { - handlers['update'] = cb; - return builder; - } - } - return builder; -} - -var Gesture = exports.Gesture = function(gesture, frame) { - this.gestures = [gesture]; - this.frames = [frame]; -} - -Gesture.prototype.update = function(gesture, frame) { - this.lastGesture = gesture; - this.lastFrame = frame; - this.gestures.push(gesture); - this.frames.push(frame); - this.emit(gesture.state, this); -} - -Gesture.prototype.translation = function() { - return vec3.subtract(vec3.create(), this.lastGesture.startPosition, this.lastGesture.position); -} - -_.extend(Gesture.prototype, EventEmitter.prototype); - -/** - * Constructs a new CircleGesture object. - * - * An uninitialized CircleGesture object is considered invalid. Get valid instances - * of the CircleGesture class from a Frame object. - * - * @class CircleGesture - * @memberof Leap - * @augments Leap.Gesture - * @classdesc - * The CircleGesture classes represents a circular finger movement. - * - * A circle movement is recognized when the tip of a finger draws a circle - * within the Leap field of view. - * - * ![CircleGesture](images/Leap_Gesture_Circle.png) - * - * Circle gestures are continuous. The CircleGesture objects for the gesture have - * three possible states: - * - * * start -- The circle gesture has just started. The movement has - * progressed far enough for the recognizer to classify it as a circle. - * * update -- The circle gesture is continuing. - * * stop -- The circle gesture is finished. - */ -var CircleGesture = function(data) { - /** - * The center point of the circle within the Leap frame of reference. - * - * @member center - * @memberof Leap.CircleGesture.prototype - * @type {number[]} - */ - this.center = data.center; - /** - * The normal vector for the circle being traced. - * - * If you draw the circle clockwise, the normal vector points in the same - * general direction as the pointable object drawing the circle. If you draw - * the circle counterclockwise, the normal points back toward the - * pointable. If the angle between the normal and the pointable object - * drawing the circle is less than 90 degrees, then the circle is clockwise. - * - * ```javascript - * var clockwiseness; - * if (circle.pointable.direction.angleTo(circle.normal) <= PI/4) { - * clockwiseness = "clockwise"; - * } - * else - * { - * clockwiseness = "counterclockwise"; - * } - * ``` - * - * @member normal - * @memberof Leap.CircleGesture.prototype - * @type {number[]} - */ - this.normal = data.normal; - /** - * The number of times the finger tip has traversed the circle. - * - * Progress is reported as a positive number of the number. For example, - * a progress value of .5 indicates that the finger has gone halfway - * around, while a value of 3 indicates that the finger has gone around - * the the circle three times. - * - * Progress starts where the circle gesture began. Since the circle - * must be partially formed before the Leap can recognize it, progress - * will be greater than zero when a circle gesture first appears in the - * frame. - * - * @member progress - * @memberof Leap.CircleGesture.prototype - * @type {number} - */ - this.progress = data.progress; - /** - * The radius of the circle in mm. - * - * @member radius - * @memberof Leap.CircleGesture.prototype - * @type {number} - */ - this.radius = data.radius; -} - -CircleGesture.prototype.toString = function() { - return "CircleGesture ["+JSON.stringify(this)+"]"; -} - -/** - * Constructs a new SwipeGesture object. - * - * An uninitialized SwipeGesture object is considered invalid. Get valid instances - * of the SwipeGesture class from a Frame object. - * - * @class SwipeGesture - * @memberof Leap - * @augments Leap.Gesture - * @classdesc - * The SwipeGesture class represents a swiping motion of a finger or tool. - * - * ![SwipeGesture](images/Leap_Gesture_Swipe.png) - * - * Swipe gestures are continuous. - */ -var SwipeGesture = function(data) { - /** - * The starting position within the Leap frame of - * reference, in mm. - * - * @member startPosition - * @memberof Leap.SwipeGesture.prototype - * @type {number[]} - */ - this.startPosition = data.startPosition; - /** - * The current swipe position within the Leap frame of - * reference, in mm. - * - * @member position - * @memberof Leap.SwipeGesture.prototype - * @type {number[]} - */ - this.position = data.position; - /** - * The unit direction vector parallel to the swipe motion. - * - * You can compare the components of the vector to classify the swipe as - * appropriate for your application. For example, if you are using swipes - * for two dimensional scrolling, you can compare the x and y values to - * determine if the swipe is primarily horizontal or vertical. - * - * @member direction - * @memberof Leap.SwipeGesture.prototype - * @type {number[]} - */ - this.direction = data.direction; - /** - * The speed of the finger performing the swipe gesture in - * millimeters per second. - * - * @member speed - * @memberof Leap.SwipeGesture.prototype - * @type {number} - */ - this.speed = data.speed; -} - -SwipeGesture.prototype.toString = function() { - return "SwipeGesture ["+JSON.stringify(this)+"]"; -} - -/** - * Constructs a new ScreenTapGesture object. - * - * An uninitialized ScreenTapGesture object is considered invalid. Get valid instances - * of the ScreenTapGesture class from a Frame object. - * - * @class ScreenTapGesture - * @memberof Leap - * @augments Leap.Gesture - * @classdesc - * The ScreenTapGesture class represents a tapping gesture by a finger or tool. - * - * A screen tap gesture is recognized when the tip of a finger pokes forward - * and then springs back to approximately the original postion, as if - * tapping a vertical screen. The tapping finger must pause briefly before beginning the tap. - * - * ![ScreenTap](images/Leap_Gesture_Tap2.png) - * - * ScreenTap gestures are discrete. The ScreenTapGesture object representing a tap always - * has the state, STATE_STOP. Only one ScreenTapGesture object is created for each - * screen tap gesture recognized. - */ -var ScreenTapGesture = function(data) { - /** - * The position where the screen tap is registered. - * - * @member position - * @memberof Leap.ScreenTapGesture.prototype - * @type {number[]} - */ - this.position = data.position; - /** - * The direction of finger tip motion. - * - * @member direction - * @memberof Leap.ScreenTapGesture.prototype - * @type {number[]} - */ - this.direction = data.direction; - /** - * The progess value is always 1.0 for a screen tap gesture. - * - * @member progress - * @memberof Leap.ScreenTapGesture.prototype - * @type {number} - */ - this.progress = data.progress; -} - -ScreenTapGesture.prototype.toString = function() { - return "ScreenTapGesture ["+JSON.stringify(this)+"]"; -} - -/** - * Constructs a new KeyTapGesture object. - * - * An uninitialized KeyTapGesture object is considered invalid. Get valid instances - * of the KeyTapGesture class from a Frame object. - * - * @class KeyTapGesture - * @memberof Leap - * @augments Leap.Gesture - * @classdesc - * The KeyTapGesture class represents a tapping gesture by a finger or tool. - * - * A key tap gesture is recognized when the tip of a finger rotates down toward the - * palm and then springs back to approximately the original postion, as if - * tapping. The tapping finger must pause briefly before beginning the tap. - * - * ![KeyTap](images/Leap_Gesture_Tap.png) - * - * Key tap gestures are discrete. The KeyTapGesture object representing a tap always - * has the state, STATE_STOP. Only one KeyTapGesture object is created for each - * key tap gesture recognized. - */ -var KeyTapGesture = function(data) { - /** - * The position where the key tap is registered. - * - * @member position - * @memberof Leap.KeyTapGesture.prototype - * @type {number[]} - */ - this.position = data.position; - /** - * The direction of finger tip motion. - * - * @member direction - * @memberof Leap.KeyTapGesture.prototype - * @type {number[]} - */ - this.direction = data.direction; - /** - * The progess value is always 1.0 for a key tap gesture. - * - * @member progress - * @memberof Leap.KeyTapGesture.prototype - * @type {number} - */ - this.progress = data.progress; -} - -KeyTapGesture.prototype.toString = function() { - return "KeyTapGesture ["+JSON.stringify(this)+"]"; -} - -},{"events":20,"gl-matrix":22,"underscore":23}],9:[function(require,module,exports){ -var Pointable = require("./pointable") - , glMatrix = require("gl-matrix") - , mat3 = glMatrix.mat3 - , vec3 = glMatrix.vec3 - , _ = require("underscore"); - -/** - * Constructs a Hand object. - * - * An uninitialized hand is considered invalid. - * Get valid Hand objects from a Frame object. - * @class Hand - * @memberof Leap - * @classdesc - * The Hand class reports the physical characteristics of a detected hand. - * - * Hand tracking data includes a palm position and velocity; vectors for - * the palm normal and direction to the fingers; properties of a sphere fit - * to the hand; and lists of the attached fingers and tools. - * - * Note that Hand objects can be invalid, which means that they do not contain - * valid tracking data and do not correspond to a physical entity. Invalid Hand - * objects can be the result of asking for a Hand object using an ID from an - * earlier frame when no Hand objects with that ID exist in the current frame. - * A Hand object created from the Hand constructor is also invalid. - * Test for validity with the [Hand.valid]{@link Leap.Hand#valid} property. - */ -var Hand = module.exports = function(data) { - /** - * A unique ID assigned to this Hand object, whose value remains the same - * across consecutive frames while the tracked hand remains visible. If - * tracking is lost (for example, when a hand is occluded by another hand - * or when it is withdrawn from or reaches the edge of the Leap field of view), - * the Leap may assign a new ID when it detects the hand in a future frame. - * - * Use the ID value with the {@link Frame.hand}() function to find this - * Hand object in future frames. - * - * @member id - * @memberof Leap.Hand.prototype - * @type {String} - */ - this.id = data.id; - /** - * The center position of the palm in millimeters from the Leap origin. - * @member palmPosition - * @memberof Leap.Hand.prototype - * @type {number[]} - */ - this.palmPosition = data.palmPosition; - /** - * The direction from the palm position toward the fingers. - * - * The direction is expressed as a unit vector pointing in the same - * direction as the directed line from the palm position to the fingers. - * - * @member direction - * @memberof Leap.Hand.prototype - * @type {number[]} - */ - this.direction = data.direction; - /** - * The rate of change of the palm position in millimeters/second. - * - * @member palmVeclocity - * @memberof Leap.Hand.prototype - * @type {number[]} - */ - this.palmVelocity = data.palmVelocity; - /** - * The normal vector to the palm. If your hand is flat, this vector will - * point downward, or "out" of the front surface of your palm. - * - * ![Palm Vectors](images/Leap_Palm_Vectors.png) - * - * The direction is expressed as a unit vector pointing in the same - * direction as the palm normal (that is, a vector orthogonal to the palm). - * @member palmNormal - * @memberof Leap.Hand.prototype - * @type {number[]} - */ - this.palmNormal = data.palmNormal; - /** - * The center of a sphere fit to the curvature of this hand. - * - * This sphere is placed roughly as if the hand were holding a ball. - * - * ![Hand Ball](images/Leap_Hand_Ball.png) - * @member sphereCenter - * @memberof Leap.Hand.prototype - * @type {number[]} - */ - this.sphereCenter = data.sphereCenter; - /** - * The radius of a sphere fit to the curvature of this hand, in millimeters. - * - * This sphere is placed roughly as if the hand were holding a ball. Thus the - * size of the sphere decreases as the fingers are curled into a fist. - * - * @member sphereRadius - * @memberof Leap.Hand.prototype - * @type {number} - */ - this.sphereRadius = data.sphereRadius; - /** - * Reports whether this is a valid Hand object. - * - * @member valid - * @memberof Leap.Hand.prototype - * @type {boolean} - */ - this.valid = true; - /** - * The list of Pointable objects (fingers and tools) detected in this frame - * that are associated with this hand, given in arbitrary order. The list - * can be empty if no fingers or tools associated with this hand are detected. - * - * Use the {@link Pointable} tool property to determine - * whether or not an item in the list represents a tool or finger. - * You can also get only the tools using the Hand.tools[] list or - * only the fingers using the Hand.fingers[] list. - * - * @member pointables[] - * @memberof Leap.Hand.prototype - * @type {Leap.Pointable[]} - */ - this.pointables = []; - /** - * The list of fingers detected in this frame that are attached to - * this hand, given in arbitrary order. - * - * The list can be empty if no fingers attached to this hand are detected. - * - * @member fingers[] - * @memberof Leap.Hand.prototype - * @type {Leap.Pointable[]} - */ - this.fingers = []; - /** - * The list of tools detected in this frame that are held by this - * hand, given in arbitrary order. - * - * The list can be empty if no tools held by this hand are detected. - * - * @member tools[] - * @memberof Leap.Hand.prototype - * @type {Leap.Pointable[]} - */ - this.tools = []; - this._translation = data.t; - this._rotation = _.flatten(data.r); - this._scaleFactor = data.s; - - /** - * Time the hand has been visible in seconds. - * - * @member timeVisible - * @memberof Leap.Hand.prototype - * @type {number} - */ - this.timeVisible = data.timeVisible; - - /** - * The palm position with stabalization - * @member stabilizedPalmPosition - * @memberof Leap.Hand.prototype - * @type {number[]} - */ - this.stabilizedPalmPosition = data.stabilizedPalmPosition; - - /** - * Reports whether this is a left or a right hand. - * - * @member type - * @type {String} - * @memberof Leap.Hand.prototype - */ - this.type = data.type; - this.grabStrength = data.grabStrength; - this.pinchStrength = data.pinchStrength; - this.confidence = data.confidence; -} - -/** - * The finger with the specified ID attached to this hand. - * - * Use this function to retrieve a Pointable object representing a finger - * attached to this hand using an ID value obtained from a previous frame. - * This function always returns a Pointable object, but if no finger - * with the specified ID is present, an invalid Pointable object is returned. - * - * Note that the ID values assigned to fingers persist across frames, but only - * until tracking of a particular finger is lost. If tracking of a finger is - * lost and subsequently regained, the new Finger object representing that - * finger may have a different ID than that representing the finger in an - * earlier frame. - * - * @method finger - * @memberof Leap.Hand.prototype - * @param {String} id The ID value of a finger from a previous frame. - * @returns {Leap.Pointable} The Finger object with - * the matching ID if one exists for this hand in this frame; otherwise, an - * invalid Finger object is returned. - */ -Hand.prototype.finger = function(id) { - var finger = this.frame.finger(id); - return (finger && (finger.handId == this.id)) ? finger : Pointable.Invalid; -} - -/** - * The angle of rotation around the rotation axis derived from the change in - * orientation of this hand, and any associated fingers and tools, between the - * current frame and the specified frame. - * - * The returned angle is expressed in radians measured clockwise around the - * rotation axis (using the right-hand rule) between the start and end frames. - * The value is always between 0 and pi radians (0 and 180 degrees). - * - * If a corresponding Hand object is not found in sinceFrame, or if either - * this frame or sinceFrame are invalid Frame objects, then the angle of rotation is zero. - * - * @method rotationAngle - * @memberof Leap.Hand.prototype - * @param {Leap.Frame} sinceFrame The starting frame for computing the relative rotation. - * @param {numnber[]} [axis] The axis to measure rotation around. - * @returns {number} A positive value representing the heuristically determined - * rotational change of the hand between the current frame and that specified in - * the sinceFrame parameter. - */ -Hand.prototype.rotationAngle = function(sinceFrame, axis) { - if (!this.valid || !sinceFrame.valid) return 0.0; - var sinceHand = sinceFrame.hand(this.id); - if(!sinceHand.valid) return 0.0; - var rot = this.rotationMatrix(sinceFrame); - var cs = (rot[0] + rot[4] + rot[8] - 1.0)*0.5 - var angle = Math.acos(cs); - angle = isNaN(angle) ? 0.0 : angle; - if (axis !== undefined) { - var rotAxis = this.rotationAxis(sinceFrame); - angle *= vec3.dot(rotAxis, vec3.normalize(vec3.create(), axis)); - } - return angle; -} - -/** - * The axis of rotation derived from the change in orientation of this hand, and - * any associated fingers and tools, between the current frame and the specified frame. - * - * The returned direction vector is normalized. - * - * If a corresponding Hand object is not found in sinceFrame, or if either - * this frame or sinceFrame are invalid Frame objects, then this method returns a zero vector. - * - * @method rotationAxis - * @memberof Leap.Hand.prototype - * @param {Leap.Frame} sinceFrame The starting frame for computing the relative rotation. - * @returns {number[]} A normalized direction Vector representing the axis of the heuristically determined - * rotational change of the hand between the current frame and that specified in the sinceFrame parameter. - */ -Hand.prototype.rotationAxis = function(sinceFrame) { - if (!this.valid || !sinceFrame.valid) return vec3.create(); - var sinceHand = sinceFrame.hand(this.id); - if (!sinceHand.valid) return vec3.create(); - return vec3.normalize(vec3.create(), [ - this._rotation[7] - sinceHand._rotation[5], - this._rotation[2] - sinceHand._rotation[6], - this._rotation[3] - sinceHand._rotation[1] - ]); -} - -/** - * The transform matrix expressing the rotation derived from the change in - * orientation of this hand, and any associated fingers and tools, between - * the current frame and the specified frame. - * - * If a corresponding Hand object is not found in sinceFrame, or if either - * this frame or sinceFrame are invalid Frame objects, then this method returns - * an identity matrix. - * - * @method rotationMatrix - * @memberof Leap.Hand.prototype - * @param {Leap.Frame} sinceFrame The starting frame for computing the relative rotation. - * @returns {number[]} A transformation Matrix containing the heuristically determined - * rotational change of the hand between the current frame and that specified in the sinceFrame parameter. - */ -Hand.prototype.rotationMatrix = function(sinceFrame) { - if (!this.valid || !sinceFrame.valid) return mat3.create(); - var sinceHand = sinceFrame.hand(this.id); - if(!sinceHand.valid) return mat3.create(); - var transpose = mat3.transpose(mat3.create(), this._rotation); - var m = mat3.multiply(mat3.create(), sinceHand._rotation, transpose); - return m; -} - -/** - * The scale factor derived from the hand's motion between the current frame and the specified frame. - * - * The scale factor is always positive. A value of 1.0 indicates no scaling took place. - * Values between 0.0 and 1.0 indicate contraction and values greater than 1.0 indicate expansion. - * - * The Leap derives scaling from the relative inward or outward motion of a hand - * and its associated fingers and tools (independent of translation and rotation). - * - * If a corresponding Hand object is not found in sinceFrame, or if either this frame or sinceFrame - * are invalid Frame objects, then this method returns 1.0. - * - * @method scaleFactor - * @memberof Leap.Hand.prototype - * @param {Leap.Frame} sinceFrame The starting frame for computing the relative scaling. - * @returns {number} A positive value representing the heuristically determined - * scaling change ratio of the hand between the current frame and that specified in the sinceFrame parameter. - */ -Hand.prototype.scaleFactor = function(sinceFrame) { - if (!this.valid || !sinceFrame.valid) return 1.0; - var sinceHand = sinceFrame.hand(this.id); - if(!sinceHand.valid) return 1.0; - - return Math.exp(this._scaleFactor - sinceHand._scaleFactor); -} - -/** - * The change of position of this hand between the current frame and the specified frame - * - * The returned translation vector provides the magnitude and direction of the - * movement in millimeters. - * - * If a corresponding Hand object is not found in sinceFrame, or if either this frame or - * sinceFrame are invalid Frame objects, then this method returns a zero vector. - * - * @method translation - * @memberof Leap.Hand.prototype - * @param {Leap.Frame} sinceFrame The starting frame for computing the relative translation. - * @returns {number[]} A Vector representing the heuristically determined change in hand - * position between the current frame and that specified in the sinceFrame parameter. - */ -Hand.prototype.translation = function(sinceFrame) { - if (!this.valid || !sinceFrame.valid) return vec3.create(); - var sinceHand = sinceFrame.hand(this.id); - if(!sinceHand.valid) return vec3.create(); - return [ - this._translation[0] - sinceHand._translation[0], - this._translation[1] - sinceHand._translation[1], - this._translation[2] - sinceHand._translation[2] - ]; -} - -/** - * A string containing a brief, human readable description of the Hand object. - * @method toString - * @memberof Leap.Hand.prototype - * @returns {String} A description of the Hand as a string. - */ -Hand.prototype.toString = function() { - return "Hand (" + this.type + ") [ id: "+ this.id + " | palm velocity:"+this.palmVelocity+" | sphere center:"+this.sphereCenter+" ] "; -} - -/** - * The pitch angle in radians. - * - * Pitch is the angle between the negative z-axis and the projection of - * the vector onto the y-z plane. In other words, pitch represents rotation - * around the x-axis. - * If the vector points upward, the returned angle is between 0 and pi radians - * (180 degrees); if it points downward, the angle is between 0 and -pi radians. - * - * @method pitch - * @memberof Leap.Hand.prototype - * @returns {number} The angle of this vector above or below the horizon (x-z plane). - * - */ -Hand.prototype.pitch = function() { - return Math.atan2(this.direction[1], -this.direction[2]); -} - -/** - * The yaw angle in radians. - * - * Yaw is the angle between the negative z-axis and the projection of - * the vector onto the x-z plane. In other words, yaw represents rotation - * around the y-axis. If the vector points to the right of the negative z-axis, - * then the returned angle is between 0 and pi radians (180 degrees); - * if it points to the left, the angle is between 0 and -pi radians. - * - * @method yaw - * @memberof Leap.Hand.prototype - * @returns {number} The angle of this vector to the right or left of the y-axis. - * - */ -Hand.prototype.yaw = function() { - return Math.atan2(this.direction[0], -this.direction[2]); -} - -/** - * The roll angle in radians. - * - * Roll is the angle between the y-axis and the projection of - * the vector onto the x-y plane. In other words, roll represents rotation - * around the z-axis. If the vector points to the left of the y-axis, - * then the returned angle is between 0 and pi radians (180 degrees); - * if it points to the right, the angle is between 0 and -pi radians. - * - * @method roll - * @memberof Leap.Hand.prototype - * @returns {number} The angle of this vector to the right or left of the y-axis. - * - */ -Hand.prototype.roll = function() { - return Math.atan2(this.palmNormal[0], -this.palmNormal[1]); -} - -/** - * An invalid Hand object. - * - * You can use an invalid Hand object in comparisons testing - * whether a given Hand instance is valid or invalid. (You can also use the - * Hand valid property.) - * - * @static - * @type {Leap.Hand} - * @name Invalid - * @memberof Leap.Hand - */ -Hand.Invalid = { - valid: false, - fingers: [], - tools: [], - pointables: [], - left: false, - pointable: function() { return Pointable.Invalid }, - finger: function() { return Pointable.Invalid }, - toString: function() { return "invalid frame" }, - dump: function() { return this.toString(); }, - rotationAngle: function() { return 0.0; }, - rotationMatrix: function() { return mat3.create(); }, - rotationAxis: function() { return vec3.create(); }, - scaleFactor: function() { return 1.0; }, - translation: function() { return vec3.create(); } -}; - -},{"./pointable":13,"gl-matrix":22,"underscore":23}],10:[function(require,module,exports){ -require("./_header") -/** - * Leap is the global namespace of the Leap API. - * @namespace Leap - */ -module.exports = { - Controller: require("./controller"), - Frame: require("./frame"), - Gesture: require("./gesture"), - Hand: require("./hand"), - Pointable: require("./pointable"), - InteractionBox: require("./interaction_box"), - CircularBuffer: require("./circular_buffer"), - UI: require("./ui"), - JSONProtocol: require("./protocol").JSONProtocol, - glMatrix: require("gl-matrix"), - mat3: require("gl-matrix").mat3, - vec3: require("gl-matrix").vec3, - loopController: undefined, - version: require('./version.js'), - /** - * The Leap.loop() function passes a frame of Leap data to your - * callback function and then calls window.requestAnimationFrame() after - * executing your callback function. - * - * Leap.loop() sets up the Leap controller and WebSocket connection for you. - * You do not need to create your own controller when using this method. - * - * Your callback function is called on an interval determined by the client - * browser. Typically, this is on an interval of 60 frames/second. The most - * recent frame of Leap data is passed to your callback function. If the Leap - * is producing frames at a slower rate than the browser frame rate, the same - * frame of Leap data can be passed to your function in successive animation - * updates. - * - * As an alternative, you can create your own Controller object and use a - * {@link Controller#onFrame onFrame} callback to process the data at - * the frame rate of the Leap device. See {@link Controller} for an - * example. - * - * @method Leap.loop - * @param {function} callback A function called when the browser is ready to - * draw to the screen. The most recent {@link Frame} object is passed to - * your callback function. - * - * ```javascript - * Leap.loop( function( frame ) { - * // ... your code here - * }) - * ``` - */ - loop: function(opts, callback) { - if (callback === undefined) { - callback = opts; - opts = {}; - } - opts.useAllPlugins || (opts.useAllPlugins = true) - if (!this.loopController) this.loopController = new this.Controller(opts); - this.loopController.loop(callback); - return this.loopController; - }, - - /* - * Convenience method for Leap.Controller.plugin - */ - plugin: function(name, options){ - this.Controller.plugin(name, options) - } -} - -},{"./_header":1,"./circular_buffer":2,"./controller":5,"./frame":7,"./gesture":8,"./hand":9,"./interaction_box":11,"./pointable":13,"./protocol":14,"./ui":15,"./version.js":18,"gl-matrix":22}],11:[function(require,module,exports){ -var glMatrix = require("gl-matrix") - , vec3 = glMatrix.vec3; - -/** - * Constructs a InteractionBox object. - * - * @class InteractionBox - * @memberof Leap - * @classdesc - * The InteractionBox class represents a box-shaped region completely within - * the field of view of the Leap Motion controller. - * - * The interaction box is an axis-aligned rectangular prism and provides - * normalized coordinates for hands, fingers, and tools within this box. - * The InteractionBox class can make it easier to map positions in the - * Leap Motion coordinate system to 2D or 3D coordinate systems used - * for application drawing. - * - * ![Interaction Box](images/Leap_InteractionBox.png) - * - * The InteractionBox region is defined by a center and dimensions along the x, y, and z axes. - */ -var InteractionBox = module.exports = function(data) { - /** - * Indicates whether this is a valid InteractionBox object. - * - * @member valid - * @type {Boolean} - * @memberof Leap.InteractionBox.prototype - */ - this.valid = true; - /** - * The center of the InteractionBox in device coordinates (millimeters). - * This point is equidistant from all sides of the box. - * - * @member center - * @type {number[]} - * @memberof Leap.InteractionBox.prototype - */ - this.center = data.center; - - this.size = data.size; - /** - * The width of the InteractionBox in millimeters, measured along the x-axis. - * - * @member width - * @type {number} - * @memberof Leap.InteractionBox.prototype - */ - this.width = data.size[0]; - /** - * The height of the InteractionBox in millimeters, measured along the y-axis. - * - * @member height - * @type {number} - * @memberof Leap.InteractionBox.prototype - */ - this.height = data.size[1]; - /** - * The depth of the InteractionBox in millimeters, measured along the z-axis. - * - * @member depth - * @type {number} - * @memberof Leap.InteractionBox.prototype - */ - this.depth = data.size[2]; -} - -/** - * Converts a position defined by normalized InteractionBox coordinates - * into device coordinates in millimeters. - * - * This function performs the inverse of normalizePoint(). - * - * @method denormalizePoint - * @memberof Leap.InteractionBox.prototype - * @param {number[]} normalizedPosition The input position in InteractionBox coordinates. - * @returns {number[]} The corresponding denormalized position in device coordinates. - */ -InteractionBox.prototype.denormalizePoint = function(normalizedPosition) { - return vec3.fromValues( - (normalizedPosition[0] - 0.5) * this.size[0] + this.center[0], - (normalizedPosition[1] - 0.5) * this.size[1] + this.center[1], - (normalizedPosition[2] - 0.5) * this.size[2] + this.center[2] - ); -} - -/** - * Normalizes the coordinates of a point using the interaction box. - * - * Coordinates from the Leap Motion frame of reference (millimeters) are - * converted to a range of [0..1] such that the minimum value of the - * InteractionBox maps to 0 and the maximum value of the InteractionBox maps to 1. - * - * @method normalizePoint - * @memberof Leap.InteractionBox.prototype - * @param {number[]} position The input position in device coordinates. - * @param {Boolean} clamp Whether or not to limit the output value to the range [0,1] - * when the input position is outside the InteractionBox. Defaults to true. - * @returns {number[]} The normalized position. - */ -InteractionBox.prototype.normalizePoint = function(position, clamp) { - var vec = vec3.fromValues( - ((position[0] - this.center[0]) / this.size[0]) + 0.5, - ((position[1] - this.center[1]) / this.size[1]) + 0.5, - ((position[2] - this.center[2]) / this.size[2]) + 0.5 - ); - - if (clamp) { - vec[0] = Math.min(Math.max(vec[0], 0), 1); - vec[1] = Math.min(Math.max(vec[1], 0), 1); - vec[2] = Math.min(Math.max(vec[2], 0), 1); - } - return vec; -} - -/** - * Writes a brief, human readable description of the InteractionBox object. - * - * @method toString - * @memberof Leap.InteractionBox.prototype - * @returns {String} A description of the InteractionBox object as a string. - */ -InteractionBox.prototype.toString = function() { - return "InteractionBox [ width:" + this.width + " | height:" + this.height + " | depth:" + this.depth + " ]"; -} - -/** - * An invalid InteractionBox object. - * - * You can use this InteractionBox instance in comparisons testing - * whether a given InteractionBox instance is valid or invalid. (You can also use the - * InteractionBox.valid property.) - * - * @static - * @type {Leap.InteractionBox} - * @name Invalid - * @memberof Leap.InteractionBox - */ -InteractionBox.Invalid = { valid: false }; - -},{"gl-matrix":22}],12:[function(require,module,exports){ -var Pipeline = module.exports = function (controller) { - this.steps = []; - this.controller = controller; -} - -Pipeline.prototype.addStep = function (step) { - this.steps.push(step); -} - -Pipeline.prototype.run = function (frame) { - var stepsLength = this.steps.length; - for (var i = 0; i != stepsLength; i++) { - if (!frame) break; - frame = this.steps[i](frame); - } - return frame; -} - -Pipeline.prototype.removeStep = function(step){ - var index = this.steps.indexOf(step); - if (index === -1) throw "Step not found in pipeline"; - this.steps.splice(index, 1); -} - -/* - * Wraps a plugin callback method in method which can be run inside the pipeline. - * This wrapper method loops the callback over objects within the frame as is appropriate, - * calling the callback for each in turn. - * - * @method createStepFunction - * @memberOf Leap.Controller.prototype - * @param {Controller} The controller on which the callback is called. - * @param {String} type What frame object the callback is run for and receives. - * Can be one of 'frame', 'finger', 'hand', 'pointable', 'tool' - * @param {function} callback The method which will be run inside the pipeline loop. Receives one argument, such as a hand. - * @private - */ -Pipeline.prototype.addWrappedStep = function (type, callback) { - var controller = this.controller, - step = function (frame) { - var dependencies, i, len; - dependencies = (type == 'frame') ? [frame] : (frame[type + 's'] || []); - - for (i = 0, len = dependencies.length; i < len; i++) { - callback.call(controller, dependencies[i]); - } - - return frame; - }; - - this.addStep(step); - return step; -}; -},{}],13:[function(require,module,exports){ -var glMatrix = require("gl-matrix") - , vec3 = glMatrix.vec3; - -/** - * Constructs a Pointable object. - * - * An uninitialized pointable is considered invalid. - * Get valid Pointable objects from a Frame or a Hand object. - * - * @class Pointable - * @memberof Leap - * @classdesc - * The Pointable class reports the physical characteristics of a detected - * finger or tool. - * - * Both fingers and tools are classified as Pointable objects. Use the - * Pointable.tool property to determine whether a Pointable object represents a - * tool or finger. The Leap classifies a detected entity as a tool when it is - * thinner, straighter, and longer than a typical finger. - * - * Note that Pointable objects can be invalid, which means that they do not - * contain valid tracking data and do not correspond to a physical entity. - * Invalid Pointable objects can be the result of asking for a Pointable object - * using an ID from an earlier frame when no Pointable objects with that ID - * exist in the current frame. A Pointable object created from the Pointable - * constructor is also invalid. Test for validity with the Pointable.valid - * property. - */ -var Pointable = module.exports = function(data) { - /** - * Indicates whether this is a valid Pointable object. - * - * @member valid - * @type {Boolean} - * @memberof Leap.Pointable.prototype - */ - this.valid = true; - /** - * A unique ID assigned to this Pointable object, whose value remains the - * same across consecutive frames while the tracked finger or tool remains - * visible. If tracking is lost (for example, when a finger is occluded by - * another finger or when it is withdrawn from the Leap field of view), the - * Leap may assign a new ID when it detects the entity in a future frame. - * - * Use the ID value with the pointable() functions defined for the - * {@link Frame} and {@link Frame.Hand} classes to find this - * Pointable object in future frames. - * - * @member id - * @type {String} - * @memberof Leap.Pointable.prototype - */ - this.id = data.id; - this.handId = data.handId; - /** - * The estimated length of the finger or tool in millimeters. - * - * The reported length is the visible length of the finger or tool from the - * hand to tip. If the length isn't known, then a value of 0 is returned. - * - * @member length - * @type {number} - * @memberof Leap.Pointable.prototype - */ - this.length = data.length; - /** - * Whether or not the Pointable is believed to be a tool. - * Tools are generally longer, thinner, and straighter than fingers. - * - * If tool is false, then this Pointable must be a finger. - * - * @member tool - * @type {Boolean} - * @memberof Leap.Pointable.prototype - */ - this.tool = data.tool; - /** - * The estimated width of the tool in millimeters. - * - * The reported width is the average width of the visible portion of the - * tool from the hand to the tip. If the width isn't known, - * then a value of 0 is returned. - * - * Pointable objects representing fingers do not have a width property. - * - * @member width - * @type {number} - * @memberof Leap.Pointable.prototype - */ - this.width = data.width; - /** - * The direction in which this finger or tool is pointing. - * - * The direction is expressed as a unit vector pointing in the same - * direction as the tip. - * - * ![Finger](images/Leap_Finger_Model.png) - * @member direction - * @type {number[]} - * @memberof Leap.Pointable.prototype - */ - this.direction = data.direction; - /** - * The tip position in millimeters from the Leap origin. - * Stabilized - * - * @member stabilizedTipPosition - * @type {number[]} - * @memberof Leap.Pointable.prototype - */ - this.stabilizedTipPosition = data.stabilizedTipPosition; - /** - * The tip position in millimeters from the Leap origin. - * - * @member tipPosition - * @type {number[]} - * @memberof Leap.Pointable.prototype - */ - this.tipPosition = data.tipPosition; - /** - * The rate of change of the tip position in millimeters/second. - * - * @member tipVelocity - * @type {number[]} - * @memberof Leap.Pointable.prototype - */ - this.tipVelocity = data.tipVelocity; - /** - * The current touch zone of this Pointable object. - * - * The Leap Motion software computes the touch zone based on a floating touch - * plane that adapts to the user's finger movement and hand posture. The Leap - * Motion software interprets purposeful movements toward this plane as potential touch - * points. When a Pointable moves close to the adaptive touch plane, it enters the - * "hovering" zone. When a Pointable reaches or passes through the plane, it enters - * the "touching" zone. - * - * The possible states include: - * - * * "none" -- The Pointable is outside the hovering zone. - * * "hovering" -- The Pointable is close to, but not touching the touch plane. - * * "touching" -- The Pointable has penetrated the touch plane. - * - * The touchDistance value provides a normalized indication of the distance to - * the touch plane when the Pointable is in the hovering or touching zones. - * - * @member touchZone - * @type {String} - * @memberof Leap.Pointable.prototype - */ - this.touchZone = data.touchZone; - /** - * A value proportional to the distance between this Pointable object and the - * adaptive touch plane. - * - * ![Touch Distance](images/Leap_Touch_Plane.png) - * - * The touch distance is a value in the range [-1, 1]. The value 1.0 indicates the - * Pointable is at the far edge of the hovering zone. The value 0 indicates the - * Pointable is just entering the touching zone. A value of -1.0 indicates the - * Pointable is firmly within the touching zone. Values in between are - * proportional to the distance from the plane. Thus, the touchDistance of 0.5 - * indicates that the Pointable is halfway into the hovering zone. - * - * You can use the touchDistance value to modulate visual feedback given to the - * user as their fingers close in on a touch target, such as a button. - * - * @member touchDistance - * @type {number} - * @memberof Leap.Pointable.prototype - */ - this.touchDistance = data.touchDistance; - - /** - * How long the pointable has been visible in seconds. - * - * @member timeVisible - * @type {number} - * @memberof Leap.Pointable.prototype - */ - this.timeVisible = data.timeVisible; -} - -/** - * A string containing a brief, human readable description of the Pointable - * object. - * - * @method toString - * @memberof Leap.Pointable.prototype - * @returns {String} A description of the Pointable object as a string. - */ -Pointable.prototype.toString = function() { - return "Pointable [ id:" + this.id + " " + this.length + "mmx | width:" + this.width + "mm | direction:" + this.direction + ' ]'; -} - -/** - * Returns the hand which the pointable is attached to. - */ -Pointable.prototype.hand = function(){ - return this.frame.hand(this.handId); -} - -/** - * An invalid Pointable object. - * - * You can use this Pointable instance in comparisons testing - * whether a given Pointable instance is valid or invalid. (You can also use the - * Pointable.valid property.) - - * @static - * @type {Leap.Pointable} - * @name Invalid - * @memberof Leap.Pointable - */ -Pointable.Invalid = { valid: false }; - -},{"gl-matrix":22}],14:[function(require,module,exports){ -var Frame = require('./frame') - , Hand = require('./hand') - , Pointable = require('./pointable') - , Finger = require('./finger'); - -var Event = function(data) { - this.type = data.type; - this.state = data.state; -}; - -var chooseProtocol = exports.chooseProtocol = function(header) { - var protocol; - switch(header.version) { - case 1: - case 2: - case 3: - case 4: - case 5: - case 6: - protocol = JSONProtocol(header.version, function(data) { - return data.event ? new Event(data.event) : new Frame(data); - }); - protocol.sendBackground = function(connection, state) { - connection.send(protocol.encode({background: state})); - } - protocol.sendFocused = function(connection, state) { - connection.send(protocol.encode({focused: state})); - } - break; - default: - throw "unrecognized version"; - } - return protocol; -} - -var JSONProtocol = exports.JSONProtocol = function(version) { - var protocol = function(data) { - if (data.event) { - return new Event(data.event); - } else { - var frame = new Frame(data); - return frame; - } - }; - protocol.encode = function(message) { - return JSON.stringify(message); - } - protocol.version = version; - protocol.versionLong = 'Version ' + version; - protocol.type = 'protocol'; - return protocol; -}; - -},{"./finger":6,"./frame":7,"./hand":9,"./pointable":13}],15:[function(require,module,exports){ -exports.UI = { - Region: require("./ui/region"), - Cursor: require("./ui/cursor") -}; -},{"./ui/cursor":16,"./ui/region":17}],16:[function(require,module,exports){ -var Cursor = module.exports = function() { - return function(frame) { - var pointable = frame.pointables.sort(function(a, b) { return a.z - b.z })[0] - if (pointable && pointable.valid) { - frame.cursorPosition = pointable.tipPosition - } - return frame - } -} - -},{}],17:[function(require,module,exports){ -var EventEmitter = require('events').EventEmitter - , _ = require('underscore') - -var Region = module.exports = function(start, end) { - this.start = new Vector(start) - this.end = new Vector(end) - this.enteredFrame = null -} - -Region.prototype.hasPointables = function(frame) { - for (var i = 0; i != frame.pointables.length; i++) { - var position = frame.pointables[i].tipPosition - if (position.x >= this.start.x && position.x <= this.end.x && position.y >= this.start.y && position.y <= this.end.y && position.z >= this.start.z && position.z <= this.end.z) { - return true - } - } - return false -} - -Region.prototype.listener = function(opts) { - var region = this - if (opts && opts.nearThreshold) this.setupNearRegion(opts.nearThreshold) - return function(frame) { - return region.updatePosition(frame) - } -} - -Region.prototype.clipper = function() { - var region = this - return function(frame) { - region.updatePosition(frame) - return region.enteredFrame ? frame : null - } -} - -Region.prototype.setupNearRegion = function(distance) { - var nearRegion = this.nearRegion = new Region( - [this.start.x - distance, this.start.y - distance, this.start.z - distance], - [this.end.x + distance, this.end.y + distance, this.end.z + distance] - ) - var region = this - nearRegion.on("enter", function(frame) { - region.emit("near", frame) - }) - nearRegion.on("exit", function(frame) { - region.emit("far", frame) - }) - region.on('exit', function(frame) { - region.emit("near", frame) - }) -} - -Region.prototype.updatePosition = function(frame) { - if (this.nearRegion) this.nearRegion.updatePosition(frame) - if (this.hasPointables(frame) && this.enteredFrame == null) { - this.enteredFrame = frame - this.emit("enter", this.enteredFrame) - } else if (!this.hasPointables(frame) && this.enteredFrame != null) { - this.enteredFrame = null - this.emit("exit", this.enteredFrame) - } - return frame -} - -Region.prototype.normalize = function(position) { - return new Vector([ - (position.x - this.start.x) / (this.end.x - this.start.x), - (position.y - this.start.y) / (this.end.y - this.start.y), - (position.z - this.start.z) / (this.end.z - this.start.z) - ]) -} - -Region.prototype.mapToXY = function(position, width, height) { - var normalized = this.normalize(position) - var x = normalized.x, y = normalized.y - if (x > 1) x = 1 - else if (x < -1) x = -1 - if (y > 1) y = 1 - else if (y < -1) y = -1 - return [ - (x + 1) / 2 * width, - (1 - y) / 2 * height, - normalized.z - ] -} - -_.extend(Region.prototype, EventEmitter.prototype) -},{"events":20,"underscore":23}],18:[function(require,module,exports){ -module.exports = { - full: "0.4.3", - major: 0, - minor: 4, - dot: 3 -} -},{}],19:[function(require,module,exports){ - -},{}],20:[function(require,module,exports){ -var process=require("__browserify_process");if (!process.EventEmitter) process.EventEmitter = function () {}; - -var EventEmitter = exports.EventEmitter = process.EventEmitter; -var isArray = typeof Array.isArray === 'function' - ? Array.isArray - : function (xs) { - return Object.prototype.toString.call(xs) === '[object Array]' - } -; -function indexOf (xs, x) { - if (xs.indexOf) return xs.indexOf(x); - for (var i = 0; i < xs.length; i++) { - if (x === xs[i]) return i; - } - return -1; -} - -// By default EventEmitters will print a warning if more than -// 10 listeners are added to it. This is a useful default which -// helps finding memory leaks. -// -// Obviously not all Emitters should be limited to 10. This function allows -// that to be increased. Set to zero for unlimited. -var defaultMaxListeners = 10; -EventEmitter.prototype.setMaxListeners = function(n) { - if (!this._events) this._events = {}; - this._events.maxListeners = n; -}; - - -EventEmitter.prototype.emit = function(type) { - // If there is no 'error' event listener then throw. - if (type === 'error') { - if (!this._events || !this._events.error || - (isArray(this._events.error) && !this._events.error.length)) - { - if (arguments[1] instanceof Error) { - throw arguments[1]; // Unhandled 'error' event - } else { - throw new Error("Uncaught, unspecified 'error' event."); - } - return false; - } - } - - if (!this._events) return false; - var handler = this._events[type]; - if (!handler) return false; - - if (typeof handler == 'function') { - switch (arguments.length) { - // fast cases - case 1: - handler.call(this); - break; - case 2: - handler.call(this, arguments[1]); - break; - case 3: - handler.call(this, arguments[1], arguments[2]); - break; - // slower - default: - var args = Array.prototype.slice.call(arguments, 1); - handler.apply(this, args); - } - return true; - - } else if (isArray(handler)) { - var args = Array.prototype.slice.call(arguments, 1); - - var listeners = handler.slice(); - for (var i = 0, l = listeners.length; i < l; i++) { - listeners[i].apply(this, args); - } - return true; - - } else { - return false; - } -}; - -// EventEmitter is defined in src/node_events.cc -// EventEmitter.prototype.emit() is also defined there. -EventEmitter.prototype.addListener = function(type, listener) { - if ('function' !== typeof listener) { - throw new Error('addListener only takes instances of Function'); - } - - if (!this._events) this._events = {}; - - // To avoid recursion in the case that type == "newListeners"! Before - // adding it to the listeners, first emit "newListeners". - this.emit('newListener', type, listener); - - if (!this._events[type]) { - // Optimize the case of one listener. Don't need the extra array object. - this._events[type] = listener; - } else if (isArray(this._events[type])) { - - // Check for listener leak - if (!this._events[type].warned) { - var m; - if (this._events.maxListeners !== undefined) { - m = this._events.maxListeners; - } else { - m = defaultMaxListeners; - } - - if (m && m > 0 && this._events[type].length > m) { - this._events[type].warned = true; - console.error('(node) warning: possible EventEmitter memory ' + - 'leak detected. %d listeners added. ' + - 'Use emitter.setMaxListeners() to increase limit.', - this._events[type].length); - console.trace(); - } - } - - // If we've already got an array, just append. - this._events[type].push(listener); - } else { - // Adding the second element, need to change to array. - this._events[type] = [this._events[type], listener]; - } - - return this; -}; - -EventEmitter.prototype.on = EventEmitter.prototype.addListener; - -EventEmitter.prototype.once = function(type, listener) { - var self = this; - self.on(type, function g() { - self.removeListener(type, g); - listener.apply(this, arguments); - }); - - return this; -}; - -EventEmitter.prototype.removeListener = function(type, listener) { - if ('function' !== typeof listener) { - throw new Error('removeListener only takes instances of Function'); - } - - // does not use listeners(), so no side effect of creating _events[type] - if (!this._events || !this._events[type]) return this; - - var list = this._events[type]; - - if (isArray(list)) { - var i = indexOf(list, listener); - if (i < 0) return this; - list.splice(i, 1); - if (list.length == 0) - delete this._events[type]; - } else if (this._events[type] === listener) { - delete this._events[type]; - } - - return this; -}; - -EventEmitter.prototype.removeAllListeners = function(type) { - if (arguments.length === 0) { - this._events = {}; - return this; - } - - // does not use listeners(), so no side effect of creating _events[type] - if (type && this._events && this._events[type]) this._events[type] = null; - return this; -}; - -EventEmitter.prototype.listeners = function(type) { - if (!this._events) this._events = {}; - if (!this._events[type]) this._events[type] = []; - if (!isArray(this._events[type])) { - this._events[type] = [this._events[type]]; - } - return this._events[type]; -}; - -EventEmitter.listenerCount = function(emitter, type) { - var ret; - if (!emitter._events || !emitter._events[type]) - ret = 0; - else if (typeof emitter._events[type] === 'function') - ret = 1; - else - ret = emitter._events[type].length; - return ret; -}; - -},{"__browserify_process":21}],21:[function(require,module,exports){ -// shim for using process in browser - -var process = module.exports = {}; - -process.nextTick = (function () { - var canSetImmediate = typeof window !== 'undefined' - && window.setImmediate; - var canPost = typeof window !== 'undefined' - && window.postMessage && window.addEventListener - ; - - if (canSetImmediate) { - return function (f) { return window.setImmediate(f) }; - } - - if (canPost) { - var queue = []; - window.addEventListener('message', function (ev) { - if (ev.source === window && ev.data === 'process-tick') { - ev.stopPropagation(); - if (queue.length > 0) { - var fn = queue.shift(); - fn(); - } - } - }, true); - - return function nextTick(fn) { - queue.push(fn); - window.postMessage('process-tick', '*'); - }; - } - - return function nextTick(fn) { - setTimeout(fn, 0); - }; -})(); - -process.title = 'browser'; -process.browser = true; -process.env = {}; -process.argv = []; - -process.binding = function (name) { - throw new Error('process.binding is not supported'); -} - -// TODO(shtylman) -process.cwd = function () { return '/' }; -process.chdir = function (dir) { - throw new Error('process.chdir is not supported'); -}; - -},{}],22:[function(require,module,exports){ -/** - * @fileoverview gl-matrix - High performance matrix and vector operations - * @author Brandon Jones - * @author Colin MacKenzie IV - * @version 2.0.0 - */ - -/* Copyright (c) 2012, Brandon Jones, Colin MacKenzie IV. All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ - - -(function() { - "use strict"; - - var shim = {}; - if (typeof(exports) === 'undefined') { - if(typeof define == 'function' && typeof define.amd == 'object' && define.amd) { - shim.exports = {}; - define(function() { - return shim.exports; - }); - } else { - // gl-matrix lives in a browser, define its namespaces in global - shim.exports = window; - } - } - else { - // gl-matrix lives in commonjs, define its namespaces in exports - shim.exports = exports; - } - - (function(exports) { - /* Copyright (c) 2012, Brandon Jones, Colin MacKenzie IV. All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ - -/** - * @class 2 Dimensional Vector - * @name vec2 - */ - -var vec2 = {}; - -if(!GLMAT_EPSILON) { - var GLMAT_EPSILON = 0.000001; -} - -/** - * Creates a new, empty vec2 - * - * @returns {vec2} a new 2D vector - */ -vec2.create = function() { - return new Float32Array(2); -}; - -/** - * Creates a new vec2 initialized with values from an existing vector - * - * @param {vec2} a vector to clone - * @returns {vec2} a new 2D vector - */ -vec2.clone = function(a) { - var out = new Float32Array(2); - out[0] = a[0]; - out[1] = a[1]; - return out; -}; - -/** - * Creates a new vec2 initialized with the given values - * - * @param {Number} x X component - * @param {Number} y Y component - * @returns {vec2} a new 2D vector - */ -vec2.fromValues = function(x, y) { - var out = new Float32Array(2); - out[0] = x; - out[1] = y; - return out; -}; - -/** - * Copy the values from one vec2 to another - * - * @param {vec2} out the receiving vector - * @param {vec2} a the source vector - * @returns {vec2} out - */ -vec2.copy = function(out, a) { - out[0] = a[0]; - out[1] = a[1]; - return out; -}; - -/** - * Set the components of a vec2 to the given values - * - * @param {vec2} out the receiving vector - * @param {Number} x X component - * @param {Number} y Y component - * @returns {vec2} out - */ -vec2.set = function(out, x, y) { - out[0] = x; - out[1] = y; - return out; -}; - -/** - * Adds two vec2's - * - * @param {vec2} out the receiving vector - * @param {vec2} a the first operand - * @param {vec2} b the second operand - * @returns {vec2} out - */ -vec2.add = function(out, a, b) { - out[0] = a[0] + b[0]; - out[1] = a[1] + b[1]; - return out; -}; - -/** - * Subtracts two vec2's - * - * @param {vec2} out the receiving vector - * @param {vec2} a the first operand - * @param {vec2} b the second operand - * @returns {vec2} out - */ -vec2.sub = vec2.subtract = function(out, a, b) { - out[0] = a[0] - b[0]; - out[1] = a[1] - b[1]; - return out; -}; - -/** - * Multiplies two vec2's - * - * @param {vec2} out the receiving vector - * @param {vec2} a the first operand - * @param {vec2} b the second operand - * @returns {vec2} out - */ -vec2.mul = vec2.multiply = function(out, a, b) { - out[0] = a[0] * b[0]; - out[1] = a[1] * b[1]; - return out; -}; - -/** - * Divides two vec2's - * - * @param {vec2} out the receiving vector - * @param {vec2} a the first operand - * @param {vec2} b the second operand - * @returns {vec2} out - */ -vec2.div = vec2.divide = function(out, a, b) { - out[0] = a[0] / b[0]; - out[1] = a[1] / b[1]; - return out; -}; - -/** - * Returns the minimum of two vec2's - * - * @param {vec2} out the receiving vector - * @param {vec2} a the first operand - * @param {vec2} b the second operand - * @returns {vec2} out - */ -vec2.min = function(out, a, b) { - out[0] = Math.min(a[0], b[0]); - out[1] = Math.min(a[1], b[1]); - return out; -}; - -/** - * Returns the maximum of two vec2's - * - * @param {vec2} out the receiving vector - * @param {vec2} a the first operand - * @param {vec2} b the second operand - * @returns {vec2} out - */ -vec2.max = function(out, a, b) { - out[0] = Math.max(a[0], b[0]); - out[1] = Math.max(a[1], b[1]); - return out; -}; - -/** - * Scales a vec2 by a scalar number - * - * @param {vec2} out the receiving vector - * @param {vec2} a the vector to scale - * @param {vec2} b amount to scale the vector by - * @returns {vec2} out - */ -vec2.scale = function(out, a, b) { - out[0] = a[0] * b; - out[1] = a[1] * b; - return out; -}; - -/** - * Calculates the euclidian distance between two vec2's - * - * @param {vec2} a the first operand - * @param {vec2} b the second operand - * @returns {Number} distance between a and b - */ -vec2.dist = vec2.distance = function(a, b) { - var x = b[0] - a[0], - y = b[1] - a[1]; - return Math.sqrt(x*x + y*y); -}; - -/** - * Calculates the squared euclidian distance between two vec2's - * - * @param {vec2} a the first operand - * @param {vec2} b the second operand - * @returns {Number} squared distance between a and b - */ -vec2.sqrDist = vec2.squaredDistance = function(a, b) { - var x = b[0] - a[0], - y = b[1] - a[1]; - return x*x + y*y; -}; - -/** - * Caclulates the length of a vec2 - * - * @param {vec2} a vector to calculate length of - * @returns {Number} length of a - */ -vec2.len = vec2.length = function (a) { - var x = a[0], - y = a[1]; - return Math.sqrt(x*x + y*y); -}; - -/** - * Caclulates the squared length of a vec2 - * - * @param {vec2} a vector to calculate squared length of - * @returns {Number} squared length of a - */ -vec2.sqrLen = vec2.squaredLength = function (a) { - var x = a[0], - y = a[1]; - return x*x + y*y; -}; - -/** - * Negates the components of a vec2 - * - * @param {vec2} out the receiving vector - * @param {vec2} a vector to negate - * @returns {vec2} out - */ -vec2.negate = function(out, a) { - out[0] = -a[0]; - out[1] = -a[1]; - return out; -}; - -/** - * Normalize a vec2 - * - * @param {vec2} out the receiving vector - * @param {vec2} a vector to normalize - * @returns {vec2} out - */ -vec2.normalize = function(out, a) { - var x = a[0], - y = a[1]; - var len = x*x + y*y; - if (len > 0) { - //TODO: evaluate use of glm_invsqrt here? - len = 1 / Math.sqrt(len); - out[0] = a[0] * len; - out[1] = a[1] * len; - } - return out; -}; - -/** - * Caclulates the dot product of two vec2's - * - * @param {vec2} a the first operand - * @param {vec2} b the second operand - * @returns {Number} dot product of a and b - */ -vec2.dot = function (a, b) { - return a[0] * b[0] + a[1] * b[1]; -}; - -/** - * Computes the cross product of two vec2's - * Note that the cross product must by definition produce a 3D vector - * - * @param {vec3} out the receiving vector - * @param {vec2} a the first operand - * @param {vec2} b the second operand - * @returns {vec3} out - */ -vec2.cross = function(out, a, b) { - var z = a[0] * b[1] - a[1] * b[0]; - out[0] = out[1] = 0; - out[2] = z; - return out; -}; - -/** - * Performs a linear interpolation between two vec2's - * - * @param {vec3} out the receiving vector - * @param {vec2} a the first operand - * @param {vec2} b the second operand - * @param {Number} t interpolation amount between the two inputs - * @returns {vec2} out - */ -vec2.lerp = function (out, a, b, t) { - var ax = a[0], - ay = a[1]; - out[0] = ax + t * (b[0] - ax); - out[1] = ay + t * (b[1] - ay); - return out; -}; - -/** - * Transforms the vec2 with a mat2 - * - * @param {vec2} out the receiving vector - * @param {vec2} a the vector to transform - * @param {mat2} m matrix to transform with - * @returns {vec2} out - */ -vec2.transformMat2 = function(out, a, m) { - var x = a[0], - y = a[1]; - out[0] = x * m[0] + y * m[1]; - out[1] = x * m[2] + y * m[3]; - return out; -}; - -/** - * Perform some operation over an array of vec2s. - * - * @param {Array} a the array of vectors to iterate over - * @param {Number} stride Number of elements between the start of each vec2. If 0 assumes tightly packed - * @param {Number} offset Number of elements to skip at the beginning of the array - * @param {Number} count Number of vec2s to iterate over. If 0 iterates over entire array - * @param {Function} fn Function to call for each vector in the array - * @param {Object} [arg] additional argument to pass to fn - * @returns {Array} a - */ -vec2.forEach = (function() { - var vec = new Float32Array(2); - - return function(a, stride, offset, count, fn, arg) { - var i, l; - if(!stride) { - stride = 2; - } - - if(!offset) { - offset = 0; - } - - if(count) { - l = Math.min((count * stride) + offset, a.length); - } else { - l = a.length; - } - - for(i = offset; i < l; i += stride) { - vec[0] = a[i]; vec[1] = a[i+1]; - fn(vec, vec, arg); - a[i] = vec[0]; a[i+1] = vec[1]; - } - - return a; - }; -})(); - -/** - * Returns a string representation of a vector - * - * @param {vec2} vec vector to represent as a string - * @returns {String} string representation of the vector - */ -vec2.str = function (a) { - return 'vec2(' + a[0] + ', ' + a[1] + ')'; -}; - -if(typeof(exports) !== 'undefined') { - exports.vec2 = vec2; -} -; -/* Copyright (c) 2012, Brandon Jones, Colin MacKenzie IV. All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ - -/** - * @class 3 Dimensional Vector - * @name vec3 - */ - -var vec3 = {}; - -if(!GLMAT_EPSILON) { - var GLMAT_EPSILON = 0.000001; -} - -/** - * Creates a new, empty vec3 - * - * @returns {vec3} a new 3D vector - */ -vec3.create = function() { - return new Float32Array(3); -}; - -/** - * Creates a new vec3 initialized with values from an existing vector - * - * @param {vec3} a vector to clone - * @returns {vec3} a new 3D vector - */ -vec3.clone = function(a) { - var out = new Float32Array(3); - out[0] = a[0]; - out[1] = a[1]; - out[2] = a[2]; - return out; -}; - -/** - * Creates a new vec3 initialized with the given values - * - * @param {Number} x X component - * @param {Number} y Y component - * @param {Number} z Z component - * @returns {vec3} a new 3D vector - */ -vec3.fromValues = function(x, y, z) { - var out = new Float32Array(3); - out[0] = x; - out[1] = y; - out[2] = z; - return out; -}; - -/** - * Copy the values from one vec3 to another - * - * @param {vec3} out the receiving vector - * @param {vec3} a the source vector - * @returns {vec3} out - */ -vec3.copy = function(out, a) { - out[0] = a[0]; - out[1] = a[1]; - out[2] = a[2]; - return out; -}; - -/** - * Set the components of a vec3 to the given values - * - * @param {vec3} out the receiving vector - * @param {Number} x X component - * @param {Number} y Y component - * @param {Number} z Z component - * @returns {vec3} out - */ -vec3.set = function(out, x, y, z) { - out[0] = x; - out[1] = y; - out[2] = z; - return out; -}; - -/** - * Adds two vec3's - * - * @param {vec3} out the receiving vector - * @param {vec3} a the first operand - * @param {vec3} b the second operand - * @returns {vec3} out - */ -vec3.add = function(out, a, b) { - out[0] = a[0] + b[0]; - out[1] = a[1] + b[1]; - out[2] = a[2] + b[2]; - return out; -}; - -/** - * Subtracts two vec3's - * - * @param {vec3} out the receiving vector - * @param {vec3} a the first operand - * @param {vec3} b the second operand - * @returns {vec3} out - */ -vec3.sub = vec3.subtract = function(out, a, b) { - out[0] = a[0] - b[0]; - out[1] = a[1] - b[1]; - out[2] = a[2] - b[2]; - return out; -}; - -/** - * Multiplies two vec3's - * - * @param {vec3} out the receiving vector - * @param {vec3} a the first operand - * @param {vec3} b the second operand - * @returns {vec3} out - */ -vec3.mul = vec3.multiply = function(out, a, b) { - out[0] = a[0] * b[0]; - out[1] = a[1] * b[1]; - out[2] = a[2] * b[2]; - return out; -}; - -/** - * Divides two vec3's - * - * @param {vec3} out the receiving vector - * @param {vec3} a the first operand - * @param {vec3} b the second operand - * @returns {vec3} out - */ -vec3.div = vec3.divide = function(out, a, b) { - out[0] = a[0] / b[0]; - out[1] = a[1] / b[1]; - out[2] = a[2] / b[2]; - return out; -}; - -/** - * Returns the minimum of two vec3's - * - * @param {vec3} out the receiving vector - * @param {vec3} a the first operand - * @param {vec3} b the second operand - * @returns {vec3} out - */ -vec3.min = function(out, a, b) { - out[0] = Math.min(a[0], b[0]); - out[1] = Math.min(a[1], b[1]); - out[2] = Math.min(a[2], b[2]); - return out; -}; - -/** - * Returns the maximum of two vec3's - * - * @param {vec3} out the receiving vector - * @param {vec3} a the first operand - * @param {vec3} b the second operand - * @returns {vec3} out - */ -vec3.max = function(out, a, b) { - out[0] = Math.max(a[0], b[0]); - out[1] = Math.max(a[1], b[1]); - out[2] = Math.max(a[2], b[2]); - return out; -}; - -/** - * Scales a vec3 by a scalar number - * - * @param {vec3} out the receiving vector - * @param {vec3} a the vector to scale - * @param {vec3} b amount to scale the vector by - * @returns {vec3} out - */ -vec3.scale = function(out, a, b) { - out[0] = a[0] * b; - out[1] = a[1] * b; - out[2] = a[2] * b; - return out; -}; - -/** - * Calculates the euclidian distance between two vec3's - * - * @param {vec3} a the first operand - * @param {vec3} b the second operand - * @returns {Number} distance between a and b - */ -vec3.dist = vec3.distance = function(a, b) { - var x = b[0] - a[0], - y = b[1] - a[1], - z = b[2] - a[2]; - return Math.sqrt(x*x + y*y + z*z); -}; - -/** - * Calculates the squared euclidian distance between two vec3's - * - * @param {vec3} a the first operand - * @param {vec3} b the second operand - * @returns {Number} squared distance between a and b - */ -vec3.sqrDist = vec3.squaredDistance = function(a, b) { - var x = b[0] - a[0], - y = b[1] - a[1], - z = b[2] - a[2]; - return x*x + y*y + z*z; -}; - -/** - * Caclulates the length of a vec3 - * - * @param {vec3} a vector to calculate length of - * @returns {Number} length of a - */ -vec3.len = vec3.length = function (a) { - var x = a[0], - y = a[1], - z = a[2]; - return Math.sqrt(x*x + y*y + z*z); -}; - -/** - * Caclulates the squared length of a vec3 - * - * @param {vec3} a vector to calculate squared length of - * @returns {Number} squared length of a - */ -vec3.sqrLen = vec3.squaredLength = function (a) { - var x = a[0], - y = a[1], - z = a[2]; - return x*x + y*y + z*z; -}; - -/** - * Negates the components of a vec3 - * - * @param {vec3} out the receiving vector - * @param {vec3} a vector to negate - * @returns {vec3} out - */ -vec3.negate = function(out, a) { - out[0] = -a[0]; - out[1] = -a[1]; - out[2] = -a[2]; - return out; -}; - -/** - * Normalize a vec3 - * - * @param {vec3} out the receiving vector - * @param {vec3} a vector to normalize - * @returns {vec3} out - */ -vec3.normalize = function(out, a) { - var x = a[0], - y = a[1], - z = a[2]; - var len = x*x + y*y + z*z; - if (len > 0) { - //TODO: evaluate use of glm_invsqrt here? - len = 1 / Math.sqrt(len); - out[0] = a[0] * len; - out[1] = a[1] * len; - out[2] = a[2] * len; - } - return out; -}; - -/** - * Caclulates the dot product of two vec3's - * - * @param {vec3} a the first operand - * @param {vec3} b the second operand - * @returns {Number} dot product of a and b - */ -vec3.dot = function (a, b) { - return a[0] * b[0] + a[1] * b[1] + a[2] * b[2]; -}; - -/** - * Computes the cross product of two vec3's - * - * @param {vec3} out the receiving vector - * @param {vec3} a the first operand - * @param {vec3} b the second operand - * @returns {vec3} out - */ -vec3.cross = function(out, a, b) { - var ax = a[0], ay = a[1], az = a[2], - bx = b[0], by = b[1], bz = b[2]; - - out[0] = ay * bz - az * by; - out[1] = az * bx - ax * bz; - out[2] = ax * by - ay * bx; - return out; -}; - -/** - * Performs a linear interpolation between two vec3's - * - * @param {vec3} out the receiving vector - * @param {vec3} a the first operand - * @param {vec3} b the second operand - * @param {Number} t interpolation amount between the two inputs - * @returns {vec3} out - */ -vec3.lerp = function (out, a, b, t) { - var ax = a[0], - ay = a[1], - az = a[2]; - out[0] = ax + t * (b[0] - ax); - out[1] = ay + t * (b[1] - ay); - out[2] = az + t * (b[2] - az); - return out; -}; - -/** - * Transforms the vec3 with a mat4. - * 4th vector component is implicitly '1' - * - * @param {vec3} out the receiving vector - * @param {vec3} a the vector to transform - * @param {mat4} m matrix to transform with - * @returns {vec3} out - */ -vec3.transformMat4 = function(out, a, m) { - var x = a[0], y = a[1], z = a[2]; - out[0] = m[0] * x + m[4] * y + m[8] * z + m[12]; - out[1] = m[1] * x + m[5] * y + m[9] * z + m[13]; - out[2] = m[2] * x + m[6] * y + m[10] * z + m[14]; - return out; -}; - -/** - * Transforms the vec3 with a quat - * - * @param {vec3} out the receiving vector - * @param {vec3} a the vector to transform - * @param {quat} q quaternion to transform with - * @returns {vec3} out - */ -vec3.transformQuat = function(out, a, q) { - var x = a[0], y = a[1], z = a[2], - qx = q[0], qy = q[1], qz = q[2], qw = q[3], - - // calculate quat * vec - ix = qw * x + qy * z - qz * y, - iy = qw * y + qz * x - qx * z, - iz = qw * z + qx * y - qy * x, - iw = -qx * x - qy * y - qz * z; - - // calculate result * inverse quat - out[0] = ix * qw + iw * -qx + iy * -qz - iz * -qy; - out[1] = iy * qw + iw * -qy + iz * -qx - ix * -qz; - out[2] = iz * qw + iw * -qz + ix * -qy - iy * -qx; - return out; -}; - -/** - * Perform some operation over an array of vec3s. - * - * @param {Array} a the array of vectors to iterate over - * @param {Number} stride Number of elements between the start of each vec3. If 0 assumes tightly packed - * @param {Number} offset Number of elements to skip at the beginning of the array - * @param {Number} count Number of vec3s to iterate over. If 0 iterates over entire array - * @param {Function} fn Function to call for each vector in the array - * @param {Object} [arg] additional argument to pass to fn - * @returns {Array} a - */ -vec3.forEach = (function() { - var vec = new Float32Array(3); - - return function(a, stride, offset, count, fn, arg) { - var i, l; - if(!stride) { - stride = 3; - } - - if(!offset) { - offset = 0; - } - - if(count) { - l = Math.min((count * stride) + offset, a.length); - } else { - l = a.length; - } - - for(i = offset; i < l; i += stride) { - vec[0] = a[i]; vec[1] = a[i+1]; vec[2] = a[i+2]; - fn(vec, vec, arg); - a[i] = vec[0]; a[i+1] = vec[1]; a[i+2] = vec[2]; - } - - return a; - }; -})(); - -/** - * Returns a string representation of a vector - * - * @param {vec3} vec vector to represent as a string - * @returns {String} string representation of the vector - */ -vec3.str = function (a) { - return 'vec3(' + a[0] + ', ' + a[1] + ', ' + a[2] + ')'; -}; - -if(typeof(exports) !== 'undefined') { - exports.vec3 = vec3; -} -; -/* Copyright (c) 2012, Brandon Jones, Colin MacKenzie IV. All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ - -/** - * @class 4 Dimensional Vector - * @name vec4 - */ - -var vec4 = {}; - -if(!GLMAT_EPSILON) { - var GLMAT_EPSILON = 0.000001; -} - -/** - * Creates a new, empty vec4 - * - * @returns {vec4} a new 4D vector - */ -vec4.create = function() { - return new Float32Array(4); -}; - -/** - * Creates a new vec4 initialized with values from an existing vector - * - * @param {vec4} a vector to clone - * @returns {vec4} a new 4D vector - */ -vec4.clone = function(a) { - var out = new Float32Array(4); - out[0] = a[0]; - out[1] = a[1]; - out[2] = a[2]; - out[3] = a[3]; - return out; -}; - -/** - * Creates a new vec4 initialized with the given values - * - * @param {Number} x X component - * @param {Number} y Y component - * @param {Number} z Z component - * @param {Number} w W component - * @returns {vec4} a new 4D vector - */ -vec4.fromValues = function(x, y, z, w) { - var out = new Float32Array(4); - out[0] = x; - out[1] = y; - out[2] = z; - out[3] = w; - return out; -}; - -/** - * Copy the values from one vec4 to another - * - * @param {vec4} out the receiving vector - * @param {vec4} a the source vector - * @returns {vec4} out - */ -vec4.copy = function(out, a) { - out[0] = a[0]; - out[1] = a[1]; - out[2] = a[2]; - out[3] = a[3]; - return out; -}; - -/** - * Set the components of a vec4 to the given values - * - * @param {vec4} out the receiving vector - * @param {Number} x X component - * @param {Number} y Y component - * @param {Number} z Z component - * @param {Number} w W component - * @returns {vec4} out - */ -vec4.set = function(out, x, y, z, w) { - out[0] = x; - out[1] = y; - out[2] = z; - out[3] = w; - return out; -}; - -/** - * Adds two vec4's - * - * @param {vec4} out the receiving vector - * @param {vec4} a the first operand - * @param {vec4} b the second operand - * @returns {vec4} out - */ -vec4.add = function(out, a, b) { - out[0] = a[0] + b[0]; - out[1] = a[1] + b[1]; - out[2] = a[2] + b[2]; - out[3] = a[3] + b[3]; - return out; -}; - -/** - * Subtracts two vec4's - * - * @param {vec4} out the receiving vector - * @param {vec4} a the first operand - * @param {vec4} b the second operand - * @returns {vec4} out - */ -vec4.sub = vec4.subtract = function(out, a, b) { - out[0] = a[0] - b[0]; - out[1] = a[1] - b[1]; - out[2] = a[2] - b[2]; - out[3] = a[3] - b[3]; - return out; -}; - -/** - * Multiplies two vec4's - * - * @param {vec4} out the receiving vector - * @param {vec4} a the first operand - * @param {vec4} b the second operand - * @returns {vec4} out - */ -vec4.mul = vec4.multiply = function(out, a, b) { - out[0] = a[0] * b[0]; - out[1] = a[1] * b[1]; - out[2] = a[2] * b[2]; - out[3] = a[3] * b[3]; - return out; -}; - -/** - * Divides two vec4's - * - * @param {vec4} out the receiving vector - * @param {vec4} a the first operand - * @param {vec4} b the second operand - * @returns {vec4} out - */ -vec4.div = vec4.divide = function(out, a, b) { - out[0] = a[0] / b[0]; - out[1] = a[1] / b[1]; - out[2] = a[2] / b[2]; - out[3] = a[3] / b[3]; - return out; -}; - -/** - * Returns the minimum of two vec4's - * - * @param {vec4} out the receiving vector - * @param {vec4} a the first operand - * @param {vec4} b the second operand - * @returns {vec4} out - */ -vec4.min = function(out, a, b) { - out[0] = Math.min(a[0], b[0]); - out[1] = Math.min(a[1], b[1]); - out[2] = Math.min(a[2], b[2]); - out[3] = Math.min(a[3], b[3]); - return out; -}; - -/** - * Returns the maximum of two vec4's - * - * @param {vec4} out the receiving vector - * @param {vec4} a the first operand - * @param {vec4} b the second operand - * @returns {vec4} out - */ -vec4.max = function(out, a, b) { - out[0] = Math.max(a[0], b[0]); - out[1] = Math.max(a[1], b[1]); - out[2] = Math.max(a[2], b[2]); - out[3] = Math.max(a[3], b[3]); - return out; -}; - -/** - * Scales a vec4 by a scalar number - * - * @param {vec4} out the receiving vector - * @param {vec4} a the vector to scale - * @param {vec4} b amount to scale the vector by - * @returns {vec4} out - */ -vec4.scale = function(out, a, b) { - out[0] = a[0] * b; - out[1] = a[1] * b; - out[2] = a[2] * b; - out[3] = a[3] * b; - return out; -}; - -/** - * Calculates the euclidian distance between two vec4's - * - * @param {vec4} a the first operand - * @param {vec4} b the second operand - * @returns {Number} distance between a and b - */ -vec4.dist = vec4.distance = function(a, b) { - var x = b[0] - a[0], - y = b[1] - a[1], - z = b[2] - a[2], - w = b[3] - a[3]; - return Math.sqrt(x*x + y*y + z*z + w*w); -}; - -/** - * Calculates the squared euclidian distance between two vec4's - * - * @param {vec4} a the first operand - * @param {vec4} b the second operand - * @returns {Number} squared distance between a and b - */ -vec4.sqrDist = vec4.squaredDistance = function(a, b) { - var x = b[0] - a[0], - y = b[1] - a[1], - z = b[2] - a[2], - w = b[3] - a[3]; - return x*x + y*y + z*z + w*w; -}; - -/** - * Caclulates the length of a vec4 - * - * @param {vec4} a vector to calculate length of - * @returns {Number} length of a - */ -vec4.len = vec4.length = function (a) { - var x = a[0], - y = a[1], - z = a[2], - w = a[3]; - return Math.sqrt(x*x + y*y + z*z + w*w); -}; - -/** - * Caclulates the squared length of a vec4 - * - * @param {vec4} a vector to calculate squared length of - * @returns {Number} squared length of a - */ -vec4.sqrLen = vec4.squaredLength = function (a) { - var x = a[0], - y = a[1], - z = a[2], - w = a[3]; - return x*x + y*y + z*z + w*w; -}; - -/** - * Negates the components of a vec4 - * - * @param {vec4} out the receiving vector - * @param {vec4} a vector to negate - * @returns {vec4} out - */ -vec4.negate = function(out, a) { - out[0] = -a[0]; - out[1] = -a[1]; - out[2] = -a[2]; - out[3] = -a[3]; - return out; -}; - -/** - * Normalize a vec4 - * - * @param {vec4} out the receiving vector - * @param {vec4} a vector to normalize - * @returns {vec4} out - */ -vec4.normalize = function(out, a) { - var x = a[0], - y = a[1], - z = a[2], - w = a[3]; - var len = x*x + y*y + z*z + w*w; - if (len > 0) { - len = 1 / Math.sqrt(len); - out[0] = a[0] * len; - out[1] = a[1] * len; - out[2] = a[2] * len; - out[3] = a[3] * len; - } - return out; -}; - -/** - * Caclulates the dot product of two vec4's - * - * @param {vec4} a the first operand - * @param {vec4} b the second operand - * @returns {Number} dot product of a and b - */ -vec4.dot = function (a, b) { - return a[0] * b[0] + a[1] * b[1] + a[2] * b[2] + a[3] * b[3]; -}; - -/** - * Performs a linear interpolation between two vec4's - * - * @param {vec4} out the receiving vector - * @param {vec4} a the first operand - * @param {vec4} b the second operand - * @param {Number} t interpolation amount between the two inputs - * @returns {vec4} out - */ -vec4.lerp = function (out, a, b, t) { - var ax = a[0], - ay = a[1], - az = a[2], - aw = a[3]; - out[0] = ax + t * (b[0] - ax); - out[1] = ay + t * (b[1] - ay); - out[2] = az + t * (b[2] - az); - out[3] = aw + t * (b[3] - aw); - return out; -}; - -/** - * Transforms the vec4 with a mat4. - * - * @param {vec4} out the receiving vector - * @param {vec4} a the vector to transform - * @param {mat4} m matrix to transform with - * @returns {vec4} out - */ -vec4.transformMat4 = function(out, a, m) { - var x = a[0], y = a[1], z = a[2], w = a[3]; - out[0] = m[0] * x + m[4] * y + m[8] * z + m[12] * w; - out[1] = m[1] * x + m[5] * y + m[9] * z + m[13] * w; - out[2] = m[2] * x + m[6] * y + m[10] * z + m[14] * w; - out[3] = m[3] * x + m[7] * y + m[11] * z + m[15] * w; - return out; -}; - -/** - * Transforms the vec4 with a quat - * - * @param {vec4} out the receiving vector - * @param {vec4} a the vector to transform - * @param {quat} q quaternion to transform with - * @returns {vec4} out - */ -vec4.transformQuat = function(out, a, q) { - var x = a[0], y = a[1], z = a[2], - qx = q[0], qy = q[1], qz = q[2], qw = q[3], - - // calculate quat * vec - ix = qw * x + qy * z - qz * y, - iy = qw * y + qz * x - qx * z, - iz = qw * z + qx * y - qy * x, - iw = -qx * x - qy * y - qz * z; - - // calculate result * inverse quat - out[0] = ix * qw + iw * -qx + iy * -qz - iz * -qy; - out[1] = iy * qw + iw * -qy + iz * -qx - ix * -qz; - out[2] = iz * qw + iw * -qz + ix * -qy - iy * -qx; - return out; -}; - -/** - * Perform some operation over an array of vec4s. - * - * @param {Array} a the array of vectors to iterate over - * @param {Number} stride Number of elements between the start of each vec4. If 0 assumes tightly packed - * @param {Number} offset Number of elements to skip at the beginning of the array - * @param {Number} count Number of vec2s to iterate over. If 0 iterates over entire array - * @param {Function} fn Function to call for each vector in the array - * @param {Object} [arg] additional argument to pass to fn - * @returns {Array} a - */ -vec4.forEach = (function() { - var vec = new Float32Array(4); - - return function(a, stride, offset, count, fn, arg) { - var i, l; - if(!stride) { - stride = 4; - } - - if(!offset) { - offset = 0; - } - - if(count) { - l = Math.min((count * stride) + offset, a.length); - } else { - l = a.length; - } - - for(i = offset; i < l; i += stride) { - vec[0] = a[i]; vec[1] = a[i+1]; vec[2] = a[i+2]; vec[3] = a[i+3]; - fn(vec, vec, arg); - a[i] = vec[0]; a[i+1] = vec[1]; a[i+2] = vec[2]; a[i+3] = vec[3]; - } - - return a; - }; -})(); - -/** - * Returns a string representation of a vector - * - * @param {vec4} vec vector to represent as a string - * @returns {String} string representation of the vector - */ -vec4.str = function (a) { - return 'vec4(' + a[0] + ', ' + a[1] + ', ' + a[2] + ', ' + a[3] + ')'; -}; - -if(typeof(exports) !== 'undefined') { - exports.vec4 = vec4; -} -; -/* Copyright (c) 2012, Brandon Jones, Colin MacKenzie IV. All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ - -/** - * @class 2x2 Matrix - * @name mat2 - */ - -var mat2 = {}; - -var mat2Identity = new Float32Array([ - 1, 0, - 0, 1 -]); - -if(!GLMAT_EPSILON) { - var GLMAT_EPSILON = 0.000001; -} - -/** - * Creates a new identity mat2 - * - * @returns {mat2} a new 2x2 matrix - */ -mat2.create = function() { - return new Float32Array(mat2Identity); -}; - -/** - * Creates a new mat2 initialized with values from an existing matrix - * - * @param {mat2} a matrix to clone - * @returns {mat2} a new 2x2 matrix - */ -mat2.clone = function(a) { - var out = new Float32Array(4); - out[0] = a[0]; - out[1] = a[1]; - out[2] = a[2]; - out[3] = a[3]; - return out; -}; - -/** - * Copy the values from one mat2 to another - * - * @param {mat2} out the receiving matrix - * @param {mat2} a the source matrix - * @returns {mat2} out - */ -mat2.copy = function(out, a) { - out[0] = a[0]; - out[1] = a[1]; - out[2] = a[2]; - out[3] = a[3]; - return out; -}; - -/** - * Set a mat2 to the identity matrix - * - * @param {mat2} out the receiving matrix - * @returns {mat2} out - */ -mat2.identity = function(out) { - out[0] = 1; - out[1] = 0; - out[2] = 0; - out[3] = 1; - return out; -}; - -/** - * Transpose the values of a mat2 - * - * @param {mat2} out the receiving matrix - * @param {mat2} a the source matrix - * @returns {mat2} out - */ -mat2.transpose = function(out, a) { - // If we are transposing ourselves we can skip a few steps but have to cache some values - if (out === a) { - var a1 = a[1]; - out[1] = a[2]; - out[2] = a1; - } else { - out[0] = a[0]; - out[1] = a[2]; - out[2] = a[1]; - out[3] = a[3]; - } - - return out; -}; - -/** - * Inverts a mat2 - * - * @param {mat2} out the receiving matrix - * @param {mat2} a the source matrix - * @returns {mat2} out - */ -mat2.invert = function(out, a) { - var a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3], - - // Calculate the determinant - det = a0 * a3 - a2 * a1; - - if (!det) { - return null; - } - det = 1.0 / det; - - out[0] = a3 * det; - out[1] = -a1 * det; - out[2] = -a2 * det; - out[3] = a0 * det; - - return out; -}; - -/** - * Caclulates the adjugate of a mat2 - * - * @param {mat2} out the receiving matrix - * @param {mat2} a the source matrix - * @returns {mat2} out - */ -mat2.adjoint = function(out, a) { - // Caching this value is nessecary if out == a - var a0 = a[0]; - out[0] = a[3]; - out[1] = -a[1]; - out[2] = -a[2]; - out[3] = a0; - - return out; -}; - -/** - * Calculates the determinant of a mat2 - * - * @param {mat2} a the source matrix - * @returns {Number} determinant of a - */ -mat2.determinant = function (a) { - return a[0] * a[3] - a[2] * a[1]; -}; - -/** - * Multiplies two mat2's - * - * @param {mat2} out the receiving matrix - * @param {mat2} a the first operand - * @param {mat2} b the second operand - * @returns {mat2} out - */ -mat2.mul = mat2.multiply = function (out, a, b) { - var a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3]; - var b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3]; - out[0] = a0 * b0 + a1 * b2; - out[1] = a0 * b1 + a1 * b3; - out[2] = a2 * b0 + a3 * b2; - out[3] = a2 * b1 + a3 * b3; - return out; -}; - -/** - * Rotates a mat2 by the given angle - * - * @param {mat2} out the receiving matrix - * @param {mat2} a the matrix to rotate - * @param {mat2} rad the angle to rotate the matrix by - * @returns {mat2} out - */ -mat2.rotate = function (out, a, rad) { - var a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3], - s = Math.sin(rad), - c = Math.cos(rad); - out[0] = a0 * c + a1 * s; - out[1] = a0 * -s + a1 * c; - out[2] = a2 * c + a3 * s; - out[3] = a2 * -s + a3 * c; - return out; -}; - -/** - * Scales the mat2 by the dimensions in the given vec2 - * - * @param {mat2} out the receiving matrix - * @param {mat2} a the matrix to rotate - * @param {mat2} v the vec2 to scale the matrix by - * @returns {mat2} out - **/ -mat2.scale = function(out, a, v) { - var a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3], - v0 = v[0], v1 = v[1]; - out[0] = a0 * v0; - out[1] = a1 * v1; - out[2] = a2 * v0; - out[3] = a3 * v1; - return out; -}; - -/** - * Returns a string representation of a mat2 - * - * @param {mat2} mat matrix to represent as a string - * @returns {String} string representation of the matrix - */ -mat2.str = function (a) { - return 'mat2(' + a[0] + ', ' + a[1] + ', ' + a[2] + ', ' + a[3] + ')'; -}; - -if(typeof(exports) !== 'undefined') { - exports.mat2 = mat2; -} -; -/* Copyright (c) 2012, Brandon Jones, Colin MacKenzie IV. All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ - -/** - * @class 3x3 Matrix - * @name mat3 - */ - -var mat3 = {}; - -var mat3Identity = new Float32Array([ - 1, 0, 0, - 0, 1, 0, - 0, 0, 1 -]); - -if(!GLMAT_EPSILON) { - var GLMAT_EPSILON = 0.000001; -} - -/** - * Creates a new identity mat3 - * - * @returns {mat3} a new 3x3 matrix - */ -mat3.create = function() { - return new Float32Array(mat3Identity); -}; - -/** - * Creates a new mat3 initialized with values from an existing matrix - * - * @param {mat3} a matrix to clone - * @returns {mat3} a new 3x3 matrix - */ -mat3.clone = function(a) { - var out = new Float32Array(9); - out[0] = a[0]; - out[1] = a[1]; - out[2] = a[2]; - out[3] = a[3]; - out[4] = a[4]; - out[5] = a[5]; - out[6] = a[6]; - out[7] = a[7]; - out[8] = a[8]; - return out; -}; - -/** - * Copy the values from one mat3 to another - * - * @param {mat3} out the receiving matrix - * @param {mat3} a the source matrix - * @returns {mat3} out - */ -mat3.copy = function(out, a) { - out[0] = a[0]; - out[1] = a[1]; - out[2] = a[2]; - out[3] = a[3]; - out[4] = a[4]; - out[5] = a[5]; - out[6] = a[6]; - out[7] = a[7]; - out[8] = a[8]; - return out; -}; - -/** - * Set a mat3 to the identity matrix - * - * @param {mat3} out the receiving matrix - * @returns {mat3} out - */ -mat3.identity = function(out) { - out[0] = 1; - out[1] = 0; - out[2] = 0; - out[3] = 0; - out[4] = 1; - out[5] = 0; - out[6] = 0; - out[7] = 0; - out[8] = 1; - return out; -}; - -/** - * Transpose the values of a mat3 - * - * @param {mat3} out the receiving matrix - * @param {mat3} a the source matrix - * @returns {mat3} out - */ -mat3.transpose = function(out, a) { - // If we are transposing ourselves we can skip a few steps but have to cache some values - if (out === a) { - var a01 = a[1], a02 = a[2], a12 = a[5]; - out[1] = a[3]; - out[2] = a[6]; - out[3] = a01; - out[5] = a[7]; - out[6] = a02; - out[7] = a12; - } else { - out[0] = a[0]; - out[1] = a[3]; - out[2] = a[6]; - out[3] = a[1]; - out[4] = a[4]; - out[5] = a[7]; - out[6] = a[2]; - out[7] = a[5]; - out[8] = a[8]; - } - - return out; -}; - -/** - * Inverts a mat3 - * - * @param {mat3} out the receiving matrix - * @param {mat3} a the source matrix - * @returns {mat3} out - */ -mat3.invert = function(out, a) { - var a00 = a[0], a01 = a[1], a02 = a[2], - a10 = a[3], a11 = a[4], a12 = a[5], - a20 = a[6], a21 = a[7], a22 = a[8], - - b01 = a22 * a11 - a12 * a21, - b11 = -a22 * a10 + a12 * a20, - b21 = a21 * a10 - a11 * a20, - - // Calculate the determinant - det = a00 * b01 + a01 * b11 + a02 * b21; - - if (!det) { - return null; - } - det = 1.0 / det; - - out[0] = b01 * det; - out[1] = (-a22 * a01 + a02 * a21) * det; - out[2] = (a12 * a01 - a02 * a11) * det; - out[3] = b11 * det; - out[4] = (a22 * a00 - a02 * a20) * det; - out[5] = (-a12 * a00 + a02 * a10) * det; - out[6] = b21 * det; - out[7] = (-a21 * a00 + a01 * a20) * det; - out[8] = (a11 * a00 - a01 * a10) * det; - return out; -}; - -/** - * Caclulates the adjugate of a mat3 - * - * @param {mat3} out the receiving matrix - * @param {mat3} a the source matrix - * @returns {mat3} out - */ -mat3.adjoint = function(out, a) { - var a00 = a[0], a01 = a[1], a02 = a[2], - a10 = a[3], a11 = a[4], a12 = a[5], - a20 = a[6], a21 = a[7], a22 = a[8]; - - out[0] = (a11 * a22 - a12 * a21); - out[1] = (a02 * a21 - a01 * a22); - out[2] = (a01 * a12 - a02 * a11); - out[3] = (a12 * a20 - a10 * a22); - out[4] = (a00 * a22 - a02 * a20); - out[5] = (a02 * a10 - a00 * a12); - out[6] = (a10 * a21 - a11 * a20); - out[7] = (a01 * a20 - a00 * a21); - out[8] = (a00 * a11 - a01 * a10); - return out; -}; - -/** - * Calculates the determinant of a mat3 - * - * @param {mat3} a the source matrix - * @returns {Number} determinant of a - */ -mat3.determinant = function (a) { - var a00 = a[0], a01 = a[1], a02 = a[2], - a10 = a[3], a11 = a[4], a12 = a[5], - a20 = a[6], a21 = a[7], a22 = a[8]; - - return a00 * (a22 * a11 - a12 * a21) + a01 * (-a22 * a10 + a12 * a20) + a02 * (a21 * a10 - a11 * a20); -}; - -/** - * Multiplies two mat3's - * - * @param {mat3} out the receiving matrix - * @param {mat3} a the first operand - * @param {mat3} b the second operand - * @returns {mat3} out - */ -mat3.mul = mat3.multiply = function (out, a, b) { - var a00 = a[0], a01 = a[1], a02 = a[2], - a10 = a[3], a11 = a[4], a12 = a[5], - a20 = a[6], a21 = a[7], a22 = a[8], - - b00 = b[0], b01 = b[1], b02 = b[2], - b10 = b[3], b11 = b[4], b12 = b[5], - b20 = b[6], b21 = b[7], b22 = b[8]; - - out[0] = b00 * a00 + b01 * a10 + b02 * a20; - out[1] = b00 * a01 + b01 * a11 + b02 * a21; - out[2] = b00 * a02 + b01 * a12 + b02 * a22; - - out[3] = b10 * a00 + b11 * a10 + b12 * a20; - out[4] = b10 * a01 + b11 * a11 + b12 * a21; - out[5] = b10 * a02 + b11 * a12 + b12 * a22; - - out[6] = b20 * a00 + b21 * a10 + b22 * a20; - out[7] = b20 * a01 + b21 * a11 + b22 * a21; - out[8] = b20 * a02 + b21 * a12 + b22 * a22; - return out; -}; - -/** - * Returns a string representation of a mat3 - * - * @param {mat3} mat matrix to represent as a string - * @returns {String} string representation of the matrix - */ -mat3.str = function (a) { - return 'mat3(' + a[0] + ', ' + a[1] + ', ' + a[2] + ', ' + - a[3] + ', ' + a[4] + ', ' + a[5] + ', ' + - a[6] + ', ' + a[7] + ', ' + a[8] + ')'; -}; - -if(typeof(exports) !== 'undefined') { - exports.mat3 = mat3; -} -; -/* Copyright (c) 2012, Brandon Jones, Colin MacKenzie IV. All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ - -/** - * @class 4x4 Matrix - * @name mat4 - */ - -var mat4 = {}; - -var mat4Identity = new Float32Array([ - 1, 0, 0, 0, - 0, 1, 0, 0, - 0, 0, 1, 0, - 0, 0, 0, 1 -]); - -if(!GLMAT_EPSILON) { - var GLMAT_EPSILON = 0.000001; -} - -/** - * Creates a new identity mat4 - * - * @returns {mat4} a new 4x4 matrix - */ -mat4.create = function() { - return new Float32Array(mat4Identity); -}; - -/** - * Creates a new mat4 initialized with values from an existing matrix - * - * @param {mat4} a matrix to clone - * @returns {mat4} a new 4x4 matrix - */ -mat4.clone = function(a) { - var out = new Float32Array(16); - out[0] = a[0]; - out[1] = a[1]; - out[2] = a[2]; - out[3] = a[3]; - out[4] = a[4]; - out[5] = a[5]; - out[6] = a[6]; - out[7] = a[7]; - out[8] = a[8]; - out[9] = a[9]; - out[10] = a[10]; - out[11] = a[11]; - out[12] = a[12]; - out[13] = a[13]; - out[14] = a[14]; - out[15] = a[15]; - return out; -}; - -/** - * Copy the values from one mat4 to another - * - * @param {mat4} out the receiving matrix - * @param {mat4} a the source matrix - * @returns {mat4} out - */ -mat4.copy = function(out, a) { - out[0] = a[0]; - out[1] = a[1]; - out[2] = a[2]; - out[3] = a[3]; - out[4] = a[4]; - out[5] = a[5]; - out[6] = a[6]; - out[7] = a[7]; - out[8] = a[8]; - out[9] = a[9]; - out[10] = a[10]; - out[11] = a[11]; - out[12] = a[12]; - out[13] = a[13]; - out[14] = a[14]; - out[15] = a[15]; - return out; -}; - -/** - * Set a mat4 to the identity matrix - * - * @param {mat4} out the receiving matrix - * @returns {mat4} out - */ -mat4.identity = function(out) { - out[0] = 1; - out[1] = 0; - out[2] = 0; - out[3] = 0; - out[4] = 0; - out[5] = 1; - out[6] = 0; - out[7] = 0; - out[8] = 0; - out[9] = 0; - out[10] = 1; - out[11] = 0; - out[12] = 0; - out[13] = 0; - out[14] = 0; - out[15] = 1; - return out; -}; - -/** - * Transpose the values of a mat4 - * - * @param {mat4} out the receiving matrix - * @param {mat4} a the source matrix - * @returns {mat4} out - */ -mat4.transpose = function(out, a) { - // If we are transposing ourselves we can skip a few steps but have to cache some values - if (out === a) { - var a01 = a[1], a02 = a[2], a03 = a[3], - a12 = a[6], a13 = a[7], - a23 = a[11]; - - out[1] = a[4]; - out[2] = a[8]; - out[3] = a[12]; - out[4] = a01; - out[6] = a[9]; - out[7] = a[13]; - out[8] = a02; - out[9] = a12; - out[11] = a[14]; - out[12] = a03; - out[13] = a13; - out[14] = a23; - } else { - out[0] = a[0]; - out[1] = a[4]; - out[2] = a[8]; - out[3] = a[12]; - out[4] = a[1]; - out[5] = a[5]; - out[6] = a[9]; - out[7] = a[13]; - out[8] = a[2]; - out[9] = a[6]; - out[10] = a[10]; - out[11] = a[14]; - out[12] = a[3]; - out[13] = a[7]; - out[14] = a[11]; - out[15] = a[15]; - } - - return out; -}; - -/** - * Inverts a mat4 - * - * @param {mat4} out the receiving matrix - * @param {mat4} a the source matrix - * @returns {mat4} out - */ -mat4.invert = function(out, a) { - var a00 = a[0], a01 = a[1], a02 = a[2], a03 = a[3], - a10 = a[4], a11 = a[5], a12 = a[6], a13 = a[7], - a20 = a[8], a21 = a[9], a22 = a[10], a23 = a[11], - a30 = a[12], a31 = a[13], a32 = a[14], a33 = a[15], - - b00 = a00 * a11 - a01 * a10, - b01 = a00 * a12 - a02 * a10, - b02 = a00 * a13 - a03 * a10, - b03 = a01 * a12 - a02 * a11, - b04 = a01 * a13 - a03 * a11, - b05 = a02 * a13 - a03 * a12, - b06 = a20 * a31 - a21 * a30, - b07 = a20 * a32 - a22 * a30, - b08 = a20 * a33 - a23 * a30, - b09 = a21 * a32 - a22 * a31, - b10 = a21 * a33 - a23 * a31, - b11 = a22 * a33 - a23 * a32, - - // Calculate the determinant - det = b00 * b11 - b01 * b10 + b02 * b09 + b03 * b08 - b04 * b07 + b05 * b06; - - if (!det) { - return null; - } - det = 1.0 / det; - - out[0] = (a11 * b11 - a12 * b10 + a13 * b09) * det; - out[1] = (a02 * b10 - a01 * b11 - a03 * b09) * det; - out[2] = (a31 * b05 - a32 * b04 + a33 * b03) * det; - out[3] = (a22 * b04 - a21 * b05 - a23 * b03) * det; - out[4] = (a12 * b08 - a10 * b11 - a13 * b07) * det; - out[5] = (a00 * b11 - a02 * b08 + a03 * b07) * det; - out[6] = (a32 * b02 - a30 * b05 - a33 * b01) * det; - out[7] = (a20 * b05 - a22 * b02 + a23 * b01) * det; - out[8] = (a10 * b10 - a11 * b08 + a13 * b06) * det; - out[9] = (a01 * b08 - a00 * b10 - a03 * b06) * det; - out[10] = (a30 * b04 - a31 * b02 + a33 * b00) * det; - out[11] = (a21 * b02 - a20 * b04 - a23 * b00) * det; - out[12] = (a11 * b07 - a10 * b09 - a12 * b06) * det; - out[13] = (a00 * b09 - a01 * b07 + a02 * b06) * det; - out[14] = (a31 * b01 - a30 * b03 - a32 * b00) * det; - out[15] = (a20 * b03 - a21 * b01 + a22 * b00) * det; - - return out; -}; - -/** - * Caclulates the adjugate of a mat4 - * - * @param {mat4} out the receiving matrix - * @param {mat4} a the source matrix - * @returns {mat4} out - */ -mat4.adjoint = function(out, a) { - var a00 = a[0], a01 = a[1], a02 = a[2], a03 = a[3], - a10 = a[4], a11 = a[5], a12 = a[6], a13 = a[7], - a20 = a[8], a21 = a[9], a22 = a[10], a23 = a[11], - a30 = a[12], a31 = a[13], a32 = a[14], a33 = a[15]; - - out[0] = (a11 * (a22 * a33 - a23 * a32) - a21 * (a12 * a33 - a13 * a32) + a31 * (a12 * a23 - a13 * a22)); - out[1] = -(a01 * (a22 * a33 - a23 * a32) - a21 * (a02 * a33 - a03 * a32) + a31 * (a02 * a23 - a03 * a22)); - out[2] = (a01 * (a12 * a33 - a13 * a32) - a11 * (a02 * a33 - a03 * a32) + a31 * (a02 * a13 - a03 * a12)); - out[3] = -(a01 * (a12 * a23 - a13 * a22) - a11 * (a02 * a23 - a03 * a22) + a21 * (a02 * a13 - a03 * a12)); - out[4] = -(a10 * (a22 * a33 - a23 * a32) - a20 * (a12 * a33 - a13 * a32) + a30 * (a12 * a23 - a13 * a22)); - out[5] = (a00 * (a22 * a33 - a23 * a32) - a20 * (a02 * a33 - a03 * a32) + a30 * (a02 * a23 - a03 * a22)); - out[6] = -(a00 * (a12 * a33 - a13 * a32) - a10 * (a02 * a33 - a03 * a32) + a30 * (a02 * a13 - a03 * a12)); - out[7] = (a00 * (a12 * a23 - a13 * a22) - a10 * (a02 * a23 - a03 * a22) + a20 * (a02 * a13 - a03 * a12)); - out[8] = (a10 * (a21 * a33 - a23 * a31) - a20 * (a11 * a33 - a13 * a31) + a30 * (a11 * a23 - a13 * a21)); - out[9] = -(a00 * (a21 * a33 - a23 * a31) - a20 * (a01 * a33 - a03 * a31) + a30 * (a01 * a23 - a03 * a21)); - out[10] = (a00 * (a11 * a33 - a13 * a31) - a10 * (a01 * a33 - a03 * a31) + a30 * (a01 * a13 - a03 * a11)); - out[11] = -(a00 * (a11 * a23 - a13 * a21) - a10 * (a01 * a23 - a03 * a21) + a20 * (a01 * a13 - a03 * a11)); - out[12] = -(a10 * (a21 * a32 - a22 * a31) - a20 * (a11 * a32 - a12 * a31) + a30 * (a11 * a22 - a12 * a21)); - out[13] = (a00 * (a21 * a32 - a22 * a31) - a20 * (a01 * a32 - a02 * a31) + a30 * (a01 * a22 - a02 * a21)); - out[14] = -(a00 * (a11 * a32 - a12 * a31) - a10 * (a01 * a32 - a02 * a31) + a30 * (a01 * a12 - a02 * a11)); - out[15] = (a00 * (a11 * a22 - a12 * a21) - a10 * (a01 * a22 - a02 * a21) + a20 * (a01 * a12 - a02 * a11)); - return out; -}; - -/** - * Calculates the determinant of a mat4 - * - * @param {mat4} a the source matrix - * @returns {Number} determinant of a - */ -mat4.determinant = function (a) { - var a00 = a[0], a01 = a[1], a02 = a[2], a03 = a[3], - a10 = a[4], a11 = a[5], a12 = a[6], a13 = a[7], - a20 = a[8], a21 = a[9], a22 = a[10], a23 = a[11], - a30 = a[12], a31 = a[13], a32 = a[14], a33 = a[15], - - b00 = a00 * a11 - a01 * a10, - b01 = a00 * a12 - a02 * a10, - b02 = a00 * a13 - a03 * a10, - b03 = a01 * a12 - a02 * a11, - b04 = a01 * a13 - a03 * a11, - b05 = a02 * a13 - a03 * a12, - b06 = a20 * a31 - a21 * a30, - b07 = a20 * a32 - a22 * a30, - b08 = a20 * a33 - a23 * a30, - b09 = a21 * a32 - a22 * a31, - b10 = a21 * a33 - a23 * a31, - b11 = a22 * a33 - a23 * a32; - - // Calculate the determinant - return b00 * b11 - b01 * b10 + b02 * b09 + b03 * b08 - b04 * b07 + b05 * b06; -}; - -/** - * Multiplies two mat4's - * - * @param {mat4} out the receiving matrix - * @param {mat4} a the first operand - * @param {mat4} b the second operand - * @returns {mat4} out - */ -mat4.mul = mat4.multiply = function (out, a, b) { - var a00 = a[0], a01 = a[1], a02 = a[2], a03 = a[3], - a10 = a[4], a11 = a[5], a12 = a[6], a13 = a[7], - a20 = a[8], a21 = a[9], a22 = a[10], a23 = a[11], - a30 = a[12], a31 = a[13], a32 = a[14], a33 = a[15]; - - // Cache only the current line of the second matrix - var b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3]; - out[0] = b0*a00 + b1*a10 + b2*a20 + b3*a30; - out[1] = b0*a01 + b1*a11 + b2*a21 + b3*a31; - out[2] = b0*a02 + b1*a12 + b2*a22 + b3*a32; - out[3] = b0*a03 + b1*a13 + b2*a23 + b3*a33; - - b0 = b[4]; b1 = b[5]; b2 = b[6]; b3 = b[7]; - out[4] = b0*a00 + b1*a10 + b2*a20 + b3*a30; - out[5] = b0*a01 + b1*a11 + b2*a21 + b3*a31; - out[6] = b0*a02 + b1*a12 + b2*a22 + b3*a32; - out[7] = b0*a03 + b1*a13 + b2*a23 + b3*a33; - - b0 = b[8]; b1 = b[9]; b2 = b[10]; b3 = b[11]; - out[8] = b0*a00 + b1*a10 + b2*a20 + b3*a30; - out[9] = b0*a01 + b1*a11 + b2*a21 + b3*a31; - out[10] = b0*a02 + b1*a12 + b2*a22 + b3*a32; - out[11] = b0*a03 + b1*a13 + b2*a23 + b3*a33; - - b0 = b[12]; b1 = b[13]; b2 = b[14]; b3 = b[15]; - out[12] = b0*a00 + b1*a10 + b2*a20 + b3*a30; - out[13] = b0*a01 + b1*a11 + b2*a21 + b3*a31; - out[14] = b0*a02 + b1*a12 + b2*a22 + b3*a32; - out[15] = b0*a03 + b1*a13 + b2*a23 + b3*a33; - return out; -}; - -/** - * Translate a mat4 by the given vector - * - * @param {mat4} out the receiving matrix - * @param {mat4} a the matrix to translate - * @param {vec3} v vector to translate by - * @returns {mat4} out - */ -mat4.translate = function (out, a, v) { - var x = v[0], y = v[1], z = v[2], - a00, a01, a02, a03, - a10, a11, a12, a13, - a20, a21, a22, a23; - - if (a === out) { - out[12] = a[0] * x + a[4] * y + a[8] * z + a[12]; - out[13] = a[1] * x + a[5] * y + a[9] * z + a[13]; - out[14] = a[2] * x + a[6] * y + a[10] * z + a[14]; - out[15] = a[3] * x + a[7] * y + a[11] * z + a[15]; - } else { - a00 = a[0]; a01 = a[1]; a02 = a[2]; a03 = a[3]; - a10 = a[4]; a11 = a[5]; a12 = a[6]; a13 = a[7]; - a20 = a[8]; a21 = a[9]; a22 = a[10]; a23 = a[11]; - - out[0] = a00; out[1] = a01; out[2] = a02; out[3] = a03; - out[4] = a10; out[5] = a11; out[6] = a12; out[7] = a13; - out[8] = a20; out[9] = a21; out[10] = a22; out[11] = a23; - - out[12] = a00 * x + a10 * y + a20 * z + a[12]; - out[13] = a01 * x + a11 * y + a21 * z + a[13]; - out[14] = a02 * x + a12 * y + a22 * z + a[14]; - out[15] = a03 * x + a13 * y + a23 * z + a[15]; - } - - return out; -}; - -/** - * Scales the mat4 by the dimensions in the given vec3 - * - * @param {mat4} out the receiving matrix - * @param {mat4} a the matrix to scale - * @param {vec3} v the vec3 to scale the matrix by - * @returns {mat4} out - **/ -mat4.scale = function(out, a, v) { - var x = v[0], y = v[1], z = v[2]; - - out[0] = a[0] * x; - out[1] = a[1] * x; - out[2] = a[2] * x; - out[3] = a[3] * x; - out[4] = a[4] * y; - out[5] = a[5] * y; - out[6] = a[6] * y; - out[7] = a[7] * y; - out[8] = a[8] * z; - out[9] = a[9] * z; - out[10] = a[10] * z; - out[11] = a[11] * z; - out[12] = a[12]; - out[13] = a[13]; - out[14] = a[14]; - out[15] = a[15]; - return out; -}; - -/** - * Rotates a mat4 by the given angle - * - * @param {mat4} out the receiving matrix - * @param {mat4} a the matrix to rotate - * @param {Number} rad the angle to rotate the matrix by - * @param {vec3} axis the axis to rotate around - * @returns {mat4} out - */ -mat4.rotate = function (out, a, rad, axis) { - var x = axis[0], y = axis[1], z = axis[2], - len = Math.sqrt(x * x + y * y + z * z), - s, c, t, - a00, a01, a02, a03, - a10, a11, a12, a13, - a20, a21, a22, a23, - b00, b01, b02, - b10, b11, b12, - b20, b21, b22; - - if (Math.abs(len) < GLMAT_EPSILON) { return null; } - - len = 1 / len; - x *= len; - y *= len; - z *= len; - - s = Math.sin(rad); - c = Math.cos(rad); - t = 1 - c; - - a00 = a[0]; a01 = a[1]; a02 = a[2]; a03 = a[3]; - a10 = a[4]; a11 = a[5]; a12 = a[6]; a13 = a[7]; - a20 = a[8]; a21 = a[9]; a22 = a[10]; a23 = a[11]; - - // Construct the elements of the rotation matrix - b00 = x * x * t + c; b01 = y * x * t + z * s; b02 = z * x * t - y * s; - b10 = x * y * t - z * s; b11 = y * y * t + c; b12 = z * y * t + x * s; - b20 = x * z * t + y * s; b21 = y * z * t - x * s; b22 = z * z * t + c; - - // Perform rotation-specific matrix multiplication - out[0] = a00 * b00 + a10 * b01 + a20 * b02; - out[1] = a01 * b00 + a11 * b01 + a21 * b02; - out[2] = a02 * b00 + a12 * b01 + a22 * b02; - out[3] = a03 * b00 + a13 * b01 + a23 * b02; - out[4] = a00 * b10 + a10 * b11 + a20 * b12; - out[5] = a01 * b10 + a11 * b11 + a21 * b12; - out[6] = a02 * b10 + a12 * b11 + a22 * b12; - out[7] = a03 * b10 + a13 * b11 + a23 * b12; - out[8] = a00 * b20 + a10 * b21 + a20 * b22; - out[9] = a01 * b20 + a11 * b21 + a21 * b22; - out[10] = a02 * b20 + a12 * b21 + a22 * b22; - out[11] = a03 * b20 + a13 * b21 + a23 * b22; - - if (a !== out) { // If the source and destination differ, copy the unchanged last row - out[12] = a[12]; - out[13] = a[13]; - out[14] = a[14]; - out[15] = a[15]; - } - return out; -}; - -/** - * Rotates a matrix by the given angle around the X axis - * - * @param {mat4} out the receiving matrix - * @param {mat4} a the matrix to rotate - * @param {Number} rad the angle to rotate the matrix by - * @returns {mat4} out - */ -mat4.rotateX = function (out, a, rad) { - var s = Math.sin(rad), - c = Math.cos(rad), - a10 = a[4], - a11 = a[5], - a12 = a[6], - a13 = a[7], - a20 = a[8], - a21 = a[9], - a22 = a[10], - a23 = a[11]; - - if (a !== out) { // If the source and destination differ, copy the unchanged rows - out[0] = a[0]; - out[1] = a[1]; - out[2] = a[2]; - out[3] = a[3]; - out[12] = a[12]; - out[13] = a[13]; - out[14] = a[14]; - out[15] = a[15]; - } - - // Perform axis-specific matrix multiplication - out[4] = a10 * c + a20 * s; - out[5] = a11 * c + a21 * s; - out[6] = a12 * c + a22 * s; - out[7] = a13 * c + a23 * s; - out[8] = a20 * c - a10 * s; - out[9] = a21 * c - a11 * s; - out[10] = a22 * c - a12 * s; - out[11] = a23 * c - a13 * s; - return out; -}; - -/** - * Rotates a matrix by the given angle around the Y axis - * - * @param {mat4} out the receiving matrix - * @param {mat4} a the matrix to rotate - * @param {Number} rad the angle to rotate the matrix by - * @returns {mat4} out - */ -mat4.rotateY = function (out, a, rad) { - var s = Math.sin(rad), - c = Math.cos(rad), - a00 = a[0], - a01 = a[1], - a02 = a[2], - a03 = a[3], - a20 = a[8], - a21 = a[9], - a22 = a[10], - a23 = a[11]; - - if (a !== out) { // If the source and destination differ, copy the unchanged rows - out[4] = a[4]; - out[5] = a[5]; - out[6] = a[6]; - out[7] = a[7]; - out[12] = a[12]; - out[13] = a[13]; - out[14] = a[14]; - out[15] = a[15]; - } - - // Perform axis-specific matrix multiplication - out[0] = a00 * c - a20 * s; - out[1] = a01 * c - a21 * s; - out[2] = a02 * c - a22 * s; - out[3] = a03 * c - a23 * s; - out[8] = a00 * s + a20 * c; - out[9] = a01 * s + a21 * c; - out[10] = a02 * s + a22 * c; - out[11] = a03 * s + a23 * c; - return out; -}; - -/** - * Rotates a matrix by the given angle around the Z axis - * - * @param {mat4} out the receiving matrix - * @param {mat4} a the matrix to rotate - * @param {Number} rad the angle to rotate the matrix by - * @returns {mat4} out - */ -mat4.rotateZ = function (out, a, rad) { - var s = Math.sin(rad), - c = Math.cos(rad), - a00 = a[0], - a01 = a[1], - a02 = a[2], - a03 = a[3], - a10 = a[4], - a11 = a[5], - a12 = a[6], - a13 = a[7]; - - if (a !== out) { // If the source and destination differ, copy the unchanged last row - out[8] = a[8]; - out[9] = a[9]; - out[10] = a[10]; - out[11] = a[11]; - out[12] = a[12]; - out[13] = a[13]; - out[14] = a[14]; - out[15] = a[15]; - } - - // Perform axis-specific matrix multiplication - out[0] = a00 * c + a10 * s; - out[1] = a01 * c + a11 * s; - out[2] = a02 * c + a12 * s; - out[3] = a03 * c + a13 * s; - out[4] = a10 * c - a00 * s; - out[5] = a11 * c - a01 * s; - out[6] = a12 * c - a02 * s; - out[7] = a13 * c - a03 * s; - return out; -}; - -/** - * Creates a matrix from a quaternion rotation and vector translation - * This is equivalent to (but much faster than): - * - * mat4.identity(dest); - * mat4.translate(dest, vec); - * var quatMat = mat4.create(); - * quat4.toMat4(quat, quatMat); - * mat4.multiply(dest, quatMat); - * - * @param {mat4} out mat4 receiving operation result - * @param {quat4} q Rotation quaternion - * @param {vec3} v Translation vector - * @returns {mat4} out - */ -mat4.fromRotationTranslation = function (out, q, v) { - // Quaternion math - var x = q[0], y = q[1], z = q[2], w = q[3], - x2 = x + x, - y2 = y + y, - z2 = z + z, - - xx = x * x2, - xy = x * y2, - xz = x * z2, - yy = y * y2, - yz = y * z2, - zz = z * z2, - wx = w * x2, - wy = w * y2, - wz = w * z2; - - out[0] = 1 - (yy + zz); - out[1] = xy + wz; - out[2] = xz - wy; - out[3] = 0; - out[4] = xy - wz; - out[5] = 1 - (xx + zz); - out[6] = yz + wx; - out[7] = 0; - out[8] = xz + wy; - out[9] = yz - wx; - out[10] = 1 - (xx + yy); - out[11] = 0; - out[12] = v[0]; - out[13] = v[1]; - out[14] = v[2]; - out[15] = 1; - - return out; -}; - -/** - * Generates a frustum matrix with the given bounds - * - * @param {mat4} out mat4 frustum matrix will be written into - * @param {Number} left Left bound of the frustum - * @param {Number} right Right bound of the frustum - * @param {Number} bottom Bottom bound of the frustum - * @param {Number} top Top bound of the frustum - * @param {Number} near Near bound of the frustum - * @param {Number} far Far bound of the frustum - * @returns {mat4} out - */ -mat4.frustum = function (out, left, right, bottom, top, near, far) { - var rl = 1 / (right - left), - tb = 1 / (top - bottom), - nf = 1 / (near - far); - out[0] = (near * 2) * rl; - out[1] = 0; - out[2] = 0; - out[3] = 0; - out[4] = 0; - out[5] = (near * 2) * tb; - out[6] = 0; - out[7] = 0; - out[8] = (right + left) * rl; - out[9] = (top + bottom) * tb; - out[10] = (far + near) * nf; - out[11] = -1; - out[12] = 0; - out[13] = 0; - out[14] = (far * near * 2) * nf; - out[15] = 0; - return out; -}; - -/** - * Generates a perspective projection matrix with the given bounds - * - * @param {mat4} out mat4 frustum matrix will be written into - * @param {number} fovy Vertical field of view in radians - * @param {number} aspect Aspect ratio. typically viewport width/height - * @param {number} near Near bound of the frustum - * @param {number} far Far bound of the frustum - * @returns {mat4} out - */ -mat4.perspective = function (out, fovy, aspect, near, far) { - var f = 1.0 / Math.tan(fovy / 2), - nf = 1 / (near - far); - out[0] = f / aspect; - out[1] = 0; - out[2] = 0; - out[3] = 0; - out[4] = 0; - out[5] = f; - out[6] = 0; - out[7] = 0; - out[8] = 0; - out[9] = 0; - out[10] = (far + near) * nf; - out[11] = -1; - out[12] = 0; - out[13] = 0; - out[14] = (2 * far * near) * nf; - out[15] = 0; - return out; -}; - -/** - * Generates a orthogonal projection matrix with the given bounds - * - * @param {mat4} out mat4 frustum matrix will be written into - * @param {number} left Left bound of the frustum - * @param {number} right Right bound of the frustum - * @param {number} bottom Bottom bound of the frustum - * @param {number} top Top bound of the frustum - * @param {number} near Near bound of the frustum - * @param {number} far Far bound of the frustum - * @returns {mat4} out - */ -mat4.ortho = function (out, left, right, bottom, top, near, far) { - var lr = 1 / (left - right), - bt = 1 / (bottom - top), - nf = 1 / (near - far); - out[0] = -2 * lr; - out[1] = 0; - out[2] = 0; - out[3] = 0; - out[4] = 0; - out[5] = -2 * bt; - out[6] = 0; - out[7] = 0; - out[8] = 0; - out[9] = 0; - out[10] = 2 * nf; - out[11] = 0; - out[12] = (left + right) * lr; - out[13] = (top + bottom) * bt; - out[14] = (far + near) * nf; - out[15] = 1; - return out; -}; - -/** - * Generates a look-at matrix with the given eye position, focal point, and up axis - * - * @param {mat4} out mat4 frustum matrix will be written into - * @param {vec3} eye Position of the viewer - * @param {vec3} center Point the viewer is looking at - * @param {vec3} up vec3 pointing up - * @returns {mat4} out - */ -mat4.lookAt = function (out, eye, center, up) { - var x0, x1, x2, y0, y1, y2, z0, z1, z2, len, - eyex = eye[0], - eyey = eye[1], - eyez = eye[2], - upx = up[0], - upy = up[1], - upz = up[2], - centerx = center[0], - centery = center[1], - centerz = center[2]; - - if (Math.abs(eyex - centerx) < GLMAT_EPSILON && - Math.abs(eyey - centery) < GLMAT_EPSILON && - Math.abs(eyez - centerz) < GLMAT_EPSILON) { - return mat4.identity(out); - } - - z0 = eyex - centerx; - z1 = eyey - centery; - z2 = eyez - centerz; - - len = 1 / Math.sqrt(z0 * z0 + z1 * z1 + z2 * z2); - z0 *= len; - z1 *= len; - z2 *= len; - - x0 = upy * z2 - upz * z1; - x1 = upz * z0 - upx * z2; - x2 = upx * z1 - upy * z0; - len = Math.sqrt(x0 * x0 + x1 * x1 + x2 * x2); - if (!len) { - x0 = 0; - x1 = 0; - x2 = 0; - } else { - len = 1 / len; - x0 *= len; - x1 *= len; - x2 *= len; - } - - y0 = z1 * x2 - z2 * x1; - y1 = z2 * x0 - z0 * x2; - y2 = z0 * x1 - z1 * x0; - - len = Math.sqrt(y0 * y0 + y1 * y1 + y2 * y2); - if (!len) { - y0 = 0; - y1 = 0; - y2 = 0; - } else { - len = 1 / len; - y0 *= len; - y1 *= len; - y2 *= len; - } - - out[0] = x0; - out[1] = y0; - out[2] = z0; - out[3] = 0; - out[4] = x1; - out[5] = y1; - out[6] = z1; - out[7] = 0; - out[8] = x2; - out[9] = y2; - out[10] = z2; - out[11] = 0; - out[12] = -(x0 * eyex + x1 * eyey + x2 * eyez); - out[13] = -(y0 * eyex + y1 * eyey + y2 * eyez); - out[14] = -(z0 * eyex + z1 * eyey + z2 * eyez); - out[15] = 1; - - return out; -}; - -/** - * Returns a string representation of a mat4 - * - * @param {mat4} mat matrix to represent as a string - * @returns {String} string representation of the matrix - */ -mat4.str = function (a) { - return 'mat4(' + a[0] + ', ' + a[1] + ', ' + a[2] + ', ' + a[3] + ', ' + - a[4] + ', ' + a[5] + ', ' + a[6] + ', ' + a[7] + ', ' + - a[8] + ', ' + a[9] + ', ' + a[10] + ', ' + a[11] + ', ' + - a[12] + ', ' + a[13] + ', ' + a[14] + ', ' + a[15] + ')'; -}; - -if(typeof(exports) !== 'undefined') { - exports.mat4 = mat4; -} -; -/* Copyright (c) 2012, Brandon Jones, Colin MacKenzie IV. All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ - -/** - * @class Quaternion - * @name quat - */ - -var quat = {}; - -var quatIdentity = new Float32Array([0, 0, 0, 1]); - -if(!GLMAT_EPSILON) { - var GLMAT_EPSILON = 0.000001; -} - -/** - * Creates a new identity quat - * - * @returns {quat} a new quaternion - */ -quat.create = function() { - return new Float32Array(quatIdentity); -}; - -/** - * Creates a new quat initialized with values from an existing quaternion - * - * @param {quat} a quaternion to clone - * @returns {quat} a new quaternion - */ -quat.clone = vec4.clone; - -/** - * Creates a new quat initialized with the given values - * - * @param {Number} x X component - * @param {Number} y Y component - * @param {Number} z Z component - * @param {Number} w W component - * @returns {quat} a new quaternion - */ -quat.fromValues = vec4.fromValues; - -/** - * Copy the values from one quat to another - * - * @param {quat} out the receiving quaternion - * @param {quat} a the source quaternion - * @returns {quat} out - */ -quat.copy = vec4.copy; - -/** - * Set the components of a quat to the given values - * - * @param {quat} out the receiving quaternion - * @param {Number} x X component - * @param {Number} y Y component - * @param {Number} z Z component - * @param {Number} w W component - * @returns {quat} out - */ -quat.set = vec4.set; - -/** - * Set a quat to the identity quaternion - * - * @param {quat} out the receiving quaternion - * @returns {quat} out - */ -quat.identity = function(out) { - out[0] = 0; - out[1] = 0; - out[2] = 0; - out[3] = 1; - return out; -}; - -/** - * Sets a quat from the given angle and rotation axis, - * then returns it. - * - * @param {quat} out the receiving quaternion - * @param {vec3} axis the axis around which to rotate - * @param {Number} rad the angle in radians - * @returns {quat} out - **/ -quat.setAxisAngle = function(out, axis, rad) { - rad = rad * 0.5; - var s = Math.sin(rad); - out[0] = s * axis[0]; - out[1] = s * axis[1]; - out[2] = s * axis[2]; - out[3] = Math.cos(rad); - return out; -}; - -/** - * Adds two quat's - * - * @param {quat} out the receiving quaternion - * @param {quat} a the first operand - * @param {quat} b the second operand - * @returns {quat} out - */ -quat.add = vec4.add; - -/** - * Multiplies two quat's - * - * @param {quat} out the receiving quaternion - * @param {quat} a the first operand - * @param {quat} b the second operand - * @returns {quat} out - */ -quat.mul = quat.multiply = function(out, a, b) { - var ax = a[0], ay = a[1], az = a[2], aw = a[3], - bx = b[0], by = b[1], bz = b[2], bw = b[3]; - - out[0] = ax * bw + aw * bx + ay * bz - az * by; - out[1] = ay * bw + aw * by + az * bx - ax * bz; - out[2] = az * bw + aw * bz + ax * by - ay * bx; - out[3] = aw * bw - ax * bx - ay * by - az * bz; - return out; -}; - -/** - * Scales a quat by a scalar number - * - * @param {quat} out the receiving vector - * @param {quat} a the vector to scale - * @param {quat} b amount to scale the vector by - * @returns {quat} out - */ -quat.scale = vec4.scale; - -/** - * Rotates a quaternion by the given angle around the X axis - * - * @param {quat} out quat receiving operation result - * @param {quat} a quat to rotate - * @param {number} rad angle (in radians) to rotate - * @returns {quat} out - */ -quat.rotateX = function (out, a, rad) { - rad *= 0.5; - - var ax = a[0], ay = a[1], az = a[2], aw = a[3], - bx = Math.sin(rad), bw = Math.cos(rad); - - out[0] = ax * bw + aw * bx; - out[1] = ay * bw + az * bx; - out[2] = az * bw - ay * bx; - out[3] = aw * bw - ax * bx; - return out; -}; - -/** - * Rotates a quaternion by the given angle around the X axis - * - * @param {quat} out quat receiving operation result - * @param {quat} a quat to rotate - * @param {number} rad angle (in radians) to rotate - * @returns {quat} out - */ -quat.rotateY = function (out, a, rad) { - rad *= 0.5; - - var ax = a[0], ay = a[1], az = a[2], aw = a[3], - by = Math.sin(rad), bw = Math.cos(rad); - - out[0] = ax * bw - az * by; - out[1] = ay * bw + aw * by; - out[2] = az * bw + ax * by; - out[3] = aw * bw - ay * by; - return out; -}; - -/** - * Rotates a quaternion by the given angle around the X axis - * - * @param {quat} out quat receiving operation result - * @param {quat} a quat to rotate - * @param {number} rad angle (in radians) to rotate - * @returns {quat} out - */ -quat.rotateZ = function (out, a, rad) { - rad *= 0.5; - - var ax = a[0], ay = a[1], az = a[2], aw = a[3], - bz = Math.sin(rad), bw = Math.cos(rad); - - out[0] = ax * bw + ay * bz; - out[1] = ay * bw - ax * bz; - out[2] = az * bw + aw * bz; - out[3] = aw * bw - az * bz; - return out; -}; - -/** - * Calculates the W component of a quat from the X, Y, and Z components. - * Assumes that quaternion is 1 unit in length. - * Any existing W component will be ignored. - * - * @param {quat} out the receiving quaternion - * @param {quat} a quat to calculate W component of - * @returns {quat} out - */ -quat.calculateW = function (out, a) { - var x = a[0], y = a[1], z = a[2]; - - out[0] = x; - out[1] = y; - out[2] = z; - out[3] = -Math.sqrt(Math.abs(1.0 - x * x - y * y - z * z)); - return out; -}; - -/** - * Caclulates the dot product of two quat's - * - * @param {quat} a the first operand - * @param {quat} b the second operand - * @returns {Number} dot product of a and b - */ -quat.dot = vec4.dot; - -/** - * Performs a linear interpolation between two quat's - * - * @param {quat} out the receiving quaternion - * @param {quat} a the first operand - * @param {quat} b the second operand - * @param {Number} t interpolation amount between the two inputs - * @returns {quat} out - */ -quat.lerp = vec4.lerp; - -/** - * Performs a spherical linear interpolation between two quat - * - * @param {quat} out the receiving quaternion - * @param {quat} a the first operand - * @param {quat} b the second operand - * @param {Number} t interpolation amount between the two inputs - * @returns {quat} out - */ -quat.slerp = function (out, a, b, t) { - var ax = a[0], ay = a[1], az = a[2], aw = a[3], - bx = b[0], by = b[1], bz = b[2], bw = a[3]; - - var cosHalfTheta = ax * bx + ay * by + az * bz + aw * bw, - halfTheta, - sinHalfTheta, - ratioA, - ratioB; - - if (Math.abs(cosHalfTheta) >= 1.0) { - if (out !== a) { - out[0] = ax; - out[1] = ay; - out[2] = az; - out[3] = aw; - } - return out; - } - - halfTheta = Math.acos(cosHalfTheta); - sinHalfTheta = Math.sqrt(1.0 - cosHalfTheta * cosHalfTheta); - - if (Math.abs(sinHalfTheta) < 0.001) { - out[0] = (ax * 0.5 + bx * 0.5); - out[1] = (ay * 0.5 + by * 0.5); - out[2] = (az * 0.5 + bz * 0.5); - out[3] = (aw * 0.5 + bw * 0.5); - return out; - } - - ratioA = Math.sin((1 - t) * halfTheta) / sinHalfTheta; - ratioB = Math.sin(t * halfTheta) / sinHalfTheta; - - out[0] = (ax * ratioA + bx * ratioB); - out[1] = (ay * ratioA + by * ratioB); - out[2] = (az * ratioA + bz * ratioB); - out[3] = (aw * ratioA + bw * ratioB); - - return out; -}; - -/** - * Calculates the inverse of a quat - * - * @param {quat} out the receiving quaternion - * @param {quat} a quat to calculate inverse of - * @returns {quat} out - */ -quat.invert = function(out, a) { - var a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3], - dot = a0*a0 + a1*a1 + a2*a2 + a3*a3, - invDot = dot ? 1.0/dot : 0; - - // TODO: Would be faster to return [0,0,0,0] immediately if dot == 0 - - out[0] = -a0*invDot; - out[1] = -a1*invDot; - out[2] = -a2*invDot; - out[3] = a3*invDot; - return out; -}; - -/** - * Calculates the conjugate of a quat - * If the quaternion is normalized, this function is faster than quat.inverse and produces the same result. - * - * @param {quat} out the receiving quaternion - * @param {quat} a quat to calculate conjugate of - * @returns {quat} out - */ -quat.conjugate = function (out, a) { - out[0] = -a[0]; - out[1] = -a[1]; - out[2] = -a[2]; - out[3] = a[3]; - return out; -}; - -/** - * Caclulates the length of a quat - * - * @param {quat} a vector to calculate length of - * @returns {Number} length of a - */ -quat.len = quat.length = vec4.length; - -/** - * Caclulates the squared length of a quat - * - * @param {quat} a vector to calculate squared length of - * @returns {Number} squared length of a - */ -quat.sqrLen = quat.squaredLength = vec4.squaredLength; - -/** - * Normalize a quat - * - * @param {quat} out the receiving quaternion - * @param {quat} a quaternion to normalize - * @returns {quat} out - */ -quat.normalize = vec4.normalize; - -/** - * Returns a string representation of a quatenion - * - * @param {quat} vec vector to represent as a string - * @returns {String} string representation of the vector - */ -quat.str = function (a) { - return 'quat(' + a[0] + ', ' + a[1] + ', ' + a[2] + ', ' + a[3] + ')'; -}; - -if(typeof(exports) !== 'undefined') { - exports.quat = quat; -} -; - - - - - - - - - - - })(shim.exports); -})(); - -},{}],23:[function(require,module,exports){ -// Underscore.js 1.4.4 -// http://underscorejs.org -// (c) 2009-2013 Jeremy Ashkenas, DocumentCloud Inc. -// Underscore may be freely distributed under the MIT license. - -(function() { - - // Baseline setup - // -------------- - - // Establish the root object, `window` in the browser, or `global` on the server. - var root = this; - - // Save the previous value of the `_` variable. - var previousUnderscore = root._; - - // Establish the object that gets returned to break out of a loop iteration. - var breaker = {}; - - // Save bytes in the minified (but not gzipped) version: - var ArrayProto = Array.prototype, ObjProto = Object.prototype, FuncProto = Function.prototype; - - // Create quick reference variables for speed access to core prototypes. - var push = ArrayProto.push, - slice = ArrayProto.slice, - concat = ArrayProto.concat, - toString = ObjProto.toString, - hasOwnProperty = ObjProto.hasOwnProperty; - - // All **ECMAScript 5** native function implementations that we hope to use - // are declared here. - var - nativeForEach = ArrayProto.forEach, - nativeMap = ArrayProto.map, - nativeReduce = ArrayProto.reduce, - nativeReduceRight = ArrayProto.reduceRight, - nativeFilter = ArrayProto.filter, - nativeEvery = ArrayProto.every, - nativeSome = ArrayProto.some, - nativeIndexOf = ArrayProto.indexOf, - nativeLastIndexOf = ArrayProto.lastIndexOf, - nativeIsArray = Array.isArray, - nativeKeys = Object.keys, - nativeBind = FuncProto.bind; - - // Create a safe reference to the Underscore object for use below. - var _ = function(obj) { - if (obj instanceof _) return obj; - if (!(this instanceof _)) return new _(obj); - this._wrapped = obj; - }; - - // Export the Underscore object for **Node.js**, with - // backwards-compatibility for the old `require()` API. If we're in - // the browser, add `_` as a global object via a string identifier, - // for Closure Compiler "advanced" mode. - if (typeof exports !== 'undefined') { - if (typeof module !== 'undefined' && module.exports) { - exports = module.exports = _; - } - exports._ = _; - } else { - root._ = _; - } - - // Current version. - _.VERSION = '1.4.4'; - - // Collection Functions - // -------------------- - - // The cornerstone, an `each` implementation, aka `forEach`. - // Handles objects with the built-in `forEach`, arrays, and raw objects. - // Delegates to **ECMAScript 5**'s native `forEach` if available. - var each = _.each = _.forEach = function(obj, iterator, context) { - if (obj == null) return; - if (nativeForEach && obj.forEach === nativeForEach) { - obj.forEach(iterator, context); - } else if (obj.length === +obj.length) { - for (var i = 0, l = obj.length; i < l; i++) { - if (iterator.call(context, obj[i], i, obj) === breaker) return; - } - } else { - for (var key in obj) { - if (_.has(obj, key)) { - if (iterator.call(context, obj[key], key, obj) === breaker) return; - } - } - } - }; - - // Return the results of applying the iterator to each element. - // Delegates to **ECMAScript 5**'s native `map` if available. - _.map = _.collect = function(obj, iterator, context) { - var results = []; - if (obj == null) return results; - if (nativeMap && obj.map === nativeMap) return obj.map(iterator, context); - each(obj, function(value, index, list) { - results[results.length] = iterator.call(context, value, index, list); - }); - return results; - }; - - var reduceError = 'Reduce of empty array with no initial value'; - - // **Reduce** builds up a single result from a list of values, aka `inject`, - // or `foldl`. Delegates to **ECMAScript 5**'s native `reduce` if available. - _.reduce = _.foldl = _.inject = function(obj, iterator, memo, context) { - var initial = arguments.length > 2; - if (obj == null) obj = []; - if (nativeReduce && obj.reduce === nativeReduce) { - if (context) iterator = _.bind(iterator, context); - return initial ? obj.reduce(iterator, memo) : obj.reduce(iterator); - } - each(obj, function(value, index, list) { - if (!initial) { - memo = value; - initial = true; - } else { - memo = iterator.call(context, memo, value, index, list); - } - }); - if (!initial) throw new TypeError(reduceError); - return memo; - }; - - // The right-associative version of reduce, also known as `foldr`. - // Delegates to **ECMAScript 5**'s native `reduceRight` if available. - _.reduceRight = _.foldr = function(obj, iterator, memo, context) { - var initial = arguments.length > 2; - if (obj == null) obj = []; - if (nativeReduceRight && obj.reduceRight === nativeReduceRight) { - if (context) iterator = _.bind(iterator, context); - return initial ? obj.reduceRight(iterator, memo) : obj.reduceRight(iterator); - } - var length = obj.length; - if (length !== +length) { - var keys = _.keys(obj); - length = keys.length; - } - each(obj, function(value, index, list) { - index = keys ? keys[--length] : --length; - if (!initial) { - memo = obj[index]; - initial = true; - } else { - memo = iterator.call(context, memo, obj[index], index, list); - } - }); - if (!initial) throw new TypeError(reduceError); - return memo; - }; - - // Return the first value which passes a truth test. Aliased as `detect`. - _.find = _.detect = function(obj, iterator, context) { - var result; - any(obj, function(value, index, list) { - if (iterator.call(context, value, index, list)) { - result = value; - return true; - } - }); - return result; - }; - - // Return all the elements that pass a truth test. - // Delegates to **ECMAScript 5**'s native `filter` if available. - // Aliased as `select`. - _.filter = _.select = function(obj, iterator, context) { - var results = []; - if (obj == null) return results; - if (nativeFilter && obj.filter === nativeFilter) return obj.filter(iterator, context); - each(obj, function(value, index, list) { - if (iterator.call(context, value, index, list)) results[results.length] = value; - }); - return results; - }; - - // Return all the elements for which a truth test fails. - _.reject = function(obj, iterator, context) { - return _.filter(obj, function(value, index, list) { - return !iterator.call(context, value, index, list); - }, context); - }; - - // Determine whether all of the elements match a truth test. - // Delegates to **ECMAScript 5**'s native `every` if available. - // Aliased as `all`. - _.every = _.all = function(obj, iterator, context) { - iterator || (iterator = _.identity); - var result = true; - if (obj == null) return result; - if (nativeEvery && obj.every === nativeEvery) return obj.every(iterator, context); - each(obj, function(value, index, list) { - if (!(result = result && iterator.call(context, value, index, list))) return breaker; - }); - return !!result; - }; - - // Determine if at least one element in the object matches a truth test. - // Delegates to **ECMAScript 5**'s native `some` if available. - // Aliased as `any`. - var any = _.some = _.any = function(obj, iterator, context) { - iterator || (iterator = _.identity); - var result = false; - if (obj == null) return result; - if (nativeSome && obj.some === nativeSome) return obj.some(iterator, context); - each(obj, function(value, index, list) { - if (result || (result = iterator.call(context, value, index, list))) return breaker; - }); - return !!result; - }; - - // Determine if the array or object contains a given value (using `===`). - // Aliased as `include`. - _.contains = _.include = function(obj, target) { - if (obj == null) return false; - if (nativeIndexOf && obj.indexOf === nativeIndexOf) return obj.indexOf(target) != -1; - return any(obj, function(value) { - return value === target; - }); - }; - - // Invoke a method (with arguments) on every item in a collection. - _.invoke = function(obj, method) { - var args = slice.call(arguments, 2); - var isFunc = _.isFunction(method); - return _.map(obj, function(value) { - return (isFunc ? method : value[method]).apply(value, args); - }); - }; - - // Convenience version of a common use case of `map`: fetching a property. - _.pluck = function(obj, key) { - return _.map(obj, function(value){ return value[key]; }); - }; - - // Convenience version of a common use case of `filter`: selecting only objects - // containing specific `key:value` pairs. - _.where = function(obj, attrs, first) { - if (_.isEmpty(attrs)) return first ? null : []; - return _[first ? 'find' : 'filter'](obj, function(value) { - for (var key in attrs) { - if (attrs[key] !== value[key]) return false; - } - return true; - }); - }; - - // Convenience version of a common use case of `find`: getting the first object - // containing specific `key:value` pairs. - _.findWhere = function(obj, attrs) { - return _.where(obj, attrs, true); - }; - - // Return the maximum element or (element-based computation). - // Can't optimize arrays of integers longer than 65,535 elements. - // See: https://bugs.webkit.org/show_bug.cgi?id=80797 - _.max = function(obj, iterator, context) { - if (!iterator && _.isArray(obj) && obj[0] === +obj[0] && obj.length < 65535) { - return Math.max.apply(Math, obj); - } - if (!iterator && _.isEmpty(obj)) return -Infinity; - var result = {computed : -Infinity, value: -Infinity}; - each(obj, function(value, index, list) { - var computed = iterator ? iterator.call(context, value, index, list) : value; - computed >= result.computed && (result = {value : value, computed : computed}); - }); - return result.value; - }; - - // Return the minimum element (or element-based computation). - _.min = function(obj, iterator, context) { - if (!iterator && _.isArray(obj) && obj[0] === +obj[0] && obj.length < 65535) { - return Math.min.apply(Math, obj); - } - if (!iterator && _.isEmpty(obj)) return Infinity; - var result = {computed : Infinity, value: Infinity}; - each(obj, function(value, index, list) { - var computed = iterator ? iterator.call(context, value, index, list) : value; - computed < result.computed && (result = {value : value, computed : computed}); - }); - return result.value; - }; - - // Shuffle an array. - _.shuffle = function(obj) { - var rand; - var index = 0; - var shuffled = []; - each(obj, function(value) { - rand = _.random(index++); - shuffled[index - 1] = shuffled[rand]; - shuffled[rand] = value; - }); - return shuffled; - }; - - // An internal function to generate lookup iterators. - var lookupIterator = function(value) { - return _.isFunction(value) ? value : function(obj){ return obj[value]; }; - }; - - // Sort the object's values by a criterion produced by an iterator. - _.sortBy = function(obj, value, context) { - var iterator = lookupIterator(value); - return _.pluck(_.map(obj, function(value, index, list) { - return { - value : value, - index : index, - criteria : iterator.call(context, value, index, list) - }; - }).sort(function(left, right) { - var a = left.criteria; - var b = right.criteria; - if (a !== b) { - if (a > b || a === void 0) return 1; - if (a < b || b === void 0) return -1; - } - return left.index < right.index ? -1 : 1; - }), 'value'); - }; - - // An internal function used for aggregate "group by" operations. - var group = function(obj, value, context, behavior) { - var result = {}; - var iterator = lookupIterator(value || _.identity); - each(obj, function(value, index) { - var key = iterator.call(context, value, index, obj); - behavior(result, key, value); - }); - return result; - }; - - // Groups the object's values by a criterion. Pass either a string attribute - // to group by, or a function that returns the criterion. - _.groupBy = function(obj, value, context) { - return group(obj, value, context, function(result, key, value) { - (_.has(result, key) ? result[key] : (result[key] = [])).push(value); - }); - }; - - // Counts instances of an object that group by a certain criterion. Pass - // either a string attribute to count by, or a function that returns the - // criterion. - _.countBy = function(obj, value, context) { - return group(obj, value, context, function(result, key) { - if (!_.has(result, key)) result[key] = 0; - result[key]++; - }); - }; - - // Use a comparator function to figure out the smallest index at which - // an object should be inserted so as to maintain order. Uses binary search. - _.sortedIndex = function(array, obj, iterator, context) { - iterator = iterator == null ? _.identity : lookupIterator(iterator); - var value = iterator.call(context, obj); - var low = 0, high = array.length; - while (low < high) { - var mid = (low + high) >>> 1; - iterator.call(context, array[mid]) < value ? low = mid + 1 : high = mid; - } - return low; - }; - - // Safely convert anything iterable into a real, live array. - _.toArray = function(obj) { - if (!obj) return []; - if (_.isArray(obj)) return slice.call(obj); - if (obj.length === +obj.length) return _.map(obj, _.identity); - return _.values(obj); - }; - - // Return the number of elements in an object. - _.size = function(obj) { - if (obj == null) return 0; - return (obj.length === +obj.length) ? obj.length : _.keys(obj).length; - }; - - // Array Functions - // --------------- - - // Get the first element of an array. Passing **n** will return the first N - // values in the array. Aliased as `head` and `take`. The **guard** check - // allows it to work with `_.map`. - _.first = _.head = _.take = function(array, n, guard) { - if (array == null) return void 0; - return (n != null) && !guard ? slice.call(array, 0, n) : array[0]; - }; - - // Returns everything but the last entry of the array. Especially useful on - // the arguments object. Passing **n** will return all the values in - // the array, excluding the last N. The **guard** check allows it to work with - // `_.map`. - _.initial = function(array, n, guard) { - return slice.call(array, 0, array.length - ((n == null) || guard ? 1 : n)); - }; - - // Get the last element of an array. Passing **n** will return the last N - // values in the array. The **guard** check allows it to work with `_.map`. - _.last = function(array, n, guard) { - if (array == null) return void 0; - if ((n != null) && !guard) { - return slice.call(array, Math.max(array.length - n, 0)); - } else { - return array[array.length - 1]; - } - }; - - // Returns everything but the first entry of the array. Aliased as `tail` and `drop`. - // Especially useful on the arguments object. Passing an **n** will return - // the rest N values in the array. The **guard** - // check allows it to work with `_.map`. - _.rest = _.tail = _.drop = function(array, n, guard) { - return slice.call(array, (n == null) || guard ? 1 : n); - }; - - // Trim out all falsy values from an array. - _.compact = function(array) { - return _.filter(array, _.identity); - }; - - // Internal implementation of a recursive `flatten` function. - var flatten = function(input, shallow, output) { - each(input, function(value) { - if (_.isArray(value)) { - shallow ? push.apply(output, value) : flatten(value, shallow, output); - } else { - output.push(value); - } - }); - return output; - }; - - // Return a completely flattened version of an array. - _.flatten = function(array, shallow) { - return flatten(array, shallow, []); - }; - - // Return a version of the array that does not contain the specified value(s). - _.without = function(array) { - return _.difference(array, slice.call(arguments, 1)); - }; - - // Produce a duplicate-free version of the array. If the array has already - // been sorted, you have the option of using a faster algorithm. - // Aliased as `unique`. - _.uniq = _.unique = function(array, isSorted, iterator, context) { - if (_.isFunction(isSorted)) { - context = iterator; - iterator = isSorted; - isSorted = false; - } - var initial = iterator ? _.map(array, iterator, context) : array; - var results = []; - var seen = []; - each(initial, function(value, index) { - if (isSorted ? (!index || seen[seen.length - 1] !== value) : !_.contains(seen, value)) { - seen.push(value); - results.push(array[index]); - } - }); - return results; - }; - - // Produce an array that contains the union: each distinct element from all of - // the passed-in arrays. - _.union = function() { - return _.uniq(concat.apply(ArrayProto, arguments)); - }; - - // Produce an array that contains every item shared between all the - // passed-in arrays. - _.intersection = function(array) { - var rest = slice.call(arguments, 1); - return _.filter(_.uniq(array), function(item) { - return _.every(rest, function(other) { - return _.indexOf(other, item) >= 0; - }); - }); - }; - - // Take the difference between one array and a number of other arrays. - // Only the elements present in just the first array will remain. - _.difference = function(array) { - var rest = concat.apply(ArrayProto, slice.call(arguments, 1)); - return _.filter(array, function(value){ return !_.contains(rest, value); }); - }; - - // Zip together multiple lists into a single array -- elements that share - // an index go together. - _.zip = function() { - var args = slice.call(arguments); - var length = _.max(_.pluck(args, 'length')); - var results = new Array(length); - for (var i = 0; i < length; i++) { - results[i] = _.pluck(args, "" + i); - } - return results; - }; - - // Converts lists into objects. Pass either a single array of `[key, value]` - // pairs, or two parallel arrays of the same length -- one of keys, and one of - // the corresponding values. - _.object = function(list, values) { - if (list == null) return {}; - var result = {}; - for (var i = 0, l = list.length; i < l; i++) { - if (values) { - result[list[i]] = values[i]; - } else { - result[list[i][0]] = list[i][1]; - } - } - return result; - }; - - // If the browser doesn't supply us with indexOf (I'm looking at you, **MSIE**), - // we need this function. Return the position of the first occurrence of an - // item in an array, or -1 if the item is not included in the array. - // Delegates to **ECMAScript 5**'s native `indexOf` if available. - // If the array is large and already in sort order, pass `true` - // for **isSorted** to use binary search. - _.indexOf = function(array, item, isSorted) { - if (array == null) return -1; - var i = 0, l = array.length; - if (isSorted) { - if (typeof isSorted == 'number') { - i = (isSorted < 0 ? Math.max(0, l + isSorted) : isSorted); - } else { - i = _.sortedIndex(array, item); - return array[i] === item ? i : -1; - } - } - if (nativeIndexOf && array.indexOf === nativeIndexOf) return array.indexOf(item, isSorted); - for (; i < l; i++) if (array[i] === item) return i; - return -1; - }; - - // Delegates to **ECMAScript 5**'s native `lastIndexOf` if available. - _.lastIndexOf = function(array, item, from) { - if (array == null) return -1; - var hasIndex = from != null; - if (nativeLastIndexOf && array.lastIndexOf === nativeLastIndexOf) { - return hasIndex ? array.lastIndexOf(item, from) : array.lastIndexOf(item); - } - var i = (hasIndex ? from : array.length); - while (i--) if (array[i] === item) return i; - return -1; - }; - - // Generate an integer Array containing an arithmetic progression. A port of - // the native Python `range()` function. See - // [the Python documentation](http://docs.python.org/library/functions.html#range). - _.range = function(start, stop, step) { - if (arguments.length <= 1) { - stop = start || 0; - start = 0; - } - step = arguments[2] || 1; - - var len = Math.max(Math.ceil((stop - start) / step), 0); - var idx = 0; - var range = new Array(len); - - while(idx < len) { - range[idx++] = start; - start += step; - } - - return range; - }; - - // Function (ahem) Functions - // ------------------ - - // Create a function bound to a given object (assigning `this`, and arguments, - // optionally). Delegates to **ECMAScript 5**'s native `Function.bind` if - // available. - _.bind = function(func, context) { - if (func.bind === nativeBind && nativeBind) return nativeBind.apply(func, slice.call(arguments, 1)); - var args = slice.call(arguments, 2); - return function() { - return func.apply(context, args.concat(slice.call(arguments))); - }; - }; - - // Partially apply a function by creating a version that has had some of its - // arguments pre-filled, without changing its dynamic `this` context. - _.partial = function(func) { - var args = slice.call(arguments, 1); - return function() { - return func.apply(this, args.concat(slice.call(arguments))); - }; - }; - - // Bind all of an object's methods to that object. Useful for ensuring that - // all callbacks defined on an object belong to it. - _.bindAll = function(obj) { - var funcs = slice.call(arguments, 1); - if (funcs.length === 0) funcs = _.functions(obj); - each(funcs, function(f) { obj[f] = _.bind(obj[f], obj); }); - return obj; - }; - - // Memoize an expensive function by storing its results. - _.memoize = function(func, hasher) { - var memo = {}; - hasher || (hasher = _.identity); - return function() { - var key = hasher.apply(this, arguments); - return _.has(memo, key) ? memo[key] : (memo[key] = func.apply(this, arguments)); - }; - }; - - // Delays a function for the given number of milliseconds, and then calls - // it with the arguments supplied. - _.delay = function(func, wait) { - var args = slice.call(arguments, 2); - return setTimeout(function(){ return func.apply(null, args); }, wait); - }; - - // Defers a function, scheduling it to run after the current call stack has - // cleared. - _.defer = function(func) { - return _.delay.apply(_, [func, 1].concat(slice.call(arguments, 1))); - }; - - // Returns a function, that, when invoked, will only be triggered at most once - // during a given window of time. - _.throttle = function(func, wait) { - var context, args, timeout, result; - var previous = 0; - var later = function() { - previous = new Date; - timeout = null; - result = func.apply(context, args); - }; - return function() { - var now = new Date; - var remaining = wait - (now - previous); - context = this; - args = arguments; - if (remaining <= 0) { - clearTimeout(timeout); - timeout = null; - previous = now; - result = func.apply(context, args); - } else if (!timeout) { - timeout = setTimeout(later, remaining); - } - return result; - }; - }; - - // Returns a function, that, as long as it continues to be invoked, will not - // be triggered. The function will be called after it stops being called for - // N milliseconds. If `immediate` is passed, trigger the function on the - // leading edge, instead of the trailing. - _.debounce = function(func, wait, immediate) { - var timeout, result; - return function() { - var context = this, args = arguments; - var later = function() { - timeout = null; - if (!immediate) result = func.apply(context, args); - }; - var callNow = immediate && !timeout; - clearTimeout(timeout); - timeout = setTimeout(later, wait); - if (callNow) result = func.apply(context, args); - return result; - }; - }; - - // Returns a function that will be executed at most one time, no matter how - // often you call it. Useful for lazy initialization. - _.once = function(func) { - var ran = false, memo; - return function() { - if (ran) return memo; - ran = true; - memo = func.apply(this, arguments); - func = null; - return memo; - }; - }; - - // Returns the first function passed as an argument to the second, - // allowing you to adjust arguments, run code before and after, and - // conditionally execute the original function. - _.wrap = function(func, wrapper) { - return function() { - var args = [func]; - push.apply(args, arguments); - return wrapper.apply(this, args); - }; - }; - - // Returns a function that is the composition of a list of functions, each - // consuming the return value of the function that follows. - _.compose = function() { - var funcs = arguments; - return function() { - var args = arguments; - for (var i = funcs.length - 1; i >= 0; i--) { - args = [funcs[i].apply(this, args)]; - } - return args[0]; - }; - }; - - // Returns a function that will only be executed after being called N times. - _.after = function(times, func) { - if (times <= 0) return func(); - return function() { - if (--times < 1) { - return func.apply(this, arguments); - } - }; - }; - - // Object Functions - // ---------------- - - // Retrieve the names of an object's properties. - // Delegates to **ECMAScript 5**'s native `Object.keys` - _.keys = nativeKeys || function(obj) { - if (obj !== Object(obj)) throw new TypeError('Invalid object'); - var keys = []; - for (var key in obj) if (_.has(obj, key)) keys[keys.length] = key; - return keys; - }; - - // Retrieve the values of an object's properties. - _.values = function(obj) { - var values = []; - for (var key in obj) if (_.has(obj, key)) values.push(obj[key]); - return values; - }; - - // Convert an object into a list of `[key, value]` pairs. - _.pairs = function(obj) { - var pairs = []; - for (var key in obj) if (_.has(obj, key)) pairs.push([key, obj[key]]); - return pairs; - }; - - // Invert the keys and values of an object. The values must be serializable. - _.invert = function(obj) { - var result = {}; - for (var key in obj) if (_.has(obj, key)) result[obj[key]] = key; - return result; - }; - - // Return a sorted list of the function names available on the object. - // Aliased as `methods` - _.functions = _.methods = function(obj) { - var names = []; - for (var key in obj) { - if (_.isFunction(obj[key])) names.push(key); - } - return names.sort(); - }; - - // Extend a given object with all the properties in passed-in object(s). - _.extend = function(obj) { - each(slice.call(arguments, 1), function(source) { - if (source) { - for (var prop in source) { - obj[prop] = source[prop]; - } - } - }); - return obj; - }; - - // Return a copy of the object only containing the whitelisted properties. - _.pick = function(obj) { - var copy = {}; - var keys = concat.apply(ArrayProto, slice.call(arguments, 1)); - each(keys, function(key) { - if (key in obj) copy[key] = obj[key]; - }); - return copy; - }; - - // Return a copy of the object without the blacklisted properties. - _.omit = function(obj) { - var copy = {}; - var keys = concat.apply(ArrayProto, slice.call(arguments, 1)); - for (var key in obj) { - if (!_.contains(keys, key)) copy[key] = obj[key]; - } - return copy; - }; - - // Fill in a given object with default properties. - _.defaults = function(obj) { - each(slice.call(arguments, 1), function(source) { - if (source) { - for (var prop in source) { - if (obj[prop] == null) obj[prop] = source[prop]; - } - } - }); - return obj; - }; - - // Create a (shallow-cloned) duplicate of an object. - _.clone = function(obj) { - if (!_.isObject(obj)) return obj; - return _.isArray(obj) ? obj.slice() : _.extend({}, obj); - }; - - // Invokes interceptor with the obj, and then returns obj. - // The primary purpose of this method is to "tap into" a method chain, in - // order to perform operations on intermediate results within the chain. - _.tap = function(obj, interceptor) { - interceptor(obj); - return obj; - }; - - // Internal recursive comparison function for `isEqual`. - var eq = function(a, b, aStack, bStack) { - // Identical objects are equal. `0 === -0`, but they aren't identical. - // See the Harmony `egal` proposal: http://wiki.ecmascript.org/doku.php?id=harmony:egal. - if (a === b) return a !== 0 || 1 / a == 1 / b; - // A strict comparison is necessary because `null == undefined`. - if (a == null || b == null) return a === b; - // Unwrap any wrapped objects. - if (a instanceof _) a = a._wrapped; - if (b instanceof _) b = b._wrapped; - // Compare `[[Class]]` names. - var className = toString.call(a); - if (className != toString.call(b)) return false; - switch (className) { - // Strings, numbers, dates, and booleans are compared by value. - case '[object String]': - // Primitives and their corresponding object wrappers are equivalent; thus, `"5"` is - // equivalent to `new String("5")`. - return a == String(b); - case '[object Number]': - // `NaN`s are equivalent, but non-reflexive. An `egal` comparison is performed for - // other numeric values. - return a != +a ? b != +b : (a == 0 ? 1 / a == 1 / b : a == +b); - case '[object Date]': - case '[object Boolean]': - // Coerce dates and booleans to numeric primitive values. Dates are compared by their - // millisecond representations. Note that invalid dates with millisecond representations - // of `NaN` are not equivalent. - return +a == +b; - // RegExps are compared by their source patterns and flags. - case '[object RegExp]': - return a.source == b.source && - a.global == b.global && - a.multiline == b.multiline && - a.ignoreCase == b.ignoreCase; - } - if (typeof a != 'object' || typeof b != 'object') return false; - // Assume equality for cyclic structures. The algorithm for detecting cyclic - // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`. - var length = aStack.length; - while (length--) { - // Linear search. Performance is inversely proportional to the number of - // unique nested structures. - if (aStack[length] == a) return bStack[length] == b; - } - // Add the first object to the stack of traversed objects. - aStack.push(a); - bStack.push(b); - var size = 0, result = true; - // Recursively compare objects and arrays. - if (className == '[object Array]') { - // Compare array lengths to determine if a deep comparison is necessary. - size = a.length; - result = size == b.length; - if (result) { - // Deep compare the contents, ignoring non-numeric properties. - while (size--) { - if (!(result = eq(a[size], b[size], aStack, bStack))) break; - } - } - } else { - // Objects with different constructors are not equivalent, but `Object`s - // from different frames are. - var aCtor = a.constructor, bCtor = b.constructor; - if (aCtor !== bCtor && !(_.isFunction(aCtor) && (aCtor instanceof aCtor) && - _.isFunction(bCtor) && (bCtor instanceof bCtor))) { - return false; - } - // Deep compare objects. - for (var key in a) { - if (_.has(a, key)) { - // Count the expected number of properties. - size++; - // Deep compare each member. - if (!(result = _.has(b, key) && eq(a[key], b[key], aStack, bStack))) break; - } - } - // Ensure that both objects contain the same number of properties. - if (result) { - for (key in b) { - if (_.has(b, key) && !(size--)) break; - } - result = !size; - } - } - // Remove the first object from the stack of traversed objects. - aStack.pop(); - bStack.pop(); - return result; - }; - - // Perform a deep comparison to check if two objects are equal. - _.isEqual = function(a, b) { - return eq(a, b, [], []); - }; - - // Is a given array, string, or object empty? - // An "empty" object has no enumerable own-properties. - _.isEmpty = function(obj) { - if (obj == null) return true; - if (_.isArray(obj) || _.isString(obj)) return obj.length === 0; - for (var key in obj) if (_.has(obj, key)) return false; - return true; - }; - - // Is a given value a DOM element? - _.isElement = function(obj) { - return !!(obj && obj.nodeType === 1); - }; - - // Is a given value an array? - // Delegates to ECMA5's native Array.isArray - _.isArray = nativeIsArray || function(obj) { - return toString.call(obj) == '[object Array]'; - }; - - // Is a given variable an object? - _.isObject = function(obj) { - return obj === Object(obj); - }; - - // Add some isType methods: isArguments, isFunction, isString, isNumber, isDate, isRegExp. - each(['Arguments', 'Function', 'String', 'Number', 'Date', 'RegExp'], function(name) { - _['is' + name] = function(obj) { - return toString.call(obj) == '[object ' + name + ']'; - }; - }); - - // Define a fallback version of the method in browsers (ahem, IE), where - // there isn't any inspectable "Arguments" type. - if (!_.isArguments(arguments)) { - _.isArguments = function(obj) { - return !!(obj && _.has(obj, 'callee')); - }; - } - - // Optimize `isFunction` if appropriate. - if (typeof (/./) !== 'function') { - _.isFunction = function(obj) { - return typeof obj === 'function'; - }; - } - - // Is a given object a finite number? - _.isFinite = function(obj) { - return isFinite(obj) && !isNaN(parseFloat(obj)); - }; - - // Is the given value `NaN`? (NaN is the only number which does not equal itself). - _.isNaN = function(obj) { - return _.isNumber(obj) && obj != +obj; - }; - - // Is a given value a boolean? - _.isBoolean = function(obj) { - return obj === true || obj === false || toString.call(obj) == '[object Boolean]'; - }; - - // Is a given value equal to null? - _.isNull = function(obj) { - return obj === null; - }; - - // Is a given variable undefined? - _.isUndefined = function(obj) { - return obj === void 0; - }; - - // Shortcut function for checking if an object has a given property directly - // on itself (in other words, not on a prototype). - _.has = function(obj, key) { - return hasOwnProperty.call(obj, key); - }; - - // Utility Functions - // ----------------- - - // Run Underscore.js in *noConflict* mode, returning the `_` variable to its - // previous owner. Returns a reference to the Underscore object. - _.noConflict = function() { - root._ = previousUnderscore; - return this; - }; - - // Keep the identity function around for default iterators. - _.identity = function(value) { - return value; - }; - - // Run a function **n** times. - _.times = function(n, iterator, context) { - var accum = Array(n); - for (var i = 0; i < n; i++) accum[i] = iterator.call(context, i); - return accum; - }; - - // Return a random integer between min and max (inclusive). - _.random = function(min, max) { - if (max == null) { - max = min; - min = 0; - } - return min + Math.floor(Math.random() * (max - min + 1)); - }; - - // List of HTML entities for escaping. - var entityMap = { - escape: { - '&': '&', - '<': '<', - '>': '>', - '"': '"', - "'": ''', - '/': '/' - } - }; - entityMap.unescape = _.invert(entityMap.escape); - - // Regexes containing the keys and values listed immediately above. - var entityRegexes = { - escape: new RegExp('[' + _.keys(entityMap.escape).join('') + ']', 'g'), - unescape: new RegExp('(' + _.keys(entityMap.unescape).join('|') + ')', 'g') - }; - - // Functions for escaping and unescaping strings to/from HTML interpolation. - _.each(['escape', 'unescape'], function(method) { - _[method] = function(string) { - if (string == null) return ''; - return ('' + string).replace(entityRegexes[method], function(match) { - return entityMap[method][match]; - }); - }; - }); - - // If the value of the named property is a function then invoke it; - // otherwise, return it. - _.result = function(object, property) { - if (object == null) return null; - var value = object[property]; - return _.isFunction(value) ? value.call(object) : value; - }; - - // Add your own custom functions to the Underscore object. - _.mixin = function(obj) { - each(_.functions(obj), function(name){ - var func = _[name] = obj[name]; - _.prototype[name] = function() { - var args = [this._wrapped]; - push.apply(args, arguments); - return result.call(this, func.apply(_, args)); - }; - }); - }; - - // Generate a unique integer id (unique within the entire client session). - // Useful for temporary DOM ids. - var idCounter = 0; - _.uniqueId = function(prefix) { - var id = ++idCounter + ''; - return prefix ? prefix + id : id; - }; - - // By default, Underscore uses ERB-style template delimiters, change the - // following template settings to use alternative delimiters. - _.templateSettings = { - evaluate : /<%([\s\S]+?)%>/g, - interpolate : /<%=([\s\S]+?)%>/g, - escape : /<%-([\s\S]+?)%>/g - }; - - // When customizing `templateSettings`, if you don't want to define an - // interpolation, evaluation or escaping regex, we need one that is - // guaranteed not to match. - var noMatch = /(.)^/; - - // Certain characters need to be escaped so that they can be put into a - // string literal. - var escapes = { - "'": "'", - '\\': '\\', - '\r': 'r', - '\n': 'n', - '\t': 't', - '\u2028': 'u2028', - '\u2029': 'u2029' - }; - - var escaper = /\\|'|\r|\n|\t|\u2028|\u2029/g; - - // JavaScript micro-templating, similar to John Resig's implementation. - // Underscore templating handles arbitrary delimiters, preserves whitespace, - // and correctly escapes quotes within interpolated code. - _.template = function(text, data, settings) { - var render; - settings = _.defaults({}, settings, _.templateSettings); - - // Combine delimiters into one regular expression via alternation. - var matcher = new RegExp([ - (settings.escape || noMatch).source, - (settings.interpolate || noMatch).source, - (settings.evaluate || noMatch).source - ].join('|') + '|$', 'g'); - - // Compile the template source, escaping string literals appropriately. - var index = 0; - var source = "__p+='"; - text.replace(matcher, function(match, escape, interpolate, evaluate, offset) { - source += text.slice(index, offset) - .replace(escaper, function(match) { return '\\' + escapes[match]; }); - - if (escape) { - source += "'+\n((__t=(" + escape + "))==null?'':_.escape(__t))+\n'"; - } - if (interpolate) { - source += "'+\n((__t=(" + interpolate + "))==null?'':__t)+\n'"; - } - if (evaluate) { - source += "';\n" + evaluate + "\n__p+='"; - } - index = offset + match.length; - return match; - }); - source += "';\n"; - - // If a variable is not specified, place data values in local scope. - if (!settings.variable) source = 'with(obj||{}){\n' + source + '}\n'; - - source = "var __t,__p='',__j=Array.prototype.join," + - "print=function(){__p+=__j.call(arguments,'');};\n" + - source + "return __p;\n"; - - try { - render = new Function(settings.variable || 'obj', '_', source); - } catch (e) { - e.source = source; - throw e; - } - - if (data) return render(data, _); - var template = function(data) { - return render.call(this, data, _); - }; - - // Provide the compiled function source as a convenience for precompilation. - template.source = 'function(' + (settings.variable || 'obj') + '){\n' + source + '}'; - - return template; - }; - - // Add a "chain" function, which will delegate to the wrapper. - _.chain = function(obj) { - return _(obj).chain(); - }; - - // OOP - // --------------- - // If Underscore is called as a function, it returns a wrapped object that - // can be used OO-style. This wrapper holds altered versions of all the - // underscore functions. Wrapped objects may be chained. - - // Helper function to continue chaining intermediate results. - var result = function(obj) { - return this._chain ? _(obj).chain() : obj; - }; - - // Add all of the Underscore functions to the wrapper object. - _.mixin(_); - - // Add all mutator Array functions to the wrapper. - each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) { - var method = ArrayProto[name]; - _.prototype[name] = function() { - var obj = this._wrapped; - method.apply(obj, arguments); - if ((name == 'shift' || name == 'splice') && obj.length === 0) delete obj[0]; - return result.call(this, obj); - }; - }); - - // Add all accessor Array functions to the wrapper. - each(['concat', 'join', 'slice'], function(name) { - var method = ArrayProto[name]; - _.prototype[name] = function() { - return result.call(this, method.apply(this._wrapped, arguments)); - }; - }); - - _.extend(_.prototype, { - - // Start chaining a wrapped Underscore object. - chain: function() { - this._chain = true; - return this; - }, - - // Extracts the result from a wrapped and chained object. - value: function() { - return this._wrapped; - } - - }); - -}).call(this); - -},{}],24:[function(require,module,exports){ -if (typeof(window) !== 'undefined' && typeof(window.requestAnimationFrame) !== 'function') { - window.requestAnimationFrame = ( - window.webkitRequestAnimationFrame || - window.mozRequestAnimationFrame || - window.oRequestAnimationFrame || - window.msRequestAnimationFrame || - function(callback) { setTimeout(callback, 1000 / 60); } - ); -} - -Leap = require("../lib/index"); - -},{"../lib/index":10}]},{},[24]) -; \ No newline at end of file diff --git a/index.html b/index.html index ede5963..446a591 100644 --- a/index.html +++ b/index.html @@ -16,12 +16,12 @@ - - + + - - + + diff --git a/quickstart.html b/quickstart.html index dafe85c..8b1172d 100644 --- a/quickstart.html +++ b/quickstart.html @@ -2,14 +2,15 @@ - - - + +

Rigged Hand - Quickstart

+

Bring your hand over the Leap, and you should see it displayed

+

This requires a WebGL enabled browser, such as chrome, safari with WebGL enabled, Firefox, or ie11