<?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>86748</bug_id>
          
          <creation_ts>2012-05-17 09:30:36 -0700</creation_ts>
          <short_desc>REGRESSION (r117428): WebKit API/SPI was removed</short_desc>
          <delta_ts>2022-03-01 03:06:59 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>86704</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>cruz.ryan</cc>
    
    <cc>eric</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>informatika</cc>
    
    <cc>jberlin</cc>
    
    <cc>mitz</cc>
    
    <cc>smkolins</cc>
    
    <cc>svetloslav</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>626637</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-17 09:30:36 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/117428 broke the build:
It broke the Safari build (Requested by jessieberlin on #webkit).

This is an automatic bug report generated by the sheriff-bot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626640</commentid>
    <comment_count>1</comment_count>
      <attachid>142489</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-17 09:31:30 -0700</bug_when>
    <thetext>Created attachment 142489
ROLLOUT of r117428

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626641</commentid>
    <comment_count>2</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2012-05-17 09:35:18 -0700</bug_when>
    <thetext>Looks like the attached patch is bogus. This will need to be done by hand.

The reason that this broke the Safari build is that it removed API / SPI that Safari was using.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626682</commentid>
    <comment_count>3</comment_count>
    <who name="">mitz</who>
    <bug_when>2012-05-17 10:27:06 -0700</bug_when>
    <thetext>Reverted r117428 in &lt;http://trac.webkit.org/r117460&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626766</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-05-17 11:37:14 -0700</bug_when>
    <thetext>*** Bug 86735 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626768</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-05-17 11:37:26 -0700</bug_when>
    <thetext>*** Bug 86737 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626770</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-05-17 11:37:52 -0700</bug_when>
    <thetext>*** Bug 86729 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626773</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-05-17 11:38:19 -0700</bug_when>
    <thetext>*** Bug 86740 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626829</commentid>
    <comment_count>8</comment_count>
      <attachid>142489</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-05-17 12:14:05 -0700</bug_when>
    <thetext>Comment on attachment 142489
ROLLOUT of r117428

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

&gt; Source/WebCore/ChangeLog:16
&gt; +2012-05-17  Pavel Feldman  &lt;pfeldman@chromium.org&gt;

This changelog loks wrong, but otherwise the patch looks fine.  I wonder why the sherrif-bot goofed here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626840</commentid>
    <comment_count>9</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-05-17 12:19:01 -0700</bug_when>
    <thetext>Thank you mitz.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142489</attachid>
            <date>2012-05-17 09:31:30 -0700</date>
            <delta_ts>2022-03-01 03:06:59 -0800</delta_ts>
            <desc>ROLLOUT of r117428</desc>
            <filename>bug-86748-20120517163535.patch</filename>
            <type>text/plain</type>
            <size>47314</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3NDU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzJlODE1MjI0NDBkYWNj
Njg0ZTBhODc0MThmZmM0NGQ0NmQwZWJmMy4uZmEwNjA5YjI5ZmYzNjE2MmVlZTc3YjEzYzA1MDJi
YTdjYzAwMTkxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDEyLTA1LTE3ICBTaGVy
aWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByMTE3NDI4LgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC8xMTc0MjgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTg2NzQ4CisKKyAgICAgICAgSXQgYnJva2UgdGhlIFNhZmFyaSBidWlsZCAoUmVx
dWVzdGVkIGJ5IGplc3NpZWJlcmxpbiBvbgorICAgICAgICAjd2Via2l0KS4KKworICAgICAgICAq
IHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5h
bFNldHRpbmdzOjpzZXRNZWRpYVBsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZSk6CisgICAgICAg
ICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmg6CisgICAgICAgIChJbnRlcm5hbFNldHRpbmdz
KToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsOgorCisyMDEyLTA1LTE3
ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJ
bnNwZWN0b3I6IGNyZWF0ZSBTb3VyY2VGcmFtZXMgd2l0aCBjb250ZW50IHByb3ZpZGVycy4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg2NzQyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgVnNldm9sb2QgVmxhc292LgorCisgICAgICAgIFNpbXBsZSByZWZh
Y3RvcmluZy4KKworICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvSmF2YVNjcmlwdFNvdXJj
ZUZyYW1lLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkphdmFTY3JpcHRTb3VyY2VGcmFtZSk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJjZUZyYW1lLnByb3RvdHlwZS5j
b21taXRFZGl0aW5nKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0U291cmNlRnJh
bWUucHJvdG90eXBlLmFmdGVyVGV4dENoYW5nZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkph
dmFTY3JpcHRTb3VyY2VGcmFtZS5wcm90b3R5cGUuX2RpZEVkaXRDb250ZW50KToKKyAgICAgICAg
KiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlVmlldy5qczoKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5SZXNvdXJjZVNvdXJjZUZyYW1lKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5SZXNvdXJj
ZVNvdXJjZUZyYW1lLnByb3RvdHlwZS5nZXQgcmVzb3VyY2UpOgorICAgICAgICAqIGluc3BlY3Rv
ci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlw
dHNQYW5lbC5wcm90b3R5cGUuX2NyZWF0ZVNvdXJjZUZyYW1lKToKKyAgICAgICAgKiBpbnNwZWN0
b3IvZnJvbnQtZW5kL1NvdXJjZUZyYW1lLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNvdXJj
ZUZyYW1lKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Tb3VyY2VGcmFtZS5wcm90b3R5cGUuX2Vu
c3VyZUNvbnRlbnRMb2FkZWQpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU3R5bGVz
UGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU3R5bGVTb3VyY2VGcmFtZSk6CisgICAg
ICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9VSVNvdXJjZUNvZGUuanM6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuVUlTb3VyY2VDb2RlLnByb3RvdHlwZS5jb250ZW50VVJMKToKKwogMjAxMi0wNS0x
NyAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIg
SW5zcGVjdG9yOiBlcnJvciB3aGVuIGV4cGFuZGluZyBhbiBIVE1MQWxsQ29sbGVjdGlvbiBvYmpl
Y3QgaW4gdGhlIGNvbnNvbGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggZjA1Y2I0ZWRl
OThmNWE5Yzk5MWJiNTBjNGM0YjE2OGQ5M2ZjOWE0NC4uODI2ZmJmOWZkODE3YzllMzBhNzA3NDhk
ZjhiZDdhNzA2YzhkMjc5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
OSBAQAorMjAxMi0wNS0xNyAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5j
b20+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjExNzQyOC4KKyAgICAgICAg
aHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTE3NDI4CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Njc0OAorCisgICAgICAgIEl0IGJyb2tl
IHRoZSBTYWZhcmkgYnVpbGQgKFJlcXVlc3RlZCBieSBqZXNzaWViZXJsaW4gb24KKyAgICAgICAg
I3dlYmtpdCkuCisKKyAgICAgICAgKiBwdWJsaWMvV2ViVmlldy5oOgorICAgICAgICAqIHNyYy9X
ZWJWaWV3SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpzZXREb21haW5S
ZWxheGF0aW9uRm9yYmlkZGVuKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogc3JjL1dl
YlZpZXdJbXBsLmg6CisgICAgICAgIChXZWJWaWV3SW1wbCk6CisKIDIwMTItMDUtMTcgIEd5dXlv
dW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBDb252ZXJ0IHNl
dERvbWFpblJlbGF4YXRpb25Gb3JiaWRkZW5Gb3JVUkxTY2hlbWUgdG8gdXNlIEludGVybmFsU2V0
dGluZ3MgaW50ZXJmYWNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5kZXggZTNlNmZmMzU5ZTcwNWE5YTcwMGUw
YWIyODdmMDAwNWZjNzhiYjM1Mi4uYjNiOGJjZGYzOWFkNWVhNTllZjFiMTFjOTYwYjgzYjgyY2I4
YzUwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTA1LTE3ICBTaGVy
aWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByMTE3NDI4LgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC8xMTc0MjgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTg2NzQ4CisKKyAgICAgICAgSXQgYnJva2UgdGhlIFNhZmFyaSBidWlsZCAoUmVx
dWVzdGVkIGJ5IGplc3NpZWJlcmxpbiBvbgorICAgICAgICAjd2Via2l0KS4KKworICAgICAgICAq
IFdlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay5jcHA6CisgICAgICAgIChE
dW1wUmVuZGVyVHJlZVN1cHBvcnRHdGs6OnNldERvbWFpblJlbGF4YXRpb25Gb3JiaWRkZW5Gb3JV
UkxTY2hlbWUpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9y
dEd0ay5oOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrKToKKwogMjAxMi0wNS0x
NyAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgogCiAgICAgICAgIENv
bnZlcnQgc2V0RG9tYWluUmVsYXhhdGlvbkZvcmJpZGRlbkZvclVSTFNjaGVtZSB0byB1c2UgSW50
ZXJuYWxTZXR0aW5ncyBpbnRlcmZhY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCAzMTZkNzY4ZDg0NzA1
ODgzN2M1NzAwYTczYTRmNjRkMTBiMjhiMTg2Li5mODAwODMxODNiN2I4OGViYWQzNjNlNDc5NzJl
ZDAzMjNmMWQ0MTVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDUt
MTcgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAg
IFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMTc0MjguCisgICAgICAgIGh0dHA6Ly90cmFjLndl
YmtpdC5vcmcvY2hhbmdlc2V0LzExNzQyOAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9ODY3NDgKKworICAgICAgICBJdCBicm9rZSB0aGUgU2FmYXJpIGJ1
aWxkIChSZXF1ZXN0ZWQgYnkgamVzc2llYmVybGluIG9uCisgICAgICAgICN3ZWJraXQpLgorCisg
ICAgICAgICogV2ViS2l0Lm9yZGVyOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAg
ICAgICAgKCtbV2ViVmlldyBfc2V0RG9tYWluUmVsYXhhdGlvbkZvcmJpZGRlbjpmb3JVUkxTY2hl
bWU6XSk6CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3UHJpdmF0ZS5oOgorCiAyMDEyLTA1LTE3
ICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAgQ29u
dmVydCBzZXREb21haW5SZWxheGF0aW9uRm9yYmlkZGVuRm9yVVJMU2NoZW1lIHRvIHVzZSBJbnRl
cm5hbFNldHRpbmdzIGludGVyZmFjZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCBkYzc4YjRiZmY5ZjI1Zjc4
MTE1OTUyMGJmN2RhYjk5MzA4N2NiNDAzLi44Y2Q4NzdiMmY0MTNjNmVjOTRlMTllNDFiOThiNjM0
YWIyMWNlMzY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTA1LTE3ICBT
aGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJl
dmlld2VkLCByb2xsaW5nIG91dCByMTE3NDI4LgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQu
b3JnL2NoYW5nZXNldC8xMTc0MjgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTg2NzQ4CisKKyAgICAgICAgSXQgYnJva2UgdGhlIFNhZmFyaSBidWlsZCAo
UmVxdWVzdGVkIGJ5IGplc3NpZWJlcmxpbiBvbgorICAgICAgICAjd2Via2l0KS4KKworICAgICAg
ICAqIFdlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmNwcDoKKyAgICAgICAg
KER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjpzZXREb21haW5SZWxheGF0aW9uRm9yYmlkZGVuRm9y
VVJMU2NoZW1lKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBv
cnRRdC5oOgorCiAyMDEyLTA1LTE3ICBUc2Fya28gWWFyb3NsYXYgIDxlcmlrdHNhcmtvQGdvb2ds
ZW1haWwuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFl1cnkgU2VtaWtoYXRza3kuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbi9D
aGFuZ2VMb2cKaW5kZXggOWYzM2UwOWJkNzdhN2FjNmVhYWI5NTY3MWRhNTU0MTdjZWU4NzYyZC4u
ZDg2YmViYzZkMGNhZDk3OTM0MjdkMzUwNzQ1MWUwZmEwYWM0NWYyZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTA1LTE3ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZp
ZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTE3
NDI4LgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xMTc0MjgKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg2NzQ4CisKKyAg
ICAgICAgSXQgYnJva2UgdGhlIFNhZmFyaSBidWlsZCAoUmVxdWVzdGVkIGJ5IGplc3NpZWJlcmxp
biBvbgorICAgICAgICAjd2Via2l0KS4KKworICAgICAgICAqIEludGVyZmFjZXMvSVdlYlZpZXdQ
cml2YXRlLmlkbDoKKyAgICAgICAgKiBXZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYlZpZXc6OnNl
dERvbWFpblJlbGF4YXRpb25Gb3JiaWRkZW5Gb3JVUkxTY2hlbWUpOgorICAgICAgICAqIFdlYlZp
ZXcuaDoKKyAgICAgICAgKFdlYlZpZXcpOgorCiAyMDEyLTA1LTE3ICBHeXV5b3VuZyBLaW0gIDxn
eXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAgQ29udmVydCBzZXREb21haW5SZWxh
eGF0aW9uRm9yYmlkZGVuRm9yVVJMU2NoZW1lIHRvIHVzZSBJbnRlcm5hbFNldHRpbmdzIGludGVy
ZmFjZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCmluZGV4IDI4YjdkYmI0ZjQ0MWE3MzYxMzUwNmZiNjJjN2RkYjVkMGNiODYw
NmMuLjUxNWJlN2ZlODhjNjg5MTMzNmUwM2U4ZjVhZDJlNTZiYWJmOWJmNDQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNCBAQAorMjAxMi0wNS0xNyAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3
LmJvdEBnbWFpbC5jb20+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjExNzQy
OC4KKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTE3NDI4CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Njc0OAorCisgICAg
ICAgIEl0IGJyb2tlIHRoZSBTYWZhcmkgYnVpbGQgKFJlcXVlc3RlZCBieSBqZXNzaWViZXJsaW4g
b24KKyAgICAgICAgI3dlYmtpdCkuCisKKyAgICAgICAgKiB3aW4vV2ViS2l0Mi5kZWY6CisKIDIw
MTItMDUtMTcgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNvbT4KIAogICAg
ICAgICBDb252ZXJ0IHNldERvbWFpblJlbGF4YXRpb25Gb3JiaWRkZW5Gb3JVUkxTY2hlbWUgdG8g
dXNlIEludGVybmFsU2V0dGluZ3MgaW50ZXJmYWNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0phdmFTY3JpcHRTb3VyY2VGcmFtZS5qcyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSmF2YVNjcmlwdFNvdXJjZUZyYW1lLmpzCmluZGV4
IGJlMTIxM2RhMzc2NDRjMjVmNzAxMDU0MGJiMmViZjBiY2I4ZTM5ODAuLjllNTYxYWI4ZTgyNjlm
MzkyYTM1Nzc0YTUzZWVjMTQwM2JkNTcwMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvSmF2YVNjcmlwdFNvdXJjZUZyYW1lLmpzCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSmF2YVNjcmlwdFNvdXJjZUZyYW1lLmpzCkBAIC00
NCw3ICs0NCw3IEBAIFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0U291cmNlRnJhbWUgPSBmdW5jdGlv
bihzY3JpcHRzUGFuZWwsIHVpU291cmNlQ29kZSkKICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxv
Y2F0aW9ucy5sZW5ndGg7ICsraSkKICAgICAgICAgdGhpcy5fYnJlYWtwb2ludEFkZGVkKHtkYXRh
OmxvY2F0aW9uc1tpXX0pOwogCi0gICAgV2ViSW5zcGVjdG9yLlNvdXJjZUZyYW1lLmNhbGwodGhp
cywgdWlTb3VyY2VDb2RlLnVybCk7CisgICAgV2ViSW5zcGVjdG9yLlNvdXJjZUZyYW1lLmNhbGwo
dGhpcywgdWlTb3VyY2VDb2RlKTsKIAogICAgIHRoaXMuX3BvcG92ZXJIZWxwZXIgPSBuZXcgV2Vi
SW5zcGVjdG9yLk9iamVjdFBvcG92ZXJIZWxwZXIodGhpcy50ZXh0Vmlld2VyLmVsZW1lbnQsCiAg
ICAgICAgICAgICB0aGlzLl9nZXRQb3BvdmVyQW5jaG9yLmJpbmQodGhpcyksIHRoaXMuX3Jlc29s
dmVPYmplY3RGb3JQb3BvdmVyLmJpbmQodGhpcyksIHRoaXMuX29uSGlkZVBvcG92ZXIuYmluZCh0
aGlzKSwgdHJ1ZSk7CkBAIC04MCwyNCArODAsNiBAQCBXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNv
dXJjZUZyYW1lLnByb3RvdHlwZSA9IHsKICAgICB9LAogCiAgICAgLyoqCi0gICAgICogQHBhcmFt
IHtmdW5jdGlvbig/c3RyaW5nLCBib29sZWFuLCBzdHJpbmcpfSBjYWxsYmFjawotICAgICAqLwot
ICAgIHJlcXVlc3RDb250ZW50OiBmdW5jdGlvbihjYWxsYmFjaykKLSAgICB7Ci0gICAgICAgIC8q
KgotICAgICAgICAgKiBAcGFyYW0gez9zdHJpbmd9IGNvbnRlbnQKLSAgICAgICAgICogQHBhcmFt
IHtib29sZWFufSBjb250ZW50RW5jb2RlZAotICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ30gbWlt
ZVR5cGUKLSAgICAgICAgICovCi0gICAgICAgIGZ1bmN0aW9uIG15Y2FsbGJhY2soY29udGVudCwg
Y29udGVudEVuY29kZWQsIG1pbWVUeXBlKQotICAgICAgICB7Ci0gICAgICAgICAgICB0aGlzLl9v
cmlnaW5hbENvbnRlbnQgPSBjb250ZW50OwotICAgICAgICAgICAgY2FsbGJhY2soY29udGVudCwg
Y29udGVudEVuY29kZWQsIG1pbWVUeXBlKTsKLSAgICAgICAgfQotICAgICAgICB0aGlzLl91aVNv
dXJjZUNvZGUucmVxdWVzdENvbnRlbnQobXljYWxsYmFjay5iaW5kKHRoaXMpKTsKLSAgICB9LAot
Ci0gICAgLyoqCiAgICAgICogQHJldHVybiB7Ym9vbGVhbn0KICAgICAgKi8KICAgICBjYW5FZGl0
U291cmNlOiBmdW5jdGlvbigpCkBAIC0xMTMsNyArOTUsNyBAQCBXZWJJbnNwZWN0b3IuSmF2YVNj
cmlwdFNvdXJjZUZyYW1lLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5fZWRpdGluZ0NvbnRl
bnQgPSB0cnVlOwogICAgICAgICBpZiAoIXRoaXMuX3VpU291cmNlQ29kZS5pc0RpcnR5KCkpCiAg
ICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIHRoaXMuX3VpU291cmNlQ29kZS5jb21taXRXb3Jr
aW5nQ29weSh0aGlzLl9kaWRFZGl0Q29udGVudC5iaW5kKHRoaXMsIHRleHQpKTsKKyAgICAgICAg
dGhpcy5fdWlTb3VyY2VDb2RlLmNvbW1pdFdvcmtpbmdDb3B5KHRoaXMuX2RpZEVkaXRDb250ZW50
LmJpbmQodGhpcykpOwogICAgIH0sCiAKICAgICAvKioKQEAgLTE3Myw3ICsxNTUsNyBAQCBXZWJJ
bnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJjZUZyYW1lLnByb3RvdHlwZSA9IHsKICAgICB7CiAgICAg
ICAgIHRoaXMuX3VpU291cmNlQ29kZS5zZXRXb3JraW5nQ29weSh0aGlzLnRleHRNb2RlbC50ZXh0
KTsKICAgICAgICAgaWYgKCF0aGlzLl91aVNvdXJjZUNvZGUuaXNEaXJ0eSgpKQotICAgICAgICAg
ICAgdGhpcy5fZGlkRWRpdENvbnRlbnQodGhpcy5fb3JpZ2luYWxDb250ZW50LCBudWxsKTsKKyAg
ICAgICAgICAgIHRoaXMuX2RpZEVkaXRDb250ZW50KG51bGwpOwogICAgIH0sCiAKICAgICBiZWZv
cmVUZXh0Q2hhbmdlZDogZnVuY3Rpb24oKQpAQCAtMTkzLDcgKzE3NSw3IEBAIFdlYkluc3BlY3Rv
ci5KYXZhU2NyaXB0U291cmNlRnJhbWUucHJvdG90eXBlID0gewogICAgICAgICBXZWJJbnNwZWN0
b3IuU291cmNlRnJhbWUucHJvdG90eXBlLmJlZm9yZVRleHRDaGFuZ2VkLmNhbGwodGhpcyk7CiAg
ICAgfSwKIAotICAgIF9kaWRFZGl0Q29udGVudDogZnVuY3Rpb24oY29udGVudCwgZXJyb3IpCisg
ICAgX2RpZEVkaXRDb250ZW50OiBmdW5jdGlvbihlcnJvcikKICAgICB7CiAgICAgICAgIGRlbGV0
ZSB0aGlzLl9lZGl0aW5nQ29udGVudDsKIApAQCAtMjAyLDggKzE4NCw2IEBAIFdlYkluc3BlY3Rv
ci5KYXZhU2NyaXB0U291cmNlRnJhbWUucHJvdG90eXBlID0gewogICAgICAgICAgICAgcmV0dXJu
OwogICAgICAgICB9CiAKLSAgICAgICAgdGhpcy5fb3JpZ2luYWxDb250ZW50ID0gY29udGVudDsK
LQogICAgICAgICAvLyBSZXN0b3JlIGFsbCBtdXRlZCBicmVha3BvaW50cy4KICAgICAgICAgZm9y
ICh2YXIgbGluZU51bWJlciA9IDA7IGxpbmVOdW1iZXIgPCB0aGlzLnRleHRNb2RlbC5saW5lc0Nv
dW50OyArK2xpbmVOdW1iZXIpIHsKICAgICAgICAgICAgIHZhciBicmVha3BvaW50RGVjb3JhdGlv
biA9IHRoaXMudGV4dE1vZGVsLmdldEF0dHJpYnV0ZShsaW5lTnVtYmVyLCAiYnJlYWtwb2ludCIp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJj
ZVZpZXcuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlVmll
dy5qcwppbmRleCBiNjY2M2Q2ZDJhYzUyMmUxMTRmYTk3MzMzZTk5MjRmMmFiYmRkNDQxLi45NGEy
NDExZjlkMWYxMWMzODFkODg4NDkzZDRkMWY2YTRiNGRiYjFlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlVmlldy5qcworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlVmlldy5qcwpAQCAtODMsNyArODMs
NyBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2VWaWV3Lm5vblNvdXJjZVZpZXdGb3JSZXNvdXJjZSA9
IGZ1bmN0aW9uKHJlc291cmNlKQogV2ViSW5zcGVjdG9yLlJlc291cmNlU291cmNlRnJhbWUgPSBm
dW5jdGlvbihyZXNvdXJjZSkKIHsKICAgICB0aGlzLl9yZXNvdXJjZSA9IHJlc291cmNlOwotICAg
IFdlYkluc3BlY3Rvci5Tb3VyY2VGcmFtZS5jYWxsKHRoaXMsIHJlc291cmNlLnVybCk7CisgICAg
V2ViSW5zcGVjdG9yLlNvdXJjZUZyYW1lLmNhbGwodGhpcywgcmVzb3VyY2UpOwogICAgIHRoaXMu
X3Jlc291cmNlLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlJlc291cmNlLkV2ZW50cy5S
ZXZpc2lvbkFkZGVkLCB0aGlzLl9jb250ZW50Q2hhbmdlZCwgdGhpcyk7CiB9CiAKQEAgLTkzLDIz
ICs5Myw2IEBAIFdlYkluc3BlY3Rvci5SZXNvdXJjZVNvdXJjZUZyYW1lLnByb3RvdHlwZSA9IHsK
ICAgICAgICAgcmV0dXJuIHRoaXMuX3Jlc291cmNlOwogICAgIH0sCiAKLSAgICAvKioKLSAgICAg
KiBAcGFyYW0ge2Z1bmN0aW9uKD9zdHJpbmcsYm9vbGVhbixzdHJpbmcpfSBjYWxsYmFjawotICAg
ICAqLwotICAgIHJlcXVlc3RDb250ZW50OiBmdW5jdGlvbihjYWxsYmFjaykKLSAgICB7Ci0gICAg
ICAgIC8qKgotICAgICAgICAgKiBAcGFyYW0gez9zdHJpbmd9IGNvbnRlbnQKLSAgICAgICAgICog
QHBhcmFtIHtib29sZWFufSBjb250ZW50RW5jb2RlZAotICAgICAgICAgKiBAcGFyYW0ge3N0cmlu
Z30gbWltZVR5cGUKLSAgICAgICAgICovCi0gICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrV3JhcHBl
cihjb250ZW50LCBjb250ZW50RW5jb2RlZCwgbWltZVR5cGUpCi0gICAgICAgIHsKLSAgICAgICAg
ICAgIGNhbGxiYWNrKGNvbnRlbnQsIGNvbnRlbnRFbmNvZGVkLCBtaW1lVHlwZSk7Ci0gICAgICAg
IH0KLSAgICAgICAgdGhpcy5yZXNvdXJjZS5yZXF1ZXN0Q29udGVudChjYWxsYmFja1dyYXBwZXIu
YmluZCh0aGlzKSk7Ci0gICAgfSwKLQogICAgIF9jb250ZW50Q2hhbmdlZDogZnVuY3Rpb24oZXZl
bnQpCiAgICAgewogICAgICAgICB0aGlzLnNldENvbnRlbnQodGhpcy5fcmVzb3VyY2UuY29udGVu
dCwgZmFsc2UsIHRoaXMuX3Jlc291cmNlLmNhbm9uaWNhbE1pbWVUeXBlKCkpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanMgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qcwppbmRleCBk
Y2ViOGJkNGI2MWNlNDc0ZDIyOTBlNTUyN2YzMTBjNmRiMmNlOTk1Li40NGQ2YjNjZmUxYTFiMjRi
ZWExOTQyYjQ2NjdiZGM4ODUxODQwODY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qcwpAQCAtNDY4LDcgKzQ2OCw3IEBAIFdlYklu
c3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICAgICAgc291cmNlRnJh
bWUgPSBuZXcgV2ViSW5zcGVjdG9yLlN0eWxlU291cmNlRnJhbWUodWlTb3VyY2VDb2RlKTsKICAg
ICAgICAgZWxzZSB7CiAgICAgICAgICAgICBjb25zb2xlLmFzc2VydChmYWxzZSwgIlVua25vd24g
VUlTb3VyY2VDb2RlIHR5cGUiKTsKLSAgICAgICAgICAgIHNvdXJjZUZyYW1lID0gbmV3IFdlYklu
c3BlY3Rvci5Tb3VyY2VGcmFtZSh1aVNvdXJjZUNvZGUudXJsKTsKKyAgICAgICAgICAgIHNvdXJj
ZUZyYW1lID0gbmV3IFdlYkluc3BlY3Rvci5Tb3VyY2VGcmFtZSh1aVNvdXJjZUNvZGUpOwogICAg
ICAgICB9CiAgICAgICAgICAKICAgICAgICAgdGhpcy5fc291cmNlRnJhbWVzQnlVSVNvdXJjZUNv
ZGUucHV0KHVpU291cmNlQ29kZSwgc291cmNlRnJhbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VGcmFtZS5qcyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlRnJhbWUuanMKaW5kZXggM2YwYjBjODM5NTMwMzA3
ZDQ5Yzc3ODExOTc2ZDQ4Y2NkMTVjNTQxYS4uYjZkZjc1ZjI4OWQ5ZDI3MWY3MTc0OTdkNjVmYzU2
MmNhYzhkMDI3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9Tb3VyY2VGcmFtZS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L1NvdXJjZUZyYW1lLmpzCkBAIC0zMSwxMyArMzEsMTUgQEAKIC8qKgogICogQGV4dGVuZHMge1dl
Ykluc3BlY3Rvci5WaWV3fQogICogQGNvbnN0cnVjdG9yCisgKiBAcGFyYW0ge1dlYkluc3BlY3Rv
ci5Db250ZW50UHJvdmlkZXJ9IGNvbnRlbnRQcm92aWRlcgogICovCi1XZWJJbnNwZWN0b3IuU291
cmNlRnJhbWUgPSBmdW5jdGlvbih1cmwpCitXZWJJbnNwZWN0b3IuU291cmNlRnJhbWUgPSBmdW5j
dGlvbihjb250ZW50UHJvdmlkZXIpCiB7CiAgICAgV2ViSW5zcGVjdG9yLlZpZXcuY2FsbCh0aGlz
KTsKICAgICB0aGlzLmVsZW1lbnQuYWRkU3R5bGVDbGFzcygic2NyaXB0LXZpZXciKTsKIAotICAg
IHRoaXMuX3VybCA9IHVybDsKKyAgICB0aGlzLl91cmwgPSBjb250ZW50UHJvdmlkZXIuY29udGVu
dFVSTCgpOworICAgIHRoaXMuX2NvbnRlbnRQcm92aWRlciA9IGNvbnRlbnRQcm92aWRlcjsKIAog
ICAgIHRoaXMuX3RleHRNb2RlbCA9IG5ldyBXZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1vZGVsKCk7
CiAKQEAgLTExNCwxOCArMTE2LDExIEBAIFdlYkluc3BlY3Rvci5Tb3VyY2VGcmFtZS5wcm90b3R5
cGUgPSB7CiAgICAgewogICAgICAgICBpZiAoIXRoaXMuX2NvbnRlbnRSZXF1ZXN0ZWQpIHsKICAg
ICAgICAgICAgIHRoaXMuX2NvbnRlbnRSZXF1ZXN0ZWQgPSB0cnVlOwotICAgICAgICAgICAgdGhp
cy5yZXF1ZXN0Q29udGVudCh0aGlzLnNldENvbnRlbnQuYmluZCh0aGlzKSk7CisgICAgICAgICAg
ICB0aGlzLl9jb250ZW50UHJvdmlkZXIucmVxdWVzdENvbnRlbnQodGhpcy5zZXRDb250ZW50LmJp
bmQodGhpcykpOwogICAgICAgICB9CiAgICAgfSwKIAogICAgIC8qKgotICAgICAqIEBwYXJhbSB7
ZnVuY3Rpb24oP3N0cmluZywgYm9vbGVhbiwgc3RyaW5nKX0gY2FsbGJhY2sKLSAgICAgKi8KLSAg
ICByZXF1ZXN0Q29udGVudDogZnVuY3Rpb24oY2FsbGJhY2spCi0gICAgewotICAgIH0sCi0KLSAg
ICAvKioKICAgICAgKiBAcGFyYW0ge1RleHREaWZmfSBkaWZmRGF0YQogICAgICAqLwogICAgIG1h
cmtEaWZmOiBmdW5jdGlvbihkaWZmRGF0YSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvU3R5bGVzUGFuZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL1N0eWxlc1BhbmVsLmpzCmluZGV4IDJjODYwNmRmODc4MGRkOWNmY2Q4YjUy
NjQ0NjA2ZTk0NmJiYWY5ZDIuLjA1ZDQyMGExOTE3NTVmOWNkMGY2OThlYzFiN2I1MjhlYjUzZDEy
OTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU3R5bGVz
UGFuZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TdHlsZXNQ
YW5lbC5qcwpAQCAtMTEzLDcgKzExMyw3IEBAIFdlYkluc3BlY3Rvci5TdHlsZVNvdXJjZUZyYW1l
ID0gZnVuY3Rpb24oc3R5bGVTb3VyY2UpCiB7CiAgICAgdGhpcy5fcmVzb3VyY2UgPSBzdHlsZVNv
dXJjZS5fcmVzb3VyY2U7CiAgICAgdGhpcy5fc3R5bGVTb3VyY2UgPSBzdHlsZVNvdXJjZTsKLSAg
ICBXZWJJbnNwZWN0b3IuU291cmNlRnJhbWUuY2FsbCh0aGlzLCB0aGlzLl9yZXNvdXJjZS51cmwp
OworICAgIFdlYkluc3BlY3Rvci5Tb3VyY2VGcmFtZS5jYWxsKHRoaXMsIHRoaXMuX3N0eWxlU291
cmNlKTsKICAgICB0aGlzLl9yZXNvdXJjZS5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5S
ZXNvdXJjZS5FdmVudHMuUmV2aXNpb25BZGRlZCwgdGhpcy5fY29udGVudENoYW5nZWQsIHRoaXMp
OwogfQogCkBAIC0xMjcsMTQgKzEyNyw2IEBAIFdlYkluc3BlY3Rvci5TdHlsZVNvdXJjZUZyYW1l
LnByb3RvdHlwZSA9IHsKICAgICB9LAogCiAgICAgLyoqCi0gICAgICogQHBhcmFtIHtmdW5jdGlv
big/c3RyaW5nLGJvb2xlYW4sc3RyaW5nKX0gY2FsbGJhY2sKLSAgICAgKi8KLSAgICByZXF1ZXN0
Q29udGVudDogZnVuY3Rpb24oY2FsbGJhY2spCi0gICAgewotICAgICAgICB0aGlzLl9zdHlsZVNv
dXJjZS5yZXF1ZXN0Q29udGVudChjYWxsYmFjayk7Ci0gICAgfSwKLQotICAgIC8qKgogICAgICAq
IEBwYXJhbSB7c3RyaW5nfSB0ZXh0CiAgICAgICovCiAgICAgY29tbWl0RWRpdGluZzogZnVuY3Rp
b24odGV4dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
VUlTb3VyY2VDb2RlLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9VSVNv
dXJjZUNvZGUuanMKaW5kZXggY2ZmM2YxYjY3NjRiZTViYjhmYTg1OWUwZjI2MWIyYTBjMjFmZjU5
NS4uMmVlNzkwZDFlN2IyY2M2M2I4YTRhMTgzNTdmNmMwZjNiZjkzYjk5NSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9VSVNvdXJjZUNvZGUuanMKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9VSVNvdXJjZUNvZGUuanMKQEAgLTMy
LDYgKzMyLDcgQEAKIC8qKgogICogQGNvbnN0cnVjdG9yCiAgKiBAZXh0ZW5kcyB7V2ViSW5zcGVj
dG9yLk9iamVjdH0KKyAqIEBpbXBsZW1lbnRzIHtXZWJJbnNwZWN0b3IuQ29udGVudFByb3ZpZGVy
fQogICogQHBhcmFtIHtzdHJpbmd9IHVybAogICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuQ29udGVu
dFByb3ZpZGVyfSBjb250ZW50UHJvdmlkZXIKICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlNvdXJj
ZU1hcHBpbmc9fSBzb3VyY2VNYXBwaW5nCkBAIC05MSw2ICs5MiwxNCBAQCBXZWJJbnNwZWN0b3Iu
VUlTb3VyY2VDb2RlLnByb3RvdHlwZSA9IHsKICAgICB9LAogCiAgICAgLyoqCisgICAgICogQHJl
dHVybiB7P3N0cmluZ30KKyAgICAgKi8KKyAgICBjb250ZW50VVJMOiBmdW5jdGlvbigpCisgICAg
eworICAgICAgICByZXR1cm4gdGhpcy5fdXJsOworICAgIH0sCisKKyAgICAvKioKICAgICAgKiBA
cGFyYW0ge2Z1bmN0aW9uKD9zdHJpbmcsYm9vbGVhbixzdHJpbmcpfSBjYWxsYmFjawogICAgICAq
LwogICAgIHJlcXVlc3RDb250ZW50OiBmdW5jdGlvbihjYWxsYmFjaykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCmluZGV4IGQxYzZkYjI2YzkwZTQ5NTFmNWE0
YzhlMDBiYzZmYmExM2I0NzkyYzcuLjQ5M2EzOWRhMWU2MWVkMWEzYTFhMDY2OWJiMTMzMDFmNGMx
NTUyMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5n
cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcApA
QCAtMzYsNyArMzYsNiBAQAogI2luY2x1ZGUgIkxvY2FsZVRvU2NyaXB0TWFwcGluZy5oIgogI2lu
Y2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgiCi0jaW5j
bHVkZSAiU2NoZW1lUmVnaXN0cnkuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgogCiAjaWYgRU5B
QkxFKElOUFVUX1RZUEVfQ09MT1IpCkBAIC0zMjksMTAgKzMyOCw1IEBAIHZvaWQgSW50ZXJuYWxT
ZXR0aW5nczo6c2V0TWVkaWFQbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUoYm9vbCBlbmFibGVk
LCBFeGNlcHRpCiAgICAgSW50ZXJuYWxTZXR0aW5nc0d1YXJkRm9yU2V0dGluZ3MoKTsKICAgICBz
ZXR0aW5ncygpLT5zZXRNZWRpYVBsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZShlbmFibGVkKTsK
IH0KLSAgICAKLXZvaWQgSW50ZXJuYWxTZXR0aW5nczo6c2V0RG9tYWluUmVsYXhhdGlvbkZvcmJp
ZGRlbkZvclVSTFNjaGVtZShib29sIGZvcmJpZGRlbiwgY29uc3QgU3RyaW5nJiB1cmxTY2hlbWUs
IEV4Y2VwdGlvbkNvZGUmKQotewotICAgIFNjaGVtZVJlZ2lzdHJ5OjpzZXREb21haW5SZWxheGF0
aW9uRm9yYmlkZGVuRm9yVVJMU2NoZW1lKGZvcmJpZGRlbiwgdXJsU2NoZW1lKTsKLX0KIAogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmggYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaAppbmRleCA0ZTdmNWQyYmE3
NzFjNjNkZmQyNTJlOTFiMzNlNWNhZWYwZjYxODE1Li42NjE5NzY3NTRjYjczNzY3ZmEyNDQxOTA2
MDA4ZjI4YTY4MDJmZDU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFsU2V0dGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGlu
Z3MuaApAQCAtNzQsNyArNzQsNiBAQCBwdWJsaWM6CiAgICAgYm9vbCBzY3JvbGxBbmltYXRvckVu
YWJsZWQoRXhjZXB0aW9uQ29kZSYpOwogICAgIHZvaWQgc2V0Q1NTRXhjbHVzaW9uc0VuYWJsZWQo
Ym9vbCBlbmFibGVkLCBFeGNlcHRpb25Db2RlJik7CiAgICAgdm9pZCBzZXRNZWRpYVBsYXliYWNr
UmVxdWlyZXNVc2VyR2VzdHVyZShib29sLCBFeGNlcHRpb25Db2RlJik7Ci0gICAgdm9pZCBzZXRE
b21haW5SZWxheGF0aW9uRm9yYmlkZGVuRm9yVVJMU2NoZW1lKGJvb2wgZm9yYmlkZGVuLCBjb25z
dCBTdHJpbmcmIHVybFNjaGVtZSwgRXhjZXB0aW9uQ29kZSYpOwogCiAgICAgdm9pZCByZXN0b3Jl
VG8oU2V0dGluZ3MqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbFNldHRpbmdzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5n
cy5pZGwKaW5kZXggM2ZjOTdkMzIxNTUwOTlmZjJkZDMxOWI2NzI4NTQ1YzlkYjcwMjU1YS4uYmJh
YmUzYWIzODUzYjBkZDA1MDdlNDI2NmQyMjZlY2ZmZDVlZWEwOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsCkBAIC01Myw3ICs1Myw2IEBAIG1vZHVsZSB3
aW5kb3cgewogICAgICAgICBib29sZWFuIHNjcm9sbEFuaW1hdG9yRW5hYmxlZCgpIHJhaXNlcyhE
T01FeGNlcHRpb24pOwogICAgICAgICB2b2lkIHNldENTU0V4Y2x1c2lvbnNFbmFibGVkKGluIGJv
b2xlYW4gZW5hYmxlZCkgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAgICAgICAgIHZvaWQgc2V0TWVk
aWFQbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUoaW4gYm9vbGVhbiBlbmFibGVkKSByYWlzZXMo
RE9NRXhjZXB0aW9uKTsKLSAgICAgICAgdm9pZCBzZXREb21haW5SZWxheGF0aW9uRm9yYmlkZGVu
Rm9yVVJMU2NoZW1lKGluIGJvb2xlYW4gZm9yYmlkZGVuLCBpbiBET01TdHJpbmcgdXJsU2NoZW1l
KSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKICAgICB9OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3B1YmxpYy9XZWJWaWV3LmgKaW5kZXggODcyMmJkNTVhOTMwZTRlMTkyZmZmOGMzNDcwYjVlY2Q5
NzhkMGMzMi4uMGY3MDkzYWM0ZmRjMDg2MTU0NjQ1YTMwYzAxZWEzMzQyOTBmYzVkYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlldy5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXcuaApAQCAtMTQxLDYgKzE0MSw5IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNBY3RpdmUoKSBjb25zdCA9IDA7CiAgICAgdmlydHVh
bCB2b2lkIHNldElzQWN0aXZlKGJvb2wpID0gMDsKIAorICAgIC8vIEFsbG93cyBkaXNhYmxpbmcg
ZG9tYWluIHJlbGF4YXRpb24uCisgICAgdmlydHVhbCB2b2lkIHNldERvbWFpblJlbGF4YXRpb25G
b3JiaWRkZW4oYm9vbCwgY29uc3QgV2ViU3RyaW5nJiBzY2hlbWUpID0gMDsKKwogCiAgICAgLy8g
Q2xvc2luZyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlZpZXdJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNw
cAppbmRleCAyNWM5ZWNiMjM2NTJkMTY2M2UyNGE1OWIyMGRjMzU2YjdjOGFhMDIxLi5kMzhiYzk2
NGM0MjVjNDgxMDdmYzVmNzBkYTg4Yjk0YjQ2ODlhYTM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCkBAIC0yOTQ5LDYgKzI5NDksMTEgQEAgYm9vbCBXZWJW
aWV3SW1wbDo6aXNBY3RpdmUoKSBjb25zdAogICAgIHJldHVybiAocGFnZSgpICYmIHBhZ2UoKS0+
Zm9jdXNDb250cm9sbGVyKCkpID8gcGFnZSgpLT5mb2N1c0NvbnRyb2xsZXIoKS0+aXNBY3RpdmUo
KSA6IGZhbHNlOwogfQogCit2b2lkIFdlYlZpZXdJbXBsOjpzZXREb21haW5SZWxheGF0aW9uRm9y
YmlkZGVuKGJvb2wgZm9yYmlkZGVuLCBjb25zdCBXZWJTdHJpbmcmIHNjaGVtZSkKK3sKKyAgICBT
Y2hlbWVSZWdpc3RyeTo6c2V0RG9tYWluUmVsYXhhdGlvbkZvcmJpZGRlbkZvclVSTFNjaGVtZShm
b3JiaWRkZW4sIFN0cmluZyhzY2hlbWUpKTsKK30KKwogdm9pZCBXZWJWaWV3SW1wbDo6c2V0U2Ny
b2xsYmFyQ29sb3JzKHVuc2lnbmVkIGluYWN0aXZlQ29sb3IsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgYWN0aXZlQ29sb3IsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgdHJhY2tDb2xvcikgewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaCBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKaW5kZXggY2ZiNDVmY2NjODUyMDVmMzNjZmMxNmMw
YzU2ZDZjNjM2YmNhNDdmMC4uMDZkNzQzOGMxNDk1N2MwN2JhNTEyMTA5ZmUzODJmMzkxYzAxNjQ0
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCkBAIC0xNzcsNiAr
MTc3LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzZXRUYWJLZXlDeWNsZXNUaHJvdWdo
RWxlbWVudHMoYm9vbCB2YWx1ZSk7CiAgICAgdmlydHVhbCBib29sIGlzQWN0aXZlKCkgY29uc3Q7
CiAgICAgdmlydHVhbCB2b2lkIHNldElzQWN0aXZlKGJvb2wgdmFsdWUpOworICAgIHZpcnR1YWwg
dm9pZCBzZXREb21haW5SZWxheGF0aW9uRm9yYmlkZGVuKGJvb2wsIGNvbnN0IFdlYlN0cmluZyYg
c2NoZW1lKTsKICAgICB2aXJ0dWFsIGJvb2wgZGlzcGF0Y2hCZWZvcmVVbmxvYWRFdmVudCgpOwog
ICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaFVubG9hZEV2ZW50KCk7CiAgICAgdmlydHVhbCBXZWJG
cmFtZSogbWFpbkZyYW1lKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3Jl
U3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuY3BwIGIvU291cmNlL1dlYktpdC9ndGsv
V2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrLmNwcAppbmRleCAzNGIwOWEw
ZjlhMDRhNWRiNTVhMGIxYzdjYmY0YWYzNWFkMzRhNWNkLi4wMzgyN2I0YjcxOTQ5ZDY1Yzk4YjQ1
MjhlNjg2NmRlNmYwN2IwYTRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3Jl
U3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
Z3RrL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay5jcHAKQEAgLTU2LDYg
KzU2LDcgQEAKICNpbmNsdWRlICJSZW5kZXJMaXN0SXRlbS5oIgogI2luY2x1ZGUgIlJlbmRlclRy
ZWVBc1RleHQuaCIKICNpbmNsdWRlICJSZW5kZXJWaWV3LmgiCisjaW5jbHVkZSAiU2NoZW1lUmVn
aXN0cnkuaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIlNlY3VyaXR5
UG9saWN5LmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKQEAgLTg3OSwzICs4ODAsOCBAQCB2b2lk
IER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0azo6ZGVsaXZlckFsbE11dGF0aW9uc0lmTmVjZXNzYXJ5
KCkKICAgICBXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpkZWxpdmVyQWxsTXV0YXRpb25zKCk7CiAj
ZW5kaWYKIH0KKwordm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGs6OnNldERvbWFpblJlbGF4
YXRpb25Gb3JiaWRkZW5Gb3JVUkxTY2hlbWUoYm9vbCBmb3JiaWRkZW4sIGNvbnN0IGNoYXIqIHVy
bFNjaGVtZSkKK3sKKyAgICBTY2hlbWVSZWdpc3RyeTo6c2V0RG9tYWluUmVsYXhhdGlvbkZvcmJp
ZGRlbkZvclVSTFNjaGVtZShmb3JiaWRkZW4sIFN0cmluZzo6ZnJvbVVURjgodXJsU2NoZW1lKSk7
Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVu
ZGVyVHJlZVN1cHBvcnRHdGsuaCBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0R1
bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay5oCmluZGV4IDIxYjcxNzUzOGU4ZWQzY2NlZjNkNjc3MzFl
ZWEzZDc4YWM4MzYwNTcuLmEwZmQxYTU2N2RkY2M5MjE3YTg1NGE1OTc0NTJmYWM3MGZjZDNmN2Qg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJU
cmVlU3VwcG9ydEd0ay5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0R1
bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay5oCkBAIC0xMjYsNiArMTI2LDcgQEAgcHVibGljOgogICAg
IHN0YXRpYyB2b2lkIHNldFBhZ2VDYWNoZVN1cHBvcnRzUGx1Z2lucyhXZWJLaXRXZWJWaWV3Kiwg
Ym9vbCBlbmFibGVkKTsKIAogICAgIHN0YXRpYyB2b2lkIGRlbGl2ZXJBbGxNdXRhdGlvbnNJZk5l
Y2Vzc2FyeSgpOworICAgIHN0YXRpYyB2b2lkIHNldERvbWFpblJlbGF4YXRpb25Gb3JiaWRkZW5G
b3JVUkxTY2hlbWUoYm9vbCBmb3JiaWRkZW4sIGNvbnN0IGNoYXIqIHVybFNjaGVtZSk7CiAKIHBy
aXZhdGU6CiAgICAgc3RhdGljIGJvb2wgc19kcnRSdW47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJLaXQub3JkZXIgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJLaXQub3JkZXIKaW5k
ZXggZGZhM2VmYzE0N2Y4Yzg0YTcxYzA3NjFkYjcxZGI2MmU2ODNlMWYzMC4uMWExZWIwYzcyYjMw
YTk5MDk4MGRmMTU5NzFlMmZiZTllN2MwZWZlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9t
YWMvV2ViS2l0Lm9yZGVyCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYktpdC5vcmRlcgpAQCAt
NTUsNiArNTUsNyBAQCBfV0tHZXRXZWJEZWZhdWx0Q0ZTdHJpbmdFbmNvZGluZwogLVtOU1VSTChX
ZWJOU1VSTEV4dHJhcykgX3dlYl9vcmlnaW5hbERhdGFdCiBfV2ViTG9jYWxpemVkU3RyaW5nCiAr
W1dlYlZpZXcoV2ViUHJpdmF0ZSkgX3JlZ2lzdGVyVVJMU2NoZW1lQXNTZWN1cmU6XQorK1tXZWJW
aWV3KFdlYlByaXZhdGUpIF9zZXREb21haW5SZWxheGF0aW9uRm9yYmlkZGVuOmZvclVSTFNjaGVt
ZTpdCiAtW1dlYlByZWZlcmVuY2VzKFdlYlByaXZhdGUpIHNldERldmVsb3BlckV4dHJhc0VuYWJs
ZWQ6XQogLVtXZWJQcmVmZXJlbmNlcyBfc2V0Qm9vbFZhbHVlOmZvcktleTpdCiArW05TUGFzdGVi
b2FyZChXZWJFeHRyYXMpIF93ZWJfZHJhZ1R5cGVzRm9yVVJMXQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJWaWV3Lm1tCmluZGV4IDdiOWQ4ZTU4NDAwNTdkZTVmNzIwMTlmNGYwOGM5YTJhNTg5ZmQw
OWMuLmNjZjU1NDEzYTgwY2UyNDU5Y2JjYTliODkwZmJmYzdmODIxYjViMjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTI3MDYsNiArMjcwNiwxMSBAQCBzdGF0aWMgUGFz
c093blB0cjxWZWN0b3I8U3RyaW5nPiA+IHRvU3RyaW5nVmVjdG9yKE5TQXJyYXkqIHBhdHRlcm5z
KQogICAgICAgICBmcmFtZS0+YW5pbWF0aW9uKCktPnJlc3VtZUFuaW1hdGlvbnMoKTsKIH0KIAor
KyAodm9pZClfc2V0RG9tYWluUmVsYXhhdGlvbkZvcmJpZGRlbjooQk9PTClmb3JiaWRkZW4gZm9y
VVJMU2NoZW1lOihOU1N0cmluZyAqKXNjaGVtZQoreworICAgIFNjaGVtZVJlZ2lzdHJ5OjpzZXRE
b21haW5SZWxheGF0aW9uRm9yYmlkZGVuRm9yVVJMU2NoZW1lKGZvcmJpZGRlbiwgc2NoZW1lKTsK
K30KKwogKyAodm9pZClfcmVnaXN0ZXJVUkxTY2hlbWVBc1NlY3VyZTooTlNTdHJpbmcgKilzY2hl
bWUKIHsKICAgICBTY2hlbWVSZWdpc3RyeTo6cmVnaXN0ZXJVUkxTY2hlbWVBc1NlY3VyZShzY2hl
bWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3UHJpdmF0
ZS5oIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3UHJpdmF0ZS5oCmluZGV4IDU2
ZWQ4OTgzODFiOGI3YTg0ODA4YWI1YTAyMDQ4OTFkNDE5MWU4MzEuLjAyZjdiY2M0NTY3ZDc2NWM3
YmQzYTQzNGYyNTcyNmE2MTAzZTMxMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViVmlld1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YlZpZXdQcml2YXRlLmgKQEAgLTU1MCw2ICs1NTAsNyBAQCBDb3VsZCBiZSB3b3J0aCBhZGRpbmcg
dG8gdGhlIEFQSS4KICovCiAtICh2b2lkKXNldENTU0FuaW1hdGlvbnNTdXNwZW5kZWQ6KEJPT0wp
c3VzcGVuZGVkOwogCisrICh2b2lkKV9zZXREb21haW5SZWxheGF0aW9uRm9yYmlkZGVuOihCT09M
KWZvcmJpZGRlbiBmb3JVUkxTY2hlbWU6KE5TU3RyaW5nICopc2NoZW1lOwogKyAodm9pZClfcmVn
aXN0ZXJVUkxTY2hlbWVBc1NlY3VyZTooTlNTdHJpbmcgKilzY2hlbWU7CiArICh2b2lkKV9yZWdp
c3RlclVSTFNjaGVtZUFzQWxsb3dpbmdMb2NhbFN0b3JhZ2VBY2Nlc3NJblByaXZhdGVCcm93c2lu
ZzooTlNTdHJpbmcgKilzY2hlbWU7CiArICh2b2lkKV9yZWdpc3RlclVSTFNjaGVtZUFzQWxsb3dp
bmdEYXRhYmFzZUFjY2Vzc0luUHJpdmF0ZUJyb3dzaW5nOihOU1N0cmluZyAqKXNjaGVtZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVT
dXBwb3J0UXQuY3BwIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVy
VHJlZVN1cHBvcnRRdC5jcHAKaW5kZXggNGZmMzM0OTY1YmU2OTcyN2RhZDc0YTg0YzE0NDlhMzJi
NzZhZmVmZC4uMmQ0ZmI1MDU3ZDJkYWI1ZjMwNDk5OWM2MjFkMjFhYmIwM2FlNzAxNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBv
cnRRdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVy
VHJlZVN1cHBvcnRRdC5jcHAKQEAgLTcxLDYgKzcxLDcgQEAKICNpbmNsdWRlICJQcmludENvbnRl
eHQuaCIKICNpbmNsdWRlICJSZW5kZXJMaXN0SXRlbS5oIgogI2luY2x1ZGUgIlJlbmRlclRyZWVB
c1RleHQuaCIKKyNpbmNsdWRlICJTY2hlbWVSZWdpc3RyeS5oIgogI2luY2x1ZGUgIlNjcmlwdENv
bnRyb2xsZXIuaCIKICNpbmNsdWRlICJTY3JpcHRTb3VyY2VDb2RlLmgiCiAjaW5jbHVkZSAiU2Ny
aXB0VmFsdWUuaCIKQEAgLTQ4NCw2ICs0ODUsMTEgQEAgdm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBv
cnRRdDo6cmVzZXRPcmlnaW5BY2Nlc3NXaGl0ZUxpc3RzKCkKICAgICBTZWN1cml0eVBvbGljeTo6
cmVzZXRPcmlnaW5BY2Nlc3NXaGl0ZWxpc3RzKCk7CiB9CiAKK3ZvaWQgRHVtcFJlbmRlclRyZWVT
dXBwb3J0UXQ6OnNldERvbWFpblJlbGF4YXRpb25Gb3JiaWRkZW5Gb3JVUkxTY2hlbWUoYm9vbCBm
b3JiaWRkZW4sIGNvbnN0IFFTdHJpbmcmIHNjaGVtZSkKK3sKKyAgICBTY2hlbWVSZWdpc3RyeTo6
c2V0RG9tYWluUmVsYXhhdGlvbkZvcmJpZGRlbkZvclVSTFNjaGVtZShmb3JiaWRkZW4sIHNjaGVt
ZSk7Cit9CisKIHZvaWQgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OnNldENhcmV0QnJvd3NpbmdF
bmFibGVkKFFXZWJQYWdlKiBwYWdlLCBib29sIHZhbHVlKQogewogICAgIHBhZ2UtPmhhbmRsZSgp
LT5wYWdlLT5zZXR0aW5ncygpLT5zZXRDYXJldEJyb3dzaW5nRW5hYmxlZCh2YWx1ZSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3Vw
cG9ydFF0LmggYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVl
U3VwcG9ydFF0LmgKaW5kZXggYTk2Mzk3NTBiYWI0MjE0Y2ZkNmZmYzM3NTcwZjkzYjc4ZGM3NGRm
OS4uMzczZjYwZTcwY2Q4YTc3NTBhZTI4M2U0NTI4MDE3YTU4OTg1OGQyYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBw
b3J0UXQuaApAQCAtMTE1LDYgKzExNSw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBzdXNw
ZW5kQWN0aXZlRE9NT2JqZWN0cyhRV2ViRnJhbWUqIGZyYW1lKTsKICAgICBzdGF0aWMgdm9pZCBy
ZXN1bWVBY3RpdmVET01PYmplY3RzKFFXZWJGcmFtZSogZnJhbWUpOwogCisgICAgc3RhdGljIHZv
aWQgc2V0RG9tYWluUmVsYXhhdGlvbkZvcmJpZGRlbkZvclVSTFNjaGVtZShib29sIGZvcmJpZGRl
biwgY29uc3QgUVN0cmluZyYgc2NoZW1lKTsKICAgICBzdGF0aWMgdm9pZCBzZXRGcmFtZUZsYXR0
ZW5pbmdFbmFibGVkKFFXZWJQYWdlKiwgYm9vbCk7CiAgICAgc3RhdGljIHZvaWQgc2V0Q2FyZXRC
cm93c2luZ0VuYWJsZWQoUVdlYlBhZ2UqIHBhZ2UsIGJvb2wgdmFsdWUpOwogICAgIHN0YXRpYyB2
b2lkIHNldEF1dGhvckFuZFVzZXJTdHlsZXNFbmFibGVkKFFXZWJQYWdlKiwgYm9vbCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9JbnRlcmZhY2VzL0lXZWJWaWV3UHJpdmF0ZS5pZGwg
Yi9Tb3VyY2UvV2ViS2l0L3dpbi9JbnRlcmZhY2VzL0lXZWJWaWV3UHJpdmF0ZS5pZGwKaW5kZXgg
NjBlNGE1NzI2NGI1NGUwMDU3MzkxZGJhZDZiZjlhY2I5OWRlYWIzZS4uYjQ2MTk0OTRmMjVjNWNh
YWZjZGFkN2E5MzdiZjQ4YzExZDA0MmQ0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4v
SW50ZXJmYWNlcy9JV2ViVmlld1ByaXZhdGUuaWRsCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0lu
dGVyZmFjZXMvSVdlYlZpZXdQcml2YXRlLmlkbApAQCAtMjI3LDYgKzIyNyw4IEBAIGludGVyZmFj
ZSBJV2ViVmlld1ByaXZhdGUgOiBJVW5rbm93bgogICAgIEhSRVNVTFQgZ2VvbG9jYXRpb25EaWRD
aGFuZ2VQb3NpdGlvbihbaW5dIElXZWJHZW9sb2NhdGlvblBvc2l0aW9uKiBwb3NpdGlvbik7CiAg
ICAgSFJFU1VMVCBnZW9sb2NhdGlvbkRpZEZhaWxXaXRoRXJyb3IoW2luXSBJV2ViRXJyb3IqIGVy
cm9yKTsKIAorICAgIEhSRVNVTFQgc2V0RG9tYWluUmVsYXhhdGlvbkZvcmJpZGRlbkZvclVSTFNj
aGVtZShbaW5dIEJPT0wgZm9yYmlkZGVuLCBbaW5dIEJTVFIgc2NoZW1lKTsKKwogICAgIEhSRVNV
TFQgcmVnaXN0ZXJVUkxTY2hlbWVBc1NlY3VyZShbaW5dIEJTVFIgc2NoZW1lKTsKIAogICAgIEhS
RVNVTFQgbmV4dERpc3BsYXlJc1N5bmNocm9ub3VzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L3dpbi9XZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCmluZGV4
IDBjNGY4OGU4YWVhMWIwYzBjNWJhYjBlOTVkNzFkZjg0MDA3ZDI5OTcuLjI2ZTU4MzVkZDA1NzE5
YjcxMzJkNDFkMmJiZGZiYjAwM2JiNDcwNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2lu
L1dlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCkBAIC02NjA2
LDYgKzY2MDYsMTIgQEAgSFJFU1VMVCBXZWJWaWV3OjpnZW9sb2NhdGlvbkRpZEZhaWxXaXRoRXJy
b3IoSVdlYkVycm9yKiBlcnJvcikKICAgICByZXR1cm4gU19PSzsKIH0KIAorSFJFU1VMVCBXZWJW
aWV3OjpzZXREb21haW5SZWxheGF0aW9uRm9yYmlkZGVuRm9yVVJMU2NoZW1lKEJPT0wgZm9yYmlk
ZGVuLCBCU1RSIHNjaGVtZSkKK3sKKyAgICBTY2hlbWVSZWdpc3RyeTo6c2V0RG9tYWluUmVsYXhh
dGlvbkZvcmJpZGRlbkZvclVSTFNjaGVtZShmb3JiaWRkZW4sIFN0cmluZyhzY2hlbWUsIFN5c1N0
cmluZ0xlbihzY2hlbWUpKSk7CisgICAgcmV0dXJuIFNfT0s7Cit9CisKIEhSRVNVTFQgV2ViVmll
dzo6cmVnaXN0ZXJVUkxTY2hlbWVBc1NlY3VyZShCU1RSIHNjaGVtZSkKIHsKICAgICBTY2hlbWVS
ZWdpc3RyeTo6cmVnaXN0ZXJVUkxTY2hlbWVBc1NlY3VyZSh0b1N0cmluZyhzY2hlbWUpKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuaCBiL1NvdXJjZS9XZWJLaXQvd2lu
L1dlYlZpZXcuaAppbmRleCBkZDNjYzM0YzNjNDc2YWM4OTg5NDg3ZTdhZjU0YTU4M2Q5OGRjMzYx
Li4zYTBmOTVhZmZlMDRiYjRjY2RmNDI0NzNiMzA3MjdiZmQ0NmM4YmQ0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmgKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViVmll
dy5oCkBAIC04MjQsNiArODI0LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERN
RVRIT0RDQUxMVFlQRSBnZW9sb2NhdGlvbkRpZENoYW5nZVBvc2l0aW9uKElXZWJHZW9sb2NhdGlv
blBvc2l0aW9uKiBwb3NpdGlvbik7CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExU
WVBFIGdlb2xvY2F0aW9uRGlkRmFpbFdpdGhFcnJvcihJV2ViRXJyb3IqIGVycm9yKTsKIAorICAg
IHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXREb21haW5SZWxheGF0aW9uRm9y
YmlkZGVuRm9yVVJMU2NoZW1lKEJPT0wgZm9yYmlkZGVuLCBCU1RSIHNjaGVtZSk7CiAgICAgdmly
dHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHJlZ2lzdGVyVVJMU2NoZW1lQXNTZWN1cmUo
QlNUUik7CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHJlZ2lzdGVyVVJM
U2NoZW1lQXNBbGxvd2luZ0xvY2FsU3RvcmFnZUFjY2Vzc0luUHJpdmF0ZUJyb3dzaW5nKEJTVFIp
OwogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSByZWdpc3RlclVSTFNjaGVt
ZUFzQWxsb3dpbmdEYXRhYmFzZUFjY2Vzc0luUHJpdmF0ZUJyb3dzaW5nKEJTVFIpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmIGIvU291cmNlL1dlYktpdDIvd2lu
L1dlYktpdDIuZGVmCmluZGV4IDYzZWUyYzM4NGFhODlmZTc3NmE3NmQ4Njg1MDM1MWFlYzQyZDYz
YjUuLjhlM2MyYzQxNzljNjg4OGQ4Njc0ZmIzZGU2YTk4ZWRhMGMzMzI4NjEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZgorKysgYi9Tb3VyY2UvV2ViS2l0Mi93aW4v
V2ViS2l0Mi5kZWYKQEAgLTI1Niw0ICsyNTYsMyBAQCBFWFBPUlRTCiAgICAgICAgID9pc1BhZ2VC
b3hWaXNpYmxlQERvY3VtZW50QFdlYkNvcmVAQFFBRV9OSEBaCiAgICAgICAgID9zdXNwZW5kQW5p
bWF0aW9uc0BBbmltYXRpb25Db250cm9sbGVyQFdlYkNvcmVAQFFBRVhYWgogICAgICAgICA/cmVz
dW1lQW5pbWF0aW9uc0BBbmltYXRpb25Db250cm9sbGVyQFdlYkNvcmVAQFFBRVhYWgotICAgICAg
ICA/c2V0RG9tYWluUmVsYXhhdGlvbkZvcmJpZGRlbkZvclVSTFNjaGVtZUBTY2hlbWVSZWdpc3Ry
eUBXZWJDb3JlQEBTQVhfTkFCVlN0cmluZ0BXVEZAQEBaCmRpZmYgLS1naXQgYS9Tb3VyY2UvYXV0
b3Rvb2xzL3N5bWJvbHMuZmlsdGVyIGIvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcgpp
bmRleCA1YjMzOTIxZmQwY2ZiMzA0NzViZTIxYmY2ZjdmNzlkNmYzZDU3ZDgzLi4wOWE5NWVhMWNi
MjU2OTkxYjQ3NDY5NGRlOWYzZjRiYjMyYWNjZjMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvYXV0b3Rv
b2xzL3N5bWJvbHMuZmlsdGVyCisrKyBiL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIK
QEAgLTE0NCw3ICsxNDQsNiBAQCBfWk43V2ViQ29yZThEb2N1bWVudDM0d2Via2l0RGlkRW50ZXJG
dWxsU2NyZWVuRm9yRWxlbWVudEVQTlNfN0VsZW1lbnRFOwogX1pON1dlYkNvcmU4RG9jdW1lbnQz
NHdlYmtpdFdpbGxFeGl0RnVsbFNjcmVlbkZvckVsZW1lbnRFUE5TXzdFbGVtZW50RTsKIF9aTjdX
ZWJDb3JlOERvY3VtZW50MzV3ZWJraXRXaWxsRW50ZXJGdWxsU2NyZWVuRm9yRWxlbWVudEVQTlNf
N0VsZW1lbnRFOwogX1pON1dlYkNvcmUxN0pTRE9NR2xvYmFsT2JqZWN0NnNfaW5mb0U7Ci1fWk43
V2ViQ29yZTE0U2NoZW1lUmVnaXN0cnk0MHNldERvbWFpblJlbGF4YXRpb25Gb3JiaWRkZW5Gb3JV
UkxTY2hlbWVFYlJLTjNXVEY2U3RyaW5nRTsKIGxvY2FsOgogX1oqOwogY3RpKjsKZGlmZiAtLWdp
dCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBhNGYyYWZkOWU3MGRl
ZmMwODg2MDFjODY5ZDIyYzE1MGUyNDEyN2Q3Li41NDc2MzQ5OTUyYzVjZDZlNGU1YTNjMDNiMWFl
M2IzZDM2NmFmYzRiIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzkgQEAKKzIwMTItMDUtMTcgIFNoZXJpZmYgQm90ICA8d2Via2l0
LnJldmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0
IHIxMTc0MjguCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzExNzQy
OAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODY3NDgK
KworICAgICAgICBJdCBicm9rZSB0aGUgU2FmYXJpIGJ1aWxkIChSZXF1ZXN0ZWQgYnkgamVzc2ll
YmVybGluIG9uCisgICAgICAgICN3ZWJraXQpLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUv
TGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoc2V0RG9tYWluUmVsYXhhdGlvbkZv
cmJpZGRlbkZvclVSTFNjaGVtZUNhbGxiYWNrKToKKyAgICAgICAgKExheW91dFRlc3RDb250cm9s
bGVyOjpzdGF0aWNGdW5jdGlvbnMpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL0xheW91dFRl
c3RDb250cm9sbGVyLmg6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcik6CisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9MYXlvdXRUZXN0Q29udHJvbGxlckJsYWNrQmVy
cnkuY3BwOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldERvbWFpblJlbGF4YXRp
b25Gb3JiaWRkZW5Gb3JVUkxTY2hlbWUpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL0xheW91dFRlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKExheW91dFRlc3RDb250cm9s
bGVyOjpMYXlvdXRUZXN0Q29udHJvbGxlcik6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxl
cjo6c2V0RG9tYWluUmVsYXhhdGlvbkZvcmJpZGRlbkZvclVSTFNjaGVtZSk6CisgICAgICAgICog
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuaDoKKyAgICAgICAg
KExheW91dFRlc3RDb250cm9sbGVyKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9lZmwvTGF5
b3V0VGVzdENvbnRyb2xsZXJFZmwuY3BwOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6
OnNldERvbWFpblJlbGF4YXRpb25Gb3JiaWRkZW5Gb3JVUkxTY2hlbWUpOgorICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL2d0ay9MYXlvdXRUZXN0Q29udHJvbGxlckd0ay5jcHA6CisgICAgICAgIChM
YXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0RG9tYWluUmVsYXhhdGlvbkZvcmJpZGRlbkZvclVSTFNj
aGVtZSk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0xheW91dFRlc3RDb250cm9sbGVy
TWFjLm1tOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldERvbWFpblJlbGF4YXRp
b25Gb3JiaWRkZW5Gb3JVUkxTY2hlbWUpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3F0L0xh
eW91dFRlc3RDb250cm9sbGVyUXQuY3BwOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6
OnNldERvbWFpblJlbGF4YXRpb25Gb3JiaWRkZW5Gb3JVUkxTY2hlbWUpOgorICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuaDoKKyAgICAgICAgKExheW91
dFRlc3RDb250cm9sbGVyKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS93aW4vTGF5b3V0VGVz
dENvbnRyb2xsZXJXaW4uY3BwOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldERv
bWFpblJlbGF4YXRpb25Gb3JiaWRkZW5Gb3JVUkxTY2hlbWUpOgorICAgICAgICAqIER1bXBSZW5k
ZXJUcmVlL3d4L0xheW91dFRlc3RDb250cm9sbGVyV3guY3BwOgorICAgICAgICAoTGF5b3V0VGVz
dENvbnRyb2xsZXI6OnNldERvbWFpblJlbGF4YXRpb25Gb3JiaWRkZW5Gb3JVUkxTY2hlbWUpOgor
CiAyMDEyLTA1LTE3ICBMaSBZaW4gIDxsaS55aW5AaW50ZWwuY29tPgogCiAgICAgICAgIFtjaHJv
bWl1bV0gcnVuLXdlYmtpdC10ZXN0cyBjYW4ndCB3b3JrIG9uIHVidW50dSAxMi4wNApkaWZmIC0t
Z2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCmluZGV4IGYyOGQ0ZTY2
MTAyNGM5ZmI4NTM3NzU5OTgzMzM4MmFlZjllOTZkMDUuLjgzNmRkZWZmOGEyZTZkNTJmZjlkN2Iz
ZDU4M2Q0YjkzNjFiOWEzODMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91
dFRlc3RDb250cm9sbGVyLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0
Q29udHJvbGxlci5jcHAKQEAgLTEyMzEsNiArMTIzMSwyMSBAQCBzdGF0aWMgSlNWYWx1ZVJlZiBz
ZXREZWZlcnNMb2FkaW5nQ2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVm
IGZ1bgogICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsKIH0KIAorc3Rh
dGljIEpTVmFsdWVSZWYgc2V0RG9tYWluUmVsYXhhdGlvbkZvcmJpZGRlbkZvclVSTFNjaGVtZUNh
bGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiBmdW5jdGlvbiwgSlNPYmpl
Y3RSZWYgdGhpc09iamVjdCwgc2l6ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYg
YXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKK3sKKyAgICAvLyBIYXMgTWFjIGFu
ZCBXaW5kb3dzIGltcGxlbWVudGF0aW9uCisgICAgaWYgKGFyZ3VtZW50Q291bnQgPCAyKQorICAg
ICAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7CisKKyAgICBMYXlvdXRU
ZXN0Q29udHJvbGxlciogY29udHJvbGxlciA9IHN0YXRpY19jYXN0PExheW91dFRlc3RDb250cm9s
bGVyKj4oSlNPYmplY3RHZXRQcml2YXRlKHRoaXNPYmplY3QpKTsKKworICAgIGJvb2wgZm9yYmlk
ZGVuID0gSlNWYWx1ZVRvQm9vbGVhbihjb250ZXh0LCBhcmd1bWVudHNbMF0pOworICAgIEpTUmV0
YWluUHRyPEpTU3RyaW5nUmVmPiBzY2hlbWUoQWRvcHQsIEpTVmFsdWVUb1N0cmluZ0NvcHkoY29u
dGV4dCwgYXJndW1lbnRzWzFdLCAwKSk7CisgICAgY29udHJvbGxlci0+c2V0RG9tYWluUmVsYXhh
dGlvbkZvcmJpZGRlbkZvclVSTFNjaGVtZShmb3JiaWRkZW4sIHNjaGVtZS5nZXQoKSk7CisKKyAg
ICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7Cit9CisKIHN0YXRpYyBKU1Zh
bHVlUmVmIHNldE1vY2tEZXZpY2VPcmllbnRhdGlvbkNhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250
ZXh0LCBKU09iamVjdFJlZiBmdW5jdGlvbiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90
IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYq
IGV4Y2VwdGlvbikKIHsKICAgICBpZiAoYXJndW1lbnRDb3VudCA8IDYpCkBAIC0yMzU5LDYgKzIz
NzQsNyBAQCBKU1N0YXRpY0Z1bmN0aW9uKiBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c3RhdGljRnVu
Y3Rpb25zKCkKICAgICAgICAgeyAic2V0RGF0YWJhc2VRdW90YSIsIHNldERhdGFiYXNlUXVvdGFD
YWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmli
dXRlRG9udERlbGV0ZSB9LCAKICAgICAgICAgeyAic2V0RGVmZXJNYWluUmVzb3VyY2VEYXRhTG9h
ZCIsIHNldERlZmVyTWFpblJlc291cmNlRGF0YUxvYWRDYWxsYmFjaywga0pTUHJvcGVydHlBdHRy
aWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAg
ICB7ICJzZXREZWZlcnNMb2FkaW5nIiwgc2V0RGVmZXJzTG9hZGluZ0NhbGxiYWNrLCBrSlNQcm9w
ZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0s
CisgICAgICAgIHsgInNldERvbWFpblJlbGF4YXRpb25Gb3JiaWRkZW5Gb3JVUkxTY2hlbWUiLCBz
ZXREb21haW5SZWxheGF0aW9uRm9yYmlkZGVuRm9yVVJMU2NoZW1lQ2FsbGJhY2ssIGtKU1Byb3Bl
cnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwK
ICAgICAgICAgeyAic2V0RWRpdGluZ0JlaGF2aW9yIiwgc2V0RWRpdGluZ0JlaGF2aW9yQ2FsbGJh
Y2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURv
bnREZWxldGUgfSwKICAgICAgICAgeyAic2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCIsIHNldEZy
YW1lRmxhdHRlbmluZ0VuYWJsZWRDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25s
eSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJzZXRHZW9s
b2NhdGlvblBlcm1pc3Npb24iLCBzZXRHZW9sb2NhdGlvblBlcm1pc3Npb25DYWxsYmFjaywga0pT
UHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0
ZSB9LApkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xs
ZXIuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmgKaW5kZXgg
YWRkOWZjYWNlZjUyYjAzNDgzNTg0MjEzNmE2ODYzOTU4ZjI5NDY2Zi4uZTNkMzE4MmRkYjQ2MmUx
OGUwYWI4Mjg5MTFhMGQ4Y2ZlNzVmMjAwNSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9MYXlv
dXRUZXN0Q29udHJvbGxlci5oCkBAIC05Niw2ICs5Niw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNl
dENhY2hlTW9kZWwoaW50KTsKICAgICB2b2lkIHNldEN1c3RvbVBvbGljeURlbGVnYXRlKGJvb2wg
c2V0RGVsZWdhdGUsIGJvb2wgcGVybWlzc2l2ZSk7CiAgICAgdm9pZCBzZXREYXRhYmFzZVF1b3Rh
KHVuc2lnbmVkIGxvbmcgbG9uZyBxdW90YSk7CisgICAgdm9pZCBzZXREb21haW5SZWxheGF0aW9u
Rm9yYmlkZGVuRm9yVVJMU2NoZW1lKGJvb2wgZm9yYmlkZGVuLCBKU1N0cmluZ1JlZiBzY2hlbWUp
OwogICAgIHZvaWQgc2V0RGVmZXJzTG9hZGluZyhib29sKTsKICAgICB2b2lkIHNldEljb25EYXRh
YmFzZUVuYWJsZWQoYm9vbCBpY29uRGF0YWJhc2VFbmFibGVkKTsKICAgICB2b2lkIHNldEphdmFT
Y3JpcHRQcm9maWxpbmdFbmFibGVkKGJvb2wgcHJvZmlsaW5nRW5hYmxlZCk7CmRpZmYgLS1naXQg
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L0xheW91dFRlc3RDb250cm9sbGVyQmxh
Y2tCZXJyeS5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L0xheW91dFRlc3RD
b250cm9sbGVyQmxhY2tCZXJyeS5jcHAKaW5kZXggZjQxZDgwNGZjNDZhY2UyOGM3NWJlNTQwMDQ4
ZmZmYjFiNTQ4MTgxNy4uYTc5OWIwNDE0NWMwODZkNGNiMDlkMDdjYmNjY2JiYThiNzUyZTIyNiAx
MDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9MYXlvdXRUZXN0Q29u
dHJvbGxlckJsYWNrQmVycnkuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2JsYWNrYmVy
cnkvTGF5b3V0VGVzdENvbnRyb2xsZXJCbGFja0JlcnJ5LmNwcApAQCAtMzgsNiArMzgsNyBAQAog
I2luY2x1ZGUgIk93bkFycmF5UHRyLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlJl
bmRlclRyZWVBc1RleHQuaCIKKyNpbmNsdWRlICJTY2hlbWVSZWdpc3RyeS5oIgogI2luY2x1ZGUg
IlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlQb2xpY3kuaCIKICNpbmNsdWRl
ICJTZXR0aW5ncy5oIgpAQCAtMjIyLDYgKzIyMywxMSBAQCB2b2lkIExheW91dFRlc3RDb250cm9s
bGVyOjpzZXREYXRhYmFzZVF1b3RhKHVuc2lnbmVkIGxvbmcgbG9uZyBxdW90YSkKICAgICBXZWJD
b3JlOjpEYXRhYmFzZVRyYWNrZXI6OnRyYWNrZXIoKS5zZXRRdW90YShtYWluRnJhbWUtPmRvY3Vt
ZW50KCktPnNlY3VyaXR5T3JpZ2luKCksIHF1b3RhKTsKIH0KIAordm9pZCBMYXlvdXRUZXN0Q29u
dHJvbGxlcjo6c2V0RG9tYWluUmVsYXhhdGlvbkZvcmJpZGRlbkZvclVSTFNjaGVtZShib29sIGZv
cmJpZGRlbiwgSlNTdHJpbmdSZWYgc2NoZW1lKQoreworICAgIFdlYkNvcmU6OlNjaGVtZVJlZ2lz
dHJ5OjpzZXREb21haW5SZWxheGF0aW9uRm9yYmlkZGVuRm9yVVJMU2NoZW1lKGZvcmJpZGRlbiwg
anNTdHJpbmdSZWZUb1dlYkNvcmVTdHJpbmcoc2NoZW1lKSk7Cit9CisKIHZvaWQgTGF5b3V0VGVz
dENvbnRyb2xsZXI6OnNldEljb25EYXRhYmFzZUVuYWJsZWQoYm9vbCBpY29uRGF0YWJhc2VFbmFi
bGVkKQogewogICAgIFVOVVNFRF9QQVJBTShpY29uRGF0YWJhc2VFbmFibGVkKTsKZGlmZiAtLWdp
dCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmNw
cCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmNw
cAppbmRleCA2NzBkYzkxOTc0OGMwYjc4MjI4M2ZjYmI1OTZjOGVlOWZkYTE4NGYwLi5kMjgyM2Fm
ZGIyNWI5YmNiZWYyODQ5ZWVjZGRjNTgxZjM1ZTVjNTI2IDEwMDY0NAotLS0gYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCkBAIC0xOTAs
NiArMTkwLDcgQEAgTGF5b3V0VGVzdENvbnRyb2xsZXI6OkxheW91dFRlc3RDb250cm9sbGVyKFRl
c3RTaGVsbCogc2hlbGwpCiAgICAgYmluZE1ldGhvZCgic2V0Q3VzdG9tUG9saWN5RGVsZWdhdGUi
LCAmTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEN1c3RvbVBvbGljeURlbGVnYXRlKTsKICAgICBi
aW5kTWV0aG9kKCJzZXREYXRhYmFzZVF1b3RhIiwgJkxheW91dFRlc3RDb250cm9sbGVyOjpzZXRE
YXRhYmFzZVF1b3RhKTsKICAgICBiaW5kTWV0aG9kKCJzZXREZWZlck1haW5SZXNvdXJjZURhdGFM
b2FkIiwgJkxheW91dFRlc3RDb250cm9sbGVyOjpzZXREZWZlck1haW5SZXNvdXJjZURhdGFMb2Fk
KTsKKyAgICBiaW5kTWV0aG9kKCJzZXREb21haW5SZWxheGF0aW9uRm9yYmlkZGVuRm9yVVJMU2No
ZW1lIiwgJkxheW91dFRlc3RDb250cm9sbGVyOjpzZXREb21haW5SZWxheGF0aW9uRm9yYmlkZGVu
Rm9yVVJMU2NoZW1lKTsKICAgICBiaW5kTWV0aG9kKCJzZXRFZGl0aW5nQmVoYXZpb3IiLCAmTGF5
b3V0VGVzdENvbnRyb2xsZXI6OnNldEVkaXRpbmdCZWhhdmlvcik7CiAgICAgYmluZE1ldGhvZCgi
c2V0QXVkaW9EYXRhIiwgJkxheW91dFRlc3RDb250cm9sbGVyOjpzZXRBdWRpb0RhdGEpOwogICAg
IGJpbmRNZXRob2QoInNldEdlb2xvY2F0aW9uUGVybWlzc2lvbiIsICZMYXlvdXRUZXN0Q29udHJv
bGxlcjo6c2V0R2VvbG9jYXRpb25QZXJtaXNzaW9uKTsKQEAgLTExOTIsNiArMTE5MywxMyBAQCB2
b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzaW11bGF0ZURlc2t0b3BOb3RpZmljYXRpb25DbGlj
ayhjb25zdCBDcHBBcmd1bWVudExpcwogfQogI2VuZGlmCiAKK3ZvaWQgTGF5b3V0VGVzdENvbnRy
b2xsZXI6OnNldERvbWFpblJlbGF4YXRpb25Gb3JiaWRkZW5Gb3JVUkxTY2hlbWUoY29uc3QgQ3Bw
QXJndW1lbnRMaXN0JiBhcmd1bWVudHMsIENwcFZhcmlhbnQqIHJlc3VsdCkKK3sKKyAgICBpZiAo
YXJndW1lbnRzLnNpemUoKSAhPSAyIHx8ICFhcmd1bWVudHNbMF0uaXNCb29sKCkgfHwgIWFyZ3Vt
ZW50c1sxXS5pc1N0cmluZygpKQorICAgICAgICByZXR1cm47CisgICAgbV9zaGVsbC0+d2ViVmll
dygpLT5zZXREb21haW5SZWxheGF0aW9uRm9yYmlkZGVuKGNwcFZhcmlhbnRUb0Jvb2woYXJndW1l
bnRzWzBdKSwgY3BwVmFyaWFudFRvV2ViU3RyaW5nKGFyZ3VtZW50c1sxXSkpOworfQorCiB2b2lk
IExheW91dFRlc3RDb250cm9sbGVyOjpzZXREZWZlck1haW5SZXNvdXJjZURhdGFMb2FkKGNvbnN0
IENwcEFyZ3VtZW50TGlzdCYgYXJndW1lbnRzLCBDcHBWYXJpYW50KiByZXN1bHQpCiB7CiAgICAg
aWYgKGFyZ3VtZW50cy5zaXplKCkgPT0gMSkKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmggYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCmluZGV4IDExMDg4MTA4MmIzZjk2MjZm
YjM3M2QxMmQ3YmJjMGU3MWIyOTUwMTUuLjc5M2FmZGZiOWIzMzcxNTY5NWVmZTM2MzY4NTZkNzA5
NTg4ZWMzNzIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91
dFRlc3RDb250cm9sbGVyLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5
b3V0VGVzdENvbnRyb2xsZXIuaApAQCAtMjU1LDYgKzI1NSw3IEBAIHB1YmxpYzoKICAgICB2b2lk
IHNpbXVsYXRlRGVza3RvcE5vdGlmaWNhdGlvbkNsaWNrKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYs
IENwcFZhcmlhbnQqKTsKICNlbmRpZgogCisgICAgdm9pZCBzZXREb21haW5SZWxheGF0aW9uRm9y
YmlkZGVuRm9yVVJMU2NoZW1lKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsK
ICAgICB2b2lkIHNldERlZmVyTWFpblJlc291cmNlRGF0YUxvYWQoY29uc3QgQ3BwQXJndW1lbnRM
aXN0JiwgQ3BwVmFyaWFudCopOwogICAgIHZvaWQgc2V0RWRpdGluZ0JlaGF2aW9yKGNvbnN0IENw
cEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJl
bmRlclRyZWUvZWZsL0xheW91dFRlc3RDb250cm9sbGVyRWZsLmNwcCBiL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2VmbC9MYXlvdXRUZXN0Q29udHJvbGxlckVmbC5jcHAKaW5kZXggMTk5NWQ4ZTc0ZjYw
MmZkNWZkZjJhNjRmZmYwN2JkYTQ2YmZiZmY3OS4uMTZmNzI3ZjMxNmM1MjBiZTFlYmI2ZmUxNTA2
NjE3OWQ2YWIyYTQxNiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0xheW91
dFRlc3RDb250cm9sbGVyRWZsLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvTGF5
b3V0VGVzdENvbnRyb2xsZXJFZmwuY3BwCkBAIC02MTQsNiArNjE0LDExIEBAIHZvaWQgTGF5b3V0
VGVzdENvbnRyb2xsZXI6OnN5bmNMb2NhbFN0b3JhZ2UoKQogICAgIG5vdEltcGxlbWVudGVkKCk7
CiB9CiAKK3ZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldERvbWFpblJlbGF4YXRpb25Gb3Ji
aWRkZW5Gb3JVUkxTY2hlbWUoYm9vbCwgSlNTdHJpbmdSZWYpCit7CisgICAgbm90SW1wbGVtZW50
ZWQoKTsKK30KKwogdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6Z29CYWNrKCkKIHsKICAgICBl
d2tfZnJhbWVfYmFjayhicm93c2VyLT5tYWluRnJhbWUoKSk7CmRpZmYgLS1naXQgYS9Ub29scy9E
dW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0VGVzdENvbnRyb2xsZXJHdGsuY3BwIGIvVG9vbHMvRHVt
cFJlbmRlclRyZWUvZ3RrL0xheW91dFRlc3RDb250cm9sbGVyR3RrLmNwcAppbmRleCBlMTM4NmE1
OGVjYjBhMmVjZTIxZDVlOGRmMzU1YTlkNGFmODg0MjRiLi41ZWI3ZmJlZDQyYmRiYTFmMWI0MWQ4
Y2IxMWY3MTQ3YTlmOGQ1MTA2IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9ndGsv
TGF5b3V0VGVzdENvbnRyb2xsZXJHdGsuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2d0
ay9MYXlvdXRUZXN0Q29udHJvbGxlckd0ay5jcHAKQEAgLTczOSw2ICs3MzksMTIgQEAgdm9pZCBM
YXlvdXRUZXN0Q29udHJvbGxlcjo6c3luY0xvY2FsU3RvcmFnZSgpCiAgICAgLy8gRklYTUU6IGlt
cGxlbWVudAogfQogCit2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXREb21haW5SZWxheGF0
aW9uRm9yYmlkZGVuRm9yVVJMU2NoZW1lKGJvb2wgZm9yYmlkZGVuLCBKU1N0cmluZ1JlZiBzY2hl
bWUpCit7CisgICAgR093blB0cjxnY2hhcj4gdXJsU2NoZW1lKEpTU3RyaW5nQ29weVVURjhDU3Ry
aW5nKHNjaGVtZSkpOworICAgIER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0azo6c2V0RG9tYWluUmVs
YXhhdGlvbkZvcmJpZGRlbkZvclVSTFNjaGVtZShmb3JiaWRkZW4sIHVybFNjaGVtZS5nZXQoKSk7
Cit9CisKIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmdvQmFjaygpCiB7CiAgICAgV2ViS2l0
V2ViVmlldyogd2ViVmlldyA9IHdlYmtpdF93ZWJfZnJhbWVfZ2V0X3dlYl92aWV3KG1haW5GcmFt
ZSk7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvTGF5b3V0VGVzdENvbnRy
b2xsZXJNYWMubW0gYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvTGF5b3V0VGVzdENvbnRyb2xs
ZXJNYWMubW0KaW5kZXggYThjNzE2Y2E4OTU1NDY5ZDRiMTJhZTVjZDBkZDY5MWE1M2I4MWFhNy4u
YjgzNTZjOTM1NWY4MjBhMTQ1MjMyM2Y3ODM2ZDRhZDhiYzY4OWIwOCAxMDA2NDQKLS0tIGEvVG9v
bHMvRHVtcFJlbmRlclRyZWUvbWFjL0xheW91dFRlc3RDb250cm9sbGVyTWFjLm1tCisrKyBiL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL21hYy9MYXlvdXRUZXN0Q29udHJvbGxlck1hYy5tbQpAQCAtNDky
LDYgKzQ5MiwxMiBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXREZWZlcnNMb2FkaW5n
KGJvb2wgZGVmZXJzKQogICAgIFtbbWFpbkZyYW1lIHdlYlZpZXddIHNldERlZmVyc0NhbGxiYWNr
czpkZWZlcnNdOwogfQogCit2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXREb21haW5SZWxh
eGF0aW9uRm9yYmlkZGVuRm9yVVJMU2NoZW1lKGJvb2wgZm9yYmlkZGVuLCBKU1N0cmluZ1JlZiBz
Y2hlbWUpCit7CisgICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBzY2hlbWVDRlN0cmluZyhBZG9w
dENGLCBKU1N0cmluZ0NvcHlDRlN0cmluZyhrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBzY2hlbWUpKTsK
KyAgICBbV2ViVmlldyBfc2V0RG9tYWluUmVsYXhhdGlvbkZvcmJpZGRlbjpmb3JiaWRkZW4gZm9y
VVJMU2NoZW1lOihOU1N0cmluZyAqKXNjaGVtZUNGU3RyaW5nLmdldCgpXTsKK30KKwogdm9pZCBM
YXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0TW9ja0RldmljZU9yaWVudGF0aW9uKGJvb2wgY2FuUHJv
dmlkZUFscGhhLCBkb3VibGUgYWxwaGEsIGJvb2wgY2FuUHJvdmlkZUJldGEsIGRvdWJsZSBiZXRh
LCBib29sIGNhblByb3ZpZGVHYW1tYSwgZG91YmxlIGdhbW1hKQogewogICAgIC8vIER1bXBSZW5k
ZXJUcmVlIGNvbmZpZ3VyZWQgdGhlIFdlYlZpZXcgdG8gdXNlIFdlYkRldmljZU9yaWVudGF0aW9u
UHJvdmlkZXJNb2NrLgpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0
VGVzdENvbnRyb2xsZXJRdC5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0
Q29udHJvbGxlclF0LmNwcAppbmRleCA4YTBiZWVmNzlkYmJlMGU3ZTE2ZDUwOTVlYzRmMjJhYmUx
YTVmN2M0Li4zZTg3NWQxYzVmYmRmM2FkYmQ5ZGE5ZTU5MDViZDE4Njc4ODViMDUwIDEwMDY0NAot
LS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcAor
KysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcApA
QCAtNzIwLDYgKzcyMCwxMSBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRVc2VyU3R5
bGVTaGVldEVuYWJsZWQoYm9vbCBlbmFibGVkKQogICAgICAgICBtX2RydC0+d2ViUGFnZSgpLT5z
ZXR0aW5ncygpLT5zZXRVc2VyU3R5bGVTaGVldFVybChRVXJsKCkpOwogfQogCit2b2lkIExheW91
dFRlc3RDb250cm9sbGVyOjpzZXREb21haW5SZWxheGF0aW9uRm9yYmlkZGVuRm9yVVJMU2NoZW1l
KGJvb2wgZm9yYmlkZGVuLCBjb25zdCBRU3RyaW5nJiBzY2hlbWUpCit7CisgICAgRHVtcFJlbmRl
clRyZWVTdXBwb3J0UXQ6OnNldERvbWFpblJlbGF4YXRpb25Gb3JiaWRkZW5Gb3JVUkxTY2hlbWUo
Zm9yYmlkZGVuLCBzY2hlbWUpOworfQorCiBpbnQgTGF5b3V0VGVzdENvbnRyb2xsZXI6Ondvcmtl
clRocmVhZENvdW50KCkKIHsKICAgICByZXR1cm4gRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6Ondv
cmtlclRocmVhZENvdW50KCk7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9M
YXlvdXRUZXN0Q29udHJvbGxlclF0LmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRU
ZXN0Q29udHJvbGxlclF0LmgKaW5kZXggZTM0MWQ5Yzg5NGRiM2JhNzYxYTAyZTFmOTk0ZDA0NTBl
ZDJjOTI3YS4uMjRhYjA5N2QxMTY5MjM3YjkzYWQ0NzlmNGJmMjU0YWU4YzU0ZThmZCAxMDA2NDQK
LS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oCisr
KyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuaApAQCAt
MjExLDYgKzIxMSw3IEBAIHB1YmxpYyBzbG90czoKICAgICB2b2lkIG92ZXJyaWRlUHJlZmVyZW5j
ZShjb25zdCBRU3RyaW5nJiBuYW1lLCBjb25zdCBRVmFyaWFudCYgdmFsdWUpOwogICAgIHZvaWQg
c2V0VXNlclN0eWxlU2hlZXRMb2NhdGlvbihjb25zdCBRU3RyaW5nJiB1cmwpOwogICAgIHZvaWQg
c2V0VXNlclN0eWxlU2hlZXRFbmFibGVkKGJvb2wgZW5hYmxlZCk7CisgICAgdm9pZCBzZXREb21h
aW5SZWxheGF0aW9uRm9yYmlkZGVuRm9yVVJMU2NoZW1lKGJvb2wgZm9yYmlkZGVuLCBjb25zdCBR
U3RyaW5nJiBzY2hlbWUpOwogICAgIGludCB3b3JrZXJUaHJlYWRDb3VudCgpOwogICAgIGludCBw
YWdlTnVtYmVyRm9yRWxlbWVudEJ5SWQoY29uc3QgUVN0cmluZyYgaWQsIGZsb2F0IHdpZHRoID0g
MCwgZmxvYXQgaGVpZ2h0ID0gMCk7CiAgICAgaW50IG51bWJlck9mUGFnZXMoZmxvYXQgd2lkdGgg
PSBtYXhWaWV3V2lkdGgsIGZsb2F0IGhlaWdodCA9IG1heFZpZXdIZWlnaHQpOwpkaWZmIC0tZ2l0
IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0xheW91dFRlc3RDb250cm9sbGVyV2luLmNwcCBi
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9MYXlvdXRUZXN0Q29udHJvbGxlcldpbi5jcHAKaW5k
ZXggOTEzNzM3Y2FmZjhjOGE0NDVlODAyNzZiZmJlN2MzYzY3YmU1MDQzMC4uZmIyMzdiMTE1NzZi
YWViNzZiZmI1YTJmYWI5NTQ2YzgwYzI0YzE4MCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvd2luL0xheW91dFRlc3RDb250cm9sbGVyV2luLmNwcAorKysgYi9Ub29scy9EdW1wUmVu
ZGVyVHJlZS93aW4vTGF5b3V0VGVzdENvbnRyb2xsZXJXaW4uY3BwCkBAIC0xMDQzLDYgKzEwNDMs
MTcgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0RGVmZXJzTG9hZGluZyhib29sKQog
ICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQgdG8gZW5hYmxlIGxvYWRlci9uYXZpZ2F0aW9uLXdoaWxl
LWRlZmVycmluZy1sb2Fkcy5odG1sCiB9CiAKK3ZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNl
dERvbWFpblJlbGF4YXRpb25Gb3JiaWRkZW5Gb3JVUkxTY2hlbWUoYm9vbCBmb3JiaWRkZW4sIEpT
U3RyaW5nUmVmIHNjaGVtZSkKK3sKKyAgICBDT01QdHI8SVdlYlZpZXdQcml2YXRlPiB3ZWJWaWV3
OworICAgIGlmIChGQUlMRUQoV2ViS2l0Q3JlYXRlSW5zdGFuY2UoX191dWlkb2YoV2ViVmlldyks
IDAsIF9fdXVpZG9mKHdlYlZpZXcpLCByZWludGVycHJldF9jYXN0PHZvaWQqKj4oJndlYlZpZXcp
KSkpCisgICAgICAgIHJldHVybjsKKworICAgIEJTVFIgc2NoZW1lQlNUUiA9IEpTU3RyaW5nQ29w
eUJTVFIoc2NoZW1lKTsKKyAgICB3ZWJWaWV3LT5zZXREb21haW5SZWxheGF0aW9uRm9yYmlkZGVu
Rm9yVVJMU2NoZW1lKGZvcmJpZGRlbiwgc2NoZW1lQlNUUik7CisgICAgU3lzRnJlZVN0cmluZyhz
Y2hlbWVCU1RSKTsKK30KKwogdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0QXBwQ2FjaGVN
YXhpbXVtU2l6ZSh1bnNpZ25lZCBsb25nIGxvbmcgc2l6ZSkKIHsKICAgICBwcmludGYoIkVSUk9S
OiBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0QXBwQ2FjaGVNYXhpbXVtU2l6ZSgpIG5vdCBpbXBs
ZW1lbnRlZFxuIik7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS93eC9MYXlvdXRU
ZXN0Q29udHJvbGxlcld4LmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3d4L0xheW91dFRlc3RD
b250cm9sbGVyV3guY3BwCmluZGV4IDU0Y2Y3Mzk0YjYxODI1M2YyNWUxNzAxNjhkZjQ0ZjdjZTE0
MzcwZTguLjIxMzllN2MwMTY4NjRjYTRmNTE2OGViMzlhMDc0NjEzMGRlNmUyYjggMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3d4L0xheW91dFRlc3RDb250cm9sbGVyV3guY3BwCisr
KyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3d4L0xheW91dFRlc3RDb250cm9sbGVyV3guY3BwCkBA
IC0yOTcsNiArMjk3LDExIEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldERlZmVyc0xv
YWRpbmcoYm9vbCkKICAgICAvLyBGSVhNRTogaW1wbGVtZW50IHRvIGVuYWJsZSBsb2FkZXIvbmF2
aWdhdGlvbi13aGlsZS1kZWZlcnJpbmctbG9hZHMuaHRtbAogfQogCit2b2lkIExheW91dFRlc3RD
b250cm9sbGVyOjpzZXREb21haW5SZWxheGF0aW9uRm9yYmlkZGVuRm9yVVJMU2NoZW1lKGJvb2ws
IEpTU3RyaW5nUmVmKQoreworICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQKK30KKwogdm9pZCBMYXlv
dXRUZXN0Q29udHJvbGxlcjo6c2V0QXBwQ2FjaGVNYXhpbXVtU2l6ZSh1bnNpZ25lZCBsb25nIGxv
bmcgc2l6ZSkKIHsKICAgICAvLyBGSVhNRTogaW1wbGVtZW50CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNDRjYTdhZTRkNGNi
N2U3MzgxYWVjMjFkNzZkZWYxMjA0MjNlZDZlMi4uZDE3YWYzMWJlN2I5OTAyYjAzZjY3NzFjMjli
MGEzNzcxMzBkYWZjNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEyLTA1LTE3ICBTaGVyaWZm
IEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByMTE3NDI4LgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2No
YW5nZXNldC8xMTc0MjgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTg2NzQ4CisKKyAgICAgICAgSXQgYnJva2UgdGhlIFNhZmFyaSBidWlsZCAoUmVxdWVz
dGVkIGJ5IGplc3NpZWJlcmxpbiBvbgorICAgICAgICAjd2Via2l0KS4KKworICAgICAgICAqIGh0
dHAvdGVzdHMvc2VjdXJpdHkvc2V0RG9tYWluUmVsYXhhdGlvbkZvcmJpZGRlbkZvclVSTFNjaGVt
ZS5odG1sOgorCiAyMDEyLTA1LTE3ICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IGVycm9yIHdoZW4gZXhwYW5kaW5nIGFuIEhU
TUxBbGxDb2xsZWN0aW9uIG9iamVjdCBpbiB0aGUgY29uc29sZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zZXREb21haW5SZWxheGF0aW9uRm9yYmlkZGVuRm9y
VVJMU2NoZW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NldERvbWFp
blJlbGF4YXRpb25Gb3JiaWRkZW5Gb3JVUkxTY2hlbWUuaHRtbAppbmRleCA1NTI5MTBhNTNhMDMx
MjM5OTQ1ZmE3NGVjZTRhNzI0NTFiOGQ2OGNhLi5iNjMxZjk3NzI1MzdjNDg2YzNmOTA4ZjNhMmY3
OWNkYzhjYTg0ZTVhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L3NldERvbWFpblJlbGF4YXRpb25Gb3JiaWRkZW5Gb3JVUkxTY2hlbWUuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NldERvbWFpblJlbGF4YXRpb25Gb3JiaWRkZW5G
b3JVUkxTY2hlbWUuaHRtbApAQCAtMzYsOCArMzYsOCBAQAogCiAgICAgICAgIGxvZygiRm9yYmlk
ZGluZyBkb21haW4gcmVsYXhhdGlvbiBmb3IgdGhlIGh0dHA6IHNjaGVtZSIpOwogCi0gICAgICAg
IGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dERvbWFpblJlbGF4YXRpb25Gb3JiaWRkZW5Gb3JVUkxTY2hlbWUodHJ1ZSwgImh0dHAiKTsKKyAg
ICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLnNldERvbWFpblJlbGF4YXRpb25Gb3JiaWRkZW5Gb3JVUkxTY2hlbWUo
dHJ1ZSwgImh0dHAiKTsKIAogICAgICAgICB2YXIgZXhjZXB0aW9uOwogICAgICAgICB0cnkgewpA
QCAtNTMsOCArNTMsOCBAQAogCiAgICAgICAgIGRvbWFpblNob3VsZEJlKCIwLjAuMSIpOwogCi0g
ICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldERvbWFpblJlbGF4YXRpb25Gb3JiaWRkZW5Gb3JVUkxTY2hlbWUoZmFsc2UsICJodHRw
Iik7CisgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXREb21haW5SZWxheGF0aW9uRm9yYmlkZGVuRm9yVVJM
U2NoZW1lKGZhbHNlLCAiaHR0cCIpOwogCiAgICAgICAgIGxvZygiQWxsb3dpbmcgZG9tYWluIHJl
bGF4YXRpb24gZm9yIHRoZSBodHRwOiBzY2hlbWUiKTsKIApAQCAtNjMsMTYgKzYzLDE2IEBACiAK
ICAgICAgICAgbG9nKCJGb3JiaWRkaW5nIGRvbWFpbiByZWxheGF0aW9uIGZvciB0aGUgbm90LWh0
dHA6IHNjaGVtZSIpOwogCi0gICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgICAgICAg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldERvbWFpblJlbGF4YXRpb25Gb3JiaWRkZW5Gb3JVUkxT
Y2hlbWUodHJ1ZSwgIm5vdC1odHRwIik7CisgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpCisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXREb21haW5SZWxh
eGF0aW9uRm9yYmlkZGVuRm9yVVJMU2NoZW1lKHRydWUsICJub3QtaHR0cCIpOwogCiAgICAgICAg
IGRvY3VtZW50LmRvbWFpbiA9ICIxIjsKICAgICAgICAgZG9tYWluU2hvdWxkQmUoIjEiKTsKIAog
ICAgICAgICBsb2coIkFsbG93aW5nIGRvbWFpbiByZWxheGF0aW9uIGZvciB0aGUgbm90LWh0dHA6
IHNjaGVtZSIpOwogCi0gICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgICAgICAgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldERvbWFpblJlbGF4YXRpb25Gb3JiaWRkZW5Gb3JVUkxTY2hl
bWUoZmFsc2UsICJub3QtaHR0cCIpOworICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKQorICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0RG9tYWluUmVsYXhh
dGlvbkZvcmJpZGRlbkZvclVSTFNjaGVtZShmYWxzZSwgIm5vdC1odHRwIik7CiAgICAgPC9zY3Jp
cHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cK
aW5kZXggOGRkYWY3MjVhYzY3ZGRlMjUyMmEzM2ZiYTY1MmY5NDAyNDkwYzM5My4uMWI2ODZkYzJj
ZDVjZDYxNzU4YmNmMDNjY2I1OGMwZTgyYjJlY2I3NiAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisr
KyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEyLTA1LTE3ICBTaGVyaWZmIEJvdCAg
PHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmlld2VkLCByb2xs
aW5nIG91dCByMTE3NDI4LgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNl
dC8xMTc0MjgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTg2NzQ4CisKKyAgICAgICAgSXQgYnJva2UgdGhlIFNhZmFyaSBidWlsZCAoUmVxdWVzdGVkIGJ5
IGplc3NpZWJlcmxpbiBvbgorICAgICAgICAjd2Via2l0KS4KKworICAgICAgICAqIFNvdXJjZS9h
dXRvdG9vbHMvc3ltYm9scy5maWx0ZXI6CisKIDIwMTItMDUtMTcgIEd5dXlvdW5nIEtpbSAgPGd5
dXlvdW5nLmtpbUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBDb252ZXJ0IHNldERvbWFpblJlbGF4
YXRpb25Gb3JiaWRkZW5Gb3JVUkxTY2hlbWUgdG8gdXNlIEludGVybmFsU2V0dGluZ3MgaW50ZXJm
YWNlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>