<?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>108454</bug_id>
          
          <creation_ts>2013-01-31 03:27:29 -0800</creation_ts>
          <short_desc>Web Inspector: [Canvas] remove invalid canvas profile trace logs upon frame navigation</short_desc>
          <delta_ts>2013-01-31 04:46:50 -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>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Andrey Adaikin">aandrey</reporter>
          <assigned_to name="Andrey Adaikin">aandrey</assigned_to>
          <cc>apavlov</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>vsevik</cc>
    
    <cc>web-inspector-bugs</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>821328</commentid>
    <comment_count>0</comment_count>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2013-01-31 03:27:29 -0800</bug_when>
    <thetext>When canvas profile trace logs stored in the backend get destroyed (for example, on frame navigation), send an event to frontend and update the UI.

Patch to follow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>821337</commentid>
    <comment_count>1</comment_count>
      <attachid>185737</attachid>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2013-01-31 03:39:10 -0800</bug_when>
    <thetext>Created attachment 185737
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>821392</commentid>
    <comment_count>2</comment_count>
      <attachid>185737</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-31 04:46:46 -0800</bug_when>
    <thetext>Comment on attachment 185737
Patch

Clearing flags on attachment: 185737

Committed r141403: &lt;http://trac.webkit.org/changeset/141403&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>821393</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-31 04:46:50 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185737</attachid>
            <date>2013-01-31 03:39:10 -0800</date>
            <delta_ts>2013-01-31 04:46:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-108454-20130131153553.patch</filename>
            <type>text/plain</type>
            <size>26627</size>
            <attacher name="Andrey Adaikin">aandrey</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxMjU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWM2Zjk5MjIzYjhlMWVj
