
    3j                    '   d dl mZ d dlZdZi dddddd	d
dddddddddddddddddddddddddd d!i d"d#d$d!d%dd&d!d'd!d(d)d*d+d,d-d.d-d/d0d1d)d2d3d4d5d6d7d8d9d:d3d;d<i d=d<d>d?d@dAdBddCdDdEdFdGdHdIdAdJdAdKdLdMdHdNdOdPdAdQd!dRd!dSdTdUdVi dWddXdYdZdYd[dYd\d]d^dd_dYd`dadbdcddd?deddfdgdhddidgdjddkdldmdni dod-dpd9dqdrdsdtdudrdvdwdxdwdydwdzdad{d|d}d~ddddddddddddli dddddddddddddddddddddd+dddddddddd]ddi ddddddddddddddldddddddddddddddddd#ddi ddddddÓddÓddÓddǓddǓdd#ddddǓddǓddǓddǓddddѓddӓddՓdddלZi dddddd	ddܓddޓdddddddddddddddddddddd!dd!i ddYddYdddddddd-dd3dd3ddddddddYdd7dddd9dd9d d<i dddd5dd0dd0dd)dd)ddAd	dDd
dFdddd0dd0ddddLddHddOddi ddAddAddTddVddVdd?dd?ddddYd d]d!d	d"d#d$dcd%dd&dd'dgd(d)i d*d)d+d?d,d?d-d.d/dnd0dld1d2d3d4d5d6d7drd8d9d:dtd;dd<dwd=dcd>dad?dai d@d|dAddBdYdCdDdEddFddGd~dHd~dId~dJd~dKdLdMdLdNddOddPddQddRdSi dTdUdVdUdWddXdYdZd[d\d]d^dd_dd`ddaddbdcddddedfdgddhdidjdkdld.i dmd+dnd)doddpddqddrdsdtdduddvddwddxdydzdyd{d|d}d~ddddddi ddddddddddlddddVdddddddddddddddddd5ddi ddddddddÓddÓdddd#dd#ddǓddǓddddddddkddӓddddՓdѐdddTdTdZi dddd#dd#ddddddddddddddLdddd!dd!ddLddѓddddi dd+dddd-dddddddd)dd֓dd9dddd9ddgddgddgdd<dɐdddDi dːdd̐dddDdΐd#dϐd#dАd#dd5ddޓdd0dd0dd)dd)d>d?ddAdd?dd?dِdyi dd?dddd?ddFdސdUddddidd|dd)ddFddTdd3ddddՓddVdd~ddi ddddddVddddVddkddDddVdd.ddddidd	dd	ddHdd	ddHdd֓i ddddddad(d)ddyd dLddddddddYddYdd6ddՓddrd	dDd
dddOi dddddOdddUddYddTddTdd)ddddddddddddddӓddfddDi dd~dddd+ddd d5d!dd"dd#dd$dd%dd&dd'dlddld(dd)dd*dd+di ddd,dddd-dd.ddddd5d/dd0dd1dd2dd3dǓd4dd5dd6dǓd7dd8dѓdTdTddՐd9Zi d:dՓd;dd<dd=d	d>dޓd?dd@d#dAddBdgdddCddDddEddFddGddHddIdi dJddKd|dLdFdMdFdNddOddPddQddRddddSd#dTd#dddUdgdVdgdWdgdd5i dXd5dYdFdZdFd[dd\dd]dLd^dHd_dHd`dOdadHdbdAdcdAddd!ded!dfd!dgdTdhdVi didVdjd)dkdǓdld	dmddnddd	dod)dpddqd)drd#dsddtdduddvdYdwdDdxd~i dydadzdd{dѓd|dkd}dѓd~d|dd|dd?dd-ddlddlddgdd9dd9dd<ddddi dd+ddUdd0dd0dd)dd)ddddDdd6dd+ddYddrddtdd+ddwddcddii ddadddd|ddDdd~dd~ddlddlddkddLddӓdddd.dOdddddddi ddddddVddUdddd.ddddddddydddddddddd.ddddLi ddLddddUdd+ddddfdd+dddddddddddddȐdydd֓ddHdːd)i dd~d$dddddddddddddd+ddѐddddddddd5d֐d|dd?ddÓdDd#dddddddddٜ
Zi dddېdyddcddcdddddBdgddddddLddLddddѓddѓddddddDi ddddddddYdd#ddDddDddYdddddddd+ddddѓdd-dd3ddi dUdgdddddd)dd	dd	ddHddTddgddFd d9dd9dd9dddddVdgdd<i dd5dd0dd0dd0d	d)d
d)ddޓdddd?dd?dd?ddAddUddTddddՓdd!i dd!ddddӓddVddVdddd~ddddddddd dVd!dkd"d֓d#dd$dd(d)i d%d)d&dd'd6d(dՓd)dՓd*drd+dYd,dwd-d-d.dad/dDd0dd1dd2dOd3dd4dLdOdi d5dFd6d)d7dFd8did9d|d:dUd;dd<d+d=dd>dd?dd@ddAddBddCddDdddi dEddFddGddHddIddJddKdidLd֓dMdfdNdfdOd~dPd.dQd.dRdLdSddTdLdUdyi dVdLdWddXdLdYdydZdd[dd\dd]dd^dd_dd`ddaddbd+dcdddddddedi dfddgdldhdldiddjdldkddlddmddddnddoddd5dpdldqdÓdrd#dsdǓdtdǓdddddddѐduZi dvdvdwdxdydzd{d|d}d~dd|ddxddddddddddddddddddddi ddddd/dddddddddddddddddddddddddddddddddddddddddddddZ	i ddޓddAdddddddddddddd3ddgdd!ddVdddddd+ddaddi dd?dd9ddgdd<ddYddޓdd֓ddlddddrdddd?dd?ddddǓdddddddd֜Z
i ddddcddddddlddddddLdddߐdLddѓddddddddddѓdd+i dddddddd#ddddDddYddUdd.dd-ddYddddDdd)dd)ddddi ddTddidddd9dddd9ddgddgddgdd<ddgd dgdd+dd5dd5dd0dd0i dd)ddޓddAddAdd?ddAd	d?d
dTddydd?ddAddgdddddd?ddYddi ddddddՓdd!ddVddVddVdd~ddddddddddVd dVd!dVd"d~d#di d$dd%dd&dd'dd(dgd)d	d*d	d+dHd,dcd-d)d(d)d.dyd/dd0dLd1dd2dd3dYi d4dYd5d6d6dYd7dkddrd8dUd,dwd9dՓd?dad:dd0dDd3ddEdd;dd<dd=dLd>d)i d?did@d|dAddBdFdCdFdDd|dEddFd+dGddHddIddJddKddLddMddNddOdi dPddQddRddSdӓdMdfdOd~dTd+dUddVddWddXddYd+dZdd[dlddld\dld]di d^dUd_dd`ddaddbddcd?ddd?deddfddddd5dgdldddhdÓdidÓdd#djdǓdddddddddd~dYdYddOdkZi dlddmdדdndؓdodܓdpdݓddޓdqddrdKdsdLdtdNdudQdvddwddxddddUddydi dŐddVddzd d{d͓d|dϓd}dd~dddޓdd
dddddddddd#ddhddddi dddddddddddddd(dddddd*dd+dddd~ddd$d,ddxddi dddd7dddd9dddddddddddd
ddddddddddddddi ddddddddIddJddKdEdLdFdMdGdNdIdOddPddddddddXddYdd0d1d(dgd_dad֐d2dddddZddddddddÐdĐddŐdƐdǐdǐdȜddɐdʐdːdd̐d̐d͐dΜdddddϐdɐddÐdʐdĐddǐdǐdАddќdҜZi eeee
eeeZeD ]  Zeee      ee<    [ G dӄ dej                         Zedk(  rd dlZ ej(                  e       yy(      )annotationsNTa saxAltoSaxophonezac bAcousticBasszac gtrAcousticGuitaracc	AccordionaccdnarpHarpzb clBassClarinetzb drBassDrumbagBagpipesbarBaritonezbar saxBaritoneSaxophonebclzbgo dr
BongoDrumsbjBanjobjobklbnBassoonbrViolabszbs clbsnbssnzc bsnContrabassoonzc c	SnareDrumcas	Castanetscastscb
ContrabasscbsncelCelestazcga dr	CongaDrumchChoirclClarinetclstclv
ClavichordclvdcorHornzcor angEnglishHornzcr trcwbCowbellcymCrashCymbalsze gtrElectricGuitarze hze hnzelec bElectricBasszelec gtrzelec orgElectricOrganzeng hnfagfgzfing cymFingerCymbalsflFlutezg cglckGlockenspielglockglspgngGongzgr cassagsphbOboehmca	HarmonicahnhphpdHarpsichordhpehpschdhrpzk drTimpanikalKalimbakasklmandMandolinmarMarimbamdlnmezMezzoSopranomezzmzobocOcarinazp flPanFlutezp org	PipeOrganpfPianopftepicPiccolopiccpkpnorecRecordersSopranozs saxSopranoSaxophonezsand blSandpaperBlockssax	Saxophonezsax azshk fl
ShakuhachishnShehnaisitSitarzsn drzst dr	SteelDrumtTenorzt saxTenorSaxophonetamb
TambourinetamtamtbTubatbatbeTrumpettbniTromboneztemp blTempleBlockzten dr	TenorDrumtimTimbalestimptmbntpttrtrbtrglTriangletriukeUkulelevVocalistvavcVioloncellovcellevclvib
VibraphonevibesvibrvioViolinvlvlavlcvlnvlonvnvnivoczwd bl	WoodblockwhsWhistlewindmachineWindMachine	Xylophone)xilxyl	accordionzacoustic basszacoustic guitaragogoAgogoaltoAltozalto saxophonebagpipebagpipesbanjobaritonezbaritone saxophonebassBasszbass clarinetz	bass drumzbass tromboneBassTrombonebassoonbassoonsz	bell liraz	bell lyrezbongo drumszbrass instrumentBrassInstrumentzbullseye gongTamTam	castanetscelestacelestecellocellosz	chau gongchimeschoirzchurch bellsChurchBellsclarinet	clarinets
clavichord	conductor	Conductorz
conga drum
contrabasscontrabassescontrabassooncontrabassoonszcor anglaiscowbellszcrash cymbalscymbalsCymbalszdouble basszdouble bassesdulcimerDulcimerzelectric basszelectric guitarzelectric organzelectric pianoElectricPianozenglish hornzenglish hornszfinger cymbalsflutefluteszfrench hornzfrench hornszfretless bassFretlessBassglockenspielgongguitar	handbells	Handbells	harmonicaharpharpsharpsichordzhi-hatHiHatCymbalzhi-hat cymbalhornhornszjingle bellsSleighBellskalimbazkettle drumszkeyboard instrumentKeyboardInstrumentkotoKotoluteLutemandolinmaracasMaracasmarimbamarinezmezzo-sopranozmouth organoboeoboesocarinazoctave flutezorchestra bellsorganOrganzpailas criollaspanz	pan flutezpan pipepanflutepanpipes
percussion
Percussionzpercussion instrumentpiano
pianofortepiccoloz
pipe organzpitched percussionPitchedPercussionratchetRatchetrattlerecorderz
reed organ	ReedOrganzride cymbalsRideCymbalssamplerSamplerzsandpaper blocks	saxophone
saxophones
shakuhachishamisenShamisenshehnaisirenSirensitarzsizzle cymbalSizzleCymbal	slapstickWhipzsleigh bellsz
snare drumzsock cymbalsopranozsoprano saxophonesopranoszsplash cymbalsSplashCymbalsz
steel drumzsteel drumsz	steel panz
steel panszstring instrumentStringInstrumentstringszsuspended cymbalSuspendedCymbaltaikoTaikoztam-tam
tambourineztemple blocktenorz
tenor drumztenor saxophonetimbalestimpaniztom-tomTomTomztransverse flutetriangletrombone	trombonestrumpettrumpetstubatubasztubular bellsTubularBells	tumbadorazturkish drumukeleleukulelezunpitched percussionUnpitchedPercussion	vibraharp
vibraphone	vibraslap	Vibraslapviolaviolasviolinviolinsvioloncellovioloncellosvoicewhipwhistlezwind instrumentWoodwindInstrumentzwind machine)	woodblockzwoodwind instrument	xylophonezillszils
   accordéonaltosbaritonbarytonz
bas-dessusbassezbasse acoustiquezbasse fretlessu   basse électriquezbasse-trombonebassonbassonsbatteriezbloc de boiszblocs de papier de verrebongoszcaisse clairezcaisse roulantecastagnetteschantchanteur	chanteuse
charleston
claquebois
clarinettezclarinette basseclarinettesclavecin	clavessinu	   claveçin
clavicordeclocheszcloches de vachezcloches tubolaireszcloches tubulairesu   cloches à vache
clochettesu   clochettes à mainu   clochettes à mainsconga	contraltocontrebassecontrebassescontrebassoncontrebassonszcor d'harmonieu   cor françaiscordescorne	cornemusecorscrashu	   crécellecuivreszcymbale sur tigeszcymbale suspendueu   cymbale à pédalecymbaleszcymbales digitalesu   célestadroite	eoliphoneu   flûteu   flûte de panu   flûte douceu   flûte droiteu   flûte piccolou   flûte traversièreu   flûte à becu   flûtesfouet	gencerrosu   grande flûtegrelotszgrosse caisseu   grésillement cymbaleguitarezguitare acoustiqueu   guitare électriqueguitarreu   guitarre électriquezharmonica de boisharpeharpeshautboisu   instrument à cordesu   instrument à percussionu   instrument à ventu   instrument à vent de cuivresu   instrument à vent en boiszjeu de clochetteszjeu de timbresluthu   machine à vent	mandolineorgueu   orgue à tuyauxu   orgue électriquezpapier de verreu   petite flûterochetzroseau organesagatessagatteszsalut-chapeau cymbalezsaxophon altozsaxophone altozsaxophone barytonzsaxophone sopranou   saxophone ténor	saxophonssiffleru   sirène
sonnaillessyrinxtailletambourztambour bataztambour congoztambour d'acierztambour de basqueztambour en acier	tambourinztambours bongoztemple bloctimbaleu   timbales créolesztimbales cubainesztimbales latinestomztrombone basse	trompette
trompettestympanonu   ténoru   ténor tambouru	   ukuléléviolonvioloncellevioloncellesviolonsvoixz	wood-bloc)zillrC     échelettes
   éoliphone	aeolophon	akkordeonzakustik-bassakustikgitarrealtzalt-saxophonaltgeigealtsaxophon	arpicordobaritonsaxophonzbass posaunez	bass-drumzbass-klarinettezbass-posaunebassklarinettebassposaunebeckenu   becken freihängendu   becken gewönlichzbecken-paaru
   beckflöteblasinstrumentblechblasinstrumentu   blockflötezbongo-trommelnbratsche	bratschencembaloclavicembaloclavicimbelzconga-trommelzcrash-beckencrashbeckendreieck	dudelsackze-bassz	e-gitarrezelektrische gitarrezelektrische orgelzelektro-gitarrezenglisch-hornenglischhornfagottfagottefagottenfingerzimbelnu   flöteu   flöten
