From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: "Elijah G." Newsgroups: gmane.emacs.devel Subject: Re: Stipples support in MS-Windows port Date: Tue, 21 May 2024 20:06:38 -0600 Message-ID: <86o78yr45t.fsf@gmail.com> References: <87a5l49a53.fsf@yahoo.com> <87seyw7udp.fsf@yahoo.com> <87wmo0zzni.fsf@yahoo.com> <86r0e83gez.fsf@gnu.org> <861q661vgf.fsf@gmail.com> <86le4dvxx9.fsf@gmail.com> <87frulynby.fsf@yahoo.com> <86zfslctt8.fsf@gmail.com> <86r0dwag4n.fsf@gnu.org> <86r0dww9ne.fsf@gmail.com> <86le43x6ss.fsf@gmail.com> <86o78z8jw2.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="30433"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: luangruo@yahoo.com, emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed May 22 04:09:27 2024 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1s9bPx-0007bt-WB for ged-emacs-devel@m.gmane-mx.org; Wed, 22 May 2024 04:09:26 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1s9bPD-0002OC-6o; Tue, 21 May 2024 22:08:39 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1s9bPB-0002O3-Ud for emacs-devel@gnu.org; Tue, 21 May 2024 22:08:38 -0400 Original-Received: from mail-oo1-xc42.google.com ([2607:f8b0:4864:20::c42]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1s9bOz-0004dA-Cn; Tue, 21 May 2024 22:08:37 -0400 Original-Received: by mail-oo1-xc42.google.com with SMTP id 006d021491bc7-5b283d2b1b4so2588486eaf.0; Tue, 21 May 2024 19:08:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1716343702; x=1716948502; darn=gnu.org; h=mime-version:message-id:date:user-agent:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=qqtw/FriuPtKKYezGzvAI7PWACyPFmIiy5O7KbZOVlU=; b=H7JYSkHGMsoy756lqXdHz2TbBSTgrhRfDxqbBKP8oAkUyBkemnQrVkGMzDhKOE2unu NM+Gj+w3V6tCQtJMAdJwKHMv5YxCM6Tivg/c3FFx/NWGs+h7+v8lUbmAu+q5Y9l+SxBm bVE+dURKtKISeXJqe5luI3DRSMW1LVUCiml9jWk4tODJ0nb+K1EbKII5OKha893eJ28P +Ndg7D7Ma9HYvkW22QiBh1iG6sg4LvjdCY7xmF6e4AtCuuvX7y8DmqtDXV0ZykUClBqZ hbUGgsoVtpj1k4o+96U1o11PzOLpTFNDH8/RWuuNEx4Q6w9ewgZZujPOImasdAp47COD t+gw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1716343702; x=1716948502; h=mime-version:message-id:date:user-agent:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=qqtw/FriuPtKKYezGzvAI7PWACyPFmIiy5O7KbZOVlU=; b=Q2vNjISgC+453d/KcEB7fC5VGKGqzOEJV6ohhsVK4kvDAEw9VmbDGw2YALYfNDDLdv 9Cf6cTzoFhmgquDuK2cUBWTg7ufLipgX+nD362iaOUMBVtnoXAMWgqsOZ7zwwsQrRX7M WvcY9rzpT6NNZrjLQCbASAawMpHbh9+lQZNaxb6Dz01CExcy5qWBoy5dPeS8r4HUeSU/ v9jwpcxL3oZ95iNUnSiKnSACq8ygNj85vkoJtVnmRSEdn+XdgGxobI3YJZEGY9FuJdeI rgSjR+SP5tRBy5qMtbjhvuvYBCg/TDM7pfFRftXH/56ziIX7Ny2Obw9gwCeOdToXDT+4 zULQ== X-Forwarded-Encrypted: i=1; AJvYcCX3myK4zwy5Y4VGcSA4bWqD9Q+1KccjnkCmT6+Wn5ncLVa5gphzYKErXswfRMdwpHtIluHAogAsXsyijXnwLcLs3Rs/ X-Gm-Message-State: AOJu0Yy/rUPtrwWvBBY06YFxSnm6Swf/98dt7jVstSL0JEcQjA4OvPOu RGn3ZLXTxwyzuhWzD47vZXH+CTjblpg1TSwPaCizEX4Il/wZMH2bhahmcnNY X-Google-Smtp-Source: AGHT+IEgIGCCFW1VzVYT0nfuY5o1cajyE3XYfaJCUXOLXOJmk6doqNjlX7w+MlEhhuZ3YSEy6n6rmg== X-Received: by 2002:a05:6820:549:b0:5aa:596c:52d0 with SMTP id 006d021491bc7-5b6a3a14b2dmr1156250eaf.6.1716343702113; Tue, 21 May 2024 19:08:22 -0700 (PDT) Original-Received: from LIBERO ([187.184.24.187]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-5b5390b9c54sm926023eaf.0.2024.05.21.19.08.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 May 2024 19:08:20 -0700 (PDT) In-Reply-To: <86o78z8jw2.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 21 May 2024 14:49:33 +0300") Received-SPF: pass client-ip=2607:f8b0:4864:20::c42; envelope-from=eg642616@gmail.com; helo=mail-oo1-xc42.google.com X-Spam_score_int: 11 X-Spam_score: 1.1 X-Spam_bar: + X-Spam_report: (1.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, FREEMAIL_REPLY=1, PDS_OTHER_BAD_TLD=1.999, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:319469 Archived-At: --=-=-= Content-Type: text/plain Eli Zaretskii writes: >> From: "Elijah G." >> Cc: luangruo@yahoo.com, emacs-devel@gnu.org >> Date: Mon, 20 May 2024 20:00:51 -0600 >> >> "Elijah G." writes: >> >> >>> From: "Elijah G." >> >>> Cc: emacs-devel@gnu.org >> >>> Date: Sun, 19 May 2024 16:37:07 -0600 >> >>> >> >>> Good news, the stipple implementation is now done, now works using >> >>> indent-bars package and other stipples, however there are some >> >>> issues that i want to remark >> >>> >> >>> 1. Currently it only works for stipple data and not for X Bitmap files, >> >>> I don't know where is stored the code for using X Bitmap in stipples. >> >> >> >> Please elaborate: what doesn't work yet with this implementation? >> > >> > It's kind of hard for me to explain, but I think that doesn't mean it's >> > hard to solve. >> > >> > In the documentation >> > (https://www.gnu.org/software/emacs/manual/html_node/elisp/Face-Attributes.html) >> > specifies that stipples can be a filepath to an X Bitmap file: >> > >> > The value can be a string; that should be the name of a file containing >> > external-format X bitmap data. The file is found in the directories >> > listed in the variable x-bitmap-file-path. >> > >> > That is not done yet ... >> >> About this last one, i've forgot that `image_create_bitmap_from_file` >> can fix this, in case i can solve it, the only issue will be the bitmap >> having the colors inverted. >> >> A more detailed example about that issue: >> >> 1111001111 0000110000 >> 1111001111 0000110000 >> 1111001111 0000110000 >> 1111001111 0000110000 >> 1111111111 0000000000 >> 1111001111 0000110000 >> >> Expected Result >> >> in Windows, bitmaps uses 1 for bg color and 0 for fg. > > Why is it a problem to invert the bits programmatically? We already > do that in w32_create_pixmap_from_bitmap_data (maybe you could reuse > it?). I'd to use `w32_create_pixmap_from_bitmap_data` for convert the stipple bitmap to a Windows bitmap but i've noticed it inverts stipple bits. It's just something that could be confusing in the future specifically these 2 lines since it's using bc color for the text color and vice-versa: + SetTextColor (hdc, gc->background); + SetBkColor (hdc, gc->foreground); I tried reuse w32_create_pixmap_from_bitmap_data to obtained bitmap but it doesn't seem to work, I just hope it's not a problem. For now the stipple implementation is now complete (as far as i could test), Now uses xbm files and stipple data. Here an example using gnus.xbm file: --=-=-= Content-Type: image/png Content-Disposition: inline; filename=gnus_stipple.png Content-Transfer-Encoding: base64 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 mz1NhTmInP/QVTJPXlSXG6iZreSFalaqltn0cjNrqJcAFmppocIacHbLeOscyAWyZjPOmz0WAtqz iXqtgqGaHCoQ2lCzM8Nm7qmV46HjeM4qSq545qJBW9eMgf3rqVeZZjPOmz0WAtqziXqtgqGaHCoQ 2lCzM8Nm7qmV46HjeM4qSq545qJBW9eMgf3rqVeZZjPOmz0WAtqziXqtgqGaHCoQ2lCzM8Nm7qmV 46HjeM4qSq545qJBW9eMgf3rqVeZZjPOmz0WAtqziXqtgqGaHCoQ2lCzM8Nm7qmV46HjeM4qSq54 5qJBW9eMgf3rqVeZZjPOmz0WAtqziXqtgqGaHCoQ4uyW8e7vA23tZjkIbYimOcoyEP4F4kJTwkId 1aHQMdlJY6HCOmnskuaolaG7k5MfNH+TXFTDoznf4p91TZvlC+S1VCsHoQ3RNEdZBsK/QFxoSlio ozoUOiY7aSxUWCeNXdIctTJ0d3Lyg+ZvkotqeDTnW/yzrmmzfIG8lmrlILQhmuYoy0D4F4gLTQkL dVSHQsdkJ42FCuuksUuao1aG7k5OftD8TXJRDY/mfIt/1jVtli+Q11KtHIQ2RNMcZRkI/wJxoSlh oY7qUOiY7KSxUGGdNHZJc9TK0N3JyQ+av0kuquHRnG/xz7qmzfIF8lqqlYPQhmiaoywD4V8gLjQl LNRRHQoFcXbLePccyJVo1oc04x5D5O9wmUWAMCtAH2YrcaEBOUe1zGrlmoa9OM991OQ9zmuetxyp i0476JSKSLYSV/FyUystpBn3GCJ/h8ssAoRZAfowW4kLDcg5qmVWK9c07MV57qMm73Fe87zlSF10 2kGnVESylbiKl5taaSHNuMcQ+TtcZhEgzArQh9lKXGhAzlEts1q5pmEvznMfNXmP85rnLUfqotMO OqUikq3EVbzc1EoLacY9hsjf4TKLAGFWgD7MVuJCA3KOapnVyjUNe3Ge+6jJe5zXPG85UheddtAp FZFsJa7i5aZWWkgz7jFE/g6XWQQIswL0YYw4u2Xs8/tAVSsH4dMGKzV8h5yEqrAGIPybxCSYDWD5 1GS1UsO9yGmp55Ar0nDoONpyVDUBDV8jJ4FaOQifNlip4TvkJFSFNQDh3yQmwWwAy6cmq5Ua7kVO Sz2HXJGGQ8fRlqOqCWj4GjkJ1MpB+LTBSg3fISehKqwBCP8mMQlmA1g+NVmt1HAvclrqOeSKNBw6 jrYcVU1Aw9fISaBWDsKnDVZq+A45CVVhDUD4N4lJMBvA8qnJaqWGe5HTUs8hV6Th0HG05ahqAhq+ Rk4CtXIQPm2wUsN3yEmoCmsAwmfi7Jbx1jmQ65la2QwHJueKCHfhMt0MlKoAk/eJCQPqCYQ9zaY5 quU75CRqOHoo83LTDmYwOYhcpakK5pto11KtbIYDk3NFhLtwmW4GSlWAyfvEhAH1BMKeZtMc1fId chI1HD2UeblpBzOYHESu0lQF8020a6lWNsOBybkiwl24TDcDpSrA5H1iwoB6AmFPs2mOavkOOYka jh7KvNy0gxlMDiJXaaqC+SbatVQrm+HA5FwR4S5cppuBUhVg8j4xYUA9gbCn2TRHtXyHnEQNRw9l Xm7awQwmB5GrNFXBfBPtWqqVzXBgcq6IcBcu081AqQowaRJnt4x3fx+oa9OszHuqJqDh7tT5A/QW 7sVlxtZCMM0y68Bo+TI5j+mhbC6q5aHUhaZVxQRsKBB+K3mhmpV5T9UENNydOn+A3sK9uMzYWgim WWYdGC1fJucxPZTNRbU8lLrQtKqYgA0Fwm8lL1SzMu+pmoCGu1PnD9BbuBeXGVsLwTTLrAOj5cvk PKaHsrmolodSF5pWFROwoUD4reSFalbmPVUT0HB36vwBegv34jJjayGYZpl1YLR8mZzH9FA2F9Xy UOpC06piAjYUCL+VvFDNyrynagIa7k6dP0BvYZM4u2W8fg5cFvxZHvpOaUMGju5CnRNQT7B/L3Ja MwSSQac2rNT13GueF8iFdC2UASYHEUtwLVMDh9YTFwbgmbxc2pCBo7tQ5wTUE+zfi5zWDIFk0KkN K3U995rnBXIhXQtlgMlBxBJcy9TAofXEhQF4Ji+XNmTg6C7UOQH1BPv3Iqc1QyAZdGrDSl3PveZ5 gVxI10IZYHIQsQTXMjVwaD1xYQCeyculDRk4ugt1TkA9wf69yGnNEEgGndqwUtdzr3leIBfStVAG mBxELMG1TA0cWk9cGIBn8nJpQwaO7kKdE1BPsL9JnN0ydjsH0mzVpgFy247kzFDChnbnvIgDOUe1 zJpNc7SpTTabAfPHEfObank0bTktaVgGwq/nck1nwvXaNEBu25GcGUrY0O6cF3Eg56iWWbNpjja1 yWYzYP44Yn5TLY+mLaclDctA+PVcrulMuF6bBshtO5IzQwkb2p3zIg7kHNUyazbN0aY22WwGzB9H zG+q5dG05bSkYRkIv57LNZ0J12vTALltR3JmKGFDu3NexIGco1pmzaY52tQmm82A+eOI+U21PJq2 nJY0LAPh13O5pjPhem0aILftSM4MJWxoQJzdMt46B8a80y4e92GlhTQ9zSUQ5V7EbJzWjAL9RxCT YxWDjZrJusn0NJs8auSohi9wnv5hOVUg/KHEEtRcKiLcSlzFy3ulhTQ9zSUQ5V7EbJzWjAL9RxCT YxWDjZrJusn0NJs8auSohi9wnv5hOVUg/KHEEtRcKiLcSlzFy3ulhTQ9zSUQ5V7EbJzWjAL9RxCT YxWDjZrJusn0NJs8auSohi9wnv5hOVUg/KHEEtRcKiLcSlzFy3ulhTQ9zSUQ5V7EbJzWjAL9RxCT YxWDjZrJusn0NJs8auSohi9wnv5hOVUg/KHEEtRcKiLcSlzFy3ulhTQ9zSUQ5V7EbJzWjAL9PeLs lrHD7wMDsYBpNmt6moihHYkJ87TzUhPgdeggYrkAvCqQc+sZN4w1m6eaOR5dQ1sFhh5AciixSlMB S8JsIq4CUKpms6aniRjakZgwTzsvNQFehw4ilgvAqwI5t55xw1izeaqZ49E1tFVg6AEkhxKrNBWw JMwm4ioApWo2a3qaiKEdiQnztPNSE+B16CBiuQC8KpBz6xk3jDWbp5o5Hl1DWwWGHkByKLFKUwFL wmwirgJQqmazpqeJGNqRmDBPOy81AV6HDiKWC8CrAjm3nnHDWLN5qpnj0TW0VWDoASSHEqs0FbAk zCbiKgClajZrepqIoR2JCfO081IT4HWoR5zdMnb4fSDUyqzZ2GjAkjC7szk/SxiAo4dyWewRyDna M83SQppm2RzqGSXDPLSJnISmqScwFtIVtTSgfz15FdXKrNnYaMCSMLuzOT9LGICjh3JZ7BHIOdoz zdJCmmbZHOoZJcM8tImchKapJzAW0hW1NKB/PXkV1cqs2dhowJIwu7M5P0sYgKOHclnsEcg52jPN 0kKaZtkc6hklwzy0iZyEpqknMBbSFbU0oH89eRXVyqzZ2GjAkjC7szk/SxiAo4dyWewRyDnaM83S Qppm2RzqGSXDPLSJnISmqScwFtIVtTSgfz15FdXKrNnYaMCSMLuzOT9LGICjPeLslrHP7wMDsQY1 m7GqUUS4IzknZ6aBByw/mrqoGgDlGs1mTQ9NVjNGjkJh1tMuVGVOIDyUXIhqZR5aSfQbkHPUzFjV KCLckZyTM9PAA5YfTV1UDYByjWazpocmqxkjR6Ew62kXqjInEB5KLkS1Mg+tJPoNyDlqZqxqFBHu SM7JmWngAcuPpi6qBkC5RrNZ00OT1YyRo1CY9bQLVZkTCA8lF6JamYdWEv0G5Bw1M1Y1igh3JOfk zDTwgOVHUxdVA6Bco9ms6aHJasbIUSjMetqFqswJhIeSC1GtzEMriX4Dco6aGasaRYQ7knNyZhp4 wPIBcXbL2O33gVArLWwahV4Vui85Mw2HWM6D+y89JhYN0K83qr2SpqfZ5FHjeHRAXthUkImGR9MW 1TIDl6whmptqpYVNo9CrQvclZ6bhEMt5cP+lx8SiAfr1RrVX0vQ0mzxqHI8OyAubCjLR8Gjaolpm 4JI1RHNTrbSwaRR6Vei+5Mw0HGI5D+6/9JhYNEC/3qj2SpqeZpNHjePRAXlhU0EmGh5NW1TLDFyy hmhuqpUWNo1Crwrdl5yZhkMs58H9lx4Tiwbo1xvVXknT02zyqHE8OiAvbCrIRMOjaYtqmYFL1hDN TbXSwqZR6FWh+5Iz03CI5Ty4dmmc3TIO+X0g1MpmQyAngSh3J6bl5PM6E1A2kzO5rP0DTeB7auW+ CmNkTtWySW2gZsMSiPIcYi0umksa6krOlzqQq1rZbAjkJBDl7sS0nHxeZwLKZnIml7V/oAl8T63c V2GMzKlaNqkN1GxYAlGeQ6zFRXNJQ13J+VIHclUrmw2BnASi3J2YlpPP60xA2UzO5LL2DzSB76mV +yqMkTlVyya1gZoNSyDKc4i1uGguaagrOV/qQK5qZbMhkJNAlLsT03LyeZ0JKJvJmVzW/oEm8D21 cl+FMTKnatmkNlCzYQlEeQ6xFhfNJQ11JedLHchVrWw2BHISiHJ3YlpOPq8zAWUzGRNnt4wdfh9I oFRdaQCUobszz58T5lqeSe5HYfmgbA6NTQBeVQ0QpRGhqZUWZpMVxvITqMuZElqG30pchcsBDTm0 xgAoQ3dnnj8nzLU8k9yPwvJB2RwamwC8qhogSiNCUystzCYrjOUnUJczJbQMv5W4CpcDGnJojQFQ hu7OPH9OmGt5JrkfheWDsjk0NgF4VTVAlEaEplZamE1WGMtPoC5nSmgZfitxFS4HNOTQGgOgDN2d ef6cMNfyTHI/CssHZXNobALwqmqAKI0ITa20MJusMJafQF3OlNAy/FbiKlwOaMihNQZAGbo78/w5 Ya7lmDi7Zezz+8BYoGnGSmgZfndiWs4PA7AHuZbnk1uiKnoNPbNeszE1WkOvzGbcxpKI5ARiIdNc BphsIq4lmJgZK6Fl+N2JaTk/DMAe5FqeT26Jqug19Mx6zcbUaA29MptxG0sikhOIhUxzGWCyibiW YGJmrISW4XcnpuX8MAB7kGt5PrklqqLX0DPrNRtTozX0ymzGbSyJSE4gFjLNZYDJJuJagomZsRJa ht+dmJbzwwDsQa7l+eSWqIpeQ8+s12xMjdbQK7MZt7EkIjmBWMg0lwEmm4hrCSZmxkpoGX53YlrO DwOwB7mWT4mzW8br58CYFJuY9/YAHXraRkS5OzlzU2EuRewKQMlQy/U6MM02CwPhlQzVrFErBw0w Z5KLqmFpwCVbiQsxg0KHnrYRUe5OztxUmEsRuwJQMtRyvQ5Ms83CQHglQzVr1MpBA8yZ5KJqWBpw yVbiQsyg0KGnbUSUu5MzNxXmUsSuAJQMtVyvA9NsszAQXslQzRq1ctAAcya5qBqWBlyylbgQMyh0 6GkbEeXu5MxNhbkUsSsAJUMt1+vANNssDIRXMlSzRq0cNMCcSS6qhqUBl2wlLsQMCh162kZEuTs5 c1NhXibObhnvngMJlBZmsEE7ee0R1PmnxQTsuRSxMewQYLneNMusVuahTDZkzaan2TTzc8hFswKW v8Z5pgUoLcxgg3by2iOo80+LCdhzKWJj2CHAcr1pllmtzEOZbMiaTU+zaebnkItmBSx/jfNMC1Ba mMEG7eS1R1DnnxYTsOdSxMawQ4DletMss1qZhzLZkDWbnmbTzM8hF80KWP4a55kWoLQwgw3ayWuP oM4/LSZgz6WIjWGHAMv1pllmtTIPZbIhazY9zaaZn0MumhWw/DXOMy1AaWEGG7ST1x5BnX9aTMCe 14izW8aBvw9sGqDZsDttfjVouCx1qwaEY7WyOUTTGwWiVCLhkJqsA9NrIyI5k1yUCqgH0P8CcS0m UTDMBmg27E6bXw0aLkvdqgHhWK1sDtH0RoEolUg4pCbrwPTaiEjOJBelAuoB9L9AXItJFAyzAZoN u9PmV4OGy1K3akA4ViubQzS9USBKJRIOqck6ML02IpIzyUWpgHoA/S8Q12ISBcNsgGbD7rT51aDh stStGhCO1crmEE1vFIhSiYRDarIOTK+NiORMclEqoB5A/wvEtZhEwTAboNmwO21+NWh4kzi7Zbx1 DgxiowF4JjoEWIMiwiOImTn/vNQfILwsl13KEzOTdVOZVU0gfCbypmYz1lwCDE+jrkvDkmD+MjFP AJ6JDgHWoIjwCGJmzj8v9QcIL8tll/LEzGTdVGZVEwifibyp2Yw1lwDD06jr0rAkmL9MzBOAZ6JD gDUoIjyCmJnzz0v9AcLLctmlPDEzWTeVWdUEwmcib2o2Y80lwPA06ro0LAnmLxPzBOCZ6BBgDYoI jyBm5vzzUn+A8LJcdilPzEzWTWVWNYHwmcibms1YcwkwPI26Lg1LgvnLxDwBeCY6BFiDIsIjiJk5 /7zUHyB8hzi7Zbx7DgSXbSZgKDdoHnoEOT+NlrcgdgtYGWAC01MrLaRhGdAhJUM1Y82m2ROwJMyZ 5NI9JaJ8k8tECRjKDZqHHkHOT6PlLYjdAlYGmMD01EoLaVgGdEjJUM1Ys2n2BCwJcya5dE+JKN/k MlEChnKD5qFHkPPTaHkLYreAlQEmMD210kIalgEdUjJUM9Zsmj0BS8KcSS7dUyLKN7lMlICh3KB5 6BHk/DRa3oLYLWBlgAlMT620kIZlQIeUDNWMNZtmT8CSMGeSS/eUiPJNLhMlYCg3aB56BDk/jZa7 EGe3jB3OgdyoGpYGzcMfR10CPmD59al7JphYw5qSJqsaIEoSZVOzaZYW0rAkIjmTWJGqhmDDm9TZ aFgaNA9/HHUJ+IDl16fumWBiDWtKmqxqgChJlE3NpllaSMOSiORMYkWqGoINb1Jno2Fp0Dz8cdQl 4AOWX5+6Z4KJNawpabKqAaIkUTY1m2ZpIQ1LIpIziRWpagg2vEmdjYalQfPwx1GXgA9Yfn3qngkm 1rCmpMmqBoiSRNnUbJqlhTQsiUjOJFakqiHY8CZ1NhqWBs3DH0ddAj5g+ZvE2S1j598Hqg+gVAXC H0cuYUqg7S7knqmEjdKs0aYJsCeTo9k0R3uay4AOnUyuSwVsCOZ9YqqA+gBKVSD8ceQSpgTa7kLu mUrYKM0abZoAezI5mk1ztKe5DOjQyeS6VMCGYN4npgqoD6BUBcIfRy5hSqDtLuSeqYSN0qzRpgmw J5Oj2TRHe5rLgA6dTK5LBWwI5n1iqoD6AEpVIPxx5BKmBNruQu6ZStgozRptmgB7MjmaTXO0p7kM 6NDJ5LpUwIZg3iemCqgPoFQFwh9HLmFKoO194uyWsc85EFy2PMNKAjkvOYK2yrTqDA3P55sbmG5A oAm8aq+kyaoGiJJEybypvTKbcVvomdR1p038bIAeBsDQLlxmnGElgZyXHEFbZVp1hobn880NTDcg 0ARetVfSZFUDREmiZN7UXpnNuC30TOq60yZ+NkAPA2BoFy4zzrCSQM5LjqCtMq06Q8Pz+eYGphsQ aAKv2itpsqoBoiRRMm9qr8xm3BZ6JnXdaRM/G6CHATC0C5cZZ1hJIOclR9BWmVadoeH5fHMD0w0I NIFX7ZU0WdUAUZIomTe1V2Yzbgs9k7rutImfDdDDABjahcuMM6wkkPOSI2irTKvO0HAX4uyWsec5 MMitA83kUGIJLsQSQPgRYnXVTbTLgWZuZtyToT1KDkGtHKuVDJuI0TOJFZtKsAyzI3XmQDM5lFiC C7EEEH6EWF11E+1yoJmbGfdkaI+SQ1Arx2olwyZi9ExixaYSLMPsSJ050EwOJZbgQiwBhB8hVlfd RLscaOZmxj0Z2qPkENTKsVrJsIkYPZNYsakEyzA7UmcONJNDiSW4EEsA4UeI1VU30S4HmrmZcU+G 9ig5BLVyrFYybCJGzyRWbCrBMsyO1JkDzeRQYgkuxBJAuBdxdsvY+RxoXG7l+EdJYi0qwYaPEBvg TqBbicsBKwNIsmYzViC8kbnpwPQUoLeGk8mlaVgGdOhoYqGA5ccRa1EJNnyE2AB3At1KXA5YGUCS NZuxAuGNzE0HpqcAvTWcTC5NwzKgQ0cTCwUsP45Yi0qw4SPEBrgT6FbicsDKAJKs2YwVCG9kbjow PQXoreFkcmkalgEdOppYKGD5ccRaVIINHyE2wJ1AtxKXA1YGkGTNZqxAeCNz04HpKUBvDSeTS9Ow DOjQ0cRCAcuPI9aiEmzYkTi7ZRx7DjyTfHZUNQG0nU8sTTWziXptQD1gPVraUBPsMXKIZmvYNAH1 gSjPJ9blBswQaP4O8o6oagJoO59YmmpmE/XagHrAerS0oSbYY+QQzdawaQLqA1GeT6zLDZgh0Pwd 5B1R1QTQdj6xNNXMJuq1AfWA9WhpQ02wx8ghmq1h0wTUB6I8n1iXGzBDoPk7yDuiqgmg7XxiaaqZ TdRrA+oB69HShppgj5FDNFvDpgmoD0R5PrEuN2CGQPN3kHdEVRNA247E2S3jq86BUDUBDn2E3ABN U9cz+nkhAK9JQMPmEE3uCd8khqhW9jSXQC4/Qq5umk3o15A3pSbAoY+QG6Bp6npGPy8E4DUJaNgc osk94ZvEENXKnuYSyOVHyNVNswn9GvKm1AQ49BFyAzRNXc/o54UAvCYBDZtDNLknfJMYolrZ01wC ufwIubppNqFfQ96UmgCHPkJugKap6xn9vBCA1ySgYXOIJveEbxJDVCt7mksglx8hVzfNJvRryJtS E+DQ7sTZLeMLz4EsCSSfIjZgamXoes5XT1AP5ISwoWZnhD1ilG2mA8MSGJThTyYWzQoDaPg1tPua 7vMHSD5FbMDUytD1nK+eoB7ICWFDzc4Ie8Qo20wHhiUwKMOfTCyaFQbQ8Gto9zXd5w+QfIrYgKmV oes5Xz1BPZATwoaanRH2iFG2mQ4MS2BQhj+ZWDQrDKDh19Dua7rPHyD5FLEBUytD13O+eoJ6ICeE DTU7I+wRo2wzHRiWwKAMfzKxaFYYQMOvod3XdJ8/QLI7cXbL+IZzIB8clWDPR8g9UAflVurlagIW 6lCg1/mU7Idms6aH0DL8p8gN0OQwgPwLyNuhEuz5CLkH6qDcSr1cTcBCHQr0Op+S/dBs1vQQWob/ FLkBmhwGkH8BeTtUgj0fIfdAHZRbqZerCVioQ4Fe51OyH5rNmh5Cy/CfIjdAk8MA8i8gb4dKsOcj 5B6og3Ir9XI1AQt1KNDrfEr2Q7NZ00NoGf5T5AZochhA/gXk7VAJ9hxBnN0yvuT3gXh8pgAaDuJ4 fozOu3jYWG9oE3EtwFLzXk9GDK0hm5uaDctA7gHY+RHqBqgGDn0N9aaoABoO4nh+jM67eNhYb2gT cS3AUvNeT0YMrSGbm5oNy0DuAdj5EeoGqAYOfQ31pqgAGg7ieH6Mzrt42FhvaBNxLcBS815PRgyt IZubmg3LQO4B2PkR6gaoBg59DfWmqAAaDuJ4fozOu3jYWG9oE3EtwFLzXk9GDK0hm5uaDctA7gHY +RHqBqgGDn0N9aaoABqOIM5uGV/y+0AqDIDyOGKJwULaEJqN6VbyWoOFzdJ0DdmfTU/VELnhg+RO egqE/w7iXnhH881NQHkcscRgIW0IzcZ0K3mtwcJmabqG7M+mp2qI3PBBcic9BcJ/B3EvvKP55iag PI5YYrCQNoRmY7qVvNZgYbM0XUP2Z9NTNURu+CC5k54C4b+DuBfe0XxzE1AeRywxWEgbQrMx3Upe a7CwWZquIfuz6akaIjd8kNxJT4Hw30HcC+9ovrkJKI8jzm4Z9z4H8tnBEEjYdhC5UF6L4UB7ZhN5 FZUYl0Tka7h0z0DJ0MomeqORf4rcgBqWBJq/gLwdGAIJ2w4iF8prMRxoz2wir6IS45KIfA2X7hko GVrZRG808k+RG1DDkkDzF5C3A0MgYdtB5EJ5LYYD7ZlN5FVUYlwSka/h0j0DJUMrm+iNRv4pcgNq WBJo/gLydmAIJGw7iFwor8VwoD2zibyKSoxLIvI1XLpnoGRoZRO90cg/RW5ADUsCzV9A3g4MgYRt BxFnt4zbnwOpWgIIjyDnb66iQ1PfsDR9gXGhwUKWMNSt5LVEDjV5OvpZcic0luvoF5B3ZCWA8Ahy /uYqOjT1DUvTFxgXGixkCUPdSl5L5FCTp6OfJXdCY7mOfgF5R1YCCI8g52+uokNT37A0fYFxocFC ljDUreS1RA41eTr6WXInNJbr6BeQd2QlgPAIcv7mKjo09Q1L0xcYFxosZAlD3UpeS+RQk6ejnyV3 QmO5jn4BeUdWAgiPIObH2S3je86B820uYMNBxBKDtdgAHZemLzMu5zxqmuBVK7lcNsNKoBkSeRTT fpbYhqkBnV9A3AuVYMNBxBKDtdgAHZemLzMu5zxqmuBVK7lcNsNKoBkSeRTTfpbYhqkBnV9A3AuV YMNBxBKDtdgAHZemLzMu5zxqmuBVK7lcNsNKoBkSeRTTfpbYhqkBnV9A3AuVYMNBxBKDtdgAHZem LzMu5zxqmuBVK7lcNsNKoBkSeRTTfpbYhqkBnV9A3AuVYMNBxBI4u2Xc9RyIu5of4MNjpR7EpwtF yFGacWnmTWIeBULqa5xn+rPPQDMMWN4cDf04bT9QKxnemrwXGtOD+HShCDlKMy7NvEnMo0BIfY3z TH/2GWiGAcubo6Efp+0HaiXDW5P3QmN6EJ8uFCFHacalmTeJeRQIqa9xnunPPgPNMGB5czT047T9 QK1keGvyXmhMD+LThSLkKM24NPMmMY8CIfU1zjP92WegGQYsb46Gfpy2H6iVDG9N3guN6UHUJXB2 y7j9OZAlgWR3cnI1HCV1aOp7LHuq5WWJfQaaXsPAoAx/EWIzuit4BfJbE3fBe5lvawGS3cnJ1XCU 1KGp77HsqZaXJfYZaHoNA4My/EWIzeiu4BXIb03cBe9lvq0FSHYnJ1fDUVKHpr7HsqdaXpbYZ6Dp NQwMyvAXITaju4JXIL81cRe8l/m2FiDZnZxcDUdJHZr6HsueanlZYp+BptcwMCjDX4TYjO4KXoH8 1sRd8F7m21qAZHdychqc3TK+4Rw43+MEJrtTJx8sxCGacUljek1yh4B6heUsw1yKtjdTLe9OvZfp xmYw2Z06+WAhDtGMSxrTa5I7BNQrLGcZ5lK0vZlqeXfqvUw3NoPJ7tTJBwtxiGZc0phek9whoF5h Ocswl6LtzVTLu1PvZbqxGUx2p04+WIhDNOOSxvSa5A4B9QrLWYa5FG1vplrenXov043NYLI7dXIq zm4Z9zsHxs3wrqyEOYK2BJRJgOVYrew1XJbcIUwAXhVQD0RyHXJLpoT23Je8BaqZI2hLQJkEWI7V yl7DZckdwgTgVQH1QCTXIbdkSmjPfclboJo5grYElEmA5Vit7DVcltwhTABeFVAPRHIdckumhPbc l7wFqpkjaEtAmQRYjtXKXsNlyR3CBOBVAfVAJNcht2RKaM99yVugmjmCtgQUZ7eMW/4+UG9sussf sGFHcuamWmkhzbjMJvSyxD4D6hW5Bxdejbo9bpIlgPDWxF1QCTbsSM7cVCstpBmX2YRelthnQL0i 9+DCq1G3x02yBBDemrgLKsGGHcmZm2qlhTTjMpvQyxL7DKhX5B5ceDXq9rhJlgDCWxN3QSXYsCM5 c1OttJBmXGYTellinwH1ityDC69G3R43yRJAeGviLqgEG3YkZ86Ks1vGzc6BvCUa093JybNhGQhP oqRauVKvzNghwXKQX5C2Qy0Bhvcl74LGdHdy8mxYBsKTKKlWrtQrM3ZIsBzkF6TtUEuA4X3Ju6Ax 3Z2cPBuWgfAkSqqVK/XKjB0SLAf5BWk71BJgeF/yLmhMdycnz4ZlIDyJkmrlSr0yY4cEy0F+QdoO tQQY3pe8CxrT3cnJs8HZLeOu50CWBJIdiTkHCoQ3Mh/owIRen9ytGkDzK5Nb1YQhwKE7EvvnXcw3 tADJjsScAwXCG5kPdGBCr0/uVg2g+ZXJrWrCEODQHYn98y7mG1qAZEdizoEC4Y3MBzowodcnd6sG 0PzK5FY1YQhw6I7E/nkX8w0tQLIjMedAgfBG5gMdmNDrk7tVA2h+ZXKrmjAEOHRHYv+8i/mGFiDZ kZhzoDi7ZdzpHKi3lMt9yclpLAwwMerowGTV8hbEngGW2nBNcp808EwCCO9L3AJvxMp9yclpLAww MerowGTV8hbEngGW2nBNcp808EwCCO9L3AJvxMp9yclpLAwwMerowGTV8hbEngGW2nBNcp808EwC CO9L3AJvxMp9yclpLAwwMerowGTV8hbEngGW2nBNcp808EwCCO9L3AJvxMp9yclpLAzg7JZxs3Ng gEahbe+Tc1LVBMwrkWAIsFDLgRYPZfOxA/Rh7kveAoxC294n56SqCZhXIsEQYKGWAy0eyuZjB+jD 3Je8BRiFtr1PzklVEzCvRIIhwEItB1o8lM3HDtCHuS95CzAKbXufnJOqJmBeiQRDgIVaDrR4KJuP HaAPc1/yFmAU2vY+OSdVTQAeZ7eM25wDeScwmqDchfP0f6ZtKhGlcRmYgbKnA0MtHkQ+ZBoLA+Hv S+xfb4QJyl04T/9n2qYSURqXgRkoezow1OJB5EOmsTAQ/r7E/vVGmKDchfP0f6ZtKhGlcRmYgbKn A0MtHkQ+ZBoLA+HvS+xfb4QJyl04T/9n2qYSURqXgRkoezow1OJB5EOmsTAQ/r7E/vVGmKDchfP0 f6ZtKoGzW8adzoEB9QAb3idmM81lgEkmRwmWOvo0LB5HPmR91AgJ5nek3gI8wIb3idlMcxlgkslR gqWOPg2Lx5EPWR81QoL5Ham3AA+w4X1iNtNcBphkcpRgqaNPw+Jx5EPWR42QYH5H6i3AA2x4n5jN NJcBJpkcJVjq6NOweBz5kPVRIySY35F6C/AAG94nZjPNZQAeZ7eMG5wD9TYIlOzZhZyWxko1gfDK Jf2BJvQwWa0MLR5Ee9QwOUd4O073I7cGoGTPLuS0NFaqCYRXLukPNKGHyWplaPEg2qOGyTnC23G6 H7k1ACV7diGnpbFSTSC8ckl/oAk9TFYrQ4sH0R41TM4R3o7T/citASjZsws5LY2VagLhlUv6A03o YbJaGVo8iPaoYXKO8Hac7kduDUDJnl3IaWmsVBPA2S3jHr8PjBugwgAodyEnpOZSEaESCYdgAk1v RlXL4hHUJ8znHMaA/I7E5nkL891MQLkLOSE1l4oIlUg4BBNoejOqWhaPoD5hPucwBuR3JDbPW5jv ZgLKXcgJqblURKhEwiGYQNObUdWyeAT1CfM5hzEgvyOxed7CfDcTUO5CTkjNpSJCJRIOwQSa3oyq lsUjqE+YzzmMAfkdic3zFua7mYByF3JCai4VEeLslnH1cyB2z9uACbDhTWKqp2plaJNz4wIt4bNa qWHxCNpDhmquo7ej7R8mwIY3iameqpWhTc6NC7SEz2qlhsUjaA8ZqrmO3o62f5gAG94kpnqqVoY2 OTcu0BI+q5UaFo+gPWSo5jp6O9r+YQJseJOY6qlaGdrk3LhAS/isVmpYPIL2kKGa6+jtaPuHCbDh TWKqp2plaBBnt4xLnwPznYQS6HmHmISaDUtD5D1iFG0B9QGW2tkLi7uz95D//+2cga6rOrODH+N/ /ye9d1qzfdyZkELLgoTa+mR5JgEChS3lLOlEVrE/EVh2cgpzvgEnodfAMin6a2AU00KaQyx15lrT HM7aQ46sYn8isOzkFOZ8A05Cr4FlUvTXwCimhTSHWOrMtaY5nLWHHFnF/kRg2ckpzPkGnIReA8uk 6K+BUUwLaQ6x1JlrTXM4aw85sor9icCyk1OY8w04Cb0GlknRD7B3q5rg74G4B4QQMid8A8/GkJpQ nfkWnR9i1qFOM9z8EXzIfM7s0CflcUtydyFkTvgGno0hNaE68y06P8SsQ51muPkj+JD5nNmhT8rj luTuQsic8A08G0NqQnXmW3R+iFmHOs1w80fwIfM5s0OflMctyd2FkDnhG3g2htSE6sy36PwQsw51 muHmj+BD5nNmhz4pj1uSuwshc8I38GwMqQnVmQB7t6px94G8geQIX8LzaFjrU5y2BRxCsYPQLxHM saTHC2eHQnMuuPLkCF/C82hY61OctgUcQrGD0C8RzLGkxwtnh0JzLrjy5AhfwvNoWOtTnLYFHEKx g9AvEcyxpMcLZ4dCcy648uQIX8LzaFjrU5y2BRxCsYPQLxHMsaTHC2eHQnMuuPLkCF/C82hY61Oc BrB3qxr674G8jRQ+hufpO8ScmrvAITgWYplGtQw3f0HzObOE0JwOrJy3wPAxPE/fIebU3AUOwbEQ yzSqZbj5C5rPmSWE5nRg5bwFho/hefoOMafmLnAIjoVYplEtw81f0HzOLCE0pwMr5y0wfAzP03eI OTV3gUNwLMQyjWoZbv6C5nNmCaE5HVg5b4HhY3ievkPMqUmwd6sa+u+BcAb6x/AkG0NS9PeyHPkU S4S3bo4lniqE/LY/EVw8A/1jeJKNISn6e1mOfIolwls3xxJPFUJ+258ILp6B/jE8ycaQFP29LEc+ xRLhrZtjiacKIb/tTwQXz0D/GJ5kY0iK/l6WI59iifDWzbHEU4WQ3/YngotnoH8MT7IxJEVfwd6t atB9IO+BruVeeCzDmtdA/xieBEqdtRBujkWfLZ9wBHYQpoMrp2u5Fx7LsOY10D+GJ4FSZy2Em2PR Z8snHIEdhOngyula7oXHMqx5DfSP4Umg1FkL4eZY9NnyCUdgB2E6uHK6lnvhsQxrXgP9Y3gSKHXW Qrg5Fn22fMIR2EGYDq6cruVeeCzDmtdAr2DvVjXB3wPVEbbDA9VrSKNVMfQxyyn+iR2EjpsDWXu8 kVXszwVWnhxhOzxQvYY0WhVDH7Oc4p/YQei4OZC1xxtZxf5cYOXJEbbDA9VrSKNVMfQxyyn+iR2E jpsDWXu8kVXszwVWnhxhOzxQvYY0WhVDH7Oc4p/YQei4OZC1xxtZxf5cYOXJEbbDA9VrSKNVMVTB 3q1qxH0gb0ND8o3wEIbqGkJ16BDSOWuZgjkWPl76WnMuYtlcP0PyjfAQhuoaQnXoENI5a5mCORY+ Xvpacy5i2Vw/Q/KN8BCG6hpCdegQ0jlrmYI5Fj5e+lpzLmLZXD9D8o3wEIbqGkJ16BDSOWuZgjkW Pl76WnMuYtlcP0PyjfAQhuoaQnVoDezdqgb9eyDvSj2V9ASHamiOplIVnaNYzihCs+PmQPhg9dmi pNifC6w8eSrpCQ7V0BxNpSo6R7GcUYRmx82B8MHqs0VJsT8XWHnyVNITHKqhOZpKVXSOYjmjCM2O mwPhg9Vni5Jify6w8uSppCc4VENzNJWq6BzFckYRmh03B8IHq88WJcX+XGDlyVNJT3CohuZoKlXR 6YC9W9Vw+0DcCW9JwxZPZXOIgaWKQ8eSzvy4knSqmwPpPF42U38K0uI1bPFUNocYWKo4dCzpzI8r Sae6OZDO42Uz9acgLV7DFk9lc4iBpYpDx5LO/LiSdKqbA+k8XjZTfwrS4jVs8VQ2hxhYqjh0LOnM jytJp7o5kM7jZTP1pyAtXsMWT2VziIGlikNvwd6tasS/B+qNJd8SmuWaN0Mo8uEsp34KJZs6isnm QPBU6+NFB9L+RGDlTd8SmuWaN0Mo8uEsp34KJZs6isnmQPBU6+NFB9L+RGDlTd8SmuWaN0Mo8uEs p34KJZs6isnmQPBU6+NFB9L+RGDlTd8SmuWaN0Mo8uEsp34KJZs6isnmQPBU6+NFB9L+RGDlTd8S muWaN0Mo8luwd6saax/I+0meyr5vCSwpnfBHpKtoqKPmWPh4m50Zn3msWRdPT2XftwSWlE74I9JV NNRRcyx8vM3OjM881qyLp6ey71sCS0on/BHpKhrqqDkWPt5mZ8ZnHmvWxdNT2fctgSWlE/6IdBUN ddQcCx9vszPjM4816+Lpqez7lsCS0gkbwd6tari/B6bb07Cxv8Wh2glF+Xcs13i9NPsszbHg8Yaa TUiHZgHL5vo1bOxvcah2QlH+Hcs1Xi/NPktzLHi8oWYT0qFZwLK5fg0b+1scqp1QlH/Hco3XS7PP 0hwLHm+o2YR0aBawbK5fw8b+FodqJxTl37Fc4/XS7LM0x4LHG2o2IR2aBSyb69ewsb/FodoJRbkR 7N2qBtoH8pbo/bLT7EzQoOKcvwaXCyE33RzI2uNd609BLFhX/rbsNDsTNKg456/B5ULITTcHsvZ4 1/pTEAvWlb8tO83OBA0qzvlrcLkQctPNgaw93rX+FMSCdeVvy06zM0GDinP+GlwuhNx0cyBrj3et PwWxYF3527LT7EzQoOKc7WDvVjXW3wN5bwxrnsrmEEPth+qcE8AVQ8wp0M2BNB9slJT2ZwHL5vo7 nsrmEEPth+qcE8AVQ8wp0M2BNB9slJT2ZwHL5vo7nsrmEEPth+qcE8AVQ8wp0M2BNB9slJT2ZwHL 5vo7nsrmEEPth+qcE8AVQ8wp0M2BNB9slJT2ZwHL5vo7nsrmEEPth+qcvWDvVjXW3wPXPJXNIYb+ nFDN4Wei16WnYI6Cj1QfrHa0Pwt1/fRUNocY+nNCNYefiV6XnoI5Cj5SfbDa0f4s1PXTU9kcYujP CdUcfiZ6XXoK5ij4SPXBakf7s1DXT09lc4ihPydUc/iZ6HXpKZij4CPVB6sd7c9CXT89lc0hhv6c UM3hH4C9W9Uo+0C9PfpaWUN/Wu2HtHkmuGgIuek3YJAbWXu2kVXsTwEWnHytrKE/rfZD2jwTXDSE 3PQbMMiNrD3byCr2pwALTr5W1tCfVvshbZ4JLhpCbvoNGORG1p5tZBX7U4AFJ18ra+hPq/2QNs8E Fw0hN/0GDHIja882sor9KcCCk6+VNfSn1X5Im5+BvVvVWH8PhJDZ0XLNU5mGkrQf+XxwXS5AA31e nncz0C1gMXVJ7Neh8cGyQ8jsaLnmqUxDSdqPfD64LheggT4vz7sZ6BawmLok9uvQ+GDZIWR2tFzz VKahJO1HPh9clwvQQJ+X590MdAtYTF0S+3VofLDsEDI7Wq55KtNQkvYjnw+uywVooM/L824GugUs pi6J/To0Plh2CJkdLdc8lWkoSfuRPwZ7t6qB/h7IO2TueCpTs4Y0DYryEnBperOcFN6FNi/k+Tgb DxYlxOYs6LKZO57K1KwhTYOivARcmt4sJ4V3oc0LeT7OxoNFCbE5C7ps5o6nMjVrSNOgKC8Bl6Y3 y0nhXWjzQp6Ps/FgUUJszoIum7njqUzNGtI0KMpLwKXpzXJSeBfavJDn42w8WJQQm7Ogy2bueCpT s4Y0DYryG7B3qxrr74FrXkOzrN4UJ1xFWgZdy0nBXYRS/0LqelCqT0e9BXoNzbJ6U5xwFWkZdC0n BXcRSv0LqetBqT4d9RboNTTL6k1xwlWkZdC1nBTcRSj1L6SuB6X6dNRboNfQLKs3xQlXkZZB13JS cBeh1L+Quh6U6tNRb4FeQ7Os3hQnfAn2blUD/T0Qviuobwn0a6nrqT4jsfKhbkEXo0uKrGJ/FrBm Ln5jUN8S6NdS11N9RmLlQ92CLkaXFFnF/ixgzVz8xqC+JdCvpa6n+ozEyoe6BV2MLimyiv1ZwJq5 +I1BfUugX0tdT/UZiZUPdQu6GF1SZBX7s4A1c/Ebg/qWQD8E7N2qRvx7IMMWTyWbKm1Gvhwsg+tJ IYRpM7LcwOstpPI0cF31teZ0cP0MWzyVbKq0GflysAyuJ4UQps3IcgOvt5DK08B11dea08H1M2zx VLKp0mbky8EyuJ4UQpg2I8sNvN5CKk8D11Vfa04H18+wxVPJpkqbkS8Hy+B6Ughh2owsN/B6C6k8 DVxXfa05HVw/wxZPJZsqbUY+CuzdqkbcB273ZoDSNCjKEcBK6KkMn5HnfTyErP3UOQe9blqPiv25 wMp3eTNAaRoU5QhgJfRUhs/I8z4eQtZ+6pyDXjetR8X+XGDlu7wZoDQNinIEsBJ6KsNn5HkfDyFr P3XOQa+b1qNify6w8l3eDFCaBkU5AlgJPZXhM/K8j4eQtZ8656DXTetRsT8XWPkubwYoTYOiPBDs 3arG2gfitulvAzI7Ic0Upw1CWhUdwpzpwMpxC6E6dD5cCUPtszkX6Ra0XAvI7IQ0U5w2CGlVdAhz pgMrxy2E6tD5cCUMtc/mXKRb0HItILMT0kxx2iCkVdEhzJkOrBy3EKpD58OVMNQ+m3ORbkHLtYDM TkgzxWmDkFZFhzBnOrBy3EKoDp0PV8JQ+2zORboFLdcCMjshzRSnHQv2blUD7QMDfQQ1VFelTpoW YRzSwqrPyONm/kmbHGLzHHhRvbQ2IQ5NB9ffDNVVqZOmRRiHtLDqM/K4mX/SJofYPAdeVC+tTYhD 08H1N0N1VeqkaRHGIS2s+ow8buaftMkhNs+BF9VLaxPi0HRw/c1QXZU6aVqEcUgLqz4jj5v5J21y iM1z4EX10tqEODQdXH8zVFelTpoW4XCwd6sa7u+BIeTqa2UzUNEZDayKriGEOXPBlSOEdIh+Jryu XholxDkzglsIIVdfK5uBis5oYFV0DSHMmQuuHCGkQ/Qz4XX10ighzpkR3EIIufpa2QxUdEYDq6Jr CGHOXHDlCCEdop8Jr6uXRglxzozgFkLI1dfKZqCiMxpYFV1DCHPmgitHCOkQ/Ux4Xb00SohzZgS3 EEKuvlY2AxWdPwJ7t6qx9oFwhjVX1U6Ik8dEV0iHMGEulqX/k/Y5yuZp8Or01IfYnwusnLfQcVXt hDh5THSFdAgT5mJZ+j9pn6NsngavTk99iP25wMp5Cx1X1U6Ik8dEV0iHMGEulqX/k/Y5yuZp8Or0 1IfYnwusnLfQcVXthDh5THSFdAgT5mJZ+j9pn6NsngavTk99iP25wMp5Cx1X1U6Ik/8U7N2qRvx7 oKrZr010Uj/KMeHy6FrOCNcP1T475/BcxX+Xpqswc1KWe3hVs1+b6KR+lGPC5dG1nBGuH6p9ds7h uYr/Lk1XYeakLPfwqma/NtFJ/SjHhMujazkjXD9U++ycw3MV/12arsLMSVnu4VXNfm2ik/pRjgmX R9dyRrh+qPbZOYfnKv67NF2FmZOy3MOrmv3aRCf1o/xTsHerGmgfGPBZ0KE0BNVpUHTGB+vkghFC nDALy7r/CR11hJPh1enss4kwL7wFOpSGoDoNis74YJ1cMEKIE2ZhWfc/oaOOcDK8Op19NhHmhbdA h9IQVKdB0RkfrJMLRghxwiws6/4ndNQRToZXp7PPJsK88BboUBqC6jQoOuODdXLBCCFOmIVl3f+E jjrCyfDqdPbZRJgX3gIdSkNQnQZF5xywd6sa7u+BDJCWa3NCadrgcJ10LeeCK6eaQ2yeQLqulqGU J4XrR4C0XJsTStMGh+ukazkXXDnVHGLzBNJ1tQylPClcPwKk5dqcUJo2OFwnXcu54Mqp5hCbJ5Cu q2Uo5Unh+hEgLdfmhNK0weE66VrOBVdONYfYPIF0XS1DKU8K148Aabk2J5SmnQP2blUj/j0Q0jIN qTiEM0wBl60OYcJELOt+CqX2tXMm9eosKfTnZbmNp7RMQyoO4QxTwGWrQ5gwEcu6n0Kpfe2cSb06 Swr9eVlu4ykt05CKQzjDFHDZ6hAmTMSy7qdQal87Z1KvzpJCf16W23hKyzSk4hDOMAVctjqECROx rPsplNrXzpnUq7Ok0J+X5Tae0jINqTiEM5wJ9m5VY+0DA31MSTqa5kQ5EVwzAqQTZoErV9eSAf0T SBfVEtLm7OjtJOlomhPlRHDNCJBOmAWuXF1LBvRPIF1US0ibs6O3k6SjaU6UE8E1I0A6YRa4cnUt GdA/gXRRLSFtzo7eTpKOpjlRTgTXjADphFngytW1ZED/BNJFtYS0OTt6O0k6muZEeT7Yu1UNtw8M luf0FMrUhDh/OrD45AgTgTWrtI9AP43mpSOww4Ch2cEdQShTE+L86cDikyNMBNas0j4C/TSal47A DgOGZgd3BKFMTYjzpwOLT44wEVizSvsI9NNoXjoCOwwYmh3cEYQyNSHOnw4sPjnCRGDNKu0j0E+j eekI7DBgaHZwRxDK1IQ4/yqwd6sacR8IlicnYlOnzQjvAgHSCeODBdMRaofhTOqltUNh6B4styRi U6fNCO8CAdIJ44MF0xFqh+FM6qW1Q2HoHiy3JGJTp80I7wIB0gnjgwXTEWqH4UzqpbVDYegeLLck YlOnzQjvAgHSCeODBdMRaofhTOqltUNh6B4styRiU6ddCPZuVePuAwM+R23eg+e7sQiljo4PVq7S oeRnwusysKQw82bgvm55d88fbRFKHR0frFylQ8nPhNdlYElh5s3Afd3y7p4/2iKUOjo+WLlKh5Kf Ca/LwJLCzJuB+7rl3T1/tEUodXR8sHKVDiU/E16XgSWFmTcD9zXs3WHvVjX0PvCuPL+Clw9DR8cH C1ZnX5vwM6lX5xpYQmia8eHvhRDS0fHBgtXZ1yb8TOrVuQaWEJpmfPh7IYR0dHywYHX2tQk/k3p1 roElhKYZH/5eCCEdHR8sWJ19bcLPpF6da2AJoWlOA3u3Ku8Dr2H5Dl4/klnAylXsqyOcDK/Lq6ND 6ZCZAvxwIWQdGh+sXMW+OsLJ8Lq8OjqUDpkpwA8XQtah8cHKVeyrI5wMr8uro0PpkJkC/HAhZB0a H6xcxb46wsnwurw6OpQOmdPA3q3K+8AL0C8BYSK4cjhCGmLg0DnwugzNJoKZAv5eDBPBlcMR0hAD h86B12VoNhHMFPD3YpgIrhyOkIYYOHQOvC5Ds4lgpoC/F8NEcOVwhDTEwKFz4HUZmk0EcybYu1V5 H3gB+AaoNDo4y6L/SfvJz6e5hgjsQOibKVh+s39Ko4OzLPqftJ/8fJpriMAOhL6ZguU3+6c0OjjL ov9J+8nPp7mGCOxA6JspWH6zf0qjg7Ms+p+0n/x8mmuIwA6EvjkT7N2qvA+8AHwD6rPQWXmUzf6Z 6AK4jAiU9s0U6K8212/XWXmUzf6Z6AK4jAiU9s0U6K8212/XWXmUzf6Z6AK4jAiU9s0U6K8212/X WXmUzf6Z6AK4jAiU9s2ZYO9W5X3gBeBjoNLoyCwr/iftqyOcDy/NwD6bIfbN+Cy/2T+l0ZFZVvxP 2ldHOB9emoF9NkPsm/FZfrN/SqMjs6z4n7SvjnA+vDQD+2yG2Dfjs/xm/5RGR2ZZ8T9pXx3hfHhp BvbZDLFvTgN7tyrvA68Bn8FcH4OuORyh9tE8n+YyIqjQNHOBH26un0/XHI5Q+2ieT3MZEVRomrnA DzfXz6drDkeofTTPp7mMCCo0zVzgh5vr59M1hyPUPprn01xGBBWa5nywd6vyPvAaZvwesGaqDmk4 H146OaQTzFzM+MNhzVQd0nA+vHRySCeYuZjxh8OaqTqk4Xx46eSQTjBzMeMPhzVTdUjD+fDSySGd YM4He7cq7wPNJvgN0/v98+Ea0jLQgbRvzB+BN0293z8friEtAx1I+8b8EXjT1Pv98+Ea0jLQgbRv zB+BN0293z8friEtAx1I++ZMsHer8j7QbGL5gv+pDiFo/0zSGuDsh7RpzJ+CV46qQwjaP5O0Bjj7 IW0a86fglaPqEIL2zyStAc5+SJvG/Cl45ag6hKD9M0lrgLMf0qY5H+zdqrwPNO/RD/jxNcvnnfxC 6mKSIxjzp/B9gyPUPppXUReTHMGYP4XvGxyh9tG8irqY5AjG/Cl83+AItY/mVdTFJEcwl4C9W5X3 geY9+HqpOoSg/fPhMrgSZBX6xvwdy6v2T3UIQfvnw2VwJcgq9I35O5ZX7Z/qEIL2z4fL4EqQVegb 83csr9o/1SEE7Z8Pl8GVIKvQN+eDvVuV94HmDfx00weszceM6z5vXl1dSwb0jfkj1l42bT5mXPcq 8urqWjKgb8wfsfayafMx47pXkVdX15IBfWP+iLWXTZuPGde9iry6upYM6Jvzwd6tyvtA0wNfryqN 0q+FK2FIJRTZmD9ieclEaZR+LVwJQyqhyMb8EctLJkqj9GvhShhSCUU25o9YXjJRGqVfC1fCkEoo srkE7N2qvA80PfDRqrPPJsKFcCXwWobYMeaP0NdMX7bIbCJcCFcCr2WIHWP+CH3N9GWLzCbChXAl 8FqG2DHmj9DXTF+2yGwiXAhXAq9liB1zCdi7VXkfaHrg66W0n/xaHot7XQw6IR015u/Aa0ZpP/m1 PBb3uhh0QjpqzN+B14zSfvJreSzudTHohHTUmL8Drxml/eTX8ljc62LQCemouQrs3aq8DxyXy78Z frdpJWwycOgSuAwG9il0zF25/Cfma5ZWwiYDhy6By2Bgn0LH3JXLf2K+ZmklbDJw6BK4DAb2KXTM Xbn8J+ZrllbCJgOHLoHLYGCfQsdcBfZuVd4HmjbLhyvSoeTX0lxPBIgZfWMOBy+YSoeSX0tzPREg ZvSNORy8YCodSn4tzfVEgJjRN+Zw8IKpdCj5tTTXEwFiRt9cAvZuVd4HDsrlHwwWoN7vX0WsQReD MqQZwnxzPy7/cbEA9X7/KmINuhiUIc0Q5pv7cfmPiwWo9/tXEWvQxaAMaYYw39yPy39cLEC937+K WIMuBmVIM4T55hKwd6vyPnBERvha8NFSqa/hcup6kCFOMLdkhB/3+aL9p9TXcDl1PcgQJ5hbMsKP +3zR/lPqa7icuh5kiBPMLRnhx32+aP8p9TVcTl0PMsQJ5kKwd6vyPnBE+OVcAq4eYtYhbcKvRVfC 9bCk0Df349rfF1cPMeuQNuHXoivhelhS6Jv7ce3vi6uHmHVIm/Br0ZVwPSwp9M39uPb3xdVDzDqk Tfi16Eq4HpYU+uYqsHer8j5wRK79YHD152f7UO3TR4DrYWiW4eaWXPvj8gWDap8+AlwPQ7MMN7fk 2h+XLxhU+/QR4HoYmmW4uSXX/rh8waDap48A18PQLMPNhWDvVuV94Fg8P5wrvxksAEKZRpNfS6xB F0OvwnxzJ/jLXvX7YgEQyjSa/FpiDboYehXmmzvBX/aq3xcLgFCm0eTXEmvQxdCrMN/cCf6yV/2+ WACEMo0mv5ZYgy6GXoX55iqwd6vyPnAs8Klc9cE8P9WHUkbJJsvL0cU8VtZaJNzcj2t/37gulDJK Nlleji7msbLWIuHmflz7+8Z1oZRRssnycnQxj5W1Fgk39+Pa3zeuC6WMkk2Wl6OLeaystUi4uRbs 3aq8DxyI9MEc8uVsP4lePRyBsE8fhMdCX1eFThKGzG3Ab8pf9pCfePtJ9OrhCIR9+iA8Fvq6KnSS MGRuA35T/rKH/MTbT6JXD0cg7NMH4bHQ11Whk4Qhcxvwm/KXPeQn3n4SvXo4AmGfPgiPhb6uCp0k DJmrwN6tyvvAUcBHQkf4EpwnlPpNlqmv4pA6wghwMclTGW7uRPp9Eb4E5wmlfpNl6qs4pI4wAlxM 8lSGmzuRfl+EL8F5QqnfZJn6Kg6pI4wAF5M8leHmTqTfF+FLcJ5Q6jdZpr6KQ+oII8DFJE9luLkW 7N2qvA8chedXc+Rns+tsabKWnf4IcElclXYg9M1t4M+q/g27zpYma9npjwCXxFVpB0Lf3Ab+rOrf sOtsabKWnf4IcElclXYg9M1t4M+q/g27zpYma9npjwCXxFVpB0LfXAj2blXeB44CvhN+MPBvwKmo NJpYJj3FEqGWg6BLSq6KjrkZ+Fn5+8K/Aaei0mhimfQUS4RaDoIuKbkqOuZm4Gfl7wv/BpyKSqOJ ZdJTLBFqOQi6pOSq6JibgZ+Vvy/8G3AqKo0mlklPsUSo5SDokpKromMuB3u3Ku8Dr4ffCR3ihA/A 4XSIo8oy9jozxNGmD0IsRlfVdARzD/iD0iFO+AAcToc4qixjrzNDHG36IMRidFVNRzD3gD8oHeKE D8DhdIijyjL2OjPE0aYPQixGV9V0BHMP+IPSIU74ABxOhziqLGOvM0McbfogxGJ0VU1HMNeCvVuV 94HXw08l+TfEGVTocKg5B2KfM6sPQixGV0WvwnxzA/BrVv+GOIMKHQ4150Dsc2b1QYjF6KroVZhv bgB+zerfEGdQocOh5hyIfc6sPgixGF0VvQrzzQ3Ar1n9G+IMKnQ41JwDsc+Z1QchFqOroldhvrkQ 7N2qvA+8En4eKUCctovl4NZpEZolm1CUaRoDhgaBq+LCUgduboD+phogTtvFcnDrtAjNkk0oyjSN AUODwFVxYakDNzdAf1MNEKftYjm4dVqEZskmFGWaxoChQeCquLDUgZsboL+pBojTdrEc3DotQrNk E4oyTWPA0CBwVVxY6sDN5WDvVuV94MXod/L9NxPHqrTDjFAnh3QoTWM5DmlhdEgnmHvAnzX5Z8Sx Ku0wI9TJIR1K01iOQ1oYHdIJ5h7wZ03+GXGsSjvMCHVySIfSNJbjkBZGh3SCuQf8WZN/Rhyr0g4z Qp0c0qE0jeU4pIXRIZ1gLgd7tyrvAy8jfSQ1fADPAFc1R5uT60z6aDRXGIFCx8wOfkr+pjV8AM8A VzVHm5PrTPpoNFcYgULHzA5+Sv6mNXwAzwBXNUebk+tM+mg0VxiBQsfMDn5K/qY1fADPAFc1R5uT 60z6aDRXGIFCx1wO9m5V3gdeA76Nvu+Fx6pSvwZKZ6Zp9NHg2rg85FDqm3nhr9nxvfBYVerXQOnM NI0+Glwbl4ccSn0zL/w1O74XHqtK/RoonZmm0UeDa+PykEOpb+aFv2bH98JjValfA6Uz0zT6aHBt XB5yKPXNtWDvVuV94GXw89Cg5V5wYIg5hTWnmkMshyKtja4hFNncAP6aGrTcCw4MMaew5lRziOVQ pLXRNYQimxvAX1ODlnvBgSHmFNacag6xHIq0NrqGUGRzA/hratByLzgwxJzCmlPNIZZDkdZG1xCK bEYAe7cq7wMvgN9G06HIu+BRCBQ6ez2V4aPBtTGwD+momRf+iE2HIu+CRyFQ6Oz1VIaPBtfGwD6k o2Ze+CM2HYq8Cx6FQKGz11MZPhpcGwP7kI6aeeGP2HQo8i54FAKFzl5PZfhocG0M7EM6ai4He7cq 7wMvgJ8HXEMIc/aCA3mGWnaCeirpA9JcqoZQZDM1+BHpGkKYsxccyDPUshPUU0kfkOZSNYQim6nB j0jXEMKcveBAnqGWnaCeSvqANJeqIRTZTA1+RLqGEObsBQfyDLXsBPVU0gekuVQNochmBLB3q/I+ 8FT4VWho9veCA6s4tBbUU0kfEC6PgX1Im2ZG9HdkaPb3ggOrOLQW1FNJHxAuj4F9SJtmRvR3ZGj2 94IDqzi0FtRTSR8QLo+BfUibZkb0d2Ro9veCA6s4tBbUU0kfEC6PgX1Im+ZysHer8j7wbPTbSA5F 3sVyWDmVlmteQ7M/JlykehJmmknBL9h0KPIulsPKqbRc8xqa/THhItWTMNNMCn7BpkORd7EcVk6l 5ZrX0OyPCRepnoSZZlLwCzYdiryL5bByKi3XvIZmf0y4SPUkzDSXg71blfeBp4JPgt9GJ2xHD4RY pvCBD0ssj+tEQE5u5oW/49uwHT0QYpnCBz4ssTyuEwE5uZkX/o5vw3b0QIhlCh/4sMTyuE4E5ORm Xvg7vg3b0QMhlil84MMSy+M6EZCTm0HA3q3K+8CTeHwl5fOgq6KzneWYp5qleic0+8PCdVZPiqaZ Dv52TVdFZzvLMU81S/VOaPaHheusnhRNMx387Zquis52lmOeapbqndDsDwvXWT0pmmY6+Ns1XRWd 7SzHPNUs1Tuh2R8WrrN6UjTNCGDvVuV94Hnge+CHsVaGb+R56EPMKaincsuEYeEiGdjXDtzMCH9B hmYZvpHnoQ8xp6Ceyi0ThoWLZGBfO3AzI/wFGZpl+Eaehz7EnIJ6KrdMGBYukoF97cDNjPAXZGiW 4Rt5HvoQcwrqqdwyYVi4SAb2tQM3I4C9W5X3gWfA74GBZSjlXSyHvYr9FLaU9MHhUrla5CQMmYnA r8afT8tQyrtYDnsV+ylsKemDw6VytchJGDITgV+NP5+WoZR3sRz2KvZT2FLSB4dL5WqRkzBkJgK/ Gn8+LUMp72I57FXsp7ClpA8Ol8rVIidhyFwO9m5V3geeAb6E5BqgKLezHPMUSja17HsqtTkyXGTy VIab6ag/YrgGKMrtLMc8hZJNLfueSm2ODBeZPJXhZjrqjxiuAYpyO8sxT6FkU8u+p1KbI8NFJk9l uJmO+iOGa4Ci3M5yzFMo2dSy76nU5shwkclTGW4GAXu3Ku8D/5znd9H+TiAO7UIPfJzln1IzhX7J ED4sXCQD+1UYMrPAX42uIcShXeiBj7P8U2qm0C8ZwoeFi2RgvwpDZhb4q9E1hDi0Cz3wcZZ/Ss0U +iVD+LBwkQzsV2HIzAJ/NbqGEId2oQc+zvJPqZlCv2QIHxYukoH9KgyZy8Hercr7wL8F3wA9lWyG Iu9iOUyEJoe0bA4xJB+ctWWvuZmF9Nulks1Q5F0sh4nQ5JCWzSGG5IOztuw1N7OQfrtUshmKvIvl MBGaHNKyOcSQfHDWlr3mZhbSb5dKNkORd7EcJkKTQ1o2hxiSD87astfcjAD2blXeB/4hnQ+DYnMX emwN6jV05tBHJq0WgTkJQ2Z88GM1nWJzF3psDeo1dObQRyatFoE5CUNmfPBjNZ1icxd6bA3qNXTm 0EcmrRaBOQlDZnzwYzWdYnMXemwN6jV05tBHJq0WgTkJQ+ZysHer8j7wD8EHQE8lm6HI21mOeWqt RKieyqaPD1fLkEoEMxH87eCpZDMUeTvLMU+tlQjVU9n08eFqGVKJYCaCvx08lWyGIm9nOeaptRKh eiqbPj5cLUMqEcxE8LeDp5LNUOTtLMc8tVYiVE9l08eHq2VIJYIZB+zdqrwP/CvSx6ClCpN3gaNw OKRNDtVmc0IK48OlqutQKPXN4PAnY2CpwuRd4CgcDmmTQ7XZnJDC+HCp6joUSn0zOPzJGFiqMHkX OAqHQ9rkUG02J6QwPlyqug6FUt8MDn8yBpYqTN4FjsLhkDY5VJvNCSmMD5eqrkOh1DeXg71blfeB fwK/AYaO7yWOolimoF5Dx8enueYIUMpmfPBL8Sfr+17iKIplCuo1dHx8mmuOAKVsxge/FH+yvu8l jqJYpqBeQ8fHp7nmCFDKZnzwS/En6/te4iiKZQrqNXR8fJprjgClbAYBe7cq7wOPB69+cg1UdPbC AxEglOpaNvs1hM9CXTZLCE0zPvixkmugorMXHogAoVTXstmvIXwW6rJZQmia8cGPlVwDFZ298EAE CKW6ls1+DeGzUJfNEkLTjA9+rOQaqOjshQciQCjVtWz2awifhbpslhCaZhywd6vyPvBPwDdA75S7 wLEQSvY5qiVG14aqz0Jdc+QkDpnBwY9F75S7wLEQSvY5qiVG14aqz0Jdc+QkDpnBwY9F75S7wLEQ SvY5qiVG14aqz0Jdc+QkDpnBwY9F75S7wLEQSvY5qiVG14aqz0Jdc+QkDpkRwN6tyvvAg+Hbr4El xOZeeKxK+8kTHKoBE6aAa07LZl+bZmSev+HLr6klxOZeeKxK+8kTHKoBE6aAa07LZl+bZmSev+HL r6klxOZeeKxK+8kTHKoBE6aAa07LZl+bZmSev+HLr6klxOZeeKxK+8kTHKoBE6aAa07LZl+bZhCw d6vyPvBI9BvoOMIH4FgIpfbZgVees95PG5/nfbwsHh1Kh8yY4Gd66wgfgGMhlNpnB155zno/bXye 9/GyeHQoHTJjgp/prSN8AI6FUGqfHXjlOev9tPF53sfL4tGhdMiMCX6mt47wATgWQql9duCV56z3 08bneR8vi0eH0iEzAti7VXkfeDB4+/kZpEBh8i54IEKoNhHC1+Cc/rSR4S1ok5157+sH4U/WDBQm 74IHIoRqEyF8Dc7pTxsZ3oI22Zn3vn4Q/mTNQGHyLnggQqg2EcLX4Jz+tJHhLWiTnXnv6wfhT9YM FCbvggcihGoTIXwNzulPGxnegjbZmfe+7g32blXeBx4GPwCG1ISi/IDl4H9Ch0PqCPemeY+491Dq mwHBz8TfKzkV5QcsB/8TOhxSR7g3zXvEvYdS3wwIfib+XsmpKD9gOfif0OGQOsK9ad4j7j2U+mZA 8DPx90pORfkBy8H/hA6H1BHuTfMece+h1DcjgL1blfeBx4D3Pvla+ACeAQ7VPv3GxA2u3ePt7/0e 4GdKvhY+gGeAQ7VPvzFxg2v3ePt7vwf4mZKvhQ/gGeBQ7dNvTNzg2j3e/t7vAX6m5GvhA3gGOFT7 9BsTN7h2j7e/93nB3q3K+8BjwKv//DT++1eADrGzFx6r0j5HI/wsfgKzgJ+Jv1dyiJ298FiV9jka 4WfxE5gF/Ez8vZJD7OyFx6q0z9EIP4ufwCzgZ+LvlRxiZy88VqV9jkb4WfwERgZ7tyrvAw8A7z29 llR0PmA5+PW07Kfmz/Ljtz8L6Y2tJRWdD1gOfj0t+6n5s/z47c9CemNrSUXnA5aDX0/Lfmr+LD9+ +7OQ3thaUtH5gOXg19Oyn5o/y4/f/uBg71blfeABPP4ZKP8QPHsPsfMxPAmlTQ5FMGZw+K4mh9j5 GJ6E0iaHIhgzOHxXk0PsfAxPQmmTQxGMGRy+q8khdj6GJ6G0yaEIxowJ9m5V3gd+Bb98Deqq6HzA cvBTLDmU3Jhheby4r+9wclV0PmA5+CmWHEpuzLA8XtzXdzi5KjofsBz8FEsOJTdmWB4v7us7nFwV nQ9YDn6KJYeSGzMm2LtVeR/4Fenjj8AOpRM+gydhSCWCMSPD15UlO5RO+AyehCGVCMaMDF9XluxQ OuEzeBKGVCIYMzJ8XVmyQ+mEz+BJGFKJYMywYO9W5X3gV+g/AaHU0fAZODwJ/aYbMyx8UaHU0fAZ ODwJ/aYbMyx8UaHU0fAZODwJ/aYbMyx8UaHU0fAZODwJ/aYbMybYu1V5H/g58c3rx0/XEIr8MTic 5+m7McMSr6i+q3QNocgfg8N5nr4bMyzxiuq7StcQivwxOJzn6bsxwxKvqL6rdA2hyB+Dw3mevhsz LNi7VXkf+AnxweuXn5xi8zNwEoglQi2NGZP0oian2PwMnARiiVBLY8YkvajJKTY/AyeBWCLU0pgx SS9qcorNz8BJIJYItTRmTPCiYu9W5X3gJ+Cbp9eg5TfoqUK1z1EOGTMUfEvhNWj5DXqqUO1zlEPG DAXfUngNWn6DnipU+xzlkDFDwbcUXoOW36CnCtU+RzlkzFDg5cTercr7wE/AM31++C//ELAJRfkN y1meQsmmluHGDAtfVIbUhKL8huUsT6FkU8twY4aFLypDakJRfsNylqdQsqlluDHDwheVITWhKL9h OctTKNnUMtyYYcErir1blfeBu3n8A1D+CaBTUX7DchY5bR1tDhkzDnw/m05F+Q3LWeS0dbQ5ZMw4 8P1sOhXlNyxnkdPW0eaQMePA97PpVJTfsJxFTltHm0PGjAPfT+zdqrwP3AeeZvIawr+Ep4LYhHQC howZjfqihtcQ/iU8FcQmpBMwZMxo1Bc1vIbwL+GpIDYhnYAhY0ajvqjhNYR/CU8FsQnpBAwZMxr6 imLvVuV94D7iaepj1VKFyd+wnOiftJ/cmDF5vLivr6sGCpO/YTnRP2k/uTFj8nhxX19XDRQmf8Ny on/SfnJjxuTx4r6+rhooTP6G5UT/pP3kxozJ48X996Ji71blfeBW9GkyqKfwPTxhLcMRjBkQvp8a 1FP4Hp6wluEIxgwI308N6il8D09Yy3AEYwaE76cG9RS+hyesZTiCMQPC95MBe7cq7wO3wgfKkh0N IUz4huVE/6R9jrI0ZjTS+/l4X8urC2HCNywn+iftc5SlMaOR3s/H+1peXQgTvmE50T9pn6MsjRmN 9H4+3tfy6kKY8A3Lif5J+xxlacxopPczAvZuVd4HboXPFKqdEGZ+D06VTvi8wst1OWTMUPAVhWon hJnfg1OlEz6v8HJdDhkzFHxFodoJYeb34FTphM8rvFyXQ8YMBV9RqHZCmPk9OFU64fMKL9flkDFD wVcUioy9W5X3ge/hQ2w6pNO+B6eCtJncmNF4vLLlRaVDOu17cCpIm8mNGY3HK1teVDqk074Hp4K0 mdyY0Xi8suVFpUM67XtwKkibyY0ZjccrW17UcOzdqrwPfA8fIkOziXAU6YTIbMKNGQ2+nwzNJsJR pBMiswk3ZjT4fjI0mwhHkU6IzCbcmNHg+8nQbCIcRTohMptwY0aD7ycDHHu3Ku8D3/B8ki+PshlC kQ9hOd3rCVGqGzMaj7f29UVthlDkQ1hO93pClOrGjMbjrX19UZshFPkQltO9nhClujGj8XhrX1/U ZghFPoTldK8nRKluzGg83trXF5UBe7cq7wPfwCdYnYryQHDCemb2tWnMOOgrmpyK8kBwwnpm9rVp zDjoK5qcivJAcMJ6Zva1acw46CuanIryQHDCemb2tWnMOOgrmhx7tyrvA1eJp8bH1y8RjgInDL1t GjMIfDnpayXCUeCEobdNYwaBLyd9rUQ4Cpww9LZpzCDw5aSvlQhHgROG3jaNGQS+nPRUYu9W5X1g Dz4+BpYqTD6QdFpk7RgzGnxLGViqMPlA0mmRtWPMaPAtZWCpwuQDSadF1o4xo8G3lIGlCpMPJJ0W WTvGjAbfUgaWIezdqrwPbIOnhqCeyvBjeV6hcfJm05gReLyy8n7SUxl+LM8rNE7ebBozAo9XVt5P eirDj+V5hcbJm01jRuDxysr7SU9l+LE8r9A4ebNpzAg8Xll5P+laYu9W5X1gGz47htSkonMgy0lf T4uy9o0ZgfR+JldF50CWk76eFmXtGzMC6f1MrorOgSwnfT0tyto3ZgTS+5lcFZ0DWU76elqUtW/M CKT3MzmEvVuV94EZPC8EdQ1QlIeD06aTP6/2J5cz5hv4ZibXAEV5ODhtOvnzan9yOWO+gW9mcg1Q lIeD06aTP6/2J5cz5hv4ZibXAEV5ODhtOvnzan9yOWO+gW9mcg0Q9m5V3gc2iOelriGkzcOpZ0aZ msYMgr6f4RpC2jycemaUqWnMIOj7Ga4hpM3DqWdGmZrGDIK+n+EaQto8nHpmlKlpzCDo+xmuIcSM vVuV94Ev8JHBU1mb53D+FY15i76W4amszXM4/4rGvEVfy/BU1uY5nH9FY96ir2V4KmvzHM6/ojFv 0dcyPJWpib1blfeBL+gjq66KzjngWmde0ZgtPL+Dlw9EXRWdc8C1zryiMVt4fgcvH4i6KjrngGud eUVjtvD8Dl4+EHVVdM4B1zrzisZs4fkdvHwg6qroYO9W5X3gC3hYfGopQJh5Grji+dc1pg/fzGaA MPM0cMXzr2tMH76ZzQBh5mngiudf15g+fDObAcLM08AVz7+uMX34ZjYDhJkB9m5V3gcu8Hk1PZXh Z3L+FY3p8PgeyhdBT2X4mZx/RWM6PL6H8kXQUxl+Judf0ZgOj++hfBH0VIafyflXNKbD43soXwQ9 leEB9m5V3gcu8HkxpJKK8kwuuagxHfBC8s2sJRXlmVxyUWM64IXkm1lLKsozueSixnTAC8k3s5ZU lGdyyUWN6YAXkm9mLakoAfZuVd4HPsCTotcyxI4xv4x+C48Po5Qhdoz5ZfRbeHwYpQyxY8wvo9/C 48MoZYgdY34Z/RYeH0YpQ+wQ7N2qvA9cfZSpiWDML5M+h+QpGPPLpM8heQrG/DLpc0iegjG/TPoc kqegYO9W9ev7QD4ydQ1UdIz5ZfAVJNdARceYXwZfQXINVHSM+WXwFSTXQEXHmF8GX0FyDVR0Eti7 Vf30PhBPit4vw435WdLn0C/DjflZ0ufQL8ON+VnS59Avw435WdLn0C/DE9i7VfnvgQ8hVKeiNObH 4bfQdCpKY34cfgtNp6I05sfht9B0Kkpjfhx+C02noqxg71b1u/tAPqzkGkIcMuZnSd8CXUOIQ8b8 LOlboGsIcciYnyV9C3QNIQ4Z87Okb4GuIcShCvZuVT+9D1RfKxGM+WX4OcDXSgRjfhl+DvC1EsGY X4afA3ytRDDml+HnAF8rEZpg71b1o/tAPjJ4LanoGPPL4Cug15KKjjG/DL4Cei2p6Bjzy+AroNeS io4xvwy+Anotqeisgb1b1S/uA/Gk+MhqmYIxP0v6FmqZgjE/S/oWapmCMT9L+hZqmYIxP0v6FmqZ whrYu1X93D6Qz2vNqSiN+WXwFXScitKYXwZfQcepKI35ZfAVdJyK0phfBl9Bx6ko+2DvVvXTfw+E awhp05gfh18EXENIm8b8OPwi4BpC2jTmx+EXAdcQ0qYxPw6/CLiGkDb7YO9W9Vv7QD4shBCyupbG /Cz6LUDI6loa87PotwAhq2tpzM+i3wKErK6lMT+LfgsQsrqWfbB3q/q5feCaJ0XTmF8GX0HTk6Jp zC+Dr6DpSdE05pfBV9D0pGga88vgK2h6UjTfgr1b1a/sA/mkmg6xY8wvkz6H5BA7xvwy6XNIDrFj zC+TPofkEDvG/DLpc0gOsbMR7N2qfujvgXxqNbAMRTbmx8GHwC9CA8tQZGN+HHwI/CI0sAxFNubH wYfAL0IDy1BkY34cfAj8IjSwDEXeCPZuVT/090A4Q2qG2DHml+G3wJCaIXaM+WX4LTCkZogdY34Z fgsMqRlix5hfht8CQ2qG2NkI9m5V998HpudF10BFx5ifhV9Bcg1UdIz5WfgVJNdARceYn4VfQXIN VHSM+Vn4FSTXQEVnO9i7Vf3EPlC9Uxrz4+jn8Pg21ktjfhz9HB7fxnppzI+jn8Pj21gvjflx9HN4 fBvr5V6wd6v6oX0gQ2pS0THml8FXwM8huSo6xvwy+Ar4OSRXRceYXwZfAT+H5KroGPPL4Cvg55Bc FZ1dYO9WdfN9IJ5U0yk2jfll9FtITrFpzC+j30Jyik1jfhn9FpJTbBrzy+i3kJxicy/Yu1XdeR/I 59UPocjG/DL4Cvg5rIVQZGN+GXwF/BzWQiiyMb8MvgJ+DmshFNmYXwZfAT+HtRCK/AHYu1X574Ef PlBjbga+haZTURpj8C00nYrSGINvoelUlMYYfAtNp6L8DOzdqvz3wM+fqTG3IX0RnWDMj5O+iE4w 5sdJX0QnGPPjpC+iEz4De7eqm+8D8ciSU5hmjOEXkZzCNGMMv4jkFKYZY/hFJKcwzRjDLyI5hWkf g71b1W33gXhk9GYIRTbmx8GHQG+GUGRjfhx8CPRmCEU25sfBh0BvhlBkY34cfAj0ZghF/hjs3aru uQ/Ew+JTS66lMT8OPweGtaYxPw4/B4a1pjE/Dj8HhrWmMT8OPweGteY3YO9W9UN/D0ziTGN+HHwO 9CrONObHwedAr+JMY34cfA70Ks405sfB50Cv4syPwd6t6hf/HhhujAH8LhiSG2MAvwuG5MYYwO+C IbkxBvC7YEh+CNi7Vd1wH9h8jkmYacyPg28heRJmGvPj4FtInoSZxvw4+BaSJ2GmMT8OvoXkSZj5 Jdi7Vd15H1gD3RgT8KOogW6MCfhR1EA3xgT8KGqgG2MCfhQ10A8Be7eqG+4Dg/QQVZxjjAnwUdBV nGOMCfBR0FWcY4wJ8FHQVZxjjAnwUdBVnPM92LtV3W0fyAfXDJhjjAn006gBc4wxgX4aNWCOMSbQ T6MGzDHGBPpp1IA5R4G9W9UN/x6oT/DxOF+DMYbw64CnYIwh/DrgKRhjCL8OeArGGMKvA57CgWDv VnXDvweqqzjHGBPgo6CrOMcYE+CjoKs4xxgT4KOgqzjHGBPgo6CrOOcosHerutU+kM8OIaRNYwzh d4EQ0qYxhvC7QAhp0xhD+F0ghLRpjCH8LhBC2jwc7N2q7rYPrA5hgjEG4KNIDmGCMQbgo0gOYYIx BuCjSA5hgjEG4KNIDmHCsWDvVnXPfaBKJxhjAD4NfCOUTjDGAHwa+EYonWCMAfg08I1QOsEYA/Bp 4BuhdMKxYO9Wdbd9IB5iDcYYhZ9GDcYYhZ9GDcYYhZ9GDcYYhZ9GDX8B9m5V99kH6kMMMXOCMQbo BxJi5gRjDNAPJMTMCcYYoB9IiJkTjDFAP5AQMyccDvZuVTfZB6aHiBDiBGMMwHfBDwQhxAnGGIDv gh8IQogTjDEA3wU/EIQQJxhjAL4LfiAIIU74C7B3q7rbPhCOYIyp8DOBIxhjKvxM4AjGmAo/EziC MabCzwSO8Ndg71Z1w78HUjrBGAPwaeAboXSCMQbg08A3QukEYwzAp4FvhNIJxhiATwPfCKUT/gLs 3arusA/k4+OjZMcYo/DTeH4r/liMWYWfxvNb8cdizCr8NJ7fij8WY1bhp/H8Vs77WLB3q7rP3wP5 NBGMMU34jTAYY5rwG2EwxjThN8JgjGnCb4ThBLB3q5p+H8iHiBDSUWMM4QeCENJRYwzhB4IQ0lFj DOEHghDSUWMM4QeCENLRPwV7t6r7/D0QfuYzNWZG/LEYsxF/LMZsxB+LMRu55GPB3q3qPvtAKPWN MYnlU/HHYsw7lk/FH4sx71g+FX8sxrxj+VTO/Viwd6uaex/Ih3j+AzVmLvyxGLMRfyzGbMQfizEb ufZjwd6t6g5/D8TTPP+ZGjMd/liM2Yg/FmM24o/FmI1c9bFg71Z1k33g+Q/UmBnxx2LMRvyxGLMR fyzGbOSqjwV7t6o77AMD/wNkzEb8sRizEX8sxmzEH4sxG/E+8EjiafpfH2O24I/FmI34YzFmI/5Y jNnIhR8L9m5Vd9gHpo4xpok/FmM24o/FmI34YzFmIxd+LNi7VU2/DzTGGGOMMcYY0wR7t6q594H+ r1DGbMQfizEb8cdizEb8sRizkWs/Fuzdqvz3QGOMMcYYY4y5J9i7VXkfaIwxxhhjjDH3BHu3Ku8D jTHGGGOMMeaeYO9W5X2gMcYYY4wxxtwT7N2qvA80xhhjjDHGmHuCvVuV94HGGGOMMcYYc0+wd6vy PtD8Fvj/9vp/dW3MW/yxGLMRfyzGbMQfyyVg71blfaD5CfTfnfBmUEXTmN8E7z+9GVTRNOY3wftP bwZVNI35TfD+05tBFU1zINi7VXkfaG4O/jXhPysbHYpszO+Ad54v/0aHIhvzO+Cd58u/0aHIxvwO eOf58m90KLI5BOzdqrwPNDcH/47QU5maKk4w5kfQ1/7xDbyWqaniBGN+BH3tH9/Aa5maKk4w5kfQ 1/7xDbyWqaniBPM92LtVeR9obkv6dyR5s0wdCH1jbgxf9aY3y9SB0DfmxvBVb3qzTB0IfWNuDF/1 pjfL1IHQN9+AvVuV94HmnuAfDvpayZBGKZ1mzC3hew5fKxnSKKXTjLklfM/hayVDGqV0mjG3hO85 fK1kSKOUTjMfg71blfeB5obwHw71VDYnhCI3m3Bjboa+3vRUNieEIjebcGNuhr7e9FQ2J4QiN5tw Y26Gvt70VDYnhCI3m3DzGdi7VXkfaG6I/pPx+PejW2ozTdAAYY4xtwFvNb1fajNN0ABhjjG3AW81 vV9qM03QAGGOMbcBbzW9X2ozTdAAYY7ZC/ZuVd4HmruBfyb470XTa1jrQ9o05jakd7vpNaz1IW0a cxvSu930Gtb6kDaNuQ3p3W56DWt9SJvmA7B3q7rzPpDvDd3cHv7cDJ1mKqtrCHHofujd3fUeTYI/ N0OnmcrqGkIcuh96d3e9R5Pgz83QaaayuoYQh+6H3t1d79Ek+HMzdJqprK4hxKH7oXf3F/eIvVvV PfeBfI4Myc0taf7cqexMYEijoZTvBO6It1bd3JLmz53KzgSGNBpK+U7gjnhr1c0taf7cqexMYEij oZTvBO6It1bd3JLmz53KzgSGNBpK+U7gjnhr1Q8Be7equ+0Dmw+xGUKRzW3AD5p8rWSongJzKOXZ wV0kb4ZQZHMb8IMmXysZqqfAHEp5dnAXyZshFNncBvygyddKhuopMIdSnh3cRfJmCEU2twE/aPK1 kqF6CsyhlGcHd5G8GUKRvwF7t6ob/j0QD6vvtfySeonq5k/ho2Z423w7QQPFCTdAb2fNa/kl9RLV zZ/CR83wtvl2ggaKE26A3s6a1/JL6iWqmz+Fj5rhbfPtBA0UJ9wAvZ01r+WX1EtUN38KHzXD2+bb CRooTrgBejtrXssPwN6t6lb7QD6mTuiUH8PzwDsh3PwR6TlrybDWZ9hYhiJPDW6B99IMnfJjeB54 J4SbPyI9Zy0Z1voMG8tQ5KnBLfBemqFTfgzPA++EcPNHpOesJcNan2FjGYo8NbgF3kszdMqP4Xng nRBu/oj0nLVkWOszbCxDkacGt8B7aYZOuRfs3arusw/kA4KnstlMZfgunid4iBlBPZV0cyCPp/z6 hFP5vavYiTApvAt4KpvNVIbv4nmCh5gR1FNJNwfyeMqvTziV37uKnQiTwruAp7LZTGX4Lp4neIgZ QT2VdHMgj6f8+oRT+b2r2IkwKbwLeCqbzVSG7+J5goeYEdRTSTcH8njKr084ld+7ip0Ik8K7gKey 2Uxl+C6wd6u6yT6Qz4Xhg+YueEg9T3gqmxNCkc334Elu9I1lP0BRzghWzltInsq15i54SD1PeCqb E0KRzffgSW70jWU/QFHOCFbOW0ieyrXmLnhIPU94KpsTQpHN9+BJbvSNZT9AUc4IVs5bSJ7KteYu eEg9T3gqmxNCkc334Elu9I1lP0BRzghWzltInsq15i7iEOzdqu62D+x7KlMToQ+mhZgRmmVzCCFN MN/AJ8mQSoYt5ZpTaWg66i00PZWpidAH00LMCM2yOYSQJphv4JNkSCXDlnLNqTQ0HfUWmp7K1ETo g2khZoRm2RxCSBPMN/BJMqSSYUu55lQamo56C01PZWoi9MG0EDNCs2wOIaQJ5hv4JBlSybClXHMq DU1HvYWmpzI1EfpgWigy9m5V0+8DeYfJa9g42oET6lHhnwW6+Yz6JMNT2WyulQzNUZZQlBPBNSev YeNoB06oR4V/FujmM+qTDE9ls7lWMjRHWUJRTgTXnLyGjaMdOKEeFf5ZoJvPqE8yPJXN5lrJ0Bxl CUU5EVxz8ho2jnbghHpU+GeBbj6jPsnwVDabayVDc5QlFOVEcM3Ja9g42oETELB3q7rDPhBew/ZR dYQmGA0xp/Clm73w6dWwpVzzGlhCOjoRaeUato+qIzTBaIg5hS/d7IVPr4Yt5ZrXwBLS0YlIK9ew fVQdoQlGQ8wpfOlmL3x6NWwp17wGlpCOTkRauYbto+oITTAaYk7hSzd74dOrYUu55jWwhHR0ItLK NWwfVUdogtEQMvZuVXPvA/UOq6dyzWsIT+jQLk9lf4L5AH2A9KS1aZy8cYKGUOSJ4Jqbnso1ryE8 oUO7PJX9CeYD9AHSk9amcfLGCRpCkSeCa256Kte8hvCEDu3yVPYnmA/QB0hPWpvGyRsnaAhFngiu uempXPMawhM6tMtT2Z9gPkAfID1pbRonb5ygIRR5IrjmpqdyzWsIT+gQHXu3qtjX7dUo+8B0h6nc 0mRYm0PYV18rGdb6DM2+2QifGAP76lAaYkhlDWkapHOmgGuGp3JLk2FtDmFffa1kWOszNPtmI3xi DOyrQ2mIIZU1pGmQzpkCrhmeyi1NhrU5hH31tZJhrc/Q7JuN8IkxsK8OpSGGVNaQpkE6Zwq4Zngq tzQZ1uYQ9tXXSoa1PkOzbzbCJ8bAvjqUhhhSWUOaBumcKeCa4anc0mRYm0PYV8ferWrZ2+3REPtA 3hhDKhn6/eYcOmCnhmbZaW6ZYDbSfHQRktCvcHSjQ5pDUY4P1skF15Kh32/OoQN2amiWneaWCWYj zUcXIQn9Ckc3OqQ5FOX4YJ1ccC0Z+v3mHDpgp4Zm2WlumWA20nx0EZLQr3B0o0OaQ1GOD9bJBdeS od9vzqEDdmpolp3mlglmI81HFyEJ/QpHNzqkORTl+GCdXHAtGfr95hw6YCcF7N2qlr3dHl2/D+S9 bfEamuVaE9R+09fKGpqlNs1b+MToa80maeaWUMvx0dW+9Rqa5VoT1H7T18oamqU2zVv4xOhrzSZp 5pZQy/HR1b71GprlWhPUftPXyhqapTbNW/jE6GvNJmnmllDL8dHVvvUamuVaE9R+09fKGpqlNs1b +MToa80maeaWUMvx0dW+9Rqa5VoT1H449m5Vy95ujy7eB6Ybq6FZrnkNtR9aG0qhWVZfKxnCTR8+ Kwb2VWiugQmc+daroj8yWCG9hma55jXUfmhtKIVmWX2tZAg3ffisGNhXobkGJnDmW6+K/shghfQa muWa11D7obWhFJpl9bWSIdz04bNiYF+F5hqYwJlvvSr6I4MV0mtolmteQ+2H1oZSaJbV10qGcNOH z4qBfRWaa2ACZ771quiPDFZIr6FZrnkNtR9qDmHvVrXs7fZo6L8HpvKoCan8a0cwa/BB0dnXJrxP mv9BOThcbfVUHjUhlX/tCGYNPig6+9qE90nzPygHh6utnsqjJqTyrx3BrMEHRWdfm/A+af4H5eBw tdVTedSEVP61I5g1+KDo7GsT3ifN/6AcHK62eiqPmpBKOPZuVcvebo+u/3sg74qhWaYmw5ZyzVOZ mgxrfYbtpamkRwTnEMVmH05O3gxJ0R8ZLlJDs0xNhi3lmqcyNRnW+gzbS1NJjwjOIYrNPpycvBmS oj8yXKSGZpmaDFvKNU9lajKs9Rm2l6aSHhGcQxSbfTg5eTMkRX9kuEgNzTI1GbaUa57K1GRY6zNs L00lPSI4hyg2+3By8mZIiv7IcJEammVqMmwp11xL7N2qlr3dHv23D8SpT+N5R/neGNT75duhGj4Y TWUNzbLpJpEekYaQNt/C+fBUbhnayK7J3xOXwxWbQb1fvh2q4YPRVNbQLJtuEukRaQhp8y2cD0/l lqGN7Jr8PXE5XLEZ1Pvl26EaPhhNZQ3NsukmkR6RhpA238L58FRuGdrIrsnfE5fDFZtBvV++Harh g9FU1tAsm24S6RFpCGnzLZwPT+WWoY3smvw9cTlcsRnU++XboRqao9i7VS17uz3K+8DnVR7hT+G1 1rwTqqey2dxY1tAsq28vjcInw1D7ITS3gMnJU8lmUvQ3gsl7j/oMXmvNOzjE4W4AAAZ+SURBVKF6 KpvNjWUNzbL69tIofDIMtR9CcwuYnDyVbCZFfyOYvPeoz+C11rwTqqey2dxY1tAsq28vjcInw1D7 ITS3gMnJU8lmUvQ3gsl7j/oMXmvNO6F6KpvNjWUNzbL69tIofDIMtR9CcwuYnDyVbCZFfyOYvPeo z+C11rwTqqey2XxbYu9Wtezt9uhlHxiKwIv9HTh/02sJvZ3Zae6asNfXSoY6agifDB2BYomht6RD kteQfCOP4//N33XgB+D8Ta8l9HZmp7lrwl5fKxnqqCF8MnQEiiWG3pIOSV5D8o08jv83f9eBH4Dz N72W0NuZneauCXt9rWSoo4bwydARKJYYeks6JHkNyTfyOP7f/F0HfgDO3/RaQm9ndpq7Juz1tZKh jhrCJ0NHoFhi6C3pkOQ1JN/I4/h/83cd+AE4f9NrCb2d2WlumYC9W9Wyt9uj1b8HMhwLT0uvgWVo rdMJ6v2y00xDnbDFm6XhA6muAYpyI5hMTyWbVTH0Fkyjp3AsPC29BpahtU4nqPfLTjMNdcIWb5aG D6S6BijKjWAyPZVsVsXQWzCNnsKx8LT0GliG1jqdoN4vO8001AlbvFkaPpDqGqAoN4LJ9FSyWRVD b8E0egrHwtPSa2AZWut0gnq/7DTTUCds8WZp+ECqa4Ci3Agm01PJZlUMvQXT6CkcC09Lr4FlaK3T Cer9UpvYu1Ute7s9auwDm/496ZypTEMhzRA79RD1frmlydD3ftlp0k08Bz4QBOQ0hP529MDHWTaX b9HJa/496ZypTEMhzRA79RD1frmlydD3ftlp0k08Bz4QBOQ0hP529MDHWTaXb9HJa/496ZypTEMh zRA79RD1frmlydD3ftlp0k08Bz4QBOQ0hP529MDHWTaXb9HJa/496ZypTEMhzRA79RD1frmlydD3 ftlp0k08Bz4QBOQ0hP529MDHWTaXb9HJa/496ZypTEMhzRA79RD1frnWxN6tatnb7dGyD+TZawg/ BD0hvR+otY56v+wMfVP25zA0R8MNnwYfCHIShjbCQzTUPqRl5C1gJg/RgAnfoyek9wO11lHvl52h b8r+HIbmaLjh0+ADQU7C0EZ4iIbah7SMvAXM5CEaMOF79IT0fqDWOur9sjP0Tdmfw9AcDTd8Gnwg yEkY2ggP0VD7kJaRt4CZPEQDJnyPnpDeD9RaR71fdoa+KftzGJqj4YZPgw8EOQlDG+EhGmof0jLy FjCTh2jAhO/RE9L7gVrrqPfLzhAC9m5Vy95uj5Z94P9ZlmVZlmVZlmVZAwt7t6plb7dH3gdalmVZ lmVZlmVNIOzdqpa93R55H2hZlmVZlmVZljWBsHerWvZ2e+R9oGVZlmVZlmVZ1gTC3q1q2dvtkfeB lmVZlmVZlmVZEwh7t6plb7dH3gdalmVZlmVZlmVNIOzdqpa93R55H2hZlmVZlmVZljWBsHerWvZ2 e+R9oGVZlmVZlmVZ1gTC3q1q2dvtkfeBlmVZlmVZlmVZEwh7t6plb7dH3gdalmVZlmVZlmVNIOzd qpa93R55H2hZlmVZlmVZljWBsHerWvZ2e+R9oGVZlmVZlmVZ1gTC3q1q2dvtkfeBlmVZlmVZlmVZ Ewh7t6plb7dH3gdalmVZlmVZlmVNIOzdqpa93R55H2hZlmVZlmVZljWBsHerWvZ2e+R9oGVZlmVZ lmVZ1gTC3q1q2dvtkfeBlmVZlmVZlmVZEwh7t6plb7dH3gdalmVZlmVZlmVNIOzdqpa93R55H2hZ lmVZlmVZljWBsHerWvZ2e+R9oGVZlmVZlmVZ1gTC3q1q2dvtkfeBlmVZlmVZlmVZEwh7t6plb7dH 3gdalmVZlmVZlmVNIOzdqpa93R55H2hZlmVZlmVZljWBsHerWvZ2e+R9oGVZlmVZlmVZ1gTC3q1q 2dvtkfeBlmVZlmVZlmVZEwh7t6plb7dH3gdalmVZlmVZlmVNIOzdqpa93R55H2hZlmVZlmVZljWB sHerWvZ2e+R9oGVZlmVZlmVZ1gTC3q1q2dvtkfeBlmVZlmVZlmVZEwh7t6plb7dH3gdalmVZlmVZ lmVNIOzdqpa93R55H2hZlmVZlmVZljWBsHerWvZ2e+R9oGVZlmVZlmVZ1gTC3q1q2dvtkfeBlmVZ lmVZlmVZEwh7t6plb7dH3gdalmVZlmVZlmVNIOzdqpa93R55H2hZlmVZlmVZljWBsHerWvZ22/W/ //0/D++pdmDgMpMAAAAASUVORK5CYII= --=-=-= Content-Type: text/plain I would like if someone else can test it for see if there are any issues. Thanks. --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-Stipple-support-for-MS-Windows.patch >From ef7d9b6fb9411cce26666d5804ee46f20ea1a3ec Mon Sep 17 00:00:00 2001 From: "Elias G. Perez" Date: Fri, 10 May 2024 20:36:42 -0600 Subject: [PATCH] Stipple support for MS Windows * src/w32term.h (w32_bitmap_record): Add stipple value. * src/w32term.c: (w32_fill_stipple_pattern): New function. (w32_draw_glyph_string_background, w32_draw_glyph_string_bg_rect) (w32_draw_stretch_glyph_string): Use new stipple function. * src/image.c: (image_create_bitmap_from_data): Create stipple bitmap. (image_create_bitmap_from_file): Add suuport for pixmap and create stipple bitmap. --- src/image.c | 57 +++++++++++++++++++++++++++++++++++++++++++++----- src/w32term.c | 58 +++++++++++++++++++++++++++++++++------------------ src/w32term.h | 1 + 3 files changed, 91 insertions(+), 25 deletions(-) diff --git a/src/image.c b/src/image.c index e93fc3183af..f6c20985fbe 100644 --- a/src/image.c +++ b/src/image.c @@ -214,6 +214,13 @@ #define n_planes n_image_planes static unsigned long *colors_in_color_table (int *n); #endif +#ifdef HAVE_NTGUI +static HBITMAP w32_create_pixmap_from_bitmap_data (int width, + int height, + char *data); + +#endif + #if defined (HAVE_WEBP) || defined (HAVE_GIF) static void anim_prune_animation_cache (Lisp_Object); #endif @@ -602,7 +609,12 @@ image_create_bitmap_from_data (struct frame *f, char *bits, FRAME_DISPLAY_INFO (XFRAME (frame))->n_planes, FRAME_DISPLAY_INFO (XFRAME (frame))->n_cbits, bits); - if (! bitmap) + Emacs_Pixmap stipple; + + /* Convert X bitmap to W32 bitmap */ + stipple = w32_create_pixmap_from_bitmap_data (width, height, bits); + + if (!bitmap || !stipple) return -1; #endif /* HAVE_NTGUI */ @@ -681,6 +693,7 @@ image_create_bitmap_from_data (struct frame *f, char *bits, #ifdef HAVE_NTGUI dpyinfo->bitmaps[id - 1].pixmap = bitmap; + dpyinfo->bitmaps[id - 1].stipple = stipple; dpyinfo->bitmaps[id - 1].hinst = NULL; dpyinfo->bitmaps[id - 1].depth = 1; #endif /* HAVE_NTGUI */ @@ -699,7 +712,7 @@ image_create_bitmap_from_data (struct frame *f, char *bits, #endif /* defined HAVE_ANDROID && !defined ANDROID_STUBIFY */ #if defined HAVE_HAIKU || defined HAVE_NS || defined HAVE_PGTK \ - || defined HAVE_ANDROID + || defined HAVE_ANDROID || defined HAVE_NTGUI static char *slurp_file (image_fd, ptrdiff_t *); static Lisp_Object image_find_image_fd (Lisp_Object, image_fd *); static bool xbm_read_bitmap_data (struct frame *, char *, char *, @@ -711,10 +724,44 @@ image_create_bitmap_from_data (struct frame *f, char *bits, ptrdiff_t image_create_bitmap_from_file (struct frame *f, Lisp_Object file) { -#if defined (HAVE_NTGUI) - return -1; /* W32_TODO : bitmap support */ -#else Display_Info *dpyinfo = FRAME_DISPLAY_INFO (f); + +#ifdef HAVE_NTGUI + ptrdiff_t id, size; + int width, height, rc; + image_fd fd; + char *contents, *data; + Emacs_Pixmap bitmap; + + if (!STRINGP (image_find_image_fd (file, &fd))) + return -1; + + contents = slurp_file (fd, &size); + + if (!contents) + return -1; + + rc = xbm_read_bitmap_data (f, contents, contents + size, + &width, &height, &data, 0); + + if (!rc) + { + xfree (contents); + return -1; + } + + id = image_allocate_bitmap_record (f); + bitmap = w32_create_pixmap_from_bitmap_data (width, height, data); + + dpyinfo->bitmaps[id - 1].height = width; + dpyinfo->bitmaps[id - 1].width = height; + dpyinfo->bitmaps[id - 1].stipple = bitmap; + dpyinfo->bitmaps[id - 1].file = xlispstrdup (file); + printf("%s\n", dpyinfo->bitmaps[id - 1].file); + + xfree (contents); + xfree (data); + return id; #endif #ifdef HAVE_NS diff --git a/src/w32term.c b/src/w32term.c index a9aff304771..b68f0b4e3d6 100644 --- a/src/w32term.c +++ b/src/w32term.c @@ -1248,6 +1248,37 @@ w32_clear_glyph_string_rect (struct glyph_string *s, real_w, real_h); } +/* Fill background with bitmap pattern from S at specified position + given by X and Y. WIDTH and HEIGHT specifies bitmap size, GC is + used to get foreground and background color context and HDC where + fill it. */ + +static void +w32_fill_stipple_pattern (HDC hdc, struct glyph_string *s, Emacs_GC *gc, + int x, int y, unsigned int width, unsigned int height) +{ + /* BUG: stipple bitmap has the inverted colors, inverting + those 2 functions color must fix this. */ + + SetTextColor (hdc, gc->background); + SetBkColor (hdc, gc->foreground); + + Emacs_Pixmap bm; + HBRUSH hb; + RECT r; + + bm = FRAME_DISPLAY_INFO (s->f)->bitmaps[s->face->stipple - 1].stipple; + hb = CreatePatternBrush (bm); + + r.left = x; + r.top = y; + r.right = x + width; + r.bottom = y + height; + + FillRect (hdc, &r, hb); + + DeleteObject (hb); +} /* Draw the background of glyph_string S. If S->background_filled_p is non-zero don't draw it. FORCE_P non-zero means draw the @@ -1264,21 +1295,16 @@ w32_draw_glyph_string_background (struct glyph_string *s, bool force_p) { int box_line_width = max (s->face->box_horizontal_line_width, 0); -#if 0 /* TODO: stipple */ if (s->stippled_p) { /* Fill background with a stipple pattern. */ - XSetFillStyle (s->display, s->gc, FillOpaqueStippled); - XFillRectangle (s->display, FRAME_W32_WINDOW (s->f), s->gc, s->x, - s->y + box_line_width, - s->background_width, - s->height - 2 * box_line_width); - XSetFillStyle (s->display, s->gc, FillSolid); + w32_fill_stipple_pattern (s->hdc, s, s->gc, s->x, + s->y + box_line_width, + s->background_width, + s->height - 2 * box_line_width); s->background_filled_p = true; } - else -#endif - if (FONT_HEIGHT (s->font) < s->height - 2 * box_line_width + else if (FONT_HEIGHT (s->font) < s->height - 2 * box_line_width /* When xdisp.c ignores FONT_HEIGHT, we cannot trust font dimensions, since the actual glyphs might be much smaller. So in that case we always clear the @@ -2286,16 +2312,12 @@ w32_draw_image_foreground_1 (struct glyph_string *s, HBITMAP pixmap) static void w32_draw_glyph_string_bg_rect (struct glyph_string *s, int x, int y, int w, int h) { -#if 0 /* TODO: stipple */ if (s->stippled_p) { /* Fill background with a stipple pattern. */ - XSetFillStyle (s->display, s->gc, FillOpaqueStippled); - XFillRectangle (s->display, FRAME_W32_WINDOW (s->f), s->gc, x, y, w, h); - XSetFillStyle (s->display, s->gc, FillSolid); + w32_fill_stipple_pattern (s->hdc, s, s->gc, x, y, w, h); } else -#endif w32_clear_glyph_string_rect (s, x, y, w, h); } @@ -2500,16 +2522,12 @@ w32_draw_stretch_glyph_string (struct glyph_string *s) get_glyph_string_clip_rect (s, &r); w32_set_clip_rectangle (hdc, &r); -#if 0 /* TODO: stipple */ if (s->face->stipple) { /* Fill background with a stipple pattern. */ - XSetFillStyle (s->display, gc, FillOpaqueStippled); - XFillRectangle (s->display, FRAME_W32_WINDOW (s->f), gc, x, y, w, h); - XSetFillStyle (s->display, gc, FillSolid); + w32_fill_stipple_pattern (s->hdc, s, gc, x, y, w, h); } else -#endif { w32_fill_area (s->f, s->hdc, gc->background, x, y, w, h); } diff --git a/src/w32term.h b/src/w32term.h index 3120c8bd71f..1eb6a660248 100644 --- a/src/w32term.h +++ b/src/w32term.h @@ -58,6 +58,7 @@ #define CP_DEFAULT 1004 { Emacs_Pixmap pixmap; char *file; + Emacs_Pixmap stipple; HINSTANCE hinst; /* Used to load the file */ int refcount; /* Record some info about this pixmap. */ -- 2.44.0.windows.1 --=-=-=--