<?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>123993</bug_id>
          
          <creation_ts>2013-11-07 07:44:51 -0800</creation_ts>
          <short_desc>Region based multicol: support explicit column breaks</short_desc>
          <delta_ts>2014-01-20 11:51:41 -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>Layout and Rendering</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="Morten Stenshorne">mstensho</reporter>
          <assigned_to name="Morten Stenshorne">mstensho</assigned_to>
          <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>rniwa</cc>
    
    <cc>WebkitBugTracker</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>948256</commentid>
    <comment_count>0</comment_count>
    <who name="Morten Stenshorne">mstensho</who>
    <bug_when>2013-11-07 07:44:51 -0800</bug_when>
    <thetext>Explicit column breaks are currently not supported in the region based multicol implementation.

Apart from simply making the implementation support it at all (which is trivial), we also have to make the column balancer aware of explicit breaks, which is a bit more work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>948258</commentid>
    <comment_count>1</comment_count>
      <attachid>216302</attachid>
    <who name="Morten Stenshorne">mstensho</who>
    <bug_when>2013-11-07 07:58:12 -0800</bug_when>
    <thetext>Created attachment 216302
Test case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>967714</commentid>
    <comment_count>2</comment_count>
      <attachid>221122</attachid>
    <who name="Morten Stenshorne">mstensho</who>
    <bug_when>2014-01-14 01:28:56 -0800</bug_when>
    <thetext>Created attachment 221122
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>967715</commentid>
    <comment_count>3</comment_count>
      <attachid>221122</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2014-01-14 01:35:39 -0800</bug_when>
    <thetext>Comment on attachment 221122
Patch

Attachment 221122 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/6094733210288128</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>967720</commentid>
    <comment_count>4</comment_count>
      <attachid>221126</attachid>
    <who name="Morten Stenshorne">mstensho</who>
    <bug_when>2014-01-14 01:48:28 -0800</bug_when>
    <thetext>Created attachment 221126
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>969180</commentid>
    <comment_count>5</comment_count>
      <attachid>221126</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2014-01-17 11:41:14 -0800</bug_when>
    <thetext>Comment on attachment 221126
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>969746</commentid>
    <comment_count>6</comment_count>
      <attachid>221126</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-20 00:27:36 -0800</bug_when>
    <thetext>Comment on attachment 221126
Patch

Rejecting attachment 221126 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.appspot.com&apos;, &apos;--bot-id=webkit-cq-01&apos;, &apos;apply-attachment&apos;, &apos;--no-update&apos;, &apos;--non-interactive&apos;, 221126, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
html
patching file LayoutTests/fast/multicol/newmulticol/breaks-3-columns-3-expected.html
patching file LayoutTests/fast/multicol/newmulticol/breaks-3-columns-3.html
patching file LayoutTests/fast/multicol/newmulticol/fixed-height-fill-balance-2-expected.html
patching file LayoutTests/fast/multicol/newmulticol/fixed-height-fill-balance-2.html

Failed to run &quot;[u&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;, &apos;--reviewer&apos;, u&apos;David Hyatt&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Full output: http://webkit-queues.appspot.com/results/6444814115536896</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>969758</commentid>
    <comment_count>7</comment_count>
      <attachid>221630</attachid>
    <who name="Morten Stenshorne">mstensho</who>
    <bug_when>2014-01-20 00:59:52 -0800</bug_when>
    <thetext>Created attachment 221630
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>969762</commentid>
    <comment_count>8</comment_count>
      <attachid>221632</attachid>
    <who name="Morten Stenshorne">mstensho</who>
    <bug_when>2014-01-20 01:16:13 -0800</bug_when>
    <thetext>Created attachment 221632
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>969936</commentid>
    <comment_count>9</comment_count>
      <attachid>221632</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2014-01-20 11:34:10 -0800</bug_when>
    <thetext>Comment on attachment 221632
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>969948</commentid>
    <comment_count>10</comment_count>
      <attachid>221632</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-20 11:51:38 -0800</bug_when>
    <thetext>Comment on attachment 221632
Patch

Clearing flags on attachment: 221632

Committed r162366: &lt;http://trac.webkit.org/changeset/162366&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>969949</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-20 11:51:41 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>216302</attachid>
            <date>2013-11-07 07:58:12 -0800</date>
            <delta_ts>2013-11-07 07:58:12 -0800</delta_ts>
            <desc>Test case</desc>
            <filename>tc.html</filename>
            <type>text/html</type>
            <size>1237</size>
            <attacher name="Morten Stenshorne">mstensho</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgogICAgPGhlYWQ+CiAgICAgICAgPHRpdGxlPmF1dG8taGVp
Z2h0IG11bHRpY29sIHdpdGggZXhwbGljaXQgYnJlYWtzPC90aXRsZT4KICAgIDwvaGVhZD4KICAg
IDxib2R5IHN0eWxlPSJtaW4td2lkdGg6NDBlbTsiPgogICAgICAgIDxwPlBsZWFzZSB0ZXN0IHdp
dGggcmVnaW9uIGJhc2VkIGNvbHVtbnMgZW5hYmxlZC48L3A+CiAgICAgICAgPHA+QmVsb3cgdGhl
cmUgc2hvdWxkIGJlIGFuIG9saXZlIDxlbT5yZWN0YW5nbGU8L2VtPiB3aXRoIG51bWJlcnMgaW5z
aWRlLiBUaGUgbnVtYmVycyBzaG91bGQgY29ycmVzcG9uZCB0byB0aGUgY29sdW1uIHRoYXQgdGhl
eSBhcmUgaW4uPC9wPgogICAgICAgIDxkaXYgY2xhc3M9Im1jIiBzdHlsZT0iZmxvYXQ6bGVmdDsg
LXdlYmtpdC1jb2x1bW5zOjQ7IC13ZWJraXQtY29sdW1uLXJ1bGU6c29saWQ7IGNvbHVtbnM6NDsg
Y29sdW1uLXJ1bGU6c29saWQ7IG9ycGhhbnM6MTsgd2lkb3dzOjE7IHdpZHRoOjE1ZW07IGJhY2tn
cm91bmQ6b2xpdmU7Ij4KICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgIDE8YnI+CiAg
ICAgICAgICAgICAgICAxPGJyPgogICAgICAgICAgICAgICAgMTxicj4KICAgICAgICAgICAgICAg
IDE8YnI+CiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSItd2Via2l0LWNvbHVtbi1icmVhay1i
ZWZvcmU6YWx3YXlzOyBicmVhay1iZWZvcmU6Y29sdW1uOyI+CiAgICAgICAgICAgICAgICAgICAg
Mjxicj4KICAgICAgICAgICAgICAgICAgICAyPGJyPgogICAgICAgICAgICAgICAgPC9kaXY+CiAg
ICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IHN0eWxlPSItd2Via2l0LWNvbHVtbi1i
cmVhay1iZWZvcmU6YWx3YXlzOyBicmVhay1iZWZvcmU6Y29sdW1uOyI+CiAgICAgICAgICAgICAg
ICAzPGJyPgogICAgICAgICAgICAgICAgMzxicj4KICAgICAgICAgICAgICAgIDM8YnI+CiAgICAg
ICAgICAgICAgICAzPGJyPgogICAgICAgICAgICAgICAgNDxicj4KICAgICAgICAgICAgICAgIDQ8
YnI+CiAgICAgICAgICAgICAgICA0PGJyPgogICAgICAgICAgICAgICAgNDxicj4KICAgICAgICAg
ICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsg
d2lkdGg6MmVtOyBiYWNrZ3JvdW5kOm9saXZlOyI+Jm5ic3A7PGJyPiZuYnNwOzxicj4mbmJzcDs8
YnI+Jm5ic3A7PGJyPjwvZGl2PgogICAgPC9ib2R5Pgo8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221122</attachid>
            <date>2014-01-14 01:28:56 -0800</date>
            <delta_ts>2014-01-14 01:48:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-123993-20140114102853.patch</filename>
            <type>text/plain</type>
            <size>48411</size>
            <attacher name="Morten Stenshorne">mstensho</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYxNzY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzc0ZTJlY2QwNDcxMDVi
N2RiM2I5ODM4YzU4MGI3OGZlMjdjNjQ5Ny4uYmJiYWEwNTk2ZDhkODE0YjliYWNlODgyM2E2YjNj
NDMwMjAwZWMyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgwIEBACisyMDE0LTAxLTE0ICBNb3J0
ZW4gU3RlbnNob3JuZSAgPG1zdGVuc2hvQG9wZXJhLmNvbT4KKworICAgICAgICBSZWdpb24gYmFz
ZWQgbXVsdGljb2w6IHN1cHBvcnQgZXhwbGljaXQgY29sdW1uIGJyZWFrcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIzOTkzCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWVyZWx5IHN1cHBvcnRpbmcgaW5z
ZXJ0aW9uIG9mIGV4cGxpY2l0IChmb3JjZWQpIGNvbHVtbiBicmVha3MgaW4KKyAgICAgICAgdGhl
IHJlZ2lvbiBiYXNlZCBtdWx0aWNvbCBpbXBsZW1lbnRhdGlvbiBpcyByZWFsbHkgc2ltcGxlOiBq
dXN0CisgICAgICAgIGhvb2sgdXAgd2l0aCB3aGF0IHRoZSBDU1MgcmVnaW9ucyBjb2RlIGlzIGFs
cmVhZHkgZG9pbmcuCisKKyAgICAgICAgSG93ZXZlciwgdGhlcmUgaXMgb25lIGNvbXBsaWNhdGlv
bjogY29sdW1uIGJhbGFuY2luZy4gSW4gb3JkZXIgdG8KKyAgICAgICAgYmFsYW5jZSBjb2x1bW5z
IGFzIG5pY2VseSBhcyBwb3NzaWJsZSB3aGVuIHRoZXJlIGFyZSBleHBsaWNpdAorICAgICAgICBi
cmVha3MsIHdlIG5lZWQgdG8gZmlndXJlIG91dCBiZXR3ZWVuIHdoaWNoIGV4cGxpY2l0IGJyZWFr
cyB0aGUKKyAgICAgICAgaW1wbGljaXQgYnJlYWtzIHdpbGwgb2NjdXIgKGlmIHRoZXJlJ3Mgcm9v
bSBmb3IgYW55IGF0IGFsbCkuCisKKyAgICAgICAgVGVzdHM6IGZhc3QvbXVsdGljb2wvbmV3bXVs
dGljb2wvYnJlYWstYWZ0ZXIuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9tdWx0aWNvbC9uZXdt
dWx0aWNvbC9icmVhay1iZWZvcmUuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9tdWx0aWNvbC9u
ZXdtdWx0aWNvbC9icmVha3MtMi1jb2x1bW5zLTMtbm8tYmFsYW5jaW5nLmh0bWwKKyAgICAgICAg
ICAgICAgIGZhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvYnJlYWtzLTItY29sdW1ucy0zLmh0bWwK
KyAgICAgICAgICAgICAgIGZhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvYnJlYWtzLTMtY29sdW1u
cy0zLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvZml4ZWQt
aGVpZ2h0LWZpbGwtYmFsYW5jZS0yLmh0bWwKKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJC
bG9ja0Zsb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjphcHBseUJl
Zm9yZUJyZWFrKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6YXBwbHlBZnRl
ckJyZWFrKTogVXNlIHRoZSBhbHJlYWR5CisgICAgICAgIGV4aXN0aW5nIHJlZ2lvbiBicmVha2lu
ZyBjb2RlIHdoZW4gaW5zZXJ0aW5nIGJyZWFrcyBpbiByZWdpb24KKyAgICAgICAgYmFzZWQgbXVs
dGljb2wuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuaDoKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5CbG9jay5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJNdWx0aUNvbHVtbkJsb2NrOjpSZW5kZXJNdWx0aUNvbHVtbkJsb2NrKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlck11bHRpQ29sdW1uQmxvY2s6OnJlbGF5b3V0Rm9yUGFnaW5hdGlv
bik6IEF2b2lkCisgICAgICAgIHJlLWJhbGFuY2luZyBpZiB0aGUgbXVsdGljb2wncyBjb250ZW50
cyB3ZXJlIG5vdCBsYWlkIG91dC4gQXBhcnQKKyAgICAgICAgZnJvbSBiZWluZyBnb29kIGZvciBw
ZXJmb3JtYW5jZSwgdGhpcyBpcyBub3cgbmVjZXNzYXJ5IGJlY2F1c2Ugb2YKKyAgICAgICAgaG93
IGV4cGxpY2l0IGJyZWFrcyBhcmUgaW1wbGVtZW50ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJNdWx0aUNvbHVtbkJsb2NrOjpsYXlvdXRTcGVjaWFsRXhjbHVkZWRDaGlsZCk6CisgICAgICAg
IERldGVjdCBpZiB0aGUgY29udGVudHMgYXJlIGdvaW5nIHRvIGJlIGxhaWQgb3V0LCBvciBza2lw
cGVkLCBzbworICAgICAgICB0aGF0IHdlIGNhbiB0ZWxsIGlmIHdlIG5lZWQgdG8gKHJlLSliYWxh
bmNlIHRoZSBjb2x1bW5zCisgICAgICAgIGFmdGVyd2FyZHMuCisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlck11bHRpQ29sdW1uQmxvY2suaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTXVs
dGlDb2x1bW5GbG93VGhyZWFkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck11bHRpQ29s
dW1uRmxvd1RocmVhZDo6YWRkRm9yY2VkUmVnaW9uQnJlYWspOgorICAgICAgICBMb2NhdGUgdGhl
IGFwcHJvcHJpYXRlIG11bHRpLWNvbHVtbiBzZXQgYW5kIGNhbGwgaXRzCisgICAgICAgIGFkZEZv
cmNlZEJyZWFrKCkuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvd1Ro
cmVhZC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJNdWx0aUNvbHVtblNldDo6UmVuZGVyTXVsdGlDb2x1bW5T
ZXQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTXVsdGlDb2x1bW5TZXQ6OmZpbmRSdW5XaXRo
VGFsbGVzdENvbHVtbnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTXVsdGlDb2x1bW5TZXQ6
OmRpc3RyaWJ1dGVJbXBsaWNpdEJyZWFrcyk6IEZpZ3VyZQorICAgICAgICBvdXQgaG93IG1hbnkg
aW1wbGljaXQgYnJlYWtzIGVhY2ggc2luZ2xlICJjb250ZW50IHJ1biIgc2hvdWxkCisgICAgICAg
IGNvbnRhaW4uIFRoZSB0YWxsZXIgdGhlIGNvbnRlbnQgcnVuLCB0aGUgbW9yZSBpbXBsaWNpdCBi
cmVha3MuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNdWx0aUNvbHVtblNldDo6Y2FsY3VsYXRl
QmFsYW5jZWRIZWlnaHQpOiBUaGlzIGlzCisgICAgICAgIG5vdyBhIGNvbnN0IG1ldGhvZCB0aGF0
IG9ubHkgZG9lcyBoYWxmIG9mIHdoYXQgdGhlIG9sZAorICAgICAgICBjYWxjdWxhdGVCYWxhbmNl
ZEhlaWdodCgpIGRpZC4gVGhlIHJlc3QgKHN1Y2ggYXMgYWN0dWFsbHkgc3RvcmluZworICAgICAg
ICB0aGUgbmV3IGNvbHVtbiBoZWlnaHQpIGlzIGRvbmUgYnkgcmVjYWxjdWxhdGVCYWxhbmNlZEhl
aWdodCgpLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTXVsdGlDb2x1bW5TZXQ6OmNsZWFyRm9y
Y2VkQnJlYWtzKTogTmVlZHMgdG8gYmUKKyAgICAgICAgY2FsbGVkIGJldHdlZW4gZWFjaCBsYXlv
dXQgcGFzcywgdG8gY2xlYXIgdGhlIGxpc3Qgb2YgImNvbnRlbnQKKyAgICAgICAgcnVucyIuCisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJNdWx0aUNvbHVtblNldDo6YWRkRm9yY2VkQnJlYWspOiBP
bmx5IHVzZWZ1bCB3aGVuCisgICAgICAgIGNvbHVtbnMgYXJlIHRvIGJlIGJhbGFuY2VkLiBJdCBy
ZWNlaXZlcyBleHBsaWNpdCAoZm9yY2VkKSBicmVha3MKKyAgICAgICAgYW5kIHN0b3JlcyB0aGVt
IGFzICJjb250ZW50IHJ1bnMiLiBXaGVuIGxheW91dCBpcyBkb25lLCB3ZSdsbCBnbworICAgICAg
ICB0aHJvdWdoIHRoZSBsaXN0IG9mIGNvbnRlbnQgcnVucywgYW5kIHNlZSB3aGVyZSBpbXBsaWNp
dCBicmVha3MKKyAgICAgICAgc2hvdWxkIGJlIGluc2VydGVkIChpZiB0aGVyZSdzIHJvb20gZm9y
IGFueSkuIFRoZSBnb2FsIGlzIHRvCisgICAgICAgIGluc2VydCBpbXBsaWNpdCBicmVha3MgaW4g
c3VjaCBhIHdheSB0aGF0IHRoZSBmaW5hbCBjb2x1bW5zIGJlY29tZQorICAgICAgICBhcyBzaG9y
dCBhcyBwb3NzaWJsZS4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck11bHRpQ29sdW1uU2V0Ojpy
ZWNhbGN1bGF0ZUJhbGFuY2VkSGVpZ2h0KToKKyAgICAgICAgQ2FsY3VsYXRlcyBhbmQgc2V0cyBh
IG5ldyBiYWxhbmNlZCBjb2x1bW4gaGVpZ2h0LiBUaGlzIHVzZWQgdG8gYmUKKyAgICAgICAgZG9u
ZSBkaXJlY3RseSBpbiBjYWxjdWxhdGVCYWxhbmNlZEhlaWdodCgpLCBidXQgdGhhdCBtZXRob2Qg
aXMgbm93CisgICAgICAgIGNvbnN0IGFuZCBpdCBub3cgb25seSBjYWxjdWxhdGVzIHRoZSBuZXcg
aGVpZ2h0IGFuZCByZXR1cm5zIGl0LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTXVsdGlDb2x1
bW5TZXQ6OnByZXBhcmVGb3JMYXlvdXQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNdWx0
aUNvbHVtblNldC5oOiBSZW1vdmUgb2xkIGRhdGEgbWVtYmVycworICAgICAgICBpbnRlbmRlZCBm
b3IgZm9yY2VkIGJyZWFrcyAodGhleSB3ZXJlIHVudXNlZCksIGFuZCBpbnRyb2R1Y2UgYQorICAg
ICAgICAiY29udGVudCBydW4iIHZlY3RvciBpbnN0ZWFkLiBBIG5ldyBjb250ZW50IHJ1biBpcyB0
cmlnZ2VyZWQgYnkgYW4KKyAgICAgICAgZXhwbGljaXQgYnJlYWsuIFRoaXMgaXMgb25seSB1c2Vk
IHdoZW4gY29sdW1uIGJhbGFuY2luZyBpcworICAgICAgICBlbmFibGVkLiBXaGVuIG5vdCBiYWxh
bmNlZCwgUmVuZGVyTXVsdGlDb2x1bW5TZXQgZG9lc24ndCBuZWVkIHRvCisgICAgICAgIGRvIGFu
eXRoaW5nIHdoZW4gZXhwbGljaXQgYnJlYWtzIGFyZSBpbnNlcnRlZC4KKwogMjAxNC0wMS0xMSAg
U2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICAjaWZkZWYg
b3V0IHRoZSBjb250ZW50cyBvZiBUb3VjaCogZmlsZXMgZm9yIGlPUy4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAKaW5kZXggOWVlOWQwMDJmMmMwZjMxMGY2
MTk4MjE0MjMzZGE3ZTQxMDEyY2RiYS4uNDJhOTdlMzZlYWEwZDY3NjVmMGVhNzM5YWU4YzdiMDc4
ZWMyZTJiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
Rmxvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5j
cHAKQEAgLTEzMzYsMTUgKzEzMzYsMjEgQEAgc3RhdGljIGJvb2wgaW5Ob3JtYWxGbG93KFJlbmRl
ckJveCYgY2hpbGQpCiBMYXlvdXRVbml0IFJlbmRlckJsb2NrRmxvdzo6YXBwbHlCZWZvcmVCcmVh
ayhSZW5kZXJCb3gmIGNoaWxkLCBMYXlvdXRVbml0IGxvZ2ljYWxPZmZzZXQpCiB7CiAgICAgLy8g
RklYTUU6IEFkZCBwYWdlIGJyZWFrIGNoZWNraW5nIGhlcmUgd2hlbiB3ZSBzdXBwb3J0IHByaW50
aW5nLgotICAgIGJvb2wgY2hlY2tDb2x1bW5CcmVha3MgPSB2aWV3KCkubGF5b3V0U3RhdGUoKS0+
aXNQYWdpbmF0aW5nQ29sdW1ucygpOwotICAgIGJvb2wgY2hlY2tQYWdlQnJlYWtzID0gIWNoZWNr
Q29sdW1uQnJlYWtzICYmIHZpZXcoKS5sYXlvdXRTdGF0ZSgpLT5tX3BhZ2VMb2dpY2FsSGVpZ2h0
OyAvLyBGSVhNRTogT25jZSBjb2x1bW5zIGNhbiBwcmludCB3ZSBoYXZlIHRvIGNoZWNrIHRoaXMu
CiAgICAgUmVuZGVyRmxvd1RocmVhZCogZmxvd1RocmVhZCA9IGZsb3dUaHJlYWRDb250YWluaW5n
QmxvY2soKTsKKyAgICBib29sIGlzSW5zaWRlTXVsdGljb2xGbG93VGhyZWFkID0gZmxvd1RocmVh
ZCAmJiAhZmxvd1RocmVhZC0+aXNSZW5kZXJOYW1lZEZsb3dUaHJlYWQoKTsKKyAgICBib29sIGNo
ZWNrQ29sdW1uQnJlYWtzID0gaXNJbnNpZGVNdWx0aWNvbEZsb3dUaHJlYWQgfHwgdmlldygpLmxh
eW91dFN0YXRlKCktPmlzUGFnaW5hdGluZ0NvbHVtbnMoKTsKKyAgICBib29sIGNoZWNrUGFnZUJy
ZWFrcyA9ICFjaGVja0NvbHVtbkJyZWFrcyAmJiB2aWV3KCkubGF5b3V0U3RhdGUoKS0+bV9wYWdl
TG9naWNhbEhlaWdodDsgLy8gRklYTUU6IE9uY2UgY29sdW1ucyBjYW4gcHJpbnQgd2UgaGF2ZSB0
byBjaGVjayB0aGlzLgogICAgIGJvb2wgY2hlY2tSZWdpb25CcmVha3MgPSBmbG93VGhyZWFkICYm
IGZsb3dUaHJlYWQtPmlzUmVuZGVyTmFtZWRGbG93VGhyZWFkKCk7Ci0gICAgYm9vbCBjaGVja0Jl
Zm9yZUFsd2F5cyA9IChjaGVja0NvbHVtbkJyZWFrcyAmJiBjaGlsZC5zdHlsZSgpLmNvbHVtbkJy
ZWFrQmVmb3JlKCkgPT0gUEJBTFdBWVMpIHx8IChjaGVja1BhZ2VCcmVha3MgJiYgY2hpbGQuc3R5
bGUoKS5wYWdlQnJlYWtCZWZvcmUoKSA9PSBQQkFMV0FZUykKKyAgICBib29sIGNoZWNrQmVmb3Jl
QWx3YXlzID0gKGNoZWNrQ29sdW1uQnJlYWtzICYmIGNoaWxkLnN0eWxlKCkuY29sdW1uQnJlYWtC
ZWZvcmUoKSA9PSBQQkFMV0FZUykKKyAgICAgICAgfHwgKGNoZWNrUGFnZUJyZWFrcyAmJiBjaGls
ZC5zdHlsZSgpLnBhZ2VCcmVha0JlZm9yZSgpID09IFBCQUxXQVlTKQogICAgICAgICB8fCAoY2hl
Y2tSZWdpb25CcmVha3MgJiYgY2hpbGQuc3R5bGUoKS5yZWdpb25CcmVha0JlZm9yZSgpID09IFBC
QUxXQVlTKTsKICAgICBpZiAoY2hlY2tCZWZvcmVBbHdheXMgJiYgaW5Ob3JtYWxGbG93KGNoaWxk
KSAmJiBoYXNOZXh0UGFnZShsb2dpY2FsT2Zmc2V0LCBJbmNsdWRlUGFnZUJvdW5kYXJ5KSkgewot
ICAgICAgICBpZiAoY2hlY2tDb2x1bW5CcmVha3MpCi0gICAgICAgICAgICB2aWV3KCkubGF5b3V0
U3RhdGUoKS0+YWRkRm9yY2VkQ29sdW1uQnJlYWsoJmNoaWxkLCBsb2dpY2FsT2Zmc2V0KTsKKyAg
ICAgICAgaWYgKGNoZWNrQ29sdW1uQnJlYWtzKSB7CisgICAgICAgICAgICBpZiAoaXNJbnNpZGVN
dWx0aWNvbEZsb3dUaHJlYWQpCisgICAgICAgICAgICAgICAgY2hlY2tSZWdpb25CcmVha3MgPSB0
cnVlOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHZpZXcoKS5sYXlvdXRTdGF0
ZSgpLT5hZGRGb3JjZWRDb2x1bW5CcmVhaygmY2hpbGQsIGxvZ2ljYWxPZmZzZXQpOworICAgICAg
ICB9CiAgICAgICAgIGlmIChjaGVja1JlZ2lvbkJyZWFrcykgewogICAgICAgICAgICAgTGF5b3V0
VW5pdCBvZmZzZXRCcmVha0FkanVzdG1lbnQgPSAwOwogICAgICAgICAgICAgaWYgKGZsb3dUaHJl
YWQtPmFkZEZvcmNlZFJlZ2lvbkJyZWFrKHRoaXMsIG9mZnNldEZyb21Mb2dpY2FsVG9wT2ZGaXJz
dFBhZ2UoKSArIGxvZ2ljYWxPZmZzZXQsICZjaGlsZCwgdHJ1ZSwgJm9mZnNldEJyZWFrQWRqdXN0
bWVudCkpCkBAIC0xMzU4LDExICsxMzY0LDEzIEBAIExheW91dFVuaXQgUmVuZGVyQmxvY2tGbG93
OjphcHBseUJlZm9yZUJyZWFrKFJlbmRlckJveCYgY2hpbGQsIExheW91dFVuaXQgbG9naWNhCiBM
YXlvdXRVbml0IFJlbmRlckJsb2NrRmxvdzo6YXBwbHlBZnRlckJyZWFrKFJlbmRlckJveCYgY2hp
bGQsIExheW91dFVuaXQgbG9naWNhbE9mZnNldCwgTWFyZ2luSW5mbyYgbWFyZ2luSW5mbykKIHsK
ICAgICAvLyBGSVhNRTogQWRkIHBhZ2UgYnJlYWsgY2hlY2tpbmcgaGVyZSB3aGVuIHdlIHN1cHBv
cnQgcHJpbnRpbmcuCi0gICAgYm9vbCBjaGVja0NvbHVtbkJyZWFrcyA9IHZpZXcoKS5sYXlvdXRT
dGF0ZSgpLT5pc1BhZ2luYXRpbmdDb2x1bW5zKCk7Ci0gICAgYm9vbCBjaGVja1BhZ2VCcmVha3Mg
PSAhY2hlY2tDb2x1bW5CcmVha3MgJiYgdmlldygpLmxheW91dFN0YXRlKCktPm1fcGFnZUxvZ2lj
YWxIZWlnaHQ7IC8vIEZJWE1FOiBPbmNlIGNvbHVtbnMgY2FuIHByaW50IHdlIGhhdmUgdG8gY2hl
Y2sgdGhpcy4KICAgICBSZW5kZXJGbG93VGhyZWFkKiBmbG93VGhyZWFkID0gZmxvd1RocmVhZENv
bnRhaW5pbmdCbG9jaygpOworICAgIGJvb2wgaXNJbnNpZGVNdWx0aWNvbEZsb3dUaHJlYWQgPSBm
bG93VGhyZWFkICYmICFmbG93VGhyZWFkLT5pc1JlbmRlck5hbWVkRmxvd1RocmVhZCgpOworICAg
IGJvb2wgY2hlY2tDb2x1bW5CcmVha3MgPSBpc0luc2lkZU11bHRpY29sRmxvd1RocmVhZCB8fCB2
aWV3KCkubGF5b3V0U3RhdGUoKS0+aXNQYWdpbmF0aW5nQ29sdW1ucygpOworICAgIGJvb2wgY2hl
Y2tQYWdlQnJlYWtzID0gIWNoZWNrQ29sdW1uQnJlYWtzICYmIHZpZXcoKS5sYXlvdXRTdGF0ZSgp
LT5tX3BhZ2VMb2dpY2FsSGVpZ2h0OyAvLyBGSVhNRTogT25jZSBjb2x1bW5zIGNhbiBwcmludCB3
ZSBoYXZlIHRvIGNoZWNrIHRoaXMuCiAgICAgYm9vbCBjaGVja1JlZ2lvbkJyZWFrcyA9IGZsb3dU
aHJlYWQgJiYgZmxvd1RocmVhZC0+aXNSZW5kZXJOYW1lZEZsb3dUaHJlYWQoKTsKLSAgICBib29s
IGNoZWNrQWZ0ZXJBbHdheXMgPSAoY2hlY2tDb2x1bW5CcmVha3MgJiYgY2hpbGQuc3R5bGUoKS5j
b2x1bW5CcmVha0FmdGVyKCkgPT0gUEJBTFdBWVMpIHx8IChjaGVja1BhZ2VCcmVha3MgJiYgY2hp
bGQuc3R5bGUoKS5wYWdlQnJlYWtBZnRlcigpID09IFBCQUxXQVlTKQorICAgIGJvb2wgY2hlY2tB
ZnRlckFsd2F5cyA9IChjaGVja0NvbHVtbkJyZWFrcyAmJiBjaGlsZC5zdHlsZSgpLmNvbHVtbkJy
ZWFrQWZ0ZXIoKSA9PSBQQkFMV0FZUykKKyAgICAgICAgfHwgKGNoZWNrUGFnZUJyZWFrcyAmJiBj
aGlsZC5zdHlsZSgpLnBhZ2VCcmVha0FmdGVyKCkgPT0gUEJBTFdBWVMpCiAgICAgICAgIHx8IChj
aGVja1JlZ2lvbkJyZWFrcyAmJiBjaGlsZC5zdHlsZSgpLnJlZ2lvbkJyZWFrQWZ0ZXIoKSA9PSBQ
QkFMV0FZUyk7CiAgICAgaWYgKGNoZWNrQWZ0ZXJBbHdheXMgJiYgaW5Ob3JtYWxGbG93KGNoaWxk
KSAmJiBoYXNOZXh0UGFnZShsb2dpY2FsT2Zmc2V0LCBJbmNsdWRlUGFnZUJvdW5kYXJ5KSkgewog
ICAgICAgICBMYXlvdXRVbml0IG1hcmdpbk9mZnNldCA9IG1hcmdpbkluZm8uY2FuQ29sbGFwc2VX
aXRoTWFyZ2luQmVmb3JlKCkgPyBMYXlvdXRVbml0KCkgOiBtYXJnaW5JbmZvLm1hcmdpbigpOwpA
QCAtMTM3MCw4ICsxMzc4LDEyIEBAIExheW91dFVuaXQgUmVuZGVyQmxvY2tGbG93OjphcHBseUFm
dGVyQnJlYWsoUmVuZGVyQm94JiBjaGlsZCwgTGF5b3V0VW5pdCBsb2dpY2FsCiAgICAgICAgIC8v
IFNvIG91ciBtYXJnaW4gZG9lc24ndCBwYXJ0aWNpcGF0ZSBpbiB0aGUgbmV4dCBjb2xsYXBzaW5n
IHN0ZXBzLgogICAgICAgICBtYXJnaW5JbmZvLmNsZWFyTWFyZ2luKCk7CiAKLSAgICAgICAgaWYg
KGNoZWNrQ29sdW1uQnJlYWtzKQotICAgICAgICAgICAgdmlldygpLmxheW91dFN0YXRlKCktPmFk
ZEZvcmNlZENvbHVtbkJyZWFrKCZjaGlsZCwgbG9naWNhbE9mZnNldCk7CisgICAgICAgIGlmIChj
aGVja0NvbHVtbkJyZWFrcykgeworICAgICAgICAgICAgaWYgKGlzSW5zaWRlTXVsdGljb2xGbG93
VGhyZWFkKQorICAgICAgICAgICAgICAgIGNoZWNrUmVnaW9uQnJlYWtzID0gdHJ1ZTsKKyAgICAg
ICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICB2aWV3KCkubGF5b3V0U3RhdGUoKS0+YWRkRm9y
Y2VkQ29sdW1uQnJlYWsoJmNoaWxkLCBsb2dpY2FsT2Zmc2V0KTsKKyAgICAgICAgfQogICAgICAg
ICBpZiAoY2hlY2tSZWdpb25CcmVha3MpIHsKICAgICAgICAgICAgIExheW91dFVuaXQgb2Zmc2V0
QnJlYWtBZGp1c3RtZW50ID0gMDsKICAgICAgICAgICAgIGlmIChmbG93VGhyZWFkLT5hZGRGb3Jj
ZWRSZWdpb25CcmVhayh0aGlzLCBvZmZzZXRGcm9tTG9naWNhbFRvcE9mRmlyc3RQYWdlKCkgKyBs
b2dpY2FsT2Zmc2V0ICsgbWFyZ2luT2Zmc2V0LCAmY2hpbGQsIGZhbHNlLCAmb2Zmc2V0QnJlYWtB
ZGp1c3RtZW50KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJG
bG93VGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5o
CmluZGV4IDEwOWY3YTk1OGEyZDQ5NDI5MWU4MmZlYzE3YmFjMTBkMDVhMDZjYjAuLmUxMzk1Mjhk
MDY5ZTAzNDlhOGU3MjA0YjM2NzJjOGY3N2FhY2ZlNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuaApAQCAtMTQ1LDcgKzE0NSw3IEBAIHB1YmxpYzoKICAg
ICB2b2lkIG1hcmtBdXRvTG9naWNhbEhlaWdodFJlZ2lvbnNGb3JMYXlvdXQoKTsKICAgICB2b2lk
IG1hcmtSZWdpb25zRm9yT3ZlcmZsb3dMYXlvdXRJZk5lZWRlZCgpOwogCi0gICAgYm9vbCBhZGRG
b3JjZWRSZWdpb25CcmVhayhjb25zdCBSZW5kZXJCbG9jayosIExheW91dFVuaXQsIFJlbmRlckJv
eCogYnJlYWtDaGlsZCwgYm9vbCBpc0JlZm9yZSwgTGF5b3V0VW5pdCogb2Zmc2V0QnJlYWtBZGp1
c3RtZW50ID0gMCk7CisgICAgdmlydHVhbCBib29sIGFkZEZvcmNlZFJlZ2lvbkJyZWFrKGNvbnN0
IFJlbmRlckJsb2NrKiwgTGF5b3V0VW5pdCwgUmVuZGVyQm94KiBicmVha0NoaWxkLCBib29sIGlz
QmVmb3JlLCBMYXlvdXRVbml0KiBvZmZzZXRCcmVha0FkanVzdG1lbnQgPSAwKTsKICAgICB2b2lk
IGFwcGx5QnJlYWtBZnRlckNvbnRlbnQoTGF5b3V0VW5pdCk7CiAKICAgICBib29sIHBhZ2VMb2dp
Y2FsU2l6ZUNoYW5nZWQoKSBjb25zdCB7IHJldHVybiBtX3BhZ2VMb2dpY2FsU2l6ZUNoYW5nZWQ7
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVt
bkJsb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkJs
b2NrLmNwcAppbmRleCA4ZTUxMDljNmRmN2I5NmU0MGM2YWJmYjRlMjVhYjNiZTFiODc4ZGYwLi42
OGYxNmE3NmNlYThkMDlmNDQ1M2E1NjRlYzRiZThmMDE5NTEwMzY5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5CbG9jay5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uQmxvY2suY3BwCkBAIC00MCw2
ICs0MCw3IEBAIFJlbmRlck11bHRpQ29sdW1uQmxvY2s6OlJlbmRlck11bHRpQ29sdW1uQmxvY2so
RWxlbWVudCYgZWxlbWVudCwgUGFzc1JlZjxSZW5kZXJTCiAgICAgLCBtX2NvbHVtbldpZHRoKDAp
CiAgICAgLCBtX2NvbHVtbkhlaWdodEF2YWlsYWJsZSgwKQogICAgICwgbV9pbkJhbGFuY2luZ1Bh
c3MoZmFsc2UpCisgICAgLCBtX25lZWRzUmViYWxhbmNpbmcoZmFsc2UpCiB7CiB9CiAKQEAgLTk2
LDggKzk3LDkgQEAgdm9pZCBSZW5kZXJNdWx0aUNvbHVtbkJsb2NrOjpjaGVja0ZvclBhZ2luYXRp
b25Mb2dpY2FsSGVpZ2h0Q2hhbmdlKExheW91dFVuaXQmIC8KIAogYm9vbCBSZW5kZXJNdWx0aUNv
bHVtbkJsb2NrOjpyZWxheW91dEZvclBhZ2luYXRpb24oYm9vbCwgTGF5b3V0VW5pdCwgTGF5b3V0
U3RhdGVNYWludGFpbmVyJiBzdGF0ZVB1c2hlcikKIHsKLSAgICBpZiAobV9pbkJhbGFuY2luZ1Bh
c3MgfHwgIXJlcXVpcmVzQmFsYW5jaW5nKCkpCisgICAgaWYgKG1faW5CYWxhbmNpbmdQYXNzIHx8
ICFtX25lZWRzUmViYWxhbmNpbmcpCiAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBtX25lZWRz
UmViYWxhbmNpbmcgPSBmYWxzZTsKICAgICBtX2luQmFsYW5jaW5nUGFzcyA9IHRydWU7IC8vIFBy
ZXZlbnQgcmUtZW50ZXJpbmcgdGhpcyBtZXRob2QgKGFuZCByZWN1cnNpb24gaW50byBsYXlvdXQp
LgogCiAgICAgYm9vbCBuZWVkc1JlbGF5b3V0OwpAQCAtMTEzLDcgKzExNSw3IEBAIGJvb2wgUmVu
ZGVyTXVsdGlDb2x1bW5CbG9jazo6cmVsYXlvdXRGb3JQYWdpbmF0aW9uKGJvb2wsIExheW91dFVu
aXQsIExheW91dFN0YXRlCiAgICAgICAgIGZvciAoUmVuZGVyQm94KiBjaGlsZEJveCA9IGZpcnN0
Q2hpbGRCb3goKTsgY2hpbGRCb3g7IGNoaWxkQm94ID0gY2hpbGRCb3gtPm5leHRTaWJsaW5nQm94
KCkpCiAgICAgICAgICAgICBpZiAoY2hpbGRCb3ggIT0gbV9mbG93VGhyZWFkICYmIGNoaWxkQm94
LT5pc1JlbmRlck11bHRpQ29sdW1uU2V0KCkpIHsKICAgICAgICAgICAgICAgICBSZW5kZXJNdWx0
aUNvbHVtblNldCogbXVsdGljb2xTZXQgPSB0b1JlbmRlck11bHRpQ29sdW1uU2V0KGNoaWxkQm94
KTsKLSAgICAgICAgICAgICAgICBpZiAobXVsdGljb2xTZXQtPmNhbGN1bGF0ZUJhbGFuY2VkSGVp
Z2h0KGZpcnN0UGFzcykpIHsKKyAgICAgICAgICAgICAgICBpZiAobXVsdGljb2xTZXQtPnJlY2Fs
Y3VsYXRlQmFsYW5jZWRIZWlnaHQoZmlyc3RQYXNzKSkgewogICAgICAgICAgICAgICAgICAgICBt
dWx0aWNvbFNldC0+c2V0Q2hpbGROZWVkc0xheW91dChNYXJrT25seVRoaXMpOwogICAgICAgICAg
ICAgICAgICAgICBuZWVkc1JlbGF5b3V0ID0gdHJ1ZTsKICAgICAgICAgICAgICAgICB9CkBAIC0x
NzAsNiArMTcyLDE4IEBAIFJlbmRlck9iamVjdCogUmVuZGVyTXVsdGlDb2x1bW5CbG9jazo6bGF5
b3V0U3BlY2lhbEV4Y2x1ZGVkQ2hpbGQoYm9vbCByZWxheW91dENoCiAgICAgaWYgKHJlbGF5b3V0
Q2hpbGRyZW4pCiAgICAgICAgIG1fZmxvd1RocmVhZC0+c2V0Q2hpbGROZWVkc0xheW91dChNYXJr
T25seVRoaXMpOwogICAgIAorICAgIGlmIChyZXF1aXJlc0JhbGFuY2luZygpKSB7CisgICAgICAg
IC8vIEF0IHRoZSBlbmQgb2YgbXVsdGljb2wgbGF5b3V0LCByZWxheW91dEZvclBhZ2luYXRpb24o
KSBpcyBjYWxsZWQgdW5jb25kaXRpb25hbGx5LCBidXQgaWYKKyAgICAgICAgLy8gbm8gY2hpbGRy
ZW4gYXJlIHRvIGJlIGxhaWQgb3V0IChlLmcuIGZpeGVkIHdpZHRoIHdpdGggbGF5b3V0IGFscmVh
ZHkgYmVpbmcgdXAtdG8tZGF0ZSksCisgICAgICAgIC8vIHdlIHdhbnQgdG8gcHJldmVudCBpdCBm
cm9tIGRvaW5nIGFueSB3b3JrLCBzbyB0aGF0IHRoZSBjb2x1bW4gYmFsYW5jaW5nIG1hY2hpbmVy
eSBkb2Vzbid0CisgICAgICAgIC8vIGtpY2sgaW4gYW5kIHRyaWdnZXIgYWRkaXRpb25hbCB1bm5l
Y2Vzc2FyeSBsYXlvdXQgcGFzc2VzLiBBY3R1YWxseSwgaXQncyBub3QganVzdCBhIGdvb2QKKyAg
ICAgICAgLy8gaWRlYSBpbiBnZW5lcmFsIHRvIG5vdCB3YXN0ZSB0aW1lIG9uIGJhbGFuY2luZyBj
b250ZW50IHRoYXQgaGFzbid0IGJlZW4gcmUtbGFpZCBvdXQ7IHdlCisgICAgICAgIC8vIGFyZSBh
Y3R1YWxseSByZXF1aXJlZCB0byBndWFyYW50ZWUgdGhpcy4gVGhlIGNhbGN1bGF0aW9uIG9mIGlt
cGxpY2l0IGJyZWFrcyBuZWVkcyB0byBiZQorICAgICAgICAvLyBwcmVjZWRlZCBieSBhIHByb3Bl
ciBsYXlvdXQgcGFzcywgc2luY2UgaXQncyBsYXlvdXQgdGhhdCBzZXRzIHVwIGNvbnRlbnQgcnVu
cywgYW5kIHRoZQorICAgICAgICAvLyBydW5zIGdldCBkZWxldGVkIHJpZ2h0IGFmdGVyIGV2ZXJ5
IHBhc3MuCisgICAgICAgIG1fbmVlZHNSZWJhbGFuY2luZyA9IHNob3VsZEludmFsaWRhdGVSZWdp
b25zIHx8IG1fZmxvd1RocmVhZC0+bmVlZHNMYXlvdXQoKTsKKyAgICB9CisKICAgICBzZXRMb2dp
Y2FsVG9wRm9yQ2hpbGQoKm1fZmxvd1RocmVhZCwgYm9yZGVyQW5kUGFkZGluZ0JlZm9yZSgpKTsK
ICAgICBtX2Zsb3dUaHJlYWQtPmxheW91dElmTmVlZGVkKCk7CiAgICAgZGV0ZXJtaW5lTG9naWNh
bExlZnRQb3NpdGlvbkZvckNoaWxkKCptX2Zsb3dUaHJlYWQpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uQmxvY2suaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkJsb2NrLmgKaW5kZXggYWU0NzQzODhkMmIz
NWY1NjIxMDNjZjQzOTQxMjMwMmNhZjhjYzQ1Yi4uOThhNmVjYTY5NDU4NDQ0MDU5OTFjZDYzNWZi
YTQzNzNiYzIwZmNmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck11bHRpQ29sdW1uQmxvY2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TXVsdGlDb2x1bW5CbG9jay5oCkBAIC03MSw2ICs3MSw3IEBAIHByaXZhdGU6CiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyBUaGVzZSB2YWx1ZXMgd2lsbCBiZSBjYWNoZWQgKGV2ZW50
dWFsbHkpIGZvciBtdWx0aS1jb2x1bW4gYmxvY2tzLgogICAgIExheW91dFVuaXQgbV9jb2x1bW5I
ZWlnaHRBdmFpbGFibGU7IC8vIFRvdGFsIGhlaWdodCBhdmFpbGFibGUgdG8gY29sdW1ucywgb3Ig
MCBpZiBhdXRvLgogICAgIGJvb2wgbV9pbkJhbGFuY2luZ1Bhc3M7IC8vIFNldCB3aGVuIHJlbGF5
b3V0aW5nIGZvciBjb2x1bW4gYmFsYW5jaW5nLgorICAgIGJvb2wgbV9uZWVkc1JlYmFsYW5jaW5n
OwogfTsKIAogUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlck11bHRpQ29sdW1uQmxvY2ss
IGlzUmVuZGVyTXVsdGlDb2x1bW5CbG9jaygpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvd1RocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93VGhyZWFkLmNwcAppbmRleCBkMzdlYTNm
MjAyOTBiYTA4NWUyM2UxOWUxNmE2ODkzMWY2MzE4NDY3Li5lNWI4OGY5YWVlMWUwODBmMjBmMjc4
NzVkYjY3Yjc0ODUyNTVjNGY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTXVsdGlDb2x1bW5GbG93VGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93VGhyZWFkLmNwcApAQCAtMTEwLDQgKzExMCwxNSBA
QCB2b2lkIFJlbmRlck11bHRpQ29sdW1uRmxvd1RocmVhZDo6dXBkYXRlTWluaW11bVBhZ2VIZWln
aHQoY29uc3QgUmVuZGVyQmxvY2sqIGJsbwogICAgICAgICBtdWx0aWNvbFNldC0+dXBkYXRlTWlu
aW11bUNvbHVtbkhlaWdodChtaW5IZWlnaHQpOwogfQogCitib29sIFJlbmRlck11bHRpQ29sdW1u
Rmxvd1RocmVhZDo6YWRkRm9yY2VkUmVnaW9uQnJlYWsoY29uc3QgUmVuZGVyQmxvY2sqIGJsb2Nr
LCBMYXlvdXRVbml0IG9mZnNldCwgUmVuZGVyQm94KiBicmVha0NoaWxkLCBib29sIGlzQmVmb3Jl
LCBMYXlvdXRVbml0KiBvZmZzZXRCcmVha0FkanVzdG1lbnQpCit7CisgICAgaWYgKFJlbmRlck11
bHRpQ29sdW1uU2V0KiBtdWx0aWNvbFNldCA9IHRvUmVuZGVyTXVsdGlDb2x1bW5TZXQocmVnaW9u
QXRCbG9ja09mZnNldChibG9jaywgb2Zmc2V0KSkpIHsKKyAgICAgICAgbXVsdGljb2xTZXQtPmFk
ZEZvcmNlZEJyZWFrKG9mZnNldCk7CisgICAgICAgIGlmIChvZmZzZXRCcmVha0FkanVzdG1lbnQp
CisgICAgICAgICAgICAqb2Zmc2V0QnJlYWtBZGp1c3RtZW50ID0gcGFnZUxvZ2ljYWxIZWlnaHRG
b3JPZmZzZXQob2Zmc2V0KSA/IHBhZ2VSZW1haW5pbmdMb2dpY2FsSGVpZ2h0Rm9yT2Zmc2V0KG9m
ZnNldCwgSW5jbHVkZVBhZ2VCb3VuZGFyeSkgOiBMYXlvdXRVbml0KDApOworICAgICAgICByZXR1
cm4gdHJ1ZTsKKyAgICB9CisgICAgcmV0dXJuIGZhbHNlOworfQorCiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93VGhyZWFkLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93VGhyZWFkLmgKaW5k
ZXggZjM2ODEyYzUzMTEyY2FjNDQ2NGIzNDU5ZWY1OGQzZDE5NzY4YTY3OS4uZjNlMDFmNDU5MGZj
ZjQzMmVmZGE1MDk2NDQyMThjZDYzMGZhM2VjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvd1RocmVhZC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3dUaHJlYWQuaApAQCAtNDMsNiArNDMs
NyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgTGF5b3V0VW5pdCBpbml0aWFsTG9naWNhbFdpZHRo
KCkgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHNldFBhZ2VCcmVhayhjb25zdCBS
ZW5kZXJCbG9jayosIExheW91dFVuaXQgb2Zmc2V0LCBMYXlvdXRVbml0IHNwYWNlU2hvcnRhZ2Up
IE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVNaW5pbXVtUGFnZUhlaWdodChjb25z
dCBSZW5kZXJCbG9jayosIExheW91dFVuaXQgb2Zmc2V0LCBMYXlvdXRVbml0IG1pbkhlaWdodCkg
T1ZFUlJJREU7CisgICAgdmlydHVhbCBib29sIGFkZEZvcmNlZFJlZ2lvbkJyZWFrKGNvbnN0IFJl
bmRlckJsb2NrKiwgTGF5b3V0VW5pdCwgUmVuZGVyQm94KiBicmVha0NoaWxkLCBib29sIGlzQmVm
b3JlLCBMYXlvdXRVbml0KiBvZmZzZXRCcmVha0FkanVzdG1lbnQgPSAwKSBPVkVSUklERTsKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQuY3BwCmluZGV4IDQyODZkYTkwMTRmM2M5ZjZkZTQ2M2Vh
NjA0M2ZiZmZlY2JkMWZiOWYuLjhiOWI1NjkxYWNmOTQzYjI5ZDk2M2E5ODcwOGJjNjMxZDAyYTUy
MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVt
blNldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1u
U2V0LmNwcApAQCAtNDEsOSArNDEsNiBAQCBSZW5kZXJNdWx0aUNvbHVtblNldDo6UmVuZGVyTXVs
dGlDb2x1bW5TZXQoUmVuZGVyRmxvd1RocmVhZCYgZmxvd1RocmVhZCwgUGFzc1JlZgogICAgICwg
bV9tYXhDb2x1bW5IZWlnaHQoTGF5b3V0VW5pdDo6bWF4KCkpCiAgICAgLCBtX21pblNwYWNlU2hv
cnRhZ2UoTGF5b3V0VW5pdDo6bWF4KCkpCiAgICAgLCBtX21pbmltdW1Db2x1bW5IZWlnaHQoMCkK
LSAgICAsIG1fZm9yY2VkQnJlYWtzQ291bnQoMCkKLSAgICAsIG1fbWF4aW11bURpc3RhbmNlQmV0
d2VlbkZvcmNlZEJyZWFrcygwKQotICAgICwgbV9mb3JjZWRCcmVha09mZnNldCgwKQogewogfQog
CkBAIC03MSw0NSArNjgsMTIyIEBAIHZvaWQgUmVuZGVyTXVsdGlDb2x1bW5TZXQ6OnNldEFuZENv
bnN0cmFpbkNvbHVtbkhlaWdodChMYXlvdXRVbml0IG5ld0hlaWdodCkKICAgICAvLyBGSVhNRTog
dGhlIGhlaWdodCBtYXkgYWxzbyBiZSBhZmZlY3RlZCBieSB0aGUgZW5jbG9zaW5nIHBhZ2luYXRp
b24gY29udGV4dCwgaWYgYW55LgogfQogCi1ib29sIFJlbmRlck11bHRpQ29sdW1uU2V0OjpjYWxj
dWxhdGVCYWxhbmNlZEhlaWdodChib29sIGluaXRpYWwpCit1bnNpZ25lZCBSZW5kZXJNdWx0aUNv
bHVtblNldDo6ZmluZFJ1bldpdGhUYWxsZXN0Q29sdW1ucygpIGNvbnN0CiB7Ci0gICAgQVNTRVJU
KHRvUmVuZGVyTXVsdGlDb2x1bW5CbG9jayhwYXJlbnQoKSktPnJlcXVpcmVzQmFsYW5jaW5nKCkp
OwotICAgIExheW91dFVuaXQgb2xkQ29sdW1uSGVpZ2h0ID0gbV9jb21wdXRlZENvbHVtbkhlaWdo
dDsKLSAgICBMYXlvdXRVbml0IGN1cnJlbnRNaW5TcGFjZVNob3J0YWdlID0gbV9taW5TcGFjZVNo
b3J0YWdlOwotICAgIG1fbWluU3BhY2VTaG9ydGFnZSA9IExheW91dFVuaXQ6Om1heCgpOworICAg
IHVuc2lnbmVkIGluZGV4V2l0aExhcmdlc3RIZWlnaHQgPSAwOworICAgIExheW91dFVuaXQgbGFy
Z2VzdEhlaWdodDsKKyAgICBMYXlvdXRVbml0IHByZXZpb3VzT2Zmc2V0OworICAgIHNpemVfdCBy
dW5Db3VudCA9IG1fY29udGVudFJ1bnMuc2l6ZSgpOworICAgIEFTU0VSVChydW5Db3VudCk7Cisg
ICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBydW5Db3VudDsgaSsrKSB7CisgICAgICAgIGNvbnN0
IENvbnRlbnRSdW4mIHJ1biA9IG1fY29udGVudFJ1bnNbaV07CisgICAgICAgIExheW91dFVuaXQg
aGVpZ2h0ID0gcnVuLmNvbHVtbkxvZ2ljYWxIZWlnaHQocHJldmlvdXNPZmZzZXQpOworICAgICAg
ICBpZiAobGFyZ2VzdEhlaWdodCA8IGhlaWdodCkgeworICAgICAgICAgICAgbGFyZ2VzdEhlaWdo
dCA9IGhlaWdodDsKKyAgICAgICAgICAgIGluZGV4V2l0aExhcmdlc3RIZWlnaHQgPSBpOworICAg
ICAgICB9CisgICAgICAgIHByZXZpb3VzT2Zmc2V0ID0gcnVuLmJyZWFrT2Zmc2V0KCk7CisgICAg
fQorICAgIHJldHVybiBpbmRleFdpdGhMYXJnZXN0SGVpZ2h0OworfQorCit2b2lkIFJlbmRlck11
bHRpQ29sdW1uU2V0OjpkaXN0cmlidXRlSW1wbGljaXRCcmVha3MoKQoreworICAgIHVuc2lnbmVk
IGJyZWFrQ291bnQgPSBmb3JjZWRCcmVha3NDb3VudCgpOworCisjaWZuZGVmIE5ERUJVRworICAg
IC8vIFRoZXJlIHNob3VsZCBiZSBubyBpbXBsaWNpdCBicmVha3MgYXNzdW1lZCBhdCB0aGlzIHBv
aW50LgorICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBicmVha0NvdW50OyBpKyspCisgICAg
ICAgIEFTU0VSVCghbV9jb250ZW50UnVuc1tpXS5hc3N1bWVkSW1wbGljaXRCcmVha3MoKSk7Cisj
ZW5kaWYgLy8gTkRFQlVHCisKKyAgICAvLyBUaGVyZSB3aWxsIGFsd2F5cyBiZSBhdCBsZWFzdCBv
bmUgYnJlYWssIHNpbmNlIHRoZSBmbG93IHRocmVhZCByZXBvcnRzIGEgImZvcmNlZCBicmVhayIg
YXQKKyAgICAvLyBlbmQgb2YgY29udGVudC4KKyAgICBBU1NFUlQoYnJlYWtDb3VudCA+PSAxKTsK
KworICAgIC8vIElmIHRoZXJlIGlzIHJvb20gZm9yIG1vcmUgYnJlYWtzICh0byByZWFjaCB0aGUg
dXNlZCB2YWx1ZSBvZiBjb2x1bW4tY291bnQpLCBpbWFnaW5lIHRoYXQgd2UKKyAgICAvLyBpbnNl
cnQgaW1wbGljaXQgYnJlYWtzIGF0IHN1aXRhYmxlIGxvY2F0aW9ucy4gQXQgYW55IGdpdmVuIHRp
bWUsIHRoZSBjb250ZW50IHJ1biB3aXRoIHRoZQorICAgIC8vIGN1cnJlbnRseSB0YWxsZXN0IGNv
bHVtbnMgd2lsbCBnZXQgYW5vdGhlciBpbXBsaWNpdCBicmVhayAiaW5zZXJ0ZWQiLCB3aGljaCB3
aWxsIGluY3JlYXNlIGl0cworICAgIC8vIGNvbHVtbiBjb3VudCBieSBvbmUgYW5kIHNocmluayBp
dHMgY29sdW1ucycgaGVpZ2h0LiBSZXBlYXQgdW50aWwgd2UgaGF2ZSB0aGUgZGVzaXJlZCB0b3Rh
bAorICAgIC8vIG51bWJlciBvZiBicmVha3MuIFRoZSBsYXJnZXN0IGNvbHVtbiBoZWlnaHQgYW1v
bmcgdGhlIHJ1bnMgd2lsbCB0aGVuIGJlIHRoZSBpbml0aWFsIGNvbHVtbgorICAgIC8vIGhlaWdo
dCBmb3IgdGhlIGJhbGFuY2VyIHRvIHVzZS4KKyAgICB3aGlsZSAoYnJlYWtDb3VudCA8IG1fY29t
cHV0ZWRDb2x1bW5Db3VudCkgeworICAgICAgICB1bnNpZ25lZCBpbmRleCA9IGZpbmRSdW5XaXRo
VGFsbGVzdENvbHVtbnMoKTsKKyAgICAgICAgbV9jb250ZW50UnVuc1tpbmRleF0uYXNzdW1lQW5v
dGhlckltcGxpY2l0QnJlYWsoKTsKKyAgICAgICAgYnJlYWtDb3VudCsrOworICAgIH0KK30KIAor
TGF5b3V0VW5pdCBSZW5kZXJNdWx0aUNvbHVtblNldDo6Y2FsY3VsYXRlQmFsYW5jZWRIZWlnaHQo
Ym9vbCBpbml0aWFsKSBjb25zdAorewogICAgIGlmIChpbml0aWFsKSB7CiAgICAgICAgIC8vIFN0
YXJ0IHdpdGggdGhlIGxvd2VzdCBpbWFnaW5hYmxlIGNvbHVtbiBoZWlnaHQuCi0gICAgICAgIExh
eW91dFVuaXQgbG9naWNhbEhlaWdodEd1ZXNzID0gY2VpbGYoZmxvYXQoZmxvd1RocmVhZCgpLT5s
b2dpY2FsSGVpZ2h0KCkpIC8gZmxvYXQobV9jb21wdXRlZENvbHVtbkNvdW50KSk7Ci0gICAgICAg
IGxvZ2ljYWxIZWlnaHRHdWVzcyA9IHN0ZDo6bWF4KGxvZ2ljYWxIZWlnaHRHdWVzcywgbV9taW5p
bXVtQ29sdW1uSGVpZ2h0KTsKLSAgICAgICAgc2V0QW5kQ29uc3RyYWluQ29sdW1uSGVpZ2h0KGxv
Z2ljYWxIZWlnaHRHdWVzcyk7Ci0KLSAgICAgICAgLy8gVGhlIG11bHRpY29sIGNvbnRhaW5lciBu
b3cgdHlwaWNhbGx5IG5lZWRzIGF0IGxlYXN0IG9uZSBtb3JlIGxheW91dCBwYXNzIHdpdGggYSBu
ZXcKLSAgICAgICAgLy8gY29sdW1uIGhlaWdodCwgYnV0IGlmIGhlaWdodCB3YXMgc3BlY2lmaWVk
LCB3ZSBvbmx5IG5lZWQgdG8gZG8gdGhpcyBpZiB3ZSBmb3VuZCB0aGF0IHdlCi0gICAgICAgIC8v
IG1pZ2h0IG5lZWQgbGVzcyBzcGFjZSB0aGFuIHRoYXQuIE9uIHRoZSBvdGhlciBoYW5kLCBpZiB3
ZSBkZXRlcm1pbmVkIHRoYXQgdGhlIGNvbHVtbnMKLSAgICAgICAgLy8gbmVlZCB0byBiZSBhcyB0
YWxsIGFzIHRoZSBzcGVjaWZpZWQgaGVpZ2h0IG9mIHRoZSBjb250YWluZXIsIHdlIGhhdmUgYWxy
ZWFkeSBsYWlkIGl0IG91dAotICAgICAgICAvLyBjb3JyZWN0bHksIGFuZCB0aGVyZSdzIG5vIG5l
ZWQgZm9yIGFub3RoZXIgcGFzcy4KLSAgICAgICAgcmV0dXJuIG1fY29tcHV0ZWRDb2x1bW5IZWln
aHQgIT0gb2xkQ29sdW1uSGVpZ2h0OworICAgICAgICB1bnNpZ25lZCBpbmRleCA9IGZpbmRSdW5X
aXRoVGFsbGVzdENvbHVtbnMoKTsKKyAgICAgICAgTGF5b3V0VW5pdCBzdGFydE9mZnNldCA9IGlu
ZGV4ID4gMCA/IG1fY29udGVudFJ1bnNbaW5kZXggLSAxXS5icmVha09mZnNldCgpIDogTGF5b3V0
VW5pdCgwKTsKKyAgICAgICAgcmV0dXJuIHN0ZDo6bWF4PExheW91dFVuaXQ+KG1fY29udGVudFJ1
bnNbaW5kZXhdLmNvbHVtbkxvZ2ljYWxIZWlnaHQoc3RhcnRPZmZzZXQpLCBtX21pbmltdW1Db2x1
bW5IZWlnaHQpOwogICAgIH0KIAotICAgIGlmIChjb2x1bW5Db3VudCgpIDw9IGNvbXB1dGVkQ29s
dW1uQ291bnQoKSkKKyAgICBpZiAoY29sdW1uQ291bnQoKSA8PSBjb21wdXRlZENvbHVtbkNvdW50
KCkpIHsKICAgICAgICAgLy8gV2l0aCB0aGUgY3VycmVudCBjb2x1bW4gaGVpZ2h0LCB0aGUgY29u
dGVudCBmaXRzIHdpdGhvdXQgY3JlYXRpbmcgb3ZlcmZsb3dpbmcgY29sdW1ucy4gV2UncmUgZG9u
ZS4KLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICByZXR1cm4gbV9jb21wdXRlZENvbHVt
bkhlaWdodDsKKyAgICB9CisKKyAgICBpZiAoZm9yY2VkQnJlYWtzQ291bnQoKSA+IDEgJiYgZm9y
Y2VkQnJlYWtzQ291bnQoKSA+PSBjb21wdXRlZENvbHVtbkNvdW50KCkpIHsKKyAgICAgICAgLy8g
VG9vIG1hbnkgZm9yY2VkIGJyZWFrcyB0byBhbGxvdyBhbnkgaW1wbGljaXQgYnJlYWtzLiBJbml0
aWFsIGJhbGFuY2luZyBzaG91bGQgYWxyZWFkeQorICAgICAgICAvLyBoYXZlIHNldCBhIGdvb2Qg
aGVpZ2h0LiBUaGVyZSdzIG5vdGhpbmcgbW9yZSB3ZSBzaG91bGQgZG8uCisgICAgICAgIHJldHVy
biBtX2NvbXB1dGVkQ29sdW1uSGVpZ2h0OworICAgIH0KIAogICAgIC8vIElmIHRoZSBpbml0aWFs
IGd1ZXNzZWQgY29sdW1uIGhlaWdodCB3YXNuJ3QgZW5vdWdoLCBzdHJldGNoIGl0IG5vdy4gU3Ry
ZXRjaCBieSB0aGUgbG93ZXN0CiAgICAgLy8gYW1vdW50IG9mIHNwYWNlIHNob3J0YWdlIGZvdW5k
IGR1cmluZyBsYXlvdXQuCiAKLSAgICBBU1NFUlQoY3VycmVudE1pblNwYWNlU2hvcnRhZ2UgIT0g
TGF5b3V0VW5pdDo6bWF4KCkpOyAvLyBJZiB0aGlzIGNhbiBhY3R1YWxseSBoYXBwZW4sIHdlIHBy
b2JhYmx5IGhhdmUgYSBidWcuCi0gICAgaWYgKGN1cnJlbnRNaW5TcGFjZVNob3J0YWdlID09IExh
eW91dFVuaXQ6Om1heCgpKQotICAgICAgICByZXR1cm4gZmFsc2U7IC8vIFNvIGJhaWwgb3V0IHJh
dGhlciB0aGFuIGxvb3BpbmcgaW5maW5pdGVseS4KKyAgICBBU1NFUlQobV9taW5TcGFjZVNob3J0
YWdlID4gMCk7IC8vIFdlIHNob3VsZCBuZXZlciBfc2hyaW5rXyB0aGUgaGVpZ2h0IQorICAgIEFT
U0VSVChtX21pblNwYWNlU2hvcnRhZ2UgIT0gTGF5b3V0VW5pdDo6bWF4KCkpOyAvLyBJZiB0aGlz
IGhhcHBlbnMsIHdlIHByb2JhYmx5IGhhdmUgYSBidWcuCisgICAgaWYgKG1fbWluU3BhY2VTaG9y
dGFnZSA9PSBMYXlvdXRVbml0OjptYXgoKSkKKyAgICAgICAgcmV0dXJuIG1fY29tcHV0ZWRDb2x1
bW5IZWlnaHQ7IC8vIFNvIGJhaWwgb3V0IHJhdGhlciB0aGFuIGxvb3BpbmcgaW5maW5pdGVseS4K
KworICAgIHJldHVybiBtX2NvbXB1dGVkQ29sdW1uSGVpZ2h0ICsgbV9taW5TcGFjZVNob3J0YWdl
OworfQorCit2b2lkIFJlbmRlck11bHRpQ29sdW1uU2V0OjpjbGVhckZvcmNlZEJyZWFrcygpCit7
CisgICAgbV9jb250ZW50UnVucy5jbGVhcigpOworfQorCit2b2lkIFJlbmRlck11bHRpQ29sdW1u
U2V0OjphZGRGb3JjZWRCcmVhayhMYXlvdXRVbml0IG9mZnNldEZyb21GaXJzdFBhZ2UpCit7Cisg
ICAgaWYgKCF0b1JlbmRlck11bHRpQ29sdW1uQmxvY2socGFyZW50KCkpLT5yZXF1aXJlc0JhbGFu
Y2luZygpKQorICAgICAgICByZXR1cm47CisgICAgaWYgKCFtX2NvbnRlbnRSdW5zLmlzRW1wdHko
KSAmJiBvZmZzZXRGcm9tRmlyc3RQYWdlIDw9IG1fY29udGVudFJ1bnMubGFzdCgpLmJyZWFrT2Zm
c2V0KCkpCisgICAgICAgIHJldHVybjsKKyAgICAvLyBBcHBlbmQgYW5vdGhlciBpdGVtIGFzIGxv
bmcgYXMgd2UgaGF2ZW4ndCBleGNlZWRlZCB1c2VkIGNvbHVtbiBjb3VudC4gV2hhdCBlbmRzIHVw
IGluIHRoZQorICAgIC8vIG92ZXJmbG93IGFyZWEgc2hvdWxkbid0IGFmZmVjdCBjb2x1bW4gYmFs
YW5jaW5nLgorICAgIGlmIChtX2NvbnRlbnRSdW5zLnNpemUoKSA8IG1fY29tcHV0ZWRDb2x1bW5D
b3VudCkKKyAgICAgICAgbV9jb250ZW50UnVucy5hcHBlbmQoQ29udGVudFJ1bihvZmZzZXRGcm9t
Rmlyc3RQYWdlKSk7Cit9CisKK2Jvb2wgUmVuZGVyTXVsdGlDb2x1bW5TZXQ6OnJlY2FsY3VsYXRl
QmFsYW5jZWRIZWlnaHQoYm9vbCBpbml0aWFsKQoreworICAgIEFTU0VSVCh0b1JlbmRlck11bHRp
Q29sdW1uQmxvY2socGFyZW50KCkpLT5yZXF1aXJlc0JhbGFuY2luZygpKTsKKworICAgIExheW91
dFVuaXQgb2xkQ29sdW1uSGVpZ2h0ID0gbV9jb21wdXRlZENvbHVtbkhlaWdodDsKKyAgICBpZiAo
aW5pdGlhbCkKKyAgICAgICAgZGlzdHJpYnV0ZUltcGxpY2l0QnJlYWtzKCk7CisgICAgTGF5b3V0
VW5pdCBuZXdDb2x1bW5IZWlnaHQgPSBjYWxjdWxhdGVCYWxhbmNlZEhlaWdodChpbml0aWFsKTsK
KyAgICBzZXRBbmRDb25zdHJhaW5Db2x1bW5IZWlnaHQobmV3Q29sdW1uSGVpZ2h0KTsKKworICAg
IC8vIEFmdGVyIGhhdmluZyBjYWxjdWxhdGVkIGFuIGluaXRpYWwgY29sdW1uIGhlaWdodCwgdGhl
IG11bHRpY29sIGNvbnRhaW5lciB0eXBpY2FsbHkgbmVlZHMgYXQKKyAgICAvLyBsZWFzdCBvbmUg
bW9yZSBsYXlvdXQgcGFzcyB3aXRoIGEgbmV3IGNvbHVtbiBoZWlnaHQsIGJ1dCBpZiBhIGhlaWdo
dCB3YXMgc3BlY2lmaWVkLCB3ZSBvbmx5CisgICAgLy8gbmVlZCB0byBkbyB0aGlzIGlmIHdlIHRo
aW5rIHRoYXQgd2UgbmVlZCBsZXNzIHNwYWNlIHRoYW4gc3BlY2lmaWVkLiBDb252ZXJzZWx5LCBp
ZiB3ZQorICAgIC8vIGRldGVybWluZWQgdGhhdCB0aGUgY29sdW1ucyBuZWVkIHRvIGJlIGFzIHRh
bGwgYXMgdGhlIHNwZWNpZmllZCBoZWlnaHQgb2YgdGhlIGNvbnRhaW5lciwgd2UKKyAgICAvLyBo
YXZlIGFscmVhZHkgbGFpZCBpdCBvdXQgY29ycmVjdGx5LCBhbmQgdGhlcmUncyBubyBuZWVkIGZv
ciBhbm90aGVyIHBhc3MuCiAKLSAgICBzZXRBbmRDb25zdHJhaW5Db2x1bW5IZWlnaHQobV9jb21w
dXRlZENvbHVtbkhlaWdodCArIGN1cnJlbnRNaW5TcGFjZVNob3J0YWdlKTsKKyAgICBpZiAobV9j
b21wdXRlZENvbHVtbkhlaWdodCA9PSBvbGRDb2x1bW5IZWlnaHQpCisgICAgICAgIHJldHVybiBm
YWxzZTsgLy8gTm8gY2hhbmdlLiBXZSdyZSBkb25lLgogCi0gICAgLy8gSWYgd2UgcmVhY2ggdGhl
IG1heGltdW0gY29sdW1uIGhlaWdodCAodHlwaWNhbGx5IHNldCBieSB0aGUgaGVpZ2h0IG9yIG1h
eC1oZWlnaHQgcHJvcGVydHkpLAotICAgIC8vIHdlIG1heSBub3QgYmUgYWxsb3dlZCB0byBzdHJl
dGNoIGZ1cnRoZXIuIFJldHVybiB0cnVlIG9ubHkgaWYgc3RyZXRjaGluZwotICAgIC8vIHN1Y2Nl
ZWRlZC4gT3RoZXJ3aXNlLCB3ZSdyZSBkb25lLgotICAgIEFTU0VSVChtX2NvbXB1dGVkQ29sdW1u
SGVpZ2h0ID49IG9sZENvbHVtbkhlaWdodCk7IC8vIFdlIHNob3VsZG4ndCBiZSBhYmxlIHRvIHNo
cmluayB0aGUgaGVpZ2h0IQotICAgIHJldHVybiBtX2NvbXB1dGVkQ29sdW1uSGVpZ2h0ID4gb2xk
Q29sdW1uSGVpZ2h0OworICAgIG1fbWluU3BhY2VTaG9ydGFnZSA9IExheW91dFVuaXQ6Om1heCgp
OworICAgIGNsZWFyRm9yY2VkQnJlYWtzKCk7CisgICAgcmV0dXJuIHRydWU7IC8vIE5lZWQgYW5v
dGhlciBwYXNzLgogfQogCiB2b2lkIFJlbmRlck11bHRpQ29sdW1uU2V0OjpyZWNvcmRTcGFjZVNo
b3J0YWdlKExheW91dFVuaXQgc3BhY2VTaG9ydGFnZSkKQEAgLTE3Myw2ICsyNDcsOCBAQCB2b2lk
IFJlbmRlck11bHRpQ29sdW1uU2V0OjpwcmVwYXJlRm9yTGF5b3V0KCkKICAgICB9IGVsc2UKICAg
ICAgICAgc2V0QW5kQ29uc3RyYWluQ29sdW1uSGVpZ2h0KGhlaWdodEFkanVzdGVkRm9yU2V0T2Zm
c2V0KG11bHRpY29sQmxvY2stPmNvbHVtbkhlaWdodEF2YWlsYWJsZSgpKSk7CiAKKyAgICBjbGVh
ckZvcmNlZEJyZWFrcygpOworCiAgICAgLy8gTnVrZSBwcmV2aW91c2x5IHN0b3JlZCBtaW5pbXVt
IGNvbHVtbiBoZWlnaHQuIENvbnRlbnRzIG1heSBoYXZlIGNoYW5nZWQgZm9yIGFsbCB3ZSBrbm93
LgogICAgIG1fbWluaW11bUNvbHVtbkhlaWdodCA9IDA7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5oCmluZGV4IDZmMDAzNmRjNDlmZTY0YThk
ODI3ODMyMWM1NDRkZjEzZTc4NmFkZGQuLmNiN2FjMjYxYjczZGJlNDM2OTBiMDllZWNiNDZlMzkw
ZTYwMDI3NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0
aUNvbHVtblNldC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNv
bHVtblNldC5oCkBAIC0yOCw2ICsyOCw3IEBACiAjZGVmaW5lIFJlbmRlck11bHRpQ29sdW1uU2V0
X2gKIAogI2luY2x1ZGUgIlJlbmRlclJlZ2lvblNldC5oIgorI2luY2x1ZGUgPHd0Zi9WZWN0b3Iu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC02MiwzMCArNjMsMTQgQEAgcHVibGljOgog
ICAgIHZvaWQgdXBkYXRlTWluaW11bUNvbHVtbkhlaWdodChMYXlvdXRVbml0IGhlaWdodCkgeyBt
X21pbmltdW1Db2x1bW5IZWlnaHQgPSBzdGQ6Om1heChoZWlnaHQsIG1fbWluaW11bUNvbHVtbkhl
aWdodCk7IH0KICAgICBMYXlvdXRVbml0IG1pbmltdW1Db2x1bW5IZWlnaHQoKSBjb25zdCB7IHJl
dHVybiBtX21pbmltdW1Db2x1bW5IZWlnaHQ7IH0KIAotICAgIHVuc2lnbmVkIGZvcmNlZEJyZWFr
c0NvdW50KCkgY29uc3QgeyByZXR1cm4gbV9mb3JjZWRCcmVha3NDb3VudDsgfQotICAgIExheW91
dFVuaXQgZm9yY2VkQnJlYWtPZmZzZXQoKSBjb25zdCB7IHJldHVybiBtX2ZvcmNlZEJyZWFrT2Zm
c2V0OyB9Ci0gICAgTGF5b3V0VW5pdCBtYXhpbXVtRGlzdGFuY2VCZXR3ZWVuRm9yY2VkQnJlYWtz
KCkgY29uc3QgeyByZXR1cm4gbV9tYXhpbXVtRGlzdGFuY2VCZXR3ZWVuRm9yY2VkQnJlYWtzOyB9
Ci0gICAgdm9pZCBjbGVhckZvcmNlZEJyZWFrcygpCi0gICAgeyAKLSAgICAgICAgbV9mb3JjZWRC
cmVha3NDb3VudCA9IDA7Ci0gICAgICAgIG1fbWF4aW11bURpc3RhbmNlQmV0d2VlbkZvcmNlZEJy
ZWFrcyA9IDA7Ci0gICAgICAgIG1fZm9yY2VkQnJlYWtPZmZzZXQgPSAwOwotICAgIH0KLSAgICB2
b2lkIGFkZEZvcmNlZEJyZWFrKExheW91dFVuaXQgb2Zmc2V0RnJvbUZpcnN0UGFnZSkKLSAgICB7
IAotICAgICAgICBBU1NFUlQoIWNvbXB1dGVkQ29sdW1uSGVpZ2h0KCkpOwotICAgICAgICBMYXlv
dXRVbml0IGRpc3RhbmNlRnJvbUxhc3RCcmVhayA9IG9mZnNldEZyb21GaXJzdFBhZ2UgLSBtX2Zv
cmNlZEJyZWFrT2Zmc2V0OwotICAgICAgICBpZiAoIWRpc3RhbmNlRnJvbUxhc3RCcmVhaykKLSAg
ICAgICAgICAgIHJldHVybjsKLSAgICAgICAgbV9mb3JjZWRCcmVha3NDb3VudCsrOwotICAgICAg
ICBtX21heGltdW1EaXN0YW5jZUJldHdlZW5Gb3JjZWRCcmVha3MgPSBzdGQ6Om1heChtX21heGlt
dW1EaXN0YW5jZUJldHdlZW5Gb3JjZWRCcmVha3MsIGRpc3RhbmNlRnJvbUxhc3RCcmVhayk7Ci0g
ICAgICAgIG1fZm9yY2VkQnJlYWtPZmZzZXQgPSBvZmZzZXRGcm9tRmlyc3RQYWdlOwotICAgIH0K
KyAgICB1bnNpZ25lZCBmb3JjZWRCcmVha3NDb3VudCgpIGNvbnN0IHsgcmV0dXJuIG1fY29udGVu
dFJ1bnMuc2l6ZSgpOyB9CisgICAgdm9pZCBjbGVhckZvcmNlZEJyZWFrcygpOworICAgIHZvaWQg
YWRkRm9yY2VkQnJlYWsoTGF5b3V0VW5pdCBvZmZzZXRGcm9tRmlyc3RQYWdlKTsKIAotICAgIC8v
IENhbGN1bGF0ZSB0aGUgY29sdW1uIGhlaWdodCB3aGVuIGNvbnRlbnRzIGFyZSBzdXBwb3NlZCB0
byBiZSBiYWxhbmNlZC4gSWYgJ2luaXRpYWwnIGlzIHNldCwKLSAgICAvLyBndWVzcyBhbiBpbml0
aWFsIGNvbHVtbiBoZWlnaHQ7IG90aGVyd2lzZSwgc3RyZXRjaCB0aGUgY29sdW1uIGhlaWdodCBh
IHRhZC4gUmV0dXJuIHRydWUgaWYKLSAgICAvLyBjb2x1bW4gaGVpZ2h0IGNoYW5nZWQgYW5kIGFu
b3RoZXIgbGF5b3V0IHBhc3MgaXMgcmVxdWlyZWQuCi0gICAgYm9vbCBjYWxjdWxhdGVCYWxhbmNl
ZEhlaWdodChib29sIGluaXRpYWwpOworICAgIC8vIChSZS0pY2FsY3VsYXRlIHRoZSBjb2x1bW4g
aGVpZ2h0IHdoZW4gY29udGVudHMgYXJlIHN1cHBvc2VkIHRvIGJlIGJhbGFuY2VkLiBJZiAnaW5p
dGlhbCcgaXMKKyAgICAvLyBzZXQsIGd1ZXNzIGFuIGluaXRpYWwgY29sdW1uIGhlaWdodDsgb3Ro
ZXJ3aXNlLCBzdHJldGNoIHRoZSBjb2x1bW4gaGVpZ2h0IGEgdGFkLiBSZXR1cm4gdHJ1ZQorICAg
IC8vIGlmIGNvbHVtbiBoZWlnaHQgY2hhbmdlZCBhbmQgYW5vdGhlciBsYXlvdXQgcGFzcyBpcyBy
ZXF1aXJlZC4KKyAgICBib29sIHJlY2FsY3VsYXRlQmFsYW5jZWRIZWlnaHQoYm9vbCBpbml0aWFs
KTsKIAogICAgIC8vIFJlY29yZCBzcGFjZSBzaG9ydGFnZSAodGhlIGFtb3VudCBvZiBzcGFjZSB0
aGF0IHdvdWxkIGhhdmUgYmVlbiBlbm91Z2ggdG8gcHJldmVudCBzb21lCiAgICAgLy8gZWxlbWVu
dCBmcm9tIGJlaW5nIG1vdmVkIHRvIHRoZSBuZXh0IGNvbHVtbikgYXQgYSBjb2x1bW4gYnJlYWsu
IFRoZSBzbWFsbGVzdCBhbW91bnQgb2Ygc3BhY2UKQEAgLTEzNSwxNyArMTIwLDUyIEBAIHByaXZh
dGU6CiAKICAgICB2b2lkIHNldEFuZENvbnN0cmFpbkNvbHVtbkhlaWdodChMYXlvdXRVbml0KTsK
IAotICAgIHVuc2lnbmVkIG1fY29tcHV0ZWRDb2x1bW5Db3VudDsKLSAgICBMYXlvdXRVbml0IG1f
Y29tcHV0ZWRDb2x1bW5XaWR0aDsKKyAgICAvLyBSZXR1cm4gdGhlIGluZGV4IG9mIHRoZSBjb250
ZW50IHJ1biB3aXRoIHRoZSBjdXJyZW50bHkgdGFsbGVzdCBjb2x1bW5zLCB0YWtpbmcgYWxsIGlt
cGxpY2l0CisgICAgLy8gYnJlYWtzIGFzc3VtZWQgc28gZmFyIGludG8gYWNjb3VudC4KKyAgICB1
bnNpZ25lZCBmaW5kUnVuV2l0aFRhbGxlc3RDb2x1bW5zKCkgY29uc3Q7CisKKyAgICAvLyBHaXZl
biB0aGUgY3VycmVudCBsaXN0IG9mIGNvbnRlbnQgcnVucywgbWFrZSBhc3N1bXB0aW9ucyBhYm91
dCB3aGVyZSB3ZSBuZWVkIHRvIGluc2VydAorICAgIC8vIGltcGxpY2l0IGJyZWFrcyAoaWYgdGhl
cmUncyByb29tIGZvciBhbnkgYXQgYWxsOyBkZXBlbmRpbmcgb24gdGhlIG51bWJlciBvZiBleHBs
aWNpdCBicmVha3MpLAorICAgIC8vIGFuZCBzdG9yZSB0aGUgcmVzdWx0cy4gVGhpcyBpcyBuZWVk
ZWQgaW4gb3JkZXIgdG8gYmFsYW5jZSB0aGUgY29sdW1ucy4KKyAgICB2b2lkIGRpc3RyaWJ1dGVJ
bXBsaWNpdEJyZWFrcygpOworCisgICAgTGF5b3V0VW5pdCBjYWxjdWxhdGVCYWxhbmNlZEhlaWdo
dChib29sIGluaXRpYWwpIGNvbnN0OworCisgICAgdW5zaWduZWQgbV9jb21wdXRlZENvbHVtbkNv
dW50OyAvLyBVc2VkIGNvbHVtbiBjb3VudCAodGhlIHJlc3VsdGluZyAnTicgZnJvbSB0aGUgcHNl
dWRvLWFsZ29yaXRobSBpbiB0aGUgbXVsdGljb2wgc3BlYykKKyAgICBMYXlvdXRVbml0IG1fY29t
cHV0ZWRDb2x1bW5XaWR0aDsgLy8gVXNlZCBjb2x1bW4gd2lkdGggKHRoZSByZXN1bHRpbmcgJ1cn
IGZyb20gdGhlIHBzZXVkby1hbGdvcml0aG0gaW4gdGhlIG11bHRpY29sIHNwZWMpCiAgICAgTGF5
b3V0VW5pdCBtX2NvbXB1dGVkQ29sdW1uSGVpZ2h0OwogICAgIAogICAgIC8vIFRoZSBmb2xsb3dp
bmcgdmFyaWFibGVzIGFyZSB1c2VkIHdoZW4gYmFsYW5jaW5nIHRoZSBjb2x1bW4gc2V0LgogICAg
IExheW91dFVuaXQgbV9tYXhDb2x1bW5IZWlnaHQ7IC8vIE1heGltdW0gY29sdW1uIGhlaWdodCBh
bGxvd2VkLgogICAgIExheW91dFVuaXQgbV9taW5TcGFjZVNob3J0YWdlOyAvLyBUaGUgc21hbGxl
c3QgYW1vdXQgb2Ygc3BhY2Ugc2hvcnRhZ2UgdGhhdCBjYXVzZWQgYSBjb2x1bW4gYnJlYWsuCiAg
ICAgTGF5b3V0VW5pdCBtX21pbmltdW1Db2x1bW5IZWlnaHQ7Ci0gICAgdW5zaWduZWQgbV9mb3Jj
ZWRCcmVha3NDb3VudDsgLy8gRklYTUU6IFdlIHdpbGwgdWx0aW1hdGVseSBuZWVkIHRvIGNhY2hl
IG1vcmUgaW5mb3JtYXRpb24gdG8gYmFsYW5jZSBhcm91bmQgZm9yY2VkIGJyZWFrcyBwcm9wZXJs
eS4KLSAgICBMYXlvdXRVbml0IG1fbWF4aW11bURpc3RhbmNlQmV0d2VlbkZvcmNlZEJyZWFrczsK
LSAgICBMYXlvdXRVbml0IG1fZm9yY2VkQnJlYWtPZmZzZXQ7CisKKyAgICAvLyBBIHJ1biBvZiBj
b250ZW50IHdpdGhvdXQgZXhwbGljaXQgKGZvcmNlZCkgYnJlYWtzOyBpLmUuIGEgZmxvdyB0aHJl
YWQgcG9ydGlvbiBiZXR3ZWVuIHR3bworICAgIC8vIGV4cGxpY2l0IGJyZWFrcywgYmV0d2VlbiBm
bG93IHRocmVhZCBzdGFydCBhbmQgYW4gZXhwbGljaXQgYnJlYWssIGJldHdlZW4gYW4gZXhwbGlj
aXQgYnJlYWsKKyAgICAvLyBhbmQgZmxvdyB0aHJlYWQgZW5kLCBvciwgaW4gY2FzZXMgd2hlbiB0
aGVyZSBhcmUgbm8gZXhwbGljaXQgYnJlYWtzIGF0IGFsbDogYmV0d2VlbiBmbG93IGZsb3cKKyAg
ICAvLyB0aHJlYWQgc3RhcnQgYW5kIGZsb3cgdGhyZWFkIGVuZC4gV2UgbmVlZCB0byBrbm93IHdo
ZXJlIHRoZSBleHBsaWNpdCBicmVha3MgYXJlLCBpbiBvcmRlciB0bworICAgIC8vIGZpZ3VyZSBv
dXQgd2hlcmUgdGhlIGltcGxpY2l0IGJyZWFrcyB3aWxsIGVuZCB1cCwgc28gdGhhdCB3ZSBnZXQg
dGhlIGNvbHVtbnMgcHJvcGVybHkKKyAgICAvLyBiYWxhbmNlZC4gQSBjb250ZW50IHJ1biBzdGFy
dHMgb3V0IGFzIHJlcHJlc2VudGluZyBvbmUgc2luZ2xlIGNvbHVtbiwgYW5kIHdpbGwgcmVwcmVz
ZW50IG9uZQorICAgIC8vIGFkZGl0aW9uYWwgY29sdW1uIGZvciBlYWNoIGltcGxpY2l0IGJyZWFr
ICJpbnNlcnRlZCIgdGhlcmUuCisgICAgY2xhc3MgQ29udGVudFJ1biB7CisgICAgcHVibGljOgor
ICAgICAgICBDb250ZW50UnVuKExheW91dFVuaXQgYnJlYWtPZmZzZXQpCisgICAgICAgICAgICA6
IG1fYnJlYWtPZmZzZXQoYnJlYWtPZmZzZXQpCisgICAgICAgICAgICAsIG1fYXNzdW1lZEltcGxp
Y2l0QnJlYWtzKDApIHsgfQorCisgICAgICAgIHVuc2lnbmVkIGFzc3VtZWRJbXBsaWNpdEJyZWFr
cygpIGNvbnN0IHsgcmV0dXJuIG1fYXNzdW1lZEltcGxpY2l0QnJlYWtzOyB9CisgICAgICAgIHZv
aWQgYXNzdW1lQW5vdGhlckltcGxpY2l0QnJlYWsoKSB7IG1fYXNzdW1lZEltcGxpY2l0QnJlYWtz
Kys7IH0KKyAgICAgICAgTGF5b3V0VW5pdCBicmVha09mZnNldCgpIGNvbnN0IHsgcmV0dXJuIG1f
YnJlYWtPZmZzZXQ7IH0KKworICAgICAgICAvLyBSZXR1cm4gdGhlIGNvbHVtbiBoZWlnaHQgdGhh
dCB0aGlzIGNvbnRlbnQgcnVuIHdvdWxkIHJlcXVpcmUsIGNvbnNpZGVyaW5nIHRoZSBpbXBsaWNp
dAorICAgICAgICAvLyBicmVha3MgYXNzdW1lZCBzbyBmYXIuCisgICAgICAgIExheW91dFVuaXQg
Y29sdW1uTG9naWNhbEhlaWdodChMYXlvdXRVbml0IHN0YXJ0T2Zmc2V0KSBjb25zdCB7IHJldHVy
biBjZWlsZihmbG9hdChtX2JyZWFrT2Zmc2V0IC0gc3RhcnRPZmZzZXQpIC8gZmxvYXQobV9hc3N1
bWVkSW1wbGljaXRCcmVha3MgKyAxKSk7IH0KKworICAgIHByaXZhdGU6CisgICAgICAgIExheW91
dFVuaXQgbV9icmVha09mZnNldDsgLy8gRmxvdyB0aHJlYWQgb2Zmc2V0IHdoZXJlIHRoaXMgcnVu
IGVuZHMuCisgICAgICAgIHVuc2lnbmVkIG1fYXNzdW1lZEltcGxpY2l0QnJlYWtzOyAvLyBOdW1i
ZXIgb2YgaW1wbGljaXQgYnJlYWtzIGluIHRoaXMgcnVuIGFzc3VtZWQgc28gZmFyLgorICAgIH07
CisgICAgVmVjdG9yPENvbnRlbnRSdW4sIDE+IG1fY29udGVudFJ1bnM7CiB9OwogCiBSRU5ERVJf
T0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyTXVsdGlDb2x1bW5TZXQsIGlzUmVuZGVyTXVsdGlDb2x1
bW5TZXQoKSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCA3OGU3ZGI0NmU3ZGZmZDYwZGUyOTY3NmY0YWQxMTZiZDUxNGU0YTBi
Li4wYWYwMDczNDA2M2ZiNmMyNmM0NWI4ZTRhY2NmNzc0MTc0MGNjMzBkIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjMgQEAKKzIwMTQtMDEtMTQgIE1vcnRlbiBTdGVuc2hvcm5lICA8bXN0ZW5zaG9Ab3BlcmEu
Y29tPgorCisgICAgICAgIFJlZ2lvbiBiYXNlZCBtdWx0aWNvbDogc3VwcG9ydCBleHBsaWNpdCBj
b2x1bW4gYnJlYWtzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMjM5OTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIGZhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvYnJlYWstYWZ0ZXItZXhwZWN0ZWQuaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9icmVhay1hZnRl
ci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L211bHRpY29sL25ld211bHRpY29sL2JyZWFr
LWJlZm9yZS1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L211bHRpY29sL25l
d211bHRpY29sL2JyZWFrLWJlZm9yZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L211bHRp
Y29sL25ld211bHRpY29sL2JyZWFrcy0yLWNvbHVtbnMtMy1leHBlY3RlZC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L211bHRpY29sL25ld211bHRpY29sL2JyZWFrcy0yLWNvbHVtbnMtMy1u
by1iYWxhbmNpbmctZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9tdWx0aWNv
bC9uZXdtdWx0aWNvbC9icmVha3MtMi1jb2x1bW5zLTMtbm8tYmFsYW5jaW5nLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvYnJlYWtzLTItY29sdW1ucy0z
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvYnJlYWtz
LTMtY29sdW1ucy0zLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvbXVsdGlj
b2wvbmV3bXVsdGljb2wvYnJlYWtzLTMtY29sdW1ucy0zLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvZml4ZWQtaGVpZ2h0LWZpbGwtYmFsYW5jZS0yLWV4
cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wv
Zml4ZWQtaGVpZ2h0LWZpbGwtYmFsYW5jZS0yLmh0bWw6IEFkZGVkLgorCiAyMDE0LTAxLTEwICBD
b21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByMTYxNzAyLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9t
dWx0aWNvbC9uZXdtdWx0aWNvbC9icmVhay1hZnRlci1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9icmVhay1hZnRlci1leHBlY3RlZC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjFmNGZmZjgwZTJjYzQ5ZTAwY2E1NWRmY2MyZjM5MzM5ZWVlMzA4ZjMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L211bHRpY29sL25ld211bHRpY29sL2JyZWFr
LWFmdGVyLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwyOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHRpdGxlPmF1dG8taGVpZ2h0IG11bHRpY29sIHdp
dGggYnJlYWs8L3RpdGxlPgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgaWYgKHdpbmRv
dy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFJlZ2lv
bkJhc2VkQ29sdW1uc0VuYWJsZWQodHJ1ZSk7CisgICAgICAgIDwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICAubWMgPiBkaXYgeyBwYWRkaW5nOjAgMC41ZW07IH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgc3R5bGU9Im1pbi13aWR0aDo0MGVt
OyI+CisgICAgICAgIDxkaXYgY2xhc3M9Im1jIiBzdHlsZT0iLXdlYmtpdC1jb2x1bW5zOjM7IC13
ZWJraXQtY29sdW1uLWdhcDoxZW07IGNvbHVtbnM6MzsgY29sdW1uLWdhcDoxZW07IG9ycGhhbnM6
MTsgd2lkb3dzOjE7IHdpZHRoOjMyZW07IGJhY2tncm91bmQ6b2xpdmU7Ij4KKyAgICAgICAgICAg
IDxkaXY+CisgICAgICAgICAgICAgICAgZmlyc3QgY29sdW1uPGJyPgorICAgICAgICAgICAgICAg
IGZpcnN0IGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICBmaXJzdCBjb2x1bW48YnI+CisgICAg
ICAgICAgICAgICAgZmlyc3QgY29sdW1uPGJyPgorICAgICAgICAgICAgICAgIHNlY29uZCBjb2x1
bW48YnI+CisgICAgICAgICAgICAgICAgc2Vjb25kIGNvbHVtbjxicj4KKyAgICAgICAgICAgICAg
ICBzZWNvbmQgY29sdW1uPGJyPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZGl2
IHN0eWxlPSItd2Via2l0LWNvbHVtbi1icmVhay1iZWZvcmU6YWx3YXlzOyBicmVhay1iZWZvcmU6
Y29sdW1uOyI+CisgICAgICAgICAgICAgICAgdGhpcmQgY29sdW1uPGJyPgorICAgICAgICAgICAg
PC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvYnJlYWstYWZ0ZXIuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvYnJlYWstYWZ0ZXIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4zNmRkMzIwYWM4NjBhYzZiODcwNTAyZWU0NzFjN2U3OGUzYzlhZjIwCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9icmVh
ay1hZnRlci5odG1sCkBAIC0wLDAgKzEsMjkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDx0aXRsZT5hdXRvLWhlaWdodCBtdWx0aWNvbCB3aXRoIGJyZWFr
PC90aXRsZT4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJu
YWxzKQorICAgICAgICAgICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRSZWdpb25CYXNlZENv
bHVtbnNFbmFibGVkKHRydWUpOworICAgICAgICA8L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgLm1jID4gZGl2IHsgcGFkZGluZzowIDAuNWVtOyB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxib2R5IHN0eWxlPSJtaW4td2lkdGg6NDBlbTsiPgorICAg
ICAgICA8ZGl2IGNsYXNzPSJtYyIgc3R5bGU9Ii13ZWJraXQtY29sdW1uczozOyAtd2Via2l0LWNv
bHVtbi1nYXA6MWVtOyBjb2x1bW5zOjM7IGNvbHVtbi1nYXA6MWVtOyBvcnBoYW5zOjE7IHdpZG93
czoxOyB3aWR0aDozMmVtOyBiYWNrZ3JvdW5kOm9saXZlOyI+CisgICAgICAgICAgICA8ZGl2IHN0
eWxlPSItd2Via2l0LWNvbHVtbi1icmVhay1hZnRlcjphbHdheXM7IGJyZWFrLWFmdGVyOmNvbHVt
bjsiPgorICAgICAgICAgICAgICAgIGZpcnN0IGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICBm
aXJzdCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAgZmlyc3QgY29sdW1uPGJyPgorICAgICAg
ICAgICAgICAgIGZpcnN0IGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICBzZWNvbmQgY29sdW1u
PGJyPgorICAgICAgICAgICAgICAgIHNlY29uZCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAg
c2Vjb25kIGNvbHVtbjxicj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGRpdj4K
KyAgICAgICAgICAgICAgICB0aGlyZCBjb2x1bW48YnI+CisgICAgICAgICAgICA8L2Rpdj4KKyAg
ICAgICAgPC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9icmVhay1iZWZvcmUtZXhwZWN0ZWQuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvYnJlYWstYmVmb3JlLWV4cGVj
dGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTMwZTQzY2FmOTJjMzdkNTBkMzhhMjZiMTZiZGM0NThlYzc4
NjU0ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvbmV3bXVs
dGljb2wvYnJlYWstYmVmb3JlLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwzMCBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHRpdGxlPmF1dG8taGVpZ2h0
IG11bHRpY29sIHdpdGggYnJlYWs8L3RpdGxlPgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICAubWMgeyBmbG9hdDpsZWZ0OyB3aWR0aDo5ZW07IHBhZGRpbmc6MCAwLjVlbTsgfQorICAgICAg
ICAgICAgLmdhcCB7IGZsb2F0OmxlZnQ7IHdpZHRoOjFlbTsgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8Ym9keSBzdHlsZT0ibWluLXdpZHRoOjQwZW07Ij4KKyAgICAgICAg
PGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsgYmFja2dyb3VuZDpvbGl2ZTsiPgorICAgICAgICAgICAg
PGRpdiBjbGFzcz0ibWMiPgorICAgICAgICAgICAgICAgIGZpcnN0IGNvbHVtbjxicj4KKyAgICAg
ICAgICAgICAgICBmaXJzdCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAgZmlyc3QgY29sdW1u
PGJyPgorICAgICAgICAgICAgICAgIGZpcnN0IGNvbHVtbjxicj4KKyAgICAgICAgICAgIDwvZGl2
PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ2FwIj4mbmJzcDs8L2Rpdj4KKyAgICAgICAgICAg
IDxkaXYgY2xhc3M9Im1jIj4KKyAgICAgICAgICAgICAgICBzZWNvbmQgY29sdW1uPGJyPgorICAg
ICAgICAgICAgICAgIHNlY29uZCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAgc2Vjb25kIGNv
bHVtbjxicj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ2Fw
Ij4mbmJzcDs8L2Rpdj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1jIj4KKyAgICAgICAgICAg
ICAgICB0aGlyZCBjb2x1bW48YnI+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tdWx0
aWNvbC9uZXdtdWx0aWNvbC9icmVhay1iZWZvcmUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbXVs
dGljb2wvbmV3bXVsdGljb2wvYnJlYWstYmVmb3JlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWY0ZmZmODBl
MmNjNDllMDBjYTU1ZGZjYzJmMzkzMzllZWUzMDhmMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvYnJlYWstYmVmb3JlLmh0bWwKQEAgLTAs
MCArMSwyOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAg
PHRpdGxlPmF1dG8taGVpZ2h0IG11bHRpY29sIHdpdGggYnJlYWs8L3RpdGxlPgorICAgICAgICA8
c2NyaXB0PgorICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFJlZ2lvbkJhc2VkQ29sdW1uc0VuYWJsZWQodHJ1ZSk7
CisgICAgICAgIDwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAubWMgPiBk
aXYgeyBwYWRkaW5nOjAgMC41ZW07IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPGJvZHkgc3R5bGU9Im1pbi13aWR0aDo0MGVtOyI+CisgICAgICAgIDxkaXYgY2xhc3M9Im1j
IiBzdHlsZT0iLXdlYmtpdC1jb2x1bW5zOjM7IC13ZWJraXQtY29sdW1uLWdhcDoxZW07IGNvbHVt
bnM6MzsgY29sdW1uLWdhcDoxZW07IG9ycGhhbnM6MTsgd2lkb3dzOjE7IHdpZHRoOjMyZW07IGJh
Y2tncm91bmQ6b2xpdmU7Ij4KKyAgICAgICAgICAgIDxkaXY+CisgICAgICAgICAgICAgICAgZmly
c3QgY29sdW1uPGJyPgorICAgICAgICAgICAgICAgIGZpcnN0IGNvbHVtbjxicj4KKyAgICAgICAg
ICAgICAgICBmaXJzdCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAgZmlyc3QgY29sdW1uPGJy
PgorICAgICAgICAgICAgICAgIHNlY29uZCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAgc2Vj
b25kIGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICBzZWNvbmQgY29sdW1uPGJyPgorICAgICAg
ICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZGl2IHN0eWxlPSItd2Via2l0LWNvbHVtbi1icmVh
ay1iZWZvcmU6YWx3YXlzOyBicmVhay1iZWZvcmU6Y29sdW1uOyI+CisgICAgICAgICAgICAgICAg
dGhpcmQgY29sdW1uPGJyPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wv
bmV3bXVsdGljb2wvYnJlYWtzLTItY29sdW1ucy0zLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L211bHRpY29sL25ld211bHRpY29sL2JyZWFrcy0yLWNvbHVtbnMtMy1leHBlY3RlZC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjYwMTZhMDUyNDc3YmM1YzhhYTgxNGJlYWUzY2Q0YzkwNDU1NzYxOWUK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L211bHRpY29sL25ld211bHRpY29s
L2JyZWFrcy0yLWNvbHVtbnMtMy1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMzQgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDx0aXRsZT5hdXRvLWhlaWdo
dCBtdWx0aWNvbCB3aXRoIGJyZWFrPC90aXRsZT4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgLm1jIHsgZmxvYXQ6bGVmdDsgd2lkdGg6OWVtOyBwYWRkaW5nOjAgMC41ZW07IH0KKyAgICAg
ICAgICAgIC5nYXAgeyBmbG9hdDpsZWZ0OyB3aWR0aDoxZW07IH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPGJvZHkgc3R5bGU9Im1pbi13aWR0aDo0MGVtOyI+CisgICAgICAg
IDxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7IGJhY2tncm91bmQ6b2xpdmU7Ij4KKyAgICAgICAgICAg
IDxkaXYgY2xhc3M9Im1jIj4KKyAgICAgICAgICAgICAgICBmaXJzdCBjb2x1bW48YnI+CisgICAg
ICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdhcCI+Jm5ic3A7PC9kaXY+
CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYyI+CisgICAgICAgICAgICAgICAgc2Vjb25kIGNv
bHVtbjxicj4KKyAgICAgICAgICAgICAgICBzZWNvbmQgY29sdW1uPGJyPgorICAgICAgICAgICAg
ICAgIHNlY29uZCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAgc2Vjb25kIGNvbHVtbjxicj4K
KyAgICAgICAgICAgICAgICBzZWNvbmQgY29sdW1uPGJyPgorICAgICAgICAgICAgICAgIHNlY29u
ZCBjb2x1bW48YnI+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9
ImdhcCI+Jm5ic3A7PC9kaXY+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYyI+CisgICAgICAg
ICAgICAgICAgdGhpcmQgY29sdW1uPGJyPgorICAgICAgICAgICAgICAgIHRoaXJkIGNvbHVtbjxi
cj4KKyAgICAgICAgICAgICAgICB0aGlyZCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAgdGhp
cmQgY29sdW1uPGJyPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC9u
ZXdtdWx0aWNvbC9icmVha3MtMi1jb2x1bW5zLTMtbm8tYmFsYW5jaW5nLWV4cGVjdGVkLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L211bHRpY29sL25ld211bHRpY29sL2JyZWFrcy0yLWNvbHVtbnMt
My1uby1iYWxhbmNpbmctZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NTE1NDY5YjU3NTQ3OWEz
MzUwNmUxNjM2OWE5M2IwYTNjZDEyOTllCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9icmVha3MtMi1jb2x1bW5zLTMtbm8tYmFsYW5jaW5n
LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwzNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KyAgICA8aGVhZD4KKyAgICAgICAgPHRpdGxlPm11bHRpY29sIHdpdGggYnJlYWs8L3RpdGxlPgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAubWMgeyBmbG9hdDpsZWZ0OyB3aWR0aDo3ZW07
IHBhZGRpbmc6MCAwLjVlbTsgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
Ym9keSBzdHlsZT0ibWluLXdpZHRoOjQwZW07IGxpbmUtaGVpZ2h0OjJlbTsiPgorICAgICAgICA8
ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0OyBoZWlnaHQ6MTBlbTsgYmFja2dyb3VuZDpvbGl2ZTsiPgor
ICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWMiPgorICAgICAgICAgICAgICAgIGZpcnN0IGNvbHVt
bjxicj4KKyAgICAgICAgICAgICAgICBmaXJzdCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAg
Zmlyc3QgY29sdW1uPGJyPgorICAgICAgICAgICAgICAgIGZpcnN0IGNvbHVtbjxicj4KKyAgICAg
ICAgICAgICAgICBmaXJzdCBjb2x1bW48YnI+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAg
ICAgIDxkaXYgY2xhc3M9Im1jIj4KKyAgICAgICAgICAgICAgICBzZWNvbmQgY29sdW1uPGJyPgor
ICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYyI+CisgICAgICAg
ICAgICAgICAgdGhpcmQgY29sdW1uPGJyPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwv
ZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJtYyI+CisgICAgICAgICAgICBmb3VydGggY29sdW1u
PGJyPgorICAgICAgICAgICAgZm91cnRoIGNvbHVtbjxicj4KKyAgICAgICAgICAgIGZvdXJ0aCBj
b2x1bW48YnI+CisgICAgICAgICAgICBmb3VydGggY29sdW1uPGJyPgorICAgICAgICAgICAgZm91
cnRoIGNvbHVtbjxicj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9Im1jIj4K
KyAgICAgICAgICAgIGZpZnRoIGNvbHVtbjxicj4KKyAgICAgICAgPC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC9uZXdtdWx0
aWNvbC9icmVha3MtMi1jb2x1bW5zLTMtbm8tYmFsYW5jaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L211bHRpY29sL25ld211bHRpY29sL2JyZWFrcy0yLWNvbHVtbnMtMy1uby1iYWxhbmNpbmcu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mYzE1NzFkMGJiNmU3NGJlZTVhOWJhZmFhYjMyNDRhNzllMjg2OTYx
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNv
bC9icmVha3MtMi1jb2x1bW5zLTMtbm8tYmFsYW5jaW5nLmh0bWwKQEAgLTAsMCArMSwzNiBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHRpdGxlPm11bHRp
Y29sIHdpdGggYnJlYWs8L3RpdGxlPgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgaWYg
KHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dFJlZ2lvbkJhc2VkQ29sdW1uc0VuYWJsZWQodHJ1ZSk7CisgICAgICAgIDwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICAubWMgPiBkaXYgeyBwYWRkaW5nOjAgMC41ZW07IH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgc3R5bGU9Im1pbi13aWR0
aDo0MGVtOyI+CisgICAgICAgIDxkaXYgY2xhc3M9Im1jIiBzdHlsZT0iLXdlYmtpdC1jb2x1bW5z
OjM7IC13ZWJraXQtY29sdW1uLWdhcDowOyAtd2Via2l0LWNvbHVtbi1maWxsOmF1dG87IGNvbHVt
bnM6MzsgY29sdW1uLWdhcDowOyBjb2x1bW4tZmlsbDphdXRvOyBvcnBoYW5zOjE7IHdpZG93czox
OyB3aWR0aDoyNGVtOyBoZWlnaHQ6MTBlbTsgbGluZS1oZWlnaHQ6MmVtOyBiYWNrZ3JvdW5kOm9s
aXZlOyI+CisgICAgICAgICAgICA8ZGl2IHN0eWxlPSItd2Via2l0LWNvbHVtbi1icmVhay1hZnRl
cjphbHdheXM7IGJyZWFrLWFmdGVyOmNvbHVtbjsiPgorICAgICAgICAgICAgICAgIGZpcnN0IGNv
bHVtbjxicj4KKyAgICAgICAgICAgICAgICBmaXJzdCBjb2x1bW48YnI+CisgICAgICAgICAgICAg
ICAgZmlyc3QgY29sdW1uPGJyPgorICAgICAgICAgICAgICAgIGZpcnN0IGNvbHVtbjxicj4KKyAg
ICAgICAgICAgICAgICBmaXJzdCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAgc2Vjb25kIGNv
bHVtbjxicj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGRpdiBzdHlsZT0iLXdl
YmtpdC1jb2x1bW4tYnJlYWstYWZ0ZXI6YWx3YXlzOyBicmVhay1hZnRlcjpjb2x1bW47Ij4KKyAg
ICAgICAgICAgICAgICB0aGlyZCBjb2x1bW48YnI+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAg
ICAgICAgIDxkaXY+CisgICAgICAgICAgICAgICAgZm91cnRoIGNvbHVtbjxicj4KKyAgICAgICAg
ICAgICAgICBmb3VydGggY29sdW1uPGJyPgorICAgICAgICAgICAgICAgIGZvdXJ0aCBjb2x1bW48
YnI+CisgICAgICAgICAgICAgICAgZm91cnRoIGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICBm
b3VydGggY29sdW1uPGJyPgorICAgICAgICAgICAgICAgIGZpZnRoIGNvbHVtbjxicj4KKyAgICAg
ICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L211bHRpY29sL25ld211bHRpY29sL2JyZWFrcy0yLWNv
bHVtbnMtMy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9icmVh
a3MtMi1jb2x1bW5zLTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MDY1YWZjZDU5YzI3ODQyMGIyZmE3NDY5
ZmFiMGZlOTU3ZGY3Y2Q0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tdWx0
aWNvbC9uZXdtdWx0aWNvbC9icmVha3MtMi1jb2x1bW5zLTMuaHRtbApAQCAtMCwwICsxLDM0IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8dGl0bGU+YXV0
by1oZWlnaHQgbXVsdGljb2wgd2l0aCBicmVhazwvdGl0bGU+CisgICAgICAgIDxzY3JpcHQ+Cisg
ICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0UmVnaW9uQmFzZWRDb2x1bW5zRW5hYmxlZCh0cnVlKTsKKyAgICAgICAg
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIC5tYyA+IGRpdiB7IHBhZGRp
bmc6MCAwLjVlbTsgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keSBz
dHlsZT0ibWluLXdpZHRoOjQwZW07Ij4KKyAgICAgICAgPGRpdiBjbGFzcz0ibWMiIHN0eWxlPSIt
d2Via2l0LWNvbHVtbnM6MzsgLXdlYmtpdC1jb2x1bW4tZ2FwOjFlbTsgY29sdW1uczozOyBjb2x1
bW4tZ2FwOjFlbTsgb3JwaGFuczoxOyB3aWRvd3M6MTsgd2lkdGg6MzJlbTsgYmFja2dyb3VuZDpv
bGl2ZTsiPgorICAgICAgICAgICAgPGRpdiBzdHlsZT0iLXdlYmtpdC1jb2x1bW4tYnJlYWstYWZ0
ZXI6YWx3YXlzOyBicmVhay1hZnRlcjpjb2x1bW47Ij4KKyAgICAgICAgICAgICAgICBmaXJzdCBj
b2x1bW48YnI+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxkaXYgc3R5bGU9Ii13
ZWJraXQtY29sdW1uLWJyZWFrLWFmdGVyOmFsd2F5czsgYnJlYWstYWZ0ZXI6Y29sdW1uOyI+Cisg
ICAgICAgICAgICAgICAgc2Vjb25kIGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICBzZWNvbmQg
Y29sdW1uPGJyPgorICAgICAgICAgICAgICAgIHNlY29uZCBjb2x1bW48YnI+CisgICAgICAgICAg
ICAgICAgc2Vjb25kIGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICBzZWNvbmQgY29sdW1uPGJy
PgorICAgICAgICAgICAgICAgIHNlY29uZCBjb2x1bW48YnI+CisgICAgICAgICAgICA8L2Rpdj4K
KyAgICAgICAgICAgIDxkaXY+CisgICAgICAgICAgICAgICAgdGhpcmQgY29sdW1uPGJyPgorICAg
ICAgICAgICAgICAgIHRoaXJkIGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICB0aGlyZCBjb2x1
bW48YnI+CisgICAgICAgICAgICAgICAgdGhpcmQgY29sdW1uPGJyPgorICAgICAgICAgICAgPC9k
aXY+CisgICAgICAgIDwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvYnJlYWtzLTMtY29sdW1ucy0zLWV4
cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L211bHRpY29sL25ld211bHRpY29sL2JyZWFr
cy0zLWNvbHVtbnMtMy1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVkYWQ4YjI2YjljMmYwNGJm
MzljYjk2MTk3ZTk4ZGU2ZTllYmFkNDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L211bHRpY29sL25ld211bHRpY29sL2JyZWFrcy0zLWNvbHVtbnMtMy1leHBlY3RlZC5odG1s
CkBAIC0wLDAgKzEsNDggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDx0aXRsZT5hdXRvLWhlaWdodCBtdWx0aWNvbCB3aXRoIGJyZWFrPC90aXRsZT4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgLm1jIHsgZmxvYXQ6bGVmdDsgd2lkdGg6NmVtOyBw
YWRkaW5nOjAgMC41ZW07IH0KKyAgICAgICAgICAgIC5nYXAgeyBmbG9hdDpsZWZ0OyB3aWR0aDox
ZW07IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgc3R5bGU9Im1p
bi13aWR0aDo0MGVtOyI+CisgICAgICAgIDxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7IGJhY2tncm91
bmQ6b2xpdmU7Ij4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1jIj4KKyAgICAgICAgICAgICAg
ICBmaXJzdCBjb2x1bW48YnI+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxkaXYg
Y2xhc3M9ImdhcCI+Jm5ic3A7PC9kaXY+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYyI+Cisg
ICAgICAgICAgICAgICAgc2Vjb25kIGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICBzZWNvbmQg
Y29sdW1uPGJyPgorICAgICAgICAgICAgICAgIHNlY29uZCBjb2x1bW48YnI+CisgICAgICAgICAg
ICAgICAgc2Vjb25kIGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICBzZWNvbmQgY29sdW1uPGJy
PgorICAgICAgICAgICAgICAgIHNlY29uZCBjb2x1bW48YnI+CisgICAgICAgICAgICA8L2Rpdj4K
KyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdhcCI+Jm5ic3A7PC9kaXY+CisgICAgICAgICAgICA8
ZGl2IGNsYXNzPSJtYyI+CisgICAgICAgICAgICAgICAgdGhpcmQgY29sdW1uPGJyPgorICAgICAg
ICAgICAgICAgIHRoaXJkIGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICB0aGlyZCBjb2x1bW48
YnI+CisgICAgICAgICAgICAgICAgdGhpcmQgY29sdW1uPGJyPgorICAgICAgICAgICAgPC9kaXY+
CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnYXAiPiZuYnNwOzwvZGl2Pgor
ICAgICAgICA8ZGl2IGNsYXNzPSJtYyI+CisgICAgICAgICAgICBmb3VydGggY29sdW1uPGJyPgor
ICAgICAgICAgICAgZm91cnRoIGNvbHVtbjxicj4KKyAgICAgICAgICAgIGZvdXJ0aCBjb2x1bW48
YnI+CisgICAgICAgICAgICBmb3VydGggY29sdW1uPGJyPgorICAgICAgICAgICAgZm91cnRoIGNv
bHVtbjxicj4KKyAgICAgICAgICAgIGZvdXJ0aCBjb2x1bW48YnI+CisgICAgICAgIDwvZGl2Pgor
ICAgICAgICA8ZGl2IGNsYXNzPSJnYXAiPiZuYnNwOzwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNz
PSJtYyI+CisgICAgICAgICAgICBmaWZ0aCBjb2x1bW48YnI+CisgICAgICAgICAgICBmaWZ0aCBj
b2x1bW48YnI+CisgICAgICAgIDwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9icmVha3MtMy1jb2x1
bW5zLTMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvYnJlYWtz
LTMtY29sdW1ucy0zLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTUyZmY5NDY5Njk3NWYxMzlkYTU0NTYzNTBh
NzYyZTliN2UxMjRjZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbXVsdGlj
b2wvbmV3bXVsdGljb2wvYnJlYWtzLTMtY29sdW1ucy0zLmh0bWwKQEAgLTAsMCArMSw0NCBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHRpdGxlPmF1dG8t
aGVpZ2h0IG11bHRpY29sIHdpdGggYnJlYWs8L3RpdGxlPgorICAgICAgICA8c2NyaXB0PgorICAg
ICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldFJlZ2lvbkJhc2VkQ29sdW1uc0VuYWJsZWQodHJ1ZSk7CisgICAgICAgIDwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAubWMgPiBkaXYgeyBwYWRkaW5n
OjAgMC41ZW07IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgc3R5
bGU9Im1pbi13aWR0aDo0MGVtOyI+CisgICAgICAgIDxkaXYgY2xhc3M9Im1jIiBzdHlsZT0iLXdl
YmtpdC1jb2x1bW5zOjM7IC13ZWJraXQtY29sdW1uLWdhcDoxZW07IGNvbHVtbnM6MzsgY29sdW1u
LWdhcDoxZW07IG9ycGhhbnM6MTsgd2lkb3dzOjE7IHdpZHRoOjIzZW07IGJhY2tncm91bmQ6b2xp
dmU7Ij4KKyAgICAgICAgICAgIDxkaXYgc3R5bGU9Ii13ZWJraXQtY29sdW1uLWJyZWFrLWFmdGVy
OmFsd2F5czsgYnJlYWstYWZ0ZXI6Y29sdW1uOyI+CisgICAgICAgICAgICAgICAgZmlyc3QgY29s
dW1uPGJyPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZGl2IHN0eWxlPSItd2Vi
a2l0LWNvbHVtbi1icmVhay1hZnRlcjphbHdheXM7IGJyZWFrLWFmdGVyOmNvbHVtbjsiPgorICAg
ICAgICAgICAgICAgIHNlY29uZCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAgc2Vjb25kIGNv
bHVtbjxicj4KKyAgICAgICAgICAgICAgICBzZWNvbmQgY29sdW1uPGJyPgorICAgICAgICAgICAg
ICAgIHNlY29uZCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAgc2Vjb25kIGNvbHVtbjxicj4K
KyAgICAgICAgICAgICAgICBzZWNvbmQgY29sdW1uPGJyPgorICAgICAgICAgICAgPC9kaXY+Cisg
ICAgICAgICAgICA8ZGl2IHN0eWxlPSItd2Via2l0LWNvbHVtbi1icmVhay1hZnRlcjphbHdheXM7
IGJyZWFrLWFmdGVyOmNvbHVtbjsiPgorICAgICAgICAgICAgICAgIHRoaXJkIGNvbHVtbjxicj4K
KyAgICAgICAgICAgICAgICB0aGlyZCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAgdGhpcmQg
Y29sdW1uPGJyPgorICAgICAgICAgICAgICAgIHRoaXJkIGNvbHVtbjxicj4KKyAgICAgICAgICAg
IDwvZGl2PgorICAgICAgICAgICAgPGRpdj4KKyAgICAgICAgICAgICAgICBmb3VydGggY29sdW1u
PGJyPgorICAgICAgICAgICAgICAgIGZvdXJ0aCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAg
Zm91cnRoIGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICBmb3VydGggY29sdW1uPGJyPgorICAg
ICAgICAgICAgICAgIGZvdXJ0aCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAgZm91cnRoIGNv
bHVtbjxicj4KKyAgICAgICAgICAgICAgICBmaWZ0aCBjb2x1bW48YnI+CisgICAgICAgICAgICAg
ICAgZmlmdGggY29sdW1uPGJyPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbXVsdGlj
b2wvbmV3bXVsdGljb2wvZml4ZWQtaGVpZ2h0LWZpbGwtYmFsYW5jZS0yLWV4cGVjdGVkLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L211bHRpY29sL25ld211bHRpY29sL2ZpeGVkLWhlaWdodC1maWxs
LWJhbGFuY2UtMi1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQzMjk5ZjU1YTUxYWIzMTk4OGNk
MDgzYzkxNzNhYzY3NmFlYWU5ZTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L211bHRpY29sL25ld211bHRpY29sL2ZpeGVkLWhlaWdodC1maWxsLWJhbGFuY2UtMi1leHBlY3Rl
ZC5odG1sCkBAIC0wLDAgKzEsMTYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhl
YWQ+CisgICAgICAgIDx0aXRsZT5iYWxhbmNpbmcgZml4ZWQtaGVpZ2h0IG11bHRpY29sPC90aXRs
ZT4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgc3R5bGU9Im92ZXJmbG93OmhpZGRlbjsiPgorICAg
ICAgICA8cD5UaGVyZSBzaG91bGQgYmUgdGhyZWUgaWRlbnRpY2FsIGJsdWUgcmVjdGFuZ2xlcyBi
ZWxvdy48L3A+CisgICAgICAgIDxkaXYgc3R5bGU9IndpZHRoOjIwZW07Ij4KKyAgICAgICAgICAg
IDxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7IHdpZHRoOjZlbTsgaGVpZ2h0OjJlbTsgYmFja2dyb3Vu
ZDpibHVlOyI+PC9kaXY+CisgICAgICAgICAgICA8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0OyB3aWR0
aDoxZW07IGhlaWdodDoyZW07Ij48L2Rpdj4KKyAgICAgICAgICAgIDxkaXYgc3R5bGU9ImZsb2F0
OmxlZnQ7IHdpZHRoOjZlbTsgaGVpZ2h0OjJlbTsgYmFja2dyb3VuZDpibHVlOyI+PC9kaXY+Cisg
ICAgICAgICAgICA8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0OyB3aWR0aDoxZW07IGhlaWdodDoyZW07
Ij48L2Rpdj4KKyAgICAgICAgICAgIDxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7IHdpZHRoOjZlbTsg
aGVpZ2h0OjJlbTsgYmFja2dyb3VuZDpibHVlOyI+PC9kaXY+CisgICAgICAgIDwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wv
bmV3bXVsdGljb2wvZml4ZWQtaGVpZ2h0LWZpbGwtYmFsYW5jZS0yLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L211bHRpY29sL25ld211bHRpY29sL2ZpeGVkLWhlaWdodC1maWxsLWJhbGFuY2UtMi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmRlMWFlNWE5NjdiNzgzNzI0ZTcxMTIwOGJlOTVhNDE5Njg2OTVjOGMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L211bHRpY29sL25ld211bHRpY29s
L2ZpeGVkLWhlaWdodC1maWxsLWJhbGFuY2UtMi5odG1sCkBAIC0wLDAgKzEsMTYgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDx0aXRsZT5iYWxhbmNpbmcg
Zml4ZWQtaGVpZ2h0IG11bHRpY29sPC90aXRsZT4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAg
ICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRSZWdpb25CYXNlZENvbHVtbnNFbmFibGVkKHRydWUpOworICAgICAgICA8L3Njcmlw
dD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgc3R5bGU9Im92ZXJmbG93OmhpZGRlbjsiPgorICAg
ICAgICA8cD5UaGVyZSBzaG91bGQgYmUgdGhyZWUgaWRlbnRpY2FsIGJsdWUgcmVjdGFuZ2xlcyBi
ZWxvdy48L3A+CisgICAgICAgIDxkaXYgc3R5bGU9Ii13ZWJraXQtY29sdW1uczozOyAtd2Via2l0
LWNvbHVtbi1nYXA6MWVtOyBjb2x1bW5zOjM7IGNvbHVtbi1nYXA6MWVtOyBsaW5lLWhlaWdodDoy
ZW07IGhlaWdodDozLjllbTsgd2lkdGg6MjBlbTsiPgorICAgICAgICAgICAgPGRpdiBzdHlsZT0i
YmFja2dyb3VuZDpibHVlOyI+PGJyPjxicj48YnI+PC9kaXY+CisgICAgICAgIDwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221126</attachid>
            <date>2014-01-14 01:48:28 -0800</date>
            <delta_ts>2014-01-20 00:59:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-123993-20140114104824.patch</filename>
            <type>text/plain</type>
            <size>48419</size>
            <attacher name="Morten Stenshorne">mstensho</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYxNzY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzc0ZTJlY2QwNDcxMDVi
N2RiM2I5ODM4YzU4MGI3OGZlMjdjNjQ5Ny4uYmJiYWEwNTk2ZDhkODE0YjliYWNlODgyM2E2YjNj
NDMwMjAwZWMyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgwIEBACisyMDE0LTAxLTE0ICBNb3J0
ZW4gU3RlbnNob3JuZSAgPG1zdGVuc2hvQG9wZXJhLmNvbT4KKworICAgICAgICBSZWdpb24gYmFz
ZWQgbXVsdGljb2w6IHN1cHBvcnQgZXhwbGljaXQgY29sdW1uIGJyZWFrcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIzOTkzCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWVyZWx5IHN1cHBvcnRpbmcgaW5z
ZXJ0aW9uIG9mIGV4cGxpY2l0IChmb3JjZWQpIGNvbHVtbiBicmVha3MgaW4KKyAgICAgICAgdGhl
IHJlZ2lvbiBiYXNlZCBtdWx0aWNvbCBpbXBsZW1lbnRhdGlvbiBpcyByZWFsbHkgc2ltcGxlOiBq
dXN0CisgICAgICAgIGhvb2sgdXAgd2l0aCB3aGF0IHRoZSBDU1MgcmVnaW9ucyBjb2RlIGlzIGFs
cmVhZHkgZG9pbmcuCisKKyAgICAgICAgSG93ZXZlciwgdGhlcmUgaXMgb25lIGNvbXBsaWNhdGlv
bjogY29sdW1uIGJhbGFuY2luZy4gSW4gb3JkZXIgdG8KKyAgICAgICAgYmFsYW5jZSBjb2x1bW5z
IGFzIG5pY2VseSBhcyBwb3NzaWJsZSB3aGVuIHRoZXJlIGFyZSBleHBsaWNpdAorICAgICAgICBi
cmVha3MsIHdlIG5lZWQgdG8gZmlndXJlIG91dCBiZXR3ZWVuIHdoaWNoIGV4cGxpY2l0IGJyZWFr
cyB0aGUKKyAgICAgICAgaW1wbGljaXQgYnJlYWtzIHdpbGwgb2NjdXIgKGlmIHRoZXJlJ3Mgcm9v
bSBmb3IgYW55IGF0IGFsbCkuCisKKyAgICAgICAgVGVzdHM6IGZhc3QvbXVsdGljb2wvbmV3bXVs
dGljb2wvYnJlYWstYWZ0ZXIuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9tdWx0aWNvbC9uZXdt
dWx0aWNvbC9icmVhay1iZWZvcmUuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9tdWx0aWNvbC9u
ZXdtdWx0aWNvbC9icmVha3MtMi1jb2x1bW5zLTMtbm8tYmFsYW5jaW5nLmh0bWwKKyAgICAgICAg
ICAgICAgIGZhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvYnJlYWtzLTItY29sdW1ucy0zLmh0bWwK
KyAgICAgICAgICAgICAgIGZhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvYnJlYWtzLTMtY29sdW1u
cy0zLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvZml4ZWQt
aGVpZ2h0LWZpbGwtYmFsYW5jZS0yLmh0bWwKKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJC
bG9ja0Zsb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjphcHBseUJl
Zm9yZUJyZWFrKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6YXBwbHlBZnRl
ckJyZWFrKTogVXNlIHRoZSBhbHJlYWR5CisgICAgICAgIGV4aXN0aW5nIHJlZ2lvbiBicmVha2lu
ZyBjb2RlIHdoZW4gaW5zZXJ0aW5nIGJyZWFrcyBpbiByZWdpb24KKyAgICAgICAgYmFzZWQgbXVs
dGljb2wuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuaDoKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5CbG9jay5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJNdWx0aUNvbHVtbkJsb2NrOjpSZW5kZXJNdWx0aUNvbHVtbkJsb2NrKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlck11bHRpQ29sdW1uQmxvY2s6OnJlbGF5b3V0Rm9yUGFnaW5hdGlv
bik6IEF2b2lkCisgICAgICAgIHJlLWJhbGFuY2luZyBpZiB0aGUgbXVsdGljb2wncyBjb250ZW50
cyB3ZXJlIG5vdCBsYWlkIG91dC4gQXBhcnQKKyAgICAgICAgZnJvbSBiZWluZyBnb29kIGZvciBw
ZXJmb3JtYW5jZSwgdGhpcyBpcyBub3cgbmVjZXNzYXJ5IGJlY2F1c2Ugb2YKKyAgICAgICAgaG93
IGV4cGxpY2l0IGJyZWFrcyBhcmUgaW1wbGVtZW50ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJNdWx0aUNvbHVtbkJsb2NrOjpsYXlvdXRTcGVjaWFsRXhjbHVkZWRDaGlsZCk6CisgICAgICAg
IERldGVjdCBpZiB0aGUgY29udGVudHMgYXJlIGdvaW5nIHRvIGJlIGxhaWQgb3V0LCBvciBza2lw
cGVkLCBzbworICAgICAgICB0aGF0IHdlIGNhbiB0ZWxsIGlmIHdlIG5lZWQgdG8gKHJlLSliYWxh
bmNlIHRoZSBjb2x1bW5zCisgICAgICAgIGFmdGVyd2FyZHMuCisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlck11bHRpQ29sdW1uQmxvY2suaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTXVs
dGlDb2x1bW5GbG93VGhyZWFkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck11bHRpQ29s
dW1uRmxvd1RocmVhZDo6YWRkRm9yY2VkUmVnaW9uQnJlYWspOgorICAgICAgICBMb2NhdGUgdGhl
IGFwcHJvcHJpYXRlIG11bHRpLWNvbHVtbiBzZXQgYW5kIGNhbGwgaXRzCisgICAgICAgIGFkZEZv
cmNlZEJyZWFrKCkuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvd1Ro
cmVhZC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJNdWx0aUNvbHVtblNldDo6UmVuZGVyTXVsdGlDb2x1bW5T
ZXQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTXVsdGlDb2x1bW5TZXQ6OmZpbmRSdW5XaXRo
VGFsbGVzdENvbHVtbnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTXVsdGlDb2x1bW5TZXQ6
OmRpc3RyaWJ1dGVJbXBsaWNpdEJyZWFrcyk6IEZpZ3VyZQorICAgICAgICBvdXQgaG93IG1hbnkg
aW1wbGljaXQgYnJlYWtzIGVhY2ggc2luZ2xlICJjb250ZW50IHJ1biIgc2hvdWxkCisgICAgICAg
IGNvbnRhaW4uIFRoZSB0YWxsZXIgdGhlIGNvbnRlbnQgcnVuLCB0aGUgbW9yZSBpbXBsaWNpdCBi
cmVha3MuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNdWx0aUNvbHVtblNldDo6Y2FsY3VsYXRl
QmFsYW5jZWRIZWlnaHQpOiBUaGlzIGlzCisgICAgICAgIG5vdyBhIGNvbnN0IG1ldGhvZCB0aGF0
IG9ubHkgZG9lcyBoYWxmIG9mIHdoYXQgdGhlIG9sZAorICAgICAgICBjYWxjdWxhdGVCYWxhbmNl
ZEhlaWdodCgpIGRpZC4gVGhlIHJlc3QgKHN1Y2ggYXMgYWN0dWFsbHkgc3RvcmluZworICAgICAg
ICB0aGUgbmV3IGNvbHVtbiBoZWlnaHQpIGlzIGRvbmUgYnkgcmVjYWxjdWxhdGVCYWxhbmNlZEhl
aWdodCgpLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTXVsdGlDb2x1bW5TZXQ6OmNsZWFyRm9y
Y2VkQnJlYWtzKTogTmVlZHMgdG8gYmUKKyAgICAgICAgY2FsbGVkIGJldHdlZW4gZWFjaCBsYXlv
dXQgcGFzcywgdG8gY2xlYXIgdGhlIGxpc3Qgb2YgImNvbnRlbnQKKyAgICAgICAgcnVucyIuCisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJNdWx0aUNvbHVtblNldDo6YWRkRm9yY2VkQnJlYWspOiBP
bmx5IHVzZWZ1bCB3aGVuCisgICAgICAgIGNvbHVtbnMgYXJlIHRvIGJlIGJhbGFuY2VkLiBJdCBy
ZWNlaXZlcyBleHBsaWNpdCAoZm9yY2VkKSBicmVha3MKKyAgICAgICAgYW5kIHN0b3JlcyB0aGVt
IGFzICJjb250ZW50IHJ1bnMiLiBXaGVuIGxheW91dCBpcyBkb25lLCB3ZSdsbCBnbworICAgICAg
ICB0aHJvdWdoIHRoZSBsaXN0IG9mIGNvbnRlbnQgcnVucywgYW5kIHNlZSB3aGVyZSBpbXBsaWNp
dCBicmVha3MKKyAgICAgICAgc2hvdWxkIGJlIGluc2VydGVkIChpZiB0aGVyZSdzIHJvb20gZm9y
IGFueSkuIFRoZSBnb2FsIGlzIHRvCisgICAgICAgIGluc2VydCBpbXBsaWNpdCBicmVha3MgaW4g
c3VjaCBhIHdheSB0aGF0IHRoZSBmaW5hbCBjb2x1bW5zIGJlY29tZQorICAgICAgICBhcyBzaG9y
dCBhcyBwb3NzaWJsZS4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck11bHRpQ29sdW1uU2V0Ojpy
ZWNhbGN1bGF0ZUJhbGFuY2VkSGVpZ2h0KToKKyAgICAgICAgQ2FsY3VsYXRlcyBhbmQgc2V0cyBh
IG5ldyBiYWxhbmNlZCBjb2x1bW4gaGVpZ2h0LiBUaGlzIHVzZWQgdG8gYmUKKyAgICAgICAgZG9u
ZSBkaXJlY3RseSBpbiBjYWxjdWxhdGVCYWxhbmNlZEhlaWdodCgpLCBidXQgdGhhdCBtZXRob2Qg
aXMgbm93CisgICAgICAgIGNvbnN0IGFuZCBpdCBub3cgb25seSBjYWxjdWxhdGVzIHRoZSBuZXcg
aGVpZ2h0IGFuZCByZXR1cm5zIGl0LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTXVsdGlDb2x1
bW5TZXQ6OnByZXBhcmVGb3JMYXlvdXQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNdWx0
aUNvbHVtblNldC5oOiBSZW1vdmUgb2xkIGRhdGEgbWVtYmVycworICAgICAgICBpbnRlbmRlZCBm
b3IgZm9yY2VkIGJyZWFrcyAodGhleSB3ZXJlIHVudXNlZCksIGFuZCBpbnRyb2R1Y2UgYQorICAg
ICAgICAiY29udGVudCBydW4iIHZlY3RvciBpbnN0ZWFkLiBBIG5ldyBjb250ZW50IHJ1biBpcyB0
cmlnZ2VyZWQgYnkgYW4KKyAgICAgICAgZXhwbGljaXQgYnJlYWsuIFRoaXMgaXMgb25seSB1c2Vk
IHdoZW4gY29sdW1uIGJhbGFuY2luZyBpcworICAgICAgICBlbmFibGVkLiBXaGVuIG5vdCBiYWxh
bmNlZCwgUmVuZGVyTXVsdGlDb2x1bW5TZXQgZG9lc24ndCBuZWVkIHRvCisgICAgICAgIGRvIGFu
eXRoaW5nIHdoZW4gZXhwbGljaXQgYnJlYWtzIGFyZSBpbnNlcnRlZC4KKwogMjAxNC0wMS0xMSAg
U2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICAjaWZkZWYg
b3V0IHRoZSBjb250ZW50cyBvZiBUb3VjaCogZmlsZXMgZm9yIGlPUy4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAKaW5kZXggOWVlOWQwMDJmMmMwZjMxMGY2
MTk4MjE0MjMzZGE3ZTQxMDEyY2RiYS4uNDJhOTdlMzZlYWEwZDY3NjVmMGVhNzM5YWU4YzdiMDc4
ZWMyZTJiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
Rmxvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5j
cHAKQEAgLTEzMzYsMTUgKzEzMzYsMjEgQEAgc3RhdGljIGJvb2wgaW5Ob3JtYWxGbG93KFJlbmRl
ckJveCYgY2hpbGQpCiBMYXlvdXRVbml0IFJlbmRlckJsb2NrRmxvdzo6YXBwbHlCZWZvcmVCcmVh
ayhSZW5kZXJCb3gmIGNoaWxkLCBMYXlvdXRVbml0IGxvZ2ljYWxPZmZzZXQpCiB7CiAgICAgLy8g
RklYTUU6IEFkZCBwYWdlIGJyZWFrIGNoZWNraW5nIGhlcmUgd2hlbiB3ZSBzdXBwb3J0IHByaW50
aW5nLgotICAgIGJvb2wgY2hlY2tDb2x1bW5CcmVha3MgPSB2aWV3KCkubGF5b3V0U3RhdGUoKS0+
aXNQYWdpbmF0aW5nQ29sdW1ucygpOwotICAgIGJvb2wgY2hlY2tQYWdlQnJlYWtzID0gIWNoZWNr
Q29sdW1uQnJlYWtzICYmIHZpZXcoKS5sYXlvdXRTdGF0ZSgpLT5tX3BhZ2VMb2dpY2FsSGVpZ2h0
OyAvLyBGSVhNRTogT25jZSBjb2x1bW5zIGNhbiBwcmludCB3ZSBoYXZlIHRvIGNoZWNrIHRoaXMu
CiAgICAgUmVuZGVyRmxvd1RocmVhZCogZmxvd1RocmVhZCA9IGZsb3dUaHJlYWRDb250YWluaW5n
QmxvY2soKTsKKyAgICBib29sIGlzSW5zaWRlTXVsdGljb2xGbG93VGhyZWFkID0gZmxvd1RocmVh
ZCAmJiAhZmxvd1RocmVhZC0+aXNSZW5kZXJOYW1lZEZsb3dUaHJlYWQoKTsKKyAgICBib29sIGNo
ZWNrQ29sdW1uQnJlYWtzID0gaXNJbnNpZGVNdWx0aWNvbEZsb3dUaHJlYWQgfHwgdmlldygpLmxh
eW91dFN0YXRlKCktPmlzUGFnaW5hdGluZ0NvbHVtbnMoKTsKKyAgICBib29sIGNoZWNrUGFnZUJy
ZWFrcyA9ICFjaGVja0NvbHVtbkJyZWFrcyAmJiB2aWV3KCkubGF5b3V0U3RhdGUoKS0+bV9wYWdl
TG9naWNhbEhlaWdodDsgLy8gRklYTUU6IE9uY2UgY29sdW1ucyBjYW4gcHJpbnQgd2UgaGF2ZSB0
byBjaGVjayB0aGlzLgogICAgIGJvb2wgY2hlY2tSZWdpb25CcmVha3MgPSBmbG93VGhyZWFkICYm
IGZsb3dUaHJlYWQtPmlzUmVuZGVyTmFtZWRGbG93VGhyZWFkKCk7Ci0gICAgYm9vbCBjaGVja0Jl
Zm9yZUFsd2F5cyA9IChjaGVja0NvbHVtbkJyZWFrcyAmJiBjaGlsZC5zdHlsZSgpLmNvbHVtbkJy
ZWFrQmVmb3JlKCkgPT0gUEJBTFdBWVMpIHx8IChjaGVja1BhZ2VCcmVha3MgJiYgY2hpbGQuc3R5
bGUoKS5wYWdlQnJlYWtCZWZvcmUoKSA9PSBQQkFMV0FZUykKKyAgICBib29sIGNoZWNrQmVmb3Jl
QWx3YXlzID0gKGNoZWNrQ29sdW1uQnJlYWtzICYmIGNoaWxkLnN0eWxlKCkuY29sdW1uQnJlYWtC
ZWZvcmUoKSA9PSBQQkFMV0FZUykKKyAgICAgICAgfHwgKGNoZWNrUGFnZUJyZWFrcyAmJiBjaGls
ZC5zdHlsZSgpLnBhZ2VCcmVha0JlZm9yZSgpID09IFBCQUxXQVlTKQogICAgICAgICB8fCAoY2hl
Y2tSZWdpb25CcmVha3MgJiYgY2hpbGQuc3R5bGUoKS5yZWdpb25CcmVha0JlZm9yZSgpID09IFBC
QUxXQVlTKTsKICAgICBpZiAoY2hlY2tCZWZvcmVBbHdheXMgJiYgaW5Ob3JtYWxGbG93KGNoaWxk
KSAmJiBoYXNOZXh0UGFnZShsb2dpY2FsT2Zmc2V0LCBJbmNsdWRlUGFnZUJvdW5kYXJ5KSkgewot
ICAgICAgICBpZiAoY2hlY2tDb2x1bW5CcmVha3MpCi0gICAgICAgICAgICB2aWV3KCkubGF5b3V0
U3RhdGUoKS0+YWRkRm9yY2VkQ29sdW1uQnJlYWsoJmNoaWxkLCBsb2dpY2FsT2Zmc2V0KTsKKyAg
ICAgICAgaWYgKGNoZWNrQ29sdW1uQnJlYWtzKSB7CisgICAgICAgICAgICBpZiAoaXNJbnNpZGVN
dWx0aWNvbEZsb3dUaHJlYWQpCisgICAgICAgICAgICAgICAgY2hlY2tSZWdpb25CcmVha3MgPSB0
cnVlOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHZpZXcoKS5sYXlvdXRTdGF0
ZSgpLT5hZGRGb3JjZWRDb2x1bW5CcmVhaygmY2hpbGQsIGxvZ2ljYWxPZmZzZXQpOworICAgICAg
ICB9CiAgICAgICAgIGlmIChjaGVja1JlZ2lvbkJyZWFrcykgewogICAgICAgICAgICAgTGF5b3V0
VW5pdCBvZmZzZXRCcmVha0FkanVzdG1lbnQgPSAwOwogICAgICAgICAgICAgaWYgKGZsb3dUaHJl
YWQtPmFkZEZvcmNlZFJlZ2lvbkJyZWFrKHRoaXMsIG9mZnNldEZyb21Mb2dpY2FsVG9wT2ZGaXJz
dFBhZ2UoKSArIGxvZ2ljYWxPZmZzZXQsICZjaGlsZCwgdHJ1ZSwgJm9mZnNldEJyZWFrQWRqdXN0
bWVudCkpCkBAIC0xMzU4LDExICsxMzY0LDEzIEBAIExheW91dFVuaXQgUmVuZGVyQmxvY2tGbG93
OjphcHBseUJlZm9yZUJyZWFrKFJlbmRlckJveCYgY2hpbGQsIExheW91dFVuaXQgbG9naWNhCiBM
YXlvdXRVbml0IFJlbmRlckJsb2NrRmxvdzo6YXBwbHlBZnRlckJyZWFrKFJlbmRlckJveCYgY2hp
bGQsIExheW91dFVuaXQgbG9naWNhbE9mZnNldCwgTWFyZ2luSW5mbyYgbWFyZ2luSW5mbykKIHsK
ICAgICAvLyBGSVhNRTogQWRkIHBhZ2UgYnJlYWsgY2hlY2tpbmcgaGVyZSB3aGVuIHdlIHN1cHBv
cnQgcHJpbnRpbmcuCi0gICAgYm9vbCBjaGVja0NvbHVtbkJyZWFrcyA9IHZpZXcoKS5sYXlvdXRT
dGF0ZSgpLT5pc1BhZ2luYXRpbmdDb2x1bW5zKCk7Ci0gICAgYm9vbCBjaGVja1BhZ2VCcmVha3Mg
PSAhY2hlY2tDb2x1bW5CcmVha3MgJiYgdmlldygpLmxheW91dFN0YXRlKCktPm1fcGFnZUxvZ2lj
YWxIZWlnaHQ7IC8vIEZJWE1FOiBPbmNlIGNvbHVtbnMgY2FuIHByaW50IHdlIGhhdmUgdG8gY2hl
Y2sgdGhpcy4KICAgICBSZW5kZXJGbG93VGhyZWFkKiBmbG93VGhyZWFkID0gZmxvd1RocmVhZENv
bnRhaW5pbmdCbG9jaygpOworICAgIGJvb2wgaXNJbnNpZGVNdWx0aWNvbEZsb3dUaHJlYWQgPSBm
bG93VGhyZWFkICYmICFmbG93VGhyZWFkLT5pc1JlbmRlck5hbWVkRmxvd1RocmVhZCgpOworICAg
IGJvb2wgY2hlY2tDb2x1bW5CcmVha3MgPSBpc0luc2lkZU11bHRpY29sRmxvd1RocmVhZCB8fCB2
aWV3KCkubGF5b3V0U3RhdGUoKS0+aXNQYWdpbmF0aW5nQ29sdW1ucygpOworICAgIGJvb2wgY2hl
Y2tQYWdlQnJlYWtzID0gIWNoZWNrQ29sdW1uQnJlYWtzICYmIHZpZXcoKS5sYXlvdXRTdGF0ZSgp
LT5tX3BhZ2VMb2dpY2FsSGVpZ2h0OyAvLyBGSVhNRTogT25jZSBjb2x1bW5zIGNhbiBwcmludCB3
ZSBoYXZlIHRvIGNoZWNrIHRoaXMuCiAgICAgYm9vbCBjaGVja1JlZ2lvbkJyZWFrcyA9IGZsb3dU
aHJlYWQgJiYgZmxvd1RocmVhZC0+aXNSZW5kZXJOYW1lZEZsb3dUaHJlYWQoKTsKLSAgICBib29s
IGNoZWNrQWZ0ZXJBbHdheXMgPSAoY2hlY2tDb2x1bW5CcmVha3MgJiYgY2hpbGQuc3R5bGUoKS5j
b2x1bW5CcmVha0FmdGVyKCkgPT0gUEJBTFdBWVMpIHx8IChjaGVja1BhZ2VCcmVha3MgJiYgY2hp
bGQuc3R5bGUoKS5wYWdlQnJlYWtBZnRlcigpID09IFBCQUxXQVlTKQorICAgIGJvb2wgY2hlY2tB
ZnRlckFsd2F5cyA9IChjaGVja0NvbHVtbkJyZWFrcyAmJiBjaGlsZC5zdHlsZSgpLmNvbHVtbkJy
ZWFrQWZ0ZXIoKSA9PSBQQkFMV0FZUykKKyAgICAgICAgfHwgKGNoZWNrUGFnZUJyZWFrcyAmJiBj
aGlsZC5zdHlsZSgpLnBhZ2VCcmVha0FmdGVyKCkgPT0gUEJBTFdBWVMpCiAgICAgICAgIHx8IChj
aGVja1JlZ2lvbkJyZWFrcyAmJiBjaGlsZC5zdHlsZSgpLnJlZ2lvbkJyZWFrQWZ0ZXIoKSA9PSBQ
QkFMV0FZUyk7CiAgICAgaWYgKGNoZWNrQWZ0ZXJBbHdheXMgJiYgaW5Ob3JtYWxGbG93KGNoaWxk
KSAmJiBoYXNOZXh0UGFnZShsb2dpY2FsT2Zmc2V0LCBJbmNsdWRlUGFnZUJvdW5kYXJ5KSkgewog
ICAgICAgICBMYXlvdXRVbml0IG1hcmdpbk9mZnNldCA9IG1hcmdpbkluZm8uY2FuQ29sbGFwc2VX
aXRoTWFyZ2luQmVmb3JlKCkgPyBMYXlvdXRVbml0KCkgOiBtYXJnaW5JbmZvLm1hcmdpbigpOwpA
QCAtMTM3MCw4ICsxMzc4LDEyIEBAIExheW91dFVuaXQgUmVuZGVyQmxvY2tGbG93OjphcHBseUFm
dGVyQnJlYWsoUmVuZGVyQm94JiBjaGlsZCwgTGF5b3V0VW5pdCBsb2dpY2FsCiAgICAgICAgIC8v
IFNvIG91ciBtYXJnaW4gZG9lc24ndCBwYXJ0aWNpcGF0ZSBpbiB0aGUgbmV4dCBjb2xsYXBzaW5n
IHN0ZXBzLgogICAgICAgICBtYXJnaW5JbmZvLmNsZWFyTWFyZ2luKCk7CiAKLSAgICAgICAgaWYg
KGNoZWNrQ29sdW1uQnJlYWtzKQotICAgICAgICAgICAgdmlldygpLmxheW91dFN0YXRlKCktPmFk
ZEZvcmNlZENvbHVtbkJyZWFrKCZjaGlsZCwgbG9naWNhbE9mZnNldCk7CisgICAgICAgIGlmIChj
aGVja0NvbHVtbkJyZWFrcykgeworICAgICAgICAgICAgaWYgKGlzSW5zaWRlTXVsdGljb2xGbG93
VGhyZWFkKQorICAgICAgICAgICAgICAgIGNoZWNrUmVnaW9uQnJlYWtzID0gdHJ1ZTsKKyAgICAg
ICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICB2aWV3KCkubGF5b3V0U3RhdGUoKS0+YWRkRm9y
Y2VkQ29sdW1uQnJlYWsoJmNoaWxkLCBsb2dpY2FsT2Zmc2V0KTsKKyAgICAgICAgfQogICAgICAg
ICBpZiAoY2hlY2tSZWdpb25CcmVha3MpIHsKICAgICAgICAgICAgIExheW91dFVuaXQgb2Zmc2V0
QnJlYWtBZGp1c3RtZW50ID0gMDsKICAgICAgICAgICAgIGlmIChmbG93VGhyZWFkLT5hZGRGb3Jj
ZWRSZWdpb25CcmVhayh0aGlzLCBvZmZzZXRGcm9tTG9naWNhbFRvcE9mRmlyc3RQYWdlKCkgKyBs
b2dpY2FsT2Zmc2V0ICsgbWFyZ2luT2Zmc2V0LCAmY2hpbGQsIGZhbHNlLCAmb2Zmc2V0QnJlYWtB
ZGp1c3RtZW50KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJG
bG93VGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5o
CmluZGV4IDEwOWY3YTk1OGEyZDQ5NDI5MWU4MmZlYzE3YmFjMTBkMDVhMDZjYjAuLmUxMzk1Mjhk
MDY5ZTAzNDlhOGU3MjA0YjM2NzJjOGY3N2FhY2ZlNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuaApAQCAtMTQ1LDcgKzE0NSw3IEBAIHB1YmxpYzoKICAg
ICB2b2lkIG1hcmtBdXRvTG9naWNhbEhlaWdodFJlZ2lvbnNGb3JMYXlvdXQoKTsKICAgICB2b2lk
IG1hcmtSZWdpb25zRm9yT3ZlcmZsb3dMYXlvdXRJZk5lZWRlZCgpOwogCi0gICAgYm9vbCBhZGRG
b3JjZWRSZWdpb25CcmVhayhjb25zdCBSZW5kZXJCbG9jayosIExheW91dFVuaXQsIFJlbmRlckJv
eCogYnJlYWtDaGlsZCwgYm9vbCBpc0JlZm9yZSwgTGF5b3V0VW5pdCogb2Zmc2V0QnJlYWtBZGp1
c3RtZW50ID0gMCk7CisgICAgdmlydHVhbCBib29sIGFkZEZvcmNlZFJlZ2lvbkJyZWFrKGNvbnN0
IFJlbmRlckJsb2NrKiwgTGF5b3V0VW5pdCwgUmVuZGVyQm94KiBicmVha0NoaWxkLCBib29sIGlz
QmVmb3JlLCBMYXlvdXRVbml0KiBvZmZzZXRCcmVha0FkanVzdG1lbnQgPSAwKTsKICAgICB2b2lk
IGFwcGx5QnJlYWtBZnRlckNvbnRlbnQoTGF5b3V0VW5pdCk7CiAKICAgICBib29sIHBhZ2VMb2dp
Y2FsU2l6ZUNoYW5nZWQoKSBjb25zdCB7IHJldHVybiBtX3BhZ2VMb2dpY2FsU2l6ZUNoYW5nZWQ7
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVt
bkJsb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkJs
b2NrLmNwcAppbmRleCA4ZTUxMDljNmRmN2I5NmU0MGM2YWJmYjRlMjVhYjNiZTFiODc4ZGYwLi42
OGYxNmE3NmNlYThkMDlmNDQ1M2E1NjRlYzRiZThmMDE5NTEwMzY5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5CbG9jay5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uQmxvY2suY3BwCkBAIC00MCw2
ICs0MCw3IEBAIFJlbmRlck11bHRpQ29sdW1uQmxvY2s6OlJlbmRlck11bHRpQ29sdW1uQmxvY2so
RWxlbWVudCYgZWxlbWVudCwgUGFzc1JlZjxSZW5kZXJTCiAgICAgLCBtX2NvbHVtbldpZHRoKDAp
CiAgICAgLCBtX2NvbHVtbkhlaWdodEF2YWlsYWJsZSgwKQogICAgICwgbV9pbkJhbGFuY2luZ1Bh
c3MoZmFsc2UpCisgICAgLCBtX25lZWRzUmViYWxhbmNpbmcoZmFsc2UpCiB7CiB9CiAKQEAgLTk2
LDggKzk3LDkgQEAgdm9pZCBSZW5kZXJNdWx0aUNvbHVtbkJsb2NrOjpjaGVja0ZvclBhZ2luYXRp
b25Mb2dpY2FsSGVpZ2h0Q2hhbmdlKExheW91dFVuaXQmIC8KIAogYm9vbCBSZW5kZXJNdWx0aUNv
bHVtbkJsb2NrOjpyZWxheW91dEZvclBhZ2luYXRpb24oYm9vbCwgTGF5b3V0VW5pdCwgTGF5b3V0
U3RhdGVNYWludGFpbmVyJiBzdGF0ZVB1c2hlcikKIHsKLSAgICBpZiAobV9pbkJhbGFuY2luZ1Bh
c3MgfHwgIXJlcXVpcmVzQmFsYW5jaW5nKCkpCisgICAgaWYgKG1faW5CYWxhbmNpbmdQYXNzIHx8
ICFtX25lZWRzUmViYWxhbmNpbmcpCiAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBtX25lZWRz
UmViYWxhbmNpbmcgPSBmYWxzZTsKICAgICBtX2luQmFsYW5jaW5nUGFzcyA9IHRydWU7IC8vIFBy
ZXZlbnQgcmUtZW50ZXJpbmcgdGhpcyBtZXRob2QgKGFuZCByZWN1cnNpb24gaW50byBsYXlvdXQp
LgogCiAgICAgYm9vbCBuZWVkc1JlbGF5b3V0OwpAQCAtMTEzLDcgKzExNSw3IEBAIGJvb2wgUmVu
ZGVyTXVsdGlDb2x1bW5CbG9jazo6cmVsYXlvdXRGb3JQYWdpbmF0aW9uKGJvb2wsIExheW91dFVu
aXQsIExheW91dFN0YXRlCiAgICAgICAgIGZvciAoUmVuZGVyQm94KiBjaGlsZEJveCA9IGZpcnN0
Q2hpbGRCb3goKTsgY2hpbGRCb3g7IGNoaWxkQm94ID0gY2hpbGRCb3gtPm5leHRTaWJsaW5nQm94
KCkpCiAgICAgICAgICAgICBpZiAoY2hpbGRCb3ggIT0gbV9mbG93VGhyZWFkICYmIGNoaWxkQm94
LT5pc1JlbmRlck11bHRpQ29sdW1uU2V0KCkpIHsKICAgICAgICAgICAgICAgICBSZW5kZXJNdWx0
aUNvbHVtblNldCogbXVsdGljb2xTZXQgPSB0b1JlbmRlck11bHRpQ29sdW1uU2V0KGNoaWxkQm94
KTsKLSAgICAgICAgICAgICAgICBpZiAobXVsdGljb2xTZXQtPmNhbGN1bGF0ZUJhbGFuY2VkSGVp
Z2h0KGZpcnN0UGFzcykpIHsKKyAgICAgICAgICAgICAgICBpZiAobXVsdGljb2xTZXQtPnJlY2Fs
Y3VsYXRlQmFsYW5jZWRIZWlnaHQoZmlyc3RQYXNzKSkgewogICAgICAgICAgICAgICAgICAgICBt
dWx0aWNvbFNldC0+c2V0Q2hpbGROZWVkc0xheW91dChNYXJrT25seVRoaXMpOwogICAgICAgICAg
ICAgICAgICAgICBuZWVkc1JlbGF5b3V0ID0gdHJ1ZTsKICAgICAgICAgICAgICAgICB9CkBAIC0x
NzAsNiArMTcyLDE4IEBAIFJlbmRlck9iamVjdCogUmVuZGVyTXVsdGlDb2x1bW5CbG9jazo6bGF5
b3V0U3BlY2lhbEV4Y2x1ZGVkQ2hpbGQoYm9vbCByZWxheW91dENoCiAgICAgaWYgKHJlbGF5b3V0
Q2hpbGRyZW4pCiAgICAgICAgIG1fZmxvd1RocmVhZC0+c2V0Q2hpbGROZWVkc0xheW91dChNYXJr
T25seVRoaXMpOwogICAgIAorICAgIGlmIChyZXF1aXJlc0JhbGFuY2luZygpKSB7CisgICAgICAg
IC8vIEF0IHRoZSBlbmQgb2YgbXVsdGljb2wgbGF5b3V0LCByZWxheW91dEZvclBhZ2luYXRpb24o
KSBpcyBjYWxsZWQgdW5jb25kaXRpb25hbGx5LCBidXQgaWYKKyAgICAgICAgLy8gbm8gY2hpbGRy
ZW4gYXJlIHRvIGJlIGxhaWQgb3V0IChlLmcuIGZpeGVkIHdpZHRoIHdpdGggbGF5b3V0IGFscmVh
ZHkgYmVpbmcgdXAtdG8tZGF0ZSksCisgICAgICAgIC8vIHdlIHdhbnQgdG8gcHJldmVudCBpdCBm
cm9tIGRvaW5nIGFueSB3b3JrLCBzbyB0aGF0IHRoZSBjb2x1bW4gYmFsYW5jaW5nIG1hY2hpbmVy
eSBkb2Vzbid0CisgICAgICAgIC8vIGtpY2sgaW4gYW5kIHRyaWdnZXIgYWRkaXRpb25hbCB1bm5l
Y2Vzc2FyeSBsYXlvdXQgcGFzc2VzLiBBY3R1YWxseSwgaXQncyBub3QganVzdCBhIGdvb2QKKyAg
ICAgICAgLy8gaWRlYSBpbiBnZW5lcmFsIHRvIG5vdCB3YXN0ZSB0aW1lIG9uIGJhbGFuY2luZyBj
b250ZW50IHRoYXQgaGFzbid0IGJlZW4gcmUtbGFpZCBvdXQ7IHdlCisgICAgICAgIC8vIGFyZSBh
Y3R1YWxseSByZXF1aXJlZCB0byBndWFyYW50ZWUgdGhpcy4gVGhlIGNhbGN1bGF0aW9uIG9mIGlt
cGxpY2l0IGJyZWFrcyBuZWVkcyB0byBiZQorICAgICAgICAvLyBwcmVjZWRlZCBieSBhIHByb3Bl
ciBsYXlvdXQgcGFzcywgc2luY2UgaXQncyBsYXlvdXQgdGhhdCBzZXRzIHVwIGNvbnRlbnQgcnVu
cywgYW5kIHRoZQorICAgICAgICAvLyBydW5zIGdldCBkZWxldGVkIHJpZ2h0IGFmdGVyIGV2ZXJ5
IHBhc3MuCisgICAgICAgIG1fbmVlZHNSZWJhbGFuY2luZyA9IHNob3VsZEludmFsaWRhdGVSZWdp
b25zIHx8IG1fZmxvd1RocmVhZC0+bmVlZHNMYXlvdXQoKTsKKyAgICB9CisKICAgICBzZXRMb2dp
Y2FsVG9wRm9yQ2hpbGQoKm1fZmxvd1RocmVhZCwgYm9yZGVyQW5kUGFkZGluZ0JlZm9yZSgpKTsK
ICAgICBtX2Zsb3dUaHJlYWQtPmxheW91dElmTmVlZGVkKCk7CiAgICAgZGV0ZXJtaW5lTG9naWNh
bExlZnRQb3NpdGlvbkZvckNoaWxkKCptX2Zsb3dUaHJlYWQpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uQmxvY2suaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkJsb2NrLmgKaW5kZXggYWU0NzQzODhkMmIz
NWY1NjIxMDNjZjQzOTQxMjMwMmNhZjhjYzQ1Yi4uOThhNmVjYTY5NDU4NDQ0MDU5OTFjZDYzNWZi
YTQzNzNiYzIwZmNmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck11bHRpQ29sdW1uQmxvY2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TXVsdGlDb2x1bW5CbG9jay5oCkBAIC03MSw2ICs3MSw3IEBAIHByaXZhdGU6CiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyBUaGVzZSB2YWx1ZXMgd2lsbCBiZSBjYWNoZWQgKGV2ZW50
dWFsbHkpIGZvciBtdWx0aS1jb2x1bW4gYmxvY2tzLgogICAgIExheW91dFVuaXQgbV9jb2x1bW5I
ZWlnaHRBdmFpbGFibGU7IC8vIFRvdGFsIGhlaWdodCBhdmFpbGFibGUgdG8gY29sdW1ucywgb3Ig
MCBpZiBhdXRvLgogICAgIGJvb2wgbV9pbkJhbGFuY2luZ1Bhc3M7IC8vIFNldCB3aGVuIHJlbGF5
b3V0aW5nIGZvciBjb2x1bW4gYmFsYW5jaW5nLgorICAgIGJvb2wgbV9uZWVkc1JlYmFsYW5jaW5n
OwogfTsKIAogUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlck11bHRpQ29sdW1uQmxvY2ss
IGlzUmVuZGVyTXVsdGlDb2x1bW5CbG9jaygpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvd1RocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93VGhyZWFkLmNwcAppbmRleCBkMzdlYTNm
MjAyOTBiYTA4NWUyM2UxOWUxNmE2ODkzMWY2MzE4NDY3Li5hNzc2NmM1OGFjNDRiZGQ2ODUwNTM4
NDYxNDBlZjU4YWNlZWViNWEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTXVsdGlDb2x1bW5GbG93VGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93VGhyZWFkLmNwcApAQCAtMTEwLDQgKzExMCwxNSBA
QCB2b2lkIFJlbmRlck11bHRpQ29sdW1uRmxvd1RocmVhZDo6dXBkYXRlTWluaW11bVBhZ2VIZWln
aHQoY29uc3QgUmVuZGVyQmxvY2sqIGJsbwogICAgICAgICBtdWx0aWNvbFNldC0+dXBkYXRlTWlu
aW11bUNvbHVtbkhlaWdodChtaW5IZWlnaHQpOwogfQogCitib29sIFJlbmRlck11bHRpQ29sdW1u
Rmxvd1RocmVhZDo6YWRkRm9yY2VkUmVnaW9uQnJlYWsoY29uc3QgUmVuZGVyQmxvY2sqIGJsb2Nr
LCBMYXlvdXRVbml0IG9mZnNldCwgUmVuZGVyQm94KiAvKmJyZWFrQ2hpbGQqLywgYm9vbCAvKmlz
QmVmb3JlKi8sIExheW91dFVuaXQqIG9mZnNldEJyZWFrQWRqdXN0bWVudCkKK3sKKyAgICBpZiAo
UmVuZGVyTXVsdGlDb2x1bW5TZXQqIG11bHRpY29sU2V0ID0gdG9SZW5kZXJNdWx0aUNvbHVtblNl
dChyZWdpb25BdEJsb2NrT2Zmc2V0KGJsb2NrLCBvZmZzZXQpKSkgeworICAgICAgICBtdWx0aWNv
bFNldC0+YWRkRm9yY2VkQnJlYWsob2Zmc2V0KTsKKyAgICAgICAgaWYgKG9mZnNldEJyZWFrQWRq
dXN0bWVudCkKKyAgICAgICAgICAgICpvZmZzZXRCcmVha0FkanVzdG1lbnQgPSBwYWdlTG9naWNh
bEhlaWdodEZvck9mZnNldChvZmZzZXQpID8gcGFnZVJlbWFpbmluZ0xvZ2ljYWxIZWlnaHRGb3JP
ZmZzZXQob2Zmc2V0LCBJbmNsdWRlUGFnZUJvdW5kYXJ5KSA6IExheW91dFVuaXQoMCk7CisgICAg
ICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3dUaHJl
YWQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3dUaHJl
YWQuaAppbmRleCBmMzY4MTJjNTMxMTJjYWM0NDY0YjM0NTllZjU4ZDNkMTk3NjhhNjc5Li5mM2Uw
MWY0NTkwZmNmNDMyZWZkYTUwOTY0NDIxOGNkNjMwZmEzZWM1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93VGhyZWFkLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvd1RocmVhZC5oCkBAIC00
Myw2ICs0Myw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBMYXlvdXRVbml0IGluaXRpYWxMb2dp
Y2FsV2lkdGgoKSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0UGFnZUJyZWFr
KGNvbnN0IFJlbmRlckJsb2NrKiwgTGF5b3V0VW5pdCBvZmZzZXQsIExheW91dFVuaXQgc3BhY2VT
aG9ydGFnZSkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZU1pbmltdW1QYWdlSGVp
Z2h0KGNvbnN0IFJlbmRlckJsb2NrKiwgTGF5b3V0VW5pdCBvZmZzZXQsIExheW91dFVuaXQgbWlu
SGVpZ2h0KSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGJvb2wgYWRkRm9yY2VkUmVnaW9uQnJlYWso
Y29uc3QgUmVuZGVyQmxvY2sqLCBMYXlvdXRVbml0LCBSZW5kZXJCb3gqIGJyZWFrQ2hpbGQsIGJv
b2wgaXNCZWZvcmUsIExheW91dFVuaXQqIG9mZnNldEJyZWFrQWRqdXN0bWVudCA9IDApIE9WRVJS
SURFOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uU2V0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5jcHAKaW5kZXggNDI4NmRhOTAxNGYzYzlm
NmRlNDYzZWE2MDQzZmJmZmVjYmQxZmI5Zi4uOGI5YjU2OTFhY2Y5NDNiMjlkOTYzYTk4NzA4YmM2
MzFkMDJhNTIwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11
bHRpQ29sdW1uU2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVs
dGlDb2x1bW5TZXQuY3BwCkBAIC00MSw5ICs0MSw2IEBAIFJlbmRlck11bHRpQ29sdW1uU2V0OjpS
ZW5kZXJNdWx0aUNvbHVtblNldChSZW5kZXJGbG93VGhyZWFkJiBmbG93VGhyZWFkLCBQYXNzUmVm
CiAgICAgLCBtX21heENvbHVtbkhlaWdodChMYXlvdXRVbml0OjptYXgoKSkKICAgICAsIG1fbWlu
U3BhY2VTaG9ydGFnZShMYXlvdXRVbml0OjptYXgoKSkKICAgICAsIG1fbWluaW11bUNvbHVtbkhl
aWdodCgwKQotICAgICwgbV9mb3JjZWRCcmVha3NDb3VudCgwKQotICAgICwgbV9tYXhpbXVtRGlz
dGFuY2VCZXR3ZWVuRm9yY2VkQnJlYWtzKDApCi0gICAgLCBtX2ZvcmNlZEJyZWFrT2Zmc2V0KDAp
CiB7CiB9CiAKQEAgLTcxLDQ1ICs2OCwxMjIgQEAgdm9pZCBSZW5kZXJNdWx0aUNvbHVtblNldDo6
c2V0QW5kQ29uc3RyYWluQ29sdW1uSGVpZ2h0KExheW91dFVuaXQgbmV3SGVpZ2h0KQogICAgIC8v
IEZJWE1FOiB0aGUgaGVpZ2h0IG1heSBhbHNvIGJlIGFmZmVjdGVkIGJ5IHRoZSBlbmNsb3Npbmcg
cGFnaW5hdGlvbiBjb250ZXh0LCBpZiBhbnkuCiB9CiAKLWJvb2wgUmVuZGVyTXVsdGlDb2x1bW5T
ZXQ6OmNhbGN1bGF0ZUJhbGFuY2VkSGVpZ2h0KGJvb2wgaW5pdGlhbCkKK3Vuc2lnbmVkIFJlbmRl
ck11bHRpQ29sdW1uU2V0OjpmaW5kUnVuV2l0aFRhbGxlc3RDb2x1bW5zKCkgY29uc3QKIHsKLSAg
ICBBU1NFUlQodG9SZW5kZXJNdWx0aUNvbHVtbkJsb2NrKHBhcmVudCgpKS0+cmVxdWlyZXNCYWxh
bmNpbmcoKSk7Ci0gICAgTGF5b3V0VW5pdCBvbGRDb2x1bW5IZWlnaHQgPSBtX2NvbXB1dGVkQ29s
dW1uSGVpZ2h0OwotICAgIExheW91dFVuaXQgY3VycmVudE1pblNwYWNlU2hvcnRhZ2UgPSBtX21p
blNwYWNlU2hvcnRhZ2U7Ci0gICAgbV9taW5TcGFjZVNob3J0YWdlID0gTGF5b3V0VW5pdDo6bWF4
KCk7CisgICAgdW5zaWduZWQgaW5kZXhXaXRoTGFyZ2VzdEhlaWdodCA9IDA7CisgICAgTGF5b3V0
VW5pdCBsYXJnZXN0SGVpZ2h0OworICAgIExheW91dFVuaXQgcHJldmlvdXNPZmZzZXQ7CisgICAg
c2l6ZV90IHJ1bkNvdW50ID0gbV9jb250ZW50UnVucy5zaXplKCk7CisgICAgQVNTRVJUKHJ1bkNv
dW50KTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHJ1bkNvdW50OyBpKyspIHsKKyAgICAg
ICAgY29uc3QgQ29udGVudFJ1biYgcnVuID0gbV9jb250ZW50UnVuc1tpXTsKKyAgICAgICAgTGF5
b3V0VW5pdCBoZWlnaHQgPSBydW4uY29sdW1uTG9naWNhbEhlaWdodChwcmV2aW91c09mZnNldCk7
CisgICAgICAgIGlmIChsYXJnZXN0SGVpZ2h0IDwgaGVpZ2h0KSB7CisgICAgICAgICAgICBsYXJn
ZXN0SGVpZ2h0ID0gaGVpZ2h0OworICAgICAgICAgICAgaW5kZXhXaXRoTGFyZ2VzdEhlaWdodCA9
IGk7CisgICAgICAgIH0KKyAgICAgICAgcHJldmlvdXNPZmZzZXQgPSBydW4uYnJlYWtPZmZzZXQo
KTsKKyAgICB9CisgICAgcmV0dXJuIGluZGV4V2l0aExhcmdlc3RIZWlnaHQ7Cit9CisKK3ZvaWQg
UmVuZGVyTXVsdGlDb2x1bW5TZXQ6OmRpc3RyaWJ1dGVJbXBsaWNpdEJyZWFrcygpCit7CisgICAg
dW5zaWduZWQgYnJlYWtDb3VudCA9IGZvcmNlZEJyZWFrc0NvdW50KCk7CisKKyNpZm5kZWYgTkRF
QlVHCisgICAgLy8gVGhlcmUgc2hvdWxkIGJlIG5vIGltcGxpY2l0IGJyZWFrcyBhc3N1bWVkIGF0
IHRoaXMgcG9pbnQuCisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGJyZWFrQ291bnQ7IGkr
KykKKyAgICAgICAgQVNTRVJUKCFtX2NvbnRlbnRSdW5zW2ldLmFzc3VtZWRJbXBsaWNpdEJyZWFr
cygpKTsKKyNlbmRpZiAvLyBOREVCVUcKKworICAgIC8vIFRoZXJlIHdpbGwgYWx3YXlzIGJlIGF0
IGxlYXN0IG9uZSBicmVhaywgc2luY2UgdGhlIGZsb3cgdGhyZWFkIHJlcG9ydHMgYSAiZm9yY2Vk
IGJyZWFrIiBhdAorICAgIC8vIGVuZCBvZiBjb250ZW50LgorICAgIEFTU0VSVChicmVha0NvdW50
ID49IDEpOworCisgICAgLy8gSWYgdGhlcmUgaXMgcm9vbSBmb3IgbW9yZSBicmVha3MgKHRvIHJl
YWNoIHRoZSB1c2VkIHZhbHVlIG9mIGNvbHVtbi1jb3VudCksIGltYWdpbmUgdGhhdCB3ZQorICAg
IC8vIGluc2VydCBpbXBsaWNpdCBicmVha3MgYXQgc3VpdGFibGUgbG9jYXRpb25zLiBBdCBhbnkg
Z2l2ZW4gdGltZSwgdGhlIGNvbnRlbnQgcnVuIHdpdGggdGhlCisgICAgLy8gY3VycmVudGx5IHRh
bGxlc3QgY29sdW1ucyB3aWxsIGdldCBhbm90aGVyIGltcGxpY2l0IGJyZWFrICJpbnNlcnRlZCIs
IHdoaWNoIHdpbGwgaW5jcmVhc2UgaXRzCisgICAgLy8gY29sdW1uIGNvdW50IGJ5IG9uZSBhbmQg
c2hyaW5rIGl0cyBjb2x1bW5zJyBoZWlnaHQuIFJlcGVhdCB1bnRpbCB3ZSBoYXZlIHRoZSBkZXNp
cmVkIHRvdGFsCisgICAgLy8gbnVtYmVyIG9mIGJyZWFrcy4gVGhlIGxhcmdlc3QgY29sdW1uIGhl
aWdodCBhbW9uZyB0aGUgcnVucyB3aWxsIHRoZW4gYmUgdGhlIGluaXRpYWwgY29sdW1uCisgICAg
Ly8gaGVpZ2h0IGZvciB0aGUgYmFsYW5jZXIgdG8gdXNlLgorICAgIHdoaWxlIChicmVha0NvdW50
IDwgbV9jb21wdXRlZENvbHVtbkNvdW50KSB7CisgICAgICAgIHVuc2lnbmVkIGluZGV4ID0gZmlu
ZFJ1bldpdGhUYWxsZXN0Q29sdW1ucygpOworICAgICAgICBtX2NvbnRlbnRSdW5zW2luZGV4XS5h
c3N1bWVBbm90aGVySW1wbGljaXRCcmVhaygpOworICAgICAgICBicmVha0NvdW50Kys7CisgICAg
fQorfQogCitMYXlvdXRVbml0IFJlbmRlck11bHRpQ29sdW1uU2V0OjpjYWxjdWxhdGVCYWxhbmNl
ZEhlaWdodChib29sIGluaXRpYWwpIGNvbnN0Cit7CiAgICAgaWYgKGluaXRpYWwpIHsKICAgICAg
ICAgLy8gU3RhcnQgd2l0aCB0aGUgbG93ZXN0IGltYWdpbmFibGUgY29sdW1uIGhlaWdodC4KLSAg
ICAgICAgTGF5b3V0VW5pdCBsb2dpY2FsSGVpZ2h0R3Vlc3MgPSBjZWlsZihmbG9hdChmbG93VGhy
ZWFkKCktPmxvZ2ljYWxIZWlnaHQoKSkgLyBmbG9hdChtX2NvbXB1dGVkQ29sdW1uQ291bnQpKTsK
LSAgICAgICAgbG9naWNhbEhlaWdodEd1ZXNzID0gc3RkOjptYXgobG9naWNhbEhlaWdodEd1ZXNz
LCBtX21pbmltdW1Db2x1bW5IZWlnaHQpOwotICAgICAgICBzZXRBbmRDb25zdHJhaW5Db2x1bW5I
ZWlnaHQobG9naWNhbEhlaWdodEd1ZXNzKTsKLQotICAgICAgICAvLyBUaGUgbXVsdGljb2wgY29u
dGFpbmVyIG5vdyB0eXBpY2FsbHkgbmVlZHMgYXQgbGVhc3Qgb25lIG1vcmUgbGF5b3V0IHBhc3Mg
d2l0aCBhIG5ldwotICAgICAgICAvLyBjb2x1bW4gaGVpZ2h0LCBidXQgaWYgaGVpZ2h0IHdhcyBz
cGVjaWZpZWQsIHdlIG9ubHkgbmVlZCB0byBkbyB0aGlzIGlmIHdlIGZvdW5kIHRoYXQgd2UKLSAg
ICAgICAgLy8gbWlnaHQgbmVlZCBsZXNzIHNwYWNlIHRoYW4gdGhhdC4gT24gdGhlIG90aGVyIGhh
bmQsIGlmIHdlIGRldGVybWluZWQgdGhhdCB0aGUgY29sdW1ucwotICAgICAgICAvLyBuZWVkIHRv
IGJlIGFzIHRhbGwgYXMgdGhlIHNwZWNpZmllZCBoZWlnaHQgb2YgdGhlIGNvbnRhaW5lciwgd2Ug
aGF2ZSBhbHJlYWR5IGxhaWQgaXQgb3V0Ci0gICAgICAgIC8vIGNvcnJlY3RseSwgYW5kIHRoZXJl
J3Mgbm8gbmVlZCBmb3IgYW5vdGhlciBwYXNzLgotICAgICAgICByZXR1cm4gbV9jb21wdXRlZENv
bHVtbkhlaWdodCAhPSBvbGRDb2x1bW5IZWlnaHQ7CisgICAgICAgIHVuc2lnbmVkIGluZGV4ID0g
ZmluZFJ1bldpdGhUYWxsZXN0Q29sdW1ucygpOworICAgICAgICBMYXlvdXRVbml0IHN0YXJ0T2Zm
c2V0ID0gaW5kZXggPiAwID8gbV9jb250ZW50UnVuc1tpbmRleCAtIDFdLmJyZWFrT2Zmc2V0KCkg
OiBMYXlvdXRVbml0KDApOworICAgICAgICByZXR1cm4gc3RkOjptYXg8TGF5b3V0VW5pdD4obV9j
b250ZW50UnVuc1tpbmRleF0uY29sdW1uTG9naWNhbEhlaWdodChzdGFydE9mZnNldCksIG1fbWlu
aW11bUNvbHVtbkhlaWdodCk7CiAgICAgfQogCi0gICAgaWYgKGNvbHVtbkNvdW50KCkgPD0gY29t
cHV0ZWRDb2x1bW5Db3VudCgpKQorICAgIGlmIChjb2x1bW5Db3VudCgpIDw9IGNvbXB1dGVkQ29s
dW1uQ291bnQoKSkgewogICAgICAgICAvLyBXaXRoIHRoZSBjdXJyZW50IGNvbHVtbiBoZWlnaHQs
IHRoZSBjb250ZW50IGZpdHMgd2l0aG91dCBjcmVhdGluZyBvdmVyZmxvd2luZyBjb2x1bW5zLiBX
ZSdyZSBkb25lLgotICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJldHVybiBtX2NvbXB1
dGVkQ29sdW1uSGVpZ2h0OworICAgIH0KKworICAgIGlmIChmb3JjZWRCcmVha3NDb3VudCgpID4g
MSAmJiBmb3JjZWRCcmVha3NDb3VudCgpID49IGNvbXB1dGVkQ29sdW1uQ291bnQoKSkgeworICAg
ICAgICAvLyBUb28gbWFueSBmb3JjZWQgYnJlYWtzIHRvIGFsbG93IGFueSBpbXBsaWNpdCBicmVh
a3MuIEluaXRpYWwgYmFsYW5jaW5nIHNob3VsZCBhbHJlYWR5CisgICAgICAgIC8vIGhhdmUgc2V0
IGEgZ29vZCBoZWlnaHQuIFRoZXJlJ3Mgbm90aGluZyBtb3JlIHdlIHNob3VsZCBkby4KKyAgICAg
ICAgcmV0dXJuIG1fY29tcHV0ZWRDb2x1bW5IZWlnaHQ7CisgICAgfQogCiAgICAgLy8gSWYgdGhl
IGluaXRpYWwgZ3Vlc3NlZCBjb2x1bW4gaGVpZ2h0IHdhc24ndCBlbm91Z2gsIHN0cmV0Y2ggaXQg
bm93LiBTdHJldGNoIGJ5IHRoZSBsb3dlc3QKICAgICAvLyBhbW91bnQgb2Ygc3BhY2Ugc2hvcnRh
Z2UgZm91bmQgZHVyaW5nIGxheW91dC4KIAotICAgIEFTU0VSVChjdXJyZW50TWluU3BhY2VTaG9y
dGFnZSAhPSBMYXlvdXRVbml0OjptYXgoKSk7IC8vIElmIHRoaXMgY2FuIGFjdHVhbGx5IGhhcHBl
biwgd2UgcHJvYmFibHkgaGF2ZSBhIGJ1Zy4KLSAgICBpZiAoY3VycmVudE1pblNwYWNlU2hvcnRh
Z2UgPT0gTGF5b3V0VW5pdDo6bWF4KCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsgLy8gU28gYmFp
bCBvdXQgcmF0aGVyIHRoYW4gbG9vcGluZyBpbmZpbml0ZWx5LgorICAgIEFTU0VSVChtX21pblNw
YWNlU2hvcnRhZ2UgPiAwKTsgLy8gV2Ugc2hvdWxkIG5ldmVyIF9zaHJpbmtfIHRoZSBoZWlnaHQh
CisgICAgQVNTRVJUKG1fbWluU3BhY2VTaG9ydGFnZSAhPSBMYXlvdXRVbml0OjptYXgoKSk7IC8v
IElmIHRoaXMgaGFwcGVucywgd2UgcHJvYmFibHkgaGF2ZSBhIGJ1Zy4KKyAgICBpZiAobV9taW5T
cGFjZVNob3J0YWdlID09IExheW91dFVuaXQ6Om1heCgpKQorICAgICAgICByZXR1cm4gbV9jb21w
dXRlZENvbHVtbkhlaWdodDsgLy8gU28gYmFpbCBvdXQgcmF0aGVyIHRoYW4gbG9vcGluZyBpbmZp
bml0ZWx5LgorCisgICAgcmV0dXJuIG1fY29tcHV0ZWRDb2x1bW5IZWlnaHQgKyBtX21pblNwYWNl
U2hvcnRhZ2U7Cit9CisKK3ZvaWQgUmVuZGVyTXVsdGlDb2x1bW5TZXQ6OmNsZWFyRm9yY2VkQnJl
YWtzKCkKK3sKKyAgICBtX2NvbnRlbnRSdW5zLmNsZWFyKCk7Cit9CisKK3ZvaWQgUmVuZGVyTXVs
dGlDb2x1bW5TZXQ6OmFkZEZvcmNlZEJyZWFrKExheW91dFVuaXQgb2Zmc2V0RnJvbUZpcnN0UGFn
ZSkKK3sKKyAgICBpZiAoIXRvUmVuZGVyTXVsdGlDb2x1bW5CbG9jayhwYXJlbnQoKSktPnJlcXVp
cmVzQmFsYW5jaW5nKCkpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAoIW1fY29udGVudFJ1bnMu
aXNFbXB0eSgpICYmIG9mZnNldEZyb21GaXJzdFBhZ2UgPD0gbV9jb250ZW50UnVucy5sYXN0KCku
YnJlYWtPZmZzZXQoKSkKKyAgICAgICAgcmV0dXJuOworICAgIC8vIEFwcGVuZCBhbm90aGVyIGl0
ZW0gYXMgbG9uZyBhcyB3ZSBoYXZlbid0IGV4Y2VlZGVkIHVzZWQgY29sdW1uIGNvdW50LiBXaGF0
IGVuZHMgdXAgaW4gdGhlCisgICAgLy8gb3ZlcmZsb3cgYXJlYSBzaG91bGRuJ3QgYWZmZWN0IGNv
bHVtbiBiYWxhbmNpbmcuCisgICAgaWYgKG1fY29udGVudFJ1bnMuc2l6ZSgpIDwgbV9jb21wdXRl
ZENvbHVtbkNvdW50KQorICAgICAgICBtX2NvbnRlbnRSdW5zLmFwcGVuZChDb250ZW50UnVuKG9m
ZnNldEZyb21GaXJzdFBhZ2UpKTsKK30KKworYm9vbCBSZW5kZXJNdWx0aUNvbHVtblNldDo6cmVj
YWxjdWxhdGVCYWxhbmNlZEhlaWdodChib29sIGluaXRpYWwpCit7CisgICAgQVNTRVJUKHRvUmVu
ZGVyTXVsdGlDb2x1bW5CbG9jayhwYXJlbnQoKSktPnJlcXVpcmVzQmFsYW5jaW5nKCkpOworCisg
ICAgTGF5b3V0VW5pdCBvbGRDb2x1bW5IZWlnaHQgPSBtX2NvbXB1dGVkQ29sdW1uSGVpZ2h0Owor
ICAgIGlmIChpbml0aWFsKQorICAgICAgICBkaXN0cmlidXRlSW1wbGljaXRCcmVha3MoKTsKKyAg
ICBMYXlvdXRVbml0IG5ld0NvbHVtbkhlaWdodCA9IGNhbGN1bGF0ZUJhbGFuY2VkSGVpZ2h0KGlu
aXRpYWwpOworICAgIHNldEFuZENvbnN0cmFpbkNvbHVtbkhlaWdodChuZXdDb2x1bW5IZWlnaHQp
OworCisgICAgLy8gQWZ0ZXIgaGF2aW5nIGNhbGN1bGF0ZWQgYW4gaW5pdGlhbCBjb2x1bW4gaGVp
Z2h0LCB0aGUgbXVsdGljb2wgY29udGFpbmVyIHR5cGljYWxseSBuZWVkcyBhdAorICAgIC8vIGxl
YXN0IG9uZSBtb3JlIGxheW91dCBwYXNzIHdpdGggYSBuZXcgY29sdW1uIGhlaWdodCwgYnV0IGlm
IGEgaGVpZ2h0IHdhcyBzcGVjaWZpZWQsIHdlIG9ubHkKKyAgICAvLyBuZWVkIHRvIGRvIHRoaXMg
aWYgd2UgdGhpbmsgdGhhdCB3ZSBuZWVkIGxlc3Mgc3BhY2UgdGhhbiBzcGVjaWZpZWQuIENvbnZl
cnNlbHksIGlmIHdlCisgICAgLy8gZGV0ZXJtaW5lZCB0aGF0IHRoZSBjb2x1bW5zIG5lZWQgdG8g
YmUgYXMgdGFsbCBhcyB0aGUgc3BlY2lmaWVkIGhlaWdodCBvZiB0aGUgY29udGFpbmVyLCB3ZQor
ICAgIC8vIGhhdmUgYWxyZWFkeSBsYWlkIGl0IG91dCBjb3JyZWN0bHksIGFuZCB0aGVyZSdzIG5v
IG5lZWQgZm9yIGFub3RoZXIgcGFzcy4KIAotICAgIHNldEFuZENvbnN0cmFpbkNvbHVtbkhlaWdo
dChtX2NvbXB1dGVkQ29sdW1uSGVpZ2h0ICsgY3VycmVudE1pblNwYWNlU2hvcnRhZ2UpOworICAg
IGlmIChtX2NvbXB1dGVkQ29sdW1uSGVpZ2h0ID09IG9sZENvbHVtbkhlaWdodCkKKyAgICAgICAg
cmV0dXJuIGZhbHNlOyAvLyBObyBjaGFuZ2UuIFdlJ3JlIGRvbmUuCiAKLSAgICAvLyBJZiB3ZSBy
ZWFjaCB0aGUgbWF4aW11bSBjb2x1bW4gaGVpZ2h0ICh0eXBpY2FsbHkgc2V0IGJ5IHRoZSBoZWln
aHQgb3IgbWF4LWhlaWdodCBwcm9wZXJ0eSksCi0gICAgLy8gd2UgbWF5IG5vdCBiZSBhbGxvd2Vk
IHRvIHN0cmV0Y2ggZnVydGhlci4gUmV0dXJuIHRydWUgb25seSBpZiBzdHJldGNoaW5nCi0gICAg
Ly8gc3VjY2VlZGVkLiBPdGhlcndpc2UsIHdlJ3JlIGRvbmUuCi0gICAgQVNTRVJUKG1fY29tcHV0
ZWRDb2x1bW5IZWlnaHQgPj0gb2xkQ29sdW1uSGVpZ2h0KTsgLy8gV2Ugc2hvdWxkbid0IGJlIGFi
bGUgdG8gc2hyaW5rIHRoZSBoZWlnaHQhCi0gICAgcmV0dXJuIG1fY29tcHV0ZWRDb2x1bW5IZWln
aHQgPiBvbGRDb2x1bW5IZWlnaHQ7CisgICAgbV9taW5TcGFjZVNob3J0YWdlID0gTGF5b3V0VW5p
dDo6bWF4KCk7CisgICAgY2xlYXJGb3JjZWRCcmVha3MoKTsKKyAgICByZXR1cm4gdHJ1ZTsgLy8g
TmVlZCBhbm90aGVyIHBhc3MuCiB9CiAKIHZvaWQgUmVuZGVyTXVsdGlDb2x1bW5TZXQ6OnJlY29y
ZFNwYWNlU2hvcnRhZ2UoTGF5b3V0VW5pdCBzcGFjZVNob3J0YWdlKQpAQCAtMTczLDYgKzI0Nyw4
IEBAIHZvaWQgUmVuZGVyTXVsdGlDb2x1bW5TZXQ6OnByZXBhcmVGb3JMYXlvdXQoKQogICAgIH0g
ZWxzZQogICAgICAgICBzZXRBbmRDb25zdHJhaW5Db2x1bW5IZWlnaHQoaGVpZ2h0QWRqdXN0ZWRG
b3JTZXRPZmZzZXQobXVsdGljb2xCbG9jay0+Y29sdW1uSGVpZ2h0QXZhaWxhYmxlKCkpKTsKIAor
ICAgIGNsZWFyRm9yY2VkQnJlYWtzKCk7CisKICAgICAvLyBOdWtlIHByZXZpb3VzbHkgc3RvcmVk
IG1pbmltdW0gY29sdW1uIGhlaWdodC4gQ29udGVudHMgbWF5IGhhdmUgY2hhbmdlZCBmb3IgYWxs
IHdlIGtub3cuCiAgICAgbV9taW5pbXVtQ29sdW1uSGVpZ2h0ID0gMDsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5oIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uU2V0LmgKaW5kZXggNmYwMDM2ZGM0
OWZlNjRhOGQ4Mjc4MzIxYzU0NGRmMTNlNzg2YWRkZC4uY2I3YWMyNjFiNzNkYmU0MzY5MGIwOWVl
Y2I0NmUzOTBlNjAwMjc2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck11bHRpQ29sdW1uU2V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck11bHRpQ29sdW1uU2V0LmgKQEAgLTI4LDYgKzI4LDcgQEAKICNkZWZpbmUgUmVuZGVyTXVsdGlD
b2x1bW5TZXRfaAogCiAjaW5jbHVkZSAiUmVuZGVyUmVnaW9uU2V0LmgiCisjaW5jbHVkZSA8d3Rm
L1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTYyLDMwICs2MywxNCBAQCBw
dWJsaWM6CiAgICAgdm9pZCB1cGRhdGVNaW5pbXVtQ29sdW1uSGVpZ2h0KExheW91dFVuaXQgaGVp
Z2h0KSB7IG1fbWluaW11bUNvbHVtbkhlaWdodCA9IHN0ZDo6bWF4KGhlaWdodCwgbV9taW5pbXVt
Q29sdW1uSGVpZ2h0KTsgfQogICAgIExheW91dFVuaXQgbWluaW11bUNvbHVtbkhlaWdodCgpIGNv
bnN0IHsgcmV0dXJuIG1fbWluaW11bUNvbHVtbkhlaWdodDsgfQogCi0gICAgdW5zaWduZWQgZm9y
Y2VkQnJlYWtzQ291bnQoKSBjb25zdCB7IHJldHVybiBtX2ZvcmNlZEJyZWFrc0NvdW50OyB9Ci0g
ICAgTGF5b3V0VW5pdCBmb3JjZWRCcmVha09mZnNldCgpIGNvbnN0IHsgcmV0dXJuIG1fZm9yY2Vk
QnJlYWtPZmZzZXQ7IH0KLSAgICBMYXlvdXRVbml0IG1heGltdW1EaXN0YW5jZUJldHdlZW5Gb3Jj
ZWRCcmVha3MoKSBjb25zdCB7IHJldHVybiBtX21heGltdW1EaXN0YW5jZUJldHdlZW5Gb3JjZWRC
cmVha3M7IH0KLSAgICB2b2lkIGNsZWFyRm9yY2VkQnJlYWtzKCkKLSAgICB7IAotICAgICAgICBt
X2ZvcmNlZEJyZWFrc0NvdW50ID0gMDsKLSAgICAgICAgbV9tYXhpbXVtRGlzdGFuY2VCZXR3ZWVu
Rm9yY2VkQnJlYWtzID0gMDsKLSAgICAgICAgbV9mb3JjZWRCcmVha09mZnNldCA9IDA7Ci0gICAg
fQotICAgIHZvaWQgYWRkRm9yY2VkQnJlYWsoTGF5b3V0VW5pdCBvZmZzZXRGcm9tRmlyc3RQYWdl
KQotICAgIHsgCi0gICAgICAgIEFTU0VSVCghY29tcHV0ZWRDb2x1bW5IZWlnaHQoKSk7Ci0gICAg
ICAgIExheW91dFVuaXQgZGlzdGFuY2VGcm9tTGFzdEJyZWFrID0gb2Zmc2V0RnJvbUZpcnN0UGFn
ZSAtIG1fZm9yY2VkQnJlYWtPZmZzZXQ7Ci0gICAgICAgIGlmICghZGlzdGFuY2VGcm9tTGFzdEJy
ZWFrKQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBtX2ZvcmNlZEJyZWFrc0NvdW50Kys7
Ci0gICAgICAgIG1fbWF4aW11bURpc3RhbmNlQmV0d2VlbkZvcmNlZEJyZWFrcyA9IHN0ZDo6bWF4
KG1fbWF4aW11bURpc3RhbmNlQmV0d2VlbkZvcmNlZEJyZWFrcywgZGlzdGFuY2VGcm9tTGFzdEJy
ZWFrKTsKLSAgICAgICAgbV9mb3JjZWRCcmVha09mZnNldCA9IG9mZnNldEZyb21GaXJzdFBhZ2U7
Ci0gICAgfQorICAgIHVuc2lnbmVkIGZvcmNlZEJyZWFrc0NvdW50KCkgY29uc3QgeyByZXR1cm4g
bV9jb250ZW50UnVucy5zaXplKCk7IH0KKyAgICB2b2lkIGNsZWFyRm9yY2VkQnJlYWtzKCk7Cisg
ICAgdm9pZCBhZGRGb3JjZWRCcmVhayhMYXlvdXRVbml0IG9mZnNldEZyb21GaXJzdFBhZ2UpOwog
Ci0gICAgLy8gQ2FsY3VsYXRlIHRoZSBjb2x1bW4gaGVpZ2h0IHdoZW4gY29udGVudHMgYXJlIHN1
cHBvc2VkIHRvIGJlIGJhbGFuY2VkLiBJZiAnaW5pdGlhbCcgaXMgc2V0LAotICAgIC8vIGd1ZXNz
IGFuIGluaXRpYWwgY29sdW1uIGhlaWdodDsgb3RoZXJ3aXNlLCBzdHJldGNoIHRoZSBjb2x1bW4g
aGVpZ2h0IGEgdGFkLiBSZXR1cm4gdHJ1ZSBpZgotICAgIC8vIGNvbHVtbiBoZWlnaHQgY2hhbmdl
ZCBhbmQgYW5vdGhlciBsYXlvdXQgcGFzcyBpcyByZXF1aXJlZC4KLSAgICBib29sIGNhbGN1bGF0
ZUJhbGFuY2VkSGVpZ2h0KGJvb2wgaW5pdGlhbCk7CisgICAgLy8gKFJlLSljYWxjdWxhdGUgdGhl
IGNvbHVtbiBoZWlnaHQgd2hlbiBjb250ZW50cyBhcmUgc3VwcG9zZWQgdG8gYmUgYmFsYW5jZWQu
IElmICdpbml0aWFsJyBpcworICAgIC8vIHNldCwgZ3Vlc3MgYW4gaW5pdGlhbCBjb2x1bW4gaGVp
Z2h0OyBvdGhlcndpc2UsIHN0cmV0Y2ggdGhlIGNvbHVtbiBoZWlnaHQgYSB0YWQuIFJldHVybiB0
cnVlCisgICAgLy8gaWYgY29sdW1uIGhlaWdodCBjaGFuZ2VkIGFuZCBhbm90aGVyIGxheW91dCBw
YXNzIGlzIHJlcXVpcmVkLgorICAgIGJvb2wgcmVjYWxjdWxhdGVCYWxhbmNlZEhlaWdodChib29s
IGluaXRpYWwpOwogCiAgICAgLy8gUmVjb3JkIHNwYWNlIHNob3J0YWdlICh0aGUgYW1vdW50IG9m
IHNwYWNlIHRoYXQgd291bGQgaGF2ZSBiZWVuIGVub3VnaCB0byBwcmV2ZW50IHNvbWUKICAgICAv
LyBlbGVtZW50IGZyb20gYmVpbmcgbW92ZWQgdG8gdGhlIG5leHQgY29sdW1uKSBhdCBhIGNvbHVt
biBicmVhay4gVGhlIHNtYWxsZXN0IGFtb3VudCBvZiBzcGFjZQpAQCAtMTM1LDE3ICsxMjAsNTIg
QEAgcHJpdmF0ZToKIAogICAgIHZvaWQgc2V0QW5kQ29uc3RyYWluQ29sdW1uSGVpZ2h0KExheW91
dFVuaXQpOwogCi0gICAgdW5zaWduZWQgbV9jb21wdXRlZENvbHVtbkNvdW50OwotICAgIExheW91
dFVuaXQgbV9jb21wdXRlZENvbHVtbldpZHRoOworICAgIC8vIFJldHVybiB0aGUgaW5kZXggb2Yg
dGhlIGNvbnRlbnQgcnVuIHdpdGggdGhlIGN1cnJlbnRseSB0YWxsZXN0IGNvbHVtbnMsIHRha2lu
ZyBhbGwgaW1wbGljaXQKKyAgICAvLyBicmVha3MgYXNzdW1lZCBzbyBmYXIgaW50byBhY2NvdW50
LgorICAgIHVuc2lnbmVkIGZpbmRSdW5XaXRoVGFsbGVzdENvbHVtbnMoKSBjb25zdDsKKworICAg
IC8vIEdpdmVuIHRoZSBjdXJyZW50IGxpc3Qgb2YgY29udGVudCBydW5zLCBtYWtlIGFzc3VtcHRp
b25zIGFib3V0IHdoZXJlIHdlIG5lZWQgdG8gaW5zZXJ0CisgICAgLy8gaW1wbGljaXQgYnJlYWtz
IChpZiB0aGVyZSdzIHJvb20gZm9yIGFueSBhdCBhbGw7IGRlcGVuZGluZyBvbiB0aGUgbnVtYmVy
IG9mIGV4cGxpY2l0IGJyZWFrcyksCisgICAgLy8gYW5kIHN0b3JlIHRoZSByZXN1bHRzLiBUaGlz
IGlzIG5lZWRlZCBpbiBvcmRlciB0byBiYWxhbmNlIHRoZSBjb2x1bW5zLgorICAgIHZvaWQgZGlz
dHJpYnV0ZUltcGxpY2l0QnJlYWtzKCk7CisKKyAgICBMYXlvdXRVbml0IGNhbGN1bGF0ZUJhbGFu
Y2VkSGVpZ2h0KGJvb2wgaW5pdGlhbCkgY29uc3Q7CisKKyAgICB1bnNpZ25lZCBtX2NvbXB1dGVk
Q29sdW1uQ291bnQ7IC8vIFVzZWQgY29sdW1uIGNvdW50ICh0aGUgcmVzdWx0aW5nICdOJyBmcm9t
IHRoZSBwc2V1ZG8tYWxnb3JpdGhtIGluIHRoZSBtdWx0aWNvbCBzcGVjKQorICAgIExheW91dFVu
aXQgbV9jb21wdXRlZENvbHVtbldpZHRoOyAvLyBVc2VkIGNvbHVtbiB3aWR0aCAodGhlIHJlc3Vs
dGluZyAnVycgZnJvbSB0aGUgcHNldWRvLWFsZ29yaXRobSBpbiB0aGUgbXVsdGljb2wgc3BlYykK
ICAgICBMYXlvdXRVbml0IG1fY29tcHV0ZWRDb2x1bW5IZWlnaHQ7CiAgICAgCiAgICAgLy8gVGhl
IGZvbGxvd2luZyB2YXJpYWJsZXMgYXJlIHVzZWQgd2hlbiBiYWxhbmNpbmcgdGhlIGNvbHVtbiBz
ZXQuCiAgICAgTGF5b3V0VW5pdCBtX21heENvbHVtbkhlaWdodDsgLy8gTWF4aW11bSBjb2x1bW4g
aGVpZ2h0IGFsbG93ZWQuCiAgICAgTGF5b3V0VW5pdCBtX21pblNwYWNlU2hvcnRhZ2U7IC8vIFRo
ZSBzbWFsbGVzdCBhbW91dCBvZiBzcGFjZSBzaG9ydGFnZSB0aGF0IGNhdXNlZCBhIGNvbHVtbiBi
cmVhay4KICAgICBMYXlvdXRVbml0IG1fbWluaW11bUNvbHVtbkhlaWdodDsKLSAgICB1bnNpZ25l
ZCBtX2ZvcmNlZEJyZWFrc0NvdW50OyAvLyBGSVhNRTogV2Ugd2lsbCB1bHRpbWF0ZWx5IG5lZWQg
dG8gY2FjaGUgbW9yZSBpbmZvcm1hdGlvbiB0byBiYWxhbmNlIGFyb3VuZCBmb3JjZWQgYnJlYWtz
IHByb3Blcmx5LgotICAgIExheW91dFVuaXQgbV9tYXhpbXVtRGlzdGFuY2VCZXR3ZWVuRm9yY2Vk
QnJlYWtzOwotICAgIExheW91dFVuaXQgbV9mb3JjZWRCcmVha09mZnNldDsKKworICAgIC8vIEEg
cnVuIG9mIGNvbnRlbnQgd2l0aG91dCBleHBsaWNpdCAoZm9yY2VkKSBicmVha3M7IGkuZS4gYSBm
bG93IHRocmVhZCBwb3J0aW9uIGJldHdlZW4gdHdvCisgICAgLy8gZXhwbGljaXQgYnJlYWtzLCBi
ZXR3ZWVuIGZsb3cgdGhyZWFkIHN0YXJ0IGFuZCBhbiBleHBsaWNpdCBicmVhaywgYmV0d2VlbiBh
biBleHBsaWNpdCBicmVhaworICAgIC8vIGFuZCBmbG93IHRocmVhZCBlbmQsIG9yLCBpbiBjYXNl
cyB3aGVuIHRoZXJlIGFyZSBubyBleHBsaWNpdCBicmVha3MgYXQgYWxsOiBiZXR3ZWVuIGZsb3cg
ZmxvdworICAgIC8vIHRocmVhZCBzdGFydCBhbmQgZmxvdyB0aHJlYWQgZW5kLiBXZSBuZWVkIHRv
IGtub3cgd2hlcmUgdGhlIGV4cGxpY2l0IGJyZWFrcyBhcmUsIGluIG9yZGVyIHRvCisgICAgLy8g
ZmlndXJlIG91dCB3aGVyZSB0aGUgaW1wbGljaXQgYnJlYWtzIHdpbGwgZW5kIHVwLCBzbyB0aGF0
IHdlIGdldCB0aGUgY29sdW1ucyBwcm9wZXJseQorICAgIC8vIGJhbGFuY2VkLiBBIGNvbnRlbnQg
cnVuIHN0YXJ0cyBvdXQgYXMgcmVwcmVzZW50aW5nIG9uZSBzaW5nbGUgY29sdW1uLCBhbmQgd2ls
bCByZXByZXNlbnQgb25lCisgICAgLy8gYWRkaXRpb25hbCBjb2x1bW4gZm9yIGVhY2ggaW1wbGlj
aXQgYnJlYWsgImluc2VydGVkIiB0aGVyZS4KKyAgICBjbGFzcyBDb250ZW50UnVuIHsKKyAgICBw
dWJsaWM6CisgICAgICAgIENvbnRlbnRSdW4oTGF5b3V0VW5pdCBicmVha09mZnNldCkKKyAgICAg
ICAgICAgIDogbV9icmVha09mZnNldChicmVha09mZnNldCkKKyAgICAgICAgICAgICwgbV9hc3N1
bWVkSW1wbGljaXRCcmVha3MoMCkgeyB9CisKKyAgICAgICAgdW5zaWduZWQgYXNzdW1lZEltcGxp
Y2l0QnJlYWtzKCkgY29uc3QgeyByZXR1cm4gbV9hc3N1bWVkSW1wbGljaXRCcmVha3M7IH0KKyAg
ICAgICAgdm9pZCBhc3N1bWVBbm90aGVySW1wbGljaXRCcmVhaygpIHsgbV9hc3N1bWVkSW1wbGlj
aXRCcmVha3MrKzsgfQorICAgICAgICBMYXlvdXRVbml0IGJyZWFrT2Zmc2V0KCkgY29uc3QgeyBy
ZXR1cm4gbV9icmVha09mZnNldDsgfQorCisgICAgICAgIC8vIFJldHVybiB0aGUgY29sdW1uIGhl
aWdodCB0aGF0IHRoaXMgY29udGVudCBydW4gd291bGQgcmVxdWlyZSwgY29uc2lkZXJpbmcgdGhl
IGltcGxpY2l0CisgICAgICAgIC8vIGJyZWFrcyBhc3N1bWVkIHNvIGZhci4KKyAgICAgICAgTGF5
b3V0VW5pdCBjb2x1bW5Mb2dpY2FsSGVpZ2h0KExheW91dFVuaXQgc3RhcnRPZmZzZXQpIGNvbnN0
IHsgcmV0dXJuIGNlaWxmKGZsb2F0KG1fYnJlYWtPZmZzZXQgLSBzdGFydE9mZnNldCkgLyBmbG9h
dChtX2Fzc3VtZWRJbXBsaWNpdEJyZWFrcyArIDEpKTsgfQorCisgICAgcHJpdmF0ZToKKyAgICAg
ICAgTGF5b3V0VW5pdCBtX2JyZWFrT2Zmc2V0OyAvLyBGbG93IHRocmVhZCBvZmZzZXQgd2hlcmUg
dGhpcyBydW4gZW5kcy4KKyAgICAgICAgdW5zaWduZWQgbV9hc3N1bWVkSW1wbGljaXRCcmVha3M7
IC8vIE51bWJlciBvZiBpbXBsaWNpdCBicmVha3MgaW4gdGhpcyBydW4gYXNzdW1lZCBzbyBmYXIu
CisgICAgfTsKKyAgICBWZWN0b3I8Q29udGVudFJ1biwgMT4gbV9jb250ZW50UnVuczsKIH07CiAK
IFJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJNdWx0aUNvbHVtblNldCwgaXNSZW5kZXJN
dWx0aUNvbHVtblNldCgpKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDc4ZTdkYjQ2ZTdkZmZkNjBkZTI5Njc2ZjRhZDExNmJk
NTE0ZTRhMGIuLjBhZjAwNzM0MDYzZmI2YzI2YzQ1YjhlNGFjY2Y3NzQxNzQwY2MzMGQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwyMyBAQAorMjAxNC0wMS0xNCAgTW9ydGVuIFN0ZW5zaG9ybmUgIDxtc3RlbnNo
b0BvcGVyYS5jb20+CisKKyAgICAgICAgUmVnaW9uIGJhc2VkIG11bHRpY29sOiBzdXBwb3J0IGV4
cGxpY2l0IGNvbHVtbiBicmVha3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEyMzk5MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9icmVhay1hZnRlci1leHBl
Y3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L211bHRpY29sL25ld211bHRpY29sL2Jy
ZWFrLWFmdGVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvbXVsdGljb2wvbmV3bXVsdGlj
b2wvYnJlYWstYmVmb3JlLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvbXVs
dGljb2wvbmV3bXVsdGljb2wvYnJlYWstYmVmb3JlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvbXVsdGljb2wvbmV3bXVsdGljb2wvYnJlYWtzLTItY29sdW1ucy0zLWV4cGVjdGVkLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvYnJlYWtzLTItY29s
dW1ucy0zLW5vLWJhbGFuY2luZy1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L211bHRpY29sL25ld211bHRpY29sL2JyZWFrcy0yLWNvbHVtbnMtMy1uby1iYWxhbmNpbmcuaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9icmVha3MtMi1j
b2x1bW5zLTMuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNv
bC9icmVha3MtMy1jb2x1bW5zLTMtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFz
dC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9icmVha3MtMy1jb2x1bW5zLTMuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9maXhlZC1oZWlnaHQtZmlsbC1iYWxh
bmNlLTItZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9tdWx0aWNvbC9uZXdt
dWx0aWNvbC9maXhlZC1oZWlnaHQtZmlsbC1iYWxhbmNlLTIuaHRtbDogQWRkZWQuCisKIDIwMTQt
MDEtMTAgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAg
IFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxNjE3MDIuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L211bHRpY29sL25ld211bHRpY29sL2JyZWFrLWFmdGVyLWV4cGVjdGVkLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L211bHRpY29sL25ld211bHRpY29sL2JyZWFrLWFmdGVyLWV4cGVjdGVk
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMWY0ZmZmODBlMmNjNDllMDBjYTU1ZGZjYzJmMzkzMzllZWUzMDhm
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvbmV3bXVsdGlj
b2wvYnJlYWstYWZ0ZXItZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDI5IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8dGl0bGU+YXV0by1oZWlnaHQgbXVs
dGljb2wgd2l0aCBicmVhazwvdGl0bGU+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBp
ZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0UmVnaW9uQmFzZWRDb2x1bW5zRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgPC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIC5tYyA+IGRpdiB7IHBhZGRpbmc6MCAwLjVlbTsg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keSBzdHlsZT0ibWluLXdp
ZHRoOjQwZW07Ij4KKyAgICAgICAgPGRpdiBjbGFzcz0ibWMiIHN0eWxlPSItd2Via2l0LWNvbHVt
bnM6MzsgLXdlYmtpdC1jb2x1bW4tZ2FwOjFlbTsgY29sdW1uczozOyBjb2x1bW4tZ2FwOjFlbTsg
b3JwaGFuczoxOyB3aWRvd3M6MTsgd2lkdGg6MzJlbTsgYmFja2dyb3VuZDpvbGl2ZTsiPgorICAg
ICAgICAgICAgPGRpdj4KKyAgICAgICAgICAgICAgICBmaXJzdCBjb2x1bW48YnI+CisgICAgICAg
ICAgICAgICAgZmlyc3QgY29sdW1uPGJyPgorICAgICAgICAgICAgICAgIGZpcnN0IGNvbHVtbjxi
cj4KKyAgICAgICAgICAgICAgICBmaXJzdCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAgc2Vj
b25kIGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICBzZWNvbmQgY29sdW1uPGJyPgorICAgICAg
ICAgICAgICAgIHNlY29uZCBjb2x1bW48YnI+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAg
ICAgIDxkaXYgc3R5bGU9Ii13ZWJraXQtY29sdW1uLWJyZWFrLWJlZm9yZTphbHdheXM7IGJyZWFr
LWJlZm9yZTpjb2x1bW47Ij4KKyAgICAgICAgICAgICAgICB0aGlyZCBjb2x1bW48YnI+CisgICAg
ICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9icmVhay1hZnRl
ci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9icmVhay1hZnRl
ci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjM2ZGQzMjBhYzg2MGFjNmI4NzA1MDJlZTQ3MWM3ZTc4ZTNjOWFm
MjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L211bHRpY29sL25ld211bHRp
Y29sL2JyZWFrLWFmdGVyLmh0bWwKQEAgLTAsMCArMSwyOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHRpdGxlPmF1dG8taGVpZ2h0IG11bHRpY29sIHdp
dGggYnJlYWs8L3RpdGxlPgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgaWYgKHdpbmRv
dy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFJlZ2lv
bkJhc2VkQ29sdW1uc0VuYWJsZWQodHJ1ZSk7CisgICAgICAgIDwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICAubWMgPiBkaXYgeyBwYWRkaW5nOjAgMC41ZW07IH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgc3R5bGU9Im1pbi13aWR0aDo0MGVt
OyI+CisgICAgICAgIDxkaXYgY2xhc3M9Im1jIiBzdHlsZT0iLXdlYmtpdC1jb2x1bW5zOjM7IC13
ZWJraXQtY29sdW1uLWdhcDoxZW07IGNvbHVtbnM6MzsgY29sdW1uLWdhcDoxZW07IG9ycGhhbnM6
MTsgd2lkb3dzOjE7IHdpZHRoOjMyZW07IGJhY2tncm91bmQ6b2xpdmU7Ij4KKyAgICAgICAgICAg
IDxkaXYgc3R5bGU9Ii13ZWJraXQtY29sdW1uLWJyZWFrLWFmdGVyOmFsd2F5czsgYnJlYWstYWZ0
ZXI6Y29sdW1uOyI+CisgICAgICAgICAgICAgICAgZmlyc3QgY29sdW1uPGJyPgorICAgICAgICAg
ICAgICAgIGZpcnN0IGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICBmaXJzdCBjb2x1bW48YnI+
CisgICAgICAgICAgICAgICAgZmlyc3QgY29sdW1uPGJyPgorICAgICAgICAgICAgICAgIHNlY29u
ZCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAgc2Vjb25kIGNvbHVtbjxicj4KKyAgICAgICAg
ICAgICAgICBzZWNvbmQgY29sdW1uPGJyPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAg
ICA8ZGl2PgorICAgICAgICAgICAgICAgIHRoaXJkIGNvbHVtbjxicj4KKyAgICAgICAgICAgIDwv
ZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L211bHRpY29sL25ld211bHRpY29sL2JyZWFrLWJlZm9yZS1leHBlY3Rl
ZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9icmVhay1iZWZv
cmUtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MzBlNDNjYWY5MmMzN2Q1MGQzOGEyNmIxNmJk
YzQ1OGVjNzg2NTRlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNv
bC9uZXdtdWx0aWNvbC9icmVhay1iZWZvcmUtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDMwIEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8dGl0bGU+YXV0
by1oZWlnaHQgbXVsdGljb2wgd2l0aCBicmVhazwvdGl0bGU+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIC5tYyB7IGZsb2F0OmxlZnQ7IHdpZHRoOjllbTsgcGFkZGluZzowIDAuNWVtOyB9
CisgICAgICAgICAgICAuZ2FwIHsgZmxvYXQ6bGVmdDsgd2lkdGg6MWVtOyB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxib2R5IHN0eWxlPSJtaW4td2lkdGg6NDBlbTsiPgor
ICAgICAgICA8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0OyBiYWNrZ3JvdW5kOm9saXZlOyI+CisgICAg
ICAgICAgICA8ZGl2IGNsYXNzPSJtYyI+CisgICAgICAgICAgICAgICAgZmlyc3QgY29sdW1uPGJy
PgorICAgICAgICAgICAgICAgIGZpcnN0IGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICBmaXJz
dCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAgZmlyc3QgY29sdW1uPGJyPgorICAgICAgICAg
ICAgPC9kaXY+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJnYXAiPiZuYnNwOzwvZGl2PgorICAg
ICAgICAgICAgPGRpdiBjbGFzcz0ibWMiPgorICAgICAgICAgICAgICAgIHNlY29uZCBjb2x1bW48
YnI+CisgICAgICAgICAgICAgICAgc2Vjb25kIGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICBz
ZWNvbmQgY29sdW1uPGJyPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZGl2IGNs
YXNzPSJnYXAiPiZuYnNwOzwvZGl2PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWMiPgorICAg
ICAgICAgICAgICAgIHRoaXJkIGNvbHVtbjxicj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAg
ICA8L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L211bHRpY29sL25ld211bHRpY29sL2JyZWFrLWJlZm9yZS5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9icmVhay1iZWZvcmUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
ZjRmZmY4MGUyY2M0OWUwMGNhNTVkZmNjMmYzOTMzOWVlZTMwOGYzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9icmVhay1iZWZvcmUuaHRt
bApAQCAtMCwwICsxLDI5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgor
ICAgICAgICA8dGl0bGU+YXV0by1oZWlnaHQgbXVsdGljb2wgd2l0aCBicmVhazwvdGl0bGU+Cisg
ICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAg
ICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0UmVnaW9uQmFzZWRDb2x1bW5zRW5hYmxl
ZCh0cnVlKTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IC5tYyA+IGRpdiB7IHBhZGRpbmc6MCAwLjVlbTsgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8Ym9keSBzdHlsZT0ibWluLXdpZHRoOjQwZW07Ij4KKyAgICAgICAgPGRpdiBj
bGFzcz0ibWMiIHN0eWxlPSItd2Via2l0LWNvbHVtbnM6MzsgLXdlYmtpdC1jb2x1bW4tZ2FwOjFl
bTsgY29sdW1uczozOyBjb2x1bW4tZ2FwOjFlbTsgb3JwaGFuczoxOyB3aWRvd3M6MTsgd2lkdGg6
MzJlbTsgYmFja2dyb3VuZDpvbGl2ZTsiPgorICAgICAgICAgICAgPGRpdj4KKyAgICAgICAgICAg
ICAgICBmaXJzdCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAgZmlyc3QgY29sdW1uPGJyPgor
ICAgICAgICAgICAgICAgIGZpcnN0IGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICBmaXJzdCBj
b2x1bW48YnI+CisgICAgICAgICAgICAgICAgc2Vjb25kIGNvbHVtbjxicj4KKyAgICAgICAgICAg
ICAgICBzZWNvbmQgY29sdW1uPGJyPgorICAgICAgICAgICAgICAgIHNlY29uZCBjb2x1bW48YnI+
CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxkaXYgc3R5bGU9Ii13ZWJraXQtY29s
dW1uLWJyZWFrLWJlZm9yZTphbHdheXM7IGJyZWFrLWJlZm9yZTpjb2x1bW47Ij4KKyAgICAgICAg
ICAgICAgICB0aGlyZCBjb2x1bW48YnI+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9t
dWx0aWNvbC9uZXdtdWx0aWNvbC9icmVha3MtMi1jb2x1bW5zLTMtZXhwZWN0ZWQuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvYnJlYWtzLTItY29sdW1ucy0zLWV4
cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjAxNmEwNTI0NzdiYzVjOGFhODE0YmVhZTNjZDRjOTA0
NTU3NjE5ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvbmV3
bXVsdGljb2wvYnJlYWtzLTItY29sdW1ucy0zLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwzNCBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHRpdGxlPmF1
dG8taGVpZ2h0IG11bHRpY29sIHdpdGggYnJlYWs8L3RpdGxlPgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICAubWMgeyBmbG9hdDpsZWZ0OyB3aWR0aDo5ZW07IHBhZGRpbmc6MCAwLjVlbTsg
fQorICAgICAgICAgICAgLmdhcCB7IGZsb2F0OmxlZnQ7IHdpZHRoOjFlbTsgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keSBzdHlsZT0ibWluLXdpZHRoOjQwZW07Ij4K
KyAgICAgICAgPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsgYmFja2dyb3VuZDpvbGl2ZTsiPgorICAg
ICAgICAgICAgPGRpdiBjbGFzcz0ibWMiPgorICAgICAgICAgICAgICAgIGZpcnN0IGNvbHVtbjxi
cj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ2FwIj4mbmJz
cDs8L2Rpdj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1jIj4KKyAgICAgICAgICAgICAgICBz
ZWNvbmQgY29sdW1uPGJyPgorICAgICAgICAgICAgICAgIHNlY29uZCBjb2x1bW48YnI+CisgICAg
ICAgICAgICAgICAgc2Vjb25kIGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICBzZWNvbmQgY29s
dW1uPGJyPgorICAgICAgICAgICAgICAgIHNlY29uZCBjb2x1bW48YnI+CisgICAgICAgICAgICAg
ICAgc2Vjb25kIGNvbHVtbjxicj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGRp
diBjbGFzcz0iZ2FwIj4mbmJzcDs8L2Rpdj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1jIj4K
KyAgICAgICAgICAgICAgICB0aGlyZCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAgdGhpcmQg
Y29sdW1uPGJyPgorICAgICAgICAgICAgICAgIHRoaXJkIGNvbHVtbjxicj4KKyAgICAgICAgICAg
ICAgICB0aGlyZCBjb2x1bW48YnI+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L211
bHRpY29sL25ld211bHRpY29sL2JyZWFrcy0yLWNvbHVtbnMtMy1uby1iYWxhbmNpbmctZXhwZWN0
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvYnJlYWtzLTIt
Y29sdW1ucy0zLW5vLWJhbGFuY2luZy1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk1MTU0Njli
NTc1NDc5YTMzNTA2ZTE2MzY5YTkzYjBhM2NkMTI5OWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L211bHRpY29sL25ld211bHRpY29sL2JyZWFrcy0yLWNvbHVtbnMtMy1uby1i
YWxhbmNpbmctZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDM2IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8dGl0bGU+bXVsdGljb2wgd2l0aCBicmVhazwv
dGl0bGU+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIC5tYyB7IGZsb2F0OmxlZnQ7IHdp
ZHRoOjdlbTsgcGFkZGluZzowIDAuNWVtOyB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxib2R5IHN0eWxlPSJtaW4td2lkdGg6NDBlbTsgbGluZS1oZWlnaHQ6MmVtOyI+Cisg
ICAgICAgIDxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7IGhlaWdodDoxMGVtOyBiYWNrZ3JvdW5kOm9s
aXZlOyI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYyI+CisgICAgICAgICAgICAgICAgZmly
c3QgY29sdW1uPGJyPgorICAgICAgICAgICAgICAgIGZpcnN0IGNvbHVtbjxicj4KKyAgICAgICAg
ICAgICAgICBmaXJzdCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAgZmlyc3QgY29sdW1uPGJy
PgorICAgICAgICAgICAgICAgIGZpcnN0IGNvbHVtbjxicj4KKyAgICAgICAgICAgIDwvZGl2Pgor
ICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWMiPgorICAgICAgICAgICAgICAgIHNlY29uZCBjb2x1
bW48YnI+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1jIj4K
KyAgICAgICAgICAgICAgICB0aGlyZCBjb2x1bW48YnI+CisgICAgICAgICAgICA8L2Rpdj4KKyAg
ICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9Im1jIj4KKyAgICAgICAgICAgIGZvdXJ0
aCBjb2x1bW48YnI+CisgICAgICAgICAgICBmb3VydGggY29sdW1uPGJyPgorICAgICAgICAgICAg
Zm91cnRoIGNvbHVtbjxicj4KKyAgICAgICAgICAgIGZvdXJ0aCBjb2x1bW48YnI+CisgICAgICAg
ICAgICBmb3VydGggY29sdW1uPGJyPgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFz
cz0ibWMiPgorICAgICAgICAgICAgZmlmdGggY29sdW1uPGJyPgorICAgICAgICA8L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L211bHRpY29s
L25ld211bHRpY29sL2JyZWFrcy0yLWNvbHVtbnMtMy1uby1iYWxhbmNpbmcuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvYnJlYWtzLTItY29sdW1ucy0zLW5vLWJh
bGFuY2luZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZjMTU3MWQwYmI2ZTc0YmVlNWE5YmFmYWFiMzI0NGE3
OWUyODY5NjEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L211bHRpY29sL25l
d211bHRpY29sL2JyZWFrcy0yLWNvbHVtbnMtMy1uby1iYWxhbmNpbmcuaHRtbApAQCAtMCwwICsx
LDM2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8dGl0
bGU+bXVsdGljb2wgd2l0aCBicmVhazwvdGl0bGU+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAg
ICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0UmVnaW9uQmFzZWRDb2x1bW5zRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgPC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIC5tYyA+IGRpdiB7IHBhZGRpbmc6MCAw
LjVlbTsgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keSBzdHlsZT0i
bWluLXdpZHRoOjQwZW07Ij4KKyAgICAgICAgPGRpdiBjbGFzcz0ibWMiIHN0eWxlPSItd2Via2l0
LWNvbHVtbnM6MzsgLXdlYmtpdC1jb2x1bW4tZ2FwOjA7IC13ZWJraXQtY29sdW1uLWZpbGw6YXV0
bzsgY29sdW1uczozOyBjb2x1bW4tZ2FwOjA7IGNvbHVtbi1maWxsOmF1dG87IG9ycGhhbnM6MTsg
d2lkb3dzOjE7IHdpZHRoOjI0ZW07IGhlaWdodDoxMGVtOyBsaW5lLWhlaWdodDoyZW07IGJhY2tn
cm91bmQ6b2xpdmU7Ij4KKyAgICAgICAgICAgIDxkaXYgc3R5bGU9Ii13ZWJraXQtY29sdW1uLWJy
ZWFrLWFmdGVyOmFsd2F5czsgYnJlYWstYWZ0ZXI6Y29sdW1uOyI+CisgICAgICAgICAgICAgICAg
Zmlyc3QgY29sdW1uPGJyPgorICAgICAgICAgICAgICAgIGZpcnN0IGNvbHVtbjxicj4KKyAgICAg
ICAgICAgICAgICBmaXJzdCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAgZmlyc3QgY29sdW1u
PGJyPgorICAgICAgICAgICAgICAgIGZpcnN0IGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICBz
ZWNvbmQgY29sdW1uPGJyPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZGl2IHN0
eWxlPSItd2Via2l0LWNvbHVtbi1icmVhay1hZnRlcjphbHdheXM7IGJyZWFrLWFmdGVyOmNvbHVt
bjsiPgorICAgICAgICAgICAgICAgIHRoaXJkIGNvbHVtbjxicj4KKyAgICAgICAgICAgIDwvZGl2
PgorICAgICAgICAgICAgPGRpdj4KKyAgICAgICAgICAgICAgICBmb3VydGggY29sdW1uPGJyPgor
ICAgICAgICAgICAgICAgIGZvdXJ0aCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAgZm91cnRo
IGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICBmb3VydGggY29sdW1uPGJyPgorICAgICAgICAg
ICAgICAgIGZvdXJ0aCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAgZmlmdGggY29sdW1uPGJy
PgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvYnJl
YWtzLTItY29sdW1ucy0zLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L211bHRpY29sL25ld211bHRp
Y29sL2JyZWFrcy0yLWNvbHVtbnMtMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkwNjVhZmNkNTljMjc4NDIw
YjJmYTc0NjlmYWIwZmU5NTdkZjdjZDQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L211bHRpY29sL25ld211bHRpY29sL2JyZWFrcy0yLWNvbHVtbnMtMy5odG1sCkBAIC0wLDAg
KzEsMzQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDx0
aXRsZT5hdXRvLWhlaWdodCBtdWx0aWNvbCB3aXRoIGJyZWFrPC90aXRsZT4KKyAgICAgICAgPHNj
cmlwdD4KKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRSZWdpb25CYXNlZENvbHVtbnNFbmFibGVkKHRydWUpOwor
ICAgICAgICA8L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgLm1jID4gZGl2
IHsgcGFkZGluZzowIDAuNWVtOyB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxib2R5IHN0eWxlPSJtaW4td2lkdGg6NDBlbTsiPgorICAgICAgICA8ZGl2IGNsYXNzPSJtYyIg
c3R5bGU9Ii13ZWJraXQtY29sdW1uczozOyAtd2Via2l0LWNvbHVtbi1nYXA6MWVtOyBjb2x1bW5z
OjM7IGNvbHVtbi1nYXA6MWVtOyBvcnBoYW5zOjE7IHdpZG93czoxOyB3aWR0aDozMmVtOyBiYWNr
Z3JvdW5kOm9saXZlOyI+CisgICAgICAgICAgICA8ZGl2IHN0eWxlPSItd2Via2l0LWNvbHVtbi1i
cmVhay1hZnRlcjphbHdheXM7IGJyZWFrLWFmdGVyOmNvbHVtbjsiPgorICAgICAgICAgICAgICAg
IGZpcnN0IGNvbHVtbjxicj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGRpdiBz
dHlsZT0iLXdlYmtpdC1jb2x1bW4tYnJlYWstYWZ0ZXI6YWx3YXlzOyBicmVhay1hZnRlcjpjb2x1
bW47Ij4KKyAgICAgICAgICAgICAgICBzZWNvbmQgY29sdW1uPGJyPgorICAgICAgICAgICAgICAg
IHNlY29uZCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAgc2Vjb25kIGNvbHVtbjxicj4KKyAg
ICAgICAgICAgICAgICBzZWNvbmQgY29sdW1uPGJyPgorICAgICAgICAgICAgICAgIHNlY29uZCBj
b2x1bW48YnI+CisgICAgICAgICAgICAgICAgc2Vjb25kIGNvbHVtbjxicj4KKyAgICAgICAgICAg
IDwvZGl2PgorICAgICAgICAgICAgPGRpdj4KKyAgICAgICAgICAgICAgICB0aGlyZCBjb2x1bW48
YnI+CisgICAgICAgICAgICAgICAgdGhpcmQgY29sdW1uPGJyPgorICAgICAgICAgICAgICAgIHRo
aXJkIGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICB0aGlyZCBjb2x1bW48YnI+CisgICAgICAg
ICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9icmVha3MtMy1jb2x1
bW5zLTMtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvbmV3bXVsdGlj
b2wvYnJlYWtzLTMtY29sdW1ucy0zLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWRhZDhiMjZi
OWMyZjA0YmYzOWNiOTYxOTdlOThkZTZlOWViYWQ0NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvYnJlYWtzLTMtY29sdW1ucy0zLWV4cGVj
dGVkLmh0bWwKQEAgLTAsMCArMSw0OCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8
aGVhZD4KKyAgICAgICAgPHRpdGxlPmF1dG8taGVpZ2h0IG11bHRpY29sIHdpdGggYnJlYWs8L3Rp
dGxlPgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAubWMgeyBmbG9hdDpsZWZ0OyB3aWR0
aDo2ZW07IHBhZGRpbmc6MCAwLjVlbTsgfQorICAgICAgICAgICAgLmdhcCB7IGZsb2F0OmxlZnQ7
IHdpZHRoOjFlbTsgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keSBz
dHlsZT0ibWluLXdpZHRoOjQwZW07Ij4KKyAgICAgICAgPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsg
YmFja2dyb3VuZDpvbGl2ZTsiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWMiPgorICAgICAg
ICAgICAgICAgIGZpcnN0IGNvbHVtbjxicj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAg
ICAgPGRpdiBjbGFzcz0iZ2FwIj4mbmJzcDs8L2Rpdj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9
Im1jIj4KKyAgICAgICAgICAgICAgICBzZWNvbmQgY29sdW1uPGJyPgorICAgICAgICAgICAgICAg
IHNlY29uZCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAgc2Vjb25kIGNvbHVtbjxicj4KKyAg
ICAgICAgICAgICAgICBzZWNvbmQgY29sdW1uPGJyPgorICAgICAgICAgICAgICAgIHNlY29uZCBj
b2x1bW48YnI+CisgICAgICAgICAgICAgICAgc2Vjb25kIGNvbHVtbjxicj4KKyAgICAgICAgICAg
IDwvZGl2PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ2FwIj4mbmJzcDs8L2Rpdj4KKyAgICAg
ICAgICAgIDxkaXYgY2xhc3M9Im1jIj4KKyAgICAgICAgICAgICAgICB0aGlyZCBjb2x1bW48YnI+
CisgICAgICAgICAgICAgICAgdGhpcmQgY29sdW1uPGJyPgorICAgICAgICAgICAgICAgIHRoaXJk
IGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICB0aGlyZCBjb2x1bW48YnI+CisgICAgICAgICAg
ICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdhcCI+Jm5ic3A7
PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9Im1jIj4KKyAgICAgICAgICAgIGZvdXJ0aCBjb2x1
bW48YnI+CisgICAgICAgICAgICBmb3VydGggY29sdW1uPGJyPgorICAgICAgICAgICAgZm91cnRo
IGNvbHVtbjxicj4KKyAgICAgICAgICAgIGZvdXJ0aCBjb2x1bW48YnI+CisgICAgICAgICAgICBm
b3VydGggY29sdW1uPGJyPgorICAgICAgICAgICAgZm91cnRoIGNvbHVtbjxicj4KKyAgICAgICAg
PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdhcCI+Jm5ic3A7PC9kaXY+CisgICAgICAgIDxk
aXYgY2xhc3M9Im1jIj4KKyAgICAgICAgICAgIGZpZnRoIGNvbHVtbjxicj4KKyAgICAgICAgICAg
IGZpZnRoIGNvbHVtbjxicj4KKyAgICAgICAgPC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L211bHRpY29sL25ld211bHRpY29sL2JyZWFr
cy0zLWNvbHVtbnMtMy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNv
bC9icmVha3MtMy1jb2x1bW5zLTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNTJmZjk0Njk2OTc1ZjEzOWRh
NTQ1NjM1MGE3NjJlOWI3ZTEyNGNmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9icmVha3MtMy1jb2x1bW5zLTMuaHRtbApAQCAtMCwwICsx
LDQ0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8dGl0
bGU+YXV0by1oZWlnaHQgbXVsdGljb2wgd2l0aCBicmVhazwvdGl0bGU+CisgICAgICAgIDxzY3Jp
cHQ+CisgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0UmVnaW9uQmFzZWRDb2x1bW5zRW5hYmxlZCh0cnVlKTsKKyAg
ICAgICAgPC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIC5tYyA+IGRpdiB7
IHBhZGRpbmc6MCAwLjVlbTsgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
Ym9keSBzdHlsZT0ibWluLXdpZHRoOjQwZW07Ij4KKyAgICAgICAgPGRpdiBjbGFzcz0ibWMiIHN0
eWxlPSItd2Via2l0LWNvbHVtbnM6MzsgLXdlYmtpdC1jb2x1bW4tZ2FwOjFlbTsgY29sdW1uczoz
OyBjb2x1bW4tZ2FwOjFlbTsgb3JwaGFuczoxOyB3aWRvd3M6MTsgd2lkdGg6MjNlbTsgYmFja2dy
b3VuZDpvbGl2ZTsiPgorICAgICAgICAgICAgPGRpdiBzdHlsZT0iLXdlYmtpdC1jb2x1bW4tYnJl
YWstYWZ0ZXI6YWx3YXlzOyBicmVhay1hZnRlcjpjb2x1bW47Ij4KKyAgICAgICAgICAgICAgICBm
aXJzdCBjb2x1bW48YnI+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxkaXYgc3R5
bGU9Ii13ZWJraXQtY29sdW1uLWJyZWFrLWFmdGVyOmFsd2F5czsgYnJlYWstYWZ0ZXI6Y29sdW1u
OyI+CisgICAgICAgICAgICAgICAgc2Vjb25kIGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICBz
ZWNvbmQgY29sdW1uPGJyPgorICAgICAgICAgICAgICAgIHNlY29uZCBjb2x1bW48YnI+CisgICAg
ICAgICAgICAgICAgc2Vjb25kIGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICBzZWNvbmQgY29s
dW1uPGJyPgorICAgICAgICAgICAgICAgIHNlY29uZCBjb2x1bW48YnI+CisgICAgICAgICAgICA8
L2Rpdj4KKyAgICAgICAgICAgIDxkaXYgc3R5bGU9Ii13ZWJraXQtY29sdW1uLWJyZWFrLWFmdGVy
OmFsd2F5czsgYnJlYWstYWZ0ZXI6Y29sdW1uOyI+CisgICAgICAgICAgICAgICAgdGhpcmQgY29s
dW1uPGJyPgorICAgICAgICAgICAgICAgIHRoaXJkIGNvbHVtbjxicj4KKyAgICAgICAgICAgICAg
ICB0aGlyZCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAgdGhpcmQgY29sdW1uPGJyPgorICAg
ICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZGl2PgorICAgICAgICAgICAgICAgIGZvdXJ0
aCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAgZm91cnRoIGNvbHVtbjxicj4KKyAgICAgICAg
ICAgICAgICBmb3VydGggY29sdW1uPGJyPgorICAgICAgICAgICAgICAgIGZvdXJ0aCBjb2x1bW48
YnI+CisgICAgICAgICAgICAgICAgZm91cnRoIGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICBm
b3VydGggY29sdW1uPGJyPgorICAgICAgICAgICAgICAgIGZpZnRoIGNvbHVtbjxicj4KKyAgICAg
ICAgICAgICAgICBmaWZ0aCBjb2x1bW48YnI+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAg
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9maXhlZC1oZWlnaHQtZmlsbC1iYWxhbmNlLTItZXhwZWN0
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvZml4ZWQtaGVp
Z2h0LWZpbGwtYmFsYW5jZS0yLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDMyOTlmNTVhNTFh
YjMxOTg4Y2QwODNjOTE3M2FjNjc2YWVhZTllMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvZml4ZWQtaGVpZ2h0LWZpbGwtYmFsYW5jZS0y
LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KyAgICA8aGVhZD4KKyAgICAgICAgPHRpdGxlPmJhbGFuY2luZyBmaXhlZC1oZWlnaHQgbXVsdGlj
b2w8L3RpdGxlPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keSBzdHlsZT0ib3ZlcmZsb3c6aGlkZGVu
OyI+CisgICAgICAgIDxwPlRoZXJlIHNob3VsZCBiZSB0aHJlZSBpZGVudGljYWwgYmx1ZSByZWN0
YW5nbGVzIGJlbG93LjwvcD4KKyAgICAgICAgPGRpdiBzdHlsZT0id2lkdGg6MjBlbTsiPgorICAg
ICAgICAgICAgPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsgd2lkdGg6NmVtOyBoZWlnaHQ6MmVtOyBi
YWNrZ3JvdW5kOmJsdWU7Ij48L2Rpdj4KKyAgICAgICAgICAgIDxkaXYgc3R5bGU9ImZsb2F0Omxl
ZnQ7IHdpZHRoOjFlbTsgaGVpZ2h0OjJlbTsiPjwvZGl2PgorICAgICAgICAgICAgPGRpdiBzdHls
ZT0iZmxvYXQ6bGVmdDsgd2lkdGg6NmVtOyBoZWlnaHQ6MmVtOyBiYWNrZ3JvdW5kOmJsdWU7Ij48
L2Rpdj4KKyAgICAgICAgICAgIDxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7IHdpZHRoOjFlbTsgaGVp
Z2h0OjJlbTsiPjwvZGl2PgorICAgICAgICAgICAgPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsgd2lk
dGg6NmVtOyBoZWlnaHQ6MmVtOyBiYWNrZ3JvdW5kOmJsdWU7Ij48L2Rpdj4KKyAgICAgICAgPC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9t
dWx0aWNvbC9uZXdtdWx0aWNvbC9maXhlZC1oZWlnaHQtZmlsbC1iYWxhbmNlLTIuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvZml4ZWQtaGVpZ2h0LWZpbGwtYmFs
YW5jZS0yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGUxYWU1YTk2N2I3ODM3MjRlNzExMjA4YmU5NWE0MTk2
ODY5NWM4YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvbmV3
bXVsdGljb2wvZml4ZWQtaGVpZ2h0LWZpbGwtYmFsYW5jZS0yLmh0bWwKQEAgLTAsMCArMSwxNiBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHRpdGxlPmJh
bGFuY2luZyBmaXhlZC1oZWlnaHQgbXVsdGljb2w8L3RpdGxlPgorICAgICAgICA8c2NyaXB0Pgor
ICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldFJlZ2lvbkJhc2VkQ29sdW1uc0VuYWJsZWQodHJ1ZSk7CisgICAgICAg
IDwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keSBzdHlsZT0ib3ZlcmZsb3c6aGlkZGVu
OyI+CisgICAgICAgIDxwPlRoZXJlIHNob3VsZCBiZSB0aHJlZSBpZGVudGljYWwgYmx1ZSByZWN0
YW5nbGVzIGJlbG93LjwvcD4KKyAgICAgICAgPGRpdiBzdHlsZT0iLXdlYmtpdC1jb2x1bW5zOjM7
IC13ZWJraXQtY29sdW1uLWdhcDoxZW07IGNvbHVtbnM6MzsgY29sdW1uLWdhcDoxZW07IGxpbmUt
aGVpZ2h0OjJlbTsgaGVpZ2h0OjMuOWVtOyB3aWR0aDoyMGVtOyI+CisgICAgICAgICAgICA8ZGl2
IHN0eWxlPSJiYWNrZ3JvdW5kOmJsdWU7Ij48YnI+PGJyPjxicj48L2Rpdj4KKyAgICAgICAgPC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221630</attachid>
            <date>2014-01-20 00:59:52 -0800</date>
            <delta_ts>2014-01-20 01:16:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-123993-20140120100003.patch</filename>
            <type>text/plain</type>
            <size>48447</size>
            <attacher name="Morten Stenshorne">mstensho</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYyMzA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDU2ZDZiNDYzNTcxOTY3
MzQ1ZDFmNjE1MTM0YzEwMTc3ZTViNDI3MC4uYTMyYjhjMzhkZmE1NmZmNjM1NzBiYWNlZGVmYzIw
ZWY3MjBiN2NkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgwIEBACisyMDE0LTAxLTE0ICBNb3J0
ZW4gU3RlbnNob3JuZSAgPG1zdGVuc2hvQG9wZXJhLmNvbT4KKworICAgICAgICBSZWdpb24gYmFz
ZWQgbXVsdGljb2w6IHN1cHBvcnQgZXhwbGljaXQgY29sdW1uIGJyZWFrcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIzOTkzCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWVyZWx5IHN1cHBvcnRpbmcgaW5z
ZXJ0aW9uIG9mIGV4cGxpY2l0IChmb3JjZWQpIGNvbHVtbiBicmVha3MgaW4KKyAgICAgICAgdGhl
IHJlZ2lvbiBiYXNlZCBtdWx0aWNvbCBpbXBsZW1lbnRhdGlvbiBpcyByZWFsbHkgc2ltcGxlOiBq
dXN0CisgICAgICAgIGhvb2sgdXAgd2l0aCB3aGF0IHRoZSBDU1MgcmVnaW9ucyBjb2RlIGlzIGFs
cmVhZHkgZG9pbmcuCisKKyAgICAgICAgSG93ZXZlciwgdGhlcmUgaXMgb25lIGNvbXBsaWNhdGlv
bjogY29sdW1uIGJhbGFuY2luZy4gSW4gb3JkZXIgdG8KKyAgICAgICAgYmFsYW5jZSBjb2x1bW5z
IGFzIG5pY2VseSBhcyBwb3NzaWJsZSB3aGVuIHRoZXJlIGFyZSBleHBsaWNpdAorICAgICAgICBi
cmVha3MsIHdlIG5lZWQgdG8gZmlndXJlIG91dCBiZXR3ZWVuIHdoaWNoIGV4cGxpY2l0IGJyZWFr
cyB0aGUKKyAgICAgICAgaW1wbGljaXQgYnJlYWtzIHdpbGwgb2NjdXIgKGlmIHRoZXJlJ3Mgcm9v
bSBmb3IgYW55IGF0IGFsbCkuCisKKyAgICAgICAgVGVzdHM6IGZhc3QvbXVsdGljb2wvbmV3bXVs
dGljb2wvYnJlYWstYWZ0ZXIuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9tdWx0aWNvbC9uZXdt
dWx0aWNvbC9icmVhay1iZWZvcmUuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9tdWx0aWNvbC9u
ZXdtdWx0aWNvbC9icmVha3MtMi1jb2x1bW5zLTMtbm8tYmFsYW5jaW5nLmh0bWwKKyAgICAgICAg
ICAgICAgIGZhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvYnJlYWtzLTItY29sdW1ucy0zLmh0bWwK
KyAgICAgICAgICAgICAgIGZhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvYnJlYWtzLTMtY29sdW1u
cy0zLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvZml4ZWQt
aGVpZ2h0LWZpbGwtYmFsYW5jZS0yLmh0bWwKKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJC
bG9ja0Zsb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjphcHBseUJl
Zm9yZUJyZWFrKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6YXBwbHlBZnRl
ckJyZWFrKTogVXNlIHRoZSBhbHJlYWR5CisgICAgICAgIGV4aXN0aW5nIHJlZ2lvbiBicmVha2lu
ZyBjb2RlIHdoZW4gaW5zZXJ0aW5nIGJyZWFrcyBpbiByZWdpb24KKyAgICAgICAgYmFzZWQgbXVs
dGljb2wuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuaDoKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5CbG9jay5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJNdWx0aUNvbHVtbkJsb2NrOjpSZW5kZXJNdWx0aUNvbHVtbkJsb2NrKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlck11bHRpQ29sdW1uQmxvY2s6OnJlbGF5b3V0Rm9yUGFnaW5hdGlv
bik6IEF2b2lkCisgICAgICAgIHJlLWJhbGFuY2luZyBpZiB0aGUgbXVsdGljb2wncyBjb250ZW50
cyB3ZXJlIG5vdCBsYWlkIG91dC4gQXBhcnQKKyAgICAgICAgZnJvbSBiZWluZyBnb29kIGZvciBw
ZXJmb3JtYW5jZSwgdGhpcyBpcyBub3cgbmVjZXNzYXJ5IGJlY2F1c2Ugb2YKKyAgICAgICAgaG93
IGV4cGxpY2l0IGJyZWFrcyBhcmUgaW1wbGVtZW50ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJNdWx0aUNvbHVtbkJsb2NrOjpsYXlvdXRTcGVjaWFsRXhjbHVkZWRDaGlsZCk6CisgICAgICAg
IERldGVjdCBpZiB0aGUgY29udGVudHMgYXJlIGdvaW5nIHRvIGJlIGxhaWQgb3V0LCBvciBza2lw
cGVkLCBzbworICAgICAgICB0aGF0IHdlIGNhbiB0ZWxsIGlmIHdlIG5lZWQgdG8gKHJlLSliYWxh
bmNlIHRoZSBjb2x1bW5zCisgICAgICAgIGFmdGVyd2FyZHMuCisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlck11bHRpQ29sdW1uQmxvY2suaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTXVs
dGlDb2x1bW5GbG93VGhyZWFkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck11bHRpQ29s
dW1uRmxvd1RocmVhZDo6YWRkRm9yY2VkUmVnaW9uQnJlYWspOgorICAgICAgICBMb2NhdGUgdGhl
IGFwcHJvcHJpYXRlIG11bHRpLWNvbHVtbiBzZXQgYW5kIGNhbGwgaXRzCisgICAgICAgIGFkZEZv
cmNlZEJyZWFrKCkuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvd1Ro
cmVhZC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJNdWx0aUNvbHVtblNldDo6UmVuZGVyTXVsdGlDb2x1bW5T
ZXQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTXVsdGlDb2x1bW5TZXQ6OmZpbmRSdW5XaXRo
VGFsbGVzdENvbHVtbnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTXVsdGlDb2x1bW5TZXQ6
OmRpc3RyaWJ1dGVJbXBsaWNpdEJyZWFrcyk6IEZpZ3VyZQorICAgICAgICBvdXQgaG93IG1hbnkg
aW1wbGljaXQgYnJlYWtzIGVhY2ggc2luZ2xlICJjb250ZW50IHJ1biIgc2hvdWxkCisgICAgICAg
IGNvbnRhaW4uIFRoZSB0YWxsZXIgdGhlIGNvbnRlbnQgcnVuLCB0aGUgbW9yZSBpbXBsaWNpdCBi
cmVha3MuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNdWx0aUNvbHVtblNldDo6Y2FsY3VsYXRl
QmFsYW5jZWRIZWlnaHQpOiBUaGlzIGlzCisgICAgICAgIG5vdyBhIGNvbnN0IG1ldGhvZCB0aGF0
IG9ubHkgZG9lcyBoYWxmIG9mIHdoYXQgdGhlIG9sZAorICAgICAgICBjYWxjdWxhdGVCYWxhbmNl
ZEhlaWdodCgpIGRpZC4gVGhlIHJlc3QgKHN1Y2ggYXMgYWN0dWFsbHkgc3RvcmluZworICAgICAg
ICB0aGUgbmV3IGNvbHVtbiBoZWlnaHQpIGlzIGRvbmUgYnkgcmVjYWxjdWxhdGVCYWxhbmNlZEhl
aWdodCgpLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTXVsdGlDb2x1bW5TZXQ6OmNsZWFyRm9y
Y2VkQnJlYWtzKTogTmVlZHMgdG8gYmUKKyAgICAgICAgY2FsbGVkIGJldHdlZW4gZWFjaCBsYXlv
dXQgcGFzcywgdG8gY2xlYXIgdGhlIGxpc3Qgb2YgImNvbnRlbnQKKyAgICAgICAgcnVucyIuCisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJNdWx0aUNvbHVtblNldDo6YWRkRm9yY2VkQnJlYWspOiBP
bmx5IHVzZWZ1bCB3aGVuCisgICAgICAgIGNvbHVtbnMgYXJlIHRvIGJlIGJhbGFuY2VkLiBJdCBy
ZWNlaXZlcyBleHBsaWNpdCAoZm9yY2VkKSBicmVha3MKKyAgICAgICAgYW5kIHN0b3JlcyB0aGVt
IGFzICJjb250ZW50IHJ1bnMiLiBXaGVuIGxheW91dCBpcyBkb25lLCB3ZSdsbCBnbworICAgICAg
ICB0aHJvdWdoIHRoZSBsaXN0IG9mIGNvbnRlbnQgcnVucywgYW5kIHNlZSB3aGVyZSBpbXBsaWNp
dCBicmVha3MKKyAgICAgICAgc2hvdWxkIGJlIGluc2VydGVkIChpZiB0aGVyZSdzIHJvb20gZm9y
IGFueSkuIFRoZSBnb2FsIGlzIHRvCisgICAgICAgIGluc2VydCBpbXBsaWNpdCBicmVha3MgaW4g
c3VjaCBhIHdheSB0aGF0IHRoZSBmaW5hbCBjb2x1bW5zIGJlY29tZQorICAgICAgICBhcyBzaG9y
dCBhcyBwb3NzaWJsZS4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck11bHRpQ29sdW1uU2V0Ojpy
ZWNhbGN1bGF0ZUJhbGFuY2VkSGVpZ2h0KToKKyAgICAgICAgQ2FsY3VsYXRlcyBhbmQgc2V0cyBh
IG5ldyBiYWxhbmNlZCBjb2x1bW4gaGVpZ2h0LiBUaGlzIHVzZWQgdG8gYmUKKyAgICAgICAgZG9u
ZSBkaXJlY3RseSBpbiBjYWxjdWxhdGVCYWxhbmNlZEhlaWdodCgpLCBidXQgdGhhdCBtZXRob2Qg
aXMgbm93CisgICAgICAgIGNvbnN0IGFuZCBpdCBub3cgb25seSBjYWxjdWxhdGVzIHRoZSBuZXcg
aGVpZ2h0IGFuZCByZXR1cm5zIGl0LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTXVsdGlDb2x1
bW5TZXQ6OnByZXBhcmVGb3JMYXlvdXQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNdWx0
aUNvbHVtblNldC5oOiBSZW1vdmUgb2xkIGRhdGEgbWVtYmVycworICAgICAgICBpbnRlbmRlZCBm
b3IgZm9yY2VkIGJyZWFrcyAodGhleSB3ZXJlIHVudXNlZCksIGFuZCBpbnRyb2R1Y2UgYQorICAg
ICAgICAiY29udGVudCBydW4iIHZlY3RvciBpbnN0ZWFkLiBBIG5ldyBjb250ZW50IHJ1biBpcyB0
cmlnZ2VyZWQgYnkgYW4KKyAgICAgICAgZXhwbGljaXQgYnJlYWsuIFRoaXMgaXMgb25seSB1c2Vk
IHdoZW4gY29sdW1uIGJhbGFuY2luZyBpcworICAgICAgICBlbmFibGVkLiBXaGVuIG5vdCBiYWxh
bmNlZCwgUmVuZGVyTXVsdGlDb2x1bW5TZXQgZG9lc24ndCBuZWVkIHRvCisgICAgICAgIGRvIGFu
eXRoaW5nIHdoZW4gZXhwbGljaXQgYnJlYWtzIGFyZSBpbnNlcnRlZC4KKwogMjAxNC0wMS0xOSAg
Q2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dM
SUJdIEdWYXJpYW50IGZsb2F0aW5nIHJlZmVyZW5jZXMgYXJlIG5vdCBjb3JyZWN0bHkgaGFuZGxl
ZCBieSBHUmVmUHRyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QmxvY2tGbG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cu
Y3BwCmluZGV4IDE4MzlhNjQxM2E1ZDRlZTU1MTk2NDM5OTIzZmU5NDk3YjJkNDU4MTkuLmMyM2I3
YTY4NGQ1ZWEzNGM0ZWM2YWNjYWUzOWZhYjVhZTgzNzY5N2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCkBAIC0xMzQ4LDE1ICsxMzQ4LDIxIEBAIHN0
YXRpYyBib29sIGluTm9ybWFsRmxvdyhSZW5kZXJCb3gmIGNoaWxkKQogTGF5b3V0VW5pdCBSZW5k
ZXJCbG9ja0Zsb3c6OmFwcGx5QmVmb3JlQnJlYWsoUmVuZGVyQm94JiBjaGlsZCwgTGF5b3V0VW5p
dCBsb2dpY2FsT2Zmc2V0KQogewogICAgIC8vIEZJWE1FOiBBZGQgcGFnZSBicmVhayBjaGVja2lu
ZyBoZXJlIHdoZW4gd2Ugc3VwcG9ydCBwcmludGluZy4KLSAgICBib29sIGNoZWNrQ29sdW1uQnJl
YWtzID0gdmlldygpLmxheW91dFN0YXRlKCktPmlzUGFnaW5hdGluZ0NvbHVtbnMoKTsKLSAgICBi
b29sIGNoZWNrUGFnZUJyZWFrcyA9ICFjaGVja0NvbHVtbkJyZWFrcyAmJiB2aWV3KCkubGF5b3V0
U3RhdGUoKS0+bV9wYWdlTG9naWNhbEhlaWdodDsgLy8gRklYTUU6IE9uY2UgY29sdW1ucyBjYW4g
cHJpbnQgd2UgaGF2ZSB0byBjaGVjayB0aGlzLgogICAgIFJlbmRlckZsb3dUaHJlYWQqIGZsb3dU
aHJlYWQgPSBmbG93VGhyZWFkQ29udGFpbmluZ0Jsb2NrKCk7CisgICAgYm9vbCBpc0luc2lkZU11
bHRpY29sRmxvd1RocmVhZCA9IGZsb3dUaHJlYWQgJiYgIWZsb3dUaHJlYWQtPmlzUmVuZGVyTmFt
ZWRGbG93VGhyZWFkKCk7CisgICAgYm9vbCBjaGVja0NvbHVtbkJyZWFrcyA9IGlzSW5zaWRlTXVs
dGljb2xGbG93VGhyZWFkIHx8IHZpZXcoKS5sYXlvdXRTdGF0ZSgpLT5pc1BhZ2luYXRpbmdDb2x1
bW5zKCk7CisgICAgYm9vbCBjaGVja1BhZ2VCcmVha3MgPSAhY2hlY2tDb2x1bW5CcmVha3MgJiYg
dmlldygpLmxheW91dFN0YXRlKCktPm1fcGFnZUxvZ2ljYWxIZWlnaHQ7IC8vIEZJWE1FOiBPbmNl
IGNvbHVtbnMgY2FuIHByaW50IHdlIGhhdmUgdG8gY2hlY2sgdGhpcy4KICAgICBib29sIGNoZWNr
UmVnaW9uQnJlYWtzID0gZmxvd1RocmVhZCAmJiBmbG93VGhyZWFkLT5pc1JlbmRlck5hbWVkRmxv
d1RocmVhZCgpOwotICAgIGJvb2wgY2hlY2tCZWZvcmVBbHdheXMgPSAoY2hlY2tDb2x1bW5CcmVh
a3MgJiYgY2hpbGQuc3R5bGUoKS5jb2x1bW5CcmVha0JlZm9yZSgpID09IFBCQUxXQVlTKSB8fCAo
Y2hlY2tQYWdlQnJlYWtzICYmIGNoaWxkLnN0eWxlKCkucGFnZUJyZWFrQmVmb3JlKCkgPT0gUEJB
TFdBWVMpCisgICAgYm9vbCBjaGVja0JlZm9yZUFsd2F5cyA9IChjaGVja0NvbHVtbkJyZWFrcyAm
JiBjaGlsZC5zdHlsZSgpLmNvbHVtbkJyZWFrQmVmb3JlKCkgPT0gUEJBTFdBWVMpCisgICAgICAg
IHx8IChjaGVja1BhZ2VCcmVha3MgJiYgY2hpbGQuc3R5bGUoKS5wYWdlQnJlYWtCZWZvcmUoKSA9
PSBQQkFMV0FZUykKICAgICAgICAgfHwgKGNoZWNrUmVnaW9uQnJlYWtzICYmIGNoaWxkLnN0eWxl
KCkucmVnaW9uQnJlYWtCZWZvcmUoKSA9PSBQQkFMV0FZUyk7CiAgICAgaWYgKGNoZWNrQmVmb3Jl
QWx3YXlzICYmIGluTm9ybWFsRmxvdyhjaGlsZCkgJiYgaGFzTmV4dFBhZ2UobG9naWNhbE9mZnNl
dCwgSW5jbHVkZVBhZ2VCb3VuZGFyeSkpIHsKLSAgICAgICAgaWYgKGNoZWNrQ29sdW1uQnJlYWtz
KQotICAgICAgICAgICAgdmlldygpLmxheW91dFN0YXRlKCktPmFkZEZvcmNlZENvbHVtbkJyZWFr
KCZjaGlsZCwgbG9naWNhbE9mZnNldCk7CisgICAgICAgIGlmIChjaGVja0NvbHVtbkJyZWFrcykg
eworICAgICAgICAgICAgaWYgKGlzSW5zaWRlTXVsdGljb2xGbG93VGhyZWFkKQorICAgICAgICAg
ICAgICAgIGNoZWNrUmVnaW9uQnJlYWtzID0gdHJ1ZTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgICAgICB2aWV3KCkubGF5b3V0U3RhdGUoKS0+YWRkRm9yY2VkQ29sdW1uQnJlYWsoJmNo
aWxkLCBsb2dpY2FsT2Zmc2V0KTsKKyAgICAgICAgfQogICAgICAgICBpZiAoY2hlY2tSZWdpb25C
cmVha3MpIHsKICAgICAgICAgICAgIExheW91dFVuaXQgb2Zmc2V0QnJlYWtBZGp1c3RtZW50ID0g
MDsKICAgICAgICAgICAgIGlmIChmbG93VGhyZWFkLT5hZGRGb3JjZWRSZWdpb25CcmVhayh0aGlz
LCBvZmZzZXRGcm9tTG9naWNhbFRvcE9mRmlyc3RQYWdlKCkgKyBsb2dpY2FsT2Zmc2V0LCAmY2hp
bGQsIHRydWUsICZvZmZzZXRCcmVha0FkanVzdG1lbnQpKQpAQCAtMTM3MCwxMSArMTM3NiwxMyBA
QCBMYXlvdXRVbml0IFJlbmRlckJsb2NrRmxvdzo6YXBwbHlCZWZvcmVCcmVhayhSZW5kZXJCb3gm
IGNoaWxkLCBMYXlvdXRVbml0IGxvZ2ljYQogTGF5b3V0VW5pdCBSZW5kZXJCbG9ja0Zsb3c6OmFw
cGx5QWZ0ZXJCcmVhayhSZW5kZXJCb3gmIGNoaWxkLCBMYXlvdXRVbml0IGxvZ2ljYWxPZmZzZXQs
IE1hcmdpbkluZm8mIG1hcmdpbkluZm8pCiB7CiAgICAgLy8gRklYTUU6IEFkZCBwYWdlIGJyZWFr
IGNoZWNraW5nIGhlcmUgd2hlbiB3ZSBzdXBwb3J0IHByaW50aW5nLgotICAgIGJvb2wgY2hlY2tD
b2x1bW5CcmVha3MgPSB2aWV3KCkubGF5b3V0U3RhdGUoKS0+aXNQYWdpbmF0aW5nQ29sdW1ucygp
OwotICAgIGJvb2wgY2hlY2tQYWdlQnJlYWtzID0gIWNoZWNrQ29sdW1uQnJlYWtzICYmIHZpZXco
KS5sYXlvdXRTdGF0ZSgpLT5tX3BhZ2VMb2dpY2FsSGVpZ2h0OyAvLyBGSVhNRTogT25jZSBjb2x1
bW5zIGNhbiBwcmludCB3ZSBoYXZlIHRvIGNoZWNrIHRoaXMuCiAgICAgUmVuZGVyRmxvd1RocmVh
ZCogZmxvd1RocmVhZCA9IGZsb3dUaHJlYWRDb250YWluaW5nQmxvY2soKTsKKyAgICBib29sIGlz
SW5zaWRlTXVsdGljb2xGbG93VGhyZWFkID0gZmxvd1RocmVhZCAmJiAhZmxvd1RocmVhZC0+aXNS
ZW5kZXJOYW1lZEZsb3dUaHJlYWQoKTsKKyAgICBib29sIGNoZWNrQ29sdW1uQnJlYWtzID0gaXNJ
bnNpZGVNdWx0aWNvbEZsb3dUaHJlYWQgfHwgdmlldygpLmxheW91dFN0YXRlKCktPmlzUGFnaW5h
dGluZ0NvbHVtbnMoKTsKKyAgICBib29sIGNoZWNrUGFnZUJyZWFrcyA9ICFjaGVja0NvbHVtbkJy
ZWFrcyAmJiB2aWV3KCkubGF5b3V0U3RhdGUoKS0+bV9wYWdlTG9naWNhbEhlaWdodDsgLy8gRklY
TUU6IE9uY2UgY29sdW1ucyBjYW4gcHJpbnQgd2UgaGF2ZSB0byBjaGVjayB0aGlzLgogICAgIGJv
b2wgY2hlY2tSZWdpb25CcmVha3MgPSBmbG93VGhyZWFkICYmIGZsb3dUaHJlYWQtPmlzUmVuZGVy
TmFtZWRGbG93VGhyZWFkKCk7Ci0gICAgYm9vbCBjaGVja0FmdGVyQWx3YXlzID0gKGNoZWNrQ29s
dW1uQnJlYWtzICYmIGNoaWxkLnN0eWxlKCkuY29sdW1uQnJlYWtBZnRlcigpID09IFBCQUxXQVlT
KSB8fCAoY2hlY2tQYWdlQnJlYWtzICYmIGNoaWxkLnN0eWxlKCkucGFnZUJyZWFrQWZ0ZXIoKSA9
PSBQQkFMV0FZUykKKyAgICBib29sIGNoZWNrQWZ0ZXJBbHdheXMgPSAoY2hlY2tDb2x1bW5CcmVh
a3MgJiYgY2hpbGQuc3R5bGUoKS5jb2x1bW5CcmVha0FmdGVyKCkgPT0gUEJBTFdBWVMpCisgICAg
ICAgIHx8IChjaGVja1BhZ2VCcmVha3MgJiYgY2hpbGQuc3R5bGUoKS5wYWdlQnJlYWtBZnRlcigp
ID09IFBCQUxXQVlTKQogICAgICAgICB8fCAoY2hlY2tSZWdpb25CcmVha3MgJiYgY2hpbGQuc3R5
bGUoKS5yZWdpb25CcmVha0FmdGVyKCkgPT0gUEJBTFdBWVMpOwogICAgIGlmIChjaGVja0FmdGVy
QWx3YXlzICYmIGluTm9ybWFsRmxvdyhjaGlsZCkgJiYgaGFzTmV4dFBhZ2UobG9naWNhbE9mZnNl
dCwgSW5jbHVkZVBhZ2VCb3VuZGFyeSkpIHsKICAgICAgICAgTGF5b3V0VW5pdCBtYXJnaW5PZmZz
ZXQgPSBtYXJnaW5JbmZvLmNhbkNvbGxhcHNlV2l0aE1hcmdpbkJlZm9yZSgpID8gTGF5b3V0VW5p
dCgpIDogbWFyZ2luSW5mby5tYXJnaW4oKTsKQEAgLTEzODIsOCArMTM5MCwxMiBAQCBMYXlvdXRV
bml0IFJlbmRlckJsb2NrRmxvdzo6YXBwbHlBZnRlckJyZWFrKFJlbmRlckJveCYgY2hpbGQsIExh
eW91dFVuaXQgbG9naWNhbAogICAgICAgICAvLyBTbyBvdXIgbWFyZ2luIGRvZXNuJ3QgcGFydGlj
aXBhdGUgaW4gdGhlIG5leHQgY29sbGFwc2luZyBzdGVwcy4KICAgICAgICAgbWFyZ2luSW5mby5j
bGVhck1hcmdpbigpOwogCi0gICAgICAgIGlmIChjaGVja0NvbHVtbkJyZWFrcykKLSAgICAgICAg
ICAgIHZpZXcoKS5sYXlvdXRTdGF0ZSgpLT5hZGRGb3JjZWRDb2x1bW5CcmVhaygmY2hpbGQsIGxv
Z2ljYWxPZmZzZXQpOworICAgICAgICBpZiAoY2hlY2tDb2x1bW5CcmVha3MpIHsKKyAgICAgICAg
ICAgIGlmIChpc0luc2lkZU11bHRpY29sRmxvd1RocmVhZCkKKyAgICAgICAgICAgICAgICBjaGVj
a1JlZ2lvbkJyZWFrcyA9IHRydWU7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAg
dmlldygpLmxheW91dFN0YXRlKCktPmFkZEZvcmNlZENvbHVtbkJyZWFrKCZjaGlsZCwgbG9naWNh
bE9mZnNldCk7CisgICAgICAgIH0KICAgICAgICAgaWYgKGNoZWNrUmVnaW9uQnJlYWtzKSB7CiAg
ICAgICAgICAgICBMYXlvdXRVbml0IG9mZnNldEJyZWFrQWRqdXN0bWVudCA9IDA7CiAgICAgICAg
ICAgICBpZiAoZmxvd1RocmVhZC0+YWRkRm9yY2VkUmVnaW9uQnJlYWsodGhpcywgb2Zmc2V0RnJv
bUxvZ2ljYWxUb3BPZkZpcnN0UGFnZSgpICsgbG9naWNhbE9mZnNldCArIG1hcmdpbk9mZnNldCwg
JmNoaWxkLCBmYWxzZSwgJm9mZnNldEJyZWFrQWRqdXN0bWVudCkpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuaAppbmRleCA4YmM1MjA5OWUwMWM4OGMyNTdhN2Y3
ZjVmNmY4OWE1YmZiNjA1ZTY2Li5mY2VkNjQ1ZTFjMjhiM2EzYTE1ZjE3OGI1MzZjYmMwM2M5OTI2
NmQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVh
ZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmgKQEAg
LTE0NSw3ICsxNDUsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBtYXJrQXV0b0xvZ2ljYWxIZWlnaHRS
ZWdpb25zRm9yTGF5b3V0KCk7CiAgICAgdm9pZCBtYXJrUmVnaW9uc0Zvck92ZXJmbG93TGF5b3V0
SWZOZWVkZWQoKTsKIAotICAgIGJvb2wgYWRkRm9yY2VkUmVnaW9uQnJlYWsoY29uc3QgUmVuZGVy
QmxvY2sqLCBMYXlvdXRVbml0LCBSZW5kZXJCb3gqIGJyZWFrQ2hpbGQsIGJvb2wgaXNCZWZvcmUs
IExheW91dFVuaXQqIG9mZnNldEJyZWFrQWRqdXN0bWVudCA9IDApOworICAgIHZpcnR1YWwgYm9v
bCBhZGRGb3JjZWRSZWdpb25CcmVhayhjb25zdCBSZW5kZXJCbG9jayosIExheW91dFVuaXQsIFJl
bmRlckJveCogYnJlYWtDaGlsZCwgYm9vbCBpc0JlZm9yZSwgTGF5b3V0VW5pdCogb2Zmc2V0QnJl
YWtBZGp1c3RtZW50ID0gMCk7CiAgICAgdm9pZCBhcHBseUJyZWFrQWZ0ZXJDb250ZW50KExheW91
dFVuaXQpOwogCiAgICAgYm9vbCBwYWdlTG9naWNhbFNpemVDaGFuZ2VkKCkgY29uc3QgeyByZXR1
cm4gbV9wYWdlTG9naWNhbFNpemVDaGFuZ2VkOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5CbG9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5CbG9jay5jcHAKaW5kZXggOGU1MTA5YzZkZjdiOTZl
NDBjNmFiZmI0ZTI1YWIzYmUxYjg3OGRmMC4uNjhmMTZhNzZjZWE4ZDA5ZjQ0NTNhNTY0ZWM0YmU4
ZjAxOTUxMDM2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11
bHRpQ29sdW1uQmxvY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJN
dWx0aUNvbHVtbkJsb2NrLmNwcApAQCAtNDAsNiArNDAsNyBAQCBSZW5kZXJNdWx0aUNvbHVtbkJs
b2NrOjpSZW5kZXJNdWx0aUNvbHVtbkJsb2NrKEVsZW1lbnQmIGVsZW1lbnQsIFBhc3NSZWY8UmVu
ZGVyUwogICAgICwgbV9jb2x1bW5XaWR0aCgwKQogICAgICwgbV9jb2x1bW5IZWlnaHRBdmFpbGFi
bGUoMCkKICAgICAsIG1faW5CYWxhbmNpbmdQYXNzKGZhbHNlKQorICAgICwgbV9uZWVkc1JlYmFs
YW5jaW5nKGZhbHNlKQogewogfQogCkBAIC05Niw4ICs5Nyw5IEBAIHZvaWQgUmVuZGVyTXVsdGlD
b2x1bW5CbG9jazo6Y2hlY2tGb3JQYWdpbmF0aW9uTG9naWNhbEhlaWdodENoYW5nZShMYXlvdXRV
bml0JiAvCiAKIGJvb2wgUmVuZGVyTXVsdGlDb2x1bW5CbG9jazo6cmVsYXlvdXRGb3JQYWdpbmF0
aW9uKGJvb2wsIExheW91dFVuaXQsIExheW91dFN0YXRlTWFpbnRhaW5lciYgc3RhdGVQdXNoZXIp
CiB7Ci0gICAgaWYgKG1faW5CYWxhbmNpbmdQYXNzIHx8ICFyZXF1aXJlc0JhbGFuY2luZygpKQor
ICAgIGlmIChtX2luQmFsYW5jaW5nUGFzcyB8fCAhbV9uZWVkc1JlYmFsYW5jaW5nKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgbV9uZWVkc1JlYmFsYW5jaW5nID0gZmFsc2U7CiAgICAgbV9p
bkJhbGFuY2luZ1Bhc3MgPSB0cnVlOyAvLyBQcmV2ZW50IHJlLWVudGVyaW5nIHRoaXMgbWV0aG9k
IChhbmQgcmVjdXJzaW9uIGludG8gbGF5b3V0KS4KIAogICAgIGJvb2wgbmVlZHNSZWxheW91dDsK
QEAgLTExMyw3ICsxMTUsNyBAQCBib29sIFJlbmRlck11bHRpQ29sdW1uQmxvY2s6OnJlbGF5b3V0
Rm9yUGFnaW5hdGlvbihib29sLCBMYXlvdXRVbml0LCBMYXlvdXRTdGF0ZQogICAgICAgICBmb3Ig
KFJlbmRlckJveCogY2hpbGRCb3ggPSBmaXJzdENoaWxkQm94KCk7IGNoaWxkQm94OyBjaGlsZEJv
eCA9IGNoaWxkQm94LT5uZXh0U2libGluZ0JveCgpKQogICAgICAgICAgICAgaWYgKGNoaWxkQm94
ICE9IG1fZmxvd1RocmVhZCAmJiBjaGlsZEJveC0+aXNSZW5kZXJNdWx0aUNvbHVtblNldCgpKSB7
CiAgICAgICAgICAgICAgICAgUmVuZGVyTXVsdGlDb2x1bW5TZXQqIG11bHRpY29sU2V0ID0gdG9S
ZW5kZXJNdWx0aUNvbHVtblNldChjaGlsZEJveCk7Ci0gICAgICAgICAgICAgICAgaWYgKG11bHRp
Y29sU2V0LT5jYWxjdWxhdGVCYWxhbmNlZEhlaWdodChmaXJzdFBhc3MpKSB7CisgICAgICAgICAg
ICAgICAgaWYgKG11bHRpY29sU2V0LT5yZWNhbGN1bGF0ZUJhbGFuY2VkSGVpZ2h0KGZpcnN0UGFz
cykpIHsKICAgICAgICAgICAgICAgICAgICAgbXVsdGljb2xTZXQtPnNldENoaWxkTmVlZHNMYXlv
dXQoTWFya09ubHlUaGlzKTsKICAgICAgICAgICAgICAgICAgICAgbmVlZHNSZWxheW91dCA9IHRy
dWU7CiAgICAgICAgICAgICAgICAgfQpAQCAtMTcwLDYgKzE3MiwxOCBAQCBSZW5kZXJPYmplY3Qq
IFJlbmRlck11bHRpQ29sdW1uQmxvY2s6OmxheW91dFNwZWNpYWxFeGNsdWRlZENoaWxkKGJvb2wg
cmVsYXlvdXRDaAogICAgIGlmIChyZWxheW91dENoaWxkcmVuKQogICAgICAgICBtX2Zsb3dUaHJl
YWQtPnNldENoaWxkTmVlZHNMYXlvdXQoTWFya09ubHlUaGlzKTsKICAgICAKKyAgICBpZiAocmVx
dWlyZXNCYWxhbmNpbmcoKSkgeworICAgICAgICAvLyBBdCB0aGUgZW5kIG9mIG11bHRpY29sIGxh
eW91dCwgcmVsYXlvdXRGb3JQYWdpbmF0aW9uKCkgaXMgY2FsbGVkIHVuY29uZGl0aW9uYWxseSwg
YnV0IGlmCisgICAgICAgIC8vIG5vIGNoaWxkcmVuIGFyZSB0byBiZSBsYWlkIG91dCAoZS5nLiBm
aXhlZCB3aWR0aCB3aXRoIGxheW91dCBhbHJlYWR5IGJlaW5nIHVwLXRvLWRhdGUpLAorICAgICAg
ICAvLyB3ZSB3YW50IHRvIHByZXZlbnQgaXQgZnJvbSBkb2luZyBhbnkgd29yaywgc28gdGhhdCB0
aGUgY29sdW1uIGJhbGFuY2luZyBtYWNoaW5lcnkgZG9lc24ndAorICAgICAgICAvLyBraWNrIGlu
IGFuZCB0cmlnZ2VyIGFkZGl0aW9uYWwgdW5uZWNlc3NhcnkgbGF5b3V0IHBhc3Nlcy4gQWN0dWFs
bHksIGl0J3Mgbm90IGp1c3QgYSBnb29kCisgICAgICAgIC8vIGlkZWEgaW4gZ2VuZXJhbCB0byBu
b3Qgd2FzdGUgdGltZSBvbiBiYWxhbmNpbmcgY29udGVudCB0aGF0IGhhc24ndCBiZWVuIHJlLWxh
aWQgb3V0OyB3ZQorICAgICAgICAvLyBhcmUgYWN0dWFsbHkgcmVxdWlyZWQgdG8gZ3VhcmFudGVl
IHRoaXMuIFRoZSBjYWxjdWxhdGlvbiBvZiBpbXBsaWNpdCBicmVha3MgbmVlZHMgdG8gYmUKKyAg
ICAgICAgLy8gcHJlY2VkZWQgYnkgYSBwcm9wZXIgbGF5b3V0IHBhc3MsIHNpbmNlIGl0J3MgbGF5
b3V0IHRoYXQgc2V0cyB1cCBjb250ZW50IHJ1bnMsIGFuZCB0aGUKKyAgICAgICAgLy8gcnVucyBn
ZXQgZGVsZXRlZCByaWdodCBhZnRlciBldmVyeSBwYXNzLgorICAgICAgICBtX25lZWRzUmViYWxh
bmNpbmcgPSBzaG91bGRJbnZhbGlkYXRlUmVnaW9ucyB8fCBtX2Zsb3dUaHJlYWQtPm5lZWRzTGF5
b3V0KCk7CisgICAgfQorCiAgICAgc2V0TG9naWNhbFRvcEZvckNoaWxkKCptX2Zsb3dUaHJlYWQs
IGJvcmRlckFuZFBhZGRpbmdCZWZvcmUoKSk7CiAgICAgbV9mbG93VGhyZWFkLT5sYXlvdXRJZk5l
ZWRlZCgpOwogICAgIGRldGVybWluZUxvZ2ljYWxMZWZ0UG9zaXRpb25Gb3JDaGlsZCgqbV9mbG93
VGhyZWFkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0
aUNvbHVtbkJsb2NrLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1
bW5CbG9jay5oCmluZGV4IGNiYzUyNDZiNjQxZmJkYWZmY2QwOTZlNzkzYjA0MzEyYzk0ZDkxN2Qu
LjU3ZTcyMjVkY2QxYWVhYTc3MzJmNzIxOTA4OWNjOGJlZWI4N2M0NjIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkJsb2NrLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uQmxvY2suaApAQCAtNzEsNiAr
NzEsNyBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhlc2Ug
dmFsdWVzIHdpbGwgYmUgY2FjaGVkIChldmVudHVhbGx5KSBmb3IgbXVsdGktY29sdW1uIGJsb2Nr
cy4KICAgICBMYXlvdXRVbml0IG1fY29sdW1uSGVpZ2h0QXZhaWxhYmxlOyAvLyBUb3RhbCBoZWln
aHQgYXZhaWxhYmxlIHRvIGNvbHVtbnMsIG9yIDAgaWYgYXV0by4KICAgICBib29sIG1faW5CYWxh
bmNpbmdQYXNzOyAvLyBTZXQgd2hlbiByZWxheW91dGluZyBmb3IgY29sdW1uIGJhbGFuY2luZy4K
KyAgICBib29sIG1fbmVlZHNSZWJhbGFuY2luZzsKIH07CiAKIFJFTkRFUl9PQkpFQ1RfVFlQRV9D
QVNUUyhSZW5kZXJNdWx0aUNvbHVtbkJsb2NrLCBpc1JlbmRlck11bHRpQ29sdW1uQmxvY2soKSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZs
b3dUaHJlYWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1u
Rmxvd1RocmVhZC5jcHAKaW5kZXggZDM3ZWEzZjIwMjkwYmEwODVlMjNlMTllMTZhNjg5MzFmNjMx
ODQ2Ny4uYTc3NjZjNThhYzQ0YmRkNjg1MDUzODQ2MTQwZWY1OGFjZWVlYjVhMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvd1RocmVhZC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvd1Ro
cmVhZC5jcHAKQEAgLTExMCw0ICsxMTAsMTUgQEAgdm9pZCBSZW5kZXJNdWx0aUNvbHVtbkZsb3dU
aHJlYWQ6OnVwZGF0ZU1pbmltdW1QYWdlSGVpZ2h0KGNvbnN0IFJlbmRlckJsb2NrKiBibG8KICAg
ICAgICAgbXVsdGljb2xTZXQtPnVwZGF0ZU1pbmltdW1Db2x1bW5IZWlnaHQobWluSGVpZ2h0KTsK
IH0KIAorYm9vbCBSZW5kZXJNdWx0aUNvbHVtbkZsb3dUaHJlYWQ6OmFkZEZvcmNlZFJlZ2lvbkJy
ZWFrKGNvbnN0IFJlbmRlckJsb2NrKiBibG9jaywgTGF5b3V0VW5pdCBvZmZzZXQsIFJlbmRlckJv
eCogLypicmVha0NoaWxkKi8sIGJvb2wgLyppc0JlZm9yZSovLCBMYXlvdXRVbml0KiBvZmZzZXRC
cmVha0FkanVzdG1lbnQpCit7CisgICAgaWYgKFJlbmRlck11bHRpQ29sdW1uU2V0KiBtdWx0aWNv
bFNldCA9IHRvUmVuZGVyTXVsdGlDb2x1bW5TZXQocmVnaW9uQXRCbG9ja09mZnNldChibG9jaywg
b2Zmc2V0KSkpIHsKKyAgICAgICAgbXVsdGljb2xTZXQtPmFkZEZvcmNlZEJyZWFrKG9mZnNldCk7
CisgICAgICAgIGlmIChvZmZzZXRCcmVha0FkanVzdG1lbnQpCisgICAgICAgICAgICAqb2Zmc2V0
QnJlYWtBZGp1c3RtZW50ID0gcGFnZUxvZ2ljYWxIZWlnaHRGb3JPZmZzZXQob2Zmc2V0KSA/IHBh
Z2VSZW1haW5pbmdMb2dpY2FsSGVpZ2h0Rm9yT2Zmc2V0KG9mZnNldCwgSW5jbHVkZVBhZ2VCb3Vu
ZGFyeSkgOiBMYXlvdXRVbml0KDApOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAg
cmV0dXJuIGZhbHNlOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93VGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93VGhyZWFkLmgKaW5kZXggNmMxMGY3MGI5OWVjM2E2ZTZk
ZjI5MmM5NWJkMTBlOTU3NTI3YTgzNy4uZDY5YTI4YmY5NzZhYjE1YzIxNWJmOTY2ZTM2NTQ5ODQ0
MTcwYWJlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRp
Q29sdW1uRmxvd1RocmVhZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJN
dWx0aUNvbHVtbkZsb3dUaHJlYWQuaApAQCAtNDMsNiArNDMsNyBAQCBwcml2YXRlOgogICAgIHZp
cnR1YWwgTGF5b3V0VW5pdCBpbml0aWFsTG9naWNhbFdpZHRoKCkgY29uc3Qgb3ZlcnJpZGU7CiAg
ICAgdmlydHVhbCB2b2lkIHNldFBhZ2VCcmVhayhjb25zdCBSZW5kZXJCbG9jayosIExheW91dFVu
aXQgb2Zmc2V0LCBMYXlvdXRVbml0IHNwYWNlU2hvcnRhZ2UpIG92ZXJyaWRlOwogICAgIHZpcnR1
YWwgdm9pZCB1cGRhdGVNaW5pbXVtUGFnZUhlaWdodChjb25zdCBSZW5kZXJCbG9jayosIExheW91
dFVuaXQgb2Zmc2V0LCBMYXlvdXRVbml0IG1pbkhlaWdodCkgb3ZlcnJpZGU7CisgICAgdmlydHVh
bCBib29sIGFkZEZvcmNlZFJlZ2lvbkJyZWFrKGNvbnN0IFJlbmRlckJsb2NrKiwgTGF5b3V0VW5p
dCwgUmVuZGVyQm94KiBicmVha0NoaWxkLCBib29sIGlzQmVmb3JlLCBMYXlvdXRVbml0KiBvZmZz
ZXRCcmVha0FkanVzdG1lbnQgPSAwKSBvdmVycmlkZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNv
bHVtblNldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5T
ZXQuY3BwCmluZGV4IDQyODZkYTkwMTRmM2M5ZjZkZTQ2M2VhNjA0M2ZiZmZlY2JkMWZiOWYuLjhi
OWI1NjkxYWNmOTQzYjI5ZDk2M2E5ODcwOGJjNjMxZDAyYTUyMDQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uU2V0LmNwcApAQCAtNDEsOSArNDEs
NiBAQCBSZW5kZXJNdWx0aUNvbHVtblNldDo6UmVuZGVyTXVsdGlDb2x1bW5TZXQoUmVuZGVyRmxv
d1RocmVhZCYgZmxvd1RocmVhZCwgUGFzc1JlZgogICAgICwgbV9tYXhDb2x1bW5IZWlnaHQoTGF5
b3V0VW5pdDo6bWF4KCkpCiAgICAgLCBtX21pblNwYWNlU2hvcnRhZ2UoTGF5b3V0VW5pdDo6bWF4
KCkpCiAgICAgLCBtX21pbmltdW1Db2x1bW5IZWlnaHQoMCkKLSAgICAsIG1fZm9yY2VkQnJlYWtz
Q291bnQoMCkKLSAgICAsIG1fbWF4aW11bURpc3RhbmNlQmV0d2VlbkZvcmNlZEJyZWFrcygwKQot
ICAgICwgbV9mb3JjZWRCcmVha09mZnNldCgwKQogewogfQogCkBAIC03MSw0NSArNjgsMTIyIEBA
IHZvaWQgUmVuZGVyTXVsdGlDb2x1bW5TZXQ6OnNldEFuZENvbnN0cmFpbkNvbHVtbkhlaWdodChM
YXlvdXRVbml0IG5ld0hlaWdodCkKICAgICAvLyBGSVhNRTogdGhlIGhlaWdodCBtYXkgYWxzbyBi
ZSBhZmZlY3RlZCBieSB0aGUgZW5jbG9zaW5nIHBhZ2luYXRpb24gY29udGV4dCwgaWYgYW55Lgog
fQogCi1ib29sIFJlbmRlck11bHRpQ29sdW1uU2V0OjpjYWxjdWxhdGVCYWxhbmNlZEhlaWdodChi
b29sIGluaXRpYWwpCit1bnNpZ25lZCBSZW5kZXJNdWx0aUNvbHVtblNldDo6ZmluZFJ1bldpdGhU
YWxsZXN0Q29sdW1ucygpIGNvbnN0CiB7Ci0gICAgQVNTRVJUKHRvUmVuZGVyTXVsdGlDb2x1bW5C
bG9jayhwYXJlbnQoKSktPnJlcXVpcmVzQmFsYW5jaW5nKCkpOwotICAgIExheW91dFVuaXQgb2xk
Q29sdW1uSGVpZ2h0ID0gbV9jb21wdXRlZENvbHVtbkhlaWdodDsKLSAgICBMYXlvdXRVbml0IGN1
cnJlbnRNaW5TcGFjZVNob3J0YWdlID0gbV9taW5TcGFjZVNob3J0YWdlOwotICAgIG1fbWluU3Bh
Y2VTaG9ydGFnZSA9IExheW91dFVuaXQ6Om1heCgpOworICAgIHVuc2lnbmVkIGluZGV4V2l0aExh
cmdlc3RIZWlnaHQgPSAwOworICAgIExheW91dFVuaXQgbGFyZ2VzdEhlaWdodDsKKyAgICBMYXlv
dXRVbml0IHByZXZpb3VzT2Zmc2V0OworICAgIHNpemVfdCBydW5Db3VudCA9IG1fY29udGVudFJ1
bnMuc2l6ZSgpOworICAgIEFTU0VSVChydW5Db3VudCk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7
IGkgPCBydW5Db3VudDsgaSsrKSB7CisgICAgICAgIGNvbnN0IENvbnRlbnRSdW4mIHJ1biA9IG1f
Y29udGVudFJ1bnNbaV07CisgICAgICAgIExheW91dFVuaXQgaGVpZ2h0ID0gcnVuLmNvbHVtbkxv
Z2ljYWxIZWlnaHQocHJldmlvdXNPZmZzZXQpOworICAgICAgICBpZiAobGFyZ2VzdEhlaWdodCA8
IGhlaWdodCkgeworICAgICAgICAgICAgbGFyZ2VzdEhlaWdodCA9IGhlaWdodDsKKyAgICAgICAg
ICAgIGluZGV4V2l0aExhcmdlc3RIZWlnaHQgPSBpOworICAgICAgICB9CisgICAgICAgIHByZXZp
b3VzT2Zmc2V0ID0gcnVuLmJyZWFrT2Zmc2V0KCk7CisgICAgfQorICAgIHJldHVybiBpbmRleFdp
dGhMYXJnZXN0SGVpZ2h0OworfQorCit2b2lkIFJlbmRlck11bHRpQ29sdW1uU2V0OjpkaXN0cmli
dXRlSW1wbGljaXRCcmVha3MoKQoreworICAgIHVuc2lnbmVkIGJyZWFrQ291bnQgPSBmb3JjZWRC
cmVha3NDb3VudCgpOworCisjaWZuZGVmIE5ERUJVRworICAgIC8vIFRoZXJlIHNob3VsZCBiZSBu
byBpbXBsaWNpdCBicmVha3MgYXNzdW1lZCBhdCB0aGlzIHBvaW50LgorICAgIGZvciAodW5zaWdu
ZWQgaSA9IDA7IGkgPCBicmVha0NvdW50OyBpKyspCisgICAgICAgIEFTU0VSVCghbV9jb250ZW50
UnVuc1tpXS5hc3N1bWVkSW1wbGljaXRCcmVha3MoKSk7CisjZW5kaWYgLy8gTkRFQlVHCisKKyAg
ICAvLyBUaGVyZSB3aWxsIGFsd2F5cyBiZSBhdCBsZWFzdCBvbmUgYnJlYWssIHNpbmNlIHRoZSBm
bG93IHRocmVhZCByZXBvcnRzIGEgImZvcmNlZCBicmVhayIgYXQKKyAgICAvLyBlbmQgb2YgY29u
dGVudC4KKyAgICBBU1NFUlQoYnJlYWtDb3VudCA+PSAxKTsKKworICAgIC8vIElmIHRoZXJlIGlz
IHJvb20gZm9yIG1vcmUgYnJlYWtzICh0byByZWFjaCB0aGUgdXNlZCB2YWx1ZSBvZiBjb2x1bW4t
Y291bnQpLCBpbWFnaW5lIHRoYXQgd2UKKyAgICAvLyBpbnNlcnQgaW1wbGljaXQgYnJlYWtzIGF0
IHN1aXRhYmxlIGxvY2F0aW9ucy4gQXQgYW55IGdpdmVuIHRpbWUsIHRoZSBjb250ZW50IHJ1biB3
aXRoIHRoZQorICAgIC8vIGN1cnJlbnRseSB0YWxsZXN0IGNvbHVtbnMgd2lsbCBnZXQgYW5vdGhl
ciBpbXBsaWNpdCBicmVhayAiaW5zZXJ0ZWQiLCB3aGljaCB3aWxsIGluY3JlYXNlIGl0cworICAg
IC8vIGNvbHVtbiBjb3VudCBieSBvbmUgYW5kIHNocmluayBpdHMgY29sdW1ucycgaGVpZ2h0LiBS
ZXBlYXQgdW50aWwgd2UgaGF2ZSB0aGUgZGVzaXJlZCB0b3RhbAorICAgIC8vIG51bWJlciBvZiBi
cmVha3MuIFRoZSBsYXJnZXN0IGNvbHVtbiBoZWlnaHQgYW1vbmcgdGhlIHJ1bnMgd2lsbCB0aGVu
IGJlIHRoZSBpbml0aWFsIGNvbHVtbgorICAgIC8vIGhlaWdodCBmb3IgdGhlIGJhbGFuY2VyIHRv
IHVzZS4KKyAgICB3aGlsZSAoYnJlYWtDb3VudCA8IG1fY29tcHV0ZWRDb2x1bW5Db3VudCkgewor
ICAgICAgICB1bnNpZ25lZCBpbmRleCA9IGZpbmRSdW5XaXRoVGFsbGVzdENvbHVtbnMoKTsKKyAg
ICAgICAgbV9jb250ZW50UnVuc1tpbmRleF0uYXNzdW1lQW5vdGhlckltcGxpY2l0QnJlYWsoKTsK
KyAgICAgICAgYnJlYWtDb3VudCsrOworICAgIH0KK30KIAorTGF5b3V0VW5pdCBSZW5kZXJNdWx0
aUNvbHVtblNldDo6Y2FsY3VsYXRlQmFsYW5jZWRIZWlnaHQoYm9vbCBpbml0aWFsKSBjb25zdAor
ewogICAgIGlmIChpbml0aWFsKSB7CiAgICAgICAgIC8vIFN0YXJ0IHdpdGggdGhlIGxvd2VzdCBp
bWFnaW5hYmxlIGNvbHVtbiBoZWlnaHQuCi0gICAgICAgIExheW91dFVuaXQgbG9naWNhbEhlaWdo
dEd1ZXNzID0gY2VpbGYoZmxvYXQoZmxvd1RocmVhZCgpLT5sb2dpY2FsSGVpZ2h0KCkpIC8gZmxv
YXQobV9jb21wdXRlZENvbHVtbkNvdW50KSk7Ci0gICAgICAgIGxvZ2ljYWxIZWlnaHRHdWVzcyA9
IHN0ZDo6bWF4KGxvZ2ljYWxIZWlnaHRHdWVzcywgbV9taW5pbXVtQ29sdW1uSGVpZ2h0KTsKLSAg
ICAgICAgc2V0QW5kQ29uc3RyYWluQ29sdW1uSGVpZ2h0KGxvZ2ljYWxIZWlnaHRHdWVzcyk7Ci0K
LSAgICAgICAgLy8gVGhlIG11bHRpY29sIGNvbnRhaW5lciBub3cgdHlwaWNhbGx5IG5lZWRzIGF0
IGxlYXN0IG9uZSBtb3JlIGxheW91dCBwYXNzIHdpdGggYSBuZXcKLSAgICAgICAgLy8gY29sdW1u
IGhlaWdodCwgYnV0IGlmIGhlaWdodCB3YXMgc3BlY2lmaWVkLCB3ZSBvbmx5IG5lZWQgdG8gZG8g
dGhpcyBpZiB3ZSBmb3VuZCB0aGF0IHdlCi0gICAgICAgIC8vIG1pZ2h0IG5lZWQgbGVzcyBzcGFj
ZSB0aGFuIHRoYXQuIE9uIHRoZSBvdGhlciBoYW5kLCBpZiB3ZSBkZXRlcm1pbmVkIHRoYXQgdGhl
IGNvbHVtbnMKLSAgICAgICAgLy8gbmVlZCB0byBiZSBhcyB0YWxsIGFzIHRoZSBzcGVjaWZpZWQg
aGVpZ2h0IG9mIHRoZSBjb250YWluZXIsIHdlIGhhdmUgYWxyZWFkeSBsYWlkIGl0IG91dAotICAg
ICAgICAvLyBjb3JyZWN0bHksIGFuZCB0aGVyZSdzIG5vIG5lZWQgZm9yIGFub3RoZXIgcGFzcy4K
LSAgICAgICAgcmV0dXJuIG1fY29tcHV0ZWRDb2x1bW5IZWlnaHQgIT0gb2xkQ29sdW1uSGVpZ2h0
OworICAgICAgICB1bnNpZ25lZCBpbmRleCA9IGZpbmRSdW5XaXRoVGFsbGVzdENvbHVtbnMoKTsK
KyAgICAgICAgTGF5b3V0VW5pdCBzdGFydE9mZnNldCA9IGluZGV4ID4gMCA/IG1fY29udGVudFJ1
bnNbaW5kZXggLSAxXS5icmVha09mZnNldCgpIDogTGF5b3V0VW5pdCgwKTsKKyAgICAgICAgcmV0
dXJuIHN0ZDo6bWF4PExheW91dFVuaXQ+KG1fY29udGVudFJ1bnNbaW5kZXhdLmNvbHVtbkxvZ2lj
YWxIZWlnaHQoc3RhcnRPZmZzZXQpLCBtX21pbmltdW1Db2x1bW5IZWlnaHQpOwogICAgIH0KIAot
ICAgIGlmIChjb2x1bW5Db3VudCgpIDw9IGNvbXB1dGVkQ29sdW1uQ291bnQoKSkKKyAgICBpZiAo
Y29sdW1uQ291bnQoKSA8PSBjb21wdXRlZENvbHVtbkNvdW50KCkpIHsKICAgICAgICAgLy8gV2l0
aCB0aGUgY3VycmVudCBjb2x1bW4gaGVpZ2h0LCB0aGUgY29udGVudCBmaXRzIHdpdGhvdXQgY3Jl
YXRpbmcgb3ZlcmZsb3dpbmcgY29sdW1ucy4gV2UncmUgZG9uZS4KLSAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgICAgICByZXR1cm4gbV9jb21wdXRlZENvbHVtbkhlaWdodDsKKyAgICB9CisKKyAg
ICBpZiAoZm9yY2VkQnJlYWtzQ291bnQoKSA+IDEgJiYgZm9yY2VkQnJlYWtzQ291bnQoKSA+PSBj
b21wdXRlZENvbHVtbkNvdW50KCkpIHsKKyAgICAgICAgLy8gVG9vIG1hbnkgZm9yY2VkIGJyZWFr
cyB0byBhbGxvdyBhbnkgaW1wbGljaXQgYnJlYWtzLiBJbml0aWFsIGJhbGFuY2luZyBzaG91bGQg
YWxyZWFkeQorICAgICAgICAvLyBoYXZlIHNldCBhIGdvb2QgaGVpZ2h0LiBUaGVyZSdzIG5vdGhp
bmcgbW9yZSB3ZSBzaG91bGQgZG8uCisgICAgICAgIHJldHVybiBtX2NvbXB1dGVkQ29sdW1uSGVp
Z2h0OworICAgIH0KIAogICAgIC8vIElmIHRoZSBpbml0aWFsIGd1ZXNzZWQgY29sdW1uIGhlaWdo
dCB3YXNuJ3QgZW5vdWdoLCBzdHJldGNoIGl0IG5vdy4gU3RyZXRjaCBieSB0aGUgbG93ZXN0CiAg
ICAgLy8gYW1vdW50IG9mIHNwYWNlIHNob3J0YWdlIGZvdW5kIGR1cmluZyBsYXlvdXQuCiAKLSAg
ICBBU1NFUlQoY3VycmVudE1pblNwYWNlU2hvcnRhZ2UgIT0gTGF5b3V0VW5pdDo6bWF4KCkpOyAv
LyBJZiB0aGlzIGNhbiBhY3R1YWxseSBoYXBwZW4sIHdlIHByb2JhYmx5IGhhdmUgYSBidWcuCi0g
ICAgaWYgKGN1cnJlbnRNaW5TcGFjZVNob3J0YWdlID09IExheW91dFVuaXQ6Om1heCgpKQotICAg
ICAgICByZXR1cm4gZmFsc2U7IC8vIFNvIGJhaWwgb3V0IHJhdGhlciB0aGFuIGxvb3BpbmcgaW5m
aW5pdGVseS4KKyAgICBBU1NFUlQobV9taW5TcGFjZVNob3J0YWdlID4gMCk7IC8vIFdlIHNob3Vs
ZCBuZXZlciBfc2hyaW5rXyB0aGUgaGVpZ2h0IQorICAgIEFTU0VSVChtX21pblNwYWNlU2hvcnRh
Z2UgIT0gTGF5b3V0VW5pdDo6bWF4KCkpOyAvLyBJZiB0aGlzIGhhcHBlbnMsIHdlIHByb2JhYmx5
IGhhdmUgYSBidWcuCisgICAgaWYgKG1fbWluU3BhY2VTaG9ydGFnZSA9PSBMYXlvdXRVbml0Ojpt
YXgoKSkKKyAgICAgICAgcmV0dXJuIG1fY29tcHV0ZWRDb2x1bW5IZWlnaHQ7IC8vIFNvIGJhaWwg
b3V0IHJhdGhlciB0aGFuIGxvb3BpbmcgaW5maW5pdGVseS4KKworICAgIHJldHVybiBtX2NvbXB1
dGVkQ29sdW1uSGVpZ2h0ICsgbV9taW5TcGFjZVNob3J0YWdlOworfQorCit2b2lkIFJlbmRlck11
bHRpQ29sdW1uU2V0OjpjbGVhckZvcmNlZEJyZWFrcygpCit7CisgICAgbV9jb250ZW50UnVucy5j
bGVhcigpOworfQorCit2b2lkIFJlbmRlck11bHRpQ29sdW1uU2V0OjphZGRGb3JjZWRCcmVhayhM
YXlvdXRVbml0IG9mZnNldEZyb21GaXJzdFBhZ2UpCit7CisgICAgaWYgKCF0b1JlbmRlck11bHRp
Q29sdW1uQmxvY2socGFyZW50KCkpLT5yZXF1aXJlc0JhbGFuY2luZygpKQorICAgICAgICByZXR1
cm47CisgICAgaWYgKCFtX2NvbnRlbnRSdW5zLmlzRW1wdHkoKSAmJiBvZmZzZXRGcm9tRmlyc3RQ
YWdlIDw9IG1fY29udGVudFJ1bnMubGFzdCgpLmJyZWFrT2Zmc2V0KCkpCisgICAgICAgIHJldHVy
bjsKKyAgICAvLyBBcHBlbmQgYW5vdGhlciBpdGVtIGFzIGxvbmcgYXMgd2UgaGF2ZW4ndCBleGNl
ZWRlZCB1c2VkIGNvbHVtbiBjb3VudC4gV2hhdCBlbmRzIHVwIGluIHRoZQorICAgIC8vIG92ZXJm
bG93IGFyZWEgc2hvdWxkbid0IGFmZmVjdCBjb2x1bW4gYmFsYW5jaW5nLgorICAgIGlmIChtX2Nv
bnRlbnRSdW5zLnNpemUoKSA8IG1fY29tcHV0ZWRDb2x1bW5Db3VudCkKKyAgICAgICAgbV9jb250
ZW50UnVucy5hcHBlbmQoQ29udGVudFJ1bihvZmZzZXRGcm9tRmlyc3RQYWdlKSk7Cit9CisKK2Jv
b2wgUmVuZGVyTXVsdGlDb2x1bW5TZXQ6OnJlY2FsY3VsYXRlQmFsYW5jZWRIZWlnaHQoYm9vbCBp
bml0aWFsKQoreworICAgIEFTU0VSVCh0b1JlbmRlck11bHRpQ29sdW1uQmxvY2socGFyZW50KCkp
LT5yZXF1aXJlc0JhbGFuY2luZygpKTsKKworICAgIExheW91dFVuaXQgb2xkQ29sdW1uSGVpZ2h0
ID0gbV9jb21wdXRlZENvbHVtbkhlaWdodDsKKyAgICBpZiAoaW5pdGlhbCkKKyAgICAgICAgZGlz
dHJpYnV0ZUltcGxpY2l0QnJlYWtzKCk7CisgICAgTGF5b3V0VW5pdCBuZXdDb2x1bW5IZWlnaHQg
PSBjYWxjdWxhdGVCYWxhbmNlZEhlaWdodChpbml0aWFsKTsKKyAgICBzZXRBbmRDb25zdHJhaW5D
b2x1bW5IZWlnaHQobmV3Q29sdW1uSGVpZ2h0KTsKKworICAgIC8vIEFmdGVyIGhhdmluZyBjYWxj
dWxhdGVkIGFuIGluaXRpYWwgY29sdW1uIGhlaWdodCwgdGhlIG11bHRpY29sIGNvbnRhaW5lciB0
eXBpY2FsbHkgbmVlZHMgYXQKKyAgICAvLyBsZWFzdCBvbmUgbW9yZSBsYXlvdXQgcGFzcyB3aXRo
IGEgbmV3IGNvbHVtbiBoZWlnaHQsIGJ1dCBpZiBhIGhlaWdodCB3YXMgc3BlY2lmaWVkLCB3ZSBv
bmx5CisgICAgLy8gbmVlZCB0byBkbyB0aGlzIGlmIHdlIHRoaW5rIHRoYXQgd2UgbmVlZCBsZXNz
IHNwYWNlIHRoYW4gc3BlY2lmaWVkLiBDb252ZXJzZWx5LCBpZiB3ZQorICAgIC8vIGRldGVybWlu
ZWQgdGhhdCB0aGUgY29sdW1ucyBuZWVkIHRvIGJlIGFzIHRhbGwgYXMgdGhlIHNwZWNpZmllZCBo
ZWlnaHQgb2YgdGhlIGNvbnRhaW5lciwgd2UKKyAgICAvLyBoYXZlIGFscmVhZHkgbGFpZCBpdCBv
dXQgY29ycmVjdGx5LCBhbmQgdGhlcmUncyBubyBuZWVkIGZvciBhbm90aGVyIHBhc3MuCiAKLSAg
ICBzZXRBbmRDb25zdHJhaW5Db2x1bW5IZWlnaHQobV9jb21wdXRlZENvbHVtbkhlaWdodCArIGN1
cnJlbnRNaW5TcGFjZVNob3J0YWdlKTsKKyAgICBpZiAobV9jb21wdXRlZENvbHVtbkhlaWdodCA9
PSBvbGRDb2x1bW5IZWlnaHQpCisgICAgICAgIHJldHVybiBmYWxzZTsgLy8gTm8gY2hhbmdlLiBX
ZSdyZSBkb25lLgogCi0gICAgLy8gSWYgd2UgcmVhY2ggdGhlIG1heGltdW0gY29sdW1uIGhlaWdo
dCAodHlwaWNhbGx5IHNldCBieSB0aGUgaGVpZ2h0IG9yIG1heC1oZWlnaHQgcHJvcGVydHkpLAot
ICAgIC8vIHdlIG1heSBub3QgYmUgYWxsb3dlZCB0byBzdHJldGNoIGZ1cnRoZXIuIFJldHVybiB0
cnVlIG9ubHkgaWYgc3RyZXRjaGluZwotICAgIC8vIHN1Y2NlZWRlZC4gT3RoZXJ3aXNlLCB3ZSdy
ZSBkb25lLgotICAgIEFTU0VSVChtX2NvbXB1dGVkQ29sdW1uSGVpZ2h0ID49IG9sZENvbHVtbkhl
aWdodCk7IC8vIFdlIHNob3VsZG4ndCBiZSBhYmxlIHRvIHNocmluayB0aGUgaGVpZ2h0IQotICAg
IHJldHVybiBtX2NvbXB1dGVkQ29sdW1uSGVpZ2h0ID4gb2xkQ29sdW1uSGVpZ2h0OworICAgIG1f
bWluU3BhY2VTaG9ydGFnZSA9IExheW91dFVuaXQ6Om1heCgpOworICAgIGNsZWFyRm9yY2VkQnJl
YWtzKCk7CisgICAgcmV0dXJuIHRydWU7IC8vIE5lZWQgYW5vdGhlciBwYXNzLgogfQogCiB2b2lk
IFJlbmRlck11bHRpQ29sdW1uU2V0OjpyZWNvcmRTcGFjZVNob3J0YWdlKExheW91dFVuaXQgc3Bh
Y2VTaG9ydGFnZSkKQEAgLTE3Myw2ICsyNDcsOCBAQCB2b2lkIFJlbmRlck11bHRpQ29sdW1uU2V0
OjpwcmVwYXJlRm9yTGF5b3V0KCkKICAgICB9IGVsc2UKICAgICAgICAgc2V0QW5kQ29uc3RyYWlu
Q29sdW1uSGVpZ2h0KGhlaWdodEFkanVzdGVkRm9yU2V0T2Zmc2V0KG11bHRpY29sQmxvY2stPmNv
bHVtbkhlaWdodEF2YWlsYWJsZSgpKSk7CiAKKyAgICBjbGVhckZvcmNlZEJyZWFrcygpOworCiAg
ICAgLy8gTnVrZSBwcmV2aW91c2x5IHN0b3JlZCBtaW5pbXVtIGNvbHVtbiBoZWlnaHQuIENvbnRl
bnRzIG1heSBoYXZlIGNoYW5nZWQgZm9yIGFsbCB3ZSBrbm93LgogICAgIG1fbWluaW11bUNvbHVt
bkhlaWdodCA9IDA7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTXVsdGlDb2x1bW5TZXQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0
aUNvbHVtblNldC5oCmluZGV4IDAxZDEzNjc5ZTA3YjRiNDhjZThkNzJhZmZmODNmZjJiYjBmZGM1
YTUuLjFjYTcwZDBkOTBkODY0M2RmZjg4MDkzZGZjZWU4NmE5YmZmYTU4ZWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5oCkBAIC0yOCw2ICsy
OCw3IEBACiAjZGVmaW5lIFJlbmRlck11bHRpQ29sdW1uU2V0X2gKIAogI2luY2x1ZGUgIlJlbmRl
clJlZ2lvblNldC5oIgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCkBAIC02MiwzMCArNjMsMTQgQEAgcHVibGljOgogICAgIHZvaWQgdXBkYXRlTWluaW11
bUNvbHVtbkhlaWdodChMYXlvdXRVbml0IGhlaWdodCkgeyBtX21pbmltdW1Db2x1bW5IZWlnaHQg
PSBzdGQ6Om1heChoZWlnaHQsIG1fbWluaW11bUNvbHVtbkhlaWdodCk7IH0KICAgICBMYXlvdXRV
bml0IG1pbmltdW1Db2x1bW5IZWlnaHQoKSBjb25zdCB7IHJldHVybiBtX21pbmltdW1Db2x1bW5I
ZWlnaHQ7IH0KIAotICAgIHVuc2lnbmVkIGZvcmNlZEJyZWFrc0NvdW50KCkgY29uc3QgeyByZXR1
cm4gbV9mb3JjZWRCcmVha3NDb3VudDsgfQotICAgIExheW91dFVuaXQgZm9yY2VkQnJlYWtPZmZz
ZXQoKSBjb25zdCB7IHJldHVybiBtX2ZvcmNlZEJyZWFrT2Zmc2V0OyB9Ci0gICAgTGF5b3V0VW5p
dCBtYXhpbXVtRGlzdGFuY2VCZXR3ZWVuRm9yY2VkQnJlYWtzKCkgY29uc3QgeyByZXR1cm4gbV9t
YXhpbXVtRGlzdGFuY2VCZXR3ZWVuRm9yY2VkQnJlYWtzOyB9Ci0gICAgdm9pZCBjbGVhckZvcmNl
ZEJyZWFrcygpCi0gICAgeyAKLSAgICAgICAgbV9mb3JjZWRCcmVha3NDb3VudCA9IDA7Ci0gICAg
ICAgIG1fbWF4aW11bURpc3RhbmNlQmV0d2VlbkZvcmNlZEJyZWFrcyA9IDA7Ci0gICAgICAgIG1f
Zm9yY2VkQnJlYWtPZmZzZXQgPSAwOwotICAgIH0KLSAgICB2b2lkIGFkZEZvcmNlZEJyZWFrKExh
eW91dFVuaXQgb2Zmc2V0RnJvbUZpcnN0UGFnZSkKLSAgICB7IAotICAgICAgICBBU1NFUlQoIWNv
bXB1dGVkQ29sdW1uSGVpZ2h0KCkpOwotICAgICAgICBMYXlvdXRVbml0IGRpc3RhbmNlRnJvbUxh
c3RCcmVhayA9IG9mZnNldEZyb21GaXJzdFBhZ2UgLSBtX2ZvcmNlZEJyZWFrT2Zmc2V0OwotICAg
ICAgICBpZiAoIWRpc3RhbmNlRnJvbUxhc3RCcmVhaykKLSAgICAgICAgICAgIHJldHVybjsKLSAg
ICAgICAgbV9mb3JjZWRCcmVha3NDb3VudCsrOwotICAgICAgICBtX21heGltdW1EaXN0YW5jZUJl
dHdlZW5Gb3JjZWRCcmVha3MgPSBzdGQ6Om1heChtX21heGltdW1EaXN0YW5jZUJldHdlZW5Gb3Jj
ZWRCcmVha3MsIGRpc3RhbmNlRnJvbUxhc3RCcmVhayk7Ci0gICAgICAgIG1fZm9yY2VkQnJlYWtP
ZmZzZXQgPSBvZmZzZXRGcm9tRmlyc3RQYWdlOwotICAgIH0KKyAgICB1bnNpZ25lZCBmb3JjZWRC
cmVha3NDb3VudCgpIGNvbnN0IHsgcmV0dXJuIG1fY29udGVudFJ1bnMuc2l6ZSgpOyB9CisgICAg
dm9pZCBjbGVhckZvcmNlZEJyZWFrcygpOworICAgIHZvaWQgYWRkRm9yY2VkQnJlYWsoTGF5b3V0
VW5pdCBvZmZzZXRGcm9tRmlyc3RQYWdlKTsKIAotICAgIC8vIENhbGN1bGF0ZSB0aGUgY29sdW1u
IGhlaWdodCB3aGVuIGNvbnRlbnRzIGFyZSBzdXBwb3NlZCB0byBiZSBiYWxhbmNlZC4gSWYgJ2lu
aXRpYWwnIGlzIHNldCwKLSAgICAvLyBndWVzcyBhbiBpbml0aWFsIGNvbHVtbiBoZWlnaHQ7IG90
aGVyd2lzZSwgc3RyZXRjaCB0aGUgY29sdW1uIGhlaWdodCBhIHRhZC4gUmV0dXJuIHRydWUgaWYK
LSAgICAvLyBjb2x1bW4gaGVpZ2h0IGNoYW5nZWQgYW5kIGFub3RoZXIgbGF5b3V0IHBhc3MgaXMg
cmVxdWlyZWQuCi0gICAgYm9vbCBjYWxjdWxhdGVCYWxhbmNlZEhlaWdodChib29sIGluaXRpYWwp
OworICAgIC8vIChSZS0pY2FsY3VsYXRlIHRoZSBjb2x1bW4gaGVpZ2h0IHdoZW4gY29udGVudHMg
YXJlIHN1cHBvc2VkIHRvIGJlIGJhbGFuY2VkLiBJZiAnaW5pdGlhbCcgaXMKKyAgICAvLyBzZXQs
IGd1ZXNzIGFuIGluaXRpYWwgY29sdW1uIGhlaWdodDsgb3RoZXJ3aXNlLCBzdHJldGNoIHRoZSBj
b2x1bW4gaGVpZ2h0IGEgdGFkLiBSZXR1cm4gdHJ1ZQorICAgIC8vIGlmIGNvbHVtbiBoZWlnaHQg
Y2hhbmdlZCBhbmQgYW5vdGhlciBsYXlvdXQgcGFzcyBpcyByZXF1aXJlZC4KKyAgICBib29sIHJl
Y2FsY3VsYXRlQmFsYW5jZWRIZWlnaHQoYm9vbCBpbml0aWFsKTsKIAogICAgIC8vIFJlY29yZCBz
cGFjZSBzaG9ydGFnZSAodGhlIGFtb3VudCBvZiBzcGFjZSB0aGF0IHdvdWxkIGhhdmUgYmVlbiBl
bm91Z2ggdG8gcHJldmVudCBzb21lCiAgICAgLy8gZWxlbWVudCBmcm9tIGJlaW5nIG1vdmVkIHRv
IHRoZSBuZXh0IGNvbHVtbikgYXQgYSBjb2x1bW4gYnJlYWsuIFRoZSBzbWFsbGVzdCBhbW91bnQg
b2Ygc3BhY2UKQEAgLTEzNSwxNyArMTIwLDUyIEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHNldEFu
ZENvbnN0cmFpbkNvbHVtbkhlaWdodChMYXlvdXRVbml0KTsKIAotICAgIHVuc2lnbmVkIG1fY29t
cHV0ZWRDb2x1bW5Db3VudDsKLSAgICBMYXlvdXRVbml0IG1fY29tcHV0ZWRDb2x1bW5XaWR0aDsK
KyAgICAvLyBSZXR1cm4gdGhlIGluZGV4IG9mIHRoZSBjb250ZW50IHJ1biB3aXRoIHRoZSBjdXJy
ZW50bHkgdGFsbGVzdCBjb2x1bW5zLCB0YWtpbmcgYWxsIGltcGxpY2l0CisgICAgLy8gYnJlYWtz
IGFzc3VtZWQgc28gZmFyIGludG8gYWNjb3VudC4KKyAgICB1bnNpZ25lZCBmaW5kUnVuV2l0aFRh
bGxlc3RDb2x1bW5zKCkgY29uc3Q7CisKKyAgICAvLyBHaXZlbiB0aGUgY3VycmVudCBsaXN0IG9m
IGNvbnRlbnQgcnVucywgbWFrZSBhc3N1bXB0aW9ucyBhYm91dCB3aGVyZSB3ZSBuZWVkIHRvIGlu
c2VydAorICAgIC8vIGltcGxpY2l0IGJyZWFrcyAoaWYgdGhlcmUncyByb29tIGZvciBhbnkgYXQg
YWxsOyBkZXBlbmRpbmcgb24gdGhlIG51bWJlciBvZiBleHBsaWNpdCBicmVha3MpLAorICAgIC8v
IGFuZCBzdG9yZSB0aGUgcmVzdWx0cy4gVGhpcyBpcyBuZWVkZWQgaW4gb3JkZXIgdG8gYmFsYW5j
ZSB0aGUgY29sdW1ucy4KKyAgICB2b2lkIGRpc3RyaWJ1dGVJbXBsaWNpdEJyZWFrcygpOworCisg
ICAgTGF5b3V0VW5pdCBjYWxjdWxhdGVCYWxhbmNlZEhlaWdodChib29sIGluaXRpYWwpIGNvbnN0
OworCisgICAgdW5zaWduZWQgbV9jb21wdXRlZENvbHVtbkNvdW50OyAvLyBVc2VkIGNvbHVtbiBj
b3VudCAodGhlIHJlc3VsdGluZyAnTicgZnJvbSB0aGUgcHNldWRvLWFsZ29yaXRobSBpbiB0aGUg
bXVsdGljb2wgc3BlYykKKyAgICBMYXlvdXRVbml0IG1fY29tcHV0ZWRDb2x1bW5XaWR0aDsgLy8g
VXNlZCBjb2x1bW4gd2lkdGggKHRoZSByZXN1bHRpbmcgJ1cnIGZyb20gdGhlIHBzZXVkby1hbGdv
cml0aG0gaW4gdGhlIG11bHRpY29sIHNwZWMpCiAgICAgTGF5b3V0VW5pdCBtX2NvbXB1dGVkQ29s
dW1uSGVpZ2h0OwogICAgIAogICAgIC8vIFRoZSBmb2xsb3dpbmcgdmFyaWFibGVzIGFyZSB1c2Vk
IHdoZW4gYmFsYW5jaW5nIHRoZSBjb2x1bW4gc2V0LgogICAgIExheW91dFVuaXQgbV9tYXhDb2x1
bW5IZWlnaHQ7IC8vIE1heGltdW0gY29sdW1uIGhlaWdodCBhbGxvd2VkLgogICAgIExheW91dFVu
aXQgbV9taW5TcGFjZVNob3J0YWdlOyAvLyBUaGUgc21hbGxlc3QgYW1vdXQgb2Ygc3BhY2Ugc2hv
cnRhZ2UgdGhhdCBjYXVzZWQgYSBjb2x1bW4gYnJlYWsuCiAgICAgTGF5b3V0VW5pdCBtX21pbmlt
dW1Db2x1bW5IZWlnaHQ7Ci0gICAgdW5zaWduZWQgbV9mb3JjZWRCcmVha3NDb3VudDsgLy8gRklY
TUU6IFdlIHdpbGwgdWx0aW1hdGVseSBuZWVkIHRvIGNhY2hlIG1vcmUgaW5mb3JtYXRpb24gdG8g
YmFsYW5jZSBhcm91bmQgZm9yY2VkIGJyZWFrcyBwcm9wZXJseS4KLSAgICBMYXlvdXRVbml0IG1f
bWF4aW11bURpc3RhbmNlQmV0d2VlbkZvcmNlZEJyZWFrczsKLSAgICBMYXlvdXRVbml0IG1fZm9y
Y2VkQnJlYWtPZmZzZXQ7CisKKyAgICAvLyBBIHJ1biBvZiBjb250ZW50IHdpdGhvdXQgZXhwbGlj
aXQgKGZvcmNlZCkgYnJlYWtzOyBpLmUuIGEgZmxvdyB0aHJlYWQgcG9ydGlvbiBiZXR3ZWVuIHR3
bworICAgIC8vIGV4cGxpY2l0IGJyZWFrcywgYmV0d2VlbiBmbG93IHRocmVhZCBzdGFydCBhbmQg
YW4gZXhwbGljaXQgYnJlYWssIGJldHdlZW4gYW4gZXhwbGljaXQgYnJlYWsKKyAgICAvLyBhbmQg
ZmxvdyB0aHJlYWQgZW5kLCBvciwgaW4gY2FzZXMgd2hlbiB0aGVyZSBhcmUgbm8gZXhwbGljaXQg
YnJlYWtzIGF0IGFsbDogYmV0d2VlbiBmbG93IGZsb3cKKyAgICAvLyB0aHJlYWQgc3RhcnQgYW5k
IGZsb3cgdGhyZWFkIGVuZC4gV2UgbmVlZCB0byBrbm93IHdoZXJlIHRoZSBleHBsaWNpdCBicmVh
a3MgYXJlLCBpbiBvcmRlciB0bworICAgIC8vIGZpZ3VyZSBvdXQgd2hlcmUgdGhlIGltcGxpY2l0
IGJyZWFrcyB3aWxsIGVuZCB1cCwgc28gdGhhdCB3ZSBnZXQgdGhlIGNvbHVtbnMgcHJvcGVybHkK
KyAgICAvLyBiYWxhbmNlZC4gQSBjb250ZW50IHJ1biBzdGFydHMgb3V0IGFzIHJlcHJlc2VudGlu
ZyBvbmUgc2luZ2xlIGNvbHVtbiwgYW5kIHdpbGwgcmVwcmVzZW50IG9uZQorICAgIC8vIGFkZGl0
aW9uYWwgY29sdW1uIGZvciBlYWNoIGltcGxpY2l0IGJyZWFrICJpbnNlcnRlZCIgdGhlcmUuCisg
ICAgY2xhc3MgQ29udGVudFJ1biB7CisgICAgcHVibGljOgorICAgICAgICBDb250ZW50UnVuKExh
eW91dFVuaXQgYnJlYWtPZmZzZXQpCisgICAgICAgICAgICA6IG1fYnJlYWtPZmZzZXQoYnJlYWtP
ZmZzZXQpCisgICAgICAgICAgICAsIG1fYXNzdW1lZEltcGxpY2l0QnJlYWtzKDApIHsgfQorCisg
ICAgICAgIHVuc2lnbmVkIGFzc3VtZWRJbXBsaWNpdEJyZWFrcygpIGNvbnN0IHsgcmV0dXJuIG1f
YXNzdW1lZEltcGxpY2l0QnJlYWtzOyB9CisgICAgICAgIHZvaWQgYXNzdW1lQW5vdGhlckltcGxp
Y2l0QnJlYWsoKSB7IG1fYXNzdW1lZEltcGxpY2l0QnJlYWtzKys7IH0KKyAgICAgICAgTGF5b3V0
VW5pdCBicmVha09mZnNldCgpIGNvbnN0IHsgcmV0dXJuIG1fYnJlYWtPZmZzZXQ7IH0KKworICAg
ICAgICAvLyBSZXR1cm4gdGhlIGNvbHVtbiBoZWlnaHQgdGhhdCB0aGlzIGNvbnRlbnQgcnVuIHdv
dWxkIHJlcXVpcmUsIGNvbnNpZGVyaW5nIHRoZSBpbXBsaWNpdAorICAgICAgICAvLyBicmVha3Mg
YXNzdW1lZCBzbyBmYXIuCisgICAgICAgIExheW91dFVuaXQgY29sdW1uTG9naWNhbEhlaWdodChM
YXlvdXRVbml0IHN0YXJ0T2Zmc2V0KSBjb25zdCB7IHJldHVybiBjZWlsZihmbG9hdChtX2JyZWFr
T2Zmc2V0IC0gc3RhcnRPZmZzZXQpIC8gZmxvYXQobV9hc3N1bWVkSW1wbGljaXRCcmVha3MgKyAx
KSk7IH0KKworICAgIHByaXZhdGU6CisgICAgICAgIExheW91dFVuaXQgbV9icmVha09mZnNldDsg
Ly8gRmxvdyB0aHJlYWQgb2Zmc2V0IHdoZXJlIHRoaXMgcnVuIGVuZHMuCisgICAgICAgIHVuc2ln
bmVkIG1fYXNzdW1lZEltcGxpY2l0QnJlYWtzOyAvLyBOdW1iZXIgb2YgaW1wbGljaXQgYnJlYWtz
IGluIHRoaXMgcnVuIGFzc3VtZWQgc28gZmFyLgorICAgIH07CisgICAgVmVjdG9yPENvbnRlbnRS
dW4sIDE+IG1fY29udGVudFJ1bnM7CiB9OwogCiBSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVu
ZGVyTXVsdGlDb2x1bW5TZXQsIGlzUmVuZGVyTXVsdGlDb2x1bW5TZXQoKSkKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAyY2I5
YWEwZWEwZTE3MWY3ZTRkZjc4MjMzYjZjOGM0NGFkMDY0YmU2Li4xYzY2YmIxODc5ZDJhYzE4MTkx
NDIyOTBkMmQ1M2ZmNjhlOThhNjE3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTQtMDEtMTQg
IE1vcnRlbiBTdGVuc2hvcm5lICA8bXN0ZW5zaG9Ab3BlcmEuY29tPgorCisgICAgICAgIFJlZ2lv
biBiYXNlZCBtdWx0aWNvbDogc3VwcG9ydCBleHBsaWNpdCBjb2x1bW4gYnJlYWtzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjM5OTMKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvbXVsdGljb2wv
bmV3bXVsdGljb2wvYnJlYWstYWZ0ZXItZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9icmVhay1hZnRlci5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L211bHRpY29sL25ld211bHRpY29sL2JyZWFrLWJlZm9yZS1leHBlY3RlZC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L211bHRpY29sL25ld211bHRpY29sL2JyZWFrLWJlZm9y
ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L211bHRpY29sL25ld211bHRpY29sL2JyZWFr
cy0yLWNvbHVtbnMtMy1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L211bHRp
Y29sL25ld211bHRpY29sL2JyZWFrcy0yLWNvbHVtbnMtMy1uby1iYWxhbmNpbmctZXhwZWN0ZWQu
aHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9icmVha3Mt
Mi1jb2x1bW5zLTMtbm8tYmFsYW5jaW5nLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvbXVs
dGljb2wvbmV3bXVsdGljb2wvYnJlYWtzLTItY29sdW1ucy0zLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvYnJlYWtzLTMtY29sdW1ucy0zLWV4cGVjdGVk
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvYnJlYWtz
LTMtY29sdW1ucy0zLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvbXVsdGljb2wvbmV3bXVs
dGljb2wvZml4ZWQtaGVpZ2h0LWZpbGwtYmFsYW5jZS0yLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvZml4ZWQtaGVpZ2h0LWZpbGwtYmFs
YW5jZS0yLmh0bWw6IEFkZGVkLgorCiAyMDE0LTAxLTE5ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBh
cHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBBcHBsZSBXaW5kb3dzIHBvcnQgZ2FyZGVy
aW5nLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9i
cmVhay1hZnRlci1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC9uZXdt
dWx0aWNvbC9icmVhay1hZnRlci1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFmNGZmZjgwZTJj
YzQ5ZTAwY2E1NWRmY2MyZjM5MzM5ZWVlMzA4ZjMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L211bHRpY29sL25ld211bHRpY29sL2JyZWFrLWFmdGVyLWV4cGVjdGVkLmh0bWwK
QEAgLTAsMCArMSwyOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPHRpdGxlPmF1dG8taGVpZ2h0IG11bHRpY29sIHdpdGggYnJlYWs8L3RpdGxlPgorICAg
ICAgICA8c2NyaXB0PgorICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAg
ICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFJlZ2lvbkJhc2VkQ29sdW1uc0VuYWJsZWQo
dHJ1ZSk7CisgICAgICAgIDwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAu
bWMgPiBkaXYgeyBwYWRkaW5nOjAgMC41ZW07IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPGJvZHkgc3R5bGU9Im1pbi13aWR0aDo0MGVtOyI+CisgICAgICAgIDxkaXYgY2xh
c3M9Im1jIiBzdHlsZT0iLXdlYmtpdC1jb2x1bW5zOjM7IC13ZWJraXQtY29sdW1uLWdhcDoxZW07
IGNvbHVtbnM6MzsgY29sdW1uLWdhcDoxZW07IG9ycGhhbnM6MTsgd2lkb3dzOjE7IHdpZHRoOjMy
ZW07IGJhY2tncm91bmQ6b2xpdmU7Ij4KKyAgICAgICAgICAgIDxkaXY+CisgICAgICAgICAgICAg
ICAgZmlyc3QgY29sdW1uPGJyPgorICAgICAgICAgICAgICAgIGZpcnN0IGNvbHVtbjxicj4KKyAg
ICAgICAgICAgICAgICBmaXJzdCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAgZmlyc3QgY29s
dW1uPGJyPgorICAgICAgICAgICAgICAgIHNlY29uZCBjb2x1bW48YnI+CisgICAgICAgICAgICAg
ICAgc2Vjb25kIGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICBzZWNvbmQgY29sdW1uPGJyPgor
ICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZGl2IHN0eWxlPSItd2Via2l0LWNvbHVt
bi1icmVhay1iZWZvcmU6YWx3YXlzOyBicmVhay1iZWZvcmU6Y29sdW1uOyI+CisgICAgICAgICAg
ICAgICAgdGhpcmQgY29sdW1uPGJyPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbXVs
dGljb2wvbmV3bXVsdGljb2wvYnJlYWstYWZ0ZXIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbXVs
dGljb2wvbmV3bXVsdGljb2wvYnJlYWstYWZ0ZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNmRkMzIwYWM4
NjBhYzZiODcwNTAyZWU0NzFjN2U3OGUzYzlhZjIwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9icmVhay1hZnRlci5odG1sCkBAIC0wLDAg
KzEsMjkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDx0
aXRsZT5hdXRvLWhlaWdodCBtdWx0aWNvbCB3aXRoIGJyZWFrPC90aXRsZT4KKyAgICAgICAgPHNj
cmlwdD4KKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRSZWdpb25CYXNlZENvbHVtbnNFbmFibGVkKHRydWUpOwor
ICAgICAgICA8L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgLm1jID4gZGl2
IHsgcGFkZGluZzowIDAuNWVtOyB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxib2R5IHN0eWxlPSJtaW4td2lkdGg6NDBlbTsiPgorICAgICAgICA8ZGl2IGNsYXNzPSJtYyIg
c3R5bGU9Ii13ZWJraXQtY29sdW1uczozOyAtd2Via2l0LWNvbHVtbi1nYXA6MWVtOyBjb2x1bW5z
OjM7IGNvbHVtbi1nYXA6MWVtOyBvcnBoYW5zOjE7IHdpZG93czoxOyB3aWR0aDozMmVtOyBiYWNr
Z3JvdW5kOm9saXZlOyI+CisgICAgICAgICAgICA8ZGl2IHN0eWxlPSItd2Via2l0LWNvbHVtbi1i
cmVhay1hZnRlcjphbHdheXM7IGJyZWFrLWFmdGVyOmNvbHVtbjsiPgorICAgICAgICAgICAgICAg
IGZpcnN0IGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICBmaXJzdCBjb2x1bW48YnI+CisgICAg
ICAgICAgICAgICAgZmlyc3QgY29sdW1uPGJyPgorICAgICAgICAgICAgICAgIGZpcnN0IGNvbHVt
bjxicj4KKyAgICAgICAgICAgICAgICBzZWNvbmQgY29sdW1uPGJyPgorICAgICAgICAgICAgICAg
IHNlY29uZCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAgc2Vjb25kIGNvbHVtbjxicj4KKyAg
ICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGRpdj4KKyAgICAgICAgICAgICAgICB0aGly
ZCBjb2x1bW48YnI+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC9uZXdt
dWx0aWNvbC9icmVhay1iZWZvcmUtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbXVs
dGljb2wvbmV3bXVsdGljb2wvYnJlYWstYmVmb3JlLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTMwZTQzY2FmOTJjMzdkNTBkMzhhMjZiMTZiZGM0NThlYzc4NjU0ZQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvYnJlYWstYmVmb3JlLWV4
cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPHRpdGxlPmF1dG8taGVpZ2h0IG11bHRpY29sIHdpdGggYnJlYWs8
L3RpdGxlPgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAubWMgeyBmbG9hdDpsZWZ0OyB3
aWR0aDo5ZW07IHBhZGRpbmc6MCAwLjVlbTsgfQorICAgICAgICAgICAgLmdhcCB7IGZsb2F0Omxl
ZnQ7IHdpZHRoOjFlbTsgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8Ym9k
eSBzdHlsZT0ibWluLXdpZHRoOjQwZW07Ij4KKyAgICAgICAgPGRpdiBzdHlsZT0iZmxvYXQ6bGVm
dDsgYmFja2dyb3VuZDpvbGl2ZTsiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWMiPgorICAg
ICAgICAgICAgICAgIGZpcnN0IGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICBmaXJzdCBjb2x1
bW48YnI+CisgICAgICAgICAgICAgICAgZmlyc3QgY29sdW1uPGJyPgorICAgICAgICAgICAgICAg
IGZpcnN0IGNvbHVtbjxicj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGRpdiBj
bGFzcz0iZ2FwIj4mbmJzcDs8L2Rpdj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1jIj4KKyAg
ICAgICAgICAgICAgICBzZWNvbmQgY29sdW1uPGJyPgorICAgICAgICAgICAgICAgIHNlY29uZCBj
b2x1bW48YnI+CisgICAgICAgICAgICAgICAgc2Vjb25kIGNvbHVtbjxicj4KKyAgICAgICAgICAg
IDwvZGl2PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ2FwIj4mbmJzcDs8L2Rpdj4KKyAgICAg
ICAgICAgIDxkaXYgY2xhc3M9Im1jIj4KKyAgICAgICAgICAgICAgICB0aGlyZCBjb2x1bW48YnI+
CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9icmVh
ay1iZWZvcmUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvYnJl
YWstYmVmb3JlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWY0ZmZmODBlMmNjNDllMDBjYTU1ZGZjYzJmMzkz
MzllZWUzMDhmMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wv
bmV3bXVsdGljb2wvYnJlYWstYmVmb3JlLmh0bWwKQEAgLTAsMCArMSwyOSBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHRpdGxlPmF1dG8taGVpZ2h0IG11
bHRpY29sIHdpdGggYnJlYWs8L3RpdGxlPgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAg
aWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldFJlZ2lvbkJhc2VkQ29sdW1uc0VuYWJsZWQodHJ1ZSk7CisgICAgICAgIDwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAubWMgPiBkaXYgeyBwYWRkaW5nOjAgMC41ZW07
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgc3R5bGU9Im1pbi13
aWR0aDo0MGVtOyI+CisgICAgICAgIDxkaXYgY2xhc3M9Im1jIiBzdHlsZT0iLXdlYmtpdC1jb2x1
bW5zOjM7IC13ZWJraXQtY29sdW1uLWdhcDoxZW07IGNvbHVtbnM6MzsgY29sdW1uLWdhcDoxZW07
IG9ycGhhbnM6MTsgd2lkb3dzOjE7IHdpZHRoOjMyZW07IGJhY2tncm91bmQ6b2xpdmU7Ij4KKyAg
ICAgICAgICAgIDxkaXY+CisgICAgICAgICAgICAgICAgZmlyc3QgY29sdW1uPGJyPgorICAgICAg
ICAgICAgICAgIGZpcnN0IGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICBmaXJzdCBjb2x1bW48
YnI+CisgICAgICAgICAgICAgICAgZmlyc3QgY29sdW1uPGJyPgorICAgICAgICAgICAgICAgIHNl
Y29uZCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAgc2Vjb25kIGNvbHVtbjxicj4KKyAgICAg
ICAgICAgICAgICBzZWNvbmQgY29sdW1uPGJyPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAg
ICAgICA8ZGl2IHN0eWxlPSItd2Via2l0LWNvbHVtbi1icmVhay1iZWZvcmU6YWx3YXlzOyBicmVh
ay1iZWZvcmU6Y29sdW1uOyI+CisgICAgICAgICAgICAgICAgdGhpcmQgY29sdW1uPGJyPgorICAg
ICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvYnJlYWtzLTIt
Y29sdW1ucy0zLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L211bHRpY29sL25ld211
bHRpY29sL2JyZWFrcy0yLWNvbHVtbnMtMy1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYwMTZh
MDUyNDc3YmM1YzhhYTgxNGJlYWUzY2Q0YzkwNDU1NzYxOWUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L211bHRpY29sL25ld211bHRpY29sL2JyZWFrcy0yLWNvbHVtbnMtMy1l
eHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMzQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDx0aXRsZT5hdXRvLWhlaWdodCBtdWx0aWNvbCB3aXRoIGJyZWFr
PC90aXRsZT4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgLm1jIHsgZmxvYXQ6bGVmdDsg
d2lkdGg6OWVtOyBwYWRkaW5nOjAgMC41ZW07IH0KKyAgICAgICAgICAgIC5nYXAgeyBmbG9hdDps
ZWZ0OyB3aWR0aDoxZW07IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPGJv
ZHkgc3R5bGU9Im1pbi13aWR0aDo0MGVtOyI+CisgICAgICAgIDxkaXYgc3R5bGU9ImZsb2F0Omxl
ZnQ7IGJhY2tncm91bmQ6b2xpdmU7Ij4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1jIj4KKyAg
ICAgICAgICAgICAgICBmaXJzdCBjb2x1bW48YnI+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAg
ICAgICAgIDxkaXYgY2xhc3M9ImdhcCI+Jm5ic3A7PC9kaXY+CisgICAgICAgICAgICA8ZGl2IGNs
YXNzPSJtYyI+CisgICAgICAgICAgICAgICAgc2Vjb25kIGNvbHVtbjxicj4KKyAgICAgICAgICAg
ICAgICBzZWNvbmQgY29sdW1uPGJyPgorICAgICAgICAgICAgICAgIHNlY29uZCBjb2x1bW48YnI+
CisgICAgICAgICAgICAgICAgc2Vjb25kIGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICBzZWNv
bmQgY29sdW1uPGJyPgorICAgICAgICAgICAgICAgIHNlY29uZCBjb2x1bW48YnI+CisgICAgICAg
ICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdhcCI+Jm5ic3A7PC9kaXY+Cisg
ICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYyI+CisgICAgICAgICAgICAgICAgdGhpcmQgY29sdW1u
PGJyPgorICAgICAgICAgICAgICAgIHRoaXJkIGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICB0
aGlyZCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAgdGhpcmQgY29sdW1uPGJyPgorICAgICAg
ICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9icmVha3MtMi1j
b2x1bW5zLTMtbm8tYmFsYW5jaW5nLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L211
bHRpY29sL25ld211bHRpY29sL2JyZWFrcy0yLWNvbHVtbnMtMy1uby1iYWxhbmNpbmctZXhwZWN0
ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi45NTE1NDY5YjU3NTQ3OWEzMzUwNmUxNjM2OWE5M2IwYTNjZDEy
OTllCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC9uZXdtdWx0
aWNvbC9icmVha3MtMi1jb2x1bW5zLTMtbm8tYmFsYW5jaW5nLWV4cGVjdGVkLmh0bWwKQEAgLTAs
MCArMSwzNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAg
PHRpdGxlPm11bHRpY29sIHdpdGggYnJlYWs8L3RpdGxlPgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICAubWMgeyBmbG9hdDpsZWZ0OyB3aWR0aDo3ZW07IHBhZGRpbmc6MCAwLjVlbTsgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keSBzdHlsZT0ibWluLXdpZHRo
OjQwZW07IGxpbmUtaGVpZ2h0OjJlbTsiPgorICAgICAgICA8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0
OyBoZWlnaHQ6MTBlbTsgYmFja2dyb3VuZDpvbGl2ZTsiPgorICAgICAgICAgICAgPGRpdiBjbGFz
cz0ibWMiPgorICAgICAgICAgICAgICAgIGZpcnN0IGNvbHVtbjxicj4KKyAgICAgICAgICAgICAg
ICBmaXJzdCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAgZmlyc3QgY29sdW1uPGJyPgorICAg
ICAgICAgICAgICAgIGZpcnN0IGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICBmaXJzdCBjb2x1
bW48YnI+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1jIj4K
KyAgICAgICAgICAgICAgICBzZWNvbmQgY29sdW1uPGJyPgorICAgICAgICAgICAgPC9kaXY+Cisg
ICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYyI+CisgICAgICAgICAgICAgICAgdGhpcmQgY29sdW1u
PGJyPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNs
YXNzPSJtYyI+CisgICAgICAgICAgICBmb3VydGggY29sdW1uPGJyPgorICAgICAgICAgICAgZm91
cnRoIGNvbHVtbjxicj4KKyAgICAgICAgICAgIGZvdXJ0aCBjb2x1bW48YnI+CisgICAgICAgICAg
ICBmb3VydGggY29sdW1uPGJyPgorICAgICAgICAgICAgZm91cnRoIGNvbHVtbjxicj4KKyAgICAg
ICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9Im1jIj4KKyAgICAgICAgICAgIGZpZnRoIGNv
bHVtbjxicj4KKyAgICAgICAgPC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9icmVha3MtMi1jb2x1bW5z
LTMtbm8tYmFsYW5jaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L211bHRpY29sL25ld211bHRp
Y29sL2JyZWFrcy0yLWNvbHVtbnMtMy1uby1iYWxhbmNpbmcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYzE1
NzFkMGJiNmU3NGJlZTVhOWJhZmFhYjMyNDRhNzllMjg2OTYxCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9icmVha3MtMi1jb2x1bW5zLTMt
bm8tYmFsYW5jaW5nLmh0bWwKQEAgLTAsMCArMSwzNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHRpdGxlPm11bHRpY29sIHdpdGggYnJlYWs8L3RpdGxl
PgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisg
ICAgICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFJlZ2lvbkJhc2VkQ29sdW1uc0Vu
YWJsZWQodHJ1ZSk7CisgICAgICAgIDwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICAubWMgPiBkaXYgeyBwYWRkaW5nOjAgMC41ZW07IH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPGJvZHkgc3R5bGU9Im1pbi13aWR0aDo0MGVtOyI+CisgICAgICAgIDxk
aXYgY2xhc3M9Im1jIiBzdHlsZT0iLXdlYmtpdC1jb2x1bW5zOjM7IC13ZWJraXQtY29sdW1uLWdh
cDowOyAtd2Via2l0LWNvbHVtbi1maWxsOmF1dG87IGNvbHVtbnM6MzsgY29sdW1uLWdhcDowOyBj
b2x1bW4tZmlsbDphdXRvOyBvcnBoYW5zOjE7IHdpZG93czoxOyB3aWR0aDoyNGVtOyBoZWlnaHQ6
MTBlbTsgbGluZS1oZWlnaHQ6MmVtOyBiYWNrZ3JvdW5kOm9saXZlOyI+CisgICAgICAgICAgICA8
ZGl2IHN0eWxlPSItd2Via2l0LWNvbHVtbi1icmVhay1hZnRlcjphbHdheXM7IGJyZWFrLWFmdGVy
OmNvbHVtbjsiPgorICAgICAgICAgICAgICAgIGZpcnN0IGNvbHVtbjxicj4KKyAgICAgICAgICAg
ICAgICBmaXJzdCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAgZmlyc3QgY29sdW1uPGJyPgor
ICAgICAgICAgICAgICAgIGZpcnN0IGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICBmaXJzdCBj
b2x1bW48YnI+CisgICAgICAgICAgICAgICAgc2Vjb25kIGNvbHVtbjxicj4KKyAgICAgICAgICAg
IDwvZGl2PgorICAgICAgICAgICAgPGRpdiBzdHlsZT0iLXdlYmtpdC1jb2x1bW4tYnJlYWstYWZ0
ZXI6YWx3YXlzOyBicmVhay1hZnRlcjpjb2x1bW47Ij4KKyAgICAgICAgICAgICAgICB0aGlyZCBj
b2x1bW48YnI+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxkaXY+CisgICAgICAg
ICAgICAgICAgZm91cnRoIGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICBmb3VydGggY29sdW1u
PGJyPgorICAgICAgICAgICAgICAgIGZvdXJ0aCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAg
Zm91cnRoIGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICBmb3VydGggY29sdW1uPGJyPgorICAg
ICAgICAgICAgICAgIGZpZnRoIGNvbHVtbjxicj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAg
ICA8L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L211bHRpY29sL25ld211bHRpY29sL2JyZWFrcy0yLWNvbHVtbnMtMy5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9icmVha3MtMi1jb2x1bW5zLTMuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi45MDY1YWZjZDU5YzI3ODQyMGIyZmE3NDY5ZmFiMGZlOTU3ZGY3Y2Q0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9icmVh
a3MtMi1jb2x1bW5zLTMuaHRtbApAQCAtMCwwICsxLDM0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorICAgIDxoZWFkPgorICAgICAgICA8dGl0bGU+YXV0by1oZWlnaHQgbXVsdGljb2wgd2l0
aCBicmVhazwvdGl0bGU+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBpZiAod2luZG93
LmludGVybmFscykKKyAgICAgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0UmVnaW9u
QmFzZWRDb2x1bW5zRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIC5tYyA+IGRpdiB7IHBhZGRpbmc6MCAwLjVlbTsgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keSBzdHlsZT0ibWluLXdpZHRoOjQwZW07
Ij4KKyAgICAgICAgPGRpdiBjbGFzcz0ibWMiIHN0eWxlPSItd2Via2l0LWNvbHVtbnM6MzsgLXdl
YmtpdC1jb2x1bW4tZ2FwOjFlbTsgY29sdW1uczozOyBjb2x1bW4tZ2FwOjFlbTsgb3JwaGFuczox
OyB3aWRvd3M6MTsgd2lkdGg6MzJlbTsgYmFja2dyb3VuZDpvbGl2ZTsiPgorICAgICAgICAgICAg
PGRpdiBzdHlsZT0iLXdlYmtpdC1jb2x1bW4tYnJlYWstYWZ0ZXI6YWx3YXlzOyBicmVhay1hZnRl
cjpjb2x1bW47Ij4KKyAgICAgICAgICAgICAgICBmaXJzdCBjb2x1bW48YnI+CisgICAgICAgICAg
ICA8L2Rpdj4KKyAgICAgICAgICAgIDxkaXYgc3R5bGU9Ii13ZWJraXQtY29sdW1uLWJyZWFrLWFm
dGVyOmFsd2F5czsgYnJlYWstYWZ0ZXI6Y29sdW1uOyI+CisgICAgICAgICAgICAgICAgc2Vjb25k
IGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICBzZWNvbmQgY29sdW1uPGJyPgorICAgICAgICAg
ICAgICAgIHNlY29uZCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAgc2Vjb25kIGNvbHVtbjxi
cj4KKyAgICAgICAgICAgICAgICBzZWNvbmQgY29sdW1uPGJyPgorICAgICAgICAgICAgICAgIHNl
Y29uZCBjb2x1bW48YnI+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxkaXY+Cisg
ICAgICAgICAgICAgICAgdGhpcmQgY29sdW1uPGJyPgorICAgICAgICAgICAgICAgIHRoaXJkIGNv
bHVtbjxicj4KKyAgICAgICAgICAgICAgICB0aGlyZCBjb2x1bW48YnI+CisgICAgICAgICAgICAg
ICAgdGhpcmQgY29sdW1uPGJyPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbXVsdGlj
b2wvbmV3bXVsdGljb2wvYnJlYWtzLTMtY29sdW1ucy0zLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L211bHRpY29sL25ld211bHRpY29sL2JyZWFrcy0zLWNvbHVtbnMtMy1leHBlY3Rl
ZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmVkYWQ4YjI2YjljMmYwNGJmMzljYjk2MTk3ZTk4ZGU2ZTllYmFk
NDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L211bHRpY29sL25ld211bHRp
Y29sL2JyZWFrcy0zLWNvbHVtbnMtMy1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsNDggQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDx0aXRsZT5hdXRvLWhl
aWdodCBtdWx0aWNvbCB3aXRoIGJyZWFrPC90aXRsZT4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgLm1jIHsgZmxvYXQ6bGVmdDsgd2lkdGg6NmVtOyBwYWRkaW5nOjAgMC41ZW07IH0KKyAg
ICAgICAgICAgIC5nYXAgeyBmbG9hdDpsZWZ0OyB3aWR0aDoxZW07IH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgc3R5bGU9Im1pbi13aWR0aDo0MGVtOyI+CisgICAg
ICAgIDxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7IGJhY2tncm91bmQ6b2xpdmU7Ij4KKyAgICAgICAg
ICAgIDxkaXYgY2xhc3M9Im1jIj4KKyAgICAgICAgICAgICAgICBmaXJzdCBjb2x1bW48YnI+Cisg
ICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdhcCI+Jm5ic3A7PC9k
aXY+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYyI+CisgICAgICAgICAgICAgICAgc2Vjb25k
IGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICBzZWNvbmQgY29sdW1uPGJyPgorICAgICAgICAg
ICAgICAgIHNlY29uZCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAgc2Vjb25kIGNvbHVtbjxi
cj4KKyAgICAgICAgICAgICAgICBzZWNvbmQgY29sdW1uPGJyPgorICAgICAgICAgICAgICAgIHNl
Y29uZCBjb2x1bW48YnI+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxkaXYgY2xh
c3M9ImdhcCI+Jm5ic3A7PC9kaXY+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYyI+CisgICAg
ICAgICAgICAgICAgdGhpcmQgY29sdW1uPGJyPgorICAgICAgICAgICAgICAgIHRoaXJkIGNvbHVt
bjxicj4KKyAgICAgICAgICAgICAgICB0aGlyZCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAg
dGhpcmQgY29sdW1uPGJyPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAg
ICAgICA8ZGl2IGNsYXNzPSJnYXAiPiZuYnNwOzwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJt
YyI+CisgICAgICAgICAgICBmb3VydGggY29sdW1uPGJyPgorICAgICAgICAgICAgZm91cnRoIGNv
bHVtbjxicj4KKyAgICAgICAgICAgIGZvdXJ0aCBjb2x1bW48YnI+CisgICAgICAgICAgICBmb3Vy
dGggY29sdW1uPGJyPgorICAgICAgICAgICAgZm91cnRoIGNvbHVtbjxicj4KKyAgICAgICAgICAg
IGZvdXJ0aCBjb2x1bW48YnI+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJn
YXAiPiZuYnNwOzwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJtYyI+CisgICAgICAgICAgICBm
aWZ0aCBjb2x1bW48YnI+CisgICAgICAgICAgICBmaWZ0aCBjb2x1bW48YnI+CisgICAgICAgIDwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9icmVha3MtMy1jb2x1bW5zLTMuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvYnJlYWtzLTMtY29sdW1ucy0zLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYTUyZmY5NDY5Njk3NWYxMzlkYTU0NTYzNTBhNzYyZTliN2UxMjRjZgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvYnJlYWtz
LTMtY29sdW1ucy0zLmh0bWwKQEAgLTAsMCArMSw0NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHRpdGxlPmF1dG8taGVpZ2h0IG11bHRpY29sIHdpdGgg
YnJlYWs8L3RpdGxlPgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgaWYgKHdpbmRvdy5p
bnRlcm5hbHMpCisgICAgICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFJlZ2lvbkJh
c2VkQ29sdW1uc0VuYWJsZWQodHJ1ZSk7CisgICAgICAgIDwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICAubWMgPiBkaXYgeyBwYWRkaW5nOjAgMC41ZW07IH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgc3R5bGU9Im1pbi13aWR0aDo0MGVtOyI+
CisgICAgICAgIDxkaXYgY2xhc3M9Im1jIiBzdHlsZT0iLXdlYmtpdC1jb2x1bW5zOjM7IC13ZWJr
aXQtY29sdW1uLWdhcDoxZW07IGNvbHVtbnM6MzsgY29sdW1uLWdhcDoxZW07IG9ycGhhbnM6MTsg
d2lkb3dzOjE7IHdpZHRoOjIzZW07IGJhY2tncm91bmQ6b2xpdmU7Ij4KKyAgICAgICAgICAgIDxk
aXYgc3R5bGU9Ii13ZWJraXQtY29sdW1uLWJyZWFrLWFmdGVyOmFsd2F5czsgYnJlYWstYWZ0ZXI6
Y29sdW1uOyI+CisgICAgICAgICAgICAgICAgZmlyc3QgY29sdW1uPGJyPgorICAgICAgICAgICAg
PC9kaXY+CisgICAgICAgICAgICA8ZGl2IHN0eWxlPSItd2Via2l0LWNvbHVtbi1icmVhay1hZnRl
cjphbHdheXM7IGJyZWFrLWFmdGVyOmNvbHVtbjsiPgorICAgICAgICAgICAgICAgIHNlY29uZCBj
b2x1bW48YnI+CisgICAgICAgICAgICAgICAgc2Vjb25kIGNvbHVtbjxicj4KKyAgICAgICAgICAg
ICAgICBzZWNvbmQgY29sdW1uPGJyPgorICAgICAgICAgICAgICAgIHNlY29uZCBjb2x1bW48YnI+
CisgICAgICAgICAgICAgICAgc2Vjb25kIGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICBzZWNv
bmQgY29sdW1uPGJyPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZGl2IHN0eWxl
PSItd2Via2l0LWNvbHVtbi1icmVhay1hZnRlcjphbHdheXM7IGJyZWFrLWFmdGVyOmNvbHVtbjsi
PgorICAgICAgICAgICAgICAgIHRoaXJkIGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICB0aGly
ZCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAgdGhpcmQgY29sdW1uPGJyPgorICAgICAgICAg
ICAgICAgIHRoaXJkIGNvbHVtbjxicj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAg
PGRpdj4KKyAgICAgICAgICAgICAgICBmb3VydGggY29sdW1uPGJyPgorICAgICAgICAgICAgICAg
IGZvdXJ0aCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAgZm91cnRoIGNvbHVtbjxicj4KKyAg
ICAgICAgICAgICAgICBmb3VydGggY29sdW1uPGJyPgorICAgICAgICAgICAgICAgIGZvdXJ0aCBj
b2x1bW48YnI+CisgICAgICAgICAgICAgICAgZm91cnRoIGNvbHVtbjxicj4KKyAgICAgICAgICAg
ICAgICBmaWZ0aCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAgZmlmdGggY29sdW1uPGJyPgor
ICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvZml4ZWQt
aGVpZ2h0LWZpbGwtYmFsYW5jZS0yLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L211
bHRpY29sL25ld211bHRpY29sL2ZpeGVkLWhlaWdodC1maWxsLWJhbGFuY2UtMi1leHBlY3RlZC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmQzMjk5ZjU1YTUxYWIzMTk4OGNkMDgzYzkxNzNhYzY3NmFlYWU5ZTIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L211bHRpY29sL25ld211bHRpY29s
L2ZpeGVkLWhlaWdodC1maWxsLWJhbGFuY2UtMi1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTYg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDx0aXRsZT5i
YWxhbmNpbmcgZml4ZWQtaGVpZ2h0IG11bHRpY29sPC90aXRsZT4KKyAgICA8L2hlYWQ+CisgICAg
PGJvZHkgc3R5bGU9Im92ZXJmbG93OmhpZGRlbjsiPgorICAgICAgICA8cD5UaGVyZSBzaG91bGQg
YmUgdGhyZWUgaWRlbnRpY2FsIGJsdWUgcmVjdGFuZ2xlcyBiZWxvdy48L3A+CisgICAgICAgIDxk
aXYgc3R5bGU9IndpZHRoOjIwZW07Ij4KKyAgICAgICAgICAgIDxkaXYgc3R5bGU9ImZsb2F0Omxl
ZnQ7IHdpZHRoOjZlbTsgaGVpZ2h0OjJlbTsgYmFja2dyb3VuZDpibHVlOyI+PC9kaXY+CisgICAg
ICAgICAgICA8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0OyB3aWR0aDoxZW07IGhlaWdodDoyZW07Ij48
L2Rpdj4KKyAgICAgICAgICAgIDxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7IHdpZHRoOjZlbTsgaGVp
Z2h0OjJlbTsgYmFja2dyb3VuZDpibHVlOyI+PC9kaXY+CisgICAgICAgICAgICA8ZGl2IHN0eWxl
PSJmbG9hdDpsZWZ0OyB3aWR0aDoxZW07IGhlaWdodDoyZW07Ij48L2Rpdj4KKyAgICAgICAgICAg
IDxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7IHdpZHRoOjZlbTsgaGVpZ2h0OjJlbTsgYmFja2dyb3Vu
ZDpibHVlOyI+PC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvZml4ZWQtaGVp
Z2h0LWZpbGwtYmFsYW5jZS0yLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L211bHRpY29sL25ld211
bHRpY29sL2ZpeGVkLWhlaWdodC1maWxsLWJhbGFuY2UtMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRlMWFl
NWE5NjdiNzgzNzI0ZTcxMTIwOGJlOTVhNDE5Njg2OTVjOGMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L211bHRpY29sL25ld211bHRpY29sL2ZpeGVkLWhlaWdodC1maWxsLWJh
bGFuY2UtMi5odG1sCkBAIC0wLDAgKzEsMTYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDx0aXRsZT5iYWxhbmNpbmcgZml4ZWQtaGVpZ2h0IG11bHRpY29s
PC90aXRsZT4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJu
YWxzKQorICAgICAgICAgICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRSZWdpb25CYXNlZENv
bHVtbnNFbmFibGVkKHRydWUpOworICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAg
PGJvZHkgc3R5bGU9Im92ZXJmbG93OmhpZGRlbjsiPgorICAgICAgICA8cD5UaGVyZSBzaG91bGQg
YmUgdGhyZWUgaWRlbnRpY2FsIGJsdWUgcmVjdGFuZ2xlcyBiZWxvdy48L3A+CisgICAgICAgIDxk
aXYgc3R5bGU9Ii13ZWJraXQtY29sdW1uczozOyAtd2Via2l0LWNvbHVtbi1nYXA6MWVtOyBjb2x1
bW5zOjM7IGNvbHVtbi1nYXA6MWVtOyBsaW5lLWhlaWdodDoyZW07IGhlaWdodDozLjllbTsgd2lk
dGg6MjBlbTsiPgorICAgICAgICAgICAgPGRpdiBzdHlsZT0iYmFja2dyb3VuZDpibHVlOyI+PGJy
Pjxicj48YnI+PC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221632</attachid>
            <date>2014-01-20 01:16:13 -0800</date>
            <delta_ts>2014-01-20 11:51:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-123993-20140120101624.patch</filename>
            <type>text/plain</type>
            <size>48447</size>
            <attacher name="Morten Stenshorne">mstensho</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYyMzA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDU2ZDZiNDYzNTcxOTY3
MzQ1ZDFmNjE1MTM0YzEwMTc3ZTViNDI3MC4uOTM2NzVlNjNmNDFiYTE3Y2NmNzUyYjJiODM5ZGE2
M2Q5YmMzOGVjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgwIEBACisyMDE0LTAxLTIwICBNb3J0
ZW4gU3RlbnNob3JuZSAgPG1zdGVuc2hvQG9wZXJhLmNvbT4KKworICAgICAgICBSZWdpb24gYmFz
ZWQgbXVsdGljb2w6IHN1cHBvcnQgZXhwbGljaXQgY29sdW1uIGJyZWFrcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIzOTkzCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWVyZWx5IHN1cHBvcnRpbmcgaW5z
ZXJ0aW9uIG9mIGV4cGxpY2l0IChmb3JjZWQpIGNvbHVtbiBicmVha3MgaW4KKyAgICAgICAgdGhl
IHJlZ2lvbiBiYXNlZCBtdWx0aWNvbCBpbXBsZW1lbnRhdGlvbiBpcyByZWFsbHkgc2ltcGxlOiBq
dXN0CisgICAgICAgIGhvb2sgdXAgd2l0aCB3aGF0IHRoZSBDU1MgcmVnaW9ucyBjb2RlIGlzIGFs
cmVhZHkgZG9pbmcuCisKKyAgICAgICAgSG93ZXZlciwgdGhlcmUgaXMgb25lIGNvbXBsaWNhdGlv
bjogY29sdW1uIGJhbGFuY2luZy4gSW4gb3JkZXIgdG8KKyAgICAgICAgYmFsYW5jZSBjb2x1bW5z
IGFzIG5pY2VseSBhcyBwb3NzaWJsZSB3aGVuIHRoZXJlIGFyZSBleHBsaWNpdAorICAgICAgICBi
cmVha3MsIHdlIG5lZWQgdG8gZmlndXJlIG91dCBiZXR3ZWVuIHdoaWNoIGV4cGxpY2l0IGJyZWFr
cyB0aGUKKyAgICAgICAgaW1wbGljaXQgYnJlYWtzIHdpbGwgb2NjdXIgKGlmIHRoZXJlJ3Mgcm9v
bSBmb3IgYW55IGF0IGFsbCkuCisKKyAgICAgICAgVGVzdHM6IGZhc3QvbXVsdGljb2wvbmV3bXVs
dGljb2wvYnJlYWstYWZ0ZXIuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9tdWx0aWNvbC9uZXdt
dWx0aWNvbC9icmVhay1iZWZvcmUuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9tdWx0aWNvbC9u
ZXdtdWx0aWNvbC9icmVha3MtMi1jb2x1bW5zLTMtbm8tYmFsYW5jaW5nLmh0bWwKKyAgICAgICAg
ICAgICAgIGZhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvYnJlYWtzLTItY29sdW1ucy0zLmh0bWwK
KyAgICAgICAgICAgICAgIGZhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvYnJlYWtzLTMtY29sdW1u
cy0zLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvZml4ZWQt
aGVpZ2h0LWZpbGwtYmFsYW5jZS0yLmh0bWwKKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJC
bG9ja0Zsb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjphcHBseUJl
Zm9yZUJyZWFrKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6YXBwbHlBZnRl
ckJyZWFrKTogVXNlIHRoZSBhbHJlYWR5CisgICAgICAgIGV4aXN0aW5nIHJlZ2lvbiBicmVha2lu
ZyBjb2RlIHdoZW4gaW5zZXJ0aW5nIGJyZWFrcyBpbiByZWdpb24KKyAgICAgICAgYmFzZWQgbXVs
dGljb2wuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuaDoKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5CbG9jay5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJNdWx0aUNvbHVtbkJsb2NrOjpSZW5kZXJNdWx0aUNvbHVtbkJsb2NrKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlck11bHRpQ29sdW1uQmxvY2s6OnJlbGF5b3V0Rm9yUGFnaW5hdGlv
bik6IEF2b2lkCisgICAgICAgIHJlLWJhbGFuY2luZyBpZiB0aGUgbXVsdGljb2wncyBjb250ZW50
cyB3ZXJlIG5vdCBsYWlkIG91dC4gQXBhcnQKKyAgICAgICAgZnJvbSBiZWluZyBnb29kIGZvciBw
ZXJmb3JtYW5jZSwgdGhpcyBpcyBub3cgbmVjZXNzYXJ5IGJlY2F1c2Ugb2YKKyAgICAgICAgaG93
IGV4cGxpY2l0IGJyZWFrcyBhcmUgaW1wbGVtZW50ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJNdWx0aUNvbHVtbkJsb2NrOjpsYXlvdXRTcGVjaWFsRXhjbHVkZWRDaGlsZCk6CisgICAgICAg
IERldGVjdCBpZiB0aGUgY29udGVudHMgYXJlIGdvaW5nIHRvIGJlIGxhaWQgb3V0LCBvciBza2lw
cGVkLCBzbworICAgICAgICB0aGF0IHdlIGNhbiB0ZWxsIGlmIHdlIG5lZWQgdG8gKHJlLSliYWxh
bmNlIHRoZSBjb2x1bW5zCisgICAgICAgIGFmdGVyd2FyZHMuCisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlck11bHRpQ29sdW1uQmxvY2suaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTXVs
dGlDb2x1bW5GbG93VGhyZWFkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck11bHRpQ29s
dW1uRmxvd1RocmVhZDo6YWRkRm9yY2VkUmVnaW9uQnJlYWspOgorICAgICAgICBMb2NhdGUgdGhl
IGFwcHJvcHJpYXRlIG11bHRpLWNvbHVtbiBzZXQgYW5kIGNhbGwgaXRzCisgICAgICAgIGFkZEZv
cmNlZEJyZWFrKCkuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvd1Ro
cmVhZC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJNdWx0aUNvbHVtblNldDo6UmVuZGVyTXVsdGlDb2x1bW5T
ZXQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTXVsdGlDb2x1bW5TZXQ6OmZpbmRSdW5XaXRo
VGFsbGVzdENvbHVtbnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTXVsdGlDb2x1bW5TZXQ6
OmRpc3RyaWJ1dGVJbXBsaWNpdEJyZWFrcyk6IEZpZ3VyZQorICAgICAgICBvdXQgaG93IG1hbnkg
aW1wbGljaXQgYnJlYWtzIGVhY2ggc2luZ2xlICJjb250ZW50IHJ1biIgc2hvdWxkCisgICAgICAg
IGNvbnRhaW4uIFRoZSB0YWxsZXIgdGhlIGNvbnRlbnQgcnVuLCB0aGUgbW9yZSBpbXBsaWNpdCBi
cmVha3MuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNdWx0aUNvbHVtblNldDo6Y2FsY3VsYXRl
QmFsYW5jZWRIZWlnaHQpOiBUaGlzIGlzCisgICAgICAgIG5vdyBhIGNvbnN0IG1ldGhvZCB0aGF0
IG9ubHkgZG9lcyBoYWxmIG9mIHdoYXQgdGhlIG9sZAorICAgICAgICBjYWxjdWxhdGVCYWxhbmNl
ZEhlaWdodCgpIGRpZC4gVGhlIHJlc3QgKHN1Y2ggYXMgYWN0dWFsbHkgc3RvcmluZworICAgICAg
ICB0aGUgbmV3IGNvbHVtbiBoZWlnaHQpIGlzIGRvbmUgYnkgcmVjYWxjdWxhdGVCYWxhbmNlZEhl
aWdodCgpLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTXVsdGlDb2x1bW5TZXQ6OmNsZWFyRm9y
Y2VkQnJlYWtzKTogTmVlZHMgdG8gYmUKKyAgICAgICAgY2FsbGVkIGJldHdlZW4gZWFjaCBsYXlv
dXQgcGFzcywgdG8gY2xlYXIgdGhlIGxpc3Qgb2YgImNvbnRlbnQKKyAgICAgICAgcnVucyIuCisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJNdWx0aUNvbHVtblNldDo6YWRkRm9yY2VkQnJlYWspOiBP
bmx5IHVzZWZ1bCB3aGVuCisgICAgICAgIGNvbHVtbnMgYXJlIHRvIGJlIGJhbGFuY2VkLiBJdCBy
ZWNlaXZlcyBleHBsaWNpdCAoZm9yY2VkKSBicmVha3MKKyAgICAgICAgYW5kIHN0b3JlcyB0aGVt
IGFzICJjb250ZW50IHJ1bnMiLiBXaGVuIGxheW91dCBpcyBkb25lLCB3ZSdsbCBnbworICAgICAg
ICB0aHJvdWdoIHRoZSBsaXN0IG9mIGNvbnRlbnQgcnVucywgYW5kIHNlZSB3aGVyZSBpbXBsaWNp
dCBicmVha3MKKyAgICAgICAgc2hvdWxkIGJlIGluc2VydGVkIChpZiB0aGVyZSdzIHJvb20gZm9y
IGFueSkuIFRoZSBnb2FsIGlzIHRvCisgICAgICAgIGluc2VydCBpbXBsaWNpdCBicmVha3MgaW4g
c3VjaCBhIHdheSB0aGF0IHRoZSBmaW5hbCBjb2x1bW5zIGJlY29tZQorICAgICAgICBhcyBzaG9y
dCBhcyBwb3NzaWJsZS4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck11bHRpQ29sdW1uU2V0Ojpy
ZWNhbGN1bGF0ZUJhbGFuY2VkSGVpZ2h0KToKKyAgICAgICAgQ2FsY3VsYXRlcyBhbmQgc2V0cyBh
IG5ldyBiYWxhbmNlZCBjb2x1bW4gaGVpZ2h0LiBUaGlzIHVzZWQgdG8gYmUKKyAgICAgICAgZG9u
ZSBkaXJlY3RseSBpbiBjYWxjdWxhdGVCYWxhbmNlZEhlaWdodCgpLCBidXQgdGhhdCBtZXRob2Qg
aXMgbm93CisgICAgICAgIGNvbnN0IGFuZCBpdCBub3cgb25seSBjYWxjdWxhdGVzIHRoZSBuZXcg
aGVpZ2h0IGFuZCByZXR1cm5zIGl0LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTXVsdGlDb2x1
bW5TZXQ6OnByZXBhcmVGb3JMYXlvdXQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNdWx0
aUNvbHVtblNldC5oOiBSZW1vdmUgb2xkIGRhdGEgbWVtYmVycworICAgICAgICBpbnRlbmRlZCBm
b3IgZm9yY2VkIGJyZWFrcyAodGhleSB3ZXJlIHVudXNlZCksIGFuZCBpbnRyb2R1Y2UgYQorICAg
ICAgICAiY29udGVudCBydW4iIHZlY3RvciBpbnN0ZWFkLiBBIG5ldyBjb250ZW50IHJ1biBpcyB0
cmlnZ2VyZWQgYnkgYW4KKyAgICAgICAgZXhwbGljaXQgYnJlYWsuIFRoaXMgaXMgb25seSB1c2Vk
IHdoZW4gY29sdW1uIGJhbGFuY2luZyBpcworICAgICAgICBlbmFibGVkLiBXaGVuIG5vdCBiYWxh
bmNlZCwgUmVuZGVyTXVsdGlDb2x1bW5TZXQgZG9lc24ndCBuZWVkIHRvCisgICAgICAgIGRvIGFu
eXRoaW5nIHdoZW4gZXhwbGljaXQgYnJlYWtzIGFyZSBpbnNlcnRlZC4KKwogMjAxNC0wMS0xOSAg
Q2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dM
SUJdIEdWYXJpYW50IGZsb2F0aW5nIHJlZmVyZW5jZXMgYXJlIG5vdCBjb3JyZWN0bHkgaGFuZGxl
ZCBieSBHUmVmUHRyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QmxvY2tGbG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cu
Y3BwCmluZGV4IDE4MzlhNjQxM2E1ZDRlZTU1MTk2NDM5OTIzZmU5NDk3YjJkNDU4MTkuLmMyM2I3
YTY4NGQ1ZWEzNGM0ZWM2YWNjYWUzOWZhYjVhZTgzNzY5N2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCkBAIC0xMzQ4LDE1ICsxMzQ4LDIxIEBAIHN0
YXRpYyBib29sIGluTm9ybWFsRmxvdyhSZW5kZXJCb3gmIGNoaWxkKQogTGF5b3V0VW5pdCBSZW5k
ZXJCbG9ja0Zsb3c6OmFwcGx5QmVmb3JlQnJlYWsoUmVuZGVyQm94JiBjaGlsZCwgTGF5b3V0VW5p
dCBsb2dpY2FsT2Zmc2V0KQogewogICAgIC8vIEZJWE1FOiBBZGQgcGFnZSBicmVhayBjaGVja2lu
ZyBoZXJlIHdoZW4gd2Ugc3VwcG9ydCBwcmludGluZy4KLSAgICBib29sIGNoZWNrQ29sdW1uQnJl
YWtzID0gdmlldygpLmxheW91dFN0YXRlKCktPmlzUGFnaW5hdGluZ0NvbHVtbnMoKTsKLSAgICBi
b29sIGNoZWNrUGFnZUJyZWFrcyA9ICFjaGVja0NvbHVtbkJyZWFrcyAmJiB2aWV3KCkubGF5b3V0
U3RhdGUoKS0+bV9wYWdlTG9naWNhbEhlaWdodDsgLy8gRklYTUU6IE9uY2UgY29sdW1ucyBjYW4g
cHJpbnQgd2UgaGF2ZSB0byBjaGVjayB0aGlzLgogICAgIFJlbmRlckZsb3dUaHJlYWQqIGZsb3dU
aHJlYWQgPSBmbG93VGhyZWFkQ29udGFpbmluZ0Jsb2NrKCk7CisgICAgYm9vbCBpc0luc2lkZU11
bHRpY29sRmxvd1RocmVhZCA9IGZsb3dUaHJlYWQgJiYgIWZsb3dUaHJlYWQtPmlzUmVuZGVyTmFt
ZWRGbG93VGhyZWFkKCk7CisgICAgYm9vbCBjaGVja0NvbHVtbkJyZWFrcyA9IGlzSW5zaWRlTXVs
dGljb2xGbG93VGhyZWFkIHx8IHZpZXcoKS5sYXlvdXRTdGF0ZSgpLT5pc1BhZ2luYXRpbmdDb2x1
bW5zKCk7CisgICAgYm9vbCBjaGVja1BhZ2VCcmVha3MgPSAhY2hlY2tDb2x1bW5CcmVha3MgJiYg
dmlldygpLmxheW91dFN0YXRlKCktPm1fcGFnZUxvZ2ljYWxIZWlnaHQ7IC8vIEZJWE1FOiBPbmNl
IGNvbHVtbnMgY2FuIHByaW50IHdlIGhhdmUgdG8gY2hlY2sgdGhpcy4KICAgICBib29sIGNoZWNr
UmVnaW9uQnJlYWtzID0gZmxvd1RocmVhZCAmJiBmbG93VGhyZWFkLT5pc1JlbmRlck5hbWVkRmxv
d1RocmVhZCgpOwotICAgIGJvb2wgY2hlY2tCZWZvcmVBbHdheXMgPSAoY2hlY2tDb2x1bW5CcmVh
a3MgJiYgY2hpbGQuc3R5bGUoKS5jb2x1bW5CcmVha0JlZm9yZSgpID09IFBCQUxXQVlTKSB8fCAo
Y2hlY2tQYWdlQnJlYWtzICYmIGNoaWxkLnN0eWxlKCkucGFnZUJyZWFrQmVmb3JlKCkgPT0gUEJB
TFdBWVMpCisgICAgYm9vbCBjaGVja0JlZm9yZUFsd2F5cyA9IChjaGVja0NvbHVtbkJyZWFrcyAm
JiBjaGlsZC5zdHlsZSgpLmNvbHVtbkJyZWFrQmVmb3JlKCkgPT0gUEJBTFdBWVMpCisgICAgICAg
IHx8IChjaGVja1BhZ2VCcmVha3MgJiYgY2hpbGQuc3R5bGUoKS5wYWdlQnJlYWtCZWZvcmUoKSA9
PSBQQkFMV0FZUykKICAgICAgICAgfHwgKGNoZWNrUmVnaW9uQnJlYWtzICYmIGNoaWxkLnN0eWxl
KCkucmVnaW9uQnJlYWtCZWZvcmUoKSA9PSBQQkFMV0FZUyk7CiAgICAgaWYgKGNoZWNrQmVmb3Jl
QWx3YXlzICYmIGluTm9ybWFsRmxvdyhjaGlsZCkgJiYgaGFzTmV4dFBhZ2UobG9naWNhbE9mZnNl
dCwgSW5jbHVkZVBhZ2VCb3VuZGFyeSkpIHsKLSAgICAgICAgaWYgKGNoZWNrQ29sdW1uQnJlYWtz
KQotICAgICAgICAgICAgdmlldygpLmxheW91dFN0YXRlKCktPmFkZEZvcmNlZENvbHVtbkJyZWFr
KCZjaGlsZCwgbG9naWNhbE9mZnNldCk7CisgICAgICAgIGlmIChjaGVja0NvbHVtbkJyZWFrcykg
eworICAgICAgICAgICAgaWYgKGlzSW5zaWRlTXVsdGljb2xGbG93VGhyZWFkKQorICAgICAgICAg
ICAgICAgIGNoZWNrUmVnaW9uQnJlYWtzID0gdHJ1ZTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgICAgICB2aWV3KCkubGF5b3V0U3RhdGUoKS0+YWRkRm9yY2VkQ29sdW1uQnJlYWsoJmNo
aWxkLCBsb2dpY2FsT2Zmc2V0KTsKKyAgICAgICAgfQogICAgICAgICBpZiAoY2hlY2tSZWdpb25C
cmVha3MpIHsKICAgICAgICAgICAgIExheW91dFVuaXQgb2Zmc2V0QnJlYWtBZGp1c3RtZW50ID0g
MDsKICAgICAgICAgICAgIGlmIChmbG93VGhyZWFkLT5hZGRGb3JjZWRSZWdpb25CcmVhayh0aGlz
LCBvZmZzZXRGcm9tTG9naWNhbFRvcE9mRmlyc3RQYWdlKCkgKyBsb2dpY2FsT2Zmc2V0LCAmY2hp
bGQsIHRydWUsICZvZmZzZXRCcmVha0FkanVzdG1lbnQpKQpAQCAtMTM3MCwxMSArMTM3NiwxMyBA
QCBMYXlvdXRVbml0IFJlbmRlckJsb2NrRmxvdzo6YXBwbHlCZWZvcmVCcmVhayhSZW5kZXJCb3gm
IGNoaWxkLCBMYXlvdXRVbml0IGxvZ2ljYQogTGF5b3V0VW5pdCBSZW5kZXJCbG9ja0Zsb3c6OmFw
cGx5QWZ0ZXJCcmVhayhSZW5kZXJCb3gmIGNoaWxkLCBMYXlvdXRVbml0IGxvZ2ljYWxPZmZzZXQs
IE1hcmdpbkluZm8mIG1hcmdpbkluZm8pCiB7CiAgICAgLy8gRklYTUU6IEFkZCBwYWdlIGJyZWFr
IGNoZWNraW5nIGhlcmUgd2hlbiB3ZSBzdXBwb3J0IHByaW50aW5nLgotICAgIGJvb2wgY2hlY2tD
b2x1bW5CcmVha3MgPSB2aWV3KCkubGF5b3V0U3RhdGUoKS0+aXNQYWdpbmF0aW5nQ29sdW1ucygp
OwotICAgIGJvb2wgY2hlY2tQYWdlQnJlYWtzID0gIWNoZWNrQ29sdW1uQnJlYWtzICYmIHZpZXco
KS5sYXlvdXRTdGF0ZSgpLT5tX3BhZ2VMb2dpY2FsSGVpZ2h0OyAvLyBGSVhNRTogT25jZSBjb2x1
bW5zIGNhbiBwcmludCB3ZSBoYXZlIHRvIGNoZWNrIHRoaXMuCiAgICAgUmVuZGVyRmxvd1RocmVh
ZCogZmxvd1RocmVhZCA9IGZsb3dUaHJlYWRDb250YWluaW5nQmxvY2soKTsKKyAgICBib29sIGlz
SW5zaWRlTXVsdGljb2xGbG93VGhyZWFkID0gZmxvd1RocmVhZCAmJiAhZmxvd1RocmVhZC0+aXNS
ZW5kZXJOYW1lZEZsb3dUaHJlYWQoKTsKKyAgICBib29sIGNoZWNrQ29sdW1uQnJlYWtzID0gaXNJ
bnNpZGVNdWx0aWNvbEZsb3dUaHJlYWQgfHwgdmlldygpLmxheW91dFN0YXRlKCktPmlzUGFnaW5h
dGluZ0NvbHVtbnMoKTsKKyAgICBib29sIGNoZWNrUGFnZUJyZWFrcyA9ICFjaGVja0NvbHVtbkJy
ZWFrcyAmJiB2aWV3KCkubGF5b3V0U3RhdGUoKS0+bV9wYWdlTG9naWNhbEhlaWdodDsgLy8gRklY
TUU6IE9uY2UgY29sdW1ucyBjYW4gcHJpbnQgd2UgaGF2ZSB0byBjaGVjayB0aGlzLgogICAgIGJv
b2wgY2hlY2tSZWdpb25CcmVha3MgPSBmbG93VGhyZWFkICYmIGZsb3dUaHJlYWQtPmlzUmVuZGVy
TmFtZWRGbG93VGhyZWFkKCk7Ci0gICAgYm9vbCBjaGVja0FmdGVyQWx3YXlzID0gKGNoZWNrQ29s
dW1uQnJlYWtzICYmIGNoaWxkLnN0eWxlKCkuY29sdW1uQnJlYWtBZnRlcigpID09IFBCQUxXQVlT
KSB8fCAoY2hlY2tQYWdlQnJlYWtzICYmIGNoaWxkLnN0eWxlKCkucGFnZUJyZWFrQWZ0ZXIoKSA9
PSBQQkFMV0FZUykKKyAgICBib29sIGNoZWNrQWZ0ZXJBbHdheXMgPSAoY2hlY2tDb2x1bW5CcmVh
a3MgJiYgY2hpbGQuc3R5bGUoKS5jb2x1bW5CcmVha0FmdGVyKCkgPT0gUEJBTFdBWVMpCisgICAg
ICAgIHx8IChjaGVja1BhZ2VCcmVha3MgJiYgY2hpbGQuc3R5bGUoKS5wYWdlQnJlYWtBZnRlcigp
ID09IFBCQUxXQVlTKQogICAgICAgICB8fCAoY2hlY2tSZWdpb25CcmVha3MgJiYgY2hpbGQuc3R5
bGUoKS5yZWdpb25CcmVha0FmdGVyKCkgPT0gUEJBTFdBWVMpOwogICAgIGlmIChjaGVja0FmdGVy
QWx3YXlzICYmIGluTm9ybWFsRmxvdyhjaGlsZCkgJiYgaGFzTmV4dFBhZ2UobG9naWNhbE9mZnNl
dCwgSW5jbHVkZVBhZ2VCb3VuZGFyeSkpIHsKICAgICAgICAgTGF5b3V0VW5pdCBtYXJnaW5PZmZz
ZXQgPSBtYXJnaW5JbmZvLmNhbkNvbGxhcHNlV2l0aE1hcmdpbkJlZm9yZSgpID8gTGF5b3V0VW5p
dCgpIDogbWFyZ2luSW5mby5tYXJnaW4oKTsKQEAgLTEzODIsOCArMTM5MCwxMiBAQCBMYXlvdXRV
bml0IFJlbmRlckJsb2NrRmxvdzo6YXBwbHlBZnRlckJyZWFrKFJlbmRlckJveCYgY2hpbGQsIExh
eW91dFVuaXQgbG9naWNhbAogICAgICAgICAvLyBTbyBvdXIgbWFyZ2luIGRvZXNuJ3QgcGFydGlj
aXBhdGUgaW4gdGhlIG5leHQgY29sbGFwc2luZyBzdGVwcy4KICAgICAgICAgbWFyZ2luSW5mby5j
bGVhck1hcmdpbigpOwogCi0gICAgICAgIGlmIChjaGVja0NvbHVtbkJyZWFrcykKLSAgICAgICAg
ICAgIHZpZXcoKS5sYXlvdXRTdGF0ZSgpLT5hZGRGb3JjZWRDb2x1bW5CcmVhaygmY2hpbGQsIGxv
Z2ljYWxPZmZzZXQpOworICAgICAgICBpZiAoY2hlY2tDb2x1bW5CcmVha3MpIHsKKyAgICAgICAg
ICAgIGlmIChpc0luc2lkZU11bHRpY29sRmxvd1RocmVhZCkKKyAgICAgICAgICAgICAgICBjaGVj
a1JlZ2lvbkJyZWFrcyA9IHRydWU7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAg
dmlldygpLmxheW91dFN0YXRlKCktPmFkZEZvcmNlZENvbHVtbkJyZWFrKCZjaGlsZCwgbG9naWNh
bE9mZnNldCk7CisgICAgICAgIH0KICAgICAgICAgaWYgKGNoZWNrUmVnaW9uQnJlYWtzKSB7CiAg
ICAgICAgICAgICBMYXlvdXRVbml0IG9mZnNldEJyZWFrQWRqdXN0bWVudCA9IDA7CiAgICAgICAg
ICAgICBpZiAoZmxvd1RocmVhZC0+YWRkRm9yY2VkUmVnaW9uQnJlYWsodGhpcywgb2Zmc2V0RnJv
bUxvZ2ljYWxUb3BPZkZpcnN0UGFnZSgpICsgbG9naWNhbE9mZnNldCArIG1hcmdpbk9mZnNldCwg
JmNoaWxkLCBmYWxzZSwgJm9mZnNldEJyZWFrQWRqdXN0bWVudCkpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuaAppbmRleCA4YmM1MjA5OWUwMWM4OGMyNTdhN2Y3
ZjVmNmY4OWE1YmZiNjA1ZTY2Li5mY2VkNjQ1ZTFjMjhiM2EzYTE1ZjE3OGI1MzZjYmMwM2M5OTI2
NmQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVh
ZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmgKQEAg
LTE0NSw3ICsxNDUsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBtYXJrQXV0b0xvZ2ljYWxIZWlnaHRS
ZWdpb25zRm9yTGF5b3V0KCk7CiAgICAgdm9pZCBtYXJrUmVnaW9uc0Zvck92ZXJmbG93TGF5b3V0
SWZOZWVkZWQoKTsKIAotICAgIGJvb2wgYWRkRm9yY2VkUmVnaW9uQnJlYWsoY29uc3QgUmVuZGVy
QmxvY2sqLCBMYXlvdXRVbml0LCBSZW5kZXJCb3gqIGJyZWFrQ2hpbGQsIGJvb2wgaXNCZWZvcmUs
IExheW91dFVuaXQqIG9mZnNldEJyZWFrQWRqdXN0bWVudCA9IDApOworICAgIHZpcnR1YWwgYm9v
bCBhZGRGb3JjZWRSZWdpb25CcmVhayhjb25zdCBSZW5kZXJCbG9jayosIExheW91dFVuaXQsIFJl
bmRlckJveCogYnJlYWtDaGlsZCwgYm9vbCBpc0JlZm9yZSwgTGF5b3V0VW5pdCogb2Zmc2V0QnJl
YWtBZGp1c3RtZW50ID0gMCk7CiAgICAgdm9pZCBhcHBseUJyZWFrQWZ0ZXJDb250ZW50KExheW91
dFVuaXQpOwogCiAgICAgYm9vbCBwYWdlTG9naWNhbFNpemVDaGFuZ2VkKCkgY29uc3QgeyByZXR1
cm4gbV9wYWdlTG9naWNhbFNpemVDaGFuZ2VkOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5CbG9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5CbG9jay5jcHAKaW5kZXggOGU1MTA5YzZkZjdiOTZl
NDBjNmFiZmI0ZTI1YWIzYmUxYjg3OGRmMC4uNjhmMTZhNzZjZWE4ZDA5ZjQ0NTNhNTY0ZWM0YmU4
ZjAxOTUxMDM2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11
bHRpQ29sdW1uQmxvY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJN
dWx0aUNvbHVtbkJsb2NrLmNwcApAQCAtNDAsNiArNDAsNyBAQCBSZW5kZXJNdWx0aUNvbHVtbkJs
b2NrOjpSZW5kZXJNdWx0aUNvbHVtbkJsb2NrKEVsZW1lbnQmIGVsZW1lbnQsIFBhc3NSZWY8UmVu
ZGVyUwogICAgICwgbV9jb2x1bW5XaWR0aCgwKQogICAgICwgbV9jb2x1bW5IZWlnaHRBdmFpbGFi
bGUoMCkKICAgICAsIG1faW5CYWxhbmNpbmdQYXNzKGZhbHNlKQorICAgICwgbV9uZWVkc1JlYmFs
YW5jaW5nKGZhbHNlKQogewogfQogCkBAIC05Niw4ICs5Nyw5IEBAIHZvaWQgUmVuZGVyTXVsdGlD
b2x1bW5CbG9jazo6Y2hlY2tGb3JQYWdpbmF0aW9uTG9naWNhbEhlaWdodENoYW5nZShMYXlvdXRV
bml0JiAvCiAKIGJvb2wgUmVuZGVyTXVsdGlDb2x1bW5CbG9jazo6cmVsYXlvdXRGb3JQYWdpbmF0
aW9uKGJvb2wsIExheW91dFVuaXQsIExheW91dFN0YXRlTWFpbnRhaW5lciYgc3RhdGVQdXNoZXIp
CiB7Ci0gICAgaWYgKG1faW5CYWxhbmNpbmdQYXNzIHx8ICFyZXF1aXJlc0JhbGFuY2luZygpKQor
ICAgIGlmIChtX2luQmFsYW5jaW5nUGFzcyB8fCAhbV9uZWVkc1JlYmFsYW5jaW5nKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgbV9uZWVkc1JlYmFsYW5jaW5nID0gZmFsc2U7CiAgICAgbV9p
bkJhbGFuY2luZ1Bhc3MgPSB0cnVlOyAvLyBQcmV2ZW50IHJlLWVudGVyaW5nIHRoaXMgbWV0aG9k
IChhbmQgcmVjdXJzaW9uIGludG8gbGF5b3V0KS4KIAogICAgIGJvb2wgbmVlZHNSZWxheW91dDsK
QEAgLTExMyw3ICsxMTUsNyBAQCBib29sIFJlbmRlck11bHRpQ29sdW1uQmxvY2s6OnJlbGF5b3V0
Rm9yUGFnaW5hdGlvbihib29sLCBMYXlvdXRVbml0LCBMYXlvdXRTdGF0ZQogICAgICAgICBmb3Ig
KFJlbmRlckJveCogY2hpbGRCb3ggPSBmaXJzdENoaWxkQm94KCk7IGNoaWxkQm94OyBjaGlsZEJv
eCA9IGNoaWxkQm94LT5uZXh0U2libGluZ0JveCgpKQogICAgICAgICAgICAgaWYgKGNoaWxkQm94
ICE9IG1fZmxvd1RocmVhZCAmJiBjaGlsZEJveC0+aXNSZW5kZXJNdWx0aUNvbHVtblNldCgpKSB7
CiAgICAgICAgICAgICAgICAgUmVuZGVyTXVsdGlDb2x1bW5TZXQqIG11bHRpY29sU2V0ID0gdG9S
ZW5kZXJNdWx0aUNvbHVtblNldChjaGlsZEJveCk7Ci0gICAgICAgICAgICAgICAgaWYgKG11bHRp
Y29sU2V0LT5jYWxjdWxhdGVCYWxhbmNlZEhlaWdodChmaXJzdFBhc3MpKSB7CisgICAgICAgICAg
ICAgICAgaWYgKG11bHRpY29sU2V0LT5yZWNhbGN1bGF0ZUJhbGFuY2VkSGVpZ2h0KGZpcnN0UGFz
cykpIHsKICAgICAgICAgICAgICAgICAgICAgbXVsdGljb2xTZXQtPnNldENoaWxkTmVlZHNMYXlv
dXQoTWFya09ubHlUaGlzKTsKICAgICAgICAgICAgICAgICAgICAgbmVlZHNSZWxheW91dCA9IHRy
dWU7CiAgICAgICAgICAgICAgICAgfQpAQCAtMTcwLDYgKzE3MiwxOCBAQCBSZW5kZXJPYmplY3Qq
IFJlbmRlck11bHRpQ29sdW1uQmxvY2s6OmxheW91dFNwZWNpYWxFeGNsdWRlZENoaWxkKGJvb2wg
cmVsYXlvdXRDaAogICAgIGlmIChyZWxheW91dENoaWxkcmVuKQogICAgICAgICBtX2Zsb3dUaHJl
YWQtPnNldENoaWxkTmVlZHNMYXlvdXQoTWFya09ubHlUaGlzKTsKICAgICAKKyAgICBpZiAocmVx
dWlyZXNCYWxhbmNpbmcoKSkgeworICAgICAgICAvLyBBdCB0aGUgZW5kIG9mIG11bHRpY29sIGxh
eW91dCwgcmVsYXlvdXRGb3JQYWdpbmF0aW9uKCkgaXMgY2FsbGVkIHVuY29uZGl0aW9uYWxseSwg
YnV0IGlmCisgICAgICAgIC8vIG5vIGNoaWxkcmVuIGFyZSB0byBiZSBsYWlkIG91dCAoZS5nLiBm
aXhlZCB3aWR0aCB3aXRoIGxheW91dCBhbHJlYWR5IGJlaW5nIHVwLXRvLWRhdGUpLAorICAgICAg
ICAvLyB3ZSB3YW50IHRvIHByZXZlbnQgaXQgZnJvbSBkb2luZyBhbnkgd29yaywgc28gdGhhdCB0
aGUgY29sdW1uIGJhbGFuY2luZyBtYWNoaW5lcnkgZG9lc24ndAorICAgICAgICAvLyBraWNrIGlu
IGFuZCB0cmlnZ2VyIGFkZGl0aW9uYWwgdW5uZWNlc3NhcnkgbGF5b3V0IHBhc3Nlcy4gQWN0dWFs
bHksIGl0J3Mgbm90IGp1c3QgYSBnb29kCisgICAgICAgIC8vIGlkZWEgaW4gZ2VuZXJhbCB0byBu
b3Qgd2FzdGUgdGltZSBvbiBiYWxhbmNpbmcgY29udGVudCB0aGF0IGhhc24ndCBiZWVuIHJlLWxh
aWQgb3V0OyB3ZQorICAgICAgICAvLyBhcmUgYWN0dWFsbHkgcmVxdWlyZWQgdG8gZ3VhcmFudGVl
IHRoaXMuIFRoZSBjYWxjdWxhdGlvbiBvZiBpbXBsaWNpdCBicmVha3MgbmVlZHMgdG8gYmUKKyAg
ICAgICAgLy8gcHJlY2VkZWQgYnkgYSBwcm9wZXIgbGF5b3V0IHBhc3MsIHNpbmNlIGl0J3MgbGF5
b3V0IHRoYXQgc2V0cyB1cCBjb250ZW50IHJ1bnMsIGFuZCB0aGUKKyAgICAgICAgLy8gcnVucyBn
ZXQgZGVsZXRlZCByaWdodCBhZnRlciBldmVyeSBwYXNzLgorICAgICAgICBtX25lZWRzUmViYWxh
bmNpbmcgPSBzaG91bGRJbnZhbGlkYXRlUmVnaW9ucyB8fCBtX2Zsb3dUaHJlYWQtPm5lZWRzTGF5
b3V0KCk7CisgICAgfQorCiAgICAgc2V0TG9naWNhbFRvcEZvckNoaWxkKCptX2Zsb3dUaHJlYWQs
IGJvcmRlckFuZFBhZGRpbmdCZWZvcmUoKSk7CiAgICAgbV9mbG93VGhyZWFkLT5sYXlvdXRJZk5l
ZWRlZCgpOwogICAgIGRldGVybWluZUxvZ2ljYWxMZWZ0UG9zaXRpb25Gb3JDaGlsZCgqbV9mbG93
VGhyZWFkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0
aUNvbHVtbkJsb2NrLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1
bW5CbG9jay5oCmluZGV4IGNiYzUyNDZiNjQxZmJkYWZmY2QwOTZlNzkzYjA0MzEyYzk0ZDkxN2Qu
LjU3ZTcyMjVkY2QxYWVhYTc3MzJmNzIxOTA4OWNjOGJlZWI4N2M0NjIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkJsb2NrLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uQmxvY2suaApAQCAtNzEsNiAr
NzEsNyBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhlc2Ug
dmFsdWVzIHdpbGwgYmUgY2FjaGVkIChldmVudHVhbGx5KSBmb3IgbXVsdGktY29sdW1uIGJsb2Nr
cy4KICAgICBMYXlvdXRVbml0IG1fY29sdW1uSGVpZ2h0QXZhaWxhYmxlOyAvLyBUb3RhbCBoZWln
aHQgYXZhaWxhYmxlIHRvIGNvbHVtbnMsIG9yIDAgaWYgYXV0by4KICAgICBib29sIG1faW5CYWxh
bmNpbmdQYXNzOyAvLyBTZXQgd2hlbiByZWxheW91dGluZyBmb3IgY29sdW1uIGJhbGFuY2luZy4K
KyAgICBib29sIG1fbmVlZHNSZWJhbGFuY2luZzsKIH07CiAKIFJFTkRFUl9PQkpFQ1RfVFlQRV9D
QVNUUyhSZW5kZXJNdWx0aUNvbHVtbkJsb2NrLCBpc1JlbmRlck11bHRpQ29sdW1uQmxvY2soKSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZs
b3dUaHJlYWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1u
Rmxvd1RocmVhZC5jcHAKaW5kZXggZDM3ZWEzZjIwMjkwYmEwODVlMjNlMTllMTZhNjg5MzFmNjMx
ODQ2Ny4uYTc3NjZjNThhYzQ0YmRkNjg1MDUzODQ2MTQwZWY1OGFjZWVlYjVhMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvd1RocmVhZC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvd1Ro
cmVhZC5jcHAKQEAgLTExMCw0ICsxMTAsMTUgQEAgdm9pZCBSZW5kZXJNdWx0aUNvbHVtbkZsb3dU
aHJlYWQ6OnVwZGF0ZU1pbmltdW1QYWdlSGVpZ2h0KGNvbnN0IFJlbmRlckJsb2NrKiBibG8KICAg
ICAgICAgbXVsdGljb2xTZXQtPnVwZGF0ZU1pbmltdW1Db2x1bW5IZWlnaHQobWluSGVpZ2h0KTsK
IH0KIAorYm9vbCBSZW5kZXJNdWx0aUNvbHVtbkZsb3dUaHJlYWQ6OmFkZEZvcmNlZFJlZ2lvbkJy
ZWFrKGNvbnN0IFJlbmRlckJsb2NrKiBibG9jaywgTGF5b3V0VW5pdCBvZmZzZXQsIFJlbmRlckJv
eCogLypicmVha0NoaWxkKi8sIGJvb2wgLyppc0JlZm9yZSovLCBMYXlvdXRVbml0KiBvZmZzZXRC
cmVha0FkanVzdG1lbnQpCit7CisgICAgaWYgKFJlbmRlck11bHRpQ29sdW1uU2V0KiBtdWx0aWNv
bFNldCA9IHRvUmVuZGVyTXVsdGlDb2x1bW5TZXQocmVnaW9uQXRCbG9ja09mZnNldChibG9jaywg
b2Zmc2V0KSkpIHsKKyAgICAgICAgbXVsdGljb2xTZXQtPmFkZEZvcmNlZEJyZWFrKG9mZnNldCk7
CisgICAgICAgIGlmIChvZmZzZXRCcmVha0FkanVzdG1lbnQpCisgICAgICAgICAgICAqb2Zmc2V0
QnJlYWtBZGp1c3RtZW50ID0gcGFnZUxvZ2ljYWxIZWlnaHRGb3JPZmZzZXQob2Zmc2V0KSA/IHBh
Z2VSZW1haW5pbmdMb2dpY2FsSGVpZ2h0Rm9yT2Zmc2V0KG9mZnNldCwgSW5jbHVkZVBhZ2VCb3Vu
ZGFyeSkgOiBMYXlvdXRVbml0KDApOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAg
cmV0dXJuIGZhbHNlOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93VGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93VGhyZWFkLmgKaW5kZXggNmMxMGY3MGI5OWVjM2E2ZTZk
ZjI5MmM5NWJkMTBlOTU3NTI3YTgzNy4uZDY5YTI4YmY5NzZhYjE1YzIxNWJmOTY2ZTM2NTQ5ODQ0
MTcwYWJlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRp
Q29sdW1uRmxvd1RocmVhZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJN
dWx0aUNvbHVtbkZsb3dUaHJlYWQuaApAQCAtNDMsNiArNDMsNyBAQCBwcml2YXRlOgogICAgIHZp
cnR1YWwgTGF5b3V0VW5pdCBpbml0aWFsTG9naWNhbFdpZHRoKCkgY29uc3Qgb3ZlcnJpZGU7CiAg
ICAgdmlydHVhbCB2b2lkIHNldFBhZ2VCcmVhayhjb25zdCBSZW5kZXJCbG9jayosIExheW91dFVu
aXQgb2Zmc2V0LCBMYXlvdXRVbml0IHNwYWNlU2hvcnRhZ2UpIG92ZXJyaWRlOwogICAgIHZpcnR1
YWwgdm9pZCB1cGRhdGVNaW5pbXVtUGFnZUhlaWdodChjb25zdCBSZW5kZXJCbG9jayosIExheW91
dFVuaXQgb2Zmc2V0LCBMYXlvdXRVbml0IG1pbkhlaWdodCkgb3ZlcnJpZGU7CisgICAgdmlydHVh
bCBib29sIGFkZEZvcmNlZFJlZ2lvbkJyZWFrKGNvbnN0IFJlbmRlckJsb2NrKiwgTGF5b3V0VW5p
dCwgUmVuZGVyQm94KiBicmVha0NoaWxkLCBib29sIGlzQmVmb3JlLCBMYXlvdXRVbml0KiBvZmZz
ZXRCcmVha0FkanVzdG1lbnQgPSAwKSBvdmVycmlkZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNv
bHVtblNldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5T
ZXQuY3BwCmluZGV4IDQyODZkYTkwMTRmM2M5ZjZkZTQ2M2VhNjA0M2ZiZmZlY2JkMWZiOWYuLjhi
OWI1NjkxYWNmOTQzYjI5ZDk2M2E5ODcwOGJjNjMxZDAyYTUyMDQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uU2V0LmNwcApAQCAtNDEsOSArNDEs
NiBAQCBSZW5kZXJNdWx0aUNvbHVtblNldDo6UmVuZGVyTXVsdGlDb2x1bW5TZXQoUmVuZGVyRmxv
d1RocmVhZCYgZmxvd1RocmVhZCwgUGFzc1JlZgogICAgICwgbV9tYXhDb2x1bW5IZWlnaHQoTGF5
b3V0VW5pdDo6bWF4KCkpCiAgICAgLCBtX21pblNwYWNlU2hvcnRhZ2UoTGF5b3V0VW5pdDo6bWF4
KCkpCiAgICAgLCBtX21pbmltdW1Db2x1bW5IZWlnaHQoMCkKLSAgICAsIG1fZm9yY2VkQnJlYWtz
Q291bnQoMCkKLSAgICAsIG1fbWF4aW11bURpc3RhbmNlQmV0d2VlbkZvcmNlZEJyZWFrcygwKQot
ICAgICwgbV9mb3JjZWRCcmVha09mZnNldCgwKQogewogfQogCkBAIC03MSw0NSArNjgsMTIyIEBA
IHZvaWQgUmVuZGVyTXVsdGlDb2x1bW5TZXQ6OnNldEFuZENvbnN0cmFpbkNvbHVtbkhlaWdodChM
YXlvdXRVbml0IG5ld0hlaWdodCkKICAgICAvLyBGSVhNRTogdGhlIGhlaWdodCBtYXkgYWxzbyBi
ZSBhZmZlY3RlZCBieSB0aGUgZW5jbG9zaW5nIHBhZ2luYXRpb24gY29udGV4dCwgaWYgYW55Lgog
fQogCi1ib29sIFJlbmRlck11bHRpQ29sdW1uU2V0OjpjYWxjdWxhdGVCYWxhbmNlZEhlaWdodChi
b29sIGluaXRpYWwpCit1bnNpZ25lZCBSZW5kZXJNdWx0aUNvbHVtblNldDo6ZmluZFJ1bldpdGhU
YWxsZXN0Q29sdW1ucygpIGNvbnN0CiB7Ci0gICAgQVNTRVJUKHRvUmVuZGVyTXVsdGlDb2x1bW5C
bG9jayhwYXJlbnQoKSktPnJlcXVpcmVzQmFsYW5jaW5nKCkpOwotICAgIExheW91dFVuaXQgb2xk
Q29sdW1uSGVpZ2h0ID0gbV9jb21wdXRlZENvbHVtbkhlaWdodDsKLSAgICBMYXlvdXRVbml0IGN1
cnJlbnRNaW5TcGFjZVNob3J0YWdlID0gbV9taW5TcGFjZVNob3J0YWdlOwotICAgIG1fbWluU3Bh
Y2VTaG9ydGFnZSA9IExheW91dFVuaXQ6Om1heCgpOworICAgIHVuc2lnbmVkIGluZGV4V2l0aExh
cmdlc3RIZWlnaHQgPSAwOworICAgIExheW91dFVuaXQgbGFyZ2VzdEhlaWdodDsKKyAgICBMYXlv
dXRVbml0IHByZXZpb3VzT2Zmc2V0OworICAgIHNpemVfdCBydW5Db3VudCA9IG1fY29udGVudFJ1
bnMuc2l6ZSgpOworICAgIEFTU0VSVChydW5Db3VudCk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7
IGkgPCBydW5Db3VudDsgaSsrKSB7CisgICAgICAgIGNvbnN0IENvbnRlbnRSdW4mIHJ1biA9IG1f
Y29udGVudFJ1bnNbaV07CisgICAgICAgIExheW91dFVuaXQgaGVpZ2h0ID0gcnVuLmNvbHVtbkxv
Z2ljYWxIZWlnaHQocHJldmlvdXNPZmZzZXQpOworICAgICAgICBpZiAobGFyZ2VzdEhlaWdodCA8
IGhlaWdodCkgeworICAgICAgICAgICAgbGFyZ2VzdEhlaWdodCA9IGhlaWdodDsKKyAgICAgICAg
ICAgIGluZGV4V2l0aExhcmdlc3RIZWlnaHQgPSBpOworICAgICAgICB9CisgICAgICAgIHByZXZp
b3VzT2Zmc2V0ID0gcnVuLmJyZWFrT2Zmc2V0KCk7CisgICAgfQorICAgIHJldHVybiBpbmRleFdp
dGhMYXJnZXN0SGVpZ2h0OworfQorCit2b2lkIFJlbmRlck11bHRpQ29sdW1uU2V0OjpkaXN0cmli
dXRlSW1wbGljaXRCcmVha3MoKQoreworICAgIHVuc2lnbmVkIGJyZWFrQ291bnQgPSBmb3JjZWRC
cmVha3NDb3VudCgpOworCisjaWZuZGVmIE5ERUJVRworICAgIC8vIFRoZXJlIHNob3VsZCBiZSBu
byBpbXBsaWNpdCBicmVha3MgYXNzdW1lZCBhdCB0aGlzIHBvaW50LgorICAgIGZvciAodW5zaWdu
ZWQgaSA9IDA7IGkgPCBicmVha0NvdW50OyBpKyspCisgICAgICAgIEFTU0VSVCghbV9jb250ZW50
UnVuc1tpXS5hc3N1bWVkSW1wbGljaXRCcmVha3MoKSk7CisjZW5kaWYgLy8gTkRFQlVHCisKKyAg
ICAvLyBUaGVyZSB3aWxsIGFsd2F5cyBiZSBhdCBsZWFzdCBvbmUgYnJlYWssIHNpbmNlIHRoZSBm
bG93IHRocmVhZCByZXBvcnRzIGEgImZvcmNlZCBicmVhayIgYXQKKyAgICAvLyBlbmQgb2YgY29u
dGVudC4KKyAgICBBU1NFUlQoYnJlYWtDb3VudCA+PSAxKTsKKworICAgIC8vIElmIHRoZXJlIGlz
IHJvb20gZm9yIG1vcmUgYnJlYWtzICh0byByZWFjaCB0aGUgdXNlZCB2YWx1ZSBvZiBjb2x1bW4t
Y291bnQpLCBpbWFnaW5lIHRoYXQgd2UKKyAgICAvLyBpbnNlcnQgaW1wbGljaXQgYnJlYWtzIGF0
IHN1aXRhYmxlIGxvY2F0aW9ucy4gQXQgYW55IGdpdmVuIHRpbWUsIHRoZSBjb250ZW50IHJ1biB3
aXRoIHRoZQorICAgIC8vIGN1cnJlbnRseSB0YWxsZXN0IGNvbHVtbnMgd2lsbCBnZXQgYW5vdGhl
ciBpbXBsaWNpdCBicmVhayAiaW5zZXJ0ZWQiLCB3aGljaCB3aWxsIGluY3JlYXNlIGl0cworICAg
IC8vIGNvbHVtbiBjb3VudCBieSBvbmUgYW5kIHNocmluayBpdHMgY29sdW1ucycgaGVpZ2h0LiBS
ZXBlYXQgdW50aWwgd2UgaGF2ZSB0aGUgZGVzaXJlZCB0b3RhbAorICAgIC8vIG51bWJlciBvZiBi
cmVha3MuIFRoZSBsYXJnZXN0IGNvbHVtbiBoZWlnaHQgYW1vbmcgdGhlIHJ1bnMgd2lsbCB0aGVu
IGJlIHRoZSBpbml0aWFsIGNvbHVtbgorICAgIC8vIGhlaWdodCBmb3IgdGhlIGJhbGFuY2VyIHRv
IHVzZS4KKyAgICB3aGlsZSAoYnJlYWtDb3VudCA8IG1fY29tcHV0ZWRDb2x1bW5Db3VudCkgewor
ICAgICAgICB1bnNpZ25lZCBpbmRleCA9IGZpbmRSdW5XaXRoVGFsbGVzdENvbHVtbnMoKTsKKyAg
ICAgICAgbV9jb250ZW50UnVuc1tpbmRleF0uYXNzdW1lQW5vdGhlckltcGxpY2l0QnJlYWsoKTsK
KyAgICAgICAgYnJlYWtDb3VudCsrOworICAgIH0KK30KIAorTGF5b3V0VW5pdCBSZW5kZXJNdWx0
aUNvbHVtblNldDo6Y2FsY3VsYXRlQmFsYW5jZWRIZWlnaHQoYm9vbCBpbml0aWFsKSBjb25zdAor
ewogICAgIGlmIChpbml0aWFsKSB7CiAgICAgICAgIC8vIFN0YXJ0IHdpdGggdGhlIGxvd2VzdCBp
bWFnaW5hYmxlIGNvbHVtbiBoZWlnaHQuCi0gICAgICAgIExheW91dFVuaXQgbG9naWNhbEhlaWdo
dEd1ZXNzID0gY2VpbGYoZmxvYXQoZmxvd1RocmVhZCgpLT5sb2dpY2FsSGVpZ2h0KCkpIC8gZmxv
YXQobV9jb21wdXRlZENvbHVtbkNvdW50KSk7Ci0gICAgICAgIGxvZ2ljYWxIZWlnaHRHdWVzcyA9
IHN0ZDo6bWF4KGxvZ2ljYWxIZWlnaHRHdWVzcywgbV9taW5pbXVtQ29sdW1uSGVpZ2h0KTsKLSAg
ICAgICAgc2V0QW5kQ29uc3RyYWluQ29sdW1uSGVpZ2h0KGxvZ2ljYWxIZWlnaHRHdWVzcyk7Ci0K
LSAgICAgICAgLy8gVGhlIG11bHRpY29sIGNvbnRhaW5lciBub3cgdHlwaWNhbGx5IG5lZWRzIGF0
IGxlYXN0IG9uZSBtb3JlIGxheW91dCBwYXNzIHdpdGggYSBuZXcKLSAgICAgICAgLy8gY29sdW1u
IGhlaWdodCwgYnV0IGlmIGhlaWdodCB3YXMgc3BlY2lmaWVkLCB3ZSBvbmx5IG5lZWQgdG8gZG8g
dGhpcyBpZiB3ZSBmb3VuZCB0aGF0IHdlCi0gICAgICAgIC8vIG1pZ2h0IG5lZWQgbGVzcyBzcGFj
ZSB0aGFuIHRoYXQuIE9uIHRoZSBvdGhlciBoYW5kLCBpZiB3ZSBkZXRlcm1pbmVkIHRoYXQgdGhl
IGNvbHVtbnMKLSAgICAgICAgLy8gbmVlZCB0byBiZSBhcyB0YWxsIGFzIHRoZSBzcGVjaWZpZWQg
aGVpZ2h0IG9mIHRoZSBjb250YWluZXIsIHdlIGhhdmUgYWxyZWFkeSBsYWlkIGl0IG91dAotICAg
ICAgICAvLyBjb3JyZWN0bHksIGFuZCB0aGVyZSdzIG5vIG5lZWQgZm9yIGFub3RoZXIgcGFzcy4K
LSAgICAgICAgcmV0dXJuIG1fY29tcHV0ZWRDb2x1bW5IZWlnaHQgIT0gb2xkQ29sdW1uSGVpZ2h0
OworICAgICAgICB1bnNpZ25lZCBpbmRleCA9IGZpbmRSdW5XaXRoVGFsbGVzdENvbHVtbnMoKTsK
KyAgICAgICAgTGF5b3V0VW5pdCBzdGFydE9mZnNldCA9IGluZGV4ID4gMCA/IG1fY29udGVudFJ1
bnNbaW5kZXggLSAxXS5icmVha09mZnNldCgpIDogTGF5b3V0VW5pdCgwKTsKKyAgICAgICAgcmV0
dXJuIHN0ZDo6bWF4PExheW91dFVuaXQ+KG1fY29udGVudFJ1bnNbaW5kZXhdLmNvbHVtbkxvZ2lj
YWxIZWlnaHQoc3RhcnRPZmZzZXQpLCBtX21pbmltdW1Db2x1bW5IZWlnaHQpOwogICAgIH0KIAot
ICAgIGlmIChjb2x1bW5Db3VudCgpIDw9IGNvbXB1dGVkQ29sdW1uQ291bnQoKSkKKyAgICBpZiAo
Y29sdW1uQ291bnQoKSA8PSBjb21wdXRlZENvbHVtbkNvdW50KCkpIHsKICAgICAgICAgLy8gV2l0
aCB0aGUgY3VycmVudCBjb2x1bW4gaGVpZ2h0LCB0aGUgY29udGVudCBmaXRzIHdpdGhvdXQgY3Jl
YXRpbmcgb3ZlcmZsb3dpbmcgY29sdW1ucy4gV2UncmUgZG9uZS4KLSAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgICAgICByZXR1cm4gbV9jb21wdXRlZENvbHVtbkhlaWdodDsKKyAgICB9CisKKyAg
ICBpZiAoZm9yY2VkQnJlYWtzQ291bnQoKSA+IDEgJiYgZm9yY2VkQnJlYWtzQ291bnQoKSA+PSBj
b21wdXRlZENvbHVtbkNvdW50KCkpIHsKKyAgICAgICAgLy8gVG9vIG1hbnkgZm9yY2VkIGJyZWFr
cyB0byBhbGxvdyBhbnkgaW1wbGljaXQgYnJlYWtzLiBJbml0aWFsIGJhbGFuY2luZyBzaG91bGQg
YWxyZWFkeQorICAgICAgICAvLyBoYXZlIHNldCBhIGdvb2QgaGVpZ2h0LiBUaGVyZSdzIG5vdGhp
bmcgbW9yZSB3ZSBzaG91bGQgZG8uCisgICAgICAgIHJldHVybiBtX2NvbXB1dGVkQ29sdW1uSGVp
Z2h0OworICAgIH0KIAogICAgIC8vIElmIHRoZSBpbml0aWFsIGd1ZXNzZWQgY29sdW1uIGhlaWdo
dCB3YXNuJ3QgZW5vdWdoLCBzdHJldGNoIGl0IG5vdy4gU3RyZXRjaCBieSB0aGUgbG93ZXN0CiAg
ICAgLy8gYW1vdW50IG9mIHNwYWNlIHNob3J0YWdlIGZvdW5kIGR1cmluZyBsYXlvdXQuCiAKLSAg
ICBBU1NFUlQoY3VycmVudE1pblNwYWNlU2hvcnRhZ2UgIT0gTGF5b3V0VW5pdDo6bWF4KCkpOyAv
LyBJZiB0aGlzIGNhbiBhY3R1YWxseSBoYXBwZW4sIHdlIHByb2JhYmx5IGhhdmUgYSBidWcuCi0g
ICAgaWYgKGN1cnJlbnRNaW5TcGFjZVNob3J0YWdlID09IExheW91dFVuaXQ6Om1heCgpKQotICAg
ICAgICByZXR1cm4gZmFsc2U7IC8vIFNvIGJhaWwgb3V0IHJhdGhlciB0aGFuIGxvb3BpbmcgaW5m
aW5pdGVseS4KKyAgICBBU1NFUlQobV9taW5TcGFjZVNob3J0YWdlID4gMCk7IC8vIFdlIHNob3Vs
ZCBuZXZlciBfc2hyaW5rXyB0aGUgaGVpZ2h0IQorICAgIEFTU0VSVChtX21pblNwYWNlU2hvcnRh
Z2UgIT0gTGF5b3V0VW5pdDo6bWF4KCkpOyAvLyBJZiB0aGlzIGhhcHBlbnMsIHdlIHByb2JhYmx5
IGhhdmUgYSBidWcuCisgICAgaWYgKG1fbWluU3BhY2VTaG9ydGFnZSA9PSBMYXlvdXRVbml0Ojpt
YXgoKSkKKyAgICAgICAgcmV0dXJuIG1fY29tcHV0ZWRDb2x1bW5IZWlnaHQ7IC8vIFNvIGJhaWwg
b3V0IHJhdGhlciB0aGFuIGxvb3BpbmcgaW5maW5pdGVseS4KKworICAgIHJldHVybiBtX2NvbXB1
dGVkQ29sdW1uSGVpZ2h0ICsgbV9taW5TcGFjZVNob3J0YWdlOworfQorCit2b2lkIFJlbmRlck11
bHRpQ29sdW1uU2V0OjpjbGVhckZvcmNlZEJyZWFrcygpCit7CisgICAgbV9jb250ZW50UnVucy5j
bGVhcigpOworfQorCit2b2lkIFJlbmRlck11bHRpQ29sdW1uU2V0OjphZGRGb3JjZWRCcmVhayhM
YXlvdXRVbml0IG9mZnNldEZyb21GaXJzdFBhZ2UpCit7CisgICAgaWYgKCF0b1JlbmRlck11bHRp
Q29sdW1uQmxvY2socGFyZW50KCkpLT5yZXF1aXJlc0JhbGFuY2luZygpKQorICAgICAgICByZXR1
cm47CisgICAgaWYgKCFtX2NvbnRlbnRSdW5zLmlzRW1wdHkoKSAmJiBvZmZzZXRGcm9tRmlyc3RQ
YWdlIDw9IG1fY29udGVudFJ1bnMubGFzdCgpLmJyZWFrT2Zmc2V0KCkpCisgICAgICAgIHJldHVy
bjsKKyAgICAvLyBBcHBlbmQgYW5vdGhlciBpdGVtIGFzIGxvbmcgYXMgd2UgaGF2ZW4ndCBleGNl
ZWRlZCB1c2VkIGNvbHVtbiBjb3VudC4gV2hhdCBlbmRzIHVwIGluIHRoZQorICAgIC8vIG92ZXJm
bG93IGFyZWEgc2hvdWxkbid0IGFmZmVjdCBjb2x1bW4gYmFsYW5jaW5nLgorICAgIGlmIChtX2Nv
bnRlbnRSdW5zLnNpemUoKSA8IG1fY29tcHV0ZWRDb2x1bW5Db3VudCkKKyAgICAgICAgbV9jb250
ZW50UnVucy5hcHBlbmQoQ29udGVudFJ1bihvZmZzZXRGcm9tRmlyc3RQYWdlKSk7Cit9CisKK2Jv
b2wgUmVuZGVyTXVsdGlDb2x1bW5TZXQ6OnJlY2FsY3VsYXRlQmFsYW5jZWRIZWlnaHQoYm9vbCBp
bml0aWFsKQoreworICAgIEFTU0VSVCh0b1JlbmRlck11bHRpQ29sdW1uQmxvY2socGFyZW50KCkp
LT5yZXF1aXJlc0JhbGFuY2luZygpKTsKKworICAgIExheW91dFVuaXQgb2xkQ29sdW1uSGVpZ2h0
ID0gbV9jb21wdXRlZENvbHVtbkhlaWdodDsKKyAgICBpZiAoaW5pdGlhbCkKKyAgICAgICAgZGlz
dHJpYnV0ZUltcGxpY2l0QnJlYWtzKCk7CisgICAgTGF5b3V0VW5pdCBuZXdDb2x1bW5IZWlnaHQg
PSBjYWxjdWxhdGVCYWxhbmNlZEhlaWdodChpbml0aWFsKTsKKyAgICBzZXRBbmRDb25zdHJhaW5D
b2x1bW5IZWlnaHQobmV3Q29sdW1uSGVpZ2h0KTsKKworICAgIC8vIEFmdGVyIGhhdmluZyBjYWxj
dWxhdGVkIGFuIGluaXRpYWwgY29sdW1uIGhlaWdodCwgdGhlIG11bHRpY29sIGNvbnRhaW5lciB0
eXBpY2FsbHkgbmVlZHMgYXQKKyAgICAvLyBsZWFzdCBvbmUgbW9yZSBsYXlvdXQgcGFzcyB3aXRo
IGEgbmV3IGNvbHVtbiBoZWlnaHQsIGJ1dCBpZiBhIGhlaWdodCB3YXMgc3BlY2lmaWVkLCB3ZSBv
bmx5CisgICAgLy8gbmVlZCB0byBkbyB0aGlzIGlmIHdlIHRoaW5rIHRoYXQgd2UgbmVlZCBsZXNz
IHNwYWNlIHRoYW4gc3BlY2lmaWVkLiBDb252ZXJzZWx5LCBpZiB3ZQorICAgIC8vIGRldGVybWlu
ZWQgdGhhdCB0aGUgY29sdW1ucyBuZWVkIHRvIGJlIGFzIHRhbGwgYXMgdGhlIHNwZWNpZmllZCBo
ZWlnaHQgb2YgdGhlIGNvbnRhaW5lciwgd2UKKyAgICAvLyBoYXZlIGFscmVhZHkgbGFpZCBpdCBv
dXQgY29ycmVjdGx5LCBhbmQgdGhlcmUncyBubyBuZWVkIGZvciBhbm90aGVyIHBhc3MuCiAKLSAg
ICBzZXRBbmRDb25zdHJhaW5Db2x1bW5IZWlnaHQobV9jb21wdXRlZENvbHVtbkhlaWdodCArIGN1
cnJlbnRNaW5TcGFjZVNob3J0YWdlKTsKKyAgICBpZiAobV9jb21wdXRlZENvbHVtbkhlaWdodCA9
PSBvbGRDb2x1bW5IZWlnaHQpCisgICAgICAgIHJldHVybiBmYWxzZTsgLy8gTm8gY2hhbmdlLiBX
ZSdyZSBkb25lLgogCi0gICAgLy8gSWYgd2UgcmVhY2ggdGhlIG1heGltdW0gY29sdW1uIGhlaWdo
dCAodHlwaWNhbGx5IHNldCBieSB0aGUgaGVpZ2h0IG9yIG1heC1oZWlnaHQgcHJvcGVydHkpLAot
ICAgIC8vIHdlIG1heSBub3QgYmUgYWxsb3dlZCB0byBzdHJldGNoIGZ1cnRoZXIuIFJldHVybiB0
cnVlIG9ubHkgaWYgc3RyZXRjaGluZwotICAgIC8vIHN1Y2NlZWRlZC4gT3RoZXJ3aXNlLCB3ZSdy
ZSBkb25lLgotICAgIEFTU0VSVChtX2NvbXB1dGVkQ29sdW1uSGVpZ2h0ID49IG9sZENvbHVtbkhl
aWdodCk7IC8vIFdlIHNob3VsZG4ndCBiZSBhYmxlIHRvIHNocmluayB0aGUgaGVpZ2h0IQotICAg
IHJldHVybiBtX2NvbXB1dGVkQ29sdW1uSGVpZ2h0ID4gb2xkQ29sdW1uSGVpZ2h0OworICAgIG1f
bWluU3BhY2VTaG9ydGFnZSA9IExheW91dFVuaXQ6Om1heCgpOworICAgIGNsZWFyRm9yY2VkQnJl
YWtzKCk7CisgICAgcmV0dXJuIHRydWU7IC8vIE5lZWQgYW5vdGhlciBwYXNzLgogfQogCiB2b2lk
IFJlbmRlck11bHRpQ29sdW1uU2V0OjpyZWNvcmRTcGFjZVNob3J0YWdlKExheW91dFVuaXQgc3Bh
Y2VTaG9ydGFnZSkKQEAgLTE3Myw2ICsyNDcsOCBAQCB2b2lkIFJlbmRlck11bHRpQ29sdW1uU2V0
OjpwcmVwYXJlRm9yTGF5b3V0KCkKICAgICB9IGVsc2UKICAgICAgICAgc2V0QW5kQ29uc3RyYWlu
Q29sdW1uSGVpZ2h0KGhlaWdodEFkanVzdGVkRm9yU2V0T2Zmc2V0KG11bHRpY29sQmxvY2stPmNv
bHVtbkhlaWdodEF2YWlsYWJsZSgpKSk7CiAKKyAgICBjbGVhckZvcmNlZEJyZWFrcygpOworCiAg
ICAgLy8gTnVrZSBwcmV2aW91c2x5IHN0b3JlZCBtaW5pbXVtIGNvbHVtbiBoZWlnaHQuIENvbnRl
bnRzIG1heSBoYXZlIGNoYW5nZWQgZm9yIGFsbCB3ZSBrbm93LgogICAgIG1fbWluaW11bUNvbHVt
bkhlaWdodCA9IDA7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTXVsdGlDb2x1bW5TZXQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0
aUNvbHVtblNldC5oCmluZGV4IDAxZDEzNjc5ZTA3YjRiNDhjZThkNzJhZmZmODNmZjJiYjBmZGM1
YTUuLjFjYTcwZDBkOTBkODY0M2RmZjg4MDkzZGZjZWU4NmE5YmZmYTU4ZWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5oCkBAIC0yOCw2ICsy
OCw3IEBACiAjZGVmaW5lIFJlbmRlck11bHRpQ29sdW1uU2V0X2gKIAogI2luY2x1ZGUgIlJlbmRl
clJlZ2lvblNldC5oIgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCkBAIC02MiwzMCArNjMsMTQgQEAgcHVibGljOgogICAgIHZvaWQgdXBkYXRlTWluaW11
bUNvbHVtbkhlaWdodChMYXlvdXRVbml0IGhlaWdodCkgeyBtX21pbmltdW1Db2x1bW5IZWlnaHQg
PSBzdGQ6Om1heChoZWlnaHQsIG1fbWluaW11bUNvbHVtbkhlaWdodCk7IH0KICAgICBMYXlvdXRV
bml0IG1pbmltdW1Db2x1bW5IZWlnaHQoKSBjb25zdCB7IHJldHVybiBtX21pbmltdW1Db2x1bW5I
ZWlnaHQ7IH0KIAotICAgIHVuc2lnbmVkIGZvcmNlZEJyZWFrc0NvdW50KCkgY29uc3QgeyByZXR1
cm4gbV9mb3JjZWRCcmVha3NDb3VudDsgfQotICAgIExheW91dFVuaXQgZm9yY2VkQnJlYWtPZmZz
ZXQoKSBjb25zdCB7IHJldHVybiBtX2ZvcmNlZEJyZWFrT2Zmc2V0OyB9Ci0gICAgTGF5b3V0VW5p
dCBtYXhpbXVtRGlzdGFuY2VCZXR3ZWVuRm9yY2VkQnJlYWtzKCkgY29uc3QgeyByZXR1cm4gbV9t
YXhpbXVtRGlzdGFuY2VCZXR3ZWVuRm9yY2VkQnJlYWtzOyB9Ci0gICAgdm9pZCBjbGVhckZvcmNl
ZEJyZWFrcygpCi0gICAgeyAKLSAgICAgICAgbV9mb3JjZWRCcmVha3NDb3VudCA9IDA7Ci0gICAg
ICAgIG1fbWF4aW11bURpc3RhbmNlQmV0d2VlbkZvcmNlZEJyZWFrcyA9IDA7Ci0gICAgICAgIG1f
Zm9yY2VkQnJlYWtPZmZzZXQgPSAwOwotICAgIH0KLSAgICB2b2lkIGFkZEZvcmNlZEJyZWFrKExh
eW91dFVuaXQgb2Zmc2V0RnJvbUZpcnN0UGFnZSkKLSAgICB7IAotICAgICAgICBBU1NFUlQoIWNv
bXB1dGVkQ29sdW1uSGVpZ2h0KCkpOwotICAgICAgICBMYXlvdXRVbml0IGRpc3RhbmNlRnJvbUxh
c3RCcmVhayA9IG9mZnNldEZyb21GaXJzdFBhZ2UgLSBtX2ZvcmNlZEJyZWFrT2Zmc2V0OwotICAg
ICAgICBpZiAoIWRpc3RhbmNlRnJvbUxhc3RCcmVhaykKLSAgICAgICAgICAgIHJldHVybjsKLSAg
ICAgICAgbV9mb3JjZWRCcmVha3NDb3VudCsrOwotICAgICAgICBtX21heGltdW1EaXN0YW5jZUJl
dHdlZW5Gb3JjZWRCcmVha3MgPSBzdGQ6Om1heChtX21heGltdW1EaXN0YW5jZUJldHdlZW5Gb3Jj
ZWRCcmVha3MsIGRpc3RhbmNlRnJvbUxhc3RCcmVhayk7Ci0gICAgICAgIG1fZm9yY2VkQnJlYWtP
ZmZzZXQgPSBvZmZzZXRGcm9tRmlyc3RQYWdlOwotICAgIH0KKyAgICB1bnNpZ25lZCBmb3JjZWRC
cmVha3NDb3VudCgpIGNvbnN0IHsgcmV0dXJuIG1fY29udGVudFJ1bnMuc2l6ZSgpOyB9CisgICAg
dm9pZCBjbGVhckZvcmNlZEJyZWFrcygpOworICAgIHZvaWQgYWRkRm9yY2VkQnJlYWsoTGF5b3V0
VW5pdCBvZmZzZXRGcm9tRmlyc3RQYWdlKTsKIAotICAgIC8vIENhbGN1bGF0ZSB0aGUgY29sdW1u
IGhlaWdodCB3aGVuIGNvbnRlbnRzIGFyZSBzdXBwb3NlZCB0byBiZSBiYWxhbmNlZC4gSWYgJ2lu
aXRpYWwnIGlzIHNldCwKLSAgICAvLyBndWVzcyBhbiBpbml0aWFsIGNvbHVtbiBoZWlnaHQ7IG90
aGVyd2lzZSwgc3RyZXRjaCB0aGUgY29sdW1uIGhlaWdodCBhIHRhZC4gUmV0dXJuIHRydWUgaWYK
LSAgICAvLyBjb2x1bW4gaGVpZ2h0IGNoYW5nZWQgYW5kIGFub3RoZXIgbGF5b3V0IHBhc3MgaXMg
cmVxdWlyZWQuCi0gICAgYm9vbCBjYWxjdWxhdGVCYWxhbmNlZEhlaWdodChib29sIGluaXRpYWwp
OworICAgIC8vIChSZS0pY2FsY3VsYXRlIHRoZSBjb2x1bW4gaGVpZ2h0IHdoZW4gY29udGVudHMg
YXJlIHN1cHBvc2VkIHRvIGJlIGJhbGFuY2VkLiBJZiAnaW5pdGlhbCcgaXMKKyAgICAvLyBzZXQs
IGd1ZXNzIGFuIGluaXRpYWwgY29sdW1uIGhlaWdodDsgb3RoZXJ3aXNlLCBzdHJldGNoIHRoZSBj
b2x1bW4gaGVpZ2h0IGEgdGFkLiBSZXR1cm4gdHJ1ZQorICAgIC8vIGlmIGNvbHVtbiBoZWlnaHQg
Y2hhbmdlZCBhbmQgYW5vdGhlciBsYXlvdXQgcGFzcyBpcyByZXF1aXJlZC4KKyAgICBib29sIHJl
Y2FsY3VsYXRlQmFsYW5jZWRIZWlnaHQoYm9vbCBpbml0aWFsKTsKIAogICAgIC8vIFJlY29yZCBz
cGFjZSBzaG9ydGFnZSAodGhlIGFtb3VudCBvZiBzcGFjZSB0aGF0IHdvdWxkIGhhdmUgYmVlbiBl
bm91Z2ggdG8gcHJldmVudCBzb21lCiAgICAgLy8gZWxlbWVudCBmcm9tIGJlaW5nIG1vdmVkIHRv
IHRoZSBuZXh0IGNvbHVtbikgYXQgYSBjb2x1bW4gYnJlYWsuIFRoZSBzbWFsbGVzdCBhbW91bnQg
b2Ygc3BhY2UKQEAgLTEzNSwxNyArMTIwLDUyIEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHNldEFu
ZENvbnN0cmFpbkNvbHVtbkhlaWdodChMYXlvdXRVbml0KTsKIAotICAgIHVuc2lnbmVkIG1fY29t
cHV0ZWRDb2x1bW5Db3VudDsKLSAgICBMYXlvdXRVbml0IG1fY29tcHV0ZWRDb2x1bW5XaWR0aDsK
KyAgICAvLyBSZXR1cm4gdGhlIGluZGV4IG9mIHRoZSBjb250ZW50IHJ1biB3aXRoIHRoZSBjdXJy
ZW50bHkgdGFsbGVzdCBjb2x1bW5zLCB0YWtpbmcgYWxsIGltcGxpY2l0CisgICAgLy8gYnJlYWtz
IGFzc3VtZWQgc28gZmFyIGludG8gYWNjb3VudC4KKyAgICB1bnNpZ25lZCBmaW5kUnVuV2l0aFRh
bGxlc3RDb2x1bW5zKCkgY29uc3Q7CisKKyAgICAvLyBHaXZlbiB0aGUgY3VycmVudCBsaXN0IG9m
IGNvbnRlbnQgcnVucywgbWFrZSBhc3N1bXB0aW9ucyBhYm91dCB3aGVyZSB3ZSBuZWVkIHRvIGlu
c2VydAorICAgIC8vIGltcGxpY2l0IGJyZWFrcyAoaWYgdGhlcmUncyByb29tIGZvciBhbnkgYXQg
YWxsOyBkZXBlbmRpbmcgb24gdGhlIG51bWJlciBvZiBleHBsaWNpdCBicmVha3MpLAorICAgIC8v
IGFuZCBzdG9yZSB0aGUgcmVzdWx0cy4gVGhpcyBpcyBuZWVkZWQgaW4gb3JkZXIgdG8gYmFsYW5j
ZSB0aGUgY29sdW1ucy4KKyAgICB2b2lkIGRpc3RyaWJ1dGVJbXBsaWNpdEJyZWFrcygpOworCisg
ICAgTGF5b3V0VW5pdCBjYWxjdWxhdGVCYWxhbmNlZEhlaWdodChib29sIGluaXRpYWwpIGNvbnN0
OworCisgICAgdW5zaWduZWQgbV9jb21wdXRlZENvbHVtbkNvdW50OyAvLyBVc2VkIGNvbHVtbiBj
b3VudCAodGhlIHJlc3VsdGluZyAnTicgZnJvbSB0aGUgcHNldWRvLWFsZ29yaXRobSBpbiB0aGUg
bXVsdGljb2wgc3BlYykKKyAgICBMYXlvdXRVbml0IG1fY29tcHV0ZWRDb2x1bW5XaWR0aDsgLy8g
VXNlZCBjb2x1bW4gd2lkdGggKHRoZSByZXN1bHRpbmcgJ1cnIGZyb20gdGhlIHBzZXVkby1hbGdv
cml0aG0gaW4gdGhlIG11bHRpY29sIHNwZWMpCiAgICAgTGF5b3V0VW5pdCBtX2NvbXB1dGVkQ29s
dW1uSGVpZ2h0OwogICAgIAogICAgIC8vIFRoZSBmb2xsb3dpbmcgdmFyaWFibGVzIGFyZSB1c2Vk
IHdoZW4gYmFsYW5jaW5nIHRoZSBjb2x1bW4gc2V0LgogICAgIExheW91dFVuaXQgbV9tYXhDb2x1
bW5IZWlnaHQ7IC8vIE1heGltdW0gY29sdW1uIGhlaWdodCBhbGxvd2VkLgogICAgIExheW91dFVu
aXQgbV9taW5TcGFjZVNob3J0YWdlOyAvLyBUaGUgc21hbGxlc3QgYW1vdXQgb2Ygc3BhY2Ugc2hv
cnRhZ2UgdGhhdCBjYXVzZWQgYSBjb2x1bW4gYnJlYWsuCiAgICAgTGF5b3V0VW5pdCBtX21pbmlt
dW1Db2x1bW5IZWlnaHQ7Ci0gICAgdW5zaWduZWQgbV9mb3JjZWRCcmVha3NDb3VudDsgLy8gRklY
TUU6IFdlIHdpbGwgdWx0aW1hdGVseSBuZWVkIHRvIGNhY2hlIG1vcmUgaW5mb3JtYXRpb24gdG8g
YmFsYW5jZSBhcm91bmQgZm9yY2VkIGJyZWFrcyBwcm9wZXJseS4KLSAgICBMYXlvdXRVbml0IG1f
bWF4aW11bURpc3RhbmNlQmV0d2VlbkZvcmNlZEJyZWFrczsKLSAgICBMYXlvdXRVbml0IG1fZm9y
Y2VkQnJlYWtPZmZzZXQ7CisKKyAgICAvLyBBIHJ1biBvZiBjb250ZW50IHdpdGhvdXQgZXhwbGlj
aXQgKGZvcmNlZCkgYnJlYWtzOyBpLmUuIGEgZmxvdyB0aHJlYWQgcG9ydGlvbiBiZXR3ZWVuIHR3
bworICAgIC8vIGV4cGxpY2l0IGJyZWFrcywgYmV0d2VlbiBmbG93IHRocmVhZCBzdGFydCBhbmQg
YW4gZXhwbGljaXQgYnJlYWssIGJldHdlZW4gYW4gZXhwbGljaXQgYnJlYWsKKyAgICAvLyBhbmQg
ZmxvdyB0aHJlYWQgZW5kLCBvciwgaW4gY2FzZXMgd2hlbiB0aGVyZSBhcmUgbm8gZXhwbGljaXQg
YnJlYWtzIGF0IGFsbDogYmV0d2VlbiBmbG93IGZsb3cKKyAgICAvLyB0aHJlYWQgc3RhcnQgYW5k
IGZsb3cgdGhyZWFkIGVuZC4gV2UgbmVlZCB0byBrbm93IHdoZXJlIHRoZSBleHBsaWNpdCBicmVh
a3MgYXJlLCBpbiBvcmRlciB0bworICAgIC8vIGZpZ3VyZSBvdXQgd2hlcmUgdGhlIGltcGxpY2l0
IGJyZWFrcyB3aWxsIGVuZCB1cCwgc28gdGhhdCB3ZSBnZXQgdGhlIGNvbHVtbnMgcHJvcGVybHkK
KyAgICAvLyBiYWxhbmNlZC4gQSBjb250ZW50IHJ1biBzdGFydHMgb3V0IGFzIHJlcHJlc2VudGlu
ZyBvbmUgc2luZ2xlIGNvbHVtbiwgYW5kIHdpbGwgcmVwcmVzZW50IG9uZQorICAgIC8vIGFkZGl0
aW9uYWwgY29sdW1uIGZvciBlYWNoIGltcGxpY2l0IGJyZWFrICJpbnNlcnRlZCIgdGhlcmUuCisg
ICAgY2xhc3MgQ29udGVudFJ1biB7CisgICAgcHVibGljOgorICAgICAgICBDb250ZW50UnVuKExh
eW91dFVuaXQgYnJlYWtPZmZzZXQpCisgICAgICAgICAgICA6IG1fYnJlYWtPZmZzZXQoYnJlYWtP
ZmZzZXQpCisgICAgICAgICAgICAsIG1fYXNzdW1lZEltcGxpY2l0QnJlYWtzKDApIHsgfQorCisg
ICAgICAgIHVuc2lnbmVkIGFzc3VtZWRJbXBsaWNpdEJyZWFrcygpIGNvbnN0IHsgcmV0dXJuIG1f
YXNzdW1lZEltcGxpY2l0QnJlYWtzOyB9CisgICAgICAgIHZvaWQgYXNzdW1lQW5vdGhlckltcGxp
Y2l0QnJlYWsoKSB7IG1fYXNzdW1lZEltcGxpY2l0QnJlYWtzKys7IH0KKyAgICAgICAgTGF5b3V0
VW5pdCBicmVha09mZnNldCgpIGNvbnN0IHsgcmV0dXJuIG1fYnJlYWtPZmZzZXQ7IH0KKworICAg
ICAgICAvLyBSZXR1cm4gdGhlIGNvbHVtbiBoZWlnaHQgdGhhdCB0aGlzIGNvbnRlbnQgcnVuIHdv
dWxkIHJlcXVpcmUsIGNvbnNpZGVyaW5nIHRoZSBpbXBsaWNpdAorICAgICAgICAvLyBicmVha3Mg
YXNzdW1lZCBzbyBmYXIuCisgICAgICAgIExheW91dFVuaXQgY29sdW1uTG9naWNhbEhlaWdodChM
YXlvdXRVbml0IHN0YXJ0T2Zmc2V0KSBjb25zdCB7IHJldHVybiBjZWlsZihmbG9hdChtX2JyZWFr
T2Zmc2V0IC0gc3RhcnRPZmZzZXQpIC8gZmxvYXQobV9hc3N1bWVkSW1wbGljaXRCcmVha3MgKyAx
KSk7IH0KKworICAgIHByaXZhdGU6CisgICAgICAgIExheW91dFVuaXQgbV9icmVha09mZnNldDsg
Ly8gRmxvdyB0aHJlYWQgb2Zmc2V0IHdoZXJlIHRoaXMgcnVuIGVuZHMuCisgICAgICAgIHVuc2ln
bmVkIG1fYXNzdW1lZEltcGxpY2l0QnJlYWtzOyAvLyBOdW1iZXIgb2YgaW1wbGljaXQgYnJlYWtz
IGluIHRoaXMgcnVuIGFzc3VtZWQgc28gZmFyLgorICAgIH07CisgICAgVmVjdG9yPENvbnRlbnRS
dW4sIDE+IG1fY29udGVudFJ1bnM7CiB9OwogCiBSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVu
ZGVyTXVsdGlDb2x1bW5TZXQsIGlzUmVuZGVyTXVsdGlDb2x1bW5TZXQoKSkKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAyY2I5
YWEwZWEwZTE3MWY3ZTRkZjc4MjMzYjZjOGM0NGFkMDY0YmU2Li42Yzc1ZTMwOWI1MzIwOTI1MTY3
ZWU4YjQ0YWVjM2Y4OGZiZjU1ZWE4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTQtMDEtMjAg
IE1vcnRlbiBTdGVuc2hvcm5lICA8bXN0ZW5zaG9Ab3BlcmEuY29tPgorCisgICAgICAgIFJlZ2lv
biBiYXNlZCBtdWx0aWNvbDogc3VwcG9ydCBleHBsaWNpdCBjb2x1bW4gYnJlYWtzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjM5OTMKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvbXVsdGljb2wv
bmV3bXVsdGljb2wvYnJlYWstYWZ0ZXItZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9icmVhay1hZnRlci5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L211bHRpY29sL25ld211bHRpY29sL2JyZWFrLWJlZm9yZS1leHBlY3RlZC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L211bHRpY29sL25ld211bHRpY29sL2JyZWFrLWJlZm9y
ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L211bHRpY29sL25ld211bHRpY29sL2JyZWFr
cy0yLWNvbHVtbnMtMy1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L211bHRp
Y29sL25ld211bHRpY29sL2JyZWFrcy0yLWNvbHVtbnMtMy1uby1iYWxhbmNpbmctZXhwZWN0ZWQu
aHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9icmVha3Mt
Mi1jb2x1bW5zLTMtbm8tYmFsYW5jaW5nLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvbXVs
dGljb2wvbmV3bXVsdGljb2wvYnJlYWtzLTItY29sdW1ucy0zLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvYnJlYWtzLTMtY29sdW1ucy0zLWV4cGVjdGVk
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvYnJlYWtz
LTMtY29sdW1ucy0zLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvbXVsdGljb2wvbmV3bXVs
dGljb2wvZml4ZWQtaGVpZ2h0LWZpbGwtYmFsYW5jZS0yLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvZml4ZWQtaGVpZ2h0LWZpbGwtYmFs
YW5jZS0yLmh0bWw6IEFkZGVkLgorCiAyMDE0LTAxLTE5ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBh
cHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBBcHBsZSBXaW5kb3dzIHBvcnQgZ2FyZGVy
aW5nLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9i
cmVhay1hZnRlci1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC9uZXdt
dWx0aWNvbC9icmVhay1hZnRlci1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFmNGZmZjgwZTJj
YzQ5ZTAwY2E1NWRmY2MyZjM5MzM5ZWVlMzA4ZjMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L211bHRpY29sL25ld211bHRpY29sL2JyZWFrLWFmdGVyLWV4cGVjdGVkLmh0bWwK
QEAgLTAsMCArMSwyOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPHRpdGxlPmF1dG8taGVpZ2h0IG11bHRpY29sIHdpdGggYnJlYWs8L3RpdGxlPgorICAg
ICAgICA8c2NyaXB0PgorICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAg
ICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFJlZ2lvbkJhc2VkQ29sdW1uc0VuYWJsZWQo
dHJ1ZSk7CisgICAgICAgIDwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAu
bWMgPiBkaXYgeyBwYWRkaW5nOjAgMC41ZW07IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPGJvZHkgc3R5bGU9Im1pbi13aWR0aDo0MGVtOyI+CisgICAgICAgIDxkaXYgY2xh
c3M9Im1jIiBzdHlsZT0iLXdlYmtpdC1jb2x1bW5zOjM7IC13ZWJraXQtY29sdW1uLWdhcDoxZW07
IGNvbHVtbnM6MzsgY29sdW1uLWdhcDoxZW07IG9ycGhhbnM6MTsgd2lkb3dzOjE7IHdpZHRoOjMy
ZW07IGJhY2tncm91bmQ6b2xpdmU7Ij4KKyAgICAgICAgICAgIDxkaXY+CisgICAgICAgICAgICAg
ICAgZmlyc3QgY29sdW1uPGJyPgorICAgICAgICAgICAgICAgIGZpcnN0IGNvbHVtbjxicj4KKyAg
ICAgICAgICAgICAgICBmaXJzdCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAgZmlyc3QgY29s
dW1uPGJyPgorICAgICAgICAgICAgICAgIHNlY29uZCBjb2x1bW48YnI+CisgICAgICAgICAgICAg
ICAgc2Vjb25kIGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICBzZWNvbmQgY29sdW1uPGJyPgor
ICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZGl2IHN0eWxlPSItd2Via2l0LWNvbHVt
bi1icmVhay1iZWZvcmU6YWx3YXlzOyBicmVhay1iZWZvcmU6Y29sdW1uOyI+CisgICAgICAgICAg
ICAgICAgdGhpcmQgY29sdW1uPGJyPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbXVs
dGljb2wvbmV3bXVsdGljb2wvYnJlYWstYWZ0ZXIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbXVs
dGljb2wvbmV3bXVsdGljb2wvYnJlYWstYWZ0ZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNmRkMzIwYWM4
NjBhYzZiODcwNTAyZWU0NzFjN2U3OGUzYzlhZjIwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9icmVhay1hZnRlci5odG1sCkBAIC0wLDAg
KzEsMjkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDx0
aXRsZT5hdXRvLWhlaWdodCBtdWx0aWNvbCB3aXRoIGJyZWFrPC90aXRsZT4KKyAgICAgICAgPHNj
cmlwdD4KKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRSZWdpb25CYXNlZENvbHVtbnNFbmFibGVkKHRydWUpOwor
ICAgICAgICA8L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgLm1jID4gZGl2
IHsgcGFkZGluZzowIDAuNWVtOyB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxib2R5IHN0eWxlPSJtaW4td2lkdGg6NDBlbTsiPgorICAgICAgICA8ZGl2IGNsYXNzPSJtYyIg
c3R5bGU9Ii13ZWJraXQtY29sdW1uczozOyAtd2Via2l0LWNvbHVtbi1nYXA6MWVtOyBjb2x1bW5z
OjM7IGNvbHVtbi1nYXA6MWVtOyBvcnBoYW5zOjE7IHdpZG93czoxOyB3aWR0aDozMmVtOyBiYWNr
Z3JvdW5kOm9saXZlOyI+CisgICAgICAgICAgICA8ZGl2IHN0eWxlPSItd2Via2l0LWNvbHVtbi1i
cmVhay1hZnRlcjphbHdheXM7IGJyZWFrLWFmdGVyOmNvbHVtbjsiPgorICAgICAgICAgICAgICAg
IGZpcnN0IGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICBmaXJzdCBjb2x1bW48YnI+CisgICAg
ICAgICAgICAgICAgZmlyc3QgY29sdW1uPGJyPgorICAgICAgICAgICAgICAgIGZpcnN0IGNvbHVt
bjxicj4KKyAgICAgICAgICAgICAgICBzZWNvbmQgY29sdW1uPGJyPgorICAgICAgICAgICAgICAg
IHNlY29uZCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAgc2Vjb25kIGNvbHVtbjxicj4KKyAg
ICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGRpdj4KKyAgICAgICAgICAgICAgICB0aGly
ZCBjb2x1bW48YnI+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC9uZXdt
dWx0aWNvbC9icmVhay1iZWZvcmUtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbXVs
dGljb2wvbmV3bXVsdGljb2wvYnJlYWstYmVmb3JlLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTMwZTQzY2FmOTJjMzdkNTBkMzhhMjZiMTZiZGM0NThlYzc4NjU0ZQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvYnJlYWstYmVmb3JlLWV4
cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPHRpdGxlPmF1dG8taGVpZ2h0IG11bHRpY29sIHdpdGggYnJlYWs8
L3RpdGxlPgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAubWMgeyBmbG9hdDpsZWZ0OyB3
aWR0aDo5ZW07IHBhZGRpbmc6MCAwLjVlbTsgfQorICAgICAgICAgICAgLmdhcCB7IGZsb2F0Omxl
ZnQ7IHdpZHRoOjFlbTsgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8Ym9k
eSBzdHlsZT0ibWluLXdpZHRoOjQwZW07Ij4KKyAgICAgICAgPGRpdiBzdHlsZT0iZmxvYXQ6bGVm
dDsgYmFja2dyb3VuZDpvbGl2ZTsiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWMiPgorICAg
ICAgICAgICAgICAgIGZpcnN0IGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICBmaXJzdCBjb2x1
bW48YnI+CisgICAgICAgICAgICAgICAgZmlyc3QgY29sdW1uPGJyPgorICAgICAgICAgICAgICAg
IGZpcnN0IGNvbHVtbjxicj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGRpdiBj
bGFzcz0iZ2FwIj4mbmJzcDs8L2Rpdj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1jIj4KKyAg
ICAgICAgICAgICAgICBzZWNvbmQgY29sdW1uPGJyPgorICAgICAgICAgICAgICAgIHNlY29uZCBj
b2x1bW48YnI+CisgICAgICAgICAgICAgICAgc2Vjb25kIGNvbHVtbjxicj4KKyAgICAgICAgICAg
IDwvZGl2PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ2FwIj4mbmJzcDs8L2Rpdj4KKyAgICAg
ICAgICAgIDxkaXYgY2xhc3M9Im1jIj4KKyAgICAgICAgICAgICAgICB0aGlyZCBjb2x1bW48YnI+
CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9icmVh
ay1iZWZvcmUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvYnJl
YWstYmVmb3JlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWY0ZmZmODBlMmNjNDllMDBjYTU1ZGZjYzJmMzkz
MzllZWUzMDhmMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wv
bmV3bXVsdGljb2wvYnJlYWstYmVmb3JlLmh0bWwKQEAgLTAsMCArMSwyOSBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHRpdGxlPmF1dG8taGVpZ2h0IG11
bHRpY29sIHdpdGggYnJlYWs8L3RpdGxlPgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAg
aWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldFJlZ2lvbkJhc2VkQ29sdW1uc0VuYWJsZWQodHJ1ZSk7CisgICAgICAgIDwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAubWMgPiBkaXYgeyBwYWRkaW5nOjAgMC41ZW07
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgc3R5bGU9Im1pbi13
aWR0aDo0MGVtOyI+CisgICAgICAgIDxkaXYgY2xhc3M9Im1jIiBzdHlsZT0iLXdlYmtpdC1jb2x1
bW5zOjM7IC13ZWJraXQtY29sdW1uLWdhcDoxZW07IGNvbHVtbnM6MzsgY29sdW1uLWdhcDoxZW07
IG9ycGhhbnM6MTsgd2lkb3dzOjE7IHdpZHRoOjMyZW07IGJhY2tncm91bmQ6b2xpdmU7Ij4KKyAg
ICAgICAgICAgIDxkaXY+CisgICAgICAgICAgICAgICAgZmlyc3QgY29sdW1uPGJyPgorICAgICAg
ICAgICAgICAgIGZpcnN0IGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICBmaXJzdCBjb2x1bW48
YnI+CisgICAgICAgICAgICAgICAgZmlyc3QgY29sdW1uPGJyPgorICAgICAgICAgICAgICAgIHNl
Y29uZCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAgc2Vjb25kIGNvbHVtbjxicj4KKyAgICAg
ICAgICAgICAgICBzZWNvbmQgY29sdW1uPGJyPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAg
ICAgICA8ZGl2IHN0eWxlPSItd2Via2l0LWNvbHVtbi1icmVhay1iZWZvcmU6YWx3YXlzOyBicmVh
ay1iZWZvcmU6Y29sdW1uOyI+CisgICAgICAgICAgICAgICAgdGhpcmQgY29sdW1uPGJyPgorICAg
ICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvYnJlYWtzLTIt
Y29sdW1ucy0zLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L211bHRpY29sL25ld211
bHRpY29sL2JyZWFrcy0yLWNvbHVtbnMtMy1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYwMTZh
MDUyNDc3YmM1YzhhYTgxNGJlYWUzY2Q0YzkwNDU1NzYxOWUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L211bHRpY29sL25ld211bHRpY29sL2JyZWFrcy0yLWNvbHVtbnMtMy1l
eHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMzQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDx0aXRsZT5hdXRvLWhlaWdodCBtdWx0aWNvbCB3aXRoIGJyZWFr
PC90aXRsZT4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgLm1jIHsgZmxvYXQ6bGVmdDsg
d2lkdGg6OWVtOyBwYWRkaW5nOjAgMC41ZW07IH0KKyAgICAgICAgICAgIC5nYXAgeyBmbG9hdDps
ZWZ0OyB3aWR0aDoxZW07IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPGJv
ZHkgc3R5bGU9Im1pbi13aWR0aDo0MGVtOyI+CisgICAgICAgIDxkaXYgc3R5bGU9ImZsb2F0Omxl
ZnQ7IGJhY2tncm91bmQ6b2xpdmU7Ij4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1jIj4KKyAg
ICAgICAgICAgICAgICBmaXJzdCBjb2x1bW48YnI+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAg
ICAgICAgIDxkaXYgY2xhc3M9ImdhcCI+Jm5ic3A7PC9kaXY+CisgICAgICAgICAgICA8ZGl2IGNs
YXNzPSJtYyI+CisgICAgICAgICAgICAgICAgc2Vjb25kIGNvbHVtbjxicj4KKyAgICAgICAgICAg
ICAgICBzZWNvbmQgY29sdW1uPGJyPgorICAgICAgICAgICAgICAgIHNlY29uZCBjb2x1bW48YnI+
CisgICAgICAgICAgICAgICAgc2Vjb25kIGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICBzZWNv
bmQgY29sdW1uPGJyPgorICAgICAgICAgICAgICAgIHNlY29uZCBjb2x1bW48YnI+CisgICAgICAg
ICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdhcCI+Jm5ic3A7PC9kaXY+Cisg
ICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYyI+CisgICAgICAgICAgICAgICAgdGhpcmQgY29sdW1u
PGJyPgorICAgICAgICAgICAgICAgIHRoaXJkIGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICB0
aGlyZCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAgdGhpcmQgY29sdW1uPGJyPgorICAgICAg
ICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9icmVha3MtMi1j
b2x1bW5zLTMtbm8tYmFsYW5jaW5nLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L211
bHRpY29sL25ld211bHRpY29sL2JyZWFrcy0yLWNvbHVtbnMtMy1uby1iYWxhbmNpbmctZXhwZWN0
ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi45NTE1NDY5YjU3NTQ3OWEzMzUwNmUxNjM2OWE5M2IwYTNjZDEy
OTllCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC9uZXdtdWx0
aWNvbC9icmVha3MtMi1jb2x1bW5zLTMtbm8tYmFsYW5jaW5nLWV4cGVjdGVkLmh0bWwKQEAgLTAs
MCArMSwzNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAg
PHRpdGxlPm11bHRpY29sIHdpdGggYnJlYWs8L3RpdGxlPgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICAubWMgeyBmbG9hdDpsZWZ0OyB3aWR0aDo3ZW07IHBhZGRpbmc6MCAwLjVlbTsgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keSBzdHlsZT0ibWluLXdpZHRo
OjQwZW07IGxpbmUtaGVpZ2h0OjJlbTsiPgorICAgICAgICA8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0
OyBoZWlnaHQ6MTBlbTsgYmFja2dyb3VuZDpvbGl2ZTsiPgorICAgICAgICAgICAgPGRpdiBjbGFz
cz0ibWMiPgorICAgICAgICAgICAgICAgIGZpcnN0IGNvbHVtbjxicj4KKyAgICAgICAgICAgICAg
ICBmaXJzdCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAgZmlyc3QgY29sdW1uPGJyPgorICAg
ICAgICAgICAgICAgIGZpcnN0IGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICBmaXJzdCBjb2x1
bW48YnI+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1jIj4K
KyAgICAgICAgICAgICAgICBzZWNvbmQgY29sdW1uPGJyPgorICAgICAgICAgICAgPC9kaXY+Cisg
ICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYyI+CisgICAgICAgICAgICAgICAgdGhpcmQgY29sdW1u
PGJyPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNs
YXNzPSJtYyI+CisgICAgICAgICAgICBmb3VydGggY29sdW1uPGJyPgorICAgICAgICAgICAgZm91
cnRoIGNvbHVtbjxicj4KKyAgICAgICAgICAgIGZvdXJ0aCBjb2x1bW48YnI+CisgICAgICAgICAg
ICBmb3VydGggY29sdW1uPGJyPgorICAgICAgICAgICAgZm91cnRoIGNvbHVtbjxicj4KKyAgICAg
ICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9Im1jIj4KKyAgICAgICAgICAgIGZpZnRoIGNv
bHVtbjxicj4KKyAgICAgICAgPC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9icmVha3MtMi1jb2x1bW5z
LTMtbm8tYmFsYW5jaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L211bHRpY29sL25ld211bHRp
Y29sL2JyZWFrcy0yLWNvbHVtbnMtMy1uby1iYWxhbmNpbmcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYzE1
NzFkMGJiNmU3NGJlZTVhOWJhZmFhYjMyNDRhNzllMjg2OTYxCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9icmVha3MtMi1jb2x1bW5zLTMt
bm8tYmFsYW5jaW5nLmh0bWwKQEAgLTAsMCArMSwzNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHRpdGxlPm11bHRpY29sIHdpdGggYnJlYWs8L3RpdGxl
PgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisg
ICAgICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFJlZ2lvbkJhc2VkQ29sdW1uc0Vu
YWJsZWQodHJ1ZSk7CisgICAgICAgIDwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICAubWMgPiBkaXYgeyBwYWRkaW5nOjAgMC41ZW07IH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPGJvZHkgc3R5bGU9Im1pbi13aWR0aDo0MGVtOyI+CisgICAgICAgIDxk
aXYgY2xhc3M9Im1jIiBzdHlsZT0iLXdlYmtpdC1jb2x1bW5zOjM7IC13ZWJraXQtY29sdW1uLWdh
cDowOyAtd2Via2l0LWNvbHVtbi1maWxsOmF1dG87IGNvbHVtbnM6MzsgY29sdW1uLWdhcDowOyBj
b2x1bW4tZmlsbDphdXRvOyBvcnBoYW5zOjE7IHdpZG93czoxOyB3aWR0aDoyNGVtOyBoZWlnaHQ6
MTBlbTsgbGluZS1oZWlnaHQ6MmVtOyBiYWNrZ3JvdW5kOm9saXZlOyI+CisgICAgICAgICAgICA8
ZGl2IHN0eWxlPSItd2Via2l0LWNvbHVtbi1icmVhay1hZnRlcjphbHdheXM7IGJyZWFrLWFmdGVy
OmNvbHVtbjsiPgorICAgICAgICAgICAgICAgIGZpcnN0IGNvbHVtbjxicj4KKyAgICAgICAgICAg
ICAgICBmaXJzdCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAgZmlyc3QgY29sdW1uPGJyPgor
ICAgICAgICAgICAgICAgIGZpcnN0IGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICBmaXJzdCBj
b2x1bW48YnI+CisgICAgICAgICAgICAgICAgc2Vjb25kIGNvbHVtbjxicj4KKyAgICAgICAgICAg
IDwvZGl2PgorICAgICAgICAgICAgPGRpdiBzdHlsZT0iLXdlYmtpdC1jb2x1bW4tYnJlYWstYWZ0
ZXI6YWx3YXlzOyBicmVhay1hZnRlcjpjb2x1bW47Ij4KKyAgICAgICAgICAgICAgICB0aGlyZCBj
b2x1bW48YnI+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxkaXY+CisgICAgICAg
ICAgICAgICAgZm91cnRoIGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICBmb3VydGggY29sdW1u
PGJyPgorICAgICAgICAgICAgICAgIGZvdXJ0aCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAg
Zm91cnRoIGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICBmb3VydGggY29sdW1uPGJyPgorICAg
ICAgICAgICAgICAgIGZpZnRoIGNvbHVtbjxicj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAg
ICA8L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L211bHRpY29sL25ld211bHRpY29sL2JyZWFrcy0yLWNvbHVtbnMtMy5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9icmVha3MtMi1jb2x1bW5zLTMuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi45MDY1YWZjZDU5YzI3ODQyMGIyZmE3NDY5ZmFiMGZlOTU3ZGY3Y2Q0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9icmVh
a3MtMi1jb2x1bW5zLTMuaHRtbApAQCAtMCwwICsxLDM0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorICAgIDxoZWFkPgorICAgICAgICA8dGl0bGU+YXV0by1oZWlnaHQgbXVsdGljb2wgd2l0
aCBicmVhazwvdGl0bGU+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBpZiAod2luZG93
LmludGVybmFscykKKyAgICAgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0UmVnaW9u
QmFzZWRDb2x1bW5zRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIC5tYyA+IGRpdiB7IHBhZGRpbmc6MCAwLjVlbTsgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keSBzdHlsZT0ibWluLXdpZHRoOjQwZW07
Ij4KKyAgICAgICAgPGRpdiBjbGFzcz0ibWMiIHN0eWxlPSItd2Via2l0LWNvbHVtbnM6MzsgLXdl
YmtpdC1jb2x1bW4tZ2FwOjFlbTsgY29sdW1uczozOyBjb2x1bW4tZ2FwOjFlbTsgb3JwaGFuczox
OyB3aWRvd3M6MTsgd2lkdGg6MzJlbTsgYmFja2dyb3VuZDpvbGl2ZTsiPgorICAgICAgICAgICAg
PGRpdiBzdHlsZT0iLXdlYmtpdC1jb2x1bW4tYnJlYWstYWZ0ZXI6YWx3YXlzOyBicmVhay1hZnRl
cjpjb2x1bW47Ij4KKyAgICAgICAgICAgICAgICBmaXJzdCBjb2x1bW48YnI+CisgICAgICAgICAg
ICA8L2Rpdj4KKyAgICAgICAgICAgIDxkaXYgc3R5bGU9Ii13ZWJraXQtY29sdW1uLWJyZWFrLWFm
dGVyOmFsd2F5czsgYnJlYWstYWZ0ZXI6Y29sdW1uOyI+CisgICAgICAgICAgICAgICAgc2Vjb25k
IGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICBzZWNvbmQgY29sdW1uPGJyPgorICAgICAgICAg
ICAgICAgIHNlY29uZCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAgc2Vjb25kIGNvbHVtbjxi
cj4KKyAgICAgICAgICAgICAgICBzZWNvbmQgY29sdW1uPGJyPgorICAgICAgICAgICAgICAgIHNl
Y29uZCBjb2x1bW48YnI+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxkaXY+Cisg
ICAgICAgICAgICAgICAgdGhpcmQgY29sdW1uPGJyPgorICAgICAgICAgICAgICAgIHRoaXJkIGNv
bHVtbjxicj4KKyAgICAgICAgICAgICAgICB0aGlyZCBjb2x1bW48YnI+CisgICAgICAgICAgICAg
ICAgdGhpcmQgY29sdW1uPGJyPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbXVsdGlj
b2wvbmV3bXVsdGljb2wvYnJlYWtzLTMtY29sdW1ucy0zLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L211bHRpY29sL25ld211bHRpY29sL2JyZWFrcy0zLWNvbHVtbnMtMy1leHBlY3Rl
ZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmVkYWQ4YjI2YjljMmYwNGJmMzljYjk2MTk3ZTk4ZGU2ZTllYmFk
NDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L211bHRpY29sL25ld211bHRp
Y29sL2JyZWFrcy0zLWNvbHVtbnMtMy1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsNDggQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDx0aXRsZT5hdXRvLWhl
aWdodCBtdWx0aWNvbCB3aXRoIGJyZWFrPC90aXRsZT4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgLm1jIHsgZmxvYXQ6bGVmdDsgd2lkdGg6NmVtOyBwYWRkaW5nOjAgMC41ZW07IH0KKyAg
ICAgICAgICAgIC5nYXAgeyBmbG9hdDpsZWZ0OyB3aWR0aDoxZW07IH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgc3R5bGU9Im1pbi13aWR0aDo0MGVtOyI+CisgICAg
ICAgIDxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7IGJhY2tncm91bmQ6b2xpdmU7Ij4KKyAgICAgICAg
ICAgIDxkaXYgY2xhc3M9Im1jIj4KKyAgICAgICAgICAgICAgICBmaXJzdCBjb2x1bW48YnI+Cisg
ICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdhcCI+Jm5ic3A7PC9k
aXY+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYyI+CisgICAgICAgICAgICAgICAgc2Vjb25k
IGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICBzZWNvbmQgY29sdW1uPGJyPgorICAgICAgICAg
ICAgICAgIHNlY29uZCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAgc2Vjb25kIGNvbHVtbjxi
cj4KKyAgICAgICAgICAgICAgICBzZWNvbmQgY29sdW1uPGJyPgorICAgICAgICAgICAgICAgIHNl
Y29uZCBjb2x1bW48YnI+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxkaXYgY2xh
c3M9ImdhcCI+Jm5ic3A7PC9kaXY+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYyI+CisgICAg
ICAgICAgICAgICAgdGhpcmQgY29sdW1uPGJyPgorICAgICAgICAgICAgICAgIHRoaXJkIGNvbHVt
bjxicj4KKyAgICAgICAgICAgICAgICB0aGlyZCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAg
dGhpcmQgY29sdW1uPGJyPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAg
ICAgICA8ZGl2IGNsYXNzPSJnYXAiPiZuYnNwOzwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJt
YyI+CisgICAgICAgICAgICBmb3VydGggY29sdW1uPGJyPgorICAgICAgICAgICAgZm91cnRoIGNv
bHVtbjxicj4KKyAgICAgICAgICAgIGZvdXJ0aCBjb2x1bW48YnI+CisgICAgICAgICAgICBmb3Vy
dGggY29sdW1uPGJyPgorICAgICAgICAgICAgZm91cnRoIGNvbHVtbjxicj4KKyAgICAgICAgICAg
IGZvdXJ0aCBjb2x1bW48YnI+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJn
YXAiPiZuYnNwOzwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJtYyI+CisgICAgICAgICAgICBm
aWZ0aCBjb2x1bW48YnI+CisgICAgICAgICAgICBmaWZ0aCBjb2x1bW48YnI+CisgICAgICAgIDwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9icmVha3MtMy1jb2x1bW5zLTMuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvYnJlYWtzLTMtY29sdW1ucy0zLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYTUyZmY5NDY5Njk3NWYxMzlkYTU0NTYzNTBhNzYyZTliN2UxMjRjZgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvYnJlYWtz
LTMtY29sdW1ucy0zLmh0bWwKQEAgLTAsMCArMSw0NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHRpdGxlPmF1dG8taGVpZ2h0IG11bHRpY29sIHdpdGgg
YnJlYWs8L3RpdGxlPgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgaWYgKHdpbmRvdy5p
bnRlcm5hbHMpCisgICAgICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFJlZ2lvbkJh
c2VkQ29sdW1uc0VuYWJsZWQodHJ1ZSk7CisgICAgICAgIDwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICAubWMgPiBkaXYgeyBwYWRkaW5nOjAgMC41ZW07IH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgc3R5bGU9Im1pbi13aWR0aDo0MGVtOyI+
CisgICAgICAgIDxkaXYgY2xhc3M9Im1jIiBzdHlsZT0iLXdlYmtpdC1jb2x1bW5zOjM7IC13ZWJr
aXQtY29sdW1uLWdhcDoxZW07IGNvbHVtbnM6MzsgY29sdW1uLWdhcDoxZW07IG9ycGhhbnM6MTsg
d2lkb3dzOjE7IHdpZHRoOjIzZW07IGJhY2tncm91bmQ6b2xpdmU7Ij4KKyAgICAgICAgICAgIDxk
aXYgc3R5bGU9Ii13ZWJraXQtY29sdW1uLWJyZWFrLWFmdGVyOmFsd2F5czsgYnJlYWstYWZ0ZXI6
Y29sdW1uOyI+CisgICAgICAgICAgICAgICAgZmlyc3QgY29sdW1uPGJyPgorICAgICAgICAgICAg
PC9kaXY+CisgICAgICAgICAgICA8ZGl2IHN0eWxlPSItd2Via2l0LWNvbHVtbi1icmVhay1hZnRl
cjphbHdheXM7IGJyZWFrLWFmdGVyOmNvbHVtbjsiPgorICAgICAgICAgICAgICAgIHNlY29uZCBj
b2x1bW48YnI+CisgICAgICAgICAgICAgICAgc2Vjb25kIGNvbHVtbjxicj4KKyAgICAgICAgICAg
ICAgICBzZWNvbmQgY29sdW1uPGJyPgorICAgICAgICAgICAgICAgIHNlY29uZCBjb2x1bW48YnI+
CisgICAgICAgICAgICAgICAgc2Vjb25kIGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICBzZWNv
bmQgY29sdW1uPGJyPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZGl2IHN0eWxl
PSItd2Via2l0LWNvbHVtbi1icmVhay1hZnRlcjphbHdheXM7IGJyZWFrLWFmdGVyOmNvbHVtbjsi
PgorICAgICAgICAgICAgICAgIHRoaXJkIGNvbHVtbjxicj4KKyAgICAgICAgICAgICAgICB0aGly
ZCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAgdGhpcmQgY29sdW1uPGJyPgorICAgICAgICAg
ICAgICAgIHRoaXJkIGNvbHVtbjxicj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAg
PGRpdj4KKyAgICAgICAgICAgICAgICBmb3VydGggY29sdW1uPGJyPgorICAgICAgICAgICAgICAg
IGZvdXJ0aCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAgZm91cnRoIGNvbHVtbjxicj4KKyAg
ICAgICAgICAgICAgICBmb3VydGggY29sdW1uPGJyPgorICAgICAgICAgICAgICAgIGZvdXJ0aCBj
b2x1bW48YnI+CisgICAgICAgICAgICAgICAgZm91cnRoIGNvbHVtbjxicj4KKyAgICAgICAgICAg
ICAgICBmaWZ0aCBjb2x1bW48YnI+CisgICAgICAgICAgICAgICAgZmlmdGggY29sdW1uPGJyPgor
ICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvZml4ZWQt
aGVpZ2h0LWZpbGwtYmFsYW5jZS0yLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L211
bHRpY29sL25ld211bHRpY29sL2ZpeGVkLWhlaWdodC1maWxsLWJhbGFuY2UtMi1leHBlY3RlZC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmQzMjk5ZjU1YTUxYWIzMTk4OGNkMDgzYzkxNzNhYzY3NmFlYWU5ZTIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L211bHRpY29sL25ld211bHRpY29s
L2ZpeGVkLWhlaWdodC1maWxsLWJhbGFuY2UtMi1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTYg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDx0aXRsZT5i
YWxhbmNpbmcgZml4ZWQtaGVpZ2h0IG11bHRpY29sPC90aXRsZT4KKyAgICA8L2hlYWQ+CisgICAg
PGJvZHkgc3R5bGU9Im92ZXJmbG93OmhpZGRlbjsiPgorICAgICAgICA8cD5UaGVyZSBzaG91bGQg
YmUgdGhyZWUgaWRlbnRpY2FsIGJsdWUgcmVjdGFuZ2xlcyBiZWxvdy48L3A+CisgICAgICAgIDxk
aXYgc3R5bGU9IndpZHRoOjIwZW07Ij4KKyAgICAgICAgICAgIDxkaXYgc3R5bGU9ImZsb2F0Omxl
ZnQ7IHdpZHRoOjZlbTsgaGVpZ2h0OjJlbTsgYmFja2dyb3VuZDpibHVlOyI+PC9kaXY+CisgICAg
ICAgICAgICA8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0OyB3aWR0aDoxZW07IGhlaWdodDoyZW07Ij48
L2Rpdj4KKyAgICAgICAgICAgIDxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7IHdpZHRoOjZlbTsgaGVp
Z2h0OjJlbTsgYmFja2dyb3VuZDpibHVlOyI+PC9kaXY+CisgICAgICAgICAgICA8ZGl2IHN0eWxl
PSJmbG9hdDpsZWZ0OyB3aWR0aDoxZW07IGhlaWdodDoyZW07Ij48L2Rpdj4KKyAgICAgICAgICAg
IDxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7IHdpZHRoOjZlbTsgaGVpZ2h0OjJlbTsgYmFja2dyb3Vu
ZDpibHVlOyI+PC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvZml4ZWQtaGVp
Z2h0LWZpbGwtYmFsYW5jZS0yLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L211bHRpY29sL25ld211
bHRpY29sL2ZpeGVkLWhlaWdodC1maWxsLWJhbGFuY2UtMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRlMWFl
NWE5NjdiNzgzNzI0ZTcxMTIwOGJlOTVhNDE5Njg2OTVjOGMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L211bHRpY29sL25ld211bHRpY29sL2ZpeGVkLWhlaWdodC1maWxsLWJh
bGFuY2UtMi5odG1sCkBAIC0wLDAgKzEsMTYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDx0aXRsZT5iYWxhbmNpbmcgZml4ZWQtaGVpZ2h0IG11bHRpY29s
PC90aXRsZT4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJu
YWxzKQorICAgICAgICAgICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRSZWdpb25CYXNlZENv
bHVtbnNFbmFibGVkKHRydWUpOworICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAg
PGJvZHkgc3R5bGU9Im92ZXJmbG93OmhpZGRlbjsiPgorICAgICAgICA8cD5UaGVyZSBzaG91bGQg
YmUgdGhyZWUgaWRlbnRpY2FsIGJsdWUgcmVjdGFuZ2xlcyBiZWxvdy48L3A+CisgICAgICAgIDxk
aXYgc3R5bGU9Ii13ZWJraXQtY29sdW1uczozOyAtd2Via2l0LWNvbHVtbi1nYXA6MWVtOyBjb2x1
bW5zOjM7IGNvbHVtbi1nYXA6MWVtOyBsaW5lLWhlaWdodDoyZW07IGhlaWdodDozLjllbTsgd2lk
dGg6MjBlbTsiPgorICAgICAgICAgICAgPGRpdiBzdHlsZT0iYmFja2dyb3VuZDpibHVlOyI+PGJy
Pjxicj48YnI+PC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>