fussbeckengeigegitarreglockenzgrosse trommelzh-hat becken	hackbrettzhallo-hat-beckenhandglockenhandharmonikaharfeharfen	harmoniumherdenglockenu   hirtenflötehoboeholzblasinstrument	holzblockholzklapperholzschnittu   hängebeckenu   hängendes beckenu   hörnerkastagnettenkesselpaukekesseltrommelu   kielflügel
klarinetteklarinetten
klavichordklavieru   kleine flötezkleine trommelknarre
kontrabassu   kontrabässekontrafagottkontrafagottezkuba-pauken
kuhglockenlauteleinentrommellyramarimbaphonmarschtrommelmezzosopranmundharmonikanietenbeckenoboenu   octavflöteokarinaorgelu	   panflötepapagenopfeifepaukepaukenpeitscheperkussionsinstrumentpfeifenpfeifenorgelpferdeschlittenglockenu   pickelflötepikkolou   pikkoloflöteposauneposaunenu
   querflöteratscherohrenglockerollschellenu   röhrenglockeu   röhrenglockenu   rührtrommelsaiteninstrumentu   sandblöcke
sandpapieru   sandpapier blöckesaxophonschellenschellentrommelschlaginstrument
schlagzeugu   schnabelflöteschnarreschnarrtrommel
singstimmesirenez
snare-drumsopranzsopran-saxophonsopransaxophonstahltrommel	steeldrumstimme	streicherstrohfiedelstromgitarreu   ständerbeckentamburinztempel-blockztenor-saxophontenorsaxophontenortrommelztom tomtriangeltrompete	trompetentumbau   türkisches hängebecken
ventilhorn	vibraphon)
viehschellenvioleviolineviolinen
violoncellr  windmaschinewirbeltrommelxylophonziehharmonikaa beccoarchiarmonicazarmonica a boccaarpaarpebaritonobassozbasso elettricobatteriazblocchi di carta vetratazblocco di legnozblocco di legno cinesebonghi
campanaccicampanezcampane tubolarizcampane tubulari
campanellizcampanelli a manozcampanelli da muccazcampanelli di vaccazcanna d'organocantozcarta vetratacassazcassa chiarazcassa rullante	cassetinacastagnettezceppi di carta vetrozcestello in acciaiochitarrazchitarra acusticazchitarra elettrica	cimbalinicimbalocinelli
clarinettizclarinetti bassi
clarinettozclarinetto bassoclarino
clavicordocontrabassicontrabassocontrabbassocontrafagotticontrafagotto	cornamusecornicornozcorno francesezcorno inglese
cricchettozdita piattidrittoeolifonofagottifagottofisarmonicafischioflautiflautozflauto a beccozflauto di panzflauto dirittozflauto dolcezflauto drittozflauto piccolozflauto traversofrustagigeliraz
gran cassa	grancassazhi-hat piattolegniliutozmacchina del ventozmachina a venti	mandolinometallofonomezzosopranonacchereoboiorganiorganozorgano a cannezorgano elettricoottavinopercussionepiattizpiatti a pedalezpiatti di crashzpiatto chiodatizpiatto sospeso	raganellaregistratorerullantesalterio	sassofoni	sassofonozsassofono altozsassofono baritonozsassofono contraltozsassofono sopranozsassofono tenoresaxofonozsaxofono altozsaxofono baritonozsaxofono contraltozsaxofono sopranozsaxofono tenorezsfrigolio piattosilofonosirenazsirena a manosiringasonagli
sonaglierazstromento a percossazstromento a fiatozstromento a percussionezstromento archizstrumento a percossazstrumento a fiatozstrumento a percussionezstrumento archi	tamborone
tamburelloztamburi bongo	tamburinoztamburo bascoztamburo d'acciaioztamburo grandeztamburo grossoztamburo militareztamburo rullanteztempio di bloccotenoreztimbales latinoamericanitimballitimballo
timpanettitimpano	triangolotrombatrombeztrombone bassotrombonitympani	vibrafonor  violiniviolino)violoncellir;  vocavocexilifonoxilofono
xilografiaaza-double-flatza--za-double-sharpza##za-flata-za-sharpza#ababbbzb-double-flatzb--zb-double-sharpzb##zb-flatb-zb-sharpzb#bbbbbczc-double-flatzc--zc-double-sharpzc##zc-flatzc-zc-sharpzc#cbbdzd-double-flatzd--zd-double-sharpzd##zd-flatzd-zd-sharpzd#dbdbbeze-double-flatze--ze-double-sharpze##ze-flate-ze-sharpze#ebfzf--zf##zf-zf#gzg--zg##zg-zg#)ebbrj  zf-double-flatzf-double-sharpzf-flatzf-sharpfbfbbrk  zg-double-flatzg-double-sharpzg-flatzg-sharpgbgbbal'tzangliiskii rozhokarfabaszbass-klarnet
blokfleitazbol'shoi barabanchelestachembalofagotfleitazfleita pikkolozfortep'ianozfrantsuzskii barabangoboigolosgornklarnetklavesin	klavikordzkolokol'chikiz
kontral'toksilofonlitavrazmalaia fleita	mandolinarogrozhoksaksofonskripkatrombontruba)ztsilindricheskii barabantsimbalyzviolonchel'	   acordeónu   armónica de bocaarpasatabalbajou   bajo acústicou   bajo eléctricou	   barítonou   bateríazbloques de maderazbloques de papel de lijabombozbongo tamboresz
caja chinaz
caja clarazcaja redoblantezcaja rodantecampanaszcampanas de manozcampanas tubularescampanosu   campanólogocarraca	cascabelsu   castañuelasu   caña de órganos	cencerroscharleschelochelos
chinchineszchisporroteo de platilloscimbales	clarinetezclarinete bajo
clarinetesclaveu   clavecémbalou	   clavecínclavicordiou   clavicémbalou   clavicímbalozcon tensorescongas
contrabajocontrabajoscontrafagotzcorneta inglesau   corno francésu   corno inglészcornos franceseu	   crótaloscuerdascuernou   cuerno inglésu   cémbalou	   címbaloszde picozde pistonesz
de timbresdulcedulcemazel tenor del tamboru   el viento de la máquinaflautazflauta de boehmzflauta de conciertozflauta de panzflauta de picozflauta dulcezflauta piccolozflauta rectazflauta traversazflauta traveseraflautaszflautas de panu   flautínfretlessgaita	grabadoraz	gran cajau   gravicémbaloguitarrau   guitarra acústicau   guitarra eléctricau
   harmónicazhi hatzinstrumento de cuerdazinstrumento de maderau   instrumento de percusiónzinstrumento de vientozinstrumento de viento-metaljuegozjuego de timbresu   laúdlirou   látigomatracau   máquina de viento	octavillo	panderetazpapel de lijau
   percusiónzplatillo hi-hatzplatillo sizzlezplatillo suspendido	platilloszplatillos crashzplatillos de choquezplatillos suspendidosplatos
