關於軟件分層設計的思考

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在日常開發中,經常聽到大家說一句話:“任何需求都可以通過增加一個間接的中間層來解決。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"今天通過幾個案例就“分層”話題來梳理下自己的思考,有些例子比較直觀,有些不那麼直觀,甚至有些微妙,需要我們自己多品味。在學習的過程中,我們需要不斷將新的知識與舊的知識做關聯,形成自己的體系,而不是一個個知識孤島。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"分層設計是什麼?有什麼好處?"}]},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/86\/86f7f1e3d14fe5dc32e947d3370f810e.jpeg","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"分層設計將軟件劃分成若干層,每一層只解決一部分問題,通過所有層的協作來完成整體的目標。一個複雜的問題通過分解成一系統子問題,這樣就有效的降低了每個子問題的規模與複雜度。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"分層設計帶來的好處是:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"降低了系統軟件的複雜度。將一個複雜問題通過分解,分而治之。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"功能的複用和封裝。"}]}]}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"計算機語言的發展"}]},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/4a\/4a69df0e9e9752a5305f7ac488ce9033.jpeg","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"機器語言"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":1,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"早期的軟件開發是機器語言,直接使用二進制0和1表示機器可以識別的指令和數據,看起來像這樣:"},{"type":"codeinline","content":[{"type":"text","text":"0010000100100011"}]},{"type":"text","text":"這就是計算機CPU唯一可以理解的語言。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":1,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"對人類爲說,二進制的程序是不可讀的。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"彙編語言"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":1,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"爲了解決語言可讀性的問題,彙編程序誕生了。彙編程序是人類可讀的機器代碼。它又稱爲‘符號語言’,使用助記符來代替機器的操作碼。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":1,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"彙編語言是二進制的文本形式,與CPU的指令是一一對應的關係。而我們不同的CPU體系結構(比如PC的x86,嵌入式的ARM)是不同的,面向機器的語言 帶來的問題就是:對於不同的CPU體系架構,就需要不同的彙編語言。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"高級語言"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":1,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"爲了解決語言對機器的無關性,高級語言誕生了。一條高級語言通常由若干條機器語言實現的,並且不具有對應性。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":1,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"高級語言讓開發者不需要關注底層CPU體系結構與指令,只關注業務即可。"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"計算機語言的發展就是不斷的抽象,只有通過抽象,將一個複雜的的系統變成一層層的接口集合,讓我們每次只需要考慮關注當前層集合內的邏輯,而不用去考慮當前層次以上或者以下的複雜度,纔有可能讓我們從複雜系統中解放出來,逐步理解以及構造一個複雜系統。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"Linux內核"}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"內核功能層與內核硬件層"}]},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/ba\/baaa9fb4b61720c47db1914326c47d23.jpeg","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"操作系統內核簡化理解成三大層:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"內核接口層"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":1,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"向上對用戶態應用程序提供一套接口子集。開發者使用的系統調用APIs。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"內核功能層"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":1,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這一層完成各種實際的功能,我們知道OS主要負責資源管理,內存,進程這些資源。物理內存如何申請,釋放,進程如何調度。具體來說進程管理,內存管理,中斷管理,設備管理。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"內核硬件層"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":1,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"分離硬件的相關性,我們知道一個OS可以運行不同的指令集,也就是運行在不同的硬件平臺。不管是ARM體系結構,還是x86,選擇一個進程調度的算法是可以相同的,需要改變的進程切換相關代碼,因爲不同的硬件平臺的上下文是不同的,CPU的寄存器也不同。這時候最好的設計是分層,當操作系統運行在不同的硬件平臺時,就只需要修改硬件平臺相關層代碼,實現操作系統的高可移植性。"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"操作系統有兩個關鍵設計:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"numberedlist","attrs":{"start":1,"normalizeStart":1},"content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":1,"align":null,"origin":null},"content":[{"type":"text","text":"內核接口層區分用戶態與內核態,來保護硬件資源受限訪問。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":2,"align":null,"origin":null},"content":[{"type":"text","text":"內核硬件層分離多種硬件平臺相關性。這種分層的架構,極大提升了系統的穩定性和擴展性。"}]}]}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"MMU抽象層"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"操作系統負責管理物理內存,而用戶進程使用虛擬內存。操作系統呈現給用戶進程的是連續的虛擬空間,但不一定是連續的物理空間,因爲物理內存被整個OS共享。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"什麼是MMU呢?它是硬件,即內存管理單元,它對CPU發出的訪存地址進行映射與檢查,可以讓處理器發出的訪存地址訪問不同的物理內存單元。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"如果將計算機上有限的物理內存分配給多個應用程序使用,如果讓應用程序直接訪問物理內存,如果沒有MMU這層抽象呢?帶來的問題是每個應用程序地址空間不隔離,內存使用率低,程序運行地址也無法固定。"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/24\/24a29178b244b097d0c1501d13576104.jpeg","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"解決的問題:虛擬內存VA與物理內存PA的映射。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":1,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"通過在CPU與內存之間加入MMU抽象層"},{"type":"text","text":","},{"type":"text","marks":[{"type":"strong"},{"type":"strong"}],"text":"讓CPU在運行指令時發出的VA虛擬地址通過MMU轉換後變成PA物理地址"},{"type":"text","text":","},{"type":"text","marks":[{"type":"strong"},{"type":"strong"}],"text":"然後再去訪問物理內存"},{"type":"text","text":"。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"image","attrs":{"src":"data:image\/jpeg;base64,\/9j\/4AAQSkZJRgABAQAAAQABAAD\/2wBDAAwICQoJBwwKCgoNDQwOEh4TEhAQEiQaGxUeKyYtLComKSkvNUQ6LzJAMykpO1E8QEZJTE1MLjlUWlNKWURLTEn\/2wBDAQ0NDRIQEiMTEyNJMSkxSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUn\/wAARCAN+BbADAREAAhEBAxEB\/8QAGwABAQEAAwEBAAAAAAAAAAAAAAIBBAUGAwf\/xABYEAABAgIECQcHCQYEBAUEAgMAAQIDBAUREjEGISIyUVJhcZETFjNBcpLhFFSBk7HR0hU1NkJTVXOywSMkNHShwgdiouI3Q2OCJURFw\/BGhIWUJrPxZIP\/xAAYAQEBAQEBAAAAAAAAAAAAAAAAAQIDBP\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\/NXrAqym3iAspt4gYjUrW+\/SBtlNvEDFalaX36QNspt4gLKbeIGNalXXevWBtlNvEDLKWkvu0gbZTbxA8dChQ6Qw2pB8yxIiS7UbDa\/GiXY\/bxA75IMJEqSGzugbyUL7NndAclC+zZ3QHJQvs2d0ByUL7NndAclC+zZ3QHJQvs2d0ByUL7NndAclC+zZ3QHJQvs2d0ByUL7NndAclC+zZ3QHJQvs2d0ByUL7NndAclC+zZ3QHJQvs2d0ByUL7NndAclC+zZ3QHJQvs2d0ByUL7NndAclC+zZ3QHJQvs2d0ByUL7NndAclC+zZ3QHJQvs2d0ByUL7NndAclC+zZ3QHJQvs2d0ByUL7NndAx0CC5qtdCYqLeitQDpJKCyQw6bBl05OFMy6ucxuJK8fwgeta1Kuu9esDbKbeIGWUtJfdpA2ym3iBMVqck+\/NXrAqym3iAspt4gYjUrW+\/SBtlNvEDFalaX36QNspt4gcOmIzpWh5uPDVUfDguc1a7lqA8\/grIS7KHhTKw2ujRq3Oe5K1vUDuuShfZs7oDkoX2bO6A5KF9mzugOShfZs7oDkoX2bO6A5KF9mzugOShfZs7oDkoX2bO6A5KF9mzugOShfZs7oDkoX2bO6A5KF9mzugOShfZs7oDkoX2bO6A5KF9mzugOShfZs7oDkoX2bO6A5KF9mzugOShfZs7oDkoX2bO6A5KF9mzugOShfZs7oDkoX2bO6A5KF9mzugOShfZs7oDkoX2bO6A5KF9mzugOShfZs7oDkoX2bO6B8JuQlZyA6DGgsc1yaMabgOHgJFfFoaLBe5zuQjKxq1rdUgHpbKbeIGK1K0vv0gbZTbxAWU28QMa1Kuu9esDbKbeIGWUtJfdpA2ym3iAXPTcBQERehf2VAsABLb3bwKA8thN9JaF7T\/ANAO3AAAAAAAAAAAACI0aFLs5SNFZDZrPdUgHDg03RkZIzoc5DWHBq5SKq1Q0rWrOzf6gb8uUR96yP8A+wz3gc221WW7TbCpXarxVAcebn5aUlYsxFitsQmq51la1qA+rZiC5iOSKypUrzkA+iKipWi1oBiOaqqiORVS\/YBoAAAAAAAAAAAAeew5+ZoX47fyuA9mAAlt7t4FAS69u8CgAEszG7gKAlc9NwFARF6F\/ZUCwAHjMDP4Oc\/mF9iAehAAAAAAAAAAAADgzlMUbJLZjzkJr66uTatp6r2UxgVFpajYL+TjUhLQoiIiqyJFaxyVpXjRcaAfSVpCSnHObKzkvHc1K3JCiNdVwA+zosNi1OiNauhXAcdlIyr5yJKpFbykNjXux4qlrqx+gDkNiQ3rU2I1y7FAPeyGlb3Nal1arUBV4AAAAAAAAAAAAAOkoH6cUp+En9oHrQIi9C\/sqBYACW3u3gUBLr27wKAAS270qBQErnpuAoDx9GfTGmN6Ad8AAAAAAAAAAAAHTU1S0\/IRoUKBR7HMjRWQYceJFqbad\/lTGBr6TpCHSTKNZKQJiYSWSPEicqsJucrakSy7QBUGlJxKXgSE5IwoSxmOe18OPbzauqymkD6z9KulJ6HJwpKPNRXw1i1QlalTUVE61TSBxH0rS3lkNzaFmkl0Y621XQ7SuxVVZW8Dly1JTUeYZDiURNwGuviPcypvBwHynaegy8+6Rl5WZnJljUc9kBqKjE\/zKtwH1oimZelViw2Q4sCYgLVFgRm2XtA7EAAAAAAAAAAAAOlX\/iDJfyq\/3geqbd6VAoCVz03AUBEXoX9lQLAAS2928CgJde3eBQHXYQ\/R6f8AwHewDq8Gfo9KdlfzKB2YAAAAAAAAAAAAdElK0rHpptGtkoMovJ8s58aJylbEcjcSN6\/SB9JalqRnIk15LRsB0OXjvgWnzStVytWquqwoHIoqko09HnIEeWbAiyr0Y5GxbaLWld9SAfFabiumZiFL0VNTCQIiwnPY5iJaqRet21APlApWlkix1jULNOYr\/wBkjXQ62tqS\/K01gdhITkeac9I1Hx5WzVUsVWra4KoHDmMJZCFSsGjoduPFiREhOdDStrHL1KukDuAAAAAAAAAAAAAAdRgB83zn8yvsQD1IEuvbvAoABLbvSoFASuem4CgIyrSYku0gblaE4gTFtck\/EmavWBWVoTiAytCcQMS1W7El+kDcrQnEDzGEqrzmoWvWd+gHbgAAAAAAAAAAABwaYtrKJZo+BOtR1pzI70a1tX1saKB5GilpClMB3yUrIMexr8l6R0rV3Ko+zZVEqxLpA7amI0\/MURNQFoBYHKQ3M5R8xBRG19ecBysIGOh4FTMN6VObLIiptxAcakqIlJR7oiUdQsOWtNa18dFata6cVV4HGkZKXmaY8k+RaKjQYfTxoCLZhr1NxpjdsA9FNycV1HtlJCMkmiVNtMbmN60btA6TBCXZKUrTcvDc9zWRmJae6ty4lxqoHpwAAAAAAAAAAAA89hz8zQvx2\/lcB7HK0JxAZWhOIGJardiS\/SBuVoTiBi2q24kv0gblaE4gMrQnEDG2rKYku0gblaE4gZlWkxJdpA3K0JxAmLa5J+JM1esCsrQnEBlaE4geOwM\/g5z+YX2IB6EAAAAAAAAAAAAPG0vMx5TCujXtomVhRnRYthWx0RY9ptlFctnFftA5sFlKS9MT80+hFjtmuSclmPDqarWIiplKnXsA+9EsmYmEk1NRpJJVvk7IfJ8qx612lW5q4gPjGo+DP4Q0ralJaYishS\/J+UNraldqv2AcCal5OVhxnPkaBV0F1h0NlpX2luaiVXqB3tA0fBgy0OaiUVLSU29qo5sJLk0VgfFmDUtMzczNUsqTsWK9eTtVo2EzqaiV\/wBQIwQRYctPQIb3PlIM2+HLq5a8lOpNlYHfgAAAAAAAAAAAB0lBV8+KUq+yT+0D1eVoTiBMW1yT8SZq9YFZWhOIDK0JxAxLVbsSX6QNytCcQMW1W3El+kDcrQnEBlaE4gY21Vcl69YG5WhOIGZVpMSXaQNytCcQPI0X9MKY3oB3wAAAAAAAAAAAAeMw1guSdlWy0aciTESK2KsJI7ka1ExJZT6qqty7wPpFWjGrCn4M9TauWWq5SCixK2WldlOVq3LX14qgOVQku6YpSDPubSr4bITuTjTj4dVTqrmtx4wPvSMWWhYTNWbejIK0fEa9cdyxGp1AdJSk\/REpFsy0q2YZERGw3pMxcl3+ZNG6u4DvMGolHS0HyODSXlMw9ViOtOXGvXZReoDnTlmjIcWak6OdMRoz05RsGpHOvxqB1GDL\/LacpGkI6pAm3o1jpNUVHQmomJXVoldewD0wAAAAAAAAAAAAdK7\/AIgSVXmq\/wB4HqW2qrkvXrA3K0JxAzKtJiS7SBuVoTiBMW1yT8SZq9YFZWhOIDK0JxAxLVbsSX6QNytCcQMW1W3El+kDcrQnEDrsIbXN6fxJ0DuvYB1uDP0elOyv5lA7MAAAAAAAAAAAFStqpjSvQB4GYZCg4XqizlIeRwmchFmPKn2mqqp9bVtOaigc2K6Tk5iKkCap9ix5hyqyFDRGrEctyK5v6gdzg7Jvl2TUaJCnGPjxEcqzcRjnOqSqvJuA4ECNRiPpODSUVGtdSD3NS05K1RjE+rvA6aPN0fMTXyexjZVVVVdNtmIj2pD6rKa3VjA9nRMxJRpNsKRmeXZARGKqutOTfWB02EEvBlp+gYcCE2Gzy2upqVY16wPTAAAAAAAAAAAAAA6fAFV+T5ypE\/iV69iAeoytCcQMW1W3El+kDcrQnEBlaE4gY21Vcl69YG5WhOIGZVpMSXaQNytCcQC56bgKAiL0L+yoFgAJbe7eBQHlsJvpLQvaf+gHbgAAAAAAAAAAAB11NwpmalWSUu1bEy\/k40RF6OH9b0qmL0gdDR8lBgUU2PDgz0aHMWmPgyS1VObEdU6u0lWLJA48jDkvlid5WgJ+ZRnJ8myK1IroeTjrtO67wO8wiictgnFqgxIKxkZDbCeiI5LTkSrEByJihkmEiNiUhPKyJXah8o2zUvVVZuA87RchNQcFpB1HTM62YmlSpGOTk4aquNzsVwHsViMl4LOXjNSqptt6o20oHnMHpqXZT1POdMQmtdHbZVXpjxKB6cAAAAAAAAAAAAPPYc\/M0L8dv5XAezAAS2928CgJde3eBQACWZjdwFASuem4CgIi9C\/sqBYADxmBn8HOfzC+xAPQgAAAAAAAAAAAB5Kdo19I01Ci0g1YTpqJFgwm15UNjGOsqm2ut3ADjU+1nyfHiRJCl1jpZRY8R9UNVrRFdZR9WPd1gd7QqysGNyMrQUzIo5McR8JjUXYqo5VA+UCWWdp+l1bMR4CMdBZaguRK6mKtV3+YDhz9Bw1wnoy1OTjoj2RXcqr220s2aqlq\/wAygdlQcKdSbnIkaPNLKo7k4MOYqtLVe+65eoDhx6TdTFIR5GDNMlZCA7k48e2iPiu62s0JpUDvJFJOHLtl5JYXJQkqRsNyKjQOQAAAAAAAAAAAAHSUD9OKU\/CT+0D1oERehf2VAsABLb3bwKAl17d4FAAJbd6VAoCVz03AUB4+jPpjTG9AO+AAAAAAAAAAAADoKYlIcnMwptXOfFmqQl21u+q1FqRqbL19IHypyG6DLTjG08yXbyblSU5OEmJUzbq8f6gVQPKOgyKJhC2L+zb+6o2FXm5uJLWIDlSrvKMLZyK3MlpdkBV\/zKquX+lQCnokN03RMNHtV6Tza2148x4HLg0fYpaPSEWLysR7Uhwks1JCZ1om9cdYHWxZymaMpOZWNKRqQkorrUF0BG2oX+VUAURLTszhBMU1NSyyjHwEgQoL1reqV12naLgO\/AAAAAAAAAAAADpV\/wCIMl\/Kr\/eB6pt3pUCgJXPTcBQERehf2VAsABLb3bwKAl17d4FAddhD9Hp\/8B3sA6vBn6PSnZX8ygdmAAAAAAAAAAAMciqxURytVUvTqA8\/KyUGUpyFRrFtf+HvVz3paVzliNylrvVVrUDr6YWJXJI7CZsaqbh\/Vg\/s78rEnVtA76ildaivfTbZ9rW40sw0Rm3JA+eDC8pRsacXE2bmYsdteqrsX9EAmE9sXC+OsKI137gxK0xoi23Ac2iqPbR8qrFiLFjRHLEixlSpYjl6wPN0tN0pSE5R0ZlAzjElI\/KuRVblJoA9LRk3GnJd0SPJRZRyOs2IqpWqVJjA5YAAAAAAAAAAAAdRgB83zn8yvsQD1IEuvbvAoABLbvSoFASuem4CgItNtJlJcBtpusnECYrmrCfjTNUCrTdZOIC03WTiBiObWuNLwNtN1k4geYwlVFwmoWpa8p36AduAAAAAAAAAAAAADqZGi5yToOFJQZ5IUZj3OWMkO3WjnOdVUu8D4wqFpOFNR5hlNqkWPZ5RfJWY7KVJ1gc6ao5042RbHmFd5NEbFiZNXKuamLdjxgfWfhzkSCiSMxDgxK8bokO2ipxQDKKkko6jJeTR9vkWI21VVWBU9IStIQUgzkBkaG11pGu06f6gcHmxQf3bA4AdsAAAAAAAAAAAAHnsOfmaF+O38rgPY2m6ycQFpusnEDEc2tcaXgbabrJxAxXNrTGl4G2m6ycQFpusnEDGuajUxpcBtpusnEDLTbSZSXAbabrJxAmK5qwn40zVAq03WTiAtN1k4geOwM\/g5z+YX2IB6EAAAAAAAAAAAAODOSL5ilaPm2xEayUdEVzda02yBxKToefpFkaC6l1ZLxHV8mku1bKV1olYHLkZWkIEZXTVJeUss1IzkGsqXTWgFUZIJIQ4yLEWLEjxnRoj1SqtVX9EqQD4Q6Om300yempyHEhwWvbBhshWVS1VetePEiAdmB1T8GqFe9z3UdBVzlrVarwOVIUXI0bynkUsyBylVqx11Xe0DlgAAAAAAAAAAAB0dBKiYcUpWv8Ayk\/tA9ZabrJxAmK5qwn40zVAq03WTiAtN1k4gYjm1rjS8DbTdZOIGK5taY0vA203WTiAtN1k4gY1zar0vUDbTdZOIGWm2kykuA203WTiB5Gi\/phTG9AO+AAAAAAAAAAAAD5zEvBmEhpGhtfyb0iMr6nJcoHzjSEnHiLEjSkCI9b3PhoqgIVHyUCIkSDJy8N6XOZDaioB9mQ4cNXKxjWq91p1SVWl0qB8Pk+S8u8t8lg+U\/a2EtXVX7gOSAAAAAAAAAAAAAAAA6V2L\/ECSr81X+8D1LXNqvS9QNtN1k4gZabaTKS4DbTdZOIExXNWE\/GmaoFWm6ycQFpusnEDEc2tcaXgbabrJxAxXNrTGl4G2m6ycQOuwhc3m9P406B3sA63Bn6PSnZX8ygdmAAAAAAAAAAAAHy8ng+V+Vcm3l7HJ8p12a66uIHyWi6OVa1kJX1TfcB9IMnKy6OSBLQYSPzkYxG2t4H0ZDZDhNhsY1rGpZa1EqRE0AfGTo+SkbXkkrBgW87k2I2sDkAAAAAAAAAAAAAAAAOnwBVEo+crVE\/eV9iAeotN1k4gYrm1pjS8DbTdZOIC03WTiBjXNqvS9QNtN1k4gZabaTKS4DbTdZOIBc9NwFARF6F\/ZUCwAEtvdvAoDy2E30loXtP\/AEA7cAAAAAOPMz0tKx4EGNEsxZh1mGxGq5XL6OraByAPn5RC8q8mtpy1i3Y\/y11VgfQCI0aFLwlixojYcNt73rUiAVabbs2ktVV1dYGOiMa9rXPa1z81FXGoEzMZsvLRY70VWQmK9yJfUiVgRDnID5WXmHRGwmTCN5PlHI1VV1zd+wCZSdZNTE1Ba1zVlonJuVetbKOxcQPvFiNhQXxXV2WNVy1bAPnJTUOdk4M1BtcnGYj22kx1KB8mT7X0xFo\/k3WocJsVX9SoqqlX9APvHjwZdluPGZCbXVaiORqAcCfp+jpKTfMeVQY1lWpycKK1XLWqJp2gcj5Uo77wlfXN94HIdGhtg8s6I3kqrVuvFVp3AU1zXNRzVRzVStFTrA0Djzk\/KyMskxMxbEFVROUsqqJXdXVcm0DkJjStAAAAAA89hz8zQvx2\/lcB7MABLb3bwKAl17d4FAAJZmN3AUBK56bgKAiL0L+yoFgAPGYGfwc5\/ML7EA9CAAAAAHwkp2Wn4KxpWJykNHKy3ZVEVUvqrvTagH1iPbDhuiPWprEtKuwBCiw4sFsaG5HQ3tRzXdSovWBQHzbHguiRIbYrFfCq5RtrGyu6sD6IqKiKi1otygTDeyIy1De17dLVrQD4+WQ\/lPyCy\/leS5aurJs2quIHzm6Tl5aAsVHJFRsZsByQ3ItlznIlS8UA5gHGfPQWUlDkFtctEhrFTFiqRav1A2kJtshR8ebc1XtgsV6tTrqA+sCIkaBDiolSPajqt4HxfSMhDe5kSdl2PatStdFaioBxYFP0bGnJmX8qgs5BWpyjojbL7SV5OPqA5sCclZl6tl5mDFciVqkN6OX+gFpFhrGWDbbyiJaVleOrTuAsBWlqzWla9QHHl56WmZmPLwolcWXdZiMVqtVui\/q2gcgAAAAAOkoH6cUp+En9oHrQIi9C\/sqBYACW3u3gUBLr27wKAAS270qBQErnpuAoDx9GfTGmN6Ad8AAAAJixGQYT4sRyNYxquc5epEA6+gp+ZpOWfORYbIUvEd+7tqW3Y1nbwOxY9sRtpjmuTSi1gdZR9MOmJJsaJKx7dbkXkoTlatTlTFwA50pMpNQUicm+E\/60OJnMXQoEeUu+VfJOTSzyPK27WOu1VVUAo+cbPSvLNhuZlvZZcqV5Llav9UAySnPK4k0zk1Z5NGWCta52JFr\/ANSAfCemo0Km6Nl2PqhRuV5RtSZVltaAcWlKXitgU1Bgt5KLIQGvbFtV1q5qrdV1VAc2TpWRmY6SsKbhRZlGW3Ma6urSB86UnI8vSdFwYTkRkxFcyIlV6I1VA5UWahW40u2KnLsh21Z1onUoHFwbmIs1g9Jx48RXxXw63OW9QPnGpWc+UpiTk6MWY8ns2n8u1mclfWB1TKfpV8zAn20cqyUyiS8KFy7McS0uVXVsqA7WDS058pS8nOUYsv5Rasv5dr81K+oDlzM75PNwoKMSLbVqPRjsuGjlqa5W6teKvqAeWR0\/9Nmu9C+MCHUi+HMS8KJITDOXicm1znMqRbLndTl6mqB8Zuk40jTcvLzLYfkc3kQojUVHMiart\/UB2gAAAAAdKv8AxBkv5Vf7wPVNu9KgUBK56bgKAiL0L+yoFgAJbe7eBQEuvbvAoDrsIfo9P\/gO9gHV4M\/R6U7K\/mUDswAAABwaapJlFUc+Zc1XvrRkOGl73rc0D7yr47JFj590FsazXEsYmNX0qB8qWnHyNFx5qG1r3Q21o1blxgZEpJGNrbJTj1rRKmwV44wOYx7YjEexyOa5K0VFA699KrBo+em4sDJlHvbZY6tXNb17AObFi8nLxIqNVysarrPXdcBEjMpOSEvNNarUjQ2xEavUipWBxZGajRabpKXe+uFB5Lk21Jk2m1qBwPlx0zLUTOVpKwpiYiMitc5FSy1HpjVezWB28jSEpSEN8STmGRmMdYcrNIHGlZyPEwjnpNzk5GDChvYlVyurr9gHHp6kaqGdHkZjG2YZCc5nVlojkA7oDzrsJJxKMWkUodVlU+v5S2tcqzdVpAmTpWm4M7Gk5ijFjR3q6YYnlDEsQ1dUjfQB2dF0lGnJmal5iTWWiy1m03lEfXaSvqAttIOdNRYLIDoyNRVY+C5FRytdU5q11WXIq3f\/AOAL8sj\/AHbNd6F8YGS086PPRZV0rGguhw2xFWIrVrRyuRM1V1VA49GUnGi0lNUbPNhtmoGW1YaKjYsNbnIi8FA7QAAAAAOowA+b5z+ZX2IB6kCXXt3gUAAlt3pUCgJXPTcBQErnpuAoCIvQv7KgWAAlt7t4FAeWwm+ktC9p\/wCgHbgAAAAB56gv\/EcIaUpOJlJAieSQP8qNzuK1Ac6kJ2NL0rKwGRWMhxIUR77UNX5qtqux\/WUDrVes5TUeJGc9UgQ2w2LDlY2Ujspa0TdpA+0pLzPlkGPKwWQHucqRVjw3I50NvUlbl0pu\/oBysIXTKUbGSHBguhZOU6KqOzk6rK+0D5MbMuwil1mEgNj+Rxqlh1uamXDqvAyLFiTNIUM+PLugx2x4yOYuyG9FVNi4lTeBysIPKvkeZ8mWCick\/lOURc2yt1XWB5qenJtlGUNLRICRorY8tEhcmxzWVdTXOXFaUDJj5UbK09OLOeSPgxUc6FL463WG\/WXHVVuA9NScSaSh3OgQWRnOhLbtxLFSWb7lr3AdFAnJ+XwKlHoxsBG+TthxIcS0r2q5EWtKsWLeBy4846TwymHNk5mZtSkNKoDUVUynX1qgHPpSHKztHy0aeekrBhxWxnMmEb1V5LsdQHBoyQkqRpSLSLaPgskkhJBgI6Cicrjrc+qq65EA6uUi0VDwcWSdJNi0krXw+SSX\/aWlcqJjs6FrA9HSHKUbQMKHAiqjoToEK3ZTGltrV\/pWB8ny8nBnodHQ6LgxkbCdFa6JUtlLa5KVpdWoGSkCTj0hMScahpSEsGGx9pGsdXatbP8AKoH1oeWgx8FJKWiMRYUWUY1zdNbUrA42B8xEdRcWSjOtRZCO+WV2lG3e70Ad6AAAAPPYc\/M0L8dv5XAezAAS2928CgJde3eBQACWZjdwFASuem4CgIi9C\/sqBYADxmBn8HOfzC+xAPQgAAADo8MJiLDohkrAdZjT0Zss1U6rV\/u9IHbS8vCk5JkvB\/ZwoTLDdiIB599LzUXBlsw6JDfGiwGq5iS7\/rVIuNFq6wLZJwkhQZNsGPHhq1IblfLRUaiVfWtOROAHaUW2dZR37bkHuvgsYqoiM+qirj44\/SBwYSzzqSpBHQZVsNWt5VOUc5arC3ZKAfWhosaDRVDMZBV8CNLMa5Wp0brFda7Fu31AfXBpEShWWUqasWMrd3KuqA6yYiUlL4URIz3Sq2JJXLZY937O3oT6wHT8vOzEnP8AIS6QYD6Wa5YkbPa5XMqSxsxKtageiodZuFhBPykxOxZpGQoT0V6IiIq2q6kS5AOJNR6STDGArZGA56S0RGNWZVEc20mNVs4l2AZPzEaNIYTwokRzmQW2WNX6qcnWB2lC0g+YgQILqPnICNhN\/aRWtRq4k0OUDq5+BIQfLZKXhwJ2k5yK9zW8mjlg2uty9SNvAUjIUbRU1Q6xpaF5NCa+HFicjaRVsIjbVSaQOXQzZOZpqYnpGByUuyC2C1zYVhsVVW0qpiS7EgH0dZjz1JRphiRvIH\/sWLUmSsFqubtRa1vA+Ew6VhUOtJJQMosNIXKqi2K6qq9UDlNk5WBhDJuhSsGC5ZWMq2GImO1C0b1A4mEH\/h9O0XSsPJ5SL5JG\/wAzXXcMagehAAAAADpKB+nFKfhJ\/aB60CIvQv7KgWAAlt7t4FAS69u8CgAEtu9KgUBK56bgKA8fRn0xpjegHfAAAADocN4zoOCs1YWp0Syzi5KwO6l4LJeXhQIaVMhsRjdyJUB5+TkYk3RM26HBlP20aZqtw7Tukel9aAfGA5vkECG+HFhvY1tpG0TEc9ar63LWi7wO5oeUl2QYs1DlYkCJMuVX8o2y5URVRuLqxdQHCiykmmEcOC\/yiI7kEc1vLRHqio6+\/F6QLoqVWZoiE5kV0KJCm4z2vROrlnVt3KmIDkUHl\/KEZM2LORFavZRrP7QOBS9FyUXCOjbUuxVj8ssSuvKVG4gOlm6OiK7CJZyZfFiS8tCciQq4cNVsOqrai46qsVYHdwYMKXwpo+HBhshsSQfksbUmc0CKfo+HEp6inLGmk5aO5HWY7kRuQubjyfQB9IcNIWFE7DRXORlHsaiudaVcbr1W8CMEpSd+R5COtJxFgWK\/J+SZVVjxWqqwPrTc1Fgx3wOUlaOgx0qdOxHpbelWNGt0ppUDjT83Q60bKS1H0rIwlk4rIkNIj62rZ6lqA5dDRX0jSL5yNPyUxyMOw2FKVuaxXLnKq9eKoDlQvpVM\/wAnC\/PEA66QmYcSh7UednOWTlK1RX9TlRMaIB95R74khg5EiPc973Nc5zlrVVWXiKBOG8O1gxHipiiQHMiw3aFRyfoqgd1LxOWloUXXYjuKAfQAAAAdKv8AxBkv5Vf7wPVNu9KgUBK56bgKAiL0L+yoFgAJbe7eBQEuvbvAoDrsIfo9P\/gO9gHV4M\/R6U7K\/mUDswAAAB56nP2+FlBSjujR0SMqf5mtrb7AOwwjdZwcpFaq\/wB2iJ\/pUDrqWo6LDlZeI2Xl1SDGY5Ugy6ucqbkVLW7rA+cWJDVznJBjxMhzUhQaKfDxrctpyLUv9AO9gUfKy8i2TgQ3QoLbmw4jmrxRawPNTMGU+R6ciQuVfFYkZvKLEe5qJVdWq1KB3tJw\/JWzNJJGVjGSz0iQ6sT1RK2u3pjT0gfajJfkqGlZaImZAZDcm5qIB0UrREJKbpRsi2FAjQVgrCiOar0ZW3HirA6yh6OgPkqCjR7cdYs3Fa5kV1piInKXNuTGlYHoMH2p5bTLUxJ5YqYsX1WgcSj6NhMwunWpHm15GFBelcy9Vdfidjyk2KBwIyK7BKbRrrKrSa1O0ftkA9TISs3Lues1SL5tHVWUfCYyz3UA6OPNQYk5Dl6UjydHSsu9IiSaRUV0R17VdViRvXUAn6UlfldlISFL0Za5DkXMjxFqzrVaVAdtQLFWUiTT5qFNPmYivWJCzUS6y1b6kqA650WJBwYpOLCiOhvZNR1RzFqVP2ygXSUeEjZbyecnEiOmYLL3ollXoi3pVcB2MH6Qzn8rA\/NGA62m\/wB3wtoOZZidF5SC\/a2rF\/VVA9CAAAAAHUYAfN85\/Mr7EA9SBLr27wKAAS270qBQErnpuAoD51RLSZTbtXxA2qJrN7viBMVInJPrc3NX6viBVUTWb3fEBVE1m93xAxEiVuym36viBtUTWb3fEDzGElrnLQtpUXKdclWgDuAAAAAA87gd+y+VpZ3SQ5+Iq7lqqX+gHPjLVhDyyNc7yeTdaRuNcp6VYv8AsUDixIUvP0rMR4bshJOHEZFgRYkNX2lfVXZclaZP9QMohZaF8nRmwIsScnpdHvdyr3pDaqI5Vy3LUldQH0wjbPxJWK1kSDDlEa1XLUqxHOtXJ1JvAiJMQIGEsCHLo6YfDlYjHMhutuRyvZnL1XLjcBSTSRqfbGjKjYMq1ZdHpjZyz1SttexERN61Acqn5qFL0VGhOtuizEN0KEyGxXOe5WrixAdJMrPfJtDw5yVbLthzsqyG23aetWJVWrEnUB9Z+j6SjwaYlpeWYqTkdKokSJYRrbDcq7HcoHZztIyEOgVj+VMSDGhK2E5Vz8WJETSB5+JHjvwNlYESRjwGQVl28pFRG23W23Nvq2gd1A+m03\/Jw\/zOA7Waloc1BWHEa1etqq1HWHdTkr6wOhpmVpCj6NfMw6bnHOa+G2pzYdWU9rdXaB2EGi5yHGY91NTkRrXIqsc2HU7YuSBuEXzT\/wD94H\/9zAOPPJDXCaFykWJDTyR2OG5UXPTQBtEpDSn6R5OI+I3kYGOI5VW+JpA5dAfR2jf5WF+VAOswS\/ax6Zmm9HFnnoxdKJ1\/1A9CAAAAPPYc\/M0L8dv5XAewqiaze74gKoms3u+IGIkSt2U2\/V8QNqiaze74gYqRK25Tb9XxA2qJrN7viAqiaze74gY1IllMpt2r4gbVE1m93xAyqJaTKbdq+IG1RNZvd8QJipE5J9bm5q\/V8QKqiaze74gKoms3u+IHj8DP4Oc\/mF9iAehAAAAHncMP2fyRMu6ODPw1fsTSB3c\/FbBkJiK7NZCc5fQgHUzD4cngu6RjMasWDR9pIcRMT7DMfBauKAREo6XbSkCSivjrAWWfFfXORsStVqYsu7KUDsZGO6NQrYkjLclUyqBDjYkVEzfQuIDroFcvM0lMUpNQkiNazGi2IbVVq3Iq496gJGkYstgtKOhy70e2WhwoSREqWLFsoiNa3RX17Ou8DsqFbCg0ZClYb7T5ZqQold6ORMdft9IHUvnJqZwjfMUVKLMNbL+TuixK4cNrrda41TKq2AceDAizEnSjIMNXuSmUcqJoR0NVUDsaObGh4QzUeebCgRZtjWwITIlu02HnOrqTWQDhzlIsdhdCiSUGJPLBlnwntl8aNcrkxOdclwHwjq5ZLCpXNsuVErbXXV+zQD09H\/N0t+E32AcWaot0SMsSVnIslbxvSAxmW7WWtLwOtk5WkJikqQlnU3No2VexrVRsOtbTEdjydoHdyMvFloKsjTcWacrq7cRGoqbMSIB1rOmwh7Sf\/wBDAOunGy\/Mt6pNTCv8jTIWI6zXZuqA7yN9IZP+Vj\/mggdbhn+0gUbKtxxI09DRE2JXWoHoQAAAAA6Og7XPelLKon7JL07IHq6oms3u+IExUick+tzc1fq+IFVRNZvd8QFUTWb3fEDESJW7Kbfq+IG1RNZvd8QMVIlbcpt+r4gbVE1m93xAVRNZvd8QMakSrObev1fEDaoms3u+IGVRLSZTbtXxA2qJrN7viB5Gi60wwpeu+tAO\/AAAAHU4VyT6Qwbm4ENFdEs22onWrVrq\/oByKPpGFN0JCpC1W10K26rSiY041gfGVhTUjJyMPk+VtrZmGJjsq6tVd6Hf0UDr5RrIchgw6xWiMtVIla9A5QO2o1Yr\/KGzUw18Vz7ToCOReQaua3FsA66DAl6MpGK2jJZsV7JWvk2vynut9bl694GS8Cek5NJdIjXzj3PeyAzMg23Odaev1qq131Yk6wOXR\/8A4XMQKIciuhLCV8GNVjcqZyO24669vEInaImqSpJkaYnOQgQLSQWy1bYio5ErtO6vQB1U1Dk5GkKWk5x8WXlpyXgwoMTk3PSprXNXHjxptA5EpMSa07AfRvlE1HjJYixIvKWIMKqvJrxJW5GgcmlJCkqQpKDFbFhScCTer2RU\/aRH1tqXJuTr0gdVL0nJwKamYqxpuLCdJthNjRIERXPdW6uvJ2gc7BelpOFREhIRHRmzKNRisWBEvr02agO0nKUo6BHdAmXLbZenIudVXuQDp20jRvOWJMKi8gso1iO5B1Vq25V+roVAO3k6Uo6PHbBlnLyj7k5Fza6tqoBML6VTP8nC\/PEA+dGys9L0R5O5sJrv2mJVx43OVPaB8YdmWTB+j4kWH5VBc1Hw0ciqlUvERV3AfPDR6xaKhUZCxx5+M2E1OupFRVXclX9QO+hsbDhthtzWpUgFAAAADpH18\/5KpURfJVvSvXA9S1IlWc29fq+IG1RNZvd8QMqiWkym3aviBtUTWb3fECYqROSfW5uav1fECqoms3u+ICqJrN7viBiJErdlNv1fEDaoms3u+IGKkStuU2\/V8QNqiaze74gddhCj+b8\/W5vQO+rs3gddgz9HpTsr+ZQOzAAAAHnsJv3OlKIpdeiloywoq6rXpZtf\/NIHaUvDWYkklW3zD2s\/7a63f6UUDh0ysZyrLxoVuXdGl3siaF5ZiK1fb6VAl6xm03SnkrEWYfLwGsVbmqvKZS7EA5nk8rO0OyDMTPlcCylqNbqt1ddbdwHUvl4saiJ2j6OloTocxMRINpHI1kFtV9XXuQDlTEtGpF6SaxnRYVpHTMeqpuStaQ2JvvvuqVQOdITkWYSZgxIaMmZZ9h2q7FW1ybFRfQBwZSg4zp91IUhNufHe5r3QYCqyFW3N2uq28AOoo6NIQKPk5KkI8aWmpOPFcrOSeiraV6JUqJodegHa4PRISRpyDIQoz5VtT1jx7dqLGW\/G69KkaBx3yc5Bm49L0jOeRQ4qMa+DKNWI6ptyK6qvrx1IB075+AuD8eVRsflnz\/LNbyD8zlEdXdoA9hI0tJUhFdDlnxHOa20tqC9mL\/uRAOO6mqIetbnq5dKy7\/hA62haRo2XhTaR0Vqvm4z21wHY2q6tPqgd7IT0pONe2VcqpDqrSw5lVe9AOpZLxZvBykYEBtqK+ajo1K6q\/wBsoHOpGWnZqHAYnI1MmIUR1Src16OX2AJOPBmMIJ5YMVkRGy8FrlY6upbUXEBwJ7\/xDDaQgMym0fCdGiroc7E1N9ygehAAAAADpsArXyfOWXNT95W9NiAeoqiaze74gYqRK25Tb9XxA2qJrN7viAqiaze74gY1IlWc29fq+IG1RNZvd8QMqiWkym3aviBtUTWb3fEDVz03AUBEXoX9lQLAAS2928CgPLYTfSWhe0\/9AO3AAAAADqIkhMSuEaUjJsR8KaakOah2qqqs16ewDn+TxWRIkSFEho+I6tyvhq7FciJjQDiwKLfLviugxYLEiQ2wlYkJakRFcuLK0vUBK0ZHlIECFBmmMSE1jFckLKe1qVI1VVfZUB9qTk4s7AbBZMckxXJymRatNRa6k0LivA+jpNlcXkaoHLLaivhtqe9d\/wD89AExqOlYtGPo\/kkZLvYrLLeqvr39dYHIhtsQ2stOdZSqt16gfGfkYFIS3ITCOs2ke1WOVrmuS5UVOsDgOwfhvhOhxaSpOIxyVKjplcaAdlBloECBBgw4TUZBajYaVV2akqA4dJ0LL0o+1MR5pG4siHGc1mJa0WrSBx0walUjrGSdpJIrm2Vf5W60qaKwOa6j2ukocr5VNtRi18okZeUW+93XeBxY2D8CYhLDjTk+9iqi2XTCqmJa0\/qB9PkZv3hSP\/7LgPtOyPlNHMlUiuSy6G62\/KVbDmux7Vsgcrk2crylhtuzZtVY6tAHym4ESLAiJLR\/Jo7kxRUYjqtFaLeBxJmXnJOgYclRjeUjshtgQ3vcjbCVVW13AfaiKPhUXRkGThLaSGmN2s7rUDmAAAADz2HPzNC\/Hb+VwHswAEtvdvAoCXXt3gUAAlmY3cBQErnpuAoCIvQv7KgWAA8ZgZ\/Bzn8wvsQD0IAAAA4tKyEKlKNjSUbNitqr1V6l4gfCQgzkai4UvSTWtiw3I2I5HWkjI253pxV+kBP0bEn4LoceLAxsfDR6QltNRzbK1ZWgBHo2LMTjZiLGhOVsJ0KxyS2Varmux5X+VAOXKwo8Jr0jTHLK51bchG2U0AcWDRmXMvnHsmljPa9qOhoiNs5vp2gchsoxZlJmMvKxWpUxVTEzTZTq33gGScKHSEWdbaSLFY1j0ryVs11LvxgcgDq41BQIk1FmIM1OSrozrURIEZWtc7TVpA+snQ8vKTjpvlJiNHcywj48VX2W6E0AcuJLsfLvgttQmvRa1hLYclfWip1gdQuC0i5IqLNT6pG6X95d+06srSBypGh4UlGbEhzc89GJUkOLMOezgoGxaJbEivieXT7bbldZZMKiJuQD4swfgQ4sSIycn2viqivckwtbqkqSv0AcuTo9spFWIk1Nxa22bMaKr04AbLyfJTU7Fc5HtmojX2arkRjW1f6QORycPkuSsN5NEs2KsVWioDitkonyus9EmnPYkJYcOCrUSxaVFdj681oHDbR8xOYR+XzjUZLyjVZKw7VdpVznro2AdwAAAAAHSUD9OKU\/CT+0D1oERehf2VAsABLb3bwKAl17d4FAAJbd6VAoCVz03AUB4+jPpjTG9AO+AAAAADhyVGS8i6PyFpIcaJyvJKtbWO0tTqA+zpOVc5XOlYKquNVWGmMDPIZPzWB6tALhS8CCqrCgw2Kt9hqIAZLwYcaJGZCY2LFqtvRuN1V1agWxjWJU1qNrWtagNAAAAAAAAAAAEpChpGdGRjeUc1GK+rGqJXUn9VAoCHQYTozYzobFisRWtercpEW\/GBx\/k6B8q\/KL7b46M5NlpcmGnXZTaBywAAAAA6Vf+IMl\/Kr\/AHgeqbd6VAoCVz03AUBEXoX9lQLAAS2928CgJde3eBQHXYQ\/R6f\/AAHewDq8Gfo9KdlfzKB2YAAAA+U1LwZuWiS8diPhRG2XNXrQCJWThy8nDlrTozYbLCOi5TlboUDfIZPzWB6tAHkMn5rA9WgH1hwocNliHDaxuq1KkAiFLQIEukCFBYyEn1GtqbwA+qIiIiIlSJcgAAAAAAAAAAAATDhQ4LVbDY1iK5XrUl6qtarxAoCGQYUN73w4bGuiLaerW1K5doHHo+joFHpGWFbfEjvWJFiRFrc9QOWAAAAAHUYAfN85\/Mr7EA9SBLr27wKAAS270qBQErnpuAoCLSWkvu0AbaTbwAmK5OSffmr1AVaTbwAWk28AMRyVrffoA20m3gB5jCVa8JqF7Tv0A7cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHnsOfmaF+O38rgPY2k28AFpNvADEcla336ANtJt4AYrkrS+\/QBtpNvABaTbwAxrkspfdoA20m3gBlpLSX3aANtJt4ATFcnJPvzV6gKtJt4ALSbeAHjsDP4Oc\/mF9iAehAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0dBLVhxSn4Sf2gestJt4ATFcnJPvzV6gKtJt4ALSbeAGI5K1vv0AbaTbwAxXJWl9+gDbSbeAC0m3gBjXJV13r1AbaTbwAy0lpL7tAG2k28API0Wv\/wDMKY3oB3wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOldi\/xAkv5Vf7wPUtclXXevUBtpNvADLSWkvu0AbaTbwAmK5OSffmr1AVaTbwAWk28AMRyVrffoA20m3gBiuStL79AG2k28AOuwhcnN+fv6B3VsA63Bn6PSnZX8ygdmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADp8AVqo+cv\/iV6tiAeotJt4AYrkrS+\/QBtpNvABaTbwAxrkq6716gNtJt4AZaS0l92gDbSbeABc9NwFARF6F\/ZUCwAEtvdvAoDy2E30loXtP8A0A7cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHnsOfmaF+O38rgPZgAJbe7eBQEuvbvAoABLMxu4CgJXPTcBQERehf2VAsAB4zAz+DnP5hfYgHoQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdJQP04pT8JP7QPWgRF6F\/ZUCwAEtvdvAoCXXt3gUAAlt3pUCgJXPTcBQHj6M+mNMb0A74AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHSr\/xBkv5Vf7wPVNu9KgUBK56bgKAiL0L+yoFgAJbe7eBQEuvbvAoDrsIfo9P\/AIDvYB1eDP0elOyv5lA7MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHUYAfN85\/Mr7EA9SBLr27wKAAS270qBQErnpuAoCVz03AUBEXoX9lQLAAS2928CgPLYTfSWhe0\/8AQDtwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeew5+ZoX47fyuA9mAAlt7t4FAS69u8CgAEszG7gKAlc9NwFARF6F\/ZUCwAHjMDP4Oc\/mF9iAehAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0lA\/TilPwk\/tA9aBEXoX9lQLAAS2928CgJde3eBQACW3elQKAlc9NwFAePoz6Y0xvQDvgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdKv\/EGS\/lV\/vA9U270qBQErnpuAoCIvQv7KgWAAlt7t4FAS69u8CgOuwh+j0\/+A72AdXgz9HpTsr+ZQOzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1GAHzfOfzK+xAPUgS69u8CgAEtu9KgUBK56bgKAiylpL7tIG2U28QJitTkn35q9YFWU28QFlNvEDEala336QNspt4geYwlSrCahe079AO3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB57Dn5mhfjt\/K4D2NlNvEBZTbxAxGpWt9+kDbKbeIGK1K0vv0gbZTbxAWU28QMa1LKX3aQNspt4gZZS0l92kDbKbeIExWpyT781esCrKbeICym3iB47Az+DnP5hfYgHoQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdHQSV4cUp+En9oHrLKbeIExWpyT781esCrKbeICym3iBiNStb79IG2U28QMVqVpffpA2ym3iAspt4gY1qVdd69YG2U28QMspaS+7SBtlNvEDyNFp\/8AzCmN6Ad8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADpXY\/8QJL+VX+8D1LWpV13r1gbZTbxAyylpL7tIG2U28QJitTkn35q9YFWU28QFlNvEDEala336QNspt4gYrUrS+\/SBtlNvEDrsIWpzfn7+gd17AOtwZ+j0p2V\/MoHZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6fAFK6PnL\/4levYgHqLKbeIGK1K0vv0gbZTbxAWU28QMa1Kuu9esDbKbeIGWUtJfdpA2ym3iAXPTcBQERehf2VAsABLb3bwKA8thN9JaF7T\/ANAO3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB57Dn5mhfjt\/K4D2YACW3u3gUBLr27wKAASzMbuAoCVz03AUBEXoX9lQLAAeMwM\/g5z+YX2IB6EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHSUD9OKU\/CT+0D1oERehf2VAsABLb3bwKAl17d4FAAJbd6VAoCVz03AUB4+jPpjTG9AO+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0q\/8QZL+VX+8D1TbvSoFASuem4CgIi9C\/sqBYACW3u3gUBLr27wKA67CH6PT\/wCA72AdXgz9HpTsr+ZQOzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1GAHzfOfzK+xAPUgS69u8CgAEtu9KgUBK56bgKAjKtJiS7SBuVoTiBMW1yT8SZq9YFZWhOIDK0JxAxLVbsSX6QNytCcQPMYSqvOaha9Z36AduAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADz2HPzNC\/Hb+VwHscrQnEBlaE4gYlqt2JL9IG5WhOIGLarbiS\/SBuVoTiAytCcQMbaspiS7SBuVoTiBmVaTEl2kDcrQnECYtrkn4kzV6wKytCcQGVoTiB47Az+DnP5hfYgHoQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdJQVfPilKvsk\/tA9XlaE4gTFtck\/EmavWBWVoTiAytCcQMS1W7El+kDcrQnEDFtVtxJfpA3K0JxAZWhOIGNtVXJevWBuVoTiBmVaTEl2kDcrQnEDyNF\/TCmN6Ad8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADpXf8QJKrzVf7wPUttVXJevWBuVoTiBmVaTEl2kDcrQnECYtrkn4kzV6wKytCcQGVoTiBiWq3Ykv0gblaE4gYtqtuJL9IG5WhOIHXYQ2ub0\/iToHdewDrcGfo9KdlfzKB2YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOnwBVfk+cqRP4levYgHqMrQnEDFtVtxJfpA3K0JxAZWhOIGNtVXJevWBuVoTiBmVaTEl2kDcrQnEAuem4CgIi9C\/sqBYACW3u3gUB5bCb6S0L2n\/oB24AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPPYc\/M0L8dv5XAezAAS2928CgJde3eBQACWZjdwFASuem4CgIi9C\/sqBYADxmBn8HOfzC+xAPQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6SgfpxSn4Sf2getAiL0L+yoFgAJbe7eBQEuvbvAoABLbvSoFASuem4CgPH0Z9MaY3oB3wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOlX\/AIgyX8qv94Hqm3elQKAlc9NwFARF6F\/ZUCwAEtvdvAoCXXt3gUB12EP0en\/wHewDq8Gfo9KdlfzKB2YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOowA+b5z+ZX2IB6kCXXt3gUAAlt3pUCgJXPTcBQEWm2kykuA203WTiBMVzVhPxpmqBVpusnEBabrJxAxHNrXGl4G2m6ycQPMYSqi4TULUteU79AO3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB57Dn5mhfjt\/K4D2NpusnEBabrJxAxHNrXGl4G2m6ycQMVza0xpeBtpusnEBabrJxAxrmo1MaXAbabrJxAy020mUlwG2m6ycQJiuasJ+NM1QKtN1k4gLTdZOIHjsDP4Oc\/mF9iAehAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0dBKiYcUpWv\/ACk\/tA9ZabrJxAmK5qwn40zVAq03WTiAtN1k4gYjm1rjS8DbTdZOIGK5taY0vA203WTiAtN1k4gY1zar0vUDbTdZOIGWm2kykuA203WTiB5Gi\/phTG9AO+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0rsX+IElX5qv94HqWubVel6gbabrJxAy020mUlwG2m6ycQJiuasJ+NM1QKtN1k4gLTdZOIGI5ta40vA203WTiBiubWmNLwNtN1k4gddhC5vN6fxp0DvYB0lA0hJytASjZiagw3WVyXPRFzlA53yzRfn8v30A5MtNS82xXy8ZkVqLUqsdXjA+oHCdTFGserXT0BFRalS2gGfLNF+fy\/fQB8s0X5\/L99AOTLTMCbhrEl4zIrEWyqsWtKwPqBwflmi\/P5fvoA+WaL8\/l++gD5Zovz+X76AcqXmIM1C5SBFbEZXVaataAfRcSVqBwflmi\/P5fvoA+WaL8\/l++gD5Zovz+X76AcqBHgzMJIsCI2IxbnNWtAPo5Ua1XOVERL1UDg\/LNF+fy\/fQB8s0X5\/L99AHyzRfn8v30A5cGNDjwmxYL2vY65zVxKBsR7YcN0R7ka1iWnKtyIBw\/lmi\/P5fvoA+WaL8\/l++gD5Zovz+X76AcyDFhx4TYsJ6PY7NclygIkRkKG6JEcjWNStzlXEiAcP5Zovz+X76AXCpWj4r0ZDnYDnrcltMYHCwBVEo+crVE\/eV9iAeotN1k4gYrm1pjS8DbTdZOIC03WTiBjXNqvS9QNtN1k4gZabaTKS4DbTdZOIBc9NwFARF6F\/ZUCwAEtvdvAoDy2E30loXtP\/AEA7cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHnsOfmaF+O38rgPZgAJbe7eBQEuvbvAoABLMxu4CgJXPTcBQERehf2VAsAB4zAz+DnP5hfYgHoQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdJQP04pT8JP7QPWgRF6F\/ZUCwAEtvdvAoCXXt3gUAAlt3pUCgJXPTcBQHj6M+mNMb0A74AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHSr\/xBkv5Vf7wPVNu9KgUBK56bgKAiL0L+yoFgAJbe7eBQEuvbvAoDrsIfo9P\/gO9gHgqJo6XfJtjRoaRHv09SGpEc75NkvN2FwfaDAhS7VbBYjEXGqIB9AjirR8mqqqy7K1GKfJsl5uwYHybJebsGD7QYEKXZZhMRjVWupAj6AcX5NkvN2DFPk2S83YMD5NkvN2DB94MKHAZYhMRrdCBFXgcb5NkvN2DFPk2S83YMD5NkvN2DB94UKHBh2IbUa3QgRSoioqLcoHG+TZLzdgxT5NkvN2DA+TZLzdgwfeHDZChpDhtRrUuQIp7WvY5rkra5KlQDjfJsl5uwYp8myXm7BgfJsl5uwYORDY2ExGMajWpcgQexsRisciOa5KlQDj\/ACbJebsGK+caipOLDVqQkYvU5vUTB3P+HaVUTNIt\/L\/2oZV6sCXXt3gUAAlt3pUCgJXPTcBQErnpuAoCIvQv7KgWAAlt7t4FAeWwm+ktC9p\/6AduAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADz2HPzNC\/Hb+VwHswAEtvdvAoCXXt3gUAAlmY3cBQErnpuAoCIvQv7KgWAA8ZgZ\/Bzn8wvsQD0IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOkoH6cUp+En9oHrQIi9C\/sqBYACW3u3gUBLr27wKAAS270qBQErnpuAoDx9GfTGmN6Ad8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADpV\/4gyX8qv94Hqm3elQKAlc9NwFARF6F\/ZUCwAEtvdvAoCXXt3gUB12EP0en\/AMB3sA8dRHzXA3L7TURzCoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABzP8AD75sm\/5hfyoYaeqAl17d4FAAJbd6VAoCVz03AUB86olpMpt2r4gbVE1m93xAmKkTkn1ubmr9XxAqqJrN7viAqiaze74gYiRK3ZTb9XxA2qJrN7viB5jCS1zloW0qLlOuSrQB3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPPYc\/M0L8dv5XAewqiaze74gKoms3u+IGIkSt2U2\/V8QNqiaze74gYqRK25Tb9XxA2qJrN7viAqiaze74gY1IllMpt2r4gbVE1m93xAyqJaTKbdq+IG1RNZvd8QJipE5J9bm5q\/V8QKqiaze74gKoms3u+IHj8DP4Oc\/mF9iAehAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0dB2ue9KWVRP2SXp2QPV1RNZvd8QJipE5J9bm5q\/V8QKqiaze74gKoms3u+IGIkSt2U2\/V8QNqiaze74gYqRK25Tb9XxA2qJrN7viAqiaze74gY1IlWc29fq+IG1RNZvd8QMqiWkym3aviBtUTWb3fEDyNF1phhS9d9aAd+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADpH18\/wCSqVEXyVb0r1wPUtSJVnNvX6viBtUTWb3fEDKolpMpt2r4gbVE1m93xAmKkTkn1ubmr9XxAqqJrN7viAqiaze74gYiRK3ZTb9XxA2qJrN7viBipErblNv1fEDaoms3u+IHXYQo\/m\/P1ub0Dvq7N4Hl5OCkCUhwkdaspebZfYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHPwKgOgSs7Ca9FRsxeqf5UMNPSVRNZvd8QMVIlbcpt+r4gbVE1m93xAVRNZvd8QMakSrObev1fEDaoms3u+IGVRLSZTbtXxA2qJrN7viBq56bgKAiL0L+yoFgAJbe7eBQHlsJvpLQvaf+gHbgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA89hz8zQvx2\/lcB7MABLb3bwKAl17d4FAAJZmN3AUBK56bgKAiL0L+yoFgAPGYGfwc5\/ML7EA9CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADpKB+nFKfhJ\/aB60CIvQv7KgWAAlt7t4FAS69u8CgAEtu9KgUBK56bgKA8fRn0xpjegHfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6Vf8AiDJfyq\/3geqbd6VAoCVz03AUBEXoX9lQLAAS2928CgJde3eBQHXYQ\/R6f\/Ad7APMM6Nu42yoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHbYI5k\/wDzH9jTNV6Aipde3eBQACW3elQKAlc9NwFARaS0l92gDbSbeAExXJyT781eoCrSbeAC0m3gBiOStb79AG2k28APMYSrXhNQvad+gHbgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA89hz8zQvx2\/lcB7G0m3gAtJt4AYjkrW+\/QBtpNvADFclaX36ANtJt4ALSbeAGNcllL7tAG2k28AMtJaS+7QBtpNvACYrk5J9+avUBVpNvABaTbwA8dgZ\/Bzn8wvsQD0IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjoJasOKU\/CT+0D1lpNvACYrk5J9+avUBVpNvABaTbwAxHJWt9+gDbSbeAGK5K0vv0AbaTbwAWk28AMa5Kuu9eoDbSbeAGWktJfdoA20m3gB4+jnNbhdTL3ORrUxqq4qgKjYXUXDfZakeL\/mYxKv6qgHz55Ub9hNd1vxAdtK0nKzMsyO2JZa9K0R96DAmqTlZaWfHdEtNYlaoy9Rg6nnlRv2E13W\/EA55Ub9hNd1vxAOeVG\/YTXdb8QHcQKRlY8vDjNiIiPajkR16VjBM3SkrKSr47n22sTG1l6jB1PPKjfsJrut+IBzyo37Ca7rfiAc8qN+wmu634gO5hUhKxYLIiRERHtRyIt6VjB852lpSTlHzD3q9rKsll61rUMHVc8qN+wmu634gHPKjfsJrut+IBzyo37Ca7rfiA7ts7LOajuVbjQuDjz9MScjLLHe5z21olUPGv8AUg6znlRv2E13W\/EA55Ub9hNd1vxAOeVG\/YTXdb8QHd+WS32zS4ONSFMychLctEc6IlqzVDqVf6kHW88qN+wmu634gHPKjfsJrut+IDW4Y0crkTkZrH\/lb8QHdeWS32zS4OLSNOSdHwWxIiviI51mqGiKv9VIOu55Ub9hNd1vxAcaUpqTnMM5ObRzoUJISwv2qVZWVo3oB7prkq6716gNtJt4AZaS0l92gDbSbeAExXJyT781eoCrSbeAC0m3gBiOStb79AG2k28AMVyVpffoA20m3gB12ELk5vz9\/QO6tgHkqMiOiUfCe91pypjX0m4jlBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAObgHFdEo+cfEVXOWYxrV\/lQw09PaTbwAxXJWl9+gDbSbeAC0m3gBjXJV13r1AbaTbwAy0lpL7tAG2k28AC56bgKAiL0L+yoFgAJbe7eBQHlsJvpLQvaf+gHbgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA89hz8zQvx2\/lcB7MABLb3bwKAl17d4FAAJZmN3AUBK56bgKAiL0L+yoFgAPGYGfwc5\/ML7EA9CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADpKB+nFKfhJ\/aB60CIvQv7KgWAAlt7t4FAS69u8CgAEtu9KgUBK56bgKA\/MafiPZS9LMa5USLHax27Gv6AdpAgw4EJIcNqNamg2j6BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcGmILIlHxHOalpiVtXQSq9pQUV0ag5KI7OdBbWu2oyrsAJXPTcBQERehf2VAsABLb3bwKAl17d4FAddhD9Hp\/8B3sA8dRHzXA3L7TURzCoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABzP8Pvmyb\/mF\/Khhp6oCXXt3gUAAlt3pUCgJXPTcBQErnpuAoCIvQv7KgWAAlt7t4FAeWwm+ktC9p\/6AduAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADz2HPzNC\/Hb+VwHswAEtvdvAoCXXt3gUAAlmY3cBQErnpuAoCIvQv7KgWAA8ZgZ\/Bzn8wvsQD0IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOkoH6cUp+En9oHrQIi9C\/sqBYACW3u3gUBLr27wKAAS270qBQErnpuAoD8vwi+e6Q\/mWexwHdG2QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLSnzbH7IqvXYN\/R2Q\/BaYV2QErnpuAoCIvQv7KgWAAlt7t4FAS69u8CgOuwh+j0\/+A72AeOoj5rgbl9pqI5hUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5n+H3zZN\/zC\/lQw09UBLr27wKAAS270qBQErnpuAoCLKWkvu0gbZTbxAmK1OSffmr1gVZTbxAWU28QMRqVrffpA2ym3iB5jCVKsJqF7Tv0A7cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHnsOfmaF+O38rgPY2U28QFlNvEDEala336QNspt4gYrUrS+\/SBtlNvEBZTbxAxrUspfdpA2ym3iBllLSX3aQNspt4gTFanJPvzV6wKspt4gLKbeIHjsDP4Oc\/mF9iAehAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0dBJXhxSn4Sf2gesspt4gTFanJPvzV6wKspt4gLKbeIGI1K1vv0gbZTbxAxWpWl9+kDbKbeICym3iBjWpV13r1gbZTbxAyylpL7tIG2U28QPBRpKDO4Q0wyNaqhuR6VL1\/\/ABRByTbIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAExILJhiwYldh+JQPXyctDlJSHLwrSQ4SWW1r1IYafeym3iBllLSX3aQNspt4gTFanJPvzV6wKspt4gLKbeIGI1K1vv0gbZTbxAxWpWl9+kDbKbeIHXYQtTm\/P39A7r2AeTo6E6DIQob0qciYzcRyQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHOwFguhSM5DfickxjqX\/ACoYaemspt4gYrUrS+\/SBtlNvEBZTbxAxrUq6716wNspt4gZZS0l92kDbKbeIBc9NwFARF6F\/ZUCwAEtvdvAoDy2E30loXtP\/QDtwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeew5+ZoX47fyuA9mAAlt7t4FAS69u8CgAEszG7gKAlc9NwFARF6F\/ZUCwAHjMDP4Oc\/mF9iAehAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0lA\/TilPwk\/tA9aBEXoX9lQLAAS2928CgJde3eBQACW3elQKAlc9NwFAeIg\/SSnd36lg00yAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABrOkbvA9m270qYaUBK56bgKAiL0L+yoFgAJbe7eBQEuvbvAoDrsIfo9P\/gO9gHmGdG3cbZUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADtsEcyf\/mP7Gmar0BFS69u8CgAEtu9KgUBK56bgKAjKtJiS7SBuVoTiBMW1yT8SZq9YFZWhOIDK0JxAxLVbsSX6QNytCcQPMYSqvOaha9Z36AduAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADz2HPzNC\/Hb+VwHscrQnEBlaE4gYlqt2JL9IG5WhOIGLarbiS\/SBuVoTiAytCcQMbaspiS7SBuVoTiBmVaTEl2kDcrQnECYtrkn4kzV6wKytCcQGVoTiB+bUNTMaj2TMvLyax4r4qvrtYkQDsucFLfdcPvlwcuj6cmosVzZ2S5JlnJVjq8Yw1z\/lWBqROCe8YmusnKdn4c09srINiQUqsvc6pVxDFfDnBS33XD74wOcFLfdcPvjBzKOpuaivek7J8i1EyVY6utRhrnfKsDUicE94xNdVM09SLJl7Zej2vhIuS5zqlVBivlzgpb7rh98YHOClvuuH3xg5tHU1MReU8ulORqqsWFrrvr\/QYa5vyrA1InBPeMTXUzFPUk2YiNg0cx8NHLZcrqlVBivnzgpb7rh98YHOClvuuH3xg51HU1Gitf5bKLBVFSzYWusYa5nyrA1InBPeMTXUx6fpNseI2FRrHQ0cqNcr8ap1DFfPnBS33XD74wOcFLfdcPvjB2FH0zFiwXLOyqwX2sSMWutBhrlfKsDUicE94xNdO\/CClUiORlGsVteJVf1DFTzgpb7rh98YHOClvuuH3xg7Cj6ZiRYDnTkssKJaqRrMaVDE1yvlWBqROCe8Ya6ZcIKWrWqjIap2xis5xUozKfRTXNS9GvxkwXgjNpPYUz802GrOUg12XLdjaB7TK0JxAmLa5J+JM1esCsrQnEBlaE4gYlqt2JL9IG5WhOIGLarbiS\/SBuVoTiAytCcQMbaquS9esDcrQnEDMq0mJLtIG5WhOIH5nT0SJDpykVY9zFWYai2VqrSpQO4NsgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcakXOZR8ZzHK1yNxKiiq9bQD4kSgZJ73K9zoTVVzlrVTCuwytCcQMyrSYku0gblaE4gTFtck\/EmavWBWVoTiAytCcQMS1W7El+kDcrQnEDFtVtxJfpA3K0JxA67CG1zen8SdA7r2AeUkYyzElCiqiIrkuNxlyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc\/AeM6PKTsWyiK6Yur\/AMqGGnpcrQnEDFtVtxJfpA3K0JxAZWhOIGNtVXJevWBuVoTiBmVaTEl2kDcrQnEAuem4CgIi9C\/sqBYACW3u3gUB5bCb6S0L2n\/oB24AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPPYc\/M0L8dv5XAezAAS2928CgJde3eBQACWZjdwFASuem4CgIi9C\/sqBYAD82oNEszLutYqoaiV2ZUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYINRuFVIIn2Vf8AVpmtPbEERehf2VAsABLb3bwKAl17d4FAAJbd6VAoCVz03AUB+X4RfPdIfzLPY4DujbIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHFpT5tj9kVXrsG\/o7IfgtMK7ICVz03AUBEXoX9lQLAAS2928CgJde3eBQHXYQ\/R6f\/Ad7APHUR81wNy+01EcwqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcz\/D75sm\/wCYX8qGGnqgJde3eBQACW3elQKAlc9NwFARabaTKS4DbTdZOIExXNWE\/GmaoFWm6ycQFpusnEDEc2tcaXgbabrJxA8xhKqLhNQtS15Tv0A7cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHnsOfmaF+O38rgPY2m6ycQFpusnEDEc2tcaXgbabrJxAxXNrTGl4G2m6ycQFpusnEDGuajUxpcBtpusnEDLTbSZSXAbabrJxAmK5qwn40zVAq03WTiAtN1k4gfnFCdHMfiqaiV2ZUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3BJUTCqfrX\/k\/q0zWns7TdZOJBMVzVhPxpmqBVpusnEBabrJxAxHNrXGl4G2m6ycQMVza0xpeBtpusnEBabrJxAxrm1XpeoG2m6ycQMtNtJlJcBtpusnED8xwh+e6Q\/mWexwHdG2QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLSnzbH7IqvW4OORMHpCtU6FphXY2m6ycQMtNtJlJcBtpusnECYrmrCfjTNUCrTdZOIC03WTiBiObWuNLwNtN1k4gYrm1pjS8DbTdZOIHXYQubzen8adA72AeQoj5rgbl9pqI5hUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5f+H6olGTdaon7wv5UMNPU2m6ycQMVza0xpeBtpusnEBabrJxAxrm1XpeoG2m6ycQMtNtJlJcBtpusnEAuem4CgIi9C\/sqBYACW3u3gUB5bCb6S0L2n\/oB24AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPPYc\/M0L8dv5XAezAAS2928CgJde3eBQACWZjdwFASuem4CgIi9C\/sqBYAD8\/o5rWyiK1qIrnOVakvxqaiOUVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOTg41rcI4ytaiK6VrWpL8pDNWPWkVEXoX9lQLAAS2928CgJde3eBQACW3elQKAlc9NwFAfm1KyUadp6lGQEaqw4zYjq1qxY\/eB2ZtkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD4zkF8xKRIMOq29KkrCvXUNLxJWiJWWjIiRIUNGORFrxoYVzgJXPTcBQERehf2VAsABLb3bwKAl17d4FAddhD9Hp\/8B3sA8fRSKlGwUVFRal9pqI5ZUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5n+H6KlGziKiovlC39lDDT1QEuvbvAoABLbvSoFASuem4CgJXPTcBQERehf2VAsABLb3bwKA8thN9JaF7T\/0A7cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHnsOfmaF+O38rgPZgAJbe7eBQEuvbvAoABLMxu4CgJXPTcBQERehf2VAsAB4CjlRZNtSotTnfmU1EckqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcrBxUXCOLUqLVK\/wByGasesIqIvQv7KgWAAlt7t4FAS69u8CgAEtu9KgUBK56bgKA8RB+klO7v1LBppkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADWdI3eB7Nt3pUw0oCVz03AUBEXoX9lQLAAS2928CgJde3eBQHXYQ\/R6f\/AAHewDzDOjbuNsqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB22COZP\/wAx\/Y0zVegIqXXt3gUAAlt3pUCgJXPTcBQHzqiWkym3aviBtUTWb3fECYqROSfW5uav1fECqoms3u+ICqJrN7viBiJErdlNv1fEDaoms3u+IHk8LY7ZWnKJjx3JYh23LUm4D587pRccOTmnN6nWUx\/1Ac7ZfzGb7qAdx8oSv2v+lS4a489TUtJwOVRsSNlVWYbcf9Rg6\/nbL+YzfdQgc7ZfzGb7qAamFkuqonkU0n\/agHb\/AChK\/a\/6VLhrjT9Ny0nAbERsSNW6zZhtx78ZMHA52y\/mM33UAc7ZfzGb7qAazCyXe9rfIppK1qrVqAdv8oSv2v8ApUuGuLSFOSslDa5GRY1paqobbuJMHB52y\/mM33UAc7ZfzGb7qAXBwpl4seHD8jmmW3I205qVJX1gdr8oSv2v+lS4a4lIU7LSTWKkOLGt19G27iTBwudsv5jN91AHO2X8xm+6gFwMKZeNHZC8kmWW3IlpzcSAdr8oSv2v+lS4a4dIU9LSXJ1Q4se3X0bbqt5MHD52y\/mM33UAc7ZfzGb7qAfWVwnlpiZZBWVmYdr6724kA7P5Qlftf9Klw1wqQwglpJ7GpBjR7SV1w23cSYOJztl\/MZvuoB1eEdOytKUYyDDZFhxWRkcrYjeqp3vA\/RKoms3u+ICqJrN7viBiJErdlNv1fEDaoms3u+IGKkStuU2\/V8QNqiaze74gKoms3u+IGNSJZTKbdq+IG1RNZvd8QMqiWkym3aviBtUTWb3fECYqROSfW5uav1fECqoms3u+ICqJrN7viB+c0J0cx+KpqJXZlQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgna51T9lUT9j1ptaZrT2dUTWb3fEgmKkTkn1ubmr9XxAqqJrN7viAqiaze74gYiRK3ZTb9XxA2qJrN7viBipErblNv1fEDaoms3u+ICqJrN7viBjUiVZzb1+r4gbVE1m93xAyqJaTKbdq+IG1RNZvd8QPz2en3UfT9LP5NHrFithrjqqrx1\/0A55tkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD5TMfyaXfHRtqwldVd4HrqMmYk7RsvNKjWcsxH2aq6qzDTlVRNZvd8QMqiWkym3aviBtUTWb3fECYqROSfW5uav1fECqoms3u+ICqJrN7viBiJErdlNv1fEDaoms3u+IGKkStuU2\/V8QNqiaze74gddhCj+b8\/W5vQO+rs3geYlorY0syIyuy5DbL6gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7HA2Jy8vPRITksrH60\/ytMVp6KqJrN7viBipErblNv1fEDaoms3u+ICqJrN7viBjUiVZzb1+r4gbVE1m93xAyqJaTKbdq+IG1RNZvd8QNXPTcBQERehf2VAsABLb3bwKA8bhxDbFpWi2OStq2q09KCD5IiIlSYkNstAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADqcIobfJYcSrKR9mvZUpKsfphlQCW3u3gUBLr27wKAASzMbuAoCVz03AUBEXoX9lQLAAfm1CdHMfiqaiV2ZUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3BH6Vz\/AOD+rTNae1IIi9C\/sqBYACW3u3gUBLr27wKAAS270qBQErnpuAoD8vwi+e6Q\/mWexwHdG2QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLSnzbH7IqvXYN\/R2Q\/BaYV2QErnpuAoCIvQv7KgWAAlt7t4FAS69u8CgOuwh+j0\/wDgO9gHjqI+a4G5faaiOYVAAAAAAAADHqqMcrW2nImJNIHWyk7OzVIRIDpeHLsgWViI51ty2q6qqsRAk6QnpyVZMQpGFYfdamMf5QORR046dl3RHQkhua9zFajrVy6Sj4Q6ViRmW4NHTL2WlRHIrcdS1aSaJl5+fRi8vRsdzrS1WVbdXi69AHNlo740Nzosu+BUt0RU\/QquNCnXvdPpbZ+xdVD7qKRHylaUjTEnBWBKRY8ZzGq51mxDtVY8a\/pWNHZQ1csNtuyj6spGrWiKUfCfm0lYSI1vKR4mTChJe9fcB8pObjNjrKT1hsxnMczE2ImzamgDngAAAAAAAAAADmf4ffNk3\/ML+VDDT1QEuvbvAoABLbvSoFASuem4CgItJaS+7QBtpNvACYrk5J9+avUBVpNvABaTbwAxHJWt9+gDbSbeAHkcM1rpmiv+\/wDQsHxNMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXhD\/AADPxE9ikqx+kWk28DKlpNvADEcla336ANtJt4AYrkrS+\/QBtpNvABaTbwAxrkspfdoA20m3gBlpLSX3aANtJt4ATFcnJPvzV6gKtJt4ALSbeAH5xQnRzH4qmoldmVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGCS1YVT\/AOD+rTNae0tJt4EExXJyT781eoCrSbeAC0m3gBiOStb79AG2k28AMVyVpffoA20m3gAtJt4AY1yVdd69QG2k28AMtJaS+7QBtpNvAD8xwh+e6Q\/mWexwHdG2QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLSnzbH7IqvW4OKiYPSF\/Qt6jCuxtJt4AZaS0l92gDbSbeAExXJyT781eoCrSbeAC0m3gBiOStb79AG2k28AMVyVpffoA20m3gB12ELk5vz9\/QO6tgHkKI+a4G5faaiOYVAAAAAAAACIsPlIToauc20lVbFqVNygeXkFhpTkZzo81yD3I2G\/lXZbm11Iumup1RFfaFyEu2FLS0emFrrSGxrEbX1rnNQDuKIl1l5KyrIrHOe56pFc1zsa7MRUdbKRKPWjITJp6W2uiK1LTm3vdo3EVwWRpObjpAdXKNh44kRsV7rexuzeB6aFElpuWVWOZGgrkrXjTcpR0sl8npPzsOHAYq21sxIUJFSG2xjyurrINl5yLBlYUGDSUB0NjUa1yyr61RLusDnUaxVkY8SXmmxo8Z7nLFcxUbauqq0JUEcFfJoMysVKbhNmqrMR72tcu5NVNgUivlZmy2bpyBFhotdSNaxUXSipcB20hDjQ4NUSa8oYuOG9W1LZ2r1lRygAAAAAAAAADl\/wCH61UZN3\/xC9X+VDDT1NpNvADFclaX36ANtJt4ALSbeAGNclXXevUBtpNvADLSWkvu0AbaTbwALnpuAoCIvQv7KgWAAlt7t4FAeWwqhNi0vIK6vIhxHpVprb7yxK4RpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODTEJsWjnq6vIy03kqv0QyoBLb3bwKAl17d4FAAJZmN3AUBK56bgKAiL0L+yoFgAPzuiYPJy732q+Ue527qNRK5xUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+2C8Hk8J5p6ur5SXtbspEM1qPYEERehf2VAsABLb3bwKAl17d4FAAJbd6VAoCVz03AUB+X4RfPdIfzLPY4DujbIAAAAAAAAAAfNkeC+K6E2Kx0Ruc1HY0A+gACIsRkGE6JEcjWMStyr1IBSKipWlygFVEStbkA+XlMBYMOLyjbEVURjtZVuCvqqol6hGgfOPHhS8JYkaI2GxPrOWpALRUVEVFrRQNAAAAAAAAAAOLSnzbH7IqvXYN\/R2Q\/BaYV2QErnpuAoCIvQv7KgWAAlt7t4FAS69u8CgOuwh+j0\/8AgO9gHjqI+a4G5faaiOYVAAAAAAAAD5TMJY8tEgpEcy21W2m3oB1sCFDbOT0vCckJsGHBsvqRbGJceMiuHMq75Sk\/\/Gmvz8uzDyMX6gdrAjeTyUaYiTyTTGIrrdTUqqS7JKNoeGsCh5dsTEti06vqrx\/qIPhLI6LO0qkGKjXOcxGvRK6l5NCDlwpOXgUf5K5qOhI2p1r62lVKjgSSQmw6VbBRiQ0etlGXdGhFcCj51sOj4DPlyHCqYicmsFFs7AOywbW1Rz3W7dcd626s7HeILp6Gz5FmnWG12L6hRNKOhQqIezkXOfFguYzk4aux2dgHOkmOhyMBjkqc2G1FT0FH2CAAAAAAAAADmf4ffNk3\/ML+VDDT1QEuvbvAoABLbvSoFASuem4CgJXPTcBQERehf2VAsABLb3bwKA81hN87Sn4ET8zSxK640gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHFpT5tj9kVX6AYUAlt7t4FAS69u8CgAEszG7gKAlc9NwFARF6F\/ZUCwAHgKP\/AINu935lNRHJKgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHLwd+kcT+V\/vQzVj1ZFRF6F\/ZUCwAEtvdvAoCXXt3gUAAlt3pUCgJXPTcBQHh4SIuElOVoi4iwUaZAAAAAAAAAHDpRIbpZGxpWNMMV2bCvT+qAeelXJHwVfLwJGM5yurV7WIqP\/aItWLGuL2E\/FcmehyESSjMl6HmGxnMVGL5K5Kl4AdjSSvhYORFarmPbBS7EqXD8HHmqOa1zofks1FhLitLNqiOr2KoHygwYTp9sm6XnGuqrcrZpXIxNtS4gO2mGRoMmkOVax9ltS8rEW6rTUtal\/B0qujpg5JOiqyFDY+CrYjFtK1K85UVPeT8HIWLQ8H94jTzZuNDS01YkW3UuxqYgOwWfhwZGFMTSck6I1P2d7rS\/VROtSo63y2WmJzlKSdyaQsUOWc1Vs\/5nYr\/AGEVspSMOTV0OE58xIsue1q2oKaF0t2gd1Biw48JsWE5HMelbXJ1lRYAAAAAAAADWIivai6QPZMREbUmJDDSwJXPTcBQERehf2VAsABLb3bwKAl17d4FAddhD9Hp\/wDAd7APLwGNhwWNY1GtRLkNosIAAAAAAAAAPmkCCkSLE5NtqKiI9daoD5+QyfmkD1aAW2XgNhOhNgw2w3ZzEalS+gC3sbEY6G9qOa5KlaqYlQCJeXgSzLECEyG2uupjagPo5rXsVrmo5rkqVFTEoHzhy8CFCWFCgsZDde1jURAKhQ2QYTYcNqNYxKmonUgCFChwWq2GxrEVVctSdagI0KHHhOhRWo5jkqc1esCkRESpLkA0AAAAAAAAAAAdpgcxkODPtY1GtSYuTstMVXogqXXt3gUAAlt3pUCgJXPTcBQEWUtJfdpA2ym3iBMVqck+\/NXrAqym3iAspt4gYjUrW+\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\/sqBYACW3u3gUBLr27wKA67CH6PT\/AOA72AeOoj5rgbl9pqI5hUAAAAAAAAOowk\/hpRFzVmoaO3YyVXLphGrQ85au5F3sLR1j4L20LJUnCVGzErAa7HitsqxtUg+1E\/8Aic06lomalcOBDrzE61XaoG4ToiUTiRE\/at9opH3whVyUFNWb7P6oKOXJo1JGAiVWeTbVwKjy8nWshRLL4aTq2eOL9TKu9whRq0FNWrrP6oWjhyKufhFCWJelHtX\/AFIB9qcxTlFq3P8AKUT0dYoygccxSarf5W9BAZiwwiInXKY+8g\/R3BUAAAAAAAAAHM\/w++bJv+YX8qGGnqgJde3eBQACW3elQKAlc9NwFARlWkxJdpA3K0JxAmLa5J+JM1esCsrQnEBlaE4gYlqt2JL9IG5WhOIHkcM1X5Zoqv8Az\/oWD4mmQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOrwh\/gGfiJ7FJVj9IytCcTKmVoTiBiWq3Ykv0gblaE4gYtqtuJL9IG5WhOIDK0JxAxtqymJLtIG5WhOIGZVpMSXaQNytCcQJi2uSfiTNXrArK0JxAZWhOIH5xQnRzH4qmoldmVAAAAAAAADHKjUVVWpEvA82nlEzS\/ylBWp3J24THrUiw0ciY9+NeBFfacpGKx8Pk6Yk7L4qM\/ZtaqsavXjVbgOyo6JBVrmw6QScfXacttrqu7chUcWRWatzrpZICos0+vlFXqRqdW4iuGkpPLTHIudCexjOXSFEiPcxFVVSvT1AdrRk5GnIMWJEhssterWOhrWj6utKyo4Ms+dmacjPRqSqcnDVzXoj3K2t3oSvGRXGhchOW4z4VEw3K9yKkRuViW9cYHYULEZESal2wpZrIT0bXAbkvrQRCZhRoEN0OFRsm+WhJW1HO2aLIV8ZRJiPAhTEKiZBEeiPatqpU\/0gc2iokOblWT6QGQ4sZuUqX4lXrKjnAAAAAAAAAAG4JV86p+r7H9Wma09nlaE4kExbXJPxJmr1gVlaE4gMrQnEDEtVuxJfpA3K0JxAxbVbcSX6QNytCcQGVoTiBjbVVyXr1gblaE4gZlWkxJdpA3K0JxA\/McIfnukP5lnscB3RtkAAAAAAAAAAMVURK1WpACKipWioqAaAAy021ZtJa0VgADXNcmS5F3AFVGpW5URNoBFRUrRa0AOc1uc5E3qBoAAAAAAAAAAA4tKfNsfsiq9bg5a5vSNSJ0LeswrscrQnEDMq0mJLtIG5WhOIExbXJPxJmr1gVlaE4gMrQnEDEtVuxJfpA3K0JxAxbVbcSX6QNytCcQOuwhtc3p\/EnQO69gHkKI+a4G5faaiOYVAAAAAAAADiUpJeXyL4Fqw\/E5jtVyXAcCYh0xPy\/kcaDAgMfiiRmvtVpsQivvOSESZfLyiIjZCEiLEx431XN3BFQpONKUs6LLI3yWOlcWHXVYdrIBw6XgUtPQ3S7ZaAkJIlpr+UxqiLiFVzoTJuclo8CkIEOE17bKcm+1XXXX+gRxGMpqDKJIshQHWW2GzNuqpvZ0j+q+sWh6qHgSkCIjYsu5IkN666Y\/eMR8pmBSlJw2yszBgy8C0ixXtiWleidSaArkT8nH8sgT0kjFjQmqx0N61I9ugI+cKVnZykYM1PQ4cGHL18nCa60quXrVQo+WnpGfjzEjChx4UxU58JzrCtdpRQPrRsnHZNx56cscvGqajGLWjGp1BHYlAAAAAAAAABy\/8P1X5Mm6kT+IXr\/yoYaepytCcQMW1W3El+kDcrQnEBlaE4gY21Vcl69YG5WhOIGZVpMSXaQNytCcQC56bgKAiL0L+yoFgAJbe7eBQHkMMmudTNF2WqtlHqtSXJiLB8DTIAAAAAAAAAAfOFHhRlckKKx9hanWXV1KB9AAERYsOCxHRHI1qqja10rcBYERYjIMJ0SI5GsYlblXqQAsaG18NjnojomYmtirAqtK6q7wNA+UaYgy9jlorGW3WW2lqrUD6gAAAAAAAAAADrMIGudINstVbMRFWpLkqUlWP0kyoBLb3bwKAl17d4FAAJZmN3AUBK56bgKAiL0L+yoFgAPzehUVIcxWipXFU1ErsioAAAAAAAAAOAsKJ8uNekP9gksrK+qu0mLgP0\/HCnIM3HWFYoiG3k4rXr+0ZlInURXYSaxaojnyDJdyJk2XtW3wKFFS8SWkGtjJ+2erokTtOWsI+Mo2PHpSLNRpV0BnIthI17kVXLWqrdvIfjsGMbDYjIbWtY1KkaiVIhRwZFky+kpiajy6wGvY1jUV6OValXRvIOBIyE6yA5FkZF1b3LXHrtZy7FCuZQ8tHl404saDDhW4iK1Iebd1CI58y1XS0VrUrVWKiJ6Cq4cnBmodCy0KE5sKOyG1F5RtqrERP196OlfIZCFLWrfJtqtVXlHJAAAAAAAAAAKwSRUwrn60VK4P6tM1p7QgiL0L+yoFgAJbe7eBQEuvbvAoABLbvSoFASuem4CgPy\/CL57pD+ZZ7HAd0bZAAAAAAAAAADpYsJtJ4QRZeYrfLykNq8nXiVzutfQRWNgsoun5eFLIrJebY5HQ68lHNSutAOZLUm2J5S2ZYkvEll\/aNV1eTrJsKjiTlKx1oB02yCsB8Z1iDW6taludsJquKstQVTZds2jJpFT94Ry2rXWtq4fwculGrN0nJUa97lguasSLUtVuq5OIHzn5WDRMzKTcmzkkdGbCitauS5qgU2BDpWm5tJpLcCVsshw1XJrVMagbLsbRdPeSwa2yseEsRGV4muS+r0AfOiJGXpSTWfnofLRY7nKlpVyGotSIgHIoJ7ob5yRc9z0lotTFcuOytyCI7YoAAAAAAAAAOLSnzbH7IqvXYN\/R2Q\/BaYV2QErnpuAoCIvQv7KgWAAlt7t4FAS69u8CgOuwh+j0\/wDgO9gHjqI+a4G5faaiOYVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOZ\/h982Tf8AML+VDDT1QEuvbvAoABLbvSoFASuem4CgItNtJlJcBtpusnECYrmrCfjTNUCrTdZOIC03WTiBiObWuNLwNtN1k4gebwlVFpaUqWv9hE\/M0sSuvNIAAAAAAAAAOqwgSCsm7lpWPGsscqOh5rMX1saEo62tsxQ1HMbR8dYUKJDdEqhVo9LK2lxXhVzsKTiQWtk6Jjw4vKNVHeTObUlpK8YHaU1WstAYjntR8xDY6w6paldjFRwo1HpbViyc09trJVZzOquWpVCpk4EGZnIkusGcZyaZT\/KnOai6K0W8Dm07y7aKjthMhuh8k62r3KjkxdWLGKOJPvjN+TnzUVkrU9ycrDdaRqWP8yXgHTFFyaOmIMds5OJkstRbbnKuKpNHoA7ObnoUo1qPtOivzIUNK3OXYVHUMmZCZfEi0nFasV7VhpBRrlbCbouv2kV9pOlmy7FZGe+NKtWyyaRq4tj9u0aO6aqOajmrWi3KVGgAAAAAAAAOLSnzbH7IqvfWm6ycTClpusnEDEc2tcaXgbabrJxAxXNrTGl4G2m6ycQFpusnEDGuajUxpcBtpusnEDLTbSZSXAbabrJxAmK5qwn40zVAq03WTiAtN1k4geCo\/wDg273fmU1EckqAAAAAAAAAABiOarrKORV0VgaAAhYkNFqV7U9IFNc12a5F3ALTbVm0leisDQMRzVWpHIqptALiStQDXNclbVRdwGgAAAAAAAAAADl4OqiYRRK1\/wDK\/wB6GaseptN1k4kVMVzVhPxpmqBVpusnEBabrJxAxHNrXGl4G2m6ycQMVza0xpeBtpusnEBabrJxAxrm1XpeoG2m6ycQMtNtJlJcBtpusnEDwE1Iw6QwgpdsR7mpDekRLPWqYv1A5ZtkAAAAAAAAAAOnhObK4UTSRXI1JqE1zFXrVuKon6rJp7ZrCaShw3I7yZj3xKvq1pUg\/Rw6XhvpSeiPlIaPbJtqiL9staLyf9BRyKafDpLBnyiXS01tl9lL0qvT0C+h9aYiyL8HIitdCWErP2SJp6qhR8FtStIURMzK2UdL8jEc\/wCq6zXjA+1PPbMRZGShuR0R8dr1ROpqXqKNkHNlsIKQgRXI1Y1mLDrXOSrGBLlbOYTpybrTJaAqPclyOd1D9FYNxWQqK8liOayLLPcyI1VuylX9RAoL9tN0jOtxw40Wyx2sjev+og7gqAAAAAAAAACI0BszCdBcqo1+JVQD18hLw5KRgyrHq5kJthFcuNajDTkWm6ycQMtNtJlJcBtpusnECYrmrCfjTNUCrTdZOIC03WTiBiObWuNLwNtN1k4gYrm1pjS8DbTdZOIHXYQubzen8adA72AeWk4KS8rDhNVVRqdZtl9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdjgVDbLS09CR2JsxevZaYaejtN1k4gYrm1pjS8DbTdZOIC03WTiBjXNqvS9QNtN1k4gZabaTKS4DbTdZOIBc9NwFARF6F\/ZUCwAEtvdvAoDy+FMRkOl5FHLVbhRGt2rW0sSuCaQAAAAAAAAAdZTfKRoKSbGusva58R\/UjW9XpWpCUcKAiSUjChPno0CHEa2JDSFCV6pWmUly4q8YV8pKZknviPm5ucirDjLydrlKqkuWpqVVgdnS7rcOSRq58zDqxen9BUfClpKafR8aJFnGP5FjojaoNSoqJXiWvEFfKXZNyMKSlZaYY90Wp1hYNVTb3OVawOXhAsz8mR2wWQ+T5N3KOe5a0TYgqOLORI0hBlGPnn2Y7\/ANpEexHVZPUlQV8I9IJBa10vSSRYltrbHk6NrRVx46gO+mGRXQ64DobIvU97bVRR1rotKtpGHJ+US1b4axLXJL1L2iD6JGnoNJystMxYEWHHa+uxDVtVlN+0I7QoAAAAAAAAAOFS8VkOjoqOWq3kt2qSq\/QzKgEtvdvAoCXXt3gUAAlmY3cBQErnpuAoCIvQv7KgWAA\/PqMiMfK2WrWrHOR2xazUZrllAAAAAAAAAB1mEEeJBo9sOC5WRI8RsJHJelZKONSNDykrRkSNKMWFMS7bbYrXZWLSMVyUpVWMkYkWDVBmmtrio7ExypcqDUfZJ\/lKVWSgwraQ22osS1UjNCbVKOhlW0O+LOxqSWHyjpqIjUc5a7PoIrtnuk6OoOYmKNRiMsq5qtdaS1cEfKWoKUi0axYrVdMxGI90dXLatLjrrGK4nl0eboKQgLEc2LMRkgRHpfZRcfpuA+9K0ZL0fR6zkjD5GPL1Oa5qrjSvGi6QKmVbSlMS0pErWWSX8ofDrxPVVxVgJiXhUTSslElG8lCmH8lFhouS6u5d4HeFQAAAAAAAAAAORg1EY\/CSO1q1qyWqdsW0hmrHriKiL0L+yoFgAJbe7eBQEuvbvAoABLbvSoFASuem4CgPEQfpJTu79SwaaZAAAAAAAAAAD4TUnLzkOxMwWxGpdaS4DJWSlpOGrJeC2G1b7N6+kC5eXgy0Lk4ENrGV11IBkGWgy6PSDDaxHutORLlUK+DKHo6HH5ZsnCR9daYsSei4YOTHgQpiEsKNDa9i3tclYR8ZSjpOScrpaXZDct69YFTcjKzrUbMwGRKrq70AqWlZeUh8nLwmw2aGpeFfGZouRm4vKx5Zj361yqEcqHDZChthw2NYxuJGtSpEAoAAAAAAAAAA1nSN3gezbd6VMNKAlc9NwFARF6F\/ZUCwAEtvdvAoCXXt3gUB12EP0en\/AMB3sA8wzo27jbKgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdtgjmT\/wDMf2NM1XoCKl17d4FAAJbd6VAoCVz03AUBK56bgKAiL0L+yoFgAJbe7eBQHkMNPnqiv+\/9CwfA0yAAAAAAAAAPlNMdElYrIee5jkbvqA4sOFPQKOlYMDkLcOG1kTlK6sSJdUFfCWlqWluVsukl5WI6Itdu9SI5ceVfGpCWjK5vJQLTrPWrlxJ\/SsqppSHNx5V8CWZCckVjmOV7lSzXiruCOVBZycFjK67DUbWBxaVgTUzKOl5bkaojVa9YiqlW6pAPnSEnMx4kksvEaxYLlVXubXVk1XdZB8Z2j6SmIKQ3TsKK221yt5Gxctd9ahXblRwny0R1MwppKuTZBcxcfWqoD8akhXSLZyJMRHqy1YYtVlld4HMAAAAAAAAAAOrwh\/gGfiJ7FJVj9KMqAS2928CgJde3eBQACWZjdwFASuem4CgIi9C\/sqBYAD82oTo5j8VTUSuzKgAAAAAAAAA6nCRjvk+HHRFVJeOyK6rQn\/8AklF0zOQG0JHe2Kx3LQ1Yypa7SuxYhRxp6qBQEvRroaRJiNDbCZDXWqxu9AVdBfucWPRseryhruU5T7Zq\/WEH3o+JRkVIyy8OGxyPVIqPbU6vaEdPBgeUwKbhybf3ZVTk0bmq5Ma2f\/mgK7qTpCW+RoU06KxGshJax3LVcEdJDgvlqEo2ciNVGsmUixNjXLf7OIV2uEMzD+Rnw4b2viTFTIbWrXarXqFHxRjaPwhlViORGRJXkGuW601QLpV7Zml6OlYbkc9kXlnon1UbpA7kqAAAAAAAAAABuCP0rn\/wf1aZrT2pBEXoX9lQLAAS2928CgJde3eBQACW3elQKAlc9NwFAfmlNTEaWp2knQYjmK+O1rlTrSpcQHam2QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPSER8KRixIbla9ra0VOoVXrqCjRJihJONGcr4j4TVc5etTCuwAlc9NwFARF6F\/ZUCwAEtvdvAoCXXt3gUB12EP0en\/wHewDyFFvdEo6C57lc5UvXeaiOUVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAObgC90Sj5xz3K5yzF69lDDT1IEuvbvAoABLbvSoFASuem4CgPnVEtJlNu1fEDaoms3u+IExUick+tzc1fq+IFVRNZvd8QFUTWb3fEDESJW7Kbfq+IG1RNZvd8QPI4ZWvlmirSoufcm4sHyNMgAAAAAAAAABjnNalblRN4BMaVoBoADK0rRK0rUAqoiVqtSAEVHJW1UVNgBzmtznIm8AAVzUdZVyIuisDQAAAAAAAAAAB1eEP8Az8RPYpKsfo9UTWb3fEypVE1m93xAxEiVuym36viBtUTWb3fEDFSJW3Kbfq+IG1RNZvd8QFUTWb3fEDGpEsplNu1fEDaoms3u+IGVRLSZTbtXxA2qJrN7viBMVInJPrc3NX6viBVUTWb3fEBVE1m93xA\/OaE6OY\/FU1ErsyoAAAAAAAAAMVEc1WuRFRcSooHDg0RR8CPy0OUhtiItaLVduGK5Cy8FZlJhYaLFRtlH9aIEIkvBiRocZ8NqxIea\/rQK+MzRcjNROUjysN79arGoHIhQocGGkOFDaxiXNalSBHEdQ9HPj8s6ThK+uu7FwuGK5j2MfDWG9rXMVKlaqYlQI4svRUhLRuWgysNr+p1V27QMV95mWgzULkpiE2IzQ5Aj5ykhKSSL5NAZDrvVL19IHJAAAAAAAAAAADBO1zqn7Kon7HrTa0zWns6oms3u+JBMVInJPrc3NX6viBVUTWb3fEBVE1m93xAxEiVuym36viBtUTWb3fEDFSJW3Kbfq+IG1RNZvd8QFUTWb3fEDGpEqzm3r9XxA2qJrN7viBlUS0mU27V8QNqiaze74gfmOENaU1SFd\/lLPY4DuzbIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHFpT5tj9kVXrMHUfzekanNq5Fv1fEwrsaoms3u+IGVRLSZTbtXxA2qJrN7viBMVInJPrc3NX6viBVUTWb3fEBVE1m93xAxEiVuym36viBtUTWb3fEDFSJW3Kbfq+IG1RNZvd8QOuwhR\/N+frc3oHfV2bwPI0R81wNy+01EcwqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcrAC18mTdlyJ+8LemxDDT1NUTWb3fEDFSJW3Kbfq+IG1RNZvd8QFUTWb3fEDGpEqzm3r9XxA2qJrN7viBlUS0mU27V8QNqiaze74gauem4CgIi9C\/sqBYACW3u3gUB5DDT56or\/v8A0LB8DTIAAAAAAAAAAdHLS8KlqUnY023lYcCJyMKGq5Lar1IqpJq0fTUxIQErhPg8vChudia6uqpFA5EKmIK0bFm4zFhPgqrYkJVxtdoGo5MOaVKP8qmoaS9Tbbmq6uyhVdJC5aNT9Gz0etqzHK2IeoxG5Ppx1kHKmYbaSwgWUj1ulpaEj1h14nOXT6AMWBDoqnJRsqliBNo5kSGi5NpExKBNHysGlpibnJxvKokZ0KExy5LWpsAmXjLRcak5VjlWFAhctBa5a7OK7dWB9KPoaUmqMhxppixY8dnKOiq5bVa4xg5GD8xEj0bZjOV8SDEdCc5b1qER2ZQAAAAAAAAAdXhD\/AM\/ET2KSrH6UZUAlt7t4FAS69u8CgAEszG7gKAlc9NwFARF6F\/ZUCwAH5tQnRzH4qmoldmVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANwR+lc\/wDg\/q0zWntSCIvQv7KgWAAlt7t4FAS69u8CgAEtu9KgUBK56bgKA\/L8IvnukP5lnscB3RtkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADi0p82x+yKr12Df0dkPwWmFdkBK56bgKAiL0L+yoFgAJbe7eBQEuvbvAoDrsIfo9P8A4DvYB46iPmuBuX2mojmFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADmf4ffNk3\/ADC\/lQw09UBLr27wKAAS270qBQErnpuAoCLSWkvu0AbaTbwAmK5OSffmr1AVaTbwAWk28AMRyVrffoA20m3gB5bCuEkamJBVVU5OG991+NvvLEriGkAAAAAAAAAADp6Ic2WpSkZWI5GvfG5ZqKucjtBFZLvbNYUR48NyOhS8BISuS61XX7x+jr5quZnolMQYKPlJeI1HN+2s11v9FYHY0pDmaQbKulWQ48p0jmq+zb0egDizsaklpmjnPk4TYreVsNSLidk48dWIDkMd5NhO90dUZ5VAbZVVxWkvaP0bPPbNYQyECG5HLAtxYlX1cWIBQL2y752TiORsWHMOdUq3tW5RBx+TWkZ6l4sFbTOR5Bjkuc6r3gc+iJ2X+Q4ER0VrUhQkY+tc1WpV+giPng0xyUa6M5FTyiK6Klehf\/8AAg7YoAAAAAAAAAOBTUFItHPVVVOTW3\/84kqv0O0m3gZUtJt4AYjkrW+\/QBtpNvADFclaX36ANtJt4ALSbeAGNcllL7tAG2k28AMtJaS+7QBtpNvACYrk5J9+avUBVpNvABaTbwA\/P6LhNhyyubXXEe5y8TUSuYVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPvg1CbCwlmHpXXElrS95DNWPW2k28CKmK5OSffmr1AVaTbwAWk28AMRyVrffoA20m3gBiuStL79AG2k28AFpNvADGuSrrvXqA20m3gBlpLSX3aANtJt4Afm9Lysecp2k2y8O2rIzXurVEqbUuneB2htkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD4T0J8eSiwobbT3tqRAr1tCQYktQ0pLxmq2JDho1zb6lMK51pNvADLSWkvu0AbaTbwAmK5OSffmr1AVaTbwAWk28AMRyVrffoA20m3gBiuStL79AG2k28AOuwhcnN+fv6B3VsA8pIQXQJGFCcqK5qdRuI5AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADn4DQnS8lOQnqiubMfV7KGGnpbSbeAGK5K0vv0AbaTbwAWk28AMa5Kuu9eoDbSbeAGWktJfdoA20m3gAXPTcBQERehf2VAsABLb3bwKA81hN87Sn4ET8zSxK640gAAAAAAAAAAcabo+UnavKYDIituVb09IFQpOXhSyy8OC1kJUqVrcVYFw4MOFBSDDY1sNqVI2rFUBkvLwpaEkKCxGMS5qXIBr4EKJGhxnMRYkKuw7VrvAmalJech8nMQWxG6HJcFTKSUrJNVstBZDRb6r1CJm6Ok5xyOmJdkRyfWW8D7QIMKXhJCgw2sYlzWpUBxotEUfGj8tElIToirWq1X70GK5iIjURrURES5ECNAAAAAAAAAAOLSnzbH7Iqv0AwoBLb3bwKAl17d4FAAJZmN3AUBK56bgKAiL0L+yoFgAPAUf8Awbd7vzKaiOSVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOXg79I4n8r\/ehmrHqyKiL0L+yoFgAJbe7eBQEuvbvAoABLbvSoFASuem4CgPEQfpJTu79SwaaZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1nSN3gezbd6VMNKAlc9NwFARF6F\/ZUCwAEtvdvAoCXXt3gUB12EP0en\/wHewDzDOjbuNsqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB22COZP\/zH9jTNV6Aipde3eBQACW3elQKAlc9NwFASuem4CgIi9C\/sqBYACW3u3gUB5LC+K+HTFGo1ake17V3VtLErjGkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA62noj4dH1NWq29Gu3VKSrH6QZUAlt7t4FAS69u8CgAEszG7gKAlc9NwFARF6F\/ZUCwAH5xQr3OhR0c5VRsVUTYaiV2JUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvBN7nYUzyOcqo2BUmzG0zWnsyCIvQv7KgWAAlt7t4FAS69u8CgAEtu9KgUBK56bgKA\/PZufZIYQ0u97HPSK9sPF1V4\/0A5htkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD5x46S0F0dWq5GY6gPY0fMtnZCDNMarWxW20Reqsw05IErnpuAoCIvQv7KgWAAlt7t4FAS69u8CgOuwh+j0\/wDgO9gHkpCM6PIworkRHOTqNxHICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc\/AWM6PJTsVyIjnTHV2UMNPTgS69u8CgAEtu9KgUBK56bgKAiylpL7tIG2U28QJitTkn35q9YFWU28QFlNvEDEala336QNspt4geRwzSqmaK\/7\/0LB8TTIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHV4Q\/wDPxE9ikqx+kWU28TKllNvEDEala336QNspt4gYrUrS+\/SBtlNvEBZTbxAxrUspfdpA2ym3iBllLSX3aQNspt4gTFanJPvzV6wKspt4gLKbeIH5xQnRzH4qmoldmVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGCSV4VT\/4P6tM1p7Sym3iQTFanJPvzV6wKspt4gLKbeIGI1K1vv0gbZTbxAxWpWl9+kDbKbeICym3iBjWpV13r1gbZTbxAyylpL7tIG2U28QPzHCH57pD+ZZ7HAd0bZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4tKfNsfsiq9bg4iLg9IX9C3rMK7Gym3iBllLSX3aQNspt4gTFanJPvzV6wKspt4gLKbeIGI1K1vv0gbZTbxAxWpWl9+kDbKbeIHXYQtTm\/P39A7r2AeQoj5rgbl9pqI5hUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5f+H6V0ZN3\/xC9f8AlQw09TZTbxAxWpWl9+kDbKbeICym3iBjWpV13r1gbZTbxAyylpL7tIG2U28QC56bgKAiL0L+yoFgAJbe7eBQHkMNPnqiv+\/9CwfA0yAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1eEP8Az8RPYpKsfpRlQCW3u3gUBLr27wKAASzMbuAoCVz03AUBEXoX9lQLAAfm1CdHMfiqaiV2ZUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3BH6Vz\/wCD+rTNae1IIi9C\/sqBYACW3u3gUBLr27wKAAS270qBQErnpuAoD8vwi+e6Q\/mWexwHdG2QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLSnzbH7IqvXYN\/R2Q\/BaYV2QErnpuAoCIvQv7KgWAAlt7t4FAS69u8CgOuwh+j0\/8AgO9gHjqI+a4G5faaiOYVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOZ\/h982Tf8wv5UMNPVAS69u8CgAEtu9KgUBK56bgKAjKtJiS7SBuVoTiBMW1yT8SZq9YFZWhOIDK0JxAxLVbsSX6QNytCcQPI4ZqvyzRVf+f8AQsHxNMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXhD\/AM\/ET2KSrH6RlaE4mVMrQnEDEtVuxJfpA3K0JxAxbVbcSX6QNytCcQGVoTiBjbVlMSXaQNytCcQMyrSYku0gblaE4gTFtck\/EmavWBWVoTiAytCcQPzuh4b2QYznJUj4iq3aaiV2BUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvBWHEZhROOVuJ8Ctq13pW0zWnscrQnEgmLa5J+JM1esCsrQnEBlaE4gYlqt2JL9IG5WhOIGLarbiS\/SBuVoTiAytCcQMbaquS9esDcrQnEDMq0mJLtIG5WhOIH5jhD890h\/Ms9jgO6NsgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcWlPm2P2RVetwctc3pGpE6FvWYV2OVoTiBmVaTEl2kDcrQnECYtrkn4kzV6wKytCcQGVoTiBiWq3Ykv0gblaE4gYtqtuJL9IG5WhOIHXYQ2ub0\/iToHdewDyVFsdDo6C17Va5EuXeaiOUVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOZgEx8Oj5xrm1OSYxovZQw09RlaE4gYtqtuJL9IG5WhOIDK0JxAxtqq5L16wNytCcQMyrSYku0gblaE4gFz03AUBEXoX9lQLAAS2928CgPNYTfO0p+BE\/M0sSuuNIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABxaU+bY\/ZFV+gGFAJbe7eBQEuvbvAoABLMxu4CgJXPTcBQERehf2VAsAB4Cj\/4Nu935lNRHJKgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHLwd+kcT+V\/vQzVj1ZFRF6F\/ZUCwAEtvdvAoCXXt3gUAAlt3pUCgJXPTcBQHhUgwo2EdNpFhMejanIj211LpEH0NsgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEY2IqMe1rmquNFStFA9jBhshQmw4bGsY3EjWpUiIYafUCVz03AUBEXoX9lQLAAS2928CgJde3eBQHXYQ\/R6f\/AAHewDzDOjbuNsqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB22COZP\/wAx\/Y0zVegIqXXt3gUAAlt3pUCgJXPTcBQEWm2kykuA203WTiBMVzVhPxpmqBVpusnEBabrJxAxHNrXGl4G2m6ycQPM4TxGNpaTrciWoUREx3raaWJXBNIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABw6We1lHRbTkS0lSbVJVfoFpusnEypabrJxAxHNrXGl4G2m6ycQMVza0xpeBtpusnEBabrJxAxrmo1MaXAbabrJxAy020mUlwG2m6ycQJiuasJ+NM1QKtN1k4gLTdZOIH57RUblZd7bNXJvc3fjrNRK5xUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+2DEdImE002qrk5ezXXflIpmrHrrTdZOJFTFc1YT8aZqgVabrJxAWm6ycQMRza1xpeBtpusnEDFc2tMaXgbabrJxAWm6ycQMa5tV6XqBtpusnEDLTbSZSXAbabrJxA8O2LDh4SU2sSI1qOqRLTqq1LB9DTIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHNY5HOcjWouNVA9jCiw4kNHsiNc12NFRa0Uw0u03WTiBlptpMpLgNtN1k4gTFc1YT8aZqgVabrJxAWm6ycQMRza1xpeBtpusnEDFc2tMaXgbabrJxA67CFzeb0\/jToHewDy0nGSYlYcVqKiOTrNsvsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADscCo7Y0tPREyUdMXL2WmGno7TdZOIGK5taY0vA203WTiAtN1k4gY1zar0vUDbTdZOIGWm2kykuA203WTiAXPTcBQERehf2VAsABLb3bwKA8hhp89UV\/wB\/6Fg+BpkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADq8If4Bn4iexSVY\/SjKgEtvdvAoCXXt3gUAAlmY3cBQErnpuAoCIvQv7KgWAA\/NqE6OY\/FU1ErsyoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABuCP0rn\/wf1aZrT2pBEXoX9lQLAAS2928CgJde3eBQACW3elQKAlc9NwFAfl+EXz3SH8yz2OA7o2yAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABxaU+bY\/ZFV67Bv6OyH4LTCuyAlc9NwFARF6F\/ZUCwAEtvdvAoCXXt3gUB12EP0en\/wHewDx1EfNcDcvtNRHMKgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHM\/w++bJv+YX8qGGnqgJde3eBQACW3elQKAlc9NwFASuem4CgIi9C\/sqBYACW3u3gUB5DDXJpeiXLcqvT8vvEHwNsgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXhBlSkKG3G50VKk04lJVj9KMqAS2928CgJde3eBQACWZjdwFASuem4CgIi9C\/sqBYAD8wouahS0eZl5h3Ju5Vc641ErsvLJXzqD6xCi4ceDFWqHGhvVOprkUD6BHyfMy8N6tfHhNcl6OeiKBPlkr51B9YgU8slfOoPrEAuHHgxVVIcVj1S+y5FA+gR8XzUuxytdMQmuS9FegGeWSvnUH1iBTyyV86g+sQC4caFGr5KKx9V9l1dQR9APi6almOVrpiE1yXor0AzyyV86g+sQKeWSvnUH1iAXCjQotfJRGPqvsurCPoB8XTcs1ytdMQkVMSor0xAZ5ZK+dQfWIFPLJXzqD6xAPpDiw4qVw4jHonW11YRYHxWclUWpZmCi9tArPLJXzqD6xAHlkr51B9YgH0hxIcVtqHEa9Lq2rWEWB8PLJXzmD30CsWdlESvymD30Gj7YERPKMIJ+ZYn7NYVWPelXsMK9wBEXoX9lQLAAS2928CgJde3eBQACW3elQKAlc9NwFAfmWF0GJKU9Mo9rrEd7YrH1XpVjT+oHbIqKlaY0NstAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADiUq5G0bGr1aiVXr8HUVuD0ijkVFSC3EvViMq7ICVz03AUBEXoX9lQLAAS2928CgJde3eBQHEpSXdN0VNSzM6LCc1u9UxAeBoqcgw5NsvHe2FFhKrXNiZPXtNSo5nlkr51B9YhR9IcWHFSuHEY9E62urCLA+Kzkqi1LMwUXtoFZ5ZK+dQfWIA8slfOoPrEA+kOJDittQ4jXpdW1awiwPh5ZK+dQfWIFPLJXzqD6xAHlkr51B9YgH1hxGRG2ob2vbpatYRtwHx8slfOoPrECnlkr51B9YgDyyV86g+sQD6siMiMtQ3te3S1a0CNVURK1xIB8fLJXzqD6xAp5ZK+dQfWIA8slfOoPrEA+rHtiMRzHNc1blRa0CNcqNarnKiImNVXqA+Plkr51B9YgU8slfOoPrEAeWSvnUH1iAfZjmvajmuRzVuVFCDnNY1XOciNS9VA+Plkr51B9YgVEWkJSHDV3lEN1XU11aqNHd4Cyz4FBOixEVqx4qvRFSrFUiJ7DCvSgS69u8CgAEtu9KgUBK56bgKA+dUS0mU27V8QNqiaze74gTFSJyT63NzV+r4gVVE1m93xAVRNZvd8QMRIlbspt+r4gbVE1m93xA6ynKHZTEmkCLEsOa60yI1uNi8cYHRLgtTbFswqUgub1K9uP2KXQ5s0995S3d\/2jTHISgaXVK+Vkf9Y1MRFwepp7KmTUnDXSiOX2oNMfLmzT1dXylLd3\/aNXDmzT33lLd3\/aNMY7BunmtVy0lLLVjqs\/7Rpjk\/INMfbSP+samIi4PU09qIyak4a13tRy+1Bpj5Jg1T2P8A8Slu7\/tGrhzZp77ylu7\/ALRpgmDVPI5K6Rllx3Wf9o0xyPkGmPtpH\/WNTERsHabeiWJuTh9lHLXxQaY+SYM08qV\/KUt3f9o1ccSjqIpukIcZ8OfgNSFFdCW029W9eaNMctuDdPNeirSEs5Ex1Wb\/APSNMcj5Bpj7aR\/1jUx8pjB6m1ZWybk4dnGtlHLXxQaYjmzT33lLd3\/aNXDmzT33lLd3\/aNMazBunUeirSEq5EXGitv\/ANI0x9\/kGmPtpH\/WNTHyjYPU29WoyblIfZRVr4oNMRzZp77ylu7\/ALRq4c2ae+8pbu\/7RpjYWDdOo5rnT8q9uqrVx\/6Rpj7\/ACDTH20j\/rGpj5RsHabe9LE7KQ8X1UVa+KDTEc2ae+8pbu\/7Rq45Ejgo+FMpOUlNpMRIeNjGtqai6SD1FUTWb3fEBVE1m93xAxEiVuym36viBtUTWb3fEDFSJW3Kbfq+IG1RNZvd8QFUTWb3fEDGpEsplNu1fEDaoms3u+IGVRLSZTbtXxA2qJrN7viBMVInJPrc3NX6viBVUTWb3fEBVE1m93xA8rTeByT83FmpWOyDFe6t7HNWy5eta+oDrOYVIedy3+r3AciTwRpiQiq+Wn5VjnpZVbNr2tA5nyLhL96SnqW\/CBwJrAulZuYdHjzsq6I6qtURUrxVdSAfFMA59f8Azct\/q9wG8wqQ87lv9XuA5ElglTMhEc6Wn5VjnpUqq21XxaBzPkXCX70lPUt+EDrZnAqlI0WJMRpyWc92U5URUr\/oBPMKkPO5b\/V7gHMKkPO5b\/V7gOTI4KU1ILE8ln5Vluq1Wy1XVvbtA5fyLhL96SnqW\/CB1sfAik48d0WLOSyviOrctSpWvADhUnglOUdLNjRJiA5HPaxEbXeq7gOXzCpDzuW\/1e4DlSOCtNyLXpK0hKsR6462Wq6t7QOV8i4S\/ekp6lvwgdbGwIpKNHfEiTksr3qrlXGmPgBPMKkPO5b\/AFe4DHYCT7Wq7yuWxJX9b3Ac2SwXp2Qhuhy1ISrGuW0qKy1j9LQOR8i4S\/ekp6lvwgdW7AWkXvc503LK5VrXO9wDmFSHnct\/q9wGLgHP4v3uW\/1e4DmyWDFOyMFYUtSEqxiutKistY\/S3YByPkXCX70lPUt+EDq+YlIOVXeVy1\/+b3AazAKeVyW5yXRvWqI5agPT0HQkOhZZYMGJbe\/G+I5ud6KwO1qiaze74gTFSJyT63NzV+r4gVVE1m93xAVRNZvd8QMRIlbspt+r4gbVE1m93xAxUiVtym36viBtUTWb3fEBVE1m93xAxqRKs5t6\/V8QNqiaze74gZVEtJlNu1fEDaoms3u+IHCpWjoNIyjoU0xj2oiqi2alatV6LXiA82mCVLS37OVpOEsJLuUZjT2jRvNmnvvKW7v+0umO0lsH3pKtbHmbUdEylRuSqjUxszg+90q9IEzZjqmSrkyUUaY6pcGqexf+JS3d\/wBo1cObNPfeUt3f9o0w5s0995S3d\/2jTHby9Afu8NI0wqxUaiPVqYld1jUxM3g+90q9JWZVsZUyVeiVINMdVzZp6ur5Slu7\/tGrhzZp77ylu7\/tGmMdg3TzWq75SlsSV5v+0aY7mFQDUhMSJMOV9lLSo3FWNTHzncHojpR7ZSasR1qsueiVJjx\/0GmOrTBqnsf\/AIlLd3\/aNXHFgUPTcekJqTbSEBHyyMVyqzEtpFVKsnYNMcpcGqexf+JS3d\/2jTHdNoCHZS1HfXVjxDUxx5\/B6M+WVJKaRkatMcRuKoaY61MGqeX\/ANSlu7\/tGrhzZp77ylu7\/tGmHNmnq6vlKW7v+0aY7v5Ahfbv4DUxxKSwfjrKqslNoyKi11vbWlQ0x1\/NmnvvKW7v+0auHNmnvvKW7v8AtGmDcGqdt5VJS1SLjyf9o0x3fyBC+3fwGpjh0lg9MuhMSQnGw32spYjcVVW4aY4HNmnvvKW7v+0auKhYHzcxGYtJUikSE1a1hw24nenEQerhQ1hw2shqxrG4kRG3JxAuqJrN7viBlUS0mU27V8QNqiaze74gTFSJyT63NzV+r4gVVE1m93xAVRNZvd8QMRIlbspt+r4gbVE1m93xAxUiVtym36viBtUTWb3fEBVE1m93xA6ycoGj6QiLEmZSC+Iq43I1Wqu9UVKwOPzRoXzNvfifEBrcFKIYtTZaqvREifEBfNeivsF9bE+MaPlEwSoZGOd5G26vpInxAbzRoXzNvfifEA5o0L5m3vxPiA1mCtEtRUbLWUr6osT4gL5r0V9gvrYnxjR8lwRoWtP3NvfifEBvNGhfM29+J8QDmjQvmbe\/E+IDWYK0S1tTZapK+qLE+IC+a9FfYL62J8Y0fLmjQtqryNvfifEB1k\/g5RkGn6KlWSzUhTHK8o20\/KstrT6wHZPwSoVrHO8jbiT7SJ8QH0bgrRLUqbLVJsixPiA3mtRS\/wDl19bE+MD5pgjQta\/ube\/E+IDeaNC+Zt78T4gMXBGha0\/c29+J8QH0bgrRLUqbL1InUkWJ8QBcFqKVKll1VF\/6sT4gPmmCNCqn8G3vxPiA3mjQvmbe\/E+IDOaNC2qvI29+J8QH0TBWiUSpJepE\/wCrE+ICYmC9Fck6uXVcS\/8ANifEBnNGhfM29+J8QFwcFqHgxLbZKEqpr2npwVwHbNa9K0RzEq\/y+IFVRNZvd8QMVIlbcpt+r4gbVE1m93xAVRNZvd8QMakSrObev1fEDaoms3u+IGVRLSZTbtXxA2qJrN7viBq56bgKAiL0L+yoFgAJbe7eBQEuvbvAoABLMxu4CgJXPTcBQERehf2VAsABLb3bwKAl17d4FAAJZmN3AdNgr\/Cz389F9oHcrnpuAoCIvQv7KgWAAlt7t4FAS69u8CgAEszG7gKAlc9NwFARF6F\/ZUCwAEtvdvAoCXXt3gUAAlmY3cBQErnpuAoCIvQv7KgWAAlt7t4FAS69u8CgAEtu9KgUBK56bgKAiL0L+yoFgAJbe7eBQEuvbvA6bC35qhfzML8wHdgS270qBQErnpuAoCIvQv7KgWAAlt7t4FAS69u8CgAEtu9KgUBK56bgKAiL0L+yoFgAJbe7eBQEuvbvAoABLbvSoFASuem4CgIi9C\/sqBYACK0S0qrUlYFIqKlaYwMde3eBQACW3elQKAlc9NwFARF6F\/ZUCwAEtvdvA6mjvpRTHZl\/yuA7Z17d4FAAJbd6VAoCVz03AUBEXoX9lQLAAS2928CgJde3eBQACW3elQKAlc9NwFARF6F\/ZUCwAEtvdvAoCXXt3gUAAlt3pUCgJXPTcBQERehf2VAsABLb3bwKAl17d4FAAJbd6VAoCVz03AdNS30qoL\/7j8iAdxF6F\/ZUCwAEtvdvAoCXXt3gUAAlt3pUCgJXPTcBQERehf2VAsABLb3bwKAl17d4FAAJbd6VAoCVz03AUBFpLSX3aANtJt4ATFcnJPvzV6gKtJt4ALSbeAGI5K1vv0AbaTbwAxXJWl9+gDbSbeAC0m3gBjXJZS+7QBtpNvADLSWkvu0AbaTbwAmK5OSffmr1AVaTbwAWk28AMRyVrffoA20m3gBiuStL79AG2k28AFpNvADGuSyl92gDpsFVTyWev\/jYvVtA7m0lpL7tAG2k28AJiuTkn35q9QFWk28AFpNvADEcla336ANtJt4AYrkrS+\/QBtpNvABaTbwAxrkspfdoA20m3gBlpLSX3aANtJt4ATFcnJPvzV6gKtJt4ALSbeAGI5K1vv0AbaTbwAxXJWl9+gDbSbeAC0m3gBjXJZS+7QBtpNvADLSWkvu0AbaTbwAmK5OSffmr1AVaTbwAWk28AMRyVrffoA20m3gBiuStL79AG2k28AFpNvADGuSrrvXqA20m3gBlpLSX3aANtJt4ATFcnJPvzV6gKtJt4ALSbeAGI5K1vv0AbaTbwAxXJWl9+gDpcLVT5KhX\/wATD6v8wHd2k28AMa5Kuu9eoDbSbeAGWktJfdoA20m3gBMVyck+\/NXqAq0m3gAtJt4AYjkrW+\/QBtpNvADFclaX36ANtJt4ALSbeAGNclXXevUBtpNvADLSWkvu0AbaTbwAmK5OSffmr1AVaTbwAWk28AMRyVrffoA20m3gBiuStL79AG2k28AFpNvADGuSrrvXqA20m3gBlpLSX3aANtJt4ATFcnJPvzV6gKtJt4ALSbeAHyjuTkYl\/ACoLk5Fl92gClclaX36ANtJt4ALSbeAGNclXXevUBtpNvADLSWkvu0AbaTbwAmK5OSffmr1AVaTbwAWk28AMRyVrffoA6mjlTnPTF+bA6v8rgO2VyVpffoA20m3gAtJt4AY1yVdd69QG2k28AMtJaS+7QBtpNvACYrk5J9+avUBVpNvABaTbwAxHJWt9+gDbSbeAGK5K0vv0AbaTbwAWk28AMa5Kuu9eoDbSbeAGWktJfdoA20m3gBMVyck+\/NXqAq0m3gAtJt4AYjkrW+\/QBtpNvADFclaX36ANtJt4ALSbeAGNclXXevUBtpNvADLSWkvu0AbaTbwAmK5OSffmr1AVaTbwAWk28AMRyVrffoA20m3gBiuStL79AG2k28AFpNvADGuSrrvXqA20m3gBlpLSX3aAOmpVU51UFf\/AOY6v8iAdxFcnJPvzV6gKtJt4ALSbeAGI5K1vv0AbaTbwAxXJWl9+gDbSbeAC0m3gBjXJV13r1AbaTbwAy0lpL7tAG2k28AJiuTkn35q9QFWk28AFpNvADEcla336ANtJt4AYrkrS+\/QBtpNvABaTbwAxrkq6716gNtJt4AZaS0l92gDbSbeABc9NwFARF6F\/ZUCwAEtvdvAoCXXt3gUAAlmY3cBQErnpuAoCIvQv7KgWAAlt7t4FAS69u8CgAEszG7gOmwV\/hZ7+ei+0DuVz03AUBEXoX9lQLAAS2928CgJde3eBQACWZjdwFASuem4CgIi9C\/sqBYACW3u3gUBLr27wKAASzMbuAoCVz03AUBEXoX9lQLAAS2928CgJde3eBQACW3elQKAlc9NwFARF6F\/ZUCwAEtvdvAoCXXt3gdNhb81Qv5mF+YDuwJbd6VAoCVz03AUBEXoX9lQLAAS2928CgJde3eBQACW3elQKAlc9NwFARF6F\/ZUCwAEtvdvAoCXXt3gUAAlt3pUCgJXPTcBQERehf2VAsABFSLaRUrSsCkRESpMQGOvbvAoABLbvSoFASuem4CgIi9C\/sqBYACW3u3gdTR30opjsy\/5XAds69u8CgAEtu9KgUBK56bgKAiL0L+yoFgAJbe7eBQEuvbvAoABLbvSoFASuem4CgIi9C\/sqBYACW3u3gUBLr27wKAAS270qBQErnpuAoCIvQv7KgWAAlt7t4FAS69u8CgAEtu9KgUBK56bgOmpb6VUF\/8AcfkQDuIvQv7KgWAAlt7t4FAS69u8CgAEtu9KgUBK56bgKAiL0L+yoFgAJbe7eBQEuvbvAoABLbvSoFASuem4CgJXPTcBQERehf2VAsABLb3bwKAl17d4FAAJZmN3AUBK56bgKAiL0L+yoFgAJbe7eBQEuvbvAoABLMxu4DpsFf4We\/novtA7lc9NwFARF6F\/ZUCwAEtvdvAoCXXt3gUAAlmY3cBQErnpuAoCIvQv7KgWAAlt7t4FAS69u8CgAEszG7gKAlc9NwFARF6F\/ZUCwAEtvdvAoCXXt3gUAAlt3pUCgJXPTcBQERehf2VAsABLb3bwKAl17d4HTYW\/NUL+ZhfmA7sCW3elQKAlc9NwFARF6F\/ZUCwAEtvdvAoCXXt3gUAAlt3pUCgJXPTcBQERehf2VAsABLb3bwKAl17d4FAAJbd6VAoCVz03AUBEXoX9lQLAAfKI9WMe5L0AqG5Xw2uW9UA117d4FAAJbd6VAoCVz03AUBEXoX9lQLAAS2928DqaO+lFMdmX\/K4DtnXt3gUAAlt3pUCgJXPTcBQERehf2VAsABLb3bwKAl17d4FAAJbd6VAoCVz03AUBEXoX9lQLAAS2928CgJde3eBQACW3elQKAlc9NwFARF6F\/ZUCwAEtvdvAoCXXt3gUAAlt3pUCgJXPTcB01LfSqgv\/ALj8iAdxF6F\/ZUCwAEtvdvAoCXXt3gUAAlt3pUCgJXPTcBQERehf2VAsABLb3bwKAl17d4FAAJbd6VAoCVz03AUBFlLSX3aQNspt4gTFanJPvzV6wKspt4gLKbeIGI1K1vv0gbZTbxAxWpWl9+kDbKbeICym3iBjWpZS+7SBtlNvEDLKWkvu0gbZTbxAmK1OSffmr1gVZTbxAWU28QMRqVrffpA2ym3iBitStL79IG2U28QFlNvEDGtSyl92kDpsFUTyWev\/AI2L17QO5spaS+7SBtlNvECYrU5J9+avWBVlNvEBZTbxAxGpWt9+kDbKbeIGK1K0vv0gbZTbxAWU28QMa1LKX3aQNspt4gZZS0l92kDbKbeIExWpyT781esCrKbeICym3iBiNStb79IG2U28QMVqVpffpA2ym3iAspt4gY1qWUvu0gbZTbxAyylpL7tIG2U28QJitTkn35q9YFWU28QFlNvEDEala336QNspt4gYrUrS+\/SBtlNvEBZTbxAxrUq6716wNspt4gZZS0l92kDbKbeIExWpyT781esCrKbeICym3iBiNStb79IG2U28QMVqVpffpA6XC1E+SoV\/8TD6\/wDMB3dlNvEDGtSrrvXrA2ym3iBllLSX3aQNspt4gTFanJPvzV6wKspt4gLKbeIGI1K1vv0gbZTbxAxWpWl9+kDbKbeICym3iBjWpV13r1gbZTbxAyylpL7tIG2U28QJitTkn35q9YFWU28QFlNvEDEala336QNspt4gYrUrS+\/SBtlNvEBZTbxAxrUq6716wNspt4gZZS0l92kDbKbeIExWpyT781esCrKbeICym3iB84kO3De1FxrtAqGyzDa1VWtE0garUrS+\/SBtlNvEBZTbxAxrUq6716wNspt4gZZS0l92kDbKbeIExWpyT781esCrKbeICym3iBiNStb79IHU0cic56YvzYHX\/lcB2ytStL79IG2U28QFlNvEDGtSrrvXrA2ym3iBllLSX3aQNspt4gTFanJPvzV6wKspt4gLKbeIGI1K1vv0gbZTbxAxWpWl9+kDbKbeICym3iBjWpV13r1gbZTbxAyylpL7tIG2U28QJitTkn35q9YFWU28QFlNvEDEala336QNspt4gYrUrS+\/SBtlNvEBZTbxAxrUq6716wNspt4gZZS0l92kDbKbeIExWpyT781esCrKbeICym3iBiNStb79IG2U28QMVqVpffpA2ym3iAspt4gY1qVdd69YG2U28QMspaS+7SB01KonOqgr\/wDzHX\/kQDuIrU5J9+avWBVlNvEBZTbxAxGpWt9+kDbKbeIGK1K0vv0gbZTbxAWU28QMa1Kuu9esDbKbeIGWUtJfdpA2ym3iBMVqck+\/NXrAqym3iAspt4gYjUrW+\/SBtlNvEDFalaX36QNspt4gLKbeIGNalXXevWBtlNvEDLKWkvu0gbZTbxALnpuAoCIvQv7KgWAAlt7t4FAS69u8CgAEszG7gKAlc9NwFARF6F\/ZUCwAEtvdvAoCXXt3gUAAlmY3cB02Cv8ACz389F9oHcrnpuAoCIvQv7KgWAAlt7t4FAS69u8CgAEszG7gKAlc9NwFARF6F\/ZUCwAEtvdvAoCXXt3gUAAlmY3cBQErnpuAoCIvQv7KgWAAlt7t4FAS69u8CgAEtu9KgUBK56bgKAiL0L+yoFgAJbe7eBQEuvbvA6bC35qhfzML8wHdgS270qBQErnpuAoCIvQv7KgWAAlt7t4FAS69u8CgAEtu9KgUBK56bgKAiL0L+yoFgAJbe7eBQEuvbvAoABLbvSoFASuem4CgIi9C\/sqBYACK0S0qrUlYFIqKlaYwMde3eBQACW3elQKAlc9NwFARF6F\/ZUCwAEtvdvA6aScrML6SYlVT4MJy70rT9QO5de3eBQACW3elQKAlc9NwFARF6F\/ZUCwAEtvdvAoCXXt3gUAAlt3pUCgJXPTcBQERehf2VAsABLb3bwKAl17d4FAAJbd6VAoCVz03AUBEXoX9lQLAAS2928CgJde3eBQACW3elQKAlc9NwHTUt9KqC\/8AuPyIB3EXoX9lQLAAS2928CgJde3eBQACW3elQKAlc9NwFARF6F\/ZUCwAEtvdvAoCXXt3gUAAlt3pUCgJXPTcBQEZVpMSXaQNytCcQJi2uSfiTNXrArK0JxAZWhOIGJardiS\/SBuVoTiBi2q24kv0gblaE4gMrQnEDG2rKYku0gblaE4gZlWkxJdpA3K0JxAmLa5J+JM1esCsrQnEBlaE4gYlqt2JL9IG5WhOIGLarbiS\/SBuVoTiAytCcQMbaspiS7SB02Ctfks9iT+Ni9e0Ducq0mJLtIG5WhOIExbXJPxJmr1gVlaE4gMrQnEDEtVuxJfpA3K0JxAxbVbcSX6QNytCcQGVoTiBjbVlMSXaQNytCcQMyrSYku0gblaE4gTFtck\/EmavWBWVoTiAytCcQMS1W7El+kDcrQnEDFtVtxJfpA3K0JxAZWhOIGNtWUxJdpA3K0JxAzKtJiS7SBuVoTiBMW1yT8SZq9YFZWhOIDK0JxAxLVbsSX6QNytCcQMW1W3El+kDcrQnEBlaE4gY21Vcl69YG5WhOIGZVpMSXaQNytCcQJi2uSfiTNXrArK0JxAZWhOIGJardiS\/SBuVoTiBi2q24kv0gdLhba+SoWJP4mH1\/wCYDu8rQnEDG2qrkvXrA3K0JxAzKtJiS7SBuVoTiBMW1yT8SZq9YFZWhOIDK0JxAxLVbsSX6QNytCcQMW1W3El+kDcrQnEBlaE4gY21Vcl69YG5WhOIGZVpMSXaQNytCcQJi2uSfiTNXrArK0JxAZWhOIGJardiS\/SBuVoTiBi2q24kv0gblaE4gMrQnEDG2qrkvXrA3K0JxAzKtJiS7SBuVoTiBMW1yT8SZq9YFZWhOIDK0JxA+UevkYmJOIFQVdyLMSXaQKW1W3El+kDcrQnEBlaE4gY21Vcl69YG5WhOIGZVpMSXaQNytCcQJi2uSfiTNXrArK0JxAZWhOIGJardiS\/SB00ra55z+JP4aH17QO5W1W3El+kDcrQnEBlaE4gY21Vcl69YG5WhOIGZVpMSXaQNytCcQJi2uSfiTNXrArK0JxAZWhOIGJardiS\/SBuVoTiBi2q24kv0gblaE4gMrQnEDG2qrkvXrA3K0JxAzKtJiS7SBuVoTiBMW1yT8SZq9YFZWhOIDK0JxAxLVbsSX6QNytCcQMW1W3El+kDcrQnEBlaE4gY21Vcl69YG5WhOIGZVpMSXaQNytCcQJi2uSfiTNXrArK0JxAZWhOIGJardiS\/SBuVoTiBi2q24kv0gblaE4gMrQnEDG2qrkvXrA3K0JxAzKtJiS7SB01K186qCxJ\/5jr\/yIB3EW1yT8SZq9YFZWhOIDK0JxAxLVbsSX6QNytCcQMW1W3El+kDcrQnEBlaE4gY21Vcl69YG5WhOIGZVpMSXaQNytCcQJi2uSfiTNXrArK0JxAZWhOIGJardiS\/SBuVoTiBi2q24kv0gblaE4gMrQnEDG2qrkvXrA3K0JxAzKtJiS7SBuVoTiAXPTcBQERehf2VAsABLb3bwKAl17d4FAAJZmN3AUBK56bgKAiL0L+yoFgAJbe7eBQEuvbvAoABLMxu4DpsFf4We\/novtA7lc9NwFARF6F\/ZUCwAEtvdvAoCXXt3gUAAlmY3cBQErnpuAoCIvQv7KgWAAlt7t4FAS69u8CgAEszG7gKAlc9NwFARF6F\/ZUCwAEtvdvAoCXXt3gUAAlt3pUCgJXPTcBQERehf2VAsABLb3bwKAl17d4HTYW\/NUL+ZhfmA7sCW3elQKAlc9NwFARF6F\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\/ZUCwAHBpeVWdoqblkrtPYtmrWRK0\/rUB+USzY8xNMhQnPWJFcjUqXGqgfr0vBbLS8GAxa0htRiLpqQD7gAJbd6VAoCVz03AUBEXoX9lQLAAS2928CgJde3eBQACW3elQKAlc9NwFARF6F\/ZUCwAEtvdvAoCXXt3gUAAlt3pUCgJXPTcBQERehf2VAsABLb3bwKAl17d4FAAJbd6VAoD5vaj0VrrnIqKB+RUlBjSVJR5Z8Ryugvc1FtV4gP0qgJR0lg5AhRK+UdDV76763Y6vRd6AO3AAS2928CgJde3eBQACW3elQKAlc9NwFARF6F\/ZUCwAEtvdvAoCXXt3gUAAlt3pUCgJXPTcBQErnpuAoCIvQv7KgWAAlt7t4FAS69u8CgAEszG7gKAlc9NwFARF6F\/ZUCwAEtvdvAoCXXt3gUAA48zAbNSESXfmxYasX0oB5bAKjnSyz0xFbVEbE8nT\/tzv0A9euem4CgIi9C\/sqBYACW3u3gUBLr27wKAASzMbuAoCVz03AUBEXoX9lQLAAS2928CgJde3eBQACWZjdwFASuem4CgIi9C\/sqBYACW3u3gUBLr27wKAAS270qBQErnpuAoCIvQv7KgWAAlt7t4FAS69u8DyeH9HumZeUmYTa3tickqV32rsW\/2gelo+VbI0fAlWIlUJiNxda9agfdt3pUCgJXPTcBQERehf2VAsABLb3bwKAl17d4FAAJbd6VAoCVz03AUBEXoX9lQLAAS2928CgJde3eBQACW3elQKAlc9NwFARF6F\/ZUCwAEVolpVWpKwKRUVK0xgY69u8CgAEtu9KgUBK56bgKAiL0L+yoFgAJbe7eB4ujqF5PD+YWz+xgVzDdGVcnFV7oHtHXt3gUAAlt3pUCgJXPTcBQERehf2VAsABLb3bwKAl17d4FAAJbd6VAoCVz03AUBEXoX9lQLAAS2928CgJde3eBQACW3elQKAlc9NwFARF6F\/ZUCwAEtvdvAoCXXt3gUAAlt3pUCgJXPTcB43COhfKsMJF9muFNVcp\/2Z3+moD2MXoX9lQLAAS2928CgJde3eBQACW3elQKAlc9NwFARF6F\/ZUCwAEtvdvAoCXXt3gUAAlt3pUCgJXPTcBQHzqiWkym3aviBtUTWb3fECYqROSfW5uav1fECqoms3u+ICqJrN7viBiJErdlNv1fEDaoms3u+IHT4R0vFoqXgtgtbFmph9iEyrr037U4gjq051xK3OpKXhV\/USG1av8ASG+dbYwq+94Hqm\/AF51iQ8KkSr5Xgeqb8IOdbYwq+94Hqm\/ADnWcnhVXX8rwPVN+EHOtsYVfe8D1TfgBzrHQ8KVRUWl4FS\/9Jvwg51tjCr73geqb8AOdLGFX3vA9U34Ac6zk8KvveB6pvwg51tjCr73geqb8AOdZyeFX3vA9U34Qc62xhV97wPVN+AHOljCr73geqb8AOdYkPCpEq+V4Hqm\/CDnWMgYTw0VGUrLpWquX9k29f+0HOtsYVV1\/K8D1TfhBzrbGFX3vA9U34Qc6x0PClUVFpeBUv\/Sb8IOdbYwq+94Hqm\/CDnSxhV97wPVN+EHOssYVJ\/6vA9U34Qc62xhV97wPVN+EHOssYVL\/AOrwPVN+EHOtsYVfe8D1TfhBzpYwq+94Hqm\/CDnWJDwqRKvleB6pvwg51tjCr73geqb8IOdZYwqrr+V4Hqm\/CDnW2MKvveB6pvwg51DaYpii5qDApZ0KYl46qxIzG1Kiruq9gZ8vGx66qJrN7viGSqJrN7viBiJErdlNv1fEDaoms3u+IGKkStuU2\/V8QNqiaze74gKoms3u+IGNSJZTKbdq+IG1RNZvd8QMqiWkym3aviBtUTWb3fECYqROSfW5uav1fECqoms3u+ICqJrN7viB5SbpmlqQpWPJUQsODDl3WYkd7a63Ivp0BfHxtLGFX3vA9U34Q3zrLGFS\/wDq8D1TfhBzrbGFX3vA9U34Qc6WMKvveB6pvwg51ljCr73geqb8IOdbYwq+94Hqm\/CDnWWMKq6\/leB6pvwg51tjCr73geqb8IOdY6HhSqKi0vAqX\/pN+EHOtsYVfe8D1TfhBzpYwq+94Hqm\/CDnWWMKk\/8AV4Hqm\/CDnW2MKvveB6pvwg51ljCpf\/V4Hqm\/CDnUxIGE8RtmJSsu5EcjqlgtvRa0+rpQHOrsYVfe8D1TfhBzrLGFX3vA9U34Qc62xhV97wPVN+EHOssYVV1\/K8D1TfhBzrbGFX3vA9U34Qc6x0PClUVFpeBUv\/Sb8IOdbYwq+94Hqm\/CDnSxhV97wPVN+EHOssYVJ\/6vA9U34Qc62xhV97wPVN+EHOssYVL\/AOrwPVN+EHOtsYVfe8D1TfhBzpYwq+94Hqm\/CDnWWMKvveB6pvwg50VMK2NVzaUl4ip9VYbUr\/0hOddlg7TMWlWRIUdiQpuWWzFZZxb0x7Aw7qqJrN7viBMVInJPrc3NX6viBVUTWb3fEBVE1m93xAxEiVuym36viBtUTWb3fEDFSJW3Kbfq+IG1RNZvd8QFUTWb3fEDGpEqzm3r9XxA2qJrN7viBlUS0mU27V8QNqiaze74gcOl5xKOoyNNx1RWMS5rcaquJEvA85BmcKKQYkzDm4EpCelbYasRVq6r2qG54WvpYwq+94Hqm\/CF51LoOFLmq1aWgVLf+yb8IOdakPClrURKXgVJ\/wBJvwg50sYVL\/6vA9U34Qc62xhV97wPVN+EHOljCr73geqb8IOdZYwq+94Hqm\/CDnW2MKvveB6pvwg51ljCquv5Xgeqb8IOdbYwq+94Hqm\/CDnWOh4UqiotLwKl\/wCk34Qc62xhV97wPVN+EHOljCr73geqb8IOdZYwqT\/1eB6pvwg51KQMJ0iuiJSsvbc1Gq7kW1qiV1fV2rxBzqrGFS\/+rwPVN+EHOtsYVfe8D1TfhBzpYwq+94Hqm\/CDnWWMKvveB6pvwg51tjCr73geqb8IOdZYwqrr+V4Hqm\/CDnW2MKvveB6pvwg51joeFKoqLS8Cpf8ApN+EHOtsYVfe8D1TfhBzpYwq+94Hqm\/CDnWcnhV97wPVN+EHOtsYVfe8D1TfgBzrOTwq+94Hqm\/CDnW2MKvveB6pvwA518o1JYSUSiTE1Fgzsui5aNYiKiehEDPl4WPUycdJuVhzEF7VhxG22rZ0+kMvvVE1m93xAyqJaTKbdq+IG1RNZvd8QJipE5J9bm5q\/V8QKqiaze74gKoms3u+IGIkSt2U2\/V8QNqiaze74gYqRK25Tb9XxA2qJrN7viBEV7oMF8V72o1jVc5bPUnpA8hApTCGmbUeRiwZSWtKjFc1FV3FFDXj4WvvYwq+94Hqm\/AGudZyeFVdfyvA9U34Qc62xhV97wPVN+AHOsdDwpVFRaXgVL\/0m\/CDnW2MKvveB6pvwA50sYVfe8D1TfgBzrOTwq+94Hqm\/CDnW2MKvveB6pvwA51nJ4Vfe8D1TfhBzrbGFX3vA9U34Ac6WMKvveB6pvwA51nJ4Vfe8D1TfhBzrbGFX3vA9U34Ac6zk8Kq6\/leB6pvwg51iwcKHPa5aWl7Tbl5JuL\/AEg51roeFKoqLS8Cpf8ApN+EHOtsYVfe8D1TfgBzpYwq+94Hqm\/ADnWcnhV97wPVN+EHOtsYVfe8D1TfgBzrOTwq+94Hqm\/CDnW2MKvveB6pvwA50sYVfe8D1TfgBzrOTwq+94Hqm\/CDnW2MKvveB6pvwA51nJ4VV1\/K8D1TfhBzrbGFX3vA9U34Ac6x0PClUVFpeBUv\/Sb8IOdbYwq+94Hqm\/ADnURIuFcoxY3lsvNIxFVYfJolfBE9oS+Fd7QVJLS9GNm2o1jnLZe2qupyekMOxqiaze74gYqRK25Tb9XxA2qJrN7viAqiaze74gY1IlWc29fq+IG1RNZvd8QMqiWkym3aviBtUTWb3fEDVz03AUBEXoX9lQLAAS2928CgPK4UVLhJQ1es79A14+3aB3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8\/ht8zwvx0\/K4MfJ6e2DiAS2928CgJde3eBQACWZjdwFASuem4CgIi9C\/sqBYADxOB\/8LN\/jr7EDr8fp6AOgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHT4PYsNqTRLuSRfyhw8\/s9cGURehf2VAsABLb3bwKAl17d4FAAJbd6VAoCVz03AUB5rD5V5vJtjN9igcyD0LOygelYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcGm8dCTlf2Tgnl6czBFVXBiSVb7K\/mUPO7gCVz03AUBEXoX9lQLAAS2928CgJde3eBQHXYQqqYPz6p9g9P6AdPg1iwflatVfzKHfw+rsw0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1eAHzZNp1JMrUn\/ageavVAS69u8CgAEtu9KgUBK56bgKAi0lpL7tAG2k28AJiuTkn35q9QFWk28AFpNvADEcla336ANtJt4AeXwnWvCSht7v0DXj7doHcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADz+G3zPC\/HT8rgx8np7S0m3gHEtJt4AYjkrW+\/QBtpNvADFclaX36ANtJt4ALSbeAGNcllL7tAG2k28AMtJaS+7QBtpNvACYrk5J9+avUBVpNvABaTbwA8Xgf\/AAk3+OvsQOvx+noA6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdPQC1YbUn+En9ocPP7PWWk28AymK5OSffmr1AVaTbwAWk28AMRyVrffoA20m3gBiuStL79AG2k28AFpNvADGuSrrvXqA20m3gBlpLSX3aANtJt4Aebw+WvB5t\/Tt6tigc2D0LOygelYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcGm\/mWc\/Cd7Anl6cvBJUTBiSvzXdX+ZQ87t7SbeAGWktJfdoA20m3gBMVyck+\/NXqAq0m3gAtJt4AYjkrW+\/QBtpNvADFclaX36ANtJt4AddhC5Ob8\/f0DurYB1ODfzBK9lfzKHfw+rsw0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1eAK1UfOX\/wASvVsQPNXqLSbeAGK5K0vv0AbaTbwAWk28AMa5Kuu9eoDbSbeAGWktJfdoA20m3gAXPTcBQERehf2VAsABLb3bwKA8thR9JKG3v\/QNePt2YdwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPP4bfM8L8dPyuDHyentg4gEtvdvAoCXXt3gUAAlmY3cBQErnpuAoCIvQv7KgWAA8Tgf\/AAs3+OvsQOvx+noA6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdPg\/9N6T\/AAk\/tDh5\/Z64Moi9C\/sqBYACW3u3gUBLr27wKAAS270qBQErnpuAoDzWH\/0eb+O32KBzIPQs7KB6VgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwab+ZZz8J3sCeXpzMEfovJdl35lDzu4Alc9NwFARF6F\/ZUCwAEtvdvAoCXXt3gUB12EP0en\/wHewDp8G\/mCV7K\/mUO\/h9XZhoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADrMAPm6d\/mV9iB5nqQJde3eBQACW3elQKAlc9NwFASuem4CgIi9C\/sqBYACW3u3gUB5bCj6SUNvf+ga8fbsw7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAefw2+Z4X46flcGPk9PbBxAJbe7eBQEuvbvAoABLMxu4CgJXPTcBQERehf2VAsAB4nA\/+Fm\/x19iB1+P09AHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADp8H\/pvSf4Sf2hw8\/s9cGURehf2VAsABLb3bwKAl17d4FAAJbd6VAoCVz03AUB5rD\/6PN\/Hb7FA5kHoWdlA9KwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4NN\/Ms5+E72BPL05mCP0Xkuy78yh53cASuem4CgIi9C\/sqBYACW3u3gUBLr27wKA67CH6PT\/AOA72AdPg38wSvZX8yh38Pq7MNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdZgB83Tv8yvsQPM9SBLr27wKAAS270qBQErnpuAoCLKWkvu0gbZTbxAmK1OSffmr1gVZTbxAWU28QMRqVrffpA2ym3iB5fCdKsJKG3u\/QNePt2gdwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPP4bfM8L8dPyuDHyentLKbeIcSym3iBiNStb79IG2U28QMVqVpffpA2ym3iAspt4gY1qWUvu0gbZTbxAyylpL7tIG2U28QJitTkn35q9YFWU28QFlNvEDxeB\/8JN\/jr7EDr8fp6AOgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHT0AleG1J\/hJ\/aHDz+z1llNvEMpitTkn35q9YFWU28QFlNvEDEala336QNspt4gYrUrS+\/SBtlNvEBZTbxAxrUq6716wNspt4gZZS0l92kDbKbeIHm8Pkqwebf07evYoHNg9CzsoHpWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHBpv5lnPwnewJ5enLwSRFwYkr813X\/mUPO7eym3iBllLSX3aQNspt4gTFanJPvzV6wKspt4gLKbeIGI1K1vv0gbZTbxAxWpWl9+kDbKbeIHXYQtTm\/P39A7r2AdTg38wSvZX8yh38Pq7MNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXgCldHzl\/8SvXsQPNXqLKbeIGK1K0vv0gbZTbxAWU28QMa1Kuu9esDbKbeIGWUtJfdpA2ym3iAXPTcBQERehf2VAsABLb3bwKA8thR9JKG3v8A0DXj7dmHcAAAAAAAAAAAHV4TTMaTwem5iXiKyKxqWXJ1ZSBPL+RODM9HnKMVs261NS8R0KKulUuXgqBPG7HVYQ0xOw6el5aSjWIMGJCbMVIi2nPdibwT+oTy8rqsKaVn6PpeUWViO5BkNYsaGiJltRyV\/wBAeVsr0qxoaS\/L205Kzbt9Vm+sNvNYLUpP0hS00s1FXkXw0jQoVSZDVctX9Ax422ubgnOTU7JTcSairEcybexiqiYmoiYvaF8bqsIpyZlJiimy8Ww2NOMhRMWc1VuB5X07oNAAAAAAAAAAAA8\/ht8zwvx0\/K4MfJ6e2DiAS2928CgJde3eBQACWZjdwFASuem4CgIi9C\/sqBYADxOB\/wDCzf46+xA6\/H6egDoAAAAAAAAAAADyszS87LYaOgujKtHo6HCcypMlz25K8UDH+r\/p39LTraOoqYnHVfsmKqJpd1JxDVuR0uDc7SMWiaSWejuiTEu9zUVURLKo2v2hnxtz+twNpWbnYEWBSEXlI7UbFY9URLTHJ+iooPC77ZhlSs3JwoUvR8Xk46tdGe9ERbLGpt0qv9Aedz0+lLT85BWguRjOb5THhti4ky2rVWFtv8ehDTpcF5yZnJefdNReUdCnIkJuKqpqI3EGfG67oNAAAAAAAAAAAA6fB\/6b0n+En9ocPP7PXBlEXoX9lQLAAS2928CgJde3eBQACW3elQKAlc9NwFAeaw\/+jzfx2+xQOZB6FnZQPSsAAAAAAAAAAAcakoj4NGTUWG6y9kJ7mroVGqEvp0+B1JzU7JxYM\/EtzMOzER1SJaY9tbf1CeF32+GGdLTkm2HL0fG5KK1ix4rkRFqYi2Uv0qv9Annc9LwrnqRlpSQ+T4ysjRXLXUiLbqbXUDyt\/He0fNsnpCBNw82MxHbtgal15yjaYnZ3C5zeWXyB\/KNhQ6kqWxUlr0rWGZ5W+Tn0JOTUzTlMwY0VXwZeIxsJtSZNdqv9Avjf7VYXzkzIYPxZiUi8lFa5qWqq8SqDzuR3QaAAAAAAAAAAABwab+ZZz8J3sCeXpzMEfovJdl35lDzu4Alc9NwFARF6F\/ZUCwAEtvdvAoCXXt3gUB12EP0en\/wHewDp8G\/mCV7K\/mUO\/h9XZhoAAAAAAAAAAAHlaKped51zUrNRlfKRI0SDBSpMhzalq4KGJ5X\/AE7fCKeiSNFOWXWqajObBgdty1J7w15XI6qVpKeXASPPPmHOmmI+qLUnU6oM7f8ALn4LT8xOUa6HOPtTUvEVkRdZL2u4KF8bsdbhPTE7ApWBLSMZYbINh0dURFrtuRGt4VqE8vK7\/HPn5yah4X0ZJw4qpLxYcR0RlSY6mrV+gW3\/ANO4mFc2XiOYtTkatW+oNOswUm489g5KzMzEWJGfbtOVL6nuQM+N2O3DQAAAAAAAAAAAOswA+bp3+ZX2IHmepAl17d4FAAJbd6VAoCVz03AUBGVaTEl2kDcrQnECYtrkn4kzV6wKytCcQGVoTiBiWq3Ykv0gblaE4geXwnVeclDV6XfoGvH27QO4AAAAAAAAAAAOmwx+is92W\/mQM+f1cdIrKJp9I0RbMtPy1py6IkNtf5fYD1XURYb0oSSn47ao9I0nDjLsatdlN1Sf1DP5ruKShMj4YScGI20yJJxWOTSihq\/Z1r5iM7B1tA218s8p8gVf8iY7W6wGfzHY0bDhwcMJyDCREZClITGpoRLg1PszAp7fIp+DdEhzkS03RcDwZhXEatIUHATHEdPMfVsaqV+0Hl+PRhoAAAAAAAAAAAHn8NvmeF+On5XBj5PT2mVoTiHEytCcQMS1W7El+kDcrQnEDFtVtxJfpA3K0JxAZWhOIGNtWUxJdpA3K0JxAzKtJiS7SBuVoTiBMW1yT8SZq9YFZWhOIDK0JxA8Xgf\/AAk3+OvsQOvx+noA6AAAAAAAAAAAA8rMyPyjTeEEqmc+BBsLociVt\/qGM21j5xcIPkaT1\/3ibbo5PFUuxXA3cfah3I6DhGqedRk\/0gn64lHfuUjQFKJiarPJY\/ZcuSvod7Qk\/mVE\/wDvkhhBSz8xW+SwF\/yNXHVvcC\/3a5NOvbCZg5GfihsmIdp2jEgXy\/HqVxJWobedwJekWQn4zcyLPRHtXSio0M+D0YaAAAAAAAAAAAB09AV89qTq+yT+0OHn9nrMrQnEMpi2uSfiTNXrArK0JxAZWhOIGJardiS\/SBuVoTiBi2q24kv0gblaE4gMrQnEDG2qrkvXrA3K0JxAzKtJiS7SBuVoTiB5vD5V5vNrROnb17FA5sHoWdlA9KwAAAAAAAAAABxKW+Z538B\/5VBfTztH\/uMOgKRTFDjQGykb\/uSti972hifzK4tIr5XQVO0y\/G2O9sGB+G16JX6V9gS+rXbUz\/HYP\/j\/ANoXy\/HDdOPoWjqXoyHXysKJ+6NTVi5qJuVVBubH1lZNlHYSURJMVP2Mk9Fq61rxr6VrBmWPtg+9rcJqeguxP5Vj0TSlS+HEL4+6zD2I1uDboX140VjGJpWuv9Aefp6MNAAAAAAAAAAAA4NN\/Ms5+E72BPL05eCNrmxJVIma7r\/zKHndvlaE4gZlWkxJdpA3K0JxAmLa5J+JM1esCsrQnEBlaE4gYlqt2JL9IG5WhOIGLarbiS\/SBuVoTiB12ENrm9P4k6B3XsA6nBv5gleyv5lDv4fV2YaAAAAAAAAAAAB41ZeJFlKbmICft5OkVmIe9tSqnCsOf\/XYNjspvCSTdCW1KycBJhfxHpkou5MYa+1dbJuR\/wDhpNOS5UiL\/rDM+jsILm0ZTMnMudZgT8q1kRepIjG1tVf+2tAvqurmGOiYPupSMlmLSE\/DiIi3oxHVNTgE\/NdtSj2wsOKIc\/Ja+FEYi7ag1ftHdz0VkCQjxoi1MZDc5y+gNV1WBTVbgnJIqVYnr\/rcGfD6u8DQAAAAAAAAAAAOrwBVfk6cqRP4levYgeavUZWhOIGLarbiS\/SBuVoTiAytCcQMbaquS9esDcrQnEDMq0mJLtIG5WhOIBc9NwFARF6F\/ZUCwAEtvdvAoDy2FH0kobe\/9A14+3Zh3AAAAAAAAAAABxKVkG0nRsaSe9zGxURFcl6Y6wlmx8KYoaDS1HMk4z3MRjkc17b8SVeysF8diqSoqFSECVg21hMlozIrUamrXUn9QWauLR7IlMQKRWI5HwYboaMqxLWDP7r5fIsvzg+V63crydix1V3Wt9WIH+f7r6QKMZBpmZpJIjlfMMaxWVYkqBn91wpvB5rqQiT0hOx5GYi9JyaI5r9qtXrCXx\/Yuj6AZLz\/AMoTc3GnZtEstfFxIxP8qdQJ4\/ruA0AAAAAAAAAAADz+G3zPC\/HT8rgx8np7YOIBLb3bwKAl17d4FAAJZmN3AUBK56bgKAiL0L+yoFgAPE4H\/wALN\/jr7EDr8fp6AOgAAAAAAAAAAAOFL0cyBS01PpEcrplrGqyrEllAmf3Xyo6hpej6RnJyErlfNOrVFuZjVVRN6rWCeOUk6IhyjJ9rYrneWxXxXVpm2upATxZ8iwVwe+R3RHOhcnYR9WPSi8Qf5\/mMiUJAdg78jtiObCsIy3VjvrVfSoP8\/wAx9p2ipWfotKPmWq+EjURFTEqKlyptBZsx1jsHJuJB8miU9OOlarPJ1IjlbotBP8\/\/AF3MjJwKPk4crLMsQoaVNQLJjkBQAAAAAAAAAAAdPg\/9N6T\/AAk\/tDh5\/Z64Moi9C\/sqBYACW3u3gUBLr27wKAAS270qBQErnpuAoDzWH\/0eb+O32KBzIPQs7KB6VgAAAAAAAAAAD5TUFJmUiwHOVqRWOYqp1VpUBwYlDQYuD7aJdEdYbDaxIn1ks3L\/AECf5\/mMmaEgR8HUodsR0OEjGstomPJVFr9NQP8AP8x9ZujGTUaRiOiOasm+21ETOxVAsRO0LLzlMSlIxFckSW+qlz+tte5cYL47dfSJRjIlNwqTWI5HwoSwkZViWvrBn91xqSoGHOTzZ+XmY0nONbZ5WF9ZP8ydYS+O\/wBfKXwdrnoU5SM\/Hn4sFa4TYiI1jF02U6wf5\/67wNAAAAAAAAAAAA4NN\/Ms5+E72BPL05mCP0Xkuy78yh53cASuem4CgIi9C\/sqBYACW3u3gUBLr27wKA67CH6PT\/4DvYB0+DfzBK9lfzKHfw+rsw0AAAAAAAAAAADhUfRzJGJOPa9X+VRliuRUur6gkmPlQlDS9DQYsOA5zuViW1V16J1N3IDx8cfGXoCFAwcfQ6R3rDejk5SrHjWsJ\/n+Y+1KUNBpOiGUfEiOajLNl7b0VuKvhXxC3x2Y2kaHgz0hLyaPdChwHse2ymrcgL46qmKIlqXl2Q5i218N1qHEhrU5i7AXx11sXBuYm2pBn6am5iWrxwkRGWt6peE\/z\/2u+gwocCCyDCajIbGo1rU6kQNLAAAAAAAAAAAADrMAPm6d\/mV9iB5nqQJde3eBQACW3elQKAlc9NwFARabaTKS4DbTdZOIExXNWE\/GmaoFWm6ycQFpusnEDEc2tcaXgbabrJxA8vhOqLhJQ1S143foGvH27QO4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHn8NvmeF+On5XBj5PT2lpusnEOJabrJxAxHNrXGl4G2m6ycQMVza0xpeBtpusnEBabrJxAxrmo1MaXAbabrJxAy020mUlwG2m6ycQJiuasJ+NM1QKtN1k4gLTdZOIHi8D\/4Sb\/HX2IHX4\/T0AdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOnoBUTDak61\/wCUn9ocPP7PWWm6ycQymK5qwn40zVAq03WTiAtN1k4gYjm1rjS8DbTdZOIGK5taY0vA203WTiAtN1k4gY1zar0vUDbTdZOIGWm2kykuA203WTiB5vD5UXB9tSp07fYoHNg9CzsoHpWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHBpv5lnPwnewJ5enLwRciYMSSKqZrvzKHndvabrJxAy020mUlwG2m6ycQJiuasJ+NM1QKtN1k4gLTdZOIGI5ta40vA203WTiBiubWmNLwNtN1k4gddhC5vN6fxp0DvYB1ODfzBK9lfzKHfw+rsw0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1eAKolHzlaon7yvsQPNXqLTdZOIGK5taY0vA203WTiAtN1k4gY1zar0vUDbTdZOIGWm2kykuA203WTiAXPTcBQERehf2VAsABLb3bwKA8thR9JKG3v\/QNePt2YdwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPP4bfM8L8dPyuDHyentg4gEtvdvAoCXXt3gUAAlmY3cBQErnpuAoCIvQv7KgWAA8Tgf8Aws3+OvsQOvx+noA6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdPg\/8ATek\/wk\/tDh5\/Z64Moi9C\/sqBYACW3u3gUBLr27wKAAS270qBQErnpuAoDzWH\/wBHm\/jt9igcyD0LOygelYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcGm\/mWc\/Cd7Anl6czBH6LyXZd+ZQ87uAJXPTcBQERehf2VAsABLb3bwKAl17d4FAddhD9Hp\/8B3sA6fBv5gleyv5lDv4fV2YaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6zAD5unf5lfYgeZ6kCXXt3gUAAlt3pUCgJXPTcBQErnpuAoCIvQv7KgWAAlt7t4FAeWwo+klDb3\/oGvH27MO4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHn8NvmeF+On5XBj5PT2wcQCW3u3gUBLr27wKAASzMbuAoCVz03AUBEXoX9lQLAAeJwP\/AIWb\/HX2IHX4\/T0AdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOnwf+m9J\/hJ\/aHDz+z1wZRF6F\/ZUCwAEtvdvAoCXXt3gUAAlt3pUCgJXPTcBQHmsP\/o838dvsUDmQehZ2UD0rAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg038yzn4TvYE8vTmYI\/ReS7LvzKHndwBK56bgKAiL0L+yoFgAJbe7eBQEuvbvAoDrsIfo9P\/gO9gHT4N\/MEr2V\/Mod\/D6uzDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHWYAfN07\/Mr7EDzPUgS69u8CgAEtu9KgUBK56bgKA+dUS0mU27V8QNqiaze74gTFSJyT63NzV+r4gVVE1m93xAVRNZvd8QMRIlbspt+r4gbVE1m93xA8vhNa5yUNaVFynXJVoDXj7dqHcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADz+G3zPC\/HT8rgx8np7OqJrN7viHEqiaze74gYiRK3ZTb9XxA2qJrN7viBipErblNv1fEDaoms3u+ICqJrN7viBjUiWUym3aviBtUTWb3fEDKolpMpt2r4gbVE1m93xAmKkTkn1ubmr9XxAqqJrN7viAqiaze74geMwP8A4Sb\/AB19iB1+P09AHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADpqBtc9qTsqifskvSvVDh5\/Z6yqJrN7viGUxUick+tzc1fq+IFVRNZvd8QFUTWb3fEDESJW7Kbfq+IG1RNZvd8QMVIlbcpt+r4gbVE1m93xAVRNZvd8QMakSrObev1fEDaoms3u+IGVRLSZTbtXxA2qJrN7viB5vD23zfbaVF\/btuTYoHOg9CzsoHpWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHBpv5lnPwnewJ5enKwSR\/NmTqc2qy69v+Zdoed29UTWb3fEDKolpMpt2r4gbVE1m93xAmKkTkn1ubmr9XxAqqJrN7viAqiaze74gYiRK3ZTb9XxA2qJrN7viBipErblNv1fEDaoms3u+IHXYQo\/m\/P1ub0Dvq7N4HVYN\/MEr2V\/Mod\/D6uzDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVYBWvk+csuRP3hb02IHmr1FUTWb3fEDFSJW3Kbfq+IG1RNZvd8QFUTWb3fEDGpEqzm3r9XxA2qJrN7viBlUS0mU27V8QNqiaze74gauem4CgIi9C\/sqBYACW3u3gUB5bCj6SUNvf8AoGvH27MO4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHn8NvmeF+On5XBj5PT2wcQCW3u3gUBLr27wKAASzMbuAoCVz03AUBEXoX9lQLAAeJwP\/hZv8dfYgdfj9PQB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6fB\/6b0n+En9ocPP7PXBlEXoX9lQLAAS2928CgJde3eBQACW3elQKAlc9NwFAeaw\/wDo838dvsUDmQehZ2UD0rAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg038yzn4TvYE8vTmYI\/ReS7LvzKHndwBK56bgKAiL0L+yoFgAJbe7eBQEuvbvAoDrsIfo9P\/AIDvYB0+DfzBK9lfzKHfw+rsw0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1mAHzdO\/zK+xA8z1IEuvbvAoABLbvSoFASuem4CgItJaS+7QBtpNvACYrk5J9+avUBVpNvABaTbwAxHJWt9+gDbSbeAHnMLZOZi+SUhJw3RIsm9XKxK63Nxe4LLjrlwtk4a2I0rNQ4iZzLKYl4h16Q54Uf8AYzXdb8QOkOeFH\/YzXdb8QOkOeFH\/AGM13W\/EDpDnhR\/2M13W\/EDpDnhR\/wBjNd1vxA6Q54Uf9jNd1vxA6Q54Uf8AYzXdb8QOkOeFH\/YzXdb8QOkOeFH\/AGM13W\/EDpDnhR\/2M13W\/EDpDnhR\/wBjNd1vxA6Q54Uf9jNd1vxA6Q54Uf8AYzXdb8QOkOeFH\/YzXdb8QOkOeFH\/AGM13W\/EDpDnhR\/2M13W\/EDpDnhR\/wBjNd1vxA6Q54Uf9jNd1vxA6Q54Uf8AYzXdb8QOkOeFH\/YzXdb8QOkOeFH\/AGM13W\/EDpDnhR\/2M13W\/EDpDnhR\/wBjNd1vxA6Q54Uf9jNd1vxA6Q54Uf8AYzXdb8QOkOeFH\/YzXdb8QOkOeFH\/AGM13W\/EDpDnhR\/2M13W\/EDpDnhR\/wBjNd1vxA6R8Y0SNhRHgwZeWiQ5KE7lYkWIl+zRpDHl5a91aTbwDBaTbwAxHJWt9+gDbSbeAGK5K0vv0AbaTbwAWk28AMa5LKX3aANtJt4AZaS0l92gDbSbeAExXJyT781eoCrSbeAC0m3gB4dzo2C8\/NNjS8SLIxoixGRYaZuxeoN+Plj6c8KO+xmu634g30hzwo77Ga7rfiB0hzwo77Ga7rfiB0hzwo77Ga7rfiB0hzwo77Ga7rfiB0hzwo77Ga7rfiB0hzwo77Ga7rfiB0hzwo77Ga7rfiB0hzwo77Ga7rfiB0hzwo77Ga7rfiB0hzwo77Ga7rfiB0hzwo77Ga7rfiB0hzwo77Ga7rfiB0hzwo77Ga7rfiB0hzwo77Ga7rfiB0hzwo77Ga7rfiB0hzwo77Ga7rfiB0hzwo77Ga7rfiB0hzwo77Ga7rfiB0hzwo77Ga7rfiB0hzwo77Ga7rfiB0hzwo77Ga7rfiB0hzwo77Ga7rfiB0hzwo77Ga7rfiB0hzwo77Ga7rfiB0hzwo77Ga7rfiB0hzwo77Ga7rfiB0hzwo77Ga7rfiB0hzwo77Ga7rfiB0jOd8i7Jhy80564mtstxrxB0jsMFJGabMTVKzsNYcWazIdS1tb\/APKuAcrdeltJt4BExXJyT781eoCrSbeAC0m3gBiOStb79AG2k28AMVyVpffoA20m3gAtJt4AY1yVdd69QG2k28AMtJaS+7QBtpNvADq8JZBaUoWNLQ6kiJU9iuTFWnhWgHm4OEvkUFsvSUnMw5hiWVqbnVdeNUDrPk\/6+nPCjvsZrut+IL0hzwo77Ga7rfiB0hzwo77Ga7rfiB0hzwo77Ga7rfiB0hzwo77Ga7rfiB0hzwo77Ga7rfiB0hzwo77Ga7rfiB0hzwo77Ga7rfiB0hzwo77Ga7rfiB0hzwo77Ga7rfiB0hzwo77Ga7rfiB0hzwo77Ga7rfiB0hzwo77Ga7rfiB0hzwo77Ga7rfiB0hzwo77Ga7rfiB0hzwo77Ga7rfiB0hzwo77Ga7rfiB0hzwo77Ga7rfiB0hzwo77Ga7rfiB0hzwo77Ga7rfiB0hzwo77Ga7rfiB0hzwo77Ga7rfiB0hzwo77Ga7rfiB0hzwo77Ga7rfiB0hzwo77Ga7rfiB0hzwo\/7Ga7rfiB0hzwo\/7Ga7rfiB0hzwo\/7Ga7rfiB0hzwo\/7Ga7rfiB0j4zNNRKbgukKLlI7nxshz3tSpjV3Vhny89n8euomUSj6Ll5RFtck1GqqIuNeteIc3MtJt4AZaS0l92gDbSbeAExXJyT781eoCrSbeAC0m3gBiOStb79AG2k28AMVyVpffoA20m3gB8JyCybk40s+tGxYasVarq0A8VJ0rEwfgfJ9JysZFhOckOJDStHpfirq0h08fPI5HPCj\/ALGa7rfiDXSHPCj\/ALGa7rfiB0hzwo\/7Ga7rfiB0hzwo\/wCxmu634gdIc8KP+xmu634gdIc8KP8AsZrut+IHSHPCj\/sZrut+IHSHPCj\/ALGa7rfiB0hzwo\/7Ga7rfiB0hzwo\/wCxmu634gdIc8KP+xmu634gdIc8KP8AsZrut+IHSHPCj\/sZrut+IHSHPCj\/ALGa7rfiB0hzwo\/7Ga7rfiB0hzwo\/wCxmu634gdIc8KP+xmu634gdIc8KP8AsZrut+IHSHPCj\/sZrut+IHSHPCj\/ALGa7rfiB0hzwo\/7Ga7rfiB0hzwo\/wCxmu634gdIc8KP+xmu634gdIc8KP8AsZrut+IHSHPCj\/sZrut+IHSHPCj\/ALGa7rfiB0hzwo\/7Ga7rfiB0hzwo\/wCxmu634gdIc8KP+xmu634gdIx2FUKOxYcjJzUWOqZLbCfoqhL8kd3gpR0Si6HSHHbVHiPWI9L6q6sXAOTurSbeAGK5K0vv0AbaTbwAWk28AMa5Kuu9eoDbSbeAGWktJfdoA20m3gAXPTcBQERehf2VAsABLb3bwKAl17d4HR0m11E0qyl4S1S0ZWwptiJ1Y7L\/AEVgd41yOajmqiouNFTrAMzG7gKAlc9NwFARF6F\/ZUCwAEtvdvAoCXXt3gUAAlmY3cBQErnpuAoCIvQv7KgWAAlt7t4FAS69u8CgAEszG7gKAlc9NwHTYSxFjS8GioTqo0++xWn1WJjcvD2gds5jYcsrGNRrGsqRE6kqA+oACW3u3gUBLr27wKAASzMbuAoCVz03AUBEXoX9lQKVURK1xIB00enkiTDpSi5d07MNrRzkWzDZVfW5f0AiWoN8xF8opqOk7FRUswqqoMNdjev0gd21qNajWoiImJETqAOvbvAoABLbvSoFASuem4CgIi9C\/sqBYACW3u3gUBLr27wKAAS270qBQErnpuAoCIvQv7KgWAAlt7t4FAS69u8CgAHBpGkYFGSbo8dVvqYxuc93UiJpA4VGUdMTE2lK0qn7x\/yIH1ZdvxbQO5XPTcBQERehf2VAsABLb3bwKAl17d4FAAJbd6VAoCVz03AfGbnJaShLFmY7ITNLlqA6eNS89SEJyUPJKsJWr+9TNbGLtal63\/0A+rKBbMuSNS8w+eipcxcmEzcxPaoHbwoUODCbDhQ2sY1Kka1KkT0ATH6GJ\/8ANAFQOhZuAp17d4FAAJbd6VAoCVz03AUBEXoX9lQLAAS2928CgJde3eBQACW3elQKAlc9NwFARF6F\/ZUCwAEtvdvAoCXXt3gcalJ1lHUfGmnpXybcTdZ3UnpUDj0DIOkZCuMtc1MO5aO5dZer0Adi270qBQErnpuAoCIvQv7KgWAAlt7t4FAS69u8A5yNarnKiImNVXqA6WNTUadixJahIKTD25LphzqoUPFfX9b0AXI0HDSL5VSMVZ2brWp0TMh7GtuQDuQJXPTcBQERehf2VAsABLb3bwKAl17d4FAAJbd6VAoCVz03AUBEXoX9lQLAAS2928CgJde3eBQACW3elQKAlc9NwFARF6F\/ZUDp\/wD68\/8Axv8A7oHdgS2928CgJde3eBQACW3elQKAlc9NwFASuem4CgIi9C\/sqBYACW3u3gUBLr27wJjwYcxBfBjMR8N6VOa65UA6egYsSSmItCzUW0+XRHS73YliQurhVUB3TMxu4CgJXPTcBQERehf2VAsABLb3bwKAl17d4FAAJZmN3AUBK56bgKAiL0L+yoFgAJbe7eBQEuvbvAoABLMxu4CgJXPTcB0dG\/8AiWEM5Pub+ylP3WBv+uoHdxehf2VAsABLb3bwKAl17d4FAAJZmN3AUBK56bgKA6mkablJZ75WHbmZpUVOQgJacm\/V9IHGZRtI0qqvpmKsKAt0nLvqRe25L9yKB3EtLQJSCkGXhMhQ0uaxKkA+rb3bwKAl17d4FAAJbd6VAoCVz03AUBEXoX9lQLAAS2928CgJde3eBQACW3elQKAlc9NwFARF6F\/ZUCwAEtvdvAoCXXt3gUBwqSpCXoyUWPHVb6mMbjc93UiJpA4FF0dHmZpKVpVE8ox8jA+rLt+LaB3gErnpuAoCIvQv7KgWAAlt7t4FAS69u8CgAEtu9KgcOkKWkaPT95jta65Ibcp7l0I1MYHXJNU3SUSqVlm0dB+2mUtRKtjNN14HIlcH5KFG8omLc7MrVXFmVtrXsS5AO0i9C\/sqBYACKkW0ipWlYFIiIlSYgMde3eBQACW3elQKAlc9NwFARF6F\/ZUCwAEtvdvAoCXXt3gUAAlt3pUCgJXPTcBQERehf2VAsABLb3bwKAl17d4HSTDkpXCFkolay1HqkWLodEXNb6LwO9Alt3pUCgJXPTcBQERehf2VAsABLb3bwKA6ykaXl5OO2WayJMTbkrbAgttOq0roQDhtouepWxEpuKjYSORzZKDmov8Amd9YDu4MKHAhNhQYbWQ2pUjWpUiAU270qBQErnpuAoCIvQv7KgWAAlt7t4FAS69u8CgAEtu9KgUBK56bgKAiL0L+yoFgAJbe7eBQEuvbvAoABLbvSoFASuem4CgIi9C\/sqB0\/wD9ef8A43\/3QO7Alt7t4FAS69u8CgAEtu9KgUBK56bgKAiylpL7tIG2U28QJitTkn35q9YFWU28QFlNvEDEala336QNspt4gYrUrS+\/SBtlNvEDqqdkYkWHDnZNqrOyjrcOq97frMr2oBy6Nm4NI0fBmoLq2vaiqiOzV60A5VlNvEDLKWkvu0gbZTbxAmK1OSffmr1gVZTbxAWU28QMRqVrffpA2ym3iBitStL79IG2U28QFlNvEDGtSyl92kDbKbeIGWUtJfdpA2ym3iBMVqck+\/NXrAqym3iAspt4gYjUrW+\/SBtlNvEDFalaX36QNspt4gLKbeIGNallL7tIG2U28QOup2b8houLFYruWc2xCRFxq9cTf6gfSh5FKPouBKqtbmNy1Rb3LjVeIHLitTkn35q9YFWU28QFlNvEDEala336QNspt4gYrUrS+\/SBtlNvEBZTbxAxrUspfdpA2ym3iBwqQpKSo5GrNRrLnJU1iKqvduRMYHXNbS1M18pylFyaomSnTRNOP6vCsDsJWjJSj5Z7ZaFZVUVXPVVVzl61VQOdZTbxAWU28QMRqVrffpA2ym3iBitStL79IG2U28QFlNvEDGtSrrvXrA2ym3iBllLSX3aQNspt4gTFanJPvzV6wKspt4gLKbeIGI1K1vv0gbZTbxAxWpWl9+kDbKbeICym3iBjWpV13r1gbZTbxAyylpL7tIG2U28QJitTkn35q9YFWU28QFlNvEDEala336QNspt4gYrUrS+\/SBxKSn5ejJRY8dzr6mMauU93UiJpA4NGUbHmZpKVpVP3j\/kwK62y7fi2gdy1qVdd69YG2U28QMspaS+7SBtlNvECYrU5J9+avWBVlNvEBZTbxAxGpWt9+kDbKbeIGK1K0vv0gbZTbxA6uepySlYqQIbnzU0uJIMDKd6epPSBxmwaapRq8tF+TJdVWpsJbUZybVub6MYHNo+hZCjnLEgQf2q3xXuVz19Kgc+ylpL7tIG2U28QJitTkn35q9YFWU28QFlNvED5xFsQ3uS9NoFQ8qG1y11qmkDValaX36QNspt4gLKbeIGNalXXevWBtlNvEDLKWkvu0gbZTbxAmK1OSffmr1gVZTbxAWU28QMRqVrffpA2ym3iBitStL79IG2U28QFlNvEDGtSrrvXrA2ym3iBllLSX3aQNspt4gTFanJPvzV6wKspt4gLKbeIGI1K1vv0gbZTbxA6+m55tG0ZEmURXRM2G3WetyAZQVHLR9HIyK5XTEVyxY768563gdjZTbxAxrUq6716wNspt4gZZS0l92kDbKbeIExWpyT781esCrKbeICym3iBxZydlKPgrGm5hsJleK0uNdyXqB1SxKVptrkl7VHSarUkV9rloiaWp9VAOykaLkqOSqVgo1zlynrjc7et4HNspt4gLKbeIGNalXXevWBtlNvEDLKWkvu0gbZTbxAmK1OSffmr1gVZTbxAWU28QMRqVrffpA2ym3iBitStL79IG2U28QFlNvEDGtSrrvXrA2ym3iBllLSX3aQNspt4gTFanJPvzV6wKspt4gLKbeIGI1K1vv0gbZTbxAxWpWl9+kDbKbeICym3iBjWpV13r1gbZTbxAyylpL7tIG2U28QJitTkn35q9YHT1Jz76\/m7T\/1AO6spt4gYjUrW+\/SBtlNvEDFalaX36QNspt4gLKbeIGNalXXevWBtlNvEDLKWkvu0gbZTbxALnpuAoCIvQv7KgWAAlt7t4FAS69u8CgAHn4VdCU1Zso2QpByVOuSFGqu\/7qkA9ABK56bgKAiL0L+yoFgAJbe7eBQEuvbvAoABLMxu4CgJXPTcBQERehf2VAsABLb3bwKAl17d4FAAJZmN3AUB0U5VSOE8tJ3wZFvlL6uuJc1P1A70CIvQv7KgWAAlt7t4FAS69u8CgAHHjzMCUl+WmIzIUNExue6pAOoZSVJUutVFwvJpVav3uOxVVew3r9gHLo2hZWQjLHyo80+tXzEXG5a6q9yAdoBEXoX9lQLAAS2928CgJde3eBQACW3elQKAlc9NwFARF6F\/ZUCwAEtvdvAoCXXt3gUAAlt3pUCgJXPTcBQERehf2VAsABLb3bwKA4NKUhAoyV5eOq31NY3G57upETSBwqMo6YmJtKVpVP3j\/kQPqy7fi2gd2BLbvSoFASuem4CgIi9C\/sqBYACW3u3gHORrVc5URExqq9QHSx8IoL5hJejJaLSEWta1g4oaLV1vXFoAxaLpGklR1KT6woddfk0otlvpdeoHZyUhKUfB5GUl2QmddlMa71vX0gcht3pUCgJXPTcBQERehf2VAsAB8ojFex7UvUCobVZDa1b0QDXXt3gUAAlt3pUCgJXPTcBQERehf2VAsABLb3bwKAl17d4FAAJbd6VAoCVz03AUBEXoX9lQLAAS2928CgOiciUthIiKlcrRq+h0ZfhT+oHegAJbd6VAoCVz03AUBEXoX9lQNc5GtVzlRETGqr1AdJFpqNPRXy1CQWzDm4nzL1qhMrTT9ZdgH2kKFZDmGzk7GfOTrbokRcli1Y7LbkA7cCXXt3gUAAlt3pUCgJXPTcBQERehf2VAsABLb3bwKAl17d4FAAJbd6VAoCVz03AUBEXoX9lQLAAS2928CgJde3eBQACW3elQKAlc9NwFARF6F\/ZUDp\/\/AK8\/\/G\/+6B3YEtvdvAoCXXt3gUAAlt3pUCgJXPTcBQEZVpMSXaQNytCcQJi2uSfiTNXrArK0JxAZWhOIGJardiS\/SBuVoTiBi2q24kv0gblaE4gMrQnEDiUhItpGj3SsTJRyJZci42qlyoBxqAno8zLRJWbajZyUVIUZLVdrFid6QOzyrSYku0gblaE4gTFtck\/EmavWBWVoTiAytCcQMS1W7El+kDcrQnEDFtVtxJfpA3K0JxAZWhOIGNtWUxJdpA3K0JxAzKtJiS7SBuVoTiBMW1yT8SZq9YFZWhOIDK0JxAxLVbsSX6QNytCcQMW1W3El+kDcrQnEBlaE4gY21ZTEl2kCJiO2WgRI8VUbDhtVzlruRAOqwagR\/I3z0w1OXnnrHWu9GrVZbw9oHc5WhOIExbXJPxJmr1gVlaE4gMrQnEDEtVuxJfpA3K0JxAxbVbcSX6QDnK1qudZRExqqrcB0q07FnYzoFCyzZlzakdMPdVBZX\/VdyAbJUC3yhJykovl0z9XlOjh7Gt6gO6ytCcQMyrSYku0gblaE4gTFtck\/EmavWBWVoTiAytCcQMS1W7El+kDcrQnEDFtVtxJfpA3K0JxAZWhOIGNtVXJevWBuVoTiBmVaTEl2kDcrQnECYtrkn4kzV6wKytCcQGVoTiBiWq3Ykv0gblaE4gYtqtuJL9IG5WhOIDK0JxAxtqq5L16wNytCcQMyrSYku0gblaE4gTFtck\/EmavWBWVoTiAytCcQMS1W7El+kDiUlSMGjJRY8fTUxjVrc93U1E0gcCjqPmZicbStKNTyj\/kwK8Uu34toHd5WhOIDK0JxAxtqq5L16wNytCcQMyrSYku0gblaE4gTFtck\/EmavWBWVoTiB8ZmahSkFY0xEhwoaXue6pAOpbTc1Pvcyh5F0VF\/8zHrZCbt0u6rtIBtARJqKkWl5yJOKn\/JRbEJP+1L+oDuIcNkGGyHChshsbiRrUqRPQB9MrQnEBlaE4gY21Vcl69YG5WhOIGZVpMSXaQNytCcQJi2uSfiTNXrArK0JxAZWhOIE1qlpVsolekDUVVStERfSAW1W3El+kDcrQnEBlaE4gY21Vcl69YG5WhOIGZVpMSXaQNytCcQJi2uSfiTNXrArK0JxAZWhOIGJardiS\/SBuVoTiBi2q24kv0gblaE4gMrQnEDG2qrkvXrA3K0JxAzKtJiS7SBuVoTiBMW1yT8SZq9YFZWhOIDK0JxAxLVbsSX6QOBTlIOo6jIkZiI6M9UhwWpjtPW73+gDaIkVo+joUByo6Kqq+K5VxueuNygc\/K0JxAZWhOIGNtVXJevWBuVoTiBmVaTEl2kDcrQnEDqqUpqBKq6WhNWam1TFAg5TqutVxYvSBx0omepVzYtNRUSGjrTZKCtTMV1pfrAd1Chtgwmw4UJjGNSprWpUiegCktVuxJfpA3K0JxAxbVbcSX6QNytCcQGVoTiBjbVVyXr1gblaE4gZlWkxJdpA3K0JxAmLa5J+JM1esCsrQnEBlaE4gYlqt2JL9IG5WhOIGLarbiS\/SBuVoTiAytCcQMbaquS9esDcrQnEDMq0mJLtIG5WhOIExbXJPxJmr1gVlaE4gMrQnEDEtVuxJfpA3K0JxAxbVbcSX6QNytCcQGVoTiBjbVVyXr1gblaE4gZlWkxJdpA3K0JxAmLa5J+JM1esDp8fPu5Pm7T\/wBQDusrQnEDEtVuxJfpA3K0JxAxbVbcSX6QNytCcQGVoTiBjbVVyXr1gblaE4gZlWkxJdpA3K0JxALnpuAoCIvQv7KgWAAlt7t4FAS69u8CgAEszG7gOkpxjqPm4VOQLS8lVDmYaLifD070VQO4hRGRmQ4sNyOY9tprk60WoD6gRF6F\/ZUCwAEtvdvAoCXXt3gUAAlmY3cBQErnpuAoCIvQv7KgWAAlt7t4FAS69u8CgAEszG7gOmwjVZpZSh2rV5bEy11YbMp36Adw1rWWWNSprUqRALAiL0L+yoFgAJbe7eBQHTztOQYUz5JJwnzs5XVyULEjcS5zrkA+MOh5qkIiRqbjpEZe2ThKqQm6K9ZQO6hQocGE2HChtYxqVI1qVInoApmY3cBQErnpuAoCIvQv7KgWAAlt7t4FAS69u8CgAEtu9KgUBK56bgKAiL0L+yoFgAJbe7eBQEuvbvAoABLbvSoFASuem4CgIi9C\/sqBYADg0jSEvRkq+PHVb6mMbjc93UiJpA4VGUdMTE2lK0qn7x\/yIH1ZdvxbQO5de3eBQACW3elQKAlc9NwFAcClKUkqOl3LNTDIauatlirlO3IBwXTtL0m1Uo6X8jgLdMzSZTuyz9VA+srg\/Lw4yTE7EiT8ylz5jGjey25AO1Y1GorWoiImJETqxAWBLr27wKAAS270qBQErnpuAoCIvQv7KgWAA+MfoYn\/AM0AVA6Fm4CnXt3gUAAlt3pUCgJXPTcBQERehf2VAsABLb3bwKAl17d4FAAJbd6VAoCVz03AUBEXoX9lQLAAS2928DoYLUpfCV8y5LUpR37OFofF+s70XcAO+de3eBQACW3elQKA4dIUhK0dB5eajNhsRFqRVxu2InWoHWOdS1NdCr6Nkl+uvTRE6lRPqgdhKUZJ0dLPbLQUaqotp643OXaq4wOeAAlt7t4FAS69u8CgAEtu9KgUBK56bgKAiL0L+yoFgAJbe7eBQEuvbvAoABLbvSoFASuem4CgIi9C\/sqBYACW3u3gUBLr27wKAAS270qBQErnpuAoCIvQv7KgdP8A\/Xn\/AON\/90DuwJbe7eBQEuvbvAoABLbvSoFASuem4CgItNtJlJcBtpusnECYrmrCfjTNUCrTdZOIC03WTiBiObWuNLwNtN1k4gYrm1pjS8DbTdZOIC03WTiBjXNRqY0uAOsORWusqi4lResDoqHelFUpEoaLFVYTk5WUc5a629ba9lQHfWm6ycQJiuasJ+NM1QKtN1k4gLTdZOIGI5ta40vA203WTiBiubWmNLwNtN1k4gLTdZOIGNc1GpjS4DbTdZOIGWm2kykuA203WTiBMVzVhPxpmqBVpusnEBabrJxAxHNrXGl4G2m6ycQMVza0xpeBtpusnEBabrJxAxrmo1MaXAdNRCpPUzPUoqosJqpLy6rqtzlTYrvYB3NptpMpLgNtN1k4gTFc1YT8aZqgVabrJxAWm6ycQOvnqZkpB\/JxIixI7lyIEFLcR2LQn6gcFsClaXdXOxlkJNa6peC9OUeleK07q3IB2knJSdHwkgykCHCZXjs3rvXrA5VpusnEBabrJxAxrmo1MaXAbabrJxAy020mUlwG2m6ycQJiuasJ+NM1QKtN1k4gLTdZOIGI5ta40vA203WTiBiubWmNLwNtN1k4gLTdZOIGNc2q9L1A203WTiBlptpMpLgNtN1k4gTFc1YT8aZqgVabrJxAWm6ycQMRza1xpeBtpusnEDFc2tMaXgbabrJxAWm6ycQMa5tV6XqBtpusnEDLTbSZSXAbabrJxAmK5qwn40zVAq03WTiBxKSpKXo2UWPHdX1NY3G57upEQDr6MkI0zNpStK2fKP8AkwK62wG\/FtA7u03WTiBiubWmNLwNtN1k4gLTdZOIGNc2q9L1A203WTiB1k9TtHycfklirGj3JBgJbeq6KkA4qrTlJLjfDouXWqpEVHxVT2Jd\/UDlS1DUfJNfFYzlZhyLajxnW4jl3r+gHZ2m6ycQFpusnEDEc2tcaXgbabrJxAxXNrTGl4G2m6ycQFpusnEDGubVel6gbabrJxAy020mUlwG2m6ycQJiuasJ+NM1QKtN1k4gLTdZOIE1sW0iq1UVQNRzESpFREAK5taY0vA203WTiAtN1k4gY1zar0vUDbTdZOIGWm2kykuA203WTiBMVzVhPxpmqBVpusnEBabrJxAxHNrXGl4G2m6ycQMVza0xpeBtpusnEBabrJxAxrm1XpeoG2m6ycQMtNtJlJcBtpusnECYrmrCfjTNUCrTdZOIC03WTiB1tNzzpOQfyCo6ZjOSFAbXe5bl9F4HIoyUhUdR0GVY5F5NuU7Wd1r6VA5KubWmNLwNtN1k4gLTdZOIE22MYrnOREStVVVA6WLTMefdyNCQeUS1U+bitqhMTrq1lA+0hQ0CBNeWTUZZydWpVjRETJX\/ACp9UDtrTdZOIExXNWE\/GmaoFWm6ycQFpusnEDEc2tcaXgbabrJxAxXNrTGl4G2m6ycQFpusnEDGubVel6gbabrJxAy020mUlwG2m6ycQJiuasJ+NM1QKtN1k4gLTdZOIGI5ta40vA203WTiBiubWmNLwNtN1k4gLTdZOIGNc2q9L1A203WTiBlptpMpLgNtN1k4gTFc1YT8aZqgVabrJxAWm6ycQMRza1xpeBtpusnEDFc2tMaXgbabrJxAWm6ycQMa5tV6XqBtpusnEDLTbSZSXAbabrJxAmK5qwn40zVA6e03n3XWnzd\/7gHdWm6ycQMRza1xpeBtpusnEDFc2tMaXgbabrJxAWm6ycQMa5tV6XqBtpusnEDLTbSZSXAbabrJxALnpuAoCIvQv7KgWAAlt7t4FAS69u8CgAEszG7gKA6unZCJPSjVl3WJqA7lYD66qnJ1blA+tDUjDpOjmTDcl+bFZVmPS9AOZF6F\/ZUCwAEtvdvAoCXXt3gUAAlmY3cBQErnpuAoCIvQv7KgWAAlt7t4FAS69u8CgAHU4QTyyFCvdDRXRotUGE1Otzrv\/mwDl0XJMo6jYEmzG2E2qvSvWvEDkrnpuAoCIvQv7KgfCdn5Sj4PLTcwyEzqtLjXcl6+gDqkmaWph9Uqx9Hyf28RlcR+P6rVuRU61A51G0RKUdadCa58Zy5UaK6092LSB2IEuvbvAoABLMxu4CgJXPTcBQERehf2VAsABLb3bwKAl17d4FAAJbd6VAoCVz03AUBEXoX9lQLAAS2928CgJde3eBQACW3elQKAlc9NwFARF6F\/ZUDi0lSEvRkoseOq31MY3G57upETSBwaMo6YmJtKVpVP3j\/kQPqy7fi2gdy2928CgJde3eBQEucjWq5yoiJjVV6gOoi0\/LrFWXo+E+fmEVciDmpj+s65EA+TJCmKRr+UpxJaAqr+wlFqVU0K+\/hpA7GRo2So7JlJZkKtMaomNbuu8DmgRF6F\/ZUCwAEtvdvAoCXXt3gUAAlt3pUCgJXPTcBQERehf2VAsAB8oj1Yx7kvQCoblfDa5b1QDXXt3gUAAlt3pUCgJXPTcBQERehf2VAsABLb3bwKAl17d4FAAJbd6VAoCVz03AUBEXoX9lQLAAefo93yxhDGpBFtSkl+xgaHP+s79APQAS69u8CgOppCnJeViLLy7VnJ3ql4ONf+5fq+kDjsoiapKKkamozXQ0zZOCrkhotd7l+soHdQoUODCbDhQ2sY1Kka1KkT0AUuem4CgIi9C\/sqBYACW3u3gUBLr27wKAAS270qBQErnpuAoCIvQv7KgWAAlt7t4FAS69u8CgAEtu9KgUBK56bgKAiL0L+yoFgAJbe7eBQEuvbvAoABLbvSoFASuem4CgIi9C\/sqB0\/\/wBef\/jf\/dA7sCW3u3gUBLr27wKAAS270qBQErnpuAoCVz03AUBEXoX9lQLAAS2928CgJde3eBQACWZjdwFASuem4DoptVoWnEnUqSRnnNZH\/wAkTHZduW5QO8i9C\/sqBYACW3u3gUBLr27wKAASzMbuAoCVz03AUBEXoX9lQLAAS2928CgJde3eBQADoXV0jhRBhJU6Xo+GkR\/4rruCYwO+Alc9NwExYsODCdEixGsY1K1c5akT0gdHFpmapJXwqGl0dCRFR03GRUhpjqWzrL1gcqRoODAmvLJqK6cnVqVY8RESz2WpmoB2wEtvdvAoCXXt3gUAAlmY3cBQErnpuAoCIvQv7KgWAAlt7t4FAS69u8CgAEtu9KgUBK56bgKAiL0L+yoFgAJbe7eBQEuvbvAoABLbvSoFASuem4CgODS1IS9HSL40dy48ljEznu6kQDhUZR0xMTaUrSqfvH\/IgfVl2\/FtA7sCW3u3gUB8ZiPCl2JEjxGQ2Je5y1JcoHUvpyLNv5Oh5J82ldSx35EJF39YGMoSPOo19NTrpmqpfJ4WRBTel7vSB2spLQJSAkGXgshQ0VamsSpAOQBK56bgKAiL0L+yoFgAJbe7eBQEuvbvAoABLbvSoFASuem4CgIi9C\/sqBYAD5RGK9j2peoFQ2qyG1q3ogGuvbvAoABLbvSoFASuem4CgIi9C\/sqBYACW3u3gUBLr27wKAAS270qBQErnpuAoCIvQv7KgWB1OEU3FgyKS0rjm5t3Iwkrqqrvd6EA5dGycOj5GFKQsyE2zXpXrX0rjA5YHDpGkJWjoCRpqM2G3HVXe7FcidYHWWqWppWuZylGyDsdpHJy8RFuqvsgdnR9HStHQVhSsOyjltOcqqrnLpVVA5TbvSoFASuem4CgIi9C\/sqBYACW3u3gUBLr27wKAAS270qBQErnpuAoCIvQv7KgWAAlt7t4FAS69u8CgAEtu9KgUBK56bgKAiL0L+yoFgAJbe7eBQEuvbvAoABLbvSoFASuem4CgIi9C\/sqB0\/\/ANef\/jf\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\/Xcl3oT\/5sD29EJM4TyzY89Ooks1bL5SAqttLVjtrtvqA9JLS0CUhtgy8FkKGiLU1jakA5AERehf2VAsABLb3bwKAl17d4FAAJZmN3AUBK56bgKAiL0L+yoFgAJbe7eBQEuvbvAoABLbvSoFASuem4CgIi9C\/sqBYACW3u3gUBLr27wKAAS270qBQHlcPKU8lo9slDdVEmc7Yzx94HksHZakolJwpijpblXwXV1vTITev\/AMUD9OmYzYMk+LMOZDRrK3raxJi0geGpDDKYi0xBiSyvZJQYiLYRalip11+4D0cGPTFMwmxICMo6UiNRyRHVPivRU6kuQDk0fQUlJxeXc10xNJVXHjutur0pXd1gdsBLr27wKAAS270qBQErnpuAoCIvQv7KgWAAlt7t4FAS69u8CgAEtu9KgUBK56bgKAiL0L+yoFgAPjH6GJ\/80AVA6Fm4CnXt3gUAAlt3pUCgJXPTcBQERehf2VAsABLb3bwKAl17d4FAAJbd6VAoCVz03AUBEXoX9lQPDf4jR65yTl681jnr6Vq\/tA8lCiPgxmRYbla9jkc1ydSoB72g4LsJJZJyk5zl2NdUsozJY1UuVyJeB6mHDZChoyGxrGJc1qVIgGuvbvAoABLbvSoFASuem4CgIi9C\/sqBYACW3u3gUBLr27wKAAS270qBQErnpuAoCIvQv7KgWAAlt7t4FAS69u8CgAEtu9KgUBK56bgKAiL0L+yoFgAJbe7eBQEuvbvAoABLbvSoFASuem4CgIi9C\/sqB+Z\/Iv8A\/M\/kyz+zSPXVf+zzur\/KB+nIiIlSYkAxt7t4FAS69u8CgAEtu9KgUBK56bgKAi0lpL7tAG2k28AJiuTkn35q9QFWk28AFpNvADEcla336ANtJt4AcebnIElAWYmYiQ4TMaucigdI7DeiEVURJhU0pD8QHPiiNWZ9WnvAxuG9EI1EszPq094G8+KI1Zn1ae8DOe9EWkWzM+rT3gbz4ojVmfVp7wPlM4Y0LMy0SDEhTD2ParVa6GlS\/wBQODQ2EVC0O2PBgLNrLxInKMY5iKrVqqVK68aYkA7PnxRGrM+rT3gYmG9EVrkzPq094G8+KI1Zn1ae8DFw3oitMmZ9WnvA3nxRGrM+rT3gOfFEasz6tPeBjcN6IRqJZmfVp7wN58URqzPq094Gc96ItItmZ9WnvA3nxRGrM+rT3gS\/DeiHQ3IjZnGlWYnvArnxRGrM+rT3gOfFEasz6tPeBiYb0RWuTM+rT3gbz4ojVmfVp7wMXDeiK0yZn1ae8DefFEasz6tPeB5WmZ6RpSmY80kxFgwoiNbihWnVIiV9aAJZmC8PHMRaQiroRjWp7QO9o7CTBui4ask5eZhtdjXFXXxcBzOe9EWkWzM+rT3gbz4ojVmfVp7wJfhvRDobkRszjSrMT3gVz4ojVmfVp7wHPiiNWZ9WnvAxMN6IrXJmfVp7wN58URqzPq094GLhvRFaZMz6tPeBvPiiNWZ9WnvAc+KI1Zn1ae8DG4b0QjUSzM+rT3gbz4ojVmfVp7wM570RaRbMz6tPeBvPiiNWZ9WnvAl+G9EOhuRGzONKsxPeBXPiiNWZ9WnvAc+KI1Zn1ae8DEw3oitcmZ9WnvA3nxRGrM+rT3gYuG9EVpkzPq094G8+KI1Zn1ae8Bz4ojVmfVp7wMTDeiETNmfVp7wN58URqzPq094Gc96ItItmZ9WnvA3nxRGrM+rT3gS\/DeiHQ3IjZnGlWYnvArnxRGrM+rT3gOfFEasz6tPeBiYb0RWuTM+rT3gbz4ojVmfVp7wMXDeiK0yZn1ae8DefFEasz6tPeA58URqzPq094GJhvRCJmzPq094G8+KI1Zn1ae8DoYtJ0DO0tEn6SWajqq1MgoypjGpcl9agd3CwzoSDCbDhQY7GNxI1sJERP6gebpunFpqKqRplYEs1a2QWMtV7VuxgcKFL0Ki\/tZ+bcmhssif3AenorCmh6No+FKNiTkVsOtEc9ja9OkDmJhvRFa5Mz6tPeBvPiiNWZ9WnvAxcN6IrTJmfVp7wN58URqzPq094DnxRGrM+rT3gYmG9EImbM+rT3gbz4ojVmfVp7wM570RaRbMz6tPeBvPiiNWZ9WnvAl+G9EOhuRGzONKsxPeBXPiiNWZ9WnvAc+KI1Zn1ae8DEw3oitcmZ9WnvA3nxRGrM+rT3gYuG9EVpkzPq094G8+KI1Zn1ae8Bz4ojVmfVp7wMTDeiETNmfVp7wN58URqzPq094Gc96ItItmZ9WnvA3nxRGrM+rT3gS\/DeiHQ3IjZnGlWYnvArnxRGrM+rT3gOfFEasz6tPeBPPah1tIrJlUX\/pp7wNTDeh0SpGTKJ+GnvALhvRFaZMz6tPeBvPiiNWZ9WnvAc+KI1Zn1ae8DEw3ohEzZn1ae8DefFEasz6tPeBnPeiLSLZmfVp7wN58URqzPq094Evw3oh0NyI2ZxpVmJ7wK58URqzPq094DnxRGrM+rT3gYmG9EVrkzPq094G8+KI1Zn1ae8DFw3oitMmZ9WnvA3nxRGrM+rT3gOfFEasz6tPeBiYb0QiZsz6tPeBvPiiNWZ9WnvAznvRFpFszPq094G8+KI1Zn1ae8CX4b0Q6G5EbM40qzE94HmKdnpCmaYWZdMxYMFGtY2qDadi9KdYFSvNSCtcf5QmF0OajW\/wBFr\/qB3kjhPg5RzXtlJWNBRypXZhpWuitawOXz4ojVmfVp7wMXDeiK0yZn1ae8DefFEasz6tPeA58URqzPq094GJhvRCJmzPq094G8+KI1Zn1ae8DOe9EWkWzM+rT3gbz4ojVmfVp7wJfhvRDobkRszjSrMT3gVz4ojVmfVp7wHPiiNWZ9WnvAxMN6IrXJmfVp7wN58URqzPq094GLhvRFaZMz6tPeBvPiiNWZ9WnvAc+KI1Zn1ae8DEw3ohEzZn1ae8DefFEasz6tPeBnPeiLSLZmfVp7wN58URqzPq094Evw3oh0NyI2ZxpVmJ7wK58URqzPq094DnxRGrM+rT3gYmG9EVrkzPq094G8+KI1Zn1ae8DFw3oitMmZ9WnvA3nxRGrM+rT3gOfFEasz6tPeBiYb0QiZsz6tPeBvPiiNWZ9WnvAznvRFpFszPq094G8+KI1Zn1ae8CX4b0Q6G5EbM40qzE94Fc+KI1Zn1ae8Bz4ojVmfVp7wMTDeiK1yZn1ae8DefFEasz6tPeBi4b0RWmTM+rT3gbz4ojVmfVp7wHPiiNWZ9WnvAxMN6IRM2Z9WnvA3nxRGrM+rT3gZz3oi0i2Zn1ae8DefFEasz6tPeBL8N6IdDciNmcaVZie8Dgc5KD+X\/lRWzFvkeSq5NL6779GIDs4eG1DvejXOjw01nQ60\/pWB3sGNDjQ0iwnI+G\/Ka5uNFSoD6Wk28AMVyVpffoA20m3gAtJt4AY1yVdd69QG2k28AMtJaS+7QBtpNvAAuem4CgIi9C\/sqBYACW3u3gUB5HDROWpCipR+OE97nOTTcWEfVjGsbZY1rW6ESo26NAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+UzLwpmC6FGYjmuTgEfbAKM99CRYLlrSDGc1u6pF95zYenAl17d4FAAJbd6VAoCVz03AUBK56bgKAiL0L+yoFgAJbe7eBQHksLvn6iN7\/ANCz2sfU22AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ\/w\/wDm2c\/mF9iHNzeqAl17d4FAAJbd6VAoCVz03AUBFlLSX3aQNspt4gTFanJPvzV6wKspt4gLKbeIGI1K1vv0gbZTbxA8phalVPURvf8AoWe1j6m2wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGACV0bOX\/wAQvXsQ5ub1NlNvEDFalaX36QNspt4gLKbeIGNalXXevWBtlNvEDLKWkvu0gbZTbxALnpuAoCIvQv7KgWAAlt7t4FAeSwu+fqI3v\/Qs9rH1NtgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACf8P\/m2c\/mF9iHNzeqAl17d4FAAJbd6VAoCVz03AUBGVaTEl2kDcrQnECYtrkn4kzV6wKytCcQGVoTiBiWq3Ykv0gblaE4geUwtVfl6iK9L\/wBCz2sfU22AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIwAVfk2cqRP4hevYhzc3qcrQnEDFtVtxJfpA3K0JxAZWhOIGNtVXJevWBuVoTiBmVaTEl2kDcrQnEAuem4CgIi9C\/sqBYACW3u3gUB5LC75+oje\/8AQs9rH1NtgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1NKUq+Xj+TwW1PZEgo5y40qe5Uq\/oS1FzlLQpSmYcrGjQYULkViPdEWpa66kRP6jTXIgUpR8zGbBgTkGJEdc1r0VVLo4s5P0jLz8KXhycu9sdzmw3LFVLm148WK4g+MWmJ9jJ16SkvZk0TlK4rq1WzWtWSNNciWpCcWclYMzLwGtmWOe10OIrlSpEvramkDsyq48SbRlIwZPk1VYrHPtV4ks1e8I5AVx5ycbKIxXQJiLa+xhK+rfUEdXBp90WkIzWyk46XhtRuTLOV1vrr0Yqiaa5XyzD8xpH\/APVcNNdkVXBpClIUlGhy6QoseYipW2FCbW6rTsQajJClYU5MPlnQY0vMMbaWFGbUqt0ppJprnlUAAdQ7CCG5YjpaSm5mDDVUdGhMSzivqx4yamuxk5qDOyrJmXfahvStFKPsFcCfpWDJzDJZIUaYmHpabCgtrWrSuhCampkKYgzk0+VdBjS8yxLXJxm1KqaUGmvhFp+zOR5aDR03HdAdZe6E1FQaa+8lSkWamWwXUZOQEWv9pFZU1Bo464QWpiPCg0bOR+QiOhOdDaipWijTXJkaUizUwkJ1GzkBKq7cVlTRo4kLCPl1ieT0XOxmw3qxXMaipWnpGmuZIUlEnI7ob6PmpdEbatxm1IuwaFK0oyjUg2oEWM6M+w1sNMdYtHG+XI\/3LSPq0GmvtSFMNkfJGrKTESLNIqthsRLSVIlaLxGmvj8uR\/uWkfVoNNfSfppslMS8v5JMRosdltrIaIq7hpr5\/Lkf7lpH1aDTX0pGmmyVIMkmykxMRXw+URISIuKtU\/QaallNRnva35HpBta1VrDSpBprtiqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE\/4f\/Ns5\/ML7EObm9UBLr27wKAAS270qBQErnpuAoCVz03AUBEXoX9lQLAAS2928CgPJYXfP1Eb3\/oWe1j6m2wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8thDIQmPiz06kNeUmYTWLXdDSqv8AUlZqJaUl4saDBgNZYmZnlqmtVEZAhriTHpX2kH2o1jXz8hNI2pJmPMRm7qrLf6e0o5NKrSPy3IckyVVtt\/JWnux\/s1rtYsXXcKrrKTgrD+Vok1IzDokREVkWGjuTTISvHorJUcyioLHUnIRZeSmoLGQXpEfFRbKqqNqqrXeWDspmHytPQYbokVIayz3K1kRzMaObjxLtUquO+BLtpxyviR2woMFGK9Y78TnuxJXXizf6oQfeLBSBTMikOJHsubEtNdGe5FqRNKgfSmaTZRkk6JVbjORUhQ0vcvuTrFpXEkZBi0ZL\/wDiExAiPbysRYb2tV7nY1Va0UDj0ekzMUhy0OkplsnBerXcu9qujORalqRExNA9EVXSSGXhhSjnXw4UNjdypWT9T9KU\/Z4U0PEbe9IrHbrPiL7P13T3thw3RHuRrWpW5V6kKrjS1JSM1F5KXm4MV9Vdljq1GhSr3Q6InIjc5sB6p3VFHwwdY2Hg\/JNalScki8cYnpI6uipWLMUfSkrLzD4D4M7E5J7HKlVXUtXUSIqFPzVNxoElD5WVdBW1OuYtlWqi1WUXaqD2e3czLGS3KTsKV5WYso3IznJXdWVXT0fGdP4TeUTTFlI0GCrIcs+u05K86uqpfQT9T9fOQpCFI03S6RIUd9uK2rkoSv6l0DR3EnSsGcj8iyBNMWquuJBVqcRquloikoUlN0rDiQZh6unYi1woSvS\/YSVI7uRpSDOxlhw4MyxUbariwlYn9TWq6HBylIMlLzkOJBmXqs091cKEr06tBmVI7+RpKFOxHQ4cGYYrUrriwlYn9TWq63CeKkCaoqK5rnIyZrVGpWq+glK5Py\/Leaz3\/wCs4aa4dPzLYNM0LMOZEc1FiLZa2t2a3qFSuZ8vy3ms9\/8ArOGrrg03MNlcLKMjPa9zWw4mKG2065eoX2l9ue2npdVRPJZ3H\/8A67hq666k5pknhrLxnsiPTySqqGxXLnO6h+p+uyh05LxIjIaS06iuVErWXciDV12ZVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACf8P8A5tnP5hfYhzc3qgJde3eBQACW3elQKAlc9NwFARZbaTJS4DbLdVOAExWtSE\/EmaoFWW6qcAFluqnADEa2tcSXgbZbqpwA8phaiJT1EVJVjf8AoWe1j6m2wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6HCCj5Zqwpzk1dHfMwktOcq1JaTEidRKlTSDOQjzEFkdIk9PVo6IqVJLwU69iInFQPvB8ndTslLyz2uhykq\/NdXVWrWon9AfpSHl8xSkuspJ1eSucvKx3WWOtNVMVWNbwOLTES3RMyrqaY56wltQIfJ2VWrGiYrX9RUrmUZEaiS9dNJFyUTkF5LHiuxJWFfWZ5T5fgJCs2llYmN1yZTMY\/Ry4MnChy74Lv2vK1rFV971W+so62BLxJOfo6XixuVsJGRjlvs4qkX0EHNpSFDdITMVWNWI2BERrqsaIrcZariS9H0ZEo+VjzctLK98KGiviNTHkoRHHoKi6NmJB0R8lAfXGiI1ysRa22lqq2CQjv0RESpLkKrpp2FNSFNLSUvLPmYUaEkOLDZnNVLnJpIiZWFNUjTcOkY8s+WgS0NWQmRM9znXqqdWIDunNa9qtciOaqVKi9ZVfKFJysF9uDLQYbtZjERQi40NsaC+E\/Ne1WruUK6KRmKQomTSj30ZHmHwq2wosKqw9K8VeqT0i5aWn6LoJ7IMLlZ+ZiK91nNY53WuxAIdRMaiPJpyQa6PGZkTTa8cdFXG7eijMMcmcj0nJ0l5RDgxJuRiMT9kypHw3busD5QIc3SVOy9IRZR8rAlmORqRM96uSq7qQD7URLRoNK0rEiQ3NZGitVir9ZKlEHbFV1NAy0aXjUksaG5iRZt72V\/WavWSJHbFV0+DErHlJSabMQnQ3Pmnvai9bVRMZIkcumJ2LR9HumYUDllYqVtrqxaS0cam5aNHnqLfChue2FMI96p9VNJKV2xVdTSktGi07RMaHDc6HBdE5RyfVrRKiVHbFV089Kx4mFVHTLITlgw4b0e\/qbW1SfqfruCq6eNKx1wxgTSQncg2VsLE6rVbsRP1P13BVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGACItGzlaIv7wvsQ5ub1NluqnADFa2tMSXgbZbqpwAWW6qcAMa1tVyXqBtluqnADLLbSZKXAbZbqpwALnpuAoCIvQv7KgWAAlt7t4FAeSwu+fqI3v\/AELPax9TbYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfONAhTDWtjMR6Ncj0RdKXKBroMJznuWExVe2y9VbnJoUCZeUlpW15PLwoNq\/k2I2vgB9QOMtHyK41k5f1TQKZIycN6PZKQGubjRUhoioBawIazLZhW\/tWsViLX1KqKvsQD6AfFJOXScWbSE3l1bYt7Aj6RGNiQ3Q3paY9Fa5NKBUPlZeJAbAiQIb4TarLHtRyJVdeEfRjGw2I1jUa1MSIiVIgVoAAAAAAAAAAAAAAAAAA+ceBDmIfJxm22VotW5a0A+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ\/w\/8Am2c\/mF9iHNzeqAl17d4FAAJbd6VAoCVz03AUB86olpMpt2r4gbVE1m93xAmKkTkn1ubmr9XxAqqJrN7viAqiaze74gYiRK3ZTb9XxA2qJrN7viB5TCy18vURaVFxvuTcWe1j7G2wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB88AbXybN2XIn7wt6bEObm9TVE1m93xAxUiVtym36viBtUTWb3fEBVE1m93xAxqRKs5t6\/V8QNqiaze74gZVEtJlNu1fEDaoms3u+IGrnpuAoCIvQv7KgWAAlt7t4FAeSwu+fqI3v\/AELPax9TbYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAn\/D\/wCbZz+YX2Ic3N6oCXXt3gUAAlt3pUCgJXPTcBQEWktJfdoA20m3gBMVyck+\/NXqAq0m3gAtJt4AYjkrW+\/QBtpNvADymFq109RG9\/6FntY+ptsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARgAtVGzl\/8QvVsQ5ub1NpNvADFclaX36ANtJt4ALSbeAGNclXXevUBtpNvADLSWkvu0AbaTbwALnpuAoCIvQv7KgWAAlt7t4FAeSwu+fqI3v8A0LPax9TbYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAn\/D\/AObZz+YX2Ic3N6oCXXt3gUAAlt3pUCgJXPTcBQErnpuAoCIvQv7KgWAAlt7t4FAeRw0VIFKUVMxMUJrnNc7RcWEfZFRURUWtFNugAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMWIyFCdEiORrWpWqqBWAENyUNHiqlSRY7lTdUhzc3qAJde3eBQACW3elQKAlc9NwFARZS0l92kDbKbeIExWpyT781esCrKbeICym3iBiNStb79IG2U28QOPOyUvPS6y0zD5SE+9FUDz64DSFa2Juba3qS01av6AOY0l59N95PcBiYDyatRfLpvvJ7gN5jSXn033k9wGcx5K1V5dN95PcBvMaS8+m+8nuAl+BEm1jneXTdaJXnJ7gK5jSXn033k9wDmNJefTfeT3AYmA8lWv79N95PcBvMaS8+m+8nuAxcB5KtP36b7ye4DeY0l59N95PcA5jSXn033k9wGJgPJq1F8um+8nuA3mNJefTfeT3AZzHkrVXl033k9wG8xpLz6b7ye4CX4ESbWOd5dN1olecnuArmNJefTfeT3AOY0l59N95PcBiYDyVa\/v033k9wG8xpLz6b7ye4DFwHkq0\/fpvvJ7gN5jSXn033k9wDmNJefTfeT3AYmA8mrUXy6b7ye4DeY0l59N95PcBnMeStVeXTfeT3AbzGkvPpvvJ7gJfgRJtY53l03WiV5ye4CuY0l59N95PcA5jSXn033k9wGJgPJVr+\/TfeT3AbzGkvPpvvJ7gMXAeSrT9+m+8nuA3mNJefTfeT3AOY0l59N95PcBiYDyatRfLpvvJ7gN5jSXn033k9wGcx5K1V5dN95PcBvMaS8+m+8nuAl+BEm1jneXTdaJXnJ7gK5jSXn033k9wDmNJefTfeT3AYmA8lWv79N95PcBvMaS8+m+8nuAxcB5KtP36b7ye4DeY0l59N95PcA5jSXn033k9wGJgPJKn8dN95PcBvMaS8+m+8nuAzmPJWqvLpvvJ7gN5jSXn033k9wEvwIk2sc7y6brRK85PcBXMaS8+m+8nuAcxpLz6b7ye4DEwHkq1\/fpvvJ7gN5jSXn033k9wGLgPJVp+\/TfeT3AbzGkvPpvvJ7gHMaS8+m+8nuAxMB5JU\/jpvvJ7gN5jSXn033k9wGcx5K1V5dN95PcBvMaS8+m+8nuAl+BEm1jneXTdaJXnJ7gK5jSXn033k9wDmNJefTfeT3AYmA8lWv79N95PcBvMaS8+m+8nuAxcB5KtP36b7ye4DeY0l59N95PcA5jSXn033k9wGJgPJKn8dN95PcBvMaS8+m+8nuAzmPJWqvLpvvJ7gN5jSXn033k9wEvwIk2sc7y6brRK85PcBXMaS8+m+8nuAcxpLz6b7ye4DEwHkq1\/fpvvJ7gN5jSXn033k9wGLgPJVp+\/TfeT3AbzGkvPpvvJ7gHMaS8+m+8nuAxMB5JU\/jpvvJ7gN5jSXn033k9wGcx5K1V5dN95PcBvMaS8+m+8nuAl+BEm1jneXTdaJXnJ7gK5jSXn033k9wDmNJefTfeT3AYmA8lWv79N95PcBvMaS8+m+8nuAxcB5KtP36b7ye4DeY0l59N95PcA5jSXn033k9wGJgPJKn8dN95PcBvMaS8+m+8nuAzmPJWqvLpvvJ7gN5jSXn033k9wEvwIk2sc7y6brRK85PcBXMaS8+m+8nuAcxpLz6b7ye4DEwHkq1\/fpvvJ7gN5jSXn033k9wGLgPJVp+\/TfeT3AbzGkvPpvvJ7gHMaS8+m+8nuAxMB5JU\/jpvvJ7gN5jSXn033k9wGcx5K1V5dN95PcBvMaS8+m+8nuAl+BEm1jneXTdaJXnJ7gK5jSXn033k9wDmNJefTfeT3AYmA8lWv79N95PcBvMaS8+m+8nuAxcB5KtP36b7ye4DeY0l59N95PcA5jSXn033k9wGJgPJKn8dN95PcBvMaS8+m+8nuAzmPJWqvLpvvJ7gN5jSXn033k9wEvwIk2sc7y6brRK85PcBXMaS8+m+8nuAcxpLz6b7ye4DEwHkq1\/fpvvJ7gN5jSXn033k9wGLgPJVp+\/TfeT3AbzGkvPpvvJ7gHMaS8+m+8nuAxMB5JU\/jpvvJ7gN5jSXn033k9wGcx5K1V5dN95PcBvMaS8+m+8nuAl+BEm1jneXTdaJXnJ7gK5jSXn033k9wDmNJefTfeT3AYmA8lWv79N95PcBvMaS8+m+8nuAxcB5KtP36b7ye4DeY0l59N95PcA5jSXn033k9wGJgPJKn8dN95PcBvMaS8+m+8nuAzmPJWqvLpvvJ7gN5jSXn033k9wEvwIk2sc7y6brRK85PcBXMaS8+m+8nuAcxpLz6b7ye4DEwHkq1\/fpvvJ7gN5jSXn033k9wGLgPJVp+\/TfeT3AbzGkvPpvvJ7gHMaS8+m+8nuAxMB5JU\/jpvvJ7gN5jSXn033k9wGcx5K1V5dN95PcBvMaS8+m+8nuAl+BEm1jneXTdaJXnJ7gK5jSXn033k9wFQ8B6NR1qLMTUVE+qrkRPYB6KXgQpeEkGCxGQ2YmtbciAfSym3iBitStL79IG2U28QFlNvEDGtSrrvXrA2ym3iBllLSX3aQNspt4gFz03AUBEXoX9lQLAAS2928CgJde3eBQACWZjdwFASuem4CgIi9C\/sqBYACW3u3gUBLr27wKAASzMbuAoCVz03AUBEXoX9lQLAAS2928CgJde3eBQACWZjdwFASuem4CgIi9C\/sqBYACW3u3gUBLr27wKAASzMbuAoCVz03AUBEXoX9lQLAAS2928CgJde3eBQACW3elQKAlc9NwFARF6F\/ZUCwAEtvdvAoCXXt3gUAAlt3pUCgJXPTcBQERehf2VAsABLb3bwKAl17d4FAAJbd6VAoCVz03AUBEXoX9lQLAAS2928CgJde3eBQACW3elQKAlc9NwFARF6F\/ZUCwAHyiPVjHuS9AKhuV8NrlvVANde3eBQACW3elQKAlc9NwFARF6F\/ZUCwAEtvdvAoCXXt3gUAAlt3pUCgJXPTcBQERehf2VAsABLb3bwKAl17d4FAAJbd6VAoCVz03AUBEXoX9lQLAAS2928CgJde3eBQACW3elQKAlc9NwFARF6F\/ZUCwAEtvdvAoCXXt3gUAAlt3pUCgJXPTcBQERehf2VAsABLb3bwKAl17d4FAAJbd6VAoCVz03AUBEXoX9lQLAAS2928CgJde3eBQACW3elQKAlc9NwFAf\/Z","alt":null,"title":null,"style":null,"href":null,"fromPaste":false,"pastePass":false}}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"MMU引入帶來的好處是:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"numberedlist","attrs":{"start":1,"normalizeStart":1},"content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":1,"align":null,"origin":null},"content":[{"type":"text","text":"權限控制。可以對一些虛擬地址進行訪問控制,比較代碼段爲只讀,用戶程序代可寫。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":2,"align":null,"origin":null},"content":[{"type":"text","text":"提升內存使用率:物理內存按需申請。fork子進程的對應的物理空間是能過寫時複製才進行真正的物理內存分配。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":3,"align":null,"origin":null},"content":[{"type":"text","text":"不同進程之間可以使用相同的虛擬內存地址空間,而進程的物理內存又可以隔離。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":4,"align":null,"origin":null},"content":[{"type":"text","text":"系統運行多個進程,所分配的內存之和可以大於實際物理內存大小。"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"這是我認爲最經典"},{"type":"text","text":","},{"type":"text","marks":[{"type":"strong"},{"type":"strong"}],"text":"最本質"},{"type":"text","text":","},{"type":"text","marks":[{"type":"strong"},{"type":"strong"}],"text":"最受啓發的中間抽象層的設計"},{"type":"text","text":"。"}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"CPU與外設的通信"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"CPU訪問外設有兩種方法:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"IO與內存統一編址"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"IO與內存的獨立編址"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/02\/02f411bc490cfd6e0e0beec4315d6f83.jpeg","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"外設接口中的IO寄存器(即IO端口)與主存單元一樣看待,每個端口占用一個存儲單元的地址,將主存的一部分劃分出來用作IO的地址空間。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"把外設的寄存器當做是一個內存地址,從而CPU以類似訪問內存相同的方式來操作外設。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"對IO外設的端口映射到一個物理內存單元地址,在CPU與外設之間的‘內存’抽象層,帶來好處是訪問內存一樣去訪問外設。"}]}]}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"小結:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Linux中的內核硬件層設計、MMU、CPU與IO外設通信設計處處體現了分層\/中間層的設計思想。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"TCP\/IP網絡協議堆棧"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"從最底層的物理鏈路層層層向上封裝抽象,解決了複雜的網絡通信的問題。同樣的,任何複雜的問題,通過分層最終總能夠迴歸最本質。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這個分層架構,對所有開發者而言,再熟悉不過,它的引入是想與後續介紹的Netty形成對比。這裏先賣個關子,後面解開謎底。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/a2\/a24c83d11110b81ee765b1aacd6ef90d.jpeg","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"舉例說明:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"來自杭州西湖區某個小區的商務人士來京出差後,被確診新冠肺炎,實施在京隔離措施,同時北京將此報告先發給浙江省,接着浙江省發給杭州市政府,然後市政府再向西湖區發送,最後到達某小區。這個發送報告過程也是分層報告思想。"}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"DNS中間層"}]},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/11\/1105ea63fb505858b9cf1074def48bca.jpeg","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"DNS(Domain Name System)是域名系統,是用來將主機轉換爲IP地址的服務。我們有至少三種方式在互聯網上標識一臺主機,主機名、IP地址以及MAC地址。爲什麼有引入DNS中間抽象層呢?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"主要是主機名便於記憶,而IP地址方便於在計算機網絡設備的處理,因此需要設計出一個DNS協議(中間層)來做主機名到IP地址的轉換。"}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"ARP中間層"}]},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/2a\/2adbbf31ed01f558e73d1e3c6952bf24.jpeg","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"ARP(Address Resolution Protocol)是地址解析協議,它根據IP地址來獲取物理地址。上面也談到,MAC與IP都可以用來標識一臺主機。那這二者區別是什麼?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"同一個局域網中的一臺主機和另一臺主機通信的時候,需要通過MAC地址進行定位,之後才能進行數據包的傳送。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"而在網絡層和傳輸層中,主機之間是通過IP地址來定位的,對應的數據包中必須攜帶目標主機的IP地址,而沒有MAC地址。"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"因此,ARP協議(中間層)用來實現從IP到MAC地址的轉換。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"Netty"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Netty提供了異步的,基於事件驅動的網絡應用程序框架。目前分佈式搜索引擎,Spark框架底層是擴展使用Netty框架。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Netty本身的架構理解有些曲線,爲了講清楚,我還是希望循序漸進方式,通過它的發展歷史來一步步介紹。先鋪墊再介紹,大家需要一些耐心。"}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"傳統阻塞IO服務模型"}]},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/a6\/a60c8752663c48d064cdd6e6f1b0e780.jpeg","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"思路:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"採用阻塞IO模式獲取輸入數據。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"每個連接都需要獨立的線程完成數據的輸入,業務的處理和數據返回。"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"問題:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"當併發數很大的時候,就會創建大量的線程,佔用了很大的系統資源。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"連接創建後,如果當前線程沒有數據可讀,這個線程會阻塞在read方法上,造成資源浪費。"}]}]}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"單Reactor單線程"}]},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/f9\/f9c85508be21c460d24bdd7b61a89645.jpeg","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"思路:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"通過引入Selector事件選擇器來監聽多路連接的請求。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Reactor對象通過Selector監控客戶端請求事件後,通過Dispatch進行分發。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"如果建立連接請求事件,則由Acceptor負責建立一個連接,然後創建一個Handler對象處理連接完成後的業務處理。"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"問題:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"模型簡單,沒有多線程,資源競爭的問題。所以工作在一個線程完成。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"性能問題,一個線程,無法發揮多核CPU的性能。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"可靠性問題,線程crash,會導致整個系統不可用。"}]}]}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"主從Reactor多線程"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"主React處理所有socket連接事件的監聽和響應,而從React處理所有socket的讀寫事件的監聽與響應。主從React都在多線程中運行。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/b2\/b24f09f5d53cc8d23b2caa72f1963a73.jpeg","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"Netty模型"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Netty主要基於主從Reactor多線程模型發展出來的。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/ea\/ea49cdbe64c6982c9f974c78d2dbe5d8.jpeg","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"Netty邏輯架構"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"前面Netty的發展階段都是鋪墊,Nettty邏輯架構爲典型網絡分層架構設計,從下到上分別爲網絡通信層、事件調度層、服務編排層。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/86\/86931e95eab5ade335932ee0a3c7efd3.jpeg","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"網絡通信層:它執行網絡I\/O操作,核心組件包含BootStrap、ServerBootStrap、Channel。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":1,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Channel通道,提供了基礎的API用於操作網絡IO,比如bind、connect、read、write、flush等等。它以JDK NIO Channel爲基礎,提供了更高層次的抽象,同時屏蔽了底層Socket的複雜性。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":1,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Channel有多種狀態,比如連接建立、數據讀寫、連接斷開。隨着狀態的變化,Channel處於不同的生命週期,背後綁定相應的事件回調函數。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"事件調度層:它的核心組件包含EventLoopGroup、EventLoop。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":1,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"EventLoop本質是一個線程池,主要負責接收Socket I\/O請求,並分配事件循環器來處理連接生命週期中所發生的各種事件。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"服務編排層:它的職責實現網絡事件的動態編排和有序傳播。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":1,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"ChannelPipeline基於責任鏈模式,方便業務邏輯的攔截和擴展。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":1,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"本質上它是一個雙向鏈表將不同的ChannelHandler鏈接在一塊,當I\/O讀寫事件發生時,會依次調用ChannelHandler對Channel(Socket)讀取的數據進行處理。"}]}]}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"ChannelPipeline私有協議棧vsTCP\/IP協議棧"}]},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/f4\/f473b90a16b83f4e256d58b4ca95a7a8.jpeg","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"前面鋪墊這麼久"},{"type":"text","text":","},{"type":"text","marks":[{"type":"strong"},{"type":"strong"}],"text":"就是爲了自然過渡到上面的圖"},{"type":"text","text":","},{"type":"text","marks":[{"type":"strong"},{"type":"strong"}],"text":"請務必與TCP\/IP協議棧進行對比"},{"type":"text","text":"。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"numberedlist","attrs":{"start":1,"normalizeStart":1},"content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":1,"align":null,"origin":null},"content":[{"type":"text","text":"socket。read經過TCP\/IP協議棧後,進入Netty的網絡通信層,事件調度層,最後來到服務編排層。而服務編排層的ChannelPipeline的設計也是一個upstream\/downstream的stack,一進一出的兩個Pipeline,負責處理流入\/流出的數據包。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":2,"align":null,"origin":null},"content":[{"type":"text","text":"上面的stack就非常類似TCP\/IP協議棧。根據公司組織的需要可以定製分層的私有協議棧,比如authentication-handler、message-validation-handler、message-encode-handler、message-decoder-handler。"}]}]}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"微服務分層"}]},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/44\/4493f384855332532c6706e695671ebc.jpeg","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"numberedlist","attrs":{"start":1,"normalizeStart":1},"content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":1,"align":null,"origin":null},"content":[{"type":"text","text":"gRPC-Gateway"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":1,"number":1,"align":null,"origin":null},"content":[{"type":"text","text":"它是一個開源框架,讀取Protobuf接口定義並生成一個反向代理服務器,此時服務器一步將RESTful API轉換成gRPC服務。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":2,"align":null,"origin":null},"content":[{"type":"text","text":"Middleware"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":1,"number":1,"align":null,"origin":null},"content":[{"type":"text","text":"實現鑑權功能,比如哪些URL需要權限檢驗"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":3,"align":null,"origin":null},"content":[{"type":"text","text":"Handler通用處理層"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":1,"number":1,"align":null,"origin":null},"content":[{"type":"text","text":"參數檢驗:Handler層負責執行與客戶端約定參數的檢驗,檢驗通過後再組裝成後端服務需要的數據結構發往後端。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":1,"number":2,"align":null,"origin":null},"content":[{"type":"text","text":"接口聚合\/組合服務:Handler層可以根據業務需要,調用多個後端服務的endpoint來組合實現一個新的接口,同時將下層返回的數據進行聚合處理。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":4,"align":null,"origin":null},"content":[{"type":"text","text":"service\/model業務邏輯層"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":1,"number":1,"align":null,"origin":null},"content":[{"type":"text","text":"對業務邏輯的封裝,負責將多個DAO數據結構轉換和封裝成一個有邏輯意義的模型。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":1,"number":2,"align":null,"origin":null},"content":[{"type":"text","text":"可以引入緩存策略,優化數據存取效率。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":5,"align":null,"origin":null},"content":[{"type":"text","text":"DAO層"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":1,"number":1,"align":null,"origin":null},"content":[{"type":"text","text":"數據訪問層,主要負責操作DB中某張表並映射到內存中某個DAO模型。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":1,"number":2,"align":null,"origin":null},"content":[{"type":"text","text":"與數據表結構一一對應,通過DAO內存模型向上層傳遞數據源的對象。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":6,"align":null,"origin":null},"content":[{"type":"text","text":"數據訪問層DAL"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":1,"number":1,"align":null,"origin":null},"content":[{"type":"text","text":"對底層的數據源做統一的抽象,屏蔽數據庫。如果沒有DAL的存在,那麼幾乎所有的業務邏輯層都會去與具體的數據庫存儲強綁定,耦合性就很高。"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"還有一個補充點"},{"type":"text","text":":"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"業務邏輯層中的服務在實際場景中不可避免的會出現互相調用的場景,這種情況往往需要將耦合\/公共的功能進行下沉。比如數據請求下沉爲數據訪問層服務,而業務下沉爲穩定的通用業務服務,被其它服務穩定依賴。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"Rails On Rack"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"熟悉Ruby On Rails Web應用框架的開發者,肯定知道Rack是如何成爲應用容器(Web Server)和應用框架之間的橋樑。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/84\/84b41f721e89faf93d9926aa86056cf9.jpeg","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Rack在Web Server和應用框架之間提供了一套最小的API接口,如果Web Server都遵循Rack提供的這套規則,那麼所有的框架都能通過協議任意地改變底層。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/5f\/5f77db3c9f9fb7c63ac20b2d006ea19c.jpeg","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Rack分層設計非常類似Decorate pattern或者Chain-of-responsibility pattern。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"總結"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"本文作者結合自身工作經驗,總結一些典型分層設計案例:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"計算機語言的發展。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Linux內核設計(內核功能層與內核硬件層,MMU抽象層,CPU與外設的通信)。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"TCP\/IP網絡協議堆棧(DNS和ARP協議)。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Netty框架發展以及分層私有協議棧分析。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"微服務分層。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"應用框架Rails on Rack。"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這些案例充分說明了計算機系統本身就是通過一層一層抽象構造出來的。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"硬件方面是從一個個小的晶體管,抽象成一個個門電路,再到CPU器件,最後抽象組成計算機。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"軟件設計也是由一個層次一個層次的功能完善疊加的,無論是自頂向下還是自底向上。"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":4},"content":[{"type":"text","text":"關於作者"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"楊敏,Freewheel首席工程師,負責SFX團隊的整體工作。目前從事服務化框架、容器化平臺相關。關注與感興趣的技術主要有Python\/Java虛擬機、Golang、K8S、分佈式數據庫、分佈式搜索引擎ElasticSearch。"}]}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章