<?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>42018</bug_id>
          
          <creation_ts>2010-07-09 21:02:52 -0700</creation_ts>
          <short_desc>Implement Web Timing redirectStart, redirectEnd, redirectCount</short_desc>
          <delta_ts>2010-07-14 10:10:50 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>41816</dependson>
          <blocked>30685</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Tony Gentilcore">tonyg</reporter>
          <assigned_to name="Tony Gentilcore">tonyg</assigned_to>
          <cc>abarth</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>japhet</cc>
    
    <cc>pfeldman</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>249461</commentid>
    <comment_count>0</comment_count>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2010-07-09 21:02:52 -0700</bug_when>
    <thetext>http://dev.w3.org/2006/webapi/WebTiming/#nt-redirect-start</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>249663</commentid>
    <comment_count>1</comment_count>
      <attachid>61183</attachid>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2010-07-11 16:52:36 -0700</bug_when>
    <thetext>Created attachment 61183
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>250309</commentid>
    <comment_count>2</comment_count>
      <attachid>61183</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-07-12 22:22:08 -0700</bug_when>
    <thetext>Comment on attachment 61183
Patch

WebCore/loader/FrameLoaderTypes.h:64
 +          FrameLoadTimeline()
i&apos;m a little surprised to see this struct defined in this file.
i always thought of this file as the place to put loader defined
enums.  normally, webkit has the style rule that you create a
new file for each struct or class.

WebCore/loader/MainResourceLoader.cpp:166
 +          frameLoadTimeline-&gt;redirectEnd = currentTime();
it might be good to call currentTime only once and then use that value
for both redirectEnd and fetchStart.  i think it is not wrong for them
to be different, but it also seems ok (perhaps good) to say that they
are exactly the same.

R=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>250910</commentid>
    <comment_count>3</comment_count>
      <attachid>61454</attachid>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2010-07-13 18:54:10 -0700</bug_when>
    <thetext>Created attachment 61454
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>250911</commentid>
    <comment_count>4</comment_count>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2010-07-13 18:55:05 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 61183 [details])
&gt; WebCore/loader/FrameLoaderTypes.h:64
&gt;  +          FrameLoadTimeline()
&gt; i&apos;m a little surprised to see this struct defined in this file.
&gt; i always thought of this file as the place to put loader defined
&gt; enums.  normally, webkit has the style rule that you create a
&gt; new file for each struct or class.
&gt; 

Noted. I added a FIXME to this patch and will move it out in a subsequent patch.

&gt; WebCore/loader/MainResourceLoader.cpp:166
&gt;  +          frameLoadTimeline-&gt;redirectEnd = currentTime();
&gt; it might be good to call currentTime only once and then use that value
&gt; for both redirectEnd and fetchStart.  i think it is not wrong for them
&gt; to be different, but it also seems ok (perhaps good) to say that they
&gt; are exactly the same.

Makes sense. Done.

&gt; 
&gt; R=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251118</commentid>
    <comment_count>5</comment_count>
      <attachid>61454</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-14 05:05:21 -0700</bug_when>
    <thetext>Comment on attachment 61454
Patch for landing

Rejecting patch 61454 from commit-queue.

