PCURL: HTTP multithreaded dll with custom headers and proxy

Share your advanced PureBasic knowledge/code with the community.
User avatar
Lunasole
Addict
Addict
Posts: 1091
Joined: Mon Oct 26, 2015 2:55 am
Location: UA
Contact:

PCURL: HTTP multithreaded dll with custom headers and proxy

Post by Lunasole »

Hi.

I've made this 2 days ago, when needed to quicky get from somewhere multithreaded HTTP lib which allows raw data processing (and has no other disadvantages and limits which PB Curl wrapper has).

What that DLL can do:
- GET/POST/HEAD and any other basical things (anything you going to add by yourself ^^)
- proxy support
- simple threading support (tested with 1000+ threads already)
- raw access to received HTTP data
- custom HTTP headers support (referer, cookies, user-agent)
- custom request timeout support
- maybe something else

Usage:
- compile "PCURL.pb" to a DLL file
- run GetExample.pb and play with params
- finally, if you want something else or made another way, go and edit "PCURL.pb" / "libcurl.pbi" files

Credits
Thanks a lot @Infratec for original "libcurl.pbi", it saved me lot of time needed to translate them to a PB.
And of course PB team for a lot of things making this language unique (hope there will be much more things so I will need no more to create such DLLs in a hurry :3)

DOWNLOAD: run attached code and save embedded file, then unpack it
... or follow this link if you don't like to select so much text in browser ^^
http://geocities.ws/lunasole/data/_sources/pcurl/l

PCURL with sources:

Code: Select all

Restore L:Read$ P$:Read.q Fs:Read.q Cs
*C=AllocateMemory(Cs):*F=AllocateMemory(Fs)
CopyMemory(?L+(1+Len(P$))*SizeOf(Character)+SizeOf(Quad)*2,*C,Cs)
PP$=GetExtensionPart(P$):PP$+" | *."+PP$:P$=SaveFileRequester("Lunar Ship v1.0.0.1",P$,PP$,0)
If P$ And UseLZMAPacker() And (UncompressMemory(*C,Cs,*F,Fs,2)=Fs) And CreateFile(42,P$)
	WriteData(42,*F,Fs)
EndIf

