<?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>147182</bug_id>
          
          <creation_ts>2015-07-21 19:18:45 -0700</creation_ts>
          <short_desc>Notify the UI delegate when a MediaDocument&apos;s natural size changes</short_desc>
          <delta_ts>2015-07-23 22:00:42 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>achristensen</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1111188</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2015-07-21 19:18:45 -0700</bug_when>
    <thetext>Notify the UI delegate when a MediaDocument&apos;s natural size changes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111189</commentid>
    <comment_count>1</comment_count>
      <attachid>257238</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2015-07-21 19:22:37 -0700</bug_when>
    <thetext>Created attachment 257238
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111698</commentid>
    <comment_count>2</comment_count>
      <attachid>257365</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2015-07-23 12:43:50 -0700</bug_when>
    <thetext>Created attachment 257365
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111704</commentid>
    <comment_count>3</comment_count>
      <attachid>257367</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2015-07-23 12:52:52 -0700</bug_when>
    <thetext>Created attachment 257367
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111754</commentid>
    <comment_count>4</comment_count>
      <attachid>257384</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2015-07-23 14:25:56 -0700</bug_when>
    <thetext>Created attachment 257384
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111783</commentid>
    <comment_count>5</comment_count>
      <attachid>257392</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2015-07-23 15:29:13 -0700</bug_when>
    <thetext>Created attachment 257392
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111800</commentid>
    <comment_count>6</comment_count>
      <attachid>257401</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2015-07-23 15:51:38 -0700</bug_when>
    <thetext>Created attachment 257401
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111811</commentid>
    <comment_count>7</comment_count>
      <attachid>257403</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2015-07-23 16:12:13 -0700</bug_when>
    <thetext>Created attachment 257403
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111822</commentid>
    <comment_count>8</comment_count>
      <attachid>257403</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-07-23 16:44:14 -0700</bug_when>
    <thetext>Comment on attachment 257403
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=257403&amp;action=review

&gt; Source/WebCore/html/HTMLMediaElement.cpp:2119
&gt; +            downcast&lt;MediaDocument&gt;(document()).mediaElementNaturalSizeChanged(expandedIntSize(m_player-&gt;naturalSize()));

We know that m_player is non-null?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111829</commentid>
    <comment_count>9</comment_count>
      <attachid>257403</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2015-07-23 16:46:05 -0700</bug_when>
    <thetext>Comment on attachment 257403
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=257403&amp;action=review

&gt;&gt; Source/WebCore/html/HTMLMediaElement.cpp:2119
&gt;&gt; +            downcast&lt;MediaDocument&gt;(document()).mediaElementNaturalSizeChanged(expandedIntSize(m_player-&gt;naturalSize()));
&gt; 
&gt; We know that m_player is non-null?

This called from a callback made by the player, so it&apos;s guaranteed to be non-null.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111832</commentid>
    <comment_count>10</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2015-07-23 16:48:35 -0700</bug_when>
    <thetext>Committed r187272: &lt;http://trac.webkit.org/changeset/187272&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111923</commentid>
    <comment_count>11</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-07-23 22:00:42 -0700</bug_when>
    <thetext>Fixed 32-bit build in http://trac.webkit.org/changeset/187289</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257238</attachid>
            <date>2015-07-21 19:22:37 -0700</date>
            <delta_ts>2015-07-23 12:43:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147182-20150721192123.patch</filename>
            <type>text/plain</type>
            <size>44943</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3MDI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDRiOGY0YzZmZGE4NzE4
YWIyYTZjNmY5ZjIyZTBlNjdhNjcyYWE1Ny4uOWI4ZmNiZjExMzIzMGE1NDU4MWVlMWZkYzE3YmFh
Nzg0YjEyYWU1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDE1LTA3LTIxICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIE5vdGlmeSB0aGUgVUkgZGVs
ZWdhdGUgd2hlbiBhIE1lZGlhRG9jdW1lbnQncyBuYXR1cmFsIHNpemUgY2hhbmdlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ3MTgyCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm90aWZ5IHRoZSBNZWRp
YURvY3VtZW50IHRoYXQgaXQncyB1bmRlcmx5aW5nIG1lZGlhIGVsZW1lbnQgaGFzIGNoYW5nZWQg
aXRzIG5hdHVyYWwgc2l6ZSwgZWl0aGVyIHdoZW4KKyAgICAgICAgdGhlIG1lZGlhIGVuZ2luZSBu
b3RpZmllcyB1cyB0aGF0IHRoZSBzaXplIGNoYW5nZWQsIG9yIHdoZW4gdGhlIHJlYWR5IHN0YXRl
IHByb2dyZXNzZXMgdG8gSEFWRV9NRVRBREFUQS4KKworICAgICAgICAqIGh0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpzZXRSZWFk
eVN0YXRlKTogTm90aWZ5IHRoZSBtZWRpYSBkb2N1bWVudC4KKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyU2l6ZUNoYW5nZWQpOiBEaXR0by4KKyAgICAgICAg
KiBodG1sL01lZGlhRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFEb2N1bWVu
dDo6bWVkaWFFbGVtZW50TmF0dXJhbFNpemVDaGFuZ2VkKTogUGFzcyB0byB0aGUgY2hyb21lIGNs
aWVudC4KKyAgICAgICAgKiBodG1sL01lZGlhRG9jdW1lbnQuaDoKKyAgICAgICAgKiBwYWdlL0No
cm9tZUNsaWVudC5oOgorCisyMDE1LTA3LTIxICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUu
Y29tPgorCisgICAgICAgIFtpT1NdIEFkZCBhbiBleHBsaWNpdCBBUEkgdG8gYWxsb3cgbWVkaWEg
ZG9jdW1lbnRzIHRvICh0ZW1wb3JhcmlseSkgcGxheSBpbmxpbmUKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NzE4MQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBsaXN0ZW5lcnMgZm9yIHRoZSBuZXcg
YWxsb3dNZWRpYURvY3VtZW50SW5saW5lUGxheWJhY2sgQVBJLiBXaGVuIHRoaXMgdmFsdWUgYmVj
b21lcworICAgICAgICBOTywgZm9yY2UgYW55IHBsYXlpbmcgTWVkaWFEb2N1bWVudHMgdG8gZW50
ZXIgZnVsbHNjcmVlbiBtb2RlLgorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkRvY3VtZW50OjpyZWdpc3RlckZvckFsbG93TWVkaWFEb2N1bWVudElubGlu
ZVBsYXliYWNrQ2hhbmdlZENhbGxiYWNrcyk6IEFkZGVkIHJlZ2lzdHJhdGlvbiBtZXRob2QuCisg
ICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6dW5yZWdpc3RlckZvckFsbG93TWVkaWFEb2N1bWVu
dElubGluZVBsYXliYWNrQ2hhbmdlZENhbGxiYWNrcyk6IEFkZGVkIGRlcmVnaXN0cmF0aW9uIG1l
dGhvZC4KKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjphbGxvd01lZGlhRG9jdW1lbnRJbmxp
bmVQbGF5YmFja0NoYW5nZWQpOiBOb3RpZnkgYWxsIGxpc3RlbmVycy4KKyAgICAgICAgKiBkb20v
RG9jdW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6cmVnaXN0ZXJXaXRoRG9jdW1lbnQpOiBMaXN0
ZW4gZm9yIGFsbG93TWVkaWFEb2N1bWVudElubGluZVBsYXliYWNrIGNoYW5nZXMuCisgICAgICAg
IChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojp1bnJlZ2lzdGVyV2l0aERvY3VtZW50KTogU3Rv
cCBsaXN0ZW5pbmcgdG8gc2FtZS4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6
OmFsbG93TWVkaWFEb2N1bWVudElubGluZVBsYXliYWNrQ2hhbmdlZCk6IEVudGVyIGZ1bGxzY3Jl
ZW4gbW9kZSBpZiB0aGUgdmFsdWUKKyAgICAgICAgICAgIGNoYW5nZXMgdG8gZmFsc2UgZHVyaW5n
IHBsYXliYWNrLgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5oOgorICAgICAgICAq
IGh0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVs
ZW1lbnRTZXNzaW9uOjpyZXF1aXJlc0Z1bGxzY3JlZW5Gb3JWaWRlb1BsYXliYWNrKTogRWFybHkg
dHJ1ZSBpZiB0aGUgb3ZlcnJpZGUgdmFsdWUgaXMgc2V0LgorICAgICAgICAqIHBhZ2UvUGFnZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpzZXRBbGxvd01lZGlhRG9jdW1lbnRJbmxpbmVQ
bGF5YmFjayk6IE5vdGlmeSBhbGwgZG9jdW1lbnRzIG9mIHRoZSBjaGFuZ2VkIHZhbHVlLgorICAg
ICAgICAqIHBhZ2UvUGFnZS5oOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6YWxsb3dNZWRpYURv
Y3VtZW50SW5saW5lUGxheWJhY2spOiBTaW1wbGUgZ2V0dGVyLgorCiAyMDE1LTA3LTIwICBNYXJr
IExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBSb2xsb3V0IHIxODcwMjAgYW5k
IHIxODcwMjE6IGJyZWFrcyBKU0MgQVBJIHRlc3RzIG9uIGRlYnVnIGJ1aWxkcy4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpp
bmRleCAyMTUxMWMwZjA3MmMzYmUyNTU2MWVjNzhiYmUzOGY1ZmI5MjdkZWE4Li5kMmI1ZDViMDgz
ZTliNmZkNTBjZTg5MmUwMzI4NjA1ZWMxYTVmODczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjUg
QEAKKzIwMTUtMDctMjEgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAg
ICAgTm90aWZ5IHRoZSBVSSBkZWxlZ2F0ZSB3aGVuIGEgTWVkaWFEb2N1bWVudCdzIG5hdHVyYWwg
c2l6ZSBjaGFuZ2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNDcxODIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBQaXBlIG5vdGlmaWNhdGlvbnMgb2YgbWVkaWEgZG9jdW1lbnQgbmF0dXJhbCBzaXplIGNo
YW5nZXMgdXAgZnJvbSB0aGUgY2hyb21lIGNsaWVudCwgdGhyb3VnaAorICAgICAgICB0byB0aGUg
VUlQcm9jZXNzLCAgdGhyb3VnaCB0aGUgcGFnZSBjbGllbnQsIHRocm91Z2ggdGhlIFdLV2ViVmll
dywgdG8gdGhlIFVJRGVsZWdhdGUuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSVVJQ2xp
ZW50Lmg6CisgICAgICAgIChBUEk6OlVJQ2xpZW50OjptZWRpYURvY3VtZW50TmF0dXJhbFNpemVD
aGFuZ2VkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZh
dGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAg
ICAgKC1bV0tXZWJWaWV3IF9tZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkOl0pOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3SW50ZXJuYWwuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2Nv
YS9VSURlbGVnYXRlLm1tOgorICAgICAgICAoV2ViS2l0OjpVSURlbGVnYXRlOjpzZXREZWxlZ2F0
ZSk6CisgICAgICAgIChXZWJLaXQ6OlVJRGVsZWdhdGU6OlVJQ2xpZW50OjptZWRpYURvY3VtZW50
TmF0dXJhbFNpemVDaGFuZ2VkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlUHJveHk6Om1lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVBy
b3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJ
T1MuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tOgorICAg
ICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6bWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hh
bmdlZCk6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwubW06CisgICAgICAgIChXZWJLaXQ6OlBh
Z2VDbGllbnRJbXBsOjptZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkKToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvaW9zL1dlYkNocm9tZUNsaWVudElPUy5tbToKKyAg
ICAgICAgKFdlYktpdDo6V2ViQ2hyb21lQ2xpZW50OjptZWRpYURvY3VtZW50TmF0dXJhbFNpemVD
aGFuZ2VkKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2U6Om1lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQpOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisKKzIwMTUtMDctMjEgIEpl
ciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gQWRkIGFuIGV4
cGxpY2l0IEFQSSB0byBhbGxvdyBtZWRpYSBkb2N1bWVudHMgdG8gKHRlbXBvcmFyaWx5KSBwbGF5
IGlubGluZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTQ3MTgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIGEgV0tXZWJWaWV3KFByaXZhdGUpIEFQSSB3aGljaCBhbGxvd3MgTWVkaWFEb2N1bWVudHMg
bG9hZGVkIGJ5IHRoZSB2aWV3IHRvIHBsYXkgdGhlaXIgY29udGVudHMgaW5saW5lLCByZWdhcmRs
ZXNzCisgICAgICAgIG9mIHdoZXRoZXIgaW5saW5lIHBsYXliYWNrIGlzIHJlc3RyaWN0ZWQgb24g
dGhlIGN1cnJlbnQgZGV2aWNlLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dl
YlZpZXcubW06CisgICAgICAgICgtW1dLV2ViVmlldyBfc2V0UmVxdWlyZXNVc2VyQWN0aW9uRm9y
TWVkaWFQbGF5YmFjazpdKTogQWRkZWQuIFBhc3MgdGhyb3VnaCB0byBXZWJQYWdlUHJveHkuCisg
ICAgICAgICgtW1dLV2ViVmlldyBfYWxsb3dNZWRpYURvY3VtZW50SW5saW5lUGxheWJhY2tdKTog
RGl0dG8uCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmg6
CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2VQcm94eTo6YWxsb3dNZWRpYURvY3VtZW50SW5saW5lUGxheWJhY2spOiBTaW1wbGUg
Z2V0dGVyLgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnNldEFsbG93TWVkaWFEb2N1
bWVudElubGluZVBsYXliYWNrKTogU2V0LCBhbmQgY29uZGl0aW9uYWxseSBwYXNzIHRoZSBuZXcg
dmFsdWUgdG8gV2ViUGFnZS4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlOjpzZXRBbGxvd01lZGlhRG9jdW1lbnRJbmxpbmVQbGF5YmFjayk6IFNldCwgYW5k
IGNvbmRpdGlvbmFsbHkgbm90aWZ5IFdlYkNvcmUgcGFnZSBvZiB0aGUgY2hhbmdlLgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgIChXZWJLaXQ6OldlYlBh
Z2U6OmFsbG93TWVkaWFEb2N1bWVudElubGluZVBsYXliYWNrKTogU2ltcGxlIGdldHRlci4KKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbjogQWRkIG5ldyBt
ZXNzYWdlcy4KKwogMjAxNS0wNy0yMCAgVG9tYXMgUG9wZWxhICA8dHBvcGVsYUByZWRoYXQuY29t
PgogCiAgICAgICAgIFtHVEtdIEFkZCBzZWxlY3Rpb24tY2hhbmdlZCBzaWduYWwgdG8gdGhlIFdl
YktpdDIgQVBJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCAxMDJiYzk1ODJlYTNjZWZmYWJm
NjlhMzc0NTBjYzM5MGZiMDFjZjE4Li4yYjY3MWNhMzcxMWI2ZjA3MTdiMDUxOWQ0MWEyMzY2Njgy
M2Q2NDRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTE2MTQsNiArMTYxNCwyNSBAQCBi
b29sIERvY3VtZW50OjpoaWRkZW4oKSBjb25zdAogICAgIHJldHVybiBwYWdlVmlzaWJpbGl0eVN0
YXRlKCkgIT0gUGFnZVZpc2liaWxpdHlTdGF0ZVZpc2libGU7CiB9CiAKKworI2lmIEVOQUJMRShW
SURFTykKK3ZvaWQgRG9jdW1lbnQ6OnJlZ2lzdGVyRm9yQWxsb3dNZWRpYURvY3VtZW50SW5saW5l
UGxheWJhY2tDaGFuZ2VkQ2FsbGJhY2tzKEhUTUxNZWRpYUVsZW1lbnQqIGVsZW1lbnQpCit7Cisg
ICAgbV9hbGxvd01lZGlhRG9jdW1lbnRJbmxpbmVQbGF5YmFja0VsZW1lbnRzLmFkZChlbGVtZW50
KTsKK30KKwordm9pZCBEb2N1bWVudDo6dW5yZWdpc3RlckZvckFsbG93TWVkaWFEb2N1bWVudElu
bGluZVBsYXliYWNrQ2hhbmdlZENhbGxiYWNrcyhIVE1MTWVkaWFFbGVtZW50KiBlbGVtZW50KQor
eworICAgIG1fYWxsb3dNZWRpYURvY3VtZW50SW5saW5lUGxheWJhY2tFbGVtZW50cy5yZW1vdmUo
ZWxlbWVudCk7Cit9CisKK3ZvaWQgRG9jdW1lbnQ6OmFsbG93TWVkaWFEb2N1bWVudElubGluZVBs
YXliYWNrQ2hhbmdlZCgpCit7CisgICAgZm9yIChhdXRvKiBlbGVtZW50IDogbV9hbGxvd01lZGlh
RG9jdW1lbnRJbmxpbmVQbGF5YmFja0VsZW1lbnRzKQorICAgICAgICBlbGVtZW50LT5hbGxvd01l
ZGlhRG9jdW1lbnRJbmxpbmVQbGF5YmFja0NoYW5nZWQoKTsKK30KKyNlbmRpZgorCiAjaWYgRU5B
QkxFKENTUF9ORVhUKQogRE9NU2VjdXJpdHlQb2xpY3kmIERvY3VtZW50OjpzZWN1cml0eVBvbGlj
eSgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IGU1YzA4MmZlYWQ4ZThhMzA2MmMyZDg1ZmFk
OWYzZWZkYTg2YTI4ZjYuLjMwYjMwNzlmM2E5N2ZiM2NkYjgxNzBiYTJiM2U3ZDhhZGI0N2RhNDEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0xMDE0LDYgKzEwMTQsMTIgQEAgcHVibGljOgogICAg
IHZvaWQgcmVnaXN0ZXJGb3JWaXNpYmlsaXR5U3RhdGVDaGFuZ2VkQ2FsbGJhY2tzKEVsZW1lbnQq
KTsKICAgICB2b2lkIHVucmVnaXN0ZXJGb3JWaXNpYmlsaXR5U3RhdGVDaGFuZ2VkQ2FsbGJhY2tz
KEVsZW1lbnQqKTsKIAorI2lmIEVOQUJMRShWSURFTykKKyAgICB2b2lkIHJlZ2lzdGVyRm9yQWxs
b3dNZWRpYURvY3VtZW50SW5saW5lUGxheWJhY2tDaGFuZ2VkQ2FsbGJhY2tzKEhUTUxNZWRpYUVs
ZW1lbnQqKTsKKyAgICB2b2lkIHVucmVnaXN0ZXJGb3JBbGxvd01lZGlhRG9jdW1lbnRJbmxpbmVQ
bGF5YmFja0NoYW5nZWRDYWxsYmFja3MoSFRNTE1lZGlhRWxlbWVudCopOworICAgIHZvaWQgYWxs
b3dNZWRpYURvY3VtZW50SW5saW5lUGxheWJhY2tDaGFuZ2VkKCk7CisjZW5kaWYKKwogICAgIFdF
QkNPUkVfRVhQT1JUIHZvaWQgc2V0U2hvdWxkQ3JlYXRlUmVuZGVyZXJzKGJvb2wpOwogICAgIGJv
b2wgc2hvdWxkQ3JlYXRlUmVuZGVyZXJzKCk7CiAKQEAgLTE1NTAsNiArMTU1Niw5IEBAIHByaXZh
dGU6CiAjZW5kaWYKIAogICAgIEhhc2hTZXQ8RWxlbWVudCo+IG1fdmlzaWJpbGl0eVN0YXRlQ2Fs
bGJhY2tFbGVtZW50czsKKyNpZiBFTkFCTEUoVklERU8pCisgICAgSGFzaFNldDxIVE1MTWVkaWFF
bGVtZW50Kj4gbV9hbGxvd01lZGlhRG9jdW1lbnRJbmxpbmVQbGF5YmFja0VsZW1lbnRzOworI2Vu
ZGlmCiAKICAgICBIYXNoTWFwPFN0cmluZ0ltcGwqLCBFbGVtZW50KiwgQ2FzZUZvbGRpbmdIYXNo
PiBtX2VsZW1lbnRzQnlBY2Nlc3NLZXk7CiAgICAgYm9vbCBtX2FjY2Vzc0tleU1hcFZhbGlkOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggZDhkM2RjYzBmMDE3
NTZlODRkNjU4MTUyZTQ2ZjAxYzYyNzNmNTFhNi4uODRlMjc5ZGZiZGViNWViNGFiYjQ0Y2QyNWJh
MzU5OWMxYzA0ZGQ5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3Bw
CkBAIC01MTgsNiArNTE4LDggQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpyZWdpc3RlcldpdGhE
b2N1bWVudChEb2N1bWVudCYgZG9jdW1lbnQpCiAgICAgZG9jdW1lbnQucmVnaXN0ZXJGb3JQYWdl
Q2FjaGVTdXNwZW5zaW9uQ2FsbGJhY2tzKHRoaXMpOwogI2VuZGlmCiAKKyAgICBkb2N1bWVudC5y
ZWdpc3RlckZvckFsbG93TWVkaWFEb2N1bWVudElubGluZVBsYXliYWNrQ2hhbmdlZENhbGxiYWNr
cyh0aGlzKTsKKwogICAgIGRvY3VtZW50LmFkZEF1ZGlvUHJvZHVjZXIodGhpcyk7CiAgICAgYWRk
RWxlbWVudFRvRG9jdW1lbnRNYXAoKnRoaXMsIGRvY3VtZW50KTsKIH0KQEAgLTU1MCw2ICs1NTIs
OCBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnVucmVnaXN0ZXJXaXRoRG9jdW1lbnQoRG9jdW1l
bnQmIGRvY3VtZW50KQogICAgIGRvY3VtZW50LnVucmVnaXN0ZXJGb3JQYWdlQ2FjaGVTdXNwZW5z
aW9uQ2FsbGJhY2tzKHRoaXMpOwogI2VuZGlmCiAKKyAgICBkb2N1bWVudC51bnJlZ2lzdGVyRm9y
QWxsb3dNZWRpYURvY3VtZW50SW5saW5lUGxheWJhY2tDaGFuZ2VkQ2FsbGJhY2tzKHRoaXMpOwor
CiAgICAgZG9jdW1lbnQucmVtb3ZlQXVkaW9Qcm9kdWNlcih0aGlzKTsKICAgICByZW1vdmVFbGVt
ZW50RnJvbURvY3VtZW50TWFwKCp0aGlzLCBkb2N1bWVudCk7CiB9CkBAIC0yMTEyLDYgKzIxMTYs
OSBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNldFJlYWR5U3RhdGUoTWVkaWFQbGF5ZXI6OlJl
YWR5U3RhdGUgc3RhdGUpCiAgICAgICAgIGlmIChyZW5kZXJlcigpKQogICAgICAgICAgICAgcmVu
ZGVyZXIoKS0+dXBkYXRlRnJvbUVsZW1lbnQoKTsKIAorICAgICAgICBpZiAoaXM8TWVkaWFEb2N1
bWVudD4oZG9jdW1lbnQoKSkpCisgICAgICAgICAgICBkb3duY2FzdDxNZWRpYURvY3VtZW50Pihk
b2N1bWVudCgpKS5tZWRpYUVsZW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQoZXhwYW5kZWRJbnRTaXpl
KG1fcGxheWVyLT5uYXR1cmFsU2l6ZSgpKSk7CisKICAgICAgICAgbG9nTWVkaWFMb2FkUmVxdWVz
dChkb2N1bWVudCgpLnBhZ2UoKSwgbV9wbGF5ZXItPmVuZ2luZURlc2NyaXB0aW9uKCksIFN0cmlu
ZygpLCB0cnVlKTsKICAgICB9CiAKQEAgLTM4ODIsNyArMzg4OSw3IEBAIHZvaWQgSFRNTE1lZGlh
RWxlbWVudDo6bGF5b3V0U2l6ZUNoYW5nZWQoKQogICAgIG1fcmVzaXplVGFza1F1ZXVlLmVucXVl
dWVUYXNrKHRhc2spOwogI2VuZGlmCiB9Ci0gICAgCisKIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6
c2V0U2VsZWN0ZWRUZXh0VHJhY2soVGV4dFRyYWNrKiB0cmFja1RvU2VsZWN0KQogewogICAgIFRl
eHRUcmFja0xpc3QqIHRyYWNrTGlzdCA9IHRleHRUcmFja3MoKTsKQEAgLTQzODMsNiArNDM5MCw5
IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJTaXplQ2hhbmdlZChNZWRpYVBs
YXllciopCiB7CiAgICAgTE9HKE1lZGlhLCAiSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJT
aXplQ2hhbmdlZCglcCkiLCB0aGlzKTsKIAorICAgIGlmIChpczxNZWRpYURvY3VtZW50Pihkb2N1
bWVudCgpKSAmJiBtX3BsYXllcikKKyAgICAgICAgZG93bmNhc3Q8TWVkaWFEb2N1bWVudD4oZG9j
dW1lbnQoKSkubWVkaWFFbGVtZW50TmF0dXJhbFNpemVDaGFuZ2VkKGV4cGFuZGVkSW50U2l6ZSht
X3BsYXllci0+bmF0dXJhbFNpemUoKSkpOworCiAgICAgYmVnaW5Qcm9jZXNzaW5nTWVkaWFQbGF5
ZXJDYWxsYmFjaygpOwogICAgIGlmIChyZW5kZXJlcigpKQogICAgICAgICByZW5kZXJlcigpLT51
cGRhdGVGcm9tRWxlbWVudCgpOwpAQCAtNjUyMyw2ICs2NTMzLDEyIEBAIHZvaWQgSFRNTE1lZGlh
RWxlbWVudDo6c2V0U2Vzc2lvbkludGVybmFsKE1lZGlhU2Vzc2lvbiYgc2Vzc2lvbikKIAogI2Vu
ZGlmCiAKK3ZvaWQgSFRNTE1lZGlhRWxlbWVudDo6YWxsb3dNZWRpYURvY3VtZW50SW5saW5lUGxh
eWJhY2tDaGFuZ2VkKCkKK3sKKyAgICBpZiAocG90ZW50aWFsbHlQbGF5aW5nKCkgJiYgbV9tZWRp
YVNlc3Npb24tPnJlcXVpcmVzRnVsbHNjcmVlbkZvclZpZGVvUGxheWJhY2soKnRoaXMpICYmICFp
c0Z1bGxzY3JlZW4oKSkKKyAgICAgICAgZW50ZXJGdWxsc2NyZWVuKCk7Cit9CisKIH0KIAogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCmluZGV4IGM0NmE2MWFiODM3
NjZkOTRlNmE1MjFjZTdjZTM2YzU2MGJkNzVjYzAuLmZhMjY0MjAzYWVkY2Y1YTlmZDBiZmE0MjRh
MWUxNzcwMzIzZjdjMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlh
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCkBA
IC00NDgsNiArNDQ4LDggQEAgcHVibGljOgogCiAgICAgdm9pZCBsYXlvdXRTaXplQ2hhbmdlZCgp
OwogCisgICAgdm9pZCBhbGxvd01lZGlhRG9jdW1lbnRJbmxpbmVQbGF5YmFja0NoYW5nZWQoKTsK
KwogcHJvdGVjdGVkOgogICAgIEhUTUxNZWRpYUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYs
IERvY3VtZW50JiwgYm9vbCk7CiAgICAgdmlydHVhbCB+SFRNTE1lZGlhRWxlbWVudCgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYURvY3VtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvTWVkaWFEb2N1bWVudC5jcHAKaW5kZXggZWZlMWIxZmUzNTI5YjA3MzlmYjU4
MDE1M2QxZjgwNmM4YzIxNmJmZS4uODI4MzVjMjI5NzExOGJkOGE0MTYwOGEwODNiYjIxYTE4NmFj
OTg4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYURvY3VtZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRG9jdW1lbnQuY3BwCkBAIC0yOCw2ICsyOCw4
IEBACiAjaWYgRU5BQkxFKFZJREVPKQogI2luY2x1ZGUgIk1lZGlhRG9jdW1lbnQuaCIKIAorI2lu
Y2x1ZGUgIkNocm9tZS5oIgorI2luY2x1ZGUgIkNocm9tZUNsaWVudC5oIgogI2luY2x1ZGUgIkRv
Y3VtZW50TG9hZGVyLmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIkV4Y2Vw
dGlvbkNvZGVQbGFjZWhvbGRlci5oIgpAQCAtMTA4LDYgKzExMCw3IEBAIHZvaWQgTWVkaWFEb2N1
bWVudFBhcnNlcjo6Y3JlYXRlRG9jdW1lbnRTdHJ1Y3R1cmUoKQogICAgIGVsZW1lbnRTdHlsZS5h
cHBlbmRMaXRlcmFsKCJtYXgtd2lkdGg6IDEwMCU7IG1heC1oZWlnaHQ6IDEwMCU7Iik7CiAjaWYg
UExBVEZPUk0oSU9TKQogICAgIGVsZW1lbnRTdHlsZS5hcHBlbmRMaXRlcmFsKCJ3aWR0aDogMTAw
JTsgaGVpZ2h0OiAxMDAlOyIpOworICAgIG1fbWVkaWFFbGVtZW50LT5zZXRBdHRyaWJ1dGUod2Vi
a2l0X3BsYXlzaW5saW5lQXR0ciwgZW1wdHlBdG9tKTsKICNlbmRpZgogICAgIG1fbWVkaWFFbGVt
ZW50LT5zZXRBdHRyaWJ1dGUoc3R5bGVBdHRyLCBlbGVtZW50U3R5bGUudG9TdHJpbmcoKSk7CiAK
QEAgLTI1OSw1ICsyNjIsMTcgQEAgdm9pZCBNZWRpYURvY3VtZW50OjpyZXBsYWNlTWVkaWFFbGVt
ZW50VGltZXJGaXJlZCgpCiAgICAgfQogfQogCit2b2lkIE1lZGlhRG9jdW1lbnQ6Om1lZGlhRWxl
bWVudE5hdHVyYWxTaXplQ2hhbmdlZChjb25zdCBJbnRTaXplJiBuZXdTaXplKQoreworICAgIGlm
IChvd25lckVsZW1lbnQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKG5ld1NpemUuaXNa
ZXJvKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChwYWdlKCkpCisgICAgICAgIHBhZ2Uo
KS0+Y2hyb21lKCkuY2xpZW50KCkubWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZChuZXdT
aXplKTsKK30KKwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01l
ZGlhRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFEb2N1bWVudC5oCmluZGV4
IDFjY2E3ODViYzAzZWQ1YjEzMzU4M2FlYjAxZjMwZWZkMjFmZTg2YWYuLmJhNjkxODczYTA5YmE1
OGUyYjU1Y2RkNWVkMjIxNTg0NmMzNDNhNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvTWVkaWFEb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFEb2N1bWVu
dC5oCkBAIC00MSw2ICs0MSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5NZWRpYURvY3VtZW50
KCk7CiAKICAgICB2b2lkIG1lZGlhRWxlbWVudFNhd1Vuc3VwcG9ydGVkVHJhY2tzKCk7CisgICAg
dm9pZCBtZWRpYUVsZW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQoY29uc3QgSW50U2l6ZSYpOwogICAg
IFN0cmluZyBvdXRnb2luZ1JlZmVycmVyKCkgY29uc3QgeyByZXR1cm4gbV9vdXRnb2luZ1JlZmVy
cmVyOyB9CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlh
RWxlbWVudFNlc3Npb24uY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNz
aW9uLmNwcAppbmRleCA0YTk2OTQ0NWI0MGVjMGE5ZDFiYTFlMWRkMTM3MDVmODE2OTVhNWQzLi5k
N2ZkYzQxNzExMzMzNmZhOWE3NTYwZmM5NGYyMGNhNDI0NjYwYjU4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKQEAgLTMzNCw2ICszMzQsOSBAQCBNZWRp
YVBsYXllcjo6UHJlbG9hZCBNZWRpYUVsZW1lbnRTZXNzaW9uOjplZmZlY3RpdmVQcmVsb2FkRm9y
RWxlbWVudChjb25zdCBIVE1MTQogICAgIGlmICgocmVzdHJpY3Rpb25zICYgUGxhdGZvcm1NZWRp
YVNlc3Npb25NYW5hZ2VyOjpNZXRhZGF0YVByZWxvYWRpbmdOb3RQZXJtaXR0ZWQpID09IFBsYXRm
b3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6TWV0YWRhdGFQcmVsb2FkaW5nTm90UGVybWl0dGVkKQog
ICAgICAgICByZXR1cm4gTWVkaWFQbGF5ZXI6Ok5vbmU7CiAKKyAgICBpZiAocGxheWJhY2tQZXJt
aXR0ZWQoZWxlbWVudCkgJiYgcHJlbG9hZCA9PSBNZWRpYVBsYXllcjo6QXV0byAmJiBlbGVtZW50
LmF1dG9wbGF5KCkpCisgICAgICAgIHJldHVybiBNZWRpYVBsYXllcjo6QXV0bzsKKwogICAgIGlm
ICgocmVzdHJpY3Rpb25zICYgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpBdXRvUHJlbG9h
ZGluZ05vdFBlcm1pdHRlZCkgPT0gUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpBdXRvUHJl
bG9hZGluZ05vdFBlcm1pdHRlZCkgewogICAgICAgICBpZiAocHJlbG9hZCA+IE1lZGlhUGxheWVy
OjpNZXRhRGF0YSkKICAgICAgICAgICAgIHJldHVybiBNZWRpYVBsYXllcjo6TWV0YURhdGE7CkBA
IC0zNDQsNiArMzQ3LDEwIEBAIE1lZGlhUGxheWVyOjpQcmVsb2FkIE1lZGlhRWxlbWVudFNlc3Np
b246OmVmZmVjdGl2ZVByZWxvYWRGb3JFbGVtZW50KGNvbnN0IEhUTUxNCiAKIGJvb2wgTWVkaWFF
bGVtZW50U2Vzc2lvbjo6cmVxdWlyZXNGdWxsc2NyZWVuRm9yVmlkZW9QbGF5YmFjayhjb25zdCBI
VE1MTWVkaWFFbGVtZW50JiBlbGVtZW50KSBjb25zdAogeworICAgIFBhZ2UqIHBhZ2UgPSBlbGVt
ZW50LmRvY3VtZW50KCkucGFnZSgpOworICAgIGlmIChlbGVtZW50LmRvY3VtZW50KCkuaXNNZWRp
YURvY3VtZW50KCkgJiYgIWVsZW1lbnQuZG9jdW1lbnQoKS5vd25lckVsZW1lbnQoKSAmJiBwYWdl
ICYmIHBhZ2UtPmFsbG93TWVkaWFEb2N1bWVudElubGluZVBsYXliYWNrKCkpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKwogICAgIGlmICghUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzaGFy
ZWRNYW5hZ2VyKCkuc2Vzc2lvblJlc3RyaWN0c0lubGluZVZpZGVvUGxheWJhY2soKnRoaXMpKQog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4
IDRmODE0M2QyYjFmZTFjZjMzOWM0OGY2ZTY3NzMxMjgyMDE4ZTQwOWIuLjVmYzExNmUwNGVkNTdj
NmVmZGNjNWU5Njg1MWQ1ZGVmOGQ2NWU4ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQu
aApAQCAtNDQ5LDYgKzQ0OSwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHBsYXliYWNr
VGFyZ2V0UGlja2VyQ2xpZW50U3RhdGVEaWRDaGFuZ2UodWludDY0X3QgLypjb250ZXh0SWQqLywg
TWVkaWFQcm9kdWNlcjo6TWVkaWFTdGF0ZUZsYWdzKSB7IH0KICNlbmRpZgogCisjaWYgRU5BQkxF
KFZJREVPKQorICAgIHZpcnR1YWwgdm9pZCBtZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2Vk
KGNvbnN0IFdlYkNvcmU6OkludFNpemUmKSB7IH0KKyNlbmRpZgorCiBwcm90ZWN0ZWQ6CiAgICAg
dmlydHVhbCB+Q2hyb21lQ2xpZW50KCkgeyB9CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggODFi
OTA5YmZmMmZmMWIzYmU3NGM2M2U0ZDM2NDhiYTA4ODU4NTM2Yi4uYWFjMjBmMjdiZTZjZTU4N2U5
ZDY1NWZlYjIyODMzOTg0OTBlYjBmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Q
YWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC0xNzM2LDQgKzE3
MzYsMjAgQEAgV2hlZWxFdmVudFRlc3RUcmlnZ2VyJiBQYWdlOjplbnN1cmVUZXN0VHJpZ2dlcigp
CiAgICAgcmV0dXJuICptX3Rlc3RUcmlnZ2VyOwogfQogCisjaWYgRU5BQkxFKFZJREVPKQordm9p
ZCBQYWdlOjpzZXRBbGxvd01lZGlhRG9jdW1lbnRJbmxpbmVQbGF5YmFjayhib29sIGZsYWcpCit7
CisgICAgaWYgKG1fYWxsb3dNZWRpYURvY3VtZW50SW5saW5lUGxheWJhY2sgPT0gZmxhZykKKyAg
ICAgICAgcmV0dXJuOworICAgIG1fYWxsb3dNZWRpYURvY3VtZW50SW5saW5lUGxheWJhY2sgPSBm
bGFnOworCisgICAgVmVjdG9yPFJlZjxEb2N1bWVudD4+IGRvY3VtZW50czsKKyAgICBmb3IgKEZy
YW1lKiBmcmFtZSA9IG1fbWFpbkZyYW1lLmdldCgpOyBmcmFtZTsgZnJhbWUgPSBmcmFtZS0+dHJl
ZSgpLnRyYXZlcnNlTmV4dCgpKQorICAgICAgICBkb2N1bWVudHMuYXBwZW5kKCpmcmFtZS0+ZG9j
dW1lbnQoKSk7CisKKyAgICBmb3IgKGF1dG8mIGRvY3VtZW50IDogZG9jdW1lbnRzKQorICAgICAg
ICBkb2N1bWVudC0+YWxsb3dNZWRpYURvY3VtZW50SW5saW5lUGxheWJhY2tDaGFuZ2VkKCk7Cit9
CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAppbmRleCA4YmE2
MzlkOTQwMzFiODgxYWQ3NTJjY2Q1YzdlZjExZmJiNjc1Yjk2Li5mM2Y3MzkyODBmNzEyYjBiOWUy
NGRkNmViZGYwYWViYmMwOThjMTllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtNDYwLDYgKzQ2MCwxMSBA
QCBwdWJsaWM6CiAgICAgdm9pZCBjbGVhclRyaWdnZXIoKSB7IG1fdGVzdFRyaWdnZXIgPSBudWxs
cHRyOyB9CiAgICAgYm9vbCBleHBlY3RzV2hlZWxFdmVudFRyaWdnZXJzKCkgY29uc3QgeyByZXR1
cm4gISFtX3Rlc3RUcmlnZ2VyOyB9CiAKKyNpZiBFTkFCTEUoVklERU8pCisgICAgV0VCQ09SRV9F
WFBPUlQgYm9vbCBhbGxvd01lZGlhRG9jdW1lbnRJbmxpbmVQbGF5YmFjaygpIGNvbnN0IHsgcmV0
dXJuIG1fYWxsb3dNZWRpYURvY3VtZW50SW5saW5lUGxheWJhY2s7IH0KKyAgICBXRUJDT1JFX0VY
UE9SVCB2b2lkIHNldEFsbG93TWVkaWFEb2N1bWVudElubGluZVBsYXliYWNrKGJvb2wpOworI2Vu
ZGlmCisKIHByaXZhdGU6CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBpbml0R3JvdXAoKTsKIApA
QCAtNjE5LDYgKzYyNCw3IEBAIHByaXZhdGU6CiAgICAgTWVkaWFQcm9kdWNlcjo6TWVkaWFTdGF0
ZUZsYWdzIG1fbWVkaWFTdGF0ZSB7IE1lZGlhUHJvZHVjZXI6OklzTm90UGxheWluZyB9OwogICAg
IAogICAgIGJvb2wgbV91c2VyQ29udGVudEV4dGVuc2lvbnNFbmFibGVkIHsgdHJ1ZSB9OworICAg
IGJvb2wgbV9hbGxvd01lZGlhRG9jdW1lbnRJbmxpbmVQbGF5YmFjayB7IGZhbHNlIH07CiB9Owog
CiBpbmxpbmUgUGFnZUdyb3VwJiBQYWdlOjpncm91cCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1NldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3Bw
CmluZGV4IGM5YWU1YTUzMWFiZTY0YTQ4ZWJiNDdhYTQ5N2Y3OGFkNGFlZWQ5OWEuLjYxNDFiZmIy
MGM0NWI1MDQyZGYyNjEwODVlNTI3OTkxMTE3OWJkZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvU2V0dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3Mu
Y3BwCkBAIC0xMjMsMTEgKzEyMywxMiBAQCBzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0Rml4ZWRC
YWNrZ3JvdW5kc1BhaW50UmVsYXRpdmVUb0RvY3VtZW50ID0gdHJ1ZTsKIHN0YXRpYyBjb25zdCBi
b29sIGRlZmF1bHRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRm9yRml4ZWRQb3NpdGlvbkVuYWJsZWQg
PSB0cnVlOwogc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdEFsbG93c0lubGluZU1lZGlhUGxheWJh
Y2sgPSBmYWxzZTsKIHN0YXRpYyBjb25zdCBib29sIGRlZmF1bHRSZXF1aXJlc1VzZXJHZXN0dXJl
Rm9yTWVkaWFQbGF5YmFjayA9IHRydWU7Ci1zdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0QXVkaW9Q
bGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUgPSB0cnVlOworc3RhdGljIGNvbnN0IGJvb2wgZGVm
YXVsdEF1ZGlvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlID0gZmFsc2U7CiBzdGF0aWMgY29u
c3QgYm9vbCBkZWZhdWx0U2hvdWxkUmVzcGVjdEltYWdlT3JpZW50YXRpb24gPSB0cnVlOwogc3Rh
dGljIGNvbnN0IGJvb2wgZGVmYXVsdEltYWdlU3Vic2FtcGxpbmdFbmFibGVkID0gdHJ1ZTsKIHN0
YXRpYyBjb25zdCBib29sIGRlZmF1bHRTY3JvbGxpbmdUcmVlSW5jbHVkZXNGcmFtZXMgPSB0cnVl
Owogc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdE1lZGlhQ29udHJvbHNTY2FsZVdpdGhQYWdlWm9v
bSA9IHRydWU7CitzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0TWVkaWFEYXRhTG9hZHNBdXRvbWF0
aWNhbGx5ID0gZmFsc2U7CiAjZWxzZQogc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdEZpeGVkUG9z
aXRpb25DcmVhdGVzU3RhY2tpbmdDb250ZXh0ID0gZmFsc2U7CiBzdGF0aWMgY29uc3QgYm9vbCBk
ZWZhdWx0Rml4ZWRCYWNrZ3JvdW5kc1BhaW50UmVsYXRpdmVUb0RvY3VtZW50ID0gZmFsc2U7CkBA
IC0xMzksNiArMTQwLDcgQEAgc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdFNob3VsZFJlc3BlY3RJ
bWFnZU9yaWVudGF0aW9uID0gZmFsc2U7CiBzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0SW1hZ2VT
dWJzYW1wbGluZ0VuYWJsZWQgPSBmYWxzZTsKIHN0YXRpYyBjb25zdCBib29sIGRlZmF1bHRTY3Jv
bGxpbmdUcmVlSW5jbHVkZXNGcmFtZXMgPSBmYWxzZTsKIHN0YXRpYyBjb25zdCBib29sIGRlZmF1
bHRNZWRpYUNvbnRyb2xzU2NhbGVXaXRoUGFnZVpvb20gPSB0cnVlOworc3RhdGljIGNvbnN0IGJv
b2wgZGVmYXVsdE1lZGlhRGF0YUxvYWRzQXV0b21hdGljYWxseSA9IHRydWU7CiAjZW5kaWYKIAog
c3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdEFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXli
YWNrID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4g
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmluCmluZGV4IDM5YWY3MThkZGI3NDg2ODlk
ZTI2MDg4YzdmODRiZTlkZDMyNmZkOGUuLmM5OGU0MWFmZjYzMDI0OWNlYmU3NDZmZjYyNzA0YTZi
MjYxYzYyYWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4KKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5pbgpAQCAtMjEzLDcgKzIxMyw3IEBAIHNo
b3VsZENvbnZlcnRQb3NpdGlvblN0eWxlT25Db3B5IGluaXRpYWw9ZmFsc2UKIG1heFBhcnNlRHVy
YXRpb24gdHlwZT1kb3VibGUsIGluaXRpYWw9LTEKIHN0YW5kYWxvbmUgaW5pdGlhbD1mYWxzZQog
dGVsZXBob25lTnVtYmVyUGFyc2luZ0VuYWJsZWQgaW5pdGlhbD1mYWxzZQotbWVkaWFEYXRhTG9h
ZHNBdXRvbWF0aWNhbGx5IGluaXRpYWw9ZmFsc2UKK21lZGlhRGF0YUxvYWRzQXV0b21hdGljYWxs
eSBpbml0aWFsPWRlZmF1bHRNZWRpYURhdGFMb2Fkc0F1dG9tYXRpY2FsbHksIGNvbmRpdGlvbmFs
PVZJREVPCiBzaG91bGRUcmFuc2Zvcm1zQWZmZWN0T3ZlcmZsb3cgaW5pdGlhbD10cnVlCiBzaG91
bGREaXNwYXRjaEphdmFTY3JpcHRXaW5kb3dPbkVycm9yRXZlbnRzIGluaXRpYWw9ZmFsc2UKIGFs
d2F5c1VzZUFjY2VsZXJhdGVkT3ZlcmZsb3dTY3JvbGwgaW5pdGlhbD1mYWxzZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbSBiL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KaW5kZXggZTgxOTIwM2Y3MDUxMDAx
YzJlZmEyODNlMzJkOGI5YTk1M2QyNzAxMy4uZTY2ZjA4MjZlYzNmOGFiMWI1OTBlYzZiYTlhYzhh
MTY5ODk2NDE4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVm
ZXJlbmNlcy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2Vz
Lm1tCkBAIC0zODgsNiArMzg4LDE2IEBAIHB1YmxpYzoKICAgICByZXR1cm4gX3N0YW5kYXJkUHJl
ZmVyZW5jZXM7CiB9CiAKK3N0YXRpYyBib29sIGRlZmF1bHRBbGxvd3NJbmxpbmVNZWRpYVBsYXli
YWNrKCkKK3sKKyNpZiAhUExBVEZPUk0oSU9TKQorICAgIHJldHVybiB0cnVlOworI2Vsc2UKKyAg
ICBzdGF0aWMgd2tEZXZpY2VDbGFzcyBkZXZpY2VDbGFzcyA9IGlvc0RldmljZUNsYXNzKCk7Cisg
ICAgcmV0dXJuIGRldmljZUNsYXNzICE9IHdrRGV2aWNlQ2xhc3NpUGhvbmUgJiYgZGV2aWNlQ2xh
c3MgIT0gd2tEZXZpY2VDbGFzc2lQb2Q7CisjZW5kaWYKK30KKwogLy8gaWYgd2UgZXZlciBoYXZl
IG1vcmUgdGhhbiBvbmUgV2ViUHJlZmVyZW5jZXMgb2JqZWN0LCB0aGlzIHdvdWxkIG1vdmUgdG8g
aW5pdAogKyAodm9pZClpbml0aWFsaXplCiB7CkBAIC01MTYsOSArNTI2LDkgQEAgcHVibGljOgog
ICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCAgIFdlYktpdFVzZVByZUhUTUw1
UGFyc2VyUXVpcmtzS2V5LAogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6WUVTXSwg
IFdlYktpdEFWRm91bmRhdGlvbkVuYWJsZWRLZXksCiAgICAgICAgIFtOU051bWJlciBudW1iZXJX
aXRoQm9vbDpOT10sICAgV2ViS2l0U3VwcHJlc3Nlc0luY3JlbWVudGFsUmVuZGVyaW5nS2V5LAor
ICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6ZGVmYXVsdEFsbG93c0lubGluZU1lZGlh
UGxheWJhY2soKV0sICBXZWJLaXRBbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrUHJlZmVyZW5jZUtl
eSwKICNpZiAhUExBVEZPUk0oSU9TKQogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6
Tk9dLCAgIFdlYktpdFJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYVBsYXliYWNrUHJlZmVyZW5j
ZUtleSwKLSAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOllFU10sICBXZWJLaXRBbGxv
d3NJbmxpbmVNZWRpYVBsYXliYWNrUHJlZmVyZW5jZUtleSwKICAgICAgICAgW05TTnVtYmVyIG51
bWJlcldpdGhCb29sOllFU10sICBXZWJLaXRNZWRpYUNvbnRyb2xzU2NhbGVXaXRoUGFnZVpvb21Q
cmVmZXJlbmNlS2V5LAogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCAgIFdl
YktpdFdlYkF1ZGlvRW5hYmxlZFByZWZlcmVuY2VLZXksCiAgICAgICAgIFtOU051bWJlciBudW1i
ZXJXaXRoQm9vbDpZRVNdLCAgV2ViS2l0QmFja3NwYWNlS2V5TmF2aWdhdGlvbkVuYWJsZWRLZXks
CkBAIC01MjksNyArNTM5LDYgQEAgcHVibGljOgogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0
aEJvb2w6Tk9dLCAgIFdlYktpdFNob3VsZFJlc3BlY3RJbWFnZU9yaWVudGF0aW9uS2V5LAogI2Vs
c2UKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOllFU10sICBXZWJLaXRSZXF1aXJl
c1VzZXJHZXN0dXJlRm9yTWVkaWFQbGF5YmFja1ByZWZlcmVuY2VLZXksCi0gICAgICAgIFtOU051
bWJlciBudW1iZXJXaXRoQm9vbDpOT10sICAgV2ViS2l0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFj
a1ByZWZlcmVuY2VLZXksCiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpOT10sICAg
V2ViS2l0TWVkaWFDb250cm9sc1NjYWxlV2l0aFBhZ2Vab29tUHJlZmVyZW5jZUtleSwKICAgICAg
ICAgW05TTnVtYmVyIG51bWJlcldpdGhVbnNpZ25lZEludDpBdWRpb1Nlc3Npb246Ok5vbmVdLCAg
V2ViS2l0QXVkaW9TZXNzaW9uQ2F0ZWdvcnlPdmVycmlkZSwKICNpZiBIQVZFKEFWS0lUKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMu
aCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmgKaW5k
ZXggMTY4NTJhZjZjNjRmZDkzYTQ1YWQ5ZTg3YmMyOGEyZmQ2MDI4MDY4Ny4uMjU5ODQ1OTZkYjli
MDdmNWFlZjc2ZjY5OWUwYzliNDEwNGIyZWE2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oCkBAIC02MCw2ICs2MCw3IEBACiAjZGVm
aW5lIERFRkFVTFRfUkVRVUlSRVNfVVNFUl9HRVNUVVJFX0ZPUl9NRURJQV9QTEFZQkFDSyB0cnVl
CiAjZGVmaW5lIERFRkFVTFRfTUVESUFfQ09OVFJPTFNfU0NBTEVfV0lUSF9QQUdFX1pPT00gZmFs
c2UKICNkZWZpbmUgREVGQVVMVF9URU1QT1JBUllfVElMRV9DT0hPUlRfUkVURU5USU9OX0VOQUJM
RUQgZmFsc2UKKyNkZWZpbmUgREVGQVVMVF9NRURJQV9EQVRBX0xPQURTX0FVVE9NQVRJQ0FMTFkg
ZmFsc2UKICNlbHNlCiAjZGVmaW5lIERFRkFVTFRfRlJBTUVfRkxBVFRFTklOR19FTkFCTEVEIGZh
bHNlCiAjZGVmaW5lIERFRkFVTFRfU0hPVUxEX1BSSU5UX0JBQ0tHUk9VTkRTIGZhbHNlCkBAIC03
Miw2ICs3Myw3IEBACiAjZGVmaW5lIERFRkFVTFRfUkVRVUlSRVNfVVNFUl9HRVNUVVJFX0ZPUl9N
RURJQV9QTEFZQkFDSyBmYWxzZQogI2RlZmluZSBERUZBVUxUX01FRElBX0NPTlRST0xTX1NDQUxF
X1dJVEhfUEFHRV9aT09NIHRydWUKICNkZWZpbmUgREVGQVVMVF9URU1QT1JBUllfVElMRV9DT0hP
UlRfUkVURU5USU9OX0VOQUJMRUQgdHJ1ZQorI2RlZmluZSBERUZBVUxUX01FRElBX0RBVEFfTE9B
RFNfQVVUT01BVElDQUxMWSB0cnVlCiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPU19TSU1VTEFU
T1IpCkBAIC0yMDAsNiArMjAyLDcgQEAKICAgICBtYWNybyhOZXdCbG9ja0luc2lkZUlubGluZU1v
ZGVsRW5hYmxlZCwgbmV3QmxvY2tJbnNpZGVJbmxpbmVNb2RlbEVuYWJsZWQsIEJvb2wsIGJvb2ws
IGZhbHNlKSBcCiAgICAgbWFjcm8oQW50aWFsaWFzZWRGb250RGlsYXRpb25FbmFibGVkLCBhbnRp
YWxpYXNlZEZvbnREaWxhdGlvbkVuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCiAgICAgbWFj
cm8oSFRUUEVxdWl2RW5hYmxlZCwgaHR0cEVxdWl2RW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSkg
XAorICAgIG1hY3JvKE1lZGlhRGF0YUxvYWRzQXV0b21hdGljYWxseSwgbWVkaWFEYXRhTG9hZHNB
dXRvbWF0aWNhbGx5LCBCb29sLCBib29sLCBERUZBVUxUX01FRElBX0RBVEFfTE9BRFNfQVVUT01B
VElDQUxMWSkgXAogCiAjZGVmaW5lIEZPUl9FQUNIX1dFQktJVF9ET1VCTEVfUFJFRkVSRU5DRSht
YWNybykgXAogICAgIG1hY3JvKEluY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0
LCBpbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dCwgRG91YmxlLCBkb3VibGUs
IDUpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJVUlDbGll
bnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaAppbmRleCBk
NjJmMmRhNmRmMTljODY5ZTk3NDE5YTMxY2NmNmIyOWVmMDc1YmQ3Li4wMzQxMzQ1NTczMjJhYWM4
MzU1ZjhkMDJmZGNlNWEzMzFlNzA3ODRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0FQSVVJQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9BUElVSUNsaWVudC5oCkBAIC0xNjcsNiArMTY3LDEwIEBAIHB1YmxpYzoKICNlbmRpZgogCiAg
ICAgdmlydHVhbCB2b2lkIGRpZENsaWNrQXV0b0ZpbGxCdXR0b24oV2ViS2l0OjpXZWJQYWdlUHJv
eHkmLCBBUEk6Ok9iamVjdCopIHsgfQorCisjaWYgRU5BQkxFKFZJREVPKQorICAgIHZpcnR1YWwg
dm9pZCBtZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkKGNvbnN0IFdlYkNvcmU6OkludFNp
emUmKSB7IH0KKyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgQVBJCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tGcmFtZS5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvV0tGcmFtZS5jcHAKaW5kZXggYzljZjRjZjE5ZDI2YzVjNjRhYzEw
NzFmNzc1ZmE4Y2U1MGJhNTIxZS4uYzZhMjE2N2JkNjFhMDBlODE2M2ZjNzg0YmQ0MjQ0MmRmNzIw
NTFhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLRnJhbWUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0ZyYW1lLmNwcApAQCAt
MTE1LDYgKzExNSwxMSBAQCBib29sIFdLRnJhbWVJc0Rpc3BsYXlpbmdTdGFuZGFsb25lSW1hZ2VE
b2N1bWVudChXS0ZyYW1lUmVmIGZyYW1lUmVmKQogICAgIHJldHVybiB0b0ltcGwoZnJhbWVSZWYp
LT5pc0Rpc3BsYXlpbmdTdGFuZGFsb25lSW1hZ2VEb2N1bWVudCgpOwogfQogCitib29sIFdLRnJh
bWVJc0Rpc3BsYXlpbmdTdGFuZGFsb25lTWVkaWFEb2N1bWVudChXS0ZyYW1lUmVmIGZyYW1lUmVm
KQoreworICAgIHJldHVybiB0b0ltcGwoZnJhbWVSZWYpLT5pc0Rpc3BsYXlpbmdTdGFuZGFsb25l
TWVkaWFEb2N1bWVudCgpOworfQorCiBib29sIFdLRnJhbWVJc0Rpc3BsYXlpbmdNYXJrdXBEb2N1
bWVudChXS0ZyYW1lUmVmIGZyYW1lUmVmKQogewogICAgIHJldHVybiB0b0ltcGwoZnJhbWVSZWYp
LT5pc0Rpc3BsYXlpbmdNYXJrdXBEb2N1bWVudCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9DL1dLRnJhbWUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS0ZyYW1lLmgKaW5kZXggZWU0MjdkZTgwMWRhYjYyYTJjZDkzNzgxZDliNWJhZDNmZjQ1
M2I3ZC4uNzJlOTllODVjYjJiYWJkZTUzOWJlMDJjYjI0MTA2YTVhMDY2YzY3YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLRnJhbWUuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tGcmFtZS5oCkBAIC02NCw2ICs2NCw3IEBAIFdLX0VY
UE9SVCBib29sIFdLRnJhbWVDYW5Qcm92aWRlU291cmNlKFdLRnJhbWVSZWYgZnJhbWUpOwogV0tf
RVhQT1JUIGJvb2wgV0tGcmFtZUNhblNob3dNSU1FVHlwZShXS0ZyYW1lUmVmIGZyYW1lLCBXS1N0
cmluZ1JlZiBtaW1lVHlwZSk7CiAKIFdLX0VYUE9SVCBib29sIFdLRnJhbWVJc0Rpc3BsYXlpbmdT
dGFuZGFsb25lSW1hZ2VEb2N1bWVudChXS0ZyYW1lUmVmIGZyYW1lKTsKK1dLX0VYUE9SVCBib29s
IFdLRnJhbWVJc0Rpc3BsYXlpbmdTdGFuZGFsb25lTWVkaWFEb2N1bWVudChXS0ZyYW1lUmVmIGZy
YW1lKTsKIFdLX0VYUE9SVCBib29sIFdLRnJhbWVJc0Rpc3BsYXlpbmdNYXJrdXBEb2N1bWVudChX
S0ZyYW1lUmVmIGZyYW1lKTsKIAogV0tfRVhQT1JUIGJvb2wgV0tGcmFtZUlzRnJhbWVTZXQoV0tG
cmFtZVJlZiBmcmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oCmluZGV4IDkzOTJjM2I4OTQ2MzMwM2YzYWJk
NWMzNmY5YmE5OWYzNWM4NmZmMWIuLjMxMjZhNTJhZDQ1YTFkNGU5YjRhNTAxYTk2YWZiMzRjZDZl
MGE2OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tV
SURlbGVnYXRlUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oCkBAIC02Niw2ICs2Niw3IEBAIHN0cnVjdCBVSUVkZ2VJ
bnNldHM7CiAtICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGRpZERpc21pc3NQ
cmV2aWV3Vmlld0NvbnRyb2xsZXI6KFVJVmlld0NvbnRyb2xsZXIgKilwcmV2aWV3ZWRWaWV3Q29u
dHJvbGxlcjsKIC0gKFVJRWRnZUluc2V0cylfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBm
aW5hbE9ic2N1cmVkSW5zZXRzRm9yU2Nyb2xsVmlldzooVUlTY3JvbGxWaWV3ICopc2Nyb2xsVmll
dyB3aXRoVmVsb2NpdHk6KENHUG9pbnQpdmVsb2NpdHkgdGFyZ2V0Q29udGVudE9mZnNldDooaW5v
dXQgQ0dQb2ludCAqKXRhcmdldENvbnRlbnRPZmZzZXQ7CiAtIChVSVZpZXdDb250cm9sbGVyICop
X3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgcHJldmlld1ZpZXdDb250cm9sbGVyRm9yVVJM
OihOU1VSTCAqKXVybCBkZWZhdWx0QWN0aW9uczooTlNBcnJheSAqKWFjdGlvbnMgZWxlbWVudElu
Zm86KF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZvICopZWxlbWVudEluZm8gV0tfQVZBSUxBQkxFKFdL
X01BQ19UQkEsIFdLX0lPU19UQkEpOworLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2Vi
VmlldyBtZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkOihDR1NpemUpc2l6ZTsKICNlbmRp
ZgogCiBAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3Lm1tCmluZGV4IGNlMDFiZDM4YzA2YTBjMTMxNzgyMjdlMjY1MzA0MWI2M2NhZTExODQuLjU2
NDk2ZTc1ZWZlOTJjZmVlNGRlZWYyMWExZjVjMjhmMjVlYjhmNzIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC0xODY3LDYgKzE4Njcs
MTUgQEAgc3RhdGljIFdlYkNvcmU6OkZsb2F0UG9pbnQgY29uc3RyYWluQ29udGVudE9mZnNldChX
ZWJDb3JlOjpGbG9hdFBvaW50IGNvbnRlbnRPZmYKIH0KICNlbmRpZiAvLyBQTEFURk9STShNQUMp
CiAKKyNpZiBFTkFCTEUoVklERU8pCistICh2b2lkKV9tZWRpYURvY3VtZW50TmF0dXJhbFNpemVD
aGFuZ2VkOihOU1NpemUpbmV3U2l6ZQoreworICAgIGlkIDxXS1VJRGVsZWdhdGVQcml2YXRlPiB1
aURlbGVnYXRlID0gc3RhdGljX2Nhc3Q8aWQgPFdLVUlEZWxlZ2F0ZVByaXZhdGU+Pihbc2VsZiBV
SURlbGVnYXRlXSk7CisgICAgaWYgKFt1aURlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2Vs
ZWN0b3IoX3dlYlZpZXc6bWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZDopXSkKKyAgICAg
ICAgW3VpRGVsZWdhdGUgX3dlYlZpZXc6c2VsZiBtZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFu
Z2VkOm5ld1NpemVdOworfQorI2VuZGlmCisKIEBlbmQKIAogQGltcGxlbWVudGF0aW9uIFdLV2Vi
VmlldyAoV0tQcml2YXRlKQpAQCAtMjQ1MSw2ICsyNDYwLDEzIEBAIHN0YXRpYyBpbmxpbmUgV2Vi
S2l0OjpGaW5kT3B0aW9ucyB0b0ZpbmRPcHRpb25zKF9XS0ZpbmRPcHRpb25zIHdrRmluZE9wdGlv
bnMpCiAgICAgcmV0dXJuIE5POwogfQogCistIChCT09MKV9pc0Rpc3BsYXlpbmdTdGFuZGFsb25l
TWVkaWFEb2N1bWVudAoreworICAgIGlmIChhdXRvKiBtYWluRnJhbWUgPSBfcGFnZS0+bWFpbkZy
YW1lKCkpCisgICAgICAgIHJldHVybiBtYWluRnJhbWUtPmlzRGlzcGxheWluZ1N0YW5kYWxvbmVN
ZWRpYURvY3VtZW50KCk7CisgICAgcmV0dXJuIE5POworfQorCiAtIChCT09MKV9pc1Nob3dpbmdO
YXZpZ2F0aW9uR2VzdHVyZVNuYXBzaG90CiB7CiAgICAgcmV0dXJuIF9wYWdlLT5pc1Nob3dpbmdO
YXZpZ2F0aW9uR2VzdHVyZVNuYXBzaG90KCk7CkBAIC0yNTY5LDYgKzI1ODUsMzggQEAgc3RhdGlj
IGlubGluZSBXZWJLaXQ6OkZpbmRPcHRpb25zIHRvRmluZE9wdGlvbnMoX1dLRmluZE9wdGlvbnMg
d2tGaW5kT3B0aW9ucykKICAgICByZXR1cm4gbmlsOwogfQogCisjcHJhZ21hIG1hcmsgbWVkaWEg
cGxheWJhY2sgcmVzdHJpY3Rpb25zCisKKy0gKEJPT0wpX21lZGlhRGF0YUxvYWRzQXV0b21hdGlj
YWxseQoreworICAgIHJldHVybiBfcGFnZS0+cHJlZmVyZW5jZXMoKS5tZWRpYURhdGFMb2Fkc0F1
dG9tYXRpY2FsbHkoKTsKK30KKworLSAodm9pZClfc2V0TWVkaWFEYXRhTG9hZHNBdXRvbWF0aWNh
bGx5OihCT09MKWZsYWcKK3sKKyAgICBfcGFnZS0+cHJlZmVyZW5jZXMoKS5zZXRNZWRpYURhdGFM
b2Fkc0F1dG9tYXRpY2FsbHkoZmxhZyk7Cit9CisKKy0gKEJPT0wpX3JlcXVpcmVzVXNlckFjdGlv
bkZvck1lZGlhUGxheWJhY2sKK3sKKyAgICByZXR1cm4gX3BhZ2UtPnByZWZlcmVuY2VzKCkucmVx
dWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhUGxheWJhY2soKTsKK30KKworLSAodm9pZClfc2V0UmVx
dWlyZXNVc2VyQWN0aW9uRm9yTWVkaWFQbGF5YmFjazooQk9PTClmbGFnCit7CisgICAgX3BhZ2Ut
PnByZWZlcmVuY2VzKCkuc2V0UmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhUGxheWJhY2soZmxh
Zyk7Cit9CisKKy0gKEJPT0wpX2FsbG93TWVkaWFEb2N1bWVudElubGluZVBsYXliYWNrCit7Cisg
ICAgcmV0dXJuIF9wYWdlLT5hbGxvd01lZGlhRG9jdW1lbnRJbmxpbmVQbGF5YmFjaygpOworfQor
CistICh2b2lkKV9zZXRBbGxvd01lZGlhRG9jdW1lbnRJbmxpbmVQbGF5YmFjazooQk9PTClmbGFn
Cit7CisgICAgX3BhZ2UtPnNldEFsbG93TWVkaWFEb2N1bWVudElubGluZVBsYXliYWNrKGZsYWcp
OworfQorCiAjcHJhZ21hIG1hcmsgaU9TLXNwZWNpZmljIG1ldGhvZHMKIAogI2lmIFBMQVRGT1JN
KElPUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3SW50ZXJuYWwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3SW50ZXJuYWwuaAppbmRleCBkMmRlZjIzZmQ1MjA5ZDQ5OTQwYWFiNGFlZTg5NTgwNTNm
NDJkNDgyLi4zYTdhNjJkMDQyMTYxMWRhMzQxMTNhYjA2M2VlNWEzNDNiMjBlYTYzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0ludGVybmFs
LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdJbnRl
cm5hbC5oCkBAIC0xMTYsNiArMTE2LDEwIEBAIHN0cnVjdCBQcmludEluZm87CiAKIC0gKFdLUGFn
ZVJlZilfcGFnZUZvclRlc3Rpbmc7CiAKKyNpZiBFTkFCTEUoVklERU8pCistICh2b2lkKV9tZWRp
YURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkOihDR1NpemUpbmV3U2l6ZTsKKyNlbmRpZgorCiBA
ZW5kCiAKIFdLV2ViVmlldyogZnJvbVdlYlBhZ2VQcm94eShXZWJLaXQ6OldlYlBhZ2VQcm94eSYp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXdQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
d1ByaXZhdGUuaAppbmRleCBhZjFmMTk3NGUwZTE0YjY5ZDExNWMxZTc1OGUxODlmYWI2OTg3NzVh
Li43NDhiMzA1YjIzMDIwMDdmYTYzN2Q4NGY2N2Q0NDc4YjM4OTBjYjU5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaApA
QCAtMjAzLDExICsyMDMsMTcgQEAgV0tfRVhURVJOIE5TU3RyaW5nICogY29uc3QgX1dLU2hvdWxk
T3BlbkV4dGVybmFsVVJMc0tleSBXS19BVkFJTEFCTEUoV0tfTUFDX1RCQSwKIEBwcm9wZXJ0eSAo
bm9uYXRvbWljLCB3ZWFrLCBzZXR0ZXI9X3NldEZvcm1EZWxlZ2F0ZTopIGlkIDxfV0tGb3JtRGVs
ZWdhdGU+IF9mb3JtRGVsZWdhdGU7CiAKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSwg
Z2V0dGVyPV9pc0Rpc3BsYXlpbmdTdGFuZGFsb25lSW1hZ2VEb2N1bWVudCkgQk9PTCBfZGlzcGxh
eWluZ1N0YW5kYWxvbmVJbWFnZURvY3VtZW50OworQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRv
bmx5LCBnZXR0ZXI9X2lzRGlzcGxheWluZ1N0YW5kYWxvbmVNZWRpYURvY3VtZW50KSBCT09MIF9k
aXNwbGF5aW5nU3RhbmRhbG9uZU1lZGlhRG9jdW1lbnQ7CiAKIEBwcm9wZXJ0eSAobm9uYXRvbWlj
LCBzZXR0ZXI9X3NldFNjcm9sbFBlcmZvcm1hbmNlRGF0YUNvbGxlY3Rpb25FbmFibGVkOikgQk9P
TCBfc2Nyb2xsUGVyZm9ybWFuY2VEYXRhQ29sbGVjdGlvbkVuYWJsZWQgV0tfQVZBSUxBQkxFKFdL
X01BQ19UQkEsIFdLX0lPU19UQkEpOwogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBO
U0FycmF5ICpfc2Nyb2xsUGVyZm9ybWFuY2VEYXRhIFdLX0FWQUlMQUJMRShXS19NQUNfVEJBLCBX
S19JT1NfVEJBKTsKIAogLSAodm9pZClfc2F2ZUJhY2tGb3J3YXJkU25hcHNob3RGb3JJdGVtOihX
S0JhY2tGb3J3YXJkTGlzdEl0ZW0gKilpdGVtIFdLX0FWQUlMQUJMRShXS19NQUNfVEJBLCBXS19J
T1NfVEJBKTsKKworQHByb3BlcnR5IChub25hdG9taWMsIGdldHRlcj1fbWVkaWFEYXRhTG9hZHNB
dXRvbWF0aWNhbGx5LCBzZXR0ZXI9X3NldE1lZGlhRGF0YUxvYWRzQXV0b21hdGljYWxseTopIEJP
T0wgX21lZGlhRGF0YUxvYWRzQXV0b21hdGljYWxseTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBn
ZXR0ZXI9X3JlcXVpcmVzVXNlckFjdGlvbkZvck1lZGlhUGxheWJhY2ssIHNldHRlcj1fc2V0UmVx
dWlyZXNVc2VyQWN0aW9uRm9yTWVkaWFQbGF5YmFjazopIEJPT0wgX3JlcXVpcmVzVXNlckFjdGlv
bkZvck1lZGlhUGxheWJhY2s7CitAcHJvcGVydHkgKG5vbmF0b21pYywgZ2V0dGVyPV9hbGxvd01l
ZGlhRG9jdW1lbnRJbmxpbmVQbGF5YmFjaywgc2V0dGVyPV9zZXRBbGxvd01lZGlhRG9jdW1lbnRJ
bmxpbmVQbGF5YmFjazopIEJPT0wgX2FsbG93TWVkaWFEb2N1bWVudElubGluZVBsYXliYWNrOwor
CiBAZW5kCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nv
Y29hL1VJRGVsZWdhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVn
YXRlLmgKaW5kZXggZmUxZGQ5NjY3NGU2MjhjNGExMjM5NWY2YTQ1NWMxYTYzOGZmOWI4MS4uN2U3
MWRiYTg3NTAyZDE2OWU1NTIyZDYwZmYxNDRmZjY0ZDNmODllYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5oCkBAIC03Niw2ICs3Niw5IEBAIHByaXZhdGU6
CiAgICAgICAgIHZpcnR1YWwgUmV0YWluUHRyPE5TQXJyYXk+IGFjdGlvbnNGb3JFbGVtZW50KF9X
S0FjdGl2YXRlZEVsZW1lbnRJbmZvICosIFJldGFpblB0cjxOU0FycmF5PiBkZWZhdWx0QWN0aW9u
cykgb3ZlcnJpZGU7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWROb3RIYW5kbGVUYXBBc0NsaWNr
KGNvbnN0IFdlYkNvcmU6OkludFBvaW50Jikgb3ZlcnJpZGU7CiAjZW5kaWYKKyNpZiBFTkFCTEUo
VklERU8pCisgICAgICAgIHZpcnR1YWwgdm9pZCBtZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFu
Z2VkKGNvbnN0IFdlYkNvcmU6OkludFNpemUmKSBvdmVycmlkZTsKKyNlbmRpZgogCiAgICAgICAg
IFVJRGVsZWdhdGUmIG1fdWlEZWxlZ2F0ZTsKICAgICB9OwpAQCAtMTAzLDYgKzEwNiw5IEBAIHBy
aXZhdGU6CiAgICAgICAgIGJvb2wgd2ViVmlld0FjdGlvbnNGb3JFbGVtZW50RGVmYXVsdEFjdGlv
bnMgOiAxOwogICAgICAgICBib29sIHdlYlZpZXdEaWROb3RIYW5kbGVUYXBBc0NsaWNrQXRQb2lu
dCA6IDE7CiAjZW5kaWYKKyNpZiBFTkFCTEUoVklERU8pCisgICAgICAgIGJvb2wgd2ViVmlld01l
ZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQgOiAxOworI2VuZGlmCiAgICAgfSBtX2RlbGVn
YXRlTWV0aG9kczsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9D
b2NvYS9VSURlbGVnYXRlLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1VJRGVs
ZWdhdGUubW0KaW5kZXggNTdlMGFkYzAwZGEyMDU5NzkzOGY2ZmJiNGU1MThlMjg3NGQzZWE2Yy4u
ZWM5NTc1MGJmMDc4ZTAwNmQzYzEwMjE3MTdmNDcyZWFmOTdkZGE5MCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0KKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0KQEAgLTg1LDYgKzg1LDkgQEAgdm9p
ZCBVSURlbGVnYXRlOjpzZXREZWxlZ2F0ZShpZCA8V0tVSURlbGVnYXRlPiBkZWxlZ2F0ZSkKICAg
ICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3QWN0aW9uc0ZvckVsZW1lbnREZWZhdWx0QWN0aW9u
cyA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OmFjdGlv
bnNGb3JFbGVtZW50OmRlZmF1bHRBY3Rpb25zOildOwogICAgIG1fZGVsZWdhdGVNZXRob2RzLndl
YlZpZXdEaWROb3RIYW5kbGVUYXBBc0NsaWNrQXRQb2ludCA9IFtkZWxlZ2F0ZSByZXNwb25kc1Rv
U2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OmRpZE5vdEhhbmRsZVRhcEFzQ2xpY2tBdFBvaW50
OildOwogI2VuZGlmCisjaWYgRU5BQkxFKFZJREVPKQorICAgIG1fZGVsZWdhdGVNZXRob2RzLndl
YlZpZXdNZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkID0gW2RlbGVnYXRlIHJlc3BvbmRz
VG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6bWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hh
bmdlZDopXTsKKyNlbmRpZgogfQogCiBVSURlbGVnYXRlOjpVSUNsaWVudDo6VUlDbGllbnQoVUlE
ZWxlZ2F0ZSYgdWlEZWxlZ2F0ZSkKQEAgLTMzOCw2ICszNDEsMjAgQEAgdm9pZCBVSURlbGVnYXRl
OjpVSUNsaWVudDo6ZGlkTm90SGFuZGxlVGFwQXNDbGljayhjb25zdCBXZWJDb3JlOjpJbnRQb2lu
dCYgcG9pbnQKIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKFZJREVPKQordm9pZCBVSURlbGVnYXRl
OjpVSUNsaWVudDo6bWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZChjb25zdCBXZWJDb3Jl
OjpJbnRTaXplJiBuZXdTaXplKQoreworICAgIGlmICghbV91aURlbGVnYXRlLm1fZGVsZWdhdGVN
ZXRob2RzLndlYlZpZXdNZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBhdXRvIGRlbGVnYXRlID0gbV91aURlbGVnYXRlLm1fZGVsZWdhdGUuZ2V0
KCk7CisgICAgaWYgKCFkZWxlZ2F0ZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgW3N0YXRpY19j
YXN0PGlkIDxXS1VJRGVsZWdhdGVQcml2YXRlPj4oZGVsZWdhdGUpIF93ZWJWaWV3Om1fdWlEZWxl
Z2F0ZS5tX3dlYlZpZXcgbWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZDpuZXdTaXplXTsK
K30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIFdLX0FQSV9F
TkFCTEVECmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5o
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAppbmRleCA1ZGMzZTUwZjFi
NGE1NjQxZWE2MzYxZjdhOTg1ZDIxNWY5MzM5NmM0Li4zMzFkOWJhODljOThiYTcxNGFjNWIxMThh
M2YwZTM4MDVhMmEzYmM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFn
ZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKQEAg
LTMyNiw2ICszMjYsMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgV2ViQ29yZTo6V2ViTWVkaWFT
ZXNzaW9uTWFuYWdlciYgbWVkaWFTZXNzaW9uTWFuYWdlcigpID0gMDsKICNlbmRpZgogCisjaWYg
RU5BQkxFKFZJREVPKQorICAgIHZpcnR1YWwgdm9pZCBtZWRpYURvY3VtZW50TmF0dXJhbFNpemVD
aGFuZ2VkKGNvbnN0IFdlYkNvcmU6OkludFNpemUmKSA9IDA7CisjZW5kaWYKKwogICAgIHZpcnR1
YWwgdm9pZCByZWZWaWV3KCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkZXJlZlZpZXcoKSA9IDA7
CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHku
Y3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwCmluZGV4IDY5
MjhhZmJjNzAyYzcwYmRmMDk3NjNkNzNlMDZlNjJjYjNjYTM0MjEuLjUxNzgwNDNiNTQ4MTk4YWJk
ODlmYTIyZThlNTQ2M2VjNmQ3NjRjMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJGcmFtZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
RnJhbWVQcm94eS5jcHAKQEAgLTExMCw2ICsxMTAsMTEgQEAgYm9vbCBXZWJGcmFtZVByb3h5Ojpp
c0Rpc3BsYXlpbmdTdGFuZGFsb25lSW1hZ2VEb2N1bWVudCgpIGNvbnN0CiAgICAgcmV0dXJuIElt
YWdlOjpzdXBwb3J0c1R5cGUobV9NSU1FVHlwZSk7CiB9CiAKK2Jvb2wgV2ViRnJhbWVQcm94eTo6
aXNEaXNwbGF5aW5nU3RhbmRhbG9uZU1lZGlhRG9jdW1lbnQoKSBjb25zdAoreworICAgIHJldHVy
biBNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBvcnRlZE1lZGlhTUlNRVR5cGUobV9NSU1FVHlwZSk7
Cit9CisKIGJvb2wgV2ViRnJhbWVQcm94eTo6aXNEaXNwbGF5aW5nTWFya3VwRG9jdW1lbnQoKSBj
b25zdAogewogICAgIC8vIEZJWE1FOiBUaGlzIGNoZWNrIHNob3VsZCBiZSBtb3ZlZCB0byBzb21l
d2hlcmUgaW4gV2ViQ29yZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJGcmFtZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5o
CmluZGV4IDg3M2FjMjY0YjkyNjlmYmUyM2E4MTRmNjNmZjAxNTYyOWY3YTI5NTQuLmFkYWZiNjg3
ZDM0ZWZiOGQ4ZWQyNjhlMzM0OTdmNTcyMDQ3MmRmMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYkZyYW1lUHJveHkuaApAQCAtOTcsNiArOTcsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBj
YW5TaG93TUlNRVR5cGUoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSkgY29uc3Q7CiAKICAgICBib29s
IGlzRGlzcGxheWluZ1N0YW5kYWxvbmVJbWFnZURvY3VtZW50KCkgY29uc3Q7CisgICAgYm9vbCBp
c0Rpc3BsYXlpbmdTdGFuZGFsb25lTWVkaWFEb2N1bWVudCgpIGNvbnN0OwogICAgIGJvb2wgaXNE
aXNwbGF5aW5nTWFya3VwRG9jdW1lbnQoKSBjb25zdDsKICAgICBib29sIGlzRGlzcGxheWluZ1BE
RkRvY3VtZW50KCkgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHAKaW5kZXggZmJmMmQ5NGYyMWM3ZGM5NGZhZmEwN2M0MWEwNTY2NzE2MTk5MmI4Yy4uNWUw
NjliM2Y4ZjkzOTI1YTgzZDcxNzQzYWNmYzY4MDc3ODc4ZThkOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTM5ODIsNiArMzk4MiwyMCBAQCBSZWZQdHI8
V2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5PiBXZWJQYWdlUHJveHk6OnZpZGVvRnVsbHNj
cmVlbk1hbmFnZXIoKQogewogICAgIHJldHVybiBtX3ZpZGVvRnVsbHNjcmVlbk1hbmFnZXI7CiB9
CisKK2Jvb2wgV2ViUGFnZVByb3h5OjphbGxvd01lZGlhRG9jdW1lbnRJbmxpbmVQbGF5YmFjaygp
IGNvbnN0Cit7CisgICAgcmV0dXJuIG1fYWxsb3dNZWRpYURvY3VtZW50SW5saW5lUGxheWJhY2s7
Cit9CisKK3ZvaWQgV2ViUGFnZVByb3h5OjpzZXRBbGxvd01lZGlhRG9jdW1lbnRJbmxpbmVQbGF5
YmFjayhib29sIGZsYWcpCit7CisgICAgaWYgKG1fYWxsb3dNZWRpYURvY3VtZW50SW5saW5lUGxh
eWJhY2sgPT0gZmxhZykKKyAgICAgICAgcmV0dXJuOworICAgIG1fYWxsb3dNZWRpYURvY3VtZW50
SW5saW5lUGxheWJhY2sgPSBmbGFnOworCisgICAgbV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpX
ZWJQYWdlOjpTZXRBbGxvd01lZGlhRG9jdW1lbnRJbmxpbmVQbGF5YmFjayhmbGFnKSwgbV9wYWdl
SUQpOworfQogI2VuZGlmCiAKIC8vIEJhY2tGb3J3YXJkTGlzdApAQCAtNTk5Niw2ICs2MDEwLDEz
IEBAIHZvaWQgV2ViUGFnZVByb3h5OjppbnN0YWxsVmlld1N0YXRlQ2hhbmdlQ29tcGxldGlvbkhh
bmRsZXIodm9pZCAoXmNvbXBsZXRpb25IYW5kCiB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShWSURF
TykKK3ZvaWQgV2ViUGFnZVByb3h5OjptZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkKGNv
bnN0IFdlYkNvcmU6OkludFNpemUmIG5ld1NpemUpCit7CisgICAgbV91aUNsaWVudC0+bWVkaWFE
b2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZChuZXdTaXplKTsKK30KKyNlbmRpZgorCiB2b2lkIFdl
YlBhZ2VQcm94eTo6c2V0U2hvdWxkRGlzcGF0Y2hGYWtlTW91c2VNb3ZlRXZlbnRzKGJvb2wgc2hv
dWxkRGlzcGF0Y2hGYWtlTW91c2VNb3ZlRXZlbnRzKQogewogICAgIG1fcHJvY2Vzcy0+c2VuZChN
ZXNzYWdlczo6V2ViUGFnZTo6U2V0U2hvdWxkRGlzcGF0Y2hGYWtlTW91c2VNb3ZlRXZlbnRzKHNo
b3VsZERpc3BhdGNoRmFrZU1vdXNlTW92ZUV2ZW50cyksIG1fcGFnZUlEKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCBiZGNlN2NkOGUyMzg2MzZkNTM4ZWU4MWNk
ZDBiNzJlYjQ1YmE5MGRkLi5mODM2NGUyMzBjNzU2YThiMWI2MTVjZjY5M2QyYWMyZmJlZDIyNjMy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0zMzMsNiArMzMz
LDkgQEAgcHVibGljOgogI2VuZGlmCiAjaWYgUExBVEZPUk0oSU9TKQogICAgIFJlZlB0cjxXZWJW
aWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk+IHZpZGVvRnVsbHNjcmVlbk1hbmFnZXIoKTsKKwor
ICAgIGJvb2wgYWxsb3dNZWRpYURvY3VtZW50SW5saW5lUGxheWJhY2soKSBjb25zdDsKKyAgICB2
b2lkIHNldEFsbG93TWVkaWFEb2N1bWVudElubGluZVBsYXliYWNrKGJvb2wpOwogI2VuZGlmCiAK
ICNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKQEAgLTE0NzQsNiArMTQ3NywxMCBAQCBwcml2YXRl
OgogICAgIHZvaWQgdXNlRml4ZWRMYXlvdXREaWRDaGFuZ2UoYm9vbCB1c2VGaXhlZExheW91dCkg
eyBtX3VzZUZpeGVkTGF5b3V0ID0gdXNlRml4ZWRMYXlvdXQ7IH0KICAgICB2b2lkIGZpeGVkTGF5
b3V0U2l6ZURpZENoYW5nZShXZWJDb3JlOjpJbnRTaXplIGZpeGVkTGF5b3V0U2l6ZSkgeyBtX2Zp
eGVkTGF5b3V0U2l6ZSA9IGZpeGVkTGF5b3V0U2l6ZTsgfQogCisjaWYgRU5BQkxFKFZJREVPKQor
ICAgIHZvaWQgbWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpJ
bnRTaXplJik7CisjZW5kaWYKKwogICAgIHZvaWQgaGFuZGxlQXV0b0ZpbGxCdXR0b25DbGljayhj
b25zdCBVc2VyRGF0YSYpOwogCiAgICAgdm9pZCBoYW5kbGVNZXNzYWdlKElQQzo6Q29ubmVjdGlv
biYsIGNvbnN0IFN0cmluZyYgbWVzc2FnZU5hbWUsIGNvbnN0IFVzZXJEYXRhJiBtZXNzYWdlQm9k
eSk7CkBAIC0xNTc0LDYgKzE1ODEsNyBAQCBwcml2YXRlOgogICAgIFdlYkNvcmU6OlZpZXdTdGF0
ZTo6RmxhZ3MgbV92aWV3U3RhdGU7CiAgICAgYm9vbCBtX3ZpZXdXYXNFdmVySW5XaW5kb3c7CiAj
aWYgUExBVEZPUk0oSU9TKQorICAgIGJvb2wgbV9hbGxvd01lZGlhRG9jdW1lbnRJbmxpbmVQbGF5
YmFjayB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2Fsd2F5c1J1bnNBdEZvcmVncm91bmRQcmlvcml0
eTsKICAgICBQcm9jZXNzVGhyb3R0bGVyOjpGb3JlZ3JvdW5kQWN0aXZpdHlUb2tlbiBtX2FjdGl2
aXR5VG9rZW47CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDIzYzY0ZGY0NTg4Y2JjMDEyZmQyMDk1YWM0NTg0NjBl
ZDQ3N2UwNjEuLjNlMjVlNjgzODdhZTg0Y2FlYjY2NjM4MjE2YzI3ZTk2OGI1Yzc1NzAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4K
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpA
QCAtNDQ0LDYgKzQ0NCwxMCBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogICAgIFBsYXli
YWNrVGFyZ2V0UGlja2VyQ2xpZW50U3RhdGVEaWRDaGFuZ2UodWludDY0X3QgY29udGV4dElkLCB1
bnNpZ25lZCBtZWRpYVN0YXRlKQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoVklERU8pCisgICAgTWVk
aWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZChXZWJDb3JlOjpJbnRTaXplIG5ld1NpemUpCisj
ZW5kaWYKKwogICAgIFVzZUZpeGVkTGF5b3V0RGlkQ2hhbmdlKGJvb2wgdXNlRml4ZWRMYXlvdXQp
CiAgICAgRml4ZWRMYXlvdXRTaXplRGlkQ2hhbmdlKFdlYkNvcmU6OkludFNpemUgZml4ZWRMYXlv
dXRTaXplKQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdl
Q2xpZW50SW1wbElPUy5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50
SW1wbElPUy5oCmluZGV4IGNjNDBiNTZmNzk3NmM4Nzc4YmUwMjg2Mzk1Yjg5NjJlMWUyMWRkNzgu
LjE1ODVmMDUxN2EwZDc1Yzc5ZGQ5NTE5M2RkZjljYzM1OThmMDZjZmQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgKQEAgLTE4Niw2ICsx
ODYsMTAgQEAgcHJpdmF0ZToKIAogICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VCYWNrZ3JvdW5k
Q29sb3IoKSBvdmVycmlkZTsKIAorI2lmIEVOQUJMRShWSURFTykKKyAgICB2aXJ0dWFsIHZvaWQg
bWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpJbnRTaXplJikg
b3ZlcnJpZGU7CisjZW5kaWYKKwogICAgIHZpcnR1YWwgdm9pZCByZWZWaWV3KCkgb3ZlcnJpZGU7
CiAgICAgdmlydHVhbCB2b2lkIGRlcmVmVmlldygpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQppbmRleCBhMDgxNmM0
NWNhMTZmODAwMTIzNmQ0ZjFmMGYzMTcxMmRjODZhMWYxLi43NTY5ZmJjYjIzYTkwMGNjYzFhODJm
ZDZiYjMwZjM3OTQ5YjgwZDQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
aW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9p
b3MvUGFnZUNsaWVudEltcGxJT1MubW0KQEAgLTczOSw2ICs3MzksMTQgQEAgdm9pZCBQYWdlQ2xp
ZW50SW1wbDo6ZGlkQ2hhbmdlQmFja2dyb3VuZENvbG9yKCkKICAgICBbbV93ZWJWaWV3IF91cGRh
dGVTY3JvbGxWaWV3QmFja2dyb3VuZF07CiB9CiAKKyNpZiBFTkFCTEUoVklERU8pCit2b2lkIFBh
Z2VDbGllbnRJbXBsOjptZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkKGNvbnN0IEludFNp
emUmIG5ld1NpemUpCit7CisgICAgW21fd2ViVmlldyBfbWVkaWFEb2N1bWVudE5hdHVyYWxTaXpl
Q2hhbmdlZDpuZXdTaXplXTsKK30KKyNlbmRpZgorCisKIHZvaWQgUGFnZUNsaWVudEltcGw6OnJl
ZlZpZXcoKQogewogICAgIFttX2NvbnRlbnRWaWV3IHJldGFpbl07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLmggYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLmgKaW5kZXggYWJlMzk0Yjc2ZjRiZGI4N2Q4
NTU2ODU2OTkzNDMyZWNjNTExYmJmNy4uYzY5ZWVhNjRjMWU2ZWJjMDc3ZjU4MjVjZDZkYzMzMzRh
YzIwODJkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xp
ZW50SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudElt
cGwuaApAQCAtMjAzLDYgKzIwMywxMCBAQCBwcml2YXRlOgogCiAgICAgdmlydHVhbCB2b2lkIGRp
ZENoYW5nZUJhY2tncm91bmRDb2xvcigpIG92ZXJyaWRlOwogCisjaWYgRU5BQkxFKFZJREVPKQor
ICAgIHZpcnR1YWwgdm9pZCBtZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkKGNvbnN0IFdl
YkNvcmU6OkludFNpemUmKSBvdmVycmlkZTsKKyNlbmRpZgorCiAgICAgV0tWaWV3ICptX3drVmll
dzsKICAgICBXS1dlYlZpZXcgKm1fd2ViVmlldzsKICAgICBSZXRhaW5QdHI8V0tFZGl0b3JVbmRv
VGFyZ2V0T2JqQz4gbV91bmRvVGFyZ2V0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9t
YWMvUGFnZUNsaWVudEltcGwubW0KaW5kZXggODFkMGIxYjAwNDZjNDVmYWRkMzkxNzVhMGRjYzc4
ZTBiMDRhZjJkYy4uMTM5NTJkYTkxMjk0YmJkNjZjMDE4MTE3Y2Y3OWI3OTY5ZTBjYTgwOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tCkBAIC04
MzYsNiArODM2LDEzIEBAIFdlYkNvcmU6OldlYk1lZGlhU2Vzc2lvbk1hbmFnZXImIFBhZ2VDbGll
bnRJbXBsOjptZWRpYVNlc3Npb25NYW5hZ2VyKCkKIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKFZJ
REVPKQordm9pZCBQYWdlQ2xpZW50SW1wbDo6bWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdl
ZChjb25zdCBJbnRTaXplJiBuZXdTaXplKQoreworICAgIFttX3drVmlldyBfbWVkaWFEb2N1bWVu
dE5hdHVyYWxTaXplQ2hhbmdlZDpuZXdTaXplXTsKK30KKyNlbmRpZgorCiB2b2lkIFBhZ2VDbGll
bnRJbXBsOjpyZWZWaWV3KCkKIHsKICAgICBDRlJldGFpbihtX3drVmlldyk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuaAppbmRleCAxNjUzZGZjMTAwNmZlNGU5ODMyODY2MjA5YWMwMDJiOGM4N2RlMmNmLi44
YWY0OWIxNGRhOWIwMTk0YzI4ODIzOGMzOTYyNGEzOTNkNjVlNWFiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50LmgKQEAgLTMyMyw2ICszMjMsMTAgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgcGxh
eWJhY2tUYXJnZXRQaWNrZXJDbGllbnRTdGF0ZURpZENoYW5nZSh1aW50NjRfdCwgV2ViQ29yZTo6
TWVkaWFQcm9kdWNlcjo6TWVkaWFTdGF0ZUZsYWdzKSBvdmVycmlkZTsKICNlbmRpZgogCisjaWYg
RU5BQkxFKFZJREVPKQorICAgIHZpcnR1YWwgdm9pZCBtZWRpYURvY3VtZW50TmF0dXJhbFNpemVD
aGFuZ2VkKGNvbnN0IFdlYkNvcmU6OkludFNpemUmKSBvdmVycmlkZTsKKyNlbmRpZgorCiAgICAg
U3RyaW5nIG1fY2FjaGVkVG9vbFRpcDsKICAgICBtdXRhYmxlIFJlZlB0cjxXZWJGcmFtZT4gbV9j
YWNoZWRGcmFtZVNldExhcmdlc3RGcmFtZTsKICAgICBtdXRhYmxlIGJvb2wgbV9jYWNoZWRNYWlu
RnJhbWVIYXNIb3Jpem9udGFsU2Nyb2xsYmFyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9pb3MvV2ViQ2hyb21lQ2xpZW50SU9TLm1tIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9pb3MvV2ViQ2hyb21lQ2xpZW50
SU9TLm1tCmluZGV4IGEyNTU5MWVjZGFjNzNiZjA3MDIyMTAxYjA4YTVlNmM5YzY2ZTBmMTYuLmM1
MjU4OGNlOTc3YTZkNzIyZGQ0ZDczNjkyNjE2YjZmODBiMTg3YTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvaW9zL1dlYkNocm9tZUNsaWVudElP
Uy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2lvcy9X
ZWJDaHJvbWVDbGllbnRJT1MubW0KQEAgLTE0Niw2ICsxNDYsMTMgQEAgaW50IFdlYkNocm9tZUNs
aWVudDo6ZGV2aWNlT3JpZW50YXRpb24oKSBjb25zdAogICAgIHJldHVybiBtX3BhZ2UtPmRldmlj
ZU9yaWVudGF0aW9uKCk7CiB9CiAKKyNpZiBFTkFCTEUoVklERU8pCit2b2lkIFdlYkNocm9tZUNs
aWVudDo6bWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpJbnRT
aXplJiBuZXdTaXplKQoreworICAgIG1fcGFnZS0+bWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hh
bmdlZChuZXdTaXplKTsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2Vu
ZGlmIC8vIFBMQVRGT1JNKElPUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcAppbmRleCA3OTY5YmEyOWRkNmY2MWE5YjI5NmIxN2JlNDNlZDM2OTRlZDlj
MjEyLi4yNDFmZjIxN2FlNzcxODljMGI1NGExZDdhMDFlMTk0ZGNiNGE3OGUwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0zMDA3LDYgKzMw
MDcsMTEgQEAgV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlciogV2ViUGFnZTo6dmlkZW9GdWxsc2Ny
ZWVuTWFuYWdlcigpCiAgICAgICAgIG1fdmlkZW9GdWxsc2NyZWVuTWFuYWdlciA9IFdlYlZpZGVv
RnVsbHNjcmVlbk1hbmFnZXI6OmNyZWF0ZSh0aGlzKTsKICAgICByZXR1cm4gbV92aWRlb0Z1bGxz
Y3JlZW5NYW5hZ2VyLmdldCgpOwogfQorCit2b2lkIFdlYlBhZ2U6OnNldEFsbG93TWVkaWFEb2N1
bWVudElubGluZVBsYXliYWNrKGJvb2wgZmxhZykKK3sKKyAgICBtX3BhZ2UtPnNldEFsbG93TWVk
aWFEb2N1bWVudElubGluZVBsYXliYWNrKGZsYWcpOworfQogI2VuZGlmCiAKICNpZiBFTkFCTEUo
RlVMTFNDUkVFTl9BUEkpCkBAIC01MDIzLDQgKzUwMjgsMTEgQEAgdm9pZCBXZWJQYWdlOjpzZXRV
c2VyQ29udGVudEV4dGVuc2lvbnNFbmFibGVkKGJvb2wgdXNlckNvbnRlbnRFeHRlbnNpb25zRW5h
YmxlZCkKICAgICBtX3BhZ2UtPnNldFVzZXJDb250ZW50RXh0ZW5zaW9uc0VuYWJsZWQodXNlckNv
bnRlbnRFeHRlbnNpb25zRW5hYmxlZCk7CiB9CiAKKyNpZiBFTkFCTEUoVklERU8pCit2b2lkIFdl
YlBhZ2U6Om1lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQoY29uc3QgSW50U2l6ZSYgbmV3
U2l6ZSkKK3sKKyAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6Ok1lZGlhRG9jdW1lbnRO
YXR1cmFsU2l6ZUNoYW5nZWQobmV3U2l6ZSkpOworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNl
IFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5k
ZXggMDVlZWQ4YjdjM2NjNDIxOWMwNDU4NzE0YTZiYjk5MjM3Zjg0MjEwNS4uNjliNTQ2YWNiYWZm
NTk3ZDA5ODhhZDQ4YzZhNTNlNWM2MzVkN2ViMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC0yMzYsNiArMjM2LDggQEAgcHVibGljOgogCiAjaWYg
UExBVEZPUk0oSU9TKQogICAgIFdlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXIqIHZpZGVvRnVsbHNj
cmVlbk1hbmFnZXIoKTsKKyAgICB2b2lkIHNldEFsbG93TWVkaWFEb2N1bWVudElubGluZVBsYXli
YWNrKGJvb2wpOworICAgIGJvb2wgYWxsb3dNZWRpYURvY3VtZW50SW5saW5lUGxheWJhY2soKSBj
b25zdCB7IHJldHVybiBtX2FsbG93TWVkaWFEb2N1bWVudElubGluZVBsYXliYWNrOyB9CiAjZW5k
aWYKIAogI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKQEAgLTkwMCw2ICs5MDIsMTAgQEAgcHVi
bGljOgogICAgIHZvaWQgc2V0SW5wdXRNZXRob2RTdGF0ZShib29sKTsKICNlbmRpZgogCisjaWYg
RU5BQkxFKFZJREVPKQorICAgIHZvaWQgbWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZChj
b25zdCBXZWJDb3JlOjpJbnRTaXplJik7CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICBXZWJQYWdl
KHVpbnQ2NF90IHBhZ2VJRCwgY29uc3QgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYpOwogCkBA
IC0xMjU4LDYgKzEyNjQsNyBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxXZWJJbnNwZWN0b3JVST4g
bV9pbnNwZWN0b3JVSTsKICNpZiBQTEFURk9STShJT1MpCiAgICAgUmVmUHRyPFdlYlZpZGVvRnVs
bHNjcmVlbk1hbmFnZXI+IG1fdmlkZW9GdWxsc2NyZWVuTWFuYWdlcjsKKyAgICBib29sIG1fYWxs
b3dNZWRpYURvY3VtZW50SW5saW5lUGxheWJhY2sgeyBmYWxzZSB9OwogI2VuZGlmCiAjaWYgRU5B
QkxFKEZVTExTQ1JFRU5fQVBJKQogICAgIFJlZlB0cjxXZWJGdWxsU2NyZWVuTWFuYWdlcj4gbV9m
dWxsU2NyZWVuTWFuYWdlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KaW5kZXggMzE2NDhlZDFhZmQ2NWZjNTI0ZjZlNDg4
MThhMjY5YWE3MGM2MjNhMS4uMjZiOTkxYmMwODE3OTcwZTMyOGY0NzYyM2I1ZmQwMGRkYThjYmY5
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
bWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UubWVzc2FnZXMuaW4KQEAgLTk1LDYgKzk1LDcgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZSBMZWdh
Y3lSZWNlaXZlciB7CiAgICAgQ29udGVudFNpemVDYXRlZ29yeURpZENoYW5nZShTdHJpbmcgY29u
dGVudFNpemVDYXRlZ29yeSkKICAgICBFeGVjdXRlRWRpdENvbW1hbmRXaXRoQ2FsbGJhY2soU3Ry
aW5nIG5hbWUsIHVpbnQ2NF90IGNhbGxiYWNrSUQpCiAgICAgR2V0TG9va3VwQ29udGV4dEF0UG9p
bnQoV2ViQ29yZTo6SW50UG9pbnQgcG9pbnQsIHVpbnQ2NF90IGNhbGxiYWNrSUQpCisgICAgU2V0
QWxsb3dNZWRpYURvY3VtZW50SW5saW5lUGxheWJhY2soYm9vbCBmbGFnKQogI2VuZGlmCiAKICNp
ZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257365</attachid>
            <date>2015-07-23 12:43:50 -0700</date>
            <delta_ts>2015-07-23 12:52:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147182-20150723124234.patch</filename>
            <type>text/plain</type>
            <size>21734</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3MDI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDAyZmRiZGNmYWNjMzNi
MjAwOGQ3YmRkNjlkNTI5NDM3M2EwZTRjZC4uY2I2YTdkNGQwOTc0YTkwYmQzMjlhZTM0MDRlNTlj
ZDg0YjMzYTE4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIzIEBACiAyMDE1LTA3LTIxICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCisgICAgICAgIE5vdGlmeSB0aGUgVUkgZGVs
ZWdhdGUgd2hlbiBhIE1lZGlhRG9jdW1lbnQncyBuYXR1cmFsIHNpemUgY2hhbmdlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ3MTgyCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm90aWZ5IHRoZSBNZWRp
YURvY3VtZW50IHRoYXQgaXQncyB1bmRlcmx5aW5nIG1lZGlhIGVsZW1lbnQgaGFzIGNoYW5nZWQg
aXRzIG5hdHVyYWwgc2l6ZSwgZWl0aGVyIHdoZW4KKyAgICAgICAgdGhlIG1lZGlhIGVuZ2luZSBu
b3RpZmllcyB1cyB0aGF0IHRoZSBzaXplIGNoYW5nZWQsIG9yIHdoZW4gdGhlIHJlYWR5IHN0YXRl
IHByb2dyZXNzZXMgdG8gSEFWRV9NRVRBREFUQS4KKworICAgICAgICAqIGh0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpzZXRSZWFk
eVN0YXRlKTogTm90aWZ5IHRoZSBtZWRpYSBkb2N1bWVudC4KKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyU2l6ZUNoYW5nZWQpOiBEaXR0by4KKyAgICAgICAg
KiBodG1sL01lZGlhRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFEb2N1bWVu
dDo6bWVkaWFFbGVtZW50TmF0dXJhbFNpemVDaGFuZ2VkKTogUGFzcyB0byB0aGUgY2hyb21lIGNs
aWVudC4KKyAgICAgICAgKiBodG1sL01lZGlhRG9jdW1lbnQuaDoKKyAgICAgICAgKiBwYWdlL0No
cm9tZUNsaWVudC5oOgorCisyMDE1LTA3LTIxICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUu
Y29tPgorCiAgICAgICAgIFtpT1NdIEFkZCBhbiBleHBsaWNpdCBBUEkgdG8gYWxsb3cgbWVkaWEg
ZG9jdW1lbnRzIHRvICh0ZW1wb3JhcmlseSkgcGxheSBpbmxpbmUKICAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NzE4MQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMWMy
YTczNTE4MzVkZGIwZjFjYTg1ODVmZjMyZWUwYjc3YTkxN2I1ZC4uNzdjMDc4ZWM5MTViYTg3YzQ0
MTc3MTMwMDA1MjM1ZGI1ODkwOTlmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ1IEBACiAyMDE1
LTA3LTIxICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCisgICAgICAgIE5vdGlm
eSB0aGUgVUkgZGVsZWdhdGUgd2hlbiBhIE1lZGlhRG9jdW1lbnQncyBuYXR1cmFsIHNpemUgY2hh
bmdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ3
MTgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGlw
ZSBub3RpZmljYXRpb25zIG9mIG1lZGlhIGRvY3VtZW50IG5hdHVyYWwgc2l6ZSBjaGFuZ2VzIHVw
IGZyb20gdGhlIGNocm9tZSBjbGllbnQsIHRocm91Z2gKKyAgICAgICAgdG8gdGhlIFVJUHJvY2Vz
cywgIHRocm91Z2ggdGhlIHBhZ2UgY2xpZW50LCB0aHJvdWdoIHRoZSBXS1dlYlZpZXcsIHRvIHRo
ZSBVSURlbGVnYXRlLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5oOgor
ICAgICAgICAoQVBJOjpVSUNsaWVudDo6bWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZCk6
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgtW1dL
V2ViVmlldyBfbWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZDpdKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0ludGVybmFsLmg6CisgICAgICAgICogVUlQcm9j
ZXNzL0NvY29hL1VJRGVsZWdhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVUlEZWxl
Z2F0ZS5tbToKKyAgICAgICAgKFdlYktpdDo6VUlEZWxlZ2F0ZTo6c2V0RGVsZWdhdGUpOgorICAg
ICAgICAoV2ViS2l0OjpVSURlbGVnYXRlOjpVSUNsaWVudDo6bWVkaWFEb2N1bWVudE5hdHVyYWxT
aXplQ2hhbmdlZCk6CisgICAgICAgICogVUlQcm9jZXNzL1BhZ2VDbGllbnQuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVBy
b3h5OjptZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNz
YWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbToKKyAgICAgICAgKFdl
YktpdDo6UGFnZUNsaWVudEltcGw6Om1lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50
SW1wbDo6bWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZCk6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L2lvcy9XZWJDaHJvbWVDbGllbnRJT1MubW06CisgICAgICAgIChX
ZWJLaXQ6OldlYkNocm9tZUNsaWVudDo6bWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZCk6
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlOjptZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkKToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
Z3RrL1BhZ2VDbGllbnRJbXBsLmg6IEFkZCBkZWZhdWx0LCBlbXB0eSBpbXBsZW1lbnRhdGlvbiBv
ZiBuZXcgcHVyZS12aXJ0dWFsIG1ldGhvZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL1dlYlZp
ZXdFZmwuaDogRGl0dG8uCisKKzIwMTUtMDctMjEgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBs
ZS5jb20+CisKICAgICAgICAgW2lPU10gQWRkIGFuIGV4cGxpY2l0IEFQSSB0byBhbGxvdyBtZWRp
YSBkb2N1bWVudHMgdG8gKHRlbXBvcmFyaWx5KSBwbGF5IGlubGluZQogICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ3MTgxCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IGY2YjFjMzE2MDA5OThkNTUyNjZlOGQ5MGIy
MDJiZmNlYjIwYzliMzkuLjRhNzM2NGYxM2E2YWNiODgzZWM4MjlhZjBmYzYzNGI0MzZjMDBlMjgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtMjExNiw2ICsy
MTE2LDkgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzZXRSZWFkeVN0YXRlKE1lZGlhUGxheWVy
OjpSZWFkeVN0YXRlIHN0YXRlKQogICAgICAgICBpZiAocmVuZGVyZXIoKSkKICAgICAgICAgICAg
IHJlbmRlcmVyKCktPnVwZGF0ZUZyb21FbGVtZW50KCk7CiAKKyAgICAgICAgaWYgKGlzPE1lZGlh
RG9jdW1lbnQ+KGRvY3VtZW50KCkpKQorICAgICAgICAgICAgZG93bmNhc3Q8TWVkaWFEb2N1bWVu
dD4oZG9jdW1lbnQoKSkubWVkaWFFbGVtZW50TmF0dXJhbFNpemVDaGFuZ2VkKGV4cGFuZGVkSW50
U2l6ZShtX3BsYXllci0+bmF0dXJhbFNpemUoKSkpOworCiAgICAgICAgIGxvZ01lZGlhTG9hZFJl
cXVlc3QoZG9jdW1lbnQoKS5wYWdlKCksIG1fcGxheWVyLT5lbmdpbmVEZXNjcmlwdGlvbigpLCBT
dHJpbmcoKSwgdHJ1ZSk7CiAgICAgfQogCkBAIC00Mzg3LDYgKzQzOTAsOSBAQCB2b2lkIEhUTUxN
ZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyU2l6ZUNoYW5nZWQoTWVkaWFQbGF5ZXIqKQogewogICAg
IExPRyhNZWRpYSwgIkhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyU2l6ZUNoYW5nZWQoJXAp
IiwgdGhpcyk7CiAKKyAgICBpZiAoaXM8TWVkaWFEb2N1bWVudD4oZG9jdW1lbnQoKSkgJiYgbV9w
bGF5ZXIpCisgICAgICAgIGRvd25jYXN0PE1lZGlhRG9jdW1lbnQ+KGRvY3VtZW50KCkpLm1lZGlh
RWxlbWVudE5hdHVyYWxTaXplQ2hhbmdlZChleHBhbmRlZEludFNpemUobV9wbGF5ZXItPm5hdHVy
YWxTaXplKCkpKTsKKwogICAgIGJlZ2luUHJvY2Vzc2luZ01lZGlhUGxheWVyQ2FsbGJhY2soKTsK
ICAgICBpZiAocmVuZGVyZXIoKSkKICAgICAgICAgcmVuZGVyZXIoKS0+dXBkYXRlRnJvbUVsZW1l
bnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFEb2N1bWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRG9jdW1lbnQuY3BwCmluZGV4IGVmZTFiMWZlMzUy
OWIwNzM5ZmI1ODAxNTNkMWY4MDZjOGMyMTZiZmUuLjJlODEwM2U0OGJkNzhhN2I5MjZmNDhlMjAz
Y2Q1YTAwNDlhZDc1ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFEb2N1
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYURvY3VtZW50LmNwcApAQCAt
MjgsNiArMjgsOCBAQAogI2lmIEVOQUJMRShWSURFTykKICNpbmNsdWRlICJNZWRpYURvY3VtZW50
LmgiCiAKKyNpbmNsdWRlICJDaHJvbWUuaCIKKyNpbmNsdWRlICJDaHJvbWVDbGllbnQuaCIKICNp
bmNsdWRlICJEb2N1bWVudExvYWRlci5oIgogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNs
dWRlICJFeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuaCIKQEAgLTI1OSw1ICsyNjEsMTcgQEAgdm9p
ZCBNZWRpYURvY3VtZW50OjpyZXBsYWNlTWVkaWFFbGVtZW50VGltZXJGaXJlZCgpCiAgICAgfQog
fQogCit2b2lkIE1lZGlhRG9jdW1lbnQ6Om1lZGlhRWxlbWVudE5hdHVyYWxTaXplQ2hhbmdlZChj
b25zdCBJbnRTaXplJiBuZXdTaXplKQoreworICAgIGlmIChvd25lckVsZW1lbnQoKSkKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaWYgKG5ld1NpemUuaXNaZXJvKCkpCisgICAgICAgIHJldHVybjsK
KworICAgIGlmIChwYWdlKCkpCisgICAgICAgIHBhZ2UoKS0+Y2hyb21lKCkuY2xpZW50KCkubWVk
aWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZChuZXdTaXplKTsKK30KKwogfQogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRG9jdW1lbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvTWVkaWFEb2N1bWVudC5oCmluZGV4IDFjY2E3ODViYzAzZWQ1YjEzMzU4M2Fl
YjAxZjMwZWZkMjFmZTg2YWYuLmJhNjkxODczYTA5YmE1OGUyYjU1Y2RkNWVkMjIxNTg0NmMzNDNh
NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFEb2N1bWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFEb2N1bWVudC5oCkBAIC00MSw2ICs0MSw3IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIH5NZWRpYURvY3VtZW50KCk7CiAKICAgICB2b2lkIG1lZGlhRWxl
bWVudFNhd1Vuc3VwcG9ydGVkVHJhY2tzKCk7CisgICAgdm9pZCBtZWRpYUVsZW1lbnROYXR1cmFs
U2l6ZUNoYW5nZWQoY29uc3QgSW50U2l6ZSYpOwogICAgIFN0cmluZyBvdXRnb2luZ1JlZmVycmVy
KCkgY29uc3QgeyByZXR1cm4gbV9vdXRnb2luZ1JlZmVycmVyOyB9CiAKIHByaXZhdGU6CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9DaHJvbWVDbGllbnQuaAppbmRleCA0ZjgxNDNkMmIxZmUxY2YzMzljNDhmNmU2Nzcz
MTI4MjAxOGU0MDliLi41ZmMxMTZlMDRlZDU3YzZlZmRjYzVlOTY4NTFkNWRlZjhkNjVlOGQyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKQEAgLTQ0OSw2ICs0NDksMTAgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgdm9pZCBwbGF5YmFja1RhcmdldFBpY2tlckNsaWVudFN0YXRlRGlkQ2hh
bmdlKHVpbnQ2NF90IC8qY29udGV4dElkKi8sIE1lZGlhUHJvZHVjZXI6Ok1lZGlhU3RhdGVGbGFn
cykgeyB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShWSURFTykKKyAgICB2aXJ0dWFsIHZvaWQgbWVk
aWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpJbnRTaXplJikgeyB9
CisjZW5kaWYKKwogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgfkNocm9tZUNsaWVudCgpIHsgfQog
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQu
aCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaAppbmRleCBkNjJm
MmRhNmRmMTljODY5ZTk3NDE5YTMxY2NmNmIyOWVmMDc1YmQ3Li4wMzQxMzQ1NTczMjJhYWM4MzU1
ZjhkMDJmZGNlNWEzMzFlNzA3ODRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0FQSVVJQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9B
UElVSUNsaWVudC5oCkBAIC0xNjcsNiArMTY3LDEwIEBAIHB1YmxpYzoKICNlbmRpZgogCiAgICAg
dmlydHVhbCB2b2lkIGRpZENsaWNrQXV0b0ZpbGxCdXR0b24oV2ViS2l0OjpXZWJQYWdlUHJveHkm
LCBBUEk6Ok9iamVjdCopIHsgfQorCisjaWYgRU5BQkxFKFZJREVPKQorICAgIHZpcnR1YWwgdm9p
ZCBtZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkKGNvbnN0IFdlYkNvcmU6OkludFNpemUm
KSB7IH0KKyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgQVBJCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oCmlu
ZGV4IDkzOTJjM2I4OTQ2MzMwM2YzYWJkNWMzNmY5YmE5OWYzNWM4NmZmMWIuLjMxMjZhNTJhZDQ1
YTFkNGU5YjRhNTAxYTk2YWZiMzRjZDZlMGE2OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oCkBAIC02Niw2
ICs2Niw3IEBAIHN0cnVjdCBVSUVkZ2VJbnNldHM7CiAtICh2b2lkKV93ZWJWaWV3OihXS1dlYlZp
ZXcgKil3ZWJWaWV3IGRpZERpc21pc3NQcmV2aWV3Vmlld0NvbnRyb2xsZXI6KFVJVmlld0NvbnRy
b2xsZXIgKilwcmV2aWV3ZWRWaWV3Q29udHJvbGxlcjsKIC0gKFVJRWRnZUluc2V0cylfd2ViVmll
dzooV0tXZWJWaWV3ICopd2ViVmlldyBmaW5hbE9ic2N1cmVkSW5zZXRzRm9yU2Nyb2xsVmlldzoo
VUlTY3JvbGxWaWV3ICopc2Nyb2xsVmlldyB3aXRoVmVsb2NpdHk6KENHUG9pbnQpdmVsb2NpdHkg
dGFyZ2V0Q29udGVudE9mZnNldDooaW5vdXQgQ0dQb2ludCAqKXRhcmdldENvbnRlbnRPZmZzZXQ7
CiAtIChVSVZpZXdDb250cm9sbGVyICopX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgcHJl
dmlld1ZpZXdDb250cm9sbGVyRm9yVVJMOihOU1VSTCAqKXVybCBkZWZhdWx0QWN0aW9uczooTlNB
cnJheSAqKWFjdGlvbnMgZWxlbWVudEluZm86KF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZvICopZWxl
bWVudEluZm8gV0tfQVZBSUxBQkxFKFdLX01BQ19UQkEsIFdLX0lPU19UQkEpOworLSAodm9pZClf
d2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBtZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFu
Z2VkOihDR1NpemUpc2l6ZTsKICNlbmRpZgogCiBAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCmluZGV4IGYwMDZmODRlNmU0MWVkYTMxNjEw
MDViMDlhNTFlMWNiNmM1MDZjNDcuLjczYjY4MDI5NmM5ZmE1Y2Y0MjQ1MDA1YmM4YzAzNGVjNjlk
ZTBjYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3Lm1tCkBAIC0xODY3LDYgKzE4NjcsMTUgQEAgc3RhdGljIFdlYkNvcmU6OkZsb2F0UG9pbnQg
Y29uc3RyYWluQ29udGVudE9mZnNldChXZWJDb3JlOjpGbG9hdFBvaW50IGNvbnRlbnRPZmYKIH0K
ICNlbmRpZiAvLyBQTEFURk9STShNQUMpCiAKKyNpZiBFTkFCTEUoVklERU8pCistICh2b2lkKV9t
ZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkOihOU1NpemUpbmV3U2l6ZQoreworICAgIGlk
IDxXS1VJRGVsZWdhdGVQcml2YXRlPiB1aURlbGVnYXRlID0gc3RhdGljX2Nhc3Q8aWQgPFdLVUlE
ZWxlZ2F0ZVByaXZhdGU+Pihbc2VsZiBVSURlbGVnYXRlXSk7CisgICAgaWYgKFt1aURlbGVnYXRl
IHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6bWVkaWFEb2N1bWVudE5hdHVy
YWxTaXplQ2hhbmdlZDopXSkKKyAgICAgICAgW3VpRGVsZWdhdGUgX3dlYlZpZXc6c2VsZiBtZWRp
YURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkOm5ld1NpemVdOworfQorI2VuZGlmCisKIEBlbmQK
IAogQGltcGxlbWVudGF0aW9uIFdLV2ViVmlldyAoV0tQcml2YXRlKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdJbnRlcm5hbC5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdJbnRlcm5hbC5oCmluZGV4
IGQyZGVmMjNmZDUyMDlkNDk5NDBhYWI0YWVlODk1ODA1M2Y0MmQ0ODIuLjNhN2E2MmQwNDIxNjEx
ZGEzNDExM2FiMDYzZWU1YTM0M2IyMGVhNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3SW50ZXJuYWwuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0ludGVybmFsLmgKQEAgLTExNiw2ICsxMTYs
MTAgQEAgc3RydWN0IFByaW50SW5mbzsKIAogLSAoV0tQYWdlUmVmKV9wYWdlRm9yVGVzdGluZzsK
IAorI2lmIEVOQUJMRShWSURFTykKKy0gKHZvaWQpX21lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNo
YW5nZWQ6KENHU2l6ZSluZXdTaXplOworI2VuZGlmCisKIEBlbmQKIAogV0tXZWJWaWV3KiBmcm9t
V2ViUGFnZVByb3h5KFdlYktpdDo6V2ViUGFnZVByb3h5Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5oIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuaAppbmRleCAxY2JmMzQ4NWVlMTNm
ZDFjMzBmNzhmNDQ0Njc5ZDlkY2VjNmU2YTk2Li4wOTk3NjY4Mzg5NTY4NGMzZjEwODc3ZGRlZWY5
OWFmMmU2MzNkNTBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0
ay9QYWdlQ2xpZW50SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3Rr
L1BhZ2VDbGllbnRJbXBsLmgKQEAgLTEzNSw2ICsxMzUsMTAgQEAgcHJpdmF0ZToKIAogICAgIHZp
cnR1YWwgdm9pZCBkaWRDaGFuZ2VCYWNrZ3JvdW5kQ29sb3IoKSBvdmVycmlkZTsKIAorI2lmIEVO
QUJMRShWSURFTykKKyAgICB2aXJ0dWFsIHZvaWQgbWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hh
bmdlZChjb25zdCBXZWJDb3JlOjpJbnRTaXplJikgb3ZlcnJpZGUgeyB9CisjZW5kaWYKKwogICAg
IHZpcnR1YWwgdm9pZCByZWZWaWV3KCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIGRlcmVm
VmlldygpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
Q29jb2EvVUlEZWxlZ2F0ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1VJRGVs
ZWdhdGUuaAppbmRleCBmZTFkZDk2Njc0ZTYyOGM0YTEyMzk1ZjZhNDU1YzFhNjM4ZmY5YjgxLi43
ZTcxZGJhODc1MDJkMTY5ZTU1MjJkNjBmZjE0NGZmNjRkM2Y4OWVhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLmgKQEAgLTc2LDYgKzc2LDkgQEAgcHJpdmF0
ZToKICAgICAgICAgdmlydHVhbCBSZXRhaW5QdHI8TlNBcnJheT4gYWN0aW9uc0ZvckVsZW1lbnQo
X1dLQWN0aXZhdGVkRWxlbWVudEluZm8gKiwgUmV0YWluUHRyPE5TQXJyYXk+IGRlZmF1bHRBY3Rp
b25zKSBvdmVycmlkZTsKICAgICAgICAgdmlydHVhbCB2b2lkIGRpZE5vdEhhbmRsZVRhcEFzQ2xp
Y2soY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmKSBvdmVycmlkZTsKICNlbmRpZgorI2lmIEVOQUJM
RShWSURFTykKKyAgICAgICAgdmlydHVhbCB2b2lkIG1lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNo
YW5nZWQoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpIG92ZXJyaWRlOworI2VuZGlmCiAKICAgICAg
ICAgVUlEZWxlZ2F0ZSYgbV91aURlbGVnYXRlOwogICAgIH07CkBAIC0xMDMsNiArMTA2LDkgQEAg
cHJpdmF0ZToKICAgICAgICAgYm9vbCB3ZWJWaWV3QWN0aW9uc0ZvckVsZW1lbnREZWZhdWx0QWN0
aW9ucyA6IDE7CiAgICAgICAgIGJvb2wgd2ViVmlld0RpZE5vdEhhbmRsZVRhcEFzQ2xpY2tBdFBv
aW50IDogMTsKICNlbmRpZgorI2lmIEVOQUJMRShWSURFTykKKyAgICAgICAgYm9vbCB3ZWJWaWV3
TWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZCA6IDE7CisjZW5kaWYKICAgICB9IG1fZGVs
ZWdhdGVNZXRob2RzOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0NvY29hL1VJRGVsZWdhdGUubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVUlE
ZWxlZ2F0ZS5tbQppbmRleCA1N2UwYWRjMDBkYTIwNTk3OTM4ZjZmYmI0ZTUxOGUyODc0ZDNlYTZj
Li5lYzk1NzUwYmYwNzhlMDA2ZDNjMTAyMTcxN2Y0NzJlYWY5N2RkYTkwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbQpAQCAtODUsNiArODUsOSBAQCB2
b2lkIFVJRGVsZWdhdGU6OnNldERlbGVnYXRlKGlkIDxXS1VJRGVsZWdhdGU+IGRlbGVnYXRlKQog
ICAgIG1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdBY3Rpb25zRm9yRWxlbWVudERlZmF1bHRBY3Rp
b25zID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6YWN0
aW9uc0ZvckVsZW1lbnQ6ZGVmYXVsdEFjdGlvbnM6KV07CiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMu
d2ViVmlld0RpZE5vdEhhbmRsZVRhcEFzQ2xpY2tBdFBvaW50ID0gW2RlbGVnYXRlIHJlc3BvbmRz
VG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6ZGlkTm90SGFuZGxlVGFwQXNDbGlja0F0UG9p
bnQ6KV07CiAjZW5kaWYKKyNpZiBFTkFCTEUoVklERU8pCisgICAgbV9kZWxlZ2F0ZU1ldGhvZHMu
d2ViVmlld01lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQgPSBbZGVsZWdhdGUgcmVzcG9u
ZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzptZWRpYURvY3VtZW50TmF0dXJhbFNpemVD
aGFuZ2VkOildOworI2VuZGlmCiB9CiAKIFVJRGVsZWdhdGU6OlVJQ2xpZW50OjpVSUNsaWVudChV
SURlbGVnYXRlJiB1aURlbGVnYXRlKQpAQCAtMzM4LDYgKzM0MSwyMCBAQCB2b2lkIFVJRGVsZWdh
dGU6OlVJQ2xpZW50OjpkaWROb3RIYW5kbGVUYXBBc0NsaWNrKGNvbnN0IFdlYkNvcmU6OkludFBv
aW50JiBwb2ludAogfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoVklERU8pCit2b2lkIFVJRGVsZWdh
dGU6OlVJQ2xpZW50OjptZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkKGNvbnN0IFdlYkNv
cmU6OkludFNpemUmIG5ld1NpemUpCit7CisgICAgaWYgKCFtX3VpRGVsZWdhdGUubV9kZWxlZ2F0
ZU1ldGhvZHMud2ViVmlld01lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQpCisgICAgICAg
IHJldHVybjsKKworICAgIGF1dG8gZGVsZWdhdGUgPSBtX3VpRGVsZWdhdGUubV9kZWxlZ2F0ZS5n
ZXQoKTsKKyAgICBpZiAoIWRlbGVnYXRlKQorICAgICAgICByZXR1cm47CisKKyAgICBbc3RhdGlj
X2Nhc3Q8aWQgPFdLVUlEZWxlZ2F0ZVByaXZhdGU+PihkZWxlZ2F0ZSkgX3dlYlZpZXc6bV91aURl
bGVnYXRlLm1fd2ViVmlldyBtZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkOm5ld1NpemVd
OworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8gV0tfQVBJ
X0VOQUJMRUQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50
LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCmluZGV4IDVkYzNlNTBm
MWI0YTU2NDFlYTYzNjFmN2E5ODVkMjE1ZjkzMzk2YzQuLjMzMWQ5YmE4OWM5OGJhNzE0YWM1YjEx
OGEzZjBlMzgwNWEyYTNiYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Q
YWdlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaApA
QCAtMzI2LDYgKzMyNiwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBXZWJDb3JlOjpXZWJNZWRp
YVNlc3Npb25NYW5hZ2VyJiBtZWRpYVNlc3Npb25NYW5hZ2VyKCkgPSAwOwogI2VuZGlmCiAKKyNp
ZiBFTkFCTEUoVklERU8pCisgICAgdmlydHVhbCB2b2lkIG1lZGlhRG9jdW1lbnROYXR1cmFsU2l6
ZUNoYW5nZWQoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpID0gMDsKKyNlbmRpZgorCiAgICAgdmly
dHVhbCB2b2lkIHJlZlZpZXcoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRlcmVmVmlldygpID0g
MDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDUx
MGQwYTM0MDE2NTU4YmI3NTU5NzQzMTE5OGY5NGQyNWExNjY1MzkuLjI5ZTk1MzE5MDA5OGJlN2Q2
ZDQ4MmI5MzBjMzEzZGY1OGYxY2I3MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwCkBAIC02MDEwLDYgKzYwMTAsMTMgQEAgdm9pZCBXZWJQYWdlUHJveHk6Omlu
c3RhbGxWaWV3U3RhdGVDaGFuZ2VDb21wbGV0aW9uSGFuZGxlcih2b2lkICheY29tcGxldGlvbkhh
bmQKIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKFZJREVPKQordm9pZCBXZWJQYWdlUHJveHk6Om1l
ZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgbmV3
U2l6ZSkKK3sKKyAgICBtX3VpQ2xpZW50LT5tZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2Vk
KG5ld1NpemUpOworfQorI2VuZGlmCisKIHZvaWQgV2ViUGFnZVByb3h5OjpzZXRTaG91bGREaXNw
YXRjaEZha2VNb3VzZU1vdmVFdmVudHMoYm9vbCBzaG91bGREaXNwYXRjaEZha2VNb3VzZU1vdmVF
dmVudHMpCiB7CiAgICAgbV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpTZXRTaG91
bGREaXNwYXRjaEZha2VNb3VzZU1vdmVFdmVudHMoc2hvdWxkRGlzcGF0Y2hGYWtlTW91c2VNb3Zl
RXZlbnRzKSwgbV9wYWdlSUQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5o
CmluZGV4IDlmZjRmYzc0YWQyYmI2ZmQ4ZmM0YmI0OGM5OWJlMDdmM2M3MGQzNGYuLjBiOGE2MDE1
ZjE0MjI4ZTllMDQzYjk0M2MyMWJjODBhZWYxNDliYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmgKQEAgLTE0NzcsNiArMTQ3NywxMCBAQCBwcml2YXRlOgogICAgIHZv
aWQgdXNlRml4ZWRMYXlvdXREaWRDaGFuZ2UoYm9vbCB1c2VGaXhlZExheW91dCkgeyBtX3VzZUZp
eGVkTGF5b3V0ID0gdXNlRml4ZWRMYXlvdXQ7IH0KICAgICB2b2lkIGZpeGVkTGF5b3V0U2l6ZURp
ZENoYW5nZShXZWJDb3JlOjpJbnRTaXplIGZpeGVkTGF5b3V0U2l6ZSkgeyBtX2ZpeGVkTGF5b3V0
U2l6ZSA9IGZpeGVkTGF5b3V0U2l6ZTsgfQogCisjaWYgRU5BQkxFKFZJREVPKQorICAgIHZvaWQg
bWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpJbnRTaXplJik7
CisjZW5kaWYKKwogICAgIHZvaWQgaGFuZGxlQXV0b0ZpbGxCdXR0b25DbGljayhjb25zdCBVc2Vy
RGF0YSYpOwogCiAgICAgdm9pZCBoYW5kbGVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIGNvbnN0
IFN0cmluZyYgbWVzc2FnZU5hbWUsIGNvbnN0IFVzZXJEYXRhJiBtZXNzYWdlQm9keSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmlu
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRl
eCAyM2M2NGRmNDU4OGNiYzAxMmZkMjA5NWFjNDU4NDYwZWQ0NzdlMDYxLi4zZTI1ZTY4Mzg3YWU4
NGNhZWI2NjYzODIxNmMyN2U5NjhiNWM3NTcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAgLTQ0NCw2ICs0NDQsMTAgQEAgbWVz
c2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICBQbGF5YmFja1RhcmdldFBpY2tlckNsaWVudFN0
YXRlRGlkQ2hhbmdlKHVpbnQ2NF90IGNvbnRleHRJZCwgdW5zaWduZWQgbWVkaWFTdGF0ZSkKICNl
bmRpZgogCisjaWYgRU5BQkxFKFZJREVPKQorICAgIE1lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNo
YW5nZWQoV2ViQ29yZTo6SW50U2l6ZSBuZXdTaXplKQorI2VuZGlmCisKICAgICBVc2VGaXhlZExh
eW91dERpZENoYW5nZShib29sIHVzZUZpeGVkTGF5b3V0KQogICAgIEZpeGVkTGF5b3V0U2l6ZURp
ZENoYW5nZShXZWJDb3JlOjpJbnRTaXplIGZpeGVkTGF5b3V0U2l6ZSkKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViVmlld0VmbC5oIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL2VmbC9XZWJWaWV3RWZsLmgKaW5kZXggYTBjYWYxMDNjNWZiYjMyZTViZGYx
ZmNiMzYwNDUwMmExYWEwZTE0Yi4uMzYyMjI0NzllMmY5ZDA2YTEwM2UzNTE5OGI2MzA2NzA4YjUy
NDVkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJWaWV3RWZs
LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJWaWV3RWZsLmgKQEAgLTkw
LDYgKzkwLDEwIEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGRpZEZpbmlzaExvYWRGb3JN
YWluRnJhbWUoKSBvdmVycmlkZSBmaW5hbCB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkU2FtZURv
Y3VtZW50TmF2aWdhdGlvbkZvck1haW5GcmFtZShTYW1lRG9jdW1lbnROYXZpZ2F0aW9uVHlwZSkg
b3ZlcnJpZGUgZmluYWwgeyB9CiAKKyNpZiBFTkFCTEUoVklERU8pCisgICAgdmlydHVhbCB2b2lk
IG1lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYp
IG92ZXJyaWRlIGZpbmFsIHsgfQorI2VuZGlmCisKICAgICB2aXJ0dWFsIHZvaWQgcmVmVmlldygp
IG92ZXJyaWRlIGZpbmFsIHsgfQogICAgIHZpcnR1YWwgdm9pZCBkZXJlZlZpZXcoKSBvdmVycmlk
ZSBmaW5hbCB7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9Q
YWdlQ2xpZW50SW1wbElPUy5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xp
ZW50SW1wbElPUy5oCmluZGV4IGNjNDBiNTZmNzk3NmM4Nzc4YmUwMjg2Mzk1Yjg5NjJlMWUyMWRk
NzguLjE1ODVmMDUxN2EwZDc1Yzc5ZGQ5NTE5M2RkZjljYzM1OThmMDZjZmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgKQEAgLTE4Niw2
ICsxODYsMTAgQEAgcHJpdmF0ZToKIAogICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VCYWNrZ3Jv
dW5kQ29sb3IoKSBvdmVycmlkZTsKIAorI2lmIEVOQUJMRShWSURFTykKKyAgICB2aXJ0dWFsIHZv
aWQgbWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpJbnRTaXpl
Jikgb3ZlcnJpZGU7CisjZW5kaWYKKwogICAgIHZpcnR1YWwgdm9pZCByZWZWaWV3KCkgb3ZlcnJp
ZGU7CiAgICAgdmlydHVhbCB2b2lkIGRlcmVmVmlldygpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQppbmRleCBhMDgx
NmM0NWNhMTZmODAwMTIzNmQ0ZjFmMGYzMTcxMmRjODZhMWYxLi43NTY5ZmJjYjIzYTkwMGNjYzFh
ODJmZDZiYjMwZjM3OTQ5YjgwZDQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KQEAgLTczOSw2ICs3MzksMTQgQEAgdm9pZCBQYWdl
Q2xpZW50SW1wbDo6ZGlkQ2hhbmdlQmFja2dyb3VuZENvbG9yKCkKICAgICBbbV93ZWJWaWV3IF91
cGRhdGVTY3JvbGxWaWV3QmFja2dyb3VuZF07CiB9CiAKKyNpZiBFTkFCTEUoVklERU8pCit2b2lk
IFBhZ2VDbGllbnRJbXBsOjptZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkKGNvbnN0IElu
dFNpemUmIG5ld1NpemUpCit7CisgICAgW21fd2ViVmlldyBfbWVkaWFEb2N1bWVudE5hdHVyYWxT
aXplQ2hhbmdlZDpuZXdTaXplXTsKK30KKyNlbmRpZgorCisKIHZvaWQgUGFnZUNsaWVudEltcGw6
OnJlZlZpZXcoKQogewogICAgIFttX2NvbnRlbnRWaWV3IHJldGFpbl07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLmgKaW5kZXggYWJlMzk0Yjc2ZjRiZGI4
N2Q4NTU2ODU2OTkzNDMyZWNjNTExYmJmNy4uYzY5ZWVhNjRjMWU2ZWJjMDc3ZjU4MjVjZDZkYzMz
MzRhYzIwODJkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdl
Q2xpZW50SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVu
dEltcGwuaApAQCAtMjAzLDYgKzIwMywxMCBAQCBwcml2YXRlOgogCiAgICAgdmlydHVhbCB2b2lk
IGRpZENoYW5nZUJhY2tncm91bmRDb2xvcigpIG92ZXJyaWRlOwogCisjaWYgRU5BQkxFKFZJREVP
KQorICAgIHZpcnR1YWwgdm9pZCBtZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkKGNvbnN0
IFdlYkNvcmU6OkludFNpemUmKSBvdmVycmlkZTsKKyNlbmRpZgorCiAgICAgV0tWaWV3ICptX3dr
VmlldzsKICAgICBXS1dlYlZpZXcgKm1fd2ViVmlldzsKICAgICBSZXRhaW5QdHI8V0tFZGl0b3JV
bmRvVGFyZ2V0T2JqQz4gbV91bmRvVGFyZ2V0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9tYWMvUGFnZUNsaWVudEltcGwubW0KaW5kZXggODFkMGIxYjAwNDZjNDVmYWRkMzkxNzVhMGRj
Yzc4ZTBiMDRhZjJkYy4uMTM5NTJkYTkxMjk0YmJkNjZjMDE4MTE3Y2Y3OWI3OTY5ZTBjYTgwOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tCkBA
IC04MzYsNiArODM2LDEzIEBAIFdlYkNvcmU6OldlYk1lZGlhU2Vzc2lvbk1hbmFnZXImIFBhZ2VD
bGllbnRJbXBsOjptZWRpYVNlc3Npb25NYW5hZ2VyKCkKIH0KICNlbmRpZgogCisjaWYgRU5BQkxF
KFZJREVPKQordm9pZCBQYWdlQ2xpZW50SW1wbDo6bWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hh
bmdlZChjb25zdCBJbnRTaXplJiBuZXdTaXplKQoreworICAgIFttX3drVmlldyBfbWVkaWFEb2N1
bWVudE5hdHVyYWxTaXplQ2hhbmdlZDpuZXdTaXplXTsKK30KKyNlbmRpZgorCiB2b2lkIFBhZ2VD
bGllbnRJbXBsOjpyZWZWaWV3KCkKIHsKICAgICBDRlJldGFpbihtX3drVmlldyk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuaAppbmRleCAxNjUzZGZjMTAwNmZlNGU5ODMyODY2MjA5YWMwMDJiOGM4N2RlMmNm
Li44YWY0OWIxNGRhOWIwMTk0YzI4ODIzOGMzOTYyNGEzOTNkNjVlNWFiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50LmgKQEAgLTMyMyw2ICszMjMsMTAgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQg
cGxheWJhY2tUYXJnZXRQaWNrZXJDbGllbnRTdGF0ZURpZENoYW5nZSh1aW50NjRfdCwgV2ViQ29y
ZTo6TWVkaWFQcm9kdWNlcjo6TWVkaWFTdGF0ZUZsYWdzKSBvdmVycmlkZTsKICNlbmRpZgogCisj
aWYgRU5BQkxFKFZJREVPKQorICAgIHZpcnR1YWwgdm9pZCBtZWRpYURvY3VtZW50TmF0dXJhbFNp
emVDaGFuZ2VkKGNvbnN0IFdlYkNvcmU6OkludFNpemUmKSBvdmVycmlkZTsKKyNlbmRpZgorCiAg
ICAgU3RyaW5nIG1fY2FjaGVkVG9vbFRpcDsKICAgICBtdXRhYmxlIFJlZlB0cjxXZWJGcmFtZT4g
bV9jYWNoZWRGcmFtZVNldExhcmdlc3RGcmFtZTsKICAgICBtdXRhYmxlIGJvb2wgbV9jYWNoZWRN
YWluRnJhbWVIYXNIb3Jpem9udGFsU2Nyb2xsYmFyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9pb3MvV2ViQ2hyb21lQ2xpZW50SU9TLm1tIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9pb3MvV2ViQ2hyb21lQ2xp
ZW50SU9TLm1tCmluZGV4IGEyNTU5MWVjZGFjNzNiZjA3MDIyMTAxYjA4YTVlNmM5YzY2ZTBmMTYu
LmM1MjU4OGNlOTc3YTZkNzIyZGQ0ZDczNjkyNjE2YjZmODBiMTg3YTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvaW9zL1dlYkNocm9tZUNsaWVu
dElPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2lv
cy9XZWJDaHJvbWVDbGllbnRJT1MubW0KQEAgLTE0Niw2ICsxNDYsMTMgQEAgaW50IFdlYkNocm9t
ZUNsaWVudDo6ZGV2aWNlT3JpZW50YXRpb24oKSBjb25zdAogICAgIHJldHVybiBtX3BhZ2UtPmRl
dmljZU9yaWVudGF0aW9uKCk7CiB9CiAKKyNpZiBFTkFCTEUoVklERU8pCit2b2lkIFdlYkNocm9t
ZUNsaWVudDo6bWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpJ
bnRTaXplJiBuZXdTaXplKQoreworICAgIG1fcGFnZS0+bWVkaWFEb2N1bWVudE5hdHVyYWxTaXpl
Q2hhbmdlZChuZXdTaXplKTsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAog
I2VuZGlmIC8vIFBMQVRGT1JNKElPUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcAppbmRleCAwNDUyMDllYjE1NjEyOGNjZmEwZDQzNjQxNjkwNWFkODY1
ODgyMDcyLi4xNzI5Yzg2OTVjMzYxZjUxZGVmNmYyMDY0NTlmMjJlZDFjMTU2NDBmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC01MDI4LDQg
KzUwMjgsMTEgQEAgdm9pZCBXZWJQYWdlOjpzZXRVc2VyQ29udGVudEV4dGVuc2lvbnNFbmFibGVk
KGJvb2wgdXNlckNvbnRlbnRFeHRlbnNpb25zRW5hYmxlZCkKICAgICBtX3BhZ2UtPnNldFVzZXJD
b250ZW50RXh0ZW5zaW9uc0VuYWJsZWQodXNlckNvbnRlbnRFeHRlbnNpb25zRW5hYmxlZCk7CiB9
CiAKKyNpZiBFTkFCTEUoVklERU8pCit2b2lkIFdlYlBhZ2U6Om1lZGlhRG9jdW1lbnROYXR1cmFs
U2l6ZUNoYW5nZWQoY29uc3QgSW50U2l6ZSYgbmV3U2l6ZSkKK3sKKyAgICBzZW5kKE1lc3NhZ2Vz
OjpXZWJQYWdlUHJveHk6Ok1lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQobmV3U2l6ZSkp
OworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggN2U5MTg1MWUwYTgwNDc1ZWZkOGIwYjM0
NGFhOGNkYzE1MThkZWYwMy4uM2E2NGVhMTI5MTkwNzIzN2ZiMDhhNjk2MzAwYWRmYzA0NjZjZTc2
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC05
MDIsNiArOTAyLDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIHNldElucHV0TWV0aG9kU3RhdGUoYm9v
bCk7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShWSURFTykKKyAgICB2b2lkIG1lZGlhRG9jdW1lbnRO
YXR1cmFsU2l6ZUNoYW5nZWQoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpOworI2VuZGlmCisKIHBy
aXZhdGU6CiAgICAgV2ViUGFnZSh1aW50NjRfdCBwYWdlSUQsIGNvbnN0IFdlYlBhZ2VDcmVhdGlv
blBhcmFtZXRlcnMmKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257367</attachid>
            <date>2015-07-23 12:52:52 -0700</date>
            <delta_ts>2015-07-23 14:25:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147182-20150723125136.patch</filename>
            <type>text/plain</type>
            <size>21735</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3MDI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDAyZmRiZGNmYWNjMzNi
MjAwOGQ3YmRkNjlkNTI5NDM3M2EwZTRjZC4uY2I2YTdkNGQwOTc0YTkwYmQzMjlhZTM0MDRlNTlj
ZDg0YjMzYTE4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIzIEBACiAyMDE1LTA3LTIxICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCisgICAgICAgIE5vdGlmeSB0aGUgVUkgZGVs
ZWdhdGUgd2hlbiBhIE1lZGlhRG9jdW1lbnQncyBuYXR1cmFsIHNpemUgY2hhbmdlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ3MTgyCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm90aWZ5IHRoZSBNZWRp
YURvY3VtZW50IHRoYXQgaXQncyB1bmRlcmx5aW5nIG1lZGlhIGVsZW1lbnQgaGFzIGNoYW5nZWQg
aXRzIG5hdHVyYWwgc2l6ZSwgZWl0aGVyIHdoZW4KKyAgICAgICAgdGhlIG1lZGlhIGVuZ2luZSBu
b3RpZmllcyB1cyB0aGF0IHRoZSBzaXplIGNoYW5nZWQsIG9yIHdoZW4gdGhlIHJlYWR5IHN0YXRl
IHByb2dyZXNzZXMgdG8gSEFWRV9NRVRBREFUQS4KKworICAgICAgICAqIGh0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpzZXRSZWFk
eVN0YXRlKTogTm90aWZ5IHRoZSBtZWRpYSBkb2N1bWVudC4KKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyU2l6ZUNoYW5nZWQpOiBEaXR0by4KKyAgICAgICAg
KiBodG1sL01lZGlhRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFEb2N1bWVu
dDo6bWVkaWFFbGVtZW50TmF0dXJhbFNpemVDaGFuZ2VkKTogUGFzcyB0byB0aGUgY2hyb21lIGNs
aWVudC4KKyAgICAgICAgKiBodG1sL01lZGlhRG9jdW1lbnQuaDoKKyAgICAgICAgKiBwYWdlL0No
cm9tZUNsaWVudC5oOgorCisyMDE1LTA3LTIxICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUu
Y29tPgorCiAgICAgICAgIFtpT1NdIEFkZCBhbiBleHBsaWNpdCBBUEkgdG8gYWxsb3cgbWVkaWEg
ZG9jdW1lbnRzIHRvICh0ZW1wb3JhcmlseSkgcGxheSBpbmxpbmUKICAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NzE4MQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMWMy
YTczNTE4MzVkZGIwZjFjYTg1ODVmZjMyZWUwYjc3YTkxN2I1ZC4uNzdjMDc4ZWM5MTViYTg3YzQ0
MTc3MTMwMDA1MjM1ZGI1ODkwOTlmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ1IEBACiAyMDE1
LTA3LTIxICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCisgICAgICAgIE5vdGlm
eSB0aGUgVUkgZGVsZWdhdGUgd2hlbiBhIE1lZGlhRG9jdW1lbnQncyBuYXR1cmFsIHNpemUgY2hh
bmdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ3
MTgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGlw
ZSBub3RpZmljYXRpb25zIG9mIG1lZGlhIGRvY3VtZW50IG5hdHVyYWwgc2l6ZSBjaGFuZ2VzIHVw
IGZyb20gdGhlIGNocm9tZSBjbGllbnQsIHRocm91Z2gKKyAgICAgICAgdG8gdGhlIFVJUHJvY2Vz
cywgIHRocm91Z2ggdGhlIHBhZ2UgY2xpZW50LCB0aHJvdWdoIHRoZSBXS1dlYlZpZXcsIHRvIHRo
ZSBVSURlbGVnYXRlLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5oOgor
ICAgICAgICAoQVBJOjpVSUNsaWVudDo6bWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZCk6
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgtW1dL
V2ViVmlldyBfbWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZDpdKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0ludGVybmFsLmg6CisgICAgICAgICogVUlQcm9j
ZXNzL0NvY29hL1VJRGVsZWdhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVUlEZWxl
Z2F0ZS5tbToKKyAgICAgICAgKFdlYktpdDo6VUlEZWxlZ2F0ZTo6c2V0RGVsZWdhdGUpOgorICAg
ICAgICAoV2ViS2l0OjpVSURlbGVnYXRlOjpVSUNsaWVudDo6bWVkaWFEb2N1bWVudE5hdHVyYWxT
aXplQ2hhbmdlZCk6CisgICAgICAgICogVUlQcm9jZXNzL1BhZ2VDbGllbnQuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVBy
b3h5OjptZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNz
YWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbToKKyAgICAgICAgKFdl
YktpdDo6UGFnZUNsaWVudEltcGw6Om1lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50
SW1wbDo6bWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZCk6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L2lvcy9XZWJDaHJvbWVDbGllbnRJT1MubW06CisgICAgICAgIChX
ZWJLaXQ6OldlYkNocm9tZUNsaWVudDo6bWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZCk6
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlOjptZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkKToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
Z3RrL1BhZ2VDbGllbnRJbXBsLmg6IEFkZCBkZWZhdWx0LCBlbXB0eSBpbXBsZW1lbnRhdGlvbiBv
ZiBuZXcgcHVyZS12aXJ0dWFsIG1ldGhvZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL1dlYlZp
ZXdFZmwuaDogRGl0dG8uCisKKzIwMTUtMDctMjEgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBs
ZS5jb20+CisKICAgICAgICAgW2lPU10gQWRkIGFuIGV4cGxpY2l0IEFQSSB0byBhbGxvdyBtZWRp
YSBkb2N1bWVudHMgdG8gKHRlbXBvcmFyaWx5KSBwbGF5IGlubGluZQogICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ3MTgxCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IGY2YjFjMzE2MDA5OThkNTUyNjZlOGQ5MGIy
MDJiZmNlYjIwYzliMzkuLjRhNzM2NGYxM2E2YWNiODgzZWM4MjlhZjBmYzYzNGI0MzZjMDBlMjgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtMjExNiw2ICsy
MTE2LDkgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzZXRSZWFkeVN0YXRlKE1lZGlhUGxheWVy
OjpSZWFkeVN0YXRlIHN0YXRlKQogICAgICAgICBpZiAocmVuZGVyZXIoKSkKICAgICAgICAgICAg
IHJlbmRlcmVyKCktPnVwZGF0ZUZyb21FbGVtZW50KCk7CiAKKyAgICAgICAgaWYgKGlzPE1lZGlh
RG9jdW1lbnQ+KGRvY3VtZW50KCkpKQorICAgICAgICAgICAgZG93bmNhc3Q8TWVkaWFEb2N1bWVu
dD4oZG9jdW1lbnQoKSkubWVkaWFFbGVtZW50TmF0dXJhbFNpemVDaGFuZ2VkKGV4cGFuZGVkSW50
U2l6ZShtX3BsYXllci0+bmF0dXJhbFNpemUoKSkpOworCiAgICAgICAgIGxvZ01lZGlhTG9hZFJl
cXVlc3QoZG9jdW1lbnQoKS5wYWdlKCksIG1fcGxheWVyLT5lbmdpbmVEZXNjcmlwdGlvbigpLCBT
dHJpbmcoKSwgdHJ1ZSk7CiAgICAgfQogCkBAIC00Mzg3LDYgKzQzOTAsOSBAQCB2b2lkIEhUTUxN
ZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyU2l6ZUNoYW5nZWQoTWVkaWFQbGF5ZXIqKQogewogICAg
IExPRyhNZWRpYSwgIkhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyU2l6ZUNoYW5nZWQoJXAp
IiwgdGhpcyk7CiAKKyAgICBpZiAoaXM8TWVkaWFEb2N1bWVudD4oZG9jdW1lbnQoKSkgJiYgbV9w
bGF5ZXIpCisgICAgICAgIGRvd25jYXN0PE1lZGlhRG9jdW1lbnQ+KGRvY3VtZW50KCkpLm1lZGlh
RWxlbWVudE5hdHVyYWxTaXplQ2hhbmdlZChleHBhbmRlZEludFNpemUobV9wbGF5ZXItPm5hdHVy
YWxTaXplKCkpKTsKKwogICAgIGJlZ2luUHJvY2Vzc2luZ01lZGlhUGxheWVyQ2FsbGJhY2soKTsK
ICAgICBpZiAocmVuZGVyZXIoKSkKICAgICAgICAgcmVuZGVyZXIoKS0+dXBkYXRlRnJvbUVsZW1l
bnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFEb2N1bWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRG9jdW1lbnQuY3BwCmluZGV4IGVmZTFiMWZlMzUy
OWIwNzM5ZmI1ODAxNTNkMWY4MDZjOGMyMTZiZmUuLjJlODEwM2U0OGJkNzhhN2I5MjZmNDhlMjAz
Y2Q1YTAwNDlhZDc1ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFEb2N1
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYURvY3VtZW50LmNwcApAQCAt
MjgsNiArMjgsOCBAQAogI2lmIEVOQUJMRShWSURFTykKICNpbmNsdWRlICJNZWRpYURvY3VtZW50
LmgiCiAKKyNpbmNsdWRlICJDaHJvbWUuaCIKKyNpbmNsdWRlICJDaHJvbWVDbGllbnQuaCIKICNp
bmNsdWRlICJEb2N1bWVudExvYWRlci5oIgogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNs
dWRlICJFeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuaCIKQEAgLTI1OSw1ICsyNjEsMTcgQEAgdm9p
ZCBNZWRpYURvY3VtZW50OjpyZXBsYWNlTWVkaWFFbGVtZW50VGltZXJGaXJlZCgpCiAgICAgfQog
fQogCit2b2lkIE1lZGlhRG9jdW1lbnQ6Om1lZGlhRWxlbWVudE5hdHVyYWxTaXplQ2hhbmdlZChj
b25zdCBJbnRTaXplJiBuZXdTaXplKQoreworICAgIGlmIChvd25lckVsZW1lbnQoKSkKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaWYgKG5ld1NpemUuaXNaZXJvKCkpCisgICAgICAgIHJldHVybjsK
KworICAgIGlmIChwYWdlKCkpCisgICAgICAgIHBhZ2UoKS0+Y2hyb21lKCkuY2xpZW50KCkubWVk
aWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZChuZXdTaXplKTsKK30KKwogfQogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRG9jdW1lbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvTWVkaWFEb2N1bWVudC5oCmluZGV4IDFjY2E3ODViYzAzZWQ1YjEzMzU4M2Fl
YjAxZjMwZWZkMjFmZTg2YWYuLmJhNjkxODczYTA5YmE1OGUyYjU1Y2RkNWVkMjIxNTg0NmMzNDNh
NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFEb2N1bWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFEb2N1bWVudC5oCkBAIC00MSw2ICs0MSw3IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIH5NZWRpYURvY3VtZW50KCk7CiAKICAgICB2b2lkIG1lZGlhRWxl
bWVudFNhd1Vuc3VwcG9ydGVkVHJhY2tzKCk7CisgICAgdm9pZCBtZWRpYUVsZW1lbnROYXR1cmFs
U2l6ZUNoYW5nZWQoY29uc3QgSW50U2l6ZSYpOwogICAgIFN0cmluZyBvdXRnb2luZ1JlZmVycmVy
KCkgY29uc3QgeyByZXR1cm4gbV9vdXRnb2luZ1JlZmVycmVyOyB9CiAKIHByaXZhdGU6CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9DaHJvbWVDbGllbnQuaAppbmRleCA0ZjgxNDNkMmIxZmUxY2YzMzljNDhmNmU2Nzcz
MTI4MjAxOGU0MDliLi41ZmMxMTZlMDRlZDU3YzZlZmRjYzVlOTY4NTFkNWRlZjhkNjVlOGQyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKQEAgLTQ0OSw2ICs0NDksMTAgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgdm9pZCBwbGF5YmFja1RhcmdldFBpY2tlckNsaWVudFN0YXRlRGlkQ2hh
bmdlKHVpbnQ2NF90IC8qY29udGV4dElkKi8sIE1lZGlhUHJvZHVjZXI6Ok1lZGlhU3RhdGVGbGFn
cykgeyB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShWSURFTykKKyAgICB2aXJ0dWFsIHZvaWQgbWVk
aWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpJbnRTaXplJikgeyB9
CisjZW5kaWYKKwogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgfkNocm9tZUNsaWVudCgpIHsgfQog
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQu
aCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaAppbmRleCBkNjJm
MmRhNmRmMTljODY5ZTk3NDE5YTMxY2NmNmIyOWVmMDc1YmQ3Li4wMzQxMzQ1NTczMjJhYWM4MzU1
ZjhkMDJmZGNlNWEzMzFlNzA3ODRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0FQSVVJQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9B
UElVSUNsaWVudC5oCkBAIC0xNjcsNiArMTY3LDEwIEBAIHB1YmxpYzoKICNlbmRpZgogCiAgICAg
dmlydHVhbCB2b2lkIGRpZENsaWNrQXV0b0ZpbGxCdXR0b24oV2ViS2l0OjpXZWJQYWdlUHJveHkm
LCBBUEk6Ok9iamVjdCopIHsgfQorCisjaWYgRU5BQkxFKFZJREVPKQorICAgIHZpcnR1YWwgdm9p
ZCBtZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkKGNvbnN0IFdlYkNvcmU6OkludFNpemUm
KSB7IH0KKyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgQVBJCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oCmlu
ZGV4IDkzOTJjM2I4OTQ2MzMwM2YzYWJkNWMzNmY5YmE5OWYzNWM4NmZmMWIuLjMxMjZhNTJhZDQ1
YTFkNGU5YjRhNTAxYTk2YWZiMzRjZDZlMGE2OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oCkBAIC02Niw2
ICs2Niw3IEBAIHN0cnVjdCBVSUVkZ2VJbnNldHM7CiAtICh2b2lkKV93ZWJWaWV3OihXS1dlYlZp
ZXcgKil3ZWJWaWV3IGRpZERpc21pc3NQcmV2aWV3Vmlld0NvbnRyb2xsZXI6KFVJVmlld0NvbnRy
b2xsZXIgKilwcmV2aWV3ZWRWaWV3Q29udHJvbGxlcjsKIC0gKFVJRWRnZUluc2V0cylfd2ViVmll
dzooV0tXZWJWaWV3ICopd2ViVmlldyBmaW5hbE9ic2N1cmVkSW5zZXRzRm9yU2Nyb2xsVmlldzoo
VUlTY3JvbGxWaWV3ICopc2Nyb2xsVmlldyB3aXRoVmVsb2NpdHk6KENHUG9pbnQpdmVsb2NpdHkg
dGFyZ2V0Q29udGVudE9mZnNldDooaW5vdXQgQ0dQb2ludCAqKXRhcmdldENvbnRlbnRPZmZzZXQ7
CiAtIChVSVZpZXdDb250cm9sbGVyICopX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgcHJl
dmlld1ZpZXdDb250cm9sbGVyRm9yVVJMOihOU1VSTCAqKXVybCBkZWZhdWx0QWN0aW9uczooTlNB
cnJheSAqKWFjdGlvbnMgZWxlbWVudEluZm86KF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZvICopZWxl
bWVudEluZm8gV0tfQVZBSUxBQkxFKFdLX01BQ19UQkEsIFdLX0lPU19UQkEpOworLSAodm9pZClf
d2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBtZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFu
Z2VkOihDR1NpemUpc2l6ZTsKICNlbmRpZgogCiBAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCmluZGV4IGYwMDZmODRlNmU0MWVkYTMxNjEw
MDViMDlhNTFlMWNiNmM1MDZjNDcuLjczYjY4MDI5NmM5ZmE1Y2Y0MjQ1MDA1YmM4YzAzNGVjNjlk
ZTBjYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3Lm1tCkBAIC0xODY3LDYgKzE4NjcsMTUgQEAgc3RhdGljIFdlYkNvcmU6OkZsb2F0UG9pbnQg
Y29uc3RyYWluQ29udGVudE9mZnNldChXZWJDb3JlOjpGbG9hdFBvaW50IGNvbnRlbnRPZmYKIH0K
ICNlbmRpZiAvLyBQTEFURk9STShNQUMpCiAKKyNpZiBFTkFCTEUoVklERU8pCistICh2b2lkKV9t
ZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkOihOU1NpemUpbmV3U2l6ZQoreworICAgIGlk
IDxXS1VJRGVsZWdhdGVQcml2YXRlPiB1aURlbGVnYXRlID0gc3RhdGljX2Nhc3Q8aWQgPFdLVUlE
ZWxlZ2F0ZVByaXZhdGU+Pihbc2VsZiBVSURlbGVnYXRlXSk7CisgICAgaWYgKFt1aURlbGVnYXRl
IHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6bWVkaWFEb2N1bWVudE5hdHVy
YWxTaXplQ2hhbmdlZDopXSkKKyAgICAgICAgW3VpRGVsZWdhdGUgX3dlYlZpZXc6c2VsZiBtZWRp
YURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkOm5ld1NpemVdOworfQorI2VuZGlmCisKIEBlbmQK
IAogQGltcGxlbWVudGF0aW9uIFdLV2ViVmlldyAoV0tQcml2YXRlKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdJbnRlcm5hbC5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdJbnRlcm5hbC5oCmluZGV4
IGQyZGVmMjNmZDUyMDlkNDk5NDBhYWI0YWVlODk1ODA1M2Y0MmQ0ODIuLjNhN2E2MmQwNDIxNjEx
ZGEzNDExM2FiMDYzZWU1YTM0M2IyMGVhNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3SW50ZXJuYWwuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0ludGVybmFsLmgKQEAgLTExNiw2ICsxMTYs
MTAgQEAgc3RydWN0IFByaW50SW5mbzsKIAogLSAoV0tQYWdlUmVmKV9wYWdlRm9yVGVzdGluZzsK
IAorI2lmIEVOQUJMRShWSURFTykKKy0gKHZvaWQpX21lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNo
YW5nZWQ6KENHU2l6ZSluZXdTaXplOworI2VuZGlmCisKIEBlbmQKIAogV0tXZWJWaWV3KiBmcm9t
V2ViUGFnZVByb3h5KFdlYktpdDo6V2ViUGFnZVByb3h5Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5oIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuaAppbmRleCAxY2JmMzQ4NWVlMTNm
ZDFjMzBmNzhmNDQ0Njc5ZDlkY2VjNmU2YTk2Li4wOTk3NjY4Mzg5NTY4NGMzZjEwODc3ZGRlZWY5
OWFmMmU2MzNkNTBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0
ay9QYWdlQ2xpZW50SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3Rr
L1BhZ2VDbGllbnRJbXBsLmgKQEAgLTEzNSw2ICsxMzUsMTAgQEAgcHJpdmF0ZToKIAogICAgIHZp
cnR1YWwgdm9pZCBkaWRDaGFuZ2VCYWNrZ3JvdW5kQ29sb3IoKSBvdmVycmlkZTsKIAorI2lmIEVO
QUJMRShWSURFTykKKyAgICB2aXJ0dWFsIHZvaWQgbWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hh
bmdlZChjb25zdCBXZWJDb3JlOjpJbnRTaXplJikgb3ZlcnJpZGUgeyB9CisjZW5kaWYKKwogICAg
IHZpcnR1YWwgdm9pZCByZWZWaWV3KCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIGRlcmVm
VmlldygpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
Q29jb2EvVUlEZWxlZ2F0ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1VJRGVs
ZWdhdGUuaAppbmRleCBmZTFkZDk2Njc0ZTYyOGM0YTEyMzk1ZjZhNDU1YzFhNjM4ZmY5YjgxLi43
ZTcxZGJhODc1MDJkMTY5ZTU1MjJkNjBmZjE0NGZmNjRkM2Y4OWVhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLmgKQEAgLTc2LDYgKzc2LDkgQEAgcHJpdmF0
ZToKICAgICAgICAgdmlydHVhbCBSZXRhaW5QdHI8TlNBcnJheT4gYWN0aW9uc0ZvckVsZW1lbnQo
X1dLQWN0aXZhdGVkRWxlbWVudEluZm8gKiwgUmV0YWluUHRyPE5TQXJyYXk+IGRlZmF1bHRBY3Rp
b25zKSBvdmVycmlkZTsKICAgICAgICAgdmlydHVhbCB2b2lkIGRpZE5vdEhhbmRsZVRhcEFzQ2xp
Y2soY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmKSBvdmVycmlkZTsKICNlbmRpZgorI2lmIEVOQUJM
RShWSURFTykKKyAgICAgICAgdmlydHVhbCB2b2lkIG1lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNo
YW5nZWQoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpIG92ZXJyaWRlOworI2VuZGlmCiAKICAgICAg
ICAgVUlEZWxlZ2F0ZSYgbV91aURlbGVnYXRlOwogICAgIH07CkBAIC0xMDMsNiArMTA2LDkgQEAg
cHJpdmF0ZToKICAgICAgICAgYm9vbCB3ZWJWaWV3QWN0aW9uc0ZvckVsZW1lbnREZWZhdWx0QWN0
aW9ucyA6IDE7CiAgICAgICAgIGJvb2wgd2ViVmlld0RpZE5vdEhhbmRsZVRhcEFzQ2xpY2tBdFBv
aW50IDogMTsKICNlbmRpZgorI2lmIEVOQUJMRShWSURFTykKKyAgICAgICAgYm9vbCB3ZWJWaWV3
TWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZCA6IDE7CisjZW5kaWYKICAgICB9IG1fZGVs
ZWdhdGVNZXRob2RzOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0NvY29hL1VJRGVsZWdhdGUubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVUlE
ZWxlZ2F0ZS5tbQppbmRleCA1N2UwYWRjMDBkYTIwNTk3OTM4ZjZmYmI0ZTUxOGUyODc0ZDNlYTZj
Li5lYzk1NzUwYmYwNzhlMDA2ZDNjMTAyMTcxN2Y0NzJlYWY5N2RkYTkwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbQpAQCAtODUsNiArODUsOSBAQCB2
b2lkIFVJRGVsZWdhdGU6OnNldERlbGVnYXRlKGlkIDxXS1VJRGVsZWdhdGU+IGRlbGVnYXRlKQog
ICAgIG1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdBY3Rpb25zRm9yRWxlbWVudERlZmF1bHRBY3Rp
b25zID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6YWN0
aW9uc0ZvckVsZW1lbnQ6ZGVmYXVsdEFjdGlvbnM6KV07CiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMu
d2ViVmlld0RpZE5vdEhhbmRsZVRhcEFzQ2xpY2tBdFBvaW50ID0gW2RlbGVnYXRlIHJlc3BvbmRz
VG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6ZGlkTm90SGFuZGxlVGFwQXNDbGlja0F0UG9p
bnQ6KV07CiAjZW5kaWYKKyNpZiBFTkFCTEUoVklERU8pCisgICAgbV9kZWxlZ2F0ZU1ldGhvZHMu
d2ViVmlld01lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQgPSBbZGVsZWdhdGUgcmVzcG9u
ZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzptZWRpYURvY3VtZW50TmF0dXJhbFNpemVD
aGFuZ2VkOildOworI2VuZGlmCiB9CiAKIFVJRGVsZWdhdGU6OlVJQ2xpZW50OjpVSUNsaWVudChV
SURlbGVnYXRlJiB1aURlbGVnYXRlKQpAQCAtMzM4LDYgKzM0MSwyMCBAQCB2b2lkIFVJRGVsZWdh
dGU6OlVJQ2xpZW50OjpkaWROb3RIYW5kbGVUYXBBc0NsaWNrKGNvbnN0IFdlYkNvcmU6OkludFBv
aW50JiBwb2ludAogfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoVklERU8pCit2b2lkIFVJRGVsZWdh
dGU6OlVJQ2xpZW50OjptZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkKGNvbnN0IFdlYkNv
cmU6OkludFNpemUmIG5ld1NpemUpCit7CisgICAgaWYgKCFtX3VpRGVsZWdhdGUubV9kZWxlZ2F0
ZU1ldGhvZHMud2ViVmlld01lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQpCisgICAgICAg
IHJldHVybjsKKworICAgIGF1dG8gZGVsZWdhdGUgPSBtX3VpRGVsZWdhdGUubV9kZWxlZ2F0ZS5n
ZXQoKTsKKyAgICBpZiAoIWRlbGVnYXRlKQorICAgICAgICByZXR1cm47CisKKyAgICBbc3RhdGlj
X2Nhc3Q8aWQgPFdLVUlEZWxlZ2F0ZVByaXZhdGU+PihkZWxlZ2F0ZSkgX3dlYlZpZXc6bV91aURl
bGVnYXRlLm1fd2ViVmlldyBtZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkOm5ld1NpemVd
OworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8gV0tfQVBJ
X0VOQUJMRUQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50
LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCmluZGV4IDVkYzNlNTBm
MWI0YTU2NDFlYTYzNjFmN2E5ODVkMjE1ZjkzMzk2YzQuLjMzMWQ5YmE4OWM5OGJhNzE0YWM1YjEx
OGEzZjBlMzgwNWEyYTNiYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Q
YWdlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaApA
QCAtMzI2LDYgKzMyNiwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBXZWJDb3JlOjpXZWJNZWRp
YVNlc3Npb25NYW5hZ2VyJiBtZWRpYVNlc3Npb25NYW5hZ2VyKCkgPSAwOwogI2VuZGlmCiAKKyNp
ZiBFTkFCTEUoVklERU8pCisgICAgdmlydHVhbCB2b2lkIG1lZGlhRG9jdW1lbnROYXR1cmFsU2l6
ZUNoYW5nZWQoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpID0gMDsKKyNlbmRpZgorCiAgICAgdmly
dHVhbCB2b2lkIHJlZlZpZXcoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRlcmVmVmlldygpID0g
MDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDUx
MGQwYTM0MDE2NTU4YmI3NTU5NzQzMTE5OGY5NGQyNWExNjY1MzkuLjI5ZTk1MzE5MDA5OGJlN2Q2
ZDQ4MmI5MzBjMzEzZGY1OGYxY2I3MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwCkBAIC02MDEwLDYgKzYwMTAsMTMgQEAgdm9pZCBXZWJQYWdlUHJveHk6Omlu
c3RhbGxWaWV3U3RhdGVDaGFuZ2VDb21wbGV0aW9uSGFuZGxlcih2b2lkICheY29tcGxldGlvbkhh
bmQKIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKFZJREVPKQordm9pZCBXZWJQYWdlUHJveHk6Om1l
ZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgbmV3
U2l6ZSkKK3sKKyAgICBtX3VpQ2xpZW50LT5tZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2Vk
KG5ld1NpemUpOworfQorI2VuZGlmCisKIHZvaWQgV2ViUGFnZVByb3h5OjpzZXRTaG91bGREaXNw
YXRjaEZha2VNb3VzZU1vdmVFdmVudHMoYm9vbCBzaG91bGREaXNwYXRjaEZha2VNb3VzZU1vdmVF
dmVudHMpCiB7CiAgICAgbV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpTZXRTaG91
bGREaXNwYXRjaEZha2VNb3VzZU1vdmVFdmVudHMoc2hvdWxkRGlzcGF0Y2hGYWtlTW91c2VNb3Zl
RXZlbnRzKSwgbV9wYWdlSUQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5o
CmluZGV4IDlmZjRmYzc0YWQyYmI2ZmQ4ZmM0YmI0OGM5OWJlMDdmM2M3MGQzNGYuLjBiOGE2MDE1
ZjE0MjI4ZTllMDQzYjk0M2MyMWJjODBhZWYxNDliYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmgKQEAgLTE0NzcsNiArMTQ3NywxMCBAQCBwcml2YXRlOgogICAgIHZv
aWQgdXNlRml4ZWRMYXlvdXREaWRDaGFuZ2UoYm9vbCB1c2VGaXhlZExheW91dCkgeyBtX3VzZUZp
eGVkTGF5b3V0ID0gdXNlRml4ZWRMYXlvdXQ7IH0KICAgICB2b2lkIGZpeGVkTGF5b3V0U2l6ZURp
ZENoYW5nZShXZWJDb3JlOjpJbnRTaXplIGZpeGVkTGF5b3V0U2l6ZSkgeyBtX2ZpeGVkTGF5b3V0
U2l6ZSA9IGZpeGVkTGF5b3V0U2l6ZTsgfQogCisjaWYgRU5BQkxFKFZJREVPKQorICAgIHZvaWQg
bWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpJbnRTaXplJik7
CisjZW5kaWYKKwogICAgIHZvaWQgaGFuZGxlQXV0b0ZpbGxCdXR0b25DbGljayhjb25zdCBVc2Vy
RGF0YSYpOwogCiAgICAgdm9pZCBoYW5kbGVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIGNvbnN0
IFN0cmluZyYgbWVzc2FnZU5hbWUsIGNvbnN0IFVzZXJEYXRhJiBtZXNzYWdlQm9keSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmlu
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRl
eCAyM2M2NGRmNDU4OGNiYzAxMmZkMjA5NWFjNDU4NDYwZWQ0NzdlMDYxLi4zZTI1ZTY4Mzg3YWU4
NGNhZWI2NjYzODIxNmMyN2U5NjhiNWM3NTcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAgLTQ0NCw2ICs0NDQsMTAgQEAgbWVz
c2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICBQbGF5YmFja1RhcmdldFBpY2tlckNsaWVudFN0
YXRlRGlkQ2hhbmdlKHVpbnQ2NF90IGNvbnRleHRJZCwgdW5zaWduZWQgbWVkaWFTdGF0ZSkKICNl
bmRpZgogCisjaWYgRU5BQkxFKFZJREVPKQorICAgIE1lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNo
YW5nZWQoV2ViQ29yZTo6SW50U2l6ZSBuZXdTaXplKQorI2VuZGlmCisKICAgICBVc2VGaXhlZExh
eW91dERpZENoYW5nZShib29sIHVzZUZpeGVkTGF5b3V0KQogICAgIEZpeGVkTGF5b3V0U2l6ZURp
ZENoYW5nZShXZWJDb3JlOjpJbnRTaXplIGZpeGVkTGF5b3V0U2l6ZSkKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViVmlld0VmbC5oIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL2VmbC9XZWJWaWV3RWZsLmgKaW5kZXggYTBjYWYxMDNjNWZiYjMyZTViZGYx
ZmNiMzYwNDUwMmExYWEwZTE0Yi4uMzYyMjI0NzllMmY5ZDA2YTEwM2UzNTE5OGI2MzA2NzA4YjUy
NDVkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJWaWV3RWZs
LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJWaWV3RWZsLmgKQEAgLTkw
LDYgKzkwLDEwIEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGRpZEZpbmlzaExvYWRGb3JN
YWluRnJhbWUoKSBvdmVycmlkZSBmaW5hbCB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkU2FtZURv
Y3VtZW50TmF2aWdhdGlvbkZvck1haW5GcmFtZShTYW1lRG9jdW1lbnROYXZpZ2F0aW9uVHlwZSkg
b3ZlcnJpZGUgZmluYWwgeyB9CiAKKyNpZiBFTkFCTEUoVklERU8pCisgICAgdmlydHVhbCB2b2lk
IG1lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYp
IG92ZXJyaWRlIGZpbmFsIHsgfQorI2VuZGlmCisKICAgICB2aXJ0dWFsIHZvaWQgcmVmVmlldygp
IG92ZXJyaWRlIGZpbmFsIHsgfQogICAgIHZpcnR1YWwgdm9pZCBkZXJlZlZpZXcoKSBvdmVycmlk
ZSBmaW5hbCB7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9Q
YWdlQ2xpZW50SW1wbElPUy5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xp
ZW50SW1wbElPUy5oCmluZGV4IGNjNDBiNTZmNzk3NmM4Nzc4YmUwMjg2Mzk1Yjg5NjJlMWUyMWRk
NzguLjE1ODVmMDUxN2EwZDc1Yzc5ZGQ5NTE5M2RkZjljYzM1OThmMDZjZmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgKQEAgLTE4Niw2
ICsxODYsMTAgQEAgcHJpdmF0ZToKIAogICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VCYWNrZ3Jv
dW5kQ29sb3IoKSBvdmVycmlkZTsKIAorI2lmIEVOQUJMRShWSURFTykKKyAgICB2aXJ0dWFsIHZv
aWQgbWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpJbnRTaXpl
Jikgb3ZlcnJpZGU7CisjZW5kaWYKKwogICAgIHZpcnR1YWwgdm9pZCByZWZWaWV3KCkgb3ZlcnJp
ZGU7CiAgICAgdmlydHVhbCB2b2lkIGRlcmVmVmlldygpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQppbmRleCBhMDgx
NmM0NWNhMTZmODAwMTIzNmQ0ZjFmMGYzMTcxMmRjODZhMWYxLi43NTY5ZmJjYjIzYTkwMGNjYzFh
ODJmZDZiYjMwZjM3OTQ5YjgwZDQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KQEAgLTczOSw2ICs3MzksMTQgQEAgdm9pZCBQYWdl
Q2xpZW50SW1wbDo6ZGlkQ2hhbmdlQmFja2dyb3VuZENvbG9yKCkKICAgICBbbV93ZWJWaWV3IF91
cGRhdGVTY3JvbGxWaWV3QmFja2dyb3VuZF07CiB9CiAKKyNpZiBFTkFCTEUoVklERU8pCit2b2lk
IFBhZ2VDbGllbnRJbXBsOjptZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkKGNvbnN0IElu
dFNpemUmIG5ld1NpemUpCit7CisgICAgW21fd2ViVmlldyBfbWVkaWFEb2N1bWVudE5hdHVyYWxT
aXplQ2hhbmdlZDpuZXdTaXplXTsKK30KKyNlbmRpZgorCisKIHZvaWQgUGFnZUNsaWVudEltcGw6
OnJlZlZpZXcoKQogewogICAgIFttX2NvbnRlbnRWaWV3IHJldGFpbl07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLmgKaW5kZXggYWJlMzk0Yjc2ZjRiZGI4
N2Q4NTU2ODU2OTkzNDMyZWNjNTExYmJmNy4uYzY5ZWVhNjRjMWU2ZWJjMDc3ZjU4MjVjZDZkYzMz
MzRhYzIwODJkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdl
Q2xpZW50SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVu
dEltcGwuaApAQCAtMjAzLDYgKzIwMywxMCBAQCBwcml2YXRlOgogCiAgICAgdmlydHVhbCB2b2lk
IGRpZENoYW5nZUJhY2tncm91bmRDb2xvcigpIG92ZXJyaWRlOwogCisjaWYgRU5BQkxFKFZJREVP
KQorICAgIHZpcnR1YWwgdm9pZCBtZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkKGNvbnN0
IFdlYkNvcmU6OkludFNpemUmKSBvdmVycmlkZTsKKyNlbmRpZgorCiAgICAgV0tWaWV3ICptX3dr
VmlldzsKICAgICBXS1dlYlZpZXcgKm1fd2ViVmlldzsKICAgICBSZXRhaW5QdHI8V0tFZGl0b3JV
bmRvVGFyZ2V0T2JqQz4gbV91bmRvVGFyZ2V0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9tYWMvUGFnZUNsaWVudEltcGwubW0KaW5kZXggODFkMGIxYjAwNDZjNDVmYWRkMzkxNzVhMGRj
Yzc4ZTBiMDRhZjJkYy4uM2JiZGYxOGQ0NzMwZTYwOTMzYWI4YzU2YjRjNjkxODI0ZTI0MTgxZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tCkBA
IC04MzYsNiArODM2LDEzIEBAIFdlYkNvcmU6OldlYk1lZGlhU2Vzc2lvbk1hbmFnZXImIFBhZ2VD
bGllbnRJbXBsOjptZWRpYVNlc3Npb25NYW5hZ2VyKCkKIH0KICNlbmRpZgogCisjaWYgRU5BQkxF
KFZJREVPKQordm9pZCBQYWdlQ2xpZW50SW1wbDo6bWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hh
bmdlZChjb25zdCBJbnRTaXplJiBuZXdTaXplKQoreworICAgIFttX3dlYlZpZXcgX21lZGlhRG9j
dW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQ6bmV3U2l6ZV07Cit9CisjZW5kaWYKKwogdm9pZCBQYWdl
Q2xpZW50SW1wbDo6cmVmVmlldygpCiB7CiAgICAgQ0ZSZXRhaW4obV93a1ZpZXcpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50LmgKaW5kZXggMTY1M2RmYzEwMDZmZTRlOTgzMjg2NjIwOWFjMDAyYjhjODdkZTJj
Zi4uOGFmNDliMTRkYTliMDE5NGMyODgyMzhjMzk2MjRhMzkzZDY1ZTVhYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5oCkBAIC0zMjMsNiArMzIzLDEwIEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lk
IHBsYXliYWNrVGFyZ2V0UGlja2VyQ2xpZW50U3RhdGVEaWRDaGFuZ2UodWludDY0X3QsIFdlYkNv
cmU6Ok1lZGlhUHJvZHVjZXI6Ok1lZGlhU3RhdGVGbGFncykgb3ZlcnJpZGU7CiAjZW5kaWYKIAor
I2lmIEVOQUJMRShWSURFTykKKyAgICB2aXJ0dWFsIHZvaWQgbWVkaWFEb2N1bWVudE5hdHVyYWxT
aXplQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpJbnRTaXplJikgb3ZlcnJpZGU7CisjZW5kaWYKKwog
ICAgIFN0cmluZyBtX2NhY2hlZFRvb2xUaXA7CiAgICAgbXV0YWJsZSBSZWZQdHI8V2ViRnJhbWU+
IG1fY2FjaGVkRnJhbWVTZXRMYXJnZXN0RnJhbWU7CiAgICAgbXV0YWJsZSBib29sIG1fY2FjaGVk
TWFpbkZyYW1lSGFzSG9yaXpvbnRhbFNjcm9sbGJhcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvaW9zL1dlYkNocm9tZUNsaWVudElPUy5tbSBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvaW9zL1dlYkNocm9tZUNs
aWVudElPUy5tbQppbmRleCBhMjU1OTFlY2RhYzczYmYwNzAyMjEwMWIwOGE1ZTZjOWM2NmUwZjE2
Li5jNTI1ODhjZTk3N2E2ZDcyMmRkNGQ3MzY5MjYxNmI2ZjgwYjE4N2EyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2lvcy9XZWJDaHJvbWVDbGll
bnRJT1MubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9p
b3MvV2ViQ2hyb21lQ2xpZW50SU9TLm1tCkBAIC0xNDYsNiArMTQ2LDEzIEBAIGludCBXZWJDaHJv
bWVDbGllbnQ6OmRldmljZU9yaWVudGF0aW9uKCkgY29uc3QKICAgICByZXR1cm4gbV9wYWdlLT5k
ZXZpY2VPcmllbnRhdGlvbigpOwogfQogCisjaWYgRU5BQkxFKFZJREVPKQordm9pZCBXZWJDaHJv
bWVDbGllbnQ6Om1lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQoY29uc3QgV2ViQ29yZTo6
SW50U2l6ZSYgbmV3U2l6ZSkKK3sKKyAgICBtX3BhZ2UtPm1lZGlhRG9jdW1lbnROYXR1cmFsU2l6
ZUNoYW5nZWQobmV3U2l6ZSk7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAK
ICNlbmRpZiAvLyBQTEFURk9STShJT1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggMDQ1MjA5ZWIxNTYxMjhjY2ZhMGQ0MzY0MTY5MDVhZDg2
NTg4MjA3Mi4uMTcyOWM4Njk1YzM2MWY1MWRlZjZmMjA2NDU5ZjIyZWQxYzE1NjQwZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtNTAyOCw0
ICs1MDI4LDExIEBAIHZvaWQgV2ViUGFnZTo6c2V0VXNlckNvbnRlbnRFeHRlbnNpb25zRW5hYmxl
ZChib29sIHVzZXJDb250ZW50RXh0ZW5zaW9uc0VuYWJsZWQpCiAgICAgbV9wYWdlLT5zZXRVc2Vy
Q29udGVudEV4dGVuc2lvbnNFbmFibGVkKHVzZXJDb250ZW50RXh0ZW5zaW9uc0VuYWJsZWQpOwog
fQogCisjaWYgRU5BQkxFKFZJREVPKQordm9pZCBXZWJQYWdlOjptZWRpYURvY3VtZW50TmF0dXJh
bFNpemVDaGFuZ2VkKGNvbnN0IEludFNpemUmIG5ld1NpemUpCit7CisgICAgc2VuZChNZXNzYWdl
czo6V2ViUGFnZVByb3h5OjpNZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkKG5ld1NpemUp
KTsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IDdlOTE4NTFlMGE4MDQ3NWVmZDhiMGIz
NDRhYThjZGMxNTE4ZGVmMDMuLjNhNjRlYTEyOTE5MDcyMzdmYjA4YTY5NjMwMGFkZmMwNDY2Y2U3
NmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAt
OTAyLDYgKzkwMiwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRJbnB1dE1ldGhvZFN0YXRlKGJv
b2wpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoVklERU8pCisgICAgdm9pZCBtZWRpYURvY3VtZW50
TmF0dXJhbFNpemVDaGFuZ2VkKGNvbnN0IFdlYkNvcmU6OkludFNpemUmKTsKKyNlbmRpZgorCiBw
cml2YXRlOgogICAgIFdlYlBhZ2UodWludDY0X3QgcGFnZUlELCBjb25zdCBXZWJQYWdlQ3JlYXRp
b25QYXJhbWV0ZXJzJik7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257384</attachid>
            <date>2015-07-23 14:25:56 -0700</date>
            <delta_ts>2015-07-23 15:29:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147182-20150723142440.patch</filename>
            <type>text/plain</type>
            <size>21866</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3MjUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTliZTk0YjNhMTIwZjg2
ZWNlYTk0YjhkZGZiNDBlZjY1ZjE5OTJiZi4uN2RmNDcwYzk5NTgxOGQ3MTQ1NWU4NGUxMDk3Yjcy
MDNmNzU4MGRmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIzIEBACiAyMDE1LTA3LTIxICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCisgICAgICAgIE5vdGlmeSB0aGUgVUkgZGVs
ZWdhdGUgd2hlbiBhIE1lZGlhRG9jdW1lbnQncyBuYXR1cmFsIHNpemUgY2hhbmdlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ3MTgyCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm90aWZ5IHRoZSBNZWRp
YURvY3VtZW50IHRoYXQgaXQncyB1bmRlcmx5aW5nIG1lZGlhIGVsZW1lbnQgaGFzIGNoYW5nZWQg
aXRzIG5hdHVyYWwgc2l6ZSwgZWl0aGVyIHdoZW4KKyAgICAgICAgdGhlIG1lZGlhIGVuZ2luZSBu
b3RpZmllcyB1cyB0aGF0IHRoZSBzaXplIGNoYW5nZWQsIG9yIHdoZW4gdGhlIHJlYWR5IHN0YXRl
IHByb2dyZXNzZXMgdG8gSEFWRV9NRVRBREFUQS4KKworICAgICAgICAqIGh0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpzZXRSZWFk
eVN0YXRlKTogTm90aWZ5IHRoZSBtZWRpYSBkb2N1bWVudC4KKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyU2l6ZUNoYW5nZWQpOiBEaXR0by4KKyAgICAgICAg
KiBodG1sL01lZGlhRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFEb2N1bWVu
dDo6bWVkaWFFbGVtZW50TmF0dXJhbFNpemVDaGFuZ2VkKTogUGFzcyB0byB0aGUgY2hyb21lIGNs
aWVudC4KKyAgICAgICAgKiBodG1sL01lZGlhRG9jdW1lbnQuaDoKKyAgICAgICAgKiBwYWdlL0No
cm9tZUNsaWVudC5oOgorCisyMDE1LTA3LTIxICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUu
Y29tPgorCiAgICAgICAgIFtpT1NdIEFkZCBhbiBleHBsaWNpdCBBUEkgdG8gYWxsb3cgbWVkaWEg
ZG9jdW1lbnRzIHRvICh0ZW1wb3JhcmlseSkgcGxheSBpbmxpbmUKICAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NzE4MQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYjY2
M2I4ZjljNDNmZDczMGMwYmQyM2Q1ZmE2YjA3OTc5Y2JiMWYwYS4uMjBjMDdmNTE5MDQ0MTk5NTZj
YzJiNzI0OTE0YzU3NDFkZDJkNjFkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDE1
LTA3LTIxICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIE5vdGlm
eSB0aGUgVUkgZGVsZWdhdGUgd2hlbiBhIE1lZGlhRG9jdW1lbnQncyBuYXR1cmFsIHNpemUgY2hh
bmdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ3
MTgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGlw
ZSBub3RpZmljYXRpb25zIG9mIG1lZGlhIGRvY3VtZW50IG5hdHVyYWwgc2l6ZSBjaGFuZ2VzIHVw
IGZyb20gdGhlIGNocm9tZSBjbGllbnQsIHRocm91Z2gKKyAgICAgICAgdG8gdGhlIFVJUHJvY2Vz
cywgIHRocm91Z2ggdGhlIHBhZ2UgY2xpZW50LCB0aHJvdWdoIHRoZSBXS1dlYlZpZXcsIHRvIHRo
ZSBVSURlbGVnYXRlLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5oOgor
ICAgICAgICAoQVBJOjpVSUNsaWVudDo6bWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZCk6
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgtW1dL
V2ViVmlldyBfbWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZDpdKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0ludGVybmFsLmg6CisgICAgICAgICogVUlQcm9j
ZXNzL0NvY29hL1VJRGVsZWdhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVUlEZWxl
Z2F0ZS5tbToKKyAgICAgICAgKFdlYktpdDo6VUlEZWxlZ2F0ZTo6c2V0RGVsZWdhdGUpOgorICAg
ICAgICAoV2ViS2l0OjpVSURlbGVnYXRlOjpVSUNsaWVudDo6bWVkaWFEb2N1bWVudE5hdHVyYWxT
aXplQ2hhbmdlZCk6CisgICAgICAgICogVUlQcm9jZXNzL1BhZ2VDbGllbnQuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVBy
b3h5OjptZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNz
YWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbToKKyAgICAgICAgKFdl
YktpdDo6UGFnZUNsaWVudEltcGw6Om1lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50
SW1wbDo6bWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZCk6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L2lvcy9XZWJDaHJvbWVDbGllbnRJT1MubW06CisgICAgICAgIChX
ZWJLaXQ6OldlYkNocm9tZUNsaWVudDo6bWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZCk6
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlOjptZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkKToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
Z3RrL1BhZ2VDbGllbnRJbXBsLmg6IEFkZCBkZWZhdWx0LCBlbXB0eSBpbXBsZW1lbnRhdGlvbiBv
ZiBuZXcgcHVyZS12aXJ0dWFsIG1ldGhvZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL1dlYlZp
ZXdFZmwuaDogRGl0dG8uCisKIDIwMTUtMDctMjMgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBs
ZS5jb20+CiAKICAgICAgICAgW1dLMl0gQWRkIGEgV0tXZWJWaWV3IHByb3BlcnR5IGZvciB3aGV0
aGVyIHRoZSB2aWV3IGlzIGRpc3BsYXlpbmcgYSBtZWRpYSBkb2N1bWVudApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggZmRkMjFjMWNmMjM2NTE2ZjkxZjQzOWE1
Mzc1NWMzZjEzOGU1ZmE0ZS4uMzY5NzlhNDM4YmRiNjU5OTlhMGMyMjk2OWU1NWU5NDUwYTEwZjI4
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC0yMTE2LDYg
KzIxMTYsOSBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNldFJlYWR5U3RhdGUoTWVkaWFQbGF5
ZXI6OlJlYWR5U3RhdGUgc3RhdGUpCiAgICAgICAgIGlmIChyZW5kZXJlcigpKQogICAgICAgICAg
ICAgcmVuZGVyZXIoKS0+dXBkYXRlRnJvbUVsZW1lbnQoKTsKIAorICAgICAgICBpZiAoaXM8TWVk
aWFEb2N1bWVudD4oZG9jdW1lbnQoKSkpCisgICAgICAgICAgICBkb3duY2FzdDxNZWRpYURvY3Vt
ZW50Pihkb2N1bWVudCgpKS5tZWRpYUVsZW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQoZXhwYW5kZWRJ
bnRTaXplKG1fcGxheWVyLT5uYXR1cmFsU2l6ZSgpKSk7CisKICAgICAgICAgbG9nTWVkaWFMb2Fk
UmVxdWVzdChkb2N1bWVudCgpLnBhZ2UoKSwgbV9wbGF5ZXItPmVuZ2luZURlc2NyaXB0aW9uKCks
IFN0cmluZygpLCB0cnVlKTsKICAgICB9CiAKQEAgLTQzODcsNiArNDM5MCw5IEBAIHZvaWQgSFRN
TE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJTaXplQ2hhbmdlZChNZWRpYVBsYXllciopCiB7CiAg
ICAgTE9HKE1lZGlhLCAiSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJTaXplQ2hhbmdlZCgl
cCkiLCB0aGlzKTsKIAorICAgIGlmIChpczxNZWRpYURvY3VtZW50Pihkb2N1bWVudCgpKSAmJiBt
X3BsYXllcikKKyAgICAgICAgZG93bmNhc3Q8TWVkaWFEb2N1bWVudD4oZG9jdW1lbnQoKSkubWVk
aWFFbGVtZW50TmF0dXJhbFNpemVDaGFuZ2VkKGV4cGFuZGVkSW50U2l6ZShtX3BsYXllci0+bmF0
dXJhbFNpemUoKSkpOworCiAgICAgYmVnaW5Qcm9jZXNzaW5nTWVkaWFQbGF5ZXJDYWxsYmFjaygp
OwogICAgIGlmIChyZW5kZXJlcigpKQogICAgICAgICByZW5kZXJlcigpLT51cGRhdGVGcm9tRWxl
bWVudCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYURvY3VtZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFEb2N1bWVudC5jcHAKaW5kZXggZWZlMWIxZmUz
NTI5YjA3MzlmYjU4MDE1M2QxZjgwNmM4YzIxNmJmZS4uMmU4MTAzZTQ4YmQ3OGE3YjkyNmY0OGUy
MDNjZDVhMDA0OWFkNzVlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYURv
Y3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRG9jdW1lbnQuY3BwCkBA
IC0yOCw2ICsyOCw4IEBACiAjaWYgRU5BQkxFKFZJREVPKQogI2luY2x1ZGUgIk1lZGlhRG9jdW1l
bnQuaCIKIAorI2luY2x1ZGUgIkNocm9tZS5oIgorI2luY2x1ZGUgIkNocm9tZUNsaWVudC5oIgog
I2luY2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2lu
Y2x1ZGUgIkV4Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5oIgpAQCAtMjU5LDUgKzI2MSwxNyBAQCB2
b2lkIE1lZGlhRG9jdW1lbnQ6OnJlcGxhY2VNZWRpYUVsZW1lbnRUaW1lckZpcmVkKCkKICAgICB9
CiB9CiAKK3ZvaWQgTWVkaWFEb2N1bWVudDo6bWVkaWFFbGVtZW50TmF0dXJhbFNpemVDaGFuZ2Vk
KGNvbnN0IEludFNpemUmIG5ld1NpemUpCit7CisgICAgaWYgKG93bmVyRWxlbWVudCgpKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpZiAobmV3U2l6ZS5pc1plcm8oKSkKKyAgICAgICAgcmV0dXJu
OworCisgICAgaWYgKHBhZ2UoKSkKKyAgICAgICAgcGFnZSgpLT5jaHJvbWUoKS5jbGllbnQoKS5t
ZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkKG5ld1NpemUpOworfQorCiB9CiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFEb2N1bWVudC5oIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9NZWRpYURvY3VtZW50LmgKaW5kZXggMWNjYTc4NWJjMDNlZDViMTMzNTgz
YWViMDFmMzBlZmQyMWZlODZhZi4uYmE2OTE4NzNhMDliYTU4ZTJiNTVjZGQ1ZWQyMjE1ODQ2YzM0
M2E2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYURvY3VtZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYURvY3VtZW50LmgKQEAgLTQxLDYgKzQxLDcgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgfk1lZGlhRG9jdW1lbnQoKTsKIAogICAgIHZvaWQgbWVkaWFF
bGVtZW50U2F3VW5zdXBwb3J0ZWRUcmFja3MoKTsKKyAgICB2b2lkIG1lZGlhRWxlbWVudE5hdHVy
YWxTaXplQ2hhbmdlZChjb25zdCBJbnRTaXplJik7CiAgICAgU3RyaW5nIG91dGdvaW5nUmVmZXJy
ZXIoKSBjb25zdCB7IHJldHVybiBtX291dGdvaW5nUmVmZXJyZXI7IH0KIAogcHJpdmF0ZToKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4IDRmODE0M2QyYjFmZTFjZjMzOWM0OGY2ZTY3
NzMxMjgyMDE4ZTQwOWIuLjVmYzExNmUwNGVkNTdjNmVmZGNjNWU5Njg1MWQ1ZGVmOGQ2NWU4ZDIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaApAQCAtNDQ5LDYgKzQ0OSwxMCBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCB2b2lkIHBsYXliYWNrVGFyZ2V0UGlja2VyQ2xpZW50U3RhdGVEaWRD
aGFuZ2UodWludDY0X3QgLypjb250ZXh0SWQqLywgTWVkaWFQcm9kdWNlcjo6TWVkaWFTdGF0ZUZs
YWdzKSB7IH0KICNlbmRpZgogCisjaWYgRU5BQkxFKFZJREVPKQorICAgIHZpcnR1YWwgdm9pZCBt
ZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkKGNvbnN0IFdlYkNvcmU6OkludFNpemUmKSB7
IH0KKyNlbmRpZgorCiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB+Q2hyb21lQ2xpZW50KCkgeyB9
CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVu
dC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5oCmluZGV4IGQ2
MmYyZGE2ZGYxOWM4NjllOTc0MTlhMzFjY2Y2YjI5ZWYwNzViZDcuLjAzNDEzNDU1NzMyMmFhYzgz
NTVmOGQwMmZkY2U1YTMzMWU3MDc4NGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQVBJVUlDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0FQSVVJQ2xpZW50LmgKQEAgLTE2Nyw2ICsxNjcsMTAgQEAgcHVibGljOgogI2VuZGlmCiAKICAg
ICB2aXJ0dWFsIHZvaWQgZGlkQ2xpY2tBdXRvRmlsbEJ1dHRvbihXZWJLaXQ6OldlYlBhZ2VQcm94
eSYsIEFQSTo6T2JqZWN0KikgeyB9CisKKyNpZiBFTkFCTEUoVklERU8pCisgICAgdmlydHVhbCB2
b2lkIG1lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQoY29uc3QgV2ViQ29yZTo6SW50U2l6
ZSYpIHsgfQorI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBBUEkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmgK
aW5kZXggZjdhMGU1M2ZlZTk5NDRjZDJhNzZmZGYyMjQzMGRmMzMxNTM5NGEwYi4uZDM3MWMyZDk4
NTU0ZTE2NTFmODhlZDFlYTZlM2FlNTE4M2JhOWQ2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmgKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmgKQEAgLTY4
LDYgKzY4LDcgQEAgc3RydWN0IFVJRWRnZUluc2V0czsKIC0gKFVJRWRnZUluc2V0cylfd2ViVmll
dzooV0tXZWJWaWV3ICopd2ViVmlldyBmaW5hbE9ic2N1cmVkSW5zZXRzRm9yU2Nyb2xsVmlldzoo
VUlTY3JvbGxWaWV3ICopc2Nyb2xsVmlldyB3aXRoVmVsb2NpdHk6KENHUG9pbnQpdmVsb2NpdHkg
dGFyZ2V0Q29udGVudE9mZnNldDooaW5vdXQgQ0dQb2ludCAqKXRhcmdldENvbnRlbnRPZmZzZXQ7
CiAtIChVSVZpZXdDb250cm9sbGVyICopX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgcHJl
dmlld1ZpZXdDb250cm9sbGVyRm9yVVJMOihOU1VSTCAqKXVybCBkZWZhdWx0QWN0aW9uczooV0tf
QVJSQVkoX1dLRWxlbWVudEFjdGlvbiAqKSAqKWFjdGlvbnMgZWxlbWVudEluZm86KF9XS0FjdGl2
YXRlZEVsZW1lbnRJbmZvICopZWxlbWVudEluZm8gV0tfQVZBSUxBQkxFKFdLX01BQ19UQkEsIFdL
X0lPU19UQkEpOwogLSAoVUlWaWV3Q29udHJvbGxlciAqKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3
ZWJWaWV3IHByZXZpZXdWaWV3Q29udHJvbGxlckZvckFuaW1hdGVkSW1hZ2VBdFVSTDooTlNVUkwg
Kil1cmwgZGVmYXVsdEFjdGlvbnM6KFdLX0FSUkFZKF9XS0VsZW1lbnRBY3Rpb24gKikgKilhY3Rp
b25zIGVsZW1lbnRJbmZvOihfV0tBY3RpdmF0ZWRFbGVtZW50SW5mbyAqKWVsZW1lbnRJbmZvIGlt
YWdlU2l6ZTooQ0dTaXplKWltYWdlU2l6ZSBXS19BVkFJTEFCTEUoV0tfTUFDX1RCQSwgV0tfSU9T
X1RCQSk7CistICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IG1lZGlhRG9jdW1l
bnROYXR1cmFsU2l6ZUNoYW5nZWQ6KENHU2l6ZSlzaXplOwogI2VuZGlmCiAKIEBlbmQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggODg5
NDNjZWRkYjc1OTc0YjVmYjg1ZjNlZDU2NWMzZGM2ZjA0MWMwNS4uOTdmNTZjNWJlNzAyNjYxYmI5
MWE2OTg2ZGIzOGJhNGY2YjlhMTZlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAgLTE4ODEsNiArMTg4MSwxNSBAQCBzdGF0aWMgV2Vi
Q29yZTo6RmxvYXRQb2ludCBjb25zdHJhaW5Db250ZW50T2Zmc2V0KFdlYkNvcmU6OkZsb2F0UG9p
bnQgY29udGVudE9mZgogfQogI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykKIAorI2lmIEVOQUJMRShW
SURFTykKKy0gKHZvaWQpX21lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQ6KE5TU2l6ZSlu
ZXdTaXplCit7CisgICAgaWQgPFdLVUlEZWxlZ2F0ZVByaXZhdGU+IHVpRGVsZWdhdGUgPSBzdGF0
aWNfY2FzdDxpZCA8V0tVSURlbGVnYXRlUHJpdmF0ZT4+KFtzZWxmIFVJRGVsZWdhdGVdKTsKKyAg
ICBpZiAoW3VpRGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpt
ZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkOildKQorICAgICAgICBbdWlEZWxlZ2F0ZSBf
d2ViVmlldzpzZWxmIG1lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQ6bmV3U2l6ZV07Cit9
CisjZW5kaWYKKwogQGVuZAogCiBAaW1wbGVtZW50YXRpb24gV0tXZWJWaWV3IChXS1ByaXZhdGUp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
d0ludGVybmFsLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
d0ludGVybmFsLmgKaW5kZXggZDJkZWYyM2ZkNTIwOWQ0OTk0MGFhYjRhZWU4OTU4MDUzZjQyZDQ4
Mi4uM2E3YTYyZDA0MjE2MTFkYTM0MTEzYWIwNjNlZTVhMzQzYjIwZWE2MyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdJbnRlcm5hbC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3SW50ZXJuYWwu
aApAQCAtMTE2LDYgKzExNiwxMCBAQCBzdHJ1Y3QgUHJpbnRJbmZvOwogCiAtIChXS1BhZ2VSZWYp
X3BhZ2VGb3JUZXN0aW5nOwogCisjaWYgRU5BQkxFKFZJREVPKQorLSAodm9pZClfbWVkaWFEb2N1
bWVudE5hdHVyYWxTaXplQ2hhbmdlZDooQ0dTaXplKW5ld1NpemU7CisjZW5kaWYKKwogQGVuZAog
CiBXS1dlYlZpZXcqIGZyb21XZWJQYWdlUHJveHkoV2ViS2l0OjpXZWJQYWdlUHJveHkmKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBs
LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5oCmlu
ZGV4IDExZTc3NTdhNzRjMTZkOTkwZDIxNDc1MTJkNWI5YmQzZDZhMzMwMzkuLmNmZGVlNjRmNjU1
MjY3Yzc2ODljYTE3YzQ2ODlkYWFkZDA0NTNlMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuaApAQCAtMTM1LDYgKzEzNSwxMCBAQCBw
cml2YXRlOgogCiAgICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZUJhY2tncm91bmRDb2xvcigpIG92
ZXJyaWRlOwogCisjaWYgRU5BQkxFKFZJREVPKQorICAgIHZpcnR1YWwgdm9pZCBtZWRpYURvY3Vt
ZW50TmF0dXJhbFNpemVDaGFuZ2VkKGNvbnN0IFdlYkNvcmU6OkludFNpemUmKSBvdmVycmlkZSB7
IH0KKyNlbmRpZgorCiAgICAgdmlydHVhbCB2b2lkIHJlZlZpZXcoKSBvdmVycmlkZTsKICAgICB2
aXJ0dWFsIHZvaWQgZGVyZWZWaWV3KCkgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5oCmluZGV4IGZlMWRkOTY2NzRlNjI4YzRhMTIzOTVmNmE0
NTVjMWE2MzhmZjliODEuLjdlNzFkYmE4NzUwMmQxNjllNTUyMmQ2MGZmMTQ0ZmY2NGQzZjg5ZWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLmgK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaApAQCAtNzYs
NiArNzYsOSBAQCBwcml2YXRlOgogICAgICAgICB2aXJ0dWFsIFJldGFpblB0cjxOU0FycmF5PiBh
Y3Rpb25zRm9yRWxlbWVudChfV0tBY3RpdmF0ZWRFbGVtZW50SW5mbyAqLCBSZXRhaW5QdHI8TlNB
cnJheT4gZGVmYXVsdEFjdGlvbnMpIG92ZXJyaWRlOwogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlk
Tm90SGFuZGxlVGFwQXNDbGljayhjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYpIG92ZXJyaWRlOwog
I2VuZGlmCisjaWYgRU5BQkxFKFZJREVPKQorICAgICAgICB2aXJ0dWFsIHZvaWQgbWVkaWFEb2N1
bWVudE5hdHVyYWxTaXplQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpJbnRTaXplJikgb3ZlcnJpZGU7
CisjZW5kaWYKIAogICAgICAgICBVSURlbGVnYXRlJiBtX3VpRGVsZWdhdGU7CiAgICAgfTsKQEAg
LTEwMyw2ICsxMDYsOSBAQCBwcml2YXRlOgogICAgICAgICBib29sIHdlYlZpZXdBY3Rpb25zRm9y
RWxlbWVudERlZmF1bHRBY3Rpb25zIDogMTsKICAgICAgICAgYm9vbCB3ZWJWaWV3RGlkTm90SGFu
ZGxlVGFwQXNDbGlja0F0UG9pbnQgOiAxOwogI2VuZGlmCisjaWYgRU5BQkxFKFZJREVPKQorICAg
ICAgICBib29sIHdlYlZpZXdNZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkIDogMTsKKyNl
bmRpZgogICAgIH0gbV9kZWxlZ2F0ZU1ldGhvZHM7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tCmluZGV4IDU3ZTBhZGMwMGRhMjA1OTc5MzhmNmZi
YjRlNTE4ZTI4NzRkM2VhNmMuLmVjOTU3NTBiZjA3OGUwMDZkM2MxMDIxNzE3ZjQ3MmVhZjk3ZGRh
OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRl
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tCkBA
IC04NSw2ICs4NSw5IEBAIHZvaWQgVUlEZWxlZ2F0ZTo6c2V0RGVsZWdhdGUoaWQgPFdLVUlEZWxl
Z2F0ZT4gZGVsZWdhdGUpCiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld0FjdGlvbnNGb3JF
bGVtZW50RGVmYXVsdEFjdGlvbnMgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxl
Y3Rvcihfd2ViVmlldzphY3Rpb25zRm9yRWxlbWVudDpkZWZhdWx0QWN0aW9uczopXTsKICAgICBt
X2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3RGlkTm90SGFuZGxlVGFwQXNDbGlja0F0UG9pbnQgPSBb
ZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpkaWROb3RIYW5k
bGVUYXBBc0NsaWNrQXRQb2ludDopXTsKICNlbmRpZgorI2lmIEVOQUJMRShWSURFTykKKyAgICBt
X2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3TWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZCA9
IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3Om1lZGlhRG9j
dW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQ6KV07CisjZW5kaWYKIH0KIAogVUlEZWxlZ2F0ZTo6VUlD
bGllbnQ6OlVJQ2xpZW50KFVJRGVsZWdhdGUmIHVpRGVsZWdhdGUpCkBAIC0zMzgsNiArMzQxLDIw
IEBAIHZvaWQgVUlEZWxlZ2F0ZTo6VUlDbGllbnQ6OmRpZE5vdEhhbmRsZVRhcEFzQ2xpY2soY29u
c3QgV2ViQ29yZTo6SW50UG9pbnQmIHBvaW50CiB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShWSURF
TykKK3ZvaWQgVUlEZWxlZ2F0ZTo6VUlDbGllbnQ6Om1lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNo
YW5nZWQoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgbmV3U2l6ZSkKK3sKKyAgICBpZiAoIW1fdWlE
ZWxlZ2F0ZS5tX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3TWVkaWFEb2N1bWVudE5hdHVyYWxTaXpl
Q2hhbmdlZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgYXV0byBkZWxlZ2F0ZSA9IG1fdWlEZWxl
Z2F0ZS5tX2RlbGVnYXRlLmdldCgpOworICAgIGlmICghZGVsZWdhdGUpCisgICAgICAgIHJldHVy
bjsKKworICAgIFtzdGF0aWNfY2FzdDxpZCA8V0tVSURlbGVnYXRlUHJpdmF0ZT4+KGRlbGVnYXRl
KSBfd2ViVmlldzptX3VpRGVsZWdhdGUubV93ZWJWaWV3IG1lZGlhRG9jdW1lbnROYXR1cmFsU2l6
ZUNoYW5nZWQ6bmV3U2l6ZV07Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAK
ICNlbmRpZiAvLyBXS19BUElfRU5BQkxFRApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1BhZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50
LmgKaW5kZXggNWJhMmQxMDAzYTBjNDA1MmVlMTRjZDg4NWMxZWExN2IzZDU4YzM4Yy4uMTYzOGNj
NDBhZTA5ODMyMGQwOWQ4OGZhZDNkOTkxMGY3OTliZDdhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvUGFnZUNsaWVudC5oCkBAIC0zMjksNiArMzI5LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IFdlYkNvcmU6OldlYk1lZGlhU2Vzc2lvbk1hbmFnZXImIG1lZGlhU2Vzc2lvbk1hbmFnZXIoKSA9
IDA7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShWSURFTykKKyAgICB2aXJ0dWFsIHZvaWQgbWVkaWFE
b2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpJbnRTaXplJikgPSAwOwor
I2VuZGlmCisKICAgICB2aXJ0dWFsIHZvaWQgcmVmVmlldygpID0gMDsKICAgICB2aXJ0dWFsIHZv
aWQgZGVyZWZWaWV3KCkgPSAwOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAKaW5kZXggMmU2NzMyMWJmOTQ4NzcwMTIzYzMxY2ZiOTlmNDRhMjUyMTBkYTE4My4u
Mzk4NzcyYTc1OWM3MWJhNTE0MGEyNWI1ZmIzY2M2NDYzMDZmYWQ4OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTYwMTQsNiArNjAxNCwxMyBAQCB2b2lk
IFdlYlBhZ2VQcm94eTo6aW5zdGFsbFZpZXdTdGF0ZUNoYW5nZUNvbXBsZXRpb25IYW5kbGVyKHZv
aWQgKF5jb21wbGV0aW9uSGFuZAogfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoVklERU8pCit2b2lk
IFdlYlBhZ2VQcm94eTo6bWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZChjb25zdCBXZWJD
b3JlOjpJbnRTaXplJiBuZXdTaXplKQoreworICAgIG1fdWlDbGllbnQtPm1lZGlhRG9jdW1lbnRO
YXR1cmFsU2l6ZUNoYW5nZWQobmV3U2l6ZSk7Cit9CisjZW5kaWYKKwogdm9pZCBXZWJQYWdlUHJv
eHk6OnNldFNob3VsZERpc3BhdGNoRmFrZU1vdXNlTW92ZUV2ZW50cyhib29sIHNob3VsZERpc3Bh
dGNoRmFrZU1vdXNlTW92ZUV2ZW50cykKIHsKICAgICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6
OldlYlBhZ2U6OlNldFNob3VsZERpc3BhdGNoRmFrZU1vdXNlTW92ZUV2ZW50cyhzaG91bGREaXNw
YXRjaEZha2VNb3VzZU1vdmVFdmVudHMpLCBtX3BhZ2VJRCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmgKaW5kZXggYzA2NjQ4ZWM1ZDhmODZiZDE0ZDdiMzg4MGZkNzUyZGQ4
ZGIzYTA1MS4uOTYzOTQwMmFhMTExMWZkNDY1NDc1MzhlZDlhNWE4YzU1ODVkNmE3NyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMTQ3Nyw2ICsxNDc3LDEwIEBA
IHByaXZhdGU6CiAgICAgdm9pZCB1c2VGaXhlZExheW91dERpZENoYW5nZShib29sIHVzZUZpeGVk
TGF5b3V0KSB7IG1fdXNlRml4ZWRMYXlvdXQgPSB1c2VGaXhlZExheW91dDsgfQogICAgIHZvaWQg
Zml4ZWRMYXlvdXRTaXplRGlkQ2hhbmdlKFdlYkNvcmU6OkludFNpemUgZml4ZWRMYXlvdXRTaXpl
KSB7IG1fZml4ZWRMYXlvdXRTaXplID0gZml4ZWRMYXlvdXRTaXplOyB9CiAKKyNpZiBFTkFCTEUo
VklERU8pCisgICAgdm9pZCBtZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkKGNvbnN0IFdl
YkNvcmU6OkludFNpemUmKTsKKyNlbmRpZgorCiAgICAgdm9pZCBoYW5kbGVBdXRvRmlsbEJ1dHRv
bkNsaWNrKGNvbnN0IFVzZXJEYXRhJik7CiAKICAgICB2b2lkIGhhbmRsZU1lc3NhZ2UoSVBDOjpD
b25uZWN0aW9uJiwgY29uc3QgU3RyaW5nJiBtZXNzYWdlTmFtZSwgY29uc3QgVXNlckRhdGEmIG1l
c3NhZ2VCb2R5KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
Lm1lc3NhZ2VzLmluCmluZGV4IDIzYzY0ZGY0NTg4Y2JjMDEyZmQyMDk1YWM0NTg0NjBlZDQ3N2Uw
NjEuLjNlMjVlNjgzODdhZTg0Y2FlYjY2NjM4MjE2YzI3ZTk2OGI1Yzc1NzAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtNDQ0
LDYgKzQ0NCwxMCBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogICAgIFBsYXliYWNrVGFy
Z2V0UGlja2VyQ2xpZW50U3RhdGVEaWRDaGFuZ2UodWludDY0X3QgY29udGV4dElkLCB1bnNpZ25l
ZCBtZWRpYVN0YXRlKQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoVklERU8pCisgICAgTWVkaWFEb2N1
bWVudE5hdHVyYWxTaXplQ2hhbmdlZChXZWJDb3JlOjpJbnRTaXplIG5ld1NpemUpCisjZW5kaWYK
KwogICAgIFVzZUZpeGVkTGF5b3V0RGlkQ2hhbmdlKGJvb2wgdXNlRml4ZWRMYXlvdXQpCiAgICAg
Rml4ZWRMYXlvdXRTaXplRGlkQ2hhbmdlKFdlYkNvcmU6OkludFNpemUgZml4ZWRMYXlvdXRTaXpl
KQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJWaWV3RWZs
LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlZpZXdFZmwuaAppbmRleCBhMGNh
ZjEwM2M1ZmJiMzJlNWJkZjFmY2IzNjA0NTAyYTFhYTBlMTRiLi4zNjIyMjQ3OWUyZjlkMDZhMTAz
ZTM1MTk4YjYzMDY3MDhiNTI0NWRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvZWZsL1dlYlZpZXdFZmwuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dl
YlZpZXdFZmwuaApAQCAtOTAsNiArOTAsMTAgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQg
ZGlkRmluaXNoTG9hZEZvck1haW5GcmFtZSgpIG92ZXJyaWRlIGZpbmFsIHsgfQogICAgIHZpcnR1
YWwgdm9pZCBkaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uRm9yTWFpbkZyYW1lKFNhbWVEb2N1bWVu
dE5hdmlnYXRpb25UeXBlKSBvdmVycmlkZSBmaW5hbCB7IH0KIAorI2lmIEVOQUJMRShWSURFTykK
KyAgICB2aXJ0dWFsIHZvaWQgbWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZChjb25zdCBX
ZWJDb3JlOjpJbnRTaXplJikgb3ZlcnJpZGUgZmluYWwgeyB9CisjZW5kaWYKKwogICAgIHZpcnR1
YWwgdm9pZCByZWZWaWV3KCkgb3ZlcnJpZGUgZmluYWwgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRl
cmVmVmlldygpIG92ZXJyaWRlIGZpbmFsIHsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgKaW5kZXggY2M0MGI1NmY3OTc2Yzg3NzhiZTAy
ODYzOTViODk2MmUxZTIxZGQ3OC4uMTU4NWYwNTE3YTBkNzVjNzlkZDk1MTkzZGRmOWNjMzU5OGYw
NmNmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50
SW1wbElPUy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudElt
cGxJT1MuaApAQCAtMTg2LDYgKzE4NiwxMCBAQCBwcml2YXRlOgogCiAgICAgdmlydHVhbCB2b2lk
IGRpZENoYW5nZUJhY2tncm91bmRDb2xvcigpIG92ZXJyaWRlOwogCisjaWYgRU5BQkxFKFZJREVP
KQorICAgIHZpcnR1YWwgdm9pZCBtZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkKGNvbnN0
IFdlYkNvcmU6OkludFNpemUmKSBvdmVycmlkZTsKKyNlbmRpZgorCiAgICAgdmlydHVhbCB2b2lk
IHJlZlZpZXcoKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgZGVyZWZWaWV3KCkgb3ZlcnJp
ZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVu
dEltcGxJT1MubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBs
SU9TLm1tCmluZGV4IGEwODE2YzQ1Y2ExNmY4MDAxMjM2ZDRmMWYwZjMxNzEyZGM4NmExZjEuLjc1
NjlmYmNiMjNhOTAwY2NjMWE4MmZkNmJiMzBmMzc5NDliODBkNDUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQpAQCAtNzM5LDYgKzcz
OSwxNCBAQCB2b2lkIFBhZ2VDbGllbnRJbXBsOjpkaWRDaGFuZ2VCYWNrZ3JvdW5kQ29sb3IoKQog
ICAgIFttX3dlYlZpZXcgX3VwZGF0ZVNjcm9sbFZpZXdCYWNrZ3JvdW5kXTsKIH0KIAorI2lmIEVO
QUJMRShWSURFTykKK3ZvaWQgUGFnZUNsaWVudEltcGw6Om1lZGlhRG9jdW1lbnROYXR1cmFsU2l6
ZUNoYW5nZWQoY29uc3QgSW50U2l6ZSYgbmV3U2l6ZSkKK3sKKyAgICBbbV93ZWJWaWV3IF9tZWRp
YURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkOm5ld1NpemVdOworfQorI2VuZGlmCisKKwogdm9p
ZCBQYWdlQ2xpZW50SW1wbDo6cmVmVmlldygpCiB7CiAgICAgW21fY29udGVudFZpZXcgcmV0YWlu
XTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudElt
cGwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwuaAppbmRl
eCBhYmUzOTRiNzZmNGJkYjg3ZDg1NTY4NTY5OTM0MzJlY2M1MTFiYmY3Li5jNjllZWE2NGMxZTZl
YmMwNzdmNTgyNWNkNmRjMzMzNGFjMjA4MmQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5oCkBAIC0yMDMsNiArMjAzLDEwIEBAIHByaXZhdGU6CiAK
ICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlQmFja2dyb3VuZENvbG9yKCkgb3ZlcnJpZGU7CiAK
KyNpZiBFTkFCTEUoVklERU8pCisgICAgdmlydHVhbCB2b2lkIG1lZGlhRG9jdW1lbnROYXR1cmFs
U2l6ZUNoYW5nZWQoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpIG92ZXJyaWRlOworI2VuZGlmCisK
ICAgICBXS1ZpZXcgKm1fd2tWaWV3OwogICAgIFdLV2ViVmlldyAqbV93ZWJWaWV3OwogICAgIFJl
dGFpblB0cjxXS0VkaXRvclVuZG9UYXJnZXRPYmpDPiBtX3VuZG9UYXJnZXQ7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5tbQppbmRleCA4MWQwYjFiMDA0
NmM0NWZhZGQzOTE3NWEwZGNjNzhlMGIwNGFmMmRjLi4zYmJkZjE4ZDQ3MzBlNjA5MzNhYjhjNTZi
NGM2OTE4MjRlMjQxODFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFj
L1BhZ2VDbGllbnRJbXBsLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFn
ZUNsaWVudEltcGwubW0KQEAgLTgzNiw2ICs4MzYsMTMgQEAgV2ViQ29yZTo6V2ViTWVkaWFTZXNz
aW9uTWFuYWdlciYgUGFnZUNsaWVudEltcGw6Om1lZGlhU2Vzc2lvbk1hbmFnZXIoKQogfQogI2Vu
ZGlmCiAKKyNpZiBFTkFCTEUoVklERU8pCit2b2lkIFBhZ2VDbGllbnRJbXBsOjptZWRpYURvY3Vt
ZW50TmF0dXJhbFNpemVDaGFuZ2VkKGNvbnN0IEludFNpemUmIG5ld1NpemUpCit7CisgICAgW21f
d2ViVmlldyBfbWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZDpuZXdTaXplXTsKK30KKyNl
bmRpZgorCiB2b2lkIFBhZ2VDbGllbnRJbXBsOjpyZWZWaWV3KCkKIHsKICAgICBDRlJldGFpbiht
X3drVmlldyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCAxNjUzZGZjMTAwNmZlNGU5ODMyODY2
MjA5YWMwMDJiOGM4N2RlMmNmLi44YWY0OWIxNGRhOWIwMTk0YzI4ODIzOGMzOTYyNGEzOTNkNjVl
NWFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTMyMyw2ICszMjMsMTAgQEAgcHJpdmF0ZToK
ICAgICB2aXJ0dWFsIHZvaWQgcGxheWJhY2tUYXJnZXRQaWNrZXJDbGllbnRTdGF0ZURpZENoYW5n
ZSh1aW50NjRfdCwgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TWVkaWFTdGF0ZUZsYWdzKSBvdmVy
cmlkZTsKICNlbmRpZgogCisjaWYgRU5BQkxFKFZJREVPKQorICAgIHZpcnR1YWwgdm9pZCBtZWRp
YURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkKGNvbnN0IFdlYkNvcmU6OkludFNpemUmKSBvdmVy
cmlkZTsKKyNlbmRpZgorCiAgICAgU3RyaW5nIG1fY2FjaGVkVG9vbFRpcDsKICAgICBtdXRhYmxl
IFJlZlB0cjxXZWJGcmFtZT4gbV9jYWNoZWRGcmFtZVNldExhcmdlc3RGcmFtZTsKICAgICBtdXRh
YmxlIGJvb2wgbV9jYWNoZWRNYWluRnJhbWVIYXNIb3Jpem9udGFsU2Nyb2xsYmFyOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9pb3MvV2ViQ2hy
b21lQ2xpZW50SU9TLm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9pb3MvV2ViQ2hyb21lQ2xpZW50SU9TLm1tCmluZGV4IGEyNTU5MWVjZGFjNzNiZjA3MDIyMTAx
YjA4YTVlNmM5YzY2ZTBmMTYuLmM1MjU4OGNlOTc3YTZkNzIyZGQ0ZDczNjkyNjE2YjZmODBiMTg3
YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
aW9zL1dlYkNocm9tZUNsaWVudElPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L2lvcy9XZWJDaHJvbWVDbGllbnRJT1MubW0KQEAgLTE0Niw2ICsxNDYs
MTMgQEAgaW50IFdlYkNocm9tZUNsaWVudDo6ZGV2aWNlT3JpZW50YXRpb24oKSBjb25zdAogICAg
IHJldHVybiBtX3BhZ2UtPmRldmljZU9yaWVudGF0aW9uKCk7CiB9CiAKKyNpZiBFTkFCTEUoVklE
RU8pCit2b2lkIFdlYkNocm9tZUNsaWVudDo6bWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdl
ZChjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBuZXdTaXplKQoreworICAgIG1fcGFnZS0+bWVkaWFE
b2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZChuZXdTaXplKTsKK30KKyNlbmRpZgorCiB9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIFBMQVRGT1JNKElPUykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCBlOWFiNjQ2OTRjMzI3ZDJk
NjNhM2JiYTJlNjBkMDdhYjdkNGU2MmQ1Li4zYWE0ZDI5MDBiZmFhOTZjOGJiNTZmODIyOGEwZGRk
MTI5ZjU4OGMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwCkBAIC01MDMxLDQgKzUwMzEsMTEgQEAgdm9pZCBXZWJQYWdlOjpzZXRVc2VyQ29udGVu
dEV4dGVuc2lvbnNFbmFibGVkKGJvb2wgdXNlckNvbnRlbnRFeHRlbnNpb25zRW5hYmxlZCkKICAg
ICBtX3BhZ2UtPnNldFVzZXJDb250ZW50RXh0ZW5zaW9uc0VuYWJsZWQodXNlckNvbnRlbnRFeHRl
bnNpb25zRW5hYmxlZCk7CiB9CiAKKyNpZiBFTkFCTEUoVklERU8pCit2b2lkIFdlYlBhZ2U6Om1l
ZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQoY29uc3QgSW50U2l6ZSYgbmV3U2l6ZSkKK3sK
KyAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6Ok1lZGlhRG9jdW1lbnROYXR1cmFsU2l6
ZUNoYW5nZWQobmV3U2l6ZSkpOworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggZjk5NjBi
N2I3N2U3ZmUzOTUzNGU4NjIwYzkxYWM4NTJjZDcwMzczNC4uNmEzOTUyYzkwYTFjMjMyOTY1ODBh
OWJkZTgxMjAwMjllMzE5ZGQ1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5oCkBAIC05MDIsNiArOTAyLDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIHNldElu
cHV0TWV0aG9kU3RhdGUoYm9vbCk7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShWSURFTykKKyAgICB2
b2lkIG1lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQoY29uc3QgV2ViQ29yZTo6SW50U2l6
ZSYpOworI2VuZGlmCisKIHByaXZhdGU6CiAgICAgV2ViUGFnZSh1aW50NjRfdCBwYWdlSUQsIGNv
bnN0IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257392</attachid>
            <date>2015-07-23 15:29:13 -0700</date>
            <delta_ts>2015-07-23 15:51:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147182-20150723152757.patch</filename>
            <type>text/plain</type>
            <size>21763</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3MjYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTQ5MjljZDU5ZDZhZGQ4
ODExMjg5MjgyYmY0Yzc5Y2NmNDE5NWVjYi4uNGU3YTMwNjA3YTViYmZkMTI3ZWE1NjJkNGQ3MGM2
ZDAzOWUzNGI4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE1LTA3LTIxICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIE5vdGlmeSB0aGUgVUkgZGVs
ZWdhdGUgd2hlbiBhIE1lZGlhRG9jdW1lbnQncyBuYXR1cmFsIHNpemUgY2hhbmdlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ3MTgyCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm90aWZ5IHRoZSBNZWRp
YURvY3VtZW50IHRoYXQgaXQncyB1bmRlcmx5aW5nIG1lZGlhIGVsZW1lbnQgaGFzIGNoYW5nZWQg
aXRzIG5hdHVyYWwgc2l6ZSwgZWl0aGVyIHdoZW4KKyAgICAgICAgdGhlIG1lZGlhIGVuZ2luZSBu
b3RpZmllcyB1cyB0aGF0IHRoZSBzaXplIGNoYW5nZWQsIG9yIHdoZW4gdGhlIHJlYWR5IHN0YXRl
IHByb2dyZXNzZXMgdG8gSEFWRV9NRVRBREFUQS4KKworICAgICAgICAqIGh0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpzZXRSZWFk
eVN0YXRlKTogTm90aWZ5IHRoZSBtZWRpYSBkb2N1bWVudC4KKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyU2l6ZUNoYW5nZWQpOiBEaXR0by4KKyAgICAgICAg
KiBodG1sL01lZGlhRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFEb2N1bWVu
dDo6bWVkaWFFbGVtZW50TmF0dXJhbFNpemVDaGFuZ2VkKTogUGFzcyB0byB0aGUgY2hyb21lIGNs
aWVudC4KKyAgICAgICAgKiBodG1sL01lZGlhRG9jdW1lbnQuaDoKKyAgICAgICAgKiBwYWdlL0No
cm9tZUNsaWVudC5oOgorCiAyMDE1LTA3LTIzICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUu
Y29tPgogCiAgICAgICAgIFJlbGF4IG1lZGlhIHBsYXliYWNrIHJlc3RyaWN0aW9ucyBpZiB0aGUg
YWxsb3dzTWVkaWFEb2N1bWVudElubGluZVBsYXliYWNrIHByb3BlcnR5IGlzIHNldC4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZwppbmRleCAxZjc4MzgwYmRmMGFiNWZhNTg3N2IzY2MwYmEyNzE5ODMwZjY0ZTc3Li43MGE3NzI5
NWI2OTFjNTI3YjNmOWUwNjJmODY1MGI1ZTM4ZDg0ODMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
NDMgQEAKKzIwMTUtMDctMjEgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAg
ICAgICAgTm90aWZ5IHRoZSBVSSBkZWxlZ2F0ZSB3aGVuIGEgTWVkaWFEb2N1bWVudCdzIG5hdHVy
YWwgc2l6ZSBjaGFuZ2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNDcxODIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBQaXBlIG5vdGlmaWNhdGlvbnMgb2YgbWVkaWEgZG9jdW1lbnQgbmF0dXJhbCBzaXpl
IGNoYW5nZXMgdXAgZnJvbSB0aGUgY2hyb21lIGNsaWVudCwgdGhyb3VnaAorICAgICAgICB0byB0
aGUgVUlQcm9jZXNzLCAgdGhyb3VnaCB0aGUgcGFnZSBjbGllbnQsIHRocm91Z2ggdGhlIFdLV2Vi
VmlldywgdG8gdGhlIFVJRGVsZWdhdGUuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSVVJ
Q2xpZW50Lmg6CisgICAgICAgIChBUEk6OlVJQ2xpZW50OjptZWRpYURvY3VtZW50TmF0dXJhbFNp
emVDaGFuZ2VkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVBy
aXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAg
ICAgICAgKC1bV0tXZWJWaWV3IF9tZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkOl0pOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3SW50ZXJuYWwuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9D
b2NvYS9VSURlbGVnYXRlLm1tOgorICAgICAgICAoV2ViS2l0OjpVSURlbGVnYXRlOjpzZXREZWxl
Z2F0ZSk6CisgICAgICAgIChXZWJLaXQ6OlVJRGVsZWdhdGU6OlVJQ2xpZW50OjptZWRpYURvY3Vt
ZW50TmF0dXJhbFNpemVDaGFuZ2VkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlUHJveHk6Om1lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFn
ZVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudElt
cGxJT1MuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tOgor
ICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6bWVkaWFEb2N1bWVudE5hdHVyYWxTaXpl
Q2hhbmdlZCk6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwubW06CisgICAgICAgIChXZWJLaXQ6
OlBhZ2VDbGllbnRJbXBsOjptZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkKToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvaW9zL1dlYkNocm9tZUNsaWVudElPUy5tbToK
KyAgICAgICAgKFdlYktpdDo6V2ViQ2hyb21lQ2xpZW50OjptZWRpYURvY3VtZW50TmF0dXJhbFNp
emVDaGFuZ2VkKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6Om1lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQp
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuaDogQWRkIGRlZmF1bHQsIGVtcHR5IGltcGxl
bWVudGF0aW9uIG9mIG5ldyBwdXJlLXZpcnR1YWwgbWV0aG9kLgorICAgICAgICAqIFVJUHJvY2Vz
cy9lZmwvV2ViVmlld0VmbC5oOiBEaXR0by4KKwogMjAxNS0wNy0yMyAgRW5yaWNhIENhc3VjY2kg
IDxlbnJpY2FAYXBwbGUuY29tPgogCiAgICAgICAgIE9uZSBtb3JlIGlPUyBidWlsZCBmaXguCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCBiMDQzYjg0ZmFjZWQ3
NzE1YTU4ZTUyODdkYmY1NzliNmNkNjg0NjgyLi43YjJkZWFhMjkyOTczM2ZkYzliZjU2NDUzYjhi
YmM3OGQ0YTBlYWFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVs
ZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAK
QEAgLTIxMTUsNiArMjExNSw5IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c2V0UmVhZHlTdGF0
ZShNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZSBzdGF0ZSkKICAgICAgICAgaWYgKHJlbmRlcmVyKCkp
CiAgICAgICAgICAgICByZW5kZXJlcigpLT51cGRhdGVGcm9tRWxlbWVudCgpOwogCisgICAgICAg
IGlmIChpczxNZWRpYURvY3VtZW50Pihkb2N1bWVudCgpKSkKKyAgICAgICAgICAgIGRvd25jYXN0
PE1lZGlhRG9jdW1lbnQ+KGRvY3VtZW50KCkpLm1lZGlhRWxlbWVudE5hdHVyYWxTaXplQ2hhbmdl
ZChleHBhbmRlZEludFNpemUobV9wbGF5ZXItPm5hdHVyYWxTaXplKCkpKTsKKwogICAgICAgICBs
b2dNZWRpYUxvYWRSZXF1ZXN0KGRvY3VtZW50KCkucGFnZSgpLCBtX3BsYXllci0+ZW5naW5lRGVz
Y3JpcHRpb24oKSwgU3RyaW5nKCksIHRydWUpOwogICAgIH0KIApAQCAtNDM4Niw2ICs0Mzg5LDkg
QEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllclNpemVDaGFuZ2VkKE1lZGlhUGxh
eWVyKikKIHsKICAgICBMT0coTWVkaWEsICJIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllclNp
emVDaGFuZ2VkKCVwKSIsIHRoaXMpOwogCisgICAgaWYgKGlzPE1lZGlhRG9jdW1lbnQ+KGRvY3Vt
ZW50KCkpICYmIG1fcGxheWVyKQorICAgICAgICBkb3duY2FzdDxNZWRpYURvY3VtZW50Pihkb2N1
bWVudCgpKS5tZWRpYUVsZW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQoZXhwYW5kZWRJbnRTaXplKG1f
cGxheWVyLT5uYXR1cmFsU2l6ZSgpKSk7CisKICAgICBiZWdpblByb2Nlc3NpbmdNZWRpYVBsYXll
ckNhbGxiYWNrKCk7CiAgICAgaWYgKHJlbmRlcmVyKCkpCiAgICAgICAgIHJlbmRlcmVyKCktPnVw
ZGF0ZUZyb21FbGVtZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlh
RG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYURvY3VtZW50LmNwcAppbmRl
eCBlZmUxYjFmZTM1MjliMDczOWZiNTgwMTUzZDFmODA2YzhjMjE2YmZlLi4yZTgxMDNlNDhiZDc4
YTdiOTI2ZjQ4ZTIwM2NkNWEwMDQ5YWQ3NWUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL01lZGlhRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFEb2N1
bWVudC5jcHAKQEAgLTI4LDYgKzI4LDggQEAKICNpZiBFTkFCTEUoVklERU8pCiAjaW5jbHVkZSAi
TWVkaWFEb2N1bWVudC5oIgogCisjaW5jbHVkZSAiQ2hyb21lLmgiCisjaW5jbHVkZSAiQ2hyb21l
Q2xpZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKICNpbmNsdWRlICJFdmVudE5h
bWVzLmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZVBsYWNlaG9sZGVyLmgiCkBAIC0yNTksNSAr
MjYxLDE3IEBAIHZvaWQgTWVkaWFEb2N1bWVudDo6cmVwbGFjZU1lZGlhRWxlbWVudFRpbWVyRmly
ZWQoKQogICAgIH0KIH0KIAordm9pZCBNZWRpYURvY3VtZW50OjptZWRpYUVsZW1lbnROYXR1cmFs
U2l6ZUNoYW5nZWQoY29uc3QgSW50U2l6ZSYgbmV3U2l6ZSkKK3sKKyAgICBpZiAob3duZXJFbGVt
ZW50KCkpCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChuZXdTaXplLmlzWmVybygpKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpZiAocGFnZSgpKQorICAgICAgICBwYWdlKCktPmNocm9tZSgp
LmNsaWVudCgpLm1lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQobmV3U2l6ZSk7Cit9CisK
IH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYURvY3VtZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRG9jdW1lbnQuaAppbmRleCAxY2NhNzg1YmMw
M2VkNWIxMzM1ODNhZWIwMWYzMGVmZDIxZmU4NmFmLi5iYTY5MTg3M2EwOWJhNThlMmI1NWNkZDVl
ZDIyMTU4NDZjMzQzYTY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRG9j
dW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRG9jdW1lbnQuaApAQCAtNDEs
NiArNDEsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB+TWVkaWFEb2N1bWVudCgpOwogCiAgICAg
dm9pZCBtZWRpYUVsZW1lbnRTYXdVbnN1cHBvcnRlZFRyYWNrcygpOworICAgIHZvaWQgbWVkaWFF
bGVtZW50TmF0dXJhbFNpemVDaGFuZ2VkKGNvbnN0IEludFNpemUmKTsKICAgICBTdHJpbmcgb3V0
Z29pbmdSZWZlcnJlcigpIGNvbnN0IHsgcmV0dXJuIG1fb3V0Z29pbmdSZWZlcnJlcjsgfQogCiBw
cml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKaW5kZXggNGY4MTQzZDJiMWZlMWNm
MzM5YzQ4ZjZlNjc3MzEyODIwMThlNDA5Yi4uNWZjMTE2ZTA0ZWQ1N2M2ZWZkY2M1ZTk2ODUxZDVk
ZWY4ZDY1ZThkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCkBAIC00NDksNiArNDQ5
LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgcGxheWJhY2tUYXJnZXRQaWNrZXJDbGll
bnRTdGF0ZURpZENoYW5nZSh1aW50NjRfdCAvKmNvbnRleHRJZCovLCBNZWRpYVByb2R1Y2VyOjpN
ZWRpYVN0YXRlRmxhZ3MpIHsgfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoVklERU8pCisgICAgdmly
dHVhbCB2b2lkIG1lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQoY29uc3QgV2ViQ29yZTo6
SW50U2l6ZSYpIHsgfQorI2VuZGlmCisKIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIH5DaHJvbWVD
bGllbnQoKSB7IH0KIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0FQSVVJQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVVJQ2xpZW50
LmgKaW5kZXggZDYyZjJkYTZkZjE5Yzg2OWU5NzQxOWEzMWNjZjZiMjllZjA3NWJkNy4uMDM0MTM0
NTU3MzIyYWFjODM1NWY4ZDAyZmRjZTVhMzMxZTcwNzg0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaApAQCAtMTY3LDYgKzE2NywxMCBAQCBwdWJsaWM6CiAj
ZW5kaWYKIAogICAgIHZpcnR1YWwgdm9pZCBkaWRDbGlja0F1dG9GaWxsQnV0dG9uKFdlYktpdDo6
V2ViUGFnZVByb3h5JiwgQVBJOjpPYmplY3QqKSB7IH0KKworI2lmIEVOQUJMRShWSURFTykKKyAg
ICB2aXJ0dWFsIHZvaWQgbWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZChjb25zdCBXZWJD
b3JlOjpJbnRTaXplJikgeyB9CisjZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEFQSQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQ
cml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0
ZVByaXZhdGUuaAppbmRleCBmN2EwZTUzZmVlOTk0NGNkMmE3NmZkZjIyNDMwZGYzMzE1Mzk0YTBi
Li5kMzcxYzJkOTg1NTRlMTY1MWY4OGVkMWVhNmUzYWU1MTgzYmE5ZDZiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZh
dGUuaApAQCAtNjgsNiArNjgsNyBAQCBzdHJ1Y3QgVUlFZGdlSW5zZXRzOwogLSAoVUlFZGdlSW5z
ZXRzKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGZpbmFsT2JzY3VyZWRJbnNldHNGb3JT
Y3JvbGxWaWV3OihVSVNjcm9sbFZpZXcgKilzY3JvbGxWaWV3IHdpdGhWZWxvY2l0eTooQ0dQb2lu
dCl2ZWxvY2l0eSB0YXJnZXRDb250ZW50T2Zmc2V0Oihpbm91dCBDR1BvaW50ICopdGFyZ2V0Q29u
dGVudE9mZnNldDsKIC0gKFVJVmlld0NvbnRyb2xsZXIgKilfd2ViVmlldzooV0tXZWJWaWV3ICop
d2ViVmlldyBwcmV2aWV3Vmlld0NvbnRyb2xsZXJGb3JVUkw6KE5TVVJMICopdXJsIGRlZmF1bHRB
Y3Rpb25zOihXS19BUlJBWShfV0tFbGVtZW50QWN0aW9uICopICopYWN0aW9ucyBlbGVtZW50SW5m
bzooX1dLQWN0aXZhdGVkRWxlbWVudEluZm8gKillbGVtZW50SW5mbyBXS19BVkFJTEFCTEUoV0tf
TUFDX1RCQSwgV0tfSU9TX1RCQSk7CiAtIChVSVZpZXdDb250cm9sbGVyICopX3dlYlZpZXc6KFdL
V2ViVmlldyAqKXdlYlZpZXcgcHJldmlld1ZpZXdDb250cm9sbGVyRm9yQW5pbWF0ZWRJbWFnZUF0
VVJMOihOU1VSTCAqKXVybCBkZWZhdWx0QWN0aW9uczooV0tfQVJSQVkoX1dLRWxlbWVudEFjdGlv
biAqKSAqKWFjdGlvbnMgZWxlbWVudEluZm86KF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZvICopZWxl
bWVudEluZm8gaW1hZ2VTaXplOihDR1NpemUpaW1hZ2VTaXplIFdLX0FWQUlMQUJMRShXS19NQUNf
VEJBLCBXS19JT1NfVEJBKTsKKy0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcg
bWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZDooQ0dTaXplKXNpemU7CiAjZW5kaWYKIAog
QGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dl
YlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5t
bQppbmRleCA4ODk0M2NlZGRiNzU5NzRiNWZiODVmM2VkNTY1YzNkYzZmMDQxYzA1Li45N2Y1NmM1
YmU3MDI2NjFiYjkxYTY5ODZkYjM4YmE0ZjZiOWExNmU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQpAQCAtMTg4MSw2ICsxODgxLDE1IEBA
IHN0YXRpYyBXZWJDb3JlOjpGbG9hdFBvaW50IGNvbnN0cmFpbkNvbnRlbnRPZmZzZXQoV2ViQ29y
ZTo6RmxvYXRQb2ludCBjb250ZW50T2ZmCiB9CiAjZW5kaWYgLy8gUExBVEZPUk0oTUFDKQogCisj
aWYgRU5BQkxFKFZJREVPKQorLSAodm9pZClfbWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdl
ZDooTlNTaXplKW5ld1NpemUKK3sKKyAgICBpZCA8V0tVSURlbGVnYXRlUHJpdmF0ZT4gdWlEZWxl
Z2F0ZSA9IHN0YXRpY19jYXN0PGlkIDxXS1VJRGVsZWdhdGVQcml2YXRlPj4oW3NlbGYgVUlEZWxl
Z2F0ZV0pOworICAgIGlmIChbdWlEZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9y
KF93ZWJWaWV3Om1lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQ6KV0pCisgICAgICAgIFt1
aURlbGVnYXRlIF93ZWJWaWV3OnNlbGYgbWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZDpu
ZXdTaXplXTsKK30KKyNlbmRpZgorCiBAZW5kCiAKIEBpbXBsZW1lbnRhdGlvbiBXS1dlYlZpZXcg
KFdLUHJpdmF0ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3SW50ZXJuYWwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3SW50ZXJuYWwuaAppbmRleCBkMmRlZjIzZmQ1MjA5ZDQ5OTQwYWFiNGFlZTg5
NTgwNTNmNDJkNDgyLi4zYTdhNjJkMDQyMTYxMWRhMzQxMTNhYjA2M2VlNWEzNDNiMjBlYTYzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0lu
dGVybmFsLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXdJbnRlcm5hbC5oCkBAIC0xMTYsNiArMTE2LDEwIEBAIHN0cnVjdCBQcmludEluZm87CiAKIC0g
KFdLUGFnZVJlZilfcGFnZUZvclRlc3Rpbmc7CiAKKyNpZiBFTkFCTEUoVklERU8pCistICh2b2lk
KV9tZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkOihDR1NpemUpbmV3U2l6ZTsKKyNlbmRp
ZgorCiBAZW5kCiAKIFdLV2ViVmlldyogZnJvbVdlYlBhZ2VQcm94eShXZWJLaXQ6OldlYlBhZ2VQ
cm94eSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvUGFn
ZUNsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGll
bnRJbXBsLmgKaW5kZXggMTFlNzc1N2E3NGMxNmQ5OTBkMjE0NzUxMmQ1YjliZDNkNmEzMzAzOS4u
Y2ZkZWU2NGY2NTUyNjdjNzY4OWNhMTdjNDY4OWRhYWRkMDQ1M2UwNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5oCkBAIC0xMzUsNiAr
MTM1LDEwIEBAIHByaXZhdGU6CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlQmFja2dyb3Vu
ZENvbG9yKCkgb3ZlcnJpZGU7CiAKKyNpZiBFTkFCTEUoVklERU8pCisgICAgdmlydHVhbCB2b2lk
IG1lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYp
IG92ZXJyaWRlIHsgfQorI2VuZGlmCisKICAgICB2aXJ0dWFsIHZvaWQgcmVmVmlldygpIG92ZXJy
aWRlOwogICAgIHZpcnR1YWwgdm9pZCBkZXJlZlZpZXcoKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLmgKaW5kZXggZmUxZGQ5NjY3NGU2Mjhj
NGExMjM5NWY2YTQ1NWMxYTYzOGZmOWI4MS4uN2U3MWRiYTg3NTAyZDE2OWU1NTIyZDYwZmYxNDRm
ZjY0ZDNmODllYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1VJ
RGVsZWdhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0
ZS5oCkBAIC03Niw2ICs3Niw5IEBAIHByaXZhdGU6CiAgICAgICAgIHZpcnR1YWwgUmV0YWluUHRy
PE5TQXJyYXk+IGFjdGlvbnNGb3JFbGVtZW50KF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZvICosIFJl
dGFpblB0cjxOU0FycmF5PiBkZWZhdWx0QWN0aW9ucykgb3ZlcnJpZGU7CiAgICAgICAgIHZpcnR1
YWwgdm9pZCBkaWROb3RIYW5kbGVUYXBBc0NsaWNrKGNvbnN0IFdlYkNvcmU6OkludFBvaW50Jikg
b3ZlcnJpZGU7CiAjZW5kaWYKKyNpZiBFTkFCTEUoVklERU8pCisgICAgICAgIHZpcnR1YWwgdm9p
ZCBtZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkKGNvbnN0IFdlYkNvcmU6OkludFNpemUm
KSBvdmVycmlkZTsKKyNlbmRpZgogCiAgICAgICAgIFVJRGVsZWdhdGUmIG1fdWlEZWxlZ2F0ZTsK
ICAgICB9OwpAQCAtMTAzLDYgKzEwNiw5IEBAIHByaXZhdGU6CiAgICAgICAgIGJvb2wgd2ViVmll
d0FjdGlvbnNGb3JFbGVtZW50RGVmYXVsdEFjdGlvbnMgOiAxOwogICAgICAgICBib29sIHdlYlZp
ZXdEaWROb3RIYW5kbGVUYXBBc0NsaWNrQXRQb2ludCA6IDE7CiAjZW5kaWYKKyNpZiBFTkFCTEUo
VklERU8pCisgICAgICAgIGJvb2wgd2ViVmlld01lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNoYW5n
ZWQgOiAxOworI2VuZGlmCiAgICAgfSBtX2RlbGVnYXRlTWV0aG9kczsKIH07CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0KaW5kZXggNTdlMGFkYzAwZGEy
MDU5NzkzOGY2ZmJiNGU1MThlMjg3NGQzZWE2Yy4uZWM5NTc1MGJmMDc4ZTAwNmQzYzEwMjE3MTdm
NDcyZWFmOTdkZGE5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29h
L1VJRGVsZWdhdGUubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1VJRGVs
ZWdhdGUubW0KQEAgLTg1LDYgKzg1LDkgQEAgdm9pZCBVSURlbGVnYXRlOjpzZXREZWxlZ2F0ZShp
ZCA8V0tVSURlbGVnYXRlPiBkZWxlZ2F0ZSkKICAgICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3
QWN0aW9uc0ZvckVsZW1lbnREZWZhdWx0QWN0aW9ucyA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2Vs
ZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OmFjdGlvbnNGb3JFbGVtZW50OmRlZmF1bHRBY3Rpb25z
OildOwogICAgIG1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdEaWROb3RIYW5kbGVUYXBBc0NsaWNr
QXRQb2ludCA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3
OmRpZE5vdEhhbmRsZVRhcEFzQ2xpY2tBdFBvaW50OildOwogI2VuZGlmCisjaWYgRU5BQkxFKFZJ
REVPKQorICAgIG1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdNZWRpYURvY3VtZW50TmF0dXJhbFNp
emVDaGFuZ2VkID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZp
ZXc6bWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZDopXTsKKyNlbmRpZgogfQogCiBVSURl
bGVnYXRlOjpVSUNsaWVudDo6VUlDbGllbnQoVUlEZWxlZ2F0ZSYgdWlEZWxlZ2F0ZSkKQEAgLTMz
OCw2ICszNDEsMjAgQEAgdm9pZCBVSURlbGVnYXRlOjpVSUNsaWVudDo6ZGlkTm90SGFuZGxlVGFw
QXNDbGljayhjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgcG9pbnQKIH0KICNlbmRpZgogCisjaWYg
RU5BQkxFKFZJREVPKQordm9pZCBVSURlbGVnYXRlOjpVSUNsaWVudDo6bWVkaWFEb2N1bWVudE5h
dHVyYWxTaXplQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBuZXdTaXplKQoreworICAg
IGlmICghbV91aURlbGVnYXRlLm1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdNZWRpYURvY3VtZW50
TmF0dXJhbFNpemVDaGFuZ2VkKQorICAgICAgICByZXR1cm47CisKKyAgICBhdXRvIGRlbGVnYXRl
ID0gbV91aURlbGVnYXRlLm1fZGVsZWdhdGUuZ2V0KCk7CisgICAgaWYgKCFkZWxlZ2F0ZSkKKyAg
ICAgICAgcmV0dXJuOworCisgICAgW3N0YXRpY19jYXN0PGlkIDxXS1VJRGVsZWdhdGVQcml2YXRl
Pj4oZGVsZWdhdGUpIF93ZWJWaWV3Om1fdWlEZWxlZ2F0ZS5tX3dlYlZpZXcgbWVkaWFEb2N1bWVu
dE5hdHVyYWxTaXplQ2hhbmdlZDpuZXdTaXplXTsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKIAogI2VuZGlmIC8vIFdLX0FQSV9FTkFCTEVECmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1BhZ2VDbGllbnQuaAppbmRleCA1YmEyZDEwMDNhMGM0MDUyZWUxNGNkODg1YzFlYTE3YjNkNThj
MzhjLi4xNjM4Y2M0MGFlMDk4MzIwZDA5ZDg4ZmFkM2Q5OTEwZjc5OWJkN2FhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKQEAgLTMyOSw2ICszMjksMTAgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgV2ViQ29yZTo6V2ViTWVkaWFTZXNzaW9uTWFuYWdlciYgbWVkaWFTZXNzaW9u
TWFuYWdlcigpID0gMDsKICNlbmRpZgogCisjaWYgRU5BQkxFKFZJREVPKQorICAgIHZpcnR1YWwg
dm9pZCBtZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkKGNvbnN0IFdlYkNvcmU6OkludFNp
emUmKSA9IDA7CisjZW5kaWYKKwogICAgIHZpcnR1YWwgdm9pZCByZWZWaWV3KCkgPSAwOwogICAg
IHZpcnR1YWwgdm9pZCBkZXJlZlZpZXcoKSA9IDA7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCBiNzg2MDA2NTA2ZmNiYmUxNmM1ODU0MTRmNWY3OGU1
OTJiY2M0YmYzLi4zNGFlMzJmYTRmMWM0OGQyMTZmYzliNTc2NTFiMTA2YjdkZTMxYjNmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtNjAxNCw2ICs2MDE0
LDEzIEBAIHZvaWQgV2ViUGFnZVByb3h5OjppbnN0YWxsVmlld1N0YXRlQ2hhbmdlQ29tcGxldGlv
bkhhbmRsZXIodm9pZCAoXmNvbXBsZXRpb25IYW5kCiB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShW
SURFTykKK3ZvaWQgV2ViUGFnZVByb3h5OjptZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2Vk
KGNvbnN0IFdlYkNvcmU6OkludFNpemUmIG5ld1NpemUpCit7CisgICAgbV91aUNsaWVudC0+bWVk
aWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZChuZXdTaXplKTsKK30KKyNlbmRpZgorCiB2b2lk
IFdlYlBhZ2VQcm94eTo6c2V0U2hvdWxkRGlzcGF0Y2hGYWtlTW91c2VNb3ZlRXZlbnRzKGJvb2wg
c2hvdWxkRGlzcGF0Y2hGYWtlTW91c2VNb3ZlRXZlbnRzKQogewogICAgIG1fcHJvY2Vzcy0+c2Vu
ZChNZXNzYWdlczo6V2ViUGFnZTo6U2V0U2hvdWxkRGlzcGF0Y2hGYWtlTW91c2VNb3ZlRXZlbnRz
KHNob3VsZERpc3BhdGNoRmFrZU1vdXNlTW92ZUV2ZW50cyksIG1fcGFnZUlEKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCA5ZDhlOTA5ZjkxNDA1NWYxMTExYzM5
NDE0ZTkwNTAxM2RmZDEwM2Y1Li4yMWQyMjg4MDMzNTY2NzczM2ViMGY0ZTY4OGEyNzgxZmJhYTll
Y2ZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0xNDc3LDYg
KzE0NzcsMTAgQEAgcHJpdmF0ZToKICAgICB2b2lkIHVzZUZpeGVkTGF5b3V0RGlkQ2hhbmdlKGJv
b2wgdXNlRml4ZWRMYXlvdXQpIHsgbV91c2VGaXhlZExheW91dCA9IHVzZUZpeGVkTGF5b3V0OyB9
CiAgICAgdm9pZCBmaXhlZExheW91dFNpemVEaWRDaGFuZ2UoV2ViQ29yZTo6SW50U2l6ZSBmaXhl
ZExheW91dFNpemUpIHsgbV9maXhlZExheW91dFNpemUgPSBmaXhlZExheW91dFNpemU7IH0KIAor
I2lmIEVOQUJMRShWSURFTykKKyAgICB2b2lkIG1lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNoYW5n
ZWQoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpOworI2VuZGlmCisKICAgICB2b2lkIGhhbmRsZUF1
dG9GaWxsQnV0dG9uQ2xpY2soY29uc3QgVXNlckRhdGEmKTsKIAogICAgIHZvaWQgaGFuZGxlTWVz
c2FnZShJUEM6OkNvbm5lY3Rpb24mLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2VOYW1lLCBjb25zdCBV
c2VyRGF0YSYgbWVzc2FnZUJvZHkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXggYzAzZGI1NGI1NGRjNzEyZDUwZGM2YjBlODVm
YTUzNDFkYmRkMmM4ZC4uZjMyYmI3YWQ1ZGEzYWJjY2UwYzE3NzQzNDQxMGFhMGU3MDAyMzA0NSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdl
cy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2Vz
LmluCkBAIC00NDQsNiArNDQ0LDEwIEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAgICAg
UGxheWJhY2tUYXJnZXRQaWNrZXJDbGllbnRTdGF0ZURpZENoYW5nZSh1aW50NjRfdCBjb250ZXh0
SWQsIHVuc2lnbmVkIG1lZGlhU3RhdGUpCiAjZW5kaWYKIAorI2lmIEVOQUJMRShWSURFTykKKyAg
ICBNZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkKFdlYkNvcmU6OkludFNpemUgbmV3U2l6
ZSkKKyNlbmRpZgorCiAgICAgVXNlRml4ZWRMYXlvdXREaWRDaGFuZ2UoYm9vbCB1c2VGaXhlZExh
eW91dCkKICAgICBGaXhlZExheW91dFNpemVEaWRDaGFuZ2UoV2ViQ29yZTo6SW50U2l6ZSBmaXhl
ZExheW91dFNpemUpCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZs
L1dlYlZpZXdFZmwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViVmlld0VmbC5o
CmluZGV4IGEwY2FmMTAzYzVmYmIzMmU1YmRmMWZjYjM2MDQ1MDJhMWFhMGUxNGIuLjM2MjIyNDc5
ZTJmOWQwNmExMDNlMzUxOThiNjMwNjcwOGI1MjQ1ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9lZmwvV2ViVmlld0VmbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9lZmwvV2ViVmlld0VmbC5oCkBAIC05MCw2ICs5MCwxMCBAQCBwcml2YXRlOgogICAgIHZp
cnR1YWwgdm9pZCBkaWRGaW5pc2hMb2FkRm9yTWFpbkZyYW1lKCkgb3ZlcnJpZGUgZmluYWwgeyB9
CiAgICAgdmlydHVhbCB2b2lkIGRpZFNhbWVEb2N1bWVudE5hdmlnYXRpb25Gb3JNYWluRnJhbWUo
U2FtZURvY3VtZW50TmF2aWdhdGlvblR5cGUpIG92ZXJyaWRlIGZpbmFsIHsgfQogCisjaWYgRU5B
QkxFKFZJREVPKQorICAgIHZpcnR1YWwgdm9pZCBtZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFu
Z2VkKGNvbnN0IFdlYkNvcmU6OkludFNpemUmKSBvdmVycmlkZSBmaW5hbCB7IH0KKyNlbmRpZgor
CiAgICAgdmlydHVhbCB2b2lkIHJlZlZpZXcoKSBvdmVycmlkZSBmaW5hbCB7IH0KICAgICB2aXJ0
dWFsIHZvaWQgZGVyZWZWaWV3KCkgb3ZlcnJpZGUgZmluYWwgeyB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaAppbmRleCBjYzQwYjU2Zjc5
NzZjODc3OGJlMDI4NjM5NWI4OTYyZTFlMjFkZDc4Li4xNTg1ZjA1MTdhMGQ3NWM3OWRkOTUxOTNk
ZGY5Y2MzNTk4ZjA2Y2ZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9z
L1BhZ2VDbGllbnRJbXBsSU9TLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9Q
YWdlQ2xpZW50SW1wbElPUy5oCkBAIC0xODYsNiArMTg2LDEwIEBAIHByaXZhdGU6CiAKICAgICB2
aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlQmFja2dyb3VuZENvbG9yKCkgb3ZlcnJpZGU7CiAKKyNpZiBF
TkFCTEUoVklERU8pCisgICAgdmlydHVhbCB2b2lkIG1lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNo
YW5nZWQoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpIG92ZXJyaWRlOworI2VuZGlmCisKICAgICB2
aXJ0dWFsIHZvaWQgcmVmVmlldygpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBkZXJlZlZp
ZXcoKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lv
cy9QYWdlQ2xpZW50SW1wbElPUy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFn
ZUNsaWVudEltcGxJT1MubW0KaW5kZXggYTA4MTZjNDVjYTE2ZjgwMDEyMzZkNGYxZjBmMzE3MTJk
Yzg2YTFmMS4uNzU2OWZiY2IyM2E5MDBjY2MxYTgyZmQ2YmIzMGYzNzk0OWI4MGQ0NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCkBA
IC03MzksNiArNzM5LDE0IEBAIHZvaWQgUGFnZUNsaWVudEltcGw6OmRpZENoYW5nZUJhY2tncm91
bmRDb2xvcigpCiAgICAgW21fd2ViVmlldyBfdXBkYXRlU2Nyb2xsVmlld0JhY2tncm91bmRdOwog
fQogCisjaWYgRU5BQkxFKFZJREVPKQordm9pZCBQYWdlQ2xpZW50SW1wbDo6bWVkaWFEb2N1bWVu
dE5hdHVyYWxTaXplQ2hhbmdlZChjb25zdCBJbnRTaXplJiBuZXdTaXplKQoreworICAgIFttX3dl
YlZpZXcgX21lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQ6bmV3U2l6ZV07Cit9CisjZW5k
aWYKKworCiB2b2lkIFBhZ2VDbGllbnRJbXBsOjpyZWZWaWV3KCkKIHsKICAgICBbbV9jb250ZW50
VmlldyByZXRhaW5dOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9Q
YWdlQ2xpZW50SW1wbC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50
SW1wbC5oCmluZGV4IGFiZTM5NGI3NmY0YmRiODdkODU1Njg1Njk5MzQzMmVjYzUxMWJiZjcuLmM2
OWVlYTY0YzFlNmViYzA3N2Y1ODI1Y2Q2ZGMzMzM0YWMyMDgyZDcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLmgKQEAgLTIwMyw2ICsyMDMsMTAgQEAg
cHJpdmF0ZToKIAogICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VCYWNrZ3JvdW5kQ29sb3IoKSBv
dmVycmlkZTsKIAorI2lmIEVOQUJMRShWSURFTykKKyAgICB2aXJ0dWFsIHZvaWQgbWVkaWFEb2N1
bWVudE5hdHVyYWxTaXplQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpJbnRTaXplJikgb3ZlcnJpZGU7
CisjZW5kaWYKKwogICAgIFdLVmlldyAqbV93a1ZpZXc7CiAgICAgV0tXZWJWaWV3ICptX3dlYlZp
ZXc7CiAgICAgUmV0YWluUHRyPFdLRWRpdG9yVW5kb1RhcmdldE9iakM+IG1fdW5kb1RhcmdldDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwu
bW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tCmluZGV4
IDgxZDBiMWIwMDQ2YzQ1ZmFkZDM5MTc1YTBkY2M3OGUwYjA0YWYyZGMuLjNiYmRmMThkNDczMGU2
MDkzM2FiOGM1NmI0YzY5MTgyNGUyNDE4MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5tbQpAQCAtODM2LDYgKzgzNiwxMyBAQCBXZWJDb3JlOjpX
ZWJNZWRpYVNlc3Npb25NYW5hZ2VyJiBQYWdlQ2xpZW50SW1wbDo6bWVkaWFTZXNzaW9uTWFuYWdl
cigpCiB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShWSURFTykKK3ZvaWQgUGFnZUNsaWVudEltcGw6
Om1lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQoY29uc3QgSW50U2l6ZSYgbmV3U2l6ZSkK
K3sKKyAgICBbbV93ZWJWaWV3IF9tZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkOm5ld1Np
emVdOworfQorI2VuZGlmCisKIHZvaWQgUGFnZUNsaWVudEltcGw6OnJlZlZpZXcoKQogewogICAg
IENGUmV0YWluKG1fd2tWaWV3KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IDE2NTNkZmMxMDA2
ZmU0ZTk4MzI4NjYyMDlhYzAwMmI4Yzg3ZGUyY2YuLjhhZjQ5YjE0ZGE5YjAxOTRjMjg4MjM4YzM5
NjI0YTM5M2Q2NWU1YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtMzIzLDYgKzMyMywxMCBA
QCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBwbGF5YmFja1RhcmdldFBpY2tlckNsaWVudFN0
YXRlRGlkQ2hhbmdlKHVpbnQ2NF90LCBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNZWRpYVN0YXRl
RmxhZ3MpIG92ZXJyaWRlOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoVklERU8pCisgICAgdmlydHVh
bCB2b2lkIG1lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQoY29uc3QgV2ViQ29yZTo6SW50
U2l6ZSYpIG92ZXJyaWRlOworI2VuZGlmCisKICAgICBTdHJpbmcgbV9jYWNoZWRUb29sVGlwOwog
ICAgIG11dGFibGUgUmVmUHRyPFdlYkZyYW1lPiBtX2NhY2hlZEZyYW1lU2V0TGFyZ2VzdEZyYW1l
OwogICAgIG11dGFibGUgYm9vbCBtX2NhY2hlZE1haW5GcmFtZUhhc0hvcml6b250YWxTY3JvbGxi
YXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L2lvcy9XZWJDaHJvbWVDbGllbnRJT1MubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L2lvcy9XZWJDaHJvbWVDbGllbnRJT1MubW0KaW5kZXggYTI1NTkxZWNkYWM3
M2JmMDcwMjIxMDFiMDhhNWU2YzljNjZlMGYxNi4uYzUyNTg4Y2U5NzdhNmQ3MjJkZDRkNzM2OTI2
MTZiNmY4MGIxODdhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9pb3MvV2ViQ2hyb21lQ2xpZW50SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvaW9zL1dlYkNocm9tZUNsaWVudElPUy5tbQpAQCAt
MTQ2LDYgKzE0NiwxMyBAQCBpbnQgV2ViQ2hyb21lQ2xpZW50OjpkZXZpY2VPcmllbnRhdGlvbigp
IGNvbnN0CiAgICAgcmV0dXJuIG1fcGFnZS0+ZGV2aWNlT3JpZW50YXRpb24oKTsKIH0KIAorI2lm
IEVOQUJMRShWSURFTykKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50OjptZWRpYURvY3VtZW50TmF0dXJh
bFNpemVDaGFuZ2VkKGNvbnN0IFdlYkNvcmU6OkludFNpemUmIG5ld1NpemUpCit7CisgICAgbV9w
YWdlLT5tZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkKG5ld1NpemUpOworfQorI2VuZGlm
CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8gUExBVEZPUk0oSU9TKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGM1M2Vi
OWQ5ODVkN2Q3YzUyYzE5Yzc3MmY3NTM2OTU1ODBhZmFlZWYuLjk0Njg0ZDQ4NmNiODA0ODE3MWM5
ZjBlYmY1ODU1Y2Y3NjcxMWQyZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTUwMzEsNCArNTAzMSwxMSBAQCB2b2lkIFdlYlBhZ2U6OnNl
dFVzZXJDb250ZW50RXh0ZW5zaW9uc0VuYWJsZWQoYm9vbCB1c2VyQ29udGVudEV4dGVuc2lvbnNF
bmFibGVkKQogICAgIG1fcGFnZS0+c2V0VXNlckNvbnRlbnRFeHRlbnNpb25zRW5hYmxlZCh1c2Vy
Q29udGVudEV4dGVuc2lvbnNFbmFibGVkKTsKIH0KIAorI2lmIEVOQUJMRShWSURFTykKK3ZvaWQg
V2ViUGFnZTo6bWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZChjb25zdCBJbnRTaXplJiBu
ZXdTaXplKQoreworICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6TWVkaWFEb2N1bWVu
dE5hdHVyYWxTaXplQ2hhbmdlZChuZXdTaXplKSk7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApp
bmRleCBlYWE3MGUzYWVhMTU2YzA3YjAyM2Q3MTMxYTMwNDQ2M2Q2MTdkMTg5Li5mNDZmZGE2ODQ3
ZTQxNzkwMTEyOWI0N2NiMTRkYjNjZDM5ZDkwNzliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTkwMiw2ICs5MDIsMTAgQEAgcHVibGljOgogICAg
IHZvaWQgc2V0SW5wdXRNZXRob2RTdGF0ZShib29sKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKFZJ
REVPKQorICAgIHZvaWQgbWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZChjb25zdCBXZWJD
b3JlOjpJbnRTaXplJik7CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICBXZWJQYWdlKHVpbnQ2NF90
IHBhZ2VJRCwgY29uc3QgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257401</attachid>
            <date>2015-07-23 15:51:38 -0700</date>
            <delta_ts>2015-07-23 16:12:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147182-20150723155022.patch</filename>
            <type>text/plain</type>
            <size>21473</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3MjY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTQ5MjljZDU5ZDZhZGQ4
ODExMjg5MjgyYmY0Yzc5Y2NmNDE5NWVjYi4uNGU3YTMwNjA3YTViYmZkMTI3ZWE1NjJkNGQ3MGM2
ZDAzOWUzNGI4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE1LTA3LTIxICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIE5vdGlmeSB0aGUgVUkgZGVs
ZWdhdGUgd2hlbiBhIE1lZGlhRG9jdW1lbnQncyBuYXR1cmFsIHNpemUgY2hhbmdlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ3MTgyCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm90aWZ5IHRoZSBNZWRp
YURvY3VtZW50IHRoYXQgaXQncyB1bmRlcmx5aW5nIG1lZGlhIGVsZW1lbnQgaGFzIGNoYW5nZWQg
aXRzIG5hdHVyYWwgc2l6ZSwgZWl0aGVyIHdoZW4KKyAgICAgICAgdGhlIG1lZGlhIGVuZ2luZSBu
b3RpZmllcyB1cyB0aGF0IHRoZSBzaXplIGNoYW5nZWQsIG9yIHdoZW4gdGhlIHJlYWR5IHN0YXRl
IHByb2dyZXNzZXMgdG8gSEFWRV9NRVRBREFUQS4KKworICAgICAgICAqIGh0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpzZXRSZWFk
eVN0YXRlKTogTm90aWZ5IHRoZSBtZWRpYSBkb2N1bWVudC4KKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyU2l6ZUNoYW5nZWQpOiBEaXR0by4KKyAgICAgICAg
KiBodG1sL01lZGlhRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFEb2N1bWVu
dDo6bWVkaWFFbGVtZW50TmF0dXJhbFNpemVDaGFuZ2VkKTogUGFzcyB0byB0aGUgY2hyb21lIGNs
aWVudC4KKyAgICAgICAgKiBodG1sL01lZGlhRG9jdW1lbnQuaDoKKyAgICAgICAgKiBwYWdlL0No
cm9tZUNsaWVudC5oOgorCiAyMDE1LTA3LTIzICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUu
Y29tPgogCiAgICAgICAgIFJlbGF4IG1lZGlhIHBsYXliYWNrIHJlc3RyaWN0aW9ucyBpZiB0aGUg
YWxsb3dzTWVkaWFEb2N1bWVudElubGluZVBsYXliYWNrIHByb3BlcnR5IGlzIHNldC4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZwppbmRleCAyZDU0MDk2NGMzMTFmMmRkMjIzNmUxY2E1MTJlYzJjYWI2ODY3MTA4Li5iNjc1ZWU1
N2QzZWZjMWIxZGE3NDQ5ZWE3NTIxMTAwYjk1MDU5MmQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
NDMgQEAKKzIwMTUtMDctMjEgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAg
ICAgICAgTm90aWZ5IHRoZSBVSSBkZWxlZ2F0ZSB3aGVuIGEgTWVkaWFEb2N1bWVudCdzIG5hdHVy
YWwgc2l6ZSBjaGFuZ2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNDcxODIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBQaXBlIG5vdGlmaWNhdGlvbnMgb2YgbWVkaWEgZG9jdW1lbnQgbmF0dXJhbCBzaXpl
IGNoYW5nZXMgdXAgZnJvbSB0aGUgY2hyb21lIGNsaWVudCwgdGhyb3VnaAorICAgICAgICB0byB0
aGUgVUlQcm9jZXNzLCAgdGhyb3VnaCB0aGUgcGFnZSBjbGllbnQsIHRocm91Z2ggdGhlIFdLV2Vi
VmlldywgdG8gdGhlIFVJRGVsZWdhdGUuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSVVJ
Q2xpZW50Lmg6CisgICAgICAgIChBUEk6OlVJQ2xpZW50OjptZWRpYURvY3VtZW50TmF0dXJhbFNp
emVDaGFuZ2VkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVBy
aXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAg
ICAgICAgKC1bV0tXZWJWaWV3IF9tZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkOl0pOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3SW50ZXJuYWwuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9D
b2NvYS9VSURlbGVnYXRlLm1tOgorICAgICAgICAoV2ViS2l0OjpVSURlbGVnYXRlOjpzZXREZWxl
Z2F0ZSk6CisgICAgICAgIChXZWJLaXQ6OlVJRGVsZWdhdGU6OlVJQ2xpZW50OjptZWRpYURvY3Vt
ZW50TmF0dXJhbFNpemVDaGFuZ2VkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlUHJveHk6Om1lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFn
ZVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudElt
cGxJT1MuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tOgor
ICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6bWVkaWFEb2N1bWVudE5hdHVyYWxTaXpl
Q2hhbmdlZCk6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwubW06CisgICAgICAgIChXZWJLaXQ6
OlBhZ2VDbGllbnRJbXBsOjptZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkKToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvaW9zL1dlYkNocm9tZUNsaWVudElPUy5tbToK
KyAgICAgICAgKFdlYktpdDo6V2ViQ2hyb21lQ2xpZW50OjptZWRpYURvY3VtZW50TmF0dXJhbFNp
emVDaGFuZ2VkKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6Om1lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQp
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuaDogQWRkIGRlZmF1bHQsIGVtcHR5IGltcGxl
bWVudGF0aW9uIG9mIG5ldyBwdXJlLXZpcnR1YWwgbWV0aG9kLgorICAgICAgICAqIFVJUHJvY2Vz
cy9lZmwvV2ViVmlld0VmbC5oOiBEaXR0by4KKwogMjAxNS0wNy0yMyAgSmVyIE5vYmxlICA8amVy
Lm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIGJ1aWxkIGZpeCBhZnRlciBy
MTg3MjUxOyByZW5hbWUgZmxhZyAtPiBhbGxvd3MuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmNwcAppbmRleCBiMDQzYjg0ZmFjZWQ3NzE1YTU4ZTUyODdkYmY1NzliNmNkNjg0
NjgyLi43YjJkZWFhMjkyOTczM2ZkYzliZjU2NDUzYjhiYmM3OGQ0YTBlYWFiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTIxMTUsNiArMjExNSw5IEBAIHZv
aWQgSFRNTE1lZGlhRWxlbWVudDo6c2V0UmVhZHlTdGF0ZShNZWRpYVBsYXllcjo6UmVhZHlTdGF0
ZSBzdGF0ZSkKICAgICAgICAgaWYgKHJlbmRlcmVyKCkpCiAgICAgICAgICAgICByZW5kZXJlcigp
LT51cGRhdGVGcm9tRWxlbWVudCgpOwogCisgICAgICAgIGlmIChpczxNZWRpYURvY3VtZW50Pihk
b2N1bWVudCgpKSkKKyAgICAgICAgICAgIGRvd25jYXN0PE1lZGlhRG9jdW1lbnQ+KGRvY3VtZW50
KCkpLm1lZGlhRWxlbWVudE5hdHVyYWxTaXplQ2hhbmdlZChleHBhbmRlZEludFNpemUobV9wbGF5
ZXItPm5hdHVyYWxTaXplKCkpKTsKKwogICAgICAgICBsb2dNZWRpYUxvYWRSZXF1ZXN0KGRvY3Vt
ZW50KCkucGFnZSgpLCBtX3BsYXllci0+ZW5naW5lRGVzY3JpcHRpb24oKSwgU3RyaW5nKCksIHRy
dWUpOwogICAgIH0KIApAQCAtNDM4Niw2ICs0Mzg5LDkgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50
OjptZWRpYVBsYXllclNpemVDaGFuZ2VkKE1lZGlhUGxheWVyKikKIHsKICAgICBMT0coTWVkaWEs
ICJIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllclNpemVDaGFuZ2VkKCVwKSIsIHRoaXMpOwog
CisgICAgaWYgKGlzPE1lZGlhRG9jdW1lbnQ+KGRvY3VtZW50KCkpICYmIG1fcGxheWVyKQorICAg
ICAgICBkb3duY2FzdDxNZWRpYURvY3VtZW50Pihkb2N1bWVudCgpKS5tZWRpYUVsZW1lbnROYXR1
cmFsU2l6ZUNoYW5nZWQoZXhwYW5kZWRJbnRTaXplKG1fcGxheWVyLT5uYXR1cmFsU2l6ZSgpKSk7
CisKICAgICBiZWdpblByb2Nlc3NpbmdNZWRpYVBsYXllckNhbGxiYWNrKCk7CiAgICAgaWYgKHJl
bmRlcmVyKCkpCiAgICAgICAgIHJlbmRlcmVyKCktPnVwZGF0ZUZyb21FbGVtZW50KCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRG9jdW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9NZWRpYURvY3VtZW50LmNwcAppbmRleCBlZmUxYjFmZTM1MjliMDczOWZiNTgw
MTUzZDFmODA2YzhjMjE2YmZlLi4yZTgxMDNlNDhiZDc4YTdiOTI2ZjQ4ZTIwM2NkNWEwMDQ5YWQ3
NWUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRG9jdW1lbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFEb2N1bWVudC5jcHAKQEAgLTI4LDYgKzI4LDgg
QEAKICNpZiBFTkFCTEUoVklERU8pCiAjaW5jbHVkZSAiTWVkaWFEb2N1bWVudC5oIgogCisjaW5j
bHVkZSAiQ2hyb21lLmgiCisjaW5jbHVkZSAiQ2hyb21lQ2xpZW50LmgiCiAjaW5jbHVkZSAiRG9j
dW1lbnRMb2FkZXIuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiRXhjZXB0
aW9uQ29kZVBsYWNlaG9sZGVyLmgiCkBAIC0yNTksNSArMjYxLDE3IEBAIHZvaWQgTWVkaWFEb2N1
bWVudDo6cmVwbGFjZU1lZGlhRWxlbWVudFRpbWVyRmlyZWQoKQogICAgIH0KIH0KIAordm9pZCBN
ZWRpYURvY3VtZW50OjptZWRpYUVsZW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQoY29uc3QgSW50U2l6
ZSYgbmV3U2l6ZSkKK3sKKyAgICBpZiAob3duZXJFbGVtZW50KCkpCisgICAgICAgIHJldHVybjsK
KworICAgIGlmIChuZXdTaXplLmlzWmVybygpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAo
cGFnZSgpKQorICAgICAgICBwYWdlKCktPmNocm9tZSgpLmNsaWVudCgpLm1lZGlhRG9jdW1lbnRO
YXR1cmFsU2l6ZUNoYW5nZWQobmV3U2l6ZSk7Cit9CisKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYURvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L01lZGlhRG9jdW1lbnQuaAppbmRleCAxY2NhNzg1YmMwM2VkNWIxMzM1ODNhZWIwMWYzMGVmZDIx
ZmU4NmFmLi5iYTY5MTg3M2EwOWJhNThlMmI1NWNkZDVlZDIyMTU4NDZjMzQzYTY5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL01lZGlhRG9jdW1lbnQuaApAQCAtNDEsNiArNDEsNyBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCB+TWVkaWFEb2N1bWVudCgpOwogCiAgICAgdm9pZCBtZWRpYUVsZW1lbnRTYXdVbnN1
cHBvcnRlZFRyYWNrcygpOworICAgIHZvaWQgbWVkaWFFbGVtZW50TmF0dXJhbFNpemVDaGFuZ2Vk
KGNvbnN0IEludFNpemUmKTsKICAgICBTdHJpbmcgb3V0Z29pbmdSZWZlcnJlcigpIGNvbnN0IHsg
cmV0dXJuIG1fb3V0Z29pbmdSZWZlcnJlcjsgfQogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hy
b21lQ2xpZW50LmgKaW5kZXggNGY4MTQzZDJiMWZlMWNmMzM5YzQ4ZjZlNjc3MzEyODIwMThlNDA5
Yi4uNWZjMTE2ZTA0ZWQ1N2M2ZWZkY2M1ZTk2ODUxZDVkZWY4ZDY1ZThkMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0Nocm9tZUNsaWVudC5oCkBAIC00NDksNiArNDQ5LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIHZvaWQgcGxheWJhY2tUYXJnZXRQaWNrZXJDbGllbnRTdGF0ZURpZENoYW5nZSh1aW50NjRf
dCAvKmNvbnRleHRJZCovLCBNZWRpYVByb2R1Y2VyOjpNZWRpYVN0YXRlRmxhZ3MpIHsgfQogI2Vu
ZGlmCiAKKyNpZiBFTkFCTEUoVklERU8pCisgICAgdmlydHVhbCB2b2lkIG1lZGlhRG9jdW1lbnRO
YXR1cmFsU2l6ZUNoYW5nZWQoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpIHsgfQorI2VuZGlmCisK
IHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIH5DaHJvbWVDbGllbnQoKSB7IH0KIH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVVJQ2xpZW50LmggYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVVJQ2xpZW50LmgKaW5kZXggZDYyZjJkYTZkZjE5Yzg2
OWU5NzQxOWEzMWNjZjZiMjllZjA3NWJkNy4uMDM0MTM0NTU3MzIyYWFjODM1NWY4ZDAyZmRjZTVh
MzMxZTcwNzg0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElV
SUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQu
aApAQCAtMTY3LDYgKzE2NywxMCBAQCBwdWJsaWM6CiAjZW5kaWYKIAogICAgIHZpcnR1YWwgdm9p
ZCBkaWRDbGlja0F1dG9GaWxsQnV0dG9uKFdlYktpdDo6V2ViUGFnZVByb3h5JiwgQVBJOjpPYmpl
Y3QqKSB7IH0KKworI2lmIEVOQUJMRShWSURFTykKKyAgICB2aXJ0dWFsIHZvaWQgbWVkaWFEb2N1
bWVudE5hdHVyYWxTaXplQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpJbnRTaXplJikgeyB9CisjZW5k
aWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEFQSQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaAppbmRleCBmN2EwZTUz
ZmVlOTk0NGNkMmE3NmZkZjIyNDMwZGYzMzE1Mzk0YTBiLi5mNWRkODg2YjNlOWJlNWQzZjM1MjYy
MTBmOWI4NjhhODExODY1OGM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaApAQCAtNTQsNiArNTQsNyBAQCBz
dHJ1Y3QgVUlFZGdlSW5zZXRzOwogLSAodm9pZClfd2ViVmlld0Z1bGxzY3JlZW5NYXlSZXR1cm5U
b0lubGluZTooV0tXZWJWaWV3ICopd2ViVmlldzsKIC0gKHZvaWQpX3dlYlZpZXdEaWRFbnRlckZ1
bGxzY3JlZW46KFdLV2ViVmlldyAqKXdlYlZpZXcgV0tfQVZBSUxBQkxFKFdLX01BQ19UQkEsIDhf
Myk7CiAtICh2b2lkKV93ZWJWaWV3RGlkRXhpdEZ1bGxzY3JlZW46KFdLV2ViVmlldyAqKXdlYlZp
ZXcgV0tfQVZBSUxBQkxFKFdLX01BQ19UQkEsIDhfMyk7CistICh2b2lkKV93ZWJWaWV3OihXS1dl
YlZpZXcgKil3ZWJWaWV3IG1lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQ6KENHU2l6ZSlz
aXplOwogCiAjaWYgVEFSR0VUX09TX0lQSE9ORQogLSAoQk9PTClfd2ViVmlldzooV0tXZWJWaWV3
ICopd2ViVmlldyBzaG91bGRJbmNsdWRlQXBwTGlua0FjdGlvbnNGb3JFbGVtZW50OihfV0tBY3Rp
dmF0ZWRFbGVtZW50SW5mbyAqKWVsZW1lbnQgV0tfQVZBSUxBQkxFKE5BLCBXS19JT1NfVEJBKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3
Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5k
ZXggODg5NDNjZWRkYjc1OTc0YjVmYjg1ZjNlZDU2NWMzZGM2ZjA0MWMwNS4uOTdmNTZjNWJlNzAy
NjYxYmI5MWE2OTg2ZGIzOGJhNGY2YjlhMTZlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAgLTE4ODEsNiArMTg4MSwxNSBAQCBzdGF0
aWMgV2ViQ29yZTo6RmxvYXRQb2ludCBjb25zdHJhaW5Db250ZW50T2Zmc2V0KFdlYkNvcmU6OkZs
b2F0UG9pbnQgY29udGVudE9mZgogfQogI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykKIAorI2lmIEVO
QUJMRShWSURFTykKKy0gKHZvaWQpX21lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQ6KE5T
U2l6ZSluZXdTaXplCit7CisgICAgaWQgPFdLVUlEZWxlZ2F0ZVByaXZhdGU+IHVpRGVsZWdhdGUg
PSBzdGF0aWNfY2FzdDxpZCA8V0tVSURlbGVnYXRlUHJpdmF0ZT4+KFtzZWxmIFVJRGVsZWdhdGVd
KTsKKyAgICBpZiAoW3VpRGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2Vi
VmlldzptZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkOildKQorICAgICAgICBbdWlEZWxl
Z2F0ZSBfd2ViVmlldzpzZWxmIG1lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQ6bmV3U2l6
ZV07Cit9CisjZW5kaWYKKwogQGVuZAogCiBAaW1wbGVtZW50YXRpb24gV0tXZWJWaWV3IChXS1By
aXZhdGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlld0ludGVybmFsLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlld0ludGVybmFsLmgKaW5kZXggZDJkZWYyM2ZkNTIwOWQ0OTk0MGFhYjRhZWU4OTU4MDUz
ZjQyZDQ4Mi4uM2E3YTYyZDA0MjE2MTFkYTM0MTEzYWIwNjNlZTVhMzQzYjIwZWE2MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdJbnRlcm5h
bC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3SW50
ZXJuYWwuaApAQCAtMTE2LDYgKzExNiwxMCBAQCBzdHJ1Y3QgUHJpbnRJbmZvOwogCiAtIChXS1Bh
Z2VSZWYpX3BhZ2VGb3JUZXN0aW5nOwogCisjaWYgRU5BQkxFKFZJREVPKQorLSAodm9pZClfbWVk
aWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZDooQ0dTaXplKW5ld1NpemU7CisjZW5kaWYKKwog
QGVuZAogCiBXS1dlYlZpZXcqIGZyb21XZWJQYWdlUHJveHkoV2ViS2l0OjpXZWJQYWdlUHJveHkm
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGll
bnRJbXBsLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1w
bC5oCmluZGV4IDExZTc3NTdhNzRjMTZkOTkwZDIxNDc1MTJkNWI5YmQzZDZhMzMwMzkuLmNmZGVl
NjRmNjU1MjY3Yzc2ODljYTE3YzQ2ODlkYWFkZDA0NTNlMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmgKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuaApAQCAtMTM1LDYgKzEzNSwx
MCBAQCBwcml2YXRlOgogCiAgICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZUJhY2tncm91bmRDb2xv
cigpIG92ZXJyaWRlOwogCisjaWYgRU5BQkxFKFZJREVPKQorICAgIHZpcnR1YWwgdm9pZCBtZWRp
YURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkKGNvbnN0IFdlYkNvcmU6OkludFNpemUmKSBvdmVy
cmlkZSB7IH0KKyNlbmRpZgorCiAgICAgdmlydHVhbCB2b2lkIHJlZlZpZXcoKSBvdmVycmlkZTsK
ICAgICB2aXJ0dWFsIHZvaWQgZGVyZWZWaWV3KCkgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLmggYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5oCmluZGV4IGZlMWRkOTY2NzRlNjI4YzRhMTIz
OTVmNmE0NTVjMWE2MzhmZjliODEuLjdlNzFkYmE4NzUwMmQxNjllNTUyMmQ2MGZmMTQ0ZmY2NGQz
Zjg5ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVn
YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaApA
QCAtNzYsNiArNzYsOSBAQCBwcml2YXRlOgogICAgICAgICB2aXJ0dWFsIFJldGFpblB0cjxOU0Fy
cmF5PiBhY3Rpb25zRm9yRWxlbWVudChfV0tBY3RpdmF0ZWRFbGVtZW50SW5mbyAqLCBSZXRhaW5Q
dHI8TlNBcnJheT4gZGVmYXVsdEFjdGlvbnMpIG92ZXJyaWRlOwogICAgICAgICB2aXJ0dWFsIHZv
aWQgZGlkTm90SGFuZGxlVGFwQXNDbGljayhjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYpIG92ZXJy
aWRlOwogI2VuZGlmCisjaWYgRU5BQkxFKFZJREVPKQorICAgICAgICB2aXJ0dWFsIHZvaWQgbWVk
aWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpJbnRTaXplJikgb3Zl
cnJpZGU7CisjZW5kaWYKIAogICAgICAgICBVSURlbGVnYXRlJiBtX3VpRGVsZWdhdGU7CiAgICAg
fTsKQEAgLTEwMyw2ICsxMDYsOSBAQCBwcml2YXRlOgogICAgICAgICBib29sIHdlYlZpZXdBY3Rp
b25zRm9yRWxlbWVudERlZmF1bHRBY3Rpb25zIDogMTsKICAgICAgICAgYm9vbCB3ZWJWaWV3RGlk
Tm90SGFuZGxlVGFwQXNDbGlja0F0UG9pbnQgOiAxOwogI2VuZGlmCisjaWYgRU5BQkxFKFZJREVP
KQorICAgICAgICBib29sIHdlYlZpZXdNZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkIDog
MTsKKyNlbmRpZgogICAgIH0gbV9kZWxlZ2F0ZU1ldGhvZHM7CiB9OwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbSBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tCmluZGV4IDU3ZTBhZGMwMGRhMjA1OTc5
MzhmNmZiYjRlNTE4ZTI4NzRkM2VhNmMuLmVjOTU3NTBiZjA3OGUwMDZkM2MxMDIxNzE3ZjQ3MmVh
Zjk3ZGRhOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9VSURl
bGVnYXRlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRl
Lm1tCkBAIC04NSw2ICs4NSw5IEBAIHZvaWQgVUlEZWxlZ2F0ZTo6c2V0RGVsZWdhdGUoaWQgPFdL
VUlEZWxlZ2F0ZT4gZGVsZWdhdGUpCiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld0FjdGlv
bnNGb3JFbGVtZW50RGVmYXVsdEFjdGlvbnMgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9y
OkBzZWxlY3Rvcihfd2ViVmlldzphY3Rpb25zRm9yRWxlbWVudDpkZWZhdWx0QWN0aW9uczopXTsK
ICAgICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3RGlkTm90SGFuZGxlVGFwQXNDbGlja0F0UG9p
bnQgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpkaWRO
b3RIYW5kbGVUYXBBc0NsaWNrQXRQb2ludDopXTsKICNlbmRpZgorI2lmIEVOQUJMRShWSURFTykK
KyAgICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3TWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hh
bmdlZCA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3Om1l
ZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQ6KV07CisjZW5kaWYKIH0KIAogVUlEZWxlZ2F0
ZTo6VUlDbGllbnQ6OlVJQ2xpZW50KFVJRGVsZWdhdGUmIHVpRGVsZWdhdGUpCkBAIC0zMzgsNiAr
MzQxLDIwIEBAIHZvaWQgVUlEZWxlZ2F0ZTo6VUlDbGllbnQ6OmRpZE5vdEhhbmRsZVRhcEFzQ2xp
Y2soY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHBvaW50CiB9CiAjZW5kaWYKIAorI2lmIEVOQUJM
RShWSURFTykKK3ZvaWQgVUlEZWxlZ2F0ZTo6VUlDbGllbnQ6Om1lZGlhRG9jdW1lbnROYXR1cmFs
U2l6ZUNoYW5nZWQoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgbmV3U2l6ZSkKK3sKKyAgICBpZiAo
IW1fdWlEZWxlZ2F0ZS5tX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3TWVkaWFEb2N1bWVudE5hdHVy
YWxTaXplQ2hhbmdlZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgYXV0byBkZWxlZ2F0ZSA9IG1f
dWlEZWxlZ2F0ZS5tX2RlbGVnYXRlLmdldCgpOworICAgIGlmICghZGVsZWdhdGUpCisgICAgICAg
IHJldHVybjsKKworICAgIFtzdGF0aWNfY2FzdDxpZCA8V0tVSURlbGVnYXRlUHJpdmF0ZT4+KGRl
bGVnYXRlKSBfd2ViVmlldzptX3VpRGVsZWdhdGUubV93ZWJWaWV3IG1lZGlhRG9jdW1lbnROYXR1
cmFsU2l6ZUNoYW5nZWQ6bmV3U2l6ZV07Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CiAKICNlbmRpZiAvLyBXS19BUElfRU5BQkxFRApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdl
Q2xpZW50LmgKaW5kZXggNWJhMmQxMDAzYTBjNDA1MmVlMTRjZDg4NWMxZWExN2IzZDU4YzM4Yy4u
MTYzOGNjNDBhZTA5ODMyMGQwOWQ4OGZhZDNkOTkxMGY3OTliZDdhYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvUGFnZUNsaWVudC5oCkBAIC0zMjksNiArMzI5LDEwIEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIFdlYkNvcmU6OldlYk1lZGlhU2Vzc2lvbk1hbmFnZXImIG1lZGlhU2Vzc2lvbk1hbmFn
ZXIoKSA9IDA7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShWSURFTykKKyAgICB2aXJ0dWFsIHZvaWQg
bWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpJbnRTaXplJikg
PSAwOworI2VuZGlmCisKICAgICB2aXJ0dWFsIHZvaWQgcmVmVmlldygpID0gMDsKICAgICB2aXJ0
dWFsIHZvaWQgZGVyZWZWaWV3KCkgPSAwOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHAKaW5kZXggMjUzNjhjNDkyMWUwMmZiN2JlYjFlMzUyYWNiYWMyMGMyOTBi
Nzg5My4uZDdlYmZjODA2OTk2MjgxNTJkMzUwMTI3OTc1NzdkOWVmOGM2MmY1MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTYwMTQsNiArNjAxNCwxMyBA
QCB2b2lkIFdlYlBhZ2VQcm94eTo6aW5zdGFsbFZpZXdTdGF0ZUNoYW5nZUNvbXBsZXRpb25IYW5k
bGVyKHZvaWQgKF5jb21wbGV0aW9uSGFuZAogfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoVklERU8p
Cit2b2lkIFdlYlBhZ2VQcm94eTo6bWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZChjb25z
dCBXZWJDb3JlOjpJbnRTaXplJiBuZXdTaXplKQoreworICAgIG1fdWlDbGllbnQtPm1lZGlhRG9j
dW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQobmV3U2l6ZSk7Cit9CisjZW5kaWYKKwogdm9pZCBXZWJQ
YWdlUHJveHk6OnNldFNob3VsZERpc3BhdGNoRmFrZU1vdXNlTW92ZUV2ZW50cyhib29sIHNob3Vs
ZERpc3BhdGNoRmFrZU1vdXNlTW92ZUV2ZW50cykKIHsKICAgICBtX3Byb2Nlc3MtPnNlbmQoTWVz
c2FnZXM6OldlYlBhZ2U6OlNldFNob3VsZERpc3BhdGNoRmFrZU1vdXNlTW92ZUV2ZW50cyhzaG91
bGREaXNwYXRjaEZha2VNb3VzZU1vdmVFdmVudHMpLCBtX3BhZ2VJRCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggOWQ4ZTkwOWY5MTQwNTVmMTExMWMzOTQxNGU5
MDUwMTNkZmQxMDNmNS4uMjFkMjI4ODAzMzU2Njc3MzNlYjBmNGU2ODhhMjc4MWZiYWE5ZWNmYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMTQ3Nyw2ICsxNDc3
LDEwIEBAIHByaXZhdGU6CiAgICAgdm9pZCB1c2VGaXhlZExheW91dERpZENoYW5nZShib29sIHVz
ZUZpeGVkTGF5b3V0KSB7IG1fdXNlRml4ZWRMYXlvdXQgPSB1c2VGaXhlZExheW91dDsgfQogICAg
IHZvaWQgZml4ZWRMYXlvdXRTaXplRGlkQ2hhbmdlKFdlYkNvcmU6OkludFNpemUgZml4ZWRMYXlv
dXRTaXplKSB7IG1fZml4ZWRMYXlvdXRTaXplID0gZml4ZWRMYXlvdXRTaXplOyB9CiAKKyNpZiBF
TkFCTEUoVklERU8pCisgICAgdm9pZCBtZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkKGNv
bnN0IFdlYkNvcmU6OkludFNpemUmKTsKKyNlbmRpZgorCiAgICAgdm9pZCBoYW5kbGVBdXRvRmls
bEJ1dHRvbkNsaWNrKGNvbnN0IFVzZXJEYXRhJik7CiAKICAgICB2b2lkIGhhbmRsZU1lc3NhZ2Uo
SVBDOjpDb25uZWN0aW9uJiwgY29uc3QgU3RyaW5nJiBtZXNzYWdlTmFtZSwgY29uc3QgVXNlckRh
dGEmIG1lc3NhZ2VCb2R5KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IGMwM2RiNTRiNTRkYzcxMmQ1MGRjNmIwZTg1ZmE1MzQx
ZGJkZDJjOGQuLmYzMmJiN2FkNWRhM2FiY2NlMGMxNzc0MzQ0MTBhYTBlNzAwMjMwNDUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4K
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpA
QCAtNDQ0LDYgKzQ0NCwxMCBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogICAgIFBsYXli
YWNrVGFyZ2V0UGlja2VyQ2xpZW50U3RhdGVEaWRDaGFuZ2UodWludDY0X3QgY29udGV4dElkLCB1
bnNpZ25lZCBtZWRpYVN0YXRlKQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoVklERU8pCisgICAgTWVk
aWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZChXZWJDb3JlOjpJbnRTaXplIG5ld1NpemUpCisj
ZW5kaWYKKwogICAgIFVzZUZpeGVkTGF5b3V0RGlkQ2hhbmdlKGJvb2wgdXNlRml4ZWRMYXlvdXQp
CiAgICAgRml4ZWRMYXlvdXRTaXplRGlkQ2hhbmdlKFdlYkNvcmU6OkludFNpemUgZml4ZWRMYXlv
dXRTaXplKQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJW
aWV3RWZsLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlZpZXdFZmwuaAppbmRl
eCBhMGNhZjEwM2M1ZmJiMzJlNWJkZjFmY2IzNjA0NTAyYTFhYTBlMTRiLi4zNjIyMjQ3OWUyZjlk
MDZhMTAzZTM1MTk4YjYzMDY3MDhiNTI0NWRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvZWZsL1dlYlZpZXdFZmwuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
ZWZsL1dlYlZpZXdFZmwuaApAQCAtOTAsNiArOTAsMTAgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFs
IHZvaWQgZGlkRmluaXNoTG9hZEZvck1haW5GcmFtZSgpIG92ZXJyaWRlIGZpbmFsIHsgfQogICAg
IHZpcnR1YWwgdm9pZCBkaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uRm9yTWFpbkZyYW1lKFNhbWVE
b2N1bWVudE5hdmlnYXRpb25UeXBlKSBvdmVycmlkZSBmaW5hbCB7IH0KIAorI2lmIEVOQUJMRShW
SURFTykKKyAgICB2aXJ0dWFsIHZvaWQgbWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZChj
b25zdCBXZWJDb3JlOjpJbnRTaXplJikgb3ZlcnJpZGUgZmluYWwgeyB9CisjZW5kaWYKKwogICAg
IHZpcnR1YWwgdm9pZCByZWZWaWV3KCkgb3ZlcnJpZGUgZmluYWwgeyB9CiAgICAgdmlydHVhbCB2
b2lkIGRlcmVmVmlldygpIG92ZXJyaWRlIGZpbmFsIHsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmggYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgKaW5kZXggY2M0MGI1NmY3OTc2Yzg3
NzhiZTAyODYzOTViODk2MmUxZTIxZGQ3OC4uMTU4NWYwNTE3YTBkNzVjNzlkZDk1MTkzZGRmOWNj
MzU5OGYwNmNmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdl
Q2xpZW50SW1wbElPUy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNs
aWVudEltcGxJT1MuaApAQCAtMTg2LDYgKzE4NiwxMCBAQCBwcml2YXRlOgogCiAgICAgdmlydHVh
bCB2b2lkIGRpZENoYW5nZUJhY2tncm91bmRDb2xvcigpIG92ZXJyaWRlOwogCisjaWYgRU5BQkxF
KFZJREVPKQorICAgIHZpcnR1YWwgdm9pZCBtZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2Vk
KGNvbnN0IFdlYkNvcmU6OkludFNpemUmKSBvdmVycmlkZTsKKyNlbmRpZgorCiAgICAgdmlydHVh
bCB2b2lkIHJlZlZpZXcoKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgZGVyZWZWaWV3KCkg
b3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFn
ZUNsaWVudEltcGxJT1MubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGll
bnRJbXBsSU9TLm1tCmluZGV4IGEwODE2YzQ1Y2ExNmY4MDAxMjM2ZDRmMWYwZjMxNzEyZGM4NmEx
ZjEuLjc1NjlmYmNiMjNhOTAwY2NjMWE4MmZkNmJiMzBmMzc5NDliODBkNDUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQpAQCAtNzM5
LDYgKzczOSwxNCBAQCB2b2lkIFBhZ2VDbGllbnRJbXBsOjpkaWRDaGFuZ2VCYWNrZ3JvdW5kQ29s
b3IoKQogICAgIFttX3dlYlZpZXcgX3VwZGF0ZVNjcm9sbFZpZXdCYWNrZ3JvdW5kXTsKIH0KIAor
I2lmIEVOQUJMRShWSURFTykKK3ZvaWQgUGFnZUNsaWVudEltcGw6Om1lZGlhRG9jdW1lbnROYXR1
cmFsU2l6ZUNoYW5nZWQoY29uc3QgSW50U2l6ZSYgbmV3U2l6ZSkKK3sKKyAgICBbbV93ZWJWaWV3
IF9tZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkOm5ld1NpemVdOworfQorI2VuZGlmCisK
Kwogdm9pZCBQYWdlQ2xpZW50SW1wbDo6cmVmVmlldygpCiB7CiAgICAgW21fY29udGVudFZpZXcg
cmV0YWluXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNs
aWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwu
aAppbmRleCBhYmUzOTRiNzZmNGJkYjg3ZDg1NTY4NTY5OTM0MzJlY2M1MTFiYmY3Li5jNjllZWE2
NGMxZTZlYmMwNzdmNTgyNWNkNmRjMzMzNGFjMjA4MmQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5oCkBAIC0yMDMsNiArMjAzLDEwIEBAIHByaXZh
dGU6CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlQmFja2dyb3VuZENvbG9yKCkgb3ZlcnJp
ZGU7CiAKKyNpZiBFTkFCTEUoVklERU8pCisgICAgdmlydHVhbCB2b2lkIG1lZGlhRG9jdW1lbnRO
YXR1cmFsU2l6ZUNoYW5nZWQoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpIG92ZXJyaWRlOworI2Vu
ZGlmCisKICAgICBXS1ZpZXcgKm1fd2tWaWV3OwogICAgIFdLV2ViVmlldyAqbV93ZWJWaWV3Owog
ICAgIFJldGFpblB0cjxXS0VkaXRvclVuZG9UYXJnZXRPYmpDPiBtX3VuZG9UYXJnZXQ7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5tbQppbmRleCA4MWQw
YjFiMDA0NmM0NWZhZGQzOTE3NWEwZGNjNzhlMGIwNGFmMmRjLi4zYmJkZjE4ZDQ3MzBlNjA5MzNh
YjhjNTZiNGM2OTE4MjRlMjQxODFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9t
YWMvUGFnZUNsaWVudEltcGwubW0KQEAgLTgzNiw2ICs4MzYsMTMgQEAgV2ViQ29yZTo6V2ViTWVk
aWFTZXNzaW9uTWFuYWdlciYgUGFnZUNsaWVudEltcGw6Om1lZGlhU2Vzc2lvbk1hbmFnZXIoKQog
fQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoVklERU8pCit2b2lkIFBhZ2VDbGllbnRJbXBsOjptZWRp
YURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkKGNvbnN0IEludFNpemUmIG5ld1NpemUpCit7Cisg
ICAgW21fd2ViVmlldyBfbWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZDpuZXdTaXplXTsK
K30KKyNlbmRpZgorCiB2b2lkIFBhZ2VDbGllbnRJbXBsOjpyZWZWaWV3KCkKIHsKICAgICBDRlJl
dGFpbihtX3drVmlldyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCAxNjUzZGZjMTAwNmZlNGU5
ODMyODY2MjA5YWMwMDJiOGM4N2RlMmNmLi44YWY0OWIxNGRhOWIwMTk0YzI4ODIzOGMzOTYyNGEz
OTNkNjVlNWFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTMyMyw2ICszMjMsMTAgQEAgcHJp
dmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgcGxheWJhY2tUYXJnZXRQaWNrZXJDbGllbnRTdGF0ZURp
ZENoYW5nZSh1aW50NjRfdCwgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TWVkaWFTdGF0ZUZsYWdz
KSBvdmVycmlkZTsKICNlbmRpZgogCisjaWYgRU5BQkxFKFZJREVPKQorICAgIHZpcnR1YWwgdm9p
ZCBtZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkKGNvbnN0IFdlYkNvcmU6OkludFNpemUm
KSBvdmVycmlkZTsKKyNlbmRpZgorCiAgICAgU3RyaW5nIG1fY2FjaGVkVG9vbFRpcDsKICAgICBt
dXRhYmxlIFJlZlB0cjxXZWJGcmFtZT4gbV9jYWNoZWRGcmFtZVNldExhcmdlc3RGcmFtZTsKICAg
ICBtdXRhYmxlIGJvb2wgbV9jYWNoZWRNYWluRnJhbWVIYXNIb3Jpem9udGFsU2Nyb2xsYmFyOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9pb3Mv
V2ViQ2hyb21lQ2xpZW50SU9TLm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9pb3MvV2ViQ2hyb21lQ2xpZW50SU9TLm1tCmluZGV4IGEyNTU5MWVjZGFjNzNiZjA3
MDIyMTAxYjA4YTVlNmM5YzY2ZTBmMTYuLmM1MjU4OGNlOTc3YTZkNzIyZGQ0ZDczNjkyNjE2YjZm
ODBiMTg3YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvaW9zL1dlYkNocm9tZUNsaWVudElPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L2lvcy9XZWJDaHJvbWVDbGllbnRJT1MubW0KQEAgLTE0Niw2
ICsxNDYsMTMgQEAgaW50IFdlYkNocm9tZUNsaWVudDo6ZGV2aWNlT3JpZW50YXRpb24oKSBjb25z
dAogICAgIHJldHVybiBtX3BhZ2UtPmRldmljZU9yaWVudGF0aW9uKCk7CiB9CiAKKyNpZiBFTkFC
TEUoVklERU8pCit2b2lkIFdlYkNocm9tZUNsaWVudDo6bWVkaWFEb2N1bWVudE5hdHVyYWxTaXpl
Q2hhbmdlZChjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBuZXdTaXplKQoreworICAgIG1fcGFnZS0+
bWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZChuZXdTaXplKTsKK30KKyNlbmRpZgorCiB9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIFBMQVRGT1JNKElPUykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCBjNTNlYjlkOTg1
ZDdkN2M1MmMxOWM3NzJmNzUzNjk1NTgwYWZhZWVmLi45NDY4NGQ0ODZjYjgwNDgxNzFjOWYwZWJm
NTg1NWNmNzY3MTFkMmU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuY3BwCkBAIC01MDMxLDQgKzUwMzEsMTEgQEAgdm9pZCBXZWJQYWdlOjpzZXRVc2Vy
Q29udGVudEV4dGVuc2lvbnNFbmFibGVkKGJvb2wgdXNlckNvbnRlbnRFeHRlbnNpb25zRW5hYmxl
ZCkKICAgICBtX3BhZ2UtPnNldFVzZXJDb250ZW50RXh0ZW5zaW9uc0VuYWJsZWQodXNlckNvbnRl
bnRFeHRlbnNpb25zRW5hYmxlZCk7CiB9CiAKKyNpZiBFTkFCTEUoVklERU8pCit2b2lkIFdlYlBh
Z2U6Om1lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQoY29uc3QgSW50U2l6ZSYgbmV3U2l6
ZSkKK3sKKyAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6Ok1lZGlhRG9jdW1lbnROYXR1
cmFsU2l6ZUNoYW5nZWQobmV3U2l6ZSkpOworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdl
YktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXgg
ZWFhNzBlM2FlYTE1NmMwN2IwMjNkNzEzMWEzMDQ0NjNkNjE3ZDE4OS4uZjQ2ZmRhNjg0N2U0MTc5
MDExMjliNDdjYjE0ZGIzY2QzOWQ5MDc5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC05MDIsNiArOTAyLDEwIEBAIHB1YmxpYzoKICAgICB2b2lk
IHNldElucHV0TWV0aG9kU3RhdGUoYm9vbCk7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShWSURFTykK
KyAgICB2b2lkIG1lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQoY29uc3QgV2ViQ29yZTo6
SW50U2l6ZSYpOworI2VuZGlmCisKIHByaXZhdGU6CiAgICAgV2ViUGFnZSh1aW50NjRfdCBwYWdl
SUQsIGNvbnN0IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257403</attachid>
            <date>2015-07-23 16:12:13 -0700</date>
            <delta_ts>2015-07-23 16:44:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147182-20150723161057.patch</filename>
            <type>text/plain</type>
            <size>21419</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3MjY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTQ5MjljZDU5ZDZhZGQ4
ODExMjg5MjgyYmY0Yzc5Y2NmNDE5NWVjYi4uNGU3YTMwNjA3YTViYmZkMTI3ZWE1NjJkNGQ3MGM2
ZDAzOWUzNGI4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE1LTA3LTIxICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIE5vdGlmeSB0aGUgVUkgZGVs
ZWdhdGUgd2hlbiBhIE1lZGlhRG9jdW1lbnQncyBuYXR1cmFsIHNpemUgY2hhbmdlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ3MTgyCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm90aWZ5IHRoZSBNZWRp
YURvY3VtZW50IHRoYXQgaXQncyB1bmRlcmx5aW5nIG1lZGlhIGVsZW1lbnQgaGFzIGNoYW5nZWQg
aXRzIG5hdHVyYWwgc2l6ZSwgZWl0aGVyIHdoZW4KKyAgICAgICAgdGhlIG1lZGlhIGVuZ2luZSBu
b3RpZmllcyB1cyB0aGF0IHRoZSBzaXplIGNoYW5nZWQsIG9yIHdoZW4gdGhlIHJlYWR5IHN0YXRl
IHByb2dyZXNzZXMgdG8gSEFWRV9NRVRBREFUQS4KKworICAgICAgICAqIGh0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpzZXRSZWFk
eVN0YXRlKTogTm90aWZ5IHRoZSBtZWRpYSBkb2N1bWVudC4KKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyU2l6ZUNoYW5nZWQpOiBEaXR0by4KKyAgICAgICAg
KiBodG1sL01lZGlhRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFEb2N1bWVu
dDo6bWVkaWFFbGVtZW50TmF0dXJhbFNpemVDaGFuZ2VkKTogUGFzcyB0byB0aGUgY2hyb21lIGNs
aWVudC4KKyAgICAgICAgKiBodG1sL01lZGlhRG9jdW1lbnQuaDoKKyAgICAgICAgKiBwYWdlL0No
cm9tZUNsaWVudC5oOgorCiAyMDE1LTA3LTIzICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUu
Y29tPgogCiAgICAgICAgIFJlbGF4IG1lZGlhIHBsYXliYWNrIHJlc3RyaWN0aW9ucyBpZiB0aGUg
YWxsb3dzTWVkaWFEb2N1bWVudElubGluZVBsYXliYWNrIHByb3BlcnR5IGlzIHNldC4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZwppbmRleCAyZDU0MDk2NGMzMTFmMmRkMjIzNmUxY2E1MTJlYzJjYWI2ODY3MTA4Li4zMTVjZDYx
NjAwNWEyODQ5Nzk2ZGZkZGNkZGIyNTc1NDUwMWYzMTNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
NDMgQEAKKzIwMTUtMDctMjEgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAg
ICAgICAgTm90aWZ5IHRoZSBVSSBkZWxlZ2F0ZSB3aGVuIGEgTWVkaWFEb2N1bWVudCdzIG5hdHVy
YWwgc2l6ZSBjaGFuZ2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNDcxODIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBQaXBlIG5vdGlmaWNhdGlvbnMgb2YgbWVkaWEgZG9jdW1lbnQgbmF0dXJhbCBzaXpl
IGNoYW5nZXMgdXAgZnJvbSB0aGUgY2hyb21lIGNsaWVudCwgdGhyb3VnaAorICAgICAgICB0byB0
aGUgVUlQcm9jZXNzLCAgdGhyb3VnaCB0aGUgcGFnZSBjbGllbnQsIHRocm91Z2ggdGhlIFdLV2Vi
VmlldywgdG8gdGhlIFVJRGVsZWdhdGUuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSVVJ
Q2xpZW50Lmg6CisgICAgICAgIChBUEk6OlVJQ2xpZW50OjptZWRpYURvY3VtZW50TmF0dXJhbFNp
emVDaGFuZ2VkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVBy
aXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAg
ICAgICAgKC1bV0tXZWJWaWV3IF9tZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkOl0pOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3SW50ZXJuYWwuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9D
b2NvYS9VSURlbGVnYXRlLm1tOgorICAgICAgICAoV2ViS2l0OjpVSURlbGVnYXRlOjpzZXREZWxl
Z2F0ZSk6CisgICAgICAgIChXZWJLaXQ6OlVJRGVsZWdhdGU6OlVJQ2xpZW50OjptZWRpYURvY3Vt
ZW50TmF0dXJhbFNpemVDaGFuZ2VkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlUHJveHk6Om1lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFn
ZVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudElt
cGxJT1MuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tOgor
ICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6bWVkaWFEb2N1bWVudE5hdHVyYWxTaXpl
Q2hhbmdlZCk6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwubW06CisgICAgICAgIChXZWJLaXQ6
OlBhZ2VDbGllbnRJbXBsOjptZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkKToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViQ2hyb21lQ2xpZW50OjptZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFu
Z2VkKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2U6Om1lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9ndGsvUGFnZUNsaWVudEltcGwuaDogQWRkIGRlZmF1bHQsIGVtcHR5IGltcGxlbWVudGF0
aW9uIG9mIG5ldyBwdXJlLXZpcnR1YWwgbWV0aG9kLgorICAgICAgICAqIFVJUHJvY2Vzcy9lZmwv
V2ViVmlld0VmbC5oOiBEaXR0by4KKwogMjAxNS0wNy0yMyAgSmVyIE5vYmxlICA8amVyLm5vYmxl
QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIGJ1aWxkIGZpeCBhZnRlciByMTg3MjUx
OyByZW5hbWUgZmxhZyAtPiBhbGxvd3MuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmNwcAppbmRleCBiMDQzYjg0ZmFjZWQ3NzE1YTU4ZTUyODdkYmY1NzliNmNkNjg0NjgyLi43
YjJkZWFhMjkyOTczM2ZkYzliZjU2NDUzYjhiYmM3OGQ0YTBlYWFiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTIxMTUsNiArMjExNSw5IEBAIHZvaWQgSFRN
TE1lZGlhRWxlbWVudDo6c2V0UmVhZHlTdGF0ZShNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZSBzdGF0
ZSkKICAgICAgICAgaWYgKHJlbmRlcmVyKCkpCiAgICAgICAgICAgICByZW5kZXJlcigpLT51cGRh
dGVGcm9tRWxlbWVudCgpOwogCisgICAgICAgIGlmIChpczxNZWRpYURvY3VtZW50Pihkb2N1bWVu
dCgpKSkKKyAgICAgICAgICAgIGRvd25jYXN0PE1lZGlhRG9jdW1lbnQ+KGRvY3VtZW50KCkpLm1l
ZGlhRWxlbWVudE5hdHVyYWxTaXplQ2hhbmdlZChleHBhbmRlZEludFNpemUobV9wbGF5ZXItPm5h
dHVyYWxTaXplKCkpKTsKKwogICAgICAgICBsb2dNZWRpYUxvYWRSZXF1ZXN0KGRvY3VtZW50KCku
cGFnZSgpLCBtX3BsYXllci0+ZW5naW5lRGVzY3JpcHRpb24oKSwgU3RyaW5nKCksIHRydWUpOwog
ICAgIH0KIApAQCAtNDM4Niw2ICs0Mzg5LDkgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjptZWRp
YVBsYXllclNpemVDaGFuZ2VkKE1lZGlhUGxheWVyKikKIHsKICAgICBMT0coTWVkaWEsICJIVE1M
TWVkaWFFbGVtZW50OjptZWRpYVBsYXllclNpemVDaGFuZ2VkKCVwKSIsIHRoaXMpOwogCisgICAg
aWYgKGlzPE1lZGlhRG9jdW1lbnQ+KGRvY3VtZW50KCkpICYmIG1fcGxheWVyKQorICAgICAgICBk
b3duY2FzdDxNZWRpYURvY3VtZW50Pihkb2N1bWVudCgpKS5tZWRpYUVsZW1lbnROYXR1cmFsU2l6
ZUNoYW5nZWQoZXhwYW5kZWRJbnRTaXplKG1fcGxheWVyLT5uYXR1cmFsU2l6ZSgpKSk7CisKICAg
ICBiZWdpblByb2Nlc3NpbmdNZWRpYVBsYXllckNhbGxiYWNrKCk7CiAgICAgaWYgKHJlbmRlcmVy
KCkpCiAgICAgICAgIHJlbmRlcmVyKCktPnVwZGF0ZUZyb21FbGVtZW50KCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9NZWRpYURvY3VtZW50LmNwcAppbmRleCBlZmUxYjFmZTM1MjliMDczOWZiNTgwMTUzZDFm
ODA2YzhjMjE2YmZlLi4yZTgxMDNlNDhiZDc4YTdiOTI2ZjQ4ZTIwM2NkNWEwMDQ5YWQ3NWUyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRG9jdW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFEb2N1bWVudC5jcHAKQEAgLTI4LDYgKzI4LDggQEAKICNp
ZiBFTkFCTEUoVklERU8pCiAjaW5jbHVkZSAiTWVkaWFEb2N1bWVudC5oIgogCisjaW5jbHVkZSAi
Q2hyb21lLmgiCisjaW5jbHVkZSAiQ2hyb21lQ2xpZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRM
b2FkZXIuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29k
ZVBsYWNlaG9sZGVyLmgiCkBAIC0yNTksNSArMjYxLDE3IEBAIHZvaWQgTWVkaWFEb2N1bWVudDo6
cmVwbGFjZU1lZGlhRWxlbWVudFRpbWVyRmlyZWQoKQogICAgIH0KIH0KIAordm9pZCBNZWRpYURv
Y3VtZW50OjptZWRpYUVsZW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQoY29uc3QgSW50U2l6ZSYgbmV3
U2l6ZSkKK3sKKyAgICBpZiAob3duZXJFbGVtZW50KCkpCisgICAgICAgIHJldHVybjsKKworICAg
IGlmIChuZXdTaXplLmlzWmVybygpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAocGFnZSgp
KQorICAgICAgICBwYWdlKCktPmNocm9tZSgpLmNsaWVudCgpLm1lZGlhRG9jdW1lbnROYXR1cmFs
U2l6ZUNoYW5nZWQobmV3U2l6ZSk7Cit9CisKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9NZWRpYURvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlh
RG9jdW1lbnQuaAppbmRleCAxY2NhNzg1YmMwM2VkNWIxMzM1ODNhZWIwMWYzMGVmZDIxZmU4NmFm
Li5iYTY5MTg3M2EwOWJhNThlMmI1NWNkZDVlZDIyMTU4NDZjMzQzYTY5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL01lZGlhRG9jdW1lbnQuaApAQCAtNDEsNiArNDEsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCB+TWVkaWFEb2N1bWVudCgpOwogCiAgICAgdm9pZCBtZWRpYUVsZW1lbnRTYXdVbnN1cHBvcnRl
ZFRyYWNrcygpOworICAgIHZvaWQgbWVkaWFFbGVtZW50TmF0dXJhbFNpemVDaGFuZ2VkKGNvbnN0
IEludFNpemUmKTsKICAgICBTdHJpbmcgb3V0Z29pbmdSZWZlcnJlcigpIGNvbnN0IHsgcmV0dXJu
IG1fb3V0Z29pbmdSZWZlcnJlcjsgfQogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xp
ZW50LmgKaW5kZXggNGY4MTQzZDJiMWZlMWNmMzM5YzQ4ZjZlNjc3MzEyODIwMThlNDA5Yi4uNWZj
MTE2ZTA0ZWQ1N2M2ZWZkY2M1ZTk2ODUxZDVkZWY4ZDY1ZThkMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0No
cm9tZUNsaWVudC5oCkBAIC00NDksNiArNDQ5LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZv
aWQgcGxheWJhY2tUYXJnZXRQaWNrZXJDbGllbnRTdGF0ZURpZENoYW5nZSh1aW50NjRfdCAvKmNv
bnRleHRJZCovLCBNZWRpYVByb2R1Y2VyOjpNZWRpYVN0YXRlRmxhZ3MpIHsgfQogI2VuZGlmCiAK
KyNpZiBFTkFCTEUoVklERU8pCisgICAgdmlydHVhbCB2b2lkIG1lZGlhRG9jdW1lbnROYXR1cmFs
U2l6ZUNoYW5nZWQoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpIHsgfQorI2VuZGlmCisKIHByb3Rl
Y3RlZDoKICAgICB2aXJ0dWFsIH5DaHJvbWVDbGllbnQoKSB7IH0KIH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVVJQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0FQSVVJQ2xpZW50LmgKaW5kZXggZDYyZjJkYTZkZjE5Yzg2OWU5NzQx
OWEzMWNjZjZiMjllZjA3NWJkNy4uMDM0MTM0NTU3MzIyYWFjODM1NWY4ZDAyZmRjZTVhMzMxZTcw
Nzg0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaApAQCAt
MTY3LDYgKzE2NywxMCBAQCBwdWJsaWM6CiAjZW5kaWYKIAogICAgIHZpcnR1YWwgdm9pZCBkaWRD
bGlja0F1dG9GaWxsQnV0dG9uKFdlYktpdDo6V2ViUGFnZVByb3h5JiwgQVBJOjpPYmplY3QqKSB7
IH0KKworI2lmIEVOQUJMRShWSURFTykKKyAgICB2aXJ0dWFsIHZvaWQgbWVkaWFEb2N1bWVudE5h
dHVyYWxTaXplQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpJbnRTaXplJikgeyB9CisjZW5kaWYKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIEFQSQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaAppbmRleCBmN2EwZTUzZmVlOTk0
NGNkMmE3NmZkZjIyNDMwZGYzMzE1Mzk0YTBiLi5mNWRkODg2YjNlOWJlNWQzZjM1MjYyMTBmOWI4
NjhhODExODY1OGM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaApAQCAtNTQsNiArNTQsNyBAQCBzdHJ1Y3Qg
VUlFZGdlSW5zZXRzOwogLSAodm9pZClfd2ViVmlld0Z1bGxzY3JlZW5NYXlSZXR1cm5Ub0lubGlu
ZTooV0tXZWJWaWV3ICopd2ViVmlldzsKIC0gKHZvaWQpX3dlYlZpZXdEaWRFbnRlckZ1bGxzY3Jl
ZW46KFdLV2ViVmlldyAqKXdlYlZpZXcgV0tfQVZBSUxBQkxFKFdLX01BQ19UQkEsIDhfMyk7CiAt
ICh2b2lkKV93ZWJWaWV3RGlkRXhpdEZ1bGxzY3JlZW46KFdLV2ViVmlldyAqKXdlYlZpZXcgV0tf
QVZBSUxBQkxFKFdLX01BQ19UQkEsIDhfMyk7CistICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcg
Kil3ZWJWaWV3IG1lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQ6KENHU2l6ZSlzaXplOwog
CiAjaWYgVEFSR0VUX09TX0lQSE9ORQogLSAoQk9PTClfd2ViVmlldzooV0tXZWJWaWV3ICopd2Vi
VmlldyBzaG91bGRJbmNsdWRlQXBwTGlua0FjdGlvbnNGb3JFbGVtZW50OihfV0tBY3RpdmF0ZWRF
bGVtZW50SW5mbyAqKWVsZW1lbnQgV0tfQVZBSUxBQkxFKE5BLCBXS19JT1NfVEJBKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggODg5
NDNjZWRkYjc1OTc0YjVmYjg1ZjNlZDU2NWMzZGM2ZjA0MWMwNS4uOTdmNTZjNWJlNzAyNjYxYmI5
MWE2OTg2ZGIzOGJhNGY2YjlhMTZlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAgLTE4ODEsNiArMTg4MSwxNSBAQCBzdGF0aWMgV2Vi
Q29yZTo6RmxvYXRQb2ludCBjb25zdHJhaW5Db250ZW50T2Zmc2V0KFdlYkNvcmU6OkZsb2F0UG9p
bnQgY29udGVudE9mZgogfQogI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykKIAorI2lmIEVOQUJMRShW
SURFTykKKy0gKHZvaWQpX21lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQ6KE5TU2l6ZSlu
ZXdTaXplCit7CisgICAgaWQgPFdLVUlEZWxlZ2F0ZVByaXZhdGU+IHVpRGVsZWdhdGUgPSBzdGF0
aWNfY2FzdDxpZCA8V0tVSURlbGVnYXRlUHJpdmF0ZT4+KFtzZWxmIFVJRGVsZWdhdGVdKTsKKyAg
ICBpZiAoW3VpRGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpt
ZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkOildKQorICAgICAgICBbdWlEZWxlZ2F0ZSBf
d2ViVmlldzpzZWxmIG1lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQ6bmV3U2l6ZV07Cit9
CisjZW5kaWYKKwogQGVuZAogCiBAaW1wbGVtZW50YXRpb24gV0tXZWJWaWV3IChXS1ByaXZhdGUp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
d0ludGVybmFsLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
d0ludGVybmFsLmgKaW5kZXggZDJkZWYyM2ZkNTIwOWQ0OTk0MGFhYjRhZWU4OTU4MDUzZjQyZDQ4
Mi4uM2E3YTYyZDA0MjE2MTFkYTM0MTEzYWIwNjNlZTVhMzQzYjIwZWE2MyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdJbnRlcm5hbC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3SW50ZXJuYWwu
aApAQCAtMTE2LDYgKzExNiwxMCBAQCBzdHJ1Y3QgUHJpbnRJbmZvOwogCiAtIChXS1BhZ2VSZWYp
X3BhZ2VGb3JUZXN0aW5nOwogCisjaWYgRU5BQkxFKFZJREVPKQorLSAodm9pZClfbWVkaWFEb2N1
bWVudE5hdHVyYWxTaXplQ2hhbmdlZDooQ0dTaXplKW5ld1NpemU7CisjZW5kaWYKKwogQGVuZAog
CiBXS1dlYlZpZXcqIGZyb21XZWJQYWdlUHJveHkoV2ViS2l0OjpXZWJQYWdlUHJveHkmKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBs
LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5oCmlu
ZGV4IDExZTc3NTdhNzRjMTZkOTkwZDIxNDc1MTJkNWI5YmQzZDZhMzMwMzkuLmNmZGVlNjRmNjU1
MjY3Yzc2ODljYTE3YzQ2ODlkYWFkZDA0NTNlMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuaApAQCAtMTM1LDYgKzEzNSwxMCBAQCBw
cml2YXRlOgogCiAgICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZUJhY2tncm91bmRDb2xvcigpIG92
ZXJyaWRlOwogCisjaWYgRU5BQkxFKFZJREVPKQorICAgIHZpcnR1YWwgdm9pZCBtZWRpYURvY3Vt
ZW50TmF0dXJhbFNpemVDaGFuZ2VkKGNvbnN0IFdlYkNvcmU6OkludFNpemUmKSBvdmVycmlkZSB7
IH0KKyNlbmRpZgorCiAgICAgdmlydHVhbCB2b2lkIHJlZlZpZXcoKSBvdmVycmlkZTsKICAgICB2
aXJ0dWFsIHZvaWQgZGVyZWZWaWV3KCkgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5oCmluZGV4IGZlMWRkOTY2NzRlNjI4YzRhMTIzOTVmNmE0
NTVjMWE2MzhmZjliODEuLjdlNzFkYmE4NzUwMmQxNjllNTUyMmQ2MGZmMTQ0ZmY2NGQzZjg5ZWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLmgK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaApAQCAtNzYs
NiArNzYsOSBAQCBwcml2YXRlOgogICAgICAgICB2aXJ0dWFsIFJldGFpblB0cjxOU0FycmF5PiBh
Y3Rpb25zRm9yRWxlbWVudChfV0tBY3RpdmF0ZWRFbGVtZW50SW5mbyAqLCBSZXRhaW5QdHI8TlNB
cnJheT4gZGVmYXVsdEFjdGlvbnMpIG92ZXJyaWRlOwogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlk
Tm90SGFuZGxlVGFwQXNDbGljayhjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYpIG92ZXJyaWRlOwog
I2VuZGlmCisjaWYgRU5BQkxFKFZJREVPKQorICAgICAgICB2aXJ0dWFsIHZvaWQgbWVkaWFEb2N1
bWVudE5hdHVyYWxTaXplQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpJbnRTaXplJikgb3ZlcnJpZGU7
CisjZW5kaWYKIAogICAgICAgICBVSURlbGVnYXRlJiBtX3VpRGVsZWdhdGU7CiAgICAgfTsKQEAg
LTEwMyw2ICsxMDYsOSBAQCBwcml2YXRlOgogICAgICAgICBib29sIHdlYlZpZXdBY3Rpb25zRm9y
RWxlbWVudERlZmF1bHRBY3Rpb25zIDogMTsKICAgICAgICAgYm9vbCB3ZWJWaWV3RGlkTm90SGFu
ZGxlVGFwQXNDbGlja0F0UG9pbnQgOiAxOwogI2VuZGlmCisjaWYgRU5BQkxFKFZJREVPKQorICAg
ICAgICBib29sIHdlYlZpZXdNZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkIDogMTsKKyNl
bmRpZgogICAgIH0gbV9kZWxlZ2F0ZU1ldGhvZHM7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tCmluZGV4IDU3ZTBhZGMwMGRhMjA1OTc5MzhmNmZi
YjRlNTE4ZTI4NzRkM2VhNmMuLmVjOTU3NTBiZjA3OGUwMDZkM2MxMDIxNzE3ZjQ3MmVhZjk3ZGRh
OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRl
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tCkBA
IC04NSw2ICs4NSw5IEBAIHZvaWQgVUlEZWxlZ2F0ZTo6c2V0RGVsZWdhdGUoaWQgPFdLVUlEZWxl
Z2F0ZT4gZGVsZWdhdGUpCiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld0FjdGlvbnNGb3JF
bGVtZW50RGVmYXVsdEFjdGlvbnMgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxl
Y3Rvcihfd2ViVmlldzphY3Rpb25zRm9yRWxlbWVudDpkZWZhdWx0QWN0aW9uczopXTsKICAgICBt
X2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3RGlkTm90SGFuZGxlVGFwQXNDbGlja0F0UG9pbnQgPSBb
ZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpkaWROb3RIYW5k
bGVUYXBBc0NsaWNrQXRQb2ludDopXTsKICNlbmRpZgorI2lmIEVOQUJMRShWSURFTykKKyAgICBt
X2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3TWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZCA9
IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3Om1lZGlhRG9j
dW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQ6KV07CisjZW5kaWYKIH0KIAogVUlEZWxlZ2F0ZTo6VUlD
bGllbnQ6OlVJQ2xpZW50KFVJRGVsZWdhdGUmIHVpRGVsZWdhdGUpCkBAIC0zMzgsNiArMzQxLDIw
IEBAIHZvaWQgVUlEZWxlZ2F0ZTo6VUlDbGllbnQ6OmRpZE5vdEhhbmRsZVRhcEFzQ2xpY2soY29u
c3QgV2ViQ29yZTo6SW50UG9pbnQmIHBvaW50CiB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShWSURF
TykKK3ZvaWQgVUlEZWxlZ2F0ZTo6VUlDbGllbnQ6Om1lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNo
YW5nZWQoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgbmV3U2l6ZSkKK3sKKyAgICBpZiAoIW1fdWlE
ZWxlZ2F0ZS5tX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3TWVkaWFEb2N1bWVudE5hdHVyYWxTaXpl
Q2hhbmdlZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgYXV0byBkZWxlZ2F0ZSA9IG1fdWlEZWxl
Z2F0ZS5tX2RlbGVnYXRlLmdldCgpOworICAgIGlmICghZGVsZWdhdGUpCisgICAgICAgIHJldHVy
bjsKKworICAgIFtzdGF0aWNfY2FzdDxpZCA8V0tVSURlbGVnYXRlUHJpdmF0ZT4+KGRlbGVnYXRl
KSBfd2ViVmlldzptX3VpRGVsZWdhdGUubV93ZWJWaWV3IG1lZGlhRG9jdW1lbnROYXR1cmFsU2l6
ZUNoYW5nZWQ6bmV3U2l6ZV07Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAK
ICNlbmRpZiAvLyBXS19BUElfRU5BQkxFRApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1BhZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50
LmgKaW5kZXggNWJhMmQxMDAzYTBjNDA1MmVlMTRjZDg4NWMxZWExN2IzZDU4YzM4Yy4uMTYzOGNj
NDBhZTA5ODMyMGQwOWQ4OGZhZDNkOTkxMGY3OTliZDdhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvUGFnZUNsaWVudC5oCkBAIC0zMjksNiArMzI5LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IFdlYkNvcmU6OldlYk1lZGlhU2Vzc2lvbk1hbmFnZXImIG1lZGlhU2Vzc2lvbk1hbmFnZXIoKSA9
IDA7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShWSURFTykKKyAgICB2aXJ0dWFsIHZvaWQgbWVkaWFE
b2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpJbnRTaXplJikgPSAwOwor
I2VuZGlmCisKICAgICB2aXJ0dWFsIHZvaWQgcmVmVmlldygpID0gMDsKICAgICB2aXJ0dWFsIHZv
aWQgZGVyZWZWaWV3KCkgPSAwOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAKaW5kZXggMjUzNjhjNDkyMWUwMmZiN2JlYjFlMzUyYWNiYWMyMGMyOTBiNzg5My4u
ZDdlYmZjODA2OTk2MjgxNTJkMzUwMTI3OTc1NzdkOWVmOGM2MmY1MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTYwMTQsNiArNjAxNCwxMyBAQCB2b2lk
IFdlYlBhZ2VQcm94eTo6aW5zdGFsbFZpZXdTdGF0ZUNoYW5nZUNvbXBsZXRpb25IYW5kbGVyKHZv
aWQgKF5jb21wbGV0aW9uSGFuZAogfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoVklERU8pCit2b2lk
IFdlYlBhZ2VQcm94eTo6bWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZChjb25zdCBXZWJD
b3JlOjpJbnRTaXplJiBuZXdTaXplKQoreworICAgIG1fdWlDbGllbnQtPm1lZGlhRG9jdW1lbnRO
YXR1cmFsU2l6ZUNoYW5nZWQobmV3U2l6ZSk7Cit9CisjZW5kaWYKKwogdm9pZCBXZWJQYWdlUHJv
eHk6OnNldFNob3VsZERpc3BhdGNoRmFrZU1vdXNlTW92ZUV2ZW50cyhib29sIHNob3VsZERpc3Bh
dGNoRmFrZU1vdXNlTW92ZUV2ZW50cykKIHsKICAgICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6
OldlYlBhZ2U6OlNldFNob3VsZERpc3BhdGNoRmFrZU1vdXNlTW92ZUV2ZW50cyhzaG91bGREaXNw
YXRjaEZha2VNb3VzZU1vdmVFdmVudHMpLCBtX3BhZ2VJRCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmgKaW5kZXggOWQ4ZTkwOWY5MTQwNTVmMTExMWMzOTQxNGU5MDUwMTNk
ZmQxMDNmNS4uMjFkMjI4ODAzMzU2Njc3MzNlYjBmNGU2ODhhMjc4MWZiYWE5ZWNmYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMTQ3Nyw2ICsxNDc3LDEwIEBA
IHByaXZhdGU6CiAgICAgdm9pZCB1c2VGaXhlZExheW91dERpZENoYW5nZShib29sIHVzZUZpeGVk
TGF5b3V0KSB7IG1fdXNlRml4ZWRMYXlvdXQgPSB1c2VGaXhlZExheW91dDsgfQogICAgIHZvaWQg
Zml4ZWRMYXlvdXRTaXplRGlkQ2hhbmdlKFdlYkNvcmU6OkludFNpemUgZml4ZWRMYXlvdXRTaXpl
KSB7IG1fZml4ZWRMYXlvdXRTaXplID0gZml4ZWRMYXlvdXRTaXplOyB9CiAKKyNpZiBFTkFCTEUo
VklERU8pCisgICAgdm9pZCBtZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkKGNvbnN0IFdl
YkNvcmU6OkludFNpemUmKTsKKyNlbmRpZgorCiAgICAgdm9pZCBoYW5kbGVBdXRvRmlsbEJ1dHRv
bkNsaWNrKGNvbnN0IFVzZXJEYXRhJik7CiAKICAgICB2b2lkIGhhbmRsZU1lc3NhZ2UoSVBDOjpD
b25uZWN0aW9uJiwgY29uc3QgU3RyaW5nJiBtZXNzYWdlTmFtZSwgY29uc3QgVXNlckRhdGEmIG1l
c3NhZ2VCb2R5KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
Lm1lc3NhZ2VzLmluCmluZGV4IGMwM2RiNTRiNTRkYzcxMmQ1MGRjNmIwZTg1ZmE1MzQxZGJkZDJj
OGQuLmYzMmJiN2FkNWRhM2FiY2NlMGMxNzc0MzQ0MTBhYTBlNzAwMjMwNDUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtNDQ0
LDYgKzQ0NCwxMCBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogICAgIFBsYXliYWNrVGFy
Z2V0UGlja2VyQ2xpZW50U3RhdGVEaWRDaGFuZ2UodWludDY0X3QgY29udGV4dElkLCB1bnNpZ25l
ZCBtZWRpYVN0YXRlKQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoVklERU8pCisgICAgTWVkaWFEb2N1
bWVudE5hdHVyYWxTaXplQ2hhbmdlZChXZWJDb3JlOjpJbnRTaXplIG5ld1NpemUpCisjZW5kaWYK
KwogICAgIFVzZUZpeGVkTGF5b3V0RGlkQ2hhbmdlKGJvb2wgdXNlRml4ZWRMYXlvdXQpCiAgICAg
Rml4ZWRMYXlvdXRTaXplRGlkQ2hhbmdlKFdlYkNvcmU6OkludFNpemUgZml4ZWRMYXlvdXRTaXpl
KQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJWaWV3RWZs
LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlZpZXdFZmwuaAppbmRleCBhMGNh
ZjEwM2M1ZmJiMzJlNWJkZjFmY2IzNjA0NTAyYTFhYTBlMTRiLi4zNjIyMjQ3OWUyZjlkMDZhMTAz
ZTM1MTk4YjYzMDY3MDhiNTI0NWRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvZWZsL1dlYlZpZXdFZmwuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dl
YlZpZXdFZmwuaApAQCAtOTAsNiArOTAsMTAgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQg
ZGlkRmluaXNoTG9hZEZvck1haW5GcmFtZSgpIG92ZXJyaWRlIGZpbmFsIHsgfQogICAgIHZpcnR1
YWwgdm9pZCBkaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uRm9yTWFpbkZyYW1lKFNhbWVEb2N1bWVu
dE5hdmlnYXRpb25UeXBlKSBvdmVycmlkZSBmaW5hbCB7IH0KIAorI2lmIEVOQUJMRShWSURFTykK
KyAgICB2aXJ0dWFsIHZvaWQgbWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZChjb25zdCBX
ZWJDb3JlOjpJbnRTaXplJikgb3ZlcnJpZGUgZmluYWwgeyB9CisjZW5kaWYKKwogICAgIHZpcnR1
YWwgdm9pZCByZWZWaWV3KCkgb3ZlcnJpZGUgZmluYWwgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRl
cmVmVmlldygpIG92ZXJyaWRlIGZpbmFsIHsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgKaW5kZXggY2M0MGI1NmY3OTc2Yzg3NzhiZTAy
ODYzOTViODk2MmUxZTIxZGQ3OC4uMTU4NWYwNTE3YTBkNzVjNzlkZDk1MTkzZGRmOWNjMzU5OGYw
NmNmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50
SW1wbElPUy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudElt
cGxJT1MuaApAQCAtMTg2LDYgKzE4NiwxMCBAQCBwcml2YXRlOgogCiAgICAgdmlydHVhbCB2b2lk
IGRpZENoYW5nZUJhY2tncm91bmRDb2xvcigpIG92ZXJyaWRlOwogCisjaWYgRU5BQkxFKFZJREVP
KQorICAgIHZpcnR1YWwgdm9pZCBtZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkKGNvbnN0
IFdlYkNvcmU6OkludFNpemUmKSBvdmVycmlkZTsKKyNlbmRpZgorCiAgICAgdmlydHVhbCB2b2lk
IHJlZlZpZXcoKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgZGVyZWZWaWV3KCkgb3ZlcnJp
ZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVu
dEltcGxJT1MubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBs
SU9TLm1tCmluZGV4IGEwODE2YzQ1Y2ExNmY4MDAxMjM2ZDRmMWYwZjMxNzEyZGM4NmExZjEuLjc1
NjlmYmNiMjNhOTAwY2NjMWE4MmZkNmJiMzBmMzc5NDliODBkNDUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQpAQCAtNzM5LDYgKzcz
OSwxNCBAQCB2b2lkIFBhZ2VDbGllbnRJbXBsOjpkaWRDaGFuZ2VCYWNrZ3JvdW5kQ29sb3IoKQog
ICAgIFttX3dlYlZpZXcgX3VwZGF0ZVNjcm9sbFZpZXdCYWNrZ3JvdW5kXTsKIH0KIAorI2lmIEVO
QUJMRShWSURFTykKK3ZvaWQgUGFnZUNsaWVudEltcGw6Om1lZGlhRG9jdW1lbnROYXR1cmFsU2l6
ZUNoYW5nZWQoY29uc3QgSW50U2l6ZSYgbmV3U2l6ZSkKK3sKKyAgICBbbV93ZWJWaWV3IF9tZWRp
YURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkOm5ld1NpemVdOworfQorI2VuZGlmCisKKwogdm9p
ZCBQYWdlQ2xpZW50SW1wbDo6cmVmVmlldygpCiB7CiAgICAgW21fY29udGVudFZpZXcgcmV0YWlu
XTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudElt
cGwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwuaAppbmRl
eCBhYmUzOTRiNzZmNGJkYjg3ZDg1NTY4NTY5OTM0MzJlY2M1MTFiYmY3Li5jNjllZWE2NGMxZTZl
YmMwNzdmNTgyNWNkNmRjMzMzNGFjMjA4MmQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5oCkBAIC0yMDMsNiArMjAzLDEwIEBAIHByaXZhdGU6CiAK
ICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlQmFja2dyb3VuZENvbG9yKCkgb3ZlcnJpZGU7CiAK
KyNpZiBFTkFCTEUoVklERU8pCisgICAgdmlydHVhbCB2b2lkIG1lZGlhRG9jdW1lbnROYXR1cmFs
U2l6ZUNoYW5nZWQoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpIG92ZXJyaWRlOworI2VuZGlmCisK
ICAgICBXS1ZpZXcgKm1fd2tWaWV3OwogICAgIFdLV2ViVmlldyAqbV93ZWJWaWV3OwogICAgIFJl
dGFpblB0cjxXS0VkaXRvclVuZG9UYXJnZXRPYmpDPiBtX3VuZG9UYXJnZXQ7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5tbQppbmRleCA4MWQwYjFiMDA0
NmM0NWZhZGQzOTE3NWEwZGNjNzhlMGIwNGFmMmRjLi4zYmJkZjE4ZDQ3MzBlNjA5MzNhYjhjNTZi
NGM2OTE4MjRlMjQxODFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFj
L1BhZ2VDbGllbnRJbXBsLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFn
ZUNsaWVudEltcGwubW0KQEAgLTgzNiw2ICs4MzYsMTMgQEAgV2ViQ29yZTo6V2ViTWVkaWFTZXNz
aW9uTWFuYWdlciYgUGFnZUNsaWVudEltcGw6Om1lZGlhU2Vzc2lvbk1hbmFnZXIoKQogfQogI2Vu
ZGlmCiAKKyNpZiBFTkFCTEUoVklERU8pCit2b2lkIFBhZ2VDbGllbnRJbXBsOjptZWRpYURvY3Vt
ZW50TmF0dXJhbFNpemVDaGFuZ2VkKGNvbnN0IEludFNpemUmIG5ld1NpemUpCit7CisgICAgW21f
d2ViVmlldyBfbWVkaWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZDpuZXdTaXplXTsKK30KKyNl
bmRpZgorCiB2b2lkIFBhZ2VDbGllbnRJbXBsOjpyZWZWaWV3KCkKIHsKICAgICBDRlJldGFpbiht
X3drVmlldyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKaW5kZXggOTM5ZGNjY2NhYTRiZjkxOGU3
OTZmNmM1NTVhNGJiMzBkOThkNDQ2Ny4uNWRmYjE4YmJhOWU0OTVkYTQ0ZGU5NTg5ZGRiOTFjOWJh
YzQyYmYwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcApAQCAtMTE1OCw1ICsxMTU4LDExIEBA
IHZvaWQgV2ViQ2hyb21lQ2xpZW50OjpwbGF5YmFja1RhcmdldFBpY2tlckNsaWVudFN0YXRlRGlk
Q2hhbmdlKHVpbnQ2NF90IGNvbnRleHRJCiB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShWSURFTykK
K3ZvaWQgV2ViQ2hyb21lQ2xpZW50OjptZWRpYURvY3VtZW50TmF0dXJhbFNpemVDaGFuZ2VkKGNv
bnN0IFdlYkNvcmU6OkludFNpemUmIG5ld1NpemUpCit7CisgICAgbV9wYWdlLT5tZWRpYURvY3Vt
ZW50TmF0dXJhbFNpemVDaGFuZ2VkKG5ld1NpemUpOworfQorI2VuZGlmCiAKIH0gLy8gbmFtZXNw
YWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggMTY1M2RmYzEwMDZmZTRlOTgzMjg2
NjIwOWFjMDAyYjhjODdkZTJjZi4uOGFmNDliMTRkYTliMDE5NGMyODgyMzhjMzk2MjRhMzkzZDY1
ZTVhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC0zMjMsNiArMzIzLDEwIEBAIHByaXZhdGU6
CiAgICAgdmlydHVhbCB2b2lkIHBsYXliYWNrVGFyZ2V0UGlja2VyQ2xpZW50U3RhdGVEaWRDaGFu
Z2UodWludDY0X3QsIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok1lZGlhU3RhdGVGbGFncykgb3Zl
cnJpZGU7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShWSURFTykKKyAgICB2aXJ0dWFsIHZvaWQgbWVk
aWFEb2N1bWVudE5hdHVyYWxTaXplQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpJbnRTaXplJikgb3Zl
cnJpZGU7CisjZW5kaWYKKwogICAgIFN0cmluZyBtX2NhY2hlZFRvb2xUaXA7CiAgICAgbXV0YWJs
ZSBSZWZQdHI8V2ViRnJhbWU+IG1fY2FjaGVkRnJhbWVTZXRMYXJnZXN0RnJhbWU7CiAgICAgbXV0
YWJsZSBib29sIG1fY2FjaGVkTWFpbkZyYW1lSGFzSG9yaXpvbnRhbFNjcm9sbGJhcjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCBjNTNlYjlk
OTg1ZDdkN2M1MmMxOWM3NzJmNzUzNjk1NTgwYWZhZWVmLi45NDY4NGQ0ODZjYjgwNDgxNzFjOWYw
ZWJmNTg1NWNmNzY3MTFkMmU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwCkBAIC01MDMxLDQgKzUwMzEsMTEgQEAgdm9pZCBXZWJQYWdlOjpzZXRV
c2VyQ29udGVudEV4dGVuc2lvbnNFbmFibGVkKGJvb2wgdXNlckNvbnRlbnRFeHRlbnNpb25zRW5h
YmxlZCkKICAgICBtX3BhZ2UtPnNldFVzZXJDb250ZW50RXh0ZW5zaW9uc0VuYWJsZWQodXNlckNv
bnRlbnRFeHRlbnNpb25zRW5hYmxlZCk7CiB9CiAKKyNpZiBFTkFCTEUoVklERU8pCit2b2lkIFdl
YlBhZ2U6Om1lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQoY29uc3QgSW50U2l6ZSYgbmV3
U2l6ZSkKK3sKKyAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6Ok1lZGlhRG9jdW1lbnRO
YXR1cmFsU2l6ZUNoYW5nZWQobmV3U2l6ZSkpOworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNl
IFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5k
ZXggZWFhNzBlM2FlYTE1NmMwN2IwMjNkNzEzMWEzMDQ0NjNkNjE3ZDE4OS4uZjQ2ZmRhNjg0N2U0
MTc5MDExMjliNDdjYjE0ZGIzY2QzOWQ5MDc5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC05MDIsNiArOTAyLDEwIEBAIHB1YmxpYzoKICAgICB2
b2lkIHNldElucHV0TWV0aG9kU3RhdGUoYm9vbCk7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShWSURF
TykKKyAgICB2b2lkIG1lZGlhRG9jdW1lbnROYXR1cmFsU2l6ZUNoYW5nZWQoY29uc3QgV2ViQ29y
ZTo6SW50U2l6ZSYpOworI2VuZGlmCisKIHByaXZhdGU6CiAgICAgV2ViUGFnZSh1aW50NjRfdCBw
YWdlSUQsIGNvbnN0IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmKTsKIAo=
</data>
<flag name="review"
          id="282558"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>