<?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>207646</bug_id>
          
          <creation_ts>2020-02-12 10:43:43 -0800</creation_ts>
          <short_desc>results.webkit.org: Link to result archives</short_desc>
          <delta_ts>2020-02-24 10:57:37 -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>Tools / Tests</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jonathan Bedard">jbedard</reporter>
          <assigned_to name="Jonathan Bedard">jbedard</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zhifei_fang</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1618098</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2020-02-12 10:43:43 -0800</bug_when>
    <thetext>After https://bugs.webkit.org/show_bug.cgi?id=207589, our result archives will be performant enough to link to.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1618148</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-02-12 11:57:18 -0800</bug_when>
    <thetext>&lt;rdar://problem/59395807&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1618158</commentid>
    <comment_count>2</comment_count>
      <attachid>390543</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2020-02-12 12:12:24 -0800</bug_when>
    <thetext>Created attachment 390543
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1618601</commentid>
    <comment_count>3</comment_count>
    <who name="Zhifei Fang">zhifei_fang</who>
    <bug_when>2020-02-13 11:09:36 -0800</bug_when>
    <thetext>I just have one high level comment, this seems very specific for archives, maybe we should consider a general suite config and make the archive router part of it? It will be easier to expand when we have more configs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1618665</commentid>
    <comment_count>4</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2020-02-13 12:55:06 -0800</bug_when>
    <thetext>(In reply to Zhifei Fang from comment #3)
&gt; I just have one high level comment, this seems very specific for archives,
&gt; maybe we should consider a general suite config and make the archive router
&gt; part of it? It will be easier to expand when we have more configs.

It is very specific to archives because nothing else actually requires configurations.

I could see configurations about which queues are collapsed by default, but we don&apos;t have a mechanism for that yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1618675</commentid>
    <comment_count>5</comment_count>
    <who name="Zhifei Fang">zhifei_fang</who>
    <bug_when>2020-02-13 13:14:30 -0800</bug_when>
    <thetext>unofficially r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1618679</commentid>
    <comment_count>6</comment_count>
    <who name="Zhifei Fang">zhifei_fang</who>
    <bug_when>2020-02-13 13:15:29 -0800</bug_when>
    <thetext>I don&apos;t think this will block this patch, we can develop one when we need
(In reply to Jonathan Bedard from comment #4)
&gt; (In reply to Zhifei Fang from comment #3)
&gt; &gt; I just have one high level comment, this seems very specific for archives,
&gt; &gt; maybe we should consider a general suite config and make the archive router
&gt; &gt; part of it? It will be easier to expand when we have more configs.
&gt; 
&gt; It is very specific to archives because nothing else actually requires
&gt; configurations.
&gt; 
&gt; I could see configurations about which queues are collapsed by default, but
&gt; we don&apos;t have a mechanism for that yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1622205</commentid>
    <comment_count>7</comment_count>
      <attachid>390543</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2020-02-24 09:31:38 -0800</bug_when>
    <thetext>Comment on attachment 390543
Patch

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

rs=me

&gt; Tools/ChangeLog:3
&gt; +        results.webki.org: Link to result archives

typo: webki.org</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1622218</commentid>
    <comment_count>8</comment_count>
      <attachid>391552</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2020-02-24 10:13:03 -0800</bug_when>
    <thetext>Created attachment 391552
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1622239</commentid>
    <comment_count>9</comment_count>
      <attachid>391552</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-24 10:57:36 -0800</bug_when>
    <thetext>Comment on attachment 391552
Patch for landing

Clearing flags on attachment: 391552

Committed r257219: &lt;https://trac.webkit.org/changeset/257219&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1622240</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-24 10:57:37 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>390543</attachid>
            <date>2020-02-12 12:12:24 -0800</date>
            <delta_ts>2020-02-24 10:13:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-207646-20200212121223.patch</filename>
            <type>text/plain</type>
            <size>17554</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI1NjQ1NSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDMxIEBACisyMDIwLTAyLTEyICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICByZXN1bHRzLndlYmtpLm9yZzogTGluayB0byByZXN1bHQgYXJjaGl2ZXMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNzY0Ngor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTkzOTU4MDc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiByZXN1bHRzZGJweS9yZXN1bHRzZGJweS92aWV3
L3N0YXRpYy9qcy9hcmNoaXZlUm91dGVyLmpzOiBBZGRlZC4KKyAgICAgICAgKF9BcmNoaXZlUm91
dGVyKTogUmV0cmlldmUganNvbiBmcm9tIGFyY2hpdmUtcm91dGVyIGVuZHBvaW50LgorICAgICAg
ICAoX0FyY2hpdmVSb3V0ZXIucHJvdG90eXBlLl9kZXRlcm1pbmVBcmd1bWVudEZyb21BbmNlc3Ry
eSk6IEdpdmVuIGFuIGFyZ3VtZW50LCBkZWZhdWx0IGFuZCBhbmNlc3RyeSB2YWx1ZXMsCisgICAg
ICAgIHJldHVybiB0aGUgbW9zdCBzcGVjaWZpYyB2YWx1ZS4KKyAgICAgICAgKF9BcmNoaXZlUm91
dGVyLnByb3RvdHlwZS5oYXNBcmNoaXZlKTogQ2hlY2sgaWYgYSBzdWl0ZSBhbmQgbW9kZSBoYXZl
IGFuIGFyY2hpdmUgbGluay4KKyAgICAgICAgKF9BcmNoaXZlUm91dGVyLnByb3RvdHlwZS5wYXRo
Rm9yKTogQ29uc3RydWN0IHRoZSBwYXRoIGZvciBhcmNoaXZlIGFjY2Vzcy4KKyAgICAgICAgKF9B
cmNoaXZlUm91dGVyLnByb3RvdHlwZS5sYWJlbEZvcik6IFJldHVybiBhIGxhYmVsIGZvciBhbiBh
cmNoaXZlIGxpbmsuCisgICAgICAgICogcmVzdWx0c2RicHkvcmVzdWx0c2RicHkvdmlldy9zdGF0
aWMvanMvaW52ZXN0aWdhdGUuanM6CisgICAgICAgIChwYXJhbWV0ZXJzRm9ySW5zdGFuY2UpOiBF
eHRyYWN0IGZyb20gbGFtYmRhIGZ1bmN0aW9uLgorICAgICAgICAodGVzdFJ1bkxpbmspOiBVc2Ug
cGFyYW1ldGVyc0Zvckluc3RhbmNlIGluc3RlYWQgb2YgYSBsYW1iZGEgZnVuY3Rpb24uCisgICAg
ICAgIChhcmNoaXZlTGluayk6IFJldHVybiBhbiBhcmNoaXZlIGxpbmsgZm9yIGRhdGEuIAorICAg
ICAgICAoY29udGVudEZvckRhdGEpOiBBZGQgYXJjaGl2ZSBsaW5rIHRvIHZpZXcuCisgICAgICAg
ICogcmVzdWx0c2RicHkvcmVzdWx0c2RicHkvdmlldy9zdGF0aWMvanMvdGltZWxpbmUuanM6Cisg
ICAgICAgIChUaW1lbGluZUZyb21FbmRwb2ludCk6IEFjY2VwdCBib3RoIHN1aXRlIGFuZCB0ZXN0
LgorICAgICAgICAoVGltZWxpbmVGcm9tRW5kcG9pbnQucHJvdG90eXBlLnJlbmRlci5vbkRvdEVu
dGVyRmFjdG9yeSk6IEFkZCBhcmNoaXZlIGxpbmsgdG8gcG9wLW92ZXIuCisgICAgICAgICogcmVz
dWx0c2RicHkvcmVzdWx0c2RicHkvdmlldy90ZW1wbGF0ZXMvc2VhcmNoLmh0bWw6IFBhc3Mgc3Vp
dGUgYW5kIHRlc3QgdG8gVGltZWxpbmVFbmRwb2ludC4KKyAgICAgICAgKiByZXN1bHRzZGJweS9y
ZXN1bHRzZGJweS92aWV3L3RlbXBsYXRlcy9zdWl0ZV9yZXN1bHRzLmh0bWw6IFBhc3Mgc3VpdGUg
dG8gVGltZWxpbmVFbmRwb2ludC4KKyAgICAgICAgKiByZXN1bHRzZGJweS9yZXN1bHRzZGJweS92
aWV3L3ZpZXdfcm91dGVzLnB5OgorICAgICAgICAoVmlld1JvdXRlcy5fX2luaXRfXyk6IEFkZCBh
cmNoaXZlX3JvdXRlIGRpY3Rpb25hcnkuCisKIDIwMjAtMDItMTIgIEpvbmF0aGFuIEJlZGFyZCAg
PGpiZWRhcmRAYXBwbGUuY29tPgogCiAgICAgICAgIHJlc3VsdHMud2Via2l0Lm9yZzogQ2FjaGUg
YXJjaGl2ZSBjb250ZW50CkluZGV4OiBUb29scy9yZXN1bHRzZGJweS9yZXN1bHRzZGJweS92aWV3
L3ZpZXdfcm91dGVzLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNk
YnB5L3ZpZXcvdmlld19yb3V0ZXMucHkJKHJldmlzaW9uIDI1NjQ1NSkKKysrIFRvb2xzL3Jlc3Vs
dHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcvdmlld19yb3V0ZXMucHkJKHdvcmtpbmcgY29weSkKQEAg
LTI0LDkgKzI0LDkgQEAgaW1wb3J0IG9zCiBpbXBvcnQgcmVxdWVzdHMKIGltcG9ydCB0aW1lCiAK
LWZyb20gZmxhc2sgaW1wb3J0IGFib3J0LCBzZW5kX2Zyb21fZGlyZWN0b3J5LCByZWRpcmVjdCwg
UmVzcG9uc2UKK2Zyb20gZmxhc2sgaW1wb3J0IGFib3J0LCBqc29uaWZ5LCBzZW5kX2Zyb21fZGly
ZWN0b3J5LCByZWRpcmVjdCwgUmVzcG9uc2UKIGZyb20gamluamEyIGltcG9ydCBFbnZpcm9ubWVu
dCwgUGFja2FnZUxvYWRlciwgc2VsZWN0X2F1dG9lc2NhcGUKLWZyb20gcmVzdWx0c2RicHkuZmxh
c2tfc3VwcG9ydC51dGlsIGltcG9ydCBBc3NlcnRSZXF1ZXN0Citmcm9tIHJlc3VsdHNkYnB5LmZs
YXNrX3N1cHBvcnQudXRpbCBpbXBvcnQgQXNzZXJ0UmVxdWVzdCwgY2FjaGVfZm9yCiBmcm9tIHJl
c3VsdHNkYnB5LmZsYXNrX3N1cHBvcnQuYXV0aGVkX2JsdWVwcmludCBpbXBvcnQgQXV0aGVkQmx1
ZXByaW50CiBmcm9tIHJlc3VsdHNkYnB5LnZpZXcuYXJjaGl2ZV92aWV3IGltcG9ydCBBcmNoaXZl
VmlldwogZnJvbSByZXN1bHRzZGJweS52aWV3LmNpX3ZpZXcgaW1wb3J0IENJVmlldwpAQCAtMzcs
NyArMzcsNyBAQCBmcm9tIHdlcmt6ZXVnLmV4Y2VwdGlvbnMgaW1wb3J0IEhUVFBFeGNlCiAKIAog
Y2xhc3MgVmlld1JvdXRlcyhBdXRoZWRCbHVlcHJpbnQpOgotICAgIGRlZiBfX2luaXRfXyhzZWxm
LCBtb2RlbCwgY29udHJvbGxlciwgaW1wb3J0X25hbWU9X19uYW1lX18sIHRpdGxlPSdSZXN1bHRz
IERhdGFiYXNlJywgYXV0aF9kZWNvcmF0b3I9Tm9uZSk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYs
IG1vZGVsLCBjb250cm9sbGVyLCBpbXBvcnRfbmFtZT1fX25hbWVfXywgdGl0bGU9J1Jlc3VsdHMg
RGF0YWJhc2UnLCBhdXRoX2RlY29yYXRvcj1Ob25lLCBhcmNoaXZlX3JvdXRlcz1Ob25lKToKICAg
ICAgICAgc3VwZXIoVmlld1JvdXRlcywgc2VsZikuX19pbml0X18oJ3ZpZXcnLCBpbXBvcnRfbmFt
ZSwgdXJsX3ByZWZpeD1Ob25lLCBhdXRoX2RlY29yYXRvcj1hdXRoX2RlY29yYXRvcikKICAgICAg
ICAgc2VsZi5fY2FjaGUgPSB7fQogCkBAIC05Myw2ICs5MywxNyBAQCBjbGFzcyBWaWV3Um91dGVz
KEF1dGhlZEJsdWVwcmludCk6CiAKICAgICAgICAgc2VsZi5hZGRfdXJsX3J1bGUoJy9hcmNoaXZl
JywgJ2FyY2hpdmUtbGlzdCcsIHNlbGYuYXJjaGl2ZS5leHRyYWN0LCBtZXRob2RzPSgnR0VUJywp
KQogICAgICAgICBzZWxmLmFkZF91cmxfcnVsZSgnL2FyY2hpdmUvPHBhdGg6cGF0aD4nLCAnYXJj
aGl2ZScsIHNlbGYuYXJjaGl2ZS5leHRyYWN0LCBtZXRob2RzPSgnR0VUJywpKQorICAgICAgICAj
IEFyY2hpdmUgcm91dGVzIGNvbnRyb2wgd2hpY2ggc3VpdGVzIGdldCBsaW5rZWQgdG8gcmVzdWx0
IGFyY2hpdmVzIGFuZCBob3cgdGhvc2UgbGlua3MgYXBwZWFyIGluIHRoZSBVSS4KKyAgICAgICAg
IyBUaGlzIGRpY3Rpb25hcnkgd2lsbCBiZSBwcm9jZXNzZWQgYnkgYXJjaGl2ZVJvdXRlci5qcywg
dGhlcmUgYXJlIDMgYWN0aXZlIHBhcmFtZXRlcnMgcmVzcGVjdGVkOgorICAgICAgICAjICAgICBl
bmFibGVkOiBJZiBmYWxzZSwgbm8gYXJjaGl2ZSBsaW5rIHdpbGwgYmUgZ2VuZXJhdGVkIGZvciB0
aGlzIHN1aXRlCisgICAgICAgICMgICAgIHBhdGg6IFRoZSBmaWxlIGluIHRoZSBhcmNoaXZlIHRv
IGxpbmsgdG8KKyAgICAgICAgIyAgICAgbGFiZWw6IERlZmluZXMgdGhlIHVzZXItdmlzaWJsZSBu
YW1lIG9mIHRoZSBhcmNoaXZlIGxpbmsKKyAgICAgICAgIyBEaWN0aW9uYXJpZXMgaGF2ZSBhIGRl
ZmluZWQgYW5jZXN0cnksIGFuZCB3aWxsIHVzZSB0aGUgbW9zdCBzcGVjaWZpYyBwYXJhbWV0ZXJz
IHBvc3NpYmxlLiBUaGUgYW5jZXN0cnkKKyAgICAgICAgIyBhcmd1bWVudHMgYXJlOgorICAgICAg
ICAjICAgICA8c3VpdGU+OiBOYW1lIG9mIGEgc3VpdGUgKGxpa2UgbGF5b3V0LXRlc3RzKQorICAg
ICAgICAjICAgICA8cmVzdWx0PjogT25lIG9mIHRoZSBleHBlY3RlZCByZXN1bHRzLCBsaWtlIEZB
SUwsIFRFWFQgb3IgSU1BR0UKKyAgICAgICAgc2VsZi5hcmNoaXZlX3JvdXRlcyA9IGFyY2hpdmVf
cm91dGVzIG9yIGRpY3QoKQorICAgICAgICBzZWxmLmFkZF91cmxfcnVsZSgnL2FyY2hpdmUtcm91
dGVzJywgJ2FyY2hpdmUtcm91dGVzJywgY2FjaGVfZm9yKGhvdXJzPTI0ICogNykobGFtYmRhOiBq
c29uaWZ5KHNlbGYuYXJjaGl2ZV9yb3V0ZXMpKSwgbWV0aG9kcz0oJ0dFVCcsKSkKIAogICAgICAg
ICBzZWxmLnNpdGVfbWVudS5hZGRfZW5kcG9pbnQoJ01haW4nLCBzZWxmLm5hbWUgKyAnLm1haW4n
LCBwYXJhbWV0ZXJzPVsnYnJhbmNoJ10pCiAgICAgICAgIHNlbGYuc2l0ZV9tZW51LmFkZF9lbmRw
b2ludCgnU3VpdGVzJywgc2VsZi5uYW1lICsgJy5zdWl0ZXMnLCBwYXJhbWV0ZXJzPVsnYnJhbmNo
J10pCkluZGV4OiBUb29scy9yZXN1bHRzZGJweS9yZXN1bHRzZGJweS92aWV3L3N0YXRpYy9qcy9h
cmNoaXZlUm91dGVyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNk
YnB5L3ZpZXcvc3RhdGljL2pzL2FyY2hpdmVSb3V0ZXIuanMJKG5vbmV4aXN0ZW50KQorKysgVG9v
bHMvcmVzdWx0c2RicHkvcmVzdWx0c2RicHkvdmlldy9zdGF0aWMvanMvYXJjaGl2ZVJvdXRlci5q
cwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDgwIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8KKy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorLy8gbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisvLyBhcmUgbWV0OgorLy8gMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy8vICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKy8vIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisvLyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisvLyAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorLy8KKy8vIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMg
SVMiCisvLyBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKy8vIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKy8vIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworLy8gQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorLy8gQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKy8vIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
Ly8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKy8vIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisvLyBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisv
LyBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKK2NsYXNzIF9BcmNoaXZlUm91dGVy
IHsKKyAgICBjb25zdHJ1Y3RvcigpIHsKKyAgICAgICAgdGhpcy5yb3V0ZXMgPSB7fTsKKyAgICAg
ICAgZmV0Y2goJ2FyY2hpdmUtcm91dGVzJykudGhlbihyZXNwb25zZSA9PiB7CisgICAgICAgICAg
ICBsZXQgc2VsZiA9IHRoaXM7CisgICAgICAgICAgICByZXNwb25zZS5qc29uKCkudGhlbihqc29u
ID0+IHsKKyAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShqc29uKSkgeworICAgICAg
ICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKEpTT04uc3RyaW5naWZ5KGpzb24sIG51bGwsIDQp
KTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgICAgICB0aGlzLnJvdXRlcyA9IGpzb247CisgICAgICAgICAgICB9KTsKKyAgICAgICAg
fSkuY2F0Y2goZXJyb3IgPT4geworICAgICAgICAgICAgY29uc29sZS5lcnJvcihKU09OLnN0cmlu
Z2lmeShlcnJvciwgbnVsbCwgNCkpOworICAgICAgICB9KTsKKyAgICB9CisgICAgX2RldGVybWlu
ZUFyZ3VtZW50RnJvbUFuY2VzdHJ5KGFyZ3VtZW50LCBkZWZhdWx0VmFsdWUsIHN1aXRlPW51bGws
IG1vZGU9bnVsbCkgeworICAgICAgICBsZXQgcmVzdWx0ID0gZGVmYXVsdFZhbHVlOworICAgICAg
ICBsZXQgcm91dGVzID0gdGhpcy5yb3V0ZXM7CisKKyAgICAgICAgaWYgKGFyZ3VtZW50IGluIHJv
dXRlcykKKyAgICAgICAgICAgIHJlc3VsdCA9IHJvdXRlc1thcmd1bWVudF07CisKKyAgICAgICAg
W3N1aXRlLCBtb2RlXS5mb3JFYWNoKGFuY2VzdHJ5ID0+IHsKKyAgICAgICAgICAgIGlmICghYW5j
ZXN0cnkpCisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgaWYgKCEoYW5jZXN0
cnkgaW4gcm91dGVzKSkKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICByb3V0
ZXMgPSByb3V0ZXNbYW5jZXN0cnldOworICAgICAgICAgICAgaWYgKGFyZ3VtZW50IGluIHJvdXRl
cykKKyAgICAgICAgICAgICAgICByZXN1bHQgPSByb3V0ZXNbYXJndW1lbnRdOworICAgICAgICB9
KTsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisgICAgaGFzQXJjaGl2ZShzdWl0ZT1u
dWxsLCBtb2RlPW51bGwpIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX2RldGVybWluZUFyZ3VtZW50
RnJvbUFuY2VzdHJ5KCdlbmFibGVkJywgZmFsc2UsIHN1aXRlLCBtb2RlKTsKKyAgICB9CisgICAg
cGF0aEZvcihzdWl0ZT1udWxsLCBtb2RlPW51bGwsIHRlc3Q9bnVsbCkgeworICAgICAgICBpZiAo
IXRoaXMuaGFzQXJjaGl2ZShzdWl0ZSkpCisgICAgICAgICAgICByZXR1cm4gbnVsbDsKKworICAg
ICAgICBsZXQgY2FuZGlkYXRlID0gdGhpcy5fZGV0ZXJtaW5lQXJndW1lbnRGcm9tQW5jZXN0cnko
J3BhdGgnLCAnJywgc3VpdGUsIG1vZGUpOworICAgICAgICBpZiAoIXRlc3QgfHwgIWNhbmRpZGF0
ZS5zdGFydHNXaXRoKCcqJykpCisgICAgICAgICAgICByZXR1cm4gY2FuZGlkYXRlOworICAgICAg
ICByZXR1cm4gdGVzdC5zdWJzdHJpbmcoMCwgdGVzdC5sYXN0SW5kZXhPZignLicpKSArIGNhbmRp
ZGF0ZS5zdWJzdHJpbmcoMSk7CisgICAgfQorICAgIGxhYmVsRm9yKHN1aXRlPW51bGwsIG1vZGU9
bnVsbCkgeworICAgICAgICBpZiAoIXRoaXMuaGFzQXJjaGl2ZShzdWl0ZSkpCisgICAgICAgICAg
ICByZXR1cm4gbnVsbDsKKworICAgICAgICByZXR1cm4gdGhpcy5fZGV0ZXJtaW5lQXJndW1lbnRG
cm9tQW5jZXN0cnkoJ2xhYmVsJywgJ1Jlc3VsdCBhcmNoaXZlJywgc3VpdGUsIG1vZGUpOworICAg
IH0KK307CisKK2NvbnN0IEFyY2hpdmVSb3V0ZXIgPSBuZXcgX0FyY2hpdmVSb3V0ZXIoKTsKKwor
ZXhwb3J0IHtBcmNoaXZlUm91dGVyfTsKSW5kZXg6IFRvb2xzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNk
YnB5L3ZpZXcvc3RhdGljL2pzL2ludmVzdGlnYXRlLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL3Jl
c3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcvc3RhdGljL2pzL2ludmVzdGlnYXRlLmpzCShyZXZp
c2lvbiAyNTY0NTUpCisrKyBUb29scy9yZXN1bHRzZGJweS9yZXN1bHRzZGJweS92aWV3L3N0YXRp
Yy9qcy9pbnZlc3RpZ2F0ZS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0ICsxLDQgQEAKLS8vIENv
cHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBDb3B5
cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogLy8KIC8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAogLy8gbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yMSw2ICsyMSw3IEBACiAvLyBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CiAvLyBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKK2ltcG9ydCB7QXJjaGl2ZVJv
dXRlcn0gZnJvbSAnL2Fzc2V0cy9qcy9hcmNoaXZlUm91dGVyLmpzJzsKIGltcG9ydCB7RE9NLCBS
RUZ9IGZyb20gJy9saWJyYXJ5L2pzL1JlZi5qcyc7CiBpbXBvcnQge0NvbW1pdEJhbmt9IGZyb20g
Jy9hc3NldHMvanMvY29tbWl0LmpzJzsKIGltcG9ydCB7cXVlcnlUb1BhcmFtcywgcGFyYW1zVG9R
dWVyeSwgUXVlcnlNb2RpZmllciwgfSBmcm9tICcvYXNzZXRzL2pzL2NvbW1vbi5qcyc7CkBAIC00
MCwyMSArNDEsMzEgQEAgZnVuY3Rpb24gY29tbWl0c0ZvclV1aWQodXVpZCkgewogICAgICAgICB9
KS5qb2luKCcsICcpfWAKIH0KIAorZnVuY3Rpb24gcGFyYW1ldGVyc0Zvckluc3RhbmNlKHN1aXRl
LCBkYXRhKQoreworICAgIGNvbnN0IGJyYW5jaCA9IHF1ZXJ5VG9QYXJhbXMoZG9jdW1lbnQuVVJM
LnNwbGl0KCc/JylbMV0pLmJyYW5jaDsKKyAgICBjb25zdCBidWlsZFBhcmFtcyA9IGRhdGEuY29u
ZmlndXJhdGlvbi50b1BhcmFtcygpOworICAgIGJ1aWxkUGFyYW1zWydzdWl0ZSddID0gW3N1aXRl
XTsKKyAgICBidWlsZFBhcmFtc1sndXVpZCddID0gW2RhdGEudXVpZF07CisgICAgYnVpbGRQYXJh
bXNbJ2FmdGVyX3RpbWUnXSA9IFtkYXRhLnN0YXJ0X3RpbWVdOworICAgIGJ1aWxkUGFyYW1zWydi
ZWZvcmVfdGltZSddID0gW2RhdGEuc3RhcnRfdGltZV07CisgICAgaWYgKGJyYW5jaCkKKyAgICAg
ICAgYnVpbGRQYXJhbXNbJ2JyYW5jaCddID0gYnJhbmNoOworICAgIHJldHVybiBwYXJhbXNUb1F1
ZXJ5KGJ1aWxkUGFyYW1zKTsKK30KKwogZnVuY3Rpb24gdGVzdFJ1bkxpbmsoc3VpdGUsIGRhdGEp
CiB7CiAgICAgaWYgKCFkYXRhLnN0YXJ0X3RpbWUpCiAgICAgICAgIHJldHVybiAnJzsKLSAgICBj
b25zdCBicmFuY2ggPSBxdWVyeVRvUGFyYW1zKGRvY3VtZW50LlVSTC5zcGxpdCgnPycpWzFdKS5i
cmFuY2g7Ci0gICAgcmV0dXJuIGA8YSBocmVmPSIvdXJscy9idWlsZD8ke3BhcmFtc1RvUXVlcnko
ZnVuY3Rpb24gKCkgewotICAgICAgICBjb25zdCBidWlsZFBhcmFtcyA9IGRhdGEuY29uZmlndXJh
dGlvbi50b1BhcmFtcygpOwotICAgICAgICBidWlsZFBhcmFtc1snc3VpdGUnXSA9IFtzdWl0ZV07
Ci0gICAgICAgIGJ1aWxkUGFyYW1zWyd1dWlkJ10gPSBbZGF0YS51dWlkXTsKLSAgICAgICAgYnVp
bGRQYXJhbXNbJ2FmdGVyX3RpbWUnXSA9IFtkYXRhLnN0YXJ0X3RpbWVdOwotICAgICAgICBidWls
ZFBhcmFtc1snYmVmb3JlX3RpbWUnXSA9IFtkYXRhLnN0YXJ0X3RpbWVdOwotICAgICAgICBpZiAo
YnJhbmNoKQotICAgICAgICAgICAgYnVpbGRQYXJhbXNbJ2JyYW5jaCddID0gYnJhbmNoOwotICAg
ICAgICByZXR1cm4gYnVpbGRQYXJhbXM7Ci0gICAgfSAoKSl9IiB0YXJnZXQ9Il9ibGFuayI+VGVz
dCBydW48L2E+IEAgJHtuZXcgRGF0ZShkYXRhLnN0YXJ0X3RpbWUgKiAxMDAwKS50b0xvY2FsZVN0
cmluZygpfWA7CisgICAgcmV0dXJuIGA8YSBocmVmPSIvdXJscy9idWlsZD8ke3BhcmFtZXRlcnNG
b3JJbnN0YW5jZShzdWl0ZSwgZGF0YSl9IiB0YXJnZXQ9Il9ibGFuayI+VGVzdCBydW48L2E+IEAg
JHtuZXcgRGF0ZShkYXRhLnN0YXJ0X3RpbWUgKiAxMDAwKS50b0xvY2FsZVN0cmluZygpfWA7Cit9
CisKK2Z1bmN0aW9uIGFyY2hpdmVMaW5rKHN1aXRlLCBkYXRhKQoreworICAgIGlmICghZGF0YS5z
dGFydF90aW1lIHx8ICFBcmNoaXZlUm91dGVyLmhhc0FyY2hpdmUoc3VpdGUpKQorICAgICAgICBy
ZXR1cm4gJyc7CisgICAgcmV0dXJuIGA8YSBocmVmPSIvYXJjaGl2ZS8ke0FyY2hpdmVSb3V0ZXIu
cGF0aEZvcihzdWl0ZSl9PyR7cGFyYW1ldGVyc0Zvckluc3RhbmNlKHN1aXRlLCBkYXRhKX0iIHRh
cmdldD0iX2JsYW5rIj4ke0FyY2hpdmVSb3V0ZXIubGFiZWxGb3Ioc3VpdGUpfTwvYT5gOwogfQog
CiBmdW5jdGlvbiBlbGFwc2VkKGRhdGEpCkBAIC0yMDgsNiArMjE5LDcgQEAgZnVuY3Rpb24gY29u
dGVudEZvckRhdGEoc3VpdGUsIGRhdGEsIHdpbAogICAgICAgICBkYXRhLmNvbmZpZ3VyYXRpb24s
CiAgICAgICAgIGNvbW1pdHNGb3JVdWlkKGRhdGEudXVpZCksCiAgICAgICAgIHRlc3RSdW5MaW5r
KHN1aXRlLCBkYXRhKSwKKyAgICAgICAgYXJjaGl2ZUxpbmsoc3VpdGUsIGRhdGEpLAogICAgICAg
ICBlbGFwc2VkKGRhdGEpLAogICAgIF07CiAKSW5kZXg6IFRvb2xzL3Jlc3VsdHNkYnB5L3Jlc3Vs
dHNkYnB5L3ZpZXcvc3RhdGljL2pzL3RpbWVsaW5lLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL3Jl
c3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcvc3RhdGljL2pzL3RpbWVsaW5lLmpzCShyZXZpc2lv
biAyNTY0NTUpCisrKyBUb29scy9yZXN1bHRzZGJweS9yZXN1bHRzZGJweS92aWV3L3N0YXRpYy9q
cy90aW1lbGluZS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0ICsxLDQgQEAKLS8vIENvcHlyaWdo
dCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBDb3B5cmlnaHQg
KEMpIDIwMTksIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogLy8KIC8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAogLy8gbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yMSw2ICsyMSw3IEBACiAvLyBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CiAvLyBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKK2ltcG9ydCB7QXJjaGl2ZVJv
dXRlcn0gZnJvbSAnL2Fzc2V0cy9qcy9hcmNoaXZlUm91dGVyLmpzJzsKIGltcG9ydCB7Q29tbWl0
QmFua30gZnJvbSAnL2Fzc2V0cy9qcy9jb21taXQuanMnOwogaW1wb3J0IHtDb25maWd1cmF0aW9u
fSBmcm9tICcvYXNzZXRzL2pzL2NvbmZpZ3VyYXRpb24uanMnOwogaW1wb3J0IHtkZWVwQ29tcGFy
ZSwgRXJyb3JEaXNwbGF5LCBlc2NhcGVIVE1MLCBwYXJhbXNUb1F1ZXJ5LCBxdWVyeVRvUGFyYW1z
fSBmcm9tICcvYXNzZXRzL2pzL2NvbW1vbi5qcyc7CkBAIC0zNDMsMTMgKzM0NCwxNiBAQCBmdW5j
dGlvbiBjb21iaW5lUmVzdWx0cygpIHsKIH0KIAogY2xhc3MgVGltZWxpbmVGcm9tRW5kcG9pbnQg
ewotICAgIGNvbnN0cnVjdG9yKGVuZHBvaW50LCBzdWl0ZSA9IG51bGwsIHZpZXdwb3J0ID0gbnVs
bCkgeworICAgIGNvbnN0cnVjdG9yKGVuZHBvaW50LCBzdWl0ZSA9IG51bGwsIHRlc3QgPSBudWxs
LCB2aWV3cG9ydCA9IG51bGwpIHsKICAgICAgICAgdGhpcy5lbmRwb2ludCA9IGVuZHBvaW50Owog
ICAgICAgICB0aGlzLmRpc3BsYXlBbGxDb21taXRzID0gdHJ1ZTsKIAogICAgICAgICB0aGlzLmNv
bmZpZ3VyYXRpb25zID0gQ29uZmlndXJhdGlvbi5mcm9tUXVlcnkoKTsKICAgICAgICAgdGhpcy5y
ZXN1bHRzID0ge307Ci0gICAgICAgIHRoaXMuc3VpdGUgPSBzdWl0ZTsgIC8vIFN1aXRlIGlzIG9m
dGVuIGltcGxpZWQgYnkgdGhlIGVuZHBvaW50LCBidXQgdHJ5aW5nIHRvIGRldGVybWluZSBzdWl0
ZSBmcm9tIGVuZHBvaW50IGlzIG5vdCB0cml2aWFsLgorCisgICAgICAgIC8vIFN1aXRlIGFuZCB0
ZXN0IGNhbiBvZnRlbiBiZSBpbXBsaWVkIGJ5IHRoZSBlbmRwb2ludCwgYnV0IGRvaW5nIHNvIGlz
IG1vcmUgY29uZnVzaW5nIHRoZW4gaGVscGZ1bAorICAgICAgICB0aGlzLnN1aXRlID0gc3VpdGU7
CisgICAgICAgIHRoaXMudGVzdCA9IHRlc3Q7CiAKICAgICAgICAgdGhpcy51cGRhdGVzID0gW107
CiAgICAgICAgIHRoaXMueGF4aXNVcGRhdGVzID0gW107CkBAIC02MjgsMTggKzYzMiwxOSBAQCBj
bGFzcyBUaW1lbGluZUZyb21FbmRwb2ludCB7CiAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAg
ICAgICAgICAgcGFydGlhbENvbmZpZ3VyYXRpb24gPSBuZXcgQ29uZmlndXJhdGlvbihwYXJ0aWFs
Q29uZmlndXJhdGlvbik7CiAgICAgICAgICAgICAgICAgY29uc3Qgc2Nyb2xsRGVsdGEgPSBkb2N1
bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIHx8IGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9w
OworCisgICAgICAgICAgICAgICAgY29uc3QgYnVpbGRQYXJhbXMgPSBjb25maWd1cmF0aW9uLnRv
UGFyYW1zKCk7CisgICAgICAgICAgICAgICAgYnVpbGRQYXJhbXNbJ3N1aXRlJ10gPSBbc2VsZi5z
dWl0ZV07CisgICAgICAgICAgICAgICAgYnVpbGRQYXJhbXNbJ3V1aWQnXSA9IFtkYXRhLnV1aWRd
OworICAgICAgICAgICAgICAgIGJ1aWxkUGFyYW1zWydhZnRlcl90aW1lJ10gPSBbZGF0YS5zdGFy
dF90aW1lXTsKKyAgICAgICAgICAgICAgICBidWlsZFBhcmFtc1snYmVmb3JlX3RpbWUnXSA9IFtk
YXRhLnN0YXJ0X3RpbWVdOworICAgICAgICAgICAgICAgIGlmIChicmFuY2gpCisgICAgICAgICAg
ICAgICAgICAgIGJ1aWxkUGFyYW1zWydicmFuY2gnXSA9IGJyYW5jaDsKKwogICAgICAgICAgICAg
ICAgIFRvb2xUaXAuc2V0KAogICAgICAgICAgICAgICAgICAgICBgPGRpdiBjbGFzcz0iY29udGVu
dCI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAke2RhdGEuc3RhcnRfdGltZSA/IGA8YSBocmVm
PSIvdXJscy9idWlsZD8ke3BhcmFtc1RvUXVlcnkoZnVuY3Rpb24gKCkgewotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGxldCBidWlsZFBhcmFtcyA9IGNvbmZpZ3VyYXRpb24udG9QYXJhbXMo
KTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWlsZFBhcmFtc1snc3VpdGUnXSA9IFtz
ZWxmLnN1aXRlXTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWlsZFBhcmFtc1sndXVp
ZCddID0gW2RhdGEudXVpZF07Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGRQYXJh
bXNbJ2FmdGVyX3RpbWUnXSA9IFtkYXRhLnN0YXJ0X3RpbWVdOwotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGJ1aWxkUGFyYW1zWydiZWZvcmVfdGltZSddID0gW2RhdGEuc3RhcnRfdGltZV07
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGJyYW5jaCkKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgYnVpbGRQYXJhbXNbJ2JyYW5jaCddID0gYnJhbmNoOwotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBidWlsZFBhcmFtczsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIH0gKCkpfSIgdGFyZ2V0PSJfYmxhbmsiPlRlc3QgcnVuPC9hPiBAICR7bmV3IERh
dGUoZGF0YS5zdGFydF90aW1lICogMTAwMCkudG9Mb2NhbGVTdHJpbmcoKX08YnI+YCA6ICcnfQor
ICAgICAgICAgICAgICAgICAgICAgICAgJHtkYXRhLnN0YXJ0X3RpbWUgPyBgPGEgaHJlZj0iL3Vy
bHMvYnVpbGQ/JHtwYXJhbXNUb1F1ZXJ5KGJ1aWxkUGFyYW1zKX0iIHRhcmdldD0iX2JsYW5rIj5U
ZXN0IHJ1bjwvYT4gQCAke25ldyBEYXRlKGRhdGEuc3RhcnRfdGltZSAqIDEwMDApLnRvTG9jYWxl
U3RyaW5nKCl9PGJyPmAgOiAnJ30KKyAgICAgICAgICAgICAgICAgICAgICAgICR7ZGF0YS5zdGFy
dF90aW1lICYmIEFyY2hpdmVSb3V0ZXIuaGFzQXJjaGl2ZShzZWxmLnN1aXRlLCBkYXRhLmFjdHVh
bCkgPyBgPGEgaHJlZj0iL2FyY2hpdmUvJHtBcmNoaXZlUm91dGVyLnBhdGhGb3Ioc2VsZi5zdWl0
ZSwgZGF0YS5hY3R1YWwsIHNlbGYudGVzdCl9PyR7cGFyYW1zVG9RdWVyeShidWlsZFBhcmFtcyl9
IiB0YXJnZXQ9Il9ibGFuayI+JHtBcmNoaXZlUm91dGVyLmxhYmVsRm9yKHNlbGYuc3VpdGUsIGRh
dGEuYWN0dWFsKX08L2E+PGJyPmAgOiAnJ30KICAgICAgICAgICAgICAgICAgICAgICAgIENvbW1p
dHM6ICR7Q29tbWl0QmFuay5jb21taXRzRHVyaW5nVXVpZChkYXRhLnV1aWQpLm1hcCgoY29tbWl0
KSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHBhcmFtcyA9IHsKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJhbmNoOiBjb21taXQuYnJhbmNoID8gW2NvbW1p
dC5icmFuY2hdIDogYnJhbmNoLApJbmRleDogVG9vbHMvcmVzdWx0c2RicHkvcmVzdWx0c2RicHkv
dmlldy90ZW1wbGF0ZXMvc2VhcmNoLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvcmVzdWx0c2Ri
cHkvcmVzdWx0c2RicHkvdmlldy90ZW1wbGF0ZXMvc2VhcmNoLmh0bWwJKHJldmlzaW9uIDI1NjQ1
NSkKKysrIFRvb2xzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcvdGVtcGxhdGVzL3NlYXJj
aC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC01Nyw3ICs1Nyw3IEBAIGNsYXNzIFNlYXJjaFZpZXcg
ewogICAgICAgICAgICAgICAgIHN0YXRlLmNoaWxkcmVuLnB1c2goewogICAgICAgICAgICAgICAg
ICAgICBzdWl0ZTogdGhpcy5jdXJyZW50UGFyYW1zLnN1aXRlW2ldLAogICAgICAgICAgICAgICAg
ICAgICB0ZXN0OiB0aGlzLmN1cnJlbnRQYXJhbXMudGVzdFtpXSwKLSAgICAgICAgICAgICAgICAg
ICAgdGltZWxpbmU6IG5ldyBUaW1lbGluZUZyb21FbmRwb2ludChgYXBpL3Jlc3VsdHMvJHt0aGlz
LmN1cnJlbnRQYXJhbXMuc3VpdGVbaV19LyR7dGhpcy5jdXJyZW50UGFyYW1zLnRlc3RbaV19YCwg
dGhpcy5jdXJyZW50UGFyYW1zLnN1aXRlW2ldKSwKKyAgICAgICAgICAgICAgICAgICAgdGltZWxp
bmU6IG5ldyBUaW1lbGluZUZyb21FbmRwb2ludChgYXBpL3Jlc3VsdHMvJHt0aGlzLmN1cnJlbnRQ
YXJhbXMuc3VpdGVbaV19LyR7dGhpcy5jdXJyZW50UGFyYW1zLnRlc3RbaV19YCwgdGhpcy5jdXJy
ZW50UGFyYW1zLnN1aXRlW2ldLCB0aGlzLmN1cnJlbnRQYXJhbXMudGVzdFtpXSksCiAgICAgICAg
ICAgICAgICAgfSk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KQEAgLTE3MSw3ICsxNzEsNyBA
QCBjbGFzcyBTZWFyY2hWaWV3IHsKICAgICAgICAgICAgICAgICAgICAgbmV3Q2hpbGRyZW4ucHVz
aCh7CiAgICAgICAgICAgICAgICAgICAgICAgICBzdWl0ZTogcGFyYW1zLnN1aXRlW2ldLAogICAg
ICAgICAgICAgICAgICAgICAgICAgdGVzdDogcGFyYW1zLnRlc3RbaV0sCi0gICAgICAgICAgICAg
ICAgICAgICAgICB0aW1lbGluZTogbmV3IFRpbWVsaW5lRnJvbUVuZHBvaW50KGBhcGkvcmVzdWx0
cy8ke3BhcmFtcy5zdWl0ZVtpXX0vJHtwYXJhbXMudGVzdFtpXX1gKSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHRpbWVsaW5lOiBuZXcgVGltZWxpbmVGcm9tRW5kcG9pbnQoYGFwaS9yZXN1bHRz
LyR7cGFyYW1zLnN1aXRlW2ldfS8ke3BhcmFtcy50ZXN0W2ldfWAsIHBhcmFtcy5zdWl0ZVtpXSwg
cGFyYW1zLnRlc3RbaV0pLAogICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICB9CkBAIC0yNjYsNyArMjY2LDcgQEAgRE9NLmluamVjdCgKICAgICAg
ICAgICAgICAgICAgICAgbGV0IGNoaWxkID0gewogICAgICAgICAgICAgICAgICAgICAgICAgc3Vp
dGU6IGFyZ3VtZW50c1tpXS5zdWl0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Q6IGFy
Z3VtZW50c1tpXS50ZXN0LAotICAgICAgICAgICAgICAgICAgICAgICAgdGltZWxpbmU6IG5ldyBU
aW1lbGluZUZyb21FbmRwb2ludChgYXBpL3Jlc3VsdHMvJHthcmd1bWVudHNbaV0uc3VpdGV9LyR7
YXJndW1lbnRzW2ldLnRlc3R9YCwgbnVsbCwgdmlld3BvcnQpLAorICAgICAgICAgICAgICAgICAg
ICAgICAgdGltZWxpbmU6IG5ldyBUaW1lbGluZUZyb21FbmRwb2ludChgYXBpL3Jlc3VsdHMvJHth
cmd1bWVudHNbaV0uc3VpdGV9LyR7YXJndW1lbnRzW2ldLnRlc3R9YCwgYXJndW1lbnRzW2ldLnN1
aXRlLCBhcmd1bWVudHNbaV0udGVzdCwgdmlld3BvcnQpLAogICAgICAgICAgICAgICAgICAgICB9
CiAKICAgICAgICAgICAgICAgICAgICAgdmlldy5yZWYuc2V0U3RhdGUoe3ByZXBlbmRpbmc6IFtj
aGlsZF19KTsKSW5kZXg6IFRvb2xzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcvdGVtcGxh
dGVzL3N1aXRlX3Jlc3VsdHMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9yZXN1bHRzZGJweS9y
ZXN1bHRzZGJweS92aWV3L3RlbXBsYXRlcy9zdWl0ZV9yZXN1bHRzLmh0bWwJKHJldmlzaW9uIDI1
NjQ1NSkKKysrIFRvb2xzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcvdGVtcGxhdGVzL3N1
aXRlX3Jlc3VsdHMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtODYsNyArODYsNyBAQCBjbGFzcyBN
YWluVmlldyB7CiAgICAgICAgIE9iamVjdC5rZXlzKHRoaXMuY2hpbGRyZW4pLmZvckVhY2goa2V5
ID0+IHt0aGlzLmNoaWxkcmVuW2tleV0udGVhcmRvd24oKTt9KTsKICAgICAgICAgdGhpcy5jaGls
ZHJlbiA9IHt9OwogICAgICAgICBzb3J0ZWRTdWl0ZXMuZm9yRWFjaCgoc3VpdGUpID0+IHsKLSAg
ICAgICAgICAgIHRoaXMuY2hpbGRyZW5bc3VpdGVdID0gbmV3IFRpbWVsaW5lRnJvbUVuZHBvaW50
KCdhcGkvcmVzdWx0cy8nICsgc3VpdGUpOworICAgICAgICAgICAgdGhpcy5jaGlsZHJlbltzdWl0
ZV0gPSBuZXcgVGltZWxpbmVGcm9tRW5kcG9pbnQoJ2FwaS9yZXN1bHRzLycgKyBzdWl0ZSwgc3Vp
dGUpOwogICAgICAgICB9KTsKICAgICAgICAgcmV0dXJuIHNvcnRlZFN1aXRlczsKICAgICB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>391552</attachid>
            <date>2020-02-24 10:13:03 -0800</date>
            <delta_ts>2020-02-24 10:57:36 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-207646-20200224101302.patch</filename>
            <type>text/plain</type>
            <size>17601</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI1NzIxMykKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDMxIEBACisyMDIwLTAyLTI0ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICByZXN1bHRzLndlYmtpdC5vcmc6IExpbmsgdG8gcmVzdWx0IGFyY2hpdmVz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDc2NDYK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU5Mzk1ODA3PgorCisgICAgICAgIFJ1YmJlci1zdGFt
cGVkIGJ5IEFha2FzaCBKYWluLgorCisgICAgICAgICogcmVzdWx0c2RicHkvcmVzdWx0c2RicHkv
dmlldy9zdGF0aWMvanMvYXJjaGl2ZVJvdXRlci5qczogQWRkZWQuCisgICAgICAgIChfQXJjaGl2
ZVJvdXRlcik6IFJldHJpZXZlIGpzb24gZnJvbSBhcmNoaXZlLXJvdXRlciBlbmRwb2ludC4KKyAg
ICAgICAgKF9BcmNoaXZlUm91dGVyLnByb3RvdHlwZS5fZGV0ZXJtaW5lQXJndW1lbnRGcm9tQW5j
ZXN0cnkpOiBHaXZlbiBhbiBhcmd1bWVudCwgZGVmYXVsdCBhbmQgYW5jZXN0cnkgdmFsdWVzLAor
ICAgICAgICByZXR1cm4gdGhlIG1vc3Qgc3BlY2lmaWMgdmFsdWUuCisgICAgICAgIChfQXJjaGl2
ZVJvdXRlci5wcm90b3R5cGUuaGFzQXJjaGl2ZSk6IENoZWNrIGlmIGEgc3VpdGUgYW5kIG1vZGUg
aGF2ZSBhbiBhcmNoaXZlIGxpbmsuCisgICAgICAgIChfQXJjaGl2ZVJvdXRlci5wcm90b3R5cGUu
cGF0aEZvcik6IENvbnN0cnVjdCB0aGUgcGF0aCBmb3IgYXJjaGl2ZSBhY2Nlc3MuCisgICAgICAg
IChfQXJjaGl2ZVJvdXRlci5wcm90b3R5cGUubGFiZWxGb3IpOiBSZXR1cm4gYSBsYWJlbCBmb3Ig
YW4gYXJjaGl2ZSBsaW5rLgorICAgICAgICAqIHJlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcv
c3RhdGljL2pzL2ludmVzdGlnYXRlLmpzOgorICAgICAgICAocGFyYW1ldGVyc0Zvckluc3RhbmNl
KTogRXh0cmFjdCBmcm9tIGxhbWJkYSBmdW5jdGlvbi4KKyAgICAgICAgKHRlc3RSdW5MaW5rKTog
VXNlIHBhcmFtZXRlcnNGb3JJbnN0YW5jZSBpbnN0ZWFkIG9mIGEgbGFtYmRhIGZ1bmN0aW9uLgor
ICAgICAgICAoYXJjaGl2ZUxpbmspOiBSZXR1cm4gYW4gYXJjaGl2ZSBsaW5rIGZvciBkYXRhLiAK
KyAgICAgICAgKGNvbnRlbnRGb3JEYXRhKTogQWRkIGFyY2hpdmUgbGluayB0byB2aWV3LgorICAg
ICAgICAqIHJlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcvc3RhdGljL2pzL3RpbWVsaW5lLmpz
OgorICAgICAgICAoVGltZWxpbmVGcm9tRW5kcG9pbnQpOiBBY2NlcHQgYm90aCBzdWl0ZSBhbmQg
dGVzdC4KKyAgICAgICAgKFRpbWVsaW5lRnJvbUVuZHBvaW50LnByb3RvdHlwZS5yZW5kZXIub25E
b3RFbnRlckZhY3RvcnkpOiBBZGQgYXJjaGl2ZSBsaW5rIHRvIHBvcC1vdmVyLgorICAgICAgICAq
IHJlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcvdGVtcGxhdGVzL3NlYXJjaC5odG1sOiBQYXNz
IHN1aXRlIGFuZCB0ZXN0IHRvIFRpbWVsaW5lRW5kcG9pbnQuCisgICAgICAgICogcmVzdWx0c2Ri
cHkvcmVzdWx0c2RicHkvdmlldy90ZW1wbGF0ZXMvc3VpdGVfcmVzdWx0cy5odG1sOiBQYXNzIHN1
aXRlIHRvIFRpbWVsaW5lRW5kcG9pbnQuCisgICAgICAgICogcmVzdWx0c2RicHkvcmVzdWx0c2Ri
cHkvdmlldy92aWV3X3JvdXRlcy5weToKKyAgICAgICAgKFZpZXdSb3V0ZXMuX19pbml0X18pOiBB
ZGQgYXJjaGl2ZV9yb3V0ZSBkaWN0aW9uYXJ5LgorCiAyMDIwLTAyLTIyICBEYXJpbiBBZGxlciAg
PGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggc29tZSBpbmNsdWRlIG1pc3Rha2VzIGFu
ZCBtYWtlIHNvbWUgY29kaW5nIHN0eWxlIHR3ZWFrcyB0byBXZWJLaXQgYW5kIFdlYktpdFRlc3RS
dW5uZXIKSW5kZXg6IFRvb2xzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcvdmlld19yb3V0
ZXMucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvcmVzdWx0c2RicHkvcmVzdWx0c2RicHkvdmlldy92
aWV3X3JvdXRlcy5weQkocmV2aXNpb24gMjU3MjEzKQorKysgVG9vbHMvcmVzdWx0c2RicHkvcmVz
dWx0c2RicHkvdmlldy92aWV3X3JvdXRlcy5weQkod29ya2luZyBjb3B5KQpAQCAtMjQsOSArMjQs
OSBAQCBpbXBvcnQgb3MKIGltcG9ydCByZXF1ZXN0cwogaW1wb3J0IHRpbWUKIAotZnJvbSBmbGFz
ayBpbXBvcnQgYWJvcnQsIHNlbmRfZnJvbV9kaXJlY3RvcnksIHJlZGlyZWN0LCBSZXNwb25zZQor
ZnJvbSBmbGFzayBpbXBvcnQgYWJvcnQsIGpzb25pZnksIHNlbmRfZnJvbV9kaXJlY3RvcnksIHJl
ZGlyZWN0LCBSZXNwb25zZQogZnJvbSBqaW5qYTIgaW1wb3J0IEVudmlyb25tZW50LCBQYWNrYWdl
TG9hZGVyLCBzZWxlY3RfYXV0b2VzY2FwZQotZnJvbSByZXN1bHRzZGJweS5mbGFza19zdXBwb3J0
LnV0aWwgaW1wb3J0IEFzc2VydFJlcXVlc3QKK2Zyb20gcmVzdWx0c2RicHkuZmxhc2tfc3VwcG9y
dC51dGlsIGltcG9ydCBBc3NlcnRSZXF1ZXN0LCBjYWNoZV9mb3IKIGZyb20gcmVzdWx0c2RicHku
Zmxhc2tfc3VwcG9ydC5hdXRoZWRfYmx1ZXByaW50IGltcG9ydCBBdXRoZWRCbHVlcHJpbnQKIGZy
b20gcmVzdWx0c2RicHkudmlldy5hcmNoaXZlX3ZpZXcgaW1wb3J0IEFyY2hpdmVWaWV3CiBmcm9t
IHJlc3VsdHNkYnB5LnZpZXcuY2lfdmlldyBpbXBvcnQgQ0lWaWV3CkBAIC0zNyw3ICszNyw3IEBA
IGZyb20gd2Vya3pldWcuZXhjZXB0aW9ucyBpbXBvcnQgSFRUUEV4Y2UKIAogCiBjbGFzcyBWaWV3
Um91dGVzKEF1dGhlZEJsdWVwcmludCk6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIG1vZGVsLCBj
b250cm9sbGVyLCBpbXBvcnRfbmFtZT1fX25hbWVfXywgdGl0bGU9J1Jlc3VsdHMgRGF0YWJhc2Un
LCBhdXRoX2RlY29yYXRvcj1Ob25lKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgbW9kZWwsIGNv
bnRyb2xsZXIsIGltcG9ydF9uYW1lPV9fbmFtZV9fLCB0aXRsZT0nUmVzdWx0cyBEYXRhYmFzZScs
IGF1dGhfZGVjb3JhdG9yPU5vbmUsIGFyY2hpdmVfcm91dGVzPU5vbmUpOgogICAgICAgICBzdXBl
cihWaWV3Um91dGVzLCBzZWxmKS5fX2luaXRfXygndmlldycsIGltcG9ydF9uYW1lLCB1cmxfcHJl
Zml4PU5vbmUsIGF1dGhfZGVjb3JhdG9yPWF1dGhfZGVjb3JhdG9yKQogICAgICAgICBzZWxmLl9j
YWNoZSA9IHt9CiAKQEAgLTkzLDYgKzkzLDE3IEBAIGNsYXNzIFZpZXdSb3V0ZXMoQXV0aGVkQmx1
ZXByaW50KToKIAogICAgICAgICBzZWxmLmFkZF91cmxfcnVsZSgnL2FyY2hpdmUnLCAnYXJjaGl2
ZS1saXN0Jywgc2VsZi5hcmNoaXZlLmV4dHJhY3QsIG1ldGhvZHM9KCdHRVQnLCkpCiAgICAgICAg
IHNlbGYuYWRkX3VybF9ydWxlKCcvYXJjaGl2ZS88cGF0aDpwYXRoPicsICdhcmNoaXZlJywgc2Vs
Zi5hcmNoaXZlLmV4dHJhY3QsIG1ldGhvZHM9KCdHRVQnLCkpCisgICAgICAgICMgQXJjaGl2ZSBy
b3V0ZXMgY29udHJvbCB3aGljaCBzdWl0ZXMgZ2V0IGxpbmtlZCB0byByZXN1bHQgYXJjaGl2ZXMg
YW5kIGhvdyB0aG9zZSBsaW5rcyBhcHBlYXIgaW4gdGhlIFVJLgorICAgICAgICAjIFRoaXMgZGlj
dGlvbmFyeSB3aWxsIGJlIHByb2Nlc3NlZCBieSBhcmNoaXZlUm91dGVyLmpzLCB0aGVyZSBhcmUg
MyBhY3RpdmUgcGFyYW1ldGVycyByZXNwZWN0ZWQ6CisgICAgICAgICMgICAgIGVuYWJsZWQ6IElm
IGZhbHNlLCBubyBhcmNoaXZlIGxpbmsgd2lsbCBiZSBnZW5lcmF0ZWQgZm9yIHRoaXMgc3VpdGUK
KyAgICAgICAgIyAgICAgcGF0aDogVGhlIGZpbGUgaW4gdGhlIGFyY2hpdmUgdG8gbGluayB0bwor
ICAgICAgICAjICAgICBsYWJlbDogRGVmaW5lcyB0aGUgdXNlci12aXNpYmxlIG5hbWUgb2YgdGhl
IGFyY2hpdmUgbGluaworICAgICAgICAjIERpY3Rpb25hcmllcyBoYXZlIGEgZGVmaW5lZCBhbmNl
c3RyeSwgYW5kIHdpbGwgdXNlIHRoZSBtb3N0IHNwZWNpZmljIHBhcmFtZXRlcnMgcG9zc2libGUu
IFRoZSBhbmNlc3RyeQorICAgICAgICAjIGFyZ3VtZW50cyBhcmU6CisgICAgICAgICMgICAgIDxz
dWl0ZT46IE5hbWUgb2YgYSBzdWl0ZSAobGlrZSBsYXlvdXQtdGVzdHMpCisgICAgICAgICMgICAg
IDxyZXN1bHQ+OiBPbmUgb2YgdGhlIGV4cGVjdGVkIHJlc3VsdHMsIGxpa2UgRkFJTCwgVEVYVCBv
ciBJTUFHRQorICAgICAgICBzZWxmLmFyY2hpdmVfcm91dGVzID0gYXJjaGl2ZV9yb3V0ZXMgb3Ig
ZGljdCgpCisgICAgICAgIHNlbGYuYWRkX3VybF9ydWxlKCcvYXJjaGl2ZS1yb3V0ZXMnLCAnYXJj
aGl2ZS1yb3V0ZXMnLCBjYWNoZV9mb3IoaG91cnM9MjQgKiA3KShsYW1iZGE6IGpzb25pZnkoc2Vs
Zi5hcmNoaXZlX3JvdXRlcykpLCBtZXRob2RzPSgnR0VUJywpKQogCiAgICAgICAgIHNlbGYuc2l0
ZV9tZW51LmFkZF9lbmRwb2ludCgnTWFpbicsIHNlbGYubmFtZSArICcubWFpbicsIHBhcmFtZXRl
cnM9WydicmFuY2gnXSkKICAgICAgICAgc2VsZi5zaXRlX21lbnUuYWRkX2VuZHBvaW50KCdTdWl0
ZXMnLCBzZWxmLm5hbWUgKyAnLnN1aXRlcycsIHBhcmFtZXRlcnM9WydicmFuY2gnXSkKSW5kZXg6
IFRvb2xzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcvc3RhdGljL2pzL2FyY2hpdmVSb3V0
ZXIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvcmVzdWx0c2RicHkvcmVzdWx0c2RicHkvdmlldy9z
dGF0aWMvanMvYXJjaGl2ZVJvdXRlci5qcwkobm9uZXhpc3RlbnQpCisrKyBUb29scy9yZXN1bHRz
ZGJweS9yZXN1bHRzZGJweS92aWV3L3N0YXRpYy9qcy9hcmNoaXZlUm91dGVyLmpzCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsODAgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLworLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisvLyBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKy8v
IGFyZSBtZXQ6CisvLyAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorLy8gICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorLy8gMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy8vICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKy8vICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisvLworLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIKKy8vIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorLy8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorLy8gUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisvLyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisvLyBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorLy8gU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorLy8gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKy8vIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKy8vIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworY2xhc3MgX0FyY2hpdmVSb3V0ZXIgeworICAgIGNv
bnN0cnVjdG9yKCkgeworICAgICAgICB0aGlzLnJvdXRlcyA9IHt9OworICAgICAgICBmZXRjaCgn
YXJjaGl2ZS1yb3V0ZXMnKS50aGVuKHJlc3BvbnNlID0+IHsKKyAgICAgICAgICAgIGxldCBzZWxm
ID0gdGhpczsKKyAgICAgICAgICAgIHJlc3BvbnNlLmpzb24oKS50aGVuKGpzb24gPT4geworICAg
ICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGpzb24pKSB7CisgICAgICAgICAgICAgICAg
ICAgIGNvbnNvbGUuZXJyb3IoSlNPTi5zdHJpbmdpZnkoanNvbiwgbnVsbCwgNCkpOworICAgICAg
ICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAg
IHRoaXMucm91dGVzID0ganNvbjsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9KS5jYXRjaChl
cnJvciA9PiB7CisgICAgICAgICAgICBjb25zb2xlLmVycm9yKEpTT04uc3RyaW5naWZ5KGVycm9y
LCBudWxsLCA0KSk7CisgICAgICAgIH0pOworICAgIH0KKyAgICBfZGV0ZXJtaW5lQXJndW1lbnRG
cm9tQW5jZXN0cnkoYXJndW1lbnQsIGRlZmF1bHRWYWx1ZSwgc3VpdGU9bnVsbCwgbW9kZT1udWxs
KSB7CisgICAgICAgIGxldCByZXN1bHQgPSBkZWZhdWx0VmFsdWU7CisgICAgICAgIGxldCByb3V0
ZXMgPSB0aGlzLnJvdXRlczsKKworICAgICAgICBpZiAoYXJndW1lbnQgaW4gcm91dGVzKQorICAg
ICAgICAgICAgcmVzdWx0ID0gcm91dGVzW2FyZ3VtZW50XTsKKworICAgICAgICBbc3VpdGUsIG1v
ZGVdLmZvckVhY2goYW5jZXN0cnkgPT4geworICAgICAgICAgICAgaWYgKCFhbmNlc3RyeSkKKyAg
ICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICBpZiAoIShhbmNlc3RyeSBpbiByb3V0
ZXMpKQorICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIHJvdXRlcyA9IHJvdXRl
c1thbmNlc3RyeV07CisgICAgICAgICAgICBpZiAoYXJndW1lbnQgaW4gcm91dGVzKQorICAgICAg
ICAgICAgICAgIHJlc3VsdCA9IHJvdXRlc1thcmd1bWVudF07CisgICAgICAgIH0pOworICAgICAg
ICByZXR1cm4gcmVzdWx0OworICAgIH0KKyAgICBoYXNBcmNoaXZlKHN1aXRlPW51bGwsIG1vZGU9
bnVsbCkgeworICAgICAgICByZXR1cm4gdGhpcy5fZGV0ZXJtaW5lQXJndW1lbnRGcm9tQW5jZXN0
cnkoJ2VuYWJsZWQnLCBmYWxzZSwgc3VpdGUsIG1vZGUpOworICAgIH0KKyAgICBwYXRoRm9yKHN1
aXRlPW51bGwsIG1vZGU9bnVsbCwgdGVzdD1udWxsKSB7CisgICAgICAgIGlmICghdGhpcy5oYXNB
cmNoaXZlKHN1aXRlKSkKKyAgICAgICAgICAgIHJldHVybiBudWxsOworCisgICAgICAgIGxldCBj
YW5kaWRhdGUgPSB0aGlzLl9kZXRlcm1pbmVBcmd1bWVudEZyb21BbmNlc3RyeSgncGF0aCcsICcn
LCBzdWl0ZSwgbW9kZSk7CisgICAgICAgIGlmICghdGVzdCB8fCAhY2FuZGlkYXRlLnN0YXJ0c1dp
dGgoJyonKSkKKyAgICAgICAgICAgIHJldHVybiBjYW5kaWRhdGU7CisgICAgICAgIHJldHVybiB0
ZXN0LnN1YnN0cmluZygwLCB0ZXN0Lmxhc3RJbmRleE9mKCcuJykpICsgY2FuZGlkYXRlLnN1YnN0
cmluZygxKTsKKyAgICB9CisgICAgbGFiZWxGb3Ioc3VpdGU9bnVsbCwgbW9kZT1udWxsKSB7Cisg
ICAgICAgIGlmICghdGhpcy5oYXNBcmNoaXZlKHN1aXRlKSkKKyAgICAgICAgICAgIHJldHVybiBu
dWxsOworCisgICAgICAgIHJldHVybiB0aGlzLl9kZXRlcm1pbmVBcmd1bWVudEZyb21BbmNlc3Ry
eSgnbGFiZWwnLCAnUmVzdWx0IGFyY2hpdmUnLCBzdWl0ZSwgbW9kZSk7CisgICAgfQorfTsKKwor
Y29uc3QgQXJjaGl2ZVJvdXRlciA9IG5ldyBfQXJjaGl2ZVJvdXRlcigpOworCitleHBvcnQge0Fy
Y2hpdmVSb3V0ZXJ9OwpJbmRleDogVG9vbHMvcmVzdWx0c2RicHkvcmVzdWx0c2RicHkvdmlldy9z
dGF0aWMvanMvaW52ZXN0aWdhdGUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvcmVzdWx0c2RicHkv
cmVzdWx0c2RicHkvdmlldy9zdGF0aWMvanMvaW52ZXN0aWdhdGUuanMJKHJldmlzaW9uIDI1NzIx
MykKKysrIFRvb2xzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcvc3RhdGljL2pzL2ludmVz
dGlnYXRlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEsNCBAQAotLy8gQ29weXJpZ2h0IChD
KSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIENvcHlyaWdodCAoQykg
MjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAvLwogLy8gUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAv
LyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKQEAgLTIxLDYgKzIxLDcgQEAKIC8vIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKIC8vIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAoraW1wb3J0IHtBcmNoaXZlUm91dGVyfSBmcm9t
ICcvYXNzZXRzL2pzL2FyY2hpdmVSb3V0ZXIuanMnOwogaW1wb3J0IHtET00sIFJFRn0gZnJvbSAn
L2xpYnJhcnkvanMvUmVmLmpzJzsKIGltcG9ydCB7Q29tbWl0QmFua30gZnJvbSAnL2Fzc2V0cy9q
cy9jb21taXQuanMnOwogaW1wb3J0IHtxdWVyeVRvUGFyYW1zLCBwYXJhbXNUb1F1ZXJ5LCBRdWVy
eU1vZGlmaWVyLCB9IGZyb20gJy9hc3NldHMvanMvY29tbW9uLmpzJzsKQEAgLTQwLDIxICs0MSwz
MSBAQCBmdW5jdGlvbiBjb21taXRzRm9yVXVpZCh1dWlkKSB7CiAgICAgICAgIH0pLmpvaW4oJywg
Jyl9YAogfQogCitmdW5jdGlvbiBwYXJhbWV0ZXJzRm9ySW5zdGFuY2Uoc3VpdGUsIGRhdGEpCit7
CisgICAgY29uc3QgYnJhbmNoID0gcXVlcnlUb1BhcmFtcyhkb2N1bWVudC5VUkwuc3BsaXQoJz8n
KVsxXSkuYnJhbmNoOworICAgIGNvbnN0IGJ1aWxkUGFyYW1zID0gZGF0YS5jb25maWd1cmF0aW9u
LnRvUGFyYW1zKCk7CisgICAgYnVpbGRQYXJhbXNbJ3N1aXRlJ10gPSBbc3VpdGVdOworICAgIGJ1
aWxkUGFyYW1zWyd1dWlkJ10gPSBbZGF0YS51dWlkXTsKKyAgICBidWlsZFBhcmFtc1snYWZ0ZXJf
dGltZSddID0gW2RhdGEuc3RhcnRfdGltZV07CisgICAgYnVpbGRQYXJhbXNbJ2JlZm9yZV90aW1l
J10gPSBbZGF0YS5zdGFydF90aW1lXTsKKyAgICBpZiAoYnJhbmNoKQorICAgICAgICBidWlsZFBh
cmFtc1snYnJhbmNoJ10gPSBicmFuY2g7CisgICAgcmV0dXJuIHBhcmFtc1RvUXVlcnkoYnVpbGRQ
YXJhbXMpOworfQorCiBmdW5jdGlvbiB0ZXN0UnVuTGluayhzdWl0ZSwgZGF0YSkKIHsKICAgICBp
ZiAoIWRhdGEuc3RhcnRfdGltZSkKICAgICAgICAgcmV0dXJuICcnOwotICAgIGNvbnN0IGJyYW5j
aCA9IHF1ZXJ5VG9QYXJhbXMoZG9jdW1lbnQuVVJMLnNwbGl0KCc/JylbMV0pLmJyYW5jaDsKLSAg
ICByZXR1cm4gYDxhIGhyZWY9Ii91cmxzL2J1aWxkPyR7cGFyYW1zVG9RdWVyeShmdW5jdGlvbiAo
KSB7Ci0gICAgICAgIGNvbnN0IGJ1aWxkUGFyYW1zID0gZGF0YS5jb25maWd1cmF0aW9uLnRvUGFy
YW1zKCk7Ci0gICAgICAgIGJ1aWxkUGFyYW1zWydzdWl0ZSddID0gW3N1aXRlXTsKLSAgICAgICAg
YnVpbGRQYXJhbXNbJ3V1aWQnXSA9IFtkYXRhLnV1aWRdOwotICAgICAgICBidWlsZFBhcmFtc1sn
YWZ0ZXJfdGltZSddID0gW2RhdGEuc3RhcnRfdGltZV07Ci0gICAgICAgIGJ1aWxkUGFyYW1zWydi
ZWZvcmVfdGltZSddID0gW2RhdGEuc3RhcnRfdGltZV07Ci0gICAgICAgIGlmIChicmFuY2gpCi0g
ICAgICAgICAgICBidWlsZFBhcmFtc1snYnJhbmNoJ10gPSBicmFuY2g7Ci0gICAgICAgIHJldHVy
biBidWlsZFBhcmFtczsKLSAgICB9ICgpKX0iIHRhcmdldD0iX2JsYW5rIj5UZXN0IHJ1bjwvYT4g
QCAke25ldyBEYXRlKGRhdGEuc3RhcnRfdGltZSAqIDEwMDApLnRvTG9jYWxlU3RyaW5nKCl9YDsK
KyAgICByZXR1cm4gYDxhIGhyZWY9Ii91cmxzL2J1aWxkPyR7cGFyYW1ldGVyc0Zvckluc3RhbmNl
KHN1aXRlLCBkYXRhKX0iIHRhcmdldD0iX2JsYW5rIj5UZXN0IHJ1bjwvYT4gQCAke25ldyBEYXRl
KGRhdGEuc3RhcnRfdGltZSAqIDEwMDApLnRvTG9jYWxlU3RyaW5nKCl9YDsKK30KKworZnVuY3Rp
b24gYXJjaGl2ZUxpbmsoc3VpdGUsIGRhdGEpCit7CisgICAgaWYgKCFkYXRhLnN0YXJ0X3RpbWUg
fHwgIUFyY2hpdmVSb3V0ZXIuaGFzQXJjaGl2ZShzdWl0ZSkpCisgICAgICAgIHJldHVybiAnJzsK
KyAgICByZXR1cm4gYDxhIGhyZWY9Ii9hcmNoaXZlLyR7QXJjaGl2ZVJvdXRlci5wYXRoRm9yKHN1
aXRlKX0/JHtwYXJhbWV0ZXJzRm9ySW5zdGFuY2Uoc3VpdGUsIGRhdGEpfSIgdGFyZ2V0PSJfYmxh
bmsiPiR7QXJjaGl2ZVJvdXRlci5sYWJlbEZvcihzdWl0ZSl9PC9hPmA7CiB9CiAKIGZ1bmN0aW9u
IGVsYXBzZWQoZGF0YSkKQEAgLTIwNyw2ICsyMTgsNyBAQCBmdW5jdGlvbiBjb250ZW50Rm9yRGF0
YShzdWl0ZSwgZGF0YSwgd2lsCiAgICAgICAgIGRhdGEuY29uZmlndXJhdGlvbiwKICAgICAgICAg
Y29tbWl0c0ZvclV1aWQoZGF0YS51dWlkKSwKICAgICAgICAgdGVzdFJ1bkxpbmsoc3VpdGUsIGRh
dGEpLAorICAgICAgICBhcmNoaXZlTGluayhzdWl0ZSwgZGF0YSksCiAgICAgICAgIGVsYXBzZWQo
ZGF0YSksCiAgICAgXTsKIApJbmRleDogVG9vbHMvcmVzdWx0c2RicHkvcmVzdWx0c2RicHkvdmll
dy9zdGF0aWMvanMvdGltZWxpbmUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvcmVzdWx0c2RicHkv
cmVzdWx0c2RicHkvdmlldy9zdGF0aWMvanMvdGltZWxpbmUuanMJKHJldmlzaW9uIDI1NzIxMykK
KysrIFRvb2xzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcvc3RhdGljL2pzL3RpbWVsaW5l
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEsNCBAQAotLy8gQ29weXJpZ2h0IChDKSAyMDE5
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIENvcHlyaWdodCAoQykgMjAxOSwg
MjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAvLwogLy8gUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAv
LyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKQEAgLTIxLDYgKzIxLDcgQEAKIC8vIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKIC8vIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAoraW1wb3J0IHtBcmNoaXZlUm91dGVyfSBmcm9t
ICcvYXNzZXRzL2pzL2FyY2hpdmVSb3V0ZXIuanMnOwogaW1wb3J0IHtDb21taXRCYW5rfSBmcm9t
ICcvYXNzZXRzL2pzL2NvbW1pdC5qcyc7CiBpbXBvcnQge0NvbmZpZ3VyYXRpb259IGZyb20gJy9h
c3NldHMvanMvY29uZmlndXJhdGlvbi5qcyc7CiBpbXBvcnQge2RlZXBDb21wYXJlLCBFcnJvckRp
c3BsYXksIGVzY2FwZUhUTUwsIHBhcmFtc1RvUXVlcnksIHF1ZXJ5VG9QYXJhbXN9IGZyb20gJy9h
c3NldHMvanMvY29tbW9uLmpzJzsKQEAgLTM0MywxMyArMzQ0LDE2IEBAIGZ1bmN0aW9uIGNvbWJp
bmVSZXN1bHRzKCkgewogfQogCiBjbGFzcyBUaW1lbGluZUZyb21FbmRwb2ludCB7Ci0gICAgY29u
c3RydWN0b3IoZW5kcG9pbnQsIHN1aXRlID0gbnVsbCwgdmlld3BvcnQgPSBudWxsKSB7CisgICAg
Y29uc3RydWN0b3IoZW5kcG9pbnQsIHN1aXRlID0gbnVsbCwgdGVzdCA9IG51bGwsIHZpZXdwb3J0
ID0gbnVsbCkgewogICAgICAgICB0aGlzLmVuZHBvaW50ID0gZW5kcG9pbnQ7CiAgICAgICAgIHRo
aXMuZGlzcGxheUFsbENvbW1pdHMgPSB0cnVlOwogCiAgICAgICAgIHRoaXMuY29uZmlndXJhdGlv
bnMgPSBDb25maWd1cmF0aW9uLmZyb21RdWVyeSgpOwogICAgICAgICB0aGlzLnJlc3VsdHMgPSB7
fTsKLSAgICAgICAgdGhpcy5zdWl0ZSA9IHN1aXRlOyAgLy8gU3VpdGUgaXMgb2Z0ZW4gaW1wbGll
ZCBieSB0aGUgZW5kcG9pbnQsIGJ1dCB0cnlpbmcgdG8gZGV0ZXJtaW5lIHN1aXRlIGZyb20gZW5k
cG9pbnQgaXMgbm90IHRyaXZpYWwuCisKKyAgICAgICAgLy8gU3VpdGUgYW5kIHRlc3QgY2FuIG9m
dGVuIGJlIGltcGxpZWQgYnkgdGhlIGVuZHBvaW50LCBidXQgZG9pbmcgc28gaXMgbW9yZSBjb25m
dXNpbmcgdGhlbiBoZWxwZnVsCisgICAgICAgIHRoaXMuc3VpdGUgPSBzdWl0ZTsKKyAgICAgICAg
dGhpcy50ZXN0ID0gdGVzdDsKIAogICAgICAgICB0aGlzLnVwZGF0ZXMgPSBbXTsKICAgICAgICAg
dGhpcy54YXhpc1VwZGF0ZXMgPSBbXTsKQEAgLTYyOCwxOCArNjMyLDE5IEBAIGNsYXNzIFRpbWVs
aW5lRnJvbUVuZHBvaW50IHsKICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICBw
YXJ0aWFsQ29uZmlndXJhdGlvbiA9IG5ldyBDb25maWd1cmF0aW9uKHBhcnRpYWxDb25maWd1cmF0
aW9uKTsKICAgICAgICAgICAgICAgICBjb25zdCBzY3JvbGxEZWx0YSA9IGRvY3VtZW50LmRvY3Vt
ZW50RWxlbWVudC5zY3JvbGxUb3AgfHwgZG9jdW1lbnQuYm9keS5zY3JvbGxUb3A7CisKKyAgICAg
ICAgICAgICAgICBjb25zdCBidWlsZFBhcmFtcyA9IGNvbmZpZ3VyYXRpb24udG9QYXJhbXMoKTsK
KyAgICAgICAgICAgICAgICBidWlsZFBhcmFtc1snc3VpdGUnXSA9IFtzZWxmLnN1aXRlXTsKKyAg
ICAgICAgICAgICAgICBidWlsZFBhcmFtc1sndXVpZCddID0gW2RhdGEudXVpZF07CisgICAgICAg
ICAgICAgICAgYnVpbGRQYXJhbXNbJ2FmdGVyX3RpbWUnXSA9IFtkYXRhLnN0YXJ0X3RpbWVdOwor
ICAgICAgICAgICAgICAgIGJ1aWxkUGFyYW1zWydiZWZvcmVfdGltZSddID0gW2RhdGEuc3RhcnRf
dGltZV07CisgICAgICAgICAgICAgICAgaWYgKGJyYW5jaCkKKyAgICAgICAgICAgICAgICAgICAg
YnVpbGRQYXJhbXNbJ2JyYW5jaCddID0gYnJhbmNoOworCiAgICAgICAgICAgICAgICAgVG9vbFRp
cC5zZXQoCiAgICAgICAgICAgICAgICAgICAgIGA8ZGl2IGNsYXNzPSJjb250ZW50Ij4KLSAgICAg
ICAgICAgICAgICAgICAgICAgICR7ZGF0YS5zdGFydF90aW1lID8gYDxhIGhyZWY9Ii91cmxzL2J1
aWxkPyR7cGFyYW1zVG9RdWVyeShmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbGV0IGJ1aWxkUGFyYW1zID0gY29uZmlndXJhdGlvbi50b1BhcmFtcygpOwotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGJ1aWxkUGFyYW1zWydzdWl0ZSddID0gW3NlbGYuc3VpdGVd
OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1aWxkUGFyYW1zWyd1dWlkJ10gPSBbZGF0
YS51dWlkXTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWlsZFBhcmFtc1snYWZ0ZXJf
dGltZSddID0gW2RhdGEuc3RhcnRfdGltZV07Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
YnVpbGRQYXJhbXNbJ2JlZm9yZV90aW1lJ10gPSBbZGF0YS5zdGFydF90aW1lXTsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpZiAoYnJhbmNoKQotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBidWlsZFBhcmFtc1snYnJhbmNoJ10gPSBicmFuY2g7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIGJ1aWxkUGFyYW1zOwotICAgICAgICAgICAgICAgICAgICAgICAg
fSAoKSl9IiB0YXJnZXQ9Il9ibGFuayI+VGVzdCBydW48L2E+IEAgJHtuZXcgRGF0ZShkYXRhLnN0
YXJ0X3RpbWUgKiAxMDAwKS50b0xvY2FsZVN0cmluZygpfTxicj5gIDogJyd9CisgICAgICAgICAg
ICAgICAgICAgICAgICAke2RhdGEuc3RhcnRfdGltZSA/IGA8YSBocmVmPSIvdXJscy9idWlsZD8k
e3BhcmFtc1RvUXVlcnkoYnVpbGRQYXJhbXMpfSIgdGFyZ2V0PSJfYmxhbmsiPlRlc3QgcnVuPC9h
PiBAICR7bmV3IERhdGUoZGF0YS5zdGFydF90aW1lICogMTAwMCkudG9Mb2NhbGVTdHJpbmcoKX08
YnI+YCA6ICcnfQorICAgICAgICAgICAgICAgICAgICAgICAgJHtkYXRhLnN0YXJ0X3RpbWUgJiYg
QXJjaGl2ZVJvdXRlci5oYXNBcmNoaXZlKHNlbGYuc3VpdGUsIGRhdGEuYWN0dWFsKSA/IGA8YSBo
cmVmPSIvYXJjaGl2ZS8ke0FyY2hpdmVSb3V0ZXIucGF0aEZvcihzZWxmLnN1aXRlLCBkYXRhLmFj
dHVhbCwgc2VsZi50ZXN0KX0/JHtwYXJhbXNUb1F1ZXJ5KGJ1aWxkUGFyYW1zKX0iIHRhcmdldD0i
X2JsYW5rIj4ke0FyY2hpdmVSb3V0ZXIubGFiZWxGb3Ioc2VsZi5zdWl0ZSwgZGF0YS5hY3R1YWwp
fTwvYT48YnI+YCA6ICcnfQogICAgICAgICAgICAgICAgICAgICAgICAgQ29tbWl0czogJHtDb21t
aXRCYW5rLmNvbW1pdHNEdXJpbmdVdWlkKGRhdGEudXVpZCkubWFwKChjb21taXQpID0+IHsKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgcGFyYW1zID0gewogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBicmFuY2g6IGNvbW1pdC5icmFuY2ggPyBbY29tbWl0LmJyYW5jaF0g
OiBicmFuY2gsCkluZGV4OiBUb29scy9yZXN1bHRzZGJweS9yZXN1bHRzZGJweS92aWV3L3RlbXBs
YXRlcy9zZWFyY2guaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9yZXN1bHRzZGJweS9yZXN1bHRz
ZGJweS92aWV3L3RlbXBsYXRlcy9zZWFyY2guaHRtbAkocmV2aXNpb24gMjU3MjEzKQorKysgVG9v
bHMvcmVzdWx0c2RicHkvcmVzdWx0c2RicHkvdmlldy90ZW1wbGF0ZXMvc2VhcmNoLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTU3LDcgKzU3LDcgQEAgY2xhc3MgU2VhcmNoVmlldyB7CiAgICAgICAg
ICAgICAgICAgc3RhdGUuY2hpbGRyZW4ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgIHN1aXRl
OiB0aGlzLmN1cnJlbnRQYXJhbXMuc3VpdGVbaV0sCiAgICAgICAgICAgICAgICAgICAgIHRlc3Q6
IHRoaXMuY3VycmVudFBhcmFtcy50ZXN0W2ldLAotICAgICAgICAgICAgICAgICAgICB0aW1lbGlu
ZTogbmV3IFRpbWVsaW5lRnJvbUVuZHBvaW50KGBhcGkvcmVzdWx0cy8ke3RoaXMuY3VycmVudFBh
cmFtcy5zdWl0ZVtpXX0vJHt0aGlzLmN1cnJlbnRQYXJhbXMudGVzdFtpXX1gLCB0aGlzLmN1cnJl
bnRQYXJhbXMuc3VpdGVbaV0pLAorICAgICAgICAgICAgICAgICAgICB0aW1lbGluZTogbmV3IFRp
bWVsaW5lRnJvbUVuZHBvaW50KGBhcGkvcmVzdWx0cy8ke3RoaXMuY3VycmVudFBhcmFtcy5zdWl0
ZVtpXX0vJHt0aGlzLmN1cnJlbnRQYXJhbXMudGVzdFtpXX1gLCB0aGlzLmN1cnJlbnRQYXJhbXMu
c3VpdGVbaV0sIHRoaXMuY3VycmVudFBhcmFtcy50ZXN0W2ldKSwKICAgICAgICAgICAgICAgICB9
KTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQpAQCAtMTcxLDcgKzE3MSw3IEBAIGNsYXNzIFNl
YXJjaFZpZXcgewogICAgICAgICAgICAgICAgICAgICBuZXdDaGlsZHJlbi5wdXNoKHsKICAgICAg
ICAgICAgICAgICAgICAgICAgIHN1aXRlOiBwYXJhbXMuc3VpdGVbaV0sCiAgICAgICAgICAgICAg
ICAgICAgICAgICB0ZXN0OiBwYXJhbXMudGVzdFtpXSwKLSAgICAgICAgICAgICAgICAgICAgICAg
IHRpbWVsaW5lOiBuZXcgVGltZWxpbmVGcm9tRW5kcG9pbnQoYGFwaS9yZXN1bHRzLyR7cGFyYW1z
LnN1aXRlW2ldfS8ke3BhcmFtcy50ZXN0W2ldfWApLAorICAgICAgICAgICAgICAgICAgICAgICAg
dGltZWxpbmU6IG5ldyBUaW1lbGluZUZyb21FbmRwb2ludChgYXBpL3Jlc3VsdHMvJHtwYXJhbXMu
c3VpdGVbaV19LyR7cGFyYW1zLnRlc3RbaV19YCwgcGFyYW1zLnN1aXRlW2ldLCBwYXJhbXMudGVz
dFtpXSksCiAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgIH0KQEAgLTI2Niw3ICsyNjYsNyBAQCBET00uaW5qZWN0KAogICAgICAgICAgICAgICAg
ICAgICBsZXQgY2hpbGQgPSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBzdWl0ZTogYXJndW1l
bnRzW2ldLnN1aXRlLAogICAgICAgICAgICAgICAgICAgICAgICAgdGVzdDogYXJndW1lbnRzW2ld
LnRlc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICB0aW1lbGluZTogbmV3IFRpbWVsaW5lRnJv
bUVuZHBvaW50KGBhcGkvcmVzdWx0cy8ke2FyZ3VtZW50c1tpXS5zdWl0ZX0vJHthcmd1bWVudHNb
aV0udGVzdH1gLCBudWxsLCB2aWV3cG9ydCksCisgICAgICAgICAgICAgICAgICAgICAgICB0aW1l
bGluZTogbmV3IFRpbWVsaW5lRnJvbUVuZHBvaW50KGBhcGkvcmVzdWx0cy8ke2FyZ3VtZW50c1tp
XS5zdWl0ZX0vJHthcmd1bWVudHNbaV0udGVzdH1gLCBhcmd1bWVudHNbaV0uc3VpdGUsIGFyZ3Vt
ZW50c1tpXS50ZXN0LCB2aWV3cG9ydCksCiAgICAgICAgICAgICAgICAgICAgIH0KIAogICAgICAg
ICAgICAgICAgICAgICB2aWV3LnJlZi5zZXRTdGF0ZSh7cHJlcGVuZGluZzogW2NoaWxkXX0pOwpJ
bmRleDogVG9vbHMvcmVzdWx0c2RicHkvcmVzdWx0c2RicHkvdmlldy90ZW1wbGF0ZXMvc3VpdGVf
cmVzdWx0cy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5
L3ZpZXcvdGVtcGxhdGVzL3N1aXRlX3Jlc3VsdHMuaHRtbAkocmV2aXNpb24gMjU3MjEzKQorKysg
VG9vbHMvcmVzdWx0c2RicHkvcmVzdWx0c2RicHkvdmlldy90ZW1wbGF0ZXMvc3VpdGVfcmVzdWx0
cy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC04Niw3ICs4Niw3IEBAIGNsYXNzIE1haW5WaWV3IHsK
ICAgICAgICAgT2JqZWN0LmtleXModGhpcy5jaGlsZHJlbikuZm9yRWFjaChrZXkgPT4ge3RoaXMu
Y2hpbGRyZW5ba2V5XS50ZWFyZG93bigpO30pOwogICAgICAgICB0aGlzLmNoaWxkcmVuID0ge307
CiAgICAgICAgIHNvcnRlZFN1aXRlcy5mb3JFYWNoKChzdWl0ZSkgPT4gewotICAgICAgICAgICAg
dGhpcy5jaGlsZHJlbltzdWl0ZV0gPSBuZXcgVGltZWxpbmVGcm9tRW5kcG9pbnQoJ2FwaS9yZXN1
bHRzLycgKyBzdWl0ZSk7CisgICAgICAgICAgICB0aGlzLmNoaWxkcmVuW3N1aXRlXSA9IG5ldyBU
aW1lbGluZUZyb21FbmRwb2ludCgnYXBpL3Jlc3VsdHMvJyArIHN1aXRlLCBzdWl0ZSk7CiAgICAg
ICAgIH0pOwogICAgICAgICByZXR1cm4gc29ydGVkU3VpdGVzOwogICAgIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>