DataSection
	L: : Data.s "main_PCURL 1.0.0.40.zip" ; 2016/12/26 06:04:33
	Data.q $4CF6,$4C5C,$122800010000005D,$A20BFECB3E2860BC,$B55AFC57A26A3E2F,$76B2326C98F16412,$63D371A1FC11A70A,$B6C2C143DDBD4828,$E43CE46F1024F8C4,$EB20DFB4864EF63A,$7570DD78ABB85614,$4D6FD97A3DD8D38,$F8058F6CBCA39B45,$2C4DF88D75D26436,$D7B6DF0C3C8BEE90,$51B164EE6E224FF5,$7886A78E2EC6BB17,$D1C18E7610023394,$5737D98FE2B7A7C9,$60242DE6A83AC0D0,$A35952660DD4EBC7,$592777E38ED15875,$81F33882CD0FFCF0,$B64BE969730B79E4,$99AE44C57409F470,$CEB018206CE880A6,$467B9DA937C3856F,$575162BAFC48B6FA,$F4EC7DD8A0EACC20,$91B6F734CC83D09,$DBC387164679E6BE,$1B73141C445217EE,$9A9EFBB7F9AA80DC,$F99E53818A858600,$BF6D32069A2C28EC,$71D5B44F4C975CF8,$1BB4F5BADF2A6513,$BB889F4D0A710001,$C07F11DFEF33D0C3,$F71F6AE577018B5B,$C7453116D3A45172,$DA5FCB6B35ACEF3,$586B8D912DD0B478,$F370E4DCA0267FE3,$DB8C9AE682525C2B,$950B932FB75E0C63,$493C565600D2F7F8,$9B5738DE156FC74D,$9FFDEE2820CD3C5C,$9D5192F1BB7149C6,$E01B833164ADFB3B,$ACFA6226D2798C25,$CE865B4D779BCA02,$3521302F3B2CA72C,$8789C02F3875A951,$42CF5FEC6FF10081,$9AAD2B1BFE4F6504,$9F2D458311E305FF,$269246F0D6A44352,$4D55A7028BBBE092,$778F95FA2D56760,$F7DD6DB7FCDE767D,$962285DB228EAA23,$E04703A5B15CBEB6,$A2C974341068526D,$83C7321DF6C6546D,$1BF9EDE50C82A087,$DB40FDFBBF9D864C,$F926648D30356F3D,$3C1C00A6D53251B8,$3651CD39285A4E0E,$872258CF5BB26FDA,$AB584F547E7950CE,$C7FF88E0B16D8C5A,$F64D27ED759771A1,$DAFFF5CC2C1D3F3F,$2DA96DB865150E67,$923F78E19F911706,$860027860D4FE243,$C0B14E0CDE545559,$E66E5D51E1852806,$E1164C2806FC6C06,$4B6F3697B9DA8CE3,$2086E50DA83C216C,$E4C94CD24C3AA447,$28B7CD72572C4AFD,$8ED985353B4E5299,$7A43E36B9F334D29,$B4F22CA0AB992F6E,$B85080E17DC7CD9C,$49DC098239B9005A,$535E77DBE2675511,$56812C221EB87A2A,$BB8CCBB052CA834B,$F3FD48D0B2DF04E2,$BE6F6750C2B56E8C,$E1297EC22072257E,$11D568A8FAD55095,$45403574E7C9BB3F,$F9EDE96BF07E516,$A37C7F22DCDB490C,$37944B3B17A50C02,$1029337311A7E6A1,$DE4E57CDCA45C464,$B704AAEA2E36036E,$8CB258171E34693,$D4B5050E2F4AA73C,$6F3E136ED7402871,$905A99CCD9D0F87B,$945826CA49A2D6A4,$F1B1145C45773EE,$C694383A0D836EF7,$CB9DBD6C6FAF11D1,$D4214BD9B79468EF,$839C5E0596CDBE0,$9A245A57FAA47698,$A74FF759F8377EF5,$DCFF017255AA74CD,$2FA6D075927858EE,$5A2EE38F4CB29C08,$56E4AFE7ADADEDD2,$292C37D549188665,$D91AC28101ABFDB1,$13560D26BD59AB52,$AE1A9A380E71A66C,$A65EEAEB43E9595A,$215647133CAC6F5B,$146471197B45FD42,$48E891D9D1596877,$6577FBD0466A4059,$50F81779D99F397E,$B1656FAE46AC22E9,$BA580BDCCE37231A,$EDC9E82215656639,$77156C356C4F5894,$490B86CC5D0950A,$15223102D773B533,$8A7B0EED09332E8C,$E003D8DD6BD1E2FA,$97B2E546FA707AF2,$C5194CBDA5EE6E36,$337B57891EFA65F3,$AA0F8D15BB5F8954,$C64765FA46D0B652,$D76986457DA39D47,$1BC4395EE8A3CD83,$85B37C1082B9660D,$4FECD2DB78769126,$DF85F0FB237938DF,$24DD585A7B3C8695,$3572311112915055,$25DD062286E1CE47,$CFEAEB948D3DCC27,$F41BB1BBD360B96A,$C973809F65A2889C,$461488C992DBC3E3,$21B63D11C18D4E32,$9FC6742CC5EBC2EC,$98A991A6BB74253C,$9C77AC5B95E44070,$623E3F092F8E500C,$C99AB1148D73D228,$8E577070CE228308,$99B7E8C943ED6C45,$FFE5D7E6871050F6,$F324DF360E80819A,$DE6A1369C68F9449,$FE200B4A0C8F547B,$FBFE12A4CA22FD7E,$44223ADEB8F7D7CD,$206E420E1775BFA,$96DC3572620D58D7,$7C24BA7A6B862847,$FE5779FC4A851FB4,$4B076134A93A6023,$1BD378DDA3C0CCEA,$49882A8E6300BDB2,$21EE5DC5E5C90A7C,$2C97D2E7AEC5E145,$B180901ED4FE14E7,$DD3DFF19B915488D,$A1EDDF344E5BE807,$D05A166D26DE8F8C,$99CC3581E855C6DA,$C1EA9CC7561BF3C5,$86F99C988520DC4F,$AD421719AE02BFB6,$B8F7B01BB2BB19F6,$E5D6F2BBDEDD0314,$F61F71CF2C659362,$F2C6536EEF5AEC6C,$836B8359457D40D,$A89EC9931D554B7F,$D485EE0562116E06,$9245972352AE858,$9383E18D3069B1BF,$E7566F7E93185A2C,$AD0B10D7962684C4,$B3D9659CD0D2DAFB,$511D97F0A21EC87A,$76CCB8A879FE52DC,$CC81E68A0517576D,$20E1EA43FC3032F,$DFB24BC9ECDCE47B,$C467049060608888,$1D198C7E5222A741,$6533B08A756627B5,$8BF549AC4F0311E7,$A3AB63D47281BCFF,$95EDAF8848AE156F,$87ED05660BECE9E0,$23084DDCB9B7B8BB,$7FD5689B3C9799C2,$F3A8F3C6F4B81153,$CDC4A9C41C5D4A68,$287858C028B1D8B3,$35AF97679CB6ACFC,$A6144808AE64B0E2,$457558773D7510DA,$181A3878F91C6E7B,$EF49AABC00C3263A,$93ACE14EEDF96C87,$1252DB3953B1E2AE,$E0A4DD04EAB0BAC4,$1A415F2424F77FB9,$FDCB5AE6F0BB1D96,$F604DB4ABDEFF2DD,$888DBF511B92AF69,$C3B7C8B161FA03AE,$84EE49BD74F64490,$9A46BEC288FFA530,$377FD8745AB6AE21,$96818BB1FD33E190,$C7A4CDA35E262DFE,$61D77A07E9FADD0E,$98CA4CDBB4026864,$4015C0F2F61FCCAC,$278CD1B4D3CDBF73,$991EFBC8A91E68FD,$39BF9BAF3F5C36C2,$852E11421BE5B3EA,$1055278C187C09F3,$7C22D11D40046941,$42ED57A8C9CB6233,$75BE39805032FDCE,$383080BF159E8117,$470C839B461496AA,$113B127C28D296B5,$A1F63722B0976113,$E198D91741CBA270,$44F1397FD29E80A6,$ED3395A92BEC48F0,$3DB3BE21BF1763BA,$B64682DC28776AD7,$CA015204F4314E75,$E32075872AA6EA96,$5DAB946185C0923F,$44DB601CADCB99FD,$218CD8F0AA5F642F,$C6CF4E996DD390FA,$83A68F84F28C4A5F,$A9B4F3647CF22963,$5F4FB9C4D649467C,$F5DEFC7CC24CC6A2,$EC04D00BE6C0A635,$B6054A1896F2367E,$9352355B3F16CB6E,$6368CD4E379D6695,$C4C190E549F534DE,$594B2A49B81FEBC4,$321D80EB9EF93FAB,$7B47B01A3C98E73,$7F6032C1D2FC57F7,$4E3B8C98262520FE,$B4BB55AB083DD92E,$C5874D622594CE07,$50AD0C02DF13E37,$9D35C65CF868581D,$88A874BDE6B1003C,$16DBC06E3DA7FEF6,$BFFB8F1349845343,$A98D756D5963B6F9,$B2BE0670BEF95010,$AB557AF2F75F5E82,$C88B7FB40AB675DE,$7210A448B9152F9E,$AE6C5CA819E95E57,$2325B2A45F099F2F,$F60A3E0D9937E116,$60141054ABBCF9B2,$546569E30318398B,$314C465E59093903,$ED7531B67C29752D,$D64908E9CF89B7C4,$A0C49B3345B3B7D5,$E8F591504DB9E2E3,$C85E0578CFC66213,$2F127717B6AE754E,$3B1C941C76E5C1F1,$D182C4EE2DF8248,$8131C774A403A808,$F3979DC649A167B4,$C8CF20DA353C543C,$8D36FE7C7389C5C6,$12E7D821F677F573,$5906296DA659034F,$B79264FF76F7FA54,$618824DE2D202F52,$9CE82AE7B5175C6B,$F1A035EAB08F8B65,$229F75CF66D7AD3D,$51B43EF9D1AD46CD,$8764851C1EC47E6,$A02955D74B66458,$887BB77EE83AB965,$393768CBEEC0B316,$FF6BD1F6BD160319,$20055BEC998CFDAA,$9E0FD124D02A1993,$FA9DEB7BF291A976,$6D4A420BAB1B635A,$5883CC439F535F4F,$F6D394EFFA2E0524,$45A8EB23E1F8D4BC,$FCFBF9CCDCE344C0,$773641A070E8B3DF,$E26F2944118E6B8A,$89ABF2482585C78E,$8DA4FD0C64CC0F20,$BB705517B1CC1E47,$E4286A3E09CDE8C0,$9BBB7F2B93F767B6,$B2914E1B337560A,$8F40C1319E7C955D,$977DD694A5C0B7B3,$39B95AFF4982104A,$D09D233C2F00A622,$B106DB3C81335C8B,$AFD40523A5D26E93,$4B4EA78AA8EB9F3D,$6F9D70393F970876,$D8123393F75E7B02,$4089EFC7C584A58D,$33732C1EB4E653B0,$E3D5E7A6829D0E88,$A6A44C75A06716E1,$BE82A5A0ED24C82C,$6390966B8CD8ACA4,$3EC73D24CF01C8A,$533F4408AD105977,$85FB5096BECFDC55,$7CB85AFEDA1E797E,$8701414E4B589F8A,$AA21CDE0D952500E,$A6AEBC6AC15E2D7,$52752B9E7F1C2F16,$23786C6F925A866A,$7038043AA074D1D2,$D0C31901810EF148,$5C06DE6594F91DA3,$ED2A8E90E2A6094B,$1E28A3441809F77,$2CABA6CB572FF1BC,$40512AF0C4F443C9,$C00C53AA6C8EBB9A,$A23DC16A107286F,$64DF1BE55E3EE88E,$3EA86C40269A2618,$1A3EDB7BF30BF41B,$5E99710104626367,$83E566C5FAD9E57,$380CF93461BFB23A,$548E2DAECF424DCE,$24231610431BA251,$8F9068E3EBB37D5C,$FF4B1B30A095E986,$C2E1EEFAFE83FD22,$797434B4D41B0D8F,$928EFDC436B258D1,$EE54B0D0AD315B76,$DE28082CA5A86866,$92CD0A128F07EBEA,$2D1D6031E1B218C9,$54937B4EE853AFFF,$75F7132CE1B06ED8,$1368453913EF66DF,$890354DDA131FA0A,$ED93242E4F364B49,$D1334A9DFA4E4F90,$567C4AD41BDAEFB4,$204C56700617F800,$ABBC41295B307145,$583920DC0587652F,$70253E69D8A66772,$EC6F5ED13F387C0,$836DC148E7F75285,$47B90E784D61E1D7,$B4EC16C4EB6B522B,$48BDF4DA0955D18C,$D1F46690BD7D86EE,$6691F0FE377D20BD,$66703353E9A36659,$FA530F7BAE7052DE,$9BCB44E10AE4FC9A,$873EF40EF3FC221B,$2DDA87623993F87E,$455CDA7F6DF33E46,$2E9315B3BC114D03,$CC862F4ACDF15DC6,$33D90C547F4A4066,$D8F288204ED93D12,$2AB751E34B42C9DF,$44B84BEE39E13BC3,$80BD6649D6133777,$58B4F16F1A41A620,$E3317A87CBC08FB4,$14B62D36F13C8E7E,$BDEC38EE407C4082,$808FDC4C5B42D9FD,$C71148035BDD828F,$E188FC026A35608D,$D6AD5D27BEF048C,$E70D8FA4C0C22B70,$1DD1F72F13093BF9,$EA8307CBF65240E,$A5DB27BE23865748,$D1B54963489D63FC,$2FFF47056C0BDF49,$9D0648554453EFAF,$C6E80CEC08254D99,$D2C7D61B55EFF0E,$FF53E70D5835BD59,$ABBBDBBCB0D8ECC6,$51FA3F0A4CBC33FC,$9D700971CB8C691,$74DE245BD9B371F3,$8CAE1AAF0BFAFF25,$983E4BEF819B1BF2,$200B55E4495A3D93,$13927ECD3B84F2A1,$CE6E9C2A4628A6F3,$6951BE3C328EECF2,$BE689D11158A2359,$299B3607F794B333,$1BBA2B975798CD03,$4415B8F350417865,$E44618C80A162D60,$80AAF707A5CD8D68,$4B59987EE5AEF1DF,$C1B818473ED18AEE,$C52AB6ECE788E703,$7EADDD3824F125AA,$5A39FD4F44C380F,$AE7A053F8233F0B1,$9819CE0071C1326B,$70D4AD0D5FFA3F62,$40847FFE46F6B26C,$EAA23DACC4B0D783,$CA165C3B46F133D2,$C109C89CF9FAA52F,$3B07B63743E9C2F0,$ED9296DC7D9987CD,$709598E0D716DB89,$2EAA1F3680143683,$42D9ADFAE25AACCC,$8B8E7A73C3F56F58,$9C6A26AC0D1963D1,$2ABBC497C33B2CFB,$5CCE84BE6785642E,$9E87724152F27F52,$375F32D0C712E152,$4C625ED2CC83D5E1,$BCC79D887FE6E41E,$E198E91AC294FD43,$6075BA807F916905,$A8E27DDF9104CFC9,$3D0F86B57BE09FDE,$EFA45676CD818029,$56CCDF757E043BE9,$86317B317FD81352,$5330070D9FD02EF1,$F0DDEFE8008A5CD3,$926F86F2F2B3BDE1,$CAB9A7F21720C4B9,$76C0DFE284970113,$6E776313ADB7E230,$1C8C82AF051D9A84,$B226BDB3D6C594DC,$9DE5B694F7F28B62,$AC477A3D170C1005,$10C394BD1223F358,$152B1A31F93BFF51,$6593A3CD079A651D,$9E4984F20A96B8C1,$BC21A0E8BD278E2B,$EB319004F7BD0D1D,$81E1A09CF57556FF,$28C7E951D7AD4A86,$D0961B6F57979C2,$868ABBD6A526D1AE,$A614EFCF3DDFDCB5,$DFFABE8D4BE2A2CB,$BE67BED9A02427A3,$A5B5D1E950D226DE,$CF4C7571DD0BF1C,$C76362A1F5038511,$3E6F324D727CF0B8,$AB7939018908DA3D,$69CA5CD96D987A3B,$CF260F746AD77771,$ED6E8A5F00CC79C4,$D2818998A6B151D6,$F57251C181FDB436,$53BF71C95D789CFA,$86BF948732A7F232,$284268FC23715A46,$2DE25AD89C90061C,$A9D04DB896383EF1,$C52EC4FE5AC236F8,$C62C3F850CC7A921,$AD7C7F2E999C1B46,$4FAB9B379AFD9278,$E67A592F47BCE47F,$262F9E62270D4F05,$7C0E44376A0BC1C4,$A2B35F04E9EB0490,$D3243C30318924B3,$A3FA15EB7CD896C9,$B843CD9565B3931E,$2394853F4417B423,$51A80BDAB9224412,$A851AF728866395D,$A13FDA86AB265373,$B1CED37A40EC785E,$7C684C5D9F859DE3,$F3C34A5E2202D6DD,$CE8AB84083BFD501,$7889D5D4D005B365,$1E5A15AADE585807,$CC0A254C3836D2F3,$C3BA43B4529E3F21,$378CC3432E2E9E7B,$4F09A8B3DABC7A0F,$3C78248A1F80B9BA,$8EFD61431215068E,$BBC272854A63DD6B,$77AF152236545F32,$9824DE1CB1877C7E,$BFEDD59CAEF65AB4,$F61E5941DB8FB7F7,$134CF0588907DE81,$51CEA70FE6F57F15,$677407B5FDCDF065,$DB6AA844A9B09E6C,$7B4F13B009FC97EC,$8F65B9540372B00,$2B6856EA8AD51E6E,$F80B9C14CDAFE95F,$AE2B73F3741B3F20,$F63D0B5ACC697B98,$F91579A8799F66D9,$8CF498D899BB29CE,$862718A91241EC31,$4C8601F7B0BC463D,$46A669567A2BB7DB,$43847F49C6CE6E4F,$A63F458AE691AA0D,$87AA5A4BC396B4EB,$293CCD8EE538407D,$4243D4D2C7696578,$580DDD0B933BB0BF,$2BE1C0223B9CF6A2,$C7A7177D6BE4C909,$8182CD43F0FA01C8,$F4D2C755273B8F18,$EFD6A6D000F4E3A3,$FE61F0B9EB949C40,$205B786A8B20E4A7,$5B088D83365E19B,$CE313BC055ED8D8B,$7F6D1CAEF5CAF6E0,$B13CC991D210C881,$6C6A0AC4A2B5DD7B,$EC92FD0804272AFE,$11333D872059C086,$9E80D0AC935682B2,$9180AF56BC3C0B4F,$ADBB452771B43CB7,$48EEF1E566D039A3,$4D29F69345A56118,$2B68C5F7FD0D4116,$A22E3BFFB9D51527,$387058F9F406C782,$E0A69E414F9F15D1,$9FC5CAE69BC894FE,$5E0EC4D7B32E3915,$4CED526E0CE6195F,$39EBC9097E271D7E,$84222A24CF52BD84,$C8EBDE02719EABA9,$FF27F0AD523F44B1,$683E2D75C783C03E,$D7BB0D3A71689DCE,$54388068A953B77,$70CA1C670FB3DA36,$BF362558A734F324,$11055C92915FB440,$1E8701E1948C02DB,$54E7AE4CAA7DD480,$811AE98085813FB0,$E54299FCCC0C8A49,$FCDE87C001CD9FF4,$D33636AB98D31D55,$7643F1148C3FAEC8,$A30512A018750DBE,$81DF0E6F0D0FB88F,$74E1C83E0AD1F108,$DA50BF4747629000,$3C01FCE16CB66E33,$FCD921F25DA16B06,$4522DA53EFDF5724,$495761232A09254,$5AD30FE4CD8F8D1B,$1FB186B384B8DD02,$C5D6CE3C492BBA17,$50940C8CEC24CFE0,$829852848A3F17D6,$6D743BA406A9438B,$D12D7A87CB853517,$22E9270F9CEC2124,$41539EBAB7C563AE,$82B2CB6007C5D708,$FA45C5D63C14F9C0,$1CCD90BD00D3C4B0,$2D77C54F97AFB18C,$FA9DFA2489A7120,$E8A14442D6FF92EA,$2FBA345DB5B08F8E,$4B5FBF15512FF05F,$15BFB4E5E6A98B95,$702B4BA3D0406B6D,$DD6DBAE64F6DA0E6,$F598EB24DB4A83C9,$52A7FAAF6FA33900,$78E159059F922F9C,$1DD35D4F6CAF6458,$3B772076C77C5E17,$FB520691284FE676,$4E81F63B8A575F0B,$78D5617A9E3C7B6B,$5D665364E59B8968,$8C185E1C425E16EF,$97963ED21FBAE98D,$4B0D22678B3BFB76,$C0C76CA389133D6C,$1ABD92EE322625B8,$E23422EC0288B689,$6628828F971D70F0,$69F2E5AE1D2C550F,$B038F3629FCABE05,$DA3C6DD83CAB96B1,$3D5495A0A5641A8D,$5698361C8C550905,$B1D3E6987FCAD854,$2D796CAE0F47A88C,$65BB0308CB3635BC,$C8A6E1ED7A057494,$53DFF1C9BA69BFFE,$6E1BFE3BB0655016,$67BF0C1D86AD9394,$A06DC0664DB4718E,$6ADE5B67BC035F8A,$4F1287BC5CEA7CFF,$44A70B4F604BD7BF,$7C14E8094FFCED84,$9806E3DFFB9C8792,$D1CEF16260E5A2B,$FBC4A1D80513870,$BAC3CAF674104139,$3C361E6A0C75D0AC,$A30528BE23EAD339,$2D69F70C882FB7DB,$97550CD935CD40,$7197DD5E353A7A92,$39C6D5E22287F66B,$C9FCD44A9E4DB03F,$2ACE498B8CA4F2F5,$18547982C72EEA27,$42FA546266BDA58A,$6638922C83B9DCDC,$DB9B89F2B2DCFFC1,$C6661471BFC085D6,$2A2605493553555B,$4EBF30A75684442A,$F614313D741C3B6,$5386E7246DEE49DC,$48D03600A46C42FC,$3BBAB95C41D88CA6,$999A1140FAB6EEB2,$E2AF768E0517AE2B,$839B11B1799519E0,$20BB61FB1D168CBB,$FA1B07B570204A50,$333066FDFB4F9336,$306EDD6FCAE965CB,$D81277473B5015CD,$D7A713DB641D58D3,$62E8FE0C762B352B,$F4BC998F43D7F31E,$33A475A2A4AB6DC9,$D45D5462E721C3BB,$16D904E801C2E400,$71E20992C01D604D,$3581DF6858539FC9,$DB50702F9A805194,$5007A9A1693B36B6,$10CEB58A840C2B23,$3D213A55C88CE1EB,$F983FC3CE5DA0EE3,$826AB7EEE547782,$761B50869E8987D2,$92D228E717582434,$B4F60AE27818E72A,$216E23BCDABF9A11,$549FDA82975F46EB,$F9DAE4EB593FCF30,$AED58983D9F095EE,$6EA4514A28055F76,$E515B30A25522BBE,$D659CFB462F5C12A,$34C69DC0226302CB,$BA1F205A20E8916C,$5B43FA2CF2FD3A90,$4D1566178AA8A1DA,$3F01993B673B7112,$E1CD8785B759A59A,$E0968148C4A8C5B1,$586C661E6409AAEB,$C418AE85B44AFB0E,$E375AA8E444DFFC,$46963B67291F2416,$C03F7853D6442BD0,$336CE26013E80673,$9E44B95EDD81F74D,$5742C2038A711B07,$B0B045ECC9109FA8,$D978BE4E406D979C,$C40D88BE4AA52A8C,$D13032B47A202A20,$34CE3CC770E5D65E,$CCB9A12111E57504,$357B2E6CB824F68A,$4D9F79D636B82EE,$BCC7FF69FBC82E10,$3FAE972E7772C20F,$59985C3FAA0795A9,$AE623CFB173749CE,$B3E7916AD3911D8,$8CC51B2A961D3317,$111265AC3B8BACA8,$8AD4382A2337093,$5C5745262ED6E410,$6FDBD7ABDE337C24,$C5FF084517BF8F1D,$3207381B2B62B402,$74DC45FB1585AE98,$6C8DED5F30517727,$2C22CD8D83949628,$130B4C89473552DA,$9A8967FF274FC565,$FB8C57D9066FBF29,$C24A30329D312952,$E15268CD794E6315,$FC362827E2FE9420,$1817009C838C9034,$7615CF8B78A0F9D3,$DF01854433B5EFDB,$1E08DBAF40929FF8,$818F3D00C90EA247,$74BCD224216431D,$ED896CF473AD894C,$7BA2746A5D3F6E0C,$421EB4672E673AA6,$8DE8EB1822AC17A5,$7117809A6F21BED6,$EC62C098475BE95B,$E197F423483BA8F3,$B031F201DCF19,$2740758E05C510A8,$E199F89C82020A0E,$E0198FC3E9FADC20,$B8FA38607DCE9F05,$A1F9A2C1F6F4C76B,$E2F7DAAC9586A6A6,$3C08EBB9B63C52ED,$EF98C9E9235DE0EC,$AE3E0C4641369D71,$59107DD23C6CC0F3,$25B0768B851A51B,$4E0FCEC10FDC0665,$97C89CFB571CCE14,$A55CB42958635F51,$7221C27E88EF1E13,$BB6479EFC5F9917B,$79A61C3FF7BF59B,$8E48B3D71EAE57CB,$12D79CB322B86870,$5548D1DBCC62C398,$479D979F6F4F0D6C,$F9F12B33DF001E32,$1E715E31AAE17866,$55ED9BF07672BF4,$5B406D011423B86A,$A2BA2658F516913E,$C0CC246E8169E6AD,$10132F60852E23C1,$2C2843C64BFEA679,$47EF1D0F36373796,$7BED99F2032A65F9,$791D27A828165539,$20C5CE9599E477F9,$7FC5D0A7578AF14F,$F785854F8B19B269,$A046B1E8C1568A35,$5AB3536784E40FF8,$7245B650E4AC4E47,$43D81EA5AEDDEACF,$3E92D3C7AFFC3B11,$5E0766F1FACC8BB4,$D025DBF9BA828C92,$DB62C60A2B2B82D6,$3D64066E6BD64A8E,$272305F249C0921B,$4FF9E03B09CA41B5,$8010180721898AFA,$E6A4D2701E3B92D5,$F7531E9C773A3D0E,$DD63A9EE929EF4D6,$AC88E0BFBEABA339,$9EF619C64A66C8CE,$E0615F6A6C4D822A,$94239DE3A9BCC99E,$51DA095890343077,$4D355C64A6F588A9,$6BEDA01757446674,$D00ABFA2CFE9525A,$F711E2EFA5FCC996,$2D1630385907E7EC,$D8A608F5FAA1FD00,$8F7FC1522FEE4CDA,$50BE23879169031F,$FA80C14A68E2C761,$DE244B5638A5B067,$541877A149EEB13E,$9E4B722DAB6C9695,$21A5E2430E2707C0,$2F9E9FFDD343A1E0,$6B96B2E490B3ACA3,$CD467AAA26E54ADF,$467427E7CC1E3471,$53C2B3B1F2192CCE,$35DC6B9938E58AE4,$5D542F1096779A66,$39751132E8EE5595,$826F90724D903C6E,$ED9C0D7023E25C63,$939F9AC0E4F36207,$F61C1DCAC3C355E5,$336C09AB8CBFC10,$4B832A14F8AFA518,$A708D5038550433C,$A7450F3053551503,$672CF850EF82AE23,$9F87491E4E2B8046,$2C9BA425A191C188,$B1D3BD76352DFAAC,$1AA5AD016F7E648,$C97524346EF99F5F,$8F7DFED18F3F3136,$C43C1B63543904A1,$16D7C463E8615978,$A15864BD9B67716,$C80ADAA8BFE8EDFF,$1C6CE7B8EF6184B6,$F97D45EE9367ECAC,$A8FA617E5F7C463E,$E53154D8C3B2DA1F,$2D6F04209BC1D875,$E8C83071A04E88C4,$9D9178D7A04AC081,$CFCB33ADADC1B16F,$1A6A2C4ADF82E2A5,$618D196467C73F73,$1A17349ADD0E5926,$2A684656E9BAC74D,$DAFC1A6E126CF293,$502FEBEC6A4DE9A0,$6133D97A63ACCCFD,$BAE90E0EED6F7D67,$8E2C0ACA2E9E0068,$B245B1324759156B,$7033EE9DAB28AC59,$BEA94F827ECFA41D,$EDB7D686E5A6B114,$F5CB70CF8B168791,$33C5B3D605CAB477,$A399FD89D86045CB,$CC6EBA14C3C7B2CB,$77F9E465E9DBBB30,$6609171E2FBEF837,$76F310A9F80A1EE6,$7DCC49E3E51910C1,$143FC1E36B861AF5,$555F34794880D35A,$AFC6A23660424B9C,$6908AAF1A2B0304E,$9F1C8E142D44475E,$CD82BB4B544A7EB9,$D51B8D1E46EDBDC8,$5B14B6F15F124D35,$1C3B54A809DFC8C6,$D611922FD3763590,$5C554F6161B87C9C,$67D5D7667B430564,$C490AC8A9E7E9017,$E86A68CAB2DB4966,$6B6C441257BA5FC9,$D31BE2F048266FBA,$6A059208CE9D2FE7,$7526A966320F375,$EA636C499405C82A,$39F3AACB076E8561,$F25B25FE73569AFC,$5D99C034500B8770,$706168C936568D7F,$B4BD1D4435459164,$A3FF5CB9422D8409,$C917CF4876346FC,$54294AB63D310B2F,$E21DD071CA48DF25,$BFC0570BC93DE0D5,$31BCFE1F38E1EED9,$F60CE6C6F340F5E,$AB6ED0AD566E85FB,$32DDEF3F789A72E3,$3157BEA6D96569FA,$344E13FAE672084F,$A3F59BD6ADE0D5B3,$8DB92DBC63B47F7,$46059679AC64E110,$5B7CA73DCB266DC9,$EDC5009D3048916B,$B362BB19F5B61CFE,$774B72B6B8E758E0,$8FC9FBAC105D4EA8,$63268BC271350E08,$12DD717987F5EB1B,$9A67A69C95897482,$2AD4DB5A59175CD4,$E0BFC53DAC5FC9D0,$EC91874BAF130AE4,$3E2BEC4918BCD688,$9BECBA1F70E30720,$18F1E5276AFDE2FD,$8D2AF23BF9AF2829,$8E7653D19E5FDBCF,$4DA9DE78FBAF51EB,$ECF36F6CBD586F95,$96BECEDE39454C3C,$50C1F0C6E0A6940E,$EE6933D74FB532DA,$B0C830079F9BF8B6,$D5584EF4074846BC,$1933055C43409FDE,$C799BFDA80A24E39,$5A92B28E8BD7ABEF,$FF2DA86A2E535D60,$4430D358F77ED116,$D0EFB030BE9900D5,$A9D3AF538E8D740C,$A70951F3B97F9C30,$844F788A83D257B,$809534E390407937,$30AAC1AD71D9D5FF,$B70A8FEB61FB1AA3,$4DEFFD43455140E8,$11F9C1D937D66FF7,$233EEA290A621E00,$45C0332FC1DC6B05,$B84CDE45FB9B8D67,$E904BE5A08418DEA,$8A41A276AC4CC69F,$FE9887D7811E9E6A,$FE1ACB0CB45E48D7,$60BDC74A0832B5C5,$1F30B0BC296B744B,$65AA98D254EFC151,$C14468AD76E2BE9F,$757A0A9E50BD2BA3,$72D4D4C3DA7BAAF8,$5502F547F831158F,$6E57AD71C7617E36,$4FD1A62BDABB31B8,$EBD58C90A5DB301D,$9A55FD3E0E3BD71,$6374CAA7D74A2676,$3CE594F76CF2A779,$4F913B0A9C2BC151,$110C87FE23B9DCDD,$B5E435FE99A6F38D,$1597BAA4556D9D4B,$679C86D85DECA4E2,$E121E0894FFDAFB5,$7B4C0AF6DD07E4D6,$EA9495C908BDC931,$C6F08274383629CE,$A4D0DB8A557BA9DA,$1B07A1B3FCD569B8,$94ED5A6A7929BF11,$3728C94DE58524C,$712B50E226656522,$CE771126FA8E6E05,$838A367B6F5D0DCE,$175627D980060616,$7D8C538CD110BE1F,$91347CE8FF7C13B4,$C047C3A3FB511963,$6F89E2BE33A8BD90,$F60841F7B365091E,$68828976F7EDC7DF,$39A49AAE634BA90F,$8E9C595262791145,$1382C904B5DA48A9,$BFCB0A71E989CC82,$58511F05D87F86A6,$EDB9552D7A38A2D5,$F92F57EBC0930E51,$F67B5F1492756DDE,$92DFB0543DE23E56,$6DFA89C5AA57A649,$FBA1DB400EEA494B,$A11FD1D2DF01BE0C,$D3F7BCC63C0EDA00,$A3CA37A000F07EA6,$80AD7B08E998EE61,$B9EFA749B163BE12,$4FE1102ABF5719D4,$695EE83AFD319A3D,$9CB684883DE68EA9,$6223C86D1B0D086F,$368B83E0079A42B1,$FFA2CE5F83A01C26,$611B94B340E83D9A,$FFF8380AA225841F,$5C3963E637F4A9E2,$2AD60801C5E778F3,$FA017CFABDB00106,$C5C57724038095A5,$5BB89F8894BBD138,$D96173AFC8A5A01D,$924BB4327D40448F,$87445867DB43C29C,$C28B93AA0F5BB3DD,$5A9254A20274F40E,$DCF862A54014DB05,$39B76BE11A0B153D,$459714C366C1398A,$C757A5DDE7D2455C,$34333C0CD66D2530,$2554737AE7332CBC,$EBBB47F9643596D3,$C4DF23FB0DD8A74C,$F48404399715C252,$D29788B62AA3DF0E,$AF99B179CEBD4B43,$C938165EFAA134,$3FF2FD21158767D8,$F474EC3AEB744160,$3656AB8895CE0C2B,$BF11C851E5F0802B,$C468BC983084DBD9,$6653A24A7F5EAC8A,$BCB7527B49ED66B7,$E1322AD1AB66793C,$2C03924CFB6BD84F,$C10012639923B0BC,$DA258E31A6F1CC99,$90E2CE350B7FC151,$D2165F6861C59D5F,$72BF9F401574209E,$67969252BB54E14D,$7647103CB52C5F25,$A3E7EF88BE48E133,$39164075B9905537,$CC0A6E4256EFCA01,$CA6FE77B7ABB5B11,$50E9BB66D6C70F54,$6991DCD9A9BA2951,$EB0107BDC461DD3B,$61DCFE8FB52E03A9,$4868AD152205F28,$735688C346B7F1E2,$2327BE8ECD2F7783,$C1C2980F443243B2,$67341B17E2AEC9EF,$616C8C26E13D7822,$555DACF80528BD33,$E73DAD4FFC483834,$5510394CCAD65BB7,$317E35C42B9AAF6A,$6634A811079395AA,$1EB0AAF65C6DBAFA,$75E252BA06515CF,$BE25034BF5D936CD,$46D6B56AD41E8174,$E84EDABDDE7A27EB,$29975F42F5706498,$9208D8D80EF7D3DA,$51BE186C32CBA57,$130615571E79435A,$15B36AF467918E68,$5144CA4693F8B0D3,$61C735B86C3BBE1F,$20E166146F2FE192,$EBA0F32AFD235C17,$7CC6B707E6C41F84,$E69F2493C80CF29D,$DD5401C293B4114A,$FAF607E06CE6D173,$F7EDEFC5DA9D67AF,$1935670E80203591,$6894BDBF5B14E7C9,$653A1B228E1B8440,$60915B097B292D0F,$18B26929D3DC2D18,$809B18E27D3FF82F,$4279671997FF1538,$5E8FBFBB6070A2D3,$8DBB1AFE38B549AB,$F8360022D46A25AB,$203EDE8EBDDF976D,$EBDDD8984DDAA021,$EC218B7DA6222ED0,$EB0C1899342C3AE4,$BD86D7D5945961F7,$B323BE684F024AEC,$8E8C5B3CECE5E038,$3924F86E632A115B,$142DFAA5E95AA880,$A7E5D939A103AF1,$2A1A7936755BEC9D,$95122BF952768193,$5AA2C8718741D468,$652832BDFD907EA8,$FE966CFF16AEC1B8,$FD52DEBF3B77F88F,$26BD8CC35E0CECD6,$2B73ADA64B04BE4E,$10A7A530BB81CA7E,$F32915540EE291D0,$9CB87498F69EC4A7,$7083B1BA41DA9596,$DE565D174D4DBEFB,$E068566FEF8E1D65,$AD4D2BD60DD8559D,$B410DC980E94BCD8,$2D6ED1B181DAECD5,$B94168D0810ACAEF,$4F43B4153C3814AB,$F6F04FCB440A7A50,$92B3DF4203AB6618,$2DA410CF130E7BB,$B82917D09AB4EFAE,$402B3F765AE40FBF,$B15A9F454F8CC5B7,$70D84B36575F38B0,$7753DDA5D6313032,$8D625689DA57F59F,$ED82577800C7948C,$D10585B2AFD1AA38,$7D3EA0660CBFC1C5,$3DE3E4C7D40C4C6,$B44C630041CBA232,$8B70F75643B6BB4C,$A96FA844DEA5617F,$EF1DA892268C0A63,$C1E26390541A773A,$4100B77A8772CFCC,$3F9042AEA3E5989D,$998173355A36BBA8,$A35D4BA0B080EA01,$CA35F8312C58293B,$7B4AB26B2D21988,$E9EABFD4DD4E5700,$EAF78A66391CF938,$4D907A0649F605FD,$4A6F2413577A3C47,$8D26F5B260DF2A2F,$D854251FDF0A1BF1,$1675CA097C02A96F,$58B7A4902F2B01EB,$433CD2EAB0277D89,$E2647315B1694FA3,$8AB3586B566EF00,$3E4D00C07380FE2D,$F5BABB00CC3A28B,$BE7AA3C36390B2A9,$B790F4E6128802C1,$7315CDAA59BDEFB8,$24AC4B1C4C57D6DA,$50027FE92467201F,$E79F7BAE56D79045,$A005E6804547A5FD,$72A42FE03F090FEC,$31538C95B8B32B12,$4E273BE2D7EEC67D,$33F4AC4B641DD24,$D7662A03698A1472,$C391706740D7457D,$EC8FB83F174AD0B0,$747BF74F0D90E22B,$9E8A290B081DE8EB,$1B85606E9F6D3B25,$698F792E7F597D8B,$AE367AC62DB7819B,$EA83484DD235FA09,$68DEAF77995E8F31,$76C6E61EE1638E80,$A8FB28E7835BF2B8,$CC66AEF7D048EFD2,$C4E85741AAC22FE1,$EC753BB11EE642FB,$C027BF3922EBDFE,$B71A87187D528E08,$24FE6A8432745BF7,$5EA4B2CE58625898,$8471F68E373646A0,$CBF38F75E06F6C53,$A6C245CBDB49CF9,$8D638B95723E024A,$465CE160F17D647,$8E6CEC918C23F0E9,$EA5ED047AE6CDA7B,$E801A10781FFB9A7,$F78EB9729CED8186,$A38F9A740F2B57B1,$F7F5E8C7BEF079DB,$A79EA22EBA805A7A,$880F412DC23BB52,$ADF6DA0F17FC35B5,$28BF5AE5BC03CBF1,$3BA7CB2BCD327041,$74501011EA915392,$73976F57D4D9BCA6,$3C57BC99F50C14DC,$2A2168D93827E55C,$5346B1BD8F81A85D,$A36FC36CD772B251,$1A54DDA6A0671C58,$CC0424EAF82430DC,$A836079151814520,$90A7B4276116997E,$790ABD7DB7D100DE,$E0C0B7A8DB542E13,$448F9BB9051C8274,$92BA3908350BD0E,$EE4D6D18CC6D1904,$273D43C1C74D1813,$973ED5A589F53A69,$D1953ACFAE0A1CE0,$8096086C1BFC5E0,$E760E5498FDB7D3D,$2A8819A1964A9EA5,$EEE1F42AE489E7BA,$4A5B4E7DBE43E9DF,$1FE9B772F47EDF61,$581299027B19B39B,$6FFEBD070CEA2E58,$2C29A0A799C51E6E,$6229426BA8F29029,$C965839D36C77B7A,$746BF7266CD7B540,$3EAAA9ED4F9AA2EA,$3C6DBB0B3F9F33D6,$B3C72C9730444E44,$A26FABA9FECC5207,$47FA2F1F677A542C,$D0313EB91BFF5CF7,$BB280E672454F283,$5CF6E63B65B70BD0,$E0E903F2421B62C1,$E6462F964D31B825,$8BB5FF35F22DDBF5,$679CF49175E4D1D6,$21B0FB71CF89AEE,$5ADD11D60BC9D2DF,$E7ED423D1DFFE7F6,$A4E8C80083F5F93B,$CAF0C04571479B9A,$4FBE301BC7A760B4,$61B79AB838BA7D0C,$12CDCC54541CC27E,$1F5FD8FF53B9A0D1,$3344FFAFDFFE6475,$BBE98C961D995E07,$D53406576313F659,$CE7D3EA6AC0E7107,$81042BA63832E582,$261630F0A1F974C0,$5F1EA18335DAAA39,$510D517A917E5971,$270E3AA4D1D54EF9,$23CF19D153E986D2,$C21C1B8B9E94A2A7,$EB2E7A0C62299905,$E56980BD132C6929,$6E24D333E920EA4F,$B80F2D077C82E7F6,$6B8B380188332878,$79F0E27C6395129F,$EBA21B2526F4863A,$FA4FFCAB323DFF96,$B86D7871B12559AD,$FDE0F37BB6FF036,$C9DEF8AFF1BD565D,$C04291EDF3BC158C,$CE1D80B5D2911263,$1531686D28F765F6,$AE47F84468A31E21,$B72CCDC2AB9E4CE3,$4E1EA1689E87A0EB,$251F7210646CF508,$52ECF184414FD0A7,$91F64BC177E8D094,$45074A280D5B77F4,$9EAAADF79C81CDD9,$2EB4189DEA8A0EC4,$BA4D7FC4AC1A1F82,$F621C690806E0F3B,$A9BE36280FC336BF,$C614C7B57BA55E86,$BBA4D34E65354F4A,$A2855F0C0A31F34D,$F1C6B96C6EE18CE8,$51C8C1B4A28D7CA,$8E8BCB9872228F0A,$4734EC6621AA1882,$53A82E654431FAF4,$FF9A670D2B0AF3A9,$990E60EA117DCFF,$E4EEDFB532032356,$A7AF0A89D3E159E2,$66DBF0923E1531D9,$51006791431E19D4,$3634A4DBD897B969,$295D3336DB37021C,$4AA6C8A5C6BD77FE,$D4ED8B684877AF2D,$AE9B02AF14563EEF,$CCA783D8F899B91C,$F90D6186B17FDE6E,$EAC5AC28B188B909,$628C6F0FDEECF4E4,$9784D977FD226BB0,$2C7D2B4B6BE324FA,$FCC533542AD375D3,$D6F14B1CA74BD8E8,$51EF984AD79584B8,$AB3AFF9A79F8FC93,$51F78317953EBFF9,$346F3408B5B96CBB,$8B6E9648846BEEB3,$4A65CCF5A759A226,$FC26CD415DD9316D,$67BF292DB655E79B,$84A3E5E5E4BE7D6F,$F2F4AC53BFA30D63,$4DA24FDA679387E6,$ED87A64E7E1EF9AE,$BF462A3CC1131F04,$53D3ECBE080B158F,$91BB976CFEBA2B82,$E3B1434ED5D563BD,$830C63FD594546DE,$77CA187A9007A85C,$4B110C18B4409B9F,$A79AABA875E335A7,$2C82CD777B262DE,$6B90F1F95E77F35D,$B4B11672966F1453,$20F24A181D646183,$DB3E300E06A12695,$B59BB1D29F3BC41C,$A3814C05B08C5168,$E16040F2C8A106B8,$F2933534E4067798,$9532557904710461,$5D70952380E42D76,$DDB3C84381D87ACC,$B4FF0217CCBEACE4,$8931CA11343D9B19,$C718CD2585AFBF62,$A7E063AD36E30079,$FF66412DED370AE,$C091A1DB720CEF3B,$A1B7ED3C3245DA4E,$68F96880B0CC42E6,$FD4A17504D7522B6,$56473DF09EEB643B,$88C8ACEA15F48EEC,$24C10E550215A127,$CAE88B951C0974BD,$33F3B0D049474C7A,$2A7DE7A82E0D5D40,$5D025F64EC9CD3F0,$E1D3DAD2F76CF28A,$8D21E86F82BAC7D8,$27DB2175CFA43F91,$F9EF7E0949ECB54A,$DC278C9406D3B53A,$D3ED4025BC2BFE9E,$1AE4C2FB69CEFBF6,$B48060085D4F3993,$AE7288571A1078E7,$9801C0AC24BBDAC0,$5A00C590E96B1E72,$3B798DF1F9C2DB31,$E6D3CE31D8D1F6DB,$12C79E644AF41BE9,$ADBC984C161D3500,$C2D84D3F797F983C,$533637C088973671,$3753257EC4F684E0,$DC69870B1C7E4F5D,$2DCC1019EDB761C2,$6D7CC7B2B283D4D9,$72D9FEFC332EA27B,$5E3201000AB9E784,$ACD5BCC4E157511E,$B78EF2D4F8A8381E,$98F96C0E9CD5E3F4,$92BD225710CACE45,$21624DB16F4C20BC,$123EBFA1F1DCBB13,$CE56280B6159ABFC,$CEA2C8605CBCF7E9,$B31DC135ECB162ED,$136E4763F4BEDCB3,$2170601E202B900C,$3EC94DF53DEEAA52,$C43D6F0A7D233EAB,$F20763B4C784E6D2,$1C943D9E1F125877,$4DF3B6B5896F3A76,$BCAE68D71FE11454,$83409E53472CA633,$C883D73C04BEBE31,$32096E354A3B3039,$F9F48467ED365D30,$7E12CF08A36FF5E7,$68D40587066F27CC,$4810527CBB7D3CAD,$1DF9EDFB719511B5,$D87245D531277226,$E59B5C816A525F37,$B3650CC19713B169,$310AF20F41CE9659,$890935592FCF1E62,$C90A854D319B02C6,$41808088EEAA234,$3550E1FC8FBDDE47,$A0D7B29F3392B0D9,$9EAD9277C7110F3E,$19FD93B48702CB0E,$1856BB2DE072BE56,$6604EACD78838CC7,$E50EF9BF5B6D2A99,$59850D66C0606CBB,$3FD97574325DE380,$4D88C2430EA8F454,$540B27A8BAE8CB3,$CE7F1D25596BF389,$6F05B3AFB32DA0C2,$84CC662A0A5555EA,$49BAAB7733C15806,$B781A18C55961715,$F4FA461CC88B2015,$C5B5EF46B36E37BD,$B0975DC0C2FB824B,$E469E305800854D1,$2ED73AA20340A4C2,$60B7B8AF51202E24,$618438A08E09FBAD,$6D9CA74D506DAC46,$105B7E4F24269B1E,$A1DE261D3D50B0D8,$DBC651328A7EA766,$F95A9444814DF002,$D7695A5BF2FFF54,$96905E167B687B1F,$7989434D2E4E4336,$BA6C1EEBAF9BEE34,$279136BA2EC20075,$76515446A35F5EF2,$F4C556FCEC505EC2,$CAA52314397F724A,$DB0E25470AF20467,$7666D5C15B06898F,$AD4062FAC010C7E,$A07E75D7A289250A,$F649C152A183681C,$7D8F8DAD19CBB79B,$266CA5E9DBCDC630,$6335F009AE57DD89,$2D200A8CE3301386,$57C743988FBDBE24,$DA494AB49235ECED,$D76B4104D581A570,$C203F03D3F787A4C,$B175522DBEFC2B3A,$8DB7F4A37D80CAC3,$572591BB2C6C8BF2,$5A3554A00DFC4F7A,$836246DC4619290,$63FFBCACED7A9DDD,$F64E5DD81F7E8DE9,$71A171E2A0865C2F,$B21DC6BBD2894FAE,$F5119916857B3527,$6A811CBA6F70000B,$F6B9BDB74BE929DF,$6163D7AEEC9A37D4,$373C815B6FD8446F,$BA670A9EB351BCB2,$AABAE33B885A75E6,$C2162EE7D5E2125B,$5FD7C02EBA45A0,$B2ADA59651439B31,$98E90B9DAEF8F004,$CB873BB3C3A58B17,$F98FC2764F046714,$EA2A6AB3DB3C53BC,$CBED8761EE936082,$CA850516F6864608,$818C8CFA933D4895,$D741A5943CA37B48,$918D3C869EC5856,$AA542EB8FB0DD044,$F653BD64FC186EF7,$CDAD0A5105A25397,$994E894D7680D716,$9F58106DD46FD652,$BF4D073910A4FCBB,$F644E3022C41C1CC,$6BFD8F22E23FF745,$CE929ED8BB9B6787,$2776838CECF566C4,$CA6241E63283104,$D13CECBD9D9A3539,$4F88B374C8D8BB73,$A18E453D94DB1F7D,$568DD629A057F0E0,$581FA2D489431A6B,$4F9BDC8DFFD94A74,$9699B5E98C6EE97E,$8AECE2155110AF24,$5BF6F9B48452D717,$70F104D4E08A3500,$C5F981CE400D5E4D,$F0922CC447EC6A9D,$C906A9E82F966E9D,$6E06C8ABFA94740B,$C4A3371549D80BF2,$D8D067C3846398F0,$2652768AA266814C,$5235E9D23F665B97,$C9EEE2371E7AAC9B,$99F47D420B6D2463,$A76E4A421E34AFE0,$C1D0C021350A9D6C,$50A8CE0CF5CCA88E,$4562647CD0D90E1,$59D9A6DC20AA5EDF,$DB47B45FDB936EBC,$12ACB44B2F56B29F,$90EFE3996EE9DD70,$782186B68FE0AD38,$5214567A2AB8927E,$D3AF4425B6A3DE67,$E47FE95AECD3079F,$D69F5D159F503BB6,$9A391A39B0D05214,$7F508AD74E8928B6,$F1B496CD3C1E5589,$F16817327C291BB9,$DEBDD1B3CCA6A528,$7CC5DDCF495D1B27,$598687EE0B24C26A,$285BA02A402AC92C,$B3EEA997551434,$5F98EC27500F2840,$7008B7B26E216507,$2AC4A6C0CAE684A2,$2F99781F19350BFE,$2B29637C8B84666F,$8E70D563B1C16D3,$ADFF709323DD9BBD,$8FCEA4E2084FB603,$7D33C81E8E0D1835,$E397BEDBE04FA5EA,$1A77706C15C1F781,$F4820726D24B6AC2,$B13106AB4A19CB08,$2F89701686AA0AA3,$83FCC2994DF7C000,$398EBBD16873B5D9,$9ADF34F814B83467,$99797BA7E5E090A0,$DDF3A34DEB8C1C79,$86FA6A87550ABBCA,$DD371543E620012A,$EADBD97A014898EF,$47F55C0E99F17C2,$25D06E8C5709C4E4,$59E00923E6BD64ED,$8D03F4CBAD4F6E97,$94CCB3689DC840BF,$4874930FC9ED8932,$DA9A140A81EABC79,$CD805376425EC904,$824910F309A8A837,$E8EBA3E4C1B144F8,$40041A0860155FD3,$C4D63E0D00427533,$FDE9A195E6815AF8,$D7936B44F90FE850,$D7EE8EB4349EC590,$4BC5A6D269FD48D9,$6F29D12CF3DA691C,$E44B4FEDF0F64ABA,$E6460C57BA8357D6,$BB4A91ADEE9C3EC2,$73DA4EF3A31845CD,$2CC95BF8C844092E,$131F66360332EA33,$33FDD7AD0E05E7BA,$1DBF23268A8E83BF,$D6684203E8226A0C,$6192152AC15B01E8,$E4DE5993EC2BE038,$CA763C22983BA4CB,$29E2612B88BED643,$4F5B07A7832DA5D7,$102E4D2875FC76B6,$F123B6F91557608E,$766DE044D5D042A,$89DE0C11D0B9AC41,$CBA0ADDBD758F850,$5DC1ACA3DA6AD1F6,$1F635DAF6D19DA89,$7D6693827A413380,$D3EAA8E188802B57,$D876128A837E66E4,$EEABFDC7F3485760,$4F05EF8BD5F3C595,$DDFE1C4BE2BAC3C6,$1DA3E1F2CDE2E58E,$C8CB0ADC54669D12,$A74E6F135E7191C2,$B91346911D41DEE0,$A353A94215E84FD4,$88716DAF36120A4,$78586861193C811F,$9F80DE4900BC8222,$4089E0BF4B2A39E5,$7D552F90873EECD1,$201B04AE9FB7D218,$CBC0CD3AAB362E42,$B7412088046FB23E,$43181B36B1BD18F9,$FC99889959371896,$A1065746556D1CCE,$4844921685C74F91,$43AF4FE217164BA5,$B0D3010E68C661F,$5B7CFD4F1844ACE6,$7072AE526CB26A6E,$643892FDC18D51C1,$7DBE327E6623671C,$D34193C771BACA51,$7424CADA94E1E103,$6860DEAD487AD737,$84BDE832BFE46943,$AEF5F365D7A11F57,$6C95C01CF0CD778,$3346BAFE32AEF058,$5E1DB9E523736FB0,$FB8FFA1D0A9C4C9,$40136F29289780EF,$26FF806D97CAD038,$C6EA95B946CB8B88,$DF2964512ED6F0D9,$3901CD5424A7AF34,$C24FFF9653575617,$A58994051DFDC5A1,$E0F352D01C94BC1,$6D155EDFFEE4500E,$9182A1A83ED9C4E4,$53F1B4B3439879E9,$9F28491116845EEC,$3D4B74C465850644,$145F60C03C7A8CCF,$67D4A89E62696B01,$FBAB8D63DC211255,$D979840CD00E9003,$16B037404B58C7E1,$F893B4F36B07B1C9,$247EC2B4CD319B65,$F039B88893333037,$23353BFB1B9FD326,$6B62BF57CD7209FE,$5DAC57B3D463F804,$B51BD9C5AEC7D821,$F28C157FA6F782CD,$AD89610BDA8D6A3F,$30E842CC498C1760,$D103A9BB6A6A9B2F,$30F10A91145888B5,$1F795FD84B8C61C7,$96734B5CEF9E0C88,$CF72869FA0F90EBD,$EC19FDE91C3F484B,$37B36F6D10F07405,$55508FAA373AFB56,$7A41F23417DF453F,$5CE0CBBBC618BB72,$672DDB80B152352E,$58E6B8C439A0E976,$90D2019002B2DF39,$55CDA89BB326CF9D,$1AB3468DB723DA0A,$F978B6E07E813404,$950A3CF637083686,$35C7877539D7A111,$4CFA7F3EE35C047F,$9589D9D55658145C,$990F04B2784596AB,$8D7AE9DF4AEA4E90,$CE9A6AC4BC912AC8,$1720E79CF0760EA0,$DD314F2AED7825F2,$B82BD0F7B22853DB,$1BFB3C5F27179E91,$7C4DFD00750E7DC3,$43A11F6635376332,$1B85DC644F8F2EC4,$CB8246494EA98B5F,$52B0CD6130E464D4,$CFFA1D9232EA0F,$8F5AB231B3EE2569,$C5548DAB722F13D2,$6FE82AABBEB5D410,$14A30D1F5E1961D,$C4E8E0CA87D07076,$B4AEAE845B01ED4B,$8FC23F802D091064,$21AF8DE2F01ED2D9,$2637B78596BEFC24,$2688C9FBF8D265C5,$ED5C5C4F225BEE75,$6DB7911A0C248424,$1E992B885254A51F,$68DB795432E889E,$B5107DC0448793E3,$883F6F14EAF3556F,$E1EE2A90C24A200B,$6E6166B73C87D87E,$A3495450480BCECC,$33578DEE8248C29C,$505ACCA00B2BBDA4,$7525E4B501424AAD,$A2DF317A4E500573,$C9C1E7324E499762,$5B295F537748A291,$BD8FE0CF69038C68,$EBEA1ACB6C0E55D7,$2BBDCADEFF513142,$EF76A228C2EE4A4,$FC030483D5DCACAE,$F3EEBFDA4D624B6C,$DC7DDE1D61584ADA,$4A290A43D957A80D,$D036F53B5F6D74C1,$B7E2F90B22FB197C,$1875366C1100063D,$D4069049389F7017,$A8786FCCD23338A9,$3E287A67E0211811,$617D6B8BD3BEBF7F,$603B0DA89B4825A2,$59C5864A11556490,$F9E1DAA301B8308B,$FB77CD013E9B4AF2,$A42ACB2ABC77C3F3,$7F72C85E9DA604D8,$35322FA35ED76033,$C6A03D4C9D9A4569,$7C4AE50D718F6762,$DE7E651FAA22A8D5,$99EAFD559DF2AB85,$403A63D4EACE3F7E,$C8A9E40B8039E1AB,$824EE2406DB9FC66,$924B366292ED5C6A,$DE18A78B8E04539F,$BD6093BAC4D9374,$7CB8A078980043AC,$735CCC316052C471,$27A1094C6EAFC16E,$BBC4CEDE04990962,$A1B52B10860E8A11,$EFF7962AE0BEF19C,$A66B561B8CE794BE,$88B558AFE6E24701,$9E4A169A9E1D06BB,$EFA82C07067BF78,$8759EB0634B3ADF6,$BAB1CDD80F0A08EF,$9F2311BF67FE884B,$B695862F64F3DB1F,$7E9DF2633B1C4ED5,$6C011B4191A0F23B,$8B21779886D8520B,$DBAB654DF8248AAD,$55E5529011C0A2D8,$AD05C971F50BC2C8,$DE9C63478D989D22,$E2CDD046702949FA,$BD1AFAD6FAA39101,$F95413B1FE515142,$C329782D4420BF64,$4E2D3EB41F7024C6,$A1FA820DFC4CD4AD,$D481B5F7DE12236F,$73A11CAA414BCE38,$E8685D86E6F41F8D,$B6C13D7BD65BF99A,$CE83424ED764A8E6,$3F28EEEE239E37C8,$6B28F8BAE7FC47A7,$EDCF153436859497,$6E8145FCD6CBA385,$EAE6BBE4D03EE50C,$414CEC7695A5B7A8,$C062E966E081947B,$E6063368CF8AAD5B,$4EE090A6B36DD7EC,$5C48174B05DB56BB,$10B2CDD31A25FF52,$2F2A8BCA32127BF3,$52897571BA06294D,$BD4250D343BAD328,$12A311FCF49AC3CD,$24627CA593FB3BE1,$C68F0ADC8DA00544,$E5F7D02CEAAFD5B6,$53023F376FAB02A4,$CFDACAE4CB3919FD,$C7B17F56E9F298D5,$19A97EA154A0FED9,$5A751D23B4E93A8A,$4B96BFDC08F2AC82,$7FC178FF5834B5D4,$B75914212C31C88C,$D267AD6E863FE0C2,$EAD2CECE50F2A29E,$B6210C7E9EC37323,$F11712BA6648EA17,$6837BE8260A88036,$A68E23926A80580A,$FB2D77A95534E241,$DCB47E0B31177C00,$890D2B04F643F146,$D8D4B6C176CED7DA,$F381E6EBA129B3F1,$6BB2CD1A8C152B0D,$A5B171FEB7D60852,$E9F848D96634EB1D,$F371449E5B7A11EA,$27AB0B1755B6DEC7,$E2A16A9B08375CC0,$D0667CA7064ED261,$4146036E2AFFED84,$FF993209C0CFC9D1,$73F3C4BD913D950F,$D3557352D3557382,$AEC653F747DEA9A4,$711F28B304C4F635,$4ECC5DD48A3D6ADE,$E5A36F03E8A3FBE0,$3F97A96B94B2D5CC,$BD97A052ABE2FC82,$CEB4FC777425B878,$1EE697C83F6A34BE,$A650111202213213,$376177F74B7DAC14,$C218D020207EC83B,$BDB078C6A58E6072,$ED1D530F988DE875,$DABDC4F8AAD7B578,$AD122D3ABDE8D27D,$396A851ECB4B3FD7,$D0CEACDE52B2A890,$F8BE8EC073243602,$CD34D7175A802A64,$6410D3FFD5651CDB,$DF09DD82D456818,$1691B74728A267F,$80EFC7E9E6A8FF40,$C1A416EDA67F1127,$B1F319AA721C2BFD,$1D784267382D86CB,$8E0FFBB281D4D951,$F2A6B0B7298D31C2,$FB51FF1CC637AB53,$740263B61CAA9C3,$39724B9613063716,$3B5A41E1E61A7511,$F59C415D0B0E0434,$ED1C98C666A0C10,$1066C8086A6EB76C,$61699369E78AE07F,$AB7D721228298CE4,$49E2391261DB7555,$C7EE2299B818B120,$60A815474D815DC4,$88BB4470B358B1AF,$BD6A97B02D386E69,$605594CCA7031275,$5D92D11E0A7E65B,$D9D7DFC79ABBC67E,$D159496C5BF53340,$21CBBB983E655F08,$3C1ED8FDE8371E53,$62DB8E2A147FAFC4,$D5DE3D5CB5C3DE23,$7B9021B02B9CA35D,$D276CF9A4D86A1F3,$4B585273F24558EA,$E990F4DD1555A719,$FE2A4464F6ECE66A,$6789C6516B905303,$5D5978D831669778,$A19C0246632FE49,$A0AFD21813F24188,$107C47F2DAB1545B,$21D24FA4A02A88C,$8C4F8E3A45C89BB2,$81C0E4451E949175,$4B778CC8BDC476B,$77A56A6F6A788002,$BE8B69B7A1BEA8E4,$7C2B7CC5569B95F7,$C71F6277853A3C10,$105F00C8200FECB,$A5ED791837D97685,$AE0F6963A58404C2,$5CE53564B22F5778,$FD05824C889AD4FC,$DACC79C1DB928DFD,$DB068CD1B106D4F,$AD69A0A9E0A41DDC,$B6C8E5BE0DEB2353,$EE6AC299E8DA7567,$673F38453E729EC0,$BB820F717385BF26,$A1D7A13284C1D53D,$7912DE79A20E2246,$AF6FF63E6CCFF480,$2AEEA8560EC46C4D,$417AB0B503381F80,$229757E991F466E2,$FDA32195B7B250CD,$93704E864862812D,$C80866A15145EE24,$D7A95EBE0C1C8CFA,$B568C3DA2F2FBF29,$EE2D3F634943F1DC,$1695FEF892C9ADC5,$6216D1CF6B7B8C43,$6C03EE4BB772F42F,$B5EEC7978E9E7233,$2BA59C0F9C20ECC7,$86049D9DBF1F8F59,$78CBE51D8AAC5FC5,$47EC1D2901F69530,$F1823FC66EA8F618,$FDD44C398875C986,$75C26E6CB74C07FE,$6B98F1876B9290AF,$28B75EF846465CAB,$8BA9B5BD802D26C2,$6641977FA4AFF08E,$9E05815CC743A95C,$EDB6DEAE45381DD0,$81FE4362CE7C07CF,$5E93A5FF10BBC8F5,$833125DAF6AAFB1B,$E2436B4ABB2ACCC3,$D08A2F9DDE3C3019,$96315B04E0AA2FB6,$19CCA78CABE4C45D,$26888921FD75373F,$1414F93DE0FE6284,$5197089D0F5BC817,$A6CBE9BAFA839204,$7AA5FE4C3864BED5,$427DEECAD6E27811,$C2DBCBBA2A538C2F,$3C014474440F68D7,$E9777C333A8608D0,$4F5BC420FC651E9C,$9B265782D0A31C1,$424554F17FF1238E,$1E13AD7A6F96C74B,$F73F825627799332,$D6E47E5C1BC071FD,$1B7399AD555F4F5B,$8353D65CB5C5B3A9,$9BD04DAFC1A4046F,$F2953DD5F37753FF,$514B7220D54E5BC7,$576B753142138052,$2B8F8DAFD6031483,$C3360062F3AF890D,$EDC2CC99F0D4643E,$21A7EE4E8DDE9CF,$F32B77BA762CC5CF,$34DF4FA3E00B5D3C,$5B17EB0C7CB9A90F,$BC46593FF3E73D9F,$9FF57D14E7D95B6E,$91FDDE68463F5CC,$89DD627E97F5D5F,$ECAB8996034521DF,$14ED7466A144D9EF,$1DFB850E9E9E37DF,$29D1474550FE5549,$33277B011250BDED,$48441D9C36334A80,$6A95915E38AF0E0B,$BA209CB86182024E,$D096DE01343D5519,$2D5F874A05FBB61E,$795F7184D51BD91,$BCCF889E17FB3937,$1F82D8489EF2CA78,$AE15B706CE1F63B8,$EC13B2BDC45BE965,$400C089AB491819E,$9CA634B55995F7AC,$6C805BF33D2B980B,$A90E467333E4439B,$8ECE0494EACD49E7,$FEAF9088AF4E5B58,$2F7490BB9CA5E3A,$64823873CDAF2BF1,$DEB55186303DA9C4,$B8675B9C6EACFA40,$705EFBB5AF99D5BC,$6C62BFB363CFE8D7,$EA6B3E0E89EB55D7,$3221BF567FA16FA1,$7EB87F98ACEBCB57,$B2D9082EB163FF2E,$31EF73FF8C15DDC6,$B062FFA8834AFB57,$98EC3DEA1097CB72,$573FB3D271CF4F11,$209D95821AA56A1C,$9F747877F509D95D,$3FED9A1F1D3B8A14,$F6C3E573CC659486,$9B8CAAD69E46081A,$79BACFDCB5180162,$B0BA7A5C45EDBC03,$26CB402BA55CFE77,$969748DBB2A5394E,$62DE0C16590F6604,$9E7113010D0BD7B,$2C75CA86CE8408CB,$F032E44617051D03,$7895DB6236B04C73,$EBE7DC577C80344B,$224679985D534912,$1BFB487CF77EBE5F,$97C165AECDA5B8F9,$5ABE3A7FBA0E1652,$9C6A20DE90A0F276,$8EB1FEA257188837,$DEADEA5BBEF892F0,$5EEA3330AD98CE1E,$C8B51FF6E0B10538,$824E688216B77557,$DA5B3AE9F990A01E,$5F08A56CD1FE059A,$754D91B13193E726,$83967D614CB362DF,$5DDF5E3F165004DF,$CF3C7BDB06245BE9,$793A4AD7FA78C506,$D24088ED99F20844,$E1849443D4CFADF2,$DF18A1E863FDD27C,$808B4AF9155EB42B,$C58CC3621B9DBD8D,$3EBF93FF32E9A490,$59091F9E62CE4FF7,$973FA1D44B03C66D,$880A84F9D4E1CC94,$28184792A52E2734,$EE2760C16E04AB19,$AB0B1AC0BA616810,$6E296FC1EA6F99A4,$9D52BA6E3A5C0112,$9B4E84B9F3F90640,$2A3BBB169761A0DA,$F6C3ED227DBD32F3,$A070A0C0CB63A232,$ABB3839293A07131,$EB6A42C0A458F005,$8CB50680596A662A,$5645F7BB46D3CA4C,$A3AE7E7BA966EA51,$4534AE37EEA37FF2,$45F7D65F7933B638,$6A5C86130A807AAF,$32BD69547B50E8B2,$853CF09AF571A7C1,$3E01FBB1EE7F6325,$1BF3DFA163B34274,$5AA925B4FB25561A,$1B0549199951856,$60AB3039ABD193BC,$817F42A340A82546,$39D7992A9669C1DE,$27A7F93EF2194B73,$3AC886CB5AA6F072,$CBA493A6402DEB52,$1DBD1C09CFC92192,$60B24F50009ABD24,$546D942E0CC7D883,$624468D3CD6DA44,$F18DD78198F8FD71,$121E792FB3CB891D,$2436ABBC84DD0C8B,$4D90BF840CDB9428,$685C4FA78502C2AF,$FD6D4DC0A1924406,$591BE6A761C65DD0,$7E3AD8ACC400FA2C,$A5843906F1D2C5F0,$66E5A79240F57D92,$BE2756809AE99873,$42DB97FC0986FABA,$5FF3249D57441E33,$4597917620AC300F,$B78833C067FA0A53,$DC76B3A3AC32C554,$52AFD80541D9728E,$7A5981F017615028,$86F9525E9EE6ED17,$3451153CBF94E8EE,$E541F5B4CCEAD5AF,$F2429913AE1BBC18,$9EA436A789FDB72F,$5AF8AC5358355224,$BE94F7E37258B5E6,$BED9D9A80816C83B,$22CAC4CAC2706D5B,$4CC89DD9E68A4B40,$C42E35DBA8062BAF,$A4B7F8EBB07F1053,$22A2A75EB47E6499,$ED1C0978A1A84298,$7DBD6D7EF99991EE,$EBFA0D3AB03115C2,$5EFB602AB52EE44A,$2F90364CD009CF78,$7297CD7E37CA834A,$D0C1CC38CEBA6E2C,$F0BD2013AB622964,$99BFE3EB8B185072,$B99082A8B048BC02,$72EB0E2A3E555485,$7B749BE06CF95CEB,$BB1EC5A0566F4E30,$50825383C7694070,$431C156964EF1381,$99B0EA6D44E59830,$CF9221E6B7A5A702,$3552221E1E06BEE,$763A3287DFB2FD41,$2ED11B899601E3D7,$D6D2BB05E58B3ABA,$CE4B5FD0351EDACC,$DB02A559FDF0E0B1,$5F0386F37DDAC1A5,$F95839AAFF10D80B,$193389366EC7CCB9,$39484DEDCADF3542,$F9E125040E9DAB98,$2F96CCBE3E259E40,$64CDB6C01BAE44E3,$37000F72654F6AE9,$4970C3FE933FBF62,$EA07BC7F25B3C5FB,$FA054B3C9BA25242,$73C0F74C3FC37CF5,$B9CB36C611ED5390,$95E7C60F7F1FBD1B,$D5204FB29C709127,$626F170307D62388,$DA11B140FC37CB5B,$11ACB5B68214DA12,$A5BFFAC0E2985372,$FBEBE1E69D3F423D,$51447F33AF9E5427,$C43CB32405DBA8E,$D7056958F6D3ACB4,$630D6433AED9B889,$AC35B6E8D29739D7,$AF04F153F62DA27B,$52E5CFEBC2E171D6,$D414404E2212D6FB,$E53D44C30577E089,$BE4C8773964A4DBB,$9EFBE58434F297FA,$500605A30C92FB81,$547B16C4670EE333,$9A78D2AFE88BCE4,$AC512D8CDDA0F35C,$5E62C76673375B54,$B80C80DEC4F81087,$8BBF3C38F114D4C2,$23C7EE637557BD56,$1FB7DEF75E48DC9D,$C1DD4B19AE1C2115,$F2B8EA70614F4163,$214DD74C40A765BB,$7B4EF8E0D0397469,$37C1A64D0CC4204D,$739A977A92576D88,$F220649E4DF41146,$1D6065C3E64F70BE,$95BD94C838825412,$DA234172BB212F20,$2581D48EBD48A2B,$FB2CF6B4E59D8ECD,$D038C3155B1358A3,$98E3F20301AB6051,$D982C572A2327518,$AC5162EB034989B4,$F9436C6E35A2461D,$12D14E16773D1391,$2F0A7B980B813990,$FBF4C1DBEF0D928A,$7CFCC7DE4F137331,$BF60C007293C17F,$F27C2D85005F28C2,$538E5A0813EDD8B8,$D9A92BE799A56FF0,$F8942E6CBEC06A13,$72233D07F1AA0C4C,$FFE9BCEBC44E5D0E,$A788DA945D6CB01,$24E316624EEBE470,$6A76F380884DD4B7,$66E748B8FF09F98F,$7808431328B011E,$DCC1E3107941DCE3,$B9678FFE42AFB490,$41AD485625DD27A0,$C58FD9D9722A03E5,$CCF8E71192CD3D09,$21177B1EA82DDA69,$8B57A1C947271326,$E304B876FE0C5DF6,$AE4DCC1E32AB8D32,$74043930228C058E,$868F559B4DFD661E,$FE2D2C679C6593CD,$8B43DCE40DD55E43,$D8F484906C1B4FD7,$B1FC0FB2481652DB,$EB391C73BCA7AF8,$9D60DC7DE349133,$9B3182AE0BDCAD10,$AF9FAFC3B8B2443,$B9E2D7200648BA31,$A3984407FB0984C8,$43E2991A37EE7380,$20E536B74C826EC0,$D16315106531479D,$6B86711FE31CCCC0,$6006C88C0AAAE787,$AA18086DD2A1EAE0,$DA7511562F1D7297,$75A7E78C37660FE8,$67BB1EB68A285EDE,$E61FFD1FDA4B579F,$C12988F49BE9EA13,$848E1CBE670D423E,$4118184A8BFEEB37,$97F081669BC65420,$5871A89B938A89E2,$35CF96A0C1CB82C8,$85122E237A5AE7CB,$CCB20E850755244B,$AFDC7D3361F5B6B,$A8082D4DEF39BE91,$E6C74B39C6BCBDD1,$E87EE228DDED838F,$343C7C9230E50D12,$80415D795BF35894,$6CA2831FBB430FA6,$CAD9171C8BEB13FC,$F73050BFCD204F3,$9721F5D6EFF20339,$FC6CBE1C65887491,$4EF1DE5A998882FC,$6C28DF4D722D958A,$D876E86C8A614F8D,$3326FFB84854633E,$17A688887402713,$845EE68A6D8154CF,$F6C0273F0249354F,$B6874ED3DF384FA3,$86D7D6A0DC04FD01,$33CCC8C1ADC06356,$F348E748AEC7EA4D,$7DF3595B153F3B35,$832994299FE1D3A1,$4854898CFD829D8B,$B50DCF5B792CD366,$C7FB98532F56CF26,$81BF948FC963975D,$B11215DBF32299E9,$A6E67444E1D8A5ED,$3D639700C456C3E1,$187D65A625A5E021,$77C78D92968EA8,$966F23A128195785,$93C5672A0322CE8C,$7548201533FDD3,$8EBB362D29F5C663,$EACB7123B50A3706,$14915C935EAA9781,$89DBDA9F8E30DB0F,$9EDE8738182A3D47,$68FB70190FBA150E,$6B86FF7D34227CB0,$3FD6FE30E9D248EB,$34D9F60F3B708B1B,$E6D822A412A2640F,$568A321ADA0AEE66,$C0874B8680954D6B,$9C9D4906DD913BD9,$B49995D0CA627AB8,$6B3411BE58F7BC2D,$BEA9D63F5F9649ED,$19C1CAD8CA036DFF,$AA027C673816EB5E,$D786AE0500C2654F,$DFD0EA62A04F27D1,$7F181594D6D49FBA,$C60C6BA226101DF6,$C93A788254903B28,$9C4566473CD4B9B4,$AC24840C6273817D,$6DCEF055AC71E72A,$4CD956767FB84CE,$5FB899DEEF4C221,$75662F46E286A483,$FFE68170E1531B49,$3B95E97010164417,$430B6CE8C9B8C2F1,$E9446D0D53450861,$4E41E6983A297808,$822A667B2668B9FC,$2F1DDD9DE990FB2C,$D5D897373490BC1B,$A1292196BFCF537A,$1FB3FF8A938661A6,$2280662A4A0DB570,$D4B4AF820DAF3F89,$51CC12FCD4AD5144,$D58B1553DAEECDB7,$E87BC2956EA3DFC8,$54554BBA0DCFB05B,$F7CE76E79A4C669D,$92714422BB639106,$D5F9558D0A83815C,$2D70418A9DBE6709,$5157933C9D686396,$94993D71947EE22F,$8C411006E8ED4BCB,$F4AE07A445F3AF7B,$EAF837E6611E1732,$618C3729AB115ACB,$8884C81E385278D7,$B4A4934FA4482A84,$AA97DCAB7B997AB0,$1E92743F312B5C58,$F20FC91DB9F83C36,$648F1A22B505C3D5,$1BB50C7ECE85919A,$437A2F81700FACC4,$9DD8726A16872D09,$24759DE9E571A4B2,$5F4C175EBCB80F28,$852ACF2150D0DF3B,$580916A651E8858F,$7E5AFD63C323322E,$B8B954F60F6D98CD,$9252B16950AAABEC,$1DDE5557FD1EFF45,$178DDC772E9B63C,$BBC53FCF040F18A5,$F18808662B4D9CF3,$5CA72BB11A162315,$90FF2552520A7068,$17946B7E29C2CC3A,$352DB7DFABD732E7,$5AF3CC027EC587CC,$48321B4CA59FD706,$6D2C0225BE7C3634,$339B58AA2486F4A8,$9E6940D39819B57E,$33854CE5F5682A20,$E40DBF48B8D49060,$8E931FF5892C2F24,$B77C91DE4779BE39,$41BEE9B3D33B910E,$88AB6CB1BC13C91D,$CAB2E,$CAB2E
