From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 53B6045BD7; Fri, 25 Oct 2024 16:17:35 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 30FDD40DD1; Fri, 25 Oct 2024 16:16:21 +0200 (CEST) Received: from mxhk.zte.com.cn (mxhk.zte.com.cn [63.216.63.35]) by mails.dpdk.org (Postfix) with ESMTP id 71CCC4064C for ; Fri, 25 Oct 2024 16:15:51 +0200 (CEST) Received: from mxct.zte.com.cn (unknown [192.168.251.13]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mxhk.zte.com.cn (FangMail) with ESMTPS id 4XZlF23jDFz5B1Gw for ; Fri, 25 Oct 2024 22:15:50 +0800 (CST) Received: from mse-fl1.zte.com.cn (unknown [10.5.228.132]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mxct.zte.com.cn (FangMail) with ESMTPS id 4XZlDt32wGz501bW for ; Fri, 25 Oct 2024 22:15:42 +0800 (CST) Received: from szxlzmapp04.zte.com.cn ([10.5.231.166]) by mse-fl1.zte.com.cn with SMTP id 49PEFNaA003614 for ; Fri, 25 Oct 2024 22:15:23 +0800 (+08) (envelope-from li.hanxiao@zte.com.cn) Received: from localhost.localdomain (unknown [192.168.6.15]) by smtp (Zmail) with SMTP; Fri, 25 Oct 2024 22:15:27 +0800 X-Zmail-TransId: 3e81671ba7ff004-69ef6 From: Hanxiao Li To: dev@dpdk.org Cc: wang.yong19@zte.com.cn, Hanxiao Li Subject: [PATCH v15 13/21] compress/zsda: add functions of compressdev create and destroy Date: Fri, 25 Oct 2024 22:10:36 +0800 Message-ID: <20241025141105.2291251-12-li.hanxiao@zte.com.cn> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241025141105.2291251-1-li.hanxiao@zte.com.cn> References: <20241025140845.2291138-2-li.hanxiao@zte.com.cn> <20241025141105.2291251-1-li.hanxiao@zte.com.cn> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: multipart/mixed; boundary="=====_001_next=====" X-MAIL: mse-fl1.zte.com.cn 49PEFNaA003614 X-Fangmail-Anti-Spam-Filtered: true X-Fangmail-MID-QID: 671BA816.002/4XZlF23jDFz5B1Gw X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org --=====_001_next===== Content-Type: multipart/related; boundary="=====_002_next=====" --=====_002_next===== Content-Type: multipart/alternative; boundary="=====_003_next=====" --=====_003_next===== Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 QWRkIGZ1bmN0aW9ucyBvZiBjb21wcmVzc2RldiBjcmVhdGUgYW5kIGRlc3Ryb3kuDQoNClNpZ25l ZC1vZmYtYnk6IEhhbnhpYW8gTGkgPGxpLmhhbnhpYW9AenRlLmNvbS5jbj4NCi0tLQ0KIGRyaXZl cnMvY29tcHJlc3MvenNkYS96c2RhX2NvbXBfcG1kLmMgfCAxMTkgKysrKysrKysrKysrKysrKysr KysrKysrKysNCiBkcml2ZXJzL2NvbXByZXNzL3pzZGEvenNkYV9jb21wX3BtZC5oIHwgICA0ICsN CiAyIGZpbGVzIGNoYW5nZWQsIDEyMyBpbnNlcnRpb25zKCspDQoNCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2NvbXByZXNzL3pzZGEvenNkYV9jb21wX3BtZC5jIGIvZHJpdmVycy9jb21wcmVzcy96c2Rh L3pzZGFfY29tcF9wbWQuYw0KaW5kZXggZDY1MTExNmUzZC4uNzhjN2VlMDFkYSAxMDA2NDQNCi0t LSBhL2RyaXZlcnMvY29tcHJlc3MvenNkYS96c2RhX2NvbXBfcG1kLmMNCisrKyBiL2RyaXZlcnMv Y29tcHJlc3MvenNkYS96c2RhX2NvbXBfcG1kLmMNCkBAIC0zNDMsMyArMzQzLDEyMiBAQCBzdGF0 aWMgc3RydWN0IHJ0ZV9jb21wcmVzc2Rldl9vcHMgY29tcHJlc3NfenNkYV9vcHMgPSB7DQogCS5w cml2YXRlX3hmb3JtX2NyZWF0ZSA9IHpzZGFfY29tcF9wcml2YXRlX3hmb3JtX2NyZWF0ZSwNCiAJ LnByaXZhdGVfeGZvcm1fZnJlZSA9IHpzZGFfY29tcF9wcml2YXRlX3hmb3JtX2ZyZWUNCiB9Ow0K Kw0KKy8qIEFuIHJ0ZV9kcml2ZXIgaXMgbmVlZGVkIGluIHRoZSByZWdpc3RyYXRpb24gb2YgdGhl IGRldmljZSB3aXRoIGNvbXByZXNzZGV2Lg0KKyAqIFRoZSBhY3R1YWwgenNkYSBwY2kncyBydGVf ZHJpdmVyIGNhbid0IGJlIHVzZWQgYXMgaXRzIG5hbWUgcmVwcmVzZW50cw0KKyAqIHRoZSB3aG9s ZSBwY2kgZGV2aWNlIHdpdGggYWxsIHNlcnZpY2VzLiBUaGluayBvZiB0aGlzIGFzIGEgaG9sZGVy IGZvciBhIG5hbWUNCisgKiBmb3IgdGhlIGNvbXByZXNzaW9uIHBhcnQgb2YgdGhlIHBjaSBkZXZp Y2UuDQorICovDQorc3RhdGljIGNvbnN0IGNoYXIgenNkYV9jb21wX2Rydl9uYW1lW10gPSBSVEVf U1RSKENPTVBSRVNTREVWX05BTUVfWlNEQV9QTUQpOw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcnRl X2RyaXZlciBjb21wZGV2X3pzZGFfZHJpdmVyID0gew0KKwkubmFtZSA9IHpzZGFfY29tcF9kcnZf bmFtZSwgLmFsaWFzID0genNkYV9jb21wX2Rydl9uYW1lfTsNCisNCitzdGF0aWMgdWludDE2X3QN Cit6c2RhX2NvbXBfcG1kX2VucXVldWVfb3BfYnVyc3Qodm9pZCAqcXAsIHN0cnVjdCBydGVfY29t cF9vcCAqKm9wcywNCisJCQkgICAgICAgdWludDE2X3QgbmJfb3BzKQ0KK3sNCisJcmV0dXJuIHpz ZGFfZW5xdWV1ZV9vcF9idXJzdCgoc3RydWN0IHpzZGFfcXAgKilxcCwgKHZvaWQgKiopb3BzLA0K KwkJCQkgICAgIG5iX29wcyk7DQorfQ0KKw0KK3N0YXRpYyB1aW50MTZfdA0KK3pzZGFfY29tcF9w bWRfZGVxdWV1ZV9vcF9idXJzdCh2b2lkICpxcCwgc3RydWN0IHJ0ZV9jb21wX29wICoqb3BzLA0K KwkJCSAgICAgICB1aW50MTZfdCBuYl9vcHMpDQorew0KKwlyZXR1cm4genNkYV9kZXF1ZXVlX29w X2J1cnN0KChzdHJ1Y3QgenNkYV9xcCAqKXFwLCAodm9pZCAqKilvcHMsDQorCQkJCSAgICAgbmJf b3BzKTsNCit9DQorDQoraW50DQorenNkYV9jb21wX2Rldl9jcmVhdGUoc3RydWN0IHpzZGFfcGNp X2RldmljZSAqenNkYV9wY2lfZGV2KQ0KK3sNCisJc3RydWN0IHpzZGFfZGV2aWNlX2luZm8gKmRl dl9pbmZvID0NCisJCSZ6c2RhX2RldnNbenNkYV9wY2lfZGV2LT56c2RhX2Rldl9pZF07DQorDQor CXN0cnVjdCBydGVfY29tcHJlc3NkZXZfcG1kX2luaXRfcGFyYW1zIGluaXRfcGFyYW1zID0gew0K KwkJLm5hbWUgPSAiIiwNCisJCS5zb2NrZXRfaWQgPSAoaW50KXJ0ZV9zb2NrZXRfaWQoKSwNCisJ fTsNCisNCisJY2hhciBuYW1lW1JURV9DT01QUkVTU0RFVl9OQU1FX01BWF9MRU5dOw0KKwljaGFy IGNhcGFfbWVtel9uYW1lW1JURV9DT01QUkVTU0RFVl9OQU1FX01BWF9MRU5dOw0KKwlzdHJ1Y3Qg cnRlX2NvbXByZXNzZGV2ICpjb21wcmVzc2RldjsNCisJc3RydWN0IHpzZGFfY29tcF9kZXZfcHJp dmF0ZSAqY29tcF9kZXY7DQorCWNvbnN0IHN0cnVjdCBydGVfY29tcHJlc3NkZXZfY2FwYWJpbGl0 aWVzICpjYXBhYmlsaXRpZXM7DQorCXVpbnQxNl90IGNhcGFfc2l6ZSA9IHNpemVvZihzdHJ1Y3Qg cnRlX2NvbXByZXNzZGV2X2NhcGFiaWxpdGllcyk7DQorDQorCXNucHJpbnRmKG5hbWUsIFJURV9D T01QUkVTU0RFVl9OQU1FX01BWF9MRU4sICIlc18lcyIsDQorCQkgenNkYV9wY2lfZGV2LT5uYW1l LCAiY29tcCIpOw0KKw0KKwlpZiAocnRlX2VhbF9wcm9jZXNzX3R5cGUoKSAhPSBSVEVfUFJPQ19Q UklNQVJZKQ0KKwkJcmV0dXJuIDA7DQorDQorCWRldl9pbmZvLT5jb21wX3J0ZV9kZXYuZHJpdmVy ID0gJmNvbXBkZXZfenNkYV9kcml2ZXI7DQorCWRldl9pbmZvLT5jb21wX3J0ZV9kZXYubnVtYV9u b2RlID0gZGV2X2luZm8tPnBjaV9kZXYtPmRldmljZS5udW1hX25vZGU7DQorCWRldl9pbmZvLT5j b21wX3J0ZV9kZXYuZGV2YXJncyA9IE5VTEw7DQorDQorCWNvbXByZXNzZGV2ID0gcnRlX2NvbXBy ZXNzZGV2X3BtZF9jcmVhdGUoDQorCQluYW1lLCAmKGRldl9pbmZvLT5jb21wX3J0ZV9kZXYpLA0K KwkJc2l6ZW9mKHN0cnVjdCB6c2RhX2NvbXBfZGV2X3ByaXZhdGUpLCAmaW5pdF9wYXJhbXMpOw0K Kw0KKwlpZiAoY29tcHJlc3NkZXYgPT0gTlVMTCkNCisJCXJldHVybiAtRU5PREVWOw0KKw0KKwlj b21wcmVzc2Rldi0+ZGV2X29wcyA9ICZjb21wcmVzc196c2RhX29wczsNCisNCisJY29tcHJlc3Nk ZXYtPmVucXVldWVfYnVyc3QgPSB6c2RhX2NvbXBfcG1kX2VucXVldWVfb3BfYnVyc3Q7DQorCWNv bXByZXNzZGV2LT5kZXF1ZXVlX2J1cnN0ID0genNkYV9jb21wX3BtZF9kZXF1ZXVlX29wX2J1cnN0 Ow0KKw0KKwljb21wcmVzc2Rldi0+ZmVhdHVyZV9mbGFncyA9IFJURV9DT01QREVWX0ZGX0hXX0FD Q0VMRVJBVEVEOw0KKw0KKwlzbnByaW50ZihjYXBhX21lbXpfbmFtZSwgUlRFX0NPTVBSRVNTREVW X05BTUVfTUFYX0xFTiwNCisJCSAiWlNEQV9DT01QX0NBUEEiKTsNCisNCisJY29tcF9kZXYgPSBj b21wcmVzc2Rldi0+ZGF0YS0+ZGV2X3ByaXZhdGU7DQorCWNvbXBfZGV2LT56c2RhX3BjaV9kZXYg PSB6c2RhX3BjaV9kZXY7DQorCWNvbXBfZGV2LT5jb21wcmVzc2RldiA9IGNvbXByZXNzZGV2Ow0K KwljYXBhYmlsaXRpZXMgPSB6c2RhX2NvbXBfY2FwYWJpbGl0aWVzOw0KKw0KKwljb21wX2Rldi0+ Y2FwYV9teiA9IHJ0ZV9tZW16b25lX2xvb2t1cChjYXBhX21lbXpfbmFtZSk7DQorCWlmIChjb21w X2Rldi0+Y2FwYV9teiA9PSBOVUxMKSB7DQorCQljb21wX2Rldi0+Y2FwYV9teiA9IHJ0ZV9tZW16 b25lX3Jlc2VydmUoDQorCQkJY2FwYV9tZW16X25hbWUsIGNhcGFfc2l6ZSwgcnRlX3NvY2tldF9p ZCgpLCAwKTsNCisJfQ0KKwlpZiAoY29tcF9kZXYtPmNhcGFfbXogPT0gTlVMTCkgew0KKwkJWlNE QV9MT0coREVCVUcsIEVfTUFMTE9DKTsNCisJCW1lbXNldCgmZGV2X2luZm8tPmNvbXBfcnRlX2Rl diwgMCwNCisJCSAgICAgICBzaXplb2YoZGV2X2luZm8tPmNvbXBfcnRlX2RldikpOw0KKwkJcnRl X2NvbXByZXNzZGV2X3BtZF9kZXN0cm95KGNvbXByZXNzZGV2KTsNCisJCXJldHVybiAtRUZBVUxU Ow0KKwl9DQorDQorCW1lbWNweShjb21wX2Rldi0+Y2FwYV9tei0+YWRkciwgY2FwYWJpbGl0aWVz LCBjYXBhX3NpemUpOw0KKwljb21wX2Rldi0+enNkYV9kZXZfY2FwYWJpbGl0aWVzID0gY29tcF9k ZXYtPmNhcGFfbXotPmFkZHI7DQorDQorCXpzZGFfcGNpX2Rldi0+Y29tcF9kZXYgPSBjb21wX2Rl djsNCisNCisJcmV0dXJuIFpTREFfU1VDQ0VTUzsNCit9DQorDQoraW50DQorenNkYV9jb21wX2Rl dl9kZXN0cm95KHN0cnVjdCB6c2RhX3BjaV9kZXZpY2UgKnpzZGFfcGNpX2RldikNCit7DQorCXN0 cnVjdCB6c2RhX2NvbXBfZGV2X3ByaXZhdGUgKmNvbXBfZGV2Ow0KKw0KKwlpZiAoenNkYV9wY2lf ZGV2ID09IE5VTEwpDQorCQlyZXR1cm4gLUVOT0RFVjsNCisNCisJY29tcF9kZXYgPSB6c2RhX3Bj aV9kZXYtPmNvbXBfZGV2Ow0KKwlpZiAoY29tcF9kZXYgPT0gTlVMTCkNCisJCXJldHVybiBaU0RB X1NVQ0NFU1M7DQorDQorCWlmIChydGVfZWFsX3Byb2Nlc3NfdHlwZSgpID09IFJURV9QUk9DX1BS SU1BUlkpDQorCQlydGVfbWVtem9uZV9mcmVlKHpzZGFfcGNpX2Rldi0+Y29tcF9kZXYtPmNhcGFf bXopOw0KKw0KKwl6c2RhX2NvbXBfZGV2X2Nsb3NlKGNvbXBfZGV2LT5jb21wcmVzc2Rldik7DQor DQorCXJ0ZV9jb21wcmVzc2Rldl9wbWRfZGVzdHJveShjb21wX2Rldi0+Y29tcHJlc3NkZXYpOw0K Kwl6c2RhX3BjaV9kZXYtPmNvbXBfZGV2ID0gTlVMTDsNCisNCisJcmV0dXJuIFpTREFfU1VDQ0VT UzsNCit9DQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jb21wcmVzcy96c2RhL3pzZGFfY29tcF9wbWQu aCBiL2RyaXZlcnMvY29tcHJlc3MvenNkYS96c2RhX2NvbXBfcG1kLmgNCmluZGV4IGYwOTY4Nzhk MDkuLmRhOTFjZjA2YzMgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL2NvbXByZXNzL3pzZGEvenNkYV9j b21wX3BtZC5oDQorKysgYi9kcml2ZXJzL2NvbXByZXNzL3pzZGEvenNkYV9jb21wX3BtZC5oDQpA QCAtMjcsNCArMjcsOCBAQCBzdHJ1Y3QgenNkYV9jb21wX2Rldl9wcml2YXRlIHsNCiAJLyogU2hh cmVkIG1lbXpvbmUgZm9yIHN0b3JpbmcgY2FwYWJpbGl0aWVzICovDQogfTsNCiANCitpbnQgenNk YV9jb21wX2Rldl9jcmVhdGUoc3RydWN0IHpzZGFfcGNpX2RldmljZSAqenNkYV9wY2lfZGV2KTsN CisNCitpbnQgenNkYV9jb21wX2Rldl9kZXN0cm95KHN0cnVjdCB6c2RhX3BjaV9kZXZpY2UgKnpz ZGFfcGNpX2Rldik7DQorDQogI2VuZGlmIC8qIF9aU0RBX0NPTVBfUE1EX0hfICovDQotLSANCjIu MjcuMA== --=====_003_next===== Content-Type: text/html ; charset="UTF-8" Content-Transfer-Encoding: base64 QWRkJm5ic3A7ZnVuY3Rpb25zJm5ic3A7b2YmbmJzcDtjb21wcmVzc2RldiZuYnNwO2NyZWF0ZSZu YnNwO2FuZCZuYnNwO2Rlc3Ryb3kuPGJyIC8+DTxiciAvPlNpZ25lZC1vZmYtYnk6Jm5ic3A7SGFu eGlhbyZuYnNwO0xpJm5ic3A7Jmx0O2xpLmhhbnhpYW9AenRlLmNvbS5jbiZndDsNPGJyIC8+LS0t PGJyIC8+Jm5ic3A7ZHJpdmVycy9jb21wcmVzcy96c2RhL3pzZGFfY29tcF9wbWQuYyZuYnNwO3wm bmJzcDsxMTkmbmJzcDsrKysrKysrKysrKysrKysrKysrKysrKysrKzxiciAvPiZuYnNwO2RyaXZl cnMvY29tcHJlc3MvenNkYS96c2RhX2NvbXBfcG1kLmgmbmJzcDt8Jm5ic3A7Jm5ic3A7Jm5ic3A7 NCZuYnNwOys8YnIgLz4mbmJzcDsyJm5ic3A7ZmlsZXMmbmJzcDtjaGFuZ2VkLCZuYnNwOzEyMyZu YnNwO2luc2VydGlvbnMoKyk8YnIgLz4NPGJyIC8+ZGlmZiZuYnNwOy0tZ2l0Jm5ic3A7YS9kcml2 ZXJzL2NvbXByZXNzL3pzZGEvenNkYV9jb21wX3BtZC5jJm5ic3A7Yi9kcml2ZXJzL2NvbXByZXNz L3pzZGEvenNkYV9jb21wX3BtZC5jPGJyIC8+aW5kZXgmbmJzcDtkNjUxMTE2ZTNkLi43OGM3ZWUw MWRhJm5ic3A7MTAwNjQ0PGJyIC8+LS0tJm5ic3A7YS9kcml2ZXJzL2NvbXByZXNzL3pzZGEvenNk YV9jb21wX3BtZC5jPGJyIC8+KysrJm5ic3A7Yi9kcml2ZXJzL2NvbXByZXNzL3pzZGEvenNkYV9j b21wX3BtZC5jPGJyIC8+QEAmbmJzcDstMzQzLDMmbmJzcDsrMzQzLDEyMiZuYnNwO0BAJm5ic3A7 c3RhdGljJm5ic3A7c3RydWN0Jm5ic3A7cnRlX2NvbXByZXNzZGV2X29wcyZuYnNwO2NvbXByZXNz X3pzZGFfb3BzJm5ic3A7PSZuYnNwO3s8YnIgLz4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsucHJpdmF0ZV94Zm9ybV9jcmVhdGUmbmJzcDs9Jm5ic3A7enNkYV9jb21wX3ByaXZhdGVfeGZv cm1fY3JlYXRlLDxiciAvPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOy5wcml2YXRlX3hm b3JtX2ZyZWUmbmJzcDs9Jm5ic3A7enNkYV9jb21wX3ByaXZhdGVfeGZvcm1fZnJlZTxiciAvPiZu YnNwO307PGJyIC8+KzxiciAvPisvKiZuYnNwO0FuJm5ic3A7cnRlX2RyaXZlciZuYnNwO2lzJm5i c3A7bmVlZGVkJm5ic3A7aW4mbmJzcDt0aGUmbmJzcDtyZWdpc3RyYXRpb24mbmJzcDtvZiZuYnNw O3RoZSZuYnNwO2RldmljZSZuYnNwO3dpdGgmbmJzcDtjb21wcmVzc2Rldi48YnIgLz4rJm5ic3A7 KiZuYnNwO1RoZSZuYnNwO2FjdHVhbCZuYnNwO3pzZGEmbmJzcDtwY2kmYXBvcztzJm5ic3A7cnRl X2RyaXZlciZuYnNwO2NhbiZhcG9zO3QmbmJzcDtiZSZuYnNwO3VzZWQmbmJzcDthcyZuYnNwO2l0 cyZuYnNwO25hbWUmbmJzcDtyZXByZXNlbnRzPGJyIC8+KyZuYnNwOyombmJzcDt0aGUmbmJzcDt3 aG9sZSZuYnNwO3BjaSZuYnNwO2RldmljZSZuYnNwO3dpdGgmbmJzcDthbGwmbmJzcDtzZXJ2aWNl cy4mbmJzcDtUaGluayZuYnNwO29mJm5ic3A7dGhpcyZuYnNwO2FzJm5ic3A7YSZuYnNwO2hvbGRl ciZuYnNwO2ZvciZuYnNwO2EmbmJzcDtuYW1lPGJyIC8+KyZuYnNwOyombmJzcDtmb3ImbmJzcDt0 aGUmbmJzcDtjb21wcmVzc2lvbiZuYnNwO3BhcnQmbmJzcDtvZiZuYnNwO3RoZSZuYnNwO3BjaSZu YnNwO2RldmljZS48YnIgLz4rJm5ic3A7Ki88YnIgLz4rc3RhdGljJm5ic3A7Y29uc3QmbmJzcDtj aGFyJm5ic3A7enNkYV9jb21wX2Rydl9uYW1lW10mbmJzcDs9Jm5ic3A7UlRFX1NUUihDT01QUkVT U0RFVl9OQU1FX1pTREFfUE1EKTs8YnIgLz4rc3RhdGljJm5ic3A7Y29uc3QmbmJzcDtzdHJ1Y3Qm bmJzcDtydGVfZHJpdmVyJm5ic3A7Y29tcGRldl96c2RhX2RyaXZlciZuYnNwOz0mbmJzcDt7PGJy IC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOy5uYW1lJm5ic3A7PSZuYnNwO3pzZGFfY29tcF9k cnZfbmFtZSwmbmJzcDsuYWxpYXMmbmJzcDs9Jm5ic3A7enNkYV9jb21wX2Rydl9uYW1lfTs8YnIg Lz4rPGJyIC8+K3N0YXRpYyZuYnNwO3VpbnQxNl90PGJyIC8+K3pzZGFfY29tcF9wbWRfZW5xdWV1 ZV9vcF9idXJzdCh2b2lkJm5ic3A7KnFwLCZuYnNwO3N0cnVjdCZuYnNwO3J0ZV9jb21wX29wJm5i c3A7KipvcHMsPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwO3VpbnQxNl90Jm5ic3A7bmJfb3BzKTxiciAvPit7PGJyIC8+KyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwO3JldHVybiZuYnNwO3pzZGFfZW5xdWV1ZV9vcF9idXJzdCgoc3Ry dWN0Jm5ic3A7enNkYV9xcCZuYnNwOyopcXAsJm5ic3A7KHZvaWQmbmJzcDsqKilvcHMsPGJyIC8+ KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwO25iX29wcyk7PGJyIC8+K308YnIgLz4rPGJyIC8+K3N0YXRpYyZuYnNwO3Vp bnQxNl90PGJyIC8+K3pzZGFfY29tcF9wbWRfZGVxdWV1ZV9vcF9idXJzdCh2b2lkJm5ic3A7KnFw LCZuYnNwO3N0cnVjdCZuYnNwO3J0ZV9jb21wX29wJm5ic3A7KipvcHMsPGJyIC8+KyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3VpbnQxNl90 Jm5ic3A7bmJfb3BzKTxiciAvPit7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3JldHVy biZuYnNwO3pzZGFfZGVxdWV1ZV9vcF9idXJzdCgoc3RydWN0Jm5ic3A7enNkYV9xcCZuYnNwOyop cXAsJm5ic3A7KHZvaWQmbmJzcDsqKilvcHMsPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO25iX29wcyk7PGJy IC8+K308YnIgLz4rPGJyIC8+K2ludDxiciAvPit6c2RhX2NvbXBfZGV2X2NyZWF0ZShzdHJ1Y3Qm bmJzcDt6c2RhX3BjaV9kZXZpY2UmbmJzcDsqenNkYV9wY2lfZGV2KTxiciAvPit7PGJyIC8+KyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwO3N0cnVjdCZuYnNwO3pzZGFfZGV2aWNlX2luZm8mbmJzcDsq ZGV2X2luZm8mbmJzcDs9PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZhbXA7enNkYV9kZXZzW3pzZGFfcGNpX2Rldi0mZ3Q7enNkYV9kZXZfaWRd OzxiciAvPis8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7c3RydWN0Jm5ic3A7cnRlX2Nv bXByZXNzZGV2X3BtZF9pbml0X3BhcmFtcyZuYnNwO2luaXRfcGFyYW1zJm5ic3A7PSZuYnNwO3s8 YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Lm5h bWUmbmJzcDs9Jm5ic3A7JnF1b3Q7JnF1b3Q7LDxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsuc29ja2V0X2lkJm5ic3A7PSZuYnNwOyhpbnQpcnRl X3NvY2tldF9pZCgpLDxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt9OzxiciAvPis8YnIg Lz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Y2hhciZuYnNwO25hbWVbUlRFX0NPTVBSRVNTREVW X05BTUVfTUFYX0xFTl07PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2NoYXImbmJzcDtj YXBhX21lbXpfbmFtZVtSVEVfQ09NUFJFU1NERVZfTkFNRV9NQVhfTEVOXTs8YnIgLz4rJm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7c3RydWN0Jm5ic3A7cnRlX2NvbXByZXNzZGV2Jm5ic3A7KmNvbXBy ZXNzZGV2OzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtzdHJ1Y3QmbmJzcDt6c2RhX2Nv bXBfZGV2X3ByaXZhdGUmbmJzcDsqY29tcF9kZXY7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwO2NvbnN0Jm5ic3A7c3RydWN0Jm5ic3A7cnRlX2NvbXByZXNzZGV2X2NhcGFiaWxpdGllcyZu YnNwOypjYXBhYmlsaXRpZXM7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3VpbnQxNl90 Jm5ic3A7Y2FwYV9zaXplJm5ic3A7PSZuYnNwO3NpemVvZihzdHJ1Y3QmbmJzcDtydGVfY29tcHJl c3NkZXZfY2FwYWJpbGl0aWVzKTs8YnIgLz4rPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw O3NucHJpbnRmKG5hbWUsJm5ic3A7UlRFX0NPTVBSRVNTREVWX05BTUVfTUFYX0xFTiwmbmJzcDsm cXVvdDslc18lcyZxdW90Oyw8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7enNkYV9wY2lfZGV2LSZndDtuYW1lLCZuYnNwOyZxdW90O2Nv bXAmcXVvdDspOzxiciAvPis8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7aWYmbmJzcDso cnRlX2VhbF9wcm9jZXNzX3R5cGUoKSZuYnNwOyE9Jm5ic3A7UlRFX1BST0NfUFJJTUFSWSk8YnIg Lz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cmV0dXJu Jm5ic3A7MDs8YnIgLz4rPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2Rldl9pbmZvLSZn dDtjb21wX3J0ZV9kZXYuZHJpdmVyJm5ic3A7PSZuYnNwOyZhbXA7Y29tcGRldl96c2RhX2RyaXZl cjs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ZGV2X2luZm8tJmd0O2NvbXBfcnRlX2Rl di5udW1hX25vZGUmbmJzcDs9Jm5ic3A7ZGV2X2luZm8tJmd0O3BjaV9kZXYtJmd0O2RldmljZS5u dW1hX25vZGU7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2Rldl9pbmZvLSZndDtjb21w X3J0ZV9kZXYuZGV2YXJncyZuYnNwOz0mbmJzcDtOVUxMOzxiciAvPis8YnIgLz4rJm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Y29tcHJlc3NkZXYmbmJzcDs9Jm5ic3A7cnRlX2NvbXByZXNzZGV2X3Bt ZF9jcmVhdGUoPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwO25hbWUsJm5ic3A7JmFtcDsoZGV2X2luZm8tJmd0O2NvbXBfcnRlX2RldiksPGJyIC8+ KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3NpemVvZihz dHJ1Y3QmbmJzcDt6c2RhX2NvbXBfZGV2X3ByaXZhdGUpLCZuYnNwOyZhbXA7aW5pdF9wYXJhbXMp OzxiciAvPis8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7aWYmbmJzcDsoY29tcHJlc3Nk ZXYmbmJzcDs9PSZuYnNwO05VTEwpPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwO3JldHVybiZuYnNwOy1FTk9ERVY7PGJyIC8+KzxiciAvPismbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDtjb21wcmVzc2Rldi0mZ3Q7ZGV2X29wcyZuYnNwOz0mbmJzcDsm YW1wO2NvbXByZXNzX3pzZGFfb3BzOzxiciAvPis8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Y29tcHJlc3NkZXYtJmd0O2VucXVldWVfYnVyc3QmbmJzcDs9Jm5ic3A7enNkYV9jb21wX3Bt ZF9lbnF1ZXVlX29wX2J1cnN0OzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtjb21wcmVz c2Rldi0mZ3Q7ZGVxdWV1ZV9idXJzdCZuYnNwOz0mbmJzcDt6c2RhX2NvbXBfcG1kX2RlcXVldWVf b3BfYnVyc3Q7PGJyIC8+KzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtjb21wcmVzc2Rl di0mZ3Q7ZmVhdHVyZV9mbGFncyZuYnNwOz0mbmJzcDtSVEVfQ09NUERFVl9GRl9IV19BQ0NFTEVS QVRFRDs8YnIgLz4rPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3NucHJpbnRmKGNhcGFf bWVtel9uYW1lLCZuYnNwO1JURV9DT01QUkVTU0RFVl9OQU1FX01BWF9MRU4sPGJyIC8+KyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZxdW90O1pT REFfQ09NUF9DQVBBJnF1b3Q7KTs8YnIgLz4rPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw O2NvbXBfZGV2Jm5ic3A7PSZuYnNwO2NvbXByZXNzZGV2LSZndDtkYXRhLSZndDtkZXZfcHJpdmF0 ZTs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Y29tcF9kZXYtJmd0O3pzZGFfcGNpX2Rl diZuYnNwOz0mbmJzcDt6c2RhX3BjaV9kZXY7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw O2NvbXBfZGV2LSZndDtjb21wcmVzc2RldiZuYnNwOz0mbmJzcDtjb21wcmVzc2Rldjs8YnIgLz4r Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Y2FwYWJpbGl0aWVzJm5ic3A7PSZuYnNwO3pzZGFfY29t cF9jYXBhYmlsaXRpZXM7PGJyIC8+KzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtjb21w X2Rldi0mZ3Q7Y2FwYV9teiZuYnNwOz0mbmJzcDtydGVfbWVtem9uZV9sb29rdXAoY2FwYV9tZW16 X25hbWUpOzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtpZiZuYnNwOyhjb21wX2Rldi0m Z3Q7Y2FwYV9teiZuYnNwOz09Jm5ic3A7TlVMTCkmbmJzcDt7PGJyIC8+KyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2NvbXBfZGV2LSZndDtjYXBhX216Jm5i c3A7PSZuYnNwO3J0ZV9tZW16b25lX3Jlc2VydmUoPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2NhcGFf bWVtel9uYW1lLCZuYnNwO2NhcGFfc2l6ZSwmbmJzcDtydGVfc29ja2V0X2lkKCksJm5ic3A7MCk7 PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO308YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7aWYmbmJzcDsoY29tcF9kZXYtJmd0O2NhcGFfbXombmJzcDs9PSZuYnNwO05VTEwpJm5i c3A7ezxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDtaU0RBX0xPRyhERUJVRywmbmJzcDtFX01BTExPQyk7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO21lbXNldCgmYW1wO2Rldl9pbmZvLSZndDtj b21wX3J0ZV9kZXYsJm5ic3A7MCw8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7c2l6ZW9mKGRldl9pbmZvLSZndDtjb21wX3J0ZV9kZXYpKTs8YnIgLz4rJm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cnRlX2NvbXByZXNzZGV2X3BtZF9k ZXN0cm95KGNvbXByZXNzZGV2KTs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7cmV0dXJuJm5ic3A7LUVGQVVMVDs8YnIgLz4rJm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7fTxiciAvPis8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7bWVtY3B5 KGNvbXBfZGV2LSZndDtjYXBhX216LSZndDthZGRyLCZuYnNwO2NhcGFiaWxpdGllcywmbmJzcDtj YXBhX3NpemUpOzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtjb21wX2Rldi0mZ3Q7enNk YV9kZXZfY2FwYWJpbGl0aWVzJm5ic3A7PSZuYnNwO2NvbXBfZGV2LSZndDtjYXBhX216LSZndDth ZGRyOzxiciAvPis8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7enNkYV9wY2lfZGV2LSZn dDtjb21wX2RldiZuYnNwOz0mbmJzcDtjb21wX2Rldjs8YnIgLz4rPGJyIC8+KyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwO3JldHVybiZuYnNwO1pTREFfU1VDQ0VTUzs8YnIgLz4rfTxiciAvPis8YnIg Lz4raW50PGJyIC8+K3pzZGFfY29tcF9kZXZfZGVzdHJveShzdHJ1Y3QmbmJzcDt6c2RhX3BjaV9k ZXZpY2UmbmJzcDsqenNkYV9wY2lfZGV2KTxiciAvPit7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwO3N0cnVjdCZuYnNwO3pzZGFfY29tcF9kZXZfcHJpdmF0ZSZuYnNwOypjb21wX2Rldjs8 YnIgLz4rPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2lmJm5ic3A7KHpzZGFfcGNpX2Rl diZuYnNwOz09Jm5ic3A7TlVMTCk8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7cmV0dXJuJm5ic3A7LUVOT0RFVjs8YnIgLz4rPGJyIC8+KyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwO2NvbXBfZGV2Jm5ic3A7PSZuYnNwO3pzZGFfcGNpX2Rldi0mZ3Q7 Y29tcF9kZXY7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2lmJm5ic3A7KGNvbXBfZGV2 Jm5ic3A7PT0mbmJzcDtOVUxMKTxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDtyZXR1cm4mbmJzcDtaU0RBX1NVQ0NFU1M7PGJyIC8+KzxiciAvPism bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtpZiZuYnNwOyhydGVfZWFsX3Byb2Nlc3NfdHlwZSgpJm5i c3A7PT0mbmJzcDtSVEVfUFJPQ19QUklNQVJZKTxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtydGVfbWVtem9uZV9mcmVlKHpzZGFfcGNpX2Rldi0m Z3Q7Y29tcF9kZXYtJmd0O2NhcGFfbXopOzxiciAvPis8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7enNkYV9jb21wX2Rldl9jbG9zZShjb21wX2Rldi0mZ3Q7Y29tcHJlc3NkZXYpOzxiciAv Pis8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cnRlX2NvbXByZXNzZGV2X3BtZF9kZXN0 cm95KGNvbXBfZGV2LSZndDtjb21wcmVzc2Rldik7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwO3pzZGFfcGNpX2Rldi0mZ3Q7Y29tcF9kZXYmbmJzcDs9Jm5ic3A7TlVMTDs8YnIgLz4rPGJy IC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3JldHVybiZuYnNwO1pTREFfU1VDQ0VTUzs8YnIg Lz4rfTxiciAvPmRpZmYmbmJzcDstLWdpdCZuYnNwO2EvZHJpdmVycy9jb21wcmVzcy96c2RhL3pz ZGFfY29tcF9wbWQuaCZuYnNwO2IvZHJpdmVycy9jb21wcmVzcy96c2RhL3pzZGFfY29tcF9wbWQu aDxiciAvPmluZGV4Jm5ic3A7ZjA5Njg3OGQwOS4uZGE5MWNmMDZjMyZuYnNwOzEwMDY0NDxiciAv Pi0tLSZuYnNwO2EvZHJpdmVycy9jb21wcmVzcy96c2RhL3pzZGFfY29tcF9wbWQuaDxiciAvPisr KyZuYnNwO2IvZHJpdmVycy9jb21wcmVzcy96c2RhL3pzZGFfY29tcF9wbWQuaDxiciAvPkBAJm5i c3A7LTI3LDQmbmJzcDsrMjcsOCZuYnNwO0BAJm5ic3A7c3RydWN0Jm5ic3A7enNkYV9jb21wX2Rl dl9wcml2YXRlJm5ic3A7ezxiciAvPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOy8qJm5i c3A7U2hhcmVkJm5ic3A7bWVtem9uZSZuYnNwO2ZvciZuYnNwO3N0b3JpbmcmbmJzcDtjYXBhYmls aXRpZXMmbmJzcDsqLzxiciAvPiZuYnNwO307PGJyIC8+Jm5ic3A7DTxiciAvPitpbnQmbmJzcDt6 c2RhX2NvbXBfZGV2X2NyZWF0ZShzdHJ1Y3QmbmJzcDt6c2RhX3BjaV9kZXZpY2UmbmJzcDsqenNk YV9wY2lfZGV2KTs8YnIgLz4rPGJyIC8+K2ludCZuYnNwO3pzZGFfY29tcF9kZXZfZGVzdHJveShz dHJ1Y3QmbmJzcDt6c2RhX3BjaV9kZXZpY2UmbmJzcDsqenNkYV9wY2lfZGV2KTs8YnIgLz4rPGJy IC8+Jm5ic3A7I2VuZGlmJm5ic3A7LyombmJzcDtfWlNEQV9DT01QX1BNRF9IXyZuYnNwOyovPGJy IC8+LS0mbmJzcDsNPGJyIC8+Mi4yNy4wPGJyIC8+ --=====_003_next=====-- --=====_002_next=====-- --=====_001_next=====--