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 86947A0C45 for ; Mon, 13 Sep 2021 20:15:36 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9071941159; Mon, 13 Sep 2021 20:15:35 +0200 (CEST) Received: from mail-oi1-f227.google.com (mail-oi1-f227.google.com [209.85.167.227]) by mails.dpdk.org (Postfix) with ESMTP id 65A4C41121 for ; Mon, 13 Sep 2021 20:15:26 +0200 (CEST) Received: by mail-oi1-f227.google.com with SMTP id r26so15243350oij.2 for ; Mon, 13 Sep 2021 11:15:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iol.unh.edu; s=unh-iol; h=mime-version:subject:from:to:cc:message-id:date; bh=k+DxC9CnWmxzBhxUk1t0medaZ0D5WXwKU9YNOlQVhA4=; b=X78gLOmKpd/b2LGVhLkRimfY/5zmrfeSx5Tha69DiPbSnkfSqYulPfw9BqV8uE7yck vPKolAEWha34qG5DC/Yyi4qi8hL6i5JpkUi5iDalIOjszohsDLwNhOKZWE0GoXW2ompK AT+uLOUqUZWzGLs/ZdHFqSHmTMHAjoygb6eas= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:subject:from:to:cc:message-id:date; bh=k+DxC9CnWmxzBhxUk1t0medaZ0D5WXwKU9YNOlQVhA4=; b=x2H6rePPGinadSA9MMJQJ/4A2qzgJtVyVll4kBPBw/G9uX1euKAveBRO1H/4mneQJ7 bW9s6pVn/s096B8HpT0XttUvJhM/8eOVWCvbpE+RJ3uUc0cy+XnwJlFWsmaZmk1JnNZJ qqjjQgNAOv3DAT42flcPKUmX4opfbPNXLTawH8CHbgR2dmBoazFZAHgUlSnDNeUxDX05 itWbTmIOb5GXjqBbodJKrmFDnTZUroHDx9ezpKxsDyIO8vjR3ZT/dD3F4fHi5EUysFLF mEf7KZQIP/UDjCIAfxzp7vSTCbF0XwBg75MZWl6HfSKp/NoWXK/K8TXHHqQZjIkc0li0 DvYA== X-Gm-Message-State: AOAM5322kQv73XsDGmUzw1TgqIjgDNvWTUX1QpZBglf//CYFB2gILSST IxV+ONlOS04rRxgqrGV2NC0DsmO96R6EtkiqSu12jxJ6cjdvm0yyv7WAT5zQ8AsCfA== X-Google-Smtp-Source: ABdhPJzp/gaV3U62Croqd8aVKPleweBFDlwTcs5o3CR8ZdfB+Dqwiv083lY0vL4fYvZZsAW5UaSaPBLTg1M5 X-Received: by 2002:a05:6808:1243:: with SMTP id o3mr8970606oiv.146.1631556925855; Mon, 13 Sep 2021 11:15:25 -0700 (PDT) Received: from postal.iol.unh.edu (postal.iol.unh.edu. [2606:4100:3880:1234::84]) by smtp-relay.gmail.com with ESMTPS id v6sm2288759ooa.9.2021.09.13.11.15.25 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 13 Sep 2021 11:15:25 -0700 (PDT) X-Relaying-Domain: iol.unh.edu Received: from noxus.dpdklab.iol.unh.edu (targon.iol.unh.edu [132.177.125.242]) by postal.iol.unh.edu (Postfix) with ESMTP id 401EA605248B; Mon, 13 Sep 2021 14:15:25 -0400 (EDT) Received: from noxus.dpdklab.iol.unh.edu (localhost [IPv6:::1]) by noxus.dpdklab.iol.unh.edu (Postfix) with ESMTP id 25F5888E6A; Mon, 13 Sep 2021 14:15:25 -0400 (EDT) Content-Type: multipart/mixed; boundary="===============7966264870917206792==" MIME-Version: 1.0 From: dpdklab@iol.unh.edu To: test-report@dpdk.org Cc: dpdk-test-reports@iol.unh.edu Message-Id: <20210913181525.25F5888E6A@noxus.dpdklab.iol.unh.edu> Date: Mon, 13 Sep 2021 14:15:25 -0400 (EDT) Subject: [dpdk-test-report] |WARNING| pw98771-98794 [PATCH] [V3, 24/24] pipeline: enable pipeline compilation X-BeenThere: test-report@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: automatic DPDK test reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: test-report-bounces@dpdk.org Sender: "test-report" --===============7966264870917206792== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGVzdC1MYWJlbDogaW9sLXRlc3RpbmcKVGVzdC1TdGF0dXM6IFdBUk5JTkcKaHR0cDovL2RwZGsu b3JnL3BhdGNoLzk4NzcxCgpfYXBwbHkgcGF0Y2ggZmFpbHVyZV8KClN1Ym1pdHRlcjogRHVtaXRy ZXNjdSwgQ3Jpc3RpYW4gPGNyaXN0aWFuLmR1bWl0cmVzY3VAaW50ZWwuY29tPgpEYXRlOiBNb25k YXksIFNlcHRlbWJlciAxMyAyMDIxIDE2OjQ0OjQzIApBcHBsaWVkIG9uOiBDb21taXRJRDo5NjJi YmIwYjdmNTZhYjk4MmQ2MzM3YzliYWUwNWUxYjEwNWY4YmRkCkFwcGx5IHBhdGNoIHNldCA5ODc3 MS05ODc5NCBmYWlsZWQ6CgpDaGVja2luZyBwYXRjaCBsaWIvcGlwZWxpbmUvcnRlX3N3eF9waXBl bGluZS5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgogKiBDb3B5cmlnaHQoYykgMjAy MCBJbnRlbCBDb3Jwb3JhdGlvbgogKi8KI2luY2x1ZGUgPHN0ZGxpYi5oPgojaW5jbHVkZSA8c3Ry aW5nLmg+CiNpbmNsdWRlIDxzdGRpby5oPgojaW5jbHVkZSA8ZXJybm8uaD4KI2luY2x1ZGUgPGlu dHR5cGVzLmg+CiNpbmNsdWRlIDxzeXMvcXVldWUuaD4KI2luY2x1ZGUgPGFycGEvaW5ldC5oPgoK I2luY2x1ZGUgPHJ0ZV9jb21tb24uaD4KI2luY2x1ZGUgPHJ0ZV9wcmVmZXRjaC5oPgojaW5jbHVk ZSA8cnRlX2J5dGVvcmRlci5oPgojaW5jbHVkZSA8cnRlX2N5Y2xlcy5oPgojaW5jbHVkZSA8cnRl X21ldGVyLmg+CgojaW5jbHVkZSA8cnRlX3N3eF90YWJsZV9zZWxlY3Rvci5oPgojaW5jbHVkZSA8 cnRlX3N3eF90YWJsZV9sZWFybmVyLmg+CgojaW5jbHVkZSAicnRlX3N3eF9waXBlbGluZS5oIgoj aW5jbHVkZSAicnRlX3N3eF9jdGwuaCIKCiNkZWZpbmUgQ0hFQ0soY29uZGl0aW9uLCBlcnJfY29k ZSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCmRvIHsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBcCgplcnJvcjogcGF0Y2ggZmFpbGVkOiBsaWIvcGlwZWxpbmUvcnRlX3N3 eF9waXBlbGluZS5jOjIKSHVuayAjMiBzdWNjZWVkZWQgYXQgMzkgKG9mZnNldCAxMiBsaW5lcyku CmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoKI2VuZGlmCgovKgogKiBTdHJ1Y3QuCiAqLwpz dHJ1Y3QgZmllbGQgewoJY2hhciBuYW1lW1JURV9TV1hfTkFNRV9TSVpFXTsKCXVpbnQzMl90IG5f Yml0czsKCXVpbnQzMl90IG9mZnNldDsKCWludCB2YXJfc2l6ZTsKfTsKCnN0cnVjdCBzdHJ1Y3Rf dHlwZSB7CglUQUlMUV9FTlRSWShzdHJ1Y3RfdHlwZSkgbm9kZTsKCWNoYXIgbmFtZVtSVEVfU1dY X05BTUVfU0laRV07CglzdHJ1Y3QgZmllbGQgKmZpZWxkczsKCXVpbnQzMl90IG5fZmllbGRzOwoJ dWludDMyX3Qgbl9iaXRzOwoJdWludDMyX3Qgbl9iaXRzX21pbjsKCWludCB2YXJfc2l6ZTsKfTsK ClRBSUxRX0hFQUQoc3RydWN0X3R5cGVfdGFpbHEsIHN0cnVjdF90eXBlKTsKCi8qCiAqIElucHV0 IHBvcnQuCiAqLwpzdHJ1Y3QgcG9ydF9pbl90eXBlIHsKCVRBSUxRX0VOVFJZKHBvcnRfaW5fdHlw ZSkgbm9kZTsKCWNoYXIgbmFtZVtSVEVfU1dYX05BTUVfU0laRV07CglzdHJ1Y3QgcnRlX3N3eF9w b3J0X2luX29wcyBvcHM7Cn07CgpUQUlMUV9IRUFEKHBvcnRfaW5fdHlwZV90YWlscSwgcG9ydF9p bl90eXBlKTsKCnN0cnVjdCBwb3J0X2luIHsKCVRBSUxRX0VOVFJZKHBvcnRfaW4pIG5vZGU7Cglz dHJ1Y3QgcG9ydF9pbl90eXBlICp0eXBlOwoJdm9pZCAqb2JqOwoJdWludDMyX3QgaWQ7Cn07CgpU QUlMUV9IRUFEKHBvcnRfaW5fdGFpbHEsIHBvcnRfaW4pOwoKc3RydWN0IHBvcnRfaW5fcnVudGlt ZSB7CglydGVfc3d4X3BvcnRfaW5fcGt0X3J4X3QgcGt0X3J4OwoJdm9pZCAqb2JqOwp9OwoKLyoK ICogT3V0cHV0IHBvcnQuCiAqLwpzdHJ1Y3QgcG9ydF9vdXRfdHlwZSB7CglUQUlMUV9FTlRSWShw b3J0X291dF90eXBlKSBub2RlOwoJY2hhciBuYW1lW1JURV9TV1hfTkFNRV9TSVpFXTsKCXN0cnVj dCBydGVfc3d4X3BvcnRfb3V0X29wcyBvcHM7Cn07CgpUQUlMUV9IRUFEKHBvcnRfb3V0X3R5cGVf dGFpbHEsIHBvcnRfb3V0X3R5cGUpOwoKc3RydWN0IHBvcnRfb3V0IHsKCVRBSUxRX0VOVFJZKHBv cnRfb3V0KSBub2RlOwoJc3RydWN0IHBvcnRfb3V0X3R5cGUgKnR5cGU7Cgl2b2lkICpvYmo7Cgl1 aW50MzJfdCBpZDsKfTsKClRBSUxRX0hFQUQocG9ydF9vdXRfdGFpbHEsIHBvcnRfb3V0KTsKCnN0 cnVjdCBwb3J0X291dF9ydW50aW1lIHsKCXJ0ZV9zd3hfcG9ydF9vdXRfcGt0X3R4X3QgcGt0X3R4 OwoJcnRlX3N3eF9wb3J0X291dF9mbHVzaF90IGZsdXNoOwoJdm9pZCAqb2JqOwp9OwoKLyoKICog RXh0ZXJuIG9iamVjdC4KICovCnN0cnVjdCBleHRlcm5fdHlwZV9tZW1iZXJfZnVuYyB7CglUQUlM UV9FTlRSWShleHRlcm5fdHlwZV9tZW1iZXJfZnVuYykgbm9kZTsKCWNoYXIgbmFtZVtSVEVfU1dY X05BTUVfU0laRV07CglydGVfc3d4X2V4dGVybl90eXBlX21lbWJlcl9mdW5jX3QgZnVuYzsKCXVp bnQzMl90IGlkOwp9OwoKVEFJTFFfSEVBRChleHRlcm5fdHlwZV9tZW1iZXJfZnVuY190YWlscSwg ZXh0ZXJuX3R5cGVfbWVtYmVyX2Z1bmMpOwoKc3RydWN0IGV4dGVybl90eXBlIHsKCVRBSUxRX0VO VFJZKGV4dGVybl90eXBlKSBub2RlOwoJY2hhciBuYW1lW1JURV9TV1hfTkFNRV9TSVpFXTsKCXN0 cnVjdCBzdHJ1Y3RfdHlwZSAqbWFpbGJveF9zdHJ1Y3RfdHlwZTsKCXJ0ZV9zd3hfZXh0ZXJuX3R5 cGVfY29uc3RydWN0b3JfdCBjb25zdHJ1Y3RvcjsKCXJ0ZV9zd3hfZXh0ZXJuX3R5cGVfZGVzdHJ1 Y3Rvcl90IGRlc3RydWN0b3I7CglzdHJ1Y3QgZXh0ZXJuX3R5cGVfbWVtYmVyX2Z1bmNfdGFpbHEg ZnVuY3M7Cgl1aW50MzJfdCBuX2Z1bmNzOwp9OwoKVEFJTFFfSEVBRChleHRlcm5fdHlwZV90YWls cSwgZXh0ZXJuX3R5cGUpOwoKc3RydWN0IGV4dGVybl9vYmogewoJVEFJTFFfRU5UUlkoZXh0ZXJu X29iaikgbm9kZTsKCWNoYXIgbmFtZVtSVEVfU1dYX05BTUVfU0laRV07CglzdHJ1Y3QgZXh0ZXJu X3R5cGUgKnR5cGU7Cgl2b2lkICpvYmo7Cgl1aW50MzJfdCBzdHJ1Y3RfaWQ7Cgl1aW50MzJfdCBp ZDsKfTsKClRBSUxRX0hFQUQoZXh0ZXJuX29ial90YWlscSwgZXh0ZXJuX29iaik7CgojaWZuZGVm IFJURV9TV1hfRVhURVJOX1RZUEVfTUVNQkVSX0ZVTkNTX01BWAojZGVmaW5lIFJURV9TV1hfRVhU RVJOX1RZUEVfTUVNQkVSX0ZVTkNTX01BWCA4CiNlbmRpZgoKc3RydWN0IGV4dGVybl9vYmpfcnVu dGltZSB7Cgl2b2lkICpvYmo7Cgl1aW50OF90ICptYWlsYm94OwoJcnRlX3N3eF9leHRlcm5fdHlw ZV9tZW1iZXJfZnVuY190IGZ1bmNzW1JURV9TV1hfRVhURVJOX1RZUEVfTUVNQkVSX0ZVTkNTX01B WF07Cn07CgovKgogKiBFeHRlcm4gZnVuY3Rpb24uCiAqLwpzdHJ1Y3QgZXh0ZXJuX2Z1bmMgewoJ VEFJTFFfRU5UUlkoZXh0ZXJuX2Z1bmMpIG5vZGU7CgljaGFyIG5hbWVbUlRFX1NXWF9OQU1FX1NJ WkVdOwoJc3RydWN0IHN0cnVjdF90eXBlICptYWlsYm94X3N0cnVjdF90eXBlOwoJcnRlX3N3eF9l eHRlcm5fZnVuY190IGZ1bmM7Cgl1aW50MzJfdCBzdHJ1Y3RfaWQ7Cgl1aW50MzJfdCBpZDsKfTsK ClRBSUxRX0hFQUQoZXh0ZXJuX2Z1bmNfdGFpbHEsIGV4dGVybl9mdW5jKTsKCnN0cnVjdCBleHRl cm5fZnVuY19ydW50aW1lIHsKCXVpbnQ4X3QgKm1haWxib3g7CglydGVfc3d4X2V4dGVybl9mdW5j X3QgZnVuYzsKfTsKCi8qCiAqIEhlYWRlci4KICovCnN0cnVjdCBoZWFkZXIgewoJVEFJTFFfRU5U UlkoaGVhZGVyKSBub2RlOwoJY2hhciBuYW1lW1JURV9TV1hfTkFNRV9TSVpFXTsKCXN0cnVjdCBz dHJ1Y3RfdHlwZSAqc3Q7Cgl1aW50MzJfdCBzdHJ1Y3RfaWQ7Cgl1aW50MzJfdCBpZDsKfTsKClRB SUxRX0hFQUQoaGVhZGVyX3RhaWxxLCBoZWFkZXIpOwoKc3RydWN0IGhlYWRlcl9ydW50aW1lIHsK CXVpbnQ4X3QgKnB0cjA7Cgl1aW50MzJfdCBuX2J5dGVzOwp9OwoKc3RydWN0IGhlYWRlcl9vdXRf cnVudGltZSB7Cgl1aW50OF90ICpwdHIwOwoJdWludDhfdCAqcHRyOwoJdWludDMyX3Qgbl9ieXRl czsKfTsKCi8qCiAqIEluc3RydWN0aW9uLgogKi8KCi8qIFBhY2tldCBoZWFkZXJzIGFyZSBhbHdh eXMgaW4gTmV0d29yayBCeXRlIE9yZGVyIChOQk8pLCBpLmUuIGJpZyBlbmRpYW4uCiAqIFBhY2tl dCBtZXRhLWRhdGEgZmllbGRzIGFyZSBhbHdheXMgYXNzdW1lZCB0byBiZSBpbiBIb3N0IEJ5dGUg T3JkZXIgKEhCTykuCiAqIFRhYmxlIGVudHJ5IGZpZWxkcyBjYW4gYmUgaW4gZWl0aGVyIE5CTyBv ciBIQk87IHRoZXkgYXJlIGFzc3VtZWQgdG8gYmUgaW4gSEJPCiAqIHdoZW4gdHJhbnNmZXJyZWQg dG8gcGFja2V0IG1ldGEtZGF0YSBhbmQgaW4gTkJPIHdoZW4gdHJhbnNmZXJyZWQgdG8gcGFja2V0 CiAqIGhlYWRlcnMuCiAqLwoKLyogTm90YXRpb24gY29udmVudGlvbnM6CiAqICAgIC1IZWFkZXIg ZmllbGQ6IEggPSBoLmhlYWRlci5maWVsZCAoZHN0L3NyYykKICogICAgLU1ldGEtZGF0YSBmaWVs ZDogTSA9IG0uZmllbGQgKGRzdC9zcmMpCiAqICAgIC1FeHRlcm4gb2JqZWN0IG1haWxib3ggZmll bGQ6IEUgPSBlLmZpZWxkIChkc3Qvc3JjKQogKiAgICAtRXh0ZXJuIGZ1bmN0aW9uIG1haWxib3gg ZmllbGQ6IEYgPSBmLmZpZWxkIChkc3Qvc3JjKQogKiAgICAtVGFibGUgYWN0aW9uIGRhdGEgZmll bGQ6IFQgPSB0LmZpZWxkIChzcmMgb25seSkKICogICAgLUltbWVkaWF0ZSB2YWx1ZTogSSA9IDMy LWJpdCB1bnNpZ25lZCB2YWx1ZSAoc3JjIG9ubHkpCiAqLwoKZW51bSBpbnN0cnVjdGlvbl90eXBl IHsKCS8qIHJ4IG0ucG9ydF9pbiAqLwoJSU5TVFJfUlgsCgoJLyogdHggcG9ydF9vdXQKCSAqIHBv cnRfb3V0ID0gTUkKCSAqLwoJSU5TVFJfVFgsICAgLyogcG9ydF9vdXQgPSBNICovCglJTlNUUl9U WF9JLCAvKiBwb3J0X291dCA9IEkgKi8KCgkvKiBleHRyYWN0IGguaGVhZGVyICovCglJTlNUUl9I RFJfRVhUUkFDVCwKCUlOU1RSX0hEUl9FWFRSQUNUMiwKCUlOU1RSX0hEUl9FWFRSQUNUMywKCUlO U1RSX0hEUl9FWFRSQUNUNCwKCUlOU1RSX0hEUl9FWFRSQUNUNSwKCUlOU1RSX0hEUl9FWFRSQUNU NiwKCUlOU1RSX0hEUl9FWFRSQUNUNywKCUlOU1RSX0hEUl9FWFRSQUNUOCwKCgkvKiBleHRyYWN0 IGguaGVhZGVyIG0ubGFzdF9maWVsZF9zaXplICovCglJTlNUUl9IRFJfRVhUUkFDVF9NLAoKCS8K ZXJyb3I6IHBhdGNoIGZhaWxlZDogbGliL3BpcGVsaW5lL3J0ZV9zd3hfcGlwZWxpbmUuYzoxMDMK Q2hlY2tpbmcgcGF0Y2ggbGliL3BpcGVsaW5lL3J0ZV9zd3hfcGlwZWxpbmVfaW50ZXJuYWwuaC4u LgpBcHBseWluZyBwYXRjaCBsaWIvcGlwZWxpbmUvcnRlX3N3eF9waXBlbGluZS5jIHdpdGggMiBy ZWplY3RzLi4uClJlamVjdGVkIGh1bmsgIzEuCkh1bmsgIzIgYXBwbGllZCBjbGVhbmx5LgpSZWpl Y3RlZCBodW5rICMzLgpBcHBsaWVkIHBhdGNoIGxpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVsaW5l X2ludGVybmFsLmggY2xlYW5seS4KZGlmZiBhL2xpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVsaW5l LmMgYi9saWIvcGlwZWxpbmUvcnRlX3N3eF9waXBlbGluZS5jCShyZWplY3RlZCBodW5rcykKQEAg LTIsMjQgKzIsMTEgQEAKICAqIENvcHlyaWdodChjKSAyMDIwIEludGVsIENvcnBvcmF0aW9uCiAg Ki8KICNpbmNsdWRlIDxzdGRsaWIuaD4KLSNpbmNsdWRlIDxzdHJpbmcuaD4KICNpbmNsdWRlIDxz dGRpby5oPgogI2luY2x1ZGUgPGVycm5vLmg+Ci0jaW5jbHVkZSA8aW50dHlwZXMuaD4KLSNpbmNs dWRlIDxzeXMvcXVldWUuaD4KICNpbmNsdWRlIDxhcnBhL2luZXQuaD4KIAotI2luY2x1ZGUgPHJ0 ZV9jb21tb24uaD4KLSNpbmNsdWRlIDxydGVfcHJlZmV0Y2guaD4KLSNpbmNsdWRlIDxydGVfYnl0 ZW9yZGVyLmg+Ci0jaW5jbHVkZSA8cnRlX2N5Y2xlcy5oPgotI2luY2x1ZGUgPHJ0ZV9tZXRlci5o PgotCi0jaW5jbHVkZSA8cnRlX3N3eF90YWJsZV9zZWxlY3Rvci5oPgotI2luY2x1ZGUgPHJ0ZV9z d3hfdGFibGVfbGVhcm5lci5oPgotCi0jaW5jbHVkZSAicnRlX3N3eF9waXBlbGluZS5oIgotI2lu Y2x1ZGUgInJ0ZV9zd3hfY3RsLmgiCisjaW5jbHVkZSAicnRlX3N3eF9waXBlbGluZV9pbnRlcm5h bC5oIgogCiAjZGVmaW5lIENIRUNLKGNvbmRpdGlvbiwgZXJyX2NvZGUpICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogZG8geyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK QEAgLTEwMywxMzUxICs3Nyw2IEBAIGVudl9mcmVlKHZvaWQgKnN0YXJ0LCBzaXplX3Qgc2l6ZSkK IAogI2VuZGlmCiAKLS8qCi0gKiBTdHJ1Y3QuCi0gKi8KLXN0cnVjdCBmaWVsZCB7Ci0JY2hhciBu YW1lW1JURV9TV1hfTkFNRV9TSVpFXTsKLQl1aW50MzJfdCBuX2JpdHM7Ci0JdWludDMyX3Qgb2Zm c2V0OwotCWludCB2YXJfc2l6ZTsKLX07Ci0KLXN0cnVjdCBzdHJ1Y3RfdHlwZSB7Ci0JVEFJTFFf RU5UUlkoc3RydWN0X3R5cGUpIG5vZGU7Ci0JY2hhciBuYW1lW1JURV9TV1hfTkFNRV9TSVpFXTsK LQlzdHJ1Y3QgZmllbGQgKmZpZWxkczsKLQl1aW50MzJfdCBuX2ZpZWxkczsKLQl1aW50MzJfdCBu X2JpdHM7Ci0JdWludDMyX3Qgbl9iaXRzX21pbjsKLQlpbnQgdmFyX3NpemU7Ci19OwotCi1UQUlM UV9IRUFEKHN0cnVjdF90eXBlX3RhaWxxLCBzdHJ1Y3RfdHlwZSk7Ci0KLS8qCi0gKiBJbnB1dCBw b3J0LgotICovCi1zdHJ1Y3QgcG9ydF9pbl90eXBlIHsKLQlUQUlMUV9FTlRSWShwb3J0X2luX3R5 cGUpIG5vZGU7Ci0JY2hhciBuYW1lW1JURV9TV1hfTkFNRV9TSVpFXTsKLQlzdHJ1Y3QgcnRlX3N3 eF9wb3J0X2luX29wcyBvcHM7Ci19OwotCi1UQUlMUV9IRUFEKHBvcnRfaW5fdHlwZV90YWlscSwg cG9ydF9pbl90eXBlKTsKLQotc3RydWN0IHBvcnRfaW4gewotCVRBSUxRX0VOVFJZKHBvcnRfaW4p IG5vZGU7Ci0Jc3RydWN0IHBvcnRfaW5fdHlwZSAqdHlwZTsKLQl2b2lkICpvYmo7Ci0JdWludDMy X3QgaWQ7Ci19OwotCi1UQUlMUV9IRUFEKHBvcnRfaW5fdGFpbHEsIHBvcnRfaW4pOwotCi1zdHJ1 Y3QgcG9ydF9pbl9ydW50aW1lIHsKLQlydGVfc3d4X3BvcnRfaW5fcGt0X3J4X3QgcGt0X3J4Owot CXZvaWQgKm9iajsKLX07Ci0KLS8qCi0gKiBPdXRwdXQgcG9ydC4KLSAqLwotc3RydWN0IHBvcnRf b3V0X3R5cGUgewotCVRBSUxRX0VOVFJZKHBvcnRfb3V0X3R5cGUpIG5vZGU7Ci0JY2hhciBuYW1l W1JURV9TV1hfTkFNRV9TSVpFXTsKLQlzdHJ1Y3QgcnRlX3N3eF9wb3J0X291dF9vcHMgb3BzOwot fTsKLQotVEFJTFFfSEVBRChwb3J0X291dF90eXBlX3RhaWxxLCBwb3J0X291dF90eXBlKTsKLQot c3RydWN0IHBvcnRfb3V0IHsKLQlUQUlMUV9FTlRSWShwb3J0X291dCkgbm9kZTsKLQlzdHJ1Y3Qg cG9ydF9vdXRfdHlwZSAqdHlwZTsKLQl2b2lkICpvYmo7Ci0JdWludDMyX3QgaWQ7Ci19OwotCi1U QUlMUV9IRUFEKHBvcnRfb3V0X3RhaWxxLCBwb3J0X291dCk7Ci0KLXN0cnVjdCBwb3J0X291dF9y dW50aW1lIHsKLQlydGVfc3d4X3BvcnRfb3V0X3BrdF90eF90IHBrdF90eDsKLQlydGVfc3d4X3Bv cnRfb3V0X2ZsdXNoX3QgZmx1c2g7Ci0Jdm9pZCAqb2JqOwotfTsKLQotLyoKLSAqIEV4dGVybiBv YmplY3QuCi0gKi8KLXN0cnVjdCBleHRlcm5fdHlwZV9tZW1iZXJfZnVuYyB7Ci0JVEFJTFFfRU5U UlkoZXh0ZXJuX3R5cGVfbWVtYmVyX2Z1bmMpIG5vZGU7Ci0JY2hhciBuYW1lW1JURV9TV1hfTkFN RV9TSVpFXTsKLQlydGVfc3d4X2V4dGVybl90eXBlX21lbWJlcl9mdW5jX3QgZnVuYzsKLQl1aW50 MzJfdCBpZDsKLX07Ci0KLVRBSUxRX0hFQUQoZXh0ZXJuX3R5cGVfbWVtYmVyX2Z1bmNfdGFpbHEs IGV4dGVybl90eXBlX21lbWJlcl9mdW5jKTsKLQotc3RydWN0IGV4dGVybl90eXBlIHsKLQlUQUlM UV9FTlRSWShleHRlcm5fdHlwZSkgbm9kZTsKLQljaGFyIG5hbWVbUlRFX1NXWF9OQU1FX1NJWkVd OwotCXN0cnVjdCBzdHJ1Y3RfdHlwZSAqbWFpbGJveF9zdHJ1Y3RfdHlwZTsKLQlydGVfc3d4X2V4 dGVybl90eXBlX2NvbnN0cnVjdG9yX3QgY29uc3RydWN0b3I7Ci0JcnRlX3N3eF9leHRlcm5fdHlw ZV9kZXN0cnVjdG9yX3QgZGVzdHJ1Y3RvcjsKLQlzdHJ1Y3QgZXh0ZXJuX3R5cGVfbWVtYmVyX2Z1 bmNfdGFpbHEgZnVuY3M7Ci0JdWludDMyX3Qgbl9mdW5jczsKLX07Ci0KLVRBSUxRX0hFQUQoZXh0 ZXJuX3R5cGVfdGFpbHEsIGV4dGVybl90eXBlKTsKLQotc3RydWN0IGV4dGVybl9vYmogewotCVRB SUxRX0VOVFJZKGV4dGVybl9vYmopIG5vZGU7Ci0JY2hhciBuYW1lW1JURV9TV1hfTkFNRV9TSVpF XTsKLQlzdHJ1Y3QgZXh0ZXJuX3R5cGUgKnR5cGU7Ci0Jdm9pZCAqb2JqOwotCXVpbnQzMl90IHN0 cnVjdF9pZDsKLQl1aW50MzJfdCBpZDsKLX07Ci0KLVRBSUxRX0hFQUQoZXh0ZXJuX29ial90YWls cSwgZXh0ZXJuX29iaik7Ci0KLSNpZm5kZWYgUlRFX1NXWF9FWFRFUk5fVFlQRV9NRU1CRVJfRlVO Q1NfTUFYCi0jZGVmaW5lIFJURV9TV1hfRVhURVJOX1RZUEVfTUVNQkVSX0ZVTkNTX01BWCA4Ci0j ZW5kaWYKLQotc3RydWN0IGV4dGVybl9vYmpfcnVudGltZSB7Ci0Jdm9pZCAqb2JqOwotCXVpbnQ4 X3QgKm1haWxib3g7Ci0JcnRlX3N3eF9leHRlcm5fdHlwZV9tZW1iZXJfZnVuY190IGZ1bmNzW1JU RV9TV1hfRVhURVJOX1RZUEVfTUVNQkVSX0ZVTkNTX01BWF07Ci19OwotCi0vKgotICogRXh0ZXJu IGZ1bmN0aW9uLgotICovCi1zdHJ1Y3QgZXh0ZXJuX2Z1bmMgewotCVRBSUxRX0VOVFJZKGV4dGVy bl9mdW5jKSBub2RlOwotCWNoYXIgbmFtZVtSVEVfU1dYX05BTUVfU0laRV07Ci0Jc3RydWN0IHN0 cnVjdF90eXBlICptYWlsYm94X3N0cnVjdF90eXBlOwotCXJ0ZV9zd3hfZXh0ZXJuX2Z1bmNfdCBm dW5jOwotCXVpbnQzMl90IHN0cnVjdF9pZDsKLQl1aW50MzJfdCBpZDsKLX07Ci0KLVRBSUxRX0hF QUQoZXh0ZXJuX2Z1bmNfdGFpbHEsIGV4dGVybl9mdW5jKTsKLQotc3RydWN0IGV4dGVybl9mdW5j X3J1bnRpbWUgewotCXVpbnQ4X3QgKm1haWxib3g7Ci0JcnRlX3N3eF9leHRlcm5fZnVuY190IGZ1 bmM7Ci19OwotCi0vKgotICogSGVhZGVyLgotICovCi1zdHJ1Y3QgaGVhZGVyIHsKLQlUQUlMUV9F TlRSWShoZWFkZXIpIG5vZGU7Ci0JY2hhciBuYW1lW1JURV9TV1hfTkFNRV9TSVpFXTsKLQlzdHJ1 Y3Qgc3RydWN0X3R5cGUgKnN0OwotCXVpbnQzMl90IHN0cnVjdF9pZDsKLQl1aW50MzJfdCBpZDsK LX07Ci0KLVRBSUxRX0hFQUQoaGVhZGVyX3RhaWxxLCBoZWFkZXIpOwotCi1zdHJ1Y3QgaGVhZGVy X3J1bnRpbWUgewotCXVpbnQ4X3QgKnB0cjA7Ci0JdWludDMyX3Qgbl9ieXRlczsKLX07Ci0KLXN0 cnVjdCBoZWFkZXJfb3V0X3J1bnRpbWUgewotCXVpbnQ4X3QgKnB0cjA7Ci0JdWludDhfdCAqcHRy OwotCXVpbnQzMl90IG5fYnl0ZXM7Ci19OwotCi0vKgotICogSW5zdHJ1Y3Rpb24uCi0gKi8KLQot LyogUGFja2V0IGhlYWRlcnMgYXJlIGFsd2F5cyBpbiBOZXR3b3JrIEJ5dGUgT3JkZXIgKE5CTyks IGkuZS4gYmlnIGVuZGlhbi4KLSAqIFBhY2tldCBtZXRhLWRhdGEgZmllbGRzIGFyZSBhbHdheXMg YXNzdW1lZCB0byBiZSBpbiBIb3N0IEJ5dGUgT3JkZXIgKEhCTykuCi0gKiBUYWJsZSBlbnRyeSBm aWVsZHMgY2FuIGJlIGluIGVpdGhlciBOQk8gb3IgSEJPOyB0aGV5IGFyZSBhc3N1bWVkIHRvIGJl IGluIEhCTwotICogd2hlbiB0cmFuc2ZlcnJlZCB0byBwYWNrZXQgbWV0YS1kYXRhIGFuZCBpbiBO Qk8gd2hlbiB0cmFuc2ZlcnJlZCB0byBwYWNrZXQKLSAqIGhlYWRlcnMuCi0gKi8KLQotLyogTm90 YXRpb24gY29udmVudGlvbnM6Ci0gKiAgICAtSGVhZGVyIGZpZWxkOiBIID0gaC5oZWFkZXIuZmll bGQgKGRzdC9zcmMpCi0gKiAgICAtTWV0YS1kYXRhIGZpZWxkOiBNID0gbS5maWVsZCAoZHN0L3Ny YykKLSAqICAgIC1FeHRlcm4gb2JqZWN0IG1haWxib3ggZmllbGQ6IEUgPSBlLmZpZWxkIChkc3Qv c3JjKQotICogICAgLUV4dGVybiBmdW5jdGlvbiBtYWlsYm94IGZpZWxkOiBGID0gZi5maWVsZCAo ZHN0L3NyYykKLSAqICAgIC1UYWJsZSBhY3Rpb24gZGF0YSBmaWVsZDogVCA9IHQuZmllbGQgKHNy YyBvbmx5KQotICogICAgLUltbWVkaWF0ZSB2YWx1ZTogSSA9IDMyLWJpdCB1bnNpZ25lZCB2YWx1 ZSAoc3JjIG9ubHkpCi0gKi8KLQotZW51bSBpbnN0cnVjdGlvbl90eXBlIHsKLQkvKiByeCBtLnBv cnRfaW4gKi8KLQlJTlNUUl9SWCwKLQotCS8qIHR4IHBvcnRfb3V0Ci0JICogcG9ydF9vdXQgPSBN SQotCSAqLwotCUlOU1RSX1RYLCAgIC8qIHBvcnRfb3V0ID0gTSAqLwotCUlOU1RSX1RYX0ksIC8q IHBvcnRfb3V0ID0gSSAqLwotCi0JLyogZXh0cmFjdCBoLmhlYWRlciAqLwotCUlOU1RSX0hEUl9F WFRSQUNULAotCUlOU1RSX0hEUl9FWFRSQUNUMiwKLQlJTlNUUl9IRFJfRVhUUkFDVDMsCi0JSU5T VFJfSERSX0VYVFJBQ1Q0LAotCUlOU1RSX0hEUl9FWFRSQUNUNSwKLQlJTlNUUl9IRFJfRVhUUkFD VDYsCi0JSU5TVFJfSERSX0VYVFJBQ1Q3LAotCUlOU1RSX0hEUl9FWFRSQUNUOCwKLQotCS8qIGV4 dHJhY3QgaC5oZWFkZXIgbS5sYXN0X2ZpZWxkX3NpemUgKi8KLQlJTlNUUl9IRFJfRVhUUkFDVF9N LAotCi0JLyogbG9va2FoZWFkIGguaGVhZGVyICovCi0JSU5TVFJfSERSX0xPT0tBSEVBRCwKLQot CS8qIGVtaXQgaC5oZWFkZXIgKi8KLQlJTlNUUl9IRFJfRU1JVCwKLQlJTlNUUl9IRFJfRU1JVF9U WCwKLQlJTlNUUl9IRFJfRU1JVDJfVFgsCi0JSU5TVFJfSERSX0VNSVQzX1RYLAotCUlOU1RSX0hE Ul9FTUlUNF9UWCwKLQlJTlNUUl9IRFJfRU1JVDVfVFgsCi0JSU5TVFJfSERSX0VNSVQ2X1RYLAot CUlOU1RSX0hEUl9FTUlUN19UWCwKLQlJTlNUUl9IRFJfRU1JVDhfVFgsCi0KLQkvKiB2YWxpZGF0 ZSBoLmhlYWRlciAqLwotCUlOU1RSX0hEUl9WQUxJREFURSwKLQotCS8qIGludmFsaWRhdGUgaC5o ZWFkZXIgKi8KLQlJTlNUUl9IRFJfSU5WQUxJREFURSwKLQotCS8qIG1vdiBkc3Qgc3JjCi0JICog ZHN0ID0gc3JjCi0JICogZHN0ID0gSE1FRiwgc3JjID0gSE1FRlRJCi0JICovCi0JSU5TVFJfTU9W LCAgICAvKiBkc3QgPSBNRUYsIHNyYyA9IE1FRlQgKi8KLQlJTlNUUl9NT1ZfTUgsIC8qIGRzdCA9 IE1FRiwgc3JjID0gSCAqLwotCUlOU1RSX01PVl9ITSwgLyogZHN0ID0gSCwgc3JjID0gTUVGVCAq LwotCUlOU1RSX01PVl9ISCwgLyogZHN0ID0gSCwgc3JjID0gSCAqLwotCUlOU1RSX01PVl9JLCAg LyogZHN0ID0gSE1FRiwgc3JjID0gSSAqLwotCi0JLyogZG1hIGguaGVhZGVyIHQuZmllbGQKLQkg KiBtZW1jcHkoaC5oZWFkZXIsIHQuZmllbGQsIHNpemVvZihoLmhlYWRlcikpCi0JICovCi0JSU5T VFJfRE1BX0hULAotCUlOU1RSX0RNQV9IVDIsCi0JSU5TVFJfRE1BX0hUMywKLQlJTlNUUl9ETUFf SFQ0LAotCUlOU1RSX0RNQV9IVDUsCi0JSU5TVFJfRE1BX0hUNiwKLQlJTlNUUl9ETUFfSFQ3LAot CUlOU1RSX0RNQV9IVDgsCi0KLQkvKiBhZGQgZHN0IHNyYwotCSAqIGRzdCArPSBzcmMKLQkgKiBk c3QgPSBITUVGLCBzcmMgPSBITUVGVEkKLQkgKi8KLQlJTlNUUl9BTFVfQURELCAgICAvKiBkc3Qg PSBNRUYsIHNyYyA9IE1FRiAqLwotCUlOU1RSX0FMVV9BRERfTUgsIC8qIGRzdCA9IE1FRiwgc3Jj ID0gSCAqLwotCUlOU1RSX0FMVV9BRERfSE0sIC8qIGRzdCA9IEgsIHNyYyA9IE1FRiAqLwotCUlO U1RSX0FMVV9BRERfSEgsIC8qIGRzdCA9IEgsIHNyYyA9IEggKi8KLQlJTlNUUl9BTFVfQUREX01J LCAvKiBkc3QgPSBNRUYsIHNyYyA9IEkgKi8KLQlJTlNUUl9BTFVfQUREX0hJLCAvKiBkc3QgPSBI LCBzcmMgPSBJICovCi0KLQkvKiBzdWIgZHN0IHNyYwotCSAqIGRzdCAtPSBzcmMKLQkgKiBkc3Qg PSBITUVGLCBzcmMgPSBITUVGVEkKLQkgKi8KLQlJTlNUUl9BTFVfU1VCLCAgICAvKiBkc3QgPSBN RUYsIHNyYyA9IE1FRiAqLwotCUlOU1RSX0FMVV9TVUJfTUgsIC8qIGRzdCA9IE1FRiwgc3JjID0g SCAqLwotCUlOU1RSX0FMVV9TVUJfSE0sIC8qIGRzdCA9IEgsIHNyYyA9IE1FRiAqLwotCUlOU1RS X0FMVV9TVUJfSEgsIC8qIGRzdCA9IEgsIHNyYyA9IEggKi8KLQlJTlNUUl9BTFVfU1VCX01JLCAv KiBkc3QgPSBNRUYsIHNyYyA9IEkgKi8KLQlJTlNUUl9BTFVfU1VCX0hJLCAvKiBkc3QgPSBILCBz cmMgPSBJICovCi0KLQkvKiBja2FkZCBkc3Qgc3JjCi0JICogZHN0ID0gZHN0ICcrIHNyY1swOjFd ICcrIHNyY1syOjNdICsgLi4uCi0JICogZHN0ID0gSCwgc3JjID0ge0gsIGguaGVhZGVyfQotCSAq LwotCUlOU1RSX0FMVV9DS0FERF9GSUVMRCwgICAgLyogc3JjID0gSCAqLwotCUlOU1RSX0FMVV9D S0FERF9TVFJVQ1QyMCwgLyogc3JjID0gaC5oZWFkZXIsIHdpdGggc2l6ZW9mKGhlYWRlcikgPSAy MCAqLwotCUlOU1RSX0FMVV9DS0FERF9TVFJVQ1QsICAgLyogc3JjID0gaC5oZGVhZGVyLCB3aXRo IGFueSBzaXplb2YoaGVhZGVyKSAqLwotCi0JLyogY2tzdWIgZHN0IHNyYwotCSAqIGRzdCA9IGRz dCAnLSBzcmMKLQkgKiBkc3QgPSBILCBzcmMgPSBICi0JICovCi0JSU5TVFJfQUxVX0NLU1VCX0ZJ RUxELAotCi0JLyogYW5kIGRzdCBzcmMKLQkgKiBkc3QgJj0gc3JjCi0JICogZHN0ID0gSE1FRiwg c3JjID0gSE1FRlRJCi0JICovCi0JSU5TVFJfQUxVX0FORCwgICAgLyogZHN0ID0gTUVGLCBzcmMg PSBNRUZUICovCi0JSU5TVFJfQUxVX0FORF9NSCwgLyogZHN0ID0gTUVGLCBzcmMgPSBIICovCi0J SU5TVFJfQUxVX0FORF9ITSwgLyogZHN0ID0gSCwgc3JjID0gTUVGVCAqLwotCUlOU1RSX0FMVV9B TkRfSEgsIC8qIGRzdCA9IEgsIHNyYyA9IEggKi8KLQlJTlNUUl9BTFVfQU5EX0ksICAvKiBkc3Qg PSBITUVGLCBzcmMgPSBJICovCi0KLQkvKiBvciBkc3Qgc3JjCi0JICogZHN0IHw9IHNyYwotCSAq IGRzdCA9IEhNRUYsIHNyYyA9IEhNRUZUSQotCSAqLwotCUlOU1RSX0FMVV9PUiwgICAgLyogZHN0 ID0gTUVGLCBzcmMgPSBNRUZUICovCi0JSU5TVFJfQUxVX09SX01ILCAvKiBkc3QgPSBNRUYsIHNy YyA9IEggKi8KLQlJTlNUUl9BTFVfT1JfSE0sIC8qIGRzdCA9IEgsIHNyYyA9IE1FRlQgKi8KLQlJ TlNUUl9BTFVfT1JfSEgsIC8qIGRzdCA9IEgsIHNyYyA9IEggKi8KLQlJTlNUUl9BTFVfT1JfSSwg IC8qIGRzdCA9IEhNRUYsIHNyYyA9IEkgKi8KLQotCS8qIHhvciBkc3Qgc3JjCi0JICogZHN0IF49 IHNyYwotCSAqIGRzdCA9IEhNRUYsIHNyYyA9IEhNRUZUSQotCSAqLwotCUlOU1RSX0FMVV9YT1Is ICAgIC8qIGRzdCA9IE1FRiwgc3JjID0gTUVGVCAqLwotCUlOU1RSX0FMVV9YT1JfTUgsIC8qIGRz dCA9IE1FRiwgc3JjID0gSCAqLwotCUlOU1RSX0FMVV9YT1JfSE0sIC8qIGRzdCA9IEgsIHNyYyA9 IE1FRlQgKi8KLQlJTlNUUl9BTFVfWE9SX0hILCAvKiBkc3QgPSBILCBzcmMgPSBIICovCi0JSU5T VFJfQUxVX1hPUl9JLCAgLyogZHN0ID0gSE1FRiwgc3JjID0gSSAqLwotCi0JLyogc2hsIGRzdCBz cmMKLQkgKiBkc3QgPDw9IHNyYwotCSAqIGRzdCA9IEhNRUYsIHNyYyA9IEhNRUZUSQotCSAqLwot CUlOU1RSX0FMVV9TSEwsICAgIC8qIGRzdCA9IE1FRiwgc3JjID0gTUVGICovCi0JSU5TVFJfQUxV X1NITF9NSCwgLyogZHN0ID0gTUVGLCBzcmMgPSBIICovCi0JSU5TVFJfQUxVX1NITF9ITSwgLyog ZHN0ID0gSCwgc3JjID0gTUVGICovCi0JSU5TVFJfQUxVX1NITF9ISCwgLyogZHN0ID0gSCwgc3Jj ID0gSCAqLwotCUlOU1RSX0FMVV9TSExfTUksIC8qIGRzdCA9IE1FRiwgc3JjID0gSSAqLwotCUlO U1RSX0FMVV9TSExfSEksIC8qIGRzdCA9IEgsIHNyYyA9IEkgKi8KLQotCS8qIHNociBkc3Qgc3Jj Ci0JICogZHN0ID4+PSBzcmMKLQkgKiBkc3QgPSBITUVGLCBzcmMgPSBITUVGVEkKLQkgKi8KLQlJ TlNUUl9BTFVfU0hSLCAgICAvKiBkc3QgPSBNRUYsIHNyYyA9IE1FRiAqLwotCUlOU1RSX0FMVV9T SFJfTUgsIC8qIGRzdCA9IE1FRiwgc3JjID0gSCAqLwotCUlOU1RSX0FMVV9TSFJfSE0sIC8qIGRz dCA9IEgsIHNyYyA9IE1FRiAqLwotCUlOU1RSX0FMVV9TSFJfSEgsIC8qIGRzdCA9IEgsIHNyYyA9 IEggKi8KLQlJTlNUUl9BTFVfU0hSX01JLCAvKiBkc3QgPSBNRUYsIHNyYyA9IEkgKi8KLQlJTlNU Ul9BTFVfU0hSX0hJLCAvKiBkc3QgPSBILCBzcmMgPSBJICovCi0KLQkvKiByZWdwcmVmZXRjaCBS RUdBUlJBWSBpbmRleAotCSAqIHByZWZldGNoIFJFR0FSUkFZW2luZGV4XQotCSAqIGluZGV4ID0g SE1FRlRJCi0JICovCi0JSU5TVFJfUkVHUFJFRkVUQ0hfUkgsIC8qIGluZGV4ID0gSCAqLwotCUlO U1RSX1JFR1BSRUZFVENIX1JNLCAvKiBpbmRleCA9IE1FRlQgKi8KLQlJTlNUUl9SRUdQUkVGRVRD SF9SSSwgLyogaW5kZXggPSBJICovCi0KLQkvKiByZWdyZCBkc3QgUkVHQVJSQVkgaW5kZXgKLQkg KiBkc3QgPSBSRUdBUlJBWVtpbmRleF0KLQkgKiBkc3QgPSBITUVGLCBpbmRleCA9IEhNRUZUSQot CSAqLwotCUlOU1RSX1JFR1JEX0hSSCwgLyogZHN0ID0gSCwgaW5kZXggPSBIICovCi0JSU5TVFJf UkVHUkRfSFJNLCAvKiBkc3QgPSBILCBpbmRleCA9IE1FRlQgKi8KLQlJTlNUUl9SRUdSRF9IUkks IC8qIGRzdCA9IEgsIGluZGV4ID0gSSAqLwotCUlOU1RSX1JFR1JEX01SSCwgLyogZHN0ID0gTUVG LCBpbmRleCA9IEggKi8KLQlJTlNUUl9SRUdSRF9NUk0sIC8qIGRzdCA9IE1FRiwgaW5kZXggPSBN RUZUICovCi0JSU5TVFJfUkVHUkRfTVJJLCAvKiBkc3QgPSBNRUYsIGluZGV4ID0gSSAqLwotCi0J LyogcmVnd3IgUkVHQVJSQVkgaW5kZXggc3JjCi0JICogUkVHQVJSQVlbaW5kZXhdID0gc3JjCi0J ICogaW5kZXggPSBITUVGVEksIHNyYyA9IEhNRUZUSQotCSAqLwotCUlOU1RSX1JFR1dSX1JISCwg LyogaW5kZXggPSBILCBzcmMgPSBIICovCi0JSU5TVFJfUkVHV1JfUkhNLCAvKiBpbmRleCA9IEgs IHNyYyA9IE1FRlQgKi8KLQlJTlNUUl9SRUdXUl9SSEksIC8qIGluZGV4ID0gSCwgc3JjID0gSSAq LwotCUlOU1RSX1JFR1dSX1JNSCwgLyogaW5kZXggPSBNRUZULCBzcmMgPSBIICovCi0JSU5TVFJf UkVHV1JfUk1NLCAvKiBpbmRleCA9IE1FRlQsIHNyYyA9IE1FRlQgKi8KLQlJTlNUUl9SRUdXUl9S TUksIC8qIGluZGV4ID0gTUVGVCwgc3JjID0gSSAqLwotCUlOU1RSX1JFR1dSX1JJSCwgLyogaW5k ZXggPSBJLCBzcmMgPSBIICovCi0JSU5TVFJfUkVHV1JfUklNLCAvKiBpbmRleCA9IEksIHNyYyA9 IE1FRlQgKi8KLQlJTlNUUl9SRUdXUl9SSUksIC8qIGluZGV4ID0gSSwgc3JjID0gSSAqLwotCi0J LyogcmVnYWRkIFJFR0FSUkFZIGluZGV4IHNyYwotCSAqIFJFR0FSUkFZW2luZGV4XSArPSBzcmMK LQkgKiBpbmRleCA9IEhNRUZUSSwgc3JjID0gSE1FRlRJCi0JICovCi0JSU5TVFJfUkVHQUREX1JI SCwgLyogaW5kZXggPSBILCBzcmMgPSBIICovCi0JSU5TVFJfUkVHQUREX1JITSwgLyogaW5kZXgg PSBILCBzcmMgPSBNRUZUICovCi0JSU5TVFJfUkVHQUREX1JISSwgLyogaW5kZXggPSBILCBzcmMg PSBJICovCi0JSU5TVFJfUkVHQUREX1JNSCwgLyogaW5kZXggPSBNRUZULCBzcmMgPSBIICovCi0J SU5TVFJfUkVHQUREX1JNTSwgLyogaW5kZXggPSBNRUZULCBzcmMgPSBNRUZUICovCi0JSU5TVFJf UkVHQUREX1JNSSwgLyogaW5kZXggPSBNRUZULCBzcmMgPSBJICovCi0JSU5TVFJfUkVHQUREX1JJ SCwgLyogaW5kZXggPSBJLCBzcmMgPSBIICovCi0JSU5TVFJfUkVHQUREX1JJTSwgLyogaW5kZXgg PSBJLCBzcmMgPSBNRUZUICovCi0JSU5TVFJfUkVHQUREX1JJSSwgLyogaW5kZXggPSBJLCBzcmMg PSBJICovCi0KLQkvKiBtZXRwcmVmZXRjaCBNRVRBUlJBWSBpbmRleAotCSAqIHByZWZldGNoIE1F VEFSUkFZW2luZGV4XQotCSAqIGluZGV4ID0gSE1FRlRJCi0JICovCi0JSU5TVFJfTUVUUFJFRkVU Q0hfSCwgLyogaW5kZXggPSBIICovCi0JSU5TVFJfTUVUUFJFRkVUQ0hfTSwgLyogaW5kZXggPSBN RUZUICovCi0JSU5TVFJfTUVUUFJFRkVUQ0hfSSwgLyogaW5kZXggPSBJICovCi0KLQkvKiBtZXRl ciBNRVRBUlJBWSBpbmRleCBsZW5ndGggY29sb3JfaW4gY29sb3Jfb3V0Ci0JICogY29sb3Jfb3V0 ID0gbWV0ZXIoTUVUQVJSQVlbaW5kZXhdLCBsZW5ndGgsIGNvbG9yX2luKQotCSAqIGluZGV4ID0g SE1FRlRJLCBsZW5ndGggPSBITUVGVCwgY29sb3JfaW4gPSBNRUZUSSwgY29sb3Jfb3V0ID0gTUVG Ci0JICovCi0JSU5TVFJfTUVURVJfSEhNLCAvKiBpbmRleCA9IEgsIGxlbmd0aCA9IEgsIGNvbG9y X2luID0gTUVGVCAqLwotCUlOU1RSX01FVEVSX0hISSwgLyogaW5kZXggPSBILCBsZW5ndGggPSBI LCBjb2xvcl9pbiA9IEkgKi8KLQlJTlNUUl9NRVRFUl9ITU0sIC8qIGluZGV4ID0gSCwgbGVuZ3Ro ID0gTUVGVCwgY29sb3JfaW4gPSBNRUZUICovCi0JSU5TVFJfTUVURVJfSE1JLCAvKiBpbmRleCA9 IEgsIGxlbmd0aCA9IE1FRlQsIGNvbG9yX2luID0gSSAqLwotCUlOU1RSX01FVEVSX01ITSwgLyog aW5kZXggPSBNRUZULCBsZW5ndGggPSBILCBjb2xvcl9pbiA9IE1FRlQgKi8KLQlJTlNUUl9NRVRF Ul9NSEksIC8qIGluZGV4ID0gTUVGVCwgbGVuZ3RoID0gSCwgY29sb3JfaW4gPSBJICovCi0JSU5T VFJfTUVURVJfTU1NLCAvKiBpbmRleCA9IE1FRlQsIGxlbmd0aCA9IE1FRlQsIGNvbG9yX2luID0g TUVGVCAqLwotCUlOU1RSX01FVEVSX01NSSwgLyogaW5kZXggPSBNRUZULCBsZW5ndGggPSBNRUZU LCBjb2xvcl9pbiA9IEkgKi8KLQlJTlNUUl9NRVRFUl9JSE0sIC8qIGluZGV4ID0gSSwgbGVuZ3Ro ID0gSCwgY29sb3JfaW4gPSBNRUZUICovCi0JSU5TVFJfTUVURVJfSUhJLCAvKiBpbmRleCA9IEks IGxlbmd0aCA9IEgsIGNvbG9yX2luID0gSSAqLwotCUlOU1RSX01FVEVSX0lNTSwgLyogaW5kZXgg PSBJLCBsZW5ndGggPSBNRUZULCBjb2xvcl9pbiA9IE1FRlQgKi8KLQlJTlNUUl9NRVRFUl9JTUks IC8qIGluZGV4ID0gSSwgbGVuZ3RoID0gTUVGVCwgY29sb3JfaW4gPSBJICovCi0KLQkvKiB0YWJs ZSBUQUJMRSAqLwotCUlOU1RSX1RBQkxFLAotCUlOU1RSX1NFTEVDVE9SLAotCUlOU1RSX0xFQVJO RVIsCi0KLQkvKiBsZWFybiBMRUFSTkVSIEFDVElPTl9OQU1FICovCi0JSU5TVFJfTEVBUk5FUl9M RUFSTiwKLQotCS8qIGZvcmdldCAqLwotCUlOU1RSX0xFQVJORVJfRk9SR0VULAotCi0JLyogZXh0 ZXJuIGUub2JqLmZ1bmMgKi8KLQlJTlNUUl9FWFRFUk5fT0JKLAotCi0JLyogZXh0ZXJuIGYuZnVu YyAqLwotCUlOU1RSX0VYVEVSTl9GVU5DLAotCi0JLyogam1wIExBQkVMCi0JICogVW5jb25kaXRp b25hbCBqdW1wCi0JICovCi0JSU5TVFJfSk1QLAotCi0JLyogam1wdiBMQUJFTCBoLmhlYWRlcgot CSAqIEp1bXAgaWYgaGVhZGVyIGlzIHZhbGlkCi0JICovCi0JSU5TVFJfSk1QX1ZBTElELAotCi0J Lyogam1wbnYgTEFCRUwgaC5oZWFkZXIKLQkgKiBKdW1wIGlmIGhlYWRlciBpcyBpbnZhbGlkCi0J ICovCi0JSU5TVFJfSk1QX0lOVkFMSUQsCi0KLQkvKiBqbXBoIExBQkVMCi0JICogSnVtcCBpZiB0 YWJsZSBsb29rdXAgaGl0Ci0JICovCi0JSU5TVFJfSk1QX0hJVCwKLQotCS8qIGptcG5oIExBQkVM Ci0JICogSnVtcCBpZiB0YWJsZSBsb29rdXAgbWlzcwotCSAqLwotCUlOU1RSX0pNUF9NSVNTLAot Ci0JLyogam1wYSBMQUJFTCBBQ1RJT04KLQkgKiBKdW1wIGlmIGFjdGlvbiBydW4KLQkgKi8KLQlJ TlNUUl9KTVBfQUNUSU9OX0hJVCwKLQotCS8qIGptcG5hIExBQkVMIEFDVElPTgotCSAqIEp1bXAg aWYgYWN0aW9uIG5vdCBydW4KLQkgKi8KLQlJTlNUUl9KTVBfQUNUSU9OX01JU1MsCi0KLQkvKiBq bXBlcSBMQUJFTCBhIGIKLQkgKiBKdW1wIGlmIGEgaXMgZXF1YWwgdG8gYgotCSAqIGEgPSBITUVG VCwgYiA9IEhNRUZUSQotCSAqLwotCUlOU1RSX0pNUF9FUSwgICAgLyogYSA9IE1FRlQsIGIgPSBN RUZUICovCi0JSU5TVFJfSk1QX0VRX01ILCAvKiBhID0gTUVGVCwgYiA9IEggKi8KLQlJTlNUUl9K TVBfRVFfSE0sIC8qIGEgPSBILCBiID0gTUVGVCAqLwotCUlOU1RSX0pNUF9FUV9ISCwgLyogYSA9 IEgsIGIgPSBIICovCi0JSU5TVFJfSk1QX0VRX0ksICAvKiAoYSwgYikgPSAoTUVGVCwgSSkgb3Ig KGEsIGIpID0gKEgsIEkpICovCi0KLQkvKiBqbXBuZXEgTEFCRUwgYSBiCi0JICogSnVtcCBpZiBh IGlzIG5vdCBlcXVhbCB0byBiCi0JICogYSA9IEhNRUZULCBiID0gSE1FRlRJCi0JICovCi0JSU5T VFJfSk1QX05FUSwgICAgLyogYSA9IE1FRlQsIGIgPSBNRUZUICovCi0JSU5TVFJfSk1QX05FUV9N SCwgLyogYSA9IE1FRlQsIGIgPSBIICovCi0JSU5TVFJfSk1QX05FUV9ITSwgLyogYSA9IEgsIGIg PSBNRUZUICovCi0JSU5TVFJfSk1QX05FUV9ISCwgLyogYSA9IEgsIGIgPSBIICovCi0JSU5TVFJf Sk1QX05FUV9JLCAgLyogKGEsIGIpID0gKE1FRlQsIEkpIG9yIChhLCBiKSA9IChILCBJKSAqLwot Ci0JLyogam1wbHQgTEFCRUwgYSBiCi0JICogSnVtcCBpZiBhIGlzIGxlc3MgdGhhbiBiCi0JICog YSA9IEhNRUZULCBiID0gSE1FRlRJCi0JICovCi0JSU5TVFJfSk1QX0xULCAgICAvKiBhID0gTUVG VCwgYiA9IE1FRlQgKi8KLQlJTlNUUl9KTVBfTFRfTUgsIC8qIGEgPSBNRUZULCBiID0gSCAqLwot CUlOU1RSX0pNUF9MVF9ITSwgLyogYSA9IEgsIGIgPSBNRUZUICovCi0JSU5TVFJfSk1QX0xUX0hI LCAvKiBhID0gSCwgYiA9IEggKi8KLQlJTlNUUl9KTVBfTFRfTUksIC8qIGEgPSBNRUZULCBiID0g SSAqLwotCUlOU1RSX0pNUF9MVF9ISSwgLyogYSA9IEgsIGIgPSBJICovCi0KLQkvKiBqbXBndCBM QUJFTCBhIGIKLQkgKiBKdW1wIGlmIGEgaXMgZ3JlYXRlciB0aGFuIGIKLQkgKiBhID0gSE1FRlQs IGIgPSBITUVGVEkKLQkgKi8KLQlJTlNUUl9KTVBfR1QsICAgIC8qIGEgPSBNRUZULCBiID0gTUVG VCAqLwotCUlOU1RSX0pNUF9HVF9NSCwgLyogYSA9IE1FRlQsIGIgPSBIICovCi0JSU5TVFJfSk1Q X0dUX0hNLCAvKiBhID0gSCwgYiA9IE1FRlQgKi8KLQlJTlNUUl9KTVBfR1RfSEgsIC8qIGEgPSBI LCBiID0gSCAqLwotCUlOU1RSX0pNUF9HVF9NSSwgLyogYSA9IE1FRlQsIGIgPSBJICovCi0JSU5T VFJfSk1QX0dUX0hJLCAvKiBhID0gSCwgYiA9IEkgKi8KLQotCS8qIHJldHVybgotCSAqIFJldHVy biBmcm9tIGFjdGlvbgotCSAqLwotCUlOU1RSX1JFVFVSTiwKLX07Ci0KLXN0cnVjdCBpbnN0cl9v cGVyYW5kIHsKLQl1aW50OF90IHN0cnVjdF9pZDsKLQl1aW50OF90IG5fYml0czsKLQl1aW50OF90 IG9mZnNldDsKLQl1aW50OF90IHBhZDsKLX07Ci0KLXN0cnVjdCBpbnN0cl9pbyB7Ci0Jc3RydWN0 IHsKLQkJdW5pb24gewotCQkJc3RydWN0IHsKLQkJCQl1aW50OF90IG9mZnNldDsKLQkJCQl1aW50 OF90IG5fYml0czsKLQkJCQl1aW50OF90IHBhZFsyXTsKLQkJCX07Ci0KLQkJCXVpbnQzMl90IHZh bDsKLQkJfTsKLQl9IGlvOwotCi0Jc3RydWN0IHsKLQkJdWludDhfdCBoZWFkZXJfaWRbOF07Ci0J CXVpbnQ4X3Qgc3RydWN0X2lkWzhdOwotCQl1aW50OF90IG5fYnl0ZXNbOF07Ci0JfSBoZHI7Ci19 OwotCi1zdHJ1Y3QgaW5zdHJfaGRyX3ZhbGlkaXR5IHsKLQl1aW50OF90IGhlYWRlcl9pZDsKLX07 Ci0KLXN0cnVjdCBpbnN0cl90YWJsZSB7Ci0JdWludDhfdCB0YWJsZV9pZDsKLX07Ci0KLXN0cnVj dCBpbnN0cl9sZWFybiB7Ci0JdWludDhfdCBhY3Rpb25faWQ7Ci19OwotCi1zdHJ1Y3QgaW5zdHJf ZXh0ZXJuX29iaiB7Ci0JdWludDhfdCBleHRfb2JqX2lkOwotCXVpbnQ4X3QgZnVuY19pZDsKLX07 Ci0KLXN0cnVjdCBpbnN0cl9leHRlcm5fZnVuYyB7Ci0JdWludDhfdCBleHRfZnVuY19pZDsKLX07 Ci0KLXN0cnVjdCBpbnN0cl9kc3Rfc3JjIHsKLQlzdHJ1Y3QgaW5zdHJfb3BlcmFuZCBkc3Q7Ci0J dW5pb24gewotCQlzdHJ1Y3QgaW5zdHJfb3BlcmFuZCBzcmM7Ci0JCXVpbnQ2NF90IHNyY192YWw7 Ci0JfTsKLX07Ci0KLXN0cnVjdCBpbnN0cl9yZWdhcnJheSB7Ci0JdWludDhfdCByZWdhcnJheV9p ZDsKLQl1aW50OF90IHBhZFszXTsKLQotCXVuaW9uIHsKLQkJc3RydWN0IGluc3RyX29wZXJhbmQg aWR4OwotCQl1aW50MzJfdCBpZHhfdmFsOwotCX07Ci0KLQl1bmlvbiB7Ci0JCXN0cnVjdCBpbnN0 cl9vcGVyYW5kIGRzdHNyYzsKLQkJdWludDY0X3QgZHN0c3JjX3ZhbDsKLQl9OwotfTsKLQotc3Ry dWN0IGluc3RyX21ldGVyIHsKLQl1aW50OF90IG1ldGFycmF5X2lkOwotCXVpbnQ4X3QgcGFkWzNd OwotCi0JdW5pb24gewotCQlzdHJ1Y3QgaW5zdHJfb3BlcmFuZCBpZHg7Ci0JCXVpbnQzMl90IGlk eF92YWw7Ci0JfTsKLQotCXN0cnVjdCBpbnN0cl9vcGVyYW5kIGxlbmd0aDsKLQotCXVuaW9uIHsK LQkJc3RydWN0IGluc3RyX29wZXJhbmQgY29sb3JfaW47Ci0JCXVpbnQzMl90IGNvbG9yX2luX3Zh bDsKLQl9OwotCi0Jc3RydWN0IGluc3RyX29wZXJhbmQgY29sb3Jfb3V0OwotfTsKLQotc3RydWN0 IGluc3RyX2RtYSB7Ci0Jc3RydWN0IHsKLQkJdWludDhfdCBoZWFkZXJfaWRbOF07Ci0JCXVpbnQ4 X3Qgc3RydWN0X2lkWzhdOwotCX0gZHN0OwotCi0Jc3RydWN0IHsKLQkJdWludDhfdCBvZmZzZXRb OF07Ci0JfSBzcmM7Ci0KLQl1aW50MTZfdCBuX2J5dGVzWzhdOwotfTsKLQotc3RydWN0IGluc3Ry X2ptcCB7Ci0Jc3RydWN0IGluc3RydWN0aW9uICppcDsKLQotCXVuaW9uIHsKLQkJc3RydWN0IGlu c3RyX29wZXJhbmQgYTsKLQkJdWludDhfdCBoZWFkZXJfaWQ7Ci0JCXVpbnQ4X3QgYWN0aW9uX2lk OwotCX07Ci0KLQl1bmlvbiB7Ci0JCXN0cnVjdCBpbnN0cl9vcGVyYW5kIGI7Ci0JCXVpbnQ2NF90 IGJfdmFsOwotCX07Ci19OwotCi1zdHJ1Y3QgaW5zdHJ1Y3Rpb24gewotCWVudW0gaW5zdHJ1Y3Rp b25fdHlwZSB0eXBlOwotCXVuaW9uIHsKLQkJc3RydWN0IGluc3RyX2lvIGlvOwotCQlzdHJ1Y3Qg aW5zdHJfaGRyX3ZhbGlkaXR5IHZhbGlkOwotCQlzdHJ1Y3QgaW5zdHJfZHN0X3NyYyBtb3Y7Ci0J CXN0cnVjdCBpbnN0cl9yZWdhcnJheSByZWdhcnJheTsKLQkJc3RydWN0IGluc3RyX21ldGVyIG1l dGVyOwotCQlzdHJ1Y3QgaW5zdHJfZG1hIGRtYTsKLQkJc3RydWN0IGluc3RyX2RzdF9zcmMgYWx1 OwotCQlzdHJ1Y3QgaW5zdHJfdGFibGUgdGFibGU7Ci0JCXN0cnVjdCBpbnN0cl9sZWFybiBsZWFy bjsKLQkJc3RydWN0IGluc3RyX2V4dGVybl9vYmogZXh0X29iajsKLQkJc3RydWN0IGluc3RyX2V4 dGVybl9mdW5jIGV4dF9mdW5jOwotCQlzdHJ1Y3QgaW5zdHJfam1wIGptcDsKLQl9OwotfTsKLQot c3RydWN0IGluc3RydWN0aW9uX2RhdGEgewotCWNoYXIgbGFiZWxbUlRFX1NXWF9OQU1FX1NJWkVd OwotCWNoYXIgam1wX2xhYmVsW1JURV9TV1hfTkFNRV9TSVpFXTsKLQl1aW50MzJfdCBuX3VzZXJz OyAvKiB1c2VyID0gam1wIGluc3RydWN0aW9uIHRvIHRoaXMgaW5zdHJ1Y3Rpb24uICovCi0JaW50 IGludmFsaWQ7Ci19OwotCi0vKgotICogQWN0aW9uLgotICovCi1zdHJ1Y3QgYWN0aW9uIHsKLQlU QUlMUV9FTlRSWShhY3Rpb24pIG5vZGU7Ci0JY2hhciBuYW1lW1JURV9TV1hfTkFNRV9TSVpFXTsK LQlzdHJ1Y3Qgc3RydWN0X3R5cGUgKnN0OwotCWludCAqYXJnc19lbmRpYW5uZXNzOyAvKiAwID0g SG9zdCBCeXRlIE9yZGVyIChIQk8pOyAxID0gTmV0d29yayBCeXRlIE9yZGVyIChOQk8pLiAqLwot CXN0cnVjdCBpbnN0cnVjdGlvbiAqaW5zdHJ1Y3Rpb25zOwotCXVpbnQzMl90IG5faW5zdHJ1Y3Rp b25zOwotCXVpbnQzMl90IGlkOwotfTsKLQotVEFJTFFfSEVBRChhY3Rpb25fdGFpbHEsIGFjdGlv bik7Ci0KLS8qCi0gKiBUYWJsZS4KLSAqLwotc3RydWN0IHRhYmxlX3R5cGUgewotCVRBSUxRX0VO VFJZKHRhYmxlX3R5cGUpIG5vZGU7Ci0JY2hhciBuYW1lW1JURV9TV1hfTkFNRV9TSVpFXTsKLQll bnVtIHJ0ZV9zd3hfdGFibGVfbWF0Y2hfdHlwZSBtYXRjaF90eXBlOwotCXN0cnVjdCBydGVfc3d4 X3RhYmxlX29wcyBvcHM7Ci19OwotCi1UQUlMUV9IRUFEKHRhYmxlX3R5cGVfdGFpbHEsIHRhYmxl X3R5cGUpOwotCi1zdHJ1Y3QgbWF0Y2hfZmllbGQgewotCWVudW0gcnRlX3N3eF90YWJsZV9tYXRj aF90eXBlIG1hdGNoX3R5cGU7Ci0Jc3RydWN0IGZpZWxkICpmaWVsZDsKLX07Ci0KLXN0cnVjdCB0 YWJsZSB7Ci0JVEFJTFFfRU5UUlkodGFibGUpIG5vZGU7Ci0JY2hhciBuYW1lW1JURV9TV1hfTkFN RV9TSVpFXTsKLQljaGFyIGFyZ3NbUlRFX1NXWF9OQU1FX1NJWkVdOwotCXN0cnVjdCB0YWJsZV90 eXBlICp0eXBlOyAvKiBOVUxMIHdoZW4gbl9maWVsZHMgPT0gMC4gKi8KLQotCS8qIE1hdGNoLiAq LwotCXN0cnVjdCBtYXRjaF9maWVsZCAqZmllbGRzOwotCXVpbnQzMl90IG5fZmllbGRzOwotCXN0 cnVjdCBoZWFkZXIgKmhlYWRlcjsgLyogT25seSB2YWxpZCB3aGVuIG5fZmllbGRzID4gMC4gKi8K LQotCS8qIEFjdGlvbi4gKi8KLQlzdHJ1Y3QgYWN0aW9uICoqYWN0aW9uczsKLQlzdHJ1Y3QgYWN0 aW9uICpkZWZhdWx0X2FjdGlvbjsKLQl1aW50OF90ICpkZWZhdWx0X2FjdGlvbl9kYXRhOwotCXVp bnQzMl90IG5fYWN0aW9uczsKLQlpbnQgZGVmYXVsdF9hY3Rpb25faXNfY29uc3Q7Ci0JdWludDMy X3QgYWN0aW9uX2RhdGFfc2l6ZV9tYXg7Ci0KLQl1aW50MzJfdCBzaXplOwotCXVpbnQzMl90IGlk OwotfTsKLQotVEFJTFFfSEVBRCh0YWJsZV90YWlscSwgdGFibGUpOwotCi1zdHJ1Y3QgdGFibGVf cnVudGltZSB7Ci0JcnRlX3N3eF90YWJsZV9sb29rdXBfdCBmdW5jOwotCXZvaWQgKm1haWxib3g7 Ci0JdWludDhfdCAqKmtleTsKLX07Ci0KLXN0cnVjdCB0YWJsZV9zdGF0aXN0aWNzIHsKLQl1aW50 NjRfdCBuX3BrdHNfaGl0WzJdOyAvKiAwID0gTWlzcywgMSA9IEhpdC4gKi8KLQl1aW50NjRfdCAq bl9wa3RzX2FjdGlvbjsKLX07Ci0KLS8qCi0gKiBTZWxlY3Rvci4KLSAqLwotc3RydWN0IHNlbGVj dG9yIHsKLQlUQUlMUV9FTlRSWShzZWxlY3Rvcikgbm9kZTsKLQljaGFyIG5hbWVbUlRFX1NXWF9O QU1FX1NJWkVdOwotCi0Jc3RydWN0IGZpZWxkICpncm91cF9pZF9maWVsZDsKLQlzdHJ1Y3QgZmll bGQgKipzZWxlY3Rvcl9maWVsZHM7Ci0JdWludDMyX3Qgbl9zZWxlY3Rvcl9maWVsZHM7Ci0Jc3Ry dWN0IGhlYWRlciAqc2VsZWN0b3JfaGVhZGVyOwotCXN0cnVjdCBmaWVsZCAqbWVtYmVyX2lkX2Zp ZWxkOwotCi0JdWludDMyX3Qgbl9ncm91cHNfbWF4OwotCXVpbnQzMl90IG5fbWVtYmVyc19wZXJf Z3JvdXBfbWF4OwotCi0JdWludDMyX3QgaWQ7Ci19OwotCi1UQUlMUV9IRUFEKHNlbGVjdG9yX3Rh aWxxLCBzZWxlY3Rvcik7Ci0KLXN0cnVjdCBzZWxlY3Rvcl9ydW50aW1lIHsKLQl2b2lkICptYWls Ym94OwotCXVpbnQ4X3QgKipncm91cF9pZF9idWZmZXI7Ci0JdWludDhfdCAqKnNlbGVjdG9yX2J1 ZmZlcjsKLQl1aW50OF90ICoqbWVtYmVyX2lkX2J1ZmZlcjsKLX07Ci0KLXN0cnVjdCBzZWxlY3Rv cl9zdGF0aXN0aWNzIHsKLQl1aW50NjRfdCBuX3BrdHM7Ci19OwotCi0vKgotICogTGVhcm5lciB0 YWJsZS4KLSAqLwotc3RydWN0IGxlYXJuZXIgewotCVRBSUxRX0VOVFJZKGxlYXJuZXIpIG5vZGU7 Ci0JY2hhciBuYW1lW1JURV9TV1hfTkFNRV9TSVpFXTsKLQotCS8qIE1hdGNoLiAqLwotCXN0cnVj dCBmaWVsZCAqKmZpZWxkczsKLQl1aW50MzJfdCBuX2ZpZWxkczsKLQlzdHJ1Y3QgaGVhZGVyICpo ZWFkZXI7Ci0KLQkvKiBBY3Rpb24uICovCi0Jc3RydWN0IGFjdGlvbiAqKmFjdGlvbnM7Ci0Jc3Ry dWN0IGZpZWxkICoqYWN0aW9uX2FyZzsKLQlzdHJ1Y3QgYWN0aW9uICpkZWZhdWx0X2FjdGlvbjsK LQl1aW50OF90ICpkZWZhdWx0X2FjdGlvbl9kYXRhOwotCXVpbnQzMl90IG5fYWN0aW9uczsKLQlp bnQgZGVmYXVsdF9hY3Rpb25faXNfY29uc3Q7Ci0JdWludDMyX3QgYWN0aW9uX2RhdGFfc2l6ZV9t YXg7Ci0KLQl1aW50MzJfdCBzaXplOwotCXVpbnQzMl90IHRpbWVvdXQ7Ci0JdWludDMyX3QgaWQ7 Ci19OwotCi1UQUlMUV9IRUFEKGxlYXJuZXJfdGFpbHEsIGxlYXJuZXIpOwotCi1zdHJ1Y3QgbGVh cm5lcl9ydW50aW1lIHsKLQl2b2lkICptYWlsYm94OwotCXVpbnQ4X3QgKiprZXk7Ci0JdWludDhf dCAqKmFjdGlvbl9kYXRhOwotfTsKLQotc3RydWN0IGxlYXJuZXJfc3RhdGlzdGljcyB7Ci0JdWlu dDY0X3Qgbl9wa3RzX2hpdFsyXTsgLyogMCA9IE1pc3MsIDEgPSBIaXQuICovCi0JdWludDY0X3Qg bl9wa3RzX2xlYXJuWzJdOyAvKiAwID0gTGVhcm4gT0ssIDEgPSBMZWFybiBlcnJvci4gKi8KLQl1 aW50NjRfdCBuX3BrdHNfZm9yZ2V0OwotCXVpbnQ2NF90ICpuX3BrdHNfYWN0aW9uOwotfTsKLQot LyoKLSAqIFJlZ2lzdGVyIGFycmF5LgotICovCi1zdHJ1Y3QgcmVnYXJyYXkgewotCVRBSUxRX0VO VFJZKHJlZ2FycmF5KSBub2RlOwotCWNoYXIgbmFtZVtSVEVfU1dYX05BTUVfU0laRV07Ci0JdWlu dDY0X3QgaW5pdF92YWw7Ci0JdWludDMyX3Qgc2l6ZTsKLQl1aW50MzJfdCBpZDsKLX07Ci0KLVRB SUxRX0hFQUQocmVnYXJyYXlfdGFpbHEsIHJlZ2FycmF5KTsKLQotc3RydWN0IHJlZ2FycmF5X3J1 bnRpbWUgewotCXVpbnQ2NF90ICpyZWdhcnJheTsKLQl1aW50MzJfdCBzaXplX21hc2s7Ci19Owot Ci0vKgotICogTWV0ZXIgYXJyYXkuCi0gKi8KLXN0cnVjdCBtZXRlcl9wcm9maWxlIHsKLQlUQUlM UV9FTlRSWShtZXRlcl9wcm9maWxlKSBub2RlOwotCWNoYXIgbmFtZVtSVEVfU1dYX05BTUVfU0la RV07Ci0Jc3RydWN0IHJ0ZV9tZXRlcl90cnRjbV9wYXJhbXMgcGFyYW1zOwotCXN0cnVjdCBydGVf bWV0ZXJfdHJ0Y21fcHJvZmlsZSBwcm9maWxlOwotCXVpbnQzMl90IG5fdXNlcnM7Ci19OwotCi1U QUlMUV9IRUFEKG1ldGVyX3Byb2ZpbGVfdGFpbHEsIG1ldGVyX3Byb2ZpbGUpOwotCi1zdHJ1Y3Qg bWV0YXJyYXkgewotCVRBSUxRX0VOVFJZKG1ldGFycmF5KSBub2RlOwotCWNoYXIgbmFtZVtSVEVf U1dYX05BTUVfU0laRV07Ci0JdWludDMyX3Qgc2l6ZTsKLQl1aW50MzJfdCBpZDsKLX07Ci0KLVRB SUxRX0hFQUQobWV0YXJyYXlfdGFpbHEsIG1ldGFycmF5KTsKLQotc3RydWN0IG1ldGVyIHsKLQlz dHJ1Y3QgcnRlX21ldGVyX3RydGNtIG07Ci0Jc3RydWN0IG1ldGVyX3Byb2ZpbGUgKnByb2ZpbGU7 Ci0JZW51bSBydGVfY29sb3IgY29sb3JfbWFzazsKLQl1aW50OF90IHBhZFsyMF07Ci0KLQl1aW50 NjRfdCBuX3BrdHNbUlRFX0NPTE9SU107Ci0JdWludDY0X3Qgbl9ieXRlc1tSVEVfQ09MT1JTXTsK LX07Ci0KLXN0cnVjdCBtZXRhcnJheV9ydW50aW1lIHsKLQlzdHJ1Y3QgbWV0ZXIgKm1ldGFycmF5 OwotCXVpbnQzMl90IHNpemVfbWFzazsKLX07Ci0KLS8qCi0gKiBQaXBlbGluZS4KLSAqLwotc3Ry dWN0IHRocmVhZCB7Ci0JLyogUGFja2V0LiAqLwotCXN0cnVjdCBydGVfc3d4X3BrdCBwa3Q7Ci0J dWludDhfdCAqcHRyOwotCi0JLyogU3RydWN0dXJlcy4gKi8KLQl1aW50OF90ICoqc3RydWN0czsK LQotCS8qIFBhY2tldCBoZWFkZXJzLiAqLwotCXN0cnVjdCBoZWFkZXJfcnVudGltZSAqaGVhZGVy czsgLyogRXh0cmFjdGVkIG9yIGdlbmVyYXRlZCBoZWFkZXJzLiAqLwotCXN0cnVjdCBoZWFkZXJf b3V0X3J1bnRpbWUgKmhlYWRlcnNfb3V0OyAvKiBFbWl0dGVkIGhlYWRlcnMuICovCi0JdWludDhf dCAqaGVhZGVyX3N0b3JhZ2U7Ci0JdWludDhfdCAqaGVhZGVyX291dF9zdG9yYWdlOwotCXVpbnQ2 NF90IHZhbGlkX2hlYWRlcnM7Ci0JdWludDMyX3Qgbl9oZWFkZXJzX291dDsKLQotCS8qIFBhY2tl dCBtZXRhLWRhdGEuICovCi0JdWludDhfdCAqbWV0YWRhdGE7Ci0KLQkvKiBUYWJsZXMuICovCi0J c3RydWN0IHRhYmxlX3J1bnRpbWUgKnRhYmxlczsKLQlzdHJ1Y3Qgc2VsZWN0b3JfcnVudGltZSAq c2VsZWN0b3JzOwotCXN0cnVjdCBsZWFybmVyX3J1bnRpbWUgKmxlYXJuZXJzOwotCXN0cnVjdCBy dGVfc3d4X3RhYmxlX3N0YXRlICp0YWJsZV9zdGF0ZTsKLQl1aW50NjRfdCBhY3Rpb25faWQ7Ci0J aW50IGhpdDsgLyogMCA9IE1pc3MsIDEgPSBIaXQuICovCi0JdWludDMyX3QgbGVhcm5lcl9pZDsK LQl1aW50NjRfdCB0aW1lOwotCi0JLyogRXh0ZXJuIG9iamVjdHMgYW5kIGZ1bmN0aW9ucy4gKi8K LQlzdHJ1Y3QgZXh0ZXJuX29ial9ydW50aW1lICpleHRlcm5fb2JqczsKLQlzdHJ1Y3QgZXh0ZXJu X2Z1bmNfcnVudGltZSAqZXh0ZXJuX2Z1bmNzOwotCi0JLyogSW5zdHJ1Y3Rpb25zLiAqLwotCXN0 cnVjdCBpbnN0cnVjdGlvbiAqaXA7Ci0Jc3RydWN0IGluc3RydWN0aW9uICpyZXQ7Ci19OwotCi0j ZGVmaW5lIE1BU0s2NF9CSVRfR0VUKG1hc2ssIHBvcykgKChtYXNrKSAmICgxTExVIDw8IChwb3Mp KSkKLSNkZWZpbmUgTUFTSzY0X0JJVF9TRVQobWFzaywgcG9zKSAoKG1hc2spIHwgKDFMTFUgPDwg KHBvcykpKQotI2RlZmluZSBNQVNLNjRfQklUX0NMUihtYXNrLCBwb3MpICgobWFzaykgJiB+KDFM TFUgPDwgKHBvcykpKQotCi0jZGVmaW5lIEhFQURFUl9WQUxJRCh0aHJlYWQsIGhlYWRlcl9pZCkg XAotCU1BU0s2NF9CSVRfR0VUKCh0aHJlYWQpLT52YWxpZF9oZWFkZXJzLCBoZWFkZXJfaWQpCi0K LSNkZWZpbmUgQUxVKHRocmVhZCwgaXAsIG9wZXJhdG9yKSAgXAoteyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFwKLQl1aW50OF90ICpkc3Rfc3RydWN0ID0gKHRocmVhZCktPnN0cnVjdHNbKGlwKS0+YWx1 LmRzdC5zdHJ1Y3RfaWRdOyAgICAgIFwKLQl1aW50NjRfdCAqZHN0NjRfcHRyID0gKHVpbnQ2NF90 ICopJmRzdF9zdHJ1Y3RbKGlwKS0+YWx1LmRzdC5vZmZzZXRdOyAgIFwKLQl1aW50NjRfdCBkc3Q2 NCA9ICpkc3Q2NF9wdHI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFwKLQl1aW50NjRfdCBkc3Q2NF9tYXNrID0gVUlOVDY0X01BWCA+PiAoNjQgLSAoaXApLT5hbHUu ZHN0Lm5fYml0cyk7ICAgICAgIFwKLQl1aW50NjRfdCBkc3QgPSBkc3Q2NCAmIGRzdDY0X21hc2s7 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLQkJCQkJCQkJCSAgICAgICBc Ci0JdWludDhfdCAqc3JjX3N0cnVjdCA9ICh0aHJlYWQpLT5zdHJ1Y3RzWyhpcCktPmFsdS5zcmMu c3RydWN0X2lkXTsgICAgICBcCi0JdWludDY0X3QgKnNyYzY0X3B0ciA9ICh1aW50NjRfdCAqKSZz cmNfc3RydWN0WyhpcCktPmFsdS5zcmMub2Zmc2V0XTsgICBcCi0JdWludDY0X3Qgc3JjNjQgPSAq c3JjNjRfcHRyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0J dWludDY0X3Qgc3JjNjRfbWFzayA9IFVJTlQ2NF9NQVggPj4gKDY0IC0gKGlwKS0+YWx1LnNyYy5u X2JpdHMpOyAgICAgICBcCi0JdWludDY0X3Qgc3JjID0gc3JjNjQgJiBzcmM2NF9tYXNrOyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0JCQkJCQkJCQkgICAgICAgXAotCXVp bnQ2NF90IHJlc3VsdCA9IGRzdCBvcGVyYXRvciBzcmM7ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXAotCQkJCQkJCQkJICAgICAgIFwKLQkqZHN0NjRfcHRyID0gKGRzdDY0ICYg fmRzdDY0X21hc2spIHwgKHJlc3VsdCAmIGRzdDY0X21hc2spOyAgICAgICAgICAgIFwKLX0KLQot I2lmIFJURV9CWVRFX09SREVSID09IFJURV9MSVRUTEVfRU5ESUFOCi0KLSNkZWZpbmUgQUxVX01I KHRocmVhZCwgaXAsIG9wZXJhdG9yKSAgXAoteyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLQl1aW50 OF90ICpkc3Rfc3RydWN0ID0gKHRocmVhZCktPnN0cnVjdHNbKGlwKS0+YWx1LmRzdC5zdHJ1Y3Rf aWRdOyAgICAgIFwKLQl1aW50NjRfdCAqZHN0NjRfcHRyID0gKHVpbnQ2NF90ICopJmRzdF9zdHJ1 Y3RbKGlwKS0+YWx1LmRzdC5vZmZzZXRdOyAgIFwKLQl1aW50NjRfdCBkc3Q2NCA9ICpkc3Q2NF9w dHI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLQl1aW50NjRf dCBkc3Q2NF9tYXNrID0gVUlOVDY0X01BWCA+PiAoNjQgLSAoaXApLT5hbHUuZHN0Lm5fYml0cyk7 ICAgICAgIFwKLQl1aW50NjRfdCBkc3QgPSBkc3Q2NCAmIGRzdDY0X21hc2s7ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLQkJCQkJCQkJCSAgICAgICBcCi0JdWludDhfdCAq c3JjX3N0cnVjdCA9ICh0aHJlYWQpLT5zdHJ1Y3RzWyhpcCktPmFsdS5zcmMuc3RydWN0X2lkXTsg ICAgICBcCi0JdWludDY0X3QgKnNyYzY0X3B0ciA9ICh1aW50NjRfdCAqKSZzcmNfc3RydWN0Wyhp cCktPmFsdS5zcmMub2Zmc2V0XTsgICBcCi0JdWludDY0X3Qgc3JjNjQgPSAqc3JjNjRfcHRyOyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0JdWludDY0X3Qgc3Jj ID0gbnRvaDY0KHNyYzY0KSA+PiAoNjQgLSAoaXApLT5hbHUuc3JjLm5fYml0cyk7ICAgICAgICAg ICBcCi0JCQkJCQkJCQkgICAgICAgXAotCXVpbnQ2NF90IHJlc3VsdCA9IGRzdCBvcGVyYXRvciBz cmM7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotCQkJCQkJCQkJICAgICAg IFwKLQkqZHN0NjRfcHRyID0gKGRzdDY0ICYgfmRzdDY0X21hc2spIHwgKHJlc3VsdCAmIGRzdDY0 X21hc2spOyAgICAgICAgICAgIFwKLX0KLQotI2RlZmluZSBBTFVfSE0odGhyZWFkLCBpcCwgb3Bl cmF0b3IpICBcCi17ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotCXVpbnQ4X3QgKmRzdF9zdHJ1Y3Qg PSAodGhyZWFkKS0+c3RydWN0c1soaXApLT5hbHUuZHN0LnN0cnVjdF9pZF07ICAgICAgXAotCXVp bnQ2NF90ICpkc3Q2NF9wdHIgPSAodWludDY0X3QgKikmZHN0X3N0cnVjdFsoaXApLT5hbHUuZHN0 Lm9mZnNldF07ICAgXAotCXVpbnQ2NF90IGRzdDY0ID0gKmRzdDY0X3B0cjsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotCXVpbnQ2NF90IGRzdDY0X21hc2sgPSBV SU5UNjRfTUFYID4+ICg2NCAtIChpcCktPmFsdS5kc3Qubl9iaXRzKTsgICAgICAgXAotCXVpbnQ2 NF90IGRzdCA9IG50b2g2NChkc3Q2NCkgPj4gKDY0IC0gKGlwKS0+YWx1LmRzdC5uX2JpdHMpOyAg ICAgICAgICAgXAotCQkJCQkJCQkJICAgICAgIFwKLQl1aW50OF90ICpzcmNfc3RydWN0ID0gKHRo cmVhZCktPnN0cnVjdHNbKGlwKS0+YWx1LnNyYy5zdHJ1Y3RfaWRdOyAgICAgIFwKLQl1aW50NjRf dCAqc3JjNjRfcHRyID0gKHVpbnQ2NF90ICopJnNyY19zdHJ1Y3RbKGlwKS0+YWx1LnNyYy5vZmZz ZXRdOyAgIFwKLQl1aW50NjRfdCBzcmM2NCA9ICpzcmM2NF9wdHI7ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLQl1aW50NjRfdCBzcmM2NF9tYXNrID0gVUlOVDY0 X01BWCA+PiAoNjQgLSAoaXApLT5hbHUuc3JjLm5fYml0cyk7ICAgICAgIFwKLQl1aW50NjRfdCBz cmMgPSBzcmM2NCAmIHNyYzY0X21hc2s7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFwKLQkJCQkJCQkJCSAgICAgICBcCi0JdWludDY0X3QgcmVzdWx0ID0gZHN0IG9wZXJhdG9y IHNyYzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0JcmVzdWx0ID0gaHRv bjY0KHJlc3VsdCA8PCAoNjQgLSAoaXApLT5hbHUuZHN0Lm5fYml0cykpOyAgICAgICAgICAgICAg ICBcCi0JCQkJCQkJCQkgICAgICAgXAotCSpkc3Q2NF9wdHIgPSAoZHN0NjQgJiB+ZHN0NjRfbWFz aykgfCByZXN1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotfQotCi0jZGVmaW5lIEFM VV9ITV9GQVNUKHRocmVhZCwgaXAsIG9wZXJhdG9yKSAgXAoteyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFwKLQl1aW50OF90ICpkc3Rfc3RydWN0ID0gKHRocmVhZCktPnN0cnVjdHNbKGlwKS0+YWx1 LmRzdC5zdHJ1Y3RfaWRdOyAgICAgICAgIFwKLQl1aW50NjRfdCAqZHN0NjRfcHRyID0gKHVpbnQ2 NF90ICopJmRzdF9zdHJ1Y3RbKGlwKS0+YWx1LmRzdC5vZmZzZXRdOyAgICAgIFwKLQl1aW50NjRf dCBkc3Q2NCA9ICpkc3Q2NF9wdHI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFwKLQl1aW50NjRfdCBkc3Q2NF9tYXNrID0gVUlOVDY0X01BWCA+PiAoNjQgLSAo aXApLT5hbHUuZHN0Lm5fYml0cyk7ICAgICAgICAgIFwKLQl1aW50NjRfdCBkc3QgPSBkc3Q2NCAm IGRzdDY0X21hc2s7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLQkJ CQkJCQkJCQkgIFwKLQl1aW50OF90ICpzcmNfc3RydWN0ID0gKHRocmVhZCktPnN0cnVjdHNbKGlw KS0+YWx1LnNyYy5zdHJ1Y3RfaWRdOyAgICAgICAgIFwKLQl1aW50NjRfdCAqc3JjNjRfcHRyID0g KHVpbnQ2NF90ICopJnNyY19zdHJ1Y3RbKGlwKS0+YWx1LnNyYy5vZmZzZXRdOyAgICAgIFwKLQl1 aW50NjRfdCBzcmM2NCA9ICpzcmM2NF9wdHI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFwKLQl1aW50NjRfdCBzcmM2NF9tYXNrID0gVUlOVDY0X01BWCA+PiAo NjQgLSAoaXApLT5hbHUuc3JjLm5fYml0cyk7ICAgICAgICAgIFwKLQl1aW50NjRfdCBzcmMgPSBo dG9uNjQoc3JjNjQgJiBzcmM2NF9tYXNrKSA+PiAoNjQgLSAoaXApLT5hbHUuZHN0Lm5fYml0cyk7 IFwKLQkJCQkJCQkJCQkgIFwKLQl1aW50NjRfdCByZXN1bHQgPSBkc3Qgb3BlcmF0b3Igc3JjOyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLQkJCQkJCQkJCQkgIFwKLQkq ZHN0NjRfcHRyID0gKGRzdDY0ICYgfmRzdDY0X21hc2spIHwgcmVzdWx0OyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFwKLX0KLQotI2RlZmluZSBBTFVfSEgodGhyZWFkLCBpcCwgb3BlcmF0 b3IpICBcCi17ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotCXVpbnQ4X3QgKmRzdF9zdHJ1Y3QgPSAo dGhyZWFkKS0+c3RydWN0c1soaXApLT5hbHUuZHN0LnN0cnVjdF9pZF07ICAgICAgXAotCXVpbnQ2 NF90ICpkc3Q2NF9wdHIgPSAodWludDY0X3QgKikmZHN0X3N0cnVjdFsoaXApLT5hbHUuZHN0Lm9m ZnNldF07ICAgXAotCXVpbnQ2NF90IGRzdDY0ID0gKmRzdDY0X3B0cjsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotCXVpbnQ2NF90IGRzdDY0X21hc2sgPSBVSU5U NjRfTUFYID4+ICg2NCAtIChpcCktPmFsdS5kc3Qubl9iaXRzKTsgICAgICAgXAotCXVpbnQ2NF90 IGRzdCA9IG50b2g2NChkc3Q2NCkgPj4gKDY0IC0gKGlwKS0+YWx1LmRzdC5uX2JpdHMpOyAgICAg ICAgICAgXAotCQkJCQkJCQkJICAgICAgIFwKLQl1aW50OF90ICpzcmNfc3RydWN0ID0gKHRocmVh ZCktPnN0cnVjdHNbKGlwKS0+YWx1LnNyYy5zdHJ1Y3RfaWRdOyAgICAgIFwKLQl1aW50NjRfdCAq c3JjNjRfcHRyID0gKHVpbnQ2NF90ICopJnNyY19zdHJ1Y3RbKGlwKS0+YWx1LnNyYy5vZmZzZXRd OyAgIFwKLQl1aW50NjRfdCBzcmM2NCA9ICpzcmM2NF9wdHI7ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFwKLQl1aW50NjRfdCBzcmMgPSBudG9oNjQoc3JjNjQpID4+ ICg2NCAtIChpcCktPmFsdS5zcmMubl9iaXRzKTsgICAgICAgICAgIFwKLQkJCQkJCQkJCSAgICAg ICBcCi0JdWludDY0X3QgcmVzdWx0ID0gZHN0IG9wZXJhdG9yIHNyYzsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcCi0JcmVzdWx0ID0gaHRvbjY0KHJlc3VsdCA8PCAoNjQgLSAo aXApLT5hbHUuZHN0Lm5fYml0cykpOyAgICAgICAgICAgICAgICBcCi0JCQkJCQkJCQkgICAgICAg XAotCSpkc3Q2NF9wdHIgPSAoZHN0NjQgJiB+ZHN0NjRfbWFzaykgfCByZXN1bHQ7ICAgICAgICAg ICAgICAgICAgICAgICAgICAgXAotfQotCi0jZGVmaW5lIEFMVV9ISF9GQVNUKHRocmVhZCwgaXAs IG9wZXJhdG9yKSAgXAoteyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLQl1 aW50OF90ICpkc3Rfc3RydWN0ID0gKHRocmVhZCktPnN0cnVjdHNbKGlwKS0+YWx1LmRzdC5zdHJ1 Y3RfaWRdOyAgICAgICAgICAgICAgICAgICAgIFwKLQl1aW50NjRfdCAqZHN0NjRfcHRyID0gKHVp bnQ2NF90ICopJmRzdF9zdHJ1Y3RbKGlwKS0+YWx1LmRzdC5vZmZzZXRdOyAgICAgICAgICAgICAg ICAgIFwKLQl1aW50NjRfdCBkc3Q2NCA9ICpkc3Q2NF9wdHI7ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLQl1aW50NjRfdCBkc3Q2NF9t YXNrID0gVUlOVDY0X01BWCA+PiAoNjQgLSAoaXApLT5hbHUuZHN0Lm5fYml0cyk7ICAgICAgICAg ICAgICAgICAgICAgIFwKLQl1aW50NjRfdCBkc3QgPSBkc3Q2NCAmIGRzdDY0X21hc2s7ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLQkJCQkJCQkJ CQkJICAgICAgXAotCXVpbnQ4X3QgKnNyY19zdHJ1Y3QgPSAodGhyZWFkKS0+c3RydWN0c1soaXAp LT5hbHUuc3JjLnN0cnVjdF9pZF07ICAgICAgICAgICAgICAgICAgICAgXAotCXVpbnQ2NF90ICpz cmM2NF9wdHIgPSAodWludDY0X3QgKikmc3JjX3N0cnVjdFsoaXApLT5hbHUuc3JjLm9mZnNldF07 ICAgICAgICAgICAgICAgICAgXAotCXVpbnQ2NF90IHNyYzY0ID0gKnNyYzY0X3B0cjsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotCXVp bnQ2NF90IHNyYyA9IChzcmM2NCA8PCAoNjQgLSAoaXApLT5hbHUuc3JjLm5fYml0cykpID4+ICg2 NCAtIChpcCktPmFsdS5kc3Qubl9iaXRzKTsgXAotCQkJCQkJCQkJCQkgICAgICBcCi0JdWludDY0 X3QgcmVzdWx0ID0gZHN0IG9wZXJhdG9yIHNyYzsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcCi0JCQkJCQkJCQkJCSAgICAgIFwKLQkqZHN0NjRfcHRy ID0gKGRzdDY0ICYgfmRzdDY0X21hc2spIHwgcmVzdWx0OyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFwKLX0KLQotI2Vsc2UKLQotI2RlZmluZSBBTFVfTUggQUxVCi0j ZGVmaW5lIEFMVV9ITSBBTFUKLSNkZWZpbmUgQUxVX0hNX0ZBU1QgQUxVCi0jZGVmaW5lIEFMVV9I SCBBTFUKLSNkZWZpbmUgQUxVX0hIX0ZBU1QgQUxVCi0KLSNlbmRpZgotCi0jZGVmaW5lIEFMVV9J KHRocmVhZCwgaXAsIG9wZXJhdG9yKSAgXAoteyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLQl1aW50 OF90ICpkc3Rfc3RydWN0ID0gKHRocmVhZCktPnN0cnVjdHNbKGlwKS0+YWx1LmRzdC5zdHJ1Y3Rf aWRdOyAgICAgIFwKLQl1aW50NjRfdCAqZHN0NjRfcHRyID0gKHVpbnQ2NF90ICopJmRzdF9zdHJ1 Y3RbKGlwKS0+YWx1LmRzdC5vZmZzZXRdOyAgIFwKLQl1aW50NjRfdCBkc3Q2NCA9ICpkc3Q2NF9w dHI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLQl1aW50NjRf dCBkc3Q2NF9tYXNrID0gVUlOVDY0X01BWCA+PiAoNjQgLSAoaXApLT5hbHUuZHN0Lm5fYml0cyk7 ICAgICAgIFwKLQl1aW50NjRfdCBkc3QgPSBkc3Q2NCAmIGRzdDY0X21hc2s7ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLQkJCQkJCQkJCSAgICAgICBcCi0JdWludDY0X3Qg c3JjID0gKGlwKS0+YWx1LnNyY192YWw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBcCi0JCQkJCQkJCQkgICAgICAgXAotCXVpbnQ2NF90IHJlc3VsdCA9IGRzdCBvcGVyYXRv ciBzcmM7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotCQkJCQkJCQkJICAg ICAgIFwKLQkqZHN0NjRfcHRyID0gKGRzdDY0ICYgfmRzdDY0X21hc2spIHwgKHJlc3VsdCAmIGRz dDY0X21hc2spOyAgICAgICAgICAgIFwKLX0KLQotI2RlZmluZSBBTFVfTUkgQUxVX0kKLQotI2lm IFJURV9CWVRFX09SREVSID09IFJURV9MSVRUTEVfRU5ESUFOCi0KLSNkZWZpbmUgQUxVX0hJKHRo cmVhZCwgaXAsIG9wZXJhdG9yKSAgXAoteyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLQl1aW50OF90 ICpkc3Rfc3RydWN0ID0gKHRocmVhZCktPnN0cnVjdHNbKGlwKS0+YWx1LmRzdC5zdHJ1Y3RfaWRd OyAgICAgIFwKLQl1aW50NjRfdCAqZHN0NjRfcHRyID0gKHVpbnQ2NF90ICopJmRzdF9zdHJ1Y3Rb KGlwKS0+YWx1LmRzdC5vZmZzZXRdOyAgIFwKLQl1aW50NjRfdCBkc3Q2NCA9ICpkc3Q2NF9wdHI7 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLQl1aW50NjRfdCBk c3Q2NF9tYXNrID0gVUlOVDY0X01BWCA+PiAoNjQgLSAoaXApLT5hbHUuZHN0Lm5fYml0cyk7ICAg ICAgIFwKLQl1aW50NjRfdCBkc3QgPSBudG9oNjQoZHN0NjQpID4+ICg2NCAtIChpcCktPmFsdS5k c3Qubl9iaXRzKTsgICAgICAgICAgIFwKLQkJCQkJCQkJCSAgICAgICBcCi0JdWludDY0X3Qgc3Jj ID0gKGlwKS0+YWx1LnNyY192YWw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcCi0JCQkJCQkJCQkgICAgICAgXAotCXVpbnQ2NF90IHJlc3VsdCA9IGRzdCBvcGVyYXRvciBz cmM7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotCXJlc3VsdCA9IGh0b242 NChyZXN1bHQgPDwgKDY0IC0gKGlwKS0+YWx1LmRzdC5uX2JpdHMpKTsgICAgICAgICAgICAgICAg XAotCQkJCQkJCQkJICAgICAgIFwKLQkqZHN0NjRfcHRyID0gKGRzdDY0ICYgfmRzdDY0X21hc2sp IHwgcmVzdWx0OyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLX0KLQotI2Vsc2UKLQotI2Rl ZmluZSBBTFVfSEkgQUxVX0kKLQotI2VuZGlmCi0KLSNkZWZpbmUgTU9WKHRocmVhZCwgaXApICBc Ci17ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXAotCXVpbnQ4X3QgKmRzdF9zdHJ1Y3QgPSAodGhyZWFk KS0+c3RydWN0c1soaXApLT5tb3YuZHN0LnN0cnVjdF9pZF07ICAgICAgXAotCXVpbnQ2NF90ICpk c3Q2NF9wdHIgPSAodWludDY0X3QgKikmZHN0X3N0cnVjdFsoaXApLT5tb3YuZHN0Lm9mZnNldF07 ICAgXAotCXVpbnQ2NF90IGRzdDY0ID0gKmRzdDY0X3B0cjsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXAotCXVpbnQ2NF90IGRzdDY0X21hc2sgPSBVSU5UNjRfTUFY ID4+ICg2NCAtIChpcCktPm1vdi5kc3Qubl9iaXRzKTsgICAgICAgXAotCQkJCQkJCQkJICAgICAg IFwKLQl1aW50OF90ICpzcmNfc3RydWN0ID0gKHRocmVhZCktPnN0cnVjdHNbKGlwKS0+bW92LnNy Yy5zdHJ1Y3RfaWRdOyAgICAgIFwKLQl1aW50NjRfdCAqc3JjNjRfcHRyID0gKHVpbnQ2NF90ICop JnNyY19zdHJ1Y3RbKGlwKS0+bW92LnNyYy5vZmZzZXRdOyAgIFwKLQl1aW50NjRfdCBzcmM2NCA9 ICpzcmM2NF9wdHI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK LQl1aW50NjRfdCBzcmM2NF9tYXNrID0gVUlOVDY0X01BWCA+PiAoNjQgLSAoaXApLT5tb3Yuc3Jj Lm5fYml0cyk7ICAgICAgIFwKLQl1aW50NjRfdCBzcmMgPSBzcmM2NCAmIHNyYzY0X21hc2s7ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLQkJCQkJCQkJCSAgICAgICBcCi0J KmRzdDY0X3B0ciA9IChkc3Q2NCAmIH5kc3Q2NF9tYXNrKSB8IChzcmMgJiBkc3Q2NF9tYXNrKTsg ICAgICAgICAgICAgICBcCi19Ci0KLSNpZiBSVEVfQllURV9PUkRFUiA9PSBSVEVfTElUVExFX0VO RElBTgotCi0jZGVmaW5lIE1PVl9NSCh0aHJlYWQsIGlwKSAgXAoteyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFwKLQl1aW50OF90ICpkc3Rfc3RydWN0ID0gKHRocmVhZCktPnN0cnVjdHNbKGlwKS0+bW92 LmRzdC5zdHJ1Y3RfaWRdOyAgICAgIFwKLQl1aW50NjRfdCAqZHN0NjRfcHRyID0gKHVpbnQ2NF90 ICopJmRzdF9zdHJ1Y3RbKGlwKS0+bW92LmRzdC5vZmZzZXRdOyAgIFwKLQl1aW50NjRfdCBkc3Q2 NCA9ICpkc3Q2NF9wdHI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFwKLQl1aW50NjRfdCBkc3Q2NF9tYXNrID0gVUlOVDY0X01BWCA+PiAoNjQgLSAoaXApLT5tb3Yu ZHN0Lm5fYml0cyk7ICAgICAgIFwKLQkJCQkJCQkJCSAgICAgICBcCi0JdWludDhfdCAqc3JjX3N0 cnVjdCA9ICh0aHJlYWQpLT5zdHJ1Y3RzWyhpcCktPm1vdi5zcmMuc3RydWN0X2lkXTsgICAgICBc Ci0JdWludDY0X3QgKnNyYzY0X3B0ciA9ICh1aW50NjRfdCAqKSZzcmNfc3RydWN0WyhpcCktPm1v di5zcmMub2Zmc2V0XTsgICBcCi0JdWludDY0X3Qgc3JjNjQgPSAqc3JjNjRfcHRyOyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0JdWludDY0X3Qgc3JjID0gbnRv aDY0KHNyYzY0KSA+PiAoNjQgLSAoaXApLT5tb3Yuc3JjLm5fYml0cyk7ICAgICAgICAgICBcCi0J CQkJCQkJCQkgICAgICAgXAotCSpkc3Q2NF9wdHIgPSAoZHN0NjQgJiB+ZHN0NjRfbWFzaykgfCAo c3JjICYgZHN0NjRfbWFzayk7ICAgICAgICAgICAgICAgXAotfQotCi0jZGVmaW5lIE1PVl9ITSh0 aHJlYWQsIGlwKSAgXAoteyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLQl1aW50OF90ICpkc3Rfc3Ry dWN0ID0gKHRocmVhZCktPnN0cnVjdHNbKGlwKS0+bW92LmRzdC5zdHJ1Y3RfaWRdOyAgICAgIFwK LQl1aW50NjRfdCAqZHN0NjRfcHRyID0gKHVpbnQ2NF90ICopJmRzdF9zdHJ1Y3RbKGlwKS0+bW92 LmRzdC5vZmZzZXRdOyAgIFwKLQl1aW50NjRfdCBkc3Q2NCA9ICpkc3Q2NF9wdHI7ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLQl1aW50NjRfdCBkc3Q2NF9tYXNr ID0gVUlOVDY0X01BWCA+PiAoNjQgLSAoaXApLT5tb3YuZHN0Lm5fYml0cyk7ICAgICAgIFwKLQkJ CQkJCQkJCSAgICAgICBcCi0JdWludDhfdCAqc3JjX3N0cnVjdCA9ICh0aHJlYWQpLT5zdHJ1Y3Rz WyhpcCktPm1vdi5zcmMuc3RydWN0X2lkXTsgICAgICBcCi0JdWludDY0X3QgKnNyYzY0X3B0ciA9 ICh1aW50NjRfdCAqKSZzcmNfc3RydWN0WyhpcCktPm1vdi5zcmMub2Zmc2V0XTsgICBcCi0JdWlu dDY0X3Qgc3JjNjQgPSAqc3JjNjRfcHRyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBcCi0JdWludDY0X3Qgc3JjNjRfbWFzayA9IFVJTlQ2NF9NQVggPj4gKDY0IC0g KGlwKS0+bW92LnNyYy5uX2JpdHMpOyAgICAgICBcCi0JdWludDY0X3Qgc3JjID0gc3JjNjQgJiBz cmM2NF9tYXNrOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0JCQkJCQkJ CQkgICAgICAgXAotCXNyYyA9IGh0b242NChzcmMpID4+ICg2NCAtIChpcCktPm1vdi5kc3Qubl9i aXRzKTsgICAgICAgICAgICAgICAgICAgICAgXAotCSpkc3Q2NF9wdHIgPSAoZHN0NjQgJiB+ZHN0 NjRfbWFzaykgfCBzcmM7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotfQotCi0jZGVm aW5lIE1PVl9ISCh0aHJlYWQsIGlwKSAgXAoteyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLQl1aW50 OF90ICpkc3Rfc3RydWN0ID0gKHRocmVhZCktPnN0cnVjdHNbKGlwKS0+bW92LmRzdC5zdHJ1Y3Rf aWRdOyAgICAgIFwKLQl1aW50NjRfdCAqZHN0NjRfcHRyID0gKHVpbnQ2NF90ICopJmRzdF9zdHJ1 Y3RbKGlwKS0+bW92LmRzdC5vZmZzZXRdOyAgIFwKLQl1aW50NjRfdCBkc3Q2NCA9ICpkc3Q2NF9w dHI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLQl1aW50NjRf dCBkc3Q2NF9tYXNrID0gVUlOVDY0X01BWCA+PiAoNjQgLSAoaXApLT5tb3YuZHN0Lm5fYml0cyk7 ICAgICAgIFwKLQkJCQkJCQkJCSAgICAgICBcCi0JdWludDhfdCAqc3JjX3N0cnVjdCA9ICh0aHJl YWQpLT5zdHJ1Y3RzWyhpcCktPm1vdi5zcmMuc3RydWN0X2lkXTsgICAgICBcCi0JdWludDY0X3Qg KnNyYzY0X3B0ciA9ICh1aW50NjRfdCAqKSZzcmNfc3RydWN0WyhpcCktPm1vdi5zcmMub2Zmc2V0 XTsgICBcCi0JdWludDY0X3Qgc3JjNjQgPSAqc3JjNjRfcHRyOyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcCi0JCQkJCQkJCQkgICAgICAgXAotCXVpbnQ2NF90IHNy YyA9IHNyYzY0IDw8ICg2NCAtIChpcCktPm1vdi5zcmMubl9iaXRzKTsgICAgICAgICAgICAgICAg ICAgXAotCXNyYyA9IHNyYyA+PiAoNjQgLSAoaXApLT5tb3YuZHN0Lm5fYml0cyk7ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXAotCSpkc3Q2NF9wdHIgPSAoZHN0NjQgJiB+ZHN0NjRfbWFz aykgfCBzcmM7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotfQotCi0jZWxzZQotCi0j ZGVmaW5lIE1PVl9NSCBNT1YKLSNkZWZpbmUgTU9WX0hNIE1PVgotI2RlZmluZSBNT1ZfSEggTU9W Ci0KLSNlbmRpZgotCi0jZGVmaW5lIE1PVl9JKHRocmVhZCwgaXApICBcCi17ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXAotCXVpbnQ4X3QgKmRzdF9zdHJ1Y3QgPSAodGhyZWFkKS0+c3RydWN0c1soaXAp LT5tb3YuZHN0LnN0cnVjdF9pZF07ICAgICAgXAotCXVpbnQ2NF90ICpkc3Q2NF9wdHIgPSAodWlu dDY0X3QgKikmZHN0X3N0cnVjdFsoaXApLT5tb3YuZHN0Lm9mZnNldF07ICAgXAotCXVpbnQ2NF90 IGRzdDY0ID0gKmRzdDY0X3B0cjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXAotCXVpbnQ2NF90IGRzdDY0X21hc2sgPSBVSU5UNjRfTUFYID4+ICg2NCAtIChpcCkt Pm1vdi5kc3Qubl9iaXRzKTsgICAgICAgXAotCQkJCQkJCQkJICAgICAgIFwKLQl1aW50NjRfdCBz cmMgPSAoaXApLT5tb3Yuc3JjX3ZhbDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFwKLQkJCQkJCQkJCSAgICAgICBcCi0JKmRzdDY0X3B0ciA9IChkc3Q2NCAmIH5kc3Q2NF9t YXNrKSB8IChzcmMgJiBkc3Q2NF9tYXNrKTsgICAgICAgICAgICAgICBcCi19Ci0KLSNkZWZpbmUg Sk1QX0NNUCh0aHJlYWQsIGlwLCBvcGVyYXRvcikgIFwKLXsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc Ci0JdWludDhfdCAqYV9zdHJ1Y3QgPSAodGhyZWFkKS0+c3RydWN0c1soaXApLT5qbXAuYS5zdHJ1 Y3RfaWRdOyAgICAgICAgICBcCi0JdWludDY0X3QgKmE2NF9wdHIgPSAodWludDY0X3QgKikmYV9z dHJ1Y3RbKGlwKS0+am1wLmEub2Zmc2V0XTsgICAgICAgICBcCi0JdWludDY0X3QgYTY0ID0gKmE2 NF9wdHI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0J dWludDY0X3QgYTY0X21hc2sgPSBVSU5UNjRfTUFYID4+ICg2NCAtIChpcCktPmptcC5hLm5fYml0 cyk7ICAgICAgICAgICBcCi0JdWludDY0X3QgYSA9IGE2NCAmIGE2NF9tYXNrOyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0JCQkJCQkJCQkgICAgICAgXAotCXVp bnQ4X3QgKmJfc3RydWN0ID0gKHRocmVhZCktPnN0cnVjdHNbKGlwKS0+am1wLmIuc3RydWN0X2lk XTsgICAgICAgICAgXAotCXVpbnQ2NF90ICpiNjRfcHRyID0gKHVpbnQ2NF90ICopJmJfc3RydWN0 WyhpcCktPmptcC5iLm9mZnNldF07ICAgICAgICAgXAotCXVpbnQ2NF90IGI2NCA9ICpiNjRfcHRy OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotCXVpbnQ2 NF90IGI2NF9tYXNrID0gVUlOVDY0X01BWCA+PiAoNjQgLSAoaXApLT5qbXAuYi5uX2JpdHMpOyAg ICAgICAgICAgXAotCXVpbnQ2NF90IGIgPSBiNjQgJiBiNjRfbWFzazsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotCQkJCQkJCQkJICAgICAgIFwKLQkodGhyZWFk KS0+aXAgPSAoYSBvcGVyYXRvciBiKSA/IChpcCktPmptcC5pcCA6ICgodGhyZWFkKS0+aXAgKyAx KTsgICAgIFwKLX0KLQotI2lmIFJURV9CWVRFX09SREVSID09IFJURV9MSVRUTEVfRU5ESUFOCi0K LSNkZWZpbmUgSk1QX0NNUF9NSCh0aHJlYWQsIGlwLCBvcGVyYXRvcikgIFwKLXsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBcCi0JdWludDhfdCAqYV9zdHJ1Y3QgPSAodGhyZWFkKS0+c3RydWN0c1soaXAp LT5qbXAuYS5zdHJ1Y3RfaWRdOyAgICAgICAgICBcCi0JdWludDY0X3QgKmE2NF9wdHIgPSAodWlu dDY0X3QgKikmYV9zdHJ1Y3RbKGlwKS0+am1wLmEub2Zmc2V0XTsgICAgICAgICBcCi0JdWludDY0 X3QgYTY0ID0gKmE2NF9wdHI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcCi0JdWludDY0X3QgYTY0X21hc2sgPSBVSU5UNjRfTUFYID4+ICg2NCAtIChpcCkt PmptcC5hLm5fYml0cyk7ICAgICAgICAgICBcCi0JdWludDY0X3QgYSA9IGE2NCAmIGE2NF9tYXNr OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0JCQkJCQkJCQkg ICAgICAgXAotCXVpbnQ4X3QgKmJfc3RydWN0ID0gKHRocmVhZCktPnN0cnVjdHNbKGlwKS0+am1w LmIuc3RydWN0X2lkXTsgICAgICAgICAgXAotCXVpbnQ2NF90ICpiNjRfcHRyID0gKHVpbnQ2NF90 ICopJmJfc3RydWN0WyhpcCktPmptcC5iLm9mZnNldF07ICAgICAgICAgXAotCXVpbnQ2NF90IGI2 NCA9ICpiNjRfcHRyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXAotCXVpbnQ2NF90IGIgPSBudG9oNjQoYjY0KSA+PiAoNjQgLSAoaXApLT5qbXAuYi5uX2Jp dHMpOyAgICAgICAgICAgICAgICAgXAotCQkJCQkJCQkJICAgICAgIFwKLQkodGhyZWFkKS0+aXAg PSAoYSBvcGVyYXRvciBiKSA/IChpcCktPmptcC5pcCA6ICgodGhyZWFkKS0+aXAgKyAxKTsgICAg IFwKLX0KLQotI2RlZmluZSBKTVBfQ01QX0hNKHRocmVhZCwgaXAsIG9wZXJhdG9yKSAgXAoteyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFwKLQl1aW50OF90ICphX3N0cnVjdCA9ICh0aHJlYWQpLT5zdHJ1 Y3RzWyhpcCktPmptcC5hLnN0cnVjdF9pZF07ICAgICAgICAgIFwKLQl1aW50NjRfdCAqYTY0X3B0 ciA9ICh1aW50NjRfdCAqKSZhX3N0cnVjdFsoaXApLT5qbXAuYS5vZmZzZXRdOyAgICAgICAgIFwK LQl1aW50NjRfdCBhNjQgPSAqYTY0X3B0cjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFwKLQl1aW50NjRfdCBhID0gbnRvaDY0KGE2NCkgPj4gKDY0IC0gKGlw KS0+am1wLmEubl9iaXRzKTsgICAgICAgICAgICAgICAgIFwKLQkJCQkJCQkJCSAgICAgICBcCi0J dWludDhfdCAqYl9zdHJ1Y3QgPSAodGhyZWFkKS0+c3RydWN0c1soaXApLT5qbXAuYi5zdHJ1Y3Rf aWRdOyAgICAgICAgICBcCi0JdWludDY0X3QgKmI2NF9wdHIgPSAodWludDY0X3QgKikmYl9zdHJ1 Y3RbKGlwKS0+am1wLmIub2Zmc2V0XTsgICAgICAgICBcCi0JdWludDY0X3QgYjY0ID0gKmI2NF9w dHI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0JdWlu dDY0X3QgYjY0X21hc2sgPSBVSU5UNjRfTUFYID4+ICg2NCAtIChpcCktPmptcC5iLm5fYml0cyk7 ICAgICAgICAgICBcCi0JdWludDY0X3QgYiA9IGI2NCAmIGI2NF9tYXNrOyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0JCQkJCQkJCQkgICAgICAgXAotCSh0aHJl YWQpLT5pcCA9IChhIG9wZXJhdG9yIGIpID8gKGlwKS0+am1wLmlwIDogKCh0aHJlYWQpLT5pcCAr IDEpOyAgICAgXAotfQotCi0jZGVmaW5lIEpNUF9DTVBfSEgodGhyZWFkLCBpcCwgb3BlcmF0b3Ip ICBcCi17ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotCXVpbnQ4X3QgKmFfc3RydWN0ID0gKHRocmVh ZCktPnN0cnVjdHNbKGlwKS0+am1wLmEuc3RydWN0X2lkXTsgICAgICAgICAgXAotCXVpbnQ2NF90 ICphNjRfcHRyID0gKHVpbnQ2NF90ICopJmFfc3RydWN0WyhpcCktPmptcC5hLm9mZnNldF07ICAg ICAgICAgXAotCXVpbnQ2NF90IGE2NCA9ICphNjRfcHRyOyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXAotCXVpbnQ2NF90IGEgPSBudG9oNjQoYTY0KSA+PiAo NjQgLSAoaXApLT5qbXAuYS5uX2JpdHMpOyAgICAgICAgICAgICAgICAgXAotCQkJCQkJCQkJICAg ICAgIFwKLQl1aW50OF90ICpiX3N0cnVjdCA9ICh0aHJlYWQpLT5zdHJ1Y3RzWyhpcCktPmptcC5i LnN0cnVjdF9pZF07ICAgICAgICAgIFwKLQl1aW50NjRfdCAqYjY0X3B0ciA9ICh1aW50NjRfdCAq KSZiX3N0cnVjdFsoaXApLT5qbXAuYi5vZmZzZXRdOyAgICAgICAgIFwKLQl1aW50NjRfdCBiNjQg PSAqYjY0X3B0cjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFwKLQl1aW50NjRfdCBiID0gbnRvaDY0KGI2NCkgPj4gKDY0IC0gKGlwKS0+am1wLmIubl9iaXRz KTsgICAgICAgICAgICAgICAgIFwKLQkJCQkJCQkJCSAgICAgICBcCi0JKHRocmVhZCktPmlwID0g KGEgb3BlcmF0b3IgYikgPyAoaXApLT5qbXAuaXAgOiAoKHRocmVhZCktPmlwICsgMSk7ICAgICBc Ci19Ci0KLSNkZWZpbmUgSk1QX0NNUF9ISF9GQVNUKHRocmVhZCwgaXAsIG9wZXJhdG9yKSAgXAot eyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFwKLQl1aW50OF90ICphX3N0cnVjdCA9ICh0aHJlYWQpLT5z dHJ1Y3RzWyhpcCktPmptcC5hLnN0cnVjdF9pZF07ICAgICAgICAgIFwKLQl1aW50NjRfdCAqYTY0 X3B0ciA9ICh1aW50NjRfdCAqKSZhX3N0cnVjdFsoaXApLT5qbXAuYS5vZmZzZXRdOyAgICAgICAg IFwKLQl1aW50NjRfdCBhNjQgPSAqYTY0X3B0cjsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFwKLQl1aW50NjRfdCBhID0gYTY0IDw8ICg2NCAtIChpcCktPmpt cC5hLm5fYml0cyk7ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLQkJCQkJCQkJCSAgICAgICBc Ci0JdWludDhfdCAqYl9zdHJ1Y3QgPSAodGhyZWFkKS0+c3RydWN0c1soaXApLT5qbXAuYi5zdHJ1 Y3RfaWRdOyAgICAgICAgICBcCi0JdWludDY0X3QgKmI2NF9wdHIgPSAodWludDY0X3QgKikmYl9z dHJ1Y3RbKGlwKS0+am1wLmIub2Zmc2V0XTsgICAgICAgICBcCi0JdWludDY0X3QgYjY0ID0gKmI2 NF9wdHI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0J dWludDY0X3QgYiA9IGI2NCA8PCAoNjQgLSAoaXApLT5qbXAuYi5uX2JpdHMpOyAgICAgICAgICAg ICAgICAgICAgICAgICBcCi0JCQkJCQkJCQkgICAgICAgXAotCSh0aHJlYWQpLT5pcCA9IChhIG9w ZXJhdG9yIGIpID8gKGlwKS0+am1wLmlwIDogKCh0aHJlYWQpLT5pcCArIDEpOyAgICAgXAotfQot Ci0jZWxzZQotCi0jZGVmaW5lIEpNUF9DTVBfTUggSk1QX0NNUAotI2RlZmluZSBKTVBfQ01QX0hN IEpNUF9DTVAKLSNkZWZpbmUgSk1QX0NNUF9ISCBKTVBfQ01QCi0jZGVmaW5lIEpNUF9DTVBfSEhf RkFTVCBKTVBfQ01QCi0KLSNlbmRpZgotCi0jZGVmaW5lIEpNUF9DTVBfSSh0aHJlYWQsIGlwLCBv cGVyYXRvcikgIFwKLXsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0JdWludDhfdCAqYV9zdHJ1Y3Qg PSAodGhyZWFkKS0+c3RydWN0c1soaXApLT5qbXAuYS5zdHJ1Y3RfaWRdOyAgICAgICAgICBcCi0J dWludDY0X3QgKmE2NF9wdHIgPSAodWludDY0X3QgKikmYV9zdHJ1Y3RbKGlwKS0+am1wLmEub2Zm c2V0XTsgICAgICAgICBcCi0JdWludDY0X3QgYTY0ID0gKmE2NF9wdHI7ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0JdWludDY0X3QgYTY0X21hc2sgPSBV SU5UNjRfTUFYID4+ICg2NCAtIChpcCktPmptcC5hLm5fYml0cyk7ICAgICAgICAgICBcCi0JdWlu dDY0X3QgYSA9IGE2NCAmIGE2NF9tYXNrOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBcCi0JCQkJCQkJCQkgICAgICAgXAotCXVpbnQ2NF90IGIgPSAoaXApLT5qbXAu Yl92YWw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotCQkJCQkJ CQkJICAgICAgIFwKLQkodGhyZWFkKS0+aXAgPSAoYSBvcGVyYXRvciBiKSA/IChpcCktPmptcC5p cCA6ICgodGhyZWFkKS0+aXAgKyAxKTsgICAgIFwKLX0KLQotI2RlZmluZSBKTVBfQ01QX01JIEpN UF9DTVBfSQotCi0jaWYgUlRFX0JZVEVfT1JERVIgPT0gUlRFX0xJVFRMRV9FTkRJQU4KLQotI2Rl ZmluZSBKTVBfQ01QX0hJKHRocmVhZCwgaXAsIG9wZXJhdG9yKSAgXAoteyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFwKLQl1aW50OF90ICphX3N0cnVjdCA9ICh0aHJlYWQpLT5zdHJ1Y3RzWyhpcCktPmpt cC5hLnN0cnVjdF9pZF07ICAgICAgICAgIFwKLQl1aW50NjRfdCAqYTY0X3B0ciA9ICh1aW50NjRf dCAqKSZhX3N0cnVjdFsoaXApLT5qbXAuYS5vZmZzZXRdOyAgICAgICAgIFwKLQl1aW50NjRfdCBh NjQgPSAqYTY0X3B0cjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFwKLQl1aW50NjRfdCBhID0gbnRvaDY0KGE2NCkgPj4gKDY0IC0gKGlwKS0+am1wLmEubl9i aXRzKTsgICAgICAgICAgICAgICAgIFwKLQkJCQkJCQkJCSAgICAgICBcCi0JdWludDY0X3QgYiA9 IChpcCktPmptcC5iX3ZhbDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcCi0JCQkJCQkJCQkgICAgICAgXAotCSh0aHJlYWQpLT5pcCA9IChhIG9wZXJhdG9yIGIpID8g KGlwKS0+am1wLmlwIDogKCh0aHJlYWQpLT5pcCArIDEpOyAgICAgXAotfQotCi0jZWxzZQotCi0j ZGVmaW5lIEpNUF9DTVBfSEkgSk1QX0NNUF9JCi0KLSNlbmRpZgotCi0jZGVmaW5lIE1FVEFEQVRB X1JFQUQodGhyZWFkLCBvZmZzZXQsIG5fYml0cykgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXAotKHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLQl1aW50NjRfdCAqbTY0X3B0ciA9ICh1 aW50NjRfdCAqKSYodGhyZWFkKS0+bWV0YWRhdGFbb2Zmc2V0XTsgICAgICAgICAgIFwKLQl1aW50 NjRfdCBtNjQgPSAqbTY0X3B0cjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFwKLQl1aW50NjRfdCBtNjRfbWFzayA9IFVJTlQ2NF9NQVggPj4gKDY0IC0gKG5f Yml0cykpOyAgICAgICAgICAgICAgICAgICAgIFwKLQkobTY0ICYgbTY0X21hc2spOyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLX0pCi0KLSNk ZWZpbmUgTUVUQURBVEFfV1JJVEUodGhyZWFkLCBvZmZzZXQsIG5fYml0cywgdmFsdWUpICAgICAg ICAgICAgICAgICAgICAgICAgICBcCi17ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotCXVpbnQ2NF90 ICptNjRfcHRyID0gKHVpbnQ2NF90ICopJih0aHJlYWQpLT5tZXRhZGF0YVtvZmZzZXRdOyAgICAg ICAgICAgXAotCXVpbnQ2NF90IG02NCA9ICptNjRfcHRyOyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXAotCXVpbnQ2NF90IG02NF9tYXNrID0gVUlOVDY0X01B WCA+PiAoNjQgLSAobl9iaXRzKSk7ICAgICAgICAgICAgICAgICAgICAgXAotCQkJCQkJCQkJICAg ICAgIFwKLQl1aW50NjRfdCBtX25ldyA9IHZhbHVlOyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFwKLQkJCQkJCQkJCSAgICAgICBcCi0JKm02NF9wdHIgPSAo bTY0ICYgfm02NF9tYXNrKSB8IChtX25ldyAmIG02NF9tYXNrKTsgICAgICAgICAgICAgICAgICAg ICBcCi19Ci0KLSNpZm5kZWYgUlRFX1NXWF9QSVBFTElORV9USFJFQURTX01BWAotI2RlZmluZSBS VEVfU1dYX1BJUEVMSU5FX1RIUkVBRFNfTUFYIDE2Ci0jZW5kaWYKLQotc3RydWN0IHJ0ZV9zd3hf cGlwZWxpbmUgewotCXN0cnVjdCBzdHJ1Y3RfdHlwZV90YWlscSBzdHJ1Y3RfdHlwZXM7Ci0Jc3Ry dWN0IHBvcnRfaW5fdHlwZV90YWlscSBwb3J0X2luX3R5cGVzOwotCXN0cnVjdCBwb3J0X2luX3Rh aWxxIHBvcnRzX2luOwotCXN0cnVjdCBwb3J0X291dF90eXBlX3RhaWxxIHBvcnRfb3V0X3R5cGVz OwotCXN0cnVjdCBwb3J0X291dF90YWlscSBwb3J0c19vdXQ7Ci0Jc3RydWN0IGV4dGVybl90eXBl X3RhaWxxIGV4dGVybl90eXBlczsKLQlzdHJ1Y3QgZXh0ZXJuX29ial90YWlscSBleHRlcm5fb2Jq czsKLQlzdHJ1Y3QgZXh0ZXJuX2Z1bmNfdGFpbHEgZXh0ZXJuX2Z1bmNzOwotCXN0cnVjdCBoZWFk ZXJfdGFpbHEgaGVhZGVyczsKLQlzdHJ1Y3Qgc3RydWN0X3R5cGUgKm1ldGFkYXRhX3N0OwotCXVp bnQzMl90IG1ldGFkYXRhX3N0cnVjdF9pZDsKLQlzdHJ1Y3QgYWN0aW9uX3RhaWxxIGFjdGlvbnM7 Ci0Jc3RydWN0IHRhYmxlX3R5cGVfdGFpbHEgdGFibGVfdHlwZXM7Ci0Jc3RydWN0IHRhYmxlX3Rh aWxxIHRhYmxlczsKLQlzdHJ1Y3Qgc2VsZWN0b3JfdGFpbHEgc2VsZWN0b3JzOwotCXN0cnVjdCBs ZWFybmVyX3RhaWxxIGxlYXJuZXJzOwotCXN0cnVjdCByZWdhcnJheV90YWlscSByZWdhcnJheXM7 Ci0Jc3RydWN0IG1ldGVyX3Byb2ZpbGVfdGFpbHEgbWV0ZXJfcHJvZmlsZXM7Ci0Jc3RydWN0IG1l dGFycmF5X3RhaWxxIG1ldGFycmF5czsKLQotCXN0cnVjdCBwb3J0X2luX3J1bnRpbWUgKmluOwot CXN0cnVjdCBwb3J0X291dF9ydW50aW1lICpvdXQ7Ci0Jc3RydWN0IGluc3RydWN0aW9uICoqYWN0 aW9uX2luc3RydWN0aW9uczsKLQlzdHJ1Y3QgcnRlX3N3eF90YWJsZV9zdGF0ZSAqdGFibGVfc3Rh dGU7Ci0Jc3RydWN0IHRhYmxlX3N0YXRpc3RpY3MgKnRhYmxlX3N0YXRzOwotCXN0cnVjdCBzZWxl Y3Rvcl9zdGF0aXN0aWNzICpzZWxlY3Rvcl9zdGF0czsKLQlzdHJ1Y3QgbGVhcm5lcl9zdGF0aXN0 aWNzICpsZWFybmVyX3N0YXRzOwotCXN0cnVjdCByZWdhcnJheV9ydW50aW1lICpyZWdhcnJheV9y dW50aW1lOwotCXN0cnVjdCBtZXRhcnJheV9ydW50aW1lICptZXRhcnJheV9ydW50aW1lOwotCXN0 cnVjdCBpbnN0cnVjdGlvbiAqaW5zdHJ1Y3Rpb25zOwotCXN0cnVjdCB0aHJlYWQgdGhyZWFkc1tS VEVfU1dYX1BJUEVMSU5FX1RIUkVBRFNfTUFYXTsKLQotCXVpbnQzMl90IG5fc3RydWN0czsKLQl1 aW50MzJfdCBuX3BvcnRzX2luOwotCXVpbnQzMl90IG5fcG9ydHNfb3V0OwotCXVpbnQzMl90IG5f ZXh0ZXJuX29ianM7Ci0JdWludDMyX3Qgbl9leHRlcm5fZnVuY3M7Ci0JdWludDMyX3Qgbl9hY3Rp b25zOwotCXVpbnQzMl90IG5fdGFibGVzOwotCXVpbnQzMl90IG5fc2VsZWN0b3JzOwotCXVpbnQz Ml90IG5fbGVhcm5lcnM7Ci0JdWludDMyX3Qgbl9yZWdhcnJheXM7Ci0JdWludDMyX3Qgbl9tZXRh cnJheXM7Ci0JdWludDMyX3Qgbl9oZWFkZXJzOwotCXVpbnQzMl90IHRocmVhZF9pZDsKLQl1aW50 MzJfdCBwb3J0X2lkOwotCXVpbnQzMl90IG5faW5zdHJ1Y3Rpb25zOwotCWludCBidWlsZF9kb25l OwotCWludCBudW1hX25vZGU7Ci19OwotCiAvKgogICogU3RydWN0LgogICovCkNoZWNraW5nIHBh dGNoIGxpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVsaW5lLmMuLi4KZXJyb3I6IGxpYi9waXBlbGlu ZS9ydGVfc3d4X3BpcGVsaW5lLmM6IGRvZXMgbm90IG1hdGNoIGluZGV4CkNoZWNraW5nIHBhdGNo IGxpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVsaW5lX2ludGVybmFsLmguLi4KZXJyb3I6IGxpYi9w aXBlbGluZS9ydGVfc3d4X3BpcGVsaW5lX2ludGVybmFsLmg6IGRvZXMgbm90IGV4aXN0IGluIGlu ZGV4CkNoZWNraW5nIHBhdGNoIGxpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVsaW5lLmMuLi4KZXJy b3I6IGxpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVsaW5lLmM6IGRvZXMgbm90IG1hdGNoIGluZGV4 CkNoZWNraW5nIHBhdGNoIGxpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVsaW5lX2ludGVybmFsLmgu Li4KZXJyb3I6IGxpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVsaW5lX2ludGVybmFsLmg6IGRvZXMg bm90IGV4aXN0IGluIGluZGV4CkNoZWNraW5nIHBhdGNoIGxpYi9waXBlbGluZS9ydGVfc3d4X3Bp cGVsaW5lLmMuLi4KZXJyb3I6IGxpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVsaW5lLmM6IGRvZXMg bm90IG1hdGNoIGluZGV4CkNoZWNraW5nIHBhdGNoIGxpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVs aW5lX2ludGVybmFsLmguLi4KZXJyb3I6IGxpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVsaW5lX2lu dGVybmFsLmg6IGRvZXMgbm90IGV4aXN0IGluIGluZGV4CkNoZWNraW5nIHBhdGNoIGxpYi9waXBl bGluZS9ydGVfc3d4X3BpcGVsaW5lLmMuLi4KZXJyb3I6IGxpYi9waXBlbGluZS9ydGVfc3d4X3Bp cGVsaW5lLmM6IGRvZXMgbm90IG1hdGNoIGluZGV4CkNoZWNraW5nIHBhdGNoIGxpYi9waXBlbGlu ZS9ydGVfc3d4X3BpcGVsaW5lX2ludGVybmFsLmguLi4KZXJyb3I6IGxpYi9waXBlbGluZS9ydGVf c3d4X3BpcGVsaW5lX2ludGVybmFsLmg6IGRvZXMgbm90IGV4aXN0IGluIGluZGV4CkNoZWNraW5n IHBhdGNoIGxpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVsaW5lLmMuLi4KZXJyb3I6IGxpYi9waXBl bGluZS9ydGVfc3d4X3BpcGVsaW5lLmM6IGRvZXMgbm90IG1hdGNoIGluZGV4CkNoZWNraW5nIHBh dGNoIGxpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVsaW5lX2ludGVybmFsLmguLi4KZXJyb3I6IGxp Yi9waXBlbGluZS9ydGVfc3d4X3BpcGVsaW5lX2ludGVybmFsLmg6IGRvZXMgbm90IGV4aXN0IGlu IGluZGV4CkNoZWNraW5nIHBhdGNoIGxpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVsaW5lLmMuLi4K ZXJyb3I6IGxpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVsaW5lLmM6IGRvZXMgbm90IG1hdGNoIGlu ZGV4CkNoZWNraW5nIHBhdGNoIGxpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVsaW5lX2ludGVybmFs LmguLi4KZXJyb3I6IGxpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVsaW5lX2ludGVybmFsLmg6IGRv ZXMgbm90IGV4aXN0IGluIGluZGV4CkNoZWNraW5nIHBhdGNoIGxpYi9waXBlbGluZS9ydGVfc3d4 X3BpcGVsaW5lLmMuLi4KZXJyb3I6IGxpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVsaW5lLmM6IGRv ZXMgbm90IG1hdGNoIGluZGV4CkNoZWNraW5nIHBhdGNoIGxpYi9waXBlbGluZS9ydGVfc3d4X3Bp cGVsaW5lX2ludGVybmFsLmguLi4KZXJyb3I6IGxpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVsaW5l X2ludGVybmFsLmg6IGRvZXMgbm90IGV4aXN0IGluIGluZGV4CkNoZWNraW5nIHBhdGNoIGxpYi9w aXBlbGluZS9ydGVfc3d4X3BpcGVsaW5lLmMuLi4KZXJyb3I6IGxpYi9waXBlbGluZS9ydGVfc3d4 X3BpcGVsaW5lLmM6IGRvZXMgbm90IG1hdGNoIGluZGV4CkNoZWNraW5nIHBhdGNoIGxpYi9waXBl bGluZS9ydGVfc3d4X3BpcGVsaW5lX2ludGVybmFsLmguLi4KZXJyb3I6IGxpYi9waXBlbGluZS9y dGVfc3d4X3BpcGVsaW5lX2ludGVybmFsLmg6IGRvZXMgbm90IGV4aXN0IGluIGluZGV4CkNoZWNr aW5nIHBhdGNoIGxpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVsaW5lLmMuLi4KZXJyb3I6IGxpYi9w aXBlbGluZS9ydGVfc3d4X3BpcGVsaW5lLmM6IGRvZXMgbm90IG1hdGNoIGluZGV4CkNoZWNraW5n IHBhdGNoIGxpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVsaW5lX2ludGVybmFsLmguLi4KZXJyb3I6 IGxpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVsaW5lX2ludGVybmFsLmg6IGRvZXMgbm90IGV4aXN0 IGluIGluZGV4CkNoZWNraW5nIHBhdGNoIGxpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVsaW5lLmMu Li4KZXJyb3I6IGxpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVsaW5lLmM6IGRvZXMgbm90IG1hdGNo IGluZGV4CkNoZWNraW5nIHBhdGNoIGxpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVsaW5lX2ludGVy bmFsLmguLi4KZXJyb3I6IGxpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVsaW5lX2ludGVybmFsLmg6 IGRvZXMgbm90IGV4aXN0IGluIGluZGV4CkNoZWNraW5nIHBhdGNoIGxpYi9waXBlbGluZS9ydGVf c3d4X3BpcGVsaW5lLmMuLi4KZXJyb3I6IGxpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVsaW5lLmM6 IGRvZXMgbm90IG1hdGNoIGluZGV4CkNoZWNraW5nIHBhdGNoIGxpYi9waXBlbGluZS9ydGVfc3d4 X3BpcGVsaW5lX2ludGVybmFsLmguLi4KZXJyb3I6IGxpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVs aW5lX2ludGVybmFsLmg6IGRvZXMgbm90IGV4aXN0IGluIGluZGV4CkNoZWNraW5nIHBhdGNoIGxp Yi9waXBlbGluZS9ydGVfc3d4X3BpcGVsaW5lLmMuLi4KZXJyb3I6IGxpYi9waXBlbGluZS9ydGVf c3d4X3BpcGVsaW5lLmM6IGRvZXMgbm90IG1hdGNoIGluZGV4CkNoZWNraW5nIHBhdGNoIGxpYi9w aXBlbGluZS9ydGVfc3d4X3BpcGVsaW5lX2ludGVybmFsLmguLi4KZXJyb3I6IGxpYi9waXBlbGlu ZS9ydGVfc3d4X3BpcGVsaW5lX2ludGVybmFsLmg6IGRvZXMgbm90IGV4aXN0IGluIGluZGV4CkNo ZWNraW5nIHBhdGNoIGxpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVsaW5lLmMuLi4KZXJyb3I6IGxp Yi9waXBlbGluZS9ydGVfc3d4X3BpcGVsaW5lLmM6IGRvZXMgbm90IG1hdGNoIGluZGV4CkNoZWNr aW5nIHBhdGNoIGxpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVsaW5lX2ludGVybmFsLmguLi4KZXJy b3I6IGxpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVsaW5lX2ludGVybmFsLmg6IGRvZXMgbm90IGV4 aXN0IGluIGluZGV4CkNoZWNraW5nIHBhdGNoIGxpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVsaW5l X2ludGVybmFsLmguLi4KZXJyb3I6IGxpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVsaW5lX2ludGVy bmFsLmg6IGRvZXMgbm90IGV4aXN0IGluIGluZGV4CkNoZWNraW5nIHBhdGNoIGxpYi9waXBlbGlu ZS9ydGVfc3d4X3BpcGVsaW5lLmMuLi4KZXJyb3I6IGxpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVs aW5lLmM6IGRvZXMgbm90IG1hdGNoIGluZGV4CkNoZWNraW5nIHBhdGNoIGxpYi9waXBlbGluZS9y dGVfc3d4X3BpcGVsaW5lX2ludGVybmFsLmguLi4KZXJyb3I6IGxpYi9waXBlbGluZS9ydGVfc3d4 X3BpcGVsaW5lX2ludGVybmFsLmg6IGRvZXMgbm90IGV4aXN0IGluIGluZGV4CkNoZWNraW5nIHBh dGNoIGxpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVsaW5lLmMuLi4KZXJyb3I6IGxpYi9waXBlbGlu ZS9ydGVfc3d4X3BpcGVsaW5lLmM6IGRvZXMgbm90IG1hdGNoIGluZGV4CkNoZWNraW5nIHBhdGNo IGxpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVsaW5lX2ludGVybmFsLmguLi4KZXJyb3I6IGxpYi9w aXBlbGluZS9ydGVfc3d4X3BpcGVsaW5lX2ludGVybmFsLmg6IGRvZXMgbm90IGV4aXN0IGluIGlu ZGV4CkNoZWNraW5nIHBhdGNoIGxpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVsaW5lLmMuLi4KZXJy b3I6IGxpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVsaW5lLmM6IGRvZXMgbm90IG1hdGNoIGluZGV4 CkNoZWNraW5nIHBhdGNoIGxpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVsaW5lX2ludGVybmFsLmgu Li4KZXJyb3I6IGxpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVsaW5lX2ludGVybmFsLmg6IGRvZXMg bm90IGV4aXN0IGluIGluZGV4CkNoZWNraW5nIHBhdGNoIGxpYi9waXBlbGluZS9ydGVfc3d4X3Bp cGVsaW5lLmMuLi4KZXJyb3I6IGxpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVsaW5lLmM6IGRvZXMg bm90IG1hdGNoIGluZGV4CkNoZWNraW5nIHBhdGNoIGxpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVs aW5lLmMuLi4KZXJyb3I6IGxpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVsaW5lLmM6IGRvZXMgbm90 IG1hdGNoIGluZGV4CkNoZWNraW5nIHBhdGNoIGxpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVsaW5l LmMuLi4KZXJyb3I6IGxpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVsaW5lLmM6IGRvZXMgbm90IG1h dGNoIGluZGV4CkNoZWNraW5nIHBhdGNoIGxpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVsaW5lLmMu Li4KZXJyb3I6IGxpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVsaW5lLmM6IGRvZXMgbm90IG1hdGNo IGluZGV4CkNoZWNraW5nIHBhdGNoIGxpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVsaW5lLmMuLi4K ZXJyb3I6IGxpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVsaW5lLmM6IGRvZXMgbm90IG1hdGNoIGlu ZGV4CkNoZWNraW5nIHBhdGNoIGxpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVsaW5lX2ludGVybmFs LmguLi4KZXJyb3I6IGxpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVsaW5lX2ludGVybmFsLmg6IGRv ZXMgbm90IGV4aXN0IGluIGluZGV4CkNoZWNraW5nIHBhdGNoIGxpYi9waXBlbGluZS9ydGVfc3d4 X3BpcGVsaW5lLmMuLi4KZXJyb3I6IGxpYi9waXBlbGluZS9ydGVfc3d4X3BpcGVsaW5lLmM6IGRv ZXMgbm90IG1hdGNoIGluZGV4CgpodHRwczovL2xhYi5kcGRrLm9yZy9yZXN1bHRzL2Rhc2hib2Fy ZC9wYXRjaHNldHMvMTg3MTYvCgpVTkgtSU9MIERQREsgQ29tbXVuaXR5IExhYgo= --===============7966264870917206792==--