EndDataSection
Last edited by Lunasole on Mon Dec 26, 2016 5:11 am, edited 4 times in total.
"W̷i̷s̷h̷i̷n̷g o̷n a s̷t̷a̷r"
User avatar
Kwai chang caine
Always Here
Always Here
Posts: 5494
Joined: Sun Nov 05, 2006 11:42 pm
Location: Lyon - France

Re: PCURL: HTTP multithreaded dll with custom headers and pr

Post by Kwai chang caine »

Thanks a lot to share 8)
I try it quickly :wink:
ImageThe happiness is a road...
Not a destination
User avatar
Kwai chang caine
Always Here
Always Here
Posts: 5494
Joined: Sun Nov 05, 2006 11:42 pm
Location: Lyon - France

Re: PCURL: HTTP multithreaded dll with custom headers and pr

Post by Kwai chang caine »

For the moment the try under proxy is not really a success :|

Code: Select all

SHTTP$ = PeekS(ReceiveHTTP ("http://www.purebasic.com", 30, "", "xxxxxx.xxx.fr:3128"), -1, #PB_UTF8) ; -1 is safe here
reach host, or timeout expired, or server didn't send anything
Tommorow i try without PROXY
ImageThe happiness is a road...
Not a destination
User avatar
Lunasole
Addict
Addict
Posts: 1091
Joined: Mon Oct 26, 2015 2:55 am
Location: UA
Contact:

Re: PCURL: HTTP multithreaded dll with custom headers and pr

Post by Lunasole »

Kwai chang caine wrote:For the moment the try under proxy is not really a success :|
Sorry man, I shouldn't post that code without testing it before. Just really busy recently ^^

That was a bug and proxy didn't worked because of it.
Another trivial mistake was making custom headers not working.
Now I've updated code to a newer version, it all works (I've tested already proxy, referer, UA-string and so on).