Failed to run &quot;[&apos;WebKitTools/Scripts/run-webkit-tests&apos;, &apos;--no-launch-safari&apos;, &apos;--exit-after-n-failures=1&apos;, &apos;--ignore-tests&apos;, &apos;compositing&apos;, &apos;--quiet&apos;]&quot; exit_code: 1
Running build-dumprendertree
Compiling Java tests
make: Nothing to be done for `default&apos;.
Running tests from /Users/eseidel/Projects/CommitQueue/LayoutTests
Testing 20685 test cases.
fast/dom/Window/window-property-descriptors.html -&gt; failed

Exiting early after 1 failures. 6878 tests run.
120.45s total testing time

6877 test cases (99%) succeeded
1 test case (&lt;1%) had incorrect layout

Full output: http://webkit-commit-queue.appspot.com/results/3450296</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251211</commentid>
    <comment_count>6</comment_count>
      <attachid>61527</attachid>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2010-07-14 08:40:59 -0700</bug_when>
    <thetext>Created attachment 61527
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251237</commentid>
    <comment_count>7</comment_count>
      <attachid>61527</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-14 09:46:06 -0700</bug_when>
    <thetext>Comment on attachment 61527
Patch for landing

Clearing flags on attachment: 61527

Committed r63326: &lt;http://trac.webkit.org/changeset/63326&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251238</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-14 09:46:12 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251255</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-07-14 10:10:50 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/63326 might have broken Qt Linux Release</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>61183</attachid>
            <date>2010-07-11 16:52:36 -0700</date>
            <delta_ts>2010-07-13 18:53:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42018-20100711165235.patch</filename>
            <type>text/plain</type>
            <size>19715</size>
            <attacher name="Tony Gentilcore">tonyg</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBjMzhlNzQ2ZWM2MTUwMjBmYTE0OGZjZTliOTQ0ZmVmNWQwZjg3NTVjLi5hZjcwMDY2
ZDZlZDdlZDY4NzA2NTNjYWRiYWNkZDExZjYyMDhhMDUwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAK
KzIwMTAtMDctMTEgIFRvbnkgR2VudGlsY29yZSAgPHRvbnlnQGNocm9taXVtLm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgV2Vi
IFRpbWluZyByZWRpcmVjdFN0YXJ0LCByZWRpcmVjdEVuZCwgcmVkaXJlY3RDb3VudAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDIwMTgKKworICAgICAg
ICBUZXN0cyBwYXNzIHdpdGggLS13ZWItdGltaW5nLiBFeHBlY3RhdGlvbnMgc2V0IHRvIEZBSUwg
YmVjYXVzZSBkaXNhYmxlZCBieSBkZWZhdWx0LgorCisgICAgICAgICogZmFzdC9kb20vc2NyaXB0
LXRlc3RzL3dlYnRpbWluZy5qczogU2luY2UgdGhpcyBpcyBub3QgYSByZWRpcmVjdCwgcmVkaXJl
Y3QgdGltZXMgYW5kIGNvdW50IHNob3VsZCBiZSB6ZXJvLgorICAgICAgICAoY2hlY2tUaW1pbmdC
ZWZvcmVMb2FkKToKKyAgICAgICAgKGNoZWNrV2ViVGltaW5nT25Mb2FkKToKKyAgICAgICAgKGNo
ZWNrV2ViVGltaW5nQWZ0ZXJMb2FkKToKKyAgICAgICAgKiBmYXN0L2RvbS93ZWJ0aW1pbmctZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzOgor
ICAgICAgICAoc2hvdWxkQmVHcmVhdGVyVGhhbk9yRXF1YWwpOiBGYWN0b3JlZCBvdXQgc28gdGhh
dCBvdGhlciB0ZXN0cyBjYW4gc2hhcmUgdGhpcyBtZXRob2QuCisgICAgICAgICogaHR0cC90ZXN0
cy9taXNjL3Jlc291cmNlcy93ZWJ0aW1pbmctb25lLXJlZGlyZWN0Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvbWlzYy9yZXNvdXJjZXMvd2VidGltaW5nLXR3by1yZWRpcmVjdHMu
aHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9taXNjL3dlYnRpbWluZy1vbmUtcmVk
aXJlY3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL21pc2Mvd2Vi
dGltaW5nLW9uZS1yZWRpcmVjdC5waHA6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbWlz
Yy93ZWJ0aW1pbmctdHdvLXJlZGlyZWN0cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvbWlzYy93ZWJ0aW1pbmctdHdvLXJlZGlyZWN0cy5waHA6IEFkZGVkLgorCiAy
MDEwLTA3LTEwICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBBbmRlcnMgQ2FybHNzb24uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zY3JpcHQtdGVzdHMvd2VidGltaW5nLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2NyaXB0
LXRlc3RzL3dlYnRpbWluZy5qcwppbmRleCA5MDJkMjljZmZlNGQyNTU4OTk3ZmY5NWFlYmFhNmJm
MDFjZTQzNmUyLi40MzFlNmIxZDAzZjZjYjllYjYwOGZjYzllMTEzZThmMjVjN2I0ZGEwIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zY3JpcHQtdGVzdHMvd2VidGltaW5nLmpzCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NjcmlwdC10ZXN0cy93ZWJ0aW1pbmcuanMKQEAgLTEs
NiArMSw3IEBACiBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGFsbCBvZiB0aGUg
PGEgaHJlZj0naHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViVGltaW5nLyc+V2ViIFRp
bWluZzwvYT4gYXR0cmlidXRlcyBhcmUgYXZhaWxhYmxlIGFuZCBoYXZlIHJlYXNvbmFibGUgdmFs
dWVzIGluIHRoZSByaWdodCBvcmRlci4iKTsKIAogdmFyIHBlcmZvcm1hbmNlID0gd2luZG93Lndl
YmtpdFBlcmZvcm1hbmNlIHx8IHt9OwordmFyIG5hdmlnYXRpb24gPSBwZXJmb3JtYW5jZS5uYXZp
Z2F0aW9uIHx8IHt9OwogdmFyIHRpbWluZyA9IHBlcmZvcm1hbmNlLnRpbWluZyB8fCB7fTsKIAog
Ly8gR2V0IHRoZSBvcmRlciBvZiBtYWduaXR1ZGUgY29ycmVjdCB3aXRob3V0IGEgY2hhbmNlIGZv
ciBmbGFraW5lc3MuCkBAIC0xNCwzNCArMTUsMTYgQEAgZnVuY3Rpb24gc2xlZXBGaWZ0eU1pbGxp
c2Vjb25kcygpIHsKIH0KIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgc2xlZXBGaWZ0
eU1pbGxpc2Vjb25kcywgZmFsc2UpOwogCi0vLyBGSVhNRTogTW92ZSB0aGlzIHRvIGpzLXRlc3Qt
cHJlLmpzIGlmIGl0IGlzIG5lZWRlZCBieSBvdGhlciB0ZXN0cy4KLWZ1bmN0aW9uIHNob3VsZEJl
R3JlYXRlclRoYW5PckVxdWFsKF9hLCBfYikgewotICAgIGlmICh0eXBlb2YgX2EgIT0gInN0cmlu
ZyIgfHwgdHlwZW9mIF9iICE9ICJzdHJpbmciKQotICAgICAgICBkZWJ1ZygiV0FSTjogc2hvdWxk
QmVHcmVhdGVyVGhhbk9yRXF1YWwgZXhwZWN0cyBzdHJpbmcgYXJndW1lbnRzIik7Ci0KLSAgICB2
YXIgZXhjZXB0aW9uOwotICAgIHZhciBfYXY7Ci0gICAgdHJ5IHsKLSAgICAgICAgX2F2ID0gZXZh
bChfYSk7Ci0gICAgfSBjYXRjaCAoZSkgewotICAgICAgICBleGNlcHRpb24gPSBlOwotICAgIH0K
LSAgICB2YXIgX2J2ID0gZXZhbChfYik7Ci0KLSAgICBpZiAoZXhjZXB0aW9uKQotICAgICAgICB0
ZXN0RmFpbGVkKF9hICsgIiBzaG91bGQgYmUgPj0gIiArIF9iICsgIi4gVGhyZXcgZXhjZXB0aW9u
ICIgKyBleGNlcHRpb24pOwotICAgIGVsc2UgaWYgKHR5cGVvZiBfYXYgPT0gInVuZGVmaW5lZCIg
fHwgX2F2IDwgX2J2KQotICAgICAgICB0ZXN0RmFpbGVkKF9hICsgIiBzaG91bGQgYmUgPj0gIiAr
IF9iICsgIi4gV2FzICIgKyBfYXYgKyAiIChvZiB0eXBlICIgKyB0eXBlb2YgX2F2ICsgIikuIik7
Ci0gICAgZWxzZQotICAgICAgICB0ZXN0UGFzc2VkKF9hICsgIiBpcyA+PSAiICsgX2IpOwotfQot
CiBmdW5jdGlvbiBjaGVja1RpbWluZ0JlZm9yZUxvYWQoKQogewogICAgIHNob3VsZEJlR3JlYXRl
clRoYW5PckVxdWFsKCJ0aW1pbmcubmF2aWdhdGlvblN0YXJ0IiwgIm9uZUhvdXJBZ29VVEMiKTsK
IAogICAgIHNob3VsZEJlR3JlYXRlclRoYW5PckVxdWFsKCJ0aW1pbmcudW5sb2FkRXZlbnRFbmQi
LCAidGltaW5nLm5hdmlnYXRpb25TdGFydCIpOwogCisgICAgc2hvdWxkQmUoInRpbWluZy5yZWRp
cmVjdFN0YXJ0IiwgIjAiKTsKKyAgICBzaG91bGRCZSgidGltaW5nLnJlZGlyZWN0RW5kIiwgIjAi
KTsKKyAgICBzaG91bGRCZSgibmF2aWdhdGlvbi5yZWRpcmVjdENvdW50IiwgIjAiKTsKKwogICAg
IHNob3VsZEJlKCJ0aW1pbmcubG9hZEV2ZW50U3RhcnQiLCAiMCIpOwogICAgIHNob3VsZEJlKCJ0
aW1pbmcubG9hZEV2ZW50RW5kIiwgIjAiKTsKIApAQCAtNTQsNiArMzcsMTAgQEAgZnVuY3Rpb24g
Y2hlY2tXZWJUaW1pbmdPbkxvYWQoKQogCiAgICAgc2hvdWxkQmVHcmVhdGVyVGhhbk9yRXF1YWwo
InRpbWluZy51bmxvYWRFdmVudEVuZCIsICJ0aW1pbmcubmF2aWdhdGlvblN0YXJ0Iik7CiAKKyAg
ICBzaG91bGRCZSgidGltaW5nLnJlZGlyZWN0U3RhcnQiLCAiMCIpOworICAgIHNob3VsZEJlKCJ0
aW1pbmcucmVkaXJlY3RFbmQiLCAiMCIpOworICAgIHNob3VsZEJlKCJuYXZpZ2F0aW9uLnJlZGly
ZWN0Q291bnQiLCAiMCIpOworCiAgICAgc2hvdWxkQmVHcmVhdGVyVGhhbk9yRXF1YWwoInRpbWlu
Zy5sb2FkRXZlbnRTdGFydCIsICJ0aW1pbmcudW5sb2FkRXZlbnRFbmQiKTsKICAgICBzaG91bGRC
ZSgidGltaW5nLmxvYWRFdmVudEVuZCIsICIwIik7CiAKQEAgLTY2LDYgKzUzLDEwIEBAIGZ1bmN0
aW9uIGNoZWNrV2ViVGltaW5nQWZ0ZXJMb2FkKCkKIAogICAgIHNob3VsZEJlR3JlYXRlclRoYW5P
ckVxdWFsKCJ0aW1pbmcudW5sb2FkRXZlbnRFbmQiLCAidGltaW5nLm5hdmlnYXRpb25TdGFydCIp
OwogCisgICAgc2hvdWxkQmUoInRpbWluZy5yZWRpcmVjdFN0YXJ0IiwgIjAiKTsKKyAgICBzaG91
bGRCZSgidGltaW5nLnJlZGlyZWN0RW5kIiwgIjAiKTsKKyAgICBzaG91bGRCZSgibmF2aWdhdGlv
bi5yZWRpcmVjdENvdW50IiwgIjAiKTsKKwogICAgIHNob3VsZEJlR3JlYXRlclRoYW5PckVxdWFs
KCJ0aW1pbmcubG9hZEV2ZW50U3RhcnQiLCAidGltaW5nLnVubG9hZEV2ZW50RW5kIik7CiAgICAg
c2hvdWxkQmVHcmVhdGVyVGhhbk9yRXF1YWwoInRpbWluZy5sb2FkRXZlbnRFbmQiLCAidGltaW5n
LmxvYWRFdmVudFN0YXJ0ICsgNTAiKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vd2VidGltaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3dlYnRpbWlu
Zy1leHBlY3RlZC50eHQKaW5kZXggMTc3NTdmMmVhMjRkMWVhODU4NTY3ZjYzYWFiYzk2NTE4ZmYz
Y2RiNS4uNGVmYmIyMDc1MzUwZmM4MTQ0ZTIwZDkzMTVmZTgyN2E4OTdjNjgxNyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vd2VidGltaW5nLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS93ZWJ0aW1pbmctZXhwZWN0ZWQudHh0CkBAIC01LDE0ICs1LDIzIEBA
IE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiAKIEZBSUwgdGltaW5nLm5hdmlnYXRpb25TdGFydCBz
aG91bGQgYmUgPj0gb25lSG91ckFnb1VUQy4gV2FzIHVuZGVmaW5lZCAob2YgdHlwZSB1bmRlZmlu
ZWQpLgogRkFJTCB0aW1pbmcudW5sb2FkRXZlbnRFbmQgc2hvdWxkIGJlID49IHRpbWluZy5uYXZp
Z2F0aW9uU3RhcnQuIFdhcyB1bmRlZmluZWQgKG9mIHR5cGUgdW5kZWZpbmVkKS4KK0ZBSUwgdGlt
aW5nLnJlZGlyZWN0U3RhcnQgc2hvdWxkIGJlIDAgKG9mIHR5cGUgbnVtYmVyKS4gV2FzIHVuZGVm
aW5lZCAob2YgdHlwZSB1bmRlZmluZWQpLgorRkFJTCB0aW1pbmcucmVkaXJlY3RFbmQgc2hvdWxk
IGJlIDAgKG9mIHR5cGUgbnVtYmVyKS4gV2FzIHVuZGVmaW5lZCAob2YgdHlwZSB1bmRlZmluZWQp
LgorRkFJTCBuYXZpZ2F0aW9uLnJlZGlyZWN0Q291bnQgc2hvdWxkIGJlIDAgKG9mIHR5cGUgbnVt
YmVyKS4gV2FzIHVuZGVmaW5lZCAob2YgdHlwZSB1bmRlZmluZWQpLgogRkFJTCB0aW1pbmcubG9h
ZEV2ZW50U3RhcnQgc2hvdWxkIGJlIDAgKG9mIHR5cGUgbnVtYmVyKS4gV2FzIHVuZGVmaW5lZCAo
b2YgdHlwZSB1bmRlZmluZWQpLgogRkFJTCB0aW1pbmcubG9hZEV2ZW50RW5kIHNob3VsZCBiZSAw
IChvZiB0eXBlIG51bWJlcikuIFdhcyB1bmRlZmluZWQgKG9mIHR5cGUgdW5kZWZpbmVkKS4KIEZB
SUwgdGltaW5nLm5hdmlnYXRpb25TdGFydCBzaG91bGQgYmUgPj0gb25lSG91ckFnb1VUQy4gV2Fz
IHVuZGVmaW5lZCAob2YgdHlwZSB1bmRlZmluZWQpLgogRkFJTCB0aW1pbmcudW5sb2FkRXZlbnRF
bmQgc2hvdWxkIGJlID49IHRpbWluZy5uYXZpZ2F0aW9uU3RhcnQuIFdhcyB1bmRlZmluZWQgKG9m
IHR5cGUgdW5kZWZpbmVkKS4KK0ZBSUwgdGltaW5nLnJlZGlyZWN0U3RhcnQgc2hvdWxkIGJlIDAg
KG9mIHR5cGUgbnVtYmVyKS4gV2FzIHVuZGVmaW5lZCAob2YgdHlwZSB1bmRlZmluZWQpLgorRkFJ
TCB0aW1pbmcucmVkaXJlY3RFbmQgc2hvdWxkIGJlIDAgKG9mIHR5cGUgbnVtYmVyKS4gV2FzIHVu
ZGVmaW5lZCAob2YgdHlwZSB1bmRlZmluZWQpLgorRkFJTCBuYXZpZ2F0aW9uLnJlZGlyZWN0Q291
bnQgc2hvdWxkIGJlIDAgKG9mIHR5cGUgbnVtYmVyKS4gV2FzIHVuZGVmaW5lZCAob2YgdHlwZSB1
bmRlZmluZWQpLgogRkFJTCB0aW1pbmcubG9hZEV2ZW50U3RhcnQgc2hvdWxkIGJlID49IHRpbWlu
Zy51bmxvYWRFdmVudEVuZC4gV2FzIHVuZGVmaW5lZCAob2YgdHlwZSB1bmRlZmluZWQpLgogRkFJ
TCB0aW1pbmcubG9hZEV2ZW50RW5kIHNob3VsZCBiZSAwIChvZiB0eXBlIG51bWJlcikuIFdhcyB1
bmRlZmluZWQgKG9mIHR5cGUgdW5kZWZpbmVkKS4KIEZBSUwgdGltaW5nLm5hdmlnYXRpb25TdGFy
dCBzaG91bGQgYmUgPj0gb25lSG91ckFnb1VUQy4gV2FzIHVuZGVmaW5lZCAob2YgdHlwZSB1bmRl
ZmluZWQpLgogRkFJTCB0aW1pbmcudW5sb2FkRXZlbnRFbmQgc2hvdWxkIGJlID49IHRpbWluZy5u
YXZpZ2F0aW9uU3RhcnQuIFdhcyB1bmRlZmluZWQgKG9mIHR5cGUgdW5kZWZpbmVkKS4KK0ZBSUwg
dGltaW5nLnJlZGlyZWN0U3RhcnQgc2hvdWxkIGJlIDAgKG9mIHR5cGUgbnVtYmVyKS4gV2FzIHVu
ZGVmaW5lZCAob2YgdHlwZSB1bmRlZmluZWQpLgorRkFJTCB0aW1pbmcucmVkaXJlY3RFbmQgc2hv
dWxkIGJlIDAgKG9mIHR5cGUgbnVtYmVyKS4gV2FzIHVuZGVmaW5lZCAob2YgdHlwZSB1bmRlZmlu
ZWQpLgorRkFJTCBuYXZpZ2F0aW9uLnJlZGlyZWN0Q291bnQgc2hvdWxkIGJlIDAgKG9mIHR5cGUg
bnVtYmVyKS4gV2FzIHVuZGVmaW5lZCAob2YgdHlwZSB1bmRlZmluZWQpLgogRkFJTCB0aW1pbmcu
bG9hZEV2ZW50U3RhcnQgc2hvdWxkIGJlID49IHRpbWluZy51bmxvYWRFdmVudEVuZC4gV2FzIHVu
ZGVmaW5lZCAob2YgdHlwZSB1bmRlZmluZWQpLgogRkFJTCB0aW1pbmcubG9hZEV2ZW50RW5kIHNo
b3VsZCBiZSA+PSB0aW1pbmcubG9hZEV2ZW50U3RhcnQgKyA1MC4gV2FzIHVuZGVmaW5lZCAob2Yg
dHlwZSB1bmRlZmluZWQpLgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMgYi9MYXlv
dXRUZXN0cy9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcwppbmRleCA2NjQ3Nzk4YTM0
MTMzOTc5NWY3NTRmOWVmNTNiYjA2OWE3MTIzYjg4Li5hNGNjMWY0NzlhOWFlZmJkMWNhN2I4OWQ3
NDk4MzZhZmFlOTM3ZjlhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2pzL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcworKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcwpAQCAtMjE4LDYgKzIxOCwyNiBAQCBmdW5jdGlvbiBzaG91bGRCZVVuZGVmaW5l
ZChfYSkKICAgICB0ZXN0RmFpbGVkKF9hICsgIiBzaG91bGQgYmUgdW5kZWZpbmVkLiBXYXMgIiAr
IF9hdik7CiB9CiAKK2Z1bmN0aW9uIHNob3VsZEJlR3JlYXRlclRoYW5PckVxdWFsKF9hLCBfYikg
eworICAgIGlmICh0eXBlb2YgX2EgIT0gInN0cmluZyIgfHwgdHlwZW9mIF9iICE9ICJzdHJpbmci
KQorICAgICAgICBkZWJ1ZygiV0FSTjogc2hvdWxkQmVHcmVhdGVyVGhhbk9yRXF1YWwgZXhwZWN0
cyBzdHJpbmcgYXJndW1lbnRzIik7CisKKyAgICB2YXIgZXhjZXB0aW9uOworICAgIHZhciBfYXY7
CisgICAgdHJ5IHsKKyAgICAgICAgX2F2ID0gZXZhbChfYSk7CisgICAgfSBjYXRjaCAoZSkgewor
ICAgICAgICBleGNlcHRpb24gPSBlOworICAgIH0KKyAgICB2YXIgX2J2ID0gZXZhbChfYik7CisK
KyAgICBpZiAoZXhjZXB0aW9uKQorICAgICAgICB0ZXN0RmFpbGVkKF9hICsgIiBzaG91bGQgYmUg
Pj0gIiArIF9iICsgIi4gVGhyZXcgZXhjZXB0aW9uICIgKyBleGNlcHRpb24pOworICAgIGVsc2Ug
aWYgKHR5cGVvZiBfYXYgPT0gInVuZGVmaW5lZCIgfHwgX2F2IDwgX2J2KQorICAgICAgICB0ZXN0
RmFpbGVkKF9hICsgIiBzaG91bGQgYmUgPj0gIiArIF9iICsgIi4gV2FzICIgKyBfYXYgKyAiIChv
ZiB0eXBlICIgKyB0eXBlb2YgX2F2ICsgIikuIik7CisgICAgZWxzZQorICAgICAgICB0ZXN0UGFz
c2VkKF9hICsgIiBpcyA+PSAiICsgX2IpOworfQogCiBmdW5jdGlvbiBzaG91bGRUaHJvdyhfYSwg
X2UpCiB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvcmVzb3VyY2Vz
L3dlYnRpbWluZy1vbmUtcmVkaXJlY3QuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlz
Yy9yZXNvdXJjZXMvd2VidGltaW5nLW9uZS1yZWRpcmVjdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJkZmQ4
MDcwZmJkNzUyNDc3YmUzMDczNDBjZGI3ZDIyOTk1ZDM0NmYKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvcmVzb3VyY2VzL3dlYnRpbWluZy1vbmUtcmVkaXJl
Y3QuaHRtbApAQCAtMCwwICsxLDI1IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBo
cmVmPSIuLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
V2ViIFRpbWluZyByZXBvcnRzIHJlZGlyZWN0Q291bnQgY29ycmVjdGx5IGFuZCBoYXMgcmVhc29u
YWJsZSB2YWx1ZXMgZm9yIHJlZGlyZWN0U3RhcnQgYW5kIHJlZGlyZWN0Q291bnQuIik7CisKK3Zh
ciBwZXJmb3JtYW5jZSA9IHdpbmRvdy53ZWJraXRQZXJmb3JtYW5jZSB8fCB7fTsKK3ZhciBuYXZp
Z2F0aW9uID0gcGVyZm9ybWFuY2UubmF2aWdhdGlvbiB8fCB7fTsKK3ZhciB0aW1pbmcgPSBwZXJm
b3JtYW5jZS50aW1pbmcgfHwge307CisKK3Nob3VsZEJlR3JlYXRlclRoYW5PckVxdWFsKCJ0aW1p
bmcucmVkaXJlY3RTdGFydCIsICJ0aW1pbmcubmF2aWdhdGlvblN0YXJ0Iik7CitzaG91bGRCZUdy
ZWF0ZXJUaGFuT3JFcXVhbCgidGltaW5nLnJlZGlyZWN0RW5kIiwgInRpbWluZy5yZWRpcmVjdFN0
YXJ0Iik7CitzaG91bGRCZSgibmF2aWdhdGlvbi5yZWRpcmVjdENvdW50IiwgIjEiKTsKKwordmFy
IHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL3Jlc291cmNl
cy93ZWJ0aW1pbmctdHdvLXJlZGlyZWN0cy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9t
aXNjL3Jlc291cmNlcy93ZWJ0aW1pbmctdHdvLXJlZGlyZWN0cy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU0
YmZhMDQ1OGY1NjhhNDJjOGVkMWUyYTA1ZTk4NDM5ODc2OTc2YmEKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvcmVzb3VyY2VzL3dlYnRpbWluZy10d28tcmVk
aXJlY3RzLmh0bWwKQEAgLTAsMCArMSwyNSBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgaHJlZj0iLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IFdlYiBUaW1pbmcgcmVwb3J0cyByZWRpcmVjdENvdW50IGNvcnJlY3RseSBhbmQgaGFzIHJl
YXNvbmFibGUgdmFsdWVzIGZvciByZWRpcmVjdFN0YXJ0IGFuZCByZWRpcmVjdENvdW50LiIpOwor
Cit2YXIgcGVyZm9ybWFuY2UgPSB3aW5kb3cud2Via2l0UGVyZm9ybWFuY2UgfHwge307Cit2YXIg
bmF2aWdhdGlvbiA9IHBlcmZvcm1hbmNlLm5hdmlnYXRpb24gfHwge307Cit2YXIgdGltaW5nID0g
cGVyZm9ybWFuY2UudGltaW5nIHx8IHt9OworCitzaG91bGRCZUdyZWF0ZXJUaGFuT3JFcXVhbCgi
dGltaW5nLnJlZGlyZWN0U3RhcnQiLCAidGltaW5nLm5hdmlnYXRpb25TdGFydCIpOworc2hvdWxk
QmVHcmVhdGVyVGhhbk9yRXF1YWwoInRpbWluZy5yZWRpcmVjdEVuZCIsICJ0aW1pbmcucmVkaXJl
Y3RTdGFydCIpOworc2hvdWxkQmUoIm5hdmlnYXRpb24ucmVkaXJlY3RDb3VudCIsICIyIik7CisK
K3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy93ZWJ0
aW1pbmctb25lLXJlZGlyZWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
bWlzYy93ZWJ0aW1pbmctb25lLXJlZGlyZWN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NWRi
ODk5NDM5NTdjNmZmNzAwOGEyZDZiMmI3YjRkZDcyMGNlOGZjCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL3dlYnRpbWluZy1vbmUtcmVkaXJlY3QtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBXZWIgVGltaW5n
IHJlcG9ydHMgcmVkaXJlY3RDb3VudCBjb3JyZWN0bHkgYW5kIGhhcyByZWFzb25hYmxlIHZhbHVl
cyBmb3IgcmVkaXJlY3RTdGFydCBhbmQgcmVkaXJlY3RDb3VudC4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCisKK0ZBSUwgdGltaW5nLnJlZGlyZWN0U3RhcnQgc2hvdWxkIGJlID49IHRp
bWluZy5uYXZpZ2F0aW9uU3RhcnQuIFdhcyB1bmRlZmluZWQgKG9mIHR5cGUgdW5kZWZpbmVkKS4K
K0ZBSUwgdGltaW5nLnJlZGlyZWN0RW5kIHNob3VsZCBiZSA+PSB0aW1pbmcucmVkaXJlY3RTdGFy
dC4gV2FzIHVuZGVmaW5lZCAob2YgdHlwZSB1bmRlZmluZWQpLgorRkFJTCBuYXZpZ2F0aW9uLnJl
ZGlyZWN0Q291bnQgc2hvdWxkIGJlIDEgKG9mIHR5cGUgbnVtYmVyKS4gV2FzIHVuZGVmaW5lZCAo
b2YgdHlwZSB1bmRlZmluZWQpLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy93
ZWJ0aW1pbmctb25lLXJlZGlyZWN0LnBocCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy93
ZWJ0aW1pbmctb25lLXJlZGlyZWN0LnBocApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZTM5MzFjNzBkNDdkZDZhNmE5
MzAyNjhlNmNjMDQyMTg2MGE1YzU3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9taXNjL3dlYnRpbWluZy1vbmUtcmVkaXJlY3QucGhwCkBAIC0wLDAgKzEsNCBAQAor
PD9waHAKKyAgaGVhZGVyKCdMb2NhdGlvbjogcmVzb3VyY2VzL3dlYnRpbWluZy1vbmUtcmVkaXJl
Y3QuaHRtbCcpOworICBoZWFkZXIoJ0hUVFAvMS4wIDMwMiBGb3VuZCcpOworPz4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy93ZWJ0aW1pbmctdHdvLXJlZGlyZWN0cy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2Mvd2VidGltaW5nLXR3by1y
ZWRpcmVjdHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJkYzQxZTY0NDUwMDRhZmU2MDJjOWE1
NWVhYjRkZGQ5YWNjYjJmNDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL21pc2Mvd2VidGltaW5nLXR3by1yZWRpcmVjdHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTIgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBXZWIgVGltaW5nIHJlcG9ydHMgcmVkaXJlY3RD
b3VudCBjb3JyZWN0bHkgYW5kIGhhcyByZWFzb25hYmxlIHZhbHVlcyBmb3IgcmVkaXJlY3RTdGFy
dCBhbmQgcmVkaXJlY3RDb3VudC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0ZB
SUwgdGltaW5nLnJlZGlyZWN0U3RhcnQgc2hvdWxkIGJlID49IHRpbWluZy5uYXZpZ2F0aW9uU3Rh
cnQuIFdhcyB1bmRlZmluZWQgKG9mIHR5cGUgdW5kZWZpbmVkKS4KK0ZBSUwgdGltaW5nLnJlZGly
ZWN0RW5kIHNob3VsZCBiZSA+PSB0aW1pbmcucmVkaXJlY3RTdGFydC4gV2FzIHVuZGVmaW5lZCAo
b2YgdHlwZSB1bmRlZmluZWQpLgorRkFJTCBuYXZpZ2F0aW9uLnJlZGlyZWN0Q291bnQgc2hvdWxk
IGJlIDIgKG9mIHR5cGUgbnVtYmVyKS4gV2FzIHVuZGVmaW5lZCAob2YgdHlwZSB1bmRlZmluZWQp
LgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy93ZWJ0aW1pbmctdHdvLXJlZGly
ZWN0cy5waHAgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2Mvd2VidGltaW5nLXR3by1yZWRp
cmVjdHMucGhwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhkZjZiYWNlNTY4NGRkYmZkMGQyYmU2MTRjYmE4YmQxZGFm
N2EwZGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2Mvd2Vi
dGltaW5nLXR3by1yZWRpcmVjdHMucGhwCkBAIC0wLDAgKzEsNCBAQAorPD9waHAKKyAgaGVhZGVy
KCdMb2NhdGlvbjogLi4vcmVzb3VyY2VzL3JlZGlyZWN0LnBocD91cmw9Li4vbWlzYy9yZXNvdXJj
ZXMvd2VidGltaW5nLXR3by1yZWRpcmVjdHMuaHRtbCcpOworICBoZWFkZXIoJ0hUVFAvMS4wIDMw
MiBGb3VuZCcpOworPz4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9D
aGFuZ2VMb2cKaW5kZXggYTViZGI4YmJhNDg0OGFiYzk4OTAzOTMxNzI0MTI3NzczZGEyOTRkNC4u
MDVkMDI0OTI1YzdhMGY2NGY1ZmFlOGIxYTRkMzE4MGI2NDQ1NGU5ZiAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAor
MjAxMC0wNy0xMSAgVG9ueSBHZW50aWxjb3JlICA8dG9ueWdAY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBXZWIg
VGltaW5nIHJlZGlyZWN0U3RhcnQsIHJlZGlyZWN0RW5kLCByZWRpcmVjdENvdW50CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjAxOAorCisgICAgICAg
IFRlc3RzOiBodHRwL3Rlc3RzL21pc2Mvd2VidGltaW5nLW9uZS1yZWRpcmVjdC5waHAKKyAgICAg
ICAgICAgICAgIGh0dHAvdGVzdHMvbWlzYy93ZWJ0aW1pbmctdHdvLXJlZGlyZWN0cy5waHAKKwor
ICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlclR5cGVzLmg6CisgICAgICAgIChXZWJDb3JlOjpG
cmFtZUxvYWRUaW1lbGluZTo6RnJhbWVMb2FkVGltZWxpbmUpOgorICAgICAgICAqIGxvYWRlci9N
YWluUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWFpblJlc291cmNlTG9h
ZGVyOjp3aWxsU2VuZFJlcXVlc3QpOiBUaGlzIG1ldGhvZCBpcyBjYWxsZWQgZm9yIGVhY2ggcmVx
dWVzdCAoaW5jbHVkaW5nIHNlcnZlciByZWRpcmVjdHMpLiBmZXRjaFN0YXJ0IGlzIHVwZGF0ZWQg
dG8gdGhlIGN1cnJlbnQgdGltZSBvbiBlYWNoIGludm9jYXRpb24gc28gdGhhdCBpdCByZXByZXNl
bnRzIGZldGNoaW5nIG9mIHRoZSBmaW5hbCBkb2N1bWVudCBhbmQgZG9lc24ndCBpbmNsdWRlIHJl
ZGlyZWN0IHRpbWUuIEZvciBlYWNoIHJlZGlyZWN0LCByZWRpcmVjdENvdW50IGlzIGluY3JlbWVu
dGVkIGFuZCByZWRpcmVjdFN0YXJ0IHRvIHJlZGlyZWN0RW5kIG1lYXN1cmVzIHRoZSBjdW11bGF0
aXZlIGZldGNoIHRpbWUgZm9yIGFsbCByZWRpcmVjdHMuCisgICAgICAgICogcGFnZS9OYXZpZ2F0
aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRpb246OnJlZGlyZWN0Q291bnQpOiBo
dHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJUaW1pbmcvI250LXJlZGlyZWN0LWNvdW50
CisgICAgICAgICogcGFnZS9UaW1pbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGltaW5nOjpy
ZWRpcmVjdFN0YXJ0KTogaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViVGltaW5nLyNu
dC1yZWRpcmVjdC1zdGFydAorICAgICAgICAoV2ViQ29yZTo6VGltaW5nOjpyZWRpcmVjdEVuZCk6
IGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYlRpbWluZy8jbnQtcmVkaXJlY3QtZW5k
CisgICAgICAgICogcGFnZS9UaW1pbmcuaDoKKyAgICAgICAgKiBwYWdlL1RpbWluZy5pZGw6CisK
IDIwMTAtMDctMTEgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IFhhbiBMb3Blei4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVy
L0ZyYW1lTG9hZGVyVHlwZXMuaCBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyVHlwZXMuaApp
bmRleCBiMTM4OGE1NmY1OTIzNDQ2ZmYxODc3NWFiYmEwZmQ5NWMyMDM0OGI0Li5hZmZjOWY1NTIw
MWYwNTRjY2E3MmFhMzhjNjI5Y2NiNWI4ZjRkNTkyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRl
ci9GcmFtZUxvYWRlclR5cGVzLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJUeXBl
cy5oCkBAIC02NCw2ICs2NCwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIEZyYW1l
TG9hZFRpbWVsaW5lKCkKICAgICAgICAgICAgIDogbmF2aWdhdGlvblN0YXJ0KDApCiAgICAgICAg
ICAgICAsIHVubG9hZEV2ZW50RW5kKDApCisgICAgICAgICAgICAsIHJlZGlyZWN0U3RhcnQoMCkK
KyAgICAgICAgICAgICwgcmVkaXJlY3RFbmQoMCkKKyAgICAgICAgICAgICwgcmVkaXJlY3RDb3Vu
dCgwKQorICAgICAgICAgICAgLCBmZXRjaFN0YXJ0KDApCiAgICAgICAgICAgICAsIGxvYWRFdmVu
dFN0YXJ0KDApCiAgICAgICAgICAgICAsIGxvYWRFdmVudEVuZCgwKQogICAgICAgICB7CkBAIC03
MSw2ICs3NSwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgZG91YmxlIG5hdmln
YXRpb25TdGFydDsKICAgICAgICAgZG91YmxlIHVubG9hZEV2ZW50RW5kOworICAgICAgICBkb3Vi
bGUgcmVkaXJlY3RTdGFydDsKKyAgICAgICAgZG91YmxlIHJlZGlyZWN0RW5kOworICAgICAgICBz
aG9ydCByZWRpcmVjdENvdW50OworICAgICAgICBkb3VibGUgZmV0Y2hTdGFydDsKICAgICAgICAg
ZG91YmxlIGxvYWRFdmVudFN0YXJ0OwogICAgICAgICBkb3VibGUgbG9hZEV2ZW50RW5kOwogICAg
IH07CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwIGIv
V2ViQ29yZS9sb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcAppbmRleCAwYTViZjQwMzgzYjZi
YjU3Y2JkYjJhM2E1OTZhYzBjMDQ1NWY0YjQ0Li5jY2Q1OGY2NThjZGYwZDVlOTBkNmIxZDYzODgy
ZGZkN2UxZjFlNDlkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2Fk
ZXIuY3BwCisrKyBiL1dlYkNvcmUvbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHAKQEAgLTQ0
LDYgKzQ0LDcgQEAKICNpbmNsdWRlICJSZXNvdXJjZUVycm9yLmgiCiAjaW5jbHVkZSAiUmVzb3Vy
Y2VIYW5kbGUuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgorI2luY2x1ZGUgPHd0Zi9DdXJyZW50
VGltZS5oPgogCiAvLyBGSVhNRTogTW9yZSB0aGF0IGlzIGluIGNvbW1vbiB3aXRoIFN1YnJlc291
cmNlTG9hZGVyIHNob3VsZCBtb3ZlIHVwIGludG8gUmVzb3VyY2VMb2FkZXIuCiAKQEAgLTE1Nyw3
ICsxNTgsMTUgQEAgdm9pZCBNYWluUmVzb3VyY2VMb2FkZXI6OndpbGxTZW5kUmVxdWVzdChSZXNv
dXJjZVJlcXVlc3QmIG5ld1JlcXVlc3QsIGNvbnN0IFJlc28KICAgICAvLyBUaGUgYWRkaXRpb25h
bCBwcm9jZXNzaW5nIGNhbiBkbyBhbnl0aGluZyBpbmNsdWRpbmcgcG9zc2libHkgcmVtb3Zpbmcg
dGhlIGxhc3QKICAgICAvLyByZWZlcmVuY2UgdG8gdGhpcyBvYmplY3Q7IG9uZSBleGFtcGxlIG9m
IHRoaXMgaXMgMzI2NjIxNi4KICAgICBSZWZQdHI8TWFpblJlc291cmNlTG9hZGVyPiBwcm90ZWN0
KHRoaXMpOwotICAgIAorCisgICAgRnJhbWVMb2FkVGltZWxpbmUqIGZyYW1lTG9hZFRpbWVsaW5l
ID0gZnJhbWVMb2FkZXIoKS0+ZnJhbWVMb2FkVGltZWxpbmUoKTsKKyAgICBpZiAoZG91YmxlIGZl
dGNoU3RhcnQgPSBmcmFtZUxvYWRUaW1lbGluZS0+ZmV0Y2hTdGFydCkgeworICAgICAgICBpZiAo
IWZyYW1lTG9hZFRpbWVsaW5lLT5yZWRpcmVjdENvdW50KyspCisgICAgICAgICAgICBmcmFtZUxv
YWRUaW1lbGluZS0+cmVkaXJlY3RTdGFydCA9IGZldGNoU3RhcnQ7CisgICAgICAgIGZyYW1lTG9h
ZFRpbWVsaW5lLT5yZWRpcmVjdEVuZCA9IGN1cnJlbnRUaW1lKCk7CisgICAgfQorICAgIGZyYW1l
TG9hZFRpbWVsaW5lLT5mZXRjaFN0YXJ0ID0gY3VycmVudFRpbWUoKTsKKwogICAgIC8vIFVwZGF0
ZSBjb29raWUgcG9saWN5IGJhc2UgVVJMIGFzIFVSTCBjaGFuZ2VzLCBleGNlcHQgZm9yIHN1YmZy
YW1lcywgd2hpY2ggdXNlIHRoZQogICAgIC8vIFVSTCBvZiB0aGUgbWFpbiBmcmFtZSB3aGljaCBk
b2Vzbid0IGNoYW5nZSB3aGVuIHdlIHJlZGlyZWN0LgogICAgIGlmIChmcmFtZUxvYWRlcigpLT5p
c0xvYWRpbmdNYWluRnJhbWUoKSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9OYXZpZ2F0aW9u
LmNwcCBiL1dlYkNvcmUvcGFnZS9OYXZpZ2F0aW9uLmNwcAppbmRleCBlZmRhOTI0M2JlNzA2Yjcx
YTczYjJmYmE5ZWM1NzEzMWU0ZTIxMTcyLi4xMTRlNjlmOGNkZDQ3ZGFlZjc4Yzg1OWRjODgwZWY5
YTMxYzk4M2UzIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvTmF2aWdhdGlvbi5jcHAKKysrIGIv
V2ViQ29yZS9wYWdlL05hdmlnYXRpb24uY3BwCkBAIC03OSw3ICs3OSw3IEBAIHVuc2lnbmVkIHNo
b3J0IE5hdmlnYXRpb246OnJlZGlyZWN0Q291bnQoKSBjb25zdAogICAgIGlmICghbV9mcmFtZSkK
ICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICByZXR1cm4gMDsgLy8gRklYTUUKKyAgICByZXR1cm4g
bV9mcmFtZS0+bG9hZGVyKCktPmZyYW1lTG9hZFRpbWVsaW5lKCktPnJlZGlyZWN0Q291bnQ7CiB9
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9UaW1p
bmcuY3BwIGIvV2ViQ29yZS9wYWdlL1RpbWluZy5jcHAKaW5kZXggYWYwMDQ0MTc4N2E4YzAxN2Nk
MmEzY2IzYmI4M2NmNGU0NmM1MDI2Ni4uN2IxZTA3ZTViMGYxZjE0NWFkOTdiMWU5YjFhNmRiZTI1
YTk2MDZjMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1RpbWluZy5jcHAKKysrIGIvV2ViQ29y
ZS9wYWdlL1RpbWluZy5jcHAKQEAgLTY3LDYgKzY3LDIyIEBAIHVuc2lnbmVkIGxvbmcgbG9uZyBU
aW1pbmc6OnVubG9hZEV2ZW50RW5kKCkgY29uc3QKIAogICAgIHJldHVybiBzdGF0aWNfY2FzdDx1
bnNpZ25lZCBsb25nIGxvbmc+KG1fZnJhbWUtPmxvYWRlcigpLT5mcmFtZUxvYWRUaW1lbGluZSgp
LT51bmxvYWRFdmVudEVuZCAqIDEwMDApOwogfQorICAgIAordW5zaWduZWQgbG9uZyBsb25nIFRp
bWluZzo6cmVkaXJlY3RTdGFydCgpIGNvbnN0Cit7CisgICAgaWYgKCFtX2ZyYW1lKQorICAgICAg
ICByZXR1cm4gMDsKKyAgICAgICAgCisgICAgcmV0dXJuIHN0YXRpY19jYXN0PHVuc2lnbmVkIGxv
bmcgbG9uZz4obV9mcmFtZS0+bG9hZGVyKCktPmZyYW1lTG9hZFRpbWVsaW5lKCktPnJlZGlyZWN0
U3RhcnQgKiAxMDAwKTsKK30KKyAgICAKK3Vuc2lnbmVkIGxvbmcgbG9uZyBUaW1pbmc6OnJlZGly
ZWN0RW5kKCkgY29uc3QKK3sKKyAgICBpZiAoIW1fZnJhbWUpCisgICAgICAgIHJldHVybiAwOwor
ICAgICAgICAKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8dW5zaWduZWQgbG9uZyBsb25nPihtX2Zy
YW1lLT5sb2FkZXIoKS0+ZnJhbWVMb2FkVGltZWxpbmUoKS0+cmVkaXJlY3RFbmQgKiAxMDAwKTsK
K30KIAogdW5zaWduZWQgbG9uZyBsb25nIFRpbWluZzo6bG9hZEV2ZW50U3RhcnQoKSBjb25zdAog
ewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1RpbWluZy5oIGIvV2ViQ29yZS9wYWdlL1RpbWlu
Zy5oCmluZGV4IDQ3Y2U0NzhhZTcwNWFhMDE0MDc4ZjgzNmY0NjFkMzZkNzE5ZDMwNGQuLjNjYWY4
MTdlODk2MTk0NjY0Mzg1MjIzZjU2OTY0MjJhY2EwMzIyYzcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGFnZS9UaW1pbmcuaAorKysgYi9XZWJDb3JlL3BhZ2UvVGltaW5nLmgKQEAgLTQ5LDYgKzQ5LDgg
QEAgcHVibGljOgogCiAgICAgdW5zaWduZWQgbG9uZyBsb25nIG5hdmlnYXRpb25TdGFydCgpIGNv
bnN0OwogICAgIHVuc2lnbmVkIGxvbmcgbG9uZyB1bmxvYWRFdmVudEVuZCgpIGNvbnN0OworICAg
IHVuc2lnbmVkIGxvbmcgbG9uZyByZWRpcmVjdFN0YXJ0KCkgY29uc3Q7CisgICAgdW5zaWduZWQg
bG9uZyBsb25nIHJlZGlyZWN0RW5kKCkgY29uc3Q7CiAgICAgdW5zaWduZWQgbG9uZyBsb25nIGxv
YWRFdmVudFN0YXJ0KCkgY29uc3Q7CiAgICAgdW5zaWduZWQgbG9uZyBsb25nIGxvYWRFdmVudEVu
ZCgpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvVGltaW5nLmlkbCBiL1dlYkNv
cmUvcGFnZS9UaW1pbmcuaWRsCmluZGV4IGRiZTk5NmUyMzNjNTg1MzBiNjRmN2Y2MWI0YTRlYmZh
NDU3NDdjN2YuLmI5ZjE4MjMyZDgxMTZhYjZlYTVkMmRhZmNkNWM2ODAxMTk2YmYwMTEgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGFnZS9UaW1pbmcuaWRsCisrKyBiL1dlYkNvcmUvcGFnZS9UaW1pbmcu
aWRsCkBAIC0zNiw4ICszNiw4IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICByZWFkb25seSBh
dHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsb25nIG5hdmlnYXRpb25TdGFydDsKICAgICAgICAgLy8g
cmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbG9uZyBmZXRjaFN0YXJ0OwogICAgICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsb25nIHVubG9hZEV2ZW50RW5kOwot
ICAgICAgICAvLyByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsb25nIHJlZGlyZWN0
U3RhcnQ7Ci0gICAgICAgIC8vIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxvbmcg
cmVkaXJlY3RFbmQ7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxv
bmcgcmVkaXJlY3RTdGFydDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxv
bmcgbG9uZyByZWRpcmVjdEVuZDsKICAgICAgICAgLy8gcmVhZG9ubHkgYXR0cmlidXRlIHVuc2ln
bmVkIGxvbmcgbG9uZyBkb21haW5Mb29rdXBTdGFydDsKICAgICAgICAgLy8gcmVhZG9ubHkgYXR0
cmlidXRlIHVuc2lnbmVkIGxvbmcgbG9uZyBkb21haW5Mb29rdXBFbmQ7CiAgICAgICAgIC8vIHJl
YWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxvbmcgY29ubmVjdFN0YXJ0Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>61454</attachid>
            <date>2010-07-13 18:54:10 -0700</date>
            <delta_ts>2010-07-14 08:40:37 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-42018-20100713185408.patch</filename>
            <type>text/plain</type>
            <size>20660</size>
            <attacher name="Tony Gentilcore">tonyg</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0MmE5NGRlOWFkMWE5NjRhNzBkZTAwYTZhMTJhMjJlMWVlN2IyMDhjLi5lYzFlMDBh
YWMzNDI3MGI0MzQ0Zjg2Yjg3MTE5OWZlNGExN2ZiZjdmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAK
KzIwMTAtMDctMTEgIFRvbnkgR2VudGlsY29yZSAgPHRvbnlnQGNocm9taXVtLm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBEYXJpbiBGaXNoZXIuCisKKyAgICAgICAgSW1wbGVtZW50IFdlYiBU
aW1pbmcgcmVkaXJlY3RTdGFydCwgcmVkaXJlY3RFbmQsIHJlZGlyZWN0Q291bnQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyMDE4CisKKyAgICAgICAg
VGVzdHMgcGFzcyB3aXRoIC0td2ViLXRpbWluZy4gRXhwZWN0YXRpb25zIHNldCB0byBGQUlMIGJl
Y2F1c2UgZGlzYWJsZWQgYnkgZGVmYXVsdC4KKworICAgICAgICAqIGZhc3QvZG9tL3NjcmlwdC10
ZXN0cy93ZWJ0aW1pbmcuanM6IFNpbmNlIHRoaXMgaXMgbm90IGEgcmVkaXJlY3QsIHJlZGlyZWN0
IHRpbWVzIGFuZCBjb3VudCBzaG91bGQgYmUgemVyby4KKyAgICAgICAgKGNoZWNrVGltaW5nQmVm
b3JlTG9hZCk6CisgICAgICAgIChjaGVja1dlYlRpbWluZ09uTG9hZCk6CisgICAgICAgIChjaGVj
a1dlYlRpbWluZ0FmdGVyTG9hZCk6CisgICAgICAgICogZmFzdC9kb20vd2VidGltaW5nLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qczoKKyAg
ICAgICAgKHNob3VsZEJlR3JlYXRlclRoYW5PckVxdWFsKTogRmFjdG9yZWQgb3V0IHNvIHRoYXQg
b3RoZXIgdGVzdHMgY2FuIHNoYXJlIHRoaXMgbWV0aG9kLgorICAgICAgICAqIGh0dHAvdGVzdHMv
bWlzYy9yZXNvdXJjZXMvd2VidGltaW5nLW9uZS1yZWRpcmVjdC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL21pc2MvcmVzb3VyY2VzL3dlYnRpbWluZy10d28tcmVkaXJlY3RzLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbWlzYy93ZWJ0aW1pbmctb25lLXJlZGly
ZWN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9taXNjL3dlYnRp
bWluZy1vbmUtcmVkaXJlY3QucGhwOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL21pc2Mv
d2VidGltaW5nLXR3by1yZWRpcmVjdHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL21pc2Mvd2VidGltaW5nLXR3by1yZWRpcmVjdHMucGhwOiBBZGRlZC4KKwogMjAx
MC0wNy0xMyAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgQWRhbSBCYXJ0aC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Njcmlw
dC10ZXN0cy93ZWJ0aW1pbmcuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zY3JpcHQtdGVzdHMv
d2VidGltaW5nLmpzCmluZGV4IGNkMzk2YmFkMjg5YjRjYzAxNDVjMzExODU3MDIzOTU2NGI1ZWE1
ODkuLjdmZmUzZjM1N2ExY2VmMDYyMzRiN2IzNzIwMDUxNTFjMjlmMTQxZjMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NjcmlwdC10ZXN0cy93ZWJ0aW1pbmcuanMKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2NyaXB0LXRlc3RzL3dlYnRpbWluZy5qcwpAQCAtMSw2ICsxLDcg
QEAKIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgY2hlY2tzIHRoYXQgYWxsIG9mIHRoZSA8YSBocmVm
PSdodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJUaW1pbmcvJz5XZWIgVGltaW5nPC9h
PiBhdHRyaWJ1dGVzIGFyZSBhdmFpbGFibGUgYW5kIGhhdmUgcmVhc29uYWJsZSB2YWx1ZXMgaW4g
dGhlIHJpZ2h0IG9yZGVyLiIpOwogCiB2YXIgcGVyZm9ybWFuY2UgPSB3aW5kb3cud2Via2l0UGVy
Zm9ybWFuY2UgfHwge307Cit2YXIgbmF2aWdhdGlvbiA9IHBlcmZvcm1hbmNlLm5hdmlnYXRpb24g
fHwge307CiB2YXIgdGltaW5nID0gcGVyZm9ybWFuY2UudGltaW5nIHx8IHt9OwogCiAvLyBHZXQg
dGhlIG9yZGVyIG9mIG1hZ25pdHVkZSBjb3JyZWN0IHdpdGhvdXQgYSBjaGFuY2UgZm9yIGZsYWtp
bmVzcy4KQEAgLTE0LDM0ICsxNSwxNiBAQCBmdW5jdGlvbiBzbGVlcEZpZnR5TWlsbGlzZWNvbmRz
KCkgewogfQogd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBzbGVlcEZpZnR5TWlsbGlz
ZWNvbmRzLCBmYWxzZSk7CiAKLS8vIEZJWE1FOiBNb3ZlIHRoaXMgdG8ganMtdGVzdC1wcmUuanMg
aWYgaXQgaXMgbmVlZGVkIGJ5IG90aGVyIHRlc3RzLgotZnVuY3Rpb24gc2hvdWxkQmVHcmVhdGVy
VGhhbk9yRXF1YWwoX2EsIF9iKSB7Ci0gICAgaWYgKHR5cGVvZiBfYSAhPSAic3RyaW5nIiB8fCB0
eXBlb2YgX2IgIT0gInN0cmluZyIpCi0gICAgICAgIGRlYnVnKCJXQVJOOiBzaG91bGRCZUdyZWF0
ZXJUaGFuT3JFcXVhbCBleHBlY3RzIHN0cmluZyBhcmd1bWVudHMiKTsKLQotICAgIHZhciBleGNl
cHRpb247Ci0gICAgdmFyIF9hdjsKLSAgICB0cnkgewotICAgICAgICBfYXYgPSBldmFsKF9hKTsK
LSAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgIGV4Y2VwdGlvbiA9IGU7Ci0gICAgfQotICAgIHZh
ciBfYnYgPSBldmFsKF9iKTsKLQotICAgIGlmIChleGNlcHRpb24pCi0gICAgICAgIHRlc3RGYWls
ZWQoX2EgKyAiIHNob3VsZCBiZSA+PSAiICsgX2IgKyAiLiBUaHJldyBleGNlcHRpb24gIiArIGV4
Y2VwdGlvbik7Ci0gICAgZWxzZSBpZiAodHlwZW9mIF9hdiA9PSAidW5kZWZpbmVkIiB8fCBfYXYg
PCBfYnYpCi0gICAgICAgIHRlc3RGYWlsZWQoX2EgKyAiIHNob3VsZCBiZSA+PSAiICsgX2IgKyAi
LiBXYXMgIiArIF9hdiArICIgKG9mIHR5cGUgIiArIHR5cGVvZiBfYXYgKyAiKS4iKTsKLSAgICBl
bHNlCi0gICAgICAgIHRlc3RQYXNzZWQoX2EgKyAiIGlzID49ICIgKyBfYik7Ci19Ci0KIGZ1bmN0
aW9uIGNoZWNrVGltaW5nQmVmb3JlTG9hZCgpCiB7CiAgICAgc2hvdWxkQmVHcmVhdGVyVGhhbk9y
RXF1YWwoInRpbWluZy5uYXZpZ2F0aW9uU3RhcnQiLCAib25lSG91ckFnb1VUQyIpOwogCiAgICAg
c2hvdWxkQmVHcmVhdGVyVGhhbk9yRXF1YWwoInRpbWluZy51bmxvYWRFdmVudEVuZCIsICJ0aW1p
bmcubmF2aWdhdGlvblN0YXJ0Iik7CiAKKyAgICBzaG91bGRCZSgidGltaW5nLnJlZGlyZWN0U3Rh
cnQiLCAiMCIpOworICAgIHNob3VsZEJlKCJ0aW1pbmcucmVkaXJlY3RFbmQiLCAiMCIpOworICAg
IHNob3VsZEJlKCJuYXZpZ2F0aW9uLnJlZGlyZWN0Q291bnQiLCAiMCIpOworCiAgICAgc2hvdWxk
QmVHcmVhdGVyVGhhbk9yRXF1YWwoInRpbWluZy5mZXRjaFN0YXJ0IiwgInRpbWluZy5uYXZpZ2F0
aW9uU3RhcnQiKTsKIAogICAgIHNob3VsZEJlKCJ0aW1pbmcuZG9tYWluTG9va3VwU3RhcnQiLCAi
MCIpOwpAQCAtNjcsNiArNTAsMTAgQEAgZnVuY3Rpb24gY2hlY2tXZWJUaW1pbmdPbkxvYWQoKQog
CiAgICAgc2hvdWxkQmVHcmVhdGVyVGhhbk9yRXF1YWwoInRpbWluZy51bmxvYWRFdmVudEVuZCIs
ICJ0aW1pbmcubmF2aWdhdGlvblN0YXJ0Iik7CiAKKyAgICBzaG91bGRCZSgidGltaW5nLnJlZGly
ZWN0U3RhcnQiLCAiMCIpOworICAgIHNob3VsZEJlKCJ0aW1pbmcucmVkaXJlY3RFbmQiLCAiMCIp
OworICAgIHNob3VsZEJlKCJuYXZpZ2F0aW9uLnJlZGlyZWN0Q291bnQiLCAiMCIpOworCiAgICAg
c2hvdWxkQmVHcmVhdGVyVGhhbk9yRXF1YWwoInRpbWluZy5mZXRjaFN0YXJ0IiwgInRpbWluZy5u
YXZpZ2F0aW9uU3RhcnQiKTsKIAogICAgIHNob3VsZEJlKCJ0aW1pbmcuZG9tYWluTG9va3VwU3Rh
cnQiLCAiMCIpOwpAQCAtOTMsNiArODAsMTAgQEAgZnVuY3Rpb24gY2hlY2tXZWJUaW1pbmdBZnRl
ckxvYWQoKQogCiAgICAgc2hvdWxkQmVHcmVhdGVyVGhhbk9yRXF1YWwoInRpbWluZy51bmxvYWRF
dmVudEVuZCIsICJ0aW1pbmcubmF2aWdhdGlvblN0YXJ0Iik7CiAKKyAgICBzaG91bGRCZSgidGlt
aW5nLnJlZGlyZWN0U3RhcnQiLCAiMCIpOworICAgIHNob3VsZEJlKCJ0aW1pbmcucmVkaXJlY3RF
bmQiLCAiMCIpOworICAgIHNob3VsZEJlKCJuYXZpZ2F0aW9uLnJlZGlyZWN0Q291bnQiLCAiMCIp
OworCiAgICAgc2hvdWxkQmVHcmVhdGVyVGhhbk9yRXF1YWwoInRpbWluZy5mZXRjaFN0YXJ0Iiwg
InRpbWluZy5uYXZpZ2F0aW9uU3RhcnQiKTsKIAogICAgIHNob3VsZEJlKCJ0aW1pbmcuZG9tYWlu
TG9va3VwU3RhcnQiLCAiMCIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vd2Vi
dGltaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3dlYnRpbWluZy1leHBl
Y3RlZC50eHQKaW5kZXggMTdlYzY1OTI5MmFjYTg2NWUwMThlM2FhNjEzMDU4NGM1NDkxM2EyMC4u
Yjk3ZTNiNzM0MjUzNTgxNWJhYjM4ODJkMzFhMTlhMDU5OWNlZmExYyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vd2VidGltaW5nLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS93ZWJ0aW1pbmctZXhwZWN0ZWQudHh0CkBAIC01LDYgKzUsOSBAQCBPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURQogCiBGQUlMIHRpbWluZy5uYXZpZ2F0aW9uU3RhcnQgc2hvdWxkIGJl
ID49IG9uZUhvdXJBZ29VVEMuIFdhcyB1bmRlZmluZWQgKG9mIHR5cGUgdW5kZWZpbmVkKS4KIEZB
SUwgdGltaW5nLnVubG9hZEV2ZW50RW5kIHNob3VsZCBiZSA+PSB0aW1pbmcubmF2aWdhdGlvblN0
YXJ0LiBXYXMgdW5kZWZpbmVkIChvZiB0eXBlIHVuZGVmaW5lZCkuCitGQUlMIHRpbWluZy5yZWRp
cmVjdFN0YXJ0IHNob3VsZCBiZSAwIChvZiB0eXBlIG51bWJlcikuIFdhcyB1bmRlZmluZWQgKG9m
IHR5cGUgdW5kZWZpbmVkKS4KK0ZBSUwgdGltaW5nLnJlZGlyZWN0RW5kIHNob3VsZCBiZSAwIChv
ZiB0eXBlIG51bWJlcikuIFdhcyB1bmRlZmluZWQgKG9mIHR5cGUgdW5kZWZpbmVkKS4KK0ZBSUwg
bmF2aWdhdGlvbi5yZWRpcmVjdENvdW50IHNob3VsZCBiZSAwIChvZiB0eXBlIG51bWJlcikuIFdh
cyB1bmRlZmluZWQgKG9mIHR5cGUgdW5kZWZpbmVkKS4KIEZBSUwgdGltaW5nLmZldGNoU3RhcnQg
c2hvdWxkIGJlID49IHRpbWluZy5uYXZpZ2F0aW9uU3RhcnQuIFdhcyB1bmRlZmluZWQgKG9mIHR5
cGUgdW5kZWZpbmVkKS4KIEZBSUwgdGltaW5nLmRvbWFpbkxvb2t1cFN0YXJ0IHNob3VsZCBiZSAw
IChvZiB0eXBlIG51bWJlcikuIFdhcyB1bmRlZmluZWQgKG9mIHR5cGUgdW5kZWZpbmVkKS4KIEZB
SUwgdGltaW5nLmRvbWFpbkxvb2t1cEVuZCBzaG91bGQgYmUgMCAob2YgdHlwZSBudW1iZXIpLiBX
YXMgdW5kZWZpbmVkIChvZiB0eXBlIHVuZGVmaW5lZCkuCkBAIC0xNyw2ICsyMCw5IEBAIEZBSUwg
dGltaW5nLmxvYWRFdmVudFN0YXJ0IHNob3VsZCBiZSAwIChvZiB0eXBlIG51bWJlcikuIFdhcyB1
bmRlZmluZWQgKG9mIHR5cGUKIEZBSUwgdGltaW5nLmxvYWRFdmVudEVuZCBzaG91bGQgYmUgMCAo
b2YgdHlwZSBudW1iZXIpLiBXYXMgdW5kZWZpbmVkIChvZiB0eXBlIHVuZGVmaW5lZCkuCiBGQUlM
IHRpbWluZy5uYXZpZ2F0aW9uU3RhcnQgc2hvdWxkIGJlID49IG9uZUhvdXJBZ29VVEMuIFdhcyB1
bmRlZmluZWQgKG9mIHR5cGUgdW5kZWZpbmVkKS4KIEZBSUwgdGltaW5nLnVubG9hZEV2ZW50RW5k
IHNob3VsZCBiZSA+PSB0aW1pbmcubmF2aWdhdGlvblN0YXJ0LiBXYXMgdW5kZWZpbmVkIChvZiB0
eXBlIHVuZGVmaW5lZCkuCitGQUlMIHRpbWluZy5yZWRpcmVjdFN0YXJ0IHNob3VsZCBiZSAwIChv
ZiB0eXBlIG51bWJlcikuIFdhcyB1bmRlZmluZWQgKG9mIHR5cGUgdW5kZWZpbmVkKS4KK0ZBSUwg
dGltaW5nLnJlZGlyZWN0RW5kIHNob3VsZCBiZSAwIChvZiB0eXBlIG51bWJlcikuIFdhcyB1bmRl
ZmluZWQgKG9mIHR5cGUgdW5kZWZpbmVkKS4KK0ZBSUwgbmF2aWdhdGlvbi5yZWRpcmVjdENvdW50
IHNob3VsZCBiZSAwIChvZiB0eXBlIG51bWJlcikuIFdhcyB1bmRlZmluZWQgKG9mIHR5cGUgdW5k
ZWZpbmVkKS4KIEZBSUwgdGltaW5nLmZldGNoU3RhcnQgc2hvdWxkIGJlID49IHRpbWluZy5uYXZp
Z2F0aW9uU3RhcnQuIFdhcyB1bmRlZmluZWQgKG9mIHR5cGUgdW5kZWZpbmVkKS4KIEZBSUwgdGlt
aW5nLmRvbWFpbkxvb2t1cFN0YXJ0IHNob3VsZCBiZSAwIChvZiB0eXBlIG51bWJlcikuIFdhcyB1
bmRlZmluZWQgKG9mIHR5cGUgdW5kZWZpbmVkKS4KIEZBSUwgdGltaW5nLmRvbWFpbkxvb2t1cEVu
ZCBzaG91bGQgYmUgMCAob2YgdHlwZSBudW1iZXIpLiBXYXMgdW5kZWZpbmVkIChvZiB0eXBlIHVu
ZGVmaW5lZCkuCkBAIC0zMCw2ICszNiw5IEBAIEZBSUwgdGltaW5nLmxvYWRFdmVudFN0YXJ0IHNo
b3VsZCBiZSA+PSB0aW1pbmcucmVzcG9uc2VFbmQuIFdhcyB1bmRlZmluZWQgKG9mIHR5CiBGQUlM
IHRpbWluZy5sb2FkRXZlbnRFbmQgc2hvdWxkIGJlIDAgKG9mIHR5cGUgbnVtYmVyKS4gV2FzIHVu
ZGVmaW5lZCAob2YgdHlwZSB1bmRlZmluZWQpLgogRkFJTCB0aW1pbmcubmF2aWdhdGlvblN0YXJ0
IHNob3VsZCBiZSA+PSBvbmVIb3VyQWdvVVRDLiBXYXMgdW5kZWZpbmVkIChvZiB0eXBlIHVuZGVm
aW5lZCkuCiBGQUlMIHRpbWluZy51bmxvYWRFdmVudEVuZCBzaG91bGQgYmUgPj0gdGltaW5nLm5h
dmlnYXRpb25TdGFydC4gV2FzIHVuZGVmaW5lZCAob2YgdHlwZSB1bmRlZmluZWQpLgorRkFJTCB0
aW1pbmcucmVkaXJlY3RTdGFydCBzaG91bGQgYmUgMCAob2YgdHlwZSBudW1iZXIpLiBXYXMgdW5k
ZWZpbmVkIChvZiB0eXBlIHVuZGVmaW5lZCkuCitGQUlMIHRpbWluZy5yZWRpcmVjdEVuZCBzaG91
bGQgYmUgMCAob2YgdHlwZSBudW1iZXIpLiBXYXMgdW5kZWZpbmVkIChvZiB0eXBlIHVuZGVmaW5l
ZCkuCitGQUlMIG5hdmlnYXRpb24ucmVkaXJlY3RDb3VudCBzaG91bGQgYmUgMCAob2YgdHlwZSBu
dW1iZXIpLiBXYXMgdW5kZWZpbmVkIChvZiB0eXBlIHVuZGVmaW5lZCkuCiBGQUlMIHRpbWluZy5m
ZXRjaFN0YXJ0IHNob3VsZCBiZSA+PSB0aW1pbmcubmF2aWdhdGlvblN0YXJ0LiBXYXMgdW5kZWZp
bmVkIChvZiB0eXBlIHVuZGVmaW5lZCkuCiBGQUlMIHRpbWluZy5kb21haW5Mb29rdXBTdGFydCBz
aG91bGQgYmUgMCAob2YgdHlwZSBudW1iZXIpLiBXYXMgdW5kZWZpbmVkIChvZiB0eXBlIHVuZGVm
aW5lZCkuCiBGQUlMIHRpbWluZy5kb21haW5Mb29rdXBFbmQgc2hvdWxkIGJlIDAgKG9mIHR5cGUg
bnVtYmVyKS4gV2FzIHVuZGVmaW5lZCAob2YgdHlwZSB1bmRlZmluZWQpLgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMgYi9MYXlvdXRUZXN0
cy9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcwppbmRleCA2NjQ3Nzk4YTM0MTMzOTc5
NWY3NTRmOWVmNTNiYjA2OWE3MTIzYjg4Li5hNGNjMWY0NzlhOWFlZmJkMWNhN2I4OWQ3NDk4MzZh
ZmFlOTM3ZjlhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcworKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcwpAQCAtMjE4LDYgKzIxOCwyNiBAQCBmdW5jdGlvbiBzaG91bGRCZVVuZGVmaW5lZChfYSkK
ICAgICB0ZXN0RmFpbGVkKF9hICsgIiBzaG91bGQgYmUgdW5kZWZpbmVkLiBXYXMgIiArIF9hdik7
CiB9CiAKK2Z1bmN0aW9uIHNob3VsZEJlR3JlYXRlclRoYW5PckVxdWFsKF9hLCBfYikgeworICAg
IGlmICh0eXBlb2YgX2EgIT0gInN0cmluZyIgfHwgdHlwZW9mIF9iICE9ICJzdHJpbmciKQorICAg
ICAgICBkZWJ1ZygiV0FSTjogc2hvdWxkQmVHcmVhdGVyVGhhbk9yRXF1YWwgZXhwZWN0cyBzdHJp
bmcgYXJndW1lbnRzIik7CisKKyAgICB2YXIgZXhjZXB0aW9uOworICAgIHZhciBfYXY7CisgICAg
dHJ5IHsKKyAgICAgICAgX2F2ID0gZXZhbChfYSk7CisgICAgfSBjYXRjaCAoZSkgeworICAgICAg
ICBleGNlcHRpb24gPSBlOworICAgIH0KKyAgICB2YXIgX2J2ID0gZXZhbChfYik7CisKKyAgICBp
ZiAoZXhjZXB0aW9uKQorICAgICAgICB0ZXN0RmFpbGVkKF9hICsgIiBzaG91bGQgYmUgPj0gIiAr
IF9iICsgIi4gVGhyZXcgZXhjZXB0aW9uICIgKyBleGNlcHRpb24pOworICAgIGVsc2UgaWYgKHR5
cGVvZiBfYXYgPT0gInVuZGVmaW5lZCIgfHwgX2F2IDwgX2J2KQorICAgICAgICB0ZXN0RmFpbGVk
KF9hICsgIiBzaG91bGQgYmUgPj0gIiArIF9iICsgIi4gV2FzICIgKyBfYXYgKyAiIChvZiB0eXBl
ICIgKyB0eXBlb2YgX2F2ICsgIikuIik7CisgICAgZWxzZQorICAgICAgICB0ZXN0UGFzc2VkKF9h
ICsgIiBpcyA+PSAiICsgX2IpOworfQogCiBmdW5jdGlvbiBzaG91bGRUaHJvdyhfYSwgX2UpCiB7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvcmVzb3VyY2VzL3dlYnRp
bWluZy1vbmUtcmVkaXJlY3QuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9yZXNv
dXJjZXMvd2VidGltaW5nLW9uZS1yZWRpcmVjdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJkZmQ4MDcwZmJk
NzUyNDc3YmUzMDczNDBjZGI3ZDIyOTk1ZDM0NmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL21pc2MvcmVzb3VyY2VzL3dlYnRpbWluZy1vbmUtcmVkaXJlY3QuaHRt
bApAQCAtMCwwICsxLDI1IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIu
Li8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3QgY2hlY2tzIHRoYXQgV2ViIFRp
bWluZyByZXBvcnRzIHJlZGlyZWN0Q291bnQgY29ycmVjdGx5IGFuZCBoYXMgcmVhc29uYWJsZSB2
YWx1ZXMgZm9yIHJlZGlyZWN0U3RhcnQgYW5kIHJlZGlyZWN0Q291bnQuIik7CisKK3ZhciBwZXJm
b3JtYW5jZSA9IHdpbmRvdy53ZWJraXRQZXJmb3JtYW5jZSB8fCB7fTsKK3ZhciBuYXZpZ2F0aW9u
ID0gcGVyZm9ybWFuY2UubmF2aWdhdGlvbiB8fCB7fTsKK3ZhciB0aW1pbmcgPSBwZXJmb3JtYW5j
ZS50aW1pbmcgfHwge307CisKK3Nob3VsZEJlR3JlYXRlclRoYW5PckVxdWFsKCJ0aW1pbmcucmVk
aXJlY3RTdGFydCIsICJ0aW1pbmcubmF2aWdhdGlvblN0YXJ0Iik7CitzaG91bGRCZUdyZWF0ZXJU
aGFuT3JFcXVhbCgidGltaW5nLnJlZGlyZWN0RW5kIiwgInRpbWluZy5yZWRpcmVjdFN0YXJ0Iik7
CitzaG91bGRCZSgibmF2aWdhdGlvbi5yZWRpcmVjdENvdW50IiwgIjEiKTsKKwordmFyIHN1Y2Nl
c3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy10
ZXN0LXJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL3Jlc291cmNlcy93ZWJ0
aW1pbmctdHdvLXJlZGlyZWN0cy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL3Jl
c291cmNlcy93ZWJ0aW1pbmctdHdvLXJlZGlyZWN0cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU0YmZhMDQ1
OGY1NjhhNDJjOGVkMWUyYTA1ZTk4NDM5ODc2OTc2YmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvcmVzb3VyY2VzL3dlYnRpbWluZy10d28tcmVkaXJlY3Rz
Lmh0bWwKQEAgLTAsMCArMSwyNSBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IFdl
YiBUaW1pbmcgcmVwb3J0cyByZWRpcmVjdENvdW50IGNvcnJlY3RseSBhbmQgaGFzIHJlYXNvbmFi
bGUgdmFsdWVzIGZvciByZWRpcmVjdFN0YXJ0IGFuZCByZWRpcmVjdENvdW50LiIpOworCit2YXIg
cGVyZm9ybWFuY2UgPSB3aW5kb3cud2Via2l0UGVyZm9ybWFuY2UgfHwge307Cit2YXIgbmF2aWdh
dGlvbiA9IHBlcmZvcm1hbmNlLm5hdmlnYXRpb24gfHwge307Cit2YXIgdGltaW5nID0gcGVyZm9y
bWFuY2UudGltaW5nIHx8IHt9OworCitzaG91bGRCZUdyZWF0ZXJUaGFuT3JFcXVhbCgidGltaW5n
LnJlZGlyZWN0U3RhcnQiLCAidGltaW5nLm5hdmlnYXRpb25TdGFydCIpOworc2hvdWxkQmVHcmVh
dGVyVGhhbk9yRXF1YWwoInRpbWluZy5yZWRpcmVjdEVuZCIsICJ0aW1pbmcucmVkaXJlY3RTdGFy
dCIpOworc2hvdWxkQmUoIm5hdmlnYXRpb24ucmVkaXJlY3RDb3VudCIsICIyIik7CisKK3ZhciBz
dWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
anMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy93ZWJ0aW1pbmct
b25lLXJlZGlyZWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy93
ZWJ0aW1pbmctb25lLXJlZGlyZWN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NWRiODk5NDM5
NTdjNmZmNzAwOGEyZDZiMmI3YjRkZDcyMGNlOGZjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9taXNjL3dlYnRpbWluZy1vbmUtcmVkaXJlY3QtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTIgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBXZWIgVGltaW5nIHJlcG9y
dHMgcmVkaXJlY3RDb3VudCBjb3JyZWN0bHkgYW5kIGhhcyByZWFzb25hYmxlIHZhbHVlcyBmb3Ig
cmVkaXJlY3RTdGFydCBhbmQgcmVkaXJlY3RDb3VudC4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCisKK0ZBSUwgdGltaW5nLnJlZGlyZWN0U3RhcnQgc2hvdWxkIGJlID49IHRpbWluZy5u
YXZpZ2F0aW9uU3RhcnQuIFdhcyB1bmRlZmluZWQgKG9mIHR5cGUgdW5kZWZpbmVkKS4KK0ZBSUwg
dGltaW5nLnJlZGlyZWN0RW5kIHNob3VsZCBiZSA+PSB0aW1pbmcucmVkaXJlY3RTdGFydC4gV2Fz
IHVuZGVmaW5lZCAob2YgdHlwZSB1bmRlZmluZWQpLgorRkFJTCBuYXZpZ2F0aW9uLnJlZGlyZWN0
Q291bnQgc2hvdWxkIGJlIDEgKG9mIHR5cGUgbnVtYmVyKS4gV2FzIHVuZGVmaW5lZCAob2YgdHlw
ZSB1bmRlZmluZWQpLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy93ZWJ0aW1p
bmctb25lLXJlZGlyZWN0LnBocCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy93ZWJ0aW1p
bmctb25lLXJlZGlyZWN0LnBocApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZTM5MzFjNzBkNDdkZDZhNmE5MzAyNjhl
NmNjMDQyMTg2MGE1YzU3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9taXNjL3dlYnRpbWluZy1vbmUtcmVkaXJlY3QucGhwCkBAIC0wLDAgKzEsNCBAQAorPD9waHAK
KyAgaGVhZGVyKCdMb2NhdGlvbjogcmVzb3VyY2VzL3dlYnRpbWluZy1vbmUtcmVkaXJlY3QuaHRt
bCcpOworICBoZWFkZXIoJ0hUVFAvMS4wIDMwMiBGb3VuZCcpOworPz4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy93ZWJ0aW1pbmctdHdvLXJlZGlyZWN0cy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2Mvd2VidGltaW5nLXR3by1yZWRpcmVj
dHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJkYzQxZTY0NDUwMDRhZmU2MDJjOWE1NWVhYjRk
ZGQ5YWNjYjJmNDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21p
c2Mvd2VidGltaW5nLXR3by1yZWRpcmVjdHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBXZWIgVGltaW5nIHJlcG9ydHMgcmVkaXJlY3RDb3VudCBj
b3JyZWN0bHkgYW5kIGhhcyByZWFzb25hYmxlIHZhbHVlcyBmb3IgcmVkaXJlY3RTdGFydCBhbmQg
cmVkaXJlY3RDb3VudC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0ZBSUwgdGlt
aW5nLnJlZGlyZWN0U3RhcnQgc2hvdWxkIGJlID49IHRpbWluZy5uYXZpZ2F0aW9uU3RhcnQuIFdh
cyB1bmRlZmluZWQgKG9mIHR5cGUgdW5kZWZpbmVkKS4KK0ZBSUwgdGltaW5nLnJlZGlyZWN0RW5k
IHNob3VsZCBiZSA+PSB0aW1pbmcucmVkaXJlY3RTdGFydC4gV2FzIHVuZGVmaW5lZCAob2YgdHlw
ZSB1bmRlZmluZWQpLgorRkFJTCBuYXZpZ2F0aW9uLnJlZGlyZWN0Q291bnQgc2hvdWxkIGJlIDIg
KG9mIHR5cGUgbnVtYmVyKS4gV2FzIHVuZGVmaW5lZCAob2YgdHlwZSB1bmRlZmluZWQpLgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy93ZWJ0aW1pbmctdHdvLXJlZGlyZWN0cy5w
aHAgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2Mvd2VidGltaW5nLXR3by1yZWRpcmVjdHMu
cGhwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjhkZjZiYWNlNTY4NGRkYmZkMGQyYmU2MTRjYmE4YmQxZGFmN2EwZGYK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2Mvd2VidGltaW5n
LXR3by1yZWRpcmVjdHMucGhwCkBAIC0wLDAgKzEsNCBAQAorPD9waHAKKyAgaGVhZGVyKCdMb2Nh
dGlvbjogLi4vcmVzb3VyY2VzL3JlZGlyZWN0LnBocD91cmw9Li4vbWlzYy9yZXNvdXJjZXMvd2Vi
dGltaW5nLXR3by1yZWRpcmVjdHMuaHRtbCcpOworICBoZWFkZXIoJ0hUVFAvMS4wIDMwMiBGb3Vu
ZCcpOworPz4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VM
b2cKaW5kZXggYjhkNzc3NmNkYTI5YWI2MTRiZDM0OTcxYWFmMGZiZDkzZTdhNzIzNS4uNjk3YWZm
ODFiYmYwMDc3ZGEyMWNiYTJjNzFkZGU5N2Y2NGFiMWM0OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxMC0w
Ny0xMSAgVG9ueSBHZW50aWxjb3JlICA8dG9ueWdAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IERhcmluIEZpc2hlci4KKworICAgICAgICBJbXBsZW1lbnQgV2ViIFRpbWluZyBy
ZWRpcmVjdFN0YXJ0LCByZWRpcmVjdEVuZCwgcmVkaXJlY3RDb3VudAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDIwMTgKKworICAgICAgICBUZXN0czog
aHR0cC90ZXN0cy9taXNjL3dlYnRpbWluZy1vbmUtcmVkaXJlY3QucGhwCisgICAgICAgICAgICAg
ICBodHRwL3Rlc3RzL21pc2Mvd2VidGltaW5nLXR3by1yZWRpcmVjdHMucGhwCisKKyAgICAgICAg
KiBsb2FkZXIvRnJhbWVMb2FkZXJUeXBlcy5oOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2Fk
VGltZWxpbmU6OkZyYW1lTG9hZFRpbWVsaW5lKToKKyAgICAgICAgKiBsb2FkZXIvTWFpblJlc291
cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1haW5SZXNvdXJjZUxvYWRlcjo6d2ls
bFNlbmRSZXF1ZXN0KTogVGhpcyBtZXRob2QgaXMgY2FsbGVkIGZvciBlYWNoIHJlcXVlc3QgKGlu
Y2x1ZGluZyBzZXJ2ZXIgcmVkaXJlY3RzKS4gZmV0Y2hTdGFydCBpcyB1cGRhdGVkIHRvIHRoZSBj
dXJyZW50IHRpbWUgb24gZWFjaCBpbnZvY2F0aW9uIHNvIHRoYXQgaXQgcmVwcmVzZW50cyBmZXRj
aGluZyBvZiB0aGUgZmluYWwgZG9jdW1lbnQgYW5kIGRvZXNuJ3QgaW5jbHVkZSByZWRpcmVjdCB0
aW1lLiBGb3IgZWFjaCByZWRpcmVjdCwgcmVkaXJlY3RDb3VudCBpcyBpbmNyZW1lbnRlZCBhbmQg
cmVkaXJlY3RTdGFydCB0byByZWRpcmVjdEVuZCBtZWFzdXJlcyB0aGUgY3VtdWxhdGl2ZSBmZXRj
aCB0aW1lIGZvciBhbGwgcmVkaXJlY3RzLgorICAgICAgICAqIHBhZ2UvTmF2aWdhdGlvbi5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0aW9uOjpyZWRpcmVjdENvdW50KTogaHR0cDovL2Rl
di53My5vcmcvMjAwNi93ZWJhcGkvV2ViVGltaW5nLyNudC1yZWRpcmVjdC1jb3VudAorICAgICAg
ICAqIHBhZ2UvVGltaW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbWluZzo6cmVkaXJlY3RT
dGFydCk6IGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYlRpbWluZy8jbnQtcmVkaXJl
Y3Qtc3RhcnQKKyAgICAgICAgKFdlYkNvcmU6OlRpbWluZzo6cmVkaXJlY3RFbmQpOiBodHRwOi8v
ZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJUaW1pbmcvI250LXJlZGlyZWN0LWVuZAorICAgICAg
ICAqIHBhZ2UvVGltaW5nLmg6CisgICAgICAgICogcGFnZS9UaW1pbmcuaWRsOgorCiAyMDEwLTA3
LTEzICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEJ1
aWxkIGZpeDogZml4IFdlYkNvcmUgZXhwb3J0cyBieSBlZGl0aW5nIHRoZSAuaW4gZmlsZSwgcmF0
aGVyIHRoYW4gdGhlIGdlbmVyYXRlZCBmaWxlLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIv
RnJhbWVMb2FkZXJUeXBlcy5oIGIvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJUeXBlcy5oCmlu
ZGV4IDFlZDIzNTNkZGU3NTE1MTQ1YjdkMTZiODRjOTQ2NzQ5Y2E2OTI4OTQuLmFlNjcxY2U5YjUw
ZDFmNjhjM2U0ZDNiYjVlNmQ1NGM2ODBjNmI3MjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVy
L0ZyYW1lTG9hZGVyVHlwZXMuaAorKysgYi9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlclR5cGVz
LmgKQEAgLTYwLDE5ICs2MCwyNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIEZyYW1l
TG9hZFR5cGVCYWNrV01MRGVja05vdEFjY2Vzc2libGUKICAgICB9OwogCisgICAgLy8gRklYTUU6
IE1vdmUgdGhpcyB0byBhIG5ldyBoZWFkZXIgZmlsZS4KICAgICBzdHJ1Y3QgRnJhbWVMb2FkVGlt
ZWxpbmUgewogICAgICAgICBGcmFtZUxvYWRUaW1lbGluZSgpCi0gICAgICAgICAgICA6IG5hdmln
YXRpb25TdGFydCgwKQotICAgICAgICAgICAgLCB1bmxvYWRFdmVudEVuZCgwKQotICAgICAgICAg
ICAgLCBmZXRjaFN0YXJ0KDApCi0gICAgICAgICAgICAsIHJlc3BvbnNlRW5kKDApCi0gICAgICAg
ICAgICAsIGxvYWRFdmVudFN0YXJ0KDApCi0gICAgICAgICAgICAsIGxvYWRFdmVudEVuZCgwKQor
ICAgICAgICAgICAgOiBuYXZpZ2F0aW9uU3RhcnQoMC4wKQorICAgICAgICAgICAgLCB1bmxvYWRF
dmVudEVuZCgwLjApCisgICAgICAgICAgICAsIHJlZGlyZWN0U3RhcnQoMC4wKQorICAgICAgICAg
ICAgLCByZWRpcmVjdEVuZCgwLjApCisgICAgICAgICAgICAsIHJlZGlyZWN0Q291bnQoMCkKKyAg
ICAgICAgICAgICwgZmV0Y2hTdGFydCgwLjApCisgICAgICAgICAgICAsIHJlc3BvbnNlRW5kKDAu
MCkKKyAgICAgICAgICAgICwgbG9hZEV2ZW50U3RhcnQoMC4wKQorICAgICAgICAgICAgLCBsb2Fk
RXZlbnRFbmQoMC4wKQogICAgICAgICB7CiAgICAgICAgIH0KIAogICAgICAgICBkb3VibGUgbmF2
aWdhdGlvblN0YXJ0OwogICAgICAgICBkb3VibGUgdW5sb2FkRXZlbnRFbmQ7CisgICAgICAgIGRv
dWJsZSByZWRpcmVjdFN0YXJ0OworICAgICAgICBkb3VibGUgcmVkaXJlY3RFbmQ7CisgICAgICAg
IHNob3J0IHJlZGlyZWN0Q291bnQ7CiAgICAgICAgIGRvdWJsZSBmZXRjaFN0YXJ0OwogICAgICAg
ICBkb3VibGUgcmVzcG9uc2VFbmQ7CiAgICAgICAgIGRvdWJsZSBsb2FkRXZlbnRTdGFydDsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHAgYi9XZWJDb3Jl
L2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDFkZGU4MWM1NWViODYxZGZmNDQ3
MTFlYTk0MzFhYWYzNGI0MTkxMDYuLjk3Zjc4OTVmYWMyMDg0ZDZiNTZjNjY1NDE4N2IzMTkzZDk2
NDU3ZTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHAK
KysrIGIvV2ViQ29yZS9sb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcApAQCAtMTU4LDggKzE1
OCwxNSBAQCB2b2lkIE1haW5SZXNvdXJjZUxvYWRlcjo6d2lsbFNlbmRSZXF1ZXN0KFJlc291cmNl
UmVxdWVzdCYgbmV3UmVxdWVzdCwgY29uc3QgUmVzbwogICAgIC8vIFRoZSBhZGRpdGlvbmFsIHBy
b2Nlc3NpbmcgY2FuIGRvIGFueXRoaW5nIGluY2x1ZGluZyBwb3NzaWJseSByZW1vdmluZyB0aGUg
bGFzdAogICAgIC8vIHJlZmVyZW5jZSB0byB0aGlzIG9iamVjdDsgb25lIGV4YW1wbGUgb2YgdGhp
cyBpcyAzMjY2MjE2LgogICAgIFJlZlB0cjxNYWluUmVzb3VyY2VMb2FkZXI+IHByb3RlY3QodGhp
cyk7Ci0gICAgCi0gICAgZnJhbWVMb2FkZXIoKS0+ZnJhbWVMb2FkVGltZWxpbmUoKS0+ZmV0Y2hT
dGFydCA9IGN1cnJlbnRUaW1lKCk7CisKKyAgICBGcmFtZUxvYWRUaW1lbGluZSogZnJhbWVMb2Fk
VGltZWxpbmUgPSBmcmFtZUxvYWRlcigpLT5mcmFtZUxvYWRUaW1lbGluZSgpOworICAgIGRvdWJs
ZSBmZXRjaFRpbWUgPSBjdXJyZW50VGltZSgpOworICAgIGlmIChkb3VibGUgZmV0Y2hTdGFydCA9
IGZyYW1lTG9hZFRpbWVsaW5lLT5mZXRjaFN0YXJ0KSB7CisgICAgICAgIGlmICghZnJhbWVMb2Fk
VGltZWxpbmUtPnJlZGlyZWN0Q291bnQrKykKKyAgICAgICAgICAgIGZyYW1lTG9hZFRpbWVsaW5l
LT5yZWRpcmVjdFN0YXJ0ID0gZmV0Y2hTdGFydDsKKyAgICAgICAgZnJhbWVMb2FkVGltZWxpbmUt
PnJlZGlyZWN0RW5kID0gZmV0Y2hUaW1lOworICAgIH0KKyAgICBmcmFtZUxvYWRUaW1lbGluZS0+
ZmV0Y2hTdGFydCA9IGZldGNoVGltZTsKIAogICAgIC8vIFVwZGF0ZSBjb29raWUgcG9saWN5IGJh
c2UgVVJMIGFzIFVSTCBjaGFuZ2VzLCBleGNlcHQgZm9yIHN1YmZyYW1lcywgd2hpY2ggdXNlIHRo
ZQogICAgIC8vIFVSTCBvZiB0aGUgbWFpbiBmcmFtZSB3aGljaCBkb2Vzbid0IGNoYW5nZSB3aGVu
IHdlIHJlZGlyZWN0LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL05hdmlnYXRpb24uY3BwIGIv
V2ViQ29yZS9wYWdlL05hdmlnYXRpb24uY3BwCmluZGV4IGVmZGE5MjQzYmU3MDZiNzFhNzNiMmZi
YTllYzU3MTMxZTRlMjExNzIuLjExNGU2OWY4Y2RkNDdkYWVmNzhjODU5ZGM4ODBlZjlhMzFjOTgz
ZTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9OYXZpZ2F0aW9uLmNwcAorKysgYi9XZWJDb3Jl
L3BhZ2UvTmF2aWdhdGlvbi5jcHAKQEAgLTc5LDcgKzc5LDcgQEAgdW5zaWduZWQgc2hvcnQgTmF2
aWdhdGlvbjo6cmVkaXJlY3RDb3VudCgpIGNvbnN0CiAgICAgaWYgKCFtX2ZyYW1lKQogICAgICAg
ICByZXR1cm4gMDsKIAotICAgIHJldHVybiAwOyAvLyBGSVhNRQorICAgIHJldHVybiBtX2ZyYW1l
LT5sb2FkZXIoKS0+ZnJhbWVMb2FkVGltZWxpbmUoKS0+cmVkaXJlY3RDb3VudDsKIH0KIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1RpbWluZy5jcHAg
Yi9XZWJDb3JlL3BhZ2UvVGltaW5nLmNwcAppbmRleCAyZWY0NDUwYWE4Njk4MTEwYzcyZDYxMGQy
Mzg5MjczMWE4ZjE2N2Y4Li41NGE0Y2M5YTdlNDI4ODQzNTFiNWUxMDA5ZDZkNmMzNzFjMDFiMTRm
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvVGltaW5nLmNwcAorKysgYi9XZWJDb3JlL3BhZ2Uv
VGltaW5nLmNwcApAQCAtNzAsNiArNzAsMjIgQEAgdW5zaWduZWQgbG9uZyBsb25nIFRpbWluZzo6
dW5sb2FkRXZlbnRFbmQoKSBjb25zdAogCiAgICAgcmV0dXJuIHRvSW50ZWdlck1pbGxpc2Vjb25k
cyhtX2ZyYW1lLT5sb2FkZXIoKS0+ZnJhbWVMb2FkVGltZWxpbmUoKS0+dW5sb2FkRXZlbnRFbmQp
OwogfQorICAgIAordW5zaWduZWQgbG9uZyBsb25nIFRpbWluZzo6cmVkaXJlY3RTdGFydCgpIGNv
bnN0Cit7CisgICAgaWYgKCFtX2ZyYW1lKQorICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgCisg
ICAgcmV0dXJuIHRvSW50ZWdlck1pbGxpc2Vjb25kcyhtX2ZyYW1lLT5sb2FkZXIoKS0+ZnJhbWVM
b2FkVGltZWxpbmUoKS0+cmVkaXJlY3RTdGFydCk7Cit9CisgICAgCit1bnNpZ25lZCBsb25nIGxv
bmcgVGltaW5nOjpyZWRpcmVjdEVuZCgpIGNvbnN0Cit7CisgICAgaWYgKCFtX2ZyYW1lKQorICAg
ICAgICByZXR1cm4gMDsKKyAgICAgICAgCisgICAgcmV0dXJuIHRvSW50ZWdlck1pbGxpc2Vjb25k
cyhtX2ZyYW1lLT5sb2FkZXIoKS0+ZnJhbWVMb2FkVGltZWxpbmUoKS0+cmVkaXJlY3RFbmQpOwor
fQogCiB1bnNpZ25lZCBsb25nIGxvbmcgVGltaW5nOjpmZXRjaFN0YXJ0KCkgY29uc3QKIHsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9UaW1pbmcuaCBiL1dlYkNvcmUvcGFnZS9UaW1pbmcuaApp
bmRleCBjZGM5YjBkZGRlYzQ3MTRjZTRkNDZlMjA5ZmNjZjA2Mzk3ODcxZjQ3Li45M2EzODA0YTc3
ZGZlNzg1YjYyZWVkYTkwZmViMjcwNjA5ZTZiZmU0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2Uv
VGltaW5nLmgKKysrIGIvV2ViQ29yZS9wYWdlL1RpbWluZy5oCkBAIC01MCw2ICs1MCw4IEBAIHB1
YmxpYzoKIAogICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBuYXZpZ2F0aW9uU3RhcnQoKSBjb25zdDsK
ICAgICB1bnNpZ25lZCBsb25nIGxvbmcgdW5sb2FkRXZlbnRFbmQoKSBjb25zdDsKKyAgICB1bnNp
Z25lZCBsb25nIGxvbmcgcmVkaXJlY3RTdGFydCgpIGNvbnN0OworICAgIHVuc2lnbmVkIGxvbmcg
bG9uZyByZWRpcmVjdEVuZCgpIGNvbnN0OwogICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBmZXRjaFN0
YXJ0KCkgY29uc3Q7CiAgICAgdW5zaWduZWQgbG9uZyBsb25nIGRvbWFpbkxvb2t1cFN0YXJ0KCkg
Y29uc3Q7CiAgICAgdW5zaWduZWQgbG9uZyBsb25nIGRvbWFpbkxvb2t1cEVuZCgpIGNvbnN0Owpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1RpbWluZy5pZGwgYi9XZWJDb3JlL3BhZ2UvVGltaW5n
LmlkbAppbmRleCA1ODgyMmUwY2UyY2RlZjM4YWQ2ZjkxM2JiYjJmNzZkYjliYmY4ODQ3Li5lN2U0
NmNjNGNhMGVmY2ZlYjMwYjgyNzk3YWUwZTVlZDkxMGUzY2Q3IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BhZ2UvVGltaW5nLmlkbAorKysgYi9XZWJDb3JlL3BhZ2UvVGltaW5nLmlkbApAQCAtMzIsMTEg
KzMyLDEwIEBAIG1vZHVsZSB3aW5kb3cgewogCiAgICAgLy8gU2VlOiBodHRwOi8vZGV2LnczLm9y
Zy8yMDA2L3dlYmFwaS9XZWJUaW1pbmcvCiAgICAgaW50ZXJmYWNlIFtDb25kaXRpb25hbD1XRUJf
VElNSU5HLCBPbWl0Q29uc3RydWN0b3JdIFRpbWluZyB7Ci0gICAgICAgIC8vIEZJWE1FOiBJbXBs
ZW1lbnQgcmVtYWluZGVyIG9mIGludGVyZmFjZS4KICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IHVuc2lnbmVkIGxvbmcgbG9uZyBuYXZpZ2F0aW9uU3RhcnQ7CiAgICAgICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxvbmcgdW5sb2FkRXZlbnRFbmQ7Ci0gICAgICAgIC8vIHJl
YWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxvbmcgcmVkaXJlY3RTdGFydDsKLSAgICAg
ICAgLy8gcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbG9uZyByZWRpcmVjdEVuZDsK
KyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbG9uZyByZWRpcmVjdFN0
YXJ0OworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsb25nIHJlZGly
ZWN0RW5kOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsb25nIGZl
dGNoU3RhcnQ7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxvbmcg
ZG9tYWluTG9va3VwU3RhcnQ7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBs
b25nIGxvbmcgZG9tYWluTG9va3VwRW5kOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>61527</attachid>
            <date>2010-07-14 08:40:59 -0700</date>
            <delta_ts>2010-07-14 09:46:06 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-42018-20100714084058.patch</filename>
            <type>text/plain</type>
            <size>21715</size>
            <attacher name="Tony Gentilcore">tonyg</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBjMjBiYmUzMmE2ODJkN2ZjNDY4YmNiMDFlMzgzNTNhMTIzNzk5NWFjLi4zMzA3ZjBj
YmJiN2Y4ZGQzZjAxYjcyODVmMmJlZmJjZmQ1ZWY5MDZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAK
KzIwMTAtMDctMTEgIFRvbnkgR2VudGlsY29yZSAgPHRvbnlnQGNocm9taXVtLm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBEYXJpbiBGaXNoZXIuCisKKyAgICAgICAgSW1wbGVtZW50IFdlYiBU
aW1pbmcgcmVkaXJlY3RTdGFydCwgcmVkaXJlY3RFbmQsIHJlZGlyZWN0Q291bnQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyMDE4CisKKyAgICAgICAg
VGVzdHMgcGFzcyB3aXRoIC0td2ViLXRpbWluZy4gRXhwZWN0YXRpb25zIHNldCB0byBGQUlMIGJl
Y2F1c2UgZGlzYWJsZWQgYnkgZGVmYXVsdC4KKworICAgICAgICAqIGZhc3QvZG9tL3NjcmlwdC10
ZXN0cy93ZWJ0aW1pbmcuanM6IFNpbmNlIHRoaXMgaXMgbm90IGEgcmVkaXJlY3QsIHJlZGlyZWN0
IHRpbWVzIGFuZCBjb3VudCBzaG91bGQgYmUgemVyby4KKyAgICAgICAgKGNoZWNrVGltaW5nQmVm
b3JlTG9hZCk6CisgICAgICAgIChjaGVja1dlYlRpbWluZ09uTG9hZCk6CisgICAgICAgIChjaGVj
a1dlYlRpbWluZ0FmdGVyTG9hZCk6CisgICAgICAgICogZmFzdC9kb20vd2VidGltaW5nLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qczoKKyAg
ICAgICAgKHNob3VsZEJlR3JlYXRlclRoYW5PckVxdWFsKTogRmFjdG9yZWQgb3V0IHNvIHRoYXQg
b3RoZXIgdGVzdHMgY2FuIHNoYXJlIHRoaXMgbWV0aG9kLgorICAgICAgICAqIGh0dHAvdGVzdHMv
bWlzYy9yZXNvdXJjZXMvd2VidGltaW5nLW9uZS1yZWRpcmVjdC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL21pc2MvcmVzb3VyY2VzL3dlYnRpbWluZy10d28tcmVkaXJlY3RzLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbWlzYy93ZWJ0aW1pbmctb25lLXJlZGly
ZWN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9taXNjL3dlYnRp
bWluZy1vbmUtcmVkaXJlY3QucGhwOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL21pc2Mv
d2VidGltaW5nLXR3by1yZWRpcmVjdHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL21pc2Mvd2VidGltaW5nLXR3by1yZWRpcmVjdHMucGhwOiBBZGRlZC4KKwogMjAx
MC0wNy0xNCAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0eS1kZXNjcmlwdG9ycy1leHBl
Y3RlZC50eHQKaW5kZXggNmU4ZTlkNzA2MDU5OTAwYTQ2YWExNjYxMTFkYTY5ZTNkNDE5YzE5NC4u
NjNkMjY5ZWI5ZTA4YTlkYWI0NTUwYzVhMDMxYmM0YmYyNzBhYTFmMiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0eS1kZXNjcmlwdG9ycy1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0
eS1kZXNjcmlwdG9ycy1leHBlY3RlZC50eHQKQEAgLTQ1OCw2ICs0NTgsNyBAQCBQQVNTIHR5cGVv
ZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ3Nlc3Npb25TdG9yYWdl
JykgaXMgJ29iamVjdAogUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cih3aW5kb3csICdzaG91bGRCZScpIGlzICdvYmplY3QnCiBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ3Nob3VsZEJlRXF1YWxUb1N0cmluZycpIGlz
ICdvYmplY3QnCiBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdp
bmRvdywgJ3Nob3VsZEJlRmFsc2UnKSBpcyAnb2JqZWN0JworUEFTUyB0eXBlb2YgT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdzaG91bGRCZUdyZWF0ZXJUaGFuT3JFcXVh
bCcpIGlzICdvYmplY3QnCiBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKHdpbmRvdywgJ3Nob3VsZEJlTmFOJykgaXMgJ29iamVjdCcKIFBBU1MgdHlwZW9mIE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnc2hvdWxkQmVOb25OdWxsJykgaXMg
J29iamVjdCcKIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2lu
ZG93LCAnc2hvdWxkQmVOb25aZXJvJykgaXMgJ29iamVjdCcKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NjcmlwdC10ZXN0cy93ZWJ0aW1pbmcuanMgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zY3JpcHQtdGVzdHMvd2VidGltaW5nLmpzCmluZGV4IGNkMzk2YmFkMjg5YjRjYzAxNDVj
MzExODU3MDIzOTU2NGI1ZWE1ODkuLjdmZmUzZjM1N2ExY2VmMDYyMzRiN2IzNzIwMDUxNTFjMjlm
MTQxZjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NjcmlwdC10ZXN0cy93ZWJ0
aW1pbmcuanMKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2NyaXB0LXRlc3RzL3dlYnRpbWlu
Zy5qcwpAQCAtMSw2ICsxLDcgQEAKIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
YWxsIG9mIHRoZSA8YSBocmVmPSdodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJUaW1p
bmcvJz5XZWIgVGltaW5nPC9hPiBhdHRyaWJ1dGVzIGFyZSBhdmFpbGFibGUgYW5kIGhhdmUgcmVh
c29uYWJsZSB2YWx1ZXMgaW4gdGhlIHJpZ2h0IG9yZGVyLiIpOwogCiB2YXIgcGVyZm9ybWFuY2Ug
PSB3aW5kb3cud2Via2l0UGVyZm9ybWFuY2UgfHwge307Cit2YXIgbmF2aWdhdGlvbiA9IHBlcmZv
cm1hbmNlLm5hdmlnYXRpb24gfHwge307CiB2YXIgdGltaW5nID0gcGVyZm9ybWFuY2UudGltaW5n
IHx8IHt9OwogCiAvLyBHZXQgdGhlIG9yZGVyIG9mIG1hZ25pdHVkZSBjb3JyZWN0IHdpdGhvdXQg
YSBjaGFuY2UgZm9yIGZsYWtpbmVzcy4KQEAgLTE0LDM0ICsxNSwxNiBAQCBmdW5jdGlvbiBzbGVl
cEZpZnR5TWlsbGlzZWNvbmRzKCkgewogfQogd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBzbGVlcEZpZnR5TWlsbGlzZWNvbmRzLCBmYWxzZSk7CiAKLS8vIEZJWE1FOiBNb3ZlIHRoaXMg
dG8ganMtdGVzdC1wcmUuanMgaWYgaXQgaXMgbmVlZGVkIGJ5IG90aGVyIHRlc3RzLgotZnVuY3Rp
b24gc2hvdWxkQmVHcmVhdGVyVGhhbk9yRXF1YWwoX2EsIF9iKSB7Ci0gICAgaWYgKHR5cGVvZiBf
YSAhPSAic3RyaW5nIiB8fCB0eXBlb2YgX2IgIT0gInN0cmluZyIpCi0gICAgICAgIGRlYnVnKCJX
QVJOOiBzaG91bGRCZUdyZWF0ZXJUaGFuT3JFcXVhbCBleHBlY3RzIHN0cmluZyBhcmd1bWVudHMi
KTsKLQotICAgIHZhciBleGNlcHRpb247Ci0gICAgdmFyIF9hdjsKLSAgICB0cnkgewotICAgICAg
ICBfYXYgPSBldmFsKF9hKTsKLSAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgIGV4Y2VwdGlvbiA9
IGU7Ci0gICAgfQotICAgIHZhciBfYnYgPSBldmFsKF9iKTsKLQotICAgIGlmIChleGNlcHRpb24p
Ci0gICAgICAgIHRlc3RGYWlsZWQoX2EgKyAiIHNob3VsZCBiZSA+PSAiICsgX2IgKyAiLiBUaHJl
dyBleGNlcHRpb24gIiArIGV4Y2VwdGlvbik7Ci0gICAgZWxzZSBpZiAodHlwZW9mIF9hdiA9PSAi
dW5kZWZpbmVkIiB8fCBfYXYgPCBfYnYpCi0gICAgICAgIHRlc3RGYWlsZWQoX2EgKyAiIHNob3Vs
ZCBiZSA+PSAiICsgX2IgKyAiLiBXYXMgIiArIF9hdiArICIgKG9mIHR5cGUgIiArIHR5cGVvZiBf
YXYgKyAiKS4iKTsKLSAgICBlbHNlCi0gICAgICAgIHRlc3RQYXNzZWQoX2EgKyAiIGlzID49ICIg
KyBfYik7Ci19Ci0KIGZ1bmN0aW9uIGNoZWNrVGltaW5nQmVmb3JlTG9hZCgpCiB7CiAgICAgc2hv
dWxkQmVHcmVhdGVyVGhhbk9yRXF1YWwoInRpbWluZy5uYXZpZ2F0aW9uU3RhcnQiLCAib25lSG91
ckFnb1VUQyIpOwogCiAgICAgc2hvdWxkQmVHcmVhdGVyVGhhbk9yRXF1YWwoInRpbWluZy51bmxv
YWRFdmVudEVuZCIsICJ0aW1pbmcubmF2aWdhdGlvblN0YXJ0Iik7CiAKKyAgICBzaG91bGRCZSgi
dGltaW5nLnJlZGlyZWN0U3RhcnQiLCAiMCIpOworICAgIHNob3VsZEJlKCJ0aW1pbmcucmVkaXJl
Y3RFbmQiLCAiMCIpOworICAgIHNob3VsZEJlKCJuYXZpZ2F0aW9uLnJlZGlyZWN0Q291bnQiLCAi
MCIpOworCiAgICAgc2hvdWxkQmVHcmVhdGVyVGhhbk9yRXF1YWwoInRpbWluZy5mZXRjaFN0YXJ0
IiwgInRpbWluZy5uYXZpZ2F0aW9uU3RhcnQiKTsKIAogICAgIHNob3VsZEJlKCJ0aW1pbmcuZG9t
YWluTG9va3VwU3RhcnQiLCAiMCIpOwpAQCAtNjcsNiArNTAsMTAgQEAgZnVuY3Rpb24gY2hlY2tX
ZWJUaW1pbmdPbkxvYWQoKQogCiAgICAgc2hvdWxkQmVHcmVhdGVyVGhhbk9yRXF1YWwoInRpbWlu
Zy51bmxvYWRFdmVudEVuZCIsICJ0aW1pbmcubmF2aWdhdGlvblN0YXJ0Iik7CiAKKyAgICBzaG91
bGRCZSgidGltaW5nLnJlZGlyZWN0U3RhcnQiLCAiMCIpOworICAgIHNob3VsZEJlKCJ0aW1pbmcu
cmVkaXJlY3RFbmQiLCAiMCIpOworICAgIHNob3VsZEJlKCJuYXZpZ2F0aW9uLnJlZGlyZWN0Q291
bnQiLCAiMCIpOworCiAgICAgc2hvdWxkQmVHcmVhdGVyVGhhbk9yRXF1YWwoInRpbWluZy5mZXRj
aFN0YXJ0IiwgInRpbWluZy5uYXZpZ2F0aW9uU3RhcnQiKTsKIAogICAgIHNob3VsZEJlKCJ0aW1p
bmcuZG9tYWluTG9va3VwU3RhcnQiLCAiMCIpOwpAQCAtOTMsNiArODAsMTAgQEAgZnVuY3Rpb24g
Y2hlY2tXZWJUaW1pbmdBZnRlckxvYWQoKQogCiAgICAgc2hvdWxkQmVHcmVhdGVyVGhhbk9yRXF1
YWwoInRpbWluZy51bmxvYWRFdmVudEVuZCIsICJ0aW1pbmcubmF2aWdhdGlvblN0YXJ0Iik7CiAK
KyAgICBzaG91bGRCZSgidGltaW5nLnJlZGlyZWN0U3RhcnQiLCAiMCIpOworICAgIHNob3VsZEJl
KCJ0aW1pbmcucmVkaXJlY3RFbmQiLCAiMCIpOworICAgIHNob3VsZEJlKCJuYXZpZ2F0aW9uLnJl
ZGlyZWN0Q291bnQiLCAiMCIpOworCiAgICAgc2hvdWxkQmVHcmVhdGVyVGhhbk9yRXF1YWwoInRp
bWluZy5mZXRjaFN0YXJ0IiwgInRpbWluZy5uYXZpZ2F0aW9uU3RhcnQiKTsKIAogICAgIHNob3Vs
ZEJlKCJ0aW1pbmcuZG9tYWluTG9va3VwU3RhcnQiLCAiMCIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vd2VidGltaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3dlYnRpbWluZy1leHBlY3RlZC50eHQKaW5kZXggMTdlYzY1OTI5MmFjYTg2NWUwMThlM2Fh
NjEzMDU4NGM1NDkxM2EyMC4uYjk3ZTNiNzM0MjUzNTgxNWJhYjM4ODJkMzFhMTlhMDU5OWNlZmEx
YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vd2VidGltaW5nLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS93ZWJ0aW1pbmctZXhwZWN0ZWQudHh0CkBAIC01
LDYgKzUsOSBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogCiBGQUlMIHRpbWluZy5uYXZpZ2F0
aW9uU3RhcnQgc2hvdWxkIGJlID49IG9uZUhvdXJBZ29VVEMuIFdhcyB1bmRlZmluZWQgKG9mIHR5
cGUgdW5kZWZpbmVkKS4KIEZBSUwgdGltaW5nLnVubG9hZEV2ZW50RW5kIHNob3VsZCBiZSA+PSB0
aW1pbmcubmF2aWdhdGlvblN0YXJ0LiBXYXMgdW5kZWZpbmVkIChvZiB0eXBlIHVuZGVmaW5lZCku
CitGQUlMIHRpbWluZy5yZWRpcmVjdFN0YXJ0IHNob3VsZCBiZSAwIChvZiB0eXBlIG51bWJlciku
IFdhcyB1bmRlZmluZWQgKG9mIHR5cGUgdW5kZWZpbmVkKS4KK0ZBSUwgdGltaW5nLnJlZGlyZWN0
RW5kIHNob3VsZCBiZSAwIChvZiB0eXBlIG51bWJlcikuIFdhcyB1bmRlZmluZWQgKG9mIHR5cGUg
dW5kZWZpbmVkKS4KK0ZBSUwgbmF2aWdhdGlvbi5yZWRpcmVjdENvdW50IHNob3VsZCBiZSAwIChv
ZiB0eXBlIG51bWJlcikuIFdhcyB1bmRlZmluZWQgKG9mIHR5cGUgdW5kZWZpbmVkKS4KIEZBSUwg
dGltaW5nLmZldGNoU3RhcnQgc2hvdWxkIGJlID49IHRpbWluZy5uYXZpZ2F0aW9uU3RhcnQuIFdh
cyB1bmRlZmluZWQgKG9mIHR5cGUgdW5kZWZpbmVkKS4KIEZBSUwgdGltaW5nLmRvbWFpbkxvb2t1
cFN0YXJ0IHNob3VsZCBiZSAwIChvZiB0eXBlIG51bWJlcikuIFdhcyB1bmRlZmluZWQgKG9mIHR5
cGUgdW5kZWZpbmVkKS4KIEZBSUwgdGltaW5nLmRvbWFpbkxvb2t1cEVuZCBzaG91bGQgYmUgMCAo
b2YgdHlwZSBudW1iZXIpLiBXYXMgdW5kZWZpbmVkIChvZiB0eXBlIHVuZGVmaW5lZCkuCkBAIC0x
Nyw2ICsyMCw5IEBAIEZBSUwgdGltaW5nLmxvYWRFdmVudFN0YXJ0IHNob3VsZCBiZSAwIChvZiB0
eXBlIG51bWJlcikuIFdhcyB1bmRlZmluZWQgKG9mIHR5cGUKIEZBSUwgdGltaW5nLmxvYWRFdmVu
dEVuZCBzaG91bGQgYmUgMCAob2YgdHlwZSBudW1iZXIpLiBXYXMgdW5kZWZpbmVkIChvZiB0eXBl
IHVuZGVmaW5lZCkuCiBGQUlMIHRpbWluZy5uYXZpZ2F0aW9uU3RhcnQgc2hvdWxkIGJlID49IG9u
ZUhvdXJBZ29VVEMuIFdhcyB1bmRlZmluZWQgKG9mIHR5cGUgdW5kZWZpbmVkKS4KIEZBSUwgdGlt
aW5nLnVubG9hZEV2ZW50RW5kIHNob3VsZCBiZSA+PSB0aW1pbmcubmF2aWdhdGlvblN0YXJ0LiBX
YXMgdW5kZWZpbmVkIChvZiB0eXBlIHVuZGVmaW5lZCkuCitGQUlMIHRpbWluZy5yZWRpcmVjdFN0
YXJ0IHNob3VsZCBiZSAwIChvZiB0eXBlIG51bWJlcikuIFdhcyB1bmRlZmluZWQgKG9mIHR5cGUg
dW5kZWZpbmVkKS4KK0ZBSUwgdGltaW5nLnJlZGlyZWN0RW5kIHNob3VsZCBiZSAwIChvZiB0eXBl
IG51bWJlcikuIFdhcyB1bmRlZmluZWQgKG9mIHR5cGUgdW5kZWZpbmVkKS4KK0ZBSUwgbmF2aWdh
dGlvbi5yZWRpcmVjdENvdW50IHNob3VsZCBiZSAwIChvZiB0eXBlIG51bWJlcikuIFdhcyB1bmRl
ZmluZWQgKG9mIHR5cGUgdW5kZWZpbmVkKS4KIEZBSUwgdGltaW5nLmZldGNoU3RhcnQgc2hvdWxk
IGJlID49IHRpbWluZy5uYXZpZ2F0aW9uU3RhcnQuIFdhcyB1bmRlZmluZWQgKG9mIHR5cGUgdW5k
ZWZpbmVkKS4KIEZBSUwgdGltaW5nLmRvbWFpbkxvb2t1cFN0YXJ0IHNob3VsZCBiZSAwIChvZiB0
eXBlIG51bWJlcikuIFdhcyB1bmRlZmluZWQgKG9mIHR5cGUgdW5kZWZpbmVkKS4KIEZBSUwgdGlt
aW5nLmRvbWFpbkxvb2t1cEVuZCBzaG91bGQgYmUgMCAob2YgdHlwZSBudW1iZXIpLiBXYXMgdW5k
ZWZpbmVkIChvZiB0eXBlIHVuZGVmaW5lZCkuCkBAIC0zMCw2ICszNiw5IEBAIEZBSUwgdGltaW5n
LmxvYWRFdmVudFN0YXJ0IHNob3VsZCBiZSA+PSB0aW1pbmcucmVzcG9uc2VFbmQuIFdhcyB1bmRl
ZmluZWQgKG9mIHR5CiBGQUlMIHRpbWluZy5sb2FkRXZlbnRFbmQgc2hvdWxkIGJlIDAgKG9mIHR5
cGUgbnVtYmVyKS4gV2FzIHVuZGVmaW5lZCAob2YgdHlwZSB1bmRlZmluZWQpLgogRkFJTCB0aW1p
bmcubmF2aWdhdGlvblN0YXJ0IHNob3VsZCBiZSA+PSBvbmVIb3VyQWdvVVRDLiBXYXMgdW5kZWZp
bmVkIChvZiB0eXBlIHVuZGVmaW5lZCkuCiBGQUlMIHRpbWluZy51bmxvYWRFdmVudEVuZCBzaG91
bGQgYmUgPj0gdGltaW5nLm5hdmlnYXRpb25TdGFydC4gV2FzIHVuZGVmaW5lZCAob2YgdHlwZSB1
bmRlZmluZWQpLgorRkFJTCB0aW1pbmcucmVkaXJlY3RTdGFydCBzaG91bGQgYmUgMCAob2YgdHlw
ZSBudW1iZXIpLiBXYXMgdW5kZWZpbmVkIChvZiB0eXBlIHVuZGVmaW5lZCkuCitGQUlMIHRpbWlu
Zy5yZWRpcmVjdEVuZCBzaG91bGQgYmUgMCAob2YgdHlwZSBudW1iZXIpLiBXYXMgdW5kZWZpbmVk
IChvZiB0eXBlIHVuZGVmaW5lZCkuCitGQUlMIG5hdmlnYXRpb24ucmVkaXJlY3RDb3VudCBzaG91
bGQgYmUgMCAob2YgdHlwZSBudW1iZXIpLiBXYXMgdW5kZWZpbmVkIChvZiB0eXBlIHVuZGVmaW5l
ZCkuCiBGQUlMIHRpbWluZy5mZXRjaFN0YXJ0IHNob3VsZCBiZSA+PSB0aW1pbmcubmF2aWdhdGlv
blN0YXJ0LiBXYXMgdW5kZWZpbmVkIChvZiB0eXBlIHVuZGVmaW5lZCkuCiBGQUlMIHRpbWluZy5k
b21haW5Mb29rdXBTdGFydCBzaG91bGQgYmUgMCAob2YgdHlwZSBudW1iZXIpLiBXYXMgdW5kZWZp
bmVkIChvZiB0eXBlIHVuZGVmaW5lZCkuCiBGQUlMIHRpbWluZy5kb21haW5Mb29rdXBFbmQgc2hv
dWxkIGJlIDAgKG9mIHR5cGUgbnVtYmVyKS4gV2FzIHVuZGVmaW5lZCAob2YgdHlwZSB1bmRlZmlu
ZWQpLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcwppbmRl
eCA2NjQ3Nzk4YTM0MTMzOTc5NWY3NTRmOWVmNTNiYjA2OWE3MTIzYjg4Li5hNGNjMWY0NzlhOWFl
ZmJkMWNhN2I4OWQ3NDk4MzZhZmFlOTM3ZjlhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcworKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcwpAQCAtMjE4LDYgKzIxOCwyNiBAQCBmdW5jdGlvbiBzaG91
bGRCZVVuZGVmaW5lZChfYSkKICAgICB0ZXN0RmFpbGVkKF9hICsgIiBzaG91bGQgYmUgdW5kZWZp
bmVkLiBXYXMgIiArIF9hdik7CiB9CiAKK2Z1bmN0aW9uIHNob3VsZEJlR3JlYXRlclRoYW5PckVx
dWFsKF9hLCBfYikgeworICAgIGlmICh0eXBlb2YgX2EgIT0gInN0cmluZyIgfHwgdHlwZW9mIF9i
ICE9ICJzdHJpbmciKQorICAgICAgICBkZWJ1ZygiV0FSTjogc2hvdWxkQmVHcmVhdGVyVGhhbk9y
RXF1YWwgZXhwZWN0cyBzdHJpbmcgYXJndW1lbnRzIik7CisKKyAgICB2YXIgZXhjZXB0aW9uOwor
ICAgIHZhciBfYXY7CisgICAgdHJ5IHsKKyAgICAgICAgX2F2ID0gZXZhbChfYSk7CisgICAgfSBj
YXRjaCAoZSkgeworICAgICAgICBleGNlcHRpb24gPSBlOworICAgIH0KKyAgICB2YXIgX2J2ID0g
ZXZhbChfYik7CisKKyAgICBpZiAoZXhjZXB0aW9uKQorICAgICAgICB0ZXN0RmFpbGVkKF9hICsg
IiBzaG91bGQgYmUgPj0gIiArIF9iICsgIi4gVGhyZXcgZXhjZXB0aW9uICIgKyBleGNlcHRpb24p
OworICAgIGVsc2UgaWYgKHR5cGVvZiBfYXYgPT0gInVuZGVmaW5lZCIgfHwgX2F2IDwgX2J2KQor
ICAgICAgICB0ZXN0RmFpbGVkKF9hICsgIiBzaG91bGQgYmUgPj0gIiArIF9iICsgIi4gV2FzICIg
KyBfYXYgKyAiIChvZiB0eXBlICIgKyB0eXBlb2YgX2F2ICsgIikuIik7CisgICAgZWxzZQorICAg
ICAgICB0ZXN0UGFzc2VkKF9hICsgIiBpcyA+PSAiICsgX2IpOworfQogCiBmdW5jdGlvbiBzaG91
bGRUaHJvdyhfYSwgX2UpCiB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21p
c2MvcmVzb3VyY2VzL3dlYnRpbWluZy1vbmUtcmVkaXJlY3QuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvbWlzYy9yZXNvdXJjZXMvd2VidGltaW5nLW9uZS1yZWRpcmVjdC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjJkZmQ4MDcwZmJkNzUyNDc3YmUzMDczNDBjZGI3ZDIyOTk1ZDM0NmYKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvcmVzb3VyY2VzL3dlYnRpbWlu
Zy1vbmUtcmVkaXJlY3QuaHRtbApAQCAtMCwwICsxLDI1IEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiBocmVmPSIuLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNz
cyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgV2ViIFRpbWluZyByZXBvcnRzIHJlZGlyZWN0Q291bnQgY29ycmVjdGx5IGFu
ZCBoYXMgcmVhc29uYWJsZSB2YWx1ZXMgZm9yIHJlZGlyZWN0U3RhcnQgYW5kIHJlZGlyZWN0Q291
bnQuIik7CisKK3ZhciBwZXJmb3JtYW5jZSA9IHdpbmRvdy53ZWJraXRQZXJmb3JtYW5jZSB8fCB7
fTsKK3ZhciBuYXZpZ2F0aW9uID0gcGVyZm9ybWFuY2UubmF2aWdhdGlvbiB8fCB7fTsKK3ZhciB0
aW1pbmcgPSBwZXJmb3JtYW5jZS50aW1pbmcgfHwge307CisKK3Nob3VsZEJlR3JlYXRlclRoYW5P
ckVxdWFsKCJ0aW1pbmcucmVkaXJlY3RTdGFydCIsICJ0aW1pbmcubmF2aWdhdGlvblN0YXJ0Iik7
CitzaG91bGRCZUdyZWF0ZXJUaGFuT3JFcXVhbCgidGltaW5nLnJlZGlyZWN0RW5kIiwgInRpbWlu
Zy5yZWRpcmVjdFN0YXJ0Iik7CitzaG91bGRCZSgibmF2aWdhdGlvbi5yZWRpcmVjdENvdW50Iiwg
IjEiKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9t
aXNjL3Jlc291cmNlcy93ZWJ0aW1pbmctdHdvLXJlZGlyZWN0cy5odG1sIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9taXNjL3Jlc291cmNlcy93ZWJ0aW1pbmctdHdvLXJlZGlyZWN0cy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmU0YmZhMDQ1OGY1NjhhNDJjOGVkMWUyYTA1ZTk4NDM5ODc2OTc2YmEKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvcmVzb3VyY2VzL3dlYnRp
bWluZy10d28tcmVkaXJlY3RzLmh0bWwKQEAgLTAsMCArMSwyNSBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJl
bD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1zdHls
ZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IFdlYiBUaW1pbmcgcmVwb3J0cyByZWRpcmVjdENvdW50IGNvcnJlY3Rs
eSBhbmQgaGFzIHJlYXNvbmFibGUgdmFsdWVzIGZvciByZWRpcmVjdFN0YXJ0IGFuZCByZWRpcmVj
dENvdW50LiIpOworCit2YXIgcGVyZm9ybWFuY2UgPSB3aW5kb3cud2Via2l0UGVyZm9ybWFuY2Ug
fHwge307Cit2YXIgbmF2aWdhdGlvbiA9IHBlcmZvcm1hbmNlLm5hdmlnYXRpb24gfHwge307Cit2
YXIgdGltaW5nID0gcGVyZm9ybWFuY2UudGltaW5nIHx8IHt9OworCitzaG91bGRCZUdyZWF0ZXJU
aGFuT3JFcXVhbCgidGltaW5nLnJlZGlyZWN0U3RhcnQiLCAidGltaW5nLm5hdmlnYXRpb25TdGFy
dCIpOworc2hvdWxkQmVHcmVhdGVyVGhhbk9yRXF1YWwoInRpbWluZy5yZWRpcmVjdEVuZCIsICJ0
aW1pbmcucmVkaXJlY3RTdGFydCIpOworc2hvdWxkQmUoIm5hdmlnYXRpb24ucmVkaXJlY3RDb3Vu
dCIsICIyIik7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvbWlzYy93ZWJ0aW1pbmctb25lLXJlZGlyZWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbWlzYy93ZWJ0aW1pbmctb25lLXJlZGlyZWN0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi40NWRiODk5NDM5NTdjNmZmNzAwOGEyZDZiMmI3YjRkZDcyMGNlOGZjCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL3dlYnRpbWluZy1vbmUtcmVk
aXJlY3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBXZWIgVGltaW5nIHJlcG9ydHMgcmVkaXJlY3RDb3VudCBjb3JyZWN0bHkgYW5kIGhhcyByZWFz
b25hYmxlIHZhbHVlcyBmb3IgcmVkaXJlY3RTdGFydCBhbmQgcmVkaXJlY3RDb3VudC4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0ZBSUwgdGltaW5nLnJlZGlyZWN0U3RhcnQgc2hv
dWxkIGJlID49IHRpbWluZy5uYXZpZ2F0aW9uU3RhcnQuIFdhcyB1bmRlZmluZWQgKG9mIHR5cGUg
dW5kZWZpbmVkKS4KK0ZBSUwgdGltaW5nLnJlZGlyZWN0RW5kIHNob3VsZCBiZSA+PSB0aW1pbmcu
cmVkaXJlY3RTdGFydC4gV2FzIHVuZGVmaW5lZCAob2YgdHlwZSB1bmRlZmluZWQpLgorRkFJTCBu
YXZpZ2F0aW9uLnJlZGlyZWN0Q291bnQgc2hvdWxkIGJlIDEgKG9mIHR5cGUgbnVtYmVyKS4gV2Fz
IHVuZGVmaW5lZCAob2YgdHlwZSB1bmRlZmluZWQpLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvbWlzYy93ZWJ0aW1pbmctb25lLXJlZGlyZWN0LnBocCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvbWlzYy93ZWJ0aW1pbmctb25lLXJlZGlyZWN0LnBocApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZTM5MzFj
NzBkNDdkZDZhNmE5MzAyNjhlNmNjMDQyMTg2MGE1YzU3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL3dlYnRpbWluZy1vbmUtcmVkaXJlY3QucGhwCkBAIC0w
LDAgKzEsNCBAQAorPD9waHAKKyAgaGVhZGVyKCdMb2NhdGlvbjogcmVzb3VyY2VzL3dlYnRpbWlu
Zy1vbmUtcmVkaXJlY3QuaHRtbCcpOworICBoZWFkZXIoJ0hUVFAvMS4wIDMwMiBGb3VuZCcpOwor
Pz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy93ZWJ0aW1pbmctdHdv
LXJlZGlyZWN0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2Mvd2Vi
dGltaW5nLXR3by1yZWRpcmVjdHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJkYzQxZTY0NDUw
MDRhZmU2MDJjOWE1NWVhYjRkZGQ5YWNjYjJmNDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL21pc2Mvd2VidGltaW5nLXR3by1yZWRpcmVjdHMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTIgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBXZWIgVGltaW5nIHJlcG9y
dHMgcmVkaXJlY3RDb3VudCBjb3JyZWN0bHkgYW5kIGhhcyByZWFzb25hYmxlIHZhbHVlcyBmb3Ig
cmVkaXJlY3RTdGFydCBhbmQgcmVkaXJlY3RDb3VudC4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCisKK0ZBSUwgdGltaW5nLnJlZGlyZWN0U3RhcnQgc2hvdWxkIGJlID49IHRpbWluZy5u
YXZpZ2F0aW9uU3RhcnQuIFdhcyB1bmRlZmluZWQgKG9mIHR5cGUgdW5kZWZpbmVkKS4KK0ZBSUwg
dGltaW5nLnJlZGlyZWN0RW5kIHNob3VsZCBiZSA+PSB0aW1pbmcucmVkaXJlY3RTdGFydC4gV2Fz
IHVuZGVmaW5lZCAob2YgdHlwZSB1bmRlZmluZWQpLgorRkFJTCBuYXZpZ2F0aW9uLnJlZGlyZWN0
Q291bnQgc2hvdWxkIGJlIDIgKG9mIHR5cGUgbnVtYmVyKS4gV2FzIHVuZGVmaW5lZCAob2YgdHlw
ZSB1bmRlZmluZWQpLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy93ZWJ0aW1p
bmctdHdvLXJlZGlyZWN0cy5waHAgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2Mvd2VidGlt
aW5nLXR3by1yZWRpcmVjdHMucGhwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhkZjZiYWNlNTY4NGRkYmZkMGQyYmU2
MTRjYmE4YmQxZGFmN2EwZGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL21pc2Mvd2VidGltaW5nLXR3by1yZWRpcmVjdHMucGhwCkBAIC0wLDAgKzEsNCBAQAorPD9w
aHAKKyAgaGVhZGVyKCdMb2NhdGlvbjogLi4vcmVzb3VyY2VzL3JlZGlyZWN0LnBocD91cmw9Li4v
bWlzYy9yZXNvdXJjZXMvd2VidGltaW5nLXR3by1yZWRpcmVjdHMuaHRtbCcpOworICBoZWFkZXIo
J0hUVFAvMS4wIDMwMiBGb3VuZCcpOworPz4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9n
IGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODBjZjU1OWI3MmM2MGJlYTU1MDMzMzM4ZDc4MDg5
ZjM2Nzg5NzA1ZS4uNmE2ODAzOTI1MTI4YTgxYzZhOGQzMzUwMmZhNWMxNmUxNDdhZmNiNyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNSBAQAorMjAxMC0wNy0xMSAgVG9ueSBHZW50aWxjb3JlICA8dG9ueWdAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEZpc2hlci4KKworICAgICAgICBJbXBs
ZW1lbnQgV2ViIFRpbWluZyByZWRpcmVjdFN0YXJ0LCByZWRpcmVjdEVuZCwgcmVkaXJlY3RDb3Vu
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDIwMTgK
KworICAgICAgICBUZXN0czogaHR0cC90ZXN0cy9taXNjL3dlYnRpbWluZy1vbmUtcmVkaXJlY3Qu
cGhwCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL21pc2Mvd2VidGltaW5nLXR3by1yZWRpcmVj
dHMucGhwCisKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXJUeXBlcy5oOgorICAgICAgICAo
V2ViQ29yZTo6RnJhbWVMb2FkVGltZWxpbmU6OkZyYW1lTG9hZFRpbWVsaW5lKToKKyAgICAgICAg
KiBsb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1haW5S
ZXNvdXJjZUxvYWRlcjo6d2lsbFNlbmRSZXF1ZXN0KTogVGhpcyBtZXRob2QgaXMgY2FsbGVkIGZv
ciBlYWNoIHJlcXVlc3QgKGluY2x1ZGluZyBzZXJ2ZXIgcmVkaXJlY3RzKS4gZmV0Y2hTdGFydCBp
cyB1cGRhdGVkIHRvIHRoZSBjdXJyZW50IHRpbWUgb24gZWFjaCBpbnZvY2F0aW9uIHNvIHRoYXQg
aXQgcmVwcmVzZW50cyBmZXRjaGluZyBvZiB0aGUgZmluYWwgZG9jdW1lbnQgYW5kIGRvZXNuJ3Qg
aW5jbHVkZSByZWRpcmVjdCB0aW1lLiBGb3IgZWFjaCByZWRpcmVjdCwgcmVkaXJlY3RDb3VudCBp
cyBpbmNyZW1lbnRlZCBhbmQgcmVkaXJlY3RTdGFydCB0byByZWRpcmVjdEVuZCBtZWFzdXJlcyB0
aGUgY3VtdWxhdGl2ZSBmZXRjaCB0aW1lIGZvciBhbGwgcmVkaXJlY3RzLgorICAgICAgICAqIHBh
Z2UvTmF2aWdhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0aW9uOjpyZWRpcmVj
dENvdW50KTogaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViVGltaW5nLyNudC1yZWRp
cmVjdC1jb3VudAorICAgICAgICAqIHBhZ2UvVGltaW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlRpbWluZzo6cmVkaXJlY3RTdGFydCk6IGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dl
YlRpbWluZy8jbnQtcmVkaXJlY3Qtc3RhcnQKKyAgICAgICAgKFdlYkNvcmU6OlRpbWluZzo6cmVk
aXJlY3RFbmQpOiBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJUaW1pbmcvI250LXJl
ZGlyZWN0LWVuZAorICAgICAgICAqIHBhZ2UvVGltaW5nLmg6CisgICAgICAgICogcGFnZS9UaW1p
bmcuaWRsOgorCiAyMDEwLTA3LTE0ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUu
Y29tPgogCiAgICAgICAgIE9uZSBtb3JlIHVucmV2aWV3ZWQgYnVpbGQgZml4IGZvciByNjMzMTku
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlclR5cGVzLmggYi9XZWJDb3Jl
L2xvYWRlci9GcmFtZUxvYWRlclR5cGVzLmgKaW5kZXggMWVkMjM1M2RkZTc1MTUxNDViN2QxNmI4
NGM5NDY3NDljYTY5Mjg5NC4uYWU2NzFjZTliNTBkMWY2OGMzZTRkM2JiNWU2ZDU0YzY4MGM2Yjcy
NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJUeXBlcy5oCisrKyBiL1dl
YkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyVHlwZXMuaApAQCAtNjAsMTkgKzYwLDI2IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgRnJhbWVMb2FkVHlwZUJhY2tXTUxEZWNrTm90QWNjZXNz
aWJsZQogICAgIH07CiAKKyAgICAvLyBGSVhNRTogTW92ZSB0aGlzIHRvIGEgbmV3IGhlYWRlciBm
aWxlLgogICAgIHN0cnVjdCBGcmFtZUxvYWRUaW1lbGluZSB7CiAgICAgICAgIEZyYW1lTG9hZFRp
bWVsaW5lKCkKLSAgICAgICAgICAgIDogbmF2aWdhdGlvblN0YXJ0KDApCi0gICAgICAgICAgICAs
IHVubG9hZEV2ZW50RW5kKDApCi0gICAgICAgICAgICAsIGZldGNoU3RhcnQoMCkKLSAgICAgICAg
ICAgICwgcmVzcG9uc2VFbmQoMCkKLSAgICAgICAgICAgICwgbG9hZEV2ZW50U3RhcnQoMCkKLSAg
ICAgICAgICAgICwgbG9hZEV2ZW50RW5kKDApCisgICAgICAgICAgICA6IG5hdmlnYXRpb25TdGFy
dCgwLjApCisgICAgICAgICAgICAsIHVubG9hZEV2ZW50RW5kKDAuMCkKKyAgICAgICAgICAgICwg
cmVkaXJlY3RTdGFydCgwLjApCisgICAgICAgICAgICAsIHJlZGlyZWN0RW5kKDAuMCkKKyAgICAg
ICAgICAgICwgcmVkaXJlY3RDb3VudCgwKQorICAgICAgICAgICAgLCBmZXRjaFN0YXJ0KDAuMCkK
KyAgICAgICAgICAgICwgcmVzcG9uc2VFbmQoMC4wKQorICAgICAgICAgICAgLCBsb2FkRXZlbnRT
dGFydCgwLjApCisgICAgICAgICAgICAsIGxvYWRFdmVudEVuZCgwLjApCiAgICAgICAgIHsKICAg
ICAgICAgfQogCiAgICAgICAgIGRvdWJsZSBuYXZpZ2F0aW9uU3RhcnQ7CiAgICAgICAgIGRvdWJs
ZSB1bmxvYWRFdmVudEVuZDsKKyAgICAgICAgZG91YmxlIHJlZGlyZWN0U3RhcnQ7CisgICAgICAg
IGRvdWJsZSByZWRpcmVjdEVuZDsKKyAgICAgICAgc2hvcnQgcmVkaXJlY3RDb3VudDsKICAgICAg
ICAgZG91YmxlIGZldGNoU3RhcnQ7CiAgICAgICAgIGRvdWJsZSByZXNwb25zZUVuZDsKICAgICAg
ICAgZG91YmxlIGxvYWRFdmVudFN0YXJ0OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvTWFp
blJlc291cmNlTG9hZGVyLmNwcCBiL1dlYkNvcmUvbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5j
cHAKaW5kZXggMWRkZTgxYzU1ZWI4NjFkZmY0NDcxMWVhOTQzMWFhZjM0YjQxOTEwNi4uOTdmNzg5
NWZhYzIwODRkNmI1NmM2NjU0MTg3YjMxOTNkOTY0NTdlMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9s
b2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcAorKysgYi9XZWJDb3JlL2xvYWRlci9NYWluUmVz
b3VyY2VMb2FkZXIuY3BwCkBAIC0xNTgsOCArMTU4LDE1IEBAIHZvaWQgTWFpblJlc291cmNlTG9h
ZGVyOjp3aWxsU2VuZFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiBuZXdSZXF1ZXN0LCBjb25zdCBS
ZXNvCiAgICAgLy8gVGhlIGFkZGl0aW9uYWwgcHJvY2Vzc2luZyBjYW4gZG8gYW55dGhpbmcgaW5j
bHVkaW5nIHBvc3NpYmx5IHJlbW92aW5nIHRoZSBsYXN0CiAgICAgLy8gcmVmZXJlbmNlIHRvIHRo
aXMgb2JqZWN0OyBvbmUgZXhhbXBsZSBvZiB0aGlzIGlzIDMyNjYyMTYuCiAgICAgUmVmUHRyPE1h
aW5SZXNvdXJjZUxvYWRlcj4gcHJvdGVjdCh0aGlzKTsKLSAgICAKLSAgICBmcmFtZUxvYWRlcigp
LT5mcmFtZUxvYWRUaW1lbGluZSgpLT5mZXRjaFN0YXJ0ID0gY3VycmVudFRpbWUoKTsKKworICAg
IEZyYW1lTG9hZFRpbWVsaW5lKiBmcmFtZUxvYWRUaW1lbGluZSA9IGZyYW1lTG9hZGVyKCktPmZy
YW1lTG9hZFRpbWVsaW5lKCk7CisgICAgZG91YmxlIGZldGNoVGltZSA9IGN1cnJlbnRUaW1lKCk7
CisgICAgaWYgKGRvdWJsZSBmZXRjaFN0YXJ0ID0gZnJhbWVMb2FkVGltZWxpbmUtPmZldGNoU3Rh
cnQpIHsKKyAgICAgICAgaWYgKCFmcmFtZUxvYWRUaW1lbGluZS0+cmVkaXJlY3RDb3VudCsrKQor
ICAgICAgICAgICAgZnJhbWVMb2FkVGltZWxpbmUtPnJlZGlyZWN0U3RhcnQgPSBmZXRjaFN0YXJ0
OworICAgICAgICBmcmFtZUxvYWRUaW1lbGluZS0+cmVkaXJlY3RFbmQgPSBmZXRjaFRpbWU7Cisg
ICAgfQorICAgIGZyYW1lTG9hZFRpbWVsaW5lLT5mZXRjaFN0YXJ0ID0gZmV0Y2hUaW1lOwogCiAg
ICAgLy8gVXBkYXRlIGNvb2tpZSBwb2xpY3kgYmFzZSBVUkwgYXMgVVJMIGNoYW5nZXMsIGV4Y2Vw
dCBmb3Igc3ViZnJhbWVzLCB3aGljaCB1c2UgdGhlCiAgICAgLy8gVVJMIG9mIHRoZSBtYWluIGZy
YW1lIHdoaWNoIGRvZXNuJ3QgY2hhbmdlIHdoZW4gd2UgcmVkaXJlY3QuCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BhZ2UvTmF2aWdhdGlvbi5jcHAgYi9XZWJDb3JlL3BhZ2UvTmF2aWdhdGlvbi5jcHAK
aW5kZXggZWZkYTkyNDNiZTcwNmI3MWE3M2IyZmJhOWVjNTcxMzFlNGUyMTE3Mi4uMTE0ZTY5Zjhj
ZGQ0N2RhZWY3OGM4NTlkYzg4MGVmOWEzMWM5ODNlMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdl
L05hdmlnYXRpb24uY3BwCisrKyBiL1dlYkNvcmUvcGFnZS9OYXZpZ2F0aW9uLmNwcApAQCAtNzks
NyArNzksNyBAQCB1bnNpZ25lZCBzaG9ydCBOYXZpZ2F0aW9uOjpyZWRpcmVjdENvdW50KCkgY29u
c3QKICAgICBpZiAoIW1fZnJhbWUpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgcmV0dXJuIDA7
IC8vIEZJWE1FCisgICAgcmV0dXJuIG1fZnJhbWUtPmxvYWRlcigpLT5mcmFtZUxvYWRUaW1lbGlu
ZSgpLT5yZWRpcmVjdENvdW50OwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BhZ2UvVGltaW5nLmNwcCBiL1dlYkNvcmUvcGFnZS9UaW1pbmcuY3BwCmlu
ZGV4IDJlZjQ0NTBhYTg2OTgxMTBjNzJkNjEwZDIzODkyNzMxYThmMTY3ZjguLjU0YTRjYzlhN2U0
Mjg4NDM1MWI1ZTEwMDlkNmQ2YzM3MWMwMWIxNGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9U
aW1pbmcuY3BwCisrKyBiL1dlYkNvcmUvcGFnZS9UaW1pbmcuY3BwCkBAIC03MCw2ICs3MCwyMiBA
QCB1bnNpZ25lZCBsb25nIGxvbmcgVGltaW5nOjp1bmxvYWRFdmVudEVuZCgpIGNvbnN0CiAKICAg
ICByZXR1cm4gdG9JbnRlZ2VyTWlsbGlzZWNvbmRzKG1fZnJhbWUtPmxvYWRlcigpLT5mcmFtZUxv
YWRUaW1lbGluZSgpLT51bmxvYWRFdmVudEVuZCk7CiB9CisgICAgCit1bnNpZ25lZCBsb25nIGxv
bmcgVGltaW5nOjpyZWRpcmVjdFN0YXJ0KCkgY29uc3QKK3sKKyAgICBpZiAoIW1fZnJhbWUpCisg
ICAgICAgIHJldHVybiAwOworICAgICAgICAKKyAgICByZXR1cm4gdG9JbnRlZ2VyTWlsbGlzZWNv
bmRzKG1fZnJhbWUtPmxvYWRlcigpLT5mcmFtZUxvYWRUaW1lbGluZSgpLT5yZWRpcmVjdFN0YXJ0
KTsKK30KKyAgICAKK3Vuc2lnbmVkIGxvbmcgbG9uZyBUaW1pbmc6OnJlZGlyZWN0RW5kKCkgY29u
c3QKK3sKKyAgICBpZiAoIW1fZnJhbWUpCisgICAgICAgIHJldHVybiAwOworICAgICAgICAKKyAg
ICByZXR1cm4gdG9JbnRlZ2VyTWlsbGlzZWNvbmRzKG1fZnJhbWUtPmxvYWRlcigpLT5mcmFtZUxv
YWRUaW1lbGluZSgpLT5yZWRpcmVjdEVuZCk7Cit9CiAKIHVuc2lnbmVkIGxvbmcgbG9uZyBUaW1p
bmc6OmZldGNoU3RhcnQoKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1RpbWlu
Zy5oIGIvV2ViQ29yZS9wYWdlL1RpbWluZy5oCmluZGV4IGNkYzliMGRkZGVjNDcxNGNlNGQ0NmUy
MDlmY2NmMDYzOTc4NzFmNDcuLjkzYTM4MDRhNzdkZmU3ODViNjJlZWRhOTBmZWIyNzA2MDllNmJm
ZTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9UaW1pbmcuaAorKysgYi9XZWJDb3JlL3BhZ2Uv
VGltaW5nLmgKQEAgLTUwLDYgKzUwLDggQEAgcHVibGljOgogCiAgICAgdW5zaWduZWQgbG9uZyBs
b25nIG5hdmlnYXRpb25TdGFydCgpIGNvbnN0OwogICAgIHVuc2lnbmVkIGxvbmcgbG9uZyB1bmxv
YWRFdmVudEVuZCgpIGNvbnN0OworICAgIHVuc2lnbmVkIGxvbmcgbG9uZyByZWRpcmVjdFN0YXJ0
KCkgY29uc3Q7CisgICAgdW5zaWduZWQgbG9uZyBsb25nIHJlZGlyZWN0RW5kKCkgY29uc3Q7CiAg
ICAgdW5zaWduZWQgbG9uZyBsb25nIGZldGNoU3RhcnQoKSBjb25zdDsKICAgICB1bnNpZ25lZCBs
b25nIGxvbmcgZG9tYWluTG9va3VwU3RhcnQoKSBjb25zdDsKICAgICB1bnNpZ25lZCBsb25nIGxv
bmcgZG9tYWluTG9va3VwRW5kKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvVGlt
aW5nLmlkbCBiL1dlYkNvcmUvcGFnZS9UaW1pbmcuaWRsCmluZGV4IDU4ODIyZTBjZTJjZGVmMzhh
ZDZmOTEzYmJiMmY3NmRiOWJiZjg4NDcuLmU3ZTQ2Y2M0Y2EwZWZjZmViMzBiODI3OTdhZTBlNWVk
OTEwZTNjZDcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9UaW1pbmcuaWRsCisrKyBiL1dlYkNv
cmUvcGFnZS9UaW1pbmcuaWRsCkBAIC0zMiwxMSArMzIsMTAgQEAgbW9kdWxlIHdpbmRvdyB7CiAK
ICAgICAvLyBTZWU6IGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYlRpbWluZy8KICAg
ICBpbnRlcmZhY2UgW0NvbmRpdGlvbmFsPVdFQl9USU1JTkcsIE9taXRDb25zdHJ1Y3Rvcl0gVGlt
aW5nIHsKLSAgICAgICAgLy8gRklYTUU6IEltcGxlbWVudCByZW1haW5kZXIgb2YgaW50ZXJmYWNl
LgogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsb25nIG5hdmlnYXRp
b25TdGFydDsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbG9uZyB1
bmxvYWRFdmVudEVuZDsKLSAgICAgICAgLy8gcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxv
bmcgbG9uZyByZWRpcmVjdFN0YXJ0OwotICAgICAgICAvLyByZWFkb25seSBhdHRyaWJ1dGUgdW5z
aWduZWQgbG9uZyBsb25nIHJlZGlyZWN0RW5kOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUg
dW5zaWduZWQgbG9uZyBsb25nIHJlZGlyZWN0U3RhcnQ7CisgICAgICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSB1bnNpZ25lZCBsb25nIGxvbmcgcmVkaXJlY3RFbmQ7CiAgICAgICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxvbmcgZmV0Y2hTdGFydDsKICAgICAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbG9uZyBkb21haW5Mb29rdXBTdGFydDsKICAgICAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbG9uZyBkb21haW5Mb29rdXBFbmQ7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>