<?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>137129</bug_id>
          
          <creation_ts>2014-09-25 14:42:32 -0700</creation_ts>
          <short_desc>EWS only repeats its cycle every two hours</short_desc>
          <delta_ts>2014-09-25 16:17:15 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>glenn</cc>
    
    <cc>rniwa</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1037302</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-09-25 14:42:32 -0700</bug_when>
    <thetext>When a patch fails in an uncertain way, so that  EWS cannot decide whether it introduces a failure, the whole cycle starts over.

How it currently works is that the lock is never released, so the retry happens when the lock expires. That&apos;s silly, especially now that the expiry time is two hours - any patch that was submitted to EWS while build was broken will not be retried until two hours later, which is probably longer than it would take to fix the breakage on average.

I&apos;m going to make queues release the lock any time they are done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1037312</commentid>
    <comment_count>1</comment_count>
      <attachid>238673</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-09-25 15:09:22 -0700</bug_when>
    <thetext>Created attachment 238673
proposed fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1037314</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-09-25 15:11:39 -0700</bug_when>
    <thetext>Attachment 238673 did not pass style-queue:

Traceback (most recent call last):
  File &quot;/Volumes/Data/StyleQueue/Webkit/Tools/Scripts/webkit-patch&quot;, line 44, in &lt;module&gt;
    from webkitpy.tool.main import WebKitPatch
  File &quot;/Volumes/Data/StyleQueue/WebKit/Tools/Scripts/webkitpy/tool/main.py&quot;, line 41, in &lt;module&gt;
    from webkitpy.tool import commands
  File &quot;/Volumes/Data/StyleQueue/WebKit/Tools/Scripts/webkitpy/tool/commands/__init__.py&quot;, line 9, in &lt;module&gt;
    from webkitpy.tool.commands.earlywarningsystem import AbstractEarlyWarningSystem
  File &quot;/Volumes/Data/StyleQueue/WebKit/Tools/Scripts/webkitpy/tool/commands/earlywarningsystem.py&quot;, line 42, in &lt;module&gt;
    from webkitpy.tool.commands.queues import AbstractReviewQueue
  File &quot;/Volumes/Data/StyleQueue/WebKit/Tools/Scripts/webkitpy/tool/commands/queues.py&quot;, line 428
    passed = review_patch(patch):
                                ^
SyntaxError: invalid syntax


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1037315</commentid>
    <comment_count>3</comment_count>
      <attachid>238674</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-09-25 15:14:00 -0700</bug_when>
    <thetext>Created attachment 238674
proposed fix

Indeed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1037316</commentid>
    <comment_count>4</comment_count>
      <attachid>238675</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-09-25 15:15:20 -0700</bug_when>
    <thetext>Created attachment 238675
ok, remembered to run test-webkitpy now</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1037321</commentid>
    <comment_count>5</comment_count>
      <attachid>238675</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2014-09-25 15:36:04 -0700</bug_when>
    <thetext>Comment on attachment 238675
ok, remembered to run test-webkitpy now

Hm... this is missing _unlock.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1037328</commentid>
    <comment_count>6</comment_count>
      <attachid>238681</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-09-25 15:58:57 -0700</bug_when>
    <thetext>Created attachment 238681
proposed fix

How about that?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1037329</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-09-25 16:02:20 -0700</bug_when>
    <thetext>Attachment 238681 did not pass style-queue:


ERROR: Tools/QueueStatusServer/model/workitems.py:89:  [WorkItems.move_to_end] Instance of &apos;WorkItems&apos; has no &apos;key&apos; member  [pylint/E1101] [5]
ERROR: Tools/QueueStatusServer/handlers/releaselock.py:5:  trailing whitespace  [pep8/W291] [5]
ERROR: Tools/QueueStatusServer/handlers/releaselock.py:6:  trailing whitespace  [pep8/W291] [5]
ERROR: Tools/QueueStatusServer/handlers/releaselock.py:8:  trailing whitespace  [pep8/W291] [5]
ERROR: Tools/QueueStatusServer/handlers/releaselock.py:12:  trailing whitespace  [pep8/W291] [5]
ERROR: Tools/QueueStatusServer/handlers/releaselock.py:34:  whitespace after &apos;{&apos;  [pep8/E201] [5]
ERROR: Tools/QueueStatusServer/handlers/releaselock.py:51:  blank line at end of file  [pep8/W391] [5]
ERROR: Tools/QueueStatusServer/handlers/releaselock.py:51:  trailing whitespace  [pep8/W291] [5]
ERROR: Tools/QueueStatusServer/handlers/releaselock.py:34:  [ReleaseLock.get] Instance of &apos;ReleaseLock&apos; has no &apos;response&apos; member  [pylint/E1101] [5]
ERROR: Tools/QueueStatusServer/handlers/releaselock.py:37:  [ReleaseLock.post] Instance of &apos;ReleaseLock&apos; has no &apos;request&apos; member  [pylint/E1101] [5]
ERROR: Tools/QueueStatusServer/handlers/releaselock.py:41:  [ReleaseLock.post] Instance of &apos;ReleaseLock&apos; has no &apos;error&apos; member  [pylint/E1101] [5]
ERROR: Tools/QueueStatusServer/handlers/releaselock.py:44:  [ReleaseLock.post] Instance of &apos;ReleaseLock&apos; has no &apos;_int_from_request&apos; member  [pylint/E1101] [5]
Total errors found: 12 in 12 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1037330</commentid>
    <comment_count>8</comment_count>
      <attachid>238681</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2014-09-25 16:07:04 -0700</bug_when>
    <thetext>Comment on attachment 238681
proposed fix

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

&gt; Tools/QueueStatusServer/model/activeworkitems.py:85
&gt; -        two_hours_ago = time.mktime((now - timedelta(minutes=120)).timetuple())
&gt; +        two_hours_ago = time.mktime((now - work_item_lock_timeout).timetuple())

We should rename two_hours_ago to something like cutoff_time now that the timeout is abstracted by a variable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1037331</commentid>
    <comment_count>9</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-09-25 16:17:15 -0700</bug_when>
    <thetext>Committed &lt;http://trac.webkit.org/r173979&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>238673</attachid>
            <date>2014-09-25 15:09:22 -0700</date>
            <delta_ts>2014-09-25 15:14:00 -0700</delta_ts>
            <desc>proposed fix</desc>
            <filename>ReleaseImmediately.txt</filename>
            <type>text/plain</type>
            <size>14529</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDE3Mzk3NSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDQzIEBACisyMDE0LTA5LTI1ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29t
PgorCisgICAgICAgIEVXUyBvbmx5IHJlcGVhdHMgaXRzIGN5Y2xlIGV2ZXJ5IHR3byBob3Vycwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM3MTI5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBRdWV1ZVN0
YXR1c1NlcnZlci9hcHAueWFtbDogVXBkYXRlZCB2ZXJzaW9uLgorCisgICAgICAgICogUXVldWVT
dGF0dXNTZXJ2ZXIvY29uZmlnL3F1ZXVlcy5weTogTW92ZWQgdGltZW91dCBmcm9tIGFjdGl2ZXdv
cmtpdGVtcy5weSB0byBjb25maWd1cmF0aW9uLgorCisgICAgICAgICogUXVldWVTdGF0dXNTZXJ2
ZXIvaGFuZGxlcnMvcmVsZWFzZWxvY2sucHk6IEFkZGVkLiBSZWxlYXNlcyB0aGUgbG9jayB3aXRo
b3V0IHJlbW92aW5nCisgICAgICAgIHRoZSBwYXRjaCBmcm9tIHdvcmsgaXRlbXMuCisKKyAgICAg
ICAgKiBRdWV1ZVN0YXR1c1NlcnZlci9pbmRleC55YW1sOiBObyByZWFsIGNoYW5nZSwganVzdCBs
ZXQgQXBwRW5naW5lIGhhdmUgaXRzIHdheSB3aXRoIGVudHJ5IG9yZGVyLgorCisgICAgICAgICog
UXVldWVTdGF0dXNTZXJ2ZXIvbWFpbi5weTogQWRkZWQgcmVsZWFzZS1sb2NrLgorCisgICAgICAg
ICogUXVldWVTdGF0dXNTZXJ2ZXIvbW9kZWwvYWN0aXZld29ya2l0ZW1zLnB5OgorICAgICAgICAo
QWN0aXZlV29ya0l0ZW1zLmRlYWN0aXZhdGVfZXhwaXJlZCk6IFVzZSB0aW1lb3V0IGZyb20gY29u
ZmlndXJhdGlvbi4KKworICAgICAgICAqIFF1ZXVlU3RhdHVzU2VydmVyL21vZGVsL3dvcmtpdGVt
cy5weTogQWRkZWQgbW92ZV90b19lbmQuIFdoZW4gd2UgdW5sb2NrIGEgcGF0Y2gsCisgICAgICAg
IHdlIGRvbid0IHdhbnQgaXQgdG8gYmUgaW1tZWRpYXRlbHkgcGlja2VkIHVwIGFnYWluLCBpdCdz
IGJldHRlciB0byBnaXZlIG90aGVyIHBhdGNoZXMKKyAgICAgICAgYSBjaGFuY2UuCisKKyAgICAg
ICAgKiBRdWV1ZVN0YXR1c1NlcnZlci90ZW1wbGF0ZXMvcmVsZWFzZWxvY2suaHRtbDogQWRkZWQu
IE5vdCBzdXJlIHdoeSBhbGwgY29tbWFuZHMgaGF2ZQorICAgICAgICB0aGVzZSBpbnRlcmFjdGl2
ZSB2ZXJzaW9ucywgYnV0IE9LLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL2Nv
bW1hbmRzL2Vhcmx5d2FybmluZ3N5c3RlbS5weTogKEFic3RyYWN0RWFybHlXYXJuaW5nU3lzdGVt
LnJldmlld19wYXRjaCk6CisgICAgICAgIFVubG9jayB0aGUgcGF0Y2ggd2hlbiBhIG5vbi1maW5h
bCBmYWlsdXJlIG9jY3VycyAoZS5nLiBjYW4ndCBidWlsZCBldmVuIHdpdGhvdXQgdGhlIHBhdGNo
LAorICAgICAgICBvciBzdm4gaXMgZG93bikuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L3Rvb2wvY29tbWFuZHMvcXVldWVzLnB5OgorICAgICAgICAoQWJzdHJhY3RSZXZpZXdRdWV1ZS5w
cm9jZXNzX3dvcmtfaXRlbSk6IERvIG5vdCB0cnkvY2F0Y2ggU2NyaXB0RXJyb3IgYXJvdW5kIHJl
dmlld19wYXRjaC4KKyAgICAgICAgU3R5bGUgcXVldWUgbmV2ZXIgcmFpc2VzIHRoZXNlLCBhbmQg
RVdTIGFscmVhZHkgY2FsbHMgX2RpZF9mYWlsLCBiZWZvcmUgcmUtdGhyb3dpbmcsCisgICAgICAg
IG1lYW5pbmcgdGhhdCB0aGVzZSBoYW5kbGVycyBjb3VsZCBuZXZlciBkbyB0aGUgcmlnaHQgdGhp
bmcuIFdlJ2QgZWl0aGVyIGdldCBhIGR1cGxpY2F0ZQorICAgICAgICBfZGlkX2ZhaWwsIG9yIHRy
eSB0byB1bmxvY2sgYW4gYWxyZWFkeSB1bmxvY2tlZCBwYXRjaC4KKyAgICAgICAgKFN0eWxlUXVl
dWUucmV2aWV3X3BhdGNoKTogVW5sb2NrIHRoZSBwYXRjaCBvbiB0cmFuc2llbnQgZmFpbHVyZSAo
c3VjaCBhcyBzdm4gZmFpbHVyZSksCisgICAgICAgIG1ha2luZyBpdCBlbGlnaWJsZSBmb3IgcmV0
cnkgaW1tZWRpYXRlbHkuCisKIDIwMTQtMDktMjUgIFJvZ2VyIEZvbmcgIDxyb2dlcl9mb25nQGFw
cGxlLmNvbT4KIAogICAgICAgICBbV2luZG93c10gQ2xvc2Ugc3RkaW4gdG8gZm9yY2UgYSBmbHVz
aCB0byBzdGRvdXQgaWYgbm8gdGVzdCBwYXRoIGlzIHJlYWQgZHVyaW5nIGxheW91dCB0ZXN0cy4K
SW5kZXg6IFRvb2xzL1F1ZXVlU3RhdHVzU2VydmVyL2FwcC55YW1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL1F1ZXVlU3RhdHVzU2VydmVyL2FwcC55YW1sCShyZXZpc2lvbiAxNzM4OTgpCisrKyBUb29s
cy9RdWV1ZVN0YXR1c1NlcnZlci9hcHAueWFtbAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUg
QEAKIGFwcGxpY2F0aW9uOiB3ZWJraXQtcXVldWVzCi12ZXJzaW9uOiAxNzM1ODcgIyBCdWd6aWxs
YSBidWcgSUQgb2YgbGFzdCBtYWpvciBjaGFuZ2UKK3ZlcnNpb246IDE3Mzk3NiAjIEJ1Z3ppbGxh
IGJ1ZyBJRCBvZiBsYXN0IG1ham9yIGNoYW5nZQogcnVudGltZTogcHl0aG9uCiBhcGlfdmVyc2lv
bjogMQogCkluZGV4OiBUb29scy9RdWV1ZVN0YXR1c1NlcnZlci9pbmRleC55YW1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFRvb2xzL1F1ZXVlU3RhdHVzU2VydmVyL2luZGV4LnlhbWwJKHJldmlzaW9uIDE3Mzg5
OCkKKysrIFRvb2xzL1F1ZXVlU3RhdHVzU2VydmVyL2luZGV4LnlhbWwJKHdvcmtpbmcgY29weSkK
QEAgLTMxLDQxICszMSw0MSBAQCBpbmRleGVzOgogLSBraW5kOiBRdWV1ZVN0YXR1cwogICBwcm9w
ZXJ0aWVzOgogICAtIG5hbWU6IGJvdF9pZAotICAtIG5hbWU6IG1lc3NhZ2UKLSAgLSBuYW1lOiBx
dWV1ZV9uYW1lCiAgIC0gbmFtZTogZGF0ZQogICAgIGRpcmVjdGlvbjogZGVzYwogCiAtIGtpbmQ6
IFF1ZXVlU3RhdHVzCiAgIHByb3BlcnRpZXM6CiAgIC0gbmFtZTogYm90X2lkCisgIC0gbmFtZTog
bWVzc2FnZQogICAtIG5hbWU6IHF1ZXVlX25hbWUKICAgLSBuYW1lOiBkYXRlCiAgICAgZGlyZWN0
aW9uOiBkZXNjCiAKIC0ga2luZDogUXVldWVTdGF0dXMKICAgcHJvcGVydGllczoKLSAgLSBuYW1l
OiBtZXNzYWdlCisgIC0gbmFtZTogYm90X2lkCiAgIC0gbmFtZTogcXVldWVfbmFtZQogICAtIG5h
bWU6IGRhdGUKKyAgICBkaXJlY3Rpb246IGRlc2MKIAogLSBraW5kOiBRdWV1ZVN0YXR1cwogICBw
cm9wZXJ0aWVzOgogICAtIG5hbWU6IG1lc3NhZ2UKICAgLSBuYW1lOiBxdWV1ZV9uYW1lCiAgIC0g
bmFtZTogZGF0ZQotICAgIGRpcmVjdGlvbjogZGVzYwogCiAtIGtpbmQ6IFF1ZXVlU3RhdHVzCiAg
IHByb3BlcnRpZXM6CisgIC0gbmFtZTogbWVzc2FnZQogICAtIG5hbWU6IHF1ZXVlX25hbWUKICAg
LSBuYW1lOiBkYXRlCisgICAgZGlyZWN0aW9uOiBkZXNjCiAKIC0ga2luZDogUXVldWVTdGF0dXMK
ICAgcHJvcGVydGllczoKLSAgLSBuYW1lOiBib3RfaWQKKyAgLSBuYW1lOiBxdWV1ZV9uYW1lCiAg
IC0gbmFtZTogZGF0ZQotICAgIGRpcmVjdGlvbjogZGVzYwogCiAtIGtpbmQ6IFF1ZXVlU3RhdHVz
CiAgIHByb3BlcnRpZXM6CkluZGV4OiBUb29scy9RdWV1ZVN0YXR1c1NlcnZlci9tYWluLnB5Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFRvb2xzL1F1ZXVlU3RhdHVzU2VydmVyL21haW4ucHkJKHJldmlzaW9uIDE3
Mzg5OCkKKysrIFRvb2xzL1F1ZXVlU3RhdHVzU2VydmVyL21haW4ucHkJKHdvcmtpbmcgY29weSkK
QEAgLTQ1LDYgKzQ1LDcgQEAgZnJvbSBoYW5kbGVycy5xdWV1ZXN0YXR1cyBpbXBvcnQgUXVldWVT
dAogZnJvbSBoYW5kbGVycy5xdWV1ZXN0YXR1c2pzb24gaW1wb3J0IFF1ZXVlU3RhdHVzSlNPTgog
ZnJvbSBoYW5kbGVycy5yZWNlbnRzdGF0dXMgaW1wb3J0IFF1ZXVlc092ZXJ2aWV3CiBmcm9tIGhh
bmRsZXJzLnJlbGVhc2VwYXRjaCBpbXBvcnQgUmVsZWFzZVBhdGNoCitmcm9tIGhhbmRsZXJzLnJl
bGVhc2Vsb2NrIGltcG9ydCBSZWxlYXNlTG9jawogZnJvbSBoYW5kbGVycy5zaG93cmVzdWx0cyBp
bXBvcnQgU2hvd1Jlc3VsdHMKIGZyb20gaGFuZGxlcnMuc3RhdHVzYnViYmxlIGltcG9ydCBTdGF0
dXNCdWJibGUKIGZyb20gaGFuZGxlcnMuc3VibWl0dG9ld3MgaW1wb3J0IFN1Ym1pdFRvRVdTCkBA
IC03NSw2ICs3Niw3IEBAIHJvdXRlcyA9IFsKICAgICAocicvcXVldWUtc3RhdHVzLWpzb24vKC4q
KScsIFF1ZXVlU3RhdHVzSlNPTiksCiAgICAgKHInL25leHQtcGF0Y2gvKC4qKScsIE5leHRQYXRj
aCksCiAgICAgKHInL3JlbGVhc2UtcGF0Y2gnLCBSZWxlYXNlUGF0Y2gpLAorICAgIChyJy9yZWxl
YXNlLWxvY2snLCBSZWxlYXNlTG9jayksCiAgICAgKCcvdXBkYXRlLXN0YXR1cycsIFVwZGF0ZVN0
YXR1cyksCiAgICAgKCcvdXBkYXRlLXdvcmstaXRlbXMnLCBVcGRhdGVXb3JrSXRlbXMpLAogICAg
ICgnL3VwZGF0ZS1zdm4tcmV2aXNpb24nLCBVcGRhdGVTVk5SZXZpc2lvbiksCkluZGV4OiBUb29s
cy9RdWV1ZVN0YXR1c1NlcnZlci9jb25maWcvcXVldWVzLnB5Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xz
L1F1ZXVlU3RhdHVzU2VydmVyL2NvbmZpZy9xdWV1ZXMucHkJKHJldmlzaW9uIDE3Mzg5OCkKKysr
IFRvb2xzL1F1ZXVlU3RhdHVzU2VydmVyL2NvbmZpZy9xdWV1ZXMucHkJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSw0IEBACisjIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAjIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgogIwogIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAgLTI2LDYgKzI3LDggQEAKICMgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCiAKK2Zyb20gZGF0ZXRpbWUgaW1wb3J0IHRpbWVkZWx0YQorCiAj
IEV2ZW50dWFsbHkgdGhlIGxpc3Qgb2YgcXVldWVzIG1heSBiZSBzdG9yZWQgaW4gdGhlIGRhdGEg
c3RvcmUuCiBhbGxfcXVldWVfbmFtZXMgPSBbCiAgICAgImNvbW1pdC1xdWV1ZSIsCkBAIC0zNiwz
ICszOSw3IEBAIGFsbF9xdWV1ZV9uYW1lcyA9IFsKICAgICAid2luLWV3cyIsCiAgICAgImVmbC13
azItZXdzIiwKIF0KKworIyBJZiB0aGUgcGF0Y2ggaXMgc3RpbGwgYWN0aXZlIGFmdGVyIHRoaXMg
bXVjaCB0aW1lLCB0aGVuIGEgYm90IG11c3QgaGF2ZSBmcm96ZW4gb3IgcmVib290ZWQsCisjIGFu
ZCBkcm9wcGVkIHRoZSBwYXRjaCBvbiB0aGUgZmxvb3IuIFdlIHdpbGwgaWdub3JlIHRoZSBsb2Nr
IGluIHRoaXMgY2FzZSwgYW5kIGxldCBhbm90aGVyIGJvdCBwaWNrIHVwLgord29ya19pdGVtX2xv
Y2tfdGltZW91dCA9IHRpbWVkZWx0YShtaW51dGVzPTEyMCkKSW5kZXg6IFRvb2xzL1F1ZXVlU3Rh
dHVzU2VydmVyL2hhbmRsZXJzL3JlbGVhc2Vsb2NrLnB5Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1F1
ZXVlU3RhdHVzU2VydmVyL2hhbmRsZXJzL3JlbGVhc2Vsb2NrLnB5CShyZXZpc2lvbiAwKQorKysg
VG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvaGFuZGxlcnMvcmVsZWFzZWxvY2sucHkJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw1MSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUKKyMg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6
CisjIAorIyAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiAKKyMgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAKKyMgMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3QKKyMgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMKKyMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorIyAKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisj
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YKKyMgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwKKyMg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisjIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyMgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKyMgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUgorIyBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisjIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisKK2Zy
b20gZ29vZ2xlLmFwcGVuZ2luZS5leHQgaW1wb3J0IHdlYmFwcCwgZGIKK2Zyb20gZ29vZ2xlLmFw
cGVuZ2luZS5leHQud2ViYXBwIGltcG9ydCB0ZW1wbGF0ZQorCitmcm9tIGNvbmZpZy5xdWV1ZXMg
aW1wb3J0IHdvcmtfaXRlbV9sb2NrX3RpbWVvdXQKK2Zyb20gaGFuZGxlcnMudXBkYXRlYmFzZSBp
bXBvcnQgVXBkYXRlQmFzZQorZnJvbSBtb2RlbC5xdWV1ZXMgaW1wb3J0IFF1ZXVlCisKKworY2xh
c3MgUmVsZWFzZUxvY2soVXBkYXRlQmFzZSk6CisgICAgZGVmIGdldChzZWxmKToKKyAgICAgICAg
c2VsZi5yZXNwb25zZS5vdXQud3JpdGUodGVtcGxhdGUucmVuZGVyKCJ0ZW1wbGF0ZXMvcmVsZWFz
ZWxvY2suaHRtbCIsIHsgInRpbWVvdXQiOiB3b3JrX2l0ZW1fbG9ja190aW1lb3V0fSApKQorCisg
ICAgZGVmIHBvc3Qoc2VsZik6CisgICAgICAgIHF1ZXVlX25hbWUgPSBzZWxmLnJlcXVlc3QuZ2V0
KCJxdWV1ZV9uYW1lIikKKyAgICAgICAgIyBGSVhNRTogVGhpcyBxdWV1ZSBsb29rdXAgc2hvdWxk
IGJlIHNoYXJlZCBiZXR3ZWVuIGhhbmRsZXJzLgorICAgICAgICBxdWV1ZSA9IFF1ZXVlLnF1ZXVl
X3dpdGhfbmFtZShxdWV1ZV9uYW1lKQorICAgICAgICBpZiBub3QgcXVldWU6CisgICAgICAgICAg
ICBzZWxmLmVycm9yKDQwNCkKKyAgICAgICAgICAgIHJldHVybgorCisgICAgICAgIGF0dGFjaG1l
bnRfaWQgPSBzZWxmLl9pbnRfZnJvbV9yZXF1ZXN0KCJhdHRhY2htZW50X2lkIikKKyAgICAgICAg
cXVldWUuYWN0aXZlX3dvcmtfaXRlbXMoKS5leHBpcmVfaXRlbShhdHRhY2htZW50X2lkKQorCisg
ICAgICAgICMgUmVsZWFzZUxvY2sgaXMgdXNlZCB3aGVuIGEgcXVldWUgbmVpdGhlciBzdWNjZWVk
ZWQgbm9yIGZhaWxlZCwgc28gaXQgc2lsZW50bHkgcmVsZWFzZXMgdGhlIHBhdGNoLgorICAgICAg
ICAjIExldCdzIHRyeSBvdGhlciBwYXRjaGVzIGJlZm9yZSByZXRyeWluZyB0aGlzIG9uZSwgaW4g
dGhlIGludGVyZXN0IG9mIGZhaXJuZXNzLCBhbmQgYWxzbyBiZWNhdXNlCisgICAgICAgICMgYW5v
dGhlciBwYXRjaCBjb3VsZCBiZSBwb3N0ZWQgdG8gYWRkcmVzcyBxdWV1ZSBwcm9ibGVtcy4KKyAg
ICAgICAgcXVldWUud29ya19pdGVtcygpLm1vdmVfdG9fZW5kKGF0dGFjaG1lbnRfaWQpCisgICAg
ICAgIAoKUHJvcGVydHkgY2hhbmdlcyBvbjogVG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvaGFuZGxl
cnMvcmVsZWFzZWxvY2sucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCww
ICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBUb29scy9R
dWV1ZVN0YXR1c1NlcnZlci9tb2RlbC9hY3RpdmV3b3JraXRlbXMucHkKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
VG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvbW9kZWwvYWN0aXZld29ya2l0ZW1zLnB5CShyZXZpc2lv
biAxNzM4OTgpCisrKyBUb29scy9RdWV1ZVN0YXR1c1NlcnZlci9tb2RlbC9hY3RpdmV3b3JraXRl
bXMucHkJKHdvcmtpbmcgY29weSkKQEAgLTMxLDYgKzMxLDcgQEAgZnJvbSBnb29nbGUuYXBwZW5n
aW5lLmV4dCBpbXBvcnQgZGIKIGZyb20gZGF0ZXRpbWUgaW1wb3J0IHRpbWVkZWx0YSwgZGF0ZXRp
bWUKIGltcG9ydCB0aW1lCiAKK2Zyb20gY29uZmlnLnF1ZXVlcyBpbXBvcnQgd29ya19pdGVtX2xv
Y2tfdGltZW91dAogZnJvbSBtb2RlbC5xdWV1ZXByb3BlcnR5bWl4aW4gaW1wb3J0IFF1ZXVlUHJv
cGVydHlNaXhpbgogCiAKQEAgLTgxLDcgKzgyLDcgQEAgY2xhc3MgQWN0aXZlV29ya0l0ZW1zKGRi
Lk1vZGVsLCBRdWV1ZVBybwogICAgIGRlZiBkZWFjdGl2YXRlX2V4cGlyZWQoc2VsZiwgbm93KToK
ICAgICAgICAgIyBJZiB0aGUgcGF0Y2ggaXMgc3RpbGwgYWN0aXZlIGFmdGVyIHRoaXMgbXVjaCB0
aW1lLCB0aGVuIGEgYm90IG11c3QgaGF2ZSBmcm96ZW4gb3IgcmVib290ZWQsCiAgICAgICAgICMg
YW5kIGRyb3BwZWQgdGhlIHBhdGNoIG9uIHRoZSBmbG9vci4gTGV0IGFub3RoZXIgYm90IHBpY2sg
aXQgdXAuCi0gICAgICAgIHR3b19ob3Vyc19hZ28gPSB0aW1lLm1rdGltZSgobm93IC0gdGltZWRl
bHRhKG1pbnV0ZXM9MTIwKSkudGltZXR1cGxlKCkpCisgICAgICAgIHR3b19ob3Vyc19hZ28gPSB0
aW1lLm1rdGltZSgobm93IC0gd29ya19pdGVtX2xvY2tfdGltZW91dCkudGltZXR1cGxlKCkpCiAg
ICAgICAgIG5vbmV4cGlyZWRfcGFpcnMgPSBbcGFpciBmb3IgcGFpciBpbiBzZWxmLl9pdGVtX3Rp
bWVfcGFpcnMoKSBpZiBwYWlyWzFdID4gdHdvX2hvdXJzX2Fnb10KICAgICAgICAgc2VsZi5fc2V0
X2l0ZW1fdGltZV9wYWlycyhub25leHBpcmVkX3BhaXJzKQogCkluZGV4OiBUb29scy9RdWV1ZVN0
YXR1c1NlcnZlci9tb2RlbC93b3JraXRlbXMucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvUXVldWVT
dGF0dXNTZXJ2ZXIvbW9kZWwvd29ya2l0ZW1zLnB5CShyZXZpc2lvbiAxNzM4OTgpCisrKyBUb29s
cy9RdWV1ZVN0YXR1c1NlcnZlci9tb2RlbC93b3JraXRlbXMucHkJKHdvcmtpbmcgY29weSkKQEAg
LTc1LDMgKzc1LDE1IEBAIGNsYXNzIFdvcmtJdGVtcyhkYi5Nb2RlbCwgUXVldWVQcm9wZXJ0eU0K
ICAgICAjIEJlY2F1c2UgdGhpcyB1c2VzIC5rZXkoKSBzZWxmLmlzX3NhdmVkKCkgbXVzdCBiZSBU
cnVlIG9yIHRoaXMgd2lsbCB0aHJvdyBOb3RTYXZlZEVycm9yLgogICAgIGRlZiByZW1vdmVfd29y
a19pdGVtKHNlbGYsIGF0dGFjaG1lbnRfaWQpOgogICAgICAgICBkYi5ydW5faW5fdHJhbnNhY3Rp
b24oc2VsZi5fdW5ndWFyZGVkX3JlbW92ZSwgc2VsZi5rZXkoKSwgYXR0YWNobWVudF9pZCkKKwor
ICAgIEBzdGF0aWNtZXRob2QKKyAgICBkZWYgX3VuZ3VhcmRlZF9tb3ZlX3RvX2VuZChrZXksIGF0
dGFjaG1lbnRfaWQpOgorICAgICAgICB3b3JrX2l0ZW1zID0gZGIuZ2V0KGtleSkKKyAgICAgICAg
aWYgYXR0YWNobWVudF9pZCBpbiB3b3JrX2l0ZW1zLml0ZW1faWRzOgorICAgICAgICAgICAgIyBX
ZSBzaG91bGQgbmV2ZXIgaGF2ZSBtb3JlIHRoYW4gb25lIGVudHJ5IGZvciBhIHdvcmsgaXRlbSwg
c28gd2Ugb25seSBuZWVkIHJlbW92ZSB0aGUgZmlyc3QuCisgICAgICAgICAgICB3b3JrX2l0ZW1z
Lml0ZW1faWRzLnJlbW92ZShhdHRhY2htZW50X2lkKQorICAgICAgICAgICAgd29ya19pdGVtcy5p
dGVtX2lkcy5hcHBlbmQoYXR0YWNobWVudF9pZCkKKyAgICAgICAgd29ya19pdGVtcy5wdXQoKQor
CisgICAgZGVmIG1vdmVfdG9fZW5kKHNlbGYsIGF0dGFjaG1lbnRfaWQpOgorICAgICAgICBkYi5y
dW5faW5fdHJhbnNhY3Rpb24oc2VsZi5fdW5ndWFyZGVkX21vdmVfdG9fZW5kLCBzZWxmLmtleSgp
LCBhdHRhY2htZW50X2lkKQpJbmRleDogVG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvdGVtcGxhdGVz
L3JlbGVhc2Vsb2NrLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIv
dGVtcGxhdGVzL3JlbGVhc2Vsb2NrLmh0bWwJKHJldmlzaW9uIDApCisrKyBUb29scy9RdWV1ZVN0
YXR1c1NlcnZlci90ZW1wbGF0ZXMvcmVsZWFzZWxvY2suaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDYgQEAKKzxmb3JtIG5hbWU9InJlbGVhc2VfbG9jayIgZW5jdHlwZT0ibXVsdGlwYXJ0
L2Zvcm0tZGF0YSIgbWV0aG9kPSJwb3N0Ij4KKzxwPlJlbGVhc2UgcXVldWUgbG9jay48L3A+Cis8
cD5Pbmx5IHVzZSB0aGlzIHdoZW4gYSBwYXRjaCBpcyBsb2NrZWQgZXJyb25lb3VzbHksIGFuZCB0
aGVyZSBpcyBubyBib3QgcHJvY2Vzc2luZyBpdC4KK1BhdGNoZXMgYXJlIGFsc28gdW5sb2NrZWQg
YXV0b21hdGljYWxseSBhZnRlciBhIHNob3J0IHRpbWVvdXQgKGN1cnJlbnRseSBzZXQgdG8ge3sg
dGltZW91dCB9fSksIHNvIHRoaXMgaXMgcmFyZWx5IG5lY2Vzc2FyeS48L3A+CitQYXRjaCB0byB1
bmxvY2s6IDxpbnB1dCBuYW1lPSJhdHRhY2htZW50X2lkIiBwbGFjZWhvbGRlcj0icGF0Y2ggaWQg
aW4gQnVnemlsbGEiPiBmcm9tIDxpbnB1dCBuYW1lPSJxdWV1ZV9uYW1lIiBwbGFjZWhvbGRlcj0i
cXVldWUgbmFtZSI+PGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IlJlbGVhc2UgbG9jayB0byBy
ZS1ydW4iPjwvZGl2PgorPC9mb3JtPgoKUHJvcGVydHkgY2hhbmdlcyBvbjogVG9vbHMvUXVldWVT
dGF0dXNTZXJ2ZXIvdGVtcGxhdGVzL3JlbGVhc2Vsb2NrLmh0bWwKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDog
c3ZuOm1pbWUtdHlwZQojIyAtMCwwICsxICMjCit0ZXh0L2h0bWwKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBwcm9wZXJ0eQpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRz
L2Vhcmx5d2FybmluZ3N5c3RlbS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtp
dHB5L3Rvb2wvY29tbWFuZHMvZWFybHl3YXJuaW5nc3lzdGVtLnB5CShyZXZpc2lvbiAxNzM4OTgp
CisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvZWFybHl3YXJuaW5nc3lz
dGVtLnB5CSh3b3JraW5nIGNvcHkpCkBAIC04NSw3ICs4NSwxMSBAQCBjbGFzcyBBYnN0cmFjdEVh
cmx5V2FybmluZ1N5c3RlbShBYnN0cmFjCiAgICAgICAgICAgICBzZWxmLl9kaWRfZXJyb3IocGF0
Y2gsICIlcyBkaWQgbm90IHByb2Nlc3MgcGF0Y2guIiAlIHNlbGYubmFtZSkKICAgICAgICAgICAg
IHJldHVybiBGYWxzZQogICAgICAgICB0cnk6Ci0gICAgICAgICAgICByZXR1cm4gdGFzay5ydW4o
KQorICAgICAgICAgICAgc3VjY2VlZGVkID0gdGFzay5ydW4oKQorICAgICAgICAgICAgaWYgbm90
IHN1Y2NlZWRlZDoKKyAgICAgICAgICAgICAgICAjIENhbGxlciB1bmxvY2tzIHdoZW4gcmV2aWV3
X3BhdGNoIHJldHVybnMgVHJ1ZSwgc28gd2Ugb25seSBuZWVkIHRvIHVubG9jayBvbiB0cmFuc2ll
bnQgZmFpbHVyZS4KKyAgICAgICAgICAgICAgICBzZWxmLl91bmxvY2socGF0Y2gpCisgICAgICAg
ICAgICByZXR1cm4gc3VjY2VlZGVkCiAgICAgICAgIGV4Y2VwdCBVbmFibGVUb0FwcGx5UGF0Y2gs
IGU6CiAgICAgICAgICAgICBzZWxmLl9kaWRfZXJyb3IocGF0Y2gsICIlcyB1bmFibGUgdG8gYXBw
bHkgcGF0Y2guIiAlIHNlbGYubmFtZSkKICAgICAgICAgICAgIHJldHVybiBGYWxzZQpJbmRleDog
VG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3F1ZXVlcy5weQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcXVldWVzLnB5CShyZXZp
c2lvbiAxNzM4OTgpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcXVl
dWVzLnB5CSh3b3JraW5nIGNvcHkpCkBAIC00MjUsMTkgKzQyNSwxMCBAQCBjbGFzcyBBYnN0cmFj
dFJldmlld1F1ZXVlKFBhdGNoUHJvY2Vzc2luCiAgICAgICAgIHJldHVybiBzZWxmLl9uZXh0X3Bh
dGNoKCkKIAogICAgIGRlZiBwcm9jZXNzX3dvcmtfaXRlbShzZWxmLCBwYXRjaCk6Ci0gICAgICAg
IHRyeToKLSAgICAgICAgICAgIGlmIG5vdCBzZWxmLnJldmlld19wYXRjaChwYXRjaCk6Ci0gICAg
ICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisgICAgICAgIHBhc3NlZCA9IHJldmlld19wYXRjaChw
YXRjaCk6CisgICAgICAgIGlmIHBhc3NlZDoKICAgICAgICAgICAgIHNlbGYuX2RpZF9wYXNzKHBh
dGNoKQotICAgICAgICAgICAgcmV0dXJuIFRydWUKLSAgICAgICAgZXhjZXB0IFNjcmlwdEVycm9y
LCBlOgotICAgICAgICAgICAgaWYgZS5leGl0X2NvZGUgIT0gUXVldWVFbmdpbmUuaGFuZGxlZF9l
cnJvcl9jb2RlOgotICAgICAgICAgICAgICAgIHNlbGYuX2RpZF9mYWlsKHBhdGNoKQotICAgICAg
ICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAjIFRoZSBzdWJwcm9jZXNzIGhhbmRsZWQgdGhl
IGVycm9yLCBidXQgd29uJ3QgaGF2ZSByZWxlYXNlZCB0aGUgcGF0Y2gsIHNvIHdlIGRvLgotICAg
ICAgICAgICAgICAgICMgRklYTUU6IFdlIG5lZWQgdG8gc2ltcGxpZnkgdGhlIHJ1bGVzIGJ5IHdo
aWNoIF9yZWxlYXNlX3dvcmtfaXRlbSBpcyBjYWxsZWQuCi0gICAgICAgICAgICAgICAgc2VsZi5f
cmVsZWFzZV93b3JrX2l0ZW0ocGF0Y2gpCi0gICAgICAgICAgICByYWlzZSBlCisgICAgICAgIHJl
dHVybiBwYXNzZWQKIAogICAgIGRlZiBoYW5kbGVfdW5leHBlY3RlZF9lcnJvcihzZWxmLCBwYXRj
aCwgbWVzc2FnZSk6CiAgICAgICAgIF9sb2cuZXJyb3IobWVzc2FnZSkKQEAgLTQ2MSw3ICs0NTIs
MTEgQEAgY2xhc3MgU3R5bGVRdWV1ZShBYnN0cmFjdFJldmlld1F1ZXVlLCBTdAogICAgICAgICAg
ICAgc2VsZi5fZGlkX2Vycm9yKHBhdGNoLCAiJXMgZGlkIG5vdCBwcm9jZXNzIHBhdGNoLiIgJSBz
ZWxmLm5hbWUpCiAgICAgICAgICAgICByZXR1cm4gRmFsc2UKICAgICAgICAgdHJ5OgotICAgICAg
ICAgICAgcmV0dXJuIHRhc2sucnVuKCkKKyAgICAgICAgICAgIHN0eWxlX2NoZWNrX3N1Y2NlZWRl
ZCA9IHRhc2sucnVuKCkKKyAgICAgICAgICAgIGlmIG5vdCBzdHlsZV9jaGVja19zdWNjZWVkZWQ6
CisgICAgICAgICAgICAgICAgIyBDYWxsZXIgdW5sb2NrcyB3aGVuIHJldmlld19wYXRjaCByZXR1
cm5zIFRydWUsIHNvIHdlIG9ubHkgbmVlZCB0byB1bmxvY2sgb24gdHJhbnNpZW50IGZhaWx1cmUu
CisgICAgICAgICAgICAgICAgc2VsZi5fdW5sb2NrKHBhdGNoKQorICAgICAgICAgICAgcmV0dXJu
IHN0eWxlX2NoZWNrX3N1Y2NlZWRlZAogICAgICAgICBleGNlcHQgVW5hYmxlVG9BcHBseVBhdGNo
LCBlOgogICAgICAgICAgICAgc2VsZi5fZGlkX2Vycm9yKHBhdGNoLCAiJXMgdW5hYmxlIHRvIGFw
cGx5IHBhdGNoLiIgJSBzZWxmLm5hbWUpCiAgICAgICAgICAgICByZXR1cm4gRmFsc2UK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>238674</attachid>
            <date>2014-09-25 15:14:00 -0700</date>
            <delta_ts>2014-09-25 15:15:20 -0700</delta_ts>
            <desc>proposed fix</desc>
            <filename>ReleaseImmediately.txt</filename>
            <type>text/plain</type>
            <size>14528</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDE3Mzk3NSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDQzIEBACisyMDE0LTA5LTI1ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29t
PgorCisgICAgICAgIEVXUyBvbmx5IHJlcGVhdHMgaXRzIGN5Y2xlIGV2ZXJ5IHR3byBob3Vycwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM3MTI5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBRdWV1ZVN0
YXR1c1NlcnZlci9hcHAueWFtbDogVXBkYXRlZCB2ZXJzaW9uLgorCisgICAgICAgICogUXVldWVT
dGF0dXNTZXJ2ZXIvY29uZmlnL3F1ZXVlcy5weTogTW92ZWQgdGltZW91dCBmcm9tIGFjdGl2ZXdv
cmtpdGVtcy5weSB0byBjb25maWd1cmF0aW9uLgorCisgICAgICAgICogUXVldWVTdGF0dXNTZXJ2
ZXIvaGFuZGxlcnMvcmVsZWFzZWxvY2sucHk6IEFkZGVkLiBSZWxlYXNlcyB0aGUgbG9jayB3aXRo
b3V0IHJlbW92aW5nCisgICAgICAgIHRoZSBwYXRjaCBmcm9tIHdvcmsgaXRlbXMuCisKKyAgICAg
ICAgKiBRdWV1ZVN0YXR1c1NlcnZlci9pbmRleC55YW1sOiBObyByZWFsIGNoYW5nZSwganVzdCBs
ZXQgQXBwRW5naW5lIGhhdmUgaXRzIHdheSB3aXRoIGVudHJ5IG9yZGVyLgorCisgICAgICAgICog
UXVldWVTdGF0dXNTZXJ2ZXIvbWFpbi5weTogQWRkZWQgcmVsZWFzZS1sb2NrLgorCisgICAgICAg
ICogUXVldWVTdGF0dXNTZXJ2ZXIvbW9kZWwvYWN0aXZld29ya2l0ZW1zLnB5OgorICAgICAgICAo
QWN0aXZlV29ya0l0ZW1zLmRlYWN0aXZhdGVfZXhwaXJlZCk6IFVzZSB0aW1lb3V0IGZyb20gY29u
ZmlndXJhdGlvbi4KKworICAgICAgICAqIFF1ZXVlU3RhdHVzU2VydmVyL21vZGVsL3dvcmtpdGVt
cy5weTogQWRkZWQgbW92ZV90b19lbmQuIFdoZW4gd2UgdW5sb2NrIGEgcGF0Y2gsCisgICAgICAg
IHdlIGRvbid0IHdhbnQgaXQgdG8gYmUgaW1tZWRpYXRlbHkgcGlja2VkIHVwIGFnYWluLCBpdCdz
IGJldHRlciB0byBnaXZlIG90aGVyIHBhdGNoZXMKKyAgICAgICAgYSBjaGFuY2UuCisKKyAgICAg
ICAgKiBRdWV1ZVN0YXR1c1NlcnZlci90ZW1wbGF0ZXMvcmVsZWFzZWxvY2suaHRtbDogQWRkZWQu
IE5vdCBzdXJlIHdoeSBhbGwgY29tbWFuZHMgaGF2ZQorICAgICAgICB0aGVzZSBpbnRlcmFjdGl2
ZSB2ZXJzaW9ucywgYnV0IE9LLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL2Nv
bW1hbmRzL2Vhcmx5d2FybmluZ3N5c3RlbS5weTogKEFic3RyYWN0RWFybHlXYXJuaW5nU3lzdGVt
LnJldmlld19wYXRjaCk6CisgICAgICAgIFVubG9jayB0aGUgcGF0Y2ggd2hlbiBhIG5vbi1maW5h
bCBmYWlsdXJlIG9jY3VycyAoZS5nLiBjYW4ndCBidWlsZCBldmVuIHdpdGhvdXQgdGhlIHBhdGNo
LAorICAgICAgICBvciBzdm4gaXMgZG93bikuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L3Rvb2wvY29tbWFuZHMvcXVldWVzLnB5OgorICAgICAgICAoQWJzdHJhY3RSZXZpZXdRdWV1ZS5w
cm9jZXNzX3dvcmtfaXRlbSk6IERvIG5vdCB0cnkvY2F0Y2ggU2NyaXB0RXJyb3IgYXJvdW5kIHJl
dmlld19wYXRjaC4KKyAgICAgICAgU3R5bGUgcXVldWUgbmV2ZXIgcmFpc2VzIHRoZXNlLCBhbmQg
RVdTIGFscmVhZHkgY2FsbHMgX2RpZF9mYWlsLCBiZWZvcmUgcmUtdGhyb3dpbmcsCisgICAgICAg
IG1lYW5pbmcgdGhhdCB0aGVzZSBoYW5kbGVycyBjb3VsZCBuZXZlciBkbyB0aGUgcmlnaHQgdGhp
bmcuIFdlJ2QgZWl0aGVyIGdldCBhIGR1cGxpY2F0ZQorICAgICAgICBfZGlkX2ZhaWwsIG9yIHRy
eSB0byB1bmxvY2sgYW4gYWxyZWFkeSB1bmxvY2tlZCBwYXRjaC4KKyAgICAgICAgKFN0eWxlUXVl
dWUucmV2aWV3X3BhdGNoKTogVW5sb2NrIHRoZSBwYXRjaCBvbiB0cmFuc2llbnQgZmFpbHVyZSAo
c3VjaCBhcyBzdm4gZmFpbHVyZSksCisgICAgICAgIG1ha2luZyBpdCBlbGlnaWJsZSBmb3IgcmV0
cnkgaW1tZWRpYXRlbHkuCisKIDIwMTQtMDktMjUgIFJvZ2VyIEZvbmcgIDxyb2dlcl9mb25nQGFw
cGxlLmNvbT4KIAogICAgICAgICBbV2luZG93c10gQ2xvc2Ugc3RkaW4gdG8gZm9yY2UgYSBmbHVz
aCB0byBzdGRvdXQgaWYgbm8gdGVzdCBwYXRoIGlzIHJlYWQgZHVyaW5nIGxheW91dCB0ZXN0cy4K
SW5kZXg6IFRvb2xzL1F1ZXVlU3RhdHVzU2VydmVyL2FwcC55YW1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL1F1ZXVlU3RhdHVzU2VydmVyL2FwcC55YW1sCShyZXZpc2lvbiAxNzM4OTgpCisrKyBUb29s
cy9RdWV1ZVN0YXR1c1NlcnZlci9hcHAueWFtbAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUg
QEAKIGFwcGxpY2F0aW9uOiB3ZWJraXQtcXVldWVzCi12ZXJzaW9uOiAxNzM1ODcgIyBCdWd6aWxs
YSBidWcgSUQgb2YgbGFzdCBtYWpvciBjaGFuZ2UKK3ZlcnNpb246IDE3Mzk3NiAjIEJ1Z3ppbGxh
IGJ1ZyBJRCBvZiBsYXN0IG1ham9yIGNoYW5nZQogcnVudGltZTogcHl0aG9uCiBhcGlfdmVyc2lv
bjogMQogCkluZGV4OiBUb29scy9RdWV1ZVN0YXR1c1NlcnZlci9pbmRleC55YW1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFRvb2xzL1F1ZXVlU3RhdHVzU2VydmVyL2luZGV4LnlhbWwJKHJldmlzaW9uIDE3Mzg5
OCkKKysrIFRvb2xzL1F1ZXVlU3RhdHVzU2VydmVyL2luZGV4LnlhbWwJKHdvcmtpbmcgY29weSkK
QEAgLTMxLDQxICszMSw0MSBAQCBpbmRleGVzOgogLSBraW5kOiBRdWV1ZVN0YXR1cwogICBwcm9w
ZXJ0aWVzOgogICAtIG5hbWU6IGJvdF9pZAotICAtIG5hbWU6IG1lc3NhZ2UKLSAgLSBuYW1lOiBx
dWV1ZV9uYW1lCiAgIC0gbmFtZTogZGF0ZQogICAgIGRpcmVjdGlvbjogZGVzYwogCiAtIGtpbmQ6
IFF1ZXVlU3RhdHVzCiAgIHByb3BlcnRpZXM6CiAgIC0gbmFtZTogYm90X2lkCisgIC0gbmFtZTog
bWVzc2FnZQogICAtIG5hbWU6IHF1ZXVlX25hbWUKICAgLSBuYW1lOiBkYXRlCiAgICAgZGlyZWN0
aW9uOiBkZXNjCiAKIC0ga2luZDogUXVldWVTdGF0dXMKICAgcHJvcGVydGllczoKLSAgLSBuYW1l
OiBtZXNzYWdlCisgIC0gbmFtZTogYm90X2lkCiAgIC0gbmFtZTogcXVldWVfbmFtZQogICAtIG5h
bWU6IGRhdGUKKyAgICBkaXJlY3Rpb246IGRlc2MKIAogLSBraW5kOiBRdWV1ZVN0YXR1cwogICBw
cm9wZXJ0aWVzOgogICAtIG5hbWU6IG1lc3NhZ2UKICAgLSBuYW1lOiBxdWV1ZV9uYW1lCiAgIC0g
bmFtZTogZGF0ZQotICAgIGRpcmVjdGlvbjogZGVzYwogCiAtIGtpbmQ6IFF1ZXVlU3RhdHVzCiAg
IHByb3BlcnRpZXM6CisgIC0gbmFtZTogbWVzc2FnZQogICAtIG5hbWU6IHF1ZXVlX25hbWUKICAg
LSBuYW1lOiBkYXRlCisgICAgZGlyZWN0aW9uOiBkZXNjCiAKIC0ga2luZDogUXVldWVTdGF0dXMK
ICAgcHJvcGVydGllczoKLSAgLSBuYW1lOiBib3RfaWQKKyAgLSBuYW1lOiBxdWV1ZV9uYW1lCiAg
IC0gbmFtZTogZGF0ZQotICAgIGRpcmVjdGlvbjogZGVzYwogCiAtIGtpbmQ6IFF1ZXVlU3RhdHVz
CiAgIHByb3BlcnRpZXM6CkluZGV4OiBUb29scy9RdWV1ZVN0YXR1c1NlcnZlci9tYWluLnB5Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFRvb2xzL1F1ZXVlU3RhdHVzU2VydmVyL21haW4ucHkJKHJldmlzaW9uIDE3
Mzg5OCkKKysrIFRvb2xzL1F1ZXVlU3RhdHVzU2VydmVyL21haW4ucHkJKHdvcmtpbmcgY29weSkK
QEAgLTQ1LDYgKzQ1LDcgQEAgZnJvbSBoYW5kbGVycy5xdWV1ZXN0YXR1cyBpbXBvcnQgUXVldWVT
dAogZnJvbSBoYW5kbGVycy5xdWV1ZXN0YXR1c2pzb24gaW1wb3J0IFF1ZXVlU3RhdHVzSlNPTgog
ZnJvbSBoYW5kbGVycy5yZWNlbnRzdGF0dXMgaW1wb3J0IFF1ZXVlc092ZXJ2aWV3CiBmcm9tIGhh
bmRsZXJzLnJlbGVhc2VwYXRjaCBpbXBvcnQgUmVsZWFzZVBhdGNoCitmcm9tIGhhbmRsZXJzLnJl
bGVhc2Vsb2NrIGltcG9ydCBSZWxlYXNlTG9jawogZnJvbSBoYW5kbGVycy5zaG93cmVzdWx0cyBp
bXBvcnQgU2hvd1Jlc3VsdHMKIGZyb20gaGFuZGxlcnMuc3RhdHVzYnViYmxlIGltcG9ydCBTdGF0
dXNCdWJibGUKIGZyb20gaGFuZGxlcnMuc3VibWl0dG9ld3MgaW1wb3J0IFN1Ym1pdFRvRVdTCkBA
IC03NSw2ICs3Niw3IEBAIHJvdXRlcyA9IFsKICAgICAocicvcXVldWUtc3RhdHVzLWpzb24vKC4q
KScsIFF1ZXVlU3RhdHVzSlNPTiksCiAgICAgKHInL25leHQtcGF0Y2gvKC4qKScsIE5leHRQYXRj
aCksCiAgICAgKHInL3JlbGVhc2UtcGF0Y2gnLCBSZWxlYXNlUGF0Y2gpLAorICAgIChyJy9yZWxl
YXNlLWxvY2snLCBSZWxlYXNlTG9jayksCiAgICAgKCcvdXBkYXRlLXN0YXR1cycsIFVwZGF0ZVN0
YXR1cyksCiAgICAgKCcvdXBkYXRlLXdvcmstaXRlbXMnLCBVcGRhdGVXb3JrSXRlbXMpLAogICAg
ICgnL3VwZGF0ZS1zdm4tcmV2aXNpb24nLCBVcGRhdGVTVk5SZXZpc2lvbiksCkluZGV4OiBUb29s
cy9RdWV1ZVN0YXR1c1NlcnZlci9jb25maWcvcXVldWVzLnB5Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xz
L1F1ZXVlU3RhdHVzU2VydmVyL2NvbmZpZy9xdWV1ZXMucHkJKHJldmlzaW9uIDE3Mzg5OCkKKysr
IFRvb2xzL1F1ZXVlU3RhdHVzU2VydmVyL2NvbmZpZy9xdWV1ZXMucHkJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSw0IEBACisjIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAjIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgogIwogIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAgLTI2LDYgKzI3LDggQEAKICMgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCiAKK2Zyb20gZGF0ZXRpbWUgaW1wb3J0IHRpbWVkZWx0YQorCiAj
IEV2ZW50dWFsbHkgdGhlIGxpc3Qgb2YgcXVldWVzIG1heSBiZSBzdG9yZWQgaW4gdGhlIGRhdGEg
c3RvcmUuCiBhbGxfcXVldWVfbmFtZXMgPSBbCiAgICAgImNvbW1pdC1xdWV1ZSIsCkBAIC0zNiwz
ICszOSw3IEBAIGFsbF9xdWV1ZV9uYW1lcyA9IFsKICAgICAid2luLWV3cyIsCiAgICAgImVmbC13
azItZXdzIiwKIF0KKworIyBJZiB0aGUgcGF0Y2ggaXMgc3RpbGwgYWN0aXZlIGFmdGVyIHRoaXMg
bXVjaCB0aW1lLCB0aGVuIGEgYm90IG11c3QgaGF2ZSBmcm96ZW4gb3IgcmVib290ZWQsCisjIGFu
ZCBkcm9wcGVkIHRoZSBwYXRjaCBvbiB0aGUgZmxvb3IuIFdlIHdpbGwgaWdub3JlIHRoZSBsb2Nr
IGluIHRoaXMgY2FzZSwgYW5kIGxldCBhbm90aGVyIGJvdCBwaWNrIHVwLgord29ya19pdGVtX2xv
Y2tfdGltZW91dCA9IHRpbWVkZWx0YShtaW51dGVzPTEyMCkKSW5kZXg6IFRvb2xzL1F1ZXVlU3Rh
dHVzU2VydmVyL2hhbmRsZXJzL3JlbGVhc2Vsb2NrLnB5Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1F1
ZXVlU3RhdHVzU2VydmVyL2hhbmRsZXJzL3JlbGVhc2Vsb2NrLnB5CShyZXZpc2lvbiAwKQorKysg
VG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvaGFuZGxlcnMvcmVsZWFzZWxvY2sucHkJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw1MSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUKKyMg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6
CisjIAorIyAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiAKKyMgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAKKyMgMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3QKKyMgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMKKyMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorIyAKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisj
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YKKyMgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwKKyMg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisjIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyMgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKyMgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUgorIyBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisjIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisKK2Zy
b20gZ29vZ2xlLmFwcGVuZ2luZS5leHQgaW1wb3J0IHdlYmFwcCwgZGIKK2Zyb20gZ29vZ2xlLmFw
cGVuZ2luZS5leHQud2ViYXBwIGltcG9ydCB0ZW1wbGF0ZQorCitmcm9tIGNvbmZpZy5xdWV1ZXMg
aW1wb3J0IHdvcmtfaXRlbV9sb2NrX3RpbWVvdXQKK2Zyb20gaGFuZGxlcnMudXBkYXRlYmFzZSBp
bXBvcnQgVXBkYXRlQmFzZQorZnJvbSBtb2RlbC5xdWV1ZXMgaW1wb3J0IFF1ZXVlCisKKworY2xh
c3MgUmVsZWFzZUxvY2soVXBkYXRlQmFzZSk6CisgICAgZGVmIGdldChzZWxmKToKKyAgICAgICAg
c2VsZi5yZXNwb25zZS5vdXQud3JpdGUodGVtcGxhdGUucmVuZGVyKCJ0ZW1wbGF0ZXMvcmVsZWFz
ZWxvY2suaHRtbCIsIHsgInRpbWVvdXQiOiB3b3JrX2l0ZW1fbG9ja190aW1lb3V0fSApKQorCisg
ICAgZGVmIHBvc3Qoc2VsZik6CisgICAgICAgIHF1ZXVlX25hbWUgPSBzZWxmLnJlcXVlc3QuZ2V0
KCJxdWV1ZV9uYW1lIikKKyAgICAgICAgIyBGSVhNRTogVGhpcyBxdWV1ZSBsb29rdXAgc2hvdWxk
IGJlIHNoYXJlZCBiZXR3ZWVuIGhhbmRsZXJzLgorICAgICAgICBxdWV1ZSA9IFF1ZXVlLnF1ZXVl
X3dpdGhfbmFtZShxdWV1ZV9uYW1lKQorICAgICAgICBpZiBub3QgcXVldWU6CisgICAgICAgICAg
ICBzZWxmLmVycm9yKDQwNCkKKyAgICAgICAgICAgIHJldHVybgorCisgICAgICAgIGF0dGFjaG1l
bnRfaWQgPSBzZWxmLl9pbnRfZnJvbV9yZXF1ZXN0KCJhdHRhY2htZW50X2lkIikKKyAgICAgICAg
cXVldWUuYWN0aXZlX3dvcmtfaXRlbXMoKS5leHBpcmVfaXRlbShhdHRhY2htZW50X2lkKQorCisg
ICAgICAgICMgUmVsZWFzZUxvY2sgaXMgdXNlZCB3aGVuIGEgcXVldWUgbmVpdGhlciBzdWNjZWVk
ZWQgbm9yIGZhaWxlZCwgc28gaXQgc2lsZW50bHkgcmVsZWFzZXMgdGhlIHBhdGNoLgorICAgICAg
ICAjIExldCdzIHRyeSBvdGhlciBwYXRjaGVzIGJlZm9yZSByZXRyeWluZyB0aGlzIG9uZSwgaW4g
dGhlIGludGVyZXN0IG9mIGZhaXJuZXNzLCBhbmQgYWxzbyBiZWNhdXNlCisgICAgICAgICMgYW5v
dGhlciBwYXRjaCBjb3VsZCBiZSBwb3N0ZWQgdG8gYWRkcmVzcyBxdWV1ZSBwcm9ibGVtcy4KKyAg
ICAgICAgcXVldWUud29ya19pdGVtcygpLm1vdmVfdG9fZW5kKGF0dGFjaG1lbnRfaWQpCisgICAg
ICAgIAoKUHJvcGVydHkgY2hhbmdlcyBvbjogVG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvaGFuZGxl
cnMvcmVsZWFzZWxvY2sucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCww
ICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBUb29scy9R
dWV1ZVN0YXR1c1NlcnZlci9tb2RlbC9hY3RpdmV3b3JraXRlbXMucHkKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
VG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvbW9kZWwvYWN0aXZld29ya2l0ZW1zLnB5CShyZXZpc2lv
biAxNzM4OTgpCisrKyBUb29scy9RdWV1ZVN0YXR1c1NlcnZlci9tb2RlbC9hY3RpdmV3b3JraXRl
bXMucHkJKHdvcmtpbmcgY29weSkKQEAgLTMxLDYgKzMxLDcgQEAgZnJvbSBnb29nbGUuYXBwZW5n
aW5lLmV4dCBpbXBvcnQgZGIKIGZyb20gZGF0ZXRpbWUgaW1wb3J0IHRpbWVkZWx0YSwgZGF0ZXRp
bWUKIGltcG9ydCB0aW1lCiAKK2Zyb20gY29uZmlnLnF1ZXVlcyBpbXBvcnQgd29ya19pdGVtX2xv
Y2tfdGltZW91dAogZnJvbSBtb2RlbC5xdWV1ZXByb3BlcnR5bWl4aW4gaW1wb3J0IFF1ZXVlUHJv
cGVydHlNaXhpbgogCiAKQEAgLTgxLDcgKzgyLDcgQEAgY2xhc3MgQWN0aXZlV29ya0l0ZW1zKGRi
Lk1vZGVsLCBRdWV1ZVBybwogICAgIGRlZiBkZWFjdGl2YXRlX2V4cGlyZWQoc2VsZiwgbm93KToK
ICAgICAgICAgIyBJZiB0aGUgcGF0Y2ggaXMgc3RpbGwgYWN0aXZlIGFmdGVyIHRoaXMgbXVjaCB0
aW1lLCB0aGVuIGEgYm90IG11c3QgaGF2ZSBmcm96ZW4gb3IgcmVib290ZWQsCiAgICAgICAgICMg
YW5kIGRyb3BwZWQgdGhlIHBhdGNoIG9uIHRoZSBmbG9vci4gTGV0IGFub3RoZXIgYm90IHBpY2sg
aXQgdXAuCi0gICAgICAgIHR3b19ob3Vyc19hZ28gPSB0aW1lLm1rdGltZSgobm93IC0gdGltZWRl
bHRhKG1pbnV0ZXM9MTIwKSkudGltZXR1cGxlKCkpCisgICAgICAgIHR3b19ob3Vyc19hZ28gPSB0
aW1lLm1rdGltZSgobm93IC0gd29ya19pdGVtX2xvY2tfdGltZW91dCkudGltZXR1cGxlKCkpCiAg
ICAgICAgIG5vbmV4cGlyZWRfcGFpcnMgPSBbcGFpciBmb3IgcGFpciBpbiBzZWxmLl9pdGVtX3Rp
bWVfcGFpcnMoKSBpZiBwYWlyWzFdID4gdHdvX2hvdXJzX2Fnb10KICAgICAgICAgc2VsZi5fc2V0
X2l0ZW1fdGltZV9wYWlycyhub25leHBpcmVkX3BhaXJzKQogCkluZGV4OiBUb29scy9RdWV1ZVN0
YXR1c1NlcnZlci9tb2RlbC93b3JraXRlbXMucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvUXVldWVT
dGF0dXNTZXJ2ZXIvbW9kZWwvd29ya2l0ZW1zLnB5CShyZXZpc2lvbiAxNzM4OTgpCisrKyBUb29s
cy9RdWV1ZVN0YXR1c1NlcnZlci9tb2RlbC93b3JraXRlbXMucHkJKHdvcmtpbmcgY29weSkKQEAg
LTc1LDMgKzc1LDE1IEBAIGNsYXNzIFdvcmtJdGVtcyhkYi5Nb2RlbCwgUXVldWVQcm9wZXJ0eU0K
ICAgICAjIEJlY2F1c2UgdGhpcyB1c2VzIC5rZXkoKSBzZWxmLmlzX3NhdmVkKCkgbXVzdCBiZSBU
cnVlIG9yIHRoaXMgd2lsbCB0aHJvdyBOb3RTYXZlZEVycm9yLgogICAgIGRlZiByZW1vdmVfd29y
a19pdGVtKHNlbGYsIGF0dGFjaG1lbnRfaWQpOgogICAgICAgICBkYi5ydW5faW5fdHJhbnNhY3Rp
b24oc2VsZi5fdW5ndWFyZGVkX3JlbW92ZSwgc2VsZi5rZXkoKSwgYXR0YWNobWVudF9pZCkKKwor
ICAgIEBzdGF0aWNtZXRob2QKKyAgICBkZWYgX3VuZ3VhcmRlZF9tb3ZlX3RvX2VuZChrZXksIGF0
dGFjaG1lbnRfaWQpOgorICAgICAgICB3b3JrX2l0ZW1zID0gZGIuZ2V0KGtleSkKKyAgICAgICAg
aWYgYXR0YWNobWVudF9pZCBpbiB3b3JrX2l0ZW1zLml0ZW1faWRzOgorICAgICAgICAgICAgIyBX
ZSBzaG91bGQgbmV2ZXIgaGF2ZSBtb3JlIHRoYW4gb25lIGVudHJ5IGZvciBhIHdvcmsgaXRlbSwg
c28gd2Ugb25seSBuZWVkIHJlbW92ZSB0aGUgZmlyc3QuCisgICAgICAgICAgICB3b3JrX2l0ZW1z
Lml0ZW1faWRzLnJlbW92ZShhdHRhY2htZW50X2lkKQorICAgICAgICAgICAgd29ya19pdGVtcy5p
dGVtX2lkcy5hcHBlbmQoYXR0YWNobWVudF9pZCkKKyAgICAgICAgd29ya19pdGVtcy5wdXQoKQor
CisgICAgZGVmIG1vdmVfdG9fZW5kKHNlbGYsIGF0dGFjaG1lbnRfaWQpOgorICAgICAgICBkYi5y
dW5faW5fdHJhbnNhY3Rpb24oc2VsZi5fdW5ndWFyZGVkX21vdmVfdG9fZW5kLCBzZWxmLmtleSgp
LCBhdHRhY2htZW50X2lkKQpJbmRleDogVG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvdGVtcGxhdGVz
L3JlbGVhc2Vsb2NrLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIv
dGVtcGxhdGVzL3JlbGVhc2Vsb2NrLmh0bWwJKHJldmlzaW9uIDApCisrKyBUb29scy9RdWV1ZVN0
YXR1c1NlcnZlci90ZW1wbGF0ZXMvcmVsZWFzZWxvY2suaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDYgQEAKKzxmb3JtIG5hbWU9InJlbGVhc2VfbG9jayIgZW5jdHlwZT0ibXVsdGlwYXJ0
L2Zvcm0tZGF0YSIgbWV0aG9kPSJwb3N0Ij4KKzxwPlJlbGVhc2UgcXVldWUgbG9jay48L3A+Cis8
cD5Pbmx5IHVzZSB0aGlzIHdoZW4gYSBwYXRjaCBpcyBsb2NrZWQgZXJyb25lb3VzbHksIGFuZCB0
aGVyZSBpcyBubyBib3QgcHJvY2Vzc2luZyBpdC4KK1BhdGNoZXMgYXJlIGFsc28gdW5sb2NrZWQg
YXV0b21hdGljYWxseSBhZnRlciBhIHNob3J0IHRpbWVvdXQgKGN1cnJlbnRseSBzZXQgdG8ge3sg
dGltZW91dCB9fSksIHNvIHRoaXMgaXMgcmFyZWx5IG5lY2Vzc2FyeS48L3A+CitQYXRjaCB0byB1
bmxvY2s6IDxpbnB1dCBuYW1lPSJhdHRhY2htZW50X2lkIiBwbGFjZWhvbGRlcj0icGF0Y2ggaWQg
aW4gQnVnemlsbGEiPiBmcm9tIDxpbnB1dCBuYW1lPSJxdWV1ZV9uYW1lIiBwbGFjZWhvbGRlcj0i
cXVldWUgbmFtZSI+PGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IlJlbGVhc2UgbG9jayB0byBy
ZS1ydW4iPjwvZGl2PgorPC9mb3JtPgoKUHJvcGVydHkgY2hhbmdlcyBvbjogVG9vbHMvUXVldWVT
dGF0dXNTZXJ2ZXIvdGVtcGxhdGVzL3JlbGVhc2Vsb2NrLmh0bWwKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDog
c3ZuOm1pbWUtdHlwZQojIyAtMCwwICsxICMjCit0ZXh0L2h0bWwKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBwcm9wZXJ0eQpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRz
L2Vhcmx5d2FybmluZ3N5c3RlbS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtp
dHB5L3Rvb2wvY29tbWFuZHMvZWFybHl3YXJuaW5nc3lzdGVtLnB5CShyZXZpc2lvbiAxNzM4OTgp
CisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvZWFybHl3YXJuaW5nc3lz
dGVtLnB5CSh3b3JraW5nIGNvcHkpCkBAIC04NSw3ICs4NSwxMSBAQCBjbGFzcyBBYnN0cmFjdEVh
cmx5V2FybmluZ1N5c3RlbShBYnN0cmFjCiAgICAgICAgICAgICBzZWxmLl9kaWRfZXJyb3IocGF0
Y2gsICIlcyBkaWQgbm90IHByb2Nlc3MgcGF0Y2guIiAlIHNlbGYubmFtZSkKICAgICAgICAgICAg
IHJldHVybiBGYWxzZQogICAgICAgICB0cnk6Ci0gICAgICAgICAgICByZXR1cm4gdGFzay5ydW4o
KQorICAgICAgICAgICAgc3VjY2VlZGVkID0gdGFzay5ydW4oKQorICAgICAgICAgICAgaWYgbm90
IHN1Y2NlZWRlZDoKKyAgICAgICAgICAgICAgICAjIENhbGxlciB1bmxvY2tzIHdoZW4gcmV2aWV3
X3BhdGNoIHJldHVybnMgVHJ1ZSwgc28gd2Ugb25seSBuZWVkIHRvIHVubG9jayBvbiB0cmFuc2ll
bnQgZmFpbHVyZS4KKyAgICAgICAgICAgICAgICBzZWxmLl91bmxvY2socGF0Y2gpCisgICAgICAg
ICAgICByZXR1cm4gc3VjY2VlZGVkCiAgICAgICAgIGV4Y2VwdCBVbmFibGVUb0FwcGx5UGF0Y2gs
IGU6CiAgICAgICAgICAgICBzZWxmLl9kaWRfZXJyb3IocGF0Y2gsICIlcyB1bmFibGUgdG8gYXBw
bHkgcGF0Y2guIiAlIHNlbGYubmFtZSkKICAgICAgICAgICAgIHJldHVybiBGYWxzZQpJbmRleDog
VG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3F1ZXVlcy5weQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcXVldWVzLnB5CShyZXZp
c2lvbiAxNzM4OTgpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcXVl
dWVzLnB5CSh3b3JraW5nIGNvcHkpCkBAIC00MjUsMTkgKzQyNSwxMCBAQCBjbGFzcyBBYnN0cmFj
dFJldmlld1F1ZXVlKFBhdGNoUHJvY2Vzc2luCiAgICAgICAgIHJldHVybiBzZWxmLl9uZXh0X3Bh
dGNoKCkKIAogICAgIGRlZiBwcm9jZXNzX3dvcmtfaXRlbShzZWxmLCBwYXRjaCk6Ci0gICAgICAg
IHRyeToKLSAgICAgICAgICAgIGlmIG5vdCBzZWxmLnJldmlld19wYXRjaChwYXRjaCk6Ci0gICAg
ICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisgICAgICAgIHBhc3NlZCA9IHJldmlld19wYXRjaChw
YXRjaCkKKyAgICAgICAgaWYgcGFzc2VkOgogICAgICAgICAgICAgc2VsZi5fZGlkX3Bhc3MocGF0
Y2gpCi0gICAgICAgICAgICByZXR1cm4gVHJ1ZQotICAgICAgICBleGNlcHQgU2NyaXB0RXJyb3Is
IGU6Ci0gICAgICAgICAgICBpZiBlLmV4aXRfY29kZSAhPSBRdWV1ZUVuZ2luZS5oYW5kbGVkX2Vy
cm9yX2NvZGU6Ci0gICAgICAgICAgICAgICAgc2VsZi5fZGlkX2ZhaWwocGF0Y2gpCi0gICAgICAg
ICAgICBlbHNlOgotICAgICAgICAgICAgICAgICMgVGhlIHN1YnByb2Nlc3MgaGFuZGxlZCB0aGUg
ZXJyb3IsIGJ1dCB3b24ndCBoYXZlIHJlbGVhc2VkIHRoZSBwYXRjaCwgc28gd2UgZG8uCi0gICAg
ICAgICAgICAgICAgIyBGSVhNRTogV2UgbmVlZCB0byBzaW1wbGlmeSB0aGUgcnVsZXMgYnkgd2hp
Y2ggX3JlbGVhc2Vfd29ya19pdGVtIGlzIGNhbGxlZC4KLSAgICAgICAgICAgICAgICBzZWxmLl9y
ZWxlYXNlX3dvcmtfaXRlbShwYXRjaCkKLSAgICAgICAgICAgIHJhaXNlIGUKKyAgICAgICAgcmV0
dXJuIHBhc3NlZAogCiAgICAgZGVmIGhhbmRsZV91bmV4cGVjdGVkX2Vycm9yKHNlbGYsIHBhdGNo
LCBtZXNzYWdlKToKICAgICAgICAgX2xvZy5lcnJvcihtZXNzYWdlKQpAQCAtNDYxLDcgKzQ1Miwx
MSBAQCBjbGFzcyBTdHlsZVF1ZXVlKEFic3RyYWN0UmV2aWV3UXVldWUsIFN0CiAgICAgICAgICAg
ICBzZWxmLl9kaWRfZXJyb3IocGF0Y2gsICIlcyBkaWQgbm90IHByb2Nlc3MgcGF0Y2guIiAlIHNl
bGYubmFtZSkKICAgICAgICAgICAgIHJldHVybiBGYWxzZQogICAgICAgICB0cnk6Ci0gICAgICAg
ICAgICByZXR1cm4gdGFzay5ydW4oKQorICAgICAgICAgICAgc3R5bGVfY2hlY2tfc3VjY2VlZGVk
ID0gdGFzay5ydW4oKQorICAgICAgICAgICAgaWYgbm90IHN0eWxlX2NoZWNrX3N1Y2NlZWRlZDoK
KyAgICAgICAgICAgICAgICAjIENhbGxlciB1bmxvY2tzIHdoZW4gcmV2aWV3X3BhdGNoIHJldHVy
bnMgVHJ1ZSwgc28gd2Ugb25seSBuZWVkIHRvIHVubG9jayBvbiB0cmFuc2llbnQgZmFpbHVyZS4K
KyAgICAgICAgICAgICAgICBzZWxmLl91bmxvY2socGF0Y2gpCisgICAgICAgICAgICByZXR1cm4g
c3R5bGVfY2hlY2tfc3VjY2VlZGVkCiAgICAgICAgIGV4Y2VwdCBVbmFibGVUb0FwcGx5UGF0Y2gs
IGU6CiAgICAgICAgICAgICBzZWxmLl9kaWRfZXJyb3IocGF0Y2gsICIlcyB1bmFibGUgdG8gYXBw
bHkgcGF0Y2guIiAlIHNlbGYubmFtZSkKICAgICAgICAgICAgIHJldHVybiBGYWxzZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>238675</attachid>
            <date>2014-09-25 15:15:20 -0700</date>
            <delta_ts>2014-09-25 15:58:57 -0700</delta_ts>
            <desc>ok, remembered to run test-webkitpy now</desc>
            <filename>ReleaseImmediately.txt</filename>
            <type>text/plain</type>
            <size>14533</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDE3Mzk3NSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDQzIEBACisyMDE0LTA5LTI1ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29t
PgorCisgICAgICAgIEVXUyBvbmx5IHJlcGVhdHMgaXRzIGN5Y2xlIGV2ZXJ5IHR3byBob3Vycwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM3MTI5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBRdWV1ZVN0
YXR1c1NlcnZlci9hcHAueWFtbDogVXBkYXRlZCB2ZXJzaW9uLgorCisgICAgICAgICogUXVldWVT
dGF0dXNTZXJ2ZXIvY29uZmlnL3F1ZXVlcy5weTogTW92ZWQgdGltZW91dCBmcm9tIGFjdGl2ZXdv
cmtpdGVtcy5weSB0byBjb25maWd1cmF0aW9uLgorCisgICAgICAgICogUXVldWVTdGF0dXNTZXJ2
ZXIvaGFuZGxlcnMvcmVsZWFzZWxvY2sucHk6IEFkZGVkLiBSZWxlYXNlcyB0aGUgbG9jayB3aXRo
b3V0IHJlbW92aW5nCisgICAgICAgIHRoZSBwYXRjaCBmcm9tIHdvcmsgaXRlbXMuCisKKyAgICAg
ICAgKiBRdWV1ZVN0YXR1c1NlcnZlci9pbmRleC55YW1sOiBObyByZWFsIGNoYW5nZSwganVzdCBs
ZXQgQXBwRW5naW5lIGhhdmUgaXRzIHdheSB3aXRoIGVudHJ5IG9yZGVyLgorCisgICAgICAgICog
UXVldWVTdGF0dXNTZXJ2ZXIvbWFpbi5weTogQWRkZWQgcmVsZWFzZS1sb2NrLgorCisgICAgICAg
ICogUXVldWVTdGF0dXNTZXJ2ZXIvbW9kZWwvYWN0aXZld29ya2l0ZW1zLnB5OgorICAgICAgICAo
QWN0aXZlV29ya0l0ZW1zLmRlYWN0aXZhdGVfZXhwaXJlZCk6IFVzZSB0aW1lb3V0IGZyb20gY29u
ZmlndXJhdGlvbi4KKworICAgICAgICAqIFF1ZXVlU3RhdHVzU2VydmVyL21vZGVsL3dvcmtpdGVt
cy5weTogQWRkZWQgbW92ZV90b19lbmQuIFdoZW4gd2UgdW5sb2NrIGEgcGF0Y2gsCisgICAgICAg
IHdlIGRvbid0IHdhbnQgaXQgdG8gYmUgaW1tZWRpYXRlbHkgcGlja2VkIHVwIGFnYWluLCBpdCdz
IGJldHRlciB0byBnaXZlIG90aGVyIHBhdGNoZXMKKyAgICAgICAgYSBjaGFuY2UuCisKKyAgICAg
ICAgKiBRdWV1ZVN0YXR1c1NlcnZlci90ZW1wbGF0ZXMvcmVsZWFzZWxvY2suaHRtbDogQWRkZWQu
IE5vdCBzdXJlIHdoeSBhbGwgY29tbWFuZHMgaGF2ZQorICAgICAgICB0aGVzZSBpbnRlcmFjdGl2
ZSB2ZXJzaW9ucywgYnV0IE9LLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL2Nv
bW1hbmRzL2Vhcmx5d2FybmluZ3N5c3RlbS5weTogKEFic3RyYWN0RWFybHlXYXJuaW5nU3lzdGVt
LnJldmlld19wYXRjaCk6CisgICAgICAgIFVubG9jayB0aGUgcGF0Y2ggd2hlbiBhIG5vbi1maW5h
bCBmYWlsdXJlIG9jY3VycyAoZS5nLiBjYW4ndCBidWlsZCBldmVuIHdpdGhvdXQgdGhlIHBhdGNo
LAorICAgICAgICBvciBzdm4gaXMgZG93bikuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L3Rvb2wvY29tbWFuZHMvcXVldWVzLnB5OgorICAgICAgICAoQWJzdHJhY3RSZXZpZXdRdWV1ZS5w
cm9jZXNzX3dvcmtfaXRlbSk6IERvIG5vdCB0cnkvY2F0Y2ggU2NyaXB0RXJyb3IgYXJvdW5kIHJl
dmlld19wYXRjaC4KKyAgICAgICAgU3R5bGUgcXVldWUgbmV2ZXIgcmFpc2VzIHRoZXNlLCBhbmQg
RVdTIGFscmVhZHkgY2FsbHMgX2RpZF9mYWlsLCBiZWZvcmUgcmUtdGhyb3dpbmcsCisgICAgICAg
IG1lYW5pbmcgdGhhdCB0aGVzZSBoYW5kbGVycyBjb3VsZCBuZXZlciBkbyB0aGUgcmlnaHQgdGhp
bmcuIFdlJ2QgZWl0aGVyIGdldCBhIGR1cGxpY2F0ZQorICAgICAgICBfZGlkX2ZhaWwsIG9yIHRy
eSB0byB1bmxvY2sgYW4gYWxyZWFkeSB1bmxvY2tlZCBwYXRjaC4KKyAgICAgICAgKFN0eWxlUXVl
dWUucmV2aWV3X3BhdGNoKTogVW5sb2NrIHRoZSBwYXRjaCBvbiB0cmFuc2llbnQgZmFpbHVyZSAo
c3VjaCBhcyBzdm4gZmFpbHVyZSksCisgICAgICAgIG1ha2luZyBpdCBlbGlnaWJsZSBmb3IgcmV0
cnkgaW1tZWRpYXRlbHkuCisKIDIwMTQtMDktMjUgIFJvZ2VyIEZvbmcgIDxyb2dlcl9mb25nQGFw
cGxlLmNvbT4KIAogICAgICAgICBbV2luZG93c10gQ2xvc2Ugc3RkaW4gdG8gZm9yY2UgYSBmbHVz
aCB0byBzdGRvdXQgaWYgbm8gdGVzdCBwYXRoIGlzIHJlYWQgZHVyaW5nIGxheW91dCB0ZXN0cy4K
SW5kZXg6IFRvb2xzL1F1ZXVlU3RhdHVzU2VydmVyL2FwcC55YW1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL1F1ZXVlU3RhdHVzU2VydmVyL2FwcC55YW1sCShyZXZpc2lvbiAxNzM4OTgpCisrKyBUb29s
cy9RdWV1ZVN0YXR1c1NlcnZlci9hcHAueWFtbAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUg
QEAKIGFwcGxpY2F0aW9uOiB3ZWJraXQtcXVldWVzCi12ZXJzaW9uOiAxNzM1ODcgIyBCdWd6aWxs
YSBidWcgSUQgb2YgbGFzdCBtYWpvciBjaGFuZ2UKK3ZlcnNpb246IDE3Mzk3NiAjIEJ1Z3ppbGxh
IGJ1ZyBJRCBvZiBsYXN0IG1ham9yIGNoYW5nZQogcnVudGltZTogcHl0aG9uCiBhcGlfdmVyc2lv
bjogMQogCkluZGV4OiBUb29scy9RdWV1ZVN0YXR1c1NlcnZlci9pbmRleC55YW1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFRvb2xzL1F1ZXVlU3RhdHVzU2VydmVyL2luZGV4LnlhbWwJKHJldmlzaW9uIDE3Mzg5
OCkKKysrIFRvb2xzL1F1ZXVlU3RhdHVzU2VydmVyL2luZGV4LnlhbWwJKHdvcmtpbmcgY29weSkK
QEAgLTMxLDQxICszMSw0MSBAQCBpbmRleGVzOgogLSBraW5kOiBRdWV1ZVN0YXR1cwogICBwcm9w
ZXJ0aWVzOgogICAtIG5hbWU6IGJvdF9pZAotICAtIG5hbWU6IG1lc3NhZ2UKLSAgLSBuYW1lOiBx
dWV1ZV9uYW1lCiAgIC0gbmFtZTogZGF0ZQogICAgIGRpcmVjdGlvbjogZGVzYwogCiAtIGtpbmQ6
IFF1ZXVlU3RhdHVzCiAgIHByb3BlcnRpZXM6CiAgIC0gbmFtZTogYm90X2lkCisgIC0gbmFtZTog
bWVzc2FnZQogICAtIG5hbWU6IHF1ZXVlX25hbWUKICAgLSBuYW1lOiBkYXRlCiAgICAgZGlyZWN0
aW9uOiBkZXNjCiAKIC0ga2luZDogUXVldWVTdGF0dXMKICAgcHJvcGVydGllczoKLSAgLSBuYW1l
OiBtZXNzYWdlCisgIC0gbmFtZTogYm90X2lkCiAgIC0gbmFtZTogcXVldWVfbmFtZQogICAtIG5h
bWU6IGRhdGUKKyAgICBkaXJlY3Rpb246IGRlc2MKIAogLSBraW5kOiBRdWV1ZVN0YXR1cwogICBw
cm9wZXJ0aWVzOgogICAtIG5hbWU6IG1lc3NhZ2UKICAgLSBuYW1lOiBxdWV1ZV9uYW1lCiAgIC0g
bmFtZTogZGF0ZQotICAgIGRpcmVjdGlvbjogZGVzYwogCiAtIGtpbmQ6IFF1ZXVlU3RhdHVzCiAg
IHByb3BlcnRpZXM6CisgIC0gbmFtZTogbWVzc2FnZQogICAtIG5hbWU6IHF1ZXVlX25hbWUKICAg
LSBuYW1lOiBkYXRlCisgICAgZGlyZWN0aW9uOiBkZXNjCiAKIC0ga2luZDogUXVldWVTdGF0dXMK
ICAgcHJvcGVydGllczoKLSAgLSBuYW1lOiBib3RfaWQKKyAgLSBuYW1lOiBxdWV1ZV9uYW1lCiAg
IC0gbmFtZTogZGF0ZQotICAgIGRpcmVjdGlvbjogZGVzYwogCiAtIGtpbmQ6IFF1ZXVlU3RhdHVz
CiAgIHByb3BlcnRpZXM6CkluZGV4OiBUb29scy9RdWV1ZVN0YXR1c1NlcnZlci9tYWluLnB5Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFRvb2xzL1F1ZXVlU3RhdHVzU2VydmVyL21haW4ucHkJKHJldmlzaW9uIDE3
Mzg5OCkKKysrIFRvb2xzL1F1ZXVlU3RhdHVzU2VydmVyL21haW4ucHkJKHdvcmtpbmcgY29weSkK
QEAgLTQ1LDYgKzQ1LDcgQEAgZnJvbSBoYW5kbGVycy5xdWV1ZXN0YXR1cyBpbXBvcnQgUXVldWVT
dAogZnJvbSBoYW5kbGVycy5xdWV1ZXN0YXR1c2pzb24gaW1wb3J0IFF1ZXVlU3RhdHVzSlNPTgog
ZnJvbSBoYW5kbGVycy5yZWNlbnRzdGF0dXMgaW1wb3J0IFF1ZXVlc092ZXJ2aWV3CiBmcm9tIGhh
bmRsZXJzLnJlbGVhc2VwYXRjaCBpbXBvcnQgUmVsZWFzZVBhdGNoCitmcm9tIGhhbmRsZXJzLnJl
bGVhc2Vsb2NrIGltcG9ydCBSZWxlYXNlTG9jawogZnJvbSBoYW5kbGVycy5zaG93cmVzdWx0cyBp
bXBvcnQgU2hvd1Jlc3VsdHMKIGZyb20gaGFuZGxlcnMuc3RhdHVzYnViYmxlIGltcG9ydCBTdGF0
dXNCdWJibGUKIGZyb20gaGFuZGxlcnMuc3VibWl0dG9ld3MgaW1wb3J0IFN1Ym1pdFRvRVdTCkBA
IC03NSw2ICs3Niw3IEBAIHJvdXRlcyA9IFsKICAgICAocicvcXVldWUtc3RhdHVzLWpzb24vKC4q
KScsIFF1ZXVlU3RhdHVzSlNPTiksCiAgICAgKHInL25leHQtcGF0Y2gvKC4qKScsIE5leHRQYXRj
aCksCiAgICAgKHInL3JlbGVhc2UtcGF0Y2gnLCBSZWxlYXNlUGF0Y2gpLAorICAgIChyJy9yZWxl
YXNlLWxvY2snLCBSZWxlYXNlTG9jayksCiAgICAgKCcvdXBkYXRlLXN0YXR1cycsIFVwZGF0ZVN0
YXR1cyksCiAgICAgKCcvdXBkYXRlLXdvcmstaXRlbXMnLCBVcGRhdGVXb3JrSXRlbXMpLAogICAg
ICgnL3VwZGF0ZS1zdm4tcmV2aXNpb24nLCBVcGRhdGVTVk5SZXZpc2lvbiksCkluZGV4OiBUb29s
cy9RdWV1ZVN0YXR1c1NlcnZlci9jb25maWcvcXVldWVzLnB5Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xz
L1F1ZXVlU3RhdHVzU2VydmVyL2NvbmZpZy9xdWV1ZXMucHkJKHJldmlzaW9uIDE3Mzg5OCkKKysr
IFRvb2xzL1F1ZXVlU3RhdHVzU2VydmVyL2NvbmZpZy9xdWV1ZXMucHkJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSw0IEBACisjIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAjIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgogIwogIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAgLTI2LDYgKzI3LDggQEAKICMgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCiAKK2Zyb20gZGF0ZXRpbWUgaW1wb3J0IHRpbWVkZWx0YQorCiAj
IEV2ZW50dWFsbHkgdGhlIGxpc3Qgb2YgcXVldWVzIG1heSBiZSBzdG9yZWQgaW4gdGhlIGRhdGEg
c3RvcmUuCiBhbGxfcXVldWVfbmFtZXMgPSBbCiAgICAgImNvbW1pdC1xdWV1ZSIsCkBAIC0zNiwz
ICszOSw3IEBAIGFsbF9xdWV1ZV9uYW1lcyA9IFsKICAgICAid2luLWV3cyIsCiAgICAgImVmbC13
azItZXdzIiwKIF0KKworIyBJZiB0aGUgcGF0Y2ggaXMgc3RpbGwgYWN0aXZlIGFmdGVyIHRoaXMg
bXVjaCB0aW1lLCB0aGVuIGEgYm90IG11c3QgaGF2ZSBmcm96ZW4gb3IgcmVib290ZWQsCisjIGFu
ZCBkcm9wcGVkIHRoZSBwYXRjaCBvbiB0aGUgZmxvb3IuIFdlIHdpbGwgaWdub3JlIHRoZSBsb2Nr
IGluIHRoaXMgY2FzZSwgYW5kIGxldCBhbm90aGVyIGJvdCBwaWNrIHVwLgord29ya19pdGVtX2xv
Y2tfdGltZW91dCA9IHRpbWVkZWx0YShtaW51dGVzPTEyMCkKSW5kZXg6IFRvb2xzL1F1ZXVlU3Rh
dHVzU2VydmVyL2hhbmRsZXJzL3JlbGVhc2Vsb2NrLnB5Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1F1
ZXVlU3RhdHVzU2VydmVyL2hhbmRsZXJzL3JlbGVhc2Vsb2NrLnB5CShyZXZpc2lvbiAwKQorKysg
VG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvaGFuZGxlcnMvcmVsZWFzZWxvY2sucHkJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw1MSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUKKyMg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6
CisjIAorIyAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiAKKyMgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAKKyMgMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3QKKyMgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMKKyMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorIyAKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SCisj
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YKKyMgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwKKyMg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisjIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyMgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKyMgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUgorIyBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisjIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisKK2Zy
b20gZ29vZ2xlLmFwcGVuZ2luZS5leHQgaW1wb3J0IHdlYmFwcCwgZGIKK2Zyb20gZ29vZ2xlLmFw
cGVuZ2luZS5leHQud2ViYXBwIGltcG9ydCB0ZW1wbGF0ZQorCitmcm9tIGNvbmZpZy5xdWV1ZXMg
aW1wb3J0IHdvcmtfaXRlbV9sb2NrX3RpbWVvdXQKK2Zyb20gaGFuZGxlcnMudXBkYXRlYmFzZSBp
bXBvcnQgVXBkYXRlQmFzZQorZnJvbSBtb2RlbC5xdWV1ZXMgaW1wb3J0IFF1ZXVlCisKKworY2xh
c3MgUmVsZWFzZUxvY2soVXBkYXRlQmFzZSk6CisgICAgZGVmIGdldChzZWxmKToKKyAgICAgICAg
c2VsZi5yZXNwb25zZS5vdXQud3JpdGUodGVtcGxhdGUucmVuZGVyKCJ0ZW1wbGF0ZXMvcmVsZWFz
ZWxvY2suaHRtbCIsIHsgInRpbWVvdXQiOiB3b3JrX2l0ZW1fbG9ja190aW1lb3V0fSApKQorCisg
ICAgZGVmIHBvc3Qoc2VsZik6CisgICAgICAgIHF1ZXVlX25hbWUgPSBzZWxmLnJlcXVlc3QuZ2V0
KCJxdWV1ZV9uYW1lIikKKyAgICAgICAgIyBGSVhNRTogVGhpcyBxdWV1ZSBsb29rdXAgc2hvdWxk
IGJlIHNoYXJlZCBiZXR3ZWVuIGhhbmRsZXJzLgorICAgICAgICBxdWV1ZSA9IFF1ZXVlLnF1ZXVl
X3dpdGhfbmFtZShxdWV1ZV9uYW1lKQorICAgICAgICBpZiBub3QgcXVldWU6CisgICAgICAgICAg
ICBzZWxmLmVycm9yKDQwNCkKKyAgICAgICAgICAgIHJldHVybgorCisgICAgICAgIGF0dGFjaG1l
bnRfaWQgPSBzZWxmLl9pbnRfZnJvbV9yZXF1ZXN0KCJhdHRhY2htZW50X2lkIikKKyAgICAgICAg
cXVldWUuYWN0aXZlX3dvcmtfaXRlbXMoKS5leHBpcmVfaXRlbShhdHRhY2htZW50X2lkKQorCisg
ICAgICAgICMgUmVsZWFzZUxvY2sgaXMgdXNlZCB3aGVuIGEgcXVldWUgbmVpdGhlciBzdWNjZWVk
ZWQgbm9yIGZhaWxlZCwgc28gaXQgc2lsZW50bHkgcmVsZWFzZXMgdGhlIHBhdGNoLgorICAgICAg
ICAjIExldCdzIHRyeSBvdGhlciBwYXRjaGVzIGJlZm9yZSByZXRyeWluZyB0aGlzIG9uZSwgaW4g
dGhlIGludGVyZXN0IG9mIGZhaXJuZXNzLCBhbmQgYWxzbyBiZWNhdXNlCisgICAgICAgICMgYW5v
dGhlciBwYXRjaCBjb3VsZCBiZSBwb3N0ZWQgdG8gYWRkcmVzcyBxdWV1ZSBwcm9ibGVtcy4KKyAg
ICAgICAgcXVldWUud29ya19pdGVtcygpLm1vdmVfdG9fZW5kKGF0dGFjaG1lbnRfaWQpCisgICAg
ICAgIAoKUHJvcGVydHkgY2hhbmdlcyBvbjogVG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvaGFuZGxl
cnMvcmVsZWFzZWxvY2sucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCww
ICsxICMjCitMRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBUb29scy9R
dWV1ZVN0YXR1c1NlcnZlci9tb2RlbC9hY3RpdmV3b3JraXRlbXMucHkKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
VG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvbW9kZWwvYWN0aXZld29ya2l0ZW1zLnB5CShyZXZpc2lv
biAxNzM4OTgpCisrKyBUb29scy9RdWV1ZVN0YXR1c1NlcnZlci9tb2RlbC9hY3RpdmV3b3JraXRl
bXMucHkJKHdvcmtpbmcgY29weSkKQEAgLTMxLDYgKzMxLDcgQEAgZnJvbSBnb29nbGUuYXBwZW5n
aW5lLmV4dCBpbXBvcnQgZGIKIGZyb20gZGF0ZXRpbWUgaW1wb3J0IHRpbWVkZWx0YSwgZGF0ZXRp
bWUKIGltcG9ydCB0aW1lCiAKK2Zyb20gY29uZmlnLnF1ZXVlcyBpbXBvcnQgd29ya19pdGVtX2xv
Y2tfdGltZW91dAogZnJvbSBtb2RlbC5xdWV1ZXByb3BlcnR5bWl4aW4gaW1wb3J0IFF1ZXVlUHJv
cGVydHlNaXhpbgogCiAKQEAgLTgxLDcgKzgyLDcgQEAgY2xhc3MgQWN0aXZlV29ya0l0ZW1zKGRi
Lk1vZGVsLCBRdWV1ZVBybwogICAgIGRlZiBkZWFjdGl2YXRlX2V4cGlyZWQoc2VsZiwgbm93KToK
ICAgICAgICAgIyBJZiB0aGUgcGF0Y2ggaXMgc3RpbGwgYWN0aXZlIGFmdGVyIHRoaXMgbXVjaCB0
aW1lLCB0aGVuIGEgYm90IG11c3QgaGF2ZSBmcm96ZW4gb3IgcmVib290ZWQsCiAgICAgICAgICMg
YW5kIGRyb3BwZWQgdGhlIHBhdGNoIG9uIHRoZSBmbG9vci4gTGV0IGFub3RoZXIgYm90IHBpY2sg
aXQgdXAuCi0gICAgICAgIHR3b19ob3Vyc19hZ28gPSB0aW1lLm1rdGltZSgobm93IC0gdGltZWRl
bHRhKG1pbnV0ZXM9MTIwKSkudGltZXR1cGxlKCkpCisgICAgICAgIHR3b19ob3Vyc19hZ28gPSB0
aW1lLm1rdGltZSgobm93IC0gd29ya19pdGVtX2xvY2tfdGltZW91dCkudGltZXR1cGxlKCkpCiAg
ICAgICAgIG5vbmV4cGlyZWRfcGFpcnMgPSBbcGFpciBmb3IgcGFpciBpbiBzZWxmLl9pdGVtX3Rp
bWVfcGFpcnMoKSBpZiBwYWlyWzFdID4gdHdvX2hvdXJzX2Fnb10KICAgICAgICAgc2VsZi5fc2V0
X2l0ZW1fdGltZV9wYWlycyhub25leHBpcmVkX3BhaXJzKQogCkluZGV4OiBUb29scy9RdWV1ZVN0
YXR1c1NlcnZlci9tb2RlbC93b3JraXRlbXMucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvUXVldWVT
dGF0dXNTZXJ2ZXIvbW9kZWwvd29ya2l0ZW1zLnB5CShyZXZpc2lvbiAxNzM4OTgpCisrKyBUb29s
cy9RdWV1ZVN0YXR1c1NlcnZlci9tb2RlbC93b3JraXRlbXMucHkJKHdvcmtpbmcgY29weSkKQEAg
LTc1LDMgKzc1LDE1IEBAIGNsYXNzIFdvcmtJdGVtcyhkYi5Nb2RlbCwgUXVldWVQcm9wZXJ0eU0K
ICAgICAjIEJlY2F1c2UgdGhpcyB1c2VzIC5rZXkoKSBzZWxmLmlzX3NhdmVkKCkgbXVzdCBiZSBU
cnVlIG9yIHRoaXMgd2lsbCB0aHJvdyBOb3RTYXZlZEVycm9yLgogICAgIGRlZiByZW1vdmVfd29y
a19pdGVtKHNlbGYsIGF0dGFjaG1lbnRfaWQpOgogICAgICAgICBkYi5ydW5faW5fdHJhbnNhY3Rp
b24oc2VsZi5fdW5ndWFyZGVkX3JlbW92ZSwgc2VsZi5rZXkoKSwgYXR0YWNobWVudF9pZCkKKwor
ICAgIEBzdGF0aWNtZXRob2QKKyAgICBkZWYgX3VuZ3VhcmRlZF9tb3ZlX3RvX2VuZChrZXksIGF0
dGFjaG1lbnRfaWQpOgorICAgICAgICB3b3JrX2l0ZW1zID0gZGIuZ2V0KGtleSkKKyAgICAgICAg
aWYgYXR0YWNobWVudF9pZCBpbiB3b3JrX2l0ZW1zLml0ZW1faWRzOgorICAgICAgICAgICAgIyBX
ZSBzaG91bGQgbmV2ZXIgaGF2ZSBtb3JlIHRoYW4gb25lIGVudHJ5IGZvciBhIHdvcmsgaXRlbSwg
c28gd2Ugb25seSBuZWVkIHJlbW92ZSB0aGUgZmlyc3QuCisgICAgICAgICAgICB3b3JrX2l0ZW1z
Lml0ZW1faWRzLnJlbW92ZShhdHRhY2htZW50X2lkKQorICAgICAgICAgICAgd29ya19pdGVtcy5p
dGVtX2lkcy5hcHBlbmQoYXR0YWNobWVudF9pZCkKKyAgICAgICAgd29ya19pdGVtcy5wdXQoKQor
CisgICAgZGVmIG1vdmVfdG9fZW5kKHNlbGYsIGF0dGFjaG1lbnRfaWQpOgorICAgICAgICBkYi5y
dW5faW5fdHJhbnNhY3Rpb24oc2VsZi5fdW5ndWFyZGVkX21vdmVfdG9fZW5kLCBzZWxmLmtleSgp
LCBhdHRhY2htZW50X2lkKQpJbmRleDogVG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvdGVtcGxhdGVz
L3JlbGVhc2Vsb2NrLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIv
dGVtcGxhdGVzL3JlbGVhc2Vsb2NrLmh0bWwJKHJldmlzaW9uIDApCisrKyBUb29scy9RdWV1ZVN0
YXR1c1NlcnZlci90ZW1wbGF0ZXMvcmVsZWFzZWxvY2suaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDYgQEAKKzxmb3JtIG5hbWU9InJlbGVhc2VfbG9jayIgZW5jdHlwZT0ibXVsdGlwYXJ0
L2Zvcm0tZGF0YSIgbWV0aG9kPSJwb3N0Ij4KKzxwPlJlbGVhc2UgcXVldWUgbG9jay48L3A+Cis8
cD5Pbmx5IHVzZSB0aGlzIHdoZW4gYSBwYXRjaCBpcyBsb2NrZWQgZXJyb25lb3VzbHksIGFuZCB0
aGVyZSBpcyBubyBib3QgcHJvY2Vzc2luZyBpdC4KK1BhdGNoZXMgYXJlIGFsc28gdW5sb2NrZWQg
YXV0b21hdGljYWxseSBhZnRlciBhIHNob3J0IHRpbWVvdXQgKGN1cnJlbnRseSBzZXQgdG8ge3sg
dGltZW91dCB9fSksIHNvIHRoaXMgaXMgcmFyZWx5IG5lY2Vzc2FyeS48L3A+CitQYXRjaCB0byB1
bmxvY2s6IDxpbnB1dCBuYW1lPSJhdHRhY2htZW50X2lkIiBwbGFjZWhvbGRlcj0icGF0Y2ggaWQg
aW4gQnVnemlsbGEiPiBmcm9tIDxpbnB1dCBuYW1lPSJxdWV1ZV9uYW1lIiBwbGFjZWhvbGRlcj0i
cXVldWUgbmFtZSI+PGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IlJlbGVhc2UgbG9jayB0byBy
ZS1ydW4iPjwvZGl2PgorPC9mb3JtPgoKUHJvcGVydHkgY2hhbmdlcyBvbjogVG9vbHMvUXVldWVT
dGF0dXNTZXJ2ZXIvdGVtcGxhdGVzL3JlbGVhc2Vsb2NrLmh0bWwKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDog
c3ZuOm1pbWUtdHlwZQojIyAtMCwwICsxICMjCit0ZXh0L2h0bWwKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBwcm9wZXJ0eQpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRz
L2Vhcmx5d2FybmluZ3N5c3RlbS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtp
dHB5L3Rvb2wvY29tbWFuZHMvZWFybHl3YXJuaW5nc3lzdGVtLnB5CShyZXZpc2lvbiAxNzM4OTgp
CisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvZWFybHl3YXJuaW5nc3lz
dGVtLnB5CSh3b3JraW5nIGNvcHkpCkBAIC04NSw3ICs4NSwxMSBAQCBjbGFzcyBBYnN0cmFjdEVh
cmx5V2FybmluZ1N5c3RlbShBYnN0cmFjCiAgICAgICAgICAgICBzZWxmLl9kaWRfZXJyb3IocGF0
Y2gsICIlcyBkaWQgbm90IHByb2Nlc3MgcGF0Y2guIiAlIHNlbGYubmFtZSkKICAgICAgICAgICAg
IHJldHVybiBGYWxzZQogICAgICAgICB0cnk6Ci0gICAgICAgICAgICByZXR1cm4gdGFzay5ydW4o
KQorICAgICAgICAgICAgc3VjY2VlZGVkID0gdGFzay5ydW4oKQorICAgICAgICAgICAgaWYgbm90
IHN1Y2NlZWRlZDoKKyAgICAgICAgICAgICAgICAjIENhbGxlciB1bmxvY2tzIHdoZW4gcmV2aWV3
X3BhdGNoIHJldHVybnMgVHJ1ZSwgc28gd2Ugb25seSBuZWVkIHRvIHVubG9jayBvbiB0cmFuc2ll
bnQgZmFpbHVyZS4KKyAgICAgICAgICAgICAgICBzZWxmLl91bmxvY2socGF0Y2gpCisgICAgICAg
ICAgICByZXR1cm4gc3VjY2VlZGVkCiAgICAgICAgIGV4Y2VwdCBVbmFibGVUb0FwcGx5UGF0Y2gs
IGU6CiAgICAgICAgICAgICBzZWxmLl9kaWRfZXJyb3IocGF0Y2gsICIlcyB1bmFibGUgdG8gYXBw
bHkgcGF0Y2guIiAlIHNlbGYubmFtZSkKICAgICAgICAgICAgIHJldHVybiBGYWxzZQpJbmRleDog
VG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3F1ZXVlcy5weQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcXVldWVzLnB5CShyZXZp
c2lvbiAxNzM4OTgpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcXVl
dWVzLnB5CSh3b3JraW5nIGNvcHkpCkBAIC00MjUsMTkgKzQyNSwxMCBAQCBjbGFzcyBBYnN0cmFj
dFJldmlld1F1ZXVlKFBhdGNoUHJvY2Vzc2luCiAgICAgICAgIHJldHVybiBzZWxmLl9uZXh0X3Bh
dGNoKCkKIAogICAgIGRlZiBwcm9jZXNzX3dvcmtfaXRlbShzZWxmLCBwYXRjaCk6Ci0gICAgICAg
IHRyeToKLSAgICAgICAgICAgIGlmIG5vdCBzZWxmLnJldmlld19wYXRjaChwYXRjaCk6Ci0gICAg
ICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisgICAgICAgIHBhc3NlZCA9IHNlbGYucmV2aWV3X3Bh
dGNoKHBhdGNoKQorICAgICAgICBpZiBwYXNzZWQ6CiAgICAgICAgICAgICBzZWxmLl9kaWRfcGFz
cyhwYXRjaCkKLSAgICAgICAgICAgIHJldHVybiBUcnVlCi0gICAgICAgIGV4Y2VwdCBTY3JpcHRF
cnJvciwgZToKLSAgICAgICAgICAgIGlmIGUuZXhpdF9jb2RlICE9IFF1ZXVlRW5naW5lLmhhbmRs
ZWRfZXJyb3JfY29kZToKLSAgICAgICAgICAgICAgICBzZWxmLl9kaWRfZmFpbChwYXRjaCkKLSAg
ICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgIyBUaGUgc3VicHJvY2VzcyBoYW5kbGVk
IHRoZSBlcnJvciwgYnV0IHdvbid0IGhhdmUgcmVsZWFzZWQgdGhlIHBhdGNoLCBzbyB3ZSBkby4K
LSAgICAgICAgICAgICAgICAjIEZJWE1FOiBXZSBuZWVkIHRvIHNpbXBsaWZ5IHRoZSBydWxlcyBi
eSB3aGljaCBfcmVsZWFzZV93b3JrX2l0ZW0gaXMgY2FsbGVkLgotICAgICAgICAgICAgICAgIHNl
bGYuX3JlbGVhc2Vfd29ya19pdGVtKHBhdGNoKQotICAgICAgICAgICAgcmFpc2UgZQorICAgICAg
ICByZXR1cm4gcGFzc2VkCiAKICAgICBkZWYgaGFuZGxlX3VuZXhwZWN0ZWRfZXJyb3Ioc2VsZiwg
cGF0Y2gsIG1lc3NhZ2UpOgogICAgICAgICBfbG9nLmVycm9yKG1lc3NhZ2UpCkBAIC00NjEsNyAr
NDUyLDExIEBAIGNsYXNzIFN0eWxlUXVldWUoQWJzdHJhY3RSZXZpZXdRdWV1ZSwgU3QKICAgICAg
ICAgICAgIHNlbGYuX2RpZF9lcnJvcihwYXRjaCwgIiVzIGRpZCBub3QgcHJvY2VzcyBwYXRjaC4i
ICUgc2VsZi5uYW1lKQogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAgICAgICAgIHRyeToKLSAg
ICAgICAgICAgIHJldHVybiB0YXNrLnJ1bigpCisgICAgICAgICAgICBzdHlsZV9jaGVja19zdWNj
ZWVkZWQgPSB0YXNrLnJ1bigpCisgICAgICAgICAgICBpZiBub3Qgc3R5bGVfY2hlY2tfc3VjY2Vl
ZGVkOgorICAgICAgICAgICAgICAgICMgQ2FsbGVyIHVubG9ja3Mgd2hlbiByZXZpZXdfcGF0Y2gg
cmV0dXJucyBUcnVlLCBzbyB3ZSBvbmx5IG5lZWQgdG8gdW5sb2NrIG9uIHRyYW5zaWVudCBmYWls
dXJlLgorICAgICAgICAgICAgICAgIHNlbGYuX3VubG9jayhwYXRjaCkKKyAgICAgICAgICAgIHJl
dHVybiBzdHlsZV9jaGVja19zdWNjZWVkZWQKICAgICAgICAgZXhjZXB0IFVuYWJsZVRvQXBwbHlQ
YXRjaCwgZToKICAgICAgICAgICAgIHNlbGYuX2RpZF9lcnJvcihwYXRjaCwgIiVzIHVuYWJsZSB0
byBhcHBseSBwYXRjaC4iICUgc2VsZi5uYW1lKQogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCg==
</data>
<flag name="review"
          id="263429"
          type_id="1"
          status="-"
          setter="rniwa"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>238681</attachid>
            <date>2014-09-25 15:58:57 -0700</date>
            <delta_ts>2014-09-25 16:07:04 -0700</delta_ts>
            <desc>proposed fix</desc>
            <filename>ReleaseImmediately.txt</filename>
            <type>text/plain</type>
            <size>16472</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDE3Mzk3OCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDQ4IEBACisyMDE0LTA5LTI1ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29t
PgorCisgICAgICAgIEVXUyBvbmx5IHJlcGVhdHMgaXRzIGN5Y2xlIGV2ZXJ5IHR3byBob3Vycwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM3MTI5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBRdWV1ZVN0
YXR1c1NlcnZlci9hcHAueWFtbDogVXBkYXRlZCB2ZXJzaW9uLgorCisgICAgICAgICogUXVldWVT
dGF0dXNTZXJ2ZXIvY29uZmlnL3F1ZXVlcy5weTogTW92ZWQgdGltZW91dCBmcm9tIGFjdGl2ZXdv
cmtpdGVtcy5weSB0byBjb25maWd1cmF0aW9uLgorCisgICAgICAgICogUXVldWVTdGF0dXNTZXJ2
ZXIvaGFuZGxlcnMvcmVsZWFzZWxvY2sucHk6IEFkZGVkLiBSZWxlYXNlcyB0aGUgbG9jayB3aXRo
b3V0IHJlbW92aW5nCisgICAgICAgIHRoZSBwYXRjaCBmcm9tIHdvcmsgaXRlbXMuCisKKyAgICAg
ICAgKiBRdWV1ZVN0YXR1c1NlcnZlci9pbmRleC55YW1sOiBObyByZWFsIGNoYW5nZSwganVzdCBs
ZXQgQXBwRW5naW5lIGhhdmUgaXRzIHdheSB3aXRoIGVudHJ5IG9yZGVyLgorCisgICAgICAgICog
UXVldWVTdGF0dXNTZXJ2ZXIvbWFpbi5weTogQWRkZWQgcmVsZWFzZS1sb2NrLgorCisgICAgICAg
ICogUXVldWVTdGF0dXNTZXJ2ZXIvbW9kZWwvYWN0aXZld29ya2l0ZW1zLnB5OgorICAgICAgICAo
QWN0aXZlV29ya0l0ZW1zLmRlYWN0aXZhdGVfZXhwaXJlZCk6IFVzZSB0aW1lb3V0IGZyb20gY29u
ZmlndXJhdGlvbi4KKworICAgICAgICAqIFF1ZXVlU3RhdHVzU2VydmVyL21vZGVsL3dvcmtpdGVt
cy5weTogQWRkZWQgbW92ZV90b19lbmQuIFdoZW4gd2UgdW5sb2NrIGEgcGF0Y2gsCisgICAgICAg
IHdlIGRvbid0IHdhbnQgaXQgdG8gYmUgaW1tZWRpYXRlbHkgcGlja2VkIHVwIGFnYWluLCBpdCdz
IGJldHRlciB0byBnaXZlIG90aGVyIHBhdGNoZXMKKyAgICAgICAgYSBjaGFuY2UuCisKKyAgICAg
ICAgKiBRdWV1ZVN0YXR1c1NlcnZlci90ZW1wbGF0ZXMvcmVsZWFzZWxvY2suaHRtbDogQWRkZWQu
IE5vdCBzdXJlIHdoeSBhbGwgY29tbWFuZHMgaGF2ZQorICAgICAgICB0aGVzZSBpbnRlcmFjdGl2
ZSB2ZXJzaW9ucywgYnV0IE9LLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL2Nv
bW1hbmRzL2Vhcmx5d2FybmluZ3N5c3RlbS5weTogKEFic3RyYWN0RWFybHlXYXJuaW5nU3lzdGVt
LnJldmlld19wYXRjaCk6CisgICAgICAgIFVubG9jayB0aGUgcGF0Y2ggd2hlbiBhIG5vbi1maW5h
bCBmYWlsdXJlIG9jY3VycyAoZS5nLiBjYW4ndCBidWlsZCBldmVuIHdpdGhvdXQgdGhlIHBhdGNo
LAorICAgICAgICBvciBzdm4gaXMgZG93bikuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L3Rvb2wvY29tbWFuZHMvcXVldWVzLnB5OgorICAgICAgICAoQWJzdHJhY3RSZXZpZXdRdWV1ZS5w
cm9jZXNzX3dvcmtfaXRlbSk6IERvIG5vdCB0cnkvY2F0Y2ggU2NyaXB0RXJyb3IgYXJvdW5kIHJl
dmlld19wYXRjaC4KKyAgICAgICAgU3R5bGUgcXVldWUgbmV2ZXIgcmFpc2VzIHRoZXNlLCBhbmQg
RVdTIGFscmVhZHkgY2FsbHMgX2RpZF9mYWlsLCBiZWZvcmUgcmUtdGhyb3dpbmcsCisgICAgICAg
IG1lYW5pbmcgdGhhdCB0aGVzZSBoYW5kbGVycyBjb3VsZCBuZXZlciBkbyB0aGUgcmlnaHQgdGhp
bmcuIFdlJ2QgZWl0aGVyIGdldCBhIGR1cGxpY2F0ZQorICAgICAgICBfZGlkX2ZhaWwsIG9yIHRy
eSB0byB1bmxvY2sgYW4gYWxyZWFkeSB1bmxvY2tlZCBwYXRjaC4KKyAgICAgICAgKFN0eWxlUXVl
dWUucmV2aWV3X3BhdGNoKTogVW5sb2NrIHRoZSBwYXRjaCBvbiB0cmFuc2llbnQgZmFpbHVyZSAo
c3VjaCBhcyBzdm4gZmFpbHVyZSksCisgICAgICAgIG1ha2luZyBpdCBlbGlnaWJsZSBmb3IgcmV0
cnkgaW1tZWRpYXRlbHkuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQv
c3RhdHVzc2VydmVyLnB5OgorICAgICAgICAoU3RhdHVzU2VydmVyLl9wb3N0X3JlbGVhc2VfbG9j
ayk6CisgICAgICAgIChTdGF0dXNTZXJ2ZXIucmVsZWFzZV9sb2NrKToKKyAgICAgICAgQWRkZWQg
YSBjYWxsIHRvIHJlbGVhc2UtbG9jay4KKwogMjAxNC0wOS0yNSAgUm9nZXIgRm9uZyAgPHJvZ2Vy
X2ZvbmdAYXBwbGUuY29tPgogCiAgICAgICAgIFtXaW5kb3dzXSBGb2xsb3d1cCB0byByMTczOTcy
LiBEb27igJl0IHNldCBjaGlsZCBwcm9jZXNzIHRvIG5vbmUgYmVmb3JlIHJlYWRpbmcgZnJvbSBz
dGRvdXQuCkluZGV4OiBUb29scy9RdWV1ZVN0YXR1c1NlcnZlci9hcHAueWFtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9RdWV1ZVN0YXR1c1NlcnZlci9hcHAueWFtbAkocmV2aXNpb24gMTczODk4KQor
KysgVG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvYXBwLnlhbWwJKHdvcmtpbmcgY29weSkKQEAgLTEs
NSArMSw1IEBACiBhcHBsaWNhdGlvbjogd2Via2l0LXF1ZXVlcwotdmVyc2lvbjogMTczNTg3ICMg
QnVnemlsbGEgYnVnIElEIG9mIGxhc3QgbWFqb3IgY2hhbmdlCit2ZXJzaW9uOiAxNzM5NzYgIyBC
dWd6aWxsYSBidWcgSUQgb2YgbGFzdCBtYWpvciBjaGFuZ2UKIHJ1bnRpbWU6IHB5dGhvbgogYXBp
X3ZlcnNpb246IDEKIApJbmRleDogVG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvaW5kZXgueWFtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9RdWV1ZVN0YXR1c1NlcnZlci9pbmRleC55YW1sCShyZXZpc2lv
biAxNzM4OTgpCisrKyBUb29scy9RdWV1ZVN0YXR1c1NlcnZlci9pbmRleC55YW1sCSh3b3JraW5n
IGNvcHkpCkBAIC0zMSw0MSArMzEsNDEgQEAgaW5kZXhlczoKIC0ga2luZDogUXVldWVTdGF0dXMK
ICAgcHJvcGVydGllczoKICAgLSBuYW1lOiBib3RfaWQKLSAgLSBuYW1lOiBtZXNzYWdlCi0gIC0g
bmFtZTogcXVldWVfbmFtZQogICAtIG5hbWU6IGRhdGUKICAgICBkaXJlY3Rpb246IGRlc2MKIAog
LSBraW5kOiBRdWV1ZVN0YXR1cwogICBwcm9wZXJ0aWVzOgogICAtIG5hbWU6IGJvdF9pZAorICAt
IG5hbWU6IG1lc3NhZ2UKICAgLSBuYW1lOiBxdWV1ZV9uYW1lCiAgIC0gbmFtZTogZGF0ZQogICAg
IGRpcmVjdGlvbjogZGVzYwogCiAtIGtpbmQ6IFF1ZXVlU3RhdHVzCiAgIHByb3BlcnRpZXM6Ci0g
IC0gbmFtZTogbWVzc2FnZQorICAtIG5hbWU6IGJvdF9pZAogICAtIG5hbWU6IHF1ZXVlX25hbWUK
ICAgLSBuYW1lOiBkYXRlCisgICAgZGlyZWN0aW9uOiBkZXNjCiAKIC0ga2luZDogUXVldWVTdGF0
dXMKICAgcHJvcGVydGllczoKICAgLSBuYW1lOiBtZXNzYWdlCiAgIC0gbmFtZTogcXVldWVfbmFt
ZQogICAtIG5hbWU6IGRhdGUKLSAgICBkaXJlY3Rpb246IGRlc2MKIAogLSBraW5kOiBRdWV1ZVN0
YXR1cwogICBwcm9wZXJ0aWVzOgorICAtIG5hbWU6IG1lc3NhZ2UKICAgLSBuYW1lOiBxdWV1ZV9u
YW1lCiAgIC0gbmFtZTogZGF0ZQorICAgIGRpcmVjdGlvbjogZGVzYwogCiAtIGtpbmQ6IFF1ZXVl
U3RhdHVzCiAgIHByb3BlcnRpZXM6Ci0gIC0gbmFtZTogYm90X2lkCisgIC0gbmFtZTogcXVldWVf
bmFtZQogICAtIG5hbWU6IGRhdGUKLSAgICBkaXJlY3Rpb246IGRlc2MKIAogLSBraW5kOiBRdWV1
ZVN0YXR1cwogICBwcm9wZXJ0aWVzOgpJbmRleDogVG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvbWFp
bi5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9RdWV1ZVN0YXR1c1NlcnZlci9tYWluLnB5CShyZXZp
c2lvbiAxNzM4OTgpCisrKyBUb29scy9RdWV1ZVN0YXR1c1NlcnZlci9tYWluLnB5CSh3b3JraW5n
IGNvcHkpCkBAIC00NSw2ICs0NSw3IEBAIGZyb20gaGFuZGxlcnMucXVldWVzdGF0dXMgaW1wb3J0
IFF1ZXVlU3QKIGZyb20gaGFuZGxlcnMucXVldWVzdGF0dXNqc29uIGltcG9ydCBRdWV1ZVN0YXR1
c0pTT04KIGZyb20gaGFuZGxlcnMucmVjZW50c3RhdHVzIGltcG9ydCBRdWV1ZXNPdmVydmlldwog
ZnJvbSBoYW5kbGVycy5yZWxlYXNlcGF0Y2ggaW1wb3J0IFJlbGVhc2VQYXRjaAorZnJvbSBoYW5k
bGVycy5yZWxlYXNlbG9jayBpbXBvcnQgUmVsZWFzZUxvY2sKIGZyb20gaGFuZGxlcnMuc2hvd3Jl
c3VsdHMgaW1wb3J0IFNob3dSZXN1bHRzCiBmcm9tIGhhbmRsZXJzLnN0YXR1c2J1YmJsZSBpbXBv
cnQgU3RhdHVzQnViYmxlCiBmcm9tIGhhbmRsZXJzLnN1Ym1pdHRvZXdzIGltcG9ydCBTdWJtaXRU
b0VXUwpAQCAtNzUsNiArNzYsNyBAQCByb3V0ZXMgPSBbCiAgICAgKHInL3F1ZXVlLXN0YXR1cy1q
c29uLyguKiknLCBRdWV1ZVN0YXR1c0pTT04pLAogICAgIChyJy9uZXh0LXBhdGNoLyguKiknLCBO
ZXh0UGF0Y2gpLAogICAgIChyJy9yZWxlYXNlLXBhdGNoJywgUmVsZWFzZVBhdGNoKSwKKyAgICAo
cicvcmVsZWFzZS1sb2NrJywgUmVsZWFzZUxvY2spLAogICAgICgnL3VwZGF0ZS1zdGF0dXMnLCBV
cGRhdGVTdGF0dXMpLAogICAgICgnL3VwZGF0ZS13b3JrLWl0ZW1zJywgVXBkYXRlV29ya0l0ZW1z
KSwKICAgICAoJy91cGRhdGUtc3ZuLXJldmlzaW9uJywgVXBkYXRlU1ZOUmV2aXNpb24pLApJbmRl
eDogVG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvY29uZmlnL3F1ZXVlcy5weQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9RdWV1ZVN0YXR1c1NlcnZlci9jb25maWcvcXVldWVzLnB5CShyZXZpc2lvbiAxNzM4
OTgpCisrKyBUb29scy9RdWV1ZVN0YXR1c1NlcnZlci9jb25maWcvcXVldWVzLnB5CSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsNCBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgogIyBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICMKICMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC0yNiw2ICsyNyw4IEBACiAjIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCitmcm9tIGRhdGV0aW1lIGltcG9ydCB0aW1lZGVs
dGEKKwogIyBFdmVudHVhbGx5IHRoZSBsaXN0IG9mIHF1ZXVlcyBtYXkgYmUgc3RvcmVkIGluIHRo
ZSBkYXRhIHN0b3JlLgogYWxsX3F1ZXVlX25hbWVzID0gWwogICAgICJjb21taXQtcXVldWUiLApA
QCAtMzYsMyArMzksNyBAQCBhbGxfcXVldWVfbmFtZXMgPSBbCiAgICAgIndpbi1ld3MiLAogICAg
ICJlZmwtd2syLWV3cyIsCiBdCisKKyMgSWYgdGhlIHBhdGNoIGlzIHN0aWxsIGFjdGl2ZSBhZnRl
ciB0aGlzIG11Y2ggdGltZSwgdGhlbiBhIGJvdCBtdXN0IGhhdmUgZnJvemVuIG9yIHJlYm9vdGVk
LAorIyBhbmQgZHJvcHBlZCB0aGUgcGF0Y2ggb24gdGhlIGZsb29yLiBXZSB3aWxsIGlnbm9yZSB0
aGUgbG9jayBpbiB0aGlzIGNhc2UsIGFuZCBsZXQgYW5vdGhlciBib3QgcGljayB1cC4KK3dvcmtf
aXRlbV9sb2NrX3RpbWVvdXQgPSB0aW1lZGVsdGEobWludXRlcz0xMjApCkluZGV4OiBUb29scy9R
dWV1ZVN0YXR1c1NlcnZlci9oYW5kbGVycy9yZWxlYXNlbG9jay5weQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9RdWV1ZVN0YXR1c1NlcnZlci9oYW5kbGVycy9yZWxlYXNlbG9jay5weQkocmV2aXNpb24g
MCkKKysrIFRvb2xzL1F1ZXVlU3RhdHVzU2VydmVyL2hhbmRsZXJzL3JlbGVhc2Vsb2NrLnB5CSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTEgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwg
YXJlCisjIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUgbWV0OgorIyAKKyMgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgCisjIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgCisjIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0CisjIG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzCisjIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMgCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUgorIyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisjIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMCisjIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorIyBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisjIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisjIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IKKyMgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworIyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KworCitmcm9tIGdvb2dsZS5hcHBlbmdpbmUuZXh0IGltcG9ydCB3ZWJhcHAsIGRiCitmcm9tIGdv
b2dsZS5hcHBlbmdpbmUuZXh0LndlYmFwcCBpbXBvcnQgdGVtcGxhdGUKKworZnJvbSBjb25maWcu
cXVldWVzIGltcG9ydCB3b3JrX2l0ZW1fbG9ja190aW1lb3V0Citmcm9tIGhhbmRsZXJzLnVwZGF0
ZWJhc2UgaW1wb3J0IFVwZGF0ZUJhc2UKK2Zyb20gbW9kZWwucXVldWVzIGltcG9ydCBRdWV1ZQor
CisKK2NsYXNzIFJlbGVhc2VMb2NrKFVwZGF0ZUJhc2UpOgorICAgIGRlZiBnZXQoc2VsZik6Cisg
ICAgICAgIHNlbGYucmVzcG9uc2Uub3V0LndyaXRlKHRlbXBsYXRlLnJlbmRlcigidGVtcGxhdGVz
L3JlbGVhc2Vsb2NrLmh0bWwiLCB7ICJ0aW1lb3V0Ijogd29ya19pdGVtX2xvY2tfdGltZW91dH0g
KSkKKworICAgIGRlZiBwb3N0KHNlbGYpOgorICAgICAgICBxdWV1ZV9uYW1lID0gc2VsZi5yZXF1
ZXN0LmdldCgicXVldWVfbmFtZSIpCisgICAgICAgICMgRklYTUU6IFRoaXMgcXVldWUgbG9va3Vw
IHNob3VsZCBiZSBzaGFyZWQgYmV0d2VlbiBoYW5kbGVycy4KKyAgICAgICAgcXVldWUgPSBRdWV1
ZS5xdWV1ZV93aXRoX25hbWUocXVldWVfbmFtZSkKKyAgICAgICAgaWYgbm90IHF1ZXVlOgorICAg
ICAgICAgICAgc2VsZi5lcnJvcig0MDQpCisgICAgICAgICAgICByZXR1cm4KKworICAgICAgICBh
dHRhY2htZW50X2lkID0gc2VsZi5faW50X2Zyb21fcmVxdWVzdCgiYXR0YWNobWVudF9pZCIpCisg
ICAgICAgIHF1ZXVlLmFjdGl2ZV93b3JrX2l0ZW1zKCkuZXhwaXJlX2l0ZW0oYXR0YWNobWVudF9p
ZCkKKworICAgICAgICAjIFJlbGVhc2VMb2NrIGlzIHVzZWQgd2hlbiBhIHF1ZXVlIG5laXRoZXIg
c3VjY2VlZGVkIG5vciBmYWlsZWQsIHNvIGl0IHNpbGVudGx5IHJlbGVhc2VzIHRoZSBwYXRjaC4K
KyAgICAgICAgIyBMZXQncyB0cnkgb3RoZXIgcGF0Y2hlcyBiZWZvcmUgcmV0cnlpbmcgdGhpcyBv
bmUsIGluIHRoZSBpbnRlcmVzdCBvZiBmYWlybmVzcywgYW5kIGFsc28gYmVjYXVzZQorICAgICAg
ICAjIGFub3RoZXIgcGF0Y2ggY291bGQgYmUgcG9zdGVkIHRvIGFkZHJlc3MgcXVldWUgcHJvYmxl
bXMuCisgICAgICAgIHF1ZXVlLndvcmtfaXRlbXMoKS5tb3ZlX3RvX2VuZChhdHRhY2htZW50X2lk
KQorICAgICAgICAKClByb3BlcnR5IGNoYW5nZXMgb246IFRvb2xzL1F1ZXVlU3RhdHVzU2VydmVy
L2hhbmRsZXJzL3JlbGVhc2Vsb2NrLnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUK
IyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDog
VG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvbW9kZWwvYWN0aXZld29ya2l0ZW1zLnB5Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFRvb2xzL1F1ZXVlU3RhdHVzU2VydmVyL21vZGVsL2FjdGl2ZXdvcmtpdGVtcy5weQko
cmV2aXNpb24gMTczODk4KQorKysgVG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvbW9kZWwvYWN0aXZl
d29ya2l0ZW1zLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0zMSw2ICszMSw3IEBAIGZyb20gZ29vZ2xl
LmFwcGVuZ2luZS5leHQgaW1wb3J0IGRiCiBmcm9tIGRhdGV0aW1lIGltcG9ydCB0aW1lZGVsdGEs
IGRhdGV0aW1lCiBpbXBvcnQgdGltZQogCitmcm9tIGNvbmZpZy5xdWV1ZXMgaW1wb3J0IHdvcmtf
aXRlbV9sb2NrX3RpbWVvdXQKIGZyb20gbW9kZWwucXVldWVwcm9wZXJ0eW1peGluIGltcG9ydCBR
dWV1ZVByb3BlcnR5TWl4aW4KIAogCkBAIC04MSw3ICs4Miw3IEBAIGNsYXNzIEFjdGl2ZVdvcmtJ
dGVtcyhkYi5Nb2RlbCwgUXVldWVQcm8KICAgICBkZWYgZGVhY3RpdmF0ZV9leHBpcmVkKHNlbGYs
IG5vdyk6CiAgICAgICAgICMgSWYgdGhlIHBhdGNoIGlzIHN0aWxsIGFjdGl2ZSBhZnRlciB0aGlz
IG11Y2ggdGltZSwgdGhlbiBhIGJvdCBtdXN0IGhhdmUgZnJvemVuIG9yIHJlYm9vdGVkLAogICAg
ICAgICAjIGFuZCBkcm9wcGVkIHRoZSBwYXRjaCBvbiB0aGUgZmxvb3IuIExldCBhbm90aGVyIGJv
dCBwaWNrIGl0IHVwLgotICAgICAgICB0d29faG91cnNfYWdvID0gdGltZS5ta3RpbWUoKG5vdyAt
IHRpbWVkZWx0YShtaW51dGVzPTEyMCkpLnRpbWV0dXBsZSgpKQorICAgICAgICB0d29faG91cnNf
YWdvID0gdGltZS5ta3RpbWUoKG5vdyAtIHdvcmtfaXRlbV9sb2NrX3RpbWVvdXQpLnRpbWV0dXBs
ZSgpKQogICAgICAgICBub25leHBpcmVkX3BhaXJzID0gW3BhaXIgZm9yIHBhaXIgaW4gc2VsZi5f
aXRlbV90aW1lX3BhaXJzKCkgaWYgcGFpclsxXSA+IHR3b19ob3Vyc19hZ29dCiAgICAgICAgIHNl
bGYuX3NldF9pdGVtX3RpbWVfcGFpcnMobm9uZXhwaXJlZF9wYWlycykKIApJbmRleDogVG9vbHMv
UXVldWVTdGF0dXNTZXJ2ZXIvbW9kZWwvd29ya2l0ZW1zLnB5Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xz
L1F1ZXVlU3RhdHVzU2VydmVyL21vZGVsL3dvcmtpdGVtcy5weQkocmV2aXNpb24gMTczODk4KQor
KysgVG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvbW9kZWwvd29ya2l0ZW1zLnB5CSh3b3JraW5nIGNv
cHkpCkBAIC03NSwzICs3NSwxNSBAQCBjbGFzcyBXb3JrSXRlbXMoZGIuTW9kZWwsIFF1ZXVlUHJv
cGVydHlNCiAgICAgIyBCZWNhdXNlIHRoaXMgdXNlcyAua2V5KCkgc2VsZi5pc19zYXZlZCgpIG11
c3QgYmUgVHJ1ZSBvciB0aGlzIHdpbGwgdGhyb3cgTm90U2F2ZWRFcnJvci4KICAgICBkZWYgcmVt
b3ZlX3dvcmtfaXRlbShzZWxmLCBhdHRhY2htZW50X2lkKToKICAgICAgICAgZGIucnVuX2luX3Ry
YW5zYWN0aW9uKHNlbGYuX3VuZ3VhcmRlZF9yZW1vdmUsIHNlbGYua2V5KCksIGF0dGFjaG1lbnRf
aWQpCisKKyAgICBAc3RhdGljbWV0aG9kCisgICAgZGVmIF91bmd1YXJkZWRfbW92ZV90b19lbmQo
a2V5LCBhdHRhY2htZW50X2lkKToKKyAgICAgICAgd29ya19pdGVtcyA9IGRiLmdldChrZXkpCisg
ICAgICAgIGlmIGF0dGFjaG1lbnRfaWQgaW4gd29ya19pdGVtcy5pdGVtX2lkczoKKyAgICAgICAg
ICAgICMgV2Ugc2hvdWxkIG5ldmVyIGhhdmUgbW9yZSB0aGFuIG9uZSBlbnRyeSBmb3IgYSB3b3Jr
IGl0ZW0sIHNvIHdlIG9ubHkgbmVlZCByZW1vdmUgdGhlIGZpcnN0LgorICAgICAgICAgICAgd29y
a19pdGVtcy5pdGVtX2lkcy5yZW1vdmUoYXR0YWNobWVudF9pZCkKKyAgICAgICAgICAgIHdvcmtf
aXRlbXMuaXRlbV9pZHMuYXBwZW5kKGF0dGFjaG1lbnRfaWQpCisgICAgICAgIHdvcmtfaXRlbXMu
cHV0KCkKKworICAgIGRlZiBtb3ZlX3RvX2VuZChzZWxmLCBhdHRhY2htZW50X2lkKToKKyAgICAg
ICAgZGIucnVuX2luX3RyYW5zYWN0aW9uKHNlbGYuX3VuZ3VhcmRlZF9tb3ZlX3RvX2VuZCwgc2Vs
Zi5rZXkoKSwgYXR0YWNobWVudF9pZCkKSW5kZXg6IFRvb2xzL1F1ZXVlU3RhdHVzU2VydmVyL3Rl
bXBsYXRlcy9yZWxlYXNlbG9jay5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1F1ZXVlU3RhdHVz
U2VydmVyL3RlbXBsYXRlcy9yZWxlYXNlbG9jay5odG1sCShyZXZpc2lvbiAwKQorKysgVG9vbHMv
UXVldWVTdGF0dXNTZXJ2ZXIvdGVtcGxhdGVzL3JlbGVhc2Vsb2NrLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSw2IEBACis8Zm9ybSBuYW1lPSJyZWxlYXNlX2xvY2siIGVuY3R5cGU9Im11
bHRpcGFydC9mb3JtLWRhdGEiIG1ldGhvZD0icG9zdCI+Cis8cD5SZWxlYXNlIHF1ZXVlIGxvY2su
PC9wPgorPHA+T25seSB1c2UgdGhpcyB3aGVuIGEgcGF0Y2ggaXMgbG9ja2VkIGVycm9uZW91c2x5
LCBhbmQgdGhlcmUgaXMgbm8gYm90IHByb2Nlc3NpbmcgaXQuCitQYXRjaGVzIGFyZSBhbHNvIHVu
bG9ja2VkIGF1dG9tYXRpY2FsbHkgYWZ0ZXIgYSBzaG9ydCB0aW1lb3V0IChjdXJyZW50bHkgc2V0
IHRvIHt7IHRpbWVvdXQgfX0pLCBzbyB0aGlzIGlzIHJhcmVseSBuZWNlc3NhcnkuPC9wPgorUGF0
Y2ggdG8gdW5sb2NrOiA8aW5wdXQgbmFtZT0iYXR0YWNobWVudF9pZCIgcGxhY2Vob2xkZXI9InBh
dGNoIGlkIGluIEJ1Z3ppbGxhIj4gZnJvbSA8aW5wdXQgbmFtZT0icXVldWVfbmFtZSIgcGxhY2Vo
b2xkZXI9InF1ZXVlIG5hbWUiPjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJSZWxlYXNlIGxv
Y2sgdG8gcmUtcnVuIj48L2Rpdj4KKzwvZm9ybT4KClByb3BlcnR5IGNoYW5nZXMgb246IFRvb2xz
L1F1ZXVlU3RhdHVzU2VydmVyL3RlbXBsYXRlcy9yZWxlYXNlbG9jay5odG1sCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
QWRkZWQ6IHN2bjptaW1lLXR5cGUKIyMgLTAsMCArMSAjIwordGV4dC9odG1sClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9u
L25ldC9zdGF0dXNzZXJ2ZXIucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9jb21tb24vbmV0L3N0YXR1c3NlcnZlci5weQkocmV2aXNpb24gMTczODk4KQorKysgVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L3N0YXR1c3NlcnZlci5weQkod29ya2luZyBjb3B5
KQpAQCAtMTM3LDYgKzEzNywxOCBAQCBjbGFzcyBTdGF0dXNTZXJ2ZXI6CiAgICAgICAgIF9sb2cu
aW5mbygiUmVsZWFzaW5nIHdvcmsgaXRlbSAlcyBmcm9tICVzIiAlIChwYXRjaC5pZCgpLCBxdWV1
ZV9uYW1lKSkKICAgICAgICAgcmV0dXJuIE5ldHdvcmtUcmFuc2FjdGlvbihjb252ZXJ0XzQwNF90
b19Ob25lPVRydWUpLnJ1bihsYW1iZGE6IHNlbGYuX3Bvc3RfcmVsZWFzZV93b3JrX2l0ZW0ocXVl
dWVfbmFtZSwgcGF0Y2gpKQogCisgICAgZGVmIF9wb3N0X3JlbGVhc2VfbG9jayhzZWxmLCBxdWV1
ZV9uYW1lLCBwYXRjaCk6CisgICAgICAgIHJlbGVhc2VfbG9ja191cmwgPSAiJXMvcmVsZWFzZS1s
b2NrIiAlIChzZWxmLnVybCkKKyAgICAgICAgc2VsZi5fYnJvd3Nlci5vcGVuKHJlbGVhc2VfbG9j
a191cmwpCisgICAgICAgIHNlbGYuX2Jyb3dzZXIuc2VsZWN0X2Zvcm0obmFtZT0icmVsZWFzZV9s
b2NrIikKKyAgICAgICAgc2VsZi5fYnJvd3NlclsicXVldWVfbmFtZSJdID0gcXVldWVfbmFtZQor
ICAgICAgICBzZWxmLl9icm93c2VyWyJhdHRhY2htZW50X2lkIl0gPSB1bmljb2RlKHBhdGNoLmlk
KCkpCisgICAgICAgIHNlbGYuX2Jyb3dzZXIuc3VibWl0KCkKKworICAgIGRlZiByZWxlYXNlX2xv
Y2soc2VsZiwgcXVldWVfbmFtZSwgcGF0Y2gpOgorICAgICAgICBfbG9nLmluZm8oIlJlbGVhc2lu
ZyBsb2NrIGZvciB3b3JrIGl0ZW0gJXMgZnJvbSAlcyIgJSAocGF0Y2guaWQoKSwgcXVldWVfbmFt
ZSkpCisgICAgICAgIHJldHVybiBOZXR3b3JrVHJhbnNhY3Rpb24oY29udmVydF80MDRfdG9fTm9u
ZT1UcnVlKS5ydW4obGFtYmRhOiBzZWxmLl9wb3N0X3JlbGVhc2VfbG9jayhxdWV1ZV9uYW1lLCBw
YXRjaCkpCisKICAgICBkZWYgdXBkYXRlX3dvcmtfaXRlbXMoc2VsZiwgcXVldWVfbmFtZSwgd29y
a19pdGVtcyk6CiAgICAgICAgIF9sb2cuZGVidWcoIlJlY29yZGluZyB3b3JrIGl0ZW1zOiAlcyBm
b3IgJXMiICUgKHdvcmtfaXRlbXMsIHF1ZXVlX25hbWUpKQogICAgICAgICByZXR1cm4gTmV0d29y
a1RyYW5zYWN0aW9uKCkucnVuKGxhbWJkYTogc2VsZi5fcG9zdF93b3JrX2l0ZW1zX3RvX3NlcnZl
cihxdWV1ZV9uYW1lLCB3b3JrX2l0ZW1zKSkKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkv
dG9vbC9jb21tYW5kcy9lYXJseXdhcm5pbmdzeXN0ZW0ucHkKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMv
U2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL2Vhcmx5d2FybmluZ3N5c3RlbS5weQkocmV2
aXNpb24gMTczODk4KQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL2Vh
cmx5d2FybmluZ3N5c3RlbS5weQkod29ya2luZyBjb3B5KQpAQCAtODUsNyArODUsMTEgQEAgY2xh
c3MgQWJzdHJhY3RFYXJseVdhcm5pbmdTeXN0ZW0oQWJzdHJhYwogICAgICAgICAgICAgc2VsZi5f
ZGlkX2Vycm9yKHBhdGNoLCAiJXMgZGlkIG5vdCBwcm9jZXNzIHBhdGNoLiIgJSBzZWxmLm5hbWUp
CiAgICAgICAgICAgICByZXR1cm4gRmFsc2UKICAgICAgICAgdHJ5OgotICAgICAgICAgICAgcmV0
dXJuIHRhc2sucnVuKCkKKyAgICAgICAgICAgIHN1Y2NlZWRlZCA9IHRhc2sucnVuKCkKKyAgICAg
ICAgICAgIGlmIG5vdCBzdWNjZWVkZWQ6CisgICAgICAgICAgICAgICAgIyBDYWxsZXIgdW5sb2Nr
cyB3aGVuIHJldmlld19wYXRjaCByZXR1cm5zIFRydWUsIHNvIHdlIG9ubHkgbmVlZCB0byB1bmxv
Y2sgb24gdHJhbnNpZW50IGZhaWx1cmUuCisgICAgICAgICAgICAgICAgc2VsZi5fdW5sb2NrX3Bh
dGNoKHBhdGNoKQorICAgICAgICAgICAgcmV0dXJuIHN1Y2NlZWRlZAogICAgICAgICBleGNlcHQg
VW5hYmxlVG9BcHBseVBhdGNoLCBlOgogICAgICAgICAgICAgc2VsZi5fZGlkX2Vycm9yKHBhdGNo
LCAiJXMgdW5hYmxlIHRvIGFwcGx5IHBhdGNoLiIgJSBzZWxmLm5hbWUpCiAgICAgICAgICAgICBy
ZXR1cm4gRmFsc2UKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9x
dWV1ZXMucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1h
bmRzL3F1ZXVlcy5weQkocmV2aXNpb24gMTczODk4KQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS90b29sL2NvbW1hbmRzL3F1ZXVlcy5weQkod29ya2luZyBjb3B5KQpAQCAtMjQ4LDYgKzI0OCw5
IEBAIGNsYXNzIEFic3RyYWN0UGF0Y2hRdWV1ZShBYnN0cmFjdFF1ZXVlKToKICAgICAgICAgc2Vs
Zi5fdXBkYXRlX3N0YXR1cyhtZXNzYWdlLCBwYXRjaCkKICAgICAgICAgc2VsZi5fcmVsZWFzZV93
b3JrX2l0ZW0ocGF0Y2gpCiAKKyAgICBkZWYgX3VubG9ja19wYXRjaChzZWxmLCBwYXRjaCk6Cisg
ICAgICAgIHNlbGYuX3Rvb2wuc3RhdHVzX3NlcnZlci5yZWxlYXNlX2xvY2soc2VsZi5uYW1lLCBw
YXRjaCkKKwogICAgIGRlZiB3b3JrX2l0ZW1fbG9nX3BhdGgoc2VsZiwgcGF0Y2gpOgogICAgICAg
ICByZXR1cm4gb3MucGF0aC5qb2luKHNlbGYuX2xvZ19kaXJlY3RvcnkoKSwgIiVzLmxvZyIgJSBw
YXRjaC5idWdfaWQoKSkKIApAQCAtNDI1LDE5ICs0MjgsMTAgQEAgY2xhc3MgQWJzdHJhY3RSZXZp
ZXdRdWV1ZShQYXRjaFByb2Nlc3NpbgogICAgICAgICByZXR1cm4gc2VsZi5fbmV4dF9wYXRjaCgp
CiAKICAgICBkZWYgcHJvY2Vzc193b3JrX2l0ZW0oc2VsZiwgcGF0Y2gpOgotICAgICAgICB0cnk6
Ci0gICAgICAgICAgICBpZiBub3Qgc2VsZi5yZXZpZXdfcGF0Y2gocGF0Y2gpOgotICAgICAgICAg
ICAgICAgIHJldHVybiBGYWxzZQorICAgICAgICBwYXNzZWQgPSBzZWxmLnJldmlld19wYXRjaChw
YXRjaCkKKyAgICAgICAgaWYgcGFzc2VkOgogICAgICAgICAgICAgc2VsZi5fZGlkX3Bhc3MocGF0
Y2gpCi0gICAgICAgICAgICByZXR1cm4gVHJ1ZQotICAgICAgICBleGNlcHQgU2NyaXB0RXJyb3Is
IGU6Ci0gICAgICAgICAgICBpZiBlLmV4aXRfY29kZSAhPSBRdWV1ZUVuZ2luZS5oYW5kbGVkX2Vy
cm9yX2NvZGU6Ci0gICAgICAgICAgICAgICAgc2VsZi5fZGlkX2ZhaWwocGF0Y2gpCi0gICAgICAg
ICAgICBlbHNlOgotICAgICAgICAgICAgICAgICMgVGhlIHN1YnByb2Nlc3MgaGFuZGxlZCB0aGUg
ZXJyb3IsIGJ1dCB3b24ndCBoYXZlIHJlbGVhc2VkIHRoZSBwYXRjaCwgc28gd2UgZG8uCi0gICAg
ICAgICAgICAgICAgIyBGSVhNRTogV2UgbmVlZCB0byBzaW1wbGlmeSB0aGUgcnVsZXMgYnkgd2hp
Y2ggX3JlbGVhc2Vfd29ya19pdGVtIGlzIGNhbGxlZC4KLSAgICAgICAgICAgICAgICBzZWxmLl9y
ZWxlYXNlX3dvcmtfaXRlbShwYXRjaCkKLSAgICAgICAgICAgIHJhaXNlIGUKKyAgICAgICAgcmV0
dXJuIHBhc3NlZAogCiAgICAgZGVmIGhhbmRsZV91bmV4cGVjdGVkX2Vycm9yKHNlbGYsIHBhdGNo
LCBtZXNzYWdlKToKICAgICAgICAgX2xvZy5lcnJvcihtZXNzYWdlKQpAQCAtNDYxLDcgKzQ1NSwx
MSBAQCBjbGFzcyBTdHlsZVF1ZXVlKEFic3RyYWN0UmV2aWV3UXVldWUsIFN0CiAgICAgICAgICAg
ICBzZWxmLl9kaWRfZXJyb3IocGF0Y2gsICIlcyBkaWQgbm90IHByb2Nlc3MgcGF0Y2guIiAlIHNl
bGYubmFtZSkKICAgICAgICAgICAgIHJldHVybiBGYWxzZQogICAgICAgICB0cnk6Ci0gICAgICAg
ICAgICByZXR1cm4gdGFzay5ydW4oKQorICAgICAgICAgICAgc3R5bGVfY2hlY2tfc3VjY2VlZGVk
ID0gdGFzay5ydW4oKQorICAgICAgICAgICAgaWYgbm90IHN0eWxlX2NoZWNrX3N1Y2NlZWRlZDoK
KyAgICAgICAgICAgICAgICAjIENhbGxlciB1bmxvY2tzIHdoZW4gcmV2aWV3X3BhdGNoIHJldHVy
bnMgVHJ1ZSwgc28gd2Ugb25seSBuZWVkIHRvIHVubG9jayBvbiB0cmFuc2llbnQgZmFpbHVyZS4K
KyAgICAgICAgICAgICAgICBzZWxmLl91bmxvY2tfcGF0Y2gocGF0Y2gpCisgICAgICAgICAgICBy
ZXR1cm4gc3R5bGVfY2hlY2tfc3VjY2VlZGVkCiAgICAgICAgIGV4Y2VwdCBVbmFibGVUb0FwcGx5
UGF0Y2gsIGU6CiAgICAgICAgICAgICBzZWxmLl9kaWRfZXJyb3IocGF0Y2gsICIlcyB1bmFibGUg
dG8gYXBwbHkgcGF0Y2guIiAlIHNlbGYubmFtZSkKICAgICAgICAgICAgIHJldHVybiBGYWxzZQo=
</data>
<flag name="review"
          id="263433"
          type_id="1"
          status="+"
          setter="rniwa"
    />
          </attachment>
      

    </bug>

</bugzilla>