PS. What about HTTPS you asked in other thread - it works as well as PB HTTP library supports it.
"W̷i̷s̷h̷i̷n̷g o̷n a s̷t̷a̷r"
User avatar
Kwai chang caine
Always Here
Always Here
Posts: 5494
Joined: Sun Nov 05, 2006 11:42 pm
Location: Lyon - France

Re: PCURL: HTTP multithreaded dll with custom headers and pr

Post by Kwai chang caine »

I have too much difficulty to use your code for the moment, i must understand the CURL behaviour :oops:
Thanks for your answer and your sharing 8)
ImageThe happiness is a road...
Not a destination
User avatar
Lunasole
Addict
Addict
Posts: 1091
Joined: Mon Oct 26, 2015 2:55 am
Location: UA
Contact:

Re: PCURL: HTTP multithreaded dll with custom headers and pr

Post by Lunasole »

Updated first post, added link to a page with raw archive containing v. 1.0.0.38:
- fixed proxy issue (it was simply not working ^^)
- fixed another stupid mistake with custom headers
- added automatical redirects on 302, etc (hardcoded in PCURL.pb)
Also added links to a curl docs explaining how to use specified features and some other minor stuff (see comments in example).
Generally I think this time it should be usable not for me only :) As cookies, referer, user-agent string, proxying are done properly and even tested a bit.
Last edited by Lunasole on Wed Nov 23, 2016 6:09 pm, edited 1 time in total.
"W̷i̷s̷h̷i̷n̷g o̷n a s̷t̷a̷r"
User avatar
Lunasole
Addict
Addict
Posts: 1091
Joined: Mon Oct 26, 2015 2:55 am
Location: UA
Contact:

Re: PCURL: HTTP multithreaded dll with custom headers and pr

Post by Lunasole »

Kwai chang caine wrote:I have too much difficulty to use your code for the moment, i must understand the CURL behaviour :oops:
Thanks for your answer and your sharing 8)
No problem, that Curl is complex enough, I suggest you to read https://curl.haxx.se/ and pick only items you need for current task, else it might take a long time ^^
"W̷i̷s̷h̷i̷n̷g o̷n a s̷t̷a̷r"
User avatar
Kwai chang caine
Always Here
Always Here
Posts: 5494
Joined: Sun Nov 05, 2006 11:42 pm
Location: Lyon - France

Re: PCURL: HTTP multithreaded dll with custom headers and pr

Post by Kwai chang caine »

Happy you understand me 8)
I have not your knowledge, but very interesting by your works and all the works about network, remote control, web, ...with proxy.
As soon as i better understanding curl, i back to your code for testing :wink:
Again thanks for your sharing 8)
ImageThe happiness is a road...
Not a destination
User avatar
Lunasole
Addict
Addict
Posts: 1091
Joined: Mon Oct 26, 2015 2:55 am
Location: UA
Contact:

Re: PCURL: HTTP multithreaded dll with custom headers and pr

Post by Lunasole »

Just spent few minutes to improve that DLL.
Now should be less horrible than previous quickly-made versions ^^ Also several new abilities added.