redoblantezsaxo sopranoz
saxo tenoru   saxofónu   saxofón altou   saxofón del barítonou	   saxofónou   saxofóno altou   saxofóno barítonou   saxofóno sopranou   saxofóno tenoru	   saxofónsu	   saxófonosilbarztambor afinableztambor de aceroztambor de manoztambor mayoru%   tambor metálico de trinidad y tobagou   tambor militar pequeñoztemplo de bloquetimbaltimbalstomtom	trinqueteu
   triángulotrombonsu   trombónu   trombón bajotrompatrompastrompeta	trompetasu	   tímpanosu	   vibráfonu
   vibráfonoviolines)
violoncelovioloncelosvioloncheloviolonchelos   violínvoz   xilofónu	   xilofóno	   xilófono	   zampoñas
   órgano de   órgano de campanas   órgano de tubos   órgano eléctrico	accordeonacordeonzarmonica de bocazbajo acusticozbajo electricozbasse electriquezbecken freihangendzbecken gewonlich	beckflote
blockflotecampanologozcana de organoscastanuelasclavecembaloclavicimbalozcloches a vachezclochettes a mainzcorno franceszcorno inglescrecellecrotaloszcuerno ingles
echelettesr  zel viento de la maquinar  flautinflotezflute a beczflute de panzflute doucezflute droitezflute piccolozflute traversierezgrande flutegravicembalozgresillement cymbalezguitare electriquezguitarra acusticazguitarra electricazguitarre electriquehangebeckenzhangendes beckenhirtenflote
kielflugelzkleine flotelatigozmachine a ventzmaquina de viento
octavflotez	organo der  zorgano de campanasr  zorgano de tubosr  zorgano electricor  zorgue a tuyauxzorgue electriquepanflotezpetite flutepickelflotepikkoloflote	querfloterohrenglockenruhrtrommel
sandblockezsandpapier blockesaxofonzsaxofon altozsaxofon del baritonozsaxofono tenorzsaxophone tenorschnabelflotez$tambor metalico de trinidad y tobagoztambor militar pequenor  r  r  r  )ztenor tambourztimbales creolestimpanos	triangulor  zturkisches hangebeckenr1  r9  xilofonrX  zamponaszm-3zM-6zM-2zM-9zM-16M2m3zM-13m7zm-2)rZ  r   r^  r_  b- basszb- contrabassr   rd  rh  ze- altoze- contrabassr[  h	b-naturalzP-8zm-7zm-6zP-5zP-4)rZ  rb  rd  rg  rh  englishrj  rk  P1P4)rZ  r^  r_  r  rb  zc basscornetrd  zd bassrh  ze- bassr  r  rj  
flugelhorn)r   r   r*  c                      e Zd Zd Zd Zd Zy)Testc                    t         t        t        t        t        t
        t        fD ]  }|D ]  }| j                  |t                ! y)z
        Test that the allToClassName dict includes all the keys from the constituent dicts.

        Note: No length test due to duplicate entries
        (i.e. allToClassName is smaller than the sum of its parts).
        N)	abbreviationToClassNameenglishToClassNamefrenchToClassNamegermanToClassNameitalianToClassNamerussianToClassNamespanishToClassNameassertInallToClassName)selfeachDictkeys      V/DATA/.local/lib/python3.12/site-packages/music21/languageExcerpts/instrumentLookup.pytestAllToClassNamePopulatedz Test.testAllToClassNamePopulated   s?     1+**+++-H  c>2  -    c                    dt         fdt        fdt        fdt        fdt        fdt
        fdt        ffD ]!  \  }}| j                  t        |   ||          # y)	zZ
        Test an example from each constituent dict that makes up allToClassName.
        r   r   rE  r  r   rq  r  N)	r  r  r  r  r  r  r  assertEqualr   )r  
