Skip to content

Instantly share code, notes, and snippets.

@todbot
Last active November 15, 2023 21:21
Show Gist options
  • Star 9 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save todbot/7b750c84d0bec4801baf570008253124 to your computer and use it in GitHub Desktop.
Save todbot/7b750c84d0bec4801baf570008253124 to your computer and use it in GitHub Desktop.
Demonstrate new synthio.Synthesizer as wavetable MIDI synth in CircuitPython
#
# wavetable_synthio_synth.py -- Demonstrate new synthio.Synthesizer as wavetable MIDI synth
# 15 Apr 2023 - @todbot / Tod Kurt
# video demo: https://www.youtube.com/watch?v=uUnS3nR2K-8
#
# Hooked up to generic I2S DAC
# Uses two pots:
# knobA - selects the base wave
# knobB - selects the mix between base wave and next wave
#
import time
import board
import analogio
import audiobusio, audiomixer
import synthio
import ulab.numpy as np
import usb_midi
import adafruit_midi
from adafruit_midi.note_on import NoteOn
from adafruit_midi.note_off import NoteOff
import neopixel
#from waveforms_akwf_0018 import waveforms, waveforms_names
from waveforms_akwf_granular import waveforms, waveforms_names
num_waveforms = len(waveforms)
SAMPLE_RATE = 28000 # clicks @ 36kHz & 48kHz on rp2040
SAMPLE_SIZE = len(waveforms[0])
VOLUME = 4000
# pimoroni pico dv board
# lck_pin, bck_pin, dat_pin = board.GP28, board.GP27, board.GP26
# qtpy rp2040 SPI pins
lck_pin, bck_pin, dat_pin = board.MISO, board.MOSI, board.SCK
knobA_pin = board.A1
knobB_pin = board.A2
# map s range a1-a2 to b1-b2
def map_range(s, a1, a2, b1, b2): return b1 + ((s - a1) * (b2 - b1) / (a2 - a1))
# mix between values a and b, works with numpy arrays too, t ranges 0-1
def lerp(a, b, t): return (1-t)*a + t*b
def make_amp_envelope(velocity=127):
max_time = 200 # let's declare we have this many units of time to use
attack_time = int(map_range(velocity, 0,127, 99, 50)) # allow 50-99 units for attack, hard vel=faster attack
release_time = int(map_range(velocity, 0,127, 50, 99)) # allow 50-99 units for release
sustain_time = max_time - attack_time - release_time # sustain gets remainder (sustain by synth, not env)
print("sustain_time:",sustain_time)
peak_level = 1 # or map_range(velocity, 0,127, 0.3,1)
adsr = np.array( np.concatenate((
np.linspace(.1, peak_level, num=attack_time, endpoint=False),
np.linspace(peak_level, peak_level, num=sustain_time, endpoint=False), # filler
np.linspace(peak_level, 0, num=release_time, endpoint=True)**2, # exp decay
)) * 32767, dtype=np.int16 )
return (adsr, 100+sustain_time) # FIXME: has to be longest possible attack time
# synth engine setup
(amp_env,hold_index) = make_amp_envelope(10)
print("hold_index:", hold_index, "amp_env:", list(amp_env))
waveform = np.zeros(SAMPLE_SIZE, dtype=np.int16) # intially all zeros (silence)
synth = synthio.Synthesizer(sample_rate=SAMPLE_RATE, waveform=waveform,
envelope=amp_env, envelope_sustain_index=hold_index )
audio = audiobusio.I2SOut(bit_clock=bck_pin, word_select=lck_pin, data=dat_pin)
mixer = audiomixer.Mixer(voice_count=1, sample_rate=SAMPLE_RATE, channel_count=1,
bits_per_sample=16, samples_signed=True, buffer_size=2048 )
audio.play(mixer)
mixer.voice[0].play(synth)
midi = adafruit_midi.MIDI(midi_in=usb_midi.ports[0], in_channel=0 )
# waveforms setup
saw = np.linspace(VOLUME, -VOLUME, num=SAMPLE_SIZE, dtype=np.int16)
sine = np.array(np.sin(np.linspace(0, 2*np.pi, SAMPLE_SIZE, endpoint=False)) * VOLUME, dtype=np.int16)
waveform[:] = saw
# knob & LED setup
led = neopixel.NeoPixel(board.NEOPIXEL, 1, brightness=0.2)
knobA = analogio.AnalogIn(knobA_pin)
knobB = analogio.AnalogIn(knobB_pin)
knobA_val = knobA.value
knobB_val = knobB.value
knob_filt = 0.8 # simple low-pass filter on noisy knobs
wave_index = 0
wave_mix = 0
last_debug_time = time.monotonic()
print("wavetable_synthio_synth ready")
while True:
# handle midi
msg = midi.receive()
if isinstance(msg, NoteOn) and msg.velocity != 0:
print("noteOn: ", msg.note)
led.fill(0xff00ff)
(amp_env[:], hold_i ) = make_amp_envelope(msg.velocity)
synth.press( (msg.note,) )
elif isinstance(msg,NoteOff) or isinstance(msg,NoteOn) and msg.velocity==0:
print("noteOff:", msg.note)
led.fill(0x00000)
synth.release_then_press( release=(msg.note,), press=() ) # no ".release()"
# handle knobs
knobA_val = knob_filt * knobA_val + (1-knob_filt)* knobA.value
knobB_val = knob_filt * knobB_val + (1-knob_filt)* knobB.value
wave_index = int((num_waveforms-1) * knobA_val // 65535) # map knobA_val to wavetable index
wave_mix = 1.0 * knobB_val / 65535
waveform[:] = lerp( waveforms[wave_index], waveforms[wave_index+1], wave_mix )
# debug info
if time.monotonic() - last_debug_time > 0.5:
last_debug_time = time.monotonic()
print("wave_index:",wave_index,"wave_mix:",wave_mix)
#
# generated by 'wavsmash.py' by @todbot
# make smaller with mpy-cross
import ulab.numpy as np
waveforms = (
np.array((576,2212,3794,5382,6942,8468,9956,11408,12810,14160,15462,16707,17895,19025,20103,21103,22077,22817,23479,24091,24651,25169,25641,26067,26459,26811,27125,27407,27665,27891,28093,28269,28431,28573,28701,28805,28903,28997,29085,29163,29227,29299,29391,29473,29545,29623,29683,29611,29535,29455,29409,29415,29417,29395,29395,29457,29549,29611,29647,29737,29895,30043,30121,30189,30353,30573,30701,30723,30807,31055,31313,31323,31097,30963,32767,-8066,-15892,-15804,-15564,-15196,-14650,-14126,-13736,-13386,-12952,-12454,-12008,-11630,-11240,-10792,-10330,-9922,-9544,-9128,-8668,-8228,-7828,-7434,-6994,-6528,-6100,-5702,-5280,-4808,-4338,-3918,-3510,-3038,-2524,-2046,-1628,-1182,-638,-82,386,810,1332,1968,2546,2984,3454,4124,4866,5410,5796,6386,7288,8120,8490,8692,9582,11238,15318,-24339,-27233,-28163,-27729,-26667,-25945,-25807,-25691,-25169,-24465,-24037,-23853,-23561,-23047,-22567,-22323,-22157,-21865,-21493,-21237,-21137,-21027,-20813,-20613,-20541,-20535,-20467,-20355,-20297,-20321,-20341,-20305,-20259,-20263,-20291,-20283,-20233,-20187,-20161,-20111,-20021,-19897,-19767,-19615,-19419,-19181,-18907,-18601,-18241,-17831,-17373,-16855,-16276,-15636,-14820,-13956,-13022,-12028,-10988,-9922,-8782,-7574,-6326,-5054,-3746,-2390,-1000,), dtype=np.int16),
np.array((36,1316,2893,4681,6644,8775,11039,13322,15572,17800,19937,21864,23629,25058,26149,26927,22473,18651,20133,21413,22532,23643,24287,24612,24867,25223,25692,26088,26519,27172,27971,28086,28316,28824,29067,28994,29366,30060,29782,27759,-15251,-11919,-10284,-9752,-9279,-8279,-7329,-6701,-5976,-5040,-4222,-3515,-2674,-1750,-944,-134,840,1831,2682,3631,4849,5964,6592,8584,-28637,-27495,-26783,-26297,-25560,-24681,-23978,-23361,-22676,-22065,-21638,-21277,-20940,-20704,-20546,-20369,-20180,-19689,-19023,-18265,-17404,-16322,-14955,-17347,-17437,-16279,-14341,-12132,-9918,-7593,-5172,-2851,-694,1330,3052,4985,6632,8058,9232,10140,10889,11502,11969,12337,12678,13011,13324,13671,14151,14711,15318,16092,17071,18068,19104,20363,21669,22753,23858,25174,26234,26839,27727,29155,30251,3828,3757,4993,6452,7432,8267,9299,10288,11112,11939,12788,13574,14346,15101,15781,16502,17284,17891,18426,19220,20225,20781,21401,18468,-28982,-28245,-28452,-28322,-27786,-26835,-26005,-25022,-23972,-23137,-22390,-21537,-20712,-20093,-19084,-17904,-16732,-15592,-14236,-12650,-11212,-9886,-8034,-27376,-24504,-23216,-21982,-20168,-18251,-16553,-14825,-12973,-11291,-9855,-8503,-7268,-6287,-5495,-4782,-4195,-3736,-3312,-2881,-2461,-2000,-1441,-759,), dtype=np.int16),
np.array((678,2282,3944,5604,7254,8874,10456,11987,13457,14851,16196,17468,18675,19810,20880,21885,22828,23707,24528,25295,26016,26694,27317,27886,28402,28887,29360,29812,30209,30535,30813,31094,31404,31700,31915,32021,32093,32225,32449,32657,32701,32583,31955,31458,31184,30851,30096,28937,27662,29854,-30789,-30441,-29466,-28735,-28575,-28787,-28967,-28891,-28591,-28286,-28108,-28020,-27904,-27658,-27309,-26959,-26652,-26360,-26026,-25607,-25131,-24640,-24158,-23643,-23082,-22456,-21787,-21080,-20345,-19562,-18723,-17828,-16881,-15880,-14831,-13737,-12578,-11363,-10101,-8796,-7456,-6087,-4701,-3311,-1932,-576,740,2006,3125,4152,5137,6077,6968,7807,8601,9348,10049,10704,11323,11895,12428,12928,13393,13822,14218,14580,14913,15217,15487,15734,15956,16154,16328,16475,16607,16721,16819,16893,16945,16985,17021,17047,17059,17045,17011,16973,16941,16915,16873,16787,16673,16577,16525,16487,16405,16461,11477,12001,12534,13075,13505,13673,13669,14100,-7538,-16741,-16905,-16969,-17256,-17782,-18365,-18841,-19190,-19486,-19835,-20263,-20704,-21078,-21372,-21639,-21925,-22233,-22516,-22740,-22900,-23026,-23134,-23224,-23260,-23226,-23118,-22950,-22726,-22426,-22037,-21550,-20956,-20263,-19454,-18513,-17444,-16230,-14879,-13375,-11733,-9949,-8031,-5994,-3854,-1653,), dtype=np.int16),
np.array((238,1151,2267,1360,2735,4106,5490,6867,8286,9458,10626,11768,12831,13712,14537,15314,15880,16375,16831,17252,17650,18027,18392,18760,19123,19496,19881,20283,20698,21134,21573,21951,22898,8581,9974,10833,11701,12566,13421,14266,15095,15902,16691,17455,18204,18926,19627,20311,20981,21643,22294,22936,23578,24218,24860,25505,26153,26805,27449,28069,28633,28633,24066,4647,6247,7315,8380,9450,10517,11575,12617,13638,14619,15591,16534,17433,18332,19067,19779,20471,21033,21326,21613,21888,22063,22231,22406,22587,22771,22958,23131,22850,82,-14419,-13771,-13086,-12370,-11621,-10865,-10058,-9229,-8380,-7511,-6624,-5725,-4814,-3889,-2956,-2016,-1073,-148,790,1729,2663,3588,4501,5410,6311,7218,8167,9309,13096,-25567,-24467,-24108,-23654,-23219,-22795,-22374,-21957,-21539,-21112,-20676,-20225,-19765,-19283,-18786,-18270,-17738,-17184,-16616,-16034,-15440,-14826,-14262,-13468,-12683,-11902,-11035,-9954,-9042,-7435,-29625,-27843,-26950,-26061,-25176,-24295,-23414,-22531,-21643,-20754,-19843,-18910,-17963,-16990,-15994,-14975,-13929,-12863,-11780,-10678,-9566,-8446,-7345,-6237,-5153,-4091,-3072,-2121,-1418,-2723,-9193,-8501,-8003,-7529,-7096,-6660,-6239,-5821,-5406,-4983,-4543,-4081,-3588,-3060,-2490,-1874,-1214,-507,), dtype=np.int16),
np.array((192,1234,2272,3305,4333,5347,6349,7340,8314,9270,10211,11119,12015,12891,13742,14572,15374,16152,16907,17631,18333,19007,19660,20282,20872,21446,21994,22518,23021,23497,23955,24383,24797,25187,25553,25907,26230,26548,26840,27114,27382,27616,27860,28064,28266,28460,28618,28792,28930,29064,29196,29292,29416,29487,29579,29653,29701,29779,29799,29853,29879,29887,29925,29901,29927,29907,29885,29891,29823,29835,29769,29727,29705,29603,29599,29493,29442,29386,29256,29248,29094,29046,28960,28804,28800,28588,28560,28436,28248,28298,27948,28032,27856,27384,28300,24421,11413,13320,12997,12923,13376,13035,13446,13364,13025,15192,-24827,-28638,-27784,-28252,-28458,-28348,-28676,-28632,-28798,-28916,-28990,-29338,-29436,-29693,-29891,-30031,-30301,-30413,-30645,-30809,-30959,-31181,-31285,-31497,-31631,-31771,-31953,-32043,-32223,-32321,-32443,-32579,-32645,-32767,-32571,-32425,-32265,-32065,-31913,-31691,-31503,-31295,-31059,-30855,-30593,-30363,-30097,-29823,-29559,-29250,-28964,-28642,-28318,-27992,-27630,-27268,-26846,-26566,-26254,-25909,-25561,-25181,-24787,-24371,-23927,-23473,-22981,-22474,-21940,-21378,-20806,-20192,-19559,-18897,-18209,-17491,-16749,-15980,-15186,-14366,-13518,-12649,-11755,-10853,-9917,-8960,-7988,-6998,-5993,-4979,-3955,-2918,-1882,-838,), dtype=np.int16),
np.array((92,2165,4474,6735,8936,11060,13087,15008,16815,18490,20065,21523,22862,24093,25213,26232,27156,27987,28731,29394,29974,30484,30928,31331,31683,31989,32239,32267,32115,31917,31697,31477,31257,31015,30732,30376,29948,29486,29033,28635,28303,27995,27633,27156,26542,25854,25201,24715,24467,24451,24541,24317,20403,-25053,-23100,-23588,-24261,-24823,-25179,-25313,-25331,-25311,-25337,-25445,-25610,-25774,-25890,-25932,-25912,-25852,-25784,-25724,-25656,-25568,-25441,-25257,-25023,-24743,-24423,-24063,-23663,-23204,-22690,-22104,-21445,-20723,-19918,-19030,-18059,-16997,-15844,-14598,-13255,-11816,-10293,-8684,-6997,-5250,-3477,-1644,200,2045,3866,5655,7390,9056,10647,12154,13571,14890,16104,17239,18280,19234,20099,20889,21599,22238,22808,23320,23767,24163,24511,24805,25057,25275,25453,25594,25704,25786,25840,25866,25868,25848,25802,25736,25654,25558,25447,25327,25193,25037,24853,24645,24315,24369,24447,24531,24587,24601,24529,23975,-17057,-25496,-26514,-27202,-27755,-28213,-28621,-29019,-29430,-29856,-30298,-30728,-31129,-31495,-31819,-32113,-32389,-32645,-32715,-32647,-32537,-32375,-32171,-31915,-31613,-31261,-30858,-30396,-29868,-29262,-28583,-27819,-26970,-26028,-25007,-23863,-22614,-21251,-19772,-18173,-16457,-14624,-12676,-10631,-8492,-6277,-4000,-1724,), dtype=np.int16),
np.array((198,2776,5441,8031,10454,12653,14609,16333,17824,19130,20260,21227,22043,22721,23269,23699,24019,24243,24385,24461,18630,-26956,-28048,-29175,-30249,-31227,-32073,-32631,-32359,-31817,-30941,-29663,-27900,-25596,-22591,-18834,-14291,-9016,-3212,2794,8624,13943,18544,22353,25408,27780,29553,30855,31751,32315,32611,32687,32593,32351,31983,31491,30871,30097,28895,-28240,-30489,-31343,-31975,-32431,-32697,-32767,-32615,-32217,-31525,-30489,-29035,-27090,-24519,-21237,-17178,-12339,-6829,-902,5081,10748,15805,20102,23615,26396,28510,30109,31245,31995,31955,31437,30729,29887,28943,27908,26784,25560,24077,22781,-22207,-22735,-22709,-22471,-22065,-21497,-20773,-19896,-18872,-17698,-16361,-14857,-13141,-11206,-9054,-6717,-4259,-1796,522,2548,4167,5339,6079,6445,6503,6319,5949,5449,4847,4183,3480,2756,2028,1304,590,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,0,0,0,0,0,0,0,0,-478,-1168,-1882,-2596,-3336,-4074,-4795,-5487,-6119,-6669,-7095,-7357,-7399,-7157,-6559,-5543,-4076,-2132,), dtype=np.int16),
np.array((1099,5307,9366,12884,15846,18248,20157,21654,22796,23589,24168,24427,24351,-27001,-28666,-30491,-31954,-32615,-31934,-30385,-27741,-23615,-17653,-9745,-458,8899,16976,23128,27416,30167,31782,32605,32747,32379,31888,30670,29590,-30666,-31109,-32305,-32655,-32705,-32265,-30972,-28746,-25140,-19803,-12502,-3548,5952,14559,21353,26212,29430,31393,32126,31409,30061,28312,26817,24244,17981,-23557,-22575,-22179,-21069,-19720,-18096,-15946,-13355,-10204,-6551,-2624,1059,3938,5712,6459,6423,5868,5010,3942,2810,1640,504,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,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1071,-2225,-3410,-4564,-5666,-6585,-7232,-7411,-6868,-5331,-2620,), dtype=np.int16),
np.array((858,4110,7420,10743,14037,17246,20330,23202,25889,28307,30133,31401,32263,32707,32729,32327,31511,30281,28663,26679,24372,21728,18802,15633,12265,8735,5092,1384,-2340,-6036,-9653,-13143,-16466,-19540,-22404,-24973,-27219,-29117,-30633,-31759,-32471,-32764,-32633,-32083,-31117,-29767,-28015,-25907,-23460,-20708,-17692,-14447,-11015,-7440,-3768,-50,3670,7342,10879,14317,17570,20598,23358,25819,27941,29705,31085,32061,32625,32766,32485,31793,30685,29183,27299,25063,22506,19658,16554,13233,9747,6130,2438,-1240,-4952,-8597,-12131,-15507,-18684,-21618,-24276,-26617,-28617,-30245,-31479,-32313,-32717,-32207,-31289,-29987,-28331,-26349,-24084,-21576,-18868,-15999,-13019,-9973,-6900,-3888,-902,1982,4726,7298,9669,11807,13691,15315,16656,17708,18466,18934,19116,19032,18684,18094,17282,16265,15081,13749,12301,10763,9167,7538,5934,4332,2780,1308,-66,-1328,-2458,-3448,-4280,-4962,-5478,-5812,-5884,-5696,-5268,-4622,-3776,-2772,-1632,-404,874,2174,3440,4640,5734,6682,7438,8050,8154,8118,7912,7540,6986,6258,5354,4276,3034,1644,142,-1496,-3230,-5036,-6880,-8741,-10585,-12383,-14101,-15705,-17172,-18462,-19550,-20400,-21012,-21352,-21402,-21148,-20576,-19692,-18494,-16980,-15163,-13059,-10689,-8078,-5288,-2286,), dtype=np.int16),
np.array((366,2426,4476,6506,8489,10461,12393,14275,16099,17864,19556,21170,22700,24140,25487,26731,27869,28891,29677,30313,30821,31201,31453,31577,31573,31443,31189,30813,30319,29717,28999,28171,27237,26209,25085,23876,22582,21216,19778,18280,16726,15123,13497,11817,10113,8387,6646,4902,3158,1424,-294,-1988,-3654,-5286,-6874,-8399,-9887,-11317,-12685,-13981,-15203,-16353,-17418,-18400,-19292,-20098,-20812,-21424,-21948,-22378,-22712,-22948,-23090,-23134,-23088,-22948,-22716,-22398,-21992,-21506,-20946,-20304,-19588,-18808,-17958,-17054,-16091,-15081,-14025,-12929,-11797,-10643,-9453,-8339,-7176,-5988,-4774,-3540,-2294,-1040,222,1504,2802,4110,5424,6718,8024,9317,10593,11845,13069,14257,15405,16510,17562,18558,19492,20364,21152,21876,22520,23084,23562,23948,24244,24444,24548,24550,24456,24258,23962,23568,23068,22468,21770,20970,20080,19092,18016,16852,15605,14279,12879,11429,9895,8303,6654,4960,3228,1460,-332,-2148,-3976,-5808,-7640,-9463,-11245,-13025,-14773,-16482,-18140,-19748,-21292,-22766,-24168,-25487,-26715,-27851,-28887,-29805,-30627,-31333,-31921,-32385,-32725,-32767,-32679,-32461,-32117,-31643,-31047,-30337,-29497,-28541,-27473,-26297,-25015,-23634,-22162,-20602,-18958,-17240,-15455,-13607,-11731,-9785,-7798,-5782,-3744,-1690,), dtype=np.int16),
np.array((1520,7816,12352,14172,13434,11002,7926,5020,2732,1196,358,40,0,-64,-476,-1572,-3616,-6860,-11228,-16184,-20507,-22373,-19963,-12542,-1308,10750,20213,24887,24603,20849,15466,10120,5756,2712,942,170,2,-32,-440,-1738,-4396,-8766,-14796,-22079,-28919,-32617,-30793,-22037,-7438,9278,23363,31339,32433,28267,21567,14476,8514,4238,1638,386,20,-4,-234,-1170,-3224,-6676,-11554,-17351,-23123,-26969,-26763,-21075,-10314,2930,14886,22451,24529,22111,17221,11804,7170,3722,1560,446,50,0,-66,-476,-1506,-3346,-6050,-9444,-12972,-15640,-16286,-13880,-8350,-906,6348,11432,13410,12606,10112,7106,4396,2382,1062,348,58,0,-8,-122,-450,-1068,-1976,-3100,-4248,-5106,-5304,-4590,-2988,-920,972,2160,2470,2110,1446,798,336,76,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,148,638,1168,1496,1518,1300,946,578,280,90,10,0,528,1640,2628,3166,3148,2696,2010,1296,702,294,74,2,-2,-60,-320,-940,-2078,-3832,-6112,-8646,-10678,-11200,-9300,-4766,), dtype=np.int16),
np.array((1240,5150,9200,13278,17273,21019,24507,27587,30165,31831,32621,32728,32155,30927,29085,26681,23785,20469,16869,12982,8948,4868,836,-3064,-6746,-10116,-13114,-15704,-17817,-19385,-20441,-21003,-20999,-20395,-19441,-20667,-27217,-25143,-24475,-24647,-24501,-23643,-22267,-20523,-18317,-15602,-12404,-8784,-4792,-526,3894,8348,12722,16895,20755,24201,27115,29497,31257,32351,32766,32495,31559,29985,27829,25145,22005,18495,14704,10774,6704,2636,-1332,-5122,-8642,-11818,-14596,-16925,-18747,-20037,-20815,-21063,-20747,-19921,-18867,-26583,-25697,-24171,-23641,-23319,-22375,-20907,-19091,-16961,-14518,-11718,-8638,-5358,-1956,1466,4806,7970,10876,13450,15630,17375,18659,19459,19801,19689,19149,18223,16961,15416,13652,11726,9706,7650,5616,3682,1846,170,-1308,-2570,-3604,-4400,-4956,-5284,-5404,-5330,-5090,-4714,-4248,-3696,-3950,-4258,-3484,-2998,-2600,-2150,-1668,-1190,-742,-348,10,0,0,0,0,0,0,54,260,614,1110,1720,2426,3182,3976,4756,5490,6134,6654,7022,7204,7184,6946,6484,5800,4898,3818,2552,1144,-366,-1950,-3550,-5118,-6618,-8006,-9218,-10224,-11014,-11540,-11734,-11634,-11412,-15822,-16523,-16088,-16361,-16897,-16979,-16593,-15846,-14740,-13216,-11198,-8712,-5778,-2434,), dtype=np.int16),
np.array((236,1893,3629,5409,7192,8940,10612,12167,13564,14770,15742,16472,16917,20079,20795,20618,20630,20650,20346,19630,18548,17135,15397,13361,10984,8313,5383,2234,-1072,-4481,-7918,-11319,-14610,-17722,-20590,-23150,-25322,-27112,-28212,-28625,-28537,-27863,-32413,-31323,-29962,-28813,-27669,-26084,-24041,-21674,-18993,-16051,-12870,-9485,-5934,-2276,1428,5114,8710,12151,15371,18275,20881,23107,24915,26272,27162,27565,27408,32705,31978,31150,30487,29767,28573,26859,24737,22262,19464,16359,12986,9381,5605,1727,-2184,-6052,-9808,-13335,-16652,-19656,-22290,-24510,-26280,-27573,-28376,-28679,-28499,-28563,-32369,-30900,-29663,-28563,-27346,-25653,-23524,-21059,-18314,-15315,-12083,-8653,-5070,-1394,2264,5938,9507,12904,16067,18935,21460,23594,25306,26565,27360,27701,28891,32601,31080,29902,28843,27633,25957,23885,21518,18919,16119,13159,10072,6954,3785,661,-2352,-5206,-7848,-10229,-12311,-14069,-15478,-16530,-17219,-17554,-17550,-17219,-16576,-17398,-18013,-16562,-15454,-14453,-13367,-12087,-10674,-9183,-7651,-6120,-4573,-3054,-1587,-200,1076,2226,3228,4064,4727,5132,5246,5088,4675,4036,3208,2236,1687,923,-306,-1386,-2356,-3250,-5010,-6012,-6583,-7152,-7627,-7782,-7583,-7206,-6655,-5932,-5030,-3948,-2697,-1288,), dtype=np.int16),
np.array((254,3954,7112,9816,12186,14290,16140,17747,19157,20423,21563,22555,23465,23685,24033,24435,24885,25369,25891,26443,27003,27563,28125,28687,29321,29763,30195,30497,30711,30907,31081,31241,31389,31525,31647,31759,31863,31957,32043,32123,32197,32263,32323,32377,32433,32483,32521,32555,32593,32635,32665,32685,32705,32738,32767,32717,32521,32345,32213,32107,32007,31933,31911,31911,31887,31835,31823,31877,32237,23893,17505,11850,7178,3318,122,-2638,-4982,-6934,-8552,-9916,-11078,-12048,-12838,-13482,-14014,-14450,-14790,-15036,-15214,-15344,-15422,-15442,-15418,-15358,-15274,-15158,-15006,-14832,-14642,-14436,-14212,-13962,-13700,-13438,-13164,-12868,-12558,-12250,-11946,-11626,-11284,-10940,-10616,-10286,-9928,-9556,-9200,-8866,-8516,-8126,-7726,-7380,-7078,-6754,-6322,-9672,-12156,-14480,-16503,-18223,-19701,-21005,-22157,-23157,-24039,-24843,-25573,-26181,-26669,-27129,-27785,-23913,-20949,-18303,-16118,-14386,-13042,-11962,-11060,-10336,-9800,-9422,-9130,-8912,-8778,-8734,-8752,-8800,-8882,-9014,-9190,-9386,-9594,-9820,-10080,-10358,-10640,-10930,-11234,-11558,-11888,-12216,-12548,-12898,-13254,-13610,-13958,-14314,-14690,-15066,-15430,-15792,-16168,-16561,-16945,-17309,-17677,-18073,-18479,-18849,-19199,-19581,-20013,-20435,-20769,-21007,-21459,-14152,-8812,-3950,), dtype=np.int16),
np.array((243,869,1123,1095,1032,1088,1245,1491,1680,1648,1648,1660,2111,4591,4321,-539,-2836,-3093,-768,1839,3591,5044,5942,4514,380,110,4406,6725,4529,2153,1213,231,38,-124,-9696,-24796,-13305,-6898,-3419,-887,1572,3431,5541,11393,5636,6698,10734,10942,7202,3878,2433,1374,2679,2582,-404,-2850,-5412,-7012,-772,2332,1894,948,60,-883,-1608,-1473,-911,-1022,-1829,-2314,-2514,-3003,-2594,-4424,-18271,-32031,-15511,-6857,-2461,167,1783,2347,2232,2008,1958,2079,2256,2373,2210,2008,1906,1908,3071,3099,617,-660,-1072,-116,1231,1940,2230,2256,1880,889,591,1483,2840,3667,3367,3615,3611,3196,3492,-5144,-10859,-5535,-2932,-1511,-475,581,1543,2059,6759,3913,3538,3313,2508,1475,613,207,-40,58,161,-233,-575,-827,-1034,-462,-8,10,-46,-104,-163,-209,-185,-108,-82,-94,-94,-72,-50,-8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,2,-82,-187,-344,-402,-108,12,-8,-72,-152,-263,-360,-322,-233,-283,-436,-545,-615,-764,-668,-1584,-6982,-9704,-4722,-2179,-738,), dtype=np.int16),
np.array((31127,27529,28651,27235,27449,26975,26429,26433,25707,25617,25163,24737,24569,23979,23835,23351,22999,22751,22209,22049,21549,21231,20957,20415,20291,19725,19491,19193,18521,18873,9800,-17621,-17051,-16669,-16419,-16008,-15700,-15346,-15012,-14650,-14342,-13956,-13640,-13296,-12910,-12640,-12210,-11932,-11570,-11176,-10946,-10456,-10254,-9832,-9460,-9274,-8660,-8636,-8060,-7620,-8958,6554,7352,6510,6342,6000,5548,5322,4872,4574,4216,3842,3528,3144,2814,2458,2110,1768,1412,1068,716,366,-6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,406,748,1106,1450,1804,2154,2498,2854,3198,3550,3896,4240,4590,4936,5284,5630,5978,6324,6670,7014,7362,7706,8046,8400,8728,9082,9422,9760,10118,10438,10804,11132,11468,11836,12134,12524,12822,13172,13544,13806,14252,14490,14876,15272,15404,16118,15962,6838,-16825,-17047,-17767,-17767,-18335,-18595,-18893,-19361,-19545,-20013,-20285,-20613,-21023,-21251,-21693,-21949,-22307,-22681,-22927,-23365,-23611,-23983,-24337,-24591,-25033,-25257,-25657,-25975,-26243,-26695,-26881,-27325,-27611,-27883,-28365,-28161,-28335,-28223,-28175,-28335,-28039,-28359,-28087,-28133,-28367,-27757,-28637,-27699,-26945,), dtype=np.int16),
np.array((22,546,1066,1583,2093,2603,3123,3630,4144,4660,5169,5679,6191,6701,7212,7716,8221,8737,9233,9730,10250,10756,11235,11761,12277,12733,13255,13804,14226,14726,15351,15729,16011,20531,-17528,-17505,-18299,-18833,-19164,-19753,-20320,-20704,-21223,-21796,-22216,-22677,-23262,-23715,-24139,-24720,-25206,-25599,-26164,-26692,-27057,-27594,-28174,-28524,-28625,-28794,-28651,-28501,-28767,-28680,-28286,-28779,-28976,-25488,28193,29072,27681,27212,27082,26298,25679,25405,24783,24117,23772,23240,22551,22141,21709,21000,20519,20180,19426,18823,19390,-17739,-17038,-16673,-16151,-15633,-15132,-14616,-14147,-13619,-13066,-12628,-12118,-11521,-11095,-10638,-9980,-9545,-9202,-8455,-7854,-9257,7442,6577,6345,5783,5176,4731,4221,3665,3167,2670,2140,1626,1116,601,-16,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,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,), dtype=np.int16),
np.array((694,2916,5066,7229,9421,11586,13628,15482,17145,18669,20123,21533,22866,24108,25168,25640,25980,26230,26422,26548,26590,26528,26370,26138,25856,25550,25212,24832,24406,23928,23414,22876,22324,21763,21183,20585,19965,19333,18687,18037,17385,16737,16070,15404,14740,14062,13402,12740,12080,11436,10785,10139,9511,8873,-2098,-8359,-5034,-6041,-6511,-5929,-5392,-4282,-3336,-2854,-2566,-2330,-1944,-1402,-824,-300,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,90,248,484,798,1190,1642,2134,2670,3242,3854,4510,5202,5917,6633,7351,8071,8801,9549,10299,11056,11802,12530,13242,13960,14668,15386,16094,16773,17447,18087,18717,19351,19955,20573,21169,21709,22284,22790,23298,23838,24276,24778,25226,25588,26070,26390,26746,27218,27359,27833,28115,28019,29511,-12636,-30797,-22030,-26126,-31773,-31315,-30621,-27535,-24134,-23978,-25764,-28225,-29961,-29565,-27899,-26470,-26236,-27575,-29561,-30951,-31227,-30509,-29693,-29619,-30401,-31647,-32583,-32715,-32169,-31401,-30935,-30973,-31243,-31317,-30849,-29827,-28551,-27353,-26380,-25526,-24502,-23100,-21305,-19249,-17173,-15200,-13302,-11322,-9127,-6701,-4154,-1644,), dtype=np.int16),
np.array((12,118,332,654,1082,1596,2180,2816,3504,4252,5054,5890,6732,7574,8424,9294,10182,11072,11936,12786,13624,14460,15296,16128,16937,17707,18449,19185,19925,20651,21333,21957,22581,23213,23823,24375,24879,25389,25923,26413,26793,27109,27505,28059,28497,28489,-14410,-24693,-28031,-28595,-30971,-30851,-27111,-23947,-24447,-27437,-29739,-29585,-27659,-26201,-26771,-28927,-30853,-31211,-30305,-29537,-29959,-31333,-32531,-32695,-31955,-31133,-30905,-31187,-31317,-30729,-29437,-27941,-26687,-25665,-24489,-22813,-20587,-18135,-15768,-13528,-11206,-8586,-5676,-2688,152,2786,5312,7862,10402,12878,15122,17101,18887,20579,22213,23725,25061,25649,26035,26307,26497,26583,26537,26355,26071,25729,25349,24919,24425,23863,23251,22613,21959,21295,20593,19859,19109,18351,17585,16815,16040,15258,14474,13688,12904,12132,11382,10622,9860,9108,3142,-8316,-5384,-5714,-6378,-5760,-4422,-3328,-2774,-2502,-2148,-1572,-892,-278,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,0,0,0,0,0,0,0,0,0,), dtype=np.int16),
np.array((4292,19507,30197,32507,25602,11614,-5016,-19203,-26852,-25994,-17811,-5308,7521,16965,20557,17833,10411,808,-7891,-13280,-14186,-10877,-4814,1910,7255,9819,9177,5881,1256,-3304,-6451,-7431,-6229,-3458,-118,2742,4342,4356,2964,734,-1586,-3300,-4018,-3628,-2376,-728,782,1736,1916,1368,340,-804,-1716,-2148,-2028,-1448,-620,184,748,1198,2212,3648,4816,4138,-796,-9141,-17517,-22482,-21573,-14698,-3910,7441,15966,19349,17027,10191,1296,-6827,-11876,-12696,-9517,-3674,2816,7963,10561,10141,7155,2732,-1686,-4836,-5937,-4878,-2234,1128,4152,6007,6277,5060,2862,418,-1538,-2504,-2308,-1134,568,2234,3416,3796,3350,2278,948,-234,-964,-1082,-636,174,1066,1752,2060,1918,1400,678,-30,-540,-740,-622,-272,170,850,3870,9595,16070,20229,19783,14194,4832,-5601,-14076,-18255,-17215,-11564,-3100,5436,11426,13386,10954,5208,-1852,-8005,-11478,-11458,-8255,-3110,2254,6213,7693,6497,3188,-1052,-4872,-7159,-7355,-5579,-2530,776,3334,4456,3940,2122,-374,-2724,-4230,-4508,-3574,-1798,222,1882,2730,2596,1618,172,-1244,-2238,-2526,-2074,-1074,140,1202,1816,1852,1358,532,-338,-1024,-2952,-7655,-13872,-18769,-18277,-9939,), dtype=np.int16),
np.array((804,7310,14338,21133,26897,30939,32736,31999,28709,23117,15688,7188,-1850,-10548,-18179,-24121,-27931,-29369,-28415,-25261,-20277,-13986,-6994,56,6480,11906,15840,18017,18345,16891,13876,9654,4646,-666,-5810,-10354,-13942,-16294,-17341,-17031,-15388,-12422,-8340,-3526,1540,6350,10420,13372,14942,15028,13742,11284,7914,3964,-214,-4262,-7866,-10768,-12782,-13816,-13860,-12992,-11370,-9146,-6554,-3820,-1170,1200,3144,4544,5354,5562,5212,4384,3186,1768,224,-1478,-3858,-7158,-11296,-15918,-20515,-24455,-27321,-28511,-27751,-25011,-20381,-14222,-7042,548,7904,14412,19531,22871,24203,23493,20879,16663,11352,5326,-796,-6484,-11256,-14746,-16709,-17043,-15800,-13162,-9424,-4964,-200,4388,8528,11834,14072,15106,14920,13460,10280,5258,-1308,-8816,-16471,-23395,-28733,-31965,-32595,-30473,-25751,-18825,-10566,3966,12564,20431,26487,30281,31571,30383,26899,21525,14812,7410,-6,-6794,-12406,-16413,-18553,-18747,-17081,-13854,-9354,-4078,1472,6802,11746,16385,20735,24633,27799,29923,30709,29945,27581,23615,18269,11888,4922,-2106,-8670,-14264,-18475,-20991,-21659,-20475,-17577,-13166,-7808,-2002,3736,8928,13164,16130,17643,17649,16226,13570,9968,5832,1436,-2790,-6502,-9426,-11362,-12210,-11968,-10732,-8368,-4498,), dtype=np.int16),
np.array((218,1454,3038,4584,6122,7646,9152,10636,12096,13528,14928,16294,17623,18909,20137,21333,22481,23577,24619,25605,26533,27401,28211,28957,29643,30263,30823,31305,31699,32033,32303,32511,32657,32742,32767,32742,32657,32521,32333,32101,31819,31493,31123,30715,30269,29789,29277,28733,28163,27567,26947,26309,25661,24989,24303,23605,22899,22185,21467,20745,20021,19299,18577,17861,17149,16451,15754,15064,14386,13718,13064,12422,11794,11180,10582,9998,9430,8882,8346,7826,7320,6830,6358,5898,5456,5026,4610,4210,3820,3442,3078,2722,2374,2036,1706,1380,1060,744,432,124,-182,-492,-800,-1108,-1424,-1742,-2066,-2396,-2736,-3080,-3434,-3800,-4176,-4564,-4964,-5370,-5796,-6238,-6694,-7164,-7648,-8150,-8668,-9202,-9752,-10318,-10900,-11496,-12100,-12728,-13370,-14026,-14694,-15374,-16068,-16771,-17477,-18185,-18897,-19611,-20329,-21039,-21755,-22467,-23173,-23873,-24561,-25239,-25899,-26547,-27173,-27777,-28359,-28907,-29433,-29925,-30387,-30809,-31195,-31537,-31837,-32091,-32295,-32451,-32553,-32601,-32593,-32529,-32407,-32223,-31979,-31673,-31303,-30871,-30375,-29815,-29193,-28509,-27761,-26961,-26093,-25163,-24177,-23133,-22043,-20901,-19711,-18475,-17195,-15874,-14514,-13140,-11714,-10262,-8784,-7286,-5770,-4238,-2698,-1138,), dtype=np.int16),
np.array((1691,6472,10718,14704,18245,21524,24443,27033,29260,31112,32198,32721,30817,27695,25609,23823,22276,20852,19542,18292,17126,16002,14943,13918,12935,11984,11067,10178,9315,8478,7674,6883,6113,5361,4626,3912,3216,2536,1871,1221,589,-28,-623,-1213,-1791,-2355,-2907,-3444,-3968,-4482,-4981,-5471,-5946,-6352,-6689,-6998,-7285,-7547,-7786,-8001,-8196,-8366,-8565,-8866,-9159,-9443,-9718,-9983,-10236,-10485,-10722,-10954,-11175,-11388,-11590,-11787,-11974,-12150,-12321,-12481,-12630,-12774,-12906,-13033,-13151,-13262,-13362,-13450,-13536,-13609,-13679,-13733,-13787,-13821,-13859,-13878,-13902,-13902,-13894,-6418,658,5804,9652,13330,16510,19287,21608,23600,25185,26425,27262,27762,26572,23743,21911,20374,19028,17802,16664,15615,14606,13653,12738,11863,11020,10208,9421,8663,7925,7208,6512,5844,5184,4544,3918,3308,2712,2130,1562,1011,469,-56,-569,-1075,-1560,-2042,-2511,-2971,-3416,-3854,-4281,-4696,-5102,-5501,-5884,-6261,-6627,-6982,-7327,-7664,-7993,-8314,-8621,-8922,-9213,-9496,-9769,-10033,-10288,-10531,-10768,-10998,-11217,-11428,-11628,-11821,-12008,-12182,-12353,-12507,-12662,-12800,-12937,-13051,-13175,-13278,-13380,-13466,-13553,-13623,-13687,-13747,-13787,-13839,-13851,-13902,-13870,-13958,-13681,-4666,), dtype=np.int16),
np.array((16,4980,9982,14798,19385,23505,27003,29735,31573,32455,32758,32726,32673,32597,32497,32369,32207,32011,31781,31511,31201,30851,30457,30017,29537,29007,28433,27813,27151,26437,25677,24869,24015,23117,22171,21183,20153,19079,17967,16815,15626,14416,13160,11872,10554,9208,7838,6444,5032,3604,2158,702,-762,-2206,-3616,-4980,-6292,-7552,-8756,-9904,-10990,-12016,-12970,-14146,-15298,-16427,-17517,-18589,-19627,-20635,-21603,-22535,-23425,-24275,-25077,-25835,-26547,-27207,-27819,-28371,-28875,-29327,-29721,-30061,-30343,-30567,-30735,-30841,-30889,-30877,-30693,-30143,-29095,-27465,-25221,-22361,-18911,-14942,-10542,-5824,-922,4010,8834,13390,17481,21069,23985,26131,27431,27845,27827,27799,27757,27695,27613,27503,27369,27207,27011,26783,26521,26223,25889,25519,25107,24657,24169,23637,23067,22463,21815,21123,20393,19625,18817,17973,17091,16170,15220,14232,13216,12170,11104,10002,8874,7722,6550,5356,4148,2926,1690,444,-806,-2066,-3328,-4574,-5832,-7088,-8334,-9572,-10796,-12004,-13196,-14366,-15516,-16639,-17735,-18801,-19823,-20821,-21783,-22707,-23591,-24431,-25225,-25977,-26675,-27327,-27929,-28475,-28965,-29407,-29791,-30121,-30389,-30605,-30759,-30855,-30891,-30863,-30619,-29975,-28811,-27087,-24723,-21747,-18197,-14134,-9664,-4902,), dtype=np.int16),
np.array((136,1626,2950,4144,5234,6254,7224,8158,9052,9884,10634,11308,11910,12508,13110,13708,14270,14746,15114,15386,15618,15878,16216,16609,16981,17157,17017,16328,5238,-23189,-20567,-18043,-15590,-13222,-11028,-9062,-7334,-5836,-4402,-3008,-1626,-282,970,2078,3034,3868,4616,5304,5932,6490,6956,7322,7592,7790,7930,8020,8060,8042,7962,6756,5440,4438,3602,2884,2242,1666,1178,770,442,184,-4,-130,-200,-220,-198,-134,-30,112,296,516,770,1044,1330,1626,1936,2268,2632,3030,3438,3822,4146,4386,4462,-6648,-11334,-10246,-9230,-8230,-7266,-6352,-5496,-4706,-3916,-3116,-2292,-1452,-622,180,950,1688,2414,3128,3836,4496,5078,5618,6114,6570,6992,7382,7734,8040,8290,8456,7326,6126,5192,4372,3618,2910,2230,1570,932,316,-270,-838,-1380,-1882,-2358,-2796,-3212,-3592,-3944,-4266,-4560,-4824,-5058,-5266,-5444,-5596,-5718,-5808,-5874,-5910,-5918,-5916,-5914,-5910,-5908,-5906,-5902,-5900,-5896,-5894,-5892,-5888,-5886,-5884,-5878,-5876,-5874,-5868,-5866,-5864,-5860,-5860,-5858,-5852,-5848,-5846,-5842,-5840,-5840,-5838,-5836,-5826,-5820,-5814,-5816,-5822,-5826,-5822,-5810,-5796,-5782,-5780,-5794,-5816,-3782,-1568,), dtype=np.int16),
np.array((204,1430,2628,3786,4892,5978,7018,8008,8964,9870,10718,11524,12274,12972,13604,14194,14720,15170,15576,15932,16190,16338,16971,17539,16975,15680,15446,15280,15054,14762,14410,13996,13522,12994,12408,11762,11064,10316,9514,8662,7758,6812,5832,4794,3714,2594,1436,250,-974,-2226,-3502,-4802,-6122,-7472,-8668,-9790,-10916,-12040,-13152,-14250,-15332,-16403,-17449,-18481,-19489,-20465,-21393,-22261,-23065,-23817,-24509,-25129,-25691,-26171,-26581,-26913,-27167,-27339,-27431,-27435,-27359,-27199,-26953,-26623,-26213,-25721,-25151,-24501,-23783,-22995,-22135,-21213,-20235,-19217,-18133,-17007,-15838,-14632,-13402,-12146,-10878,-9602,-8318,-7050,-5788,-4546,-3352,-2176,-1046,28,1050,2004,2888,3694,4420,5060,5614,6074,6436,6708,6884,6964,6948,6834,6628,6330,5938,5454,4886,4236,3504,2706,1828,880,-128,-1196,-2318,-3480,-4686,-5924,-7190,-8476,-9776,-11086,-12382,-13688,-14982,-16264,-17529,-18765,-19967,-21141,-22269,-23363,-24405,-25401,-26333,-27221,-28051,-28819,-29521,-30163,-30729,-31229,-31655,-32007,-32285,-32509,-32732,-32477,-32199,-31861,-31459,-31009,-30505,-29945,-29341,-28689,-27987,-27253,-26113,-24929,-23729,-22475,-21205,-19907,-18585,-17251,-15894,-14530,-13162,-11788,-10406,-9032,-7680,-6320,-4976,-3650,-2336,-1052,), dtype=np.int16),
np.array((258,1408,670,2334,3878,3558,5500,5484,6350,8230,7444,7970,10508,13292,14742,14520,17299,20035,20419,21759,22081,25155,28269,27099,27179,27681,27141,29505,31085,31911,31969,30587,30115,29725,29947,29495,29367,29509,26787,23791,21691,19257,18911,18251,15492,13100,9734,6270,4538,2004,404,-1492,-4654,-7484,-10806,-13290,-15604,-17171,-18861,-21123,-23167,-25545,-26933,-27909,-29483,-30293,-30995,-32021,-32073,-32479,-32657,-31817,-31225,-30131,-29195,-28387,-26575,-24893,-22695,-20603,-19271,-17229,-15590,-13590,-11554,-9864,-7884,-6442,-5372,-4262,-3570,-2234,-962,-198,298,262,-216,-204,-380,-656,-1070,-1614,-2196,-3176,-4020,-4970,-5370,-5420,-5962,-6122,-6990,-7520,-7550,-8076,-7800,-7822,-7782,-7276,-6874,-6600,-5856,-5578,-4742,-3730,-3400,-2804,-2484,-1932,-1408,-998,-300,-30,560,924,1316,2078,2304,2806,3308,3234,3910,4530,4722,5760,5154,6056,7122,6594,7304,6832,6962,7538,7170,7496,6568,6042,6026,5594,5534,4374,3972,2800,1338,834,-32,-178,-896,-1470,-2120,-4034,-4730,-4724,-4902,-4634,-4562,-4632,-4832,-5344,-5896,-4988,-4386,-3930,-3490,-3428,-3710,-3898,-2854,-2226,-2158,-1502,-1820,-956,-1450,-1540,-1154,-1478,-1234,-2534,-1730,-958,), dtype=np.int16),
np.array((134,473,4684,9905,4386,9873,3295,837,2729,7875,11740,15960,23776,19690,23587,25287,22731,13970,8088,1287,-9641,-13978,-18338,-21176,-27936,-31744,-32767,-27783,-21869,-18519,-10892,-11236,-11498,-5838,4080,11303,8084,11887,9826,10529,11259,7293,-1522,-14008,-16103,-16094,-13315,-11571,-14785,-16812,-20590,-17996,-15212,-20499,-18812,-16034,-8177,-4825,3941,8181,7915,3546,6322,6346,11669,10568,6680,8012,11635,17299,18193,19704,18860,13214,15935,12131,10900,2630,-9053,-23120,-28125,-24014,-17907,-14646,-7480,-5986,4467,8445,6852,-269,-1689,-3274,1421,2852,7412,9647,19122,11968,6835,4376,-1053,-6523,-18856,-16959,-23744,-14670,-15404,-13994,-13893,-6686,-7325,-11398,-11420,-8088,-4106,1585,4042,10219,12616,12032,6098,2370,2076,-1710,1484,-4064,7250,6773,10664,6944,11126,14789,8173,4997,-1405,-1581,-1478,1426,6731,4984,4741,3113,326,1506,-6568,-6952,-11071,-5931,-2956,2296,6346,13148,17809,20435,12276,12783,9792,7834,1758,-1695,-4674,-6378,1222,-6282,-16256,-17780,-8537,-20399,-24767,-13426,-2481,-6207,-2294,6785,8487,8370,6235,3242,36,1337,6966,4139,10638,5780,10374,11252,13935,6833,6181,6827,9828,6459,7333,3963,-1156,-5675,-3832,-9130,-2525,-1158,), dtype=np.int16),
np.array((1278,5366,7216,5866,6180,9950,13198,10526,8538,9852,9958,11914,16290,21299,22017,21185,26827,31849,32179,28673,27571,28811,28147,28057,27085,24929,21759,21661,20543,20275,16383,10892,7224,102,-1338,-3962,-5846,-6478,-8256,-4652,-7586,-9088,-11172,-9116,-7322,-13480,-13278,-15040,-15926,-17735,-17935,-12958,-12240,-10704,-4316,772,5032,7086,8208,10624,10586,13154,13940,10940,9122,10222,10638,7808,7246,7734,5970,5004,6536,5232,1078,-418,-2308,-1394,-4296,-7432,-6910,-11196,-10602,-8320,-9544,-11432,-13750,-13952,-11700,-13212,-12360,-6550,-4928,-7516,-10474,-7722,-2006,-2140,-2786,-1856,230,-2540,-586,5716,6806,4774,2728,7738,7940,6902,7692,7674,6472,3204,4436,3488,1114,1566,1200,16,-4582,-3976,-2998,-5498,-7032,-7696,-5746,-6744,-8240,-9870,-10714,-12428,-11756,-13682,-16409,-16621,-18111,-14622,-18265,-17039,-17035,-18253,-16216,-19009,-15012,-11378,-9398,-9908,-11434,-10074,-7112,-1852,-684,1340,2398,3914,8806,12936,19481,20385,21209,27125,31517,32521,29025,27255,26245,25419,23465,21487,17911,12236,11484,8462,3756,-1408,-4428,-8874,-14530,-18495,-23149,-22785,-24909,-27545,-25645,-28141,-24141,-22553,-24711,-23979,-25213,-24619,-23291,-22219,-22093,-19263,-20747,-16062,-8790,-5218,), dtype=np.int16),
np.array((50,5627,8986,6016,6852,7037,7372,8417,10807,12377,14882,16984,22034,25351,26163,28061,27900,27722,26222,24021,23055,20269,19028,18260,15969,14826,15715,13625,9379,5232,1480,2344,-792,-4361,-6606,-10899,-13418,-12027,-11469,-12682,-14537,-17271,-16810,-17734,-19399,-20779,-23043,-27351,-30610,-31219,-31364,-30553,-30894,-26576,-21170,-18783,-17317,-14154,-9776,-6648,-6287,-5557,-5057,-4231,-3730,-2681,1375,2071,5192,8306,12325,15356,15665,18966,19884,21136,20418,19317,20694,19393,23147,22140,23767,26813,25738,26270,21210,20813,19730,17818,15592,11120,9219,5172,4857,6758,8419,8635,5073,7324,5483,4506,3678,-483,-3718,-10053,-14796,-15977,-18025,-19387,-19599,-20979,-19058,-17758,-17365,-15650,-16635,-15199,-14860,-16750,-15083,-17269,-19024,-17203,-17427,-13888,-13775,-15125,-10835,-10847,-10683,-6824,-8447,-5751,-4578,-4041,280,2238,6461,13473,19565,19912,20682,20809,23071,26053,22740,21815,19493,16553,16104,18410,20867,21912,22497,25054,28026,27467,27882,27962,25818,20961,16427,12981,9429,6708,4267,1375,-3048,-2861,-2222,-4105,-7855,-12722,-13031,-14064,-16541,-16725,-19690,-23981,-24088,-24132,-22120,-22748,-26683,-25742,-28438,-29673,-28273,-29039,-29495,-32196,-31558,-28275,-23187,-18669,-13332,-7879,-8505,-3553,), dtype=np.int16),
np.array((1044,4886,7712,12316,19141,21995,21657,20211,15204,13940,10860,9004,8268,7962,13460,22701,27793,32001,31963,32625,28521,21999,14718,7936,1870,-1454,-1060,224,8176,19103,25907,29013,29121,28485,27967,21161,14636,4610,-3360,-4358,-3988,-658,4768,14412,20805,23441,21391,19767,18147,11078,4318,-5814,-12012,-12088,-9394,-5940,-1896,414,6808,10386,9626,6504,-160,-5168,-11688,-18401,-21837,-21501,-18199,-13142,-8638,-6080,-3044,-1048,-2748,-7616,-15944,-22005,-26397,-29097,-29267,-27771,-23501,-17187,-11412,-6990,-4440,-4100,-5616,-9798,-16058,-21597,-24819,-25047,-23555,-21299,-17741,-12616,-7354,-4534,-3884,-6392,-9262,-13366,-17331,-20479,-22241,-20591,-17305,-12558,-7302,-2158,2622,5126,5046,2578,-786,-4454,-7584,-9960,-10362,-8694,-5338,-1366,2606,5120,5442,4220,1278,-2266,-6692,-9908,-11760,-12044,-10150,-6610,-1912,2276,4818,7120,7282,6234,4270,1306,-1478,-3574,-2982,-1850,-226,1468,2956,4074,3658,3772,2640,794,-1322,-3732,-5436,-5788,-4656,-3254,-1944,-246,1538,2938,3374,2340,2096,106,-1650,-3432,-4416,-3498,-3436,-1520,-1104,-340,-138,58,-72,-1420,-3440,-4740,-3716,-1466,2122,3492,6896,9218,10914,12214,10020,7854,5408,1150,366,-3070,-3140,-776,), dtype=np.int16),
np.array((208,2694,4022,5846,8272,11526,16276,19207,20641,23005,26147,29863,32457,32750,32301,32053,31913,31969,30871,29273,26583,23291,20741,19457,17793,14868,12210,9324,7790,6784,5512,3586,456,-1990,-4226,-4570,-6970,-9402,-11842,-14636,-16158,-18611,-20567,-23791,-25455,-28487,-29969,-30591,-31793,-30303,-31467,-30043,-28525,-28819,-26845,-26033,-22591,-20033,-18347,-17365,-16342,-14080,-12680,-9150,-7958,-5516,-2648,1504,7738,12450,16939,18677,20195,23649,26863,28653,28139,28497,28529,27825,28107,28371,28513,27109,25851,26747,26729,26211,25825,24179,22305,19905,18555,17485,15584,12968,9898,7334,4732,2346,-1360,-6968,-11988,-15134,-18055,-21413,-24313,-27571,-29957,-30671,-31485,-30141,-30615,-30663,-30645,-30079,-28351,-27023,-26085,-27557,-26213,-25319,-23893,-21835,-22339,-20107,-17383,-13712,-7554,-2848,518,1316,3278,7534,11992,12786,12758,13818,14282,16194,18283,20645,21945,21739,23307,26457,28095,29251,29541,29669,29547,29181,30827,31099,30141,27617,24963,23133,21693,20139,15634,11402,5770,2058,104,-3722,-7398,-11930,-14632,-15716,-16401,-18129,-19649,-21853,-23711,-22841,-21737,-21709,-22821,-25565,-25593,-24533,-24007,-24011,-25309,-26893,-26857,-24035,-20497,-18235,-17081,-17547,-16393,-13974,-10716,-6940,-6344,-6836,-4832,-2342,), dtype=np.int16),
np.array((890,4996,8960,12768,16361,19643,22649,25301,27563,29423,30865,31897,32527,32767,32655,32209,31469,30471,29271,27877,26343,24701,22991,21243,19487,17747,16042,14394,12816,11320,9918,8628,7424,6324,5328,4436,3646,2950,2348,1834,1400,1044,754,528,354,224,132,72,34,10,-8,-30,-64,-116,-196,-310,-462,-668,-928,-1250,-1644,-2110,-2658,-3288,-4008,-4818,-5724,-6726,-7818,-8992,-10264,-11620,-13052,-14546,-16092,-17675,-19269,-20857,-22415,-23911,-25317,-26587,-27715,-28651,-29363,-29815,-29977,-29821,-29327,-28473,-27255,-25667,-23717,-21419,-18833,-15926,-12770,-9414,-5912,-2322,1290,4868,8348,11674,14790,17649,20213,22423,24313,25841,26999,27795,28239,28351,28153,27653,26981,26083,25001,23781,22429,20991,19497,17975,16449,14944,13472,12056,10702,9462,8298,7212,6222,5306,4474,3726,3064,2480,1974,1540,1174,874,630,436,290,184,108,60,28,10,-2,-20,-48,-94,-166,-270,-416,-606,-852,-1160,-1536,-1986,-2518,-3136,-3846,-4650,-5552,-6554,-7660,-8866,-10154,-11550,-13034,-14594,-16222,-17897,-19601,-21311,-23005,-24647,-26211,-27659,-28951,-30039,-30913,-31515,-31813,-31773,-31365,-30569,-29369,-27755,-25733,-23315,-20525,-17431,-14002,-10326,-6458,-2450,), dtype=np.int16),
np.array((353,2367,3611,5027,4442,2568,3651,4263,10109,10514,9764,11125,7965,11556,13448,10508,17911,12312,16738,16250,12599,17344,13107,15096,18969,15777,20034,18201,13477,20890,15698,22580,27464,21796,25173,19087,20784,25421,27124,29150,28488,28807,32767,27748,28841,27094,26811,27606,26915,29585,30766,30489,24509,20597,19140,18640,21164,20481,16385,22505,15198,20556,10136,7226,13794,10209,22052,18935,13513,15123,5370,8585,8912,8882,14751,6630,7317,3871,3180,2910,-1083,-690,-1219,1062,-4708,-1912,-7902,-6537,-5216,-9967,-7545,-10796,-5868,-9355,-10347,-11715,-13751,-11906,-14775,-13920,-13462,-12497,-12503,-16279,-17695,-19075,-16065,-15919,-14680,-14401,-15649,-14710,-18268,-18215,-18868,-17653,-16293,-17336,-17677,-17498,-17907,-19059,-20829,-19654,-18169,-16224,-17972,-18847,-18374,-18283,-16141,-17630,-17748,-16785,-16708,-15958,-17429,-17581,-16679,-16246,-15454,-18500,-17640,-14942,-15003,-12471,-15253,-15123,-15407,-14537,-14763,-13877,-12164,-10619,-10556,-9685,-11479,-9965,-10861,-11664,-9433,-10024,-5112,-8319,-6181,-7577,-8750,-7025,-8986,-6982,-5228,-4643,-4749,-5992,-8896,-8910,-9709,-8715,-7630,-6659,-5616,-5421,-7149,-6671,-6850,-5793,-2686,-2678,-459,-170,-1983,-1018,-1871,-1351,-60,-113,-1969,-1349,-2131,-1294,), dtype=np.int16),
np.array((143,238,2010,6576,7234,12509,11349,12327,9168,8840,5483,1783,8550,7765,13084,12908,5537,7866,1895,5805,8783,4847,13495,10644,17893,13370,14238,18375,11193,21997,18104,25332,32767,24119,29969,19796,24140,29376,25025,27762,22376,27624,26055,25150,23613,19491,22631,16891,20001,21631,17166,21432,16350,13527,14840,8961,20112,20533,18675,20539,16682,15728,18563,14823,18909,24474,21360,24113,23170,16251,23617,15862,14143,19466,16146,24176,15747,16834,11774,9512,10614,2670,8791,3146,8980,8247,2846,2466,-8354,-1259,-8972,-5339,-8184,-8170,-2433,-3035,-2873,-5422,-9575,-8611,-6161,-3997,2812,1791,2004,-1455,-4778,-3865,-7380,-2522,-4804,-4566,-5467,-7352,-9071,-13580,-13341,-17417,-15909,-19215,-19817,-15542,-19487,-16095,-19400,-24895,-18614,-22226,-16666,-16162,-15028,-12363,-13918,-10434,-12481,-8073,-9905,-8662,-6941,-12130,-8502,-13918,-12392,-12106,-14829,-12653,-16385,-17494,-17249,-19881,-19855,-21900,-21841,-22275,-17721,-16832,-15315,-17855,-19794,-18997,-19238,-15002,-19138,-13669,-13455,-11486,-11663,-19199,-14862,-19173,-15435,-15745,-15587,-13414,-15129,-10529,-11729,-7200,-10614,-9557,-10701,-11748,-9968,-12618,-7599,-11039,-10474,-10539,-16447,-12841,-18721,-11104,-11675,-10816,-10229,-12993,-6019,-5463,1054,-3077,), dtype=np.int16),
np.array((4016,3531,4863,13993,25159,27765,30923,30379,26726,24388,20735,15931,7019,-1382,-6706,-12528,-11921,-11204,-10640,-8932,-8186,-5651,-2838,-192,1832,-514,-2216,-6195,-10147,-11620,-14224,-14879,-16615,-17585,-15409,-12118,-6999,-4028,-2268,0,1482,4855,6925,9040,10658,9504,8635,6919,5183,3395,-80,-5816,-10388,-13251,-14527,-15200,-11789,-8829,-7515,-5076,-4791,-3240,413,9157,13229,9336,5912,1896,492,233,1579,-2676,-4833,-4825,-2408,4032,17732,25306,25669,25378,23038,22519,21900,20153,14384,5828,146,-4558,-4924,-4227,-3785,-6252,-9954,-10571,-8645,-7220,-4693,-6117,-8488,-9723,-10236,-7256,-3630,-902,-986,-1934,-2222,-2575,-3003,-4916,-8972,-13561,-16550,-15381,-14055,-12506,-10400,-8112,-5237,-2525,-110,2850,1745,592,1370,-988,1546,2643,4357,7130,7564,9127,12813,22543,27893,26381,23542,14931,7712,3395,2083,-3791,-11397,-15035,-16876,-15303,-9201,-3833,-618,-291,2151,4825,5028,5659,3001,-2089,-4604,-5512,-4689,-3047,225,2113,2113,4584,10157,13442,14304,11887,7086,1430,-2722,-4950,-8140,-10951,-12259,-13605,-12852,-10336,-6376,-4793,-6210,-5958,-6222,-5545,-5448,-5830,-7670,-8779,-7415,-6664,-5267,-3582,-4520,-3136,1782,2943,2822,2027,1217,2230,), dtype=np.int16),
np.array((6389,13919,26759,30739,26916,15334,974,-12788,-18496,-20486,-14241,-9895,-5074,-88,5465,12283,14213,13875,7714,-5112,-16262,-24137,-26360,-21080,-13804,-6339,-2546,1022,5717,10192,14284,12814,5884,-3584,-14853,-20729,-21777,-17355,-8987,-2139,1425,2816,5092,7750,11174,15530,14891,13592,5082,481,-5541,-9709,-7281,-3237,-968,689,-779,870,1730,8458,18862,23115,21212,14111,539,-9588,-13724,-12199,-10466,-6535,-519,6290,15466,23253,27511,21767,9304,-7425,-18461,-24309,-22074,-17772,-11248,-4530,-435,4625,7997,9899,8033,2197,-6501,-17008,-23894,-24123,-20208,-12457,-4382,429,2991,4618,7285,10759,15258,14199,7830,-3127,-13211,-20077,-17720,-12612,-5882,-12,2981,3526,6970,8399,9248,13411,14787,12886,5685,493,-6409,-8422,-3897,-665,-124,-561,-1130,202,12862,26938,30049,24117,13235,-2012,-10224,-13187,-14103,-13063,-7261,238,4127,11571,20286,21619,18395,7359,-7750,-21188,-26493,-25608,-18917,-9665,-2540,-707,3398,7582,9159,9125,3895,-5048,-14783,-21966,-23746,-21390,-13229,-5745,-597,2766,3738,3847,7309,11840,17864,14905,6798,-487,-11635,-15426,-11954,-7800,-1248,418,160,-423,1000,4037,7840,15248,22487,16214,10428,1643,-7840,-9129,-8223,-6292,-3923,-2890,), dtype=np.int16),
np.array((28,1160,3250,4866,6598,8534,10912,12172,14490,16264,18207,20287,21911,23851,25065,27189,28229,30247,31299,32429,32681,32211,32085,31365,30597,29109,28203,25629,23851,20975,18581,15624,13026,9834,7262,4720,2144,30,-2494,-4578,-6412,-8264,-9384,-10454,-11500,-12622,-13638,-14552,-14822,-15384,-15928,-16034,-16755,-16879,-17459,-17297,-17451,-17217,-16959,-16345,-15528,-14364,-13548,-12248,-11044,-9888,-8198,-6764,-5038,-3562,-2588,-1288,-300,710,1542,2432,3070,3508,3666,4052,4072,4128,4110,3908,3942,3660,3312,2832,2326,1608,848,372,-330,-882,-1554,-2146,-2950,-3826,-4474,-5272,-5934,-6512,-7088,-7558,-8026,-8318,-8268,-8558,-8318,-7922,-7850,-7348,-7196,-6838,-6636,-6388,-6134,-5900,-5972,-6168,-6426,-7020,-7454,-8068,-8598,-9202,-9258,-9606,-9904,-9912,-9882,-9946,-9796,-9444,-8698,-7998,-7318,-5992,-4946,-3488,-1828,-214,1428,3060,4268,5526,6584,7708,8152,8642,9062,9324,9422,9324,9472,9266,9030,8782,8616,7958,7428,6486,5662,4604,3378,2392,968,90,-1240,-2216,-2978,-3696,-4028,-4804,-4828,-5290,-5456,-6182,-6378,-6712,-6956,-7394,-7262,-7514,-7640,-8318,-8296,-8952,-9114,-9540,-9228,-9190,-9130,-8382,-8078,-6970,-6270,-4584,-3332,-1568,), dtype=np.int16),
np.array((646,3596,4474,4674,4622,6868,9722,12534,14222,13924,13958,14688,16807,17221,17049,16120,15314,15526,15636,15692,15190,14638,14804,14894,15096,14014,11848,10078,9096,8954,8710,8034,6392,4100,3096,2060,334,2564,3504,2946,3190,3974,5218,6670,8370,9756,9388,9432,10726,12590,13026,12838,14184,16100,18375,21765,24229,25393,26145,27521,29809,30907,31823,32265,31777,31693,32463,32767,32007,30393,29659,29043,27185,25729,23721,21597,20163,19923,18419,15588,13470,12180,10226,9100,9306,7670,4524,1516,1238,-36,-2126,-4742,-5390,-5972,-6814,-7262,-6692,-6950,-8528,-9696,-9862,-7514,-5704,-5042,-5116,-6062,-7482,-8448,-8290,-6550,-6310,-7984,-10582,-11578,-10888,-10828,-11474,-12356,-13158,-12928,-11648,-9514,-8650,-8904,-9582,-8758,-6652,-3906,-3216,-5102,-7570,-4600,-5578,-4378,-4026,-4810,-5760,-5764,-5118,-6296,-9644,-8144,-8586,-7638,-5924,-5142,-5282,-5560,-5714,-5014,-3460,-2624,-2926,-2264,-2468,-1640,-1398,22,572,-868,-814,-72,-372,-1250,-1096,-156,-484,-2460,-2306,-1680,-3624,-6416,-6450,-6772,-6828,-7324,-6726,-6652,-7064,-7222,-6690,-5800,-3368,-2452,-4312,-5782,-5924,-5694,-5678,-4392,-2160,-2500,-4376,-4776,-2692,-2258,-3290,-3344,-3204,-1730,), dtype=np.int16),
np.array((290,8048,15289,21464,26163,29143,30453,30191,28627,26095,22942,19490,16007,12705,9721,7136,4980,3276,1980,1076,494,170,32,0,-2,-58,-244,-636,-1306,-2324,-3722,-5584,-7916,-10725,-13965,-17544,-21300,-25011,-28367,-31007,-32543,-32599,-30885,-27309,-21686,-14519,-6336,2230,10493,17808,23666,27755,29975,30431,29375,27189,24196,20780,17250,13845,10731,8012,5732,3898,2488,1458,758,328,104,16,0,-6,-68,-244,-590,-1154,-1984,-3106,-4550,-6316,-8389,-10691,-13193,-15741,-18156,-20216,-21676,-22296,-21858,-20232,-17388,-13443,-8651,-3446,1860,6760,10857,13873,15681,16305,15905,14735,13105,11317,9631,8231,7232,6628,6380,6390,6540,6716,6822,6794,6602,6250,5744,5118,4402,3624,2780,1890,954,-34,-1088,-2208,-3396,-4648,-5948,-7252,-8511,-9635,-10567,-11197,-11443,-11249,-10599,-9547,-8199,-6718,-5310,-4176,-3480,-3320,-3684,-4476,-5490,-6464,-7100,-7126,-6346,-4680,-2168,996,5298,9505,13259,16225,18286,19330,19398,18618,17178,15281,13135,10913,8755,6764,5008,3526,2346,1438,804,412,156,36,0,0,-26,-138,-390,-844,-1548,-2570,-3948,-5716,-7890,-10457,-13361,-16494,-19688,-22710,-25259,-26995,-27583,-26737,-24242,-20052,-14315,-7364,), dtype=np.int16),
np.array((64,1194,2408,3746,5142,6506,7706,8656,9326,9804,10276,11002,11966,13444,15744,18777,22285,25865,29041,31357,32491,32189,30363,27077,22495,16863,10476,3678,-3164,-9648,-15352,-19823,-22799,-23959,-23215,-20669,-16625,-11600,-6204,-1084,3100,6318,7860,7702,6020,3034,-898,-5410,-10164,-14836,-19147,-22841,-25669,-27447,-28027,-27373,-25553,-22831,-19465,-15868,-12428,-9454,-7104,-5384,-4114,-3032,-1798,-174,1934,4504,7446,10490,13334,15702,17409,18337,18503,17953,16801,15138,13086,10748,8304,5878,3760,2236,1618,2132,3904,6890,10836,15338,19857,23827,26735,28167,27947,25993,22429,17493,11518,4862,-2096,-8976,-15394,-20995,-25423,-28373,-29725,-29393,-27487,-24315,-20321,-16044,-12020,-8712,-6450,-5366,-5372,-6154,-7510,-9180,-10894,-12474,-13788,-14778,-15386,-15554,-15212,-14292,-12770,-10682,-8138,-5398,-2642,-154,1872,3386,4476,5364,6360,7792,9908,12804,16405,20411,24539,28101,30595,31913,31865,30409,27623,23693,18847,13378,7606,1876,-3368,-7862,-11140,-12870,-12814,-10922,-7336,-2416,3296,9132,14410,18499,20919,21405,19867,16184,11090,5000,-1642,-8412,-14918,-20803,-25753,-29517,-31893,-32767,-32179,-30267,-27327,-23759,-20033,-16577,-13726,-11656,-10358,-9646,-9224,-8758,-7972,-6666,-4806,-2472,), dtype=np.int16),
np.array((86,1616,3800,5882,7946,9974,11960,13892,15766,17575,19307,20959,22519,23973,25341,26607,27763,28803,29731,30535,31221,31781,32215,32527,32709,32767,32703,32515,32207,31777,31235,30577,29809,28933,27957,26883,25715,24459,23137,21721,20231,18671,17055,15376,13652,11880,10074,8232,6366,4478,2578,690,-1218,-3124,-5020,-6900,-8754,-10580,-12372,-14122,-15826,-17477,-19065,-20573,-22025,-23403,-24701,-25907,-27023,-28039,-28955,-29765,-30463,-31047,-31511,-31857,-32077,-32173,-32143,-31987,-31701,-31285,-30741,-30071,-29267,-28337,-27283,-26107,-24815,-23433,-21927,-20323,-18627,-16845,-14986,-13060,-11070,-9032,-6954,-4842,-2706,-586,1562,3704,5830,7924,9986,12000,13958,15852,17675,19413,21065,22619,24057,25403,26635,27753,28745,29611,30349,30955,31431,31773,31981,32055,31997,31811,31495,31053,30485,29797,28993,28075,27051,25921,24697,23377,21971,20503,18939,17307,15614,13864,12066,10222,8342,6432,4502,2554,598,-1360,-3290,-5234,-7160,-9058,-10928,-12756,-14544,-16276,-17951,-19563,-21101,-22565,-23943,-25223,-26419,-27521,-28517,-29405,-30179,-30839,-31377,-31793,-32081,-32241,-32273,-32173,-31943,-31579,-31083,-30459,-29703,-28825,-27821,-26697,-25457,-24105,-22647,-21091,-19461,-17725,-15906,-14016,-12066,-10058,-8004,-5910,-3794,-1600,), dtype=np.int16),
np.array((1894,9038,15592,20853,24355,25925,25687,23967,21209,17909,14394,11012,7986,5440,3426,1926,912,334,68,2,-4,-76,-346,-940,-1974,-3546,-5738,-8598,-12108,-16172,-20581,-24987,-28899,-31709,-32767,-31553,-27691,-21183,-12462,-2344,7588,16250,22813,26827,28279,27509,25073,21649,17743,13858,10312,7292,4864,3028,1716,856,352,98,10,0,-10,-88,-288,-646,-1186,-1912,-2818,-3864,-4992,-6110,-7104,-7838,-8174,-8022,-7322,-6108,-4510,-2740,-1048,334,1242,1612,1496,1014,348,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,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,0,0,0,0,0,0,0,0,0,0,-26,-552,-730,-454,-4,-52,-190,-476,-978,-1742,-2862,-4372,-6296,-8598,-11182,-13838,-16256,-18033,-18719,-17897,-15296,-10890,-5022,), dtype=np.int16),
np.array((162,858,1618,2403,3190,3970,4728,5456,6145,6797,7397,7936,8346,-10237,-10126,-11047,-11988,-12912,-13786,-14579,-15255,-15772,-16074,-16104,-15774,-14994,-13646,-11643,-8857,-5313,-1132,3422,8025,12377,16304,19720,22634,25070,27100,28754,30129,31235,32103,32600,32272,31746,31029,30123,28936,27009,-29395,-31049,-31774,-32339,-32665,-32767,-32639,-32250,-31561,-30503,-28982,-26894,-24116,-20533,-16078,-10650,-4659,1377,7021,11912,15863,18842,20942,22295,23043,23315,23210,22823,22204,21413,20496,19496,18449,17384,16343,15457,-16417,-14798,-14216,-13636,-13027,-12340,-11589,-10761,-9863,-8885,-7833,-6719,-5541,-4339,-3133,-1990,-975,-180,347,562,482,136,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,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,0,0,0,-123,-551,-756,-678,-286,0,0,), dtype=np.int16),
)
waveforms_names = (
'AKWF_granular_0001','AKWF_granular_0002','AKWF_granular_0003','AKWF_granular_0004','AKWF_granular_0005','AKWF_granular_0006','AKWF_granular_0007','AKWF_granular_0008','AKWF_granular_0009','AKWF_granular_0010','AKWF_granular_0011','AKWF_granular_0012','AKWF_granular_0013','AKWF_granular_0014','AKWF_granular_0015','AKWF_granular_0016','AKWF_granular_0017','AKWF_granular_0018','AKWF_granular_0019','AKWF_granular_0020','AKWF_granular_0021','AKWF_granular_0022','AKWF_granular_0023','AKWF_granular_0024','AKWF_granular_0025','AKWF_granular_0026','AKWF_granular_0027','AKWF_granular_0028','AKWF_granular_0029','AKWF_granular_0030','AKWF_granular_0031','AKWF_granular_0032','AKWF_granular_0033','AKWF_granular_0034','AKWF_granular_0035','AKWF_granular_0036','AKWF_granular_0037','AKWF_granular_0038','AKWF_granular_0039','AKWF_granular_0040','AKWF_granular_0041','AKWF_granular_0042','AKWF_granular_0043','AKWF_granular_0044',
)
# end
@todbot
Copy link
Author

todbot commented Apr 18, 2023

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment