From 94c23ddffdc603d6c709749d013fd41764db3440 Mon Sep 17 00:00:00 2001 From: Matt David Date: Thu, 3 Dec 2015 17:24:29 -0800 Subject: [PATCH 01/54] Initial version of invoicerequest extension BIP --- bip-invoicerequest-extension.mediawiki | 167 +++++++++++++++++++++++++ 1 file changed, 167 insertions(+) create mode 100644 bip-invoicerequest-extension.mediawiki diff --git a/bip-invoicerequest-extension.mediawiki b/bip-invoicerequest-extension.mediawiki new file mode 100644 index 00000000..e10355d4 --- /dev/null +++ b/bip-invoicerequest-extension.mediawiki @@ -0,0 +1,167 @@ +
+  BIP:     XXX
+  Title:   Out of Band Address Exchange using Encrypted PaymentRequests
+  Authors: Matt David 
+           Justin Newton 
+           Aaron Voisine 
+  Status:  Draft
+  Type:    Informational
+  Created: 2015-11-20
+
+ +==Abstract== + +This BIP is an extension to BIP70 the extends the payment protocol to prevent PaymentRequet interception / modification +during transmission using ephemeral key encryption, allow permissioned release of PaymentRequests to PaymentRequest requestors +and, allow a requestor to supply a certificate and signature to the PaymentRequest creator. + +The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and +"OPTIONAL" in this document are to be interpreted as described in RFC 2119. + +==Motivation== + +The motiviation for defining this extension to the BIP-70 Payment Protocol is to allow 2 parties to exchange payment +information in a permissioned and encrypted way such that wallet address communication can become a more automated process. +Additionally, this extension allows for the requestor of a PaymentRequest to supply a certificate and signature in order +to facilitate identification for address release. + +==Definitions== +{| +| Requestor || Entity Requesting ReturnPaymentRequest +- +| Responder || Entity Creating and Returning ReturnPaymentRequest +- +| Sender || Entity wishes to transfer value that they control (NOTE: This can be used interchangeably with requestor) +- +| Receiver || Entity receiving a value transfer (NOTE: This can be used interchangeably with responder) +|} + +===Acronyms=== +{| +| Acronym || Expanded || Description +- +| IR || InvoiceRequest || A request to create a PaymentRequest +- +| RPR || ReturnPaymentRequest || A ReturnPaymentRequest returned based on a submitted InvoiceRequest +|} + +===New Messages=== + +====InvoiceRequest==== +The new InvoiceRequest message allows a requestor to send information to the responder such that they can return a ReturnPaymentRequest. + +
+message InvoiceRequest {
+        required bytes  sender_public_key = 1;              // Sender's EC Public Key
+        optional uint64 amount = 2 [default = 0];           // amount is integer-number-of-satoshis
+        optional string pki_type = 3 [default = "none"];    // none / x509+sha256
+        optional bytes  pki_data = 4;                       // Depends on pki_type
+        optional string notification_url = 5;               // URL to notify on ReturnPaymentRequest ready
+        optional bytes  signature = 6;                      // PKI-dependent signature
+}
+
+ +{| +| Field Name || Description +- +| sender_public_key || Sender's EC Public Key +- +| amount || amount is integer-number-of-satoshis (default: 0) +- +| pki_type || none / x509+sha256 (default: "none") +- +| pki_data || Depends on pki_type +- +| notification_url || URL to notify on ReturnPaymentRequest ready +- +| signature || PKI-dependent signature +|} + +====ReturnPaymentRequest==== + +The new ReturnPaymentRequest message is an encapsulating message that allows the transmission of an encrypted, serialized PaymentRequest. + +
+ message ReturnPaymentRequest {
+         required bytes encrypted_payment_request = 1;
+         required bytes receiver_public_key = 2;
+         required bytes ephemeral_public_key = 3;
+         required bytes payment_request_hash = 4;
+ }
+
+{| +| Field Name || Description +- +| encrypted_payment_request || AES-256-CBC Encrypted PaymentRequest +- +| receiver_public_key || Receiver's EC Public Key (SECP256K1) +- +| ephemeral_public_key || Ephemeral EC Public Key Derived from ECDH Key Exchange where X value used as exponent for Private Key creation (SECP256K1) +- +| payment_request_hash || SHA256 Hash of Non-Encrypted, Serialized PaymentRequest (used for validation) +|} + +==InvoiceRequest / ReturnPaymentRequest Process== + +# NOTE: The sender is the entity wishing to send value to the receiver. + +===Overview=== + +1. Sender creates InvoiceRequest message +2. Sender sends InvocieRequest to Receiver +3. Receiver validates InvoiceRequest +4. Receiver creates return PaymentRequest message +5. Receiver encrypts the PaymentRequest message +6. Receiver creates ReturnPaymentRequest +7. Receiver returns ReturnPaymentRequest message to Sender +8. Sender validates ReturnPaymentRequest +9. Sender decrypts and validates encrypted PaymentRequest + +===InvoiceRequest Message Creation=== + +* Create an InvoiceRequest message +* REQUIRED: Set sender_public_key. This is the public key of an EC keypair using secp256k1. +* Set amount if desired +* Set notification_url to URL that will accept ReturnPaymentRequest from Receiver +* If NOT including certificate, set pki_type to "none" +* If including certificate: +** Set pki_type to "x509+sha256" +** Set pki_data as it would be set in BIP-0070 (see [Certificates](https://github.com/bitcoin/bips/blob/master/bip-0070.mediawiki#Certificates) section) +** Sign InvoiceRequest with signature == "" using the X509 Certificate's private key + +===ReturnPaymentRequest Message Creation and PaymentRequest Encryption=== + +* Generate EC secret point using [ECDH](https://en.wikipedia.org/wiki/Elliptic_curve_Diffie–Hellman) with the Sender's EC public key and the Receiver's EC private key. +* Generate Symmetric Encryption Key and Initialization vector using [HMAC_DRBG](http://csrc.nist.gov/publications/nistpubs/800-90A/SP800-90A.pdf) also referenced in [RFC6979](https://tools.ietf.org/html/rfc6979) in the following way: +** HMAC_DRBG Initialization Entropy is set to the EC secret point's X value +** HMAC_DRBG Initialization Nonce is set to the InvoiceRequest's sender_public_key +** Encryption Key = HMAC_DRBG.GENERATE(32) - 256 bits +** IV = HMAC_DRBG.GENERATE(16) - 128 bits +* Encrypt the serialized PaymentRequest using AES-256-CBC using the Encryption Key and IV previously generated + +* Create ReturnPaymentRequest message +* Set encrypted_payment_request to be the encrypted value of the PaymentRequest +* Set receiver_public_key to the Receiver's EC public key (of which the private key was previously used in ECDH secret point calculation) +* Set ephemeral_public_key to the public key of an EC keypair created using the secret point's X value. +* Set payment_request_hash to generated SHA256 hash of the serialized PaymentRequest (without encryption) + + +===ReturnPaymentRequest Validation and Decryption=== + +* Generate EC secret point using [ECDH](https://en.wikipedia.org/wiki/Elliptic_curve_Diffie–Hellman) with the Sender's EC private key and the Receiver's EC public key. +* Generate Symmetric Decryption Key and Initialization vector using [HMAC_DRBG](http://csrc.nist.gov/publications/nistpubs/800-90A/SP800-90A.pdf) also referenced in [RFC6979](https://tools.ietf.org/html/rfc6979) in the following way: +** HMAC_DRBG Initialization Entropy is set to the EC secret point's X value +** HMAC_DRBG Initialization Nonce is set to the InvoiceRequest's sender_public_key +** Encryption Key = HMAC_DRBG.GENERATE(32) - 256 bits +** IV = HMAC_DRBG.GENERATE(16) - 128 bits +* Validate ephemeral_public_key matches public key of an EC keypair created using the secret point's X value. +* Decrypt the serialized PaymentRequest using AES-256-CBC using the Encryption Key and IV previously generated +* Validate payment_request_hash matches SHA256 of the decrypted, serialized PaymentRequest +* Deserialize the serialized PaymentRequest + +==Reference== + +* [[bip-0070.mediawiki|BIP70 - Payment Protocol]] +* [https://en.wikipedia.org/wiki/Elliptic_curve_Diffie–Hellman ECDH] +* [http://csrc.nist.gov/publications/nistpubs/800-90A/SP800-90A.pdf HMAC_DRBG] +* [https://tools.ietf.org/html/rfc6979 RFC6979] \ No newline at end of file From 4e3b9a5b069e6b53a2fc1c397638bd8cb3647a04 Mon Sep 17 00:00:00 2001 From: Matt David Date: Thu, 3 Dec 2015 17:30:04 -0800 Subject: [PATCH 02/54] Fix mediawiki table formatting --- bip-invoicerequest-extension.mediawiki | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/bip-invoicerequest-extension.mediawiki b/bip-invoicerequest-extension.mediawiki index e10355d4..3a916b6c 100644 --- a/bip-invoicerequest-extension.mediawiki +++ b/bip-invoicerequest-extension.mediawiki @@ -26,7 +26,7 @@ Additionally, this extension allows for the requestor of a PaymentRequest to sup to facilitate identification for address release. ==Definitions== -{| +{| class="wikitable" | Requestor || Entity Requesting ReturnPaymentRequest - | Responder || Entity Creating and Returning ReturnPaymentRequest @@ -37,8 +37,8 @@ to facilitate identification for address release. |} ===Acronyms=== -{| -| Acronym || Expanded || Description +{| class="wikitable" +! Acronym !! Expanded !! Description - | IR || InvoiceRequest || A request to create a PaymentRequest - @@ -61,8 +61,8 @@ message InvoiceRequest { } -{| -| Field Name || Description +{| class="wikitable" +! Field Name !! Description - | sender_public_key || Sender's EC Public Key - @@ -89,8 +89,8 @@ The new ReturnPaymentRequest message is an encapsulating message that allows the required bytes payment_request_hash = 4; } -{| -| Field Name || Description +{| class="wikitable" +! Field Name !! Description - | encrypted_payment_request || AES-256-CBC Encrypted PaymentRequest - From d698201463bdc840db9db435e12e9ec45c21d475 Mon Sep 17 00:00:00 2001 From: Matt David Date: Thu, 3 Dec 2015 17:31:09 -0800 Subject: [PATCH 03/54] Fix mediawiki table formatting --- bip-invoicerequest-extension.mediawiki | 28 +++++++++++++------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/bip-invoicerequest-extension.mediawiki b/bip-invoicerequest-extension.mediawiki index 3a916b6c..d40a96c8 100644 --- a/bip-invoicerequest-extension.mediawiki +++ b/bip-invoicerequest-extension.mediawiki @@ -28,20 +28,20 @@ to facilitate identification for address release. ==Definitions== {| class="wikitable" | Requestor || Entity Requesting ReturnPaymentRequest -- +|- | Responder || Entity Creating and Returning ReturnPaymentRequest -- +|- | Sender || Entity wishes to transfer value that they control (NOTE: This can be used interchangeably with requestor) -- +|- | Receiver || Entity receiving a value transfer (NOTE: This can be used interchangeably with responder) |} ===Acronyms=== {| class="wikitable" ! Acronym !! Expanded !! Description -- +|- | IR || InvoiceRequest || A request to create a PaymentRequest -- +|- | RPR || ReturnPaymentRequest || A ReturnPaymentRequest returned based on a submitted InvoiceRequest |} @@ -65,15 +65,15 @@ message InvoiceRequest { ! Field Name !! Description - | sender_public_key || Sender's EC Public Key -- +|- | amount || amount is integer-number-of-satoshis (default: 0) -- +|- | pki_type || none / x509+sha256 (default: "none") -- +|- | pki_data || Depends on pki_type -- +|- | notification_url || URL to notify on ReturnPaymentRequest ready -- +|- | signature || PKI-dependent signature |} @@ -91,13 +91,13 @@ The new ReturnPaymentRequest message is an encapsulating message that allows the {| class="wikitable" ! Field Name !! Description -- +|- | encrypted_payment_request || AES-256-CBC Encrypted PaymentRequest -- +|- | receiver_public_key || Receiver's EC Public Key (SECP256K1) -- +|- | ephemeral_public_key || Ephemeral EC Public Key Derived from ECDH Key Exchange where X value used as exponent for Private Key creation (SECP256K1) -- +|- | payment_request_hash || SHA256 Hash of Non-Encrypted, Serialized PaymentRequest (used for validation) |} From a876e47bd10354a4fb1f2174f3563cb3a9c90a26 Mon Sep 17 00:00:00 2001 From: Matt David Date: Thu, 3 Dec 2015 17:32:01 -0800 Subject: [PATCH 04/54] Fix mediawiki table formatting --- bip-invoicerequest-extension.mediawiki | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bip-invoicerequest-extension.mediawiki b/bip-invoicerequest-extension.mediawiki index d40a96c8..daca4075 100644 --- a/bip-invoicerequest-extension.mediawiki +++ b/bip-invoicerequest-extension.mediawiki @@ -63,7 +63,7 @@ message InvoiceRequest { {| class="wikitable" ! Field Name !! Description -- +|- | sender_public_key || Sender's EC Public Key |- | amount || amount is integer-number-of-satoshis (default: 0) From 2c8bc2392b6034c5948f6bb9048136239d6bb120 Mon Sep 17 00:00:00 2001 From: Matt David Date: Fri, 4 Dec 2015 11:10:01 -0800 Subject: [PATCH 05/54] Updated BIP based on colleague feedback - Removed Requestor/Responder definitions - Seperated ECDH secret point generation and AES-256 (CBC Mode) setup from individual steps (listed twice) and created it's own section - Added InvoiceRequest Validation section --- bip-invoicerequest-extension.mediawiki | 82 +++++++++++++------------- 1 file changed, 42 insertions(+), 40 deletions(-) diff --git a/bip-invoicerequest-extension.mediawiki b/bip-invoicerequest-extension.mediawiki index daca4075..90c417f4 100644 --- a/bip-invoicerequest-extension.mediawiki +++ b/bip-invoicerequest-extension.mediawiki @@ -27,13 +27,9 @@ to facilitate identification for address release. ==Definitions== {| class="wikitable" -| Requestor || Entity Requesting ReturnPaymentRequest +| Sender || Entity wishes to transfer value that they control |- -| Responder || Entity Creating and Returning ReturnPaymentRequest -|- -| Sender || Entity wishes to transfer value that they control (NOTE: This can be used interchangeably with requestor) -|- -| Receiver || Entity receiving a value transfer (NOTE: This can be used interchangeably with responder) +| Receiver || Entity receiving a value transfer |} ===Acronyms=== @@ -92,73 +88,79 @@ The new ReturnPaymentRequest message is an encapsulating message that allows the {| class="wikitable" ! Field Name !! Description |- -| encrypted_payment_request || AES-256-CBC Encrypted PaymentRequest +| encrypted_payment_request || AES-256-CBC Encrypted Serialized PaymentRequest |- -| receiver_public_key || Receiver's EC Public Key (SECP256K1) +| receiver_public_key || Receiver's EC Public Key |- -| ephemeral_public_key || Ephemeral EC Public Key Derived from ECDH Key Exchange where X value used as exponent for Private Key creation (SECP256K1) +| ephemeral_public_key || Ephemeral EC Public Key |- -| payment_request_hash || SHA256 Hash of Non-Encrypted, Serialized PaymentRequest (used for validation) +| payment_request_hash || SHA256 Hash of Non-Encrypted, Serialized PaymentRequest |} -==InvoiceRequest / ReturnPaymentRequest Process== - -# NOTE: The sender is the entity wishing to send value to the receiver. +==InvoiceRequest / ReturnPaymentRequest Process== ===Overview=== -1. Sender creates InvoiceRequest message -2. Sender sends InvocieRequest to Receiver -3. Receiver validates InvoiceRequest -4. Receiver creates return PaymentRequest message -5. Receiver encrypts the PaymentRequest message -6. Receiver creates ReturnPaymentRequest -7. Receiver returns ReturnPaymentRequest message to Sender -8. Sender validates ReturnPaymentRequest -9. Sender decrypts and validates encrypted PaymentRequest +# Sender [[#ir-creation creates]] InvoiceRequest +# Sender transmits InvoiceRequest to Receiver +# Receiver [[#ir-validation validates]] InvoiceRequest +# Receiver creates PaymentRequest +# Receiver [[#rpr-creation-encryption encrypts]] the PaymentRequest +# Receiver [[#rpr-creation-encryption creates]] ReturnPaymentRequest (containing an encrypted PaymentRequest) +# Receiver transmits ReturnPaymentRequest to Sender +# Sender validates ReturnPaymentRequest +# Sender [[#rpr-validation-pr-decryption decrypts and validates]] encrypted PaymentRequest + ===InvoiceRequest Message Creation=== * Create an InvoiceRequest message -* REQUIRED: Set sender_public_key. This is the public key of an EC keypair using secp256k1. +* sender_public_key MUST be set. This is the public key of an EC keypair using secp256k1. * Set amount if desired -* Set notification_url to URL that will accept ReturnPaymentRequest from Receiver +* Set notification_url to URL that Receiver will submit completed ReturnPaymentRequest to * If NOT including certificate, set pki_type to "none" * If including certificate: ** Set pki_type to "x509+sha256" ** Set pki_data as it would be set in BIP-0070 (see [Certificates](https://github.com/bitcoin/bips/blob/master/bip-0070.mediawiki#Certificates) section) ** Sign InvoiceRequest with signature == "" using the X509 Certificate's private key + +===InvoiceRequest Validation=== + +* Validate sender_public_key is a valid EC public key +* Validate notification_url if set, contains characters deemed valid for a URL (avoiding XSS related characters, etc). +* If pki_type is None, InvoiceRequest is VALID +* If pki_type is x509+sha256 and signature is valid for the serialized InvoiceRequest where signature is set to "", InvoiceRequest is VALID + + ===ReturnPaymentRequest Message Creation and PaymentRequest Encryption=== -* Generate EC secret point using [ECDH](https://en.wikipedia.org/wiki/Elliptic_curve_Diffie–Hellman) with the Sender's EC public key and the Receiver's EC private key. -* Generate Symmetric Encryption Key and Initialization vector using [HMAC_DRBG](http://csrc.nist.gov/publications/nistpubs/800-90A/SP800-90A.pdf) also referenced in [RFC6979](https://tools.ietf.org/html/rfc6979) in the following way: -** HMAC_DRBG Initialization Entropy is set to the EC secret point's X value -** HMAC_DRBG Initialization Nonce is set to the InvoiceRequest's sender_public_key -** Encryption Key = HMAC_DRBG.GENERATE(32) - 256 bits -** IV = HMAC_DRBG.GENERATE(16) - 128 bits -* Encrypt the serialized PaymentRequest using AES-256-CBC using the Encryption Key and IV previously generated - +* Encrypt the serialized PaymentRequest using AES-256-CBC setup as described in [[#ECDH-AES-Setup ECDH Point Generation and AES-256 (CBC Mode) Setup]] * Create ReturnPaymentRequest message * Set encrypted_payment_request to be the encrypted value of the PaymentRequest * Set receiver_public_key to the Receiver's EC public key (of which the private key was previously used in ECDH secret point calculation) * Set ephemeral_public_key to the public key of an EC keypair created using the secret point's X value. * Set payment_request_hash to generated SHA256 hash of the serialized PaymentRequest (without encryption) - + ===ReturnPaymentRequest Validation and Decryption=== -* Generate EC secret point using [ECDH](https://en.wikipedia.org/wiki/Elliptic_curve_Diffie–Hellman) with the Sender's EC private key and the Receiver's EC public key. -* Generate Symmetric Decryption Key and Initialization vector using [HMAC_DRBG](http://csrc.nist.gov/publications/nistpubs/800-90A/SP800-90A.pdf) also referenced in [RFC6979](https://tools.ietf.org/html/rfc6979) in the following way: -** HMAC_DRBG Initialization Entropy is set to the EC secret point's X value -** HMAC_DRBG Initialization Nonce is set to the InvoiceRequest's sender_public_key -** Encryption Key = HMAC_DRBG.GENERATE(32) - 256 bits -** IV = HMAC_DRBG.GENERATE(16) - 128 bits * Validate ephemeral_public_key matches public key of an EC keypair created using the secret point's X value. -* Decrypt the serialized PaymentRequest using AES-256-CBC using the Encryption Key and IV previously generated +* Decrypt the serialized PaymentRequest using AES-256-CBC setup as described in [[#ECDH-AES-Setup ECDH Point Generation and AES-256 (CBC Mode) Setup]] * Validate payment_request_hash matches SHA256 of the decrypted, serialized PaymentRequest * Deserialize the serialized PaymentRequest + +===ECDH Point Generation and AES-256 (CBC Mode) Setup=== + +* Generate the '''secret point''' using [https://en.wikipedia.org/wiki/Elliptic_curve_Diffie–Hellman ECDH] using the local entity's private key and the remote entity's public key as inputs. +* Initialize [http://csrc.nist.gov/publications/nistpubs/800-90A/SP800-90A.pdf HMAC_DRBG] +** Use '''secret point's''' X value for Entropy +** Use Sender's public key for Nonce +* Initialize AES-256 in CBC Mode +** Use HMAC_DRBG.GENERATE(32) as the Encryption Key (256 bits) +** Use HMAC_DRBG.GENERATE(16) as the Initialization Vector (IV) (128 bits) + ==Reference== * [[bip-0070.mediawiki|BIP70 - Payment Protocol]] From 543409c7f7b9bef8179f9627204e26ef3e8f0f00 Mon Sep 17 00:00:00 2001 From: Matt David Date: Fri, 4 Dec 2015 11:26:32 -0800 Subject: [PATCH 06/54] Fix local anchors and links --- bip-invoicerequest-extension.mediawiki | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/bip-invoicerequest-extension.mediawiki b/bip-invoicerequest-extension.mediawiki index 90c417f4..c82cacd3 100644 --- a/bip-invoicerequest-extension.mediawiki +++ b/bip-invoicerequest-extension.mediawiki @@ -101,17 +101,17 @@ The new ReturnPaymentRequest message is an encapsulating message that allows the ===Overview=== -# Sender [[#ir-creation creates]] InvoiceRequest +# Sender [[#ir-creation|creates]] InvoiceRequest # Sender transmits InvoiceRequest to Receiver -# Receiver [[#ir-validation validates]] InvoiceRequest +# Receiver [[#ir-validation|validates]] InvoiceRequest # Receiver creates PaymentRequest -# Receiver [[#rpr-creation-encryption encrypts]] the PaymentRequest -# Receiver [[#rpr-creation-encryption creates]] ReturnPaymentRequest (containing an encrypted PaymentRequest) +# Receiver [[#rpr-creation-encryption|encrypts]] the PaymentRequest +# Receiver [[#rpr-creation-encryption|creates]] ReturnPaymentRequest (containing an encrypted PaymentRequest) # Receiver transmits ReturnPaymentRequest to Sender # Sender validates ReturnPaymentRequest -# Sender [[#rpr-validation-pr-decryption decrypts and validates]] encrypted PaymentRequest +# Sender [[#rpr-validation-pr-decryption|decrypts and validates]] encrypted PaymentRequest - +{{anchor|ir-creation}} ===InvoiceRequest Message Creation=== * Create an InvoiceRequest message @@ -124,7 +124,7 @@ The new ReturnPaymentRequest message is an encapsulating message that allows the ** Set pki_data as it would be set in BIP-0070 (see [Certificates](https://github.com/bitcoin/bips/blob/master/bip-0070.mediawiki#Certificates) section) ** Sign InvoiceRequest with signature == "" using the X509 Certificate's private key - +{{anchor|ir-validation}} ===InvoiceRequest Validation=== * Validate sender_public_key is a valid EC public key @@ -132,7 +132,7 @@ The new ReturnPaymentRequest message is an encapsulating message that allows the * If pki_type is None, InvoiceRequest is VALID * If pki_type is x509+sha256 and signature is valid for the serialized InvoiceRequest where signature is set to "", InvoiceRequest is VALID - +{{anchor|rpr-creation-encryption}} ===ReturnPaymentRequest Message Creation and PaymentRequest Encryption=== * Encrypt the serialized PaymentRequest using AES-256-CBC setup as described in [[#ECDH-AES-Setup ECDH Point Generation and AES-256 (CBC Mode) Setup]] @@ -142,7 +142,7 @@ The new ReturnPaymentRequest message is an encapsulating message that allows the * Set ephemeral_public_key to the public key of an EC keypair created using the secret point's X value. * Set payment_request_hash to generated SHA256 hash of the serialized PaymentRequest (without encryption) - +{{anchor|rpr-validation-pr-decryption}} ===ReturnPaymentRequest Validation and Decryption=== * Validate ephemeral_public_key matches public key of an EC keypair created using the secret point's X value. @@ -150,7 +150,7 @@ The new ReturnPaymentRequest message is an encapsulating message that allows the * Validate payment_request_hash matches SHA256 of the decrypted, serialized PaymentRequest * Deserialize the serialized PaymentRequest - +{{anchor|ECDH-AES-Setup}} ===ECDH Point Generation and AES-256 (CBC Mode) Setup=== * Generate the '''secret point''' using [https://en.wikipedia.org/wiki/Elliptic_curve_Diffie–Hellman ECDH] using the local entity's private key and the remote entity's public key as inputs. From 61cfbaefa7031a2534f152fac294c751c30f91f3 Mon Sep 17 00:00:00 2001 From: Matt David Date: Fri, 4 Dec 2015 11:29:44 -0800 Subject: [PATCH 07/54] Remove anchor template and use spans for anchors instead --- bip-invoicerequest-extension.mediawiki | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/bip-invoicerequest-extension.mediawiki b/bip-invoicerequest-extension.mediawiki index c82cacd3..b3fbcbe8 100644 --- a/bip-invoicerequest-extension.mediawiki +++ b/bip-invoicerequest-extension.mediawiki @@ -111,7 +111,7 @@ The new ReturnPaymentRequest message is an encapsulating message that allows the # Sender validates ReturnPaymentRequest # Sender [[#rpr-validation-pr-decryption|decrypts and validates]] encrypted PaymentRequest -{{anchor|ir-creation}} + ===InvoiceRequest Message Creation=== * Create an InvoiceRequest message @@ -124,7 +124,7 @@ The new ReturnPaymentRequest message is an encapsulating message that allows the ** Set pki_data as it would be set in BIP-0070 (see [Certificates](https://github.com/bitcoin/bips/blob/master/bip-0070.mediawiki#Certificates) section) ** Sign InvoiceRequest with signature == "" using the X509 Certificate's private key -{{anchor|ir-validation}} + ===InvoiceRequest Validation=== * Validate sender_public_key is a valid EC public key @@ -132,7 +132,7 @@ The new ReturnPaymentRequest message is an encapsulating message that allows the * If pki_type is None, InvoiceRequest is VALID * If pki_type is x509+sha256 and signature is valid for the serialized InvoiceRequest where signature is set to "", InvoiceRequest is VALID -{{anchor|rpr-creation-encryption}} + ===ReturnPaymentRequest Message Creation and PaymentRequest Encryption=== * Encrypt the serialized PaymentRequest using AES-256-CBC setup as described in [[#ECDH-AES-Setup ECDH Point Generation and AES-256 (CBC Mode) Setup]] @@ -142,7 +142,7 @@ The new ReturnPaymentRequest message is an encapsulating message that allows the * Set ephemeral_public_key to the public key of an EC keypair created using the secret point's X value. * Set payment_request_hash to generated SHA256 hash of the serialized PaymentRequest (without encryption) -{{anchor|rpr-validation-pr-decryption}} + ===ReturnPaymentRequest Validation and Decryption=== * Validate ephemeral_public_key matches public key of an EC keypair created using the secret point's X value. From 2d9b626d6cc3682c1bc3c6daee0dbd1ff3c79a0a Mon Sep 17 00:00:00 2001 From: Matt David Date: Fri, 4 Dec 2015 11:31:38 -0800 Subject: [PATCH 08/54] Test anchor --- bip-invoicerequest-extension.mediawiki | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bip-invoicerequest-extension.mediawiki b/bip-invoicerequest-extension.mediawiki index b3fbcbe8..bd82a6c5 100644 --- a/bip-invoicerequest-extension.mediawiki +++ b/bip-invoicerequest-extension.mediawiki @@ -101,7 +101,7 @@ The new ReturnPaymentRequest message is an encapsulating message that allows the ===Overview=== -# Sender [[#ir-creation|creates]] InvoiceRequest +# Sender [[#invoicerequest-message-creation|creates]] InvoiceRequest # Sender transmits InvoiceRequest to Receiver # Receiver [[#ir-validation|validates]] InvoiceRequest # Receiver creates PaymentRequest From c91ec76f41448982a5ab2fb74677e8306b985e14 Mon Sep 17 00:00:00 2001 From: Matt David Date: Fri, 4 Dec 2015 11:33:06 -0800 Subject: [PATCH 09/54] Remove anchors --- bip-invoicerequest-extension.mediawiki | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/bip-invoicerequest-extension.mediawiki b/bip-invoicerequest-extension.mediawiki index bd82a6c5..d11d5f8e 100644 --- a/bip-invoicerequest-extension.mediawiki +++ b/bip-invoicerequest-extension.mediawiki @@ -101,17 +101,16 @@ The new ReturnPaymentRequest message is an encapsulating message that allows the ===Overview=== -# Sender [[#invoicerequest-message-creation|creates]] InvoiceRequest +# Sender creates InvoiceRequest # Sender transmits InvoiceRequest to Receiver -# Receiver [[#ir-validation|validates]] InvoiceRequest +# Receiver validates InvoiceRequest # Receiver creates PaymentRequest -# Receiver [[#rpr-creation-encryption|encrypts]] the PaymentRequest -# Receiver [[#rpr-creation-encryption|creates]] ReturnPaymentRequest (containing an encrypted PaymentRequest) +# Receiver encrypts the PaymentRequest +# Receiver creates ReturnPaymentRequest (containing an encrypted PaymentRequest) # Receiver transmits ReturnPaymentRequest to Sender # Sender validates ReturnPaymentRequest -# Sender [[#rpr-validation-pr-decryption|decrypts and validates]] encrypted PaymentRequest +# Sender decrypts and validates encrypted PaymentRequest - ===InvoiceRequest Message Creation=== * Create an InvoiceRequest message @@ -124,17 +123,13 @@ The new ReturnPaymentRequest message is an encapsulating message that allows the ** Set pki_data as it would be set in BIP-0070 (see [Certificates](https://github.com/bitcoin/bips/blob/master/bip-0070.mediawiki#Certificates) section) ** Sign InvoiceRequest with signature == "" using the X509 Certificate's private key - ===InvoiceRequest Validation=== - * Validate sender_public_key is a valid EC public key * Validate notification_url if set, contains characters deemed valid for a URL (avoiding XSS related characters, etc). * If pki_type is None, InvoiceRequest is VALID * If pki_type is x509+sha256 and signature is valid for the serialized InvoiceRequest where signature is set to "", InvoiceRequest is VALID - ===ReturnPaymentRequest Message Creation and PaymentRequest Encryption=== - * Encrypt the serialized PaymentRequest using AES-256-CBC setup as described in [[#ECDH-AES-Setup ECDH Point Generation and AES-256 (CBC Mode) Setup]] * Create ReturnPaymentRequest message * Set encrypted_payment_request to be the encrypted value of the PaymentRequest @@ -142,17 +137,13 @@ The new ReturnPaymentRequest message is an encapsulating message that allows the * Set ephemeral_public_key to the public key of an EC keypair created using the secret point's X value. * Set payment_request_hash to generated SHA256 hash of the serialized PaymentRequest (without encryption) - ===ReturnPaymentRequest Validation and Decryption=== - * Validate ephemeral_public_key matches public key of an EC keypair created using the secret point's X value. * Decrypt the serialized PaymentRequest using AES-256-CBC setup as described in [[#ECDH-AES-Setup ECDH Point Generation and AES-256 (CBC Mode) Setup]] * Validate payment_request_hash matches SHA256 of the decrypted, serialized PaymentRequest * Deserialize the serialized PaymentRequest -{{anchor|ECDH-AES-Setup}} ===ECDH Point Generation and AES-256 (CBC Mode) Setup=== - * Generate the '''secret point''' using [https://en.wikipedia.org/wiki/Elliptic_curve_Diffie–Hellman ECDH] using the local entity's private key and the remote entity's public key as inputs. * Initialize [http://csrc.nist.gov/publications/nistpubs/800-90A/SP800-90A.pdf HMAC_DRBG] ** Use '''secret point's''' X value for Entropy From 845f24069b46d0ef5a68f30ab695d9cd52cbf909 Mon Sep 17 00:00:00 2001 From: Matt David Date: Fri, 4 Dec 2015 11:40:43 -0800 Subject: [PATCH 10/54] Fix last links --- bip-invoicerequest-extension.mediawiki | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bip-invoicerequest-extension.mediawiki b/bip-invoicerequest-extension.mediawiki index d11d5f8e..19cccba1 100644 --- a/bip-invoicerequest-extension.mediawiki +++ b/bip-invoicerequest-extension.mediawiki @@ -120,7 +120,7 @@ The new ReturnPaymentRequest message is an encapsulating message that allows the * If NOT including certificate, set pki_type to "none" * If including certificate: ** Set pki_type to "x509+sha256" -** Set pki_data as it would be set in BIP-0070 (see [Certificates](https://github.com/bitcoin/bips/blob/master/bip-0070.mediawiki#Certificates) section) +** Set pki_data as it would be set in BIP-0070 (see [https://github.com/bitcoin/bips/blob/master/bip-0070.mediawiki#Certificates Certificates]) section) ** Sign InvoiceRequest with signature == "" using the X509 Certificate's private key ===InvoiceRequest Validation=== @@ -130,7 +130,7 @@ The new ReturnPaymentRequest message is an encapsulating message that allows the * If pki_type is x509+sha256 and signature is valid for the serialized InvoiceRequest where signature is set to "", InvoiceRequest is VALID ===ReturnPaymentRequest Message Creation and PaymentRequest Encryption=== -* Encrypt the serialized PaymentRequest using AES-256-CBC setup as described in [[#ECDH-AES-Setup ECDH Point Generation and AES-256 (CBC Mode) Setup]] +* Encrypt the serialized PaymentRequest using AES-256-CBC setup as described in ECDH Point Generation and AES-256 (CBC Mode) Setup * Create ReturnPaymentRequest message * Set encrypted_payment_request to be the encrypted value of the PaymentRequest * Set receiver_public_key to the Receiver's EC public key (of which the private key was previously used in ECDH secret point calculation) @@ -139,7 +139,7 @@ The new ReturnPaymentRequest message is an encapsulating message that allows the ===ReturnPaymentRequest Validation and Decryption=== * Validate ephemeral_public_key matches public key of an EC keypair created using the secret point's X value. -* Decrypt the serialized PaymentRequest using AES-256-CBC setup as described in [[#ECDH-AES-Setup ECDH Point Generation and AES-256 (CBC Mode) Setup]] +* Decrypt the serialized PaymentRequest using AES-256-CBC setup as described in ECDH Point Generation and AES-256 (CBC Mode) Setup * Validate payment_request_hash matches SHA256 of the decrypted, serialized PaymentRequest * Deserialize the serialized PaymentRequest From e71e57216b355c414e1452deb0a752e318799c40 Mon Sep 17 00:00:00 2001 From: Matt David Date: Fri, 4 Dec 2015 13:26:50 -0800 Subject: [PATCH 11/54] - Fix section levels - Add Message Interaction Details + new mimetypes --- bip-invoicerequest-extension.mediawiki | 32 +++++++++++++++++++------- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/bip-invoicerequest-extension.mediawiki b/bip-invoicerequest-extension.mediawiki index 19cccba1..ad750b13 100644 --- a/bip-invoicerequest-extension.mediawiki +++ b/bip-invoicerequest-extension.mediawiki @@ -32,7 +32,7 @@ to facilitate identification for address release. | Receiver || Entity receiving a value transfer |} -===Acronyms=== +==Acronyms== {| class="wikitable" ! Acronym !! Expanded !! Description |- @@ -41,9 +41,9 @@ to facilitate identification for address release. | RPR || ReturnPaymentRequest || A ReturnPaymentRequest returned based on a submitted InvoiceRequest |} -===New Messages=== +==New Messages== -====InvoiceRequest==== +===InvoiceRequest=== The new InvoiceRequest message allows a requestor to send information to the responder such that they can return a ReturnPaymentRequest.
@@ -68,12 +68,12 @@ message InvoiceRequest {
 |-
 | pki_data              || Depends on pki_type
 |-
-| notification_url      || URL to notify on ReturnPaymentRequest ready
+| notification_url      || Secure (usually HTTPS) location where a ReturnPaymentRequest (see below) may be sent when ready
 |-
 | signature             || PKI-dependent signature
 |}
 
-====ReturnPaymentRequest====
+===ReturnPaymentRequest===
 
 The new ReturnPaymentRequest message is an encapsulating message that allows the transmission of an encrypted, serialized PaymentRequest.
 
@@ -111,12 +111,28 @@ The new ReturnPaymentRequest message is an encapsulating message that allows the
 # Sender validates ReturnPaymentRequest
 # Sender decrypts and validates encrypted PaymentRequest
 
+===Message Interaction Details===
+
+====InvoiceRequest====
+Sender must transmit InvoiceRequest to Receiver (or Receiver's agent) via TLS-protected HTTP. Sender transmitting InvoiceRequest 
+messages must set appropriate Content-Type headers as specified here:
+
Content-Type: application/bitcoin-invoicerequest
+ +====ReturnPaymentRequest==== +Receiver must transmit ReturnPaymentRequest to Sender (or Sender's agent) via TLS-protected HTTP. Receiver transmitting +ReturnPaymentRequest messages must set appropritate Content-Type headers as specified here: +
Content-Type: application/bitcoin-returnpaymentrequest
+ +====Message or Communication Errors==== +An invalid or unparsable message or communications error must be communicated to the party that initiated the communication. This +should be done through standard HTTP Status Code messaging ([https://tools.ietf.org/html/rfc7231 RFC 7231 Section 6]). + ===InvoiceRequest Message Creation=== * Create an InvoiceRequest message -* sender_public_key MUST be set. This is the public key of an EC keypair using secp256k1. -* Set amount if desired -* Set notification_url to URL that Receiver will submit completed ReturnPaymentRequest to +* sender_public_key MUST be set to the public key of an EC keypair. +* Amount is optional +* Set notification_url to URL that the Receiver will submit completed ReturnPaymentRequest to * If NOT including certificate, set pki_type to "none" * If including certificate: ** Set pki_type to "x509+sha256" From b2db2eba416113d723d7fe99deedfe6dcc4e2680 Mon Sep 17 00:00:00 2001 From: Matt David Date: Fri, 4 Dec 2015 15:16:32 -0800 Subject: [PATCH 12/54] - Add flow overview image - Make Abstract more readable - Update Sender definition and acronym descriptions - Added comments to ReturnPaymentRequest definition - Bold ECDH and AES Setup notes and added "(see below)" for reference --- bip-invoicerequest-extension.mediawiki | 36 ++++++++++++++----------- bip-ir/overview_flow.png | Bin 0 -> 67368 bytes 2 files changed, 20 insertions(+), 16 deletions(-) create mode 100644 bip-ir/overview_flow.png diff --git a/bip-invoicerequest-extension.mediawiki b/bip-invoicerequest-extension.mediawiki index ad750b13..578b70bf 100644 --- a/bip-invoicerequest-extension.mediawiki +++ b/bip-invoicerequest-extension.mediawiki @@ -11,9 +11,9 @@ ==Abstract== -This BIP is an extension to BIP70 the extends the payment protocol to prevent PaymentRequet interception / modification -during transmission using ephemeral key encryption, allow permissioned release of PaymentRequests to PaymentRequest requestors -and, allow a requestor to supply a certificate and signature to the PaymentRequest creator. +This BIP is an extension to BIP70 that extends the payment protocol to prevent PaymentRequet interception / modification +during transmission using ephemeral key encryption. This also allows permissioned release of a PaymentRequest to a requestor +and allows a requestor to supply a certificate and signature to the PaymentRequest creator. The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119. @@ -27,7 +27,7 @@ to facilitate identification for address release. ==Definitions== {| class="wikitable" -| Sender || Entity wishes to transfer value that they control +| Sender || Entity wishing to transfer value that they control |- | Receiver || Entity receiving a value transfer |} @@ -36,15 +36,15 @@ to facilitate identification for address release. {| class="wikitable" ! Acronym !! Expanded !! Description |- -| IR || InvoiceRequest || A request to create a PaymentRequest +| IR || InvoiceRequest || A request to create and return an encrypted PaymentRequest |- -| RPR || ReturnPaymentRequest || A ReturnPaymentRequest returned based on a submitted InvoiceRequest +| RPR || ReturnPaymentRequest || A message returned based on a submitted InvoiceRequest containing an encrypted PaymentRequest |} ==New Messages== ===InvoiceRequest=== -The new InvoiceRequest message allows a requestor to send information to the responder such that they can return a ReturnPaymentRequest. +The InvoiceRequest message allows a Sender to send information to the Receiver such that they can create and return a ReturnPaymentRequest.
 message InvoiceRequest {
@@ -75,15 +75,15 @@ message InvoiceRequest {
 
 ===ReturnPaymentRequest===
 
-The new ReturnPaymentRequest message is an encapsulating message that allows the transmission of an encrypted, serialized PaymentRequest.
+The ReturnPaymentRequest message is an encapsulating message that allows the transmission of an encrypted, serialized PaymentRequest.
 
 
- message ReturnPaymentRequest {
-         required bytes encrypted_payment_request = 1;
-         required bytes receiver_public_key = 2;
-         required bytes ephemeral_public_key = 3;
-         required bytes payment_request_hash = 4;
- }
+message ReturnPaymentRequest {
+        required bytes encrypted_payment_request = 1;      // Encrypted, Serialized PaymentRequest
+        required bytes receiver_public_key = 2;            // Receiver's EC Public Key
+        required bytes ephemeral_public_key = 3;           // Public Key of keypair created with ECDH-derived secret point
+        required bytes payment_request_hash = 4;           // SHA256 of Serialized PaymentRequest
+}
 
{| class="wikitable" ! Field Name !! Description @@ -111,6 +111,10 @@ The new ReturnPaymentRequest message is an encapsulating message that allows the # Sender validates ReturnPaymentRequest # Sender decrypts and validates encrypted PaymentRequest +This overview flow is illustrated below: + + + ===Message Interaction Details=== ====InvoiceRequest==== @@ -146,7 +150,7 @@ should be done through standard HTTP Status Code messaging ([https://tools.ietf. * If pki_type is x509+sha256 and signature is valid for the serialized InvoiceRequest where signature is set to "", InvoiceRequest is VALID ===ReturnPaymentRequest Message Creation and PaymentRequest Encryption=== -* Encrypt the serialized PaymentRequest using AES-256-CBC setup as described in ECDH Point Generation and AES-256 (CBC Mode) Setup +* Encrypt the serialized PaymentRequest using AES-256-CBC setup as described in ECDH Point Generation and AES-256 (CBC Mode) Setup (see below) * Create ReturnPaymentRequest message * Set encrypted_payment_request to be the encrypted value of the PaymentRequest * Set receiver_public_key to the Receiver's EC public key (of which the private key was previously used in ECDH secret point calculation) @@ -155,7 +159,7 @@ should be done through standard HTTP Status Code messaging ([https://tools.ietf. ===ReturnPaymentRequest Validation and Decryption=== * Validate ephemeral_public_key matches public key of an EC keypair created using the secret point's X value. -* Decrypt the serialized PaymentRequest using AES-256-CBC setup as described in ECDH Point Generation and AES-256 (CBC Mode) Setup +* Decrypt the serialized PaymentRequest using AES-256-CBC setup as described in ECDH Point Generation and AES-256 (CBC Mode) Setup (see below) * Validate payment_request_hash matches SHA256 of the decrypted, serialized PaymentRequest * Deserialize the serialized PaymentRequest diff --git a/bip-ir/overview_flow.png b/bip-ir/overview_flow.png new file mode 100644 index 0000000000000000000000000000000000000000..c90b8c4c0e24083bd23ee6728af6ffbb931d0b21 GIT binary patch literal 67368 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 literal 0 HcmV?d00001 From d14e2054771ffbeb89fa15d0b76556c0fcf00344 Mon Sep 17 00:00:00 2001 From: Aaron Voisine Date: Mon, 7 Dec 2015 09:42:25 -0800 Subject: [PATCH 13/54] use same email for voisine as in other BIPs --- bip-invoicerequest-extension.mediawiki | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bip-invoicerequest-extension.mediawiki b/bip-invoicerequest-extension.mediawiki index 578b70bf..6b80467e 100644 --- a/bip-invoicerequest-extension.mediawiki +++ b/bip-invoicerequest-extension.mediawiki @@ -3,7 +3,7 @@ Title: Out of Band Address Exchange using Encrypted PaymentRequests Authors: Matt David Justin Newton - Aaron Voisine + Aaron Voisine Status: Draft Type: Informational Created: 2015-11-20 @@ -177,4 +177,4 @@ should be done through standard HTTP Status Code messaging ([https://tools.ietf. * [[bip-0070.mediawiki|BIP70 - Payment Protocol]] * [https://en.wikipedia.org/wiki/Elliptic_curve_Diffie–Hellman ECDH] * [http://csrc.nist.gov/publications/nistpubs/800-90A/SP800-90A.pdf HMAC_DRBG] -* [https://tools.ietf.org/html/rfc6979 RFC6979] \ No newline at end of file +* [https://tools.ietf.org/html/rfc6979 RFC6979] From 67470e0817042c9b4d752e990d2219b47f28b1cf Mon Sep 17 00:00:00 2001 From: Matt David Date: Thu, 7 Jan 2016 11:37:09 -0800 Subject: [PATCH 14/54] - Update motivation to include auditability - Update InvoiceRequest to include nonce - Remove ephemeral_public_key from ReturnPaymentRequest - Update message validation and nonce usage in processes --- bip-invoicerequest-extension.mediawiki | 35 +++++++++++++------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/bip-invoicerequest-extension.mediawiki b/bip-invoicerequest-extension.mediawiki index 6b80467e..8d8fc646 100644 --- a/bip-invoicerequest-extension.mediawiki +++ b/bip-invoicerequest-extension.mediawiki @@ -20,10 +20,11 @@ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "S ==Motivation== -The motiviation for defining this extension to the BIP-70 Payment Protocol is to allow 2 parties to exchange payment +The motiviation for defining this extension to the BIP70 Payment Protocol is to allow 2 parties to exchange payment information in a permissioned and encrypted way such that wallet address communication can become a more automated process. Additionally, this extension allows for the requestor of a PaymentRequest to supply a certificate and signature in order -to facilitate identification for address release. +to facilitate identification for address release. This also allows for automated creation of off blockchain transaction +logs that are human readable, containing who you transacted with, in addition to the information that it contains today. ==Definitions== {| class="wikitable" @@ -49,11 +50,12 @@ The InvoiceRequest message allows a Sender to send information to the Receiver s
 message InvoiceRequest {
         required bytes  sender_public_key = 1;              // Sender's EC Public Key
-        optional uint64 amount = 2 [default = 0];           // amount is integer-number-of-satoshis
-        optional string pki_type = 3 [default = "none"];    // none / x509+sha256
-        optional bytes  pki_data = 4;                       // Depends on pki_type
-        optional string notification_url = 5;               // URL to notify on ReturnPaymentRequest ready
-        optional bytes  signature = 6;                      // PKI-dependent signature
+        required uint64 nonce = 2;                          // Microseconds since epoch
+        optional uint64 amount = 3 [default = 0];           // amount is integer-number-of-satoshis
+        optional string pki_type = 4 [default = "none"];    // none / x509+sha256
+        optional bytes  pki_data = 5;                       // Depends on pki_type
+        optional string notification_url = 6;               // URL to notify on ReturnPaymentRequest ready
+        optional bytes  signature = 7;                      // PKI-dependent signature
 }
 
@@ -62,6 +64,8 @@ message InvoiceRequest { |- | sender_public_key || Sender's EC Public Key |- +| nonce || Microseconds since epoch +|- | amount || amount is integer-number-of-satoshis (default: 0) |- | pki_type || none / x509+sha256 (default: "none") @@ -81,8 +85,7 @@ The ReturnPaymentRequest message is an encapsulating message that allows the tra message ReturnPaymentRequest { required bytes encrypted_payment_request = 1; // Encrypted, Serialized PaymentRequest required bytes receiver_public_key = 2; // Receiver's EC Public Key - required bytes ephemeral_public_key = 3; // Public Key of keypair created with ECDH-derived secret point - required bytes payment_request_hash = 4; // SHA256 of Serialized PaymentRequest + required bytes payment_request_hash = 3; // SHA256 of Serialized PaymentRequest }
{| class="wikitable" @@ -92,8 +95,6 @@ message ReturnPaymentRequest { |- | receiver_public_key || Receiver's EC Public Key |- -| ephemeral_public_key || Ephemeral EC Public Key -|- | payment_request_hash || SHA256 Hash of Non-Encrypted, Serialized PaymentRequest |} @@ -132,19 +133,21 @@ An invalid or unparsable message or communications error must be communicated to should be done through standard HTTP Status Code messaging ([https://tools.ietf.org/html/rfc7231 RFC 7231 Section 6]). ===InvoiceRequest Message Creation=== - * Create an InvoiceRequest message -* sender_public_key MUST be set to the public key of an EC keypair. +* sender_public_key MUST be set to the public key of an EC keypair +* nonce MUST be set to the current epoch time in microseconds * Amount is optional * Set notification_url to URL that the Receiver will submit completed ReturnPaymentRequest to * If NOT including certificate, set pki_type to "none" * If including certificate: ** Set pki_type to "x509+sha256" ** Set pki_data as it would be set in BIP-0070 (see [https://github.com/bitcoin/bips/blob/master/bip-0070.mediawiki#Certificates Certificates]) section) -** Sign InvoiceRequest with signature == "" using the X509 Certificate's private key +** Sign InvoiceRequest with signature = "" using the X509 Certificate's private key +** Set signature value to the computed signature ===InvoiceRequest Validation=== * Validate sender_public_key is a valid EC public key +* The nonce must not be repeated. The service receiving the InvoiceRequest may use whatever method to make sure that the nonce is never repeated. * Validate notification_url if set, contains characters deemed valid for a URL (avoiding XSS related characters, etc). * If pki_type is None, InvoiceRequest is VALID * If pki_type is x509+sha256 and signature is valid for the serialized InvoiceRequest where signature is set to "", InvoiceRequest is VALID @@ -154,11 +157,9 @@ should be done through standard HTTP Status Code messaging ([https://tools.ietf. * Create ReturnPaymentRequest message * Set encrypted_payment_request to be the encrypted value of the PaymentRequest * Set receiver_public_key to the Receiver's EC public key (of which the private key was previously used in ECDH secret point calculation) -* Set ephemeral_public_key to the public key of an EC keypair created using the secret point's X value. * Set payment_request_hash to generated SHA256 hash of the serialized PaymentRequest (without encryption) ===ReturnPaymentRequest Validation and Decryption=== -* Validate ephemeral_public_key matches public key of an EC keypair created using the secret point's X value. * Decrypt the serialized PaymentRequest using AES-256-CBC setup as described in ECDH Point Generation and AES-256 (CBC Mode) Setup (see below) * Validate payment_request_hash matches SHA256 of the decrypted, serialized PaymentRequest * Deserialize the serialized PaymentRequest @@ -167,7 +168,7 @@ should be done through standard HTTP Status Code messaging ([https://tools.ietf. * Generate the '''secret point''' using [https://en.wikipedia.org/wiki/Elliptic_curve_Diffie–Hellman ECDH] using the local entity's private key and the remote entity's public key as inputs. * Initialize [http://csrc.nist.gov/publications/nistpubs/800-90A/SP800-90A.pdf HMAC_DRBG] ** Use '''secret point's''' X value for Entropy -** Use Sender's public key for Nonce +** Use the given InvoiceRequest's nonce field for Nonce * Initialize AES-256 in CBC Mode ** Use HMAC_DRBG.GENERATE(32) as the Encryption Key (256 bits) ** Use HMAC_DRBG.GENERATE(16) as the Initialization Vector (IV) (128 bits) From 385287b3950d7a86b63a8ce3ac27289880aaec4e Mon Sep 17 00:00:00 2001 From: Matt David Date: Thu, 7 Jan 2016 13:53:51 -0800 Subject: [PATCH 15/54] - Adding James to the author list --- bip-invoicerequest-extension.mediawiki | 1 + 1 file changed, 1 insertion(+) diff --git a/bip-invoicerequest-extension.mediawiki b/bip-invoicerequest-extension.mediawiki index 8d8fc646..c2140bef 100644 --- a/bip-invoicerequest-extension.mediawiki +++ b/bip-invoicerequest-extension.mediawiki @@ -4,6 +4,7 @@ Authors: Matt David Justin Newton Aaron Voisine + James MacWhyte Status: Draft Type: Informational Created: 2015-11-20 From 58754bd493e44187cf714abb4176b9d3536b1dff Mon Sep 17 00:00:00 2001 From: Matt David Date: Thu, 7 Jan 2016 14:24:48 -0800 Subject: [PATCH 16/54] - Fix typos in abstract and "motiviation" --- bip-invoicerequest-extension.mediawiki | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bip-invoicerequest-extension.mediawiki b/bip-invoicerequest-extension.mediawiki index c2140bef..b672bfd4 100644 --- a/bip-invoicerequest-extension.mediawiki +++ b/bip-invoicerequest-extension.mediawiki @@ -12,7 +12,7 @@ ==Abstract== -This BIP is an extension to BIP70 that extends the payment protocol to prevent PaymentRequet interception / modification +This BIP is an extension to BIP70 that extends the payment protocol to prevent PaymentRequest interception / modification during transmission using ephemeral key encryption. This also allows permissioned release of a PaymentRequest to a requestor and allows a requestor to supply a certificate and signature to the PaymentRequest creator. @@ -21,7 +21,7 @@ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "S ==Motivation== -The motiviation for defining this extension to the BIP70 Payment Protocol is to allow 2 parties to exchange payment +The motivation for defining this extension to the BIP70 Payment Protocol is to allow 2 parties to exchange payment information in a permissioned and encrypted way such that wallet address communication can become a more automated process. Additionally, this extension allows for the requestor of a PaymentRequest to supply a certificate and signature in order to facilitate identification for address release. This also allows for automated creation of off blockchain transaction From 5ec3d52181b6b4558d6b364a2024776dc56f7945 Mon Sep 17 00:00:00 2001 From: Matt David Date: Mon, 11 Jan 2016 11:05:26 -0800 Subject: [PATCH 17/54] Updating abstract and motivation with changes made by the Netki team --- bip-invoicerequest-extension.mediawiki | 28 +++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/bip-invoicerequest-extension.mediawiki b/bip-invoicerequest-extension.mediawiki index b672bfd4..ee8fb70e 100644 --- a/bip-invoicerequest-extension.mediawiki +++ b/bip-invoicerequest-extension.mediawiki @@ -12,20 +12,30 @@ ==Abstract== -This BIP is an extension to BIP70 that extends the payment protocol to prevent PaymentRequest interception / modification -during transmission using ephemeral key encryption. This also allows permissioned release of a PaymentRequest to a requestor -and allows a requestor to supply a certificate and signature to the PaymentRequest creator. +This BIP is an extension to BIP 70 that provides two enhancements to the existing Payment Protocol. -The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and +# It allows the requestor of a Payment Request to voluntarily sign the original request and provide a certificate to allow the payee to know who they are transacting with. + +# It encrypts the Payment Request that is returned, before handing it off to the SSL/TLS layer to prevent man in the middle viewing of the Payment Request details. + +The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119. ==Motivation== -The motivation for defining this extension to the BIP70 Payment Protocol is to allow 2 parties to exchange payment -information in a permissioned and encrypted way such that wallet address communication can become a more automated process. -Additionally, this extension allows for the requestor of a PaymentRequest to supply a certificate and signature in order -to facilitate identification for address release. This also allows for automated creation of off blockchain transaction -logs that are human readable, containing who you transacted with, in addition to the information that it contains today. +The motivation for defining this extension to the BIP70 Payment Protocol is to allow 2 parties to exchange payment information in a permissioned and encrypted way such that wallet address communication can become a more automated process. Additionally, this extension allows for the requestor of a PaymentRequest to supply a certificate and signature in order to facilitate identification for address release. This also allows for automated creation of off blockchain transaction logs that are human readable, containing who you transacted with, in addition to the information that it contains today. + +The motivation for this extension to BIP70 is twofold: + +# Ensure that the payment details can only be seen by the participants in the transaction, and not any third party. By encrypting at the application layer we protect the payment request from being intercepted by a man in the middle, and allow mobile and desktop wallets to use a server to act as a “store and forward server” or “meet point” for serving Payment Requests without having to worry the server operator can spy on their transactions. + +# Allow a sender of funds the option of sharing their identity with the receiver. This information could then be used to: +** Make bitcoin logs more human readable +** Give the user the ability to decide who to release payment details to +** Allow an entity such as a political campaign to ensure donors match regulatory and legal requirements +** Allow for an open standards based way to meet regulatory requirements + +In short we wanted to make bitcoin more human, while at the same time improving transaction privacy. ==Definitions== {| class="wikitable" From 6c537eb0a74a9ca39052f6671f09afc4c1ff6169 Mon Sep 17 00:00:00 2001 From: Matt David Date: Mon, 11 Jan 2016 11:06:47 -0800 Subject: [PATCH 18/54] Fix bullet in motivation --- bip-invoicerequest-extension.mediawiki | 1 + 1 file changed, 1 insertion(+) diff --git a/bip-invoicerequest-extension.mediawiki b/bip-invoicerequest-extension.mediawiki index ee8fb70e..89c29f87 100644 --- a/bip-invoicerequest-extension.mediawiki +++ b/bip-invoicerequest-extension.mediawiki @@ -30,6 +30,7 @@ The motivation for this extension to BIP70 is twofold: # Ensure that the payment details can only be seen by the participants in the transaction, and not any third party. By encrypting at the application layer we protect the payment request from being intercepted by a man in the middle, and allow mobile and desktop wallets to use a server to act as a “store and forward server” or “meet point” for serving Payment Requests without having to worry the server operator can spy on their transactions. # Allow a sender of funds the option of sharing their identity with the receiver. This information could then be used to: + ** Make bitcoin logs more human readable ** Give the user the ability to decide who to release payment details to ** Allow an entity such as a political campaign to ensure donors match regulatory and legal requirements From 0c93de978e4a6c96a6df701ab80f83b35cd9e49f Mon Sep 17 00:00:00 2001 From: Matt David Date: Mon, 11 Jan 2016 11:07:18 -0800 Subject: [PATCH 19/54] Fix bullet in motivation --- bip-invoicerequest-extension.mediawiki | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/bip-invoicerequest-extension.mediawiki b/bip-invoicerequest-extension.mediawiki index 89c29f87..3d18e411 100644 --- a/bip-invoicerequest-extension.mediawiki +++ b/bip-invoicerequest-extension.mediawiki @@ -31,10 +31,10 @@ The motivation for this extension to BIP70 is twofold: # Allow a sender of funds the option of sharing their identity with the receiver. This information could then be used to: -** Make bitcoin logs more human readable -** Give the user the ability to decide who to release payment details to -** Allow an entity such as a political campaign to ensure donors match regulatory and legal requirements -** Allow for an open standards based way to meet regulatory requirements +* Make bitcoin logs more human readable +* Give the user the ability to decide who to release payment details to +* Allow an entity such as a political campaign to ensure donors match regulatory and legal requirements +* Allow for an open standards based way to meet regulatory requirements In short we wanted to make bitcoin more human, while at the same time improving transaction privacy. From a81b43b49b09413961936f490afacec9df1106b5 Mon Sep 17 00:00:00 2001 From: jmacwhyte Date: Mon, 11 Jan 2016 15:22:06 -0800 Subject: [PATCH 20/54] added some details, fix typo --- bip-invoicerequest-extension.mediawiki | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/bip-invoicerequest-extension.mediawiki b/bip-invoicerequest-extension.mediawiki index 3d18e411..9fd4cb8b 100644 --- a/bip-invoicerequest-extension.mediawiki +++ b/bip-invoicerequest-extension.mediawiki @@ -35,6 +35,7 @@ The motivation for this extension to BIP70 is twofold: * Give the user the ability to decide who to release payment details to * Allow an entity such as a political campaign to ensure donors match regulatory and legal requirements * Allow for an open standards based way to meet regulatory requirements +* Automate the creation and maintenance of an "address book" of payees, without relying on static addresses or BIP32 X-Pubs which can become outdated and/or compromise privacy In short we wanted to make bitcoin more human, while at the same time improving transaction privacy. @@ -137,7 +138,7 @@ messages must set appropriate Content-Type headers as specified here: ====ReturnPaymentRequest==== Receiver must transmit ReturnPaymentRequest to Sender (or Sender's agent) via TLS-protected HTTP. Receiver transmitting -ReturnPaymentRequest messages must set appropritate Content-Type headers as specified here: +ReturnPaymentRequest messages must set appropriate Content-Type headers as specified here:
Content-Type: application/bitcoin-returnpaymentrequest
====Message or Communication Errors==== @@ -147,7 +148,7 @@ should be done through standard HTTP Status Code messaging ([https://tools.ietf. ===InvoiceRequest Message Creation=== * Create an InvoiceRequest message * sender_public_key MUST be set to the public key of an EC keypair -* nonce MUST be set to the current epoch time in microseconds +* nonce MUST be set to a non-repeating number. The current epoch time in microseconds SHOULD be used, unless the creating device doesn't have access to a RTC (in the case of a smart card, for example) * Amount is optional * Set notification_url to URL that the Receiver will submit completed ReturnPaymentRequest to * If NOT including certificate, set pki_type to "none" From 8c78781cf08aff281b938e7f0ec8cf8fad66c39a Mon Sep 17 00:00:00 2001 From: Matt David Date: Wed, 20 Jan 2016 13:16:22 -0800 Subject: [PATCH 21/54] - Remove Acronyms section - Update InvoiceRequest notification_url definition to use SHOULD instead of MAY - Capitalize MUST, SHOULD, etc. - Update InvoiceRequest Message Creation steps to specifically define behavior for empty amount or amount out of bounds - Add implementation section with references to Addressimo reference Store & Forward server and a client implementation in functest_ir.py - Add flow diagrams for BIP70 extension and moble-to-mobile example with store and forward service --- bip-invoicerequest-extension.mediawiki | 44 ++++++++++++++----------- bip-ir/bip70-extension.png | Bin 0 -> 70596 bytes bip-ir/mobile-sf-bip70-extension.png | Bin 0 -> 89414 bytes 3 files changed, 25 insertions(+), 19 deletions(-) create mode 100644 bip-ir/bip70-extension.png create mode 100644 bip-ir/mobile-sf-bip70-extension.png diff --git a/bip-invoicerequest-extension.mediawiki b/bip-invoicerequest-extension.mediawiki index 9fd4cb8b..1d181c20 100644 --- a/bip-invoicerequest-extension.mediawiki +++ b/bip-invoicerequest-extension.mediawiki @@ -46,15 +46,6 @@ In short we wanted to make bitcoin more human, while at the same time improving | Receiver || Entity receiving a value transfer |} -==Acronyms== -{| class="wikitable" -! Acronym !! Expanded !! Description -|- -| IR || InvoiceRequest || A request to create and return an encrypted PaymentRequest -|- -| RPR || ReturnPaymentRequest || A message returned based on a submitted InvoiceRequest containing an encrypted PaymentRequest -|} - ==New Messages== ===InvoiceRequest=== @@ -85,7 +76,7 @@ message InvoiceRequest { |- | pki_data || Depends on pki_type |- -| notification_url || Secure (usually HTTPS) location where a ReturnPaymentRequest (see below) may be sent when ready +| notification_url || Secure (usually HTTPS) location where a ReturnPaymentRequest (see below) SHOULD be sent when ready |- | signature || PKI-dependent signature |} @@ -127,29 +118,29 @@ message ReturnPaymentRequest { This overview flow is illustrated below: - + ===Message Interaction Details=== ====InvoiceRequest==== -Sender must transmit InvoiceRequest to Receiver (or Receiver's agent) via TLS-protected HTTP. Sender transmitting InvoiceRequest -messages must set appropriate Content-Type headers as specified here: +Sender MUST transmit InvoiceRequest to Receiver (or Receiver's agent) via TLS-protected HTTP. Sender transmitting InvoiceRequest +messages MUST set appropriate Content-Type headers as specified here:
Content-Type: application/bitcoin-invoicerequest
====ReturnPaymentRequest==== -Receiver must transmit ReturnPaymentRequest to Sender (or Sender's agent) via TLS-protected HTTP. Receiver transmitting -ReturnPaymentRequest messages must set appropriate Content-Type headers as specified here: +Receiver MUST transmit ReturnPaymentRequest to Sender (or Sender's agent) via TLS-protected HTTP. Receiver transmitting +ReturnPaymentRequest messages MUST set appropriate Content-Type headers as specified here:
Content-Type: application/bitcoin-returnpaymentrequest
====Message or Communication Errors==== -An invalid or unparsable message or communications error must be communicated to the party that initiated the communication. This -should be done through standard HTTP Status Code messaging ([https://tools.ietf.org/html/rfc7231 RFC 7231 Section 6]). +An invalid or unparsable message or communications error MUST be communicated to the party that initiated the communication. This +SHOULD be done through standard HTTP Status Code messaging ([https://tools.ietf.org/html/rfc7231 RFC 7231 Section 6]). ===InvoiceRequest Message Creation=== * Create an InvoiceRequest message * sender_public_key MUST be set to the public key of an EC keypair * nonce MUST be set to a non-repeating number. The current epoch time in microseconds SHOULD be used, unless the creating device doesn't have access to a RTC (in the case of a smart card, for example) -* Amount is optional +* Amount is optional. If the amount is not specified by the InvoiceRequest, the Receiver MAY specify the amount in the returned PaymentRequest. If an amount is specified by the InvoiceRequest and a PaymentRequest cannot be generated for that amount, the InvoiceRequest SHOULD be rejected with HTTP status code 406. * Set notification_url to URL that the Receiver will submit completed ReturnPaymentRequest to * If NOT including certificate, set pki_type to "none" * If including certificate: @@ -160,7 +151,7 @@ should be done through standard HTTP Status Code messaging ([https://tools.ietf. ===InvoiceRequest Validation=== * Validate sender_public_key is a valid EC public key -* The nonce must not be repeated. The service receiving the InvoiceRequest may use whatever method to make sure that the nonce is never repeated. +* The nonce MUST not be repeated. The service receiving the InvoiceRequest MAY use whatever method to make sure that the nonce is never repeated. * Validate notification_url if set, contains characters deemed valid for a URL (avoiding XSS related characters, etc). * If pki_type is None, InvoiceRequest is VALID * If pki_type is x509+sha256 and signature is valid for the serialized InvoiceRequest where signature is set to "", InvoiceRequest is VALID @@ -186,6 +177,21 @@ should be done through standard HTTP Status Code messaging ([https://tools.ietf. ** Use HMAC_DRBG.GENERATE(32) as the Encryption Key (256 bits) ** Use HMAC_DRBG.GENERATE(16) as the Initialization Vector (IV) (128 bits) +==Implementation== +A reference implementation for a Store & Forward server supporting this proposal can be found here: [https://github.com/netkicorp/addressimo Addressimo] +A reference client implementation can be found in the InvoiceRequest functional testing for Addressimo here: [https://github.com/netkicorp/addressimo/blob/master/functest/functest_ir.py InvoiceRequest Client Reference Implementation] + +==BIP70 Extension== +The following flowchart is borrowed from BIP70 and expanded upon in order to visually describe how this BIP is an extension to BIP70. + + + +==Mobile to Mobile Example== +The following diagram shows a sample flow in which one mobile client is sending value to a second mobile client with the use +of an InvoiceRequest, a Store & Forward server, and a ReturnPaymentRequest. + + + ==Reference== * [[bip-0070.mediawiki|BIP70 - Payment Protocol]] diff --git a/bip-ir/bip70-extension.png b/bip-ir/bip70-extension.png new file mode 100644 index 0000000000000000000000000000000000000000..2df7c2df95ba4d5d03100e653f7cac55240e8fed GIT binary patch literal 70596 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 kBAh0}sgO2=m4PK+SG^iR`B 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 (RX0}*i-nL0b|jV0hi&Iq=viiDhD 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 literal 0 HcmV?d00001 diff --git a/bip-ir/mobile-sf-bip70-extension.png b/bip-ir/mobile-sf-bip70-extension.png new file mode 100644 index 0000000000000000000000000000000000000000..daf093a004b104f085d632a66424367ba5a66783 GIT binary patch literal 89414 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

rM> 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̳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 Date: Wed, 20 Jan 2016 13:19:25 -0800 Subject: [PATCH 22/54] Fix Implementation section spacing --- bip-invoicerequest-extension.mediawiki | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/bip-invoicerequest-extension.mediawiki b/bip-invoicerequest-extension.mediawiki index 1d181c20..c905e296 100644 --- a/bip-invoicerequest-extension.mediawiki +++ b/bip-invoicerequest-extension.mediawiki @@ -178,8 +178,13 @@ SHOULD be done through standard HTTP Status Code messaging ([https://tools.ietf. ** Use HMAC_DRBG.GENERATE(16) as the Initialization Vector (IV) (128 bits) ==Implementation== -A reference implementation for a Store & Forward server supporting this proposal can be found here: [https://github.com/netkicorp/addressimo Addressimo] -A reference client implementation can be found in the InvoiceRequest functional testing for Addressimo here: [https://github.com/netkicorp/addressimo/blob/master/functest/functest_ir.py InvoiceRequest Client Reference Implementation] +A reference implementation for a Store & Forward server supporting this proposal can be found here: + +[https://github.com/netkicorp/addressimo Addressimo] + +A reference client implementation can be found in the InvoiceRequest functional testing for Addressimo here: + +[https://github.com/netkicorp/addressimo/blob/master/functest/functest_ir.py InvoiceRequest Client Reference Implementation] ==BIP70 Extension== The following flowchart is borrowed from BIP70 and expanded upon in order to visually describe how this BIP is an extension to BIP70. From a715f2cdb18c9881bfba97a188e870cc12c5ecd8 Mon Sep 17 00:00:00 2001 From: jmacwhyte Date: Mon, 1 Feb 2016 19:36:45 -0800 Subject: [PATCH 23/54] Added example use case. --- bip-invoicerequest-extension.mediawiki | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/bip-invoicerequest-extension.mediawiki b/bip-invoicerequest-extension.mediawiki index c905e296..80d9f1ec 100644 --- a/bip-invoicerequest-extension.mediawiki +++ b/bip-invoicerequest-extension.mediawiki @@ -35,10 +35,16 @@ The motivation for this extension to BIP70 is twofold: * Give the user the ability to decide who to release payment details to * Allow an entity such as a political campaign to ensure donors match regulatory and legal requirements * Allow for an open standards based way to meet regulatory requirements -* Automate the creation and maintenance of an "address book" of payees, without relying on static addresses or BIP32 X-Pubs which can become outdated and/or compromise privacy +* Automate the active exchange of payment addresses, so static addresses and BIP32 X-Pubs can be avoided to maintain privacy and convenience In short we wanted to make bitcoin more human, while at the same time improving transaction privacy. +==Example Use Case== + +Let's say a Bitcoin wallet developer would like to offer the ability to store an "address book" of payees, so users could send multiple payments to known entities without having to request an address every time. Static addresses compromise privacy, and address reuse is considered a security risk. BIP32 X-Pubs allow the generation of unique addresses, but watching an X-Pub chain for each person you wish to receive funds from is too resource-intensive for mobile applications, and there is always the risk of unknowingly sending funds to an X-Pub address after the owner has lost access to the corresponding private key. + +With this BIP, Bitcoin wallets could maintain an "address book" that only needs to store each payee's public key. Adding an entry to one's address book could be done by scanning a QR code, sending a URI through a text message or e-mail, or searching a public repository. When the user wishes to make a payment, their wallet would do all the work in the background to communicate with the payee's wallet to receive a unique payment address. If the payee's wallet has been lost, replaced, or destroyed, no communication will be possible, and the sending of funds to a "dead" address is prevented. + ==Definitions== {| class="wikitable" | Sender || Entity wishing to transfer value that they control From 7ae2624bb3258544bfed8eb623d38f14f1b30468 Mon Sep 17 00:00:00 2001 From: Matt David Date: Wed, 10 Feb 2016 09:43:21 -0800 Subject: [PATCH 24/54] - Update e-mail addresses for Justin and Matt - Add 2 new use cases and add Wallet Name to the Address Book section of optional ways to add entries to an address book --- bip-invoicerequest-extension.mediawiki | 41 ++++++++++++++++++++++---- 1 file changed, 36 insertions(+), 5 deletions(-) diff --git a/bip-invoicerequest-extension.mediawiki b/bip-invoicerequest-extension.mediawiki index 80d9f1ec..62d70470 100644 --- a/bip-invoicerequest-extension.mediawiki +++ b/bip-invoicerequest-extension.mediawiki @@ -1,8 +1,8 @@

   BIP:     XXX
   Title:   Out of Band Address Exchange using Encrypted PaymentRequests
-  Authors: Matt David 
-           Justin Newton 
+  Authors: Justin Newton 
+           Matt David 
            Aaron Voisine 
            James MacWhyte 
   Status:  Draft
@@ -39,11 +39,42 @@ The motivation for this extension to BIP70 is twofold:
 
 In short we wanted to make bitcoin more human, while at the same time improving transaction privacy.
 
-==Example Use Case==
+==Example Use Cases==
 
-Let's say a Bitcoin wallet developer would like to offer the ability to store an "address book" of payees, so users could send multiple payments to known entities without having to request an address every time. Static addresses compromise privacy, and address reuse is considered a security risk. BIP32 X-Pubs allow the generation of unique addresses, but watching an X-Pub chain for each person you wish to receive funds from is too resource-intensive for mobile applications, and there is always the risk of unknowingly sending funds to an X-Pub address after the owner has lost access to the corresponding private key.
+# Address Book
 
-With this BIP, Bitcoin wallets could maintain an "address book" that only needs to store each payee's public key. Adding an entry to one's address book could be done by scanning a QR code, sending a URI through a text message or e-mail, or searching a public repository. When the user wishes to make a payment, their wallet would do all the work in the background to communicate with the payee's wallet to receive a unique payment address. If the payee's wallet has been lost, replaced, or destroyed, no communication will be possible, and the sending of funds to a "dead" address is prevented.
+Let's say a Bitcoin wallet developer would like to offer the ability to store an "address book" of payees, so users could 
+send multiple payments to known entities without having to request an address every time. Static addresses compromise 
+privacy, and address reuse is considered a security risk. BIP32 X-Pubs allow the generation of unique addresses, but 
+watching an X-Pub chain for each person you wish to receive funds from is too resource-intensive for mobile applications, 
+and there is always the risk of unknowingly sending funds to an X-Pub address after the owner has lost access to the 
+corresponding private key.
+
+With this BIP, Bitcoin wallets could maintain an "address book" that only needs to store each payee's public key. Adding 
+an entry to one's address book could be done by using a Wallet Name, scanning a QR code, sending a URI through a text message or e-mail, or 
+searching a public repository. When the user wishes to make a payment, their wallet would do all the work in the background 
+to communicate with the payee's wallet to receive a unique payment address. If the payee's wallet has been lost, replaced, 
+or destroyed, no communication will be possible, and the sending of funds to a "dead" address is prevented.
+
+# Individual Permissioned Address Release
+
+Let's say a Bitcoin wallet developer would like to offer the ability for a user to individually release address information 
+to a new potential sending party only if they can confirm the identity of the potential sending party. BIP70 specifies that 
+the Merchant Server respond to a "pay now" style request with a PaymentRequest, releasing address and X.509 certificate identity 
+information of the potential receiving party.
+
+With this BIP, Bitcoin wallets could prompt a wallet user to release payment information while displaying identity 
+information about the potential sending party via an included certificate. This allows the potential receiving party to 
+make a more informed decision regarding to whom they are releasing payment and identity information.
+
+# Using Store & Forward Servers
+
+Let's say a Bitcoin wallet developer would like to use a public Store & Forward service for an asynchronous address 
+exchange. This is a common case for mobile and offline wallets.
+
+With this BIP, returned payment information is encrypted with an ECDH-computed shared key before sending to a Store & Forward 
+service. In this case, a successful attack against a Store & Forward service would not be able to read or modify wallet address 
+or payment information, only delete encrypted messages.
 
 ==Definitions==
 {| class="wikitable"

From 62d19677c8d39ef82c37f0f11f6d29a672f0489e Mon Sep 17 00:00:00 2001
From: Matt David 
Date: Mon, 15 Feb 2016 17:19:37 -0800
Subject: [PATCH 25/54] - Add encrypted invoicerequest requirement - Change
 ReturnPaymentRequest message name to EncryptedPaymentRequest - Add Payment
 Request (with Store & Forward server) use-case documentation - Add initial
 public key retrieval ideas

---
 bip-invoicerequest-extension.mediawiki | 98 +++++++++++++++++++-------
 1 file changed, 72 insertions(+), 26 deletions(-)

diff --git a/bip-invoicerequest-extension.mediawiki b/bip-invoicerequest-extension.mediawiki
index 62d70470..b496e708 100644
--- a/bip-invoicerequest-extension.mediawiki
+++ b/bip-invoicerequest-extension.mediawiki
@@ -85,8 +85,28 @@ or payment information, only delete encrypted messages.
 
 ==New Messages==
 
+===EncryptedInvoiceRequest===
+The EncryptedInvoiceRequest message allows a Sender to send an encrypted InvoiceRequest to the Receiver such that the details of the InvoiceRequest are kept secret.
+
+message EncryptedInvoiceRequest {
+    required bytes encrypted_invoice_request = 1;           // Encrypted Serialized InvoiceRequest
+    required bytes sender_public_key = 2;                   // Sender's EC Public Key
+    required bytes invoice_request_hash = 3;                // SHA256 of Serialized InvoiceRequest
+}
+
+ +{| class="wikitable" +! Field Name
!! Description +|- +| encrypted_invoice_request || AES-256-CBC Encrypted Serialized InvoiceRequest +|- +| sender_public_key || Sender's EC Public Key +|- +| invoice_request_hash || SHA256 Hash of Non-Encrypted, Serialized InvoiceRequest +|} + ===InvoiceRequest=== -The InvoiceRequest message allows a Sender to send information to the Receiver such that they can create and return a ReturnPaymentRequest. +The InvoiceRequest message allows a Sender to send information to the Receiver such that they can create and return a EncryptedPaymentRequest.
 message InvoiceRequest {
@@ -95,7 +115,7 @@ message InvoiceRequest {
         optional uint64 amount = 3 [default = 0];           // amount is integer-number-of-satoshis
         optional string pki_type = 4 [default = "none"];    // none / x509+sha256
         optional bytes  pki_data = 5;                       // Depends on pki_type
-        optional string notification_url = 6;               // URL to notify on ReturnPaymentRequest ready
+        optional string notification_url = 6;               // URL to notify on EncryptedPaymentRequest ready
         optional bytes  signature = 7;                      // PKI-dependent signature
 }
 
@@ -113,18 +133,18 @@ message InvoiceRequest { |- | pki_data || Depends on pki_type |- -| notification_url || Secure (usually HTTPS) location where a ReturnPaymentRequest (see below) SHOULD be sent when ready +| notification_url || Secure (usually HTTPS) location where a EncryptedPaymentRequest (see below) SHOULD be sent when ready |- | signature || PKI-dependent signature |} -===ReturnPaymentRequest=== +===EncryptedPaymentRequest=== -The ReturnPaymentRequest message is an encapsulating message that allows the transmission of an encrypted, serialized PaymentRequest. +The EncryptedPaymentRequest message is an encapsulating message that allows the transmission of an encrypted, serialized PaymentRequest.
-message ReturnPaymentRequest {
-        required bytes encrypted_payment_request = 1;      // Encrypted, Serialized PaymentRequest
+message EncryptedPaymentRequest {
+        required bytes encrypted_payment_request = 1;      // Encrypted Serialized PaymentRequest
         required bytes receiver_public_key = 2;            // Receiver's EC Public Key
         required bytes payment_request_hash = 3;           // SHA256 of Serialized PaymentRequest
 }
@@ -139,18 +159,21 @@ message ReturnPaymentRequest {
 | payment_request_hash      || SHA256 Hash of Non-Encrypted, Serialized PaymentRequest
 |}
 
-==InvoiceRequest / ReturnPaymentRequest Process==
+==Encrypted InvoiceRequest / PaymentRequest Process==
 
 ===Overview===
 
 # Sender creates InvoiceRequest
-# Sender transmits InvoiceRequest to Receiver
+# Sender encrypts the InvoiceRequest
+# Sender creates EncryptedInvoiceRequest (containing an encrypted InvoiceRequest)
+# Sender transmits EncryptedInvoiceRequest to Receiver
+# Receiver decrypts and validates EncryptedPaymentRequest
 # Receiver validates InvoiceRequest
 # Receiver creates PaymentRequest
 # Receiver encrypts the PaymentRequest
-# Receiver creates ReturnPaymentRequest (containing an encrypted PaymentRequest)
-# Receiver transmits ReturnPaymentRequest to Sender
-# Sender validates ReturnPaymentRequest
+# Receiver creates EncryptedPaymentRequest (containing an encrypted PaymentRequest)
+# Receiver transmits EncryptedPaymentRequest to Sender
+# Sender validates EncryptedPaymentRequest
 # Sender decrypts and validates encrypted PaymentRequest
 
 This overview flow is illustrated below:
@@ -159,15 +182,15 @@ This overview flow is illustrated below:
 
 ===Message Interaction Details===
 
-====InvoiceRequest====
-Sender MUST transmit InvoiceRequest to Receiver (or Receiver's agent) via TLS-protected HTTP. Sender transmitting InvoiceRequest 
-messages MUST set appropriate Content-Type headers as specified here:
-
Content-Type: application/bitcoin-invoicerequest
+===EncryptedInvoiceRequest=== +Sender MUST transmit EncryptedInvoiceRequest to Receiver (or Receiver's agent) via TLS-protected HTTP, Sending transmitting +EncryptedInvoiceRequest message MUST set appropriate Content-Type headers as specified here: +
Content-Type: application/bitcoin-encrypted-invoicerequest
-====ReturnPaymentRequest==== -Receiver MUST transmit ReturnPaymentRequest to Sender (or Sender's agent) via TLS-protected HTTP. Receiver transmitting -ReturnPaymentRequest messages MUST set appropriate Content-Type headers as specified here: -
Content-Type: application/bitcoin-returnpaymentrequest
+====EncryptedPaymentRequest==== +Receiver MUST transmit EncryptedPaymentRequest to Sender (or Sender's agent) via TLS-protected HTTP. Receiver transmitting +EncryptedPaymentRequest messages MUST set appropriate Content-Type headers as specified here: +
Content-Type: application/bitcoin-encrypted-paymentrequest
====Message or Communication Errors==== An invalid or unparsable message or communications error MUST be communicated to the party that initiated the communication. This @@ -178,7 +201,7 @@ SHOULD be done through standard HTTP Status Code messaging ([https://tools.ietf. * sender_public_key MUST be set to the public key of an EC keypair * nonce MUST be set to a non-repeating number. The current epoch time in microseconds SHOULD be used, unless the creating device doesn't have access to a RTC (in the case of a smart card, for example) * Amount is optional. If the amount is not specified by the InvoiceRequest, the Receiver MAY specify the amount in the returned PaymentRequest. If an amount is specified by the InvoiceRequest and a PaymentRequest cannot be generated for that amount, the InvoiceRequest SHOULD be rejected with HTTP status code 406. -* Set notification_url to URL that the Receiver will submit completed ReturnPaymentRequest to +* Set notification_url to URL that the Receiver will submit completed EncryptedPaymentRequest to * If NOT including certificate, set pki_type to "none" * If including certificate: ** Set pki_type to "x509+sha256" @@ -186,6 +209,14 @@ SHOULD be done through standard HTTP Status Code messaging ([https://tools.ietf. ** Sign InvoiceRequest with signature = "" using the X509 Certificate's private key ** Set signature value to the computed signature +===EncryptedInvoiceRequest Message Creation=== +* Create an EncryptedInvoiceRequest +* Retrieve endpoint public key to use in ECDH Point Generation as specified in Initial Public Key Retrieval for InvoiceRequest Encryption (see below) +* sender_public_key MUST be set to the public key of an EC keypair +* invoice_request_hash MUST be set to the SHA256 hash of the serialized InvoiceRequest (without encryption) +* Encrypt the serialized InvoiceRequest using AES-256-CBC setup as described in ECDH Point Generation and AES-256 (CBC Mode) Setup (see blow) +* encrypted_invoice_Request MUST be set to the encrypted values of the InvoiceRequest + ===InvoiceRequest Validation=== * Validate sender_public_key is a valid EC public key * The nonce MUST not be repeated. The service receiving the InvoiceRequest MAY use whatever method to make sure that the nonce is never repeated. @@ -193,14 +224,14 @@ SHOULD be done through standard HTTP Status Code messaging ([https://tools.ietf. * If pki_type is None, InvoiceRequest is VALID * If pki_type is x509+sha256 and signature is valid for the serialized InvoiceRequest where signature is set to "", InvoiceRequest is VALID -===ReturnPaymentRequest Message Creation and PaymentRequest Encryption=== +===EncryptedPaymentRequest Message Creation and PaymentRequest Encryption=== * Encrypt the serialized PaymentRequest using AES-256-CBC setup as described in ECDH Point Generation and AES-256 (CBC Mode) Setup (see below) -* Create ReturnPaymentRequest message +* Create EncryptedPaymentRequest message * Set encrypted_payment_request to be the encrypted value of the PaymentRequest * Set receiver_public_key to the Receiver's EC public key (of which the private key was previously used in ECDH secret point calculation) * Set payment_request_hash to generated SHA256 hash of the serialized PaymentRequest (without encryption) -===ReturnPaymentRequest Validation and Decryption=== +===EncryptedPaymentRequest Validation and Decryption=== * Decrypt the serialized PaymentRequest using AES-256-CBC setup as described in ECDH Point Generation and AES-256 (CBC Mode) Setup (see below) * Validate payment_request_hash matches SHA256 of the decrypted, serialized PaymentRequest * Deserialize the serialized PaymentRequest @@ -214,6 +245,21 @@ SHOULD be done through standard HTTP Status Code messaging ([https://tools.ietf. ** Use HMAC_DRBG.GENERATE(32) as the Encryption Key (256 bits) ** Use HMAC_DRBG.GENERATE(16) as the Initialization Vector (IV) (128 bits) +===Initial Public Key Retrieval for InvoiceRequest Encryption=== +Initial public key retrieval for InvoiceRequest encryption can be done in a number of ways including, but not limited to, the following: +* Wallet Name public key asset type resolution - DNSSEC-validated name resolution returns Base64 encoded DER-formatted EC public key [https://www.ietf.org/rfc/rfc5480.txt RFC 5480] +* Key Server lookup - Key Server looked based on keyserver identifier (i.e., e-mail address) returns Base64 encoded DER-formatted EC public key [https://www.ietf.org/rfc/rfc5480.txt RFC 5480] +* QR Code - Use of QR-code to encode DER-formatted EC public key [https://www.ietf.org/rfc/rfc5480.txt RFC 5480] + +==Payment Messages with a Store & Foward Server== +[https://github.com/bitcoin/bips/blob/master/bip-0070.mediawiki#Payment Payment] messages are used in the same way +with the following exception: + +When a Store & Forward server is in use during the Payment Protocol exchange, a Payment message generated as the result of a +received EncryptedPaymentRequest MUST be accepted by a Store & Forward server if the Payment message is appropriately correlated +to an InvoiceRequest/PaymentRequest exchange. This correlation SHOULD BE done in order to decrease spam requests. The accepted +Payment message IS NOT validated as the Store & Forward server does not have access to the original Payment Request. + ==Implementation== A reference implementation for a Store & Forward server supporting this proposal can be found here: @@ -230,11 +276,11 @@ The following flowchart is borrowed from BIP70 and expanded upon in order to vis ==Mobile to Mobile Example== The following diagram shows a sample flow in which one mobile client is sending value to a second mobile client with the use -of an InvoiceRequest, a Store & Forward server, and a ReturnPaymentRequest. +of an InvoiceRequest, a Store & Forward server, and a EncryptedPaymentRequest. -==Reference== +==References== * [[bip-0070.mediawiki|BIP70 - Payment Protocol]] * [https://en.wikipedia.org/wiki/Elliptic_curve_Diffie–Hellman ECDH] From db2bf0218051f331ecc10688816990bcd68ef341 Mon Sep 17 00:00:00 2001 From: Matt David Date: Mon, 15 Feb 2016 17:29:33 -0800 Subject: [PATCH 26/54] - Updated Mobile-to-Mobile image to visually include Payment and PaymentACK messages with Store & Forward server --- bip-ir/mobile-sf-bip70-extension.png | Bin 89414 -> 105862 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/bip-ir/mobile-sf-bip70-extension.png b/bip-ir/mobile-sf-bip70-extension.png index daf093a004b104f085d632a66424367ba5a66783..5de96d553b88e29b1817f89b0ae81a8f99d594b5 100644 GIT binary patch literal 105862 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
Content-Type: application/bitcoin-encrypted-invoicerequest
@@ -214,7 +214,7 @@ SHOULD be done through standard HTTP Status Code messaging ([https://tools.ietf. * Retrieve endpoint public key to use in ECDH Point Generation as specified in Initial Public Key Retrieval for InvoiceRequest Encryption (see below) * sender_public_key MUST be set to the public key of an EC keypair * invoice_request_hash MUST be set to the SHA256 hash of the serialized InvoiceRequest (without encryption) -* Encrypt the serialized InvoiceRequest using AES-256-CBC setup as described in ECDH Point Generation and AES-256 (CBC Mode) Setup (see blow) +* Encrypt the serialized InvoiceRequest using AES-256-CBC setup as described in ECDH Point Generation and AES-256 (CBC Mode) Setup (see below) * encrypted_invoice_Request MUST be set to the encrypted values of the InvoiceRequest ===InvoiceRequest Validation=== @@ -247,8 +247,8 @@ SHOULD be done through standard HTTP Status Code messaging ([https://tools.ietf. ===Initial Public Key Retrieval for InvoiceRequest Encryption=== Initial public key retrieval for InvoiceRequest encryption can be done in a number of ways including, but not limited to, the following: -* Wallet Name public key asset type resolution - DNSSEC-validated name resolution returns Base64 encoded DER-formatted EC public key [https://www.ietf.org/rfc/rfc5480.txt RFC 5480] -* Key Server lookup - Key Server looked based on keyserver identifier (i.e., e-mail address) returns Base64 encoded DER-formatted EC public key [https://www.ietf.org/rfc/rfc5480.txt RFC 5480] +* Wallet Name public key asset type resolution - DNSSEC-validated name resolution returns Base64 encoded DER-formatted EC public key via TXT Record [https://www.ietf.org/rfc/rfc5480.txt RFC 5480] +* Key Server lookup - Key Server lookup (similar to PGP's pgp.mit.edu) based on key server identifier (i.e., e-mail address) returns Base64 encoded DER-formatted EC public key [https://www.ietf.org/rfc/rfc5480.txt RFC 5480] * QR Code - Use of QR-code to encode DER-formatted EC public key [https://www.ietf.org/rfc/rfc5480.txt RFC 5480] ==Payment Messages with a Store & Foward Server== @@ -258,7 +258,7 @@ with the following exception: When a Store & Forward server is in use during the Payment Protocol exchange, a Payment message generated as the result of a received EncryptedPaymentRequest MUST be accepted by a Store & Forward server if the Payment message is appropriately correlated to an InvoiceRequest/PaymentRequest exchange. This correlation SHOULD BE done in order to decrease spam requests. The accepted -Payment message IS NOT validated as the Store & Forward server does not have access to the original Payment Request. +Payment message IS NOT validated as the Store & Forward server does not have access to the original PaymentRequest. ==Implementation== A reference implementation for a Store & Forward server supporting this proposal can be found here: From 961c51c3b2fd26cdd78239012f3dbbb78a05e5a2 Mon Sep 17 00:00:00 2001 From: Justin Newton Date: Tue, 16 Feb 2016 10:51:40 -0800 Subject: [PATCH 28/54] editied Abstract added "the identity of" to the first bullet of the abstract. --- bip-invoicerequest-extension.mediawiki | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bip-invoicerequest-extension.mediawiki b/bip-invoicerequest-extension.mediawiki index 62d70470..16624ac8 100644 --- a/bip-invoicerequest-extension.mediawiki +++ b/bip-invoicerequest-extension.mediawiki @@ -14,7 +14,7 @@ This BIP is an extension to BIP 70 that provides two enhancements to the existing Payment Protocol. -# It allows the requestor of a Payment Request to voluntarily sign the original request and provide a certificate to allow the payee to know who they are transacting with. +# It allows the requestor of a Payment Request to voluntarily sign the original request and provide a certificate to allow the payee to know the identity of who they are transacting with. # It encrypts the Payment Request that is returned, before handing it off to the SSL/TLS layer to prevent man in the middle viewing of the Payment Request details. From 4e6ff9f14995a61ac6a2312d713c6d7e1ed40087 Mon Sep 17 00:00:00 2001 From: Justin Newton Date: Tue, 16 Feb 2016 10:52:47 -0800 Subject: [PATCH 29/54] changed justin's email back to @netkic.om changed Justin's email back to @netki.com --- bip-invoicerequest-extension.mediawiki | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bip-invoicerequest-extension.mediawiki b/bip-invoicerequest-extension.mediawiki index 62d70470..e6d80dd9 100644 --- a/bip-invoicerequest-extension.mediawiki +++ b/bip-invoicerequest-extension.mediawiki @@ -1,7 +1,7 @@

rM> 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̳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 Date: Mon, 15 Feb 2016 17:35:23 -0800 Subject: [PATCH 27/54] - Fixed typos and added a bit more explanation for the Wallet Name public key retrieval example --- bip-invoicerequest-extension.mediawiki | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/bip-invoicerequest-extension.mediawiki b/bip-invoicerequest-extension.mediawiki index b496e708..6594fd27 100644 --- a/bip-invoicerequest-extension.mediawiki +++ b/bip-invoicerequest-extension.mediawiki @@ -133,7 +133,7 @@ message InvoiceRequest { |- | pki_data || Depends on pki_type |- -| notification_url || Secure (usually HTTPS) location where a EncryptedPaymentRequest (see below) SHOULD be sent when ready +| notification_url || Secure (usually HTTPS) location where an EncryptedPaymentRequest (see below) SHOULD be sent when ready |- | signature || PKI-dependent signature |} @@ -183,7 +183,7 @@ This overview flow is illustrated below: ===Message Interaction Details=== ===EncryptedInvoiceRequest=== -Sender MUST transmit EncryptedInvoiceRequest to Receiver (or Receiver's agent) via TLS-protected HTTP, Sending transmitting +Sender MUST transmit EncryptedInvoiceRequest to Receiver (or Receiver's agent) via TLS-protected HTTP, Sender transmitting EncryptedInvoiceRequest message MUST set appropriate Content-Type headers as specified here:

   BIP:     XXX
   Title:   Out of Band Address Exchange using Encrypted PaymentRequests
-  Authors: Justin Newton 
+  Authors: Justin Newton 
            Matt David 
            Aaron Voisine 
            James MacWhyte 

From d9bf987b99aee368769cce289e3c158ac2c7386d Mon Sep 17 00:00:00 2001
From: Matt David 
Date: Tue, 16 Feb 2016 10:56:08 -0800
Subject: [PATCH 30/54] Add indents for point 2 of the Motivation section

---
 bip-invoicerequest-extension.mediawiki | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/bip-invoicerequest-extension.mediawiki b/bip-invoicerequest-extension.mediawiki
index 6594fd27..ff033d84 100644
--- a/bip-invoicerequest-extension.mediawiki
+++ b/bip-invoicerequest-extension.mediawiki
@@ -31,17 +31,17 @@ The motivation for this extension to BIP70 is twofold:
 
 # Allow a sender of funds the option of sharing their identity with the receiver.  This information could then be used to:
 
-* Make bitcoin logs more human readable 
-* Give the user the ability to decide who to release payment details to 
-* Allow an entity such as a political campaign to ensure donors match regulatory and legal requirements 
-* Allow for an open standards based way to meet regulatory requirements
-* Automate the active exchange of payment addresses, so static addresses and BIP32 X-Pubs can be avoided to maintain privacy and convenience
+#* Make bitcoin logs more human readable 
+#* Give the user the ability to decide who to release payment details to 
+#* Allow an entity such as a political campaign to ensure donors match regulatory and legal requirements 
+#* Allow for an open standards based way to meet regulatory requirements
+#* Automate the active exchange of payment addresses, so static addresses and BIP32 X-Pubs can be avoided to maintain privacy and convenience
 
 In short we wanted to make bitcoin more human, while at the same time improving transaction privacy.
 
 ==Example Use Cases==
 
-# Address Book
+1. Address Book
 
 Let's say a Bitcoin wallet developer would like to offer the ability to store an "address book" of payees, so users could 
 send multiple payments to known entities without having to request an address every time. Static addresses compromise 
@@ -56,7 +56,7 @@ searching a public repository. When the user wishes to make a payment, their wal
 to communicate with the payee's wallet to receive a unique payment address. If the payee's wallet has been lost, replaced, 
 or destroyed, no communication will be possible, and the sending of funds to a "dead" address is prevented.
 
-# Individual Permissioned Address Release
+2. Individual Permissioned Address Release
 
 Let's say a Bitcoin wallet developer would like to offer the ability for a user to individually release address information 
 to a new potential sending party only if they can confirm the identity of the potential sending party. BIP70 specifies that 
@@ -67,7 +67,7 @@ With this BIP, Bitcoin wallets could prompt a wallet user to release payment inf
 information about the potential sending party via an included certificate. This allows the potential receiving party to 
 make a more informed decision regarding to whom they are releasing payment and identity information.
 
-# Using Store & Forward Servers
+3. Using Store & Forward Servers
 
 Let's say a Bitcoin wallet developer would like to use a public Store & Forward service for an asynchronous address 
 exchange. This is a common case for mobile and offline wallets.

From 79cc9bdaa6ce42eab9a311236e7bbcfe352b0a29 Mon Sep 17 00:00:00 2001
From: Justin Newton 
Date: Tue, 16 Feb 2016 13:19:16 -0800
Subject: [PATCH 31/54] Update to add 3rd motivation

Adding allow for store and forward servers as a way to server payment protocol
---
 bip-invoicerequest-extension.mediawiki | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/bip-invoicerequest-extension.mediawiki b/bip-invoicerequest-extension.mediawiki
index 7adbfc34..95144ddd 100644
--- a/bip-invoicerequest-extension.mediawiki
+++ b/bip-invoicerequest-extension.mediawiki
@@ -25,9 +25,11 @@ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "S
 
 The motivation for defining this extension to the BIP70 Payment Protocol is to allow 2 parties to exchange payment information in a permissioned and encrypted way such that wallet address communication can become a more automated process. Additionally, this extension allows for the requestor of a PaymentRequest to supply a certificate and signature in order to facilitate identification for address release. This also allows for automated creation of off blockchain transaction logs that are human readable, containing who you transacted with, in addition to the information that it contains today.
 
-The motivation for this extension to BIP70 is twofold:
+The motivation for this extension to BIP70 is threefold:
 
-# Ensure that the payment details can only be seen by the participants in the transaction, and not any third party.  By encrypting at the application layer we protect the payment request from being intercepted by a man in the middle, and allow mobile and desktop wallets to use a server to act as a “store and forward server” or “meet point” for serving Payment Requests without having to worry the server operator can spy on their transactions.
+# Ensure that the payment details can only be seen by the participants in the transaction, and not any third party.  
+
+# Enhance the Paument Protocol to allow for store and forward servers in order to allow, for example, mobile wallets to sign and serve Payment Requests.
 
 # Allow a sender of funds the option of sharing their identity with the receiver.  This information could then be used to:
 

From f41e886f258961d65b696fbd9be01cb1515ca8c6 Mon Sep 17 00:00:00 2001
From: Justin Newton 
Date: Tue, 16 Feb 2016 13:41:56 -0800
Subject: [PATCH 32/54] Request Matt to update use case 3

Asking matt to update use case 3 to include other mods made for store and forward servers.
---
 bip-invoicerequest-extension.mediawiki | 1 +
 1 file changed, 1 insertion(+)

diff --git a/bip-invoicerequest-extension.mediawiki b/bip-invoicerequest-extension.mediawiki
index 7adbfc34..fd9c0323 100644
--- a/bip-invoicerequest-extension.mediawiki
+++ b/bip-invoicerequest-extension.mediawiki
@@ -75,6 +75,7 @@ exchange. This is a common case for mobile and offline wallets.
 With this BIP, returned payment information is encrypted with an ECDH-computed shared key before sending to a Store & Forward 
 service. In this case, a successful attack against a Store & Forward service would not be able to read or modify wallet address 
 or payment information, only delete encrypted messages.
+[MATT PLEASE INCLUDE TEXT HERE REGARDING OTHER STORE AND FORWARD MODIFICATIONS]
 
 ==Definitions==
 {| class="wikitable"

From 101718fc6a93cce398db76c1aeb7100d839fe619 Mon Sep 17 00:00:00 2001
From: Matt David 
Date: Tue, 16 Feb 2016 15:22:18 -0800
Subject: [PATCH 33/54] - Move Definitions section up - Seperate Process
 sections into regular and encrypted InvoiceRequest processes and flow
 diagrams

---
 bip-invoicerequest-extension.mediawiki       |  62 +++++++++++++------
 bip-ir/encrypted-invoice-request-process.png | Bin 0 -> 164633 bytes
 bip-ir/invoice-request-process.png           | Bin 0 -> 107506 bytes
 3 files changed, 42 insertions(+), 20 deletions(-)
 create mode 100644 bip-ir/encrypted-invoice-request-process.png
 create mode 100644 bip-ir/invoice-request-process.png

diff --git a/bip-invoicerequest-extension.mediawiki b/bip-invoicerequest-extension.mediawiki
index ff033d84..60e2d856 100644
--- a/bip-invoicerequest-extension.mediawiki
+++ b/bip-invoicerequest-extension.mediawiki
@@ -39,6 +39,13 @@ The motivation for this extension to BIP70 is twofold:
 
 In short we wanted to make bitcoin more human, while at the same time improving transaction privacy.
 
+==Definitions==
+{| class="wikitable"
+| Sender    || Entity wishing to transfer value that they control
+|-
+| Receiver  || Entity receiving a value transfer
+|}
+
 ==Example Use Cases==
 
 1. Address Book
@@ -76,13 +83,6 @@ With this BIP, returned payment information is encrypted with an ECDH-computed s
 service. In this case, a successful attack against a Store & Forward service would not be able to read or modify wallet address 
 or payment information, only delete encrypted messages.
 
-==Definitions==
-{| class="wikitable"
-| Sender    || Entity wishing to transfer value that they control
-|-
-| Receiver  || Entity receiving a value transfer
-|}
-
 ==New Messages==
 
 ===EncryptedInvoiceRequest===
@@ -159,15 +159,13 @@ message EncryptedPaymentRequest {
 | payment_request_hash      || SHA256 Hash of Non-Encrypted, Serialized PaymentRequest
 |}
 
-==Encrypted InvoiceRequest / PaymentRequest Process==
-
-===Overview===
+==InvoiceRequest / PaymentRequest Process==
+The process overview for using InvoiceRequests and receiving encrypted PaymentRequests is defined below in two sections. 
+Optionally, the Sender MAY choose to encrypt the InvoiceRequest message and therefore MUST follow the Encrypted InvoiceRequest Overview process.
 
+===Non-Encrypted InvoiceRequest Overview===
 # Sender creates InvoiceRequest
-# Sender encrypts the InvoiceRequest
-# Sender creates EncryptedInvoiceRequest (containing an encrypted InvoiceRequest)
-# Sender transmits EncryptedInvoiceRequest to Receiver
-# Receiver decrypts and validates EncryptedPaymentRequest
+# Sender transmits InvoiceRequest to Receiver
 # Receiver validates InvoiceRequest
 # Receiver creates PaymentRequest
 # Receiver encrypts the PaymentRequest
@@ -176,26 +174,50 @@ message EncryptedPaymentRequest {
 # Sender validates EncryptedPaymentRequest
 # Sender decrypts and validates encrypted PaymentRequest
 
-This overview flow is illustrated below:
+
 
-
+===Encrypted InvoiceRequest Overview===
+# Sender retrieves Receiver InvoiceRequest Public Key
+# Sender creates InvoiceRequest
+# Sender encrypts the InvoiceRequest
+# Sender creates EncryptedInvoiceRequest (containing an encrypted InvoiceRequest)
+# Sender transmits EncryptedInvoiceRequest to Receiver
+# Receiver decrypts and validates EncryptedInvoiceRequest
+# Receiver validates InvoiceRequest
+# Receiver creates PaymentRequest
+# Receiver encrypts the PaymentRequest
+# Receiver creates EncryptedPaymentRequest (containing an encrypted PaymentRequest)
+# Receiver transmits EncryptedPaymentRequest to Sender
+# Sender validates EncryptedPaymentRequest
+# Sender decrypts and validates encrypted PaymentRequest
 
-===Message Interaction Details===
+NOTE: See section Initial Public Key Retrieval for InvoiceRequest Encryption below for possible options to retrieve Receiver InvoiceRequet public keys.
+
+
+
+==Message Interaction Details==
 
 ===EncryptedInvoiceRequest===
-Sender MUST transmit EncryptedInvoiceRequest to Receiver (or Receiver's agent) via TLS-protected HTTP, Sender transmitting
+Sender MUST transmit EncryptedInvoiceRequest to Receiver (or Receiver's agent) via TLS-protected HTTP. Sender transmitting
 EncryptedInvoiceRequest message MUST set appropriate Content-Type headers as specified here:
 
Content-Type: application/bitcoin-encrypted-invoicerequest
-====EncryptedPaymentRequest==== +===InvoiceRequest=== +Sender MUST transmit InvoiceRequest to Receiver (or Receiver's agent) via TLS-protected HTTP. Sender transmitting +InvoiceRequest message MUST set appropriate Content-Type headers as specified here: +
Content-Type: application/bitcoin-invoicerequest
+ +===EncryptedPaymentRequest=== Receiver MUST transmit EncryptedPaymentRequest to Sender (or Sender's agent) via TLS-protected HTTP. Receiver transmitting EncryptedPaymentRequest messages MUST set appropriate Content-Type headers as specified here:
Content-Type: application/bitcoin-encrypted-paymentrequest
-====Message or Communication Errors==== +===Message or Communication Errors=== An invalid or unparsable message or communications error MUST be communicated to the party that initiated the communication. This SHOULD be done through standard HTTP Status Code messaging ([https://tools.ietf.org/html/rfc7231 RFC 7231 Section 6]). +==Process Step Details== + ===InvoiceRequest Message Creation=== * Create an InvoiceRequest message * sender_public_key MUST be set to the public key of an EC keypair diff --git a/bip-ir/encrypted-invoice-request-process.png b/bip-ir/encrypted-invoice-request-process.png new file mode 100644 index 0000000000000000000000000000000000000000..beb5df1f02252605624de50490ca9f41425a8906 GIT binary patch literal 164633 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 YyYp*&*@`V+%HJuc&i*25^4FXG6Y7t4OaK4? literal 0 HcmV?d00001 diff --git a/bip-ir/invoice-request-process.png b/bip-ir/invoice-request-process.png new file mode 100644 index 0000000000000000000000000000000000000000..47a4fac55888c91a501a69ba2988261518a659d7 GIT binary patch literal 107506 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%0A(*Gqd7kD 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 literal 0 HcmV?d00001 From 0c3d6d15aedcedffac0e72e34edba3b0370f488d Mon Sep 17 00:00:00 2001 From: Matt David Date: Wed, 17 Feb 2016 16:11:59 -0800 Subject: [PATCH 34/54] Include grammar fixes from Dawn --- bip-invoicerequest-extension.mediawiki | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/bip-invoicerequest-extension.mediawiki b/bip-invoicerequest-extension.mediawiki index 2c0e787d..0fc83397 100644 --- a/bip-invoicerequest-extension.mediawiki +++ b/bip-invoicerequest-extension.mediawiki @@ -14,20 +14,27 @@ This BIP is an extension to BIP 70 that provides two enhancements to the existing Payment Protocol. -# It allows the requestor of a Payment Request to voluntarily sign the original request and provide a certificate to allow the payee to know the identity of who they are transacting with. +# It allows the requestor (Sender) of a Payment Request to voluntarily sign the original request and provide a certificate to allow the payee to know the identity of who they are transacting with. # It encrypts the Payment Request that is returned, before handing it off to the SSL/TLS layer to prevent man in the middle viewing of the Payment Request details. The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119. +==Definitions== +{| class="wikitable" +| Sender || Entity wishing to transfer value that they control +|- +| Receiver || Entity receiving a value transfer +|} + ==Motivation== The motivation for defining this extension to the BIP70 Payment Protocol is to allow 2 parties to exchange payment information in a permissioned and encrypted way such that wallet address communication can become a more automated process. Additionally, this extension allows for the requestor of a PaymentRequest to supply a certificate and signature in order to facilitate identification for address release. This also allows for automated creation of off blockchain transaction logs that are human readable, containing who you transacted with, in addition to the information that it contains today. The motivation for this extension to BIP70 is threefold: -# Ensure that the payment details can only be seen by the participants in the transaction, and not any third party. +# Ensure that the payment details can only be seen by the participants in the transaction, and not by any third party. # Enhance the Paument Protocol to allow for store and forward servers in order to allow, for example, mobile wallets to sign and serve Payment Requests. @@ -41,13 +48,6 @@ The motivation for this extension to BIP70 is threefold: In short we wanted to make bitcoin more human, while at the same time improving transaction privacy. -==Definitions== -{| class="wikitable" -| Sender || Entity wishing to transfer value that they control -|- -| Receiver || Entity receiving a value transfer -|} - ==Example Use Cases== 1. Address Book @@ -56,7 +56,7 @@ Let's say a Bitcoin wallet developer would like to offer the ability to store an send multiple payments to known entities without having to request an address every time. Static addresses compromise privacy, and address reuse is considered a security risk. BIP32 X-Pubs allow the generation of unique addresses, but watching an X-Pub chain for each person you wish to receive funds from is too resource-intensive for mobile applications, -and there is always the risk of unknowingly sending funds to an X-Pub address after the owner has lost access to the +and there is always a risk of unknowingly sending funds to an X-Pub address after the owner has lost access to the corresponding private key. With this BIP, Bitcoin wallets could maintain an "address book" that only needs to store each payee's public key. Adding @@ -68,7 +68,7 @@ or destroyed, no communication will be possible, and the sending of funds to a " 2. Individual Permissioned Address Release Let's say a Bitcoin wallet developer would like to offer the ability for a user to individually release address information -to a new potential sending party only if they can confirm the identity of the potential sending party. BIP70 specifies that +to a new potential sending party only if they can confirm the identity of the potential sending party. Currently, BIP70 specifies that the Merchant Server respond to a "pay now" style request with a PaymentRequest, releasing address and X.509 certificate identity information of the potential receiving party. @@ -311,3 +311,4 @@ of an InvoiceRequest, a Store & Forward server, and a EncryptedPaymentRequest. * [https://en.wikipedia.org/wiki/Elliptic_curve_Diffie–Hellman ECDH] * [http://csrc.nist.gov/publications/nistpubs/800-90A/SP800-90A.pdf HMAC_DRBG] * [https://tools.ietf.org/html/rfc6979 RFC6979] +* [https://en.bitcoin.it/wiki/Address_reuse Address Reuse] From b01c6b7089926f76e5786aeeb796ee3fb35a3e28 Mon Sep 17 00:00:00 2001 From: jmacwhyte Date: Thu, 18 Feb 2016 17:47:48 -0800 Subject: [PATCH 35/54] Added EncryptedPayment and ACK, other readability and consistency fixes --- bip-invoicerequest-extension.mediawiki | 123 +++++++++++++++++-------- 1 file changed, 87 insertions(+), 36 deletions(-) diff --git a/bip-invoicerequest-extension.mediawiki b/bip-invoicerequest-extension.mediawiki index 0fc83397..ee99d175 100644 --- a/bip-invoicerequest-extension.mediawiki +++ b/bip-invoicerequest-extension.mediawiki @@ -36,7 +36,7 @@ The motivation for this extension to BIP70 is threefold: # Ensure that the payment details can only be seen by the participants in the transaction, and not by any third party. -# Enhance the Paument Protocol to allow for store and forward servers in order to allow, for example, mobile wallets to sign and serve Payment Requests. +# Enhance the Payment Protocol to allow for store and forward servers in order to allow, for example, mobile wallets to sign and serve Payment Requests. # Allow a sender of funds the option of sharing their identity with the receiver. This information could then be used to: @@ -52,7 +52,7 @@ In short we wanted to make bitcoin more human, while at the same time improving 1. Address Book -Let's say a Bitcoin wallet developer would like to offer the ability to store an "address book" of payees, so users could +A Bitcoin wallet developer would like to offer the ability to store an "address book" of payees, so users could send multiple payments to known entities without having to request an address every time. Static addresses compromise privacy, and address reuse is considered a security risk. BIP32 X-Pubs allow the generation of unique addresses, but watching an X-Pub chain for each person you wish to receive funds from is too resource-intensive for mobile applications, @@ -67,18 +67,14 @@ or destroyed, no communication will be possible, and the sending of funds to a " 2. Individual Permissioned Address Release -Let's say a Bitcoin wallet developer would like to offer the ability for a user to individually release address information -to a new potential sending party only if they can confirm the identity of the potential sending party. Currently, BIP70 specifies that -the Merchant Server respond to a "pay now" style request with a PaymentRequest, releasing address and X.509 certificate identity -information of the potential receiving party. +A Bitcoin wallet developer would like to allow users to view a potential sending party's identifying information before deciding whether or not to share payment information with them. Currently, BIP70 specifies that the Merchant Server respond to a "pay now" style request with a PaymentRequest, releasing address and X.509 certificate identity information of the potential receiving party. With this BIP, Bitcoin wallets could prompt a wallet user to release payment information while displaying identity -information about the potential sending party via an included certificate. This allows the potential receiving party to -make a more informed decision regarding to whom they are releasing payment and identity information. +information about the potential sending party via an included certificate. This gives the receiving party more control over who receives their payment and identity information, and could be helpful for businesses that need to follow KYC policies or wallets that want to focus on privacy. 3. Using Store & Forward Servers -Let's say a Bitcoin wallet developer would like to use a public Store & Forward service for an asynchronous address +A Bitcoin wallet developer would like to use a public Store & Forward service for an asynchronous address exchange. This is a common case for mobile and offline wallets. With this BIP, returned payment information is encrypted with an ECDH-computed shared key before sending to a Store & Forward @@ -92,20 +88,20 @@ or payment information, only delete encrypted messages. The EncryptedInvoiceRequest message allows a Sender to send an encrypted InvoiceRequest to the Receiver such that the details of the InvoiceRequest are kept secret.
 message EncryptedInvoiceRequest {
-    required bytes encrypted_invoice_request = 1;           // Encrypted Serialized InvoiceRequest
-    required bytes sender_public_key = 2;                   // Sender's EC Public Key
-    required bytes invoice_request_hash = 3;                // SHA256 of Serialized InvoiceRequest
+    required bytes encrypted_invoice_request = 1;
+    required bytes sender_public_key = 2;
+    required bytes invoice_request_hash = 3;
 }
 
{| class="wikitable" ! Field Name
!! Description |- -| encrypted_invoice_request || AES-256-CBC Encrypted Serialized InvoiceRequest +| encrypted_invoice_request || AES-256-CBC encrypted, serialized InvoiceRequest |- -| sender_public_key || Sender's EC Public Key +| sender_public_key || Sender's EC public key |- -| invoice_request_hash || SHA256 Hash of Non-Encrypted, Serialized InvoiceRequest +| invoice_request_hash || SHA256 Hash of non-encrypted, serialized InvoiceRequest |} ===InvoiceRequest=== @@ -113,20 +109,20 @@ The InvoiceRequest message allows a Sender to send information to the Receiver s
 message InvoiceRequest {
-        required bytes  sender_public_key = 1;              // Sender's EC Public Key
-        required uint64 nonce = 2;                          // Microseconds since epoch
-        optional uint64 amount = 3 [default = 0];           // amount is integer-number-of-satoshis
-        optional string pki_type = 4 [default = "none"];    // none / x509+sha256
-        optional bytes  pki_data = 5;                       // Depends on pki_type
-        optional string notification_url = 6;               // URL to notify on EncryptedPaymentRequest ready
-        optional bytes  signature = 7;                      // PKI-dependent signature
+        required bytes  sender_public_key = 1;
+        required uint64 nonce = 2;
+        optional uint64 amount = 3 [default = 0];
+        optional string pki_type = 4 [default = "none"];
+        optional bytes  pki_data = 5;
+        optional string notification_url = 6;
+        optional bytes  signature = 7;
 }
 
{| class="wikitable" ! Field Name !! Description |- -| sender_public_key || Sender's EC Public Key +| sender_public_key || Sender's EC public key |- | nonce || Microseconds since epoch |- @@ -147,19 +143,61 @@ The EncryptedPaymentRequest message is an encapsulating message that allows the
 message EncryptedPaymentRequest {
-        required bytes encrypted_payment_request = 1;      // Encrypted Serialized PaymentRequest
-        required bytes receiver_public_key = 2;            // Receiver's EC Public Key
-        required bytes payment_request_hash = 3;           // SHA256 of Serialized PaymentRequest
+        required bytes encrypted_payment_request = 1;
+        required bytes receiver_public_key = 2;
+        required bytes payment_request_hash = 3;
 }
 
{| class="wikitable" ! Field Name
!! Description |- -| encrypted_payment_request || AES-256-CBC Encrypted Serialized PaymentRequest +| encrypted_payment_request || AES-256-CBC encrypted, serialized PaymentRequest |- -| receiver_public_key || Receiver's EC Public Key +| receiver_public_key || Receiver's EC public key |- -| payment_request_hash || SHA256 Hash of Non-Encrypted, Serialized PaymentRequest +| payment_request_hash || SHA256 Hash of non-encrypted, serialized PaymentRequest +|} + +===EncryptedPayment=== + +The EncryptedPayment message allows a BIP70 Payment message to be transmitted through a third party without revealing the details of the transaction. This message allows Store & Forward servers or other third parties to match and authenticate PaymentRequest and Payment messages without revealing the details of the transaction, thereby protecting privacy. + +
+message EncryptedPayment {
+        required bytes encrypted_payment = 1;
+        required bytes payment_request_hash = 2;
+        required bytes signature = 3;
+}
+
+{| class="wikitable" +! Field Name !! Description +|- +| encrypted_payment || A standard BIP70 Payment message, serialized and encrypted with the payee's public key +|- +| payment_request_hash || SHA256 Hash of original non-encrypted, serialized PaymentRequest. Some other identifier linking this message to the original request can also be used. +|- +| signature || A signature of this message, serialized with a value of "" for signature. +|} + +===EncryptedPaymentACK=== + +An encrypted version of the BIP70 PaymentAck. + +
+message EncryptedPaymentACK {
+        required bytes encrypted_payment_ack = 1;
+        required bytes payment_request_hash = 2;
+        required bytes signature = 3;
+}
+
+{| class="wikitable" +! Field Name !! Description +|- +| encrypted_payment || A standard BIP70 PaymentACK message, serialized and encrypted with the payer's public key +|- +| payment_request_hash || The payment_request_hash provided in the EncryptedPayment message. +|- +| signature || A signature of this message, serialized with a value of "" for signature. |} ==InvoiceRequest / PaymentRequest Process== @@ -176,6 +214,8 @@ Optionally, the Sender MAY choose to encrypt the InvoiceRequest message and ther # Receiver transmits EncryptedPaymentRequest to Sender # Sender validates EncryptedPaymentRequest # Sender decrypts and validates encrypted PaymentRequest +# The PaymentRequest is processed according to BIP70, including optional Payment and PaymentACK messages + @@ -193,8 +233,9 @@ Optionally, the Sender MAY choose to encrypt the InvoiceRequest message and ther # Receiver transmits EncryptedPaymentRequest to Sender # Sender validates EncryptedPaymentRequest # Sender decrypts and validates encrypted PaymentRequest +# The PaymentRequest is processed according to BIP70, including optional EncryptedPayment and EncryptedPaymentACK messages -NOTE: See section Initial Public Key Retrieval for InvoiceRequest Encryption below for possible options to retrieve Receiver InvoiceRequet public keys. +NOTE: See section Initial Public Key Retrieval for InvoiceRequest Encryption below for possible options to retrieve Receiver InvoiceRequest public keys. @@ -215,6 +256,16 @@ Receiver MUST transmit EncryptedPaymentRequest to Sender (or Sender's agent) via EncryptedPaymentRequest messages MUST set appropriate Content-Type headers as specified here:
Content-Type: application/bitcoin-encrypted-paymentrequest
+===EncryptedPayment=== +Receiver MUST transmit EncryptedPayment to Sender (or Sender's agent) via TLS-protected HTTP. Receiver transmitting +EncryptedPayment messages MUST set appropriate Content-Type headers as specified here: +
Content-Type: application/bitcoin-encrypted-payment
+ +===EncryptedPaymentACK=== +Receiver MUST transmit EncryptedPaymentACK to Sender (or Sender's agent) via TLS-protected HTTP. Receiver transmitting +EncryptedPaymentACK messages MUST set appropriate Content-Type headers as specified here: +
Content-Type: application/bitcoin-encrypted-paymentack
+ ===Message or Communication Errors=== An invalid or unparsable message or communications error MUST be communicated to the party that initiated the communication. This SHOULD be done through standard HTTP Status Code messaging ([https://tools.ietf.org/html/rfc7231 RFC 7231 Section 6]). @@ -277,13 +328,13 @@ Initial public key retrieval for InvoiceRequest encryption can be done in a numb * QR Code - Use of QR-code to encode DER-formatted EC public key [https://www.ietf.org/rfc/rfc5480.txt RFC 5480] ==Payment Messages with a Store & Foward Server== -[https://github.com/bitcoin/bips/blob/master/bip-0070.mediawiki#Payment Payment] messages are used in the same way -with the following exception: +When a Store & Forward server is in use during the Payment Protocol exchange, an EncryptedPayment message generated as the result of a +received EncryptedPaymentRequest MUST be accepted by a Store & Forward server if the EncryptedPayment message is appropriately correlated +to an InvoiceRequest/PaymentRequest exchange. This correlation SHOULD be done in order to decrease spam requests. The accepted +Payment message is NOT validated as the Store & Forward server does not have access to the original PaymentRequest. + +Store & Forward servers MAY accept and/or overwrite EncryptedPayment messages until an EncryptedPaymentACK message with matching payment request hash and payee signature is received, after which the server MAY reject all further EncryptedPayment messages matching that payment request hash. This feature SHOULD be used for updating payment request metadata or replacing invalid transactions with valid ones; clients MUST NOT assume payment requests that have not received an ACK will not be broadcast to the Bitcoin network by the payee. -When a Store & Forward server is in use during the Payment Protocol exchange, a Payment message generated as the result of a -received EncryptedPaymentRequest MUST be accepted by a Store & Forward server if the Payment message is appropriately correlated -to an InvoiceRequest/PaymentRequest exchange. This correlation SHOULD BE done in order to decrease spam requests. The accepted -Payment message IS NOT validated as the Store & Forward server does not have access to the original PaymentRequest. ==Implementation== A reference implementation for a Store & Forward server supporting this proposal can be found here: From 8e8c9778e903de3246fa529682e7178241829e16 Mon Sep 17 00:00:00 2001 From: Matt David Date: Sun, 21 Feb 2016 14:00:02 -0800 Subject: [PATCH 36/54] - Add memo to InvoiceRequest message - Add ephemeral_public_key and requires_payment_message fields to EncryptedPaymentRequest + updated descriptions - Update EncryptedPayment and EncryptedPaymentACK message descriptions to use ECDH-derived key for signature instead of each side's public key - Slim down message content-types - Add EncryptedPayment and EncryptedPaymentACK creation detail steps - Add updated paymentrequest.proto to bip-ir/ directory - Add additional flow diagrams for various mobile-to-mobile / Store & Forward scenarios --- bip-invoicerequest-extension.mediawiki | 132 ++++++++++++------ bip-ir/bip70-extension.png | Bin 70596 -> 88989 bytes bip-ir/mobile-sf-bip70-extension.png | Bin 105862 -> 0 bytes ...mobile-sf-encrypted-ir-without-payment.png | Bin 0 -> 106744 bytes bip-ir/mobile-sf-ir-with-payment.png | Bin 0 -> 113169 bytes bip-ir/mobile-sf-ir-without-payment.png | Bin 0 -> 92902 bytes bip-ir/overview_flow.png | Bin 67368 -> 0 bytes bip-ir/paymentrequest.proto | 84 +++++++++++ 8 files changed, 174 insertions(+), 42 deletions(-) delete mode 100644 bip-ir/mobile-sf-bip70-extension.png create mode 100755 bip-ir/mobile-sf-encrypted-ir-without-payment.png create mode 100755 bip-ir/mobile-sf-ir-with-payment.png create mode 100755 bip-ir/mobile-sf-ir-without-payment.png delete mode 100644 bip-ir/overview_flow.png create mode 100644 bip-ir/paymentrequest.proto diff --git a/bip-invoicerequest-extension.mediawiki b/bip-invoicerequest-extension.mediawiki index ee99d175..814845d5 100644 --- a/bip-invoicerequest-extension.mediawiki +++ b/bip-invoicerequest-extension.mediawiki @@ -80,9 +80,10 @@ exchange. This is a common case for mobile and offline wallets. With this BIP, returned payment information is encrypted with an ECDH-computed shared key before sending to a Store & Forward service. In this case, a successful attack against a Store & Forward service would not be able to read or modify wallet address or payment information, only delete encrypted messages. -[MATT PLEASE INCLUDE TEXT HERE REGARDING OTHER STORE AND FORWARD MODIFICATIONS] ==New Messages== +Updated [/bip-ir/paymentrequest.proto paymentrequest.proto] contains the existing PaymentRequest Protocol Buffer messages as well as +the messages newly defined in this BIP. ===EncryptedInvoiceRequest=== The EncryptedInvoiceRequest message allows a Sender to send an encrypted InvoiceRequest to the Receiver such that the details of the InvoiceRequest are kept secret. @@ -99,7 +100,7 @@ message EncryptedInvoiceRequest { |- | encrypted_invoice_request || AES-256-CBC encrypted, serialized InvoiceRequest |- -| sender_public_key || Sender's EC public key +| sender_public_key || Sender's EC public key |- | invoice_request_hash || SHA256 Hash of non-encrypted, serialized InvoiceRequest |} @@ -114,8 +115,9 @@ message InvoiceRequest { optional uint64 amount = 3 [default = 0]; optional string pki_type = 4 [default = "none"]; optional bytes pki_data = 5; - optional string notification_url = 6; - optional bytes signature = 7; + optional string memo = 6; + optional string notification_url = 7; + optional bytes signature = 8; }
@@ -132,6 +134,8 @@ message InvoiceRequest { |- | pki_data || Depends on pki_type |- +| memo || Human-readable description of invoice request for the receiver +|- | notification_url || Secure (usually HTTPS) location where an EncryptedPaymentRequest (see below) SHOULD be sent when ready |- | signature || PKI-dependent signature @@ -145,7 +149,9 @@ The EncryptedPaymentRequest message is an encapsulating message that allows the message EncryptedPaymentRequest { required bytes encrypted_payment_request = 1; required bytes receiver_public_key = 2; - required bytes payment_request_hash = 3; + required bytes ephemeral_public_key = 3; + required bytes payment_request_hash = 4; + optional bool requires_payment_message = 5; }
{| class="wikitable" @@ -155,7 +161,11 @@ message EncryptedPaymentRequest { |- | receiver_public_key || Receiver's EC public key |- +| ephemeral_public_key || Public Key of ECDH-derived keypair +|- | payment_request_hash || SHA256 Hash of non-encrypted, serialized PaymentRequest +|- +| requires_payment_message || Internal PaymentRequest requires follow-up Payment message |} ===EncryptedPayment=== @@ -172,11 +182,11 @@ message EncryptedPayment { {| class="wikitable" ! Field Name !! Description |- -| encrypted_payment || A standard BIP70 Payment message, serialized and encrypted with the payee's public key +| encrypted_payment || AES-256-CBC encrypted, serialized standard BIP70 Payment message |- | payment_request_hash || SHA256 Hash of original non-encrypted, serialized PaymentRequest. Some other identifier linking this message to the original request can also be used. |- -| signature || A signature of this message, serialized with a value of "" for signature. +| signature || Signature of this message using the ECDH-derived key calculated for the EncryptedPaymentRequest, serialized with a value of "" for signature. |} ===EncryptedPaymentACK=== @@ -193,11 +203,11 @@ message EncryptedPaymentACK { {| class="wikitable" ! Field Name !! Description |- -| encrypted_payment || A standard BIP70 PaymentACK message, serialized and encrypted with the payer's public key +| encrypted_payment_ack || AES-256-CBC encrypted, serialized standard BIP70 PaymentACK message |- -| payment_request_hash || The payment_request_hash provided in the EncryptedPayment message. +| payment_request_hash || The payment_request_hash provided in the EncryptedPayment message. |- -| signature || A signature of this message, serialized with a value of "" for signature. +| signature || A signature of this message using Receiver's EC key, serialized with a value of "" for signature. |} ==InvoiceRequest / PaymentRequest Process== @@ -241,30 +251,21 @@ Optionally, the Sender MAY choose to encrypt the InvoiceRequest message and ther ==Message Interaction Details== -===EncryptedInvoiceRequest=== -Sender MUST transmit EncryptedInvoiceRequest to Receiver (or Receiver's agent) via TLS-protected HTTP. Sender transmitting -EncryptedInvoiceRequest message MUST set appropriate Content-Type headers as specified here: -
Content-Type: application/bitcoin-encrypted-invoicerequest
- -===InvoiceRequest=== -Sender MUST transmit InvoiceRequest to Receiver (or Receiver's agent) via TLS-protected HTTP. Sender transmitting -InvoiceRequest message MUST set appropriate Content-Type headers as specified here: -
Content-Type: application/bitcoin-invoicerequest
- -===EncryptedPaymentRequest=== -Receiver MUST transmit EncryptedPaymentRequest to Sender (or Sender's agent) via TLS-protected HTTP. Receiver transmitting -EncryptedPaymentRequest messages MUST set appropriate Content-Type headers as specified here: -
Content-Type: application/bitcoin-encrypted-paymentrequest
- -===EncryptedPayment=== -Receiver MUST transmit EncryptedPayment to Sender (or Sender's agent) via TLS-protected HTTP. Receiver transmitting -EncryptedPayment messages MUST set appropriate Content-Type headers as specified here: -
Content-Type: application/bitcoin-encrypted-payment
- -===EncryptedPaymentACK=== -Receiver MUST transmit EncryptedPaymentACK to Sender (or Sender's agent) via TLS-protected HTTP. Receiver transmitting -EncryptedPaymentACK messages MUST set appropriate Content-Type headers as specified here: -
Content-Type: application/bitcoin-encrypted-paymentack
+===New Message Content Types=== +Messages MUST be transmitted via TLS-protected HTTP using the appropriate Content-Type header as defined per message type here: +{| class="wikitable" +! Message Type !! Content Type +|- +| EncryptedInvoiceRequest || application/bitcoin-encrypted-invoicerequest +|- +| InvoiceRequest || application/bitcoin-invoicerequest +|- +| EncryptedPaymentRequest || application/bitcoin-encrypted-paymentrequest +|- +| EncryptedPayment || application/bitcoin-encrypted-payment +|- +| EncryptedPaymentACK || application/bitcoin-encrypted-paymentack +|} ===Message or Communication Errors=== An invalid or unparsable message or communications error MUST be communicated to the party that initiated the communication. This @@ -277,6 +278,7 @@ SHOULD be done through standard HTTP Status Code messaging ([https://tools.ietf. * sender_public_key MUST be set to the public key of an EC keypair * nonce MUST be set to a non-repeating number. The current epoch time in microseconds SHOULD be used, unless the creating device doesn't have access to a RTC (in the case of a smart card, for example) * Amount is optional. If the amount is not specified by the InvoiceRequest, the Receiver MAY specify the amount in the returned PaymentRequest. If an amount is specified by the InvoiceRequest and a PaymentRequest cannot be generated for that amount, the InvoiceRequest SHOULD be rejected with HTTP status code 406. +* Memo is optional. This MAY be set to a human readable description of the InvoiceRequest * Set notification_url to URL that the Receiver will submit completed EncryptedPaymentRequest to * If NOT including certificate, set pki_type to "none" * If including certificate: @@ -305,6 +307,7 @@ SHOULD be done through standard HTTP Status Code messaging ([https://tools.ietf. * Create EncryptedPaymentRequest message * Set encrypted_payment_request to be the encrypted value of the PaymentRequest * Set receiver_public_key to the Receiver's EC public key (of which the private key was previously used in ECDH secret point calculation) +* Set ephemeral_public_key to the public key of the previously determined ECDH-derived key * Set payment_request_hash to generated SHA256 hash of the serialized PaymentRequest (without encryption) ===EncryptedPaymentRequest Validation and Decryption=== @@ -327,14 +330,42 @@ Initial public key retrieval for InvoiceRequest encryption can be done in a numb * Key Server lookup - Key Server lookup (similar to PGP's pgp.mit.edu) based on key server identifier (i.e., e-mail address) returns Base64 encoded DER-formatted EC public key [https://www.ietf.org/rfc/rfc5480.txt RFC 5480] * QR Code - Use of QR-code to encode DER-formatted EC public key [https://www.ietf.org/rfc/rfc5480.txt RFC 5480] -==Payment Messages with a Store & Foward Server== +==EncryptedPayment and EncryptedPaymentACK Details== + +===EncryptedPayment Message Creation=== +* Encrypt the serialized Payment using AES-256-CBC using secret key calculated in the EncryptedPaymentRequest Message Creation and PaymentRequest Encryption step (see above) +* Create EncryptedPayment message +* Set encrypted_payment to be the encrypted value of the Payment +* Set payment_request_hash to be the value of the associated, received EncryptedPaymentRequest +* Set signature to "" +* Sign the serialized EncryptedPayment message with the previously calculated ECDH-derived key +* Set signature to the result of the signature operation above + +===EncryptedPaymentACK Message Creation=== +* Encrypt the serialized PaymentACK using AES-256-CBC using secret key calculated in the EncryptedPaymentRequest Message Creation and PaymentRequest Encryption step (see above) +* Create EncryptedPaymentACK message +* Set encrypted_payment_ack to be the encrypted value of the PaymentACK +* Set payment_request_hash to be the value of the associated, received EncryptedPaymentRequest +* Set signature to "" +* Sign the serialized EncryptedPaymentACK message with the Receiver's EC public key +* Set signature to the result of the signature operation above + +**SIGNATURE NOTE:** The EncryptedPayment message is signed with the ECDH-derived key as both the Sender and Receiver +have the ECDH-derived key, however the EncryptedPaymentACK message is signed with the Receiver's EC key because only the +Sender has access to it. This prevents both EncryptedPaymentACK spam and EncryptedPaymentACKs from being submitted by the Sender. + +==Payment / PaymentACK Messages with a Store & Foward Server== When a Store & Forward server is in use during the Payment Protocol exchange, an EncryptedPayment message generated as the result of a received EncryptedPaymentRequest MUST be accepted by a Store & Forward server if the EncryptedPayment message is appropriately correlated to an InvoiceRequest/PaymentRequest exchange. This correlation SHOULD be done in order to decrease spam requests. The accepted Payment message is NOT validated as the Store & Forward server does not have access to the original PaymentRequest. -Store & Forward servers MAY accept and/or overwrite EncryptedPayment messages until an EncryptedPaymentACK message with matching payment request hash and payee signature is received, after which the server MAY reject all further EncryptedPayment messages matching that payment request hash. This feature SHOULD be used for updating payment request metadata or replacing invalid transactions with valid ones; clients MUST NOT assume payment requests that have not received an ACK will not be broadcast to the Bitcoin network by the payee. - +Store & Forward servers MAY accept and/or overwrite EncryptedPayment messages until an EncryptedPaymentACK message with +matching payment request hash and Receiver signature is received, after which the server MAY reject all further EncryptedPayment +messages matching that payment request hash. This feature SHOULD be used for updating Payment metadata or replacing +invalid transactions with valid ones. Clients SHOULD keep in mind Receivers can broadcast a transaction without returning an ACK. +If a payment message needs to be updated, it SHOULD include at least one input referenced in the original transaction to prevent +the Receiver from broadcasting both transactions and getting paid twice. ==Implementation== A reference implementation for a Store & Forward server supporting this proposal can be found here: @@ -350,15 +381,32 @@ The following flowchart is borrowed from BIP70 and expanded upon in order to vis -==Mobile to Mobile Example== -The following diagram shows a sample flow in which one mobile client is sending value to a second mobile client with the use -of an InvoiceRequest, a Store & Forward server, and a EncryptedPaymentRequest. +==Mobile to Mobile Examples== - +===EncryptedPayment Required=== +The following diagram shows a sample flow in which one mobile client is sending value to a second mobile client with the use +of an InvoiceRequest, a Store & Forward server, an EncryptedPaymentRequest (with require_payment_message = true), an +EncryptedPayment and an EncryptedPaymentACK. In this case, the Receiver submits the transaction to the bitcoin network. + + + +===No EncryptedPayment Required=== +The following diagram shows a sample flow in which one mobile client is sending value to a second mobile client with the use +of an InvoiceRequest, a Store & Forward server, and an EncryptedPaymentRequest (with require_payment_message = false). +In this case, the Sender submits the transaction to the bitcoin network. + + + +===Using EncryptedInvoiceRequest Message=== +The following diagram shows a sample flow in which one mobile client is sending value to a second mobile client with the use +of an EncryptedInvoiceRequest, a Store & Forward server, and an EncryptedPaymentRequest (with require_payment_message = false). +In this case, the Sender submits the transaction to the bitcoin network. + + ==References== -* [[bip-0070.mediawiki|BIP70 - Payment Protocol]] +* [bip-0070.mediawiki|BIP70 - Payment Protocol] * [https://en.wikipedia.org/wiki/Elliptic_curve_Diffie–Hellman ECDH] * [http://csrc.nist.gov/publications/nistpubs/800-90A/SP800-90A.pdf HMAC_DRBG] * [https://tools.ietf.org/html/rfc6979 RFC6979] diff --git a/bip-ir/bip70-extension.png b/bip-ir/bip70-extension.png index 2df7c2df95ba4d5d03100e653f7cac55240e8fed..d235992fffc85637fcc901af4b22d3776a246432 100644 GIT binary patch literal 88989 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 literal 70596 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 kBAh0}sgO2=m4PK+SG^iR`B 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 (RX0}*i-nL0b|jV0hi&Iq=viiDhD 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 diff --git a/bip-ir/mobile-sf-bip70-extension.png b/bip-ir/mobile-sf-bip70-extension.png deleted file mode 100644 index 5de96d553b88e29b1817f89b0ae81a8f99d594b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105862 zcmeEvc|4YD*EZ5XgVJ1zibCdj9!khOPZh~5Q|1hj=0S#xQOHbEN@Z>!L>VGcQic!_ zDKp=3R(o&H^FGhl_kF+b&-U-_+4sJ?@9VyQ=X*{=O<^hR23iUViluuM z<+La$=JileP+ecN0PpNs``rltqH$6*bfKVFypsH(q_`5hj)Fpj-$uv4)j(B6%*@fA z%hcTQkOh~gy%Ro7K_MaS>11kl*us_RkcE|vgXGr1f|9LFHs+FB^#xUVRGoHPSlcLi zIa_FZsp*(`9X1m+-zqIdE8!`I3)ow@nlgFX+c~(1c}i~maa}RICU0|ZW%}_E*Ta%q zWyudR8K`P7?RIpwU=rjK;xyysD0-;pY?NVB+K973Ag-<>uw#9$X&$T#n9G+`OWqqTD=u+PS+FBcE@fBKTS+27xBa&xx(ackyg+!l5g_7)DVF8ChrfBc@4wWF(} zi?!o_`N_Zk`oI1#)N1ZIVwJcm5-JH!V z_PFCww*9B4ceSznXL0`JO5|_;>%Cie+WeQVk-z!*wI8nVbA=@EtYW*JElgbmI ziCH>2+nc&d+1Q&}S#Uc!SV?gI^X8mS{_Rv^yB+NuopDQbVtXB2 zTumL!EcVJt;SDYu8*?!;3lXzJym(Y|AyYF>0U=&t&O^cirks2N!b1E!W`dTMrj|d9 zsH!^m>;L1@a*k$hWV7JXKjVtIqZuy$&us|_m|0qw^NMov3YeR6^70Cca*7BF@#5F` zEJRENEe{D>nEmxbb1wEjen{Qf24TVc)MH?45>(Mz*3|IaU z*t9K<{Oh}a{e_*)j{xOl>g-}cwx8tIzxLnX5$*4QMZWW68;hBmk{r$~fU$gmtUCy7^pY!$q{u>_F77qV)Z~eT^kB|KKE4VmXx_X#8TgY0$J^s&j z{m<+E>lgq12PC*jCa|;l*LC>$?!PY2UtaY;ms5fSI5D^a?#%SZ67WiJ|Bv_n`Q@LV zHy}%D=l0|C!hAgV2Wb%h{QBzLzy9~H8vgIUI`^;t{j2|cQ`f=9Rf_M|ul?KGbG}8Q z@Xr{b4ZvU_B_t@wFDSwN?{EM6H#BTKE$j^BY_OSKh*OeB`}M7V|EvG_Rl|S2DkLm0 z_nUM6=GQlWuGXCF{$nwJz6Lhx#n8qx3B-0>$fJF`++~^nrn^UzW!sb-nCrJDn)`u2=9+7b-@g81uHTwy?g##uYpykZ z`}&W$eruw+ANXUgxz_mY>p$lDt%>G-;E%cHTI08`|CsByCYt+!KjxZijo-fhW3Jzt zXzmC8m}{;ze*5~5xqfS+xgYpruDRCu?dw10`mKrPe&CO}=33*oum70qwLhx#n8qx3B-0 z>$fJF`++~^nrn^UzW!sb-;QxbaX>d^$)$Ar?hJvDPuvq)eWI(){^eIawXgmi|^Z z*VXz>4?na87EsV^k)fhqytnrKz~=Y|YwlA~8nGs?Vk=WV!djN_K>Ka$)#U;*XLl_3 z$m^aw5k4u%{iS#{^U3KOjkA4qpFTdJ@r!?a75_8mHzuw&%!xOyx=jFGQ zc5{k~uJ`rz71*#8vx>~yx6gDnU5So1J$zW%%S%j&?P6dcOZ-3AskO~bN=jP3W{td} z;-Z>slG_9X!p_h!hF-a%w0}PX8yj2c)2D|H9ol7Q$FX9?igoMO#iyn!;G;uBL#)X& z-BvaN8#p*PST*7)($mwebB*lm?Qh?^w_Q?lld`h%#fukj<>WlBtzB+qWfgn%DjPm_ zigxwmr%xB~^Yf2<`)2WEZvfY?Cyl%I`n7?NkIw_QzBM5sAtz6r8k!n+nVOpV^7ZS> zT+25tEx3<>D6jXli;qGjpdBo0hir?K^i84?YS= zN===u>D;fb9(3y#Pe4EbkC2eOx;mY-w6t-d=W(s`;vNIRp`p8cd?aw=J-xjlv9T&f zMjJFWHCdBg&lOy_uvkq^t+OhUPF!64?c29b9v(aNZ|;wK?%v3ne4X-ebJ?k%3%J#r zX3?UDO-+%twHjO|#np9*3N(usZ{y`%VP<9)digT1u<#C#fw!JsURs5oM~1s=)UQb# zy>al7Z*!-e(}F}aS82Ou8Vi>@Ryxmo#_6#MJL<%K$GsYOC($i-n5o$|NDo>=bb!# zy1l!*{PGTUMOD>g^UBaLR?UF(t9K5Utu@g|(@0Ra@hM>L`D^ne&<}rpbKhlp!fhFY zh>WMF$g5YcR&ni*qFv2iTkPw7ehsJ6hsUQ_4E(fZWGLXxW^eA<$4dKMd-zc1@#Dw0 z?%hj~J+VM1%P9O+);{ed#T9#Nv5IH=)iN80zkJxeS<-7HGUL^GVSZuZ^5@T&E?l^f z=JfJi6sc-g+dC^SbC?vz;zDq0R;{E(2l8DLoV%XkVyoflG!5br5fM+D?^t1Dm^SBF zye;vIyL(rFEY{$=BAd4lc)xvWy!^vr70UunoX9)+b^A{Jo1Nc3ze!3-p=V^Q!CKe7 ze0iC9nz7bez*=Af!=_Dj)&j3zzplM&qb=sz;~x_fQ+;9Q$uYaP500E@J2n|8>HU2< z1H;9uS2r0O8^gR;UtASe*8dj7v~AmotbO;LXQqz254_!b@F3H&Wy=~ebT61bIjwp7 z&>lPivuw>0Jtd{{{erUr(b3V=ANWJV!k8Gq+rG?Nl3 z-^uUED$#uO@pd2I6?xwB4@AeD~4A%8YG`r6%OLpz8kJAr0*7a;P%%^~* ze)Q;3e%@rMba!W`9PYIuPFk9H-GKu4Rje8^RF~&5Gc(`vopg6-&EJEMV+(#5Xf2=! zO`4szA#edUl~N>^>Z5@9N1UDOb!S$IzJaqx3m#r0D=XWOrg?(cEmM!P|MO=Sk-_Ma z66s9+Y|E}^;Szo`u^R+!c`Tl-vTe*@c~tpm>(;HW^WAo04`BO!eg9}4;un_Fd1m6w zjjSv-?UW^#E?vSs`9BTZsC~y$m8M!D41N>JqHK`o%yQqMbt}TcU5C~y*~JsI`uh4b zwL9A3R5y%r&$s!_UfrR7O#{~V`u3^p{i74Nb8?eBF=U|z3IXUrAxVyWL47A1|K79E2ar>i*lUT+a zw?4fHt^?=c1c4HU;8CWD`F+v9PqX z^q{r1Vy^cUx*fSW4C${ zo1mE}&#~{`k{vsC(5Ni?fH?5+d5qybyY*O4*5q6F@2BoMMT-d4-rgR7C^Vum9>aGg z2$|tSN5_-#uiZz7J8Aar-HQZJTX@vPYotf^>&NFT28a{+ayTqJlBDIoK3KhadU8}3*I5GgEUZLS;At zU(VgTIv3V*NBEns1lF-_FFmJZVq&tIYrg?vhibs^xz|PB_o;NAUlG*R(h8;STd5^ks zeoR)5)Pre5<9(ja_#~zvV0?O;=h7@LEA8BQmP!ZPGD+M`=$_MuUGvlUES{xBa+@g0 zNL@EB@?w)&x}HxiIVD9&CMV&`7pF!fg!yTMC9}p^T ztj@lDyF68BAPX~d&uQwt+==~th&LGqw-3>3Y!r3~^Pf^BPuo+QK&yc$;k;7G{K)ry zL*0a3^XI1_Miy0lkQn5Wtx=iCcmK@3uYctiAhA}@^NZJVDauIQ0#?vXQCUAf4G)G} zq~y1H5mw3_Q{dcnen5^*O7+8s56>zp6!RWDP~^!;$E~qxYinCrSR}(nJ1EDgmoSKE zP})8VW23)VV%>D}z%xK6%1@Cd$3pzi-fy{Ub2;bMEe(GF4a4tyYZ3BpPzc)8GdC;6 z1tX)j8k{#PzqD6IDj46=jhCUcFf~m8bYY?#KN&0KYozb0Y0eG!M5}?M2%Egcj(0Vy z-}Bx1bBo{sItjL!?>6J#noL&57Zw$)k`A?)}ri6pGxQC0+5>`6el z3qe72NNr*9J^|W}4L1xgFIc+4sk34QjiQhy;WUJclUAhtQj%c9nfct@`Vk>B;m11ws~8 z5iDY2MpVO_1s&c-0nh;UFjtQ6$dC`*00Ul0R0wMS{F#%oasj^h4F4tKJ8_qK+nFyT zBj!LJKGWZtklPTOavBpO}#BVy6 zDrukhvfF0m%jTy6%_#9mU58W6Por76U6IF`NkKtDH``c}rc@!q@U{pG%btLcc|N19 z9<&-rzVu6y8yeEJSH~mmY=5+Tu$oSKDxN~nvO0>csjNsVSxLfoBJAwhMR^B8caM#a zYu>fiOi_t`{Q9;T3)5gNASTJwB{LH{5pje4JC`FqSpn1`mzmkyb5f2k%J&$2acPsd zqM~B(!A=>H%Ji~~_UF5vLs*4x2Iyw$)fIR+BFZQrD>5^Q5?FHf!i8;2Oz-bpdJ@K_ zy-wI6c1h}r!7@P6-r9tD_@(zvc3*!nj69CgaZ}a$t9p1(xywguJjO|{%X3goM zq9W?fO-J0_pT2u{4fqk3Se~VKAvu`^-VR`>Ni}?Y5AO2t;VNW-^#azx)XZmKQx@cr zSaA=vfT80oEG(v$mQRtl4ewfqP%|&2S+XPv1yh{cAu+!hAM6Ull4Fu2iC^7SxVFG! zFvYF!mCx7b!qry<`=(iXEG;d4hRW7X%}fr`e`Bb4@#0d3Zf1^E&1RaX;$J2QOI{Xv zdt8(D6eb8>OH?C&F^oucvq8ELDK(3;)5che{?3vXs+DoJ2`7rbS+ z!CmVWN^CUp%LE+WieNc*X=%}K-@ZMr(L);B3?bMIvEkx+etGu=L&o-R?gaw;A@neu zremBLSUExvG3C4kUr;Xrm$R&>IWFYzRuRbuTdlmZaxc{|cUR@*GoKnWNm+!S(YvBNdFw6!48@Kr~7(bB~Eh z+)zh3zfFBo%|~ym@5Kn?{K(3|n`C{KuiT+#UZ1p=pnrN6rNTGVMJQ=jv1y%zC6tp~ zcu*=#eE(b(E9%0$Zg$tlvC2319XmdJ*g{#Epm)PSwyoHgX6aHE$9IMF!E~TS{1F>& z1CyoSn_O?*n6VlgWq+ZkCRVZfs(55}$;_3LCr{Sgbo=H~U*hNI-v3%wPL6s*;Kw^- zF8~5N;97+~<67<%L$bPQ8ppAH0JJ9t=tofDYXN1TUR6N~XL%<2x*}wo;jM#|Ha0f& z7yXWE_I7lfh>MG(-nOvH?$lUsYTOu>n}vz-VFc&Cp4YcKOg>#X3fzt=%pVmw0Mim= zsQaw~8=i}oupYQ$xpXbJagxX2J4Xq9gqJWR!pk8cvhwl^jItu~-TLZpnLeT0T)y}6 zcI1jj$kQPfGA-Z^YXQ8TwkxwECzPlU*H~yTg8SFk(89guRH}Nf?rhR9&Y;b<;z%Hyr!Q=Q& zV#$&vJuSI?8?D4D8AhXp9gP78dHMJrV_8PW-Wa)|)Sm70cwSLKVeHm+@%(wO4i`Sh ze9L3P($XbO1Dz(tKGBE@ha4T%@wl(?D4REL26t1)yC6Dl@p4ASS(7GSFbY*)`2iJX znwrA7O*XGwxe}YtynB}7nxwb9wKZ#NzT4%4olZc8q|jE45%OKr<^h=AkhM?v&5rIZ zTeh4$b7r=qNg4sNr>CdJt4&Q&aV)Mof{qha6IS`;hbL!dN9Aiv`02brBZNmrHtpaY zeT$gch^^I#plH6e*slV~*%#56{;XdQypUF7bfDEcJ8tEQ6$t=3*Y6tHM|2^!X%I4` zuMc24`D0DoY|Ah_BE6$LC==;6jYTfW&!FSwmG97uZPbWAZDSLs7O%|! zJk3B5Bv^U2Bk$IeCr`q)*sDCgfBmYBtUSf^#v4(CPyNe6onoJ(fQhNIgwSU5#L)}Y#Y)N09%JzhNGg^HDXsb-ZoPJhTiGc z@pNf&m=>Ht2Ps$=Kv`?|=_Q&tCk)w+eq9w=TLWbd;lq>vJmuy?^rcX?dw%xf=4)UZSv+BgG2k=IC zXy|otUpfF;x>y0-WTo&hY-=SoH9cSj9Rzk=KnHEIzkCM)P(Ky-3Agzq=DYS@Cm9BV?uqrz?=G64`?00X!+3C?wJ#~qGy?J04 zeyqpR4FVcjM!8z38DB}d54G=UykW>sU~cP-=ZDAhb#(>Kxga&}zc?{-pMC_yLMEf% z6z>~Ge}Zw?4Q|DMs!zUeGl#Bfdx5c9i%f!Xq;Pc%74n>9P(K z=rzB2lZj0~Iw1t>8d zOV1+QJ$v>{Y5x5AY{_B6sPp^>6nIh4hqG$7XH|Mc^I0??GB-GuOsCj3-JE_^ljk#@ z(}F;~kugTfH{T13mhU%PJkb?t;yQF6brYh{1k;NW&8S; zsbB9$)$!pj;^sP}pu8&X5vHXC?2(RYI0LSh0b16=-aZSJcs7c(8(?6vNE~=^O)`@r z*XHH+aFoXxI_cL7WYUd`CN@g@fzLzHh+24NW`>=MORcP|%;Kopg*BWySH;{K@?5$b zaM=bVfJU%Zjks|gKsMrbS9nYVa8C(ZN^IbvbpgQLKpl~C7X?Y`O_P$F6uEZIeAvG! zN@1)C`_qk!ebNzl!otJDkxEV(6?)#LYQWb2@hpLXfnr`GY56YQm-zVjwBYKM zImeJaGxl6qld(U~85`5mkZag$bRbL2W8emM5q1xNk{-LLsNs)#?O9WkepgML$*8wZ zs@f(&a7eihtzx9MYh6k~M@L7VfB%64x}aWW>H}4P9DvtF$dS>B#6mgO%D=*K)!e^q2oUW;v1)K@b%E}rT#Er1YfbLX` zlxc2hDgNfs3R0jo&qV<|#MhE{<}G!MA^Tx!m1I%0bxejzUA)T)!fGW z1#KG?*^+fo6P!PHPLo6lvhjcx8jA*yEV7H5$Rfgh?=a7T_F-pdSBhL!-0P;q*7e~- z0x>7(6^Rvv_gipREoB*|TpUbPKc1vqcb;c{erTl?3&|XV6iG?9nQe?9SrKY6t9h>q*f_j2n>~_>nh!FxdUzM}~ih2|lMvvpEFB5>^&^`FPUz4f;i zM1mc-WnH%wEUTi5iX4zRc+>MB4Sj<@e;ydP6du01Jcu#!>g>GQrly+u`P263PvxOW zfd>N0tiQfzF{<8E=g!f9N_QSk0#y6p zU=0>$e4t>^$<@^yd6lrlBfZ)P|Ibhppu|o>yx$L`hxSx$wu$uh>(@n&O^MvRc{6OM z{w0Z{!#v*K?IO5ME@>$>9Vmu33D`EAeR77*%+5{)6yp&Ok5qIxvfa)I^YFY6lAbyE z^x}F#H=~RmM&J$&33&wPhtHZ~^^%g4SFB!LhK-hPaC_^@?J5r&8^f`+Zri^R!jgId zKezdOU7D$vwF_;uXnrf_!FQ7Qi$ydv2?%kd*hd(e>H5IjK3!Gl?$w3>;IFT3Jl#EB z)zGlYQLRai?J%#QR0)`VbU%7t?2I1t8y~iyAY6aKu2Zb~HyKEo1vcg)gQ%8=3WDFpdGqFR zaB|+hd$(bF8Szx0ysz*@-0V7lbKsi}g!=rNOM!tF$V#zdZs!5mZ@Ygs0^x)DFcm~J z%Is65)d0_@nm4bl&pk~qYXb@c(c(pkpmVTpH9~!tBO>GxtVk`kN!&dNR>)6KfpeST z&)Z_(7%;}pKnvFs6K(JjV5}tTy6Y&sFNKAzBCI`}7&X97B&dZ4ANo_0P7a|8(lob` zViiaz8g$~}K2t}>nl#Ns@-qOLDTkYGq7kwnQ2q(ZuXUo%%!u5z2ZX7};sc}ABN)Rc zUSJ{J%GE8eHRick6_2$q#t$Zozx&+Z@8sn49)Z=h|8)pBB@MJ?ZWCeAD40ComNUV_9YpFVx+ z^Q}>z>=Z!fI&khEUtGO_7BE1SAex^HC^{XB$4_I`&1`J;7Px;_R9CmEj^YK0aRIAl z(RWA~n+i0Lz?;Cfu`o4iEQD)M?QsxrF5v4q`rd#1 zn4+vw6D#@zG1|4yxxJJIjI|ot&!A}%OiGTeTfd$cjR}7aVIDg>JA}3*u&BsfrvNzX z)3tYyVvh81jqb9d4bmhjEhrd{<-8u&4$htUA&An@(9oXxLx5E_x;x4Ca$g9w%Ih@+yqy&LQzQg1QaYIBO{2EsUR&3L#I)g;zN|Ky5p!l_o9ic zo1v3{#sWg$RlppJ@f*nc5nFbjb{cpqI`B4ccb;>X^~;o{Xhj%aTf1tN9LgR;Bq?MV za{zKguw^bTF0Fz4(I&wbI~Np$@GX&l^qshSe+5vAsNakPw(2%MzEGQ&DRp>GK(R}a zk!z70Q{iEyWo3{tT)1}a+JMMT82{tPkA}s4e%p%>EIYB|1?*l20|ElJthndU`V5vi zcj3a5=H_TXg<4c%0Cnf|GRxk+Wk9%~0JW`zUf|{Js@HwShhgy}=wYHH9~vIM4!lmn zLE+J_*Bfo!vR5{jBhkUyJ>Iji4<3jBA7>Rfsi~-R;y1unt;6+D5Txs8Zzkk`V#rp~ z!UIi?fGC3G4&Opm{Ss}S_qxa5`1?~J3spvPGXfhW`pwSVJ=}B&Af0ruTX`dn-l=}{ zNLF}{rH00Gkh%3N83+rBDAmR$CWcXCA-|qRJVFR;*p&Lkc7qI@kBW+lBvR`)_c*~} zCE@mAs}Ja!ojJ1*dFPd{J9G}+HF4$D)k~0pQFQNuh65jM5PTmiag=_?j#Q3pZ^rX$ zxz%iK*@GCRU)-K_)zMisI@m@+W3%N|pt%Z!8U&>UFtH`V9rzE```nK+&wmArkc_xN zHl(?^IpMjn!ykAIZbs1PM(Sgb@`*w!wo1V9lm-u+w#=tp6)$&=o_rP31nh;U_(NKbpm_`}ch=kH z5@sCtM~}2tpR9bu)m1LB?jYFCyEZSei_FoKx$D?=4RsC(oYhc5)F7^=>7>(xi$K>L z%Qz1nuc>qda1CJn>4PI3X@+;U!-1KxGpl1oR~|lmm}~!ohoH-BTJr^!*obIC-^8~J z_pgX3lk@yuwsDcznl)?Q0t2_P^h8U`G*1t>85q3Ymnw>GQ$ubFdR`y;`!8ypN1E$E z&lBEFupMqY1)c+H_%xabU&|T&ZXJ9?g#{tokyr;IE)-J(K-R^ z<@fI0BPK@p?|A=S2I>(mF5IKj@%VVAB}+@#onXDvM~{vJNAUShxKe;P z2|%=k`~oo%tmGr4M;cmMa9NA6xlzMo-}fHQT8_pbJpXcN=wnpli$HBMGoM7AuAT2{ z1Cq9kSPnZ2-PMNGDHARM*P3(2!0KTaYAUT*v*syy)^wv>c8Gi)Jb2J^&C$YQ4`LOZ zV=<8lAZKtK$k*}UUAcPoH(9?s2wpj>7*-CddwETmDD?x$oPst2ZCf)y1eGfS=Ri=I zSz4af%d~*Ykq~WRQHCBU>7Em(LpGL^lk4FMB^_`0oTzi>BJ@lFLQ7s{pa*&M5`*Yt z6z{T7>wsVCgcc(I)dQ7;goON!6n?J|uSly#$i77mznQL)Kn1$xF{(WM!kgGc{Vll{ z5NtaJ243J_qDP0#BO)dM3qbo&KSW=YhK{ZqHm4A9e8+&L*{*t}v_^Wi8gIFAhDVd| ziWY)FuI*~?@BJV8vP-rjc80O*o?o^}jBGh%F2d6iw20k+PDLO6EU2LC+1WL?c<;L+ zaS9loAXg#`0`ft_;?(WiykK4+@tWy696U1O+C1)3JHC^P>k=NKhn51_GZJ9BE@|(| z`uchT7RcW3tO&WdLGV19mo8Idq?bix8vxXHt@+^~mWQEwK-~&vb5~~LAv?Qjq$CJg z^1rqsLmBtYe}ymyqV*(V7`R@QSdkSdynu5b_>A){-6%u^O(Xrymw^@zSzA|t`Z7_j zwYReq@fqU*c?>L0AUxDFz~QMxfCEyd>bV$T!lzeRRUn#roA2xZ0I%R%Tmd982CNOx zwE#PE(05<=$X9)YwaUs$*ks3>8`>%=OW<4=*YO5`dAtou>)3eLT3{B4$ab5UFb2ve z_APY=E+ML?ygbp8so@JZBTZ3D@(KtfkzdcyIp@;-B1GK70j+anwA7$#+-zML2s0-VkYJ=SiFYg;p^8?=xUhf zg(THkpA8BsZ)v$gq#y9R5QLQW{{Cv1=4@c#9<(T)3%4y_u|gIk%h`(;OY7@HlaiRR zi%%67OChJm1EvvK5V#kr_ecgIAu9lI8(JSox%Mnaz$Q8y*Uv4hJsYc>0Y;Hu_y9`n za-}Ul#uH+;qr-3V-nTbb+V3o0yLK(^J~G+W7cc;uI$t~@ng-GzG3@<|nj^J|sjlB1R8= zMG5ck7vb@r@^4vfFF;=*e-s>tqKpfLf zRV%BmzKG_?Ez~~PBjrdK6=+8e1Z?{%QWZPE&cSgJi64EfONbs&bm?U31!4({zY|Ee zzIgikK47c7BOMD+pFYKd0G*_-C5FJSWDlWd8Wj_xjgk@l zHuw?%7Ym2c-Lq($5S`Mou@4Ks54P3daniJsY4LFRhU@SH%_V-)q}o9EYRJ?NLSnEQ zM+UR(EIWbv@XNiU5{{089J+7#fgP42q99kwBZQFp0Ty<}n`q9q=JlZ; zSKn%f0K<<&LhcGuC$RA~2yfWBbf8DNuv>J}G$<*eQ?V5e07t zQYA14EFGJ?+CIZpaiwwj7)aPgqzBLM{m}zc&^esq=p&LL zQ2vibdSCJi3XcIol_=uPFA| z3?a1ZV_3yK$A?+Kk0hX-nQws(CMUvi{>D_Y!=|$k+VbC>!w!@18aWFfU>WUO+SIfb z1v3;~ZcXvg{7!&*31MEJ^I17L0|_v|rVnl zru}jiQKU?+`eH=s-~SO*4iVj;`(||N^yv(Qs5De)>8MoGNM{9@tZQ&E8?v+vs16%o z*+$@U*Rr*cG5%nyk;sz4{-r&B@lveCgQpSMjsz<%NGSHT5wK{#~ zOy;raiFDFBL%K@GcG5#zARY1c8_<^^Q~-qAC02(&v`yXv7e*d20zBI4+ruLxVKP43 zN$U*djjL{7*`x(DG?ve=e3PYR@r6(TmL`95suwMZOf;=hfd_TLO*SI(HNYmTa7KAfd<*PY>~ynmW=lCppS%L zGE-m88JB?)mX&GW^l7l0D$o}weCumcUkZT}A%q*#Ga*tBa+39LuefJB48gXBmJO=V-%C?45x zHf{N={dro%)zQ=HySWlPemXEhDhlD%@j{O8V(sruWB-zVgP70QmyH)nr@K;;tHnD2 zsSS-O^v0;UL_|eHcItB>4uOZY!cUQQd2sM@i2mb} z!?$W9Ux@;q!@ShSf!RYNBMqy~qa}{=omjB+I`*UI(W9We=?D>sh8C;AEhgYpXh-Cl za_@l?f>K@!iWSUtfL82;-*D`I5DXOCcW6I!d+;R`5UBuvB4T3n8#h*+q*)1`_7Tz= z49esA<=_Ln^8KJphOgg3j zwv8}c6sXUd+$gzqGgg7#*^2g_$~B2-h_EmSQce;vsxiW-1A{((^Ckw5i`;T1H&+ns zLMf;gG>dS{@Mj|DCbS459n@drPffkyPusU{C2D`F+FPc(Nen-%x&OYyCU6_2XnX5t zTYw>fSxoKiRq->oZ{3PVIw7iS@SyYz3^#V(kT88ry?}0WHQ;f=#_y))=7e;DJ}L#u z86tT{s&EE7g|^RQXj+M04@Cr&0H3@b71F^It#e!K8uO>5ybeIII@I5MhePs;R0^OE z5iKJaoK8sCg5;cx-vyHIrCqlMY&xtCC4(#)0*0u^q-Ur2NgoE|3>2gWLa5S2PDB(T z11k7p8D5fM=H9=!zo?z{)8`A0y z=jzT}Ms)_4*+%ekTNs3Rq!0B{oOS^O-SJZuIo@PVVl< zTn6VQ>j)g2E_uf)Ag~H+2!46yDcADmI#encf2cTIm6(|5)_9$tj}L_54!{op21_=s z$mU#Tet05XlUpwMm{~U;y^oWRGmmhCDu~pKog|JIGNi&7FbM@t%I0rF;|tu|>i6qWcI*pA&e54p>9$ zKoT5(?y~8@-8xqc?rq+MiY}ZI=wwp*`6c_>g}EG z>tv{9>3+D6+u?nqj=CfJSX6ZE?EMa&J4)6cC*Qn&UD(vgV7z(+RoJPU3y*u2fB?J% z$^^h5?4ZvAq9=oovn*#ko0_@<&w^EgiKm|CFNOBPFTE)=JiM_)=>>mHw4cM#DaYoeFC9Q{(VtFx1V5c>=go*K)XhUzwnxt;|; zD4D)8IanBd;X>767sd0jY@(vkfIUUGt1gTkhR|A3O)Vm?Q+g%3a*rDtMzUJNOADHE z59`m2bhzJ+&cD%GKVLi1Ew2mLC9rldd~go zRHD(zr|sX`y#X}>>CLh0DnXMcaQM{{e*`s1Rp)^SdGTF)wsuP>Su86$>B&Zs9Sk)YDpUA8J$5ON6oC7J2K#Cg25wz~U~)G=y-U z%PrLHE3mH(S04l&wiBvJCQ!i&`Zw1$2LS|NsBFSy{sXfacav&lnD-z@k(ijDiRye@ zrH5K7{NR)_s7gZnfOIel2sr_a6a>(td_pU`WtkgT{|QF^oby0V^q$Iaq{w4X{ekdmrzoZa>jmm$(pB7y8Sieo~{3_v4>r ze!7NSJT^9_c-JKgQ5wBQlDGjfF8deGLlfva+69E*147>`;~Z6;&WC$2&TQE!wIq2J zLZ7FnCux#E@Vb26Iz?dNq3_=VVe!(K6@=dO%Nxg%I&_WCc`bv&ayP!K zfEY>Lu?bD(aGjVJ$Dw{AbAO~s1r`rK-h(TJ0n*XuGcX~BqY^Q-vML9zVrF7AM4627 z&35!%p@?O6S@Z;$5eld2zlf+ zhp0iQ2`7+;fCE-2sNC55%0U^6l_16N{q0=Ds20={l8hDV?z`guFV@}Py zrQ*V%qKKn{PoJ@Mo;i={p6T5vk#!+fRq~m@T+ZrvBtVWwp6b|X2^3fZXNXF9koM=N zO^yyK^W=oA=eJ~)QN1dr8!&VZ0Y(#B{inP<*v=fIBD5NaiQ!Q312k(Qfw1%PY6c{P z0jNe&>7bFN3&|q2T;WRJi4jeIBM{z)X$ZDfK7_^2jU=U}4z7 zLMw28I{q!iz6I3V7Vf_>0Le{2$WpkuIwg^>V4$HC8CVC17P6#pKp~pagZTK8oHK(bFU6Ny7F8mIy1G@}ZV8wtT8m!_)ss{K0!ni-6cqY)@P8lMU%jdFu zqIVjVE1OKXLo5v`7!d^`iO`UlX_pmxcI@B}$wZNA zoYeGz;%^12wfvm>A81fMtFPC3j&N}Apb%*A1aOP-6vXss)w9S}ZbvIm7wz3u@#tY? zJG_0cMYeJQS~x$XtrTchnjlo41taq937s?{Vc29)ev{Qb@cgQ{K6Z);*P*uK;I7G% z=E9)`(ZM7`Cxq{Snw!`lNzrl{X-2{mdFQ7ASFrl|`C*Xn7I+O(>r)8Yw+PTwl!OHb z$ID+_mq1}*WtED4S_-5o%sg>Kno2~8^M7yz(3yKouc+Jb1A5(&B{zMD`9pk1K=r4SlPKz*2Yd4e_~D$=?X z)s4tNdoY@9QC@W%eo%=-K{^&yRTrRT(<*Scr>R~z0=WoygK8ucv^SE00MTMz3LDV8 z5T{2o5V@Kpmjw$J5CIzzdVwa~>*V|ZjdpTP%=pNlGly=6B}On-?bPe{_1RzTtz64L zpPKqh6?e%kuWz>K?GTX^==r<$Zz8DX(^k-xi-%z(9ol#z)y#2LDM&#dp|~Oq zR?y}2X?70i9#jKwApQ~&K05tmZU^1l@)s|b?cBMOre0j70+J6B&q%HU9geZ%T0A^B z{&X;S)V=%#4~u*!g`}jU(31d(d+z-Ci5?o92EdDaa09@p%Gul78^dC9XiOPpeNW7a zgJ7YyHW*Ku5cc@lv-5y>8ad{BF;~7#{FPNi8oFR{kVc@Ptb%SM5quB`j4B-jhEni5 z)0}myR+Zj7P$1&@g$e5Grwk1?oQs$pE85Ajdy|;fjim*2E@o?tT%7 zaU=-4K*^wGp{eBCuoSv8S)d)r`YLlIaKZ$bevYhlj3>Z73ki{)-d!V3{3R%kVK@P} zH6ro?a$d5I#~+cRa>aKV+NDd0Du7J$<8D{1U3&)X5OTS}zI|Z)sr&;2mx8Hb{1&CD z1i$qMnj~G5E~IT-_1FltLSkL;wQFkVj^krQS-Em0CR`X{cQk^@6JwBD4k|i?DuHoCnjz~@?W=M1NNAIZtgdQ zl6Nm{b1{_s{{8#lt`;slA@oc^?`|d3Su5_{izi-#9yw%&XV0H+2jf#(Ufu!CAs)^K z6(~fqk1%fJ{*aCtWe|o4NhCod_6$lepsrLnY4i2b@G&biUSB^rvJJIbCsqmEQyoS) z;Azqgs@-&v@w2G_F<(*Z!0u15wb4?LO{~M1h`O`$u!5?;;D)8p&yYhV$YKQH5edtp zrB$yWonT;KfR4&V`NRbDrN{{f$i@(WoV|ScGJ~mT1uz|waW~d{f00)>nv5YZEM|MK zf~?6>w)A$e1M)sVY_=perYJZCDci+yTC{lV1MT(>4r&mgvhBOaftEsfS=oG4iOqF# z_maYhPzt;6LvA@(lIPG^uqbYQL%VF*)3!E7bO<0Vt3W-WsT2Ygo}FF4g5wvQ>aiV; ziz1}Z-T3R5FHBNWGl}oykj6>;vamR%MGJWh_@;AE!XR8RJtY*|mXt!<$BS9woZ5vpTsJ|!ZcXhDz#07xGzlE+EM->^` zLN|~_WY^R}#0(5gC?mx?5aqJPEK z*}s23(Zyo^kMYiJetC7Fni%-)=iE+)gTRH1Mc?+H?Y9QxG7NR`2VUic_L%0<@>w9W zx}`Sb>U=5sXZ;4zF?tpnJC8y7SS&1}=v3Mkx z0$ds7urmsu4af4l(C9%$NycZ0Bi^&$hsUiZN>8lUQT!$NvGE?s5Efa#3lP&39vKIG zTSQA6NG;xgDHSPdIp?m)2yYV)3DJyl>)w{OT|3Hi|k0s45a3xXqMr7Pb(|W zp%T%8h6D(67xXJ+auE5+(Dve4k8MzxkXju@JhI;&((sf%CIJzYC2%XWC@x6WPlFhP z&YV%WXXqGR(#tuszvojn$J%xmD-b95BgkPpj4@iDvYOnTXXppdLqiNiL)4nss6-+MZ8X*1E$2KDOn<7!4AEqK$5|#Cz~<)C(3I!Wld$ z{RrIzP3?8;t>)r&x0rhzhwcSz+z=>#{>Y*s;h^>S{jCMp3Oc7)q?i#y$skTl1ScA6 z*y>I|A{c#tf&}fxFW-#ALE>fSVVO^WwL!dG#c4EhCny0YR3IonYHN!lUm5Aq1VV!Z z16x893?!LJ*tuvbU3Hx8?-OHusKMwE{T!eyA1WvcOy5`G0X%WS0-~Kcszv0oV6fYS z&&kbAcKYx*f6XY^RS;sk0Yh9=_Txv+ojuDWA;ExIsTXn5Xr0g@yn=s+%J>uj43JzR zq6N_-g9qq3JKn=0yY}bNE@$l?gCr&W=r$!bfE2e$pegb@;X zaR?H^GML35axYCX2?|%j3=Eq7+^EEoKp%rh|5$O2>+iFY2I^+@T+(Wfw-j~jiACJ;JCixChZC_0F62tfu6yo$qMIj|apA$7L7=&3Kn zaXb*#@bL3LsjsI`UZuo_)CaMy420|_Pf|m?1r^O!$RQy;fV>1th<6)mLr@!HI_3k2GLf{IF8c%@yZMhgMgFA zga0|^s646BmSxdDU;Z!Wam_iJYnS5R=UdHvx#-8iLqBfYC+wuAx|aN$H(Y^P=&9$t zVFxRcH_9f70G}ihwRct68JIWejCzfQ$I(%bK=Wbuja7Lp9&9ZrhfZ(id$;|&!f1fQ zN;S40XKdwg2Fh=f9rItpOdWRy7^8Sck1_Im&WX=KxesFqn!TkATZx<9y&iXi@!T|QhVESf6Er8p->guUT zIB1oPaI>_atawsWGw7Jrf$JlJ`1W-mut2j!kMh3x_|Ma{VC&9R=xUQ*5oV|v{R#D8 za%}t*k}aiE|7%`y!WPDbWib>5-Ng!6>UB$tGbWM21KqlFXWn~s<8VF`;Z9-)g4yJ`9I5NfQU4yPUREVe1 zX#~ShB$i+@DS~5Ts}cHbTJEx;F2IH)%yFK*FMy zRaGta$D-6h(@atYXhf)(s)t3D*uYAtA^5pf&Z3+^FpGy`9J4mgn5)|DAw`zE)-@EpI(P137AN@N^IkX4WUQ|7$Aq3<(S*So?dd|0c>Gi8&8S7Zi+rK zmS~|rG91pjK(+5dT4)%GCe31~9k;8+Rsi^5@K6jL$PNrkk?|Y&{cW&>n5Md3U_-hF zfPr!#fPRq7(70pl5hcO$4I7luqe4h#^qnO$_29M+V)*aIzWbNb(pW{)ex7&dS)Me1 z+7YZqZSMJFO2so1htY#DfLflYfUvX8QQ|?93y&)W8KeXr19M;tp^{2Mfd_dfnTrD9 zK?)s`ppjci^BnvBkhys&TnMU3G|g?^6^a5Jn*%0bFPs5Ghtt;1K*9z{1q6HsoltU2 z7;yI<;3#l!Nsu5DIV5>jxB~G$T=T)PX)&~giToI)$V(_)(GOGu25r7)zY*=x#=szS zHMoI6k#jTwgFqs^KzFUTA$=th5ji~~|CI*?nxGK3Siicl9&f@_2W@OB!RJ$AFb(=h zs1j=_f%Y&J{2cxSh_?)*Qylx~sZw+dP+#z+Q4mxn_j?tJrVX>LY?_c;gg`h^dH|H$D8z368UsT+0-95)9t zLY(9xgB?R;(TItteJEgla?B#CRvbY<^?qPr=IPNDm|7>N3gFZdDDgwlV#G$Mgm?Hz;5F0F;nbZRq5hqntrAd>*8tkPRp6{yJ1} zZ>=;3-a0ljZUquDBCF{RVg-YU69q+e{$`}Zd!xsc#B$INFHs3SQ zbi$w_;^JSSlm_}s^ezED>F@6cMb!;%ljt|_V8yrV$qW+O0?FvG;0%OF=m<0;-*>~& z0q4lk8|ZmGBFq>{f50Pv2>e8<^2Mb~mJq0j10FD^KON+0x+VEAV-)$nJ5c3 zg3va|G9VMaw3jU=4ILz8qGBLpML4ttz0^|(kik(=6~LTq(2M{pfU`hNyH{1U(O3SX z7b ztRQ;tq~1goMg;8eI5Jm2w#*G=+m2_c0e2_&* zT(DraWM}l1D_D=+F+%q1M4gjvzK#L;1$v3ll$7%p@Sye}^A(s3{fUE3Mx_vVfI2ap zF9-piI+k8hNogz2M!^UGc`($_&q=7MODsR!mWN;jI{OZ`9|ppzp!~+^p&iI_knV^o z2jIvYF7PHjkcea3Zb!!p`win<>L|;wRCQ%_7?4420U8BdJQWgM7cw_A(%~qyL72Tj zU?mw4w}kHMGWaK`Re1y%K(B+Sksjpbg#-taBT)$X^w=djj*_S^nctNZXSq%U)LdI1tkbQVra` z2>RWS5iB?eDmqq0W8@F?F%h2$|CUNSmX8}RH2V$xS14L-T z0U(~>`X8VdA%%!PQXr}LiMkih2UTJcYJ2pxY5h?`221-Lqacd7ov-iV>=h`Jv-=zz zY;9=^GdPSv@U-^La@^SkUQG;_F%L6M=b=|Xj#ecTa;Un7a1bXB|G{~GyktBIhsF`X3(ze;IcH6O9O#fVqA>aG zx|{CU^f!HMYF3lt!kdc=K~Fh2j00|b=QujUjI7r6=jALKN*vQP0?%BZJG1(8!*b65xBn~I$Iw^?jU|`&?5MpGF!AN$pB#J_eCCeDH zWl1DtOJhqSsfJ3ZsIK4RjQhU7zvH-%<9GZ%e|*26&kS{4@AvEVT+Z`+p3j0q2~5TM zGB)D^oj_&mM6?TF+=Ad@*{Un*B#O!2zkjcvRos*%7e>s>ZOYKpRm^+2-Y^5RV(n#0 zN>%yv8KKx=VZq?sTm;AH`u}|E$y-1F`E7fW)T~$uo+nL8|H09*KM_+SR3I{n(p2ow zJd(}O{v>pWOGwB)k&9*GgTnSrnp7Zlb?LHn>N)IkLBFmat60ghk`Rdir$|w(>J2dL`PZ6ix@0SCwh>cty9+{S3iV zik@gZzFtUR)*{b2#_$uw#GFs>8{%cAaD_HkD7#GENO0&BG(ibq_m1M>9r}L_k5c-X z45pgrkd5LK4nOO?o>Ee_r(k*b@{I?i*xqLPA5>i5RjG1W1A=sjC@I`Y4`@3oFo99R z)RdCbzy}0SsR4s1=L1?n4{BD#B@#iB8*75*l0H-ok{a-(zCp9}%>~MTs`)uiiS zZ41YQPIxCUoX$VrUQqwjg-G_Bm086T%dTlBPw>PBK0ZD)K1BX#4~ylzoKYSgTgC@q zW9FP0zu+#xax_NT6wy)=LC_i0=JII4|1|=a7Jr~RBI3PNj0Q?NFYHN?WLH|$&yP_p z$dBGg+4MbSscTiYZVAR81c?(E5fLTSUyP9}ovk_vh^r`CNwi!xwzj@?o&1iBxl$h0 zDl?idk%Jg$I!b^H30WrCH~;CUXgsHx(li0j3hi~DDFAgCB%|HHtQtCGvJB;qMqW8u zqqz^#$s{F>GH~v1A}8k4_ga(KS~~U5vl*?{gdeX$bAZ6qIM|J(9k+3`;dC9Vw#UEZ z&lsvlg)uKm19zRVl4otc|KxQS>MWu1d&iY4R^WkMi_R02(*%X)cc2(H3_vh4WH3`j zIO=(Pn@spbrcFPlcYAulz?Z>&xm+hgJ6Ae{T4L~!AbXYZ)J z?I9Rc>Vk#iG=BBM1p}DH)5#o>nWbKGY^Hm8sS8!AUfuN9O7!Ry>hD+jVEw8?aIe}7 zocHcT%HF+usjbR@`<2^Z=F<O$ehVdN;9`% zZlPVjC2Q3)nR{}~?ozawQIWddP5NJ25h-hk$|Y4B817yv{#O`Ed6fG@xhJZ9ot*!# z6%3wG1J?fo8P0oME;MNOs{d2fYA2U$(9{Hf^4S;MO00%>Yu!r3BITx7u6#59b4aVo!`uqDgiDTNL3g_9H+63^R*eL~?Dy6NM z1s~(42h;Xc71u?wARCOKq+J`CiPq~i9r@;2dG?0}evVF|H1S*zNB1n#&d763sRcrr zsL&0f%1{hWrm5xYIsW_6nDbAmHe^@iQ?dZ5SkdZh$(lDG_a`q1Y7aP_kz-Yz^_KA7gCP$Qs6^T4*x( z$RdPpnh3s)3k%<+%mvhenBsW1`R`ezW9+Ag43QBWXq%00CLaA_%?gZJ=IGV<#BrGQ(tlf>)ww1)|h9 z&}Ak&K@%VroAVxkdZTzCw63|v`H_gmP)cgm13!$s_1`u{qx0W(F zj7m?cOOzxD4_p~d2Tw$87DWfj4XaD}CFd_RazvGy?SF4#peju!yesDcGG$ZA-sRSk zUtkhSK^V!Dh+^0D_JKjofJ%CCCmx=iV=o932AwvFLPj*84l^RrsD}@0F51P&KtBKI%vyezA)HLt#_S~jS_E6tgcf4RI% z+4YC6)zC_uLDpQhAE-DpAP|!Gi=eU8oj##tcvuFnggf0vAZ{pt}7i z2PpeusB6kqtmw{ZfcMEl$|#uKzu(L2n^uy#;6LTaKt(hb(m*aoz#0-XXd=23ZPv() zKPnlY9dbJm-;dgancGg3G7W)YIdf>xDm81?41swY=J@&Wnl}gi%OQ?Q{SIok2KHmG9-bWVkaVxVI}Wx zTjj+qXp}S0TqymY4G?@(rH(Xc^G$Ha1$xCa(@62A)2V5|f!8Gticos3Md@eEh~Trc z1W2~U*Fuk|g@&)No8ua`o6P#W`71cm+1IDbfq0ROPq%vDKis-wIHDR>?c|+1yb@18 zYOae99}d~_pZmM4tlKC0QDFxY51Rk}-(Wp_aGMStb`aB1Hyk_rmj2ujer_Zj*47U5 ze&SY(h!L$z*$;G042W!+zaT5g#L2JfF2o$Nj04rqqA|Khh(=aGA9?x*lYkY|aPI&! zk#(MqDH+cNwif(kR=LT0iOM4?TUM>Q`+!^Ux^)I|h!Q<;^!VfA7e-Y3Bz+5#SN22= zLAt165=5|?q@+KSVE}PPHY!q75&S~w=9yJ8V={{&0h6=l!xr*f(GZvDq>U&?k3L7^ z6vmU$C+3)HISaRc1)3oQ73|Y(o+PoC?jNRhMEye2$!$P6l86>NaczWn z06M4>`8_l7Cb*2e2FX8rgy>OW3uK=#L4#NZlG|?X>HG9}DB7WF8^kO{Bf&m?W%XhB z!#)dL{@1Rs;|raYf@rgF z@81ZnyqHIj{rXP5u4`(opn^dPgQ2`!Zn?RTrM)vqXb8~FjT>@)ep{ZOjsnjm z??ifr=nkA{419~8gZBM+{J?yw6qBtqkkbE9O`T3)#BVDtvKPfI!7iE?$q-%`PY{^O z#16ZiuNGEWOx{pPaG4d7nIFDEaWMf51N>SajB)Z2gQgH*W!XZ7iz)Z8Fi z-8?FQ8$dd*h~hDYG69vuMxI*FI>tXqbuz&ri}XdFz;PKz_@Q5%KjWFxf%uTH+{no# z;D$uIP*FP`m|{_^06BBG+m+y(LB;DauA5kOoF}&y`q=Ov!;wBujV_aYE2{f9+EA9g zVs8KSt$6=h_A>eDg2xU|livWy$uUXfH&p}O*o%$5Z!M1W-)<_3gzFF+UA?pK+TO)m z@9LKMob&5%$>Edf?HQNK|LuGx4|#m(H&$JK`v30L{(s4H{x40KI#}q7b;}HK6ov6aSQIcw))?30wpYq^ zCy*rv-{t=eMTeIO_$F{7Lxu`*)df%-N! ze(7>3IfHxV#dA>Zi4jn8&Ye6inFZWw&))wQW^~Lbu(!4fuFa={4 zNb|+JRNGC6K`5Hg^%z!nMbmz#ekvU-vN^OCSBVsDDbsk1Vhq8pAOp)?pg?YJXIH0D zqjb+h{ekoNE(Q%SG7WJIwKq+6kkmdi`k=A=h@9ZT_n&ohm z2qY+xqr@D|VCW%p==fo9*5lIric(jOCx%N^K&6W0#=1?Lt>mF>nB7sRm-yUp+VX}) zJQulOeW3?j3vjRWzZ?ac|1k1_aK)}wgEvw3a!iynX%p3bFmW@TS_xE1{2WOw3jGz- z`L6g$0d1z&r8d}2ldh#Ilzwb#=nFrm;ZmGFa9{dXWsi# zs_G;&6SL%c%kYSd0;v|kWf|Mmu16t;KwHb{qg)VJ3w#{R@-hArCtwG{2)1)Y@fQUY zj+~!eia01W3a~*btXNSusr1K#FN6^Zy4FuxEC$djd=A~mSlT%14q=#(#G7B7**BF@ z9qt>E^T#sF&5}13hpMPyh^}jqbolM!rKv{u@MO?M;^LrHkbrX-A)&ME%15TSJMDx2 zGW`@?YgPWI^wv`A%}QU|&yWAhLP;d(1&n1skN@{QO%n7F@^&OBL0ntC2@BIDgQmzb z5r&~MzZlp;!=yr3Q5+=m4c})zvot^)kQ^lol|w89fLw@>fxBS1#^js2vBbng8dYLd zHH=nnP)>`7A}Z8D1VdxheCm@n+;41a%&8678&Jx?OT!JrnRFGyh}Yrx{d`@?jZnJ^ zcBKC>(ddT=8{RfIW(~O##p^XGzv7U|x583HGe+gA*nnA=AzJ8j%Yp$wh)k~&wSC79 z#Ro=X65^xSBA0NbQG-APZKy+c!6>YJi5<*8jlIU(?WwK-5z6VJwo!(m>)v}@V*Q@U55 zO{lK~A~A-39A!);?jS8-k6yj*t!{2S3Fmd^-n>~pm_D38Ub2II4`<9KV`9pYSTyOY1Yy(U1Oe%6^B&6w^*0$` zJCcTBHy#sOD?`@&)P~HgNi1T;lR$)|CcB9q28pYfCw=PiZEc6GSUqM@{%bQ7*iub?=5qQ+ z#5RI5p+`}hM+1Hs_F=oMDj&##>o+LjO(HgB2-ipt(mNqFI^Fy^9i)nVDiy7wCC6|x zYz^u0%i^sUD3bQjV9Cag+MbZ#1!!m1vxhM;4XGopzlU8FO~e@|5g0p$Kn)d70PKGfSc zLxa%9kyvFCuQUgT%PYK#$k*7;^USr5RNVqTWE?Q6pa*LW*^9-LWLY*~f-g~S;e~C% z?ReU9qM&gk3^D*3^kxD7O>q*8JH&qs1djX%Iib?(Loo7ZQ$Z)?H$=qeD9C^ZL#ACo z5;ERn+p-b_T2YxCO^k>B|Anjk5LFuOWeT(+5Re~;jo^FE8Qw%%W5uXabGa{zvCH3j(p^)vbs@6tA8_D%*i3R-%;I`cKI7M`nG=VOimT~5?kxR|OrAP#dJO9sFz9|atEC&)es!v8l3-opr{OnaVP}{;q(?Z`&@Y{Q_)a#)tF)s!pUsMd|~&^kIrlJ>s}9_ z%>sg_JwaRBscBVFpv66Ja!T26z8TALgLPxB_o(BOjGLu@rPI%Uf0i=!@}b|%CE=HedmDfUDzxspFlF4Wk^^LibASlyLRO;Mjp zz2{kQHcLHWu^23B@&pJKNi-m1kRNr&pqqf$P*FwFWd?fU?i&0gbb9K8n>n+l2``Aa0WM| z8o*qfVjOw?9(oW8p0Rc{)K^AFmkzz-8#AtM$Bwm06f@gd%sp2dq>SH1w?2kY3#GCg zq3R2=fxG+OcJ(*LjO!eB?>h^NLl17J1_gHwb?xSE40SK$S?U^KBgD`cv3b+V?*AK! z$n&UB+BA6nyK+2WO62d6yP-9;GhaPtQh*PZ+U>wMU-CPW)bML(RohT=tPp979U47B1U`cSQBF>GNcnndfTF6>-Fn>MbTI@{N7wOgjZkFPR1J zb}PC;_-wcnH5q#GWpqku03u=00^dcV*_N?4JR5Z(Yy5wIGG>KBF| zYC3q^X##KAvgQbcK+Q6eRJITkjjFHz@*S;Pz3%LL@)FNQ zTo)~RzrY~l4%f#ghH8i3XnK%Z?SEh8+%bPC_wNM&uAK2Om@iYY)=uUc(YR}cg7C`4 zB}!=v3c3nzw}9sI)tmMvEXtP}c@9-8wcvFS1gW_Ae+I1>p{q7yJ$Q&M80Ti9P=AcH zB!dAamiZ9J6-;RrpsT#BAq7?5wcD`<2pjupgE~o3;*`N?iQZcVg?A0TIIhL$mgdG^ zJ2zWuW~@f%DyfFDNOnlg3Z=Q+U3gXv@w|iRH%{o;D)dfweC)x-ULr#77M^e*XCDw2 zv2iiciRod^4)Y5k6;HXh2;gu`+L*&X;bh)7c})>(LKG)` z`}SI_mWsK4y|Zi8RbA`J*JBA@6Nz7j9_Zu=}XL9ZO^?sJOOK_M( zYteD&rNJ<22QM-p9!7oNujyxwYIjVbrp=hqIXuDm=8@ONn6D}-Hh63&Vc%oo1sVfY zduigDs$=LNy9u}JNLh+=ho<2mFElVmDXytLsEBqUXF_a+ry|7j2wo7)-IWC)AtMwh z;t4GlQ*G0M>zNUc1GkZ31G5IiN^yh&`@rzGwisVtmKhBiEJsqFjkwAlPDyve-Q9+x zOmjYF;>7&0SAAOB+t*{tfP+)>;)t@@53a?;JYQ0&qh*h#zT!jAMUa(Pr!aj z^pb(ReulsQQsy8zgA)B!>X;{iA}z}t=$z&?D*SqI@Om&DLB#6cI^U*HZRis1u){Ioa`rKU)f|w^uG|$+orco z6@m^m44gZ|+NO2v?fdU2@#D$0^I%9Q^N|o@QnoT?91bl#M})^uI{ME)HVqo2I(In8 zAAdm%1dnh*uM@FzDamL1_U(~pozdsBeq;Bic7SDU>X7qI!bqQ+WFK2zl=MTWbEtHB z?)>u2iq4Rqf#MJXv}eL|1G-=|LfKha-d3hN8v1QW?KW)cu^pdVJ6O29@p+ap=Vpx0 zg6$)Xg&Boj-CT_yiXt**RQd18tcXlwMw#!7!#X;-vb(t`$Jl*qpch>S@Z*sqN7jAQ z8>vx&k@Q=D=&1*UHQqfCnH;k0fQ+j>+{> zHiY>_uxtR9d%58>D@Vu0R2K7q+(p6(pk)Qz%C=UCGlrI1Y?j=IrR#vD@9krsK7AU1 zqYY}``VJ1;DGG>Tws?&|No)-?wvV&+3OsQJQ#o8v8Gby)2mq691f+sPWwb3=Yk+A$ zB#LHQHZ64&D?&JM6uR2XHsd)I+&7p?3KrHzDKHzsw*>NzpZ~MRSEE?0A83WHhg(R$ z5d%6GJR}pLy8O^ncg%)8rX{>=;168BY|5*=cCC|ZRi1J~EPK%jbmFA9H0Lf- z!X%}nEL*wq8)|>glji&s(#tgVn^I%NFU+JUayv+?JRRgxgeUM-Lxz~?A2(n4D!UH? zDiR+K1S9(+Hr;G(hS8jJW+vBX=FGphMVvqw6@X%VAg0ib6-iPFWt)Y=Nhi(NIxKsm9Zc1rMwSok7RK_x*{sm+52K zxE?jiE(-~|hDtGT$zyn2+h#D4_Q|Nlv!E-#3^M`v9ka}q+fagPT)F_HZ+XC*U`Q9g z30U0a%Nr`FCm{{slu9~u6FU*Rhq)H+gG2`02j#fqsCf){$n~M-&d$lX49o^~$tcSuew02v zFrZeB|Ce}9gl!J&x3VnaZ6@-FYQs|ed=X2~P9xg05{OsdYfjMQ$r)R=?VfyM zDDDWoDF(%x^F4(nNacwFV-(dN^*SB~ufTo~09K_Wq&W}<0thPa6BKD6slABl^mTRG zwyjBugKN}%Ad3*f^?tbwb^*N^`#*|lD0iqP{$Pl*cx^LMr{;e6u!pfOd960>3+7#& z<+^|P`j#ad@n@dX+*PjnrO@*k#Mr&WwuEzlC}Xo${gk|#Bw9q6Y#{M-lW9ATA(-x%mt=|C=1ce}r-gLiA+8|ZXA{Y6l$~fX)Pqi}Q69dNa=Y1e9y^Qx z=A>HT1p8ub`(>KS7(|Wb#o8<=)tt_2ClfYNLq>RK*X3kg0nDde*|K4`$N2HupvMUp z)(d9Wa>DIJ{LOn%So}Z1mheYAslk99=u;P=K%=U3awRv(NC2~o>|5 zXuxQ~4z<)?2CwvW{`>DYxR5K1A%g(4mp&G8UIR)Xu4hRQ8=gBjgZ?C6Qx5W^xe0)M zYFo)0M3#Q=GGex%MR}n@bupikjkydIDBV}AU2E*tyj6_~3^;FO1QycqWr=E?eFwdy zIerMkPgl4C2>{9AfH83=(Hp!a`2?xbfrHZ`>Gq z%d%+p1Ec>LjrpSqu#@Wj!^zDTnqKoa^cD z`Cl*6(s}^TV8CDlvCll-u6t=%%tuXV`3?^yW@$Bpp?}-9ZT>QcEV~*Nn1Gr_H$h>_ z(VmfA9)11|J|3QpFI1i$V^WmBsid=JM!_HGP^9ut~vi|nT4KFhdqc*tieLkkti2EM%)z(AYak%ELdh*6= zZD9K&!x+;E%Ka3^r{a*jq+Q_Z3rDPe1VpF=>soX|=mO+~L2|Bdo4hH%!HXxwStoqG zL~a}g=HRlfcP+zg{226}B2q~uW|b?4+}d>5w!Hj=h*CWMbMGfUbenCnu^h39YL9ld zxSnX-l7U^IqKoq~&s~KmtY0U2lXUfUgzS0W0}WrpB#7pGIE^2#$8K!jubo&*JSf!t z0CE$L8(98pWDytrE@ecyKl$`y$a!)?q^(#+3DT=mRAV{#mAlldPUxv`tcqHp6|9F{ zx@6GdPBV%k1(m~v^N(P7QK%{yQVNfuzfva4%VTJ!j#R4Pl#%=J5V9IE*5 z$Di({%_L+zXOM?B>Sf6HoeMlv#*ZBve5PrK4uvP0&ijH;X#(%v&*if%>n^yx%&b{F z4>|wkMrZHLbGed7Hf|ON(=_4XvHJ7|92ITTI&)@T(E9GoZ~8KGhsCd&-W?zRn=&2< z*4w)cgY|%Yu}(iO&5PqaOCZfyor8TwS1$0#&+ibZ>>z!{mTCAU*a-GNaKG5+JW)l(%BDd7eNI^uf))cPK9>v8)NB>FErcT&D zGV=WJ`-I_vZ-0p=AQnCUhZ0BCwn0c6Z{C=ad;I9pT}+1=y|ZqhG$ry~#l`MZ;A2k6 z3Jyxjkj?bH{Ns_6X0+o26BVvPG-~t?bYl;Hf=p?A)lnK4uC-74v#pVz?eHjC%V(Gd zV8NWnr`{Q5zU1p?3_BJK^?w1k+ z0`aE`Q|AZixq+ZoO05|TV*JHEJi(g{g6Cf%=Y567L5*`BdIT#%<5Sa_SAT!pCjms1 zuVjTP78Zq1X2h|Mn*V{6#{$l0chiw)y_*XaqGnL`Kz5ADQE&J-Xp?Vf0$E~M-N{ui znXvWpcw9%*q%)c4LkS&N-mhXvti%yOcCE#wEy_d2Z_;Mo$0k&6;~^0tx?cxG@#Td} zXm<yzu<>Oj0N4L$JZ-n za%54M>H39WUGQKVRPg7-IhxAeRmd2#0vBQH4Q&8EDWhbIqvL?ln{s~ZMa8nYqE*l4 zT`%&~QeRF1n40z{8ffn}d1RfGT9fWb+Qg<_bbY9rH8%{I&&hqZ&3Z&}n}y&a6+tUK z7n*=3)sLGcpZGvplXV3ln4N8Y+ipCCe*nci@OS}eg#Z9*SakAABm5H0*%Gu-+24ZV zTI?1sb8F<>{z!3JFeE}n(-nmewYH8VgQa#%w}?Jw?Wj*kS-LGVeUs3Pjizh?opJp!7u+EK{XOTJj7q{=J_l_lJ=)P0p+c7PD4w-e zSh*l=!Wcw&Fbv!{YH9IbU^d$GMel;6d|jg5E+oZT)5ulKAy`YwD|Il(gCZBrUp?o1 z;7>*%Uh!R3xe}%~Vk1Ee(Gm`ly1Py_%UG!|@egG%=UWM;`@_`LcplXJ_jkG(a1O43gi?}fzIMF%aw7{i+LQaF z7#G@uXef2#%;K8#0-Y&QT#GPieCwY`C1yRMSkss@i&M_I#erp)TtsEgj~aB+>-XO^ zp-E)rULUy9sk46L0rE-7vo>KUGLEe1j&u z5PO4tTGU{zL_3RpWHVkW3}QQY9Lm+|bdOZuNyJD}r)Yc{WBo=MeiHShT<2$EO;Da! zza{nOR*T>`)MuT`O{5Dq7cz^=K%>w647m&e4A56CL7R$PX))P`N>lb&1RjR3{oq^V zG#DMNQ6TI+w9}N%Sf)=PtH~J|u^iB8vu2I|I)@Kf!LFtYgb+UGDENg*4^`}fW^0s; zmUrEglFcYJE7Ipx{sIRC%NBs}qOi(eXM_4@hm1kY0+DQ_u=K1gj)E#62NoT|WC`Og z!2L$s9)qeP{#(LXZ@1&^9-9Kn4X$=UTG0yH6ks!uEIk|U(&#AP@8SwZRpCV3qz_>E zWepe!sa*MmGk9^J5jnlLZ2mmEXHUPOfm1v^*Ye!5W+t5kE#_Nm=~}LRKyL|(Xhd5* z=c;!*5YMDyUvvrzk8<&5pn4I^lH6R(SId8aMzMo^m1uk$Y+3HhAE|?dEq{XUxf}0D z6zr$5BMvwL5aGMXvu7mSz>#LrwQJR7;2{TYUMKP&SeW}cFYgFFF4tHIn_lV_nM%io zISY==WrQH77}i8El*(tEbA1ca7y8M3BD&gdn~gm>7!f~Kb%MTmj>-qRPR%wQ4W)pL zGC0aM8&^On9-scADnD;0HqKOl+~8-3i##DKi4c90NnF8Z*Fql z+D=bi`e^y12M+{duc_Uk=NICK4`6UUQagQKJ16Kh9Dmin*Wu6E=MRP-% zg?Z8l7*UPJLaZhAK6wW}F}aq~zKm`WaDVp?qYyf39*UZ2g^d5u7f8v2DoPWADxeT4 zD^h@Al}80cxW3HThbYD11s`j|B+5^^TD3h7ZY8j23;Z4hXCI<92a4aQ@q2X9gBj(3 z!5q#yYCbM(s&vh=n7n`fSp zK`O+BwvKZ?k{g@W7kX{}Y}U14W#oRf{?(t)3h--!Z!8})SjiaNx%!OWbTyi#7CFo; zF4;_ySacb?5;B^buO{QB+B^d5{<`sqcu7%MK)S8fc82QpJLD!lD)4x-an^25uArLo z{?-5qFPa8bY!$TNq(1BM=D@3b z^kc}vv`n4K2@0%&zBYCT@&n{L*<%GGa)B5m-wIj?!%o7srfqigy~>Z2R+ez>PS%zO z6W)WG)HTra>(5gv=t=YZvH)$tE#9&82? z)hsK8v{d^9foM1~D6QlCG;Z=m3O2n`GCRn4*2OZG+FnZbS7D*&Lj3^R7))qPow!&g zbIF;R&Foj59mkrmh-wze^`nQo`deRc?YusL5Qm04)jpOT78Ga~S^oWpb(C@Ti|B8q za2q)Afqe${%Np-8o;WtYAp7ckj7Xa88Te?F-4TKy0tN!~9?%l0aB<4uV8|U9{+l~% z{t;-2Zi|~-mp*~?No628A!};o=_d^zC&g#`?#6!9bfy4a`rrUtcNjk-#`UEyg$E)0 z(wXf4Y5k2u@v^I<|CgMQKpg8-Xb$Kgl{7@in}AvLlO8DHDqC9>MJ?EUFU>%fNuSN* zbPtLunnTCUPQJYU&o1(-u!kAjA^`rlWF5p8>_>37t8xGPNs&dLG_4O6+X-@wD0rTrx!vy%9wdJRt3j{7kg(*xt^VEWpAGoFiRUP zm_1up=iK0!eoOEsxk}+(@Z@E|fPZJ?SmJa8A}QDC|XY) z0s`2X#{s@}z44DL@t3f+e!0i-=7+2-9q^gy_c5I-i<0mXlrc1&HF~hnJNt^(u?wb- z;uHNE-CVP{=@MVy9;7TzC}!`)_b^K67oa*g3I$W!qQ>I%zn4E0iFLT zEiA6U_Qn)<u(Wa%7`^1Gu|<{REtoh?(%@VrNR;y$o7R@_ALgxzkqf>sPKUquMy&wGQD^tDjp3^lmYD z4M1O~$X1z!5kV)k|lMQ^Kemm;HX+-MTF?=o*VaVk{oZ%u zJ_OF{|DK-Jm@B**+Y%X^cpj(tkx6)0|9EI5+VfeB{^l3NmVxX_UY!e&?-JJ6f)`+O zu~>&4_4pv<1arDss~d)s#3}G3WP9_b4}NO%(TrFn4yL)Wrq*Rrfsd_5Kl>--vF3gu zcFgX!{_6=B4^Qb}Hos}!0(iawZ>+O#Yt;u2`FxIr@2kLZLIM;Y@XcUm{JkV* z&&29G2FB9Nrae8=T8;&H^Ss-IFwlFfASuQ}vo)@ah1XZqJ<(nD`M4I%F*IvkROS|y zpPY@T&r`_g@1E;ZR^+Re700Ed+|(Wkp|c*f8&j|)fg*dmI;|zis|=Yw2vtBk-s0A zc+W=aL+ZWyUpSm~mSxKa`xLdM7sQD0ljH1#h{fMou@AxfkkASeuqLT!WcRaUx1^Kr zN#B;!vEA9rTA1&bT)dFVUmm#Kljelz;}g1f1LKO>&onSYxKJs9%*@8YVfY5GFOXUo z0w;~N^WK>DNITTVgEj{UUA->2dJA79d%iwbkjP!bu$zK(Jcy{MwY~kS6mtN1jws1d zNB#-0bgotEZ=*+Fq?{q|Qkc51-WKcDpE(}G6}Q~>A&h4;`zrV}M$N|IH$jPcn|-@q zN&7BtIKCv&+9E3Xc&L3YvYKh{UiSFM^Vuy)(Xh^ivD(lD(L+V1)MH%V_OirxW;H|He4jb5TjVFFc9I`4knoAmdMCYz&o*z7s}A zf1*qxhBUbN9f5P7@sI^8oGS`FrSK)wmy%74!|Z3Q6rkET1wn_P%L+{p*^;q<%gj9? zH#%Q(@KAjFRWb%S+{IBAx+ut7tnwlt3br3L2juY=wq zut+L04o?dZFh-NNq)uguP6R*w8b$w$loThDvJ9BXEFq8;o(l#ww-T)G>$4A_S$qp3 zv|e^anlob=*jn0N&An43Zw-tcbkHoa0jwUh7QtZpA1AB#!NC^^3})-EzMV#bS|46cizXE z)?zpX58%G6F?!e))#ZsxmQr2^ABWe;_C19>QG8;H}{8 zLfDfRpq=xr#-Ey%@jYtP-C)9MTj{N+XxO%rJ^8y(3O9R(oeVVUf|IBtE+abO6VdT> z{r&fkjT?`I=LT3Ua&`-*5a^A!47kLxu~#dq3nY&QJv>aFkii6XXpdW0hFzV|vZt9_ ziT#P+b>4@n*>HgjSigqP`o3YI3@j>Rz>ypS;1xK)L6vGvPnk9tp-z$G#u)xW195gz zdQh!t=0KP<7W;rs%y`L*5nZi#3kYtx>1cEdQ&_%U7OkCz@4?ggmJra0ouj#J6tKbw z_-hiKB2fc+(Vhz+wUSP*XvB9B9p)oA(Y2H8SE_4Fm0*;_Y>+VthK3`2Z(*|^Kicq$ z2@pxBa%sJRop5KVNl^$-kCQhN>>wJczkZxVfvx@n}iB+Ox>Wc5f1(0jcuJ@R4PtPF)K36ASF4 zZP-*B#)!%HiIp^RQldTjXUaDh5HD-^8sPH$+z=;ShtCXaI*dP9!j_DFo$Oi-lxq*zqhDZP zpg zVBD&m+Ina0+(7Yv<-vo2h*f<{*y;;vCyzm3S2ZVB5P`k6+|ZunhpH6TDJZ^r4j#O< zgf02k6+=fp1C)q(>_&?Kiw?jT^+VWwWbWaJY*TGiYRqrbPo=Hhsa3+-6^E*L4<~O3 zOYDCIGv5T?WV=Y0D~0!8ey5frxmI;TPt%joSB<(K<+UqQY_1gh`xy`&%IMGvw&v~C z!$3wffL3u6ZXvd`Ka-k3?7nFIv0d-(-Cg2d_!wi)HC@;X)|>9W?#O=0jz2bP)DxM_ z+_xRHwV~YYm0PSOn~$iJA#W7sn>UqwQ7Ro{D9zn6#izQB+ zxI-1Gpu<1M5TP^#6Z5G(7%ZXQOa)jtYb^SVhr1uWhctYE@)Mv~7_4{4Q{iqKgVlqS$i=aG_jjvB#mZ@l5$J z8GiBHxpPmhB_FEa=gG*5DyVOrqKlnL83v;MX`y>Vj|&P+Yr zTH*BQ3A1L_p2$NbOc6*Nsb$bxmXetB0caJsC26A9IPXVKt!EddlalCF;-{dn#%*aA zCPr}W`yZ!$n5$<>fFeYOP=BZrqANXyHN}Zw@a^(&Bw*KaIu+sYXGM#@f}EKd=Zp4p^SFe^?#BKiT>WvNq-|n1G?q=R~=+JHE3Btz~7I;gl zjG$g!3e3abQ=e`lY0;jc^tzil^lR5!LHUBg6>7Jhc5WeX83$HGg|B9soHuw3i`x&~ zj+q%}adP&OvIJSdubA!|+e(wJRG)HLW58aE3t)(O$kX9piH!U47X?45)nTqbC6uZ2 zbE8Ti_cBdbyl;4i2$D@sDHc?OS86Lqw%-fS=-*dvm3b zJ;}8mQ*6ee237e$dcx*H=q4EX7@&2Dyr93dXppfkIrz!CiXvb>emxiNHPm={Pd-{c zO3{GkV@vbe5zvFtD&+C+LJ;}Q2fSp8fc_&7OG?es0=IGaDl@ew=$O`rOKDTTzEjf) zGx9*hj zex2zIl+k9nQl!0W5;^VpAH2hm^E}0YwH>_Ic?2RJ(K6KmW%5tY&p#Go>o+6kRiFAK z6%asI3a3pRjt}jdwrMjMR*uO%S76v(IDR^Vq+jO_Y~orvo?Hdq(VyaMcf~rn5TnRb z`{%>w#V>v}BaSwz@pbw#98%IkL;-5Mj+fn1ELhmfPe81r}O#H z!K;jC>;elGgVbisVqXTqZxdCYEd~0d;iR418=c%K>HFz}8Lq?E$IqhI9Pobbf}nSe z{6Z*|8pAmcL=|>_Jb&jped8u@$X9I_0(-Cz_>jZn^FJ<$Dwq9FrOLBukjmZeRl~aP z-XT>wYmC|uU@U0GO5`Yb%o_MRG9K%E`Z2%JvOr? zp>15o6ZeG3fefR3kR$zxW+#G!pLyjTKYlzm=QJo&`ZLZ};msE0$iY)8PNk<}h-(6N znhet=(Mf9MNO}b8jQTze2jfeBMt%_j77pGSpLWAQ?9K7F$}L3nmT=XCg;o=SruIOV zb)(7;-tE>6A#<>_wnR~Qv-X{+c7q!>b9mziv0vm6E0N&d_mLkX$Fs#EJ5G1G6CQFr z7LSGNRt!2owrE1iMzyIaXZb($?Ab5yPSIv6a&(yY&mS`I#$L}no%+$oXwNLa%pNG~ zI@ZV@7>Lss*2;1O^ZYep$M)@c7}_=*cyMbm_M`Y@~Eeu%stoT+MFurIND(n9JhFN9LQ6g($|E)@1DU z4+05!UUY+)Yl>?$m*}Q592fNU3t6{*{bHzKLY@|j%B#%tiuR(a*TClcufj#nJK9|# z;Amil$0b=6IPFFl-oypDBP86Vca)_hgFM92*kv|u5l|23*Qfj=nR9NqS@N6l4AC5K zRS?T{1%_PCW<_V(Iq9Xbl2WljDS}{bi9@;c@G8&Xy8yax0zL-SG|8t}RA&c*y+0OU zJen|&W1Sya``<}Odt{D8H%m9_#AO%o3#G5Ekz5)b!dahFzxDe--!;pB@*;pA`$ZS`C<6r<&Ml*<>3Rn_ z1OUBh=>W&$6u5@mcZf9DhEnVP37*RfA}$hlgVUU+qQv8C2Cyc5TMfod_80!fomK}S zhLc9Sq{ISWt+Qp?$2IwQP z?T|96@gUJm!NLGqRYd~ty#y93odk&J4&N#%1cgY)jah*0i~+rKSa$O0QKGbo_oHUB zfnSt&34q6GN2&NF90_b!_a8H#0nAyn`}R?eG!Tev3SNDJkDr0PQ0tEcND%YFPVRuh zBFU{=*|qF0wu*s&77JXw;Iyie~)}zblBY600|)w z7rRfJ91XdrQCbQ#bg1U%+?)Z{fo>@N{7MGEZbQ0d}PR@P1J)N2?gj<6JUjIIKAzWkNW#bEhiJUod zF%T>0oMp#+AcH!-C%G1~<=3z_?XeULItKo9!0P}A$$|cR3m=hQHQI7Nf$bsb=W-+a zH%k97m#N=_=hyi8A&Qm}#D`t~hF8ggx}oV@6!zoX84DQ1RAmEKb0D@NMxC_fIkiCg zmjcL)89%!q#5j*yL=^t@a3>&H3dYEXPt;oOtyJaewHYYqWTB?E-aL+btw>0liPWDxr8ftST(B%GENtjE;RzWj zoj-pY*Q+GHAzD5KS?~&wUfF|BbAEm57I0`xE970T+(|f``SwWw!=BT5z~J`4SK_Bc zV3GX$!x0npWB3v32aMwOuYCd+FY3^*zE#w) z!!&K6k1i#$TO)}Mh$r)b)RC#t0Yh_wupLW+i!n@eM7kS`UV_a(wu zv}ZK(*$(9<^Dn5j09anmxpc_3Jbk2y#%I;f59~!X^6tI;T1HQ)c;pjoVp=*2zGq)y z?7e&U;>Qw-)Jc%LgUlb&lap|ATHb42qe9%OkJuber#goBblFmfZ=aga%vLPel6(Ma zgn}X&3@JT(VTZcs@*E?c*2Zz}U-nr+Y3u>}#tJ7GG^?_?`KKFy5A)ohQ8svm>9nMX zJQg!?NR1)EBr|>6Ni;|C6r!T-1Zxb)RBSp6m_aA*%FY~AxEDbA&~|IMhIiN;y!CwH z$6@@9MM$$TYjARv+8Agj1r7`}Cjh)P#J0SKPkY;_W9BGnMYMGG()j|MQi^FICK_nQ zl79_)S-@}l~k+xJ;P6bM(N+Vn?K{PF_?NpkWvR)Za0Z-jh^4>jWiH+Kx90$qH1 z)x}{W#D)UVrBVdQ<_N|@*F^!GK*z47Q7G256CFV|zNFW9qxn2!*;5g7Qv*HEk0wKL zpClrF@bs6sdAIAsLiyb<4obeh7cO1u%=wwv(p>l|PjL=b>QdW~DI}oIF zOxcYM zhlzT4H88$>Sr!KLC=9)hb9a}#@Z`dx@z{>Yu~5s_`FBFbn-HweZd^M zohW9QAf}f+T0IVcMDr9o`i8mrc--2q9R~yuEkx$(#6Pg4jhEEPYC&a$m+6Y9)3?#H5R}Kmu%b(p`_(CY=EhaBe1ajDU`=7Iv1%3q*qXC zEqb4y86pu_|IEkO0kc0kUJzX;P%8F2)NkMZ2V`M%PIods=&A5oV~_eNzl3td7fNqLU0ti6&1CxfWD}}?3z(g{KSk;$2^+y6k#=fAQ^gN=hx8QtK^GFWaA3qNCxsh7?9>@^bx(uxyKVTIR++*HDUG_O-7@sm;cX)dLR< znC#-y;lbh%Tguw1PSCGAZF>f78%TohSn}GGH^6sKJxce7C9FsDL+$7a13?YF3}y1=y~n{DE=HD=7yCH=vn1LQC&D2nnv6U@9QB$DI0kQWC*9;=oMYGF{Cl`U4ZBV?TTSv$e*JnM#8wwH{EO}~ za3_M@}hOZ(C{KWRxNf4ato z;3Q9*)~ol+#Dv2;?qa7gp2EB*h?GBZcsxJC4`+7Zn+-S^>W2v&)B=br&z_B}$#C@; zPtS0QH;g4_x+2v-T)TgGLgPiJ|3gXU$2QOwfHFuSjWGh!W6HaQ@HGyH zsw7%3T)0pcMZooHDR}yoF3_wGX1N31WBLsfBu&jh8!y~j|1gq*Flpj9{@f|B^lD5$ z%k-MZWkJw%=LbTym_xNmQ9?@gD zP{jvZV;?=*1|@i$uz{f9G6jXK1`u{k@|we>s#a|f{%CV`-tvDVba9dO-N+9@LdQ!axnxJ7&sPeq$`e1&L}k$ z(xgu~y}WXjD&v<Mt!3k>r z=VeBMY83B!IvWr03JK`rezul(yD4J{p!K^q8+c3w%J=hdS)nUKJLo3FQ-O@0E`H$| zj=^rm$SQC531Iq|nE=29@cm?QPyqo>8+@xp@*7%k) zfMhDsY;yvEX>2w&jH^1Nb3v7MJ1R2!L4831_*c7>p&V?1y;O;Nka&?+x*v)1(W0by zlS(81;nxGiA9sj_#g2j`Pg#QU#b~JcPe0$2Tlr8V`gDIcek`anpH6BaPT_K%CixP6 ztuoaL9?#vm8&L3TO7=ppW|rLc%f+B-5^_arDEU@pv+PUp2Z!{Zk{raOE7{`h+qZGQ zoup2rl5vI=gJ9yQ_4%Vg(Yg>@a)^X#noB`j3^s6}U8hGGby&8I(4EXL*%Z7z-3^8b z-AFpJY-;@DNa}wEBYft~ZN&#^wz;@M?1kNh{h-5U&3e7Pb}ufYADqHU|6fO}D zqwEXDvqHIVGz9?o#kDKeUj%b*tziF@x4BQ&HIg@Ja}zb=bAqPMBs-+F`;Y!`Kf~iZ zYZdlXFI8&SZfa7c5o&48m(!i&0CkCb3-N0>0=?$o;9!f75oL{O(8ubQXgNgPsKn-d zAEoU}oR`@_<)tVlcKnEo0D7gGAG#nC23s;VLJ4hwiRS#J0^!{EqdWsEFZb=Ydw`y$ zTqAdkZE3D;>6%FZc?i9iCeILq{K-p~?uXCTz;L%iQ;k|^m6CFWx?6`1#)$RktEs7u zvcxSZZNdvKcB!C_|D|J8M^#6A;bPHdDo2#WR$51?&$ceu;&83e1#J)si#bTdR`?kp zrKkhrDB&pUHGn+IH{lQHL@Gy3`e{u93T2IBXh3K7Y!8G2G~KBIh2W`Z2kx4`{1NU> zmXs2+(G*GMPc0zbDRTw#1mI^$#mhhgH1hrYTda4wCfNwC&|;f43WnZ=I)l)%9KetB zs{sh20s^{g+y}Yf%A<-1W9xT`S33kxZ;i{)gS`^bQS8iD~ewM8s8uT2Ahl^|}`PCZ-fZbRyZnOhe-jbHa3s zC^jOJ>X1ISwFL}ddk)KGHNHc*tb-bdx5ro-8*ovuPNTG!P{qKeEiEx+q$V0vzk?;{ zkpb@$4a@LXxTi4rT?wK9?{J}7Ycuqp-(tvE5~)d2#S{pLvZ)L(U@20@RAvlfQH9D3 zjwi3q&UpDUfi55lIxruRg6L6j^>MsUbki!Q$rkdmG8z8y0fCaPe zM(%wmx+0KO(PX+45?FXs!$8-@q!RCTG_a=j(s8m(nA<$;Hj>VflbDp2^rwMtf!-aj z=PpF`G^|-k0ia|Y09529T>||fYpPVM_Tk2pm!b=x6*M>p{GOCnp{xPgM{|JbomMc5 z?Xs2`^2K*1u!|Je5)+3vzf|0J+~(Bj(=dAyPE(P}tc(+gDlM9`D<5CF35gG=?t5C) z=u5Y|jGz}@Zoke~cC==tDPUGXR+II-pyNoDS_-I@Rx}t2f0U`s7Z&8D)|SO09$tg~ z$S-a4nl~+x23c!=t9TYQt=twxRbI_|XuY6Ko30Qs1YnQ@Ci%QaWr}1!ez!w|24y-G zMv}N_O6wq?2iisC5v8S)sM(Nyq@R!IaeUwb2F@!1mXl1G#WlS^Z$$xc%qz98WYWAj zdaJ#JEy=>*`bg(LXew47Qq!r-n9K)aTP$E8a(u|8yKUu+0L3ZAh7Dn1hzoz;(bo~Hb49XU;#fW zn=xgIAUug)YeX0k$8K)4K^jlgbNhQtW7yXK>gD>`V;*~<;N_`4xX>@40foI-;djNj zY;Es$S;NWE21!~J)$o{P1>rQDSAd09(oo@_;xhRW*Xah{I5&vifQsXIX3C(Hv6Ydf za21fvxkFa~sp_IJqr;ynscmPyceK-XRheyZRp2``bxT2?gOy@`t@wO!a0MIfRQ~e! z=@8Ewi{{O8iFguF8RT@FLuHs{i=rw0tJW_!&EMrE-@e_4m=EEo$NqN-S>S=+AL(G% zgBFFlSI^;BX%+}) z2j{L?m555!_{>(8i6f8r7#E7`q9TyD3z_3duQ`^u2M+w4YTk(RT;!g+dZgF%=@$X4 z7OcyPtm?G>Rl1KWgUxX6&+)vAI|yu0n>O9Q&We*mG3w!lZ0)_*|6_as^~Zl)i0ASi2$H;QC`K>SsF zA>qOVK{;I^z99ifLe7f8x56aQr}LKBCr=8T8_Z2!`;<|56w=^z9~k~kYPP`L$EIzW z3C#bXH;jyMLsz}jJEsSq=Zny9EV@O@s`+B{e%j5BQKAx<#&qZL%x;_EUGlKDTjUvE?#1fTJ?b7$^ zhmLG4rBh)Y&@oL@PlP+T~VYTW%p61cGT906^tU?2BsY~(PNb^yO?=`uJ&4BT)MkN5hGsi7f|kg6nz0Wole%K@r>{2+ARM`l z#1#nhFk*YIGqolYFAf2tLH^{JD0=Wgmrb!Id*N(1y&AFtQwHLf%rU5IrpHhwi-J)! zpqw)Bbh_RA&rj)dw(_x_Ayv8RX^%faHmGbRMqh1xT`#1lYq2#~tG9E@KXOyEDwisu z$Vh#6(DCS~LiD2Oa``@sPW+kid5s1p3Q(PC*%t>AT8Q$w5-2IotaFe`_;_7ft(v7J2yox?fAyp~s!^%=PhkF!jWmws^Ga6%-j8*FYqFDbRA@n~Z0_ zbCCW3J?5`3*;Ga-q1T}=)$~)&Z%rEi>_7eQZ%rDZdc06^CLAkL$G3}bP=rg$iWVc= zQsm?4v2H4ew14p8j z=@e2$=ErFhv8beN680f33pxFis*I8;yx`(cuuAw?v7aR8-l#hmF-?6q=U3{rYJkw5 zRIhzmi%o*;%qitd1rr7wn*)C{0(fRh-|tuC&o4h~^9W;X1`{=dIdfC9x_-EvrQtrJ$LGq zDKhQ^rc5M@A$(~o2w!+UDYUvfzy&~?`6R6Q0Kh|;Bo@laYmDQ%7`X8oBc~9em2u&& z(6pI&DwLhT*)aH?_q)&O|Fh7ZHj%v^jIH$Z+2ugpC)G)kNIsSPFRz_W8s4PKf_ zM=H<&s7+Oj20N+wpXqi;MMJ)@S#w(^A+K6NyPNjdF%~Txk+@_g$6;9Xkwg{rQmXIa z3`x$zDe$yTiWHzlzn|_y$tI$#nEAvC7K|XnLV+tVkT_gb#axm<*z2b~K-jqSHOV{Z zORrDe%n50P4eh6S=ZUs2DFtC#REJo7{P7HoB|`93zWq7)<7?Hd+4;rK#tm0n!|)oL zQfM+4Yg+NAP6)xOK@6st4ictRC;(`(GkCbU+y3j{ESu2Pp(H_(2?DPsh$)Zf`07H{ zN~bHXgFv;1GK0M$4lym#26B>j(C?g!_D>~Fki1a|h0!LWq$xw;Ih^TuAo*N9eK+8$ zD`P%fzNpO^_?M3mhgRx#lo1{F-w|DkD)u_10ea=Uc+?H21>`;ex95`nL6fB#d}G@= z22{xYZy){_#GwHx#(wsT0lDXs@h*dfe z0MNEUz#6vn=tB2~uva=@PI)wAL7Ihuq(T2(nGFt!pfclNf47V*nf|+f4*jDHje#(e@t(Nkvv7msKTkI`NqY zD|G4|KT1+y8vX${9TXhhO9g^~Rt(YGb)>}Ix>%otT+M}| z(4Et>mOx1h2?i*s+akXJ(*3P7vu7A|A}GO`#=nAZt~NV;I(f>&1H%Bi*Masg#DZu> ziYH4v(FonS=oim{sCLr(7(~TV>>SD=-AOnSwQ4w#`~(qF*ppMx2;m7fNQ~xOeoXHUcHKvdr(VjK3!gQnxdf^k+mMxBg&=p1r9sGm!$*%hSAx8o0G*KOlh^c zbqjF&xyg)S5E(+=o^UU*cte+QG9!aUdB#b+y{~_=Roa8B)0>)4xCTy~T74u+14^bi zMqBBN<)XxqKhL0oy@;-BC!V^8lOOR!`Evcac7}0I0gO@b^))`jD5)4D7tjth4;jO8 zdSnb#vH~uyGz{GFz81gXj;A|EEwMK+^wi{t7@HHnao)z=@_Q8Qj`haOyO}}dNwHeT z=Jqi12|@&&4&+&NfBjo@>wQw9)NRe1|DbMP`g&lSE3~YX^N68xopC5)OZ2Du#q;1M zHapr5hK58V?i7cf)Na~uD4`r0ZT8X3FlfCR;36(PKSdhcPbF^f@mbtsk24>g2GSrE z_hyDnwRri6tpFei0@G-+MVV8d8O9))5WJ5BhVatt{PnpT(c#`{%phJFm~}pt6;WeG zV!W)A&ilqW?h-cPoq_W?e7&FF!Z8(UDV?x-`vvdyR=%OV`TqF@9 zwy2DF5=x(;!Y;@TL?^?vygE1YRA3YSIagBY_K7!V<&c{BCf_=K9@P6fu1 zj7OvAQKTYjsBZ?cTtv9lFihsBd#c&67fvD4#bFrDorcWVgC>=$U(l0N-0Z>iOpl4n zzXrIVI&*P*a&a}^N0}83jCz7w0R*NQXX=4-;4`B~C$=^}1z^4eT(==Ulym?cIJw~BI-fxA zjUmy*Zj=0^6}L#~*0rl}Y~U~*8J@|VNZA_7N|<74$Gv1$2bagpp)!8oU>EQ4t7Emo z-_6HXBA;=bw^2r6jFP@!*iPb*cF;t&wk?n^-!|$f8C6h$O#$yn?^BGc_T-OBH|>_V zT_&!SiuEz_;@4q1lz&xG<4!u|$TOqy+sOPS{1dkzfpR+JR2JpKHNM5|dqn(S+}uvC zhSCK=uxBk)*wIW*)c5WN^<>qx_4PFTZ*8Q`)iwDwbbR zd&7_Nmez4S>k?3Ber|(<52qJpddUPn!fOoF;sX|dJ$5}z4Xy#dtphQpb>!cfRPuoQ zcQU6wZNaiYbP~T}@UgYrQgDO1sB-#31|M`dvkz#!H?OZ3V8af>FGGiJ7Ax!Ry`As6 zKLBgZJ7u1poZJDs-4R>e-aI)o#E!`>{^?e>TCyQ zU-7$g-1?kvRgYBsD{aY|(dl3>YXKR8Z;o%;uwgH=lDOxH#gOk`M#S_19GAo=jywtm zyQ^f)qd5x=4^M_uhs&#O8+RZLy=>dGEW=s^Xx%&=f~&Jl#LjbP>wRJ4DInknKAZ}i zNHaAqq<@u5eSwgA?}_*t_?>^eS#BT2gD76tv*})Bq_d3@(8xBF9TI4ogeL*h2hrc# z!E(^C%^CH=^YPuh|1)2?s$l;`A$6GQ(B$Hb?u%id_d3tcmvS5kuPAu*%(p?jy#3}k zmXxkJXcLC1f4VgQcSUloF@>im+ukJqJ9C1ykTuY1Jb6B0gjV?Gt}K($_8ECe`FJK} zc3vL?xeNOhwh;9*js#00DEo3cU$whAzcpDWn7ZWb9T_>l{qHVfn(Xg?n$0Yj{_TH$ zYZ6uGbl3`dIlmQJ@qhm9f4lMjXN~#)!i!$C;erN>|9y=qzpUwM+ToD@KQGpy2EqVdKm<|UHAGTsko1jci5w^|ORF!@ zv4MCOL(v4>M+w0zs7sle*Ap^my_Mq%xH_uQ&UB6pLdj0~{d?ifl7RA+D)l8B1cW6s zacRnFE>kTR_`Ygt8m&(Jji_v*m6mIX6yxjmPevBnh}5?eS1an4o3yRGXlWyOrgF?s z4GVD~N)!Mb17>s0R`C)IU^S|SG*Urzh<}1PEd&FGHC{hCQ;s)Jr&6QERvl`GZrQC^ z(;w}(-lGOaOzX9>?bk(AAmSyMKFb>Hhh@9D@M!fAyk0Y7i&Ct)9@;E~e{rKOpMQVGpm zkcFgQrpvu_Fd&#|$#)A; z1aqs(u>XorR?uvD23;sl3_Jq(&nbOPn5p>aM|OLnd8VPnd1*)ZHaj^;ns4M2Hj7P6 zOdIUiVWQ(Z<|%q{!RRyvL?9`ziH8=#Rvd(E`H<+)NASUm{_y1GY^I(t$1%=e3&o?I zFXy77ig^NrNMuKO&ahhs>H+a)1Q+cXp%gbj?aD`f4$Z2r58xj|s}U5qV?pMyNW!f_ z6&Zb=mX@(ri@F)@^8OVkgP?Y020>8cnmt42W*CZR9v>iecnA7y5#Rz@02Jg6=1Ja~ z1cF9UP1EPZ>o7;~Mhs)& z$zAJ9htMLm;@77Z!<1aUxUR1Gw*8_FodG`p?in|^JvbuKhnWzFy156gJ)w4JR^|HD zt7gN|3eX#*B88>O8Ot)I2rjGV9{byC)~tcBDnKBtibJrQbs@Wng{Dqiy>9(_|H6M4 zFI~C|AKRVWkZ)V)@C|=09{bjFya5k&oCJ_D|J6L%fmsqzBJ9!BWPh3~F+9b*AWd)( zp5|(tYsz}UE3un1zZN|47JT+Zi&t%r96$c+kddZ@EtLApBj|8B)G#-0 zygotFzviLt!|=~)Z-0}gXEp}ob&$6g03Koi=?~=?ZqPF(I<%sL6=@hbgP_XpMLYXl zEDRoWYRYcweKQ&Dp=y2gjjn0`;xX`C?~f&Yf%h@PAb8ByDQy|_ChYWPS^)4ZR9@7` z09cx(6Z!YB)9ZQhDFC!KQzKB7$BsQQe<;CIw!fV459nf^5tL;)!}ee4R2ntvJvYoC zSb5VM5Zar}sGtq0jg(tlCq0MuTM=5trpiNGcK_hb5|5zQ0n4+U+e^kEyhUUb5PVvX zRkUQuOB~HREgwF56wUSHFRy^=YDAD1qeCaV;j?pQ$}osyHjveQh&tOEI5bM*T*Bbq zX{*p#&hgemS1EMKW@qgJ1V$I!+y#b{m=Dvz!ZCmN?F3euQdXif7WTOqApk9JR*yu1gC3<^2x)(*dJoTtRZPMdxFUs7Ekoc`fq~2g)-)>~=W+Ysuy3c*A}kmsk2ua;z#7;azuLIc4KTRy@B==b zN;;?bZm%L*_zfrEqs_U zB%n~<`K!@|5Y!RJ56S#ClXCFygHU9B;XBunj_SZZ%O@mtbGKQuf>@!+Dv@1OUi%WI zCt*@x-=oWyFV{u7)7vrm)2zS@OmtDv4B!sj{)EV430iEu7?NP?gl=|rz0n=txd)a0 z>hKiIE$V8-nYOf)?Jz$iyFmH-T)upo{UpT0kwNPlQ#VsnCIHyKnwc47N&Vsa_{_S0 z_00UkgzzqlJStbI(vCT)S#L9&Vc3@+%`LR|`%`IMV0PD0%$fW^G?V6$d38M5U1Lam zDsj+S03RWD6G2%IuGq1)8;RuEv+ZYrmsm+qHS)FZke{~KFw@t~KxVwB7(RacVGgvDc<%8Bfoh=$D>& z^+4~)gyiIJ5zSB4H=pABByq~LY5gpszfCV|2z-|n0It#-K*#1M^pxrtu!hL}>}gg^ zohq2()g}7A%9j`y3c_5RhS+Ul)r=s`83Pcz*DNbp)}@ec{HAxr`?zvG?zmw(@t6~IGz`YhqBz#WY2ti*BHH0PvI?eOq| zl+17y?>~HiAkt>Y{HEGDJ7Q)nrp=cIj89iXeTl8UidDgP0Oy6PAy|sAi#o1^LsB*rtSLxEVuAchOJDNb4mL!WbI2rxlvB9VAWS=;< z7`qZPs$@Br?6e)|OPPx(YG-SDm)UxRx`2rbsJvLbR~chP{Yb0L)bk@7+f{bRH8!p8 zC66$|9`gJW%${C;@L*6b?B4h~hnAq@6pz(S$$b7mMP2f@T-ASPOP4{>mGks&f1fww}@wXZ0 z^A`N+RQ#=d`YNMBqA$4t1@auWPj`F+at;zR)N9_bVA$vEdm*OJ{D} zmO5+bh7C>jyomS~VfoEEZSLEPY#9I>?dCO|qNWpNu@(qILMQHA+4h$fA=EVLb5Lz( z#w9ba2vYp?>l3itt_(K<|12CknB{4FRgIP{%TRcWY^0-g>~;XE@9WYJ8a1aUXv8?o z_`84WbK+aEaWHGcnJl!MS?_}=qAwtBA!&;3lgk-SwEEiGy*#O0wOsUaTbX2B9^Ozf z)+%rjzcMCFD-@J*04&#s(h*$1uEiOeNr14@p8C+&t{u5aW)zsW*N2o7Gnp5&f?KCVvC;!) zBEO00%+G3W3X&}poOLV&58u1RoswN!yqZlb>~*jkq+8PGWS8X*cQgCD2QBxzo4P09 z8w)phv=o3PPTdiz*k{O8%(I3~YT|4bcT>roY zA7ef}fBsyf8Wiroq;16zu4BiNHxnEs&QWXUKWPRavxd?T50#~`5;6@Sz~b9HT2qqx z;(9oht4fVJ$ND4VlR_4efp)~As{(-(;;HQ-Tv9@-)ai^W$rzq_*_#kas{3f?q8B{a z@J)h07S3o!NUQV=($^8)R6c=@Fmq7Ipap{B)oAYAKEEzYiP-JL86?H}GiE-dGZs@# zr7PZ6){N17iL~c6du+}JPmqhc9X~lg)JO2!9oDxD`#`u*E{x*%-z!7u$H8@h z{T8bX0Hqg(neq+9n-}?q)W*|;GG{&TjiuvLhYHy;nKLCXNrc9-BP7?$oS0(*+TWR& zo4-hr7F&90pjv~j%v;3cC%Fw3x9|^G!qq>|m>=$oqe-%m>RF{P&kvaEFmno6FSj2) zyt1sv&)!6tQgw%C1ET}c;=+v^D`*YO8d5&-;VppY;$;JXh&^O$iKP}~(3_(oUkDB% zHxvNz3(TBhw^Ex!!@j)5a0F9cL|g^_(I0}Gp$05L&8>*UPkxE@J8a!>BCH0Bi?sbx zIp%B|xA&d^AA*jAIRXor$YLgETz*w<+9}<*#9~j8 zAPp*GYvBzC8ZYSXGp^mefF;m{EBsi%S41(_=> z7p38SNSfK}a#~8|S>k+yO;5 z&z&K3DSd#C$ZR)w#raTw(evUnu@+5#u7-et0uOl;^Gcs73MqGm+bmTxAL%)UX*trK zy1byPOu_xa3&F_p#-sxu!@u+f6D&gT~5ozeS5gA(X=jgNkur zqPZlH*t}&63fUK=c;+PMqv18P3VJ*QBe}QlvNUtUpfML!h64cVLRv_wQ?oK=A`BR5 z{oq5Y^=#E>ZsCt z?QP*9L&z7ZISE0bF)>?sVT}>SNtDU;kP@E(jIcvnDe1sT=+&Z+5r(neT}ok1P;|bj80{IZA$T zb&h+_83*Rzt-ROe>ux@XzD4JZrC^fSf}aP2+1-5W9cptPZ4(&9zBgC0vxA~ap51YA zBOZ39;?R&b@1Ehsm}9TQlaC-s2;1DM2_<6E!4e)x37@|3VQD4C+S1`3zzTs0?(+l`J`H z_RZ$bJaZa&An7pg$3O^^9Gh>tnOE5aE`kDQtaT&R*P^zO8S#mtqOTwbIM(>|?scTU zZ~=jHA1sd{+;dP5GslShaY57=t-ylIUsZodbB!5NzHwqKfc_OG{hjM^ty7!NTr>aU z*#oyjhdC7FYAIav5g`^lTBlzw*-voQ`H|;Ixo!+C&?2Fu)F_Q)FoZu{eA#aBglU+V zZ&~W&Q(ub*hV7F$NpfgG^LYfD3-n?3 z=NsTcMS$#u5LJ5xc)A;#j4li+7~ZhJEOcC`aWr@?vAGSRE`)x(8sw)*e}po3?x$J{{s5pd**VWB)fiM@HOz+J8e;gKAapN*)@V z&Mml75j8Fl?jCTnH9y3sEhi@uqz3p&=0FMHOTO^mw|MB-csN^kwt83b5O!m*bm8a@ zn3mhYt(QE*-`THD-z%fele_EZZAe#$noCt)rv!A9`liI?f2@ zsEfdM2r3e*qhjH}bb`96L!(7eQWXSDDi$rY0!&ACyO5(n<(S*ySW^o|9XV7e*xG?d zOPvQQF1V9S7X=541cV@>ivaN+dHaIj=FQ6(QlzE00=#f6gb%A9!bloiw9hw)3p1&v z0YUXvsB9)v8cVy#x8W$AAKvgLA1VI<79sCEe7=KwUbaN&n=s{$5>FKY+3kx92D9;RVpv_ww$TwGFTaf#t@xZ>w4Xk1pk; zb?LPF#6t?QR$$p)Nm8&keBqr@qc~pZjdD%;wf?Okf#cSVeZSA|NMN8)M$Qob(Z&D4P{WfxzhK#?LW&ajGk)68)bwn~r&{k-E3+@-ffzUl2Wi{hZ= z@2@u&_;_#W?Pf2l8X0wrc}@nPO*G?p$A&K6v7vsH$3luChHHI@5b)pW1Mci6^B_{K z1nx1{O}$|jO#iNH$vZt8q!vkwj(Y5PtGXRi74=?ZG0Pb*1a2 zVZPG%YS@4e;7M4r>yuy~-m1$+8Y*|d?tSL?{+arQ)Zb4s;S06XapHcIG;5?g5-%n3sycQmEeL^Xa zSaszDS6p|=KR+!$5gZ@cTNn(gHQ-i3&Uh8TquBIxss=FVCATbTdT5L^0fq!OOh|3? zSBi+bJHCIbjQ+CiA$ot|B8i6xTVKB%wCqTLjF6xwl!6+PP|voc_V@4Zv5q^U)`YV1 zI>4sX*bK)g_7gO~G1g8@r_a_X2z59D{Guey8x3D>9{eB&HRu#ygo~%yWz9g-PN;-H zx7LB5if4N@G9MNm0!^o2RU17^lr17tMI3&#stf}yM!$agOuTK*x35vO7>X&mrqMAV zc+?y|$wi})($IqXH~AZ`@@h_dB;^u!r|zzQpMshv+E)8Wgox_!sio3Gr^5tsiZ?8& z_0L-`P2WHx5^Z0Px5a3r*ieGYnpRUs5&3ugI!!N0=Oq1Sm#eE6@B<}|7sjDwf`_^q zKWuLoXF3}tZ+41zZH}_Scxo9G%68KqX60TUXF9#vpQC=P={){VzoB!^{*!-xqeE-@ zmAX*;NWOpm(;sj8|NbZ1&b|Nn+r3Lqb9}RZaT|O~vP9{(-(J6Suwq~Xwm;d@&-9m^ z$&A}1RXITd{(tccXVEvSfAZN<7qy!6<^4PNGn_PLOzc<(^=_~$K?_QM5q;)iRCX1# zN2^$|ne~6__eY2WlA0bpdY}p|^}H5RmmBb`G-A6!iVUr1e_jU2z^p>{&`5cnH^!Ik zs4CUEKx_*w073I^HvU&U7VID4i&>kYPR_Xb`;SR|#n`9D=O1)rq!UdC^A$p-4dp9T zNcs4&I<8Q-E|n-(PIg%{MeMJwQ$mL9WJJkK3GYVx4W)oFdVY zR-S=h5t~f9$T1H~6||DwF`t%#gBXeN%SN$(951nw{EYVKf0XcK_RXKF)dIo#0G!hh zb{U0%jz8RdD}?UyKvy3Yo0N1Ftbo&II$&m*elX1YRZb$NuDSvV?w@`h)t zH7WzcKpa_U3#7oY_6(Wl<8yGM=~(r)^i?*crg zHiQ3U#(W;)EL^jP6W&gqIwfG1V+V@M$bB(-Y6EO`XJ$EMKCNO&aZiJYa^}K3Uc0vLZENgulC{X`b!t*ZCtgX(5M}rSu0E7EX=^3#;SlnMo{*ZU9V&Sgy+6L z`D66F$12dM>`*No8vBrsU4HuftriIgcj332+;b~3Gh!}154R4$*q}w=`SWk*^a*#Q z{#dnsy%(2>H29pm&~*93t=Xd+aL}Vj8zOON0oj|0)SNvmnjnlx+4Id60{m*K0X3$*VFbClyMhfg*g&fct$>- z11Qaq)EJ;-|9+lcE;x9ttztn|Il5`HOvjWebF(s9p;R(3HK+T`n>q>MC=)wG-K?=0 zx9y~{FG!t}`mQ2?_c;F*$kstlwN+BWZ$fU1!zAv82PNPoLgf z!k`xp7= zfBMb8fA_z^7ll814TwROcp7+v&l$7njCbw_U6tN` zDw2iJhogpQW{)>+br9z}^L{WrlswbY6RlAh;Z?=XpXVM8PJ^kUcAHq>CHAdZF#(B8 zOHkecu4P^P7R+5$g-65wg`MVMYibn%?#dHOjAsyHDUFGN?5<2Kvsbt>dwo! zBe^WsPp}$oz$NSw0e)p|LWJzXz8~o@Dd^-80X%bvVhZa20!4uj3j$!1)tnnpP&S$R zqC04lAa-7{09Q2!*$XPJ`nIq_%PDXVlAMH%=cu4@&2FF~ngkVsd~4jpx80P6snvyk z)2fw0d4{cG51=Z=8cru6-I?=6DA2%(%70)rkMS##5Hh-9R>kd)wiv2|9q+p1hiU2E zhS7gRC~E`h2*5*jtQ!4f)il$?TMMf3e7dQdAH*D!J7ZH0*SV1cGrR5Dh7H!%P)46|rXGXtJK6!J?k= z9|DQ_vS4Lh7Q*aT_MZtkD-~Co#q;IB#x%P{R`tP>!GK;5cN%lnmo7%BoTorZ(MUiD zC1~ZKi&f2mT1q`6$5Bce4bs4=$_*EV3F4A6K(O>FLawlEV0>;hr7lf}ya@SVsX??l ziA{0cA#*kN&W0$W74H^9AnM*#&(6?aYj-(lFs<-UB=As%zX*jV-k$uSPM_RvQ86B1 ztg^z^nm5=K4G2;rqGb7+%XI5A^1q79`uWu9)6s~PnT+mlxeefk&*oamY21hvKuWY$ zEEE&0mJRDSJD{=p^TXw*!pVyc)ILK+L92uHdSZ3O2p>}O=pf#u&XWSGqVVandz>ymtkqFl(^hL)DftM^4_N z4L`0q5gzFA#_j&WKsG22^TUQ9)sz~A&a4@K&F3=0$>}^`EaW}YkxRg`4IB_%42Vsc zTgc`GSXi@`YzDsy_0;`JH4Ic{!lyJi9UEo=)E3z>2mgEZxLXb}Uuu;kH2#00)<9JuW?#we`I z1b?-IcB6AgLA{*pF6@!#EfqD7<2n7HelW4s_j44Vs%U6XCuWMU_Ont?%7gJw>jV4? zU(NpcXAmjz*L^nt>rF<_c_QvUb?iFE$~JC&^zdOHI(mV&kQTHXyFqm1tK%ro1#e@^ zs6|OTmu0fnao+ThL(zsT6Q0gde1gwSg*Tz!81! z&L;2Mulz>1=cSQaLLouVO`GtuEwr+TGXmISoYAft`jC?+PrhxN|Z3Bf3>oxGj;lO`+G}_ zx2zU?@WT(Ld7)8hA;G~8SrcwjSZgkr!qFnQ{$)=## z_kS2~zjX29-o+f66kKQ9G5%>C?ig7PP+>8bgtTWuXEIz6ll1@dUibQRzzIzQ{_&eQdIr(s z=s#Qs8%ZqU6`*!~146PkalnceFMfgQQ-b~tR*uc<&z85u%8CN<4b8{nU8YX=`fo!#EcSw3?^fDRNiRO%!UK(8c<@2{}Iuz z{)vzVu_IDYa~n{ZsE9g;xMv<>p`d0?sH^c@({7f=6hDIYh=9{Q-K){{YEU&tTWr7> zKm#r;oAYK=@6~MZOF=fNiGUw`jS>lx>bhZ$MdQVS%%XAWNc?*L=~E~pZXgD0XhGqc zFtaU53WAsucmN!_f(S(FQZ=IGVH&N;79rX{ss|?k9A}XD2}p)+=@57U&kq@1DitV} zA-K)fzzEO)RK)XC(qgL^i9mg8`}Thner%is3~w1t<9z`LP*^x2t496$_6vXjdUHb% z7QA^=>ZUOl64a!v78VxKe42SJ%dDFC71fNa6G#Gi`A060vnmoifpu>}D9XWs`>djq zj|I%1i3|jKh@s82kdiY;JeD+yMZKIn^)&F@Jx=^avLkvif13iz!y^F%x%V<4WZv%G z2>~}w0IW1`{_8)l?m6ETbPn%W+t4rNnB7U?y7K0v6U1R}B~!T(Sy#V%j$eHxCeKc983m@nxnNH%d#-oja@P8*r!N zBmMlKNob8Pqq`JsH=G~K^Cm*c|Bl&*T6~`KLo@S2h2`2t`NbN{c@!9o)h(VD9{j4~ zGBULKt}vTR;gvJHAyn(WaxS|H8LsETx-b~#|LatIEQnX0rR%@sIQmbAJ6}CMzZH8Ilp9s=3$l_%SKL4V`4lO?k*et3E$+)mj#o73f3rxkao#cGUumr#D zWVE_!1oaw%?McIXs;X$nn4c79n;oL{1haqXOqzcE^P7MF?*H8v%`Bw|PkU?!`gED= z&p6>lv;!i2b>d7EPGq+FRoGfEcfsQ>RfT{^-7+o`3GF|3G!Hy$z+qG4z1}q+|+!bHR1@w=4 zqzI>x5?9O%I6dnx?i}mRRCZDd#ifL(+^W|P1D7(Gx9iap4B)TQT2mq7)w}{(mf*By zot=Xw1b>Xa2h4T#kOy!O$3m?S*pT+Ka!$IPi0FADGi0-k$5tRnOYXN;r=6HsfhwVA z+CvU#lQuoXV)(I%g~iM6*x`QV)U*wGEO!gYF*jYP0i|&`XuEfK+Cxw9GGa< z^F$kJI$c_bTZ49G6Ud$Dqr|yFCvpK(;C?LIyqfOZtsn%EHp4$ULI34N|Sbs%_oWP}fM zp3(>)EE!(BejUMqQu7O-s^t!nD8LOf!15z?<^rHoI@uj4SikOAyeOm4?LQz1QmtGj zOqejMJg`36JI?72^n$X5rhhTkJ6-G1{rfq!gWLO9GoJM&;PuxJj)G;623=GW2{7S8 zH>8#T&F#`hs6^tZwdtWn{Yr*IE~07DdMsYjA@|H#ym&o0)+$JQLg(HD4pjbApus}E zw1kEkMF=wimK?2?jEM80NhZYM(FRf4;LG&-2Il52le%@0T`2X!>40#5OT=bwM?mtMG4 z%a$(}5v@EeLP9Sv2BuwM7s<3=vl>mql_v6?=s zn?}ZgbhUeul+kqjT}y5>h16nzTuj9|U9h(8`Gf(Qq)UaGy8XB z4O(p^j6_B?R8#!)%;b;`#sz7WvstlJuR((cOSFT!=l%ZhKvp*n7_z}whhXjcg(gfJIiIuRu zIVo|VpQQk(Mo-9jrbDrVP48Z-7WAk?hSL})acP(UQZN0mGinjA5Xf#Ef!VTx^;$%b zl6#UUvOYbnW@QyHtxfOj+}tsK1_M;e$wV!A3{jk=T}v2sW3wGaQ&!45)%;1hrc=%1 zoo9Dq8R3XKlt95bT6q4}HokoNvB}BdTqioy1VUv}Uc33F+Y~|!69!uwl!R8OX64GB zq%}?b5?LY{!xKdZbnr{*ZP8$in95SXUEl)nDB#O1gJ14`f231-f?*;7Rq=yzTP{K} z@n<4h#%A=U_9rSaJxsZ~n!IQ^eI~GoUK~TqVx@p?T$`x-TQVJoZWP!Y~zSP6aw+*CvjSfeyBv@t-cnk2lguPR za%`vYw4PlSTkyGQo@Zvlw>CK4DOmwD%)!%4VigLK=gH0Z+08l2n0Ugxk0iAhH0MrcuUL7qxjJwyAavc|Y$t!}?;JVa`h>|ft8kN;cLB+9Axi2?m`%5Lu#R(0ywb?Wuc zf7ZbXAHbkg`|scM$u7bnO4ok*zL(=O*I4GAf3V#@c+3B4<^IpVOSd@GE5F{sEp{2y z%mzWpR)+!u`xC_CUHAN;Zo%763VjlinsQG6O)@K>-{;P0@~%MzloXrYasW@Z(MTKQ zr7B;2y7T}hiw>v)GTsF>2P}6TP9&y(^||{L^aGW%7-nfokzW}o?yt)bjX~J44+tSm z7;gjKE@%tB4MAI(9|?${Z7&8U9lE0(wGY2){GA4mM6eH#)I@HDg{*^druM#q=eIH; zLnbV@E+p|qI<}>&6x^z!!CLEJ&BCd5rcToE6hH6Ch|mHoSjcyd zS2`BwKT3z~)IZ>jtY6BFHu5^z8aE@^_GkcyqgJ$3sZct5FpixNE`5lw$lK3T&7iih z3ra_Ez}*{g(3i5KRIiQ>#t@sj^Qitq*069LfCer43t+GppgeFGN7x4iWngJbUTc5(|;kP1E&Ix{T&BhIQ`Nt;QE; z@vhK&YUT!X9fx_X3n#yLQ~x39)ao-DTNEYxZ<=5oWXeaGg`h0NduBlBmx8JnDf%{T zCFx_?)t$Klm3mtEi0BkS#gU0I)+$;l+!4`hcOVa-;qR{pLf~9PHC2Yi*6^`dT}K_` zZI5S+p^)Gc@v|fn@OEi6B#os|rxdw}CpLwo@8=pwlldqqC23!sY1OUAgq)|8iEiUT zRfp1F=4aBM6Of%7mT@>Wk>-zhLGh&d1M&b1kg8G|k=_g{&Nl; z{1z@;C>9RmjK&dcP}xDb54itko!@dEqtxzr*JuHqic-J1pUd)=C7qzCzljU9N3~lU_uWrC97p8ozbMKWa>Mf~7R8yl^12b3C7EtK8@F zm=E)Pr$zJeQeqY0QOM>MgyzhYn3peK4(O5g{{1=W1?WmiN4agWnd3r?B)zIv#Z*Zi zxKQh);d$Trdo7f(8(JIJKj4mL_5@xdP$DJ zOuQ`@FNjd}en-7oL{-VGC2QYOn|jc`#g44Vp35>S5}DB~#_Bxla?-cj;~A@e{}}~$N#!F3+ellT^W;3bV%{xwqYkoWYcka~5CEpDS61tLHlW3Qtk6=tuHs~H( zdUikh96n+9u3hg5m63!zCS`%fG*|wawC{ zOAA7TUx;|!=_kDn1ZCn2(b`R=!qAdWN&%U9fqb(XdvK*)Cx-GO`~MlTIOwDVHeo{` zW+W#7%9iz_j4gS`8Y3ZG-$ZX5eT0u#d5s9}8qh6 z>*i8EWB7#~mZN#Dw2xZ;i}+1ROq0^&V1WZPWGQruEPd&OlwczXjeC^9DMhU2&B=?zj33mCofN?aq=VsY|!!G%xM!n4I+5$4 z6m5v`=qM1tHUvYNf8O9pKTWcxF)v7iCjNwzE-QOJXh4o-2mu;FzG?T8d>!y%hd9#y zPQ4bcu{_7nl}Hyzs&$ULv{-iLQpHlkq~Lbih&ez_A_IgV|M4dvaoHp)qiUic(a3!q zIel&YA?rD7drtRw0=2_qYl112I#YrSwU|FujOJi@hrFl}KqKYdL!U7ZetHF_f-8L4M^d^Rnzw>xr*2LJAKna3@0)b%UHk0pUd6Wq7hT&NpJb*x$pW=2%(C6aey{Bn&|Th&j@&r+n@> zX%<>f!1HjXwnITe3cyv9jUfdQ{2yYo$C##?%HgW%QE<%m09zaQ+-t?y4ySf}E@%Tx zJ|xL{W==pamhR{9#GyW|2acbz#FoO5ju@(Y+1OLC?!d$kV7^F+G-jJ#%zb~}Lhc~& zq)m{Kn1-%3n$A=?$7T=N-#->=Y2vJmBeN&bLhN1lWK7e>6CbyPj&dWXvhZgV25|Qu zJu=7k0x#g*dxr!C22S@%>kotq)f7tJ;=anLTRB)Q53vkNuP|OjOMo8nl=07`>Z(ri zgMQt3d^)?!Xvs&;%7SJ?7hnrr`q8X-dbzQyOd9T)`!#?Adowvcte9qssA-9B*Cy>h zydfr}LWK&^3#Ph7?S72JhYLNK=71%T_F&I^J{Nh3ZX>GM?XySVryo zoP9E2$a|SzSFJ-e%5m8}q&d7A67fq-FQoV6p04CfO=30yNbww~yufn^)6Rw)bvwAE&u8ALQ}J{QskaqCDKoJI7?#J|;{Yccbg{ehPZ_tRE7~wA%&~5t z?2KL2V;=k}l|%%gqvVYQ$H)s8auqCCXwc_}$p^FRmyDUH^{+N89vl|ZzhA$#V_)aa zY3b94)WC4k!|2Y1Y#dRKg|y>CcBSwHwp02^t8UTd$w}(^I@{`H%R_@J(jGvtC9nG+ zEe{m5!=tmvR~GPT9b(=TVPzM$JF$yWe|(kwv%?8&{(`Jyo2RD7pZJV{YSx6;4pcgAsM3=g3*plg{% zBXU#Y_i6V}i8P%$=iOfz1Hv+iRH^$NYFHFJ5nuNmgg|Zc0|EW3a(0IWg<}o1EsOkq?ifa?&VblTj4uxwcY*ef2L{?5b_f2N2S?W5-Lzp*4{j z6P4CLrnk+&9~4~;Zp;@>eXs8_%F?jl8n=R}fj-O|Fy-QSYN#N&g+*$?<4OZg0SZuh z2^fTVjs8_S#g}G&L?vigB(c}0q78-$AcW#N04vN`X?W$~!-vNrczP;@1z^EAsBtGZ znGym0MyY<^i_ffls6Hubp6}^RIOPNmBN1b z0cG4`)ZiI$jX4D(#|VHLho{=_&YAAt`kyGhpKen`JS2peC(=j2(23+La#hDXCA>qH z}=Frxt{_NnOCk+BhSvLzs#!{2O|;IC%Y)a0lWTfgca%R zh}Ch-aiXHLztv=7D?$JL!PYDo$Y@ zj%vFd_0dZ-|I(gIHca&{i3F`?4>*aF6h}0JtocxxCiyS~+@VC{uryX-Hf{nA&_TT?DhT;Jf8*9sFua8tdiQM`N zR7ngoXj_(WBWBCBS%uT4IY6%Csv6yXkUE#Zr_-tI%*dW5d^qoV*Dw|8XXULyfHlY_ zgBKSUA1_%bmfw{qAh7%rtd5Ugn&=_3 zr|gEZRa77kF&2<{`fgfk>aEhT@4mk2ZGtqk<->fo8y|%Hrw{^GM%M_egg`iwg&0eL9SI8{9Z0B| z$QnW2gFHc7z_rf=-z6#47!#&DScNc{81Hp{_&H!Qo>@`Q2d+EIBQ)Oxp0FC96VAFy zO*vQn*zDB-%OrFUvJTV(qXQQg!Axim&WbWHt}hV(#<;Imvzz2xim<2Gcq4H7jiC%Y zUVn;!WrnXPxHIa@!_SRCQaGd0u<8ccvvuu?ZicF_C2A$ghrGk#X~B}B*+B&s4KmDO zU~*z~ff*bci3f;O&w2RVZaD@B)dvG4nQmrM${B7A?vX=5!6l@`AW-BSOgbaR1`tCw zhLi-~;%zW@{ZZ694$%OXsK5;9kPB0!0IsOCWoN2!<8xn>SWH?oX6})m0t6!dImutH zG!%>mtHD?JJQe}`15(i>j=Jv^bn<(m`$0oIxO&hz5T{aBKC&VB0~!AUW6GBY)E`*0 zMh$P&hQ>HEAegEh5DE^s6EuM%dPvYD06RB4QcS<~&I9b#7X)B*N&bBzbSeoE|I- z#hNc|i7rv5C8vsCe;OK-HXFSC`OBB`r_nqb1h!Pv zBnfE^zVnZ&K!_!6Rw*~FYcnA_P_gt|CkCd$br5};J~#E75+S=4zcm^xwX}U zV}6-n2GKv65)y&sn4r(;pa9}VDeMgz@F20?M=Hc1r*vQb#U8;#Wy_iKBn)9fAhV->f*Q(0xTt=A^9*UlM8j zy6A$X>W-X++yx`ZsX^%=-;LXR##5CxD(M9p?2Q*%tvWb+E{%9}{p2@qGOx}3lJwO; z6WYAZaXP&PpH3`axX=QyYZp(SA)zwex`kVY2L~T?{7z8CyY|6`cDkc+;jOtQk(7-U z{VT@cQ|UWc^pSP=n-2mw+5(TsS@P5=T)26gm7MaXO`FD4?t$=)Y5RT_@Lr~e9`84r zbS4vp?Hv|s5J86G7y&(b*|zNR&SbG@`)^or6VogpiF>w~%gLbP2dt~4F>I=XMJrak zp!=3y&B z76D4j%&pWb<2Z#5Fd%KH*)os2G=CFB>VI*2J|s)=>9H%BofIQjlEUf01^_a=fPwk?G(}?5iV1v9NGKno6GpG zJjX9wTzil5D}QXZMC2_1v!J1r6wyU|d?E*E1$;0?ps+}wapqI(&qPtyu?->isk2P| zueV1X?g5CLX%{f8pvG7!hm+Q`$^BS?JZj?L0R+&%r!dCaIIvF|R^Mn_5X&oQ(zzxc zjcltz$UpWm$WwHi`5RECQNhsYt71aVjYr{m_&iPbaXWT$#gv;swFQfFLiQqH1xz-r z=|llap)rMNQ0p0Qe|tEQ$H`hS>=3sQFQS;2Vc@pOvVnz$J3G%O#t?!{3-Z2x9d~oj z)2nyxl%n2izbN=Z_>lXHP4_p$%VzW0Z*PC55%oJ*?{g$4;l{L{&rX289{@+KB^V_r zNDvO{sXs_h;9cs;N$`C_+~=Y%MF5f?VE-JWK$LW;010wj;+mk@wQ!g=Bmm%SrHUDW6A-dM@R;kUaH=+Le5>inN7Q(d!jh6T#ekHfXr)R$ z5tdJ$G^w(TF22zzlqEkC|0jdKNL>zfpy_4~FzVSAjQPwRC+X|$=h zLCx`Xzy@Ug=P$&)$x3Vs|3mAl@(8f<*7egA^3rhT<{<)xOX)6gR&F zjc*Kj(A}&hf=gOvPT?{f~9s$*#{f95_y5wir%skYbd}%kN6) zXJR#|wUDU$b`UV-#YXfk4mirW*D^bGk(5U&t@vaZRcps_(^5DnrQl6bVnNB(sy7O=3LWB_X+HDB@=@Z)VgxZ)9>EfPl7~bh}A~D0Sy@QYfs;*!8<`^G~7;T z5vA_~RPS|Uq+Q?Z6&O`de#rH^u!Sp3#UVv30!P_`OEX6SB?Ci%F8{YX@DPF@_vSm( zC$qVuc?;Jk@!E{ZU@C2VQBQflA~91(eT!*%O5cS*865qK2z^B85YplQLMiSiPo4T4 z(WCG`UWgW5SzU95M?8QwIQz}Ef*9q1vew<1Z33Fc1!UHn(5`vG;T*(z+sqkkGLgK~ zP~2(XI-jDvlR8i|NDe5B7lep0wVSk%2Fc8LZ1z=V^Qw@ZnaMPej}kk@5irk!g3;N^ zWRJSCrF+K7q?QOdbC%TcPYRN2E2A3nFJWeNeQTRXO;<_#(Vn!a15HlfgV()5Dl#Bh zq@I?Zr%(S(GjU_mj?NDCTeluc50h>7;NdWM@Zg|C*|!rcDD72MgRjv|{JLFsh8eFi zHke;96KqNhNo7GmLxL?S-vC{(3*_Y7(r@Mz9vknbr`xUan+PCt;nppxR4c%#28 z)!}Qw9 zLf>Gw6vts;n$f`J(r?nych<=0br1Le8bB>&04`2!@vaNXVPct3X~KE$ZMJ6Ar>QId zegFhfhwhUzUG@c^QlXtuT_Ia=Kg=zEA;m;GAOlluD#9r$qb+*z&az5K1)5q~Bhx~C z=xk(Fuf<%@@W!}Q22H91M59b%W^kG12Wg5q5M=N4Vc*n{%EFA!SB!{c&Hxau!ELo_ zmE`Q7sJU6h1bjiwm?=uWRCHoqc=>&~A;5y>T7CBg{i_)mU&A~Fe~9Phetj=8PB$jQ zg8;5g_pTwC>v@Gv&dwJ>&I~e5g~;7SU5pD=DJfGaI$?1lZ~l=1mn9ohC_x#DK4X4~ zZDm9UEr2jcsYs_OoegSq|LN7LRg=bwdftVKX%4z7%`JegIyL<<9e2U94BVm8$~&Ak zm}%LlV_C4ynjjS30(LtGm|Xk_^?KW^FV0lX>l%zKLO7y;nv7+W)M$ib(Fwd@Ld^my z0Iif2aKvpl8%W}%3DZcl%*^^-1oiKWQ7UEgCH~<{A{7F}=650@BUch?^jDf6!gwSl z!1!91Tfi8+$XsteQPZeGWaA%~3wPI8zC`KAj#Z})C&ZUP&c9_#1$+rHhBu?Pq$Bi9 zGFq|GT{F>W2h<56X@Tb=f3Gk-?C7o1TnEc_NzwrbvxHm<^eD6hGX+ zsn>oYt!*I`v2{DzBkriiBG3+Y1s74p36uu_y-Cws{_P1Kb4(C89P^4RC=9jZg}PTf9M|t6vIaVJ3NqmBf)KU}^y&xc6To*W zLhfqZnR_{sxro4 z=wD^^O*gOzaDz9BU}sZZ=XsY+ zEK`4{IRuC@E`79=#qtD61PDa*unksEjmD_shqTWY=mpQ`HBK=oiEu`VKx?{?(n$oe zvX%N1c<+WVSEwi%X^&dG51GD*Cem~9qD2j!lyyKExhr!7);1XSqk+znGD&clsGT`q zFnTRRU!~~4mu%+=o?Ci%4z|5wz3qpcL_*R9=8iBMM?6yzjKD>@OODsZXKjWNm*@=m zT0rqeq6QV+5YTF)lxliDF^@NiiO@P_{mD_w5xJ$%;A8TXdiqLLjT``mdRx+?VlVf_ z!+KjH$AB4fDb!6xACya37|@)OV+w7hdOG4eMFy92_i3;44%0TQPZIh96vlPtEM{%lPyt&d{0x z;hoE@^6b1p-aw(}LPI1ZRt8%Ejw_Mp!n6~VHnyJ$VP>EXB!o;QYshjO@Phz+9xjf% z(FA2b4DfPVYm$>Q|EKUkl*IZZg51Wfmwb$+s9IYos|RWz0hC#H%rXIR_`V@iwi0wm zP983cG;gJc_cUTm)72zYiR=A50!U$v0=pXf;n$<3Su%y7)Yc^esyfVlh5{9l2LzLJ zmt;~4lQ#@!#4Y1#{R`?l)>X;qnj-H5^&t4T&$Ca|jbejw&bt`+hPruX zK1{?T82yD>$gpVn^3ZG73IHjJOFwq(62vXxF1Ax-K2IPpeC>aGf|? z3C-QoTB9H2d-Y`vPv4ftbd>FZ?mi(H{-8aqA z_&}q$+}^LDB|^xXWoLDuj0(03c-5@7Mw+@F3bSkphY}@r{^vhOv4rNI|NNJB$^qTKcar??zkm1r zd;N#5GL_!O^6+n}2SJ`_J757Rr`xKyUjB9fXPCKFT1_8+qz0y`O8$0QctvCoqzYW9 zWXmeQR={f7;Su;60W_O777%mc`0OkkxIej}+`?>_qS>+Jy$2E;DG=r8_C7653Pggx zrud>8OQce@YA#O%la`MJaKmtU0y_AvM_xL}E1?pu?J!pMk&MrnX`Kr@(*%GkH?zff z+$IlVz6ecPhv*6+L;&S@Nh>tt!Cz=dUEBX;EpO121;~!}dsQ%r&5b(|ozJW$)hUIh zI2M)EME<(hj9dN|V+0Y?#9pHb1ooX&fLer??atzZ>W|s*qCe8S0Wgd5RFkPa*^ z>`Yt&?}?)T5q}1J+XwxN#zG)L7PD#o%9Vwrm!pJT>7zhk2cDc%1!O^6)tjJ3S|C{Ifgku8Xw+k{MR6!3MU4MqL<`R81QKy zB7dP`OFx09&A*tBIW9sc?J6L7$TC@Jg1#XYD@w+4t|9i0U?000Y7S0KQn#KZQCgFS zuy$b-#?-B{m6a6(2}Wc%X9tPH2#Q(Nz^K}Uu?hdu5Y5|>@`>hQTL{eJyFxmZ(SZMg z4^P8x-6}r+{5CZD|3_Wt77}F?Md1-CK`4AF$*j}@L%ft&Dp*>iFy*B*C=;1(q9rDp zk=1yY5`{vjP$|kvu|lhd(rTzw5*2)qp`x;ff=Iid2Bp$ueQO*iUz(>M6=(i4=lpx` zwbowSek5#>@@ue7jw?%tAAFi$PZdIo+Ryd}aipSPM)n#?nL0oOIEK24S<`9++oIc0 zl}P7DZzNRxqKZxp2Uih9Vc$ckpu`_fSZb0ofXD3RTDxdjiEUEyU7`bh9^vNrHoaVDVO=Tfz>HzKznsEOW+HGYUcy zeu*h%G2!7+3L6L@006ehbkS7X&~Qr)*?J7v@-Vp}1m9!*OzBXydGVJb##>vh*p6m- ztqwwsjx_u(vVVdtC}4Qdt0zUL*c$^>>2*;jLZfYCt_CKCXb-B~lhc95by|-NgLJ4W zYEDZ{Wo-C1fKoO3@$98XP%e*SL?5)VEE*t}=OGs~-hjE!tPSiL@U7wPasM z5jY(I1VDW{#lKY1!Ur;QhvT1%-pLLulb;>qr(e zW}7++>>%O*>ped}0KQg3NL+eJqz_J3m4~)Jgsvlu$8w-_a)ntTs3izZ*nAax#)*jn<-z`)Sys1Q25g^nT+ zlOUc|;ovMZkY@Oso|v1zOg%0b+5dSx6Sxngcz&m}#J1-wOb^!H%eX_3+$s`w%)XM) zO`$Px^&ylJVTYqh@M6+_^c+| zN(>r+*B2As*JpJ5v&-`Jh2pI=J|(+h3P$b$)Y4fh`+I<2*|Spwtuwq#Le6op<4(tj z+uN>kR02)6{lyULxy5^g4xCz2?E>DBc@mGMLv+t9KzJTbLBDmvD>~=q52!ozw#^w# z(X*O{M&XtkmeaWN>q2`{Hf#Cl6IL9wnZ&#O4mY1+9J0Hw!zE;*m->|2^9Hh@fSxO| zH?{VD1v=P4LgBz65(uxEoMne`WNGkWyK-g5rDG=WE8(!eoEOfPDd)wkc4<~3&fhzK zH+z9K400GCpSe9;uo0TA=Q9##H_u<5V3f^BI;e1_Pi=U-9adAx5 lW{0Ps1!;d9Kilyq*WmrerGLZo;&B5nV{GDl}__KlXh;&K17ZKx^^B6$>d8%3>XD z4Py$0riVhI8lk7dPYOk36Y!q}ZrbJ^6v`rI@-G$T?0I$yMNZhsbcg2-eLV#m*8`$f zwyxH8qCN-Q@NNo4NyW#_%4WZvC%3hogOkff-hsR2yxdN<8+o_O=!@&SZL)K8(mw2N zXL8uU)aLMh8+lt^73GCWJ_@+N0Xt7CZl43rE*=U#8+m_TR{^idkHvVof4;?Y|3+Rl z@`cTT)y?Moe5@OhQ~lTtY!YTtQNt z`_DhT$_w#I$=%jo!B|7{&#%MZHu5@pdb%lyiFtc_i+W3my1F}vNyy8~i-}8$NlJ>~ z9U>mSE}m9CA}$_l{C^K^1`;U?F$vUWY>xsjKbe9_;3{(PeC6N2{;yw*Inmeu`@8?+{T?{*AHUkebF&wQ;LjobkDv4~^>wooGq&?^J>+g< zx7iDivgSWMy{D7?Ka=w>S0capulH`})!o$9 z)mizERkro7A>`h)>F28A7SOk{adIK!DySs(?;rYS#{apVoraaCoibMB1`%;d5lIPC z2`L4s4GQ8iBI0ri;^K2I^2a;>?Hc;7wodlG|KS?aG76H?bFVSyo&SCf>>yh!Ppki< ztIU1xoa@-yDA>EYAF%RNb~<3?U?=A0;-Dn<&kyIk^Y3+~u*ucg)g8BGr!1u;_Md({ z=Tkq|nu3mtho_Z`jh&8$GJYWHq{pYs+{^Xw@bNc@~fqz_o&d2}zcX&J6x%_V%>W@qP zeAj=!h=;4ar?-{6otgvI#Q)iD|Kqy<`oVwy0wpn$0i2!wbt?Y&>A%jO56IYe{c@O!xCj>a!v z{~oSi4$<5<{2s2kqw&kvzlZCWLp1jdzlUq?X#Dc^@8SC85Y2tV@8Oy|8ozw~d$@i% zM04Npd${I~#xGz09z6|`_YJ>?Ywl?L z^7ZfG`sEPKeZ%kJnmZc5eEoa4emO*Q-|&05=8ncMU;iGiUk=gSH~b#1xufyR*T0AB zmqRr74ZnwL?r8k-_3z>O56IYe{c@O!xCj>a!v{~oSi4$<5< z{2s2kqw&kv|Lbrq{HFuZ&IN6M-staR&t32Wy@A{|+Q#}6%HeesN>DI`GCqs{_EIQ^ z#3_`|dnpu!GZYG&Ypi9JCWXpTOGiV^)aPB_`$IdH_fC!t{kV8Hp7Hu}CMu?=TU(R1 zG2Oj;*W*zCp542T9C-b8kK${W%@V5Dw+i;U)Q?O)6dT#8?2>r;$ z9`!ATmqQryDMz@ObYj>3^^fufW^Royvol(>XKK%A|NZl(9GxZ^TZX^iwzl{A^H`qK zfBk*pMptJi<-)~_YU=9LH8nMk`}WP`{ovr>u(G$$_IuRko3@tO^RKVS6jQgi=VM}G z3JDDz8SdJ`%ggICF)HZfxR0YuDp5cmQk)L-pb6z7Mhs& zs_mV@MfKwX7B>Zwlao6;JNH^y9ZgQ=c>DG(`^uFW85zL^1rqPxy^CLO9&23{VddbU z6~1iU_3PJFEiElmug_*IQ?FbznYQJxC-dK6Y+^F>~&70yee&7z{Bf`Y#YnO+J?OfBzVP?$ zcbOO&87cV;1~oQrb$NfMD!+WD_IZvWllp~>j7^6RD^NB^vR1u+pK`dktHSa zuU@@+^XAQ72ZzwyT&FU}!=fSFe0(SH=zH!R-mIs`prfM`5)v}lS;OqoR;KUfCca|D zik{xyi)L36K8}ozX6hygv54(CAF*86`oIB^e`a-U?{wtJlU*1&PDQV%LWhQBOiXId z&g%;b3LKrBj7r??I5{~5j5F!0B9=dV_>gA%_Se*JHIz1PToo7?__eLPA&%dWe$k>e z0s{0ZDk{dt#@BD&)UdSV+P{DQ=hyj$8JZ{E+}tW^Yjyd0{+c_TCKYBTru$|7lX8JG zN)2f$pPprCVI+-iJDW$a2p%gel)AP5b+-M}vzQpn>`2w)^@@t;-n`jy&9b~coSENe zsDt+6#fwV5!y$EbdgoJ81WmFTQd3i<_rHpYUALun-tND@s#aJ?D8e#e{P>e3F^`VQ z1+AsNWTho0Cce0`J=!eK;zLKrv3vJ63MJ^$^>N`r9=5fmZ3Sw{PFxJL_O;t8v9F&++Bu<=3uV3*3KawN7m2u?jrea$&RUHjkHB z+t^6pHXlEp@9OGmQRH&+=+UDLO(QWGCy=rAvjjUDkMe!|vJh=WF=+wdlTZH8nNyDk!WVi>amL;k_e2=ouK+ z3J8R$A7A*a_@E7+!TGS@;9!PVY!lPxVq$n`hPXO%^72F$-5D-m6Weng-w`n0#ip*V zE?|CR?a37~>4CE|#dq%1Qo5w5sHmLZ-3$+&zjPTpdstT1IuVPTdpoORuM*j$TwSAamy1_OUkI3Oat0x79sNNFgO3u-F@QLEg6K0EZ>oC(>#l9bf1{n z&R;bzJb|Av;hC}0-{19iXsL|LW?8PicXCN=lqZjvP6$l&k)NTClR$ z{?O>83zp>pDP2#J3Ik^Y5M2?zW5lvVp~t>6hMRiB|+ym&EIJlTam zzP|s6$3d8<*=uLFIe*W+p0;w8b-MAV?@vS_EfgMT-e7iZS9n?)7v;o>6Mo-bZa2*} zKJMOCYvt&u?d5fw;gw2eR@UZSyErjhEv3G3%|))rB@0wj6b`W~cnak0EJ{2oq`HJt zPBq6MMcdFY$9tf)?u-P@&Ye3s&KP!1jgK&JDW9MGF+euxZPzx@1}&;(tgMe3RA%eW z%Iv3Kus|)#*r?de>hkvdQyAPV-2`>)k=t9xLrsO2BS>m!XtWOuG$7*mjP@|0Q66FM z*;R8Xx}~e@URwr=1b>UcTf|*jc0pW5W_i#hv%Is#2S1)*Fi>V=V&b{u*~?3z3d`0%7omS{LwHyiJ;(W_JqXdr zjLRS3t10T6Hf@SprD%pBe$wvu2vJ7^>x7njg{;eZgt#@qvC&f#U-BOy?ozC$C%#E? zr^#cB4Ly}@qgO>*2w%PNa2WPz_}G{au3i25^>)A6=^yFXb<~W<7qPJ-TqYeI4_dA4 zC$R6;RY8iClaru*-5H+z5o#eG9<}v*N_XtoxpR@KkB?8-A~sRKo~Mrjug{yVj#-oL z_Td3FqsY$NEI$U?k{rgF-kqLBDWetXho&cD=^z%rq_c)x5l_Xq6cO zq-eXn%132gTf-2579KcofGSMhqr3WoUv|wg1gFO5&zY0NEEB0}9%ESeD9=iLJ&@b% zRF$RjEz4OKuiU^AB(U@L)i*cnA{lD=m$9&{Rq+10o^mliU+lKad!gXr)#Kyi;n-FS zRFMaF^}Q+BMAx;*{d=FeQJ#fN*Ih&(k2J$$sj;!VpI_w(Q$BqBxCT+BljAA>wLSNQ zYU2ghP=?-nx77r7GGn!E-&eQ&+Acww*l4};az>N~$V04>0h&uzDP*!}XXoTR3G$;u zwi2ZnmHGKHF*C2B8BRW<5?E#&>4Pl9aoUepRMf!p^9voygZJ-uV{<>bFf|`fV&=Y5 zOY8B{(j8d zPG`_oPE1V|y=;~zM3Ff1-5EFbdFbQg2d%ApC><3?X(YL4w`yvhU{~_FZcKk@xKoFN zMd!npFT&XK{FG;R4(*RgNJyAnHj1=DuX^)9vsr3EgQ|u`NK;w|Vis0i`<8OtJT>Fv zXs#rxafbEgH#8{e9-rzZ*~ed$czl}2eaCx1GTN2}O^T&=I3n?or zYiw#-hPZ(19HpY6qgT~SQ{GMY(N)2tI|^;Hj6pjJtdBEbXMufhp3B-izGMKR^YwmLZ;Et{%M;W(vRgNgX zy~CX~)TgCPS;VCr>REz(rp5{w9`OTE@I;+Fc|0;QlGABcs>ta%A5|D0^vT{S1A{g5 z*%D^1T)n!UBzmf_sz|okD=S6=Q!a#thAvVa?RmB-HJq9oFaeP!5-aY>UO(cxVi&8TJizeO|2#R166D=(*wdGcp0KB<~M65+4#{KBj zDq+e{`+XV?2A)dnc3N)DD0ZG;o_n$$-E~Ys>>Ce{su(oR9%A-3G&DqULqb(Q$HFk+ zJF?vG3j0-bp9Sd3Mw*o5rmZ~9v+2!ECuZcl2Q4kT=sKBuUgfPMu!)aPlP-gzaOC^? zHouXlflfjK_j2r?AzWP4Jh=j&)cE%KrH-~X;Mi>BsfRCeO_C*S=ptD~tSiHqh98`6 zy|VkR*RzY8=1=?>Xt=!X%8VEDkHCZruFbbkitfJS_T`m`(DrNVGc1GZ(p1ubhKD<< z7GXQvsTYq z?x*K^Tkk1GbE#zSDsjix*8v(ky}hw6ARvH1wje(Z>_Y2j>6_=xpKk-`Lt|V~z9~)F zUzfx;RpoS)358fe4<0^z_Uct4mEhiN!?gPJ&5`tr7gsel4n`_`r~(V+=h$c(f6tRd5t}#Htx6Ani@>{U!`M`J-gdsYv&cp1@F+b$KR@=yCEJ=<(<^2t zQxv^x_p)pi6%~E+_U%Cus-vPgy$N8zVhc8^;8?L@_~B9&aocJ}{DuI>H_gpb-d}fV zMz0p3F{Z3rx6W$+{wISU9wuY^vU#)|Ja~{r$TSQVCp8WAdn{6*DJ_RFquUYJ|QtUY*s!+{mRHAfuAF)!@Wj*O@e?2(EA8U33^rh#VM5TkuR1Zt>Ek1_+^pRVzx zlHK=00GS&D*TQzNRO=My2W+vcmgRd={dzN+?;Vj?j{FZXrb z!n~sNm>HFGXa0(0j{Ftpa1T(S2|={4zuyTp-~1(<7m#&pzo^qAjsY|WI&fi1jjp`( zP5ji^$sMxwcGBt7r#~Iynb+IfTdPq1`0ZN`P$N@QQ=L__Or)+xZPl2m!^{yyeGPzJ zPC?-Y5|3Di55L|SRgB0b^FsTw)&@LK+w|($yO`hacgr0tV?pe+O^Zy&N3e?2B0io$ zU<0BKEbUN9o`26cOE(=0H?6A013SJWCoNzZCYM=IP|#hnEbu;pXuZf3SIfO4+k1L? z5Oyyty_0h3lE6VAYVT_!C=4QTS5qG*>(f-kSn;ZU*y(w8IBX~N3wU^_3AH=P}9?k3X6(j!J6zq zPOcqBtUox=dN10&468@b)6-J}sl9YefFu0Ae=Oi!4~Ej4v;5V@7eq zis2b>9vB@bOgV;WtRtTq*b;=dvx0$G zj!?*~PG7M9wdjZbevuW@j@%s`9hLPdiknedR2`#T6oRY00kBJ*ep7rfV{5J{uY?5H z1r3xe#eU;A@Flp%2t48fF)=ZtTl=;RjSbllfJDc@&i(mC?wYe34hWrK;7I5E(NPt- z889{8e{^Vw2@$mega&S#Pwx!(`Sa&B5PW7vm9n$57m~GpCUfb27oq;37$J1jsS*@CWe67U#CI>69+i^{n^r-|s+-v2H8#4=kDf)Q}c=PS&-% zWIor%!|@I&cpdRN-*WcrWZ=}07MM#O>@i_PzNEnA!PrMJXU+&LV`ffh>$`bVx&WD_ z07KL^y~MYTAOq(E2Nq2o@<)Y0)#+X z?_AnZkPdXm)Y{sb4*b9?CpVVTaG?2i-WgnN*xSdam|eoUGOe|lhlhukhv&n+N^hiZ zYt&EUUlsgDx=(_8Vm$J_Z~UQeVZD4!pbR7f7=NDf!HqGhtr+@4^)heGUUT z77@CXYbK+i*k>qx2cCj$nr1fw{)^!YzEC3hC9X-08=ee1vuEy@N{XI zS}@)8hsnhC=Dhn}TpFq$MuiyJ*=Z|bSIc6ASuSsxL5vP5DJcPoh9yR-gdnA*!rQKx zEeEwV_3#U3&EFc+myTTFcrK^<~kr1s>hGB`2I-c?j!~`}X ziXzd`Z{LpR=jUT1QiE&3V1$+L62rPQy|&97tgG?O{jUuGDX`r_Eb>^FELlRnhgVs7 z4?&Lo%|+x!hhA>C3@2ZTRk2XD@BLk@vwcQ|_WE6q%Yc!sTZ#{2BVvhCGoD;2%L;xG zW37e)`;&PNexHsAz`K6E9{C!bfX7iBYlO_M3cT2N>&(U@w;f+yO=eW5$BBDJAnOSI zZB$^r8Ifco@cZJQh&S^5c}@^Ee4tFlHn_A1kZp$*90K}T+rWTzD?!6GJnjpGc!EjlcFi<;LCI9jY3vU4{x5u-mQ4JrP`FgO-6;s8+$H#~Kn5$~}8VQEQt~S0#cG3f20ksH^ zL8_8q{dxH{&d$#951NrFQHri3`?*#F=(7x4 z=jYXJx7YnMO># zG&XM*)H&kkS89BE`SRuK5O;G->9cZjB44~PWnyFF2Y;@SB)Yp2Xd*%V6oPm6IgbGZ z>V2=TO@}U+Xmjb9>3O!s+S;0+`jJB(Cr~sM+C5=K=Egcn+bg(;Wy@%C}wHk=ci=z_>|p)kOd&!n0=a)iorkXrX9sb!4`jjK!G*Q zfh5Vhc5Mj2t6+0bk^k;@MXrVosT=W_bgkbF&&wU;Md>vDoX=hn~K^N{^TOxwx6zTuxuPPnnsS>6+y7Y&y|c=6@tB{|eL}5Z9njVy^AJ+c7Y( zR24UcJ9XT@KLeXxI$;I)KV@ZQY*pEY@9*Eg&o#?ifjgpZ$Ks~cQrJ;Z@qpb2MSgwX zOCb!f7HS20dU^^pBd%K(C!z9KSXfZz&6_9g{6^g3wsQ?~{LvzleJ44j_za68F-Hbz z%1^;~Lh$(nQnVYDDW&K0XUW5(J<%H+&w(yPdLl&HaK~)ed+nJB5UPlE)&N~Bg2o|G zC?xFb*uf)$tw&amN2WD_kfh+%7k2R?4?>?E;t&L*#+yzifbCB~#`=Eyyc{%*-Th;< zm5&|?{m{DxV&++)gJEr=$QJO|SZm^V=(T)&-R2FzfsntzyWK}FHAnqLs({z8lR(jA z80Qi|jM?~zr!u{?^(d+|D{!y?77G{{I`I|;PPx+|A@i`vw8n?KP>9@zl!2cYy1Z8a zw4sN}B_eVXgK3hXxfmm%4=Dk%1gK(=Un2%_BP|1`fnGlL^i+eo>v>z4;~oXIkCYQg zo`BdG>x!zX+9a>T{ zZkhU|Z9_tm@>N0|#`9H_luMMa^6|kHYQ5!3SGlHRgoye9%tHmC5MQvAU1lE(px4&3 z)Q=xMqP~!qm*=^%Bw$(rp(z`=a@Soik%sTU<9ac?o8t%iu@h(n8kDhPiGBmsLELxP z7V}aa#H-%Nif`}+&@gRdOSh#TF!l(PspT~`kj#8`8f5hDmZ!0>9tpsVx zsqq5Uo;`aA+v1d1=Jr7y%e4|WEqCa1{P6l0SzFk^_9BQZ2gISHtWxmY3wE14J5~=B z8AU&Te{(z>a#A;#Bt*!gDEG<>xey!4U%+uUVLt(N)h0_hP~MdJD?+}?0+4}twru(G z&6=8YK$I7;y#Ym%fF5IFW7AvG25+z21~7=nUWK4ft-58)qE)L_LAQkdl8I*#S!9M10 z&tHw@1pL4XEo{Ar2sn=m*fK5Ufhuk1CxK-TV%$~yrd|1afNV0ev%4pK&u`DO*o+h- zXp|mu!x?~(XnGl1(L&D!Z5hkVEkU5^{_rpqb^StA@u&bavG_UU z+_JJ?ZcS~q3t5CR;k3SnN_ z`>QX3CAsL?+jPnFvfs)lNDU(pLi}C_e)M2sWDL4>>)ZS`16$j*Af7eo?}Kqn2z3M? zwsT8E9Kzo0Y06pzGNKctJp=%7W6TJL1%-tf06!JY@}a;xM3DmdLeJ9!QUvp52Luwe zLgsTy!2;BAB|byE6eIw9&@r`P*AZK@tsb7hAi010ybTe7i02@~s8zMJ_#2|O zwEOM`Y>^9?J)%pZ+%iHi!WvBYCL<$L;x{gd-3zJaVs@X{IXb<SWC1Q+y8YD_ZEbEr!3EfzAhhO{uHv%A=XRC(CAZ!?!pz0hfI74t=q9bgagDD!6@{#2KuJ2S*ZB% zWREs%^q+`_?(a9)55Up>@nZ(d)kjrTLlfWjqk21)n8=EYy|}h}XR2MpMnhq-}@-BPJ5B2c-K${^+Svzm9Keyq4^}Cx+wKJDZg`l5o!Ho94E#wE2S%vtE zsmHc>j6lM^!I_;X{!Lk1>QWSwh)%h3o0)yhQyYL zCE(s(L4}HyuoYul< z=*2{lrRMl8&93NxJ{f6gP$pY-I~FrAK-+lml`Fz1!cFKN-o@U> zY-Xb5LNW*jKo|nY3#lww+G!a{c(}C}myCi@g=6PICSw37QMa^AJ9CB|8;BTHfRKSZ z#3AX}T}Yo2Qej)|wnbR@s=%H0#Ga? zpXef(lA%KOCSV7TED4_T#XcF}uKN&XkV1*?;q~iJ$m$3J;1-W!vBQWmpjY??%a)7| z6mldg0`eg3F|x2!B3>616+LchiUksMgMJF7*%!i6>IxR0omT?;-^rlPj>yjDGdDLU z(GE3K7nO)?c!R&ThqreQHW0|?#bD^O^^()C#>K^r)CXLk52|xi8Jn>}z(jT8Q3AjCKyt0i)QLkrXF*_i{OlPM z%0R@n_+#0~pKkDxq^bm-0@415!g3VV2K2yS-7H@CcaXtiQ&OH{2O|g@(S`1Rp1l|$ zHHuR{7V4Ngxc)Bhp`w~(AW>9^?YO(T)Q#uBR^XKu*b(`I9fZOos{}k43dEDTS+yqI z>}+h05fkI*rvvVN{Pao7(NO@DycN(W;BD+r$5MA&L^RwDQ@ba^lphUj*VSDJZRo+9 zH)jC44$e&ZLSIrx;i6+`_zAe<#Z~h->@GbzcF##CIJ*!gA%T-N_fV4fFwbX znsjt@sH~x>m3a2X#tI;kjC9t-dE4vt0LWuwwZlz=oG1xJ{aA4Df&~jcAee&*UjU^I zSm*&t%IcaLqkRiK78Lpq^Ne4H46gw2v83u{nr`dQ-(YHd_FK*wy z4f(d*BY)uCtw=!e!b4xo01)FH9$iC3L&#g5rMVM(lSFRlZ~#EZQAGfA)Q%`6of|uM z_UsMd@$QDS1{g~O&91Uz>tdb8ojFqthKax&EI#anbl4;S(6Pp}wrq*SK7dZL2sHaj zuYp#5gu(9aZbwH)@x2xJe-|hz5epBPlWfqy(vFQ3pPi8^o;_O;{CW}g%kHe+k|4C% zz@VOsHDWqr-fsG#PiyMCXf|xvFc7b)6fkuLQ4>xW9ew?$9(q<*R)8fDNK^+AsGzM~ zs~bj+esA9rH%Eu z@0P_lb!gGk4;};2Eunk$_4TpMwDtAZDJYyp`YiP9H9q{~Yl;IGSUNoegC!VyJ|Urn z9v&VTkR7-7E&u-gI|GMg2sjbryIu#7zYA{N+P1pe!zO;x?ey8Ry2v*e{8GR1*tEcz zJq?0X|IG1~hO1_Z$DyTf;|G~HXcMp9#xOIt)&1d?KpY)?$P z6t)CDo8$R>N1^><6zQK(WfCL|j16J@F(PK}jsjk+otyh!>W*K<<~722cGssw!e9ct zUQ?I{irwgnnFv^3U6gMnC=cKptqhE65B0D@Q?nZ$-SzYSxB|=;rBZ zx^NwQQ`$(1R6Q?pnIYV4GBk_^0eIbS+&y5TmtQwt;6C6TaLN6us?E7pFB%*7qWGFe zOFQ)Wr7%D}QQSuQ9v8I*Jb^y^_V$657|ciS-dQ+NPfh=5dk(G%f|oulnwYu!6%|3? z#=8Z@$00^@DEk!;?|oAq7)aJMpah^rCQ^;=dI0qANuMNyg(DHb%$sMJ0?U;jjqCvw z!5`2*Hx7T>hr!W85=iF^FO?^r~eyqh+pni}P zGd&@L2kC1mi9_b?dK(JMLANEAT0sy z3zl1!=atsp(|rE?IZ5S6cFynbET2DrJ}9KN@dI)`gFmYYko-i*Lj54T`=!BoIW>fv z9pwSU#>drPbcK61U>)`>{^Y!D%}G3cS``n0YLQfhfR@aRjH+9=GGhKNnF=A{B{-yE znG5aCrlz4O@g7(WENC*E07Qd=7T5>DFMqeC2$c4nRcI_f-T9q zupNMWe6_Zoo-G(?09gs3C%;1*SFBtacmDj;;|7U9@6*M|1B%p@=l>)%DMT#S z@btV{jFccQE6WD`l?jn_88{(cNlD|YyYHHzT#W!uEFd~zdkC^XB=J6>>|Kat4>bdU zZ#!N7=l6GuE^WJ#2onP%X0Vq2J%qWfnvq`a?#mqN&oik^4Ff9%e`+@@iMBp!tnV#*Y3=FM`0KFhUR7N*Dg+b$%KQ)wx))tc2<3pC3XnK0L~am`YcLMcb@ zD2Kp3907{6Hga~&V!F@ZOlgLW7kl-e1!iNDb!j<$e~cdHj4IeXRK~o3W3JYn-D_i$ z!JsD#maqVv8q=y(B7lcg;Kh!orKL5#e7PJ?*nuK}4SAAx`|yMs7R4vzL1*?A5V7ZZkK_G|ShBoCG#N%j`FV%AdZUd@ADfq01QPHTa`CXt84 zJ0@7SfDm%(I8pHPhcFVc%Nj&4WC74}L-kjg;Rs5H-b~ndBqm)X4OQ^cpr0GT+}g{4 z{hDeo42Bd*f8apBQieC1G(4Ux3JMCfb!_AJfe1tH-Ma@uAQYC5o0m*-PD#oQAk|jF z6 zR3)&dv{>?z>opWT!VNCv-=@Yr;CB>&+fo!{{5q8HJiKexR6+Beai_F`C?boHfDWF@ z=C>T!eY|ybbs>!E>n+Q6fsXq*v+zuYgS`=?c{M&ZhVLQ9pQ>ilZ~Z|hgCu?4L*s^b z^e&;SkpWo927`q0;QoCz`7$tok>n<^)vfmK<@Wm8lI&VP4K`DS=_ zS$AjW=`&}>3_OabGGSHeYrS_4Pbz$i4LdpqxrTDnwJjCcrZI1)EQ-Bg6sxF*qE^Z- zVP7Wy0^mC)OBm*<190B|Q&7W8pw zXAdAMfia0TZa%YfBsFavB7bhK;5n9=Ex-a?S+gF{$K#tCF>c1F|JwUiO-rWVyXSWS z4N1U;1jk<;a&4|&{MGnOa07&znwmiV;|bbWu>SnM@yP3GBWjjk_Th6WT?r z;t=BiYY1Nm5eyC%qx?M^F;km-eB?;DudXI`HZW0w_?S99#3Z=V)+6-6aPu5ROq+jp zu2BXZHkhvE0B)_Lvr_|=eNYjNiT`AO5mdp(+Xr@rFmft*hJjJJkdqS%vp!}OC?*1& zFicnQ;t)5oZe%QwZUI21M#5=DZq*JK;3C^MfP zcpo;{V^IRa4UmcIIxzV$$!=IvU8(Tn*h8bz&HDjC@{(!pGU7FXSI43HG*3lyK_%i- z&dr;b0p}>VBNCFGh>Kr3%V`pEEO*a61;7(H7gs@XqacJ`yeaU$z$SEA=u|r@NFe*N z=fm7dy7Wv-r|ixZpdqBCr3KRLp;W%W@e*G%Pfuy!Oy4p$RNhcW*f}`5#$(|3($30D~4QP24}l*SmsHbtAD`>o!?6i#rM+4`Kn}d zX3C_5mK9H{JMvy-Vmcx+a+8UPRKs^*KPGj7-D&{?B@#tCH&9SZNin0g(9KfU()tv9 zYJuBO$7X_e5CldTMz=L0M1~@jeoFqP8LNC8L~Mc2kafq$kAXjgzqq#bdwF@CIeXR} z3Uot9#Wtbkn9PBAx_yq0z@1a|H1`S$4yJZ;4lk)gOv+`@9n@-`%s6ZB;W5%6Dj!;u z5!#)&OJ}wPmT`SRJ%EF8>pc=1D^%SM~MdryCon(6sKS5aNv zlhQx^J$0(><5-&=&>@k&jB}BmXD`&qR{-&ZpFBA&FipD-@Qk3?+B#0-`(A_XYQ!~5 zGZaHeAn>Q1=cXm3rKjG162RS*>(zhg5864qPQF3E&O>EWmhp7&KoUe3#pdTtO|?=6 z4+l2Nf~7-i6Wkr31Jd*Jqf=8`=W|^jKtRJSu=R9uULd+=o%$M`vcnUdsA28azUOJ&Pdoo+YFu_;N=m_!*CNiK|ch4ZAMoev(Uvo z_5As(QFX%pK8R*(goJdH-)RfIp{Aw=S1UaDSRPd?@Q&Q!(Mw9bP5k%Tuuih;md>Uz zk7CceA)ok}tP${+Q}pWN22^M>q)kdoKtl->C3F`E1`pA~&m)337HDyW_nsvRX@1DN z9R0h5&akfEp^Er!7kMq3n3k}sYgmOWgGNU^f#Qei`_|LOpsL3=*uYmdT)8E!4hft@ zRpQ;8)M_qsjTO;PLM68yGtVFS6TBBJV#3Bx>A!gVE#1ia_eZ&U5??o8Q*-yT@ z(7usv^8=+PNh~wgr+h1ds7P@Mh)awIV${7Eg3u<>$^%7tron8>*y9WXhLszL(k!~G zm^)*as>qJ(6co59G}i_XaV;0IV1Xn;z)rA{Dk``F`==|=Rk1#JXaSgaNykQR%~PC$ zcP*ETBkhw$KGd<*d;O?E;UINMIMj2(ekR1t9fV{aaPas!bTmDHPM%C>7^{2&nluWG zhbYo#+}{W83SP1msSakIk*A|ZO_R*HQ??%-9EWkd8ihYpP=1IG zl^{7_#dK;ZmH^Ar4RXV>rC@S=91agnh|pM#d8O=`OZRnDh7(x{1pu9xSbn+1#t)Y3 zddTM?o8sFg-8;28zEM{;H=n~CFmrNZY*rr{Xib6LVGs#T$s|Q5t!Vzz)$N}@*8uVaNi34ZR7%lW?vOCH*$2SLwA{psZz_Iu zXORJgxZ7alHFtNvfzXi-)FsJIs|~8)_?0VH7&Md%ya)DBg<+w>shy27cQg4FXiso7 z2~;)nzqZ~Jrhrmqz_g<0%Yu>)5M=4Mp1AiZ#J=Kdr9JQ-Ym$~5Aam5Pm320s*^?&( zJ1$B9c8sV1Ds<|IQAk?mh+1k38wNEaaT>!5PPc?pfHE}rVH2$Awm_TIj7aM!aOx18 z7NMFaCU6wnaLUIZo-I_}RqA5|lQu#^HmSFeSS8uj!!XzMs&I2|A?(?iRR zWIk%xHqo|h6fP6eN<_LMeOZ-lNQDpt0wm`CSOrKEAqwygD@Rnr8}KH=6ypED-8f=* zQZs^cO1wX&2X4t2hAdd57QK}eOC!}Rr4l$9tp_&v4=Yk1pcvfoj{q>p(2-JYW@bi` zyQ!QN%Y#rTmKN(C@1IKA@C}R~dILgWj2wZti6`Xrs>RAuxTi;N-zG!+JBU2NaeAq9 zPvgbW&o3hpQfKmvIJ2f4uqcT#0=!u5+c1)QlxDvB#HbU>Q%&f%zT?AL47$p1NP>i51#v~^T z(hM^pE^ncb>Y6kgFsxEArC4Kf(Z_NWXp`8fD5Tm%*UFA3gBXJas(yf}*s9^k`_-%( zY02ozfjezCRTxT`CqYxk0sa@L#tRs!zslYcNKm_*w|Agr!^)w7b!u!K2S%g;(twJT9z%xPDK{wC?5OfLDd*tJej_$+_Ekj$4?uXeU zqXEpLyHF_@i`pm8>t2e5OZGN3BdReri1lds;s+NOQdCq#(Lfm%0)Gz{nHyFOI=%TR z65ysePE+&B$ZSK1A^jeUR0;J<$WhYs!zt&c3UV?WmTZnov)pk0!Me2**-0&mT|ylw zXcKrfsxVA?7^L_o+{+nZ41MtStvQF|cTifA0^=1Z?vDc^Qz~I?LaRhDn14aqQj=`G zm~v*z>sa3)hc;4$A^!P=y=Cm!hW@>ZQGf4PHg$0nZII`#GMth@xCYHFsKq!Ic5PS5 z12`Y#Ai!V@@ahCw>Z&U`Hz5&c;Mw7UX@_wJQJHk%qI{K<<02jMV0j!6@G2`SNy57A z{FX?Q3;jI*>wiLNqtT4LE?(M!5|wZeD`!aYkxTY>2T7 z7BAkMXO?mC;!w?Z!z|;NloWk{c+$qWe?N>58p!8Z7sN$@y*2{J{8j`o-w(@G%cq7H z0b%k(wMT-0J*G2IMJ{$UADg!j92~3YE^YAPc!vX4Cp&B)?WO$i_K>^@qKP67oKZIU zRT1+1+F+9kJ6qf9;NJ;Zjk03*9ZxIdOi+3OryoCCnt0(8Q2R$1oJnX##X~xk2sH`1 z8iAd2a|FwH=2BML{tiOs!UhVo6^f+4jEzkT?b2r??G}Q)OHi9&*mcJ<95Z(i$R1K( zu6ZFJcrjw&V-YrE05{2z`C~2A0Jwi(Oyj^>4MqPS1@D0ungiXe26VlPmZ1vUm~y7%$k)gc3f-^~W(%16)E=AX))Nuy#MdY6i+nUF#{L8{r!vVSsHz^j<{DaO5Pt zC1v8U+wTQ+ z^v9sp>3V4(w%B1|5Ud7zoT!R$0Syffp1v=*H&w~^0X9ZLauV_!SyR^w3dT>Ln;u*+ z;hLfnn2OYavT8THrP1iNM(K|;6@*nfKn(PJ`I2FFMWuHErtTs-GZA{uU>8AB1whVS zJ{FHM0CetJ^z)-#Xx}~|)T;3R&-(+al7~PdO451cfM3KQ;gh5Wq#7O(0h=T%%(x6t zvY$OeXBsmiXO>yNiOPlMckj}#T!E;+1S=0JG$Si3-Jnh!Cl)jsRl(e<(yL)l#ap(co@u95aefU#xu#uU6G$Q($LUkJ7+FBL+;_bM#U84*A=nr@($@YMgi}kxV5}p}^rDgex)BI|$*kFoP68 zOP-pZhMw(!_99^6KAT(nri(EtkSU0?j*w6ZzL9>(l1HeUbQDw$<=ufR5quENYUnfv z1?3Ah73};(r;0$yaSmwSa*B#3DE=W)lS2*Q4;o$~tcnVoDCuZiLEJkBCMPyIdHlQR zOnK&riLz>^OEWtAqoNq>O2CR>%|0pYGpRnX%o(OU&?|^~h>$c;1IS4ZM(LIOVxDoC zDkca&=%kpfA0~vDbtOFqw_uyDo?a(}p?P$4?l3OHRSKMk%0CvYU`^T&9IAn45^`FD z@4`C=oSktoqCTg2&Vri&zl!oXHZk!8j#D5~GEfLA8RCcZjp?F6#|J^ept=@^dOMPPSv^DM8vtdV%Qb9iW1alJ-!*%Pbg;=CSE=Od%h*2T> zK4f|S;aA0$XEA)p>SttKS0ig>VNYYzB!k)|avK&cIxi(qK1{{e$WtWMW@$>Y_RN04 zLm+>Wk(n(9NjV@|4iSUl6wZN(7lT6(?%UbB`R_|SwCJ=aUaw!j9-Zmj#9j-Pji{wC zwWH3~LFPui{t&Je3?6Aa1O;Q)*t+JH#Z#nRw8ySP=>|XkGU&b}e}JtebvZ&0S++p_ zTW>l(^D7*%7#^KgUbQNvZTB?{OkyI#xwX^pk90>TlJilT_yZYd%Bj8tME5DKzt`~P zDuie7&N!*XFjdJ4tArE19YkV1Jn9IR{1W&zY%yYqfe`j2S$yUwYQ%u)Z`)Cns)FrC zHU+hCjCXSczTF7jYdQcuf|g}|WnA9c_Gf2L>t;=41|QTh4k(kIsd2}N9Xhr7<-21? zdGh5^IKabE31&22ZQ%gUr$EUyHvTCMM8aZF=ZLcC(W%;Q>32%0G|G!TB@bt1n>jA!69r*&Rv&ZKj3P16mDE3g%U-uq0T?oMPo;D{jTbATu6?2L?JZ?eNr- zf6jLixzw>aPu44C3%MIk5lkvhn;1!XEhQ-#79P$6*AN~P8DRlV-4PW%1r;2S z1&)~yut}pa64lF<7oPha9dQ^8ZWq7Cdq@0kV})Wa5X`Cf;t9*jl#y(R6%jrf-7Exa z4kU9-B8m{U@ zLWlu3ZRP5kzdkY|q63m4njbsw8r>^|Mvs#l}Oa>a7oNgNI^Hj{P{Zg0$iDw`V=q>AL09?Hmi=f z_5tA>I}>L=Ec*KOEA;zsD*oNTMC@?GC_eG`^TVMefvI*xXTZQC_4>ts+=!!xKqrnh z(=LV~)E?bhM6!bTBn4&#jk7aFt%0zm!6G~z{o`3{>uM>fLU^%B{88}K-c$PLJ@OZ# zl@8C;W*z`@45GGeP^*-A@XYZY*Y{Gv38mX~2c8SyfXvb|G?>AXri-!(B{>a}6=}4D z6jBH#4=zK^1fgvd;wbUwl)MD8gc>=l9thBQ$d(+BLIc4=TPX; z10|!YTS8Kjbn@Y#l;yyRD0TH=e94940)#T1`P$IsNhG#<%{daIW7qaB!nlvzeF6j- z9vS)Y(IZU&?O2%}%P`2U9>4`i>YG$mDe(8%LqDbvQ!O~X=MXQ+sX|EiF#8Y-J;w2L zVq&(mO&atg6vvzC@1r(vOAa-nR|AH~-FAf)rEy){P0$}~_%_nJj2wbxybyC~4RA$z zMj$DYdI+8PV>6QjMD3*D5EKNo`CzFnZaNZ^IQc2+30l$-ly%Sj)Y)X9ayii z`!GjOfcX!4dD#O_Li<%}P{uJ@ajB{Gcm{N3@qi1($EjTRcVJQbjC3!Cm6kwH3TYTX zp&J(;U-{_dN+M=rLJ2Ma@qz{lHQXnx3(64o2oyy50_10iDW;r3Qh~SSBk;AfQ&R{G zr0A8c!GIDpMEoq(!7TP4J|hMcqln^p;Rs@Tg+a` zN=l*$HU_!M=D-1c)bL0{eK7lBvyh$xd?Rt*WA}Do;gNa)^>O1RqcuQjKB#9AXVDr@ z8n0l*$IvZ70DA~iG~O%)e=ZjBK@X3Qh&-gSN8ANXNp?}5#jOWVpPocqvql+@jew4N z*Xy@$&vd?yKJlpeMk$m+(tZJqEx7G63wlh*sR5`yGjekHU8R5Skxa1=h)#+Lhhp^_ zRTNUz8>br~@!`xp z3VJ4FAmWia44@BY;bA03d9gEI ziCg9fzX4hc#tvYz9sqhXae%vDLtUQm;MB5px^B>C&@-k3PE@7l zTPE~q6eO+YC<#4?*%h;gmVkPXuYa7Sn0ZV;&+G|z^}OllPwMMYc=K5{Ja&MgAMDO> z5l{e1fy(;&Q-C$pIK=NU&g}s2%qK6OjHCZnKqi4NqAs#WN0Ze!#CLX4B za&80Jj^wB=&_7@TQ1xljUu3v`(Kt6g`y;plU?%KT4WyWv=RN0Uj{}C`Nf}i#3j)G$(sl(_6 zGR+Zs4OtoBUwz9Fnuv88y%*SH!(fju=H}J_%WuZ9WKCyPvy8DYHE~oDGH5224bE3v z9t2esP2<(jbD)jPhxLrG2*}THtdg@ejK3VPwpK?g1%iR~)YuTZzD~m_z7=)8f@cq< z0#~ns0u5uJ?cS$uKmSu*lxdEqXg3}{z=UJDdT^K=4$0oCcj zYb0d9p@2rg0S#e5H`sWF!2TeEbZ@}69*RmBdmXKj!{ATggdmFqT{*oO46a(6Wu>Jx zkRPx?vU2_46u>?slDXLxVxmNQ@cqilc|7y*tY9M02m*LXjYI2T0B-M}ibSnK94O5k zXe-5lbpd&mA1Q_HbrZ?~*ohF(e1 zD(${oXOSrhoX3J!Qaaz$_)FW#^TAW04;4j*%CA0H0}?O<|c2n0PR$ z0#Dn)-J+C3E;Ew<3ezL%*qM>@-)3Jzm4lj~4Dg%-L`+y))ZSg@{NCITX7NL@0Gtyt zp2e#(YYf*cux@Sf>hf=B>lLI4(2X5!sH&>^(APJ0H?I<6L|uP0F-Mp z|JvRC2!yU(P;34?U{qSNC~*Dq$+LJStQE7F4dUX}aTTBVqDsDWzZ&cQo-~u!wqbVm zKzV1&kBa8A9W4Q`2XA*z7iFlaY$%zWYW80bOaeBertlhqA@+Ltq&e`u@61d;XHUuVmrnckb%);y4&GE&>_xha z5&2+{PA`r5W52KMrHNT^XY?(TdgHDA+i^NW41e$J3-DP#kE*!;ZDB;)?OlH#Ym16{ zUTNL|F{G=qW-*vP8*Y3F{_{dQv-$G*_6_IVMGsseQ3Y8c;Wr-PkF+)gE_C2x; zDkY5<6S7QWse~kzWiZx6i7}L7Dq7C>!klx?=RM~=uNn0`|NrlIFV}V5*WJ|5LKdpF zXWG`PTKH4rFaLV!iiVfQ2b?!0uW23zMj71|u@l6b!xdm1eTNaVBO~&t$N5F5z=lt_ zMVUnt2U5VOL(9NQ)V-fab9eOG{^d8)l;7MDIK`S-cz+A#otdtLfs!pPl?B~1wQGNF z5V4GC-^AYnw;38le^boCRziOP+CBd9l$F0Bgds7&0}$`M(>`*?;Mj@0rjp+yXC3y~ z`oAxYzv;`U?PODK7(9wVTAai9DrEVK2?<*_Z;s`5s3k!@MA?N-h`OXdF#-sfuR%>u z!838n6o1-RR5W-S$>M_n=XG=%)bf|mp%Ld$$HmryB5C{_of7toj6kz0!9< z!elXhspEsCFl+!{Gz{nn(~f$GXBkwR5?ivbbg$F@b?X)UgcZcPFAl5VQY)~+CG%@g zlL-o1}vKCGv+mAcRXzN1vd-w!VO%iomlbQPaz zGDm@T(5O)(u;Lp;6N0b&jZraPUCcLiBr(#0jo2Q(fB#&dVMLPnEpDlk91L>W2)-tZ z@86;Bf8V&){Fm7xA%JuN7M#f=45lro1c&G=jnCIG4Nf*l-SS!o$rY%fnI!-tS4m+bPEz30dFD3=7tP-~)jE_g%s{uUD!@bjU%n28~nKIZw z#Zt|vxCb&bcBAK)E2aGf&r1mj9r*>IsIfGM>Re&#o|4BLCfOmtK-xF}q{~3*GL@P@ z!x79v8`?3|MLBg~$!vNpYE5^3pu=&*0$n7|rTf{I`s0IB-yjfNm{s@Lvu6-$SrjEj zxk+uuom&(L#t}6!z8pQ@6@H2VwqY90ngPaZCBLWxTtDU&)qJ;Xsex{o)L*9E#0w@= zdq$%$MWeoPCvO;v-raKIxsSTHifS8_Dc*ST*EsJi<0B(W_-$Mr(R#dr+-Cosb`G9T zCe^dXrfCpc-dg@WWDtnFDpkY%Q?mv^Y9cSw^e>?rD1)n#?GSEqZGNL5q$`uQE zLAniq&6kvhv|}_cxA1i^@QG81#W?&-WDXokyAo6kuk#Ype6G~x6(gktIPZsrfJ^!n0fEH`21ENKdsFj?U4b9xp?8`ADL6%&lnbuVx zUK$#9UueoDr-51n0}E%DN$vV)q-!wle2`a(07!3hb3>v0em`?2tFSvk9FRsbQKmOS z8GJ=YyPgV79Wt$g8f?BuLRy+RU^wAkGxJ;)oolFn8E#-e!U>ielwu@aVm=Y_b*3VV@-0VYLf+!1`>%QHjCah=T9#2v3e4aRQ)epUYT1M0POnkN{8&4Gbs&mKwiMhYbM4PcW&y1rgjA8))5g_EqViD!%f z#m0c)2lnr8{wn;y0oZ$t|7$a~_oJmVu4E)r3J6Q89h!oW@b^FeO2jnLxqtuOo#O{@ zke->@52QmlApgZo%Z(VHQe&@Tu(F1gE3aEH0s3u^=j{JK{MW&TX*DPil$YuOj8Ke7 z)Zst=L3>B;*Suf7j#J%`WvV}=+Un3DcR{Up97DwI7YRKF(JKSgnS?MO41nF9P=&g7 zBWaeeuL^xvt8Pu2^sz4*=Hh~oEu5Q6T9gX~5e}Fs_R*uSIlXX91~O_R;$%^`1pIuFZ5zQn8hlOwqi7zS|R8e$WX6j1%Wc z2L%EXs*0#o+#CM>8C0}1;y5_~e98gZ$0jR~h_)}xQPnnr!WfoSCy z_08zx{$weDdnbgCMi?^f=+N^KT9&|{d=U6%&bv(1YDFzM9n@+Tn| z2%rTyToRFZlEcTi@I_=ld!OCCaU-2FO7kYf!&@|ggg?Qy*f2I`>q3JD4R8jakmmiE z@fFr@*zh(luMgEY|Af$xK*<7eGW7W{JFi?TD#a>w+l9oA@66LB^wz3h|0;)znJ1w+ zaz=i6$KwABLO%Pbiha7Q9u0ZW9IP}8wq=bzs? zJuQ9k?AI|T|CgK33zL65Mbd~5f7LOgzrm{;$lz;uA{E^RoXVPS_I|DX3;K_W)Ou{U zklRtV*~}$xn5x2>GZq*CTMMFD;9c;%ym!U_b#E_Ywt8O=--P-0M(`E{#KWF!Jfgb4 zjg1eyIX51Bb2BgTxqV7_QHxHUwo|;hw~WjG2I!qva;4|z6&^GWAI2eRzJY%a@b}J+ z)2e}$b!Z;k%kxco`ZBT$SJ>yidq~K=-#waWEdi<}xXdS99uBNs;!lgwSGbS481oEO zVFbkpS&Zr5B$VQ5uSz7(Bt4Zp%SVh?4yO&Cfzl-wPY5Wow+3b5j_Gv1`sb%W?zR0N zR~rRPEGka{N?_8OL+sG5@Gtrh&2iFmFfo|FZpP)MI2xjTUq*?*Sexj24vH3?fK>xZ z0Jq^E`M!I060&#ll3c2iR4@RAfnTVKCi}OF#Mfgky#Y^L=CLfWK+8}Ar4N?yT?i@e z)H+wEO`SGv9$GET?s8{#v#>BM>^7)3$+C9^9ZX`1k-A8JYImQKJ-iT@jR)CjF_G7P z{;Xg&=c*V;1IK(ymjb%}Hgg)HbjGoU6n3M-BIU-^is%2$gGtQH)(fp)-vP0g$Nc$H zvB(vM612rDIPi9qFP@loZ*ar_WRB6G;vYq2ND^ zq6{mS*-;ZHMynBa79YyL`@ipBEy&)5PQklVdl2?$l2L6gVfNYQc<9otHj|;CK~`Xl zqtfq%Lgi6S_AyMN(qj6N5buxMy4)gvz#P(Wkza_(ot&jeo$^4fL{rT^lg12q(NG`c zg`Sj&XU!Ns>>84;{2wcEo6<8f_Af~xFqO4{A8ZE7rinh3D?l|>_SUJdmcA`NZzPJaUrh`=~b^TSiNDx24qJ5 zFYcc_WRS7-B@(8I1y8Z5zp4B+At)#CE0JjU^Ob@0T~d;H6tcwcN7gg3V2rI9Vf{eE zv7G9>OFwmH?f`7U3J$P2>J05}$vqncA+RK(Bs(Vi{71*7UiLSAOi|F$K>FmDj5+GI ztjcDqik4*E2WjU9@VKVTeH^oJv|pQZ`D60X`N~iOrHQ2IervqT(K7kc08(&fG7VHb z>6sfq@@Kq`h)da(!X+{iV-KXK+{ITqPS@jas(TN#!uEoT)Unbr7=Vue4mvPTMruRB z+Kl6B^4Kxy?y<=Oi2I2^lO%6onJ`KRz)U%8^8}aVKU$!r7|7Z)zY3}qXd#4@p5S4gTbBBk8HnZL924`F~x zv?CCcu>8bCBmG6ZhO}&jf(&w1VlTk)4*WhKJC!uJTN=UP@QqwzmU>gR52R){ytsX+ z4l!jKpz`3L?z?yg8%cz7p>XMcoDgroP->-)0oWADQQn@m2sY^9p)-Y8W7c+D#%eSF ziiJ5;8s#}m27YhI6b%sbEx0&LA>ks!J#B4I@`0&RcF~L@zyT4~G=2CTS9qjd+g%h< zbBFeeta72e#Q={TkJmAnD(65lb-ivs&kTxA4ljDm&0#pGv%Wp3>G}LrA3`SzQ%iuq zw96JYHuWe$n;JnU%0Cc6?J#UcpUjGy%O6vF^(7yOTomuhNe~JHi5JCJXzFooh{MOP9{5LDEIR~0}=QK?CNrSwI|$BhGM z>Q67lsC@*T(BTQ^KI}D5rh~zmdJ}UoM2=|??Uel;`O%amT7SY^dup~Ix#!r%Wp4W4ZkM>v;HrI!bL z#s}Eo(sTcjBSR=NMOqWFBk-B0+`Y~KwUh~%EW7mFJhniKwP2jwF6_-s& zCy0>7Eurwur7inrjEQ!5QF)2gm)9faan`NOq_qfg2UU57l8!Un04i=zR4f4qO9 zg)|GW723t43rZ(+91V;125`vbi$vidy9|E*Q`Bvo(0V-1D^3fA*5*$B5+fK z+;mA{eDfN<8d=ha6ucoXq7VPokI;|Lgv>8wHBrG*<06I{HETA;;(&?Vlv}~%F@T4| z@4m_E?0pGu##UNH<8LZoHLpAOaGc@u@R}+RskGJxksyhc(Vjtkla|5356X8x9Yg1G z8}ac9tw*7{XP zvdX;cwd1=NH)A^alq`{|#TUQe+wTV5jL<$PK=iACa-TF@S4z2UZHdEJwL?s7Ff|5s zhuFMEhy`~s(H^X#f@hng?`FLK2U)sTh@<)0kH7W>-fMX>Ia*u_Octe{!;nrwGZ)gn zfh6Lw)YX8~zoM&@8*s$9Z9HKNLGA{qW9s>W8c1zR4KR1!ye3vwCR9hwoPrMjnTt0; zZI-hc>UWxnI(J!z$YL@HFQFS}Waz&hv~ddml91qZMo>4A`U#J|@@@dpGRC3?zJYxw zkIMISliy3hB(;Bn3f^eWnaUZBYV~ANU8OqJuR+i!P?#j+lq=J^GEB?1+DJvFakOW0Z z*30ae>jyca5qdyvsypW~bD(d${2Y|^4(pX2FISvjwP6=$!zAFG+)0JkGVUn!bppmR{P{X6+fP z#QM-=`nlr+O0IJZMx9&q9aiPyq8ZcLLS51UYF^T1Y}%Mqs>u`r0SZ&?PUOB3+q*F+ zN{}O7HSv2_9uRXEE4IF4BIjsA7YaGA&`+(PafXG*O*;~4J3METNmn>fZZ|4ikCH49 z^rszS)m?jhrl4Au>05T|w(N@2e4x>XTF3zyX|XTY`%^C^{$kDs{3r-1S^&V@KzPQ=#4!fDM;KVQP#^(t59KX92Y_2#ta0OwWe zf2%zlSMT3V9Sn3Lxgr>?TqQeLeERJyMhta1I7I|xCVRkYs4}2*RqBUqyeY zA*yoEItm_?S03-q-SZ3eS!_);{fYOqJxQgHXMZdpJj+}d`Wvj&MUF>H8ED*N&WX<- z<(-Fi|Dk{x|KU$5v(V$iie%#JMrQ6H*grc*jJ|NM0WNX9Sc;c0AxML;62 zjUnkWBw93Tej-HB&r;@9S^MR?dawL;N`?KU-w|h_J=QQx#*(HTd-ezPsY>eV;>AV^deVWyb z>*3wyCx$@>b$MXil?0ktBD^*fiUwou&aW|Qdqy={a>ZA%wFgd&iJQHQif7pW1)OZ! z+c0Owb+-R8q0$(s657TEOE=Lp`SLGALLv{}61?<-y;l#k6;6$J6TnI6@XwTX-Gc-7 z?5UzEjR42T)m*v&nKADuF2ODz7yg#aPsLt;Z}9`-8fRssZMOyI9^TkEZ_}&O?9y>@ z+4kN@sP&*h!%7%!@(G%3);q(i$4HpVprL^%oUTHvbfHL~4-nr#bq$9TahUyqh*KSc zkd!q~2nML7_v&3iwp*E$Sy~E`4bI_Z?Px%gOy|_fCmXvEI$_2j5HGJ@z4;px&IPxy zcsyNeUib^N<(`=U~lzg%VkvWqnk%v^Mb&@*U}0k4F}katZ`RiQah7sxyi$da4^ ziKxp?A8CNWDk@q6adE8StvkOu5fmid)D87JD`VR zkZyCp#e6zbUZM+A9&+^MK*^3y4KivU-nyOwi|*Fa|Bys?bUw&CCVZ+?D18?pqYErU$f2S^8WXXV~%n)#R?I_~dnI8#0$q}dg;2h0k z$pC%sGSt&81J{zWCDN17mJXJj#*V-$c$`E8*Qs5*KL7+&NMx^VBEvZFWXUWQ`6pJTtZ%(=z1|BPQWF~{`dTU?)8DCCo_kGU}<7U z{~{e4k3WHMkF$?BQiIO4#0_xc5<>DvOd@FHmEIrc{2xS4=!kq0n6)E!@o#9Y6GL~x z3}{?shfm3Lk>iU|Mq}EF44FRypVKQ2<^2)zm=Ij)5+6Kvo;gnoxQ>-l#Ly~Ls}{05 zN!>G8lvd`60OL}LEEO$FVh8>&;|4>4<@`3-N?HE#4LlYsNFDZ|zhGnKV%3<<)$$hs{UhB z5^FLnu#pClvdB0#KHiVBH4JVwrsynsQ8CsC(O%v^*$TM+DY2i%2N&oO)f#n|uR7FM zIJl0GN}d2?JpDLZ+KSBU1E)9m(v!|b%fNgcT!W@l_*W<|j6eXtA%lZ()TPbj?ihYx zcNMoJ`=2mV<3I;Zp%Bis0zmvCElmJ2a_CMfBlYuey@OjAl%ybkFXDtsglkp&`kU6R zSzp|QLjpV}r97rwq2ETP4*3@?9TFS1k~sen&QGgGosJ4gQ%cfEkNKLpwYhA?H83;C zh`&jQ7J^Nmu6`MZ9hhgAja46~_#8$?OMgp~(W^onwUF=WvLC72!|{jIp{5^hM^#5q zl%yF@0rN9dnf9uDz|kdYrGEP~-?@0;kr6)Ij4Dz8DNr{dqRZ!-;CR(7qt6$M4Mq>H z8WmaD8$a%J%ofjY-e$?I_te1tu$}>P&&?r~YDc2H&{@yGG08hS8+{10rOZ>AKZ2f7 zYr5m)c5;RORVv=B(Lv~N#vEb$oUJq@AaO85qfsEBTs3}tr-c2VG6*MKA|d2*EkiR6 zMz(F%q1)4GkV%$CkN@3zm*FDh#|PV|rldS4+W2%e9XECAf#a_qmfWMEruZ`@n1inj zBv?>>4*jq(D`*oXi~&6Hz{SfKE-a@-V{1tHvtK*6MQDw+SLU9Lb=xl|fCB?x5VfcS zhB*kT;op^mn5v&|eWqhZjmsjPN;wp54J4_4W|RN8z!q{*KPO5S;Xyq`o^q9 zoS#`+VCYMa_8MFM-sh%*3<>ln9scT=;Iad>CR#O zt9m(xSX5X(;!rq9gL*N-iU(5$SfizRJ!Vi-1{S;p^KW`aGD1#ASNJGsAaVtqxCJ4+ zWSoX_ell%vbF)emBG-TT_J?nON&C8Y$zly=)9DGE)2tEE2Y!w97r%VtHJU+kbRROy z#Ey1heOOaZ{4TLUIB%bPH>==&hEY2LuSj2gQLfiYKiBM_dx$@+Y>f4NPs33Ez8Qg zeH0Q(A9TJQL0|QhQL}ixeY&FipSCmZ-y*GOn@XBbX%9wQ)DEi_1?y8Xl==p%Gfgld z)(dP<=iB;KA3uJaac$RDV%5<718dkE+e5^|$;}PC41I`{`xxvb0@KMOh+ma}Bk=5* zn%T(tdFcmzuwfC^G!+~dXSAaCGT;jy?$*@&VG1|jd^2SBVN;V{rbd6{++%&IfLYld zUMN^EAuTiv+2w0ml$MqHn)=V=UP;J}P^TFooA`AU{0h+BBDF^(?sYs8^Wsr-J}bh* zGqY_^F@{8%jpqYsuAjOCL0?o5L%ay;#adlOwkI-5Ix{ZzUz{LG8K6_~ zPrGw?G^p*9Cr@H257me>0iaduXnsCn2^?$XPhPcWd;(pqMiT*q zMxR7NY=kWPOWdPL(y6C(I0lbFrHx!H$9lZ+o6`jUdYxwOENEB5Bt2^1W~&xPM{D%k z@(7dzML=G+2g%p2v68P1keKW3Lg?S^untRd)2CiI6XykrFWPyU&sk(}vWI3r7b{kY zNVV$>H!ZO|GGY)39O?JtZksmXn9f%{AJv0>MdYq1>P|UNuyZ|YLA#gaT;Ujj8u+Pw+# z{pq?PC(deZ>o>**X}zZ;283GJ)?yqi4B0-6%jK|>C9O|-NOfHq&B+LL6|g+<9{ zXQpJ+4mC!O(z)~LnGeLkVbTV5X11RossHFN-&8d|YgV!2@}Nj9Md8LZwX`%M1HD_+ zLp33#n|Wq2n~(g$!kz`UN#2@CyL))d$x2MFaqJ=R{|>hGq3Gj~zSwIskIOCwGj~k% zr{BS^Sz>ds;d~>0zmpj2H)a(+INme%IS{dZqwy00V>efm$q zw|%Ssk&}!yzc#@@U-f@no82QCXk@$z8bjNo(F}pC#&UKsH?FCRI_L3OZL(+5jgI>Q zFk!v+lT6fisp4lR&AC|H^(OOQ22qNvl^}Wo^Wbo$zY5|;W8b3JpZ@npL9%W7Yx8*7FfYB{stB>4+))~*6%bDdeM9+$xyN?x+$k!Mc&e_6Va@&AG;mAkhra07a!yUN zZQZ&GIlHl6Z#2b$9_H6~IcO}P;g2GDC1vZRIkH3|5JNe|Zv zow3Bj2Sj=*^}4Te`bP=Ov#Y^ zWopK4+qTV2mK;q;dh`4Q844IlnzxA@majHII*Z%p1Y{CQ}k=Bl=~8rcTO zXAs=CUV;G)3hhRFDrz?UZa@%69fkwLa?*5|bMq^EyLBcTKArmI>zdREsT>@@$UX&# zYjML2*rQ7LctTYzI~{)&z|w*9n;CMK8D92PbbvU_%}UjR>I}o^up3uCx->VdTcsSL zGUU}-PRziNcpt=-<@|arUCMt`bZfE<0l&=SnaPd%dMq;r6r&T_qI>TYt4Cwb4ZS_R zuz$jM-Fv`ul-hFsL;J@Ewc% zdgwenntVCM7p$8FT&zfQO26FPy4S}s^{SKuA|ur4|m1i0*ihEn#sq*mnE`v}{f z*^6p#=%06{MC?4eOJ&eb+#gcKnWpci*~_~m;pw=kZcJ`A&*xIh1Vw|C-Q*WJctE9J10 z_)6TdF-O$J=6adic$#n_h4wPQhPzM*{vqH%l?{MrRH_wxK}Qf_3<$fSu|7crsB|cw zt0Mh0a-;eYRe@N=lcto$SGLOFK1-%`?S(oViQ$FpM%w$@zGKHSPv~~RjLUHk0Z3Pa z45BcjCpH$LLCtF%OIfPHEehOe94+eAua%+hr86w@@?mt;o>7ipj;6oUfGQq!Ak^3r zFm>#2uV!qsc4~ycXzQ%8aOw0o{Q|5Iz0~V4W#FlV7)FmZe*9$CoS(UXzNaf@$u-R` zl0xBLNjWJCrT2`b>7`96Nk0aifF~o_#GG<#@wCN+qO^PeJ_yPYSOOz*fT>kA-yj2@{*4Qebd|IA-BFf4yyRuIx^Hp@(Q|l3PY&17YbKF9%1%C<*^Y( zY5JQtZ7TIE7*>D7N&%!0sbps?N8}y?SxJqb@z~QZt|!nBgO!3<*@&bIz!N)&c?#@M z?G-KbbT0T%BJ?&}Ug7$R>d7Q4q$Biz8)iQEsq3QwUNOMUDwer)5;#yqTXy_p6YLn# zgj8VG+}W3C=5o}nm(02k9(-A6SP;~UObO_xiM{##zCM$ak9LG;Q5iBf@!GYEZtbL0 zz%r!L3ggdSV61m8inn};VT-(a7}cco>BrxolIy$AIpoF<*I&KA7nBWNiE03H0#RFy zMvWZFM}Tb8=sBgU;l8e3_bF^$7!YXZvvjC3ux&YlnUv>z%#2xMj{NI)J^@djo$z3! zoF+Clh1G-eQA(%*Dt-O*X>STIHbY*Y7CcLy9DI@06!v)poT10gyHNi;lnd!x`H3Sw`@5QpMoCY6#QL%VMnlhH|uk6CxuhTxj!(BN8UH zs|!Pu@bF>LxdW@==QnFz8?G3Pj3rUl{7RF~VKdKI2q1j{YS;@&2xld`_zympPCa!1 zyb&cHljdlzvaHYD;q)U~2_3O6_?P85Cu`n%rF7nxvNn^rq|uksyN$U|fK^s3nzIkU zTSZnjNV!q1G1yd`)HV(HpgpRtnVq93*z_3UzW>m@goZ}1EClL!4N zoa!c?F@*Ee3l)O{(V*Ojo;S_Fv=guV#r&@93n>_CJl`)aXI0opeRg6st=OBzuUqk} zLE_vdO}Ze*Tf|v_PDO5M@_*7Aa*diDxjP=5hya;X)qix=g%ls9Q-X~^Ed{qgxjN%v zHuP=T^j7Ze>h`r%s2c_QgDA5)jzh6-?T%7T0xR%qG6)ed55j(PZrkd&lZ8-C)@mVutzr*G)r2buy@QSJ*=b(&Wp5XM6< z7rZ%>UAN=ZDp&!3n0fUL%~wWha4=P`Cn0C(uJaveA12W*YxIYwdjoPD${s5tQi`s} ztM@UBH&JZ@oF(q=+_vjp$CQ6!fIAqWmX?{9!pzQIT-|Ytg@hvZL85g6#=$qo6J_-Px7FnUQZgj&f*8qm$I>FbG70WK$61Wn2H^-bsU-a zbLkg$>!n7tAa0r>>_9!QI*4xvrjFcf7Y9Y2cxIK#s=g-8l39g_W5#ijM(E0}j@F9%NPcO>v{O zy&Q2$nOKS_5wKheWT8Ps9{m%(U&RU)+`zi|!am2lb_U$Bve)Vskes!+Sjkx!nb1W-M+=rOKzwWEAfO)jc;oU}XnxYEr=*%h zyjYD8!B`6$qcs~&E}$Ki>tVz#q4)GP0%XYY6LBrc-5kS_yhV^p4SmQbO$@fP<1K#` zS2*$q!n@7_d77@^C6+;y?=RjjqIRW4=zr)oQ8QzxMNDzT-B++&xT0<$q;n^JWPhay z!=B5G;e?>rK143hOY2a#3eA9qlPH|DE#Xo>Guu{-97{&i0ig~xc`~IN3zGLqN=dk5 zJ(h-!Xi<&#Iu2ldMp_bE+aM0#X4nMy3t@yjGeOJ}6U;sf^wJizzA;~K=7Uokzz-Qn zzs8@+N)lF#7TqAsQ&cuj5pGx_SUR*al3~h*555{3k+P5fEt)3dgLdsU^Fy>soyet@ ziFeZP;P9(q336cNPznVVNDXJDYLoa4IXI9s!-`cmwvZC7luCejd>Nz>tP4|W&|nFL zt21lbwRZ&eBawC}=jRGb=`s167EA~rsW6sx1Fd#{;*wlZAP{iHSwRSA38@pS86d)* zb6D`*I)=1~a>3dsVOHAt@g)ZqT*K&@(1L3jTD3kh zPmU)VK#PvnN}M~tjUO~>)L+@18dd~1sn)mpht6%_)jlWxPiGsNBx~e!|27 z6C(juh{i2bBZoLTKIi4BP^V{L81yPsvP@{nn9PqE<}5bX4lo&|(Oz_m_w^YRc{l0Y z7TP}Cir}Cw39e;%FR?_mf-vrJ(Vp#bh;fy}bMVXW0Q(6$#AreSB2zV?6NakZ5>ZgGvSG=43|UF-*mo3S$H^ zG8evs^neH~krjizITErafxYZ`=(cwG;%kOta`~R5Oe8{@4)s;sLOEt&R4|2%DW5#z zIiu}kY<1_Z#=r1E;05M3ijXU|pp3(vvy0A6*n|ZjE&rY#i?{Q>5@WvN!zIup$w7

dF4u&SNvcKTgF68d3idCxyu8QlyXhpS@2H*Y=OUT64_vFJt z1q+tf0Pw^?j$g?+KgQ}Ds+h~9F$qI~^YwE}z3%Pp?p2cni0m;QjHRFZhf02V5QJLV z13h66%d+TPiJ!^M(eXFzMr_*9d!I#*9^+H0A47aV>du&lR-XurR!r01+=Lx|mgz~M z!&}O}44!Sr0FNb(T%n^UPRK$&wteXHw9 zl^R6_Tyy`f=gCEW$ZrZE7{X9 z?s9Ng`_Pvue|r!>%HRXtJq>PDHmnog4Tg55NgDCqh$1peV?@-`!nq-&N`Gv(`=@UJ z;vwBqqO_HOS|oEQFy{}&9O+%0P652ln-6q!&Pq>@qlSKQDhzpwm_5_U z-d+RcoED1Z@`Zm8h*ZW+k#`J_EvoEuL7J-OP(;yW*<2}!GWQem5FhA_JG@(aKp_)>&8@H~(r{G!K-Y za*-P|aL}NS|7>&$y8(r|{m6n2hw{IplA-R~f@cA(Cdk+hzx{_}+s?S!pYnyea55@p zPzTKo^Wa!s?{%uiXuhJ%)dU=oK%#BWL`TbQUv^yNAn2Tn3_tSZG+obRpQw3&k7igm zBEv*F)Du)6wxSx0z-0PC(t*W;x9*gBo|}H2K7IPBmA;5#wCsE``-u4#2IU?Kp2=wF zxZbsWsb7y{Cm3xhZHrn*e%f)K7n76X&&XC!!EL|{Wltzit&=BDE{Ul_zCiG^0(w_D zSO6wxej&y@l${#ES3;p0)x3e0T9Kf?m`j22V_{H;^(k@@jSj$jQz)$_dICml%a>Gu zgaSuUm7;b(2&vozX>q(37E|nEx7r=D2{hulU8EmwLrgPv9Xt8joIo-*SDkvp!q)jS z0r(QIdq|^{tQRk?0FM{qrH23vMZ$;@4-D-3-kEoNQ8aTPh3TuzS+mB{am$RWf$LBU zRj>Jw22dS3H5AcgDln)<+9_|KROFu=U|vFfK2Vb`;Ow|PK!VX;@_SVZD^JhoRFCEgc$u_ z)xC5?K@s0}J?~^``-HI}J&mXr1~6Ph5QeGK!fOPj6vCO5e!25@e>bB)wG4J(&uP?U zxq*&Ise+TCeXu;xYd>!~#fB}NHzrAYQ4lPU`_>hTL*!#vC= z5kX<+Tt)NR2ELjlb&JgHK*HtK3hfFOqVY-;w}?(M9(%I^-ln`sPvVyblHq5Ykn3U} z?8_-z$;=J3mMf*=bXvS4l=9X<rro)v258 zN(S5o%>dPBVNU%B$C z4}IqzN*G>41HjDwEHtTby=;2hqB-&Vb39sD**h3!_8mF}pXPF2Eq11X=|1D~^Zl1> z$vTO~%4_F%UJm4>p#3a#MKcp9=L3u^13wMZ5#!i_Na) zTI6cunIXnRAH8%@i#;l8AA@pDO>K{5k zeDt6g_o}T@{!K3}U3Hy}o0I9!sYm4vfxm_XH=YNkrQfx)P(|6}XLM3h39n*Aa zEg!Qrq2-GkcxI)19X&FHxe{T#;2iJ*8(j_--Hj`p6SF63%u~B}J5G|u0p`Hm7)D!k zt`S&2#}rEpEGypfdC6rm)}f)Iem*w)QCHwP*=i623euLQ0s391W?G8i!t33#oS&i* z#nT4n77YX7xRjcd@=Mx>0d~Kh9P`bXBik8SM=PfN^r+~jQjzgYVn#OEX;Cz?Q$>{;{uQv65ww$=SI3^7Qp`PuMF7)zlxPFE<_73MP$sgeJis+^D>{;=3 zQ?pXL0tQ9atU z*a7s65=S*h@ccKwexjy>d&T~0W*H`AcQ(;H_JLQH02eGA)>ZAj&7mpp67d2W1NvWJ zmyla8GpGf7?Bx$Z!5D)ni?~cYwM3Q+&-{!v@J~@kic4ZxJe7!i0xV(IPQQNxvEmcC z#|5W-DM{WjfEtsa7Xpe+K<)a#W&Ib>o=@VVT?Bi&EvV+pm!33Z#-K%uK8&>U?>ytk zzu0ccr5OKK0t-}jt%cq8XK$)GQQ`!Kgri`l#YD8cF%p4`RKyf-m)iYS+7=FoaIS5I z&}n^_ea8G%ZJ7ec_=CsZycwXLvre7-A$xsBgzk|CSgl&Sz!7Mz%Rd2oC@RWJy%)sd zv~D(C=KT5VmS20O`4XQAr04IYzm6FYam&)aCRZnuf>Wzw&DMS<|MiVt(PbFOqLneG z;ryIWzWUp6O%Rf@=#ej`rdD5gX2dJXN+XdcB=<}@#Kv7p<#GarY2&SyLB zc$I&u_<{G*)z3(jmmWOW&0X?jW5m#*pDA_Q4qGl2H<(L;HE3Np06K!~w3(wntE^Oz z)4EB8&kY3&TG2mjB3W2}K$Kp)Hm|BEb~-QI99FWl#8C7jqeu3P&Lc5al>m@yK+eHq zWw7<*BZDhk1+%wENxS<`2(V(FS132ney?Nx>E$y)p|O~xgUVf$VE#*-n;`@ogUwJ| zm;wiF=zFQgXBogi_1_k)EKZ*|u`SEp=T_i^gJ6RJG`&fANh6PpxkR;wHG0js!p<0; z29nh~vgL}fPi0?+@}qy)jiQ&u3>}NF22W0>DIp@@!>NU*HU#kL?;mt>Lb`$OZ%GWL z1p;|2)#OCRk^PGCLKVX7P-a73bH0CHWYoi3LL=lJUp6`c{|L=Kcdz2g{udm^pzvh1 zL4m^}9f)3J00DQ4k{A8vau6=!O2Yf|8w~6i;$^>EbZ%7n??2NvCND17eT7##WiRti zhTQ5)(@U>vdNen82IPs>4~Dv(_e2mcBV__-F7g%$4w8C2^|`&!ok|r9mO}!PVT;58 z9EZwP>za5!978q-AoSuYc)~>WgG?0^&!bWaLJ3GqMKRD6kb_hsfy4Z+UxWFht4jL# zVV2WkZY1+;qehJ~{pzbr#C=w1g~6vvMn^#5SyPu?a%=a5olw<%PMEXkMa2bAn zehtr-ezn(e6@?O;JSX+|@e>8+ziDt4k5Y$kT+i>JTHtXvo`X$fE&HP-cJ!#QnqX}j za{-q1WRWy4!n$SZ$ksUgaDSe$7L}S2J`%^$q9fi+nz+#Vqa%o;hsRT8*~31wFnOgW z6N-pBoG-bDwq8^kP5A)IJ?*_=fPf}Odw+#>%$?hg?p=n|)Hi~xC}k-U-JirR`-k}i z#)QE51!rrB4WgQ6x$GCsB7=@lE$U_oYUO;n8mcOQYUNSGx0YKmzxNipYjRTN#D9GH zM&6w~apE$UgILuKAKv)OGa2|U#K)c1SnURcFBMu@;c0a7JODK;q}0&OOJxwmK#u_e zxQ+4V$cL1z5Wa}$8X0g(Dh*qF4Q`b)9t8p;beVn#LTN+)cnbP0R%-}_^NI>Q)P9^_ zQiw0sK1vYHk8&bJAfY-KhB6GaXyl3Rdf?W3O8v+J_BvWuddU^)fetkGLG%X{!?joB1~MFK z&J76X%M1+YJ7&y%yI*p-ta!GD@HO@0kbM%Ba0dQb3@L>r&VJ%cFlSDoc1Nqktmw1X zuQw2!AY-{PY?6|{6@9M6hbUR;wHQCLBeOoER=^SY>8n@kMjX=WLJ9{{`T{BoEI&Yh z%9Cf18bs4^F*hj!fX-YMH6dj%UK|?X04n3@Zynq%$bb)GK>qBP>rB|`CVt6rw( z>t*NFgKy2*x5n~~>lW$`&Bw_bEs2&_%?r@Vz<_r{w@>dRC7(RQ7QvLsM&O{3b1| zXLS6e;GzxzIRtG@oUw5?Bk91rF}64kGcBokC}zDK;Zik@N3#t-{%!pYOPoMxi00@? z&~adfj`=5N>dHr&NWkopIZpEu9Y$E!FEHs%|O>UWsl00-eo z_L~S4Vm#mS3|}}3Cdj}WPvzdPfk|XPc*^6}X9ofGBO}N7nD1Zu!uSTT}~ z0|yHuKJ@xqKH@YFGK-Z@0}zB1oRUzX?%?Q8rs4V%lSn*PwP6%v!k}69-x9|rL=K3& z3t2b_A_3NU$_4+5Qh(7n-8{2kPL*p%d?9t3G7^c^Y^vuc^P0WT_Ia%I;wTG$KqRLPOGYu0Spx*NoBBlYgpxaSf7v`_u} zo1)J4FONTu88d3sX6$t1+zOg+s5<(ind<@92w4{(?cgbs&Oau6O#C~%4NHb_Q2;Th z4-pP**%L&WJSl*I2iTEmK&=uZ4sVAwZ^IOiaw#ArZGo&;9xMJVXLz9`6-f2M3AL zDEhgpY&b--+Y=g1L-bm-k(%l>e>?S{@w+*f+Qt<1hMh1_(~{lx04~K;NkK6F+5OX$ zwPr2{fgH=O=xv#uoxOAyToDhF4g`nUY5=^T(D)5P9F@E-SB6iDPc#XKQ{aY`(~i** zrL*0ByFH!zmHW1`Yucv6RMAwWE7*@SvTA>-BrscnpW>gKoCX}aEh>U13<85cX9rj{ zdNffsFhtPdnuOv^F_*w=`PZ=~G=Atq z^*-TN5JB~$sJ}fOU`+HZ>0Y`!ik63~b0|FUeb&A>$^yl4rcCpHSrzGW5Q7R#$n8_^ zQsCwcDfxl0nAT-9b7aA2V9TWmp!J$7p(qiU}8A;&PvPzPnJJXf~fq8%;Kn+?U!$58i>24@nFyQQdB8jNs z7iUp@*GZ}$@)kK~3!|rmEtGdBX54jrQ{1Uz$36#DZm;Yg7RNkD(6j&XiKC+(!fVnD ztEM2R3wcZ2(xf~J-{Q0@4 zRT_8cQr8z!1>2mG$LC^+1i;a?%*_007li{Mx6z<3?)Nq!HW-|Vo}s@cA+QWX2E-%+ zst?@`{s)Gb0|PF?zsg;oo>Xff2qIC0L8yf_q+~#`bXQ%V+?t+KMuez?Hr+nap?tO}1EZebDgX#4v; zrAOj@I*mtpRP^#yRHM{NS4!VBmjjj-8T~o^#(`EG_5~cqO;E|&-9}R^l%IjE5Li$U zp#Z3(wY_Va^lG+rmUp_;Liu;xliPc{jvgKU=;6aIJUcWJs@G4? zR`%I5AkM8F#erq;Egz3Iyh~bJ3{0K)Hhs(1B9QN(c@*}-N6R7!2*86}4`}OZtJzAq zO<7jF(Akj!IvrBFT+h!syboiIy80p$5&gzoFE@T8qd^h_0-*4xR^Xtb*Cp{np$)hp zHwUtt1X`ToVKhP%Bb>ol6jyxV9IQfIaAgA1|HP`3&80)9OO|B|4?K#UKHA1WaOWyZ zTR^D?ob69^0;;#-`_fD2{(ZX@tW{lhu8=X^NuB`cISAauz+>J-4|f3T4XVYyL0dmY z1eTUokCJ_$0jx6tSH$7}Ya7er3Ng!%?*(;RFdO01We(UEMU>Qu2wVpLcDMBVxpMs@ z5CK1aGMR->VicbiJ+sk2`N{jMxlNuNuOCI-Ky&`#Ma8O7Dd|+%D8t_3Y`2=o2Rj5k05_V+znJT>$jhtPz1+vc zO~W+HMU!c0{{8>9{puVX4WjG9p~egD3i^Y`UJtKbTaOH$;c}}v9Xog4k@ZvQ$k88g zpa(Y`ytCahnu#24#TUg4YPO3+C6Ii;TWw6k-h#Ss&)&Vvzb4=`j3}GSfM^H8`{_Ub ztfx!YypQqkR83oWkHEq=UcE;%!F1I6RjXEYcP$ETb}7lB-2!qZMp!Lc2BWwf;DVk_ z`U`@MRFyO)2)lclt+!YbcF{Dy?YI%nL0=V>jHmilZ3=_Tn%@CLbI9cofCMg=6xS@s z5nDx4qdFlOComR7_aSc=3SBFEI)R!E8(!nQ$`z8p5e9w@l(!f5-R0EG(R2gqg2=Z8 zg@w|gGLg9v5}dvognAprd=cG0G@sh??NuP+!YS&GBF3p07FtCKd4qAn{H5Lya|E}l z$io~57PP;2|32^RD+Iq6=tO@&j{{r~5HXDsPkU`)+G0XR9MWe;-ZYba84QSW%{5C# zE2cp^s58kk@saUyRC>+f0+p?cGV6!{pWQBVz*jEzqB(n`|3^o`VI! zM@&r`)tbU_Nkb|P4z*_KmlnMppuuAh4=|ycE1FbDGrhsCvZ&Li%Ud*U+Aqbpc){|; z;2%5?syZpMgc=|l1d0$`&Tj*c3Iqa~2R6-h;J8~bg9rVqx!(;N0`p%o@&ZyIy$LB& zsvJq|h3POnMJqLmMQ^ZC6Df)*{cNK5e8T;=BCe9LvF^6(`Lo?mKVp(vYl*4u7rlG2 zEGEVd7y}cn?KJna(U(Z!a(=*s!eOZnBxhYon4$mDDLWTajLA5S*U59~z%S%`q418y2Tf_36NEx&xkI=XeIW#t zR1%#Dl=M^hw%iY|37*d=(P&V9ff^B!41~rzps~Hlqf?k=X{b5|j*IO6h`3A)$dxX`Ka{jFMtNz6P2d6pg-nkFu2YwI$#O?rXN)v;ha$^abymgK=LP5XEf#G2A) zEiiNdJToR*^$6#J(9yR@83*(1i2$MoST ze4fmSxy(bk;n^uMl4@*vbO7d(qdSI!%o6yy@aS%hkO#O9KahHjIe0qBr{GCa$l?od zHtO*|A6qh%NG{{eBbc@QaEvh#?3|Lpk2J1`FoHl?o8?#E2i@HpSonzbq=f&ur6t}p zCnY5%;-+{ang}FdL^Ev&wHbf!-slO9Kv0>~sjaC%zPyAsoOdC!AgVO)#Nv{XRcn^> zTSmF6p|dUSqfAZG?S@lxk>8aliTNrQzgp3_LRtkR`jvUaHn5T0g-i%Bj?A-juDj{_ zm~rC?26PO1HNPt^d`@(MIug(noKtge_^Z!@1Z}_NX+z zyXelV_q-#3K;YEL+#v&)hRO*Y(Fu_|^4Y`P7ZH!d`V2*34Il*+oGHp&y(nss#L>st z=tTCsKyPWg^6E@`XVnlBL#XQX>~G{f$aR;e(-M zz&ok0RFpV`<115-3Jn+ysEZ-GsYxL|BJ0-&<&~s|GG;&Hy`jr1 zEw?Bdz+H%@er6X_2n`~He-+T=q3xFE1lH>D!WDkF8(*lBb{J4rVVGY~+~&NCJuTE8 z=OL(kZoNdO*&6|zeHw+l_OyoG(3%a}3w?Zump}jfbLL0-BTy%)T6vgc52OrN2mJv$ z#ok5cgRJ=3$mkiU>j`$;GSH#gizbLZAy`>;0#KMg9}r4EpFQA^+Tkv1;@m8djRQUq zS}C4=c3HH61(N69>(^Cdf%^Npe;5o`tr0@%1KWXfgTl!$(mIf}l58s2-WfNaFQ;|{ z6^2L=Y{BTepv4IOlyj!FYQ>YBaBbe%a4vU-J%WzJI+#*E{7MvM!_YS3C)XFmf{(8> z!i|%3S~`8QEg|m0#f$z>_-gyPOaKj~UE5E9#NbUgZQXi3X>eVomegnF-5@cfIRzJt zIkS9?#iz-Ij`YYTvL=zH-Y?3;ePd108VoHDL^rfjpqJc|JBjm5^G9?i{?Q%NB0jE&36` zfW)pJA*+OLa_HrQ!LtSi1a5}(c5pnqGq6G=s2kN0f2y^{WE^gz5C%aP+-(X-jce-2 zLd$(h+QVCx{^Yq25f54-5j4Q?pN`=YV`v?~noWqZASjwLr+$9Yq}3lsib5Rzzu{}B zJ&)myAdMZR0(D?aHr%T6agrJ%<%=zkBlmRK&X zVE1qC@Y2A;>)!%S=!VBWXkiSm6xyM9l^A4NzLHz{@7}(h2oT1tlCdKF#Y(_v07vQm zuU(TspH}YKhu?;`lt|$ zVvMuUi^++*uh>G8aN|Y|`v3tu;7J-0;J8o-@Ds@S$TIwit`U(%W5M=-Jn47=C~JK+ zl5|i@16)j$s(B4<_bFLt9p))g6O{LbEPV@9^+n{G;eO43f!}^VGig6&J=6X(q*$bs_7uy8Az-+`9*Y%TQ zifGLDcCy{wNTCQ^PIt_I$DWg1%F^R}S$|~=G$pG?V?+9u)&U-JW@>BCjF(u*> zXKn*O*dsFM=jiXqA63f5cUxnLDAm984%~AK$TO(?S}QD+uE?pe+UA9;1bH~D zuc2B5uR=S&oKPwEU&%7Lc6!as;qnl~au-Brld&cU|Rz(nuC1HUm#Y#=_SIE2)B` z;u^{|O*~cVV|u=^BH?d{4^GT}r1f2>Pt-M1(Ez%zzO31z3Z?lgoe#ylv@A9ETeYe@ zUpAa#S>x{173u=#$P6>pCC0owg(duwgLc{OENM zZLW3rrox4hqnU@;5)$ayl1od&}7V6F|>ro7|igyA=dqq zu2wULg9HAYezM>`G2)dbKRDa6F=J;B`5O z2V3S(>i_Sjf1~=rw!__Avd2 z3HZ)gW3hYWA|jFcCoJ$KwT&iZ8Eeg0Wxmu6%^%sk_~i_$;Z%;H-QOpxp*ANrXm$qz zVQ67l&8fBlYGwey=y&Rn&cP2Y4|z0ZG+RTPYaMczy$6MaPxi4jU*ymf__Op8Q-lw@ z{PedOw=0y#LNBq3_IJ+Dk52+9j2b2J38Kk^VtFy-9L~mX# zFAedf41#9e-$tdR$ykbtZL`d#V(A5lk(;KG!I}Vx=dY-}B8?X&{x;KF;FP2CoZw&*UEEKn^`IF?NSXmjL&C;H}=kktIMoM4n*9Vba) ze``F50WfXNu`4Z#dRRf0akA**$4l_YNU#>SQoLwgJAX%8P7r~)A(mherJ|i(jNLz$ zTDWFc{H_);f;r~I;5fQbsV@~*hsFrzj#UgGW+y>>~72SgDByS&V#o4;No?t#IWN_(4a@-DziLRPSfxaxLAvGnA`pyvQ3u@5Z&Rbk9g zM1@g#;h7}|iCPBID12#IS`{ju)-ltFuo4St%3cc`eSHl$&ZL7yxs5Qq)D@9SMz1>vRwGlrjuV1BRjTlzmGZ}soO^A$%%NwBtNuf z$cSVJlR~A*=CTbWt~FP!c-61qXy}mIg zfL3@)0$_wp`1<-T*!YqE0RSc)F=pbe@=H)=1aZoa!(XUdL}Up`pmWLRl28Sy=%+?b%KZ(i}nhQJt&J~=(G`^dL_9$8mf@iZ#ARO>e38%P_^kQRa?j+@ZN zi8MIx1ZG@hf0;;eDaXYu{d(bUlN74ar9p^Ypz7c;C(oEs`Rv}3yErdAdHv#`kWf5= zC<fzZCEXy=Ex=s=0G+ZD3hj4kGM>D?f1CMMh z@0nrt;MszyW&}Oq3hRPUK!|fm5ft zCkl71H-KE~d+7GmL91!2ZDdePZ;V9ltIlx)0=8_iJYXt$X% zv;n94rXEaJ!-XOjr?K3&^(GsZ$<^>g(p+U^nDoS~g$_pCl71`=blC8gQZg`?(-b|L zu09u6;sOZD^=xt_`uSK#k0s>s`!hj20DG&`Sa)trNMTrZFuR*x@B?_P`;qtwXv)fd z^Ttts%wkCh!(PY*sQ%G*>}ogBn8%ZQ^aE$e6O$yl%@QA(KkLU*YX;}XocKX#H52*k zm&^pyXF_8$z2v&xPns|svSiwn6>^PfqCTI;ZLEP=S-VxQzA5tjf_ANDoI(5!w6SGz zDr-r4(R1~?R8Yq@BAs=U?`moImCxkq6kjUj;najcJ1q$z{L*PngC>J+!)JQcnl*`O zrLo_)gqNY;Rv5G?e{of{n^DVO%hZE-Nhia}P&k}CSynzE`XbW_Bh=7@1u}~VGEDJ1 znDEicHTDR#s1SUP90F+@$4egl`&>))Nknm}XfU0TT!%|WVb`9Dsqc{yEZe;z4Go1W zjzo@=n%T=*MCc6ODXK!by)x7zD?(dO8MJyTmyo>iD-v)7+aN{q{G-z4erDl90gKg+ zxoIX-f?qG52Gk3ub{zVZjCO&tQ=@EfhaqHsq1j;6?Wr5^8(Rmq$SKf56W}F3-i=M~0PSjEkdolkx{jvM1jV9ez^|B_{joq#;@fCk zj4b5=F=!go zlAX|OvhQWX!!r3!#%^Gqu)tvHsO){tM#e0v4(zKDs`l?wA2)ebS7Sv-k7~{cB(KK8 zZmpHBLVFig=3UKhU;1aG?h9kt@}&I_^f!eTAKC0CYeJo9irit?;!$G|Q;<#AOwP`3 zdU4pn;ov1O9RNg(+WQe1HTgnKFbFCV1gR;4H@{Cc4Psr`qb?p#O+eeI72#)OV9(ux z4ZyJ)tm21n>r?ULZIwwv3}-uBBVwn z4fH4GAa|XFXO^f!9M~(49s6LxhzoEwfdjss`jRPm1R8>hiE4?%PHM9%Xpp?=z?eCR zH+~!64dmCPCzHw=dCVlUVdYrqPz62*q15PRJUDu@NJYb+RuT>-^{ zf)X`R5d{myj)I~{dw&D7^StM}&h?xR#}9kEH*(+qvesN2Pksu9@5P;G-1+f52*kmCc@2idXcY;aHLvHy-nn_*Fb+-EH7o=B_t*klOZ5LrM) ziTtH-Ew>XQ0MKtd!ANfx$`e+niDh3Tlib(SQk5e+lEPi? z&kp|>A9ev+TMyQNjugwp>gXz9-JvQ9M;Uedam+s@CtP{=Q%NS?F8uS`t|a3WH~?Q= z{2Qo6pNNB(3<~xi4{cttY~sfT-&j~ks?V-h!v&zQbTpzsF!edxj6RSLf*Bon(tO~jO(R?X^903u{-W_Z~S$<46P+ebBjcog+Wyo$Ydh&H}X4XltQnkXlS+>NAy2 zBVVd(*UJvGck*w7tdU=`1NgD#jK|=&CuIQfnSG+^bDfsRBorL_&iLlnocCyc zy@#ciH86q7h><3>LpQGbs_kAic+nx!Yh}y?gf)l%vW%tDtbr?1A#p~9-$3#Z*idMHwB_=3%(ZRD04SHq*`9Miuw=wVe+>Guvb+{u8v|01YDKfi z^xXM8M70oSjawdk?+zWSE({9nlCp4%s)8T~=}LMo*awXUzV~PP$>hl|Ela%uwhunY z0lFd3R`m#^e8n`GSOQXV1I71CB#H9y=TVcpT#xHRw?H*0MD|d_yE6-YY0ATO&z8*& zB-O0%fL^aVUO&-UvV<#E-0u!0qSze{Pig5%vqmyeP3rz zv@t9EmP3jC&<$Lz3Pnqob25j)#{jh~tT&<}2Ct|uhf{GMR9n`jinP-_$yBxB_U){> zCbOnYd6n?xKA1ywb?ih!PHiZrokwl3bsvDVpa!3uo#gG*|lqB`}U2C8oit; z-Xr9a0_(#poSP6A-(zAgLV=zsiVMICwKZY=;o^`D29~ik^5$waYc|SE;0#bxEVF%P z{A&L@p=wply!Ek3NqK8(SI}O~Z;$*+LONg;g%oYw$ZOYk{Yd)FJh?Y1^M7Iu9YD#+ zK{tWtikIt3WJ;`(lm(V*j)WAF{bX?cM&2WV$1DZ!6ITQM{k!rwPP83Dv8Ke6DU}&z ziE9mcoNr@Od5YA{UkJEYZ3Z>tFYIy&k~sLFQlGKOz`(3ygv1a5Wai(}*eClE^4onF zYK)ua_QZoxKQb(5wA@Nk{Njp3<;ZV{G-^>JY7MNuTnuOB!X1Qh$;5Iqah0Vq7E$s! z_;^?7QXkDYgwwwh+QkHosfw0PI~BfM&%pwE7Up}Q4sS-~0@kFAW$^H<*KqZQvyh+Fmxpx~tO5TGL(t}?E&G;9mLmL;CF><=Pm1F}?ex`*_HAQ8hrXugPE z-PB9nQuYg2BIBV>54%Qv3+ftF_rEuQ-HAj`G=MCsk+BiIEMk$LVFFRaRi*iue4jDg zPCVBUD8q<>`$06j29|hIt1fofi{I^MI^}v4v|L>7Z#Q4z$^G;xx{op;dl^fG3br3Y z8ZKxzCGXopbWwq&8R7BP&zF`JUuqCpte;F- zLFp)n*0Rx786z4m@tkMwqlO257vG6~uzr&`pLpZXD9G;mg^!6G1g9qf6KAc|h=B>~ z>0=_?t7n`l7UXyr8vdAeWlSto{dm{Fl3g~ens`^wb}>wYj7`CDT=p`E<@e}XsbSVH z*OS|Aws&CT)S|!!t9T;eR1PrH(IjaysKnrnAJ2(xUcC7J@hN6eg$yN^*&O zB9#CM@_17^@0m@be1S-U)@cJ*JA_6=s70rpEKBX#!eFQyhVFL3n$~G-enl$qIHq?@ z!f;$eT9IQa<*U9)TQ{Bx3Ohq0`UbtfJjwtcwqj%oS{pPx8nr=$U9a9Sfi%wPa)XPZ z!{T?Da=1oVWc(qj3H43NB5KDKO(5oWXV+y;7s{j@Chh@GIHXF^SOc)c9Gh}q$U^6* zQbaP2?>+}11@y-RLp8@C9>Xmw7S|K^x$$UCfiZpz83NFdx6_Hnf%;w3XAao@NiYN3 z$|*=KYtbh!4IEd%i(cxHV_(I-lV1b8dlMmrK4XtfLVBq2+9+m={)a1)u_5tX*$^k1 z8`)*_$3;>sdrS|0WBbPgFjZ(6f1N zZ^IL-rx3BT{4SI`C^*I0sqG^txV7kg2 zNhO#VrF@(&p_Rr}Bh}V!AT0|aYirP329fZzVt!TcqUH;uH2*|HQ~1Wdpo-@xYeBLl z$FNmMS~u|zTf-C~>2B&!lTH`p4C17zcIc-vXk@t*XQ`naE?qpx=% z#FMH4nl{GD3dd~&rb8T(%Jz~LfEluK8Oaus8C4W4c*3;o_BI+%K@1wqunw<=t7KXY z^PyIFo^4MS5zvwvdHvp1fs-nmA=<6&i$;tIRY#^~n$@VG61loob}HX1`Pn)>im z64+EDq1I|_P{T&p2%cB($TN+@Yp5sOX z^vYnj>aBnPheRz}2>Em>ahXSe<|Qm$-^G7ViQeeIQJ1$bt_>29Z|uEK?HSm(f#Ywai}Z1}7?im5)4p3j?;&%_e_PNN z7@UxEiYiSbqucNsds(5qD5P&Bf1y9D!SShygN^q9A9|r&*<@&9Wz}`{>ec=Xw!*9bB1qK{DXKZQHiLC^YiR2icweM~)n+UcGvQ#QXPq@vjH-*$o|k zbB&7pK-P7Q!6mH`8Il57PkVIc2je{i)!yv60JtB9pEdZ1H;C~bUSA*hrp<;X6qUc} zH1C+VH{%&KpU2ST`|pQu?Kt-+x0re_*v_*DRLrIly-;EV@cWdF_He-VBCiNA9E3U^ zOn%b9vFYGFD^s66t8a9h*Sv>>tCuf55-rG3XZq6v%rE{$b9&hguyqaDl4UoL=he;4 z%j@gQ`fd3F>d~K;G}dGT*Cmw8din0*dGgBmId(nBnEOpmi9FB8&=fc$_Z+=T4M^LY z*xG8Q*d_{CZMn5c9Ku!WQhOXicWy|DUerA|qScs%P|y4X$3h;6#x84Z(>Pgk44h=_Qk&_s$nQe~d~fZtt;#B8pc>9xe$! zUi(KPzoIIdZ1QGfL~h7j)O*nw&es4bAkYmPsxB}}8U4_?!sJ{;&EgCGtYU6n#*t@^ zP$y_~O)j@|U3MZgsh_|9MIdOZS1>(A={#Bk>XvmBqf9i17A|%TLSfE;m`9K5Ks-Zl zGPJ~$BkM3j#*ps7Q;=RF9$ikbl?fD*%d}gjsF0BxsUvT+(TL91a1jTLnQVZ^2GHsg z0DzR{O7-?mosPo$&R^4DS8940~g~)1V-OV*#*Q83s88&wEwXRa94yZmh0-qm7lB$tZ^R>X9uaA%=tdq;0jW!20g5@h&ylViZ! zIWRnws+MA&K))1)lq?V&(*16TOAM%fN>fZ!{f%~QEI8DIrrC>}$^J`*%CMLN*1Y4K z!?m~5vZmS9q_(L&mQ$o3ixWRu1nNhu)Bga&Cr&Z{Jk2J!t#juoqa;_NmxsEvisAHTh=VcF3#JrxQ1fyU%P-Cttjg#eAE1z!s6Yq`rqYW1#-I4A^Ni@7)+QN#fz&ow%0>5BF_& z$mQ$TS0gmbBIatz(P4y~_X$gYDq?KkAMo|FG|)gzS&7PG*34-fkHsEG)S;;C@QTMF zDG*VFATf74GsjKO)u|_=4VYl$us{}18j^@O&g3|06aR*ZP=+eY4#*~MZ3Q4s6Fxaq zyBFJZB6^KMmZsuJtsfU*fTcm^TvuZp4A_nUG1+b~54~AYdpQ+B|8eWxAb(V0B<(Gk z+-TbZSS;Yrno~`9P01^IRkbEKbsau@ONm~TM6g7t-218hc37UiBtiku`y99fLw)~1 zP_Og5`hR*={dBp(syMnCn{e9phIAf0a^%)McU~mFY6~p&`TUuJ`yM>$djb46P*dO} z-2<1?+qZh<%I}iXe!KN^a_`T3p;|wFyxzy@9$zzc{fk*=K0SyUuzx|u{aGCzIrQlj zz{gVyzveUL_=CAeyWCA7Kld{y+_lgl#lRS_o`yF4+wy3`2XJqU z3uN=xMXC4s^JfRs(cu($s!VRK144%E01$n1;9FwZ*mLbbo3GD7t{ZiC1 z&x`@`Q6LHZnE}G84a8(jK0Z=RCQ5<gFg>N&ME8HO;PXMDxhJq&3G`M&H_d_W}zn z`n19aQw&Pyo0hydeEN`P1rn=8(#@>-;!_QnRPdca4V>t!3a_SVd<{m1b*)R7K;V{^ zKtR=v{lqwxdcYb&DY*qS(A8_1(69_rp}CnxY{x@~URhWA?(fMT&64gSr^G8Y4Ey1EWqJJr{|sP#eNsfXM(Vcs+J^LDJ9kuI9H!5JbzA zD>n`c$gC4!_$+9I+)U5|X=7>>iu*p0TxbPDSX7}l%9)DTJbFp|NJR~#x3$1&4V!L#caqMnV+?RVec`1KZAB3o8#bEcRztns%^BdsHo#%?8F5;UGJqYK z)~fbPa+Ky3%JbggwVlgXZcSD47icL8V=HI}SWpUKxRgU2t8zxyKqBxcYD`PC{BzWB@Gy}QHn=Nvr*Is^sp0Ua4QzORS1$NKc% ziJD7O2plzN8kza*R*|gjuUsj7(%~WLJe^Ndr)==)&EX=8CB!)eaT!b<7X0C$aKy>Q zDUE4_=YKx_U}~IGIm-}noLxSfv1};w4~1z-%7MYU-X#rfi>A7g?2ZSa8Zt|y73Fn1 z0}m~d3t_sknhhxXv!LQj%G5^NpO7sO3Bc4@u-gBiqT*RjUk|!G%n{1ic}+y zTEF60v<|~L+8$NDR(CMRi!q{{F3by{9wnzTwZ_8uup(>b4(FO{exFkuK5WDMQK>}Gh02|hDla!9oaB>2q(AJ6(GgEhWCs4)mH0E#)>H06W#IF@(_Ih-Xy;F43rbNviX!ZS{To!F;SZt)ebW{N023Sf zTKH9U_1<2gm!1ST-$VPI? zpdwj3Qhe7~5f(x?IzM?75nHtWpc?5DBK@U`WeJAXtQNU>paPQa4aJi*W;juhvQ(>5 zMSa5(5Fn1;?`%ndP?ImHjd1QQht3mDG^ke?u%)z>%X>z*P^S0tip;*IG$|$)DZPP@ zcgOG)RaUXDU1o9xM*ti`%n4L7gcRV}FekVMprwv99`yn2T)BB?mwzS=8UA(Zt5RS7 zS8KR?AOi$+*F%3}`ESl_Mp&m9WKIB7YVbEmhu&vrKjXhN)R>CIni9W2ev49n;+b>D z*`XCfy$4k;+JM#pXt>cQJ|^jOFqmJFSK4-@wLcym-5W@p<}}S`^U@|$BJZ)ihBFe2 zL^K8#l(6f*ts|{#ln)AGa>qu!X)&bfW|duoJF=)eWvu`-#ecOVNN+zx&rC;a=6G$V zp^I)P%pn>l?4^CDJ_dbsY0T=d?tq@Fmr!+zn&Me5d+{v3oSGi*=< zCFc!C>N$NbC}lNo+a+=~4VJzc~@8phgPL{s{VW zwRAqE_#_Zw!PaO?^y~q;{153@(3|OKAUo(m4A{c^=KzXfq#;T-gGbLpq;6!(Li1#@ znmNPuA*yWR9DzOiZU_x}jX3jb!N^=C7nCHABY51Ul~o}8SVZAFu9E!VG_{9qFO`8j z%{gHh>cTOBYIZr#S2YpIVc{NxMtC5hh@ptF2yreFlN8uVv=Nh3_GNk5V%Mvlc8tMc z*(8hOn`x2j${UvI2d`u$BS3!n_RwR?fjI$ImL%C9_;edVmEHS28+P=Z{3nsO#TJn9%!=q38bA z>FO$!#UQ7JXapqG6Y0U>`3%Jc05y%0o%q`vKV?q15_Q(wKHz|F9BJ)1J+IwdFb|lr+gvaAQPFW!yCO=YFJ^ow;c|R0Hrreu#|K6I6hyRd}x+& z8LM6g26vydx^AzYFU~Jnyt>@34~@FdAM&DCX5|h`w=VtQlHqm1A=`XOM(u1<0yq1`bAYOTk=L@Nnd=(sA)%q?F*X z1{K`sOt9XO6(k~nogwuKOH&em z%326)E7Vxv?6GH_&tPw3I}ZaV+rd?;uDcI8k8m-6In!*?;zh<~C>)7tbl; z?@1uBb6;K_Qjy}G%K}l5qN^VF_7p_fmYwtJ9uc)XTwQk#JC$2`u5bx7M20#X@VY%s zP0&R-IbLk{D=8@sNt;vL8-lR7o`R%YLjMZR1J$qj1mQ#Qy##n1?LAnT_mOac4y4H> zQt@1PAINwuzHap!<2AEJWQ1hB5Ukj~jcr%d&a{49-JU^n2Z5t(_7`C0=7H3pemG{@(!)+P;McWckPz3d6;44wB|IPk%2w3S=oehcdL$9+cDvV!()49U^9G9BE43S7yhL&kmR^5Di|KIO@BI%vWI(T{f35 zQ^saLyp+wN{Ljs^HJJsB>t^?2gT?lc6E~^xx434$Jw~cSHHurKiB<>?- zHB7R+Ns_!X_j}LB9qRR6`5L_jfNneo@9X6A+sJ+F;>JwT$n{Vxds{xtp(*GN$-{C} zi^W6=MC|fiV)@uYOR-0KBFBYO$9|z*T<=355kMGOQY(!=;GuixzrQMP0<<%%M-|Zo zg2?yXDkqpeiK>_ut;OFvU9oV+aL?q zgB%C**;8M!T6d#2k}D3>JnLXw@|$`M8(!Xi@4%c)IB_=9D}S92rq6Wq}lRb(eg^Dy+kw&DBm(F+R4rtGzLuD2!QSHcQCe?7>@d}Q`B;rdxk7E~ zM&@ZEkNbj3fQKv864rtfw%(z8d^&Ps3w{Uffej-6DfXX$iWbzxTXTKjopt2879yV3X){0P^(6c6MuhKqPZj4I;;9A!-FSiQ^9uUfF@V)*t{J)4b~%sMZ{9q9yLHp1 z*M~=XpVkF&R#|Y2b~v!eGoEZbj|Yj|WoTWm7bQ!Uv>?zpckaO+-DzBqyK7d-pHdqJ zP{!wghS+VoJT@h}!GeIR(Bz6ZpfwG_rYheBFEW?spA@yI6ZlOW=~ndG)pgpZPoLUb zf}if^pC(qPCs3hpqk7pidz4Om>UxKv`j!UhgHu7|?14j^93=1gOPW*x!5C6ka-b(A*C)-#C zHW?xv-vqA~ED8!%2bOeqO7-Y!#0{y|hCxMm{@A8jDHKh|ff!YW6gf=Hz7b zlT+afbRFSqXEx7DnTfY7n~aK@f+dxQ+?R*KK4Su?8Oo&j!hys_x6@slWbK;r=*&mg ztPUU+Drr_pAHXq_tXHmV9J(gfVF!+DaPa_9)F-&Fh@)DB#V?%5fG9U$ zoH9#t(iJS%W}y@vS9V(V-L_TdE>X@#pkWOUJ*-t~5GEuDK3a1wuYhaA^76x9Rg$l+ ztEI6>;E@RgY3gk);->wcnns{#r}@$d39fB!X2zt#@4)s8$DYUpcXnEoZ|*BcMa(%> zm7`)(r^77Fy*{6woUw?xl##-p=x|PLwONbxg~Bt|oFtG8?sX-CAGU7Rrp;fq zJGDeLL1&trj=|C3Z=GJ4av0cLebHG2+%qj(_6es~`ZL;hkO3h0&H$vO7u@L9t=qvL zk8Jgd)A*8^Bmyj*UL=h7PfV*N_N76COQY|Jka$$8CDxuS8Dr^nKzyv+^f?yGHG-S^ zLwala8+cQ0BQ)xdv%S5uxk2eBoZX8h4Xk$gerM%VnhRGK6lTpsE^o;AjWfgh$hzh6UlZnJ-BIe%WZQO2=Z;A=@KLF}%PP1gDM2>vYJFrx}6HDuUv6!8R~? zu#7J^{`k$C{xC!u;=)em#^iQJ#M3`zM^J*@p=!&*FSC^4xrZ$50s9AeRYG|N*S;0h zp#0CkQ}0O?O*;(MFPi!y0UQI%sVCYX%f7_m2l}k4`ZChY4EhD@-2`Y#gQg0xIINjq zN^URBJ~t~O0l1>!AeN1)R4F;Dir1|Xpe_nAn>TM>U9Y8Fw`EBM`J_n+m`BMBWi5W# zoK@u58>aKC;H8v zz@yi#7sevy-~SS7-_Od*CopAU(_dGvJQs`VzA>(8tOlv)op)sLEt)b4PBV?Eiy~f2 ziJKWr93X?=_v?$o<*l8+#U-JRES$m#<$9l-dNjDZftvuDK{t}gJ>&Q!@m_3I=}Tdw z417)x{)v$~WRVT+!Sqol+vq|LJIoyiQ)(t?;C5~j3Q<09{(M;$Nmcp#??yJ6wwc@n zJwIfQ?Y0HcxM?9f9U~1?1Xpz@hMbz2R*nKi>iJKo_G6Y%iTjIi1y*H8hyE9VpgMjy7~PtcsG>ZmN|oHc=d!LhGhcoIsnKU_ z&@`5Z15oAyj8ubmTSb+g8Wl|HX5PcWpM6ZwBN&RuxE;B|!~^*OlTtqg0pMI)1EF21 zW9*yc1(}^CStS6Y(RVyCd(`mZh7EpxU5NVRT_&NF#1&rPBZkl!pWVl+QH)LeFBP{e zyv-boCZkR?2TY~0j#co*_6qbnFFW;5s_i$t%A-T;*Ke)e%294{mEnZ&O7mi>jR9`U zB${!_6dMijc|9mXpj#Z}T817F~yApv&fm@=dDvMOn0+VOGV@XDykH z(m(s6d{1qA0wMD-)5*1z=#U#SYRqr{cV`hTM}B$PjQ?-1(F>Q#L3tN2Kt5>Hk@%`i z3ymauH3m2?ISJt;jr}F+AJOdR<~wWKlwRBy4=_CINDM>?B9YM~ZO9nN!f^;2N@c|7 z+II8eC92-R(k9C!FexMG}#TC|Tg;4kWn~13^^y%;wd~MD*B!IA;=U z>P=a5?&ID=3fYdvf+e!}R}FEImMCeyt{GW+;o!Xw0oH0J+8g@|nx_$HSs zpX8Xlp7HJ0%wbN-)vGIbu}?EHR$w^wj}sZeuJiF1Id}5UOgfPtNdm7^g<=xNZ(7Ra zq`1w^iv2xFw&v_v8QZrX$W;%GqgJvW09#ajv{;;a^W@=0rPUE z2|Ll&3JanN7I9mm2jVWLmNf>)BkszKLTz)zlp6!z5|n4n`eRPC4=Xg=BWah)-~y`; zRu!W|D;p*O2;pE|(U&}RXk|Z#Sjb--(FU=3_uGfqjl^uqlo*ebL;IvoJROba0`c(X zz_VAd=;F!_M6>pUHp4YOGwgiMHyoB6CbcFHZkA;o@y8#Ru$FXoPDpvP+l64s@*-m) zkYe3B(5SnUlgsibv!TXSt||EdGUlD_Kd*agn7jFvA*C~@x(R9ImX1RL#C{vciORe# z+rEzG?WS(&F`hG^_$cs;>ch&X4p)f;e-E)O{R4rMxLFB@hXkq#LmTT~7NeHC8j~Zf z5n<$AYR+KNGXsDv5IiPuOs+Dt`M>`-K)(-~GP)1^A(I>t?8;OMNP+kr9nI#=Y*zfS zUUufocUmcH$fkzAZ2th~0R#5=6cq|JL+u}SqLpOQXoVBfOmE4m9wtxTr zY(g3l5OoAe=MVZIzrdwPTvvw*tsX}x50W_e!=ak8Mg$y^sZ|1#qE!8rCC53a@-VvH zLt~0R-sq<;!{7!pq>14O&rizzt5R>^w^ORm?mORFW$hoR6Z4;g^Z)S|J(aJ2{{2g? z=g-yWR>@6jZMuYDQx$D9MKgs(N-t1t`EOgp)$W2QS33(=3VX5fO)lh@{pZI^9R6sb zvmU-x>MrJ5ucj@86YJ{r>n~6LmG1iYlY4M(mw@~_4A5xF&=!Nzjd&#xY+VoJZFh?d zBZHWenXD-ts4TD+9fXLKdw>7%WTnsRr;x*BS+TbM%51|$`xW(L_K8%EAYJ#545|Kq7f`O#?<0@6kbB&Y_v%{x?gd7!OG8XXV?5?e_bN8y=!!y zdWO~~-G?*f`T6L~WfT^M`=>pvIc79YlAd3aG1xbdNJCI@+*Dh{UeWko>-5%mzfbxXzJ^>>%l!|87 z{;(4Ua`^G+&SgAJvS>qdo@ZWQi&0kqP$E3V(y9#%u5{ zjvep9+>G>Bh4ZpN!pDR?lIlXP~W2HjV%Mx}aN%20==DF;f z9q9}aQnn2(Qor>eh>DkYk4S%L(P36&;^Q;^$~{(8c~zMcaV>D-2q;EqqmubuxYL-%0lUo95udp7PP`5M4hlTg3-a^tkJ~0{|nasSj0rpXJLnrUg8<>+u z7fVG)o+y|ONy*?)M$)$8ND6%4IIwo3_!_HK?c~ zRshqcO$#19>DI22hyeGJ#V7=Gd>3my2LyMzMlCw`@sdiEz?Ene(+i0aS36D0x@_iZ zuz@GXEmS8Jd#60fL;I8UxE0_`7UUw}(Sm1Q$`L?RH1MSQEmTBTbr!%pJZe#ANRJND z5NoI7I(dDk6StC|*WI@G5MeG?l$#Qk@bnB54DiiU*+slGb$YL~&BNwBTi0IYb5>SE z8=DOY_Iak@bhN2!Hg3F=IUN>kHZ;sPq}3C6_|haH!jf8&9D+3d5qtzBz zAO~R0;UdvCQ1QdU&YX^V89-2(SLYs*U_gU8c9oaW5I`qVUmxSrIpzF<_ALC8G5{90 zHt+W8df6`vAyuxhW(815ndxCI<4a0_i@-G^n)>dzRzkX{`}CVT;yB*Q(z5;cFjsvz zwWO^d7Xh^}?iETRw$dQsgfAfE)-Fl`>8n<7%i(h~Weut&$`NEu;!Imv(1nzH_wIFi z&*Y^6pf5aq>Y;^!&y;ZokdrHti?TEVL;`u85v$ceWkAt(Auf)!@gc0R;LG|Do&?*g zJ7GpLi6bYI$8jeBSNADzDB5NPF74j;^5v+lU%)N4v$5g=ZuIWc=SxT_3v$bn(iD-3 zm|*p=5>A$bP8d@!l5Y>H7YE~(Z-@4Ttdy*;=xi7bXg|B0o`o0nty@(L)XNFzbJ!av5xHSQ5BKN1XKGPTq2N7;T){9XEATPOWV@jWn_6>i~k0UG`z=?7RIi@+|0vLf} zW3q@tl^t3hINsi2Nt8TtH*MN9_0H~HyEH73JnZs~8*f~LhgSv972~2_B)35bJ6Nqn zck0&vS}EP~YX$sej9?n*PwoQW6%n6;-;ETAz!T|5IZ*ae$3vEN$8@aoloOl1tfa~i z&5eY<6>>$Gb&Wpbd~DZqa#7nD8zdp)A+f0}Qv*^Z3pHST>s?=XQ1KHreOwL^D0~3u zsQ?WcBW`+!1tt3wEwnHAFa%9p4ADA#Y6c`AHZUTrq<>@Y!=rzO4m47Bp@KQrHTA(C zWeEVDW6mj-!BJ9$vgT|slA#7HJ4tS{xV(4zI|$F)p$B-$SBA^ z&C86E9*$*Ui^0_OfEElH?f^yLotqX25BuPCx=30vHt-j6<75s7TiKS;4Qc|Qen^2I z>-_)`w!Cnc1#jAdjh%>m>f9Dz0XRhB{|@9f6PW}RijvWQkLzT_tc19zIu}xKGY8$s zC2hZbCSa7eaC*kG<&pgW|5S3F3fpsl5*o9E4kz8bS+Qlyu>BQXq;TiWcLV)slEXHS z$O}xQLpaT9WU*Xpcl+#)9Xq^g%tDB$rdk+<$7yMoN$ZfVY9hV!`EssMkCbzJsBhO) zJR+}3rl07;+s6C`S%(QAyHux`WZi^)^#g*fzwgk2%-OwEdiGr2KGDRmYm<~G>2^B$Y( zB_ad4ZwN2&WOyw#z@x^i^7ZAx^W!=0-<+O)4`95O%%Nz0F2@EU{alA&2fDiAqKcfL zW*L_9cJ6l;$Ht=y=-X2_xWV|F68Cyy=#ojIf>eXx&xfU(owlcyLse6pJsg`Ks_Po6`v+-bI@-S^*jI=(*FvcObH6`{bN{4y!wSM+lsQBu>DlyH#5UFMY05D!8jv3Lkj(QMaEszE3qls3q`hjRt;>@p_1 zR7cdKjOE$8hbLNsI4DbLPFC|4v)_(n%LG>{sKJ{#{&lwbWiXe@7u3Gg%%>r4+gdhk z*f8!76b(~{g<+u?A5tO4#*%SsTjTcc+0*IcZ=VRqMfDWcTLVYY;88+U$$BC^)^XI28`0|E+ zY%8nyk;O?W3@2r`-04A%=Nl_%!u8}e5nuA#enhk))Ovwm?UrS+DEG#!kHVGOFz8h)m- zO^&b!lr0ik)hnd7)I3e2DZCP{-C&{5733tH%Xu&bDWJxyLn8MhWyfQ}o#e|v=fn~g z6&|1Qqdd-cM^8u+j0iLs_KN`=vV~NSETvt2Lv4pe+etjfO`En3)I$Y0L$j|n4U-(k zgo=j4USQ&>E3~Wwc&uKZ-_?Uq zOJ5*0AhMn2qfVImf`G{XdeCJ85we$71yv-OcBQe2Y&^qfob9Mo%cBP@zK-Sq(M8)q zCRAf3-jY7W#0S>mG`*9YMsC#S#D#DI{ep9dY@7)xlo@3Zt#TaopC?FDd3j(K3jbh? zYoMANv(d0`ks*k=c`pbW3lNBy9Q2Hu`$h$!H3-i%Ml}@k z=Zd`LrkShv1@)sK2^aWeS>bcO3hrkkl2brmf9d4;0_5cbN-rZ!!yB*cR0;Y}97m+L z7u&HXZx5?=+iocUOlPQ8m3FwtX8>?*NHF*qda9ZbhV4jbojcC*|;MUny04|-p8O$IQd}6ER9lU z^88mVcxz=ky@*%@uro*y2PVdxc_;h~M{PM@02^gAL%iD?kT40u7$BDbR%S1o<^ z@ZoC2Bfh-5(LQA$(>jSZh%PXY3xeeUT2( z8TTEn+tBBA=G`6|NzP)xD{MQ_P3sTcXuN$IOTvIsbIUMqYUW-Dj_j4EE_cP(vD_?_)I^FolQ0M*Lwc>2d4=Lt;xtg8bkFU3)-j= zr(a%$;Uw0V9caLR+bH-$(TU^7O9p>vlJI(oWt}<|6qnGzUZyfc%-WV|77DJ_E*0$u z%KRNe)a=eZyLUHoK4VSZ>YnH>e{^18dZbFo#O-1mqYfRgv%bKhI6d#Z6&t;6*aH|f zGWf1!S*KHoU#Txx2kTCrJX!9&>GN`DR-XHdvrm)L3E1j#CYR@=RN#wuw5U~UN~w!9 zNgx^4ct%V}1qJ#Q)Mkp>JnuiM83UcN5cSm_l zEPDbHT|G32K{l#X `S7)$#(T{5Kh;`qSo{>&Pq;nC~3J#-9b@RldFgFl#+maPj6 zgYg);7!8_>K-q90ki)b3M+gDW$H$q$m;G`UX(81k@}4YcWIZxOs$Bu{8s3IDz4a3B z^!%WmXV4^x*b!4a>=qT!-*KxUos%swwTul+8{mMA(=A~|L-iGflnpvm1KF7qBw_qV zNcfr*=yV6vw;&M`$B0;(ZdGNkX$AZ813c+O7AU41Kc0F@`xfTlxoZp zA3;O1UvTizuANNIEdI`_Wm`^mp)8^xaGk-W{@fK$Ug|XNx47v~s#h9g%8Fbbj53kF z?gRm4EqIDEiVn z6XU7-r2qYq^`M^3h&9m=ki-vDg7bLt4yst1n9jS3CNViUEbLp}O6#5vQXqt-S61`U zl1lbA&gFFQ!;TTIYN{WQz-IKBt;k(eAX}Fin3}YRJxViVTH&g1To^%@=6d3GU-?-?@j9%IIY{?5kmnb4om>~6Ti ze@67HRJLp@mdpf$DEW}29IVE!8P;;%euFWX&$cr?diJd4+X^?7z^C{7^zPk?-ob*u zo=stH)|ad*xt8ozbFO{S%lDK*n%C&%GN01y{Fm>aym>PXvD$BrK9P-o>SE^S-qh34 zX5Q@vUTk1dM&~rORbkC?u=eD%<#H}xy_%iA&4Wm` zDe7;>mKXv^z{4tiVW3yd&!;-6i`PE5KS`fKPwAYJ?R(btu~6NJOu%g$U670DA$|Ao zWXlN4FDdJ&B2goH)HmA>k#FtNj@&^pGt!Lxt@4YG=YW8mv)MT91X7E6?s_xZUDFD2 zOqs|_d(g$dKSw?&tYMorZQ=^jLIQcfFitn#oAO!3&?{=3c`0b%{gg$Ru^T=0cHt=U zS(Uod-$Vq@HpJC_-aqvuV?5QGNl`uh&8uK*4hV!^!1uj#aH=fM>WUf>-_d?=f-PWi zSK)+^9Qr$A5Od=He_WkTe0F$8J|{q!%^GmL}4@U;~)T1<}R}^APU_C z<4$!dhVSi)9z)ZcVJ66rmIKgq-czSrf_E+tLGT>)iiUfT_;PUAan__^k%c4u5OOl= z!K&TD(CniOn&{G=R#Ym(U{b{%w&zneAavj=ia0Xdz(=GvunjHE7a=uwY+@ryg6%O?2nAIlMV2iLw2YWI@<+5e3=5B(y5w(qZfBxH2NPUFeE^Lu)djzT z=Xf+Zmx_iS=iZkx2=cSlbWU*Lo>Zlz8C_kyNmo`5TUK^q${wiX7|ZJf^a>u$*gVXo zUfZ^tfn$R(6yfgOr=xP{iSkV)0|u|iBnOPWjIhV<*SK}U)JAN2;2u;CLea^PsFjos z?qD|yZgyM|s+jG8DpGD$ggZtuJxfXkRc>ph`Wog`wRD9_1UjDt{P<8{N4MTHBn zg1JGiN1{EE#8!%qxK|X2Hxbru{XV`Y!RIQsD5GF7DYKDQ6F_u;DUFBA+d_4fs*%Ld zT>rR<6T2g-7qcx}HI66xIgBV*%9swx>Q(OT0Ldt;W-Rd&N^lvg*!|E2Dl}5OGDJ&g zT_DuiK6fbra|lh^sQxrgkw>W?@J=*Akf-Kb!!kQ#MXls#4? z_pDr5)o6b+nRXo;f_{KDWFhD%2S+Vh$N|oq^ZcBXU%Si=9vb>LTZC z+ejxBk5gX2{0egQ$~U?BPf^=u7_AJhlvVjNH2qs~y3Bxx~vj8+wao)kQ) zfWjHDc()|oW^5-YOuGpfR8lG%G&^cjmAW3qt3h-H!~}=KezraN_j1;@TmukdwK6qf zB__{%R)M-=EX*+{Czh(gh?40>y$AvbHPJB>+>tn0CD#FTt~OF0Jk&+6K7FjH_Wi>? z5L9)L!QW_;Id7)v%b%nC%a z25<#(0{Ogi&v47};VtNip|Mkq%bLu9wU*i&IGoeNfB0=EDN8wWKs{6y!iC5{Kd4(Y zmjXzrW;Co=yMW+zPc2$hK+B}1Pc4gACgB?*pC^E)S{~=RuiDbFG9oVwq{1wXM!iOE59>M9U{`a+?k2n6y6=lqh6frDP}VZnk0 zx;Cl@L?(5Ka4P!ad&^^vTUxeSeEL%|Gu5@yYrG+D4dF?s3c+*kJ!{sifN2y&_kyhr z)Cx+dU(fuyccDU`lq%_LF#T zaI1q@P{^^IsCtXpf?W}j!w-HZ?vaK#0s$x8KUNR(7lvR3!W#}Db*dw7GV9@p|6P5W z)r1M_I@Vl% zGK7X-INyn7AJ4`mpo;}?X)Fvt^P`7rOO|N)@@stTx-Oz93Zk)Y-MT7Im#V~p5fS^m z{GU#0-7^i!zl|khz`z7!l9QXm6UIGrO_GO)S<6O@KLo^|n3`zpNDU>i|KkyiK_H`vy}U(Rpy8ayaW=~+GN9vlk0ts@C-OhS3q$$UlN{} zlvLC(@59Nk-3#v0;1s*281Gg>ik#?k{xE7F%BLgtafSIQ-^oD1eWvl#F#GH`)C)o8 zVU_$qwy{GFR64_d>kqYyuYW{+761A7FaPti|Brvv3G?)tO&9C8V~e6kHmvMd^dp;_ zBwJyNKBnRy6}NIl$X-n$a^aUY#FI20BT{w$;Nbrtn4?GlRrr{)DX*v;J#+-i4gioX z8e}x1CN-2rIi-3yf@uoJ%7h6P5zW%li>GxH`7es)5;f>3bSm5d?t@XRfra;har$X& z$anSYcQY!m7^E-VK)Ba9P~uDI*B{%8w5NXZl~;;&aH7rvlAB0rn^1kQZt)fOgNp=l z?(HfaZ)OnBk-AC38~Y5fx6jYTD>lC~yvV^a2`jgrinHC!`Wb7EpvB>%9sNnoTSNp~ zW5ijTy@1D2u{Q1Qk!@+Y@DK=Jx=@k|ezo8%ONo>%@okIg=A|UY7&($bT<-&?Iq&YV zZXQ)&0(Z|784$a@i+Pr+3>tRN`hvXa8LtKYGUyIz@4HW*in_hxUo^m-u5{_r!1CFZ z#SO&v?KbSsw4m_t@LfO|;D~+PhXjYB?TF>v%4Zl96TxPen15HR{qzY7B4J|HXdIQd zmG!L@Fd_dur{7vB!GcbpP9lgn!xK%Sra~qx+Y6uGM-UYCWvr356C$?}!Q0SDk{v1e z2D~WiK>w7pKXMW24-U~4q*f_X>o-YaLDIyi&ri!Ee>QT&Ttmkw;7gP7IO30SJsDr@ zTmbyYrvEZ(p%+u`dDf?zxV@ZAS+s591OBsbQ0s{XWeP~6u4N%PAXQ4;iEzWf_*mH^ zBj8=jezJH?S^g$9T>(%7I6>oTfp+vT8lricqHQSZIX{Y2onqR9Kbjl821TO*+rkxV zKY3zeQWdJV0>sgk3m57om0b>T$&nZjZ6ob6cMUQ5OLlsHPg%g)kVA3B@sp6cj6;1& z=2X*{gMoK{kuPLA%#eUIY&&96#HkX9_Rk}#Ab?k5I7Yj)7@51z?!78KkJ^UlD7JvS zx&g`MWd^H63)zjPvkniKt!a`Rn4WyOiX3pWN|b5&DJ3&zlA(riQ)JRf7PobM0zGo< zHonx2gkGd_Tn?S6!ez*wh&GLXJZw(?bt@P!`5cjtXl#m!^U-5!wS}hcoOI0(4o_k| z-Y%Jg+9SZJ*|zFdrN1M7BF14TYCeCQ&%c-wd6Fy2CUw!=SI@1*+cYAy(c7%}{un<~ z_K`wYR-Qy1I`h<;i&^Lrl7VA<9$%pj4`C$OR;^L-WdLzi5us2{V`c}fFor{uAz(}p zuti~X6JA%U8QNhV!!yH0Zv?&~V`Fqfd)!PPBY}IW!j-zCPt<`^1uFiDP(#s?t`^l& z;0~-1RHA#f;lO1aV=q=I>$pA!5-4p|;>a%1wGl9$VEYSwAV5sW3IBkAE93{m=?ws4 z2(e-wfhazPO7A5|Ayuom%Q5h;O4RrvX{cT?5=sEU1Jii97|>**x*X^Lv}U0s4Aj9Q z0ecd7w@o}t{%EA8Dyn)0F+|`5&`WpVm3nmvA!-=m1iEu#+9>Xg2Be0P@X`V2{rSm? zHj{2Il{g-qDKn;elf92%r;+cekCi`wJNMwq^4lS1Nv5M-A$S#yHzj2|J?G8V+(=rA zuB+G%a3O@M|4PLLOeq{`M8PC%4>eLLoN#Z#7rhVaa|@KGWVHJT1rO1gv$IveRmT_d zQVkN|dsS(sE3deMO!nBtA!4i_vO9x)`L^e4b6Q&bU&69rQ$7D}eIcHVm zCa9Er%${S0fUk~0+H!;^=u0ib1Qp&B4pg|Y*CN&zy~+E8LX+q!JkG{ayBPdQ49Ui4 zE<U;xXLBxbZH>))bBN7e%hBYk3T5mV)ffI3-c=Ytq z+!Qp16?~!62-hz16N0phfAav$%W`#x!IiF?6DOR?p*lFo3=Jat`E4sMk_als;c@Si zDq3Cw( zvYe6KVh%BehfGG>dfJ0Fu#hNYTZd)2Rc!3e@H8GhfmVZV44lb>sCEFId95rl3$<$S z3b#DDb@8Gxhch~UqNUWnv?D_O!6^I~@P^91J8P3Q?@RdK687fVvu?1(@%Q?{*r4Xa zrr@@zH~gj*?guH6pD5j-JB%inQ}kE!iHgN!S0Km)PWXNlH4JKvHegA(lPzeF^&^Z( z1n-Do+JntbZYgG2EnHIPYK8#S{N-cOhut+PC`!Hu$*jppP(uGWk96(UO)ZrqX&84z z*ezr;tFxKt!(C$}{&Tw#9uNLFXxGb?qUViYAB$dP>l#1|cs{Koh~m3=4FpY~+{5B` z%PwS_ZHaqu|GvTbOciN!ixCjbgei3BOYF+XNH`gU;QY9^!^e1|=Uj-o$I0X+{Yl!=B*LMPOVwDa@->@> zg1Jz$szF|?D?`-Z6?v?=iv}2c@q($8Kj8x%yw=))`SXNi7ktUCdDkIU5kQP&wT-)p z9e`;kCWQ9%uBNP&#)H*^sbRFDHc^JqsQ{pq2Py;YZZ#@GLYu`^^PS{A>T@$7kBM_y36=X{&+Ic?SvUw-K+MYspUj`cfu#s!!4v=>R;qLZA{hcMU0#=cdm>U zWY7aW3B&X=qy(#dH>*Tu0->RGCHdr5Zh$A%$;yG|#%5Q?5W6jC*dSZZiS@{6?nEwJ zfKN?tj49wnFw?tmZdWDeqmj_4N){#V06&+lPyvw8H0}!&qZnZpOFejH8V+>YX%>Ju zWSA;JLB#!MED8x}s=sP^!R$0((i;4u?NAe@sheVa#4)16zMT3blu@-z{6L{=w19TT_e)fAm-wlV-gcBc%{7m%e?#>8)^X@h{Ljv|L=&5*ot4c!XV<)p9dk9IMI2>9LM2EdDPW)|82h)E!>?GD2lYP~n>*0%HJoMw z>hhcyeQWQ%5&w;#rGgo_775vkR<28yp097${?k%zsZ6u*kpgD4sCaMxklQcb_@ zv<0kPjf*5b5l^56j{gfs4SqmYc_i>av~^z2StN(Q&_$$x)h_pDbt-urAwrmN~1@R&(2JuqHXh6k^%tDhl zS+ZLDstwRtBD#rnl6}2d7~9%}jd5dNCZxL5S5$)4;|^;o4wJxXd)7!U4hG7`K#Us* zi_qR&z|MrjROuMICq`Kf%|_Hlm}L`zJt`mR_2&3JU+ZBxl@NsTx)DdM@>*<#$tk7j zfoQKHZd&vv1wO=i$J^A@Jv&6oi&)B~nE!VCQ$2FlAtrDDQ}CM$wUhIaX%uc5bH;!edp ziXSYg+BN7?=MU^taG*p&WH(IMm2u0w56}I+a$aJ@5@INxYIZI_>jI26LOsyS&Wptl zO2m@u5#R)x?)TTMLu~N*x_g8-bXddW;<2G%RSP(3W4G|JQ*sr2PM;}ES6^d?G-b$9Ox&QzibiL4o* zzI2fpur?h)TcYN^!ZqQzb$9gsWy_Y8Yxd6@u_{vJr+M)@sl+^94EbF&Y!rH>K}Sd1 zF+ZUnaRGtroPac7k_MN{^hjzxan%nVj4WA0%SwD>(Ps3s#JY4Ocq#!CJS2*OB)h== z4>{A1Acm-zYZ)p^s_CxchX);;A0$s4wzP-}nq~Kce4KY^ekLziT0pp{%Tfh4=mBQdy)Bq7BF&oe(j=ftJ#!_okcv`?;O^s*Ddp-$#-~0j<;QVB&m@KL33S z!Fx&T4wccPuu9lMyIk=v7V9>@{_S6?`rp6&%V+=hFR>|udh}Rc+}i*3bG98n{`T$> zmdw}xxg#(z@c;hl(a^76Vw`2=9T)ytgEpSxKfKvOQy`-m&e??$t`X5nS6ov&9KX{&epxFbUxJs4y#OI#Oe*56~8V)FvcUT0{G`h|q ze?C2H)te42(>Kl`r&T5}ke-%QdgAu6*#HBRGQ=^$D1S-0LGYx6d%WEH>Tm^np^c~B zKXzfeOqVr4$8a$wMipLVY#1Vnctd@mN)U1o%_X5gn;s4}!pmVJ?_vgYt-PwPlCi)^ zRfKY-HX0zR00!v}uvYV|fnI7BIVq`^s>Hrvycv)gI)HgY?>~It{I|b#6O9mmN`8o1 z!Wk|C0RHA66YJPHLk2B+M%`K#)4+IwZAH>-6Acv7!D2x3F2h^snf&~G$){oY;g{s> zC*7TjO{C(~L1F!5DNo5BU|CwWsT2<_$dqB+#B>{^??fc8oSuBN5_uqObu9GgmhWd+ zfxvA(Jt51Jh6UYDdcr@eVC$8uMN2qE<8A04a}B4y#=#qK{J@zvj_o+t!Qo}e3Fxb4 zv#F6A+y^``LS#^n#sHYEA&8K9hNT@51?cSI#f?7o%dg;4wFOI_42m(3@td$VBr_o? zzD>P&5kpW&rX|~j68JyGoqbT1bsoi^3xk-UX=*@CkvXLq2!Un3fun*V3Yku=SfV1j z2uO*JATO74!E!7#cSo>D(^1qha7ARTEl5{U2_Y>Bm?9JqBbSswK)825=R(%D|Ln~E zvCK35e)HnjqZv;CtE|8>+CYdZM={d2MA?)F`C)~q z$6=-o=xx(hJO&Y5f!Z0x)DrM62GiidfDqUeGTps1FAE_IDjapJl*Y!28;q;5C3FwM zQxs8ys5}_8|C~ZhqX@*9{kURE?aQOBI)y1p=8~u=Gr1Bfxg;^`lh?U0T49Bj!t%mpB%+J38>&j0Oe~j7n$tTgIGB}WY2&|(-$*^B zw1^&mKrsSFA?6q~=+ZK=@bTK~_(p85S~(fO5uGw$pQNgSsx!%aUQU7BzN|ZsPnn|L ziyB}mZ0RisxTW;I}|6;9Jl&tDTgLW{hBm&%5Y6?}*UV4{(7EfXE6Inu91 z2hF%Etjs{#~=s=6I&UzIeSQ7gTTF0{DmTT8$a`a{70B={l%^Cn+ zy#O~bM1g}}Nu4*Zf?B;3rhuM>Z6TAHhsg&IdK{xQ!N@T#?w3R~nhC6sLc zcmaB+U~fSEfE`-HEIE?sLey$wCt>4H&w0$=n!4k!lQwa#&iZ9p9(i%9b%ypKPRF8}1jiHJLEI&SQkvBJw-y@RCy3~^v8TzBsK+OL4A&2=gFu}utkzRsh0JP`p%=hMBZb!@|t{w3FrgkfZh)kEVhrkpZxm0|Kkst zpQ2>qa$4&ez`Hfp0a0eY-u__vhuJoMR+P{c0JI#6OCcw<7an3GCFHL`6~COW#@x}y zjAJm~oNQ$1*mXP+SRCOJ8{20Ae=@M(Xmi3M(yR87(i72YTb!+Jx6U(ARS! zyqJoK3kBLHAQ)iInI9(6ok)k4N}Ir*ANJF*G|0PjVha*7TDvbwsO4xlhVqgC5Eo)) zz@2)TE$JdmkQ<;T13Y(ll!u=BC9CGAMIb3lIbT|QM>xqxG)MblUkp&$A;CXt8Qf|h zhXy-4&jjmUyfb+xHRS{LwtL65STCHEL#*j)swk$^2BngpThBZcYp9i?wJs44K`zmv z0yrmHdLZxjRdYIKUnWu>I-*mh*2GuM7ojXWl{d|JY{M2nI}_hLGu zCJ^xh7@;^m$R5eeQH(@XX-{1~z6ih|=cw`KNPjSJpn7W0&pPY~%v!g_FW_r!(nF7P zOZ>t1W@4V^=0Qj31E#t4b_@<{6TbY2P1U45LGJ*uolFF2&U?hTal=vx=G?x~Km^3a ztLXcMLWnQp=Oq>rRL}G~0t1Ou!qHFffJ%zKO#Ph{Gu&Fh0f} zhi-4E^F*qNxm1ux$UxVm!N2Dz z?jBZa!Uv=k1o%!iXa-?QW)h_NQN%cqczJUKLUdMSwA5tGj7650{9oK3NE- zmj+F%M(8wK83wsk9hJwdRP160nnFoORURS#+i?4zb0J#faH%K<@Axzb9>c;*o7UO6#ZX$6{K=eIA%M($~@v&Qq0uMU1c;LNAE! z^YnBQAR??gPe>98z>~5tbV&Clg${Z^Hr4+SU7nDbIFz8ujDyQFtA?R|tK6ZBan|qs ze)qjN)x4A_E-aJh{qVBx0ICcd`4LI;r)|;;m{uZoXuG*2AOyXQ+(fw@%ea!a-dD#N z)yHE>IrAn7ll$a&oI*&z&#^6t{44;rPJxNrFSDUkea}TBn~Gt8phr@AHsFX82my68 z=8j~p)KQd6QWRqaxrMICj)$|H2*^yS{ciFw;5duXLkM+Yo0IP}mwy5rO|!p;;sKSR zfnblOOfA{s2a000jUfozZNS{}=-k$}Hf?Y*RvfSgF#FSla_HWCkC#yFwO*qlK>PQV zd--?*P-zrh(IfE}*Y`x~wNc$$8`=xOPZ75;zku``FXYUKP(bUjL&@*q7c6gx?~-r7 z!oLf0Ql4y{b4ZuEw5~9G;#=yD)AUXKGu$=}TJL%>=5lY-Xq$ED{S*Y_cb{ku!uE0Z z6Tuv|56ikg99!`6f?nUaA=|EvoiJgcf1iyUUwXK^&-u-lWnNA;X}RrJKNycD=GQOp z{>fio%76av`hLh_2Xz`jr#^LmPTlTq`IK_#Omn~4D|kvOyxO1xZH3VGUVJD zi8Ucb$p?=yz4%A(NdIVZ#(^40i#$$^{ zYbyNF^f%^|MP;5pKfr7@D|OLwNyiFIz>h|4vYexnJaRmxYu730FP15UPna}msGD0k zz=AxqX`3YHhgTK*4)C|H)5O~fF4XyUMN8UUH%4X-Yep?ZgQPbDggAkq$ zO1S@t)?}t;eA_y8i@?bJdg?2~X!Y$u8jx@Ze*iu(pWo0z*#W9A7wHKeW5-@Nyp1u+ zDyJR-_!X=|!r=%YYnDVrL|E!VC2c3E>x?VfN4$mY8-n z1b7RJX0Qg^59if)(5lg;qs8q$C_j;Rcw{*oZE4-ZfK{;czce{8cW8rI5_Ndf!R*Qi z4hjrhO1j{Wy7IK3It?V@EN~aRoAV?f4XiuP+l?XCh8QfeIHF3DT>CNYeqQhI-?vYT z-~s~91SLE^r8VP#h5{-oDx%9N39`5~^cby$iLs)ya&qDTqM-6E$F@iF2dbtW1_X6I ziR4$MnQiDD;UQA%H1TK5LBJn632QO9hZ>j1q?Np?gPY19x1Yau+{kb$}+av%p*Qi8S#r!nByJwY4 zdgqkei;%=&@U$ISlO^V}IK^Yjbi6hhQ&^lfxYJX6E&&&E`u&`mn(F@2=7#GaKBs8} zX7c<&Jotq4Q>|pO@ArIBN-~PBGtg45R2#78&)9Fu&VHDvL7gTsi*`x^>(W8wfN3xu zm&#jHgHi$K43ByWBlgOuD`TAM0`ocoBB8G)&Az3@HKBn0LEJqTrmje~v44*U>qJlYG%ADgkZNSk%A3TI8=ZUR+&MlcKoJ1;`M6h)EM- zqWN&SJ~2>PhgS$9CO1dpOom(R>O_Jhvn;!EmrWUIJrsF-XLPAw&-x%Hj19>t3B(FI zXxcJ+%G(kHY{|Sn3x!R^{G65PE5AQj=$%gxG+WwcHD|#;fY)s4d=8miV|iB3H$H^0 z`CO6cym`zkxMyS|DYv??%j!t6OtZ$9ld;azZQ<3@{qcT)O#oVnE63zkuJ9 zrxPxajs>N~nYPyoOCfF`Y)pe-U^RAxfvG;fHZ}0m%-aqR&_R}ZUTA#J9`x?&cyv}=VHwF14%NB23OhG}hOiEH* zk%D4g7X<}X@}dR!iAV4*UHnC3DS6VGf?~;P@;^$7z#uvb3V}UF%BnW1a+xuT;Z)Y&l72dAGE5|8kc}UODNYcSd zPsu@ES;xUdXP@qNQIW;_?FDfGGd&w^275D8b8A6+;q5=JD~QkJ#~j-kejH+BBD`IU zd?ACXoC3ok3oAVaUUoh<9WE{|2L65QT)YB2+`Oy|+?-sz9Gv?&xH#E3xdgd51-UsH ze*M`lvKXKCTj}ZxDvC?|`a1kec)OvEjin$5hn<}ryB!a^g_QvZ*S>xGI5@dExVhPI z1e^7Fa~o}YHgoG8KQHpvb;R|ob*zjmZHz3;8OU|D&sf;n2yfp`zUc2izn;s?^6xJ) zxBg{2SdqhC+meHeos;7~ousSt_c@lfR;E90O;?9Q&s5J$&)miu=W+eV^DGT5Y%Ht| zE&j__{{8F!`o&liIk~^T`#;{Vnc08*YHORr=U{?gCjF0RS}UKo)Zlm36yRz)(`1h0kS@D0arzfs$qbCB7%!=ZABS{M)Yt4_TO6SmCzxM0oad{HGt!IqQe7 z2}+q;+i08X=t+r-;0NqRM!JH0`g(kv+WMSqI{ch`Y(aXamzSP%`v17}Q7a?lI&ITA$B?`Kzx|5;aGC${ zRgy;5@X+&fJQx1^BbzDdo&DFJ{`Ct}qaRtxQrpT}kHnnt_P>Je?=<#zmLli;h+RQ# z9g@#PbVx|(>F($Fm!JM~TYsPV>olYPzYF;D`g2bI@84l(sAvAa1=P<={W$8sU&Pu% z-^NbcN>9uHKJkAR?LV*kuP6Td7wqRC6~NT!Uzg(NPycm={_@%XxuW|?ViSZn;Lfyv ztOD15j{otqf4=$W@v3B1O>KW1&(F)9I5k6jC9^U;N|Ni5DKSRODUe8oj+z1hDP5hEP+OMZYI=33*opZ}Qawg$6Rx*@!QXT%=KFn%{}0cx#n8qx1ax*>$fJF zd%z!a&9%mFKmRe;Z%s7!fIsG%YmMK2{$sA+nrQ9;f6O)48o&Mg$6UWP(cA<6m}{;z ze*5{4xqfS+xd;3)*IaA-_VXWe{nkWt5BOuQxz_mY=RfB9t%>Fy@W)(pt?}E>f6Vn; z6U{x~kGbYrbIrBJZ$JMr*KbWU_kcgBgELoi9bCyXdV_5=x~lR1c4Hs4R23PSa>Y1_m}8D> zBWju)Z!Ow>@F1giQB!g7l=JLNSLFmBeWS67xO!z_xMxXvrBg+EqV?CQpk85H>6jx2 zC>geHyR!1&BJ!UMqvfx3l4oaEY-wTUTJ`g1i?%h%dz)|P`gI8YDI)de>R$-;llo- zA^W$nvbrx^v32FfjW$!{M$dUVIj>*Cd`)X$zhdlVUYX75HW9-c!ihjF|__+SLB z$>ki^hzO?T%a_wFUErfgp{lBi6U6Y{g2Br-ZQ3L&CwJD)F3R##?(_8YV~-?P1qBB` zO-tM5GBb@IXzS>F(+E8jthjsKhMd1{D`{`UnyRWQadGjLYu4oX?ooMe`H5=Vwr%9m zLPF$CO<9i}J4W%j?A~gAetvaz^&+nw3vb`P{jQ-w+r;G7y?YzJe*LPdrUn}wdU_^b zLHa>`Z}B~zUFU~BpYLwFdHeQGR@S9UmMoE#m9-!4T7~VM%n<`)W4m~HeaFY`-&R+< zd3x^JzdtBCntAJf`vbDFODW{#6A~>Fc}p>XP-5R_!Iq@oK)U`M2)wQAu#I zk?oHb_`@7`(Y``K=ii^8J@21=hfv)yy6aO>BPFV!<0e8a*Ru=Z{q9!vrP z0YycUrlzLM8W{o!2?@`iKUc_hcIv5%m#KPqn2W2J?@*l7CH7w)Xz~8?!W9A+#yQh0 znmgV`$f##s*g$dQ$dNC7eZ_Zot?<~yA9=2?aSgk=YTU63iQ?`hhYufKwQ5z)>+37_ z*?rx->uAX5!L~w1CZ<(ew=O@BYFrzwktv9~4mA~S{rLRqyrKu+M&z-*uI%IBDQc|L+5cPq}ef^Lgb252n zdx>wjVb#NT@88R4U0K;5?>P4Lsd4S@@(W8R4J>tH*k26Xp zo;+}XqPH%-ttLi^tYBWAc!>|op}RZfx<0<-U%Tgo&yQHNzd!6Ce4pQ<1D?ED=$!kV zJ1ea^%G~bWT@8yMpbV??ZupOx4r_*2Ng5h5BP^BUPI#!L8ds%T8yMHdGKtY1)OED$ zZ)%SUbv{#gd&~U!^IJZD7Qeh;Syz1`{YX#k-Akou%=`A;gR?#{ZQ#DWMM%QlULf7N zGxE^&<@V>#f9mdLp>cq#i-?HqKR+}d;gN1UlmGfomEj{iu@8&V0uvJx8fiX1FRvVU z({t<2<=x%gim%5wR`WPII+plz97U$lFm^ub<@Di&?JbV1@k^R6-`Bb(>6N}EcUkw? z?d40MtBco`j9%``pkZNQ8K0W6?yT6de2ZXS!s(Yc+}v_1DsE$Gc`l4wnwpt0DfD}# zr0kuZo?f(Q5yhS6CYMhqm-yaXyT=>Zj7D*7xpW}N?a64hqVN#!)%S8ZhGR| zn%&AbDn)05nlc^l?l`iXref2DMS-F&B5^8-3$#8Ld6fll&6AOlp^@iXvvq3)>~S*9 zd`o@8>DM1V1bzOjYnG)m*#A}Y#EBCm0V4T^hwnK3!sY>!`c+6VJXYezCNnYA9;2Sl-CpWnh=|#gu8^@GHOO6J$Hj{m$H&JlM|zH% ze|(XTL~`Ti&4;?h-WNt243=)-W|XPC$jm)8Qm=VW*pbhl{d6vF1}mtTq${;sB|$bq z+L!rc5+ffUpRTU1+zdCN_Yw|TOvr7Y6a z)ZDyf%izF3m`(Rvn z7IWpwd>Z+6&#c;|eR&MzshL--SdnT}z0)@!fcfJ2c@G~xta*6&mhz|Et82qh=^r{z z_3_h`34Ou$mekdqpfrZR(B5IS58cSEdxJ_D`9|5wDrtWE7GE!~2U(Lnd-U}6BPnWA zjFfE02ef@dLfCW8&%1Q#Qq3c&yFSUu$y6wAsXl3GY4baHCFSK$v=w^Rhs0-QWYi$` z895tNB_(fc6tE0CS1~ox8-?4^=w#Q?l)1EZ{rV_Do31d5g!c_jcX(+W7X5GP{vNt`q-6y zNVi@a)|h6IxOBng`HV|mTD9LyN=j1H*Viw>;Z#GnCq7-LPw6DN=3st7fwV%?!|)@X zv8Zq+)SBAb+O$3@3~X$2asixTFY5|D=@SvbjGX-qyic@psPy#oBGy(QHDqj}nMD2Z zm5)+#ZA>w`8&uAkXSg@^sZQbU1HNphP6#_st6uV^t|;CWdf_2O?Gx=oYd3FZ6)Qey z{^9upX+PE&3SP6uy);EaX9ikw7AshHlzC}o>=<^)92y>0b`^9Oj-LN{%SspqVHZ`) z91$5Qt&nu*`_$MT;|P)F}La$E91(i6Q>Kb8aM9UP?n zFSDAz2@_kaU{d!O_jFn9nQ07#ZP%M^G!pC1wdT=KM_-s2iorExa2A(Nfnof&JW=aU zxzxU*F3!}^$n!GWeC#Wb{MUpbNHp4=dTSZGHf-3SrunV>K7VP0L*Z84?C+zeXbMg_ zJdaU$aLIkiz-{}1mWxTLsmD=VP9Q(P4GrO^ixp4??`mbd4&*b7r5Hio$4#W1$zMzz zjRGLa*|h5V@-2$4u_xjKZ+d#-p{^Vi{jN+ItC8ujn~_nRYWs|`x_XfD#}}zo%HKN5 zH4h)Ih?9ELTN4vbVLRA*c%Mvv0Mc|uLdS;Iqnr2JD^SKBzO|0l-A-0f(c8+-P6dV3 z`;h?`@`F26T3DB}w;p0m?e=XhBZf|gOOvE9O7#UhMyPGm!Qq=$|G|OKSIX|RJ9S!hb(qLcc z^nIj$u>u_3Un^rL4Gqn1yRRQ&k(gly^$Qm=tSl`RLPA1l-C4ts@Jn)Y4@P#E=s&Y) zPN1-Dc}0muJol|bjyk$hWJ>mums~}=E9E>!I+uaR?>q6tOmwZH@1JO2rcy?Fojraj zK}kBF>h`S7f{{$evA40u_wboDiX(68@=ckx+&wDtsWa4NCnx6}pb5zX8c(k++cY%r z=@3#W+K0QY8Euy?Up{MXtusFGsVr1flWNG1z-5%@Z%DCko|&DZk>sm>aA@I$3m2Z- z^@q%FW0R7SdVns%-rnAFphXP7w)|YQDsZn+Zi(-n?)Pc^j$4)h9(|u2*=OCc6wdTe z>h4afi#Jqq>+AioJW3D6X#g{>#mD!RX7PU2Wa>g_p=GFgVQX^k>jxGChD~R!tR7+= zrbpjf(7LMt_8h)2GtsG@Vef_IM2xucn$*2{X=j0QdidiDTP6mJi&0U#95O?Isw6p+ z9-whjc&y5GB3|uqsE89IgM}FW8V67%*rvExippDV>DK)L5i<}TAd#s*cKTXnaCkV&vj=0l69;MyLT@(Ffed) z<{Nsfm-p%Q^@*0tD;OCP51>^*M={*r9EviHo7KKVw`o&pu#g=iokak8Iecr!tBdpY zn$*eSK2puzuS4wtxFWyy^jrZfs+)gv?Qn1XQ7Z3p?`i{IGXPR&4xNFjBlJ&QW}UHK zEDB++>T6n47cE;Bf$&(vrse|-pB*w^c<){xAR8XLuj&%FH?th8yta|oI1gUQ_{sh- zDqub^8p=pPW1|`_{vqT1-NkEnOWK8|g&hqQ2@-Kq3luf523Cngw7*qsXCt8N)2C14 zlatagD>CGp_*48BoSaxrJ^SJ~(hwzkFZXlt-F;_U=a2N(``;4FIDzhP4YPtPY?!Q5 zcspC}joeK4@{Y<-Pauca*OuKiG*GIJlzUxS>A8BByd>vL`0%jJiN~rr$gGU}DkA}3 zD^bsj0MnW1EZ!maKkAqkR!B2HJ@mQw^~HG$VWl^)rNFr_bk$Ku5w}XGU!IGAJC+6V z_GV6gIO4fg4~ITJl_u|PJt*`Hx;2r2jr#eH8sQx7I5P8VNo=U|=*IuN#sLa6?5{yhSuL=ezaO zii?Z$3JS8kbd;o#MF!>bxR{x56crV%&+_y39x6C9YA0y-wG7erIoIX#I(BtQWFDjH zNRRnDHf<8LVa}c&T7u@ezudt5{WCTong?(_E6N-Ek!aE`4Cb$2x^eG~fPerM|1eF! zFRaNBfTNU8aypjgsYSC0O`c1N)6_Wt47r)<2`0J*RoInu*V!|Zar4`jr8|zXqY?69 zJvn4iAH3Iymfm@M8-gVq_)={wm~acLRt=Wi{pS3AlCS~Jg6TGV$XVO^CA{;^BdOI6qhH(*ao1PSJI8gtMDg11JRML|qntk8d}oW$ zxi`ocG~#^qX%?F3r*JI?4w3%h?rJGnS>1*tJ*%PoP5da;=q)zzn}3Ltd82|z?S31< za^i7-xWIjrh9ss1mp|!EO5G4$wRUYj@NpMFy5D}02w?od^mg#@C zt_Mu7#^$W6%ZT0{DC_W^R8favX3!r3LPDZrneVflghHK0H^iNYKT{bZtemJ33l#E_sferJM>xV!^e-a=Q2Tj42%!zP|cfH)on99{jJgz zR)aAu(Rw4NOG!(gfor;N;Mu7Z{{TJn#J5fZ6lFAIPe5&uUV&XROZL_}HhcWkddk|$ zDi>`!I%`7H;Ne3~5#kI9-W!by;G1-?plwm8C^5mS>gu~rQ=?q=16n5%HI_|_&}o3s zQO$JVMM~a*bO?rxWL_AEf=<|BZ+)Vs0r0A6V~QJzW>i`Vl;gvLt@-!%pXZilxweA7 z0tp*!#4_MGMuUo=%KS3Jy~d#yNOI#76KLK_P!Wx4W7h(RJj7RjX-ox^u_Tb!q~Hj> z)1$sIw9~Kpd56)@?Ao#8GW+QlEp2VDfm9Mk&i8>S0SecJ@56uhoOpbr%J6gU)g@Mg z*_0{?>N$0F>y93+tbY*-=*|N!QFg^3u-gS-E_+AE+3u+<0AWPq=!YS!2jN2i9M4``*eEasTMz6CU`{`JU zROjywW(`0NYr__-*!q|a>_TlqtwFs#ywX=uIzKPZu#{fd;gOG`aqbnG*kj=mjYIHM zbbZqwW-OYs;^Fl*u#}IYG>8`|N@Ij^;}q!xN56iI^HJ=958lf%LHRg=-bw}cq8NWF zts*5GM(gVbI*S9K$l_c8c1{tgvm&OF1foH}mgdhc z0GiPBpyO(dsM{j!kg{9#N!V_sNcWBW=0WGa*Cw1k)z_FRLp^_fG?@NqaKx|;z{&AV ze5MNU93@oa-6A3y8P803^ixtRiNV5eUz-e|8qo8~|~?__KKV@)O9+C(t9-J?m|4eaOwt zO&E%#v@{jmxBXXZ5H^x)cPmSx^2?5Z#{nhH65-SH?rHc&p>vNFrDOWDrsROYFrlYQF%SX0V>|ZsG%vtkpW_1`LW=C(zWv~oBf``e>AA8`6#raC$9aGyqQ;v^ zrY13aCKlQII51)@a<4LymTy#4r-|r__s`6f&B50$4V6WsZOg5=!uLTX; z*AFf{4(J@_Ad7&)X^fV2H>NSh%~?)ZQqt`r(I&`;?2pOh5D-vx0^Tr&i!~d)s&-Dd1W;wltV*ubs1B=9>L}6tB z$W%Z)Dw4(@DN+Ufp%S2svNQ`>Q;;DKSTVL6?Tfp)j&0I_qcF>6*$Z&_fJilQDjYKY zx4|Ya1|3VlI9&T4h+3Tf2+03SQ|5hOJF0B{(_h{^mI5AN-||d%TqU|10&EOrnauFdzQN4_-N zMamRa8B%{?W3*pbI5n^bwYcTWm&d+Y8tGQlU}y>U2e|HfpT>b(eluxuN=?l;G^eag zHtu6T$_x6n&-X2|D7Ekvk5!*u0%d4Cb=%EN8@V1=bwgH5w&_+xGcJK4BE8Er7kt(+ z;oN{N%kkJX7&G1r?7vy>_^}rSOU(|%C}|i0S(4zxmK9Po1)!7}A56-wqBw z9XV1~RwgMe-3p(&a_t)Jx^)Gx3C-fg50T?2Y7$Q0hwoV8c=Fuv6iUPD$Yo<+Kkfj! z#1R-S5_kssJwHGHs%>vw6>u0T-!<^^n7$$)2Jr!`}j%U^>;7+Fw{vu{>DbzuWE` zPzc6tMjus3pZM}zpJ9E%7SWmU9Te>B?4}J#SK$cNpgZM5MdE88A31#ZQ&(5?$Lx-Z zU>T$eqnhX{>(mcueG2j1C~(G8=gyt$fJ3S+b9AF+B12hl@H+3FXz#UX3VLbR|FF9I zNlFU1)iXv$ZXm-(9oyR54~I*5r1W8I;!PYuN$!HA`FBKRow>SfXFjz(AUSDh&;d4_Qw4!8qaTHiG-c06`=tC+D$xx?=B%eaOTK8kr@CKO)8|hTpE}!q1qQ zmBX8OQm+8{E^c-j+X8xmNmzIbnT*TI5}+(PJIw>+5e`NLZJj5|?iqdkYZ{4#RaIVY zt9K4(?;N($+<**VX`|4Ye(jPFvw+eTJ%oCt1!!B+O~~SNJwb$I@Y2G zhpr<=`>n@X(=g;QzH;@d*PS~9x%K55=MJ4cdzLvOXHXpemO}}B61iRo?-xo_V!bIdp^b{-S3|6K!zav zk$|8eYAWG}(Aqr24cK(Oxd`Nihq?|jsG_0*gDp;UbeP&oA|s*srvqbNyZ9vqMqP2j z2ap3Wsa_NRiiAvxX#*`nR%Ehk2f%kZ=1c*o0Pyy@tq&;xc@9I2fayvr7Uy%R|B79^ zc5U2icmPy4y1S#1MyXbxi!Nqn3gZhRz=H+tv%ZF<)Y8$peEIS`Br8Ylp+P}Kb-`3q-42c2QO%9|6OchtITPJ~wqd{cHeB*QZeSg$r z41m02LW6KcFoguKgIq&f^G*FzB_4VLsCwc{awQs1Q3Cvt!7!RKP~+IX{Sq9M`)q5T zZ0R25=vTz9XaPVX5D5pM3zQJ4c`2Ai5z-Pw)l=PKTK&q9ax^n1vz>*(!sw$l0~>`o zXa#OF^-_{Sxe5G577lt$`ayL!(QSYPFR|GSf(N6PE6A6}BBa-n6ath+hRA579)PID zu<(kjE5+l-kKgo;Fh^KgSy6?de?w=591$@RuOdy(%bJ~WM0&g7;Sm9LR{Y43Y#XuC z(jbe$p09fcD zeG8@N4PpR(N4MXe6HS3OS{m6nf23fZ34ZZ*4z(^A6-YfT4%cR;1?kV2p7Lh)UXb_lR2MA&|zLJUpd!r&B^ioJvqh zkyfPr_C=z9vlL4jGha^(StEK;aGp$n)&6OPVC3XKFJaU1xC#O?l7`@-h!oC zAe~|H2R>)um;wR{=+FjU<28^X)Ff(#l36(dhj!H}F>qHTk`7#?0)cZD1O|qK zl@J&NVCahml}R(}0!g8u94|sSfM*fMg!$bwvrXv4h2hxq7c5YOPXh6QjD7m-SqCx} z2kTO&?)l#vTsLtz?r^%Fy4&SMZbEf;%95dz&C4@2D&g(jwQ=i#bhH4*8xPed+wyR8 z6S`u+(IuTDd)gZ%SOIK3cvo52&9E_r1wNl!P;d=>E2$yyL(YvJ1Vpd_<^>=tUVl%O|9=KAKc$ zm7)f-Gv5J3IRVc}PDYANw`yOE!ddY4tv8wzZcsJbckFPxb*ozXPN8|#vp$^(%f3ICfw=P(|xd_gU znaUYdH=F*ZE%1fKYnXpf4ZzE|U=&#M=PzHbMyz7kM~KpteoN>zy6fUM=@huR@}pi z$x6bB@y?!}n@IeK>Bim{A%E?DZ#_`O_MCey7m6XGD$H;>?a99+Dgch0{Ja&qpTo{>B1(!$Ez1ETo`}cPb0B@@olW* zZ3qSV`21eIdL>Ka008;!h3y_Bsl1vRA0QfQkb^+q1z7j-p14FyTiblh$OtFc*T@Tn zR0`wghFLaNR+67lmeIUi4+x-xS`5;&{Hm(K^eGhyi3KnaMlJ{9JQ5WnZl0UPEp5eZ zI_%)t5AINRYDxu(NIIs|xxXnA^Z|ZdfoP)~`1UOv?o8wt2?KI zEK0+-kK9H-3_c!FL03w|X-!Q{YD;{8qNV-Wab+8Sl7nk>Y2>vHJ=@;1-YyTIe^{uqa+ZI6`gm zG$lnBH~=cLZ&+J^R8%0+tR?BmfR8B#c|>qArjOH@(2&6nEt9ks?i>B1YjdGMXX>_#O}B2vhppp@&8 zuq|4Y8}9Cpkjp`14?s8Z7MT?J>q>Gm4+>hfv}Z{9iVa(~5G)BA_g>)V9veZnr)f`~ zyn-r-NCC~v28V`Pk%I}c0ue;+5UBby&4CPVkZ))N7lRfAS}nm;_XaeO;2D9{Oy)gq zc=vAQrcJlvwsc*%6`o&)84M}YSNTN_k zP~TVJNl&C-q|_p4wXtr%Wltf@F%y3ydhUUOw3oN{K_GIpGe@GT2XhwED}+ldD{$ZN zP5ojaKpWwM5rM7mEwVx3U59fRrLI8~Rero8K8k?!^4}<_k3M~`;Tu;FK6e1_F!4=Q z`$*C}vOdx6VbWKLZiQy~a{ao;C!zgR#8*I8`M}HsJk(~93jq*@4B;D&pr`4kTe|ZC$$8e+0!L7fx<@_N+FDM75+r*-}5Y!Lcy| z#B5%E{$RVmrm@`Tm$tnUD1r^o&+Z`27fR(0tjz`QCfut`?4;C^qG7g|Fi}3U60O6CWiHz_FnNRH@ z54^UgKJh3J3CUfch1=1exzlkSH1U`yymEpiqV|BxQ1LD@j)UEfLEg1h*g+g#!QF?+ zM4`dQ}a(Oo-tE?B>Qy@cmhISlH_93J%m zxk~|>+(_AbmoNle1YAO>Dr7an_h z<}jHa`fEDV9Kif;!#=A=Cra*ndtZY3l_*-ljzb5Kgh@IYcP?IDCa73ZaYe>k=0PJ{ zjBuqS83cXhBcM_QM<99)g(&$gEn_=#kh}Ci_`twAA!Dro??7}bsBf+T{1zdjrx7iM#l>!5 zfJqyUiC`JnGE`22C{W_S?@j>ZkiHZJJ4oQ{C6wBy;Ok;l5-YI0M6z_^)oHYFWR8k_ zIq~&ne^*2DF2L#*(5k?5SCJL0AwxofAY7D&z>d7Q3n#GP<#m;gkj4iD1{!~KPNGs# zQ9)1~Kq>;X+zyZf*C#w6^e>pt?=^jQ2RM=&V}2x@!)P+2m7o)j6?XQmq<$!~$*Hokt1F=N!StWRIRg2g{i$E~~Q zTW2NwM+B)$$x(6&OVyBKv>GX`5Qza3-|9?9yKBq0NJDjic&;_(!ZO9w-dwR+;0~^> znC9b*?Z|Fdh5y+7Kx+AyZp2&nAVAlk5;^C?zK6_MdBi9oInkA8JP+0&Bd{kuO z^HsU41U_Q!ni_e7;5SlDLkFSv(=sq91krep*JK?$iGh)EK0uBcg}1@H1;OB2$al8n z%)^r{K7gp-XWO#|{Mp;BfmjPdVWH8M%D`ItS;PXL9t7W{s(A##W4< z7_r&n%9SgfllHg1bmI4bpBY|fh4cE$PruI1)tGX|cr+qa1Zw5@y1*YYm%9T{zWZ8a ze_x0G5lfsRb|f1exAR2%dUuKN6Qxa2N9nOng$wB~8~~6eNCf&=9Uv!U_}T872T;@% zl$XnGQpKop5~Ep(O(yL)qFU{u88}fSwN)E8mS75Z_T0Hh0?$-c6`q-%gly#X~xG4M11y+;~@J;N{w8>$hORsQ~hG(i4oa8Ym{1GGyI+Id`tOmUpyEx`{3K|OFjg%^8=mUt3FT)SSZhEPPKZOyRvtt72Hr~P zd=B-Y0@4fmZD}woPo6&A22}$3Bg3`_viJGq97Vu4^z6Bx)pz_kI$mI0m%tT0K8jCY zHJ|9*$;haHQn~YJ$aHS{-NU2RPj!x9s5M(VeXDhBX9xzB9mruPW2JoUg^BP2Eh@rC zDe}B%e(xZ5ApmIRK#r}UD#MoKk0NAr^=j+L6jbMs^R$CRq;=>2(m-+B;w_pklJtOC z$`t1rWf~Ko-L~x_)R@IrcQ%np^HYet5wb%M{o6DgZgU_RkZ6dc**+y?-Qivrsyb~A zL`qopld*a786pt*fPmBAn6I26LYM<2(k~c@UGget+O^9XchVS*%Gx1!HvfGx_Lul5x(G@?u^-ue z;;|%TDyRvx?qjcT1JUq;XR|@TE{rH?Ncp8w>n+NWu@@~}`Uq0A#GPXOAS!V}rQB1- zq)>y)(UKnd+5Vu!Fl$y#HTIp~CQL>kjnB;XT(rOZ!lwHY4IAt*=q!>nYI3-iuLEB9L%dr)@xoE^o+Dy(|UX(;shhUhd=}PZnUzC z_gQ_`!jzEqqp3MavAyOWR2STs^2C7tHKx@m7vGDI+H{m{0R1Kng#mPdcfg4py0)}x zfi7*sH;pwbR}Mt&D7jT11=<2mdxXlX9H4c>>eY8;laJ~e015397XEHwkhHSZmH-!k zjPsw$xMu~$(o$0+Ftj9c*zG|cr@>hwLy}=4O@Yf^gshJurfCN+d3ltFiiUzG1e-w* z;q;TltVv8LOGUQ?pUij(;Ts0}t<^_GYbExqv#1E*(m~7Jh8j!jZfc4a8;thQRV8ly zBX}BpG)IJ&!cCP@Gc*ODAqGY&y+X4ZGwktFTTO>GV+P>sSkzLO(Yoloa;2p0GmVBy zi;U#J-_sQA8Gt@;5MSpN7`WTI#NZGV4d8T=F|9R|-a4osfBK~#a`+Xbb47H;knK+P zsiO_Ygu5|iUu!u;@@Psd;gC>0rWjOi#e}aMjsiVI^LjGVzGp#U-Cr_l+(I5a3#u56-AGck%IwSeTeJ`@P^(=A;Xa5CP!e5gQUyO-vhxaC z6A-L$pHqws4X;26f(aHRlQ2yF91?X%0tK=z1_iE?sDT;kVfK}SC4?VBES$yV03m1I zdIs#AJ$D^!paJAb7l0KMPkAkaM&t%S08!aWRcPLY5oq12qe{%Wra1zq}|wL z!N$jTg2;O)p#(WQYos*0PfSIcY>PUM9*8;`XsvjI!x5Cb!<5G03C$Q-3Rdh;2MK|_Is!LtS@6%<#11}45jh( z_@Gr}(i5~=$03lUjz$@fI?&_|6YjyE_O32w8qIZMj}PR3{CIk+d6O7=+~c^~30IW= zYmM11+4I}kz`rY@i&e&^>ct?-JQSfgr46tv!(y%t!<2GQs{6?g@Z7awq~n-K_wY*JwPQ^9Z3QG*|Qo# zqL6BmbOKP+b9se`f@@Dha+I{JtWTKkHuy!X*yRO_6#%}mDW?tHXB3KhG(~$$OBgu3 zaAc)Npk0^*5|2S1^+Vi4_UNn$!?-jatH3DG{{%5~9McNwXcnbNcm^HF6SlK=*lA|_ z#(Ep9)zHe-0wpstADoz++>PzC)Y0(#SXWn9mGp^sF2d!FnwS#OfRt**Gh=6(FXZrw z@oKyqcw5+xNfXF~9$p+2Bj#ZSpmJ#gSamUT82-|*+Li1>1rJAyc{@$nDI)GbMFjOQ z55N@6z-0uZj8+m2_69;5Sb|xTEQU_|Fz4P0rz{i> z9=xQMr0cdDZ9A1RQrG8+PrMy`V2|Iv$Ry&iOG8@)><7Z?j#nVMwxIF0{rYvJCTy02 zo}M1uiV4{#350|mG7LDKOm;9US3stN#%@PG_w0jn?cg=Ae|ZUf6pe*|<0z{qz35JW z5On|7;Y?H*@zc}^F<`xM<6PLcfR4Zu5D=^mxaGylk5#?U+qHfDdKVvI!yO2CfKM5ySRWL z^@xj$o4@NmChvNf`Lmu(x`MkUO$FdsllZNY=ltGbqIdoL3edidWAj4;22NPPpW_-y zkZxon`>9hpQ2v1Bjawlu%>rrvEoh`*3JP#LWV~x*GknS-OAnI^D=ThHNSPy^q^9O$ zz=2W%F*}*AK@WtH?(U&wj@PNFsn23BBOjV6^!ZP5Bm@R15ZIOs9t^jhHL~;hg3FZf zY2XV4Y7Ue~xVD3XAa)CZ=EaC)sP6VraIlaiXr@#!{l8V2&6ENz#ouCA{4` z@1U+!W#FpWL^A3{#L?U-vI1|m&!%f7JeKIMAgR#VyAc}z=3^kUdDEu*X%79DnwR7U z2L)jvszPQ#UV;kU4n^$C>lx)!{@9(cZ{LRSsv8g_fQBF#&df{>Bn77Q%a(22dnaLs zg&4F@AXIgM+UYzb2pRy4@2-hi-OY=;csUgCSim1IXPgBo|XBeJU zRjq>E5GrWVqCjseTKShlZEb}Og62&bZW@V4SPsj|y4UR*F?))+GiW&I6fo#{$i{)O zDmsvZiS;Jbr!8J5=eh$_X>rn#dEM*Rm*I4!^E`@%FzH78}oBGHMgC!5DH*1X~A=@REFQR!`k zsD#2BrhWkLK>s15Im@aKA1zs^IQo`^9r_qM72Kj_yw;_Pa6UQ-g+zK+t z8H|{0`Wn}onDp{HNn%@PWe*`Qk$HL8Hev4_sE4~Piv~prZw@rb&BnveUszap#CZJ5 z_zHYCI;K~ZmHp}Uh?a7YW{i>trx!w6b_QhCJwIROV^kIv{b_@i>`jP^v(xY{GBZLJ zJ!4^U6ii_^hym=!@?wuVc>pd7)>aSbnoz0mY2y8FBbK1eJpVqPrA_wpn#^}t?hu&@ z%4enx2bGn5=1bm~eG0ay)31BP0jk4+DxId&$XZa!OMj7mn4n=ZUoirjQPtuN>@a~@akNSzfx2W~ zM20<}n1`^x2xQVdL0e9{f0CD|z!K7Tu8d!9X=z!{?lL~`VE&Os z+r<6WV1E^Q@|h|pxf}lN=;yGtX9HSsq(Ab=q0W7npz}w!-%4o$^69Aj2ytSOA)p z04=mJGRX0kc6R;-G1*cD{g9NwB_Vaug{}f5$=#qJcf|9uO?wV@{GwlpZNQgG_7oauR3V* z8k;f6CU4#VjZY*%NHG`zX`%ih1-16{NQ1{i80CN$2BoF=Q+afl>{abqN;B(+Eip*8 zXr5O9F<}CRH*YXNHUxx+zUAqYCkzmhBeS%EkOy8f#LR~%0jszi-5uHgeu<0jHi&%j zvI;lEDi@?EEn{NK=<%ic)$od4}mOqLal|j+H60Sw)M{6Z%RsXXw}!3Ak7jKxj-wCF0(U@CZHq0 zAwY|I1aD<|`t&JW;2SnMLoi#8MglbjSx`q$?<%AkWV10|?!!q3bwQVnAc_>muH=nH zc%RZn55nN$jR^phC?VvnPS6}e=mxJZ#6N=NkAOtO6_66O_HHC&7mVys(kU>_!E)w6 z>VREN&;ee;YlOfLMgozMRlstB;bGCp7d)Bq>)lg>%aOZ?Ty+hH#xzGg&qfb0 zj#n_Vi=TLo1xD_L+|pRe9ui|fIeckYb@w~W3lN<5o)MOV_~nHQ87G!l=;(y6r9$sd z>x#({V8|srDmFMAU>T9;%lYR;Q+a!IPcD^yS_$Wlox%q z(Q^J~vI`oDyyl|LkLlLCP=DKG;vM^&gh^3F{>RICUO_#CLPooG?TBLkibacBFq)Vh zr#qEmIOtDJfxB=>7&!Fvm1AB`Qp+YC&wyXWyRVF-&ZBQlzc9f~fgv-I86kha1^Ff6 zPM3pj2>c2w(i&kYNxK789FW@hP$>r@Kpc@}U@-O}3*BfDQW8j#0>BF-4N}dBOmd?K z#bb@kKyXG%m@$)N4rLXXvoH(>u?G@`-UI{K+jw0VcqcuSS0o5-SdQ#S#NrUu(39k3 z((z)bB5_J|=gw=C^A;ffVw7WO!E8Y6vH|0jduSxMpfQ#$+(b|B85g$)%C4M(f}PbS zDB10dNZK|cVR`4E6jN*{KT-$oVS z!fR!S<{DWG0IMC7Qz$);yf4ImpW@~)P>VvB@56S=4DE#g^wBK0+LBHzG zj8Kf2%TeqMbj5Iw%za_W!&rh1qR#s%&}$ZA?1G$@bYa4ZOmhHch>^k3Jc5I{Z{lC> z3h^ufi)0Fi^a52-Q3^eMGm0F^Nry9OB{57afXg{FA38umaFr6*{6onmjM#;4d4dlxJl6q@F+G{F}X za0j5a>)`ZA^MJySXVJpO2(ob+lqe}jn3)#CqsTT=^rZPP4kWBpPtLYU0QwfgUK<1~ z8L)ek35g4G>ou4`VLFP*#@kazD=5iq9OH$H=--Gu4`wE_TD2pAqBK8I0L=?~8f<7H zL4)Rr+vqLhP-kT&%u4p4fF?k7U{`-mFd)`)hlt2la8wS%T{)ny@#>5=fGdb!xy(NZ zV0R8QU(kGxq&r>3*gxU45a#d~oA2lHLn?*x03|1(9`Jq~vJ)4IBC_2Clk6+-c{0d` z5eRJy(_7C>pZ}@*Yy+1&pPCv2Mro+z$j%lD%$QOz%CF|~*?k<_saBBL;YsYK!Gx$a zxl%+2$K9(-MHc{>D4@>(y7s5oTLnb3=m0uD^3pUky6zi!Z(?Of`<4*N=ntN=iTwT3A`G^9k7Zbd&Q-7Yu1PZcm+VuKmlKVfO<-1mnhR(`uao)L{#-g zc!L654e#Yre;(OwKooX2IK5-Z^26E@_d#}Zb=I|!0 zju4GN;Uov(+|{dAUBn#{z6|g42tzev)yxWlVhr&QX;}TUZ>G&;rjL;zs4Q;~7NE@u z%K*7Hrp??CabVOtroI&13X#Q70C1Lt2;aw^Hj)6~WIVN_yCVR5TObfYqj}fIM;z{p zFU0Pyz11H)0n<=Du3=?}C=sYgHQkDdw7TFi0I|rB9xsy0MR`?CFib~4L)~GS;mw6{AD~oA9cnfa`stM0@|Ng1SgV)l|3Jdp&3~WaZihux;Y%RbD zYQpQ6{b`5!cL)jwqJS!4U})F#9C<_rDm=1DMw$fxqan?L9u7!0Fe1pf@zxd}Mbh;_ ztZ@wJuJ1cosv|7<$VG$zA(V@_8!f3Z5VW&h#16o46dQCN*q$PV7A*So%V*C#@H-U5 zLtszQ%P_Z1$~4+E!1J)l&9$ne+D&!CW->Xk;`x;tKqI=@YrM0dN&d6 zNp-<3r%@H>6A2X11QEr<$?}_;M5+bxp&d}GGBXW&pvP*d($30P#{F?Q(m>YNkEPd> zDI$(w0)Zie$A^65>(%O4NY(y;0n&H!94$bctJOD%5_t$T>a<}hd*qGZH1lAvz@cug zuRr>hW=!m9m_wlRvW|J4RkB$(ym5H7GD}81qumnb$WSv~-;ChAWH zKrdLLl{>U&SiSshao}i)-b%1FN*pRq{9jBorpXW|Aj^=atNJXHf*U4}Dzi9WsvU8Z zAo!NeNmQ9 z&O|Qw5vE`uui*7$?dX$}hp4xJ+yCJNIyufteOYkVlAcP== zhFu_TO0O}YYSqd`w7d0K+SfTnUbHPq?8xh>BMVfPivEPlnVWdYQ*r2C9fJJjse=zoOG#D z=TMkyRtIS^j6gn=4H%|&?%a7K4V%L!3D*SrGO8^(95s8MCeS5}0QvBwiLnatG<>d~ zpIMO-qJXRz$*NPYUSY}|+J$NXfYGullZSR{RHs^{gV{R8& zWiY85^}0lo1a~RVIFG;6wfO%vON6L_nVMVBfVPM;0A{>@gcaWEHzDyQv;+p#14SGV zjxW$w13_oVx_s^KzZ#4zFQDW_P0}w~qIHC7I#EE<_ zDM1_pKS3-?jQ=vt!8JX+-cJ?hX=#Z(72vYIfD6p7VLfo?6ygL9t1B}|9J&ll_^fc- ztyZm?r1iLa0BUzb6?$KZsT51MegPXsT))gU7^Ai6vS6(47rgH3v6~{u%C}4lA72j%X0ZDaQi5W z$3Uio0Q{{-m6Y^~^mV89JF2nQNC{q&DfTeeF3ujH^!g^S|6e&Z>cIC&+fTxmN~4TN zHgUx;xBB~MFJ4sh!QVur0+W&$J5WF$BMidD()V3{{=BMz4pidRc5!rt7byz)=MT5+ z9EiM~2Fs09B9S6_YpjSr?pY)eHLHdg{d)YShB> z|ML${A~ODe{=uIM&e!-aR63+r#oZ;({O{lRZ*}%>NtRp(&`I25>Zv5e_ZuiUaQ(PW zyF%Q~==IdA5^whvB|hbq;2q$QQ_bP8S+k~l$Z8IS@-zlqM4l^jZ|z5qj`wbLnF`+0@p7>ZedJUPG4CCI z2(}EheD=UCZ(MLO!=>kE^~hwZ73tZyIwCPSnlNoKL#jTiM`Zy7o*i5fpzhZfzxt=V zJ-T(7717ay%snWiN$GH>m&D0j$7R$*l*Z>jj z=F{Oe@y?koXMMDsmbIVqpxy#$8Q{m6^}E5vevC`Wo~SS4TDT2lTuwJk?oLK>-&|e0 zfd8`=Acf>`nM&kD8g%&)Fd%F)pjNKAl}-^0Pwi)& zO!z;I9i)MBQ&Jm1lnEgkDc~79doNkENVcNfEz3`tTo>7ZW{#9yczL| zdpx+F%cV(p(vy4#%3qTqAei@36)Q?x08VaJzkb)JvBaRzG|CxQ3}Wf4EGLiWCkVKC zat!pV$<&u^ABKzwY50_>7)DGyM@#Xb8IIVbY!Fn=ozxk!ah{C zI&lAL+0|GZG+zfGN_oBzAyzfwJ_J?8W=^GYF(-fxL?d_qndW$C=`6Z9{V*H6LV9dz zHmlL;=1rS2eUOLj0ZF?QPO**W_w9IiHk`B9N;y2?%0N;G-fP`e3>7X+ zGu#*KSkt!D{_3S+In96#VPIrnCf{R>0XA79~>-NGb*sj`cjHW$#s~Aewh{# zL%}niLPn<&CD!Dsw9zeG{~)o5(j_jxPENic7hor$E&~oaLew7l5$$^E~C9jZ~6LwLULP%N$C=f(9 zf{bW6h!47LAYG~`dB~To)4c}5cS=~PjmJE;?8VBak#!~@kP98CwJqFCQ4i{y#siKpt4=@$P zEAGCz$vo=RKbnVp9WiVP$>kSaH~c#2m`(%2P9`KD6LOf=DO0Ulj>D>&jL1^yGY;7e zyM83SwV0zIuH5Gc%aRA2crOD!1|SL9IZyxmETi$Mi4!JtnL72z!-2E;#bW2x#gUfe z6Wpf=^W%_>NJ@fvcPNsyW`aE44eA9g5+dO|cR{8}Cd|?5J)unj7?RH1K#oURVG5;L z7+ll99ir_n3?c08d5{;Vp)|?`I`rQR04=;fM}qoCrjC_C7#Zf;Yvl;+O#baaYv+=C z+-1y*=BY0CmUxebu)3k)wGqe06gE(PfQ9!3Gt(?ljn^+ljrvx|_iu@}u#|BbMj&{R z)G#-H*Ep8HS%nFcga)RCv%Q&4iN;z4#u)l4Kf?jHzkAZ7i2~t9(9rfeaCGi~AqO_x z&&dp;ux5IKWDs1Cr(|=V7ZrUW8dKk%4MZh3Ca+ zu|4m9z~Q0SsO&V7&rjchD~cI&QE0pAQuOWwyP{A)iA?3FiD8Dg#E8<`)2msg_VPBR zu_O$9F`YOT;PT%@xM6sRm^hJZWTkC1ozB-@RG*AkiLm6n^!0%s2Me4fio+WGm39WK zNn;3zoHSrc@;o{-c{p(}CniUxNgAkSUKyz2H4OxIK9IJ-wV&Ks7s6M&uQcCl+f6DA zjhoN;`Tg31T^Zg*3vw)Ud$nRnIS5ZWPNp&8+&EN(==NV4w{){fa(vER*Qg{pz8<18 z16vM8F`*)h20A&Ic8%2&vL5_siU%aoLYrTd!ZmjRn>vK#=(4D>l$ULh4W3e-aMHEAS zgxTZ1{s;cf+Fq#Uu@YFSmbo*Sfx|r8GVfrjj`?S2pM~kw(V)(HH4|3bx=fXtISVMk z`@@D;m>UU1wf)feW|cQaMn>{Vw(NHZ-GA~n2jRulX+JYE_K`b{?~{nLeYrLRIZgJs zQ<|C{K;hF57_vyALcM9H{2r#Iq}bz;=6xodS&@CnkPgt+)!)5gnXhke<_j=%r0Uwh zFFAROYHuIUU_Zqfj+j%mc!XoI;hs}J;G+7JYdBdF*ZO1j_{-$c{o^AGxn+WW>;*2| zIKe2FOi;f5xRc`bqyJ!`DU~{>L6)XiMFMuWn)P)T{HXn&G@DspJJOMMe;zig?~oac zg1957_>}DHTPPIkDq`HB?#bbd!8jZpy-2>0e8+0l4nx@b*IUe|ml11y3k!Qb7?nW` z^mBjKoSf`Aefo(fM;({YL;ii;uW9gyr>8=&ndB&hj=fP{ze47;nnFw?b=u{AfN-xC z(Gk4X-JF}CIa9Eq9~>*;!-t<2l9hQA3U)5EyC2x; z@bs$m607nh#w?Giw|lgSUA_HRQ7yPX*}LC+45o5K4B3|F!>e4fMrz_&Q)U4fL3}p+?`?u%(zXd^V5BeYc{y+cqzs=%*TFCz&P<~e7rurmf8g{Kmv!eJx z95vtFyQ_8ualNq5kt5aS&7CV9$o;^%zkfKL&u6^V3Ue^nE+jGQwr#6=21h@%XwjnJ zIVe5wL+%;;6U&^88-N#>NIU4^Wf&Zj#Jh z=hKr>98n5VJnhlf*s{g?Q~;(HN4PS~5U3fZ43l*wE{mv^nRJN$3H3zymjx9i|1Y3r z8tn7pVwKvXjeUnpFU-a89gv`mfGG7)LzF31bD;sbz1gp(|HYI(bMYYp>Qn8B815H_ zDX<%gSQc~}HsA;%xgl~zjg9l&nb$Xy`i^tt;2Obzn!^dFc3_lzlNuHlDUDY{Yp~O* zOOGD;L4Y@q=lfFd@{%r)eX#T#4X@|7<#N%Kh%Y~WjN^1mp#pUtwr(=?Y9Ppglo0GH z%ebHX?b|m;us^JTzThxputosNOiT8KJZD=Za8t$o67)~A2+p|W{Kz#ma=8_k;oKTD z`w0{YymNwmPxMc!l7UP04abe!Q~d3ZKP+zZ?6>T~fZvy#IgQXqA-;s&29z?IA(s|` zz(6$3nbv1=lZuq3yn+pU3;71&?y#WGGFq{#*UBab5VDW+vKW*v3qIWz%nHIB1s_9! zi+Ev>uH+AVkPNKg0ABCXZIGj*BeVfR%Dk*#a!05kCC?YHnd`?t&5TQ)gq4Ey37a=h z1zsmyzCH&E!So#X3SfG&J$?avzu51+GV^6p)`oI+EnfF#A-ycuogq93!U zbP={c@d8q%5Q`7%Dt<)Yu3btE&s!mXl7e7kU^H(P}clK>pNv0f;c+AZc4FM4W)*1a-U@- zZL-z?k51@v2w0ikEuT#Pc*E;KfOE|S=w)aCaxr}AjbQ6h1U+H~!cd{n(Cy&Mm_x4S z-{isiG4DC}ifddq7A2YV-`{T(E_?>{ir|*((6P#;gm-9wy@0XZhUQGwqU2+6I|R=} zmX6&&IhgjbVPO}@ZjF6YuVLw7(gc{je!snK$u6=Rh3%ju^=Ft*lrD|tvFudg!YazB zHqk?DYV2F8){XU*S>Wg~50GC6i(N6~Fa;9@ExemRqq^0OzVma}_%UMycQD>W>bi*K zi3VNJm{KKshUaW-W*7T@I@%iJmR*3eGNPzmvO3*t zu|TK+T{9F{34!Ro?2hAXG5;J${-r0VCP||@bENME#&9mPctDgPFb}41cxE!; z5w8LMqJdBx8dUeoDEJ)AIBLtfbni6r_rY{kbI%urgba}3D}MG85nU|SqBG6iKJp^W z3amg18V<;zE)%%UV1eel)k^a&wSYrAcJPBIlU}BM*oSQ_ZQNThcu;oHH?$nL=`1lG z>3K4;1hOhCR&P=#J)CRWdiuMzl&hfXw!zWYHf;Qt5pJ-2`Eo6HAoyBhwIneFJsq#|>9IHxw39nA&2dd7u4r{kY9 zlM-r-ywjt&@t{rG@pRmAD#N46*%cxdUUeKkmHsx~+bH4tpg-2GKO{#JurSmS0LjA9 zaB$M!cwCQ&!}$k#W)FCg!`IJ9o|zZ`zLEbU@CLvjreXzTbWM@3eX_ig$NUwlMbSKP z(cP1!J2BAY?$(949k7+L9@HpUyu@sIY?><=0tu;$+X?ZC>%SN=6=fMicN((-;JC*_#YASo zM$%G@LXFI{QDo1XBR1^iS5I#8PwZN=q*PC?Eqnr9g%!VcLiW^D&o;aUo*DWfB_HAZ zY;x+E(^`&+r0L`IV`(RkNVmbKhK`m+XU@qQd8O~CZSKn$1qb{#e^iK=f%o^pmS_J_V*ab|2iNS>@jkM;@w_Z%1G>P&vt}#c6JE#B3`fCh8x|Nen)SVVDlsj@aFyZ`Mc7?1a3|IUyt__N8^_XM}!( zX;k~-U@IM!C@t;W!Sk-_?s90PwVFsQTQ6)4XjE98+J(qW zemAJYCqk=+Kq|T~^^_5}I3Z|(v%eNbuH?90i(ND97xdb$ak)uJK8!wpzkHRWm4#7#~%MEsnIk?shH zc1Sl(4L)Q} zwp@xx%9(Pv3DYGE5;BwaC*&%_{RG`kZ(axc)fB-GMh`9(Poj|2&;QYELl zS6bEbmr_~l8UFo6yS5!CJvx$h_|cGZomM=5)ahgRC8v+gokt&B8lLvT^l#tr<$HaK z?@GIUJGrFy%@!T|T6bCTDQw#kyT<{30amS#fAsT8K3%?I<;pql|M_&MUYEw0iL0a| z$GfikU%oVXI8T@s$lD<`%Z(}7#U%2^BO=~VKBz0ARm)X)JqI0lMNKtk{P>`IPC55m zHfYl(eCUn$@7`tY&QsqidP^l!)1VmVdoeMWu3jzFp+koiD_0sH=1dHAC|0~UC2&Tp zOCugPqjo+JLU1Uq$Nu*-7$aa1HRBG&0$VD4&O@v#zR*}0e)35+b! zJkrN$JqEN#yP$g`$BaSj?svu-nRPvSns@Kt?=UaYs#PoHUwg|<2@Eoj&@Uv9#(B^UUX!AOufT! zS-$qZcP{a4H{-D;;1uAgE?f(t*SK$p2Z;|p@)Zx9MTpD!caD=Lt>DL!0Yv$V*5om( zSi!VJe&wg}N}*6g)1xAh%6{ppRkpo)tp>($14-j-9xVpB?h9Xv1fe5b7coK;vYa$a7H)wtE@A`~ zy1tWrIcknB2%G)>oXn1-k1wf2awAj9+ZAVHQHZYZTqtF5MvIA_yjfvXDGh)gYPW8^ zm8Y~0|K$M#9>)Fry8E6JGfLXDs$>cj!65i@>H)G$*zAmT!0Mw%j`X3CD_Pwd*1ZTF zxceU-J!8`Ry;D_`fpn zl@WW8a=LFf~~Es(e2caxcm3+)r3K#B^3D!@hIb_Yg=11W<;^ZpMRDo=%Icpv3ycw&>-WEtm; z8&~J?1(6)xEL4A2e9EOdbhT^)5RG- zdY~QK12L8;9Au6OWhrg~l1BYMD7)Ha3=2dX6M)p-aDVqcy_Ru*Q$Rou!a8-?9+*e^ zg!s>&Z*z||ti^l7aAgTsid%h?ei!n+2zf?@81Od*pWJ|jtk56;{Sej9p^`v9u-qYE zV?v)W^3ho%PFKPSckzG&wTV2gmW8=p%XZ>6+nH)npPRlZpbS2Z3k2ctG`DTjh&d4= zh?~iwNcsL<&e#%HLemu9^Gm*z9xD42pazm4L$g^=pK>VR%nIP#K_;7(lV!yxlO45g z8W)QZZK8Kcs9#4=dF(f;uC$e3A_9c-m@Q^oCMF~-;-C*6JXqyEA4YJBl&J(nTu|i& zIfgD&vxA%tlqBRrFXVS4VOc>|ebHdqV;Mwv;TV>Hw#8p~FAP}o7L5E=3v?;OU{L`oOyB%oW zJv}|u#Zb1Qa*}SCQwZ!>Y|flHbVK(@UX2=+Kqkj6xa-smO10ym4=)e}uy9ZQ;moJ< zrL^&Zu7jgEiq0#{Gj$n5B=;EMM7e!8I{G!^dE9Vq^8Eh&y8sHhdmMiB|L`biq51WD zhrKd>ys`7};YOS-a7!J1s~rnV1+Mge)g{s{=pMNXjZITB!Ohg6gg`Rb7!rUI46Tz& zcgji$4hS6^4MlTr%Ivvxoisk@FI2oDeU?@f%Y(6Uvl`}j%1Y88@_JslG;m^(`J zNkAj>Bo<0cted~(qEe?j+nCmjs>{URHiEnKdP*1?ctc!FlZ^Hu=e>WNcZ|#O0}173 zX9kUZ@#9&@ri|mMp)}bk*^{4U2BmsuW{qfABAAOaU_f~y^e&(l*ZGBOM#VuQSV(}* znLc{b)Xinga+88@uNx?z9-O|QIUA~a3FD}n%*@QPf*p+~92zcOyqHk6 z9-I=DLlaBOpEs_hBxf{EOlWRlQIl1~aE^2|W_350YM)h<^fwrbLsFn{c8Uc2U#?M_ z)zSC|X`92>wNWPfz2mz10p4pd!o9 zDHeK2RBuW)hZ;X}VXwbdA&*Qwe`cepKl|5B}FA}U)tADzG-q!7g`VKZ0OjigQV+^Dq(6>h(|cnt(T5jc*#CLV57oCH~!RjwaSZaj2a8Mm){r#C+&?Jj=XlVCLWE$%Sw;kHExrbCYf%vgW1wW0E|j+24A43gsO3SNXTl4I6ixACi%2e z3hrbYZw*|m9W5b$^5BTbZ2-97Ltjs=?jLkdOaW*G^NOzkdt65ssTt+{j#Hz#A`022 z2xSZVmI^HV9;P^byXMxYH|T+`(xc$)@iFq)bLcmS>MD#d$@K(-1F!MF-NSD7G&`6` zPSPU6p_F0F9?%S0?ZUZp2Kpv|iVo}=(b64ki#*zl%OTP>1_2sA6j4Ie^#E3v1e<^$*Luw})zyfyA9!hnCJt9U9 zaf1iWr0S$}5~-nmb_7{roy1M>B3r;?oi#d8X)@8?2&{!)0p}n%*fZ}YDJmeYWKZNR zI=j8$MUk!ucH=X?raat*0*X&Q65+?BFo5TZJBYYAAC}uVB&}90%-kNWt_9gll-wlEurT&soidC)Mj@F`MEvZp? zZtOcAF9_5Qs`fJFe$~#ax2{@M0%m&*7{<03LW;MQb&V{pSHheLl;Daq%D z$MGQJ4&W(=p)LI>BV%%=p!m6a@1FWyRo37Flu9O&)rhn?y|{;hDb!KHgh4`)$5KzfP$Tj; zXjeMEZ&pNo<`}~ob6vIA&iH=f7C*lfmevSnRG~^=A~K!IPWgf^f$Y)ha%M8Gozw>v z4+|1SY(@gt{QRx!*BNcA;xVjY8_aO{{X~8G;sLRD_!pFle#OPEDW-7-LIH`}z~=BbdgJx_TorSBkF=kQy2S=PCl`jzYCLW5y2~&j1F6;-1^m zrkdW!*|O98gQeBCQ%289hX!QYre&RK^P|_;@#7uw3WC3;V(%%6M@1k}; zeI~;D@UL2k$4UwKCSUpXzG-{8=^%PbU~JhWT>JP$-?TmGZOh~nxL5rwe^CVu0@5DD zNo(IZuG6RQLb3fJnNWszLdpo2r8$Epz}O`Wht$i1A}{$dnK`#&gpR=cYpsuO8Z?US z{4XW0RwUeb?_qp^8Qx`N&^b-6Wjv(`3t#`?b9Jxzpn4P(LKi*mh)-nT8p+z)d>z7C z+`lx8(ksf&yzUMpQKmvnklk|)XWz{nN`#?s&PhrC*6VG_MXO2>c$`bOQ3j3!sV|J7 zIizWsVl}O6@?#36^dxi1i-O^-8|al#?Y;GS9w=O!gCGCqjb`IvMi8`(2xv?#=MU+F zl+O5>N?tj7N?_Se_Dul)ue{YduMY|A*12=~_O$1a&4fpx zH;smenY--yl_0A}J2g|nqX1EiCRN5|T2Bad;DUb(z5)8M49FLEjb6-ajL)q0;lqb@ zw7b|$p|NxA!@IAC!>Vj2h`y5gQZp~xx#sV`Z8;Lgsn7YRpozU8jVN?IgEI+R-N@sh zg|}1FC7!~5E;uBh?D|ND1#bum*ccFLQ+lQ~81Hc3+p(2>O=~k(TMm4sPWIGSZ}=sVQ3RR1&+Yt~ku5|iKK zzd$i}J@paqN;W_gxUs(641VgFO@KH-8OdE5W=zH_J&GpCp~Kkm^f z{&F8on>lb7L3QgPl94{!);3RwOH?x03F+pIXMlg@M$|9#tFI4D%Vw{NYw_RZAi>|j zM6YFR+%tS7RrrMlpMx4?rmX-zPQ_7_IN~M@OWCWDAy*Th^;`7|>7Q72qa(yXYKgY| z8MihrW5z^5LPeCXg?&qyWGLqS%ppI#F|P$mS^aBbbzs>{ z+8#~&E7$Atfe{JF7S)KPnwhM^WGeEK6E(5KFeFN#k!Xyjp?uma${~{fa%QX-I1Go{?OM8q|&gi4OC2s0$fVqB=~H`$o*3C904j5fFm{5f_llhz}}a7DN}=CzjFP z-$DO)P6T@U@|&*c>FWeknC$4lyT6jOjkLI8IJ+~YyKRmg*kG20|6evL17<2@o!uc zmP}?{KEp8KD|j&|#7Yes9Jo{8szuYLFm#J#n+QzYIc)}|=wvEOUi;mBee04qA2fPc zd1am04SrM|8WAH`(fll+ke09pX)-j3%*jdE7l0`qL554l#&C~Dzi1rz!dyK0&1>KX z!#^;b%`KHim`!tK(Bd8>-RkH--(Z2bZ{xtx4l+7U?1Sm>;kW6sa8v7m zI6^rSGtP6F2C?YV^!3f+#flB$L;&H9Lqdi{_i}K|K4dv57>M_LngoPsvc`1&qd4U< zvP&8&-tl5QdycZkfOP2e_*iYe=UY*uya>Y2Cl{6cTiaLRC%kd_E#k{wET#3QQ08WC9Czvx~o?bIaCnpWo*1Se;kZ_cE za_Wb+1lXo33#tQK2tg-xe&s*;S~a*dxwdIxe<_O<8)7gOn1JEQF+bUV-$ZGlVR z$7&%2BZ(Ym>`mH?8Hk~g-^TC!`I$cXjS8Au}vmn^B3LC!ZaLJkc*U8X~ai#E>( zaD`?8X;HI{WsXp@DjX*2QR9sHsC8D*k5FTCWxeOjKAX#R?&R3aokb&MhWK`1xBDUQ zlaj=<*#>FWRYfgtfULhR>BgZ_?PohtXA_TzRUl}b-fFU3GNuo|az{*%d>c+%0u z6-0Pcu9N+hF2+`+Z(Y6G+vVM1&OH9)$ZVM&y8Plr&Y?vesQVvB%xR4;#_7urN$=jt z<4w-_Bn9Mp*PHhr3#o{IymsSiA33YX$V<0@gQSZigA}L%Pz*bak3j%d@F4iKpmaI3%j4< zF`TL9_2tZou5YBIFs7z`k+X4C?FcO}?NN9b$S=a(9SgOK>_=1=#xEo4YiSsEX#le9 z%)Us!3rd|IC*RfRw}AWNDCHL+iR3|Ipl5(rWQxJ{d0TD3fMmn%d1#~gGtHYf?>}d? zST*0(?=N;tzL?QcpBco4#W z?9rnZu^u=nId{$$}|#oo{Y zJ`4BS1i~a4gkOX$xR@z?A~RDUt@d-eABZ`IZdxo6O*fUF>`p1A@NvjBSt3}#%EKgY zq7+JP+6;VzRWoYp6sUPkV%#Z1#}JWD?`eMg*s*x>fhYzl5Rig0)aO?THGa4!PzmvZf%`LZ$v2X!@f z9RdYFyW*9!=_k`+I;@4)l`@Wiu#p6Z8|v~`EIDiFZ|-rSeE+*N`2RMJIjNIFhMXz^ z=F2$0mU}W=^*fpa@YWL!lMhE#7{2=H^$8Xw8E)g26Bnx!G=R0=(IjvPgxb6|YZILC z4Ag`~FZUGy`zWaSn6ba?Bzn8-CE`=Px1)zZJyEWqLpiLp0P_=~a@vj=H%_j=5Z2!= zyP+Q(1tnI-EM+hjaD`}GPVf14^Y(3d_~=$qs>*jF;^&73aAk{;6LPniX0O8R9%z^b z&LJp7p7C1u9bYZiOW2*eAtP*P1uydXh^o869yQR9wF4>)A)YWdNQLMR1ln?T^aH35 zdjB(Z6rk<8i4os5iVkuHdl+*C4ps_W6vpxmWF|>g=W6#5Z7^e*h;mmOVnM6H=yOKB zI_fTQ5oLCH4-7MV2lA1!T6?6(hmonL**=wwJDj*iB1iI=Oy0h16QNkq{rK|UaB8EH zFPJxP-q4*>sGI1O$XW<55UsLpTdS6tbP+0vUt&#SJ}3xw`r9U+@rzvV4@Dv$WRwbY zI?$Unr5OZ;BC!&*^IgvG~foW#m(I<>y%Z?mJ&#U%300&Y6cbYmRRJx$(rjz0ZU#Jn8p8a z_@=qJX-XTJVV}wMsxu@dXb`LlQuH^iYs6X^U$&%{S8Tf8baQy0_UY*r9+p~YYV!ia zd;LC;>c#KMP^p39^VVg^CcZjxUAu+Ighz=BY1_7Q0kUkmbi|iVA)l!M;KfiwPa+?I z913>2cEC-Ce~RZ)z+@LY5JL^RF>ghO=yt_5HzqCb9vps8QYe&za*=-O1B)D1qI^dl(%r(EUY;}In9Yrt~%n=Qi{UEdVF`vuPEWQjf@!`q-6uPye(21HXXnJxjg z`*{S_r_bMprz3}hWf4ol*8X}J&*+zy!gJjvBl>vHX_S0tBl6Sp$B!B{kK<0dw=^=&m6g{jdPGFSb}gDW&)%Lk2b6(F4?$mQ*6)jifux)^ZR0up z@aZ9!BC}p)8Lx!2ZrSqXt5-EmWR`S8lo0dlteVM1%v#B5D%hNTk~}>s#D?b)u%vX6 z*omw!sr~$#zmz$zXkRtd;D}O#zX}(=0guajbh+3zC=*{xk97)A#=)QK4nawf?cL+gm-nTU+Zvm(w&$i z{lW$j3tkMfF*Qs|$Cou5_H0op?`uR7)#IS})nn$aCS6i&TVP$wfasf*SWKtb7b#ja zh{E#(d#Si4-P$fp@7Sd%ccQV7RGNUF=D}|Cm?e3#7`PRHo57xBIjg9{_948ot_-`c z#nm7(-I^>+Uzq!MdkqWoSW6NX>$mzxMcl=ND`D);1hke(&vInUZT1(k8|%&r0oO7q z#&7=j#k8LB2k)3P^fJhL6|=VVoJE!Q0p}?@*0dN{h%UJS8Vz#3O!T3$=0oM@>*U+Z zfBLiv?Xz~!^D#YA}=H&}QrVYa}b} zn*(&LXBKnB+vzehFa6%&NjK-rR=#um>p_B<7s*R}REDizI}V0i9~s)4+)_ z`r!iglF~=2zr(}Ux2pF`GHy)dH;KF>tIYZH3YgqYs+fIjBm$q<&Ksm+y>ShFZhXLF zR+3{VAtM}qRw)VsXl=75|Nb2A%ksiy>rgd+8(eiJkhvDyXkMD1Fa8>!5U-gAb$La; z-kreYmL`}8dX%w0O@hFdaEEJR z0pAnm<1&a~3Dw_x^>MUYAb_`e*<>#a2nfhG;MeeIR%t32 z`a7jmdFe4pL_vZE()@gB1ddvzLT1{9yj+<{`puy-o+G0RC7~>*QP;QtRR*;BO$Lw= ze62lKq-H9QFT2%wq8q+%62mh#zhvh7>7GRCfQPy0NKwWsGPR4Ek- z!UQ#swdD4xSSJfjL;J{P5xTZs2AySQhj#PJ%hm7Kd47Xm3WS_oKoH`zjBa@pGj|g4 zgExG6=+}nHR87W+!9^ne=FJ$TudZEpGUcE;j9D2{;sS14zJ9q6B;NZJbr}OB*L_R> zZdTE_fPkS{H$=IZ6K%}b(RcMA1Pah>Fi8o{HGc~%N$OWa#WYxQBQ(sHDVR~_?F4wo z7kU}s4smZDBZB$tfBl9)+;l3F$JcE)u59cEo2mf@2rUalY6Ro&kIO$U8&6mI@#(46 z^ny~#-M%g5fJ$w6=&az(b>W6$tKodym}Tj2YR zp+3SLuUvjOcoix7E8`!pa0P z5jHwYhJJ}ZzJbu(&ZFR)lSfLm*L*h(YwF-zb8=kJC%u9NpQ ztZRL@A%h1W<%Nv9v+WiKcyQ$0HcGJANzyD04cYYVr%Si^9H$Z9$r*7^PmSn?ew*?D z9cUgjNSchIr<86OE=PJ_=WL@~VaEjLT0C)o}j6EoyJu2tN=+guGM^~=L9sMV>6M8jN)S)f4!OW z17E_ScDTX9X_uM+)FYeGE6~wftDRltRgEO0CIlD}gp(7IPxv}h^^T|#h{YxVDDp_v zd>jB5O^w!whIeU6k%}t^Mf_IJAnfFtGH!Mc;)Q8a?%<{~aWsDgUh>sc%CC$ePy$?N zFc`6YIUl};dKjQOMP&V8+OdCaq;d{9{$n#eGAC@t%$Yh1(o&%#hYA@>ft0$*YiyyE zde^tM2+7w@rNLPec75K`BHN&~BeRNL>jH!hfqx#tgSqH0NO!=`G)QUIHh%qhC#OQ1 z5|fiOCqtl*LCBj37M#uKn9*;TQ6~Zr+zqlT$sX07wBxdICorf>1308No{#1XNJ;Q; z_Oq_tx@n7xs!%Fl3uZAHnG|}&kZBOzA%o^k@b5shdJUvN;sbzstqMoCAwMDdI^J5~ zmhGmMEAMx_OSj8lYa$W)gPY7F4!F6{$WXsXL#-2)THpfNS??c-E)QreChUYgP`}Z< zb#Y$&VXeoZ9%v7!|0N|wQZXsP0i5{sj{w9d>4XZ97PY#T;Fqs0;f@_pHNe6-4AU4- zfNT*I+~m(c_wY5u45MRc0);7W81hB$a*Mc;JLmv-aQKnM(}*(qp*ID_tjNr)E{%i^&QhKq^hz+w8{f^L~pDGR{vimVLUZ@rbV%5nZk(<(aiuqaqG&2*nbe z^G^PSj0%*l=_u&?fB>1yl$L;4o4+k33*j21!4=k!A>d^IaD-Wzou5l8|G}5$Cqha08!}PY47jN7 z74eYC>`qlP{ny`oJN=dBS8CR5_dLYET6>*0f{=;}`df6g-FTIUClmAB&uZ3yqy>K4 zl*Z_#`;9Mz3nuCMA9nn~Xd;hE8ZZD&dV46ZmS4_vbGrQl+liR$`!O+$5JLDOgulf_ z-b-gmcD(fXamGs18dlHWxsCQiI!?I2OKh}!#4cZEQ=o|t6`8O%;;EEm+zQ}NG`syz ztv^1(>PF=3j55NW49MWL4gj1)AR!I@zoICb@p!rvkjsMjVZgtyWR%J0%pB@wX+m;# zazXlH*Ht*m>lmyb(C2b8z4*Y$ibYe7UZ3FpiB<+aAc&B4V)E0!1(Zyhlx15haLt-? z5UHqt&Vvt;y`;?{=kzXDJNE8Y5^;3I94}FoWDNj}I!JFw;lgy#r&ppQqY9Va2tl|j z4mSAEt>Ew*wAO?QSfm=T)GK@qASB;EJ=K_Dn1C($5?6FMOb+F$4_yC&>W@5(CVmXO z8^AI&NPg)56I=?S=RxD!8Q`WK`@y&xeInNsO|jTVXhVil8%R>3Q*K#*?Hju)$`P@D)t z-CHjK=aStAJqg$AeQd@+UCRm#HD|+qmqer4FAX>qRve-@V4@0utp}@ev$`w3@O$|Yy?+?4rjXlny z5qSpyB1$mw`Pnbg6`KcKMwjtKFpl#%0TuTZlZ^85GoT2#fkKBP~%+C59V3_3n;WuCAUn5%;%kj{C`tm`R3 z8?=tV+shOHV0KdTXv&7dUyPj(#MGzk>w}zRuVERy<9+-}$8u-7GOCsDUDNg0NqKm9 zgr)whOfNsa(t2{q0Fw>exBaWzU;||$!D@Ky9AK=zGL$l0htak6^%y&DT+Z$U4r8#P z>zFZb#=A9QYp6M0ic5F|ueNUWw(-XqBsxsj6P{Wb*!W1kcX1W!He_5%{?n-OT|>is z(-=w+Brp68zCr_OpjMhlhM4{uaO?MmQCDifMsrs065P1md#tC78l_^*^_G3MH4Vg6 z3WV|v9d`9h`Vo;Z-OJb%fc3%t{z)re zr$y?YTm<^BXm$kh0#}ln!HEY3a$#$>Zf(jiANVG#e=f1lp>gsRe!qFYy`}ggiDYKP zmbCH;i#+kHAy-a1UMV5IopQnW@F#jMai-YRtg79!S1+3UqIeO&fkXGzYSV^twkmh# zLB&0o5brl{XzjuUWBcgGl~)MpIK@Blii_lkbDBS`wmb<8KbF(#x{e71FEc$wI?+A1 z$2Q2RM%=~WU>?DZ>SJK=Do-fSNs^Hx#35ujQfr*vW@LDot%ALS?XG9Uhk;(jJ?Aa8 zcuZb502B}k*CLUpd}3783?j?uHs6#XB<@AbbLXiWpHRw?Je0c{&%vL>;e>)hs zkTC6p1`=?0ZspPD4$b-V1T)0FHFF#-n;*;_j=NWhtF26XHaX%oN*%m2w$Nft#f8k! z)4%0;+*Kc8^X20(VK8HtD{X^%R!x0svpDi_PLe>=?aLVTsNl#)!LHS~-d z+XiVdZ!~ZCjCz`3oN+*iF5zpXc&8$WnVgs5r7y7UFH@^LA_TwXm#Aw(qp|nW*%J?Lo8-Ik5 zy+L6O)Fl64TnWqu3q5S|ut20sq{5E9dX?mf%t*~i{cdj{7ixV9d}3(r7f80z`Mq?n z@Ptq5mJ;6yP|qjUu{&{u7d?{vR^=~`QZT&CJun5vs9BF5dx3bO_@?PpJr697kvPu5 zlTiEJ$35ny`=)IF)Vi#Yg>aMn7|RAJ<$2=rQZXpGb3lMvC^>rsB>$9jCnjTycjj5b zif7(-P@RBylr#r&a-MFj*xsN=MJIPV_#cclh;%R;GwV`s4kVoXi<_% zmc0$WF0lh0KYv6%4&@pQCz~B!~mBT;qMxNhO6T{ zw6`xu%PRLDhA{mxV-C1jY52?}21o7e5{;jWnpUj1H!|t{dugdCFQmyw_0oTRmVZXz zC1V{xZOCL5J6-?&Bct7CNAMRwtORbflu&d?YnY6o@0Y^^4_@69A|iIJbwLR)wpfnC zH1XnMLBX_~gxe<*eo9(#A@o|BLC41hbv#|I31%V!aCkO@!abXlmNdE*9DD_Fl}zy| zS0!C?x>w6kjU_7-fWqSWa@u;i(xC($*J$nyO8FxY5a29>=m|)x`L>6ZfnXzbD9QKt|6H0K>wKGmA z0bb~~K>8|3;`lK;Pdem*4pTHS@EnCvnw9d%a8X7*d^p(Qp|p8k=unZlFi83Ud8 zl~H+LQmKsMkYr(v#hSK#4c)zGv}lEoI6~=rJbdtYjjWzIa|WQG*}!8M9Ny+TQR*{; zy5GBdb8&2I_<2bsKa#=W!14~ia|6l8EuOjNrwO~SDGi(t%wSWr>7guWst>boQCKFD zKC)N~c=|&{IK}X3vzcMmz^1?dL2GKirtaN6p#?=(67)6Vgi%ZRMh^hX^S^35cNz*( zE9FT|qyt;4BLKH3Im5`^)>yNeeHtv1leALPveKss)`CExYA6nBEYl^5a_xNpRk%&^ zllDq|BiDo5s#hQpGCyCt=?nrQ&@S-jnzGZ20B8pT1>x1vzMN)4V77s-Mo~jHb9v!U zC?fP$G!ToXPM>Z@^niq&NU85RWT77Z~1Mt;RJ;jAJOn_y)_a?8Ykxase%&JLF3vxhgv2QosEs;#nOO z5V9Q0AwoCup8Nv>^k`+Aj=c`I$sQ08%WF~hJOLu490@3cMbLdYlZZ}}$?yeKZOFFr zYB~(ui>AKM*~mn*JK!%Wo)KM?2ImipES@VBH>Zktfr(AQmKR<;>?Q{y$Hw3 z019hbec+?eENWdE*pVzoV&N}mih2`3q`u>wXqP4plm>XY zd;o&d!^n?Ag%4Ax0}e=LzIIbHBBFQ8X*{#mRCKOf|lk!iaN}z=@ zwuCNpE;{#iQuaeiD@Kv?QJQi*P2~~D72exrPS5!zwe^Z;qdrYj<4CoEdGhjks73+y zb^>Pyrp^iu3Asadd0<*8G7$iVK0Vpy>@`L{+auJ+XyRk_Mw|TnmJ%~t*`18Q2F!;Z?~~;6^lgAtjSf@uU}7-_Lee4zi3#JcX%7ht7659J$PT% z1Oi_Z(3D(oH$)g8Rz1IYuuWJxRXd@!H=XQDcb9ThH}Js^Ce}$bLWCz$kgMLLZIHzT zwZ?;3ufU~yxkOM>mmWPzU(m%jIy#!PU5q(=VS<5tbSLI|42>Rz>aK`h1Xf9y zm{YVz3HQ>ysC&<(XH>=762&8#yo0p<&z1*No&iXtaJ^|ue+6v%iu)f#B>|!CN6pMG z^2=xuh~8s)t#Yz)cD_z^*b+{OtkXAb0{`2&);D~n_U8XK_YfeXCS9c-CP_-Q%VwMx_#Jzwd6=|DtI~mpOm#zB2F;Hg zmzjZzKBTMzeZRA|Qr$o3DyBdM zz}I8)wYEcdK{d4tnw64!4Rt77@Plu^4X-ft=GCj);TohNffX$UW5Nxr2$oD;@gY>YR0cH5QY=y<9Ea1PHe`WyKKe-B-4ec!hL{O)gfS_%Isa=Bnh5TZjug%l zQ0BTd)?tS$aAon5?!$o*Bv&R_~VDVZMu}iqxWv2-$ z5az`Cd*7+|^2fx;Io+vLSI+tn_rt-Z+cLLh?X!QhVHjcB;W%(uw}$JR_6&!tbP3-V zO&L0Lb;60yCcM{Iu-`jHR^>UhN;4D98 zaR|qnQ#ynbiEQqByU#|{44a!xC`0Vo4N0%wlH6@U)WRLUC&SDL(Q8sE*M{RbeS09d zyym3oE!jFRpD4MS0)kVxX&dd&7Gn{X}4{ z&BQQeO}L`~8g`V?aqm)&;VPoZRE`#-4g;3|!7JO}#>DmV5$F+1cof--f?0r6?S|EG z?&h_M?q?bhAt^b3*p%#u&FOFcDyVzNSkBkYcQ6SArQ;e-Z6wn+}{U#JmD1oP< zq#`CWKlEj$%bT!?$Piq@f5e?4$5v|p`@-}is2+oTTY$jWn!HE{^&9{kX=YL;a3KRC z^*Lz$dGSA1pX$$@IyJm033*N1qA4Y*-p%POL1rigzg_-Hg>@aN#&1*r`FjJs{A^c! z1bYX$0DmU|Y@TRQE!sKsbWY$mFGRI~@rTTp?Ih-S*D>V}x-(uJ(B zLQpU|-+GkU@Y~9-J)$X(? z#zz@Z*V*EAWS$MLWL=Ib-1)|g5*!fsuvx1{1on!|i3A*HD%bF#<&>8zcl;iCD#vAf z{q$5LTYmv@Ml%M1no_YBhUA53mB>#Ijb0%I!&0_oooNt;FQ^hAQ!F38F&yW-V(ySd z*|C9f=s;YipD*aTGH6p$A5;yKq#*RG`wl?h^qEyfQf6Mdbm=IwE(p#}6G0V}CfkDcr_QW-cm)XG~8=H-nw*RO->p2> zqZ|(XXxw9|SyUi&&<=Pgxje-KR9wn$8t59`22L}TNAsE z9ruP??J9csDhN|23RecWs%PER_6QVkG2fm(cEe|L6?rlhQkSWL&ZbORZmbX}%c zO3#h>CTWU(fuido10l7IMRMqpq&Ec`xXt-=ZS~isJ@^3>>j2g)4**`~5Y+Igo*xQ&R z0RrJpH=FCz0r3+TPxGQO>Y^gNHobG8A2-y%x`5kce0kf=pAAI|z+I5to4Hwx z?S&p~;LktW?9{!{mKz{LYR>m19w6#o$4?8gSH{Mg}H4`3=+0wjb zPH{9l>8FCr(|T@Dbl(juCyY6dIl=Ne>VdIaLTxsW`_%Usjyw5#^QN{FO8yvjrk}|M zK#uwh2`|rM4h6gnK*$yE?gY+wk?k6t$3So2kW+`{<2)8wVv+5@;=OpY{dk8PD4*-m z2Nc=P((JbU$qDy%E&}J+kD9F>8Tw9WNel?=U(baA9t#jwWIHuoJ*rB3M#>LuXf*8S z%H+~$DK(8;jsZVdvcdY%(3!t=vfqH$+He!ywgxJ*4T?t+K{7bAw`W`db539%ViPKE z7CV^YtT>c}fuYDUODq@i({%0IX}At?w}B(FFY_#&Sw`=*6CN()p;@n+@K6pL$mQ(t zH&9Ll$`EuzLrKh3IVViuXcizH4P^o0n0yd)Ae~Futo>%#PCF{41(+|-K_nk#kQ!a- zt3H0bsY-oB#9ttzuX)b~PSO_06^O>)4E!=%?5vO^KnJg*xMqf5&9H<+IJTx(Jxw^el)$>F1%8C}0Db53geKipUfI+)TBx9lKqo7!fEA=smU8-_3 z-|Bw;^QYoIQj42MOr6H@fcNYG2#hzcc0US+VNtHnFI5E&CV4>VwfPzsP6Hr+zr-4_ zWt9wCWyq>{<`oU@kMaJMUOv>;4iLpB_V{o7lsB!?452NDqKjve(Tu4_=(ju}XFp7A zR+)s;jhaa2IJ7q)ZTps@Sx<1AT-WY)4i#{!I~!-TDzy?yYLWtL>sQmqYC;#g@%=M` z?$kRB#`WtV#M|_RpoiG+3MiwvOW4;WCGH7K5A|gI1t!dx>vWzNZ)eu9VR0XB9ne#x zRkS9SIx^c3%LGoiXlR{vqrbS=WiHrPuy$6$1Xw__~hD^+%2c?wOF7pNh zdj>4-W0#mZa1Y?YP`7o=T<>pDTKiA|Pzx0*WDrka;LnxlWG{{nHCC|xB70nUwxMgD zftJT~3}d{X$5x6|#OX8eq4&@zewe`->c#ESI56RFHp)d{_ICK-9z2F=#4{iV{cETeL+Q!2)i%eD7Y$p(GHTc=%r`>y}8|i9pV- zbzX${KTH_`E?tc$c@Z#&i%gSp1-|fJY-})yvjJIq{~r6@*2Pt^%Kr|JyE=6WP&7nj z{}`hGU=$){J4ufG_{L$NeK~h;Rx=2fRm_K4`EZhA^#)G(=lJS_kx{bLw>f!3Yl(q( zG%1OUK+A8~vw*ATN;(IF2G6wq$I@~qCzq7eFT8Z`;GR{vU0sM$9Qg6{1XR0IIn?Zk zTLn^2tD_BOBB?bWDj9QKR@=`u8&eI#s3$w+h*@}XI>*!M9%vxkeCF93+L!}8*c5Fc zLqrzMo6BoX^Y~-Oc4DGKL5cpPE-4sxv+Kw>3ut4KhArx(7apHcrR|{&0*gbvR|)EM z_sL06Z&g7r;9r?0-xlE#C&gDGNn7+<4WNhTk*E8hfYq{4x*lx;BY$WoF0%L0Q>K(S z$5)7%@)i7GG)I-rCxxv3=FATEp^PX}{twx28q_5d{s6=FXWoMcC$1Gd$7z#_gt@U@ zoG^Lv0EB2#`4>B#e_@D7G49ph z6SwMkbB|6>c_vGU>~KznF|BsjUcGvp^nO0S1XftxAlqHrJVZQ=i_`dGKjD;J!(+)8 zJU^4(godF>xjgA75zgo?BU8VTnSPDlT_qT5fL9Y&SFYIQsbxJ8=$I@z3KgmC*YdRO zPEJmT7dEs5fTh{EK;MU2f)hjaBeNgof(fk)_@6B|i&wWEdZ^Sk%~ew-xrZG`B0|t{ zDOaLwr11r>Xf^X->~r{L|H%tOk3pxV1Z+8iWII>1pHLVIOba5~wvegcLbNaQ6_E*?IxLUBTvh8Dr}s%`qo-@fP8vs^1~Y-+0lU0&HQ>yJtK|G3dBC zkVe>XP9F~9gR!==#u~n0Gx@Xnwn}syvly;ji%sZ|9lV?>hwNHzxd-?q90uk6?;@oy@tg)ZT zr|JN7wWuUIEQx%~UQL`sFlGp@4kqLV`p+}~xJV_{&=;hPe>T}n<)?QsV62$**Ss` zSA}mK9TUf;L0cq`NsYgp&i(;rHa|PVrtNFMSbBy^cF2TU#1CH0X=)!h=0Jy0-?`!8 z6_M>%xwl8sx3iCD9e>6Q3X=^ZjFHTNAS5)GKPV)L^x+hA7jqJgL%}otZ6^1@oBExf z+qG64ZzQ##_LpHy@m z1_3&d%Pra~yx98wr9b`Dw9|nhb_s0(J$+bm_C3;O>STkwBOyXH&=39!{>x2PQ?yp8 z77Xe~pxrcCZ{yB^a>p>AAxng#k7=Yy6Q*%qY9E6%cD#Y0<4N?B5zO6SK8l|dTxTde zt?~&!V-KXBNO45bho;8V(8^Hq0X%IfhtTCTq85&GHL zHhag1A74=EIh%mwjBI96YH!8^noJat63uC{g`NZ;0U>(Q7T43V2{7i_1mg39CT{nF zwF>)nS=#qW(MIl!cph;UFQ6pP^xgWdtyQ0(U2I3FwkjPsE04DaMa?>0*6(;(Q z&%9_L-atoBCpQ=EkX*UtbEIagfqq%<{daV@XdEo}@wu61hZX!3CntG!0;Eo0O%7tA zF(D6n?XjhAF9kIi`*w(95apeS2o#Pd=4UjZu2Q3z&rP+_hjycSi4?=Zgm!hOz!h@a zC(53upkw}EI~*0mEAXWnLgL8pp)ODbNepT4jMt4F#JxeZ4L?ZR%ORbm>b_I6B-N~R z*BZp)7;+Kz+-LQ_Mb!bz#k8Y_2OWwKF>oB8fFobVY{1n(#(C*@A;nRNk$hz63f<+z zx5SbI?sO@q&OlwPy{Vj$a#+~VcwuPB0L8#F;~q@A{nyW!46NzXuxbS1w{UCz$GkVu zG9c@^+0QSEkFsLjy27B7RSHL5KgoYxCN&IRiH0fo_$}gx2nM44C19=$s1Z}>?cmwX zW<4H!z~Y?tOk?j~>lo>gWhHSB{6E#{jiSETTGBs-X9G%*u)8tNYs!}?BXg?vk9ie{72iQkKnK!;>;PKB`(7)@B($}eY?Wq}M=XzHXc_r-8PE(Q6Uk^M zprri?6kzx9Z6zM27SRw>j}V>=f6uaznmREh1WyPo9S)>FU0ATtK=8XvY-CyWC)lvS zo9N%o#u^On$sl(W+RR#+LxIej4c|VQ)G9I%a*I~y5RRYNJzzS;LJ2SV0P!4DAK=(6 z7bZ9{+D3lNt81XqK(?1d$dBRc}+7IVKaLWC5 zyd6q=Dv*vRj}?yT(`RXylzZpS^{BlN1giDz)HE~;_eE!fKt@XmgcAd9jUH(+CGA_( z`K4%e8SP*L{JN$r0OLRN@$c{W>~UJ!Km-)kSri8wvV;4GsjFdc(m60CO?-_yLepfo zcUz!UO22iiHT%-mZTtTD|$d|CS z3n7oRRGv-<9yEjC(fJsVFuX=rDRnu@f^>YNeTQeyovYnc%nuw}@}4tsCas4nc9WKt zmh_})DCvw6N~Iv6CQw(1xloPd0qG7yx2PVqCwa;rmL~U=x#bEHss@Fwaka#m!3h)q zXO=v)l9cm3JZqSo__t*;27}cO_k~nf_--g~sbp77GCi6%tEr;be+JLIPX`c8-gu0uGeWTh67ivmM7p=7QUjvd9*Ych48B#fl3M5}^N)qgPdu5JdK9z*RyGTccuNE!tyuN?$-c7pJ zSd)hQbs0IDcxn4g=%kT`B}|Dok?*ckB_X zn#nJkh|_2ICcADS=nL*VspL8^VGFisuwS=Nm`V^;7r75+kJ++j^=caHA1~WQ4jI?t zKmTD()Y-9Po08x)38Nj!K(QHS2RTJa82*E189ADIa4rqZ>8vg^5bY;u3o~O(8hD^x zf^Q3t{KGw~)n(2n zM0F+~?MZBIGb6F!GQ6yoiEt90iyHA6FM`J2QI~$^1!x+P$?D4V~Yk+VK1#dmChxz;9ef6`X3NU^6 z-JPW&lb)4z_1J2a*|rnuwKjeF8HaSZSI5N&S2mNB`?HjK4M_TQc7R$DB~t66(iuTx zA3Z*Ew0AD!BoJ)4LJmkwD=1mAWK;Z-hZ~;3;?(`-J33Ln6ZRrxUu68cT=ZSm4MJxU5qL;ga zau=doA7);3N&33yL)i;~E48^Cj~J|AAPdl1dbawYIZ6&ohOcitE}~iBT~sm zwSD{Du$#2iD&yeW{X!luut{S`rSt^T6ShAh0EhL1TE4;nw={D1kEMC9@YN;hW-X6x z+uaVx#8>1E&Xpyxml7_{pspooKuT_C=;SduyzsJVuUoggJ#%olZ7@g%(^rWGiyz{7HFSNqU*qDbzrh0ce#D_X_BIT!T+$1^R_pz;-3`1PaFYhqlii0`W_DPH zGk`^vJ=*y|4avOi?mE&yg@L8C`4N%C5`xfNLU6(};*OYIiZE*AFof#{8rh z(j|au2yJaydk7M+y0$`4r6;c(CG{{9vAH0nP?$6WGnj_O=JQ0C6 zaEp%WMZ64W)_rHTY>0{7G}KTdZN(%^5AT9l_LB;}dAh(sUVx4t^hPpXPA8u&%#q z;iIn9Y!k7C*fwr>k~M{q6OV8u;t*KL-LR;-X0Kb!4C%)qL0k!0NnO2*8N-o_f>;Rj z8zHfYEE>$4kPbF#6u+cge)LIbXf&gCkpzWk6>=#yE^Y)x&Tt6T%}Ab_q0(H*Gyr13 zsv3dP@6DU=W{kpF&33Pwb;E`|c~tY$vfHEU$xHt~imIkLshLv4$hKHuxsQ3Zvz?+4Q@b{Y26l7PTtG? zA*}DjDS90xu~|s?vGQ2kfV?b(8Bq?Zm?eifQI@D~<||T#aDqiS;g_vNPEy?EIuRVwH6F$i*#5gAgPAr~r(sAMN?!LNV&dIhIMyKs($c8A($ zZ|6=bNg=#Vq;9+)2J>=D{s(I}ftX_w`Lp2+9vnP)t#Vaj;GpH!t{#=p&=(dA>s_T5!aoZW44{o2jPa9QY9YW zB~Ze*475PeO0YxY-uy8(XS6j87;bK*yAS?&`uOn~8pH;fgwlG)WNs50KLda|48LDk z+Ejj!>?(Mi+)UPnx23or6@CI`&SS#7yj$=7E}sILKo-&{N@UC^qiiXl;hCro1a?+} z!zKr?JKT(1avrue$IWkyJ-IrbB}&$8Cx^%fy8F? zUi4yEbhmLW5{y0Y~f)9A{7^ z+_}&asX}h#$Va@)Gw%K#4a1fDJ}tyd&1Zx?^}BW3hM4lV=o9FkP@UC-m7*BRh#P7* zoZRs8?g1TCO@V-;H1GsaH%}fA%vQa`PN#tihLEwx&!0a}Qk;Z5Z$>6>%@E27O6%b{ zT~q%wj=f`(ngOVl)}M-}H=;Wf0=pJ8?nYog^{dYxi#eIvzetICi8d`f1WH8%jmz3# z6Afh1j=BL&s3}Y|AjFUQzz(=+mJ;>j4{n$FKsr(1iUUnltJ%H|KinX9W`y*^_z-e` zhem*7p~dqlJ$B9`yU4ntq}jvwdAa6C$Ew#gXL(@@m@%Q+RI7s8x0vjnAA+b34dtkT zX~y^U_wKpOGX&{3=7vJNp}wR4OONOWv{tk&%+4?uBvX-Z z!zmd~LN^@ijbCtvyj7uSIf{4UsVn*DV`_WP#HND6PO5wYzdV=;T(cQFqWQ7^_-S~A zZL)=dpyN`OF-HL@sc*}uNXNB@!Eann#cI`}NN8wflKGrx(h@8TGw&ZA?wbe!jt17W zuA9O0_Gd$IGhx<(9t8`IWYsQ9YB)-*+2AeJ#7p}XZ(u7702(^zHQ={7QM9u5-hcK8 zQ6P9BJvU=AqcVD0u;@<-j`C`FJ+BTI0img84;O5Ok%bq4ZwW_9ZvC2dEU}18Cs_iJ za_@*2XVb3a7pWIkbJxs=VT%I07X@~l{mnJ>j8yhR`&V(__q64O4||{T?e|{W)^(Id zS&&G-?SDybH6{sLz4#=-M@r7h_6WgmEPN0Nlhnj(O!UXev<|oI-;uv($Zt5+(M-*~ z@!JWk@ua2we7pOwi{tf{z4`iju9Fum%O8lA#piR;w+}uJnz3p(X9l~#U+IN})xmRj zn!L0RjQM8fOk-VjhB$nbsjvH18AUYJfC^_l+1zxn8u!*TLf0zD;;9$^#H5u1&~?03 zqedljBM+Z{vw>$x^lsPg5BGvG90$0z!Znv)zk0=iI~t;D@0k&_m0>@~8`24bfJ4U^%kR-KCBG*qJV zss$phaz8zk!Cbs>qP8?lxI(edN!gpVFVdC9v1%%)G7quDM`8b}3o>S1kEboMXxN8M{{DI0=Y&e&n&(qz zTwynVOYQskc=EwXd<$ULrUAm$Mx$I489ukhfpz0a%3ukrFTYIoPK<}~;0?)*-a1X? z2QLSx=~1T$;YG6~6g`>DZkfAPf%ZdEDSACt)Ke%WFlHYLR{IlO z7TBE@(nQ9d7!{EL5BUNWYP0y$l*#K6uhIk5zA7NH6FFRXanz_$V5#1;3i*zT#AI%h z0zdxXVBT#Fra&4sq~oDA;=syGtlgioW*$(6Fg=;Ea(P&jz_5$DqBO%5BPK1WQYYux zo}k6@RU_-7 zJ79Pe#pI|l!E*Am(_DFR*Kje&sU3#S8ik{b5Re8D7k5xJo2?!i-EU~Nne#Dj$HYQU zjIJKKcL78Mgqrlqw|nwq`67P|hrs-KV5H^VBd z|IO>I!>*1m%zLaacWeLK&o>O)u>N%a4);<^mS0%uY~iB)P0UkMJJ}4Hx@TP07XL=6 z4(;M;sRgMW2zRHxIqc;LW1(%(qIaVMUYDX3i}F{qX%e3T72-o2Q;BTy_NOo`_K06i zGl%%p7}8hxnhstYWX3P!Lt-hS)LXI3Pq#4n8t$wJrLJ*g(uGJj4!;v0k8*nh!P|F+ zd;@q|17Pl@k#oL(RNf!wp}>JPD)^nDjpq6#kXYTtxo010#ne|tn!0GDETa)lizozfm<4{eeroG#JU?kUsdy*^N#H87 z_>Zh*-B_=X>RsNp9tQ(9PqrjSrp8=B?x0Vgj|G`38({u(QtN6bcq3t{@2qImph0HW zIjcU{4Glf9YI(j9P)`A}46OXa`?t=k`!wV`G^WC(o+!;-p&F0?vyJ~C?gl(wDVv1_ zWVhP9hP-XeLaL=C+ePIp-ZntQ@?+UogI4wF)oXq8Q7tvM$SmS{@+SMhcEjkW+_0gF zqBnjH+Co-gc#M8YzTmJf1$atc3v?8yB-HE%;>(|$7&sdf#w_a}Eh#ai-wu=@px?m4? zgB)Uc*t^)s4k4s>87l&{vglB3Y&UHPt-ova3qWULk3o1u*M47ry=lk-vg&aAsulA( zu3WhiTWU)$`h0L4XE+WLFjFEoLifv4oSht1k-9+!z7(L7&v=;u%g@)!G=A7To1Mrq zl;LVe9GY;}_jnqMfI}h+xbq`Uz^ju*)s`YwB)xojg;HBX&s2vhypa%6fK75pVDmP` zFyvBHK>Oz845fV$uZ1ZN_@;UD5kyyC~;H9JS+#~==~s31E#Vwb+9 z);RDTy-juPMrZI>8kxRkDyj9aRg)*=EE5 zmYc}QfIDNcoiKw%e)ahsq8yM?m}#_=`~yt5fy{o=RGoU-6vxGfLJs22`zrsx2;&}5|G!6|>UmyJ)*Ehks zhO#K(MoI*gj@SaL^@4Piii%UbM9=5Vo1tHQ^*K-*W!DBq+vJ6+R%Lp6YomRpXCnQq zfRt*mSAT83Jd3e>Iu^BQZ)Tk+MS{>l-8D2Q5GB7kN|JyMGgn4W5d@||+^_K|j0E!c zf9p3Wc#qfq0X}!BZ-L~V&L+XcP%S#rk8*PuhqSe9|dJsP(NkGELIX@o(_yx3<1 z$V*6>hY+9~(oRQon(^N5SLVg0#0GAIb;cd!;Ku$;{U(3f>X+I0qW|qx`9|-e-~IEO|96vmck|4+j#~BPMarvnXuT>0Y~b zGv@+}lleg0d7}2E>DIqZ=b{@l;8SIeqVq5Hj`m0L#&Vh)+uGJ4>JY|yA|p|2ocfAG z#GpSmJPpX~1REglMG)pU{fML$E0&y7F|VCM4Yc|_JbqO4HXpf~yRBVcl=dtB_#?|W zUd!6=-d)hu^lym2K6V$Tv~2^kB1=7FK2cyu-t%BEAjRUx7jqF@@yq<=@_f@?M3RB{ z2^2jvlxvV&s*v#b#oa6@tpPeJW?GrcaTO&Xn=^$Oa?bP}@&`U&wW@c51^nM-3;_5a zZIP29#P@o94R(07Y*4t15fnim&3i&hX|iaz>Dw19nX@W9s_XBhxmORvHWI0B?j7E+ zis@^npY4qHYzm=OQ^7P5_Om0EU%IBa)Z9V@g-~z zAX%EV;caw9$*u%&#%T7G$>?~a-SY--mNRy+nb(44=;u0St_Z$4J-=t1>4&|Bf!foc z$@W!Ig-(Q3oqB4HNT1hi*|T66$0ZPz=dO<5^SFH62QebLa=TYc*PY-6RtBNT9T2yF z3n~csBzS?v&i>3(1(JN(TX2yG3NO<$ARdrNcJhE?Ot1MUl*-4ae$P@&jciMac?rR) z)5^zFlHf!a_{bn8NINArhm^FmRQ-ZbBx+OBO5hbnX!DNEGSZ-~R(7fN<<8WnY&5bv z8pt_kH4Uokn&=3%qxkXT?W^?O_Db+rP-=X^NSaJyu%VWB`P+hn*m#<8#fejL0eU*h zzg=T8K&w->z*`JNvcexcWN{SX_5FjKnIf(JJoIFD`SNIAE&wpaWXlQ_@RZkg#%q!# z^bJqBG1)Q3MY=~48kP5Epzjj^0eH(X?H&9xUGzpwFsBsaxBSzVEf0+2kAn>vu(!~v zvJp@Zu%$iF6Y{=lRLb?O4S2lJB}9v!^b+JJ@k(yA8g`kvQRE1WD@7AtC6<8^k%xGS z2a%ZVYm_<_y};1$lOj6$`L?W$+Qm@35kr2l1_t7Y_)};v(v~+hxgi{d7ai`MMyMZ$ zS@Y?F_b$L+Gwsl!GwcNJDO=a}p^cUUioii*NY^glLB>Nc&j65{mb6O)OcMrS;TocY z1;qGS?6Rjb=%EonkFX$Pfj@}QU-rwXqbX>3b}|_dai8Mh{_0Py#O*}k$=j5)bDixZ zDgpy{eHph1IP;VB>$cU(8dP%d4%51@$K|pUzC8vQy5NcDm!_=7qlD2sf62}aG({!?6trFk z=kcoEXYHxt0csM71v{KtAc-sR#3FXVpJ0XSTxZ;?BrU_LP8(81VriYQUi(w z0+>mSQt7V_{=_>iS~;r=Fjc-F_|zWpFe=YW1BsvkUCOPJEsA1E<~zOWSR_2AQ{#r_fWQSV;e!1p(S8p$`ukb6iEejosgMmw|uPa zht-^s*08+AAm-}TPw{t?K`^u!+>Te+w1VD1swbq9J*Y(yw*3NvuxL$+)~p=Wk#NI^7E=-*uqs;}8cfa%B5;`|$!M%NI^7`-%HGgZ~GO#1qz5?DR*SG#ywOarQrsM zNihS+@_BA0*(=M~W;FLNdRy0y1`+EZNEvi-MOrh!nBOXfq78`j3EVu%s9##t1k>!K zQ!hQ!`j+FnP`dQs1u5R2!ilNs#W8Qo!ba-fo_P0F#}vDi_m4atf0w$r4U;Ws7FUGL zX+WF-NNRi(5Ld>Y+V(l;faLTmT@_{qV?AvgJ&!vm+L4PA28asBZ1Tl;ffuJo3-28GB7!2UYbh`z+ zv4?gJ&sg5MD=RncK_!p$ZZhSU^Zk*~*h1!jC?qmZsPoVKF)evNySaf6xxCmM<4F`x zQ?6`UfsjnrJm5hJ!jB;zT&GRDOgzzxLYnv$*Jt`o8&UEx#HO~SOp)o`RsogDO9wfC zo(LZGmpDgZRR56$@0;^bzJyQIj0ExL216>g1-X-DobXVfF!iRCO$s%V@mcS)KAFKwf%%T=Gv(T z+pj4s(A;L+WPx*$?7pAzmOx?~bnsuT> zK}6pwG7Dthq3zUb(*u8LI>L&^v37S69i@6;2y2VwB*n*0eC3l|86UMK(p zdVcTe8IgB9mryCrL2L$EHc_oSDb@|d*%;Ymk~iP3un^>`iCIqKujKw>x1Ov#VsZ?{ zf-|CDmhIJJ^AprzLCfo8z%8-fRr~rxqQvm%8v6i;Di5(XDrScaNkM}-mCPu2KW0eR z6O+wj|FS=H{H|XB86h)pN$-IddzYN!(U{6|1>hbrr3`?6oEF>p!JmJ&hIKnKEp`aT z;1mw6EoW|w?uC$xVU7uCGI)fN^DZvPo5r1|rt2z5gEh*RL}>Vl+qHTy4#Ut$W0-{U zwz*!Kea4B)?fIfM+f$J#fD^F^jUkA7O$)teSN@0e-}|288P{Sh7-=w*NuI^|8JB$n zyLYUyCS^Tt!clCv)qnxsMPCxLFHX0e+6EeAf+`&}uOEDyP;^$4~IB8NMpb%gY zIYl?q?0aY|1HZXQ-j`*xI`D9K_w%QI%s;=P>I3Jt{?|@jL;JsrvY%0HpGE_}pmMqv zdf%>mlGVoOTHAx_MyevD4FH*bEp}Z;m%C-XfP@oTSCh#mG~2}qtu?62OA|#j6kmcc z{lfL@<(T$jI53K6hR9-XUb%9x*(92hl;{@Po=N5)KD5Etiwesl{jnL^?Ue2Y4(`23 zV`SJz<^MO{iSyor0V8@cUOO0U!{D1)V7H*xSmU9(S0>}Vpea{|pT?^%ifBq(eGD~! zfGgJ~f{g>oZFy3lM-d|NGj&UcoN>HAevz|Z=lwvE;wS${i!FpYP+`FbPF$?jnrZ_8DD`Iu zSqCwBMQI&OTaoDT!gPi($yB*&r0IAR*G*~IlH2#AD#sPyk!V_BiF~l={<=V9!2)KSA`@#6;qr>-@grXckCQm$8mJU z9K%jQEe8;i({H_{e%b=<`(0cAL8ia`01M-j(U&h@M$XlNpW7Cz>I>wBZtOgdA4JI& zOrFY$pnV<;=@EdaFeZ+CG#D_^hJ8N~M;{@m8iAol(+(Z(M*PJLOdJxLL0Fbmd2^y>99WM0#l z!`N92{UZ?R4miyBR;{t516F|zbhBNVKLY$X2s|8;-_aS~tJ(S}M@p!PSGIP}Y910o z9@}f5nUIF2vw6rm-i-a7jO+F+*!xvM8?vhNf+bJxO&Av&+4uo7arxu2+*+;Ox{Zl= z-@9zTU4_*}`gfJnQ@b6FwfykYv{37+%}2g+e~|sO3mA{1J0$BQ+n@3}yh=TFGV(G2 zKrB0lKXF@XXv5#_a-P1d@BH&oSpKV`hjjX4z*gfh4Z(S`)wb|fYrTu;5cgsBRr7qa z=s8f3I-lFcm@|i{F=dpH|cQqULN%86U0ZxHdBb-%4q zT_-^b;^uPRW@WzJ0a~I=9Evc`GSUfhK5bV-213v!c%XEskHIR*@08DLyTUTZ`3YIZ z_3vE%G=X=}d-674{wZqjDD3YTOuK1!`eUl&*>{mcs+uUXl5>3A@1o=o!AzoRwp7<) z`Xv2D?$ZN?#_xHNBV%fB_;lROT!v)(VvyugQ$$R;mR=MS5Y=@$z*G}$)v7H=kS`rZ z5#1#=ad7Ut2d+59X@LlD?enzjrfW2PNseZGh~4y=wHgENi=`32787lszNpScjzcRZ z{UEJ?b98I@D|?$LjhQ$xE8#lAE_qy@fRfWm-1%QBGiWNJIr(M)v9P#CKw>T_a^=cz z9eq!My!fsSShKN2CID*V_{9H;m}#q>F;M&x{(S&+^}Q(6=qtb6d{vbzkA6L=iR$<~ z@$J97rAKY)h^R|WFg-vSIF%Dh{xL^GAx9g~c_(9mjX|;wD-O~IL;s8lh&%wo_%Cx zQ+*qKmyn(yOxbR#lLO!-%V>6tD$eLm&2T-PZm7$R&ie2^k^K_ATQ-Q?&vQl!tUiew zhtWC&6EDeUZS&K6O7}<|Bw^D^tG|DS(HH!07zXKtD7Y6T1`aOu;M7wj-r3V*h0c|T z!9-^ciMS6C%E!NK$STb?>1#T4`P<~J-@x>r`7yi9M&XBMBRY34`j9Gb+ zaznDnM(a5Y=5kqKn(6(OJg7Bej!PYe0i*lYUG(#T1F!3rNyVIF0#6deDBMY#>!5dI z(Uz8kihK{Y1)7JOS5Z zk+PoodT1w&-oRd|FYJBx4BcAVeG>?!{F$W}?9*^a3wl52NzsBId@KqyBCw@^HDw!x z1a$wAd9TL+3aY^}z^gUnZ4(_vm>hwQib~rc8tvQT-}$fIW4iJAuWx%7G!{xSmSbj( zt71~U4CcGSRO{>t_BQxiA|gy*QZP(dvarOq2=QPNZ6h&68drFz~m5!6Xa?y}`V2ISs*k27Fs?;GP4_ea2YSJh*q)WTjOMVSDKtWmG_T4^e;I@L=BHtE_3+AdbYM7UbQoD)HFni8c4ts z`e|)lJI=W|#7;ZQx0L3z>FL%rVr33ojzNju-QAMvo)UC9fB^iIGP6(LzHXF9^oF7t zgAaJuscY9PoTFOPl%zjV;tUUMK1IpsBU9=VAUrdp8`D*l974h$4El*26DTs&)uzJo z>FhRjydh*gITJn}0BTB7QC;7;2R7MWxWD?EKDK$umAKA=@X#aSCr(IAN19Ez`sR~s za1{aTZJ?nvl?jTEiBqwIgh#4%8jZ{acGZ+24UH-^sDQBkc1ByOi*}at=66^=mIVUD zN++iK5OJ5>7=3|h)@tlhRd=yv%j=%M(@Qu3a|_e6hbE42c;(8yD2^DyGvi)QqGcgz zIh^SvC#RA&;g3$EGcu?h&x{&!lR0J)Kf#+JtrTBf{K*($8QFW7eWCk6Cf2DmBw&z- z2me&|jf8o$UI8&5Jh zOFY$*BYDU0-f94ldtc?H+^n((#^En_Ys!@2m^moqAEyYb*6K+Arl7%;uYnhO1h%jBhH1cTGMUg1 z$ncf{&eNyocw5w1*YaMCNv zs26(>@aiFmZcT+~;6lPblBMGPQJ45~UVvY2bvbo!;S2U6YNPj@LgQDP9br>&OLjxl zr1lX4EiL+h6+QwvLQ;q+T&5DB#0%SbDbbiuqGql3F?oq*PDKtdu>uSj5!72#>m zylRYuLxoR+eaX+yij@sGKmRb5wOV4_MN}MES*(F{Lk{%?ry|;~O+%QC$>d0Z7&?c@ zk8)X&B`QN=Q7Avkl!k-HN~^{F>Ca0Z@It~UC;=#0Szqy<}lq zJvyQI>uu(~7pBHs_{y~yHZ7U;Lt&-v&rlWNI8Zp$d&Q}%WlLGeafuSmW+wVzVR_Dk zNOBTT;I`>^Lu~Jm3JTrYju|_GZihkc32?hSew@_fZHCf93`21YD~v>?f|p2$2TevF z`BD-h+FD4O5M`Z(dej^*bO1TM{otBdg?&=4+~R#RspT)Cw!&MH%*u=41XrvDcItL> zKG|&49r*5Hm)INQO8VLLVvf>~I7Ay!Th@@=HQ`>72p4!4*JXvN)QD|Sf#O84dgsoh zh2vKtOyxB7qF-W=7Yuytz#Z7l7@Rb-t+ z)(t|C1d4H?`!?O!DGJ)8GV=*;p{dZWUE9(57S#prF=NL{BOsK7dq{Wzu7Oj#8Yr6@ zFk&GVl^%^jHg}wJ9b@2ABVvNm6vrIqcQ8I!T0a8>HG{0yA73@G^=(uFttWsm&#T#LIj{c_N`dLQL`rxErE^-dz$Y zlvr8@r5B2ZbNpf4(P!f~@=3vsXXr=84GN{iBT7jT%>Mw|KBa{p(y_Eck^95&{Lm2d z_haX`wJpET`$ld|l_UQe9p*v{5rDU_3t|9|p2Dx3K9=LWYm&W0n{KLmWLoFE~lKHtl z7#XD(#dJ&--JJ0ylw05Ym};!K5}m>-4B<0&I|Gw&pD>%>;rST)R0jAgZ;!y#`X74( zh@BT3ZO!xDTD|iE1NsH^&B@MQ`x%)qS_)v2xM92wfGw30mx;ci|WD_*{^Ih!ml+vnV zUXqp~3B8^6>`WA%Kn7DVB@U2g3F1PHL@Iw@{T@9O%`20!C`Xp|ZVE@0py!{u2CWyb zE71zLeud1S6lfp^sta;0$S%>Q5WYeB4{FmCXX4OPh$PBF#;jN0oSsY#r`|E#i9Ex! zpny_tx`UiT@-b1O9x>2xz{2oIUiPx`bs3%Nfw75j1@qa=h)!-@trOHpz_k0)NK!QN z5}MaTEP=*tvULp&kn@Ah^g1ixQej4nNbN^xr|EO@Tis}v&Gx;L->^Odyy854?O^c0^ z$KLIr3Hg4!1?Z3$i?Vizk| zHiSK*=Z7&{v9KUIbYi1JdN8py^4b%5gPq{7IQIPhp@~sQqJIW4;e?<5as;(TYkX zbW(n$pTSzMaaGqYUmms4gqV#D;SDrX3wejYXBRpq)lq0lwNQBH&W7Bbop8Kbk@+g& zl-3{pz%aG+DnxuxY6^WXsf&R?JX$3(169MXkfMw|WU+1v(Stm#)NQ94*TxZbH|h4v z(n+)@bb%V~z)rPSxah-7&-36e0S?VD3+C#&NrK0dZA}6N`54sS=X_5=iXiNy4@*`P z*fY#~^=EgT3A$N2bQJ%38T2gSEx!jq5S)h+`k;KyfJ2d(5qu=RUwU>zJ!|XABp=AR z)fCDwE;|Xw+I+duHDmrDheqTrJHKhhU(Gb?E4AyLd%Ji)?Xd&4|T7 z$_lk>&pciG{dgzq8i=%Zk_=HD8?eJ`&IN+Vlb@VlMq(e1NeU)P(I}~j*Cn?@ZF1Dr z!35Zpw`XQ%FRsNz?_JyVVsWF2t*3qIu_3Hik<0kCO zBDy187SvVt;{fPj@jpnBhG9d_wZ>9si}L4!XoFslc#TYLJsylAY&<<}2pcJ!f9XV# zESRllLp;~nlinup4cn6jYw1_!MkEbmlRAZ@Z1m255ZmGYhj7(Dg zG(AnCDHV!mYG3m;t5yLSy#YI0EEeEk!By;Hq~1AY5o87}tZ^F&mxHV-(Sy+#LrOhQ z*ekFmSSh7^CvB^Rsk-82X7T({ct-=V8h*Ks7nJgo7cW*o3jqroA(Uk#gB*K-kZQ)s ztq-jI9nYtHoA(N**bN~)B-UoY(q!Tvy309-l=>XsI}9}xepteKH-GhflCLn1s(B== zuO5ZR+t_c5o^p@wnBN>7;~5lX&rv?Y)fQOi8<%9HN=Yyt}D6Y;CB*{j~x?s>;Hb zjgtW+WX<^9hwTEG&f{>Q>7GE=*9sOik0WsZ(@w!doF4I(Ps5J-bi) z?9AAFmSv3(l|4zPN9gV9mP3XR*AD86yM3Z~>{W@J3!gyTRpv8_Lbb7Ws{6;H%z12Z|(%UzHjlHy7IeE=sp z;u;}_zDoO$cqZt8UN=0qgmU94Z`E@nxM-Z%AoUX!eLorna4upkk@Fp942*=LehH{? z8oVT4$<^uiGe1O*YribJsuOK?fO2c>_-%6^Td>wfdP>v*XJL)VIayTY=CQLb)}<0O z(4dlx8j!>J&?uVKMy11zyohq(qSjDHoVuP{`-CARStv3}eeTkwrBLWCW0vQ<`5fmv z>5!1oI5S{DKrb2C%_`&RCwW9a6UZ|5pei)Fe?1G?R#q%AuYKVwNCPO3n8;~S>(AzI zoew@GYPaFgB#~}YJQ%fO0BaYesq=AZe^~G~tKef^i;PxmAp8#xVsN_yaAuL=s_Y<# ztEVI~%&$p>y-58q$Wm2mK*6vyOKU(n!`M9N}Tk`hxAqCcf^i z>JD_~6RHt-F3ZDt0naXRdbmcs8Lpb^rIS-&zUc68MMTwqn<0NUJk)aeU%&RR9>@Q_ zo3cD&<*@;3@)cSUpPU#6AVA>q*c){SLjJr*dBj8s^buR8@_?!KKSM^Jl?D%vbf+4$ zFzak6-_KmVn%3%A8%jj5)K~P|)ukdWM{jN(A2i07{78KXYc4VqW`U%>Y)FZUJ~`_b zXy_r?Q6rT*2xZzP0dSK00pK7fJZss{KZ{w`n;?$_UW$NtX#bwD7vF+r!AN^}wy?bU zt&U~D0jnK=@P;nc&-?eM1v$hscBG@mU(_3bo0%U?k5d^*D&7`<%pSFEJ)gcFd6y2Y zH+O=zMs?akyV3l)e)FI%C{5k2GG)xAgF?P?3(i$Dd@vq=BAX@sS+#CmfwxKvW>C>E z`_R1ke(SVVYu5&IzJDJZT28y&wY8h#y!;u+Oz^HHVYPTT%p07#UPE|!DK#Z#5WR9u{0{|8mS z_@WQrYBZB_23U*TusbRhv>Nm7^8HwU7 z7Tmpk)u3LsSWH%fF-XJ+TmNC+vYuORK zE*%I!-n%__Ez^}K={}^hTTWKPEX-L$aswSrA$u^qw4BJyV$3LN-`G)(i+TgxwY`)( z!e%$cCDz(a07UoUK#3wGuXw(_+1Eg7Tmph)G(Zk_2&;?%$I+Nr*KI~NoW#KK#*LNi z3iI1hdQ1cH3uJ;@3450a*bwp^jF0JrS_tft>-WL8LDuZR{SgqoRr^wSqsW;(7*PRW z)(4YT$Xmgf(?O-r{y<}cXx zHN=_$I_B`=j|R7$)6#a9Wz7+xJI{1vOtfJ*2J3ej-<%Bm1 z4w+MH*c+PZ&B0a_Eqd6{UM<+X4t`Vp>#UTa5>e&6-GGD5s)QRAQ)pE7VPW@6{a_Z z*N=(IWvB$D91{Yi(18yE@)b|U(ZtdI43RH;C}cZfj) zra^I2^lKo+;Nal!Fv4RaGFFJ`58-JYtH~{RjjmzZw7x`CS~@ADJ@D;k=mKG(dU0C# z^CSo%Ro7J9TU=^ag|$6gD*f$S>(HbyfGeYEv&y{&RRh(s5L+VoyLR=|pIgeaD`6S; z69Z=YmBY}pG9_y`gLR;$oBuk8ZtEyB49C@abCV^6;jckSl}_6hPu@tKYLn0xyc)c&c{)X z9z{b^q3i4RQ><&Kd3EVhAJ-;D$e@AIfy_@xy$CiTX6FCp2^P1)oJXAxmz+if@0h(W zIT`%SWgM^F{;>o@M7i2PrA=C>8YBUvx!kxz2S$}Dt64I5@S>&$#QP8PujRQ>V=(ny z7sd{^L78iU?qQ{IwF|O(+!fC`gwlxXVyTP2#a~{VSEFK@k?MpAkx6lp{Uxz@&P?B-;#@x&&>}L!qHe;{|GH^3^Mn)+G96C{mVEyvsk8 z;GHva*;o)9gR66|o-V=QC9yFrG5}0Ph1!r}rd9TLeErF0_v*adQlYS_ISL?&R(uyXfe};N!Lf(H z4AeOq-NL_)qFk>%;>VQunKNfHjcI{!OkLC`FJG=?GK6QX;12=Bn9(Zh*fSO!)ri|E zsqp1dObe;JRXk#Pg-4r3-8lkkQ%391w`NgH1#|9Gf`ZJ!xHU$LCKo^B4j4SReIvecYC9y>GwXDncg?dFqn6HN zaEl9g9ogy4e)>^~b2y1^V@XYeAoi@$e@7h!8d!grXk8=jT8?KS8pxO|?py2}26waG zwE8RP=JY`$K0qOFG1{RS(wNkn+u2qACmG`N&-%U1dGscKQI2-NN`?5cJAEmSWtt(> zWRd<4&eCsTpF}I_$8X0L76dgx-iJ#=Tz>fO-Mhm^z0dn2A#z(`A*pEEVuzZ6kKX4` zYL%1akdbO*8x_D}P5L0hiW~+E7$dH%Tnk4~#z~j6xkVIPNa&#W03| zq<`lnycO~8w;*G9AvmUg)`wLeavmIyIPsdz1<%bZRrCtYO#CG@CD9(g*U?hDNZA1cU>cSMTTI@Wj7rVC{7Ftpq% z+C4bVEapViQO*k@%+HqyS4Rdr@X9H9(3e+$EskYQLjYi)fn|Rwb$!X6LJ&e+ER}B! zUzgPuf;9z4Y%{UWQBhIW-QM8%31OoR)r?M<2x$T^Wjqx5jKGfM8I3Sf{$;&~&jt@@ zYla#!^pP;D*zR%Ky*JYIfCUV0KN!7Vjgice1r;aH91JSn2LluELL*BMWxCih^`_=xD3uGz$#KW~A01M~u>FxxJ$2_PWP(Z;q1c5&Ay0cLdt7$=HQ z(GVwfY-haqxTU+9VOD*!a)KcRDjAMr)hbU25!JpjOqS}?n>@({ub{z4bYusMcg99VHR^KF-{A?)Zh~_ zi956wF*3~{4jO!>Nhr~NR7Wx!IO0^TV?gjZQe+2%wpb35+Ok4vQQlQ3y_E zC=FOz+KX=^?m;64oNGU%w`Aof;Aq`cFtOhQK)@(E{t5fOF9#KP2AWG=o@m%){Z3a| zY%HQRNVapgGVgTUgq$&e8&5NdzI9u;*5sHizT6<}lJaVaO*rh~9yacWL` z{P5)nKyEAdH5yPIL++zi#&dc!*bGs?{K-vfX@gb*a`)xn3mi6o%-Ob_0H9Sx!ih5A z&wZZyR;UUzrt*msP2=bjdoVS&^o^NUIujRH3Ft4ls8-ADIsa2X4L{ zFe}h(plPA1j1B?r1d1fug=b(ohyg&a$VfXrA%R=Iju<=jhc*?_1g~wyyUcZ<92qHn z1bni_UZ8xi9?*O>nutMk5AslYc>raB6FLhL?V`^xKuBDG;#E+DN26SrjfX-pT@B); zkh+k+kav`K&xzL>^fa968?G$>$|5?cjXC`=S!&`lK2C;ID_}xfe*oVe3MM@|tOX^b zQjY0pWumw%dL;6FGANHRgnf}S$yn+0&oynT;+MISS~sXT2lE==y2eX4TJ|w#uNL{s zXeSH@+H5|aQcyiWuRW!w!zN57%c(^qTf5l6B>ty^fv*eMQz6l;11QnkWGqyoZ-br; zr5k6`KPclgN^BrSiNJ0>Z6QMdyT1fKf_%`~R$PNn5nW3%sKk*Ntb`DMur|?S4<`kZ zd?msD@jbU^EE_bh$8JT6x2)IiDO}Xdq9=(I*tK9iRa|L<_gRs;Ks^XO8IDl-{lp)T zMP0Ky)BT%x@TMzB2w`>|S&v-tn$^0RxM9#Os}V|qk5L<);Cf|Q#WR;q2Y}OV?#r(c z2cQ@@!vaW%Qgz;VQFnA~R(!wfQpstlDr|;Rxs`9)ZjAmJ?9zFwUHM=li^4JwTHRk% zdodHU^FB! zlyyr{u@WnPB`T|P%3&1|kd;r%Dy6&&(ZXw*#RKMJWOqi5e1VwvN%``r%*s36*xsEY zxi+`_=5!e=qI)4sK-6vLymB-zK0KZJdePX(#6Gc(=#-bLaj%>Rd_c8F&Q^ozb(pf%cbP(1Fx@z14~6l{`KtBK3`j z>+=u6{6$6|y*Wt}VHl{?DMHmKQZU7@R6A*wL89~CeE0Cg&HSzJX?d!74Gli{j|9#a zGM3d;FC783!O88a$e%!*>j9aKl<5EEEzhv-p-3(0b6ZEY7@9`;;C z*;cQILZsZ|x@GLe!PJBSku$*cSuFJh?~~i(X_@XVJnv* zGXV|YkqD`ick+IwTrNSt?hAPgANvFfj}!cV<2CiiT`8=*7_Z*3lz|=FRAf74tq-DWO@Th|^rn4)ares6KAfeb|Utt7)fBf7+a) z%nathMI4@2yVLh)HlcLE(y>>_oh&BB(CrnJ=(RMRYQO>D)MoeoT!`vJ_S#ZctX z8{OY~%S;!-4ci}M!w2q&->CsKT1z;$egC{6N}x%LZMyeL4#lDc$odI;X|7ULIs_Et zyIf7!#0&7^al|tMvme4DK1(vooxbGZ$_#^$^;@R~8Z!)7nrWM;!Dv^wEmmh?9OAA(3ng(7-r43wr z0C3Qgr9c+^%00tt*`aq)kbyPrD2s(ubOGWQ0JIaFoObV69&x#NrXs55QP>wkST3r) zZ^{7qhWhj_N=(&c?!mu2+pqz1vj6~cFnWuN43!DAn)YDqqojDnB>Twe0a zsH&tGgV}-j$?N+-^Y~mLy{4N#`WU-y+f!V682zKC2wqCYj}8D_u`Y3&jEac^KTxC= zQ~xw!zo7UJIfa$wNREBJF~L${@|khg((!D9L+nFs6>Wo!#ZNHFx0udHIaZUp(tED^;$liXydZ_T*E8YgW&6_u}Vu6+H!&HscEPmBc zj1|OtxU!=OwX)E!I-NuiQpw{rIZ6uK2o1aa-{A|_&LcC~Iu6sQv!E!)GN}f*8A(hS zxIC3P>qoB9wD1Xr?K+{GHslTh9W+~7uLZGu^ucJoO_g1q3(O>X$8CAPyrZ7D!EKbZ zoqyvyHGz~sHoDF$;@@py2cmcqf6mZ<6|WyHEWg4wLO}pMA#GqZnl~fz`ET|UmZAY0 z3}oQMF9T)p-kxQUr4LmUuBwK|yht(~CeF$<>G9~0T%M_4N7p)BmzGRQ+eR;H6H;fI zo1em^XhK)BuIz}XTS{fUV#uzXZoS4d>(i{La*eP81hJ#tiw<^cvZ_X^__+=NZ}MIz zt6lMof=mWslI~-n!lfYG(^MKk@&_94aK>fM!1F}|XDEmyQ;^37F~r1kp@IasK^%R_ z{0?_A4mws!817RTN-7Owz+y>>!C7j{1|n%8RI>uN`3!AC+tGayr~-aiNcn-2*uIem zYVfX2LB*qbRz5BOQEV1PeGxQCzmhvpwh5|25GBE)LQ)Sq{@rMFD4(gMl$Z!goXk!C8T~o+8*W40;dB9J1KJIxH!n1a8bOv7iXu1r)*VhJr6JUm z&aOTqE?*Rw%p1sHR2(%XCFJ%v_VCHMS69T}q~UOx**b3EaJp-<)0cv`T3I!F=z%ba zs}?##-`tYVD^&1Ww#*U?)_`gj;tr9?P2YF>D4VD>%g&!y)05sO1g%a6@`I}AbTPls zem@*f5pn@0f1qVVPJz25ZZ4HJfSus&&MiU}K+o0GgJ&$i%a6SZtW0DO-9RkSO7QP> zMU)G1tnLA9Y?>N~kPdIISe|!vcAtY8AA@O2D75o1XpH1~sdKyV-Ur5wpa8Y+Fgl=p z+8=f&TC|8c^$0rAxzwMuN0Ja3v)zGh;`T&b>BUq(FxBE5n0<`(W95_IJ@uLuTe4Is z1j6T$R#LCa)Q`7J?;ve&ncjk+LSB75dgu`9#=qQM$0wjfqmWCYkh~M!uvjXX8PDhn z6+hIbyiAneQLL(Yi0*BfuXz`HnjnnAoVj!7PX2w0k-W#=gsi@ubA*)o8 zHH~BSBjIz?`tY{WK5UF87pQIS1*1oo`!h1SU>4KR;D$-oHN?{LOyH{o|Kv5pi^l_T ze);ZcR(3HB-yqYMZ!hT>^FewkC;${3D6ZD<4(#%eN7X=Zi98az0NR$ufcl8==^QsL zh%m_2N4o=PwOI_q1|=(&w@hxPXa4X(Mt^-U_BXmLRmEVd6XD?&v4PEvi@S#5g~Ho& zhEt4UO^Z1w!ZN=KM=%cbDG9bJseM=5A(?eS(gdMiB|$HP3INNTN0~(Rj9BD6p+vj_ zZT6kW(wG+Yiw_4qjGpK6ynKNg6gK^d-3zsC)?`yCkLY~KT zo1X7}0WUKZVI_mtL7Pz0*xR3J9{KqUVoR|F;VR^HKXdlwC^%jH0k`>!{~~d#lc@n7 zXac*Vw%%tAHsPNYM7F81#(-p}F!oI&plV3|p(mkPOlC4%w7XJLx2n~vub@8VxVAcV zobWnoakrp+r{Tp;f(b6Pj*K(Hs(N>pE2&)lIg}sHKglBJ2vVH$bze$KacP=|t zUX(xZCZtprH4$RSDT_;uPaa&Rbm=GL{AL&I26C34x+VB<=C-rn1L>uH%$(D z`^Y^}mN4}BE`s*S3nTvZRh?J5X#J?}O;ODKudo00RXL#W@p>amp zVxPzcIIBqRLk9{{%;y^@{|y>7-(FE^`Vf02+29tCG8ch6 zwXYm&VWu9_O_BTyRs@%<0em`B>SFD&kp2qv_Xr>!RSjA zlNpM1`M|zr+y8mA<-mrr`peDDEp$7L97AMCl|j86YJT>)Y4Rh}9Gg~ZGV+(?v0#U< zKp`Y!dKCE`=2!HI?_E6973s5SQwe(%d&=!l7%)TM!`uP!Vt`f<9EZy^`sZRB)6ThN zjhMr2LS0s(b-u7_c|^-%@R(fwh$-X`SyJI2X8ymw`G27A|4;ssPhl|Ohbhm2ODYt% z1Uw?udnY=by4e9EDgT}xJZJc$pUPb`R;*q<8h-Md<;MDwH0xKvUaA%CRR%+9cj2F? zc6gcO`Yd{uDM@rvvXAk$EUytGL`s?fU}m;I9rowsLDGN{4p0Kwh5mq4It}~*PSd7Z ze%BMdhnY^3#Q(55QcB1TjrV2v!Ev3bIPj4%o4{RW=h!A5OgrZEDA)YJw4gxkEFx)b zkx=60%l8Sj!-dyCDOpB=6C^}NhlJ_YFU@ne?8S@K^r>1?!}3`5@HnvgVG;ryn$TTZ zK)3@nIIVTDOfPWzct^ zc!!pjbSN%hNdtQ-5v2SnwV{W15WjHt#%~63XyYUC0(8mV z`%RExZFwXz52jUtBU=(ln0c5_=imJU1B)mCgAfskV<#VwwD>*d&5-k27%4$4qF))I z(S&DAY#pQ31ZIe|QZ8xnl{ONNxeX%&0zbz8FpK>_H2Vu~d%VQclBu9ugK#Pp;s+wg zYf5}5S|G1u$Fc{WdPXUS+s~A@fGLZanCsEc+J6xECcsxd=9Hc)tGad#_r04v z4hLn_2TzGbo*!O^$}Esb2ZP!JaOTIXFu&LxkG1J4o+>%q0H126O|An53<$_(D=FgM z(i0p~NPNt~ETP`ol8Uv+WMHYhmC!IUsStB)(YA?QI(N=Hb|7v_TVx!9BUT$<46U77 znD#|Bv?jp_`SI1}7AKLPcJ4gd_4B`LYC8a)<_5vHNGTVzNMp|$r`CrdzxXdyTrr@H zoAm45UhhZU^@s6h+6IPrMnJqKdFV&RL}Jd$Wcqn7k+p4u;?g|9F_K*Xh{EWg5Gr;6 z>r=k}EOvqK_;KU@#3PNk0lr*9ZE=Va4$kB!`al%KWYDG>Iv^+wrxmIJ6p0o27SkDp zqfUN8$&+IL9b7O2EX7a^Z#xMRX!E1IVY|cihf8_=ZXiphp(jvEo>hnR_~cDA(ZGHz zUtTyfcIK8r@{udN6_$rNJeyVy_y+s_XY>Y6xuoTl810XYj7+Fd)MxFLu$B9W&iOim z06C$!e0rL$KUGlSK8M)Etdk3z3SU`Phn|>>B!W)K3I<&f;qpp8#tL^LytY0VkqH^E zxj+M@@3m7ODU^4EEv4!tuZb-s7_kzp8jaWA$AxX+E~`@jEg3__g5s$h{Xh-*^T4#I z6e3ANk^fQJxySW4;eQ#7H3Nyb9TStV3bB#rv1mJ&6G+Ke?NAvu*w z$5mR2vg@Z*Y&zM z^WhvQ-j2iriO~Kd7hry9MXQ3a<@bf_W;pY2ZPUs~z##~UK|6n>=@z4hG2}hVE(5Z& z_M&twm5RC*DLy7osW=*s$;LpWA57!;1yEhGxr&&zO#f52FL|mNmB}*9p<)%`r16jg zdSeJ%$p5ehc$;kx{c8pBgKhT-m4CsN4T#P~Qx`d}ZCBagDJ>1xc4C->n4~qlEQR&t zaOWJ<2LqncQKdNIy*5ycTh8JK{bo24Z?zK-ngx*fyt>Wgcrg zM6ltSk577LT>W;_`9NEmONIzKB?T%kYWG6vP!J1!_E$px=O5lUgw{+m?dY)|@cg#C ze8a!aW)=4jw(NM4{^~hP`uWRA zD(9vxzS_sz+wbth&C>RXF0(V=tk! zvI}D=ye3ozCUaj&oHFnbhFiE=O&ikRgiKE+P>`n`T)&D&3^GZcn5$qG(5={x(~zhYCWFr}O%KxOvGuy}7F~|l zr}9BUE4DAN$ zjk)Sv>?7E75+lOMnlcp!W=4UwBF$Y}LFZv8|H=TwpBZ-wTUVtWPSU2-d&bBa5kq9b zuze%=OE{T$26AZ4M6iH>W+OruknV0gxl#&IL;dYCz<`*cq)B65b`+s#5=UBTO@Kv8 zp|zziRB*x7m!zLVRUy(@m{b`yhXofFml0P!VIkf0#Nk(B z9m5m+KyH_j!`|pD?T-J?ttan%-?r7{8&Ma5AccIB&6m6ZO(vAVfVij>u1eHHE(C!7 zL8L@f-B}h#E^SIeZntis}K2xj2wzHF{Z|8;|wbY#UA0W=_!I1uoi zB&3Q@l31dHn~EOxtW8yqQ9mypIHsig9IE$*mz)QLR+uYF{?n{3LK!A59n zr69| zq#-tXkRh}l*-)O@{Wu%o$3)~11ssEz%hH^?l=!UR>eX2e+>N+X?UL=}$3hU7D!Z6=m_02YM1ISr_h0S+&yRZhD;tp%zJ#B)mG3$BS^R)m`vSJ@O5 z5wyRxP0qZKn))1`c*iHxCrs!`QYEK=(;h(b~tjeJ@^L{L0I zbX!G5MOeyaGqvc$VCNBY;I}{-lKK<4RpdpKD|a(95RUls7Z_roZM}Zy&PND4K+!V9 z!9)C7PTe<3P31!MFp|YQ-^aPlS)* zz5An^mWPakD%B%8v@=^@KbM{b275xOAbwx9U75NDLm9C8{-VVlNTBs1kC!+Q5J^NI z4XZk-dyj_Ge0Xt@M*G{A)XZm|PlHs}b&KqW+drMPYtkwxD3IL&(za6AYpJ@us~ZEy zKe2f44&*#Shk&DHD2xNo(}m7} ztd^k*ZlYKXiCu@>0z3@=E>o%FRxs%qouZrh;g)TK?kn-je4v0x%4Gxro?F>kFAOd3 znX&WIAIb!7J%Y++9Xl^Tjn7={3T1X44WE9?LD@Y6~g$U3%DL^DF&9~23U<*0IzQ2I^G`~VM>*Kx%s zcm`y@1PI_e5F}bQI<5k^n8Xqn8U=T9lJ9lYvU3$b9`F##u`3-^S7xQ9uKp2^ zq?6(m!2y!`6p>qMJ1-)!ELx+}A@*!!hf-p1Y1w(Mz-_`Wd`DL~!3d}6hj0ehTQvS4 zh6Q3&$ae~+M|MuxI0F5k4Dkv_O2GG12%iitAaP#V7?9_Od2G#%U?8 z#C01|;^?+S;@@5r9H0Q{R&ZWrxhxW?!(p4~!cO+>j7Z*14m6ix9{EBRobj(3Dl8iF zf6eLFa$yZ9tf6LTv#4Y!IUDq%ST zy$y<1aU7cqJ@qJXHViUaY7sU1kJntN+rnR%X|wcUe_3J8tvJ{xe7qL&HLOYz@O zh#VmAi-IvYdKmrvKXt7Bl&6+%A1(scFqFsAQbYJR8Okde@$OIVhBEnoBj5d>-*iCl zhRwuw6N>g?<-eSPil`{E7&2yQ6X(W>7H(y3`H_z~7tDr5Sf z;_<`HIz!r6vGP)WrZvD`#DYX>gjbg-e5EM_Y*{d=hB#$L`HLz{+y>B@D`Zs$uuSBX z3aZ;{Jj2|Giq0xB47O906&Ab1I+?}|zbil8Qx5?JTQ%EU%k+3^>5R*=GPsDeI(JL} z8QGfbQ`%sCj~Rb1mu!bu2$2ahs|4cdMue1IQ444AUemACcF)x(6_><- zd*)Elh!c$zYmlKbGpe9L^qm+JLg2-N!`kQklag*=rnhR<6Rj##_hSSP!tD`a6L5r( z!B`Rk>!OFqwwP1k1DOt?)~ik6QIkCbzOGi$ zO(;uQXe6dDxI&5djYvUKphMZJagwW7>XnXUk*G9BLM2x(EHDVSbAMUf+=0F_|^!X>&A2egN5TSfLD3z+ES$>&lypb|e2|Vn@US;=TQTpM?2`evFU1FR;{x3hxmDEum zHf&bA&cyADCZ^tLY%dF$qb#a7DhSc|Kr4ybVbP4H-Gn-M&Vl3NG4APVPNuqoN)s(~ zJc3B17>2M?VrT@RXGKNE1nQ4shD<;RHOm8bkQ!z69&>{CKz3p+B94;in~5zGKoYP3 zQZ6&=bdtZ6IEuwXhHgyC{s7=yzz=u6tCcI^9+`D3~?B1vI-)A9NBt{@5$ z$S@#{TzjT`9{|Wf%VLHBd=<5X7sv}oebF5NmSom;Yu>KoK+58n3^MW*Jfz@=tVs+t zC2r2tcg%(_q|Oop>YQS5=pOCNDTNLE*n zrY>5P8F*+vJSdMi?H!Tpi`E*eq?1G(k=8hC-gygP+W8DPK=GOv)&Tt(%X z9i_Yi?I;;cWb&ACiZX$+jebvmPft&&_?hAMvQ2A(@n)!jWtD4QRTML^4DR-5$hU=n z;XV!&2T)#LmRKTo)o~ah&GBTJJ$S=iw4Q90a*HTM|U|Cyd%x>g*) z`6!zr1V)Mfhe$V&Oix9z%|`<@)mFdEG&3_3Nf+WG0qV46WP}?U2sg?uRDm~{#`xaH z=U2mOOc_MI0s)?;bv^@*L$<;LV5ehW0+am*x?&l5W!RDWWcQvuN||%aJO>Rx6D@!- zP7j+2%JxLYS)Ck@LDWbgIAX+&79$Vzq};wgB@$D&HH?#E4C4lOl35T-{I2D^B{sLk zyOw=voZB||SIcn;<-JGf%(T|-Izs8p(8YH(&)v8=AfvF`E-Z#F|JTDU2Jr)eROTM+ z{L$89m|e7~lNKP1FD zvAG43y*$9w;(@rfdgu)qGL!7|v)ofQc_++PQh0fNqVPn;QC)XyxNl3@lYXkI>N5EF zBz<$?G_q%8YU)ae#icZ!4h9B>6D?Pb^fy2vTz?aQ@&Kvacn*aNJJVV4m5L?ASmuHn zi?%I-LOgWh#EB%IW_O`SJ~9xT6!-?WO#T6vzSlm`lTEgaH7f^0)X9HRKBO9n$I# z$(ld8G)t6&dRbZ)yDO!Ur&XtJ38lXo?Rz-m{{8i~ofMZhUB0QgZ>_{7k&TW{Bxz}CjTDfVft3p8w(jqCFRWc<-} zHBH)F^E>zNo3KqrI&l>5chOZF}q!$xkkH$tn-USSu7+9zC;^o=z@(@gfB6$+GV}v*HRL z3|1%#EVkZNRmeY`o!h_6ocW=Al}Anf`FnZ$mmXP4?O&A!wtwj~t^Lc8lOM>}jvx8! z6*_+8uUF{!k&ajB_z^|NEBqgRsbfYyqNd&HKk1H8cm*MJ2_f!Pklxs&eGm@d?)t== zzJueaf7_}K>1b#yz#{Jfqf=Z0_1-Ef5uC!xqO=Q?)1$UEdls8s0ZW%uSH~cPagPfO z2(SYa@SGll=#ECVZ|FzOs{s)~I5hM-N8Syd>NJO85|1@Xit~G3rB;3J!tRn;E&AnO ze&`jne8q|g2pu~x{5z`XI!bFhlA5Tgizl{GEN+0aPT%$xz0&AWqvldqKAe;}J%mJB z&M^MbX)ck#l6v1qlQ?OV-^r~Oix;0H^0MXDtlqmB?|#6=cn!--tEtFM*u!Dr@mk*? zo0ArugJ#i-cyjXj^R+Xgxut8tcWrleHMjL%-siI3Rn2aE{0(GT_mTs1>tJ*z2d&cy zx>s3vAsNBXFdD7yHD|)Zt7tU8dGjWlk%1U$gE3lK%l+gO19Hbqn6L!>(K)7aPJyQ~ zG`qb=%QN4|X!*Q(-$h16X~Vj9>D-xJ8S{uFCUkNUEu3YOh)XJFTqNNmT0YO1gl!qIDwCWlf0lRkXx|5N?yA1^ztPD)%SFc2xib$_6+i-jZ zN?>_|5Gera8QYOI&|Etb8kP2#;~xN}CbmQab={Z4{lQipho^|}^ZQhetDiG)g==rb zp-7^dh=%yy$PIr-Vt83u83~TF=SK4;auMLD^z9n~Ckjxjgf=$j0M9oxtbZA3DJTva z#2vY~Hq7>jQKJm~wrtrFUF+oH62NYZjrR81w9eCN?|;Eu^t#y}D4zC-iit61av~)C zTSt42@KXoa(FylX=vmUKdsAPZOR-yrFiI|iHFcu6ppTSWL=XKOol#0Y(Qn+eIukGMo?2AIu$Pt4850WIy1 zs~=BuD&2>SB8Hl)lAFPd^g%*C9&Hg&0qfSUSLb(;jA74@sa4RwHRay&J3>K*XF)!Q zGneV>?;*UYRS=Zb$Bz$WssL~j3;E2CN5;l31Z5bLd(PqKL>igz$6T_io4fl)(CW&> z_50xnlUS|;4LZ|Tx8X4Nl78~()YNIZ^$(Y+PPF+BEo>xB;$S^b3y5u#S+jPsm2eDT zX~FU7X0AnU;V4y9$a!?_bMx{l(UoSgR7j;qk2T6qNj52j094>s=G}R4jNRQ+)mSex zX87>gK;#@QvC$Ml+r3Y9%N4ClNyF22w48^03g?mBPC0n*(gHqyWJE+3r$3inC;aM|WAUXl=+F>eEs8fa&9n6)_*IKB5wmf9^ykiPwF#p#xC zOqCBpd?@3`fCvKu1MR7jnJhOpGTH~s?LBZ{%-+2p)z=hTLJU8?wEY5AybEA@px%zv z0Jwnsuk%1`XDcf=7J9b5mvqhv27rvbrs-Uh*0?fmpl9tp9pfcShC<1^xw#Sb7Wk>b zelk9N>&lf=w_To>l!P8THXsR^8cT<4uaP8(^XHEfq)F>%>gt?xA3iK_Ja2p4Z4MZJ zskwP!daSayRYY{Ok=#ZJ(FTkQ3pGHeGi*+{E9l@>UPI+=1Ky!Ae9yZ06(uDlYP(1{B>>m zdP{smm}?JPlXp}{hl1q*sLEwvCxxWfmS>LJ9+|sV6m6?9HZeIwU=13u8M!Z7+@C~Y z5cjnYmn1H(rtOwqY2EwLt1eX_hB2xjvhTv8l1Qho#E@*u&|r%S!)?6sbm5O zib)%ftEwx0r4gjb1c*Pp2)|Hihf05xAt5kYIh_Jwp^J-4>ekn%0mCsgZ|wUrnRAA|o0ansa z62TflGhw05xN$}>?v+oHqq0wz^?>IdHVD)p8u+}#-bcJ>3RZWBy2(6uC9#g=4lQlWJAzn zdoX&;7z4^h_g5)p(K&}gY4lej5uLXE-8lj=(#}wtU2;u$N6@)JYPT~p7m>{ULbtt2 znOjj&!3WF5*+sQb`BDm;%wEI=`9~BA$1gOyh5R;iI8y+V)wJK0{r>yctO?rNNlBTe zZ1U|*>mkPWd&fjXXfo6PHM8b@{r1te)V|Pwh+CC)={I>4yCvp-t_H2w8# zZ0ux63Y&+yx!Ue=v9b5jDth-+QL%Z*4|rSk?boj#9OPk_0`DC4v11ckEtW1_yWH3~ zxBtzx@hznjwFg|nZnkLRcIa?#Hh0IvkM#f1b^Es1wv>c~Y?Qfglzlc$sd@f9Ed57b zpepI!+W5WglxH+R<)(u;l-Cyk28Qo*E zJ@SK%Tb?k4HW@+L=q$^S!-Jd^o?mdSF();Ga1%Qg)!@yA1JL+K0+)5P7g8Ta>)uk1 zF~49!OFIt`9Q~+2N-q02NB)=Uf~t3qj;7vBwHn{#U^m6Xz~Fnj5)p7DRUoDGXIme| zrB``=1LCFy*ZvXuYdBo9Ybp8$n7wzuvO=LXmRR2wL7~2^vjGw<`iU3(orRm9Cq}W*8-8PF-M*jG3YKeti<(vN9cm03MoTsM08L9`AylHD|uZ6tQ1Ahq3 cZtJgD*E}#NbVesjc?$;m3%`n;wPxo(0Ht(R!vFvP literal 0 HcmV?d00001 diff --git a/bip-ir/mobile-sf-ir-without-payment.png b/bip-ir/mobile-sf-ir-without-payment.png new file mode 100755 index 0000000000000000000000000000000000000000..ab18d0f5c3f37072c7a51fe2596e5b24904856dd GIT binary patch literal 92902 zcmeEvc{rBs_Vz0YO33J zQ7Ch|DHN*V`E&7`cOA*x_!ph4s)0L&vS2y+4;AI&Wo8ORYNOrmy&iitcgR?}I0=|r zxmZ{WcsaS^Y6?YG!OPX$(!tt;&BA)WowMBfz6ZtY+3c+3*6WLF3Te7-v$nNU^>MS- z_0igG>EmE2ZM9xOo?g~V1~+iB_AqDja&mNbm+_KY|Kq+g_?i4#a6Q|POFSIp)+>@P zWZSE$&9=?O&6-VIK!V>=SXh`%Qd&S*TuM|#d=s09kg&L*khGw%5WkSHjIfZ5h!ESa zf7Z*><0n}+D;t?z+m(NP9sZZxdRq?E(bm2)~_dD^w&SX-pk4LuP<_T z|7AN^QP9iWRZv(!Nbo;>$jb7s&$u3RbNumWR+fU+j@C}r&K~agobZ4AoU5&ihl{(d z%YXUGzyADRzZh$xsrlD;|HtQba{7;7?e3v;2qySt(*O8L_ubyE)`GjN-CYj4Sz0R{ z!mDunr?>a8v-x{*{^?HSFaPz~t-b92%g4xHetztSEBss`S-h*vHaBZ?4;Q!HE-sGp zKfO%*A0}kmw(W;kvGHn}TiQ7jyYk5j{_BVSUh%*0XT9Cr!&)95DZwu!!Y?AcTUb;^ zR6<5boL@*vMo4JZO@3baFZa-Nv9h!A{tx#M6O$1Wo_&v5SN`igu!F43JO-%Zthi{-64n-$Hsbse<|5YoVwN_N{L)sEqOhcugs8cQn54Ow z#SbHDYR>-nzukJfi{(MGUw+-%>i_cAvp)WBx8CVyhgfIsIO`hn^#8YC@gHvUZ(pTq z=ME3`p5?jl-yhLT*ZROe|Mnk$aJ2gom0Zo;+^xx;lUx6fP4`zA`zuP3&-~cCGUk>f zp2=I1En#gXEBH^p{rj>0`sA;V+5NvR;LrQd`uKnU4o_Qa=l^L#{k+wWtN!~<++A!u zJk8y#75Bp@{&&0m=Y9YAga7&kvVtT7INJU5QvCewKd;a~eD>d0RF(ub8F&Mp%>2hH z2+Ioo+wcDV=AYN^C9CRq@W=I%B0~5F=@0+>`snOG|LaE${^yU*{`0?n^zTpZaklf2 z7y0#V|MKfupCZxsXJF6;P_UMl5EmB}mlgciU;pbTwC%jC9rtdx!wz;Qeo0>K*QfsV zPyg|w27iB4TnJD3`*wf6WVSVa`|}@j{nkXYFZg4w+1B{&&wtGITNBN`;E%axTjRGs|1sBZO*H$0 zKjxZkjo<$K$6UWP(d-NUm}|B*e*5zubN$vtvoH8#uG!Z3?azPA^;;9ozTl6!W?SR8 zKmRe;Z%s7&f)MV!m(W?wAs01KBK9cWF{6K3o(^U=W2eHiLinP$&n5D3o3^3PmP{LSb@=G<~W} zp%M{S+pf6V>-Fb12aV5M{a+A}J7Q@Z9bEZaJt z{n%3c*ON;&OSZ>Mw=0MR20hvS>zBv8Hml|9S+M=M0{>Oum&`!@^ZH}uZ$v~zLr$OO z;NS?ldspm5ef@p+kBgI&lVuMNpIIa6Y-VF~A~luo?c2AqUi}nz_wU7%ZD-CbEGR4- z7#ZQ==U)_5vSoU5Y+!KkiJ6dg!WODq>FJrdxup#ajPvHr!~d`jo}>!B#yg<;{m`$k z^x|2yaPGBh*X|v7H&@cRwPW~8%af;1m$9<$^zo6wlwx%^&2r*OcWM@CN6`M{U+HYlLCdB;QK3?*9Sa>*(sOWM$ij@_oPvN@d%a=1M zl~h(PU}9o2Ha5PKmsj@s^=dp1J(Iwh;$j7*(<`}5i+p2ZV++F{h$u36{Nu^y9Xo#f zz_%{7ukFPFBvNJ!Y`7=G)j2#Sqeg-h}11zBIJZYD{t4wd!(MiZx{vTGMZY;5dyC8bpH z!KT~$-VMAfyPlGg$V-pkJ}E0ptnYC>aNz3p5Qfo-iFaSVgy!W*uGp|U!E2z?UNMlf z`yb0}lD5D0%7L+O*3NAO6>lF0OM7%Lh2{1d8b)5ed`2%VY0DAn-Ko2d?@CgS;Mutj zkF+gfy;A?cK*^IQU2zlDbAyhkgs(gBu5=OB!E1bwkE}!MefQRT2ZE}qcHjk{e;Rt# z(xRK^ywASjhT_{t$NBc{|J%1~>gPA?zM)N}qEa>@pjA;(aar#01=0OA{rzvZIk(;`sW``@rlnQd z+`LL(UmreY_azrf9jxAliS{-ZS?Ci`aU>vhv z>D2QC#W_ch9>tQ>R9D}h5mnOh8veWr?`J*o^^I|%&-u-sUze^}aXdPjX?l7(O3?Jm z;bP@*{KRy~=T53JD33l9B2B_)(=SY;CGho&fEF zl}~DFw2lt3CZ(h-U%9e0)3R)Dp7UC)AqO}2+>IMI_BN)e6#5L=w&e0(xpE~kVFB(d zUH!f?TH5`?LTsPQ3ISK#Kh~rsR-X#s=HQrvx!jw2>FTf(@7_CX;@xwT5$^xAzJ9rehQ`5*s|H5w zats+57*3u%+3_MtL)K?-{^re_Ti?8~YcG2qet~-l8qJPVe&C{W;|2ulSCAtHV=`5B6+pEAVcw zrIC}9+qc$m=1Iu%)(4(T@Bq>l)9gw*LaRd=1x+r)S#)mg6_%BgOZvdWd8}QNb z1(!E_h7AsS@Ex3rX0nEZQO}vfhxa(XfT^^t&4l{;k{W z;}eVQ8gH&xu~9Ed-akXp*qCKv_=_c;?em)l(PiPRx>vW-a%*1Pj_bI#^c}gycY*k0 zbM}6^MT?Yl7^T~%--~Z@X)7SRh=EJJ={f?bJeVV3s?a=pH zg>3haT8r1omKPo#arN*(yrfOnJAMED{mX(g>}vXq$MJsWA|tn^?n=6$m%h5Bq@*ED zepAGS=44>%Fg&?vy!8mOp7kB7PnV5 zbBpcjvhpAA;aSWoUxkf9;>6dlUtcvhn_E~My?V{21ds1DOz#7M!C0WdKWENu)y-=Ed$({1u@XfjEzGj?7Cfj@-Bnn#UiUi zKerdh^XVqLc0XsYs;cUKesxZwN_etu-8Gj@iYhu$UhlVSTL}4<)%iEhT(8A6x z^{#!Rx-**f2fL8fB)?KiY-)8c#sX)z~?B19A8`S zCwhEsHFy)?@9+QYhE8JCmzKPZ2z%NdGI2CLD^z#x)Ze;o+xbOnBzXPC2X(LkR&2?< zb4Ob_jD@c$*|>ACr~Xu2TpTrTyx(waF-uLXgLesrMO;uI9=89a}T!1T`;q*RvR5%P5|mSFjKf_wGqqV;7xDOiZNaP11}JcxO@R3n662>hD4j$aYy(1<8xk$~dEx{QqrO z2YY!B95}#mmce)7nj0w?Yie`o18@Y)X2l>sfqL0@O*)tZ{J>ZY%3Uhqw##? zOG}EBloW5^i#!)o?}ydwAu0%PE4HMX6y|gKOP?$;(;gq`%eXSwlIIeg&_!9mB(Qta zrcI1nV&x9!(sZr8*7T{-umGl4+tPN#!K^+R?_zMz^(y|vz{;8-X7^%y`aYS%!?$SO z^J`$iv9_s{Q`k6JcJbq$(ik(%BkpdFTE7^Ipr z7Y}#GeA|0OiYy-Y800cugnRk~vZxGa^FHH)_Vv98`x;x^60p%X1TrjLnjq^pzMJ~n zV$OvKy?ZF{C&#`sob@b67+kSsm4bf(&AYYzEiT1y?fv^xSY*AlsUsg>PfFs8lR3DH zlBAoW#c(#DrzB{ez3wnE8IyqV*@XG;@eB2!xr-WZ%VJF`W9fX<)la=H=n>bSIIZ7- zD4|bze{QFIgjoTX!qnh7YF;Fe$mBq2sfHwKb}|T$Qd|;cTPkvo~+{<)1tiO}}W-9`y^G zQcaeKii)~x9rYjiy6-9Q!+}GG^uD$gZan;H?ZBsu;thejiv9iQO4mr3Kcb=4KCy&V zpu{U!%%#nkDk?r;+Tdu!9NKyFHm(l+uqWE;w4@_Eoj$?w)g49r;b8Z3#r*IBOA8B& zC?vTJfo@-0rRmB|k%IDN?hTz;CCbUxDVV-Db1N0&#*JzEIx*kdmk$EC@_zX6;Z%5d zH~`V6!`*A$JDDb1>_nWY0BLV$`((bx$rGkhr|%ewL!FMYJYzDTn!ie>2;bD*rr z;T9J$`vz6&Z($qsZ?l-2o6Gu7G9#?emG{BfkG1jl(r?`Yu} zCcqO&ir0~Sk?QrSBQ=11f&mj<2fKCXN{zBCp3);FEAQRQj7-3A*4U==Nl4XY>2twL zSUWp9*r>c0JbLtqch~j#+kzKc!(_Om18XokKK=sPyl86JDCBsC;MlkK?|@A1<>x=6 zT5l4&Vb4tj4-ytr_0nH|(tO_c=7Gu)YFcJ#H%{!|^W7iUBPQ_3$;GAVXQ&IATvZI3 zE9}xHyH3vMSaftW4QDh#(LjM#jW_rB4%Vq4mLw1mpQabe8ZfDIG-5$gQc{GZi;2(3 zSN_^HE^6t9IrA4Rc!zIfIAd%Dc(rh~*hz#VR3*npMCRtXv?rr#prN60h3DTjOlM*4 z%rV}!1gRYPgLhy4;3tjemn58?!Kn8RkKEoa7k%IRJ2!&)ew1^ApPI0q^u`Ykg#!Ha zzwvCZ!^+XA3e@9Y1O(Qn>=c%igy$*(RwepRjUPL4Vi(p9mx#mL{3i!gIy*Z#nO$Ce zsJ=u{J&)Gq1jH^FlUqn=Y2ewjXGgx~r6eW2?duCae*C!D5L3p!ccr1t_uYAxtdo7% z(lXJ=(~Tl0$>QlL$L6f#B*8v$ziLwGlj;0M25E+qIb%!Z1%9CGGY#@xyD~E~u@>JN z^-YBjecnq~zGgQ<4lZk}46YohcpSWBU|_%;UvSs?jUn~7xnpBv1Zw6wwQ!e|AJ3Xg z*M=`<_3bY?Jk;Xw@>T_s_yOKKMxwX@65mdD7*$xSlr;B-?$zhtj-T^rFYZxWFr-G;|GO zt2A)m450on0krQ=nfwaml6VZFvNTV|&rQ zNcVwK7CE0N?9}OW#ho)cM^WfL&M2OKc5)d9=d=5h<~LB$^}V5;I2g0pQ$R~g%Xjo` zFucRD_uxUcedC6e zoAy4872R*L@2LOe=z%lJ9MzX3qj^8NA-ckD1EI22A8ZZ}f4-`hZiup7O~?&}(o{l7Oh~^8|%`HG}cKJ>VBo_hzogsfULc{2BGHRLdv44m?g4)%x-^Yc#O?O+Fn0jq&!w zhZA+SoT$Q(HjB zL&W{Vj@1&5Cv$R!76=<>TF@fOa&vK^EULV{?*Z8j;8$WUUCPEC5z@CIdiOMCu-e(# zU6yt~F>lE_S0ESrm$%faFN#y$^BPzWM3soRji{F8HDCdZ&MfC6wsPgl%Tfo9V$+|! za%DPY;QnNolZz|U{PEl?@_wg+gXbYRbbR&jU0HZfL+bL|w{HWSM!~-4vG)m4M5@NUnVk#T zAE3(g_4DI1DUhP@@$nH$!2>O=t%qK}dw?K(Y9;^0cZO7&D7xVr?m!g^t+@eF_uKLh zo(4(qVRU&vHVrAD?Hg}SeJT>CqoZp@tyx$o-SYZ%XHO4_vhUU2o8})L5jb^C``Y%9 zru-||ZrayXBbbKwyvaW}<5Bba;HQ^$Sk7n@?Zj)>_U1aSibqXqdV2Qj~=GZ7+UqTVncqyQl9_ZK7nQ$wW8^F}GVQSTOoO+X+F z@UJM7IvJG`9#<56SXW2DoSL}JD#(K~Zuen#w}DQj(s0(DsBYgp@cf97%#KBi(+Um` zUjn}pb9{9cZuqvNgCrz1b@fgZ2Pno!h57Eohf;(WLc^f4ypDMBxvg;G_|W^>_;|~* zFk$CbDd58KXz|J7yaVr)5nzHr`Dt9(WR4I?S-3{x4A50#)2FfVPZ{1IL=b`(G7AO5 zHK~LgUTy+>crrTh4y9R1b8~Fi+RZmJ0dbch**>%tdvQaD1Mdn#!y5iBwR!XYmN3H{ zdvj-Jtz!Qv!r>s{QDGxL!6pYd6Y=UdLr|4QT~xq4R# ztgxxR*vobwNcyfrQy8*i!Ql6O`5tdkIRdYJ-+8VGJcs+t^i*_F9`*w&gnO=Usf}_S zsm!o+Wd8s+W+Ejv6&0Um5}XbmX=?47=qoO(sSzlvy5T<5yJzk~=7;dOSD>wq)32~7 zIZ8`GUJ3zFIqr#r z-!Bs^o_qvI=GJ;3CdcK1py_mQ<>VI{IS@!so@~$AEt>)dSq(lg89Rw^Gq^qyar35o zm(4!5MRVtP_O&Uc)Kk?uEXs3i-sTO8fW@~#xHg!@15%Rk0 z+eaCNPb)wY&;fTwoBHdRwty;~x0s~^EOxI0oQ_o7y}}ud_8?9=5EBRh-}eB404k_ z!0Lx82bGwWzuZ3pIF2U<-!xxVaM9P-IU51~1T`HIrC${X6pvr}SQA&7Zj{&HK6-GY zQSPRini`hPhjuKUmfWHfRV<$V183$stx*YMx$68TA5Q58-slt~-&SqyrL6v=>{qW| z1w9##z$WZJ>4o6+)U(}B1Qhls335`9O3thnKLsml zuM-4 z(NlQ{2u1SHkt0V49lTNh_EPjmfcZxOxa`^rq~WfexEY~QQE=idfm+S+;>Uu6v#l#v zjt_s)0B>v(lbMJr;&bc$b12>~N;s*X$ za4KB@iYclQ>o3cC@6sH^CIu=IEss}FKy8u;Hre=|>k-_Jg@q*snWlZUSXo2E;F5`< z)A}1xg(V~;G!;-y^C8#qK|8b)wjlMxY9Ejd zo4=YG)J7SUCD++neg9BRQ1ZUp`WYq**UIePCtr!?#49W`avUrGbhHNHFjm-dF5bbq zt2|=IWhos$3BP@y2~U`0=%34K?FGxXJKb=PoPS#`-cWwLn}gtElnLF<*(tBHda-j+ zV#ffZlTvo2pvl6ANOioXMY5)TL+8ik@Y+cz?SNDCzg+a`dBFv06cNcBmIH7+0>-(( zgXRF9gz&1s#ASddyn44{WXwE57`R9c2x6Hy-`TTE8I`Ug_rZ0~G^Xi;X3tTuN{BU`X&^cXD&*UdelD|Kd6wj4j;nyCVuEw~*6ovE&`G*FLZz1nF!v z&2@hB42Zq)=sn=9Y=kh%`t|EarziSWNx8BWPYtg@N5x*#5B}}m(9r}y6Ob<#uvxJf z_^ht3Zuf0tX_a_iLfoPv*kn==1K?VJ?|`M&6-U{x0?0vN9{KbnuAc^(P8B2-xe+GhlJA$b} zmK7b+;8l=$_UnNt9LPG5B(yGpY|$k3^PS{sVWyDiRO9<1OoAr6m&**)vdH_6=16AD zQPtAo4w#-Kyqn(^DF8J10P4e=v|0e_HmC!U+Nda|rlu%+9-|S-3>MDNXu5fSeCDAq zh6M!$4Rx9-XP8TXZC~9np95<&uM;uew~x>8F0aC5|D65;13f%L!;^8qkkPR*plxLU zU@7nx#1UR+J#B4eL1RN$SZDcdgx_qSNYu?~S9ZcX-y^cM7I^FK^F*{J`2e1L%e43k z7y@^=I1(Az^l_$U+_YDyMchP(ao4V0^A|4c zLa=|27)Ih^Tj6067s0%Ep+wY8-cbTf0w)GfkPvovajk8K=nSw(yB$Nm z5Dl32g%>l+c<>_I-Me@1hVb-8v?Uk@CA&cTMDgi<2)$KVR>or#+6=hOxA#th&lhJ< zZ-9mTAnQ|*JRg29xo|;XALumQ?v^}3By*kGaG;_N6i`8rzppx`fGFTU@kP?6DyD=d z-Z#?e4VctNFJA0QPm;%m-IJ!rB`eDk`24vxNfki)cCGh>Q6>$3ePa}Ns0Ms!VSx2M z1;YQi6i<~R#H_;ep1S4=SV^K_`W*pqTqLa{dJIgBw37gi1QU#UR{yp!$r}x~43;lg zaJotUixZ%nnwnaL-sstu>(@zArX5?ty;uS1>`_U{5qMd)Lz6(xiLo-)fZawn zSQPxRi%9nqjQ@Txk-jriBbyAeXwcZ7yO^aMSmuWIRcdt7mMmFvhTsaT--*6pH0)9pf`n;EEN`wJu{MnaC)**($?12kYQ@-*FoSNu$K*xA@E-iJkqtRd>KkFb>Pla{fu>l2kfa&acsR8fjT?u z@Q5>(bnA{C3kfrdsD_9e40>z;i1~G{(?s4y(?U(eB3RJoaLn?V&o=!VCK9KbeMs@C ztUR}PdVC{r#~#-8pqxO~k)Agi0!zU`^)_YHV*3pY56`_KNryfSkuWS=B|?LSXindy zpr9bb%>m#}z|^DjZUJKft}4Ab0UVa?(q8m2$={G4Ai4{U1};9n5T};h)TvlNY$e38 zy+yv#?S3O`;k^19yQpxBdj~(QL^Z>)Y12X;9v(+WN0Lafg~}Qm&x7o|QMp-0hJl&+ zf2S7*@;nm4ls`i<$Vz)!Y1dF!f7IR{k4LoHd}Yp@Ib&~wS-Szl$+zJqq{;*9hW_1LS(nxN znHEZD7FWWhv4%@P>Z}(Ni-KhiAaifsx)nie8IlwsdeP+^qC(j;P6%xfS`dVk0v2Rd zi(IX!s~YLq9JRxW zB6SlMyWuM@gca=QVoo^)D5W)CtFt8~D5N;3>%2K=tN4v_yI?s|r-O$X^eKETXNfd@ z8GQxBDKj)<;mrW8aH`HPUywWl_CtP2TnP zs*@i1oBW*oMc6VN2tiR%jD!FHDMlERIrA0+BXOYIq_DEG>fJV0>v@q>fkt~pBo|7Z z9ffo4#8x9dG~YYG0qjp?JOH1%*S6DPXR0PDhY~@CM6w3b*nE2WYseX-C4qJLKK3y_ zZA35-IBB3{9_x*fPfbrND(FN-vy1%%icUj|05UT6;_@yU5H8r8cRc${U|3YBdhzVA z8Io!VmKcOmXK(K_z-%=D>~2u4ahp9$OG{7S1?wRR!M{|HjBJ~;l4LGu>)qD9?`Dlw zdRS=aBBZ_mb4SKd{$IZtDw8W`emwSBK68!WMXSZkKnNNa`Njg5qy?=f%q)M-v+{B_&~{)> z;E1b)%qVE=15jM8?|I(i!MIUxQ<-TM5`qq+62oACnobnc#q7ex%8APmEe!A4mS9VH z_jgdq%gd7%1PlYPpoC!A_&ObcnRJ>SJa{1E8jOmAU^zGsXx-GZA}FWO#_INvDGggo zh(APPLE{~8>C#`q3uJ79uu;5T0=$nrdv*)-1Xw=;<_mkQ_VH#<$Den#78hrMqydYC z@PIcpm7(1M`UX23GO{ekW)Wx_b|C5S8f0}DJ(xZz8J#c_H=)zlRtP6w0JQ%2>C@w% znleN|vS3NEr!2u=c=R@eAO;D8D1k(ZS37|MF~BN_N_5Xf0mF$N=-iH=6s(o<4zF*| zZ+HQ@SlISC8xXS+KoSzkhf2X>aI*3(C(}`u3dSAILq$YL#U=8ifv`2V*5#Au&#yps zuvgS0k}YVcP{2{J_{{tF?*}oVgjAG@oCjdcB_$Pu(Dxnf86EiJ&}Dw(dqPMUiC}pc z`F0)KdYs;apFjU$Sy}J{&%PHAJYArLt3n5Qm4qWRDC7_Lk+3^} ze`nDg9x|4Ylq_p%ibjV3z=i%Hselm}ZkQI!f2@rsxCxq)C7zxm#c!T*Z5&{5`7k}i zePslR|At}C25?7?ukVHc6)t6FzOnK)x+}qGy4?)91Ii4M3RG-b`qooSf>7=)!Fu;j zDJ9mOMJfQhfDn^lTI}Du|MTb1Sx(zPDUcQ)5itS&k#vg9@f}HwN;}&|6JfFJEc-Sh zp@LRu_kyIXFct6wAilxuA)X-=ozzN61cgJyes>c_;YEZyK=dVTM!+|eCMAuHD{&Q`WhWBh4DC*a3$KJX?t_!$n$#2I!Y?+J^G``LZUCcChs!wexAqL(v1 zHQ3vs*d4@CptGQnbvcfX#{uF<*c{f+qADbAwDvtMEfukNGN0hJWUV+fwwItNBN+j^ z39<)52_Rq-B!d;hz62vGgBst0w7i^JF7)@ig3VGz;7Hx~Kmwf(L|irgGvQ~>aPsld z2?`1h4T1gz;6GYeD2K(Z);TT;T>}yY3?CPLh;^ogE?+rOF|n>|bXgtPtP14BRY=$< z8Y!e(m|jx3`rd|3o6f|wncT+k-8V3MF%BdCeroL}!2bG+|2I#l`}f|kg4fW&$WHX9H7 z16)hrsk5zmIZsYh^xXC9oM>JJ>ZQGhb3*KR1pZn4{LOlHc0!WC-^x&ap+wgctTG6B zbjfk(d-Cx8z`#HXe0LnzL|e*zwBMW*ar5VEI~buU0Fl*ZDerHbD2;<;<~)XPWUr7xM2^6H z(`Z@XBqSW5^d@4Tnsvf(pkncheF)&%jPKJ|6cvWIJ^6kGIsoii5bmUthGIKb!f7?C z=@rAn!(=(J6gMkP^F4qRL>JBt@|igm7WM%-5M^IN)2Hl%$F&)0k*bR(zHW{@cMc?_ z?t&f4pR@J29N-Y_aP|n+df!;>3*_b4MZOhKXpX@FXNw zLYxTqP_eLB4~+1rvhp<2da)44GrWZAjvY{_5{ia&Q;y!l6YqjQOGaKU790`K)z!Ug z=oGf$*qyAbPTT^Cbrq7Lgi9OAKm_SQ{TWme2v{g1u?1y>0RRMm_kOVIUOqk|R^>~P zXO*B>#QyC>Ox|Radj`HqRlBhz>-GRP38X=VuFh)~&P7Qu^Mbnrp(p{(1d^TLaUd^L z0fMpY=$TL2v6~`38QRHMmM#R(rCfJSiS!aOv$KhG;I3`mQGg607Q~l92OvP2Cg6@s zpFKMTNKEz~AmL+#Sb|jhu?G=h@WE`bB;YeNAP>V<=K;+zRS3~IQSt#C?*a%!cx_j$ zOelu1d=3eW3Ga`8>Qm5s>6Q;w)GqYifq}YF`SBaxHAC73zZ8q-HM6%@2echSw>C2; z=P4op-E!{dS=JiZ*-67gHxPJ<>=jQ*w4NY&Ns$U8m!bF_`1TF5OGBqq7Qi>JMNt+Z z#1dQ&N{aX*B5InhP;+zh)Z4`sA#}-{EYhZW=8;IZxPX!0FbX>vPVIW=P%;*PU}u!- z!AK$`;KDcg`9ncYMd91t_4Q>eUOX~Ea}SAyC|BkE#-C?es(>#{bmaJIgAOM%^qaj8 zx1w3HTSFjw-Dmjh7%ceefu|taUvELSUAP{vNI+o z2JPFZbcsjklC%VRK_t{G_vFP3k(N0m9Vsd*LjQRcH5}janUO0*MGGNAoqbMoe(a

C+1(xEB*P2-!cp^J_U;T5xt4}7M3exB)v4&FT&wSa zO7$Ykq)YeoOfs0@PH<_c-hqMk8W==eyr_2xS{N)Q|APXTYzXp#aom4aeh@DX77Kw-=4D$D?z5p?che8*_4UJ}*4%2~MC4`yOm&_ktDTf*Y5@ zV`E+m7J|Tnj7XLL>^}6+kxY2dl}G5Y-Y8YuOO2x38g=zCWM^njuY-j{K}X{yzrGk+ zU^qI-G`OiH`itl?G#n(u5r9=lL$*+gwFk`jg*A^Dyg4*&d)<#rgake|^{c}N=;-M? z(bAFjPmuDGKQ)AiP6QFy+j^ca!4Ng)AKbWB#)A#I2uLyj7E2&HxaT`2f}$n`DzAs% zdn7@XBT*7v0_ipYTtW7s3OWTbn+I|u2M33mc!i9`&aRm4KueoM3JHk|s3?(-6rodY zP`pl(<21W;BXIDKmXo30z(@{|6LR4}u~$v+k*(2q*Gb;73MgqSv>&iR7ide=eK&Jx z6=o(ykteQ!Xp!2ydHJeUYM_7slz9LfuWk#zDc*&^ub9yU!hYL*xA#KK3yENq5N+7@ z1%r=RAa6scf+=>n979QvWK|JqpOpmx3yAVZaLtov&JYd&U3|hznq+*$)x8h56D}Hh zsRVqa_n`rK3P3CrQ*&zP6+G+xi0B}PAee~|jp&603U0ym;6X_1HbOyt3UpHOOTV}8 z-#;ZT3YzUbjaM~3tpcaI4{Wez)ft_FeMAHZnmof#%wfP7T?&Y&OC16d7A;!z6j=hf z9z9q;6iF!6Ksu3NPtVAkP%{lajYMC=biFUi*jXkZks5l$wr$-?#5UpUL!fab3`@jvQJF=)0g9eUnxh{8<CJeWC$Xtpbrs@)D4h|sR7a^ zM?PwjN!HY>JPMzC0b3g%HfGwWcLt@EsNIX}EZLeqg;#*8LAlM`>5xqOu-T#GF{Ekc z4i1-`#zsfIpaGe=^H5wvkEy+wBW{v4BX!(tFS zun6#q)u-O5vu6X(pFb~i()H!HnFn8x);W22X3{T2;@Odia{9-eE`fzXfZ<_he``Ik zW3+`1QGB8vB1ED|_skgCf_|W@ySwhk6)R?{u$Hkx=G09YrU7;p*UR_8;ddfCzshrA zMeu}za}%&CTKghq4=D&uJX96$A>dHg*4EBlDb_he$^Gy{*bwJ!Rr`Kjyyq$ zY{LAQOOo`m&;zWIcoVnO#Sl9gO|%LLug^2%Ds(>JmWasoOz+e>DGb-35CY0mIXWP? zLePW-YHchWPl?wO(o%tHR^1^)(iUn8q{$mW0jFB+Fd)#|datvZ%tpX-&}!axbYLAZ z6o6FuP;oZOBPnTVVIZdFp3ZcGd=Dbd7mPbMZOYY6*x`}Bb{;XY-PbNvetDHSXU&>R z(P7=Z)9Vmrh}sN{4kvS8g>?Nb15vssYZ?gM}~wCBqe#Gj1JAkB);7@ z&dTIpDKA84PzxBGYw3&*qL366?lMXz%HxRC39T0yuQ)Gvta-{}GhVlN$hqbgnq-8X z;BUK(-~-Lx2d3n=%kNjhIWT7D<6^i24ysDCt~lGXL*?$o2j#l?_6euCBjrL4|J zYNq>T7+Yc9d}z}-Zp~dPf-7CLkaCH(MPYh0k%l80O36uJbdS%k23#~fV~j}UfC47d zs)9j!{*yJ?&=?kteON=364CWeGl@E_Z@t|`0c1!Y!%i!g#>)X zcoQ4uZ=gT@@bJi-hIFH7WNaN2qIBg(uG5p=&!Poup>Ue^c)nu5nQs34Eg4N3dHH#l zud_H^^6Ja|0iz?*4*Y2>ukYe%tKNxWytg)q{XRJLG0fJpc4&s6j~$1w65#q}-Ya5g@^^7D~!< zgm3OZuLR)=`tD6s-erp*{z2j)GjJfmIoVv)&09Nc~x1H<}=S}qGq zOR&%8 z1JE@9qBk2tu~kj%^J1VVLi4x_dsAe{Uf@N6w>t=SWHsN6i+M8{Acx#K9#ZiwWXyPq z7{Ck78Qu!i!)8e0nl2@@=O0`E&W4~VXuqwNbWsyIHQE?xnW+hx1VL6tgnD?#(-|2V znD_96qyzec$Dl{7?!>ZO2Y3R0QKHvu(?Q>FKNPW$QifoUV{C`Cu28Pr_nVLadymNs zV?B*mh;cedJR|b!fCep5ra8XJKM(9*3AuO3t*@T27HFDf8XA?w6LmC zf!|O*ZRmXS5|ETu8x2hem35Fcqp-a;pf!1PU@?SsVbr`J>du*U2|>qs3VVc_7c4|n zV8J$MId4&(Aq!z9p$c>{;}!t^E0_?;!y3?PqZZjvG8%`PfiF-5;}mo!Mr*U&xh`e6>4$1H;3gsEV6(^hYd;tlG56g-_Y^}A2p+0J zCKm8j`UDzUT0VeThNT1H5cMZv%!NL|ci<`0%&^1s;iJ5Y$Lk?gmn`1>!-9*&INY4awwnCc9;SM$HgZ794akFcXxMMZQ!Bx zR26Tt>`kF`Twmf<=Gc;phaviKq3I{sS}X9DslJRed-bSd5Z>KjjG1qHGPo7>8I{H+ zzt>{qM%d!m=c}GuY;2Nu0n^fI6B#&__hXR!WN7&*vPhT~ zM9Q=0SGS!<2cAxSF(F@u)}b>iN>{$Q3)_u80XttCR)`2Jm}66OIhCT0$i~GSpo@wY zLrli^vlx~wW2agcfM&I_Qw|dg%jAYDqL4h_<~@~#mMyI|!axc%TB^f)7oXqr$kN>W zD%b-9Ojcm(I0-B=eF9;ps3W)ac*rEd^N9syciyG;@8PzXkYsd+&y!M@s1O{v2PSNxiuVwLgydO1=dz<+2u9y2qF%bKAS zP^Q9^T8qB7!r>gc{A;`<)<xBiRG~>N zz$Avk79%sPheou}WG6|}2(>0ACVThpO=z?~fJyemx&+>5MlB|Zbtl0SgB^>xcoC!p zsb>+=Aix$|UELmMG?eq)J_jR4kbaR;7LfuYMQ4Fdu#!hGZw?%cA-gMx1v)ph*`?>Z zH;XER9U-#>Kxx*KqXQ_m_fdae3F1`5^Q$og42o#aLYKw`SRMVafcn%mq7qULU$dn)L}Dt z=wM%aJbEHz{Slkg(FQ>J88woVcYlDVaYIYJXlDBG@YgpBepo`pnjVAx3<>%KPy^13 zI=4zuQ1_Q1G4UGTyFDqg1z-od#LXDB#cp1)sq3$+&CtBHzOwf>= z7#CL3Aq!6Ig3=Wo*yU^2hJw@v7n6t*4rIl)nmeB5@a0iRw3;DiBBd85?xC2#95pGm zpPpLrxU_UG=B8X-x1==|HLfn&1PTdMPy#PKnu+jYWo6|sDN{Td$SXn-F)@{)G?zx3 z8Tui1nIBqJloQV|r@S2;6`VYBj!qXdnb-hB(QJ~2uYo53n{21%bUTCEAls~jIv0Xf ztT{FSQKu)Vub`%;h6#mGrQu6DIy(Aa_U$`$4ZDU+;`Z$UEQXrKLuOyty#UPNpNon* zhW&$WNSc=bNdV9YGjNOJ$YL+Rb6`JX_WC%>NtcJHk5(!8%i?0vNG1CjGa#wj6XBAL9c)01Fe*4ICWV0At&g%hZ(h zoC49O1S4nvy>!NppXa%)7}}Qz5kx?aqcDhWmki<{jA+%|Htv8pi&Q3nV4z(e!A;2W zDJKe-u>>24`vM`PS08S6kbdi1_h|^t`(4*nmtDSmnXr;*J)&x-2gfblu{{hJRuYWS zz@tx)nk3+b7}z2>NG}PROjoG0cIoPRV*&x}fc646_h(a;FJG?2^fi*+c-4MO%X5~I zgY61^(o#|#7{Nj`0YO3ZhGLj=(&Sv!xdiIZNFqvtAm7Z+P7Pp>5MU%9UiPd4bwa`% zQVaQ)<*P1XJwJc00?&gp0^D;)h*$^A z5Ma4i8j~aFa1dVzFlZRb%F15nt3SLorGD9}RUz2iW-_Hu9WB1}`@9&kL&jxR#R z+UmOTCbIsZaIC^ZeR2lTEO-oTsHPOyp-8Rpz;^N~4d!d-90A2+BP>SvWz*2utN_zoc~J0`FXL~chZcgRSrDUsZ<-_B0}-4sjlCUc)T)eb zK+rDdwSr@*Ky}O02Twr2Ak2Qa_az^ynFSef@_wsv7R9%ZwSt?qCix*tAR`3Wfd>Fq z$OA#EH3rEi2wRZK^`KJGLI{U+h~_gtRAq0mJY=E^^K2x7;`Ej=uv9(G**t_xoEY(I z))dTxI1OOg)XNW{69j=NHRqF=Q6PQO@o~`OoF&UT6|e;Y_Ez!+xzG)?gV04;kjrGU zQ(b-h@x;ZY0hkphK|_> zA&;3hKgu~GIItl~VBbXqgzp#^jEIRT2aaei@_QhYlm@jnrb46mjV>TxL58>rO=wQn znYZ49*wADS5oN&vkZRB^s}f<${P~1>Lk^?czyBl4#2QY;nZ$=N7pLETdU0L*WN|3aU`iP#g*f|yXtptHL(U&TAB~(K0pBJfB1AC) z$iT`fL6X2V;}wEDhWWgQq+JJr7B)~PsxQE1xH}1)fM>~w1c-2>adro}_1FF5V4EQD zb3`&;zf<8o{zFUD`54ZKLk`LU0YOywXm-HlW$-9edL$SVqI75|32)t}6flg)jnWP* zf+RU91g%h_S^znU-YRfQ2~>V?c2WBVUOe=P;^LXjMmN~$@_(MMvbDe(IVKUQm$Wht z4?8j{y+y_(cL0g!HZ^__@cjv%1(<*|)xG2?i8!VQPM1QC!WkVkv$PCKOWO!;LE6Xp z5FiN(Bh-$Z($cXYt=!?YV{~yMbu|mg}0kNp*OmiXr!=B$fyLky+i1QV~9utO5J|nTr8Dtj)25Q`m{Y>x7I?ueDfQ+!x5!ou z-;H(?4xT8hsyc)1Mv7M)wFGvF42a;kmgVc#X#uZ6n2UshSym+cE@&WtxsVXZVLpf} zfDJ@@45UFsAt*|v^Y6?$(5M#35+rLltOBf*9Y%a;>(d+{O?Y8j|j)iCvuTZ`j+&Vh?3?MfW{)YeA0 zxIrH|;E1m3OH2@i{LC&{?wpEDzs^t^5J9@J@BG};GZtKl$pg$izG5;dMhg@NE}h*{ zWMN2m6Dd~g_gN8_215ZG7n&&r;zoz=3fU( zEp>?lt;?o5>vOt{N=MoL+931){`h?MzaMh;kH`LUTlU#Mp8e~PBpmo7wwi1H&!dOP zTY9ySIcfajwC54@FOi4~!-GsRa8%ZJ)&Mkv!r*k$XMeoO_AoB-ZkG$G$2z7mZK_uT zzK6jT(Kt_nbIkNi5ZwtWoj~1X6;4B=j2x(iI+_foDW04p!g?^S=sJ(9v`7I$la>|)r>5in*tyV= zp-(66_2Yb|Cr0SRan5%++mKMqgCJ9eEJY3{0=sPiaXu+GjJ8f-M3PadVpuw;quAER4-Co{7I?SDu`bTFdt7&1`#GBzTD zY74e1nBD5(&9J)3NoyzvKtJ@hgT_dJ`vlwzLvb#QLDgTcbqp)l#SN0X6gNZsBYiz` z1`!zIg%4pXyQbS~Ns9~h-ox*&2OxJOM;GACsArHBQ;}9B>HA}OF!eH(B;G(oYY@#N zic-6Nc`Xj*A35vk!Ue(|5NZ^vJVlthVf83jwQR7dNC7G+;~K7eA~=%~J76-R2`9o1 zjAY>bDHx}Sfn14MxBlaztq|c5B^FwcUC0&S7LO6Ub92u|lsj4$7M%-@FC}n{ED4qw zEpZ{3Pd!?o8qpNIwkQ!8V{e(^+b9HF0-TFDz7m215mf^AdNL?kqOwM>Q`qcbpksv> zK${&nWdNYLW+1bXD8EBM*AGqaH*n(^EqI7elZgR5loeti&cd2bXH|e^i4YRtHpPst zp8Bia5$=M*y5 zhSA7us8J{w9;(9D7$c(|7( zU~ULhLn-nckLuX+xw~5xC*L8$UqdH`a00MCWhr`!;Pi;;A)>QH+XGdz{M4W>A)68E z0VcNVFaj7r=U4_=2axXota}IhUjhTd;46vd8`UZw`40sk?E|t8@)8jA>U@u$M+B&$ z<{aqnCr4F~uZ65B&!0@)L_v(E4Yf8zhC2v~E%45MeTs5@?A*`AKu9Vk;ttqE7$hbV zC-w$({l^fI)+zW`!9!PJ@epj;(YHh`0W}b*RMEJ641E(cWF1{y+ku`awy*B6&kcHe z{Gc5C5v)5xAn7F_0;7QtfrJ54ue_>i_wp&A7YOCZ%nWKHM@ah=n$ERPzF{)ntS$)9=#_P&rNSIAqebKk0~jT z90(mtAiRvac<^U>o#t4@`IYtC;NW#o@~s8l%N-m(vD^=Zg;46nfMBE4UUJO<;s?yE z!{pCuN#`99ETikohN(@^DkN}#k|7}%er%4uN^_(O1jdkvk@==eCudv~1~w7M3fPP) zoSYtjV+d|QrvjjkWAhe=DnCY83j8?r9O6l&Z*RLrj<7i_-B! zx0t~xj;|G1(iNaM0FgZay!^Jio0sX=xrdyJ0q$rXV`5Ae^_BFYQRpjf9SiJ))MnwkAz|EnG!IQ)Gv;K)+L=A2sy%Iu%xHqg>41E@YLz zjM65J<0(QjX*FCFvqLXcfdb(ancxG(K@te*K0;DPHY*!jAQ?7?T7$LvjtyEkO8E(_KWhN6GBoe#UqnrKEPgMuuB76a9i)da-4?7-HnAJ za~tsMdJs3545Bm$Q~g4}Ghxa&p6{XJ)`&Mqe+|p318NZ=k>HBm>3p2Yky|7dfG2=5 zVQbi{Wc;NbC|E5tW^VjLQOSk?F@wfhs?q~lv|F2UDuKRNqzrrRBO#}deEli}TyVEGQ9*@{Fv`O=ci z#+hV92Pu*8_M>+2@&h}61E+tXHutw~w}V6Ag9lt)M^)k^lY_I*uBT>9MpsZF>o4 z!-WwhlpMeM5y)>8(sw{?C7|};VM5s;zLQP{{`C$)cs-~=G*1TLJag{g^bL$nB>C4O z3-jSHHSFL$mP^;ItC`2@y9Eg(24Z9i=v8ZoRmo9X*fk%<-@Qf0pcBobnq~YD;x|A*W5CO2q`94U#Bn?5tf|jRrLttw*Qf{}A_{VO5^n z*YCm(YE{wehPDAfcxD{-Tj-fo!SM!#+Uf!qR~-&Bx%h)sFRgqJ&1lf{*NYAO4VH>mx>;T zQZKFh>tJ0Z2gg@urIdepvf6u6hL|iyABkiWh|lY4w%^5zn1wr!K|ZT!9)Vjl1ZvPY zJxUMgPcH)|)z{#uH<{jc*`*n91KMC}Mbq|_DvT9{%B1h^ezT5f>Zmt__aJQK{61P-CMx?vN^FP~ARhk~ zk^#ALfy~LMl^&{ux%pUn5tRD7i8n~p-aPWDOx{!j>=4#40Oh$P;O;1kdHUhhrA!AL zp#T;Y#_999zM2cPc~FpV)E~N#FQzgvgQ{@r=FJCMge>s_BL~}{ag@QEL*ExKO)Z;e zq@~4El#`g3$$z?Iu9oT(BA`w@*BZ_0Tdcb zV}twU8h{mpjw&Bs$r;5Z7>>d1#oQM_Fr2W)aB__9oNf_*$8ne6hz3-C`Wd%xyP>Z1 zuO0yMMfQa4jQjZU4mH=K4k9B?>3;wma8 zNvwsfqBKxP$@t!6R3G9Bp*G{+y<3YhkAV*qnqDo7pCWf1T^^=f)Zu{|GY(yh*3IwC z7>YCoMam)4p(!_G#>|GycOBT9Djj9!86ReFxIJKPtLQP~@cAC?dz4U3;kyQI{2tXB z(3~tH4TPCV;1}@JEuuHP-Uk{CD-g-!asC#JPX_hJOIo?vja3$zUlc@?8mm))z}`G8 zMV1GCH{sW04d8c=yE8519c3j!do_00#8iX&Y7kZpt3q(d>_9)0`@##P$L+#&9Tna| z0zQnS8dv%fnKRJN z^ywl40J=;-x0W{6OOAre69wL{h^8aIL*M_C*@E!1J$^Tx3yv5b`N9-19V`u&G;ivT z!tnQ($AsR#{l0&QGp(I>pUN9*wm->(V6cVu_Yy)*i*JkP9NgDV1IO}m0x5trExCuh;>-@G{lQCJX#U$GuY=E zLEE;I?~tVri40+FUq@Lc*Ef2)oA!1a=JRM$A4}8wY)rN#><-CmkTQMTzKOE8+}X4^ z4QlH%;AtKid-8$Ayg5tlYF)@%$S|U15fwi9c3ZzJfrn+|eW%(M$^UQq|Nal~ z@&7;^t>(uTpR?`%Mj*Rw*d*o1|M3@|R;p2>!TSCA%qrkj52^f;+ zIU9$PdN8G z2-h-HN)em3>Q*dbV)P$UiEA8&yzifZRJAvWisSR@TvUfcQl3#zcXUZ0qzn&P(jG{T z?lte|g~h8%Rh87w`OW99lq;wh@)Dw4keLyA8RYH@e~eQ7AY}=TFe#^MltJ8k6v`FJ z`OS#`RcmEa0^r2qj(WMdWmX>^3uGwgRv|uoY26YKi{BO-@pbqNN=|=nAivT@aKFdQ zn6Y8!&f)$kB!@%9AI;QA7Rl&=EOHH8KbZQX{E>_pL!LaD_5Q!c+^#T$xjRw*ks=H{RrOljkeejJ)+A#84}E&~wr<_J zDhL2jVi?6rCVntgnoTK-^??n@4|o&4a@`GZ*;$OD$;ibZi-7MHBfr%!fH4!4OD9h! zAXCA2N5gK%ec3P}q!@(ifWP6!u0m63D}-DjP{e#9f;#A7)MCmAJe%r0o!c91YZB^A zMILVKY#JAJ_yx>lu`y8JU{l?4dGpg{RDkd5Am>25#xM#$z(;`v^&A_fs$DRgB6b95lSz3b z!YdF$uLY4vgT=z+=n9&EM=sw8nP$qG49xt@D5^|<5kergcyLeahsW_)$c>Yj9&Al1sR2-F0QqfY471>9w&q*Exse)1Zf}Uo~zA z?B`AWjt*`NgDo1e2E_fuJQ2T7!+G2xxn9wb0Y+FI8+0^ZSyr!}1>QowqewkWZ zfW3SPk>gVLYUhWBi5Nu3@6I^Y%B}lA3LQ3$j0eaeQwlTSjsJu@C^@t#DKu_=)6aNT z3^+TXHw{!K1CqnAX~V7ID91@vF?jzNSJyJ3GW>xxU}->GEXNKoZ6x0|T?a20a={rCDPq*SA6#*dgZ zC;O|5U+oz7;~>-^zyd}y1yC4%v_JgQh;w^3Z|=;5ku1dwz`gC5dLiOr+W3PzS|@Zj zwHq|}P$r-`^Go!DhGXXb%(wH-*ZtUf3%^%OVZiY;K8m1&=~go&Go?ZagCL*U?!!!ZG7axn_hkTj0gAQOKrt@NVywR3-zjG2Hs0m zYIG`n_C-)D>&8$3$v8}KA*Bja8kpd|c-#8$qiM0jthax!OS&XF;Q&~?cyXpi^Uhb5 z2@xLQ&+Mxf&7BC2v5u*AGN>%m!F?tz3?XMqg(R6BS9K0i0OL3fSkqw?^iRc>SwBri za5|N4MD|{zsTP`1-Y>#KRAU)9#iF^F&`BOxYsxZy?h03Cm+lx|*fgC7uUcP_-3rFwC`KjemrpQ73U%Zo1h0_uA#gv7x zQieX`C|wDkt%SQeafl&S4)NDt9@^O9AUH&5dc)%6^NCRH9O}D3der|{$q)xCy^z`r z8G`}O;r^(j00~5osrdss)GT7-aYd*r4)KFEYDdgH2P4U}YB(cd|1S7ak9w--(Fa3C*In93I%Prl6oLx-lF zG;$IOWjg6>Ki59c%{-a~Zx#YajDgLth=;wwJyg$twrZdNSrE$xmO|Lj#HxRaJoVxI zduF*0(jZ7}Eq6Pf08~jrVKyvccT3-kxnKz3xno>hN_PT0k--E3-N_h* zoJd+K>N!njBhgdW2lar-f`Meef&y;~c9^h1Ol>p)Q>g#jznho=YJ_@JKo?;bV7@qi zo$8N?+8dC-MCQ`O{)0dVaKL-%eww24B?k9`fKnbLS03fLPb;5A5kZ3KO#daLz6*2T zSZW$4L1Ww<@-h*cmgZN&;MGLnq9{m=o;7FAAuv-(rG#7qE2#67R0^wf;)x7pK&%>5 z$i0g4GChtu0JF;Twyj*=y4#%tbsd9#9({&>v8db2j)b}-o`B^~)_FaVv5j7E2jTRn zrM1G0))D;4(;2I!m-1cxmaRHO?u{?!a3@TDP>-V`DxuSHaN(TaRqSwV6TeK{Kt}2 zY!bmj09{}uTUHNXIWhntoG-yA=!`ST=V2@l`gGoDnvd`?jgCo2k#@zE-*%JodYh-G z=kKvQzqB8I3!iN}Nd6}scB4?FNOySZ+MkJ#N?n&--cPyd{Ln-*&wOSi`yilejO zP1YB{%3DQymFPYYXg%}(oWn#q%RNIKMo-f+E05m}b7O@(5e#I~z+uSj@p$*6$=Mrq zmKUEmH|@f?4(Vs3@?6({Go^j~IwX60Vc6_r>ANOB`ZS3gcK!MDT<@pZ*{>o)yej8% z8^p*9R$aD?35MDJQM-9#Ub(p!*(uQG?uf_!6CNEg?dx$!(kF*S$)<)0$;la4CNuu{ zDEOl(`>8RcM##p1_3PKiEP~WYdH;Uh!MYe2OsrnNfzQSq)5o>3Eti=t?YJ~)+O%CR z)kpiU<6D?6{OMRih1j#6$dNZ6`EcP8w@rj1xDk*+(%aY*_om>Wx=`F4CY8d$mWNGb?dHKN>W04 zd->_p>Ku9aTgd&*`}03}K}S9qm}?R-3J7TXv14_qm0+1esUJwB2Ap2x#>)joXUSru z-b{GOfCp@0`%m;8-_vJGz{zSe@@3q`2vDGP=VL;m*AgNylZ#^9MmrVbh0_G0d0d15aOVZEaB>mPSq32{RJf zY}8xuumdV|A9V+R98gxw0@xdfu~5c}lo1$j;hl7de??6Lk}Yl?xs?2j#M?iqd9~7n zV1Q2oc4uHH)Vj2xdniE$LdgNou4Et6`?}VnH}go(VVJ;GSh0Ke?joRt2Ik@a_o*1u z+RRl_;YA-w^;?F^jcdb?@aj^mHE*u1Tc~_!z#ylUR`B*lmaoiAY(>KP4~|g`u0~MF zKog4;CCGPt4r`2jlg~@}2a-xjB#{QZwMt!OS^6Qa-OYaGQ})uXHKF~b&+P^SJNn6m zSVjQ(=jj_QKhqc8hYjJUtX{K*v1s|95K}jXqiHs26kMD%7DV?7_g#@6w>5A68yss2Sq9J*(qh9z<#A=Kddlqq$EXhZEB zL0T#2F@nw@8Zp#8kD_u%4Zn31Vg2^)D*+cp*ia`ZJwXok_;a6I3JRP#G)>g491Q|q z84_^A(Luc+hy?6$pb*^cpph`lWNw12D09{|2hUJVfmu_&OK3u!FBy+`9(DF~qNPyH z93p_cy=aA_Ie(4eMon2TFCdppX~Vz_5v)ug)ANUCa7!>~WUqkYifr*Z0mI}QI~=SG z@LY$$#Ss`;A_JE3CHI4u4h&P28$-p{dhxerOg>I~$&lLwek`SxW_!?h48Jhj7C?3a zo%=6d9cnNG@Y~{c?G|O01v~@xOiF~?DL-LXbL-`qh1KC+DS^%Y1%BOx$jc5-3RiYD+k{oWP zFhkAv1h4)~jfR-syc4+>KDsnu0_W zj^XXdA4R^Qj7sJ&B?QVhFI8#+<0ULW+syN27^54CJdl-Q29>A4sN@xvV3={|#efJ_ z1`aaFa+}jhh7jwRp=r-~*eYfE?pPi5=r&^tU=1Lhe0mr-4 z<_N<1!d!C+cNmXf%OIJEBd$%=4vShrm}#Aeq7NbKxSv18@DWNj{d)du6P)F^M$iX3 z_yP;)p&Ri~)Dwa4>nsAc{8X>r8t^@AqzxdoCX;nPA6t413eW>}Ezm(F0@?^E0)PZr zbL6^aA@0az)F9uU&X~tytDOsp3bS(?OM?Lx`d!&0CI@N||9*9rPhxA{9aO^lMUkoT zXj@IS3Vc<{SEnyM)@V1b|2rC6cd$hh zAh&M=?u4TU<|^_(Caem%3K+mgZi!51@x-F-Qvjy0@G?gi82ap4&Wen4TVgn31sZD+ z2u$c2X0jMi04F(sUYvQ)^)z|f0(i$`CJL@UegZYHQ51q5phFl(_i4}z1e4Qm1CnvX z*h&f@s-h?>|6lqN4@EX}MjOw4J>bgKt5jwrI{9sUcQ`>LQD{H^T;m?-t9fk5c_gNO z|Ndm94s=Rnv;Igt>4Y^HEE)FOw`*|hW%BPJ?^~)L-PFgYe6HE~gr=gCyWqc*!SUkc z_a~zlqQ2n}hzCZ$GY}urKkD`Qj!Mk_8}J7{+<5@YA4dQtJ38L9?|<;+e5=PNmwy}l zAb%`KEdX8Se{3#5y#x~p&cOxljNMLryt)_d00C+{n;zSkwn!T^VOc@~8u#kkHyq^| ztwF+@H^*y#2p?`a^dWZ7p-CEe!ZQmI5O-NRw8g#25mM zfuFsC4iJG;Y+QVN7ap)oWXZ%wX^NSoFXm2zs;yB%lA)Z!KnovrNM_V+3@sguX$9uF zxk-dE!u6$3vg~?=Iuf7M@0nk!ncsic+wVFb@?i%b!o}+^-=ep4 z3+Xq!ZwfojR&X2vUWg%MQJrltcx~UVWnuE72Z_`&F*HR^ys_40Ul3HQs@ev^%T0Q1 zx-j_h{&k4Lj2HKS)u3LSpBI;IT-Ig@^t|vt5RW!=?EWh9V4RGZq`?bAC^xz6+e)EcT_<=V9+`CvcSty{vtNE~r&gBV(hhoL)eRcn7q5Rls^cSx6nq@?cr zO+yKchVThvlN-p@xl ze`M&%tVZxagah8t_xIo5x81qNG}$UyH7g4oU; z<1udok5B5beH#<^Ju*HcllJ}XW!99G;kR=4Vf4kk=$)^-&Yhd%Khfp)--QQ{&OGVm zIE1(c2JiN>_@jbBi~E&4I(c zEcx_JQW8s;qZiIvBQ1cfAerwUQGBR{`sBDLo=9 zw!n>xk4eQyD?E-QtqKZENlV`@ZE8jGI_bb>!b#&Z%W#NnJC}{`NOi8hyHIMeh#<=@ zB`&Ae_Tfh&DF_OPtikvt-G&%4nKdIr_KQ7THvWT-G^TW$I`IQ7m~ZL(tl)9K;|;;s z4`P&vSo`AL?wRxp(h*F3P>ci!6k=Q4Bfs6uZ-ypy>(&iN)4${t66@K_UVC|gT=C7h z21!%DxHKLGv})=%`lgpe?bWM$`?vOtO}1$dCq@IK^*S<)X0PXub@TgJp=Dw3w()ko zy^|I;ZuG2U-}{(clfATRW$DlP?QXsVsU~xCT-1N?UCK|Urf*x0-J1f8g*vfF_kj!* zQw($K^3u+60|Ds^rW+ZgGJ*-c#V-Z6C(E2XcRoP3@c@NT|&(AKTxpFDY@;(@kE zrSgy=mCzh^wv*6_loh=t&-ADmL5E+-0Z?DfO_aWJw6E#b{WZ!ijYY^66p;lLCz)m? zK87H02W%5)K1cWlkz`QyjA(+@!Y_!WHS~x4!J3_lR4txPWFO$(bto$Md4S8Rq`>14 zB*I`!eYeA^^=w9z?HN8|(?t&^%3yK}2IMGBuo7VI_!?ywJvB(|KWEQ=i|ieQRDrQ? z-T($$4s|x_{DsB#S^#e3>Inm;9k^KiIznB8lOh6|+vd4x&$1bSq09_1Q_VZb*M~Qo zqEQHV%W!&n9wV{%8Zh}3wmeE74#p@RnI8aM+Jo;VGjd9Nlu<1t6=P_-Ak!~jxspXh zy_hE8tJUHc5UNR}HKaF3fR43!BGPMm^R3YB43}deVU7tkf{;!08e|<+bifvrXrS}g z0iWe(&Cp%Q@o|^B@sfEda5lD_`nH-hIKp3cYCoU+XX~HD*%c8))=d4o(O1VGcRlqY9J{4b-W`g zQ8Eo4Edw?E%BO*)5{f_^I^?OPNeGw!mS;RXFVSjA_Kp>+&6(GE?N}nUSZ=Qto4q0m zL>lp~l5q;iU;$cZrje`~9u^tJbY)D;E(-F0prUE51foNXN!QKa1#r^-2w-FA;X>}f zy#^uq1zirZeq@5&KZF_aadGa%6%N<`_@O1a3naj16BmS+>=TwzUrFI5FU2!fVB5Tm}eazE;A|PsC8;2tk6z@1{Kg0`1D9qJ!@|@@JSbwZh z11YGDy?se0DmY+iqkg=RJ&(-ARn?9a`hY>q>7a=3Ohq_6U`7opIBzn?FMHc;;||ZB zJ)0OQGYZs?{A>J%+AyO~l2Wv)QitZypn$#o+C6)IoIPg_hS@PqW`$(@yMlX``Pc80 zu5q4*(ak#Ax%BSC5#v+ntP-AB<;Y{|57?s}NGIohug>#!@cWT4^y3p5GxnrcCbol= z({V*H^&|-mg@s~aQ2L#=ni@hRCtWH`JPse=XH76Q0a`osrCYM?4M#gw3>g_mAv3gG z3zCi3iZHD;?G7-{Ua&#!2A~(g?a!Qs4ta!}67YQ>TZsSGO(R7@foY=~ayWj+w5Tr& zANOeqcvt}L@L7{4Sau02N2@O2kVwWHlt9{=2#+D32$)IqpBj#$Eab_B0{f{OLj?#9 zM8451ljLqUZ#ovLS0EWl)9t4NgQr?ecDkA!ar34sIDH}_xm>zn3u)FthT$3d@G|Vs z_sT_u2Y~8t%A7}dQugK30oUNgu=haMRq@orGiEf@N&?UY_s2eB@<^9lpwK?jCfF9vma-u$*J$Fu`E1hsCdoa?o3%*RFD8}LPD6>H-&gQ+C zujgZaG9Sec+imY)J@1b{a!0kl?w~~H=jRRU4g#=g_imPdSkPc<6ap@aJxUUcAVgr& zL~+{5f>w$|a$>M+f7YkqZOVlQgF!Ta3;OE+O;50i1)zvFotS_B+~ocRo%I2T6>8D3 z6DM}3a{+P!-P*(+Jw7OnF8LZGfnKogve16`(36USx=XqkE^L)jD^0C;f!TZVu{a+% zWzOzmZvCQ4$d|U_p-1q0{&2ru7qLVn@s z(XuN6hkQcQ&88F%!WGsp9$)-+ZX13Fzcwb;K&T5fMcxwz$-=OwR0~ZGSVXlb@30*;5WfP&5vC(UmkodMj6sChh$zaPI7Qa?SBd}66Stc=;M>_&d zw2A|VA~u<@k8{?i{u%p2esQ$p_vPKYuns6d)B_{%bXrM8%6IYTcz~y&R7PNCrmi1L zaJj+iHhC_N?gdFKd)M60#I>oH(u^$$miaIz`7i%>hx7tnxWLLxT-w4|fx|~0ghj%KrbA1lzS?5_ zv5QCaP0APLJ7UIU0Mo3G_BM8i+LGz>Zg_yAlUIa60K z5#5jigJMr7)wGSOobmHxwd2@v;|`t*n9-;Tv-L;0RjMYTv76G!H~8yL^$uP`y`PhR zsP$lj{E~BPaioV2AFjGqu+;na_3L<{E)AEi2N98odi-?dB*whyGMdx8LzTC!DC_&f z8`{dCN)4TZe*q0X?-$Hh&VJeW*!iaZp-lhY10|9^; zOZX$4Xd}m}8 z#lV0!?JodQf)-ItNKMUp2(YCqh+t&e58`2Zo_zwM1;(v5bqrIX9h();$zT@kASXaW z6wJx|EhGrfAhMy@6?Ct!sM%yLPY*47F#G`fk*8>o<^KYZL`G!lNAB#55VFU(E9g2( zY4H;Ehn;Z;;4a6AG3itD%M4~xc@(87!NCwcPOep(m9%xZ`G~hgP)&u^rJtj|AbKMa zI51pMcMo($d*NH8d;V-xe3F(FQTt;5wF__p^V6#xo8P`jx)4Q4)lCca7g+VkCAH|3 zKz;dLw|VFDQ!Zu5A$jk-7cW8RXx}KVbwF_m7pO#tgEv)&!o`!jd(P(v{q>fK`FELu z;V_U$k}ww200b{q(2(q92#VNmsQQA1+r;-FsGC0BpFMw09EW}#78m@6t>r<^^E!+0 zBmbTp_D`21)y(suub?0K1&3*T1QI|rEaY?Uc(0u=8lPwSJ0UUgbHI?!^XAS?q?E+j zZXZ6Ynwux}uBJ_5VE+mubwH}AUZ$K?`ViD3+Ivpsq|yRpxC_&P$Us-Fd|2$2?jTif4e$<*$6`P(tkX!@KiA^4o-XO$_q` zym^x(%e$vXwdDwg5%D!03rmvB4AzzW-78W=*{z^~Rq%ufqEA%)M|$Jw|LQZOG=W<4 zOYpCh391t7FCEkKj>Z(!gY=mrkbFo-I^ zP^n}2ZnIci$o%gWlq;&v;EIHj@)EddS`aIW2kS0@k&H{-V*ru_v=fOWgbrvoQ;=&5 zDlaWOR_V_0{(wsh{-9yVd&qEcV%*!e^}^#(e6zM9Xl=0ti1IP8hD4k zJSq?syc&(~TgwoMT2=F(#D=5%ZrJKg+qQM@*Y5{%d*Z8CdB>BP*|qM_p(d~|QmR9x zD@L*JiB&MvtFmkWVFvk-8zB{oAW}+yS{nm`!p0QW)SaBB1Jo@#Z?v2c13PhqtzEme zl6Lj#>@_G2&pCz}F1~;a3@?w#9JKA-HmADYbuqrDx|)68!aA(aeTD|*PQfH#7jmGT zb8yiAf`RV?3d(go5;_JyhWr}^|2>}hf7OXx(DG%=sv(n6-iQ%f5W!BG^vbGcF<01A z=#n|@|3hHtU4il^tK+)J+fsnKw>XauX)QWkgPh4|St#83x~CS;r{|-fi?Y3E3_m*? z>`3J=2ZHFf7Q@UvK_EYtT5kty;YlAon{hOA54Yoa9|zCMZ?cWOD5p^@CvxaPWM6xq z7yYTdE$lPW7%X!|?%=K92mk_Fnh1Z@?_N<#pr`lYonCVObges zzF9ekNauUzKj{|*6@p7eEMhLhEP|rLDal6#OoIWJ1vMwVN{UH*2`701Hjl$CFw;IP zzp6Taa262A=zYkdKe6ak^EF7;yFtI$)Q$Jf-B;e&{=$1M{&hlz>Ls!_WP|Z|L{=1% zB-s*^%p}#6a=2Elg#J<8O)X*43@E94H`4K}&iX_wf7BvdmP)`~|S z{96I=;vT%0o8}FcyLscXOITl$KKDm};+18rHXJ%si&&&))Vl&IDL%0&`uY)XZ!MMp z+e|we604Nav}yLE6aPu;NS72_uNoO5DEnie>D*qUUO2;kgz5okdPv+D-DLT0Y|YRG z!3LL_6xYS4@W5GtJ#UwZ@yx9e5l_#ZaPjX~uaA0T7_3 z(Ks$$94k3;qoQtvjQimu*9w`%1gNW!i;*PGEIN%eHcRBpX8`$=bI60dlQ_(2&lI^n zoFYSwm@`Ah#>Ka(;$(qm@^68KSSGRJ<*5 zpQ=|#poXX(Yx^P>0FM0!L=t?nOei@OdMCr!mmM*qaKLr|JiQ&@nZ%#VM}@f|HWGIB z`TG)X+~ANversAdNpCOhKF4NiWqShf6*>#R9z#1^X7$tg%j`Hb?}UaOYv8rcDRlB049iw{t|3X@rn#|NB0|1hQ^m<)X^sqXaG_R}y-KoLwb zOn|tGNx;wb7ChJ!raVaoF&~6B@(&-xv_u0TCK4o3>y!cilF<*R6)Pz5T~q7*n#mop zC-4FN6mbV#OAHJl+%g%y6glpmV=T z)?xO!qvZeh4;oNz{}qm~ncAcCQF%d$9|1S0l_Ug4qs#xvgr0JfRH@}wW*Q9UgVkx< zcDLXO0tn!oIL20tf|4i227<`&+wGhVmp~FQu3)*-SuUft$?!!5V^MG{IQ@M7)x-do zr#(<``xVKic~U$Fn#JH=P%2eV*7dhX&hR&njlOhgcijv+|9SBy) zB|6dN$aNB6VPl7HB`7<&03tD|H?WRai5o}abT8y#!AZ??b8`nez9beSL}&KsGFa4^ zGmTy>&KUKfF|deMj%X+q|B_j#Nh!g~guIqPg8pNf1bRMH-8A(Z{QUfa%=2pF)NJu8e;UxZp0*yx_O1Z?S~->y zl)hp6Cfe=avj6#$5g0noeG3=y)$kOZz;%+!dfd3QYo8Bu9n;y8prrtSo;_)95|;zS zot5waeIKJSN9gHzP(K>*)m&70*qqt3!5gbk_^~Ca1g$<31iv5@Qf`yg5jA@vkBob% zc`@A=tS9Ni4D$FyO|pv`9djkEr<4~0v#OfX;Kr~KLi`HCXJAYlpvSb};{ zG-=9(-#VT$R@w)kL`-kw;>Qb_L^C2JYWwzUG^i!eX91<7+-l~Wt$qjx1HCo!O3;_b zBdMOtBFo`OFQW=3x$Nh4YSM=lI^{6$1|+o~a&kXqhGwk*nJt-T#$^iW)C49{HEY2U zho4-HRFcH0!i-t5M(CP2kk@r|H`Z*gmD<=g>X*?Px-{3qO4i0Fg#7V$NZk4#yVn(4 znG-JTQdAK@32Pu~k)Smc6Lq@SJP<(U4jDbk^2uheT^u4}mT!3SDHv>7hj7U`t^35O zQ?qt_co(ga#<62l1FcYuUWQjtHLpCwA})`iFN6kQh|4V%Etwl3tV>=XPjG~$-kx9gCL#VOO;AHqYn`e)g7ZZY z0MAF>A#0k&5oC0xsDh-UWOMXd0vKh+b=)y2*@+>gLWxnw!8GXCK}wS@?6RkFl^6x4 z5k*;1q%RCaxBYao%5P}w=)<(mR=J)$3bu6P=FNEGDk^muSi{d3FW3QY2c9uevyccV zK_RI7K`V8e0ebPfGb7^nAXrF-!W|K|fL;qF(h)xw)Na~+K_PsjdYo$o;CiqDc9Q&b z98FnfpCHGpUOXZ>Jd$!ETZVi{W^^xY_gDT`19f*=_6e}2LaTG`sLP9v&7O7{d@Pm3|fZ%6tI(T?(kdsP_Q!a0VK?HjZ$SnBcwha>3R=s zZR-mlT;~Z)a>A7(7g8;is)T$wbfCtT(A1#$Vd{_bQF5wokoEZ8mzasn9Coz}C!PA0G@~yhG&LelOOeLzy~pV#qh4KQDS`I1GQ+-% zMt~2Nq}gD;IkS)@-5IBt!_*9;I9&<%@^hy475-ZwqN510hQaA%f0H#{zbn;HJy7Iv z$671wxaM2lH%?AdHb>kc%-8FC+w& ze`A{@c7p1YDo&s_k&V)!PMbEnKpQ0K22a3EOKb^&4g9;L%pkcU=4Hx6kCQK*fOq-pzkdL)N6+f)( z5Z}>#f!~q(giOD~tU*;S293n*ukVLzl?#}zDeaG!>GgaW0THb#?Is~w6(D4aEu}e> zG!31f?P5gO}$cbNE4enpkmvk%)O1JzzZ;JShP2ibBM9Dy%=7onQi4k~hC+k{Dh zV?^q5HEQ$)2bJ=QjxhY*y~fTCfunt|lL^3`*&1!_MP7*5aZMp9xzOjbTHptVBb=y9W1@ zp#s51~v7q@{IoQ7up#NTMqM&W6q=l=Bn8ct4l>IO zEP3>`WYo$;?Y7}ch#IAP(u^L5;?a?ciGCA-@Ci*2zWu3ErE{XB)v^OLT=x*J)1+L3 zIBLaXfxjQeni#2@sD4>BPfOFm|38H4Kw5XMPU`?g^0%iMJTElst6gAoIF|I#de+Z<22

EoP(detA)!N9utR;Y>QpDb}@U6jB3wf3m%a``==D@OjWLaJjjSfmop@g-9VQQ zFwg4gjZSM)LQFN0Jwo&PE*?tiWf@o*Kn%H8(-#rd){@8B)m@nWH zM%=mc3f$OuD=&S?ZN*Tk6h0Yq8`p2$0!J(<$Lf|XL4Wr0y_xJ1wW(PZ=sAF;2N<{u z!w2G{!q=i8LBc$Cx@Tj?Tr=+qfLw9|VqTkDAU1`X@%ZDwE!froYWj5>W#?Ub1r((> zRNdKiy9%5$Y+gIG?!2Ql!LQ>)KBQ=@0@-V>(^F_nHQD@_H?d!Tgrm}WDt@+%v0-Cm zx-0LCV#_*LZ?P}n<3-*RcSV>YYDL@FZFw0l7M7vR$Lh)renN4c|I@U0vuef%=gpXA zLD2{JgpeWM?VA}3Q1W!!XK0#>Fv??YpRaDR*a`xbx(YSgJ$5I&07c~Kph&se$8``D zcY5jd*=@Jk4eH_Z$|w3AP^bK}Zr}cer$t)6N*{dT#J?S*iKHYW^?Dj01?J%SS%~(J zjP#42F+Xi(6f@n^<`hndk8ed~Ooe|KUQE4p%%@+NSTcUJ>e9 zEJQWlhKCWaoxT8RNF69AYCt)Eu!j|DO`c|i=9{bSmX{3~2ueYQP!ANdWg53Y4Pca4 ze`;#ytdy5<>{P_{9FF8SrY|N?ERUi72EZ)`stBZKTi2-KfVX#qe6IumYd42vN_I*w z{YO-G0FeccE+`uM)z81BTI<{IX161W7^)eilxIqC<%%5^Z$o!@u0U{7-{Ek<@0&{l zEWQ9)j`=m`8*ohI^?_7Ual>Z?aO5T2z$kl4Ga$277-R+~P2wfzEP+=g@dSMe4qEft z_XM?C9Nw1G|0<_wh!WTYaJhbh55?w&l++21WcBE`z|Cm-{NsS!Hz(p z&B_BbllB28*DkJGxzxZ8yT9=j%9?a@BOAPgp$^74aiNA0uUtgJ2QP5)B?CfT%}v` z-g#`eJIN%P-2Yt9O4-JXNAmhPrluy9i8n`hF51}(XmYD07chR?Je;iMk_5^PEaLOO zfBPb|w+58>N4X=cR`okNo&ZwcId~6{*>aQqQMHlR=L+cw;)Pro?t-mqWLO(oE-ZV;@lVmDVhdA z$i0}KTtglHpMUyO#^uiinUV#$gMn}cLRwpS)UGYT47^WM=BDX+hh3QMy{8m!Hm?$v zGKZ-{C>GM=E*DmdO4&#v*b!I2uI5;gnj~oANX7m;-U>dAHbOpC@G;Qa;dDNUhxKiC z$hlmyeQa31cSaE04ZjR5kRXgcN#GZE?I6d%YMlSs>3CgR?=hRvPz<#@t{`EOq zvKE8LHs8P-9m^*2E1+&#-9W_(`;zn4pJ6?9_H;Rno%f~101GV&ih!nWolH5k#Oy@b zpRLrWl?~B41XXrC_6eLt)0dt*`KZxAMs^00y;OX@!Qa*(?CTsD`{YS$=O#-y+~n+V zG?;V*dMBWr+La4vA=9sXT4%`j=RBCHDm?P$zg!F%#rBO*8%T$ijOmT1?F1i zLwMYPu~A9Tpi2A%*Ms(xA`Gm%9}-oHhs|Rw@@c%B#*`nbfP(i%vws-!TzHI^_JkHs^p({eVspNiu3Ntqo>n_xuLS zGZPN`^enMC3O~dZm&a`Cl+%x*N%pKHdu@G?*8|XkO{4hr6)DgumnA7=r>W8!*)x+ z;L7*u{yTN&%Xqby{!Dg-(PLmS5$aL?5zfxBl`HkF0SiOf)d6c~o4R#-ZJCqWV{`0U zNyqah3HWCQnV8e3(GnH`G*znr?vG~`o`lQ5mz>bIE6Z`oiu4W|sJ$ApR%En7Tq1pn z%x}k!FWd>ORe`vp{m=(53H*`_87XJCLdGE!0Q+Ib@{sJY6q|hj4EVbMYFl9;3r2$< z*EE5)>ON5a`aQ+tF8#N(UDUd4{6V>Epi-s>xk|sMLoQ)4L02jO8uPf}uGt(l#`X{%kzP6WUp_n?x(%;{GVNQ~*d(qv)z@}!o?p0-Mz88_L3cF6$Yblt{fafE0%rJe<8XPivf%jIpmzACwS1IrDoHf zb0s=XWJj#w3t7O<+w<+cL#yfyJG1|6K)_InpI<4Z1`#2KI@&cyA~Mm%z>BO-c>V9I_KL@{R;{2a# z&;?&z0m3rC3LX-QEAEGG@??Aa&B(~X*noIbJ`LjGIof&SJ9Pr9gJXDF9t7z;Kb{#EO`aB|OAqF0VT&e8K4W$*!)xJkRqs z1MIxn&2ZZA1tHT3l)Lph?QOqsNR3uAJDJsEfiY*iPu90@C!oY1;g{XuGN8*4R6T<+ z>UMIp8%!F;cVWDD^t+1tWex=EKbQmTxpnJSC&%MNj_IqD5ztrIuXm&8L@&a>2?AEn z&aStgYwT#VdW3-WHQSFco5sBIG&0W3n3xeeckMcXtl$quX|){h)N|&A2a;GU1~@PN zvJHn=ivgVCUkP!8-M_&uJ;JA>!hU8GPH>npzQ+Bd;zdgqceiY?GFN+={ zTn|RGF>%I>)6@w^K=Kap{vHwQ&;J{AB5w+Yhc>Ub>^F@vzgTKkeRs4hatW{vhq^Ur(ZE`ZySN2{ZPG*^1g43(`w4Vav#Dry z!QD%Vi^P%z#bJD6Vi;H)3NwMzapW~^T7uUBv|ER$NHcQSe8@0HQ`-b`5c-&BaX|;( zFehUTsYO#El(Ad4B76csug!Yd*Ea>kVrX{PZ~9OwnQQD~X8_|WQ`lfkT2*Z}lR{V+ z077&~oN>V31{r-3Q4KQqhdDRAW&(oi^JwL>Fzw=MAp)k8KHK z;o}pmmm9_)wgJkxr%vEnY~7UWUmQ*i`)8@fw}E_+AlMFw_uDaap0>&`R`@E=!F5BE z{SEpuc`A*a=C{$<&<+xVZ^3%t34NXJbD?%(>})-!Hp;{UbRRgqb?H+-<#}LnF}ZN` zSDA|dmin;jFkrDk=CMfiQFTc9N4gYR_UZQxt=joCVAa%d+q)f|8`|^Ql)eeN!bvHB z{1S+>MfmQopzKiHHjZ6kMj!kkc78-htt#>N&W9_g=M24u8au-NN9Y z_=%wEYKXaIo}8Emym#pr!IS?&sYUIkdW&R7^XB)Tuq$-iX%KNAx~xQu06127->A^Y z>45;P^r~8gAniM;0H2Ybkmtm@MA))st}ph0B7pmrzR}KwQn3Bu;-gBKg+kS$$6s9} z-j;a`)uE`_%UW7qp$@YhdL;Z^Zs7z|9it#z$X`(TflQzS-+K@p=d5N1ww)+ADs(N( z;0l}r2d1=xP>UGa`6=5KKr#XHkFWm*_@+q+Xs^uyFBYujvE20;>R?cnN==%U7(tsY z3=43m=jEkEtI`;dBG`@k7ag3OZBM=4<>a`~D)?9%d~QmEdW>Okg^}rX%;)Dj`@=z~ z7}hEZfXpRd;=`iWo^H>>;FAwz!wixkcZvgERWalQL+tDAXxT)IPXKg~(cUD+iV3G) z9nmgu?wc;q4H8@PO@x~81~iS#0)pE>)^==xBg&0s`K$Z`DT2{6^CXgJ6sa-KG2|uB zjjDJk0H09HX`WF6EKMV|b8E!F?fVy(s=M=L6XN1z7$JTi%crA3U?TA?H!%PQ67?5n zvMF{Z=GXc(!Cwpi{2MTYA`(zI*3|#wmQMr>2Fe<`)Mm6jcDq-IBLJHX%0=G1d4+ul zWjbVb@@e?-?c1Ah@5hIns%D@VnamWGB+(funx3J=Hl9v%dvWGXkae1*Yl(?>F>q8P zC^M?IDM5urZZi+6u|~YBuuUF@>em-%FCQ9MG;KPNBQuln&r{yMJyBya%^(`sP$u0#4#g*X+jA1d=6H9R2GqxO+w31w;two z83b99Q#4+KtW#QI3RZU1TCr$|%`sB4$O09#3VH&CY*&3MF6DvsWrv|DpsY;hn6p1Fxa&Cq-Eze9t2J&R=k=LAi8y-xWFHF`)f-fhAbYH@g@*Vtp zy2b0H!TXKndu?uIo#(dsU#>`R_q>%q&$_>?;qo}7I*Qj|_AG5LhkQY!gyKCjo1cRy3{oArH8hDUqI3 zMP^XvVNp?Kqz)XBZajzk&&}-(7;i4YIe`^m`3Ext-T)-V*Z)D|Z(!e{Rn2K$o}OXc zVNnCzt`H~?QLy%F)G0q^_1%*BdU@Yo+^r1js%VOJi zi3c(p4|`&u#%~+@>~ZWnybrZvYJ|6oJA_&q9bBPCY(EiJtN}in8B_~9wbaHNe0@r@S3b-0`q1}s$el(m_^<sOK3`KhRBpR+qoE5Paqz>tcem)Vge*uX zMQJr&STin+lzxVs=;ciTJ?QEOak8{j!}d6r3nK%~Wa;Rl%{f2uZ-^IZQ+UGH5!p$2#%-9yKZE0bcOikg>p{aNIccum6*MKO{jm>Dbf~_*hs&^_%nWAy z7LVP+BE8Po)dxTIbc*S2?M{W8T>aw=c6t$`{AD9ZoYfM0e+19l{VVL`!tgs7bsiGv z>>J%NdSC385_M|Vo|c_^A!us#kcq~Qt|MQhzC~n_;piKkoP7XQg`10cvrd7nGH(5y z)E=(TEu2ra~{OUtBWZHs8>?`Bgii8%2jK0!mWb_!mcE%ynM zH>hVg!cO8u6P61=*)C^*o2EX8nurb9vYO<&U1v1nZ!9l)+FH2^iu?&lLmcOwK57^r zU$es$HvF~P&XH2Hkwmn3oY=~!#Zn%86Cx0llh`EYp7_H;WLpFj;qod*P@;iqa%83*b9M+duu4xs2u;ay5~|kTs(tpNiwI?JQss zQ{Qz?w)Hkm?=TcN(g0O3jzW!KfHl)TuStk1V-0)+@sw?KKmK=NA-a zE`}cCEdC>a^;lCCqLu-?oU%GKYT>_q`}S3xBDvC#sT~Tuu3s{fg%EZcT@R~in zsPgd9VuZiXDCnTjMvBg*xxdO}95ul?nsd2|Qf|w|inOA25K@I}bdAFee^FhOJ48^4 zf{6x1$BmF7#SLG)l2-(dB{Jd`i)L7J`;sR1C-7M^#pbPBuLABrK}x8X3g<`6FXvr> zpgaMlRs}AA6ODIzjqCi&s+zfhvN4S*;fd$w?2pe{OJqZ1OP-A*q)Xc-8#G+xam<#c zS0gt_zWI01TioP){5APYT@9{qA^yV&Ty+{Px|Zkhywr7&TvwqCS7PHKB%o@Qtd{5Y z4;#_Ao?-kD<_(fLI#GR(m%CA+8tT*TOH!dg+9G%(u5a&@)0rc z1mO!uza9kQClD8$=;)ek2*NZZW(kuh1YU1KmDV?Eyokb7{0LEMInr0vNc236{LbRh zF;pTHb^9;FA!_clO=-j^h*Cd}u`==ErcVOq$=dS4`G+^9Ei5#nBlb>GETWqjOqZIA z0G3;n%EAs=&cH$NNpkXrl9a%Ju8oX1Ve;ez1ae?s)s1<$9i|Zz8}YS~mwbNqX_DKJ zbD?ZL=ExWi_r(>uWy=85#VuwM3~Sm{1U1C50?+u`W)}RQX|? zcr;st*%b&Nk#82=PoR^nGvuEtQWqN!KnOqs>QLb9nX_jf9D8-8JQ;ND%zZH4MmyMKrvgePs13tM=dJ#Y-?$Ue zDA|YRj@9fM*yVa0q*GEbrMl9b9LWo7sfuc$Xt$-ooIE+>x1x*NwhdgAK8RA~7GWOO z4E$f#W9y`T(bGvZm(gfM2%~{6sgxkic$D%3j!f`BcaAc95N)l1BQgxKbotP74aE*q z$5dq#9}jghg={JI{7~FWTdlDgGjEt+V&t<- zGq8NsDmAj`*ACfs=$P_Edsn97(n!|S7#Ho-1Kc>dCzK#|&?NUP_q5!`%>bQDVt1m+ z_bDaVN=h%&_`z;Xn>5klG%ybSJSj5!4xKJTvrrZY=)mLdHvG!r7U)J=;{V`ArUzhI zx)ns!b|_@Lte;@BX3`q+GIO8J$(z0Nit{xahxyG|tetQAx^+?I-J?Bk*xJ}&N#B!{ z1Y32KnjBdtCQ<1h98&%^b~q^b011zTaQ47*h5ElJ`A_MOm;P*=;b1cxuk z5-M&@+JS|MgC;dqX*@2>zG-(2HNj@~3LKMG4-FtGXqqqPF`{4Hj>DkP(!|`Ika~SF z@m)5Cv^6lC$4W;m`L0EweFeI?%jhY88v}Hl6exSXJ_{y!Y;l-%jKNhBBpSa$QQLoe zhe*rOj?7`k7K8*sUl?|%+?Nl(W2wwfm;(;H5tfe`Y(#JONxRP4g(9{iRTL%qqZiR&u)-ZD(*Q~MMEhvq3rJ> z`%|E&^QK)8LP_FkLejwihGn9ghxiC&YZt|O81PMUPY_MF4Fe{v2!T{3!No0L^a z4!MhFEZ7%hl^gOb*&)F1%$XZQ-?T}YV7)5gBJNIK8d8!x5fNy&c;r*jl)K?1((! z4~;->${eZ}FBfsXe9nVx3$gkOH5Oty#X4{K|C@rma{ad;w}I1EN9JVowwk zqIQX9J-+mII-Yw|9$Kt6Pn}H0Cv->Bi)n2o1vUfdl}UBe@D+ixV3p~nPPxkt-_P}m z#+MO|rNyU!C@=qjfXN)cs8PRaA$XF!+*>X`X^&Y-eb+Y!hW@d4Lh1sHe1s6HZ{$BD zEJY9?-wt$TN09t*5(J^~EcmD*B{ z^tMl{F|tR|4;ddirjZ5@hF@_iaJKV^y+g)=h#6eDQoL*S*~U!|aUy9F->sks4e_G< z##Lwo{s&|}?PmpMs?Nxtd0h2rJPS0-!?Fnk_h5JFH^1FKvDx$+7=v`Y6h!-heLz>M zF^timcm|7eQ&|NWbpC4t9uI_RI_q?AMc6Da>uX*$zF}DP+w>+}=3c4RsrUN=6d{44 zjP47~PSH4y?ZX1>8I2Lw!-iQ$R0=%~4J`C^<&8db`Lsw`+0Mge+ng;FRE0kAyY9-R z`}WSlq4;@;6aZi|0J}Dsdf!G33=L~0yB37hga6^nu#}cG6`A_9s2y9jTtTABktzw? zVh}qgEtg0Z_*Q{;4YEejIg#-aXnh%(reY<}*7equzi=u9KB4CZ{wy>Lk=Ni?gnI?sJ($bI+77WZzcr8jZheeryhTEW_7=pO^ z7R(>yXOu5s^KHZU0zaYl)kfickXLJ8CD6LsZz+STR*m47zIlAAI$)PhCw-Ad6V3mt zzI}h?dcT%%8?v{iHmegJ8}ljQ+C*5&M~M?izCFtt3d8qSk_JP2q9zg9IEs?J-vfN4 z1rLYCQcGk&2+U&^)1-3m_U%N@u#}K6zp}&vgY3cVA9zCOxy`*C?Ld-Z-e@o3-8>^C z7;>Frp}?4q!g<}`iB;i(N(hFd%ioP&{KJ((+PrGYiZW_VGt)pcmKexJ@d)%L4CAk@ z6TvbfJ0$yKTbgq;AWYkJS$ha|SpK?SkB(|C_*G1bRiOL3&Nq^Tmo&O)##1iufd_At z0%QS9gkVgeS6Sydbbtno)hbegi4I2PgrsplXHp(l94WM0k)n7QP+(duf#*T2(aK6% zzVl&A$g6;=MctwPSWZ8fW=%s8a^Ir^m#H0v`T@^zw5ViSgLZmR0Tl~HyQDz@1866} zdljlPpw*?Iu3*?ApLw-|AQicR7M;KVHQ|BeItk!R=S%&a&H-bPJp=19S9E?vX&_Jo zm`48IP5Bo?HSm&uU^XWvD2JZ#pG8@-_2;w_sNl6jRs<-{P~X?2Wxi88Xla>trS%)y zGHnsB>-~3=i5499gCu1P898AUnF))a7}JSH+_5xk*NxqG?lPK!LhKF%_4xxYkP}oy zPznyZ5}EI*n+r^NxvUNP5xv1>3T<9Y`5HA!Z%TP~oRtZmPOfT;pqZo<_vHRuDNG@0 zxx_00WDHvG%>@5i{|`~1(K27Ax|zy=o`LSN@K0^qR;SRSrxPFsuPKY5f<$kiYb*qM zQCXVcCQS^uloS!iSN;C!2XEYf4E|%5lC!F8jA(103N7$8>c_(Es@F8tyZxv#X+}eG z9xXl4332%~{RlkBXhJCTsjeNhh9UwRO{OP&=gp z0Gws#a@_DT3*^xbJVG~>O!Wn8ynhcabb&g`Q~l5P|7nATtP@BLN8v;q7X1Q*`l&!9 zsfSMoIs4_6q78aiFtr0dZU)b{tD%M?h?Yy@bdYX4%0<5?A<;GT& zbri>rY^Sj474LkA5|oQJExo$Q1I6^zZQG2eDeNe1otD-gJ)h=gJiVvsycFrz0k8nBb-dNc+@F}{<3dhL_cG4lE|2g_G1e*=EriC(vN)5Z;TS3fK0w^? zlyn6oCUJ?_arA#h_I+8CT)GaN1KXL*VE_<;QIA~)Cba*y9jXUBX?y78i4&oHzN)E_31X2J>hC++6NVj!eZ zc!ZPp$XMQ|2BaQLiKH3rwJC2z#MvJ%mR+g?$%~-nNza{GA-=CxeNY3Q$lZ%hg#zFL zp0fZtg2G7->dsJ^c=fsKi>ep99tzci2u5IjWeX}>(!_XuK=sekOQB|12Ns*o&8gjKSYg3Dj2!dG%?$zHTy@RS82FKqkw>| zl3M$(JYCkc4Ki-|X+YgBd0P3z&Z-3iMB1>eQ-Ln1sh$IN2b4 zTOAe{qUM>_em^UICrq4pX{JX&+zRtqYHEvQ|8WoNZ<5y6D?fV>74t1oI-@vJ{vysF z2KqA|+tJ^nL@f^rorc1KNw5t}x}WkN#wZmVd2 zmyy^d9kWg0Uls$0Jrncg_5Z4)Rce=|RQrmmE;0K)(W z=m?l*`23_emZ|ig2l?N7kpC^ECe~l()p;1NAlwyUMWJEXcj^H?Z#QT|k7J1oPO>BG zjQ(N)){|LB%VN-co4KQBU{7C>55Xj>0pQ;p@Wao)9y$G>{{QonLy#_R^G}TWzlwYF zxSaDh?E5PFHd%+6v5kEf#-6fo5fWo9q+&4H2`SsycZ#u;CEFlWh*I_?WSt}wO4g!~ zv|P{oxbmCdJoodwUe9yi_aC>{Ykt3^uIqb!zn{=FoWQ#w?o86!8t z#LhQwyiwTCE4uE=|J1!|)Inrdd#QeNUwe{j(^z9ohSJ^N^lDE^5*?KDXD_vP;Y4-GRKHG2M*3TlfF+rN$nA=-SiH zt`<@(jweoUKe3WT{`9UFX)OG(vaPG$aLKQ09nb)V9S0PgNe&h2kzR}N!?svQ#ORN? zgOlfVj=)zGI>4uzT0vIb_jEK+7(+I7*3>`dbt*8cARwFz^8BtLbA^Rws+H+b1hp z@QNwGio?q?Me#4w~nO@TpZ-0=qSrW6#O#c`Ya{PO#1$ca>la6sWC)B&-cymPVa zM)v|X{R7${PKL&ZRucOzMn|tkn{@3b2X))fE1iFvUF~^aYCAWgMw42@ghpkYBy;D`UE~-Tv%NYKQi(8NW3-pm z;7kE$Fpz$!)sHfbm&VTL26+lJ-My45h@nUcuVz?L@Ou1yp}k{Z=ym{F5ndlUSGJyGY7;;HaT=F->}P?~W|JTKqW7QkxUt)88di-aKPI;KO(cg-8K7vR=>F zc9~-^I;0;fcV;=n`d92v8Gi|ISXVk4sBoqE_N-{6xsStV|7u?2LSs$Bd*ALZg=@sS z)(k7!4~`WGBoY#L;Mc&ztdZSlp-~wpK_tCmv;pPj&y z4rG`c;XkGGrJBRMr{9pb+c_PJw#3fw;K2?Pal>bj!&zCQa&x8^?2Z>(z@( z{IrJ~iQ8MyJzi$}X&V|dH#Qvlc~NR$SPO*bn+OO=NlBm1WyFvK)olN4)Z)NJaevKU$86oHBuNQ@-X7Vg=0k4K{o{VEChhbY-4boOSv{Ej0sH!P zh%*+dGRNPr(Z^>G<>6j~%P&9PXBU?BhdkR&6UZ)b?0r+)Y@<`z;7L@xH2{zbk^pFIBCWU;*?B}%L zRW0(>W~+ZxMWT27YfwTdQ|{fnXA|NV_H=->HDtX8`TlL)dYvLZbWWyHyg7h546F5q z+AUeKq@g`I4;+#+67E)Q+T^~TB7*4r9eQ@CObQs#p0$9^d&+7hZr-9SORl`7Wp*f^ zoG1g@6L_N&w#hp>3rwbc3F%AP1z$RFaXW^ zm#ELtsS&U8+YwetD!`VTIDLA-1mXcSwO$joh*SJ0xI}mBTDot9n4XxU?l}r@d zt&T8;g8Rro!FlD_jT2#4tho$SWl7-~Pt;0GLbhhjn)c+D8dOX&VVIio=m*kklM@Is z8I-UR+mK1#{UZdAwpC_PNzQqi2nZf4xLH*?aT;@~Yb=_FI{ z$t_3n4w!H)huFlY;0vS2<(fe?N5Wawn^n{whf)q!Sl^C&@9x;3*}1X_#Qvlcmwe*) z$6UyKnh1+39XoUg$6r_W5%uDH_<4;+Q*poqaLt7mLkp(LZOVP)@$T8PbAU;hy~8z zT@$t^1y^AS3EHe?S^v7F*jr{!l0FzHp0I*p^0}Y;7C+i;)ISb2IC9jwh_K5+t5S`# zzneKQ;U>=JTcSPjC;>M80hW0ZgHx*<8R)shlt0y;}yG5~6iT ziy_<=SJz8CJ1Crj>^C_$(K81C?H>N=drDEzFav&5wzvd=ydl&XaykbsiQtv%^k(CL zrum8l3PT0!IjxwE9LbPHxNo!Q7hZ9(v1Sa^4qjfxqkMZvN7hBbgg1c^wNNioU_Rqx zBD%GDQ=7@`W0+J-K6*}TwAP(IUfqHsWu4%nE`+dNHm#upWP=X1JsvD zKA-ddxVy=?|I(B$m($kih-^agAk82o14+Q$bvw{lCO7)APC)Q(j5(J|nnGMjJ6ouV z+yW7IgApzD8EtHOn?59cD7k4&n9!ShPdvLwT5tQXv18c2ny-bMlT65m19gt3Vp54J zpDaDt8|*~98bTy2m`?i`@@d=?pF{q!Uq8Pq)}9cKaIgUFKBFO1W%Gz*9YasBZf%DG zN6H0Zue@+NK-q6a{PRpQf#Dmrjy~P4aU*a*@T2ue%2177KyC^DqFzWyieHy^8#3h2 z=?6WUME%r5VpvW zkiX+Y(2bxeIv6)WGk?x}wY7ps62Dh-=Jnif^l*$1pY2PBVY?aDbcxy1?m~@o3H1rB zM(ZugP(3{>QB@W~F+My|CKzx+y$a33!uuwRP(IWU*)r`g$mt5${w@X6p_VOH(}aR0 z_dK7nfld+I)xFFe9((@AUJR(t)eIJowz;VbxKf9@6cBRRA}%t^YsaTC5uDxF^b+&& zV|jt*1xjT-7vE$=q`_cq%uY}KqibATT)tb(LNUDCc>!rjC>xnAg^^!rxnxTt#=fHG z`6(HVdN!mwBSkYiLiz(Jh@+-6RPT`cY2+l%uAj4i?ZjHpOc@|H)Egx@C23{uMYk`K z4e7Iixdll}mZZ)G1LdPDZkQU>C#At}ou1M|97z)xQ`PRyimy$DUUN4I(Vg5z7!o>p zi9CID7W-zZgRw)_FuQY+v0x4WB)s9h^>>S zO&b7m{TgPH_JhA@QyehPYcplQUiC!aX`Xv7D*(_%%K5z4BtDqS!H0z?yp)gh@Et~O z{-8%2pcw;BV0HMExY;`Xs&;zBT$7D22t!m@ey76$cCllA z8*rj=t5%y55)xvX9``t(V?q!d%jr$^dH5fp1K++hSxV%6_upTdtVi>Zhkt)*@;S&u zA^!Dc9?z8biYChG+lz}S_aQN-J|N2r8(6{gY`^$e_>C6(FdN7FF{S#G4 zM2fru0!VQTBUWkM>dVDVixb8R4t%8?b(Mj@qtG3 zN34|vAt9hO-4BE?xl#^s&p_fRF)NtLF7RZ8L2~3L{I$mFi|r(XI36G8VkDnPL!6O^ z8ASN$UBFu3Q=dFfNx6wjh+z=jOTgg8E4C^Lgm2)cT;ji%+(ViB!1=%x0qVUb-7H=8=eaDZ|MbM)d53YII*kV$8ZrRB?f_@cUp$050UPLt-VTn@ zpIr6Y-MjtGeuHPGj+87b;O?sph>y(gL2}&(RocL3GFN%55^Mv2>#>lK0q~InydMU+ zt$ujM^R)RriW7>z0{QdrqouexO8x@-m{l{4WI%N|neX6Ac;HMY}nLpxWG*>6b| z?hAZMA4&hlZ{+d9AaIlBB1nUa_C;+*`#K0sL)CTc6bF7rB`V-n(Y}~e+mo>QnBQv| zKW7(M><$Cv0B>qf#nM+G444kfTo(-ByN6@K!NFkzu3z;3_usoJ?bD|L`u(pASKEkR zwz&gIM)36TdP;@A7}FxC!>%n}O#?>9j`P8FWW52hnI&B;zKS<)Wl|wyw@&x8lBr}R`uJ9=VLnh&}^+Cr*KvA4xq2p7c zWSiPsPTZ^t@HtDQ!pe4tml6n!Wo!fpzfw4QC{#hw7XS=cAc1x?=mMq3f3|eLN#IAh z=M2Loq#S@w#<#F{1`_K0Oru*xtd)-s^;Z5!xEz?_QNU)Jbpgq#)@BxF=G&lX6q@=ksC>XaA25q&8r827<6V%Yh`SFtu{6D z5s>^(rtP|2*lNq&6lR~p6vP69f^&?9W#)#OMpYoRGRWx$IhFb-r0}75p$0rk&OVHV$@0 zV25irZ(hzo`9M7c7Oq|v(t|r^JZBSy24e?@FGWr0i9%JO)wnxq_tDsQdcdgVE#8kW z>aMy{gx- z0|4&{`HVk#Gs+ht589p@uCCFpE*$@$RoN1e#S)_l)EwBnMrSoH7+A8B zzG%Xg8%5Eh@YymNC1PsSCK_*gv-;9XjT`7WH1=W#^l2#mH50}PM|G4t>*07=E=i`P zpKU?^4*Q{pX|%(Vh%cRPU08^cb0Wz!kDNYNpB9OO_ukd0z?u&UbaW0F-eZsT{>ukv zifa5YHALkybM&BS8rHq>)AViV@~CoezxhOsQpNxPe8{a`;|>zwpxQI z>vH|3AVvNB+(bn0nw~A$j|AZ4Al$4m41a;CJbC&wF6ujLzU0F`bndqD$1b2M(%+EJ z!4n^v;mN6O;DHqovWq3y+Gf$@VgOITccfEc5Gn&^b+o> zTs>JdOzgt4a0`V=LQ2Ya*-p_}=yEi9uXgQ1z@-NEsm^Z_$%5M>+ei9Gqd z2_<9V{NQ;{*HH$2$jyuF3hB?#wz;4U6M?8$vmuVztmARznE|rtEOm^TJUcksy0P3+ zQVtJqV4&U>??~g%S_Y3IFdM^cRZ;*D@-E|IxcO4X@rR_l{ZLy^@=N)DvwZzG+}Tr9 zz!8jfNi2~-^QS*;U-u$86!RoB7sXJv(XdT0Q`jUffVv24Vk(w2-s1*VxP8#>$?yZH zL6MQt|4i^_-X-DJ)Tp0IZ};tjaN$f$G$Tn(4%8{Ba1fx49!Df#qXK$ z=H0uTbI#MJPQ5;(B1OPM%ULs9SUkFXxm#A;#fx2R|2CV@YSxoUxm$7aLAHf)L!UFA zW^80xJaDE{B;7ClJ2^bdA^2U|tjwpe6~BfRt7Q|z377nPI(+BY^2KA6T%D9A;fq@|NCAw z)?VM@mOF(*hJOzG7^7hyAy#{3RQYL>aU&Z_z0)voe-$@2g@I$-V95MMDjrS6Vs1&o zCW#i&gHeZ0k2O=CKB~e2_iWbrw?yL(sC%tgjqS9#Tthz<1=|tQ{BI|+!|_NsjUl^w znQn)cK$V>vb^^gO24gkP>e!TIJNSV2kESd55-wtvt<8BnVcn<07X!hJ5!F81ICeG7 zN2pzgG-<1hBJZPb0>q*B)WZ6UxBeqZQVTcW*k!;C&c`9s(qcT@^`@JYztVx##rhEp)p{6B-|!XtZs!EoEa{i-3$_Fy2w?etkbMdqET5k|;WQ z7*~g9eYbk&lX&agC&9h@6t2;+>c=%DOLpwsW^JwByX$oC-{ww-159o)D=>C(t%a3$ zFReOYR=@Vedmos(P?zhzWwf77tGCYI&0LkcyYQpHH)-p(J&xU$bN#JrYNihoYxUbJ z_oO&hVv555!?3Uu5XBtn_<%pMnL8BPI`h_(;?V~<>lE~8XrIzB!ZWJ{!QeSUg0JsM zda}FlWBp2%z11bL3sRNy__|IW{^sl0HiRkoRM}B#3$w1$ku9f_Qyb{w=!va^<|0sI zCNPcJg+tZw@lDKXPD=!cnt01rl*a*w*Axh70>d?G>mGJ?a}%a<1AFQB@9tflbm}P; z-!9;MH93MDDr07S@`HPTip22fLD5!fn!1NLV%LeZro4ajL98WzgFLL)FCk;RNWf*|JEg9_}NF8M})|B7)S zuhy_YrX|TiokXaRMi}Z}zz8KiCM{Qj3zz83HH03g^=hFIUNAC^mto0x;Dn=$lp^TJ z))90S?V!r0k`NgKfW%bVQG^r79OrT4mID|t&|?R{pqxm^zofb&?WsV|Lzy2Of38+7 z?I6U7eW~r1(r#MGyvF@#` zlYn?v*IGEjs~J$d2lF|AN+c2nNRkUF3ur{s%@2ayEWkjH4O>rM_Zqbv!elX2xJK?E zys9CV9z5K!=gkgpN|n<6%$!U;d;y~<@;|kX+&M905kH%g6gdsTX+aM?uyywYDxqGb8GOC2YiU)U0N(IV*9x25KUl{i z%$t{a&zVD*w-|3r-GE*|PDj+Nw?NXt)&%7W*e9LW@C5xTIY=oYJ&C&RJGTgt=sGS^ z8T_g$Hs1!da;#3G#Rp`lE7Gg6aIol!xF3HK1%PThkV4Sfc6_|dB1xH_$2fV_#Htc; zt0eB!XIKvu2a@r*JZtuBrpI0e=|}y)n`6*t;H33e7Xo6FHTts{)HuL8W6^8$`>VJU zshu*GFX4|l52rtZ-ev4TgNP@>ze+`4$5~4WyrY_K#%!j(ZmfKQ7(K%IqZ#K&xwy7k zV47SkW+pYOwjc#1xmOMo7?_$b@Xf1NSILUhX-kL+SS^u zijts%@X9i7$8Dr4jxtCpVvm*JlV7HB3Fd)Cgyvf_o5k0lhr#7?^0q`i4L6{YM2w_; zWNy*wO+drQn&iz&!a7U4O*KtuNCs2W*}$w2PXpJMxWB(&fl_O|{^FDd7AfFQoE1hP zM;O*xUuZ=6$v}na1klh?9M;qdCoZ0xP%fn$Ff;KL$V3QTm#&P7?kh5pr_g1q`On~Y zSi+6;*oK?|2+jlKQlKsYQA~^6HRw>|0f?zrjHBGg81doKPcYbwk?YQ5zT(@s ziuwk*=&;P#bENLQB~B>REoEPbsz#?T0Clr zk^!Q9K#jG=UF;2sAvm`xpLFLa<(YNwvab9?xUU9f!gIHSK2YZ4H`c$)tl-l3<~ORA zRvudZ)x4|sa~q&SCSmz=Tr3NRfjD2!Pb1Y8hygOVIy)S>Q~J`s4|Dp4eSSEOcn+N5 zzo3WK?+o&&&bifU*WO$E>zsiD2d=KU)utg0V};go3$L7?o3TGX(3$=eeVO-UFEd7@R`uCa%7HcuWRrX~~T(D{$u1s9t&f)!pYv6_+fjijs^~(%xB9RckkXkl6(UGPs60ZSL^ikkMx_{C@A*e{Qv#}hi3`c#ArHEmY*Hr z4~wsWjK4v-Zru9Loy~@K-o6l^rU_Z1Rl9a1FyE;(DE`)Tf4G%tyOl6Q|FCG}^u_YD z?`Qhe+z$7~*Ge;gNxO?QJj4##8S8B|1&8c>`wI+DZ0*`~vs%(Q+MKyz;IF;9aKx4> z)vtZ|wYBS_SQU`NfGBohT^8&z)0^r(_o4VJEgdhb8EGWbBlqvrO)%Ze^?!r>lEx6g z`n4*r*YoH)W?ieb$=8u}J)nIU`SU>2KdkN62n2yRQ?4T)GTtm3?+poRZ z8xYWLss~d3>8tc&Q!b3K+*erlEndhq8Pf+;Gd3Gz8gs0|&s23fGsnk;;-90!zO9}? zV(U>YwhYK$V5-OWn|sw#j7J|qEcHpE#&}Bh47y=+8^tpTd#YZR394MIan?jPN8^B5v#lY&^LP+P2%RZG2T6(D=%^Ypvm?)c*q*MgQ`1 z;68GwDz92J7=G%bG3<9%IS>>KAWy_*TmeVS8w0+;h`U+-&pb zjTePnZ~RiBI2SBIuv!vXK!>xC2St-5C_7g|2UJ9COtSDZj*QFb7FFfq)kSPEwq*ge z{V`>r0l*jd&K9z;cAuJjf=pMTcE8XNErhbSl4Ab`{SrJC^^WeL&nb_icy;ymQw1ch zZ22UCPE?=ENaSRBGB-1+yzTo#L}luwOH|O@=zN+-?dX*=jpC;hLNTiR6&0Gymn|sc zElaGw+8I;JecU6`0nZU}R7>jaB=LHVD(yKHi3t@{CI#sQKH3p5*+9Lc+2rbMBxI(s zy5D4?JDW*}*C$uEpO9AMk&GHQm|6~~?-+@+Xjtu1@+aqC8g}?dgOD0mbv-P4WB;^7pp<2ASX7XxJYa@%CGBu@haCvImtrW;fw4R)5YPpPbpKji@QxgT}lft%cOk0559& zG{*l9wyUO-gu^MS*?x*0T2+qG%V&U~?hKD{WqoZ6N_S_dcg>VT5u1-b3i80`%+6BJ zDmewB$!>CkrEwf98dQ`r0G8Dv3EIq80lr$kv?da$v}EBbdy$}OASSh+3ol_2oQUVG zFOYsZl_#dZ;s6XP5|zip;vhBA90$ryfdHz%`1AJh>GCM`hDE#4CA0Cq(Kra1wk76U z@+6~NquSlW8>j{$kW9jNQLeQjcnJuyVj6sM;?F1$WdkVS0$PlLl;1@XLewV0ev?y` zgmvt6ByyEu{Pxjyqxrl%f;lhG(EeO7*SPR^Djki#WH2V}^EX(E*YT#+7%w$J@|5$9 zU}*vpGYKi0wIZ5ag*#=1I*#}w=T36u3-A)kzgevsR*z(A?WRrL*=f*m$#7k2nPdqo z69fn^(w<|U$Wws?OQaZWet?bV!BWgb;jxJP0aTJw&=38P${@E+8sMKoTRE?%CxxY)26xbBT|s@;SCv= z=El3fVyKAdf^48C?wA=}c0K6fGCN5-9BiOudh8W`e8adnGG}U4FGw%XbrAVr{r zK-wn5Qv%#2?rxun6ORN$&Ei=sS-w2WFBQ4^7TN;A66GsRkYe`vc8W0R5?NmAZqaeb zVWpg%nFzeO)|>&*syf&bH@QEQxT8l>If^ee=3pHp_YT(gk?>c}^ygu8o#OAWRAZVoQWn|jqkpZ5hdZiDp?!_#lJJ$dRByuvvyTfWvT3%((n zI3#P@Oaw&+KjG3GORF*QQ#EL>ZEZH1{-= zv188&%vuS6X~(!ta+LwPxYvVNO?X`EJ$Hh%qU5k z#XnF_bp?^H1H{^?@nx45TYzn`YyA7zbqH}xXf;h9eP&N;6XwFNaTzupksC=R#}R|s z7J|@oCut-4IPd$9?8mzt*X)6%fZ>!=29j59ud~Ni9x76_&|0U0m|5N5`51Z%J06|Z z39K%N3viA0y=G!qTR$mXE!D=4b%S`zCt1vf<{NW>GP1qM$(EGspDC;{AI(|p{H}Mc zGKNZRrmFQ%_H~qRX7Vy3Vl4)QF)$;>peN1qX$JQsvrTX%=1CRMs}oku6JNh@Z?UD} ziDG5zM9xkP?}n6)&3dBORySaq*cjKK*vXq$WyMuyswDO<;0$}v0`d9nDS{1<$Z$#* zITje}d4!uq$Yjh+LktLSkAC4u79}f;c{XO-~lUZ*X zM&(~bv-YX2I`6|KrnH<05Mt$q&C^P%BQU{`;Dt`7rWRorlTcBQy&&n4nx305_}oxd zGs2D$tQ@(zQUMFbK_sh_i#*bZeVw*Y33O zil?~$1F04v1$e~=Om`wD8VZpHhawDwSum$X9Ku2LynZvyt1|OUUQ<^WRWLJB_i*zy z$A+T$DcK)^kqvI@YvjSOnD}NiY!;tDu7vy2`|DS`J;wP(zQu$z8e_gz65cudT%bAWsZJNf#Fcw3HvYs-RaffmK|CHltL& zBiXENZ&p^r=*+Bly?XRG8oY!?WR))xG65MBTyXYINN%pLr@j3;7wdW8nwqZ3gpb@!1fdq8#Fp;?$Mz*szfIPj zZ6*c|HRd?qVk?RAr%`}&s3T!}@agG?T=sQ>k}+`XiIWSu)AEUd z_x}cO;*XelNI>|G-C%jlYf7GVhG+yhC%=RW9M#A{-aZN~* zyhfSqM{=N2G;18SDkPsWg<)d$QVz(vfitO0#foxr3Jm}JBR6m~Q=-YA zBPWM=^CL&e@6d$wBveB@7f9)S#ux245%Xh*?@N_hTmBL``hbPCufq*IH*2}E+6gKr zHO3V3Y1^umz+BBhsn)I<5eAyi7`y1f=%z_O_MhYR!TQoMO13w`c%t~{e&HTZXYrp<%P)K2M^h`l9;*3 zII=@_>MGw=%a)CjRGZWeOTg^SZML&WFqgnI-TJe$#?W?7>}TJ;eCFcWNgIFFnEA`n?Hfxt{Zom;ri3`M&k7(AN z(m{^$03;T}YcruXPjJw)oDm7y}%#_3rLGJ&iY*| z(`M<{-ZwdlBVQihB;7|EMBz3%x~W;lscVlcl32wraMUT3GW-(8TN4~z8}Mj(T{wMrbR7N$M7LtGPjYu0ViA#aZM2+vrPysmVIgPE*wKN zJ6G?F@+A>jNOcGgg5XmmrSv`NynzPPtjok`KR+Du|WBpnG6am%+cKl^{2e+>N)Evyg~qxdd=`#bQJA>tN*JDm9`_ zRbp+fpXgmQk_;DKK2Zj@aB}b+OW5p#&Sgs7LII0hIb^!OX_Z+`{|#SF%0QFQ-u=mF z4hoFlI(5k`Ltc9x`fD?uLlN0&%WH0E+osK^apQ`4bL6o>RsI0?Or4tFpVm!NBNG>+ z&IU$sb!4yCb=X(ZK(enYgFq%1Xc{RPRDbr`wW4%k82BW3n3o`&)ub9kTml7Ofl$sf zjcUGm7|W2yKAML}|IlxRa*LdL^oQx1&A*mm%G?dwIxp~~jPIL($exXj&0MstofQ#~ zazakd264iqCep2mY~qTXd1XA2V9}v6&T2WD5y7tSWY|XH!Ff)C1a(hPpxfL4 z!WKym#kk6ONekyC`Y_>;QW2NV0VXJZdr-W`PVd~+&aH1KJNjqnf3b(toXdlN4UTuS9F<6?pQ1ZC9ezo)npLrJOfO!5$-2zFAI5Ffzm zl1y@e7pM=s*)Rx?43R{Bfy878)bt6=hWW`oY~-t^snms3asZXi1O^m0Lh$GVmJv9X zeL68@Xh(-OBm2h1TGLTEete3jl|&$H;Na@U#cYee3g>;Stad}XnB`Q78sB2*kc$(> zkJoZz^SUuGg#u(feS|%Sdm1}|WmXyVJ##c*K@41Ia04%hX){Q*Sz{9Z8WwsiDITzd z4849#4lq-2_GwZ8RFD+5NA$iwTVa$&&QDZlWkAIAt!aLDW6g>z6cUL|YEAJIL^;K!s?sHJU0#zwG>0z?1%H3|M=1_FyLUD!-gBTyh(Lkx+bk@f) ziH^Wr4Oj#6X#7SO(irIvW(M`t{@0ORG;v=R-h7MjA`WHN!S zhfUg@n3#-tjna6qKeNu@$CVxNxjx`{i6*Y`qq$6WEuaB|*b3+8vZIQC%oJq&WG9ib zORmK4aJuKU7DF~NdMM8(F`Y*>-iaDYFe_t5U1IeB^XwR8V&Sv&K9Q^Pp!o4E*8BLl zdaMA7<^JXOr`FQ7g89=sGh(o2MT47@_+9a{vGI1X5kx6a67e zv^*L-g@oZ4FpObt_J?ldRC$qbXf3B^n|t|qZ^aUwiUc91KWhr=3DV*$shheHft^E- zUu3(Gm#R-g5^+UIpq~U*J-cKn#%`rcmHH4lcO3dO0K+{%Lc|Q5w62g^wdObhU3<=< zEaaK0j2mBf=7qX^oz?0V9I5s;ghdH$(LN^UoTDwAxl4}iA1VS&$l4&Q@G(s_h} z`!m^ z)`8@F89RaFM~0Ll1)0p3xg)M{Nq{mkKduHAxG7h{5p9?WI>SkDI%%Od3aH zv-j^ek2$t@QFiiRJ$2F!j@&zEB_K-Mxww1p?+!|Evih)>Nm7*dTO?cXII<2D{2h zXAw4+!-C(q{ax8o9`huu;s%GEnwum2LoGTaIO&hlevREhZ`Srpz<&xyz_P_O-F@F+ z(6_Ojm*8ih2*uE993X3lg6AS)DJaH%@P=sEda17^Bc*1$cH4lxG_uN2%WmrxQUQdN znyf{&69kh;_*;SbT)leB=zTge^TQ}@JXSEYJw4#oV(TEZ7T?>&M$O9 zEpp`O?dap(Zj7+Zei~mlCud#qV~%byPLzJn#an~QZm2il^}J}4-fBuBw}&A!tBC#A zUDK<3{*FSJ=#4E0DQ3B>*3K=qV6B6oty2B^e|4LiZB-0P3)%hG^S|FjK{5)ftLV`! zUlJ-PK-BpMt%e@KW?k})>(>$H78A8}3=oLg!>m2J6cG~!cIh+dRq1Mx<@W4ZR1!Pr z!D8ymnur!bACVocJNbh*)zwj|8*m+^HBfiEs0HD{H4Bo{Z2SJyHi&b8Cve%$?)LkMZQG~q7<8M>RwORY2xY3h>DWBjFsiCp_d4H{b;4MfnUa$+FE!e9Zu$qUYgS_dd zLAA!v3ty8pN^QEo=7-j!Eh|v^d%RvhJE#BL!Zz0_(lTN4{a$4xrlhPQu2=bEcSJq< zX4Sj_EIGs{ARyo=*DVss0&5&5V=Yz zQmFdm*u&=UZfB=-w_2@Q1y8p8u3g=_S4-!nMr81-CRveZyv~KNc=r%I-FDM5MFuU- z8)kL;X3wqLwyos8@Nid;H(K{Z$q8CFi6FoDi4Bd8Y(BSGW7>Pq@s<_tUHe)**R%PS z8w3pN_u&FT;ygZ4DWr=(V1b%2?cG{J2uDu3i7AS<*NhQ!}c>RxwR!0>m&)^e}aek551L zikec6jLZk9-;8yvZY$soTYp$ci8M*a(qS2dW7DZ3(`idO2xDU>VR6k7N6zHJZAIwz z2T7F#3}Y>P)uv?t*MVLN{O!82>Bz-UeePa|Ug zK__6xugxxyosoNU+~zFyvVp@>b_KB0|EzFb*8aJmxn->)WEnPNhS!d9Y`zbRoo`jD zRB7Jq;V1o)GBQqX(i`XF3GGa89p$d&P+$o zPXlCQ15_l;Nc?@uTeWaW-Nah#&F z5}J?-hGe(J7h_)5X*xH+HyUVmiF1)X@pIC9AHJNMYww;>uCe1*Y`um>0c4HHJV6%@ z{K?Vj&z#q7+m^HV`Sa$Vhi!MGwxx*p355U;V=RIRw7Up~9lhNCgDWKVIC}iJD~B!LJ*eQ8`5Y_$F8V zPTu=Z(sJeQ3$)z-`l}B%ng9IteeMt4L051SwFJf0nH Q;7^Y(cAXD*95Mg@0!%>mzW@LL literal 0 HcmV?d00001 diff --git a/bip-ir/overview_flow.png b/bip-ir/overview_flow.png deleted file mode 100644 index c90b8c4c0e24083bd23ee6728af6ffbb931d0b21..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 67368 zcmcG%2{@JeyFUIRlzEkqh-fgCA%!SI%Mc|bQ)O0?GL<=$(vlK|(kMfdWT-?LlMGR* zT@sn6QV10?{O`}|`#azBpU-uj^Xt0y)!xPOzMtWF?&rSm=h@L_riQ#+qFfY3@oqMv zTTm41ApWVF%Yi?68l?6czs=dJyH%H>a?f&4IkDrvC0&dxwo+8^3W|z2PEnKiqlkWr zI;=!dUmYoG{Y8or_P+AOTnm4};cQ|^$M5(xvFT|zew*iQWa~#!-1EslEN?%DP2t45Gns^>!DQ8~_NCgB14q7bPKRnsh3U0VjC1NIgp z|AK=}dHPTNzuT>1kYCl`jvYI;&EP9*;x|3k!Q+ZNfLx>EUILN;+9qn+^<0(z9!ivT+U%WS4gK z)?W?}vBj_PA5{|Z7caUGzL$~;mTxKWVGH^7tsH;t(_I~J9em@o$%WNUKRPRW?e$Yj zx4H~c^zaMz*@myLZNPUiA|j~MOE!pR?R@;A(IK37=g#H}b~hW`>1`!PX!GYElhQwR zF=Syhqct$g?vdV}Ju9%vj&5%3S4~gGOB<%{e(E0{()8-ptKnb2*8P^7KYc)9(DlbU z&yNvj7OTmv{8&6Y^T#I7b)K)UujBsxF`u6XxD2%x%UIqP*f=xplAfOKSP{iLmz%p{ zr01pi4L$Zl-#;y+asr0zzqJ-G#=huxJUij!<;73cs_fdeYq)0Rb;(t$cy~TNsBdQ{ zdP-3CnCaE^$$#7=rSjbQ`1merhi|;J?f@4>{v~*<|EN`#oo-r#V^yrUx_3LpCA|7{ z^n#Uo85X+Pja_MHH|qKOuiH2~s(Zwf!vmN8 zESKsuTa*{N*5jXur%yFo!)K3pe#~J>l(&8n&~}7#@7}$27nRu_?5Wo)4*r?5zj5`J zWEFOfNS5izpB2weaCdzBc6w&|PZv&#df>36-9vYlM|NkhfYQ>^Z1(o{Ho4C1dtP0M z4*vPo>G$C0i&{Y{zJ7iU#UTL-HaV1)l~r%pJO)GInn9Xu&W8Hh+G8;>-1qL?QwsUz z89Fo3=iXAFobTCm4D0dCRpka&w7{>A@BZ$mQCth9)uw{M5vTRYs)JHa*nv(bTtlDEE3$1>k|@6jJ^R~pNMvtmZjW63k!>!pwT^+cP!W+?QeX6&oR4aqkQ|l2hLU3Nr^C> zg9lgRr+8z9{<*v3Ws4#|jS>n7W^;9QO$q$bY4g;7mFe}3XUH;F$1N?u>2F>1(PM3D zYU-P!AV0AU!GcXqO*y%_N3n%e*}HcOurA(*4$+fU+^Fs&Y3aqq8}QP&%yZ@C<>~tR zH}Fa7!DBLq){B4p_AO8_iqXID>!(NZyG~Z+jToj!;UhE{ONah^Z*62`q+@K%MJ``T zisZMJ!Ue*L_H=yj@YIA~OKG@-zrTOM;Q^r+XBMA)tvxGdZf;)NHYc@_Jx0^ED8uAJ zDy}T!?Aenwu6oh)m&e7$QIG6+LqbAqcJ6d(FFPu;t3U}0+K%J@@S$q|&tOUiSDikm zq@={ABvb=`HT-Uy_R{6c+4W0(_3qPe_cQ;rsd`3 z35bdDgolTFwiM9t7#G(a5XD#5CdjfaUcA^%^U9Sgr(?x6rPi!jfIOn->8XIL%!@Ug zGiOdp=){P~#!z(})b`$94t%}qo;|FTL9AHxHtlJ_ll&3}h>*CXJc^2n39EJrRh;BE zM0nh_dpAyB`B34FMqcv5eB$fNnwl0JXwKKiRZtEdbFaIqDNJ7G$st+1jM-EF13Zh@ z@gyfFd;9q4Iy$E0>HZoSImSrYk!f{%_tSOHo;}Ms(7f*Wi4!D}y}!G|$i!sR_fLJ<)UXe$Pquc+=T3j!ma{=vr9JMsx4Fs9Cm#E z;zg?24ZZQ<3Vvmm7d#I=o8})pc#yLPxHS$Az8 z+$?+`FujVTMqghQBoD68P%a8t)X>{o$@9PgCnb@%#6eo|UbJ{|OhiNk>r2g`k#v=H8#FZ+8>E>xy+ZWelx2mRaI;K{JPg)# z)_aMR-{dT(@L`2PI^9cIC_pN;(IL#I?}nZf`Nds^HO4Pj7Mm7kx>lfKG?5l)@$8O1 zE6G>nQ6ALr@UT(!nL)0`6*bl%^#l)Gp5hzq;L1O>A$YF@2$ zJw4VB*$!TVGJq5-2R}bOi9lzrp`nqirKM$w5c97u#p$iCsnInviz`eMpfy}C@c%A~ zuz34jcW5f&YPzkumT`NVxS?7bIHa~2IBWcO)mWGXx!50&!2Z6u@3R~&o3Mm zpv5o3cOmL0|9!R<=jVAmT0hindGI0fyr~o`O*w!EAEh|#8%JK4E`-RJ;2cedZE6FZ!OY5#x2~vGF96Zh=^8x zQQ5^&B{}EtfE5D5hn8IXQ?)=whlbmAcbpMjTX(fbVmpC2{cl*VhmJ&JBjZmPZQEuT z7^pt^bKvBSO(!pDzS6$=e>&db8jm9**@RZv%|Tf5t6D0>ozghakYOSm7#!@}S`^e9 zJ9=Rb2S=)IB!`CAl*sQ$PX10@;qmrJe&&iW&YxfKB33-ct8`k3BeJ~3r$1n@t@JG5 zv*TEQgTiRNp4YZp7TxVX5O7kE3VtE-b!WP9<{Lix@w z?`|oHp6QL%D?Oi-#6ihe-Mh$q3E7?b3dl8xw{_w@8AU%TKfihv>mm`|pMeYgtf7G> zmss0k-XDP2OP_;OhEJdit-w|Ec=X9xJ1eB??>(YX3`U{!)T;mPfeDU@W>h*fUS#wi zC?{c2=w)@aj)%wHLKobea9sj`>8=|AypGvt&%PY}a%g@3q4k1tmennpI`pv*?X&cEh!IwFo}HQg_}EJVF)0?| zoEWd;9>4IDM|@Clb2Pm$%Es)V--czlW;IBRPEloWsX7@K`Z85A974_GY^VZQi`O z0N7JINli+Mb^nKZL0=}WZwQIP8Io=4R=;767H z9B6E~v58Z`HgAr{&&=kkr%3T6{v@s1Ig>F#5PV0)N$E9fMiYBks51tU)zwCVvKHML z7nJwZiA;^X+jiT&csgaknzQPsH;;Zw?%a_{BqrvjEOTjq#0>Hp`>`NFg} zCM0&@{tfpxNQVxWb9(#v5r}J^VZ88L(*w?p8#m7S%yd%uj}g*)6nA1In>#V0QM1d-lb4LAwkLq7>{N z8li^z`E32h&~dYp*_n`_vHtkym6bL1m(}#?-D6+g8Hds0H3J5#ah?*JfnxIT+!J4J zUAMRCMIds+mibPO?W57KN-FMeBz=5*;!zqJ`}_aW9=o3xdTZPDr1{H@89;3T39Q$& zf}}ot_~46bmGxct^iS);kl*(i-P873VN*7RUSHm3_|8lPDJO5SC<^qM_?nsR`s#{? ziu3ciO}Q>7M+#i3Vru}~-A1}=Mo=mm>FFJ7DfBbkI6byKSt}@S7R|WHIoj-!8^pn#h0&G@uE&Uy7480CjGpoX0ytgHOuAYP4HU}4ic-* zGZE=?swa+u3z33_9tr>J}miWuE?ugNboT36 zh^&T&ZOQbnogg4wj(+Lr=;-X~O7rYHfBw814z{9aAD*M9N+LYLA#9@O#Np84_M>&z zwH?T3<2?F)|FpK}=Mil3NWo&YgVo=gAOGFeLtiXx@l@O|i+p=dkz>*HYT#$^m$uSU zDh_8sc)a;nK4^zzq}LiiVO$c$d2{E+fvosy+p?KXFDfeP253Cu6l`gkAg1ZRg-%}| zFsOhMe<43Ve^YVDV_dyc*b`vb%|=Fy1O;1*)ea>JQc`sL_Okg@t?gx92)nx(>IO*M{zWeQhB%GXBFw!>98&fT-+_y9t7;ciG&v%8~;Z zJ9qW!D$2Dv{{S%Fo_bNAfPf1eyrPV!PoL)Lwm$Z{{_*2SBX92yuOyD@BpX6BHMlgji%w-&G^{dY=X~6?PgMWYGI;VtcbE+&=M3L$jE1rV~ufN z*dtW;y`|4zu%LeWSIB|l`<1)t=~!KhRQkN8((qY{R#I%Uo)C)|dAcLdb+fG9!`q=a z`YH!o)Ehh=83)asJ6GV0fwcD2a3t!HEyhU-vIt*E?=!7UKvcP*FqJy@JA_*YSw7w1 zjA-Z3kRtXwX!*de>ECTHQS&DJ{!!}UGwXug7v|?bD}3{@SDSt4kt6!_Ww=2eAMVNG z6_fJZUK-;;60Tpi&%OYGm=yvAx}K9v`1o{)3(Qp62BkvKs`_5 zmCQ>JL^lq7`)H2Ozlky{17(jzzNf9M_5CXd&LBAxWVbJql+-yE8Clufyc1burL3%M z=a(&yQwzt+Vg9 zwB;YzdB?u^i3kseZLaeP5MFkL{1JJ&qMH8q4h^>0(npL}Qa!izLPLwFxJ@Vdiif94 z6$e*tyCz80atr~z7;9Wtc8LNEl^Z?$<*h!JL7)D-yj+)@WvL*;RpMe|3EGlW_dj>G zpSyTbhU#wiDqV;Zua5fXTvF1C`}gk~`_O22>>k~<_<&HOfNPlqsPhsRrw5>Y1oY56 zO2e=BG>R2tGc&WJ(hewz6M;`oF&M?g#sA#jy^}t&@iQff;u@dKJ9*FcLBa&m^)eEW z&etq+t4)Xpg(m-d$NgQlc8?Ec-FtU@-U38}A6-=>UeIWZHUvK$IeBHK1s5rURIjl= zP9oO3y-CqU*px7eTL>2y`mtw+Vn0lhcljOo+U zK^Yj!#>B>2wU$m~pG-?jV=(G2t8D{uiJysEasfq@b^bxbWLBM1LaXG&*B^=_xzN+| zo^QCNrC`h-3Ba2xfLZjxmO^RN%oj)uM!mrvLGCJ!yki+9yZgyQmDiw^WU#yVBk%yZ zxw-LGXC+KbO=A<}b{O}*x+=fY^ojs=E-p?|N-AKebs^I#+O_KnB{Muz_xn%hk_8K-sdVrxQc}LaVJwn>nA~irf=6N=$)YR0_sM?|Ohx^`<^9r2uyrN>0 z#z!eBi!8gfZYytqT%Ru>APMI3JlHj%kFWY9zOOb}w-;MK|GHG6U6g@BbVYWS_7QgH72n;$FY z<5OzRudG151jbGM@K?c>mKG(~Y5}SYFiZLHS4)5(5$phgy`S^K-x~VB&XJ==7PtOU&Zz)w(L8L{($AP$Rz@^9Yk?#UFW5mQn8l;t9a0r`6 z&E?^tgUZI)XQ2?i-nh^F9Pj||o@Eu&(y|L6iWBj%R)y3SfFyr;FmS+2_$4+z2bj30 zpbb{qAg!UrYeNibU;zmUeo$t9hAb3*9@1AuYwMD>BfrJRf;WJ1i^7p298JNIKkE=U zZdhe(S|R zP>U|n4&&LmbEm@2d>(8UYg|BBB=OkvPP(0tJXpuw@Gm zE|OCCOei(`>D6_0A6Cljw%O8xf&x-&4Udji+%`|6DDdKCNNPWZJ2q(rjm!ac zmEmtqYXJS720mm_5y<1I$f_VC+2S5wZS;6lJK5aSR1P*$>e%huGJzo>Y0!q=xT_MX z?$xyo+>%2>Be=W_6kJ=bsME;nQG}x*oQs!9aHUPlJk(cjJRW^~u$LcbVdB~Jym|9b zDMmhcu;!GoBA?_?w|cQXKlbMM@i~mSa+bFv)*bj%_UV&on&H_OSi*)!`>m0Wq%<@N zb$-;fsiUxG%muDJ2IVdN)-9KBA9LN`q?Cu(T|vo;@>720`LBo8gOvlG)XlO=18TD= z4qnT_BNBmoOhSNRtk_YjOpwf3c~@{;m*TuZmNUC!DL})`hdOklY;>QhXhsf>N*PW# zj%M)0%3~X#3L?mp@)bw>$M?r=&VX(1$nEE7)lVn4%!~j^#-N}k--hSMg=4?A#=+Fo z^eFEW`|OhjX-6B}Emd$f*(ju~GoS>ivMU;XW(b`MyPpU;IXU6Omg1aq?%zLP9d>N! zvfS#`e1KQ$0(gkfsf;5+sF(NeiG+feW+9>!GNU7S2eQj~4<2xTyOO+RMNfW%d+3eo zz6-Lnpc{dGZR?V^)c)BL_B&(iM5#8VgmeS${D)Uom&ERCD%dS>9WQ`eoLpSCxBosm z0xtPkeLXKiaPJUO5PlkRT?|i)X;{eKA`*pFroOXts)g_2_2O^ey;BA#R6X!% zO#A-X26u(HmEnsoB`42=bZ|T>%K6W)@7@6chERjR9h}6GfXr83S*f4=`rW(jh0ZoJ ze0}e3ZF8`(K4Xwp^cy%i@oEF=5n;qNDBk_k`sM|wQ>4_?tS7`-&Dw|J%N=EM9vo0fPO-Ryxaa8Rb^^DjCx8&-`XK!% z3S^BQB)!D&ii(O{pDqK`3Po1J`YG0tl~+@&GI8U%w_H-4mu7J07-}?Mhx048Ix2}I zm{j$6sf&w?-+1>065JiJCTfHWvg~u5b7hp#r23>HQ0vMs&P8$G^VSC>N_Ab`b5J;m zZvBUzur7X}eeUw*ohgj&3yi5VcF<>X4t`#*6*?|}$6}>GdP4GSM`juR{hN~_+8T1e z@w7DQEh`q#=a688TW_&_dq-#IF$7=26MKKDwwR=X(-y&uU@?<^y_qVYpzncw{-4vNTV%(9qBvNQXpf1UyH)s5P~lStlNm zm&Io0IEkku*%`t+p@f>hOa=WKYU8KrLLbrEu)+Mno~^h5^HIJ$&vB}ty2T|yoftQ< z51-VWH*1<@B|Lt7UAX4;*|2Z#Gli}0*&Kba_q7!GYn|3xiBiWv58XgPOho`rr@A+! z*6vRSVVt7NHuk;QT0?0eQouraE199sNMC{lU#(`^lJ4D8fKVZ4eQ>h(vR4jhU=)&b z0LlzHo}IYSIG{{6v%g_evNqUuC`)!(LLhAnfEFT(wyhX3DYeV8iY;L)gIL`D{W~wj zJa_}Jn{wB$P(k4#Acj}(Du^IlI+Pi8pUycRjrY$W3)tA&%4$lCade0T%%?ScIYg>9 z%JrYy<^-C{+U9k0cl`>}9vu2JR4Pmn>d3ax*X^j!xAO9Gi{jwJ$s0oQNeLilbx#J7 z)A!G>13g^pkS5Q4`{w!M#}67Lr3pmf3=}UG58WGBt<7rG{Cc;rNJ<4+myAz~JgTd! zW9>p%d8eOYQLGf3hmxCB=jN7VsiETE*Ho^xIw}dOYdrG*{>j!N0!AuG*QOfbWuNt_HrA?aRd- zGKW~2cEu)OYTRcY7Z=#go|hL02LbL6Vb%h2Ml#ZhyzOI@qTCdVBq_OYwS>nv#GXCd zC-PhS4W8F+ak8Skd}i4%XVgioI_nShOTJ86wE*1e7x2T3?%hYYBMuFtz8&9fu?j;&@NG87&?)-#jY!(W4#rZ4%?-m$tUHlIoqX7l#Hu zY{eC`YA-qwijcj4larHH6Ee$U)_Qi^^^FUuywC|>T21rdPFve~RL`k3Qc}1xV1Hoq zG0wIxo)h8ORB77_F zmzC-G`1;DlO+ZFr&mSclL5(yRO4I9ckuI*6L=e^{x>(Ks{6GG{F3#?1#VpV;(EhcXsUtI5L2SPlJzf21){7u7?exiHn~>Rhfo+adAV)I$#F#bR*is z1IVSgWQSc({drNUU0i=yt~P1aA3XzL7eGL1h!Rl1WOm#YB%D3| z5NHec{)SK23mN+&^?O-a<`3P?EwSunv{Sern=&kjjm9kVJt>U{XaROZaFWu}5<|7? z{_ZBPvkMd1KJ<9cMG6YQ?XQj5XQBSLqe?N_y0x-8UOF+Y4;&IQg3PenIvfoG3{VyU z;GGyA_6`gR>gcXHkFV7)4VzAoo;dL7p)Sbo5m^{4Vn%-Wft(?U94vY&$Zz66L6Bjf zWL}ELz-y|9{8E5E(@+{7j{M1qfVj%;p$^bF-x4hbaH120xnXGdXV3DZgoDE&;_Lg& z(PqWj=jT^$8-A%+>WKYek6K;K_w_?o3=11a88Fn18#hF>0&`T>iC6zQeg~0c_{R@j z)E#eNGb8>2MBWX-V>&Pq&;$jKW8IwzbNMS5RvBo{#0Uc@p$x$0R#$lPBqvZTg{XtL zv;>hO5~eaR4ySNF%3r_cKfx_L(>&nc_e%VqtewKpJ~W7v2%jk=a(}G7oNWq0N(9$5 z{P4k7&Cg(h!gZp9cvab&`92i^5kP~ElF97;E)6KV1o$zcqjeE`hbx60%07G$0wbn} zy3705H(QZ22298Rwe%m4wd?)AF_1kvu^{ABz@&B(>_0`}T%JH6A>RvrsJgyhA7LPI z8$Y0T!=3FbQI2$xZ?Vl=h5&8Rt`!psI(04|pMkr(3|vjHXhgxhr@nr@9)LW=+1u9H zOIkjEh84pcN&x^zM%gW`p^`tVapZ`uhNr5#qOpA<;UC~{XuZQ@V|1X{;qICRI7Ws| zubMx8OhM!%ZWN;V0@U${uea0)9)vFi$lXm{io!W62f~&*Cc4%m1^JECRN#?7wnc0_ zGU*5oi5iKjhtwbm6AgGCI8!zm7;roZ7>dOwfMsrZa+n);usm+*CNogNsCB`3u#y9Y z;{V*abHg)#hSCtTaE;yHrq3g#43ZhCv5<|9Vw16I8J>L=&z>c;bv@n<_X(Jv7$gL{ zf7(h=;8!#@Hr~dyT_dg)XqKpL^>yomeeYJBUaZE4ywG{kK2PSz5>8)dXVWF_!zGhFInQ8xW zsZ_Ps0C7Pz29qYtKcDCm5|}=Z%m3M!&&=;bd@gfU(an5+3I2qju36Ewz+pJ%C`unOb#_3Wb;L#pr_^Ol zu4z;FzsyR*j)1_ZV}1a190^caNKq#X(~1Po6tYdd1JAK>yq%3`oNz&ILhW8J9?h`# z13_o=(49sY24vdHntaoX5iU-PuH`~3V~WF>){1_Hu)th_zYmExXYcDJ&~12#mLJcw z2(UOJ0^PQ}GvDg|uIRHHC#ze0;GMW-afgsr1aW~<=#AYJo`PskLMGv50G@}n=CD%4 z?6Y^Tw459lihdXb^FQX+jd|R$lsok0Ej!^l3VnO(#QQRe7gmZ>us{h23GEpafk)<) zSX$m(yZ-|ZrR4w31_nVF@7p}YZBqpO zW2R$l#nwv~HANfbE0{hcp=?}2&?E9n^@!;BvffyOv0A1@|Djv4hgF zu@QkN@t^5r$+l$J{h%?P#x^)ZQioN> zLj47dObW)}+6mi=5-8{4f`;&VWH>^aVGjj_h4&7sE1n>RCk11W38;pd-X9sdtCOCd z9=cR*igwSZU_f% zLLGe^CALSX{a|rIkk?#bYo;B(%C600UvZD%J-pIcoXMcem~b`w+R+X?(atMAKgZVEEn^2l#SPU$f9A-W?{02MCgC2Vx-xOkz5o{IU`(AXWWm zti6qU9~dkw+0B-XK_knOAYMyaqu2ps^_+EdcX9ASC}*Kdt6ebqyGy&bt zi4a_6XX*d#<5HwZQcnK(`7<#kMH2OY`W2`%{G%bk!L=}B(3xsBvC9ByT)8vp5m4vbz2vVRvOlh<)AF?jP zsseQc8tV#bnY1+8Pb}pU@9lnSMIWj42)iRh+t-|*1zHRHf{#;!?nfDg8P4P7C3Pw^ zb1;}h@ubrs7tD$H_W7wb9C53u?*4`}D3#Fbmp2l%sAwI!a^{1eiH?m;0)0vL5@)3r zVl8_FEG?+8@iy!c1d5~3s;sRw#)*~$6i!5hs>KPY1gVQ~j0lXyXVrmnhj#&gz^X$Q zA4q;atwz3!>INv!gIFni>gm<1R|%;BxBV(AK|E^84Y!pJ9#Ni3XdJ>)B;cd* z8j+EaQ&Xd_d&5jh{1u7|_SYSGejPd8{tUEUr?=^wKjt4;Y?tpDO%yPY@xU)Ho(`38 zdwF^Bh$vCWH&L)jA8ad`ex^ct2D-bCPyhK{fi#WUoIOrWun+bzt0*tnXyyVOR4JBD zv4T2;Iz;&Nwl)b0sQCEY2g3);VaoxC*wQ_30CJUDl3)Em@D zZnsU4aC5*M5kEOXw*eCOn;fT2V}qX;pP{df{)Vgni^&vGdtmmyked4Djw3kqhs-p1i!2(-9os@2U+JzXgTLoaC zgYfwr^fE=vlGdibuBf+ScM3!aFgV%xnXf9f%VF36a-C8O`wHIeT9VW z-SvW(RAq#8cXpOKZ6Hm|i!hS$!utdPN*|>(7~>2D>s#-L36*i`)HCEcV#I_yrX9%( zIB@$l#qce7W<8`SIz6a<#N;uGe(0?rU=Oww9EB*?QWUg+NRgxgA|N1OS813yY?I8@ zNBs={B`ops*-MLUVHRaD`gv8LaFfGB2!va=R-yn$MoE9yS{%}aTRextmXzq2PZfis zA*WE<;Is~U21t7VoK#3s6_D0(Ur9Ncuwbk3D!b#*ePt^x=?TuB;8zfYotpC8YDY#d zOk77X1=Fp}V|}`8DyR@5X5zG?z+gi_;it@Uo%LZ_G)rE&Vg(13bJ7_B-+Z>%(fkJw zDp2wc;|#G<2wWWS(!m75g*}H-9kz4;P9Gc_I4CtxU{e&_JZF%oQ^A`+YKD=9jfaB` zT^i|i*RNjX)zs7s3=DLH@uPMO-!3<>1M~sNf{dc;T0!%XqiRFp6NexXy7V371j2w2 zFDw-Sgy8~Kry%f0>PXSpo{sw>G+M)A;*|16qanZcR0RLVah+uQOsiFhv8<%s31tol z^E0?l9Y_(x3BGHW7)AQqP$JIdBd;DW4^lg^)ygsw{{EE(9ku|6GLU6F_;oruU(1XisB=mkub(#AjE))4v& zXI^BjhoG3aI88tx0`*G@zKDD;))nY@%Zl^o_$iP{gak`NPBPlE&0m-@x}62^`dpyGwlApf%aSi=zrB1R=C)+_y~t z#mLrt{}RVwCxaMI7*~M&NFc3eFJE%wtqst$h5H0%tpTgSI`ou05HvfGaZwj82$PLQ z4DJGpi~ax+(sBkOn3!7dQ%L6@LM%W@H0;r7;LM2c1eeVRO9?FP_?$sQp4CC|PhJXy zFzG*oUZGF8O}AP>$or`vy<{xX=bB#AipCqIAf?t0XCS?kmM}ETpe5;2VcWUvGtlr! zs}?d@SLm_z?c4S?XIa#g}Vvc z4i%c&*CB#{$C!&dN(dv;)RQNJ^oJ0)Xwf2On?^6d6Pi9iL84f57CFd=dP)>p!L z#B8mpLt=kZawG(i^CGCL+`7-aSlRtJ6i(Psa)gL3funa>b3U!O7jZ#I(f%~b{SKT^ zv&>baAJ>us+4c$+wF`^_=?EpNqhHmH#^c5r$4qZkAUPopv1M6tqd7?-cq=T5i=dS2 zp~!{RID?RU@%neo(>Of-xqTGzCs~uL*np5*2s&LL``}xNfR0@SmOqXY6(^+ zH#axJ*@*p%9>RlB(0;2xrrB$d#lWxsO4rx_Pca|t0%A%RZiLUD3DIY-0b-79^t8Ct zF>UxLtp=!e2tnRtt9l zQU7t-Lj)}*@%SI~lGkylPBT@_^rToOmC-sEK$r0ER0@I-^Atqg!q3B~=(?jyJfg;wbRCtBOL~zA!Y;0?Lvu{ms(= zFIcxl7O(S+fStV1rTFi;R(Ck^b0PfPr%-4-Lrwu%S)!+n226^3JBWOk zjii~Ru00p?Tnmz8tBVE;CW{Ld6Z+O0cLl$P>dalE6)&VeZ=uZy{m&h_|9oy$d--&5 zhO$Ah1PClxz=ksfd{o=wBZy{mL_X3$jgyb&cpelm%$CJZ4(Mz+1@{it2llXXbUTB~ zg%*-inAWf}!jK8ODHzL$%tEpjlEn>dFi|N$D>-}_g=e=D?WEH$M|Y#08cd}=jyRJS z_G(*#OIrauQ{D92>FevfTJKGT1Mh-)EQi#87IIh$wq*F{&q~xFb>gG!h(^%RRRVZ| zPcRR(LJQImVI59JwAYfA3?OBnJ#Jr)XD@v681;5DdnvPwhXaB`3(g_9O7 zSP+Rlc~th=AC#Sly0>Kh!OvWg<--AOd&btIzjh5uL}MWT@4&Wu=W%nd2{>KajR@M= z-!FsrLI(KMkB$R%4UJ-@4d8%C-#vJP=EvEjH36*;z-u^bP`FkvH%<^By%_N4-`n{Z zq#YQ6bex0vA|f(~LY)Hx@{lqYz@-fVfK^9t)28LJvYV0AWl?KdJUO(Fv|yk&d4zur zEKSy!h=B@0@Zu79hVhUvB7jOWfviU?_~;ZyWn$N4eRDxsH<)zh`TXhbI^K1xSi0^dNnDj5%569Xu7}<0eeEw zpma$j6br)$h?PCU@}7-31UV^?j){pOzm!G`8Xvv^AB7zZx6753%mDHT z1M$~FjhIE84Etc9B3v3k1&A&9#^0h{z%3bt)_Fh?#B2z~h%$zN7UUz4Xjj7ci|icu z!&!D`{yi*r41ybqvz^G@|J<|PP8q@0l~7gk9btO~422_bfBG3tn6R?4y2A7qjM$R; zSS04pJAA+a}E)shLSw56Iu1voOG32Ay zo>d1Z0yv%7t22M$!sTFo7EmglAC+h{(r`8>0(Bbca)Z`D?B_UI09NN9C)6TdEL*qE zitLxX)ja_!}Bh3xj5r=gX}4>V!h_PtF5?8i=xp@U25I*kO6^gtEK^f!tQ&gMcrrsc;Mx^q zB=QdAIq*Sa5)$VTVc{)tLeDZ4f$dI37$D>~-u4DehtL^74W%Iil0g9_QzIrM7K3Ym zCzU0Fb>(>jef^~<6>%)ktSEsWMtq9U=^eqjvtMgN@qmoum?>!z@tX z=ThSneb;kg2PBhUAim-1SAaamS8@|l2>f{kNp)Bym}z(c2vLv{7)OW$3Np6=qAu}* zka-^(MV(t<`VUqgih=5b(BNWuoFV>dxoG1za_E57LC5r z44fR3rN~4MVk{liARd5Mi{FPr zkYqTJ=5g`yEN50^s{mwY%w4g3ISU2q<%VD#srm4aVmDOaqu^*jP{R9(K^qK0A)<+b zihvYAR57sr26#nKT$rGerDY9=3b7J~jx`t(wg>`$rb08?Y$i(2o;~Y(LYQXmFG68B zP#46KHv>O`)5()zqayKv0O|&^_28OnCujbA90nU^nPs;SCMhYEQ3GUy*(-gS-A`1B zWJg`p3|LL@6`F2SP+t<)F%;ihT4!rq<#KlA?P5Yjp@YzP`dbRuyt=M^7S*!cJ7EQz zh(&Am5RU}t?h0Jhgg+xD9SHA<`|#vAnwxNq&2SK|XooMM$UGVda8!_?4@|*S8Aw$s z2bhe+V_VZO^O+6sh$k9nh{?_dka;F>xq1H{+>L-q^14lqBMU4!6h({=xZn+_T8N;G zn8y|upsE31uWf9(V+8EiA8uiq1e)T?ARJ&TcDEnj0hk8@QB1>k4o;c?jWU~gl$QtG zew?9``JT19xtvV!fG?6FcaU5$;=3d%94sqAS!9k4G)I}&8SlQp;~NL61rmoOOhuG8 zdU#3D3px|#kb{L~K;ghUe%GEE??TtG=ow;E1sr{oX2?&R=^zGm5%9f-S~tLMQ0}NS z)iJO&Df+1cnY3^pMoVx}Y*^nYv;#|U3n}QJSW-f#5TWzr61mPwXv5TxHX@WpG@t@t zHz(X_&`5@u=)*$cC%u4$ns}8`fF?i)vr<4!90YkY9Fc3i{rwG4%@S^xj2j}C3d3pq z2U{le3?Mw6uSw_Oo(P!G55&ij$vdP47q*2i;44E6k3m~t145|hr-$>J7UreU zND`U}9)%A!qG-MZoT_k^p?gvQq%+8zanuIGnBY?mf*i;U^0B&KFKLLt44n0G5HIo7 zJ?|n>H%P*$3X2++Q6}yP91n23N2qA^<7J+sFG3l-65{g`Tw-Et!w{G^kG&kmK&iox zLMBKIBU-wBG=(XR94zvBxY=mFIDJkwJQ<$i=P(R&A^nlRK`_8t89;a<;vE@U1^7am z7D`LC;Wi-iUV8Q#CDj{ezBk2ryHE?eX^Sl&R=6ithFH*$*-*ij3jLdKIspx+u&Zbt zp;AbU#4REb7F-%>)gn#~oz{jfh($8`59!hK-T%2w8Z2V42RA@wjCaN;67mFYDoLPP z!XU#b1pG@VUoxHtbjv1mW&6M|`%k7dKWUM{7%W1k0Pv%d5(XRB$~}RS4J{*Y(l?)H z?J5{usAw;S?z>80G1Bl4LUAt1Es%kM+|1F00-KW~mKx}^(05MDUsF}Bo8lw8RWJ~- zqp(0$MjucbUWinYWQG$O<+~97NdpWtVN%}HjvA!tVjKp74qOGO2gxuGl97Y zAqmrn^N#kG7l;u8A|edpK*!?|N6XiL?nI*JxD#XqBR19mFGh9}txUx323m^QLy?!K z1cDqe4u!oq;GsT5br||~IvO=J%VFt3I+6)71-q$3B}7M2Qy zIj^l?IZJJ{gXNJNb~m1x%dY5guT}R?o&D=tDE=@~l~@|BZkas8^_SuLU(SR7ErVg= z_0ipr`WTwpI;LF;@I-)yeEM(81^j*_Jtig+KEc%qOF{ZGkgWgxB_#imb{AkdCX2NP z`YvgLLRa&?K^etLl>jx|!K{o1cO?uDK*ueO^yfj3hA9T-D1;YOoX<$%eVuAKE?28iY<4J3nRw&|r0llIQ>i{|cR{dH=4}Jv32ij|)%M>Q+5eBF=LA!d) z1MnMq-M4R4cVbYg8habc2m06xB!2dp<-zCw=f?9iEUtjH5ibVUEmm->c3+)%1gP2m zApshZk)ZTJ>L5}TNL+HgF+v45A^HExS)u6-^})k~pGCo05uYV=9ZV7InzWPOLO3S|F%gYN&PyGT=(mR1py zzXFT?qNRahzlcer1WS)0-j+Y0B$3?pGRSuKk_80{q<@OCK|4dITF5 zlY5LH#~x?hiSFh9?2mc@2Lb?_vTwH$)8{nKj=Sp`kJl&a0_qu%so=2CF9Z$?1`nOT z92SBBEYQzdl>c%&dFsTh2D1lX;!%jzaD_c{SG}YuRJ?+iLLtZaRi!i%)J30zV0Mhe zZFuHDH(%EL@UQbXN~Y#PJ|I;AQdgb$NsKl^n+h>HAqF|&@)D!d_#&{*wh551oPp*q zDmk&5Xws$|F`bMwQ7Jf-h{4XF7I5XlGqNs1sJ-Xm&@&Btn9Xw&CJLj?n|1B%F8!Mq zM#2@KLDd6YN3#_{l1HbihbY3wglLaB4eZ{NJY*C8|6A92w8AYSILW_y>9y(=##vlyvCGjvU*z zZSylsQxjpLe)d}Ujd3Z-*tw35qo7|YB4m=ej@vd)Jij-AUEqYGf;O`fZ*VlzgaQIu z6NL;6Pl7(M)iC@|sc7WgQ$KzE%7zdjG@zjQhMkaz$baSVcY|^ipkcrg578Geh36;4#_<2KHl`nHuv7+ujB)bcE4>=xlg;77Fo&*=ULleO6V)31CdRkU_o8 zJX3+ufR~clev^m7v>#Fgk?IR|2TNpm1VkyJi+zBw&~h*_2L{AvpaIDo9#zke0+jb? z?^Y81$TI=NLyp|-ID;;%8_1{Q7_S1kp0H`ClDmNaG2!U?NCC<+9NbhWZ&Ufkc$IfBJS<&je&BmM;ldDVwQqQnj?062o}oU{$#r}!NGS&Y~Nvkko6KUf#R&B04S zi{e0i&x$Q4_9%2~gIA(R`v6I@GuB>Beg&?ZnFaKZ_o zjAj7guqCbuuTeL?1r{Y&OTz3hz_By&P3@1I|H zcsA#6O;)>p<_s^)Rxto4EEI8s01gq36uJx<#t0G#`H+PI@??sHpbp_kZ^z5k#w9>m zCIdrJD?CFr2v0g2NjAX$FQDD#9{J->{u8JKz?c&}nm5J-VA25(;`^H~htL{W1xdXf zbt;y>ys=RjK>{)C7`pGss4Hw&7orpKXyS@AAT>f)N&!DYP9T+nZtII^;~-cM#VF7p zX~89PORuDpyE(}| z2~Hq1A8m(&$m=>b&jj5K$hFI%H7-OSIU)(n+7D_$BLV1>Ap>OU2W)*(CP@nMsBp<( z987#b-NdQ`OXX4w6~uW@2jl|_iMB;DqyZJR4FqX0PwRZKsZIF@E>m$ZKpSBe84;n; zpOD!19iL6w*bc3~O2wfiurPeKq^0D@PUL==v5mp*0pZpdN*q}R0a4L48|vnkE9&Nj zR}&MLu6*Vx*ii*Q6 zBGaBo*B4a{4vS1FLIfhy6VUF2p$be}T;4MI)G0@xD%wvKoHQ{0+cTTX~V!z z<5rl!$c!w?Y~*uM&~_9a-8fLbAXhK~i_GN##fS25P6SA>T9_ia>eOI4ZYnwQ6v*Ke z_7WboU;N=qyv~CijK+U!g^s^zF`qey6(!@KuQ4SHg#-{k#}TI3B2@mt_y*FA zE_DoiHknIHcs2Nk$k5y^*EfnI*?~~eyPasUU3 zjcKC-cCQ@($Zm%N4jo!#@Bnec;JM?kUE>3#MwKD0n8VY783rlPVF+u1`A57If{#Ev ztG007mcO)-90EEn7nz|tI~<1P2SSm3{N7_N+@=U67)|hi)%seEgyz-c16a{iZidE8!b90uJ3#cd3357UDye;HX25H5qZG>R+ zosfkH{lqkaVie6Z_sar*PhDjNcZ$5$6EqTjaKidND0lEP7D@XsUmHo8jJ<%sQgG!bTYvYQvg{lQV}xI?g?}5(~8G&-Bnp)jyA+N%0TO z_NSdC&O;KysT}VPy^QYl>gp*l^g%x22Y~wl6w6XA|8e$Ov%9L?EKol-+;|X$cq))b z?exUT-x$r%!?j^zv?qIeaPX772j^$UQPIgXkrpQ;BQmlAl(n^Kdof54?ty;vWf5KB zF=n!-Otm#MH41hV2=YJ;!AJYBp5oy4b5T%+qR|trVNX#oIe{r8IdUVWp<|+? z81Xex)5XG(@m@SPp&@9)>%{TQ!LjN>E;5)vPm05?MRB_=j0fRX^`b{tkQiXs^i z;!n?Ej8QAYeNS+EQCaz~u1Ydz=F`J{k;mnmBTJ|1_+a_E;Kn0SZ(Rp~2X8>c$v@y?($PR>OC&(I? zgN1@O6F7KSVvru!lk?W&(RqAVMyD``0Im24F@2$K0&UfZaK9h0d%WYM1YtVWF@jh# z))p>PFi%=XCIwNS!$(F4W>EgID8DwLnGqiaS_F1eo(j;4&|nRr?&1FvKql4W5|iyA zd=M%-GZ+DTWY)*2nNDLD5QU9>URPI_A?Ck9rxXG+C$K{$67_KeT{cQ|ohNB@B&v?$ zE>jCo0pP@Im&?rV2Gt^f&RRm(AwAk)q&)nxgzJK$ja2K5{Si@ejPR8;#JT~ef*;m>3<4`cpd^%8GIxW6e+kdu=6jrGxe60X60?7>cDHRGtbnK% z4~7)$jL{VYiBsBU^(I_8~&`BKW3d9gHUHxwZE9p%nBWO^AkU>e{ z{KznR01qN2fVMJ3UX0>dbPQuk$ixFAOU#ELsQe5Rc`~0G({AS#6&IUhYAT{Jd1Mkw z;FylVg-7QcX%mK-04dh8mESAv-^Q)!ciWEJ8xj=#pPgHGfx3EM0fNlBfV?axM|{Do zLixXmvw=r5{%_Q3kU`0sl9|h>BG@Qk6T-D)_Dba0v#)1WU!#Rg36n{1a_NQX=@~E4 z;{mvzi)q_oo8M~7pqPSJyksV;i?JpSSTF7_q8!+iY-OexNDseDQr^d0>6z*CK|q~E z$H#`vK2SjZN10Uxq%(Yz_s36EZQw1qcg08bxBcZRuHW5$>y?CQBRWIh-+e!;8uPbt zYR}+>ZVBQy2WrRU>Ed2>OZ3G;PyXLIxmie`4sHa7K&Bb&G@bjIWZ1=la);UFzE#HfM02;;mPh_=5!*^~@D!C-zE5crr4qhi5Z z5e#5;B}4temYgt1%O#D6Uk_s@Gx{@haZdhiCj&=IBS|i@yv)~t!j$?m@Z6FUgnJzY zZicw#TpIR+<}0SHd`MW3c>RzCGa~OYyZZa*QjkcZ3@R>d@)G*H+g_)qGI`-X1b@;X zU&W-O=>K1{#F@b7zreA2od%vl<2-ti-!tuHVZuLR2FCZZeh^Dt7 zPLvi(&o7=&rpDtZY|XH6f*}N!8+}Y3Apfrt^c4`r4AELCKr7WcifI8;utyaMlMJ*L zZVD~hC-6TJ0ZmmWe&#>8y#Ir?H-YMTecQgjWh!$C*~Wg#kU7IPOG?R<6iFl*l5NYF zh(Zxcrj$$-rA)~#LMquA$|jOo2_YFnq3QXY+0Xmj|FxcHz3X|`{oZT;*KOPN`+bM& zI9HiJt1@Eb&RO8r@7)YZjdv87AWs~{x6UYS_|NZo`_$K z#0c(25PCU1WX)DzycsT!wUz&CkZz$aG7RW5e1n2R9Zkit0BkX(JPDOkH8U;7;LigW zr;O{m#G78z+r!=wy)UCO#~&vDC^_&U#7r8sg~b zIapeDr0$^5*g9Q^m20Gc&q_Pn$qF`-wIjxAi^$mb;CM=ql zM>0R~9Mv|#V=XrYB(%Hxw9TM-stz4qRqgXaInSVpM_r}`!&CdW9@GpgMsJV`4uv?D zqI7H^dyV~iZh8Wb%`oq@bmUeK)*w|SR{BYmhrm)@%)^(MuNHd%H_E)`QNdlOXiMh0 zV#W8--3a|MxB|q9M=c&m6wE>(h#Ze2G5OTQ;a=0!aJRWOdm zkbY3k%o+IpeT6iY!LW}KU!9SMK9BEx#x>`yZ=o`ap2Upzs6D2LGc3%2IJ@uxDPAc6 zMfH>^39dn==H{8m8iG84QQMJ^YyM}x(U(7vNlt{HNhyTKE#k;0NFb`jiV-qZ65 z)c#hc;)I)yf(og~q;?ZmtVk3s#JLI)brFCLvo;rFv`3h{u>1tQHz!j)IV^UN7iW;F z7SKbn12-HC@Tb|80iSLs+?-D};$ylH2JhhUC@LsFKi1wP z#qZ$3gXOD&M~@vF#D`c|TkoK)a$IuRhd~2Y|BRPbQ&Kk-WI&Hk-;rTha7(jT0Nm1! z9V+D|(3~jAXr&J2*hJfg#z};bzc86mb~Ql40N zKfK@`3v!;p%^S3DKfz(Wyvw4$1-jYyx^R0m-3AV938nPu|=+(NY?PI0wp|#%Y0EuXH-ken-pX zowP7`H59pkmZC4Bs1>vbca^$m=_%bV0SNFE(gh)y113it} z6HBuynI%JY%mHVG$K}Fi5;CH#BkRhz2eKGx%E{1rO^}f5F{T|`G6Nu>d>)H5FwQ-= zdIRUMxQlRfkuw@|!Ava@he<$?%m4iIetclh$B0d48L27%5*x^^S%V^&ba{B%K#{;E z&V+(dle3mT3U~)k5FD{}vkx=|JMJ7a5Hl+QzvBTE}c+*0B%6 z*;=Aq<6CQh<-*~EH9g}wFe_@e(P7E*IhrS3xrFkn4SQ$=7u8GZSyDuVSz=r1C$t`9n0*O;I+X~xq=t@@LJOEWi) zIM)e0vspgkJFM1@FC*=xKZXyRyvqX(XCwq!MiR^b&C)=Z(nJmTFHUUf2>+niP*8%M zM&RW;8%ab4$BX!bE7w?uL1jqlX5nsSc@r^4vydKMLo$MU&>mY%Q!c>b2*m<{&@9R> zY4C2*$7LIQ!!;r?pUED;D*K`O$ClN$$4F_rxXoI_Ls2*WaW04E>~jnGJJB7hRDiO( z5m*% zOp@z?iQn~uZ&hKY9|<?YZcT@e3JGYhJw=jK)CT|zXy!bdvWCl$-)b$Y3Ld@d8tIenP9X;&%&7Bhws#Xr8 zUW7v{KREeLV=aETCXJ-;1qgJaT5|vCy60(>JW=t;9&2h_7OOLiPVn+9U!t6hKbMg zZN$rcul9!;gP z^~n**7dB99*HCy68%0qzH^}SxY&7C~13i z{X&i;&mCc7Bf>d#)eMQijwwU`1z-3uo0ASdd`m}F9x>wB7DfReM-eABo(PHDgL6wd zhW1-<^u`xVET5C|iuq~rDoEHF3l^N1_0O=gViyDz26Sot3M$BcZRzAS8{kd|(1(zz zD&DvSvr^ilh?4se+v3^MemH3PyYKT;k``)8ffZ5JgEk440C#Rig|W6wZkkU)Zm<1Y zz{t+~fFCF{WYh{V6{X^{*ROG!ozDV~0BjW!8QKUwZY}wCmq>>r*>qH+q-6jdLQr#<_ zi5gcd%JUmj&|fCP2oWH?eYBC)v2r`2eyvMN@rBHKn>8peaF8>tDb^?)cI{NcqeD+_ z-?#7h;C=_M&$6Dr3Nd3+Kkf*Qraw7TvEAg!lSSa&`2$-)`cz1Lw!C~fON450x+D1J zZTt2)JbOEWhnTT7)KBLci+or30A8^$sw!9X?{Cke>8b)uOd4 zl{X@@|NO3bB|X|+-2yi;W96Et@`a5OXc&ahT= zbX%mGP+rq@FYG&r8Q7?EAfSC&Mzx@ffKjEFlO_eupIRbEczExa4uri+ z0Yj)bb@PhWty_yPG+i8R;AjVA;Bqr{#*=f?V|%!fuC?S)W;v^GE1frjT%V5C_96}C zy^$7zlyo_@9-D;|PcXB*DhJ#XmG!f4(^A$9N&fMw<-5mc8&x|ma9F5GTE<~0;z9}s zQKOT;q!LMBy2KV96wQ$CGB-23_^FMS)+~&x!Q!FRGs-$t4Mm@fK{YSV3-^mAz;}xMJK8}wDc4zje#@snoXz=yc$dfsD3*)do8k@efkbO5 z9uQ*e{~O|-eR7+;mXXIMPJrHOXwWGQNj zqvz*ZqDjDwT%Z`~Ov?hdlH?kBgS<$z+A`ZgJ<>V`w~AfuV}DF3UN~srz~pUR4kAz( z>94z1dIzW=Mxqmfungc;3X>-y5)#ez@?WWGGmIAe@yD+5or({BEDdhHbm>x?<@!wB zX)Y>TmZ}fLl)&UPa>2B8z8_RovA8&J4e5GanjOq}*&>P!7&&pq)k83QZ;;KCq5Db> zO$yZC^LtO&#H{nn=8JfO6uX9kG(an*qNJtNHzeRH&H>tzs12%#)f*veDNfVK@Wp2z z*KH6FfmA7qq-Y^Li`pZL-Y>-?c=?SU57@4v&h2>6Q@!0sAITHbo<6;p`t6>rVUTq) zFJ>zYVYB|54^)jZ+FSGY3i=O@H;e_QaG9nQwnMOg@=7X!fleH*eW3Q z7JvETJHdoBvmt36ZH>~W->F--rlE<*bEYKjEsI*7X>2ytb-RVl>@r5g(d!d+@8)-E zWDySJB@gM^t(&h$TimSD(o86})fGf3YJ0|Pz)k>#MB0rT^{r!cP_(bZtQ&`mXV!{po_>2=jD<{W{9C{I*xYW7Q zZ;v`uF$`@yN?$vC-mQgahwxV$Hf%uOrC9ZPp2>O<|2t4xzx0{cW*Ld^P&6%DMn+)> zh@J!_OT4LHp8|LbyCL=Q;|m#P*8mkKpa{)3A^J5D1`$z~Fh@?w&!5k1HPlm=@07xy z5GSP}4+{X^35zgst)=*qX`Y2?;{D~_jA^KD&%u5#*FdVzFmvK(0X@`O%suV zb?w^K$5|&j@zAt$|ERWWFiavXrC_lPnMJaofBZEoL^S%S4t!Iq9=|AOe|PH9!<@2| zmXHPrt3vkdQB$ye)d;dQ7<0^FAv+2kkk8OYK^0vyGBRKqyC>ZO1YMt;Je2=%igD$j zP2;}Tx_7oS(*#g>CnEUy^ypD4;wnyu9gE!N`p1>()^VRS4NXfkDkw92Bfug~6fVvU zrRob~Sp!?tYSp@R-)Z9#I7kgdL`4VL212$78Gr?3%EZEog!mzeOD49sqU-EG&xX@l zGyviZ2e%yB{q>2{r%oBu*>H5}y;)Tq;R-o~{-%@v)7zXb(EZ;WHQ#?!Z}`E#*A?CD zPAp4tL<;Tx!tpl#eF^zp9`1#yZ$N&Py|hJ6n?S?Md`qt@A)t%=Q!ox?tgt% z8BS$SQ$%v(HjQ{t(gr>~*>e-Du}I&j!OW;B`%H6fD*P>}+_6HV2abQcKWX9YALrVg z96{P==FRI&j1Ze2^7Spvx9{9pedor0tOz=h*8su zX3v=;PKw(y3jo!9vz&~2_0pOdr;9RGW?jg*cn)(_j~U;CLzMsOXb$&+xf(w`4E?A&=1%k`ocAp9sE0t zwULkDE!3)6a~n9proZ9s6-8+=_r0WHX-*WC3 z78PaFnsn{nz1`?^M;ZogCWPY;>q7)XwKhrTx8E#BjvTp^lhp7rho5!b`t^?&4_271 z(3X!lI`wRKzWojlT0UaVjgaAdMEwR0Iu9IZZ%1ch-rA@M1TDnq>c;%VVYEpU>k-HanrKZRNzhcx%*`i~ z_h~4rnRSsikZhvk@xSPY?E@U9QiVd`sEI+u1S_k?Q>IRxh=F%cM;tK%TJ+u^4~1NE z*WSIO<&IokEr~tZU&AX8uJ}=GKxR6D8JN7=sk9WhAd<9}Fjvy%#k1)Z-#+FYB((Zo zh4yKu*i4!<5(lde%2MbJNNCtA4Mj_9H6oL=ludr}90@@kV{9xH7oaBW^6cy^lsCYj z+#5YVde;b?J0l|vcn2z#rG-ViI6IaOK_`+00+9w~t)Vn+-n?FH9dB@gLVgoV`6Wwo zUJb#O>d%* zmTk@VJQ&Rc68*+n6VT79g~3@dWPz&ErvR3893BKZ_fl~EQ#Ur+Ge+Z4(AtI2R=o3$ z?@I3vGv|nfgBWBvX3Sx_+pHlOb52g%3m-nbuCGbrrzsc`pYr$hl}gnwBQsM|S@7_* zub*M}CrTE}0K3P_m)CPQz6C75@jUwW=N!fvkzr!$F>;qIP(Jw9g zm|HPy=+VCBkJk^vN18}~G>+Xm!rZ(L=#SZ`QJUN>NrMcd+7%pp`PwxNzFVP>`NyRv zPg?!>@k25N!d|E2M~dq#;Az!ET^K&a=iIpgw0y-ev{9sy*jQbWnHn}r^-oZrE?w5; zxe0BLacBe-@2y)KT8b;cl*yI4e8i@XV$A4qv^1$FCiG9GZ` zj5GFjcH-DYKk3?&C%ePN!aq98!P22a2Sq``Aix&de*vV(0ra&s5m~JlA3?GL3T7!Q z-58Lnh(0|l$s)!k4QoReb>{^O8pPT8lk=d0AMWVb7COntR5hGOK^+lh)oI3z84Na8 z^6&Q}_BhR&RWmGNQy_2u%w_a#BrGF1vWVYcc-}yra`^)X4wM!+4pzZ?(2j8v^7Qz7 z87YSJO2*qL-hgYEcgCJcF;#8`0MG1imV{2YO^q#E_7XFtEf23GY5jh6x9;7WwV6EK)W&lB_>CsvjdQc9 zYAKmVbl52^KRx^O@v+cPBYW#fi;_?j6t?N0_ktg)h z(VfV8t)GtvsVrB(Q<8I5GH#j$7 zHmNG&KwG+O8E}Mxooqr@L*q9~If<83Y2=e%Ss4a#lQpewU;4s_h!2YlMj&(!WzjsS zty*Ui?rjpTSZPI=skAuQ#I=qFQz86BE=|MnXZnAYXpPsgAOE_~aVnKgnllLYkRe0z zKhxaYZs+wZ3RuOMIHjf(6cmW44#nJtU;fH1PF$& zZ?@lVVG4B4Nl8a`@z<|9uEG+HGB@AIo`&<)R$TEA;BeeYXl{V9#)%RvF`6j$$({qW zY`+>P#&V7#RZ?%a^uhb57k*a@Ba5i3q0tVdYWR}3C{c$i(b)dog<4cM27TzL5=v6D z2)xojEsPH%YpA_v@7|rfo3Z=)ZwF>T&o{x;bSV*8-I$9raophE;_R>5Bjw87yE+i8 zX@DM9WV1XE8E~MWq3rUcbscXW+zbLQa(rL*B3e@MiXxiO#M1zmj82_88FP|KXe}8S zmE+)0p0r|Jcs zIDY&TvJ2`2MFAqjC1|9=D+i4V)x0L>T~deWEL(d#&QIOTjg#X+BG8ICglM7$Q!Z8p9VJ*Ucn zLkdsPKz>2&FClYI_dFrt?d#Wa^I`E{9Y#-TrYUa9O?qXwRJeiqr0r$%;Pmx{F ztK^;=Kooe+y?PAUA?YL|PyiDss%4x>IWGEN#O$wjOC zNHG^p+0DPMBe#X~75}xQ?x41Pr`2^{xc_8Sz3;J& zwZt0^U7O2!9pI@q4F3f+?=!7-nRsJdBA)Q)VM@upJWXCJusCNTx3>bC(yYbP8Jkz;`kAj`O`di%d?>bOkr%PnqHLr=^vLO z!>UEUBE^#UeQ{}d!oSnvEOJ61pn2z8abp7UfP%_+ff;1u0DNsdUO!HBq&JO9<1*89 zuZQpNRTBK;`}b$k%0xOq713u}!&PIc5J7d;L(}+=807q}$1yqv#IU9O`-{L8-`)mA zW&SYF{qd}l)7;M9zV77_>~6=V81YaVFLsNavv~31cH1qGZN~fx1z?FVXq~!ty~{Sg zHmL2Bv17)B*%%Ht4ejpRD{3|sqtl;%Hr#G;xX}8+{IB1>so5kAqyBd1oT1oy^VW6l z{Lk(~6DL1s6_s81o;2a&=d#QEDgI)UvQGLZ5dgx14(EVkjWSwOh9~nyS{4aIygrO;FfWCfxS~YNj=CowV;^ zEmQU7Cs_=*zEqJ^GSoNy2M$cj%KDV@B*@l6UmHj(?9{2oKY#u_6&JUbSUqz7&kKGQ z{fDyC{4{_qC^hdbo%hahF?gszbi^9I`6@YnSZr+7k<1F-PS0MwhLaWM_PN_yb$KFd2c>gzxkHDe}+9E)o!u)Tq{&vg6uom&q3iNT_i3pZ-%XTDuP%J@9#(s zD&3Ov4ov>`_3JZ;0n*}t55I3RT}KHjr4PjnMNZGYeREvKdIjTQHGH@lMLBzdeS=ke z4LU%_2A3Q}yds)dnp@#QOYYtGdjF`ew0rJr6S%%e_j!r6lD@_%t&r(-CRa`9~i7jPDkCXN5VxO;*A|S)eWc5&m)=5n>Niy zjkj?1pkYiplCg6%3j$#Y1S>6YU`i?9?yuYnM7WLvSY5JQd~KTe`1)!-7WFbm$dik! zCTB-ZT14LWByrJ*?Ab0SL_0srsw4MH@l6Jw_ul-% z4NslWT!V#AIh3`2`)xDYu$chu^1HNOLZ_E)%+%5n9U?zaH9pqS-hOjZ(qP4ynvr_E zLYk|AufY-!TwxDJp}BI6yw~WQ#?>j%WlfS-kiS@W1Vu-rc$du(=Ca7E}xD z(1ePW==OjAa1bqqVYcDf^?q-FkX%2G0{M?YkFsm~_TkJ3)n{ATql7%w8hGmnHT>e` z%bS&qE*Lrh>2|@(mo_o^)X5CJ?dw#=?y?BCvZ6!*$e}a4x_&Z9D#gon`o#zcA8T;B zpk<`06BitO{pyu9%O#o=*lR_SjX5{04}g&HVq6m?3svRa1AF_HF!_x9_)r z1hfDLz*^pLq}oRHn0m%v$)fxyiSx&fAn%8VbX? zy;)&U8An^^aZKq4S&o8qetif&3LlWBTLaMn8NNQrPPIavTfH7Q_y$sb2yjeYJBo1r z<>|R48`)_QB`X&W?12r%Iu1dfB{wKCeZLIUx(!O6_kH?-LGC9l7X)1$<>7Je(K*)r z7V;o73ZGpE4vgcwYkG?idnJD1c+`gQ;?1#}eEH$S$ul=eWDy_h6uf>tIVK-z*;1T3 z@>d66pJg+B`Zz8mE!nD*j%{)_+uDq96oGKkuqbIw#ra3eDV=v99!C8>dBE8tQBl^$ z#!9VPwPIG!h0@)}%P-#e`mc-^v^DSX^J_EI(}Fi=bN0_^2|q{{CmXm6;bE%MQ$>)* z99`YWR<;`=-OXzda~ol!nK=iuqzPrY#|Aevy#FK0p?Exe(GGuq|4s%51t*SwOrgPd z1ZCFMBoPp&KP0kEZ1&=N6k`HzE0E7>#Oj1CHBPA`M!A3B0aMH z#mkm8O@6RuK8%J9Y>nZqK;2&JC>wpRGT@{g8>0Brr*=fFl|&<`nw?Oln@m-%45!4W z*q75hXXst%tazYt)lrQXBy@+UWii)j)u7Gb5YV8Jtkaio-&*2`Y2)AkmQTSNz4-Hz zw|6_MxAWZe?ZeZ(M3HNmnOg{+oretBPus`!YuEfv0*-YprKMyC&Ty210rUfpWx*by znQ=R$Jhmg7(8`PzUWG-X+3_i&Ay>52&^9|b?Lh3uXjp(qpsnfgmOxI+%mj$0PH1PN zZ{g-HTm(2c!0X|XS{62oX4Wt!?`yA$0G8cOe)(y-jQUDTqK~4TayM*vjkojyd#qTI z1u@>)z`&P$(zi!89TspuanBBxb^7NDGadM=ErG|$HJ-sgtH@`{ywgbF-Jqfr|(d)VKhBy zR4re;I0B8p9e7O*&7}AXR8JE;UNn+4?Zb4JzLP9GbPTd9#m==k8*P13& z5V{F89$e4MJBR|e*fFK`I217IV_OXdS9sywt=}slYqQ@_ioI@s4?MCuGTO~LYSe|BRYbx%I}~E5q3<81{=0@ zodyimqGij;9?9~n40sy+fv$m^<5PB04>5(ne%J2ZBiZD$=FcCkbQ(JJ0GfGYUZa?V zXl5q-@o-0X$K)|c2wxTzjfRty*M1wGraBfg?i%ZWrkI&pJ2>q7^w5PB$_UYMC&WEY zTiIcuFRKs0APPm$1WrE*{5JOXmb@_buNgMGTD!|AdSjr)C7Kt1`xc2K%tT0{>$h$N z!p_XY4Cdwg_hZp1r=^d@b>~M}*-lm(K;Q%{Jlv))z|Gst%xnV7==$Twd&wmv)bpFn zxDE}yLv)Ve-@ktS>XS9CkdwHkaiW_Yy_>j&ZsT(RfNzsr_Pp8w5C5zT(q8g z%R;#ZcocH>4u#DqMOax}E6~%Dpy}hmuz2ZGeW<4V3t!G6+`WF|#_^0VBqTbOLtqaH z)hc2IkEH3=gA}3G%oYh~HDCuC{Oeb*Zp2*xg%SKHpqVki-CYz``4`R=n?x<%&xz}r z7mR8@3;?Z~=w)?Pm5-?Wt>K59eP?QyV#h6G2!@cy%ra^Lc$rPQcOCeq|DIU8xOIw# zV`Fx$iey;=7tXFij-o!@B!L_oEy-&XbnP&MbKKYKM(sB)R)}vZKPcZ|{(e@HGDnBX@KA z-5os`Ql0Ne%HGyBWDv=pUcgQ*6rmTspqq;WB zhO~M^+|bwFL*(|d=kV~{+rnKf_TD5E|8m{1L8)i#S_;u+(*)U|9q zJxbr^j1HLu#vM9z^*~aDCJMA@7{?t`{~D`>0ZLerh_Y{f?Ge0_d_`?E0c4dJMB2cY z(lhNW)GP={=8f92BEve~E z2r`{~(m_v&UsJKtkf6mI&{8-U;yxXil-q#bd;=lu;d*eUI;hb5an&#S`AN%y#R5mE zHU40X9AQ-A{34qjE3QmG!nS_FBQIFgL#PHphPv}yBmN;D~FA4H@1Tb&IkJ%3Uw`d*dO3~-aY zi|qM2P(I#$W+Z|Jtj7HE7L6MlH*3~xDZZfR-SQ#VIhk&ALvN17CaV-vo6jC`r%ttl z$(0ZZsH69?;>0u2Tjdza_eo@G5YMu(`U{^QN&uo&%3#Y`bC40^r6wjX^3Uy4mN@b z4PuZVZy-B#w6#@Z+!rkhrwxi$!<{>uG-x~2A>{B;U=rb*rQD6`FsCLw7lvVMKRIfk4ll z5EH;8?e|Tl3h30X9S&tr$j`G-L+2!qAh?WCknD}^AB!K`e!fd0Z%uC~km+U=>nCZ^QRQ%hti469|R${Wt6vk!PU7phWLBn@ zcDOcoud2785hARFP~O!QB2?qXjTLDQIC5kJG&RL}D*T9|(3t77cW+CMWS6^k;c;zPf9WBhZTHoySExw6H*M0Cj$z2Y8qqGXg|HR$ zx`rJ;ULWFGzLK3ZfxAZGn2Jb}094?7O5;tYA;Y|eLZYeJ#1Gm}$RbBn zQ^@`vB(EMMjbRAbWWbDAw-fM@#Q4zmE67<^cD6WIi}RRpe%hOA5}T_BG}!p3%8+n$ z;?>jka1o*L$6xdg`r1y!(^K*BrZmThT#t4b?1BP*^JOs&?;iYuB3Y!oGOR@LCX|0l zMu8~o5!yj@MSM1?d^fnu3N;idPGsmPo(esC_eR2)oaJOOd2(}dC#0b1JX4?_x1xL9Xy$0R zd-ra|o65}z_a`v%zflX_##fn{)Q&4+Q4&~PIMb_7AJa8!h7uS9!C_{?v!Xehu=mK~ zyvnKm0RdwCg4iLSq`{8diY&?v*Svf?kBjSreCbs7Z9)`(<1->R~9D7do zY!IJYaR70=CB5wyApT*;rhZxHm481QtRa=IpcKo78< z88ddQ6J0hX=S31zInBn#hgYca`XFtsGsr#_CDMA68Y4+K92AA9Ce5$(Ysj$pp6oIp zOH>G{=uys}Ki|{HXq{cxH7{n=BxoChsS{&n%$g+&LP!oeR?`N^Bm?}Ro7_BxU8yh* z2ogZM1w(Un-5e32@=Jei_}VtkuIs+3^u3KHrBR|?HV$LfpV-4I>^5(*>lsk1f|rrK zh}lgiox1u42H~epS@myA!@D|p@nzJ}fO8B0+d_)sga}Yb^HU_&vKk45oQX1G&y6ve zifma>#X#Zh@GY!%DHN-4OxnE1bQpoZC>8!jk?$e*o3V2^P=(@xhBk1pJLYw;u@Yo)&e#fb>Sfqs2IW@W5xK*S7?fnYr3H@O!F zDPj~R{+1x90D!#EyEl(W)5Tv6Xyg~7dbwMwy=tP zvS<@I_GMHZK+g!(c4GudBkZfy+S4B2-*QLvc zA?;=vOD6-7+=TGhV|o(Q&{}8%P7fdFy`Q6vawZW1QLLRpq!hAuuPAMFd(Wv4;!=Y| zR%zNgL>Pu{_BGKe5Z**j#PbtZ1-dOy4Mm@Wz$1dE&8vatFa_p9;zJEC&?@3@ldjF$ zBgtgDZ{$^y=l`pY5>+Sb1lh@h_<2n>Z{Eyv_PP02imjcU2005vP+it^;+l$q9P8^y zyfhtk2$~{&74H~b&vk#J)$x}hB$o_^44I~}4{T>7MZ1`i?i;%LH(&|Dw~1J? zP*x&l!k*#SnJP16N$GAd;L>-a;Ml6SkJx=f{?PRZ!YH!&KblumZ5psRIDY#0Iw2&{U29k&%HZBl#E}ZsqdR`CFhgXcoE*5np*A%*vqq zDQM2AGOE2gWmo`F{`oJ(cD!p&UF}V#?;|?(?k$GW#_46Hk5@ZRpWZM`^)6-TKXea1 zn50?<<6zfyQju{7+`gQRP+auiS~c1-ve>c3rU+6y6z(+@YS!AsOR=~R!HHs3FA-Tu zT6AZ&kn2HrN%l;RP;p7)lhvXofWv0}?-M~#BWskEe*4n8V%(97>(;6B?=z^F+o{TF z^$}aMIGo&^+R!loQ&RV}EixT(=QmFO5xe*)uUxr1Qp1ow1Wq5M@2E3;ph;IH)Eh!T za2iB|3q9*Hp&g8Y@6ge5jV*fed^?{<|B0Itpr~!hBMq$rY z6W9gK$8d^ru)97kq%j5o79jieBG_3sKWpR#dHv%E#|y zJr%^gdE_UYI#2Mx2EDloqaxkjVsuB1s-~s+F@NF3HRYsEh_mVilKFyBt|?Vd;tUtx zIPc9%MuFZ+BRN2^x1W`rU8g6;@i;iL2>E=DZJ#ZNGT!%Q+f4uR?PDu6Ku)3P{-#fF z!_d60No%-JF$=S?`5No*dg!12iIXRywxa7oy6>zOz5Yfe4sD85X{h(+3*&fN7URY> z+da`Rh^4-kbco}=<6tk^?Kr#WiiIS$E!=d{s*_m1=C7Z*aA6=a_L-o{qST^;RI#a9 zM{zBxeRuqt*oEs6RN|oNvp~YL)MladhH2^O9PYQyWcG{|mF4Fe_k<6F?&y-V)uDUy z4{4LTPqeo`dZz94VV!LcwCdt065h0@ukxhaLvQ1=fXyuePw&k=5|KsbGa-U9=@OiY zV&l_7r9E<4bp6yI78I={%EXBilU9DKE1e1?)xL#638VG3^D9=bc0>ubB*<|_(C|b` z1{pPD)vMTovsSBZ+eXmZgh+1m;-dI{@Lk6$-rNL6F*aqLY(SKWG|z3vSaMOIb{c8I zj~uBJY5n8MGOQYOM8LO-(#V@QB_mKt@hk3sw5*y+#O_I>8EkP|a3RD`M~%jlpZmNh zUvM-jgtF%W!*YZ*_|bKRCBM~<9ITDw*aq(a6O1E0w-`m`dBXoDcVkKgXw zbkgaGbR@ucq+{^F(lVM z*cDll!?_O0q>$B60JiNG3>xIMNaQ5sGsFU&!$$Mf4aLwA~ zs>1;Lzsb2Y6j05&t>@FBHeB)Pcb3F&^8A)VC{)QoR1urUnJ9SL*)Bzsn$R#Ak7Mhi zi)~xA8pBRRQ3xow(?UOj`>YnWM;o0shu#2(ohYa;r7(y-WCvbdSKnlhA7(%%6Mjok z-l73L0scnF0*u>63^WH(08)zqgg{o;Po#!wVFVUosixT53u)4N*qVJzPHvA-^AMsQ z`-?047QT6tg)r|8A3!~8PR0T`1rxo43Vd3k+wi~I9#1LcX+seh4qj7PKA@XJ;xt2(OtBklhE$tNzBdUfm3 zM7^bH={*hJ)-TVL#PI&8lTgi zN1DVhzI_n);^T)G@;tKE^E@~WyYcfT^40AkHkaJ}UiCi3F=@qc#RUb8YeL!g@7q{L zf{3DI06ax$t_#+_m4$5z0<0gLSxA;%(;MSQ3m#Z|=3fYm%SH%)QAC@Lv^s$5cZm?PtO%79q=HOU2IN!E5XPGws_XenI>f5hlDSMu=rHbLPy6GzH=!84a2ev)Fy`y z9U4KrmnOgbRqn7TFAEDtQHR@(T#Yfd4#Ly;&f>+px~ig7+FVHcplCrH!UJU}1TeNn zg(F{jq~Fh*^bJ`!Iv(_^{CHsvF1CFb`VHu1pd7a9h7Kt0MhB2Yl54jnf584fH1 zh5B;B^JbTMt6I9Z9x~+OttME?q+BdsIT<%rg>Y~gLN(rXn-_@~t4gek6J76-OYs?k z3gCToh{Hna?(xGad?@+T=r&-B`Or>9?Ic~Df8-^%rqB`%1=F!K6h!nQ&lER+mjwk* z^zd_*HwnEd-5YEnl;&4hv24LX`Qx`zp7`PD%G=$(YnKoDi2AJu>HtBke$fvR;31-P z+S3LgAau@4LoErC#0rXX!DN`BQ42KjdvRtDrv(cFV6@QE=aU?YF%g>$EXoZiR3x`R z1)|J{r4!L9m}~ese^N3OExvO)l2yvYlB_wu_v!Q1-K%RPx{(!(vtlGuJ#r%v|B_-N zh7z+6vWx0o6mS|O9%*Yjck5)F`YvSL6Kt!HgC-3s4mT13u9zIbM3A$@(V&XWJgol0> zX%0lxj5xlpPfBXVeOjdDZK0kRd7|*|VY9)-fC;2P7k6!<=lb~gJ^);8NhX`+uE!4G zIoK6--6djxjII(tam=4(MX?(RRvU0ewtADN3eMDO(L$3)sWg2ZffkzX__5zJ9S8<` z!I|R7K%A37SJZ+s%F4!O*QeHs&A!p{G5h-L{P(U{3RdUeba@ibU!y8+H zIXCxd@^WRg1ZiLC$2@TclWikwKtNPF;;Yjtyzl83A_IkCJa;N^w54ShfiWR!7@W4#o$(V2eN$Dk)-fVFc0pcWQYYul^-BfxjEIwX`T532^q%jh4hyr>D z8XCQCUaTEX13Q03fE1+ij zL}id5FGDU6pgT1q<7md3MhzO6abAG<--e^-(O2(WRtnO3ym9OzHN!0QO^9|*v~Cdw zpK&e<0tm0O6+}V0u~2oPw-Q%R7E5hj;EjC)n&70p?fNV#&DyAw^^&|O<4KU3A~T?6 zrFs-iP>>U!@v*^Qg3E(S?Rkr=;3mmBRl&%6Ef~MMrB)nly>|m!VnV zrCw8xjOkEzaL}Bp{iWr%hStd`{QhGQtc8s3A-$h(Tjn7nr(AO^uPk_y=Ny{6?Z^9~ z$)#E2OgR9q^2t3p`A%rQPd%7&AMV5UQEX+8qPzF9zKmbw;&s;L%jYupn?*T#OA#YU zV?EYMsbXf>H@x-tFCUMy$tff?E9zC=UzQwjdspSnRh4rOu7B%Ro)q}KSs!OF+7*0l?n@#e-tiE7t_YAHtn%^mc@<26ytj0~!XO9|oaDo8o3}sy^TnVK{uO3a zS|(Gg+ymHtk2?L1D%LT&m37H9IDG^E!B-wUPLsy;cSHKoGJ{IYHhVVx0cG{RZ$*lI z@hY-AfA-6~Un*9$Jo;ARN<(~o(+^e}bw$tmcI_{zGJ+u!H|U=^&#P(( zq6W&iZZs0C5uqzWa`Bh=T>fK;zP`T8|7=I7)>cEJg0kIx6t(=(ly7;$o~OdJiMb5Q zT;$ZpI&cOfFe3~&&6`JC!r_Dkxep%yj&*>5ns7k(mv(;F0A-9OT0s2{9U@R}gm&LZ zCkB|UOyoi4I*;pqhwxmHsT8sbA*Q%DgyV6#JPpC^KXGw9vJZaOe6|L{$nc*lHo;xU zU?9)wbNwsys?kDZLNq!by!iX2i+3)3ii$gX_0gly5x+UxZ@pE-;z%EqHy|i(nDwMd zSN?Gp--f8B)m;wqr~h+j$p7Vk{i`&TQW*|NUN_S1vWe$IyL-n~g|bzk*P%aH?P?ek zKr`0OCR+BHrV@>}T~p7i`!BltX^60&twK@ckEoN@e>m`#%u&0u)I&bcdEwue_&KNo z23Q5Knuy%%{j3}u>LXu<4SwZA9e3J0=wymZ2^bVd`|z=G z^hNw@DstxEMwkCI8u_39^}m{r{D1hn>0?pg8i!jYEwTrYL?yJw{UHaln9C^M2utNW zw|%9j5}$rxgNplS!fE{l&XrY+B?pXpRo;ice{ZLv$ytxw4U56pW_>G~puQ))u^2si z1V0Fj*Z0>-shr*F$*~xUS(!a#d!R@6?iV?Zv<}eXWU%w`K ztxO+eh@vKVJIwC46UjGI^1&&$Sw1f)?5-%d zs>0-1O{M2z3+no`7kG6`7a%l=@$lhmKb5oY$iLEuJ=s7B98Mi0T)VL0;;hEb7qgOU z*R1yb4#c@&sw4aiMTgAI0EJy=V`%p0pC@}>OiFS{Y=_j%oSHfK8%!W4RnX zEs^RnzcBkq2#mgbGWYI`@2Ip9A~KDbBnqdyX9l3>(6}k!v$#+3$~A8xAu|8&zI=H} z%N|4F`w>lSq&f5VKPN)0Q61`yxj;rIE&dcVCNVb8`3~@$rX}w&`T9gIDg&Dsue0aT zd=e;)`>~E*FILeCqW|vL{nEJ;CT#CHo(*rmU*Sd9Ag6l~P=vTR!u~zaRH{-6vY!{c z%x20?a)jwROnx5Wo&y{u$~8GrNB?*Xr#%lrx9crYFj9(GbPwi1?!Sg&OjM^RCBlKT zR4S3)kY{RZks!DI=isn|ettZQQ2-P#QPE&&5KbPQ&Hpy}xu6)r#>W)HBGGzr+#$py zm(o^F$HyOL`64P}BZ%<>EDsynA9Aet%1@3sX{fM0P{){H)=m|H(rFtx`?(7jcEX@i zg24&1fXx)N!Rs)-8{TEo@i4kJG>WAAzVE`^eSUsdwzeKkRUIiBabGHQ z2KRNz@+S1UfTyCvr}J{Ln_C#IZ%1=e8{3|-JORX>Ce^%vP$nW+4`?$a zRFtdyrNAmGl??k)YX|Qj`gtJ!5SWgm@1|0pR!dk_k=CPNL8a3hJDX;;>ePWF0bUc; zAhJ(0x_|Cc=1KFnD1-d`C~;g^5orTckYrS2Xj%yHH*eY`qEUH!2oC(vDB;gSeR!AL zn&M2R>)gitGCC<~pL&fNnhM{OjW(+CX`_FpE~mgjBzc(bh_S)Nv4zm|z8g16+C~3U zDr*UoJH3Ku(*st+pxV&0oBx?Dp`oCgzk@yy48bB~j?HikiF3TlG6B7~wO>H|`sQn59q2i_jN2+}{)=}|C;`>1f_ zl|V%KEQ_6XVK*zp?@d*A@vJq$iC3Uybz>Yo84=qh)M&Pd9=DC@a0r%{YdFH<)-0;l zs`bH72pPDM$oNzd(%7O{vCsF@{QLcPEfMQt-U3R9gP?|j^2v`$P|Vc3eS14rZsRCM zIw~RprsQj{#DgRxETbjRA6P+CVdBVIiWV1~Dr45gn?&4)iKQN*Dm0>p zZ4A+Pa=K`%g)L0}fkqntvf;p|G%kSeiM&$X9y<$>JR+bKSs-ls5CmvwzY*D6G3Wi1 z7kI!Z8eY=|K1FsgFE%zCVA$>|fwnWkWa8NSC+BvOw@QP6PF>%qVUxV-Rd`x zI?5>L0p+K}KyY_8MTTF2U0}V|j%113yh?$z5k08P42Ft{Io%NVBDlrp=xu0+Pe)xM zq9UQbQmgs~iuOZf5wosq1EP=U+Ux~U5`|F>h1|RbRHg`Xpd91}1YV&{TC6Eq-^Y@c zBXknGNG2tvF{OyI(C)(WZj6Bv3i-*!Rn2K85(EaJR2(9HcrVcz3DE}$Bx0XG{-_Ti z8{SMoq@)x2127^aG*mjZ(3W;xqpuxJD5Qt_W8nwSB^N;4R! z_Y1)MT8fCI=+2g&N*S$6THdO^o5HKvfX|(HeJSEyPn&u@QETA`0Z1v+!a*XO=FZ(n z^llG7Eq!g_;d&Sd2ZF?20*nGUM17W=bwhlCkX+SLM7acNDPz<~o5d=v|9}CMS(h;! zrSd`&WDN0(NjjR9hQN>Fdn(49V&kPWUEPEvu4B?<`V;$mRSxFtkO=1aIlVb!`2;)2 zLa`a%c?a1#dMw}73uew#2ZT^WW+bqJ3@>4gZAAMZHpeOx@nAh0~_7??1KCONWGwbc~R^91VIw$20csjb&remM#tFHt@4t@RBTI|I(0=H?b5O0 zJp7#yg>5}QsUhNkWDy$pYtj8isa4bZh>tW<0;MsHdZe*x(Yk6;r^oiu(o{QDylD1? z64Vdyo0{2d#e9_gHJvE=*;G`ih(|yy+x73SE5^M`mRu&@ibptf8dm(C1Mtcv8nH=e}IPs_YnX|W)NLr=YA?K z7|pdOtaOY;w`JV5GG+csm3HLS(#8XEDEqzI02#cTPFKZnox|)9oZO`Gq2I#XuE!l?Y?42Z zb7gf4Xo!AQiPmkJ&d@e+E^KVJoVqES2KNcOlSbQuckR+}UumGd$^L2<8ArPzLs~2B zh?Dm`tbruD2Lm$D)UQ$3SKU1`8lX*E0BBMjg|%Q)nD}#LM@M)Du;)v-)S3DK5>4`W&v{|HU;rzJf1sOr z0h9%r%XFGGO9Nvd8Y|u*A-Z^T*C!mLBd$~DLd1Fxm+Hwa=S6{o5(|0Tg7QM3tJy4# zX5OuKiC2MHBL%Q`a!84IHRAco*0o-hf|5eqhGDv9LY(x67m{HxtV@x$n*L4uH??=$ zMHBb9okG=N*Lni!IEzHB7NkW-XTt8LZG|1}UcueYHmtz2~N9zWG1<>%Wj zHx3MG$?HgGzX}{Hm@(i13ryOBr7lH$i9H6#0h+%W3f@v%ckIv}>vdS5gcFg6jvOiV zFfmyd4g4K?vcT~(rH8CacJqY!uHj>$U1Y31^Jg{Ohr-l}^bQ(;y{5&hlX=}_x8ef> zc_#e@;!aA>g%BXf;qo~=iLsZ-hUr^@^ z%OU}U$aBUEK|TSk#b+w0dhY8Sk?qS#LQ!kFfN*=ms!V)MD5Rp0{dpTg)gUE=d^f1X#>D%1~16(`EdvNlyDN$X_e9>F_UAF{;*4w^e~?d zIN+)5W>Ec#B{VuSfT;Swtw0N+nnTd(0(&j`Y!)81Tn#!f#i)qvTCRT|peE{}RD=uS z5e9g9>CPQ(STEtocfiB&3)mjRtR>U}xtCn+AYOf{@~j;#cNB z;-%?tBlcL*_LAMVqKg<)AWMJFkGj5JKIL14Rj2q4y0jt>M~cg%DLZ(t{m$#+h!A`C z`{SW%hCy!|1y<2Sr3|Yo?=3}WpyMHHUZ(aDb*v1msvepZ(bok){H3a}ui?cm z)v@*1pJ1mY&5^gvEdTx)BbJz~Hs#ZLQQA0#j258Jc6?4%zmCp1K736z`gkSf`M3O@ zVrVgG$miD8)+`vRD8Ecv{(t>bD!BS4jsGoh&nZ#kQ=6LZh%2cMD~o6QS1dqML-N5{ zB$yp;My2alfkW%TKcPYbw%5%zqHs3`DMLMXL~KC(d%bZz@9ni0hLsM^o`9YrokxKA zSJdd4{B*!JZl8F22REN#SG{ratsX zk&dXkb{&J~kF3y(T6Nq@rqhuZUF-m=O;Xn9KOk}%1UN&E4QUSaJ#E^Dl1uzf+}lm- z2d!F2>+{t2i#RX;69)&4#`&v`B4e4jBpiF>i{7~l;(h`H1gAGwA-iE-I^__UtWzEKy63iA?9P%jF|JfQdMFe z8eN$AktEt^t;DQKb!X|6fF}lfF4(B!uCBsB_}H-sd=tmw#ItaxWhBi&SUX~vB@5#M+r!&W7@Ep{ z;z6V>4^7B`e?4)Q|Mz*~$fEhLrd3cj&sHC@F+_H^ne2hWI)ZHy+P$#H&ddTaMdx_> z`+3!cSJ^o^9E|}{nPujP(u9lSWW9^9IwPJZO=?DYjDwpo2tu|&)dIxJ;6JpnuV>5& z!GapS@3dyJW-B`+zo=~cILV{8j5)xI@?T+!JXPQ=xErM%wKQe~9xviS5M&a&6xQhf z!GuH;Bg~oU;oIl4@7$rbxSeuw9~d+Sux^9{>}L_j!zGbXHp8y48*5#h!k(O8Hu})x zpL4-vNF_Q9#-BAsLLP|^R*+wn+0E5BZJ9if2G39@>cjj?D=ItK8lObbmFpMp-rKEUj zkfkI`h@?$6>5$$-Za5_56_9uTf6;5}FjZWzM}xac#abECRN zxO?R4YjBlyglfpZYk&m-HSTg}DA_3O{CObVGK6@+3a~lpdso*cb^Q>iPUxj602CEz z!qsKe!n~Z8bLJd=SqShG;DdB}!X9G{!sD#w&yOxhG2(PY<)Cj$k1IzcW)Ca^erM0F z+PP|J(YcLO>x&CiP1voo8M*b6S>dp*C~mdh?A*CCHq8^Pt|Bd#1Z3b!U8JH-gNYpo zC+x{1FOYX=Z~5k|bHCpZFysDlderUk_9MlP9lO}>VV-6r@u!?DTyRi&PcyC z#Hnt*(unQU3YI`5loE{r=!@%FGhtSm)ASeAnxc#y=w1{_Y#!zf9k^?}c>1qR~WvY{aEDaL+&ABsc!J?_*fk_JR)Z$d6Endog!Ung0Ffem`U z(MXNqt!}NY4W4@t#NMz|wggcc7enOh85?gEB%aD5jQ%hOpyCQ48_G>ei{h;83ZH)v zKUeGE3Ftt%>aa?UFsX+k(oZO$@8--If!Q}O5LIR`|4)hMYlF}RmO{lz(s%<4#FEhf z7p;_q4^m87gf}s}UE%ss!4dC0fr>y^ml5DCBp05orIcm}1MV0!Q{il~kPJ~Ue^VqM zsKY$MEoizV1VZ9{IuBjBm63(x#rm!*(<`+Vfxy{=C&Mox7a)}!fPd_mF&ku^Nah7H zRS@t^3N%z>xeP6LZyUo`4JJ#WA9@?3Gy6Exkxf;K*iX;{lVJ&(ZSY$b&N z1~7z70`gXJ;SK*v3FPpEtQ5T=L-vapTX6$-dP@jf5UO!S#?|QGA0pmm$5YV-KY~So zq=$r9f|A?Q;fgF?TbqEJDeyi4-j6FQjrx+`G*I$VSR4&3XsO=P#X1o!qY*~ce-qjx zhIdv(x#t)hF<(Mzt*qDvkI=Mo%7)VnwN`4Y?z{Kt-Ft&@IlLJ{)37^6av8P^_R!WQ zrbe=q{GBMwgcoV(D}X;AO0>7^$RO@OKMa``fOj+8gqA{8v>ynhR7Bqj1J+1Q(yB|G z{gx%ZTkbC^bT&IT2w%kQM7$!x3TMGJX=lE(@&*{28+Hj8kUnT~aUKU0m~Ix~&WW@B@-1i5?WHu^!GNud3e0i)>KIzz8qjFG+O#L1Y9Ql9JwaTr`19R6vP< z=w_TRg5Huk#)aDgm`e<`#i;!?SD$)P{f~|xQe8Mmpd{wmDD2Ch5oz*a{)4I zhzK$!HDAQOlt>~;8GuwwTf!ADO!f01Iu0}H#r*1RH$FY8M@+|rMTEwk#Lxw@u1 zK*3gIDS*}=(Fn`e*g`cFI*2iF5H3s~k-k*yO30aUtNZej0sqX!bR?l~;%%gTB0FO) zC^^~;v0o)57(!+?RU~&CHA^!*>|746m@hjYB8>OtyZqTQ7(tJ*G`N7ky}(GCv7<@1 z&oYx?OyEw!VE`zKQx^bCQxQuoT4*UaPC!Ez{w!&s;qSH`U-NiP!R-b6srWu5dUz!Ek_m1btr|eA>Fpec7R6r61awT0 zZD=JLcP-G9IfIF6Q8IY3kfro$xD;EU*w3X45j#yyDb>i4XRp~Rf_PG_ww}1>Ag^=)TY!CSO#$*k6ALiBNC2JUj>d` z;(wSmCf67irYK_WK0Ij@wPy~mENC=l4^1|c%V^p9vzf}f3+;?sJpKMaKc2Q%u~e;O zLm-N>=eo zi{Ef`?6Nx``r&b-Tv1pqZ3bMqcBRm`}HibP$ z=_8I4!3agu1{C@St3XmtF@*Z{RgzOvyF+6Xul-X7aDZD}C)( zE!zwi>4KPwd9h8T{{w^6j7fG|w)oi~4NZ{aO1|)l^ zcaI){`sss;P02jZ0MazZlUcGQG8(mpz{bKGim9FMVIIer<&+H)t*~d03$+dE>kgEt zg22m!5tciV*uLxge>lf=8Z1WB6nMCLEy)wu{62;l1@uFP7!u^UH%$Cqt zf@=`6d8j|GLUGlA5=l5o^*PF7p&=F#OqJ4Y1fNtcRE{fP6>gW7 zmX@3z!jN!egZxPbj$~g0&j)I;LtsU1=ZxMSy~qdvY9tE6A>+6j2?5o$t3^fQXr4ka z=DiF?^I~8U?K=nZ4#h?W6?Ng-wWjQM*;~7fR3FLbX}q7bwn8PIVBe3!s9ngV zKYp{xdmqQ|v7hh))V-^yJ@T(a!t>B2nYoY%>JkH#s!t@*7`O7?s-E|%e=~31lznX! zONkO`JuhUOjX~eOmv~c@u!4XpDjQu?nRpNcr!7!nA9PM%+gVY+esIHQh)UDFXahUc zNZvhZ$m#~GG;1bV4)HZ_UZLQxXB1N5nUlYlbt(Y+J5l!J!N>bXQlMbR>D4T~CWV-z zjN;4r(`%7|2!qvpR#0>AYY<#7RLs^T>Nx1Xq@vF*(iliK}*)5Q6n&+V8 z^aw~i3@)#-79gTn2c9<*Qi`_*w2e1u5u*i;a(VmumCXJN1h38R4Ee#`$+67@y!)qF z4E}4Qf*25FNtfW$4FHx|J9vs$_Ra?_a^>DSrsD2jy36$XoU*IIPoac6$! z^}a9@#~)Z_dxjpN534s6P!@_tRq99%ep0mk#zlc-Pq?T*M0H>C--SY(a2*(U_V@M7 zz;x3;om&+z*%pZe6(4V+(} zr6-a@!(?`7cCe7onez3k*_^$2WxeE+0l~Je^^l$K2WV`xzDt>YCB2LXaxM|Cl^&GcMDv;ap`6J}f zDJEre5Z}TWBFi^@laLx|SIT*V7lDqs?E^Jw~Wh_VwciD6Ii}<;(m`!^%+} z>1apSH~Yp9fn5Y-EaK&^IAkuzZ3ItWeE0YW84zO089;L)E><>)#!}(4hwkgQNiNLX zPfm16FXA&^B<4kY2&xQZ0^}d|d@Ne{I=l?_cv%1=1^5mS#iQ55_4Gca!C>47bcSl1Znc!>nrxea$ z32!4aMLn&ow=Ph)X!(2he%i7;;rBo-*b1mn7I0fk_Hc%KHo!Cy5l~vD$hKTw$c*BOqbUBK`5*x#;MgIjHt(?@z2*o`M=byJL zjrp_%j{x*Ap?@LMgqXf|&%uVH?$>pekGHN^7&IijZOU61U$~3%NT8uy0vBYyxA-i8 zviLwiL6>etjTbkrY`8T*_r`1$0660-R!{`5qxeiau^y{(d|EFB`wuhOoD=$Ov%oXqbf0pgj&?A{^~k}Hle$ps^$5S2x0V~_HUXiTBqMSa zc?ZvsN-5JZC{hK8Lqs`-=OkGaP2Uhqk^^8&jyzm~BvaQ1a(0x|3`)fX$ST3ts2;!Y z1_6Hu0msK$S>Ya#94CnrmB@?d_t1a4(XXJQ?Vj|Qs(7RfyREo)Y6Erg0_I%S|56;V z6~*a?veSwRT5srh(myZ|@lXsMJqy!#A*?A9`kRPIKu%?b zx<-9UFOZd}Q~A}Q`u7JS$|mi-RhLP72h`_xb6sda#$iC_@7;cKGoh6Sk`lqLGP$&MtXHziK^g+HPVIDf1_4`9jEbRa9V|K(#Nxw|eR7lDk$b z7s|Ib^cBfE=Wqml$u`0zC>|ME3TLwb$yX-75`1u3cvVf-m`*d)V;dIdOM+6TSS2%GX^?3P%^WOXGmE|$7+xsxy zMw`U2p33UQBZ1_=@7I+X#pvQC(NJj37VEUv|@lwr|4FRI1QTd>qpI9i~gN5%`yg z)S-cSw&-^ev)_aeDy2shV}xYTBI&o$Ip3jvV9@jxw%-(Oz3$)W5Io}h}wbQBjn`N_1 zoNbORt#J9P*o!5$T<^PE8}M_O<+zqdxV92UtLVV$zJzX!qQe7YkDnIACXmv;3KkNyb4TUjF2MP7-- ztHh88P1deO$Zhz4=$E^Rj!fj>vR&QZ97}z13yPj8zXrkC5p+{=DJf1cV7EAkBtof= zuC68Z8&`}%fk5{#0)&_4ex;`<4|O!uT@;^|{8&xRN_iCI*XPJ!w&3BlV?%_dp-PY8 zPeWeHx<$;EUaSg;waH2nt{#3hWxT%Rr4DSn^?_@W(7)+Gm;GOqM z%mCZc)V1Z1xVC6AISuf|--& z2tZnpO&-WmYC=i*4H4?Ld3$4vU9Pb-AvtRcm!9$dG{W0EjU%n1_`%BSJ+XLApm(|X zmm5Rpxu0UW#vMC$2h^`E!$zmgS~UtA#%f0QB{2f=!`bv|%ejj3GQV4)dv~^rJ3xHg zlW6vjKAg+L4^4tz%_q|vIZQ9>TZjvuzg+C*cKlG~oA)fXNY3DL4!5dDEY7&t*vZ@% zkeX;PID`ir$fLmnMdH_~#fEdU63fcV+iGifE3N(FFy~1=5W({$d3kxJK}8)uB*eyo zZRGM!rSIPoPm|AV_nR2PVmQ?tLnMxU$kjtD|7Zdau>gq>^Az`S1ooI&*Y)+aM~nDK zMzwF>uVF<%C9AqualMg(YWf8<-?Q$TOW?}Jpt{Z;K z%)3^VCS29Plv7uMP3-OL!il4Z!+ey2T3Q0ImlU0I1b$^ikUym|rD@dYYhL;W1{D?J zo+rF8?Su8#Ph>?2Zdf%rMXYH|>s>S4_Xt_Af~t$a0?Jx`AX$dcUE!{*TNnZRX4 zw#3UT;aRk53{u;WNZ9pq_S0I*&Yj!0M}QC%B+lR_K?KFIsh5Erb{M=Y@}PH>b0a9Voie(|Y~Jpsv& z!WWYTWV6fly;rAnwi}+rc2`GkY)Eb?*TFVaaME?tdBooD$hf5B$Y<+p+p%Lj3OL!X zVG?qI_e?R`Vz`S#2tis|()mwSGcXX^W96L85n~F*&yzM_H)s5EXwjNCHgM<$=H|1J zM&1ndEQ+NGVF3DU*#6seF-c1wn91nbpeP2vo|Tac9tNvAVQ4XtG|`*K3C;(;a^TW-&w-l1KB*|vB&-ty?~f8Q3W9H~q!ysR@=2zM0w zD_C8;#ASVAG4K1!_gnY@Vj_-m{cik8a)u6>ATgC?0y6+OV7FvRf}E;!i8gzTM_}Q- z32yl3tCeloJP#b`gc&e4JY0f??HHj!o&!vTi;?3vYip9kQXes3K>8cB<+X3O7=@ zVQ%014NuRtP0YXlY}jg~{9cYZMjY8T6OT+m-4jb%dTdb8mtF~8BS-$6rg}ORWb3;_ zZQn<+=nRGq{b)YC`X?1*5;v1yKz_jS*^i>|MIZTw7`AwqZ=tdUP*j9*yEuu?P!v`%J)t_Zh2_M`}pvgw`_F!y0@(e zdERtGaHqj@XAkna=+m@v#;DXDcTQ?5F3Neo(c8b~fEm+el@;`H+NXAN_XjoZveJUR zZt=8BvtFize@#O-)v3MNy2Ek{0~a-q)is|1`5m z=4(o$u7w)>quJ^O|Ld!v<;g!8ivJM)aZxh=lOOY#;h%c3Wb4HrW^~f`HQ&ZddgJMv z>h_8hGi|jCSW<_OxMcKN%qyGoUA<@skoaGirD8|2W*va_g z!J!jJ=9&A zD8A7;FGAiHEK0mm@sk0}9$l-tOXCc4XO5ABtIPUOA6Rz@&MtnWC|ygxZBk8ziHTRA zs9k`E`tLm8>PSiRPCmZLvKjs#jHpk2g1L6(<5C;-ANKs8us;9YJM=%ivH$;L|EwkY zzq^wj@T_^{BfhNeBnx5fMGn5cW1ub1A=ywL{DS|Mkyx{4xP!g@Go15BJtyolDJ?)G zq#{P!=f)RG&3I|ZZGM8h$_4}ZnJTaEwb#`L6yNjR|J_ruT}vAI(?q{#`D@delU#W0o#{{{qu4y@CJ$ diff --git a/bip-ir/paymentrequest.proto b/bip-ir/paymentrequest.proto new file mode 100644 index 00000000..5fcd65fb --- /dev/null +++ b/bip-ir/paymentrequest.proto @@ -0,0 +1,84 @@ +// +// Simple Bitcoin Payment Protocol messages +// +// Use fields 1000+ for extensions; +// to avoid conflicts, register extensions via pull-req at +// https://github.com/bitcoin/bips/bip-0070/extensions.mediawiki +// + +package payments; +option java_package = "org.bitcoin.protocols.payments"; +option java_outer_classname = "Protos"; + +// Generalized form of "send payment to this/these bitcoin addresses" +message Output { + optional uint64 amount = 1 [default = 0]; // amount is integer-number-of-satoshis + required bytes script = 2; // usually one of the standard Script forms +} +message PaymentDetails { + optional string network = 1 [default = "main"]; // "main" or "test" + repeated Output outputs = 2; // Where payment should be sent + required uint64 time = 3; // Timestamp; when payment request created + optional uint64 expires = 4; // Timestamp; when this request should be considered invalid + optional string memo = 5; // Human-readable description of request for the customer + optional string payment_url = 6; // URL to send Payment and get PaymentACK + optional bytes merchant_data = 7; // Arbitrary data to include in the Payment message +} +message PaymentRequest { + optional uint32 payment_details_version = 1 [default = 1]; + optional string pki_type = 2 [default = "none"]; // none / x509+sha256 / x509+sha1 + optional bytes pki_data = 3; // depends on pki_type + required bytes serialized_payment_details = 4; // PaymentDetails + optional bytes signature = 5; // pki-dependent signature +} +message X509Certificates { + repeated bytes certificate = 1; // DER-encoded X.509 certificate chain +} +message Payment { + optional bytes merchant_data = 1; // From PaymentDetails.merchant_data + repeated bytes transactions = 2; // Signed transactions that satisfy PaymentDetails.outputs + repeated Output refund_to = 3; // Where to send refunds, if a refund is necessary + optional string memo = 4; // Human-readable message for the merchant +} +message PaymentACK { + required Payment payment = 1; // Payment message that triggered this ACK + optional string memo = 2; // human-readable message for customer +} + +// BIP-IR Extensions +message EncryptedInvoiceRequest { + required bytes encrypted_invoice_request = 1; // AES-256-CBC Encrypted InvoiceRequest as defined in InvoiceRequest Spec + required bytes sender_public_key = 2; // Sender's EC Public Key + required bytes invoice_request_hash = 3; // SHA256 Hash of Non-Encrypted, Serialized InvoiceRequest (used for authentication) +} + +message InvoiceRequest { + required bytes sender_public_key = 1; // Sender's EC Public Key + required uint64 nonce = 2; // Microseconds since epoch + optional uint64 amount = 3 [default = 0]; // amount is integer-number-of-satoshis + optional string pki_type = 4 [default = "none"]; // none / x509+sha256 + optional bytes pki_data = 5; // Depends on pki_type + optional string memo = 6; // Human-readable description of invoice request for the receiver + optional string notification_url = 7; // URL to notify on EncryptedPaymentRequest ready + optional bytes signature = 8; // PKI-dependent signature +} + +message EncryptedPaymentRequest { + required bytes encrypted_payment_request = 1; // AES-256-CBC Encrypted PaymentRequest as defined in InvoiceRequest Spec + required bytes receiver_public_key = 2; // Receiver's EC Public Key + required bytes ephemeral_public_key = 3; // Public Key of ECDH-derived keypair + required bytes payment_request_hash = 4; // SHA256 Hash of Non-Encrypted, Serialized PaymentRequest (used for authentication) + required bool requires_payment_message = 5 [default = false]; // Requires Payment/PaymentACK message exchange +} + +message EncryptedPayment { + required bytes encrypted_payment = 1; // AES-256-CBC Encrypted Payment as defined in InvoiceRequest Spec + required bytes payment_request_hash = 2; // SHA256 Hash of Non-Encrypted, Serialized PaymentRequest returned in the transaction's EncryptedPaymentRequest message + required bytes signature = 3; // Signature over EncryptedPayment with original Sender's EC Private Key +} + +message EncryptedPaymentACK { + required bytes encrypted_payment_ack = 1; // AES-256-CBC Encrypted Payment as defined in InvoiceRequest Spec + required bytes payment_request_hash = 2; // SHA256 Hash of Non-Encrypted, Serialized PaymentRequest returned in the transaction's EncryptedPaymentRequest message + required bytes signature = 3; // Signature over EncryptedPaymentACK with the Receiver's EC Private key. +} \ No newline at end of file From 52b6cde023466771b2f3ae27ddd6ec9fb0738fcb Mon Sep 17 00:00:00 2001 From: Matt David Date: Sun, 21 Feb 2016 14:06:03 -0800 Subject: [PATCH 37/54] - Fix Signature note formatting - Change No EncryptedPayment Required title - Fix BIP70 link format in References --- bip-invoicerequest-extension.mediawiki | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/bip-invoicerequest-extension.mediawiki b/bip-invoicerequest-extension.mediawiki index 814845d5..dac70b35 100644 --- a/bip-invoicerequest-extension.mediawiki +++ b/bip-invoicerequest-extension.mediawiki @@ -350,6 +350,7 @@ Initial public key retrieval for InvoiceRequest encryption can be done in a numb * Sign the serialized EncryptedPaymentACK message with the Receiver's EC public key * Set signature to the result of the signature operation above + **SIGNATURE NOTE:** The EncryptedPayment message is signed with the ECDH-derived key as both the Sender and Receiver have the ECDH-derived key, however the EncryptedPaymentACK message is signed with the Receiver's EC key because only the Sender has access to it. This prevents both EncryptedPaymentACK spam and EncryptedPaymentACKs from being submitted by the Sender. @@ -390,7 +391,7 @@ EncryptedPayment and an EncryptedPaymentACK. In this case, the Receiver submits -===No EncryptedPayment Required=== +===EncryptedPayment NOT Required=== The following diagram shows a sample flow in which one mobile client is sending value to a second mobile client with the use of an InvoiceRequest, a Store & Forward server, and an EncryptedPaymentRequest (with require_payment_message = false). In this case, the Sender submits the transaction to the bitcoin network. @@ -406,7 +407,7 @@ In this case, the Sender submits the transaction to the bitcoin network. ==References== -* [bip-0070.mediawiki|BIP70 - Payment Protocol] +* [[bip-0070.mediawiki|BIP70 - Payment Protocol]] * [https://en.wikipedia.org/wiki/Elliptic_curve_Diffie–Hellman ECDH] * [http://csrc.nist.gov/publications/nistpubs/800-90A/SP800-90A.pdf HMAC_DRBG] * [https://tools.ietf.org/html/rfc6979 RFC6979] From 198188b9245eb3547b480f95ef5eef1e32557074 Mon Sep 17 00:00:00 2001 From: jmacwhyte Date: Sun, 21 Feb 2016 21:31:16 -0800 Subject: [PATCH 38/54] Improved message definitions, etc. --- bip-invoicerequest-extension.mediawiki | 139 ++++++++++++++----------- 1 file changed, 80 insertions(+), 59 deletions(-) diff --git a/bip-invoicerequest-extension.mediawiki b/bip-invoicerequest-extension.mediawiki index dac70b35..1ca2ffd0 100644 --- a/bip-invoicerequest-extension.mediawiki +++ b/bip-invoicerequest-extension.mediawiki @@ -83,30 +83,10 @@ or payment information, only delete encrypted messages. ==New Messages== Updated [/bip-ir/paymentrequest.proto paymentrequest.proto] contains the existing PaymentRequest Protocol Buffer messages as well as -the messages newly defined in this BIP. - -===EncryptedInvoiceRequest=== -The EncryptedInvoiceRequest message allows a Sender to send an encrypted InvoiceRequest to the Receiver such that the details of the InvoiceRequest are kept secret. -

-message EncryptedInvoiceRequest {
-    required bytes encrypted_invoice_request = 1;
-    required bytes sender_public_key = 2;
-    required bytes invoice_request_hash = 3;
-}
-
- -{| class="wikitable" -! Field Name !! Description -|- -| encrypted_invoice_request || AES-256-CBC encrypted, serialized InvoiceRequest -|- -| sender_public_key || Sender's EC public key -|- -| invoice_request_hash || SHA256 Hash of non-encrypted, serialized InvoiceRequest -|} +the messages newly defined in this BIP. Note: Public keys from both parties must be known to each other in order to facilitate encrypted communication. We assume Store & Forward servers will provide their own method for communicating one or both parties' public keys, so that exchange is outside the scope of this BIP. The protocol does, however, include the option of including the public keys during communication if they are not already known. ===InvoiceRequest=== -The InvoiceRequest message allows a Sender to send information to the Receiver such that they can create and return a EncryptedPaymentRequest. +The InvoiceRequest message allows a Sender to send information to the Receiver such that they can create and return a PaymentRequest.
 message InvoiceRequest {
@@ -141,31 +121,71 @@ message InvoiceRequest {
 | signature             || PKI-dependent signature
 |}
 
+
+===EncryptedInvoiceRequest===
+The EncryptedInvoiceRequest message allows a Sender to send an encrypted InvoiceRequest to the Receiver such that the details of the InvoiceRequest are kept secret.
+
+message EncryptedInvoiceRequest {
+    required bytes  encrypted_invoice_request = 1;
+    required bytes  invoice_request_hash = 2;
+    required bytes  sender_public_key = 3;
+    optional bytes  receiver_public_key = 4;
+    required uint64 nonce = 5;
+    optional bytes  identifier = 6;
+    
+}
+
+ +{| class="wikitable" +! Field Name
!! Description +|- +| encrypted_invoice_request || AES-256-CBC encrypted, serialized InvoiceRequest +|- +| invoice_request_hash || SHA256 Hash of non-encrypted, serialized InvoiceRequest. MUST be used for verification to prevent oracle attacks. +|- +| sender_public_key || Sender's EC public key +|- +| receiver_public_key || Receiver's EC public key, can be omitted if this message is sent directly to the recipient, or is sent to a Store & Forward server that already understands who the recipient should be (if specified by URI endpoint, for example) +|- +| nonce || The nonce in use for the CBC encryption +|- +| identifier || A unique key to identify this entire exchange on the server. By default, invoice_request_hash SHOULD be used. +|} + ===EncryptedPaymentRequest=== The EncryptedPaymentRequest message is an encapsulating message that allows the transmission of an encrypted, serialized PaymentRequest.
 message EncryptedPaymentRequest {
-        required bytes encrypted_payment_request = 1;
-        required bytes receiver_public_key = 2;
-        required bytes ephemeral_public_key = 3;
-        required bytes payment_request_hash = 4;
-        optional bool  requires_payment_message = 5;
+        required bytes  encrypted_payment_request = 1;
+        required bytes  payment_request_hash = 2;
+        optional bytes  receiver_public_key = 3;
+        optional bytes  sender_public_key = 4;
+        optional uint64 nonce = 5;
+        optional bool   requires_payment_message = 6;
+        optional bytes  signature = 7;
+        optional bytes  identifier = 6;
 }
 
{| class="wikitable" ! Field Name
!! Description |- -| encrypted_payment_request || AES-256-CBC encrypted, serialized PaymentRequest +| encrypted_payment_request || AES-256-CBC encrypted, serialized BIP70 PaymentRequest |- -| receiver_public_key || Receiver's EC public key +| payment_request_hash || SHA256 Hash of non-encrypted, serialized PaymentRequest. MUST be used for verification to prevent oracle attacks. |- -| ephemeral_public_key || Public Key of ECDH-derived keypair +| receiver_public_key || Receiver's EC public key, only necessary if not already shared or known (for example, if this message is not in response to an InvoiceRequest) |- -| payment_request_hash || SHA256 Hash of non-encrypted, serialized PaymentRequest +| sender_public_key || Sender's EC public key, can be omitted if this message is sent directly to the recipient, or is sent to a Store & Forward server that already understands who the recipient should be (if specified by URI endpoint, for example) +|- +| nonce || The nonce in use for the CBC encryption, only necessary if not already shared (for example, if this message is not in response to an InvoiceRequest) |- | requires_payment_message || Internal PaymentRequest requires follow-up Payment message +|- +| signature || A signature of this message using Receiver's EC key, serialized with a value of "" for signature. Only necessary if required by the server to authenticate a reply to an InvoiceRequest. +|- +| identifier || If the PaymentRequest is in response to an InvoiceRequest, use the identifier specified with the InvoiceRequest, if any. Otherwise, use payment_request_hash or other unique value. |} ===EncryptedPayment=== @@ -175,18 +195,21 @@ The EncryptedPayment message allows a BIP70 Payment message to be transmitted th
 message EncryptedPayment {
         required bytes encrypted_payment = 1;
-        required bytes payment_request_hash = 2;
+        required bytes payment_hash = 2;
         required bytes signature = 3;
+        optional bytes identifier = 4;
 }
 
{| class="wikitable" ! Field Name !! Description |- -| encrypted_payment || AES-256-CBC encrypted, serialized standard BIP70 Payment message +| encrypted_payment || AES-256-CBC encrypted, serialized BIP70 Payment message |- -| payment_request_hash || SHA256 Hash of original non-encrypted, serialized PaymentRequest. Some other identifier linking this message to the original request can also be used. +| payment_hash || SHA256 Hash of original non-encrypted, serialized Payment message. MUST be used for verification to prevent oracle attacks. |- -| signature || Signature of this message using the ECDH-derived key calculated for the EncryptedPaymentRequest, serialized with a value of "" for signature. +| signature || A signature of this message using Sender's EC key, serialized with a value of "" for signature. +|- +| identifier || Use the identifier specified with the EncryptedPaymentRequest, if any. |} ===EncryptedPaymentACK=== @@ -196,18 +219,21 @@ An encrypted version of the BIP70 PaymentAck.
 message EncryptedPaymentACK {
         required bytes encrypted_payment_ack = 1;
-        required bytes payment_request_hash = 2;
+        required bytes payment_ack_hash = 2;
         required bytes signature = 3;
+        optional bytes identifier = 4;
 }
 
{| class="wikitable" ! Field Name !! Description |- -| encrypted_payment_ack || AES-256-CBC encrypted, serialized standard BIP70 PaymentACK message +| encrypted_payment_ack || AES-256-CBC encrypted, serialized BIP70 PaymentACK message |- -| payment_request_hash || The payment_request_hash provided in the EncryptedPayment message. +| payment_ack_hash || SHA256 Hash of original non-encrypted, serialized Payment message. MUST be used for verification to prevent oracle attacks. |- | signature || A signature of this message using Receiver's EC key, serialized with a value of "" for signature. +|- +| identifier || Use the identifier specified with the EncryptedPayment, if any. |} ==InvoiceRequest / PaymentRequest Process== @@ -256,10 +282,10 @@ Messages MUST be transmitted via TLS-protected HTTP using the appropriate Conten {| class="wikitable" ! Message Type !! Content Type |- -| EncryptedInvoiceRequest || application/bitcoin-encrypted-invoicerequest -|- | InvoiceRequest || application/bitcoin-invoicerequest |- +| EncryptedInvoiceRequest || application/bitcoin-encrypted-invoicerequest +|- | EncryptedPaymentRequest || application/bitcoin-encrypted-paymentrequest |- | EncryptedPayment || application/bitcoin-encrypted-payment @@ -269,10 +295,12 @@ Messages MUST be transmitted via TLS-protected HTTP using the appropriate Conten ===Message or Communication Errors=== An invalid or unparsable message or communications error MUST be communicated to the party that initiated the communication. This -SHOULD be done through standard HTTP Status Code messaging ([https://tools.ietf.org/html/rfc7231 RFC 7231 Section 6]). +SHOULD be done through standard HTTP Status Code messaging ([https://tools.ietf.org/html/rfc7231 RFC 7231 Section 6]). If the provided hash of each message does not match the contents of the message once decrypted, a general error should be returned to prevent oracle attacks. ==Process Step Details== +For the following we assume the Sender already knows the Receiver's public key, and the exchange starts with an EncryptedInvoiceRequest. + ===InvoiceRequest Message Creation=== * Create an InvoiceRequest message * sender_public_key MUST be set to the public key of an EC keypair @@ -294,6 +322,7 @@ SHOULD be done through standard HTTP Status Code messaging ([https://tools.ietf. * invoice_request_hash MUST be set to the SHA256 hash of the serialized InvoiceRequest (without encryption) * Encrypt the serialized InvoiceRequest using AES-256-CBC setup as described in ECDH Point Generation and AES-256 (CBC Mode) Setup (see below) * encrypted_invoice_Request MUST be set to the encrypted values of the InvoiceRequest +* Set identifier to invoice_request_hash ===InvoiceRequest Validation=== * Validate sender_public_key is a valid EC public key @@ -306,9 +335,10 @@ SHOULD be done through standard HTTP Status Code messaging ([https://tools.ietf. * Encrypt the serialized PaymentRequest using AES-256-CBC setup as described in ECDH Point Generation and AES-256 (CBC Mode) Setup (see below) * Create EncryptedPaymentRequest message * Set encrypted_payment_request to be the encrypted value of the PaymentRequest -* Set receiver_public_key to the Receiver's EC public key (of which the private key was previously used in ECDH secret point calculation) -* Set ephemeral_public_key to the public key of the previously determined ECDH-derived key * Set payment_request_hash to generated SHA256 hash of the serialized PaymentRequest (without encryption) +* Set identifier to the value received in EncryptedInvoiceRequest +* Set signature to "" +* Sign the serialized EncryptedPayment message with the Receiver's EC public key ===EncryptedPaymentRequest Validation and Decryption=== * Decrypt the serialized PaymentRequest using AES-256-CBC setup as described in ECDH Point Generation and AES-256 (CBC Mode) Setup (see below) @@ -336,37 +366,28 @@ Initial public key retrieval for InvoiceRequest encryption can be done in a numb * Encrypt the serialized Payment using AES-256-CBC using secret key calculated in the EncryptedPaymentRequest Message Creation and PaymentRequest Encryption step (see above) * Create EncryptedPayment message * Set encrypted_payment to be the encrypted value of the Payment -* Set payment_request_hash to be the value of the associated, received EncryptedPaymentRequest +* Set identifier to the value received in EncryptedPaymentRequest +* Set payment_hash to generated SHA256 hash of the serialized Payment (without encryption) * Set signature to "" -* Sign the serialized EncryptedPayment message with the previously calculated ECDH-derived key +* Sign the serialized EncryptedPayment message with the Sender's EC public key * Set signature to the result of the signature operation above ===EncryptedPaymentACK Message Creation=== * Encrypt the serialized PaymentACK using AES-256-CBC using secret key calculated in the EncryptedPaymentRequest Message Creation and PaymentRequest Encryption step (see above) * Create EncryptedPaymentACK message * Set encrypted_payment_ack to be the encrypted value of the PaymentACK -* Set payment_request_hash to be the value of the associated, received EncryptedPaymentRequest +* Set payment_ack_hash to generated SHA256 hash of the serialized PaymentACK (without encryption) * Set signature to "" * Sign the serialized EncryptedPaymentACK message with the Receiver's EC public key * Set signature to the result of the signature operation above -**SIGNATURE NOTE:** The EncryptedPayment message is signed with the ECDH-derived key as both the Sender and Receiver -have the ECDH-derived key, however the EncryptedPaymentACK message is signed with the Receiver's EC key because only the -Sender has access to it. This prevents both EncryptedPaymentACK spam and EncryptedPaymentACKs from being submitted by the Sender. +**SIGNATURE NOTE:** EncryptedPaymentRequest, EncryptedPayment, and EncryptedPaymentACK messages are signed with the public keys of the party transmitting the message. This allows a Store & Forward server or other transmission system to prevent spam or other abuses. For those who are privacy concious and don't want the server to track the interactions between two public keys, the Sender can generate a new public key for each interaction to keep their identity anonymous. ==Payment / PaymentACK Messages with a Store & Foward Server== -When a Store & Forward server is in use during the Payment Protocol exchange, an EncryptedPayment message generated as the result of a -received EncryptedPaymentRequest MUST be accepted by a Store & Forward server if the EncryptedPayment message is appropriately correlated -to an InvoiceRequest/PaymentRequest exchange. This correlation SHOULD be done in order to decrease spam requests. The accepted -Payment message is NOT validated as the Store & Forward server does not have access to the original PaymentRequest. +When a Store & Forward server is in use during the Payment Protocol exchange, an EncryptedPayment message generated as the result of a EncryptedPaymentRequest with the requires_payment_message flag set to true MUST be accepted by a Store & Forward server. The accepted Payment message is NOT validated as the Store & Forward server does not have access to encrypted data. -Store & Forward servers MAY accept and/or overwrite EncryptedPayment messages until an EncryptedPaymentACK message with -matching payment request hash and Receiver signature is received, after which the server MAY reject all further EncryptedPayment -messages matching that payment request hash. This feature SHOULD be used for updating Payment metadata or replacing -invalid transactions with valid ones. Clients SHOULD keep in mind Receivers can broadcast a transaction without returning an ACK. -If a payment message needs to be updated, it SHOULD include at least one input referenced in the original transaction to prevent -the Receiver from broadcasting both transactions and getting paid twice. +Store & Forward servers MAY accept and/or overwrite EncryptedPayment messages until an EncryptedPaymentACK message with matching identifier and valid Receiver signature is received, after which the server MAY reject all further EncryptedPayment messages matching that identifier. This feature SHOULD be used for updating Payment metadata or replacing invalid transactions with valid ones. Clients SHOULD keep in mind Receivers can broadcast a transaction without returning an ACK. If a payment message needs to be updated, it SHOULD include at least one input referenced in the original transaction to prevent the Receiver from broadcasting both transactions and getting paid twice. ==Implementation== A reference implementation for a Store & Forward server supporting this proposal can be found here: From 10e6f46569beb2b0d6f28609fd616eea79446f4f Mon Sep 17 00:00:00 2001 From: Matt David Date: Mon, 22 Feb 2016 12:04:54 -0800 Subject: [PATCH 39/54] - Make message public key sharing mandatory for messages that are encrypted and where both keys are known. For EncryptedInvoiceRequest, only the sender_public_key is required - Add nonce to EncryptedPaymentRequest, EncryptedPayment and EncryptedPaymentACK - Update ECDH instruction to allow for the current message instead of an InvoiceRequest to contain the nonce - Updated paymentrequest.proto with BIP definition changes --- bip-invoicerequest-extension.mediawiki | 84 ++++++++++++++++++-------- bip-ir/paymentrequest.proto | 49 +++++++++------ 2 files changed, 92 insertions(+), 41 deletions(-) diff --git a/bip-invoicerequest-extension.mediawiki b/bip-invoicerequest-extension.mediawiki index 1ca2ffd0..c9f1c2e7 100644 --- a/bip-invoicerequest-extension.mediawiki +++ b/bip-invoicerequest-extension.mediawiki @@ -145,13 +145,15 @@ message EncryptedInvoiceRequest { |- | sender_public_key || Sender's EC public key |- -| receiver_public_key || Receiver's EC public key, can be omitted if this message is sent directly to the recipient, or is sent to a Store & Forward server that already understands who the recipient should be (if specified by URI endpoint, for example) +| receiver_public_key || Receiver's EC public key |- | nonce || The nonce in use for the CBC encryption |- -| identifier || A unique key to identify this entire exchange on the server. By default, invoice_request_hash SHOULD be used. +| identifier || A unique key to identify this entire exchange on the server. invoice_request_hash SHOULD be used by default. |} +receiver_public_key MAY be omitted if this message is sent directly to the Receiver. receiver_public_key MAY also be omitted if the EncryptedInvoiceRequest is being sent to a Store & Forward server which already understands who the Receiver is. An example of this is a Store & Forward server URL that uniquely identifies the Receiver (and their public key). + ===EncryptedPaymentRequest=== The EncryptedPaymentRequest message is an encapsulating message that allows the transmission of an encrypted, serialized PaymentRequest. @@ -160,12 +162,12 @@ The EncryptedPaymentRequest message is an encapsulating message that allows the message EncryptedPaymentRequest { required bytes encrypted_payment_request = 1; required bytes payment_request_hash = 2; - optional bytes receiver_public_key = 3; - optional bytes sender_public_key = 4; - optional uint64 nonce = 5; + required bytes receiver_public_key = 3; + required bytes sender_public_key = 4; + required uint64 nonce = 5; optional bool requires_payment_message = 6; optional bytes signature = 7; - optional bytes identifier = 6; + optional bytes identifier = 8; }
{| class="wikitable" @@ -175,17 +177,17 @@ message EncryptedPaymentRequest { |- | payment_request_hash || SHA256 Hash of non-encrypted, serialized PaymentRequest. MUST be used for verification to prevent oracle attacks. |- -| receiver_public_key || Receiver's EC public key, only necessary if not already shared or known (for example, if this message is not in response to an InvoiceRequest) +| receiver_public_key || Receiver's EC public key |- -| sender_public_key || Sender's EC public key, can be omitted if this message is sent directly to the recipient, or is sent to a Store & Forward server that already understands who the recipient should be (if specified by URI endpoint, for example) +| sender_public_key || Sender's EC public key |- -| nonce || The nonce in use for the CBC encryption, only necessary if not already shared (for example, if this message is not in response to an InvoiceRequest) +| nonce || The nonce in use for the CBC encryption |- | requires_payment_message || Internal PaymentRequest requires follow-up Payment message |- -| signature || A signature of this message using Receiver's EC key, serialized with a value of "" for signature. Only necessary if required by the server to authenticate a reply to an InvoiceRequest. +| signature || A signature of this message using Receiver's EC key, serialized with a value of "" for signature. REQUIRED if server requires InvoiceRequest reply authentication. |- -| identifier || If the PaymentRequest is in response to an InvoiceRequest, use the identifier specified with the InvoiceRequest, if any. Otherwise, use payment_request_hash or other unique value. +| identifier || MUST use the identifier specified with the InvoiceRequest if the PaymentRequest is in response to an InvoiceRequest. Otherwise, use payment_request_hash or other unique value. |} ===EncryptedPayment=== @@ -194,10 +196,13 @@ The EncryptedPayment message allows a BIP70 Payment message to be transmitted th
 message EncryptedPayment {
-        required bytes encrypted_payment = 1;
-        required bytes payment_hash = 2;
-        required bytes signature = 3;
-        optional bytes identifier = 4;
+        required bytes  encrypted_payment = 1;
+        required bytes  payment_hash = 2;
+        required bytes  receiver_public_key = 3;
+        required bytes  sender_public_key = 4;
+        required uint64 nonce = 5;
+        required bytes  signature = 6;
+        optional bytes  identifier = 7;
 }
 
{| class="wikitable" @@ -207,6 +212,12 @@ message EncryptedPayment { |- | payment_hash || SHA256 Hash of original non-encrypted, serialized Payment message. MUST be used for verification to prevent oracle attacks. |- +| receiver_public_key || Receiver's EC public key +|- +| sender_public_key || Sender's EC public key +|- +| nonce || The nonce in use for the CBC encryption +|- | signature || A signature of this message using Sender's EC key, serialized with a value of "" for signature. |- | identifier || Use the identifier specified with the EncryptedPaymentRequest, if any. @@ -218,10 +229,13 @@ An encrypted version of the BIP70 PaymentAck.
 message EncryptedPaymentACK {
-        required bytes encrypted_payment_ack = 1;
-        required bytes payment_ack_hash = 2;
-        required bytes signature = 3;
-        optional bytes identifier = 4;
+        required bytes  encrypted_payment_ack = 1;
+        required bytes  payment_ack_hash = 2;
+        required bytes  receiver_public_key = 3;
+        required bytes  sender_public_key = 4;
+        required uint64 nonce = 5;
+        required bytes  signature = 6;
+        optional bytes  identifier = 7;
 }
 
{| class="wikitable" @@ -231,6 +245,12 @@ message EncryptedPaymentACK { |- | payment_ack_hash || SHA256 Hash of original non-encrypted, serialized Payment message. MUST be used for verification to prevent oracle attacks. |- +| receiver_public_key || Receiver's EC public key +|- +| sender_public_key || Sender's EC public key +|- +| nonce || The nonce in use for the CBC encryption +|- | signature || A signature of this message using Receiver's EC key, serialized with a value of "" for signature. |- | identifier || Use the identifier specified with the EncryptedPayment, if any. @@ -301,10 +321,12 @@ SHOULD be done through standard HTTP Status Code messaging ([https://tools.ietf. For the following we assume the Sender already knows the Receiver's public key, and the exchange starts with an EncryptedInvoiceRequest. +Where used, **nonce** MUST be set to a non-repeating number. The current epoch time in microseconds SHOULD be used, unless the creating device doesn't have access to a RTC (in the case of a smart card, for example). The service receiving the message containing the **nonce** MAY use whatever method to make sure that the **nonce** is never repeated. + ===InvoiceRequest Message Creation=== * Create an InvoiceRequest message * sender_public_key MUST be set to the public key of an EC keypair -* nonce MUST be set to a non-repeating number. The current epoch time in microseconds SHOULD be used, unless the creating device doesn't have access to a RTC (in the case of a smart card, for example) +* nonce MUST be set according to the requirement above. * Amount is optional. If the amount is not specified by the InvoiceRequest, the Receiver MAY specify the amount in the returned PaymentRequest. If an amount is specified by the InvoiceRequest and a PaymentRequest cannot be generated for that amount, the InvoiceRequest SHOULD be rejected with HTTP status code 406. * Memo is optional. This MAY be set to a human readable description of the InvoiceRequest * Set notification_url to URL that the Receiver will submit completed EncryptedPaymentRequest to @@ -318,10 +340,12 @@ For the following we assume the Sender already knows the Receiver's public key, ===EncryptedInvoiceRequest Message Creation=== * Create an EncryptedInvoiceRequest * Retrieve endpoint public key to use in ECDH Point Generation as specified in Initial Public Key Retrieval for InvoiceRequest Encryption (see below) -* sender_public_key MUST be set to the public key of an EC keypair +* sender_public_key MUST be set to the public key of the Sender's EC keypair +* receiver_public_key MAY be set to the public key of the Receiver's EC keypair * invoice_request_hash MUST be set to the SHA256 hash of the serialized InvoiceRequest (without encryption) * Encrypt the serialized InvoiceRequest using AES-256-CBC setup as described in ECDH Point Generation and AES-256 (CBC Mode) Setup (see below) * encrypted_invoice_Request MUST be set to the encrypted values of the InvoiceRequest +* nonce MUST be set to the nonce used in the AES-256-CBC encryption operation * Set identifier to invoice_request_hash ===InvoiceRequest Validation=== @@ -336,9 +360,14 @@ For the following we assume the Sender already knows the Receiver's public key, * Create EncryptedPaymentRequest message * Set encrypted_payment_request to be the encrypted value of the PaymentRequest * Set payment_request_hash to generated SHA256 hash of the serialized PaymentRequest (without encryption) +* sender_public_key MUST be set to the public key of the Sender's EC keypair +* receiver_public_key MUST be set to the public key of the Receiver's EC keypair +* nonce MUST be set to the nonce used in the AES-256-CBC encryption operation +* requires_payment_message MAY be set to true if the PaymentRequest requires a Payment message * Set identifier to the value received in EncryptedInvoiceRequest * Set signature to "" * Sign the serialized EncryptedPayment message with the Receiver's EC public key +* Set signature to the result of the signature operation above ===EncryptedPaymentRequest Validation and Decryption=== * Decrypt the serialized PaymentRequest using AES-256-CBC setup as described in ECDH Point Generation and AES-256 (CBC Mode) Setup (see below) @@ -349,7 +378,7 @@ For the following we assume the Sender already knows the Receiver's public key, * Generate the '''secret point''' using [https://en.wikipedia.org/wiki/Elliptic_curve_Diffie–Hellman ECDH] using the local entity's private key and the remote entity's public key as inputs. * Initialize [http://csrc.nist.gov/publications/nistpubs/800-90A/SP800-90A.pdf HMAC_DRBG] ** Use '''secret point's''' X value for Entropy -** Use the given InvoiceRequest's nonce field for Nonce +** Use the given message's nonce field for Nonce * Initialize AES-256 in CBC Mode ** Use HMAC_DRBG.GENERATE(32) as the Encryption Key (256 bits) ** Use HMAC_DRBG.GENERATE(16) as the Initialization Vector (IV) (128 bits) @@ -366,8 +395,11 @@ Initial public key retrieval for InvoiceRequest encryption can be done in a numb * Encrypt the serialized Payment using AES-256-CBC using secret key calculated in the EncryptedPaymentRequest Message Creation and PaymentRequest Encryption step (see above) * Create EncryptedPayment message * Set encrypted_payment to be the encrypted value of the Payment -* Set identifier to the value received in EncryptedPaymentRequest * Set payment_hash to generated SHA256 hash of the serialized Payment (without encryption) +* sender_public_key MUST be set to the public key of the Sender's EC keypair +* receiver_public_key MUST be set to the public key of the Receiver's EC keypair +* nonce MUST be set to the nonce used in the AES-256-CBC encryption operation +* Set identifier to the value received in EncryptedPaymentRequest * Set signature to "" * Sign the serialized EncryptedPayment message with the Sender's EC public key * Set signature to the result of the signature operation above @@ -377,6 +409,10 @@ Initial public key retrieval for InvoiceRequest encryption can be done in a numb * Create EncryptedPaymentACK message * Set encrypted_payment_ack to be the encrypted value of the PaymentACK * Set payment_ack_hash to generated SHA256 hash of the serialized PaymentACK (without encryption) +* sender_public_key MUST be set to the public key of the Sender's EC keypair +* receiver_public_key MUST be set to the public key of the Receiver's EC keypair +* nonce MUST be set to the nonce used in the AES-256-CBC encryption operation +* Set identifier to the value received in EncryptedPaymentRequest * Set signature to "" * Sign the serialized EncryptedPaymentACK message with the Receiver's EC public key * Set signature to the result of the signature operation above @@ -432,4 +468,4 @@ In this case, the Sender submits the transaction to the bitcoin network. * [https://en.wikipedia.org/wiki/Elliptic_curve_Diffie–Hellman ECDH] * [http://csrc.nist.gov/publications/nistpubs/800-90A/SP800-90A.pdf HMAC_DRBG] * [https://tools.ietf.org/html/rfc6979 RFC6979] -* [https://en.bitcoin.it/wiki/Address_reuse Address Reuse] +* [https://en.bitcoin.it/wiki/Address_reuse Address Reuse] \ No newline at end of file diff --git a/bip-ir/paymentrequest.proto b/bip-ir/paymentrequest.proto index 5fcd65fb..8c99f241 100644 --- a/bip-ir/paymentrequest.proto +++ b/bip-ir/paymentrequest.proto @@ -46,11 +46,6 @@ message PaymentACK { } // BIP-IR Extensions -message EncryptedInvoiceRequest { - required bytes encrypted_invoice_request = 1; // AES-256-CBC Encrypted InvoiceRequest as defined in InvoiceRequest Spec - required bytes sender_public_key = 2; // Sender's EC Public Key - required bytes invoice_request_hash = 3; // SHA256 Hash of Non-Encrypted, Serialized InvoiceRequest (used for authentication) -} message InvoiceRequest { required bytes sender_public_key = 1; // Sender's EC Public Key @@ -63,22 +58,42 @@ message InvoiceRequest { optional bytes signature = 8; // PKI-dependent signature } +message EncryptedInvoiceRequest { + required bytes encrypted_invoice_request = 1; // AES-256-CBC Encrypted InvoiceRequest as defined in InvoiceRequest Spec + required bytes invoice_request_hash = 2; // SHA256 Hash of Non-Encrypted, Serialized InvoiceRequest (used for authentication) + required bytes sender_public_key = 3; // Sender's EC Public Key + optional bytes receiver_public_key = 4; // Receiver's EC Public Key + required uint64 nonce = 5; // Microseconds since epoch + optional bytes identifier = 6; // Unique key to identify this entire exchange on the server. invoice_request_hash SHOULD be used by default +} + message EncryptedPaymentRequest { - required bytes encrypted_payment_request = 1; // AES-256-CBC Encrypted PaymentRequest as defined in InvoiceRequest Spec - required bytes receiver_public_key = 2; // Receiver's EC Public Key - required bytes ephemeral_public_key = 3; // Public Key of ECDH-derived keypair - required bytes payment_request_hash = 4; // SHA256 Hash of Non-Encrypted, Serialized PaymentRequest (used for authentication) - required bool requires_payment_message = 5 [default = false]; // Requires Payment/PaymentACK message exchange + required bytes encrypted_payment_request = 1; // AES-256-CBC Encrypted PaymentRequest as defined in InvoiceRequest Spec + required bytes payment_request_hash = 2; // SHA256 Hash of Non-Encrypted, Serialized PaymentRequest (used for authentication) + required bytes receiver_public_key = 3; // Receiver's EC Public Key + required bytes sender_public_key = 4; // Sender's EC Public Key + required uint64 nonce = 5; // Microseconds since epoch + optional bool requires_payment_message = 6 [default = false]; // Requires Payment/PaymentACK message exchange + optional bytes signature = 7; // Signature of this message using Receiver's EC key + optional bytes identifier = 8; // MUST use the identifier specified with the InvoiceRequest if the PaymentRequest is in response to an InvoiceRequest. Otherwise, use payment_request_hash or other unique value. } message EncryptedPayment { - required bytes encrypted_payment = 1; // AES-256-CBC Encrypted Payment as defined in InvoiceRequest Spec - required bytes payment_request_hash = 2; // SHA256 Hash of Non-Encrypted, Serialized PaymentRequest returned in the transaction's EncryptedPaymentRequest message - required bytes signature = 3; // Signature over EncryptedPayment with original Sender's EC Private Key + required bytes encrypted_payment = 1; // AES-256-CBC Encrypted BIP70 Payment as defined in InvoiceRequest Spec + required bytes payment_hash = 2; // SHA256 Hash of Non-Encrypted, Serialized BIP70 Payment + required bytes receiver_public_key = 3; // Receiver's EC Public Key + required bytes sender_public_key = 4; // Sender's EC Public Key + required uint64 nonce = 5; // Microseconds since epoch + required bytes signature = 6; // Signature over EncryptedPayment with Sender's EC Key + optional bytes identifier = 7; // Use the identifier specified with the EncryptedPaymentRequest, if any. } message EncryptedPaymentACK { - required bytes encrypted_payment_ack = 1; // AES-256-CBC Encrypted Payment as defined in InvoiceRequest Spec - required bytes payment_request_hash = 2; // SHA256 Hash of Non-Encrypted, Serialized PaymentRequest returned in the transaction's EncryptedPaymentRequest message - required bytes signature = 3; // Signature over EncryptedPaymentACK with the Receiver's EC Private key. -} \ No newline at end of file + required bytes encrypted_payment_ack = 1; // AES-256-CBC Encrypted BIP70 PaymentACK as defined in InvoiceRequest Spec + required bytes payment_ack_hash = 2; // SHA256 Hash of Non-Encrypted, Serialized BIP70 PaymentACK + required bytes receiver_public_key = 3; // Receiver's EC Public Key + required bytes sender_public_key = 4; // Sender's EC Public Key + required uint64 nonce = 5; // Microseconds since epoch + required bytes signature = 6; // Signature over EncryptedPaymentACK with Receiver's EC Key + optional bytes identifier = 7; // Use the identifier specified with the EncryptedPaymentRequest, if any. +} From 27bfd6165fa8e24262701a875ac3803ec9e2f5bd Mon Sep 17 00:00:00 2001 From: jmacwhyte Date: Mon, 22 Feb 2016 13:09:06 -0800 Subject: [PATCH 40/54] Made public keys required, updated steps --- bip-invoicerequest-extension.mediawiki | 48 +++++++++++++------------- bip-ir/paymentrequest.proto | 8 ++--- 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/bip-invoicerequest-extension.mediawiki b/bip-invoicerequest-extension.mediawiki index c9f1c2e7..c753c577 100644 --- a/bip-invoicerequest-extension.mediawiki +++ b/bip-invoicerequest-extension.mediawiki @@ -83,7 +83,9 @@ or payment information, only delete encrypted messages. ==New Messages== Updated [/bip-ir/paymentrequest.proto paymentrequest.proto] contains the existing PaymentRequest Protocol Buffer messages as well as -the messages newly defined in this BIP. Note: Public keys from both parties must be known to each other in order to facilitate encrypted communication. We assume Store & Forward servers will provide their own method for communicating one or both parties' public keys, so that exchange is outside the scope of this BIP. The protocol does, however, include the option of including the public keys during communication if they are not already known. +the messages newly defined in this BIP. + +Note: Public keys from both parties must be known to each other in order to facilitate encrypted communication. Although including both public keys in every message may get redundant, it provides the most flexibility as each message is completely self-contained. ===InvoiceRequest=== The InvoiceRequest message allows a Sender to send information to the Receiver such that they can create and return a PaymentRequest. @@ -91,13 +93,12 @@ The InvoiceRequest message allows a Sender to send information to the Receiver s
 message InvoiceRequest {
         required bytes  sender_public_key = 1;
-        required uint64 nonce = 2;
-        optional uint64 amount = 3 [default = 0];
-        optional string pki_type = 4 [default = "none"];
-        optional bytes  pki_data = 5;
-        optional string memo = 6;
-        optional string notification_url = 7;
-        optional bytes  signature = 8;
+        optional uint64 amount = 2 [default = 0];
+        optional string pki_type = 3 [default = "none"];
+        optional bytes  pki_data = 4;
+        optional string memo = 5;
+        optional string notification_url = 6;
+        optional bytes  signature = 7;
 }
 
@@ -106,8 +107,6 @@ message InvoiceRequest { |- | sender_public_key || Sender's EC public key |- -| nonce || Microseconds since epoch -|- | amount || amount is integer-number-of-satoshis (default: 0) |- | pki_type || none / x509+sha256 (default: "none") @@ -129,9 +128,10 @@ message EncryptedInvoiceRequest { required bytes encrypted_invoice_request = 1; required bytes invoice_request_hash = 2; required bytes sender_public_key = 3; - optional bytes receiver_public_key = 4; + required bytes receiver_public_key = 4; required uint64 nonce = 5; - optional bytes identifier = 6; + optional bytes signature = 6; + optional bytes identifier = 7; }
@@ -149,11 +149,11 @@ message EncryptedInvoiceRequest { |- | nonce || The nonce in use for the CBC encryption |- +| signature || A signature of this message using Sender's EC key, serialized with a value of "" for signature. REQUIRED if server requires authentication. +|- | identifier || A unique key to identify this entire exchange on the server. invoice_request_hash SHOULD be used by default. |} -receiver_public_key MAY be omitted if this message is sent directly to the Receiver. receiver_public_key MAY also be omitted if the EncryptedInvoiceRequest is being sent to a Store & Forward server which already understands who the Receiver is. An example of this is a Store & Forward server URL that uniquely identifies the Receiver (and their public key). - ===EncryptedPaymentRequest=== The EncryptedPaymentRequest message is an encapsulating message that allows the transmission of an encrypted, serialized PaymentRequest. @@ -185,7 +185,7 @@ message EncryptedPaymentRequest { |- | requires_payment_message || Internal PaymentRequest requires follow-up Payment message |- -| signature || A signature of this message using Receiver's EC key, serialized with a value of "" for signature. REQUIRED if server requires InvoiceRequest reply authentication. +| signature || A signature of this message using Receiver's EC key, serialized with a value of "" for signature. REQUIRED if server requires authentication. |- | identifier || MUST use the identifier specified with the InvoiceRequest if the PaymentRequest is in response to an InvoiceRequest. Otherwise, use payment_request_hash or other unique value. |} @@ -198,10 +198,10 @@ The EncryptedPayment message allows a BIP70 Payment message to be transmitted th message EncryptedPayment { required bytes encrypted_payment = 1; required bytes payment_hash = 2; - required bytes receiver_public_key = 3; - required bytes sender_public_key = 4; + required bytes sender_public_key = 3; + required bytes receiver_public_key = 4; required uint64 nonce = 5; - required bytes signature = 6; + optional bytes signature = 6; optional bytes identifier = 7; }
@@ -212,13 +212,13 @@ message EncryptedPayment { |- | payment_hash || SHA256 Hash of original non-encrypted, serialized Payment message. MUST be used for verification to prevent oracle attacks. |- -| receiver_public_key || Receiver's EC public key -|- | sender_public_key || Sender's EC public key |- +| receiver_public_key || Receiver's EC public key +|- | nonce || The nonce in use for the CBC encryption |- -| signature || A signature of this message using Sender's EC key, serialized with a value of "" for signature. +| signature || A signature of this message using Sender's EC key, serialized with a value of "" for signature. REQUIRED if server requires authentication. |- | identifier || Use the identifier specified with the EncryptedPaymentRequest, if any. |} @@ -251,7 +251,7 @@ message EncryptedPaymentACK { |- | nonce || The nonce in use for the CBC encryption |- -| signature || A signature of this message using Receiver's EC key, serialized with a value of "" for signature. +| signature || A signature of this message using Receiver's EC key, serialized with a value of "" for signature. REQUIRED if server requires authentication. |- | identifier || Use the identifier specified with the EncryptedPayment, if any. |} @@ -319,7 +319,7 @@ SHOULD be done through standard HTTP Status Code messaging ([https://tools.ietf. ==Process Step Details== -For the following we assume the Sender already knows the Receiver's public key, and the exchange starts with an EncryptedInvoiceRequest. +For the following we assume the Sender already knows the Receiver's public key, and the exchange is being facilitated by a Store & Forward server which requires valid signatures for authentication. Where used, **nonce** MUST be set to a non-repeating number. The current epoch time in microseconds SHOULD be used, unless the creating device doesn't have access to a RTC (in the case of a smart card, for example). The service receiving the message containing the **nonce** MAY use whatever method to make sure that the **nonce** is never repeated. @@ -341,7 +341,7 @@ Where used, **nonce** MUST be set to a non-repeating number. The current epoch t * Create an EncryptedInvoiceRequest * Retrieve endpoint public key to use in ECDH Point Generation as specified in Initial Public Key Retrieval for InvoiceRequest Encryption (see below) * sender_public_key MUST be set to the public key of the Sender's EC keypair -* receiver_public_key MAY be set to the public key of the Receiver's EC keypair +* receiver_public_key MUST be set to the public key of the Receiver's EC keypair * invoice_request_hash MUST be set to the SHA256 hash of the serialized InvoiceRequest (without encryption) * Encrypt the serialized InvoiceRequest using AES-256-CBC setup as described in ECDH Point Generation and AES-256 (CBC Mode) Setup (see below) * encrypted_invoice_Request MUST be set to the encrypted values of the InvoiceRequest diff --git a/bip-ir/paymentrequest.proto b/bip-ir/paymentrequest.proto index 8c99f241..8f39c6d1 100644 --- a/bip-ir/paymentrequest.proto +++ b/bip-ir/paymentrequest.proto @@ -49,7 +49,6 @@ message PaymentACK { message InvoiceRequest { required bytes sender_public_key = 1; // Sender's EC Public Key - required uint64 nonce = 2; // Microseconds since epoch optional uint64 amount = 3 [default = 0]; // amount is integer-number-of-satoshis optional string pki_type = 4 [default = "none"]; // none / x509+sha256 optional bytes pki_data = 5; // Depends on pki_type @@ -62,9 +61,10 @@ message EncryptedInvoiceRequest { required bytes encrypted_invoice_request = 1; // AES-256-CBC Encrypted InvoiceRequest as defined in InvoiceRequest Spec required bytes invoice_request_hash = 2; // SHA256 Hash of Non-Encrypted, Serialized InvoiceRequest (used for authentication) required bytes sender_public_key = 3; // Sender's EC Public Key - optional bytes receiver_public_key = 4; // Receiver's EC Public Key + required bytes receiver_public_key = 4; // Receiver's EC Public Key required uint64 nonce = 5; // Microseconds since epoch optional bytes identifier = 6; // Unique key to identify this entire exchange on the server. invoice_request_hash SHOULD be used by default + optional bytes signature = 7; // Signature of this message using Sender's EC key } message EncryptedPaymentRequest { @@ -81,8 +81,8 @@ message EncryptedPaymentRequest { message EncryptedPayment { required bytes encrypted_payment = 1; // AES-256-CBC Encrypted BIP70 Payment as defined in InvoiceRequest Spec required bytes payment_hash = 2; // SHA256 Hash of Non-Encrypted, Serialized BIP70 Payment - required bytes receiver_public_key = 3; // Receiver's EC Public Key - required bytes sender_public_key = 4; // Sender's EC Public Key + required bytes sender_public_key = 3; // Sender's EC Public Key + required bytes receiver_public_key = 4; // Receiver's EC Public Key required uint64 nonce = 5; // Microseconds since epoch required bytes signature = 6; // Signature over EncryptedPayment with Sender's EC Key optional bytes identifier = 7; // Use the identifier specified with the EncryptedPaymentRequest, if any. From ca0f07cfa7012c968e0f809a3f8aaf77e24cd195 Mon Sep 17 00:00:00 2001 From: Matt David Date: Mon, 22 Feb 2016 13:47:49 -0800 Subject: [PATCH 41/54] - Add qualifier that nonce MUST be chosen by the encryptor. - Also, fix ** used for bold and replace with --- bip-invoicerequest-extension.mediawiki | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bip-invoicerequest-extension.mediawiki b/bip-invoicerequest-extension.mediawiki index c753c577..a2c1622f 100644 --- a/bip-invoicerequest-extension.mediawiki +++ b/bip-invoicerequest-extension.mediawiki @@ -321,7 +321,7 @@ SHOULD be done through standard HTTP Status Code messaging ([https://tools.ietf. For the following we assume the Sender already knows the Receiver's public key, and the exchange is being facilitated by a Store & Forward server which requires valid signatures for authentication. -Where used, **nonce** MUST be set to a non-repeating number. The current epoch time in microseconds SHOULD be used, unless the creating device doesn't have access to a RTC (in the case of a smart card, for example). The service receiving the message containing the **nonce** MAY use whatever method to make sure that the **nonce** is never repeated. +Where used, nonce MUST be set to a non-repeating number AND MUST be chosen by the encryptor. The current epoch time in microseconds SHOULD be used, unless the creating device doesn't have access to a RTC (in the case of a smart card, for example). The service receiving the message containing the nonce MAY use whatever method to make sure that the nonce is never repeated. ===InvoiceRequest Message Creation=== * Create an InvoiceRequest message @@ -418,7 +418,7 @@ Initial public key retrieval for InvoiceRequest encryption can be done in a numb * Set signature to the result of the signature operation above -**SIGNATURE NOTE:** EncryptedPaymentRequest, EncryptedPayment, and EncryptedPaymentACK messages are signed with the public keys of the party transmitting the message. This allows a Store & Forward server or other transmission system to prevent spam or other abuses. For those who are privacy concious and don't want the server to track the interactions between two public keys, the Sender can generate a new public key for each interaction to keep their identity anonymous. +SIGNATURE NOTE: EncryptedPaymentRequest, EncryptedPayment, and EncryptedPaymentACK messages are signed with the public keys of the party transmitting the message. This allows a Store & Forward server or other transmission system to prevent spam or other abuses. For those who are privacy concious and don't want the server to track the interactions between two public keys, the Sender can generate a new public key for each interaction to keep their identity anonymous. ==Payment / PaymentACK Messages with a Store & Foward Server== When a Store & Forward server is in use during the Payment Protocol exchange, an EncryptedPayment message generated as the result of a EncryptedPaymentRequest with the requires_payment_message flag set to true MUST be accepted by a Store & Forward server. The accepted Payment message is NOT validated as the Store & Forward server does not have access to encrypted data. From 1fc921c8728f76723118f54cf4fb9e94758f2976 Mon Sep 17 00:00:00 2001 From: Matt David Date: Wed, 24 Feb 2016 09:09:29 -0800 Subject: [PATCH 42/54] - Update motivation for the open standards in the list for optional identity sharing --- bip-invoicerequest-extension.mediawiki | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bip-invoicerequest-extension.mediawiki b/bip-invoicerequest-extension.mediawiki index a2c1622f..d3143e20 100644 --- a/bip-invoicerequest-extension.mediawiki +++ b/bip-invoicerequest-extension.mediawiki @@ -43,7 +43,7 @@ The motivation for this extension to BIP70 is threefold: #* Make bitcoin logs more human readable #* Give the user the ability to decide who to release payment details to #* Allow an entity such as a political campaign to ensure donors match regulatory and legal requirements -#* Allow for an open standards based way to meet regulatory requirements +#* Allow for an open standards based way for regulated financial entities to meet regulatory requirements #* Automate the active exchange of payment addresses, so static addresses and BIP32 X-Pubs can be avoided to maintain privacy and convenience In short we wanted to make bitcoin more human, while at the same time improving transaction privacy. From efa3605fbec04a3661c44b6a82a5a15910bf97c4 Mon Sep 17 00:00:00 2001 From: Matt David Date: Tue, 1 Mar 2016 10:49:24 -0800 Subject: [PATCH 43/54] Update bip-invoicerequest-extension.mediawiki --- bip-invoicerequest-extension.mediawiki | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bip-invoicerequest-extension.mediawiki b/bip-invoicerequest-extension.mediawiki index d3143e20..b5d7cdbb 100644 --- a/bip-invoicerequest-extension.mediawiki +++ b/bip-invoicerequest-extension.mediawiki @@ -1,5 +1,5 @@
-  BIP:     XXX
+  BIP:     TBD
   Title:   Out of Band Address Exchange using Encrypted PaymentRequests
   Authors: Justin Newton 
            Matt David 
@@ -468,4 +468,4 @@ In this case, the Sender submits the transaction to the bitcoin network.
 * [https://en.wikipedia.org/wiki/Elliptic_curve_Diffie–Hellman ECDH]
 * [http://csrc.nist.gov/publications/nistpubs/800-90A/SP800-90A.pdf HMAC_DRBG]
 * [https://tools.ietf.org/html/rfc6979 RFC6979]
-* [https://en.bitcoin.it/wiki/Address_reuse Address Reuse]
\ No newline at end of file
+* [https://en.bitcoin.it/wiki/Address_reuse Address Reuse]

From df01620ebc57a921be8c2350c0fc395f4ec87c00 Mon Sep 17 00:00:00 2001
From: Matt David 
Date: Tue, 1 Mar 2016 10:50:50 -0800
Subject: [PATCH 44/54] Update bip-invoicerequest-extension.mediawiki

---
 bip-invoicerequest-extension.mediawiki | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/bip-invoicerequest-extension.mediawiki b/bip-invoicerequest-extension.mediawiki
index b5d7cdbb..dd5aec94 100644
--- a/bip-invoicerequest-extension.mediawiki
+++ b/bip-invoicerequest-extension.mediawiki
@@ -6,7 +6,7 @@
            Aaron Voisine 
            James MacWhyte 
   Status:  Draft
-  Type:    Informational
+  Type:    Standards Track
   Created: 2015-11-20
 
From c0c7d7f0a101a84523a581bff6edb922b44d560b Mon Sep 17 00:00:00 2001 From: jmacwhyte Date: Mon, 7 Mar 2016 18:18:58 -0800 Subject: [PATCH 45/54] Renamed to BIP75, added extensions to BIP70 payment details --- bip-0070/extensions.mediawiki | 6 ++- ...-extension.mediawiki => bip-0075.mediawiki | 51 +++++++++++++++--- {bip-ir => bip-0075}/bip70-extension.png | Bin .../encrypted-invoice-request-process.png | Bin .../invoice-request-process.png | Bin ...mobile-sf-encrypted-ir-without-payment.png | Bin .../mobile-sf-ir-with-payment.png | Bin .../mobile-sf-ir-without-payment.png | Bin {bip-ir => bip-0075}/paymentrequest.proto | 0 9 files changed, 47 insertions(+), 10 deletions(-) rename bip-invoicerequest-extension.mediawiki => bip-0075.mediawiki (92%) rename {bip-ir => bip-0075}/bip70-extension.png (100%) rename {bip-ir => bip-0075}/encrypted-invoice-request-process.png (100%) rename {bip-ir => bip-0075}/invoice-request-process.png (100%) rename {bip-ir => bip-0075}/mobile-sf-encrypted-ir-without-payment.png (100%) rename {bip-ir => bip-0075}/mobile-sf-ir-with-payment.png (100%) rename {bip-ir => bip-0075}/mobile-sf-ir-without-payment.png (100%) rename {bip-ir => bip-0075}/paymentrequest.proto (100%) diff --git a/bip-0070/extensions.mediawiki b/bip-0070/extensions.mediawiki index 51400d88..9e360dea 100644 --- a/bip-0070/extensions.mediawiki +++ b/bip-0070/extensions.mediawiki @@ -3,7 +3,9 @@ Add your extension below using tags starting at 1000 and submit a pull-req. {| -| Field Number || Extension Name || Field Name || Description +| Field Number || Extension Name || Field Name || Payment Details Version || Description |- -| 1000 || [[https://example.com|(unassigned)]] || (unassigned) || (unassigned) +| 1000 || [[https://github.com/bitcoin/bips/blob/master/bip-0075.mediawiki|BIP0075]] || subtract_fee || 1 || If "true," indicates the sender can subtract the transaction fee from the requested amount. Otherwise, the transaction fee must be included separately from the requested amount. +|- +| 1001 || [[https://github.com/bitcoin/bips/blob/master/bip-0075.mediawiki|BIP0075]] || replace_by_fee || 2 || If "true," indicates the sender can enable the Replace By Fee flag for this transaction and the receiver will still consider it accepted with zero confirmations. Otherwise, RBF transactions will not be accepted by the receiver until they are confirmed. |} diff --git a/bip-invoicerequest-extension.mediawiki b/bip-0075.mediawiki similarity index 92% rename from bip-invoicerequest-extension.mediawiki rename to bip-0075.mediawiki index dd5aec94..ff084e75 100644 --- a/bip-invoicerequest-extension.mediawiki +++ b/bip-0075.mediawiki @@ -1,5 +1,5 @@
-  BIP:     TBD
+  BIP:     75
   Title:   Out of Band Address Exchange using Encrypted PaymentRequests
   Authors: Justin Newton 
            Matt David 
@@ -82,7 +82,7 @@ service. In this case, a successful attack against a Store & Forward service wou
 or payment information, only delete encrypted messages.
 
 ==New Messages==
-Updated [/bip-ir/paymentrequest.proto paymentrequest.proto] contains the existing PaymentRequest Protocol Buffer messages as well as
+Updated [/bip-0075/paymentrequest.proto paymentrequest.proto] contains the existing PaymentRequest Protocol Buffer messages as well as
 the messages newly defined in this BIP.
 
 Note: Public keys from both parties must be known to each other in order to facilitate encrypted communication. Although including both public keys in every message may get redundant, it provides the most flexibility as each message is completely self-contained.
@@ -273,7 +273,7 @@ Optionally, the Sender MAY choose to encrypt the InvoiceRequest message and ther
 # The PaymentRequest is processed according to BIP70, including optional Payment and PaymentACK messages
 
 
-
+
 
 ===Encrypted InvoiceRequest Overview===
 # Sender retrieves Receiver InvoiceRequest Public Key
@@ -293,7 +293,7 @@ Optionally, the Sender MAY choose to encrypt the InvoiceRequest message and ther
 
 NOTE: See section Initial Public Key Retrieval for InvoiceRequest Encryption below for possible options to retrieve Receiver InvoiceRequest public keys.
 
-
+
 
 ==Message Interaction Details==
 
@@ -437,7 +437,7 @@ A reference client implementation can be found in the InvoiceRequest functional
 ==BIP70 Extension==
 The following flowchart is borrowed from BIP70 and expanded upon in order to visually describe how this BIP is an extension to BIP70.
 
-
+
 
 ==Mobile to Mobile Examples==
 
@@ -446,21 +446,56 @@ The following diagram shows a sample flow in which one mobile client is sending
 of an InvoiceRequest, a Store & Forward server, an EncryptedPaymentRequest (with require_payment_message = true), an 
 EncryptedPayment and an EncryptedPaymentACK. In this case, the Receiver submits the transaction to the bitcoin network.
 
-
+
 
 ===EncryptedPayment NOT Required===
 The following diagram shows a sample flow in which one mobile client is sending value to a second mobile client with the use
 of an InvoiceRequest, a Store & Forward server, and an EncryptedPaymentRequest (with require_payment_message = false). 
 In this case, the Sender submits the transaction to the bitcoin network.
 
-
+
 
 ===Using EncryptedInvoiceRequest Message===
 The following diagram shows a sample flow in which one mobile client is sending value to a second mobile client with the use
 of an EncryptedInvoiceRequest, a Store & Forward server, and an EncryptedPaymentRequest (with require_payment_message = false). 
 In this case, the Sender submits the transaction to the bitcoin network.
 
-
+
+
+==Extending BIP70 PaymentDetails==
+
+To keep up with recent advancements in transaction type, two optional fields will be added to the BIP 70 PaymentDetails message. subtract_fee will be added to the current version 1 fields, making the complete list look like the following:
+
+
+
+    message PaymentDetails {
+        optional string network [default = "main"];
+        repeated Output outputs;
+        required uint64 time;
+        optional uint64 expires;
+        optional string memo;
+        optional string payment_url;
+        optional bytes merchant_data;
+        optional bool subtract_fee = 1;
+    }
+
+ +replace_by_fee will be added as a version 2 field, meaning it is only available if payment_details_version is set to 2 or higher in the PaymentRequest message: + +
+    message PaymentDetails {
+        ...
+        optional bool replace_by_fee = 2;
+    }
+
+ +{| class="wikitable" +! Field Name !! Field Number || Payment Details Version !! Description +|- +| subtract_fee || 1000 || 1 || If "true," indicates the sender can subtract the transaction fee from the requested amount. Otherwise, the transaction fee must be included separately from the requested amount. +|- +| replace_by_fee || 1001 || 2 || If "true," indicates the sender can enable the Replace By Fee flag for this transaction and the receiver will still consider it accepted with zero confirmations. Otherwise, RBF transactions will not be accepted by the receiver until they are confirmed. +|} ==References== diff --git a/bip-ir/bip70-extension.png b/bip-0075/bip70-extension.png similarity index 100% rename from bip-ir/bip70-extension.png rename to bip-0075/bip70-extension.png diff --git a/bip-ir/encrypted-invoice-request-process.png b/bip-0075/encrypted-invoice-request-process.png similarity index 100% rename from bip-ir/encrypted-invoice-request-process.png rename to bip-0075/encrypted-invoice-request-process.png diff --git a/bip-ir/invoice-request-process.png b/bip-0075/invoice-request-process.png similarity index 100% rename from bip-ir/invoice-request-process.png rename to bip-0075/invoice-request-process.png diff --git a/bip-ir/mobile-sf-encrypted-ir-without-payment.png b/bip-0075/mobile-sf-encrypted-ir-without-payment.png similarity index 100% rename from bip-ir/mobile-sf-encrypted-ir-without-payment.png rename to bip-0075/mobile-sf-encrypted-ir-without-payment.png diff --git a/bip-ir/mobile-sf-ir-with-payment.png b/bip-0075/mobile-sf-ir-with-payment.png similarity index 100% rename from bip-ir/mobile-sf-ir-with-payment.png rename to bip-0075/mobile-sf-ir-with-payment.png diff --git a/bip-ir/mobile-sf-ir-without-payment.png b/bip-0075/mobile-sf-ir-without-payment.png similarity index 100% rename from bip-ir/mobile-sf-ir-without-payment.png rename to bip-0075/mobile-sf-ir-without-payment.png diff --git a/bip-ir/paymentrequest.proto b/bip-0075/paymentrequest.proto similarity index 100% rename from bip-ir/paymentrequest.proto rename to bip-0075/paymentrequest.proto From 1b96cf1e78d8e015bb148d929f312da3ef495743 Mon Sep 17 00:00:00 2001 From: Matt David Date: Mon, 7 Mar 2016 18:59:24 -0800 Subject: [PATCH 46/54] - Update PaymentDetails index - Added bolding to replace_by_fee --- bip-0075.mediawiki | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/bip-0075.mediawiki b/bip-0075.mediawiki index ff084e75..b7755b2e 100644 --- a/bip-0075.mediawiki +++ b/bip-0075.mediawiki @@ -466,35 +466,35 @@ In this case, the Sender submits the transaction to the bitcoin network. To keep up with recent advancements in transaction type, two optional fields will be added to the BIP 70 PaymentDetails message. subtract_fee will be added to the current version 1 fields, making the complete list look like the following: -
-    message PaymentDetails {
-        optional string network [default = "main"];
-        repeated Output outputs;
-        required uint64 time;
-        optional uint64 expires;
-        optional string memo;
-        optional string payment_url;
-        optional bytes merchant_data;
-        optional bool subtract_fee = 1;
-    }
+message PaymentDetails {
+        optional string network = 1 [default = "main"];
+        repeated Output outputs = 2;
+        required uint64 time = 3;
+        optional uint64 expires = 4;
+        optional string memo = 5;
+        optional string payment_url = 6;
+        optional bytes merchant_data = 7;
+        optional bool subtract_fee = 1000;
+}
 
-replace_by_fee will be added as a version 2 field, meaning it is only available if payment_details_version is set to 2 or higher in the PaymentRequest message: +replace_by_fee will be added as a version 2 field. It is only available if payment_details_version is set to 2 or higher in the PaymentRequest message:
+    // PaymentDetails v2
     message PaymentDetails {
         ...
-        optional bool replace_by_fee = 2;
+        optional bool replace_by_fee = 1001;
     }
 
{| class="wikitable" ! Field Name !! Field Number || Payment Details Version !! Description |- -| subtract_fee || 1000 || 1 || If "true," indicates the sender can subtract the transaction fee from the requested amount. Otherwise, the transaction fee must be included separately from the requested amount. +| subtract_fee || 1000 || 1 || If "true," indicates the sender can subtract the transaction fee from the requested amount. Otherwise, the transaction fee must be included separately from the requested amount. |- -| replace_by_fee || 1001 || 2 || If "true," indicates the sender can enable the Replace By Fee flag for this transaction and the receiver will still consider it accepted with zero confirmations. Otherwise, RBF transactions will not be accepted by the receiver until they are confirmed. +| replace_by_fee || 1001 || 2 || If "true," indicates the sender can enable the Replace By Fee flag for this transaction and the receiver will still consider it accepted with zero confirmations. Otherwise, RBF transactions will not be accepted by the receiver until they are confirmed. |} ==References== From f753dd73723ce9e280190788326c672e2df1f0d2 Mon Sep 17 00:00:00 2001 From: Matt David Date: Tue, 8 Mar 2016 09:43:17 -0800 Subject: [PATCH 47/54] - Add subtract_fee and replace_by_fee flags to PaymentDetails. replace_by_fee is commented out as it's only available in version 2 of the message --- bip-0075/paymentrequest.proto | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/bip-0075/paymentrequest.proto b/bip-0075/paymentrequest.proto index 8f39c6d1..149dc975 100644 --- a/bip-0075/paymentrequest.proto +++ b/bip-0075/paymentrequest.proto @@ -17,12 +17,14 @@ message Output { } message PaymentDetails { optional string network = 1 [default = "main"]; // "main" or "test" - repeated Output outputs = 2; // Where payment should be sent - required uint64 time = 3; // Timestamp; when payment request created - optional uint64 expires = 4; // Timestamp; when this request should be considered invalid - optional string memo = 5; // Human-readable description of request for the customer - optional string payment_url = 6; // URL to send Payment and get PaymentACK - optional bytes merchant_data = 7; // Arbitrary data to include in the Payment message + repeated Output outputs = 2; // Where payment should be sent + required uint64 time = 3; // Timestamp; when payment request created + optional uint64 expires = 4; // Timestamp; when this request should be considered invalid + optional string memo = 5; // Human-readable description of request for the customer + optional string payment_url = 6; // URL to send Payment and get PaymentACK + optional bytes merchant_data = 7; // Arbitrary data to include in the Payment message + optional bool subtract_fee = 1000; // Allow SubtractableFee + //optional bool replace_by_fee = 1001; // Force RBF true or false (version: 2) } message PaymentRequest { optional uint32 payment_details_version = 1 [default = 1]; From dddcb735f86e0d7b9ce703963369485b50c20e28 Mon Sep 17 00:00:00 2001 From: jmacwhyte Date: Wed, 9 Mar 2016 18:25:02 -0800 Subject: [PATCH 48/54] Extended BIP70 fields, added BIP number --- README.mediawiki | 6 ++++++ bip-0070/extensions.mediawiki | 8 +++++--- bip-0075.mediawiki | 34 +++++++++++----------------------- 3 files changed, 22 insertions(+), 26 deletions(-) diff --git a/README.mediawiki b/README.mediawiki index 925910c2..fef07700 100644 --- a/README.mediawiki +++ b/README.mediawiki @@ -302,6 +302,12 @@ Those proposing changes should consider that ultimately consent may rest with th | Standard | Draft |- +| [[bip-0075.mediawiki|75]] +| Out of Band Address Exchange using Payment Protocol Encryption +| Justin Newton, Matt David, Aaron Voisine and James MacWhyte +| Standard +| Draft +|- | [[bip-0099.mediawiki|99]] | Motivation and deployment of consensus rule changes | Jorge Timón diff --git a/bip-0070/extensions.mediawiki b/bip-0070/extensions.mediawiki index 9e360dea..43a6504c 100644 --- a/bip-0070/extensions.mediawiki +++ b/bip-0070/extensions.mediawiki @@ -3,9 +3,11 @@ Add your extension below using tags starting at 1000 and submit a pull-req. {| -| Field Number || Extension Name || Field Name || Payment Details Version || Description +| Field Number || Extension Name || Field Name || Description |- -| 1000 || [[https://github.com/bitcoin/bips/blob/master/bip-0075.mediawiki|BIP0075]] || subtract_fee || 1 || If "true," indicates the sender can subtract the transaction fee from the requested amount. Otherwise, the transaction fee must be included separately from the requested amount. +| 1000 || [[https://github.com/bitcoin/bips/blob/master/bip-0075.mediawiki|BIP0075]] || subtractable_fee || If present, this field indicates how many Satoshis can be subtracted from the requested amount and instead applied towards the fee. |- -| 1001 || [[https://github.com/bitcoin/bips/blob/master/bip-0075.mediawiki|BIP0075]] || replace_by_fee || 2 || If "true," indicates the sender can enable the Replace By Fee flag for this transaction and the receiver will still consider it accepted with zero confirmations. Otherwise, RBF transactions will not be accepted by the receiver until they are confirmed. +| 1001 || [[https://github.com/bitcoin/bips/blob/master/bip-0075.mediawiki|BIP0075]] || fee_per_kb || This field allows the receiver (merchant) to specify the minimum transaction fee that must be included with the transaction in order for it to be accepted with zero confirmations. +|- +| 1002 || [[https://github.com/bitcoin/bips/blob/master/bip-0075.mediawiki|BIP0075]] ||replace_by_fee || If "true," indicates the sender can enable the Replace By Fee flag for this transaction and the receiver will still consider it accepted with zero confirmations. Otherwise, RBF transactions will not be accepted by the receiver until they are confirmed. |} diff --git a/bip-0075.mediawiki b/bip-0075.mediawiki index b7755b2e..cdb2f631 100644 --- a/bip-0075.mediawiki +++ b/bip-0075.mediawiki @@ -1,6 +1,6 @@
   BIP:     75
-  Title:   Out of Band Address Exchange using Encrypted PaymentRequests
+  Title:   Out of Band Address Exchange using Payment Protocol Encryption
   Authors: Justin Newton 
            Matt David 
            Aaron Voisine 
@@ -464,37 +464,25 @@ In this case, the Sender submits the transaction to the bitcoin network.
 
 ==Extending BIP70 PaymentDetails==
 
-To keep up with recent advancements in transaction type, two optional fields will be added to the BIP 70 PaymentDetails message. subtract_fee will be added to the current version 1 fields, making the complete list look like the following:
+To keep up with recent advancements in transaction type and common use cases, three version 1 fields will be added to the BIP 70 PaymentDetails message, as described in the BIP 70 section titled [[bip-0070.mediawiki#extensibility|Extensibilit]]y:
 
 
 message PaymentDetails {
-        optional string network = 1 [default = "main"];
-        repeated Output outputs = 2;
-        required uint64 time = 3;
-        optional uint64 expires = 4;
-        optional string memo = 5;
-        optional string payment_url = 6;
-        optional bytes merchant_data = 7;
-        optional bool subtract_fee = 1000;
+        ...
+        optional uint64 subtractable_fee = 1000;
+        optional uint64 fee_per_kb = 1001;
+        optional bool replace_by_fee = 1002;
 }
 
-replace_by_fee will be added as a version 2 field. It is only available if payment_details_version is set to 2 or higher in the PaymentRequest message: - -
-    // PaymentDetails v2
-    message PaymentDetails {
-        ...
-        optional bool replace_by_fee = 1001;
-    }
-
- {| class="wikitable" -! Field Name !! Field Number || Payment Details Version !! Description +! Field Name !! Field Number !! Description |- -| subtract_fee || 1000 || 1 || If "true," indicates the sender can subtract the transaction fee from the requested amount. Otherwise, the transaction fee must be included separately from the requested amount. +| subtractable_fee || 1000 || In some situations the receiver may be willing to cover the cost of the transaction fee. If present, this field indicates how many Satoshis can be subtracted from the requested amount and instead applied towards the fee. |- -| replace_by_fee || 1001 || 2 || If "true," indicates the sender can enable the Replace By Fee flag for this transaction and the receiver will still consider it accepted with zero confirmations. Otherwise, RBF transactions will not be accepted by the receiver until they are confirmed. +| fee_per_kb || 1001 || This field allows the receiver (merchant) to specify the minimum transaction fee that must be included with the transaction in order for it to be accepted with zero confirmations. +|- +| replace_by_fee || 1002 || If "true," indicates the sender can enable the Replace By Fee flag for this transaction and the receiver will still consider it accepted with zero confirmations. Otherwise, RBF transactions will not be accepted by the receiver until they are confirmed. |} ==References== From a8c02462951ebbe0c52248aa64a63c7ed547778e Mon Sep 17 00:00:00 2001 From: Matt David Date: Wed, 9 Mar 2016 18:57:48 -0800 Subject: [PATCH 49/54] - Update optional flags to PaymentDetails definition in paymentrequest.proto - Add DER encoding requirement for EC public keys and ECC signatures - Add SHA-256 hashing requirement for ECC signatures - Add FIPS 180-4 SHS link --- bip-0075.mediawiki | 5 +++++ bip-0075/paymentrequest.proto | 17 +++++++++-------- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/bip-0075.mediawiki b/bip-0075.mediawiki index cdb2f631..e71058fa 100644 --- a/bip-0075.mediawiki +++ b/bip-0075.mediawiki @@ -425,6 +425,10 @@ When a Store & Forward server is in use during the Payment Protocol exchange, an Store & Forward servers MAY accept and/or overwrite EncryptedPayment messages until an EncryptedPaymentACK message with matching identifier and valid Receiver signature is received, after which the server MAY reject all further EncryptedPayment messages matching that identifier. This feature SHOULD be used for updating Payment metadata or replacing invalid transactions with valid ones. Clients SHOULD keep in mind Receivers can broadcast a transaction without returning an ACK. If a payment message needs to be updated, it SHOULD include at least one input referenced in the original transaction to prevent the Receiver from broadcasting both transactions and getting paid twice. +==Public Key & Signature Encoding== +* Each EC public key (sender_public_key, receiver_public_key) included in any message defined in this BIP MUST be DER [ITU.X690.1994] encoded. +* Each ECC signature included in any message defined in this BIP MUST use the SHA-256 hashing algorithm and MUST be DER [ITU.X690.1994] encoded. + ==Implementation== A reference implementation for a Store & Forward server supporting this proposal can be found here: @@ -492,3 +496,4 @@ message PaymentDetails { * [http://csrc.nist.gov/publications/nistpubs/800-90A/SP800-90A.pdf HMAC_DRBG] * [https://tools.ietf.org/html/rfc6979 RFC6979] * [https://en.bitcoin.it/wiki/Address_reuse Address Reuse] +* [http://csrc.nist.gov/publications/fips/fips180-4/fips-180-4.pdf FIPS 180-4 (Secure Hash Standard)] diff --git a/bip-0075/paymentrequest.proto b/bip-0075/paymentrequest.proto index 149dc975..d1c9e4f2 100644 --- a/bip-0075/paymentrequest.proto +++ b/bip-0075/paymentrequest.proto @@ -17,14 +17,15 @@ message Output { } message PaymentDetails { optional string network = 1 [default = "main"]; // "main" or "test" - repeated Output outputs = 2; // Where payment should be sent - required uint64 time = 3; // Timestamp; when payment request created - optional uint64 expires = 4; // Timestamp; when this request should be considered invalid - optional string memo = 5; // Human-readable description of request for the customer - optional string payment_url = 6; // URL to send Payment and get PaymentACK - optional bytes merchant_data = 7; // Arbitrary data to include in the Payment message - optional bool subtract_fee = 1000; // Allow SubtractableFee - //optional bool replace_by_fee = 1001; // Force RBF true or false (version: 2) + repeated Output outputs = 2; // Where payment should be sent + required uint64 time = 3; // Timestamp; when payment request created + optional uint64 expires = 4; // Timestamp; when this request should be considered invalid + optional string memo = 5; // Human-readable description of request for the customer + optional string payment_url = 6; // URL to send Payment and get PaymentACK + optional bytes merchant_data = 7; // Arbitrary data to include in the Payment message + optional uint64 subtractable_fee = 1000; // How many Satoshis can be subtracted from the requested amount and instead applied towards the fee + optional uint64 fee_per_kb = 1001; // Minimum transaction fee that must be included with the transaction in order for it to be accepted with zero confirmations. + optional bool replace_by_fee = 1002; // Indicates the sender can enable the Replace By Fee flag for this transaction and the receiver will still consider it accepted with zero confirmations. Otherwise, RBF transactions will not be accepted by the receiver until they are confirmed. } message PaymentRequest { optional uint32 payment_details_version = 1 [default = 1]; From 481f322d441b7ffbbeddb204c40ee3a4791894ca Mon Sep 17 00:00:00 2001 From: Jonathan Cross Date: Fri, 11 Mar 2016 19:23:22 +0100 Subject: [PATCH 50/54] Formatting improvements to BIP-75 * Fixing a few extra closing `b` tags and converting others to wiki bold syntax. * Linking "see below" and "see above" items to the actual section of the BIP. * Consistent capitalization of "Bitcoin". * "requester" => "requester* (more common outside of legal writing) * "concious" => "conscious" * "Foward" => "Forward" * "Satoshis" => "satoshis" (as unit of bitcoin, not the name of creator) * Removing unnecessary which can actually cause problems. * Adding required `alt` attribute to img tags. * Fix wrapping of long lines (some were wrapped at 112 chars) - No effect on final rendering users see. --- bip-0075.mediawiki | 98 ++++++++++++++++++---------------------------- 1 file changed, 38 insertions(+), 60 deletions(-) diff --git a/bip-0075.mediawiki b/bip-0075.mediawiki index e71058fa..3075dd3f 100644 --- a/bip-0075.mediawiki +++ b/bip-0075.mediawiki @@ -14,7 +14,7 @@ This BIP is an extension to BIP 70 that provides two enhancements to the existing Payment Protocol. -# It allows the requestor (Sender) of a Payment Request to voluntarily sign the original request and provide a certificate to allow the payee to know the identity of who they are transacting with. +# It allows the requester (Sender) of a Payment Request to voluntarily sign the original request and provide a certificate to allow the payee to know the identity of who they are transacting with. # It encrypts the Payment Request that is returned, before handing it off to the SSL/TLS layer to prevent man in the middle viewing of the Payment Request details. @@ -30,7 +30,7 @@ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "S ==Motivation== -The motivation for defining this extension to the BIP70 Payment Protocol is to allow 2 parties to exchange payment information in a permissioned and encrypted way such that wallet address communication can become a more automated process. Additionally, this extension allows for the requestor of a PaymentRequest to supply a certificate and signature in order to facilitate identification for address release. This also allows for automated creation of off blockchain transaction logs that are human readable, containing who you transacted with, in addition to the information that it contains today. +The motivation for defining this extension to the BIP70 Payment Protocol is to allow 2 parties to exchange payment information in a permissioned and encrypted way such that wallet address communication can become a more automated process. Additionally, this extension allows for the requester of a PaymentRequest to supply a certificate and signature in order to facilitate identification for address release. This also allows for automated creation of off blockchain transaction logs that are human readable, containing who you transacted with, in addition to the information that it contains today. The motivation for this extension to BIP70 is threefold: @@ -40,50 +40,36 @@ The motivation for this extension to BIP70 is threefold: # Allow a sender of funds the option of sharing their identity with the receiver. This information could then be used to: -#* Make bitcoin logs more human readable +#* Make Bitcoin logs more human readable #* Give the user the ability to decide who to release payment details to #* Allow an entity such as a political campaign to ensure donors match regulatory and legal requirements #* Allow for an open standards based way for regulated financial entities to meet regulatory requirements #* Automate the active exchange of payment addresses, so static addresses and BIP32 X-Pubs can be avoided to maintain privacy and convenience -In short we wanted to make bitcoin more human, while at the same time improving transaction privacy. +In short we wanted to make Bitcoin more human, while at the same time improving transaction privacy. ==Example Use Cases== 1. Address Book -A Bitcoin wallet developer would like to offer the ability to store an "address book" of payees, so users could -send multiple payments to known entities without having to request an address every time. Static addresses compromise -privacy, and address reuse is considered a security risk. BIP32 X-Pubs allow the generation of unique addresses, but -watching an X-Pub chain for each person you wish to receive funds from is too resource-intensive for mobile applications, -and there is always a risk of unknowingly sending funds to an X-Pub address after the owner has lost access to the -corresponding private key. +A Bitcoin wallet developer would like to offer the ability to store an "address book" of payees, so users could send multiple payments to known entities without having to request an address every time. Static addresses compromise privacy, and address reuse is considered a security risk. BIP32 X-Pubs allow the generation of unique addresses, but watching an X-Pub chain for each person you wish to receive funds from is too resource-intensive for mobile applications, and there is always a risk of unknowingly sending funds to an X-Pub address after the owner has lost access to the corresponding private key. -With this BIP, Bitcoin wallets could maintain an "address book" that only needs to store each payee's public key. Adding -an entry to one's address book could be done by using a Wallet Name, scanning a QR code, sending a URI through a text message or e-mail, or -searching a public repository. When the user wishes to make a payment, their wallet would do all the work in the background -to communicate with the payee's wallet to receive a unique payment address. If the payee's wallet has been lost, replaced, -or destroyed, no communication will be possible, and the sending of funds to a "dead" address is prevented. +With this BIP, Bitcoin wallets could maintain an "address book" that only needs to store each payee's public key. Adding an entry to one's address book could be done by using a Wallet Name, scanning a QR code, sending a URI through a text message or e-mail, or searching a public repository. When the user wishes to make a payment, their wallet would do all the work in the background to communicate with the payee's wallet to receive a unique payment address. If the payee's wallet has been lost, replaced, or destroyed, no communication will be possible, and the sending of funds to a "dead" address is prevented. 2. Individual Permissioned Address Release A Bitcoin wallet developer would like to allow users to view a potential sending party's identifying information before deciding whether or not to share payment information with them. Currently, BIP70 specifies that the Merchant Server respond to a "pay now" style request with a PaymentRequest, releasing address and X.509 certificate identity information of the potential receiving party. -With this BIP, Bitcoin wallets could prompt a wallet user to release payment information while displaying identity -information about the potential sending party via an included certificate. This gives the receiving party more control over who receives their payment and identity information, and could be helpful for businesses that need to follow KYC policies or wallets that want to focus on privacy. +With this BIP, Bitcoin wallets could prompt a wallet user to release payment information while displaying identity information about the potential sending party via an included certificate. This gives the receiving party more control over who receives their payment and identity information, and could be helpful for businesses that need to follow KYC policies or wallets that want to focus on privacy. 3. Using Store & Forward Servers -A Bitcoin wallet developer would like to use a public Store & Forward service for an asynchronous address -exchange. This is a common case for mobile and offline wallets. +A Bitcoin wallet developer would like to use a public Store & Forward service for an asynchronous address exchange. This is a common case for mobile and offline wallets. -With this BIP, returned payment information is encrypted with an ECDH-computed shared key before sending to a Store & Forward -service. In this case, a successful attack against a Store & Forward service would not be able to read or modify wallet address -or payment information, only delete encrypted messages. +With this BIP, returned payment information is encrypted with an ECDH-computed shared key before sending to a Store & Forward service. In this case, a successful attack against a Store & Forward service would not be able to read or modify wallet address or payment information, only delete encrypted messages. ==New Messages== -Updated [/bip-0075/paymentrequest.proto paymentrequest.proto] contains the existing PaymentRequest Protocol Buffer messages as well as -the messages newly defined in this BIP. +Updated [/bip-0075/paymentrequest.proto paymentrequest.proto] contains the existing PaymentRequest Protocol Buffer messages as well asthe messages newly defined in this BIP. Note: Public keys from both parties must be known to each other in order to facilitate encrypted communication. Although including both public keys in every message may get redundant, it provides the most flexibility as each message is completely self-contained. @@ -115,7 +101,7 @@ message InvoiceRequest { |- | memo || Human-readable description of invoice request for the receiver |- -| notification_url || Secure (usually HTTPS) location where an EncryptedPaymentRequest (see below) SHOULD be sent when ready +| notification_url || Secure (usually HTTPS) location where an [[#EncryptedPaymentRequest|EncryptedPaymentRequest]] (see below) SHOULD be sent when ready |- | signature || PKI-dependent signature |} @@ -137,7 +123,7 @@ message EncryptedInvoiceRequest {
{| class="wikitable" -! Field Name !! Description +! Field Name !! Description |- | encrypted_invoice_request || AES-256-CBC encrypted, serialized InvoiceRequest |- @@ -171,7 +157,7 @@ message EncryptedPaymentRequest { }
{| class="wikitable" -! Field Name !! Description +! Field Name !! Description |- | encrypted_payment_request || AES-256-CBC encrypted, serialized BIP70 PaymentRequest |- @@ -206,7 +192,7 @@ message EncryptedPayment { } {| class="wikitable" -! Field Name !! Description +! Field Name !! Description |- | encrypted_payment || AES-256-CBC encrypted, serialized BIP70 Payment message |- @@ -239,7 +225,7 @@ message EncryptedPaymentACK { } {| class="wikitable" -! Field Name !! Description +! Field Name !! Description |- | encrypted_payment_ack || AES-256-CBC encrypted, serialized BIP70 PaymentACK message |- @@ -257,8 +243,7 @@ message EncryptedPaymentACK { |} ==InvoiceRequest / PaymentRequest Process== -The process overview for using InvoiceRequests and receiving encrypted PaymentRequests is defined below in two sections. -Optionally, the Sender MAY choose to encrypt the InvoiceRequest message and therefore MUST follow the Encrypted InvoiceRequest Overview process. +The process overview for using InvoiceRequests and receiving encrypted PaymentRequests is defined below in two sections. Optionally, the Sender MAY choose to encrypt the InvoiceRequest message and therefore MUST follow the '''Encrypted InvoiceRequest Overview''' process below. ===Non-Encrypted InvoiceRequest Overview=== # Sender creates InvoiceRequest @@ -273,7 +258,7 @@ Optionally, the Sender MAY choose to encrypt the InvoiceRequest message and ther # The PaymentRequest is processed according to BIP70, including optional Payment and PaymentACK messages - +Flow diagram of Non-Encrypted InvoiceRequest ===Encrypted InvoiceRequest Overview=== # Sender retrieves Receiver InvoiceRequest Public Key @@ -291,9 +276,9 @@ Optionally, the Sender MAY choose to encrypt the InvoiceRequest message and ther # Sender decrypts and validates encrypted PaymentRequest # The PaymentRequest is processed according to BIP70, including optional EncryptedPayment and EncryptedPaymentACK messages -NOTE: See section Initial Public Key Retrieval for InvoiceRequest Encryption below for possible options to retrieve Receiver InvoiceRequest public keys. - - +'''NOTE:''' See section [[#Initial_Public_Key_Retrieval_for_InvoiceRequest_Encryption|Initial Public Key Retrieval for InvoiceRequest Encryption]] below for possible options to retrieve Receiver InvoiceRequest public keys. + +Flow diagram of Encrypted InvoiceRequest ==Message Interaction Details== @@ -314,14 +299,13 @@ Messages MUST be transmitted via TLS-protected HTTP using the appropriate Conten |} ===Message or Communication Errors=== -An invalid or unparsable message or communications error MUST be communicated to the party that initiated the communication. This -SHOULD be done through standard HTTP Status Code messaging ([https://tools.ietf.org/html/rfc7231 RFC 7231 Section 6]). If the provided hash of each message does not match the contents of the message once decrypted, a general error should be returned to prevent oracle attacks. +An invalid or unparsable message or communications error MUST be communicated to the party that initiated the communication. This SHOULD be done through standard HTTP Status Code messaging ([https://tools.ietf.org/html/rfc7231 RFC 7231 Section 6]). If the provided hash of each message does not match the contents of the message once decrypted, a general error should be returned to prevent oracle attacks. ==Process Step Details== For the following we assume the Sender already knows the Receiver's public key, and the exchange is being facilitated by a Store & Forward server which requires valid signatures for authentication. -Where used, nonce MUST be set to a non-repeating number AND MUST be chosen by the encryptor. The current epoch time in microseconds SHOULD be used, unless the creating device doesn't have access to a RTC (in the case of a smart card, for example). The service receiving the message containing the nonce MAY use whatever method to make sure that the nonce is never repeated. +Where used, '''nonce''' MUST be set to a non-repeating number AND MUST be chosen by the encryptor. The current epoch time in microseconds SHOULD be used, unless the creating device doesn't have access to a RTC (in the case of a smart card, for example). The service receiving the message containing the '''nonce''' MAY use whatever method to make sure that the '''nonce''' is never repeated. ===InvoiceRequest Message Creation=== * Create an InvoiceRequest message @@ -339,11 +323,11 @@ Where used, nonce MUST be set to a non-repeating number AND MUST be chose ===EncryptedInvoiceRequest Message Creation=== * Create an EncryptedInvoiceRequest -* Retrieve endpoint public key to use in ECDH Point Generation as specified in Initial Public Key Retrieval for InvoiceRequest Encryption (see below) +* Retrieve endpoint public key to use in '''ECDH Point Generation''' as specified in [[#Initial_Public_Key_Retrieval_for_InvoiceRequest_Encryption|Initial Public Key Retrieval for InvoiceRequest Encryption]] (see below) * sender_public_key MUST be set to the public key of the Sender's EC keypair * receiver_public_key MUST be set to the public key of the Receiver's EC keypair * invoice_request_hash MUST be set to the SHA256 hash of the serialized InvoiceRequest (without encryption) -* Encrypt the serialized InvoiceRequest using AES-256-CBC setup as described in ECDH Point Generation and AES-256 (CBC Mode) Setup (see below) +* Encrypt the serialized InvoiceRequest using AES-256-CBC setup as described in [[#ECDH_Point_Generation_and_AES256_CBC_Mode_Setup|ECDH Point Generation and AES-256 (CBC Mode) Setup]] (see below) * encrypted_invoice_Request MUST be set to the encrypted values of the InvoiceRequest * nonce MUST be set to the nonce used in the AES-256-CBC encryption operation * Set identifier to invoice_request_hash @@ -356,7 +340,7 @@ Where used, nonce MUST be set to a non-repeating number AND MUST be chose * If pki_type is x509+sha256 and signature is valid for the serialized InvoiceRequest where signature is set to "", InvoiceRequest is VALID ===EncryptedPaymentRequest Message Creation and PaymentRequest Encryption=== -* Encrypt the serialized PaymentRequest using AES-256-CBC setup as described in ECDH Point Generation and AES-256 (CBC Mode) Setup (see below) +* Encrypt the serialized PaymentRequest using AES-256-CBC setup as described in [[#ECDH_Point_Generation_and_AES256_CBC_Mode_Setup|ECDH Point Generation and AES-256 (CBC Mode) Setup]] (see below) * Create EncryptedPaymentRequest message * Set encrypted_payment_request to be the encrypted value of the PaymentRequest * Set payment_request_hash to generated SHA256 hash of the serialized PaymentRequest (without encryption) @@ -370,7 +354,7 @@ Where used, nonce MUST be set to a non-repeating number AND MUST be chose * Set signature to the result of the signature operation above ===EncryptedPaymentRequest Validation and Decryption=== -* Decrypt the serialized PaymentRequest using AES-256-CBC setup as described in ECDH Point Generation and AES-256 (CBC Mode) Setup (see below) +* Decrypt the serialized PaymentRequest using AES-256-CBC setup as described in [[#ECDH_Point_Generation_and_AES256_CBC_Mode_Setup|ECDH Point Generation and AES-256 (CBC Mode) Setup]] (see below) * Validate payment_request_hash matches SHA256 of the decrypted, serialized PaymentRequest * Deserialize the serialized PaymentRequest @@ -392,7 +376,7 @@ Initial public key retrieval for InvoiceRequest encryption can be done in a numb ==EncryptedPayment and EncryptedPaymentACK Details== ===EncryptedPayment Message Creation=== -* Encrypt the serialized Payment using AES-256-CBC using secret key calculated in the EncryptedPaymentRequest Message Creation and PaymentRequest Encryption step (see above) +* Encrypt the serialized Payment using AES-256-CBC using secret key calculated in the [[#EncryptedPaymentRequest_Message_Creation_and_PaymentRequest_Encryption|EncryptedPaymentRequest Message Creation and PaymentRequest Encryption]] step (see above) * Create EncryptedPayment message * Set encrypted_payment to be the encrypted value of the Payment * Set payment_hash to generated SHA256 hash of the serialized Payment (without encryption) @@ -405,7 +389,7 @@ Initial public key retrieval for InvoiceRequest encryption can be done in a numb * Set signature to the result of the signature operation above ===EncryptedPaymentACK Message Creation=== -* Encrypt the serialized PaymentACK using AES-256-CBC using secret key calculated in the EncryptedPaymentRequest Message Creation and PaymentRequest Encryption step (see above) +* Encrypt the serialized PaymentACK using AES-256-CBC using secret key calculated in the [[#EncryptedPaymentRequest_Message_Creation_and_PaymentRequest_Encryption|EncryptedPaymentRequest Message Creation and PaymentRequest Encryption]] step (see above) * Create EncryptedPaymentACK message * Set encrypted_payment_ack to be the encrypted value of the PaymentACK * Set payment_ack_hash to generated SHA256 hash of the serialized PaymentACK (without encryption) @@ -418,9 +402,9 @@ Initial public key retrieval for InvoiceRequest encryption can be done in a numb * Set signature to the result of the signature operation above -SIGNATURE NOTE: EncryptedPaymentRequest, EncryptedPayment, and EncryptedPaymentACK messages are signed with the public keys of the party transmitting the message. This allows a Store & Forward server or other transmission system to prevent spam or other abuses. For those who are privacy concious and don't want the server to track the interactions between two public keys, the Sender can generate a new public key for each interaction to keep their identity anonymous. +'''SIGNATURE NOTE:''' EncryptedPaymentRequest, EncryptedPayment, and EncryptedPaymentACK messages are signed with the public keys of the party transmitting the message. This allows a Store & Forward server or other transmission system to prevent spam or other abuses. For those who are privacy conscious and don't want the server to track the interactions between two public keys, the Sender can generate a new public key for each interaction to keep their identity anonymous. -==Payment / PaymentACK Messages with a Store & Foward Server== +==Payment / PaymentACK Messages with a Store & Forward Server== When a Store & Forward server is in use during the Payment Protocol exchange, an EncryptedPayment message generated as the result of a EncryptedPaymentRequest with the requires_payment_message flag set to true MUST be accepted by a Store & Forward server. The accepted Payment message is NOT validated as the Store & Forward server does not have access to encrypted data. Store & Forward servers MAY accept and/or overwrite EncryptedPayment messages until an EncryptedPaymentACK message with matching identifier and valid Receiver signature is received, after which the server MAY reject all further EncryptedPayment messages matching that identifier. This feature SHOULD be used for updating Payment metadata or replacing invalid transactions with valid ones. Clients SHOULD keep in mind Receivers can broadcast a transaction without returning an ACK. If a payment message needs to be updated, it SHOULD include at least one input referenced in the original transaction to prevent the Receiver from broadcasting both transactions and getting paid twice. @@ -441,30 +425,24 @@ A reference client implementation can be found in the InvoiceRequest functional ==BIP70 Extension== The following flowchart is borrowed from BIP70 and expanded upon in order to visually describe how this BIP is an extension to BIP70. - +Flowchart explaining how this BIP extends BIP 70 ==Mobile to Mobile Examples== ===EncryptedPayment Required=== -The following diagram shows a sample flow in which one mobile client is sending value to a second mobile client with the use -of an InvoiceRequest, a Store & Forward server, an EncryptedPaymentRequest (with require_payment_message = true), an -EncryptedPayment and an EncryptedPaymentACK. In this case, the Receiver submits the transaction to the bitcoin network. +The following diagram shows a sample flow in which one mobile client is sending value to a second mobile client with the use of an InvoiceRequest, a Store & Forward server, an EncryptedPaymentRequest (with require_payment_message = true), an EncryptedPayment and an EncryptedPaymentACK. In this case, the Receiver submits the transaction to the Bitcoin network. - +EncryptedPayment Required flow diagram ===EncryptedPayment NOT Required=== -The following diagram shows a sample flow in which one mobile client is sending value to a second mobile client with the use -of an InvoiceRequest, a Store & Forward server, and an EncryptedPaymentRequest (with require_payment_message = false). -In this case, the Sender submits the transaction to the bitcoin network. +The following diagram shows a sample flow in which one mobile client is sending value to a second mobile client with the use of an InvoiceRequest, a Store & Forward server, and an EncryptedPaymentRequest (with require_payment_message = false). In this case, the Sender submits the transaction to the Bitcoin network. - +EncryptedPayment NOT Required flow diagram ===Using EncryptedInvoiceRequest Message=== -The following diagram shows a sample flow in which one mobile client is sending value to a second mobile client with the use -of an EncryptedInvoiceRequest, a Store & Forward server, and an EncryptedPaymentRequest (with require_payment_message = false). -In this case, the Sender submits the transaction to the bitcoin network. +The following diagram shows a sample flow in which one mobile client is sending value to a second mobile client with the use of an EncryptedInvoiceRequest, a Store & Forward server, and an EncryptedPaymentRequest (with require_payment_message = false). In this case, the Sender submits the transaction to the Bitcoin network. - +EncryptedInvoiceRequest without payment ==Extending BIP70 PaymentDetails== @@ -482,7 +460,7 @@ message PaymentDetails { {| class="wikitable" ! Field Name !! Field Number !! Description |- -| subtractable_fee || 1000 || In some situations the receiver may be willing to cover the cost of the transaction fee. If present, this field indicates how many Satoshis can be subtracted from the requested amount and instead applied towards the fee. +| subtractable_fee || 1000 || In some situations the receiver may be willing to cover the cost of the transaction fee. If present, this field indicates how many satoshis can be subtracted from the requested amount and instead applied towards the fee. |- | fee_per_kb || 1001 || This field allows the receiver (merchant) to specify the minimum transaction fee that must be included with the transaction in order for it to be accepted with zero confirmations. |- From 05740a7dbea46623d82e12c992527b6e6ab7a9e9 Mon Sep 17 00:00:00 2001 From: Marshall Long Date: Fri, 11 Mar 2016 15:01:25 -0500 Subject: [PATCH 51/54] Format Comment Format comment to fit style of previous comments --- bip-0075/paymentrequest.proto | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bip-0075/paymentrequest.proto b/bip-0075/paymentrequest.proto index d1c9e4f2..1c9cc8e9 100644 --- a/bip-0075/paymentrequest.proto +++ b/bip-0075/paymentrequest.proto @@ -45,7 +45,7 @@ message Payment { } message PaymentACK { required Payment payment = 1; // Payment message that triggered this ACK - optional string memo = 2; // human-readable message for customer + optional string memo = 2; // Human-readable message for customer } // BIP-IR Extensions From 9a5ba6688ca4a2cdf5e74f69f997ff1b0d731054 Mon Sep 17 00:00:00 2001 From: jmacwhyte Date: Tue, 15 Mar 2016 18:04:48 -0700 Subject: [PATCH 52/54] Removed BIP70 extensions --- bip-0070/extensions.mediawiki | 8 ++------ bip-0075.mediawiki | 23 ----------------------- 2 files changed, 2 insertions(+), 29 deletions(-) diff --git a/bip-0070/extensions.mediawiki b/bip-0070/extensions.mediawiki index 43a6504c..b572b1d4 100644 --- a/bip-0070/extensions.mediawiki +++ b/bip-0070/extensions.mediawiki @@ -5,9 +5,5 @@ Add your extension below using tags starting at 1000 and submit a pull-req. {| | Field Number || Extension Name || Field Name || Description |- -| 1000 || [[https://github.com/bitcoin/bips/blob/master/bip-0075.mediawiki|BIP0075]] || subtractable_fee || If present, this field indicates how many Satoshis can be subtracted from the requested amount and instead applied towards the fee. -|- -| 1001 || [[https://github.com/bitcoin/bips/blob/master/bip-0075.mediawiki|BIP0075]] || fee_per_kb || This field allows the receiver (merchant) to specify the minimum transaction fee that must be included with the transaction in order for it to be accepted with zero confirmations. -|- -| 1002 || [[https://github.com/bitcoin/bips/blob/master/bip-0075.mediawiki|BIP0075]] ||replace_by_fee || If "true," indicates the sender can enable the Replace By Fee flag for this transaction and the receiver will still consider it accepted with zero confirmations. Otherwise, RBF transactions will not be accepted by the receiver until they are confirmed. -|} +| 1000 || [[https://example.com|(unassigned)]] || (unassigned) || (unassigned) +|} \ No newline at end of file diff --git a/bip-0075.mediawiki b/bip-0075.mediawiki index 3075dd3f..d0793be3 100644 --- a/bip-0075.mediawiki +++ b/bip-0075.mediawiki @@ -444,29 +444,6 @@ The following diagram shows a sample flow in which one mobile client is sending EncryptedInvoiceRequest without payment -==Extending BIP70 PaymentDetails== - -To keep up with recent advancements in transaction type and common use cases, three version 1 fields will be added to the BIP 70 PaymentDetails message, as described in the BIP 70 section titled [[bip-0070.mediawiki#extensibility|Extensibilit]]y: - -
-message PaymentDetails {
-        ...
-        optional uint64 subtractable_fee = 1000;
-        optional uint64 fee_per_kb = 1001;
-        optional bool replace_by_fee = 1002;
-}
-
- -{| class="wikitable" -! Field Name !! Field Number !! Description -|- -| subtractable_fee || 1000 || In some situations the receiver may be willing to cover the cost of the transaction fee. If present, this field indicates how many satoshis can be subtracted from the requested amount and instead applied towards the fee. -|- -| fee_per_kb || 1001 || This field allows the receiver (merchant) to specify the minimum transaction fee that must be included with the transaction in order for it to be accepted with zero confirmations. -|- -| replace_by_fee || 1002 || If "true," indicates the sender can enable the Replace By Fee flag for this transaction and the receiver will still consider it accepted with zero confirmations. Otherwise, RBF transactions will not be accepted by the receiver until they are confirmed. -|} - ==References== * [[bip-0070.mediawiki|BIP70 - Payment Protocol]] From e8c9f670059c61ba14bb51a13829de7f09055091 Mon Sep 17 00:00:00 2001 From: Matt David Date: Wed, 16 Mar 2016 22:03:49 -0700 Subject: [PATCH 53/54] Update BIP header to pass TravisCI --- bip-0075.mediawiki | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/bip-0075.mediawiki b/bip-0075.mediawiki index 3075dd3f..dd0cd95f 100644 --- a/bip-0075.mediawiki +++ b/bip-0075.mediawiki @@ -1,12 +1,12 @@
-  BIP:     75
-  Title:   Out of Band Address Exchange using Payment Protocol Encryption
-  Authors: Justin Newton 
-           Matt David 
-           Aaron Voisine 
-           James MacWhyte 
-  Status:  Draft
-  Type:    Standards Track
+  BIP: 75
+  Title: Out of Band Address Exchange using Payment Protocol Encryption
+  Author: Justin Newton 
+          Matt David 
+          Aaron Voisine 
+          James MacWhyte 
+  Status: Draft
+  Type: Standards Track
   Created: 2015-11-20
 
From 19845126ec697f043a23f382a2653c0bdd10a6a3 Mon Sep 17 00:00:00 2001 From: Luke Dashjr Date: Thu, 17 Mar 2016 05:21:40 +0000 Subject: [PATCH 54/54] Put BIP 75 in the right place in README, and clean up formatting a bit --- README.mediawiki | 12 ++++++------ bip-0070/extensions.mediawiki | 2 +- bip-0075.mediawiki | 21 ++++++++++----------- 3 files changed, 17 insertions(+), 18 deletions(-) diff --git a/README.mediawiki b/README.mediawiki index 970cf930..be60e8f4 100644 --- a/README.mediawiki +++ b/README.mediawiki @@ -314,6 +314,12 @@ Those proposing changes should consider that ultimately consent may rest with th | Standard | Draft |- +| [[bip-0075.mediawiki|75]] +| Out of Band Address Exchange using Payment Protocol Encryption +| Justin Newton, Matt David, Aaron Voisine, James MacWhyte +| Standard +| Draft +|- | [[bip-0080.mediawiki|80]] | Hierarchy for Non-Colored Voting Pool Deterministic Multisig Wallets | Justus Ranvier, Jimmy Song @@ -332,12 +338,6 @@ Those proposing changes should consider that ultimately consent may rest with th | Standard | Draft |- -| [[bip-0075.mediawiki|75]] -| Out of Band Address Exchange using Payment Protocol Encryption -| Justin Newton, Matt David, Aaron Voisine and James MacWhyte -| Standard -| Draft -|- | [[bip-0099.mediawiki|99]] | Motivation and deployment of consensus rule changes ([soft/hard]forks) | Jorge Timón diff --git a/bip-0070/extensions.mediawiki b/bip-0070/extensions.mediawiki index b572b1d4..51400d88 100644 --- a/bip-0070/extensions.mediawiki +++ b/bip-0070/extensions.mediawiki @@ -6,4 +6,4 @@ Add your extension below using tags starting at 1000 and submit a pull-req. | Field Number || Extension Name || Field Name || Description |- | 1000 || [[https://example.com|(unassigned)]] || (unassigned) || (unassigned) -|} \ No newline at end of file +|} diff --git a/bip-0075.mediawiki b/bip-0075.mediawiki index 753c6e50..6d1587ea 100644 --- a/bip-0075.mediawiki +++ b/bip-0075.mediawiki @@ -14,7 +14,7 @@ This BIP is an extension to BIP 70 that provides two enhancements to the existing Payment Protocol. -# It allows the requester (Sender) of a Payment Request to voluntarily sign the original request and provide a certificate to allow the payee to know the identity of who they are transacting with. +# It allows the requester (Sender) of a Payment Request to voluntarily sign the original request and provide a certificate to allow the payee to know the identity of who they are transacting with. # It encrypts the Payment Request that is returned, before handing it off to the SSL/TLS layer to prevent man in the middle viewing of the Payment Request details. @@ -34,15 +34,15 @@ The motivation for defining this extension to the BIP70 Payment Protocol is to a The motivation for this extension to BIP70 is threefold: -# Ensure that the payment details can only be seen by the participants in the transaction, and not by any third party. +# Ensure that the payment details can only be seen by the participants in the transaction, and not by any third party. # Enhance the Payment Protocol to allow for store and forward servers in order to allow, for example, mobile wallets to sign and serve Payment Requests. # Allow a sender of funds the option of sharing their identity with the receiver. This information could then be used to: -#* Make Bitcoin logs more human readable -#* Give the user the ability to decide who to release payment details to -#* Allow an entity such as a political campaign to ensure donors match regulatory and legal requirements +#* Make Bitcoin logs more human readable +#* Give the user the ability to decide who to release payment details to +#* Allow an entity such as a political campaign to ensure donors match regulatory and legal requirements #* Allow for an open standards based way for regulated financial entities to meet regulatory requirements #* Automate the active exchange of payment addresses, so static addresses and BIP32 X-Pubs can be avoided to maintain privacy and convenience @@ -118,7 +118,6 @@ message EncryptedInvoiceRequest { required uint64 nonce = 5; optional bytes signature = 6; optional bytes identifier = 7; - } @@ -277,7 +276,7 @@ The process overview for using InvoiceRequests and receiving encrypted PaymentRe # The PaymentRequest is processed according to BIP70, including optional EncryptedPayment and EncryptedPaymentACK messages '''NOTE:''' See section [[#Initial_Public_Key_Retrieval_for_InvoiceRequest_Encryption|Initial Public Key Retrieval for InvoiceRequest Encryption]] below for possible options to retrieve Receiver InvoiceRequest public keys. - + Flow diagram of Encrypted InvoiceRequest ==Message Interaction Details== @@ -334,7 +333,7 @@ Where used, '''nonce''' MUST be set to a non-repeating number AND MUST be chosen ===InvoiceRequest Validation=== * Validate sender_public_key is a valid EC public key -* The nonce MUST not be repeated. The service receiving the InvoiceRequest MAY use whatever method to make sure that the nonce is never repeated. +* The nonce MUST not be repeated. The service receiving the InvoiceRequest MAY use whatever method to make sure that the nonce is never repeated. * Validate notification_url if set, contains characters deemed valid for a URL (avoiding XSS related characters, etc). * If pki_type is None, InvoiceRequest is VALID * If pki_type is x509+sha256 and signature is valid for the serialized InvoiceRequest where signature is set to "", InvoiceRequest is VALID @@ -360,7 +359,7 @@ Where used, '''nonce''' MUST be set to a non-repeating number AND MUST be chosen ===ECDH Point Generation and AES-256 (CBC Mode) Setup=== * Generate the '''secret point''' using [https://en.wikipedia.org/wiki/Elliptic_curve_Diffie–Hellman ECDH] using the local entity's private key and the remote entity's public key as inputs. -* Initialize [http://csrc.nist.gov/publications/nistpubs/800-90A/SP800-90A.pdf HMAC_DRBG] +* Initialize [http://csrc.nist.gov/publications/nistpubs/800-90A/SP800-90A.pdf HMAC_DRBG] ** Use '''secret point's''' X value for Entropy ** Use the given message's nonce field for Nonce * Initialize AES-256 in CBC Mode @@ -414,11 +413,11 @@ Store & Forward servers MAY accept and/or overwrite EncryptedPayment messages un * Each ECC signature included in any message defined in this BIP MUST use the SHA-256 hashing algorithm and MUST be DER [ITU.X690.1994] encoded. ==Implementation== -A reference implementation for a Store & Forward server supporting this proposal can be found here: +A reference implementation for a Store & Forward server supporting this proposal can be found here: [https://github.com/netkicorp/addressimo Addressimo] -A reference client implementation can be found in the InvoiceRequest functional testing for Addressimo here: +A reference client implementation can be found in the InvoiceRequest functional testing for Addressimo here: [https://github.com/netkicorp/addressimo/blob/master/functest/functest_ir.py InvoiceRequest Client Reference Implementation]