<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>78800</bug_id>
          
          <creation_ts>2012-02-16 04:56:26 -0800</creation_ts>
          <short_desc>[Gtk][Efl][Qt] Move OpenGLShims out of cairo/ subdirectory</short_desc>
          <delta_ts>2012-02-16 09:04:11 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Hausmann">hausmann</reporter>
          <assigned_to name="Simon Hausmann">hausmann</assigned_to>
          <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>558087</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-02-16 04:56:26 -0800</bug_when>
    <thetext>[Gtk][Efl][Qt] Move OpenGLShims out of cairo/ subdirectory</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>558089</commentid>
    <comment_count>1</comment_count>
      <attachid>127358</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-02-16 04:57:52 -0800</bug_when>
    <thetext>Created attachment 127358
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>558097</commentid>
    <comment_count>2</comment_count>
      <attachid>127358</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-02-16 05:13:16 -0800</bug_when>
    <thetext>Comment on attachment 127358
Patch

coolio, rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>558248</commentid>
    <comment_count>3</comment_count>
      <attachid>127358</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-16 09:04:06 -0800</bug_when>
    <thetext>Comment on attachment 127358
Patch

Clearing flags on attachment: 127358

Committed r107945: &lt;http://trac.webkit.org/changeset/107945&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>558249</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-16 09:04:11 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127358</attachid>
            <date>2012-02-16 04:57:52 -0800</date>
            <delta_ts>2012-02-16 09:04:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78800-20120216135750.patch</filename>
            <type>text/plain</type>
            <size>73072</size>
            <attacher name="Simon Hausmann">hausmann</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA3OTIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGUyNDVlOWY0OTExODVi
