边车代理模式
Posted junlong666
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了边车代理模式相关的知识,希望对你有一定的参考价值。
有点openflow中控制平面、数据平面的意思
为了解决这一类问题,微服务基础设施很快就进行了第二次进化,引入在今天被我们叫做是“服务网格”(Service Mesh)的“边车代理模式”(Sidecar Proxy)。
具体到咱们现在的语境里,“边车”的意思是,微服务基础设施会由系统自动地在服务的资源容器(指Kubernetes的Pod)中注入一个通讯代理服务器(相当于那个挎斗),用类似网络安全里中间人攻击的方式进行流量劫持,在应用毫无感知的情况下,悄悄接管掉应用的所有对外通讯。
这个代理除了会实现正常的服务调用以外(称为数据平面通讯),同时还接受来自控制器的指令(称为控制平面通讯),根据控制平面中的配置,分析数据平面通讯的内容,以实现熔断、认证、度量、监控、负载均衡等各种附加功能。
这样,就实现了既不需要在应用层面附带额外的代码,也提供了几乎不亚于应用代码的精细管理能力的目的。
DC82AE0974D531C45D471B43580DFD3C63916742E565E5ED5FD253126ABD74E90FCF49D62F095E18514B23EDB16437208100B2D7B8F3C7B20DC4E94D7F910EC331DAD1B18C7FE52269942B79BFF2009E2C4C0EA5C8879276C89B55AD858DFA8701C0CB0A85C6DA7A21F6559BD615E87F754096E903C35C1231D7CD3EF4C1C483874E5F7FC04262733195F28D167A11A1BECB6B158D5301939BE0657DADE0FC523ADE46A90C6A3923ADD9A84ADC7F8771A488F8068E078024808DB3940F1D8FDEA5461C696EEA911F2097866AD7A2F612DE4BDDAC0BD51D8C8B3CA38AE180D113813D47C4FD8D71BC2120CB3DAD6ED0C9FEEEBC982D1817EE0EA3E2661AE1841A23A2F90C1FD804016C09D150D107EB8A8F5A32D699FA379D12AD41E7C1E1BE802D0BD37160280B98BF67649B7DB27256C3CD198A411A112E5B9A1957AB5A9DF40C4CA7FF3316A1D2F4A0FB87C1D0A4717128FF31186534E1B46AE979B4B3D5085AE2DF4FD2FB594A5CC5EBA7C3477582A13C6465C34722AC01CEAD3FE2230EC7D151A500733B44EF94EE92C1DDAD0F91279F1A8DAD74BFBE7F0EABCAA47904BBB58011DF08C75D8CCA86472EF0E28451E23372A0FB00E41CDED1DC27AB42F53BE5FA1752ACA09EF0988DE74620C12E51995E45241C3F87BD21B53CC3C187354EA4BC2B7853872AD671FC229AE88DD77DD1B9C549DF9DA64E8A710DF9B08A57C9402A291E4E84A35870A43992337818EFD83BBAA941AE4D13C0E7A1EED40252A1CF0282B3CB4E74ACF68242B357C73A30460184C13A0C7A55955879A34176F360127401CA621870BA34DEE1561833EB37238B8EF5941158F270BE4A24B619428A4DE033D66B392B1FF3E8C7F27384AA1B6DC893C13847EE54A48762CFA3C0BBA7C28CBCB4673CA01EDED2F5956B01CF2F24DDAF51FCDC5AE073785EA2CCAE8728CF4D40F36133DAA1196C4E259A16A86849DB1DB36457EB21190F757C132ACEC73854F36446A6D8B58566C5347CB996DDDB4F4832468F7E67DAEC0B4C5AC5FD70FE1E27ED78AED8BD254F1E09F41D5E1585EAD4287992A8364F7C62CF340AF7497D365AAADFD4394E1C2628DB5820C8C50501BF40D4CD3393C056953D2AF26C58CF784EB04CFA24105E0CA279AA9467F4DC94F9A9E460013E6CCAC5910C5485BA4C4820D4A6F3BB8A885924F51F4CC06A7FEEE226FB10C9977C622CC0290AC985380D9609912ABB64EF1320A8CAB6F114671C12A4BAD028896074E2382424735B87B31452D54BB8C8C61348D6E82E797D999EA473555F7622AF2A8F4C21F45C4DE6C8B41CBBDF1C05D5F5BB4C21F38EC3B4443B04898E841E0052FFB0C6AF8C4E95651E83E32858AE5773069044C5E6524AA2810DF85C07E556F9469FE20586865D819D97EAF562148A2F674ECD3FD1AB6BBE0FC24B7F0013C8E0B07F620CEF08B02E03012F2E254770214DBF43EDBB08355F0B68FADB3EBBDC1F1E20ED586738FF852D03A164A092C6C5409D1862408265E961824C9B3DD2B46F40322A6976D76977F13D3AE2A736534C715324A72DE9628773BE978337CBBBEF2B72DAB66F0FA15A4BFD42CB4E683861D1EA131121347336678C8E1528911774463E0B4618CA7EA638B75D2CC83BE1EFA212EDCDFFA235BA513F64F1075B2F982028C92CB72F3B240FC2430C9317DBEA91063DAA2624393FFAAFB9CD2944652B6963CC7967A2E693F31CB4CCCE3425750E83CB67144A393A7B3D80FAB578A2DA8CD2DE61AEFA4571AB0AF9936F55AA216F939F1E6770E00668B5C2E41EF3ACBAD7B881092EFA0517C23D892D9A77AA06FA6F07A7ECA32719F4DD9EF99E038F91F93B5BE8222D868A71FD9897D80A36525C0253B5668B757AA8DDCECFE3CAC54FD275A94DBCA6024A9811E2B02DCB7AA0DFED22D015CB453665D0BA4BD6F60B008EC57210B49BF04E0DCBBFB7D9D4E2B63197D3B189B7C55C55B9A98146F9018B35C8971816F7629C22AFFA75042FEB585B9F97D90F0DDE74EA5183A614A658CE7E2CC571F4001940B5DB8656CF3504F0750B2E229CB4C7F11F1E5B62F5A2818A7429A823795B849AA1DB4F85F076E11EF2D8652B6B9A8A50A91FA37378F04F17DFA80C9EE6E427DBA3BD7BFE808CA009104C1EE57E8DD5FB0F1D19AC21B54B51DBE12DEFE66690CF86B7455E877A17466E595E70F228B0DEDE580641A9915F08D7581EB27FDD104A53941BEB666C9860D184F48C9D7B8276590795D0607D06A770C2A3D1A32010013E95894CAAC718D32466D56C04C20A28F9EA68C4811317B7E44EA8D9A9EAFE6804F5840A7CD46C9F236E26795D25F43CB4B47A38F0DC341498EC813658126D862EB4BA374A982D21BC4DAFC04FF6F0501D94A5F3970357C0E4FDBCA5C3BF6FE48775D40FE5601FD0FF147256DB4EC97903C07DAD96CCBE599DEFE4E3E4289159A9700984C9B4795090DA640D658BCA13CFAA7C3D070B3B69379416FEE52EEAD46CE04A30A3F6622AEB8CAAE14AFAB35699B1D07163547B1885E7F5498376455558495E1D851BE3598EDD240258E3A413A3EB8E8A11863C177B6BBC3B421F58C5CD6C05C03329B49386B5276CE8C7E1DC556404404F76172CD8932530EBC7F00892F8E593569C5BCD905A19C473B67E74D5C90CB4447635E85DC3A7BA6519906BD1113139C14CCC9D5CEAE81FA2285372293DD9AACB45A6903877EC3218F49CA5BDCA48E027B08445FA2FC3795A5B1FAA789E634AAF372D013D96128765E4EDCEE2FC6DDD5FEE43CBE206A95A408B3B64E1DFBFFBA147C064B3FFC1BD3EC49BA7143CC37EFE57CCD088904B583E5BF5F0E8419112E232E469F9D93A19CD403C99E231B1E4D38BDDB40E37218E1F4F4C5CDA7F5D63ABD288EEE0E09F4B2A3B8C0F4BBBDDEE83429C45E5FDBB0ADCFA71DD2403FDC813D568DFA6B46B96BB73B9F7B3C370FCF44D248CC17C0567F200E633E96FBCA8961057D64531CE51A18DBCF24DE43563E626A5F66C7F1CC1980A0542799D43FBEC445C1B9CB8B8B9062571045B21BE18D50A98BDF36C767B049F0C5007FDC70B5F3E7938A6925B6716698B9245D4DA6A372CEB3ACE9A68911A009368A3FBB40DE9D9EF771A4C8A6561BF796C12B5AF7D5D378833B51FB975CCF7FE9F9B8437FD7F170600C941D30E613F19093261F28408F5C8F42EE7551F408BDA5189C4A68E91E76A9C64686AC9BFFCEBDAFF5B1ED83804C06946DD7165CE656139A2BFA1EC89EAF20B9B85A9ABC4E27F77537F924C092AE09186C2A947F4D17B8C8D0327D10957ADD5A757D98B27FB689A1150CEE8C9880D4047467B1D9EDA51DD9B876EAE6022CDB7502E6D096A69EB901477D085CD38A0CF38F516A0DB44AAFCF112695122994BB7958AE15E999F8CE701CEFD5FA9DD52624B3DEC17B5CD88B475B52B0FAA3BF77634EF13638BA29A0B26C6C679A7A8426B6AA22988588E535AA37D2EA4EB40277C8AF436918E7EC85F237F145565D95C0BC575441909618DA50D25D27E630337D801C54B7346BE3AFCE7D2417F0373943007B5733730EFC71F62CEECFFBE523FDAB1796C52FD16C7A2E3F894541CA14E1E4DCDE67A5C929C33419857123B96B3A62EB6E340AA8DED02BEDAA1BEE3AE8E556200745BB0F8F8D07AEC603C01FEC5794EDF402AA2C9663F36B04331F264A632F728F0C32A8FB570204FB2D3F7840057C72DEC872BE1D7E3E815307F846850F6B672A49298BBE62FA9F87824F281C7FAD3056042180F34DBCA10559750C217B791916E6F15301048CEDA78177DB89642EBDBC3A8956043986E605271946C7CEEBAFAC0E8B8FBA07B28C438CA2EEECB68E40417183A1183155B9D191BAE436A5D07E5644A6FDC6301EF1590914E53CA796FAD84201AABA1CF56A08AF72D0AF6E88FFF2FFB6BB328E4CA17D3164DB462A0B6F13D934593BCD0ECA526933C398719BB57CE15405FF592F24C415547E3DF316DD8781205860B956C18CB200DAB8FEA54FB9A998D36332FAC0323EB433F26B972A47E610FEB2218234081691F60C38C46CBC51E6802B334D96B974AD70ABAE34DF9FE95D94FD6F3AD04060376980E38579DBCD0AC0A9617E479D039F2A723A7242E6CE2F20E0BE397C2FC77D4D8C222517CED199D8C6E0A2A9435FB26796E348E4D6899E0F41FE5F6563AF20C64EB99BC4F1FB06ECF94FC5D9F69658ED5AC36770206F7444F60E355BFCB7887D64A11DFDCFF397B879A824B88939ACEC69FA4D8FF3107B57BEEC109FF7337C17BFD4A0376256508395152CE1E62E8B662DB715545CF330FC4CD79DB153583A2A630A51BD67A3B7A64D61736B80DA5AA8467150F9ED9CEDC48AA063F9DBCD6B80124BF473B2BB1C9567024F9D30B2BA7E519D41C939884E22CC7C2A2166C5E6F9E9B8A60EE747FCBD3A7D3CF6E0208A27CEE298326F212C043201C21A7F3981B11ECE93F36C69562EB2C44C6CC942F20E4193813887CB530F37817D32EF110F393EA99ED1AC07B6F6B8FE12CC82DF03DF01FA7DD0D72920A128BE14E18A7ED4585D27C0E4830276B45B314158F4B2ECC6B1D4E79E433CF58C3B7218FC3F0B65B22F7304EF13EBAD4C60FF9BD81E3043D945FAA8BC7B91D7972D0201E0F00CB5238C2F6000B070CFBDD867835AF29D719D52DAA27A49971E99174E1E4983AFFC4B1FD2401F0E4BE3AAD3B247FC15D5F7E5D5BFB315E0378556E32CDE966274E9681E6F2BDE6E21D0FE8F6E6BF88301B30434379CDA2B8679FB65F111E165CFC0B4D13D3374325181A8C3BB1F442D32544B0F286C32F3F078E2D57FD00AA082DE56FB28463E80A69FB02AB35E3B90F37D4A376B71A29126060C26436DD02A98D0068A4E263C69FA9C075BC9B461957FF3F24C376A6DC5310B1E034BB1D9BDC98CE61E8F0BA6496CE74159E47FA059D959CCEF0671C44942AC28C1E368F91F92CBACDD1E7DE3BF92C394AFC27E26167EDC42EF81EF380952EFEA77C0D062A514944635BE686EDBCCC7AA17A3C65CE1AD69BE7B792ECB37F94DDCBDF31B9EDF1B309FCD51B870D4803BF83E3A47586A186FFED5BEC4D90553343693F218F71678208AF46EB197C0A668B2D0C6DFCF90541299066A751CCA07104D8F8CA1084B81CCA7BF804016FDB4E0D5668E2A2425E8D46CD9F552F5C3A0045E32F84C9DF8E39D6A0CC9ECDD9266034B351B291C4C4144CA804F9B32C39C4B9996494110D9DC321D31EAA5DA69AD883958A63BD062208DE06F6B40C3806FB4B1CEE1AF10898BED4521031421705063EAA4139D6837483F7A2B658D7B9652634F7AD6FBE30E0B5FF09CC9A74234665012994EE74CF2B2DCF5CB2AB73DFF8C12DA3E11E58BE4D4175C1FF7998CE662950A5C2865C9B0BBA78B14D0598934559CA37ABCAEA1A1233C23201ECBFE9AC68796A3A458F3D69F82BC84963A810C76C99B14C8A3ACC6E748F4C0B21D5D94D399CD7EAA174C9415F61DC61F04A2EFBD8AFE439AD9D69FF7A3710BC9BC978C70289C1373666289EC7ED800ECA97AAC999A62ADBDF05CB88122D97DF310A0D2F670FBE99C4C49D5986B4D8B9F858FCAA63173BABFE6601C00837AAAE4410795FD5829DF7D3C3C417FD77BA80055FEDC2575171BE09202893C6221F352F9F9387C1BDFBCA6D2E1B792017E2E4911998F2390B7820E3F4A32EAADB0EF7B8639D3EA7197C178B1665CC28B3C8A41A0E1E2C918C7A4C46722FEEB0737D5CD13616623D8E821890B722AB5E2462CA22629471745EA3991455373FB7980F9590193D5836AE9A49F97407E10A1E26310BA31F97CAA12341A70713C9D556F50170617348CE9576CDD1D30D0063172F159935B09ADFA7B981F8B31828F46BCCEC09099EA00C226F779A0157580110E05B290266E19FDF846491D935C9E802A205186FBAA7131DE25854A1A141DE21B282D02F226A5D4630320F18DA237FECCB85B65EB907AAE27FEAC502AC029D7E56D415F6A9988FFDA408BA48B3AEDEF22CBC7FD6A7C3588131431AC53C449E0787BE1F7F5CA42A8DBA9170CE76CC79EA2E38C5004B024E4C44E64F023282A9DD7C29AB80D9A0D367E1D412217C27C13F535D2CCB6CBE8F181204D2C976F4A34B7DD4A2E7C390F7F5361DB58F604B41E8C60639869D115CE202A2C10F4448A31B1A246D4F8329E892352FB3B975B5EC0862AD882C2F13984414E48B6D90696C48077FDB464FEB16FFAEF07489E232D29D7E5AFC64F5A939FD0E5B16C8227CC3822B8B2F668688DFE8E3021E95742C6FB40A04DBE3538996AED03D11671FD92A2110BC8C51867A0919A7CB06A77F7B00473D2554C9C3B8861C003D2A98A7C834D2EC2E2A3C81B59F1B583237D8A7F5E97A2E0D25E18460D385FD799621C473EB8FF69F1B8EC74165A5D733544E1B31478D572BC2406D52E9FA168263D099B7E4EA955994B4EE6B312A9334FE97F23C1032F7FA264F5C0AA61400FD9CC555818088C5202453A94AE84F319EBDD149543512E84F3935D943E69E1C40F6282348BB28F16516D91AB15EDE4D8B676FCA3C53F2781544F1CA5B77D2A3907941A8F819A60B439F078E92885F289B273B0C1D8418D2F26BCFE5B53A97F5143E1F38156DFA677827417C2CBA414380AC67338D441FA6FEEA189165BA763EBEEE81119310D64D10D7E0DACC44C73963FDCB9EB71E84993FEB425493C356D815A574E49643C5D07682DFD3A4CF767C962B07A0DEA814E86E16F94C320734F48D7CC8FB852E599777F2C7C6A0F3A9D08E9182647747B4DB44F36CDDAC60A3B3B5A81F2CD15DD2ED73EA94758C4C7D74D2D92DB3E093ABCA573200175C5D038D44D6B1BFBE492BE2EA0267AE473E2C48F1E914E528E08CDD56B2D460DBCFE80B8A470E99B1A7E4347D3FEACC66A871BA0A617D6123DED7DDAB0C593CD6F57EF3F0DFA730CCC219F56DB66722F9A5712FAAC8FB983E84AE21C45313BB175C60B47B00F53C3005ED117C1F24B188C7B2547ABC5829AE6345AAD884BDE7EF5305CFAA59E6A4BA66FF4534F0FA463FA7AB96814C3E33D693BF61922E0CBE82B9593615029FD52C32BB49C843572DC9A451DCA7384E8E8277DAB082395BEC5256EF2022D790C65D6F206E832A5B8B44A97153E1EBD2961198355419C78B9FE1A459D8AA69825ECFA80ABCEADD9919855F8EC3BAF0275CD99C3DC034CE60602F309AEA6171D8687B76E64898D00B60D946DB35316BD00C3FFC0140B04550FDAE2A3479A8BC200CDCDEF9D6F57E759E76DE86D772E0A2A7F4BB2CC6E8AD47FFBB70E54D3D2DF3F605512D25F55543671CED378FD47AEAC5BB91CC7533B010717CBAE6D02EF6A91BF4BC0987E2A44E50998CC8AA26CAA139CD0689F77A7373DC478890899D9DEC620BD3CFD23B0893D5F48799EC86E037746DC336859F28A9CAC526EB8CE0EB421E3716B70A185026524E1EDD81620CBB253987510B631C5CF65DBA7CED3AD54473A32C70F02BD66A9DEAEBFAA824CF7F91659E379560525B9C45B0BD2CB01BF215C625EFAA68532ACCC2E829A1D965A486B739735B51CB708A42605238E04D0329BE393622C4F975B40851B44A3F7132AA6ACC6532F2FBFE02C6DCF2C48AF03D728FD116322E0CEF417788D592CC7E82312E6DE335ADBFD3A585F21443B873B134DA13DE7E2B6387A7E86BFFD372465D7E85798A7F769DEF1C01D1FE66ABE86FBDEC1170E8529E583D900C117C7F94FE688FBAFB94DA55C756B7F101CFBBBC97D437FB21D3FA5674E5D9E2803CC6A372E8FA529D1CF0241954BCF07BD39A429FA09FD6C90C7EF82A9D7E72F91BFA18A0B24C59FBE43417BD8088C3EC0A751A83B114503E8EAA2E268ECCEBF9679C642E15E8517AE520EC77100ACBB28A2E6DA8072FB216EBE318C09E37FD4D9BA07F36DFC4020902B22BC6CCACDEB6D571785A3E5F06FB981CA9B8A2B6D95D0DC3F3881B25F12E8476A9480D7A8DDAF8CA2FF1521586E331EF1247A75E6C377A7BDD0DF0816045DF7C29C339B1C1ECA1AC0629E576A048014B8F3B43A988E58C87DC63189E918139B5C583BC20AB92FBE0798A426EE46D8BC1BE5C73CDB9B9B86D4BFC6031133031A267FAFDF5963A57A10FADB66AA521982F5CAE9F5F68D041254E06D4DBD45FD99EF6BF807D9FFA17E551A956957ED3F1EFC83DB57549F6CB8D8B2D1958C84BF2D5F37B6E995803548350B71A56D0A97D7D4300B240FEC9E52A9FCCC14E99E096985E61D81916BF9483F582CCFC05D2E698ABFA1D3614353752933AD6821B1C2B699CB46B5A798730F7316786561D40643C5B72EE66BEA54682C4E1ED79B12E83BE8F973358A86C6CD1FD45C0226F755B4B8791F933D35004C994784F81BD0F5AE78CBD3E0693F22778DA58AEAE21DE5DD39B0D1C7250303B4D8971086BEE515C3D075A6DAC26EF570D7FBB7CAFA5EA939FB7989200B30DAAF6746CD1ABCBB6D08FC62EFE7C77A724BAA149A4134738CD8300A10EBCD36DA8D7DBCAFF346E7A772784344F9BD49239BD684CED7DB3C4145130F52CA3B3164475F30F849092E76FE0A62852DCE00BAF4BA0A40336AEB484BC10911B384AE3138E2952513747A1FCD86D643EE177AB8627D667836E575F1AA4B2F4A80C713C58E1CDA1CA8701E6F963F1D83072F9CC495DD69B8D08896E93CCAA3EE05A39733010162FBAEE3A9C34C88429ADD32518B55506D316B60B17067DE06276A134FBD6C653F991BB909490A2921AC4EB75C2706CB850577D6101525293744958357318AE93A9D00B83FE9162B8F19BB16F85BCB8148925BAF0410A73FFD6861C9CDB92A30E61C17091850B1750154B3ACAEE09B1015F099CC58933314916FF81621F6C254E4FC468B470F6CEBE720CF3EB19C60BDE5ED2EEC998AB84632E7AF4D68734C7DA22AE6C7CB03F49EA73454E1227220C7C1172D0AAE931034B0184414E7E2FF9665ACD142BCC7B17DD865022E9D1B2D6590E36C8D70C8D1CCCC350256938C97467238AB5F989FFC2EF1B9DF561D0C6FB1849F70288C9A72B1EE1F0640850EC47359A37347F74533163A73CDD15C00A00BE0EB25C69ECA388376033C6C0D7698F410D30976A6BA1E9792EA8F1D4D0812785E00890801AAEE98282B05FA9B2DEE3EE33F357A2E6E07953F88C59972E5C4D98EB743D90DF4CEDE62A9ED41C95033B092CA405F7734E1FAEE03EA53E77F6E1AEA9EEB150E1C5BF90227FEB7369EE0C6D6C9AECC69739DC48AD9774B2FCC223B55002DFF5CAA6C96923651A9113057078CDA5F2EB9AA85FFC4169DC313A5941476438C1EFCED2ED8AC6F8F12BC3D35D12236A984B6B5F2E36B6C9BC3B709FB13E3A8A9BFD4BBAF45FC953EDA4D6B1B5CADF3CC62C6DBFDE7199C3D86FFA8B6FCCC0FEF05EF228A92C1B76A6388490E44540BDC41AF2F57FFD2D5718269EBE89CCAA01309BAC59FE55F25EE9E55BDD20E5B938AFD95AA9EFD5EB4D8AF21A29DB84DA005277BB39438AF27A4BC7340069C39371CFA4C27FD4A899CD1AB8C46C3EC036760993D104326DA525F74A9663365F9293378C7887F302319119DB38C5815BF2C919D41010308E61E906DDA6E018260DE595212949F862BA93D0450F872534F493210C0C96E7AA62DAB1523DB73F7CFE9F9A3A5F768302DFA53CAEB11B82DD7B3A069BA79D549E54203B9414F4983D90378B8789B74EEAF87A3C71A6273D147087FA69C0FD29EFF77F45C9EBEA8DE8ED4B128A8CE15913969A7FF2569E5A8B7F8BEBE7C86D5EA550AFA803B1CAB1067E6F5A146C166A00DF88D511CEC6EBC02458AE3292D7F555934B746B735FE7654B3C57B179E91030B9ECDFA8ACC176EDE9F254835140FC1A2AF65C9CA26DD2790E24136637CE16ABDB731A2BAF0F444333C139E32D1D940E55BC17A5BC7D5AC0374DFFF424617DD5BC0C7198B947E72714BA520C2FA84D7FFBF98317CBC575EA51FD7F278F9D920708B2015237F4C4ED798EE73E8836CF9FA937B47CAF0048DDFDFDE32D1520E9AA10C45AE5416101D642F9D8E8B58DEA7C68063E299491A7BB266910A0BDB606CA32824012D4542A9E432082B44417B472F631445121C839CEA6A4F300D6465CA02B0CEAE6DE177C50D46F3C740F41636722743A0F57B486BB237D2402DB993CD7E543BBE71423C69A4EAC361B6C071DA8E1F28A9066A9EBD610E0F3E8499FC279B102B14E22BAB089538FEFABAD975FD491D07C23BAA9087C1EF83EAEB1CD712B746B7143F6637D0CF777BC4EA789B9B86928A29EA25CF18DD92C69E57FDF4EB0E4BC5276CF257E3A126C490D2288C9B49B2BC41C79E606235E20BA9C607F5CE48D576420C5CAE821C37CACD0F19E50EC60853291AD0BC88AF94562FF5173D1BDB232FB404129F7B74DD882C33F33AED84D91D9BD72C382330DCC1959B4A3503EEC7F72A989B7C761E4DFF5056B24317E76130A0DD63CE8B6AC960077A28DCFA19B4DEC6EB27B71BE301DDE9A43AFCDEB0ECA79823C58B9D43AE48EE1219010F21DC94101A68174FFBB057F2F346E60DFCF3CEBEDEB1EAD34618B0761C0DC31634EDEAA7DBE5A3BC6A4C9F3D4885A54F0431B445BAD80CBDA344992A3C8A33277B9DA86F8A5CA8D0F0578E4FC72F01755A8E53CDF4F23F87A66A23B0A6A54EC4E1E3794196D7E9E80D146596DAE6E004500C58AC597F61324BC8710EE637D8BEF892A8C02123D8676216708A2F4948F3A366AC666ECEC963E26263577F0109D67381425511CCC2B35A543688077D006B3D9287016806783A7B4DED7B3561DB9984CCD4262DCA89444C525667A38C50197607182C99575036E2020E5FD29D17E601C8262035E5279B2CCE39B87DCE8929D2B864AEA16F55539FA0325BF2AA04307941B993475068843D01B579FD34FF213A35931AE49513330C1E9E62932813A1B6E21BF8F17E5320D5907B1EF15BECB9973703D5281BD5E92FBD29672CC622E6686999F19A75763961BCB551771879081B7BDFD9FD2E891F5576D6271B34D880E533BA6A4C84E7579A8BBB4324772B97D7F9C256E65D40AB3F3ACD785506CDD597C12C73A726EAF14790690254D1ABDEBEB3F697A6AC280817018A1890488C7396321A0B895C87E91338F662D24D6A1A72B8CF405FEEDB0EAC95EE0BF1ABBF92961EA563382FF92F7CCAABA504B20393A473F542D7CC2210F8F4B581512D11FFF77BF5720F0FC18EC056AC720D5DA1CC2503B5E34343C8E9F912934C55BBBF9AA8AA65977D2C48EC338EBDFA2A43C30E1043E02DBC9EFB8184F62A5E1260397B51C077D5A45C73CCCF2A365041753304ED4462CD41BA3EC01FE6AED66FEE4021353878624BB5EE3849924201B9B2A33A29DBEBBE7747D0C60F2FA93F7D762F1300D8775E2AEF540C8EC4D962240F7821E090544F90A7FA02C47F48E89CCBF8F7D799B6F6BE1EA2BF963BE9E1F5CBED1D229D76D537E3ECB20D3B13BB0890D5CBA2D72148724C08A5E2CE6F2ACAA702A672B62E426054F0BB5739158BF06AB96CAA8381236A7BB88CB902D96C932F7CD80472278726B88EAAD809C7FD4C0BC054B6C54D1634EC95DB8E9EA63FA0CDDA0F0F4D2FDB82992C707557B85F97996C5CB7B7C7C5861277FF5F5D83F8190DB3D162D59F98D660391EA1D00E91D1897E4981F15B811C0ABF69E0CCC50E2BB7CB83913A83E35484317C29B8D4B6CCF9760D3C1FF577B4F26548E14C7CE6DCF8BF8E2E734DC899B718D9158F78C5CAEE9C89342A1501ADB27690D94DF0E5510F12646A0363DC45FC64BCED850C632F905F274D3150D5DC0CD3BC37C6D439D8E0CC3685E0DB11BF88E7D5B584F689817F61167CB7724B78D49371697AE4695B651825547DC93761D9925FE44E9DB76DA15B7D255C6FDE6C1E4C173C55F7D3A13817E7B0B98DA9FCB0807778422C4DA82C0DB0318E42A87951E73823CDA3374790BC6364BE5DD200703485A272C5572473E6BCF68C34BA7E24A65D9092E2C8E8F070C5AC6D81F0696985CCF40CD2BAB5F39CECAE0EDBBFF9B91784FD4F628DB0D73A474E8C450D36CA562E32AA868D743CE809FF810156EC6FFE74331EC1F51FBAD2809073D6A22FBE175D8768240E4401F0BD4C67E9906C55CC062F677010AB3D921A65BE1888E9FAC7A28B48E72D7AF978899CC5B27FE2A49B0CAF8CEE29228CDC31F8415D016F4A650D69B4F88BD58E5625815B44AF4684E52BBBFDA953AFFD39CF0B76F5163C09D462973FE9F95D2FE65ACEDF29C159F8F511745F9B1A16C582BD2B94F8907F42CEBEA1B4EB7F577D2981634F2140A1268B6782C82B45D20CFF58B0DC17BF2DA7B797D0903D5E4931FB9A7AD1FF26BB3270D536E82075672EA048869534EF1CDA8359195030984A1586D3755F972DCFC3F93C379CDFC79274AACB06569FD29A2BE2FB3D052B75E0E39104850D56B8D66AF4C38B2A5E754A29892B1D4D8C420547D19B6CDD626BAF41B8A810D8E09F87E25CDFDABEA421E170804FC101382BDA3AB6C3ACC80A09B7BA28E4782A6490D60973A0D0E65F62CE829556D8FA49ECA18A77398D6B7EC8A63842B9B5C0DEAFFF339A43459C762162D436323B6150566182AAD0E7C005E2067D76139FF3F9D0FF0DC18F2CD4D16249520B5578D26931FBAFF57BB5145F2FD85297F0A4D99329CC0981AE66E556DED16957ADE93C0B96C842712D177ACE7F98E4EBB9D6DD07F86C5ABC7D36C3C59DC783969B5B8239E0A1034EBABC879DD99B758C7D5D36F7EE85317B196870AA5346DC2EA02F5BFB7C8437779FEB68467406370C5F6C83BC1EA29EC3834DECE80574AF19DC24095AC6DC3CEB1DF89646B3E9F339AA1202BEDCFE2D1B3D4541C435251BCBE96117A04DCB3F290F5308667084FA3A7D5BEE9FFB61868BC9DBAE358B4D2011EC8A51897E2E49DFAB24981F28B1546BDEEA2B032C0BCD01E0251A2FC100DB5F81A4FAC295EAB41F3DCE5C1F4E04C60722F667FD919ACD39063CE070164C603493B527F2EADF224EAB9A461881C8EDC763DDD0D8146221F7E5165CB1449C0CDAFA099AAA43047D347EFAC666228FB2CEEAE10D884F380B7C2AEA54FD6A91D6FC67C4DF333CDEC18BE34D5C448E722A854BBBBC66FE9581270341D6EF3B78A4336D5F8F20D84C227CB3BC53E8E4E79083FDEA0DF0A30F566655DB8F9153B33FC925F713AFF4FB7594A6CE8C1E99F2B20CB76157E6264C4E69FD39323A1AF2DF429757F3B2625A7C7F83B631771775FA8B2D6DDB51EAEA6D37310FFA583A8980CF2FB39F75D4506461C26382151F0E8E42B5D00CCD85932B02B1524E7B311607BA57822EC327475A42301EE6004A27199C036B3E8912F8D33AA2219D926AD0F18E0473558FEDB0CE92B689EDF546E75F9D28E1A9DB949F979555B6A67FE7019DF347D49C179A06C790A97AB8558551881501E26EF99D1FAAAC7F553AF225136CFBC32D35B2F8B46B3149C9B6F81F04DBC8B6F9E3C98DE4DB013141973EAB3ABFB8A87DFAA3D1F48F273BDF059935D1C65C891B38C5AA59F8B7581F7B8605812C58B5A515CAE873031C48F02113653CA3E2990F0699E9C79C216F22A8C18E5F47876D061209DA085EA8899FC0E2F98BCD39288DD3440C8BFEEDDB062BB340C42562D9EE7F2823CA5EC2F83A58BDFFD1050874565727B6E27C80FA461F6C462EC6D134A2857B51A098F9B39435C8AF8978DA0C96BA29DAAED09F737869EB5BD6F16ECE1433E49F6C8B49329820C06AE61BCA4556777DEFEF0601E898702A64181EAD19AA9C95E135BDF9EA1012FCD1BB45254B863AA4C46B5AD8AE38A6AEFBF37BC1FE293531C4F2C361A8EA20E3363A1E589221DAE7664FFE563AF4894BDB29AACF1C07080ACC21DD14DD898EA1A9336181BC388364677661E8FD5A18A834A02A686292889E3D6588035EAB8048A21AD1F68D80DB235E9BC7EB2BA544413C3EB06AA4953D5F7FE4D5301053B7353B4E7054AFFA03F7616676150EC1DB43074455DB28B49B5C0D2DCF15146687708BAD28E11B222C149B33FBF4AED6FBDA86BD1D0255A4392421A19DBE80193C8B9AD257D3B0222C322E0C0967AFD1530D1E6FD6DC8A2C0DAA7378DE3D5C60185E7140A26C55C8BAE8D2F5FE6368C02B08BD7829E4A0B70C840E2BBAA252180D59C876B369E632AFD1ED677C6F34F21E78C8F8D32E73428B12421496101DF7FA8DC7CF01CBE7ADA802445086178FE3F6349E78D68410731A55DCC529BDAFFD65E1DEE5830410635F22314379A4E4AB9CCC6D43A5EF06DACC475DAFC09790EF9804E82EB1DC1DB9DC71E29CD85687FB82043B8EC6667D56CE72710A3269880697FBF8604755F6D1EB7E5C91FCC2DE7811508075CCDD62DEECB8425624AD52CB9785DE7D37313BA183E689434CED7C9C2D7345B9C7647991145FE5274993C6504B4A918A965334CE68D0B40EE8736CE8340D9B6DC7DAABADAC9BAD0CC3DF0B996CCA45A5AF9CAA49A7CD750E5ACE3B69C844D22D4ED466CF5303176844DA80EB147D800461FE0F94B2587D89F1AD5566E81488081C3DBBB5BB17E4BCA0A3BA836FA87C13CDF89F25E18A0B3EC5C97CAC4C64BD608B357943DD6345A64F3973A16FEB801FCA31C1584E172DE1855771EA44F39074463E5C494B482D73D6D547CAB9637F3F69A5D58A53CA7DF0482015699EA7AC60FE718BEE41FC25BD21640BB01E6680DCB7D9ED4F48AAA3E7B75862078CA2DBF5E2B8229B2773EC9BB02FC4FD4EED05D286BCF9A84D9FED8411D2F297582DA70573DD14AF6D08786ABC5DFF8A41026A104ED6C88F8DB32E5FC661A89C7EDFCFFE4BC8E4BE0DCC80222BAC53AE3951A5706A904AA7570F538F59B4CC15A3033540E165C46EB5D165A54E7375E228715E5E3D23D5E56C100DE97BD178A7ABF32DFD621F192AF6125D4D4F8AB391C777813D972F866F9557D7EA8AE620E001BE248EDE221B11C57C3945D39AA7C40D431EC3347A6C3DD749DE55AE0DD4B1782A8545B2739E06CB78F8AF43965D94AD864B71A635F8D77509446F1CA0B51510C939326E35356E023D07A306688EF97C4059DCE2A1A2A2BA289CD500A363CF0C7B4FFB867ED47D972A8D74B687208D74B39D64AD49E0E384A30183068755919B06FBB91E4B244A60E8BA054F46275B7CCA6566454C4C6F2679ACF51CCB85890CC7A7D70C02AB94B17A609D1F33C6088B388929AB75633F05AC46DD87F2B6574A47447308136508EA0CB4100CAE9CA6B72FDFD95CA91A1573DE36F402CA8590FD14F6A33EB4C7229816224BA1B7A838CFEF43B1B3C764496BED60FC77A264A51DBBC40A5B54DEA40B353039EAFDE47B38E40E85FD8EB214D391138E4ED6CF4F3595E99065AAECD09424E4396B0D634941E4E6B7010E0B49D0E5316603D45A881880FABFAA8F15E8878A1213D131F8FBC2B61E9C89AB6A22C6F59850A5CED13CB3BEF73FE3670757EDE791376427AAF49D5A0A0020BD54C2C87E323BD81D4C7F6996AAEDEF01B84B6A4DE9E1360E74BFED574DB97A5D591828DB182D9F3440A642981839D7DE301D359B19B29E7EE77692FDD46F25D1A50EFEF4A84502EB4F3F23E78A4C1A007A7A5ACF9D1D2F67F72435D51BBB9D6EB2CA93569B10D571632D66DA2387E4A8D5D93CC72E238F9D6E8B21D8BABAB8BD680609936DFFC8EDC7F14BB1C84400060E4372D16AD2D526F6B606E1D67178CD4D08DC6D8833CB954F0180B87E2A744DA8EB9FC4ADB3B31FCB7BD7CCE6DFD7DED039E0AD2C6593BFA135407BE676C314386DC2F05DA82993D3E3154CBA77467A1357BD70877BBF252D54A04929D743B212C4023A8B8EF3205BDD8537E7B6415567B69E2E303BCA4F1B16788C7403C5456B7DE3D0A6782F0E8ABD730EDAFDA1D9F5C17682D18FA198C6DFB11B2122E97A540EFE4C91767F8D52B041907DC0A70E642D28E562933D747A330DD75D55860539F3F1103994A2BEFBE6D08584F28E35246ADAF2A2F76C989511609D74141C097A204DD18AB704371B540DA539D61BCA059351B8B1830A9BDF3BBFDC29500923BB8BA54E95D3A204AA106D2DD36EE52D8DC54D6FA0B2849BDD950EB4BAB66CEE90EF16F6562D5CB012D528229F53A14BD043897D508C4D627DE444D3009B381E805E783E1671F6C176466F991EC6EFB0EFFA672C54DFDEF63F8A2F705CF95484470E111FE135C7148365E28072A51E84A2B0B648B14311FD72D61550E43B72598A88568098263C3A7E71804A285311165A94E73C1BFEA644D927009979C7475BCE43F02D05A893F3692BFE7999E3FFCC1AFF9DAB5B97FBA3FA388C10A8EE3265081E49D57F505E9DF3AE21D4ADB89F055C62E75FF52E6F727679D61FBC091F5856E15DDA4933180B80679F8BC07DCFA06330404FF97BC412F1D6D2EA459796C4F95DD55E8CD0FA87500CA0EA8B7BA0C42D77439018F498723C5E2CBF2D16EF51805DDA64563CC79C83FAE221E4B0422710DF0226647066F6A515C8C9E0097B08A6A2FFDFE00BE68674A19CB73B4A08EB63CAE1B37706568B50F109F3E1F073295EC70F22D926C2148D0776B38011114B3CDDBB20DB3AA01D5352108F174C3EAA58516A10E602874D04831B4CBF73C090A79F62D5D2FDFC5F9D1015F06CEF2B04482DD7EC1BAC7406B5024DBAE8598DBDA916ACDBC562F62DFB5766C9FDE7769A6EB8F61FAC04899912C3FF61A4A0D9D9B4928860FFDA9C0A950F9BCF0CD6165738DE8A2F393CF8D5EE5ECCF72D6B19E35CC5F001CABE5E5ADDFFFE1BA8E83283EC8FC1D9FD3DFBEB63A8516FAAC24D83574D8946E26553A575DE1BFA4E5895E5A1E6F637DA280A5E060318F4BB5426E944E79441335F07716431B55AC10A59DCA0C9E6C0BED9FB5B56DA6EFC9DD1651C2B7D4100F898AD276FF408F0876CD237716F358833856585AB6469754406433F3C948034EBCA93383EFDCFEA2E28035D9849FD54ED4041947F425CC0E680A5C21E6D43723F968C351D0073AE0C933B6A1AD35ADF60082719E46547C4C2F94809A575953D24DBDCF2C2C8CB43BB70A0BCEA38732E129B39B04B7A5393FF0DA7D24835589D1008DC6A1657A324D8FAEA14BF50D8A85F7440E02B5C70C197C177C0B77102074B23C6351F59A164A116E7448B8A5D09E7252B6BE830C97835053456ECCDE0308B96F98FCFF25C63F240DEBB4F8346769A666946419FBAA772FD1C46FA3B87CDE1D77E68D2155CE97215201E527B1BCC02A615439F9AF77876605D5170668D808F703FBCFC68F33A01FCA11D5B02C3A61E4B65D6AA42A75FFABD098DF9BB568EC487B440BA6696E58E3983850E60EA3B715010577B8AB6200E0FDA07F361E50D673AC4A3436A572F19F96C9810736C5FED856F3C5EF2EA392B4A59A1003C8DCB1EBB0B828BBE74CA1698E4D3E238938CE650198638EE79165A37B36D3058D54F7A08F5FC2988BD66DB64DD4DA95EE4C08A621770B2CBC2AED699AB10C40020D423F0178E28BECDDCF8007BAA626C2B69DAE0B6017506FDDCCBA00C973A7C0DF1BA2BFB04A4953AFEAACF1FE2FE78B210A307DDCF072008521BD4322F963E396CEC0C2A63FB5018EC7864207AF6A9696DFA374EB5CB1D0457406423D6FE58C162E7090956216368B280CFB7C74B12A687C3EF1D387A207BDE8D08C779918FB599221C27EB1B259DA5F77F6F022A986D0E91E747012C7CCAC61084A16B65EC31556DCFB25EAE3A659E784D359D26E95965B1914356912014AB7F4B5CF2287DB2521CDE0602E9531AA13660773D01BE35E4E123F773CA748A8DAC24D04DEA4F625F45DDC191DE4F30A597576DFC95F53FFFBAF9F2EA0339FCECDC5613AC88A3179119D56F2EF417E49C940515D836A2428D2FC1E1310F5914FF82A8BEB57C15E83AA0DDC4E7617C044A8006BDF21AAA78231D07C07A6383EFD5A06AF6EC92CD447AFC715209C4BFA57AD0E493A3ED5731A60D763404E08BBDCDF9BA5872C941334FEF0FD2C5E3963086D932A54946EACD46E26B0756875B7B5A7E9592F534AFDAB4412B20F0AB8F0EC8431E483392D670BE2D16B9A40565FA85DDD1BAA7C83996B2AA1F094B6C701E9EABF34E1778305D68DD333C88E77DB311A84295C65FB6F6BA6AF4BD1118D544DEBE5C61DD8F078B4FE1FBD8C851A25783BD1644EDBB5EADB27EE23515AFAF1A0FA49391E0838E3A5122CFB279CE6854893E0CDE968C580F21D0723694DE2EC27422C6E60DC95B99966695166F71A208480A71A71DBB690A8AED8140E719E743040B3362B09915361EE59487A5C8EB74B3001E47B33C8C32F063539AA696666202B2D29B9E782B7D430DF720CFBD7EF3462A6D03C9CE1A111DD110A9F4241617E5E86B6B22F993887180AA9038766E36789998C6735FA7F25ABC0B83EA376F52E67FDF4E2CFDA2F15B9D1C97348F8B940F8E2456E659DF32F462A7E66A10631C776AD4DBEBD8D38BAF85ECD54249CCBFEE0C32C159471584E853C81CF1B220D442BF40502CD6DE121C88D12E0E75DC671B2C1ABB0BB05E591A4B813BBAC21BB17BA80853B7996588170514722ABE3EE1BC45FC4F907CC1B2FD483B9EB4F7A6F5AEE3B3F195ADE45799A39395672E261D046C4E8F57C0BAA93A3FDBBE710FBC6652B4B736E1FB5EF4C77F0E06E3D2F60787ED2922E8AEDCE3435D74C799205C334F2E6EA6B766BA1545D6650E199A0E7F514FA8F6DF4A31CAB4E5E1A631A6B254221165D26241E9EB572BE5A27A8F3E8F81B6D5509CDEF426F2A16456B48FB914E8A1AC0B15870729DBD1581E309FC50F1CD6C899E00BCA107854FF10F52C9D2D94798176C80B6C9C6EC0FDEE176FFA7A5B0D56BB934A82D016D4CA6C32E256ACDC94765924702B58428D2568A2E2D405302D5EC6F396CA6012EAD075743D060D7E3B44E1B12B4A519E7FA6B1CC193654660EABDA82CBC63C3EF02293E60D6A2085900E1A8DB1DCB6CD8FD1224C8EB13E5AE1680299773897C431444A26158C177408587485D64F100C1EBDFDD9B3E68B7DFF9944129F055E39C1E94522A6E99431B0A692BD5C1C6697C367598857FFFAEDC82E5907C8D8D2319BB87D96B5602AAFA7B0FB176EF62123A9D9FAE146B9CC002D4C8A4F1512B8A845A3A1EFE65F99621345ABA58688037B446B43787C8A64021FF003C5354E5678B886A029BD54C176CA373C0C1D85234E7CF2F974F9742EBE099C0E516CF92810969E65F739C9347F6D15B3256001DDB27441B6BADF2305550226A888F3D76EF5C48D547A2B473D3193AAA88DBD291641718428352D2F3DE9F858C27388949E8B1D03F3405299C9CCE2075710C650064930B46A7FB7F23513C60B61525D726257D65E110BF31D93464CB6726BD442A0CE3F275D9EF8DE51C97CCB623307E84D45DC01936D688E3555414FAD74606E9C725FE62CA03FECB3660B828B32D6A50FF44ACAF3D015AEE41208526B1627759EC025E5B4BF0A3C81BA5CB66A24400658167E231BD4EF599BE4EA73346E816A47B65EBC290119AD284F922CB35D0FF07578F7512AE1B32AEE28ECC5F9A67D9A3A061EBEAB308E9A1D97253202C500D6285126B63ACF8E9780DC3601FB3A2B659665453B5EF11C21516D60AE2FA49A295DF9730B3E36178D04C68F47D90D09B8685934B99791708BDC7EDBFF8DC94B9CFBEAE5CED65DD98ADC75D60B41F2C200DB65FC19681E9C733890749C08343F4A7B673954E1471F549ADF8A0740DB0EA769F66F58BA0E90B9243BA7F5E6A58955A5DF52F9B4E4B077E46D8B039A2A7F12A0416FA331C94C9EF21BAB1ECE63D57ADA7B9019D772D4DE7EC41A4EF7AE601E75EDC3A43E68EDBF0F6E3959B422EAC19D3801E27C4AEBA776D38F1474796EA14ED4DBBDC607689004D995B04F757E9A6B96149412879CDEF5786AD9DCB1EE6A0577E40B5F07042B00B6BDBF2E370129182DA414A758BD3D9705BAA60E7234524F7817662A6746E04A5D9622C3D724C757D402914232079F7FA56ACDDC7750A78BA58AEFD2716779BE3BF79A6FEA55852779EAD3ABEA0185D603B69284AC2FB12E8D44180AE1EF6980B1965262022282C1723B16C851F19819315D2493EDBB00E3E2F13C8153C00DFED78FFF8D07F1D6CBEF2BF292EAD77876C21E927C34FB7E8C937EAF9BAF521960FC8A944F0BC22DE2FAFDF259F752341B7FF2F38356FF2BF1E8B4AD4AC337C9C31A357EEF216D77B380BC28DFFF5CDE7F0C144DD67D144E978C4CFA3AA8CC2C77A549FD6DFD29A759C0B91BDC07CA78B1B9A562E7B59B3109F68B278159DCBC107D72135BC493ADAC673B9D99773F2211AE940CFA634390F4CFF9F1B216C921F91C25D6DDF9B9CB11E3E476F5AB1BD294DC69B23E3313E7A3DF15080DA0EAA5BA67E12017807587E70B83CDF3195FE7FE9BCB83377C5FAE37E148CD866D5BBD76D536B659CD2B9FA016090BA9EE5C2466B4A5BD1E894CD5E6A39150179A0E044F6EF9EFD248AAF666B609D825AB25358F2DC64883A62428A767883B7D53B543662983B8EAC9869747275468324CEB2E32F2AE09AC6820BD262F7102FFC09404BBFB3D316C67A628E69AF4ACD498E5FF06C4D9529D67DC16B1265452BC4BFA281EDF6B570954EDFD93F306BF1804605B9854796B8D0EB566A65012F2BF955AC9EDD74F9105680F0866F3A89B5131CC0B161486CF15D2E88FA1FCC8CD0A22BB9DFDC887C8923D62753061D727A17813E694882424AA8771A2DD67FA5A27D2E60E1E5F61DB06DA5565F77A4EC9CA9A5BA2CABA5DA05E6391A7DD6A438A3D610739E5BD4DB544E452786E9FF1F709DE3406B7DBB4CC85A24DCB8FDC03A3BB31D2AEF2BC70DA5346002E289DA1FE871BBD96B3C9AB052C5A094A9ED9181EA6FA99DD09CB15A6EF9471F890679E17A5F671934D10A361D9320EF4AD56D9A465C20539D9260CFBC205133F788B9CCABA74FE20D9DDA0CA0A1C06377588AEFD8AABFD8F8E6D53346EACD9365E4562CADDCD7CEEFF2A9705297F0FF8DF8C0C5A2C77180E855F026FA3819C01616839F9AD94C53E72533A5609F1EB3622F3131274701DCBF2D80EB0404C01B7B0B240FD938AF77356D1EB639F92B58F31DA3B4DB164C6F70BB171BE5125FC850785F219E0CBCBB54FF0F5A7DDBD576E6F9862777A1196131823D98A7392D5B62869CE2F3605B7CCA7B75F0CAB1F3716CFFD89950205A64B1E7ECB7A2AFC5BE8A7E68C3225AD72FE1254BEBB80B9865C674FF8CA04B945E65F589B27A08FAC783A5EAB66AB42E061B78E813936B173BAE68271D5406DBB4EAEF20E4B259C547A0B45479FCEECF57BF38CBD7518ECF45222179A6ABA5B2813D563B20AF68C39ECD8554C6B74995C8769F4B291CC28A19B0753974C6F204070BDE562B0B97F9BF87084929DC3AD1116DA1C86C5FED415A42BEAC2819AF510609F27AD24EA587E64567F0DBD5ECA400711FE0385880CE3171D0AF5019C0BB5B68EDD36BC66A0ED320DCD4339411D57427653D855FACBA48AB22620FC92FE015AD52C54FACBC801EB6388FCB83F16AC71FAB990C46DAFD46164A8BBC8B2C4724A0F22FD0D3273D7334BD7DCA53F377A4DDADB0FA09FCBDA2F7C83CFEE290ADB64001695AA07F53111BF26C59209FF233F2C5BD1155A0BAAC58C7F81D52EC59263B10625ED6F6BF57782C11AB91FBE68EFA8DA8551E087036D1F8557B71D49EC11FCBE34852A454C0829F032ACA8CFE2F5B05A19D729E62CAB2F8C19D56B6ED041A783D462E889BDE59F5CE6392DD0DA314C9FF70F5A9861B4012A9E3C5EC1343E9C19E066680184105614106E4107ED700B56DACDE8859FFD339B48B5B61D8A86FACBB735460F26CBFB94FC58A17D0FFD55511575B3887C4ADB2C5C6FA1BF90598636F44DF4BFF797AC0235AB27E16BB11387BC191B2413EBFDA6D570FCB9B0BD16825394670039CE5BDC463C0DB035750EFDA76A0B61B730912F422140E586B592FD8A64A69B8CC2018AF4144286189FBCCB734C8F639070C1792871BB3F2DAC30113DFD3890033D214F57EB3E8A13900284AE19CCC5BA5813714BF2C78DE4C02EA540C57ED3DE00AF8567F948B8AEF2347F5E444E74412CBEF31088585F4728035D599C7C4C6DF1659DB641D1D24BF47CC370070C4459D850DC0DE7BA9F0144256D969B132DA9FF2819CD7A1BD7C8576E3121E62E54E611A0C0F7550787600CD5A725D91653337E2FBD833C3DFB18BF8B758B1D89200CEB5452032417E0C0ED4F22B4C83D620203AF17D56BE6AB3E7332E39C197463939E4A7A62EC428E1D72E8CCE205C4B75C3D2C4906810A5F03B32028CC205FD6334B6494C70F7A66A4957A725F9868DACBD1862874B6C0CA15A1EA5E96AC75BF88B76A1D5C6C3A347A271996EA50700B730914A6A8118B280AC6EA816D32C4617345B095F971438211FB929C12056E664862E1658E54DC0B7DA8CE6759166261AE348D8EE5F27A2502187FCF165874C965E78843E880BBFE5E726DDC41C17BF5B74EBB1FA02E00622A0CD3835CA7A7CB21C871D388FBEEFF7CD9868B33E3A0F26BAE3E2DF6313DDBDDFE9788A5B8703FA88EEBC8D47F49C28B021BFA5514480583186417419E8BF493CAC9B57A492D698F354C43DDB1FD24A577A1E36482402E1AA7F946B4F17C6113F4A1EA53D82E0DC1ED7CFC08542730DA8564403A33C34D0EB6941F36A40D1DDA069C50F564E3C773114000831F345E2F36E1543688DDC9A4AA5650B4D3887554330AD0E30AC40BAB4B479D485D8185A8543833A07F65467710BE54E1217A19B16CD18F1D28133924D59C56EF5DFB2B22357073EE13A3062EAFCB4CDC243273E7278CAF4D4146E03416C4F58BDE1DED8B947B2675B193A81C948025BA6289D57C452B699CA7C72CBA6DD0687F5E67E0D7F0F14363C2D256D7C326CDE5FB0E57134E1DBBA676D84B7AAF2435187824C4161C81BE49F68F397CE3CB1B45DAB366C3C0661C5127BE84DCC6AC29A4546DC4E1C91EFF165866C89AEE6E980B99CF68EAD2998B266C86833AFFE5A734169FF3BC3711E9418FD8FF0D79925C4CEA2C4732BBF9E098433B607FB24778C49A01F2D02E78AAB7C2B3F073CF9813FB20FA121E2232C0698C4DCF1B4559B68372C0960450006ABC98EE14C2B979FF15BF4E3FA313DA9A7803A22305BC0482F831C76D6306E41990AF62EF33D00A1868E82CA196E094CAB8267187487BB5CC09A7FB86F2D055F418364F741C4588341B4A007BE1901CF466B0EF2051DAFCB780D13A2F277B8E954498B8A0D3F57C3C4B53C4E1EA579F8E7E5DC8515232D053285DF3D7B6BA9E55847199D0636F29BE7080BDD05A4F76999F448E91DCA2189DF69F06925968F5A1C3D6655E7D82DA6B25D440018AD23000E4D5F96BA2D988A166E393B15AFC60D8234A7510161B2683BB1FFC5DDF022897DCD738B4247D0D0CAD2F4C1FE2C15383E28AA965CC693FDABD6BB50F4316ECB85F4A6EA92169A031E075813290F74E6A7CEB3CEB47960DCCCF5189100D14D4AFCAF30724A4967F4036EFC22861FCBD77B24C91168D4A5E069BAB10AD129B951DDC237D7C5FD4AB4934F961248175E10B4E7CDBDCA3BDD1577B1AF56066DC6B67E4C277D783467F3D155FB4952DAF98592D4329E96A9AFAC89256D269B746EF9DC723260F94B04F7F74645DE64C32EE445DF7825A7E8819EF7C45243902539CABA9FD2A912255B38F69BB489E15E908596E627BCF57B4E1DF1B6BE508A44022A5B0B9AFD365012E2DBDD799E951CB07B5E1AA25A8EEA3C83E0E8A6F179E6D64F8B8C5D9D99E325ED80179356CEA24807F2A3ED103876232F0E17D4C20621F45BBAF19956E288ACC21AAB5FE0369B6609D046B20DD0E84F24D380B8297DEE3D94BBBCD8958DD398CA48D0EBAD33E4689FD8ECA7B5CAA513DC9F06FB53437E949FB776DA815FEDFB115186D8B254BD2393D56FBB4B5E3128F10944112A7C72BAAC3CBB3A782FC0CC5FC3F4F3DF9FDA5F5EC0E2AE73EA437C152A8222299320FBDAB8519A8040BE12F9EF7CA2EEEA6AA14D921DED9793A008A9A467E201ABC9398C2709940EEF7CB77E1EE8D9B74686C45EAE6E87FE868E82A61BBE10F57790BE99C8CB1B0C187F3E54775137E9D873E807F51C037192AE0DA6D0A766B8A246B9E26C1B60B2E8192E3ED1AC4FA725EB93D0832AAF4B1B371F32E78EC1CB46F728D60EABD73617A4C465EC7AC9A1CB1D296ECF3A55E3871EA112257094F70327330D3819B4A3625E383F18DBFDB5DF3D9054CC9A8F1265DEE027ED1D1EBB8B5A5376377356F3FB7D2E4FEE30D2ECD69880B489331D119DC4AB69A20F1FE2824944889F40A1B5F93EED1610862EDE3465D83EAA8F3CABD88D3D8E83934C39C6B9D90E3664C11139E9CB3A8AB665B9D444A8012D001F96D27974C46B8A661B233524FC3CC3476CF53512C7B48E251C11CD87800444CEC95746415A96E9AECD23B3AD72605D5C5A3228FD89AC1089C201D584F991D27670F45ED735BD605BE89F21378C4FE7A9EAF4C909791447C14C6032CC029F54B7A527D5871BA3BBA0289EB3AF62E3C13F4F5657B34B7924747D8B48DF5D449A7BA11D47A9F1E9848D7711E99D3084B1F3E9D9D5985C1394D07DD73EF5B20E543C7C10C6D408F3F1BED6031843F0AE36C7056BC5F469B2B77E24E6C9C63D6BF3F1EBF96847EE1E8E4CA3CF0D0BFFF3DE3375073EF4877FA710C1187AD113A52D9E1503EE3EF881568F1544EB077055BE52EEF984FD9582468A597E50CCCE73C7B4980E0F7588F07DAE69FF0E58CAE2994790380A501211EAACECECF77B1760B98DF396510043658B738EE2559F4084593035FAC17C0ECB8BE3D271560C2D8EAE9CEEBD574860AFEAE2662BF90AE3DA5498B78EAEDDC92A3182C798B661D2638071A69D5224DD442B5DBD9A0765A7BECE7E756A192C937B1AF1C1807CCEFB3A5641327CF872F8FED61F1D4F43C4F0B0F51A45F58453B092C27BB7547C849E9A1661A4652391670932BA5F0AA674E800AF0F9965498D99C9FD07FA5E4D9AD575D6E110D44B64D1DD8B26F5156A111F2DD7FCFB929034CABD37DD4051D9EE33D3148FB3657F9108A5CDC805E2B3E722D6D39AB1970D660DFED1F153FF0972F01888927678933DCD6562821C3CFC31A427B96EA4D5E865C54BCFE7F1364DB524D9546C3A2154F65A2CF61C18E296EE6B10905C8571C60E5360A22BFDE01CE3A83297BAF68450AAF78A8FB6A4D73312B360D0B808E6362190292123F9DEA48735EF00405F218696D3A9BF43BFA968CF19EC67C85C361D932AB21887E116065C73DB969D3232FD83668E879B9F24C9C9512F79EBC940F0DE79AB87B5AAF720C5D59FCB6AFE4474CCEFC3BAB6620A9EC177B9CE4409DB759A080FBFC7503CF665F01ED094AEB4D3C554E01EF1392FFFD78EC0BB62C461207D39F5212045F7F5F207518852B2708549776F32C56B02EF80CCECE57146925A9B627B9C9978ED908C0343FB4F45A03EB95EA9A2AC2E0D4F57DB97AB5A39F003E4997C0A2D11B2872580EDB310264CCE6924D8EBB2607E728FC5B485024C0259576CC5A999A9AC7FC8DB9A0905BFEA4CA8AD89A7C3879E156A09B09B0EBB3C64310EE0543F6B07C1E691F783CE83517C4AB39EEEBFF538B496771F66BE50C72565030B2500BD10CCAA0BA5DD282666DD6313DCA7C4CC267306B763368C53D91EF24D0CA96CF11E77843372F7A21E044D93E98EB8F711ABE7C8CE3F0B687D3EA499B42041BFEF042F8832D13A5C0273695141F813191CE05CD129E062C6DB5DEE0CBFAB536805C9BD1DBF248804B8F6087787BA7D6BC974607C8F8F7A8E7EBA4995D458107AE98FDDDB54FF52666C609780871EF287A2A205D0DB94ABA3778E4B0CEB8C7660E3944884CD95BA78C4D296B03D69849081BFA72A886A8F2293E8ED73D95353D7BEB3740EE1311D2A6C1D74B139E38433DD337BA44E4B3A1C353F5ACC87F7FB47157FF6A6A28B2BDAA534503A7B3A6BC0428057A298C56B6DFD29E173C7FCC0970D6484B9F1F1195358C866BEC12156497851BA23728F7BFF6F17BDE926EBE7E2BFACC482BEFA2EE8E21DDF191D066AC0A72C55BFD5B441624B7204532E212A658532392BAD1E5FF1137C06BADFA72E17151F1A5B812074922921498B064847AB32BBE4665AA832E6A85557C971F348AD85C19E07230E29D4435970BC1B656DBC775335023B66441C4EE82045F6DFCC19B73B42E654D570B8BACBAE074845C17DC5652C9EF657755A99BDE91AA0B34FECACB47FAA12E50B2B5DE9A36307C66C22F1ADA24AC417E2F7C5C8AA668F30785E0C3878236ADF243B6AAD86C9643CDD4CD45224C4ACAEF69D6456A683081AD45E88B81865D6A41E8A3C4B9B8E1B4EC75778F57223490CA020DD2E22B30F4BB940C7B1712B91AEFA3FBC0B6C7D5D8FF52CF9C6A05948B1767EC15F8C91E4A4FB733B050FAF8D8011567008E7482DEC0F9FFA28662AEC7E3497CECC1981D2FC92D80493AAF5862CAF1AB1D2BF08F738B3E0A1693DDA6F64478B6AC5F48BA26925248D57EF2837917EBA2C39A05CEB548B207E8B4FED69B5ECC7EFE67C4ECF9E04E1BAB43A80031BF393E39680953EF54967A080FFDC65D91C2891C3EC1E14089CBF0D6A17B6316FA83ECC46FB3B9C8120B6FBC1BE668C2F1982B2AAC00170FC326C13BCA7BEEDFC0862104F12E9D516D1634ABCED06054A42C22504F17F9D7CC0D3C6B9AF2B31FBF6E73E592AB1704E3301EC624F4B42E7237C364CCA23692F2BC02BAB2E6FA14E06B0D91B30D74070D7764361666EE45E22F12462795F202176F2CE5DADD67662DF44E981CED732154DF18255190B1C78A8E161B7A1BB39DD405E2377BB13F8EB8C0D0DBE48D202D3B4EBDE4A95D65A35A120EA8697929FD73EC4C42B63226CBC11C4AD8FA971BB99B6A40A2E90C36CF43FD796459BAF19E5C95EDAD2659E23BD094C8ACB523B604E10CF41B73CCD4404930DB3E9F29E49FCB2B1B5A31C7252C415A3C63B00B50E909BE7327A360ED7309D1CD32E261CA7A2AACE1F69E02FAE1DD9BDF2BA32151524B55BD89459B3A8CF304441531A3C99142FD5CAFE3B474874241CF66DEAF3219A00CC31B5F9A34511461109902A16352743D5B75E44529218794F3A164B758B9154146F9B6186CD85A8C7DFAFF7517F0A4E9A9FCD2E53AAC8D472549B363D774B0EA6CFC0942D7E0547B2118F0B5FCC916D8808533E91F24FE4A2F6FF088E241E030F07FF7CFA955036ECF52F6770A96A142D40FE676507CD01D62C5CBFBE61B573A88B5527BEC2286CA074D5F1A1A8819FBA7480D377011113515A2629702F55F96134CA1F2120E9187B4D28CBF6E019C9F5AF6E87AB0346C293E602A974380F44DCE91EFF768A01EBDEA178706A0246E3E104D0058B26EC55EA70C646FD0FFD445FF1B953B36DA1E4182328BF11F94320D94BF5418F1F3F4E7A3358BEA3F9CC174EFDF5B6ADFBA17205468020592D3DC48492BAA539CF8A597276E38628845F42BCA1098972D38C9C87703F3913AF8B8053EAA51F33810B2FDB7C1AFEC03719C1AED63FE7B3B2C328F71A33197214C1351C3E3E10E77D408C08AB0237B3328CB96838F299D9220141673939A5CC9E7FB8536AF1A99F0E7C958005CB5D2846CE6E794A9FAD8402FA1B139994AA704D656663B768C2D8E0168911491CAF2712C030D025AA8D6D8C6F6685E3409FCAF6AF24D032C493C8B593B193653C2CFAA9C2D043E71637A685E655AE30ABEA20BCEB03F541B66ECC7E706EC14B2A759E8FABA1F9241279A47FCBB3F8FFA7010C34A4E8A6B58DD164BCCABCEDA86C184D1EB3FBEC1AC422147EAB1ECCBDBEF6636B5EB5F78695C45C8E9A139ECEAAB811F35C56AC46BCEE9EF8588A7C9933D5B86875D85F662B0CE4C0565AD7A808829375DAECDFF22103859E6ED477AF3EFDB930BDC008FD7ED5CFB1519A2961D4B2467B01CA7E4954BADDA33DD66C753C5C1A8E9492360830859ECEACD1A9C4067A3A278B8A63BD1FF093B4B2C9293E438B83BAC479A124A0B4E12E7428A893D94DDD016D5D0DB46A4ACE16611662DF551989783F8B0B024B75B7FC687D8BC4AE40B0A60AED6BCEC76C98BF442DBA9FB2E027F597C9D3FFDA5C2523457FF406DEFF3175A05386D7E112F3AC6DC90F6A9E6EE5C6B363C7A797E5B7B75CAD876E31817EF64BBD1B744F7E65F14A83D588816030F11A2E4311E2F948229B3C004391EE043FAAB157CFF3625B76BB0FB6C1AD6E0288881D0A846A55329FC53C956AB0CA5240252D6C6B8E5D0089CC72437ED7C3D8E921E443517323DAAAEF78F7A8287BA1B285CA8FDB75C5118D993A553F3FFD864EFB71C3A9764450E0239B356B063C6EF6C797CF2D1002D97CE45FA372EC2E6FDB9CB84F50F3DE4542F0D9964AA24466B13E86093F720B0BED9C203436792557005F0BAAB2A65CCFA5343B5C9CF81CF6B3B228745A5BA73318175D0A93D21C9D48E99B69D5DFCDE012C663D2E7D996CF8CFE3D24913F580955B47B794AF5A73ED6D2966673F85F52E6B40DB1BB1F677F3F4175A1AE990C69290905179E2D73EF72FBC2529AB4230850463E3748511CDB3AFD9CE319278DC3DD22E58F96791C31F9229974DE2B73E1B12666B3F77FEEDFEA38030C43DA457A71961F6BB23DAAF1A59CB2C8E22883DD2740A0BE2C090B291F930397BD79E119F5FAE9DF6FB6D7D5D76232AE0BCCD6D4030C6F6E34AAFFDC66EB8B2AB801E2054D2871A87057B1561DA049785D9BBAED5C8DE9C714465EB518E58EEA98056AFD201554446263E53F4D4E155045CECDA719C668C3C4F0469369A66247D7A81037E7D8D377D2470410077B77EBBE5BDB3CDE0D56B8FEAD95CD78CAEC9F0976C4138D019EC6AD3773854EED22E169093BA1DF6133EB4C71470B9228290AFBA6F12E91062B47291A6574ED61D1BCBEBEB80E51858A7F52FAF1454B7D236206FE7DD550AE86EC618F93912E07D6D170B37BBE0DF4AD7839317D436666FF03F7DC56328791DEE47AF4F771D1E78AAE9D26192998512BB631F5ADB3CF8BA03D3C0BEBDBA1984500576FB73F74BEF925779FDB3F6641306FE548AF3F9828223D9F36071BF1C77ED21D9433083FA7E87583B1F44AA4D9A288C223F87292696390515129B6A04658BDF4FCA4A3FE8C1F013689E1762A509E54C57CFD2181301CA5FEBB12533B3F353596169D966F06497157BCC4FCF7144E154041B47C08C0BF20E5729612530341BFF14BA914CB4CBEEFF881A2F14A409A88C1C8483FD625198A1A2DD0137DA79E7D151A1952B536D0E32057E651511453274832BFFE5AC80BE1E1C4FF060A1A53A70CFF34CE0415C12D613DF524072668AC3B418D940AC651AE7B5773035782138867B69AD5862BEDE149D905B4661D7EAB40397C9BC2D2F6AEE3C4499E5462241EFEE211B6DF54D4E977BAD8BF059FBAFE0809225038D6B2F9912D1D05829415B0402C671174E21BE03A70F5CCB301E557BD5365075DE5318EE722D4C76536941D2B68F56C67F63E90C3E8EDDD939D2D06CCE2B19D8C1596BF723CC0C085AD662A0C696D62579C0C94FEDEEFFA8900A34769478161AC460BD388E37099F8C08C495C7E69E95E0CC5E4F8C44D08722A99F6BD372F5D3C37AB3212A62BC762A006AC830F3425C5C9BC55ED49480786D475A985A66BC14CFE407D1574C36369B63E37E7CC6BAFD2D79AFBB10991CB26D60B3877DD185C1C0ED5E4C0422943A31115B12EBB4738CA7ED5DE8F39A311B23CE3BC56F2F0A827320E3A3384CCB4DCC3A9425D7160AC22E6EEC7F974DD8409195F1EB97F232FB0714E6A16BE480EE00727FE85624FB2D58059057D098FDCCC0204328DD3D69BCE80AFCB7188DD530B0A33A79DDE662BF04C5B53ABD0B0D881CF95CEE6253B384A4A60B8EFFE7B918A5858E4BC6576BF8D853E16545212D0B67E452A0615BABE4D134265612B59C62CC019242206186BE8BCD290B9C0B77C066B60D33F612029D0132976ABF22C2F4AFD04D1D86BDFC722555D348F8A6E446DAA0EA39C67431E5A0DBC3B329B90DBCEF4B24C3937ABFCC24D402F3BA3853E773C0BBC819D783A8C5AA50ACB6897A635E58E1EAAD68840459DF978038AFE23D559B1DC45E92BC0D497E54F53CF64E57552D4D36B665BF53BCC6CFBF6C9877E396F0F8767E3B071B3407EA639A59BFC4D7F37BAD84D2A8615A59D6AC7AD45387E4E6FD7FB9EF2659C1C9B6F7099B4738236023E727ECA4F61CBCC789C3B1221276C257D4BFF59CACB5E25C1078AD09017FBD071A89CFF5215352D4E75D04B41B4B2BA03FFAB5A6FD582DF09A752C718C9FC0FE6B309F74B4F6AACE7C6F47B1FC7BBA42214EE27AA12F6808F625C56222DC6BAA0EF1EEC845E5A4008C2F5E6919D806C2D2AB9032B4DD1A70C617C9FF6B676FB0FF633253AE56456E65EE4D25509CA1149E749846FE1CA6C6615189F43B80DA9DBA80ECC168FCB72876649EE9A5FFDE2C5C5E297C5266390F909DEA0188EE516C2CDD5FCEB33F86CE6FF2C3089840F0A34C0F4D52EB9AAD192D55E2FDBF1F152905C0D9289B12C86152759AC58FB672D3D11942FAA4103738DA8B3FC8CCA78CC5B49FCAF4CCDB3E7981AC9E4C01618DB189802FBAAAB60514B402CFF805EC7896266B920DDDDE65903F5012D4C8323BD264A4F9FFA2CFEFA3DC9C52345A4551583F9293E687AF554B24B4A3684F8DA4423A734CFAAE07C0599E1BE9C1A0650B56450A53F6DB8229BB3CBF3D0F24D46AEE0522D31AF664BC3E42D7DF41F9F6DA984467BF97A9D47FFDF5CE6D3E26A836B92178A22D6AAA1A388B2EDE27B033E9D4E739113686892904D05B3ACB7B9944A9FFCDE6BAC8A07FFD193828F63BA5CEBBC2E109375E71B8CF0B15FDD161F447967627648638F423E39C084390A3ACAB24AB232A8EFCCBE343A2CF9D3A7D6C96F2E64C56445CE82E814BD82842553C64E2E8392A79F0A98C91356A192EAC5AE67D1ECB5636D8FF0143C48E08BFF366B3A3D2B1599A3129D68710033866EA158037C3C2B008E51A6A2A6AA5A89F4D5788705FBEBF1E9EABDDC360DD73478C6F421CEE61F58842F71F94A1ADDDDE072086DD815F6C129AAE6221DE6BD9CD9DAC61C97659D9AE02500116EE22B830CB7A90B24C28FFFF466FDB8BFEC75C26052A3CAF1F56666CEBDF89BD9C61D5BC14C04A17E60C24CECBA36FADE9B8E94E0D566A7C2FACC36F2657360DBC6C04C0C8E954857DB3243A7A869BC41B30AE3191E89C6473FC54D021F4F8959F7A3A956F4C8F3D70D61A7D58A280DBE523B0D2728EB1CF3088DF40E5055B86D44680156D295E019FFB86FDEBD1B83DE59CEE8317EEE389B7EF7878A2CDB4360F4D31E0C45A20784FFC41865B93129BD934C9EE09C5CF2CB4D5EBED52E41709E85ABA498338E99F9A0A479D03F69304CC0E77E8C0B5561C517F5CFEAA4D5F67594F3972FF76CE416AFA17F40302FB31ED25BD6DEE5F8724E1B27CFAF3CD1693AC179ABA8A71D5994BB41FD6BFBF2DF280B5C8B567F795A4E64F7B2C48EEF8299454D29C4F15BEA7C1194B99070AE62E0EFD0A751CAA3C095CAD9BE71B0BF5DD19CB021DEC5C302FB204C56248AC2CE15A1F0E4BA32FA7E0F9276D280705106C47FEDB7DAE04E431F9920C8E75822EA477D28F1A890E8DF718651C738176798C674497D04242286C263DA14AADAFC42D9A6E805B5F3925780D67BB583B36C2F949901EAAB1C69ECA34E0B1CB8B1B74E5EEE3BF196B4A0D7CA2C40765C64416134FA0BC975D50EFC53AC67FC248C74805E8629ED093BA3014F5E32505BD9EDAAA45FE4177FA2A318858878F5E97988D1B19E5F1D4C9C1483C733AF1983F09FDD01A1E4352E90C88AFB402BB39C698E8645DC5B6DDA5906EDBE381FDB65A8C213482BFE3B30CFB52C204B403819D7B39C532251569B72055555C2F5737812B248772AA2219827E6C1039BA3E097C697EE856A5D6E129A804C55D44C9D0804844ED650DABA13E5A8C14E1248051E9A414AF9D73DD5519E2353CAB271F993C9EEB7EED86E7C7498A39180C9CACA1411C6252AFDAE95E83E35B877E80C15AD0F5EF4EAD89FB756DFCA3B75D7F26989ECF005B2B33358BFE040A7A5F73F8BC028F4CFE313EAE658CFBAA8B7F1ABE8C47A03C79DC009F3B84AE18AD274EDF3118E2FDFD75788BC514B3F0982E202E163FEE8230D956A1519EF86E925D4C831BE5CDC3C011B1AA013C36C3CABE77C7FDF7A39A52E792A5D0184B86F255EB759DA2949C733163F932DEEEFAE84F257BF2252D1D793C18BF012F86AD680BC4FDFD737BBA8A56F3770C1171A78EFF869F5281C01103E40B99DF435FE7B748A0CCF7A7C4D1DF152BA4645A9A80A5574D72BBC07767410C9846D8653837320D8E5301BD6FA2FD12733FB2CC7C5924CE727AB788DEE55BC1D0BEDCA66265860AABC78B9349674E1790999F3F1AAACFA3001217800F9465E5C726F9D886F4398D1AE1040D7262CD1EE53B7D2B85B0698E972F96B41706B2BF90B206C8A10706030EBB857BA315691251E02ADA74799DBF554A1A226544D3DD96E12FE8F69ADBCA8C139B81A2EBE00A427D2D368392A5E3643EC35F2757E41F9C87E73B1D60A0807E48C6F731FB0D138A612D9A376FFF8E69CB5C0B6A5317F6137D2B1CA85BE403C6BBC9767D953F59EFB20A3DC3E2D16AF7A2740B51787D3E516D5B5F350DD4ADC4FF9EEAF8F1D245A7B7E18C3BED912A10EB5A6BDA682DA01C2CD2776C86632A5E6E6A406D9D6D715300CDC104BD552B59BEB7FFD297CC2B04E60665DE8D4EB1D16A4C21BB223502542CC6229640A6C05308EC7D32D8ACAD75423A913054E7061F67F816F6720A81C5B16AC6464FC21F100782E2323382171A07BE147FE2121A2C374B18F85D06C56B263F91E056227A4A57190D043115100F8A8B9B923F7B213CCAB456C89144BE0E992EBC8BF9F4A94CC92D6753F3CA6A0D045140488EF503399BB5494C48B29B964700F38E9624EE471E27A2553D6116DF0B0F6017E9F801403C7CF721D8711E9A5559C01E21B58B16CF629051254DF5575D3EECD77AB43FE73D3033EE85EC1C30F92EFC816C7FA89DD807AA52CA8D8268701D00CCBA346522F3316DC0534239D844991C20296ABC8606A289FDAA2F92F02F9388E440E61E0D03212E3B39E8E289DC08BF43CBE45976D054A5676512CFC23557BD4577EA06BE99B1EA4906739FCCEFA8981B0CF47F0444B476918E727553D3293442A2DFEBE8154F753B1026F16149329DEF3DD4348B3D291690D53AA683064CEE3D05660A8E4D6B9B3AA21774E4A8BC71ECD9D3ADADEF3CA1CE2FA2D9FFB97839E193F9A7FE57A705322A5BFD47DE4DF795CD8BF5CAB82EEAB57F5F7C86CD23A3006CD7D738E3916CEF6E87F0168D8FA637CCB51FDF1C8408910383AA133DE1ACD77B8190D307E3C4ED878905491011506CB6747050AB59DCA671D2EC1E94F74C0DC039012A2B9F8B20AFCDBB41299DEDA93E436A31769B590E32E0D084EF14D98A3FB9ACED199204F6F8B9D1A25D6C1F19825352F67F9359C58356B40F4F55CE2920978701761F90443EC1AEAB8455720D476ABD58B03F0D880010F29E2773DBA316B5D2E70D61C5167CE368D48B3FFB655BB27BEB1AF082F03F9C81BB8E5078B78E5C25795B356D538E49C57DAA5171D170C8CC6B7485CAB1492059309788E1CD3C56C356BD3F8F126899723E3CCD44329B3F53B9C9E0F401870BCABC38300B7502367A61BD083ABFFA3B640B974A66D92D548A3FECADA5560A0913F9C0AC489F8DC1D8067D9086C1BD71BEF15BAF907FC4204D610F87338A8523E9F20224F825976B838164724E47E05F16EA21F28DFB0CEACA11CB10E0BCCD6537572C81E8BAF2BC4E739D315FA50E84A881C19256F8D6278C514477779F22286BE50E0F5ACC8EFA9C506970144BEA0D42CE7BC45C6162816E18EF761489A6E2BDB8076534EA029A07AFB792951F35C3D3DCB0F5C1123CD7CB4CCC331A156969270FE18C10C4B1D0BBD37DDADC63844AEABCFA8EEEB8FC1A5E84A74B2B2FE6142F296257B193EB6B982A8968F0D84456AF7588098E19F1FE251B18EB179EC3CB12EC8185C364C9F073009A0AF4103AC6F469DC6EA7940DB287B353C470DE9D0617A82EACDCFAB172F2972580D4F35CA24A12A755523109CD9260AE73674A6A86F81BE085957860616097F9D26A68D36265A87C9928688F02E0FB6742EADBE674F0A7BDFF0D91C761358C4B89AEC3E3DACC7F8A90960345C64B4666BC235AE1DD6885A03CC2862D9FCF019A3EDCDF627A21FEF764EAFB10498D2AABBC53EBC617C8B918D42EB9976B33D2B7384042C247E0A52C0C949119C36D7131DB16A72D661C422B0EF8DB879A26936277CCBCA5FAE45800BA48A6858D8357E37625FD3AE7549F8BCC55A0BBCA0523CBB53A1F4DC6654F50E1290A5BB22EF1AC27181E5C81B220659433CD01380A456C63C5FA276869BACCAB886AE06D79736CE52F4E9D2FCA6169393FD99BD0217A007C96780D423338F54E4B0943932BD034FC01814089A7153FBC90DCC4945E56C352AE1FA3D802DA86F6F1397160B188E2A2515303783B0C64D33D1EDE9B5BF2699723FF71E0AB4F6D8A46D02289610A7571B253E675D2D6C2F616082525DE936D50B0982FE294EB586730FC6ABF7937C501D75E4A1CA9DABD28D35124B409181CC9C55C04AE37BE032AB45C3F09E16E91B189624EAFE8A9C39FCB73F1411A6FDB9D9328FD29A2DF0D604A3A01D9F58389D2CCAA0C8F9E8A6B39B45A40F88C695A9EAA774E5D2627B5E681CFB3AC440FCF6B103603BBDFC903ED1E329079D857465B58B89896C103DE0A2893ED0D35D7E7648C3A56412C9312BB5698511DD0FAB6CFB1F6EEFD31D582F03EC0CC3CFA8E7C56ED427E0A48E48AC22DDF986B7505866E335D4D98C00A52B86A0B5013595F80BC3D0669DEAEB303FE9974A8C3526FA8BDB724BAD153C6A19348AA9E0F58904998DA20BB8788D628E73855C627835845BA08EE4AA40FB9BA741F5F7B6C017613ECD0CEDE0C65AECD9C52DC6B3A4E3D213C6C5E86E3A731E5692987F8007068D5C3BBAB11B9EE7CAB96CFA88B77BF3F82494D47090B52580782FD7244A32CA51C3A06C1B2E7555282F7856D7036197EA4C3D9F27DCDE2B2D12C217D1EDFA61FCDB8878D743BA5565DC2E5F75ED2B8DF8BE159426DEBFD52610031E1CBEA0217FDB4D17CF814D70490C993DF8C1AA776A3DE6E723462EB735ABB84650B548A0DB4FF597BEE48EAAF453839E704E55EF34FA0C45D240EA43C90B2F3484E97006E10ACB8D5A516E2B7ED1F2FE85B9833344E0721E47A254DCFBDFE3738C466D8155547726267BC8F3D50E94C39D6916AF397BB0A211B72CD7F1BC8AB2C78CD280B355D335EDD447A28886179B0CB9AE12C797D00611F2303CB7BC443EC01CCF8CD4C4D869D147AAB93A3E704BBE64021519A460F949AF8809AA952B6FAB994FD2E6FBAFA1EB2E02E13647615786277D678D39286BD78C3C3DFE7B15D0241F13B5295520804C74E69BF6894C8BAB3A6B9DED0C7250EE75ADA7FB725C4FF866DF56902721C8F137640072997A61A38B7C7E18C8642A4951853A7D4673AA847CB78C6FF00544DE6A36BAD2FD270C97DF69484A67E313E15BEDC16BD91B0385B46F309B4B888E6DE69F20CB4D7E1B96D00E5B1DFB949F7BCCC7227CBDC06B25F19F6D8FCF3199FFC9C77EA5B849C24BFFDC910956805FFAA730A34CBAFC8B1D05A37623BB4A9E8CCE1E484D17201A46FC0081529BC90C6E6FC306E57F61A132E28794504888D013434DAB83E24BF0FF148088F33D76DFFFD9EFC953600AD96840669F7E4A33A83C8DB007D7F612CBF8432BB6DC8CFD89E80C42329E8ED6A642A1A3A3D526978A6AC8D6CB4299CA52FB9AEF79A638A24FD0D9A085940C4E958A4320F873FE5E8C323154B5703B6192979905A6FA941F5CE4215E2FC55E400CB5D2C774F171E3E815AFEEA30C4D5A066104CFBAF955E7D5413747FB5868C9DF29419512E2E1F8E2D9241AFA72B59AF723CC150E53B8B9BA0BEA2FC4FB38E06B3734076D45E88A81B266C9F1F58B3AFB75E0BAE60F15AFE5A369CEE95240796CDFAAEA8A268FCC130A75A28BFB51309C0077A2AB88F286A1460DE2BCA0B8140C48BD9460898143A05785FBBD9DFCEFBEA58A0EC8D96EACAC28A081E81F8184A05A637E5C7CC13073EC6431BCFBA0CCA4D7CE5CAABF392C6179D495A406FD85C273CB11ADE46E0AC8079FFF878DC9CA99D0FFA0FC0CD8A53EF60201BBA765A17EE2B1C49A6D59E9E419864C2CA56322804501A33B8EB58FEFD4034E713E9A63B1A3A9CFBF373607E45B51EE6F64290D01EB0C916FECAC403B4C5C530A6F69FE7CDC0D143B45E9DB3B5637A69A50E29D9988E6F343B8E6CA8040872EA83FE100AAD1033E11C03D5BB4068693B4920C7CE3ABE9828AA1E98448625D0258D2E314CD8B30CE95939C27889E082A06DBC4DDFB43338C09FF50EEAF79B63AECB985521C15D3BD562D28D1CA5889A96AA212E5268577944EBAD46A4AA4B1696C5853283BCA47A33C701B837D2C0A5C33E16AECF0F91F2FBF50303943DA327EEDC1014DD11BF3D4E022417661FD92854C4D70207CC328EC699FD0390254A835652C7258C6152989A47267C7812B82E65980897E1456A225AFE2C693FFF3823E1FD90D61F38DAF55638B6BBFEDB84B8BD65213FBABED6B5A521E977BB190D64BD04A8A105A590CE8C9F37B2C69F791E2468262DDC2D91EAB2DFD458145688FD48CFBB93FFBB404BD3B52A768B2B38D870C1CCC973F5ADC79F2C25F691F02F530E74AAA180F17DB1E6F5FD10699960B7AAF03FFCAB05A66B4572E6286BB8D28FBB89027AD79A439F9B7355DB2256264607D2AD9A47E7391042741FF5FDB7597A9BB705556088CB4E90BC6B3D946DF5992450FD94CD40DF9B72E4523FA926F47BDC7E60B40728B9BB938A26C0B5E09B85C29D1847657E7103D846682AA3D3D75B34A1D7E52BA406850C215F2B5EB6C732015A3C3B9E0B8347DD6EC1EFDB288BB21399BC33A7B83E1FC4D9FB93E29BE4560F1977EBA1345029B3B66823ADC9F5DDCEDCD18F3B8DE19FEDA58871417A3FFBE1E02D40D78DE9142C973771C0FB5490428BDB04F73818F5A4896C3B8D5D06E1182B1FB8664A95F46AEF837CC2DA35D79907DDEBDA75F5856425A2898E3C48B6FEE5D89CF9A1DF1C677ABE5CC2785AB224AA37724FE238FF128DCDD02959CB9D36449B1EBE01C1B2E18AAEF36613B6716028EC86212B97750BC15D2B891C1BA6B047ED99B104BE88C937B57E64C624B697367CE4A9D2E410CDBDD55E209336A7814567E5E03BB6D775A52DD2ACB0991293D916DB7C6BA39AA7F5751EAA51C413FB4B0989D2265AF896DCEFE137E9A7217DFBCD99AAF10D1769FAA5BDADF0236ABD4E4B1C504D9DBC23C42397DB4D8FC8CFE225DF9B792E095800117CE0BE94696DB1FC0CD8670E93AAFDD0C15BD13E73A04706D9AC724D106D5C559765401CFB3714D7EBE83B2F3E776C0C740C8F4014B069062D8F1CD332E8B268786B616715FB99F0D74846FCC40787140A4D9B29111A94718BADCF094ECFEFEB5336A17E00B6A09108288F1D6792B6A647283D81533907EDDDE7A8BA52CEB3A7F1BC37346E5A397E95F89CBDB3548AD5649E9D0C7214F14C96F96F76B7FBBB0CAE40AD6C5F67E2A4F2C4BEBDB557DCBBA0EBAC4AD70FFA586AA7F9BC60C05FB8D9FEF1E0C49B9AB429765DFCCF8356B0B7496BAFD38BFDC50543CEC207044C8F6CFE1E8154241049422063CB2B9C54E7A53E53C07978BE3FB5D8BED28DFF880639A9054F699C15B1862DE03DC9F7F7599675E6081BECDE59647C9B2D151963A4459097A4821F4DC0057E4F4EF1C4283B58A6A2A9F6B225EB6784F6C685377BF9487B13B9A0B42C551DCEF0F08E8C24C569C7B49F8C2B117C2C98C4CE85AB80288BC31B66D695D950883F898651C8A2BCA51D56A09D92E52196ABF11B60C31069529AA13557AC130F24DB74E8C72F5CCADE1AB6D2D0304CF4A3839B4D850B8F918CE695F815CA633C13F47F2443630D557453A7D54762A65A89C45AB7F59696CE780722F1C2A5328459FD0BBE872E0E52903E09B75F5EA479A036981026A4386520F4A78DEA44E9106F7DDF6E106F2750B66EEA5E17091783EE8B3BF415132F03DECCFE9F35E35E02C905F0E7F90425CC157ECC175A20D96B813CE9FCB471EC1F448DFC734F13956B390AA35352D189C6AECE1143D238239EAECC88B567990B403AB6A1DBB1CC50C69A7CD6AAD7ACE5CBAD3C379026D83C375A778268F1F8B5242FCF58B97E75DF107FB07F514F99286522BB833A95A1D4D7A152C8AF43A8920CACED8166F9AF54FA0588036A5490D9250B0E36193536878C9B27BA0A1EC207EF48D7A65C1DDEFE42E8E524BB8EEB3AC51F42DD26A43240564DD2183CEE8092D0C634F8A0C5AAB39D0548C2100520622611089D682EADA4E36552DE00B1CDF7DC48CB9630277EBC0AA35F0BD11C068F13F81759AABBBC5A1F114AAD8AECE2E06EEBE319D6CA3D036039687ECAA29AD37D168D9116569995683EB2BAE211D4EE02BE39268F1C11C30C639ECFAAD6E613F071B651EC45571058F106693E63478AF64ED0C95CC5DDFE56EB5151300C29D4C9A67E19C28AE31923417783E5E78DE678558F1F4FC01B8034AF6629E1635A429C2ECF2F47506E34E9BFC79B9E0BCCF05D1E86477ADEF020E57614F70467886E58F7F7489C6E0A83568D627EF4409B9FBA320AE1C3CF4A303517881E0FF3ACE6E4A24BEE71B8D82398B3E9B8FF9B6EE37CDA6FEBA074CAA2A6084F60DD6F8EFC071EBC2E28F5A25CC736A9081D84FE80A272827EF883D99A9161C97A02A139D8E39C949ECF176144F907CD7E85D463F7322903AA69556F52F2E383FB34F252FC6A3A55A82F00808365E3EA18314C342415EA1D5615F0E8C3236CE55C5E73E13DF3B67154494272BEDA1FEA8ADF84B3B91B8889330B05F617587744FAD81C220655279070BD7A07AAB3C35A20DEA8F359DEFF475E46FD3C68E976CA2B2BCA990193D39A7ECDB77A598B3E88B98D0BBD25948F3725BB596DF131A3C26A275333BA143D3FFE4B7A63831E7CF3CE35D3320D627178FE7E39979A80E633CBB71CA7CCAED415CEDA88993D400E6E1CB87E44100BC75CCF737A82CBD9511D55C9383E9CB342D12C33523F8A684F5B10797B7177D1D34E265851BC9AB31E3D75FCDC1EF5E37CBED7A4951AB44B1EAD834ACFFB644E2997B1374F8FE492AC41EA9601B6FE8AD0BF1FB9139474520455DE7F151F25853334D6CA46950201CDD798C06301F83C5E3997445E29021A692009CCE350F3F62196D4C81073D26EDC72FAD2C9E53D6CA9F4A5AC7B461791372577C865B6B781D83E5352AF55E513D96BEAAB7D447C8583DD64D9DD9D685611C9CFBE2D48975FF88B4BE7EE2C7837F1B4E2C57EB82F0ACE861F818D3DB7DBBF923944EC547BA5C15EE8C812DB7623F424C1A89C3F18D11BF6E11690C38E5B7F012272260E3EF4D0A4C84287692FCC4F3EE82337CE1F3C960816F241EEC1D02BB440E6DE720BD76996344832E023592D5B055F06F25BD88CC95E8177FE2194B6D26AA60455BFEF79E06F002C3972155EA9ED680D3CA3CAFFA4B10CD809CCDB2F8B685C02473433296CFCA626589711898B039D4D6AD977A08636DB6580D41AC1B52E217377DD8C8187953C113D89C43C54C6DF65013954D8D996370023B98C5096CAEE8760CE9992932466F5453692B4C25245A7221EC18A26BEE7178FBC52FE69A747FD962A0A30F6DDCCAECC8CA5AA6676375C768E8F1131D61750A5F18BCCCCC628E42EAFB54017F7F687269D83C55BA50D52301ACFC46B907D1404357790C78494703429F9C03503F76A3E6F853F01B72FAB6B735DE23D1375A68F076A431AC28EC62ED4197385B77ACE593FF68D2A80650612DF4227FD44091959AFBF3CE6DBC5E4B1E7CBCB8975F6E2A7B2DA8157DC6B779EE176B9516040A030D1BE4EEDFD73E55C418AB75898A81355B094BB8D3A0EF06E1E2ECA98D6C2533F7EC22C66EA691F79042C1FF13537B726C88B3634D1B39241449D5BF9FD9AFCF93B3AECA7054C555B4EF35E648B2D0F4F32C3C3A9AF91E5A51BB1C1C1970A07CCEFADE7FD56E42273A4D650CC2FADC38CE5BBBACAAACA8FFDF67376B3AC8F2580E28F1640F8722CDE4F73868AFA26BFDEB4FB8A955A9B53998FC242C7997AEE54387089ADFBEDEF12ABF19076F3D0D83156E25F4A5A0D232EBC6CD7B502D4BBFC435EC7DF8A31C3C6C447D8E61E193FE037DAF392E2EB4462C7415BB7B1A4C497A8C5266142234413A4592372DC947D80E3B7427AB520D40629C2B558CC54EAB3C4540124475AFF488F1FB1B009522EE305EED4381F3A3C2673DF32EDE2735E813F17EC4E4FE0123544B161872586C4ABCAA3A3EAFB40B94D3D38D55B643CD527FE94D4C29622C47B40A9F03D42F56803C0B58F4B167BBC89BC0C3EC84A3E679A7FE2167CC953EBE13FFAFDEC78EE82EC032E4399F1DFE432C95A7D8FE93BE12E27C25C98D07C9447C82027A23EE246287A3CAC7A183C5FCC92B8729229B2CEF386325BBFC14268DD970F1D12FAF322945C977ACC2BCBEAEE0B4EC4C840694C02F6979BEB3F578B8F739F6825CBFD21C3873169EF7A2636237E207A69BBAFD82331C05CE1485F2200233FFE48BE7C51E0F85EA75070965659900AEC16827A2940D311EBC0805047BFBA82D64B2530FD93937C186B7C35ABA5BFD883E5F2B2BC0C1B9214441211B375A0AE1C44D7D09FC23F13D958001B47124C0D3577D6C17ABEB7317212311774348D7BE0DFE154C354879E4C144EE288CDD497071A0E0057F6879A56BED45BC913AC926C694625EFB815841DF7D23E619A5461DA37957949FDE5DC9D995560A804C565805BD8DD9103E6B8685B59012889D0C204B2B8DBC3674229C236C4867A68B010763FBD11977FCB4079D3DC84C18CF33099C788F19AA4861B9CD095B4757E5E16535765A47D227168879329519C4DEDD4310C282FC03252E883B71AE4A2EFE974F2CB8FF353AFBCF6E214D4475011631CE370D191CFA9D00D3E4501FE1CDFEF5CD5657EA3E52C72FE0F6C0DDA74F100FC1CFF757E65DC03571F57B7EEBABFBFF012D44138A89DF402C36D9645146C1D87E57DEE453EF3E994EBC47F1F87C2DA009FE6DDD7F3AC3D343E45F286CCB0F824C457137789823366D6A46963F75B7B3795274614A43B617F453B28E5EA931C9DB41F148C9BCEA1E03067D9FD083E6F5D769F097B973C7EBB52C85D6A44A0D110562F6B2E863E652534C37E960C8632DF6FC956D24D116F1A118165EECE181D0348071F0C6960C8AE39206B70543437EEE5F8E83D02DEAF3107AD5895BA53AE3C62A571F1C55D01E7963D3903ACBD0B364132E1B57382647D591E21E96B1B79BB5EE79C0D2DC8BFBFCB7491877727EE7C65E2D23D902ECEF68D856F71E9017A2D16A2CBA659C5AE69BCB4A93908A110E3CA6C3E0AFD646E6DA692FFD75B95C53B5793374524BA11A1AC0B394581743D47DE8FBE3D3C57E789EC55F6FB136D13F64D948CD24B0CCFEF67D8590730B282262DCC9079F10A8642647F34D8653ACD8A1E6BB244A2BDD353D4C7D6DD8DBF75650FA3113C0D5B65FA0454927E6B48B3C34EA199EB4CD026DAD604EA30B8529CE6755455AB1E12A7DDB1A96F3751D52CB3F021AD8A396FB7CF854C8D42F1A9EF7F135855E31EC1F1069575ED916E5B771223EF20D907DA824E683062D508A21347C4D89EA00147E76744BF1B8E55A51993646B292F5123EF4EF609DFBD104C0F7DFD1437DA6A4BA2491FF2D3E03AF38C2E1E192763483D9148EAADAFD4ABD4ECD01E5C3664CD12BCF172F0C2B18DA1F72BA71D603454076FEDEC64E71BE7226D8AFDDE8D24ADD9ACCD546DF6041499FFD8E06E982BB6CD72F1CB5FD03DDE7A31F9A9397727154C6F402D4A3F18DAC38E3BBDA1E57DDA02024FF2DF577CC4C33B30E84DB6C5C47B0FF72046319C04A9AF36B99DC694917E72230AAA0EA441C1299636679F43AFA7B12D760FCF86DDE2BA821167A55E83F60DF824A3693B266B4CE7D68AE1ABA9102C5CE8030AACA23A938B7234370BBB34800F2AF5F93C39A453C7D2A35849EFDC6EF0B87D6FD800D682901EEA825C7B56F613C3EB864AD0F478E2F6A1D1CCBEE9BEC7AFBB9E88D4D677F4712D729A37EFFF8AAF44953FEEF1B76ACD2C16B9923C34CA771A9FC27F5584CE8DBF5F3F9E48B0DC20C4CCEB6D5E656271513F484C0D9FCE6BB416C82EEF69C542B9E8F7D13158B75E71CCE8FB22C88C3F47D3E69D4DC6E141FD508502FF58DB056665CB30C07A0EB11F960F8FFA830ADC58CA1CB9DF21E8E9DE61B9A3C09AA950B182CFD9A9333189829556C7834740990AE9F566FE4C77E1322B57C6B7734F527150FFFE8275C5D9E7A428A37E1B851209F8B6281B1109F573B2F08D532362C0193648F23A60F3534A681E37145ABAA473FB5C9FB342C2D2366803C5CE2748DDD7CCF46928D4C5F185AA8C8351A523D6D87C23AA76F04326247777DFE8C35D554B598F8D8C4E4A5D142D23CA21949B2B61C2DD0ECF97CE3D17DF37E40C0C4C37D504FDE1797BB74E9547384FDBA80F93A4887BE78B15C7D49B76ABE5D00F9C6A887FF44C7992F10633D696DD376F32F50D9DFBC425A91313FDEE90B83FB1689C7B6597768B2E16CD76E9D264DB480E751B8D206D4CADCD830BBD6352C4CFE322407BB9ACFD3CAE9D71A1ACFD49E8D74395B045086A0469159AB87B175893151E7AC44EBA42CEA221EF855EB18299195B486BEF5277DE4F68DC0517354014083701758266D683AB84F0449FED715AAE6891B76CDCAA80D234D6849C9EED1E6135D3931FA322CF7471606C929169F210E8FE6483C76023CDAB48BB136989C8235302A3CF3FD607A0584DA314BE5199A0173E16E2E50550304FB92491649A1502F525A03786D99F42B5F147F17479574B4B8C2E599D40F713109E3D3007C3046F0AAD1C9C2FE216DE815DAAF3F5170D572E44C40F6FC0C94E163B4D143225F09BB2CA8D2C00C8653A9021CDE7114BDC7F8F0B51151948CBDE66AB950764FA44689FB807DF26180883908933C870BD902D93198794FBAEE097F5A992B5C4F321720104B52526CBD53A1FFA1FA0A3A10A027B8AB5BA387E60E8F2C27C0E22B7320A532C19F8CF6F9088D7AF38927FFDD840FB0162601E61F76CFB13695776F8E922984DDA954BEA8E65D1426D6D0694CE4868B645D3F80FDFEDFCAA7D8457CDB1D2B5BC674F0C68B174A2090319D158DA2019A259D3CD22746267E398108C02DF9ACB7AC31BEFE1646D8A4981B6418AF0673E7EB2C0DD49A97A75BFFC7B8E1C40E8AF57088C628343BEA0BBB02CD6A7715A5329060030B0B79263D1E297A8D097820B8E7682028ACA14722F04EAF9D7FC56C4FEB1BE22E09592FA5D528228DACCB00CEAFFF96E1421961A342CF41222F509709217AB572EB27021AB947DD5C837992DAB312F328DEC7F8DA444773CB762DFD898776CD65EA688DA276277FF740400A20AAE847ED7D4B0DB817662F244179E255A0E9EF55771C5AD968A8DF08F429F4D336A1354097CAF8277FA173AD8996B187F7F31D070E8F6BC681C35CEAD4863D5FFDD7B2BA4E3FAC003169397BC3C26BD3C6848E07CA126F63647CD6B07EDA83318AB54D2365B8F8DE33BA00C6CA8855C9CA260B20F3DB8DB021DCEA5F3BDB0E7774A260F2D739AE5B13AF49E628CFE6D47A1112982597AE627691B8FAA665FF0E52CD55B83F4B9BA5459B6B84FB4FEF368CB1835CA68DA3CE1D03F5AD7699780D2A90BFFB845A9B00E615D24BA2EB6E7375BCBB21225E1F3E9C31E45F2347824AE52C389B4BA48F4E0255FB81A19523B7079A424E196934F06C88A67618ED98545F602822C4ED20FE5F50C6DE67BC685AD5A8FDBCC7B8D0F114413A3C083A516AB014471A07694DC181678D1C8D07FB7851FD5B647AA7C728271DA6CF79286371E977F3CB2CA6E089B0C3382E0D5D205DAD483930DFA1E597DD20FDDECAAED54EE70BE5D15375FDC016307DC1F7A954A1B6CFBAC89923F97EF8487D622061C93B6C6C61CE67ACE67357D0D5F3B5EF93295AE103C7C379CFE93B53DB206FBA8457728A3DE46D152C667854F614E9B9C848E3EA093E7CEB1DA54ECE6C397A2972BF5FB21348B6FA4234C81F950E2F4D1CF4B95860D727C2BE826530E03857162C593B2A40FF2F51D41BEFE25B8B4C458195124A166EAB4AA547242A872333FA18C60B20C7CE38D555F1DC6D9659F10CD9F17C45DB67EC39ACCFB51BA5245A0C04A1F296F647AD4262D506CAE36E7177E7B7671CEA240BCC66B0F74D56BCFE09F41ED6ED91E759F231932913CAEB00C22088F3F2E5C40E966B30A16EDCCB2B863EA3474A8AF8FC50D3AFFB4C047AAD07D4F77796D53B6E832C20488F64AB8D62F9DDDF055BB063495DA5852C9FE5C9D8B0E2E516A652DE0A8FEA0563E70DA832734479F4AC87EC3792FEDF2726977CA33C665309251BB5384F84E54FD394F230C4A586196EBFE8576EA5465E66D73267E35788825BD0E584441DBA159A3FACB5CC387D3AC511123D6063D7121E36280A2713017F324451AD6E3C7CF010A7B8672928E715D2FF490BF8B2180A804F3C60C6F5CA324EC516E2A83A267127F005CA9B2C7FD79617C2F5D865CBD0C2BCCA4A5103A51304A5F2FAF6965521717421F3A2667C4922E3151FD35B498885719CB3011DA36A763EB82BC5BF9A6EDC9CBB82277AC78E407D2670642123427D4BAE8CB01E57457C1C36D749C630ACC34F2B64A8184923D874D8E323B823A5390BFDAB5C52D7323176F390A06F1DDD88279DF3BE850A70946E3EAADF26EBF536CC9797DFE550E30F87B351CBE4EF4AF418085AF0780DDFBC315954FBE0E3092FE871B8D53DEFE08084DD643E3A8CEE026E82B4946E76CE6117E216179CADD793951E56BD2C7D4122F7B458B606BC29FF6FD0E07D96BD49FBC0B4CF73196AA01416C9C4E74AE171FB6370D4EB9AA9FCC9313746AE88A42E01B0E3C1A071D64C39CBC29E749696E36E17813C5DB7C2C09287C5046E475CE09FAC94046D2662386E093357652BFE20F87241A254668656F62FBAF8DCDB6A6228AFA3598FB754E98B2A78F95F810AC5AE7CCC018A57E5477BE6410E7A85FAFDA7F3631C9189C6428A0B767AF1FF7FDE6566D3AECF6630DA7FC490B65A58DB95C0878004D6CE3B41A8CBE5E2A873B619988C09D13AEA803570A1BB8F2318962DE269118FDBC597718D3FEAC7C0694FCA23F9F6F8F711A7906365FE0EFEA1E504C2766B1FE22D3A4719691以上是关于边车代理模式的主要内容,如果未能解决你的问题,请参考以下文章
Sidecar、Ambassador和Adapter模式的区别