testStringlangDicts      r  testAllToClassNameExampleszTest.testAllToClassNameExamples2  sp    
 './F%G&13E%F&46G%H&13D%E&/1C%D&,.@%A&35G%H%' J ^J7*9MN%'r  c                    ddl m} t        j                         D ])  }| j	                  |      5  t        ||       ddd       + y# 1 sw Y   6xY w)z5
        Test that all class names are real.
        r   )
instrument)nameN)music21r  r   valuessubTestgetattr)r  instrr   s      r  testAllClassNameszTest.testAllClassNamesA  sA     	0&&(A1%q! &% )%%s   AA	N)__name__
__module____qualname__r  r  r   r  r  r  r    s    3$O"r  r  __main__)
__future__r   unittest_DOC_IGNORE_MODULE_OR_PACKAGEr  r  r  r  r  pitchFullNameToNamer  r  transliterationtranspositionr   _keyTestCaser  r  r  mainTestr  r  r  <module>r#     sB   #  $ K_K
NK K 
;	K
 [K 
6K NK JK 
:K 
:K "K 
>K lK 	'K 
7K  
>!K" 	)#K$ 	'%K& 	)'K( ^)K* 
9+K, I-K. _/K0 
;1K2 
;3K4 [5K6 	,7K8 O9K: 
9;K< k=K> 	'?K@ 	*AKB ICKD 
<EKF LGKH 
6IKJ }KKL ZMKN 
9OKP 
>QKR SKT 
=UKV MWKX nYKZ  [K\ ]K^ m_K` 
9aKb 	)cKd eKf 	'gKh 
:iKj NkKl ^mKn NoKp 
6qKr 
sKt 
>uKv 	&wKx KyKz 	&{K| 	&}K~ 
=K@ 
6AKB mCKD 
6EKF IGKH 
9IKJ 
;KKL 	*MKN JOKP 
9QKR JSKT 
>UKV NWKX 	.YKZ 	&[K\ 	)]K^ J_K` [aKb 	'cKd GeKf 
9gKh IiKj 	)kKl 
7mKn 
:oKp qKr sKt  uKv 
;wKx _yKz l{K| 
9}K~ 
7K@ [AKB [CKD EKF GKH LIKJ fKKL 	&MKN 
6OKP 
9QKR JSKT }UKV kWKX 
:YKZ I[K\ L]K^ 
9_K` 	)aKb 
:cKd JeKf 
:gKh 
9iKj kKl 	'mKn 	-oKp mqKr 
=sKt 
<uKv \wKx LyKz 
8{K| 	(}K~ 
7K@ 
=AKB 
8CKD HEKF 	(GKH 
8IKJ 
:KKL [MKN 
9OKP =QKR UK \pp^p 'p W	p
 Fp op zp 
p Wp 
p -p Fp ^p p ^p  y!p" 	#p$ %p& 'p( <)p* )+p, X-p. /p0 y1p2 y3p4 ]5p6 m7p8 9p: n;p< W=p> M?p@ 
ApB CpD ,EpF GpH +IpJ ,KpL LMpN _OpP oQpR =SpT 	UpV ^WpX yYpZ <[p\ \]p^ 
_p` ^apb 'cpd oepf ogph Mipj ]kpl ompn Wopp gqpr 6spt Fupv ^wpx Nypz F{p| }p~ p@ ApB FCpD VEpF =GpH mIpJ ]KpL FMpN VOpP MQpR ySpT IUpV /WpX FYpZ F[p\ 
]p^ y_p` yapb lcpd ^epf ;gph Fipj Vkpl ympn Iopp ~qpr Wspt zupv 
;wpx ypz 
{p| 
}p~ 
p@ ,ApB \CpD WEpF 'GpH yIpJ +KpL -MpN yOpP iQpR 
SpT +UpV MWpX yYpZ )[p\ ]p^ +_p` ,apb 
cpd yepf Wgph Wipj ^kpl mpn Mopp +qpr =spt yupv +wpx 	ypz o{p| +}p~ ;p@ ApB +CpD +EpF !GpH )IpJ WKpL xMpN ,OpP MQpR WSpT +UpV 'WpX 
YpZ y[p\ x]p^ _p` 
apb 
cpd epf ygph 	ipj Fkpl Vmpn ^opp qpr Jspt yupv ywpx 1ypz {p| ,}p~ p@ WApB gCpD hEpF xGpH =IpJ MKpL ZMpN FOpP yQpR +SpT MUpV /_p f^+^
G^ W^ z	^
 z^ )^ V^ ^ n^ ^ n^ i^ y^ ^ K^   1!^" l#^$ [%^& {'^( K)^* Z+^, 
-^. /^0 -1^2 +3^4 *5^6 7^8 :9^: ;^< =^> ?^@ ,A^B ~C^D 	E^F .G^H .I^J 	K^L +M^N +O^P ;Q^R [S^T U^V <W^X LY^Z O[^\ _]^^ 
6_^` =a^b fc^d Ve^f  g^h Vi^j k^l Fm^n ^o^p q^r  s^t u^v *w^x -y^z {^| /}^~ 	^@ jA^B C^D gE^F ZG^H JI^J ZK^L iM^N 7O^P ZQ^R wS^T VU^V W^X WY^Z }[^\ Z]^^ ^_^` a^b *c^d +e^f  g^h ,i^j k^l Vm^n fo^p q^r ms^t .u^v w^x .y^z $%6{^| !"6}^~ ^@ nA^B FC^D }E^F G^H WI^J {K^L M^N (O^P YQ^R 'S^T iU^V [W^X Y^Z [^\ ]]^^ __^` oa^b ,c^d +e^f (g^h i^j yk^l wm^n )o^p jq^r gs^t {u^v Jw^x [y^z {{^| }^~ ^@ A^B lC^D =E^F yG^H 	I^J K^L M^N 
O^P 
8Q^R 
S^T nU^V W^X Y^Z )[^\ V]^^ _^` 
a^b gc^d ke^f g^h hi^j =k^l Mm^n xo^p Jq^r s^t {^ Buuu Nu &	u
 
6u Ou u ?u u zu *u Nu u ~u Nu  n!u" >#u$ i%u& ,'u( )u* >+u, *-u. */u0 ,1u2 :3u4 l5u6 l7u8 9u: ;u< ]=u> }?u@ MAuB =CuD [EuF [GuH NIuJ >KuL zMuN OuP nQuR !SuT +UuV WuX 'YuZ ][u\ M]u^ i_u` yaub 	cud _euf gguh wiuj -kul Xmun oup ~qur jsut  uuv Mwux yuz {u| ;}u~ [u@ VAuB fCuD EuF YGuH JIuJ VKuL .MuN OuP 6QuR ;SuT %UuV *WuX vYuZ K[u\ 9]u^ Y_u` =aub *cud :euf ,guh wiuj Ykul kmun ioup ,qur Lsut Ouuv _wux :yuz ){u| V}u~ [u@ NAuB CuD 9EuF [GuH >IuJ [KuL NMuN VOuP 9QuR ySuT WUuV WuX jYuZ Y[u\ i]u^ _u` \aub ycud Keuf mguh 'iuj Ikul ymun Youp zqur 
sut 'uuv ywux Nyuz M{u| ^}u~ nu@ KAuB *CuD $EuF #GuH +IuJ KuL MuN |OuP QuR ,SuT jUuV 	WuX kYuZ *[u\ g]u^ +_u` iaub )cud (euf Kguh iuj jkul #mun ;oup $qur msut juuv wux yuz h{u| M}u~ &u@ %AuB KCuD 
8EuF xGuH 
IuJ 	KuL MuN [OuP  1QuR &SuT UuV  !  iu przrr r 	r
 Fr Fr r 
r Vr ~r r  1r {r kr lr  l!r" )#r$ ~%r& 'r( )r* .+r, -r. 9/r0 91r2 k3r4 Z5r6 &7r8 Z9r: K;r< k=r> ?r@ ;ArB yCrD ]ErF }GrH -IrJ ;KrL -MrN  OrP )QrR *SrT UrV }WrX ~YrZ *[r\ 
]r^ *_r` arb ycrd Merf ,grh [irj <krl <mrn Lorp _qrr _srt urv wrx Vyrz V{r| f}r~ ]r@ )ArB ?CrD jErF GrH yIrJ yKrL ;MrN yOrP gQrR gSrT jUrV ZWrX jYrZ J[r\ Z]r^ i_r` warb fcrd erf *grh irj mkrl ]mrn !orp Vqrr -srt }urv wrx >yrz N{r| }r~ Fr@ gArB kCrD kErF GrH 	IrJ <KrL 'MrN nOrP }QrR ~SrT ~UrV 'WrX YrZ J[r\ ]r^ 
_r` arb crd oerf -grh ?irj +krl (mrn 
;orp qrr _srt ,urv /wrx *yrz '{r| }r~ r@ gArB WCrD zErF }GrH -IrJ LKrL -MrN |OrP )QrR LSrT -UrV |WrX )YrZ [r\ ,]r^ \_r` arb \crd erf jgrh jirj krl mrn horp qrr gsrt 
urv 	wrx 	yrz *{r| y}r~ r@ iArB iCrD 
ErF nGrH 
IrJ [KrL yMrN OrP WQrR xSrT xUrV ! cr h22U2 e2 d	2
 t2 	$2 
52 2 U2 e2 d2 t2 	$2 
52 2  U!2" e#2$ d%2& t'2( 	$)2* 
5+2, -2. U/20 e122 d324 t526 	$728 
592: ;2< U=2> e?2@ dA2B tC2D 	$E2F 	
	
c2 l&
F&& F& z	&
 
6& N& *& 
& 	& & Y& g& i& 7& K&  V!&" Z#&$ F%&& z'&( )&* +&, ^-&. &/&0 1&2 y3&4 Y5&6 7&8 y9&: 
6;&< f=&> ?&@ xA&B zC&D YE&F !, K& Ryyy Fy V	y
 iy Fy ny ~y y y y  1y Zy ly ly  +!y" +#y$ {%y& K'y( )y* +y, .-y. 	/y0 N1y2 y3y4 5y6 K7y8 9y: ];y< =y> }?y@ -AyB ]CyD mEyF /GyH  IyJ 	KyL MyN nOyP *QyR ]SyT ]UyV WyX <YyZ ][y\ ]]y^ K_y` [ayb kcyd ,eyf <gyh ?iyj kyl }myn ]oyp fqyr ]syt vuyv wyx !yyz f{y| m}y~ y@ AyB zCyD 6EyF .GyH ZIyJ zKyL ;MyN OyP YQyR gSyT wUyV 7WyX ZYyZ j[y\ J]y^ i_y` Jayb wcyd eyf wgyh jiyj 	kyl myn Zoyp qyr syt ]uyv  wyx *yyz +{y| +}y~ my@ mAyB /CyD 1EyF  GyH 1IyJ "#4KyL ^MyN OyP VQyR NSyT vUyV WyX yYyZ N[y\ -]y^ V_y` ayb gcyd 	eyf zgyh iyj &kyl ,myn }oyp ~qyr ,syt uyv ~wyx >yyz .{y| i}y~ +y@ &AyB "CyD EyF _GyH 1IyJ KyL oMyN .OyP +QyR 'SyT UyV WyX iYyZ g[y\ z]y^ {_y` {ayb lcyd Keyf ,[gyh {iyj kyl imyn 	oyp yqyr hsyt uyv *wyx 
yyz 
{y| ^}y~ fy@ vAyB 	CyD EyF VGyH IyJ KyL yMyN OyP ,QyR gSyT UyV    ! )#)qy vaaa -a '	a
 )a a -a 1a -a a /a #a .a #a |a  |!a" %#a$ %a& %'a( %)a* ++a, /-a. '/a0 %1a2 3a4 5a6 '7a8 /9a: ;;a< =a> |?a@ ZAaB ZCaD &EaF %GaH #IaJ %KaL 'MaN 2OaP %QaR %SaT 5UaV 1WaX /YaZ 1[a\ 3]a^ #_a` -aab cad #eaf /gah %iaj kkal )man /oap /qar sat 1uav +wax 0yaz ){a| -}a~ a@ %AaB #CaD %EaF GaH 'IaJ #KaL /MaN /OaP |QaR %SaT 8UaV WaX 'YaZ 2[a\ -]a^ )_a` +aab 'cad keaf +,Ugah 9iaj Zkal (-<AaH !"(!"(#    "#3)^  	
    D)/$*?@N4  	
*"8 *"^ zGT r  