OWMzMTc3Y2NmY2JkZjMzN2Q3MTRmMmM3ZC4uN2EwMWU4YmUxODY5ZmYyZGViNjJmYjgzZTJkYjYx
NzBiZGZhZDQ5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDEzLTAxLTMxICBBbmRy
ZXkgQWRhaWtpbiAgPGFhbmRyZXlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFtDYW52YXNdIHJlbW92ZSBpbnZhbGlkIGNhbnZhcyBwcm9maWxlIHRyYWNlIGxvZ3MgdXBv
biBmcmFtZSBuYXZpZ2F0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDg0NTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBXaGVuIGNhbnZhcyBwcm9maWxlIHRyYWNlIGxvZ3Mgc3RvcmVkIGluIHRoZSBi
YWNrZW5kIGdldCBkZXN0cm95ZWQgKGZvciBleGFtcGxlLCBvbiBmcmFtZSBuYXZpZ2F0aW9uKSwg
c2VuZCBhbiBldmVudCB0byBmcm9udGVuZCBhbmQgdXBkYXRlIHRoZSBVSS4KKyAgICAgICAgRHJp
dmUtYnk6IHJlcGxhY2UgU3RyaW5nIHR5cGVzIHRvIGNvcnJlc3BvbmRpbmcgVHlwZUJ1aWxkZXI6
OkNhbnZhczo6KiB0eXBlZGVmcy4KKworICAgICAgICAqIGluc3BlY3Rvci9JbmplY3RlZFNjcmlw
dENhbnZhc01vZHVsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlwdENhbnZh
c01vZHVsZTo6Y2FwdHVyZUZyYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkluamVjdGVkU2NyaXB0
Q2FudmFzTW9kdWxlOjpzdGFydENhcHR1cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpJbmplY3Rl
ZFNjcmlwdENhbnZhc01vZHVsZTo6Y2FsbFN0YXJ0Q2FwdHVyaW5nRnVuY3Rpb24pOgorICAgICAg
ICAoV2ViQ29yZTo6SW5qZWN0ZWRTY3JpcHRDYW52YXNNb2R1bGU6OnN0b3BDYXB0dXJpbmcpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRTY3JpcHRDYW52YXNNb2R1bGU6OmRyb3BUcmFjZUxv
Zyk6CisgICAgICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlwdENhbnZhc01vZHVsZTo6Y2FsbFZv
aWRGdW5jdGlvbldpdGhUcmFjZUxvZ0lkQXJndW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5q
ZWN0ZWRTY3JpcHRDYW52YXNNb2R1bGU6OnRyYWNlTG9nKToKKyAgICAgICAgKFdlYkNvcmU6Oklu
amVjdGVkU2NyaXB0Q2FudmFzTW9kdWxlOjpyZXBsYXlUcmFjZUxvZyk6CisgICAgICAgIChXZWJD
b3JlOjpJbmplY3RlZFNjcmlwdENhbnZhc01vZHVsZTo6cmVzb3VyY2VJbmZvKToKKyAgICAgICAg
KFdlYkNvcmU6OkluamVjdGVkU2NyaXB0Q2FudmFzTW9kdWxlOjpyZXNvdXJjZVN0YXRlKToKKyAg
ICAgICAgKiBpbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRDYW52YXNNb2R1bGUuaDoKKyAgICAgICAg
KEluamVjdGVkU2NyaXB0Q2FudmFzTW9kdWxlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9yLmpzb246CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNhbnZhc0FnZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNhbnZhc0FnZW50Ojpkcm9wVHJhY2VMb2cpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ2FudmFzQWdlbnQ6OnN0b3BDYXB0dXJpbmcpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ2FudmFzQWdlbnQ6OmdldFRyYWNlTG9nKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNhbnZhc0FnZW50OjpyZXBsYXlUcmFjZUxvZyk6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDYW52YXNBZ2VudDo6Z2V0UmVzb3VyY2VJbmZvKToK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNhbnZhc0FnZW50OjpnZXRSZXNvdXJjZVN0YXRl
KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNhbnZhc0FnZW50OjpmcmFtZU5hdmlnYXRl
ZCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNhbnZhc0FnZW50Lmg6CisgICAgICAg
IChJbnNwZWN0b3JDYW52YXNBZ2VudCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclBh
Z2VBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQYWdlQWdlbnQ6Omhhc0lk
Rm9yRnJhbWUpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3RvclBhZ2VBZ2VudC5oOgorICAgICAgICAoSW5zcGVjdG9yUGFnZUFnZW50KToKKyAgICAgICAg
KiBpbnNwZWN0b3IvZnJvbnQtZW5kL0NhbnZhc1Byb2ZpbGVWaWV3LmpzOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLkNhbnZhc1Byb2ZpbGVUeXBlLnByb3RvdHlwZS5fcnVuU2luZ2xlRnJhbWVDYXB0
dXJpbmcpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNhbnZhc1Byb2ZpbGVUeXBlLnByb3RvdHlw
ZS5fc3RhcnRGcmFtZUNhcHR1cmluZyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ2FudmFzUHJv
ZmlsZVR5cGUucHJvdG90eXBlLl9kaWRTdGFydENhcHR1cmluZ0ZyYW1lKToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5DYW52YXNQcm9maWxlVHlwZS5wcm90b3R5cGUuX3RyYWNlTG9nc1JlbW92ZWQp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNhbnZhc0Rpc3BhdGNoZXIucHJvdG90eXBlLmNvbnRl
eHRDcmVhdGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DYW52YXNEaXNwYXRjaGVyLnByb3Rv
dHlwZS50cmFjZUxvZ3NSZW1vdmVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DYW52YXNQcm9m
aWxlSGVhZGVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DYW52YXNQcm9maWxlSGVhZGVyLnBy
b3RvdHlwZS5mcmFtZUlkKToKKwogMjAxMy0wMS0zMCAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFu
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBtaWdyYXRlIGZpbGUgc2Vs
ZWN0aW9uIGRpYWxvZyB0byB0aGUgdmlld3BvcnQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRDYW52YXNNb2R1bGUuY3BwIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0Q2FudmFzTW9kdWxlLmNwcAppbmRleCA2ZGQzMzkx
NmM4OTk4OWE4NmExZTVmNDJlMGE2ZDFmZTRiYjgxMGI0Li40NzQ5MjlkOGIyYTk1YWJjNmU1YmM2
MjY2NWU5OTNmYTFlNjVhNTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5qZWN0ZWRTY3JpcHRDYW52YXNNb2R1bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbmplY3RlZFNjcmlwdENhbnZhc01vZHVsZS5jcHAKQEAgLTQwLDYgKzQwLDEzIEBACiAj
aW5jbHVkZSAiU2NyaXB0RnVuY3Rpb25DYWxsLmgiCiAjaW5jbHVkZSAiU2NyaXB0T2JqZWN0Lmgi
CiAKK3VzaW5nIFdlYkNvcmU6OlR5cGVCdWlsZGVyOjpBcnJheTsKK3VzaW5nIFdlYkNvcmU6OlR5
cGVCdWlsZGVyOjpDYW52YXM6OlJlc291cmNlSWQ7Cit1c2luZyBXZWJDb3JlOjpUeXBlQnVpbGRl
cjo6Q2FudmFzOjpSZXNvdXJjZUluZm87Cit1c2luZyBXZWJDb3JlOjpUeXBlQnVpbGRlcjo6Q2Fu
dmFzOjpSZXNvdXJjZVN0YXRlOwordXNpbmcgV2ViQ29yZTo6VHlwZUJ1aWxkZXI6OkNhbnZhczo6
VHJhY2VMb2c7Cit1c2luZyBXZWJDb3JlOjpUeXBlQnVpbGRlcjo6Q2FudmFzOjpUcmFjZUxvZ0lk
OworCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIEluamVjdGVkU2NyaXB0Q2FudmFzTW9kdWxlOjpJ
bmplY3RlZFNjcmlwdENhbnZhc01vZHVsZSgpCkBAIC04NCwxNyArOTEsMTcgQEAgU2NyaXB0T2Jq
ZWN0IEluamVjdGVkU2NyaXB0Q2FudmFzTW9kdWxlOjpjYWxsV3JhcENvbnRleHRGdW5jdGlvbihj
b25zdCBTdHJpbmcmIGYKICAgICByZXR1cm4gU2NyaXB0T2JqZWN0KGNvbnRleHQuc2NyaXB0U3Rh
dGUoKSwgcmVzdWx0VmFsdWUpOwogfQogCi12b2lkIEluamVjdGVkU2NyaXB0Q2FudmFzTW9kdWxl
OjpjYXB0dXJlRnJhbWUoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBTdHJpbmcqIHRyYWNlTG9n
SWQpCit2b2lkIEluamVjdGVkU2NyaXB0Q2FudmFzTW9kdWxlOjpjYXB0dXJlRnJhbWUoRXJyb3JT
dHJpbmcqIGVycm9yU3RyaW5nLCBUcmFjZUxvZ0lkKiB0cmFjZUxvZ0lkKQogewogICAgIGNhbGxT
dGFydENhcHR1cmluZ0Z1bmN0aW9uKCJjYXB0dXJlRnJhbWUiLCBlcnJvclN0cmluZywgdHJhY2VM
b2dJZCk7CiB9CiAKLXZvaWQgSW5qZWN0ZWRTY3JpcHRDYW52YXNNb2R1bGU6OnN0YXJ0Q2FwdHVy
aW5nKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgU3RyaW5nKiB0cmFjZUxvZ0lkKQordm9pZCBJ
bmplY3RlZFNjcmlwdENhbnZhc01vZHVsZTo6c3RhcnRDYXB0dXJpbmcoRXJyb3JTdHJpbmcqIGVy
cm9yU3RyaW5nLCBUcmFjZUxvZ0lkKiB0cmFjZUxvZ0lkKQogewogICAgIGNhbGxTdGFydENhcHR1
cmluZ0Z1bmN0aW9uKCJzdGFydENhcHR1cmluZyIsIGVycm9yU3RyaW5nLCB0cmFjZUxvZ0lkKTsK
IH0KIAotdm9pZCBJbmplY3RlZFNjcmlwdENhbnZhc01vZHVsZTo6Y2FsbFN0YXJ0Q2FwdHVyaW5n
RnVuY3Rpb24oY29uc3QgU3RyaW5nJiBmdW5jdGlvbk5hbWUsIEVycm9yU3RyaW5nKiBlcnJvclN0
cmluZywgU3RyaW5nKiB0cmFjZUxvZ0lkKQordm9pZCBJbmplY3RlZFNjcmlwdENhbnZhc01vZHVs
ZTo6Y2FsbFN0YXJ0Q2FwdHVyaW5nRnVuY3Rpb24oY29uc3QgU3RyaW5nJiBmdW5jdGlvbk5hbWUs
IEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgVHJhY2VMb2dJZCogdHJhY2VMb2dJZCkKIHsKICAg
ICBTY3JpcHRGdW5jdGlvbkNhbGwgZnVuY3Rpb24oaW5qZWN0ZWRTY3JpcHRPYmplY3QoKSwgZnVu
Y3Rpb25OYW1lKTsKICAgICBSZWZQdHI8SW5zcGVjdG9yVmFsdWU+IHJlc3VsdFZhbHVlOwpAQCAt
MTAzLDE3ICsxMTAsMTcgQEAgdm9pZCBJbmplY3RlZFNjcmlwdENhbnZhc01vZHVsZTo6Y2FsbFN0
YXJ0Q2FwdHVyaW5nRnVuY3Rpb24oY29uc3QgU3RyaW5nJiBmdW5jdGkKICAgICAgICAgKmVycm9y
U3RyaW5nID0gIkludGVybmFsIGVycm9yOiAiICsgZnVuY3Rpb25OYW1lOwogfQogCi12b2lkIElu
amVjdGVkU2NyaXB0Q2FudmFzTW9kdWxlOjpzdG9wQ2FwdHVyaW5nKEVycm9yU3RyaW5nKiBlcnJv
clN0cmluZywgY29uc3QgU3RyaW5nJiB0cmFjZUxvZ0lkKQordm9pZCBJbmplY3RlZFNjcmlwdENh
bnZhc01vZHVsZTo6c3RvcENhcHR1cmluZyhFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGNvbnN0
IFRyYWNlTG9nSWQmIHRyYWNlTG9nSWQpCiB7CiAgICAgY2FsbFZvaWRGdW5jdGlvbldpdGhUcmFj
ZUxvZ0lkQXJndW1lbnQoInN0b3BDYXB0dXJpbmciLCBlcnJvclN0cmluZywgdHJhY2VMb2dJZCk7
CiB9CiAKLXZvaWQgSW5qZWN0ZWRTY3JpcHRDYW52YXNNb2R1bGU6OmRyb3BUcmFjZUxvZyhFcnJv
clN0cmluZyogZXJyb3JTdHJpbmcsIGNvbnN0IFN0cmluZyYgdHJhY2VMb2dJZCkKK3ZvaWQgSW5q
ZWN0ZWRTY3JpcHRDYW52YXNNb2R1bGU6OmRyb3BUcmFjZUxvZyhFcnJvclN0cmluZyogZXJyb3JT
dHJpbmcsIGNvbnN0IFRyYWNlTG9nSWQmIHRyYWNlTG9nSWQpCiB7CiAgICAgY2FsbFZvaWRGdW5j
dGlvbldpdGhUcmFjZUxvZ0lkQXJndW1lbnQoImRyb3BUcmFjZUxvZyIsIGVycm9yU3RyaW5nLCB0
cmFjZUxvZ0lkKTsKIH0KIAotdm9pZCBJbmplY3RlZFNjcmlwdENhbnZhc01vZHVsZTo6Y2FsbFZv
aWRGdW5jdGlvbldpdGhUcmFjZUxvZ0lkQXJndW1lbnQoY29uc3QgU3RyaW5nJiBmdW5jdGlvbk5h
bWUsIEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgY29uc3QgU3RyaW5nJiB0cmFjZUxvZ0lkKQor
dm9pZCBJbmplY3RlZFNjcmlwdENhbnZhc01vZHVsZTo6Y2FsbFZvaWRGdW5jdGlvbldpdGhUcmFj
ZUxvZ0lkQXJndW1lbnQoY29uc3QgU3RyaW5nJiBmdW5jdGlvbk5hbWUsIEVycm9yU3RyaW5nKiBl
cnJvclN0cmluZywgY29uc3QgVHJhY2VMb2dJZCYgdHJhY2VMb2dJZCkKIHsKICAgICBTY3JpcHRG
dW5jdGlvbkNhbGwgZnVuY3Rpb24oaW5qZWN0ZWRTY3JpcHRPYmplY3QoKSwgZnVuY3Rpb25OYW1l
KTsKICAgICBmdW5jdGlvbi5hcHBlbmRBcmd1bWVudCh0cmFjZUxvZ0lkKTsKQEAgLTEyNCw3ICsx
MzEsNyBAQCB2b2lkIEluamVjdGVkU2NyaXB0Q2FudmFzTW9kdWxlOjpjYWxsVm9pZEZ1bmN0aW9u
V2l0aFRyYWNlTG9nSWRBcmd1bWVudChjb25zdCBTdAogICAgICAgICAqZXJyb3JTdHJpbmcgPSAi
SW50ZXJuYWwgZXJyb3I6ICIgKyBmdW5jdGlvbk5hbWU7CiB9CiAKLXZvaWQgSW5qZWN0ZWRTY3Jp
cHRDYW52YXNNb2R1bGU6OnRyYWNlTG9nKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgY29uc3Qg
U3RyaW5nJiB0cmFjZUxvZ0lkLCBjb25zdCBpbnQqIHN0YXJ0T2Zmc2V0LCBjb25zdCBpbnQqIG1h
eExlbmd0aCwgUmVmUHRyPFR5cGVCdWlsZGVyOjpDYW52YXM6OlRyYWNlTG9nPiogdHJhY2VMb2cp
Cit2b2lkIEluamVjdGVkU2NyaXB0Q2FudmFzTW9kdWxlOjp0cmFjZUxvZyhFcnJvclN0cmluZyog
ZXJyb3JTdHJpbmcsIGNvbnN0IFRyYWNlTG9nSWQmIHRyYWNlTG9nSWQsIGNvbnN0IGludCogc3Rh
cnRPZmZzZXQsIGNvbnN0IGludCogbWF4TGVuZ3RoLCBSZWZQdHI8VHJhY2VMb2c+KiB0cmFjZUxv
ZykKIHsKICAgICBTY3JpcHRGdW5jdGlvbkNhbGwgZnVuY3Rpb24oaW5qZWN0ZWRTY3JpcHRPYmpl
Y3QoKSwgInRyYWNlTG9nIik7CiAgICAgZnVuY3Rpb24uYXBwZW5kQXJndW1lbnQodHJhY2VMb2dJ
ZCk7CkBAIC0xMzksMTAgKzE0NiwxMCBAQCB2b2lkIEluamVjdGVkU2NyaXB0Q2FudmFzTW9kdWxl
Ojp0cmFjZUxvZyhFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGNvbnN0IFN0cmluZwogICAgICAg
ICAgICAgKmVycm9yU3RyaW5nID0gIkludGVybmFsIGVycm9yOiB0cmFjZUxvZyI7CiAgICAgICAg
IHJldHVybjsKICAgICB9Ci0gICAgKnRyYWNlTG9nID0gVHlwZUJ1aWxkZXI6OkNhbnZhczo6VHJh
Y2VMb2c6OnJ1bnRpbWVDYXN0KHJlc3VsdFZhbHVlKTsKKyAgICAqdHJhY2VMb2cgPSBUcmFjZUxv
Zzo6cnVudGltZUNhc3QocmVzdWx0VmFsdWUpOwogfQogCi12b2lkIEluamVjdGVkU2NyaXB0Q2Fu
dmFzTW9kdWxlOjpyZXBsYXlUcmFjZUxvZyhFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGNvbnN0
IFN0cmluZyYgdHJhY2VMb2dJZCwgaW50IHN0ZXBObywgUmVmUHRyPFR5cGVCdWlsZGVyOjpDYW52
YXM6OlJlc291cmNlU3RhdGU+KiByZXN1bHQpCit2b2lkIEluamVjdGVkU2NyaXB0Q2FudmFzTW9k
dWxlOjpyZXBsYXlUcmFjZUxvZyhFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGNvbnN0IFRyYWNl
TG9nSWQmIHRyYWNlTG9nSWQsIGludCBzdGVwTm8sIFJlZlB0cjxSZXNvdXJjZVN0YXRlPiogcmVz
dWx0KQogewogICAgIFNjcmlwdEZ1bmN0aW9uQ2FsbCBmdW5jdGlvbihpbmplY3RlZFNjcmlwdE9i
amVjdCgpLCAicmVwbGF5VHJhY2VMb2ciKTsKICAgICBmdW5jdGlvbi5hcHBlbmRBcmd1bWVudCh0
cmFjZUxvZ0lkKTsKQEAgLTE1NCwxMCArMTYxLDEwIEBAIHZvaWQgSW5qZWN0ZWRTY3JpcHRDYW52
YXNNb2R1bGU6OnJlcGxheVRyYWNlTG9nKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgY29uc3QK
ICAgICAgICAgICAgICplcnJvclN0cmluZyA9ICJJbnRlcm5hbCBlcnJvcjogcmVwbGF5VHJhY2VM
b2ciOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgICpyZXN1bHQgPSBUeXBlQnVpbGRlcjo6
Q2FudmFzOjpSZXNvdXJjZVN0YXRlOjpydW50aW1lQ2FzdChyZXN1bHRWYWx1ZSk7CisgICAgKnJl
c3VsdCA9IFJlc291cmNlU3RhdGU6OnJ1bnRpbWVDYXN0KHJlc3VsdFZhbHVlKTsKIH0KIAotdm9p
ZCBJbmplY3RlZFNjcmlwdENhbnZhc01vZHVsZTo6cmVzb3VyY2VJbmZvKEVycm9yU3RyaW5nKiBl
cnJvclN0cmluZywgY29uc3QgU3RyaW5nJiByZXNvdXJjZUlkLCBSZWZQdHI8VHlwZUJ1aWxkZXI6
OkNhbnZhczo6UmVzb3VyY2VJbmZvPiogcmVzdWx0KQordm9pZCBJbmplY3RlZFNjcmlwdENhbnZh
c01vZHVsZTo6cmVzb3VyY2VJbmZvKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgY29uc3QgUmVz
b3VyY2VJZCYgcmVzb3VyY2VJZCwgUmVmUHRyPFJlc291cmNlSW5mbz4qIHJlc3VsdCkKIHsKICAg
ICBTY3JpcHRGdW5jdGlvbkNhbGwgZnVuY3Rpb24oaW5qZWN0ZWRTY3JpcHRPYmplY3QoKSwgInJl
c291cmNlSW5mbyIpOwogICAgIGZ1bmN0aW9uLmFwcGVuZEFyZ3VtZW50KHJlc291cmNlSWQpOwpA
QCAtMTY4LDEwICsxNzUsMTAgQEAgdm9pZCBJbmplY3RlZFNjcmlwdENhbnZhc01vZHVsZTo6cmVz
b3VyY2VJbmZvKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgY29uc3QgU3QKICAgICAgICAgICAg
ICplcnJvclN0cmluZyA9ICJJbnRlcm5hbCBlcnJvcjogcmVzb3VyY2VJbmZvIjsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KLSAgICAqcmVzdWx0ID0gVHlwZUJ1aWxkZXI6OkNhbnZhczo6UmVzb3Vy
Y2VJbmZvOjpydW50aW1lQ2FzdChyZXN1bHRWYWx1ZSk7CisgICAgKnJlc3VsdCA9IFJlc291cmNl
SW5mbzo6cnVudGltZUNhc3QocmVzdWx0VmFsdWUpOwogfQogCi12b2lkIEluamVjdGVkU2NyaXB0
Q2FudmFzTW9kdWxlOjpyZXNvdXJjZVN0YXRlKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgY29u
c3QgU3RyaW5nJiB0cmFjZUxvZ0lkLCBjb25zdCBTdHJpbmcmIHJlc291cmNlSWQsIFJlZlB0cjxU
eXBlQnVpbGRlcjo6Q2FudmFzOjpSZXNvdXJjZVN0YXRlPiogcmVzdWx0KQordm9pZCBJbmplY3Rl
ZFNjcmlwdENhbnZhc01vZHVsZTo6cmVzb3VyY2VTdGF0ZShFcnJvclN0cmluZyogZXJyb3JTdHJp
bmcsIGNvbnN0IFRyYWNlTG9nSWQmIHRyYWNlTG9nSWQsIGNvbnN0IFJlc291cmNlSWQmIHJlc291
cmNlSWQsIFJlZlB0cjxSZXNvdXJjZVN0YXRlPiogcmVzdWx0KQogewogICAgIFNjcmlwdEZ1bmN0
aW9uQ2FsbCBmdW5jdGlvbihpbmplY3RlZFNjcmlwdE9iamVjdCgpLCAicmVzb3VyY2VTdGF0ZSIp
OwogICAgIGZ1bmN0aW9uLmFwcGVuZEFyZ3VtZW50KHRyYWNlTG9nSWQpOwpAQCAtMTgzLDcgKzE5
MCw3IEBAIHZvaWQgSW5qZWN0ZWRTY3JpcHRDYW52YXNNb2R1bGU6OnJlc291cmNlU3RhdGUoRXJy
b3JTdHJpbmcqIGVycm9yU3RyaW5nLCBjb25zdCBTCiAgICAgICAgICAgICAqZXJyb3JTdHJpbmcg
PSAiSW50ZXJuYWwgZXJyb3I6IHJlc291cmNlU3RhdGUiOwogICAgICAgICByZXR1cm47CiAgICAg
fQotICAgICpyZXN1bHQgPSBUeXBlQnVpbGRlcjo6Q2FudmFzOjpSZXNvdXJjZVN0YXRlOjpydW50
aW1lQ2FzdChyZXN1bHRWYWx1ZSk7CisgICAgKnJlc3VsdCA9IFJlc291cmNlU3RhdGU6OnJ1bnRp
bWVDYXN0KHJlc3VsdFZhbHVlKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0Q2FudmFzTW9kdWxl
LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRDYW52YXNNb2R1bGUu
aAppbmRleCAzZTA2ODZmM2IyZjQ5MzE2N2UxMGUzZDkzODg4YWMzMGIwNzNjMTJkLi5lNWNlNzBl
OWE1MzNmNzdjYTkzYzkyYTNiOTRmYjE0NmZkZWJiNzI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRDYW52YXNNb2R1bGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRDYW52YXNNb2R1bGUuaApAQCAtNTUsMTQg
KzU1LDE0IEBAIHB1YmxpYzoKICAgICBTY3JpcHRPYmplY3Qgd3JhcFdlYkdMQ29udGV4dChjb25z
dCBTY3JpcHRPYmplY3QmKTsKICNlbmRpZgogCi0gICAgdm9pZCBjYXB0dXJlRnJhbWUoRXJyb3JT
dHJpbmcqLCBTdHJpbmcqKTsKLSAgICB2b2lkIHN0YXJ0Q2FwdHVyaW5nKEVycm9yU3RyaW5nKiwg
U3RyaW5nKik7Ci0gICAgdm9pZCBzdG9wQ2FwdHVyaW5nKEVycm9yU3RyaW5nKiwgY29uc3QgU3Ry
aW5nJik7Ci0gICAgdm9pZCBkcm9wVHJhY2VMb2coRXJyb3JTdHJpbmcqLCBjb25zdCBTdHJpbmcm
KTsKKyAgICB2b2lkIGNhcHR1cmVGcmFtZShFcnJvclN0cmluZyosIFR5cGVCdWlsZGVyOjpDYW52
YXM6OlRyYWNlTG9nSWQqKTsKKyAgICB2b2lkIHN0YXJ0Q2FwdHVyaW5nKEVycm9yU3RyaW5nKiwg
VHlwZUJ1aWxkZXI6OkNhbnZhczo6VHJhY2VMb2dJZCopOworICAgIHZvaWQgc3RvcENhcHR1cmlu
ZyhFcnJvclN0cmluZyosIGNvbnN0IFR5cGVCdWlsZGVyOjpDYW52YXM6OlRyYWNlTG9nSWQmKTsK
KyAgICB2b2lkIGRyb3BUcmFjZUxvZyhFcnJvclN0cmluZyosIGNvbnN0IFR5cGVCdWlsZGVyOjpD
YW52YXM6OlRyYWNlTG9nSWQmKTsKICAgICB2b2lkIHRyYWNlTG9nKEVycm9yU3RyaW5nKiwgY29u
c3QgU3RyaW5nJiwgY29uc3QgaW50KiwgY29uc3QgaW50KiwgUmVmUHRyPFR5cGVCdWlsZGVyOjpD
YW52YXM6OlRyYWNlTG9nPiopOwotICAgIHZvaWQgcmVwbGF5VHJhY2VMb2coRXJyb3JTdHJpbmcq
LCBjb25zdCBTdHJpbmcmLCBpbnQsIFJlZlB0cjxUeXBlQnVpbGRlcjo6Q2FudmFzOjpSZXNvdXJj
ZVN0YXRlPiopOwotICAgIHZvaWQgcmVzb3VyY2VJbmZvKEVycm9yU3RyaW5nKiwgY29uc3QgU3Ry
aW5nJiwgUmVmUHRyPFR5cGVCdWlsZGVyOjpDYW52YXM6OlJlc291cmNlSW5mbz4qKTsKLSAgICB2
b2lkIHJlc291cmNlU3RhdGUoRXJyb3JTdHJpbmcqLCBjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJp
bmcmLCBSZWZQdHI8VHlwZUJ1aWxkZXI6OkNhbnZhczo6UmVzb3VyY2VTdGF0ZT4qKTsKKyAgICB2
b2lkIHJlcGxheVRyYWNlTG9nKEVycm9yU3RyaW5nKiwgY29uc3QgVHlwZUJ1aWxkZXI6OkNhbnZh
czo6VHJhY2VMb2dJZCYsIGludCwgUmVmUHRyPFR5cGVCdWlsZGVyOjpDYW52YXM6OlJlc291cmNl
U3RhdGU+Kik7CisgICAgdm9pZCByZXNvdXJjZUluZm8oRXJyb3JTdHJpbmcqLCBjb25zdCBUeXBl
QnVpbGRlcjo6Q2FudmFzOjpSZXNvdXJjZUlkJiwgUmVmUHRyPFR5cGVCdWlsZGVyOjpDYW52YXM6
OlJlc291cmNlSW5mbz4qKTsKKyAgICB2b2lkIHJlc291cmNlU3RhdGUoRXJyb3JTdHJpbmcqLCBj
b25zdCBUeXBlQnVpbGRlcjo6Q2FudmFzOjpUcmFjZUxvZ0lkJiwgY29uc3QgVHlwZUJ1aWxkZXI6
OkNhbnZhczo6UmVzb3VyY2VJZCYsIFJlZlB0cjxUeXBlQnVpbGRlcjo6Q2FudmFzOjpSZXNvdXJj
ZVN0YXRlPiopOwogCiBwcml2YXRlOgogICAgIFNjcmlwdE9iamVjdCBjYWxsV3JhcENvbnRleHRG
dW5jdGlvbihjb25zdCBTdHJpbmcmLCBjb25zdCBTY3JpcHRPYmplY3QmKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbiBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgppbmRleCA3Y2E5YzZhZTk4MGUzZGE5MmQ2YWUzMjdh
YjQ3Y2VkYzA4MjA5Mzk1Li4xYTU4ZDNmZjYxM2NlZWNhOTI4ODU0YzdmODhjOTgxNTZmMDU1NDI3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCkBAIC0zNDAwLDYgKzM0
MDAsMTQgQEAKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJmcmFtZUlkIiwgIiRyZWYi
OiAiTmV0d29yay5GcmFtZUlkIiwgImRlc2NyaXB0aW9uIjogIklkZW50aWZpZXIgb2YgdGhlIGZy
YW1lIGNvbnRhaW5pbmcgYSBjYW52YXMgd2l0aCBhIGNvbnRleHQuIiB9CiAgICAgICAgICAgICAg
ICAgXSwKICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRmlyZWQgd2hlbiBhIGNhbnZh
cyBjb250ZXh0IGhhcyBiZWVuIGNyZWF0ZWQgaW4gdGhlIGdpdmVuIGZyYW1lLiBUaGUgY29udGV4
dCBtYXkgbm90IGJlIGluc3RydW1lbnRlZCAoc2VlIGhhc1VuaW5zdHJ1bWVudGVkQ2FudmFzZXMg
Y29tbWFuZCkuIgorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
ICAibmFtZSI6ICJ0cmFjZUxvZ3NSZW1vdmVkIiwKKyAgICAgICAgICAgICAgICAicGFyYW1ldGVy
cyI6IFsKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJmcmFtZUlkIiwgIiRyZWYiOiAi
TmV0d29yay5GcmFtZUlkIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIklmIGdp
dmVuLCB0cmFjZSBsb2dzIGZyb20gdGhlIGdpdmVuIGZyYW1lIHdlcmUgcmVtb3ZlZC4iIH0sCisg
ICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAidHJhY2VMb2dJZCIsICIkcmVmIjogIlRyYWNl
TG9nSWQiLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiSWYgZ2l2ZW4sIHRyYWNl
IGxvZyB3aXRoIHRoZSBnaXZlbiBJRCB3YXMgcmVtb3ZlZC4iIH0KKyAgICAgICAgICAgICAgICBd
LAorICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJGaXJlZCB3aGVuIGEgc2V0IG9mIHRy
YWNlIGxvZ3Mgd2VyZSByZW1vdmVkIGZyb20gdGhlIGJhY2tlbmQuIElmIG5vIHBhcmFtZXRlcnMg
YXJlIGdpdmVuLCBhbGwgdHJhY2UgbG9ncyB3ZXJlIHJlbW92ZWQuIgogICAgICAgICAgICAgfQog
ICAgICAgICBdCiAgICAgfSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JDYW52YXNBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yQ2FudmFzQWdlbnQuY3BwCmluZGV4IGNhYzM5NzY2MWVjNWMzNWQ2YjI0NTgyNjYwYjVkZWM4
NTQwMTEyMDguLmI5Y2VmOGY2MWQ1ODBhOGJmMTZkZTcxMWE4MTU1OTExY2NiZjAyNDMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDYW52YXNBZ2VudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNhbnZhc0FnZW50LmNwcApA
QCAtNTEsNiArNTEsOCBAQAogI2luY2x1ZGUgIlNjcmlwdFByb2ZpbGVyLmgiCiAjaW5jbHVkZSAi
U2NyaXB0U3RhdGUuaCIKIAordXNpbmcgV2ViQ29yZTo6VHlwZUJ1aWxkZXI6OkFycmF5OwordXNp
bmcgV2ViQ29yZTo6VHlwZUJ1aWxkZXI6OkNhbnZhczo6UmVzb3VyY2VJZDsKIHVzaW5nIFdlYkNv
cmU6OlR5cGVCdWlsZGVyOjpDYW52YXM6OlJlc291cmNlSW5mbzsKIHVzaW5nIFdlYkNvcmU6OlR5
cGVCdWlsZGVyOjpDYW52YXM6OlJlc291cmNlU3RhdGU7CiB1c2luZyBXZWJDb3JlOjpUeXBlQnVp
bGRlcjo6Q2FudmFzOjpUcmFjZUxvZzsKQEAgLTExNCw3ICsxMTYsNyBAQCB2b2lkIEluc3BlY3Rv
ckNhbnZhc0FnZW50OjpkaXNhYmxlKEVycm9yU3RyaW5nKikKICAgICBtX2ZyYW1lc1dpdGhVbmlu
c3RydW1lbnRlZENhbnZhc2VzLmNsZWFyKCk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yQ2FudmFzQWdl
bnQ6OmRyb3BUcmFjZUxvZyhFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGNvbnN0IFN0cmluZyYg
dHJhY2VMb2dJZCkKK3ZvaWQgSW5zcGVjdG9yQ2FudmFzQWdlbnQ6OmRyb3BUcmFjZUxvZyhFcnJv
clN0cmluZyogZXJyb3JTdHJpbmcsIGNvbnN0IFRyYWNlTG9nSWQmIHRyYWNlTG9nSWQpCiB7CiAg
ICAgSW5qZWN0ZWRTY3JpcHRDYW52YXNNb2R1bGUgbW9kdWxlID0gaW5qZWN0ZWRTY3JpcHRDYW52
YXNNb2R1bGUoZXJyb3JTdHJpbmcsIHRyYWNlTG9nSWQpOwogICAgIGlmICghbW9kdWxlLmhhc05v
VmFsdWUoKSkKQEAgLTE0OCwzNSArMTUwLDM1IEBAIHZvaWQgSW5zcGVjdG9yQ2FudmFzQWdlbnQ6
OnN0YXJ0Q2FwdHVyaW5nKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgY29uc3QgRnJhbWVJCiAg
ICAgICAgIG1vZHVsZS5zdGFydENhcHR1cmluZyhlcnJvclN0cmluZywgdHJhY2VMb2dJZCk7CiB9
CiAKLXZvaWQgSW5zcGVjdG9yQ2FudmFzQWdlbnQ6OnN0b3BDYXB0dXJpbmcoRXJyb3JTdHJpbmcq
IGVycm9yU3RyaW5nLCBjb25zdCBTdHJpbmcmIHRyYWNlTG9nSWQpCit2b2lkIEluc3BlY3RvckNh
bnZhc0FnZW50OjpzdG9wQ2FwdHVyaW5nKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgY29uc3Qg
VHJhY2VMb2dJZCYgdHJhY2VMb2dJZCkKIHsKICAgICBJbmplY3RlZFNjcmlwdENhbnZhc01vZHVs
ZSBtb2R1bGUgPSBpbmplY3RlZFNjcmlwdENhbnZhc01vZHVsZShlcnJvclN0cmluZywgdHJhY2VM
b2dJZCk7CiAgICAgaWYgKCFtb2R1bGUuaGFzTm9WYWx1ZSgpKQogICAgICAgICBtb2R1bGUuc3Rv
cENhcHR1cmluZyhlcnJvclN0cmluZywgdHJhY2VMb2dJZCk7CiB9CiAKLXZvaWQgSW5zcGVjdG9y
Q2FudmFzQWdlbnQ6OmdldFRyYWNlTG9nKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgY29uc3Qg
U3RyaW5nJiB0cmFjZUxvZ0lkLCBjb25zdCBpbnQqIHN0YXJ0T2Zmc2V0LCBjb25zdCBpbnQqIG1h
eExlbmd0aCwgUmVmUHRyPFRyYWNlTG9nPiYgdHJhY2VMb2cpCit2b2lkIEluc3BlY3RvckNhbnZh
c0FnZW50OjpnZXRUcmFjZUxvZyhFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGNvbnN0IFRyYWNl
TG9nSWQmIHRyYWNlTG9nSWQsIGNvbnN0IGludCogc3RhcnRPZmZzZXQsIGNvbnN0IGludCogbWF4
TGVuZ3RoLCBSZWZQdHI8VHJhY2VMb2c+JiB0cmFjZUxvZykKIHsKICAgICBJbmplY3RlZFNjcmlw
dENhbnZhc01vZHVsZSBtb2R1bGUgPSBpbmplY3RlZFNjcmlwdENhbnZhc01vZHVsZShlcnJvclN0
cmluZywgdHJhY2VMb2dJZCk7CiAgICAgaWYgKCFtb2R1bGUuaGFzTm9WYWx1ZSgpKQogICAgICAg
ICBtb2R1bGUudHJhY2VMb2coZXJyb3JTdHJpbmcsIHRyYWNlTG9nSWQsIHN0YXJ0T2Zmc2V0LCBt
YXhMZW5ndGgsICZ0cmFjZUxvZyk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yQ2FudmFzQWdlbnQ6OnJl
cGxheVRyYWNlTG9nKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgY29uc3QgU3RyaW5nJiB0cmFj
ZUxvZ0lkLCBpbnQgc3RlcE5vLCBSZWZQdHI8UmVzb3VyY2VTdGF0ZT4mIHJlc3VsdCkKK3ZvaWQg
SW5zcGVjdG9yQ2FudmFzQWdlbnQ6OnJlcGxheVRyYWNlTG9nKEVycm9yU3RyaW5nKiBlcnJvclN0
cmluZywgY29uc3QgVHJhY2VMb2dJZCYgdHJhY2VMb2dJZCwgaW50IHN0ZXBObywgUmVmUHRyPFJl
c291cmNlU3RhdGU+JiByZXN1bHQpCiB7CiAgICAgSW5qZWN0ZWRTY3JpcHRDYW52YXNNb2R1bGUg
bW9kdWxlID0gaW5qZWN0ZWRTY3JpcHRDYW52YXNNb2R1bGUoZXJyb3JTdHJpbmcsIHRyYWNlTG9n
SWQpOwogICAgIGlmICghbW9kdWxlLmhhc05vVmFsdWUoKSkKICAgICAgICAgbW9kdWxlLnJlcGxh
eVRyYWNlTG9nKGVycm9yU3RyaW5nLCB0cmFjZUxvZ0lkLCBzdGVwTm8sICZyZXN1bHQpOwogfQog
Ci12b2lkIEluc3BlY3RvckNhbnZhc0FnZW50OjpnZXRSZXNvdXJjZUluZm8oRXJyb3JTdHJpbmcq
IGVycm9yU3RyaW5nLCBjb25zdCBTdHJpbmcmIHJlc291cmNlSWQsIFJlZlB0cjxSZXNvdXJjZUlu
Zm8+JiByZXN1bHQpCit2b2lkIEluc3BlY3RvckNhbnZhc0FnZW50OjpnZXRSZXNvdXJjZUluZm8o
RXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBjb25zdCBSZXNvdXJjZUlkJiByZXNvdXJjZUlkLCBS
ZWZQdHI8UmVzb3VyY2VJbmZvPiYgcmVzdWx0KQogewogICAgIEluamVjdGVkU2NyaXB0Q2FudmFz
TW9kdWxlIG1vZHVsZSA9IGluamVjdGVkU2NyaXB0Q2FudmFzTW9kdWxlKGVycm9yU3RyaW5nLCBy
ZXNvdXJjZUlkKTsKICAgICBpZiAoIW1vZHVsZS5oYXNOb1ZhbHVlKCkpCiAgICAgICAgIG1vZHVs
ZS5yZXNvdXJjZUluZm8oZXJyb3JTdHJpbmcsIHJlc291cmNlSWQsICZyZXN1bHQpOwogfQogCi12
b2lkIEluc3BlY3RvckNhbnZhc0FnZW50OjpnZXRSZXNvdXJjZVN0YXRlKEVycm9yU3RyaW5nKiBl
cnJvclN0cmluZywgY29uc3QgU3RyaW5nJiB0cmFjZUxvZ0lkLCBjb25zdCBTdHJpbmcmIHJlc291
cmNlSWQsIFJlZlB0cjxSZXNvdXJjZVN0YXRlPiYgcmVzdWx0KQordm9pZCBJbnNwZWN0b3JDYW52
YXNBZ2VudDo6Z2V0UmVzb3VyY2VTdGF0ZShFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGNvbnN0
IFRyYWNlTG9nSWQmIHRyYWNlTG9nSWQsIGNvbnN0IFJlc291cmNlSWQmIHJlc291cmNlSWQsIFJl
ZlB0cjxSZXNvdXJjZVN0YXRlPiYgcmVzdWx0KQogewogICAgIEluamVjdGVkU2NyaXB0Q2FudmFz
TW9kdWxlIG1vZHVsZSA9IGluamVjdGVkU2NyaXB0Q2FudmFzTW9kdWxlKGVycm9yU3RyaW5nLCB0
cmFjZUxvZ0lkKTsKICAgICBpZiAoIW1vZHVsZS5oYXNOb1ZhbHVlKCkpCkBAIC0zMDIsMTEgKzMw
NCwxNiBAQCB2b2lkIEluc3BlY3RvckNhbnZhc0FnZW50OjpmcmFtZU5hdmlnYXRlZChGcmFtZSog
ZnJhbWUpCiB7CiAgICAgaWYgKCFtX2VuYWJsZWQpCiAgICAgICAgIHJldHVybjsKLSAgICBpZiAo
ZnJhbWUgPT0gbV9wYWdlQWdlbnQtPm1haW5GcmFtZSgpKQorICAgIGlmIChmcmFtZSA9PSBtX3Bh
Z2VBZ2VudC0+bWFpbkZyYW1lKCkpIHsKICAgICAgICAgbV9mcmFtZXNXaXRoVW5pbnN0cnVtZW50
ZWRDYW52YXNlcy5jbGVhcigpOwotICAgIGVsc2UgeworICAgICAgICBtX2Zyb250ZW5kLT50cmFj
ZUxvZ3NSZW1vdmVkKDAsIDApOworICAgIH0gZWxzZSB7CiAgICAgICAgIHdoaWxlIChmcmFtZSkg
ewogICAgICAgICAgICAgbV9mcmFtZXNXaXRoVW5pbnN0cnVtZW50ZWRDYW52YXNlcy5yZW1vdmUo
ZnJhbWUpOworICAgICAgICAgICAgaWYgKG1fcGFnZUFnZW50LT5oYXNJZEZvckZyYW1lKGZyYW1l
KSkgeworICAgICAgICAgICAgICAgIFN0cmluZyBmcmFtZUlkID0gbV9wYWdlQWdlbnQtPmZyYW1l
SWQoZnJhbWUpOworICAgICAgICAgICAgICAgIG1fZnJvbnRlbmQtPnRyYWNlTG9nc1JlbW92ZWQo
JmZyYW1lSWQsIDApOworICAgICAgICAgICAgfQogICAgICAgICAgICAgZnJhbWUgPSBmcmFtZS0+
dHJlZSgpLT50cmF2ZXJzZU5leHQoKTsKICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDYW52YXNBZ2VudC5oIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNhbnZhc0FnZW50LmgKaW5kZXggMWNmMWI1OGY2YWU3
OTU2ZGYxNTAxNWNlZmY0ZmQwOTNkMzNkZjQxMi4uNmI2MjZmY2MwZjg2NmVmZDJlZDc2YTg2NDUz
Mjk0NDU4NzgzMjlhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckNhbnZhc0FnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckNhbnZhc0FnZW50LmgKQEAgLTc5LDE1ICs3OSwxNSBAQCBwdWJsaWM6CiAgICAgLy8gQ2FsbGVk
IGZyb20gdGhlIGZyb250LWVuZC4KICAgICB2aXJ0dWFsIHZvaWQgZW5hYmxlKEVycm9yU3RyaW5n
Kik7CiAgICAgdmlydHVhbCB2b2lkIGRpc2FibGUoRXJyb3JTdHJpbmcqKTsKLSAgICB2aXJ0dWFs
IHZvaWQgZHJvcFRyYWNlTG9nKEVycm9yU3RyaW5nKiwgY29uc3QgU3RyaW5nJik7CisgICAgdmly
dHVhbCB2b2lkIGRyb3BUcmFjZUxvZyhFcnJvclN0cmluZyosIGNvbnN0IFR5cGVCdWlsZGVyOjpD
YW52YXM6OlRyYWNlTG9nSWQmKTsKICAgICB2aXJ0dWFsIHZvaWQgaGFzVW5pbnN0cnVtZW50ZWRD
YW52YXNlcyhFcnJvclN0cmluZyosIGJvb2wqKTsKICAgICB2aXJ0dWFsIHZvaWQgY2FwdHVyZUZy
YW1lKEVycm9yU3RyaW5nKiwgY29uc3QgVHlwZUJ1aWxkZXI6Ok5ldHdvcms6OkZyYW1lSWQqLCBU
eXBlQnVpbGRlcjo6Q2FudmFzOjpUcmFjZUxvZ0lkKik7CiAgICAgdmlydHVhbCB2b2lkIHN0YXJ0
Q2FwdHVyaW5nKEVycm9yU3RyaW5nKiwgY29uc3QgVHlwZUJ1aWxkZXI6Ok5ldHdvcms6OkZyYW1l
SWQqLCBUeXBlQnVpbGRlcjo6Q2FudmFzOjpUcmFjZUxvZ0lkKik7Ci0gICAgdmlydHVhbCB2b2lk
IHN0b3BDYXB0dXJpbmcoRXJyb3JTdHJpbmcqLCBjb25zdCBTdHJpbmcmKTsKLSAgICB2aXJ0dWFs
IHZvaWQgZ2V0VHJhY2VMb2coRXJyb3JTdHJpbmcqLCBjb25zdCBTdHJpbmcmLCBjb25zdCBpbnQq
LCBjb25zdCBpbnQqLCBSZWZQdHI8VHlwZUJ1aWxkZXI6OkNhbnZhczo6VHJhY2VMb2c+Jik7Ci0g
ICAgdmlydHVhbCB2b2lkIHJlcGxheVRyYWNlTG9nKEVycm9yU3RyaW5nKiwgY29uc3QgU3RyaW5n
JiwgaW50LCBSZWZQdHI8VHlwZUJ1aWxkZXI6OkNhbnZhczo6UmVzb3VyY2VTdGF0ZT4mKTsKLSAg
ICB2aXJ0dWFsIHZvaWQgZ2V0UmVzb3VyY2VJbmZvKEVycm9yU3RyaW5nKiwgY29uc3QgU3RyaW5n
JiwgUmVmUHRyPFR5cGVCdWlsZGVyOjpDYW52YXM6OlJlc291cmNlSW5mbz4mKTsKLSAgICB2aXJ0
dWFsIHZvaWQgZ2V0UmVzb3VyY2VTdGF0ZShFcnJvclN0cmluZyosIGNvbnN0IFN0cmluZyYsIGNv
bnN0IFN0cmluZyYsIFJlZlB0cjxUeXBlQnVpbGRlcjo6Q2FudmFzOjpSZXNvdXJjZVN0YXRlPiYp
OworICAgIHZpcnR1YWwgdm9pZCBzdG9wQ2FwdHVyaW5nKEVycm9yU3RyaW5nKiwgY29uc3QgVHlw
ZUJ1aWxkZXI6OkNhbnZhczo6VHJhY2VMb2dJZCYpOworICAgIHZpcnR1YWwgdm9pZCBnZXRUcmFj
ZUxvZyhFcnJvclN0cmluZyosIGNvbnN0IFR5cGVCdWlsZGVyOjpDYW52YXM6OlRyYWNlTG9nSWQm
LCBjb25zdCBpbnQqLCBjb25zdCBpbnQqLCBSZWZQdHI8VHlwZUJ1aWxkZXI6OkNhbnZhczo6VHJh
Y2VMb2c+Jik7CisgICAgdmlydHVhbCB2b2lkIHJlcGxheVRyYWNlTG9nKEVycm9yU3RyaW5nKiwg
Y29uc3QgVHlwZUJ1aWxkZXI6OkNhbnZhczo6VHJhY2VMb2dJZCYsIGludCwgUmVmUHRyPFR5cGVC
dWlsZGVyOjpDYW52YXM6OlJlc291cmNlU3RhdGU+Jik7CisgICAgdmlydHVhbCB2b2lkIGdldFJl
c291cmNlSW5mbyhFcnJvclN0cmluZyosIGNvbnN0IFR5cGVCdWlsZGVyOjpDYW52YXM6OlJlc291
cmNlSWQmLCBSZWZQdHI8VHlwZUJ1aWxkZXI6OkNhbnZhczo6UmVzb3VyY2VJbmZvPiYpOworICAg
IHZpcnR1YWwgdm9pZCBnZXRSZXNvdXJjZVN0YXRlKEVycm9yU3RyaW5nKiwgY29uc3QgVHlwZUJ1
aWxkZXI6OkNhbnZhczo6VHJhY2VMb2dJZCYsIGNvbnN0IFR5cGVCdWlsZGVyOjpDYW52YXM6OlJl
c291cmNlSWQmLCBSZWZQdHI8VHlwZUJ1aWxkZXI6OkNhbnZhczo6UmVzb3VyY2VTdGF0ZT4mKTsK
IAogcHJpdmF0ZToKICAgICBJbnNwZWN0b3JDYW52YXNBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRz
KiwgSW5zcGVjdG9yQ29tcG9zaXRlU3RhdGUqLCBJbnNwZWN0b3JQYWdlQWdlbnQqLCBJbmplY3Rl
ZFNjcmlwdE1hbmFnZXIqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JQYWdlQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
clBhZ2VBZ2VudC5jcHAKaW5kZXggZDJiNzEwODE0MjU2ZThkN2Q2NTZmODg2MDdkNzFhNzQzNjE1
N2JjNi4uMTJmY2Q3ZjQxNjVkNjY3NThiYzA4MTVkMDIyZTQzZDdlZGU1NGJjYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5jcHAKQEAgLTg3OSw2
ICs4NzksMTEgQEAgU3RyaW5nIEluc3BlY3RvclBhZ2VBZ2VudDo6ZnJhbWVJZChGcmFtZSogZnJh
bWUpCiAgICAgcmV0dXJuIGlkZW50aWZpZXI7CiB9CiAKK2Jvb2wgSW5zcGVjdG9yUGFnZUFnZW50
OjpoYXNJZEZvckZyYW1lKEZyYW1lKiBmcmFtZSkgY29uc3QKK3sKKyAgICByZXR1cm4gZnJhbWUg
JiYgbV9mcmFtZVRvSWRlbnRpZmllci5jb250YWlucyhmcmFtZSk7Cit9CisKIFN0cmluZyBJbnNw
ZWN0b3JQYWdlQWdlbnQ6OmxvYWRlcklkKERvY3VtZW50TG9hZGVyKiBsb2FkZXIpCiB7CiAgICAg
aWYgKCFsb2FkZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yUGFnZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFn
ZW50LmgKaW5kZXggZGM4MmE5NzA1MzQyOThhMGM4OWMxYmM3NGZkYThjYTJhNWEyMjM0ZS4uNjFk
NmIwNDk3NzFlYmYzOWVkOTIwYzNiMmM4ZDc2NmY4M2Y5NWE4ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuaApAQCAtMTY1LDYgKzE2NSw3IEBAIHB1
YmxpYzoKICAgICBTdHJpbmcgY3JlYXRlSWRlbnRpZmllcigpOwogICAgIEZyYW1lKiBmcmFtZUZv
cklkKGNvbnN0IFN0cmluZyYgZnJhbWVJZCk7CiAgICAgU3RyaW5nIGZyYW1lSWQoRnJhbWUqKTsK
KyAgICBib29sIGhhc0lkRm9yRnJhbWUoRnJhbWUqKSBjb25zdDsKICAgICBTdHJpbmcgbG9hZGVy
SWQoRG9jdW1lbnRMb2FkZXIqKTsKICAgICBGcmFtZSogYXNzZXJ0RnJhbWUoRXJyb3JTdHJpbmcq
LCBjb25zdCBTdHJpbmcmIGZyYW1lSWQpOwogICAgIFN0cmluZyBzY3JpcHRQcmVwcm9jZXNzb3Io
KSB7IHJldHVybiBtX3NjcmlwdFByZXByb2Nlc3NvcjsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DYW52YXNQcm9maWxlVmlldy5qcyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ2FudmFzUHJvZmlsZVZpZXcuanMKaW5kZXggYTNi
ZGVmYWNiZWQ0YzBjMDE0ZWYyZGRjYzY2NDQyNTI1YjE1NzA5Zi4uNzkyNTY3ZjRhMjE1NTQ3MTdm
MzRjMzExNGZjNmU5ZWViZTVjMTFmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9DYW52YXNQcm9maWxlVmlldy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0NhbnZhc1Byb2ZpbGVWaWV3LmpzCkBAIC00NTYsNyArNDU2LDgg
QEAgV2ViSW5zcGVjdG9yLkNhbnZhc1Byb2ZpbGVUeXBlLnByb3RvdHlwZSA9IHsKICAgICAgKi8K
ICAgICBfcnVuU2luZ2xlRnJhbWVDYXB0dXJpbmc6IGZ1bmN0aW9uKHByb2ZpbGVzUGFuZWwpCiAg
ICAgewotICAgICAgICBDYW52YXNBZ2VudC5jYXB0dXJlRnJhbWUodGhpcy5fc2VsZWN0ZWRGcmFt
ZUlkKCksIHRoaXMuX2RpZFN0YXJ0Q2FwdHVyaW5nRnJhbWUuYmluZCh0aGlzLCBwcm9maWxlc1Bh
bmVsKSk7CisgICAgICAgIHZhciBmcmFtZUlkID0gdGhpcy5fc2VsZWN0ZWRGcmFtZUlkKCk7Cisg
ICAgICAgIENhbnZhc0FnZW50LmNhcHR1cmVGcmFtZShmcmFtZUlkLCB0aGlzLl9kaWRTdGFydENh
cHR1cmluZ0ZyYW1lLmJpbmQodGhpcywgcHJvZmlsZXNQYW5lbCwgZnJhbWVJZCkpOwogICAgIH0s
CiAKICAgICAvKioKQEAgLTQ2NCw3ICs0NjUsOCBAQCBXZWJJbnNwZWN0b3IuQ2FudmFzUHJvZmls
ZVR5cGUucHJvdG90eXBlID0gewogICAgICAqLwogICAgIF9zdGFydEZyYW1lQ2FwdHVyaW5nOiBm
dW5jdGlvbihwcm9maWxlc1BhbmVsKQogICAgIHsKLSAgICAgICAgQ2FudmFzQWdlbnQuc3RhcnRD
YXB0dXJpbmcodGhpcy5fc2VsZWN0ZWRGcmFtZUlkKCksIHRoaXMuX2RpZFN0YXJ0Q2FwdHVyaW5n
RnJhbWUuYmluZCh0aGlzLCBwcm9maWxlc1BhbmVsKSk7CisgICAgICAgIHZhciBmcmFtZUlkID0g
dGhpcy5fc2VsZWN0ZWRGcmFtZUlkKCk7CisgICAgICAgIENhbnZhc0FnZW50LnN0YXJ0Q2FwdHVy
aW5nKGZyYW1lSWQsIHRoaXMuX2RpZFN0YXJ0Q2FwdHVyaW5nRnJhbWUuYmluZCh0aGlzLCBwcm9m
aWxlc1BhbmVsLCBmcmFtZUlkKSk7CiAgICAgfSwKIAogICAgIF9zdG9wRnJhbWVDYXB0dXJpbmc6
IGZ1bmN0aW9uKCkKQEAgLTQ4MywxNCArNDg1LDE1IEBAIFdlYkluc3BlY3Rvci5DYW52YXNQcm9m
aWxlVHlwZS5wcm90b3R5cGUgPSB7CiAKICAgICAvKioKICAgICAgKiBAcGFyYW0ge1dlYkluc3Bl
Y3Rvci5Qcm9maWxlc1BhbmVsfSBwcm9maWxlc1BhbmVsCisgICAgICogQHBhcmFtIHtzdHJpbmd8
dW5kZWZpbmVkfSBmcmFtZUlkCiAgICAgICogQHBhcmFtIHs/UHJvdG9jb2wuRXJyb3J9IGVycm9y
CiAgICAgICogQHBhcmFtIHtDYW52YXNBZ2VudC5UcmFjZUxvZ0lkfSB0cmFjZUxvZ0lkCiAgICAg
ICovCi0gICAgX2RpZFN0YXJ0Q2FwdHVyaW5nRnJhbWU6IGZ1bmN0aW9uKHByb2ZpbGVzUGFuZWws
IGVycm9yLCB0cmFjZUxvZ0lkKQorICAgIF9kaWRTdGFydENhcHR1cmluZ0ZyYW1lOiBmdW5jdGlv
bihwcm9maWxlc1BhbmVsLCBmcmFtZUlkLCBlcnJvciwgdHJhY2VMb2dJZCkKICAgICB7CiAgICAg
ICAgIGlmIChlcnJvciB8fCB0aGlzLl9sYXN0UHJvZmlsZUhlYWRlciAmJiB0aGlzLl9sYXN0UHJv
ZmlsZUhlYWRlci50cmFjZUxvZ0lkKCkgPT09IHRyYWNlTG9nSWQpCiAgICAgICAgICAgICByZXR1
cm47Ci0gICAgICAgIHZhciBwcm9maWxlSGVhZGVyID0gbmV3IFdlYkluc3BlY3Rvci5DYW52YXNQ
cm9maWxlSGVhZGVyKHRoaXMsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiVHJhY2UgTG9nICVkIiwg
dGhpcy5fbmV4dFByb2ZpbGVVaWQpLCB0aGlzLl9uZXh0UHJvZmlsZVVpZCwgdHJhY2VMb2dJZCk7
CisgICAgICAgIHZhciBwcm9maWxlSGVhZGVyID0gbmV3IFdlYkluc3BlY3Rvci5DYW52YXNQcm9m
aWxlSGVhZGVyKHRoaXMsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiVHJhY2UgTG9nICVkIiwgdGhp
cy5fbmV4dFByb2ZpbGVVaWQpLCB0aGlzLl9uZXh0UHJvZmlsZVVpZCwgdHJhY2VMb2dJZCwgZnJh
bWVJZCk7CiAgICAgICAgICsrdGhpcy5fbmV4dFByb2ZpbGVVaWQ7CiAgICAgICAgIHRoaXMuX2xh
c3RQcm9maWxlSGVhZGVyID0gcHJvZmlsZUhlYWRlcjsKICAgICAgICAgcHJvZmlsZXNQYW5lbC5h
ZGRQcm9maWxlSGVhZGVyKHByb2ZpbGVIZWFkZXIpOwpAQCAtNjQwLDYgKzY0MywyOCBAQCBXZWJJ
bnNwZWN0b3IuQ2FudmFzUHJvZmlsZVR5cGUucHJvdG90eXBlID0gewogICAgIH0sCiAKICAgICAv
KioKKyAgICAgKiBAcGFyYW0ge05ldHdvcmtBZ2VudC5GcmFtZUlkPX0gZnJhbWVJZAorICAgICAq
IEBwYXJhbSB7Q2FudmFzQWdlbnQuVHJhY2VMb2dJZD19IHRyYWNlTG9nSWQKKyAgICAgKi8KKyAg
ICBfdHJhY2VMb2dzUmVtb3ZlZDogZnVuY3Rpb24oZnJhbWVJZCwgdHJhY2VMb2dJZCkKKyAgICB7
CisgICAgICAgIHZhciBzaWRlYmFyRWxlbWVudHNUb0RlbGV0ZSA9IFtdOworICAgICAgICB2YXIg
c2lkZWJhckVsZW1lbnRzID0gLyoqIEB0eXBlIHshQXJyYXkuPFdlYkluc3BlY3Rvci5Qcm9maWxl
U2lkZWJhclRyZWVFbGVtZW50Pn0gKi8gKCh0aGlzLnRyZWVFbGVtZW50ICYmIHRoaXMudHJlZUVs
ZW1lbnQuY2hpbGRyZW4pIHx8IFtdKTsKKyAgICAgICAgZm9yICh2YXIgaSA9IDAsIG4gPSBzaWRl
YmFyRWxlbWVudHMubGVuZ3RoOyBpIDwgbjsgKytpKSB7CisgICAgICAgICAgICB2YXIgaGVhZGVy
ID0gLyoqIEB0eXBlIHtXZWJJbnNwZWN0b3IuQ2FudmFzUHJvZmlsZUhlYWRlcn0gKi8gKHNpZGVi
YXJFbGVtZW50c1tpXS5wcm9maWxlKTsKKyAgICAgICAgICAgIGlmICghaGVhZGVyKQorICAgICAg
ICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgaWYgKGZyYW1lSWQgJiYgZnJhbWVJZCAh
PT0gaGVhZGVyLmZyYW1lSWQoKSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAg
ICAgIGlmICh0cmFjZUxvZ0lkICYmIHRyYWNlTG9nSWQgIT09IGhlYWRlci50cmFjZUxvZ0lkKCkp
CisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICBzaWRlYmFyRWxlbWVudHNU
b0RlbGV0ZS5wdXNoKHNpZGViYXJFbGVtZW50c1tpXSk7CisgICAgICAgIH0KKyAgICAgICAgZm9y
ICh2YXIgaSA9IDAsIG4gPSBzaWRlYmFyRWxlbWVudHNUb0RlbGV0ZS5sZW5ndGg7IGkgPCBuOyAr
K2kpCisgICAgICAgICAgICBzaWRlYmFyRWxlbWVudHNUb0RlbGV0ZVtpXS5vbmRlbGV0ZSgpOwor
ICAgIH0sCisKKyAgICAvKioKICAgICAgKiBAcmV0dXJuIHtzdHJpbmd8dW5kZWZpbmVkfQogICAg
ICAqLwogICAgIF9zZWxlY3RlZEZyYW1lSWQ6IGZ1bmN0aW9uKCkKQEAgLTY3NSw2ICs3MDAsMTUg
QEAgV2ViSW5zcGVjdG9yLkNhbnZhc0Rpc3BhdGNoZXIucHJvdG90eXBlID0gewogICAgIGNvbnRl
eHRDcmVhdGVkOiBmdW5jdGlvbihmcmFtZUlkKQogICAgIHsKICAgICAgICAgdGhpcy5fcHJvZmls
ZVR5cGUuX2NvbnRleHRDcmVhdGVkKGZyYW1lSWQpOworICAgIH0sCisKKyAgICAvKioKKyAgICAg
KiBAcGFyYW0ge05ldHdvcmtBZ2VudC5GcmFtZUlkPX0gZnJhbWVJZAorICAgICAqIEBwYXJhbSB7
Q2FudmFzQWdlbnQuVHJhY2VMb2dJZD19IHRyYWNlTG9nSWQKKyAgICAgKi8KKyAgICB0cmFjZUxv
Z3NSZW1vdmVkOiBmdW5jdGlvbihmcmFtZUlkLCB0cmFjZUxvZ0lkKQorICAgIHsKKyAgICAgICAg
dGhpcy5fcHJvZmlsZVR5cGUuX3RyYWNlTG9nc1JlbW92ZWQoZnJhbWVJZCwgdHJhY2VMb2dJZCk7
CiAgICAgfQogfQogCkBAIC02ODUsMTIgKzcxOSwxNCBAQCBXZWJJbnNwZWN0b3IuQ2FudmFzRGlz
cGF0Y2hlci5wcm90b3R5cGUgPSB7CiAgKiBAcGFyYW0ge3N0cmluZ30gdGl0bGUKICAqIEBwYXJh
bSB7bnVtYmVyPX0gdWlkCiAgKiBAcGFyYW0ge0NhbnZhc0FnZW50LlRyYWNlTG9nSWQ9fSB0cmFj
ZUxvZ0lkCisgKiBAcGFyYW0ge05ldHdvcmtBZ2VudC5GcmFtZUlkPX0gZnJhbWVJZAogICovCi1X
ZWJJbnNwZWN0b3IuQ2FudmFzUHJvZmlsZUhlYWRlciA9IGZ1bmN0aW9uKHR5cGUsIHRpdGxlLCB1
aWQsIHRyYWNlTG9nSWQpCitXZWJJbnNwZWN0b3IuQ2FudmFzUHJvZmlsZUhlYWRlciA9IGZ1bmN0
aW9uKHR5cGUsIHRpdGxlLCB1aWQsIHRyYWNlTG9nSWQsIGZyYW1lSWQpCiB7CiAgICAgV2ViSW5z
cGVjdG9yLlByb2ZpbGVIZWFkZXIuY2FsbCh0aGlzLCB0eXBlLCB0aXRsZSwgdWlkKTsKICAgICAv
KiogQHR5cGUge0NhbnZhc0FnZW50LlRyYWNlTG9nSWR9ICovCiAgICAgdGhpcy5fdHJhY2VMb2dJ
ZCA9IHRyYWNlTG9nSWQgfHwgIiI7CisgICAgdGhpcy5fZnJhbWVJZCA9IGZyYW1lSWQ7CiAgICAg
dGhpcy5fYWxpdmUgPSB0cnVlOwogICAgIHRoaXMuX3RyYWNlTG9nU2l6ZSA9IDA7CiB9CkBAIC03
MDUsNyArNzQxLDE2IEBAIFdlYkluc3BlY3Rvci5DYW52YXNQcm9maWxlSGVhZGVyLnByb3RvdHlw
ZSA9IHsKICAgICB9LAogCiAgICAgLyoqCisgICAgICogQHJldHVybiB7TmV0d29ya0FnZW50LkZy
YW1lSWR8dW5kZWZpbmVkfQorICAgICAqLworICAgIGZyYW1lSWQ6IGZ1bmN0aW9uKCkKKyAgICB7
CisgICAgICAgIHJldHVybiB0aGlzLl9mcmFtZUlkOworICAgIH0sCisKKyAgICAvKioKICAgICAg
KiBAb3ZlcnJpZGUKKyAgICAgKiBAcmV0dXJuIHtXZWJJbnNwZWN0b3IuUHJvZmlsZVNpZGViYXJU
cmVlRWxlbWVudH0KICAgICAgKi8KICAgICBjcmVhdGVTaWRlYmFyVHJlZUVsZW1lbnQ6IGZ1bmN0
aW9uKCkKICAgICB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggOTJiMzdkNzZiODRmNTRhOGUwOWNmNWZmYWFiNWRjMDdiYTRm
ODRjNi4uZTkwMDRiMjU5MTc0NDJjNjRmY2M5NzJjZTQxZDRhZjhjZTU2MzdmMiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDEzIEBACisyMDEzLTAxLTMxICBBbmRyZXkgQWRhaWtpbiAgPGFhbmRyZXlAY2hyb21p
dW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFtDYW52YXNdIHJlbW92ZSBpbnZhbGlk
IGNhbnZhcyBwcm9maWxlIHRyYWNlIGxvZ3MgdXBvbiBmcmFtZSBuYXZpZ2F0aW9uCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDg0NTQKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9wcm9m
aWxlci9jYW52YXMtcHJvZmlsZXItdGVzdC5qczoKKyAgICAgICAgKGluaXRpYWxpemVfQ2FudmFz
V2ViR0xQcm9maWxlclRlc3QuSW5zcGVjdG9yVGVzdC5lbmFibGVDYW52YXNBZ2VudC5JbnNwZWN0
b3JCYWNrZW5kLnJlZ2lzdGVyQ2FudmFzRGlzcGF0Y2hlcik6CisKIDIwMTMtMDEtMzAgIEFuZHJl
eSBMdXNobmlrb3YgIDxsdXNobmlrb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IGltcGxlbWVudCBoaWdobGlnaHQgcmFuZ2UgQVBJCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvcHJvZmlsZXIvY2FudmFzLXByb2ZpbGVyLXRlc3QuanMgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvcHJvZmlsZXIvY2FudmFzLXByb2ZpbGVyLXRlc3QuanMKaW5kZXggOWM4
ODY2NWRiODkzMTIzNGExNzQ4NjkyNTBiYzg0NzUwNWUxMjc0OC4uZDZkNmE0MjBkOGIyYmIxZDJh
ZjZjNjQ0MmNiY2M5MzBiMGNiYWQyZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L3Byb2ZpbGVyL2NhbnZhcy1wcm9maWxlci10ZXN0LmpzCisrKyBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9wcm9maWxlci9jYW52YXMtcHJvZmlsZXItdGVzdC5qcwpAQCAtNSw3ICs1LDggQEAgSW5z
cGVjdG9yVGVzdC5lbmFibGVDYW52YXNBZ2VudCA9IGZ1bmN0aW9uKGNhbGxiYWNrKQogICAgIHZh
ciBkaXNwYXRjaGVyID0gSW5zcGVjdG9yQmFja2VuZC5fZG9tYWluRGlzcGF0Y2hlcnNbIkNhbnZh
cyJdOwogICAgIGlmICghZGlzcGF0Y2hlcikgewogICAgICAgICBJbnNwZWN0b3JCYWNrZW5kLnJl
Z2lzdGVyQ2FudmFzRGlzcGF0Y2hlcih7Ci0gICAgICAgICAgICBjb250ZXh0Q3JlYXRlZDogZnVu
Y3Rpb24oKSB7fQorICAgICAgICAgICAgY29udGV4dENyZWF0ZWQ6IGZ1bmN0aW9uKCkge30sCisg
ICAgICAgICAgICB0cmFjZUxvZ3NSZW1vdmVkOiBmdW5jdGlvbigpIHt9CiAgICAgICAgIH0pOwog
ICAgIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>