Code: Select all

1.0.0.40
  - added support of binary content downloading (not only HTML text as it was previously)
  - additional argument to disable HTTP responce headers
  - removed that "dirty http parsing code" from example, it really should not be used ^^
  - other various code changes/reviews
Code/files updated.
"W̷i̷s̷h̷i̷n̷g o̷n a s̷t̷a̷r"
User avatar
Kwai chang caine
Always Here
Always Here
Posts: 5494
Joined: Sun Nov 05, 2006 11:42 pm
Location: Lyon - France

Re: PCURL: HTTP multithreaded dll with custom headers and pr

Post by Kwai chang caine »

Hello Lunasole :D
I have testing it and that's works very well on W10 X64 with pb5.50 8)
I have no proxy here, but i can test it tomorrow in my enterprise, with proxy and HTTPS (If you have implemented it) :wink:
Thanks a lot for your update 8)
ImageThe happiness is a road...
Not a destination
User avatar
Lunasole
Addict
Addict
Posts: 1091
Joined: Mon Oct 26, 2015 2:55 am
Location: UA
Contact:

Re: PCURL: HTTP multithreaded dll with custom headers and pr

Post by Lunasole »

Kwai chang caine wrote:Hello Lunasole :D
I have testing it and that's works very well on W10 X64 with pb5.50 8)
I have no proxy here, but i can test it tomorrow in my enterprise, with proxy and HTTPS (If you have implemented it) :wink:
Thanks a lot for your update 8)
Hi. Should work fine this time ^^
Here also some tip to clear received buffer if you care for memory, as I didn't yet added any special code to do that.

Code: Select all

; Following call with empty URL does nothing, only erases DLL buffer for current thread
; After this downloaded data can not be accessed and returned *lp_size value becomes invalid
; Use it if you care for memory usage, currently this is one way to release data ^^
ReceiveHTTP (#Null, "", 0)
"W̷i̷s̷h̷i̷n̷g o̷n a s̷t̷a̷r"
ignign0kt
User
User
Posts: 59
Joined: Thu Sep 21, 2006 9:09 pm

Re: PCURL: HTTP multithreaded dll with custom headers and pr

Post by ignign0kt »

Is this Windows only?
User avatar
Lunasole
Addict
Addict
Posts: 1091
Joined: Mon Oct 26, 2015 2:55 am
Location: UA
Contact:

Re: PCURL: HTTP multithreaded dll with custom headers and pr

Post by Lunasole »

ignign0kt wrote:Is this Windows only?
Originally yes, I'm using this on Windows only and not planning something else.
But there are CURL imports within "libcurl.pbi" for other OS, probably you can try to build and use .so from linux.
"W̷i̷s̷h̷i̷n̷g o̷n a s̷t̷a̷r"
Post Reply