MZ@ !L!This program cannot be run in DOS mode. $;v's } I~ { w s} z t ~ K~ ~RichPEd9~h" ,P@`\ \ 0`@qp@.text `.rdata@@.datalf@.pdata\ @@.rsrc @@.reloc`0@BH HHH Ht H)uH%H\$WH0IHQLD$X\fu|HL$XXfuKHL$X/fu:HL$XLL$@AHD$(LD$ fu D$@|HL$X3HT$XH\$HH0_@SWHxHH3HD$PHH `HHH$L$Ll$pLt$hL|$`f@@@@@@@ @@$@GHOLD$8LM3AfD$0HD$0HD$ fuF.H$HL$8CHHtHL$8UHNCHCH$HOHD$0'HD$ ALD$4fu |$4YCHOHD$0oHD$ ALD$4tfu |$4YC LCHLC HLC$H]LCHIL|$`HLt$hLl$pL$H$HL$PH3Hx_[H\$Hl$VWAVH HHHt9H L LH}cHHucH/u Ht3HHHtHt'H LHHtH+u H6H\$HHHl$PH A^_^HE3LHLHuH.uHgE3HHI.Hu IH.u HH/u HH,H HHHH5HL$HT$LD$LL$ HT$LD$LL$ H(H(H\$UVWH HIHIHHt H)u3HkH+CHH;=@kHGHl$@LHHHD$@HHHu#H+H(HH\$PH _^]HKHuH YH-HHL$@HD$@Hu#H+H\$PH _^]/HD$@H+Ht(HKHHtH)uHD$@H H{HH\$PH _^]H\$Ht$WH HH|H@uHpH(HHu:3H\$0Ht$8H _LHHH\$0HHt$8H _HSHpHhHHpIHxLpLLxIcE~k%LúgAHHHft8E3H>L3mHHtHHHH+u HE3AHtHFt HdHHL|$PL L|$@LED$HHL$@I7H\$@Lt$hH$HNfD|$8AL|$0LfD|$(3HL|$ HH fu:E3HL3lHHtHHH1H+u H2HL$PL|$`H$H$Ht H)uHp[HIHt H)uH%zHWATAUAVAWH@H@HXHhHp MIDLE3LpLp@IHt5IH΅xHcsH]H;RFDHFsH/s/L+MMEHHL$(_Ht$(Lt$8H2HYHIH~OfDHHHH$MLAItUHtH+u HHH;|MtI.u IH\$pHl$xH$H@A_A^A]A\_HH+H2LNMILOH8H3.i2H)H{HDLAI6HRf@E3MH3#jHHtHHHvH+u HHعIH2HDH HHUVWATAUAVAWHPH@HXEDL$ILx3Hh(HL$H{Hoft?E3E3HK3DiHHHHHH+HxL$MHl$0Hl$(Hl$ HH\$8MtQIFs-LHIHHD$8HHsIHHLL$ LD$(HT$0I tXHL$(HAtgLLD$ H$LL$ LD$(HT$0IuHtH+u H MEH$L$ItH LHuEHعH$HH H+HH$IFMnIn(AAn8IHM~@AFH HHu HAINPfA^XAF` HHu HAINhfA^pAdž bHHu tH?<AIfAAFx HHu )HAIfAI9~PI9~h{I9nHeEu|"HAMFfINHftGE3MFHIeHHHHHH+H@8$ttHE3ɺeAINIHmft@E3MFHI@eHHHHHH+uwH(lIIKHHtY@AF AAF!AAF0AAF4AAAAA AA$AIH)ujI.u IHtH/u HHH$HPA_A^A]A\_^]H\$VH0HLL$PHLD$XHHtyH|$@?LcD$PAT$XHHNHH|$@ftGLFHE3HcHHtHHH0H+u H3H\$HH0^HeH\$HHH0^@SH HHHHt H)uwHǃHHH [H\$ UH LA3HMtnHHt$8H H|$@HzHjHH9kuAHHHHH|$@Ht$8HK(Ht H)uHKPHk(_HKhHkPQHHkh@HH,HK@HHt H)uXHHk@Ht H)u<H3H\$HH ]@SH HHH [H%c@SH HHHtUHKHρH;t Dt;H{uH HU3H [HUHNHH [H .HH 3H [@SH HHHtJHKH?H;t t0H{uH BH[3H [HH [\H HH 3H [H\$WH HHHtlHIHH;t 5tRH{uH HLHr\HHtBHH0H+Hu H}HH\$8H _H HqH H\$83H _@SUVAVAWP~H+Hd{H3H$@HLHHIHH;tdI~uH HLD$4HHG5zDL$4L=)3IϋfA;t>AA;tHrƁuH}L3]!H$fl$0OT$4LD$@INHHD$0AHD$ (HH$ftGMFHE3I^HHHHH.H+HATtDt)tuML$@YH[L$@JHLHT$0HL$@H6|$@YH-HD-HEHH HTH 3H$@H3 HPA_A^^][H\$Hl$Ht$ WH HiHDHHHft=E3HrLH]HHtHHHH+u H3 H0HH\$8Hl$@Ht$HH _@SH HHHt]HKH/}H;t tCLCMuH 0HI3H [HH 3HH [H HH v3H [@SH HH?Ht`HKH|H;t tFLCMuH H3H [HH I HH [:H HLH 3H [@SH HHHtZHKH{H;t dt@H{uH H u3H [H{H9HDAHH [H IHH 93H [H\$Hl$ VH HHIHHNHO{H;tH~uH NHgHu H.HH|$83@ HNALźfHHH|$8ftLFHE3H%YHHtHHHxH+u H3HT$0HL$@\HF(HHF(HL$HH3H\$xHP^@SH HHOHtPHKHxH;t t6H{uH H%3H [HcH [H%2H HlH 3H [H\$WH HHIHHOHxH;tyHuH HHu H iHHuct5}-H HHAH H\$0H _É3H\$0H _HH H H\$0H _@SH HHHtLHKHwH;t t2H{uH "H;3H [ËK8H [H%H HH w3H [H\$Hl$ VH HHI3H"HNHvH;tH~uH ~HHu HH@Hcu" HH HyH HH|$8HNLźqAHHH|$8ftH|$AD$@|thH$ILd$xA-L|$pHD$\H;s1t  _ADĈHHǀ>uL|$pH$Ld$xIf|uH HgMH ;v$tH H^DH I]HHu HHT$@HH J$HtۉExfE@HT$@H 0HtExfEHT$@H HtExfEHT$@H HtExfEHT$@H pHtExfEHT$@H BHtExfE]HT$@H HtExfE2HT$@H HtExfEExfH>He@SUVWATAVHHjH3HD$pLL 7MHL$@HL$0LHHL$HHL$(3HL$DHt$HHL$ IHȉt$@twD$Dt(t(=tH H>DH bHuAH=A`DDHl$H\$@Hu6H BHH 3HL$pH3kHĈA^A\_^][H|$QD$P|@8uthL$HA-L$fHD$lH;s1t  _ADňHHǀ>uL$3L$Hf|uuH HLH W8v$tH YHDH .HHHu CKL&;HT$PK|&H HtC&fEDHT$PH qHtC&fEHT$PH BHtC&fEHT$PH yHtC&fEHT$PH jHtC&fEHT$PH KHtC&fE\HT$PH ?HtC&fE0HT$PH 3]HtC&fEC4&fCD&HHbH(HHqHH(H\$Hl$ VH HyHH3H|$8H3H;G@HVDHWHkH|$8ftZLFHfHHHDE3+KHHtHHH~H+u H3H\$@Hl$HH ^HH\$@Hl$HHH ^DD$SUVWAUHHA33HLƄ$,H9pu%HLv37I2HĠA]_^][L$HL$L$NLHD$pZHD$PLLMMHE3$Dt$h5AvIMDHMHD$\HD$@HD$`HD$8HD$xHD$0H$HD$(HD$XHD$ HMUMBMfhHT$X;~)fIEHcH3H#LNMLA ttt fA{u ML$EfD腗LH D$xAԉD$ MIIHH$t9E3HHH HHH HHu HHIM$HtHt L45f@f;Vf;tpLM @tIML$\LM=wH;H@@@HL觘tHH L@2gHH wҘL@2IL@=L<1H8L"H)L@HL@LL5L5HT$xDL$`Hu<$w,LMHA8AIfEtAQ*HT$xLt$8H DL$0MʉT$(T$ HkHHGLct$hAiHH HL$PLHH/u H}H|$pJtHtH+u H_EDd$hD;$9Ld$Pi33Ld$PH\$pH+u HMtI,$u IHtH/u HHtH.u HI$L$L$L$HĠA]_^][HfHXHSH+IHu;HtH+u H\3MI.I>HH+MMHIEHHHHHVH+PHL3CH|$pIM`Ht H)uI}`MepƄ$<<p=5=k< =)=A=`=P=k<     f===============Ht$WH ‹$ H<uHI Ht H)uHG HOXHtHGXHGHHxHt|H\$8$<u H3HOHHO}HHGH\$8Hxu"HLF3A2Ht$@H _HO`H; t!H)uAHHG`HHHOpHtH)uHGp@u!HOxHt H)u34HGxHt$@GlH _H\$Hl$Ht$ WH Ho3H9n8tHt9L3HLǺHpHIH+t6f H.u HHtH/u HHtH+u HfI"IIMxHt H)uMexH$H$H$Ld$p3HL$hH3hHxA_A^A]]@USVWATAUAVAWHl$HHTH3HEE3AILLMIHu3H H;t'~uHL3H7H IHH+H~\DLIIxH5[IOMgHLd$HWHMw 0IO Ht H)u[I_MwMo LHIH(HH/Ht+H~H IOLIGDHD$HHV uwIH.uHMgLd$HMgE3H5cILAMu0IO8Ht IcW(5]Mo8HLK3 6lftpfcfd2M $H,7HHtHHHH+u HI8IHxI $fu IBfcH5HugI $HT$8HHGfv fH o*cSHL$8HA8HH@u"HH;tHHL$8HA8HL@L;t"IHL$8uHHHH)HI8HL$8LHI8LE3HL$8Hq@HtII+H;HMIK.LLH IFLHHHD$HHHmf)LM;|Ld$HE3f9qHI81HL$8IHQPH;HI8LHtH(u HIIH]MfffHD$8HIHXHHHtH(u HWD$ 3LMLHEHIEEEEEEl^ Efct$B #fctf;BD#f9E}B|#0t JL#JL#8Ht H)uHE(EHEHEHEB#(MBL#(EBD# (MBL#0(EBD#@(MBL#PEBD#`J9D#u HCXIJD#IHIhH;Ld$HHD$8gH@PLHrHT$8LB HRI $HhHDfyIOH6MOLA3HHtHHHdH+u H3HMH3ϨHA_A^A]A\_^[]IOMOHULAI8t=IGHxt!IOHHIcW(IO89XMo8HL31pI8cIGHxt!WIOH%H4IcW(IO8WMo8!HuI8t=IGHxt! IOHؾHIcW(IO8WMo8fduIIEolftIOHMOLAHEIOHUHH{ftIOHMOLA6HUH AWlfDl$0DIOHT$0HHftIOHMOLAT$0H IGHx^D$0ftFIH ԶHT$0IH;(AIIH\$WH HHHL@H,HsoH9CHCHu H H{tHxu HMy$H HH 3H\$8H _Ht$0HwHFu)H qHH aHt$03H\$8H _E23IuNHG HHuHyH;t t)HG E2LHHHt$0H\$8H _M~HALHHHt$0H\$8H _HgH 0H\$83H _@SUVWAVH0HD$ LHHHmH9AHAHu HHytHxu HAlLL$`LD$pHIHD$pHHuHHH H gHL$`HA|HH;lHHL$`VHKHAH;t4HauHL$`2u HGHL$`HHAH;t!H$uH\$`H\$xHHL$`HHD$x3HHHtH/u HlHHt$(Ht2E3LHT$pHHtH(uH8El Ht>HtH.u HH(H+H3H0A^_^][HtH+u HоElHrHH0A^_^][LHu H}Ht) HGLD$`HT$pHn3M~@HHL$`*HE3LHT$pHHHtH(u H%H.u HHt HI;|4El3H0A^_^][H)H |3H0A^_^][H\$WH HHHHjH9AH9?u0HIPHt H)ux3H_PHHH\$8H _HJuH6H;tu H8HOPHt H)uHH_PHHH\$8H _H6H H\$83H _@SWAVH LƼINHHINLAMuHLb3H A^_[)fdt;ft?MNH{N*HHtHHHH+u H:3H A^_[IF`Hl$HHt$PHhH HHuHl$HHt$PH A^_[3ۋH~!DHI7HtKHHH;|L|$XH M~pMv`ʺHHtOILpILxL|$XHp(Hh HtH Ht H)ukHH;|H3RH~H Ht H)u9HH;|HL|$XHH\$Hl$Ht$ WH HH36HHtgfDHtH~mHHHt,HHH+u HHHGHDHcHt&H.u H3H\$0Hl$8Ht$HH _HHHH(HtOH`gH9AuBHAHu H7HytHxu H HyXu HH((H1H 3H(H(HHQH(H fH9HHHHuHH *3H(HxtHyuHH w3H(HxXuHH U߷3H(H\$8HH|$ VHHu:HtH|$ 3ۋH\$8H(HH|$ HHH\$8H(Hx H HH f3H@(HHHG(HH/u HH|$ HH\$8H(HH 3H(H(HHHtmH ueH9Hu`HHHu HUHxtHyu H>HxXu H.H>Hu0ӶHu#HHH(H(H {3H(@UH HHOHHdH9EHEHu HH}tHxu HH}Xu HHt$@3H|$HHHHuH|$HHt$@H ]H\$8HtH~XHJHHt,HHH+u HHHGHDHHtH.u H̶3H\$8HHt$@H|$HH ]HH >3H ]@SH LHHtyHcH9AulHAHu HaHytHxu HJHyXu H:AhLD$0IɉD$0HGt'HcT$0HH [H?H 3H [LI[IsWHHL ]3IKIKIIKIsIKLIKIsIKLIKIsIKHIIsHt'HbH9CuHCHtH9st H9pHDHH1HL$PHLL$`HT$hDfD$@HL$8HL$XfD$0HL$(HNfD$ H۳ftSHNH!LNLA"HHtHHHH+u H3L$I[IsI_HNH$HVHZftHNHLNLAz$Ht$AH4tHHk@UVAVHl$HHL }yE3HM'HL$8ILLuHMLuHL$0L'HMLuHL$(HHMLu'HL$ IxHt&H`H9FuHFHtL9vt L9pIDIH5LMH$H^HÐL$L$Lu/ML; ;Duu"IAtIHEIAILuItHSLIHHEHHt_HBuH)LuunfHXHuH + H:HHMHEHu%LHELuHtHE/H HEELuLMMH$ML; ;Dmu%IAtIHHEIAILuItHSLIhHHEHHtbHBuH)ILuusfkH=HuH  ~HHHMHEHu'1HEILuHtHx LH} ELuILMML$ML; ;Duu!IAtILIAILuItHSLILHHEHHt^HBuH)MugN_H%HuH fHHHMjHEHuHEMHtLL` EMHM'HMH; @;xHAdH2}u H}}u H}u Mu HqLMHHU߸HNDfD$@H\$8fD$0Ld$(fD$ 3H'fHNHLNLAHHtHHHGH+u H3L$H$H$MtI.u IMtI/u IL$MtImu IHE/L$HtH(u HaHHA^^]HALuHSL/HEHtlHHu3H(WHIHϢHuH HHHMHEHu3HE3HLHX 3۰HNHUHcHgftHNHLNLA?UH TUAHE=H73HA^^]H\$UWAVHHaL 2UHD$PMH[L`HD$XLE3HD$XHD$@HHD$PLt$pHD$8IHD$hLt$hHD$0IHD$pLt$`HD$(HD$`HD$ Ht&H}YH9EuHEHtL9ut L9pIDIHHL$PH$HL$XLL$hAκHDHD$`fL$@HMAfDt$8fT$0HD$(fT$ HT$pbHH$ftRHMH,LMLAoHHtHHHªH+u H[3H$HĀA^_]GHMH$HHftHMHLMLA{$Ht$AHuHEHkH\$Hl$Ht$WHH*MHD$XLOLHD$XHD$8AHD$`HHD$0L qHD$h3HD$(IHD$pH\$hIHD$ H\$`ʨHt&HNWH9FuHFHtH9^t H9XHDHHHL$XHL$pLD$hDf\$HHfD$@fT$8HL$0HL$`fT$(HL$ HNңHftWHNHDLNLA_HHtHHHH+u HK3L$I[IkIs I_2HNHT$PHH ftHNHLNLAyT$PHtT$PAHyHHpAALI[IsWH`HL GIKIIKL@IKLIK3IKIsIKHIIsæHt'HGUH9CuHCHtH9st H9pHDHHHL$PHLL$@HT$HDfD$0HL$(HNfD$ HftNHNHLNLA~HHtHHHѦH+u Hj3H\$pHt$xH`_ZHNH$H-H1ftHNHLNLA$Ht$AHtHHHt$xH\$pH`_LI[IsWHHL ]3IKIKIIKIsIKLIKIsIKLIKIsHL$0HIKIsHL$(IKHL$ IIsIsդHt'HYSH9CuHCHtH9st H9pHDHHHL$pL$HH$DfT$`HL$XHL$xfT$PHL$HHNfT$@HD$8H$fT$0HD$(fT$ H$HftSHNHLNLAWHHtHHHH+u HC3L$I[IsI_.HNH$HHftHNH{LNLAz$Ht$AHtHHkH\$Ht$WH0HHI3LD$ Ht$ HHt'HtQH9CuHCHtH9st H9pHDHHtg%T$ HHNHftNHNH5LNLAHHtHHH#H+u H3H\$@Ht$HH0_HNHT$XHHftHNHLNLAT$XH-tT$XAHitHHHt$HH\$@H0_@SVWH HH蝠HHPH9FH~HNHݜHɡdu HwH(HH _^[fteH @HNHLNLAh HH(t!HtHKHH+u HC3H _^[Ãu H!HNxHt H)u3UHFx HNHT$@HHft3HNH[LNLAHHvHH _^[úH^D$@ftFHZ?H HT$@HH;Av PHNHT$PH^H*L$PNlft-HNHqLNLAHHHHHpHH _^[LI[IsWHpHL MIKIIKL8IKLIK3IKI[IKHII[I[Ht&HMH9FuHFHtH9^t H9XHDHH.HL$PHLL$XHT$`Df\$@H\$8fD$0HL$(HNfD$ HݞftPHNHkLNLA HHtHHHH+u H3L\$pI[IsI_HNH$H[H_ftHNHLNLA$Ht$AH<zHL\$pI[HIsI_LI[IsWH`HL _IKIIKLXIKLIK3IKIsIKHIIsIsHt'HKH9CuHCHtH9st H9pHDHHPHL$@HLL$HHT$PDfD$0HL$(HNfD$ EH ftNHNHLNLA HHtHHH-H+u HƝ3H\$pHt$xH`_HNH$HHftHNHLNLA$H1t$AHjtHHHt$xH\$pH`_@SWH(LHH3H3JH9A"HAHu HQHytHxu HWHyXu HtLD$@IH*|$@uHLHH(_[Hl$H3Ht$ H9|$@~)DfuHKE37;t$@|HCHt$ Hl$HftfdtHKHLKLA HHt9HHHWH+u&H3H(_[H H s3H(_[H(HtDHHH9Au7HAHu H,HytHxu H3HH(cHH u3H(H(HtGH`HH9Au:HAHu H/HytHxu HHH(H9H 3H(H\$VH HH[HHGH9FHFHu HH~tHxu HH|$8HNHH^fH|$8tIHNHLNLA*HHtRHHH}H+u?H3H\$@H ^HHH\$@H ^H-H H\$@3H ^H(WHpHH(@SH0HH/HHFH9CHCHu H͹H{tHxu HӹH|$HHD$@JHKLD$@AHD$ H<HH|$HftHuHH0[H|$@tHmHH0[HH ތh3H0[H\$VH HI;HHEH9FHFHu HٸH~tHxu H߸HuH HH HH|$8ї3ۅ4HNE3LúHTHH|$8ftLHNHLNLAHHtMHHH'H+u:HH\$@H ^3H\$@H ^HܷH /H\$@H ^H\$VH LHHHpDH9AHAHu HHytHxu HHx3IiH H;H|$8HVE3HHRHH|$8ftIHNHBLNLAHHtUHHHH+uBHy3H\$@H ^H HHH\$@H ^HH VH\$@3H ^H\$Hl$VWAVH0HH 4C.HH<Hh3HFH HF F(HF0HF8HFPHFXHFpFHHN`FhFlHjHFxHEHF`HHFxHHULFHH|ft E3H[@}8t}eLcE8E3HN3HH;ftNLNHLEH HHtHHH`H+u HH.u H3#HVH cHFLHD$ LBvHH\$PHl$`H0A^_^@SH H+AHH u>Ht H)uwHH HHHt H)uN3THt H)u9H E3HHHtHHuH [H Ht H)uHH H|$0Ht&HHu@2@H|$0H [H UE3HHHt"H Ht H)uH=@H+u Hp@H|$0H [LD$LL$ UVWAVHH3L|$8MLHHt@89uH-H\$@HuNHtB@8}tHtH/u H*H\$@3HHA^_^]@USVWATAUAVAWHl$HH0H3HEHMIH LMIHU{3EAEED}:LH@Ht EHHtfM HyfEH]E3DAfEefDeDefDeNMLMHEHEHHD$8HEfD|$0Ll$(HD$ ɋHf~UA;fIDD}HcHHHLHULMMHHEEHD$8HEfD|$0H\$(HD$ 6HrfUHEfDeHt LL͑HL :HI>HfD9e HfAHEHM@HUH;stHHHUH;rHEL HD$(HUELD!H D$ HHtH.u HHHfA{EL LÉD$ HUH HHHHLHHtH.u H.H/IuHfA fAHtH+u HD}H]IHH.wHƎikIjH+PHBH/u HH+u H|I+HtL9fu4H ADe_HHtH.u H@HHD8eHEL5LEE8&t2IL=қIND;IJ;蜀t>HHHrH=HHu"H.ugHIfHIDH8LƺH͉IHtL3HHHLH+u HcI3HMH3*qHĨA_A^A]A\_^[]LL$ fDD$SUVATAUAVAWH@3AALH$HDHH$H=t=ht AwAABAHALE7LHuI2H@A_A^A]A\^][fH$H$@IH\$0H+gD$M 7IMHHD$0HD$(H|$ #H'DL$0H kDŋft dfHD$0H HuI+DNj{H.H;|SI+H+DNjH^H$H(L$0IMIMHtqH$L3I+3DH$H3IMHԵMMLA'HHt/HHHzH+uH2lI2YHD$0yHD$0HH$̓tH~H$L8H$H0 I]H$H@A_A^A]A\^][@SH0HAXLRB=t=ht v2D$@AHHD$HHD$PHD$PHD$(LL$@HD$H`ADHD$ HYDCu3H0[À|$@tHHH0[HT$PH|$XH|$HHuH 4 trtNt*HtLCL |L}mLL$@D$@LaHNLL$@D$@LBHɆ/LL$@D$@L#HLHHHHH|$XHH0[LSVHXHYIC ICMK3D$pICIsDCpIs ICvu 3HX^[@8t$ptH;HHX^[H$Hl$PH$H|$HHuH ˩K`t~thtNt*HtLChL &0dLYUD$pLL$pLH6DŽ$L$ى$L$LÉHHHH '|L LͰLt$@HqHD$ ZLHH|HtUL{E3H |HIHIHu HuPIEHu I*H {E3HoH {E3IZIH+Hu HH/u HކLt$@HH|$HHHl$PHX^[H\$Ht$ UWAVHl$HHH3HE?LHEH|HNAVHLMHEA]HD$(HD$ 7H;ftCHNHLNLA HHtHHH_H+u H3H}uHHHFXK vȃ zt]Plt tJMjDEMbeHTzM DUALP@H@HD$(H!HD$ A5Mf} fM'f;~fEMbeE HM-lEE+E E7E'E E#EEEEۀHyU'M+DMlLP8H@DE#HD$@HbHD$8E|$0D$(ED$ AgD]DHGy]DE U LP8H@HD$@HHD$8|$0D\$(ɉ\$ AL yDE U MIA0M HM?H3hL$I[0Is8IA^_]H\$Ht$ UWATAVAWHHH H3HEHYXH4RLLHIH-LHHEEHD$(LMHE3AHD$ IHuIHuUI~HnurHIH2HOu&AfufuHHBHBIHGtHǜH+HIF H;~"HgLdLHD$ 3uHV pMfA>HoLuHHrHHh}xu4LHL; pt'H sH"MILH qI~HpugIHHOu&AfufuHHBHBIHGHǜH+pIF H;~5HfLHLHD$ 3YH+Hr~IHS L6eIN HIH+HurH1gHPH;pHgHNHH;pHfHNHPH;{pHtqHNH;_YpQHH 0HHt$HHroH+u HqHsH d0HHt$HH3oH+u HcqH;5 pH;5OeLNLHGe3MIfA>HHI~ CpHI@ IV H(IpHpbfA>E3HĜHpHHE3HHlpLHtiH+u H}pIIMH\$8cpCIm IM(H$EpANHmHcHl$0y/LYH:d33H$HpA_A^A]A\_^]H /oLH~FL$HXL+J ;3 mHnHH[HuL$Hl$0H/H;}I\$H3WnHH[HuE3H ЛM3mHNHHkHHlHHtHmu HAoHtH/u H-oMtI,$u IoImu IoHL$8AAFAD$ HQAFAHkHtH+u HnkLrIF HI!fA>bI~Hn IF H;wHtHV(HkIL`IN HIAffA9NuTfI FfFfBFfBFN F iBHB Ijf\IFfFfAFfAHAI5fA>[vFINff f FfBFfBHBIfA>]5F NMff fA FfAAFfAAFfAAFfAAFfAA AFf;|F!N fofo  D$`F" D$dʚ;DiHL$dHc3HH+D$@AL$P1IAD+IEA !fA>bIHNH HJIIH9HI7Ht$ WH HHH~cH\$0HYHl$@g{t H kf9kuHK0Ht HS(HK Ht H)ukHhHuHl$@H\$0HHt$HH _H%|kH\$Hl$Ht$ WH HqMHLmIIfAHmjHHt6FxuZLKL; {htMH jH MILH iHtH+u H+k2H\$0Hl$@Ht$HH _LKuALLDDT$PEt3IHIH;OȋHGH_8HMu"fufuLctYM;~TEuOfHHG fDA+fGHMD8LG@EHcȰHO(f fDIcfGH H_HO HO(H\$Hl$ HT$VWAUAVAWH LcjHMcIExpDIEEIcNiLHHt-HpE~HH i0H[HHuE~MDz0HZIIAA;ALd$PAHchLHtzH؅t-HXC/3L|$XLc~!IwHh0HvHIu.HHcH;}%HpH+I4Hh0HvHHuILd$PH\$`Hl$hH A_A^A]_^ËA+ǃHc hLHtHt-HpC/f0.H~Hcز0LHYHH\$XE3HH /hHH[0HH;|IaH\$Hl$ VWAUAVAWHPL;fIILLHAx0HcA(Hy0u3HHDgIG0Hu Ug2<McG(3MHYIG0N4mfA<uX{gMG0AUIOLL$8HMH$HD$(HD$0HD$ aH3fft IG0fA IG0A  fNHHF(@fcHnH;Zu+HAIA(E3Ii@MqUIH$HIHfA9tE3 AI;DOELNMGAuALctKI;~FuBfFHœIGH+рHvHEH^8H~(HV HLF@HC fFHFLN HN(s$IψD$ iH; lbu-AIIXIi(H;/eII@3HVZHPH;UcGH4ZHKHH;cHZHKHPH;cxHKtxHaHcHX8$u&HH;w^XHFXDHFXHAfDfNHFHV(>HIaH;b{HcHKH;ib[H1L$H u#HHHHaE3H0HcHHHHcHK(DL{ cIODxE3HH; EfA A؋DIHFAfDvHFHHuG:cH+u H{cH/u Hlc2L$L\$PI[8IkHIA_A^A]_^F0HH<uHHF(H+HH/u HcuHۍH ܍'"HHtHH`HFF0LbHFHu ]b-HHaHHHFA HF(H)umbH/u H^bH/u HHbHaE3HAaLH~v3H`HHH@t@L;~6H`HHAiHtH(u HaH/u HaL+HD$8u(IOAULt$(L$E3Lt$ [HD$8H^8HHHFPgLffDvHvLv H~(Dv0HCLH2UMHHHL$ H HHf>2]LIGu$f;ufu$LctSM;~N@uIfFHV HœHvI+AHFIG@8H^8HEH~(HLF@HfF^IcHN HF@tE3HN(AHFHN(L;AODHFH)t$@\(^Ht (t$@2}HFX0(t$@HFHFHV(NCHNXfCfFZCfF\\\HVHNHF(CHVXKff f CfFZCfF\[[HF HVHF(CH~XKff fCfFZCfF\CfF^CfF`CfFbIGh4E3SC! K  C" i;O+fnFQ,3fnDDvd IGH4HNHF(H~@SWAVH HMHIPHH3]H;HOPH\HHfHt$P@2L|$X\HKLHt]Hc@IN]Hl$H3AnH\HHt-HHtH]@H/u H]fAnAnHD\HHt-HHtHC]@H/u H7]źHIF[HHt-HHtH\@H/u H\fAnHl$HH+u H\ML|$XuY@Ht$PH A^_[2H A^_[@SUVWATAUAVAWHXAXIIhLEpLt Ho_DwDA@=HEH|HL ӌL ׌L یL ߌL uL iL ]L QL EL 9L -L !L L  L L L +L 7L CL OL [L oL L L L |L ֍sL jL aL XL OL FL =L 4L +L %"L ,L 3L :L !M_EL$HO(HL$HHO HL$@H DT$8Hl$0HD$(T$ IW4Z3Lgf;tHODHG(HD$HfAHG AHD$@AHL$8IMfDt$0Hl$(f\$ H$2ft HLgf;|HO8dXHHVHO83,XHHtH(u H=YHKE3H_HXIML$E3Ht$ 'LSI UIHW$AH$Lȉ\$ SMtI.u IXHHO8gWHHtH(u HxXHKt^E3HHEWHLiTIHWH$ALȉ\$ AvRMtI.u I XIML$E3Ht$ ' RLOAH$A׉t$ KRL$AIM$QfVHO8H_VLHL+HO8nVL;HO8I8VHHtH(u HIWHWtIHtH&VH;uHVIHyBHKL3DŽ$)HJLE3~DŽ$HYHO8H_UHO8H+HULHtH(u HVHkhHVLHo@HHGH3GHLHI,UHHtH(u H=VLOHLMD$ HIHOHJD1(JD1 HGHID( VLOHVMHAAAII(HL$HII HL$@AILL$8fL$0IIE HL$(IMfD$ PHDTIMLAMfAHIhH; HwHHG(IMAE3Oft@IMHLAMMHHtHHHrTH+u H U2$HXA_A^A]A\_^][& ޻/ջֺ̻ʺ*6BNZfr~û8''''''''''' ''' '' ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' !"#$%&@SUVWATAVH(HHHI H;Ht H)uSHN0-SH^LjUE3L%Lv HLv0Dv(fDt$`H.RHHLl$pL|$ QHt'PHW LwIH PRHNLHW Eƃu4M4ML|$ fuHNHT$`L%~ MIQHNLl$pLAMuHFLTs37ftNLNIPHHtHHHQH+u H FCHuHz8Lr3HK@ DE3Lc@ CE3HK?Mt0H38LrHL$ 3谰E3I/u ICH$H)uCHK8Ht HcS(Lc82L$I[0Ik8Is@IA_A^A]A\_Hq8=H,H(HHYrHirHqrHyrHrHrHrHrHrHrHrHrHrHrHrHrHrHrHsH sHsHsH!sH)sH9sx`hp  H\$WH H 75H`|R@HHtH@t@@2HtH+u H@H\$8@H _H\$Hl$ VH HH@HHu'H =H{H H\$8Hl$HH ^H%?HH<HtHH\$8Hl$HH ^HH|$0>HHt7HH?H+Hu H.@HtLHH=H3H|$0H\$8Hl$HH ^H\$Ht$WAVAWH H ^{(>H3H vh;3H ghHx4;>H e@H3>H=3H3HH ;@=H3H3H gf;H H32<iH 5>H3HL3H g;H gH3:=HHgH>Hp3HH g =HHgH=HgHH>3=HqgHH/3=H bgH3<E3HSgHH>HHMgL:LHt(H Eg'=H2HupI/u I>MtI.u I=HtH.u H=HtH/u H=Ht H+2H\$HHt$PH A_A^_IIHIucHu I=MtI.u Il=HtH.u HX=HtH/u HD=HtH+uH0=rHu I=MtI.u I =HtH.u H<HtH/u H<HtH+u H<@SH H 0HDx;H;'<H(u H<t>3AA6ftHxH 9H :2H [ùLG0377ft HxH 90H*xH|$8J;H8HHHH;t a:tHxH9|HDH+u H;H /ALǺ06H|$8ft Hw.H [@WH0HD$ H\$HHl$PHt$XHHIH:H;9{HEukH:H9H3H~?HH9HHD$@3HPt3HtH+u H:HH;|H\$HHl$PHt$XH0_HtH+u H:2HvLvLEHvH 9H 8H@SUVWAVH0HD$ L7HsHD$xHD$pHD$hLL$hLD$pHT$xIw8HD$pHH,Ht$hHNH9H;8HFH29t_H]8H3H~offfHH8HHD$(3HtrHtH+u H9HH;|#LXuHuH 8H q7HtELL$hLD$pHT$xId7IIH0A^_^][HtH+u H83H0A^_^][HSuH ,8H 7H0A^_^][LD$UVWATAUAVAWHHHEH$IH5E3AL}ED}XED}HD}EAH]HH4H~HuH 7H 6uTHFHHuH uH ]7H 46v3H 6HK5HHEHUHEPHH4H6HHEHL}L}L}L}LMLEHUHMP5HMHAgH>4uHM6EXH>HM4u!HM6E5H-H`tHM~4uHM06DEH[HFtHMT4uKHMHA t7LHtH+u HH6IH] 5HHN;HM3u$LmIEHsRMM@ffHY!IHM3tIIIHrH4HC(H Ht H)u!HHC(H<3H\$8Ht$@H _H HxH j H\$8Ht$@H _LHHH\$8Ht$@H _H%H\$WH HHI a!3HHu H\$8H _H9W ~-@HG(H HHG(H HLHH;W |H^H+Hu H!HH\$8H _H\$UWAWH LIcHIHHH;t HAtHMH;t,H+uHHHH\$PH A__]HU Ht$@Iw H;t`wCL A4I3H;'3H;3H;3H; 3HHEHk3Lt$HH~:ffHU(L4IO(AJ2I Lt@HH;|Ѓtt HGuHKHLt$HHt$@H\$PH A__]HU(DIO(J2J 1͐qg{]SH\$WH HHHwHxHHtHHuHt3H\$8H _Hy LK Ix*HC DH;}HK(HHHC(HH\$8H _H H vDH H\$8H _H%>LGL;LL$@HLD$HHT$0eLL$@LD$HHK HT$0THH3LH\$8H _H|$0uH|$@uH;C uHHH\$8H _HHLD$0LHHK(MIJIQHK(JHLD$@HuH\$8H _H xH1uM@H H\$8H _H%9@SH HyHu3LHu~3H [HI HbLHtLH3HCDIHCI@ H9S ~"DҐHC(MRAILKL IcH;C |I9P~IHtHIHcI;@|HSH tH [H%H(MLLMu3H E>H(H%* t{tQtBt3IItM@L H(H%LH(H%D$@D$@D$@LL$@ILVIH(LAIIH(H%pffH; YuHfuH6@SH H3H~hHȺ H [H%LHL$H80t)H V HD$8H= HD$8HH H& H HD$@H q  k u HkH m HHkH eHL HkH HL H H8@SVWH@H'H3E3HT$`HuHt؈D$@@=  tORqH>H /H u)t HH " 8 @2@u?XHH8t$H_tLƺIHL A 3H\$0Ht$8H|$HH A^ùH\$WH0@  3H\$@H0_ȉp ؈D$ = u6bEk H3@b룹HHX L@PHHVWAVH@ILu9 3Bw@HHuXt؉\$0LƋI؉D$0LƋI^؉D$0u6u2L3IBHHHtL3Itu,jΑV>, ԐƐb~Btt   d pupdatehashlibsha1snewhexdigestpyodbc.CnxnInfoConnection object requiredAttempt to use a closed connection.SQLSetConnectAttr(SQL_ATTR_LOGIN_TIMEOUT)utf-16leSQLDriverConnectUnsupported attrs_before type: %sSQLSetConnectAttrSQLAllocHandlestrictutf-8SQLSetConnectAttr(SQL_ATTR_AUTOCOMMIT)SQLSetConnectAttr(SQL_ATTR_ACCESS_MODE)iicnxn.clear cnxn=%p hdbc=%d kUnsupported getinfo value: %dSQLGetInfoSQLEndTrancommit: cnxn=%p hdbc=%d rollback: cnxn=%p hdbc=%d Cannot delete the autocommit attribute.Cannot delete the maxwrite attribute.Cannot set maxwrite less than %d unless setting to 0.Cannot delete the timeout attribute.Cannot set a negative timeout.iOiencoding is requirednot a registered codec: '%s'Invalid ctype %d. Must be SQL_CHAR or SQL_WCHAR|utf-8|utf8||utf-16|utf16||utf-16-be|utf-16be|utf16be||utf-16-le|utf-16le|utf16le||utf-32|utf32||utf-32-be|utf-32be|utf32be||utf-32-le|utf-32le|utf32le||latin-1|latin1|iso-8859-1|iso8859-1|encodingctype|sisqltypei|siInvalid sqltype %d. Must be SQL_CHAR or SQL_WCHAR or SQL_WMETADATASQLEndTran(SQL_COMMIT)SQLEndTran(SQL_ROLLBACK)cursorcloseexecutecommitrollbackgetinfoadd_output_converterremove_output_converterget_output_converterclear_output_converterssetdecodingsetencodingset_attr__enter____exit__closedReturns True if the connection is closed; False otherwise.searchescapeThe ODBC search pattern escape character, as returned by SQLGetInfo(SQL_SEARCH_PATTERN_ESCAPE). These are driver specific.autocommitReturns True if the connection is in autocommit mode; False otherwise.timeoutThe timeout in seconds, zero means no timeout.maxwriteThe maximum bytes to write before using SQLPutData.pyodbc.Connection056789:;<=>?@ABCDEFGz{|}~tuV%'xyRr')*\'WJw'MTQXIYq&'p"labcde'f!hg ij#k%$oKU1 sZ(] '[, ^v2_3-mn4.H`/'<@? @ @ @ @  @ (@ 0@ 8@ @@ D@ H@ L@ P@ T@ \@ d@ l@ t@ |@ @ UEEE EFFFFF8F(FXFHFhFUUU(G8GHGF[F\F]FfGjGhUfVeVk8VgPVhhViVjVlVmVnVoWp8WqXWhWxWWWWWWWX X@XXXtpXXuXVX%'XxXyXRYr(Y'@Y)`Y*xY\Y'YWYYFYJZ(ZHZ`ZxZZZZZZ[([@[`[wx[[[[['[[\\L(\@\P\Mh\x\\\\\\\]]8]X]x]T]]]Q]X^^8^P^h^^I^^^Y^q^&' _p@_"`_l_a_b_c_d`e `8`X`p``'`f`!`h`ga 0aiHajha#aka%a$aoaKbUb10bPb `bsxbZbbbbbc(c@cPc`c(xc]c c'c[c,cd d^0dPdxddddde0ePepeeveeef2 f_0f3Hf-Xfmxfnf4f.fHf`f/g'ge(ge@gfPgfhggggghghgigigjhjhk0hkPhlhhlhmhmhnhnhohoip is8i0Pi5hi6i7i8i9i:i;i<j j=8j{Xj|xjGj>j?j@jAjBkC(kD@kEYFXkzpk}k~hhlkkkkl l0l@lPlhl xl@lowercaseInvalid cursor object.Attempt to use a closed cursor.The cursor's connection has been closed.No results. Previous SQL was not a query.The cursor's connection was closed.SQLDescribeColCol %d: type=%s (%d) colsize=%d lower(OOOiiiO)SQLFreeHandleSQLColAttribute[%s] (%ld)Params must be in a list, tuple, or RowSQLExecuteSQLExecDirectSQLExecDirectWSQLParamDataSQLParamData() --> %d SQLPutDataSQLPutData [%d] (%d) %.10s Type mismatch between TVP row valuesSQLRowCountSQLRowCount: %d SQLNumResultColsSQLNumResultCols: %d execute() takes at least 1 argument (0 given)The first argument to execute must be a string or unicode query.OOThe second parameter to executemany must not be empty.The second parameter to executemany must be a sequence, iterator, or generator.A non-None parameter to setinputsizes must be a sequence, iterator, or generator.SQLFetch|ltablecatalogschematableType|zzzzSQLTablescolumn|OOOOSQLColumnsuniquequicks|zzOOSQLStatisticsnullables|zzOSQLSpecialColumnss|zzSQLPrimaryKeysforeignTableforeignCatalogforeignSchema|zzzzzzSQLForeignKeys|iSQLGetTypeInfonextset: %d not SQL_SUCCEEDED SQLMoreResultsprocedure|zzzSQLProcedureColumnsSQLProceduresSQLFetchScrollCommits any pending transaction to the database on the current connection, including those from other cursors. SQLCancelrowcountdescriptionarraysizeconnectionfast_executemanymessagesCannot delete the noscan attributeSQLSetStmtAttr(SQL_ATTR_NOSCAN)noscanNOSCAN statement attrexecutemanysetinputsizessetoutputsizefetchvalfetchonefetchallfetchmanynextsettablescolumnsstatisticsrowIdColumnsrowVerColumnsprimaryKeysforeignKeysgetTypeInfoproceduresprocedureColumnsskipcancelpyodbc.CursorSQLSetStmtAttr(SQL_ATTR_QUERY_TIMEOUT)cursor.new cnxn=%p hdbc=%d cursor=%p hstmt=%d datetime.datetime_CAPIdecimalDecimalresubescapecompilelocalelocaleconvdecimal_point.[^0-9%U-]+sO010020800108003080040800708S010A00028000400022223242542HY001HY014HYT00HYT01IM001IM002IM003HY000(Os)The driver did not supply an error!In RaiseError(%s)! (null)[%s] %V (%ld) (%s); [%s] %V (%ld)ReadVarColumn: SQLGetData avail=%d --> ret=%d cbData=%d SQLGetDataMemory Need: cbRemaining=%ld cbRead=%ld (O)(yyy#)UUIDuuidODBC SQL type %d is not yet supported. column-index=%zd type=%dHY106Unknown object type %s during describeNumeric overflowString data, right truncation: length %u buffer %uUnicode write encoding '%s' returned unexpected data type: %sbytes_lenormalizeas_tupleConverting decimal loses precision((iOi))Unknown object type: %sInvalid parameter type. param-index=%zd param-type=%sHY105BIND: param=%ld ValueType=%d (%s) ParameterType=%d (%s) ColumnSize=%ld DecimalDigits=%d BufferLength=%ld *pcb=%ld SQLBindParameterUTF-16LESQLSetStmtAttrA TVP's rows must be Sequence objects.A TVP's rows must all be the same size.SQLPrepareSQLPrepare(%s) SQLNumParamsThe SQL contains %d parameter markers, but %d parameters were suppliedParameter array must be a sequence.Row must be a sequence.Expected %u parameters, supplied %uNo suitable conversion for one or more parameters.utf_16_leutf_16_bepyodbc.NullParamSQL_UNKNOWN_TYPESQL_CHARSQL_VARCHARSQL_LONGVARCHARSQL_NUMERICSQL_DECIMALSQL_INTEGERSQL_SMALLINTSQL_FLOATSQL_REALSQL_DOUBLESQL_DATETIMESQL_WCHARSQL_WVARCHARSQL_WLONGVARCHARSQL_TYPE_DATESQL_TYPE_TIMESQL_TYPE_TIMESTAMPSQL_SS_TIME2SQL_SS_VARIANTSQL_SS_XMLSQL_BINARYSQL_VARBINARYSQL_LONGVARBINARYunknownSQL_C_CHARSQL_C_WCHARSQL_C_LONGSQL_C_SHORTSQL_C_FLOATSQL_C_DOUBLESQL_C_NUMERICSQL_C_DEFAULTSQL_C_DATESQL_C_TIMESQL_C_TIMESTAMPSQL_C_TYPE_DATESQL_C_TYPE_TIMESQL_C_TYPE_TIMESTAMPSQL_C_INTERVAL_YEARSQL_C_INTERVAL_MONTHSQL_C_INTERVAL_DAYSQL_C_INTERVAL_HOURSQL_C_INTERVAL_MINUTESQL_C_INTERVAL_SECONDSQL_C_INTERVAL_YEAR_TO_MONTHSQL_C_INTERVAL_DAY_TO_HOURSQL_C_INTERVAL_DAY_TO_MINUTESQL_C_INTERVAL_DAY_TO_SECONDSQL_C_INTERVAL_HOUR_TO_MINUTESQL_C_INTERVAL_HOUR_TO_SECONDSQL_C_INTERVAL_MINUTE_TO_SECONDSQL_C_BINARYSQL_C_BITSQL_C_SBIGINTSQL_C_UBIGINTSQL_C_TINYINTSQL_C_SLONGSQL_C_SSHORTSQL_C_STINYINTSQL_C_ULONGSQL_C_USHORTSQL_C_UTINYINTSQL_C_GUIDErrorpyodbc.ErrorException that is the base class of all other error exceptions. You can use this to catch all errors with one single 'except' statement.Warningpyodbc.WarningException raised for important warnings like data truncations while inserting, etc.InterfaceErrorpyodbc.InterfaceErrorException raised for errors that are related to the database interface rather than the database itself.DatabaseErrorpyodbc.DatabaseErrorException raised for errors that are related to the database.DataErrorpyodbc.DataErrorException raised for errors that are due to problems with the processed data like division by zero, numeric value out of range, etc.OperationalErrorpyodbc.OperationalErrorException raised for errors that are related to the database's operation and not necessarily under the control of the programmer, e.g. an unexpected disconnect occurs, the data source name is not found, a transaction could not be processed, a memory allocation error occurred during processing, etc.IntegrityErrorpyodbc.IntegrityErrorException raised when the relational integrity of the database is affected, e.g. a foreign key check fails.InternalErrorpyodbc.InternalErrorException raised when the database encounters an internal error, e.g. the cursor is not valid anymore, the transaction is out of sync, etc.ProgrammingErrorpyodbc.ProgrammingErrorException raised for programming errors, e.g. table not found or already exists, syntax error in the SQL statement, wrong number of parameters specified, etc.NotSupportedErrorpyodbc.NotSupportedErrorException raised in case a method or database API was used which is not supported by the database, e.g. requesting a .rollback() on a connection that does not support transaction or has transactions turned off.native_uuidpyodbc: PyThreadState_GetDict returned NULLdatetimepoolingUnable to set SQL_ATTR_CONNECTION_POOLING attribute.Can't initialize module pyodbc. SQLAllocEnv failed.odbcversion3.8Unable to set SQL_ATTR_ODBC_VERSION attribute.strings, or sequencesor stringsAttribute dictionary attrs must be integers, buffers, bytes, %sAttribute dictionary keys must be integersuseruidpasswordpwdhostserverfunction takes at most 1 non-keyword argumentargument 1 must be a string or unicode objectDictionary keys passed to connect must be stringsreadonlyattrs_beforeencoding must be a stringno connection information was passedSQLDriversSQLDataSourcesOTimeFromTicks requires a number.UconnectTimeFromTicksDateFromTickssetDecimalSeparatorgetDecimalSeparatorTimestampFromTicksdriversdataSourcesSQL_WMETADATASQL_BITSQL_TINYINTSQL_BIGINTSQL_INTERVAL_MONTHSQL_INTERVAL_YEARSQL_INTERVAL_YEAR_TO_MONTHSQL_INTERVAL_DAYSQL_INTERVAL_HOURSQL_INTERVAL_MINUTESQL_INTERVAL_SECONDSQL_INTERVAL_DAY_TO_HOURSQL_INTERVAL_DAY_TO_MINUTESQL_INTERVAL_DAY_TO_SECONDSQL_INTERVAL_HOUR_TO_MINUTESQL_INTERVAL_HOUR_TO_SECONDSQL_INTERVAL_MINUTE_TO_SECONDSQL_GUIDSQL_NULLABLESQL_NO_NULLSSQL_NULLABLE_UNKNOWNSQL_SCOPE_CURROWSQL_SCOPE_TRANSACTIONSQL_SCOPE_SESSIONSQL_PC_UNKNOWNSQL_PC_NOT_PSEUDOSQL_PC_PSEUDOSQL_ACCESSIBLE_PROCEDURESSQL_ACCESSIBLE_TABLESSQL_ACTIVE_ENVIRONMENTSSQL_AGGREGATE_FUNCTIONSSQL_ALTER_DOMAINSQL_ALTER_TABLESQL_ASYNC_MODESQL_BATCH_ROW_COUNTSQL_BATCH_SUPPORTSQL_BOOKMARK_PERSISTENCESQL_CATALOG_LOCATIONSQL_CATALOG_NAMESQL_CATALOG_NAME_SEPARATORSQL_CATALOG_TERMSQL_CATALOG_USAGESQL_COLLATION_SEQSQL_COLUMN_ALIASSQL_CONCAT_NULL_BEHAVIORSQL_CONVERT_VARCHARSQL_CORRELATION_NAMESQL_CREATE_ASSERTIONSQL_CREATE_CHARACTER_SETSQL_CREATE_COLLATIONSQL_CREATE_DOMAINSQL_CREATE_SCHEMASQL_CREATE_TABLESQL_CREATE_TRANSLATIONSQL_CREATE_VIEWSQL_CURSOR_COMMIT_BEHAVIORSQL_CURSOR_ROLLBACK_BEHAVIORSQL_DATABASE_NAMESQL_DATA_SOURCE_NAMESQL_DATA_SOURCE_READ_ONLYSQL_DATETIME_LITERALSSQL_DBMS_NAMESQL_DBMS_VERSQL_DDL_INDEXSQL_DEFAULT_TXN_ISOLATIONSQL_DESCRIBE_PARAMETERSQL_DM_VERSQL_DRIVER_HDESCSQL_DRIVER_HENVSQL_DRIVER_HLIBSQL_DRIVER_HSTMTSQL_DRIVER_NAMESQL_DRIVER_ODBC_VERSQL_DRIVER_VERSQL_DROP_ASSERTIONSQL_DROP_CHARACTER_SETSQL_DROP_COLLATIONSQL_DROP_DOMAINSQL_DROP_SCHEMASQL_DROP_TABLESQL_DROP_TRANSLATIONSQL_DROP_VIEWSQL_DYNAMIC_CURSOR_ATTRIBUTES1SQL_DYNAMIC_CURSOR_ATTRIBUTES2SQL_EXPRESSIONS_IN_ORDERBYSQL_FILE_USAGESQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2SQL_GETDATA_EXTENSIONSSQL_GROUP_BYSQL_IDENTIFIER_CASESQL_IDENTIFIER_QUOTE_CHARSQL_INDEX_KEYWORDSSQL_INFO_SCHEMA_VIEWSSQL_INSERT_STATEMENTSQL_INTEGRITYSQL_KEYSET_CURSOR_ATTRIBUTES1SQL_KEYSET_CURSOR_ATTRIBUTES2SQL_KEYWORDSSQL_LIKE_ESCAPE_CLAUSESQL_MAX_ASYNC_CONCURRENT_STATEMENTSSQL_MAX_BINARY_LITERAL_LENSQL_MAX_CATALOG_NAME_LENSQL_MAX_CHAR_LITERAL_LENSQL_MAX_COLUMNS_IN_GROUP_BYSQL_MAX_COLUMNS_IN_INDEXSQL_MAX_COLUMNS_IN_ORDER_BYSQL_MAX_COLUMNS_IN_SELECTSQL_MAX_COLUMNS_IN_TABLESQL_MAX_COLUMN_NAME_LENSQL_MAX_CONCURRENT_ACTIVITIESSQL_MAX_CURSOR_NAME_LENSQL_MAX_DRIVER_CONNECTIONSSQL_MAX_IDENTIFIER_LENSQL_MAX_INDEX_SIZESQL_MAX_PROCEDURE_NAME_LENSQL_MAX_ROW_SIZESQL_MAX_ROW_SIZE_INCLUDES_LONGSQL_MAX_SCHEMA_NAME_LENSQL_MAX_STATEMENT_LENSQL_MAX_TABLES_IN_SELECTSQL_MAX_TABLE_NAME_LENSQL_MAX_USER_NAME_LENSQL_MULTIPLE_ACTIVE_TXNSQL_MULT_RESULT_SETSSQL_NEED_LONG_DATA_LENSQL_NON_NULLABLE_COLUMNSSQL_NULL_COLLATIONSQL_NUMERIC_FUNCTIONSSQL_ODBC_INTERFACE_CONFORMANCESQL_ODBC_VERSQL_OJ_CAPABILITIESSQL_ORDER_BY_COLUMNS_IN_SELECTSQL_PARAM_ARRAY_ROW_COUNTSSQL_PARAM_ARRAY_SELECTSSQL_PARAM_TYPE_UNKNOWNSQL_PARAM_INPUTSQL_PARAM_INPUT_OUTPUTSQL_PARAM_OUTPUTSQL_RETURN_VALUESQL_RESULT_COLSQL_PROCEDURESSQL_PROCEDURE_TERMSQL_QUOTED_IDENTIFIER_CASESQL_ROW_UPDATESSQL_SCHEMA_TERMSQL_SCHEMA_USAGESQL_SCROLL_OPTIONSSQL_SEARCH_PATTERN_ESCAPESQL_SERVER_NAMESQL_SPECIAL_CHARACTERSSQL_SQL92_DATETIME_FUNCTIONSSQL_SQL92_FOREIGN_KEY_DELETE_RULESQL_SQL92_FOREIGN_KEY_UPDATE_RULESQL_SQL92_GRANTSQL_SQL92_NUMERIC_VALUE_FUNCTIONSSQL_SQL92_PREDICATESSQL_SQL92_RELATIONAL_JOIN_OPERATORSSQL_SQL92_REVOKESQL_SQL92_ROW_VALUE_CONSTRUCTORSQL_SQL92_STRING_FUNCTIONSSQL_SQL92_VALUE_EXPRESSIONSSQL_SQL_CONFORMANCESQL_STANDARD_CLI_CONFORMANCESQL_STATIC_CURSOR_ATTRIBUTES1SQL_STATIC_CURSOR_ATTRIBUTES2SQL_STRING_FUNCTIONSSQL_SUBQUERIESSQL_SYSTEM_FUNCTIONSSQL_TABLE_TERMSQL_TIMEDATE_ADD_INTERVALSSQL_TIMEDATE_DIFF_INTERVALSSQL_TIMEDATE_FUNCTIONSSQL_TXN_CAPABLESQL_TXN_ISOLATION_OPTIONSQL_UNIONSQL_USER_NAMESQL_XOPEN_CLI_YEARSQL_ACCESS_MODESQL_ATTR_ACCESS_MODESQL_AUTOCOMMITSQL_ATTR_AUTOCOMMITSQL_LOGIN_TIMEOUTSQL_ATTR_LOGIN_TIMEOUTSQL_OPT_TRACESQL_ATTR_TRACESQL_OPT_TRACEFILESQL_ATTR_TRACEFILESQL_TRANSLATE_DLLSQL_ATTR_TRANSLATE_LIBSQL_TRANSLATE_OPTIONSQL_ATTR_TRANSLATE_OPTIONSQL_TXN_ISOLATIONSQL_ATTR_TXN_ISOLATIONSQL_CURRENT_QUALIFIERSQL_ATTR_CURRENT_CATALOGSQL_ODBC_CURSORSSQL_ATTR_ODBC_CURSORSSQL_QUIET_MODESQL_ATTR_QUIET_MODESQL_PACKET_SIZESQL_ATTR_ANSI_APPSQL_CONVERT_FUNCTIONSSQL_CONVERT_BIGINTSQL_CONVERT_BINARYSQL_CONVERT_BITSQL_CONVERT_CHARSQL_CONVERT_DATESQL_CONVERT_DECIMALSQL_CONVERT_DOUBLESQL_CONVERT_FLOATSQL_CONVERT_GUIDSQL_CONVERT_INTEGERSQL_CONVERT_INTERVAL_DAY_TIMESQL_CONVERT_INTERVAL_YEAR_MONTHSQL_CONVERT_LONGVARBINARYSQL_CONVERT_LONGVARCHARSQL_CONVERT_NUMERICSQL_CONVERT_REALSQL_CONVERT_SMALLINTSQL_CONVERT_TIMESQL_CONVERT_TIMESTAMPSQL_CONVERT_TINYINTSQL_CONVERT_VARBINARYSQL_CONVERT_WCHARSQL_CONVERT_WLONGVARCHARSQL_CONVERT_WVARCHARSQL_TXN_READ_UNCOMMITTEDSQL_TXN_READ_COMMITTEDSQL_TXN_REPEATABLE_READSQL_TXN_SERIALIZABLESQL_OJ_LEFTSQL_OJ_RIGHTSQL_OJ_FULLSQL_OJ_NESTEDSQL_OJ_NOT_ORDEREDSQL_OJ_INNERSQL_OJ_ALL_COMPARISON_OPS__doc__pyodbc5.3.0versionthreadsafety2.0apilevelqmarkparamstyle3.XConnectionCursorRowDateTimeTimestampDATETIMESTRINGNUMBERROWIDBINARYBinaryBinaryNullSQLWCHAR_SIZEcannot create 'pyodbc.Row' instancestuple index out of rangeRow assignment index out of rangerow index out of range index=%d len=%drow indices must be integers, not %.200scursor_descriptionON__reduce__pyodbc.Row$@ d'@B"vv@"uu "Pz`z "(00"0" @`" "ȁЁ @q9~h qaq4q c]@p x .GCTL .text$di P.text$mnp @.text$mn$00 ..text$x.idata$58.00cfg.CRT$XCA .CRT$XCU(.CRT$XCZ0.CRT$XIA8.CRT$XIZ@.CRT$XPAH.CRT$XPZP.CRT$XTAX.CRT$XTZ` Z.rdataql.rdata$voltmdq.rdata$zzzdbgpt.rtc$IAAxt.rtc$IZZt.rtc$TAAt.rtc$TZZt0.xdata\.edata.idata$2І.idata$3.idata$4ȍ .idata$6d.data .bss\ .pdata `.rsrc$01` .rsrc$02  4 Rpp0P!   T2t!d2t!2t!2tT 4 2 p `B  4 2p`Pd42 p0!TpxDu!  tdxLu! txLu!pxDu$ $d T4r p0n  & &4p ` P0n  c  4 R`!tP ~ v!P ~ v20  4 2P!tdp!!Xv!p!!Xv  4 2p' `P0@!t$f%v!$f%vd T42pT 42 `!t0))v!0))v 4 `H!t*!+ w!*!+ w  4 2p!t..v!..v##42pd 4R p2p!4@1f1w!4@1f1w pP0`!d22w!22w p`P0p!@5U6x!@5U6xB!t89v!89v p`P0!99:x!99:x  d 2p!4AAx!AAx 1`P!3 3,(- .t/T046EEy!EEy! ,-.t/T046EEy Ph! HxHxy!td4xHHy!xHHy! HxHxy'  p`0P!d@TTv!d@TTv!@TTv Rp`P00o  oWFX  2p0!  d T YZpz!d T YZpz! ZZz!ZZz! ZZzd T42p!  t4\]\x!t4\]\x!\]\x2P!  t d^]_8{!4t d^]_8{!^]_8{d4 p`P!##4bzc{!tzcd{!de{!bzc{!bzc{!bzc{! t4bzc{4 pP!dijH|!ijH|dT4pd4 pd4 p2p`0d4 pBp0!  dT y.z|!y.z|  4 2`!t{>|}!{>|}R0!t }j}4}!}j}4}!t~|~}!~|~}!tP}!P}T 4 R p `!t؂Pv!t؂Pv p ` P!$$4`u}!4`u}!4`u}'  p`0P tr` P 0t R0yyt lT `0!'|~!'|~( d4 p P* d4 p Pxd42 p 4 p ` P  d 2p!T4p!pd T42p T 4 2p`! pd!pd T4 p `!g!g!g!h!h!!d `pz! (!T <!<!(!`pz  p`P0  B p`P0!!!! T4 r p`08o Z dT4pvvtT 42 `d 4 2 p!tPv!Pvd T 4 Rp0o  Rp`P00o * *4 p`P0o  0 @ \]]dPS4OMP!tLP!P 00!d !t T @!@!4 rp0`o iRP!4 `!d t 9!9!`  Rp`P0!  T4@!@ t dT42 t d T 4RdT42p  4 2p!d!  4 2 pP!d,! ,(!,(! d,  brp`0t d4263L L   4 Rp6c | %c &|  4rp`6]: :  4 RP "6E EP4PdT4p0` pyodbc.cp311-win_amd64.pydPyInit_pyodbc`ȍx<؈ 8 B@bX0HJjP:$ ژƘx^B 6lA=o<&C4L0:wH?IKG 5 '+ -/1™̙ ܚdrX(2<H2FVfzʒڒ.dZpēړ(DZn̔ڔ&<XtΕܕ  8LzЖ",FXf~ԗ*ԍTB. ؏ďvdN<&֎n^L>,jΑV>, ԐƐb~BODBC32.dllPyImport_ImportModulePyEval_SaveThread_Py_Dealloc_PyObject_CallMethod_SizeTPyDict_SetItemPyDict_NewPyDict_GetItem1_PyObject_New|PyUnicode_AsUTF8String`PyObject_CallMethodObjArgsPyUnicode_FromStringPyEval_RestoreThreadPySequence_SizeXPyCodec_EncodePyLong_AsUnsignedLongPyBytes_AsStringPySequence_GetItemPyErr_OccurredPyLong_FromSsize_tPyLong_FromLongPyDict_Contains _Py_NoneStructPyByteArray_AsStringPyErr_SetString<PyExc_ValueErrorPyDict_Next=_PyArg_ParseTupleAndKeywords_SizeTPyErr_Format_Py_FalseStructLPyType_IsSubtype8PyTuple_GetItemmPyObject_Free>_PyArg_ParseTuple_SizeTPyLong_AsLongzPyUnicode_AsUTF8_PyLong_SignPySequence_CheckPyMem_FreePyErr_NoMemoryPyDict_DelItem4PyExc_TypeErrorPyObject_IsTruePyMem_Malloc_Py_TrueStruct]PyCodec_KnownEncodingPyByteArray_TypePyUnicode_FromStringAndSizePyErr_SetObject_Py_BuildValue_SizeT:PyTuple_NewPyIter_Next~PyObject_GetIterPyUnicode_FromFormatPyList_New{PyObject_GetAttrStringPyList_AppendPyUnicode_Decode=PyTuple_Size)PyBytes_Size;PyCapsule_Import<PyTuple_SetItem'PyBytes_FromStringAndSizePyByteArray_SizePyGen_TypePyIter_Check^PyObject_CallFunctionObjArgsPyObject_RichCompareBoolPyDict_GetItemStringPyUnicode_ConcatPyUnicode_FromFormatVbPyObject_CallObject_PyObject_CallFunction_SizeTPyLong_FromUnsignedLongLongPyLong_FromLongLongQPyFloat_FromDouble PyBool_TypeYPyFloat_TypePyLong_TypePyUnicode_TypePyMem_ReallocqPyUnicode_AsEncodedString_PyLong_AsByteArrayPyNumber_AbsolutePPyFloat_AsDoublePyLong_AsLongLong1PyNumber_MultiplyPySequence_FastNPyType_ReadyPyErr_Clear*PyBytes_Type5PyNumber_PowerxPyUnicode_AsUTF16String.PyNumber_LongPyNumber_AsSsize_tK_PyByteArray_empty_stringPyUnicode_CopyCharacters PyExc_ExceptionPyModule_AddIntConstant*PyExc_RuntimeErrorPyDict_SetItemStringPyDict_SizePyUnicode_NewPyModule_AddStringConstantPyModule_AddObjectPyUnicode_DecodeUTF16 PyModule_Create2PyErr_NewException PyThreadState_GetDictPyUnicode_FromObjectPyObject_IsInstancePyUnicode_WriteCharPyNumber_CheckPyObject_StrPyUnicode_CompareWithASCIIStringPySlice_AdjustIndicesPySlice_TypetPyObject_GenericGetAttrPySlice_UnpackPyDict_TypePyObject_RichCompare>PyTuple_TypevPyObject_GenericSetAttrPyIndex_Check _Py_NotImplementedStructPyExc_IndexErrorPyObject_ReprPyUnicode_DecodeUTF8PyUnicode_DecodeLatin1 PyBytes_Concatpython311.dllRtlCaptureContextRtlLookupFunctionEntryRtlVirtualUnwindUnhandledExceptionFilterSetUnhandledExceptionFilter@GetCurrentProcessTerminateProcessIsProcessorFeaturePresentQueryPerformanceCounterAGetCurrentProcessIdEGetCurrentThreadIdGetSystemTimeAsFileTimeInitializeSListHeadIsDebuggerPresentKERNEL32.dll__CxxFrameHandler3@strchrBstrstr__C_specific_handler%__std_type_info_destroy_list>memsetVCRUNTIME140.dllPatoioisuppertolower(_mktime64#_localtime646_initterm7_initterm_e?_seh_filter_dll_configure_narrow_argv3_initialize_narrow_environment4_initialize_onexit_table"_execute_onexit_table_cexitapi-ms-win-crt-convert-l1-1-0.dllapi-ms-win-crt-string-l1-1-0.dllapi-ms-win-crt-time-l1-1-0.dllapi-ms-win-crt-runtime-l1-1-0.dll;memcmp<memcpypowapi-ms-win-crt-math-l1-1-0.dll2-+] f(Close the connection now (rather than whenever __del__ is called). The connection will be unusable from this point forward and a ProgrammingError will be raised if any operation is attempted with the connection. The same applies to all cursor objects trying to use the connection. Note that closing a connection without committing the changes first will cause an implicit rollback to be performed.getinfo(type) --> str | int | bool Calls SQLGetInfo, passing `type`, and returns the result formatted as a Python object.__enter__() -> self.__exit__(*excinfo) -> None. Commits the connection if necessary.("pCommit any pending transaction to the database.tp**P(0)`p-.+,Return a new Cursor object using the connection.set_attr(attr_id, value) -> None Calls SQLSetConnectAttr with the given values. attr_id The attribute id (integer) to set. These are ODBC or driver constants. value An integer value. At this time, only integer values are supported and are always passed as SQLUINTEGER.setdecoding(sqltype, encoding=None, ctype=None) --> None Configures how text of type `ctype` (SQL_CHAR or SQL_WCHAR) is decoded when read from the database. When reading, the database will assign one of the sqltypes to text columns. pyodbc uses this lookup the decoding information set by this function. sqltype: pyodbc.SQL_CHAR or pyodbc.SQL_WCHAR encoding: A registered Python encoding such as "utf-8". ctype: The C data type should be requested. Set this to SQL_CHAR for single-byte encodings like UTF-8 and to SQL_WCHAR for two-byte encodings like UTF-16.execute(sql, [params]) --> Cursor Create a new Cursor object, call its execute method, and return it. See Cursor.execute for more details. This is a convenience method that is not part of the DB API. Since a new Cursor is allocated by each call, this should not be used if more than one SQL statement needs to be executed.clear_output_converters() --> None Remove all output converter functions.get_output_converter(sqltype) --> Get the output converter function that was registered with add_output_converter. It is safe to call if no converter is registered for the type (returns None). sqltype The integer SQL type value being converted, which can be one of the defined standard constants (e.g. pyodbc.SQL_VARCHAR) or a database-specific value (e.g. -151 for the SQL Server 2008 geometry data type). Connection objects manage connections to the database. Each manages a single ODBC HDBC.Causes the the database to roll back to the start of any pending transaction.add_output_converter(sqltype, func) --> None Register an output converter function that will be called whenever a value with the given SQL type is read from the database. sqltype The integer SQL type value to convert, which can be one of the defined standard constants (e.g. pyodbc.SQL_VARCHAR) or a database-specific value (e.g. -151 for the SQL Server 2008 geometry data type). func The converter function which will be called with a single parameter, the value, and should return the converted value. If the value is NULL, the parameter will be None. Otherwise it will be a bytes object. If func is None, any existing converter is removed.P#p" #`'H(Ю$0 01 !`(@5Ш82HP X8@h8`remove_output_converter(sqltype) --> None Remove an output converter function that was registered with add_output_converter. It is safe to call if no converter is registered for the type. sqltype The integer SQL type value being converted, which can be one of the defined standard constants (e.g. pyodbc.SQL_VARCHAR) or a database-specific value (e.g. -151 for the SQL Server 2008 geometry data type). :::C.getTypeInfo(sqlType=None) --> self Executes SQLGetTypeInfo a creates a result set with information about the specified data type or all data types supported by the ODBC driver if not specified. Each row fetched has the following columns: 0) type_name 1) data_type 2) column_size 3) literal_prefix 4) literal_suffix 5) create_params 6) nullable 7) case_sensitive 8) searchable 9) unsigned_attribute 10) fixed_prec_scale 11) auto_unique_value 12) local_type_name 13) minimum_scale 14) maximum_scale 15) sql_data_type 16) sql_datetime_sub 17) num_prec_radix 18) interval_precisionClose the cursor now (rather than whenever __del__ is called). The cursor will be unusable from this point forward; a ProgrammingError exception will be raised if any operation is attempted with the cursor.C.procedureColumns(procedure=None, catalog=None, schema=None) --> self Executes SQLProcedureColumns and creates a result set of information about stored procedure columns and results. 0) procedure_cat 1) procedure_schem 2) procedure_name 3) column_name 4) column_type 5) data_type 6) type_name 7) column_size 8) buffer_length 9) decimal_digits 10) num_prec_radix 11) nullable 12) remarks 13) column_def 14) sql_data_type 15) sql_datetime_sub 16) char_octet_length 17) ordinal_position 18) is_nullableskip(count) --> None Skips the next `count` records by calling SQLFetchScroll with SQL_FETCH_NEXT. For convenience, skip(0) is accepted and will do nothing.C.tables(table=None, catalog=None, schema=None, tableType=None) --> self Executes SQLTables and creates a results set of tables defined in the data source. The table, catalog, and schema interpret the '_' and '%' characters as wildcards. The escape character is driver specific, so use `Connection.searchescape`. Each row fetched has the following columns: 0) table_cat: The catalog name. 1) table_schem: The schema name. 2) table_name: The table name. 3) table_type: One of 'TABLE', 'VIEW', SYSTEM TABLE', 'GLOBAL TEMPORARY' 'LOCAL TEMPORARY', 'ALIAS', 'SYNONYM', or a data source-specific type name. =l@0=`@=h@P=`=H0x=x:::;:::D;L;fetchmany(size=cursor.arraysize) --> list of Rows Fetch the next set of rows of a query result, returning a list of Row instances. An empty list is returned when no more rows are available. The number of rows to fetch per call is specified by the parameter. If it is not given, the cursor's arraysize determines the number of rows to be fetched. The method should try to fetch as many rows as indicated by the size parameter. If this is not possible due to the specified number of rows not being available, fewer rows may be returned. A ProgrammingError exception is raised if the previous call to execute() did not produce any result set or no call was issued yet.C.primaryKeys(table, catalog=None, schema=None) --> self Creates a results set of column names that make up the primary key for a table by executing the SQLPrimaryKeys function. Each row fetched has the following columns: 0) table_cat 1) table_schem 2) table_name 3) column_name 4) key_seq 5) pk_nameH<::This read/write attribute specifies the number of rows to fetch at a time with fetchmany(). It defaults to 1 meaning to fetch a single row at a time.?@E`\p\нC.columns(table=None, catalog=None, schema=None, column=None) Creates a results set of column names in specified tables by executing the ODBC SQLColumns function. Each row fetched has the following columns: 0) table_cat 1) table_schem 2) table_name 3) column_name 4) data_type 5) type_name 6) column_size 7) buffer_length 8) decimal_digits 9) num_prec_radix 10) nullable 11) remarks 12) column_def 13) sql_data_type 14) sql_datetime_sub 15) char_octet_length 16) ordinal_position 17) is_nullableCursor objects represent a database cursor, which is used to manage the context of a fetch operation. Cursors created from the same connection are not isolated, i.e., any changes done to the database by a cursor are immediately visible by the other cursors. Cursors created from different connections are isolated. Cursors implement the iterator protocol, so results can be iterated: cursor.execute(sql) for row in cursor: print row[0]C.rowIdColumns(table, catalog=None, schema=None, nullable=True) --> self Executes SQLSpecialColumns with SQL_ROWVER which creates a result set of columns that are automatically updated when any value in the row is updated. Each row fetched has the following columns: 0) scope 1) column_name 2) data_type 3) type_name 4) column_size 5) buffer_length 6) decimal_digits 7) pseudo_column=}~=This read-only attribute specifies the number of rows the last DML statement (INSERT, UPDATE, DELETE) affected. This is set to -1 for SELECT statements.nextset() --> True | None Jumps to the next resultset if the last sql has multiple resultset.Returns True if there is a next resultset otherwise None.C.execute(sql, [params]) --> Cursor Prepare and execute a database query or command. Parameters may be provided as a sequence (as specified by the DB API) or simply passed in one after another (non-standard): cursor.execute(sql, (param1, param2)) or cursor.execute(sql, param1, param2) :::;;;C.foreignKeys(table=None, catalog=None, schema=None, foreignTable=None, foreignCatalog=None, foreignSchema=None) --> self Executes the SQLForeignKeys function and creates a results set of column names that are foreign keys in the specified table (columns in the specified table that refer to primary keys in other tables) or foreign keys in other tables that refer to the primary key in the specified table. Each row fetched has the following columns: 0) pktable_cat 1) pktable_schem 2) pktable_name 3) pkcolumn_name 4) fktable_cat 5) fktable_schem 6) fktable_name 7) fkcolumn_name 8) key_seq 9) update_rule 10) delete_rule 11) fk_name 12) pk_name 13) deferrabilityThis read-only attribute is a sequence of 7-item sequences. Each of these sequences contains information describing one result column: (name, type_code, display_size, internal_size, precision, scale, null_ok). All values except name, type_code, and internal_size are None. The type_code entry will be the type object used to create values for that column (e.g. `str` or `datetime.datetime`). This attribute will be None for operations that do not return rows or if the cursor has not had an operation invoked via the execute() method yet. The type_code can be interpreted by comparing it to the Type Objects defined in the DB API and defined the pyodbc module: Date, Time, Timestamp, Binary, STRING, BINARY, NUMBER, and DATETIME.C.statistics(catalog=None, schema=None, unique=False, quick=True) --> self Creates a results set of statistics about a single table and the indexes associated with the table by executing SQLStatistics. unique If True, only unique indexes are returned. Otherwise all indexes are returned. quick If True, CARDINALITY and PAGES are returned only if they are readily available from the server Each row fetched has the following columns: 0) table_cat 1) table_schem 2) table_name 3) non_unique 4) index_qualifier 5) index_name 6) type 7) ordinal_position 8) column_name 9) asc_or_desc 10) cardinality 11) pages 12) filter_conditionThis read/write attribute specifies whether to use a faster executemany() which uses parameter arrays. Not all drivers may work with this implementation.This read-only attribute return a reference to the Connection object on which the cursor was created. The attribute simplifies writing polymorph code in multi-connection environments.H<::C.procedures(procedure=None, catalog=None, schema=None) --> self Executes SQLProcedures and creates a result set of information about the procedures in the data source. Each row fetched has the following columns: 0) procedure_cat 1) procedure_schem 2) procedure_name 3) num_input_params 4) num_output_params 5) num_result_sets 6) remarks 7) procedure_typeIgnored.fetchval() --> value | None Returns the first column of the next row in the result set or None if there are no more rows.C.rowIdColumns(table, catalog=None, schema=None, nullable=True) --> Executes SQLSpecialColumns with SQL_BEST_ROWID which creates a result set of columns that uniquely identify a row Each row fetched has the following columns: 0) scope 1) column_name 2) data_type 3) type_name 4) column_size 5) buffer_length 6) decimal_digits 7) pseudo_columnexecutemany(sql, seq_of_params) --> Cursor | count | None Prepare a database query or command and then execute it against all parameter sequences found in the sequence seq_of_params. Only the result of the final execution is returned. See `execute` for a description of parameter passing the return value.:::$;This read-only attribute is a list of all the diagnostic messages in the current result set.fetchall() --> list of Rows Fetch all remaining rows of a query result, returning them as a list of Rows. An empty list is returned if there are no more rows. A ProgrammingError exception is raised if the previous call to execute() did not produce any result set or no call was issued yet.:::p;fetchone() --> Row | None Fetch the next row of a query result set, returning a single Row instance, or None when no more data is available. A ProgrammingError exception is raised if the previous call to execute() did not produce any result set or no call was issued yet.setinputsizes(sizes) -> None Sets the type information to be used when binding parameters. sizes must be a sequence of values, one for each input parameter. Each value may be an integer to override the column size when binding character data, a Type Object to override the SQL type, or a sequence of integers to specify (SQL type, column size, decimal digits) where any may be none to use the default. Parameters beyond the length of the sequence will be bound with the defaults. Setting sizes to None reverts all parameters to the defaults.EgetDecimalSeparator() -> string Gets the decimal separator character used when parsing NUMERIC from the database.A database module for accessing databases via ODBC. This module conforms to the DB API 2.0 specification while providing non-standard convenience features. Only standard Python data types are used so additional DLLs are not required. Static Variables: version The module version string. Official builds will have a version in the format `major.minor.revision`, such as 2.1.7. Beta versions will have -beta appended, such as 2.1.8-beta03. (This would be a build before the official 2.1.8 release.) Some special test builds will have a test name (the git branch name) prepended, such as fixissue90-2.1.8-beta03. apilevel The string constant '2.0' indicating this module supports DB API level 2.0. lowercase A Boolean that controls whether column names in result rows are lowercased. This can be changed any time and affects queries executed after the change. The default is False. This can be useful when database columns have inconsistent capitalization. pooling A Boolean indicating whether connection pooling is enabled. This is a global (HENV) setting, so it can only be modified before the first connection is made. The default is True, which enables ODBC connection pooling. threadsafety The integer 1, indicating that threads may share the module but not connections. Note that connections and cursors may be used by different threads, just not at the same time. paramstyle The string constant 'qmark' to indicate parameters are identified using question marks. odbcversion The ODBC version number as a string, such as '3.X' for ODBC 3.X compatibility. This is a global (HENV) setting, so it can only be modified before the first connection is made. Use 3.8 if you are using unixodbc connection pooling and your drivers are all 3.8 compatible. The default is '3.X'.TimestampFromTicks(ticks) --> datetime.datetime Returns a datetime object initialized from the given ticks value (number of seconds since the epoch; see the documentation of the standard Python time module for detailsdrivers() --> [ DriverName1, DriverName2 ... DriverNameN ] Returns a list of installed drivers.DateFromTicks(ticks) --> datetime.date Returns a date object initialized from the given ticks value (number of seconds since the epoch; see the documentation of the standard Python time module for details).dataSources() --> { DSN : Description } Returns a dictionary mapping available DSNs to their descriptions.TimeFromTicks(ticks) --> datetime.time Returns a time object initialized from the given ticks value (number of seconds since the epoch; see the documentation of the standard Python time module for details).setDecimalSeparator(string) -> None Sets the decimal separator character used when parsing NUMERIC from the database.(UP0UP@UPU hU@UUUconnect(str, autocommit=False, timeout=0, **kwargs) --> Connection Accepts an ODBC connection string and returns a new Connection object. The connection string will be passed to SQLDriverConnect, so a DSN connection can be created using: cnxn = pyodbc.connect('DSN=DataSourceName;UID=user;PWD=password') To connect without requiring a DSN, specify the driver and connection information: DRIVER={SQL Server};SERVER=localhost;DATABASE=testdb;UID=user;PWD=password Note the use of braces when a value contains spaces. Refer to SQLDriverConnect documentation or the documentation of your ODBC driver for details. The connection string can be passed as the string `str`, as a list of keywords, or a combination of the two. Any keywords except autocommit and timeout (see below) are simply added to the connection string. connect('server=localhost;user=me') connect(server='localhost', user='me') connect('server=localhost', user='me') The DB API recommends the keywords 'user', 'password', and 'host', but these are not valid ODBC keywords, so these will be converted to 'uid', 'pwd', and 'server'. Special Keywords The following specal keywords are processed by pyodbc and are not added to the connection string. (If you must use these in your connection string, pass them as a string, not as keywords.) autocommit If False or zero, the default, transactions are created automatically as defined in the DB API 2. If True or non-zero, the connection is put into ODBC autocommit mode and statements are committed automatically. timeout An integer login timeout in seconds, used to set the SQL_ATTR_LOGIN_TIMEOUT attribute of the connection. The default is 0 which means the database's default timeout, if any, is used. xn0@0`0PhnPnThe Cursor.description sequence from the Cursor that created this row.Row objects are sequence objects that hold query results. They are similar to tuples in that they cannot be resized and new attributes cannot be added, but individual elements can be replaced. This allows data to be "fixed up" after being fetched. (For example, datetimes may be replaced by those with time zones attached.) row[0] = row[0].replace(tzinfo=timezone) print row[0] Additionally, individual values can be optionally be accessed or replaced by name. Non-alphanumeric characters are replaced with an underscore. cursor.execute("select customer_id, [Name With Spaces] from tmp") row = cursor.fetchone() print row.customer_id, row.Name_With_Spaces If using this non-standard feature, it is often convenient to specify the name using the SQL 'as' keyword: cursor.execute("select count(*) as total from tmp") row = cursor.fetchone() print row.total PRolls back any pending transaction to the database on the current connection, including those from other cursors. __exit__(*excinfo) -> None. Commits the connection if necessary..__enter__() -> self.Cursor.cancel() -> None Cancels the processing of the current statement. Cancels the processing of the current statement. This calls SQLCancel and is designed to be called from another thread tostop processing of an ongoing query.Dз@T=U >YP>|  >\00>P^0@>^P>0`@`>sh>``p>bx>i>n> n`>0n>o> r>w>u>y{<p{?{X8hPSSSSSS|JJ J0K8K PKKK  K8LHL  `LLL  LXMpM  MNN  N`OpO  O P8P  PPPQ  0Qlu@t2t2ttttFupu$ui4upxDuxLut`utu,uPuE uP ~ v~ ,v !@v !d!Pvp!!Xv!!dv!"|v""Pv"J#PvP##Pv#u$v$f%vf%%v%&v&X'v`''Pv((Pv(/)Pv0))v))v)l*wp**Pv*!+ w!+u+4wu++Hw+u,Pv,p-Xwp--Pv..v..dw.t/xw/0w00w0>1Pv@1f1wf11w11w12Pv22w213w13:5x@5U6xU664x68Lx88\x89v9a9dxa99xx99:x9:?x?tAxAAxADBxDBBxBDvD>E\x@EEPvEEyEGyGG@yGHPy HxHxyxHHyH$Ky$K)Ky)KDKyPK|}>|n|}n||$}|}\x}j}4}j}}<}}~P}~|~}|~~`}~At}P} } }}؂Pv؂}_}`u}u }  ~# ~# ~8~5X~@ҍp~'|~'~~~~~ hp(@Ppdp|gg^^ww``pz(<ܹPܹd t  Ԁ66@v`tPv##7@sH؁PPqhq|@@̂܂\x\x9\x@X\x`99,L\#\x03l@|Xw zԃ\x..U`*~0v,,(<PL`PvPv\xxPv|<<\x'̄(P P4u?Hd\x\x\x\x0\x0E\xHԃ\x\x&\x(PvLTLpPvpPv|8Xw8tXwx \x  ^     L c 8{c | 8{|  8{    t0 H`   `h pxȤؤ (8@PXhpȥХ(0@HX`pЦ 0@P`pЧ 0@P`pШ 0@P`pЩ 0@P`pЪ 0@P`pЫ 0@P`pЬ 0@P`pЭ 0@P`pЮ 0@P`pЯ0 0@P`pР 0@P`pС 0@P`pТ 0@P`pУ 0@P`pФ 0@P`pХ 0@P`pЦpXpx (088Ȥ`Цئ (08ȡء (8@HX`hxȢآ (@HX`hx`hpЭ @Hhp (04 (ȤФؤȭЭح X`hp <Ȯخ (8@HX`hxlȦ @H`xPXȬج (8@HX`hxȯد (8@HX`hxȠؠ (8@HX`hxȡء@HX`pxȢآ (08@HPX`hpxȣУأHP`