ELF>F@@X@8 @$!@@@@@88@8@@@,k,kppTpTD (p(pT(pTTT@T@ tt@t@Ptd..D.D Qtd/lib64/ld-linux-x86-64.so.2GNUSuSE &}NhXvGZx :*Ru|j85HAUtB^(,Te~ cP]r> +.o"p{DY1ybn?@w L6I[#';%/9MK=WC3`\aV$JsOE<ml4g-dF)_20 7 fQzq!iSk t /<nZ N|c'g " 'v| '(pT#[/P?'S hq'=  I t 3l LyMh"U 1.F 40 R Ugu'- 8 :@'U;N ' il Ce '!>0<@'  LS%L   wgm~$' N ;|7 ';  42 ) UTdh@   Je'M z 9 + <2' U` l Ms  9+ A [s8CF \]D = nz  + @V[ 'oPV  0 H r Uh  W1 p +8Kfu{ V tc V8@ 03'X  \ V 3B'T^El$@ VY T '| libXm.so.3XFreePixmapXtOverrideTranslationsXtAppPendingXCreateFontCursorXmCreatePulldownMenuXmCreatePushButtonXmCreateMenuBarXtGetApplicationResourcesXDrawStringXtSetValuesXSyncXDefineCursorXmSelectionBoxGetChildXmOptionButtonGadgetXmCreateFormXtRemoveAllCallbacks_DYNAMICXtGetValuesXmScaleGetValueXmCreateDrawingAreaXtInsertEventHandlerXPendingXtAppAddInputXtFreeXmCreateCascadeButtonXtPopupXmTextSetStringXtAppNextEventXSetForegroundXFillPolygonXmStringGetNextSegmentXtCallocXmCreateWorkAreaXFreeGCXCopyAreaXtShellStringsXmCreateScrolledTextXtIsManagedXmCreatePromptDialogXtRemoveInputXmCreateArrowButtonXtRemoveEventHandlerXtMalloc_initXmCreateGrabShell_XmStringsXtScreenOfObjectXmStringCreateSimpleXmStringSeparatorCreateXmListAddItemXTextWidthXmStringConcatXtDispatchEventXmCreateMainWindowXmStringFreeContextXmToggleButtonGetStateXmCreateFileSelectionDialogXmCreateScrollBarXtAddCallbackXmCreateRowColumnXmCreateLabelXtAppCreateShellXtPopdownXmListDeleteAllItemsXtWindowOfObjectXmToggleButtonSetStateXtManageChildXChangeGCXtCreateApplicationContextXmCreateToggleButtonXmStringInitContextXmCreateErrorDialogXQueryColorXListFontsXmCreatePushButtonGadgetXtDestroyWidgetXtOpenDisplayXDrawLineXmStringCompareXtDisplayOfObjectXLoadQueryFontXmCreateWarningDialogXmCreateInformationDialogXmCreateSelectionDialogXmTextGetStringXtAddEventHandler_finiXmCreateScrolledListXAllocColorapplicationShellWidgetClassxmRowColumnClassRecXmStringFreeXNextEventXtReallocXtRealizeWidgetXSelectInputXGetGeometryXSetLineAttributesXmFileSelectionBoxGetChildXDrawSegmentsXClearWindowXtParseTranslationTablexmLabelClassRecXFillRectangleXmMessageBoxGetChildXmListDeleteItemXmCreateScaleXtUnmanageChildXFreeFontNames_Jv_RegisterClassesxmScrollBarClassRecXUngrabPointerXmCreateSeparatorXPutImageXCreatePixmapXmCreateFormDialogXtStringsXCreateGCXmCreateTextXmStringEmptyXmCreateOptionMenu__gmon_start__libXt.so.6XAllocNamedColorXtWindowXtDisplayXtAppAddActionsXSynchronizeXtToolkitInitializeXDisplayNamelibX11.so.6XWhitePixelXParseGeometryXSetDashesXSetFontlibm.so.6sqrtceilfloorlibSM.so.6libICE.so.6libc.so.6putcharstrcpyasctime__strtod_internalmemmovegetenv__strtol_internalqsortfgetsmemcpyperrorfeofpopensocketfflushfcloseabortacceptstrrchrfprintfstrcatbindsignalreadstrncpystrcasecmpfdopen__strdup_IO_getclistensscanflocaltimememsetinet_ntoastrcmpgethostbynamegethostnamesprintfstderrfputc__ctype_b_locpclosefwriterewind__errno_locationexit__fxstatfilenofopen__ctype_toupper_loc__libc_start_mainstrlenstrchrfputsfcntlfreegetsockname_edata__bss_start_endGLIBC_2.2.5GLIBC_2.3x ui  ii  ui  rTU3U9UB@VPV V V@ V8rT@rTHrTPrTXrT`rThrTprTxrT rT rT rT rT rTrTrTrTrTrTrTrTrTrTrTrTsTsTsTsT sT(sT 0sT!8sT"@sT#HsT$PsT%XsT&`sT'hsT(psT)xsT*sT+sT,sT-sT.sT/sT0sT1sT2sT4sT5sT6sT7sT8sT:sT;sT<tT=tT>tT@tTA tTC(tTD0tTE8tTF@tTGHtTHPtTIXtTJ`tTKhtTLptTMxtTNtTOtTPtTQtTRtTStTTtTUtTVtTWtTXtTYtTZtT[tT\tT]tT^uT_uT`uTauTb uTc(uTd0uTe8uTf@uTgHuThPuTiXuTj`uTkhuTlpuTmxuTnuTouTpuTquTruTsuTtuTuuTvuTwuTxuTyuTzuT{uT}uT~uTvTvTvTvT vT(vT0vT8vT@vTHvTPvTXvT`vThvTpvTxvTvTvTvTvTvTvTvTvTvTvTvTvTvTvTvTvTwTwTwTwT wT(wT0wT8wT@wTHwTPwTXwT`wThwTpwTxwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTwTxTH Z eH527%47%27h%*7h%"7h%7h%7h% 7h%7h%6hp%6h`%6h P%6h @%6h 0%6h %6h %6h%6h%6h%6h%6h%6h%6h%6h%6h%z6hp%r6h`%j6hP%b6h@%Z6h0%R6h %J6h%B6h%:6h%26h %*6h!%"6h"%6h#%6h$% 6h%%6h&%5h'p%5h(`%5h)P%5h*@%5h+0%5h, %5h-%5h.%5h/%5h0%5h1%5h2%5h3%5h4%5h5%5h6%z5h7p%r5h8`%j5h9P%b5h:@%Z5h;0%R5h< %J5h=%B5h>%:5h?%25h@%*5hA%"5hB%5hC%5hD% 5hE%5hF%4hGp%4hH`%4hIP%4hJ@%4hK0%4hL %4hM%4hN%4hO%4hP%4hQ%4hR%4hS%4hT%4hU%4hV%z4hWp%r4hX`%j4hYP%b4hZ@%Z4h[0%R4h\ %J4h]%B4h^%:4h_%24h`%*4ha%"4hb%4hc%4hd% 4he%4hf%3hgp%3hh`%3hiP%3hj@%3hk0%3hl %3hm%3hn%3ho%3hp%3hq%3hr%3hs%3ht%3hu%3hv%z3hwp%r3hx`%j3hyP%b3hz@%Z3h{0%R3h| %J3h}%B3h~%:3h%23h%*3h%"3h%3h%3h% 3h%3h%2hp%2h`%2hP%2h@%2h0%2h %2h%2h%2h%2h%2h%2h%2h%2h%2h%2h%z2hp%r2h`%j2hP%b2h@%Z2h0%R2h %J2h%B2h%:2h%22h%*2h%"2h%2h%2h% 2h%2h%1hp%1h`%1hP%1h@%1h0%1h %1h%1h%1h%1h%1h%1h%1h%1h%1h%1h%z1hp%r1h`%j1hPH1I^HHPTIPCHCHǐCHHA+HtHÐU=Hu6H,1HHt fffHH1H 1HHuiffffffffUH=(HtHt ɿ pT靸ÐAWAAVAUATE1USHH$H|$@D$6D$,HcA)HIcHsDHcHD}0 t׃tѺDPC1ѡCAۡCAH$Ƅ$LLD$+Et&H$ޡCLuNH$LLuHcHD& tЃtDDPC1ѡCH4RH>H4HEFHu0t1AAɃAAEG\AAffLcA)LIcL9sKHcHD}7ffffff tσtɿPCDD1ѡCD#|$x9y5D\$|D9Y $$A9QD 9YAD Ш$9QD$D$D$D9q D9Q @ D9I$AD fffff΃AL!uVA#DHQL$T$L$t$EC13H$C`W1H|$@`W}$1@C{SCODpC`W1CKfffffffffffATU1SH0$D$D$D$ D$D$D$D$D$ D$$D%Au%%IΉH`HA1A+ЉHLIAD A[D%AAL9|EK@,ЉEHH8HA EKD%Aa`AL9|A{ +ЉHLIAD A{ D%AAA@ELD9|AsE1.fЉAHLIAD AsD%A! ALA9|D i4%EAstA H %T$8QHH<%HH%D$H)HH9YT$L$ ڀv,v"tE1ɀABffff ˆT$H%u H;%tDZAANLUH%D$DL$DT$DH,%DM\$ DU] T$UDD$DE|$}L$Mt$ u Dd$$De$H0[]A\Ë4%HA`HHAĉAAEAA`fff_HHHAAAEDG$ẢA!AA ED AA _DG$D%AAELE9|4%A@XDgHHHÉEˋ_ EAȉA!AA E A Dg_ D%Aa` ALA9|AA@ALE19Dg HHHAÉAAED_EAȉA!AA EE A Dg D_D%AA@ALE19|A! ALA9}sfffDGHHHAĉAAEDgEˉA!ɃA EA AA DGDgD%A! ALA9|E91H %T$8QH|$9yt\$ 9Y T$D\$A9QD D9YAD ШDT$9QDD$DT$ DL$$AD9AD D9Q @ D9I$AD fffLB4RLH HEHMH %ACtOD %DOHASHxHtHHHuHƀ*HHǀxX fǀ,ǀƂ+H ٦Hǁ0H8[fffffƇ.Ƈ[Ƈ]HofffffffffffAWAVAUATIUSHH8H|$(t C1jCHrHH H7A2CCHǀCLD4C11sCCHH1H g  4C0CH11?sHH¾CC1HUH8[]A\A]A^A_H'XC=MtCLUCH1H AbCgCLnCHPCID1ACrHӤL龃CH|LHD1KL=LL򾕢CHA)HD1#L%LL򾨢CHA$*HD1L[LL򾼢CHA(HD1L3LLҢCHAHD1L LCH1A,LLCH1A0iH=ʣf8FLHCH1;H5LH+CLD1LH ut NL,CH1H1L;CH=.@V u fffP LAICCMLLA{ ECMASL$0LDA{ HDA{HDHt$EcDd$A{MLD1LT$L4$KCvLL_CH1LbMLMI DGWLDˀ HDˀLDLd$GMD$LLD1L\$A4$KCLLtCH1}LޡMLKCI DGWLDˀ HDˀLDLd$GD$LLD1Ll$ED$s1LL򾈣CHH_tHL򾞣CH1H CLMxMIM L򾰣CH1E1LAH(A5 tL DLƣCH1TAH(A~1LӣCH2MmM~H H yH٣CA7H HHD$ 8AHD$ 8A TLL$ M$ I$ M$ tH\$0I$PIUE11AH/A$$ACCCMM8ECIDHL$AUHمLID1H<$H2H QHC_H pL!MuM$$MH OAL;d$(D!uuL;atIT$CH11L0CHI$HtHK@1LCCHyHHuqH0ЫCH LaMu M$$MAL;d$(D!uuL;atIT$1CHI$Hu?LIHSpI;tLBHK@LTCH1HHt t$HC`HtHK@ILjCH1xHK@AL򾁤CH1]HCH L!MuM$$ML;d$(!بuA$tIT$I$CH1E1{ACACDL򾾤CHMD1{ͤCAԤCDLHLDƾ٤C1LCDLCH1nD DLCH1R1DLCH={ 7CH1"1DL-CH CS7CH1AH(AH 3H>CH HHuJHH>AH;\$(D!uatHSCH1PDLWCH1II$HU+LiCH1L򾂥CH1LZL򾞥CH1A$L-:fAO>LHCH1H HɥCLH<H ݚH  C1DL-CHDC7H  Cq6L;afH;YfffffZHC.H=?8H 3DtH޿ݥC1HھC`W1`W1LiH8[]A\A]A^A_H  C;HCgHCPH$C9fffffffffUSHHH[HƂHIƂqH=5HHHH=H@H=CHH=HHYH-ژ/HHHHu .HHuH=HC[]H-CSH5tHƆH bƁH=NHHHH=4H@H=!CHH= HHrH-/HH7HHHH[]fffffffffUHSH=.u H[]ÐHH=HtKH!ʉсကtAHwA ADHDCH . KH!ʉсကtALWHCA XADIDAAH H1H1HfH[]ÐAWE1AVE1AUATUHSHL$H|$H$ff;HHDq tHA]AuA"zEt(fff"t\HA]A]IńuEt"H|$(C`H$AECt$؃1u$ H$HD[]A\A]A^A_fffffuHUAF@΅nAuIZHjDpG =!Ȩ1"('\tHA]A]IńuuHUAF@΅tnt%AuIZHjDpHHgAE HAA]qAE >H$Ct؃0u$u'H$HD[]A\A]A^A_Ai1ZC`Wh=uH<$H\$`WH=HtF/H!сကtALOCA \ADIDAAHDHAAD!ډсကtALoHCA ADIDAAH H1H|$H1CcffffffffffAWE1AVAUAATUHSHH|$HT$HHDq tHA]uÃC?0 wYE1%HHy- HA]uct=fffffNfffffHL$HD[]A\A]A^A_L$E1D$3LHADs tHA]AuA"Y|$^t$"t\fHAA]IƄu܀|$t"H|$(CWAHE Ń Lʼn Ld$A$HD[]A\A]A^A_ÃnL$E1D$SLLCDH tHA]AuA"?|$AIHA]?"6\uHAU…GnMAMHUAt$nAIZHjDf Aŀ=D!"'\tHAA]IƄuzMHUAt$t nAIZHjDfHAIHA]: A€=D!Ш""'\fuHAU…&nAHA jH|[Lt$AHD$E8 E1 PC`W=(H\$ `WH= HDHAAD!҉сကtL_ DIDCH #H1H|$H1^LffffHD$A]A HzA iD/HAAD!сကtALgHCA ADID@H |ZH1ɺ 1H|$LLCDHHA]ulHD$A]A A|$t"uAAHE狂  H|$(C.fffffffffAWIAVIAUATE1UHSH8Ll$ ZHHqu-tHA]uufAED$ w&HHi(J9IH8D[]A\A]A^A_H|$uC17IH8D[]A\A]A^A_1ɺ 1H}AE$fffffHHD{mHA]uZffffAVIAUIHATUSHH\$0H+%HnHHpHuLD$,HL$(HT$$Ht$ HAt T$(fAUAt T$,fAUAt L$ fAMA\$$AE AE AE AEfA]A6L@taffLLCDHu H+@uH fffffH+HDzu@%AA@utyAm EMEEAMAU@%|$A]C%t$Ee LAEAA%D\$EU A1%,$HĠ[]A\A]A^AE AE AE AEALKAtA0AfftAE + AtA AtAE DADEAtAEAAE fffffffffffffAWAVAUATUSHPH$Ht$xT$wL$vHT$xtHHDq -HL$xHtM! #"ffHtFу!#"uffff9tHfft8"HD$x1Ҁ;1@ Z =L$OHl$xE1D$uMLLCDH tHA]AuA"|$ut; AĀ=D!t'"t"'t\xAHIA]uŀ|$ut" H$(C AIcHl$xHl$8hL(LCDu tHD$8HT$8uL\ACLL-CLLF1A CLLA 0A CLL0ACLL/ƦCLHٽ5A ֦CLL4ߦCLHn4CLL2CLH5 CLACLL /CLL |$w CLU@CLLCCNCLLBZCLLA @eCLL%@sCLIxCLHDCCLLFCLLc5CLL=CLL=CLHy<çCLL;̧CLLXEקCLL+CLL(CLL&CLH\"CLLCLL(CLLr6CLLBCLL`PCL:gCLHE wCLL6CL6CLh:CLL#}CLL} CLL CL ɨCLL ҨCLH/CLL/CLHY/CLLF.Q1VUHl$8IVE1E1 H0LBDF tHA]AuA"<EffffA]HIA]"\uUHM…nAUIHA1}@ |$v1ۋ.A€}D!Љ$H\$xL$JE1: AÀ,D بu=t{t}te"ft'uY}tTHA uPHx"HHqE҃! 2HD$xIAD苌$Ł$Jt$HcDyVHLDH<VHcH\$xDMHUAut nAZHjDnI*HAUHAD$ufff]B"9\tAHIA]fffUHM…tntAIHAHA LLCD{t IA,$@uI@=H޺(LAF'L2 AĀ,D!t%=t {t}t"ft't HuLB($Łr1HVC`W=vH$F`WH|=HtzD/HAAD!сကtAHwA ADHDCAAH H1H$H1DPA H!ʉсကtALWHCA ADIDAA눀|$vt =uyH !HxHt H{ HV HHuQ3VQHH莻H5HxXHHxH$JجCH=HtvD'HA$AD!ʁ tALwCAကH BADIDAAՋH1+H$H1NfffDHAAD!ʁ tAHoHCAကH ADHDAAfff|$ot @"WAAE;u =,h`Ht$ IcH$NtH$ 0t>H$H$1H$N1@H$xXHĨP[]A\A]A^A_ANH(H;QVH=H蹹H 1CH(=:uMHUAvnAMZHjDvIńt8 A€=D!Шt$"t't\tA]HIA]uEt"}H$(CAE=u =uYMcL|$8L|$xH6HAAE HAA]AE *AH$CH<=GHtnDHAAD!ډсကtHo ݎDHDCAAH \H1YH$H1LD/HAAD!сကtALGHCA ADIDH U돺 H11RD≄$)LATH\$8 "u Ll$8AML$€"A1A!AEA[""(Uu =TLLCDZ u*@\uIA$…nnIAUEt@"J@=g?AELcLl$8H$H$LZ$HILl$ͅ퉬$pLd$L$E11?H8HDO tIAA,$@AuA"uIAŻA,$t_fA/IIAA,$@@"@\uIAA$…tpnAAA/IIAA,$@tU@ A@=D!بt?@"t9@'t3@\uIAA$…nAI̐Qt@"ffAAIcH\$H$C9D$ND$E$1HcLi8L-6u|$OE1|$NMuXA}XIVI~0EAvH$pI~8H$ jL%tA$XIA tH$Cu*D$OEA H$(C$)H$H$ ޯIIHl$8L$ND$PE1E1ڵLHAD{ tHA]AuA"LEtZA$IHA]"\uHAU…tjnnA$A$IHA]tR @ƀ=!t?"t:'t5\uHAU…&nhLA$HfffYEt"ffOLAA$$Nu =GLIcH\$8$NH\$Ld$L$pE11藴HLBDA tIAA,$@AuA"uIAŻA,$t]A/IIAA,$@@"@\uIAA$…tsnAA/IIAA,$@tW@ A@=D!tA@"t;@'t5@\ffuIAA$…nAIOt @"AAIcH\$H$p C蓨|$PD$p@|$PH$H$N|t$P1CIA A H$(CiA$ KHL$NHl$8E1Mff˲H8HDw tH]AuA"<EtMA$IH]"t~\uHU…tcnA$A$IH]tJ =!Ȩt8"t3't.\uHU…nBA$HnEft"tH$(CA$A>u =A$NH$L15A$ Hff1Hl$8L$NE1E1 ffffkH8LBD_ tHA]AuA"?;EtZA$IHA]"\uHAU…tinqA$A$IHA]tM =!Ȩt;"t6't1\uHAU…MnIA$H^Et "QAA$$Nu =KQIcHD$8$NHD$aH$pIE1D$nI,H0LBDF tIAA,$@AuA"u(R@"t~@\ffft@AmIIAA,$@t\|$nu@ A@=D!t?@"t9@'IAA$…tnQAUIA$ ffE|$nt @"D>AAE;u =7A>IcHt$H$H$1H$N1bH$Hr$n jaHt$8H$H$$a$D /aEOD$DaL5lHt$8H$H$E+D$$u`=$Hl+NHl$8L$NE1fffH8LBDG tH]AuA"NEtMA$IH]"t|\uHU…tanA$A$IH]tH A=D!Ȩt4"t/'t*\uHU…tingLA$HpEfft"tH$(CA$$N:L$A&A$ HSHl$8L$NE1E1!fffff۬H8LBDW tHA]AuA"LEtVA$IHA]"\uHAU…thntkA$A$IHA]tZ =!ȨtH"tC't>\ffuHAU…~nMA$H_A$ REffft "KAA$$Nu =JMcL|$8H$ 0D$oIL|$ ME1蛫LHADs tIAA,$@AuA"|J|$otfffffAmIIAA,$@@"@\uIAA$…tnAUAmIIAA,$@@ A@=D!o@"e@'[@\uIAA$…t nAAUI̐BH3I~AE %Hl$8L$NE1E1gH8LBDO tHA]AuA"+IEt`ffffA$IHA]"\uHAU…tnnwA$A$IHA]tR =!Ȩt@"t;'t6\fffuHAU…n@A$HYEt "[FAA$$Nu =<SFIcHD$8$NHD$(RH$ 0IE1D$pILLCDZ tIAA,$@AuA"u)F@"t@\fffft@AmIIAA,$@t\|$pu@ A@=D!t?@"t9@'IAA$…tnoFAUIA$ ff?|$pt @"PFAAE;u ='MFIcHt$(H$H$1H$N1RH$H$ ^|HffffHl$8L$NE1E1 ffff軧H0LBDF tHA]AuA"_CEtZA$IHA]"\uHAU…tjnA$A$IHA]tS @ǀ=!t@"t;'t6\uHAU…n=A$HfffXEt"ffBAA$$Nu =BIcHD$8$NHD$0L$ 0IE11yLHADI tIAA,$@AuA"u%9B@"tk@\ft=AmIIAA,$@tLu@ A@=D!t2@"t,@'IAA$…tnAAUI뤄t@"ffAAAEIcHt$0H$H$1HcH$NH{˫H$H$ 0膭$yuA$ HL$NHl$8E1D$qM+LHADs tHA]AuA"u@|$qtVA$IHA]"\uHAU…tgntjA$A$IHA]tY A=D!tE"t@'t;\uHAU…n>A$H`A$ S|$qft "?AA$A?u =>IcHD$8$NL$ 0HE1H8LBDO tH+@AuA"u+f?fffff@"to@\fffft9A,$IH+@tQEu@ A@=D!t6@"t0@'H…tn ?A$HH͐Et@"ftH$(CH$ 0A$C;11L@v L-EaH$L$WHl$8WE1AfA*\)ǃ*A^`XD,蕢LLCDH tH]AuA"'EtXfffffA$IH]"\uHU…tenA$A$IH]tL A€=D!Шt8"t3't.\uHU…nn'A$HhEt"tH$(CEA$H$H$+H5_;\AD9D H$DfWH$D)*^`D,EAEAD)ى\C &A$ H͐L$NHl$8E1D$rM۠H0LBDF tHA]AuA"4|$rtZA$IHA]"\uHAU…tkn A$A$IHA]tQ Aŀ=D!t="t8't3\uHAU…n 4A$HfZ|$rt "2AA$A?u =2IcHD$8$NL$ 0HE1褟LHADI tH+@AuA"u"3@"!@\tDA,$IH+@Eu@ @@=!@"@'H…tn,3A$HL$NHl$8E1D$sMH8HDO tHA]AuA"2|$st`ffffA$IHA]"\uHAU…tnnA$A$IHA]tR A€=D!Шt>"t9't4\ffuHAU…n2A$HY|$st "/AA$A?u =/H\$8IcL$9E1H躝LHADs tH+@AuA"/EtQ A,$IH+@@"@\uH…tknA$A,$IH+@tR@ @@=!t=@"t7@'t1@\ffuH…~n.A$HaEfft@"tH$(CfA$$N$91LۢH$9pA$ H4A$ fHHA$ Et@"tH$(CH$ 0A$lHH 1LLH$pL$NHl$8E1D$tMfffۛH8LBDO tHA]AuA"m,|$ttZA$IHA]"\uHAU…tinA$A$IHA]tQ =!Ȩt?"t:'t5\uHAU…n+A$HfffZ|$tt "+AA$A?u =+Ht$8IcHր$NH$H$|$1Là$nfA$ HffHg`2{7H$Ɓ}2H$Ƈ]H5jXH$*Ht$8$H$zD$E$L"XA*H-XH$H$Ht$8D)D$$D$HWD)zHt$8@ǀZ!t#ztHAĀZD!tzu谖HHT2#D"=غ!^K5C1貔;K$KH|$8HLBPCH蝊=HH!щʁ tALWCAကH ADIDAAы"aH1跎H$H1ehH$KO hH$1L$ 1E1$8Ld$8D$DLLCDH tIA,$@AuA"EtafffAmIIA,$@@"@\uIA$…tqnAUAmIIA,$@tT@ A@=D!Шt>@"t8@'t2@\uIA$…nLAUISEt @"AEH$H$ LcL|$8vH$H$LD$H蕹$HIL<$L$$L$E11腎LHADs tIAA,$@AuA"tbfffA/IIAA,$@@"@\uIAA$…tpnAA/IIAA,$@tT@ A@=D!t>@"t8@'t2@\uIAA$…nAIRt@"fAAIcH$H$C节uLD$DD$E$T$DH$|$HMCI%A H$C(uH-UKHt D$D닀$tH$H$蚆gIAŻA,$WH$(C>A AE IffH$GxH=JHl$8L$DD$6L8LCGu-tH]uffff$A$${\=z>>HJC1苇ffffL%IHl$8L$A$0$vLLCQu-tH]uffffl%AED$E$0CHl$8L$L$E1 H8LBu-tHA]u!A$/%HH$Hi(HIUIcHt$8H$H$jH$H$ wHl$8L$L$E1#fff;H8LBu-tHA]u A$C HL$Li(K0I]H\$8IcL$NE1MH軉LLCDQ tH+@AuA"EtQ A,$IH+@@"@\uH…thnA$A,$IH+@tO@ A@=D!t9@"t3@'t-@\ffuH…t{n A$HdEt@"tH$(ClA$H$H$NHxLlfffffA$ Hff7H=FL$,$Hl$8"fffffKLLCHu-t H]u.A$D$A A(,$LOFfA,uLL$8H8MBA; M =H$>xCHq=|HtuD7HAAD!ʁ tAL_CAကH ADIDAAҋWH1苅H$H19CH臀=Htm7H!ʁ tAԾCAကHOADAHDH AՋWH1襄H$H1SVH!щʁ tALGHCAကH OADID@H IDHt$8H$H$D|D$W$$L%DA$|LCHt$8H$H$ED$$t7$L=CALHl$8L$L$E1LLCHu-tHA]u fA$eHH$Hi(H=IUH\$8McL$NE1ML蔄LLCDZ tH+@AuA"EtWffffA,$IH+@@"@\uH…thnwA$A,$IH+@tQ@ @@=!t<@"t6@'t0@\uH…1nhA$HfbEt@"ftH$(CCH|=H DHAAD!ʁ tLOCကDIDH SH1H$H1A$ GH&HT$8H8L2BBD A=HyH$:ȭCH|='HtqDHAAD!ىʁ tAHwAကH RADHDCAAԋRH16H$H1D?HAAD!ʁ tAHoHCAကH ܳADHDAAfffHl$8L$L$E1$ffff[H0LB~u-tHA]uA$>HL$Li(KI]H\$8IcL$NE1MHۀLLCDQ tH+@AuA"EtQ A,$IH+@@"@\uH…tlnwA$A,$IH+@tS@ A@=D!t=@"t7@'t1@\ffuH…-n_A$H`Efft@"tH$(C膦A$H$NL AD\O}H(DADB}=wH$>CHKy=VHD7HAAD!ʁ tAѾCAကHOADAHDH mAЋOH1a}H$H1 A$ GHHl$8L$L$E1~H8LBWu-tHA]uffffA$HL$Li(KI]IcHt$8H$H$ץH$HN$?0uXD$Dz$1ɺ 1HzA#ffff}H0HDNHHA]u5ҩC1yH$H$>uC1{DŽ$IEDHAAD!щʁ tALoHCAကH ADIDAAHA+lH$B$L$AGH$FH$LsH$$CCͼA$ DC1xKL :Aǁ@雼=]H$>CH1v=<HtmH!щʁ tA׾CAကHOADAHDH [AӋLH1OzH$H1 7H!ʁ tLgHCကH DIDAAH59ƆP驻H9ƃP閻HA+A$ A$ ?=3fbH$0,CHu=HtqD?HAAD!ʁ tALOCAကH 6ADIDAA֋KH1yH$H1кH!щʁ tAHoHCAကADHDH HA]A$ .CHt=HtlH!щʁ tALwCAကH GADID@ՋJH11xH$H1D/HAAD!ʁ tLGHCကH ٫DIDAAH57džL%7ADŽ$L7AǃlH$ (CHr=HtnD?HAAD!ʁ tLwကH 0DIDCAAԋIH1wH$H1 H!щʁ tALOHCAကH ADIDAAAE"I鴿IAE"A,$IAѾAE ׾H$ CHq=HtpH!щʁ tALCAကH !ADIDAAҋuHH1 vH$H16ffD'HA$AD!ʁ tAHwAကH ADHDHC@HA]A$ >HA]'Hl$8LeBGCH1tH$H1|vfffffDHAAD!щʁ tAL_HCAကADIDH aF7HAA]HA]6=tH$FpCHzo=HtlH!щʁ tALGAကH ADID@֋ FCH1sH$H1GDHAAD!щʁ tAL_HCAကADIDH 3EH$(CqAE RIAA,$fD/HAAD!ʁ tHwကH DHDHCAA1ɺ 1LqAA,$@.9tLH(BD}IAA$ pHAhH$0>uC1=rDŽ$IEh1ɺ 1HpA]sLLCDQHA1ɺ 1HDpA$ysLLCDQVH]uFA$ fHA]H$BCHl=Htm7H!ʁ tALOCAကH )ADIDAAЋ}CH1qH$H1H!щʁ tA׾HCAကHOADAHDH AHMbP?L-0IuPt$UH.APH@@ffH?fffH$JȮCHk=ԓHtmH!щʁ tALOCAကH ADIDAAЋRBH1oH$H1DHAAD!ىʁ tALHCAကADIDH 돿KC1 mH$(C贗H$CHj=ՒHtk7H!ʁ tALGCAကADIDH UAH1nH$H13D'HA$AD!ʁ tALWHCAကH ADIDAAH$CHi=Htm/H!ʁ tALGCAကH 'ADIDAA׋{@H1nH$H1ڽH!щʁ tALOHCAကH ADIDAAA$ AE >A$ 鐴HD$tA]A$ H$(C贕(H$:CHh=ՐHtnDHAAD!щʁ tLgကH DIDCAAӋR?H1lH$H1D/HAAD!ʁ tAHoHCAကH ADHDAAA$ H$(C蹔%HA+pH$5CHg=ɏHtrD'HA$AD!ʁ tLGCကH DIDAAՋE>H1kH$H1ffDHAAD!ɉʁ tALWHCAကADIDH qH$(C赓)H$ 1CHf=֎HtoH!щʁ tAHoCAကH ADHDAAԋT=H1jH$H1fDHAAD!ىʁ tALGAကH ADID@֋<HCHD$sA]]HD$rA]WA$ A$ HAA$ sH$P>uC1jDŽ$IE1ɺ 1HYhA]akLHAD{IHAԃELLthHt,H)ǃ@QH )ǁ@;Lt)Aǂ@$H!щʁ tALWHCAကH ADIDAAC ΪC ªH$L:H$$G 镪HA+H$p>uC1hDŽ$IE1ɺ 1HfA#fffjLHBDs'HA]u1ɺ 1HfA$iLLCD{H]uH$>uC1gDŽ$IE1ɺ 1H4fA]\`iLHADsDHA1ɺ 1HeA]L iLLCDp4HACC A$ A$ fffAE H$(C_^HAA]A$ =H$(C)靳H$CH?b=JHts/H!ʁ tALoCAကH tADIDAA׋8H1]fH$H1 +ffffH!щʁ tALWHCAကH ADIDAAL$Aƀ>陪H$ƅ)酪A$ 釶L$AƄ$'e1ɺ 1HdA$]?:gHLBDQ'HH$ 0bCAD8H$ 0iCA@A81C`W e=ȦH$@(`WHk`=vHtnD?HAAD!ʁ tLgCကH DIDAAՋ6H1dH$H169H!щʁ tALWHCAကADIDH &1ɺ 1HbAE]teL HADttHL%#ZH$=uC1cDŽ$IEA$ H$0,CH_=%HtnD/HAAD!ʁ tվCကHODAHDH CAԋ5H17cH$H1H!щʁ tL_ကH DIDHCAAHD$qA]wH$(C/HAA$ H$(C׊kHAA]錼AE ٽIAƻҽH$(C葊%H$@(CH]=HtnD?HAAD!ʁ tLgCကH ڕDIDAAՋ/4H1aH$H1r鲼H!щʁ tL_ကH uDIDHCAAH$(C觉鑹H$P$CH\=ȄHtqD?HAAD!ʁ tLgCကH DIDAAՋE3H1`H$H1ffH!щʁ tALGAကH ADID@֋2HCIAD$pCAE 0H$(C蘈霹H$` CH[=HtoDHAAD!щʁ tAL_CAကADIDH ӓ52H1_H$H1x#D'HA$AD!ʁ tALGAကH tADID@֋1HCHAA]A$ GID$oAA,$oH$` CHZ=Htm/H!ʁ tALgCAကH ΒADIDAAՋ"1H1^H$H1e銴H!щʁ tALWHCAကH aADIDAAHAA]CH$(C肆H$pCHY=HtoDHAAD!ىʁ tAHwAကADHDCH 0H1]H$H1bD'HA$AD!ʁ tALOHCAကH YADIDAAA$ 锲HA]wC1Z"H$(Cb=H$CHxX=Htm/H!ʁ tALoCAကH ADIDAA׋/H1\H$H1D˭H!щʁ tALWHCAကH @ADIDAAIAD$nAE ffffffffffH].H5t-HHH:1$D$D$VHÐLH11I8:HfffAWIAVAAUIATUSHT$H-VB|(/EL~111)YAPHT$ ƿH[T$8DEDl[CL/\HHAE܅#<A O1-L-ŽU~-1AHL9HQU,H$HHV$tH/UHx u@럿C1WL UB|(/EL}111XA~2HT$ /ZL$8DEDNZCL [HHAE܅|$t3 u;L꾣C`W1Y`W1LVffffHĨ[]A\A]A^A_LC1VHt$1LD$D$D$ڎHBSDjMHĨ[]A\A]A^A_ffffffAUAATUHSH- L1 HxHHcÀuFÃ~MtHH;tiHpHT u6H[]A\A]HAHH1랿ϪCHY`HC[]A\A]/YHu HHftL9uH1HkffUHSHHHxHtfffHs H4Hu HHu1HH[]ÐHHBPHt"xtHHtxu9x(u9x(fufffffffffHHBPHt@ËfffH qHQPHt!HHtHHtHHuHtBËffffffffffffffffffffffffffffffffffffwfffffffffffffffffffpCWffff SHu*HSHtH H H HtHQHH;XPt[ÿCoWHHP[fffffH\$Hl$H HHu;t&H\$Hl$HËJDR@C1S;uڃ{Tus@H6HHtH ATfffH\$Hl$H HHu;t&H\$Hl$HËJDR@C1MS;uڃ{Tus@H趶HtH HACʳCHA0HH H\$Hl$HfffffffffSw Hu"H lI[@@HƿڳC1RHe ;I[@@ffffffffSJ Hu"H&H[@lHƿC1=RHH[@;ffffffffSHu"HH[@HƿC1QH[H[@ffffffffHl$Ld$H\$HIUHuY HL1H߰H  GH$Hl$@Ld$HFffffHƿC1QfffffffffffHl$Ld$H\$HIrHuZHJ L1HC<8H j@GH$Hl$ALd$HHƿ0C1pPffffffffffHl$Ld$H\$HIHu]H L HC<蕯H FH$Hl$ALd$HHƿ0C1OffffffffHl$Ld$H\$HIu2Hu]H  L HC<H 'EH$Hl$ALd$H\Hƿ0C1-OffffffffHl$Ld$H\$HIHuZHj L1HC<XH `EH$Hl$ALd$HHƿ0C1NffffffffffHl$Ld$H\$HIHHCursor aH1HQtHt Time HHtVHH޿gVR4CgVREv1Hu HuxH$H$gVL$Hff$ Cfffff)CHQHCursor aHt Time HH sHsU1LWgVQ4CgVQjFCgVQMPCYCqCffffffAUIATUHSH(HHXPHtlIt~HHtZHoH8S1L׳CuDCLL꾀C1HJHS Ht:u H NHHuH([]A\A]þCH1JDCLL꾟CfffffSHH SGHC HCG[ÐSHtLu`HSHtH3H2H HtHQHH;XPtEH{ FHC HF[H kHzustC#O딐HHPfffffffH\$Hl$H?HHu;t&H\$Hl$HËJDR@pC1}K;uڃ{Tus@HHHtxt]ujHSHtH H HHtHPH H;ZPtNH{ FHC HEH T]Hl Hyu덿C+NHBPffATUSTIH( HZPHuZf-uwHCHtHHHtHBH H;XPH{ UEHC HEEHHt]{HHuH5 HyutfffCfMHwCTMHu HZPHufffLHY T[]A\fffHPPYfffffATH/ AUSHjPHuofffffHtcHHmCD9utTulHSHtH3H2H HtHQH H;XPtPH{ =DHC H-DHu[]A\H Hz{tCXLHHPH\$Ld$HHH ICHC LFHC H\$Ld$HLd$Ll$Lt$L|$H\$Hl$H8+AAAI06DMHDhDpDxA<$H 1HYPH=D9kD}fffHHH!9C|Hu9sHH*HUH]HkHH\$Hl$Ld$Ll$ Lt$(L|$0H8É1CG0lCMHDhDpDxtA<$uH  1HYPHt~E9C=LKEHE ՋEt]stUttMDkDsD{tA<$u!H} BHE H BH(LDHC ffffHtH*HH]HUHiPfffffffffH\$Ld$Hl$AHwH8HWHHH HHHHQH;xPHO w1D{HH{ 3AHC H#A}H$Hl$Ld$HffffH HHzuu`HSHtH;H:H HtHQHFH;XPtH1HK sD{HUs(p(JffffCHs두HHPDH$Hl$Ld$HfffffffffffHl$Ld$H\$Ll$HIHu.}t8H$H$L$L$Hÿ״C>H}uȃ}Tuu@LVHItL?DHWWE+\AfA*AY`*I$X,5frC1HHI$jAI$HCHHǺHJGHI$8`W HCH 1H&>HwA$AU@fA+$Hl$I$f,HʉqI$8Aɘ$DI$BHHDFD$ }HDTEtHH'E$AfE+$ ppI$8I$fD,HAAɉ$RCLL$PI$8I$IA$ACT$PH I$8oHI$=D$qL1D$pL1+D$TT$Tt$PL I$>I$HAHHDI$8L%`WI$AAuIUHtI}H:IEHtHPHL;jP1IM Au‰?A}HtaI} ;IE L;{tUH-GTH4LHyuSCCAuMEE(D@(HBPhffffffAVAUATAUSEHHxPHHHHHHHHHuffffeHHHHHHYHrH;XPHK s1D{HfffH{ :HC H:}FMLKHsI@Ń tEDkE:H-HH݀zuHtLLHHtHrHH;XP1HK sD${H'DK(DH(1C>EdH$HXPH'HCHtHH HtHAHH;XP$1HK sD{H`H{ $9HC H9}MLsH I͉AD tE@SE4=LHHIuM&C@H sC@{HsbHT[]A\A]A^ÐSEAD9|,E,"HPPIDfff軣fft\unHftH;H>HHtHpH}H;ZPH{ 7HC H7PK(H(H CLAz,뉿C?Hs낋SEAD9tuHCHtHH HtHAHH;XPtrH{ E7HC H57&HHPDfff諢 HBPf LI~nCD?H iHHPffffSgHuH[LC?Hz[0Sj'HuHV[ C>H<[fffH\$Hl$HtH\$Hl$HfffH=HzuP hH(u{hffH\$Hl$HoHHu;t&H\$Hl$HËJDR@C1:;uڃ{TuSDs@HxHX< t 1ɉډt1HTHztӃuމ辠hϋ hH(ᐐAUIATUSHHI=H{H_HH4L%IHIDŽ$7HI$14HcL%I7A~IXWHyhUH%z3H5H $1HcI;ht3ƒ~HLUH[]A\A]ÿѵC19ffffffATUSǿHHHJHXW1HhUHhH2H= LcúBJ7~HH1H1H[]A\d2HƿC158HNCH'CUH$H!UAF5HW.DH$6HHHAHpUV6HBHUH;6H:H;HWCHq&UHn HkUHh1HCHH4oUo4HWCHHUHHUHH .UHHUH61HHH CHoU3H5HWHuHrUHoHlUHiH5CHZUHWHTcU41HHH;IcHoUAH<@xT3L NHWCHHUHHUL HHcUH.UHHUH*51HHHuA0H1ɺW.CA.=CH`HoU12H`WRCH?51HHHx\CHoU1H`WgCH41HHHpqCH`oU1H`W|CHF41HHHheCHoUP1L`L(HWCHHUHULLHHcUHUH@81HHXHIcHnoUAH<@xT0H HWCHGHDUHAH>UH;H DH,cUH1.UH.H+UH(21HHHA0H1HL%1I$,H=HsUH /HWHW:,HCHƲHAVIAUIATUSHI15Ha1H+HcL%IIݠ0AIH93HHHH/~I~HHIHa/LY,uIHL1LvHTH[]A\A]A^ÿC11IuȸC11fffAUATIUSHI$L1YH>LcKB*/LKHH5H+~I$L1H 1HH[]A\A]n*C1B0I$\ԶCH3CUH0H-UE1U-I$W.DH2.LHI$AHpUc.I$BHUHG.I$2H3I$WCH{&UHx HuUHr)CI$H=oUx,I$WCH"HUHHUHHUH-1HI$LI$ffff CH-HUHHUHHcUHUHHoUIc+I$WCHn.1I$A@ƹ WH5IܠCH-RHUHHUHHUHHUHHUHHUHHcUHqUHHUHHVA1Iܠ1ILFI1L4AIܠ2I$1LH11H&H=HUH )I$WHo&I$CL~fffUHSHjH Ht$&T$HH f,K*+HvH 2*H]H *PHDH *|H )6HH H\$WHhUHǂ0%HD$H; H; H; H; HMbP?fffH=H8H WHhUHj%HD$H; H; 2H<ǃH .LHA`H-XTH[]fffffH0u ǀ0H H\$WHDhUHE$HD$H; trH; H; H; HMbP?H5ZH8ffffC1)L0AǀHyL AǁfH.AfffH@@xH?hH\$Hl$Ld$HIHHu+H HHl$H$Ld$1HS ffC1(HHLffffffmSHu#HDCH7T[ffff#C1(H\DCHT[fffff SHuH1HT[ÿ?C1M(H1HT[ffUHSHH H {Hz r  H W!H@f8f.   H HhUH WH}!LH HoVI,H5hWF!LH A0g&L H A+G&LxH A'&H=XPH &H9H |%H H1 HH[]À}e H\$0ZC1H(HHrCUHoHlU#HWkCHRHOUHLHI&UHF i*1ɺWCHH nuCH HoU#H W~CH@1HHH CHoU"H W~CHr1HHH CHAoU|"H W~CH'1HHH F CHoU1"H H CHHUHUHHUHWH:)1HH HH 1ɺWCCH HGoU!H W~CH-1HHH LCHoU7!H W~CHe1HHH ÷CHoU H W~CHHHH 1ϷCHfoU H W~CHL1HHH kܷCHoUV H W~CH1HHH CHoU L L H WCHHUHULLHHcUHUH&1HHH wCH'oUbL H W CHHVHHUL HHcU{ 1HH HL H WCHUH|HyVHvLHlUHiHfcUHkUHhHeUHb H_UH\ HY.UHV2HS9VHPHMUHJ$1HHH  CHoUH W/CHoHlVHi HfUHcH=|H HRUHOHLcU1HHH 3=CHoUH5OH WHHVH HUHH5LCHUHHcUA1HHH RCH=oUxHH WaCHHVH HUH4H HUHHcU1HHH nCHoUH H WCH{HxVHu HrUHoH H`UH]HZcU1HHH ACHoU,H]H CHHVH HUHHWHUHHcUO1HHH H HH AAI蹀AHD$BHD$HD$Ht$ H,$_HpH H WHhUH H+f8f.zf8f.ӓuJzHH H HphUHqofffC1D(f8f.%u-z+H zH\$0HUC1Hwff8f.-PuzH ;H iH #IffffffH\$Hl$HH5WHH@U|uHH-H\$Hl$HH=RHHHH-H\$Hl$HfffH\$Hl$Ld$Ll$Lt$L|$H8 HIIMMƒR zLHoUA HMt$IcLAHHǃWLUHWMtIcAHHǂW@ULW H`DWeCD H`LHH\UJ` HLd$Ll$ Lt$(1L|$0H`H\$Hl$H8+HMHUH5A1LHLUAMH)D H@UL5J`iCwfffffffffH\$Hl$Ld$Ll$Lt$L|$H8 HIIMMƒP zLHoUA-HMt$IcLAHHǃWLUHWMtIcAHHǂW@ULW  HHDW_CD HLHH\UJ HLd$Ll$ Lt$(1L|$0HH\$Hl$H8KHMH UH5 A1LHLUA MH)D  H@UL5JHCwfffffffffH H5HHHHFHHtHfǁHHfffffffffATUSH LtAIL%ZHNI$|$H{H ,HHËHHL% HT$E1E11CI$H$1H\$7HI$GHHH@݉S`L%I$zH-{I$HZL%[HnI$:H-;I$pHL%H:I$H-I$HL%HlI$H-I$1HL%HFI$}H-~I$`H]L%^H|I$=H->I$\HL%HI$ H-I$(H H/H []A\fff޿XC1BH|$ D$ CH118ffffffATUSHmHZƀ HLH@H@@ƃdH(`Ƃ(H ƁL%HHAHAHAPHǁxfǁfǁ\AƄ$AƄ$Lǁ$fADŽ$ fADŽ$XfADŽ$dfADŽ$dfADŽ$dAƃAƃLXfADŽ$2fADŽ$fADŽ$2fAǂdAƂAƂL fAǂ2fAǂfAǂAƁAƁLAƀH-Aǀ$ƅH=ƇH5ƆH1ƃH ƁHƂHqƂHcǀHǀ fffHAHcAD(L' E(H=Ƅ/~LCAƂ HtH=HHOHHCHC$9 Ht HH <$CH1L%qH1I$E1H5PHc8HDŽ(H|X1HH$1fǂ*LIK#P IIH8~1fffHHcƄHHƃ~H=H蒞Hƀ&D HtH=iHH H-SCƅ Ht.H=6HH H= CHH[]A\ÿCH%&DH%&DH>HCH"HSHHtH޿C1[ ՕHUSHHH[HH@HHLH -H;HQHu !HHtHH9fuHHHHuH;H[ H1HHt H:EHHt6HcffH WH4VH-5HHuH[]H1C HH>HǁgfffffffATUS藔THH+HHfffff-L# HHHH螅H H H;HQHu'fffffHHtHH9fuHHHHuH;HH|1HHt H:EHHt6HcffH WHVH-HHuMLH=1HH޿C1w Hƿ+C1c H;H9Hǁ0ffAUATUSHIVHHHL9L+HfHHKHHW H 8H;HQHu HHtHH9uHHHHuH;HiH1HHt H:EHHt4HcH WHDVH-E(HHuMLHI$HiL!HL[]A\A]ouH޿C1 HƿHC1 HHHǁffffffffUSHUHHHH H胂H H H;HQHu HHtHH9uHHHHuH;HHj1HHt H:EHHt4HcH WHVH-HHuH[]HƿC1 HHCHǁifffffffATUSu\HHHtBLcHHt5HHtH JH>HHuffff[-6]A\É1cCfffAWAAVAAUAATUSH|$sH$HH HHHBHtH(HcfDžH9H HIċHHHgHHAAWC1L%OH,UUHH*_UH/UH,H\$LHHcrHH5= E1E1xTH! {TH3LHHct$IcMcMcƺHsUHxUMHvvCH{VHVH* VHVL$L%3MH=eHH5gWL +L4ALHWCHVHHVH^CH0HHHWHk VHH`H] VH ^H[t VDfffHt$HL$LtrH$AHA fffffnIct-L=EIcܺCD濎CM(MIE1HH(Ht nHH1AHA ~H HxHt :H0HLH$Ht$$f=*YlXD,fD$L VHt$LIML$H11ҾCDž Dž Dž Dž L0F1HH@H  H@11ҾCA CJHH+oUfD H@CHH UHUHTJHHWD J1HJE11AARCH?E11AAeCH"A`AACCACHApAACCOCHE11A@7ACCHD E11A5Al$DHNL    WCAHH1 J1HHE11AAiCHE11ABPCH  ND 1ɺWCAJH? J1HH/E11A4AxCH  H@11ҾCA#CJHHoUD WCHqHnUHsUHpuJHH=QH@D J1HJͨLE11AACCHE11AAGCHE11AARCHeE11APAeCHHE11AASCH+E11AAR%CH  EH@11ҾCAӳCJHHoURD H@WCHHUHUHCNHLD J1HJը P dD 11ҾCA-CE1JH6CH`HAoU|D  WH+H(UH-UH*AJ`HHH5:C JHA>CH1 Z fff D zIcLWA CHbt VHgUHdJ`LEAJ`D H麰@H\UJ`D 1HJ`1A G MLCQCHDǃR HHoUCHHUHHCt!CHLUHMtLcIIǀW@UIǀW-CD WeCD J`D J`H麰@H\UJ`{D 1HJ` R YCHoUA^CHHUMHNt!^CHLUHMtLcIIDžW@UIDžW>C WD H`eC J`HH\UH`@vD 1HJ` H.H ǃP D D 11ҾCJHbCJ`HeoUD D W:CHDHAUHFUHCVN`JHL J1HE1H DBD  Mcčr JHt V ACHUHAH=yH`WD J`H@H\UJ` 1HH`\A I R 07QCHoU&D WeCD HʼHǼUHļCJ`D J`H@H\UJ`D 1HJ`D AARD e6YCH0oUk eCD HHUHNH`WUD J`@H\UHJ`J 1HH` ƃP D D 11ҾCJHCJ`HOoUD  W:CH4H1UH6UH3HN`HHL D J1HE1J z fff D IcrHHt V ACH|UHyAJ`HWW J`H0@H\UH`D 1HJ`BA HD AARD -QCH͹oUD WeCD HHUHCJ`D J`H0@H\UJ` 1HH`~D AARD )0YCHoUND WeCD HHUHNJ`7 J`H0@H\UH`-D 1HJ`E11A@MlCHE11AP@DqCHE11A@NCHA0AAxCzCFCHAAACCBCHE11A@C$DHzAPBACClCHW  .H@11ҾCACJHH`oUD H@CHDHAUHFUHCSJHH$W J1HH"E11ABACHu P -D 11ҾCACE1JHCH`HnoUD  W:CHSHPUHUUHRHN`HHL &D J1HACJ" z   McčzJHt V AHUHAH`H}CW J`H麰BH\UH`D 1HJ`cA ID MLCAQCACIDAARD  ,HHشoUMHѴHδUH˴C2,CHLUMH.,D WeCD H@UHCCJ`D J`H麰BH\UJ`D 1HJ`5 R -YCHγoU HHdzHijUHN3,CHLUMH-, eCD H@UHCH`W J`H麰BH`H\U 1HH`3E11ABMlCHE11ABCCHiE11A@BDqCHLE11AБBNCH/ P ,D 11ҾCE1JHCH`H.oUiD D W:CHHUHUHRJ`JHH D J1HJ lj ,fffffAЕBE111LHHAAL̰IcIHtHsLl$ L#L[A;t CLHsLCLDA*YTq\vD,fD$$$ C$1HHt$L$LhtL$L0H11ҾCDž Dž Dž Dž 1HH@Ht ƒ  HD H@11ҾC CJHHoU$D H@WCHȯHůUHʯUHǯTNHL {D J1HJŨE11AARCHE11AAeCHA`AACCACHApAACCOCHE11A@7ACCH} E1A5AlHH$DH 1KD AA D o 1ɺWCD HHD J1HJyE11AAiCHE11ABPCHD AA D  WCD HH1 JHH1E11HA4AxC1 ǃ  wD H@11ҾCCJHH6oUqD H@WCHHUHUHuNHL D J1HJŨE11AACCHJE11AAGCH-E11AARCHE11APAeCHE11AASCHE11ɾ%CAARH ƃ  D H@11ҾCVӳCJHHoUD H@WCHHUHUHCJHH}PD J1HJݨD AAPD w  CSCG5C85C)zC5C iCiCCC P D 11ҾCAJHGCJ`H;oUvD  H%H"UH'UH$WJ`HH:CHW J1HHD E11APBDPCHAD XE11APBAXCH;E11APBS_CHA0BAmCsCS{CHE11A nBeCHE11AlBiCHE11AlBKCHAPBACClCHa  H@11ҾCACJHHjoUD WCHPHMUHRUHOVJHH=0H@D J1HJŨ+A*CACCACHxAPCACCnCHU P %Ë 11ACE1HHCCH`HOoUD D W:CH.H+UH0UH-HN`JHLD J1HACJ J  D Mc̍zJWC AHwt VH|UHyAJ`H W J`HH\UH`C 1HH`CA ID MLCQCACHDAARD HHoUMHHUHCCHLUMHD WeCD Hg@UHdCCJ`D J`HCH\UJ`D 1HJ` R LYCHoUHHHUHNCHLUMHD Hm@UHjCJ`WeC H`HH\UH`C| 1HH`E11ACECHg CHLU HHWnE11AP7CS{CHAPBACClCH=^D AA D D H@11ҾCz CJHHoUD H@WHƢHâUHȢUHŢHJHH5CtD J1HJݨE11A AVCHE11AATCHAAE11ɺD&CHD H@WHYUNLHWCH~UHHǺWPCH( H9VH}HzUHwHtUHqHnUHkHhUHe(HbVH_RHHHBHdUtHH麀BH]UYHHCHMU>HHBH U#HH@BHUHH7CHToUH( WNCH:H7UH4H1UH.H+UH({HHH0 BH\U]H0 H=CHoUH0 W`CHHUHHUHH=H( HrUHoHlUHHH8 BH\UH8 H5 UHCUH@H=UHBUH?H<U H>* VH;HHHHHCHdU'HH麐CH]U HH0CHMUHH@BH UHHBHUHHWHh HH( eCH9VHHUHHWHHΚ UHӚUHКH͚UHʚHǚUH̚* VHɚHƚVHÚHHHx CH_UHx H麰CHMUHx H9HP pCHUHߙHܙUHUHޙHۙoUH5H( WuCHHUHHHHH BH\UHH HuLP zCHUHHUHUHHoUL5H( WCHHUH3HHHX BH\UHX H豹LH H( WCHIUHFHCUHHUL9H>H;* VH8H5UH2H/9UH,_HHH@ @BH\UAH@ HݸLX H( WCHuUHrHoUHtUL%eHjHg* VHdHaUH^H[9UHXHHH` BH\UmH` H HLHUHHUHHUHHUH=H= LHUHH UHbVH( WCHsHHH BH7UxHHBHbU]HHHHH( HѶHUHH ڔ1HHH1HH8uHIFLL-HEG8AI6AQ4I[HlHL$HLHL=HD$H*LHHH HL$LHLH}D$WLғLIkHHHL$ LHLH%DL$ E L=xLILbH8HIIHQH訦HpH!H`&jH=HHu 6HHt.HHtLؒII}HHuH PL%1I$HtH:AAEHHt3LcH WHVL%HHuHĸH[]A\A]A^A_Ë à   D H@11ҾC CJHHoUD WCHnHkUHpUHmDJHH=NH@ J1HHͨJE11HABPC蝵E11HABIC耵E11HA BSCcE11HABICFE11HAB+C)ABE11ɺ-CH D AA D +5Cw1cC1iCUHHoUBMHHUHCt!CHLUHMtHcHHdžW@UHdžWCD WeCD CJ`D J`HCH\UJ` HH`1iD AARD YCHoU9HHHUHNt!CHLUHُMtLcIIdžW@UIdžWCD J`NiCVC D 11HHCGCJ`HoUZD D W:CHHUHUHWN`JHL֎D J1HJد E1APBDPCH 1=E11APBAXCH E11APBS_CHA0BAmCsCS{CHE11A nBeCH裱E11AlBiCH膱E11AlBKCHiHAPBACClCF ǃ  D H@11ҾCCJHHKoUD H@WCH*H'UH,UH)VNHL  JHHը1 A*CACCACHZAPCACCnCH7 ÃP w  CiCQCHCoU~ WeCD H(H%UH"CH`hD J`H0@H\UJ`]D 1HJ`D AARD YCHoU WeCD HiHfUHcNH`D J`H0@H\UJ`D 1HJ`:E11A@MlCH荮E11AP@DqCHpE11A@NCHSA0AAxCzCFCH0AAACCBCH E11A@C$DHAPBACClCHͭD AA D D H@11ҾCfCJHHΉoU D WCHHUHUHSJHH=H@` JHHը1萪E11ɾCABAH ƃP w  iCK5C?iC0R5C!\iCHHÈoUMHHUHCt!CHLUHMt!LcIIDŽ$W@UIDŽ$WC WD CH`eCD J`H麰BH\UJ`D 1HJ`#D AARD YCHoUHHHUHNt!CHLUHMtLcIIdžW@UIdžWCD WeCD J`D J`H麰BH\UJ` HH`1E11ABMlCHrE11ABCCHUE11A@BDqCH8E11AБBNCH ÃP w  CiCwjHCHH5{HCLcCI25C iCiCffffffffAVIAUATUSHyHT$ IHL$ H\$WHn* VHHT$HgVHXH aH^VHoHWV蒼5x6H qDd$ Dl$l$ \$t+DDMcAMiQI AE)Èt+DDEMcAIiQH D)At*DAHcLiQI ADf)t*DDIcAHiQH fD)ہHILH= IH52IWLHڃ* VH߃VHVH-HV蝺L L$ DD$t$ |$AEAAAAAAvDDAډDD H[]A\A]A^ffADDMcAMiQI AE)E AVAHcLiQI AA)C A4EDEIcALiQI ADfD)AADDIcAHiQH fD)uDADADDC1DDH[]A\A]A^t$ DD$CL$ T$1詾57uH1нC菾EAC1p`ffffffffS*EHHÀH1HZH1[GFIfW҃t!~ftNtf75ufFAf.vXfffff\fffff`DNNv I*DH*H*ދApEDI*^H*^AH*⋗I*^AI*^^^H*XXI*^L*A^L*DM*A^A^X@~JNDV EXH*ыM*I*ÉL*E^‹A^҉L*E^AX냃 ~JV DvDI*EH*L*D^I*M*^E^AXTfEHI*H*^5ffHH=AtH H߅AfffffffffHl$H\$Ld$Ll$Lt$L|$HhkrHu6t u/H\$8Hl$@Ld$HLl$PLt$XL|$`HhÿHCH褺HL}HD$H8DDDDHL$0D|$0Dt$4EE1D|$,DIC;D$(臶ED+D$4L p}Dl$,D+l$0H8L$0IHt$D$DD$4EVH57}D+d$(EH8L$0DD$(HHt$D$$"HWWLH*M*^T$$\$(D)\$dL |LcH8JI蚵L|DL$,H8ID$$EL$0Ht$ۺMmAMAt勅A9r A9rWEWI*Yd$$*\$4XD,D;d$(@E9!?T$(E)HcH {A_H8D;d$MHHĴL{H8ADL$,I$&fffffffffffHl$H\$Ld$Ll$Lt$L|$HX{oHv9dHӷHWۋ+HD$WL{DDD*DDHH8*\$T$D\$$DT$$F$/IG49^E)DT$ T$荳H~zH8EDD$$Ht$E)DH\$ +\$$$eH FzH8EDD$$Ht$HD$8H z+9HYPHWA*d$ fffffHHDcD+WA*Yl$Xl$ D,E9AE9D tLcCH8HJ荲CH syH8E1E11H1L Oyt$ DH8DD$$I4$Ht$E蝷H yHH6H8HE1H\$(Hl$0E1Ld$8Ll$@1Lt$HL|$P1HX{H\$(Hl$0Ld$8Ll$@Lt$HL|$PHXÿXC~KLxH8E11E1ɹI"HsxH8AhCH1kffffSHH7xH:Ht!fffffH;tH;tH?Hu[[ff[ufffHwSHDhpA9~ A҉hlA9DxHx hE%&H wff9HffHZwHWHwUHwHwUf HHw蘮H[۳DxHx D@fff9Y[fffffffAWWWAVIAUATUHSDE1HHfDD$LvHt$ΉL$D$A+\Af*AY`*H8I1E1XD,H 7vH8EHEAHDD$$脴A~]L uH8E111IE1腶H uDd$EH8HHD$E"A~Ll$ T$H1LH=uDHL#HLfADfAAfAfD)DcC\:fA9D&f}HD$LA<if9~LH8HAH-tEMH$>fA9D$Ll$Lf9C,~HH[]A\A]A^A_L tAMH8HAIAD$$HntH8E1E11H1LJtDd$EH8HDI$E薲A~u9Ll$ T$H1LyH5sDLH蛮sL5sAMH8HEAI$(f9HH[]A\A]A^A_ffffffffffAWJ&DAVAUATUSH8HnsHergfD$QH-DsH]HHHfD$t t$f;|$HFHft$uHfD$.fD$,HD$ HH$H $LMffffH<$L Mu@IH\$.L_LITMHI)L9fA)LH\$,fDd$.*H9H|$ fl$,HL$ L)DHHA8tAMmMeL$MML$7H-r1H|$ tRH|$ 趬tBL}Lt$ LcEG8d5tt#H]HD$ Hc@8tu1҅)р|tuDL$.E1A)EIfDD$.D\$.L$,Dl$DT$H]BDlpEi嫪AAA9ANăff AHۉxHff菲L5qHWH|qUHyqHvqUAf HHjq=H聭HHH-php9~Ɖhl9}ΉhDxHx EH-Gpff9 f9HHvH|$ 聨H8[]A\A]A^A_ÿkCȰffH\$,L蒪H9hHL$ LHpL HHD$ cLIXL|$ I)C<TffffHH}oXuueu8HffHKoXȀXu-uOYtHoXHfff軵H5nXʀXuHnX뙐AWAVAUATUSHHbHnHHt,ffTu tH,HwnHHuYYYYH$WHnt VH nH HHnL8M TuAHc$I8HʦILm1I8IDM4]6IE1$衮aDŽ$tAfIHViaiE1HI1A;H=!mEEEDD,AED9C3AltdA0;$t$HI8HcЉ$ƥH=lEI8)IHA1ɉ,$A蟭M$$AMt E;FH$E1L/HPlDŽ$HH$~)t W-*Y`.$H($~HL%DݦL-kI81ACIƨMD$,MLd$0t1A;_)Hrk+HZX3p_LLA;$tH &kI8HcH&_t CիHjM?MHHffffTu DEtwH_LjH8HHID$D$LEJ6DL$LE1Ah4E1,$HVjǃHHhǀTHH[]A\A]A^A_HjC1H3T芧SL5iC1AfjlH=iZ`\CAIg{HiXW襀HiX/*HkiXHPiXƄ$,E1E1@$HI81诩HiI8H$A1HL hI8MIIR萨Lc L%hI8I$K薡H=hEWEE Df`EhE`D\AE)AA*^,B$v DWW*YA*AƋD.B0vD9| )9M;$FEEEH$H$EEELD$$;$~H=gII8HmH ^gI81E1E1H1H:g2HHtHXKt;$}E;t8t7{@HKW;$JStt&H$H$EEELD4$룋u9$D$DO4 HcED;d$p DD$(Dd$pEU $ D$I8IcIDT$(#L fD$D$Af9t$LDE$D;$DE$ LL$0A3 Et@Lc\$(|$LD$T$`D$(fBܐ#DfFܒ#fBܔ#fBܖ#LcT$(L$LDL$`D$(DfBԐ#DfFԒ#fD)EfFԖ#fBԔ#t4Lc\$($D$(fBܐ#fFܒ#fFܔ#fBܖ#EtCDL$LLcD$($t$dD$(EEfFĐ#fBĒ#fFĔ#fBĖ#Lc\$(T$LDt$dfD)D$(DEfBܐ#fBܒ#fBܔ#fBܖ#t5Lcl$(D$D$(fB#fB#fF#fF#t4Hc|$(D$dD$(f#f#f#f#ffft>Lc$$t$L$fB0fB2fF4fB6LT$0AHL$0DEuiHT$xJtYtTED+\$LAD9\$t}A1t tz@A@D x @o  ffuHl$x@D;$!Dt$(E D$E HD$0D$,H8HH|$0BDD$,E;0LbL%DDŽ$D$pI莝LbADŽ$T$,ED$tA,A0MM$D$AD$JAՉ$IT$Ft)Dl$dfIEDt$`DfAI8ADD$Dl$hABJAfADfD艄$~L\$0IcAD$lt!LaI8HcЉD$pIpL-aaJ&Df\$^INLd$0fD$\ID$@HD$PH+a|u#DtH|$PIcƛH9DCMcLL$PHt$0L18H|$PI蛛LI萛L5`D)Ah~A+x9L1҅IՅLTEpExHcA)A)A)A)E9EL1EDHH|$PExH|$PD)AE)AI9O)HcHDD$\A9EfDOE1IEI8IEIH\$PDD$AEfA)fE)DD$^A AI:H-_I8HHWH腟Ht$0H_D$(HNDfqHL$xAD;$D!ШLd$xA\$I,M@L :_EWWL\$xWAE\A`EfLD)D*DYA*DXA,9$N$A9AMD)D$*YT$LACX,9$DOAAsDADЃw AB$CӃ+L$L$9D$LD$;$DNDuAANDAHAD+\DfEWEWEWE*DY`E*E*EXE.YEw AB$0CDuWfEWWA9*AM+\D**Y`AX.vI,L4뭃먃룃랉ӃӃӃӃ,뵋T$p9T$lt$(DT$lDT$p$HcT$lDŽ$D$(II8L \EfE1D9l$LD$EEDD;$DE$H|$0DEHt$xH|$0D*t$dfD=?DD$`D+D$dED\E*EYEXA,t@LcT$(t$LD$LT$hD$(fD)DfBԐ#fBԒ#fBԔ#fBԖ#DL$LLc\$(L$hD$(EEfE)fFܐ#fBܒ#fFܔ#fBܖ#|$`D\$LE$t$LfE)L$dI8fD$Ef$f$f$I$f$IEf$f$H$fD$fD$AAfD$fD$f$fD$f$$LT$0A.HT$0HzxD$DL$hDT$(D$AD$(Dd$p$Ic]Dd$(D$Apt$(DT$lDT$pI8IH$#HDD$(ؚL Z$II8E1E11肚LYI8H$0IID$qH YI8E1E11H1-L ~YjII8E1E11LRYI8H$0ID$IH!YI8E1E11H1謙L XI8IH$#HDD$(虙L XGLl$0IUxH;zvAK4H ^H$H HIHDHAAD!΁怀tALMXLZAကADIDӉ@IHHH)$D+L$L9HD$xHfff9N)BLWI8E11ҹIE1gHWI8H$0ID$HVL5WI8E1E111IH-^WI8H$#IDD$(H?H\$0L$HT$xE1ALH{pMxD+D$LL|$tHcD&HA$AD!сကtALFA ADIDLHL)H9D+L$Lq|$tALf>H!сကtMc HVDHAHDAHL)L9v*L6VDHI,D+T$LDBD9|QAD"HA$AD!΁怀tAHzAကADHD׉@HAE)4EL-UD$ IL$LD 2I8ID$$AD)Iӌ>C1ݒCH?U+HZXI8HAHRAfߔAAD$HWEAAH TfA)fDd$DDfHYPf|$FD)փ*^`D,D\HbED\$< HHKCD9?;\|LckI8HKKC/PH(TI8E1E1H1谔L TI8ACI1LSDcWWDD$DI8E+\AfIA*AY`*L$X,ID$DD$FAS1LLL:H!΁怀tAL6SLJAကADIDAIALHL) +L$H09D*MD$HEIAAD!҉сကtAMAA LRADMDEAA͉I7IIM))I8D $MljHCHH KRp\9W)DfS*Y`WL)LA*XD,qL2H!΁怀tLQLZကDIDAIALHL)諌H QI8E11E1ɉD$$H1#DD$$A͉)AD9ALWQDT$u H0[]A\A]A^ÿC7H0[]A\A]A^fffffffUHSHT>HƅHJDžHZHt$ffHH7eHHuH1HeHDžHDžHDžDžH[]fffffH1CBfffffffffAV1AUIATUSH-H|$$Q= IADžHrAffffA ǃE1111`D)DEEЅ҉DυɉADЃHDFBH{ HCHHpHsPH x+Lc@L諂J< C1هH{PLc@HLHHIffffDHAAD!ʉсကtAL^A ADIDHL)ƍ4>L豇HHHC@bAbǃ H{ HǃRTHCHsFFF FFFFF F$HHIHtHZHZHHu: 9H[]A\A]A^fǃLc@LJ< C1=_ǃffffE1111PǃvHf_~ (@~_D)?~0C|9 qL\d ~?D)AE)AL[H[]A\A]A^ÐS G9Hu#HtHHtH1[f[ÿCхпCH~ECUH{EHxEUHW,CH^E衃BHHHHpU賀H҅HH蹅HHWCHDUHD(HDUHDPHDUHDHDVHD|THDUHDHDUHDHDuUHDl}1HHHheHtfffffffffS7H*HS(&DoV181CwV1HHHUwVoVHxBCH¿wV1wVoVHhZCH¿wV1踂wVoV蹄HBfrCH¿wV1|wVoV}HߺoV[CoV1IHߺoV[ffffCSz76HuHH¾[C΂HH¾[ffffffH\$Ld$Ll$H(IIHT$WLH9LIMXUpH|$ HHsLHszHH8U0sLH8H88UsLWH8oH H1YH- 81HoH[]A\A]ÿfC1muH DžjfffCHP8CUHM8HJ8UE1rrHW.DH-8PsHHH AHpUsH BHUHgsH wHxH 1ɺWCp1HH(WC nH0fAAIcHH@UtHHUHN7oUqH0WCH47t1HHH@RXH@H@AH\UrAAvCH6oUqH0WCH6H6UH=6H(Ix1HHH8WCHu6oUpH(WCH[6HX6UHU6s1HHxHdWH(H1SWLt51ImH@H8H5hUH55WlfffUHSHtlH_;HsHt)u^11H1r~$HƿtuHhH9T$Xt7H HĘ[]H1HĘ[]H޿PC1 rHxH9T$hu(utxC2u럿C&ud(ffffffffffHffffffH!4SHHu !HHttHHHu[ffffffffH3SHHu !HHttHHHu[Ð1ҀuH(~ËffffffUSHH'fffHH8HWH3VH3jH(HHWHt3VHHk3IjaH[]ÿ`CsAffffffffAWAVAUATUSH&Ht$Hl$D$ffHH8 H CAH2oUmHH2iHǾWiHHiP0H|$HH 1Dx2Dp4D`6IcH8T$ HHjH\nH\$L$ HEEH8H1HD$$rL$%u)H[]A\A]A^A_Ht$C1nfffHt$HC[]A\A]A^A_1nAWAVAUATIUSH(,%2E1ILLE1ffHHAiHmHzmLLHLuiLc HWH1hUO+O8L 0gI$AM[oLc H0hUK<(IHH50WgHcH(WHr0hUH(HJ *I IHU03gA#LfffHHhHWH/VDL-/fH(HHWH/VDHL%/wf_H([]A\A]A^A_ÿCo`Co&fAWAVAUATUSHh"Iu6ItEL11[IL1JPHh[]A\A]A^A_HƿC1kIu&CH.CUH.H.UhIWLCH.oHIW9CH.UH.H.&UH.eD$<IDT$)L g)H4)cUH9)UH6)H3)Uj1HI$LJ1ɺWqCLE_CI$H(oUbI$W|CH(eLHI$AH\UcI$1LICHD(oUbI$W|CH)(eLHI$AH\UcI$1L+ICH'oUbI$W|CH'#eLHI$AH\U$cI$1LHM$I$WCLHU'UHZ'UHW'L@'HM'UHJ'HG'cUH-H'h1HI$L6HI$I$WCH&UH&H&UH& H=&LH&UH&H&cUH&UH&H&UH&H&qUH&H&UH&g1HI$LRG1ɺWCL~\CI$H%oU!`I$W|CH%.cLHI$AH\U/aI$1LFCH}%oU_I$W|CHb%bLHI$AH\U`I$1LdFCH%oUO_I$W|CH$\bLHI$AH\U]`I$1LECH$oU^I$W|CH$aLHI$ AH\U_I$ 1LEI$I$WLH/$UH4$UH1$H.$UH+$H5$H -$CH$cUe1HLI$(ECH#oU]I$M$( CLH#H#UH#H#cUH#WH#UH#H#UL5#YLHI$@AH\U^I$1LBD1LL5DD$<|$<I1LDIIIAAMpAHD$BLl$HD$ AHt$ L,$affffffH\$Hl$Ld$Ll$HHHASC{V1a1DHH H{Vc#C{Vc1HHH{Vcc4C{VJcHu@H$H${VL$L$Hff+CaBIC{VbH{VHr@b4C{Vb닾TC{VbCHH1ə;H{Vb>fffffH\$Hl$Ld$Ll$Lt$L|$E1H8E1E1E1oHHHdžHvhHHHu@ bCuHmHHH;EHvHHH)HMH9w8`zfffwEDbEEuDrH9v*rHH)BuEDbH9wאK QE9HwDD){w8t%KEDD C1 $D Dt\fffH\$Hl$Ld$Ll$ Lt$(L|$0H8DzfffEDjffEDjnC__HsHǃH8gHH={ rg{EHD;S"Hu@1XCu[E9DD){EfftEtDDD)D)H‰fE]ETDDD)D)EHt D;SEKDEHfffffH\$HHl$Ld$HIHLH(yH TA$H$Hl$Ld$HffffffffffAUATIUSH@LLAH[HHXHSXHAXHH8 SHH 5H(H  toH(HAFI$I$f]ffffHLH(>yHTA$H[]A\A]HZLHoC1XfffH\$Hl$Ld$HjIHHu#fHHl$H$Ld$HhC1XHHLƐAVAUATIUHSHHH1H;HctH~HcHi(H1HL*HLLHYHLt$Y1H\HWHIXLHǺHZH2H8`W/ AH-WH 1HQH|XLHZD$ HTtHyPHuL H8`WIV葪LRH8`WO ISV6CYC1V#Ic LIHH8QH=f+f,EfH8HAHAA$WLDd$PH8HIẢ$AAVH NHH8HXHH8`WHTEuL-}HATH[]A\A]A^Dd$PH8HH$AffATUSw4 I1LfJ҉fǀ*ǀdǀ ǀ ǀuƀƀH(롐ƀƀH(~I$HLH(yHcL烊TA$[]A\HƿC1S$ffffffffAUIATUSH0 IWIN I1LJ҉fǀ*ǀdǀ ǀ ǀuƀƀH(ƀƀH(~I$fHLH(yH;L烊TA$kIH[]A\A]UHƿC1RC1uRATUHSH H}@Hu Le~Wfff H}HWH!VHLH}HSH}H謻E H []A\H}HHcӾWHHVKuU HL脸H}HHLH []A\ÿCTH}@Hu LeffffM1ۅuA$E dfffffA$ffffEH 1ۅ\t,A$DfWD)ǃ*^`,։u ffffu1ۅu L{LflffffffffH\$Hl$Ld$Ll$Lt$H(IHIIDu+H>tE1H$Hl$1Ld$Ll$Lt$ H(H1C1PH;t 1Hfff@LL+SHoUSMIH WCHHUHHUHH.UH HcUL5]N1HHCL3IH 1ɺWCHHCCEHZoUCLH{W|CH>OHHHC8`AH\UMH{81LH3C HoUC(LH{W|CH9OHHHC0`AH\U>MH{01L2KCHoUKH{W|CHnNHHHC(`AH\ULH{(1Lx2 CH(oUcKH{W|CHtNHHHC `AH\UyLH{ 1L2LKLCIH WCHUHUHL LHUHH.UHHcUR1HHC@L1Hk8H{@WH$hUH-%GH{@HsW HUHHUH HUH=IH H5"CHHUHUHH.UHHcUHqUHHUHP1HHCHLf0CHoUHoU*Cqffff6CHoUffffffffSH0CHf HH XH= @5 H` HzhUHX WHjMEH= HKUDH H53WEH HWH VH DHS H WH VH@H DH V1ҀH` WH xDHH HH0[1.f+Hx f@CH@ CUH= H: UeGHWRCH H UH  H &UH  H &UH  H UH  NXCHH H oUFHH WCHz Hw UHt Hq UHn Hk .UHh G1HH HW-HHH CH UH H UH H UH WH H UH H cUH .UH H qUH H UH H UH L1HH H_,H HٺBH\UFCH oU/EH5`HH WH H UH H UH H5 CH .UH  H cU2F1HH H+H HH WbCH; UH8 H5 UH2 H/ UH P  H H UH H cUH .UH H qUH H UH H UH  KHHH BH\UDH 1H*kCH; oUvCLHH WuCH H UH H UL" H H cUH .UH  yD1HH H)HH 1ɺWyC ?~CHP HvoUBHP WCH\E1HHH` {)CH+oUfBHP WCHtE1HHHh 0)CHoUBHP WCH)E1HHHp (CHoUAHP WCH{D1HHx H(L LP HH WCH+UH(H%UL FLHUHHcUH.UH{H1HHHX 'L(CHUHHUHHUHH.ULH HcUHoUq@HH WCHlB1HH H;'H H E1CH-H H ACH HH H&HX E1IعBHD$BH\$HD$pBHt$ H$üH=@Hh HƿC11BHp SHH11C [ffffffffAWAVAUATUSHx|H$HDŽ$HDŽ$tH$0C1AH$M H=  HjCHEH$H$D7L1IU;H$WH$1D$`DH DfL+HE)AA*^`,$Й$Չ…@T$\Dt$L$1AAED؉D$`D@H$AA@1@־NC$g>H$Hھ_C1P>$CnC4C|CHDH$1 >1IH$H¾C1>Dt$\D$1Dt$`H$CEAD1=$t*L (CA@uCH$1=H$C1=H$ GA$( H$UAA :AH1f8ĤLH$H$H$dA CA@E0EfEEDd$A@DE1D$<|$`a LE1Mt&H$D;Aǃ|$`D  H$ *C:DŽ$Dt$\D9$|PfffL$MLD$PDŽ$L$`9$|r$DT$\D9$D$H5T$HՃ|$`$L$MLd$PDŽ$L$`9$}$H$1$6C;$H$HNL$PHHL$PGL$1H$A9sH$H.HH$t9r|$`|$\&$$L$PTC1LA?$H$H$01H$H蘣$$1H$Hx1H Hƺ_C@tgCAoCIEL$HT$0H@H$H$Ht$HT$1HI(CLd$ LL$xLL$D$H $IHHD$(4CE19tLd$PL$A+H|$PL$L9\$Pud DpH$)ILwC19H$ CA7M$$ML;$H-H$D1D,CAH$AT_AAD9H$L褔Ml$@HL8H߉7H;|pH$HپC18!L|$PD$pSL H$D$tD$lE0DEDDd$tH|$PEpDd$tH$H9T$P E,H$Dl$lMgEAD$DEfED AAAD9$|U=tNA\$$LcC;l~1LcO$A|$tA|$$@@LcC;DH$C1Em7AL$@E9!ED$AAK,UH5+$AWAD$W`Df*WYA*X,A9ANA9݉AM+$*YݺX,A9AENA$DADуwAB$ݸCffAAD$t)9D,8EE9DENMH|OAD+\fWWWA*Y`*A*X.wuEw $CA+\WWEW*f*Y`D*AX.,HMH|ORA9AENEt>At AAxUH$ʾCD1O5AAueAt$@tW@tQE1@Ct@AtET$@A@D .@%?H$ 8t$pD$pMIAE9D!:H$C2M?D$lM5L;$'L f,zIO@$`CHt$x1 6Ht$xC15|$\u:L$PƄ$P$L$P¾C1L$8$D$Eu(H$C13H$C13H$1H$觤1+Hx[]A\A]A^A_DpH$)ILھwC1)3H$ CAZ1M$$M}H$D;AŃ|$`D WH$LwMl$@HL1H1H|KpH$H龓C1|2NH$LC1HHI4H$LH$Ct0H$CS0D$pMA0~A1oAH`BAZDJIWxHD;REKHڀ HH$H C1f1LL&uH$ADC71AIxMH$IpE1ALDT$HHAt$DT$HHHH$C101><C5Hھ(C`W14H$`W1AyApAgA^AAfAAAAAAL L$ H$IHt*EWD*EY`D.r ~A;ULLH(yH$E1LM9D$k~*t!EWDD*EY`E.vvAH(A~A+MAGXsD$EFH$:Cc-$D\$`D9$WL$H$JCEE-H$H$1AADAA̾|C.L H$EWAf)Nj D*E^`E,D$DT$dv 0$AËDٙB;\$d|$kL$t L S+$EfEW1EWL\CD*EY`E*H$Ƅ$EXE,A-;\$d~L L +$EfWH$WL*AY`A*1XD, H$1AL\C-;\$d~{HHHXSt;T$d|+$LWH$WAf*AY`L*UX)ʹD,H$AMEljھC1)fffATUSH裲`H#HT$HX WHhUH&HD$H;p H;x H;h Hǃ@H )DH 11L%HK H 11HA$HL%S H A$L,H=bHH@(H _,HH(HH .HH[]A\ffHƿC1*Hǃ@ffffHǃ@Hǃ@fffSHHH u H[dfff[HfffffH\$Hl$HHuVƃCH$HtHHH'u/HH\$Hl$CH#.ffH1C)뙾%&DH.HH\$Hl$CH-fffffHl$Ld$H\$HIHukƅCH1$HtHHH&uDH߾Ct-HH ,LH$Hl$Ld$HHƿC1(넾%&DH0-뭐HXTfffffSHHT&HC`[ffffffffffATIUSu.HHj@HtLH]&HmHC`Hu[]A\ÿ8Ch+ffffSu/H uHQ@HtfffHrHH҉uT[ÿMC+ffffffMSHu,H $HQ@HtffHrHHH^puT[ÿfC*ffffffffSuRH HQ@Ht9fffHrHF džHtǀHHu˃T[ÿ|CX*ffffUSHH(1C1&HHffffH{ CA@CHs@DDLD1L\$DDT$|$<$C^&HsH9tH(C1F&HHHwH([]ÿCv)7H\$Hl$Ld$Ll$H(HHHIIHSHtH H HHtHPH;H;H;ƃ$LL9bHJHHEHA$HHHStHXHHHI;$I$HtI$uI$H\$Hl$Ld$Ll$ H(ICCHEL1LXC$L9MIfffIEA$LLkHH@MHXt9I]I;$HI$;ffH1HCN$cI$HI$I$1H+fffHsH\HH;;H H,I$1kffffffffffHHrhHHzh-"fffffffffUHSHHHtH{@H!Ht HHu1HH[]fffH\$Ld$HHI HXHL`HK@HHC@H\$Ld$HffffffHH}Hz@HtHHJ@HaHz@HuHffffffffATH?IUSHz@Ht#fffffHHJ@HHz@HuI$HuEfffHHt89fu$H5L`HXHN@HHF@HHuf[]A\ffffffffAWIAVAAUAATUSHHHu L9{0tL#1EIEHEuH ]HQHu`H;t1H;t;HHtFH;uH3HH;ufffH;HH;uHkHHHuHHHtHKHJHEHtHHUH} It)H51EIEHBH[]A\A]A^A_H{ H{@HCH{HHC@H{`HCHHC`ffffffffffAUATIUSHHH|HnH9e,FHIHtoHO@1tHADAAC4ۉu1҉MWXtITHHt HP8H@8HuH:HG8ƇH?HuI$HHtSHO@1tHDDA4EDu1WXHG8ƇH?HuI$HHt_UXI\HHu@LC@HL:@tD!HHD8t:u9u t)fffH[8HuHmHuL&H[]A\A]u2H]8ƃHmHUDHC1H$ffffffffffUSHHDuH-*u&H[]H1CH-*tڿ.HHEHHzH5HNHtJfHHu 2fHHt(H9Z0fffuH~HB8Hz0HHuffffH HuHǃHǃHǃǃH[]ffffUHSHDuNdHHHHU HHCƃHHHDHS H[]fH1CQfffffffffffAWAVAUATUSHLH|$D$MefffI^@+I@u0H+@!@_u{_u=PHSFCItt88u4HH€9uD"E HIqu A_=L Ctt88u4HH€9uD"Ebt HIyu A_F=jLCtt98u5HH€9uD"E$ LMCHu A_=L Ctt98u5HH€9uD"ELMCZu A_=ҮLCtt08u,HH€9uD"EttH0INuA_u\=LCt f981HH€9uD"Et"4L(IAD}A_@"LKHŀeAĀED _cAǀCD -I+^@D$H<+Hw)xIVLLt$HHEHtH{@HHt H[Hu1HIM6Mt2L;t$M9 بtM6MtL;t$AM9D uHuMtGHD$A9Iw@C1HD$M6M|$t GuHĸ[]A\A]A^A_ÿCHĸ[]A\A]A^A_I+^@D$H<+HwHI+^@D$H<+HwtHt$C18LHIKIo I}@IEIEAƅHIDIm RIE@IE IDžIEMeIoHD$AD$AD$ AD$AD$AD$AD$AD$ AD$$uMe}AD$L`Mt$XD] |$PL$TD\$\DUDT$`DMDL$dDEDD$hUT$l} |$pM$A4$E\$L$tET$t$ D\$$DT$(EL$ DL$,ED$DD$0AT$T$4A|$|$8AL$L$ H1C*I$I$I$1hI$1ZIm3I$I$[H]HsHHH HI$1I$1I$ffffffffAWAVIAUATUSHܽuWH*tHxugHxVHHz=HHBu H[]A\A]A^A_H1PC1H[]A\A]A^A_HpLH-LHsH HYHtHLHHuB!H5H~HHu7HH+HnH9k0uꀻHk8tHt-LfHUHtHuH2HEHtHPI;SI;6I;AƅEHI$1A$HHEHUtHhHH*HI;$I$HtI$uI$ƅƅH5HHLFE1IHt LH8MMEL.MLVIHumHHteH56HC0H;FuI9tHk8HtH{ HLHLHHufMmMiH5h.C˺ICxC1LXC1WHLC1Hs@^C1iH5FHHUHfftLeL"HEHtHPI;KI;I;!AƅIH9$M I1I$LAHHEHUtHhHH*HI;IHhIZINHCCHEL1HڿXCH9yHbHfffHAHH]HHERHHhKH+I;WIKHs@xC1#[HLC1WHs@C1kzC2pH5MH%HHMHLmML]MII$I$I$HMII;H}III1L#III1tH-SH]HHEIHtH@8ƀHHu2L H$IMAIIǀIǀIǀHu2UƃI$Lc8HH(tHtHs@C1H5_LVL9S0uHk8Ht*u!ƅFI,$Le87L+H HQHu\H;t-H;t7HHtBH;uH+HH;uLLH;uLKLHHuHHHtH{HzHEHtHH} HLH}I$IHl$Hu`L@@ACHS@MMDžC1uƃLeLc8H]Hk8HHtetHACHtLH@ACMMDHC8HqHS@ACwHs@C1 H$1AdžAdžHIHt$LR8AHJƂHMLLuMIL1ILH8C1VH{8H{@HC'H{HHC@H{`HCHHC`C13C8C)gCLC1<[C'IHP@tC1mI$1ffffffAWAAVAUATUSHH̲@t$HLh@M1ImMeHHEHEHË@E1D$=*fffD$t8s@HSA;$KvET$S T$Ds L$Dt$D[AD\$ DSDT$$DKDL$(DCDD$,{ |$0s$t$4hT$@1 CD$f|$ HfHdHZHUH/HMH HEH(HPI;$?I;$I;$A$ƅHoH9H1HEHEH&ffH(H'H;HHtHuHƅDMmMH`XTHH[]A\A]A^A_H1L濈CHUHtLML HEHtHPI;$I;$I;$A$ƅHuOHtcH1HHUHEHjHHHHCH޿XC1HuH%HHtHHt$H辽DCAAJ{LUM$I;$L]M$I$H0H1fffAUIATUSHHL MffI$1HA;$rsI$Ht:ffffH{@LUHHu@tA$1LM$$MuH TH[]A\A]H{@L$UuHHtA;$r1҄u1\H1H C=I$A$rI$HaHyVfHQHI$=H4Hzu(fffAUATUSHSH*LjMIHffft&tDžDž1ffff1 ÃuuHcHHHL$LHP tH}@HT StML|DKDAP Ã~fffHmHCMmM!H[]A\A]ÿ>CfffffffffAUATIUHSHHHAHx@HHt%ffffHHJ@THշHx@HHuEtHhHteffHHu FfHHtIEbATSHHA$HH5LLHHH~HHxBHHHLLHH HD[A\fffffffffAV{IAUATIUSE1E;n(3ffHSH@H3H2HH:HPI;$I;$I;$A$ƃHH9H1HHCH8fffHH8H;ZHHtHuHƃƃAE;n(?IN0Ic݋I$HHH 9HHjH1L濈CHSHtLLHHtHPI;$I;$I;$bA$ƃHuNHthH1HHHCHZHHHHCHXC1HuffffH%HHtHfffI$LM$M$I$HIzHI$x8I$I$I$M$M$I$H[]A\A]A^C1L[M$L M$oI$THH cSCH1dffAVAUIATIUSE1E;u(6ffHSH<H3H2HH6HPH;H;H;ƃvHH9A$I$1HHCH4ffffHH4I;$YI$HtI$uI$ffffAE;u(FIM0IcދI$HHHHHjH1HCHSHtLLHHtHPH;H;H;lƃDHuWHtqI$1A$HHHCHZHI$HI$ffCLXC1HWCHHUHHUHݒp1HHHܳHH WHyUHvHsUHpHmqUH5CH^H[UHXHUUHRHOUHLHIcUHNUHKHHUHE2HBVH?L%D2HHH0RBH\UH1H賲CHcoUHHWCHBH?UH<H9UHJH/H, UH\UHHAHHhBH\UVH1HCHoU^HHWCHHUHHUH}H HncU1HHHeHLHCHUHHUHHWLH܏cUHUHޏHۏ UHUHݏHڏUH׏21HHH薰HWCH5@UH2H/UH,H)UH&H#$UH HUHHUHHUHH UHkHHHx`VBHFUHx1H蜯CHLoULHWCH+H(UH%H"UL#H UH1HHH LL HW"CHUHHVLL эHL%DHqUHH}UHzHwUHtHqUHvUHsHpcUHuUHruHHH0RBH\UWH1H'CHoUHHWHHUHHUHUH=wHH56CHiHf UH\UHHkHHPBH\UH1H;CHϋoU HHWHICHHUHHUH ċHHUHH UH\UHHHH@BH\UH1HHPCHoU3HLH6CHՊHҊUHϊH̊UH͊WLHUHH UH\UHHHH]BH\UH1HqaCH!oU\LLHWICHHUHLL HUHUHH U,H\UHHHH麐aBH\UH1H蚪uCHJoUHLWCH)H&UH#H UH=AHLHUH H  UUH\UHHHHpeBH\U$H1HéCHsoU~VHHHWHPHMUHJHGUH5HCH@UH=H:cUH;1HHHHHCHHUHH@UHHUHڇHH  HHcUHUHH UHWHUH~H{UHUH}HzUHwHt$UHqHHHRBHFU6H1HէHffffffySHu%HԅHXT[ C12H\$Hl$HyHHu;t H\$Hl$Hÿ@C1;u{TusDH#HHtHEC8TffffffffH\$Hl$H/yHHu;t H\$Hl$HÿC1s;u{TusDH#HHtHńHC(THApfffffffffH\$Hl$HxHHu;t H\$Hl$Hÿ`C1;u{TusDH"HtH HHP Hǀt ǂTfH\$Hl$HxHHu;t H\$Hl$HÿC1S;u{TusDH!HtHHrHtKHHH9tHz H貵HHB虷HjXTnHBHj fffffffffH\$Hl$Ld$Ll$H(5wHHu;t*H\$Hl$Ld$Ll$ H(ÿC1o;uփ{TuЀtǃvsDH!HtHHZHULhI9vLb WHSHtH H HHtHPI;$UI;$7I;$A$ƃHvMt$ICCHEHLXC1苿L9$M Ifff I $LHH HCtHYHHHH;HHtHuHHHB蕵H fXTDHBHj H{I$HL濈C1覾H3I$I$HMH+H1L#HH1fffffffffH\$Hl$HtHHu;t H\$Hl$HÿC1;u{TusDHHtH HHP@HE1CHAHH`H\$Hl$HkffffH\$Hl$Ld$HtHHu;t*H$Hl$Ld$HffffC1T;uփ{TuЀftŋtsDHHHtsHLb"HSHtH H HHtHPH;YH;=H;KƃFsHI$1A$HHHCtHZHHHI;$ I$HtI$uI$ƃƃHHuTH~XTCHLXC1:HHC1ԻHsHH1'H%HtdHHH3HHH{HI$I$I$I$1fffH\$Hl$Ld$Ll$H(qHHu;t*H\$Hl$Ld$Ll$ H(ÿ C1ߺ;uփ{TuЀtH<}HztsDHqHItLhHԴH}HHSHrH]H|HJH]LbHZM pIT$HtI4$H2I$HtHPL;L;L;AƄ$pLt$ICCHELHXC1¹I94HHcH HHI $ID$tLaHL HH;HHtHuHHCH5HH1tH-{XTHH|VH{ HǾWβH?{^LH޿C1谸eL9LH1I$ML$LjHDM$LALH1fffAWAVAUATIUSHn1E1E1E1WfffLHnzIxÉP qH=RzHLHT 踵IIIEHcI0޵uLHzIxǂP 딿C1nWI$\H yXTH[]A\A]A^A_fffHl$H\$HmHuVHyHP@Ht$HZHH{@H{@=HCHHZyXTH\$Hl$HfH1C豶fffffffffffAUATUSH(a=mIIE11HH5xIcI0H^yUP WAHIy'H5xIxHHHT bA~IH(L[]A\A]11Hƿ:C1ҵIQWCHxCUHxHxUE1IWLCHxHxUHxHx&UHx 踹 CIHAxoU|IWCH'xH$xUH!xHxUHxHx.UHx 蘳1HLIoCHwoUH- sIWCHwHwUHwHwUH-wHwH}wcU1HLI tCH$woU_I IWCHwHwUHvHvUH=vIHvUHvHvcUHvHvUHvI1HIL赗IIcH-vHavHfvM CH6vUH;vUH@vcUHEvUHJvoUAL 8v;IWsCH&v蹲1HI0LM0I WCH-uHuUHuHuULuHuHuUH~uH{uUHuUH}uHzucUHuqUH|uHyuUHvuHsuUHpusLHIxBH\UTIx1LAIx2IH pIABM蹠BHD$BHD$HD$Ht$ L,$+fffffffffffAWAVAUATIUSHg1E1E1E1RLHjsIxÉP mH=NsHLHT 贮III_HcI0ڮuLH sIxǁP L激C1gYC1Vf:I$>HrI$XTH[]A\A]A^A_kffffffffS6fHu"H9 |[B=Hƿ{C1软Hu9 K[B=ffffffffSZ6fHu"H69 [0B|=HƿC1MH9ۥ[0BK=ffffffffS5eHu1HqHHB8@B=[}HƿC1ήfffffffffS5GeHu1HqHHBW8B<[HƿC1nfffffffffHl$Ld$H\$HI5dHuY HpL H H 7 褤H$Hl$BLd$H<ffHƿC1ѭfffffffffffHl$Ld$H\$HIu42dHuY HpL H H .7 H$Hl$BLd$Hc;ffHƿC11fffffffffffHl$Ld$H\$HI3cHuY HdoL1H_ H 6 gH$Hl$BLd$H:ffffHƿC1葬fffffffffffUSHHB3 1HHH bu1HnHZ85 բH~B[]@:H0C1fffffffffUSHH2 1HHH\ ibuAH BnHcHHHA(s5 IH B[]9fffH`C1fffffffffS:2aHu.H5HJHy[H0HƿC1!fffffffffffATaIUHSuhH nmHQHHtLHffHsHH}ӫuHHuL4HtHsHH}譫u"HmHB[]A\ÿC1艪H5lH^B8[]I$A\RfATUS1`I2I$HfCH&mCUH#mH mVHmHm* VHmHmU&CH mHm@UHmHmUI$WCHlLHI$BHpUI$LBHUߧI$L`BHUçI$QH I$7HI$ HլI$ H軬I$HH螧HkHJHHffHsH1HHHuHjHhkVHBHI$H JkmHǾW[]I$L1A\UHƿBC1HBHjVUSHHa^MHs@VH覥HKp\CH1HQH濠VHs`H=^HC HHhCH1迩HV«DCH1萩HV蓫DDCH1ZHV]DDCH1$HV'HV[]ÿV4CVCHP@CH1ȨHV˪ffffSHH{PHuH{@HHt8tHB[ڧHHufHC@[fffffffAUE1ATUHSHk\R1ɄLtV fHC@DHChHcIHtGH{PDiHuH{@\Htǀ8tHDiHJ@HJhDHcIHuLIcBE1*E9HSHfff H;H:HHHPH;7H;>H; ƃm[HaH9sH1HHCHHH H;HHtHuHAE91HIcHHtZH1HC,HSHtLLHHtHPH;4H;;H; ƃjZHubHtwH1HHHCHZHHHHH1CpCHXC1WHuH%HHnHoYu.HeHXTH[]A\A]FH C1fffLSLHH;L LHH1ffHffH1HƈHDŽufffffffffffAWAVAUATIUSu?1?uMHIt+*tFA$ˁ9uHI.uA$[ ȃ[]A\A]A^A_VL~tLLtGA?uYHHt/*t`DE΁AA9uHHD7DuDME@A[ I1A<$fAyGLwffHLtHA?uSHHt0*tTDAAAE9uHHDDuAŀ[D u9Hŀ}_A녀~Lnu HÀ;fftLHCtfffDBAv1fffHH;`tƒ ~ t ftH b  uHb ǃ L ffft'Hvbff9|DAD9~`WW*\Y*W*X\^,fffffffffffHWzt<z@@Hc9t'LcJztDRAALcB9t~Hff1DA9AFf9|"LaDA,F D9~1D)H֙1H@9A!tfH HAD9D!بuHfA@t/HaDffD9|DAD9~ffffADffff`WW*\Y*WA*X\^D,ExIt@tDD9DFfA9| A,ADF D91HXHHqtAQDIcDD9D})HcH qtDIAAHcD9D|ׁDQLAD)E)D9WNΉD)1)*AY`D. ;FD)H֙1HA9AD!بtfffffH H@D9!uHWD)1)*AY`D.-:FfffffH^1LBPMt.t#ff9|DAD9~ff1`WW*\Y*W*X\^,xAxL9~IHtxH9~HHuHJHHt)+qH9HNAUE1ATE1UHS1ۀt'H^ff9|DAD9~ 1[]A\A]`DWW*\Y*WA*AX\^,xLtXtNA)ЙAA)ҍA9~ AD)AHE9 Ȩt LEEH(AyHDm[]A\A]ffffffffffH]HBPHt;x~ HHt;xHt;xt1,ffffffffHCf.e:ztMf.CztL$0HDinotracIH$D$e 9.fD$ 3bD$HWL-WL5WHWDUHWU誎H$`H$hL$pL$xL$HĈL$0HkCILޘHLӘHDinotracD$e 9.H4$fD$ 3bD$>HHI/HוHtHPH:H@9H@u\L譕HHPL*H@)H@ufffffAW1AVE1AUE1ATE1U1S1HHcƒ~1HcƒD ~HULBMIHAH~ utA1A9}fAAA9|HVHcDD zt5LZBtE1zAEJHzuH6HwMMTC1޿ C蓒1҅tA*Y2*^,DC11A]HcD t9D1Et*Y`2A*^,Ӌt 1CÃ~1D=C1Et*Y-2A*^,1WCՑ1ۅtzLcD*ʼnB41oC*Y=1A^,螑~1҅tE*DY 1D*E^A,D濇C1gHĨ[]A\A]A^A_Lcˉ1B41oC<~fffH5GC1Ή5GHSTHfffffffffffH5vGC1Ɖ5gGҐHCSTHfffffffffffL!SSWHAf)*A^`A,A)E9\~;FEfWD)׃*A^`,)A\A9\}FA\MHMtfIHtRfHVHA\B9}GHNH9v ZHH)H9v DZE9\|HVH6HuM MuAT[=tZLcB;|~ffLcJztZLcB;|랿C萒LQCmLQHVfH\$Hl$Ld$Ll$Lt$L|$H8kEIAՉEED9DADHcDO)HQA9IcIcANHQVHQHQVHQZUOH=QHQMU)HQUHQ.UA9HQAN9LHHH1H;XHHSHHHu[AWAVMAUIATIULSHH(HHWHL$xH|$`HrHUHt$pL|$hHeHHbHcUHgHUHdHHL$H$H|$ Ht$LCHBHUH?HHL$(1HHH(iMCHGoU HCLHGHGUHGHGUHG HGWHGUHGHGcUHGUHG HGUHG}LHH\UHCH蠂H{1HBhMCHFoU$ILMɺWCA LHFI#LFHFUL FHFHFUHFUHFHFcUHFUHF HFUHF|HL$ HLH\UHC譁H{1HOgM*CHEoU1ILMۺWުCILHEI7LFHEULEHEHEUHEUHEHEcUHEUHE HEUHE{HL$HLH\UHC躀H{1H\fH|$CHEoU;L+LW3CHDHDUHDHDUL-DHD HDUHDHDcUHDUHD HDUHDzHT$HL$HHC H\UH{ H(H[]A\A]A^A_1aeH([]A\A]A^A_Ð7SHu H[:C0H[ׄfffffH\$Hl$Ld$HJ7HHAHHHCU}CHCHCsU}HWHzCMzHDHHl$H$1Ld$Hsdff1HHC HeHWCHBCUHBM|HHH0BHpUO~HBHUH4~HyH{ffffAWWAVAUATUHSHXLAHL$LLL$HHT$8H\$TLt$PAfA`I)DoXILD$D*^HH $HL$@H\$Lt$T$,H{H?ALL$0LD$DHL$@HHHT$4H\$Lt$H$HT$8衁T$09T$HL@HIwH]{L @T$0HƋL$4DD$TI蚂T$0HH @ADBWfDED\$4fE}EeACfDfDfDA)fAHyPA*Y\$,`DffDD,LA)HLl$ DЙAD\# H5?AWDDf)3*^`,E9H@VH@H?VH?H?ZUH?H?MUH?H?UH?H?.UH?H|$ WE1dvHDDLAE)DE9AF2A9H ?VH?H?VH?H?ZUH?H?MUH ?H?UH?H?.UH>WLu2HX[]A\A]A^A_À+fD)ffD)ff9AؿDNAHcEH.>VH+>AOH$>VH)>ZUA)LcH >E9H>MUL5>ENE1H>UEH >H>.UEIH->IcH=WLt1L$0T$DCt$@DD$41WzHX[]A\A]A^A_AEDDDH;=VAOD)H1=9HcH)=VNH+=ZUH5,=H'=MUH,=UDOH-=.UD)IcA9H=ANMcD9L==ALMcHL%=H<D\$4D9\$LLAA1ɺD(C1_y6AEDDD(C1?y2fffffffHWH'<@UH%(<sH$HtHÿCC|H$HfffffffATWUSH`H;@UHT$(H;/sHl$(H(C1xXC1{xHt$$1.DzzT$$91H9s H69rH=:DHDŽ$ =CWH^HDŽ$(2CHDŽ$0CHDŽ$8CfHDŽ$@CHDŽ$HCHDŽ$PCHDŽ$X CHNHv@HA)1AA*^`,\ CwCLd$0DKAAJCHKD[`CDK1L KD\$DSDT$s 4$H%wH9E1E11LHHZSt,LC1ve9k\H`[]A\LC1vҿICzH`[]A\ÿCyHl$(fUHWSӺHH9hUH%9pۉ~H $HcH9LtʅH[]Ð,SH8HHt0ffHIعBrHHuHk8HHt-HIعA}rHHuH68HHt3ffffHIع@BrHHuH7HHt-HIع@ rHHuH7HHt3ffffHIع@@qHHuH7HHt-HIع@qHHuHV7HHt3ffffHIعBbqHHuH7HHt-HIعB-qHHuH6HHt3ffffHIع@BpHHuH6HHt-HIعBpHHuHv6HHt3ffffHIع0BpHHuH;6HHt-HIعBMpHHuH6HHt3ffffHIع BpHHuH5HHt-HIع~BoHHuH5HHt3ffffHIعPTCoHHuH[5HHt-HIع4CmoHHuH&5H@1[>iH1CrXfffffffSWHH{5@UHT$Hw5lH\$Ht#(u2HHHuAH[ÿCnuH\$(tH޿C1rHHHtuH[fATHO4IUSHHt/HcfffffHE1ILHSlHHu[]A\ffffSHXClHtHHboH߾%&D[ufff[ffffffffH\$Hl$Ld$HIHӅt9r+H$Hl$Ld$HÍ{Um9]I$sfffI<$s]sI$H$Hl$Ld$HfffffffAWIAVIAUATUSHH$H$A7I>fD9IrhH$(nA/IAA| HmMH9D(uE'(mIAD9rI>H(I>(E'rIA((lA?'IDA((HrI(ffffH[]A\A]A^A_ÐHHH<$tnHoHnVHmVH!ʉсကtAH~A ADHDH~ tVH1mH$녾VffH!ʉсကtALVA ADIDAAHFVHfffAVAUE1ATUHSH H?IEfff lLHL=lHIpH:styHpMLtVA<$tO HoHItkHHLH)IHjLkMH{IMLuH L[]A\A]A^LLHkHITpiHLkfffffffffffffH\$Hl$Ld$HH$HIԅHHHH$CUHD$],HaCmHHHHBHpUkHpHqHpHpLgCH$UHD$HD$U&jHHHD$fH1HPH$H$L$HĸHֿyC1}lLgCH$UHD$HD$UiHHD$HuH,CHmHHHH⾕CZmffffffH(HH|$ kH|$ LD$HL$HT$Ht$agH|$ iHD$H(fffffffffUHSHH8!"HsH|$(kH|$(LD$'HL$&HT$Ht$fH|$(QiH|$11mfWf.w]H-f8f.6 zY^,Hn~,tbC1jH8[]H1nھC`W1'm`W1HH8[]ÐC1jHW*^H8[]fffffH$#*f$HY$ f$Й*X,ffffUHSHuH[]kHH1HË]HU҉uH[]Ð=M C15> ifffUSHH"  ~4HHt(H8t"fHͅH~Ht H8ufffHǃHt%HH9tffffH HtH9u틻19@H!tffH 9@H!u9s;HHt/Hzt(fHB9HHs HtHxuH +TH[]Ë1ClhHHHxfH@HHHxufffffffffffffHu#Ht*XTHffffC1gHE*XTHfffff=SHuH*T[ÿC1gH)T[ffffffSHu+HIعpBcH[(kC1gfffffffSHuH[jffff0C1fH[jfffffAT[UHS<HxH( L%) (A$$HE1hHH,Hg8HIpBLEbH-jL(DWAfA$A)AA*A^`D,EAEAD)A\9ˉN9M~ L1K*[H]A\H(C1$e0C1te[]A\fffffffHl$H\$Ld$Ll$Lt$L|$HHH~HxH( H'HH8HHD$He`NCH'oU bHxH' _HǾW^Hx^Ht$H 'HDx0Dp2Dh4D`6HHH8_HycH &H8EEHHDD$$gH\$Hl$ Ld$(Ll$0Lt$8L|$@HHÿTCH 'oUGaHxH'4^H\$Hl$ HLd$(Ll$0Lt$8L|$@WHH]XC1cqfffffffffffUSHUHÉ~7HHt+H8t%fffHͅH~Ht H8ufffHǃHt%HH9tffffH HtH9u19@H!tH 9@H!u9s>HHt2Hzt+HB9HHsHt HxufffH$TH[]ËC1PbHH HxH@HHHxufffffffffffffUSHrHÉ ~9HHt-H8t'fffffHͅH~Ht H8ufffHǃHt%HH9tffffH HtH9u19@H!tH 9@H!u9s>HHt2Hzt+HB9HHsHt HxufffHQ#TH[]ËC1`HH HxH@HHHxufffffffffffffUSHHHHt$HxtH@HyHt HxufHǃHtHH9tH HtH9u틻19@H!tH 9@H!u9s;HHt/Hzt(fHB9HHs HtHxuH!TH[]ËC1*_fffUSHH HHtTH>tNH6ͅH~ HtH>uy.Ht)H~ffftHvHyHt H~uffHǃHtH9tfffH HtH9uD1D9@H!tH D9@H!uD9s7Ht2H~t+fffffHvD9Hs HtH~uHm TH[]ËC1]fffSGHuFH5 WɋDfD)ǃ*^`H,)\[HƿYC1Y]fffffSHuH H߉\[rfHƿqC1]H |H߉\[EfffSwHH Kv"FfuMH[fffuDfWA)AA*^`,f)\t\C1O\H[ffffH5C\H1\H DDDfWE)AA*^`,AAD\fW)ǃ*^`,pN%fffSZHH v"fuMH[fffuDfWA)AA*^`,f\t\C1ZH[6ffffH QHƿC1\ZH 5JDDfWE)AA*^`,AADbffW)ǃ*^`,pN)ffffffAUIATUSH(HHHq1HoUf8H'WHWHSL%+HxWHhUMc$$N0L{SHCTHIpBZH1H=L 1IFSH(HL[]A\A]1HƿC1YHfCHCUHHUE1VHW`CHHUH H&UH \HHǺpBHƸUHVCHVoUUHWCH<H9UH6H3.UH0H-UH*H'UH$V1HHHUH;H8.UH5H2cUH3H0qUH-H*UH'*WHHHBH\U QH1H6HHHE1IBHl$ HD$pBHD$HD$H$n ffffffH\$Hl$Ll$Lt$L|$Ld$HXkHIIIDHD=HACMDHMDLHLENLHN yd4NLIHVOLLULH]oUNHWHH+KHL|LHWKHH1E5HfH\$(1Hl$0Ld$8Ll$@Lt$HHL|$PHXJCTHt4ACMMDMMDLMMEMLHMCHpCUHmHjUACMHWCHJHGUHD HA&UH> aTCHHoU%MHWCHHUHHUHHUHH.UH+N1HHH3HH bCH4UH1H.UH+H(UHiWHHUHHUH H .UHHcUH qUHHUHSHHH BH\ULH1H2HH HE1I BHl$ HD$BHD$HD$H$GMMDMMDLMMEJLHJ;fffffffUHSH4u~H"OHHHzHoHH1H@H;HEuHx$HH[]CQffHx07HH[]%QfffC1MqfffffffffffSHu3H_HǂkC[BHƿC1LfffffffATUSHp%D$ %HL$ .`ztƂdD$ Hٚ``. Zu z =`HHLd$Hl$0 HHHt^`LH,ղHV1f8oLHCH1*NHHoUHHP WHEH HHdfffffTHp[]A\ZD$ CKKffffH\$Hl$Ld$Ll$HHHu*;tAH\$xH$L$L$HĘDBTJDCR@1J;uST!Ȩus@H蟪xH  !N9} ߉󉹀Df)Wɉ\WA)*A*^.`ztƁdH ``. u z =`HHLd$Ll$0 HHHtT^`LH,萰H  1f8*LHCL1KLHw oUFHP WHb ECH _¿/C1+IH ZC $IH x  $TH7H j?fffAUATUHSHx@葛9^H WW҉\f+)Ã**^2.`ztƁdH ``. (u z =`HHLl$Ld$0 HHHtg^`LH,裮H $ 1f8=LHCL1ILH oUDHP WHu XAH HHdfffTH聶Hx[]A\A]H1@CGlZC $FH k  $ffffffAUATUSHx^Hs謙9QH  WW҉\f+)Ã**^.`{`. Qu z =`HHLl$Ld$0ffffHHHt^`LH,ƬH G1f8`LHCL1HLHoUBHP WH{?H HHdTH詴Hx[]A\A]Hƿ@C1?E*9tH DWWDf\+E)A*A*^u*.`zƁdH ;`jZC $DH  $ATUSHĀS eHZ`Y rZT$ T$ .`ztƂdD$ Hٚ``.&u z =`HHLd$Hl$0 HHHt%e^`LH,衪H"1f8;LHCH1EHHoU@HP WHsV=HHHdffTH[]A\ZD$ CCHHƿIC1C fffATUSHĀ qeHEZ`Y ZT$ T$ .`ztƂdD$ Hٚ``.u z =`HHLd$Hl$0 HHHt%Ų^`LH,H1f8蛧LHCH1VDHHoU#?HP WH;H'HHdffTH[]A\ZD$ C{AHHƿgC1`A fffSHuHߺC[[HƿC1AHߺC[9ffffffUSHHIHT$HWHVH8;EHl$H~5HHt)H8t#ffHͅH~Ht H8ufffHǃHtHH9tH HtH9u틻19@H!tH 9AHD!u9s9HHt-Hzt&HB9HHs HtHxuH)TH[]HƿC1?C1t?HHHHxH@HHHxufffSHHuKHT$ Hx WHVH]9H ND$ ThH[Hƿ`C1>ffffffffffSHfHT$ HWHHVH8D$ H H߉\蝭H[fffffHl$H\$HHu1HHH)\H\$Hl$HFffffH aHƿC1\=fHl$H\$HJHu4H"Hr\)uSHH\$Hl$HͬH HƿC1\a=HH"\tffHC1\'=HH\$Hl$HaHu3HtTPu HfffffH釐fffffC1<뿐DO E1SEuGu Gt fffAOE1҅tsDGAD9GDDGDG GvtE1ɀABDWA[AAE DWË_ uDG$EyDGDEÃ!بiEuJwуOWlDWA[AAE DWúGEGA9O;O  _;_$H!ШD;D;;;GWW1v tÃufffffffffffffOSE1:Nt[DÀ1ۀFE19GAA1Ҁ^ E1D^D!9_ FA1D!D9_E1!9GAAun1ҀD!Au^1ҀND!D!DN!D!9ODۋ^ D!D9OAADF$!9_ AED!D9G$@@΅*A[DfHE1E1Au+Kfff~NAH9tV1HH63HI$WH hUI̸H2L LLcHUK WC)DºL2H= HUB/K H5yWW2 sLHcHDUIHWA+DL!2 ~I$ H(L[]A\A]13HƿC17I$ sBCHCUHHU14I$WݿCHHUHH&UH ;XCI$ HAoU|4I$ WCH&H#UH HUH51HI$ LL-II$ WCHUHHUHL-HUHHUHHUHHcUHqUHHUH:1HI$LA.I$L3CH\Ub40CHoU2H.I$ WCHHUHHUHHcUH41HI$ LI$ McHcL3H8HVHUHcUH$UH=I CHoUAH52I$ WPCH41HIܨ L B`CHroU11I$ I$ CHRHOUHLHIUHFHOWH7cUA21HI$ L'fffffM$ IcHcH H CHVHUHcULMHUHoUAL 0I$ WYCH 31HI Lk BcCHoUA-G0I$ I$ WCHHUHHUH-HHcUY11HI$ LfffI$ IcHH5k CHSVHXUH]cUHbUHSHcH]oUMAL@C/I$ WsCH-11HIHL  BCHoU.M$PI$ WCHHUHHULH|HycU01HI$LoI$ 1ɺW.C*=CI$HoU9.I$WRCHF11LHI$\CHoU-I$WgCH01LHI$qCHdoU-I$W|CHI01HI$LgI$M$WCHUHUHHcUH=I$ L-HUH[41HLI$I$ HI$AP4CM3CHD$BHD$HD$Ht$ L$$蘩ffDASEEIDL$t8I‹GtAfff[CL\35HGuy+t!ȨzfffAxKHcHiVUUUH ADA)DC4@MI‰׃u C0vCWAyA[ffffy"!ȨtHAzfffx΍QDMNDIƒ׃u CWwC0A@Dž!xf…@!׃xDD fffffɅwHHthy.ffÃ!بt>zfffADDMI‰߃u F0vFW@Dž@!xEtHMixed01XfABUI[[ECA.DIDDL12/fHl$Ld$H\$HIu2HuY HL1HH 1 #H$Hl$4CLd$HfffffHƿC11,fffffffffffSHu"HƵ "[PTC HƿC1+H蕵 k"[PTC۹ffffffffUSH7uIHHjHt2HHtfffHs@HHCxHHuHmHuH[]ÿC.fffffffffUHSHHHHtfffH{HT$Ht HHu1HH[]ffffffH aS1ffffHcƒHDŽِ~HHtH{C#t`HHu U&H HHHuHHHuH1ƒHcHuHHtC(CHCC(H5HCHHtH{CB#t`HHu %H XHHHuHHHuH1ƒHcHuHHtCo'CHCCZ'H=HCHHtffH{%D"t`HHu $H HHHuHHHuH1ƒHcHuHHt%D&CHCC&L;HCIHt ffH{C!Ht HHu1HHMC[&CHCCF&HHCHHtH{%D!Ht HHu1HH%D%CHCxC%H vHCHHtH{C !Ht HHu1HHC%CHCC%HC[þ O#H HHHu fffffHHHuH1 ƒ/HcHuH "H HHHuHHHuH1 ƒnHcHuHS "H :HHHuHHHuH1 ƒHcHuHffffffAWAVAUATUSH8D$ D$ FpH51ɈT$ t:EHcHi8HHPPzuZ tH`D$PvxuD$~oHFPHu%fffHHtxfffu@HHuHFHHD$VHL$LMu)AM6M|$t|$tD$1LcƒBD ~I^{tKE1y}E1AAkKIcH=eLi8IIt9`:NuрE1ۀDnAE1D9kAE1ҀDn E1D^D!D9k FAE1D!D9[AE1D!9CAAur1ҀD!Aub1ҀND!D!DND!D!9KAEDn D!D9KAADF$!D9k AED!D9C$@@΅|, Hi8D, ID:PPt Amp t$mC&Tfff|$fffDSE9tD{Dd$EucD{AAJ{.M6MHl$HuHHt$m|$ H8[]A\A]A^A_Ë{mHtOxt@D$Li8I=I~@萀D, H-DJD-P@뷋{t$1ɺFfffAWIAVLrAUATIUHSHL-BH4$BB BBBBB B$IH':&HHDqt }""#Ho^sffrfffffJIII?H;,$ بtaMzAZD t!}uAD$H[]A\A]A^A_ffffuÀU بxXfffMufSAGv(HMt=A< vDAAwDAɋGwAB$XCQqADFA|$ E1ɅuAl$u ET$EtAAt$E1uE\$ EuEl$$Et ffffAAL$DAƃD!E)AL$EAAE|$AD$<vv<v<t<AD$ AD$H[]A\A]A^A_Ãd("bffffI AD$ A9L$DDu|AD$AL$ AD$FIHI^H!H8LBj}AD$H[]A\A]A^A_û"HAD$AD$IRI|I:9@At$A;t$ 0ET$E;T$$AE1M@D! ; %;<%;4%D;%AD$3I"GE~A^ EFDADAAAA^ E~AAEEFUAA L$AV A IAL9rD}DH4$AV AV HH9rML $AVAVA I AL9rD]DAAV AgA\A^EV EEnDF PE4YEN EAvACoAVCSAA AvEN E^DBEDHL"t)<"uL\ HLuׅCtHzJ(zCL1I8 'L=C1L XC/LLcK(Ht1CL !u͹C1CLj ~LqCH D$HQPHu%LcrB1tD$HHDbEtHcZH[C1HLCH (C`W1H`W1H豤H[]A\A]A^A_HھCL1mL!CH LyML|$u/fffffHt$H;t5HHT$H uHD$HHHT$tHL$LMtH|$LwkH[HHoHtHھCL1IV@L1CAH=LcB:ʾ:CL1QIV`HCL15L(E1HInLbPMu)KMcT$Bu-M$$M.HPEL$EtIct$2tӋEAT$A9}$=t]HlE9}=u9~I;nfffvUHH)AI~pH\$ E1E1HHL""AL`tL,D$ u^fff CVa|HV@]C1AIH H|$PvC1Ht$PV ANAvZA94EuCuCVAt|=ǭuH(V[]A\A]A^A_11먾4CVIVH|$PC1H ՠUAPHt$PVQH(V[]A\A]A^A_IUD$D$1E1zu78L9f$DjAAJzJuE1ɅADL$D$(D$,D$0D$4D$8D$<D$@D$DA^D$ E&H|$PDC1D$$Dd$ \$(7Ht$PV8L$AHT$ I}pHt$PE1E1THt$PV4CVAANA~AF ffffAAXCA~1A~AF 1ۿ1@ff11@jBAvAF F0Av/1AvAF 1nf΃?A~ AF?A~ 3DD$|$D9D¾CH|$P1Ht$PVx1@ dA\_5A~AF ~_A~D$1sA~1_A~AF$>?%Av AF?%Av C@_AvAF _ff!Av1&AvAF$a1AvmffffffAVIAUACATUHSHv@RAvDHASlHsHHUHEDHHHWCIHUHHUHEWCHHHAUH>H; VH8H5UH2H/UH,LHHWCIHoUHpHHHLHEfHHEnLQ4B";XfffHZ6HB+u;X1EHAºWEIEHVAIMcHVHL HHHH1HHILHǺHHL1{HL1H[]A\A]A^AV@C1DDHHH+EbDHHDIHWCHUHHUHWCHHHUHH VHHUHHUHLHeHWCIH1oUH2HHHNLVHEfHHEnLs4B&;XzHHDb4AD`Z6HB+;XbHHDo6ADh>UHu4HHHHDžHH fffffDE9FDBAv@HT$ H RHT$ HHXffHHEAv@H#QHHHvfffffffHl$Ld$Ll$H\$E1HIHu3}tEH$H$L$L$HfffRPuTC1}uHy1HI$1H I$I$HHHǺHHLHHHH:$DD tmBvvEfu.HϮTtHHu?fffHHuE1HL1LO$twwH`1HI$I$HHHI$Hu2H=TA$7fffL1f$wYI$u5I$I$I$IDŽ$I$I$ fffffHl$Ld$H\$Ll$H(>IHtH\$Hl$Ld$Ll$ H(fffMuKqHIt 9LHL Hl$H\$Ld$Ll$ H( VPvTC1ZL랐HHU<Hu0Z<HS<Q<H*<H < !<< <:tfffffHHH;~uD <L;HJH ;HIcMJH9sbz \HHB#ffH9HH;HHBz 0x Hu;H9HHt;HH@z ~ѐMcHKH9s"H< ~gHQH9s< ~WHH9rL9IcJ+;7PHΉ%;LуDHDHu< t5Wfu H:HH:5:C1:ú VV+wDH :=Ǟw:VV vLf:Hcg:D P:L9:=A)J4Ic~R::H :D ,:L:IcJMHH99 HHAOz9Lc9H 9 A 0uAH9CL9ffffAVHAH՝AUAATH9IUS!ffH}LHH)HH9N _vt1ۀÍ ˆu H;u&VH HM1HuD~DDNDF VN^DD^DDV DDN$HDžII9xI,$t}HH>HuEDI8NH}HHH)HH9wS~@  fffHC1}HUXHHgLB4RLH4HEHuDD9N9V D9N D9^AD Ш9VDD9N D9^ AD D9N$@ tjH []A\A]A^HË>ffffffffAWAVAUATIUSHh $T$\H|$`L$XDD$TDʋ$\$P-VHII $DJ uLIJ 0HHHH1DF uH|$`<L@EHHLhtLKLCDHu@@u;LJ\ LH(BDUtHL9wE1HALIHHD$HtM}L0CD~0|$Tl$4~ \$T1\$4A<$u;=Hh[]A\A]A^A_AЋL$TT$\AC1|$T~&=vL濰CtHh1[]A\A]A^A_HL$`HHt.< #D$4x)T$T|$\l$@҉|$DKLD$`ILD$8Dt$TEO\$TA)AE)l$TFL=A)DT$4DL$\E~ D)DvH\$`HT$`HL$8HHP0HH(D$P@~H=3HHl$`HCpDD|$XDDHDH"HL$`HLLkHLD$`LIoxLHHC@H|$HH|$H HCPt;DDHHs@CDHEпC1D$T$Tl$TDl$4D|$\OD$T{Ht$`LHHx4LHHC@UH|$H=1@HL$`HCL I}D+L$@D|$DA$11 LD$4+D$T1CHSLl$`A8tH8uHt$`8oHT$HeHhC[]A\A]A^A_;D$4;D$4HT$`)DiAw6;L$\t;T$XHD$`[D$P  vH|$HtHsPH|$H`XHs@LLDHl$`DD$TDu DT$\D& nLC|$\D1DHs@L$$D|$XDt$T|$D\$4 CD|$ Dt$D\$*D\$\D\$TD9L|$`A@HIcL3L9wfffH !L9vUY1ۃ016A 1AZDDD$E1ۋD$ EA1AE1E AzA1E AZAD E1A1AHA L$DD$ ~DD$E1A1AE1A AzD$ A1E AZAD E1A1AHA L$DL$ D9~*uU>Zffffffff\$HuEDHu 8^R|$H}HHH)HH9~T$L$@  T$^L$LeD,$E,$HuDD$|$DFDT$ ~DV D\$D^DL$DN\$^Dl$DnT$ V l$$n$H8[]A\A]ÀvtE1AB ˆT$RH;uH $XD$H4RH賲H4HEHuDd$D9fDL$ D9N T$\$A9VD 9^AD oT$9VDT$Dl$ DD$$D9V D9n AD D9F$AD ب*A`YDD$E1A1A1A AzD$$E1D AZAAA E1A1ADD$A HDL$$~A_@%ZDD$E1A1AE1A AzA1E DD$ AZAD E1EA1L$AHE D\$ _~A? ZDD$ E1A1AE1A AzA1E D\$AZAD E1EA1L$ AHE DL$?~1`ffffDD$E1A1AE1A AzA1E DD$AZAD E1EA1L$AHE D\$A AL9~@DD$E1A1AE1A AzA1E DD$$AZAD E1EA1L$AHE D\$$D9~Bz@1A`D$E1>1AHA DL$~A_@CDL$1Eɀ>1@HD ω|$_~A? |$ E1>1AHA DD$ ?~1AD$E1>1AHA DT$~DD$E1E>1AHE D\$D9~< $fffDD$E1A1AE1A AzA1E D\$ AZAD E1EA1L$AHE DL$ D9~2D$E1>1AHA D\$D9~ƒ0Jw $ +Di*D1D$L1DD$ E1A1AE1A AzA1E DL$AZAD E1EA1L$ AHE DD$D9~D\$ E1Eۀ>1AHE DL$ D9~#|$E1>1AHA DD$D9~'fffffAWE1AVE1AUE1ATE1USHHHlH$HD$hHD$PfHۉ$H$HD$p赦HD$xHH$tLBw $x-DEAEDMUHHHT$pH+\$xHH9EtH;l$xv 1ۀ} H)E `L$<H;l$xv] tHH;l$xw]tH;l$xtH]IIH0HD~ t H]uIM)#LLCQu?u H]uIM)LLCDc tH]E1u֬HBb?D$gD$<t.|$gHT$hAP.DN%DMLL*DLD1bM9.D|$LD|$hEA|$AADIH\$xHD$@D$HL9skIcE1HL$0IcHT$0HJ,/HƣHt$0H. HtL9s; tHL9s; ffuHD$HG|'L9rD|$HE1E1DxMA|$HcB+AADDx'EuHcB|-!fEAADDyW.DLuAEE1E9D$,D$(D$$T$LD9}(LcL$$K )HcA4 @ACD9|HcD$,DD$J(H1Ҁ;!DD$DD9}Hc\$(J +LcD9A ||$$D\$(ADL$,E9Bt'CT#CL!t$$T$(L$,Z\$LH$D9Hǀ}}@1D9})Hc1HcLL$@LcN(BL!D9FG |HcHt$@1Ht$@H$1ɉAAD$$TD9|H|$@A诠LIŜ蠠H$Ll$XMDd$hLE1D%cHpH#H蠦HuMÀ!!بt t|$gIdH$HHt%EDHDDI4*HHuE9L$EE1L$E,HD$pH|$xt$psHHD$xHEAIHD$hE1EAHt$xh.D1`ZD$YW*$Z^L,M".D1HH|$@ھ.D1蠥$H$H|$PdHIt$PH|$xYL$AdžHĘ.D[]A\A]A^A_ID$gM) զL(HAD}u?u H]uIM)UHH-SH)HHHHXu H[]THHHuH[]fffH\$Ld$Hl$HL%F1H8L)HH9sHAHH9rH$Hl$Ld$HÐUHSHpTHHHtffHHHuH[ÐH详HRead failed in bin_read (%i, -, %i) File Sig=%s Bytes=%d Signals=%d Rows=%d Bits/Row=%d Bits/Row(pad)=%d sigFlags=%x sigOffset=%d sigWidth=%d sigChars=%d sigName=%s Four state tempest not supported. Signal %s will be wrong.Initial phase detected: %d Adjust 1|%d Signal name too long (=%d): Trace may be corrupt. This is Verilator Compressed XOR format.dinotraceBXBTBad File Format (=%s) PhasephaseHave Phase indicationWriting config file %s #Dinotrace 9.3b##### Created %s %sdebug %s AUTOMANUAL%srefreshing %s OFF%sdraw_prefix %s %ssave_enables %s %ssave_ordering %s %ssave_duplicates %s %sclick_to_edge %s %ssignal_height %d %srise_fall_time %d %stime_rep %s %scursor %s %spage_inc %d %sprint_size %%d%sx%d%s+%d%s+%d%s%sstart_geometry %s %sopen_geometry %s %sshrink_geometry %s %stime_format %s %ssignal_states %s { %s %d="%s", %s } #### Value Searches #### -CURSOR-VALUE #### Signal Ordering #### ###set_trace %s %ssignal_delete * %ssignal_add %s %ssignal_radix %s %s %ssignal_note %s "%s" %ssignal_highlight %s %d #### Grids #### ###set_trace %s %sgrid %d %s NORMALWIDE%sgrid_type %d %s %sgrid_signal %d "%s" %sgrid_color %d %d %sgrid_resolution %d %sgrid_align %d #### Trace Format #### %sfile_format %s %svector_separator "%c" %shierarchy_separator "%c" %stime_multiplier %d %stime_precision %s #### Cursors #### %%E, Can't Write File %s Can't write file %sDEASSERTION B EPSLAND EPSPORT In config_update_filenameson line %d of %s Expected ON or OFF switch Grid numbers must be 0 to %d DEBUGPRINTFILE_FORMATSAVE_ENABLESSAVE_ORDERINGSAVE_DUPLICATESTIME_REPTIME_PRECISIONTIME_FORMATTIME_MULTIPLIERHIERARCHY_SEPARATORVECTOR_SEPERATORVECTOR_SEPARATORCLICK_TO_EDGEDRAW_PREFIXREFRESHINGSIGNAL_HEIGHTGRIDGRID_RESOLUTIONGRID_ALIGNGRID_TYPEGRID_SIGNALGRID_COLORRISE_FALL_TIMEPAGE_INCPRINT_SIZESIGNAL_HIGHLIGHTSIGNAL_NOTESIGNAL_RADIXSIGNAL_WAVEFORMSIGNAL_ADDSIGNAL_MOVESIGNAL_RENAMESIGNAL_COPYSIGNAL_DELETESIGNAL_DELETE_CONSTANTVALUE_HIGHLIGHTCURSOR_ADDCURSOR_STEP_FORWARDCURSOR_STEP_BACKWARDTIME_GOTOSIGNAL_GOTOREFRESHANNOTATESTART_GEOMETRYOPEN_GEOMETRYSHRINK_GEOMETRYSIGNAL_STATES-IGNOREXZDIGITALFile_format = %d %xConfig: DTPRINT=0x%x Unknown command '%s' time_format = '%s' time_precision = %f timerep = %f -USER-SIMVIEWpage_inc = %d Signal_height must be 10-50 Config: grid_vis=%d Config: click_to_edge=%d Time_Mult must be > 0 Undefined radix name Page_Inc must be 1, 2, or 4 Config: cursor_vis=%d ANALOGANALOG_SIGNEDConfig: DTDEBUG=%d Reading config file %s Can't open file %s%%E, Can't Open File %s In config_read_defaultsExit config_read_defaults##### Customization Write by %s ##### Customization Write by %s #### Global Personal Preferences #### #### Global Signal States #### %svalue_highlight %s %d "%s" %s %s #### Signal Highlighting, Commenting, etc #### on command # %d from socket %s Double quotes aren't terminated Color numbers must be 0 to %d, NEXT or CURRENT geometry %s = %dx%d+%d+%d %c%c%c%c Over maximum of %d SIGNAL_STATES for signal %s Unexpected EOF during SIGNAL_STATES Signal pattern name must not be null vector_separator = '%c' End='%c' Grid_type must be NORMAL or WIDE Refreshing must be AUTO, or MANUAL Grid_res must be >0, AUTO or EDGE Print_Size must be A, B, EPSLAND, or EPSPORT Grid_align must be >0, ASSERTION, or DEASSERTION, or BOTH File_Format must be DECSIM, TEMPEST, VPD or VERILOG Print must be set ON, OFF, or > 0 Time_Precision must be FS, PS, NS, or US Time_Rep must be FS, PS, NS, US, or CYCLE Signal_Waveform must be ANALOG or DIGITAL *@w@@@@@@@@@@@w@w@w@w@w@w@w@w@w@@w@w@۱@w@w@w@w@w@w@w@ϱ@w@@w@w@w@w@@CThe SimView library is not available, "-simview" should not be used.In cur_highlight_ev - trace=%p x=%d y=%d In cur_note_ev - trace=%p x=%d y=%d In cur_highlight_cb - trace=%p In cur_add_internal - trace=%p Placed by .dino file or Emacs In cur_delete_ev - trace=%p x=%d y=%d In cur_add_ev - trace=%p x=%d y=%d In cur_removeNote for CursorIn cur_note_cb - trace=%p In cur_del_cb - trace=%p In cur_mov_cb - trace=%p val_examine_popup_csr_stringPlaced by simview Placed by Value Search Placed by you %scursor_add %s %d -user "%s"%scursor_add %s %dIn cur_clr_cb.In cur_add - time=%d In cursor_movIn cur_step %d In cur_step_back_cb.In cur_step_fwd_cb.@@@@n@Comment out commandsPersonal display preferencesValue searchesCursorsGridsFile FormatSignal highlights/radix/notesSignal orderingIn cus_write_ok_cb trace=%p In cus_write_cb trace=%p Write Dinotrace FilewaWrite global:trace_pulldownAll Traces & Deletedpdbutton2All Tracespdbutton1This Tracepdbutton0Write foroptions*.dinoIn cus_read_ok_cb trace=%p In cus_read_cb trace=%p Read Dinotrace FiletextnIn cus_ok_cb - trace=%p In cus_apply_cb - trace=%p in cus_restore_cb trace=%p in cus_reread_cb trace=%p Customize Windowcustomize 1 Pagerpage1/2 Page1/4 PagePage IncrementtimeFemtosecondsPicosecondsNanosecondsMicrosecondsGrid #0 CyclesTime represented inSignal HeightsighgtlabelsighgtClick To Edgesclick_to_edgeRise/Fall TimerfwidCursors On/Offcursor_stateDraw common signal prefixrefreshingManual RefreshingIn custom - trace=%p Customize %sIn cus_read_ok_cb Filename=%s When reading a trace, read which .dino files?MbP??@@.A:ShiftosfUp: vscroll_pagedec(0) :ShiftosfDown: vscroll_pageinc(0) :osfUp: vscroll_unitdec(0) :osfDown: vscroll_unitinc(0) :osfPageUp: vscroll_pagedec(0) :osfPageDown: vscroll_pageinc(0) :ShiftosfLeft: hscroll_pagedec(0) :ShiftosfRight: hscroll_pageinc(0) :osfLeft: hscroll_unitdec(0) :osfRight: hscroll_unitinc(0) :osfBeginLine: win_begin(0) :osfEndLine: win_end(0) :Escape: cancel_all_events(0) :a: val_annotate_do(0) :c: cur_add_current(0) :f: sig_search(0) :s: sig_high_current(0) :g: win_goto(0) Ctrlf: sig_search(0) Ctrlo: trace_open(0) Ctrlr: trace_reread_all(0) Shifta: val_annotate(0) Shiftc: cur_add_next(0) Shifts: sig_high_next(0) :F2: val_annotate_do(0) :<: cur_step_back(0) :>: cur_step_fwd(0) : value_examine_popup() -*-Fixed-Medium-R-Normal--*-120-*-*-*-*-*-1-*-Courier-Medium-R-Normal--*-120-*-*-*-*-*-1-*-Fixed-Medium-R-Normal--*-100-*-*-*-*-*-1in create_globals, syncronization is %d Print Signal Info (Screen Only)-*-*-medium-r-*-*-*-*-*-*-*-*-*-*In trace_open_split_window - trace=%p barcolorBarcolorcolor1Color1Whitecolor2Color2Redcolor3Color3ForestGreencolor4Color4color5Color5Magentacolor6Color6Cyancolor7Color7Yellowcolor8Color8Salmoncolor9Color9NavyBluesignalfontSignalFonttimefontTimeFontvaluefontValueFontcancel_all_eventscur_add_currentcur_add_nextcur_step_backcur_step_fwddebug_eventhscroll_pagedechscroll_pageinchscroll_unitdechscroll_unitincsig_high_currentsig_high_nextsig_searchtrace_opentrace_reread_allval_annotateval_annotate_dovalue_examine_popupvscroll_pagedecvscroll_pageincvscroll_unitdecvscroll_unitincwin_beginwin_endwin_gotomseOut of pds menu spaceOut of pdm menu spaceDinotraceCan't open display '%s' HOMEdinotrace.dannowritten.dino/dinotrace.dinoin init_globalsDEBUG_EVENT_CB %p %p In trace_close - trace=%p In trace_exit_cb - trace=%p In clear_trace - trace=%p in set_cursor(%d) iconifyPixmapmainNULL%d = '%s' menumtRead...ReReadC-r!CtrlR:ReRead AllC-o!CtrlO:Open...ClosemsepPrint...ExitCustomizeChange...Grid...Save As...Restore!C:Addmst!ShiftC:CurrCurrentNextS-cOpen ViewMoveDelete>!Shiftgreater:Step Forward<!Shiftless:Step Backwardesc!Escape:CancelSignalAdd...!s:!Shifts:S-sCopyRadix ( = %x, %x, %x Out of pdmsep menu spaceOut of menu spaceWaveformDigitalAnalogAnalog Signedf/C-fF:Search...Select...Clear HighlightKeep HighlightedValue!A:AnnotateS-a!ShiftA:Annotate...!v:!Shiftv:S-vExamineMB2HelpOn VersionOn TraceOn DocumentationBeginGotoRefreshrefreshRes=123456.7 unitsnamescrollFullfullZoomzoomdecresincresworkDebugToggle PrintIntegrity CheckStatisticsIncrease DebugTempDecrease DebugTempNew size: %dx%d+%d+%d Old size: %dx%d+%d+%d Shrink size: %dx%d+%d+%d Q??In draw_vscrollIn draw_hscrollIn draw_update_sigstartDraw done.In draw_perform %d %d In draw_trace, xstart=%d global->res=%f time=%d Draw %d. @AAצAAĥAצAĥAצAͦAȦAæAҦArAæArAæA%%W, No data for signal %s Additional messages suppressed In fil_format_option_cb trace=%p In fil_read trace=%p filename=%s Can't create pipe with command '%s'Can't unzip/uncompress VPD traces.In trace_reread_cb - rereading file=%s file has not changed, but rereading anyways.In fil_trace_endfil_trace_end: DoneIn free_data - trace=%p [%d][%d:%d]In fil_make_bussesin help_doc_cbDinotrace DocumentationinfoFile Format: %s File Modified Date: %s File Creation Date: %s Times stored to nearest: %s No trace is loaded. in help_trace_cbin help_cbUnknown file format!! fil_read done!gunzip -c %suncompress -c %svpd2vcd %s 2>/dev/nullPiping: %s In fil_ok_cb trace=%p In fil_ok_cb Filename=%s filename=%s In trace_read_cb - trace=%p Open Trace FilefmtradpdbuttonformatPreserve Signal Orderingsave_ordering file has not changed.0A0AA0A0AAA A AlAAA$A|AIn grid_customize_sensitives_cbIn grid_customize_option_cb - trace=%p Done grid_customize_option_cb - trace=%p In grid_customize_widget_updateIn grid_customize_cb - trace=%p grid rises=%d,%d, falls=%d,%d, period=%d, align=%d grid autoset signal %s align=%d %d In grid_customize_ok_cb - trace=%p In grid_customize_apply_cb - trace=%p In grid_customize_align_cb - trace=%p In grid_customize_resize_cb - trace=%p ColorGrid CustomizationmasterFormcformGrid #%dVisiblevisnWide Linewidelnautoperiod_pulldownManual PeriodicAuto PeriodicAuto Edges Onlyautoalign_pulldownManual EdgeAssertion EdgeDeassertion EdgeBoth EdgesSet AlignmentalignGrid #%d at Time Every val_examine_popup_grid_stringSynced to starting at phase_countIn grid_calc_autoIn grid_align_chooseIn grid_reset_cb - trace=%p In print_range_sensitives_cbtime_pulldownWindow Left EdgeTrace BeginningFirst CursorEntered TimeWindow Right EdgeLast CursorTrace EndPrint Screen MenuprintFile NamenotetextPage SizesmlsizeA-SizedsizeaB-SizedsizebEPS PortraitsizeepEPS LandscapesizeelsizeoInclude off-screen signalsall_signalsBegin Printing at:End Printing at:In print_screen - trace=%p In print_internal - trace=%p %%!PS-Adobe-1.0 %%%%Title: %s Encapsulated %%%%Creator: %s %sPostscript %%%%CreationDate: %s %%%%Pages: %d %%%%BoundingBox: 0 0 792 569 %%%%BoundingBox: 0 0 569 792 %%%%EndComments %d %d %d %d %d %d PAGESCALE XSCALESET %% Beginning of page %d - %d Page %d-%dEPSPHDREPSLHDRPAGEHDR(%.*s) (%-*s) SIGNAME %d () (%-*s)%d %d %d %d START_SIG %d S%cstroke Page %d %%Trailer %%EOF SIGMARGIN save STROKE (%s) (%s) SN%d %f S%c (%s) SVNull filenameBad Filename: %s stroke restore [1 3] 0 setdash %d (%s) GRID stroke showpage %d %d %d START_GRID %d (%s) CSR%c %d %d %d (%s) CURSOR_DELTA In print_req_cb - trace=%p dinotrace.psIn print_reset - trace=%pIn print_create_range - trace=%p (%s-%s %s) (%d %s/page) (%s) (%s) (%s) (%s) (%s) %s In print_draw - filename=%s, printtime=%d sig=%s In print_drawsig - filename=%s BBBBP BBP BB~BuBcBlB BcB BcBIn sig_note_selectedIn sig_waveform_selectedIn sig_radix_selectedIn sig_highlight_selected Number of signals = %d In print_sig_names=lastMatched %s %d %p == %s %d %p In sig_replicate - trace=%p inenINENcosCOSDone sig_modify_enablesPreserve: Deleting signalsPreserve: Match donePreserve: Please delete %s Preserve: Copy/move to otherPreserve: %s NULLPTRPreserve: %d Preserve: RelinkingPreserve: Inserting leftoversPreserve: DonePreserve: OrderingPreserve: %d %s In sig_delete_selected %d %d In sig_update_searchUnexpected null signal In sig_select_cb - trace=%p Select Signal Requesterselect OK okApplyapplyAdd Signal Patternlabel2dpatAdd Allaalllabel1add_sigs_formadd_sigsDelete Signal Patternlabel4apatSort WholenamedconSort BasenamedconxzDelete ConstantsDelete Const or X/ZDelete Alldalllabel3In sig_radix_ev - trace=%p In sig_copy_ev - trace=%p In sig_move_ev - trace=%p In sig_note_ev - trace=%p Note for In sig_delete_ev - trace=%p In sig_add_ev - trace=%p In sig_search_cb - trace=%p Signal Search RequesterSigtogglenIn sig_note_cb %p In sig_del_cb - trace=%p In sig_copy_cb - trace=%p In sig_mov_cb - trace=%p In sig_cancel_cb - trace=%p In sig_add_sel_cb - trace=%p Signal SelectSelect Signal than LocationIn sig_add_cb - trace=%p Radix: %s Type %d Blocks %ld Bits %d Index %d - %d val_examine_popup_sig_string Copy-of %s In sig_sel_sort - trace=%p Sig '%s' ty=%d index=%d-%d, btyp=%x bpos=%d bcode=%d bits=%d copy=%s %%E, Backward link is to '%p' not '%p' In sig_add_to_queue - trace=%p loc=%p%s In sig_remove_from_queue - trace=%p sig %p In sig_cross_preserve - trace=%p sig_modify_en_signal, can't combine different sizes of %s and %s!!! sig_modify_en_signal %s + %s -> %s In sig_cross_restore - trace=%p Preserve: Please move-to-other %s Preserve: Please copy-to-other %s Preserve: %d new %s del%d lk %s nxt %s Preserve: Please cp/mv-to-new %s In sig_goto_pattern - trace=%p pat='%s' In sig_copy_pattern - aft='%s' In sig_move_selected aft='%s' In sig_sel_del_list_cb - trace=%p In sig_sel_add_list_cb - trace=%p In sig_sel_del_const_cb - trace=%p In sig_sel_del_all_cb - trace=%p In sig_sel_add_all_cb - trace=%p In sig_highlight_keep_cb - trace=%p In sig_highlight_clear_cb - trace=%p Select a signal to add it to the displayed signals.Select a signal to delete it from the displayed signals.In sig_sel_apply_cb - trace=%p In sig_waveform_ev - trace=%p In sig_highlight_ev - trace=%p In sig_search_ok_cb - trace=%p In sig_rename_selected new='%s' Search value, *? are wildcardsIn sig_search_apply_cb - trace=%p In sig_highlight_cb - trace=%p In sig_waveform_digital_cb - trace=%p sub=%d In sig_radix_cb - trace=%p radixnum=%d File_type %x File_Pos %d-%d Mask %08x Value_mask %08x %08x %08x %08x Acyclesfsus%0.0f%0.01f%f%0.06f%0.03f - %10d Signals %10d %3d%% Size <=%d bits %10d Cptrs Alloced %10d %3d%% Cptrs Used %10d %3d%% State %d %10d %3d%% Allhigh New DebugTemp = %d At end of trace...At beginning of trace...%s at time %d %s at EOT F32 Z U 1 0 Signal %s, cptr %p bptr %p DefaultscancelIn unmanage_cbIllegal Value.DINODISKerrorDinotrace MessageIn dino_message_ack msg=%s warningError - bad type %d Value %d out of rangeIn prompt_ok_cb type=%d ư>Y@%10d %3d%% Signals, not a copy In update_scrollbar - Val %d Inc %d mn %d MX %d sz %d %p: %08x T:%08d %s %08x %08x %08x %08x %%E, %s, Bad deleted flag on %s! %%E, %s, Bad backward link on signal %s %%E, %s, Reverse time change at signal %s time %d %s, Backward pointer should be NULL on signal %s %%E, %s, size field messed up, infinite loop, signal %s time %d %%E, %s, Doesn't end at right time, signal %s time %d %%E, %s, Last signal pointer, %p!=%p %%E, %s, Numsigs is wrong, %d!=%d %%E, %s, Numsigstart is wrong, %d!=%d %%E, %s, size != prev size, signal %s time %d %%E, %s, Never found display starting point In get_data trace=%p string=%s type=%d In get_geometry: x=%d y=%d width=%d height=%d widget_to_trace failed lookup.There are up to %d signals currently visible. Which signal do you wish to view [0-%d]: In remove_all_events - trace=%p In cancel_all_events - trace=%p Printing now %d In win_resize_cb - trace=%p In win_expose_cb - trace=%p new goto_color=%d In win_goto_ok_cb - trace=%p PlaceNoneIn win_end_cb trace=%p In win_begin_cb trace=%p new time=%d In win_goto_cb - trace=%p Goto TimePlace Cursor:Cursor Notein win_noteNote ChangeIn win_note_ok_cb - trace=%p Res=%s %sIn new_res - res = %f click1 = %d, click2 = %d In win_dec_res_cb - trace=%p In win_inc_res_cb - trace=%p ResolutionIn win_chg_res_cb - trace=%p In vscroll_drag trace=%p In win_refresh_cb - trace=%p in vscroll_new inc=%d start=%d In win_goto_cancel_cb - trace=%p In win_note_cancel_cb - trace=%p In win_goto_option_cb - trace=%p In hscroll_pagedec - trace=%p old_time=%d pageinc=%dIn hscroll_pageinc - trace=%p old_time=%dIn win_zoom_res_cb - trace=%p In res_zoom_click1_ev - trace=%p x=%d y=%d b=%d In win_full_res_cb - trace=%p In win_namescroll_change trace=%p In hscroll_unitdec - trace=%p old_time=%dIn hscroll_unitinc - trace=%p old_time=%d??STATE_0STATE_1STATE_USTATE_ZSTATE_B32STATE_F32STATE_B128STATE_F128Annotate MenutogglenctogglencdInclude which signal colors:Include signals from:bad radix%010dIn val_examine_cb - trace=%p In val_states_updateHexOctal'o'bDecimal'dReal'rIn val_update_search%g(setq dinotrace-traces '( ["%s" "%s"] )) (setq dinotrace-cursors [ ["%s" %d "%s" nil ]) ["" %d "%s"] [%d "%s" nil] nil ("%s" ["%s" ) nil]) In val_search_cb - trace=%p Value Search Requesterlabel5Signal Wildcardlabel6cursorntexts Value at EOT: Value at times 'h[%02d]=%c [%01d]=%c [%03d]=%c 01uz time = %d, signal = %s State = %s Odd Parity Even Parity Value_stbits %08x %s [%d:0] = Negedge # %d Posedge # %d No information hereexaminepopuprowcolpopuplabelIn val_annotate_cb - trace=%p Include which user (solid) cursor colors:Include which auto (dotted) cursor colors:In val_highlight_cb - trace=%p (setq dinotrace-program-version "%s") (setq dinotrace-socket-name nil) (setq dinotrace-hierarchy-separator "%c") (setq dinotrace-value-searches '( (setq dinotrace-signal-colors [ In val_annotate_cb - trace=%p file=%s (setq dinotrace-socket-name "%s") (setq dinotrace-signal-values '( In val_highlight_ev - trace=%p Search value, Hex default, 'd=decimal, 'b=binarySearch %d) %d %s '%s' -> '%s' In val_search_ok_cb - trace=%p In val_search_apply_cb - trace=%p In val_examine_popup %d %d time %d In val_examine_ev, button=%d state=%d In val_examine_popup_ev, button=%d state=%d ?@$C$CW$C#Cl#C C C'C'CH)C?)C'C'C'C'Cw'Ca'C&C&C~'CO'C<'C&CLCLC!ICLCLCLCLCkLCJCLCXJCbJCCMC.MCMCLCGot line %d '%s' EOFEntered: Dropping huge memory %s Dropping null signal name bussed %s upscopeversioncomment$endreal[-1]reg/wirevar %s %d %s %s timescaleenddefinitionsadded scope, %d='%s' timescale=%f StillDup %s %s POS array: %p %s %ld * ( %g / %g ) Includes %d %d %s sig_new_file (%s, %d, (%d)%d-%d ) donefile (%s %s, %d, (%d)%d-%d ) '%s'%d:/#%d/p%d/c%d '%s'%d:/#%d/p%d/c%d Too many scope levels on line %d of %s %%E, Too many scope levels on verilog line %d Unknown command '%s' on line %d of %s %%E, Unknown command '%s' on verilog line %d Unknown time scale unit '%c' on line %d of %s Negative bit count on line %d of %s Timescale of trace may be too big.Reassigning signals to pos array.%%E, Unknown line character in verilog trace '%c' on line %d of %s Time has wrapped dinotrace's integer size. Try increasing Timescale.Time out %d Time in %lu TS %g TD %g Time %d start %d first %d got %d %%E, Strange bit value %c on line %d of %s In verilog_read_data (max_bits = %d) %%E, Unknown '%s' %%E, Signal too wide on line %d of %s %%E, Unknown '%s' on line %d of %s Bad file format, string length off on line %d, %d %d Bad file reading, verilog bus length off on line %d, %d %d mCkCkCkCkCkCkC*mC mCkClCkCkCnmCkCXmCrCpCpCpCpCpCpCpCpCpCpCpCpCpCpCpCpCpCpCpCpCpCpCpCpCrCrCpCpCpCpCpCpCpCpCpCpCpCrCrCpCpCpCpCpCpCpCpCpCpCpCpCpCpCpCpCpCpCxCpCpCpCpCpCpCpCpCpCpCpCpCpCpCpCpCpCpCpCrCpCqCpCpCpCpCpCpCpCtCpCpCpCpCpCpCpCpCpCpCpCpCpCpCpCvCpCpCpCpCpCrCpCqC;|C1}C}C|C2|C|C|C{CIn socket_createfcntlbindsocketlistengetsocknameIn socket_accept_cb %d. No work, returning.socket_input_cb readEnd of stream fd %d Socket %d Command: '%s' SIG HUPListening fd %d on %s %d (%s %d). Dinotrace: could not bind to port. Dinotrace: could not get socket. Accepted Connection from %s %d, new fd %d. KeyPressKeyReleaseButtonPressButtonReleaseMotionNotifyEnterNotifyLeaveNotifyFocusInFocusOutKeymapNotifyGraphicsExposeNoExposeVisibilityNotifyCreateNotifyDestroyNotifyUnmapNotifyMapNotifyMapRequestReparentNotifyConfigureNotifyConfigureRequestGravityNotifyResizeRequestCirculateNotifyCirculateRequestPropertyNotifySelectionClearSelectionRequestSelectionNotifyColormapNotifyClientMessageMappingNotifyLASTEventAuto?*.*DECSIMTRA*.tra*Tempest CCLI*.bt*Verilog VCDDMP*.vcd*Verilog VPD+VPD*.vpd*DECSIM BinaryDECSIM AsciiMon Mar 13 13:04:17 EST 2006Fri Jun 10 11:46:08 2005/current/trace/directory/~/$DINOCONFIG$DINODISK/ %s Switches:debugtempestdecsimdecsim_zverilogsyncgeometrynoconfigsimviewInvalid %s Option: %s %s Distributed %s Configured %s for %s Written by Wilson Snyder or Copyright 1998-2006 by Wilson Snyder Copyright 1993-1997 by Digital Equipment Corporation. This software is covered by the GNU Public License, and is WITHOUT ANY WARRANTY. Please see the help menu or %sdinotrace.txt for documentation. A complete Dinotrace kit is available on: http://www.veripool.com/dinotrace For configuration information, Dinotrace reads in order: %sdinotrace.dino %s %sdinotrace.dino %sdinotrace.dino %sCURRENT_TRACE_NAME.dino %s Distributed %s Configured %s for %s DINOTRACE [-switches...] [trace_name] [trace_name] ... Format: -decsim Read traces in DECSIM format. -tempest Read traces in Tempest format. -verilog Read traces in Verilog format. Config: -noconfig Skip reading global config files. X-11: -geometry XxY+x+y Specify starting geometry. -display Specify display device. Error: -simview requires a second argument.%%E, Unknown state character '%c' at line %d Line:%s Header has %ld lines, Signals run from char %ld to %ld. %s format CCbCbCbCbCbCbCbCbCbCbCbCbCbCCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCCbCbCCbCvCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCCbCbCCbCvCCDCCCDCCCCCCCCCCCCCCCCCCCCTCC-CChango! MakeDinoHeaderHeader = '%s' No data in trace file%%E, Time underflow! SIG %ddecsim_read_ascii done; < 'D <.t . . < = >< B| G H K4 lt ܹ \ \ , D \ Lt \ l | $|Ddl L<dL$L$\?t$O$O$\P$P$|Q%LR<%Td%lU%W%Z%[&l\4&ad& c&|c&c&Ld'd$'LeL'et'f' g'g'g (h4(,k\(l(m(|p(p(p)p)rT)rl)|s)s)lt)v)Lw)lx*x,*xD*@>@&>@6>@F>@V>@f>@v>@>@>@>@>@>@>@>@>@?@?@&?@6?@F?@V?@f?@v?@?@?@?@?@?@?@?@?@@@@@&@@6@@F@@V@@f@@v@@@@@@@@@@@@@@@@@@A@A@&A@6A@FA@VA@fA@vA@A@A@A@A@A@A@A@A@B@B@&B@6B@FB@VB@fB@vB@B@B@B@B@B@B@B@B@C@C@&C@6C@FC@VC@fC@vC@C@C@C@C@C@C@C@C@D@D@&D@6D@FD@VD@fD@vD@D@D@D@D@D@D@D@D@E@E@&E@6E@FE@VE@fE@vE@E@E@E@E@E@E@E@E@F@F@&F@6F@FF@VF@fF@vF@F@F@pTCHC]CzCCCCCC8CCCCEVxV CCEV0VCC$CEV8V+C/C6CEV@V=CICPCEVHVCWC^CEVPVeCmCtCEVXV{CCCEV`VCCCEVhVCCCEVpVCC̾CEVVȼC׾CCEVVCCCEVV(CCPBC@Cp@,CA,CA:C0AGC2ASCBcC@BsCCCCCBCpBC0BCpAȿC`AٿCPCC*CCVC C@BCB*CB:CBJCBTCB\CBThis file documents the Dinotrace package for viewing signal waveforms. Copyright 1998-2006 by Wilson Snyder. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the author. This file documents the Dinotrace package for signal waveform tracing. This is edition 9.3b, for Dinotrace version 9.3b. For the latest version, please see `http://www.veripool.com/dinotrace' Please feel free to send comments and suggestions to or . If you install this tool, please also send mail so that I can inform you of new releases. 1 Summary ********* Dinotrace is a tool designed to aid in viewing Verilog Value Change Dump, ASCII, Verilator, Tempest CCLI, COSMOS, Chango and Decsim Binary simulation traces. It is optimized for rapid design debugging using X-Windows Mosaic. A special interface allows signal information to be annotated into source code using Emacs. Please see the file `INSTALL' in the distribution directory for installation instructions. 1.1 Copying =========== Dinotrace is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. Dinotrace is distributed in the hope that it will be useful, but *without any warranty*; without even the implied warranty of *merchantability* or *fitness for a particular purpose*. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Dinotrace; see the file `COPYING'. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 2 History ********* Dinotrace was conceived in the early 1980's by Allen Gallotta at Digital Equipment Corporation, who wrote the code and supported it through version 4.2. When created, it was the first graphical display tool for the simulators being designed at Digital. In 1992 I joined Digital Semiconductor (a division of Digital Equipment Corporation) and took over the support of Dinotrace. I converted it from Digital's X toolkit to Motif, added color, highlighting, searching, and other features. Several formats were added to Dinotrace to support Verilator, our group's own Verilog to C translator, written by Paul Wasson. As the years went on, other groups started using the typical industry standard Verilog simulators. Although programs like vwaves were available, they had some silly limitations. Besides, we were hooked on Dinotrace, so I added Verilog format, and Dinotrace lived on. In 1998 I moved to Maker Communications, where I am currently employed. Life, however, was sad and incomplete without Dinotrace. Through the efforts of existing DECies, mainly Duane Galbi, Digital graciously agreed to release the source code. (Subject to the code not being resold, which is compatible with the GNU Public License.) Still at Maker Communications, life is now complete as Dinotrace can be shared by all. This release is based upon the Digital version, with many enhancements, most notably portability improvements and true 4-state signal support. 2.1 Contributors ================ Many people have provided ideas and other assistance with Dinotrace. The major corporate sponsors of Dinotrace, by providing funds or equipment grants, are Compaq Corporation, Digital Equipment Corporation, Intel Corporation, and Maker Communications. The people who have contributed code or other major functionality are Allen Gallotta, Steve Hoover, Nathan Hughes, and Craig Ziegler. Some of the people who have provided ideas and feedback for Dinotrace include Edward Arthur, Sally Barry, Josh Belkin, Yifat Ben-Shachar, Lee Bradshaw, Rachel Berman, Sass Berman, Mike Blake, Serge Bogdanov, Ronen Boneh, Gregg Bouchard, Derek Bosch, Bill Bruce, Lauren Carlson, Paul Chan, Ta-Chung Chang, David Chen, Dave Colson, Derrick Dacosta, Erik Debriae, Paul Dormitzer, Duane Galbi, Allen Gallotta, Steve Glaser, Mike Goulet, Larry Gust, Larry Herman, Dave Horan, Steve Hoover, Nathan Hughes, Tom Hunt, Tracey Jones, Mike Kagen, Dan Katz, Sol Katzman, Steve Kolecki, Steve Lang, Charlie Lind, Greg Loxtercamp, Dan Lussier, Ben Marshall, Bob McNamara, Harunobu Miyashita, John Murphy, Aki Niimura, Lisa Noack, Mitch Norcross, Michael Quadri, Reinhard Schumann, Simcha, Jai Singh, Dean Sovie, Julie Staraitis, Dominik Strasser, Bob Walsh, Paul Wasson, Steve Wilson, Bob Yodlowski, and Craig Ziegler. 3 Invoking Dinotrace ******************** Dinotrace accepts switches and filenames on the command line. Any filenames on the command line will be read in before Dinotrace gives control to the user. Dinotrace accepts switches with leading `-', and everything else is a trace filename. Filenames are in standard Unix format, with a optional `.gz' or `.Z' extension to indicate the trace should be piped before opening through *gunzip* or *uncompress* respectively. These switches are supported, in addition to the standard *X-11* switches, like `-display'. `-verilog' Read following trace filenames using Verilog format. This is the default format. `-vpd' Read following trace filenames using Verilog Plus Dump format. `-decsim' Read following trace filenames using Decsim format. If running on a VMS system, Decsim Binary format is also supported. `-tempest' Read following trace filenames using Tempest/CCLI format. `-noconfig' Skip reading the standard global, user, and directory .dino files. Do read any trace-specific .dino files. `-geometry GEOMETRY' Specifies the window size and position in standard X format (WIDTHXHEIGHT+XPOS+YPOS). `-res RESOLUTION' Specify the trace resolution. 4 Screen Description ******************** This chapter describes the layout of the screen, and the function of the various widget and menu items. 4.1 Window Widgets ================== The main window is broken into the display area, with signal names on the left and values stretching to the vertical scroll bar. The state of each signal across time is indicated by the way the line is drawn. As usual, low, tristate, and high are low, middle, and high strait lines. The high value has a bolder line to aid in discriminating it from a low. Unknowns are filled areas. Busses are drawn in one of four ways; if zero they are low, if all bits are one it it is two parallel lines with the upper one bolded. If the bus is some mix of zeros and ones it is two narrow parallel lines. If there is space the value of the bus will be shown based on the `Signal Radix' menu option. Finally, the `Signal Waveform' allows analog waveforms, or signed waveforms (two's complement with 0 making a centered trace.) Gadgets surround the main area. The vertical scroll bar on the right is the _Signal Slider_ used to scroll signals, if they all cannot fit on the screen at once. At the bottom of the screen is the _Time Slider_ on the right, and the _Name Slider_ on the left. 4.1.1 Time Slider ----------------- On the left bottom of the main window is the _Time Slider_. _Drag_ Dragging the _Time Slider_ will scroll the time across the screen. Lines are printed in the scroll area to indicate where cursors are located. _Unit Dec_ Clicking the <- arrow at the left of the _Time Slider_, or pressing `' will move the time one grid #0 (or the first visible grid) resolution earlier. _Unit Inc_ Clicking the -> arrow at the right of the _Time Slider_, or pressing `' will move the time one grid #0 resolution (usually one clock) later. _Page Dec_ Clicking the blank area at the left of the _Time Slider_, or pressing `S-' will move the time one screen width earlier, so the time at the left of the screen is now at the right. (Or 1/2 or 1/4 screen width, depending on the `page_inc' customization setting.) _Page Inc_ Clicking the blank area at the right of the _Time Slider_, or pressing `S-' will move the time one screen width later, so the time at the right of the screen is now at the left. (Or 1/2 or 1/4 screen width, depending on the `page_inc' customization setting.) 4.1.2 Name Slider ----------------- The _Name Slider_ is the horizontal scroll bar left of the _Time Slider_. _Drag_ Dragging the _Name Slider_ will scroll the signal names left and right so that they may be completely seen. Dinotrace aligns the signals on the last dot (hierarchy character). 4.1.3 Signal Slider ------------------- The _Signal Slider_ is the vertical scroll bar to the right of the window. _Drag_ Dragging the _Signal Slider_ will scroll the signals so that new signals can be seen. Lines are printed in the scroll area to indicate where highlighted signals are located. _Unit Dec_ Clicking the <- arrow at the top of the _Signal Slider_, or pressing `' will move the signals down one, displaying a new signal at the top. _Unit Inc_ Clicking the -> arrow at the bottom of the _Signal Slider_, or pressing `' will move the Moves signals up one, displaying a new signal at the bottom. _Page Dec_ Clicking the blank area above the _Signal Slider_, or pressing `' will move the signals up one screen full, so the previous top signal is now at the bottom. _Page Inc_ Clicking the blank area below the _Signal Slider_, or pressing `' will move the signals down one screen full, so the previous bottom signal is now at the top. 4.1.4 Buttons ------------- The buttons below the lower sliders perform common functions that affect the display. _Begin_ Clicking the _Begin_ button below the _Time Slider_, or pressing `' will move to the earliest time in the trace. _End_ Clicking the _End_ button below the _Time Slider_, or pressing `' will move to the earliest time in the trace. _Goto_ Clicking the _Goto_ button below the _Time Slider_, or pressing `g' will make a popup that prompts for a time. The window will scroll horizontally so that the entered time is centered on the screen. A option menu will place a cursor of the selected color at the time entered. A note may be attached to the cursor, and seen with `Value Examine'. _Refresh_ Clicking the _Refresh_ button below the scroll bar will refresh the screen. Normally this is automatic. When using Dinotrace over slow links, it may be desirable to refresh manually, *Note refreshing::. _Resolution_ Clicking the _Resolution_ number button at the middle bottom will make a popup that can change the resolution to the number specified. _Inc Res_ Clicking the arrow button to the right of the _Resolution_ button expands the trace so the same amount of time takes more space. _Dec Res_ Clicking the arrow button to the left of the _Resolution_ button expands the trace so the same amount of time takes less space. _Zoom_ Clicking the _Zoom_ button, then clicking `' on two times expands the trace so that the time between the clicks occupies the entire screen. _Full_ Clicking the _Full_ button shrinks the resolution so that the entire trace fits onto the screen. It is often quicker to press _Full_ then zoom to the desired location rather then scrolling. 4.2 Trace Menu ============== 4.2.1 Trace Read... ------------------- Selecting the `Trace Read...' menu option, or pressing `C-o' pops up a file requester to read a trace. If a file ends in a `.Z' or `.gz' extension, it will be piped through uncompress or gunzip respectively before being read. The type of trace may be set with the option box; the default is set by the `file_format' configuration command. If _Preserve Signal Ordering_ is checked, the signals in the new trace will be reorganized to attempt to match the ordering of the current trace in the window. 4.2.2 Trace ReRead ------------------ Selecting `Trace ReRead' checks if there is a new version of the file currently begin displayed and reads it. The file will only be read if a new one exists. If no file is displayed, it is the same as the `Trace Read' option. This is useful for rereading a trace after it has changed due to a new simulation run. 4.2.3 Trace ReRead All ---------------------- Selecting `Trace ReRead All', or pressing `C-r', checks every window to see if that window's file has been updated, and rereads if it has. 4.2.4 Trace Open... ------------------- Selecting `Trace Open...' shrinks the current window in half, and opens another Dinotrace window, linked in time to the original. The two traces will then pan together and share cursors, etc. Multiple window support is intended for traces that have the same time lengths. See *Note open_geometry:: for how to change the default window sizes, such as to not shrink the original window when opening. 4.2.5 Trace Close ----------------- Selecting `Trace Close' closes the current window if more then one is open. If this is the only one remaining open, use `Trace Exit' instead. 4.2.6 Trace Clear ----------------- Selecting `Trace Clear' closes all other windows and resets Dinotrace as if Dinotrace was exited and ran again. 4.2.7 Trace Print... -------------------- Selecting `Trace Print...' pops up a file requester allowing the current screen to be printed to a file. The amount of time, and number of signals on the screen will match the time and signals put onto one page of paper. The _Filename_ and _Note_ specify where to put the output, and a note to be placed on the bottom of each page. The _Layout_ option selects the size of the page. _EPS_ will make a Encapsulated Postscript file that does not include all of the headers. This is suitable for making figures for inclusion in other documents. The _Include off-screen times_ button will print multiple "horizontal" pages of paper, so that all times in the trace is printed. The _Include off-screen signals_ button will print multiple "vertical" pages, so that all signals are printed. Both may be checked and taped together to get a nice wall hanging. The _Begin printing at_ and _End printing at_ select the region to be printed. This may be based on the whole trace, what is displayed on the screen, or the cursors. 4.2.8 Trace Print ----------------- Selecting `Trace Print' performs a print using the last `Trace Print...' settings. 4.2.9 Trace Exit ---------------- Selecting `Trace Exit' will exit Dinotrace. 4.3 Customize Menu ================== 4.3.1 Customize Change... ------------------------- Selecting `Customize Change' pops up a requester that allows the configuration to be customized. See *Note Customization Files:: for permanent configuration, and additional options that are not selectable here. The _Page Increment_ option selects how much of a screen clicking on the _Page Inc_ space on the _Time Slider_ will increment. The _Time Representation_ option selects how times are displayed and entered in the _Goto_ popup. Selecting _Grid #0 Cycles_ will put all times in the period defined by Grid #0. The _Signal Height_ option controls how many signals can fit on the screen and printout. Small sizes have more information, but may cause the values to be hard to read. The _Click To Edge_ button enables `Cursor Add' and other menu items that require mouse clicks to find the closest transition and add it at that point. The search will be only within 20 pixels; if there is no edge within that distance, the cursor is added right where the cursor is. The _Rise/Fall Time_ slider controls how fast signals transition. Thw _Draw Prefix_ enables displaying the entire signal name, instead of the default where a prefix common to every signal in the design is not shown. Thw _Manual Refreshing_ button disables automatic refreshing, for dialup lines. The _Refresh_ button must be pressed to refresh the screen. 4.3.2 Customize Grid... ----------------------- Selecting `Customize Grid' pops up a requester that allows the configuration to be customized. See *Note Customization Files:: for permanent configuration. Note that the lowest numbered grid that is visible is used for moving one increment, stepping cursors forward and back, and for counting cycles. 4.3.3 Customize Read... ----------------------- Selecting `Customize Read' pops up a requester that reads the specified `.dino' file. The requester also allows enabling and disabling of which `.dino' files will be read when a new trace is read. 4.3.4 Customize ReRead ---------------------- Selecting `Customize ReRead' will reread the customize `.dino' files. This is useful for applying changes to Dinotrace after a `.dino' file has been edited outside Dinotrace. 4.3.5 Customize Save As... -------------------------- Selecting `Customize Save As...' will create a popup. A filename may then be entered to save the current customization settings. Buttons allow different portions of the configuration to be written. Note that many of the settings that will be saved can be applied only to one window, and should be edited out before being included in any global `dinotrace.dino' files. 4.3.6 Customize Restore ----------------------- Selecting `Customize Restore' will restore the customization options to their program defaults. It will not read any `.dino' files. 4.4 Cursor Menu =============== 4.4.1 Cursor Add ---------------- Selecting `Cursor Add', or pressing `c', then clicking `' will insert cursors at the clicked on times. The `Next' color button, or pressing `C' will select the next color down in the menu from the last color selected. See *Note cursor_add:: for the equivalent configuration file command. 4.4.2 Cursor Highlight ---------------------- Selecting `Cursor Delete' then clicking `' on cursors will change the color of those cursors. 4.4.3 Cursor Move ----------------- Selecting `Cursor Move' then Dragging `' on a cursor will move that cursor. Press and hold mouse button one and release when the cursor is at the new time desired. Moving a cursor that was created with `Signal Search' will make that cursor permanent; the cursor will not go away if the search is changed. 4.4.4 Cursor Delete ------------------- Selecting `Cursor Delete' then clicking `' on cursors will delete those cursors. To delete cursors that were created by `Value Search' (those with dotted lines), turn off the second button on the `Value Search' requester. 4.4.5 Cursor Note ----------------- Selecting `Cursor Note' then clicking `' on a cursor will pop up a dialog box to change the note attached to that cursor. 4.4.6 Cursor Step Forward ------------------------- Selecting `Cursor Step Forward' or pressing `>' will move all user cursors forward the by grid #0's (or the first visible grid's) period. 4.4.7 Cursor Step Backward -------------------------- Selecting `Cursor Step Back' or pressing `<' will move all user cursors backward the by grid #0's (or the first visible grid's) period. 4.4.8 Cursor Clear ------------------ Selecting `Cursor Clear' will delete all cursors. 4.4.9 Cursor Cancel ------------------- Selecting `Cursor Cancel', or pressing `' will stop `' mouse clicks from having any affect. 4.5 Signal Menu =============== 4.5.1 Signal Add... ------------------- Selecting `Signal Add' will pop up a popup allowing a signal to be selected then added at the point where `' is clicked. See *Note signal_add:: for the equivalent configuration file command. 4.5.2 Signal Highlight ---------------------- Selecting `Signal Highlight', or pressing `s', then clicking `' on signals changes the color of those signals. See *Note signal_highlight:: for the equivalent configuration file command. 4.5.3 Signal Move ----------------- Selecting `Signal Move' then clicking `' on a signal and clicking `' again on a new position moves a signal. Signals may be moved between traces, but closing a trace eliminates all signals that were originally from that trace. See *Note signal_move:: for the equivalent configuration file command. 4.5.4 Signal Copy ----------------- Selecting `Signal Copy' then clicking `' on a signal and clicking `' again on a new position copies a signal. Signals may be copied between traces, but closing a trace eliminates all signals that were originally from that trace. See *Note signal_copy:: for the equivalent configuration file command. 4.5.5 Signal Delete ------------------- Selecting `Signal Delete' then clicking `' on signals deletes those signals. `Signal Select' may be used to recover the deleted signals. See *Note signal_delete:: for the equivalent configuration file command. 4.5.6 Signal Note ----------------- Selecting `Signal Note' then clicking `' on a signal will pop up a dialog box to change the note attached to that signal. 4.5.7 Signal Radix ------------------ Selecting `Signal Radix' then clicking `' on signals changes the radix of the signals to the one selected. Note that the `real' radix is detected for Verilog automatically, and changing other non-real signals to a real format probably won't display the values you wish. See *Note signal_radix:: for the equivalent configuration file command. 4.5.8 Signal Waveform --------------------- Selecting `Signal Waveform' then clicking `' on signals changes the signal to be displayed as either analog or digital. See *Note signal_waveform:: for the equivalent configuration file command. 4.5.9 Signal Search... ---------------------- Selecting `Signal Search' opens a popup for highlighting signal names. Nine signal names which will be searched for in the trace are specified. Any signal name which matches the signal name pattern will be highlighted using the color of the toggle button, just as if `Signal Highlight' was used to color it. Unlike `Signal Search', highlighting a signal with `Signal Highlight' makes it permanent; it will not go away when the search that found that signal changes. The _Signal name pattern_ indicates which signal names to highlight, potentially containing `*' to match any number of characters, or `?' to match any single character. Case never matters when matching signal names. The _Enable_ button enables the search, and shows the color to be used for highlighting when the signal is found. 4.5.10 Signal Select... ----------------------- Selecting `Signal Select', or pressing `C-f', presents a requester which lists the names of the signals which are being displayed, and those which are deleted. Both lists have a pattern at the top which a signal must match to be displayed. Clicking on a signal will add it to the bottom of the other list. Clicking on the _Add All_ or _Delete All_ will affect all of those in the list. By specifying a pattern then _Add All_ or _Delete All_, signals which match a pattern can be added or deleted. The _Delete Constants_ button will delete only those signals which have a single constant value for all times in the trace. Likewise the _Delete Const or X/Z_ button will delete only those signals which have a constant value, or are unknown or tristated. This is useful for deleting those signals which have uninitialized values before reset then later in the trace are initalized to constants. The _Sort Wholename_ and _Sort Basename_ buttons will sort the selected signals and place them at the bottom of the trace. The former uses the entire signal name, while the latter sorts by the basename, ignoring the hierarchy portion of the signal name. 4.5.11 Clear Highlight ---------------------- Selecting `Signal Clear Highlight' will remove all highlighting from signals. 4.5.12 Keep Highlight --------------------- Selecting `Signal Keep Highlighted' will delete signals from the trace which are not highlighted. This allows signals to be highlighed that match a given pattern using _Signal Select..._, then all others deleted using this selection. 4.5.13 Signal Cancel -------------------- Selecting `Signal Cancel', or pressing `' will stop `' mouse clicks from having any affect. 4.6 Value Menu ============== 4.6.1 Value Annotate... ----------------------- Selecting `Value Annotate...' makes a file with the highlighted signals, and values under every cursor. Behavioral code can then be highlighted with the values by `dinotrace.el''s reading the written file. Cursors which are exactly on a edge of a signal will get the value that the signal is changing _to_, not from. Buttons specify which cursor and signal colors are included in the file. If a button is on, the color is included, else it is as if the cursor did not exist, or the signal was not highlighted. User cursors are those placed using the `Cursor Add' menu. Automatic cursors are from searching for values or cursors placed by `.dino' files. See *Note Dinotrace and Emacs:: 4.6.2 Value Annotate -------------------- Selecting `Value Annotate', or pressing `a' annotates code using the last Annotate... settings. See *Note annotate:: for the equivalent configuration file command. 4.6.3 Value Highlight --------------------- Selecting `Value Highlight', or pressing `v', then clicking `' on a value loads that value into one of the 9 search values, and highlights it where it occurs in the trace. The search value can then be seen and modified with the `Value Search' popup. See *Note value_highlight:: for the equivalent configuration file command. 4.6.4 Value Examine ------------------- Selecting `Value Examine' then holding `' will show the state of the entity under the mouse. `' can always be used for this feature. Signal transitions can be examined when over the transition lines. Signal names and base information can be seen when over the signal names. Cursors can be examined when at the bottom of the screen, and grids when at the top. 4.6.5 Value Search... --------------------- Selecting `Value Search...' allows specification of 9 values to be searched for in the trace. Each value is entered into a text widget and one or two toggle buttons to the left are activated. The `Value Highlight' menu can be used to load a search automatically. See *Note value_highlight:: for the equivalent configuration file command. The _Highlight value_ button will make anywhere that the value appears in a trace to be printed using the color of the toggle button. The _Add cursor_ button will add a cursor at the time where the value begins. Cursors that are placed in this fashion are displayed as dotted lines, and will go away if the search value is changed. Highlighting or moving a cursor makes it permanent; it will not go away when the search changes. The _Signal name pattern_ indicates which signals names to search for the value, potentially containing `*' to match any number of characters, or `?' to match any single character. Often a single `*' is useful to search all signals. The _Value_ indicates the value to be found. Unfortunately wildcards are not supported. A standard verilog or VHDL prefix may be added to specify the radix of the number being entered. (The radix of the signal found does not have to match the radix entered; `'h10' will match `'d16'. `'h' `X""' Hex `'o' `O""' Octal `'b' `B""' Binary `'d' `D""' Decimal `'r' `R""' Real `'s' `S""' `""' Ascii (String) 4.6.6 Value Cancel ------------------ Selecting `Value Cancel', or pressing `' will stop `' mouse clicks from having any affect. 5 Keyboard Shortcuts ******************** This chapter describes the keyboard shortcuts for Dinotrace. Any menu function may be invoked with the standard Motif accelerators; hold down `' then press the first letter of the menu name. Release `' and press the underlined letter of the sub menu item, and so on. The following keys are also hard-coded: Function keys have the identical function when using GNU Emacs's Verilog, C, Merlin, or CCLI modes. `' `Value Examine'. `' Signal scroll up one signal. `S-' Signal scroll up a screen full. `' Signal scroll down one signal. `S-' Signal scroll down a screen full. `' Signal scroll up a screen full. `' Signal scroll down a screen full. `' Time scroll left a grid #0 increment. `S-' Time scroll left a screen full. `' Time scroll left a grid #0 increment. `S-' Time scroll left a screen full. `' Beginning of time. `' End of time. `' `Signal Cancel'. `>' `Cursor Step Forward'. `<' `Cursor Step Backward'. `a' `Value Annotate'. `c' `Cursor Add' with current color. `C' `Cursor Add' with next color. `g' _Goto_ time. `s' `Signal Highlight' with current color. `S' `Signal Highlight' with next color. `v' `Value Highlight' with current color. `V' `Value Highlight' with next color. `C-f' `Signal Search...'. `C-o' `Trace Read...'. `C-r' `Trace ReRead All'. 6 Customization Files ********************* This chapter describes customization files, and the commands that may be used in them. Customization files allow the options and display in Dinotrace to be customized to suit a specific site, user, directory, and trace. 6.1 Automatically Read Files ============================ When a trace file is read using the `Trace Read' menu option, several configuration files are read automatically: `$DINODISK:dinotrace.dino' The `$DINODISK:dinotrace.dino' file is intended to have site wide defaults. This will probably contain a `file_format verilog' or similar commands. (On Unix, `$DINODISK' represents the contents of the `DINODISK' environment variable. On VMS, it represents the value of the system define.) `$DINOCONFIG' The `$DINOCONFIG' file is intended to be used for session specific start-up, like setting screen size depending on what type of system you are using. Users will probably point this to several possible sources using their `.login'. `~/dinotrace.dino' The `~/dinotrace.dino' file is for user defaults. The author for example has a `signal_height 15' and `signal_delete_constant *', which are both personal preference items. (On VMS, `SYS$LOGIN:' is used instead of `~/'.) `{current/trace/directory}/dinotrace.dino' The `{current/trace/directory}/dinotrace.dino' is for signal_states and other information on a per-simulation setup basis. This probably includes `signal_state' commands (unless they are in the global dinotrace.dino). `{current/trace/directory}/CURRENT_TRACE_NAME.dino' The `{current/trace/directory}/CURRENT_TRACE_NAME.dino' is for highlighting and such that only apply to the current file. See the enclosed example *Perl* script that will parse a log file for times that errors occurred and write a dino that places a cursor at every such time. 6.2 Configuration Commands ========================== Configuration files are organized with one command per line, with the exception of `signal_states', which may be multiple lines. Case is ignored in all but state names. The commands are: 6.2.1 # ------- `#' COMMENT Comments out the remainder of the line. 6.2.2 page_inc -------------- `page_inc' 4 | 2 | 1 Changes the increment used during _Page Inc_ and _Page Dec_ clicks on the horizontal scroll-bar. 1=full page, 2=half, 4=quarter. Same as the page option menu in `Customize Change'. 6.2.3 rise_fall_time -------------------- `rise_fall_time' NUMBER Changes the slope used when drawing signal assertions and deassertion. Use 0 to minimize the `rise_fall_time'. 6.2.4 signal_height ------------------- `signal_height' NUMBER Changes the vertical spacing between signals on the screen. Same as the slider in `Customize Change'. 6.2.5 grid ---------- `grid' GRID_NUMBER ON | OFF Enables or disables the grid. Same as the visible toggle buttons in `Customize Grid'. 6.2.6 grid_resolution --------------------- `grid_resolution' GRID_NUMBER NUMBER | AUTO | EDGE Changes the horizontal space between grids, normally the period of a clock. Specify a number in nanoseconds, or `AUTO' to compute the grid based on the `grid_signal'. Use `EDGE' to place a grid on each change of the `grid_signal'. 6.2.7 grid_align ---------------- `grid_align' GRID_NUMBER NUMBER | ASSERTION | DEASSERTION | BOTH Changes the horizontal location of the first grid mark. Specify a number in nanoseconds, `ASSERTION' to align with the asserting edge of the `grid_signal', or `DEASSERTION' to align with the deasserting edge of the `grid_signal', or `BOTH' to align with both edges of the `grid_signal'. The grid may also align with changes in a bus, although in that case `ASSERTION' and `DEASSERTION' have the same effect. 6.2.8 grid_signal ----------------- `grid_signal' GRID_NUMBER PATTERN Specifies which signal is to be used when calculating the period and alignment with grid_resolution and grid_alignment respectively. The first signal that matches the pattern is used, it defaults to `"*"', which is the first signal in the trace. If no signal is found that matches the pattern, that grid will be disabled. 6.2.9 grid_type --------------- `grid_type' PATTERN NORMAL | WIDE Specifies normal grids, or extra wide grids. Wide grids are plotted 2 pixels wide, and help low-contrast colors show up better. 6.2.10 grid_color ----------------- `grid_color' GRID_NUMBER COLOR Changes the color used to display the grid. 6.2.11 refreshing ----------------- `refreshing' AUTO | MANUAL In automatic refresh mode, any change in the screen such as zooming, Dragging, or exposing refreshes (redraws) the screen. When set to manual the screen will only redraw when the refresh gadget is pressed. Note that when in manual mode, it is just as if the display _was_ refreshed, so for example clicking on the display is relative to the _new_ display. Useful when using slow network links, such as dialup *eXcursion* or *exceed*. 6.2.12 refresh -------------- `refresh' Refresh the screen, even if in manual refresh mode. When a `.dino' file is being read, the screen will not be refreshed until the entire file is completely read, unless a `refresh' command is used. 6.2.13 draw_prefix ------------------ `draw_prefix' By default, a prefix common to every signal in the design is not shown in the main window. With this setting, the signal name will be shown in it's entirety. 6.2.14 annotate --------------- `annotate' Makes the annotation file, like the `Value Annotate' menu. 6.2.15 resolution ----------------- `resolution' NUMBER Sets the screen resolution, like the _Resolution_ Button on the bottom of the screen. 6.2.16 save_enables ------------------- `save_enables' ON | OFF When reading in verilator CCLI traces, Dinotrace converts two-state enables and data signals into a single four-state signal, then deletes the original signals. When `save_enables' is on, the original signals are not deleted. This is useful for debugging problems related to tristating. 6.2.17 save_duplicates ---------------------- `save_duplicates' ON | OFF When reading in verilog traces, Dinotrace by default drops signals that connect to a signal higher in the hiearchy. This saves space and reduces clutter. When `save_duplicates' is on, the duplicate signals are not deleted, except under rare situations. 6.2.18 save_ordering -------------------- `save_ordering' ON | OFF When set, Dinotrace will attempt to preserve signal colors, ordering, and deletions between the trace that existed before and the new trace being read in. Signals that were deleted because they were constants are not preserved, they will be recalculated. When clear, the new trace does not preserve any ordering information. 6.2.19 signal_goto ------------------ `signal_goto' SIGNAL Move the window so that signal is in the center of the window. If the signal was already on the screen, do nothing. 6.2.20 time_goto ---------------- `time_goto' TIME Move the window so that time is in the center of the window. If time was already on the screen, do nothing. 6.2.21 time_rep --------------- `time_rep' NUMBER | FS | PS | NS | US | CYCLE Changes the time representation to be in picoseconds, nanoseconds, microseconds or in number of grid #0 cycles. Cycle based timing is good for performance estimates. Same as the buttons in `Customize Change'. If a number, then that number is the baseline in picoseconds. For example, `2000' will make one unit on the screen be equal to 2 ns in the trace file. Default is nanoseconds. 6.2.22 time_precision --------------------- `time_precision' FS | PS | NS | US Changes the internal precision to be in picoseconds, nanoseconds, or microseconds. Traces that are read in will have all times rounded to this number. Setting to higher units requires less memory and speeds up execution. This parameter must only be changed in the global or user `dinotrace.dino' files, as it should not change between reading different traces. Default is nanoseconds. Only Decsim Binary and Verilog formats contain absolute time periods, and these will be scaled by the precision. Decsim Ascii traces are always assumed to be in nanoseconds. The Tempest format will be assumed to be in the same units as the `time_precision', and will not be scaled. 6.2.23 time_format ------------------ `time_format' %0.6lf | %0.6lg | %lg | "" Changes the number of decimal places used to print times. This format string is the same as that used by the C-Language printf command. (See `man printf' or `HELP CC RUN PRINTF'.) Some of the useful choices are `%0.6lf' which will print 6 decimal places with trailing zeros (123.450000), `%0.6lg' which will print up to 6 decimal places (123.45), and `%lg' which will print the number of decimal places required to fully show the number. The default is null (""). When null time_precision and time_rep will set the preferred format for time stamps. For example, setting `time_precision PS' and `time_rep NS' will make times display as "nn.ppp ns" where n is the nanoseconds, and p is the picoseconds. 6.2.24 time_divisor ------------------- `time_divisor' NUMBER When reading Ascii traces, all times are divided by this number. Generally the time_precision is what is wanted instead, as time_precision doesn't change the internal times but instead the display. Time_divisor changes the value that is read in from the file, and is most useful for Ascii traces which do not specify any time units in the file itself. 6.2.25 time_multiplier ---------------------- `time_multiplier' NUMBER When reading Tempest traces, the multiplier will be used to convert the phase counter to the time. Defaults to 2. 6.2.26 file_format ------------------ `file_format' DECSIM | TEMPEST | VERILOG | VPD Changes the file format to be read. Same as the buttons in the `Trace Open' menu. 6.2.27 cursor ------------- `cursor' ON | OFF Enables or disables the cursors. Same as the toggle buttons in `Customize Change'. 6.2.28 cursor_add ----------------- `cursor_add' TIME COLOR [-USER] [COMMENT] Adds a cursor of color number COLOR (0 to 9) at the specified time. If specified, add COMMENT that may be seen with `Value Examine'. The cursor will be dotted, and will disappear the next time a file is read in. The `-USER' flag makes the cursor like a manual cursor; it will be a solid line and will not disappear on rereads. 6.2.29 click_to_edge -------------------- `click_to_edge' ON | OFF Enables or disables whether adding a cursor or grid close to a signal edge will place the cursor on that edge. 6.2.30 debug ------------ `debug' ON | OFF Enables or disables debugging mode. 6.2.31 print ------------ `print' NUMBER | ON | OFF Enables or disables debugging print mode at the specified informational level. 6.2.32 print_size ----------------- `print_size' A | B | EPSPORT | EPSLAND Selects the paper size, A (8 1/2" by 11") or B (11" by 17"). `EPSPORT' and `EPSLAND' make an Encapsulated Postscript file without headers, in portrait or landscape layout, suitable for inclusion in other documents. Same as the buttons in the `Trace Print' popup. 6.2.33 vector_separator ----------------------- `vector_separator' "CHARACTER" Sets the character that separates the base signal name from vector numbers. The default is `[', which means that the signal `alpha[1]' consists of vector number 1 in the signal named alpha. Three other useful combinations are `_' for spider signals `alpha_1', `<' for Decsim signals `alpha<1>', and null ("") for no separator `alpha1'. If the separator is null ("") then `<' will still be accepted. Tempest traces are assumed to use the `<' separator, and setting it otherwise will split up all of the bits into individual entries. 6.2.34 start_geometry --------------------- `start_geometry' WIDTHxHEIGHT+XOFFSET+YOFFSET Specifies the geometry to be used when the first window is opened by Dinotrace. Specified in standard X-Windows format, for example `start_geometry 1200x900+20+95' specifies a window at position 20, 95 of width 1200 and height 900. 6.2.35 open_geometry -------------------- `open_geometry' WIDTH[%]xHEIGHT[%]+XOFFSET[%]+YOFF[%] Specifies the geometry to be used when a new trace window is created with `Trace Open' menu. The format may be the same as `start_geometry', in which case the exact dimensions specified will be used for the new window. Percentage may be used to specify a position and size relative to the old window. For example the default is `open_geometry 100%x50%+0%+50%' which means that the new window will have the same width and half the height of the old window. The position will be the same in the x direction and 50% more (not 50% of the value) in the y direction. 6.2.36 shrink_geometry ---------------------- `shrink_geometry' WIDTH%xHEIGHT%+XOFFSET%+YOFF% Specifies the geometry to be used when a old trace window is being shrunk with `Trace Open' menu option. Absolute positions should not be used, instead percentages should be used to specify a position and size relative to the original window size. For example the default is `shrink_geometry 100%x50%+0%+0%' which means that when the new opened window is created the old window will have the same width, X, and Y position, but half the height of the old window. 6.2.37 value_highlight ---------------------- `value_highlight' VALUE COLOR [SIGNAL_PATTERN] -COLOR -CURSOR Searches for the value in signals matching the pattern. If the `-COLOR' flag is set, changes the color of the value to COLOR (0 to 9). If the `-CURSOR' flag is set, adds a cursor of the specified COLOR. The signal_pattern is the name of the signal inside the trace, with <*> being a wild card that matches any number of characters. 6.2.38 signal_highlight ----------------------- `signal_highlight' SIGNAL_PATTERN COLOR Changes the color of any signals matching SIGNAL_PATTERN to the given color number COLOR (0 to 9). The signal_pattern is the name of the signal inside the trace, with <*> being a wild card that matches any number of characters. 6.2.39 signal_add ----------------- `signal_add' SIGNAL_PATTERN [AFTER_SIGNAL] [COLOR] Adds signals matching SIGNAL_PATTERN from the trace, if the signal was deleted. If the signal hasn't been deleted, nothing happens. If the AFTER_SIGNAL is provided, the signal is added after the first signal that matches the AFTER_SIGNAL pattern. If AFTER_SIGNAL is not provided, the new signal is added to the end of the trace. 6.2.40 signal_delete -------------------- `signal_delete' SIGNAL_PATTERN Deletes signals matching SIGNAL_PATTERN from the trace. 6.2.41 signal_delete_constant ----------------------------- `signal_delete_constant' SIGNAL_PATTERN [-IGNOREXZ] Deletes signals matching the pattern, which have a constant value, from the trace. If `-IGNOREXZ' is specified, don't consider transitions to/from unknown or tristate as making a signal non-constant. Useful for reducing a large number of signals down to only those which change. 6.2.42 signal_copy ------------------ `signal_copy' SIGNAL_PATTERN [AFTER_SIGNAL] [COLOR] Copies signals matching SIGNAL_PATTERN from the trace to a new position. If the AFTER_SIGNAL is provided, the signal is added after the first signal that matches the AFTER_SIGNAL pattern. If AFTER_SIGNAL is not provided or is not found, the new signal is added to the end of the trace. 6.2.43 signal_move ------------------ `signal_move' SIGNAL_PATTERN [AFTER_SIGNAL] [COLOR] Move signals matching SIGNAL_PATTERN to a new position. If the AFTER_SIGNAL is provided, the signal is moved after the first signal that matches the AFTER_SIGNAL pattern. If AFTER_SIGNAL is not provided, the new signal is added to the end of the trace. 6.2.44 signal_note ------------------ `signal_note' SIGNAL_PATTERN NOTE Add the specified note to signals matching SIGNAL_PATTERN. The signal note may be viewed by pressing with the Examine button over the signal name. 6.2.45 signal_rename -------------------- `signal_rename' SIGNAL_PATTERN NEW_SIGNAL_NAME [COLOR] Changes the *first* signal matching SIGNAL_PATTERN to have the name NEW_SIGNAL_NAME This can be used to make a alias copy of a signal by copying a signal, then renaming it. 6.2.46 signal_radix ------------------- `signal_radix' SIGNAL_PATTERN RADIX Changes signals matching SIGNAL_PATTERN to have the specified radix. Note that the `real' radix is detected for Verilog automatically, and changing other non-real signals to a real format probably won't display the values you wish. 6.2.47 signal_waveform ---------------------- `signal_waveform' SIGNAL_PATTERN ANALOG | ANALOG_SIGNED | DIGITAL Changes signals matching SIGNAL_PATTERN to have the specified waveform representation on the display. 6.2.48 signal_states -------------------- `signal_states' SIGNAL_PATTERN = {STATE, STATE...}; Allows the value of a bus to be translated to a text string. The SIGNAL_PATTERN is the name of the signal inside the trace, with `*' being a wild card that matches any number of characters. Each state is the text to be displayed, using the characters `0-9A-Z%._/'. States are assigned in numerical order starting with zero, unless a `##=' proceeds a state name: If a state name is of the form `##=name', for example in `7=Read' the Read name is assigned to the bus value seven. (The number is always in decimal.) The next assignment will be to 8 if no number is specified. Example: signal_states *cpucreq[2:0] = { 1=Barrier, Fetch, FetchM, Read, Write, LDx_L, STx_C}; In this example, any signal ending in `cpucreq[2:0]' (any case) will convert 1 to Barrier, 2 to Fetch, etc. Unspecified values, such as 0 and 8 will be displayed as a number. If the state does not fit on the screen, the number will be printed instead. Text strings may only be defined for state numbers 0-255. 7 X Resources ************* This chapter describes the X-Windows resources that Dinotrace supports. Dinotrace uses the X resource database for color and font selection. To use a resource, put in your ~/.Xdefaults file Dinotrace*Foreground: Black Dinotrace*Background: #cacaaaaa9191 Dinotrace*color1: DarkOliveGreen Then type at the shell `xrdb ~/.Xdefaults' to reread the database. Dinotrace adds the following resources over and above the core X Toolkit resource names and classes (such as foreground and background): `color#' `color#', where # is 1-9, specifies the colors for searches, highlighting, and cursors. color0 is fixed to the foreground color. `barcolor' `barcolor' specifies the color to be used for the background of alternate signals. Defaults to 7% greener then the background color. Those that remember green bar tractor-feed paper should feel comfortable with this default. `signalfont' `signalfont' specifies the font to be used for signal names along the sides of the trace window. Defaults to `-*-Fixed-Medium-R-Normal--*-120-*-*-*-*-*-1' `timefont' `timefont' specifies the font to be used for time values along the top of the trace window. Defaults to `-*-Courier-Medium-R-Normal--*-120-*-*-*-*-*-1' `valuefont' `valuefont' specifies the font to be used for values inside buses. Defaults to `-*-Fixed-Medium-R-Normal--*-100-*-*-*-*-*-1' 8 Remote Control **************** Dinotrace can be triggered to reread traces by sending a USR1 signal to it. This allows build environments to automatically refresh dinotrace when a new waves file is available. See the kill manpage for details on sending a signal, usually it's `kill -USR1 %?dino'. After annotation, Emacs creates a socket that can be used to send commands into it. See the Emacs chapter and internal code for details. 9 Dinotrace and Emacs ********************* This chapter describes the interaction between Dinotrace and Emacs. Dinotrace provides the means for back-annotating highlighting and values into Emacs buffers, and from Emacs, highlighting signals, values, and the like. This is what separates Dinotrace from the rest. 9.1 Installation ================ The appropriate Emacs code should have been installed along with the rest of Dinotrace. If you encounter problems, you should return to this section. You'll probably also need `verilog-mode.el' from `http://www.surefirev.com/verilog-mode.html'. Make sure that file, and the distribution's files `lisp/dinotrace.el' and `lisp/sim-mode.el' are installed in your Emacs `site-lisp' directory. (In Emacs `C-h v load-path ' should list the name of that directory.) Check that in your `.emacs' file, or better yet, the site's `site-start.el' file there are the lines: (autoload 'sim-log-mode "sim-log" "Mode for Simulation Log files." t) (setq auto-mode-alist (append (list '("\\.log$" . sim-log-mode)) auto-mode-alist)) (autoload 'dinotrace-update "dinotrace" "Update dinotrace annotations in this buffer" t) (autoload 'dinotrace-mode "dinotrace" "Toggle dinotrace annotations in this buffer" t) (global-set-key "\C-x\C-aa" 'dinotrace-update) (global-set-key "\C-x\C-ad" 'dinotrace-mode) 9.2 Annotation ============== With a trace up in Dinotrace, select the `Value Annotate...' menu item. This will create a magic file in your home directory. In Emacs, visit a Verilog or C file which has some signals that are in the trace. Press `C-x C-a a'. Emacs will read the annotation file and add highlighting to your buffer. A new menu will appear on the screen, and the mode line will indicate `Dinotrace'. In a simulation log file (ending in `.log'), Pressing `C-x C-a a' will likewise add annotations of where cursors exist. 9.3 Signal Matching =================== Emacs chooses what to highlight based upon only the base part of the signal name; all hiearchy and bus descriptors are stripped. If multiple signals exist with the same basename, all signals other then those with the desired hiearchy should be deleted so they won't participate in the annotation. 9.4 Entering Dinotrace-Mode =========================== There are two keys used to enter Dinotrace Mode: `C-x C-a a' `M-x dinotrace-update' `C-x C-a a' will enter dinotrace-mode in this buffer. If there is a new annotation file, read it, update all annotations in all visible widows, and remove outdated annotations from invisible buffers. `C-x C-a d' `M-x dinotrace-mode' `C-x C-a d' will toggle Dinotrace Mode in this buffer. With arg, turn Dinotrace mode on if and only if arg is positive. It will not read a new annotation file if one has already been read in. 9.5 Exiting Dinotrace Mode ========================== There are two ways to exit Dinotrace Mode: `C-x C-a d' `M-x dinotrace-mode' `C-x C-a d' will toggle Dinotrace Mode in this buffer. With zero or negative arg, turn off Dinotrace mode. `C-x C-q' `M-x dinotrace-toggle-read-only' `C-x C-q' will toggle read-only status. Dinotrace traps this key and will remove annotations and make the buffer writable. 9.6 Configuring Dinotrace-Mode ============================== These keys configure Dinotrace Mode: `C-x C-a a' `M-x dinotrace-hiearchy-set' `C-x C-a a' will specify the hiearchy as a regular expression. Any signals must match this regular expression in order to be annotated. This is useful if the same signal name appears in many modules with different values; you can thus choose which modules the signals will come from. 9.7 Keys in Dinotrace Mode ========================== When inside a Dinotrace Mode buffer, many keys are defined to affect both Emacs and also Dinotrace. All begin with `C-x C-a', and are also selectable from the Emacs menubar. Most match the keyboard accelerator keys for Dinotrace itself. `C-x C-a c' `M-x dinotrace-goto-and-cursor-time' Take the time that the point is over, and scroll Dinotrace so time is visible. Add a cursor using the current color. `C-x C-a C' `M-x dinotrace-goto-and-cursor-time-next-color' Take the time that the point is over, and scroll Dinotrace so time is visible. Add a cursor using the next color. `C-x C-a s' `M-x dinotrace-goto-and-highlight-signal' `C-x C-a s' will take the signal name the point is over, and scroll Dinotrace so the signal is visible. The signal is highlighted using the current color. `C-x C-a S' `M-x dinotrace-goto-and-highlight-signal-next-color' `C-x C-a S' will take the signal name the point is over, and scroll Dinotrace so the signal is visible. The signal is highlighted using the next color. `C-x C-a v' `M-x dinotrace-highlight-value' `C-x C-a v' will take the value the point is over, and highlight it using the current color. With a prefix-arg, cursors will also be put where the value occurs. `C-x C-a V' `M-x dinotrace-highlight-value-next-color' `C-x C-a S' will take the value the point is over, and highlight it using the next color. With a prefix-arg, cursors will also be put where the value occurs. `C-x C-a >' `M-x dinotrace-cursor-step-forward' `C-x C-a >' will move all cursors forward one grid #0 period and reannotate the buffer. If the grid is set correctly, this will change the values to represent one clock period later. `C-x C-a <' `M-x dinotrace-cursor-step-backward' `C-x C-a <' will move all cursors back one grid #0 period and reannotate the buffer. If the grid is set correctly, this will change the values to represent one clock period earlier. 10 File Formats *************** This chapter describes the file formats supported by Dinotrace, and how to produce them with various simulators. If you're making a quick trace that is small, the ASCII format is probably quickest and dirtiest. If you're making a real 4-state simulator, Tempest XOR format is very compact and fast. A example reader for this format is included with the Dinotrace distribution. 10.1 Verilog Value Change Dumps =============================== Dinotrace can read the Value Change Dump format, common with simulators such as Verilog-XL, VCS, and many others. VCD files have a `.vcd' extension. Under the `Trace Read' menu, select Verilog Format. Select `Trace Read' to read the file. If this is your standard format, you can set it permanently by placing in the `$DINODISK:dinotrace.dino' file: file_format verilog vector_separator "[" VCD files can contain a great number of signals, potentially every net in the design. To cut down on the clutter, Dinotrace removes any signal that is identical to a signal higher up in the design hierarchy. For example, if the signal `top.cpu.cache.index_addr[7:0]' is the same net as `top.cpu.addr[27:20]', then only the latter will be shown in Dinotrace. This can be disabled with `save_duplicates'. To save disk space you may wish to store files as gziped. This will result in about a 10 times space savings, and Dinotrace will uncompress them automatically. (By detecting the `.gz' extension and piping through gunzip. Gunzip must exist in your `$PATH' for this to work.) 10.1.1 Making VCDs in Verilog ----------------------------- To create a value change dump file inside of Verilog, add the code somewhere in a module: // Create a dump file initial begin $dumpfile ("|gzip --fast --stdout >trace_top.vcd.gz"); $dumpvars (12, top); end Where top is the name of the module to be traced, trace_top.vcd.gz is the output file, and 12 is the number of levels of hierarchy underneath top to be traced. Dinotrace expects the `.vcd' extension. This command will dump all signals in the module top. For more information on dump files, see `Chapter 18 of the Verilog-XL reference manual'. 10.1.2 VCD File Format ---------------------- For a description of the VCD file format, see `Chapter 18 of the Verilog-XL reference manual'. 10.2 Verilog Value Plus Dumps ============================= Dinotrace can read the Value Plus Dump format, common with VCS. VPD files have a `.vpd' extension. Under the `Trace Read' menu, select Verilog VPD Format. Select `Trace Read' to read the file. If this is your standard format, you can set it permanently by placing in the `$DINODISK:dinotrace.dino' file: file_format vpd vector_separator "[" For this to work, you must have the *vpd2vcd* program installed in your search path. It was distributed with VCS, and requires a key to operate; contact your simulation vendor for details. Dinotrace will convert the format to a standard VCD file using a pipe. Thus all of the notes above for the *Note Verilog Value Change Dumps:: also apply to this format. 10.2.1 Making VPDs in Verilog ----------------------------- To create a value plus dump file inside of Verilog, add the code somewhere in a module: // Create a vpd file initial begin $vcdpluson (12, top); end Where top is the name of the module to be traced, and 12 is the number of levels of hierarchy underneath top to be traced. For this to work you may also need a `-I' or other compile time option for your simulator. 10.3 ASCII Traces ================= The initial format that Dinotrace supported was a Decsim ASCII format. This format is still very useful for reading traces created by *perl* scripts and other quick programs. For large traces, any of the other formats will make significantly smaller files. 10.3.1 Making Decsim ASCII Traces --------------------------------- Decsim provides both ASCII and binary formats. For a Decsim ASCII trace, type at the command prompt: set trace/radix=2/vector/header/exact/logname=name clock, signal1, signal2, signal3 For information, see *Note Making Decsim Binary Traces::. 10.3.2 ASCII Trace Format ------------------------- The ASCII Trace format is broken into two pieces, the header, and the data lines. The header consists of a leading !, followed by signal names that are read vertically, with each bit in a independent column. Some character separates the signal name from the bit number, this exact character varies depending on the simulator. The header is actually optional, Dinotrace will create some pretty boring names if the header is not present. Here's a header, with the signal names SIG[2:0] and OUT. (Read it sideways.) ! SSS ! III ! GGGO ! ___U ! 210T The data follows, with one time per line. The spaces leading the header above were added so that the first signal column lines up with the first value after the time stamp. Actually, the time stamps are optional, in which case Dinotrace will assign successive times, starting at 0 and incrementing by 100 for each data line. 0 xxxx 100 000x 103 0000 200 1100 203 0001 Dinotrace understands the values `0', `1', the tristate `Z', and the unknowns `?', `X', and `U'. Case does not matter. 10.4 Tempest Traces =================== Dinotrace supports Digital's tempest (BT02) format, as produced by CCLI, COSMOS and other tools. After creating a trace, start up Dinotrace. Under the `Trace Read' menu section, select _Tempest Format_. (To make this the default, read the instructions about configuration files.) Select `Trace Read' to read the file. Tempest designs use underscores to indicate bus subscripts. To have Dinotrace collapse signals into vectors, create a configuration file with the lines: vector_separator "<" hierarchy_separator ">" Some CPU groups use a timestamp that is a integer that increases every other cycle. The half cycle is a phase. Dinotrace can either count phases, which is the default, or cycles. Since Dinotrace times are integers, the trick is to change the time resolution so that fractional values can be displayed: time_multiplier 500 time_precision ps time_rep ns To detect traces that start on phase B, the second signal in the trace, right after the cycle_count, must be "phase", which toggles zero/one every phase. If this signal is not present, it is assumed the trace starts on phase A. (If incorrect - it starts on phase B and there is no phase signal, the first phase in the entire trace will seem to be stretched one cycle.) To save disk space you may wish to store files as gziped. This will result in about a 50 times space savings, and Dinotrace will uncompress them automatically. 10.5 Making Verilator Traces ============================ Dinotrace can read in Verilator traces created using CCLI. Dinotrace will convert the two signals that Verilator creates for tristate busses (foo and foo__en) into a single signal with tristates shown normally. 10.6 Making Cosmos Traces ========================= Dinotrace can read in COSMOS traces created under Merlin. Dinotrace will convert the two signals that COSMOS creates for each signal (foo and foo__cos) into a single signal with unknowns shown normally. 10.7 Tempest Trace Format ========================= The Tempest Trace Format is a relatively simple binary format. Files all have a `.bt' extension, and are stored by unix `write()'s of arrays of *little-endian* longwords. (Little is the endianness as Windows NT and Digital Unix, and opposite that of Suns.) The first record is at the head of the file, and is the identification block. `char (4 bytes)' File signature plus revision (e.g. `BT02'). `uint (32 bits)' Number of bytes for the header. `uint (32 bits)' Number of signals. `uint (32 bits)' Number of simulation rows (Do not rely on this, it is not correct if not known when the header is written) `uint (32 bits)' Number of bits per simulation 'row', non-padded. `uint (32 bits)' Number of bits per simulation 'row', padded to mod 64. Following that is a signal description block for every signal in the design. The number of such records was read from the above identification block. `uint (32 bits)' Flags for signal characteristics: `bit 0' Signal is input. `bit 1' Signal is output. `bit 2' Signal is pseudo-pin. `bit 3' Signal contains time-stamp value (not a real signal in design). `bit 4' Signal is 3 or 4 state (not 2 state). `uint (32 bits)' Offset in body row (in bits). `uint (32 bits)' Width of signal (in bits). `uint (32 bits)' Number of chars in signal name. N below. `char (N bytes)' Signal name, not null terminated. `char padding (8-(N%(8 bytes))) if N%8 != 0' Padding characters to insure quadword alignment. Finally is binary packed data. Each simulation row contains the value of all signals at that time stamp. The location of each bit was defined in the signal description blocks above. For example, storage of 300 signals requires 320 bits per row of simulation data. This data continues to EOF. (The number of simulation rows in the header may not be correct if it was unknown at the time the header was written.) For three and four state signals, the four state bit in the flag section is set for that signal. Two bits are stored in the file per wire bit, where 00=0, 01=1, 10=tristate, and 11=unknown. 10.8 Tempest XOR Traces ======================= Dinotrace and Verilator have colluded to make a derivative of the Tempest format, called XOR format (format string BX02). This format is detected by Dinotrace automatically when tempest format is selected. Ungziped files are only slightly smaller than as traditional Tempest files. Gziping however yields a 90% shrink in file size. Since the code to generate the trace is compiled in, the actual simulation time to create the trace is also greatly reduced, speeding simulations by 30% or so. 10.9 Making Verilator XOR Traces ================================ Verilator makes Tempest XOR traces using the fast trace *perl* script (see the `Verilator Manual'). A list of signals to be traced must be provided at compile time. 10.10 Tempest XOR Format ======================== Tempest XOR format is very close to tempest normal format. The first difference is that the format characters are BX02 rather then BT02. The second difference is that the binary data for each time record is a XOR of the previous row's binary data. (Starting with all zeros before the first record.) Thus if a single signal changes in a given time, the first longword will have a couple of bits set to indicate the bits that changed in the time stamp, and a single bit will be set in a later longword for the bit that changed. This seemingly trivial change greatly improves compression, as 0's are now the majority of the file, and compress to near nothing. Any Tempest XOR format readers and writers should only operate on gziped files. Thus the normal file extension is `.bt.gz'. 10.11 Decsim Binary =================== The Digital internal Decsim simulator has a proprietary format supported by Dinotrace built under VMS only. Decsim designs use <>'s to indicate bus subscripts. To have Dinotrace collapse signals into vectors, create a configuration file with the line: `vector_separator "<"'. 10.11.1 Making Decsim Binary Traces ----------------------------------- Decsim uses the set trace command to create Dinotrace compatible traces. Usually a clock should be the first signal as Dinotrace will automatically align the grid to the first signal in a trace. At the command prompt, type: set trace/radix=2/vector/binary/exact/logname=name clock, signal1, signal2, signal3 Our group creates a trace file for each sub chip, and turns that trace into a macro in a separate file. This way the same trace may be called from many tests. For example: `TRACE_subchip.IND': macro/command TRACE_subchip [$text] = set trace/radix=2/vector/binary/exact/logname=$text clock, signal1, signal2 $endmacro A test would then call: @TRACE_subchip.IND TRACE_subchip testname_subchip The test will create a file testname_subchip.TRA. We find this naming convention convenient as it will group all of the traces from one chip together. For example, running the test `ERRORS' with the trace files `TRACE_SSM.IND' and `TRACE_CSR.IND' creates the trace files `ERRORS_SSM.TRA' and `ERRORS_CSR.TRA'. 11 Bugs ******* This chapter describes bug reporting and the known bugs in the current version. Please report bugs to The following bugs are known to exist: * When using *lessTIF*, the lines indicating highlighted signals and cursors that appear in the scroll bars may not always appear. To make them reappear, simply press the refresh widget. * The Ultrix version of Dinotrace requires *Motif V1.1.3*. It will run under older versions, however toolkit warnings will be printed which may be ignored and Trace Open will make the window size too large. * Decsim does not correctly create binary traces of arrays. For example `signal[1:0]<1:0>' will not display the correct data in Dinotrace because Decsim incorrectly creates the file. Decsim will work correctly if the trace is changed to ASCII. * There is a problem with the *X-11* Toolkit that causes strange dots to appear in the trace window. This only occurs on some systems. Please contact me if this occurs on your systems. % $Id: dt_post.h 657 2004-12-10 14:12:01Z wsnyder $ % Contact wsnyder@wsnyder.org with any problems with this document /MT {moveto} def % define MT /LT {lineto} def % define LT /STROKE {currentpoint stroke MT} def % define STROKE saving point /PAGESCALE % (height width sigrf paper_height paper_width) { newpath /PG_WID exch def % def PG_WID = 11 * 72 /PG_HGT exch def % def PG_HGT = 8.5 * 72 /psigrf exch def % signal rf time /xstart exch def % xstart of DINOTRACE window /width exch def % width of DINOTRACE window /height exch def % height of DINOTRACE window /heightmul PG_HGT 50 sub height div def /YADJ { height exch sub heightmul mul 40 add } def /basewidth 0 def % Prepare for sigwidth calc /hierwidth 0 def % Prepare for sigwidth calc stroke /Times-Roman findfont 8 scalefont setfont } def /EPSPHDR % (st_end_time res date note file pagenum dtversion) { newpath % clear current path pop pop pop pop pop pop pop 1 setlinecap 1 setlinejoin 1 setlinewidth % set line char /Times-Roman findfont 8 scalefont setfont } def /EPSLHDR % (st_end_time res date note file pagenum dtversion) { newpath % clear current path 90 rotate % rotates to landscape 0 PG_HGT neg translate % translates so you can see the image pop pop pop pop pop pop pop 1 setlinecap 1 setlinejoin 1 setlinewidth % set line char /Times-Roman findfont 8 scalefont setfont } def /PAGEHDR % (st_end_time res date note file pagenum dtversion) { newpath % clear current path 90 rotate % rotates to landscape 0 PG_HGT neg translate % translates so you can see the image %3 setlinewidth % set the line width of the border %0 0 MT 0 PG_HGT LT PG_WID PG_HGT LT PG_WID 0 LT 0 0 LT stroke % draw bounding box /Helvetica-BoldOblique findfont 30 scalefont setfont % choose large font 1 setlinecap 1 setlinejoin 1 setlinewidth % set line char 20 20 MT 20 string cvs true charpath stroke % draw logo PG_WID 180 sub 20 MT 20 string cvs true charpath stroke % draw page number /Times-Roman findfont 10 scalefont setfont % choose normal font 1 setlinecap 1 setlinejoin 1 setlinewidth % set line char /TPOS 250 1000 PG_WID lt { % B-Size page? 50 add } if def % Define position for file info TPOS 40 MT (File: ) show 150 string cvs show TPOS 30 MT (Note: ) show 150 string cvs show TPOS 20 MT (Date: ) show 25 string cvs show TPOS 150 add 20 MT (Confidential) show PG_WID 300 sub 30 MT (Resolution: ) show 25 string cvs show PG_WID 300 sub 20 MT (Time: ) show 25 string cvs show stroke /Times-Roman findfont 8 scalefont setfont } def /RIGHTSHOW % (string) right justify the signal names { dup stringwidth pop % get width of string 0 exch sub % subtract stringwidth 0 rmoveto show % adjust strating location of text and show } def /CENTERSHOW % (string) center justify the signal names { dup stringwidth pop % get width of string 2 div 0 exch sub % subtract stringwidth/2 0 rmoveto show % adjust starting location of text and show } def /FITCENTERSHOW % (x y string) if string will fit vs last printing, show it centered { /v exch def /y exch def /x exch def v stringwidth pop 2 div % get width of string x xc sub % get width of bus lt { % is string wid lt bus wid? x y MT v CENTERSHOW % show value /xc v stringwidth pop 2 div % get width of string x add 3 add def % define new ending point, leave some room } if } def /SIGMARGIN % (hiername basename) set margin to max of this width or prev widths { stringwidth pop dup % get width of base signal name basewidth gt { % compare to current width /basewidth exch def % set it } { pop } ifelse stringwidth pop dup % get width of hier string hierwidth gt { % compare to current width /hierwidth exch def % set it } { pop } ifelse } def /SIGNAME % (ymdpt hiername basename) draw a signal name { /basename exch def % Base part of signal name /hiername exch def % Hiearchy part of signal name /ymdpt exch YADJ def % ymdpt - Midpoint of signame hierwidth ymdpt 3 sub MT % move to right edge of . hiername RIGHTSHOW % plot hiername to left hierwidth ymdpt 3 sub MT % move to right edge of . basename show % plot basename to right } def /XSCALESET % set signal xscaling after all signals were margined { /hierwidth hierwidth 20 add def % left margin creation /sigstart hierwidth basewidth add 10 add def % space between signal and values /sigxscale PG_WID sigstart sub width xstart sub div def % Scaling for signal section /XSCALE { sigxscale mul } def % convert X screen to print coord /XADJ { xstart sub sigxscale mul sigstart add } def % convert X screen to print coord } def /START_GRID % (ytop ybot ylabel) start a signal's information { /ylabel exch YADJ def % ylabel - Where to put label y coord /ybot exch YADJ def % ybot - Bottom of grid line y coord /ytop exch YADJ def % ytop - Top of grid line y coord /xc 0 XADJ def % xc- current x coord for determining if fits } def /GRID % (x label) make grid { /label exch def % time label for grid /x exch XADJ def % x coord of grid x ytop MT x ybot LT stroke % draw grid line x ylabel label FITCENTERSHOW % draw label } def /CSRU % (x label) make user cursor { [] 0 setdash GRID } def /CSRA % (x label) make auto cursor { [1 1] 0 setdash GRID } def /CURSOR_DELTA % (x1 x2 y label) draw a delta line between two cursors { /label exch def % time label for grid /y exch YADJ def % y coord of cursor /xl exch XADJ def % x coord of cursor 2 (earlier one) /xh exch XADJ def % x coord of cursor 1 (later one) /xlh xh xl add 2 div def % center point of lines label stringwidth pop 6 add % get width of string xh xl sub % get width of bus lt { % is string wid lt bus wid? xlh 2 sub label stringwidth pop 2 div sub y MT xl y LT % first half xlh y 3 sub MT label CENTERSHOW % show value xlh 2 add label stringwidth pop 2 div add y MT xh y LT % second half } { xl y MT xh y LT % draw line, no time can fit } ifelse stroke } def /START_SIG % (ymdpt ytop ybot xstart) start a signal's information { /xl exch XADJ def % xl - last/left x coord /ybot exch YADJ def % ybot - Bottom of signal's y coord /ytop exch YADJ def % ytop - Top of signal's y coord /ymdpt exch YADJ def % ymdpt - Middle of signal's y coord /sigrf psigrf XSCALE def % sigrf scaled from page rise-fall stroke xl ymdpt MT /x xl def } def % State drawing routines: % Preserve last /x as /lx % Leave point at (xl,ymdpt) /S0 % (x) low { /xl x def /x exch XADJ def xl sigrf add ybot LT % \ x sigrf sub ybot LT % - x ymdpt LT % / } def /S1 % (x) high { /xl x def /x exch XADJ def xl ymdpt MT xl sigrf add ytop LT % / STROKE 2 setlinewidth x sigrf sub ytop LT % = STROKE 1 setlinewidth x ymdpt LT % \ } def /SZ % (x) Tristate { /xl x def /x exch XADJ def STROKE [1 1] 0 setdash x ymdpt LT % .... STROKE [] 0 setdash } def /SB % (x) bus { /xl x def /x exch XADJ def xl sigrf add ytop LT % / x sigrf sub ytop LT % - x ymdpt LT % \ x sigrf sub ybot LT % / xl sigrf add ybot LT % - xl ymdpt LT % \ x ymdpt MT } def /SH % (x) bus high { /xl x def /x exch XADJ def xl sigrf add ytop LT % / STROKE 2 setlinewidth x sigrf sub ytop LT % = STROKE 1 setlinewidth x ymdpt LT % \ x sigrf sub ybot LT % / xl sigrf add ybot LT % \ x ymdpt MT } def /SU % (x) Unknown { /xl x def /x exch XADJ def STROKE xl ymdpt MT xl sigrf add ytop LT % / x sigrf sub ytop LT % - x ymdpt LT % \ x sigrf sub ybot LT % / xl sigrf add ybot LT % - closepath % \ fill stroke x ymdpt MT } def /SA % (x pct_high) analog { /xl x def /pct exch def /x exch XADJ def ytop ybot sub pct mul ybot add /ypct exch def xl sigrf add ypct LT % / x sigrf sub ypct LT % - } def /SV % (valstrg) draw bus value { /v exch def % value as string v stringwidth pop % get width of string x xl sub % get width of bus lt { % is string wid lt bus wid? xl x xl sub 2 div add % calculate the mdpt v stringwidth pop 2 div sub % calculate start location of text ymdpt 3 sub MT v show % draw the bus value } if x ymdpt MT % reset current point } def /SN % ( value fallback_value) draw bus waveform with decoded value, fallback if doesn't fit { /fallback exch def % fallback string /v exch def % convert to hex string v stringwidth pop % get width of string x xl sub % get width of bus lt { % is string wid lt bus wid? xl x xl sub 2 div add % calculate the mdpt v stringwidth pop 2 div sub % calculate start location of text ymdpt 3 sub MT v show % draw the bus value } { fallback stringwidth pop % get width of string x xl sub % get width of bus lt { % is string wid lt bus wid? xl x xl sub 2 div add % calculate the mdpt fallback stringwidth pop 2 div sub % calculate start location of text ymdpt 3 sub MT fallback show % draw the bus value } if } ifelse x ymdpt MT % reset current point } def CCCCC"C,C7CCCC#D#D#D#D#D#D#D#D#D#D$D#D $D$D&$D3$DA$DM$DW$Db$Dq$D$D$D$D$D$D$D$D$D$D%D%D+%D9%DC%DH%DJ%DN%DU%DY%D`%DޡCm%Ds%D%D%D%D%D%D%DU%DY%D%DU%DY%D?~|xxxx?|~??~>><<>p`aw??s 3wGCC: (GNU) 3.3.5 20050117 (prerelease) (SUSE Linux)GCC: (GNU) 3.3.5 20050117 (prerelease) (SUSE Linux)GCC: (GNU) 3.3.5 20050117 (prerelease) (SUSE Linux)$Id: dt_binary.c 627 2004-09-02 15:21:24Z wsnyder $GCC: (GNU) 3.3.5 20050117 (prerelease) (SUSE Linux)$Id: dt_config.c 553 2003-04-22 14:45:27Z wsnyder $GCC: (GNU) 3.3.5 20050117 (prerelease) (SUSE Linux)$Id: dt_cursor.c 722 2005-06-13 13:11:36Z wsnyder $GCC: (GNU) 3.3.5 20050117 (prerelease) (SUSE Linux)$Id: dt_customize.c 721 2005-06-10 15:49:38Z wsnyder $GCC: (GNU) 3.3.5 20050117 (prerelease) (SUSE Linux)$Id: dt_dispmgr.c 722 2005-06-13 13:11:36Z wsnyder $GCC: (GNU) 3.3.5 20050117 (prerelease) (SUSE Linux)$Id: dt_draw.c 632 2004-09-21 13:01:51Z wsnyder $GCC: (GNU) 3.3.5 20050117 (prerelease) (SUSE Linux)$Id: dt_file.c 720 2005-06-10 15:41:40Z wsnyder $GCC: (GNU) 3.3.5 20050117 (prerelease) (SUSE Linux)$Id: dt_grid.c 720 2005-06-10 15:41:40Z wsnyder $GCC: (GNU) 3.3.5 20050117 (prerelease) (SUSE Linux)$Id: dt_print.c 720 2005-06-10 15:41:40Z wsnyder $GCC: (GNU) 3.3.5 20050117 (prerelease) (SUSE Linux)$Id: dt_signal.c 722 2005-06-13 13:11:36Z wsnyder $GCC: (GNU) 3.3.5 20050117 (prerelease) (SUSE Linux)$Id: dt_util.c 722 2005-06-13 13:11:36Z wsnyder $GCC: (GNU) 3.3.5 20050117 (prerelease) (SUSE Linux)$Id: dt_window.c 685 2005-03-07 20:12:49Z wsnyder $GCC: (GNU) 3.3.5 20050117 (prerelease) (SUSE Linux)$Id: dt_value.c 722 2005-06-13 13:11:36Z wsnyder $GCC: (GNU) 3.3.5 20050117 (prerelease) (SUSE Linux)$Id: dt_verilog.c 721 2005-06-10 15:49:38Z wsnyder $GCC: (GNU) 3.3.5 20050117 (prerelease) (SUSE Linux)$Id: dt_socket.c 721 2005-06-10 15:49:38Z wsnyder $GCC: (GNU) 3.3.5 20050117 (prerelease) (SUSE Linux)$Id: dinotrace.c 750 2006-03-13 18:03:22Z wsnyder $GCC: (GNU) 3.3.5 20050117 (prerelease) (SUSE Linux)$Id: dt_icon.c 657 2004-12-10 14:12:01Z wsnyder $GCC: (GNU) 3.3.5 20050117 (prerelease) (SUSE Linux)$Id: dt_ascii.c 627 2004-09-02 15:21:24Z wsnyder $GCC: (GNU) 3.3.5 20050117 (prerelease) (SUSE Linux)GCC: (GNU) 3.3.5 20050117 (prerelease) (SUSE Linux)GCC: (GNU) 3.3.5 20050117 (prerelease) (SUSE Linux)GCC: (GNU) 3.3.5 20050117 (prerelease) (SUSE Linux),F@+L 8C:@ F@<AC:@!{s_IO_stdin_usedwF@F@../sysdeps/x86_64/elf/start.S/usr/src/packages/BUILD/glibc-2.3/csuGNU AS 2.15.94.0.2.2^F@F@!(`NSintN HCWyV/usr/src/packages/BUILD/glibc-2.3/cc/csu/crti.S/usr/src/packages/BUILD/glibc-2.3/csuGNU AS 2.15.94.0.2.2yf/usr/src/packages/BUILD/glibc-2.3/cc/csu/crtn.S/usr/src/packages/BUILD/glibc-2.3/csuGNU AS 2.15.94.0.2.2%% $ > $ > 4: ; I?  &I%%Z1 ../sysdeps/x86_64/elfstart.S F@9;;I!rsuX  init.cC /usr/src/packages/BUILD/glibc-2.3/cc/csucrti.S 8C$ :@H F@ Hr:,-HoC /usr/src/packages/BUILD/glibc-2.3/cc/csucrtn.S ACH :@Hshort unsigned intunsigned charinit.c/usr/src/packages/BUILD/glibc-2.3/csulong unsigned intGNU C 3.3.5 20050117 (prerelease) (SUSE Linux)short int_IO_stdin_usedlong int.symtab.strtab.shstrtab.interp.note.ABI-tag.note.SuSE.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.text.fini.rodata.eh_frame_hdr.eh_frame.ctors.dtors.jcr.dynamic.got.got.plt.data.bss.comment.debug_aranges.debug_pubnames.debug_info.debug_abbrev.debug_line.debug_str8@8#T@T 1t@t<@HB @J@ Ro&@&_o@(@@(Pn(@(xh)@h)p :@:}:@: F@FY8C8HCHy.D. 8D8|2pTppTp pT p(pT(prTr rT r xT x< U@Q @%eiv+70aBX@>#  '8@T@t@@@@&@@(@ (@ h)@ :@ :@ F@8CHC.D8DpTpT pT(pTrT rT xTU !"# 6=Hx F@pTpT pT0xTV F@ @G@pTpT(kD pT" C=8ht8xTVgVgV m@B p@VQgV y@Rn+7gV>oVGoVXg@xT@v {ToV &A (A ЅA A: A2oVwV7{V A=!, 0A?K B\ !Bo PB`7VVV2 B9 B CnVV NC U-V:VOV`UqV~VV WC4V0V `ZCPVHV(V 8V V' Vd.@VAMVYc@UuU  B[ BY @@U Ab @BO pB1 PB:GnYx BG 0CU| CG' A @B'|* @B9 AV Be `B6r~  B AdV PB hV 0Bk l@ @BM$ AY3 -A@ @H PBnXf} nB7 P7C5 ' AU# 0Ba %C  `A  A (pT(  5A7  0BI  BU [a Pq  B)}  B] xT  BF  A5 '   Al  &A  A/ ' 0  A'D  C!L Z a 'w  C  pB  C  0B  @BW  pBG  PBl  ЄC   вB  3CJ/  `A5C W  B{i q  БBe}  pT  0A<  2A0  @Be  `Bj   B  pB  @# 3  pw@RI  AgV e  0BZm |  B1    &A  #B  @q  @  C  @  `~B@  B4  @GE  ]BZ tq (xT~  3  A   IBl L  PCL  2A&  BP Ah 'y8 4CIQ P]C^Ms A@h Cn 0@ Cj @U . 0B0 pA44H\qU C! p@4 pB ЕB'- 0CY`W8- P@@ B'L :@R C]p B'U;N B 0@k' @ Bi&C7L A@] Bl 0A5 NB A p8A{e Bf pAm @A B$'=>L<\ Bi @u'L AO aB 0B%PW 5 BAC BN @BZn B V@`w C PTCymxTp YB $' EC_;'MN`;t @e Bq `C B\ Cd `VB Bi B A |2 @8@ AJ 0@[ 0RBn @@ Ce @{ `@ ' B @ B 0B<" 0dC/;9 PA&I AR Ba Bp B F@ `B|T B\ BN4  C71 BF: $BMd Btq @| @7A& 4A RB}  lB `C PBs  A T+ pv@<hG CWa P4C_w A# 0B  peBB ]@  B A CG- @BaE CxT 0Ba|HW @B5 B PCM p:B  p*AC' B1 pAk B/ AnO `BQ]q+  PB P@G<  Bv PMB12< j@T lB=kpT~ `@ CV PCM  BT @'U A  PAM Ca) A3 PBBV Acp~ P@e U BG $BqlpT Aj`W  Ao&xT7 ACMUdx9   C @AS BTU@" ]@!8  xTCS `Bb BRk} AH `BW@ BF`V8C `AY FC 0LB @x B\= EB QoVi KB${] B)= BC A  BP n& 9  pA1G Z  p@Ie  pBJw   @e  @V  B '  B  PV !U@!! A+! CA! hBBT! Ckb! B%v! p6B! B[! BZ!! B!! A_! pBF" `A"H2"rM" A\" 0B%k"v" B"U"h" rT" W"p" BV""###2# B@K#XWX# Crq# @@z# BJ## CN#u# 8A5F# B+#V# *Cf$ @ $$*$cB$ CO$ AZ$ V8j$ Bpu$pT$ B$$ MB<$$3$$ *A$HC %% @,% ~Bu<% p@L% AK^% Bj% B5|% @B %% CC % B%'%%X% xT% ]@& pG@!& 3&\L& B{`& V t& A&&'&& C#& BR&E&$& A& @@'@ VY ' VC '4'>' BT''a'o' BE' @ '|' abi-note.Ssuse-note.S../sysdeps/x86_64/elf/start.Sinit.cinitfini.c/usr/src/packages/BUILD/glibc-2.3/cc/csu/crti.Scall_gmon_startcrtstuff.c__CTOR_LIST____DTOR_LIST____JCR_LIST__p.0completed.1__do_global_dtors_auxframe_dummy__CTOR_END____DTOR_END____FRAME_END____JCR_END____do_global_ctors_aux/usr/src/packages/BUILD/glibc-2.3/cc/csu/crtn.Sdt_binary.cdt_config.cconfig_fileconfig_line_numconfig_report_errorsconfig_reading_socketconfig_read_on_offconfig_read_colornewsigst.0processing_sig_state.1config_process_line_internaldt_cursor.cstrg.0last_x.1simview_cur_id.2dt_customize.ccus_write_textdt_dispmgr.cactionslast_set_cursor_numdm_menu_subentrydm_menu_entrydt_draw.cdraw_vscrolldraw_hscrolldraw_grid_linedt_file.cmsg.0msg2.1dt_grid.cgrid_calc_autodt_print.cprint_range_createdt_signal.csig_sel_sort_cmpsig_cross_sigmatchsig_sel_update_patterndt_util.cunits.0date_str.1dt_window.cwin_note_cancel_cbwin_note_ok_cbdt_value.cval_str_lwenabled_lasttime.0strg.1val_examine_popupdt_verilog.ccurrent_fileverilog_textverilog_line_num_incverilog_line_numverilog_max_bitsbuf_length.0buf_ptr.1buf_valid.2verilog_gettokverilog_eofverilog_fdverilog_enter_bussessignal_update_array_last_pptrsignal_update_arraytime_scalesignal_by_codescope_levelscopessignal_by_code_maxdt_socket.cdinotrace.cdt_icon.cbigdino_icon_bitsdino_icon_bitsdt_ascii.cXFreePixmapwin_begin_cbwin_resize_cbstrcasecmp@@GLIBC_2.2.5cur_add_cbfiletypesgrid_calc_autosoption_to_numbersig_highlight_next_cbXtOverrideTranslationssig_noteXtAppPendingXCreateFontCursor__libc_start_main@@GLIBC_2.2.5sig_waveform_selectedstring_to_valueXmCreatePulldownMenuwin_chg_res_cbXmCreatePushButtoncus_read_cbread@@GLIBC_2.2.5vscroll_pagedec_cbsocket@@GLIBC_2.2.5XmCreateMenuBarwin_dec_res_cbgrid_customize_sensitives_cbstring_to_timeget_geometryXDrawStringXtGetApplicationResourcesXtSetValueswildmatdraw_analog_valueDTPRINTsig_sel_sort_cbfloor@@GLIBC_2.2.5DTDEBUGXSyncsig_delete_evconfig_error_ackvalue_at_timecus_restore_cbinit_globalscur_addtime_to_cyc_numXDefineCursorXmSelectionBoxGetChildsig_select_cbval_search_cbXmOptionButtonGadgetXmCreateFormprint_range_valueXtRemoveAllCallbacksdt_postsig_search_cbval_to_stringcur_stepcus_write_ok_cb_DYNAMICtrace_clear_cbposx_to_time_edgeprint_resetXtGetValuesXmScaleGetValueunmanage_cbsig_sel_sortwork_translationssig_basenametrace_reread_allXmCreateDrawingAreaXtInsertEventHandlertrace_read_cbDManageChildfil_make_bussesgethostname@@GLIBC_2.2.5XPendinggrid_primary_periodversionXtAppAddInputXtFreeXmCreateCascadeButtonval_highlight_cbwin_goto_option_cbusagevscroll_newhscroll_pageinc_cbsig_wildmat_addsubmenu_to_colorsocket_set_os_signalsgetenv@@GLIBC_2.2.5update_scrollbarval_annotate_ok_cbtrace_reread_all_cbaccept@@GLIBC_2.2.5res_zoom_click_evXtPopupsig_note_cbrewind@@GLIBC_2.2.5__fini_array_endcur_step_fwd_cbdebug_event_cbsig_del_cbsig_highlight_selectedXWhitePixeldate_stringtime_units_to_stringsimview_cur_createXmTextSetStringconfig_parse_geometrycus_apply_cbXtAppNextEventnew_resXSetForegrounddebug_increase_debugtemp_cbXFillPolygonlast_set_cursorsig_cross_preservecur_moveconfig_read_defaultshscroll_unitinc_cbcur_add_simview_cbsig_sel_apply_cbdebug_signal_integritysignalstate_findsig_sel_del_const_cbXmStringGetNextSegment__dso_handlepopen@@GLIBC_2.2.5XtCalloccus_ok_cbstrncpy@@GLIBC_2.2.5sig_goto_patternXAllocNamedColor__libc_csu_finitrace_closewin_full_res_cbcus_dialog_cbceil@@GLIBC_2.2.5XmCreateWorkAreaval_highlight_evXFreeGCsig_new_filememmove@@GLIBC_2.2.5grid_customize_reset_cbXCopyAreahscroll_unitdec_cbsimview_cur_highlighthelp_messagecur_add_current_cbXtShellStringsXmCreateScrolledTexttime_to_cursorXtIsManagedfil_select_set_patternfwrite@@GLIBC_2.2.5fclose@@GLIBC_2.2.5XmCreatePromptDialogstderr@@GLIBC_2.2.5val_zero_or_onecur_id_to_cursorXtRemoveInputprint_reset_cbsig_radix_cbXmCreateArrowButtonXtRemoveEventHandlerXtMallochscroll_drag_cbmessagefcntl@@GLIBC_2.2.5simview_cur_deletewin_goto_cb_initicon_dinosqsort@@GLIBC_2.2.5sig_search_ok_cbXmCreateGrabShell_XmStringsstring_create_with_crconfig_read_socketXtWindowlisten@@GLIBC_2.2.5cur_delete_of_typenew_timefeof@@GLIBC_2.2.5strlen@@GLIBC_2.2.5XtScreenOfObjectXmStringCreateSimplecur_step_back_cbwin_inc_res_cbtrace_create_split_windowXmStringSeparatorCreatesig_move_selectedtrace_reread_cbset_cursorXmListAddItemwin_goto_ok_cbXTextWidthcur_newgrid_customize_align_cbsig_highlight_cbgetsockname@@GLIBC_2.2.5XmStringConcatXtDispatchEventwin_full_rescur_move_evXmCreateMainWindowinet_ntoa@@GLIBC_2.2.5__strdup@@GLIBC_2.2.5help_trace_cbsig_sel_del_const_xz_cbstrcpy@@GLIBC_2.2.5ok_apply_cancelXmStringFreeContextfil_line_numfprintf@@GLIBC_2.2.5upcase_stringsig_add_evsig_copy_evperror@@GLIBC_2.2.5sig_highlight_current_cbnever_just_to_avoid_unusedmemcpy@@GLIBC_2.2.5val_transition_cntval_examine_evXmToggleButtonGetStateresourcessig_sel_del_constXmCreateFileSelectionDialogval_search_apply_cbXmCreateScrollBarfgets@@GLIBC_2.2.5strcmp@@GLIBC_2.2.5cur_mov_cbposx_to_timeval_update_searchvscroll_unitinc_cbval_states_updatetime@@GLIBC_2.2.5sig_sel_add_list_cbwin_end_cbXtAddCallbacktime_to_stringcus_read_ok_cbXmCreateRowColumncur_time_lastfree_datacur_highlight_cbsig_sel_pattern_cbabort@@GLIBC_2.2.5cur_highlightval_examine_cbcur_highlight_evsimview_initXmCreateLabelXtAppCreateShelldino_message_acksimview_cur_movesig_rename_selectedsig_find_signameverilog_readXtPopdowndraw_namescrollfil_readsig_add_sel_cbposy_to_signalXmListDeleteAllItemsprint_req_cb_starttime_units_to_multiplier_IO_getc@@GLIBC_2.2.5dinodocprint_sig_infodebug_print_screen_traces_cbXtWindowOfObjectsocket_sig_hupasctime@@GLIBC_2.2.5win_notesig_modify_enablesXmToggleButtonSetStatesig_radix_evcur_deletetrace_close_cbtrace_exit_cbsig_sel_del_list_cbXtManageChildXtDisplaysig_highlight_keep_cbascii_readsig_waveform_cbfflush@@GLIBC_2.2.5grid_customize_cbXParseGeometryconfig_read_gridXSetDashesvscroll_drag_cbXChangeGCval_annotate_apply_cbsscanf@@GLIBC_2.2.5draw_scroll_hook_cb_exposesig_sel_ok_cbfdopen@@GLIBC_2.2.5sig_sel_del_all_cbconfig_write_filesqrt@@GLIBC_2.2.5sig_highlight_evgrid_reset_cbval_radix_findprint_sig_info_internalval_radix_initprompt_ok_cbXtCreateApplicationContextglobaldinodisk_directorysig_print_namessocket_accept_cbsig_cross_restoremalloc_traceXmCreateToggleButtondebug_decrease_debugtemp_cbgrid_customize_ok_cbvscroll_pageinc_cbgrid_customize_widget_update_cbsig_cancel_cbprintf@@GLIBC_2.2.5XmStringInitContextlocaltime@@GLIBC_2.2.5fileno@@GLIBC_2.2.5XmCreateErrorDialogopen@@GLIBC_2.2.5cancel_all_events_cbcur_examine_stringXQueryColorfgets_dynamic_extendsig_copy_selectedXListFontsconfig_update_filenamessig_highlight_clear_cb__fini_array_startcur_free__libc_csu_initval_annotate_cbsig_mov_cbcur_time_firstXmCreatePushButtonGadget__bss_startXtDestroyWidgetprint_dialog_cbcus_reread_cbmainXtAppAddActionsfil_ok_cbposx_to_cursorsignal@@GLIBC_2.2.5cus_write_cbXSynchronizeXtOpenDisplaycur_del_cbfile_formatwin_expose_cbsig_replicate__strtol_internal@@GLIBC_2.2.5__init_array_endXDrawLinedraw_performxgcvXmStringComparegrid_customize_option_cbkey_translationsdraw_updateXtDisplayOfObjectXLoadQueryFontXtToolkitInitializestrchr@@GLIBC_2.2.5memset@@GLIBC_2.2.5XmCreateWarningDialogXmCreateInformationDialogval_equalXmCreateSelectionDialogfil_format_option_cbsig_copy_cbval_state_nameconfig_trace_defaultsdata_startXmTextGetStringstrcpy_overlapsig_moveXtAddEventHandlerhelp_cbchange_titlearglistwidget_to_traceDebugTemp_finigrid_examine_stringval_examine_stringsig_wildmat_selectconfig_read_filesig_wildmat_select_color__ctype_toupper_loc@@GLIBC_2.3sig_delete_selecteddraw_orig_scroll_exposesig_update_search__strtod_internal@@GLIBC_2.2.5print_direct_cbstrrchr@@GLIBC_2.2.5fputc@@GLIBC_2.2.5extract_first_xms_segmentdraw_update_sigstartcyc_num_to_timeXmCreateScrolledListfputs@@GLIBC_2.2.5trace_open_cbscanf@@GLIBC_2.2.5cur_removesig_note_selectedexit@@GLIBC_2.2.5cur_note_cbXAllocColorapplicationShellWidgetClasssig_move_evbind@@GLIBC_2.2.5sig_examine_stringXSetFontxmRowColumnClassReceventsXmStringFreehelp_doc_cbascii_string_add_cptrsig_sel_add_all_cbsocket_createsig_search_apply_cbsig_copyhscroll_pagedec_cbget_data_popupsprintf@@GLIBC_2.2.5posx_to_gridpclose@@GLIBC_2.2.5grid_customize_apply_cbwin_goto_cancel_cbprint_range_sensitives_cb__fxstat@@GLIBC_2.2.5gethostbyname@@GLIBC_2.2.5print_internalfile_directoryXNextEventremove_all_events_edataXtRealloc_GLOBAL_OFFSET_TABLE__endclose@@GLIBC_2.2.5win_zoom_res_cbXtRealizeWidget__errno_location@@GLIBC_2.2.5XSelectInputXGetGeometryXSetLineAttributesdebug_integrity_check_cbdmanage_lastwin_namescroll_change_cbcur_noteadd_eventXmFileSelectionBoxGetChildwin_refresh_cbXDrawSegmentscreate_tracevscroll_unitdec_cbputs@@GLIBC_2.2.5val_annotate_do_cbcur_writefree@@GLIBC_2.2.5XClearWindowXtParseTranslationTableval_minimizecur_add_evxmLabelClassRecsig_add_cb__init_array_startprint_cptrXFillRectanglesig_wildmat_signamefopen@@GLIBC_2.2.5XDisplayNameputchar@@GLIBC_2.2.5create_globals_IO_stdin_usedXmMessageBoxGetChildcur_delete_evsig_waveform_evcur_add_next_cbhscroll_expose_cbsig_note_evsig_wildmat_clearsig_sel_sort_base_cbXmListDeleteItemval_search_ok_cbfgets_dynamicXmCreateScaleXtUnmanageChildXFreeFontNames__data_startconfig_global_defaultstempest_read_Jv_RegisterClasses__ctype_b_loc@@GLIBC_2.3debug_statistics_cbxmScrollBarClassRecfil_trace_endXUngrabPointerXmCreateSeparatorXPutImagesocket_input_cbsig_freeXCreatePixmapXmCreateFormDialogtrace_rereadcur_note_evXtStringsval_examine_popup_actstrcat@@GLIBC_2.2.5XCreateGCdebug_toggle_print_cbXmCreateTextXmStringEmptysig_radix_selectedcur_clr_cbXmCreateOptionMenu__gmon_start__