<?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>39275</bug_id>
          
          <creation_ts>2010-05-18 02:08:31 -0700</creation_ts>
          <short_desc>Make it possible to enable the new HTML5Tokenizer for testing</short_desc>
          <delta_ts>2010-05-18 04:04:47 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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>
          
          <blocked>39259</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>227199</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-18 02:08:31 -0700</bug_when>
    <thetext>Make it possible to enable the new HTML5Tokenizer for testing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227201</commentid>
    <comment_count>1</comment_count>
      <attachid>56339</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-18 02:14:02 -0700</bug_when>
    <thetext>Created attachment 56339
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227202</commentid>
    <comment_count>2</comment_count>
      <attachid>56339</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-05-18 02:21:49 -0700</bug_when>
    <thetext>Comment on attachment 56339
Patch

WebCore/html/HTML5Tokenizer.cpp:59
 +          if (m_lexer-&gt;nextToken(m_source, token)) {
nextToken is void.  There&apos;s an EOF token that means we&apos;re done.

WebCore/page/Settings.h:312
 +          bool usesHTML5Parser() const { return m_usesHTML5Parser; }
use instead of uses?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227203</commentid>
    <comment_count>3</comment_count>
      <attachid>56339</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-05-18 02:22:27 -0700</bug_when>
    <thetext>Comment on attachment 56339
Patch

The comments above plus mjs&apos;s name recommendation on the setting.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227206</commentid>
    <comment_count>4</comment_count>
      <attachid>56342</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-18 02:37:42 -0700</bug_when>
    <thetext>Created attachment 56342
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227212</commentid>
    <comment_count>5</comment_count>
      <attachid>56343</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-18 02:56:32 -0700</bug_when>
    <thetext>Created attachment 56343
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227215</commentid>
    <comment_count>6</comment_count>
      <attachid>56346</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-18 03:09:37 -0700</bug_when>
    <thetext>Created attachment 56346
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227220</commentid>
    <comment_count>7</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-18 03:17:34 -0700</bug_when>
    <thetext>Committed r59664: &lt;http://trac.webkit.org/changeset/59664&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227226</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-05-18 03:23:22 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/59664 might have broken Qt Linux Release minimal, Qt Linux ARMv5 Release, and Qt Linux ARMv7 Release</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227238</commentid>
    <comment_count>9</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-18 03:36:44 -0700</bug_when>
    <thetext>Hmm... build-webkit succeeded locally, I swear.  Anyway, fixing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227240</commentid>
    <comment_count>10</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-18 03:39:47 -0700</bug_when>
    <thetext>Committed r59665: &lt;http://trac.webkit.org/changeset/59665&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227246</commentid>
    <comment_count>11</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-18 04:04:47 -0700</bug_when>
    <thetext>Committed r59667: &lt;http://trac.webkit.org/changeset/59667&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56339</attachid>
            <date>2010-05-18 02:14:02 -0700</date>
            <delta_ts>2010-05-18 02:37:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-39275-20100518021401.patch</filename>
            <type>text/plain</type>
            <size>28985</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQW5kcm9pZC5tayBiL1dlYkNvcmUvQW5kcm9pZC5tawppbmRl
eCBkM2ZlMzk5OWJlNzNlYmYwZTQ4MTk1NjVjYTdlODUwMGIzZGRjMzljLi44OGZmZDJhNmJjZmIw
NWYzMWM3ZTU0NmY4MjRmYTJlYTZkM2Y0NTIwIDEwMDY0NAotLS0gYS9XZWJDb3JlL0FuZHJvaWQu
bWsKKysrIGIvV2ViQ29yZS9BbmRyb2lkLm1rCkBAIC0yNDUsNiArMjQ1LDggQEAgTE9DQUxfU1JD
X0ZJTEVTIDo9ICQoTE9DQUxfU1JDX0ZJTEVTKSBcCiAJaHRtbC9GaWxlLmNwcCBcCiAJaHRtbC9G
aWxlTGlzdC5jcHAgXAogCWh0bWwvRm9ybURhdGFMaXN0LmNwcCBcCisJaHRtbC9IVE1MNUxleGVy
LmNwcCBcCisJaHRtbC9IVE1MNVRva2VuaXplci5jcHAgXAogCWh0bWwvSFRNTEFsbENvbGxlY3Rp
b24uY3BwIFwKIAlodG1sL0hUTUxDb2xsZWN0aW9uLmNwcCBcCiAJaHRtbC9IVE1MRGF0YUxpc3RF
bGVtZW50LmNwcCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dAppbmRleCAxYTMyMjBmYzY1YTA0NjhkNzkzYzQwNTY0OTBjYzUxYzQ5
NGRhOGMxLi4xMWYxNWFjYmJmMTViNmY2MTdjZDk5MzdjYjc0MmEyY2YzNWQyYjk5IDEwMDY0NAot
LS0gYS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
QEAgLTg4MCw2ICs4ODAsOCBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgaHRtbC9GaWxlLmNw
cAogICAgIGh0bWwvRmlsZUxpc3QuY3BwCiAgICAgaHRtbC9Gb3JtRGF0YUxpc3QuY3BwCisgICAg
aHRtbC9IVE1MNUxleGVyLmNwcAorICAgIGh0bWwvSFRNTDVUb2tlbml6ZXIuY3BwCiAgICAgaHRt
bC9IVE1MQWxsQ29sbGVjdGlvbi5jcHAKICAgICBodG1sL0hUTUxBbmNob3JFbGVtZW50LmNwcAog
ICAgIGh0bWwvSFRNTEFwcGxldEVsZW1lbnQuY3BwCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5n
ZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGU2MTEzZGQ0NDBlZGI3YjY3ZDRjZjdlMTQ4
YjQwODQ4NDk0Y2EyYmMuLjc5Y2Q1MDVkNmRhZjk0NzdiZjRlYTU2NzhiODI1ZmIzOGU5OTgzYmMg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsNDkgQEAKKzIwMTAtMDUtMTggIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2Ug
aXQgcG9zc2libGUgdG8gZW5hYmxlIHRoZSBuZXcgSFRNTDVUb2tlbml6ZXIgZm9yIHRlc3RpbmcK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM5Mjc1CisK
KyAgICAgICAgSSBhZGRlZCB1c2VzSFRNTDVQYXJzZXIgdG8gU2V0dGluZ3Mgc28gdGhhdCB3ZSBj
YW4gZW5hYmxlL2Rpc2FibGUKKyAgICAgICAgdGhlIEhUTUw1IHBhcnNlciBmb3IgdGVzdGluZy4K
KworICAgICAgICBJIGFsc28gcmlwcGVkIG91dCBhIGJ1bmNoIG9mIGRlYWQgY29kZSBmcm9tIEhU
TUw1TGV4ZXIuCisKKyAgICAgICAgSSBoYWQgdG8gYWRkIEhUTUw1TGV4ZXIvSFRNTDVUb2tlbml6
ZXIgdG8gYWxsIGJ1aWxkIHN5c3RlbXMgc28gdGhhdAorICAgICAgICB0aGUgYnVpbGQgd291bGRu
J3QgZmFpbCBub3cgdGhhdCB3ZSByZWZlcmVuY2UgdGhlc2UgY2xhc3NlcyBmcm9tIEhUTUxEb2N1
bWVudC4KKworICAgICAgICAqIEFuZHJvaWQubWs6CisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6
CisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAg
ICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvajoKKyAgICAgICAgKiBodG1sL0hUTUw1TGV4ZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTDVMZXhlcjo6cmVzZXQpOgorICAgICAgICAoV2ViQ29yZTo6aXNXaGl0ZXNwYWNlKToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUw1TGV4ZXI6Om5leHRUb2tlbik6CisgICAgICAgICogaHRt
bC9IVE1MNUxleGVyLmg6CisgICAgICAgICogaHRtbC9IVE1MNVRva2VuaXplci5jcHA6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZTo6SFRNTDVUb2tlbml6ZXI6OkhUTUw1VG9rZW5pemVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUw1VG9rZW5pemVyOjp+SFRNTDVUb2tlbml6ZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTDVUb2tlbml6ZXI6OmJlZ2luKToKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUw1VG9rZW5pemVyOjp3cml0ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MNVRva2VuaXplcjo6
ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUw1VG9rZW5pemVyOjpmaW5pc2gpOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTDVUb2tlbml6ZXI6OmlzV2FpdGluZ0ZvclNjcmlwdHMpOgorICAgICAg
ICAqIGh0bWwvSFRNTDVUb2tlbml6ZXIuaDogQWRkZWQuCisgICAgICAgICogaHRtbC9IVE1MRG9j
dW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERvY3VtZW50OjpjcmVhdGVUb2tlbml6
ZXIpOgorICAgICAgICAqIGh0bWwvSFRNTFRva2VuaXplci5oOgorICAgICAgICAqIGh0bWwvSFRN
TFZpZXdTb3VyY2VEb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVmlld1NvdXJj
ZURvY3VtZW50OjpjcmVhdGVUb2tlbml6ZXIpOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OlNldHRpbmdzKToKKyAgICAgICAgKiBwYWdl
L1NldHRpbmdzLmg6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0VXNlc0hUTUw1UGFy
c2VyKToKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjp1c2VzSFRNTDVQYXJzZXIpOgorCiAy
MDEwLTA1LTE3ICBFcmljIFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBBZGFtIEJhcnRoLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBi
L1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggNWUwYTEyNjNhMjE3NTdmMTU3MTdhODFhYWQ2
Mjc2ZDRjNWRmNjNhNS4uNzY4OTI4YmE2NzNjOWUxYzUxYjgzZmE0YTBmNjQ3ODA0ZjRjYmM4YiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmFtCkBAIC0xMDY5LDYgKzEwNjksMTAgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJD
b3JlL2h0bWwvRmlsZVRocmVhZFRhc2suaCBcCiAJV2ViQ29yZS9odG1sL0Zvcm1EYXRhTGlzdC5j
cHAgXAogCVdlYkNvcmUvaHRtbC9Gb3JtRGF0YUxpc3QuaCBcCisJV2ViQ29yZS9odG1sL0hUTUxM
ZXhlci5jcHAgXAorCVdlYkNvcmUvaHRtbC9IVE1MTGV4ZXIuaCBcCisJV2ViQ29yZS9odG1sL0hU
TUxUb2tlbml6ZXIuY3BwIFwKKwlXZWJDb3JlL2h0bWwvSFRNTFRva2VuaXplci5oIFwKIAlXZWJD
b3JlL2h0bWwvSFRNTEFsbENvbGxlY3Rpb24uY3BwIFwKIAlXZWJDb3JlL2h0bWwvSFRNTEFsbENv
bGxlY3Rpb24uaCBcCiAJV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmNwcCBcCmRpZmYg
LS1naXQgYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4
IDkxZDdlZGFiNWE1MzA3NDU2N2Y1MDFjMTYyNmY3MzM2NjI5MmZiYjYuLmIwOTA2MDQwYWM5YjBk
OGIwN2NkZGY4ZjY1MTcyYTRjNTFjZGQ1MjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5n
eXBpCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0xNDYxLDYgKzE0NjEsMTAgQEAKICAg
ICAgICAgICAgICdodG1sL0ZpbGVUaHJlYWRUYXNrLmgnLAogICAgICAgICAgICAgJ2h0bWwvRm9y
bURhdGFMaXN0LmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9Gb3JtRGF0YUxpc3QuaCcsCisgICAg
ICAgICAgICAnaHRtbC9IVE1MTGV4ZXIuY3BwJywKKyAgICAgICAgICAgICdodG1sL0hUTUxMZXhl
ci5oJywKKyAgICAgICAgICAgICdodG1sL0hUTUxUb2tlbml6ZXIuY3BwJywKKyAgICAgICAgICAg
ICdodG1sL0hUTUxUb2tlbml6ZXIuaCcsCiAgICAgICAgICAgICAnaHRtbC9IVE1MQWxsQ29sbGVj
dGlvbi5jcHAnLAogICAgICAgICAgICAgJ2h0bWwvSFRNTEFsbENvbGxlY3Rpb24uaCcsCiAgICAg
ICAgICAgICAnaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHAnLApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9XZWJDb3JlLnBybyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggOTMzMDgxYWMyNjliNjE4
OWZjY2NkMmFkZTQyYzI1YWRiYmZmNzBiYi4uM2Y5OTViZDRmNzFlZTYyZTI1YjcyYjdmNmE5ZmMw
ZDUwNjgwNDk3ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9XZWJDb3Jl
L1dlYkNvcmUucHJvCkBAIC02MDUsNiArNjA1LDggQEAgU09VUkNFUyArPSBcCiAgICAgaHRtbC9G
aWxlU3RyZWFtUHJveHkuY3BwIFwKICAgICBodG1sL0ZpbGVUaHJlYWQuY3BwIFwKICAgICBodG1s
L0Zvcm1EYXRhTGlzdC5jcHAgXAorICAgIGh0bWwvSFRNTDVMZXhlci5jcHAgXAorICAgIGh0bWwv
SFRNTDVUb2tlbml6ZXIuY3BwIFwKICAgICBodG1sL0hUTUxBbGxDb2xsZWN0aW9uLmNwcCBcCiAg
ICAgaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHAgXAogICAgIGh0bWwvSFRNTEFwcGxldEVsZW1l
bnQuY3BwIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
ZWE2ZGI1NWZjNmI3ZmQwZDc3N2NmYmRkODQ4YzJhMzg3N2IwN2QxNC4uY2ZiM2E2YjRmOGRiYTY0
YWFlYjFjOTU5YzdjMTVkNTJhNzkwMzI2ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTI5MjgsNiArMjkyOCw4IEBACiAJCUE4M0I3OTU2MENDQjAxMjUw
MDBCMDgyNSAvKiBET01TVkdGb250RmFjZUVsZW1lbnQubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBODNCNzk0NzBDQ0IwMTI1MDAwQjA4MjUgLyogRE9N
U1ZHRm9udEZhY2VFbGVtZW50Lm1tICovOyB9OwogCQlBODNCNzk1NzBDQ0IwMTI1MDAwQjA4MjUg
LyogRE9NU1ZHRm9udEZhY2VFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBODNCNzk0ODBDQ0IwMTI1MDAwQjA4MjUgLyogRE9NU1ZHRm9udEZh
Y2VFbGVtZW50LmggKi87IH07CiAJCUE4M0UxQzc0MEU0OTA0MkMwMDE0MEI5QyAvKiBTY3JpcHRD
b250cm9sbGVyTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTgzRTFDNzIwRTQ5MDQyQjAwMTQwQjlDIC8qIFNjcmlwdENvbnRyb2xsZXJNYWMubW0g
Ki87IH07CisJCUE4NEMwREQ4MTFBMjczQzAwMDkxREUwNiAvKiBIVE1MNVRva2VuaXplci5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBODRDMERENjEx
QTI3M0MwMDA5MURFMDYgLyogSFRNTDVUb2tlbml6ZXIuY3BwICovOyB9OworCQlBODRDMEREOTEx
QTI3M0MwMDA5MURFMDYgLyogSFRNTDVUb2tlbml6ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4NEMwREQ3MTFBMjczQzAwMDkxREUwNiAvKiBIVE1M
NVRva2VuaXplci5oICovOyB9OwogCQlBODRFQkQ3ODBDQjhDODkyMDAwNzk2MDkgLyogSlNTdHls
ZVNoZWV0TGlzdEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBODRFQkQ3NzBDQjhDODkyMDAwNzk2MDkgLyogSlNTdHlsZVNoZWV0TGlzdEN1
c3RvbS5jcHAgKi87IH07CiAJCUE4NEVCRDgzMENCOEM5NzcwMDA3OTYwOSAvKiBKU1N0eWxlU2hl
ZXRMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
ODRFQkQ4MTBDQjhDOTc3MDAwNzk2MDkgLyogSlNTdHlsZVNoZWV0TGlzdC5oICovOyB9OwogCQlB
ODRFQkQ4NDBDQjhDOTc3MDAwNzk2MDkgLyogSlNTdHlsZVNoZWV0TGlzdC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBODRFQkQ4MjBDQjhDOTc3MDAw
Nzk2MDkgLyogSlNTdHlsZVNoZWV0TGlzdC5jcHAgKi87IH07CkBAIC04MzQyLDYgKzgzNDQsOCBA
QAogCQlBODNCNzk0NzBDQ0IwMTI1MDAwQjA4MjUgLyogRE9NU1ZHRm9udEZhY2VFbGVtZW50Lm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NU1ZHRm9udEZhY2VF
bGVtZW50Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBODNCNzk0ODBDQ0IwMTI1
MDAwQjA4MjUgLyogRE9NU1ZHRm9udEZhY2VFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IERPTVNWR0ZvbnRGYWNlRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlBODNFMUM3MjBFNDkwNDJCMDAxNDBCOUMgLyogU2NyaXB0Q29udHJvbGxlck1h
Yy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFNjcmlwdENvbnRy
b2xsZXJNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE4NEMwREQ2MTFBMjcz
QzAwMDkxREUwNiAvKiBIVE1MNVRva2VuaXplci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBIVE1MNVRva2VuaXplci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUE4NEMwREQ3MTFBMjczQzAwMDkxREUwNiAvKiBIVE1MNVRva2VuaXplci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIVE1MNVRva2VuaXplci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlBODRFQkQ3NzBDQjhDODkyMDAwNzk2MDkgLyogSlNTdHlsZVNo
ZWV0TGlzdEN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U1N0eWxlU2hlZXRMaXN0Q3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QTg0RUJEODEwQ0I4Qzk3NzAwMDc5NjA5IC8qIEpTU3R5bGVTaGVldExpc3QuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNTdHlsZVNoZWV0TGlzdC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlBODRFQkQ4MjBDQjhDOTc3MDAwNzk2MDkgLyogSlNTdHlsZVNoZWV0
TGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1N0eWxlU2hl
ZXRMaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzMjY1LDEwICsxMzI2
OSwxMCBAQAogCQk5M0VFQzFFQzA5QzI4Nzc3MDBDNTE1RDEgLyogaHRtbCAqLyA9IHsKIAkJCWlz
YSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCi0JCQkJNDk0ODRGQUUxMDJDRjAxRTAwMTg3
REQzIC8qIGNhbnZhcyAqLywKIAkJCQkyRUFGQUYwQjEwRTJBRjJEMDA3RUQzRDYgLyogQmxvYi5j
cHAgKi8sCiAJCQkJMkVBRkFGMEMxMEUyQUYyRDAwN0VEM0Q2IC8qIEJsb2IuaCAqLywKIAkJCQky
RUFGQUYwRDEwRTJBRjJEMDA3RUQzRDYgLyogQmxvYi5pZGwgKi8sCisJCQkJNDk0ODRGQUUxMDJD
RjAxRTAwMTg3REQzIC8qIGNhbnZhcyAqLywKIAkJCQk5M0M0NDFFRDBGODEzQTFBMDBDMUE2MzQg
LyogQ29sbGVjdGlvbkNhY2hlLmNwcCAqLywKIAkJCQk5M0M0NDFFRTBGODEzQTFBMDBDMUE2MzQg
LyogQ29sbGVjdGlvbkNhY2hlLmggKi8sCiAJCQkJOTNDNDQxRkYwRjgxM0FFMTAwQzFBNjM0IC8q
IENvbGxlY3Rpb25UeXBlLmggKi8sCkBAIC0xMzMwOSw2ICsxMzMxMyw4IEBACiAJCQkJQTgxMzZE
MzYwOTczQThFNzAwRDc0NDYzIC8qIEZvcm1EYXRhTGlzdC5oICovLAogCQkJCTk3RThCMzU0MTFB
MjNDRTIwMDE2OTQwOSAvKiBIVE1MNUxleGVyLmNwcCAqLywKIAkJCQk5N0U4QjM1NTExQTIzQ0Uy
MDAxNjk0MDkgLyogSFRNTDVMZXhlci5oICovLAorCQkJCUE4NEMwREQ2MTFBMjczQzAwMDkxREUw
NiAvKiBIVE1MNVRva2VuaXplci5jcHAgKi8sCisJCQkJQTg0QzBERDcxMUEyNzNDMDAwOTFERTA2
IC8qIEhUTUw1VG9rZW5pemVyLmggKi8sCiAJCQkJQkM5N0UyMzkxMDkxNDQ5NTAwMTBEMzYxIC8q
IEhUTUxBbGxDb2xsZWN0aW9uLmNwcCAqLywKIAkJCQlCQzk3RTIzODEwOTE0NDk1MDAxMEQzNjEg
LyogSFRNTEFsbENvbGxlY3Rpb24uaCAqLywKIAkJCQlCQzk3RTIzQzEwOTE0NkYxMDAxMEQzNjEg
LyogSFRNTEFsbENvbGxlY3Rpb24uaWRsICovLApAQCAtMTkyNTgsNiArMTkyNjQsNyBAQAogCQkJ
CUM1NkM5MUEzMTE5RDkxODEwMERFNENEOSAvKiBKU0lEQkV2ZW50LmggaW4gSGVhZGVycyAqLywK
IAkJCQlDNTZDOTFBNzExOUQ5MTg3MDBERTRDRDkgLyogSlNJREJTdWNjZXNzRXZlbnQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTk3RThCMzU3MTFBMjNDRTIwMDE2OTQwOSAvKiBIVE1MNUxleGVyLmgg
aW4gSGVhZGVycyAqLywKKwkJCQlBODRDMEREOTExQTI3M0MwMDA5MURFMDYgLyogSFRNTDVUb2tl
bml6ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9z
dHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjE1MzksNiArMjE1NDYsNyBAQAogCQkJCUM1NkM5
MUEyMTE5RDkxODEwMERFNENEOSAvKiBKU0lEQkV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUM1NkM5MUE2MTE5RDkxODcwMERFNENEOSAvKiBKU0lEQlN1Y2Nlc3NFdmVudC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk5N0U4QjM1NjExQTIzQ0UyMDAxNjk0MDkgLyogSFRNTDVMZXhlci5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQlBODRDMEREODExQTI3M0MwMDA5MURFMDYgLyogSFRNTDVUb2tl
bml6ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQ
b3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTDVM
ZXhlci5jcHAgYi9XZWJDb3JlL2h0bWwvSFRNTDVMZXhlci5jcHAKaW5kZXggNjkzMWQyMWQ3MDhk
YjEzYjNkMDBmNWY1ZmM0NjJmMDViMzQ4NWQ5NC4uM2MwOTkwZTA0NTJjYTEzYWUzMWNmOTFjMGQ2
OTJmMzdkMzg3NTgzMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUw1TGV4ZXIuY3BwCisr
KyBiL1dlYkNvcmUvaHRtbC9IVE1MNUxleGVyLmNwcApAQCAtMzEsMTAgKzMxLDEyIEBACiAjaW5j
bHVkZSAiQXRvbWljU3RyaW5nLmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAi
Tm90SW1wbGVtZW50ZWQuaCIKLSNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAjaW5jbHVk
ZSA8d3RmL0N1cnJlbnRUaW1lLmg+CisjaW5jbHVkZSA8d3RmL1VudXNlZFBhcmFtLmg+CisjaW5j
bHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUu
aD4KIAorCiAvLyBVc2UgX19HTlVDX18gaW5zdGVhZCBvZiBQTEFURk9STShHQ0MpIHRvIHN0YXkg
Y29uc2lzdGVudCB3aXRoIHRoZSBncGVyZiBnZW5lcmF0ZWQgYyBmaWxlCiAjaWZkZWYgX19HTlVD
X18KIC8vIFRoZSBtYWluIHRva2VuaXplciBpbmNsdWRlcyB0aGlzIHRvbyBzbyB3ZSBhcmUgZ2V0
dGluZyB0d28gY29waWVzIG9mIHRoZSBkYXRhLiBIb3dldmVyLCB0aGlzIHdheSB0aGUgY29kZSBn
ZXRzIGlubGluZWQuCkBAIC02Miw2OCArNjQsMTUgQEAgSFRNTDVMZXhlcjo6fkhUTUw1TGV4ZXIo
KQogewogfQogCi12b2lkIEhUTUw1TGV4ZXI6OmJlZ2luKCkgCi17IAotICAgIHJlc2V0KCk7IAot
fQotCi12b2lkIEhUTUw1TGV4ZXI6OmVuZCgpIAotewotfQotCiB2b2lkIEhUTUw1TGV4ZXI6OnJl
c2V0KCkKIHsKLSAgICBtX3NvdXJjZS5jbGVhcigpOwotCiAgICAgbV9zdGF0ZSA9IERhdGFTdGF0
ZTsKLSAgICBtX2VzY2FwZSA9IGZhbHNlOwotICAgIG1fY29udGVudE1vZGVsID0gUENEQVRBOwot
ICAgIG1fY29tbWVudFBvcyA9IDA7Ci0KLSAgICBtX2Nsb3NlVGFnID0gZmFsc2U7Ci0gICAgbV90
YWdOYW1lLmNsZWFyKCk7Ci0gICAgbV9hdHRyaWJ1dGVOYW1lLmNsZWFyKCk7Ci0gICAgbV9hdHRy
aWJ1dGVWYWx1ZS5jbGVhcigpOwotICAgIG1fbGFzdFN0YXJ0VGFnID0gQXRvbWljU3RyaW5nKCk7
Ci0KLSAgICBtX2xhc3RDaGFyYWN0ZXJJbmRleCA9IDA7Ci0gICAgY2xlYXJMYXN0Q2hhcmFjdGVy
cygpOwotfQotCi12b2lkIEhUTUw1TGV4ZXI6OndyaXRlKGNvbnN0IFNlZ21lbnRlZFN0cmluZyYg
c291cmNlKQotewotICAgIHRva2VuaXplKHNvdXJjZSk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgYm9v
bCBpc1doaXRlc3BhY2UoVUNoYXIgYykKIHsKICAgICByZXR1cm4gYyA9PSAnICcgfHwgYyA9PSAn
XG4nIHx8IGMgPT0gJ1xyJyB8fCBjID09ICdcdCc7CiB9Ci0KLWlubGluZSB2b2lkIEhUTUw1TGV4
ZXI6OmNsZWFyTGFzdENoYXJhY3RlcnMoKQotewotICAgIG1lbXNldChtX2xhc3RDaGFyYWN0ZXJz
LCAwLCBsYXN0Q2hhcmFjdGVyc0J1ZmZlclNpemUgKiBzaXplb2YoVUNoYXIpKTsKLX0KLQotaW5s
aW5lIHZvaWQgSFRNTDVMZXhlcjo6cmVtZW1iZXJDaGFyYWN0ZXIoVUNoYXIgYykKLXsKLSAgICBt
X2xhc3RDaGFyYWN0ZXJJbmRleCA9IChtX2xhc3RDaGFyYWN0ZXJJbmRleCArIDEpICUgbGFzdENo
YXJhY3RlcnNCdWZmZXJTaXplOwotICAgIG1fbGFzdENoYXJhY3RlcnNbbV9sYXN0Q2hhcmFjdGVy
SW5kZXhdID0gYzsKLX0KLQotaW5saW5lIGJvb2wgSFRNTDVMZXhlcjo6bGFzdENoYXJhY3RlcnNN
YXRjaChjb25zdCBjaGFyKiBjaGFycywgdW5zaWduZWQgY291bnQpIGNvbnN0Ci17Ci0gICAgdW5z
aWduZWQgcG9zID0gbV9sYXN0Q2hhcmFjdGVySW5kZXg7Ci0gICAgd2hpbGUgKGNvdW50KSB7Ci0g
ICAgICAgIGlmIChjaGFyc1tjb3VudCAtIDFdICE9IG1fbGFzdENoYXJhY3RlcnNbcG9zXSkKLSAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgLS1jb3VudDsKLSAgICAgICAgaWYgKCFw
b3MpCi0gICAgICAgICAgICBwb3MgPSBsYXN0Q2hhcmFjdGVyc0J1ZmZlclNpemU7Ci0gICAgICAg
IC0tcG9zOwotICAgIH0KLSAgICByZXR1cm4gdHJ1ZTsKLX0KICAgICAKIHN0YXRpYyBpbmxpbmUg
dW5zaWduZWQgbGVnYWxFbnRpdHlGb3IodW5zaWduZWQgdmFsdWUpCiB7CkBAIC0yNTEsMTMgKzIw
MCwxMiBAQCBvdXRPZkNoYXJhY3RlcnM6CiAgICAgcmV0dXJuIDA7CiB9CiAKLXZvaWQgSFRNTDVM
ZXhlcjo6dG9rZW5pemUoY29uc3QgU2VnbWVudGVkU3RyaW5nJiBzb3VyY2UpCitib29sIEhUTUw1
TGV4ZXI6Om5leHRUb2tlbihTZWdtZW50ZWRTdHJpbmcmIHNvdXJjZSwgSFRNTDVUb2tlbiYgdG9r
ZW4pCiB7Ci0gICAgbV9zb3VyY2UuYXBwZW5kKHNvdXJjZSk7Ci0KICAgICAvLyBTb3VyY2U6IGh0
dHA6Ly93d3cud2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9jdXJyZW50LXdvcmsvI3Rva2VuaXNh
dGlvbjAKLSAgICB3aGlsZSAoIW1fc291cmNlLmlzRW1wdHkoKSkgewotICAgICAgICBVQ2hhciBj
YyA9ICptX3NvdXJjZTsKKyAgICAvLyBGSVhNRTogVGhpcyB3aGlsZSBzaG91bGQgc3RvcCBhcyBz
b29uIGFzIHdlIGhhdmUgYSB0b2tlbiB0byByZXR1cm4uCisgICAgd2hpbGUgKCFzb3VyY2UuaXNF
bXB0eSgpKSB7CisgICAgICAgIFVDaGFyIGNjID0gKnNvdXJjZTsKICAgICAgICAgc3dpdGNoICht
X3N0YXRlKSB7CiAgICAgICAgIGNhc2UgRGF0YVN0YXRlOiB7CiAgICAgICAgICAgICBpZiAoY2Mg
PT0gJyYnKQpAQCAtNTA4LDE2ICs0NTYsMTEgQEAgdm9pZCBIVE1MNUxleGVyOjp0b2tlbml6ZShj
b25zdCBTZWdtZW50ZWRTdHJpbmcmIHNvdXJjZSkKICAgICAgICAgICAgIG5vdEltcGxlbWVudGVk
KCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQotICAgICAgICBtX3NvdXJjZS5hZHZh
bmNlKCk7CisgICAgICAgIHNvdXJjZS5hZHZhbmNlKCk7CiAgICAgfQotfQotCi12b2lkIEhUTUw1
TGV4ZXI6OnByb2Nlc3NBdHRyaWJ1dGUoKQotewotICAgIEF0b21pY1N0cmluZyB0YWcgPSBBdG9t
aWNTdHJpbmcobV90YWdOYW1lLmRhdGEoKSwgbV90YWdOYW1lLnNpemUoKSk7Ci0gICAgQXRvbWlj
U3RyaW5nIGF0dHJpYnV0ZSA9IEF0b21pY1N0cmluZyhtX2F0dHJpYnV0ZU5hbWUuZGF0YSgpLCBt
X2F0dHJpYnV0ZU5hbWUuc2l6ZSgpKTsKLQotICAgIFN0cmluZyB2YWx1ZShtX2F0dHJpYnV0ZVZh
bHVlLmRhdGEoKSwgbV9hdHRyaWJ1dGVWYWx1ZS5zaXplKCkpOworICAgIC8vIEZJWE1FOiBUaGlz
IGNvZGUgZG9lc24ndCB5ZXQga25vdyBob3cgdG8gY29uc3RydWN0IGFuZCByZXR1cm4gdGhlIHRv
a2VuLgorICAgIFVOVVNFRF9QQVJBTSh0b2tlbik7CisgICAgcmV0dXJuIGZhbHNlOwogfQogCiBp
bmxpbmUgdm9pZCBIVE1MNUxleGVyOjplbWl0Q2hhcmFjdGVyKFVDaGFyKQpAQCAtNTI4LDI4ICs0
NzEsNCBAQCBpbmxpbmUgdm9pZCBIVE1MNUxleGVyOjplbWl0UGFyc2VFcnJvcigpCiB7CiB9CiAK
LXZvaWQgSFRNTDVMZXhlcjo6ZW1pdFRhZygpCi17Ci0gICAgaWYgKG1fY2xvc2VUYWcpIHsKLSAg
ICAgICAgbV9jb250ZW50TW9kZWwgPSBQQ0RBVEE7Ci0gICAgICAgIGNsZWFyTGFzdENoYXJhY3Rl
cnMoKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIEF0b21pY1N0cmluZyB0YWcobV90
YWdOYW1lLmRhdGEoKSwgbV90YWdOYW1lLnNpemUoKSk7Ci0gICAgbV9sYXN0U3RhcnRUYWcgPSB0
YWc7Ci0KLSAgICBpZiAodGFnID09IHRleHRhcmVhVGFnIHx8IHRhZyA9PSB0aXRsZVRhZykKLSAg
ICAgICAgbV9jb250ZW50TW9kZWwgPSBSQ0RBVEE7Ci0gICAgZWxzZSBpZiAodGFnID09IHN0eWxl
VGFnIHx8IHRhZyA9PSB4bXBUYWcgfHwgdGFnID09IHNjcmlwdFRhZyB8fCB0YWcgPT0gaWZyYW1l
VGFnIHx8IHRhZyA9PSBub2VtYmVkVGFnIHx8IHRhZyA9PSBub2ZyYW1lc1RhZykKLSAgICAgICAg
bV9jb250ZW50TW9kZWwgPSBDREFUQTsKLSAgICBlbHNlIGlmICh0YWcgPT0gbm9zY3JpcHRUYWcp
Ci0gICAgICAgIC8vIHdlIHdvdWxkbid0IGJlIGhlcmUgaWYgc2NyaXB0cyB3ZXJlIGRpc2FibGVk
Ci0gICAgICAgIG1fY29udGVudE1vZGVsID0gQ0RBVEE7Ci0gICAgZWxzZSBpZiAodGFnID09IHBs
YWludGV4dFRhZykKLSAgICAgICAgbV9jb250ZW50TW9kZWwgPSBQTEFJTlRFWFQ7Ci0gICAgZWxz
ZQotICAgICAgICBtX2NvbnRlbnRNb2RlbCA9IFBDREFUQTsKLX0KLQogfQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9odG1sL0hUTUw1TGV4ZXIuaCBiL1dlYkNvcmUvaHRtbC9IVE1MNUxleGVyLmgKaW5k
ZXggODg0ODU0NmJlMmQ3MzY2YjI0ZWZiN2Y0NmUyZmUxM2RkN2NiNDY5My4uN2E5Yzc4ZGYzM2U1
ZTNlMTJkYzEzOWFiN2U4YWExMmM4YTBlYjk2OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hU
TUw1TGV4ZXIuaAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTDVMZXhlci5oCkBAIC0zNCwzMSArMzQs
MjQgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisvLyBGSVhNRTogVGhpcyB3aWxsIG5lZWQg
aXRzIG93biBjbGFzcy4KK2NsYXNzIEhUTUw1VG9rZW4geworCit9OworCiAgICAgY2xhc3MgSFRN
TDVMZXhlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiAgICAgcHVibGljOgogICAgICAgICBIVE1M
NUxleGVyKCk7CiAgICAgICAgIH5IVE1MNUxleGVyKCk7CiAKLSAgICAgICAgdm9pZCBiZWdpbigp
OwotICAgICAgICB2b2lkIHdyaXRlKGNvbnN0IFNlZ21lbnRlZFN0cmluZyYpOwotICAgICAgICB2
b2lkIGVuZCgpOworICAgICAgICB2b2lkIHJlc2V0KCk7CisgICAgICAgIGJvb2wgbmV4dFRva2Vu
KFNlZ21lbnRlZFN0cmluZyYsIEhUTUw1VG9rZW4mKTsKIAogICAgICAgICBzdGF0aWMgdW5zaWdu
ZWQgY29uc3VtZUVudGl0eShTZWdtZW50ZWRTdHJpbmcmLCBib29sJiBub3RFbm91Z2hDaGFyYWN0
ZXJzKTsKIAogICAgIHByaXZhdGU6Ci0gICAgICAgIHZvaWQgdG9rZW5pemUoY29uc3QgU2VnbWVu
dGVkU3RyaW5nJik7Ci0gICAgICAgIHZvaWQgcmVzZXQoKTsKLQotICAgICAgICB2b2lkIGVtaXRU
YWcoKTsKICAgICAgICAgaW5saW5lIHZvaWQgZW1pdENoYXJhY3RlcihVQ2hhcik7CiAgICAgICAg
IGlubGluZSB2b2lkIGVtaXRQYXJzZUVycm9yKCk7Ci0gICAgICAgIHZvaWQgcHJvY2Vzc0F0dHJp
YnV0ZSgpOwotCi0gICAgICAgIHZvaWQgY2xlYXJMYXN0Q2hhcmFjdGVycygpOwotICAgICAgICB2
b2lkIHJlbWVtYmVyQ2hhcmFjdGVyKFVDaGFyKTsKLSAgICAgICAgYm9vbCBsYXN0Q2hhcmFjdGVy
c01hdGNoKGNvbnN0IGNoYXIqLCB1bnNpZ25lZCBjb3VudCkgY29uc3Q7Ci0KLSAgICAgICAgU2Vn
bWVudGVkU3RyaW5nIG1fc291cmNlOwogCiAgICAgICAgIGVudW0gU3RhdGUgewogICAgICAgICAg
ICAgRGF0YVN0YXRlLApAQCAtMTM3LDI5ICsxMzAsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
ICAgICAgICAgLy8gaHR0cDovL3d3dy53aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQt
d29yay8jdGVtcG9yYXJ5LWJ1ZmZlcgogICAgICAgICBWZWN0b3I8VUNoYXIsIDEwMjQ+IG1fdGVt
cG9yYXJ5QnVmZmVyOwotCi0KLQotICAgICAgICBib29sIG1fZXNjYXBlOwotICAgICAgICBlbnVt
IENvbnRlbnRNb2RlbCB7Ci0gICAgICAgICAgICBQQ0RBVEEsCi0gICAgICAgICAgICBSQ0RBVEEs
Ci0gICAgICAgICAgICBDREFUQSwKLSAgICAgICAgICAgIFBMQUlOVEVYVAotICAgICAgICB9Owot
ICAgICAgICBDb250ZW50TW9kZWwgbV9jb250ZW50TW9kZWw7Ci0gICAgICAgIHVuc2lnbmVkIG1f
Y29tbWVudFBvczsKLSAgICAgICAgU3RhdGUgbV9zdGF0ZUJlZm9yZUVudGl0eUluQXR0cmlidXRl
VmFsdWU7Ci0KLSAgICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGxhc3RDaGFyYWN0ZXJzQnVm
ZmVyU2l6ZSA9IDg7Ci0gICAgICAgIFVDaGFyIG1fbGFzdENoYXJhY3RlcnNbbGFzdENoYXJhY3Rl
cnNCdWZmZXJTaXplXTsKLSAgICAgICAgdW5zaWduZWQgbV9sYXN0Q2hhcmFjdGVySW5kZXg7Ci0K
LSAgICAgICAgYm9vbCBtX2Nsb3NlVGFnOwotICAgICAgICBWZWN0b3I8VUNoYXIsIDMyPiBtX3Rh
Z05hbWU7Ci0gICAgICAgIFZlY3RvcjxVQ2hhciwgMzI+IG1fYXR0cmlidXRlTmFtZTsKLSAgICAg
ICAgVmVjdG9yPFVDaGFyPiBtX2F0dHJpYnV0ZVZhbHVlOwotICAgICAgICBBdG9taWNTdHJpbmcg
bV9sYXN0U3RhcnRUYWc7CiAgICAgfTsKIAogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hU
TUw1VG9rZW5pemVyLmNwcCBiL1dlYkNvcmUvaHRtbC9IVE1MNVRva2VuaXplci5jcHAKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNjcwYTBlNTVhMWQ2ZjNjMGE0YWUyNjM0Mzk5OGQxMGFhNTYyNGIyZAotLS0gL2Rldi9u
dWxsCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MNVRva2VuaXplci5jcHAKQEAgLTAsMCArMSw4NiBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUsIEluYy4gQWxsIFJpZ2h0cyBSZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisg
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJIVE1MNVRva2VuaXplci5oIgorCisjaW5jbHVkZSAi
SFRNTDVMZXhlci5oIgorI2luY2x1ZGUgIkhUTUxEb2N1bWVudC5oIgorI2luY2x1ZGUgIkhUTUxQ
YXJzZXIuaCIKKyNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK0hUTUw1VG9rZW5pemVyOjpIVE1MNVRva2VuaXplcihIVE1MRG9jdW1lbnQqIGRvYywg
Ym9vbCByZXBvcnRFcnJvcnMpCisgICAgOiBUb2tlbml6ZXIoKQorICAgICwgbV9kb2MoZG9jKQor
ICAgICwgbV9sZXhlcihuZXcgSFRNTDVMZXhlcikKKyAgICAsIG1fcGFyc2VyKG5ldyBIVE1MUGFy
c2VyKGRvYywgcmVwb3J0RXJyb3JzKSkKK3sKKyAgICBiZWdpbigpOworfQorCitIVE1MNVRva2Vu
aXplcjo6fkhUTUw1VG9rZW5pemVyKCkKK3sKK30KKwordm9pZCBIVE1MNVRva2VuaXplcjo6YmVn
aW4oKQoreworfQorCit2b2lkIEhUTUw1VG9rZW5pemVyOjp3cml0ZShjb25zdCBTZWdtZW50ZWRT
dHJpbmcmIHNvdXJjZSwgYm9vbCkKK3sKKyAgICBtX3NvdXJjZS5hcHBlbmQoc291cmNlKTsKKwor
ICAgIHdoaWxlICghbV9zb3VyY2UuaXNFbXB0eSgpKSB7CisgICAgICAgIEhUTUw1VG9rZW4gdG9r
ZW47CisgICAgICAgIGlmIChtX2xleGVyLT5uZXh0VG9rZW4obV9zb3VyY2UsIHRva2VuKSkgewor
ICAgICAgICAgICAgLy8gaHR0cDovL3d3dy53aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1cnJl
bnQtd29yay8jdHJlZS1jb25zdHJ1Y3Rpb24KKyAgICAgICAgICAgIC8vIFdlIG5lZWQgdG8gYWRk
IGNvZGUgdG8gdGhlIHBhcnNlciBpbiBvcmRlciB0byB1bmRlcnN0YW5kCisgICAgICAgICAgICAv
LyBIVE1MNVRva2VuIG9iamVjdHMuICBUaGUgb2xkIEhUTUwgY29kZXBhdGggZG9lcyBub3QgaGF2
ZSBhIG5pY2UKKyAgICAgICAgICAgIC8vIHNlcGFyYXRpb24gYmV0d2VlbiB0aGUgcGFyc2VyIGxv
Z2ljIGFuZCB0b2tlbml6ZXIgbG9naWMgbGlrZQorICAgICAgICAgICAgLy8gdGhlIEhUTUw1IGNv
ZGVwYXRoIHNob3VsZC4gIFRoZSBjYWxsIHNob3VsZCBsb29rIHNvbWV0aGluZyBsaWtlOgorICAg
ICAgICAgICAgLy8gbV9wYXJzZXItPmNvbnN0cnVjdFRyZWVGcm9tVG9rZW4odG9rZW4pOworICAg
ICAgICB9CisgICAgfQorfQorCit2b2lkIEhUTUw1VG9rZW5pemVyOjplbmQoKQoreworICAgIG1f
cGFyc2VyLT5maW5pc2hlZCgpOworfQorCit2b2lkIEhUTUw1VG9rZW5pemVyOjpmaW5pc2goKQor
eworICAgIGVuZCgpOworfQorCitib29sIEhUTUw1VG9rZW5pemVyOjppc1dhaXRpbmdGb3JTY3Jp
cHRzKCkgY29uc3QKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiBmYWxzZTsK
K30KKworfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUw1VG9rZW5pemVyLmggYi9XZWJD
b3JlL2h0bWwvSFRNTDVUb2tlbml6ZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZjJkYWZlMTI4ZjQwZDFiMDQ5
MGJjZDUzMDI1ZGY0ZjZmNzk0YmI2Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9odG1sL0hU
TUw1VG9rZW5pemVyLmgKQEAgLTAsMCArMSw2OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MCBHb29nbGUsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgSFRNTDVUb2tlbml6ZXJfaAorI2RlZmlu
ZSBIVE1MNVRva2VuaXplcl9oCisKKyNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUNsaWVudC5oIgor
I2luY2x1ZGUgIlNlZ21lbnRlZFN0cmluZy5oIgorI2luY2x1ZGUgIlRva2VuaXplci5oIgorI2lu
Y2x1ZGUgPHd0Zi9Pd25QdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBEb2N1
bWVudDsKK2NsYXNzIEhUTUxEb2N1bWVudDsKK2NsYXNzIEhUTUxQYXJzZXI7CitjbGFzcyBIVE1M
NUxleGVyOworCisvLyBGSVhNRTogVGhpcyBpcyB0aGUgd3JvbmcgbGF5ZXIgdG8gaG9vayBpbiB0
aGUgbmV3IEhUTUwgNSBMZXhlciwKKy8vIGhvd2V2ZXIgSFRNTFRva2VuaXplciBpcyB0b28gbGFy
Z2UgYW5kIHRvbyBmcmFnaWxlIG9mIGEgY2xhc3MgdG8gaGFjayBpbnRvLgorLy8gRXZlbnR1YWxs
eSB3ZSBzaG91bGQgc3BsaXQgYWxsIG9mIHRoZSBIVE1MIGxleGVyIGxvZ2ljIG91dCBmcm9tIEhU
TUxUb2tlbml6ZXIKKy8vIGFuZCB0aGVuIHNoYXJlIG5vbi1sZXhlci1zcGVjaWZpYyB0b2tlbml6
ZXIgbG9naWMgYmV0d2VlbiBIVE1MNSBhbmQgdGhlCisvLyBsZWdhY3kgV2ViS2l0IEhUTUwgbGV4
ZXIuCisKKy8vIEZJWE1FOiBUaGlzIGNsYXNzIGlzIGZhciBmcm9tIGNvbXBsZXRlLgorY2xhc3Mg
SFRNTDVUb2tlbml6ZXIgOiAgcHVibGljIFRva2VuaXplciwgcHVibGljIENhY2hlZFJlc291cmNl
Q2xpZW50IHsKK3B1YmxpYzoKKyAgICBIVE1MNVRva2VuaXplcihIVE1MRG9jdW1lbnQqLCBib29s
IHJlcG9ydEVycm9ycyk7CisgICAgdmlydHVhbCB+SFRNTDVUb2tlbml6ZXIoKTsKKworICAgIHZp
cnR1YWwgdm9pZCBiZWdpbigpOworICAgIHZpcnR1YWwgdm9pZCB3cml0ZShjb25zdCBTZWdtZW50
ZWRTdHJpbmcmLCBib29sIGFwcGVuZERhdGEpOworICAgIHZpcnR1YWwgdm9pZCBlbmQoKTsKKyAg
ICB2aXJ0dWFsIHZvaWQgZmluaXNoKCk7CisgICAgdmlydHVhbCBib29sIGlzV2FpdGluZ0ZvclNj
cmlwdHMoKSBjb25zdDsKKworcHJpdmF0ZToKKyAgICBTZWdtZW50ZWRTdHJpbmcgbV9zb3VyY2U7
CisKKyAgICBEb2N1bWVudCogbV9kb2M7CisgICAgT3duUHRyPEhUTUw1TGV4ZXI+IG1fbGV4ZXI7
CisgICAgT3duUHRyPEhUTUxQYXJzZXI+IG1fcGFyc2VyOworfTsKKworfQorCisjZW5kaWYKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MRG9jdW1lbnQuY3BwIGIvV2ViQ29yZS9odG1sL0hU
TUxEb2N1bWVudC5jcHAKaW5kZXggMzA0OGVlOTZmZDE3ZmQ1OGM2Nzc1OTU0ZDBhMzg1ZTRiMjhk
MGVmNy4uNGQxNzk1YmMwMzZkY2VjMGIzNGI1NzhkYzNlOWYwZWYxZjUxYThhZCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9odG1sL0hUTUxEb2N1bWVudC5jcHAKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxE
b2N1bWVudC5jcHAKQEAgLTY0LDYgKzY0LDcgQEAKICNpbmNsdWRlICJGcmFtZUxvYWRlci5oIgog
I2luY2x1ZGUgIkZyYW1lVHJlZS5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgorI2luY2x1ZGUg
IkhUTUw1VG9rZW5pemVyLmgiCiAjaW5jbHVkZSAiSFRNTEJvZHlFbGVtZW50LmgiCiAjaW5jbHVk
ZSAiSFRNTEVsZW1lbnRGYWN0b3J5LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCkBAIC03MSw2
ICs3Miw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9yQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIktV
UkwuaCIKICNpbmNsdWRlICJQYWdlLmgiCisjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRl
IDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKICNpbmNsdWRlICJEb2NUeXBlU3RyaW5ncy5jcHAiCkBA
IC0yODEsNyArMjgzLDcgQEAgdm9pZCBIVE1MRG9jdW1lbnQ6OnJlbGVhc2VFdmVudHMoKQogewog
fQogCi1Ub2tlbml6ZXIgKkhUTUxEb2N1bWVudDo6Y3JlYXRlVG9rZW5pemVyKCkKK1Rva2VuaXpl
ciogSFRNTERvY3VtZW50OjpjcmVhdGVUb2tlbml6ZXIoKQogewogICAgIGJvb2wgcmVwb3J0RXJy
b3JzID0gZmFsc2U7CiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKQEAgLTI4OSw2ICsyOTEsOSBAQCBU
b2tlbml6ZXIgKkhUTUxEb2N1bWVudDo6Y3JlYXRlVG9rZW5pemVyKCkKICAgICAgICAgcmVwb3J0
RXJyb3JzID0gcGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT53aW5kb3dWaXNpYmxlKCk7CiAj
ZW5kaWYKIAorICAgIGlmIChzZXR0aW5ncygpICYmIHNldHRpbmdzKCktPnVzZXNIVE1MNVBhcnNl
cigpKQorICAgICAgICByZXR1cm4gbmV3IEhUTUw1VG9rZW5pemVyKHRoaXMsIHJlcG9ydEVycm9y
cyk7CisKICAgICByZXR1cm4gbmV3IEhUTUxUb2tlbml6ZXIodGhpcywgcmVwb3J0RXJyb3JzKTsK
IH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxUb2tlbml6ZXIuaCBiL1dlYkNvcmUv
aHRtbC9IVE1MVG9rZW5pemVyLmgKaW5kZXggMjkwZmM1Y2ExZjFhMDljMGFkYTYyYTlhMGExNDlh
OGMyMDNmNzY4ZS4uMWIwMzE0YzA0YmRiYjU0MzE4NTQxMGMyOGU5NWNhYzM0ZTc2ZDM1NSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxUb2tlbml6ZXIuaAorKysgYi9XZWJDb3JlL2h0bWwv
SFRNTFRva2VuaXplci5oCkBAIC0xMzIsNiArMTMyLDExIEBAIHB1YmxpYzoKIAogLy8tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQogCisvLyBGSVhNRTogVGhpcyBjbGFzcyBkb2VzIHRvbyBtdWNoLiAgUmln
aHQgbm93IGl0IGlzIGJvdGggYW4gSFRNTCBsZXhlciBhcyB3ZWxsCisvLyBhcyBoYW5kbGluZyBh
bGwgb2YgdGhlIG5vbi1sZXhlci1zcGVjaWZpYyBqdW5rIHJlbGF0ZWQgdG8gdG9rZW5pemluZyBI
VE1MCisvLyAobGlrZSBkZWFsaW5nIHdpdGggPHNjcmlwdD4gdGFncykuICBUaGUgSFRNTCBsZXhl
ciBiaXRzIHNob3VsZCBiZSBwdXNoZWQKKy8vIGRvd24gaW50byBhIHNlcGFyYXRlIEhUTUwgbGV4
ZXIgY2xhc3MuCisKIGNsYXNzIEhUTUxUb2tlbml6ZXIgOiBwdWJsaWMgVG9rZW5pemVyLCBwdWJs
aWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgewogcHVibGljOgogICAgIEhUTUxUb2tlbml6ZXIoSFRN
TERvY3VtZW50KiwgYm9vbCByZXBvcnRFcnJvcnMpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1s
L0hUTUxWaWV3U291cmNlRG9jdW1lbnQuY3BwIGIvV2ViQ29yZS9odG1sL0hUTUxWaWV3U291cmNl
RG9jdW1lbnQuY3BwCmluZGV4IDJkODAwYjRiZmIxYTVmMmIwYmQ2YWFhZDg4MTIzZWQ3MGNmZGYz
MmMuLmY2MDJhNmQ4MGM0Y2NiZTlmMWRhMjY1ZjE0ZjgwOWZlMDJlYjM5OWMgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvaHRtbC9IVE1MVmlld1NvdXJjZURvY3VtZW50LmNwcAorKysgYi9XZWJDb3JlL2h0
bWwvSFRNTFZpZXdTb3VyY2VEb2N1bWVudC5jcHAKQEAgLTU5LDYgKzU5LDcgQEAgVG9rZW5pemVy
KiBIVE1MVmlld1NvdXJjZURvY3VtZW50OjpjcmVhdGVUb2tlbml6ZXIoKQogICAgICAgICB8fCBt
X3R5cGUgPT0gImFwcGxpY2F0aW9uL3ZuZC53YXAueGh0bWwreG1sIgogI2VuZGlmCiAgICAgICAg
ICkgeworICAgICAgICAvLyBGSVhNRTogU2hvdWxkIHJlc3BlY3QgU2V0dGluZ3M6OnVzZXNIVE1M
NVBhcnNlcigpCiAgICAgICAgIHJldHVybiBuZXcgSFRNTFRva2VuaXplcih0aGlzKTsKICAgICB9
CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAgYi9XZWJDb3JlL3BhZ2Uv
U2V0dGluZ3MuY3BwCmluZGV4IDcxNDg4OGJiYmI4YjUyOTE2Mjg4YjM3ODI5NjI4NTc1NjBmYjk3
ZGYuLjZkYTVkODZhNDdlMWE4OTlhNDJlZTIzNjc0ODMxNWU3MmI5MTBjODEgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNw
cApAQCAtMTMyLDYgKzEzMiw3IEBAIFNldHRpbmdzOjpTZXR0aW5ncyhQYWdlKiBwYWdlKQogICAg
ICwgbV93ZWJHTEVuYWJsZWQoZmFsc2UpCiAgICAgLCBtX2xvYWREZWZlcnJpbmdFbmFibGVkKHRy
dWUpCiAgICAgLCBtX3RpbGVkQmFja2luZ1N0b3JlRW5hYmxlZChmYWxzZSkKKyAgICAsIG1fdXNl
c0hUTUw1UGFyc2VyKGZhbHNlKQogewogICAgIC8vIEEgRnJhbWUgbWF5IG5vdCBoYXZlIGJlZW4g
Y3JlYXRlZCB5ZXQsIHNvIHdlIGluaXRpYWxpemUgdGhlIEF0b21pY1N0cmluZyAKICAgICAvLyBo
YXNoIGJlZm9yZSB0cnlpbmcgdG8gdXNlIGl0LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1Nl
dHRpbmdzLmggYi9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAppbmRleCAzMjdkZDA0Y2Q2ZWM0YjI4
OTg4MGZkZmNjNWU1MTgyYWI1ZjAyNTk5Li5lODZjMzU0YjgwZjMyMzk4MjdiYzMxYjE4OTFlNjdl
OWE3YmEwYjJmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAorKysgYi9XZWJD
b3JlL3BhZ2UvU2V0dGluZ3MuaApAQCAtMzA4LDYgKzMwOCw5IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgdm9pZCBzZXRUaWxlZEJhY2tpbmdTdG9yZUVuYWJsZWQoYm9vbCk7CiAgICAg
ICAgIGJvb2wgdGlsZWRCYWNraW5nU3RvcmVFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV90aWxl
ZEJhY2tpbmdTdG9yZUVuYWJsZWQ7IH0KIAorICAgICAgICB2b2lkIHNldFVzZXNIVE1MNVBhcnNl
cihib29sIHVzZUhUTUw1KSB7IG1fdXNlc0hUTUw1UGFyc2VyID0gdXNlSFRNTDU7IH0KKyAgICAg
ICAgYm9vbCB1c2VzSFRNTDVQYXJzZXIoKSBjb25zdCB7IHJldHVybiBtX3VzZXNIVE1MNVBhcnNl
cjsgfQorCiAgICAgcHJpdmF0ZToKICAgICAgICAgUGFnZSogbV9wYWdlOwogICAgICAgICAKQEAg
LTM4Nyw2ICszOTAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIGJvb2wgbV93ZWJH
TEVuYWJsZWQgOiAxOwogICAgICAgICBib29sIG1fbG9hZERlZmVycmluZ0VuYWJsZWQgOiAxOwog
ICAgICAgICBib29sIG1fdGlsZWRCYWNraW5nU3RvcmVFbmFibGVkIDogMTsKKyAgICAgICAgYm9v
bCBtX3VzZXNIVE1MNVBhcnNlcjogMTsKIAogI2lmIFVTRShTQUZBUklfVEhFTUUpCiAgICAgICAg
IHN0YXRpYyBib29sIGdTaG91bGRQYWludE5hdGl2ZUNvbnRyb2xzOwpkaWZmIC0tZ2l0IGEvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cgYi9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCA0YzgwZWFmN2I3
ZWZiYzEwZGJhZTcyOTVkYTJmNTU4ZGY3ZTU3ZDYwLi5mOThmYzY4Y2EzNzE0NzdiOWE0YWNjMTNm
YzYyZTIxMDJmOTczNTVkIDEwMDY0NAotLS0gYS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9X
ZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEwLTA1LTE4ICBFcmljIFNl
aWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBNYWtlIGl0IHBvc3NpYmxlIHRvIGVuYWJsZSB0aGUgbmV3IEhUTUw1
VG9rZW5pemVyIGZvciB0ZXN0aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0zOTI3NQorCisgICAgICAgIEV4cG9zZSB0aGUgV2ViQ29yZTo6U2V0dGlu
Z3M6OnVzZXNIVE1MNVBhcnNlciBhcyBhIHByaXZhdGUgV2ViS2l0IHNldHRpbmcuCisKKyAgICAg
ICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZp
ZXcvV2ViUHJlZmVyZW5jZXMubW06CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIHVzZXNIVE1M
NVBhcnNlcl0pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBzZXRVc2VzSFRNTDVQYXJzZXI6
XSk6CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaDoKKyAgICAgICAg
KiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgX3ByZWZlcmVuY2VzQ2hh
bmdlZE5vdGlmaWNhdGlvbjpdKToKKwogMjAxMC0wNS0xNyAgU2hlcmlmZiBCb3QgIDx3ZWJraXQu
cmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQg
cjU5NjUyLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlz
UHJpdmF0ZS5oIGIvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5o
CmluZGV4IGY0YWUzMzM3NWRmYmMzMmQ3MjhlNGUyOGYxNGY4ZTA0ZDcyOTAzN2IuLjk3ZTI0OWU1
OWEzMzFhNDhkOGI4MjY2MjEzNmJlYjc5M2U4MzJjOWQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMv
V2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAorKysgYi9XZWJLaXQvbWFjL1dlYlZp
ZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKQEAgLTkzLDYgKzkzLDcgQEAKICNkZWZpbmUg
V2ViS2l0VXNlc1Byb3hpZWRPcGVuUGFuZWxQcmVmZXJlbmNlS2V5IEAiV2ViS2l0VXNlc1Byb3hp
ZWRPcGVuUGFuZWwiCiAjZGVmaW5lIFdlYktpdFBsdWdpbkFsbG93ZWRSdW5UaW1lUHJlZmVyZW5j
ZUtleSBAIldlYktpdFBsdWdpbkFsbG93ZWRSdW5UaW1lIgogI2RlZmluZSBXZWJLaXRGcmFtZUZs
YXR0ZW5pbmdFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdEZyYW1lRmxhdHRlbmluZ0VuYWJs
ZWQiCisjZGVmaW5lIFdlYktpdFVzZXNIVE1MNVBhcnNlclByZWZlcmVuY2VLZXkgQCJXZWJLaXRV
c2VzSFRNTDVQYXJzZXIiCiAKIC8vIFRoZXNlIGFyZSBwcml2YXRlIGJvdGggYmVjYXVzZSBjYWxs
ZXJzIHNob3VsZCBiZSB1c2luZyB0aGUgY292ZXIgbWV0aG9kcyBhbmQgYmVjYXVzZSB0aGUKIC8v
IGNvdmVyIG1ldGhvZHMgdGhlbXNlbHZlcyBhcmUgcHJpdmF0ZS4KZGlmZiAtLWdpdCBhL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbSBiL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQ
cmVmZXJlbmNlcy5tbQppbmRleCA5ZGU4NDk1NDk5NzBjMTMxNGY0YWI3YzVkNWVjODg5YmI4NTBj
NjY3Li41NWUzYmYwNmI5ODVhMTlmMzFjM2I2YWNlYTllODg1MTIxYjVkNDQwIDEwMDY0NAotLS0g
YS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KKysrIGIvV2ViS2l0L21hYy9X
ZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCkBAIC0xMjM3LDYgKzEyMzcsMTYgQEAgc3RhdGljIE5T
U3RyaW5nICpjbGFzc0lCQ3JlYXRvcklEID0gbmlsOwogICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6
ZmxhZyBmb3JLZXk6V2ViS2l0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZFByZWZlcmVuY2VLZXldOwog
fQogCistIChCT09MKXVzZXNIVE1MNVBhcnNlcgoreworICAgIHJldHVybiBbc2VsZiBfYm9vbFZh
bHVlRm9yS2V5OldlYktpdFVzZXNIVE1MNVBhcnNlclByZWZlcmVuY2VLZXldOworfQorCistICh2
b2lkKXNldFVzZXNIVE1MNVBhcnNlcjooQk9PTClmbGFnCit7CisgICAgW3NlbGYgX3NldEJvb2xW
YWx1ZTpmbGFnIGZvcktleTpXZWJLaXRVc2VzSFRNTDVQYXJzZXJQcmVmZXJlbmNlS2V5XTsKK30K
KwogLSAodm9pZClkaWRSZW1vdmVGcm9tV2ViVmlldwogewogICAgIEFTU0VSVChfcHJpdmF0ZS0+
bnVtV2ViVmlld3MpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVu
Y2VzUHJpdmF0ZS5oIGIvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5o
CmluZGV4IGVlNzg1ZTkzMTU4YjA5YmQxOWY0YWYzYzEwYWIzMjdiNmRhODliMmYuLmRmNzI2OTgx
YTgzNDg0ZTdhODBmMzJlM2UxOWZhZGQ4MDhlZWQ3MzIgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMv
V2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAorKysgYi9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKQEAgLTE2Nyw2ICsxNjcsOSBAQCBleHRlcm4gTlNTdHJp
bmcgKldlYlByZWZlcmVuY2VzUmVtb3ZlZE5vdGlmaWNhdGlvbjsKIC0gKEJPT0wpd2ViR0xFbmFi
bGVkOwogLSAodm9pZClzZXRXZWJHTEVuYWJsZWQ6KEJPT0wpZW5hYmxlZDsKIAorLSAoQk9PTCl1
c2VzSFRNTDVQYXJzZXI7CistICh2b2lkKXNldFVzZXNIVE1MNVBhcnNlcjooQk9PTClmbGFnOwor
CiAtIChCT09MKXVzZXNQcm94aWVkT3BlblBhbmVsOwogLSAodm9pZClzZXRVc2VzUHJveGllZE9w
ZW5QYW5lbDooQk9PTCllbmFibGVkOwogCmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViVmlldy5tbSBiL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IDM2MzEzYjQy
NjJjZTRlNjg4ZWU4ZjA3OTVmMmYyMzMyMmZkN2FkMGUuLjYwMTA0ZmZlYjQ4NTQ5NWRiYTVjMzFh
OGNkM2NlODIwNmRmNTdlMTEgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3
Lm1tCisrKyBiL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0xNDA1LDYgKzE0MDUs
NyBAQCBzdGF0aWMgYm9vbCBmYXN0RG9jdW1lbnRUZWFyZG93bkVuYWJsZWQoKQogICAgIHNldHRp
bmdzLT5zZXRXZWJHTEVuYWJsZWQoW3ByZWZlcmVuY2VzIHdlYkdMRW5hYmxlZF0pOwogICAgIHNl
dHRpbmdzLT5zZXRMb2FkRGVmZXJyaW5nRW5hYmxlZChzaG91bGRFbmFibGVMb2FkRGVmZXJyaW5n
KCkpOwogICAgIHNldHRpbmdzLT5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKFtwcmVmZXJlbmNl
cyBpc0ZyYW1lRmxhdHRlbmluZ0VuYWJsZWRdKTsKKyAgICBzZXR0aW5ncy0+c2V0VXNlc0hUTUw1
UGFyc2VyKFtwcmVmZXJlbmNlcyB1c2VzSFRNTDVQYXJzZXJdKTsKIH0KIAogc3RhdGljIGlubGlu
ZSBJTVAgZ2V0TWV0aG9kKGlkIG8sIFNFTCBzKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56342</attachid>
            <date>2010-05-18 02:37:42 -0700</date>
            <delta_ts>2010-05-18 02:56:28 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-39275-20100518023741.patch</filename>
            <type>text/plain</type>
            <size>29014</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQW5kcm9pZC5tayBiL1dlYkNvcmUvQW5kcm9pZC5tawppbmRl
eCBkM2ZlMzk5OWJlNzNlYmYwZTQ4MTk1NjVjYTdlODUwMGIzZGRjMzljLi44OGZmZDJhNmJjZmIw
NWYzMWM3ZTU0NmY4MjRmYTJlYTZkM2Y0NTIwIDEwMDY0NAotLS0gYS9XZWJDb3JlL0FuZHJvaWQu
bWsKKysrIGIvV2ViQ29yZS9BbmRyb2lkLm1rCkBAIC0yNDUsNiArMjQ1LDggQEAgTE9DQUxfU1JD
X0ZJTEVTIDo9ICQoTE9DQUxfU1JDX0ZJTEVTKSBcCiAJaHRtbC9GaWxlLmNwcCBcCiAJaHRtbC9G
aWxlTGlzdC5jcHAgXAogCWh0bWwvRm9ybURhdGFMaXN0LmNwcCBcCisJaHRtbC9IVE1MNUxleGVy
LmNwcCBcCisJaHRtbC9IVE1MNVRva2VuaXplci5jcHAgXAogCWh0bWwvSFRNTEFsbENvbGxlY3Rp
b24uY3BwIFwKIAlodG1sL0hUTUxDb2xsZWN0aW9uLmNwcCBcCiAJaHRtbC9IVE1MRGF0YUxpc3RF
bGVtZW50LmNwcCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dAppbmRleCAxYTMyMjBmYzY1YTA0NjhkNzkzYzQwNTY0OTBjYzUxYzQ5
NGRhOGMxLi4xMWYxNWFjYmJmMTViNmY2MTdjZDk5MzdjYjc0MmEyY2YzNWQyYjk5IDEwMDY0NAot
LS0gYS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
QEAgLTg4MCw2ICs4ODAsOCBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgaHRtbC9GaWxlLmNw
cAogICAgIGh0bWwvRmlsZUxpc3QuY3BwCiAgICAgaHRtbC9Gb3JtRGF0YUxpc3QuY3BwCisgICAg
aHRtbC9IVE1MNUxleGVyLmNwcAorICAgIGh0bWwvSFRNTDVUb2tlbml6ZXIuY3BwCiAgICAgaHRt
bC9IVE1MQWxsQ29sbGVjdGlvbi5jcHAKICAgICBodG1sL0hUTUxBbmNob3JFbGVtZW50LmNwcAog
ICAgIGh0bWwvSFRNTEFwcGxldEVsZW1lbnQuY3BwCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5n
ZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDhlNjRhNjg5Yzg0NTRiMzBkMzYwZjk4YjY1
YTAxMjVhMmIxZjc3Y2IuLjlmYjk1OGQ4YmE0OTQxNzdlY2ExMzU4MzdkYWE2NDIzYjczZTBiOWIg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsNDkgQEAKKzIwMTAtMDUtMTggIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2Ug
aXQgcG9zc2libGUgdG8gZW5hYmxlIHRoZSBuZXcgSFRNTDVUb2tlbml6ZXIgZm9yIHRlc3RpbmcK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM5Mjc1CisK
KyAgICAgICAgSSBhZGRlZCB1c2VzSFRNTDVQYXJzZXIgdG8gU2V0dGluZ3Mgc28gdGhhdCB3ZSBj
YW4gZW5hYmxlL2Rpc2FibGUKKyAgICAgICAgdGhlIEhUTUw1IHBhcnNlciBmb3IgdGVzdGluZy4K
KworICAgICAgICBJIGFsc28gcmlwcGVkIG91dCBhIGJ1bmNoIG9mIGRlYWQgY29kZSBmcm9tIEhU
TUw1TGV4ZXIuCisKKyAgICAgICAgSSBoYWQgdG8gYWRkIEhUTUw1TGV4ZXIvSFRNTDVUb2tlbml6
ZXIgdG8gYWxsIGJ1aWxkIHN5c3RlbXMgc28gdGhhdAorICAgICAgICB0aGUgYnVpbGQgd291bGRu
J3QgZmFpbCBub3cgdGhhdCB3ZSByZWZlcmVuY2UgdGhlc2UgY2xhc3NlcyBmcm9tIEhUTUxEb2N1
bWVudC4KKworICAgICAgICAqIEFuZHJvaWQubWs6CisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6
CisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAg
ICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvajoKKyAgICAgICAgKiBodG1sL0hUTUw1TGV4ZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTDVMZXhlcjo6cmVzZXQpOgorICAgICAgICAoV2ViQ29yZTo6aXNXaGl0ZXNwYWNlKToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUw1TGV4ZXI6Om5leHRUb2tlbik6CisgICAgICAgICogaHRt
bC9IVE1MNUxleGVyLmg6CisgICAgICAgICogaHRtbC9IVE1MNVRva2VuaXplci5jcHA6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZTo6SFRNTDVUb2tlbml6ZXI6OkhUTUw1VG9rZW5pemVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUw1VG9rZW5pemVyOjp+SFRNTDVUb2tlbml6ZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTDVUb2tlbml6ZXI6OmJlZ2luKToKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUw1VG9rZW5pemVyOjp3cml0ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MNVRva2VuaXplcjo6
ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUw1VG9rZW5pemVyOjpmaW5pc2gpOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTDVUb2tlbml6ZXI6OmlzV2FpdGluZ0ZvclNjcmlwdHMpOgorICAgICAg
ICAqIGh0bWwvSFRNTDVUb2tlbml6ZXIuaDogQWRkZWQuCisgICAgICAgICogaHRtbC9IVE1MRG9j
dW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERvY3VtZW50OjpjcmVhdGVUb2tlbml6
ZXIpOgorICAgICAgICAqIGh0bWwvSFRNTFRva2VuaXplci5oOgorICAgICAgICAqIGh0bWwvSFRN
TFZpZXdTb3VyY2VEb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVmlld1NvdXJj
ZURvY3VtZW50OjpjcmVhdGVUb2tlbml6ZXIpOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OlNldHRpbmdzKToKKyAgICAgICAgKiBwYWdl
L1NldHRpbmdzLmg6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0VXNlc0hUTUw1UGFy
c2VyKToKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjp1c2VzSFRNTDVQYXJzZXIpOgorCiAy
MDEwLTA1LTE4ICBNYWNpZWogU3RhY2hvd2lhayAgPG1qc0BhcHBsZS5jb20+CiAKICAgICAgICAg
Tm90IHJldmlld2VkLCBidWlsZCBmaXguCmRpZmYgLS1naXQgYS9XZWJDb3JlL0dOVW1ha2VmaWxl
LmFtIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCA1ZTBhMTI2M2EyMTc1N2YxNTcxN2E4
MWFhZDYyNzZkNGM1ZGY2M2E1Li5hOWU3MzI3YTQ2MDliMTBiNjU3NDg2MGJhNDI5ZjExMDg5NzYy
NzM5IDEwMDY0NAotLS0gYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1dlYkNvcmUvR05V
bWFrZWZpbGUuYW0KQEAgLTEwNjksNiArMTA2OSwxMCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAog
CVdlYkNvcmUvaHRtbC9GaWxlVGhyZWFkVGFzay5oIFwKIAlXZWJDb3JlL2h0bWwvRm9ybURhdGFM
aXN0LmNwcCBcCiAJV2ViQ29yZS9odG1sL0Zvcm1EYXRhTGlzdC5oIFwKKwlXZWJDb3JlL2h0bWwv
SFRNTDVMZXhlci5jcHAgXAorCVdlYkNvcmUvaHRtbC9IVE1MNUxleGVyLmggXAorCVdlYkNvcmUv
aHRtbC9IVE1MNVRva2VuaXplci5jcHAgXAorCVdlYkNvcmUvaHRtbC9IVE1MNVRva2VuaXplci5o
IFwKIAlXZWJDb3JlL2h0bWwvSFRNTEFsbENvbGxlY3Rpb24uY3BwIFwKIAlXZWJDb3JlL2h0bWwv
SFRNTEFsbENvbGxlY3Rpb24uaCBcCiAJV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmNw
cCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1dlYkNvcmUvV2ViQ29yZS5n
eXBpCmluZGV4IDkxZDdlZGFiNWE1MzA3NDU2N2Y1MDFjMTYyNmY3MzM2NjI5MmZiYjYuLmIwOTA2
MDQwYWM5YjBkOGIwN2NkZGY4ZjY1MTcyYTRjNTFjZGQ1MjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
V2ViQ29yZS5neXBpCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0xNDYxLDYgKzE0NjEs
MTAgQEAKICAgICAgICAgICAgICdodG1sL0ZpbGVUaHJlYWRUYXNrLmgnLAogICAgICAgICAgICAg
J2h0bWwvRm9ybURhdGFMaXN0LmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9Gb3JtRGF0YUxpc3Qu
aCcsCisgICAgICAgICAgICAnaHRtbC9IVE1MTGV4ZXIuY3BwJywKKyAgICAgICAgICAgICdodG1s
L0hUTUxMZXhlci5oJywKKyAgICAgICAgICAgICdodG1sL0hUTUxUb2tlbml6ZXIuY3BwJywKKyAg
ICAgICAgICAgICdodG1sL0hUTUxUb2tlbml6ZXIuaCcsCiAgICAgICAgICAgICAnaHRtbC9IVE1M
QWxsQ29sbGVjdGlvbi5jcHAnLAogICAgICAgICAgICAgJ2h0bWwvSFRNTEFsbENvbGxlY3Rpb24u
aCcsCiAgICAgICAgICAgICAnaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHAnLApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggOTMzMDgx
YWMyNjliNjE4OWZjY2NkMmFkZTQyYzI1YWRiYmZmNzBiYi4uM2Y5OTViZDRmNzFlZTYyZTI1Yjcy
YjdmNmE5ZmMwZDUwNjgwNDk3ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnBybworKysg
Yi9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC02MDUsNiArNjA1LDggQEAgU09VUkNFUyArPSBcCiAg
ICAgaHRtbC9GaWxlU3RyZWFtUHJveHkuY3BwIFwKICAgICBodG1sL0ZpbGVUaHJlYWQuY3BwIFwK
ICAgICBodG1sL0Zvcm1EYXRhTGlzdC5jcHAgXAorICAgIGh0bWwvSFRNTDVMZXhlci5jcHAgXAor
ICAgIGh0bWwvSFRNTDVUb2tlbml6ZXIuY3BwIFwKICAgICBodG1sL0hUTUxBbGxDb2xsZWN0aW9u
LmNwcCBcCiAgICAgaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHAgXAogICAgIGh0bWwvSFRNTEFw
cGxldEVsZW1lbnQuY3BwIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggM2UzODBjMGZlMzFhMzMwZjIxNDI4YWQ1NWZmYmYxMWM5OWQ1NWRmNC4uYmUzMDY1
N2Y5YjYxYzgwNmQ5MzQ3ZTkzYjYzMWFjOGVhMGIyMGEyMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTI5MzgsNiArMjkzOCw4IEBACiAJCUE4NjYyOUQy
MDlEQTJCNDgwMDk2MzNBNSAvKiBKU01vdXNlRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTg2NjI5Q0MwOURBMkI0NzAwOTYzM0E1IC8qIEpT
TW91c2VFdmVudC5jcHAgKi87IH07CiAJCUE4NjYyOUQzMDlEQTJCNDgwMDk2MzNBNSAvKiBKU0tl
eWJvYXJkRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEE4NjYyOUNEMDlEQTJCNDcwMDk2MzNBNSAvKiBKU0tleWJvYXJkRXZlbnQuaCAqLzsgfTsK
IAkJQTg2NjI5RDQwOURBMkI0ODAwOTYzM0E1IC8qIEpTS2V5Ym9hcmRFdmVudC5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBODY2MjlDRTA5REEyQjQ3
MDA5NjMzQTUgLyogSlNLZXlib2FyZEV2ZW50LmNwcCAqLzsgfTsKKwkJQTg3MTAzOEExMUEyOTQ3
MDAwREJENTBFIC8qIEhUTUw1VG9rZW5pemVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4NzEwMzg4MTFBMjk0NzAwMERCRDUwRSAvKiBIVE1MNVRv
a2VuaXplci5jcHAgKi87IH07CisJCUE4NzEwMzhCMTFBMjk0NzAwMERCRDUwRSAvKiBIVE1MNVRv
a2VuaXplci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTg3MTAzODkxMUEyOTQ3MDAwREJENTBFIC8qIEhUTUw1VG9rZW5pemVyLmggKi87IH07CiAJCUE4
NzFENDU2MEExMjdDQkMwMEIxMkE2OCAvKiBIVE1MUGx1Z0luRWxlbWVudC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTg3MUQ0NEMwQTEyN0NCQzAwQjEy
QTY4IC8qIEhUTUxQbHVnSW5FbGVtZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJQTg3MUQ0NTcwQTEyN0NCQzAwQjEyQTY4IC8qIEhUTUxQbHVn
SW5FbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEE4NzFENDREMEExMjdDQkMwMEIxMkE2OCAvKiBIVE1MUGx1Z0luRWxlbWVudC5jcHAgKi87
IH07CiAJCUE4NzFENDU4MEExMjdDQkMwMEIxMkE2OCAvKiBIVE1MUGFyYW1FbGVtZW50LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBODcxRDQ0RTBBMTI3
Q0JDMDBCMTJBNjggLyogSFRNTFBhcmFtRWxlbWVudC5oICovOyB9OwpAQCAtODM1NCw2ICs4MzU2
LDggQEAKIAkJQTg2NjI5Q0MwOURBMkI0NzAwOTYzM0E1IC8qIEpTTW91c2VFdmVudC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNNb3VzZUV2ZW50LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTg2NjI5Q0QwOURBMkI0NzAwOTYzM0E1IC8qIEpT
S2V5Ym9hcmRFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNLZXli
b2FyZEV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE4NjYyOUNFMDlEQTJC
NDcwMDk2MzNBNSAvKiBKU0tleWJvYXJkRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTS2V5Ym9hcmRFdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUE4NzEwMzg4MTFBMjk0NzAwMERCRDUwRSAvKiBIVE1MNVRva2VuaXplci5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIVE1MNVRva2VuaXplci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE4NzEwMzg5MTFBMjk0NzAwMERCRDUwRSAv
KiBIVE1MNVRva2VuaXplci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIVE1M
NVRva2VuaXplci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBODcxRDQ0QzBBMTI3
Q0JDMDBCMTJBNjggLyogSFRNTFBsdWdJbkVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEhUTUxQbHVnSW5FbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUE4NzFENDREMEExMjdDQkMwMEIxMkE2OCAvKiBIVE1MUGx1Z0luRWxlbWVudC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSFRNTFBsdWdJbkVsZW1lbnQu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBODcxRDQ0RTBBMTI3Q0JDMDBCMTJB
NjggLyogSFRNTFBhcmFtRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSFRNTFBhcmFtRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTMy
NjcsMTAgKzEzMjcxLDEwIEBACiAJCTkzRUVDMUVDMDlDMjg3NzcwMEM1MTVEMSAvKiBodG1sICov
ID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKLQkJCQk0OTQ4NEZBRTEw
MkNGMDFFMDAxODdERDMgLyogY2FudmFzICovLAogCQkJCTJFQUZBRjBCMTBFMkFGMkQwMDdFRDNE
NiAvKiBCbG9iLmNwcCAqLywKIAkJCQkyRUFGQUYwQzEwRTJBRjJEMDA3RUQzRDYgLyogQmxvYi5o
ICovLAogCQkJCTJFQUZBRjBEMTBFMkFGMkQwMDdFRDNENiAvKiBCbG9iLmlkbCAqLywKKwkJCQk0
OTQ4NEZBRTEwMkNGMDFFMDAxODdERDMgLyogY2FudmFzICovLAogCQkJCTkzQzQ0MUVEMEY4MTNB
MUEwMEMxQTYzNCAvKiBDb2xsZWN0aW9uQ2FjaGUuY3BwICovLAogCQkJCTkzQzQ0MUVFMEY4MTNB
MUEwMEMxQTYzNCAvKiBDb2xsZWN0aW9uQ2FjaGUuaCAqLywKIAkJCQk5M0M0NDFGRjBGODEzQUUx
MDBDMUE2MzQgLyogQ29sbGVjdGlvblR5cGUuaCAqLywKQEAgLTEzMzEyLDYgKzEzMzE2LDggQEAK
IAkJCQk5N0U4QjM1NDExQTIzQ0UyMDAxNjk0MDkgLyogSFRNTDVMZXhlci5jcHAgKi8sCiAJCQkJ
OTdFOEIzNTUxMUEyM0NFMjAwMTY5NDA5IC8qIEhUTUw1TGV4ZXIuaCAqLywKIAkJCQk5N0U4QjND
MjExQTI4OTA4MDAxNjk0MDkgLyogSFRNTDVUb2tlbi5oICovLAorCQkJCUE4NzEwMzg4MTFBMjk0
NzAwMERCRDUwRSAvKiBIVE1MNVRva2VuaXplci5jcHAgKi8sCisJCQkJQTg3MTAzODkxMUEyOTQ3
MDAwREJENTBFIC8qIEhUTUw1VG9rZW5pemVyLmggKi8sCiAJCQkJQkM5N0UyMzkxMDkxNDQ5NTAw
MTBEMzYxIC8qIEhUTUxBbGxDb2xsZWN0aW9uLmNwcCAqLywKIAkJCQlCQzk3RTIzODEwOTE0NDk1
MDAxMEQzNjEgLyogSFRNTEFsbENvbGxlY3Rpb24uaCAqLywKIAkJCQlCQzk3RTIzQzEwOTE0NkYx
MDAxMEQzNjEgLyogSFRNTEFsbENvbGxlY3Rpb24uaWRsICovLApAQCAtMTkyNjIsNiArMTkyNjgs
NyBAQAogCQkJCUM1NkM5MUE3MTE5RDkxODcwMERFNENEOSAvKiBKU0lEQlN1Y2Nlc3NFdmVudC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJOTdFOEIzNTcxMUEyM0NFMjAwMTY5NDA5IC8qIEhUTUw1TGV4
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3RThCM0MzMTFBMjg5MDgwMDE2OTQwOSAvKiBIVE1M
NVRva2VuLmggaW4gSGVhZGVycyAqLywKKwkJCQlBODcxMDM4QjExQTI5NDcwMDBEQkQ1MEUgLyog
SFRNTDVUb2tlbml6ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBs
b3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjE1NDMsNiArMjE1NTAsNyBAQAog
CQkJCUM1NkM5MUEyMTE5RDkxODEwMERFNENEOSAvKiBKU0lEQkV2ZW50LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUM1NkM5MUE2MTE5RDkxODcwMERFNENEOSAvKiBKU0lEQlN1Y2Nlc3NFdmVudC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk5N0U4QjM1NjExQTIzQ0UyMDAxNjk0MDkgLyogSFRNTDVM
ZXhlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBODcxMDM4QTExQTI5NDcwMDBEQkQ1MEUgLyog
SFRNTDVUb2tlbml6ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRl
cGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0
bWwvSFRNTDVMZXhlci5jcHAgYi9XZWJDb3JlL2h0bWwvSFRNTDVMZXhlci5jcHAKaW5kZXggODE4
MDYxZjY4N2EyMDVkMGI2ZjkzNzE1YjJiNGE4ZmVmMzA0NzcyYy4uOGE3ZjAyZWY0N2JiYTdhYzNl
MWIzZjUzYzRmMzA3OThjYzQ5NDA5ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUw1TGV4
ZXIuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MNUxleGVyLmNwcApAQCAtMzIsMTAgKzMyLDEy
IEBACiAjaW5jbHVkZSAiSFRNTDVUb2tlbi5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2lu
Y2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCi0jaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgog
I2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgorI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5o
PgorI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9V
bmljb2RlLmg+CiAKKwogLy8gVXNlIF9fR05VQ19fIGluc3RlYWQgb2YgUExBVEZPUk0oR0NDKSB0
byBzdGF5IGNvbnNpc3RlbnQgd2l0aCB0aGUgZ3BlcmYgZ2VuZXJhdGVkIGMgZmlsZQogI2lmZGVm
IF9fR05VQ19fCiAvLyBUaGUgbWFpbiB0b2tlbml6ZXIgaW5jbHVkZXMgdGhpcyB0b28gc28gd2Ug
YXJlIGdldHRpbmcgdHdvIGNvcGllcyBvZiB0aGUgZGF0YS4gSG93ZXZlciwgdGhpcyB3YXkgdGhl
IGNvZGUgZ2V0cyBpbmxpbmVkLgpAQCAtNjQsNzAgKzY2LDE1IEBAIEhUTUw1TGV4ZXI6On5IVE1M
NUxleGVyKCkKIHsKIH0KIAotdm9pZCBIVE1MNUxleGVyOjpiZWdpbigpIAoteyAKLSAgICByZXNl
dCgpOyAKLX0KLQotdm9pZCBIVE1MNUxleGVyOjplbmQoKSAKLXsKLX0KLQogdm9pZCBIVE1MNUxl
eGVyOjpyZXNldCgpCiB7Ci0gICAgbV9zb3VyY2UuY2xlYXIoKTsKLQogICAgIG1fc3RhdGUgPSBE
YXRhU3RhdGU7Ci0gICAgbV9lc2NhcGUgPSBmYWxzZTsKLSAgICBtX2NvbnRlbnRNb2RlbCA9IFBD
REFUQTsKLSAgICBtX2NvbW1lbnRQb3MgPSAwOwotCi0gICAgbV9jbG9zZVRhZyA9IGZhbHNlOwot
ICAgIG1fdGFnTmFtZS5jbGVhcigpOwotICAgIG1fYXR0cmlidXRlTmFtZS5jbGVhcigpOwotICAg
IG1fYXR0cmlidXRlVmFsdWUuY2xlYXIoKTsKLSAgICBtX2xhc3RTdGFydFRhZyA9IEF0b21pY1N0
cmluZygpOwotCi0gICAgbV9sYXN0Q2hhcmFjdGVySW5kZXggPSAwOwotICAgIGNsZWFyTGFzdENo
YXJhY3RlcnMoKTsKLX0KLQotdm9pZCBIVE1MNUxleGVyOjp3cml0ZShjb25zdCBTZWdtZW50ZWRT
dHJpbmcmIHNvdXJjZSwgSFRNTDVUb2tlbiYgb3V0cHV0VG9rZW4pCi17Ci0gICAgbV9vdXRwdXRU
b2tlbiA9ICZvdXRwdXRUb2tlbjsKLSAgICB0b2tlbml6ZShzb3VyY2UpOwotICAgIG1fb3V0cHV0
VG9rZW4gPSAwOwogfQogCiBzdGF0aWMgaW5saW5lIGJvb2wgaXNXaGl0ZXNwYWNlKFVDaGFyIGMp
CiB7CiAgICAgcmV0dXJuIGMgPT0gJyAnIHx8IGMgPT0gJ1xuJyB8fCBjID09ICdccicgfHwgYyA9
PSAnXHQnOwogfQotCi1pbmxpbmUgdm9pZCBIVE1MNUxleGVyOjpjbGVhckxhc3RDaGFyYWN0ZXJz
KCkKLXsKLSAgICBtZW1zZXQobV9sYXN0Q2hhcmFjdGVycywgMCwgbGFzdENoYXJhY3RlcnNCdWZm
ZXJTaXplICogc2l6ZW9mKFVDaGFyKSk7Ci19Ci0KLWlubGluZSB2b2lkIEhUTUw1TGV4ZXI6OnJl
bWVtYmVyQ2hhcmFjdGVyKFVDaGFyIGMpCi17Ci0gICAgbV9sYXN0Q2hhcmFjdGVySW5kZXggPSAo
bV9sYXN0Q2hhcmFjdGVySW5kZXggKyAxKSAlIGxhc3RDaGFyYWN0ZXJzQnVmZmVyU2l6ZTsKLSAg
ICBtX2xhc3RDaGFyYWN0ZXJzW21fbGFzdENoYXJhY3RlckluZGV4XSA9IGM7Ci19Ci0KLWlubGlu
ZSBib29sIEhUTUw1TGV4ZXI6Omxhc3RDaGFyYWN0ZXJzTWF0Y2goY29uc3QgY2hhciogY2hhcnMs
IHVuc2lnbmVkIGNvdW50KSBjb25zdAotewotICAgIHVuc2lnbmVkIHBvcyA9IG1fbGFzdENoYXJh
Y3RlckluZGV4OwotICAgIHdoaWxlIChjb3VudCkgewotICAgICAgICBpZiAoY2hhcnNbY291bnQg
LSAxXSAhPSBtX2xhc3RDaGFyYWN0ZXJzW3Bvc10pCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7
Ci0gICAgICAgIC0tY291bnQ7Ci0gICAgICAgIGlmICghcG9zKQotICAgICAgICAgICAgcG9zID0g
bGFzdENoYXJhY3RlcnNCdWZmZXJTaXplOwotICAgICAgICAtLXBvczsKLSAgICB9Ci0gICAgcmV0
dXJuIHRydWU7Ci19CiAgICAgCiBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxlZ2FsRW50aXR5Rm9y
KHVuc2lnbmVkIHZhbHVlKQogewpAQCAtMjU1LDEzICsyMDIsMTMgQEAgb3V0T2ZDaGFyYWN0ZXJz
OgogICAgIHJldHVybiAwOwogfQogCi12b2lkIEhUTUw1TGV4ZXI6OnRva2VuaXplKGNvbnN0IFNl
Z21lbnRlZFN0cmluZyYgc291cmNlKQordm9pZCBIVE1MNUxleGVyOjpuZXh0VG9rZW4oU2VnbWVu
dGVkU3RyaW5nJiBzb3VyY2UsIEhUTUw1VG9rZW4mIHRva2VuKQogewotICAgIG1fc291cmNlLmFw
cGVuZChzb3VyY2UpOwotCisgICAgbV9vdXRwdXRUb2tlbiA9ICZ0b2tlbjsKICAgICAvLyBTb3Vy
Y2U6IGh0dHA6Ly93d3cud2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9jdXJyZW50LXdvcmsvI3Rv
a2VuaXNhdGlvbjAKLSAgICB3aGlsZSAoIW1fc291cmNlLmlzRW1wdHkoKSkgewotICAgICAgICBV
Q2hhciBjYyA9ICptX3NvdXJjZTsKKyAgICAvLyBGSVhNRTogVGhpcyB3aGlsZSBzaG91bGQgc3Rv
cCBhcyBzb29uIGFzIHdlIGhhdmUgYSB0b2tlbiB0byByZXR1cm4uCisgICAgd2hpbGUgKCFzb3Vy
Y2UuaXNFbXB0eSgpKSB7CisgICAgICAgIFVDaGFyIGNjID0gKnNvdXJjZTsKICAgICAgICAgc3dp
dGNoIChtX3N0YXRlKSB7CiAgICAgICAgIGNhc2UgRGF0YVN0YXRlOiB7CiAgICAgICAgICAgICBp
ZiAoY2MgPT0gJyYnKQpAQCAtNzUxLDE2ICs2OTgsOSBAQCB2b2lkIEhUTUw1TGV4ZXI6OnRva2Vu
aXplKGNvbnN0IFNlZ21lbnRlZFN0cmluZyYgc291cmNlKQogICAgICAgICAgICAgbm90SW1wbGVt
ZW50ZWQoKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9Ci0gICAgICAgIG1fc291cmNl
LmFkdmFuY2UoKTsKKyAgICAgICAgc291cmNlLmFkdmFuY2UoKTsKICAgICB9Ci19Ci0KLXZvaWQg
SFRNTDVMZXhlcjo6cHJvY2Vzc0F0dHJpYnV0ZSgpCi17Ci0gICAgQXRvbWljU3RyaW5nIHRhZyA9
IEF0b21pY1N0cmluZyhtX3RhZ05hbWUuZGF0YSgpLCBtX3RhZ05hbWUuc2l6ZSgpKTsKLSAgICBB
dG9taWNTdHJpbmcgYXR0cmlidXRlID0gQXRvbWljU3RyaW5nKG1fYXR0cmlidXRlTmFtZS5kYXRh
KCksIG1fYXR0cmlidXRlTmFtZS5zaXplKCkpOwotCi0gICAgU3RyaW5nIHZhbHVlKG1fYXR0cmli
dXRlVmFsdWUuZGF0YSgpLCBtX2F0dHJpYnV0ZVZhbHVlLnNpemUoKSk7CisgICAgbV9vdXRwdXRU
b2tlbiA9IDA7CiB9CiAKIGlubGluZSBib29sIEhUTUw1TGV4ZXI6OnRlbXBvcmFyeUJ1ZmZlcklz
KGNvbnN0IGNoYXIqKQpAQCAtNzc4LDI4ICs3MTgsNCBAQCBpbmxpbmUgdm9pZCBIVE1MNUxleGVy
OjplbWl0UGFyc2VFcnJvcigpCiB7CiB9CiAKLXZvaWQgSFRNTDVMZXhlcjo6ZW1pdFRhZygpCi17
Ci0gICAgaWYgKG1fY2xvc2VUYWcpIHsKLSAgICAgICAgbV9jb250ZW50TW9kZWwgPSBQQ0RBVEE7
Ci0gICAgICAgIGNsZWFyTGFzdENoYXJhY3RlcnMoKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0K
LQotICAgIEF0b21pY1N0cmluZyB0YWcobV90YWdOYW1lLmRhdGEoKSwgbV90YWdOYW1lLnNpemUo
KSk7Ci0gICAgbV9sYXN0U3RhcnRUYWcgPSB0YWc7Ci0KLSAgICBpZiAodGFnID09IHRleHRhcmVh
VGFnIHx8IHRhZyA9PSB0aXRsZVRhZykKLSAgICAgICAgbV9jb250ZW50TW9kZWwgPSBSQ0RBVEE7
Ci0gICAgZWxzZSBpZiAodGFnID09IHN0eWxlVGFnIHx8IHRhZyA9PSB4bXBUYWcgfHwgdGFnID09
IHNjcmlwdFRhZyB8fCB0YWcgPT0gaWZyYW1lVGFnIHx8IHRhZyA9PSBub2VtYmVkVGFnIHx8IHRh
ZyA9PSBub2ZyYW1lc1RhZykKLSAgICAgICAgbV9jb250ZW50TW9kZWwgPSBDREFUQTsKLSAgICBl
bHNlIGlmICh0YWcgPT0gbm9zY3JpcHRUYWcpCi0gICAgICAgIC8vIHdlIHdvdWxkbid0IGJlIGhl
cmUgaWYgc2NyaXB0cyB3ZXJlIGRpc2FibGVkCi0gICAgICAgIG1fY29udGVudE1vZGVsID0gQ0RB
VEE7Ci0gICAgZWxzZSBpZiAodGFnID09IHBsYWludGV4dFRhZykKLSAgICAgICAgbV9jb250ZW50
TW9kZWwgPSBQTEFJTlRFWFQ7Ci0gICAgZWxzZQotICAgICAgICBtX2NvbnRlbnRNb2RlbCA9IFBD
REFUQTsKLX0KLQogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUw1TGV4ZXIuaCBiL1dl
YkNvcmUvaHRtbC9IVE1MNUxleGVyLmgKaW5kZXggY2FiNGJlMDg0YmIxMTc4ZTUwMzcxYTYyOTM3
NjViOTgzNWVhMWUwMC4uOGQ5MDI3YTA5NGU0NDE0ZDE4YzUwNGQ4YzRlZjNjMmQwOTBlMTdmMyAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUw1TGV4ZXIuaAorKysgYi9XZWJDb3JlL2h0bWwv
SFRNTDVMZXhlci5oCkBAIC0zNSwzMiArMzUsMjAgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
ICAgIGNsYXNzIEhUTUw1VG9rZW47Ci0gICAgCisKICAgICBjbGFzcyBIVE1MNUxleGVyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKICAgICBwdWJsaWM6CiAgICAgICAgIEhUTUw1TGV4ZXIoKTsKICAg
ICAgICAgfkhUTUw1TGV4ZXIoKTsKIAotICAgICAgICB2b2lkIGJlZ2luKCk7Ci0gICAgICAgIHZv
aWQgd3JpdGUoY29uc3QgU2VnbWVudGVkU3RyaW5nJiwgSFRNTDVUb2tlbiYpOwotICAgICAgICB2
b2lkIGVuZCgpOworICAgICAgICB2b2lkIHJlc2V0KCk7CisgICAgICAgIHZvaWQgbmV4dFRva2Vu
KFNlZ21lbnRlZFN0cmluZyYsIEhUTUw1VG9rZW4mKTsKIAogICAgICAgICBzdGF0aWMgdW5zaWdu
ZWQgY29uc3VtZUVudGl0eShTZWdtZW50ZWRTdHJpbmcmLCBib29sJiBub3RFbm91Z2hDaGFyYWN0
ZXJzKTsKIAogICAgIHByaXZhdGU6Ci0gICAgICAgIHZvaWQgdG9rZW5pemUoY29uc3QgU2VnbWVu
dGVkU3RyaW5nJik7Ci0gICAgICAgIHZvaWQgcmVzZXQoKTsKLQotICAgICAgICB2b2lkIGVtaXRU
YWcoKTsKICAgICAgICAgaW5saW5lIHZvaWQgZW1pdENoYXJhY3RlcihVQ2hhcik7CiAgICAgICAg
IGlubGluZSB2b2lkIGVtaXRQYXJzZUVycm9yKCk7Ci0gICAgICAgIHZvaWQgcHJvY2Vzc0F0dHJp
YnV0ZSgpOwotCi0gICAgICAgIGlubGluZSBib29sIHRlbXBvcmFyeUJ1ZmZlcklzKGNvbnN0IGNo
YXIqKTsKLQotICAgICAgICB2b2lkIGNsZWFyTGFzdENoYXJhY3RlcnMoKTsKLSAgICAgICAgdm9p
ZCByZW1lbWJlckNoYXJhY3RlcihVQ2hhcik7Ci0gICAgICAgIGJvb2wgbGFzdENoYXJhY3RlcnNN
YXRjaChjb25zdCBjaGFyKiwgdW5zaWduZWQgY291bnQpIGNvbnN0OwogCiAgICAgICAgIFNlZ21l
bnRlZFN0cmluZyBtX3NvdXJjZTsKICAgICAgICAgSFRNTDVUb2tlbiogbV9vdXRwdXRUb2tlbjsK
QEAgLTE0MiwyOSArMTMwLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIC8vIGh0
dHA6Ly93d3cud2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9jdXJyZW50LXdvcmsvI3RlbXBvcmFy
eS1idWZmZXIKICAgICAgICAgVmVjdG9yPFVDaGFyLCAxMDI0PiBtX3RlbXBvcmFyeUJ1ZmZlcjsK
LQotCi0KLSAgICAgICAgYm9vbCBtX2VzY2FwZTsKLSAgICAgICAgZW51bSBDb250ZW50TW9kZWwg
ewotICAgICAgICAgICAgUENEQVRBLAotICAgICAgICAgICAgUkNEQVRBLAotICAgICAgICAgICAg
Q0RBVEEsCi0gICAgICAgICAgICBQTEFJTlRFWFQKLSAgICAgICAgfTsKLSAgICAgICAgQ29udGVu
dE1vZGVsIG1fY29udGVudE1vZGVsOwotICAgICAgICB1bnNpZ25lZCBtX2NvbW1lbnRQb3M7Ci0g
ICAgICAgIFN0YXRlIG1fc3RhdGVCZWZvcmVFbnRpdHlJbkF0dHJpYnV0ZVZhbHVlOwotCi0gICAg
ICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBsYXN0Q2hhcmFjdGVyc0J1ZmZlclNpemUgPSA4Owot
ICAgICAgICBVQ2hhciBtX2xhc3RDaGFyYWN0ZXJzW2xhc3RDaGFyYWN0ZXJzQnVmZmVyU2l6ZV07
Ci0gICAgICAgIHVuc2lnbmVkIG1fbGFzdENoYXJhY3RlckluZGV4OwotCi0gICAgICAgIGJvb2wg
bV9jbG9zZVRhZzsKLSAgICAgICAgVmVjdG9yPFVDaGFyLCAzMj4gbV90YWdOYW1lOwotICAgICAg
ICBWZWN0b3I8VUNoYXIsIDMyPiBtX2F0dHJpYnV0ZU5hbWU7Ci0gICAgICAgIFZlY3RvcjxVQ2hh
cj4gbV9hdHRyaWJ1dGVWYWx1ZTsKLSAgICAgICAgQXRvbWljU3RyaW5nIG1fbGFzdFN0YXJ0VGFn
OwogICAgIH07CiAKIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MNVRva2VuaXplci5j
cHAgYi9XZWJDb3JlL2h0bWwvSFRNTDVUb2tlbml6ZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY3MGEwZTU1
YTFkNmYzYzBhNGFlMjYzNDM5OThkMTBhYTU2MjRiMmQKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJD
b3JlL2h0bWwvSFRNTDVUb2tlbml6ZXIuY3BwCkBAIC0wLDAgKzEsODYgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTAgR29vZ2xlLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
CisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiSFRNTDVUb2tlbml6ZXIuaCIKKworI2luY2x1ZGUgIkhUTUw1TGV4ZXIuaCIK
KyNpbmNsdWRlICJIVE1MRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MUGFyc2VyLmgiCisjaW5j
bHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitIVE1MNVRv
a2VuaXplcjo6SFRNTDVUb2tlbml6ZXIoSFRNTERvY3VtZW50KiBkb2MsIGJvb2wgcmVwb3J0RXJy
b3JzKQorICAgIDogVG9rZW5pemVyKCkKKyAgICAsIG1fZG9jKGRvYykKKyAgICAsIG1fbGV4ZXIo
bmV3IEhUTUw1TGV4ZXIpCisgICAgLCBtX3BhcnNlcihuZXcgSFRNTFBhcnNlcihkb2MsIHJlcG9y
dEVycm9ycykpCit7CisgICAgYmVnaW4oKTsKK30KKworSFRNTDVUb2tlbml6ZXI6On5IVE1MNVRv
a2VuaXplcigpCit7Cit9CisKK3ZvaWQgSFRNTDVUb2tlbml6ZXI6OmJlZ2luKCkKK3sKK30KKwor
dm9pZCBIVE1MNVRva2VuaXplcjo6d3JpdGUoY29uc3QgU2VnbWVudGVkU3RyaW5nJiBzb3VyY2Us
IGJvb2wpCit7CisgICAgbV9zb3VyY2UuYXBwZW5kKHNvdXJjZSk7CisKKyAgICB3aGlsZSAoIW1f
c291cmNlLmlzRW1wdHkoKSkgeworICAgICAgICBIVE1MNVRva2VuIHRva2VuOworICAgICAgICBp
ZiAobV9sZXhlci0+bmV4dFRva2VuKG1fc291cmNlLCB0b2tlbikpIHsKKyAgICAgICAgICAgIC8v
IGh0dHA6Ly93d3cud2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9jdXJyZW50LXdvcmsvI3RyZWUt
Y29uc3RydWN0aW9uCisgICAgICAgICAgICAvLyBXZSBuZWVkIHRvIGFkZCBjb2RlIHRvIHRoZSBw
YXJzZXIgaW4gb3JkZXIgdG8gdW5kZXJzdGFuZAorICAgICAgICAgICAgLy8gSFRNTDVUb2tlbiBv
YmplY3RzLiAgVGhlIG9sZCBIVE1MIGNvZGVwYXRoIGRvZXMgbm90IGhhdmUgYSBuaWNlCisgICAg
ICAgICAgICAvLyBzZXBhcmF0aW9uIGJldHdlZW4gdGhlIHBhcnNlciBsb2dpYyBhbmQgdG9rZW5p
emVyIGxvZ2ljIGxpa2UKKyAgICAgICAgICAgIC8vIHRoZSBIVE1MNSBjb2RlcGF0aCBzaG91bGQu
ICBUaGUgY2FsbCBzaG91bGQgbG9vayBzb21ldGhpbmcgbGlrZToKKyAgICAgICAgICAgIC8vIG1f
cGFyc2VyLT5jb25zdHJ1Y3RUcmVlRnJvbVRva2VuKHRva2VuKTsKKyAgICAgICAgfQorICAgIH0K
K30KKwordm9pZCBIVE1MNVRva2VuaXplcjo6ZW5kKCkKK3sKKyAgICBtX3BhcnNlci0+ZmluaXNo
ZWQoKTsKK30KKwordm9pZCBIVE1MNVRva2VuaXplcjo6ZmluaXNoKCkKK3sKKyAgICBlbmQoKTsK
K30KKworYm9vbCBIVE1MNVRva2VuaXplcjo6aXNXYWl0aW5nRm9yU2NyaXB0cygpIGNvbnN0Cit7
CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK30KZGlmZiAt
LWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MNVRva2VuaXplci5oIGIvV2ViQ29yZS9odG1sL0hUTUw1
VG9rZW5pemVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2YyZGFmZTEyOGY0MGQxYjA0OTBiY2Q1MzAyNWRmNGY2
Zjc5NGJiNgotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MNVRva2VuaXplci5o
CkBAIC0wLDAgKzEsNjkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlLCBJbmMu
IEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKKyAqLworCisjaWZuZGVmIEhUTUw1VG9rZW5pemVyX2gKKyNkZWZpbmUgSFRNTDVUb2tlbml6
ZXJfaAorCisjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VDbGllbnQuaCIKKyNpbmNsdWRlICJTZWdt
ZW50ZWRTdHJpbmcuaCIKKyNpbmNsdWRlICJUb2tlbml6ZXIuaCIKKyNpbmNsdWRlIDx3dGYvT3du
UHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRG9jdW1lbnQ7CitjbGFzcyBI
VE1MRG9jdW1lbnQ7CitjbGFzcyBIVE1MUGFyc2VyOworY2xhc3MgSFRNTDVMZXhlcjsKKworLy8g
RklYTUU6IFRoaXMgaXMgdGhlIHdyb25nIGxheWVyIHRvIGhvb2sgaW4gdGhlIG5ldyBIVE1MIDUg
TGV4ZXIsCisvLyBob3dldmVyIEhUTUxUb2tlbml6ZXIgaXMgdG9vIGxhcmdlIGFuZCB0b28gZnJh
Z2lsZSBvZiBhIGNsYXNzIHRvIGhhY2sgaW50by4KKy8vIEV2ZW50dWFsbHkgd2Ugc2hvdWxkIHNw
bGl0IGFsbCBvZiB0aGUgSFRNTCBsZXhlciBsb2dpYyBvdXQgZnJvbSBIVE1MVG9rZW5pemVyCisv
LyBhbmQgdGhlbiBzaGFyZSBub24tbGV4ZXItc3BlY2lmaWMgdG9rZW5pemVyIGxvZ2ljIGJldHdl
ZW4gSFRNTDUgYW5kIHRoZQorLy8gbGVnYWN5IFdlYktpdCBIVE1MIGxleGVyLgorCisvLyBGSVhN
RTogVGhpcyBjbGFzcyBpcyBmYXIgZnJvbSBjb21wbGV0ZS4KK2NsYXNzIEhUTUw1VG9rZW5pemVy
IDogIHB1YmxpYyBUb2tlbml6ZXIsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CitwdWJs
aWM6CisgICAgSFRNTDVUb2tlbml6ZXIoSFRNTERvY3VtZW50KiwgYm9vbCByZXBvcnRFcnJvcnMp
OworICAgIHZpcnR1YWwgfkhUTUw1VG9rZW5pemVyKCk7CisKKyAgICB2aXJ0dWFsIHZvaWQgYmVn
aW4oKTsKKyAgICB2aXJ0dWFsIHZvaWQgd3JpdGUoY29uc3QgU2VnbWVudGVkU3RyaW5nJiwgYm9v
bCBhcHBlbmREYXRhKTsKKyAgICB2aXJ0dWFsIHZvaWQgZW5kKCk7CisgICAgdmlydHVhbCB2b2lk
IGZpbmlzaCgpOworICAgIHZpcnR1YWwgYm9vbCBpc1dhaXRpbmdGb3JTY3JpcHRzKCkgY29uc3Q7
CisKK3ByaXZhdGU6CisgICAgU2VnbWVudGVkU3RyaW5nIG1fc291cmNlOworCisgICAgRG9jdW1l
bnQqIG1fZG9jOworICAgIE93blB0cjxIVE1MNUxleGVyPiBtX2xleGVyOworICAgIE93blB0cjxI
VE1MUGFyc2VyPiBtX3BhcnNlcjsKK307CisKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2h0bWwvSFRNTERvY3VtZW50LmNwcCBiL1dlYkNvcmUvaHRtbC9IVE1MRG9jdW1lbnQuY3Bw
CmluZGV4IDMwNDhlZTk2ZmQxN2ZkNThjNjc3NTk1NGQwYTM4NWU0YjI4ZDBlZjcuLmI5ZGU5MzA4
ZDNjMTE5NGZkZWE2ZWVjYTAzZDg5YjhlYjkzY2QwYmEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRt
bC9IVE1MRG9jdW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MRG9jdW1lbnQuY3BwCkBA
IC02NCw2ICs2NCw3IEBACiAjaW5jbHVkZSAiRnJhbWVMb2FkZXIuaCIKICNpbmNsdWRlICJGcmFt
ZVRyZWUuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKKyNpbmNsdWRlICJIVE1MNVRva2VuaXpl
ci5oIgogI2luY2x1ZGUgIkhUTUxCb2R5RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxFbGVtZW50
RmFjdG9yeS5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgpAQCAtNzEsNiArNzIsNyBAQAogI2lu
Y2x1ZGUgIkluc3BlY3RvckNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJLVVJMLmgiCiAjaW5jbHVk
ZSAiUGFnZS5oIgorI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0
cmluZy5oPgogCiAjaW5jbHVkZSAiRG9jVHlwZVN0cmluZ3MuY3BwIgpAQCAtMjgxLDcgKzI4Myw3
IEBAIHZvaWQgSFRNTERvY3VtZW50OjpyZWxlYXNlRXZlbnRzKCkKIHsKIH0KIAotVG9rZW5pemVy
ICpIVE1MRG9jdW1lbnQ6OmNyZWF0ZVRva2VuaXplcigpCitUb2tlbml6ZXIqIEhUTUxEb2N1bWVu
dDo6Y3JlYXRlVG9rZW5pemVyKCkKIHsKICAgICBib29sIHJlcG9ydEVycm9ycyA9IGZhbHNlOwog
I2lmIEVOQUJMRShJTlNQRUNUT1IpCkBAIC0yODksNiArMjkxLDkgQEAgVG9rZW5pemVyICpIVE1M
RG9jdW1lbnQ6OmNyZWF0ZVRva2VuaXplcigpCiAgICAgICAgIHJlcG9ydEVycm9ycyA9IHBhZ2Ut
Pmluc3BlY3RvckNvbnRyb2xsZXIoKS0+d2luZG93VmlzaWJsZSgpOwogI2VuZGlmCiAKKyAgICBp
ZiAoc2V0dGluZ3MoKSAmJiBzZXR0aW5ncygpLT5odG1sNVBhcnNlckVuYWJsZWQoKSkKKyAgICAg
ICAgcmV0dXJuIG5ldyBIVE1MNVRva2VuaXplcih0aGlzLCByZXBvcnRFcnJvcnMpOworCiAgICAg
cmV0dXJuIG5ldyBIVE1MVG9rZW5pemVyKHRoaXMsIHJlcG9ydEVycm9ycyk7CiB9CiAKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MVG9rZW5pemVyLmggYi9XZWJDb3JlL2h0bWwvSFRNTFRv
a2VuaXplci5oCmluZGV4IDI5MGZjNWNhMWYxYTA5YzBhZGE2MmE5YTBhMTQ5YThjMjAzZjc2OGUu
LjFiMDMxNGMwNGJkYmI1NDMxODU0MTBjMjhlOTVjYWMzNGU3NmQzNTUgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvaHRtbC9IVE1MVG9rZW5pemVyLmgKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxUb2tlbml6
ZXIuaApAQCAtMTMyLDYgKzEzMiwxMSBAQCBwdWJsaWM6CiAKIC8vLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KIAorLy8gRklYTUU6IFRoaXMgY2xhc3MgZG9lcyB0b28gbXVjaC4gIFJpZ2h0IG5vdyBpdCBp
cyBib3RoIGFuIEhUTUwgbGV4ZXIgYXMgd2VsbAorLy8gYXMgaGFuZGxpbmcgYWxsIG9mIHRoZSBu
b24tbGV4ZXItc3BlY2lmaWMganVuayByZWxhdGVkIHRvIHRva2VuaXppbmcgSFRNTAorLy8gKGxp
a2UgZGVhbGluZyB3aXRoIDxzY3JpcHQ+IHRhZ3MpLiAgVGhlIEhUTUwgbGV4ZXIgYml0cyBzaG91
bGQgYmUgcHVzaGVkCisvLyBkb3duIGludG8gYSBzZXBhcmF0ZSBIVE1MIGxleGVyIGNsYXNzLgor
CiBjbGFzcyBIVE1MVG9rZW5pemVyIDogcHVibGljIFRva2VuaXplciwgcHVibGljIENhY2hlZFJl
c291cmNlQ2xpZW50IHsKIHB1YmxpYzoKICAgICBIVE1MVG9rZW5pemVyKEhUTUxEb2N1bWVudCos
IGJvb2wgcmVwb3J0RXJyb3JzKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MVmlld1Nv
dXJjZURvY3VtZW50LmNwcCBiL1dlYkNvcmUvaHRtbC9IVE1MVmlld1NvdXJjZURvY3VtZW50LmNw
cAppbmRleCAyZDgwMGI0YmZiMWE1ZjJiMGJkNmFhYWQ4ODEyM2VkNzBjZmRmMzJjLi43ZjFlNzg5
MDhiMGYwYWU5ODg5OWZjYWQ1NDAwNDcwM2RmZmQ3MmJjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0
bWwvSFRNTFZpZXdTb3VyY2VEb2N1bWVudC5jcHAKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxWaWV3
U291cmNlRG9jdW1lbnQuY3BwCkBAIC01OSw2ICs1OSw3IEBAIFRva2VuaXplciogSFRNTFZpZXdT
b3VyY2VEb2N1bWVudDo6Y3JlYXRlVG9rZW5pemVyKCkKICAgICAgICAgfHwgbV90eXBlID09ICJh
cHBsaWNhdGlvbi92bmQud2FwLnhodG1sK3htbCIKICNlbmRpZgogICAgICAgICApIHsKKyAgICAg
ICAgLy8gRklYTUU6IFNob3VsZCByZXNwZWN0IFNldHRpbmdzOjpodG1sNVBhcnNlckVuYWJsZWQo
KQogICAgICAgICByZXR1cm4gbmV3IEhUTUxUb2tlbml6ZXIodGhpcyk7CiAgICAgfQogCmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwIGIvV2ViQ29yZS9wYWdlL1NldHRpbmdz
LmNwcAppbmRleCA3MTQ4ODhiYmJiOGI1MjkxNjI4OGIzNzgyOTYyODU3NTYwZmI5N2RmLi42ZjZi
YjA0MTk3OWIzODM4YzZmNzI4YmZhNjI3ZjMwZGQ2ZWQ0NzFjIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BhZ2UvU2V0dGluZ3MuY3BwCisrKyBiL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKQEAgLTEz
Miw2ICsxMzIsNyBAQCBTZXR0aW5nczo6U2V0dGluZ3MoUGFnZSogcGFnZSkKICAgICAsIG1fd2Vi
R0xFbmFibGVkKGZhbHNlKQogICAgICwgbV9sb2FkRGVmZXJyaW5nRW5hYmxlZCh0cnVlKQogICAg
ICwgbV90aWxlZEJhY2tpbmdTdG9yZUVuYWJsZWQoZmFsc2UpCisgICAgLCBtX2h0bWw1UGFyc2Vy
RW5hYmxlZChmYWxzZSkKIHsKICAgICAvLyBBIEZyYW1lIG1heSBub3QgaGF2ZSBiZWVuIGNyZWF0
ZWQgeWV0LCBzbyB3ZSBpbml0aWFsaXplIHRoZSBBdG9taWNTdHJpbmcgCiAgICAgLy8gaGFzaCBi
ZWZvcmUgdHJ5aW5nIHRvIHVzZSBpdC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9TZXR0aW5n
cy5oIGIvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKaW5kZXggMzI3ZGQwNGNkNmVjNGIyODk4ODBm
ZGZjYzVlNTE4MmFiNWYwMjU5OS4uZGMzYjUwZmI3YWQ4ZTQyMzczMzc1NGRlYjZlY2YwMzk3NGVm
MjllNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKKysrIGIvV2ViQ29yZS9w
YWdlL1NldHRpbmdzLmgKQEAgLTMwOCw2ICszMDgsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgICAgIHZvaWQgc2V0VGlsZWRCYWNraW5nU3RvcmVFbmFibGVkKGJvb2wpOwogICAgICAgICBi
b29sIHRpbGVkQmFja2luZ1N0b3JlRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fdGlsZWRCYWNr
aW5nU3RvcmVFbmFibGVkOyB9CiAKKyAgICAgICAgdm9pZCBzZXRIVE1MNVBhcnNlckVuYWJsZWQo
Ym9vbCBmbGFnKSB7IG1faHRtbDVQYXJzZXJFbmFibGVkID0gZmxhZzsgfQorICAgICAgICBib29s
IGh0bWw1UGFyc2VyRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faHRtbDVQYXJzZXJFbmFibGVk
OyB9CisKICAgICBwcml2YXRlOgogICAgICAgICBQYWdlKiBtX3BhZ2U7CiAgICAgICAgIApAQCAt
Mzg3LDYgKzM5MCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgYm9vbCBtX3dlYkdM
RW5hYmxlZCA6IDE7CiAgICAgICAgIGJvb2wgbV9sb2FkRGVmZXJyaW5nRW5hYmxlZCA6IDE7CiAg
ICAgICAgIGJvb2wgbV90aWxlZEJhY2tpbmdTdG9yZUVuYWJsZWQgOiAxOworICAgICAgICBib29s
IG1faHRtbDVQYXJzZXJFbmFibGVkOiAxOwogCiAjaWYgVVNFKFNBRkFSSV9USEVNRSkKICAgICAg
ICAgc3RhdGljIGJvb2wgZ1Nob3VsZFBhaW50TmF0aXZlQ29udHJvbHM7CmRpZmYgLS1naXQgYS9X
ZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDRjODBlYWY3
YjdlZmJjMTBkYmFlNzI5NWRhMmY1NThkZjdlNTdkNjAuLmY5OGZjNjhjYTM3MTQ3N2I5YTRhY2Mx
M2ZjNjJlMjEwMmY5NzM1NWQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBi
L1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTAtMDUtMTggIEVyaWMg
U2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIE1ha2UgaXQgcG9zc2libGUgdG8gZW5hYmxlIHRoZSBuZXcgSFRN
TDVUb2tlbml6ZXIgZm9yIHRlc3RpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTM5Mjc1CisKKyAgICAgICAgRXhwb3NlIHRoZSBXZWJDb3JlOjpTZXR0
aW5nczo6dXNlc0hUTUw1UGFyc2VyIGFzIGEgcHJpdmF0ZSBXZWJLaXQgc2V0dGluZy4KKworICAg
ICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmg6CisgICAgICAgICogV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlcy5tbToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgdXNlc0hU
TUw1UGFyc2VyXSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIHNldFVzZXNIVE1MNVBhcnNl
cjpdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOgorICAgICAg
ICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfcHJlZmVyZW5jZXND
aGFuZ2VkTm90aWZpY2F0aW9uOl0pOgorCiAyMDEwLTA1LTE3ICBTaGVyaWZmIEJvdCAgPHdlYmtp
dC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91
dCByNTk2NTIuCmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtl
eXNQcml2YXRlLmggYi9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRl
LmgKaW5kZXggZjRhZTMzMzc1ZGZiYzMyZDcyOGU0ZTI4ZjE0ZjhlMDRkNzI5MDM3Yi4uMGQxNTQ2
ZjNmMTA4OGQ2ZjEzYTlhYTdhOTMxYzI0YTdhYzE1YjBlZCAxMDA2NDQKLS0tIGEvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCisrKyBiL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaApAQCAtOTMsNiArOTMsNyBAQAogI2RlZmlu
ZSBXZWJLaXRVc2VzUHJveGllZE9wZW5QYW5lbFByZWZlcmVuY2VLZXkgQCJXZWJLaXRVc2VzUHJv
eGllZE9wZW5QYW5lbCIKICNkZWZpbmUgV2ViS2l0UGx1Z2luQWxsb3dlZFJ1blRpbWVQcmVmZXJl
bmNlS2V5IEAiV2ViS2l0UGx1Z2luQWxsb3dlZFJ1blRpbWUiCiAjZGVmaW5lIFdlYktpdEZyYW1l
RmxhdHRlbmluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0RnJhbWVGbGF0dGVuaW5nRW5h
YmxlZCIKKyNkZWZpbmUgV2ViS2l0SFRNTDVQYXJzZXJFbmFibGVkUHJlZmVyZW5jZUtleSBAIldl
YktpdEhUTUw1UGFyc2VyRW5hYmxlZCIKIAogLy8gVGhlc2UgYXJlIHByaXZhdGUgYm90aCBiZWNh
dXNlIGNhbGxlcnMgc2hvdWxkIGJlIHVzaW5nIHRoZSBjb3ZlciBtZXRob2RzIGFuZCBiZWNhdXNl
IHRoZQogLy8gY292ZXIgbWV0aG9kcyB0aGVtc2VsdmVzIGFyZSBwcml2YXRlLgpkaWZmIC0tZ2l0
IGEvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tIGIvV2ViS2l0L21hYy9XZWJW
aWV3L1dlYlByZWZlcmVuY2VzLm1tCmluZGV4IDlkZTg0OTU0OTk3MGMxMzE0ZjRhYjdjNWQ1ZWM4
ODliYjg1MGM2NjcuLjQyN2Y2ZmVjYzUzNjNkOTMzMmZlNDhhMmQwMjhjMTYzZTE1ZDRlMWQgMTAw
NjQ0Ci0tLSBhL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQorKysgYi9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KQEAgLTEyMzcsNiArMTIzNywxNiBAQCBz
dGF0aWMgTlNTdHJpbmcgKmNsYXNzSUJDcmVhdG9ySUQgPSBuaWw7CiAgICAgW3NlbGYgX3NldEJv
b2xWYWx1ZTpmbGFnIGZvcktleTpXZWJLaXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkUHJlZmVyZW5j
ZUtleV07CiB9CiAKKy0gKEJPT0wpaHRtbDVQYXJzZXJFbmFibGVkCit7CisgICAgcmV0dXJuIFtz
ZWxmIF9ib29sVmFsdWVGb3JLZXk6V2ViS2l0SFRNTDVQYXJzZXJFbmFibGVkUHJlZmVyZW5jZUtl
eV07Cit9CisKKy0gKHZvaWQpc2V0SFRNTDVQYXJzZXJFbmFibGVkOihCT09MKWZsYWcKK3sKKyAg
ICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5OldlYktpdEhUTUw1UGFyc2VyRW5hYmxl
ZFByZWZlcmVuY2VLZXldOworfQorCiAtICh2b2lkKWRpZFJlbW92ZUZyb21XZWJWaWV3CiB7CiAg
ICAgQVNTRVJUKF9wcml2YXRlLT5udW1XZWJWaWV3cyk7CmRpZmYgLS1naXQgYS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmggYi9XZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
UHJlZmVyZW5jZXNQcml2YXRlLmgKaW5kZXggZWU3ODVlOTMxNThiMDliZDE5ZjRhZjNjMTBhYjMy
N2I2ZGE4OWIyZi4uN2ExNDkxY2M1YTRiOTI3MjI3NDNmOGJlNTFhODIyZjI2OGMwZWYxYSAxMDA2
NDQKLS0tIGEvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCisrKyBi
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaApAQCAtMTY3LDYgKzE2
Nyw5IEBAIGV4dGVybiBOU1N0cmluZyAqV2ViUHJlZmVyZW5jZXNSZW1vdmVkTm90aWZpY2F0aW9u
OwogLSAoQk9PTCl3ZWJHTEVuYWJsZWQ7CiAtICh2b2lkKXNldFdlYkdMRW5hYmxlZDooQk9PTCll
bmFibGVkOwogCistIChCT09MKWh0bWw1UGFyc2VyRW5hYmxlZDsKKy0gKHZvaWQpc2V0SFRNTDVQ
YXJzZXJFbmFibGVkOihCT09MKWZsYWc7CisKIC0gKEJPT0wpdXNlc1Byb3hpZWRPcGVuUGFuZWw7
CiAtICh2b2lkKXNldFVzZXNQcm94aWVkT3BlblBhbmVsOihCT09MKWVuYWJsZWQ7CiAKZGlmZiAt
LWdpdCBhL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvV2ViS2l0L21hYy9XZWJWaWV3
L1dlYlZpZXcubW0KaW5kZXggMzYzMTNiNDI2MmNlNGU2ODhlZThmMDc5NWYyZjIzMzIyZmQ3YWQw
ZS4uODVlOGJjYjg3ZmZlYmM2MDZjM2EzYWE4Nzg1Y2Y1OWQ3NTZjYWNhMyAxMDA2NDQKLS0tIGEv
V2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YlZpZXcubW0KQEAgLTE0MDUsNiArMTQwNSw3IEBAIHN0YXRpYyBib29sIGZhc3REb2N1bWVudFRl
YXJkb3duRW5hYmxlZCgpCiAgICAgc2V0dGluZ3MtPnNldFdlYkdMRW5hYmxlZChbcHJlZmVyZW5j
ZXMgd2ViR0xFbmFibGVkXSk7CiAgICAgc2V0dGluZ3MtPnNldExvYWREZWZlcnJpbmdFbmFibGVk
KHNob3VsZEVuYWJsZUxvYWREZWZlcnJpbmcoKSk7CiAgICAgc2V0dGluZ3MtPnNldEZyYW1lRmxh
dHRlbmluZ0VuYWJsZWQoW3ByZWZlcmVuY2VzIGlzRnJhbWVGbGF0dGVuaW5nRW5hYmxlZF0pOwor
ICAgIHNldHRpbmdzLT5zZXRVc2VzSFRNTDVQYXJzZXIoW3ByZWZlcmVuY2VzIGh0bWw1UGFyc2Vy
RW5hYmxlZF0pOwogfQogCiBzdGF0aWMgaW5saW5lIElNUCBnZXRNZXRob2QoaWQgbywgU0VMIHMp
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56343</attachid>
            <date>2010-05-18 02:56:32 -0700</date>
            <delta_ts>2010-05-18 03:08:39 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-39275-20100518025631.patch</filename>
            <type>text/plain</type>
            <size>29642</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQW5kcm9pZC5tayBiL1dlYkNvcmUvQW5kcm9pZC5tawppbmRl
eCBkM2ZlMzk5OWJlNzNlYmYwZTQ4MTk1NjVjYTdlODUwMGIzZGRjMzljLi44OGZmZDJhNmJjZmIw
NWYzMWM3ZTU0NmY4MjRmYTJlYTZkM2Y0NTIwIDEwMDY0NAotLS0gYS9XZWJDb3JlL0FuZHJvaWQu
bWsKKysrIGIvV2ViQ29yZS9BbmRyb2lkLm1rCkBAIC0yNDUsNiArMjQ1LDggQEAgTE9DQUxfU1JD
X0ZJTEVTIDo9ICQoTE9DQUxfU1JDX0ZJTEVTKSBcCiAJaHRtbC9GaWxlLmNwcCBcCiAJaHRtbC9G
aWxlTGlzdC5jcHAgXAogCWh0bWwvRm9ybURhdGFMaXN0LmNwcCBcCisJaHRtbC9IVE1MNUxleGVy
LmNwcCBcCisJaHRtbC9IVE1MNVRva2VuaXplci5jcHAgXAogCWh0bWwvSFRNTEFsbENvbGxlY3Rp
b24uY3BwIFwKIAlodG1sL0hUTUxDb2xsZWN0aW9uLmNwcCBcCiAJaHRtbC9IVE1MRGF0YUxpc3RF
bGVtZW50LmNwcCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dAppbmRleCAxYTMyMjBmYzY1YTA0NjhkNzkzYzQwNTY0OTBjYzUxYzQ5
NGRhOGMxLi4xMWYxNWFjYmJmMTViNmY2MTdjZDk5MzdjYjc0MmEyY2YzNWQyYjk5IDEwMDY0NAot
LS0gYS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
QEAgLTg4MCw2ICs4ODAsOCBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgaHRtbC9GaWxlLmNw
cAogICAgIGh0bWwvRmlsZUxpc3QuY3BwCiAgICAgaHRtbC9Gb3JtRGF0YUxpc3QuY3BwCisgICAg
aHRtbC9IVE1MNUxleGVyLmNwcAorICAgIGh0bWwvSFRNTDVUb2tlbml6ZXIuY3BwCiAgICAgaHRt
bC9IVE1MQWxsQ29sbGVjdGlvbi5jcHAKICAgICBodG1sL0hUTUxBbmNob3JFbGVtZW50LmNwcAog
ICAgIGh0bWwvSFRNTEFwcGxldEVsZW1lbnQuY3BwCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5n
ZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDhlNjRhNjg5Yzg0NTRiMzBkMzYwZjk4YjY1
YTAxMjVhMmIxZjc3Y2IuLjlmYjk1OGQ4YmE0OTQxNzdlY2ExMzU4MzdkYWE2NDIzYjczZTBiOWIg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsNDkgQEAKKzIwMTAtMDUtMTggIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2Ug
aXQgcG9zc2libGUgdG8gZW5hYmxlIHRoZSBuZXcgSFRNTDVUb2tlbml6ZXIgZm9yIHRlc3RpbmcK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM5Mjc1CisK
KyAgICAgICAgSSBhZGRlZCB1c2VzSFRNTDVQYXJzZXIgdG8gU2V0dGluZ3Mgc28gdGhhdCB3ZSBj
YW4gZW5hYmxlL2Rpc2FibGUKKyAgICAgICAgdGhlIEhUTUw1IHBhcnNlciBmb3IgdGVzdGluZy4K
KworICAgICAgICBJIGFsc28gcmlwcGVkIG91dCBhIGJ1bmNoIG9mIGRlYWQgY29kZSBmcm9tIEhU
TUw1TGV4ZXIuCisKKyAgICAgICAgSSBoYWQgdG8gYWRkIEhUTUw1TGV4ZXIvSFRNTDVUb2tlbml6
ZXIgdG8gYWxsIGJ1aWxkIHN5c3RlbXMgc28gdGhhdAorICAgICAgICB0aGUgYnVpbGQgd291bGRu
J3QgZmFpbCBub3cgdGhhdCB3ZSByZWZlcmVuY2UgdGhlc2UgY2xhc3NlcyBmcm9tIEhUTUxEb2N1
bWVudC4KKworICAgICAgICAqIEFuZHJvaWQubWs6CisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6
CisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAg
ICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvajoKKyAgICAgICAgKiBodG1sL0hUTUw1TGV4ZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTDVMZXhlcjo6cmVzZXQpOgorICAgICAgICAoV2ViQ29yZTo6aXNXaGl0ZXNwYWNlKToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUw1TGV4ZXI6Om5leHRUb2tlbik6CisgICAgICAgICogaHRt
bC9IVE1MNUxleGVyLmg6CisgICAgICAgICogaHRtbC9IVE1MNVRva2VuaXplci5jcHA6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZTo6SFRNTDVUb2tlbml6ZXI6OkhUTUw1VG9rZW5pemVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUw1VG9rZW5pemVyOjp+SFRNTDVUb2tlbml6ZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTDVUb2tlbml6ZXI6OmJlZ2luKToKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUw1VG9rZW5pemVyOjp3cml0ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MNVRva2VuaXplcjo6
ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUw1VG9rZW5pemVyOjpmaW5pc2gpOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTDVUb2tlbml6ZXI6OmlzV2FpdGluZ0ZvclNjcmlwdHMpOgorICAgICAg
ICAqIGh0bWwvSFRNTDVUb2tlbml6ZXIuaDogQWRkZWQuCisgICAgICAgICogaHRtbC9IVE1MRG9j
dW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERvY3VtZW50OjpjcmVhdGVUb2tlbml6
ZXIpOgorICAgICAgICAqIGh0bWwvSFRNTFRva2VuaXplci5oOgorICAgICAgICAqIGh0bWwvSFRN
TFZpZXdTb3VyY2VEb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVmlld1NvdXJj
ZURvY3VtZW50OjpjcmVhdGVUb2tlbml6ZXIpOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OlNldHRpbmdzKToKKyAgICAgICAgKiBwYWdl
L1NldHRpbmdzLmg6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0VXNlc0hUTUw1UGFy
c2VyKToKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjp1c2VzSFRNTDVQYXJzZXIpOgorCiAy
MDEwLTA1LTE4ICBNYWNpZWogU3RhY2hvd2lhayAgPG1qc0BhcHBsZS5jb20+CiAKICAgICAgICAg
Tm90IHJldmlld2VkLCBidWlsZCBmaXguCmRpZmYgLS1naXQgYS9XZWJDb3JlL0dOVW1ha2VmaWxl
LmFtIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCA1ZTBhMTI2M2EyMTc1N2YxNTcxN2E4
MWFhZDYyNzZkNGM1ZGY2M2E1Li5hOWU3MzI3YTQ2MDliMTBiNjU3NDg2MGJhNDI5ZjExMDg5NzYy
NzM5IDEwMDY0NAotLS0gYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1dlYkNvcmUvR05V
bWFrZWZpbGUuYW0KQEAgLTEwNjksNiArMTA2OSwxMCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAog
CVdlYkNvcmUvaHRtbC9GaWxlVGhyZWFkVGFzay5oIFwKIAlXZWJDb3JlL2h0bWwvRm9ybURhdGFM
aXN0LmNwcCBcCiAJV2ViQ29yZS9odG1sL0Zvcm1EYXRhTGlzdC5oIFwKKwlXZWJDb3JlL2h0bWwv
SFRNTDVMZXhlci5jcHAgXAorCVdlYkNvcmUvaHRtbC9IVE1MNUxleGVyLmggXAorCVdlYkNvcmUv
aHRtbC9IVE1MNVRva2VuaXplci5jcHAgXAorCVdlYkNvcmUvaHRtbC9IVE1MNVRva2VuaXplci5o
IFwKIAlXZWJDb3JlL2h0bWwvSFRNTEFsbENvbGxlY3Rpb24uY3BwIFwKIAlXZWJDb3JlL2h0bWwv
SFRNTEFsbENvbGxlY3Rpb24uaCBcCiAJV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmNw
cCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1dlYkNvcmUvV2ViQ29yZS5n
eXBpCmluZGV4IDkxZDdlZGFiNWE1MzA3NDU2N2Y1MDFjMTYyNmY3MzM2NjI5MmZiYjYuLmIwOTA2
MDQwYWM5YjBkOGIwN2NkZGY4ZjY1MTcyYTRjNTFjZGQ1MjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
V2ViQ29yZS5neXBpCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0xNDYxLDYgKzE0NjEs
MTAgQEAKICAgICAgICAgICAgICdodG1sL0ZpbGVUaHJlYWRUYXNrLmgnLAogICAgICAgICAgICAg
J2h0bWwvRm9ybURhdGFMaXN0LmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9Gb3JtRGF0YUxpc3Qu
aCcsCisgICAgICAgICAgICAnaHRtbC9IVE1MTGV4ZXIuY3BwJywKKyAgICAgICAgICAgICdodG1s
L0hUTUxMZXhlci5oJywKKyAgICAgICAgICAgICdodG1sL0hUTUxUb2tlbml6ZXIuY3BwJywKKyAg
ICAgICAgICAgICdodG1sL0hUTUxUb2tlbml6ZXIuaCcsCiAgICAgICAgICAgICAnaHRtbC9IVE1M
QWxsQ29sbGVjdGlvbi5jcHAnLAogICAgICAgICAgICAgJ2h0bWwvSFRNTEFsbENvbGxlY3Rpb24u
aCcsCiAgICAgICAgICAgICAnaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHAnLApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggOTMzMDgx
YWMyNjliNjE4OWZjY2NkMmFkZTQyYzI1YWRiYmZmNzBiYi4uM2Y5OTViZDRmNzFlZTYyZTI1Yjcy
YjdmNmE5ZmMwZDUwNjgwNDk3ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnBybworKysg
Yi9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC02MDUsNiArNjA1LDggQEAgU09VUkNFUyArPSBcCiAg
ICAgaHRtbC9GaWxlU3RyZWFtUHJveHkuY3BwIFwKICAgICBodG1sL0ZpbGVUaHJlYWQuY3BwIFwK
ICAgICBodG1sL0Zvcm1EYXRhTGlzdC5jcHAgXAorICAgIGh0bWwvSFRNTDVMZXhlci5jcHAgXAor
ICAgIGh0bWwvSFRNTDVUb2tlbml6ZXIuY3BwIFwKICAgICBodG1sL0hUTUxBbGxDb2xsZWN0aW9u
LmNwcCBcCiAgICAgaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHAgXAogICAgIGh0bWwvSFRNTEFw
cGxldEVsZW1lbnQuY3BwIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggM2UzODBjMGZlMzFhMzMwZjIxNDI4YWQ1NWZmYmYxMWM5OWQ1NWRmNC4uYmUzMDY1
N2Y5YjYxYzgwNmQ5MzQ3ZTkzYjYzMWFjOGVhMGIyMGEyMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTI5MzgsNiArMjkzOCw4IEBACiAJCUE4NjYyOUQy
MDlEQTJCNDgwMDk2MzNBNSAvKiBKU01vdXNlRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTg2NjI5Q0MwOURBMkI0NzAwOTYzM0E1IC8qIEpT
TW91c2VFdmVudC5jcHAgKi87IH07CiAJCUE4NjYyOUQzMDlEQTJCNDgwMDk2MzNBNSAvKiBKU0tl
eWJvYXJkRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEE4NjYyOUNEMDlEQTJCNDcwMDk2MzNBNSAvKiBKU0tleWJvYXJkRXZlbnQuaCAqLzsgfTsK
IAkJQTg2NjI5RDQwOURBMkI0ODAwOTYzM0E1IC8qIEpTS2V5Ym9hcmRFdmVudC5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBODY2MjlDRTA5REEyQjQ3
MDA5NjMzQTUgLyogSlNLZXlib2FyZEV2ZW50LmNwcCAqLzsgfTsKKwkJQTg3MTAzOEExMUEyOTQ3
MDAwREJENTBFIC8qIEhUTUw1VG9rZW5pemVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4NzEwMzg4MTFBMjk0NzAwMERCRDUwRSAvKiBIVE1MNVRv
a2VuaXplci5jcHAgKi87IH07CisJCUE4NzEwMzhCMTFBMjk0NzAwMERCRDUwRSAvKiBIVE1MNVRv
a2VuaXplci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTg3MTAzODkxMUEyOTQ3MDAwREJENTBFIC8qIEhUTUw1VG9rZW5pemVyLmggKi87IH07CiAJCUE4
NzFENDU2MEExMjdDQkMwMEIxMkE2OCAvKiBIVE1MUGx1Z0luRWxlbWVudC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTg3MUQ0NEMwQTEyN0NCQzAwQjEy
QTY4IC8qIEhUTUxQbHVnSW5FbGVtZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJQTg3MUQ0NTcwQTEyN0NCQzAwQjEyQTY4IC8qIEhUTUxQbHVn
SW5FbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEE4NzFENDREMEExMjdDQkMwMEIxMkE2OCAvKiBIVE1MUGx1Z0luRWxlbWVudC5jcHAgKi87
IH07CiAJCUE4NzFENDU4MEExMjdDQkMwMEIxMkE2OCAvKiBIVE1MUGFyYW1FbGVtZW50LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBODcxRDQ0RTBBMTI3
Q0JDMDBCMTJBNjggLyogSFRNTFBhcmFtRWxlbWVudC5oICovOyB9OwpAQCAtODM1NCw2ICs4MzU2
LDggQEAKIAkJQTg2NjI5Q0MwOURBMkI0NzAwOTYzM0E1IC8qIEpTTW91c2VFdmVudC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNNb3VzZUV2ZW50LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTg2NjI5Q0QwOURBMkI0NzAwOTYzM0E1IC8qIEpT
S2V5Ym9hcmRFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNLZXli
b2FyZEV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE4NjYyOUNFMDlEQTJC
NDcwMDk2MzNBNSAvKiBKU0tleWJvYXJkRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTS2V5Ym9hcmRFdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUE4NzEwMzg4MTFBMjk0NzAwMERCRDUwRSAvKiBIVE1MNVRva2VuaXplci5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIVE1MNVRva2VuaXplci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE4NzEwMzg5MTFBMjk0NzAwMERCRDUwRSAv
KiBIVE1MNVRva2VuaXplci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIVE1M
NVRva2VuaXplci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBODcxRDQ0QzBBMTI3
Q0JDMDBCMTJBNjggLyogSFRNTFBsdWdJbkVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEhUTUxQbHVnSW5FbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUE4NzFENDREMEExMjdDQkMwMEIxMkE2OCAvKiBIVE1MUGx1Z0luRWxlbWVudC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSFRNTFBsdWdJbkVsZW1lbnQu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBODcxRDQ0RTBBMTI3Q0JDMDBCMTJB
NjggLyogSFRNTFBhcmFtRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSFRNTFBhcmFtRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTMy
NjcsMTAgKzEzMjcxLDEwIEBACiAJCTkzRUVDMUVDMDlDMjg3NzcwMEM1MTVEMSAvKiBodG1sICov
ID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKLQkJCQk0OTQ4NEZBRTEw
MkNGMDFFMDAxODdERDMgLyogY2FudmFzICovLAogCQkJCTJFQUZBRjBCMTBFMkFGMkQwMDdFRDNE
NiAvKiBCbG9iLmNwcCAqLywKIAkJCQkyRUFGQUYwQzEwRTJBRjJEMDA3RUQzRDYgLyogQmxvYi5o
ICovLAogCQkJCTJFQUZBRjBEMTBFMkFGMkQwMDdFRDNENiAvKiBCbG9iLmlkbCAqLywKKwkJCQk0
OTQ4NEZBRTEwMkNGMDFFMDAxODdERDMgLyogY2FudmFzICovLAogCQkJCTkzQzQ0MUVEMEY4MTNB
MUEwMEMxQTYzNCAvKiBDb2xsZWN0aW9uQ2FjaGUuY3BwICovLAogCQkJCTkzQzQ0MUVFMEY4MTNB
MUEwMEMxQTYzNCAvKiBDb2xsZWN0aW9uQ2FjaGUuaCAqLywKIAkJCQk5M0M0NDFGRjBGODEzQUUx
MDBDMUE2MzQgLyogQ29sbGVjdGlvblR5cGUuaCAqLywKQEAgLTEzMzEyLDYgKzEzMzE2LDggQEAK
IAkJCQk5N0U4QjM1NDExQTIzQ0UyMDAxNjk0MDkgLyogSFRNTDVMZXhlci5jcHAgKi8sCiAJCQkJ
OTdFOEIzNTUxMUEyM0NFMjAwMTY5NDA5IC8qIEhUTUw1TGV4ZXIuaCAqLywKIAkJCQk5N0U4QjND
MjExQTI4OTA4MDAxNjk0MDkgLyogSFRNTDVUb2tlbi5oICovLAorCQkJCUE4NzEwMzg4MTFBMjk0
NzAwMERCRDUwRSAvKiBIVE1MNVRva2VuaXplci5jcHAgKi8sCisJCQkJQTg3MTAzODkxMUEyOTQ3
MDAwREJENTBFIC8qIEhUTUw1VG9rZW5pemVyLmggKi8sCiAJCQkJQkM5N0UyMzkxMDkxNDQ5NTAw
MTBEMzYxIC8qIEhUTUxBbGxDb2xsZWN0aW9uLmNwcCAqLywKIAkJCQlCQzk3RTIzODEwOTE0NDk1
MDAxMEQzNjEgLyogSFRNTEFsbENvbGxlY3Rpb24uaCAqLywKIAkJCQlCQzk3RTIzQzEwOTE0NkYx
MDAxMEQzNjEgLyogSFRNTEFsbENvbGxlY3Rpb24uaWRsICovLApAQCAtMTkyNjIsNiArMTkyNjgs
NyBAQAogCQkJCUM1NkM5MUE3MTE5RDkxODcwMERFNENEOSAvKiBKU0lEQlN1Y2Nlc3NFdmVudC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJOTdFOEIzNTcxMUEyM0NFMjAwMTY5NDA5IC8qIEhUTUw1TGV4
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3RThCM0MzMTFBMjg5MDgwMDE2OTQwOSAvKiBIVE1M
NVRva2VuLmggaW4gSGVhZGVycyAqLywKKwkJCQlBODcxMDM4QjExQTI5NDcwMDBEQkQ1MEUgLyog
SFRNTDVUb2tlbml6ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBs
b3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjE1NDMsNiArMjE1NTAsNyBAQAog
CQkJCUM1NkM5MUEyMTE5RDkxODEwMERFNENEOSAvKiBKU0lEQkV2ZW50LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUM1NkM5MUE2MTE5RDkxODcwMERFNENEOSAvKiBKU0lEQlN1Y2Nlc3NFdmVudC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk5N0U4QjM1NjExQTIzQ0UyMDAxNjk0MDkgLyogSFRNTDVM
ZXhlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBODcxMDM4QTExQTI5NDcwMDBEQkQ1MEUgLyog
SFRNTDVUb2tlbml6ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRl
cGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0
bWwvSFRNTDVMZXhlci5jcHAgYi9XZWJDb3JlL2h0bWwvSFRNTDVMZXhlci5jcHAKaW5kZXggODE4
MDYxZjY4N2EyMDVkMGI2ZjkzNzE1YjJiNGE4ZmVmMzA0NzcyYy4uOGE3ZjAyZWY0N2JiYTdhYzNl
MWIzZjUzYzRmMzA3OThjYzQ5NDA5ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUw1TGV4
ZXIuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MNUxleGVyLmNwcApAQCAtMzIsMTAgKzMyLDEy
IEBACiAjaW5jbHVkZSAiSFRNTDVUb2tlbi5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2lu
Y2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCi0jaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgog
I2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgorI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5o
PgorI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9V
bmljb2RlLmg+CiAKKwogLy8gVXNlIF9fR05VQ19fIGluc3RlYWQgb2YgUExBVEZPUk0oR0NDKSB0
byBzdGF5IGNvbnNpc3RlbnQgd2l0aCB0aGUgZ3BlcmYgZ2VuZXJhdGVkIGMgZmlsZQogI2lmZGVm
IF9fR05VQ19fCiAvLyBUaGUgbWFpbiB0b2tlbml6ZXIgaW5jbHVkZXMgdGhpcyB0b28gc28gd2Ug
YXJlIGdldHRpbmcgdHdvIGNvcGllcyBvZiB0aGUgZGF0YS4gSG93ZXZlciwgdGhpcyB3YXkgdGhl
IGNvZGUgZ2V0cyBpbmxpbmVkLgpAQCAtNjQsNzAgKzY2LDE1IEBAIEhUTUw1TGV4ZXI6On5IVE1M
NUxleGVyKCkKIHsKIH0KIAotdm9pZCBIVE1MNUxleGVyOjpiZWdpbigpIAoteyAKLSAgICByZXNl
dCgpOyAKLX0KLQotdm9pZCBIVE1MNUxleGVyOjplbmQoKSAKLXsKLX0KLQogdm9pZCBIVE1MNUxl
eGVyOjpyZXNldCgpCiB7Ci0gICAgbV9zb3VyY2UuY2xlYXIoKTsKLQogICAgIG1fc3RhdGUgPSBE
YXRhU3RhdGU7Ci0gICAgbV9lc2NhcGUgPSBmYWxzZTsKLSAgICBtX2NvbnRlbnRNb2RlbCA9IFBD
REFUQTsKLSAgICBtX2NvbW1lbnRQb3MgPSAwOwotCi0gICAgbV9jbG9zZVRhZyA9IGZhbHNlOwot
ICAgIG1fdGFnTmFtZS5jbGVhcigpOwotICAgIG1fYXR0cmlidXRlTmFtZS5jbGVhcigpOwotICAg
IG1fYXR0cmlidXRlVmFsdWUuY2xlYXIoKTsKLSAgICBtX2xhc3RTdGFydFRhZyA9IEF0b21pY1N0
cmluZygpOwotCi0gICAgbV9sYXN0Q2hhcmFjdGVySW5kZXggPSAwOwotICAgIGNsZWFyTGFzdENo
YXJhY3RlcnMoKTsKLX0KLQotdm9pZCBIVE1MNUxleGVyOjp3cml0ZShjb25zdCBTZWdtZW50ZWRT
dHJpbmcmIHNvdXJjZSwgSFRNTDVUb2tlbiYgb3V0cHV0VG9rZW4pCi17Ci0gICAgbV9vdXRwdXRU
b2tlbiA9ICZvdXRwdXRUb2tlbjsKLSAgICB0b2tlbml6ZShzb3VyY2UpOwotICAgIG1fb3V0cHV0
VG9rZW4gPSAwOwogfQogCiBzdGF0aWMgaW5saW5lIGJvb2wgaXNXaGl0ZXNwYWNlKFVDaGFyIGMp
CiB7CiAgICAgcmV0dXJuIGMgPT0gJyAnIHx8IGMgPT0gJ1xuJyB8fCBjID09ICdccicgfHwgYyA9
PSAnXHQnOwogfQotCi1pbmxpbmUgdm9pZCBIVE1MNUxleGVyOjpjbGVhckxhc3RDaGFyYWN0ZXJz
KCkKLXsKLSAgICBtZW1zZXQobV9sYXN0Q2hhcmFjdGVycywgMCwgbGFzdENoYXJhY3RlcnNCdWZm
ZXJTaXplICogc2l6ZW9mKFVDaGFyKSk7Ci19Ci0KLWlubGluZSB2b2lkIEhUTUw1TGV4ZXI6OnJl
bWVtYmVyQ2hhcmFjdGVyKFVDaGFyIGMpCi17Ci0gICAgbV9sYXN0Q2hhcmFjdGVySW5kZXggPSAo
bV9sYXN0Q2hhcmFjdGVySW5kZXggKyAxKSAlIGxhc3RDaGFyYWN0ZXJzQnVmZmVyU2l6ZTsKLSAg
ICBtX2xhc3RDaGFyYWN0ZXJzW21fbGFzdENoYXJhY3RlckluZGV4XSA9IGM7Ci19Ci0KLWlubGlu
ZSBib29sIEhUTUw1TGV4ZXI6Omxhc3RDaGFyYWN0ZXJzTWF0Y2goY29uc3QgY2hhciogY2hhcnMs
IHVuc2lnbmVkIGNvdW50KSBjb25zdAotewotICAgIHVuc2lnbmVkIHBvcyA9IG1fbGFzdENoYXJh
Y3RlckluZGV4OwotICAgIHdoaWxlIChjb3VudCkgewotICAgICAgICBpZiAoY2hhcnNbY291bnQg
LSAxXSAhPSBtX2xhc3RDaGFyYWN0ZXJzW3Bvc10pCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7
Ci0gICAgICAgIC0tY291bnQ7Ci0gICAgICAgIGlmICghcG9zKQotICAgICAgICAgICAgcG9zID0g
bGFzdENoYXJhY3RlcnNCdWZmZXJTaXplOwotICAgICAgICAtLXBvczsKLSAgICB9Ci0gICAgcmV0
dXJuIHRydWU7Ci19CiAgICAgCiBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxlZ2FsRW50aXR5Rm9y
KHVuc2lnbmVkIHZhbHVlKQogewpAQCAtMjU1LDEzICsyMDIsMTMgQEAgb3V0T2ZDaGFyYWN0ZXJz
OgogICAgIHJldHVybiAwOwogfQogCi12b2lkIEhUTUw1TGV4ZXI6OnRva2VuaXplKGNvbnN0IFNl
Z21lbnRlZFN0cmluZyYgc291cmNlKQordm9pZCBIVE1MNUxleGVyOjpuZXh0VG9rZW4oU2VnbWVu
dGVkU3RyaW5nJiBzb3VyY2UsIEhUTUw1VG9rZW4mIHRva2VuKQogewotICAgIG1fc291cmNlLmFw
cGVuZChzb3VyY2UpOwotCisgICAgbV9vdXRwdXRUb2tlbiA9ICZ0b2tlbjsKICAgICAvLyBTb3Vy
Y2U6IGh0dHA6Ly93d3cud2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9jdXJyZW50LXdvcmsvI3Rv
a2VuaXNhdGlvbjAKLSAgICB3aGlsZSAoIW1fc291cmNlLmlzRW1wdHkoKSkgewotICAgICAgICBV
Q2hhciBjYyA9ICptX3NvdXJjZTsKKyAgICAvLyBGSVhNRTogVGhpcyB3aGlsZSBzaG91bGQgc3Rv
cCBhcyBzb29uIGFzIHdlIGhhdmUgYSB0b2tlbiB0byByZXR1cm4uCisgICAgd2hpbGUgKCFzb3Vy
Y2UuaXNFbXB0eSgpKSB7CisgICAgICAgIFVDaGFyIGNjID0gKnNvdXJjZTsKICAgICAgICAgc3dp
dGNoIChtX3N0YXRlKSB7CiAgICAgICAgIGNhc2UgRGF0YVN0YXRlOiB7CiAgICAgICAgICAgICBp
ZiAoY2MgPT0gJyYnKQpAQCAtNzUxLDE2ICs2OTgsOSBAQCB2b2lkIEhUTUw1TGV4ZXI6OnRva2Vu
aXplKGNvbnN0IFNlZ21lbnRlZFN0cmluZyYgc291cmNlKQogICAgICAgICAgICAgbm90SW1wbGVt
ZW50ZWQoKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9Ci0gICAgICAgIG1fc291cmNl
LmFkdmFuY2UoKTsKKyAgICAgICAgc291cmNlLmFkdmFuY2UoKTsKICAgICB9Ci19Ci0KLXZvaWQg
SFRNTDVMZXhlcjo6cHJvY2Vzc0F0dHJpYnV0ZSgpCi17Ci0gICAgQXRvbWljU3RyaW5nIHRhZyA9
IEF0b21pY1N0cmluZyhtX3RhZ05hbWUuZGF0YSgpLCBtX3RhZ05hbWUuc2l6ZSgpKTsKLSAgICBB
dG9taWNTdHJpbmcgYXR0cmlidXRlID0gQXRvbWljU3RyaW5nKG1fYXR0cmlidXRlTmFtZS5kYXRh
KCksIG1fYXR0cmlidXRlTmFtZS5zaXplKCkpOwotCi0gICAgU3RyaW5nIHZhbHVlKG1fYXR0cmli
dXRlVmFsdWUuZGF0YSgpLCBtX2F0dHJpYnV0ZVZhbHVlLnNpemUoKSk7CisgICAgbV9vdXRwdXRU
b2tlbiA9IDA7CiB9CiAKIGlubGluZSBib29sIEhUTUw1TGV4ZXI6OnRlbXBvcmFyeUJ1ZmZlcklz
KGNvbnN0IGNoYXIqKQpAQCAtNzc4LDI4ICs3MTgsNCBAQCBpbmxpbmUgdm9pZCBIVE1MNUxleGVy
OjplbWl0UGFyc2VFcnJvcigpCiB7CiB9CiAKLXZvaWQgSFRNTDVMZXhlcjo6ZW1pdFRhZygpCi17
Ci0gICAgaWYgKG1fY2xvc2VUYWcpIHsKLSAgICAgICAgbV9jb250ZW50TW9kZWwgPSBQQ0RBVEE7
Ci0gICAgICAgIGNsZWFyTGFzdENoYXJhY3RlcnMoKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0K
LQotICAgIEF0b21pY1N0cmluZyB0YWcobV90YWdOYW1lLmRhdGEoKSwgbV90YWdOYW1lLnNpemUo
KSk7Ci0gICAgbV9sYXN0U3RhcnRUYWcgPSB0YWc7Ci0KLSAgICBpZiAodGFnID09IHRleHRhcmVh
VGFnIHx8IHRhZyA9PSB0aXRsZVRhZykKLSAgICAgICAgbV9jb250ZW50TW9kZWwgPSBSQ0RBVEE7
Ci0gICAgZWxzZSBpZiAodGFnID09IHN0eWxlVGFnIHx8IHRhZyA9PSB4bXBUYWcgfHwgdGFnID09
IHNjcmlwdFRhZyB8fCB0YWcgPT0gaWZyYW1lVGFnIHx8IHRhZyA9PSBub2VtYmVkVGFnIHx8IHRh
ZyA9PSBub2ZyYW1lc1RhZykKLSAgICAgICAgbV9jb250ZW50TW9kZWwgPSBDREFUQTsKLSAgICBl
bHNlIGlmICh0YWcgPT0gbm9zY3JpcHRUYWcpCi0gICAgICAgIC8vIHdlIHdvdWxkbid0IGJlIGhl
cmUgaWYgc2NyaXB0cyB3ZXJlIGRpc2FibGVkCi0gICAgICAgIG1fY29udGVudE1vZGVsID0gQ0RB
VEE7Ci0gICAgZWxzZSBpZiAodGFnID09IHBsYWludGV4dFRhZykKLSAgICAgICAgbV9jb250ZW50
TW9kZWwgPSBQTEFJTlRFWFQ7Ci0gICAgZWxzZQotICAgICAgICBtX2NvbnRlbnRNb2RlbCA9IFBD
REFUQTsKLX0KLQogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUw1TGV4ZXIuaCBiL1dl
YkNvcmUvaHRtbC9IVE1MNUxleGVyLmgKaW5kZXggY2FiNGJlMDg0YmIxMTc4ZTUwMzcxYTYyOTM3
NjViOTgzNWVhMWUwMC4uYzQ0NzU5ZTgzOTVjYWEyYWU0Zjc2ZjkwOGRhNTNiOGIzNjI3YjQ3ZCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUw1TGV4ZXIuaAorKysgYi9XZWJDb3JlL2h0bWwv
SFRNTDVMZXhlci5oCkBAIC0zNSwzMyArMzUsMjMgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
ICAgIGNsYXNzIEhUTUw1VG9rZW47Ci0gICAgCisKICAgICBjbGFzcyBIVE1MNUxleGVyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKICAgICBwdWJsaWM6CiAgICAgICAgIEhUTUw1TGV4ZXIoKTsKICAg
ICAgICAgfkhUTUw1TGV4ZXIoKTsKIAotICAgICAgICB2b2lkIGJlZ2luKCk7Ci0gICAgICAgIHZv
aWQgd3JpdGUoY29uc3QgU2VnbWVudGVkU3RyaW5nJiwgSFRNTDVUb2tlbiYpOwotICAgICAgICB2
b2lkIGVuZCgpOworICAgICAgICB2b2lkIHJlc2V0KCk7CisgICAgICAgIHZvaWQgbmV4dFRva2Vu
KFNlZ21lbnRlZFN0cmluZyYsIEhUTUw1VG9rZW4mKTsKIAogICAgICAgICBzdGF0aWMgdW5zaWdu
ZWQgY29uc3VtZUVudGl0eShTZWdtZW50ZWRTdHJpbmcmLCBib29sJiBub3RFbm91Z2hDaGFyYWN0
ZXJzKTsKIAogICAgIHByaXZhdGU6Ci0gICAgICAgIHZvaWQgdG9rZW5pemUoY29uc3QgU2VnbWVu
dGVkU3RyaW5nJik7Ci0gICAgICAgIHZvaWQgcmVzZXQoKTsKLQotICAgICAgICB2b2lkIGVtaXRU
YWcoKTsKICAgICAgICAgaW5saW5lIHZvaWQgZW1pdENoYXJhY3RlcihVQ2hhcik7CiAgICAgICAg
IGlubGluZSB2b2lkIGVtaXRQYXJzZUVycm9yKCk7Ci0gICAgICAgIHZvaWQgcHJvY2Vzc0F0dHJp
YnV0ZSgpOwogCiAgICAgICAgIGlubGluZSBib29sIHRlbXBvcmFyeUJ1ZmZlcklzKGNvbnN0IGNo
YXIqKTsKIAotICAgICAgICB2b2lkIGNsZWFyTGFzdENoYXJhY3RlcnMoKTsKLSAgICAgICAgdm9p
ZCByZW1lbWJlckNoYXJhY3RlcihVQ2hhcik7Ci0gICAgICAgIGJvb2wgbGFzdENoYXJhY3RlcnNN
YXRjaChjb25zdCBjaGFyKiwgdW5zaWduZWQgY291bnQpIGNvbnN0OwotCiAgICAgICAgIFNlZ21l
bnRlZFN0cmluZyBtX3NvdXJjZTsKICAgICAgICAgSFRNTDVUb2tlbiogbV9vdXRwdXRUb2tlbjsK
IApAQCAtMTQyLDI5ICsxMzIsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgLy8g
aHR0cDovL3d3dy53aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay8jdGVtcG9y
YXJ5LWJ1ZmZlcgogICAgICAgICBWZWN0b3I8VUNoYXIsIDEwMjQ+IG1fdGVtcG9yYXJ5QnVmZmVy
OwotCi0KLQotICAgICAgICBib29sIG1fZXNjYXBlOwotICAgICAgICBlbnVtIENvbnRlbnRNb2Rl
bCB7Ci0gICAgICAgICAgICBQQ0RBVEEsCi0gICAgICAgICAgICBSQ0RBVEEsCi0gICAgICAgICAg
ICBDREFUQSwKLSAgICAgICAgICAgIFBMQUlOVEVYVAotICAgICAgICB9OwotICAgICAgICBDb250
ZW50TW9kZWwgbV9jb250ZW50TW9kZWw7Ci0gICAgICAgIHVuc2lnbmVkIG1fY29tbWVudFBvczsK
LSAgICAgICAgU3RhdGUgbV9zdGF0ZUJlZm9yZUVudGl0eUluQXR0cmlidXRlVmFsdWU7Ci0KLSAg
ICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGxhc3RDaGFyYWN0ZXJzQnVmZmVyU2l6ZSA9IDg7
Ci0gICAgICAgIFVDaGFyIG1fbGFzdENoYXJhY3RlcnNbbGFzdENoYXJhY3RlcnNCdWZmZXJTaXpl
XTsKLSAgICAgICAgdW5zaWduZWQgbV9sYXN0Q2hhcmFjdGVySW5kZXg7Ci0KLSAgICAgICAgYm9v
bCBtX2Nsb3NlVGFnOwotICAgICAgICBWZWN0b3I8VUNoYXIsIDMyPiBtX3RhZ05hbWU7Ci0gICAg
ICAgIFZlY3RvcjxVQ2hhciwgMzI+IG1fYXR0cmlidXRlTmFtZTsKLSAgICAgICAgVmVjdG9yPFVD
aGFyPiBtX2F0dHJpYnV0ZVZhbHVlOwotICAgICAgICBBdG9taWNTdHJpbmcgbV9sYXN0U3RhcnRU
YWc7CiAgICAgfTsKIAogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUw1VG9rZW4uaCBi
L1dlYkNvcmUvaHRtbC9IVE1MNVRva2VuLmgKaW5kZXggMTQyNTRmMTExNDViYjZkNTEyN2E3OWRi
NjZhMTlmNTlhYzhjZDMwMi4uMTBlZjM3OGY5ZjYyZDE3ZGEwY2I1YjgwOGRjZWVmYTkyZTUwYjI2
OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUw1VG9rZW4uaAorKysgYi9XZWJDb3JlL2h0
bWwvSFRNTDVUb2tlbi5oCkBAIC0zNiw2ICszNiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIEhUTUw1VG9rZW4gOiBwdWJsaWMgTm9uY29weWFibGUgewogcHVibGljOgogICAgIGVudW0g
VHlwZSB7CisgICAgICAgIFVuaW5pdGlhbGl6ZWQsCiAgICAgICAgIERPQ1RZUEUsCiAgICAgICAg
IFN0YXJ0VGFnLAogICAgICAgICBFbmRUYWcsCkBAIC00NCw3ICs0NSw3IEBAIHB1YmxpYzoKICAg
ICAgICAgRW5kT2ZGaWxlLAogICAgIH07CiAKLSAgICBleHBsaWNpdCBIVE1MNVRva2VuKFR5cGUg
dHlwZSkKKyAgICBleHBsaWNpdCBIVE1MNVRva2VuKFR5cGUgdHlwZSA9IFVuaW5pdGlhbGl6ZWQp
CiAgICAgICAgIDogbV90eXBlKHR5cGUpCiAgICAgICAgICwgbV9mb3JjZVF1aXJrcyhmYWxzZSkK
ICAgICAgICAgLCBtX3NlbGZDbG9zaW5nKGZhbHNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1s
L0hUTUw1VG9rZW5pemVyLmNwcCBiL1dlYkNvcmUvaHRtbC9IVE1MNVRva2VuaXplci5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMGE4ZDE3MjI1YjZmNzFiMzIzMGU0MWIzMGZlYjNiZjNjMDAxMjVlMAotLS0gL2Rl
di9udWxsCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MNVRva2VuaXplci5jcHAKQEAgLTAsMCArMSw4
NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUsIEluYy4gQWxsIFJpZ2h0cyBS
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
CisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJIVE1MNVRva2VuaXplci5oIgorCisjaW5jbHVk
ZSAiSFRNTDVMZXhlci5oIgorI2luY2x1ZGUgIkhUTUw1VG9rZW4uaCIKKyNpbmNsdWRlICJIVE1M
RG9jdW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MUGFyc2VyLmgiCisjaW5jbHVkZSAiTm90SW1wbGVt
ZW50ZWQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitIVE1MNVRva2VuaXplcjo6SFRNTDVU
b2tlbml6ZXIoSFRNTERvY3VtZW50KiBkb2MsIGJvb2wgcmVwb3J0RXJyb3JzKQorICAgIDogVG9r
ZW5pemVyKCkKKyAgICAsIG1fZG9jKGRvYykKKyAgICAsIG1fbGV4ZXIobmV3IEhUTUw1TGV4ZXIp
CisgICAgLCBtX3BhcnNlcihuZXcgSFRNTFBhcnNlcihkb2MsIHJlcG9ydEVycm9ycykpCit7Cisg
ICAgYmVnaW4oKTsKK30KKworSFRNTDVUb2tlbml6ZXI6On5IVE1MNVRva2VuaXplcigpCit7Cit9
CisKK3ZvaWQgSFRNTDVUb2tlbml6ZXI6OmJlZ2luKCkKK3sKK30KKwordm9pZCBIVE1MNVRva2Vu
aXplcjo6d3JpdGUoY29uc3QgU2VnbWVudGVkU3RyaW5nJiBzb3VyY2UsIGJvb2wpCit7CisgICAg
bV9zb3VyY2UuYXBwZW5kKHNvdXJjZSk7CisKKyAgICB3aGlsZSAoIW1fc291cmNlLmlzRW1wdHko
KSkgeworICAgICAgICBIVE1MNVRva2VuIHRva2VuOworICAgICAgICBtX2xleGVyLT5uZXh0VG9r
ZW4obV9zb3VyY2UsIHRva2VuKTsKKyAgICAgICAgLy8gaHR0cDovL3d3dy53aGF0d2cub3JnL3Nw
ZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay8jdHJlZS1jb25zdHJ1Y3Rpb24KKyAgICAgICAgLy8g
V2UgbmVlZCB0byBhZGQgY29kZSB0byB0aGUgcGFyc2VyIGluIG9yZGVyIHRvIHVuZGVyc3RhbmQK
KyAgICAgICAgLy8gSFRNTDVUb2tlbiBvYmplY3RzLiAgVGhlIG9sZCBIVE1MIGNvZGVwYXRoIGRv
ZXMgbm90IGhhdmUgYSBuaWNlCisgICAgICAgIC8vIHNlcGFyYXRpb24gYmV0d2VlbiB0aGUgcGFy
c2VyIGxvZ2ljIGFuZCB0b2tlbml6ZXIgbG9naWMgbGlrZQorICAgICAgICAvLyB0aGUgSFRNTDUg
Y29kZXBhdGggc2hvdWxkLiAgVGhlIGNhbGwgc2hvdWxkIGxvb2sgc29tZXRoaW5nIGxpa2U6Cisg
ICAgICAgIC8vIG1fcGFyc2VyLT5jb25zdHJ1Y3RUcmVlRnJvbVRva2VuKHRva2VuKTsKKyAgICB9
Cit9CisKK3ZvaWQgSFRNTDVUb2tlbml6ZXI6OmVuZCgpCit7CisgICAgbV9wYXJzZXItPmZpbmlz
aGVkKCk7Cit9CisKK3ZvaWQgSFRNTDVUb2tlbml6ZXI6OmZpbmlzaCgpCit7CisgICAgZW5kKCk7
Cit9CisKK2Jvb2wgSFRNTDVUb2tlbml6ZXI6OmlzV2FpdGluZ0ZvclNjcmlwdHMoKSBjb25zdAor
eworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit9CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTDVUb2tlbml6ZXIuaCBiL1dlYkNvcmUvaHRtbC9IVE1M
NVRva2VuaXplci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNmMmRhZmUxMjhmNDBkMWIwNDkwYmNkNTMwMjVkZjRm
NmY3OTRiYjYKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTDVUb2tlbml6ZXIu
aApAQCAtMCwwICsxLDY5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSwgSW5j
LiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gCisgKi8KKworI2lmbmRlZiBIVE1MNVRva2VuaXplcl9oCisjZGVmaW5lIEhUTUw1VG9rZW5p
emVyX2gKKworI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlQ2xpZW50LmgiCisjaW5jbHVkZSAiU2Vn
bWVudGVkU3RyaW5nLmgiCisjaW5jbHVkZSAiVG9rZW5pemVyLmgiCisjaW5jbHVkZSA8d3RmL093
blB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIERvY3VtZW50OworY2xhc3Mg
SFRNTERvY3VtZW50OworY2xhc3MgSFRNTFBhcnNlcjsKK2NsYXNzIEhUTUw1TGV4ZXI7CisKKy8v
IEZJWE1FOiBUaGlzIGlzIHRoZSB3cm9uZyBsYXllciB0byBob29rIGluIHRoZSBuZXcgSFRNTCA1
IExleGVyLAorLy8gaG93ZXZlciBIVE1MVG9rZW5pemVyIGlzIHRvbyBsYXJnZSBhbmQgdG9vIGZy
YWdpbGUgb2YgYSBjbGFzcyB0byBoYWNrIGludG8uCisvLyBFdmVudHVhbGx5IHdlIHNob3VsZCBz
cGxpdCBhbGwgb2YgdGhlIEhUTUwgbGV4ZXIgbG9naWMgb3V0IGZyb20gSFRNTFRva2VuaXplcgor
Ly8gYW5kIHRoZW4gc2hhcmUgbm9uLWxleGVyLXNwZWNpZmljIHRva2VuaXplciBsb2dpYyBiZXR3
ZWVuIEhUTUw1IGFuZCB0aGUKKy8vIGxlZ2FjeSBXZWJLaXQgSFRNTCBsZXhlci4KKworLy8gRklY
TUU6IFRoaXMgY2xhc3MgaXMgZmFyIGZyb20gY29tcGxldGUuCitjbGFzcyBIVE1MNVRva2VuaXpl
ciA6ICBwdWJsaWMgVG9rZW5pemVyLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworcHVi
bGljOgorICAgIEhUTUw1VG9rZW5pemVyKEhUTUxEb2N1bWVudCosIGJvb2wgcmVwb3J0RXJyb3Jz
KTsKKyAgICB2aXJ0dWFsIH5IVE1MNVRva2VuaXplcigpOworCisgICAgdmlydHVhbCB2b2lkIGJl
Z2luKCk7CisgICAgdmlydHVhbCB2b2lkIHdyaXRlKGNvbnN0IFNlZ21lbnRlZFN0cmluZyYsIGJv
b2wgYXBwZW5kRGF0YSk7CisgICAgdmlydHVhbCB2b2lkIGVuZCgpOworICAgIHZpcnR1YWwgdm9p
ZCBmaW5pc2goKTsKKyAgICB2aXJ0dWFsIGJvb2wgaXNXYWl0aW5nRm9yU2NyaXB0cygpIGNvbnN0
OworCitwcml2YXRlOgorICAgIFNlZ21lbnRlZFN0cmluZyBtX3NvdXJjZTsKKworICAgIERvY3Vt
ZW50KiBtX2RvYzsKKyAgICBPd25QdHI8SFRNTDVMZXhlcj4gbV9sZXhlcjsKKyAgICBPd25QdHI8
SFRNTFBhcnNlcj4gbV9wYXJzZXI7Cit9OworCit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9odG1sL0hUTUxEb2N1bWVudC5jcHAgYi9XZWJDb3JlL2h0bWwvSFRNTERvY3VtZW50LmNw
cAppbmRleCAzMDQ4ZWU5NmZkMTdmZDU4YzY3NzU5NTRkMGEzODVlNGIyOGQwZWY3Li5iOWRlOTMw
OGQzYzExOTRmZGVhNmVlY2EwM2Q4OWI4ZWI5M2NkMGJhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0
bWwvSFRNTERvY3VtZW50LmNwcAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTERvY3VtZW50LmNwcApA
QCAtNjQsNiArNjQsNyBAQAogI2luY2x1ZGUgIkZyYW1lTG9hZGVyLmgiCiAjaW5jbHVkZSAiRnJh
bWVUcmVlLmgiCiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCisjaW5jbHVkZSAiSFRNTDVUb2tlbml6
ZXIuaCIKICNpbmNsdWRlICJIVE1MQm9keUVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MRWxlbWVu
dEZhY3RvcnkuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKQEAgLTcxLDYgKzcyLDcgQEAKICNp
bmNsdWRlICJJbnNwZWN0b3JDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiS1VSTC5oIgogI2luY2x1
ZGUgIlBhZ2UuaCIKKyNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NT
dHJpbmcuaD4KIAogI2luY2x1ZGUgIkRvY1R5cGVTdHJpbmdzLmNwcCIKQEAgLTI4MSw3ICsyODMs
NyBAQCB2b2lkIEhUTUxEb2N1bWVudDo6cmVsZWFzZUV2ZW50cygpCiB7CiB9CiAKLVRva2VuaXpl
ciAqSFRNTERvY3VtZW50OjpjcmVhdGVUb2tlbml6ZXIoKQorVG9rZW5pemVyKiBIVE1MRG9jdW1l
bnQ6OmNyZWF0ZVRva2VuaXplcigpCiB7CiAgICAgYm9vbCByZXBvcnRFcnJvcnMgPSBmYWxzZTsK
ICNpZiBFTkFCTEUoSU5TUEVDVE9SKQpAQCAtMjg5LDYgKzI5MSw5IEBAIFRva2VuaXplciAqSFRN
TERvY3VtZW50OjpjcmVhdGVUb2tlbml6ZXIoKQogICAgICAgICByZXBvcnRFcnJvcnMgPSBwYWdl
LT5pbnNwZWN0b3JDb250cm9sbGVyKCktPndpbmRvd1Zpc2libGUoKTsKICNlbmRpZgogCisgICAg
aWYgKHNldHRpbmdzKCkgJiYgc2V0dGluZ3MoKS0+aHRtbDVQYXJzZXJFbmFibGVkKCkpCisgICAg
ICAgIHJldHVybiBuZXcgSFRNTDVUb2tlbml6ZXIodGhpcywgcmVwb3J0RXJyb3JzKTsKKwogICAg
IHJldHVybiBuZXcgSFRNTFRva2VuaXplcih0aGlzLCByZXBvcnRFcnJvcnMpOwogfQogCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTFRva2VuaXplci5oIGIvV2ViQ29yZS9odG1sL0hUTUxU
b2tlbml6ZXIuaAppbmRleCAyOTBmYzVjYTFmMWEwOWMwYWRhNjJhOWEwYTE0OWE4YzIwM2Y3Njhl
Li4xYjAzMTRjMDRiZGJiNTQzMTg1NDEwYzI4ZTk1Y2FjMzRlNzZkMzU1IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2h0bWwvSFRNTFRva2VuaXplci5oCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MVG9rZW5p
emVyLmgKQEAgLTEzMiw2ICsxMzIsMTEgQEAgcHVibGljOgogCiAvLy0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCiAKKy8vIEZJWE1FOiBUaGlzIGNsYXNzIGRvZXMgdG9vIG11Y2guICBSaWdodCBub3cgaXQg
aXMgYm90aCBhbiBIVE1MIGxleGVyIGFzIHdlbGwKKy8vIGFzIGhhbmRsaW5nIGFsbCBvZiB0aGUg
bm9uLWxleGVyLXNwZWNpZmljIGp1bmsgcmVsYXRlZCB0byB0b2tlbml6aW5nIEhUTUwKKy8vIChs
aWtlIGRlYWxpbmcgd2l0aCA8c2NyaXB0PiB0YWdzKS4gIFRoZSBIVE1MIGxleGVyIGJpdHMgc2hv
dWxkIGJlIHB1c2hlZAorLy8gZG93biBpbnRvIGEgc2VwYXJhdGUgSFRNTCBsZXhlciBjbGFzcy4K
KwogY2xhc3MgSFRNTFRva2VuaXplciA6IHB1YmxpYyBUb2tlbml6ZXIsIHB1YmxpYyBDYWNoZWRS
ZXNvdXJjZUNsaWVudCB7CiBwdWJsaWM6CiAgICAgSFRNTFRva2VuaXplcihIVE1MRG9jdW1lbnQq
LCBib29sIHJlcG9ydEVycm9ycyk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTFZpZXdT
b3VyY2VEb2N1bWVudC5jcHAgYi9XZWJDb3JlL2h0bWwvSFRNTFZpZXdTb3VyY2VEb2N1bWVudC5j
cHAKaW5kZXggMmQ4MDBiNGJmYjFhNWYyYjBiZDZhYWFkODgxMjNlZDcwY2ZkZjMyYy4uN2YxZTc4
OTA4YjBmMGFlOTg4OTlmY2FkNTQwMDQ3MDNkZmZkNzJiYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9o
dG1sL0hUTUxWaWV3U291cmNlRG9jdW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MVmll
d1NvdXJjZURvY3VtZW50LmNwcApAQCAtNTksNiArNTksNyBAQCBUb2tlbml6ZXIqIEhUTUxWaWV3
U291cmNlRG9jdW1lbnQ6OmNyZWF0ZVRva2VuaXplcigpCiAgICAgICAgIHx8IG1fdHlwZSA9PSAi
YXBwbGljYXRpb24vdm5kLndhcC54aHRtbCt4bWwiCiAjZW5kaWYKICAgICAgICAgKSB7CisgICAg
ICAgIC8vIEZJWE1FOiBTaG91bGQgcmVzcGVjdCBTZXR0aW5nczo6aHRtbDVQYXJzZXJFbmFibGVk
KCkKICAgICAgICAgcmV0dXJuIG5ldyBIVE1MVG9rZW5pemVyKHRoaXMpOwogICAgIH0KIApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcCBiL1dlYkNvcmUvcGFnZS9TZXR0aW5n
cy5jcHAKaW5kZXggNzE0ODg4YmJiYjhiNTI5MTYyODhiMzc4Mjk2Mjg1NzU2MGZiOTdkZi4uNmY2
YmIwNDE5NzliMzgzOGM2ZjcyOGJmYTYyN2YzMGRkNmVkNDcxYyAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCkBAIC0x
MzIsNiArMTMyLDcgQEAgU2V0dGluZ3M6OlNldHRpbmdzKFBhZ2UqIHBhZ2UpCiAgICAgLCBtX3dl
YkdMRW5hYmxlZChmYWxzZSkKICAgICAsIG1fbG9hZERlZmVycmluZ0VuYWJsZWQodHJ1ZSkKICAg
ICAsIG1fdGlsZWRCYWNraW5nU3RvcmVFbmFibGVkKGZhbHNlKQorICAgICwgbV9odG1sNVBhcnNl
ckVuYWJsZWQoZmFsc2UpCiB7CiAgICAgLy8gQSBGcmFtZSBtYXkgbm90IGhhdmUgYmVlbiBjcmVh
dGVkIHlldCwgc28gd2UgaW5pdGlhbGl6ZSB0aGUgQXRvbWljU3RyaW5nIAogICAgIC8vIGhhc2gg
YmVmb3JlIHRyeWluZyB0byB1c2UgaXQuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvU2V0dGlu
Z3MuaCBiL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCmluZGV4IDMyN2RkMDRjZDZlYzRiMjg5ODgw
ZmRmY2M1ZTUxODJhYjVmMDI1OTkuLmRjM2I1MGZiN2FkOGU0MjM3MzM3NTRkZWI2ZWNmMDM5NzRl
ZjI5ZTYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCisrKyBiL1dlYkNvcmUv
cGFnZS9TZXR0aW5ncy5oCkBAIC0zMDgsNiArMzA4LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICB2b2lkIHNldFRpbGVkQmFja2luZ1N0b3JlRW5hYmxlZChib29sKTsKICAgICAgICAg
Ym9vbCB0aWxlZEJhY2tpbmdTdG9yZUVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3RpbGVkQmFj
a2luZ1N0b3JlRW5hYmxlZDsgfQogCisgICAgICAgIHZvaWQgc2V0SFRNTDVQYXJzZXJFbmFibGVk
KGJvb2wgZmxhZykgeyBtX2h0bWw1UGFyc2VyRW5hYmxlZCA9IGZsYWc7IH0KKyAgICAgICAgYm9v
bCBodG1sNVBhcnNlckVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2h0bWw1UGFyc2VyRW5hYmxl
ZDsgfQorCiAgICAgcHJpdmF0ZToKICAgICAgICAgUGFnZSogbV9wYWdlOwogICAgICAgICAKQEAg
LTM4Nyw2ICszOTAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIGJvb2wgbV93ZWJH
TEVuYWJsZWQgOiAxOwogICAgICAgICBib29sIG1fbG9hZERlZmVycmluZ0VuYWJsZWQgOiAxOwog
ICAgICAgICBib29sIG1fdGlsZWRCYWNraW5nU3RvcmVFbmFibGVkIDogMTsKKyAgICAgICAgYm9v
bCBtX2h0bWw1UGFyc2VyRW5hYmxlZDogMTsKIAogI2lmIFVTRShTQUZBUklfVEhFTUUpCiAgICAg
ICAgIHN0YXRpYyBib29sIGdTaG91bGRQYWludE5hdGl2ZUNvbnRyb2xzOwpkaWZmIC0tZ2l0IGEv
V2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCA0YzgwZWFm
N2I3ZWZiYzEwZGJhZTcyOTVkYTJmNTU4ZGY3ZTU3ZDYwLi5mOThmYzY4Y2EzNzE0NzdiOWE0YWNj
MTNmYzYyZTIxMDJmOTczNTVkIDEwMDY0NAotLS0gYS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysg
Yi9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEwLTA1LTE4ICBFcmlj
IFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBNYWtlIGl0IHBvc3NpYmxlIHRvIGVuYWJsZSB0aGUgbmV3IEhU
TUw1VG9rZW5pemVyIGZvciB0ZXN0aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0zOTI3NQorCisgICAgICAgIEV4cG9zZSB0aGUgV2ViQ29yZTo6U2V0
dGluZ3M6OnVzZXNIVE1MNVBhcnNlciBhcyBhIHByaXZhdGUgV2ViS2l0IHNldHRpbmcuCisKKyAg
ICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOgorICAgICAgICAqIFdl
YlZpZXcvV2ViUHJlZmVyZW5jZXMubW06CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIHVzZXNI
VE1MNVBhcnNlcl0pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBzZXRVc2VzSFRNTDVQYXJz
ZXI6XSk6CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaDoKKyAgICAg
ICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgX3ByZWZlcmVuY2Vz
Q2hhbmdlZE5vdGlmaWNhdGlvbjpdKToKKwogMjAxMC0wNS0xNyAgU2hlcmlmZiBCb3QgIDx3ZWJr
aXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBv
dXQgcjU5NjUyLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VL
ZXlzUHJpdmF0ZS5oIGIvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0
ZS5oCmluZGV4IGY0YWUzMzM3NWRmYmMzMmQ3MjhlNGUyOGYxNGY4ZTA0ZDcyOTAzN2IuLjBkMTU0
NmYzZjEwODhkNmYxM2E5YWE3YTkzMWMyNGE3YWMxNWIwZWQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAorKysgYi9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKQEAgLTkzLDYgKzkzLDcgQEAKICNkZWZp
bmUgV2ViS2l0VXNlc1Byb3hpZWRPcGVuUGFuZWxQcmVmZXJlbmNlS2V5IEAiV2ViS2l0VXNlc1By
b3hpZWRPcGVuUGFuZWwiCiAjZGVmaW5lIFdlYktpdFBsdWdpbkFsbG93ZWRSdW5UaW1lUHJlZmVy
ZW5jZUtleSBAIldlYktpdFBsdWdpbkFsbG93ZWRSdW5UaW1lIgogI2RlZmluZSBXZWJLaXRGcmFt
ZUZsYXR0ZW5pbmdFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdEZyYW1lRmxhdHRlbmluZ0Vu
YWJsZWQiCisjZGVmaW5lIFdlYktpdEhUTUw1UGFyc2VyRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJX
ZWJLaXRIVE1MNVBhcnNlckVuYWJsZWQiCiAKIC8vIFRoZXNlIGFyZSBwcml2YXRlIGJvdGggYmVj
YXVzZSBjYWxsZXJzIHNob3VsZCBiZSB1c2luZyB0aGUgY292ZXIgbWV0aG9kcyBhbmQgYmVjYXVz
ZSB0aGUKIC8vIGNvdmVyIG1ldGhvZHMgdGhlbXNlbHZlcyBhcmUgcHJpdmF0ZS4KZGlmZiAtLWdp
dCBhL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbSBiL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlcy5tbQppbmRleCA5ZGU4NDk1NDk5NzBjMTMxNGY0YWI3YzVkNWVj
ODg5YmI4NTBjNjY3Li40MjdmNmZlY2M1MzYzZDkzMzJmZTQ4YTJkMDI4YzE2M2UxNWQ0ZTFkIDEw
MDY0NAotLS0gYS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KKysrIGIvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCkBAIC0xMjM3LDYgKzEyMzcsMTYgQEAg
c3RhdGljIE5TU3RyaW5nICpjbGFzc0lCQ3JlYXRvcklEID0gbmlsOwogICAgIFtzZWxmIF9zZXRC
b29sVmFsdWU6ZmxhZyBmb3JLZXk6V2ViS2l0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZFByZWZlcmVu
Y2VLZXldOwogfQogCistIChCT09MKWh0bWw1UGFyc2VyRW5hYmxlZAoreworICAgIHJldHVybiBb
c2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdEhUTUw1UGFyc2VyRW5hYmxlZFByZWZlcmVuY2VL
ZXldOworfQorCistICh2b2lkKXNldEhUTUw1UGFyc2VyRW5hYmxlZDooQk9PTClmbGFnCit7Cisg
ICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFnIGZvcktleTpXZWJLaXRIVE1MNVBhcnNlckVuYWJs
ZWRQcmVmZXJlbmNlS2V5XTsKK30KKwogLSAodm9pZClkaWRSZW1vdmVGcm9tV2ViVmlldwogewog
ICAgIEFTU0VSVChfcHJpdmF0ZS0+bnVtV2ViVmlld3MpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oIGIvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YlByZWZlcmVuY2VzUHJpdmF0ZS5oCmluZGV4IGVlNzg1ZTkzMTU4YjA5YmQxOWY0YWYzYzEwYWIz
MjdiNmRhODliMmYuLjdhMTQ5MWNjNWE0YjkyNzIyNzQzZjhiZTUxYTgyMmYyNjhjMGVmMWEgMTAw
NjQ0Ci0tLSBhL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAorKysg
Yi9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKQEAgLTE2Nyw2ICsx
NjcsOSBAQCBleHRlcm4gTlNTdHJpbmcgKldlYlByZWZlcmVuY2VzUmVtb3ZlZE5vdGlmaWNhdGlv
bjsKIC0gKEJPT0wpd2ViR0xFbmFibGVkOwogLSAodm9pZClzZXRXZWJHTEVuYWJsZWQ6KEJPT0wp
ZW5hYmxlZDsKIAorLSAoQk9PTClodG1sNVBhcnNlckVuYWJsZWQ7CistICh2b2lkKXNldEhUTUw1
UGFyc2VyRW5hYmxlZDooQk9PTClmbGFnOworCiAtIChCT09MKXVzZXNQcm94aWVkT3BlblBhbmVs
OwogLSAodm9pZClzZXRVc2VzUHJveGllZE9wZW5QYW5lbDooQk9PTCllbmFibGVkOwogCmRpZmYg
LS1naXQgYS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJWaWV3Lm1tCmluZGV4IDM2MzEzYjQyNjJjZTRlNjg4ZWU4ZjA3OTVmMmYyMzMyMmZkN2Fk
MGUuLjg1ZThiY2I4N2ZmZWJjNjA2YzNhM2FhODc4NWNmNTlkNzU2Y2FjYTMgMTAwNjQ0Ci0tLSBh
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJWaWV3Lm1tCkBAIC0xNDA1LDYgKzE0MDUsNyBAQCBzdGF0aWMgYm9vbCBmYXN0RG9jdW1lbnRU
ZWFyZG93bkVuYWJsZWQoKQogICAgIHNldHRpbmdzLT5zZXRXZWJHTEVuYWJsZWQoW3ByZWZlcmVu
Y2VzIHdlYkdMRW5hYmxlZF0pOwogICAgIHNldHRpbmdzLT5zZXRMb2FkRGVmZXJyaW5nRW5hYmxl
ZChzaG91bGRFbmFibGVMb2FkRGVmZXJyaW5nKCkpOwogICAgIHNldHRpbmdzLT5zZXRGcmFtZUZs
YXR0ZW5pbmdFbmFibGVkKFtwcmVmZXJlbmNlcyBpc0ZyYW1lRmxhdHRlbmluZ0VuYWJsZWRdKTsK
KyAgICBzZXR0aW5ncy0+c2V0VXNlc0hUTUw1UGFyc2VyKFtwcmVmZXJlbmNlcyBodG1sNVBhcnNl
ckVuYWJsZWRdKTsKIH0KIAogc3RhdGljIGlubGluZSBJTVAgZ2V0TWV0aG9kKGlkIG8sIFNFTCBz
KQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56346</attachid>
            <date>2010-05-18 03:09:37 -0700</date>
            <delta_ts>2010-05-18 03:09:37 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-39275-20100518030936.patch</filename>
            <type>text/plain</type>
            <size>29645</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQW5kcm9pZC5tayBiL1dlYkNvcmUvQW5kcm9pZC5tawppbmRl
eCBkM2ZlMzk5OWJlNzNlYmYwZTQ4MTk1NjVjYTdlODUwMGIzZGRjMzljLi44OGZmZDJhNmJjZmIw
NWYzMWM3ZTU0NmY4MjRmYTJlYTZkM2Y0NTIwIDEwMDY0NAotLS0gYS9XZWJDb3JlL0FuZHJvaWQu
bWsKKysrIGIvV2ViQ29yZS9BbmRyb2lkLm1rCkBAIC0yNDUsNiArMjQ1LDggQEAgTE9DQUxfU1JD
X0ZJTEVTIDo9ICQoTE9DQUxfU1JDX0ZJTEVTKSBcCiAJaHRtbC9GaWxlLmNwcCBcCiAJaHRtbC9G
aWxlTGlzdC5jcHAgXAogCWh0bWwvRm9ybURhdGFMaXN0LmNwcCBcCisJaHRtbC9IVE1MNUxleGVy
LmNwcCBcCisJaHRtbC9IVE1MNVRva2VuaXplci5jcHAgXAogCWh0bWwvSFRNTEFsbENvbGxlY3Rp
b24uY3BwIFwKIAlodG1sL0hUTUxDb2xsZWN0aW9uLmNwcCBcCiAJaHRtbC9IVE1MRGF0YUxpc3RF
bGVtZW50LmNwcCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dAppbmRleCAxYTMyMjBmYzY1YTA0NjhkNzkzYzQwNTY0OTBjYzUxYzQ5
NGRhOGMxLi4xMWYxNWFjYmJmMTViNmY2MTdjZDk5MzdjYjc0MmEyY2YzNWQyYjk5IDEwMDY0NAot
LS0gYS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
QEAgLTg4MCw2ICs4ODAsOCBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgaHRtbC9GaWxlLmNw
cAogICAgIGh0bWwvRmlsZUxpc3QuY3BwCiAgICAgaHRtbC9Gb3JtRGF0YUxpc3QuY3BwCisgICAg
aHRtbC9IVE1MNUxleGVyLmNwcAorICAgIGh0bWwvSFRNTDVUb2tlbml6ZXIuY3BwCiAgICAgaHRt
bC9IVE1MQWxsQ29sbGVjdGlvbi5jcHAKICAgICBodG1sL0hUTUxBbmNob3JFbGVtZW50LmNwcAog
ICAgIGh0bWwvSFRNTEFwcGxldEVsZW1lbnQuY3BwCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5n
ZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDhlNjRhNjg5Yzg0NTRiMzBkMzYwZjk4YjY1
YTAxMjVhMmIxZjc3Y2IuLjlmYjk1OGQ4YmE0OTQxNzdlY2ExMzU4MzdkYWE2NDIzYjczZTBiOWIg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsNDkgQEAKKzIwMTAtMDUtMTggIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2Ug
aXQgcG9zc2libGUgdG8gZW5hYmxlIHRoZSBuZXcgSFRNTDVUb2tlbml6ZXIgZm9yIHRlc3RpbmcK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM5Mjc1CisK
KyAgICAgICAgSSBhZGRlZCB1c2VzSFRNTDVQYXJzZXIgdG8gU2V0dGluZ3Mgc28gdGhhdCB3ZSBj
YW4gZW5hYmxlL2Rpc2FibGUKKyAgICAgICAgdGhlIEhUTUw1IHBhcnNlciBmb3IgdGVzdGluZy4K
KworICAgICAgICBJIGFsc28gcmlwcGVkIG91dCBhIGJ1bmNoIG9mIGRlYWQgY29kZSBmcm9tIEhU
TUw1TGV4ZXIuCisKKyAgICAgICAgSSBoYWQgdG8gYWRkIEhUTUw1TGV4ZXIvSFRNTDVUb2tlbml6
ZXIgdG8gYWxsIGJ1aWxkIHN5c3RlbXMgc28gdGhhdAorICAgICAgICB0aGUgYnVpbGQgd291bGRu
J3QgZmFpbCBub3cgdGhhdCB3ZSByZWZlcmVuY2UgdGhlc2UgY2xhc3NlcyBmcm9tIEhUTUxEb2N1
bWVudC4KKworICAgICAgICAqIEFuZHJvaWQubWs6CisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6
CisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAg
ICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvajoKKyAgICAgICAgKiBodG1sL0hUTUw1TGV4ZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTDVMZXhlcjo6cmVzZXQpOgorICAgICAgICAoV2ViQ29yZTo6aXNXaGl0ZXNwYWNlKToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUw1TGV4ZXI6Om5leHRUb2tlbik6CisgICAgICAgICogaHRt
bC9IVE1MNUxleGVyLmg6CisgICAgICAgICogaHRtbC9IVE1MNVRva2VuaXplci5jcHA6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZTo6SFRNTDVUb2tlbml6ZXI6OkhUTUw1VG9rZW5pemVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUw1VG9rZW5pemVyOjp+SFRNTDVUb2tlbml6ZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTDVUb2tlbml6ZXI6OmJlZ2luKToKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUw1VG9rZW5pemVyOjp3cml0ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MNVRva2VuaXplcjo6
ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUw1VG9rZW5pemVyOjpmaW5pc2gpOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTDVUb2tlbml6ZXI6OmlzV2FpdGluZ0ZvclNjcmlwdHMpOgorICAgICAg
ICAqIGh0bWwvSFRNTDVUb2tlbml6ZXIuaDogQWRkZWQuCisgICAgICAgICogaHRtbC9IVE1MRG9j
dW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERvY3VtZW50OjpjcmVhdGVUb2tlbml6
ZXIpOgorICAgICAgICAqIGh0bWwvSFRNTFRva2VuaXplci5oOgorICAgICAgICAqIGh0bWwvSFRN
TFZpZXdTb3VyY2VEb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVmlld1NvdXJj
ZURvY3VtZW50OjpjcmVhdGVUb2tlbml6ZXIpOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OlNldHRpbmdzKToKKyAgICAgICAgKiBwYWdl
L1NldHRpbmdzLmg6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0VXNlc0hUTUw1UGFy
c2VyKToKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjp1c2VzSFRNTDVQYXJzZXIpOgorCiAy
MDEwLTA1LTE4ICBNYWNpZWogU3RhY2hvd2lhayAgPG1qc0BhcHBsZS5jb20+CiAKICAgICAgICAg
Tm90IHJldmlld2VkLCBidWlsZCBmaXguCmRpZmYgLS1naXQgYS9XZWJDb3JlL0dOVW1ha2VmaWxl
LmFtIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCA1ZTBhMTI2M2EyMTc1N2YxNTcxN2E4
MWFhZDYyNzZkNGM1ZGY2M2E1Li5hOWU3MzI3YTQ2MDliMTBiNjU3NDg2MGJhNDI5ZjExMDg5NzYy
NzM5IDEwMDY0NAotLS0gYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1dlYkNvcmUvR05V
bWFrZWZpbGUuYW0KQEAgLTEwNjksNiArMTA2OSwxMCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAog
CVdlYkNvcmUvaHRtbC9GaWxlVGhyZWFkVGFzay5oIFwKIAlXZWJDb3JlL2h0bWwvRm9ybURhdGFM
aXN0LmNwcCBcCiAJV2ViQ29yZS9odG1sL0Zvcm1EYXRhTGlzdC5oIFwKKwlXZWJDb3JlL2h0bWwv
SFRNTDVMZXhlci5jcHAgXAorCVdlYkNvcmUvaHRtbC9IVE1MNUxleGVyLmggXAorCVdlYkNvcmUv
aHRtbC9IVE1MNVRva2VuaXplci5jcHAgXAorCVdlYkNvcmUvaHRtbC9IVE1MNVRva2VuaXplci5o
IFwKIAlXZWJDb3JlL2h0bWwvSFRNTEFsbENvbGxlY3Rpb24uY3BwIFwKIAlXZWJDb3JlL2h0bWwv
SFRNTEFsbENvbGxlY3Rpb24uaCBcCiAJV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmNw
cCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1dlYkNvcmUvV2ViQ29yZS5n
eXBpCmluZGV4IDkxZDdlZGFiNWE1MzA3NDU2N2Y1MDFjMTYyNmY3MzM2NjI5MmZiYjYuLmIwOTA2
MDQwYWM5YjBkOGIwN2NkZGY4ZjY1MTcyYTRjNTFjZGQ1MjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
V2ViQ29yZS5neXBpCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0xNDYxLDYgKzE0NjEs
MTAgQEAKICAgICAgICAgICAgICdodG1sL0ZpbGVUaHJlYWRUYXNrLmgnLAogICAgICAgICAgICAg
J2h0bWwvRm9ybURhdGFMaXN0LmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9Gb3JtRGF0YUxpc3Qu
aCcsCisgICAgICAgICAgICAnaHRtbC9IVE1MTGV4ZXIuY3BwJywKKyAgICAgICAgICAgICdodG1s
L0hUTUxMZXhlci5oJywKKyAgICAgICAgICAgICdodG1sL0hUTUxUb2tlbml6ZXIuY3BwJywKKyAg
ICAgICAgICAgICdodG1sL0hUTUxUb2tlbml6ZXIuaCcsCiAgICAgICAgICAgICAnaHRtbC9IVE1M
QWxsQ29sbGVjdGlvbi5jcHAnLAogICAgICAgICAgICAgJ2h0bWwvSFRNTEFsbENvbGxlY3Rpb24u
aCcsCiAgICAgICAgICAgICAnaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHAnLApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggOTMzMDgx
YWMyNjliNjE4OWZjY2NkMmFkZTQyYzI1YWRiYmZmNzBiYi4uM2Y5OTViZDRmNzFlZTYyZTI1Yjcy
YjdmNmE5ZmMwZDUwNjgwNDk3ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnBybworKysg
Yi9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC02MDUsNiArNjA1LDggQEAgU09VUkNFUyArPSBcCiAg
ICAgaHRtbC9GaWxlU3RyZWFtUHJveHkuY3BwIFwKICAgICBodG1sL0ZpbGVUaHJlYWQuY3BwIFwK
ICAgICBodG1sL0Zvcm1EYXRhTGlzdC5jcHAgXAorICAgIGh0bWwvSFRNTDVMZXhlci5jcHAgXAor
ICAgIGh0bWwvSFRNTDVUb2tlbml6ZXIuY3BwIFwKICAgICBodG1sL0hUTUxBbGxDb2xsZWN0aW9u
LmNwcCBcCiAgICAgaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHAgXAogICAgIGh0bWwvSFRNTEFw
cGxldEVsZW1lbnQuY3BwIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggM2UzODBjMGZlMzFhMzMwZjIxNDI4YWQ1NWZmYmYxMWM5OWQ1NWRmNC4uYmUzMDY1
N2Y5YjYxYzgwNmQ5MzQ3ZTkzYjYzMWFjOGVhMGIyMGEyMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTI5MzgsNiArMjkzOCw4IEBACiAJCUE4NjYyOUQy
MDlEQTJCNDgwMDk2MzNBNSAvKiBKU01vdXNlRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTg2NjI5Q0MwOURBMkI0NzAwOTYzM0E1IC8qIEpT
TW91c2VFdmVudC5jcHAgKi87IH07CiAJCUE4NjYyOUQzMDlEQTJCNDgwMDk2MzNBNSAvKiBKU0tl
eWJvYXJkRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEE4NjYyOUNEMDlEQTJCNDcwMDk2MzNBNSAvKiBKU0tleWJvYXJkRXZlbnQuaCAqLzsgfTsK
IAkJQTg2NjI5RDQwOURBMkI0ODAwOTYzM0E1IC8qIEpTS2V5Ym9hcmRFdmVudC5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBODY2MjlDRTA5REEyQjQ3
MDA5NjMzQTUgLyogSlNLZXlib2FyZEV2ZW50LmNwcCAqLzsgfTsKKwkJQTg3MTAzOEExMUEyOTQ3
MDAwREJENTBFIC8qIEhUTUw1VG9rZW5pemVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4NzEwMzg4MTFBMjk0NzAwMERCRDUwRSAvKiBIVE1MNVRv
a2VuaXplci5jcHAgKi87IH07CisJCUE4NzEwMzhCMTFBMjk0NzAwMERCRDUwRSAvKiBIVE1MNVRv
a2VuaXplci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTg3MTAzODkxMUEyOTQ3MDAwREJENTBFIC8qIEhUTUw1VG9rZW5pemVyLmggKi87IH07CiAJCUE4
NzFENDU2MEExMjdDQkMwMEIxMkE2OCAvKiBIVE1MUGx1Z0luRWxlbWVudC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTg3MUQ0NEMwQTEyN0NCQzAwQjEy
QTY4IC8qIEhUTUxQbHVnSW5FbGVtZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJQTg3MUQ0NTcwQTEyN0NCQzAwQjEyQTY4IC8qIEhUTUxQbHVn
SW5FbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEE4NzFENDREMEExMjdDQkMwMEIxMkE2OCAvKiBIVE1MUGx1Z0luRWxlbWVudC5jcHAgKi87
IH07CiAJCUE4NzFENDU4MEExMjdDQkMwMEIxMkE2OCAvKiBIVE1MUGFyYW1FbGVtZW50LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBODcxRDQ0RTBBMTI3
Q0JDMDBCMTJBNjggLyogSFRNTFBhcmFtRWxlbWVudC5oICovOyB9OwpAQCAtODM1NCw2ICs4MzU2
LDggQEAKIAkJQTg2NjI5Q0MwOURBMkI0NzAwOTYzM0E1IC8qIEpTTW91c2VFdmVudC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNNb3VzZUV2ZW50LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTg2NjI5Q0QwOURBMkI0NzAwOTYzM0E1IC8qIEpT
S2V5Ym9hcmRFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNLZXli
b2FyZEV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE4NjYyOUNFMDlEQTJC
NDcwMDk2MzNBNSAvKiBKU0tleWJvYXJkRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTS2V5Ym9hcmRFdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUE4NzEwMzg4MTFBMjk0NzAwMERCRDUwRSAvKiBIVE1MNVRva2VuaXplci5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIVE1MNVRva2VuaXplci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE4NzEwMzg5MTFBMjk0NzAwMERCRDUwRSAv
KiBIVE1MNVRva2VuaXplci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIVE1M
NVRva2VuaXplci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBODcxRDQ0QzBBMTI3
Q0JDMDBCMTJBNjggLyogSFRNTFBsdWdJbkVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEhUTUxQbHVnSW5FbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUE4NzFENDREMEExMjdDQkMwMEIxMkE2OCAvKiBIVE1MUGx1Z0luRWxlbWVudC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSFRNTFBsdWdJbkVsZW1lbnQu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBODcxRDQ0RTBBMTI3Q0JDMDBCMTJB
NjggLyogSFRNTFBhcmFtRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSFRNTFBhcmFtRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTMy
NjcsMTAgKzEzMjcxLDEwIEBACiAJCTkzRUVDMUVDMDlDMjg3NzcwMEM1MTVEMSAvKiBodG1sICov
ID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKLQkJCQk0OTQ4NEZBRTEw
MkNGMDFFMDAxODdERDMgLyogY2FudmFzICovLAogCQkJCTJFQUZBRjBCMTBFMkFGMkQwMDdFRDNE
NiAvKiBCbG9iLmNwcCAqLywKIAkJCQkyRUFGQUYwQzEwRTJBRjJEMDA3RUQzRDYgLyogQmxvYi5o
ICovLAogCQkJCTJFQUZBRjBEMTBFMkFGMkQwMDdFRDNENiAvKiBCbG9iLmlkbCAqLywKKwkJCQk0
OTQ4NEZBRTEwMkNGMDFFMDAxODdERDMgLyogY2FudmFzICovLAogCQkJCTkzQzQ0MUVEMEY4MTNB
MUEwMEMxQTYzNCAvKiBDb2xsZWN0aW9uQ2FjaGUuY3BwICovLAogCQkJCTkzQzQ0MUVFMEY4MTNB
MUEwMEMxQTYzNCAvKiBDb2xsZWN0aW9uQ2FjaGUuaCAqLywKIAkJCQk5M0M0NDFGRjBGODEzQUUx
MDBDMUE2MzQgLyogQ29sbGVjdGlvblR5cGUuaCAqLywKQEAgLTEzMzEyLDYgKzEzMzE2LDggQEAK
IAkJCQk5N0U4QjM1NDExQTIzQ0UyMDAxNjk0MDkgLyogSFRNTDVMZXhlci5jcHAgKi8sCiAJCQkJ
OTdFOEIzNTUxMUEyM0NFMjAwMTY5NDA5IC8qIEhUTUw1TGV4ZXIuaCAqLywKIAkJCQk5N0U4QjND
MjExQTI4OTA4MDAxNjk0MDkgLyogSFRNTDVUb2tlbi5oICovLAorCQkJCUE4NzEwMzg4MTFBMjk0
NzAwMERCRDUwRSAvKiBIVE1MNVRva2VuaXplci5jcHAgKi8sCisJCQkJQTg3MTAzODkxMUEyOTQ3
MDAwREJENTBFIC8qIEhUTUw1VG9rZW5pemVyLmggKi8sCiAJCQkJQkM5N0UyMzkxMDkxNDQ5NTAw
MTBEMzYxIC8qIEhUTUxBbGxDb2xsZWN0aW9uLmNwcCAqLywKIAkJCQlCQzk3RTIzODEwOTE0NDk1
MDAxMEQzNjEgLyogSFRNTEFsbENvbGxlY3Rpb24uaCAqLywKIAkJCQlCQzk3RTIzQzEwOTE0NkYx
MDAxMEQzNjEgLyogSFRNTEFsbENvbGxlY3Rpb24uaWRsICovLApAQCAtMTkyNjIsNiArMTkyNjgs
NyBAQAogCQkJCUM1NkM5MUE3MTE5RDkxODcwMERFNENEOSAvKiBKU0lEQlN1Y2Nlc3NFdmVudC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJOTdFOEIzNTcxMUEyM0NFMjAwMTY5NDA5IC8qIEhUTUw1TGV4
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3RThCM0MzMTFBMjg5MDgwMDE2OTQwOSAvKiBIVE1M
NVRva2VuLmggaW4gSGVhZGVycyAqLywKKwkJCQlBODcxMDM4QjExQTI5NDcwMDBEQkQ1MEUgLyog
SFRNTDVUb2tlbml6ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBs
b3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjE1NDMsNiArMjE1NTAsNyBAQAog
CQkJCUM1NkM5MUEyMTE5RDkxODEwMERFNENEOSAvKiBKU0lEQkV2ZW50LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUM1NkM5MUE2MTE5RDkxODcwMERFNENEOSAvKiBKU0lEQlN1Y2Nlc3NFdmVudC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk5N0U4QjM1NjExQTIzQ0UyMDAxNjk0MDkgLyogSFRNTDVM
ZXhlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBODcxMDM4QTExQTI5NDcwMDBEQkQ1MEUgLyog
SFRNTDVUb2tlbml6ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRl
cGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0
bWwvSFRNTDVMZXhlci5jcHAgYi9XZWJDb3JlL2h0bWwvSFRNTDVMZXhlci5jcHAKaW5kZXggODE4
MDYxZjY4N2EyMDVkMGI2ZjkzNzE1YjJiNGE4ZmVmMzA0NzcyYy4uOGE3ZjAyZWY0N2JiYTdhYzNl
MWIzZjUzYzRmMzA3OThjYzQ5NDA5ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUw1TGV4
ZXIuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MNUxleGVyLmNwcApAQCAtMzIsMTAgKzMyLDEy
IEBACiAjaW5jbHVkZSAiSFRNTDVUb2tlbi5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2lu
Y2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCi0jaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgog
I2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgorI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5o
PgorI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9V
bmljb2RlLmg+CiAKKwogLy8gVXNlIF9fR05VQ19fIGluc3RlYWQgb2YgUExBVEZPUk0oR0NDKSB0
byBzdGF5IGNvbnNpc3RlbnQgd2l0aCB0aGUgZ3BlcmYgZ2VuZXJhdGVkIGMgZmlsZQogI2lmZGVm
IF9fR05VQ19fCiAvLyBUaGUgbWFpbiB0b2tlbml6ZXIgaW5jbHVkZXMgdGhpcyB0b28gc28gd2Ug
YXJlIGdldHRpbmcgdHdvIGNvcGllcyBvZiB0aGUgZGF0YS4gSG93ZXZlciwgdGhpcyB3YXkgdGhl
IGNvZGUgZ2V0cyBpbmxpbmVkLgpAQCAtNjQsNzAgKzY2LDE1IEBAIEhUTUw1TGV4ZXI6On5IVE1M
NUxleGVyKCkKIHsKIH0KIAotdm9pZCBIVE1MNUxleGVyOjpiZWdpbigpIAoteyAKLSAgICByZXNl
dCgpOyAKLX0KLQotdm9pZCBIVE1MNUxleGVyOjplbmQoKSAKLXsKLX0KLQogdm9pZCBIVE1MNUxl
eGVyOjpyZXNldCgpCiB7Ci0gICAgbV9zb3VyY2UuY2xlYXIoKTsKLQogICAgIG1fc3RhdGUgPSBE
YXRhU3RhdGU7Ci0gICAgbV9lc2NhcGUgPSBmYWxzZTsKLSAgICBtX2NvbnRlbnRNb2RlbCA9IFBD
REFUQTsKLSAgICBtX2NvbW1lbnRQb3MgPSAwOwotCi0gICAgbV9jbG9zZVRhZyA9IGZhbHNlOwot
ICAgIG1fdGFnTmFtZS5jbGVhcigpOwotICAgIG1fYXR0cmlidXRlTmFtZS5jbGVhcigpOwotICAg
IG1fYXR0cmlidXRlVmFsdWUuY2xlYXIoKTsKLSAgICBtX2xhc3RTdGFydFRhZyA9IEF0b21pY1N0
cmluZygpOwotCi0gICAgbV9sYXN0Q2hhcmFjdGVySW5kZXggPSAwOwotICAgIGNsZWFyTGFzdENo
YXJhY3RlcnMoKTsKLX0KLQotdm9pZCBIVE1MNUxleGVyOjp3cml0ZShjb25zdCBTZWdtZW50ZWRT
dHJpbmcmIHNvdXJjZSwgSFRNTDVUb2tlbiYgb3V0cHV0VG9rZW4pCi17Ci0gICAgbV9vdXRwdXRU
b2tlbiA9ICZvdXRwdXRUb2tlbjsKLSAgICB0b2tlbml6ZShzb3VyY2UpOwotICAgIG1fb3V0cHV0
VG9rZW4gPSAwOwogfQogCiBzdGF0aWMgaW5saW5lIGJvb2wgaXNXaGl0ZXNwYWNlKFVDaGFyIGMp
CiB7CiAgICAgcmV0dXJuIGMgPT0gJyAnIHx8IGMgPT0gJ1xuJyB8fCBjID09ICdccicgfHwgYyA9
PSAnXHQnOwogfQotCi1pbmxpbmUgdm9pZCBIVE1MNUxleGVyOjpjbGVhckxhc3RDaGFyYWN0ZXJz
KCkKLXsKLSAgICBtZW1zZXQobV9sYXN0Q2hhcmFjdGVycywgMCwgbGFzdENoYXJhY3RlcnNCdWZm
ZXJTaXplICogc2l6ZW9mKFVDaGFyKSk7Ci19Ci0KLWlubGluZSB2b2lkIEhUTUw1TGV4ZXI6OnJl
bWVtYmVyQ2hhcmFjdGVyKFVDaGFyIGMpCi17Ci0gICAgbV9sYXN0Q2hhcmFjdGVySW5kZXggPSAo
bV9sYXN0Q2hhcmFjdGVySW5kZXggKyAxKSAlIGxhc3RDaGFyYWN0ZXJzQnVmZmVyU2l6ZTsKLSAg
ICBtX2xhc3RDaGFyYWN0ZXJzW21fbGFzdENoYXJhY3RlckluZGV4XSA9IGM7Ci19Ci0KLWlubGlu
ZSBib29sIEhUTUw1TGV4ZXI6Omxhc3RDaGFyYWN0ZXJzTWF0Y2goY29uc3QgY2hhciogY2hhcnMs
IHVuc2lnbmVkIGNvdW50KSBjb25zdAotewotICAgIHVuc2lnbmVkIHBvcyA9IG1fbGFzdENoYXJh
Y3RlckluZGV4OwotICAgIHdoaWxlIChjb3VudCkgewotICAgICAgICBpZiAoY2hhcnNbY291bnQg
LSAxXSAhPSBtX2xhc3RDaGFyYWN0ZXJzW3Bvc10pCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7
Ci0gICAgICAgIC0tY291bnQ7Ci0gICAgICAgIGlmICghcG9zKQotICAgICAgICAgICAgcG9zID0g
bGFzdENoYXJhY3RlcnNCdWZmZXJTaXplOwotICAgICAgICAtLXBvczsKLSAgICB9Ci0gICAgcmV0
dXJuIHRydWU7Ci19CiAgICAgCiBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxlZ2FsRW50aXR5Rm9y
KHVuc2lnbmVkIHZhbHVlKQogewpAQCAtMjU1LDEzICsyMDIsMTMgQEAgb3V0T2ZDaGFyYWN0ZXJz
OgogICAgIHJldHVybiAwOwogfQogCi12b2lkIEhUTUw1TGV4ZXI6OnRva2VuaXplKGNvbnN0IFNl
Z21lbnRlZFN0cmluZyYgc291cmNlKQordm9pZCBIVE1MNUxleGVyOjpuZXh0VG9rZW4oU2VnbWVu
dGVkU3RyaW5nJiBzb3VyY2UsIEhUTUw1VG9rZW4mIHRva2VuKQogewotICAgIG1fc291cmNlLmFw
cGVuZChzb3VyY2UpOwotCisgICAgbV9vdXRwdXRUb2tlbiA9ICZ0b2tlbjsKICAgICAvLyBTb3Vy
Y2U6IGh0dHA6Ly93d3cud2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9jdXJyZW50LXdvcmsvI3Rv
a2VuaXNhdGlvbjAKLSAgICB3aGlsZSAoIW1fc291cmNlLmlzRW1wdHkoKSkgewotICAgICAgICBV
Q2hhciBjYyA9ICptX3NvdXJjZTsKKyAgICAvLyBGSVhNRTogVGhpcyB3aGlsZSBzaG91bGQgc3Rv
cCBhcyBzb29uIGFzIHdlIGhhdmUgYSB0b2tlbiB0byByZXR1cm4uCisgICAgd2hpbGUgKCFzb3Vy
Y2UuaXNFbXB0eSgpKSB7CisgICAgICAgIFVDaGFyIGNjID0gKnNvdXJjZTsKICAgICAgICAgc3dp
dGNoIChtX3N0YXRlKSB7CiAgICAgICAgIGNhc2UgRGF0YVN0YXRlOiB7CiAgICAgICAgICAgICBp
ZiAoY2MgPT0gJyYnKQpAQCAtNzUxLDE2ICs2OTgsOSBAQCB2b2lkIEhUTUw1TGV4ZXI6OnRva2Vu
aXplKGNvbnN0IFNlZ21lbnRlZFN0cmluZyYgc291cmNlKQogICAgICAgICAgICAgbm90SW1wbGVt
ZW50ZWQoKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9Ci0gICAgICAgIG1fc291cmNl
LmFkdmFuY2UoKTsKKyAgICAgICAgc291cmNlLmFkdmFuY2UoKTsKICAgICB9Ci19Ci0KLXZvaWQg
SFRNTDVMZXhlcjo6cHJvY2Vzc0F0dHJpYnV0ZSgpCi17Ci0gICAgQXRvbWljU3RyaW5nIHRhZyA9
IEF0b21pY1N0cmluZyhtX3RhZ05hbWUuZGF0YSgpLCBtX3RhZ05hbWUuc2l6ZSgpKTsKLSAgICBB
dG9taWNTdHJpbmcgYXR0cmlidXRlID0gQXRvbWljU3RyaW5nKG1fYXR0cmlidXRlTmFtZS5kYXRh
KCksIG1fYXR0cmlidXRlTmFtZS5zaXplKCkpOwotCi0gICAgU3RyaW5nIHZhbHVlKG1fYXR0cmli
dXRlVmFsdWUuZGF0YSgpLCBtX2F0dHJpYnV0ZVZhbHVlLnNpemUoKSk7CisgICAgbV9vdXRwdXRU
b2tlbiA9IDA7CiB9CiAKIGlubGluZSBib29sIEhUTUw1TGV4ZXI6OnRlbXBvcmFyeUJ1ZmZlcklz
KGNvbnN0IGNoYXIqKQpAQCAtNzc4LDI4ICs3MTgsNCBAQCBpbmxpbmUgdm9pZCBIVE1MNUxleGVy
OjplbWl0UGFyc2VFcnJvcigpCiB7CiB9CiAKLXZvaWQgSFRNTDVMZXhlcjo6ZW1pdFRhZygpCi17
Ci0gICAgaWYgKG1fY2xvc2VUYWcpIHsKLSAgICAgICAgbV9jb250ZW50TW9kZWwgPSBQQ0RBVEE7
Ci0gICAgICAgIGNsZWFyTGFzdENoYXJhY3RlcnMoKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0K
LQotICAgIEF0b21pY1N0cmluZyB0YWcobV90YWdOYW1lLmRhdGEoKSwgbV90YWdOYW1lLnNpemUo
KSk7Ci0gICAgbV9sYXN0U3RhcnRUYWcgPSB0YWc7Ci0KLSAgICBpZiAodGFnID09IHRleHRhcmVh
VGFnIHx8IHRhZyA9PSB0aXRsZVRhZykKLSAgICAgICAgbV9jb250ZW50TW9kZWwgPSBSQ0RBVEE7
Ci0gICAgZWxzZSBpZiAodGFnID09IHN0eWxlVGFnIHx8IHRhZyA9PSB4bXBUYWcgfHwgdGFnID09
IHNjcmlwdFRhZyB8fCB0YWcgPT0gaWZyYW1lVGFnIHx8IHRhZyA9PSBub2VtYmVkVGFnIHx8IHRh
ZyA9PSBub2ZyYW1lc1RhZykKLSAgICAgICAgbV9jb250ZW50TW9kZWwgPSBDREFUQTsKLSAgICBl
bHNlIGlmICh0YWcgPT0gbm9zY3JpcHRUYWcpCi0gICAgICAgIC8vIHdlIHdvdWxkbid0IGJlIGhl
cmUgaWYgc2NyaXB0cyB3ZXJlIGRpc2FibGVkCi0gICAgICAgIG1fY29udGVudE1vZGVsID0gQ0RB
VEE7Ci0gICAgZWxzZSBpZiAodGFnID09IHBsYWludGV4dFRhZykKLSAgICAgICAgbV9jb250ZW50
TW9kZWwgPSBQTEFJTlRFWFQ7Ci0gICAgZWxzZQotICAgICAgICBtX2NvbnRlbnRNb2RlbCA9IFBD
REFUQTsKLX0KLQogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUw1TGV4ZXIuaCBiL1dl
YkNvcmUvaHRtbC9IVE1MNUxleGVyLmgKaW5kZXggY2FiNGJlMDg0YmIxMTc4ZTUwMzcxYTYyOTM3
NjViOTgzNWVhMWUwMC4uYzQ0NzU5ZTgzOTVjYWEyYWU0Zjc2ZjkwOGRhNTNiOGIzNjI3YjQ3ZCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUw1TGV4ZXIuaAorKysgYi9XZWJDb3JlL2h0bWwv
SFRNTDVMZXhlci5oCkBAIC0zNSwzMyArMzUsMjMgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
ICAgIGNsYXNzIEhUTUw1VG9rZW47Ci0gICAgCisKICAgICBjbGFzcyBIVE1MNUxleGVyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKICAgICBwdWJsaWM6CiAgICAgICAgIEhUTUw1TGV4ZXIoKTsKICAg
ICAgICAgfkhUTUw1TGV4ZXIoKTsKIAotICAgICAgICB2b2lkIGJlZ2luKCk7Ci0gICAgICAgIHZv
aWQgd3JpdGUoY29uc3QgU2VnbWVudGVkU3RyaW5nJiwgSFRNTDVUb2tlbiYpOwotICAgICAgICB2
b2lkIGVuZCgpOworICAgICAgICB2b2lkIHJlc2V0KCk7CisgICAgICAgIHZvaWQgbmV4dFRva2Vu
KFNlZ21lbnRlZFN0cmluZyYsIEhUTUw1VG9rZW4mKTsKIAogICAgICAgICBzdGF0aWMgdW5zaWdu
ZWQgY29uc3VtZUVudGl0eShTZWdtZW50ZWRTdHJpbmcmLCBib29sJiBub3RFbm91Z2hDaGFyYWN0
ZXJzKTsKIAogICAgIHByaXZhdGU6Ci0gICAgICAgIHZvaWQgdG9rZW5pemUoY29uc3QgU2VnbWVu
dGVkU3RyaW5nJik7Ci0gICAgICAgIHZvaWQgcmVzZXQoKTsKLQotICAgICAgICB2b2lkIGVtaXRU
YWcoKTsKICAgICAgICAgaW5saW5lIHZvaWQgZW1pdENoYXJhY3RlcihVQ2hhcik7CiAgICAgICAg
IGlubGluZSB2b2lkIGVtaXRQYXJzZUVycm9yKCk7Ci0gICAgICAgIHZvaWQgcHJvY2Vzc0F0dHJp
YnV0ZSgpOwogCiAgICAgICAgIGlubGluZSBib29sIHRlbXBvcmFyeUJ1ZmZlcklzKGNvbnN0IGNo
YXIqKTsKIAotICAgICAgICB2b2lkIGNsZWFyTGFzdENoYXJhY3RlcnMoKTsKLSAgICAgICAgdm9p
ZCByZW1lbWJlckNoYXJhY3RlcihVQ2hhcik7Ci0gICAgICAgIGJvb2wgbGFzdENoYXJhY3RlcnNN
YXRjaChjb25zdCBjaGFyKiwgdW5zaWduZWQgY291bnQpIGNvbnN0OwotCiAgICAgICAgIFNlZ21l
bnRlZFN0cmluZyBtX3NvdXJjZTsKICAgICAgICAgSFRNTDVUb2tlbiogbV9vdXRwdXRUb2tlbjsK
IApAQCAtMTQyLDI5ICsxMzIsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgLy8g
aHR0cDovL3d3dy53aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay8jdGVtcG9y
YXJ5LWJ1ZmZlcgogICAgICAgICBWZWN0b3I8VUNoYXIsIDEwMjQ+IG1fdGVtcG9yYXJ5QnVmZmVy
OwotCi0KLQotICAgICAgICBib29sIG1fZXNjYXBlOwotICAgICAgICBlbnVtIENvbnRlbnRNb2Rl
bCB7Ci0gICAgICAgICAgICBQQ0RBVEEsCi0gICAgICAgICAgICBSQ0RBVEEsCi0gICAgICAgICAg
ICBDREFUQSwKLSAgICAgICAgICAgIFBMQUlOVEVYVAotICAgICAgICB9OwotICAgICAgICBDb250
ZW50TW9kZWwgbV9jb250ZW50TW9kZWw7Ci0gICAgICAgIHVuc2lnbmVkIG1fY29tbWVudFBvczsK
LSAgICAgICAgU3RhdGUgbV9zdGF0ZUJlZm9yZUVudGl0eUluQXR0cmlidXRlVmFsdWU7Ci0KLSAg
ICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGxhc3RDaGFyYWN0ZXJzQnVmZmVyU2l6ZSA9IDg7
Ci0gICAgICAgIFVDaGFyIG1fbGFzdENoYXJhY3RlcnNbbGFzdENoYXJhY3RlcnNCdWZmZXJTaXpl
XTsKLSAgICAgICAgdW5zaWduZWQgbV9sYXN0Q2hhcmFjdGVySW5kZXg7Ci0KLSAgICAgICAgYm9v
bCBtX2Nsb3NlVGFnOwotICAgICAgICBWZWN0b3I8VUNoYXIsIDMyPiBtX3RhZ05hbWU7Ci0gICAg
ICAgIFZlY3RvcjxVQ2hhciwgMzI+IG1fYXR0cmlidXRlTmFtZTsKLSAgICAgICAgVmVjdG9yPFVD
aGFyPiBtX2F0dHJpYnV0ZVZhbHVlOwotICAgICAgICBBdG9taWNTdHJpbmcgbV9sYXN0U3RhcnRU
YWc7CiAgICAgfTsKIAogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUw1VG9rZW4uaCBi
L1dlYkNvcmUvaHRtbC9IVE1MNVRva2VuLmgKaW5kZXggMTQyNTRmMTExNDViYjZkNTEyN2E3OWRi
NjZhMTlmNTlhYzhjZDMwMi4uMTBlZjM3OGY5ZjYyZDE3ZGEwY2I1YjgwOGRjZWVmYTkyZTUwYjI2
OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUw1VG9rZW4uaAorKysgYi9XZWJDb3JlL2h0
bWwvSFRNTDVUb2tlbi5oCkBAIC0zNiw2ICszNiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIEhUTUw1VG9rZW4gOiBwdWJsaWMgTm9uY29weWFibGUgewogcHVibGljOgogICAgIGVudW0g
VHlwZSB7CisgICAgICAgIFVuaW5pdGlhbGl6ZWQsCiAgICAgICAgIERPQ1RZUEUsCiAgICAgICAg
IFN0YXJ0VGFnLAogICAgICAgICBFbmRUYWcsCkBAIC00NCw3ICs0NSw3IEBAIHB1YmxpYzoKICAg
ICAgICAgRW5kT2ZGaWxlLAogICAgIH07CiAKLSAgICBleHBsaWNpdCBIVE1MNVRva2VuKFR5cGUg
dHlwZSkKKyAgICBleHBsaWNpdCBIVE1MNVRva2VuKFR5cGUgdHlwZSA9IFVuaW5pdGlhbGl6ZWQp
CiAgICAgICAgIDogbV90eXBlKHR5cGUpCiAgICAgICAgICwgbV9mb3JjZVF1aXJrcyhmYWxzZSkK
ICAgICAgICAgLCBtX3NlbGZDbG9zaW5nKGZhbHNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1s
L0hUTUw1VG9rZW5pemVyLmNwcCBiL1dlYkNvcmUvaHRtbC9IVE1MNVRva2VuaXplci5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMGE4ZDE3MjI1YjZmNzFiMzIzMGU0MWIzMGZlYjNiZjNjMDAxMjVlMAotLS0gL2Rl
di9udWxsCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MNVRva2VuaXplci5jcHAKQEAgLTAsMCArMSw4
NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUsIEluYy4gQWxsIFJpZ2h0cyBS
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
CisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJIVE1MNVRva2VuaXplci5oIgorCisjaW5jbHVk
ZSAiSFRNTDVMZXhlci5oIgorI2luY2x1ZGUgIkhUTUw1VG9rZW4uaCIKKyNpbmNsdWRlICJIVE1M
RG9jdW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MUGFyc2VyLmgiCisjaW5jbHVkZSAiTm90SW1wbGVt
ZW50ZWQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitIVE1MNVRva2VuaXplcjo6SFRNTDVU
b2tlbml6ZXIoSFRNTERvY3VtZW50KiBkb2MsIGJvb2wgcmVwb3J0RXJyb3JzKQorICAgIDogVG9r
ZW5pemVyKCkKKyAgICAsIG1fZG9jKGRvYykKKyAgICAsIG1fbGV4ZXIobmV3IEhUTUw1TGV4ZXIp
CisgICAgLCBtX3BhcnNlcihuZXcgSFRNTFBhcnNlcihkb2MsIHJlcG9ydEVycm9ycykpCit7Cisg
ICAgYmVnaW4oKTsKK30KKworSFRNTDVUb2tlbml6ZXI6On5IVE1MNVRva2VuaXplcigpCit7Cit9
CisKK3ZvaWQgSFRNTDVUb2tlbml6ZXI6OmJlZ2luKCkKK3sKK30KKwordm9pZCBIVE1MNVRva2Vu
aXplcjo6d3JpdGUoY29uc3QgU2VnbWVudGVkU3RyaW5nJiBzb3VyY2UsIGJvb2wpCit7CisgICAg
bV9zb3VyY2UuYXBwZW5kKHNvdXJjZSk7CisKKyAgICB3aGlsZSAoIW1fc291cmNlLmlzRW1wdHko
KSkgeworICAgICAgICBIVE1MNVRva2VuIHRva2VuOworICAgICAgICBtX2xleGVyLT5uZXh0VG9r
ZW4obV9zb3VyY2UsIHRva2VuKTsKKyAgICAgICAgLy8gaHR0cDovL3d3dy53aGF0d2cub3JnL3Nw
ZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay8jdHJlZS1jb25zdHJ1Y3Rpb24KKyAgICAgICAgLy8g
V2UgbmVlZCB0byBhZGQgY29kZSB0byB0aGUgcGFyc2VyIGluIG9yZGVyIHRvIHVuZGVyc3RhbmQK
KyAgICAgICAgLy8gSFRNTDVUb2tlbiBvYmplY3RzLiAgVGhlIG9sZCBIVE1MIGNvZGVwYXRoIGRv
ZXMgbm90IGhhdmUgYSBuaWNlCisgICAgICAgIC8vIHNlcGFyYXRpb24gYmV0d2VlbiB0aGUgcGFy
c2VyIGxvZ2ljIGFuZCB0b2tlbml6ZXIgbG9naWMgbGlrZQorICAgICAgICAvLyB0aGUgSFRNTDUg
Y29kZXBhdGggc2hvdWxkLiAgVGhlIGNhbGwgc2hvdWxkIGxvb2sgc29tZXRoaW5nIGxpa2U6Cisg
ICAgICAgIC8vIG1fcGFyc2VyLT5jb25zdHJ1Y3RUcmVlRnJvbVRva2VuKHRva2VuKTsKKyAgICB9
Cit9CisKK3ZvaWQgSFRNTDVUb2tlbml6ZXI6OmVuZCgpCit7CisgICAgbV9wYXJzZXItPmZpbmlz
aGVkKCk7Cit9CisKK3ZvaWQgSFRNTDVUb2tlbml6ZXI6OmZpbmlzaCgpCit7CisgICAgZW5kKCk7
Cit9CisKK2Jvb2wgSFRNTDVUb2tlbml6ZXI6OmlzV2FpdGluZ0ZvclNjcmlwdHMoKSBjb25zdAor
eworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit9CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTDVUb2tlbml6ZXIuaCBiL1dlYkNvcmUvaHRtbC9IVE1M
NVRva2VuaXplci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNmMmRhZmUxMjhmNDBkMWIwNDkwYmNkNTMwMjVkZjRm
NmY3OTRiYjYKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTDVUb2tlbml6ZXIu
aApAQCAtMCwwICsxLDY5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSwgSW5j
LiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gCisgKi8KKworI2lmbmRlZiBIVE1MNVRva2VuaXplcl9oCisjZGVmaW5lIEhUTUw1VG9rZW5p
emVyX2gKKworI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlQ2xpZW50LmgiCisjaW5jbHVkZSAiU2Vn
bWVudGVkU3RyaW5nLmgiCisjaW5jbHVkZSAiVG9rZW5pemVyLmgiCisjaW5jbHVkZSA8d3RmL093
blB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIERvY3VtZW50OworY2xhc3Mg
SFRNTERvY3VtZW50OworY2xhc3MgSFRNTFBhcnNlcjsKK2NsYXNzIEhUTUw1TGV4ZXI7CisKKy8v
IEZJWE1FOiBUaGlzIGlzIHRoZSB3cm9uZyBsYXllciB0byBob29rIGluIHRoZSBuZXcgSFRNTCA1
IExleGVyLAorLy8gaG93ZXZlciBIVE1MVG9rZW5pemVyIGlzIHRvbyBsYXJnZSBhbmQgdG9vIGZy
YWdpbGUgb2YgYSBjbGFzcyB0byBoYWNrIGludG8uCisvLyBFdmVudHVhbGx5IHdlIHNob3VsZCBz
cGxpdCBhbGwgb2YgdGhlIEhUTUwgbGV4ZXIgbG9naWMgb3V0IGZyb20gSFRNTFRva2VuaXplcgor
Ly8gYW5kIHRoZW4gc2hhcmUgbm9uLWxleGVyLXNwZWNpZmljIHRva2VuaXplciBsb2dpYyBiZXR3
ZWVuIEhUTUw1IGFuZCB0aGUKKy8vIGxlZ2FjeSBXZWJLaXQgSFRNTCBsZXhlci4KKworLy8gRklY
TUU6IFRoaXMgY2xhc3MgaXMgZmFyIGZyb20gY29tcGxldGUuCitjbGFzcyBIVE1MNVRva2VuaXpl
ciA6ICBwdWJsaWMgVG9rZW5pemVyLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworcHVi
bGljOgorICAgIEhUTUw1VG9rZW5pemVyKEhUTUxEb2N1bWVudCosIGJvb2wgcmVwb3J0RXJyb3Jz
KTsKKyAgICB2aXJ0dWFsIH5IVE1MNVRva2VuaXplcigpOworCisgICAgdmlydHVhbCB2b2lkIGJl
Z2luKCk7CisgICAgdmlydHVhbCB2b2lkIHdyaXRlKGNvbnN0IFNlZ21lbnRlZFN0cmluZyYsIGJv
b2wgYXBwZW5kRGF0YSk7CisgICAgdmlydHVhbCB2b2lkIGVuZCgpOworICAgIHZpcnR1YWwgdm9p
ZCBmaW5pc2goKTsKKyAgICB2aXJ0dWFsIGJvb2wgaXNXYWl0aW5nRm9yU2NyaXB0cygpIGNvbnN0
OworCitwcml2YXRlOgorICAgIFNlZ21lbnRlZFN0cmluZyBtX3NvdXJjZTsKKworICAgIERvY3Vt
ZW50KiBtX2RvYzsKKyAgICBPd25QdHI8SFRNTDVMZXhlcj4gbV9sZXhlcjsKKyAgICBPd25QdHI8
SFRNTFBhcnNlcj4gbV9wYXJzZXI7Cit9OworCit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9odG1sL0hUTUxEb2N1bWVudC5jcHAgYi9XZWJDb3JlL2h0bWwvSFRNTERvY3VtZW50LmNw
cAppbmRleCAzMDQ4ZWU5NmZkMTdmZDU4YzY3NzU5NTRkMGEzODVlNGIyOGQwZWY3Li5iOWRlOTMw
OGQzYzExOTRmZGVhNmVlY2EwM2Q4OWI4ZWI5M2NkMGJhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0
bWwvSFRNTERvY3VtZW50LmNwcAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTERvY3VtZW50LmNwcApA
QCAtNjQsNiArNjQsNyBAQAogI2luY2x1ZGUgIkZyYW1lTG9hZGVyLmgiCiAjaW5jbHVkZSAiRnJh
bWVUcmVlLmgiCiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCisjaW5jbHVkZSAiSFRNTDVUb2tlbml6
ZXIuaCIKICNpbmNsdWRlICJIVE1MQm9keUVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MRWxlbWVu
dEZhY3RvcnkuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKQEAgLTcxLDYgKzcyLDcgQEAKICNp
bmNsdWRlICJJbnNwZWN0b3JDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiS1VSTC5oIgogI2luY2x1
ZGUgIlBhZ2UuaCIKKyNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NT
dHJpbmcuaD4KIAogI2luY2x1ZGUgIkRvY1R5cGVTdHJpbmdzLmNwcCIKQEAgLTI4MSw3ICsyODMs
NyBAQCB2b2lkIEhUTUxEb2N1bWVudDo6cmVsZWFzZUV2ZW50cygpCiB7CiB9CiAKLVRva2VuaXpl
ciAqSFRNTERvY3VtZW50OjpjcmVhdGVUb2tlbml6ZXIoKQorVG9rZW5pemVyKiBIVE1MRG9jdW1l
bnQ6OmNyZWF0ZVRva2VuaXplcigpCiB7CiAgICAgYm9vbCByZXBvcnRFcnJvcnMgPSBmYWxzZTsK
ICNpZiBFTkFCTEUoSU5TUEVDVE9SKQpAQCAtMjg5LDYgKzI5MSw5IEBAIFRva2VuaXplciAqSFRN
TERvY3VtZW50OjpjcmVhdGVUb2tlbml6ZXIoKQogICAgICAgICByZXBvcnRFcnJvcnMgPSBwYWdl
LT5pbnNwZWN0b3JDb250cm9sbGVyKCktPndpbmRvd1Zpc2libGUoKTsKICNlbmRpZgogCisgICAg
aWYgKHNldHRpbmdzKCkgJiYgc2V0dGluZ3MoKS0+aHRtbDVQYXJzZXJFbmFibGVkKCkpCisgICAg
ICAgIHJldHVybiBuZXcgSFRNTDVUb2tlbml6ZXIodGhpcywgcmVwb3J0RXJyb3JzKTsKKwogICAg
IHJldHVybiBuZXcgSFRNTFRva2VuaXplcih0aGlzLCByZXBvcnRFcnJvcnMpOwogfQogCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTFRva2VuaXplci5oIGIvV2ViQ29yZS9odG1sL0hUTUxU
b2tlbml6ZXIuaAppbmRleCAyOTBmYzVjYTFmMWEwOWMwYWRhNjJhOWEwYTE0OWE4YzIwM2Y3Njhl
Li4xYjAzMTRjMDRiZGJiNTQzMTg1NDEwYzI4ZTk1Y2FjMzRlNzZkMzU1IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2h0bWwvSFRNTFRva2VuaXplci5oCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MVG9rZW5p
emVyLmgKQEAgLTEzMiw2ICsxMzIsMTEgQEAgcHVibGljOgogCiAvLy0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCiAKKy8vIEZJWE1FOiBUaGlzIGNsYXNzIGRvZXMgdG9vIG11Y2guICBSaWdodCBub3cgaXQg
aXMgYm90aCBhbiBIVE1MIGxleGVyIGFzIHdlbGwKKy8vIGFzIGhhbmRsaW5nIGFsbCBvZiB0aGUg
bm9uLWxleGVyLXNwZWNpZmljIGp1bmsgcmVsYXRlZCB0byB0b2tlbml6aW5nIEhUTUwKKy8vIChs
aWtlIGRlYWxpbmcgd2l0aCA8c2NyaXB0PiB0YWdzKS4gIFRoZSBIVE1MIGxleGVyIGJpdHMgc2hv
dWxkIGJlIHB1c2hlZAorLy8gZG93biBpbnRvIGEgc2VwYXJhdGUgSFRNTCBsZXhlciBjbGFzcy4K
KwogY2xhc3MgSFRNTFRva2VuaXplciA6IHB1YmxpYyBUb2tlbml6ZXIsIHB1YmxpYyBDYWNoZWRS
ZXNvdXJjZUNsaWVudCB7CiBwdWJsaWM6CiAgICAgSFRNTFRva2VuaXplcihIVE1MRG9jdW1lbnQq
LCBib29sIHJlcG9ydEVycm9ycyk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTFZpZXdT
b3VyY2VEb2N1bWVudC5jcHAgYi9XZWJDb3JlL2h0bWwvSFRNTFZpZXdTb3VyY2VEb2N1bWVudC5j
cHAKaW5kZXggMmQ4MDBiNGJmYjFhNWYyYjBiZDZhYWFkODgxMjNlZDcwY2ZkZjMyYy4uN2YxZTc4
OTA4YjBmMGFlOTg4OTlmY2FkNTQwMDQ3MDNkZmZkNzJiYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9o
dG1sL0hUTUxWaWV3U291cmNlRG9jdW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MVmll
d1NvdXJjZURvY3VtZW50LmNwcApAQCAtNTksNiArNTksNyBAQCBUb2tlbml6ZXIqIEhUTUxWaWV3
U291cmNlRG9jdW1lbnQ6OmNyZWF0ZVRva2VuaXplcigpCiAgICAgICAgIHx8IG1fdHlwZSA9PSAi
YXBwbGljYXRpb24vdm5kLndhcC54aHRtbCt4bWwiCiAjZW5kaWYKICAgICAgICAgKSB7CisgICAg
ICAgIC8vIEZJWE1FOiBTaG91bGQgcmVzcGVjdCBTZXR0aW5nczo6aHRtbDVQYXJzZXJFbmFibGVk
KCkKICAgICAgICAgcmV0dXJuIG5ldyBIVE1MVG9rZW5pemVyKHRoaXMpOwogICAgIH0KIApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcCBiL1dlYkNvcmUvcGFnZS9TZXR0aW5n
cy5jcHAKaW5kZXggNzE0ODg4YmJiYjhiNTI5MTYyODhiMzc4Mjk2Mjg1NzU2MGZiOTdkZi4uNmY2
YmIwNDE5NzliMzgzOGM2ZjcyOGJmYTYyN2YzMGRkNmVkNDcxYyAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCkBAIC0x
MzIsNiArMTMyLDcgQEAgU2V0dGluZ3M6OlNldHRpbmdzKFBhZ2UqIHBhZ2UpCiAgICAgLCBtX3dl
YkdMRW5hYmxlZChmYWxzZSkKICAgICAsIG1fbG9hZERlZmVycmluZ0VuYWJsZWQodHJ1ZSkKICAg
ICAsIG1fdGlsZWRCYWNraW5nU3RvcmVFbmFibGVkKGZhbHNlKQorICAgICwgbV9odG1sNVBhcnNl
ckVuYWJsZWQoZmFsc2UpCiB7CiAgICAgLy8gQSBGcmFtZSBtYXkgbm90IGhhdmUgYmVlbiBjcmVh
dGVkIHlldCwgc28gd2UgaW5pdGlhbGl6ZSB0aGUgQXRvbWljU3RyaW5nIAogICAgIC8vIGhhc2gg
YmVmb3JlIHRyeWluZyB0byB1c2UgaXQuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvU2V0dGlu
Z3MuaCBiL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCmluZGV4IDMyN2RkMDRjZDZlYzRiMjg5ODgw
ZmRmY2M1ZTUxODJhYjVmMDI1OTkuLmRjM2I1MGZiN2FkOGU0MjM3MzM3NTRkZWI2ZWNmMDM5NzRl
ZjI5ZTYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCisrKyBiL1dlYkNvcmUv
cGFnZS9TZXR0aW5ncy5oCkBAIC0zMDgsNiArMzA4LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICB2b2lkIHNldFRpbGVkQmFja2luZ1N0b3JlRW5hYmxlZChib29sKTsKICAgICAgICAg
Ym9vbCB0aWxlZEJhY2tpbmdTdG9yZUVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3RpbGVkQmFj
a2luZ1N0b3JlRW5hYmxlZDsgfQogCisgICAgICAgIHZvaWQgc2V0SFRNTDVQYXJzZXJFbmFibGVk
KGJvb2wgZmxhZykgeyBtX2h0bWw1UGFyc2VyRW5hYmxlZCA9IGZsYWc7IH0KKyAgICAgICAgYm9v
bCBodG1sNVBhcnNlckVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2h0bWw1UGFyc2VyRW5hYmxl
ZDsgfQorCiAgICAgcHJpdmF0ZToKICAgICAgICAgUGFnZSogbV9wYWdlOwogICAgICAgICAKQEAg
LTM4Nyw2ICszOTAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIGJvb2wgbV93ZWJH
TEVuYWJsZWQgOiAxOwogICAgICAgICBib29sIG1fbG9hZERlZmVycmluZ0VuYWJsZWQgOiAxOwog
ICAgICAgICBib29sIG1fdGlsZWRCYWNraW5nU3RvcmVFbmFibGVkIDogMTsKKyAgICAgICAgYm9v
bCBtX2h0bWw1UGFyc2VyRW5hYmxlZDogMTsKIAogI2lmIFVTRShTQUZBUklfVEhFTUUpCiAgICAg
ICAgIHN0YXRpYyBib29sIGdTaG91bGRQYWludE5hdGl2ZUNvbnRyb2xzOwpkaWZmIC0tZ2l0IGEv
V2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCA0YzgwZWFm
N2I3ZWZiYzEwZGJhZTcyOTVkYTJmNTU4ZGY3ZTU3ZDYwLi5mOThmYzY4Y2EzNzE0NzdiOWE0YWNj
MTNmYzYyZTIxMDJmOTczNTVkIDEwMDY0NAotLS0gYS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysg
Yi9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEwLTA1LTE4ICBFcmlj
IFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBNYWtlIGl0IHBvc3NpYmxlIHRvIGVuYWJsZSB0aGUgbmV3IEhU
TUw1VG9rZW5pemVyIGZvciB0ZXN0aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0zOTI3NQorCisgICAgICAgIEV4cG9zZSB0aGUgV2ViQ29yZTo6U2V0
dGluZ3M6OnVzZXNIVE1MNVBhcnNlciBhcyBhIHByaXZhdGUgV2ViS2l0IHNldHRpbmcuCisKKyAg
ICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOgorICAgICAgICAqIFdl
YlZpZXcvV2ViUHJlZmVyZW5jZXMubW06CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIHVzZXNI
VE1MNVBhcnNlcl0pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBzZXRVc2VzSFRNTDVQYXJz
ZXI6XSk6CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaDoKKyAgICAg
ICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgX3ByZWZlcmVuY2Vz
Q2hhbmdlZE5vdGlmaWNhdGlvbjpdKToKKwogMjAxMC0wNS0xNyAgU2hlcmlmZiBCb3QgIDx3ZWJr
aXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBv
dXQgcjU5NjUyLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VL
ZXlzUHJpdmF0ZS5oIGIvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0
ZS5oCmluZGV4IGY0YWUzMzM3NWRmYmMzMmQ3MjhlNGUyOGYxNGY4ZTA0ZDcyOTAzN2IuLjBkMTU0
NmYzZjEwODhkNmYxM2E5YWE3YTkzMWMyNGE3YWMxNWIwZWQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAorKysgYi9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKQEAgLTkzLDYgKzkzLDcgQEAKICNkZWZp
bmUgV2ViS2l0VXNlc1Byb3hpZWRPcGVuUGFuZWxQcmVmZXJlbmNlS2V5IEAiV2ViS2l0VXNlc1By
b3hpZWRPcGVuUGFuZWwiCiAjZGVmaW5lIFdlYktpdFBsdWdpbkFsbG93ZWRSdW5UaW1lUHJlZmVy
ZW5jZUtleSBAIldlYktpdFBsdWdpbkFsbG93ZWRSdW5UaW1lIgogI2RlZmluZSBXZWJLaXRGcmFt
ZUZsYXR0ZW5pbmdFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdEZyYW1lRmxhdHRlbmluZ0Vu
YWJsZWQiCisjZGVmaW5lIFdlYktpdEhUTUw1UGFyc2VyRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJX
ZWJLaXRIVE1MNVBhcnNlckVuYWJsZWQiCiAKIC8vIFRoZXNlIGFyZSBwcml2YXRlIGJvdGggYmVj
YXVzZSBjYWxsZXJzIHNob3VsZCBiZSB1c2luZyB0aGUgY292ZXIgbWV0aG9kcyBhbmQgYmVjYXVz
ZSB0aGUKIC8vIGNvdmVyIG1ldGhvZHMgdGhlbXNlbHZlcyBhcmUgcHJpdmF0ZS4KZGlmZiAtLWdp
dCBhL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbSBiL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlcy5tbQppbmRleCA5ZGU4NDk1NDk5NzBjMTMxNGY0YWI3YzVkNWVj
ODg5YmI4NTBjNjY3Li40MjdmNmZlY2M1MzYzZDkzMzJmZTQ4YTJkMDI4YzE2M2UxNWQ0ZTFkIDEw
MDY0NAotLS0gYS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KKysrIGIvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCkBAIC0xMjM3LDYgKzEyMzcsMTYgQEAg
c3RhdGljIE5TU3RyaW5nICpjbGFzc0lCQ3JlYXRvcklEID0gbmlsOwogICAgIFtzZWxmIF9zZXRC
b29sVmFsdWU6ZmxhZyBmb3JLZXk6V2ViS2l0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZFByZWZlcmVu
Y2VLZXldOwogfQogCistIChCT09MKWh0bWw1UGFyc2VyRW5hYmxlZAoreworICAgIHJldHVybiBb
c2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdEhUTUw1UGFyc2VyRW5hYmxlZFByZWZlcmVuY2VL
ZXldOworfQorCistICh2b2lkKXNldEhUTUw1UGFyc2VyRW5hYmxlZDooQk9PTClmbGFnCit7Cisg
ICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFnIGZvcktleTpXZWJLaXRIVE1MNVBhcnNlckVuYWJs
ZWRQcmVmZXJlbmNlS2V5XTsKK30KKwogLSAodm9pZClkaWRSZW1vdmVGcm9tV2ViVmlldwogewog
ICAgIEFTU0VSVChfcHJpdmF0ZS0+bnVtV2ViVmlld3MpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oIGIvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YlByZWZlcmVuY2VzUHJpdmF0ZS5oCmluZGV4IGVlNzg1ZTkzMTU4YjA5YmQxOWY0YWYzYzEwYWIz
MjdiNmRhODliMmYuLjdhMTQ5MWNjNWE0YjkyNzIyNzQzZjhiZTUxYTgyMmYyNjhjMGVmMWEgMTAw
NjQ0Ci0tLSBhL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAorKysg
Yi9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKQEAgLTE2Nyw2ICsx
NjcsOSBAQCBleHRlcm4gTlNTdHJpbmcgKldlYlByZWZlcmVuY2VzUmVtb3ZlZE5vdGlmaWNhdGlv
bjsKIC0gKEJPT0wpd2ViR0xFbmFibGVkOwogLSAodm9pZClzZXRXZWJHTEVuYWJsZWQ6KEJPT0wp
ZW5hYmxlZDsKIAorLSAoQk9PTClodG1sNVBhcnNlckVuYWJsZWQ7CistICh2b2lkKXNldEhUTUw1
UGFyc2VyRW5hYmxlZDooQk9PTClmbGFnOworCiAtIChCT09MKXVzZXNQcm94aWVkT3BlblBhbmVs
OwogLSAodm9pZClzZXRVc2VzUHJveGllZE9wZW5QYW5lbDooQk9PTCllbmFibGVkOwogCmRpZmYg
LS1naXQgYS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJWaWV3Lm1tCmluZGV4IDM2MzEzYjQyNjJjZTRlNjg4ZWU4ZjA3OTVmMmYyMzMyMmZkN2Fk
MGUuLmNkMTY0NzEwMDMwNTM5ZjI3MzYzZjA3NzQyNmFlMzNhYmYxMTFhNzYgMTAwNjQ0Ci0tLSBh
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJWaWV3Lm1tCkBAIC0xNDA1LDYgKzE0MDUsNyBAQCBzdGF0aWMgYm9vbCBmYXN0RG9jdW1lbnRU
ZWFyZG93bkVuYWJsZWQoKQogICAgIHNldHRpbmdzLT5zZXRXZWJHTEVuYWJsZWQoW3ByZWZlcmVu
Y2VzIHdlYkdMRW5hYmxlZF0pOwogICAgIHNldHRpbmdzLT5zZXRMb2FkRGVmZXJyaW5nRW5hYmxl
ZChzaG91bGRFbmFibGVMb2FkRGVmZXJyaW5nKCkpOwogICAgIHNldHRpbmdzLT5zZXRGcmFtZUZs
YXR0ZW5pbmdFbmFibGVkKFtwcmVmZXJlbmNlcyBpc0ZyYW1lRmxhdHRlbmluZ0VuYWJsZWRdKTsK
KyAgICBzZXR0aW5ncy0+c2V0SFRNTDVQYXJzZXJFbmFibGVkKFtwcmVmZXJlbmNlcyBodG1sNVBh
cnNlckVuYWJsZWRdKTsKIH0KIAogc3RhdGljIGlubGluZSBJTVAgZ2V0TWV0aG9kKGlkIG8sIFNF
TCBzKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>