NmNkMWM0MzIxYWMwODM4ZWJhNzhkMTI2NS4uOGNiYmE4MzhmMzI3YzU4MzZjZDAwYmY3ZmQyNGEw
NDk3MTJlMzNiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM0IEBACiAyMDEyLTAyLTE2ICBTaW1v
biBIYXVzbWFubiAgPHNpbW9uLmhhdXNtYW5uQG5va2lhLmNvbT4KIAorICAgICAgICBbR3RrXVtF
ZmxdW1F0XSBNb3ZlIE9wZW5HTFNoaW1zIG91dCBvZiBjYWlyby8gc3ViZGlyZWN0b3J5CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03ODgwMAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBmaWxlIGlzIG5v
dCBzcGVjaWZpYyB0byBDYWlybyBhbmQgdXNlZCBpbiBvdGhlciBwb3J0cy4gTW92ZSBpdCBpbnRv
CisgICAgICAgIGNvbW1vbiBzcGFjZS4KKworICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06
CisgICAgICAgICogUGxhdGZvcm1FZmwuY21ha2U6CisgICAgICAgICogVGFyZ2V0LnByaToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9PcGVuR0xTaGltcy5jcHA6IFJlbmFtZWQgZnJvbSBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9PcGVuR0xTaGltcy5jcHAuCisg
ICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Om9wZW5HTEZ1bmN0aW9uVGFibGUp
OgorICAgICAgICAoV2ViQ29yZTo6Z2V0UHJvY0FkZHJlc3MpOgorICAgICAgICAoV2ViQ29yZTo6
bG9va3VwT3BlbkdMRnVuY3Rpb25BZGRyZXNzKToKKyAgICAgICAgKFdlYkNvcmU6OmluaXRpYWxp
emVPcGVuR0xTaGltcyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvT3BlbkdMU2hpbXMu
aDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL09w
ZW5HTFNoaW1zLmguCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKF9PcGVuR0xGdW5jdGlv
blRhYmxlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNE
T3BlbkdMLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3ND
b250ZXh0M0RPcGVuR0wuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9H
cmFwaGljc0NvbnRleHQzRE9wZW5HTENvbW1vbi5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3Mvb3BlbmdsL1RleHR1cmVNYXBwZXJHTC5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvcXQvRXh0ZW5zaW9uczNEUXQuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L3F0L0dyYXBoaWNzQ29udGV4dDNEUXQuY3BwOgorCisyMDEyLTAyLTE2ICBTaW1vbiBIYXVzbWFu
biAgPHNpbW9uLmhhdXNtYW5uQG5va2lhLmNvbT4KKwogICAgICAgICBCdWlsZCBmaXggZm9yIFF0
IDUgd2l0aG91dCBRdFdpZGdldHMuCiAKICAgICAgICAgUmV2aWV3ZWQgYnkgVG9yIEFybmUgVmVz
dGLDuC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZwppbmRleCAxNjliYWJiYjg3MzJhNmQ5Yzg2OGJlMmFhYmEzNDZmMjQ1NjFi
OGU4Li4yYTdkMzY5ZDY1NTg0ZTAxNjMwOGE5ODZjMDA4ZTM4YTllMmI0MGY2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDItMTYgIFNpbW9uIEhhdXNtYW5uICA8c2ltb24uaGF1
c21hbm5Abm9raWEuY29tPgorCisgICAgICAgIFtHdGtdW0VmbF1bUXRdIE1vdmUgT3BlbkdMU2hp
bXMgb3V0IG9mIGNhaXJvLyBzdWJkaXJlY3RvcnkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTc4ODAwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvcXQvTGF5ZXJUcmVlSG9zdFByb3h5UXQu
Y3BwOiBBZGp1c3QgdG8gY2hhbmdlZCBPcGVuR0xTaGltcy5oCisgICAgICAgIGxvY2F0aW9uIC0g
bm8gbW9yZSBjYWlybyBwcmVmaXggbmVlZGVkLgorCiAyMDEyLTAyLTE2ICBBZGVuaWxzb24gQ2F2
YWxjYW50aSAgPGNhdmFsY2FudGlpQGdtYWlsLmNvbT4KIAogICAgICAgICBbUXRdW1dLMl0gU3Bs
aXQgUVdlYlBlcm1pc3Npb25SZXF1ZXN0IGludG8gUVdlYlNlY3VyaXR5T3JpZ2luCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUv
R05VbWFrZWZpbGUubGlzdC5hbQppbmRleCBjN2M1MDE3NWYxNDRlZTc3ZmU5OTUzOTI2OGI4NzIw
MTlkYzc2MzZmLi45NzJiYTE3ZDJjM2Y3ZjQ5OGM3NTc4YThiNjY2MjEwMjcyNjBiOGFjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTU2ODcsOCArNTY4Nyw2IEBAIHdlYmNvcmVf
c291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQU5HTEVXZWJL
aXRCcmlkZ2UuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9BTkdMRVdl
YktpdEJyaWRnZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9H
cmFwaGljc0NvbnRleHQzRENhaXJvLmNwcCBcCi0JU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2Fpcm8vT3BlbkdMU2hpbXMuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jYWlyby9PcGVuR0xTaGltcy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nbHgvR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlLmNwcCBcCiAJU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ2x4L0dyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZS5oIFwKIAlT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvRHJhd2luZ0J1ZmZlci5jcHAgXApA
QCAtNTY5Nyw2ICs1Njk1LDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ndGsvRHJhd2luZ0J1ZmZlckd0ay5jcHAgXAogCVNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2d0ay9HcmFwaGljc0NvbnRleHQzREd0ay5jcHAgXAor
CVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL09wZW5HTFNoaW1zLmNwcCBcCisJU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvT3BlbkdMU2hpbXMuaCBcCiAJU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9wZW5HTC5jcHAgXAog
CVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVu
R0wuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNz
Q29udGV4dDNET3BlbkdMLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9y
bUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IDI4ZjM2
NDA4MDYxZDhiNjBlNWI5M2U2ZTA3YTRjZjM3ODIwZjNmZmEuLmIwYjdlOTFlNGQ2N2E5YTI1NzBk
NTY1YzJmYzQ2ZGFiOGFhMjFjYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3Jt
RWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlCkBAIC0yNjAs
MTAgKzI2MCwxMCBAQCBJRiAoRU5BQkxFX1dFQkdMKQogICApCiAgIExJU1QoQVBQRU5EIFdlYkNv
cmVfU09VUkNFUwogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29udGV4dDNE
Q2Fpcm8uY3BwCi0gICAgcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vT3BlbkdMU2hpbXMuY3BwCiAg
ICAgcGxhdGZvcm0vZ3JhcGhpY3MvZWZsL0RyYXdpbmdCdWZmZXJFZmwuY3BwCiAgICAgcGxhdGZv
cm0vZ3JhcGhpY3MvZWZsL0dyYXBoaWNzQ29udGV4dDNERWZsLmNwcAogICAgIHBsYXRmb3JtL2dy
YXBoaWNzL2dseC9HcmFwaGljc0NvbnRleHQzRFByaXZhdGUuY3BwCisgICAgcGxhdGZvcm0vZ3Jh
cGhpY3MvT3BlbkdMU2hpbXMuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVu
c2lvbnMzRE9wZW5HTC5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3ND
b250ZXh0M0RPcGVuR0wuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNz
Q29udGV4dDNET3BlbkdMQ29tbW9uLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFy
Z2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggZjMyNTVhMzU1ZWMyNmUy
MzlhNmM1MWMzMWI1MThlMmYxMDRlZDRkOS4uYWI2M2I5ZjNmNjkxZDcxNWExMDcxODg0OWZiMDEw
MTQ1MWNmZDY1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9T
b3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC0zOTc5LDggKzM5NzksOCBAQCBjb250YWlucyhD
T05GSUcsIHRleG1hcCkgewogfQogCiBjb250YWlucyhDT05GSUcsIG9wZW5nbC1zaGltcykgewot
ICAgIEhFQURFUlMgKz0gcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vT3BlbkdMU2hpbXMuaAotICAg
IFNPVVJDRVMgKz0gcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vT3BlbkdMU2hpbXMuY3BwCisgICAg
SEVBREVSUyArPSBwbGF0Zm9ybS9ncmFwaGljcy9PcGVuR0xTaGltcy5oCisgICAgU09VUkNFUyAr
PSBwbGF0Zm9ybS9ncmFwaGljcy9PcGVuR0xTaGltcy5jcHAKICAgICBERUZJTkVTICs9IFFUX09Q
RU5HTF9TSElNUz0xCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL09wZW5HTFNoaW1zLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L09wZW5HTFNoaW1zLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNTlmMjZjNjAyNWM3Mjk1ZmIzMjg5YzM0ZTg0
Nzc3MDc5MzVhYjc4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvT3BlbkdMU2hpbXMuY3BwCkBAIC0wLDAgKzEsMjMwIEBACisvKgorICogIENvcHly
aWdodCAoQykgMjAxMSBJZ2FsaWEgUy5MLgorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBz
b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiAgbW9kaWZ5IGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogIExpY2Vu
c2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgor
ICogIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBs
YXRlciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhl
IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFO
VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJ
TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisg
KiAgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisg
KiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5l
cmFsIFB1YmxpYworICogIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwg
d3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFu
a2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaWYgRU5BQkxFKFdFQkdMKSB8fCBkZWZpbmVkKFFU
X09QRU5HTF9TSElNUykKKworI2RlZmluZSBESVNBQkxFX1NISU1TCisjaW5jbHVkZSAiT3BlbkdM
U2hpbXMuaCIKKworI2luY2x1ZGUgPGRsZmNuLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmlu
Zy5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK09wZW5HTEZ1bmN0aW9uVGFibGUqIG9wZW5HTEZ1bmN0aW9uVGFibGUoKQoreworICAg
IHN0YXRpYyBPcGVuR0xGdW5jdGlvblRhYmxlIHRhYmxlOworICAgIHJldHVybiAmdGFibGU7Cit9
CisKKyNpZiBQTEFURk9STShRVCkgJiYgZGVmaW5lZChRVF9PUEVOR0xfRVNfMikKKyNkZWZpbmUg
QVNTSUdOX0ZVTkNUSU9OX1RBQkxFX0VOVFJZKEZ1bmN0aW9uTmFtZSwgc3VjY2VzcykgXAorICAg
IG9wZW5HTEZ1bmN0aW9uVGFibGUoKS0+RnVuY3Rpb25OYW1lID0gOjpGdW5jdGlvbk5hbWUKKyNl
bHNlCisKKyNpZiBQTEFURk9STShRVCkKK3N0YXRpYyB2b2lkKiBnZXRQcm9jQWRkcmVzcyhjb25z
dCBjaGFyKiBwcm9jTmFtZSkKK3sKKyNpZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0so
NSwgMCwgMCkKKyAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oUU9wZW5HTENvbnRl
eHQ6OmN1cnJlbnRDb250ZXh0KCktPmdldFByb2NBZGRyZXNzKHByb2NOYW1lKSk7CisjZWxzZQor
ICAgIHJldHVybiByZWludGVycHJldF9jYXN0PHZvaWQqPihRR0xDb250ZXh0OjpjdXJyZW50Q29u
dGV4dCgpLT5nZXRQcm9jQWRkcmVzcyhRU3RyaW5nOjpmcm9tTGF0aW4xKHByb2NOYW1lKSkpOwor
I2VuZGlmCit9CisjZWxzZQordHlwZWRlZiB2b2lkKiAoKmdsR2V0UHJvY0FkZHJlc3NUeXBlKSAo
Y29uc3QgY2hhciogcHJvY05hbWUpOworc3RhdGljIHZvaWQqIGdldFByb2NBZGRyZXNzKGNvbnN0
IGNoYXIqIHByb2NOYW1lKQoreworICAgIHN0YXRpYyBib29sIGluaXRpYWxpemVkID0gZmFsc2U7
CisgICAgc3RhdGljIGdsR2V0UHJvY0FkZHJlc3NUeXBlIGdldFByb2NBZGRyZXNzRnVuY3Rpb24g
PSAwOworCisgICAgaWYgKCFpbml0aWFsaXplZCkgeworICAgICAgICBnZXRQcm9jQWRkcmVzc0Z1
bmN0aW9uID0gcmVpbnRlcnByZXRfY2FzdDxnbEdldFByb2NBZGRyZXNzVHlwZT4oZGxzeW0oUlRM
RF9ERUZBVUxULCAiZ2xYR2V0UHJvY0FkZHJlc3MiKSk7CisgICAgICAgIGlmICghZ2V0UHJvY0Fk
ZHJlc3NGdW5jdGlvbikKKyAgICAgICAgICAgIGdldFByb2NBZGRyZXNzRnVuY3Rpb24gPSByZWlu
dGVycHJldF9jYXN0PGdsR2V0UHJvY0FkZHJlc3NUeXBlPihkbHN5bShSVExEX0RFRkFVTFQsICJn
bFhHZXRQcm9jQWRkcmVzc0FSQiIpKTsKKyAgICB9CisKKyAgICBpZiAoIWdldFByb2NBZGRyZXNz
RnVuY3Rpb24pCisgICAgICAgIHJldHVybiBkbHN5bShSVExEX0RFRkFVTFQsIHByb2NOYW1lKTsK
KyAgICByZXR1cm4gZ2V0UHJvY0FkZHJlc3NGdW5jdGlvbihwcm9jTmFtZSk7Cit9CisjZW5kaWYK
Kworc3RhdGljIHZvaWQqIGxvb2t1cE9wZW5HTEZ1bmN0aW9uQWRkcmVzcyhjb25zdCBjaGFyKiBm
dW5jdGlvbk5hbWUsIGJvb2wmIHN1Y2Nlc3MpCit7CisgICAgaWYgKCFzdWNjZXNzKQorICAgICAg
ICByZXR1cm4gMDsKKworICAgIHZvaWQqIHRhcmdldCA9IGdldFByb2NBZGRyZXNzKGZ1bmN0aW9u
TmFtZSk7CisgICAgaWYgKHRhcmdldCkKKyAgICAgICAgcmV0dXJuIHRhcmdldDsKKworICAgIFN0
cmluZyBmdWxsRnVuY3Rpb25OYW1lKGZ1bmN0aW9uTmFtZSk7CisgICAgZnVsbEZ1bmN0aW9uTmFt
ZS5hcHBlbmQoIkFSQiIpOworICAgIHRhcmdldCA9IGdldFByb2NBZGRyZXNzKGZ1bGxGdW5jdGlv
bk5hbWUudXRmOCgpLmRhdGEoKSk7CisgICAgaWYgKHRhcmdldCkKKyAgICAgICAgcmV0dXJuIHRh
cmdldDsKKworICAgIGZ1bGxGdW5jdGlvbk5hbWUgPSBmdW5jdGlvbk5hbWU7CisgICAgZnVsbEZ1
bmN0aW9uTmFtZS5hcHBlbmQoIkVYVCIpOworICAgIHRhcmdldCA9IGdldFByb2NBZGRyZXNzKGZ1
bGxGdW5jdGlvbk5hbWUudXRmOCgpLmRhdGEoKSk7CisKKyAgICAvLyBBIG51bGwgYWRkcmVzcyBp
cyBzdGlsbCBhIGZhaWx1cmUgY2FzZS4KKyAgICBpZiAoIXRhcmdldCkKKyAgICAgICAgc3VjY2Vz
cyA9IGZhbHNlOworCisgICAgcmV0dXJuIHRhcmdldDsKK30KKworI2RlZmluZSBBU1NJR05fRlVO
Q1RJT05fVEFCTEVfRU5UUlkoRnVuY3Rpb25OYW1lLCBzdWNjZXNzKSBcCisgICAgb3BlbkdMRnVu
Y3Rpb25UYWJsZSgpLT5GdW5jdGlvbk5hbWUgPSByZWludGVycHJldF9jYXN0PEZ1bmN0aW9uTmFt
ZSMjVHlwZT4obG9va3VwT3BlbkdMRnVuY3Rpb25BZGRyZXNzKCNGdW5jdGlvbk5hbWUsIHN1Y2Nl
c3MpKQorI2VuZGlmCisKK2Jvb2wgaW5pdGlhbGl6ZU9wZW5HTFNoaW1zKCkKK3sKKyAgICBzdGF0
aWMgYm9vbCBzdWNjZXNzID0gdHJ1ZTsKKyAgICBzdGF0aWMgYm9vbCBpbml0aWFsaXplZCA9IGZh
bHNlOworICAgIGlmIChpbml0aWFsaXplZCkKKyAgICAgICAgcmV0dXJuIHN1Y2Nlc3M7CisKKyAg
ICBpbml0aWFsaXplZCA9IHRydWU7CisgICAgQVNTSUdOX0ZVTkNUSU9OX1RBQkxFX0VOVFJZKGds
QWN0aXZlVGV4dHVyZSwgc3VjY2Vzcyk7CisgICAgQVNTSUdOX0ZVTkNUSU9OX1RBQkxFX0VOVFJZ
KGdsQXR0YWNoU2hhZGVyLCBzdWNjZXNzKTsKKyAgICBBU1NJR05fRlVOQ1RJT05fVEFCTEVfRU5U
UlkoZ2xCaW5kQXR0cmliTG9jYXRpb24sIHN1Y2Nlc3MpOworICAgIEFTU0lHTl9GVU5DVElPTl9U
QUJMRV9FTlRSWShnbEJpbmRCdWZmZXIsIHN1Y2Nlc3MpOworICAgIEFTU0lHTl9GVU5DVElPTl9U
QUJMRV9FTlRSWShnbEJpbmRGcmFtZWJ1ZmZlciwgc3VjY2Vzcyk7CisgICAgQVNTSUdOX0ZVTkNU
SU9OX1RBQkxFX0VOVFJZKGdsQmluZFJlbmRlcmJ1ZmZlciwgc3VjY2Vzcyk7CisgICAgQVNTSUdO
X0ZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsQmxlbmRDb2xvciwgc3VjY2Vzcyk7CisgICAgQVNTSUdO
X0ZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsQmxlbmRFcXVhdGlvbiwgc3VjY2Vzcyk7CisgICAgQVNT
SUdOX0ZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsQmxlbmRFcXVhdGlvblNlcGFyYXRlLCBzdWNjZXNz
KTsKKyAgICBBU1NJR05fRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xCbGVuZEZ1bmNTZXBhcmF0ZSwg
c3VjY2Vzcyk7CisjaWYgZGVmaW5lZChHTF9FU19WRVJTSU9OXzJfMCkKKworI2lmIGRlZmluZWQo
R0xfQU5HTEVfZnJhbWVidWZmZXJfYmxpdCkKKyAgICBvcGVuR0xGdW5jdGlvblRhYmxlKCktPmds
QmxpdEZyYW1lYnVmZmVyID0gOjpHTF9BTkdMRV9mcmFtZWJ1ZmZlcl9ibGl0OworI2Vsc2UKKyAg
ICBvcGVuR0xGdW5jdGlvblRhYmxlKCktPmdsQmxpdEZyYW1lYnVmZmVyID0gMDsKKyNlbmRpZgor
CisjZWxzZQorICAgIEFTU0lHTl9GVU5DVElPTl9UQUJMRV9FTlRSWShnbEJsaXRGcmFtZWJ1ZmZl
ciwgc3VjY2Vzcyk7CisjZW5kaWYKKyAgICBBU1NJR05fRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xC
dWZmZXJEYXRhLCBzdWNjZXNzKTsKKyAgICBBU1NJR05fRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xC
dWZmZXJTdWJEYXRhLCBzdWNjZXNzKTsKKyAgICBBU1NJR05fRlVOQ1RJT05fVEFCTEVfRU5UUlko
Z2xDaGVja0ZyYW1lYnVmZmVyU3RhdHVzLCBzdWNjZXNzKTsKKyAgICBBU1NJR05fRlVOQ1RJT05f
VEFCTEVfRU5UUlkoZ2xDb21waWxlU2hhZGVyLCBzdWNjZXNzKTsKKyAgICBBU1NJR05fRlVOQ1RJ
T05fVEFCTEVfRU5UUlkoZ2xDcmVhdGVQcm9ncmFtLCBzdWNjZXNzKTsKKyAgICBBU1NJR05fRlVO
Q1RJT05fVEFCTEVfRU5UUlkoZ2xDcmVhdGVTaGFkZXIsIHN1Y2Nlc3MpOworICAgIEFTU0lHTl9G
VU5DVElPTl9UQUJMRV9FTlRSWShnbERlbGV0ZUJ1ZmZlcnMsIHN1Y2Nlc3MpOworICAgIEFTU0lH
Tl9GVU5DVElPTl9UQUJMRV9FTlRSWShnbERlbGV0ZUZyYW1lYnVmZmVycywgc3VjY2Vzcyk7Cisg
ICAgQVNTSUdOX0ZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsRGVsZXRlUHJvZ3JhbSwgc3VjY2Vzcyk7
CisgICAgQVNTSUdOX0ZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsRGVsZXRlUmVuZGVyYnVmZmVycywg
c3VjY2Vzcyk7CisgICAgQVNTSUdOX0ZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsRGVsZXRlU2hhZGVy
LCBzdWNjZXNzKTsKKyAgICBBU1NJR05fRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xEZXRhY2hTaGFk
ZXIsIHN1Y2Nlc3MpOworICAgIEFTU0lHTl9GVU5DVElPTl9UQUJMRV9FTlRSWShnbERpc2FibGVW
ZXJ0ZXhBdHRyaWJBcnJheSwgc3VjY2Vzcyk7CisgICAgQVNTSUdOX0ZVTkNUSU9OX1RBQkxFX0VO
VFJZKGdsRW5hYmxlVmVydGV4QXR0cmliQXJyYXksIHN1Y2Nlc3MpOworICAgIEFTU0lHTl9GVU5D
VElPTl9UQUJMRV9FTlRSWShnbEZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyLCBzdWNjZXNzKTsKKyAg
ICBBU1NJR05fRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xGcmFtZWJ1ZmZlclRleHR1cmUyRCwgc3Vj
Y2Vzcyk7CisgICAgQVNTSUdOX0ZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsR2VuQnVmZmVycywgc3Vj
Y2Vzcyk7CisgICAgQVNTSUdOX0ZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsR2VuZXJhdGVNaXBtYXAs
IHN1Y2Nlc3MpOworICAgIEFTU0lHTl9GVU5DVElPTl9UQUJMRV9FTlRSWShnbEdlbkZyYW1lYnVm
ZmVycywgc3VjY2Vzcyk7CisgICAgQVNTSUdOX0ZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsR2VuUmVu
ZGVyYnVmZmVycywgc3VjY2Vzcyk7CisgICAgQVNTSUdOX0ZVTkNUSU9OX1RBQkxFX0VOVFJZKGds
R2V0QWN0aXZlQXR0cmliLCBzdWNjZXNzKTsKKyAgICBBU1NJR05fRlVOQ1RJT05fVEFCTEVfRU5U
UlkoZ2xHZXRBY3RpdmVVbmlmb3JtLCBzdWNjZXNzKTsKKyAgICBBU1NJR05fRlVOQ1RJT05fVEFC
TEVfRU5UUlkoZ2xHZXRBdHRhY2hlZFNoYWRlcnMsIHN1Y2Nlc3MpOworICAgIEFTU0lHTl9GVU5D
VElPTl9UQUJMRV9FTlRSWShnbEdldEF0dHJpYkxvY2F0aW9uLCBzdWNjZXNzKTsKKyAgICBBU1NJ
R05fRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xHZXRCdWZmZXJQYXJhbWV0ZXJpdiwgc3VjY2Vzcyk7
CisgICAgQVNTSUdOX0ZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsR2V0RnJhbWVidWZmZXJBdHRhY2ht
ZW50UGFyYW1ldGVyaXYsIHN1Y2Nlc3MpOworICAgIEFTU0lHTl9GVU5DVElPTl9UQUJMRV9FTlRS
WShnbEdldFByb2dyYW1JbmZvTG9nLCBzdWNjZXNzKTsKKyAgICBBU1NJR05fRlVOQ1RJT05fVEFC
TEVfRU5UUlkoZ2xHZXRQcm9ncmFtaXYsIHN1Y2Nlc3MpOworICAgIEFTU0lHTl9GVU5DVElPTl9U
QUJMRV9FTlRSWShnbEdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcml2LCBzdWNjZXNzKTsKKyAgICBB
U1NJR05fRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xHZXRTaGFkZXJJbmZvTG9nLCBzdWNjZXNzKTsK
KyAgICBBU1NJR05fRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xHZXRTaGFkZXJpdiwgc3VjY2Vzcyk7
CisgICAgQVNTSUdOX0ZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsR2V0U2hhZGVyU291cmNlLCBzdWNj
ZXNzKTsKKyAgICBBU1NJR05fRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xHZXRVbmlmb3JtZnYsIHN1
Y2Nlc3MpOworICAgIEFTU0lHTl9GVU5DVElPTl9UQUJMRV9FTlRSWShnbEdldFVuaWZvcm1pdiwg
c3VjY2Vzcyk7CisgICAgQVNTSUdOX0ZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsR2V0VW5pZm9ybUxv
Y2F0aW9uLCBzdWNjZXNzKTsKKyAgICBBU1NJR05fRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xHZXRW
ZXJ0ZXhBdHRyaWJmdiwgc3VjY2Vzcyk7CisgICAgQVNTSUdOX0ZVTkNUSU9OX1RBQkxFX0VOVFJZ
KGdsR2V0VmVydGV4QXR0cmliaXYsIHN1Y2Nlc3MpOworICAgIEFTU0lHTl9GVU5DVElPTl9UQUJM
RV9FTlRSWShnbEdldFZlcnRleEF0dHJpYlBvaW50ZXJ2LCBzdWNjZXNzKTsKKyAgICBBU1NJR05f
RlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xJc0J1ZmZlciwgc3VjY2Vzcyk7CisgICAgQVNTSUdOX0ZV
TkNUSU9OX1RBQkxFX0VOVFJZKGdsSXNGcmFtZWJ1ZmZlciwgc3VjY2Vzcyk7CisgICAgQVNTSUdO
X0ZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsSXNQcm9ncmFtLCBzdWNjZXNzKTsKKyAgICBBU1NJR05f
RlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xJc1JlbmRlcmJ1ZmZlciwgc3VjY2Vzcyk7CisgICAgQVNT
SUdOX0ZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsSXNTaGFkZXIsIHN1Y2Nlc3MpOworICAgIEFTU0lH
Tl9GVU5DVElPTl9UQUJMRV9FTlRSWShnbExpbmtQcm9ncmFtLCBzdWNjZXNzKTsKKyAgICBBU1NJ
R05fRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xSZW5kZXJidWZmZXJTdG9yYWdlLCBzdWNjZXNzKTsK
KyNpZiBkZWZpbmVkKEdMX0VTX1ZFUlNJT05fMl8wKQorCisjaWYgZGVmaW5lZChHTF9BUFBMRV9m
cmFtZWJ1ZmZlcl9tdWx0aXNhbXBsZSkKKyAgICBvcGVuR0xGdW5jdGlvblRhYmxlKCktPmdsUmVu
ZGVyYnVmZmVyU3RvcmFnZU11bHRpc2FtcGxlID0gOjpnbFJlbmRlcmJ1ZmZlclN0b3JhZ2VNdWx0
aXNhbXBsZUFQUExFOworI2VsaWYgZGVmaW5lZChHTF9BTkdMRV9mcmFtZWJ1ZmZlcl9tdWx0aXNh
bXBsZSkKKyAgICBvcGVuR0xGdW5jdGlvblRhYmxlKCktPmdsUmVuZGVyYnVmZmVyU3RvcmFnZU11
bHRpc2FtcGxlID0gOjpnbFJlbmRlcmJ1ZmZlclN0b3JhZ2VNdWx0aXNhbXBsZUFOR0xFOworI2Vs
c2UKKyAgICBvcGVuR0xGdW5jdGlvblRhYmxlKCktPmdsUmVuZGVyYnVmZmVyU3RvcmFnZU11bHRp
c2FtcGxlID0gMDsKKyNlbmRpZgorCisjZWxzZQorICAgIEFTU0lHTl9GVU5DVElPTl9UQUJMRV9F
TlRSWShnbFJlbmRlcmJ1ZmZlclN0b3JhZ2VNdWx0aXNhbXBsZSwgc3VjY2Vzcyk7CisjZW5kaWYK
KyAgICBBU1NJR05fRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xTYW1wbGVDb3ZlcmFnZSwgc3VjY2Vz
cyk7CisgICAgQVNTSUdOX0ZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsU2hhZGVyU291cmNlLCBzdWNj
ZXNzKTsKKyAgICBBU1NJR05fRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xTdGVuY2lsRnVuY1NlcGFy
YXRlLCBzdWNjZXNzKTsKKyAgICBBU1NJR05fRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xTdGVuY2ls
TWFza1NlcGFyYXRlLCBzdWNjZXNzKTsKKyAgICBBU1NJR05fRlVOQ1RJT05fVEFCTEVfRU5UUlko
Z2xTdGVuY2lsT3BTZXBhcmF0ZSwgc3VjY2Vzcyk7CisgICAgQVNTSUdOX0ZVTkNUSU9OX1RBQkxF
X0VOVFJZKGdsVW5pZm9ybTFmLCBzdWNjZXNzKTsKKyAgICBBU1NJR05fRlVOQ1RJT05fVEFCTEVf
RU5UUlkoZ2xVbmlmb3JtMWZ2LCBzdWNjZXNzKTsKKyAgICBBU1NJR05fRlVOQ1RJT05fVEFCTEVf
RU5UUlkoZ2xVbmlmb3JtMWksIHN1Y2Nlc3MpOworICAgIEFTU0lHTl9GVU5DVElPTl9UQUJMRV9F
TlRSWShnbFVuaWZvcm0xaXYsIHN1Y2Nlc3MpOworICAgIEFTU0lHTl9GVU5DVElPTl9UQUJMRV9F
TlRSWShnbFVuaWZvcm0yZiwgc3VjY2Vzcyk7CisgICAgQVNTSUdOX0ZVTkNUSU9OX1RBQkxFX0VO
VFJZKGdsVW5pZm9ybTJmdiwgc3VjY2Vzcyk7CisgICAgQVNTSUdOX0ZVTkNUSU9OX1RBQkxFX0VO
VFJZKGdsVW5pZm9ybTJpLCBzdWNjZXNzKTsKKyAgICBBU1NJR05fRlVOQ1RJT05fVEFCTEVfRU5U
UlkoZ2xVbmlmb3JtMml2LCBzdWNjZXNzKTsKKyAgICBBU1NJR05fRlVOQ1RJT05fVEFCTEVfRU5U
UlkoZ2xVbmlmb3JtM2YsIHN1Y2Nlc3MpOworICAgIEFTU0lHTl9GVU5DVElPTl9UQUJMRV9FTlRS
WShnbFVuaWZvcm0zZnYsIHN1Y2Nlc3MpOworICAgIEFTU0lHTl9GVU5DVElPTl9UQUJMRV9FTlRS
WShnbFVuaWZvcm0zaSwgc3VjY2Vzcyk7CisgICAgQVNTSUdOX0ZVTkNUSU9OX1RBQkxFX0VOVFJZ
KGdsVW5pZm9ybTNpdiwgc3VjY2Vzcyk7CisgICAgQVNTSUdOX0ZVTkNUSU9OX1RBQkxFX0VOVFJZ
KGdsVW5pZm9ybTRmLCBzdWNjZXNzKTsKKyAgICBBU1NJR05fRlVOQ1RJT05fVEFCTEVfRU5UUlko
Z2xVbmlmb3JtNGZ2LCBzdWNjZXNzKTsKKyAgICBBU1NJR05fRlVOQ1RJT05fVEFCTEVfRU5UUlko
Z2xVbmlmb3JtNGksIHN1Y2Nlc3MpOworICAgIEFTU0lHTl9GVU5DVElPTl9UQUJMRV9FTlRSWShn
bFVuaWZvcm00aXYsIHN1Y2Nlc3MpOworICAgIEFTU0lHTl9GVU5DVElPTl9UQUJMRV9FTlRSWShn
bFVuaWZvcm1NYXRyaXgyZnYsIHN1Y2Nlc3MpOworICAgIEFTU0lHTl9GVU5DVElPTl9UQUJMRV9F
TlRSWShnbFVuaWZvcm1NYXRyaXgzZnYsIHN1Y2Nlc3MpOworICAgIEFTU0lHTl9GVU5DVElPTl9U
QUJMRV9FTlRSWShnbFVuaWZvcm1NYXRyaXg0ZnYsIHN1Y2Nlc3MpOworICAgIEFTU0lHTl9GVU5D
VElPTl9UQUJMRV9FTlRSWShnbFVzZVByb2dyYW0sIHN1Y2Nlc3MpOworICAgIEFTU0lHTl9GVU5D
VElPTl9UQUJMRV9FTlRSWShnbFZhbGlkYXRlUHJvZ3JhbSwgc3VjY2Vzcyk7CisgICAgQVNTSUdO
X0ZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsVmVydGV4QXR0cmliMWYsIHN1Y2Nlc3MpOworICAgIEFT
U0lHTl9GVU5DVElPTl9UQUJMRV9FTlRSWShnbFZlcnRleEF0dHJpYjFmdiwgc3VjY2Vzcyk7Cisg
ICAgQVNTSUdOX0ZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsVmVydGV4QXR0cmliMmYsIHN1Y2Nlc3Mp
OworICAgIEFTU0lHTl9GVU5DVElPTl9UQUJMRV9FTlRSWShnbFZlcnRleEF0dHJpYjJmdiwgc3Vj
Y2Vzcyk7CisgICAgQVNTSUdOX0ZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsVmVydGV4QXR0cmliM2Ys
IHN1Y2Nlc3MpOworICAgIEFTU0lHTl9GVU5DVElPTl9UQUJMRV9FTlRSWShnbFZlcnRleEF0dHJp
YjNmdiwgc3VjY2Vzcyk7CisgICAgQVNTSUdOX0ZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsVmVydGV4
QXR0cmliNGYsIHN1Y2Nlc3MpOworICAgIEFTU0lHTl9GVU5DVElPTl9UQUJMRV9FTlRSWShnbFZl
cnRleEF0dHJpYjRmdiwgc3VjY2Vzcyk7CisgICAgQVNTSUdOX0ZVTkNUSU9OX1RBQkxFX0VOVFJZ
KGdsVmVydGV4QXR0cmliUG9pbnRlciwgc3VjY2Vzcyk7CisKKyAgICBpZiAoIXN1Y2Nlc3MpCisg
ICAgICAgIExPR19FUlJPUigiQ291bGQgbm90IGluaXRpYWxpemUgT3BlbkdMIHNoaW1zIik7Cisg
ICAgcmV0dXJuIHN1Y2Nlc3M7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlm
IC8vIEVOQUJMRShXRUJHTCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL09wZW5HTFNoaW1zLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9P
cGVuR0xTaGltcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRhNTAxMzhjZGNiYzA3Y2M0ZWJhMDJmZTVhMDExNDgx
ODNhN2MyM2IKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9PcGVuR0xTaGltcy5oCkBAIC0wLDAgKzEsMzQ3IEBACisvKgorICogIENvcHlyaWdodCAo
QykgMjAxMCBUaWV0byBDb3Jwb3JhdGlvbi4KKyAqICBDb3B5cmlnaHQgKEMpIDIwMTEgSWdhbGlh
IFMuTC4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqICB2ZXJzaW9uIDIuMSBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisg
KiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi
ZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl
IGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogIExlc3NlciBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSBy
ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNl
bnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNv
ZnR3YXJlCisgKiAgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBG
bG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCisgKi8KKworI2lmIFBMQVRGT1JNKFFU
KQorI2luY2x1ZGUgPHFnbG9iYWwuaD4KKyNpZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hF
Q0soNSwgMCwgMCkKKyNpbmNsdWRlIDxRT3BlbkdMQ29udGV4dD4KKyNpbmNsdWRlIDxRU3VyZmFj
ZT4KKyNlbHNlCisjaW5jbHVkZSA8UUdMQ29udGV4dD4KKyNlbmRpZgorI2Vsc2UKKyNpbmNsdWRl
IDxHTC9nbC5oPgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKEdMX0VTX1ZFUlNJT05fMl8wKQorLy8g
U29tZSBvcGVuR0wgRVMgc3lzdGVtcyBtaXNzIHRoaXMgdHlwZWRlZi4KK3R5cGVkZWYgY2hhciBH
TGNoYXI7CisjZW5kaWYKKwordHlwZWRlZiBzdHJ1Y3QgX09wZW5HTEZ1bmN0aW9uVGFibGUgT3Bl
bkdMRnVuY3Rpb25UYWJsZTsKKworbmFtZXNwYWNlIFdlYkNvcmUgeworYm9vbCBpbml0aWFsaXpl
T3BlbkdMU2hpbXMoKTsKK09wZW5HTEZ1bmN0aW9uVGFibGUqIG9wZW5HTEZ1bmN0aW9uVGFibGUo
KTsKK30KKwordHlwZWRlZiB2b2lkICgqZ2xBY3RpdmVUZXh0dXJlVHlwZSkgKEdMZW51bSk7Cit0
eXBlZGVmIHZvaWQgKCpnbEF0dGFjaFNoYWRlclR5cGUpIChHTHVpbnQsIEdMdWludCk7Cit0eXBl
ZGVmIHZvaWQgKCpnbEJpbmRBdHRyaWJMb2NhdGlvblR5cGUpIChHTHVpbnQsIEdMdWludCwgY29u
c3QgY2hhciopOwordHlwZWRlZiB2b2lkICgqZ2xCaW5kQnVmZmVyVHlwZSkgKEdMZW51bSwgR0x1
aW50KTsKK3R5cGVkZWYgdm9pZCAoKmdsQmluZEZyYW1lYnVmZmVyVHlwZSkgKEdMZW51bSwgR0x1
aW50KTsKK3R5cGVkZWYgdm9pZCAoKmdsQmluZFJlbmRlcmJ1ZmZlclR5cGUpIChHTGVudW0sIEdM
dWludCk7Cit0eXBlZGVmIHZvaWQgKCpnbEJsZW5kQ29sb3JUeXBlKSAoR0xjbGFtcGYsIEdMY2xh
bXBmLCBHTGNsYW1wZiwgR0xjbGFtcGYpOwordHlwZWRlZiB2b2lkICgqZ2xCbGVuZEVxdWF0aW9u
VHlwZSkgKEdMZW51bSk7Cit0eXBlZGVmIHZvaWQgKCpnbEJsZW5kRXF1YXRpb25TZXBhcmF0ZVR5
cGUpKEdMZW51bSwgR0xlbnVtKTsKK3R5cGVkZWYgdm9pZCAoKmdsQmxlbmRGdW5jU2VwYXJhdGVU
eXBlKShHTGVudW0gc3JjUkdCLCBHTGVudW0gZHN0UkdCLCBHTGVudW0gc3JjQWxwaGEsIEdMZW51
bSBkc3RBbHBoYSk7Cit0eXBlZGVmIHZvaWQgKCpnbEJsaXRGcmFtZWJ1ZmZlclR5cGUpIChHTGlu
dCwgR0xpbnQsIEdMaW50LCBHTGludCwgR0xpbnQsIEdMaW50LCBHTGludCwgR0xpbnQsIEdMYml0
ZmllbGQsIEdMZW51bSk7Cit0eXBlZGVmIHZvaWQgKCpnbEJ1ZmZlckRhdGFUeXBlKSAoR0xlbnVt
LCBHTHNpemVpcHRyLCBjb25zdCBHTHZvaWQqLCBHTGVudW0pOwordHlwZWRlZiB2b2lkICgqZ2xC
dWZmZXJTdWJEYXRhVHlwZSkgKEdMZW51bSwgR0xpbnRwdHIsIEdMc2l6ZWlwdHIsIGNvbnN0IEdM
dm9pZCopOwordHlwZWRlZiBHTGVudW0gKCpnbENoZWNrRnJhbWVidWZmZXJTdGF0dXNUeXBlKSAo
R0xlbnVtKTsKK3R5cGVkZWYgdm9pZCAoKmdsQ29tcGlsZVNoYWRlclR5cGUpIChHTHVpbnQpOwor
dHlwZWRlZiBHTHVpbnQgKCpnbENyZWF0ZVByb2dyYW1UeXBlKSAoKTsKK3R5cGVkZWYgR0x1aW50
ICgqZ2xDcmVhdGVTaGFkZXJUeXBlKSAoR0xlbnVtKTsKK3R5cGVkZWYgdm9pZCAoKmdsRGVsZXRl
QnVmZmVyc1R5cGUpIChHTHNpemVpLCBjb25zdCBHTHVpbnQqKTsKK3R5cGVkZWYgdm9pZCAoKmds
RGVsZXRlRnJhbWVidWZmZXJzVHlwZSkgKEdMc2l6ZWkgbiwgY29uc3QgR0x1aW50Kik7Cit0eXBl
ZGVmIHZvaWQgKCpnbERlbGV0ZVByb2dyYW1UeXBlKSAoR0x1aW50KTsKK3R5cGVkZWYgdm9pZCAo
KmdsRGVsZXRlUmVuZGVyYnVmZmVyc1R5cGUpIChHTHNpemVpIG4sIGNvbnN0IEdMdWludCopOwor
dHlwZWRlZiB2b2lkICgqZ2xEZWxldGVTaGFkZXJUeXBlKSAoR0x1aW50KTsKK3R5cGVkZWYgdm9p
ZCAoKmdsRGV0YWNoU2hhZGVyVHlwZSkgKEdMdWludCwgR0x1aW50KTsKK3R5cGVkZWYgdm9pZCAo
KmdsRGlzYWJsZVZlcnRleEF0dHJpYkFycmF5VHlwZSkgKEdMdWludCk7Cit0eXBlZGVmIHZvaWQg
KCpnbEVuYWJsZVZlcnRleEF0dHJpYkFycmF5VHlwZSkgKEdMdWludCk7Cit0eXBlZGVmIHZvaWQg
KCpnbEZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyVHlwZSkgKEdMZW51bSwgR0xlbnVtLCBHTGVudW0s
IEdMdWludCk7Cit0eXBlZGVmIHZvaWQgKCpnbEZyYW1lYnVmZmVyVGV4dHVyZTJEVHlwZSkgKEdM
ZW51bSwgR0xlbnVtLCBHTGVudW0sIEdMdWludCwgR0xpbnQpOwordHlwZWRlZiB2b2lkICgqZ2xH
ZW5CdWZmZXJzVHlwZSkgKEdMc2l6ZWksIEdMdWludCopOwordHlwZWRlZiB2b2lkICgqZ2xHZW5l
cmF0ZU1pcG1hcFR5cGUpIChHTGVudW0gdGFyZ2V0KTsKK3R5cGVkZWYgdm9pZCAoKmdsR2VuRnJh
bWVidWZmZXJzVHlwZSkgKEdMc2l6ZWksIEdMdWludCopOwordHlwZWRlZiB2b2lkICgqZ2xHZW5S
ZW5kZXJidWZmZXJzVHlwZSkgKEdMc2l6ZWksIEdMdWludCopOwordHlwZWRlZiB2b2lkICgqZ2xH
ZXRBY3RpdmVBdHRyaWJUeXBlKSAoR0x1aW50LCBHTHVpbnQsIEdMc2l6ZWksIEdMc2l6ZWkqLCBH
TGludCosIEdMZW51bSosIEdMY2hhciopOwordHlwZWRlZiB2b2lkICgqZ2xHZXRBY3RpdmVVbmlm
b3JtVHlwZSkgKEdMdWludCwgR0x1aW50LCBHTHNpemVpLCBHTHNpemVpKiwgR0xpbnQqLCBHTGVu
dW0qLCBHTGNoYXIqKTsKK3R5cGVkZWYgdm9pZCAoKmdsR2V0QXR0YWNoZWRTaGFkZXJzVHlwZSkg
KEdMdWludCwgR0xzaXplaSwgR0xzaXplaSosIEdMdWludCopOwordHlwZWRlZiBHTGludCAoKmds
R2V0QXR0cmliTG9jYXRpb25UeXBlKSAoR0x1aW50LCBjb25zdCBjaGFyKik7Cit0eXBlZGVmIHZv
aWQgKCpnbEdldEJ1ZmZlclBhcmFtZXRlcml2VHlwZSkgKEdMZW51bSwgR0xlbnVtLCBHTGludCop
OwordHlwZWRlZiB2b2lkICgqZ2xHZXRGcmFtZWJ1ZmZlckF0dGFjaG1lbnRQYXJhbWV0ZXJpdlR5
cGUpIChHTGVudW0sIEdMZW51bSwgR0xlbnVtLCBHTGludCogcGFyYW1zKTsKK3R5cGVkZWYgdm9p
ZCAoKmdsR2V0UHJvZ3JhbUluZm9Mb2dUeXBlKSAoR0x1aW50LCBHTHNpemVpLCBHTHNpemVpKiwg
Y2hhciopOwordHlwZWRlZiB2b2lkICgqZ2xHZXRQcm9ncmFtaXZUeXBlKSAoR0x1aW50LCBHTGVu
dW0sIEdMaW50Kik7Cit0eXBlZGVmIHZvaWQgKCpnbEdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcml2
VHlwZSkgKEdMZW51bSwgR0xlbnVtLCBHTGludCopOwordHlwZWRlZiB2b2lkICgqZ2xHZXRTaGFk
ZXJJbmZvTG9nVHlwZSkgKEdMdWludCwgR0xzaXplaSwgR0xzaXplaSosIGNoYXIqKTsKK3R5cGVk
ZWYgdm9pZCAoKmdsR2V0U2hhZGVyaXZUeXBlKSAoR0x1aW50LCBHTGVudW0sIEdMaW50Kik7Cit0
eXBlZGVmIHZvaWQgKCpnbEdldFNoYWRlclNvdXJjZVR5cGUpIChHTHVpbnQsIEdMc2l6ZWksIEdM
c2l6ZWkqLCBjaGFyKik7Cit0eXBlZGVmIEdMaW50ICgqZ2xHZXRVbmlmb3JtTG9jYXRpb25UeXBl
KSAoR0x1aW50LCBjb25zdCBjaGFyKik7Cit0eXBlZGVmIHZvaWQgKCpnbEdldFVuaWZvcm1mdlR5
cGUpIChHTHVpbnQsIEdMaW50LCBHTGZsb2F0Kik7Cit0eXBlZGVmIHZvaWQgKCpnbEdldFVuaWZv
cm1pdlR5cGUpIChHTHVpbnQsIEdMaW50LCBHTGludCopOwordHlwZWRlZiB2b2lkICgqZ2xHZXRW
ZXJ0ZXhBdHRyaWJmdlR5cGUpIChHTHVpbnQsIEdMZW51bSwgR0xmbG9hdCopOwordHlwZWRlZiB2
b2lkICgqZ2xHZXRWZXJ0ZXhBdHRyaWJpdlR5cGUpIChHTHVpbnQsIEdMZW51bSwgR0xpbnQqKTsK
K3R5cGVkZWYgdm9pZCAoKmdsR2V0VmVydGV4QXR0cmliUG9pbnRlcnZUeXBlKSAoR0x1aW50LCBH
TGVudW0sIEdMdm9pZCoqKTsKK3R5cGVkZWYgR0xib29sZWFuICgqZ2xJc0J1ZmZlclR5cGUpIChH
THVpbnQpOwordHlwZWRlZiBHTGJvb2xlYW4gKCpnbElzRnJhbWVidWZmZXJUeXBlKSAoR0x1aW50
KTsKK3R5cGVkZWYgR0xib29sZWFuICgqZ2xJc1Byb2dyYW1UeXBlKSAoR0x1aW50KTsKK3R5cGVk
ZWYgR0xib29sZWFuICgqZ2xJc1JlbmRlcmJ1ZmZlclR5cGUpIChHTHVpbnQpOwordHlwZWRlZiBH
TGJvb2xlYW4gKCpnbElzU2hhZGVyVHlwZSkgKEdMdWludCk7Cit0eXBlZGVmIHZvaWQgKCpnbExp
bmtQcm9ncmFtVHlwZSkgKEdMdWludCk7Cit0eXBlZGVmIHZvaWQgKCpnbFJlbmRlcmJ1ZmZlclN0
b3JhZ2VUeXBlKSAoR0xlbnVtLCBHTGVudW0sIEdMc2l6ZWksIEdMc2l6ZWkpOwordHlwZWRlZiB2
b2lkICgqZ2xSZW5kZXJidWZmZXJTdG9yYWdlTXVsdGlzYW1wbGVUeXBlKSAoR0xlbnVtLCBHTHNp
emVpLCBHTGVudW0sIEdMc2l6ZWksIEdMc2l6ZWkpOwordHlwZWRlZiB2b2lkICgqZ2xTYW1wbGVD
b3ZlcmFnZVR5cGUpIChHTGNsYW1wZiwgR0xib29sZWFuKTsKK3R5cGVkZWYgdm9pZCAoKmdsU2hh
ZGVyU291cmNlVHlwZSkgKEdMdWludCwgR0xzaXplaSwgY29uc3QgY2hhcioqLCBjb25zdCBHTGlu
dCopOwordHlwZWRlZiB2b2lkICgqZ2xTdGVuY2lsRnVuY1NlcGFyYXRlVHlwZSkgKEdMZW51bSwg
R0xlbnVtLCBHTGludCwgR0x1aW50KTsKK3R5cGVkZWYgdm9pZCAoKmdsU3RlbmNpbE1hc2tTZXBh
cmF0ZVR5cGUpIChHTGVudW0sIEdMdWludCk7Cit0eXBlZGVmIHZvaWQgKCpnbFN0ZW5jaWxPcFNl
cGFyYXRlVHlwZSkgKEdMZW51bSwgR0xlbnVtLCBHTGVudW0sIEdMZW51bSk7Cit0eXBlZGVmIHZv
aWQgKCpnbFVuaWZvcm0xZlR5cGUpIChHTGludCwgR0xmbG9hdCk7Cit0eXBlZGVmIHZvaWQgKCpn
bFVuaWZvcm0xZnZUeXBlKSAoR0xpbnQsIEdMc2l6ZWksIGNvbnN0IEdMZmxvYXQqKTsKK3R5cGVk
ZWYgdm9pZCAoKmdsVW5pZm9ybTFpVHlwZSkgKEdMaW50LCBHTGludCk7Cit0eXBlZGVmIHZvaWQg
KCpnbFVuaWZvcm0xaXZUeXBlKSAoR0xpbnQsIEdMc2l6ZWksIGNvbnN0IEdMaW50Kik7Cit0eXBl
ZGVmIHZvaWQgKCpnbFVuaWZvcm0yZlR5cGUpIChHTGludCwgR0xmbG9hdCwgR0xmbG9hdCk7Cit0
eXBlZGVmIHZvaWQgKCpnbFVuaWZvcm0yZnZUeXBlKSAoR0xpbnQsIEdMc2l6ZWksIGNvbnN0IEdM
ZmxvYXQqKTsKK3R5cGVkZWYgdm9pZCAoKmdsVW5pZm9ybTJpVHlwZSkgKEdMaW50LCBHTGludCwg
R0xpbnQpOwordHlwZWRlZiB2b2lkICgqZ2xVbmlmb3JtMml2VHlwZSkgKEdMaW50LCBHTHNpemVp
LCBjb25zdCBHTGludCopOwordHlwZWRlZiB2b2lkICgqZ2xVbmlmb3JtM2ZUeXBlKSAoR0xpbnQs
IEdMZmxvYXQsIEdMZmxvYXQsIEdMZmxvYXQpOwordHlwZWRlZiB2b2lkICgqZ2xVbmlmb3JtM2Z2
VHlwZSkgKEdMaW50LCBHTHNpemVpLCBjb25zdCBHTGZsb2F0Kik7Cit0eXBlZGVmIHZvaWQgKCpn
bFVuaWZvcm0zaVR5cGUpIChHTGludCwgR0xpbnQsIEdMaW50LCBHTGludCk7Cit0eXBlZGVmIHZv
aWQgKCpnbFVuaWZvcm0zaXZUeXBlKSAoR0xpbnQsIEdMc2l6ZWksIGNvbnN0IEdMaW50Kik7Cit0
eXBlZGVmIHZvaWQgKCpnbFVuaWZvcm00ZlR5cGUpIChHTGludCwgR0xmbG9hdCwgR0xmbG9hdCwg
R0xmbG9hdCwgR0xmbG9hdCk7Cit0eXBlZGVmIHZvaWQgKCpnbFVuaWZvcm00ZnZUeXBlKSAoR0xp
bnQsIEdMc2l6ZWksIGNvbnN0IEdMZmxvYXQqKTsKK3R5cGVkZWYgdm9pZCAoKmdsVW5pZm9ybTRp
VHlwZSkgKEdMaW50LCBHTGludCwgR0xpbnQsIEdMaW50LCBHTGludCk7Cit0eXBlZGVmIHZvaWQg
KCpnbFVuaWZvcm00aXZUeXBlKSAoR0xpbnQsIEdMc2l6ZWksIGNvbnN0IEdMaW50Kik7Cit0eXBl
ZGVmIHZvaWQgKCpnbFVuaWZvcm1NYXRyaXgyZnZUeXBlKSAoR0xpbnQsIEdMc2l6ZWksIEdMYm9v
bGVhbiwgY29uc3QgR0xmbG9hdCopOwordHlwZWRlZiB2b2lkICgqZ2xVbmlmb3JtTWF0cml4M2Z2
VHlwZSkgKEdMaW50LCBHTHNpemVpLCBHTGJvb2xlYW4sIGNvbnN0IEdMZmxvYXQqKTsKK3R5cGVk
ZWYgdm9pZCAoKmdsVW5pZm9ybU1hdHJpeDRmdlR5cGUpIChHTGludCwgR0xzaXplaSwgR0xib29s
ZWFuLCBjb25zdCBHTGZsb2F0Kik7Cit0eXBlZGVmIHZvaWQgKCpnbFVzZVByb2dyYW1UeXBlKSAo
R0x1aW50KTsKK3R5cGVkZWYgdm9pZCAoKmdsVmFsaWRhdGVQcm9ncmFtVHlwZSkgKEdMdWludCk7
Cit0eXBlZGVmIHZvaWQgKCpnbFZlcnRleEF0dHJpYjFmVHlwZSkgKEdMdWludCwgY29uc3QgR0xm
bG9hdCk7Cit0eXBlZGVmIHZvaWQgKCpnbFZlcnRleEF0dHJpYjFmdlR5cGUpIChHTHVpbnQsIGNv
bnN0IEdMZmxvYXQqKTsKK3R5cGVkZWYgdm9pZCAoKmdsVmVydGV4QXR0cmliMmZUeXBlKSAoR0x1
aW50LCBjb25zdCBHTGZsb2F0LCBjb25zdCBHTGZsb2F0KTsKK3R5cGVkZWYgdm9pZCAoKmdsVmVy
dGV4QXR0cmliMmZ2VHlwZSkgKEdMdWludCwgY29uc3QgR0xmbG9hdCopOwordHlwZWRlZiB2b2lk
ICgqZ2xWZXJ0ZXhBdHRyaWIzZlR5cGUpIChHTHVpbnQsIGNvbnN0IEdMZmxvYXQsIGNvbnN0IEdM
ZmxvYXQsIGNvbnN0IEdMZmxvYXQpOwordHlwZWRlZiB2b2lkICgqZ2xWZXJ0ZXhBdHRyaWIzZnZU
eXBlKSAoR0x1aW50LCBjb25zdCBHTGZsb2F0Kik7Cit0eXBlZGVmIHZvaWQgKCpnbFZlcnRleEF0
dHJpYjRmVHlwZSkgKEdMdWludCwgY29uc3QgR0xmbG9hdCwgY29uc3QgR0xmbG9hdCwgY29uc3Qg
R0xmbG9hdCwgY29uc3QgR0xmbG9hdCk7Cit0eXBlZGVmIHZvaWQgKCpnbFZlcnRleEF0dHJpYjRm
dlR5cGUpIChHTHVpbnQsIGNvbnN0IEdMZmxvYXQqKTsKK3R5cGVkZWYgdm9pZCAoKmdsVmVydGV4
QXR0cmliUG9pbnRlclR5cGUpIChHTHVpbnQsIEdMaW50LCBHTGVudW0sIEdMYm9vbGVhbiwgR0xz
aXplaSwgY29uc3QgR0x2b2lkKik7CisKKyNkZWZpbmUgRlVOQ1RJT05fVEFCTEVfRU5UUlkoRnVu
Y3Rpb25OYW1lKSBGdW5jdGlvbk5hbWUjI1R5cGUgRnVuY3Rpb25OYW1lCisKK3R5cGVkZWYgc3Ry
dWN0IF9PcGVuR0xGdW5jdGlvblRhYmxlIHsKKyAgICBGVU5DVElPTl9UQUJMRV9FTlRSWShnbEFj
dGl2ZVRleHR1cmUpOworICAgIEZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsQXR0YWNoU2hhZGVyKTsK
KyAgICBGVU5DVElPTl9UQUJMRV9FTlRSWShnbEJpbmRBdHRyaWJMb2NhdGlvbik7CisgICAgRlVO
Q1RJT05fVEFCTEVfRU5UUlkoZ2xCaW5kQnVmZmVyKTsKKyAgICBGVU5DVElPTl9UQUJMRV9FTlRS
WShnbEJpbmRGcmFtZWJ1ZmZlcik7CisgICAgRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xCaW5kUmVu
ZGVyYnVmZmVyKTsKKyAgICBGVU5DVElPTl9UQUJMRV9FTlRSWShnbEJsZW5kQ29sb3IpOworICAg
IEZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsQmxlbmRFcXVhdGlvbik7CisgICAgRlVOQ1RJT05fVEFC
TEVfRU5UUlkoZ2xCbGVuZEVxdWF0aW9uU2VwYXJhdGUpOworICAgIEZVTkNUSU9OX1RBQkxFX0VO
VFJZKGdsQmxlbmRGdW5jU2VwYXJhdGUpOworICAgIEZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsQmxp
dEZyYW1lYnVmZmVyKTsKKyAgICBGVU5DVElPTl9UQUJMRV9FTlRSWShnbEJ1ZmZlckRhdGEpOwor
ICAgIEZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsQnVmZmVyU3ViRGF0YSk7CisgICAgRlVOQ1RJT05f
VEFCTEVfRU5UUlkoZ2xDaGVja0ZyYW1lYnVmZmVyU3RhdHVzKTsKKyAgICBGVU5DVElPTl9UQUJM
RV9FTlRSWShnbENvbXBpbGVTaGFkZXIpOworICAgIEZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsQ3Jl
YXRlUHJvZ3JhbSk7CisgICAgRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xDcmVhdGVTaGFkZXIpOwor
ICAgIEZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsRGVsZXRlQnVmZmVycyk7CisgICAgRlVOQ1RJT05f
VEFCTEVfRU5UUlkoZ2xEZWxldGVGcmFtZWJ1ZmZlcnMpOworICAgIEZVTkNUSU9OX1RBQkxFX0VO
VFJZKGdsRGVsZXRlUHJvZ3JhbSk7CisgICAgRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xEZWxldGVS
ZW5kZXJidWZmZXJzKTsKKyAgICBGVU5DVElPTl9UQUJMRV9FTlRSWShnbERlbGV0ZVNoYWRlcik7
CisgICAgRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xEZXRhY2hTaGFkZXIpOworICAgIEZVTkNUSU9O
X1RBQkxFX0VOVFJZKGdsRGlzYWJsZVZlcnRleEF0dHJpYkFycmF5KTsKKyAgICBGVU5DVElPTl9U
QUJMRV9FTlRSWShnbEVuYWJsZVZlcnRleEF0dHJpYkFycmF5KTsKKyAgICBGVU5DVElPTl9UQUJM
RV9FTlRSWShnbEZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKTsKKyAgICBGVU5DVElPTl9UQUJMRV9F
TlRSWShnbEZyYW1lYnVmZmVyVGV4dHVyZTJEKTsKKyAgICBGVU5DVElPTl9UQUJMRV9FTlRSWShn
bEdlbkJ1ZmZlcnMpOworICAgIEZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsR2VuZXJhdGVNaXBtYXAp
OworICAgIEZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsR2VuRnJhbWVidWZmZXJzKTsKKyAgICBGVU5D
VElPTl9UQUJMRV9FTlRSWShnbEdlblJlbmRlcmJ1ZmZlcnMpOworICAgIEZVTkNUSU9OX1RBQkxF
X0VOVFJZKGdsR2V0QWN0aXZlQXR0cmliKTsKKyAgICBGVU5DVElPTl9UQUJMRV9FTlRSWShnbEdl
dEFjdGl2ZVVuaWZvcm0pOworICAgIEZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsR2V0QXR0YWNoZWRT
aGFkZXJzKTsKKyAgICBGVU5DVElPTl9UQUJMRV9FTlRSWShnbEdldEF0dHJpYkxvY2F0aW9uKTsK
KyAgICBGVU5DVElPTl9UQUJMRV9FTlRSWShnbEdldEJ1ZmZlclBhcmFtZXRlcml2KTsKKyAgICBG
VU5DVElPTl9UQUJMRV9FTlRSWShnbEdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlcml2
KTsKKyAgICBGVU5DVElPTl9UQUJMRV9FTlRSWShnbEdldFByb2dyYW1JbmZvTG9nKTsKKyAgICBG
VU5DVElPTl9UQUJMRV9FTlRSWShnbEdldFByb2dyYW1pdik7CisgICAgRlVOQ1RJT05fVEFCTEVf
RU5UUlkoZ2xHZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXJpdik7CisgICAgRlVOQ1RJT05fVEFCTEVf
RU5UUlkoZ2xHZXRTaGFkZXJJbmZvTG9nKTsKKyAgICBGVU5DVElPTl9UQUJMRV9FTlRSWShnbEdl
dFNoYWRlcml2KTsKKyAgICBGVU5DVElPTl9UQUJMRV9FTlRSWShnbEdldFNoYWRlclNvdXJjZSk7
CisgICAgRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xHZXRVbmlmb3JtZnYpOworICAgIEZVTkNUSU9O
X1RBQkxFX0VOVFJZKGdsR2V0VW5pZm9ybWl2KTsKKyAgICBGVU5DVElPTl9UQUJMRV9FTlRSWShn
bEdldFVuaWZvcm1Mb2NhdGlvbik7CisgICAgRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xHZXRWZXJ0
ZXhBdHRyaWJmdik7CisgICAgRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xHZXRWZXJ0ZXhBdHRyaWJp
dik7CisgICAgRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xHZXRWZXJ0ZXhBdHRyaWJQb2ludGVydik7
CisgICAgRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xJc0J1ZmZlcik7CisgICAgRlVOQ1RJT05fVEFC
TEVfRU5UUlkoZ2xJc0ZyYW1lYnVmZmVyKTsKKyAgICBGVU5DVElPTl9UQUJMRV9FTlRSWShnbElz
UHJvZ3JhbSk7CisgICAgRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xJc1JlbmRlcmJ1ZmZlcik7Cisg
ICAgRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xJc1NoYWRlcik7CisgICAgRlVOQ1RJT05fVEFCTEVf
RU5UUlkoZ2xMaW5rUHJvZ3JhbSk7CisgICAgRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xSZW5kZXJi
dWZmZXJTdG9yYWdlKTsKKyAgICBGVU5DVElPTl9UQUJMRV9FTlRSWShnbFJlbmRlcmJ1ZmZlclN0
b3JhZ2VNdWx0aXNhbXBsZSk7CisgICAgRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xTYW1wbGVDb3Zl
cmFnZSk7CisgICAgRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xTaGFkZXJTb3VyY2UpOworICAgIEZV
TkNUSU9OX1RBQkxFX0VOVFJZKGdsU3RlbmNpbEZ1bmNTZXBhcmF0ZSk7CisgICAgRlVOQ1RJT05f
VEFCTEVfRU5UUlkoZ2xTdGVuY2lsTWFza1NlcGFyYXRlKTsKKyAgICBGVU5DVElPTl9UQUJMRV9F
TlRSWShnbFN0ZW5jaWxPcFNlcGFyYXRlKTsKKyAgICBGVU5DVElPTl9UQUJMRV9FTlRSWShnbFVu
aWZvcm0xZik7CisgICAgRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xVbmlmb3JtMWZ2KTsKKyAgICBG
VU5DVElPTl9UQUJMRV9FTlRSWShnbFVuaWZvcm0xaSk7CisgICAgRlVOQ1RJT05fVEFCTEVfRU5U
UlkoZ2xVbmlmb3JtMWl2KTsKKyAgICBGVU5DVElPTl9UQUJMRV9FTlRSWShnbFVuaWZvcm0yZik7
CisgICAgRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xVbmlmb3JtMmZ2KTsKKyAgICBGVU5DVElPTl9U
QUJMRV9FTlRSWShnbFVuaWZvcm0yaSk7CisgICAgRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xVbmlm
b3JtMml2KTsKKyAgICBGVU5DVElPTl9UQUJMRV9FTlRSWShnbFVuaWZvcm0zZik7CisgICAgRlVO
Q1RJT05fVEFCTEVfRU5UUlkoZ2xVbmlmb3JtM2Z2KTsKKyAgICBGVU5DVElPTl9UQUJMRV9FTlRS
WShnbFVuaWZvcm0zaSk7CisgICAgRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xVbmlmb3JtM2l2KTsK
KyAgICBGVU5DVElPTl9UQUJMRV9FTlRSWShnbFVuaWZvcm00Zik7CisgICAgRlVOQ1RJT05fVEFC
TEVfRU5UUlkoZ2xVbmlmb3JtNGZ2KTsKKyAgICBGVU5DVElPTl9UQUJMRV9FTlRSWShnbFVuaWZv
cm00aSk7CisgICAgRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xVbmlmb3JtNGl2KTsKKyAgICBGVU5D
VElPTl9UQUJMRV9FTlRSWShnbFVuaWZvcm1NYXRyaXgyZnYpOworICAgIEZVTkNUSU9OX1RBQkxF
X0VOVFJZKGdsVW5pZm9ybU1hdHJpeDNmdik7CisgICAgRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xV
bmlmb3JtTWF0cml4NGZ2KTsKKyAgICBGVU5DVElPTl9UQUJMRV9FTlRSWShnbFVzZVByb2dyYW0p
OworICAgIEZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsVmFsaWRhdGVQcm9ncmFtKTsKKyAgICBGVU5D
VElPTl9UQUJMRV9FTlRSWShnbFZlcnRleEF0dHJpYjFmKTsKKyAgICBGVU5DVElPTl9UQUJMRV9F
TlRSWShnbFZlcnRleEF0dHJpYjFmdik7CisgICAgRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xWZXJ0
ZXhBdHRyaWIyZik7CisgICAgRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xWZXJ0ZXhBdHRyaWIyZnYp
OworICAgIEZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsVmVydGV4QXR0cmliM2YpOworICAgIEZVTkNU
SU9OX1RBQkxFX0VOVFJZKGdsVmVydGV4QXR0cmliM2Z2KTsKKyAgICBGVU5DVElPTl9UQUJMRV9F
TlRSWShnbFZlcnRleEF0dHJpYjRmKTsKKyAgICBGVU5DVElPTl9UQUJMRV9FTlRSWShnbFZlcnRl
eEF0dHJpYjRmdik7CisgICAgRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xWZXJ0ZXhBdHRyaWJQb2lu
dGVyKTsKK30gT3BlbkdMRnVuY3Rpb25UYWJsZTsKKworLy8gV2UgZGlzYWJsZSB0aGUgc2hpbXMg
Zm9yIE9wZW5HTFNoaW1zLmNwcCwgc28gdGhhdCB3ZSBjYW4gc2V0IHRoZW0uCisjaWZuZGVmIERJ
U0FCTEVfU0hJTVMKKyNkZWZpbmUgTE9PS1VQX0dMX0ZVTkNUSU9OKEZ1bmN0aW9uKSBXZWJDb3Jl
OjpvcGVuR0xGdW5jdGlvblRhYmxlKCktPkZ1bmN0aW9uCisjZGVmaW5lIGdsQWN0aXZlVGV4dHVy
ZSAgICAgICAgICAgICAgICAgICAgICAgIExPT0tVUF9HTF9GVU5DVElPTihnbEFjdGl2ZVRleHR1
cmUpCisjZGVmaW5lIGdsQXR0YWNoU2hhZGVyICAgICAgICAgICAgICAgICAgICAgICAgIExPT0tV
UF9HTF9GVU5DVElPTihnbEF0dGFjaFNoYWRlcikKKyNkZWZpbmUgZ2xCaW5kQXR0cmliTG9jYXRp
b24gICAgICAgICAgICAgICAgICAgTE9PS1VQX0dMX0ZVTkNUSU9OKGdsQmluZEF0dHJpYkxvY2F0
aW9uKQorI2RlZmluZSBnbEJpbmRCdWZmZXIgICAgICAgICAgICAgICAgICAgICAgICAgICBMT09L
VVBfR0xfRlVOQ1RJT04oZ2xCaW5kQnVmZmVyKQorI2RlZmluZSBnbEJpbmRGcmFtZWJ1ZmZlckVY
VCAgICAgICAgICAgICAgICAgICBnbEJpbmRGcmFtZWJ1ZmZlcgorI2RlZmluZSBnbEJpbmRGcmFt
ZWJ1ZmZlciAgICAgICAgICAgICAgICAgICAgICBMT09LVVBfR0xfRlVOQ1RJT04oZ2xCaW5kRnJh
bWVidWZmZXIpCisjZGVmaW5lIGdsQmluZFJlbmRlcmJ1ZmZlckVYVCAgICAgICAgICAgICAgICAg
IGdsQmluZFJlbmRlcmJ1ZmZlcgorI2RlZmluZSBnbEJpbmRSZW5kZXJidWZmZXIgICAgICAgICAg
ICAgICAgICAgICBMT09LVVBfR0xfRlVOQ1RJT04oZ2xCaW5kUmVuZGVyYnVmZmVyKQorI2RlZmlu
ZSBnbEJsZW5kQ29sb3IgICAgICAgICAgICAgICAgICAgICAgICAgICBMT09LVVBfR0xfRlVOQ1RJ
T04oZ2xCbGVuZENvbG9yKQorI2RlZmluZSBnbEJsZW5kRXF1YXRpb24gICAgICAgICAgICAgICAg
ICAgICAgICBMT09LVVBfR0xfRlVOQ1RJT04oZ2xCbGVuZEVxdWF0aW9uKQorI2RlZmluZSBnbEJs
ZW5kRXF1YXRpb25TZXBhcmF0ZSAgICAgICAgICAgICAgICBMT09LVVBfR0xfRlVOQ1RJT04oZ2xC
bGVuZEVxdWF0aW9uU2VwYXJhdGUpCisjZGVmaW5lIGdsQmxlbmRGdW5jU2VwYXJhdGUgICAgICAg
ICAgICAgICAgICAgIExPT0tVUF9HTF9GVU5DVElPTihnbEJsZW5kRnVuY1NlcGFyYXRlKQorI2Rl
ZmluZSBnbEJsaXRGcmFtZWJ1ZmZlckVYVCAgICAgICAgICAgICAgICAgICBnbEJsaXRGcmFtZWJ1
ZmZlcgorI2RlZmluZSBnbEJsaXRGcmFtZWJ1ZmZlciAgICAgICAgICAgICAgICAgICAgICBMT09L
VVBfR0xfRlVOQ1RJT04oZ2xCbGl0RnJhbWVidWZmZXIpCisjZGVmaW5lIGdsQnVmZmVyRGF0YSAg
ICAgICAgICAgICAgICAgICAgICAgICAgIExPT0tVUF9HTF9GVU5DVElPTihnbEJ1ZmZlckRhdGEp
CisjZGVmaW5lIGdsQnVmZmVyU3ViRGF0YSAgICAgICAgICAgICAgICAgICAgICAgIExPT0tVUF9H
TF9GVU5DVElPTihnbEJ1ZmZlclN1YkRhdGEpCisjZGVmaW5lIGdsQ2hlY2tGcmFtZWJ1ZmZlclN0
YXR1c0VYVCAgICAgICAgICAgIGdsQ2hlY2tGcmFtZWJ1ZmZlclN0YXR1cworI2RlZmluZSBnbENo
ZWNrRnJhbWVidWZmZXJTdGF0dXMgICAgICAgICAgICAgICBMT09LVVBfR0xfRlVOQ1RJT04oZ2xD
aGVja0ZyYW1lYnVmZmVyU3RhdHVzKQorI2RlZmluZSBnbENvbXBpbGVTaGFkZXIgICAgICAgICAg
ICAgICAgICAgICAgICBMT09LVVBfR0xfRlVOQ1RJT04oZ2xDb21waWxlU2hhZGVyKQorI2RlZmlu
ZSBnbENyZWF0ZVByb2dyYW0gICAgICAgICAgICAgICAgICAgICAgICBMT09LVVBfR0xfRlVOQ1RJ
T04oZ2xDcmVhdGVQcm9ncmFtKQorI2RlZmluZSBnbENyZWF0ZVNoYWRlciAgICAgICAgICAgICAg
ICAgICAgICAgICBMT09LVVBfR0xfRlVOQ1RJT04oZ2xDcmVhdGVTaGFkZXIpCisjZGVmaW5lIGds
RGVsZXRlQnVmZmVycyAgICAgICAgICAgICAgICAgICAgICAgIExPT0tVUF9HTF9GVU5DVElPTihn
bERlbGV0ZUJ1ZmZlcnMpCisjZGVmaW5lIGdsRGVsZXRlRnJhbWVidWZmZXJzRVhUICAgICAgICAg
ICAgICAgIGdsRGVsZXRlRnJhbWVidWZmZXJzCisjZGVmaW5lIGdsRGVsZXRlRnJhbWVidWZmZXJz
ICAgICAgICAgICAgICAgICAgIExPT0tVUF9HTF9GVU5DVElPTihnbERlbGV0ZUZyYW1lYnVmZmVy
cykKKyNkZWZpbmUgZ2xEZWxldGVQcm9ncmFtICAgICAgICAgICAgICAgICAgICAgICAgTE9PS1VQ
X0dMX0ZVTkNUSU9OKGdsRGVsZXRlUHJvZ3JhbSkKKyNkZWZpbmUgZ2xEZWxldGVSZW5kZXJidWZm
ZXJzRVhUICAgICAgICAgICAgICAgZ2xEZWxldGVSZW5kZXJidWZmZXJzCisjZGVmaW5lIGdsRGVs
ZXRlUmVuZGVyYnVmZmVycyAgICAgICAgICAgICAgICAgIExPT0tVUF9HTF9GVU5DVElPTihnbERl
bGV0ZVJlbmRlcmJ1ZmZlcnMpCisjZGVmaW5lIGdsRGVsZXRlU2hhZGVyICAgICAgICAgICAgICAg
ICAgICAgICAgIExPT0tVUF9HTF9GVU5DVElPTihnbERlbGV0ZVNoYWRlcikKKyNkZWZpbmUgZ2xE
ZXRhY2hTaGFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgTE9PS1VQX0dMX0ZVTkNUSU9OKGds
RGV0YWNoU2hhZGVyKQorI2RlZmluZSBnbERpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheSAgICAgICAg
ICAgICBMT09LVVBfR0xfRlVOQ1RJT04oZ2xEaXNhYmxlVmVydGV4QXR0cmliQXJyYXkpCisjZGVm
aW5lIGdsRW5hYmxlVmVydGV4QXR0cmliQXJyYXkgICAgICAgICAgICAgIExPT0tVUF9HTF9GVU5D
VElPTihnbEVuYWJsZVZlcnRleEF0dHJpYkFycmF5KQorI2RlZmluZSBnbEZyYW1lYnVmZmVyUmVu
ZGVyYnVmZmVyRVhUICAgICAgICAgICBnbEZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyCisjZGVmaW5l
IGdsRnJhbWVidWZmZXJSZW5kZXJidWZmZXIgICAgICAgICAgICAgIExPT0tVUF9HTF9GVU5DVElP
TihnbEZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKQorI2RlZmluZSBnbEZyYW1lYnVmZmVyVGV4dHVy
ZTJERVhUICAgICAgICAgICAgICBnbEZyYW1lYnVmZmVyVGV4dHVyZTJECisjZGVmaW5lIGdsRnJh
bWVidWZmZXJUZXh0dXJlMkQgICAgICAgICAgICAgICAgIExPT0tVUF9HTF9GVU5DVElPTihnbEZy
YW1lYnVmZmVyVGV4dHVyZTJEKQorI2RlZmluZSBnbEdlbkJ1ZmZlcnMgICAgICAgICAgICAgICAg
ICAgICAgICAgICBMT09LVVBfR0xfRlVOQ1RJT04oZ2xHZW5CdWZmZXJzKQorI2RlZmluZSBnbEdl
bmVyYXRlTWlwbWFwRVhUICAgICAgICAgICAgICAgICAgICBnbEdlbmVyYXRlTWlwbWFwCisjZGVm
aW5lIGdsR2VuZXJhdGVNaXBtYXAgICAgICAgICAgICAgICAgICAgICAgIExPT0tVUF9HTF9GVU5D
VElPTihnbEdlbmVyYXRlTWlwbWFwKQorI2RlZmluZSBnbEdlbkZyYW1lYnVmZmVyc0VYVCAgICAg
ICAgICAgICAgICAgICBnbEdlbkZyYW1lYnVmZmVycworI2RlZmluZSBnbEdlbkZyYW1lYnVmZmVy
cyAgICAgICAgICAgICAgICAgICAgICBMT09LVVBfR0xfRlVOQ1RJT04oZ2xHZW5GcmFtZWJ1ZmZl
cnMpCisjZGVmaW5lIGdsR2VuUmVuZGVyYnVmZmVyc0VYVCAgICAgICAgICAgICAgICAgIGdsR2Vu
UmVuZGVyYnVmZmVycworI2RlZmluZSBnbEdlblJlbmRlcmJ1ZmZlcnMgICAgICAgICAgICAgICAg
ICAgICBMT09LVVBfR0xfRlVOQ1RJT04oZ2xHZW5SZW5kZXJidWZmZXJzKQorI2RlZmluZSBnbEdl
dEFjdGl2ZUF0dHJpYiAgICAgICAgICAgICAgICAgICAgICBMT09LVVBfR0xfRlVOQ1RJT04oZ2xH
ZXRBY3RpdmVBdHRyaWIpCisjZGVmaW5lIGdsR2V0QWN0aXZlVW5pZm9ybSAgICAgICAgICAgICAg
ICAgICAgIExPT0tVUF9HTF9GVU5DVElPTihnbEdldEFjdGl2ZVVuaWZvcm0pCisjZGVmaW5lIGds
R2V0QXR0YWNoZWRTaGFkZXJzICAgICAgICAgICAgICAgICAgIExPT0tVUF9HTF9GVU5DVElPTihn
bEdldEF0dGFjaGVkU2hhZGVycykKKyNkZWZpbmUgZ2xHZXRBdHRyaWJMb2NhdGlvbiAgICAgICAg
ICAgICAgICAgICAgTE9PS1VQX0dMX0ZVTkNUSU9OKGdsR2V0QXR0cmliTG9jYXRpb24pCisjZGVm
aW5lIGdsR2V0QnVmZmVyUGFyYW1ldGVyaXZFWFQgICAgICAgICAgICAgIGdsR2V0QnVmZmVyUGFy
YW1ldGVyaXYKKyNkZWZpbmUgZ2xHZXRCdWZmZXJQYXJhbWV0ZXJpdiAgICAgICAgICAgICAgICAg
TE9PS1VQX0dMX0ZVTkNUSU9OKGdsR2V0QnVmZmVyUGFyYW1ldGVyaXYpCisjZGVmaW5lIGdsR2V0
RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyaXZFWFQgZ2xHZXRGcmFtZWJ1ZmZlckF0dGFj
aG1lbnRQYXJhbWV0ZXJpdgorI2RlZmluZSBnbEdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFt
ZXRlcml2ICBMT09LVVBfR0xfRlVOQ1RJT04oZ2xHZXRGcmFtZWJ1ZmZlckF0dGFjaG1lbnRQYXJh
bWV0ZXJpdikKKyNkZWZpbmUgZ2xHZXRQcm9ncmFtSW5mb0xvZyAgICAgICAgICAgICAgICAgICAg
TE9PS1VQX0dMX0ZVTkNUSU9OKGdsR2V0UHJvZ3JhbUluZm9Mb2cpCisjZGVmaW5lIGdsR2V0UHJv
Z3JhbWl2ICAgICAgICAgICAgICAgICAgICAgICAgIExPT0tVUF9HTF9GVU5DVElPTihnbEdldFBy
b2dyYW1pdikKKyNkZWZpbmUgZ2xHZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXJpdkVYVCAgICAgICAg
Z2xHZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXJpdgorI2RlZmluZSBnbEdldFJlbmRlcmJ1ZmZlclBh
cmFtZXRlcml2ICAgICAgICAgICBMT09LVVBfR0xfRlVOQ1RJT04oZ2xHZXRSZW5kZXJidWZmZXJQ
YXJhbWV0ZXJpdikKKyNkZWZpbmUgZ2xHZXRTaGFkZXJJbmZvTG9nICAgICAgICAgICAgICAgICAg
ICAgTE9PS1VQX0dMX0ZVTkNUSU9OKGdsR2V0U2hhZGVySW5mb0xvZykKKyNkZWZpbmUgZ2xHZXRT
aGFkZXJpdiAgICAgICAgICAgICAgICAgICAgICAgICAgTE9PS1VQX0dMX0ZVTkNUSU9OKGdsR2V0
U2hhZGVyaXYpCisjZGVmaW5lIGdsR2V0U2hhZGVyU291cmNlICAgICAgICAgICAgICAgICAgICAg
IExPT0tVUF9HTF9GVU5DVElPTihnbEdldFNoYWRlclNvdXJjZSkKKyNkZWZpbmUgZ2xHZXRVbmlm
b3JtZnYgICAgICAgICAgICAgICAgICAgICAgICAgTE9PS1VQX0dMX0ZVTkNUSU9OKGdsR2V0VW5p
Zm9ybWZ2KQorI2RlZmluZSBnbEdldFVuaWZvcm1pdiAgICAgICAgICAgICAgICAgICAgICAgICBM
T09LVVBfR0xfRlVOQ1RJT04oZ2xHZXRVbmlmb3JtaXYpCisjZGVmaW5lIGdsR2V0VW5pZm9ybUxv
Y2F0aW9uICAgICAgICAgICAgICAgICAgIExPT0tVUF9HTF9GVU5DVElPTihnbEdldFVuaWZvcm1M
b2NhdGlvbikKKyNkZWZpbmUgZ2xHZXRWZXJ0ZXhBdHRyaWJmdiAgICAgICAgICAgICAgICAgICAg
TE9PS1VQX0dMX0ZVTkNUSU9OKGdsR2V0VmVydGV4QXR0cmliZnYpCisjZGVmaW5lIGdsR2V0VmVy
dGV4QXR0cmliaXYgICAgICAgICAgICAgICAgICAgIExPT0tVUF9HTF9GVU5DVElPTihnbEdldFZl
cnRleEF0dHJpYml2KQorI2RlZmluZSBnbEdldFZlcnRleEF0dHJpYlBvaW50ZXJ2ICAgICAgICAg
ICAgICBMT09LVVBfR0xfRlVOQ1RJT04oZ2xHZXRWZXJ0ZXhBdHRyaWJQb2ludGVydikKKyNkZWZp
bmUgZ2xJc0J1ZmZlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTE9PS1VQX0dMX0ZVTkNU
SU9OKGdsSXNCdWZmZXIpCisjZGVmaW5lIGdsSXNGcmFtZWJ1ZmZlckVYVCAgICAgICAgICAgICAg
ICAgICAgIGdsSXNGcmFtZWJ1ZmZlcgorI2RlZmluZSBnbElzRnJhbWVidWZmZXIgICAgICAgICAg
ICAgICAgICAgICAgICBMT09LVVBfR0xfRlVOQ1RJT04oZ2xJc0ZyYW1lYnVmZmVyKQorI2RlZmlu
ZSBnbElzUHJvZ3JhbSAgICAgICAgICAgICAgICAgICAgICAgICAgICBMT09LVVBfR0xfRlVOQ1RJ
T04oZ2xJc1Byb2dyYW0pCisjZGVmaW5lIGdsSXNSZW5kZXJidWZmZXJFWFQgICAgICAgICAgICAg
ICAgICAgIGdsSXNSZW5kZXJidWZmZXIKKyNkZWZpbmUgZ2xJc1JlbmRlcmJ1ZmZlciAgICAgICAg
ICAgICAgICAgICAgICAgTE9PS1VQX0dMX0ZVTkNUSU9OKGdsSXNSZW5kZXJidWZmZXIpCisjZGVm
aW5lIGdsSXNTaGFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExPT0tVUF9HTF9GVU5D
VElPTihnbElzU2hhZGVyKQorI2RlZmluZSBnbExpbmtQcm9ncmFtICAgICAgICAgICAgICAgICAg
ICAgICAgICBMT09LVVBfR0xfRlVOQ1RJT04oZ2xMaW5rUHJvZ3JhbSkKKyNkZWZpbmUgZ2xSZW5k
ZXJidWZmZXJTdG9yYWdlRVhUICAgICAgICAgICAgICAgZ2xSZW5kZXJidWZmZXJTdG9yYWdlCisj
ZGVmaW5lIGdsUmVuZGVyYnVmZmVyU3RvcmFnZSAgICAgICAgICAgICAgICAgIExPT0tVUF9HTF9G
VU5DVElPTihnbFJlbmRlcmJ1ZmZlclN0b3JhZ2UpCisjZGVmaW5lIGdsUmVuZGVyYnVmZmVyU3Rv
cmFnZU11bHRpc2FtcGxlRVhUICAgIGdsUmVuZGVyYnVmZmVyU3RvcmFnZU11bHRpc2FtcGxlCisj
ZGVmaW5lIGdsUmVuZGVyYnVmZmVyU3RvcmFnZU11bHRpc2FtcGxlICAgICAgIExPT0tVUF9HTF9G
VU5DVElPTihnbFJlbmRlcmJ1ZmZlclN0b3JhZ2VNdWx0aXNhbXBsZSkKKyNkZWZpbmUgZ2xTYW1w
bGVDb3ZlcmFnZSAgICAgICAgICAgICAgICAgICAgICAgTE9PS1VQX0dMX0ZVTkNUSU9OKGdsU2Ft
cGxlQ292ZXJhZ2UpCisjZGVmaW5lIGdsU2hhZGVyU291cmNlICAgICAgICAgICAgICAgICAgICAg
ICAgIExPT0tVUF9HTF9GVU5DVElPTihnbFNoYWRlclNvdXJjZSkKKyNkZWZpbmUgZ2xTdGVuY2ls
RnVuY1NlcGFyYXRlICAgICAgICAgICAgICAgICAgTE9PS1VQX0dMX0ZVTkNUSU9OKGdsU3RlbmNp
bEZ1bmNTZXBhcmF0ZSkKKyNkZWZpbmUgZ2xTdGVuY2lsTWFza1NlcGFyYXRlICAgICAgICAgICAg
ICAgICAgTE9PS1VQX0dMX0ZVTkNUSU9OKGdsU3RlbmNpbE1hc2tTZXBhcmF0ZSkKKyNkZWZpbmUg
Z2xTdGVuY2lsT3BTZXBhcmF0ZSAgICAgICAgICAgICAgICAgICAgTE9PS1VQX0dMX0ZVTkNUSU9O
KGdsU3RlbmNpbE9wU2VwYXJhdGUpCisjZGVmaW5lIGdsVW5pZm9ybTFmICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIExPT0tVUF9HTF9GVU5DVElPTihnbFVuaWZvcm0xZikKKyNkZWZpbmUgZ2xV
bmlmb3JtMWZ2ICAgICAgICAgICAgICAgICAgICAgICAgICAgTE9PS1VQX0dMX0ZVTkNUSU9OKGds
VW5pZm9ybTFmdikKKyNkZWZpbmUgZ2xVbmlmb3JtMWkgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgTE9PS1VQX0dMX0ZVTkNUSU9OKGdsVW5pZm9ybTFpKQorI2RlZmluZSBnbFVuaWZvcm0xaXYg
ICAgICAgICAgICAgICAgICAgICAgICAgICBMT09LVVBfR0xfRlVOQ1RJT04oZ2xVbmlmb3JtMWl2
KQorI2RlZmluZSBnbFVuaWZvcm0yZiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMT09LVVBf
R0xfRlVOQ1RJT04oZ2xVbmlmb3JtMmYpCisjZGVmaW5lIGdsVW5pZm9ybTJmdiAgICAgICAgICAg
ICAgICAgICAgICAgICAgIExPT0tVUF9HTF9GVU5DVElPTihnbFVuaWZvcm0yZnYpCisjZGVmaW5l
IGdsVW5pZm9ybTJpICAgICAgICAgICAgICAgICAgICAgICAgICAgIExPT0tVUF9HTF9GVU5DVElP
TihnbFVuaWZvcm0yaSkKKyNkZWZpbmUgZ2xVbmlmb3JtMml2ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgTE9PS1VQX0dMX0ZVTkNUSU9OKGdsVW5pZm9ybTJpdikKKyNkZWZpbmUgZ2xVbmlmb3Jt
M2YgICAgICAgICAgICAgICAgICAgICAgICAgICAgTE9PS1VQX0dMX0ZVTkNUSU9OKGdsVW5pZm9y
bTNmKQorI2RlZmluZSBnbFVuaWZvcm0zZnYgICAgICAgICAgICAgICAgICAgICAgICAgICBMT09L
VVBfR0xfRlVOQ1RJT04oZ2xVbmlmb3JtM2Z2KQorI2RlZmluZSBnbFVuaWZvcm0zaSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBMT09LVVBfR0xfRlVOQ1RJT04oZ2xVbmlmb3JtM2kpCisjZGVm
aW5lIGdsVW5pZm9ybTNpdiAgICAgICAgICAgICAgICAgICAgICAgICAgIExPT0tVUF9HTF9GVU5D
VElPTihnbFVuaWZvcm0zaXYpCisjZGVmaW5lIGdsVW5pZm9ybTRmICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIExPT0tVUF9HTF9GVU5DVElPTihnbFVuaWZvcm00ZikKKyNkZWZpbmUgZ2xVbmlm
b3JtNGZ2ICAgICAgICAgICAgICAgICAgICAgICAgICAgTE9PS1VQX0dMX0ZVTkNUSU9OKGdsVW5p
Zm9ybTRmdikKKyNkZWZpbmUgZ2xVbmlmb3JtNGkgICAgICAgICAgICAgICAgICAgICAgICAgICAg
TE9PS1VQX0dMX0ZVTkNUSU9OKGdsVW5pZm9ybTRpKQorI2RlZmluZSBnbFVuaWZvcm00aXYgICAg
ICAgICAgICAgICAgICAgICAgICAgICBMT09LVVBfR0xfRlVOQ1RJT04oZ2xVbmlmb3JtNGl2KQor
I2RlZmluZSBnbFVuaWZvcm1NYXRyaXgyZnYgICAgICAgICAgICAgICAgICAgICBMT09LVVBfR0xf
RlVOQ1RJT04oZ2xVbmlmb3JtTWF0cml4MmZ2KQorI2RlZmluZSBnbFVuaWZvcm1NYXRyaXgzZnYg
ICAgICAgICAgICAgICAgICAgICBMT09LVVBfR0xfRlVOQ1RJT04oZ2xVbmlmb3JtTWF0cml4M2Z2
KQorI2RlZmluZSBnbFVuaWZvcm1NYXRyaXg0ZnYgICAgICAgICAgICAgICAgICAgICBMT09LVVBf
R0xfRlVOQ1RJT04oZ2xVbmlmb3JtTWF0cml4NGZ2KQorI2RlZmluZSBnbFVzZVByb2dyYW0gICAg
ICAgICAgICAgICAgICAgICAgICAgICBMT09LVVBfR0xfRlVOQ1RJT04oZ2xVc2VQcm9ncmFtKQor
I2RlZmluZSBnbFZhbGlkYXRlUHJvZ3JhbSAgICAgICAgICAgICAgICAgICAgICBMT09LVVBfR0xf
RlVOQ1RJT04oZ2xWYWxpZGF0ZVByb2dyYW0pCisjZGVmaW5lIGdsVmVydGV4QXR0cmliMWYgICAg
ICAgICAgICAgICAgICAgICAgIExPT0tVUF9HTF9GVU5DVElPTihnbFZlcnRleEF0dHJpYjFmKQor
I2RlZmluZSBnbFZlcnRleEF0dHJpYjFmdiAgICAgICAgICAgICAgICAgICAgICBMT09LVVBfR0xf
RlVOQ1RJT04oZ2xWZXJ0ZXhBdHRyaWIxZnYpCisjZGVmaW5lIGdsVmVydGV4QXR0cmliMmYgICAg
ICAgICAgICAgICAgICAgICAgIExPT0tVUF9HTF9GVU5DVElPTihnbFZlcnRleEF0dHJpYjJmKQor
I2RlZmluZSBnbFZlcnRleEF0dHJpYjJmdiAgICAgICAgICAgICAgICAgICAgICBMT09LVVBfR0xf
RlVOQ1RJT04oZ2xWZXJ0ZXhBdHRyaWIyZnYpCisjZGVmaW5lIGdsVmVydGV4QXR0cmliM2YgICAg
ICAgICAgICAgICAgICAgICAgIExPT0tVUF9HTF9GVU5DVElPTihnbFZlcnRleEF0dHJpYjNmKQor
I2RlZmluZSBnbFZlcnRleEF0dHJpYjNmdiAgICAgICAgICAgICAgICAgICAgICBMT09LVVBfR0xf
RlVOQ1RJT04oZ2xWZXJ0ZXhBdHRyaWIzZnYpCisjZGVmaW5lIGdsVmVydGV4QXR0cmliNGYgICAg
ICAgICAgICAgICAgICAgICAgIExPT0tVUF9HTF9GVU5DVElPTihnbFZlcnRleEF0dHJpYjRmKQor
I2RlZmluZSBnbFZlcnRleEF0dHJpYjRmdiAgICAgICAgICAgICAgICAgICAgICBMT09LVVBfR0xf
RlVOQ1RJT04oZ2xWZXJ0ZXhBdHRyaWI0ZnYpCisjZGVmaW5lIGdsVmVydGV4QXR0cmliUG9pbnRl
ciAgICAgICAgICAgICAgICAgIExPT0tVUF9HTF9GVU5DVElPTihnbFZlcnRleEF0dHJpYlBvaW50
ZXIpCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NhaXJvL09wZW5HTFNoaW1zLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NhaXJvL09wZW5HTFNoaW1zLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjU5
ZjI2YzYwMjVjNzI5NWZiMzI4OWMzNGU4NDc3NzA3OTM1YWI3OC4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jYWlyby9PcGVuR0xTaGltcy5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwyMzAgKzAsMCBA
QAotLyoKLSAqICBDb3B5cmlnaHQgKEMpIDIwMTEgSWdhbGlhIFMuTC4KLSAqCi0gKiAgVGhpcyBs
aWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgot
ICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQ
dWJsaWMKLSAqICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uOyBlaXRoZXIKLSAqICB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlv
dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiAgVGhpcyBsaWJyYXJ5IGlzIGRp
c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiAgYnV0IFdJ
VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK
LSAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu
ICBTZWUgdGhlIEdOVQotICogIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl
IGRldGFpbHMuCi0gKgotICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl
IEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSAqICBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBs
aWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0gKiAgRm91bmRhdGlv
biwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIx
MTAtMTMwMSAgVVNBCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2lmIEVOQUJMRShXRUJH
TCkgfHwgZGVmaW5lZChRVF9PUEVOR0xfU0hJTVMpCi0KLSNkZWZpbmUgRElTQUJMRV9TSElNUwot
I2luY2x1ZGUgIk9wZW5HTFNoaW1zLmgiCi0KLSNpbmNsdWRlIDxkbGZjbi5oPgotI2luY2x1ZGUg
PHd0Zi90ZXh0L0NTdHJpbmcuaD4KLSNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KLQot
bmFtZXNwYWNlIFdlYkNvcmUgewotCi1PcGVuR0xGdW5jdGlvblRhYmxlKiBvcGVuR0xGdW5jdGlv
blRhYmxlKCkKLXsKLSAgICBzdGF0aWMgT3BlbkdMRnVuY3Rpb25UYWJsZSB0YWJsZTsKLSAgICBy
ZXR1cm4gJnRhYmxlOwotfQotCi0jaWYgUExBVEZPUk0oUVQpICYmIGRlZmluZWQoUVRfT1BFTkdM
X0VTXzIpCi0jZGVmaW5lIEFTU0lHTl9GVU5DVElPTl9UQUJMRV9FTlRSWShGdW5jdGlvbk5hbWUs
IHN1Y2Nlc3MpIFwKLSAgICBvcGVuR0xGdW5jdGlvblRhYmxlKCktPkZ1bmN0aW9uTmFtZSA9IDo6
RnVuY3Rpb25OYW1lCi0jZWxzZQotCi0jaWYgUExBVEZPUk0oUVQpCi1zdGF0aWMgdm9pZCogZ2V0
UHJvY0FkZHJlc3MoY29uc3QgY2hhciogcHJvY05hbWUpCi17Ci0jaWYgUVRfVkVSU0lPTiA+PSBR
VF9WRVJTSU9OX0NIRUNLKDUsIDAsIDApCi0gICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8dm9p
ZCo+KFFPcGVuR0xDb250ZXh0OjpjdXJyZW50Q29udGV4dCgpLT5nZXRQcm9jQWRkcmVzcyhwcm9j
TmFtZSkpOwotI2Vsc2UKLSAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oUUdMQ29u
dGV4dDo6Y3VycmVudENvbnRleHQoKS0+Z2V0UHJvY0FkZHJlc3MoUVN0cmluZzo6ZnJvbUxhdGlu
MShwcm9jTmFtZSkpKTsKLSNlbmRpZgotfQotI2Vsc2UKLXR5cGVkZWYgdm9pZCogKCpnbEdldFBy
b2NBZGRyZXNzVHlwZSkgKGNvbnN0IGNoYXIqIHByb2NOYW1lKTsKLXN0YXRpYyB2b2lkKiBnZXRQ
cm9jQWRkcmVzcyhjb25zdCBjaGFyKiBwcm9jTmFtZSkKLXsKLSAgICBzdGF0aWMgYm9vbCBpbml0
aWFsaXplZCA9IGZhbHNlOwotICAgIHN0YXRpYyBnbEdldFByb2NBZGRyZXNzVHlwZSBnZXRQcm9j
QWRkcmVzc0Z1bmN0aW9uID0gMDsKLQotICAgIGlmICghaW5pdGlhbGl6ZWQpIHsKLSAgICAgICAg
Z2V0UHJvY0FkZHJlc3NGdW5jdGlvbiA9IHJlaW50ZXJwcmV0X2Nhc3Q8Z2xHZXRQcm9jQWRkcmVz
c1R5cGU+KGRsc3ltKFJUTERfREVGQVVMVCwgImdsWEdldFByb2NBZGRyZXNzIikpOwotICAgICAg
ICBpZiAoIWdldFByb2NBZGRyZXNzRnVuY3Rpb24pCi0gICAgICAgICAgICBnZXRQcm9jQWRkcmVz
c0Z1bmN0aW9uID0gcmVpbnRlcnByZXRfY2FzdDxnbEdldFByb2NBZGRyZXNzVHlwZT4oZGxzeW0o
UlRMRF9ERUZBVUxULCAiZ2xYR2V0UHJvY0FkZHJlc3NBUkIiKSk7Ci0gICAgfQotCi0gICAgaWYg
KCFnZXRQcm9jQWRkcmVzc0Z1bmN0aW9uKQotICAgICAgICByZXR1cm4gZGxzeW0oUlRMRF9ERUZB
VUxULCBwcm9jTmFtZSk7Ci0gICAgcmV0dXJuIGdldFByb2NBZGRyZXNzRnVuY3Rpb24ocHJvY05h
bWUpOwotfQotI2VuZGlmCi0KLXN0YXRpYyB2b2lkKiBsb29rdXBPcGVuR0xGdW5jdGlvbkFkZHJl
c3MoY29uc3QgY2hhciogZnVuY3Rpb25OYW1lLCBib29sJiBzdWNjZXNzKQotewotICAgIGlmICgh
c3VjY2VzcykKLSAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICB2b2lkKiB0YXJnZXQgPSBnZXRQcm9j
QWRkcmVzcyhmdW5jdGlvbk5hbWUpOwotICAgIGlmICh0YXJnZXQpCi0gICAgICAgIHJldHVybiB0
YXJnZXQ7Ci0KLSAgICBTdHJpbmcgZnVsbEZ1bmN0aW9uTmFtZShmdW5jdGlvbk5hbWUpOwotICAg
IGZ1bGxGdW5jdGlvbk5hbWUuYXBwZW5kKCJBUkIiKTsKLSAgICB0YXJnZXQgPSBnZXRQcm9jQWRk
cmVzcyhmdWxsRnVuY3Rpb25OYW1lLnV0ZjgoKS5kYXRhKCkpOwotICAgIGlmICh0YXJnZXQpCi0g
ICAgICAgIHJldHVybiB0YXJnZXQ7Ci0KLSAgICBmdWxsRnVuY3Rpb25OYW1lID0gZnVuY3Rpb25O
YW1lOwotICAgIGZ1bGxGdW5jdGlvbk5hbWUuYXBwZW5kKCJFWFQiKTsKLSAgICB0YXJnZXQgPSBn
ZXRQcm9jQWRkcmVzcyhmdWxsRnVuY3Rpb25OYW1lLnV0ZjgoKS5kYXRhKCkpOwotCi0gICAgLy8g
QSBudWxsIGFkZHJlc3MgaXMgc3RpbGwgYSBmYWlsdXJlIGNhc2UuCi0gICAgaWYgKCF0YXJnZXQp
Ci0gICAgICAgIHN1Y2Nlc3MgPSBmYWxzZTsKLQotICAgIHJldHVybiB0YXJnZXQ7Ci19Ci0KLSNk
ZWZpbmUgQVNTSUdOX0ZVTkNUSU9OX1RBQkxFX0VOVFJZKEZ1bmN0aW9uTmFtZSwgc3VjY2Vzcykg
XAotICAgIG9wZW5HTEZ1bmN0aW9uVGFibGUoKS0+RnVuY3Rpb25OYW1lID0gcmVpbnRlcnByZXRf
Y2FzdDxGdW5jdGlvbk5hbWUjI1R5cGU+KGxvb2t1cE9wZW5HTEZ1bmN0aW9uQWRkcmVzcygjRnVu
Y3Rpb25OYW1lLCBzdWNjZXNzKSkKLSNlbmRpZgotCi1ib29sIGluaXRpYWxpemVPcGVuR0xTaGlt
cygpCi17Ci0gICAgc3RhdGljIGJvb2wgc3VjY2VzcyA9IHRydWU7Ci0gICAgc3RhdGljIGJvb2wg
aW5pdGlhbGl6ZWQgPSBmYWxzZTsKLSAgICBpZiAoaW5pdGlhbGl6ZWQpCi0gICAgICAgIHJldHVy
biBzdWNjZXNzOwotCi0gICAgaW5pdGlhbGl6ZWQgPSB0cnVlOwotICAgIEFTU0lHTl9GVU5DVElP
Tl9UQUJMRV9FTlRSWShnbEFjdGl2ZVRleHR1cmUsIHN1Y2Nlc3MpOwotICAgIEFTU0lHTl9GVU5D
VElPTl9UQUJMRV9FTlRSWShnbEF0dGFjaFNoYWRlciwgc3VjY2Vzcyk7Ci0gICAgQVNTSUdOX0ZV
TkNUSU9OX1RBQkxFX0VOVFJZKGdsQmluZEF0dHJpYkxvY2F0aW9uLCBzdWNjZXNzKTsKLSAgICBB
U1NJR05fRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xCaW5kQnVmZmVyLCBzdWNjZXNzKTsKLSAgICBB
U1NJR05fRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xCaW5kRnJhbWVidWZmZXIsIHN1Y2Nlc3MpOwot
ICAgIEFTU0lHTl9GVU5DVElPTl9UQUJMRV9FTlRSWShnbEJpbmRSZW5kZXJidWZmZXIsIHN1Y2Nl
c3MpOwotICAgIEFTU0lHTl9GVU5DVElPTl9UQUJMRV9FTlRSWShnbEJsZW5kQ29sb3IsIHN1Y2Nl
c3MpOwotICAgIEFTU0lHTl9GVU5DVElPTl9UQUJMRV9FTlRSWShnbEJsZW5kRXF1YXRpb24sIHN1
Y2Nlc3MpOwotICAgIEFTU0lHTl9GVU5DVElPTl9UQUJMRV9FTlRSWShnbEJsZW5kRXF1YXRpb25T
ZXBhcmF0ZSwgc3VjY2Vzcyk7Ci0gICAgQVNTSUdOX0ZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsQmxl
bmRGdW5jU2VwYXJhdGUsIHN1Y2Nlc3MpOwotI2lmIGRlZmluZWQoR0xfRVNfVkVSU0lPTl8yXzAp
Ci0KLSNpZiBkZWZpbmVkKEdMX0FOR0xFX2ZyYW1lYnVmZmVyX2JsaXQpCi0gICAgb3BlbkdMRnVu
Y3Rpb25UYWJsZSgpLT5nbEJsaXRGcmFtZWJ1ZmZlciA9IDo6R0xfQU5HTEVfZnJhbWVidWZmZXJf
YmxpdDsKLSNlbHNlCi0gICAgb3BlbkdMRnVuY3Rpb25UYWJsZSgpLT5nbEJsaXRGcmFtZWJ1ZmZl
ciA9IDA7Ci0jZW5kaWYKLQotI2Vsc2UKLSAgICBBU1NJR05fRlVOQ1RJT05fVEFCTEVfRU5UUlko
Z2xCbGl0RnJhbWVidWZmZXIsIHN1Y2Nlc3MpOwotI2VuZGlmCi0gICAgQVNTSUdOX0ZVTkNUSU9O
X1RBQkxFX0VOVFJZKGdsQnVmZmVyRGF0YSwgc3VjY2Vzcyk7Ci0gICAgQVNTSUdOX0ZVTkNUSU9O
X1RBQkxFX0VOVFJZKGdsQnVmZmVyU3ViRGF0YSwgc3VjY2Vzcyk7Ci0gICAgQVNTSUdOX0ZVTkNU
SU9OX1RBQkxFX0VOVFJZKGdsQ2hlY2tGcmFtZWJ1ZmZlclN0YXR1cywgc3VjY2Vzcyk7Ci0gICAg
QVNTSUdOX0ZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsQ29tcGlsZVNoYWRlciwgc3VjY2Vzcyk7Ci0g
ICAgQVNTSUdOX0ZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsQ3JlYXRlUHJvZ3JhbSwgc3VjY2Vzcyk7
Ci0gICAgQVNTSUdOX0ZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsQ3JlYXRlU2hhZGVyLCBzdWNjZXNz
KTsKLSAgICBBU1NJR05fRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xEZWxldGVCdWZmZXJzLCBzdWNj
ZXNzKTsKLSAgICBBU1NJR05fRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xEZWxldGVGcmFtZWJ1ZmZl
cnMsIHN1Y2Nlc3MpOwotICAgIEFTU0lHTl9GVU5DVElPTl9UQUJMRV9FTlRSWShnbERlbGV0ZVBy
b2dyYW0sIHN1Y2Nlc3MpOwotICAgIEFTU0lHTl9GVU5DVElPTl9UQUJMRV9FTlRSWShnbERlbGV0
ZVJlbmRlcmJ1ZmZlcnMsIHN1Y2Nlc3MpOwotICAgIEFTU0lHTl9GVU5DVElPTl9UQUJMRV9FTlRS
WShnbERlbGV0ZVNoYWRlciwgc3VjY2Vzcyk7Ci0gICAgQVNTSUdOX0ZVTkNUSU9OX1RBQkxFX0VO
VFJZKGdsRGV0YWNoU2hhZGVyLCBzdWNjZXNzKTsKLSAgICBBU1NJR05fRlVOQ1RJT05fVEFCTEVf
RU5UUlkoZ2xEaXNhYmxlVmVydGV4QXR0cmliQXJyYXksIHN1Y2Nlc3MpOwotICAgIEFTU0lHTl9G
VU5DVElPTl9UQUJMRV9FTlRSWShnbEVuYWJsZVZlcnRleEF0dHJpYkFycmF5LCBzdWNjZXNzKTsK
LSAgICBBU1NJR05fRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xGcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZl
ciwgc3VjY2Vzcyk7Ci0gICAgQVNTSUdOX0ZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsRnJhbWVidWZm
ZXJUZXh0dXJlMkQsIHN1Y2Nlc3MpOwotICAgIEFTU0lHTl9GVU5DVElPTl9UQUJMRV9FTlRSWShn
bEdlbkJ1ZmZlcnMsIHN1Y2Nlc3MpOwotICAgIEFTU0lHTl9GVU5DVElPTl9UQUJMRV9FTlRSWShn
bEdlbmVyYXRlTWlwbWFwLCBzdWNjZXNzKTsKLSAgICBBU1NJR05fRlVOQ1RJT05fVEFCTEVfRU5U
UlkoZ2xHZW5GcmFtZWJ1ZmZlcnMsIHN1Y2Nlc3MpOwotICAgIEFTU0lHTl9GVU5DVElPTl9UQUJM
RV9FTlRSWShnbEdlblJlbmRlcmJ1ZmZlcnMsIHN1Y2Nlc3MpOwotICAgIEFTU0lHTl9GVU5DVElP
Tl9UQUJMRV9FTlRSWShnbEdldEFjdGl2ZUF0dHJpYiwgc3VjY2Vzcyk7Ci0gICAgQVNTSUdOX0ZV
TkNUSU9OX1RBQkxFX0VOVFJZKGdsR2V0QWN0aXZlVW5pZm9ybSwgc3VjY2Vzcyk7Ci0gICAgQVNT
SUdOX0ZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsR2V0QXR0YWNoZWRTaGFkZXJzLCBzdWNjZXNzKTsK
LSAgICBBU1NJR05fRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xHZXRBdHRyaWJMb2NhdGlvbiwgc3Vj
Y2Vzcyk7Ci0gICAgQVNTSUdOX0ZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsR2V0QnVmZmVyUGFyYW1l
dGVyaXYsIHN1Y2Nlc3MpOwotICAgIEFTU0lHTl9GVU5DVElPTl9UQUJMRV9FTlRSWShnbEdldEZy
YW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlcml2LCBzdWNjZXNzKTsKLSAgICBBU1NJR05fRlVO
Q1RJT05fVEFCTEVfRU5UUlkoZ2xHZXRQcm9ncmFtSW5mb0xvZywgc3VjY2Vzcyk7Ci0gICAgQVNT
SUdOX0ZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsR2V0UHJvZ3JhbWl2LCBzdWNjZXNzKTsKLSAgICBB
U1NJR05fRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xHZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXJpdiwg
c3VjY2Vzcyk7Ci0gICAgQVNTSUdOX0ZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsR2V0U2hhZGVySW5m
b0xvZywgc3VjY2Vzcyk7Ci0gICAgQVNTSUdOX0ZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsR2V0U2hh
ZGVyaXYsIHN1Y2Nlc3MpOwotICAgIEFTU0lHTl9GVU5DVElPTl9UQUJMRV9FTlRSWShnbEdldFNo
YWRlclNvdXJjZSwgc3VjY2Vzcyk7Ci0gICAgQVNTSUdOX0ZVTkNUSU9OX1RBQkxFX0VOVFJZKGds
R2V0VW5pZm9ybWZ2LCBzdWNjZXNzKTsKLSAgICBBU1NJR05fRlVOQ1RJT05fVEFCTEVfRU5UUlko
Z2xHZXRVbmlmb3JtaXYsIHN1Y2Nlc3MpOwotICAgIEFTU0lHTl9GVU5DVElPTl9UQUJMRV9FTlRS
WShnbEdldFVuaWZvcm1Mb2NhdGlvbiwgc3VjY2Vzcyk7Ci0gICAgQVNTSUdOX0ZVTkNUSU9OX1RB
QkxFX0VOVFJZKGdsR2V0VmVydGV4QXR0cmliZnYsIHN1Y2Nlc3MpOwotICAgIEFTU0lHTl9GVU5D
VElPTl9UQUJMRV9FTlRSWShnbEdldFZlcnRleEF0dHJpYml2LCBzdWNjZXNzKTsKLSAgICBBU1NJ
R05fRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xHZXRWZXJ0ZXhBdHRyaWJQb2ludGVydiwgc3VjY2Vz
cyk7Ci0gICAgQVNTSUdOX0ZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsSXNCdWZmZXIsIHN1Y2Nlc3Mp
OwotICAgIEFTU0lHTl9GVU5DVElPTl9UQUJMRV9FTlRSWShnbElzRnJhbWVidWZmZXIsIHN1Y2Nl
c3MpOwotICAgIEFTU0lHTl9GVU5DVElPTl9UQUJMRV9FTlRSWShnbElzUHJvZ3JhbSwgc3VjY2Vz
cyk7Ci0gICAgQVNTSUdOX0ZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsSXNSZW5kZXJidWZmZXIsIHN1
Y2Nlc3MpOwotICAgIEFTU0lHTl9GVU5DVElPTl9UQUJMRV9FTlRSWShnbElzU2hhZGVyLCBzdWNj
ZXNzKTsKLSAgICBBU1NJR05fRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xMaW5rUHJvZ3JhbSwgc3Vj
Y2Vzcyk7Ci0gICAgQVNTSUdOX0ZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsUmVuZGVyYnVmZmVyU3Rv
cmFnZSwgc3VjY2Vzcyk7Ci0jaWYgZGVmaW5lZChHTF9FU19WRVJTSU9OXzJfMCkKLQotI2lmIGRl
ZmluZWQoR0xfQVBQTEVfZnJhbWVidWZmZXJfbXVsdGlzYW1wbGUpCi0gICAgb3BlbkdMRnVuY3Rp
b25UYWJsZSgpLT5nbFJlbmRlcmJ1ZmZlclN0b3JhZ2VNdWx0aXNhbXBsZSA9IDo6Z2xSZW5kZXJi
dWZmZXJTdG9yYWdlTXVsdGlzYW1wbGVBUFBMRTsKLSNlbGlmIGRlZmluZWQoR0xfQU5HTEVfZnJh
bWVidWZmZXJfbXVsdGlzYW1wbGUpCi0gICAgb3BlbkdMRnVuY3Rpb25UYWJsZSgpLT5nbFJlbmRl
cmJ1ZmZlclN0b3JhZ2VNdWx0aXNhbXBsZSA9IDo6Z2xSZW5kZXJidWZmZXJTdG9yYWdlTXVsdGlz
YW1wbGVBTkdMRTsKLSNlbHNlCi0gICAgb3BlbkdMRnVuY3Rpb25UYWJsZSgpLT5nbFJlbmRlcmJ1
ZmZlclN0b3JhZ2VNdWx0aXNhbXBsZSA9IDA7Ci0jZW5kaWYKLQotI2Vsc2UKLSAgICBBU1NJR05f
RlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xSZW5kZXJidWZmZXJTdG9yYWdlTXVsdGlzYW1wbGUsIHN1
Y2Nlc3MpOwotI2VuZGlmCi0gICAgQVNTSUdOX0ZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsU2FtcGxl
Q292ZXJhZ2UsIHN1Y2Nlc3MpOwotICAgIEFTU0lHTl9GVU5DVElPTl9UQUJMRV9FTlRSWShnbFNo
YWRlclNvdXJjZSwgc3VjY2Vzcyk7Ci0gICAgQVNTSUdOX0ZVTkNUSU9OX1RBQkxFX0VOVFJZKGds
U3RlbmNpbEZ1bmNTZXBhcmF0ZSwgc3VjY2Vzcyk7Ci0gICAgQVNTSUdOX0ZVTkNUSU9OX1RBQkxF
X0VOVFJZKGdsU3RlbmNpbE1hc2tTZXBhcmF0ZSwgc3VjY2Vzcyk7Ci0gICAgQVNTSUdOX0ZVTkNU
SU9OX1RBQkxFX0VOVFJZKGdsU3RlbmNpbE9wU2VwYXJhdGUsIHN1Y2Nlc3MpOwotICAgIEFTU0lH
Tl9GVU5DVElPTl9UQUJMRV9FTlRSWShnbFVuaWZvcm0xZiwgc3VjY2Vzcyk7Ci0gICAgQVNTSUdO
X0ZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsVW5pZm9ybTFmdiwgc3VjY2Vzcyk7Ci0gICAgQVNTSUdO
X0ZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsVW5pZm9ybTFpLCBzdWNjZXNzKTsKLSAgICBBU1NJR05f
RlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xVbmlmb3JtMWl2LCBzdWNjZXNzKTsKLSAgICBBU1NJR05f
RlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xVbmlmb3JtMmYsIHN1Y2Nlc3MpOwotICAgIEFTU0lHTl9G
VU5DVElPTl9UQUJMRV9FTlRSWShnbFVuaWZvcm0yZnYsIHN1Y2Nlc3MpOwotICAgIEFTU0lHTl9G
VU5DVElPTl9UQUJMRV9FTlRSWShnbFVuaWZvcm0yaSwgc3VjY2Vzcyk7Ci0gICAgQVNTSUdOX0ZV
TkNUSU9OX1RBQkxFX0VOVFJZKGdsVW5pZm9ybTJpdiwgc3VjY2Vzcyk7Ci0gICAgQVNTSUdOX0ZV
TkNUSU9OX1RBQkxFX0VOVFJZKGdsVW5pZm9ybTNmLCBzdWNjZXNzKTsKLSAgICBBU1NJR05fRlVO
Q1RJT05fVEFCTEVfRU5UUlkoZ2xVbmlmb3JtM2Z2LCBzdWNjZXNzKTsKLSAgICBBU1NJR05fRlVO
Q1RJT05fVEFCTEVfRU5UUlkoZ2xVbmlmb3JtM2ksIHN1Y2Nlc3MpOwotICAgIEFTU0lHTl9GVU5D
VElPTl9UQUJMRV9FTlRSWShnbFVuaWZvcm0zaXYsIHN1Y2Nlc3MpOwotICAgIEFTU0lHTl9GVU5D
VElPTl9UQUJMRV9FTlRSWShnbFVuaWZvcm00Ziwgc3VjY2Vzcyk7Ci0gICAgQVNTSUdOX0ZVTkNU
SU9OX1RBQkxFX0VOVFJZKGdsVW5pZm9ybTRmdiwgc3VjY2Vzcyk7Ci0gICAgQVNTSUdOX0ZVTkNU
SU9OX1RBQkxFX0VOVFJZKGdsVW5pZm9ybTRpLCBzdWNjZXNzKTsKLSAgICBBU1NJR05fRlVOQ1RJ
T05fVEFCTEVfRU5UUlkoZ2xVbmlmb3JtNGl2LCBzdWNjZXNzKTsKLSAgICBBU1NJR05fRlVOQ1RJ
T05fVEFCTEVfRU5UUlkoZ2xVbmlmb3JtTWF0cml4MmZ2LCBzdWNjZXNzKTsKLSAgICBBU1NJR05f
RlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xVbmlmb3JtTWF0cml4M2Z2LCBzdWNjZXNzKTsKLSAgICBB
U1NJR05fRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xVbmlmb3JtTWF0cml4NGZ2LCBzdWNjZXNzKTsK
LSAgICBBU1NJR05fRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xVc2VQcm9ncmFtLCBzdWNjZXNzKTsK
LSAgICBBU1NJR05fRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xWYWxpZGF0ZVByb2dyYW0sIHN1Y2Nl
c3MpOwotICAgIEFTU0lHTl9GVU5DVElPTl9UQUJMRV9FTlRSWShnbFZlcnRleEF0dHJpYjFmLCBz
dWNjZXNzKTsKLSAgICBBU1NJR05fRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xWZXJ0ZXhBdHRyaWIx
ZnYsIHN1Y2Nlc3MpOwotICAgIEFTU0lHTl9GVU5DVElPTl9UQUJMRV9FTlRSWShnbFZlcnRleEF0
dHJpYjJmLCBzdWNjZXNzKTsKLSAgICBBU1NJR05fRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xWZXJ0
ZXhBdHRyaWIyZnYsIHN1Y2Nlc3MpOwotICAgIEFTU0lHTl9GVU5DVElPTl9UQUJMRV9FTlRSWShn
bFZlcnRleEF0dHJpYjNmLCBzdWNjZXNzKTsKLSAgICBBU1NJR05fRlVOQ1RJT05fVEFCTEVfRU5U
UlkoZ2xWZXJ0ZXhBdHRyaWIzZnYsIHN1Y2Nlc3MpOwotICAgIEFTU0lHTl9GVU5DVElPTl9UQUJM
RV9FTlRSWShnbFZlcnRleEF0dHJpYjRmLCBzdWNjZXNzKTsKLSAgICBBU1NJR05fRlVOQ1RJT05f
VEFCTEVfRU5UUlkoZ2xWZXJ0ZXhBdHRyaWI0ZnYsIHN1Y2Nlc3MpOwotICAgIEFTU0lHTl9GVU5D
VElPTl9UQUJMRV9FTlRSWShnbFZlcnRleEF0dHJpYlBvaW50ZXIsIHN1Y2Nlc3MpOwotCi0gICAg
aWYgKCFzdWNjZXNzKQotICAgICAgICBMT0dfRVJST1IoIkNvdWxkIG5vdCBpbml0aWFsaXplIE9w
ZW5HTCBzaGltcyIpOwotICAgIHJldHVybiBzdWNjZXNzOwotfQotCi19IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoV0VCR0wpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9PcGVuR0xTaGltcy5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vT3BlbkdMU2hpbXMuaApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggZGE1MDEzOGNkY2JjMDdjYzRlYmEwMmZlNWEwMTE0ODE4M2E3YzIzYi4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9PcGVuR0xTaGltcy5oCisrKyAvZGV2L251bGwK
QEAgLTEsMzQ3ICswLDAgQEAKLS8qCi0gKiAgQ29weXJpZ2h0IChDKSAyMDEwIFRpZXRvIENvcnBv
cmF0aW9uLgotICogIENvcHlyaWdodCAoQykgMjAxMSBJZ2FsaWEgUy5MLgotICoKLSAqICBUaGlz
IGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
Ci0gKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFs
IFB1YmxpYwotICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb247IGVpdGhlcgotICogIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQg
eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqICBUaGlzIGxpYnJhcnkgaXMg
ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqICBidXQg
V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv
ZgotICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RS4gIFNlZSB0aGUgR05VCi0gKiAgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v
cmUgZGV0YWlscy4KLSAqCi0gKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0
aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotICogIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlz
IGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLSAqICBGb3VuZGF0
aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAw
MjExMC0xMzAxICBVU0EKLSAqLwotCi0jaWYgUExBVEZPUk0oUVQpCi0jaW5jbHVkZSA8cWdsb2Jh
bC5oPgotI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAwKQotI2luY2x1
ZGUgPFFPcGVuR0xDb250ZXh0PgotI2luY2x1ZGUgPFFTdXJmYWNlPgotI2Vsc2UKLSNpbmNsdWRl
IDxRR0xDb250ZXh0PgotI2VuZGlmCi0jZWxzZQotI2luY2x1ZGUgPEdML2dsLmg+Ci0jZW5kaWYK
LQotI2lmIGRlZmluZWQoR0xfRVNfVkVSU0lPTl8yXzApCi0vLyBTb21lIG9wZW5HTCBFUyBzeXN0
ZW1zIG1pc3MgdGhpcyB0eXBlZGVmLgotdHlwZWRlZiBjaGFyIEdMY2hhcjsKLSNlbmRpZgotCi10
eXBlZGVmIHN0cnVjdCBfT3BlbkdMRnVuY3Rpb25UYWJsZSBPcGVuR0xGdW5jdGlvblRhYmxlOwot
Ci1uYW1lc3BhY2UgV2ViQ29yZSB7Ci1ib29sIGluaXRpYWxpemVPcGVuR0xTaGltcygpOwotT3Bl
bkdMRnVuY3Rpb25UYWJsZSogb3BlbkdMRnVuY3Rpb25UYWJsZSgpOwotfQotCi10eXBlZGVmIHZv
aWQgKCpnbEFjdGl2ZVRleHR1cmVUeXBlKSAoR0xlbnVtKTsKLXR5cGVkZWYgdm9pZCAoKmdsQXR0
YWNoU2hhZGVyVHlwZSkgKEdMdWludCwgR0x1aW50KTsKLXR5cGVkZWYgdm9pZCAoKmdsQmluZEF0
dHJpYkxvY2F0aW9uVHlwZSkgKEdMdWludCwgR0x1aW50LCBjb25zdCBjaGFyKik7Ci10eXBlZGVm
IHZvaWQgKCpnbEJpbmRCdWZmZXJUeXBlKSAoR0xlbnVtLCBHTHVpbnQpOwotdHlwZWRlZiB2b2lk
ICgqZ2xCaW5kRnJhbWVidWZmZXJUeXBlKSAoR0xlbnVtLCBHTHVpbnQpOwotdHlwZWRlZiB2b2lk
ICgqZ2xCaW5kUmVuZGVyYnVmZmVyVHlwZSkgKEdMZW51bSwgR0x1aW50KTsKLXR5cGVkZWYgdm9p
ZCAoKmdsQmxlbmRDb2xvclR5cGUpIChHTGNsYW1wZiwgR0xjbGFtcGYsIEdMY2xhbXBmLCBHTGNs
YW1wZik7Ci10eXBlZGVmIHZvaWQgKCpnbEJsZW5kRXF1YXRpb25UeXBlKSAoR0xlbnVtKTsKLXR5
cGVkZWYgdm9pZCAoKmdsQmxlbmRFcXVhdGlvblNlcGFyYXRlVHlwZSkoR0xlbnVtLCBHTGVudW0p
OwotdHlwZWRlZiB2b2lkICgqZ2xCbGVuZEZ1bmNTZXBhcmF0ZVR5cGUpKEdMZW51bSBzcmNSR0Is
IEdMZW51bSBkc3RSR0IsIEdMZW51bSBzcmNBbHBoYSwgR0xlbnVtIGRzdEFscGhhKTsKLXR5cGVk
ZWYgdm9pZCAoKmdsQmxpdEZyYW1lYnVmZmVyVHlwZSkgKEdMaW50LCBHTGludCwgR0xpbnQsIEdM
aW50LCBHTGludCwgR0xpbnQsIEdMaW50LCBHTGludCwgR0xiaXRmaWVsZCwgR0xlbnVtKTsKLXR5
cGVkZWYgdm9pZCAoKmdsQnVmZmVyRGF0YVR5cGUpIChHTGVudW0sIEdMc2l6ZWlwdHIsIGNvbnN0
IEdMdm9pZCosIEdMZW51bSk7Ci10eXBlZGVmIHZvaWQgKCpnbEJ1ZmZlclN1YkRhdGFUeXBlKSAo
R0xlbnVtLCBHTGludHB0ciwgR0xzaXplaXB0ciwgY29uc3QgR0x2b2lkKik7Ci10eXBlZGVmIEdM
ZW51bSAoKmdsQ2hlY2tGcmFtZWJ1ZmZlclN0YXR1c1R5cGUpIChHTGVudW0pOwotdHlwZWRlZiB2
b2lkICgqZ2xDb21waWxlU2hhZGVyVHlwZSkgKEdMdWludCk7Ci10eXBlZGVmIEdMdWludCAoKmds
Q3JlYXRlUHJvZ3JhbVR5cGUpICgpOwotdHlwZWRlZiBHTHVpbnQgKCpnbENyZWF0ZVNoYWRlclR5
cGUpIChHTGVudW0pOwotdHlwZWRlZiB2b2lkICgqZ2xEZWxldGVCdWZmZXJzVHlwZSkgKEdMc2l6
ZWksIGNvbnN0IEdMdWludCopOwotdHlwZWRlZiB2b2lkICgqZ2xEZWxldGVGcmFtZWJ1ZmZlcnNU
eXBlKSAoR0xzaXplaSBuLCBjb25zdCBHTHVpbnQqKTsKLXR5cGVkZWYgdm9pZCAoKmdsRGVsZXRl
UHJvZ3JhbVR5cGUpIChHTHVpbnQpOwotdHlwZWRlZiB2b2lkICgqZ2xEZWxldGVSZW5kZXJidWZm
ZXJzVHlwZSkgKEdMc2l6ZWkgbiwgY29uc3QgR0x1aW50Kik7Ci10eXBlZGVmIHZvaWQgKCpnbERl
bGV0ZVNoYWRlclR5cGUpIChHTHVpbnQpOwotdHlwZWRlZiB2b2lkICgqZ2xEZXRhY2hTaGFkZXJU
eXBlKSAoR0x1aW50LCBHTHVpbnQpOwotdHlwZWRlZiB2b2lkICgqZ2xEaXNhYmxlVmVydGV4QXR0
cmliQXJyYXlUeXBlKSAoR0x1aW50KTsKLXR5cGVkZWYgdm9pZCAoKmdsRW5hYmxlVmVydGV4QXR0
cmliQXJyYXlUeXBlKSAoR0x1aW50KTsKLXR5cGVkZWYgdm9pZCAoKmdsRnJhbWVidWZmZXJSZW5k
ZXJidWZmZXJUeXBlKSAoR0xlbnVtLCBHTGVudW0sIEdMZW51bSwgR0x1aW50KTsKLXR5cGVkZWYg
dm9pZCAoKmdsRnJhbWVidWZmZXJUZXh0dXJlMkRUeXBlKSAoR0xlbnVtLCBHTGVudW0sIEdMZW51
bSwgR0x1aW50LCBHTGludCk7Ci10eXBlZGVmIHZvaWQgKCpnbEdlbkJ1ZmZlcnNUeXBlKSAoR0xz
aXplaSwgR0x1aW50Kik7Ci10eXBlZGVmIHZvaWQgKCpnbEdlbmVyYXRlTWlwbWFwVHlwZSkgKEdM
ZW51bSB0YXJnZXQpOwotdHlwZWRlZiB2b2lkICgqZ2xHZW5GcmFtZWJ1ZmZlcnNUeXBlKSAoR0xz
aXplaSwgR0x1aW50Kik7Ci10eXBlZGVmIHZvaWQgKCpnbEdlblJlbmRlcmJ1ZmZlcnNUeXBlKSAo
R0xzaXplaSwgR0x1aW50Kik7Ci10eXBlZGVmIHZvaWQgKCpnbEdldEFjdGl2ZUF0dHJpYlR5cGUp
IChHTHVpbnQsIEdMdWludCwgR0xzaXplaSwgR0xzaXplaSosIEdMaW50KiwgR0xlbnVtKiwgR0xj
aGFyKik7Ci10eXBlZGVmIHZvaWQgKCpnbEdldEFjdGl2ZVVuaWZvcm1UeXBlKSAoR0x1aW50LCBH
THVpbnQsIEdMc2l6ZWksIEdMc2l6ZWkqLCBHTGludCosIEdMZW51bSosIEdMY2hhciopOwotdHlw
ZWRlZiB2b2lkICgqZ2xHZXRBdHRhY2hlZFNoYWRlcnNUeXBlKSAoR0x1aW50LCBHTHNpemVpLCBH
THNpemVpKiwgR0x1aW50Kik7Ci10eXBlZGVmIEdMaW50ICgqZ2xHZXRBdHRyaWJMb2NhdGlvblR5
cGUpIChHTHVpbnQsIGNvbnN0IGNoYXIqKTsKLXR5cGVkZWYgdm9pZCAoKmdsR2V0QnVmZmVyUGFy
YW1ldGVyaXZUeXBlKSAoR0xlbnVtLCBHTGVudW0sIEdMaW50Kik7Ci10eXBlZGVmIHZvaWQgKCpn
bEdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlcml2VHlwZSkgKEdMZW51bSwgR0xlbnVt
LCBHTGVudW0sIEdMaW50KiBwYXJhbXMpOwotdHlwZWRlZiB2b2lkICgqZ2xHZXRQcm9ncmFtSW5m
b0xvZ1R5cGUpIChHTHVpbnQsIEdMc2l6ZWksIEdMc2l6ZWkqLCBjaGFyKik7Ci10eXBlZGVmIHZv
aWQgKCpnbEdldFByb2dyYW1pdlR5cGUpIChHTHVpbnQsIEdMZW51bSwgR0xpbnQqKTsKLXR5cGVk
ZWYgdm9pZCAoKmdsR2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVyaXZUeXBlKSAoR0xlbnVtLCBHTGVu
dW0sIEdMaW50Kik7Ci10eXBlZGVmIHZvaWQgKCpnbEdldFNoYWRlckluZm9Mb2dUeXBlKSAoR0x1
aW50LCBHTHNpemVpLCBHTHNpemVpKiwgY2hhciopOwotdHlwZWRlZiB2b2lkICgqZ2xHZXRTaGFk
ZXJpdlR5cGUpIChHTHVpbnQsIEdMZW51bSwgR0xpbnQqKTsKLXR5cGVkZWYgdm9pZCAoKmdsR2V0
U2hhZGVyU291cmNlVHlwZSkgKEdMdWludCwgR0xzaXplaSwgR0xzaXplaSosIGNoYXIqKTsKLXR5
cGVkZWYgR0xpbnQgKCpnbEdldFVuaWZvcm1Mb2NhdGlvblR5cGUpIChHTHVpbnQsIGNvbnN0IGNo
YXIqKTsKLXR5cGVkZWYgdm9pZCAoKmdsR2V0VW5pZm9ybWZ2VHlwZSkgKEdMdWludCwgR0xpbnQs
IEdMZmxvYXQqKTsKLXR5cGVkZWYgdm9pZCAoKmdsR2V0VW5pZm9ybWl2VHlwZSkgKEdMdWludCwg
R0xpbnQsIEdMaW50Kik7Ci10eXBlZGVmIHZvaWQgKCpnbEdldFZlcnRleEF0dHJpYmZ2VHlwZSkg
KEdMdWludCwgR0xlbnVtLCBHTGZsb2F0Kik7Ci10eXBlZGVmIHZvaWQgKCpnbEdldFZlcnRleEF0
dHJpYml2VHlwZSkgKEdMdWludCwgR0xlbnVtLCBHTGludCopOwotdHlwZWRlZiB2b2lkICgqZ2xH
ZXRWZXJ0ZXhBdHRyaWJQb2ludGVydlR5cGUpIChHTHVpbnQsIEdMZW51bSwgR0x2b2lkKiopOwot
dHlwZWRlZiBHTGJvb2xlYW4gKCpnbElzQnVmZmVyVHlwZSkgKEdMdWludCk7Ci10eXBlZGVmIEdM
Ym9vbGVhbiAoKmdsSXNGcmFtZWJ1ZmZlclR5cGUpIChHTHVpbnQpOwotdHlwZWRlZiBHTGJvb2xl
YW4gKCpnbElzUHJvZ3JhbVR5cGUpIChHTHVpbnQpOwotdHlwZWRlZiBHTGJvb2xlYW4gKCpnbElz
UmVuZGVyYnVmZmVyVHlwZSkgKEdMdWludCk7Ci10eXBlZGVmIEdMYm9vbGVhbiAoKmdsSXNTaGFk
ZXJUeXBlKSAoR0x1aW50KTsKLXR5cGVkZWYgdm9pZCAoKmdsTGlua1Byb2dyYW1UeXBlKSAoR0x1
aW50KTsKLXR5cGVkZWYgdm9pZCAoKmdsUmVuZGVyYnVmZmVyU3RvcmFnZVR5cGUpIChHTGVudW0s
IEdMZW51bSwgR0xzaXplaSwgR0xzaXplaSk7Ci10eXBlZGVmIHZvaWQgKCpnbFJlbmRlcmJ1ZmZl
clN0b3JhZ2VNdWx0aXNhbXBsZVR5cGUpIChHTGVudW0sIEdMc2l6ZWksIEdMZW51bSwgR0xzaXpl
aSwgR0xzaXplaSk7Ci10eXBlZGVmIHZvaWQgKCpnbFNhbXBsZUNvdmVyYWdlVHlwZSkgKEdMY2xh
bXBmLCBHTGJvb2xlYW4pOwotdHlwZWRlZiB2b2lkICgqZ2xTaGFkZXJTb3VyY2VUeXBlKSAoR0x1
aW50LCBHTHNpemVpLCBjb25zdCBjaGFyKiosIGNvbnN0IEdMaW50Kik7Ci10eXBlZGVmIHZvaWQg
KCpnbFN0ZW5jaWxGdW5jU2VwYXJhdGVUeXBlKSAoR0xlbnVtLCBHTGVudW0sIEdMaW50LCBHTHVp
bnQpOwotdHlwZWRlZiB2b2lkICgqZ2xTdGVuY2lsTWFza1NlcGFyYXRlVHlwZSkgKEdMZW51bSwg
R0x1aW50KTsKLXR5cGVkZWYgdm9pZCAoKmdsU3RlbmNpbE9wU2VwYXJhdGVUeXBlKSAoR0xlbnVt
LCBHTGVudW0sIEdMZW51bSwgR0xlbnVtKTsKLXR5cGVkZWYgdm9pZCAoKmdsVW5pZm9ybTFmVHlw
ZSkgKEdMaW50LCBHTGZsb2F0KTsKLXR5cGVkZWYgdm9pZCAoKmdsVW5pZm9ybTFmdlR5cGUpIChH
TGludCwgR0xzaXplaSwgY29uc3QgR0xmbG9hdCopOwotdHlwZWRlZiB2b2lkICgqZ2xVbmlmb3Jt
MWlUeXBlKSAoR0xpbnQsIEdMaW50KTsKLXR5cGVkZWYgdm9pZCAoKmdsVW5pZm9ybTFpdlR5cGUp
IChHTGludCwgR0xzaXplaSwgY29uc3QgR0xpbnQqKTsKLXR5cGVkZWYgdm9pZCAoKmdsVW5pZm9y
bTJmVHlwZSkgKEdMaW50LCBHTGZsb2F0LCBHTGZsb2F0KTsKLXR5cGVkZWYgdm9pZCAoKmdsVW5p
Zm9ybTJmdlR5cGUpIChHTGludCwgR0xzaXplaSwgY29uc3QgR0xmbG9hdCopOwotdHlwZWRlZiB2
b2lkICgqZ2xVbmlmb3JtMmlUeXBlKSAoR0xpbnQsIEdMaW50LCBHTGludCk7Ci10eXBlZGVmIHZv
aWQgKCpnbFVuaWZvcm0yaXZUeXBlKSAoR0xpbnQsIEdMc2l6ZWksIGNvbnN0IEdMaW50Kik7Ci10
eXBlZGVmIHZvaWQgKCpnbFVuaWZvcm0zZlR5cGUpIChHTGludCwgR0xmbG9hdCwgR0xmbG9hdCwg
R0xmbG9hdCk7Ci10eXBlZGVmIHZvaWQgKCpnbFVuaWZvcm0zZnZUeXBlKSAoR0xpbnQsIEdMc2l6
ZWksIGNvbnN0IEdMZmxvYXQqKTsKLXR5cGVkZWYgdm9pZCAoKmdsVW5pZm9ybTNpVHlwZSkgKEdM
aW50LCBHTGludCwgR0xpbnQsIEdMaW50KTsKLXR5cGVkZWYgdm9pZCAoKmdsVW5pZm9ybTNpdlR5
cGUpIChHTGludCwgR0xzaXplaSwgY29uc3QgR0xpbnQqKTsKLXR5cGVkZWYgdm9pZCAoKmdsVW5p
Zm9ybTRmVHlwZSkgKEdMaW50LCBHTGZsb2F0LCBHTGZsb2F0LCBHTGZsb2F0LCBHTGZsb2F0KTsK
LXR5cGVkZWYgdm9pZCAoKmdsVW5pZm9ybTRmdlR5cGUpIChHTGludCwgR0xzaXplaSwgY29uc3Qg
R0xmbG9hdCopOwotdHlwZWRlZiB2b2lkICgqZ2xVbmlmb3JtNGlUeXBlKSAoR0xpbnQsIEdMaW50
LCBHTGludCwgR0xpbnQsIEdMaW50KTsKLXR5cGVkZWYgdm9pZCAoKmdsVW5pZm9ybTRpdlR5cGUp
IChHTGludCwgR0xzaXplaSwgY29uc3QgR0xpbnQqKTsKLXR5cGVkZWYgdm9pZCAoKmdsVW5pZm9y
bU1hdHJpeDJmdlR5cGUpIChHTGludCwgR0xzaXplaSwgR0xib29sZWFuLCBjb25zdCBHTGZsb2F0
Kik7Ci10eXBlZGVmIHZvaWQgKCpnbFVuaWZvcm1NYXRyaXgzZnZUeXBlKSAoR0xpbnQsIEdMc2l6
ZWksIEdMYm9vbGVhbiwgY29uc3QgR0xmbG9hdCopOwotdHlwZWRlZiB2b2lkICgqZ2xVbmlmb3Jt
TWF0cml4NGZ2VHlwZSkgKEdMaW50LCBHTHNpemVpLCBHTGJvb2xlYW4sIGNvbnN0IEdMZmxvYXQq
KTsKLXR5cGVkZWYgdm9pZCAoKmdsVXNlUHJvZ3JhbVR5cGUpIChHTHVpbnQpOwotdHlwZWRlZiB2
b2lkICgqZ2xWYWxpZGF0ZVByb2dyYW1UeXBlKSAoR0x1aW50KTsKLXR5cGVkZWYgdm9pZCAoKmds
VmVydGV4QXR0cmliMWZUeXBlKSAoR0x1aW50LCBjb25zdCBHTGZsb2F0KTsKLXR5cGVkZWYgdm9p
ZCAoKmdsVmVydGV4QXR0cmliMWZ2VHlwZSkgKEdMdWludCwgY29uc3QgR0xmbG9hdCopOwotdHlw
ZWRlZiB2b2lkICgqZ2xWZXJ0ZXhBdHRyaWIyZlR5cGUpIChHTHVpbnQsIGNvbnN0IEdMZmxvYXQs
IGNvbnN0IEdMZmxvYXQpOwotdHlwZWRlZiB2b2lkICgqZ2xWZXJ0ZXhBdHRyaWIyZnZUeXBlKSAo
R0x1aW50LCBjb25zdCBHTGZsb2F0Kik7Ci10eXBlZGVmIHZvaWQgKCpnbFZlcnRleEF0dHJpYjNm
VHlwZSkgKEdMdWludCwgY29uc3QgR0xmbG9hdCwgY29uc3QgR0xmbG9hdCwgY29uc3QgR0xmbG9h
dCk7Ci10eXBlZGVmIHZvaWQgKCpnbFZlcnRleEF0dHJpYjNmdlR5cGUpIChHTHVpbnQsIGNvbnN0
IEdMZmxvYXQqKTsKLXR5cGVkZWYgdm9pZCAoKmdsVmVydGV4QXR0cmliNGZUeXBlKSAoR0x1aW50
LCBjb25zdCBHTGZsb2F0LCBjb25zdCBHTGZsb2F0LCBjb25zdCBHTGZsb2F0LCBjb25zdCBHTGZs
b2F0KTsKLXR5cGVkZWYgdm9pZCAoKmdsVmVydGV4QXR0cmliNGZ2VHlwZSkgKEdMdWludCwgY29u
c3QgR0xmbG9hdCopOwotdHlwZWRlZiB2b2lkICgqZ2xWZXJ0ZXhBdHRyaWJQb2ludGVyVHlwZSkg
KEdMdWludCwgR0xpbnQsIEdMZW51bSwgR0xib29sZWFuLCBHTHNpemVpLCBjb25zdCBHTHZvaWQq
KTsKLQotI2RlZmluZSBGVU5DVElPTl9UQUJMRV9FTlRSWShGdW5jdGlvbk5hbWUpIEZ1bmN0aW9u
TmFtZSMjVHlwZSBGdW5jdGlvbk5hbWUKLQotdHlwZWRlZiBzdHJ1Y3QgX09wZW5HTEZ1bmN0aW9u
VGFibGUgewotICAgIEZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsQWN0aXZlVGV4dHVyZSk7Ci0gICAg
RlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xBdHRhY2hTaGFkZXIpOwotICAgIEZVTkNUSU9OX1RBQkxF
X0VOVFJZKGdsQmluZEF0dHJpYkxvY2F0aW9uKTsKLSAgICBGVU5DVElPTl9UQUJMRV9FTlRSWShn
bEJpbmRCdWZmZXIpOwotICAgIEZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsQmluZEZyYW1lYnVmZmVy
KTsKLSAgICBGVU5DVElPTl9UQUJMRV9FTlRSWShnbEJpbmRSZW5kZXJidWZmZXIpOwotICAgIEZV
TkNUSU9OX1RBQkxFX0VOVFJZKGdsQmxlbmRDb2xvcik7Ci0gICAgRlVOQ1RJT05fVEFCTEVfRU5U
UlkoZ2xCbGVuZEVxdWF0aW9uKTsKLSAgICBGVU5DVElPTl9UQUJMRV9FTlRSWShnbEJsZW5kRXF1
YXRpb25TZXBhcmF0ZSk7Ci0gICAgRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xCbGVuZEZ1bmNTZXBh
cmF0ZSk7Ci0gICAgRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xCbGl0RnJhbWVidWZmZXIpOwotICAg
IEZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsQnVmZmVyRGF0YSk7Ci0gICAgRlVOQ1RJT05fVEFCTEVf
RU5UUlkoZ2xCdWZmZXJTdWJEYXRhKTsKLSAgICBGVU5DVElPTl9UQUJMRV9FTlRSWShnbENoZWNr
RnJhbWVidWZmZXJTdGF0dXMpOwotICAgIEZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsQ29tcGlsZVNo
YWRlcik7Ci0gICAgRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xDcmVhdGVQcm9ncmFtKTsKLSAgICBG
VU5DVElPTl9UQUJMRV9FTlRSWShnbENyZWF0ZVNoYWRlcik7Ci0gICAgRlVOQ1RJT05fVEFCTEVf
RU5UUlkoZ2xEZWxldGVCdWZmZXJzKTsKLSAgICBGVU5DVElPTl9UQUJMRV9FTlRSWShnbERlbGV0
ZUZyYW1lYnVmZmVycyk7Ci0gICAgRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xEZWxldGVQcm9ncmFt
KTsKLSAgICBGVU5DVElPTl9UQUJMRV9FTlRSWShnbERlbGV0ZVJlbmRlcmJ1ZmZlcnMpOwotICAg
IEZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsRGVsZXRlU2hhZGVyKTsKLSAgICBGVU5DVElPTl9UQUJM
RV9FTlRSWShnbERldGFjaFNoYWRlcik7Ci0gICAgRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xEaXNh
YmxlVmVydGV4QXR0cmliQXJyYXkpOwotICAgIEZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsRW5hYmxl
VmVydGV4QXR0cmliQXJyYXkpOwotICAgIEZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsRnJhbWVidWZm
ZXJSZW5kZXJidWZmZXIpOwotICAgIEZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsRnJhbWVidWZmZXJU
ZXh0dXJlMkQpOwotICAgIEZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsR2VuQnVmZmVycyk7Ci0gICAg
RlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xHZW5lcmF0ZU1pcG1hcCk7Ci0gICAgRlVOQ1RJT05fVEFC
TEVfRU5UUlkoZ2xHZW5GcmFtZWJ1ZmZlcnMpOwotICAgIEZVTkNUSU9OX1RBQkxFX0VOVFJZKGds
R2VuUmVuZGVyYnVmZmVycyk7Ci0gICAgRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xHZXRBY3RpdmVB
dHRyaWIpOwotICAgIEZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsR2V0QWN0aXZlVW5pZm9ybSk7Ci0g
ICAgRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xHZXRBdHRhY2hlZFNoYWRlcnMpOwotICAgIEZVTkNU
SU9OX1RBQkxFX0VOVFJZKGdsR2V0QXR0cmliTG9jYXRpb24pOwotICAgIEZVTkNUSU9OX1RBQkxF
X0VOVFJZKGdsR2V0QnVmZmVyUGFyYW1ldGVyaXYpOwotICAgIEZVTkNUSU9OX1RBQkxFX0VOVFJZ
KGdsR2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyaXYpOwotICAgIEZVTkNUSU9OX1RB
QkxFX0VOVFJZKGdsR2V0UHJvZ3JhbUluZm9Mb2cpOwotICAgIEZVTkNUSU9OX1RBQkxFX0VOVFJZ
KGdsR2V0UHJvZ3JhbWl2KTsKLSAgICBGVU5DVElPTl9UQUJMRV9FTlRSWShnbEdldFJlbmRlcmJ1
ZmZlclBhcmFtZXRlcml2KTsKLSAgICBGVU5DVElPTl9UQUJMRV9FTlRSWShnbEdldFNoYWRlcklu
Zm9Mb2cpOwotICAgIEZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsR2V0U2hhZGVyaXYpOwotICAgIEZV
TkNUSU9OX1RBQkxFX0VOVFJZKGdsR2V0U2hhZGVyU291cmNlKTsKLSAgICBGVU5DVElPTl9UQUJM
RV9FTlRSWShnbEdldFVuaWZvcm1mdik7Ci0gICAgRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xHZXRV
bmlmb3JtaXYpOwotICAgIEZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsR2V0VW5pZm9ybUxvY2F0aW9u
KTsKLSAgICBGVU5DVElPTl9UQUJMRV9FTlRSWShnbEdldFZlcnRleEF0dHJpYmZ2KTsKLSAgICBG
VU5DVElPTl9UQUJMRV9FTlRSWShnbEdldFZlcnRleEF0dHJpYml2KTsKLSAgICBGVU5DVElPTl9U
QUJMRV9FTlRSWShnbEdldFZlcnRleEF0dHJpYlBvaW50ZXJ2KTsKLSAgICBGVU5DVElPTl9UQUJM
RV9FTlRSWShnbElzQnVmZmVyKTsKLSAgICBGVU5DVElPTl9UQUJMRV9FTlRSWShnbElzRnJhbWVi
dWZmZXIpOwotICAgIEZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsSXNQcm9ncmFtKTsKLSAgICBGVU5D
VElPTl9UQUJMRV9FTlRSWShnbElzUmVuZGVyYnVmZmVyKTsKLSAgICBGVU5DVElPTl9UQUJMRV9F
TlRSWShnbElzU2hhZGVyKTsKLSAgICBGVU5DVElPTl9UQUJMRV9FTlRSWShnbExpbmtQcm9ncmFt
KTsKLSAgICBGVU5DVElPTl9UQUJMRV9FTlRSWShnbFJlbmRlcmJ1ZmZlclN0b3JhZ2UpOwotICAg
IEZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsUmVuZGVyYnVmZmVyU3RvcmFnZU11bHRpc2FtcGxlKTsK
LSAgICBGVU5DVElPTl9UQUJMRV9FTlRSWShnbFNhbXBsZUNvdmVyYWdlKTsKLSAgICBGVU5DVElP
Tl9UQUJMRV9FTlRSWShnbFNoYWRlclNvdXJjZSk7Ci0gICAgRlVOQ1RJT05fVEFCTEVfRU5UUlko
Z2xTdGVuY2lsRnVuY1NlcGFyYXRlKTsKLSAgICBGVU5DVElPTl9UQUJMRV9FTlRSWShnbFN0ZW5j
aWxNYXNrU2VwYXJhdGUpOwotICAgIEZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsU3RlbmNpbE9wU2Vw
YXJhdGUpOwotICAgIEZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsVW5pZm9ybTFmKTsKLSAgICBGVU5D
VElPTl9UQUJMRV9FTlRSWShnbFVuaWZvcm0xZnYpOwotICAgIEZVTkNUSU9OX1RBQkxFX0VOVFJZ
KGdsVW5pZm9ybTFpKTsKLSAgICBGVU5DVElPTl9UQUJMRV9FTlRSWShnbFVuaWZvcm0xaXYpOwot
ICAgIEZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsVW5pZm9ybTJmKTsKLSAgICBGVU5DVElPTl9UQUJM
RV9FTlRSWShnbFVuaWZvcm0yZnYpOwotICAgIEZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsVW5pZm9y
bTJpKTsKLSAgICBGVU5DVElPTl9UQUJMRV9FTlRSWShnbFVuaWZvcm0yaXYpOwotICAgIEZVTkNU
SU9OX1RBQkxFX0VOVFJZKGdsVW5pZm9ybTNmKTsKLSAgICBGVU5DVElPTl9UQUJMRV9FTlRSWShn
bFVuaWZvcm0zZnYpOwotICAgIEZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsVW5pZm9ybTNpKTsKLSAg
ICBGVU5DVElPTl9UQUJMRV9FTlRSWShnbFVuaWZvcm0zaXYpOwotICAgIEZVTkNUSU9OX1RBQkxF
X0VOVFJZKGdsVW5pZm9ybTRmKTsKLSAgICBGVU5DVElPTl9UQUJMRV9FTlRSWShnbFVuaWZvcm00
ZnYpOwotICAgIEZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsVW5pZm9ybTRpKTsKLSAgICBGVU5DVElP
Tl9UQUJMRV9FTlRSWShnbFVuaWZvcm00aXYpOwotICAgIEZVTkNUSU9OX1RBQkxFX0VOVFJZKGds
VW5pZm9ybU1hdHJpeDJmdik7Ci0gICAgRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xVbmlmb3JtTWF0
cml4M2Z2KTsKLSAgICBGVU5DVElPTl9UQUJMRV9FTlRSWShnbFVuaWZvcm1NYXRyaXg0ZnYpOwot
ICAgIEZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsVXNlUHJvZ3JhbSk7Ci0gICAgRlVOQ1RJT05fVEFC
TEVfRU5UUlkoZ2xWYWxpZGF0ZVByb2dyYW0pOwotICAgIEZVTkNUSU9OX1RBQkxFX0VOVFJZKGds
VmVydGV4QXR0cmliMWYpOwotICAgIEZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsVmVydGV4QXR0cmli
MWZ2KTsKLSAgICBGVU5DVElPTl9UQUJMRV9FTlRSWShnbFZlcnRleEF0dHJpYjJmKTsKLSAgICBG
VU5DVElPTl9UQUJMRV9FTlRSWShnbFZlcnRleEF0dHJpYjJmdik7Ci0gICAgRlVOQ1RJT05fVEFC
TEVfRU5UUlkoZ2xWZXJ0ZXhBdHRyaWIzZik7Ci0gICAgRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xW
ZXJ0ZXhBdHRyaWIzZnYpOwotICAgIEZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsVmVydGV4QXR0cmli
NGYpOwotICAgIEZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsVmVydGV4QXR0cmliNGZ2KTsKLSAgICBG
VU5DVElPTl9UQUJMRV9FTlRSWShnbFZlcnRleEF0dHJpYlBvaW50ZXIpOwotfSBPcGVuR0xGdW5j
dGlvblRhYmxlOwotCi0vLyBXZSBkaXNhYmxlIHRoZSBzaGltcyBmb3IgT3BlbkdMU2hpbXMuY3Bw
LCBzbyB0aGF0IHdlIGNhbiBzZXQgdGhlbS4KLSNpZm5kZWYgRElTQUJMRV9TSElNUwotI2RlZmlu
ZSBMT09LVVBfR0xfRlVOQ1RJT04oRnVuY3Rpb24pIFdlYkNvcmU6Om9wZW5HTEZ1bmN0aW9uVGFi
bGUoKS0+RnVuY3Rpb24KLSNkZWZpbmUgZ2xBY3RpdmVUZXh0dXJlICAgICAgICAgICAgICAgICAg
ICAgICAgTE9PS1VQX0dMX0ZVTkNUSU9OKGdsQWN0aXZlVGV4dHVyZSkKLSNkZWZpbmUgZ2xBdHRh
Y2hTaGFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgTE9PS1VQX0dMX0ZVTkNUSU9OKGdsQXR0
YWNoU2hhZGVyKQotI2RlZmluZSBnbEJpbmRBdHRyaWJMb2NhdGlvbiAgICAgICAgICAgICAgICAg
ICBMT09LVVBfR0xfRlVOQ1RJT04oZ2xCaW5kQXR0cmliTG9jYXRpb24pCi0jZGVmaW5lIGdsQmlu
ZEJ1ZmZlciAgICAgICAgICAgICAgICAgICAgICAgICAgIExPT0tVUF9HTF9GVU5DVElPTihnbEJp
bmRCdWZmZXIpCi0jZGVmaW5lIGdsQmluZEZyYW1lYnVmZmVyRVhUICAgICAgICAgICAgICAgICAg
IGdsQmluZEZyYW1lYnVmZmVyCi0jZGVmaW5lIGdsQmluZEZyYW1lYnVmZmVyICAgICAgICAgICAg
ICAgICAgICAgIExPT0tVUF9HTF9GVU5DVElPTihnbEJpbmRGcmFtZWJ1ZmZlcikKLSNkZWZpbmUg
Z2xCaW5kUmVuZGVyYnVmZmVyRVhUICAgICAgICAgICAgICAgICAgZ2xCaW5kUmVuZGVyYnVmZmVy
Ci0jZGVmaW5lIGdsQmluZFJlbmRlcmJ1ZmZlciAgICAgICAgICAgICAgICAgICAgIExPT0tVUF9H
TF9GVU5DVElPTihnbEJpbmRSZW5kZXJidWZmZXIpCi0jZGVmaW5lIGdsQmxlbmRDb2xvciAgICAg
ICAgICAgICAgICAgICAgICAgICAgIExPT0tVUF9HTF9GVU5DVElPTihnbEJsZW5kQ29sb3IpCi0j
ZGVmaW5lIGdsQmxlbmRFcXVhdGlvbiAgICAgICAgICAgICAgICAgICAgICAgIExPT0tVUF9HTF9G
VU5DVElPTihnbEJsZW5kRXF1YXRpb24pCi0jZGVmaW5lIGdsQmxlbmRFcXVhdGlvblNlcGFyYXRl
ICAgICAgICAgICAgICAgIExPT0tVUF9HTF9GVU5DVElPTihnbEJsZW5kRXF1YXRpb25TZXBhcmF0
ZSkKLSNkZWZpbmUgZ2xCbGVuZEZ1bmNTZXBhcmF0ZSAgICAgICAgICAgICAgICAgICAgTE9PS1VQ
X0dMX0ZVTkNUSU9OKGdsQmxlbmRGdW5jU2VwYXJhdGUpCi0jZGVmaW5lIGdsQmxpdEZyYW1lYnVm
ZmVyRVhUICAgICAgICAgICAgICAgICAgIGdsQmxpdEZyYW1lYnVmZmVyCi0jZGVmaW5lIGdsQmxp
dEZyYW1lYnVmZmVyICAgICAgICAgICAgICAgICAgICAgIExPT0tVUF9HTF9GVU5DVElPTihnbEJs
aXRGcmFtZWJ1ZmZlcikKLSNkZWZpbmUgZ2xCdWZmZXJEYXRhICAgICAgICAgICAgICAgICAgICAg
ICAgICAgTE9PS1VQX0dMX0ZVTkNUSU9OKGdsQnVmZmVyRGF0YSkKLSNkZWZpbmUgZ2xCdWZmZXJT
dWJEYXRhICAgICAgICAgICAgICAgICAgICAgICAgTE9PS1VQX0dMX0ZVTkNUSU9OKGdsQnVmZmVy
U3ViRGF0YSkKLSNkZWZpbmUgZ2xDaGVja0ZyYW1lYnVmZmVyU3RhdHVzRVhUICAgICAgICAgICAg
Z2xDaGVja0ZyYW1lYnVmZmVyU3RhdHVzCi0jZGVmaW5lIGdsQ2hlY2tGcmFtZWJ1ZmZlclN0YXR1
cyAgICAgICAgICAgICAgIExPT0tVUF9HTF9GVU5DVElPTihnbENoZWNrRnJhbWVidWZmZXJTdGF0
dXMpCi0jZGVmaW5lIGdsQ29tcGlsZVNoYWRlciAgICAgICAgICAgICAgICAgICAgICAgIExPT0tV
UF9HTF9GVU5DVElPTihnbENvbXBpbGVTaGFkZXIpCi0jZGVmaW5lIGdsQ3JlYXRlUHJvZ3JhbSAg
ICAgICAgICAgICAgICAgICAgICAgIExPT0tVUF9HTF9GVU5DVElPTihnbENyZWF0ZVByb2dyYW0p
Ci0jZGVmaW5lIGdsQ3JlYXRlU2hhZGVyICAgICAgICAgICAgICAgICAgICAgICAgIExPT0tVUF9H
TF9GVU5DVElPTihnbENyZWF0ZVNoYWRlcikKLSNkZWZpbmUgZ2xEZWxldGVCdWZmZXJzICAgICAg
ICAgICAgICAgICAgICAgICAgTE9PS1VQX0dMX0ZVTkNUSU9OKGdsRGVsZXRlQnVmZmVycykKLSNk
ZWZpbmUgZ2xEZWxldGVGcmFtZWJ1ZmZlcnNFWFQgICAgICAgICAgICAgICAgZ2xEZWxldGVGcmFt
ZWJ1ZmZlcnMKLSNkZWZpbmUgZ2xEZWxldGVGcmFtZWJ1ZmZlcnMgICAgICAgICAgICAgICAgICAg
TE9PS1VQX0dMX0ZVTkNUSU9OKGdsRGVsZXRlRnJhbWVidWZmZXJzKQotI2RlZmluZSBnbERlbGV0
ZVByb2dyYW0gICAgICAgICAgICAgICAgICAgICAgICBMT09LVVBfR0xfRlVOQ1RJT04oZ2xEZWxl
dGVQcm9ncmFtKQotI2RlZmluZSBnbERlbGV0ZVJlbmRlcmJ1ZmZlcnNFWFQgICAgICAgICAgICAg
ICBnbERlbGV0ZVJlbmRlcmJ1ZmZlcnMKLSNkZWZpbmUgZ2xEZWxldGVSZW5kZXJidWZmZXJzICAg
ICAgICAgICAgICAgICAgTE9PS1VQX0dMX0ZVTkNUSU9OKGdsRGVsZXRlUmVuZGVyYnVmZmVycykK
LSNkZWZpbmUgZ2xEZWxldGVTaGFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgTE9PS1VQX0dM
X0ZVTkNUSU9OKGdsRGVsZXRlU2hhZGVyKQotI2RlZmluZSBnbERldGFjaFNoYWRlciAgICAgICAg
ICAgICAgICAgICAgICAgICBMT09LVVBfR0xfRlVOQ1RJT04oZ2xEZXRhY2hTaGFkZXIpCi0jZGVm
aW5lIGdsRGlzYWJsZVZlcnRleEF0dHJpYkFycmF5ICAgICAgICAgICAgIExPT0tVUF9HTF9GVU5D
VElPTihnbERpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheSkKLSNkZWZpbmUgZ2xFbmFibGVWZXJ0ZXhB
dHRyaWJBcnJheSAgICAgICAgICAgICAgTE9PS1VQX0dMX0ZVTkNUSU9OKGdsRW5hYmxlVmVydGV4
QXR0cmliQXJyYXkpCi0jZGVmaW5lIGdsRnJhbWVidWZmZXJSZW5kZXJidWZmZXJFWFQgICAgICAg
ICAgIGdsRnJhbWVidWZmZXJSZW5kZXJidWZmZXIKLSNkZWZpbmUgZ2xGcmFtZWJ1ZmZlclJlbmRl
cmJ1ZmZlciAgICAgICAgICAgICAgTE9PS1VQX0dMX0ZVTkNUSU9OKGdsRnJhbWVidWZmZXJSZW5k
ZXJidWZmZXIpCi0jZGVmaW5lIGdsRnJhbWVidWZmZXJUZXh0dXJlMkRFWFQgICAgICAgICAgICAg
IGdsRnJhbWVidWZmZXJUZXh0dXJlMkQKLSNkZWZpbmUgZ2xGcmFtZWJ1ZmZlclRleHR1cmUyRCAg
ICAgICAgICAgICAgICAgTE9PS1VQX0dMX0ZVTkNUSU9OKGdsRnJhbWVidWZmZXJUZXh0dXJlMkQp
Ci0jZGVmaW5lIGdsR2VuQnVmZmVycyAgICAgICAgICAgICAgICAgICAgICAgICAgIExPT0tVUF9H
TF9GVU5DVElPTihnbEdlbkJ1ZmZlcnMpCi0jZGVmaW5lIGdsR2VuZXJhdGVNaXBtYXBFWFQgICAg
ICAgICAgICAgICAgICAgIGdsR2VuZXJhdGVNaXBtYXAKLSNkZWZpbmUgZ2xHZW5lcmF0ZU1pcG1h
cCAgICAgICAgICAgICAgICAgICAgICAgTE9PS1VQX0dMX0ZVTkNUSU9OKGdsR2VuZXJhdGVNaXBt
YXApCi0jZGVmaW5lIGdsR2VuRnJhbWVidWZmZXJzRVhUICAgICAgICAgICAgICAgICAgIGdsR2Vu
RnJhbWVidWZmZXJzCi0jZGVmaW5lIGdsR2VuRnJhbWVidWZmZXJzICAgICAgICAgICAgICAgICAg
ICAgIExPT0tVUF9HTF9GVU5DVElPTihnbEdlbkZyYW1lYnVmZmVycykKLSNkZWZpbmUgZ2xHZW5S
ZW5kZXJidWZmZXJzRVhUICAgICAgICAgICAgICAgICAgZ2xHZW5SZW5kZXJidWZmZXJzCi0jZGVm
aW5lIGdsR2VuUmVuZGVyYnVmZmVycyAgICAgICAgICAgICAgICAgICAgIExPT0tVUF9HTF9GVU5D
VElPTihnbEdlblJlbmRlcmJ1ZmZlcnMpCi0jZGVmaW5lIGdsR2V0QWN0aXZlQXR0cmliICAgICAg
ICAgICAgICAgICAgICAgIExPT0tVUF9HTF9GVU5DVElPTihnbEdldEFjdGl2ZUF0dHJpYikKLSNk
ZWZpbmUgZ2xHZXRBY3RpdmVVbmlmb3JtICAgICAgICAgICAgICAgICAgICAgTE9PS1VQX0dMX0ZV
TkNUSU9OKGdsR2V0QWN0aXZlVW5pZm9ybSkKLSNkZWZpbmUgZ2xHZXRBdHRhY2hlZFNoYWRlcnMg
ICAgICAgICAgICAgICAgICAgTE9PS1VQX0dMX0ZVTkNUSU9OKGdsR2V0QXR0YWNoZWRTaGFkZXJz
KQotI2RlZmluZSBnbEdldEF0dHJpYkxvY2F0aW9uICAgICAgICAgICAgICAgICAgICBMT09LVVBf
R0xfRlVOQ1RJT04oZ2xHZXRBdHRyaWJMb2NhdGlvbikKLSNkZWZpbmUgZ2xHZXRCdWZmZXJQYXJh
bWV0ZXJpdkVYVCAgICAgICAgICAgICAgZ2xHZXRCdWZmZXJQYXJhbWV0ZXJpdgotI2RlZmluZSBn
bEdldEJ1ZmZlclBhcmFtZXRlcml2ICAgICAgICAgICAgICAgICBMT09LVVBfR0xfRlVOQ1RJT04o
Z2xHZXRCdWZmZXJQYXJhbWV0ZXJpdikKLSNkZWZpbmUgZ2xHZXRGcmFtZWJ1ZmZlckF0dGFjaG1l
bnRQYXJhbWV0ZXJpdkVYVCBnbEdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlcml2Ci0j
ZGVmaW5lIGdsR2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyaXYgIExPT0tVUF9HTF9G
VU5DVElPTihnbEdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlcml2KQotI2RlZmluZSBn
bEdldFByb2dyYW1JbmZvTG9nICAgICAgICAgICAgICAgICAgICBMT09LVVBfR0xfRlVOQ1RJT04o
Z2xHZXRQcm9ncmFtSW5mb0xvZykKLSNkZWZpbmUgZ2xHZXRQcm9ncmFtaXYgICAgICAgICAgICAg
ICAgICAgICAgICAgTE9PS1VQX0dMX0ZVTkNUSU9OKGdsR2V0UHJvZ3JhbWl2KQotI2RlZmluZSBn
bEdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcml2RVhUICAgICAgICBnbEdldFJlbmRlcmJ1ZmZlclBh
cmFtZXRlcml2Ci0jZGVmaW5lIGdsR2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVyaXYgICAgICAgICAg
IExPT0tVUF9HTF9GVU5DVElPTihnbEdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcml2KQotI2RlZmlu
ZSBnbEdldFNoYWRlckluZm9Mb2cgICAgICAgICAgICAgICAgICAgICBMT09LVVBfR0xfRlVOQ1RJ
T04oZ2xHZXRTaGFkZXJJbmZvTG9nKQotI2RlZmluZSBnbEdldFNoYWRlcml2ICAgICAgICAgICAg
ICAgICAgICAgICAgICBMT09LVVBfR0xfRlVOQ1RJT04oZ2xHZXRTaGFkZXJpdikKLSNkZWZpbmUg
Z2xHZXRTaGFkZXJTb3VyY2UgICAgICAgICAgICAgICAgICAgICAgTE9PS1VQX0dMX0ZVTkNUSU9O
KGdsR2V0U2hhZGVyU291cmNlKQotI2RlZmluZSBnbEdldFVuaWZvcm1mdiAgICAgICAgICAgICAg
ICAgICAgICAgICBMT09LVVBfR0xfRlVOQ1RJT04oZ2xHZXRVbmlmb3JtZnYpCi0jZGVmaW5lIGds
R2V0VW5pZm9ybWl2ICAgICAgICAgICAgICAgICAgICAgICAgIExPT0tVUF9HTF9GVU5DVElPTihn
bEdldFVuaWZvcm1pdikKLSNkZWZpbmUgZ2xHZXRVbmlmb3JtTG9jYXRpb24gICAgICAgICAgICAg
ICAgICAgTE9PS1VQX0dMX0ZVTkNUSU9OKGdsR2V0VW5pZm9ybUxvY2F0aW9uKQotI2RlZmluZSBn
bEdldFZlcnRleEF0dHJpYmZ2ICAgICAgICAgICAgICAgICAgICBMT09LVVBfR0xfRlVOQ1RJT04o
Z2xHZXRWZXJ0ZXhBdHRyaWJmdikKLSNkZWZpbmUgZ2xHZXRWZXJ0ZXhBdHRyaWJpdiAgICAgICAg
ICAgICAgICAgICAgTE9PS1VQX0dMX0ZVTkNUSU9OKGdsR2V0VmVydGV4QXR0cmliaXYpCi0jZGVm
aW5lIGdsR2V0VmVydGV4QXR0cmliUG9pbnRlcnYgICAgICAgICAgICAgIExPT0tVUF9HTF9GVU5D
VElPTihnbEdldFZlcnRleEF0dHJpYlBvaW50ZXJ2KQotI2RlZmluZSBnbElzQnVmZmVyICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBMT09LVVBfR0xfRlVOQ1RJT04oZ2xJc0J1ZmZlcikKLSNk
ZWZpbmUgZ2xJc0ZyYW1lYnVmZmVyRVhUICAgICAgICAgICAgICAgICAgICAgZ2xJc0ZyYW1lYnVm
ZmVyCi0jZGVmaW5lIGdsSXNGcmFtZWJ1ZmZlciAgICAgICAgICAgICAgICAgICAgICAgIExPT0tV
UF9HTF9GVU5DVElPTihnbElzRnJhbWVidWZmZXIpCi0jZGVmaW5lIGdsSXNQcm9ncmFtICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIExPT0tVUF9HTF9GVU5DVElPTihnbElzUHJvZ3JhbSkKLSNk
ZWZpbmUgZ2xJc1JlbmRlcmJ1ZmZlckVYVCAgICAgICAgICAgICAgICAgICAgZ2xJc1JlbmRlcmJ1
ZmZlcgotI2RlZmluZSBnbElzUmVuZGVyYnVmZmVyICAgICAgICAgICAgICAgICAgICAgICBMT09L
VVBfR0xfRlVOQ1RJT04oZ2xJc1JlbmRlcmJ1ZmZlcikKLSNkZWZpbmUgZ2xJc1NoYWRlciAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgTE9PS1VQX0dMX0ZVTkNUSU9OKGdsSXNTaGFkZXIpCi0j
ZGVmaW5lIGdsTGlua1Byb2dyYW0gICAgICAgICAgICAgICAgICAgICAgICAgIExPT0tVUF9HTF9G
VU5DVElPTihnbExpbmtQcm9ncmFtKQotI2RlZmluZSBnbFJlbmRlcmJ1ZmZlclN0b3JhZ2VFWFQg
ICAgICAgICAgICAgICBnbFJlbmRlcmJ1ZmZlclN0b3JhZ2UKLSNkZWZpbmUgZ2xSZW5kZXJidWZm
ZXJTdG9yYWdlICAgICAgICAgICAgICAgICAgTE9PS1VQX0dMX0ZVTkNUSU9OKGdsUmVuZGVyYnVm
ZmVyU3RvcmFnZSkKLSNkZWZpbmUgZ2xSZW5kZXJidWZmZXJTdG9yYWdlTXVsdGlzYW1wbGVFWFQg
ICAgZ2xSZW5kZXJidWZmZXJTdG9yYWdlTXVsdGlzYW1wbGUKLSNkZWZpbmUgZ2xSZW5kZXJidWZm
ZXJTdG9yYWdlTXVsdGlzYW1wbGUgICAgICAgTE9PS1VQX0dMX0ZVTkNUSU9OKGdsUmVuZGVyYnVm
ZmVyU3RvcmFnZU11bHRpc2FtcGxlKQotI2RlZmluZSBnbFNhbXBsZUNvdmVyYWdlICAgICAgICAg
ICAgICAgICAgICAgICBMT09LVVBfR0xfRlVOQ1RJT04oZ2xTYW1wbGVDb3ZlcmFnZSkKLSNkZWZp
bmUgZ2xTaGFkZXJTb3VyY2UgICAgICAgICAgICAgICAgICAgICAgICAgTE9PS1VQX0dMX0ZVTkNU
SU9OKGdsU2hhZGVyU291cmNlKQotI2RlZmluZSBnbFN0ZW5jaWxGdW5jU2VwYXJhdGUgICAgICAg
ICAgICAgICAgICBMT09LVVBfR0xfRlVOQ1RJT04oZ2xTdGVuY2lsRnVuY1NlcGFyYXRlKQotI2Rl
ZmluZSBnbFN0ZW5jaWxNYXNrU2VwYXJhdGUgICAgICAgICAgICAgICAgICBMT09LVVBfR0xfRlVO
Q1RJT04oZ2xTdGVuY2lsTWFza1NlcGFyYXRlKQotI2RlZmluZSBnbFN0ZW5jaWxPcFNlcGFyYXRl
ICAgICAgICAgICAgICAgICAgICBMT09LVVBfR0xfRlVOQ1RJT04oZ2xTdGVuY2lsT3BTZXBhcmF0
ZSkKLSNkZWZpbmUgZ2xVbmlmb3JtMWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgTE9PS1VQ
X0dMX0ZVTkNUSU9OKGdsVW5pZm9ybTFmKQotI2RlZmluZSBnbFVuaWZvcm0xZnYgICAgICAgICAg
ICAgICAgICAgICAgICAgICBMT09LVVBfR0xfRlVOQ1RJT04oZ2xVbmlmb3JtMWZ2KQotI2RlZmlu
ZSBnbFVuaWZvcm0xaSAgICAgICAgICAgICAgICAgICAgICAgICAgICBMT09LVVBfR0xfRlVOQ1RJ
T04oZ2xVbmlmb3JtMWkpCi0jZGVmaW5lIGdsVW5pZm9ybTFpdiAgICAgICAgICAgICAgICAgICAg
ICAgICAgIExPT0tVUF9HTF9GVU5DVElPTihnbFVuaWZvcm0xaXYpCi0jZGVmaW5lIGdsVW5pZm9y
bTJmICAgICAgICAgICAgICAgICAgICAgICAgICAgIExPT0tVUF9HTF9GVU5DVElPTihnbFVuaWZv
cm0yZikKLSNkZWZpbmUgZ2xVbmlmb3JtMmZ2ICAgICAgICAgICAgICAgICAgICAgICAgICAgTE9P
S1VQX0dMX0ZVTkNUSU9OKGdsVW5pZm9ybTJmdikKLSNkZWZpbmUgZ2xVbmlmb3JtMmkgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgTE9PS1VQX0dMX0ZVTkNUSU9OKGdsVW5pZm9ybTJpKQotI2Rl
ZmluZSBnbFVuaWZvcm0yaXYgICAgICAgICAgICAgICAgICAgICAgICAgICBMT09LVVBfR0xfRlVO
Q1RJT04oZ2xVbmlmb3JtMml2KQotI2RlZmluZSBnbFVuaWZvcm0zZiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBMT09LVVBfR0xfRlVOQ1RJT04oZ2xVbmlmb3JtM2YpCi0jZGVmaW5lIGdsVW5p
Zm9ybTNmdiAgICAgICAgICAgICAgICAgICAgICAgICAgIExPT0tVUF9HTF9GVU5DVElPTihnbFVu
aWZvcm0zZnYpCi0jZGVmaW5lIGdsVW5pZm9ybTNpICAgICAgICAgICAgICAgICAgICAgICAgICAg
IExPT0tVUF9HTF9GVU5DVElPTihnbFVuaWZvcm0zaSkKLSNkZWZpbmUgZ2xVbmlmb3JtM2l2ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgTE9PS1VQX0dMX0ZVTkNUSU9OKGdsVW5pZm9ybTNpdikK
LSNkZWZpbmUgZ2xVbmlmb3JtNGYgICAgICAgICAgICAgICAgICAgICAgICAgICAgTE9PS1VQX0dM
X0ZVTkNUSU9OKGdsVW5pZm9ybTRmKQotI2RlZmluZSBnbFVuaWZvcm00ZnYgICAgICAgICAgICAg
ICAgICAgICAgICAgICBMT09LVVBfR0xfRlVOQ1RJT04oZ2xVbmlmb3JtNGZ2KQotI2RlZmluZSBn
bFVuaWZvcm00aSAgICAgICAgICAgICAgICAgICAgICAgICAgICBMT09LVVBfR0xfRlVOQ1RJT04o
Z2xVbmlmb3JtNGkpCi0jZGVmaW5lIGdsVW5pZm9ybTRpdiAgICAgICAgICAgICAgICAgICAgICAg
ICAgIExPT0tVUF9HTF9GVU5DVElPTihnbFVuaWZvcm00aXYpCi0jZGVmaW5lIGdsVW5pZm9ybU1h
dHJpeDJmdiAgICAgICAgICAgICAgICAgICAgIExPT0tVUF9HTF9GVU5DVElPTihnbFVuaWZvcm1N
YXRyaXgyZnYpCi0jZGVmaW5lIGdsVW5pZm9ybU1hdHJpeDNmdiAgICAgICAgICAgICAgICAgICAg
IExPT0tVUF9HTF9GVU5DVElPTihnbFVuaWZvcm1NYXRyaXgzZnYpCi0jZGVmaW5lIGdsVW5pZm9y
bU1hdHJpeDRmdiAgICAgICAgICAgICAgICAgICAgIExPT0tVUF9HTF9GVU5DVElPTihnbFVuaWZv
cm1NYXRyaXg0ZnYpCi0jZGVmaW5lIGdsVXNlUHJvZ3JhbSAgICAgICAgICAgICAgICAgICAgICAg
ICAgIExPT0tVUF9HTF9GVU5DVElPTihnbFVzZVByb2dyYW0pCi0jZGVmaW5lIGdsVmFsaWRhdGVQ
cm9ncmFtICAgICAgICAgICAgICAgICAgICAgIExPT0tVUF9HTF9GVU5DVElPTihnbFZhbGlkYXRl
UHJvZ3JhbSkKLSNkZWZpbmUgZ2xWZXJ0ZXhBdHRyaWIxZiAgICAgICAgICAgICAgICAgICAgICAg
TE9PS1VQX0dMX0ZVTkNUSU9OKGdsVmVydGV4QXR0cmliMWYpCi0jZGVmaW5lIGdsVmVydGV4QXR0
cmliMWZ2ICAgICAgICAgICAgICAgICAgICAgIExPT0tVUF9HTF9GVU5DVElPTihnbFZlcnRleEF0
dHJpYjFmdikKLSNkZWZpbmUgZ2xWZXJ0ZXhBdHRyaWIyZiAgICAgICAgICAgICAgICAgICAgICAg
TE9PS1VQX0dMX0ZVTkNUSU9OKGdsVmVydGV4QXR0cmliMmYpCi0jZGVmaW5lIGdsVmVydGV4QXR0
cmliMmZ2ICAgICAgICAgICAgICAgICAgICAgIExPT0tVUF9HTF9GVU5DVElPTihnbFZlcnRleEF0
dHJpYjJmdikKLSNkZWZpbmUgZ2xWZXJ0ZXhBdHRyaWIzZiAgICAgICAgICAgICAgICAgICAgICAg
TE9PS1VQX0dMX0ZVTkNUSU9OKGdsVmVydGV4QXR0cmliM2YpCi0jZGVmaW5lIGdsVmVydGV4QXR0
cmliM2Z2ICAgICAgICAgICAgICAgICAgICAgIExPT0tVUF9HTF9GVU5DVElPTihnbFZlcnRleEF0
dHJpYjNmdikKLSNkZWZpbmUgZ2xWZXJ0ZXhBdHRyaWI0ZiAgICAgICAgICAgICAgICAgICAgICAg
TE9PS1VQX0dMX0ZVTkNUSU9OKGdsVmVydGV4QXR0cmliNGYpCi0jZGVmaW5lIGdsVmVydGV4QXR0
cmliNGZ2ICAgICAgICAgICAgICAgICAgICAgIExPT0tVUF9HTF9GVU5DVElPTihnbFZlcnRleEF0
dHJpYjRmdikKLSNkZWZpbmUgZ2xWZXJ0ZXhBdHRyaWJQb2ludGVyICAgICAgICAgICAgICAgICAg
TE9PS1VQX0dMX0ZVTkNUSU9OKGdsVmVydGV4QXR0cmliUG9pbnRlcikKLSNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMz
RE9wZW5HTC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0
ZW5zaW9uczNET3BlbkdMLmNwcAppbmRleCA2N2Q0MmJhODY4NDUyMmExMzMyNWVkNWY0ZmQ2OTNm
ZDdiNjU4OGM1Li5iNjQxMGY2MWNiZTM0MGFhZDkxOWI1MTNhMmZhMjVkYzY3NmRhMmI4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9u
czNET3BlbkdMLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVu
Z2wvRXh0ZW5zaW9uczNET3BlbkdMLmNwcApAQCAtMzUsMTAgKzM1LDggQEAKICNpZiBQTEFURk9S
TShNQUMpCiAjaW5jbHVkZSAiQU5HTEUvU2hhZGVyTGFuZy5oIgogI2luY2x1ZGUgPE9wZW5HTC9n
bC5oPgotI2VsaWYgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwpCisjZWxpZiBQTEFURk9S
TShHVEspIHx8IFBMQVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oUVQpCiAjaW5jbHVkZSAiT3BlbkdM
U2hpbXMuaCIKLSNlbGlmIFBMQVRGT1JNKFFUKQotI2luY2x1ZGUgPGNhaXJvL09wZW5HTFNoaW1z
Lmg+CiAjZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRl
eHQzRE9wZW5HTC5jcHAKaW5kZXggOGI0ZDlkNDlhM2I5ODlkZjdhYjA4Zjc4MTQwY2IwZmMxNWFh
NjI1MS4uOGMwMDJmYWNjNDE4M2I5NDgxODA3MDUzMWFiMjgzNzRmZDZlNGUwNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4
dDNET3BlbkdMLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVu
Z2wvR3JhcGhpY3NDb250ZXh0M0RPcGVuR0wuY3BwCkBAIC0zNiwxMSArMzYsOCBAQAogCiAjaWYg
UExBVEZPUk0oTUFDKQogI2luY2x1ZGUgPE9wZW5HTC9nbC5oPgotI2VsaWYgUExBVEZPUk0oR1RL
KSB8fCBQTEFURk9STShFRkwpCisjZWxpZiBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkg
fHwgUExBVEZPUk0oUVQpCiAjaW5jbHVkZSAiT3BlbkdMU2hpbXMuaCIKLSNlbGlmIFBMQVRGT1JN
KFFUKQotI2luY2x1ZGUgPFF0R2xvYmFsPgotI2luY2x1ZGUgPGNhaXJvL09wZW5HTFNoaW1zLmg+
CiAjZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMQ29tbW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0Nv
bnRleHQzRE9wZW5HTENvbW1vbi5jcHAKaW5kZXggOTU3ZGU3MjYwZWNlNTQ1ZGRhZGJkOTU1NDk5
ODE0ODgwODExODAyNC4uMDNkNGEzMmNjYzMyNjU2NDY4M2ExZGFhYjBhODE1YTEzMDdjMWIxZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBo
aWNzQ29udGV4dDNET3BlbkdMQ29tbW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0M0RPcGVuR0xDb21tb24uY3BwCkBAIC01
MSwxMSArNTEsOCBAQAogCiAjaWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUgPE9wZW5HTC9nbC5o
PgotI2VsaWYgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwpCisjZWxpZiBQTEFURk9STShH
VEspIHx8IFBMQVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oUVQpCiAjaW5jbHVkZSAiT3BlbkdMU2hp
bXMuaCIKLSNlbGlmIFBMQVRGT1JNKFFUKQotI2luY2x1ZGUgPFF0R2xvYmFsPgotI2luY2x1ZGUg
PGNhaXJvL09wZW5HTFNoaW1zLmg+CiAjZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL1RleHR1cmVN
YXBwZXJHTC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvVGV4
dHVyZU1hcHBlckdMLmNwcAppbmRleCA5ZTY5Y2U2OTgzYjkwMmFhNWEzNDUzMDQ4MTM3NGVmZWZk
ZTQwY2ZiLi5kZTg3M2Y1ZTE0NWYyYTZkYTQ5NzA3ZmZlMWYzNTI3NmEyNjAxNDRkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvVGV4dHVyZU1hcHBl
ckdMLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvVGV4
dHVyZU1hcHBlckdMLmNwcApAQCAtMzYsNyArMzYsNyBAQAogI2VuZGlmCiAKICNpZiBQTEFURk9S
TShRVCkgfHwgVVNFKENBSVJPKQotI2luY2x1ZGUgPGNhaXJvL09wZW5HTFNoaW1zLmg+CisjaW5j
bHVkZSAiT3BlbkdMU2hpbXMuaCIKICNlbGlmIGRlZmluZWQoVEVYTUFQX09QRU5HTF9FU18yKQog
I2luY2x1ZGUgPEdMRVMyL2dsMi5oPgogI2luY2x1ZGUgPEdMRVMyL2dsMmV4dC5oPgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRXh0ZW5zaW9uczNEUXQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRXh0ZW5zaW9uczNEUXQu
Y3BwCmluZGV4IDFkYWYwODkxNThjZTJjMTM5NDk2NDgwNDI5ZmJmZTIyZjA4MTJiNmMuLjI3Yzgz
NjZlZmRkMzdjZjA5ODFiMGMxN2IyN2U2OGJhZTYzMTc4MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0V4dGVuc2lvbnMzRFF0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9FeHRlbnNpb25zM0RRdC5jcHAKQEAgLTMw
LDcgKzMwLDcgQEAKICNpbmNsdWRlICJFeHRlbnNpb25zM0RRdC5oIgogCiAjaW5jbHVkZSAiR3Jh
cGhpY3NDb250ZXh0M0QuaCIKLSNpbmNsdWRlICJjYWlyby9PcGVuR0xTaGltcy5oIgorI2luY2x1
ZGUgIk9wZW5HTFNoaW1zLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0M0RRdC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHQz
RFF0LmNwcAppbmRleCBiODZkYmJiZWQ4N2I0YTAzNGY0NTgxYzY2YjBiMzdkNDIzNDZmZmYwLi4x
MzMyNmNmNjYyMjQyZjIxNDY4Yjg4Y2FiMzViYjkyZDEzMTQ3ZWIzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHQzRFF0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHQz
RFF0LmNwcApAQCAtMjEsNyArMjEsNiBAQAogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dDNELmgi
CiAKICNpbmNsdWRlICJXZWJHTE9iamVjdC5oIgotI2luY2x1ZGUgPGNhaXJvL09wZW5HTFNoaW1z
Lmg+CiAjaW5jbHVkZSAiQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5oIgogI2lmIGRlZmluZWQoUVRf
T1BFTkdMX0VTXzIpCiAjaW5jbHVkZSAiRXh0ZW5zaW9uczNEUXQuaCIKQEAgLTM0LDYgKzMzLDcg
QEAKICNpbmNsdWRlICJJbWFnZUJ1ZmZlci5oIgogI2luY2x1ZGUgIkltYWdlRGF0YS5oIgogI2lu
Y2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCisjaW5jbHVkZSAiT3BlbkdMU2hpbXMuaCIKICNpbmNs
dWRlICJRV2ViUGFnZUNsaWVudC5oIgogI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlci5oIgogI2luY2x1
ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL3F0L0xheWVyVHJlZUhvc3RQcm94eVF0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9xdC9MYXllclRyZWVIb3N0UHJveHlRdC5jcHAKaW5kZXggMTA5YWZmY2RiOGFlYWYxOWU1NjVm
YTJmZWY0ZmU0MDNjZWJiOGRhZC4uYjg2OTBkZjIyZWNlZGY3YTAyY2IzNDJmNWE4NGY5MjRhNTBi
YTk0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L0xheWVyVHJlZUhv
c3RQcm94eVF0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvTGF5ZXJUcmVl
SG9zdFByb3h5UXQuY3BwCkBAIC0zNiw4ICszNiw4IEBACiAjaW5jbHVkZSAiV2ViTGF5ZXJUcmVl
SW5mby5oIgogI2luY2x1ZGUgIldlYlBhZ2VQcm94eS5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3NQ
cm94eS5oIgorI2luY2x1ZGUgPE9wZW5HTFNoaW1zLmg+CiAjaW5jbHVkZSA8UURhdGVUaW1lPgot
I2luY2x1ZGUgPGNhaXJvL09wZW5HTFNoaW1zLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>