<?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>125954</bug_id>
          
          <creation_ts>2013-12-18 14:56:03 -0800</creation_ts>
          <short_desc>[MSE][Mac] Add AVSampleBufferRendererSynchronizer support.</short_desc>
          <delta_ts>2013-12-18 22:59:07 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>glenn</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>961123</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-12-18 14:56:03 -0800</bug_when>
    <thetext>[MSE][Mac] Add AVSampleBufferRendererSynchronizer support.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>961125</commentid>
    <comment_count>1</comment_count>
      <attachid>219575</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-12-18 15:00:19 -0800</bug_when>
    <thetext>Created attachment 219575
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>961140</commentid>
    <comment_count>2</comment_count>
      <attachid>219575</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2013-12-18 15:19:29 -0800</bug_when>
    <thetext>Comment on attachment 219575
Patch

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

&gt; Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:279
&gt; +    return ![m_synchronizer rate];

Why not use m_playing?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>961189</commentid>
    <comment_count>3</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-12-18 17:18:09 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 219575 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=219575&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:279
&gt; &gt; +    return ![m_synchronizer rate];
&gt; 
&gt; Why not use m_playing?

Good point!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>961192</commentid>
    <comment_count>4</comment_count>
      <attachid>219593</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-12-18 17:21:54 -0800</bug_when>
    <thetext>Created attachment 219593
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>961206</commentid>
    <comment_count>5</comment_count>
      <attachid>219593</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-12-18 17:59:29 -0800</bug_when>
    <thetext>Comment on attachment 219593
Patch for landing

Attachment 219593 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/46878151</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>961207</commentid>
    <comment_count>6</comment_count>
      <attachid>219597</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-12-18 17:59:54 -0800</bug_when>
    <thetext>Created attachment 219597
Patch for landing

Fixed missing semicolon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>961210</commentid>
    <comment_count>7</comment_count>
      <attachid>219597</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-12-18 18:04:27 -0800</bug_when>
    <thetext>Comment on attachment 219597
Patch for landing

Attachment 219597 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/47508153</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>961234</commentid>
    <comment_count>8</comment_count>
      <attachid>219597</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-12-18 18:54:06 -0800</bug_when>
    <thetext>Comment on attachment 219597
Patch for landing

Attachment 219597 did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/44318550</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>961252</commentid>
    <comment_count>9</comment_count>
      <attachid>219608</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-12-18 20:20:34 -0800</bug_when>
    <thetext>Created attachment 219608
Patch for landing

Removed the LOG statement which was causing problems in release builds.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>961261</commentid>
    <comment_count>10</comment_count>
      <attachid>219608</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-12-18 20:58:36 -0800</bug_when>
    <thetext>Comment on attachment 219608
Patch for landing

Attachment 219608 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/50088499</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>961262</commentid>
    <comment_count>11</comment_count>
      <attachid>219612</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-12-18 21:18:25 -0800</bug_when>
    <thetext>Created attachment 219612
Patch for landing

Add SOFT_LINK macros to new CoreMedia methods.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>961283</commentid>
    <comment_count>12</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-12-18 22:59:07 -0800</bug_when>
    <thetext>Committed r160825: &lt;http://trac.webkit.org/changeset/160825&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>219575</attachid>
            <date>2013-12-18 15:00:19 -0800</date>
            <delta_ts>2013-12-18 15:19:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-125954-20131218150019.patch</filename>
            <type>text/plain</type>
            <size>17022</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwNzU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmZmNzMzZDMzYTRlMDJl
NmU3YjQyMGUyN2Q2NzNiNmExODM5OGM1ZS4uNWRhMTNjM2M4YjBkNmRhODQ4MDMwYWM4MmQ2NTNh
NDM2MDQyYzdiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEzLTEyLTE4ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtNU0VdW01hY10gQWRkIEFW
U2FtcGxlQnVmZmVyUmVuZGVyZXJTeW5jaHJvbml6ZXIgc3VwcG9ydC4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNTk1NAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluc3RlYWQgb2Ygc2xhdmluZyBhbGwg
dGhlIHZhcmlvdXMgcmVuZGVyZXIncyBDTVRpbWViYXNlcyB0byBvbmUgbWFzdGVyIHRpbWViYXNl
LAorICAgICAgICB1c2UgQVZTYW1wbGVCdWZmZXJSZW5kZXJTeW5jaHJvbml6ZXIsIHdoaWNoIGVz
c2VudGlhbGx5IGRvZXMgdGhlIHNhbWUgdGhpbmcuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9i
akMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRp
YVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW06CisgICAgICAgIChXZWJDb3JlOjpD
TVRpbWViYXNlRWZmZWN0aXZlUmF0ZUNoYW5nZWRDYWxsYmFjayk6IEFkZGVkOyBjYWxsIGVmZmVj
dGl2ZVJhdGVDaGFuZ2VkKCkuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVN
ZWRpYVNvdXJjZUFWRk9iakM6Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQyk6
IFNldCB1cAorICAgICAgICAgICAgdGhlIHN5bmNocm9uaXplciBhbmQgYWxsIHRoZSBvYnNlcnZl
cnMuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9i
akM6On5NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMpOiBUZWFyIGRvd24KKyAg
ICAgICAgICAgIHRoZSBzYW1lLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRl
TWVkaWFTb3VyY2VBVkZPYmpDOjppc0F2YWlsYWJsZSk6IFJlcXVpcmUgdGhlCisgICAgICAgICAg
ICBBVlNhbXBsZUJ1ZmZlclJlbmRlclN5bmNocm9uaXplciBjbGFzcy4KKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6cGxheUludGVybmFsKTog
Q29udmVydCBDbG9jayAtPiBTeW5jaHJvbml6ZXIuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBs
YXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnBhdXNlSW50ZXJuYWwpOiBEaXR0by4KKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6cGF1
c2VkKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVNv
dXJjZUFWRk9iakM6OmN1cnJlbnRUaW1lRG91YmxlKTogRGl0dG8uCisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnNlZWtJbnRlcm5hbCk6IERp
dHRvLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZP
YmpDOjpzZXRSYXRlRG91YmxlKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXll
clByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OmVuc3VyZUxheWVyKTogRGl0dG8uCisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OmRlc3Ryb3lM
YXllcik6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFT
b3VyY2VBVkZPYmpDOjplZmZlY3RpdmVSYXRlQ2hhbmdlZCk6IERpdHRvLgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjphZGREaXNwbGF5TGF5
ZXIpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291
cmNlQVZGT2JqQzo6cmVtb3ZlRGlzcGxheUxheWVyKTogRGl0dG8uCisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OmFkZEF1ZGlvUmVuZGVyZXIp
OiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNl
QVZGT2JqQzo6cmVtb3ZlQXVkaW9SZW5kZXJlcik6IERpdHRvLgorCisgICAgICAgIERyaXZlLWJ5
IGZpeDsgYXVkaW8gc2FtcGxlcyBjYW4ndCBiZSBzdWJkaXZpZGVkLCBhbmQgdmlkZW8gc2FtcGxl
cyBhcmUKKyAgICAgICAgcmFyZWx5IGNvbWJpbmVkLCBzbyByZW1vdmUgdGhlIGNhbGwgdG8gQ01T
YW1wbGVCdWZmZXJDYWxsRm9yRWFjaFNhbXBsZToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbToKKyAgICAg
ICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpkaWRQcm92aWRlTWVkaWFE
YXRhRm9yVHJhY2tJRCk6CisKIDIwMTMtMTItMTcgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBs
ZS5jb20+CiAKICAgICAgICAgW01TRV1bTWFjXSBBZGQgQVZTYW1wbGVCdWZmZXJBdWRpb1JlbmRl
cmVyIHN1cHBvcnQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01l
ZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5oCmluZGV4IDQ2OTkzZDA0MjdiZmI3
NmJlMGZmMzZmYmU2MTRhNWVmZTJiZDNlNTQuLjIwMTgxOGU5MmY2YTc4ZjEzM2JiMmVlMjE0ZWRi
Y2EyZjdlOTExY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpj
L01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5oCkBAIC0zNiw2ICszNiw3IEBA
CiBPQkpDX0NMQVNTIEFWQXNzZXQ7CiBPQkpDX0NMQVNTIEFWU2FtcGxlQnVmZmVyQXVkaW9SZW5k
ZXJlcjsKIE9CSkNfQ0xBU1MgQVZTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXI7CitPQkpDX0NMQVNT
IEFWU2FtcGxlQnVmZmVyUmVuZGVyU3luY2hyb25pemVyOwogCiB0eXBlZGVmIHN0cnVjdCBPcGFx
dWVDTVRpbWViYXNlKiBDTVRpbWViYXNlUmVmOwogCkBAIC02Nyw2ICs2OCw4IEBAIHB1YmxpYzoK
ICAgICB2b2lkIHNldEhhc0F2YWlsYWJsZVZpZGVvRnJhbWUoYm9vbCBmbGFnKSB7IG1faGFzQXZh
aWxhYmxlVmlkZW9GcmFtZSA9IGZsYWc7IH0KICAgICB2b2lkIGR1cmF0aW9uQ2hhbmdlZCgpOwog
CisgICAgdm9pZCBlZmZlY3RpdmVSYXRlQ2hhbmdlZCgpOworCiBwcml2YXRlOgogICAgIC8vIE1l
ZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZQogICAgIHZpcnR1YWwgdm9pZCBsb2FkKGNvbnN0IFN0
cmluZyYgdXJsKSBPVkVSUklERTsKQEAgLTE2MSw5ICsxNjQsMTIgQEAgcHJpdmF0ZToKICAgICBS
ZXRhaW5QdHI8QVZBc3NldD4gbV9hc3NldDsKICAgICBSZXRhaW5QdHI8QVZTYW1wbGVCdWZmZXJE
aXNwbGF5TGF5ZXI+IG1fc2FtcGxlQnVmZmVyRGlzcGxheUxheWVyOwogICAgIFZlY3RvcjxSZXRh
aW5QdHI8QVZTYW1wbGVCdWZmZXJBdWRpb1JlbmRlcmVyPj4gbV9zYW1wbGVCdWZmZXJBdWRpb1Jl
bmRlcmVyczsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8UGxhdGZvcm1DbG9ja0NNPiBtX2Nsb2NrOwor
ICAgIFJldGFpblB0cjxBVlNhbXBsZUJ1ZmZlclJlbmRlclN5bmNocm9uaXplcj4gbV9zeW5jaHJv
bml6ZXI7CisgICAgUmV0YWluUHRyPGlkPiBtX3RpbWVKdW1wZWRPYnNlcnZlcjsKICAgICBNZWRp
YVBsYXllcjo6TmV0d29ya1N0YXRlIG1fbmV0d29ya1N0YXRlOwogICAgIE1lZGlhUGxheWVyOjpS
ZWFkeVN0YXRlIG1fcmVhZHlTdGF0ZTsKKyAgICBkb3VibGUgbV9yYXRlOworICAgIGJvb2wgbV9w
bGF5aW5nOwogICAgIGJvb2wgbV9zZWVraW5nOwogICAgIG11dGFibGUgYm9vbCBtX2xvYWRpbmdQ
cm9ncmVzc2VkOwogICAgIGJvb2wgbV9oYXNBdmFpbGFibGVWaWRlb0ZyYW1lOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVk
aWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFT
b3VyY2VBVkZPYmpDLm1tCmluZGV4IDAyYmEyNDZlZjUxMWNhODcxZGVkZDNmMDUwM2VjMjlhNzA4
ZGNmZTIuLjEyZGNmMTg5NDU2M2M3ODU4YmI4ZmQxNmQ1ZDgyNTE2N2Y4MGExMzQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01l
ZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVN
ZWRpYVNvdXJjZUFWRk9iakMubW0KQEAgLTI5LDcgKzI5LDkgQEAKICNpZiBFTkFCTEUoTUVESUFf
U09VUkNFKSAmJiBVU0UoQVZGT1VOREFUSU9OKQogCiAjaW1wb3J0ICJIVE1MTWVkaWFTb3VyY2Uu
aCIKKyNpbXBvcnQgIkxvZ2dpbmcuaCIKICNpbXBvcnQgIk1lZGlhU291cmNlUHJpdmF0ZUFWRk9i
akMuaCIKKyNpbXBvcnQgIk1lZGlhVGltZU1hYy5oIgogI2ltcG9ydCAiUGxhdGZvcm1DbG9ja0NN
LmgiCiAjaW1wb3J0ICJTb2Z0TGlua2luZy5oIgogI2ltcG9ydCA8QVZGb3VuZGF0aW9uL0FWU2Ft
cGxlQnVmZmVyRGlzcGxheUxheWVyLmg+CkBAIC01MCwxMCArNTIsMTkgQEAgU09GVF9MSU5LX0NM
QVNTX09QVElPTkFMKEFWRm91bmRhdGlvbiwgQVZBc3NldCkKIFNPRlRfTElOS19DTEFTU19PUFRJ
T05BTChBVkZvdW5kYXRpb24sIEFWVVJMQXNzZXQpCiBTT0ZUX0xJTktfQ0xBU1NfT1BUSU9OQUwo
QVZGb3VuZGF0aW9uLCBBVlNhbXBsZUJ1ZmZlckF1ZGlvUmVuZGVyZXIpCiBTT0ZUX0xJTktfQ0xB
U1NfT1BUSU9OQUwoQVZGb3VuZGF0aW9uLCBBVlNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcikKK1NP
RlRfTElOS19DTEFTU19PUFRJT05BTChBVkZvdW5kYXRpb24sIEFWU2FtcGxlQnVmZmVyUmVuZGVy
U3luY2hyb25pemVyKQogU09GVF9MSU5LX0NMQVNTX09QVElPTkFMKEFWRm91bmRhdGlvbiwgQVZT
dHJlYW1EYXRhUGFyc2VyKQogU09GVF9MSU5LX0NMQVNTX09QVElPTkFMKEFWRm91bmRhdGlvbiwg
QVZWaWRlb1BlcmZvcm1hbmNlTWV0cmljcykKIAotU09GVF9MSU5LKENvcmVNZWRpYSwgRmlnUmVh
ZE9ubHlUaW1lYmFzZVNldFRhcmdldFRpbWViYXNlLCBPU1N0YXR1cywgKENNVGltZWJhc2VSZWYg
dGltZWJhc2UsIENNVGltZWJhc2VSZWYgbmV3VGFyZ2V0VGltZWJhc2UpLCAodGltZWJhc2UsIG5l
d1RhcmdldFRpbWViYXNlKSkKK3R5cGVkZWYgc3RydWN0IG9wYXF1ZUNNTm90aWZpY2F0aW9uQ2Vu
dGVyICpDTU5vdGlmaWNhdGlvbkNlbnRlclJlZjsKK3R5cGVkZWYgdm9pZCAoKkNNTm90aWZpY2F0
aW9uQ2FsbGJhY2spKENNTm90aWZpY2F0aW9uQ2VudGVyUmVmIGluQ2VudGVyLCBjb25zdCB2b2lk
ICppbkxpc3RlbmVyLCBDRlN0cmluZ1JlZiBpbk5vdGlmaWNhdGlvbk5hbWUsIGNvbnN0IHZvaWQg
KmluTm90aWZ5aW5nT2JqZWN0LCBDRlR5cGVSZWYgaW5Ob3RpZmljYXRpb25QYXlsb2FkKTsKKwor
U09GVF9MSU5LKENvcmVNZWRpYSwgQ01Ob3RpZmljYXRpb25DZW50ZXJHZXREZWZhdWx0TG9jYWxD
ZW50ZXIsIENNTm90aWZpY2F0aW9uQ2VudGVyUmVmLCAodm9pZCksICgpKTsKK1NPRlRfTElOSyhD
b3JlTWVkaWEsIENNTm90aWZpY2F0aW9uQ2VudGVyQWRkTGlzdGVuZXIsIE9TU3RhdHVzLCAoQ01O
b3RpZmljYXRpb25DZW50ZXJSZWYgY2VudGVyLCBjb25zdCB2b2lkKiBsaXN0ZW5lciwgQ01Ob3Rp
ZmljYXRpb25DYWxsYmFjayBjYWxsYmFjaywgQ0ZTdHJpbmdSZWYgbm90aWZpY2F0aW9uLCBjb25z
dCB2b2lkKiBvYmplY3QsIFVJbnQzMiBmbGFncyksIChjZW50ZXIsIGxpc3RlbmVyLCBjYWxsYmFj
aywgbm90aWZpY2F0aW9uLCBvYmplY3QsIGZsYWdzKSkKK1NPRlRfTElOSyhDb3JlTWVkaWEsIENN
Tm90aWZpY2F0aW9uQ2VudGVyUmVtb3ZlTGlzdGVuZXIsIE9TU3RhdHVzLCAoQ01Ob3RpZmljYXRp
b25DZW50ZXJSZWYgY2VudGVyLCBjb25zdCB2b2lkKiBsaXN0ZW5lciwgQ01Ob3RpZmljYXRpb25D
YWxsYmFjayBjYWxsYmFjaywgQ0ZTdHJpbmdSZWYgbm90aWZpY2F0aW9uLCBjb25zdCB2b2lkKiBv
YmplY3QpLCAoY2VudGVyLCBsaXN0ZW5lciwgY2FsbGJhY2ssIG5vdGlmaWNhdGlvbiwgb2JqZWN0
KSkKKworU09GVF9MSU5LX0NPTlNUQU5UKENvcmVNZWRpYSwga0NNVGltZWJhc2VOb3RpZmljYXRp
b25fRWZmZWN0aXZlUmF0ZUNoYW5nZWQsIENGU3RyaW5nUmVmKQorI2RlZmluZSBrQ01UaW1lYmFz
ZU5vdGlmaWNhdGlvbl9FZmZlY3RpdmVSYXRlQ2hhbmdlZCBnZXRrQ01UaW1lYmFzZU5vdGlmaWNh
dGlvbl9FZmZlY3RpdmVSYXRlQ2hhbmdlZCgpCiAKICNwcmFnbWEgbWFyayAtCiAjcHJhZ21hIG1h
cmsgQVZWaWRlb1BlcmZvcm1hbmNlTWV0cmljcwpAQCAtODEsMjMgKzkyLDY1IEBAIFNPRlRfTElO
SyhDb3JlTWVkaWEsIEZpZ1JlYWRPbmx5VGltZWJhc2VTZXRUYXJnZXRUaW1lYmFzZSwgT1NTdGF0
dXMsIChDTVRpbWViYXNlCiBAZW5kCiAjZW5kaWYKIAorI3ByYWdtYSBtYXJrIC0KKyNwcmFnbWEg
bWFyayBBVlNhbXBsZUJ1ZmZlclJlbmRlclN5bmNocm9uaXplcgorCitAaW50ZXJmYWNlIEFWU2Ft
cGxlQnVmZmVyUmVuZGVyU3luY2hyb25pemVyIDogTlNPYmplY3QKKy0gKENNVGltZWJhc2VSZWYp
dGltZWJhc2U7CistIChmbG9hdClyYXRlOworLSAodm9pZClzZXRSYXRlOihmbG9hdClyYXRlOwor
LSAodm9pZClzZXRSYXRlOihmbG9hdClyYXRlIHRpbWU6KENNVGltZSl0aW1lOworLSAoTlNBcnJh
eSAqKXJlbmRlcmVyczsKKy0gKHZvaWQpYWRkUmVuZGVyZXI6KGlkKXJlbmRlcmVyOworLSAodm9p
ZClyZW1vdmVSZW5kZXJlcjooaWQpcmVuZGVyZXIgYXRUaW1lOihDTVRpbWUpdGltZSB3aXRoQ29t
cGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKEJPT0wgZGlkUmVtb3ZlUmVuZGVyZXIpKWNvbXBsZXRp
b25IYW5kbGVyOworLSAoaWQpYWRkUGVyaW9kaWNUaW1lT2JzZXJ2ZXJGb3JJbnRlcnZhbDooQ01U
aW1lKWludGVydmFsIHF1ZXVlOihkaXNwYXRjaF9xdWV1ZV90KXF1ZXVlIHVzaW5nQmxvY2s6KHZv
aWQgKF4pKENNVGltZSB0aW1lKSlibG9jazsKKy0gKHZvaWQpcmVtb3ZlVGltZU9ic2VydmVyOihp
ZClvYnNlcnZlcjsKK0BlbmQKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAjcHJhZ21hIG1hcmsg
LQogI3ByYWdtYSBtYXJrIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQwogCitz
dGF0aWMgdm9pZCBDTVRpbWViYXNlRWZmZWN0aXZlUmF0ZUNoYW5nZWRDYWxsYmFjayhDTU5vdGlm
aWNhdGlvbkNlbnRlclJlZiwgY29uc3Qgdm9pZCAqbGlzdGVuZXIsIENGU3RyaW5nUmVmLCBjb25z
dCB2b2lkICosIENGVHlwZVJlZikKK3sKKyAgICBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJj
ZUFWRk9iakMqIHBsYXllciA9IChNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMq
KWxpc3RlbmVyOworICAgIGNhbGxPbk1haW5UaHJlYWQoYmluZCgmTWVkaWFQbGF5ZXJQcml2YXRl
TWVkaWFTb3VyY2VBVkZPYmpDOjplZmZlY3RpdmVSYXRlQ2hhbmdlZCwgcGxheWVyKSk7Cit9CisK
IE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6TWVkaWFQbGF5ZXJQcml2YXRl
TWVkaWFTb3VyY2VBVkZPYmpDKE1lZGlhUGxheWVyKiBwbGF5ZXIpCiAgICAgOiBtX3BsYXllcihw
bGF5ZXIpCi0gICAgLCBtX2Nsb2NrKG5ldyBQbGF0Zm9ybUNsb2NrQ00oKSkKKyAgICAsIG1fc3lu
Y2hyb25pemVyKGFkb3B0TlMoW1tnZXRBVlNhbXBsZUJ1ZmZlclJlbmRlclN5bmNocm9uaXplckNs
YXNzKCkgYWxsb2NdIGluaXRdKSkKICAgICAsIG1fbmV0d29ya1N0YXRlKE1lZGlhUGxheWVyOjpF
bXB0eSkKICAgICAsIG1fcmVhZHlTdGF0ZShNZWRpYVBsYXllcjo6SGF2ZU5vdGhpbmcpCisgICAg
LCBtX3JhdGUoMSkKKyAgICAsIG1fcGxheWluZygwKQogICAgICwgbV9zZWVraW5nKGZhbHNlKQog
ICAgICwgbV9sb2FkaW5nUHJvZ3Jlc3NlZChmYWxzZSkKIHsKKyAgICBDTVRpbWViYXNlUmVmIHRp
bWViYXNlID0gW21fc3luY2hyb25pemVyIHRpbWViYXNlXTsKKyAgICBDTU5vdGlmaWNhdGlvbkNl
bnRlclJlZiBuYyA9IENNTm90aWZpY2F0aW9uQ2VudGVyR2V0RGVmYXVsdExvY2FsQ2VudGVyKCk7
CisgICAgQ01Ob3RpZmljYXRpb25DZW50ZXJBZGRMaXN0ZW5lcihuYywgdGhpcywgQ01UaW1lYmFz
ZUVmZmVjdGl2ZVJhdGVDaGFuZ2VkQ2FsbGJhY2ssIGtDTVRpbWViYXNlTm90aWZpY2F0aW9uX0Vm
ZmVjdGl2ZVJhdGVDaGFuZ2VkLCB0aW1lYmFzZSwgMCk7CisKKyAgICAvLyBhZGRQZXJpb2RpY1Rp
bWVPYnNlcnZlckZvckludGVydmFsOiB0aHJvd3MgYW4gZXhjZXB0aW9uIGlmIHlvdSBwYXNzIGEg
bm9uLW51bWVyaWMgQ01UaW1lLCBzbyBqdXN0IHVzZQorICAgIC8vIGFuIGFyYml0cmFyaWx5IGxh
cmdlIHRpbWUgdmFsdWUgb2Ygb25jZSBhbiBob3VyOgorICAgIG1fdGltZUp1bXBlZE9ic2VydmVy
ID0gW21fc3luY2hyb25pemVyIGFkZFBlcmlvZGljVGltZU9ic2VydmVyRm9ySW50ZXJ2YWw6dG9D
TVRpbWUoTWVkaWFUaW1lOjpjcmVhdGVXaXRoRG91YmxlKDM2MDApKSBxdWV1ZTpkaXNwYXRjaF9n
ZXRfbWFpbl9xdWV1ZSgpIHVzaW5nQmxvY2s6XihDTVRpbWUgdGltZSl7CisgICAgICAgIGlmICht
X3NlZWtpbmcpIHsKKyAgICAgICAgICAgIExPRyhNZWRpYSwgIk1lZGlhUGxheWVyUHJpdmF0ZU1l
ZGlhU291cmNlQVZGT2JqQyB0aW1lT2JzZXJ2ZXIgLSB0aW1lOiVsZiIsIHRvTWVkaWFUaW1lKHRp
bWUpLnRvRG91YmxlKCkpOworCisgICAgICAgICAgICBtX3NlZWtpbmcgPSBmYWxzZTsKKyAgICAg
ICAgICAgIG1fcGxheWVyLT50aW1lQ2hhbmdlZCgpOworICAgICAgICB9CisgICAgfV07CiB9CiAK
IE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6fk1lZGlhUGxheWVyUHJpdmF0
ZU1lZGlhU291cmNlQVZGT2JqQygpCiB7CisgICAgQ01UaW1lYmFzZVJlZiB0aW1lYmFzZSA9IFtt
X3N5bmNocm9uaXplciB0aW1lYmFzZV07CisgICAgQ01Ob3RpZmljYXRpb25DZW50ZXJSZWYgbmMg
PSBDTU5vdGlmaWNhdGlvbkNlbnRlckdldERlZmF1bHRMb2NhbENlbnRlcigpOworICAgIENNTm90
aWZpY2F0aW9uQ2VudGVyUmVtb3ZlTGlzdGVuZXIobmMsIHRoaXMsIENNVGltZWJhc2VFZmZlY3Rp
dmVSYXRlQ2hhbmdlZENhbGxiYWNrLCBrQ01UaW1lYmFzZU5vdGlmaWNhdGlvbl9FZmZlY3RpdmVS
YXRlQ2hhbmdlZCwgdGltZWJhc2UpOworCisgICAgW21fc3luY2hyb25pemVyIHJlbW92ZVRpbWVP
YnNlcnZlcjptX3RpbWVKdW1wZWRPYnNlcnZlci5nZXQoKV07CiB9CiAKICNwcmFnbWEgbWFyayAt
CkBAIC0xMTYsNyArMTY5LDcgQEAgUGFzc093blB0cjxNZWRpYVBsYXllclByaXZhdGVJbnRlcmZh
Y2U+IE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6Y3IKIAogYm9vbCBNZWRp
YVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OmlzQXZhaWxhYmxlKCkKIHsKLSAgICBy
ZXR1cm4gQVZGb3VuZGF0aW9uTGlicmFyeSgpICYmIENvcmVNZWRpYUxpYnJhcnkoKSAmJiBnZXRB
VlN0cmVhbURhdGFQYXJzZXJDbGFzcygpICYmIGdldEFWU2FtcGxlQnVmZmVyQXVkaW9SZW5kZXJl
ckNsYXNzKCk7CisgICAgcmV0dXJuIEFWRm91bmRhdGlvbkxpYnJhcnkoKSAmJiBDb3JlTWVkaWFM
aWJyYXJ5KCkgJiYgZ2V0QVZTdHJlYW1EYXRhUGFyc2VyQ2xhc3MoKSAmJiBnZXRBVlNhbXBsZUJ1
ZmZlckF1ZGlvUmVuZGVyZXJDbGFzcygpICYmIGdldEFWU2FtcGxlQnVmZmVyUmVuZGVyU3luY2hy
b25pemVyQ2xhc3MoKTsKIH0KIAogc3RhdGljIEhhc2hTZXQ8U3RyaW5nPiBtaW1lVHlwZUNhY2hl
KCkKQEAgLTIwNiw4ICsyNTksOCBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNl
QVZGT2JqQzo6cGxheSgpCiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZP
YmpDOjpwbGF5SW50ZXJuYWwoKQogewotICAgIG1fY2xvY2stPnN0YXJ0KCk7Ci0gICAgbV9wbGF5
ZXItPnJhdGVDaGFuZ2VkKCk7CisgICAgbV9wbGF5aW5nID0gdHJ1ZTsKKyAgICBbbV9zeW5jaHJv
bml6ZXIgc2V0UmF0ZTptX3JhdGVdOwogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlh
U291cmNlQVZGT2JqQzo6cGF1c2UoKQpAQCAtMjE3LDEzICsyNzAsMTMgQEAgdm9pZCBNZWRpYVBs
YXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnBhdXNlKCkKIAogdm9pZCBNZWRpYVBsYXll
clByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnBhdXNlSW50ZXJuYWwoKQogewotICAgIG1fY2xv
Y2stPnN0b3AoKTsKLSAgICBtX3BsYXllci0+cmF0ZUNoYW5nZWQoKTsKKyAgICBtX3BsYXlpbmcg
PSBmYWxzZTsKKyAgICBbbV9zeW5jaHJvbml6ZXIgc2V0UmF0ZTowXTsKIH0KIAogYm9vbCBNZWRp
YVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnBhdXNlZCgpIGNvbnN0CiB7Ci0gICAg
cmV0dXJuICFtX2Nsb2NrLT5pc1J1bm5pbmcoKTsKKyAgICByZXR1cm4gIVttX3N5bmNocm9uaXpl
ciByYXRlXTsKIH0KIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6
OnNldFZvbHVtZShmbG9hdCB2b2x1bWUpCkBAIC0yNzEsNyArMzI0LDcgQEAgZG91YmxlIE1lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6ZHVyYXRpb25Eb3VibGUoKSBjb25zdAog
CiBkb3VibGUgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpjdXJyZW50VGlt
ZURvdWJsZSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fY2xvY2stPmN1cnJlbnRUaW1lKCk7Cisg
ICAgcmV0dXJuIENNVGltZUdldFNlY29uZHMoQ01UaW1lYmFzZUdldFRpbWUoW21fc3luY2hyb25p
emVyIHRpbWViYXNlXSkpOwogfQogCiBkb3VibGUgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3Vy
Y2VBVkZPYmpDOjpzdGFydFRpbWVEb3VibGUoKSBjb25zdApAQCAtMjkzLDkgKzM0Niw4IEBAIHZv
aWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpzZWVrV2l0aFRvbGVyYW5j
ZShkb3VibGUgdGltZSwgZG91YmxlCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNl
QVZGT2JqQzo6c2Vla0ludGVybmFsKGRvdWJsZSB0aW1lLCBkb3VibGUgbmVnYXRpdmVUaHJlc2hv
bGQsIGRvdWJsZSBwb3NpdGl2ZVRocmVzaG9sZCkKIHsKICAgICBNZWRpYVRpbWUgc2Vla1RpbWUg
PSBtX21lZGlhU291cmNlUHJpdmF0ZS0+c2Vla1RvVGltZShNZWRpYVRpbWU6OmNyZWF0ZVdpdGhE
b3VibGUodGltZSksIE1lZGlhVGltZTo6Y3JlYXRlV2l0aERvdWJsZShwb3NpdGl2ZVRocmVzaG9s
ZCksIE1lZGlhVGltZTo6Y3JlYXRlV2l0aERvdWJsZShuZWdhdGl2ZVRocmVzaG9sZCkpOwotICAg
IG1fY2xvY2stPnNldEN1cnJlbnRNZWRpYVRpbWUoc2Vla1RpbWUpOwotICAgIG1fc2Vla2luZyA9
IGZhbHNlOwotICAgIG1fcGxheWVyLT50aW1lQ2hhbmdlZCgpOworCisgICAgW21fc3luY2hyb25p
emVyIHNldFJhdGU6KG1fcGxheWluZyA/IG1fcmF0ZSA6IDApIHRpbWU6dG9DTVRpbWUoc2Vla1Rp
bWUpXTsKIH0KIAogYm9vbCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnNl
ZWtpbmcoKSBjb25zdApAQCAtMzA1LDggKzM1Nyw5IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRl
TWVkaWFTb3VyY2VBVkZPYmpDOjpzZWVraW5nKCkgY29uc3QKIAogdm9pZCBNZWRpYVBsYXllclBy
aXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnNldFJhdGVEb3VibGUoZG91YmxlIHJhdGUpCiB7Ci0g
ICAgbV9jbG9jay0+c2V0UGxheVJhdGUocmF0ZSk7Ci0gICAgbV9wbGF5ZXItPnJhdGVDaGFuZ2Vk
KCk7CisgICAgbV9yYXRlID0gcmF0ZTsKKyAgICBpZiAobV9wbGF5aW5nKQorICAgICAgICBbbV9z
eW5jaHJvbml6ZXIgc2V0UmF0ZTptX3JhdGVdOwogfQogCiBNZWRpYVBsYXllcjo6TmV0d29ya1N0
YXRlIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6bmV0d29ya1N0YXRlKCkg
Y29uc3QKQEAgLTQzNyw3ICs0OTAsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291
cmNlQVZGT2JqQzo6ZW5zdXJlTGF5ZXIoKQogICAgICAgICByZXR1cm47CiAKICAgICBtX3NhbXBs
ZUJ1ZmZlckRpc3BsYXlMYXllciA9IGFkb3B0TlMoW1tnZXRBVlNhbXBsZUJ1ZmZlckRpc3BsYXlM
YXllckNsYXNzKCkgYWxsb2NdIGluaXRdKTsKLSAgICBbbV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5
ZXIgc2V0Q29udHJvbFRpbWViYXNlOm1fY2xvY2stPnRpbWViYXNlKCldOworICAgIFttX3N5bmNo
cm9uaXplciBhZGRSZW5kZXJlcjptX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5nZXQoKV07CiB9
CiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpkZXN0cm95TGF5
ZXIoKQpAQCAtNDQ1LDcgKzQ5OCwxMCBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291
cmNlQVZGT2JqQzo6ZGVzdHJveUxheWVyKCkKICAgICBpZiAoIW1fc2FtcGxlQnVmZmVyRGlzcGxh
eUxheWVyKQogICAgICAgICByZXR1cm47CiAKLSAgICBbbV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5
ZXIgc2V0Q29udHJvbFRpbWViYXNlOjBdOworICAgIENNVGltZSBjdXJyZW50VGltZSA9IENNVGlt
ZWJhc2VHZXRUaW1lKFttX3N5bmNocm9uaXplciB0aW1lYmFzZV0pOworICAgIFttX3N5bmNocm9u
aXplciByZW1vdmVSZW5kZXJlcjptX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5nZXQoKSBhdFRp
bWU6Y3VycmVudFRpbWUgd2l0aENvbXBsZXRpb25IYW5kbGVyOl4oQk9PTCl7CisgICAgICAgIC8v
IE5vLW9wLgorICAgIH1dOwogICAgIG1fc2FtcGxlQnVmZmVyRGlzcGxheUxheWVyID0gbnVsbHB0
cjsKIH0KIApAQCAtNDU0LDYgKzUxMCwxMSBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlh
U291cmNlQVZGT2JqQzo6ZHVyYXRpb25DaGFuZ2VkKCkKICAgICBtX3BsYXllci0+ZHVyYXRpb25D
aGFuZ2VkKCk7CiB9CiAKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpD
OjplZmZlY3RpdmVSYXRlQ2hhbmdlZCgpCit7CisgICAgbV9wbGF5ZXItPnJhdGVDaGFuZ2VkKCk7
Cit9CisKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpzZXRSZWFk
eVN0YXRlKE1lZGlhUGxheWVyOjpSZWFkeVN0YXRlIHJlYWR5U3RhdGUpCiB7CiAgICAgaWYgKG1f
cmVhZHlTdGF0ZSA9PSByZWFkeVN0YXRlKQpAQCAtNDc5LDcgKzU0MCw3IEBAIHZvaWQgTWVkaWFQ
bGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjphZGREaXNwbGF5TGF5ZXIoQVZTYW1wbGVC
dWZmZXJEaXNwbGF5CiAgICAgICAgIHJldHVybjsKIAogICAgIG1fc2FtcGxlQnVmZmVyRGlzcGxh
eUxheWVyID0gZGlzcGxheUxheWVyOwotICAgIFttX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllciBz
ZXRDb250cm9sVGltZWJhc2U6bV9jbG9jay0+dGltZWJhc2UoKV07CisgICAgW21fc3luY2hyb25p
emVyIGFkZFJlbmRlcmVyOm1fc2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLmdldCgpXTsKICAgICBt
X3BsYXllci0+bWVkaWFQbGF5ZXJDbGllbnQoKS0+bWVkaWFQbGF5ZXJSZW5kZXJpbmdNb2RlQ2hh
bmdlZChtX3BsYXllcik7CiAKICAgICAvLyBGSVhNRTogbW92ZSB0aGlzIHNvbWV3aGVyZSBhcHBy
b3ByaWF0ZToKQEAgLTQ5MSw2ICs1NTIsMTEgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRp
YVNvdXJjZUFWRk9iakM6OnJlbW92ZURpc3BsYXlMYXllcihBVlNhbXBsZUJ1ZmZlckRpc3AKICAg
ICBpZiAoZGlzcGxheUxheWVyICE9IG1fc2FtcGxlQnVmZmVyRGlzcGxheUxheWVyKQogICAgICAg
ICByZXR1cm47CiAKKyAgICBDTVRpbWUgY3VycmVudFRpbWUgPSBDTVRpbWViYXNlR2V0VGltZShb
bV9zeW5jaHJvbml6ZXIgdGltZWJhc2VdKTsKKyAgICBbbV9zeW5jaHJvbml6ZXIgcmVtb3ZlUmVu
ZGVyZXI6bV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuZ2V0KCkgYXRUaW1lOmN1cnJlbnRUaW1l
IHdpdGhDb21wbGV0aW9uSGFuZGxlcjpeKEJPT0wpeworICAgICAgICAvLyBOby1vcC4KKyAgICB9
XTsKKwogICAgIG1fc2FtcGxlQnVmZmVyRGlzcGxheUxheWVyID0gbnVsbHB0cjsKICAgICBtX3Bs
YXllci0+bWVkaWFQbGF5ZXJDbGllbnQoKS0+bWVkaWFQbGF5ZXJSZW5kZXJpbmdNb2RlQ2hhbmdl
ZChtX3BsYXllcik7CiB9CkBAIC01MDEsNyArNTY3LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZh
dGVNZWRpYVNvdXJjZUFWRk9iakM6OmFkZEF1ZGlvUmVuZGVyZXIoQVZTYW1wbGVCdWZmZXJBdWRp
b1IKICAgICAgICAgcmV0dXJuOwogCiAgICAgbV9zYW1wbGVCdWZmZXJBdWRpb1JlbmRlcmVycy5h
cHBlbmQoYXVkaW9SZW5kZXJlcik7Ci0gICAgRmlnUmVhZE9ubHlUaW1lYmFzZVNldFRhcmdldFRp
bWViYXNlKFthdWRpb1JlbmRlcmVyIHRpbWViYXNlXSwgbV9jbG9jay0+dGltZWJhc2UoKSk7Cisg
ICAgW21fc3luY2hyb25pemVyIGFkZFJlbmRlcmVyOmF1ZGlvUmVuZGVyZXJdOwogICAgIG1fcGxh
eWVyLT5tZWRpYVBsYXllckNsaWVudCgpLT5tZWRpYVBsYXllclJlbmRlcmluZ01vZGVDaGFuZ2Vk
KG1fcGxheWVyKTsKIH0KIApAQCAtNTExLDYgKzU3NywxMSBAQCB2b2lkIE1lZGlhUGxheWVyUHJp
dmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6cmVtb3ZlQXVkaW9SZW5kZXJlcihBVlNhbXBsZUJ1ZmZl
ckF1ZAogICAgIGlmIChwb3MgPT0gbm90Rm91bmQpCiAgICAgICAgIHJldHVybjsKIAorICAgIENN
VGltZSBjdXJyZW50VGltZSA9IENNVGltZWJhc2VHZXRUaW1lKFttX3N5bmNocm9uaXplciB0aW1l
YmFzZV0pOworICAgIFttX3N5bmNocm9uaXplciByZW1vdmVSZW5kZXJlcjphdWRpb1JlbmRlcmVy
IGF0VGltZTpjdXJyZW50VGltZSB3aXRoQ29tcGxldGlvbkhhbmRsZXI6XihCT09MKXsKKyAgICAg
ICAgLy8gTm8tb3AuCisgICAgfV07CisKICAgICBtX3NhbXBsZUJ1ZmZlckF1ZGlvUmVuZGVyZXJz
LnJlbW92ZShwb3MpOwogICAgIG1fcGxheWVyLT5tZWRpYVBsYXllckNsaWVudCgpLT5tZWRpYVBs
YXllclJlbmRlcmluZ01vZGVDaGFuZ2VkKG1fcGxheWVyKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1NvdXJjZUJ1ZmZl
clByaXZhdGVBVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW0KaW5kZXggMWE4ODli
ODRkNDQ3ZjQwMDRhOWNmMzljNjU3ZGJiZGJmOWI2MTY5Zi4uODUyZDU4NGUzYTYzZDc0ZGNmNDZk
ZDQ2MDA0NjA5NGI2NTM1MmRhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
U291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW0KQEAgLTM3NCwxOCArMzc0LDExIEBAIHN0cnVj
dCBQcm9jZXNzQ29kZWRGcmFtZUluZm8gewogICAgIGNvbnN0IFN0cmluZyYgbWVkaWFUeXBlOwog
fTsKIAotc3RhdGljIE9TU3RhdHVzIGNhbGxQcm9jZXNzQ29kZWRGcmFtZUZvckVhY2hTYW1wbGUo
Q01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlQnVmZmVyLCBDTUl0ZW1Db3VudCwgdm9pZCAqcmVmY29u
KQotewotICAgIFByb2Nlc3NDb2RlZEZyYW1lSW5mbyogaW5mbyA9IHN0YXRpY19jYXN0PFByb2Nl
c3NDb2RlZEZyYW1lSW5mbyo+KHJlZmNvbik7Ci0gICAgcmV0dXJuIGluZm8tPnNvdXJjZUJ1ZmZl
ci0+cHJvY2Vzc0NvZGVkRnJhbWUoaW5mby0+dHJhY2tJRCwgc2FtcGxlQnVmZmVyLCBpbmZvLT5t
ZWRpYVR5cGUpID8gbm9FcnIgOiBwYXJhbUVycjsKLX0KLQogdm9pZCBTb3VyY2VCdWZmZXJQcml2
YXRlQVZGT2JqQzo6ZGlkUHJvdmlkZU1lZGlhRGF0YUZvclRyYWNrSUQoaW50IHRyYWNrSUQsIENN
U2FtcGxlQnVmZmVyUmVmIHNhbXBsZUJ1ZmZlciwgY29uc3QgU3RyaW5nJiBtZWRpYVR5cGUsIHVu
c2lnbmVkIGZsYWdzKQogewogICAgIFVOVVNFRF9QQVJBTShmbGFncyk7CiAKLSAgICBQcm9jZXNz
Q29kZWRGcmFtZUluZm8gaW5mbyA9IHt0aGlzLCB0cmFja0lELCBtZWRpYVR5cGV9OwotICAgIENN
U2FtcGxlQnVmZmVyQ2FsbEZvckVhY2hTYW1wbGUoc2FtcGxlQnVmZmVyLCAmY2FsbFByb2Nlc3ND
b2RlZEZyYW1lRm9yRWFjaFNhbXBsZSwgJmluZm8pOworICAgIHByb2Nlc3NDb2RlZEZyYW1lKHRy
YWNrSUQsIHNhbXBsZUJ1ZmZlciwgbWVkaWFUeXBlKTsKIH0KIAogYm9vbCBTb3VyY2VCdWZmZXJQ
cml2YXRlQVZGT2JqQzo6cHJvY2Vzc0NvZGVkRnJhbWUoaW50IHRyYWNrSUQsIENNU2FtcGxlQnVm
ZmVyUmVmIHNhbXBsZUJ1ZmZlciwgY29uc3QgU3RyaW5nJikK
</data>
<flag name="review"
          id="243228"
          type_id="1"
          status="+"
          setter="eric.carlson"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>219593</attachid>
            <date>2013-12-18 17:21:54 -0800</date>
            <delta_ts>2013-12-18 18:00:35 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-125954-20131218172153.patch</filename>
            <type>text/plain</type>
            <size>17007</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwODEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTE0ZDA0YzdjMzU1MzY3
ZGQxODFkZGUyNjEwZDk5NWEyNmIyZTdlNC4uYzY0ZDNhNDJiYTc3YzMzYWI2MTllM2U0MDg4MzIy
MGQxM2M1MzVlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEzLTEyLTE4ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtNU0VdW01hY10gQWRkIEFW
U2FtcGxlQnVmZmVyUmVuZGVyZXJTeW5jaHJvbml6ZXIgc3VwcG9ydC4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNTk1NAorCisgICAgICAgIFJldmll
d2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICBJbnN0ZWFkIG9mIHNsYXZpbmcgYWxsIHRo
ZSB2YXJpb3VzIHJlbmRlcmVyJ3MgQ01UaW1lYmFzZXMgdG8gb25lIG1hc3RlciB0aW1lYmFzZSwK
KyAgICAgICAgdXNlIEFWU2FtcGxlQnVmZmVyUmVuZGVyU3luY2hyb25pemVyLCB3aGljaCBlc3Nl
bnRpYWxseSBkb2VzIHRoZSBzYW1lIHRoaW5nLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpD
Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQ
bGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6Q01U
aW1lYmFzZUVmZmVjdGl2ZVJhdGVDaGFuZ2VkQ2FsbGJhY2spOiBBZGRlZDsgY2FsbCBlZmZlY3Rp
dmVSYXRlQ2hhbmdlZCgpLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFTb3VyY2VBVkZPYmpDOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMpOiBT
ZXQgdXAKKyAgICAgICAgICAgIHRoZSBzeW5jaHJvbml6ZXIgYW5kIGFsbCB0aGUgb2JzZXJ2ZXJz
LgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpD
Ojp+TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDKTogVGVhciBkb3duCisgICAg
ICAgICAgICB0aGUgc2FtZS4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZU1l
ZGlhU291cmNlQVZGT2JqQzo6aXNBdmFpbGFibGUpOiBSZXF1aXJlIHRoZQorICAgICAgICAgICAg
QVZTYW1wbGVCdWZmZXJSZW5kZXJTeW5jaHJvbml6ZXIgY2xhc3MuCisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnBsYXlJbnRlcm5hbCk6IENv
bnZlcnQgQ2xvY2sgLT4gU3luY2hyb25pemVyLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5
ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpwYXVzZUludGVybmFsKTogRGl0dG8uCisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnBhdXNl
ZCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3Vy
Y2VBVkZPYmpDOjpjdXJyZW50VGltZURvdWJsZSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpzZWVrSW50ZXJuYWwpOiBEaXR0
by4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2Jq
Qzo6c2V0UmF0ZURvdWJsZSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQ
cml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjplbnN1cmVMYXllcik6IERpdHRvLgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpkZXN0cm95TGF5
ZXIpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291
cmNlQVZGT2JqQzo6ZWZmZWN0aXZlUmF0ZUNoYW5nZWQpOiBEaXR0by4KKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6YWRkRGlzcGxheUxheWVy
KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJj
ZUFWRk9iakM6OnJlbW92ZURpc3BsYXlMYXllcik6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjphZGRBdWRpb1JlbmRlcmVyKTog
RGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFW
Rk9iakM6OnJlbW92ZUF1ZGlvUmVuZGVyZXIpOiBEaXR0by4KKworICAgICAgICBEcml2ZS1ieSBm
aXg7IGF1ZGlvIHNhbXBsZXMgY2FuJ3QgYmUgc3ViZGl2aWRlZCwgYW5kIHZpZGVvIHNhbXBsZXMg
YXJlCisgICAgICAgIHJhcmVseSBjb21iaW5lZCwgc28gcmVtb3ZlIHRoZSBjYWxsIHRvIENNU2Ft
cGxlQnVmZmVyQ2FsbEZvckVhY2hTYW1wbGU6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW06CisgICAgICAg
IChXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6ZGlkUHJvdmlkZU1lZGlhRGF0
YUZvclRyYWNrSUQpOgorCiAyMDEzLTEyLTE3ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUu
Y29tPgogCiAgICAgICAgIFtNU0VdW01hY10gQWRkIEFWU2FtcGxlQnVmZmVyQXVkaW9SZW5kZXJl
ciBzdXBwb3J0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRp
YVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaAppbmRleCA0Njk5M2QwNDI3YmZiNzZi
ZTBmZjM2ZmJlNjE0YTVlZmUyYmQzZTU0Li4yMDE4MThlOTJmNmE3OGYxMzNiYjJlZTIxNGVkYmNh
MmY3ZTkxMWNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9N
ZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaApAQCAtMzYsNiArMzYsNyBAQAog
T0JKQ19DTEFTUyBBVkFzc2V0OwogT0JKQ19DTEFTUyBBVlNhbXBsZUJ1ZmZlckF1ZGlvUmVuZGVy
ZXI7CiBPQkpDX0NMQVNTIEFWU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyOworT0JKQ19DTEFTUyBB
VlNhbXBsZUJ1ZmZlclJlbmRlclN5bmNocm9uaXplcjsKIAogdHlwZWRlZiBzdHJ1Y3QgT3BhcXVl
Q01UaW1lYmFzZSogQ01UaW1lYmFzZVJlZjsKIApAQCAtNjcsNiArNjgsOCBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBzZXRIYXNBdmFpbGFibGVWaWRlb0ZyYW1lKGJvb2wgZmxhZykgeyBtX2hhc0F2YWls
YWJsZVZpZGVvRnJhbWUgPSBmbGFnOyB9CiAgICAgdm9pZCBkdXJhdGlvbkNoYW5nZWQoKTsKIAor
ICAgIHZvaWQgZWZmZWN0aXZlUmF0ZUNoYW5nZWQoKTsKKwogcHJpdmF0ZToKICAgICAvLyBNZWRp
YVBsYXllclByaXZhdGVJbnRlcmZhY2UKICAgICB2aXJ0dWFsIHZvaWQgbG9hZChjb25zdCBTdHJp
bmcmIHVybCkgT1ZFUlJJREU7CkBAIC0xNjEsOSArMTY0LDEyIEBAIHByaXZhdGU6CiAgICAgUmV0
YWluUHRyPEFWQXNzZXQ+IG1fYXNzZXQ7CiAgICAgUmV0YWluUHRyPEFWU2FtcGxlQnVmZmVyRGlz
cGxheUxheWVyPiBtX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcjsKICAgICBWZWN0b3I8UmV0YWlu
UHRyPEFWU2FtcGxlQnVmZmVyQXVkaW9SZW5kZXJlcj4+IG1fc2FtcGxlQnVmZmVyQXVkaW9SZW5k
ZXJlcnM7Ci0gICAgc3RkOjp1bmlxdWVfcHRyPFBsYXRmb3JtQ2xvY2tDTT4gbV9jbG9jazsKKyAg
ICBSZXRhaW5QdHI8QVZTYW1wbGVCdWZmZXJSZW5kZXJTeW5jaHJvbml6ZXI+IG1fc3luY2hyb25p
emVyOworICAgIFJldGFpblB0cjxpZD4gbV90aW1lSnVtcGVkT2JzZXJ2ZXI7CiAgICAgTWVkaWFQ
bGF5ZXI6Ok5ldHdvcmtTdGF0ZSBtX25ldHdvcmtTdGF0ZTsKICAgICBNZWRpYVBsYXllcjo6UmVh
ZHlTdGF0ZSBtX3JlYWR5U3RhdGU7CisgICAgZG91YmxlIG1fcmF0ZTsKKyAgICBib29sIG1fcGxh
eWluZzsKICAgICBib29sIG1fc2Vla2luZzsKICAgICBtdXRhYmxlIGJvb2wgbV9sb2FkaW5nUHJv
Z3Jlc3NlZDsKICAgICBib29sIG1faGFzQXZhaWxhYmxlVmlkZW9GcmFtZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291
cmNlQVZGT2JqQy5tbQppbmRleCAwMmJhMjQ2ZWY1MTFjYTg3MWRlZGQzZjA1MDNlYzI5YTcwOGRj
ZmUyLi5iYTUyNzAzNjI5NTA4NzMyZTM0YTllNGI4MDBmNWU5MjI0OGFkMTFiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRp
YVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0KKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFTb3VyY2VBVkZPYmpDLm1tCkBAIC0yOSw3ICsyOSw5IEBACiAjaWYgRU5BQkxFKE1FRElBX1NP
VVJDRSkgJiYgVVNFKEFWRk9VTkRBVElPTikKIAogI2ltcG9ydCAiSFRNTE1lZGlhU291cmNlLmgi
CisjaW1wb3J0ICJMb2dnaW5nLmgiCiAjaW1wb3J0ICJNZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpD
LmgiCisjaW1wb3J0ICJNZWRpYVRpbWVNYWMuaCIKICNpbXBvcnQgIlBsYXRmb3JtQ2xvY2tDTS5o
IgogI2ltcG9ydCAiU29mdExpbmtpbmcuaCIKICNpbXBvcnQgPEFWRm91bmRhdGlvbi9BVlNhbXBs
ZUJ1ZmZlckRpc3BsYXlMYXllci5oPgpAQCAtNTAsMTAgKzUyLDE5IEBAIFNPRlRfTElOS19DTEFT
U19PUFRJT05BTChBVkZvdW5kYXRpb24sIEFWQXNzZXQpCiBTT0ZUX0xJTktfQ0xBU1NfT1BUSU9O
QUwoQVZGb3VuZGF0aW9uLCBBVlVSTEFzc2V0KQogU09GVF9MSU5LX0NMQVNTX09QVElPTkFMKEFW
Rm91bmRhdGlvbiwgQVZTYW1wbGVCdWZmZXJBdWRpb1JlbmRlcmVyKQogU09GVF9MSU5LX0NMQVNT
X09QVElPTkFMKEFWRm91bmRhdGlvbiwgQVZTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIpCitTT0ZU
X0xJTktfQ0xBU1NfT1BUSU9OQUwoQVZGb3VuZGF0aW9uLCBBVlNhbXBsZUJ1ZmZlclJlbmRlclN5
bmNocm9uaXplcikKIFNPRlRfTElOS19DTEFTU19PUFRJT05BTChBVkZvdW5kYXRpb24sIEFWU3Ry
ZWFtRGF0YVBhcnNlcikKIFNPRlRfTElOS19DTEFTU19PUFRJT05BTChBVkZvdW5kYXRpb24sIEFW
VmlkZW9QZXJmb3JtYW5jZU1ldHJpY3MpCiAKLVNPRlRfTElOSyhDb3JlTWVkaWEsIEZpZ1JlYWRP
bmx5VGltZWJhc2VTZXRUYXJnZXRUaW1lYmFzZSwgT1NTdGF0dXMsIChDTVRpbWViYXNlUmVmIHRp
bWViYXNlLCBDTVRpbWViYXNlUmVmIG5ld1RhcmdldFRpbWViYXNlKSwgKHRpbWViYXNlLCBuZXdU
YXJnZXRUaW1lYmFzZSkpCit0eXBlZGVmIHN0cnVjdCBvcGFxdWVDTU5vdGlmaWNhdGlvbkNlbnRl
ciAqQ01Ob3RpZmljYXRpb25DZW50ZXJSZWY7Cit0eXBlZGVmIHZvaWQgKCpDTU5vdGlmaWNhdGlv
bkNhbGxiYWNrKShDTU5vdGlmaWNhdGlvbkNlbnRlclJlZiBpbkNlbnRlciwgY29uc3Qgdm9pZCAq
aW5MaXN0ZW5lciwgQ0ZTdHJpbmdSZWYgaW5Ob3RpZmljYXRpb25OYW1lLCBjb25zdCB2b2lkICpp
bk5vdGlmeWluZ09iamVjdCwgQ0ZUeXBlUmVmIGluTm90aWZpY2F0aW9uUGF5bG9hZCk7CisKK1NP
RlRfTElOSyhDb3JlTWVkaWEsIENNTm90aWZpY2F0aW9uQ2VudGVyR2V0RGVmYXVsdExvY2FsQ2Vu
dGVyLCBDTU5vdGlmaWNhdGlvbkNlbnRlclJlZiwgKHZvaWQpLCAoKSk7CitTT0ZUX0xJTksoQ29y
ZU1lZGlhLCBDTU5vdGlmaWNhdGlvbkNlbnRlckFkZExpc3RlbmVyLCBPU1N0YXR1cywgKENNTm90
aWZpY2F0aW9uQ2VudGVyUmVmIGNlbnRlciwgY29uc3Qgdm9pZCogbGlzdGVuZXIsIENNTm90aWZp
Y2F0aW9uQ2FsbGJhY2sgY2FsbGJhY2ssIENGU3RyaW5nUmVmIG5vdGlmaWNhdGlvbiwgY29uc3Qg
dm9pZCogb2JqZWN0LCBVSW50MzIgZmxhZ3MpLCAoY2VudGVyLCBsaXN0ZW5lciwgY2FsbGJhY2ss
IG5vdGlmaWNhdGlvbiwgb2JqZWN0LCBmbGFncykpCitTT0ZUX0xJTksoQ29yZU1lZGlhLCBDTU5v
dGlmaWNhdGlvbkNlbnRlclJlbW92ZUxpc3RlbmVyLCBPU1N0YXR1cywgKENNTm90aWZpY2F0aW9u
Q2VudGVyUmVmIGNlbnRlciwgY29uc3Qgdm9pZCogbGlzdGVuZXIsIENNTm90aWZpY2F0aW9uQ2Fs
bGJhY2sgY2FsbGJhY2ssIENGU3RyaW5nUmVmIG5vdGlmaWNhdGlvbiwgY29uc3Qgdm9pZCogb2Jq
ZWN0KSwgKGNlbnRlciwgbGlzdGVuZXIsIGNhbGxiYWNrLCBub3RpZmljYXRpb24sIG9iamVjdCkp
CisKK1NPRlRfTElOS19DT05TVEFOVChDb3JlTWVkaWEsIGtDTVRpbWViYXNlTm90aWZpY2F0aW9u
X0VmZmVjdGl2ZVJhdGVDaGFuZ2VkLCBDRlN0cmluZ1JlZikKKyNkZWZpbmUga0NNVGltZWJhc2VO
b3RpZmljYXRpb25fRWZmZWN0aXZlUmF0ZUNoYW5nZWQgZ2V0a0NNVGltZWJhc2VOb3RpZmljYXRp
b25fRWZmZWN0aXZlUmF0ZUNoYW5nZWQoKQogCiAjcHJhZ21hIG1hcmsgLQogI3ByYWdtYSBtYXJr
IEFWVmlkZW9QZXJmb3JtYW5jZU1ldHJpY3MKQEAgLTgxLDIzICs5Miw2NSBAQCBTT0ZUX0xJTkso
Q29yZU1lZGlhLCBGaWdSZWFkT25seVRpbWViYXNlU2V0VGFyZ2V0VGltZWJhc2UsIE9TU3RhdHVz
LCAoQ01UaW1lYmFzZQogQGVuZAogI2VuZGlmCiAKKyNwcmFnbWEgbWFyayAtCisjcHJhZ21hIG1h
cmsgQVZTYW1wbGVCdWZmZXJSZW5kZXJTeW5jaHJvbml6ZXIKKworQGludGVyZmFjZSBBVlNhbXBs
ZUJ1ZmZlclJlbmRlclN5bmNocm9uaXplciA6IE5TT2JqZWN0CistIChDTVRpbWViYXNlUmVmKXRp
bWViYXNlOworLSAoZmxvYXQpcmF0ZTsKKy0gKHZvaWQpc2V0UmF0ZTooZmxvYXQpcmF0ZTsKKy0g
KHZvaWQpc2V0UmF0ZTooZmxvYXQpcmF0ZSB0aW1lOihDTVRpbWUpdGltZTsKKy0gKE5TQXJyYXkg
KilyZW5kZXJlcnM7CistICh2b2lkKWFkZFJlbmRlcmVyOihpZClyZW5kZXJlcjsKKy0gKHZvaWQp
cmVtb3ZlUmVuZGVyZXI6KGlkKXJlbmRlcmVyIGF0VGltZTooQ01UaW1lKXRpbWUgd2l0aENvbXBs
ZXRpb25IYW5kbGVyOih2b2lkICheKShCT09MIGRpZFJlbW92ZVJlbmRlcmVyKSljb21wbGV0aW9u
SGFuZGxlcjsKKy0gKGlkKWFkZFBlcmlvZGljVGltZU9ic2VydmVyRm9ySW50ZXJ2YWw6KENNVGlt
ZSlpbnRlcnZhbCBxdWV1ZTooZGlzcGF0Y2hfcXVldWVfdClxdWV1ZSB1c2luZ0Jsb2NrOih2b2lk
ICheKShDTVRpbWUgdGltZSkpYmxvY2s7CistICh2b2lkKXJlbW92ZVRpbWVPYnNlcnZlcjooaWQp
b2JzZXJ2ZXI7CitAZW5kCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogI3ByYWdtYSBtYXJrIC0K
ICNwcmFnbWEgbWFyayBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMKIAorc3Rh
dGljIHZvaWQgQ01UaW1lYmFzZUVmZmVjdGl2ZVJhdGVDaGFuZ2VkQ2FsbGJhY2soQ01Ob3RpZmlj
YXRpb25DZW50ZXJSZWYsIGNvbnN0IHZvaWQgKmxpc3RlbmVyLCBDRlN0cmluZ1JlZiwgY29uc3Qg
dm9pZCAqLCBDRlR5cGVSZWYpCit7CisgICAgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VB
VkZPYmpDKiBwbGF5ZXIgPSAoTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDKils
aXN0ZW5lcjsKKyAgICBjYWxsT25NYWluVGhyZWFkKGJpbmQoJk1lZGlhUGxheWVyUHJpdmF0ZU1l
ZGlhU291cmNlQVZGT2JqQzo6ZWZmZWN0aXZlUmF0ZUNoYW5nZWQsIHBsYXllcikpOworfQorCiBN
ZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6Ok1lZGlhUGxheWVyUHJpdmF0ZU1l
ZGlhU291cmNlQVZGT2JqQyhNZWRpYVBsYXllciogcGxheWVyKQogICAgIDogbV9wbGF5ZXIocGxh
eWVyKQotICAgICwgbV9jbG9jayhuZXcgUGxhdGZvcm1DbG9ja0NNKCkpCisgICAgLCBtX3N5bmNo
cm9uaXplcihhZG9wdE5TKFtbZ2V0QVZTYW1wbGVCdWZmZXJSZW5kZXJTeW5jaHJvbml6ZXJDbGFz
cygpIGFsbG9jXSBpbml0XSkpCiAgICAgLCBtX25ldHdvcmtTdGF0ZShNZWRpYVBsYXllcjo6RW1w
dHkpCiAgICAgLCBtX3JlYWR5U3RhdGUoTWVkaWFQbGF5ZXI6OkhhdmVOb3RoaW5nKQorICAgICwg
bV9yYXRlKDEpCisgICAgLCBtX3BsYXlpbmcoMCkKICAgICAsIG1fc2Vla2luZyhmYWxzZSkKICAg
ICAsIG1fbG9hZGluZ1Byb2dyZXNzZWQoZmFsc2UpCiB7CisgICAgQ01UaW1lYmFzZVJlZiB0aW1l
YmFzZSA9IFttX3N5bmNocm9uaXplciB0aW1lYmFzZV07CisgICAgQ01Ob3RpZmljYXRpb25DZW50
ZXJSZWYgbmMgPSBDTU5vdGlmaWNhdGlvbkNlbnRlckdldERlZmF1bHRMb2NhbENlbnRlcigpOwor
ICAgIENNTm90aWZpY2F0aW9uQ2VudGVyQWRkTGlzdGVuZXIobmMsIHRoaXMsIENNVGltZWJhc2VF
ZmZlY3RpdmVSYXRlQ2hhbmdlZENhbGxiYWNrLCBrQ01UaW1lYmFzZU5vdGlmaWNhdGlvbl9FZmZl
Y3RpdmVSYXRlQ2hhbmdlZCwgdGltZWJhc2UsIDApOworCisgICAgLy8gYWRkUGVyaW9kaWNUaW1l
T2JzZXJ2ZXJGb3JJbnRlcnZhbDogdGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB5b3UgcGFzcyBhIG5v
bi1udW1lcmljIENNVGltZSwgc28ganVzdCB1c2UKKyAgICAvLyBhbiBhcmJpdHJhcmlseSBsYXJn
ZSB0aW1lIHZhbHVlIG9mIG9uY2UgYW4gaG91cjoKKyAgICBtX3RpbWVKdW1wZWRPYnNlcnZlciA9
IFttX3N5bmNocm9uaXplciBhZGRQZXJpb2RpY1RpbWVPYnNlcnZlckZvckludGVydmFsOnRvQ01U
aW1lKE1lZGlhVGltZTo6Y3JlYXRlV2l0aERvdWJsZSgzNjAwKSkgcXVldWU6ZGlzcGF0Y2hfZ2V0
X21haW5fcXVldWUoKSB1c2luZ0Jsb2NrOl4oQ01UaW1lIHRpbWUpeworICAgICAgICBpZiAobV9z
ZWVraW5nKSB7CisgICAgICAgICAgICBMT0coTWVkaWEsICJNZWRpYVBsYXllclByaXZhdGVNZWRp
YVNvdXJjZUFWRk9iakMgdGltZU9ic2VydmVyIC0gdGltZTolbGYiLCB0b01lZGlhVGltZSh0aW1l
KS50b0RvdWJsZSgpKTsKKworICAgICAgICAgICAgbV9zZWVraW5nID0gZmFsc2U7CisgICAgICAg
ICAgICBtX3BsYXllci0+dGltZUNoYW5nZWQoKTsKKyAgICAgICAgfQorICAgIH1dOwogfQogCiBN
ZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6On5NZWRpYVBsYXllclByaXZhdGVN
ZWRpYVNvdXJjZUFWRk9iakMoKQogeworICAgIENNVGltZWJhc2VSZWYgdGltZWJhc2UgPSBbbV9z
eW5jaHJvbml6ZXIgdGltZWJhc2VdOworICAgIENNTm90aWZpY2F0aW9uQ2VudGVyUmVmIG5jID0g
Q01Ob3RpZmljYXRpb25DZW50ZXJHZXREZWZhdWx0TG9jYWxDZW50ZXIoKTsKKyAgICBDTU5vdGlm
aWNhdGlvbkNlbnRlclJlbW92ZUxpc3RlbmVyKG5jLCB0aGlzLCBDTVRpbWViYXNlRWZmZWN0aXZl
UmF0ZUNoYW5nZWRDYWxsYmFjaywga0NNVGltZWJhc2VOb3RpZmljYXRpb25fRWZmZWN0aXZlUmF0
ZUNoYW5nZWQsIHRpbWViYXNlKTsKKworICAgIFttX3N5bmNocm9uaXplciByZW1vdmVUaW1lT2Jz
ZXJ2ZXI6bV90aW1lSnVtcGVkT2JzZXJ2ZXIuZ2V0KCldOwogfQogCiAjcHJhZ21hIG1hcmsgLQpA
QCAtMTE2LDcgKzE2OSw3IEBAIFBhc3NPd25QdHI8TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNl
PiBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OmNyCiAKIGJvb2wgTWVkaWFQ
bGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjppc0F2YWlsYWJsZSgpCiB7Ci0gICAgcmV0
dXJuIEFWRm91bmRhdGlvbkxpYnJhcnkoKSAmJiBDb3JlTWVkaWFMaWJyYXJ5KCkgJiYgZ2V0QVZT
dHJlYW1EYXRhUGFyc2VyQ2xhc3MoKSAmJiBnZXRBVlNhbXBsZUJ1ZmZlckF1ZGlvUmVuZGVyZXJD
bGFzcygpOworICAgIHJldHVybiBBVkZvdW5kYXRpb25MaWJyYXJ5KCkgJiYgQ29yZU1lZGlhTGli
cmFyeSgpICYmIGdldEFWU3RyZWFtRGF0YVBhcnNlckNsYXNzKCkgJiYgZ2V0QVZTYW1wbGVCdWZm
ZXJBdWRpb1JlbmRlcmVyQ2xhc3MoKSAmJiBnZXRBVlNhbXBsZUJ1ZmZlclJlbmRlclN5bmNocm9u
aXplckNsYXNzKCk7CiB9CiAKIHN0YXRpYyBIYXNoU2V0PFN0cmluZz4gbWltZVR5cGVDYWNoZSgp
CkBAIC0yMDYsOCArMjU5LDggQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFW
Rk9iakM6OnBsYXkoKQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2Jq
Qzo6cGxheUludGVybmFsKCkKIHsKLSAgICBtX2Nsb2NrLT5zdGFydCgpOwotICAgIG1fcGxheWVy
LT5yYXRlQ2hhbmdlZCgpOworICAgIG1fcGxheWluZyA9IHRydWU7CisgICAgW21fc3luY2hyb25p
emVyIHNldFJhdGU6bV9yYXRlXTsKIH0KIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNv
dXJjZUFWRk9iakM6OnBhdXNlKCkKQEAgLTIxNywxMyArMjcwLDEzIEBAIHZvaWQgTWVkaWFQbGF5
ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpwYXVzZSgpCiAKIHZvaWQgTWVkaWFQbGF5ZXJQ
cml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpwYXVzZUludGVybmFsKCkKIHsKLSAgICBtX2Nsb2Nr
LT5zdG9wKCk7Ci0gICAgbV9wbGF5ZXItPnJhdGVDaGFuZ2VkKCk7CisgICAgbV9wbGF5aW5nID0g
ZmFsc2U7CisgICAgW21fc3luY2hyb25pemVyIHNldFJhdGU6MF07CiB9CiAKIGJvb2wgTWVkaWFQ
bGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpwYXVzZWQoKSBjb25zdAogewotICAgIHJl
dHVybiAhbV9jbG9jay0+aXNSdW5uaW5nKCk7CisgICAgcmV0dXJuICFtX3BsYXlpbmcKIH0KIAog
dm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnNldFZvbHVtZShmbG9h
dCB2b2x1bWUpCkBAIC0yNzEsNyArMzI0LDcgQEAgZG91YmxlIE1lZGlhUGxheWVyUHJpdmF0ZU1l
ZGlhU291cmNlQVZGT2JqQzo6ZHVyYXRpb25Eb3VibGUoKSBjb25zdAogCiBkb3VibGUgTWVkaWFQ
bGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpjdXJyZW50VGltZURvdWJsZSgpIGNvbnN0
CiB7Ci0gICAgcmV0dXJuIG1fY2xvY2stPmN1cnJlbnRUaW1lKCk7CisgICAgcmV0dXJuIENNVGlt
ZUdldFNlY29uZHMoQ01UaW1lYmFzZUdldFRpbWUoW21fc3luY2hyb25pemVyIHRpbWViYXNlXSkp
OwogfQogCiBkb3VibGUgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpzdGFy
dFRpbWVEb3VibGUoKSBjb25zdApAQCAtMjkzLDkgKzM0Niw4IEBAIHZvaWQgTWVkaWFQbGF5ZXJQ
cml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpzZWVrV2l0aFRvbGVyYW5jZShkb3VibGUgdGltZSwg
ZG91YmxlCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6c2Vla0lu
dGVybmFsKGRvdWJsZSB0aW1lLCBkb3VibGUgbmVnYXRpdmVUaHJlc2hvbGQsIGRvdWJsZSBwb3Np
dGl2ZVRocmVzaG9sZCkKIHsKICAgICBNZWRpYVRpbWUgc2Vla1RpbWUgPSBtX21lZGlhU291cmNl
UHJpdmF0ZS0+c2Vla1RvVGltZShNZWRpYVRpbWU6OmNyZWF0ZVdpdGhEb3VibGUodGltZSksIE1l
ZGlhVGltZTo6Y3JlYXRlV2l0aERvdWJsZShwb3NpdGl2ZVRocmVzaG9sZCksIE1lZGlhVGltZTo6
Y3JlYXRlV2l0aERvdWJsZShuZWdhdGl2ZVRocmVzaG9sZCkpOwotICAgIG1fY2xvY2stPnNldEN1
cnJlbnRNZWRpYVRpbWUoc2Vla1RpbWUpOwotICAgIG1fc2Vla2luZyA9IGZhbHNlOwotICAgIG1f
cGxheWVyLT50aW1lQ2hhbmdlZCgpOworCisgICAgW21fc3luY2hyb25pemVyIHNldFJhdGU6KG1f
cGxheWluZyA/IG1fcmF0ZSA6IDApIHRpbWU6dG9DTVRpbWUoc2Vla1RpbWUpXTsKIH0KIAogYm9v
bCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnNlZWtpbmcoKSBjb25zdApA
QCAtMzA1LDggKzM1Nyw5IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZP
YmpDOjpzZWVraW5nKCkgY29uc3QKIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJj
ZUFWRk9iakM6OnNldFJhdGVEb3VibGUoZG91YmxlIHJhdGUpCiB7Ci0gICAgbV9jbG9jay0+c2V0
UGxheVJhdGUocmF0ZSk7Ci0gICAgbV9wbGF5ZXItPnJhdGVDaGFuZ2VkKCk7CisgICAgbV9yYXRl
ID0gcmF0ZTsKKyAgICBpZiAobV9wbGF5aW5nKQorICAgICAgICBbbV9zeW5jaHJvbml6ZXIgc2V0
UmF0ZTptX3JhdGVdOwogfQogCiBNZWRpYVBsYXllcjo6TmV0d29ya1N0YXRlIE1lZGlhUGxheWVy
UHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6bmV0d29ya1N0YXRlKCkgY29uc3QKQEAgLTQzNyw3
ICs0OTAsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6ZW5z
dXJlTGF5ZXIoKQogICAgICAgICByZXR1cm47CiAKICAgICBtX3NhbXBsZUJ1ZmZlckRpc3BsYXlM
YXllciA9IGFkb3B0TlMoW1tnZXRBVlNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllckNsYXNzKCkgYWxs
b2NdIGluaXRdKTsKLSAgICBbbV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIgc2V0Q29udHJvbFRp
bWViYXNlOm1fY2xvY2stPnRpbWViYXNlKCldOworICAgIFttX3N5bmNocm9uaXplciBhZGRSZW5k
ZXJlcjptX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5nZXQoKV07CiB9CiAKIHZvaWQgTWVkaWFQ
bGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpkZXN0cm95TGF5ZXIoKQpAQCAtNDQ1LDcg
KzQ5OCwxMCBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6ZGVz
dHJveUxheWVyKCkKICAgICBpZiAoIW1fc2FtcGxlQnVmZmVyRGlzcGxheUxheWVyKQogICAgICAg
ICByZXR1cm47CiAKLSAgICBbbV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIgc2V0Q29udHJvbFRp
bWViYXNlOjBdOworICAgIENNVGltZSBjdXJyZW50VGltZSA9IENNVGltZWJhc2VHZXRUaW1lKFtt
X3N5bmNocm9uaXplciB0aW1lYmFzZV0pOworICAgIFttX3N5bmNocm9uaXplciByZW1vdmVSZW5k
ZXJlcjptX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5nZXQoKSBhdFRpbWU6Y3VycmVudFRpbWUg
d2l0aENvbXBsZXRpb25IYW5kbGVyOl4oQk9PTCl7CisgICAgICAgIC8vIE5vLW9wLgorICAgIH1d
OwogICAgIG1fc2FtcGxlQnVmZmVyRGlzcGxheUxheWVyID0gbnVsbHB0cjsKIH0KIApAQCAtNDU0
LDYgKzUxMCwxMSBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6
ZHVyYXRpb25DaGFuZ2VkKCkKICAgICBtX3BsYXllci0+ZHVyYXRpb25DaGFuZ2VkKCk7CiB9CiAK
K3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjplZmZlY3RpdmVSYXRl
Q2hhbmdlZCgpCit7CisgICAgbV9wbGF5ZXItPnJhdGVDaGFuZ2VkKCk7Cit9CisKIHZvaWQgTWVk
aWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpzZXRSZWFkeVN0YXRlKE1lZGlhUGxh
eWVyOjpSZWFkeVN0YXRlIHJlYWR5U3RhdGUpCiB7CiAgICAgaWYgKG1fcmVhZHlTdGF0ZSA9PSBy
ZWFkeVN0YXRlKQpAQCAtNDc5LDcgKzU0MCw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFTb3VyY2VBVkZPYmpDOjphZGREaXNwbGF5TGF5ZXIoQVZTYW1wbGVCdWZmZXJEaXNwbGF5CiAg
ICAgICAgIHJldHVybjsKIAogICAgIG1fc2FtcGxlQnVmZmVyRGlzcGxheUxheWVyID0gZGlzcGxh
eUxheWVyOwotICAgIFttX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllciBzZXRDb250cm9sVGltZWJh
c2U6bV9jbG9jay0+dGltZWJhc2UoKV07CisgICAgW21fc3luY2hyb25pemVyIGFkZFJlbmRlcmVy
Om1fc2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLmdldCgpXTsKICAgICBtX3BsYXllci0+bWVkaWFQ
bGF5ZXJDbGllbnQoKS0+bWVkaWFQbGF5ZXJSZW5kZXJpbmdNb2RlQ2hhbmdlZChtX3BsYXllcik7
CiAKICAgICAvLyBGSVhNRTogbW92ZSB0aGlzIHNvbWV3aGVyZSBhcHByb3ByaWF0ZToKQEAgLTQ5
MSw2ICs1NTIsMTEgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6
OnJlbW92ZURpc3BsYXlMYXllcihBVlNhbXBsZUJ1ZmZlckRpc3AKICAgICBpZiAoZGlzcGxheUxh
eWVyICE9IG1fc2FtcGxlQnVmZmVyRGlzcGxheUxheWVyKQogICAgICAgICByZXR1cm47CiAKKyAg
ICBDTVRpbWUgY3VycmVudFRpbWUgPSBDTVRpbWViYXNlR2V0VGltZShbbV9zeW5jaHJvbml6ZXIg
dGltZWJhc2VdKTsKKyAgICBbbV9zeW5jaHJvbml6ZXIgcmVtb3ZlUmVuZGVyZXI6bV9zYW1wbGVC
dWZmZXJEaXNwbGF5TGF5ZXIuZ2V0KCkgYXRUaW1lOmN1cnJlbnRUaW1lIHdpdGhDb21wbGV0aW9u
SGFuZGxlcjpeKEJPT0wpeworICAgICAgICAvLyBOby1vcC4KKyAgICB9XTsKKwogICAgIG1fc2Ft
cGxlQnVmZmVyRGlzcGxheUxheWVyID0gbnVsbHB0cjsKICAgICBtX3BsYXllci0+bWVkaWFQbGF5
ZXJDbGllbnQoKS0+bWVkaWFQbGF5ZXJSZW5kZXJpbmdNb2RlQ2hhbmdlZChtX3BsYXllcik7CiB9
CkBAIC01MDEsNyArNTY3LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFW
Rk9iakM6OmFkZEF1ZGlvUmVuZGVyZXIoQVZTYW1wbGVCdWZmZXJBdWRpb1IKICAgICAgICAgcmV0
dXJuOwogCiAgICAgbV9zYW1wbGVCdWZmZXJBdWRpb1JlbmRlcmVycy5hcHBlbmQoYXVkaW9SZW5k
ZXJlcik7Ci0gICAgRmlnUmVhZE9ubHlUaW1lYmFzZVNldFRhcmdldFRpbWViYXNlKFthdWRpb1Jl
bmRlcmVyIHRpbWViYXNlXSwgbV9jbG9jay0+dGltZWJhc2UoKSk7CisgICAgW21fc3luY2hyb25p
emVyIGFkZFJlbmRlcmVyOmF1ZGlvUmVuZGVyZXJdOwogICAgIG1fcGxheWVyLT5tZWRpYVBsYXll
ckNsaWVudCgpLT5tZWRpYVBsYXllclJlbmRlcmluZ01vZGVDaGFuZ2VkKG1fcGxheWVyKTsKIH0K
IApAQCAtNTExLDYgKzU3NywxMSBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNl
QVZGT2JqQzo6cmVtb3ZlQXVkaW9SZW5kZXJlcihBVlNhbXBsZUJ1ZmZlckF1ZAogICAgIGlmIChw
b3MgPT0gbm90Rm91bmQpCiAgICAgICAgIHJldHVybjsKIAorICAgIENNVGltZSBjdXJyZW50VGlt
ZSA9IENNVGltZWJhc2VHZXRUaW1lKFttX3N5bmNocm9uaXplciB0aW1lYmFzZV0pOworICAgIFtt
X3N5bmNocm9uaXplciByZW1vdmVSZW5kZXJlcjphdWRpb1JlbmRlcmVyIGF0VGltZTpjdXJyZW50
VGltZSB3aXRoQ29tcGxldGlvbkhhbmRsZXI6XihCT09MKXsKKyAgICAgICAgLy8gTm8tb3AuCisg
ICAgfV07CisKICAgICBtX3NhbXBsZUJ1ZmZlckF1ZGlvUmVuZGVyZXJzLnJlbW92ZShwb3MpOwog
ICAgIG1fcGxheWVyLT5tZWRpYVBsYXllckNsaWVudCgpLT5tZWRpYVBsYXllclJlbmRlcmluZ01v
ZGVDaGFuZ2VkKG1fcGxheWVyKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpD
Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
U291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW0KaW5kZXggN2E2ZDRmZmNlOTAxOTVlZmE2MzFl
OWVkNDVhZjZiZDhlYmIwN2E5My4uMjEwMjgxOGNhY2Q2MDU4Y2UxYTBmY2QzMDllZmYxMDA3NDdh
ZWExZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJp
dmF0ZUFWRk9iakMubW0KQEAgLTM1OCwxOCArMzU4LDExIEBAIHN0cnVjdCBQcm9jZXNzQ29kZWRG
cmFtZUluZm8gewogICAgIGNvbnN0IFN0cmluZyYgbWVkaWFUeXBlOwogfTsKIAotc3RhdGljIE9T
U3RhdHVzIGNhbGxQcm9jZXNzQ29kZWRGcmFtZUZvckVhY2hTYW1wbGUoQ01TYW1wbGVCdWZmZXJS
ZWYgc2FtcGxlQnVmZmVyLCBDTUl0ZW1Db3VudCwgdm9pZCAqcmVmY29uKQotewotICAgIFByb2Nl
c3NDb2RlZEZyYW1lSW5mbyogaW5mbyA9IHN0YXRpY19jYXN0PFByb2Nlc3NDb2RlZEZyYW1lSW5m
byo+KHJlZmNvbik7Ci0gICAgcmV0dXJuIGluZm8tPnNvdXJjZUJ1ZmZlci0+cHJvY2Vzc0NvZGVk
RnJhbWUoaW5mby0+dHJhY2tJRCwgc2FtcGxlQnVmZmVyLCBpbmZvLT5tZWRpYVR5cGUpID8gbm9F
cnIgOiBwYXJhbUVycjsKLX0KLQogdm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6ZGlk
UHJvdmlkZU1lZGlhRGF0YUZvclRyYWNrSUQoaW50IHRyYWNrSUQsIENNU2FtcGxlQnVmZmVyUmVm
IHNhbXBsZUJ1ZmZlciwgY29uc3QgU3RyaW5nJiBtZWRpYVR5cGUsIHVuc2lnbmVkIGZsYWdzKQog
ewogICAgIFVOVVNFRF9QQVJBTShmbGFncyk7CiAKLSAgICBQcm9jZXNzQ29kZWRGcmFtZUluZm8g
aW5mbyA9IHt0aGlzLCB0cmFja0lELCBtZWRpYVR5cGV9OwotICAgIENNU2FtcGxlQnVmZmVyQ2Fs
bEZvckVhY2hTYW1wbGUoc2FtcGxlQnVmZmVyLCAmY2FsbFByb2Nlc3NDb2RlZEZyYW1lRm9yRWFj
aFNhbXBsZSwgJmluZm8pOworICAgIHByb2Nlc3NDb2RlZEZyYW1lKHRyYWNrSUQsIHNhbXBsZUJ1
ZmZlciwgbWVkaWFUeXBlKTsKIH0KIAogYm9vbCBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6
cHJvY2Vzc0NvZGVkRnJhbWUoaW50IHRyYWNrSUQsIENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZUJ1
ZmZlciwgY29uc3QgU3RyaW5nJikK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>219597</attachid>
            <date>2013-12-18 17:59:54 -0800</date>
            <delta_ts>2013-12-18 20:22:08 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-125954-20131218175953.patch</filename>
            <type>text/plain</type>
            <size>17008</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwODEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTE0ZDA0YzdjMzU1MzY3
ZGQxODFkZGUyNjEwZDk5NWEyNmIyZTdlNC4uYzY0ZDNhNDJiYTc3YzMzYWI2MTllM2U0MDg4MzIy
MGQxM2M1MzVlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEzLTEyLTE4ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtNU0VdW01hY10gQWRkIEFW
U2FtcGxlQnVmZmVyUmVuZGVyZXJTeW5jaHJvbml6ZXIgc3VwcG9ydC4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNTk1NAorCisgICAgICAgIFJldmll
d2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICBJbnN0ZWFkIG9mIHNsYXZpbmcgYWxsIHRo
ZSB2YXJpb3VzIHJlbmRlcmVyJ3MgQ01UaW1lYmFzZXMgdG8gb25lIG1hc3RlciB0aW1lYmFzZSwK
KyAgICAgICAgdXNlIEFWU2FtcGxlQnVmZmVyUmVuZGVyU3luY2hyb25pemVyLCB3aGljaCBlc3Nl
bnRpYWxseSBkb2VzIHRoZSBzYW1lIHRoaW5nLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpD
Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQ
bGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6Q01U
aW1lYmFzZUVmZmVjdGl2ZVJhdGVDaGFuZ2VkQ2FsbGJhY2spOiBBZGRlZDsgY2FsbCBlZmZlY3Rp
dmVSYXRlQ2hhbmdlZCgpLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFTb3VyY2VBVkZPYmpDOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMpOiBT
ZXQgdXAKKyAgICAgICAgICAgIHRoZSBzeW5jaHJvbml6ZXIgYW5kIGFsbCB0aGUgb2JzZXJ2ZXJz
LgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpD
Ojp+TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDKTogVGVhciBkb3duCisgICAg
ICAgICAgICB0aGUgc2FtZS4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZU1l
ZGlhU291cmNlQVZGT2JqQzo6aXNBdmFpbGFibGUpOiBSZXF1aXJlIHRoZQorICAgICAgICAgICAg
QVZTYW1wbGVCdWZmZXJSZW5kZXJTeW5jaHJvbml6ZXIgY2xhc3MuCisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnBsYXlJbnRlcm5hbCk6IENv
bnZlcnQgQ2xvY2sgLT4gU3luY2hyb25pemVyLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5
ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpwYXVzZUludGVybmFsKTogRGl0dG8uCisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnBhdXNl
ZCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3Vy
Y2VBVkZPYmpDOjpjdXJyZW50VGltZURvdWJsZSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpzZWVrSW50ZXJuYWwpOiBEaXR0
by4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2Jq
Qzo6c2V0UmF0ZURvdWJsZSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQ
cml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjplbnN1cmVMYXllcik6IERpdHRvLgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpkZXN0cm95TGF5
ZXIpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291
cmNlQVZGT2JqQzo6ZWZmZWN0aXZlUmF0ZUNoYW5nZWQpOiBEaXR0by4KKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6YWRkRGlzcGxheUxheWVy
KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJj
ZUFWRk9iakM6OnJlbW92ZURpc3BsYXlMYXllcik6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjphZGRBdWRpb1JlbmRlcmVyKTog
RGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFW
Rk9iakM6OnJlbW92ZUF1ZGlvUmVuZGVyZXIpOiBEaXR0by4KKworICAgICAgICBEcml2ZS1ieSBm
aXg7IGF1ZGlvIHNhbXBsZXMgY2FuJ3QgYmUgc3ViZGl2aWRlZCwgYW5kIHZpZGVvIHNhbXBsZXMg
YXJlCisgICAgICAgIHJhcmVseSBjb21iaW5lZCwgc28gcmVtb3ZlIHRoZSBjYWxsIHRvIENNU2Ft
cGxlQnVmZmVyQ2FsbEZvckVhY2hTYW1wbGU6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW06CisgICAgICAg
IChXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6ZGlkUHJvdmlkZU1lZGlhRGF0
YUZvclRyYWNrSUQpOgorCiAyMDEzLTEyLTE3ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUu
Y29tPgogCiAgICAgICAgIFtNU0VdW01hY10gQWRkIEFWU2FtcGxlQnVmZmVyQXVkaW9SZW5kZXJl
ciBzdXBwb3J0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRp
YVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaAppbmRleCA0Njk5M2QwNDI3YmZiNzZi
ZTBmZjM2ZmJlNjE0YTVlZmUyYmQzZTU0Li4yMDE4MThlOTJmNmE3OGYxMzNiYjJlZTIxNGVkYmNh
MmY3ZTkxMWNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9N
ZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaApAQCAtMzYsNiArMzYsNyBAQAog
T0JKQ19DTEFTUyBBVkFzc2V0OwogT0JKQ19DTEFTUyBBVlNhbXBsZUJ1ZmZlckF1ZGlvUmVuZGVy
ZXI7CiBPQkpDX0NMQVNTIEFWU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyOworT0JKQ19DTEFTUyBB
VlNhbXBsZUJ1ZmZlclJlbmRlclN5bmNocm9uaXplcjsKIAogdHlwZWRlZiBzdHJ1Y3QgT3BhcXVl
Q01UaW1lYmFzZSogQ01UaW1lYmFzZVJlZjsKIApAQCAtNjcsNiArNjgsOCBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBzZXRIYXNBdmFpbGFibGVWaWRlb0ZyYW1lKGJvb2wgZmxhZykgeyBtX2hhc0F2YWls
YWJsZVZpZGVvRnJhbWUgPSBmbGFnOyB9CiAgICAgdm9pZCBkdXJhdGlvbkNoYW5nZWQoKTsKIAor
ICAgIHZvaWQgZWZmZWN0aXZlUmF0ZUNoYW5nZWQoKTsKKwogcHJpdmF0ZToKICAgICAvLyBNZWRp
YVBsYXllclByaXZhdGVJbnRlcmZhY2UKICAgICB2aXJ0dWFsIHZvaWQgbG9hZChjb25zdCBTdHJp
bmcmIHVybCkgT1ZFUlJJREU7CkBAIC0xNjEsOSArMTY0LDEyIEBAIHByaXZhdGU6CiAgICAgUmV0
YWluUHRyPEFWQXNzZXQ+IG1fYXNzZXQ7CiAgICAgUmV0YWluUHRyPEFWU2FtcGxlQnVmZmVyRGlz
cGxheUxheWVyPiBtX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcjsKICAgICBWZWN0b3I8UmV0YWlu
UHRyPEFWU2FtcGxlQnVmZmVyQXVkaW9SZW5kZXJlcj4+IG1fc2FtcGxlQnVmZmVyQXVkaW9SZW5k
ZXJlcnM7Ci0gICAgc3RkOjp1bmlxdWVfcHRyPFBsYXRmb3JtQ2xvY2tDTT4gbV9jbG9jazsKKyAg
ICBSZXRhaW5QdHI8QVZTYW1wbGVCdWZmZXJSZW5kZXJTeW5jaHJvbml6ZXI+IG1fc3luY2hyb25p
emVyOworICAgIFJldGFpblB0cjxpZD4gbV90aW1lSnVtcGVkT2JzZXJ2ZXI7CiAgICAgTWVkaWFQ
bGF5ZXI6Ok5ldHdvcmtTdGF0ZSBtX25ldHdvcmtTdGF0ZTsKICAgICBNZWRpYVBsYXllcjo6UmVh
ZHlTdGF0ZSBtX3JlYWR5U3RhdGU7CisgICAgZG91YmxlIG1fcmF0ZTsKKyAgICBib29sIG1fcGxh
eWluZzsKICAgICBib29sIG1fc2Vla2luZzsKICAgICBtdXRhYmxlIGJvb2wgbV9sb2FkaW5nUHJv
Z3Jlc3NlZDsKICAgICBib29sIG1faGFzQXZhaWxhYmxlVmlkZW9GcmFtZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291
cmNlQVZGT2JqQy5tbQppbmRleCAwMmJhMjQ2ZWY1MTFjYTg3MWRlZGQzZjA1MDNlYzI5YTcwOGRj
ZmUyLi4wMzQ2ZTM2YzY4OTdhZGY1NmM3NmMzMjJlNGIwZTJlYzRjNmYwNjg5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRp
YVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0KKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFTb3VyY2VBVkZPYmpDLm1tCkBAIC0yOSw3ICsyOSw5IEBACiAjaWYgRU5BQkxFKE1FRElBX1NP
VVJDRSkgJiYgVVNFKEFWRk9VTkRBVElPTikKIAogI2ltcG9ydCAiSFRNTE1lZGlhU291cmNlLmgi
CisjaW1wb3J0ICJMb2dnaW5nLmgiCiAjaW1wb3J0ICJNZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpD
LmgiCisjaW1wb3J0ICJNZWRpYVRpbWVNYWMuaCIKICNpbXBvcnQgIlBsYXRmb3JtQ2xvY2tDTS5o
IgogI2ltcG9ydCAiU29mdExpbmtpbmcuaCIKICNpbXBvcnQgPEFWRm91bmRhdGlvbi9BVlNhbXBs
ZUJ1ZmZlckRpc3BsYXlMYXllci5oPgpAQCAtNTAsMTAgKzUyLDE5IEBAIFNPRlRfTElOS19DTEFT
U19PUFRJT05BTChBVkZvdW5kYXRpb24sIEFWQXNzZXQpCiBTT0ZUX0xJTktfQ0xBU1NfT1BUSU9O
QUwoQVZGb3VuZGF0aW9uLCBBVlVSTEFzc2V0KQogU09GVF9MSU5LX0NMQVNTX09QVElPTkFMKEFW
Rm91bmRhdGlvbiwgQVZTYW1wbGVCdWZmZXJBdWRpb1JlbmRlcmVyKQogU09GVF9MSU5LX0NMQVNT
X09QVElPTkFMKEFWRm91bmRhdGlvbiwgQVZTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIpCitTT0ZU
X0xJTktfQ0xBU1NfT1BUSU9OQUwoQVZGb3VuZGF0aW9uLCBBVlNhbXBsZUJ1ZmZlclJlbmRlclN5
bmNocm9uaXplcikKIFNPRlRfTElOS19DTEFTU19PUFRJT05BTChBVkZvdW5kYXRpb24sIEFWU3Ry
ZWFtRGF0YVBhcnNlcikKIFNPRlRfTElOS19DTEFTU19PUFRJT05BTChBVkZvdW5kYXRpb24sIEFW
VmlkZW9QZXJmb3JtYW5jZU1ldHJpY3MpCiAKLVNPRlRfTElOSyhDb3JlTWVkaWEsIEZpZ1JlYWRP
bmx5VGltZWJhc2VTZXRUYXJnZXRUaW1lYmFzZSwgT1NTdGF0dXMsIChDTVRpbWViYXNlUmVmIHRp
bWViYXNlLCBDTVRpbWViYXNlUmVmIG5ld1RhcmdldFRpbWViYXNlKSwgKHRpbWViYXNlLCBuZXdU
YXJnZXRUaW1lYmFzZSkpCit0eXBlZGVmIHN0cnVjdCBvcGFxdWVDTU5vdGlmaWNhdGlvbkNlbnRl
ciAqQ01Ob3RpZmljYXRpb25DZW50ZXJSZWY7Cit0eXBlZGVmIHZvaWQgKCpDTU5vdGlmaWNhdGlv
bkNhbGxiYWNrKShDTU5vdGlmaWNhdGlvbkNlbnRlclJlZiBpbkNlbnRlciwgY29uc3Qgdm9pZCAq
aW5MaXN0ZW5lciwgQ0ZTdHJpbmdSZWYgaW5Ob3RpZmljYXRpb25OYW1lLCBjb25zdCB2b2lkICpp
bk5vdGlmeWluZ09iamVjdCwgQ0ZUeXBlUmVmIGluTm90aWZpY2F0aW9uUGF5bG9hZCk7CisKK1NP
RlRfTElOSyhDb3JlTWVkaWEsIENNTm90aWZpY2F0aW9uQ2VudGVyR2V0RGVmYXVsdExvY2FsQ2Vu
dGVyLCBDTU5vdGlmaWNhdGlvbkNlbnRlclJlZiwgKHZvaWQpLCAoKSk7CitTT0ZUX0xJTksoQ29y
ZU1lZGlhLCBDTU5vdGlmaWNhdGlvbkNlbnRlckFkZExpc3RlbmVyLCBPU1N0YXR1cywgKENNTm90
aWZpY2F0aW9uQ2VudGVyUmVmIGNlbnRlciwgY29uc3Qgdm9pZCogbGlzdGVuZXIsIENNTm90aWZp
Y2F0aW9uQ2FsbGJhY2sgY2FsbGJhY2ssIENGU3RyaW5nUmVmIG5vdGlmaWNhdGlvbiwgY29uc3Qg
dm9pZCogb2JqZWN0LCBVSW50MzIgZmxhZ3MpLCAoY2VudGVyLCBsaXN0ZW5lciwgY2FsbGJhY2ss
IG5vdGlmaWNhdGlvbiwgb2JqZWN0LCBmbGFncykpCitTT0ZUX0xJTksoQ29yZU1lZGlhLCBDTU5v
dGlmaWNhdGlvbkNlbnRlclJlbW92ZUxpc3RlbmVyLCBPU1N0YXR1cywgKENNTm90aWZpY2F0aW9u
Q2VudGVyUmVmIGNlbnRlciwgY29uc3Qgdm9pZCogbGlzdGVuZXIsIENNTm90aWZpY2F0aW9uQ2Fs
bGJhY2sgY2FsbGJhY2ssIENGU3RyaW5nUmVmIG5vdGlmaWNhdGlvbiwgY29uc3Qgdm9pZCogb2Jq
ZWN0KSwgKGNlbnRlciwgbGlzdGVuZXIsIGNhbGxiYWNrLCBub3RpZmljYXRpb24sIG9iamVjdCkp
CisKK1NPRlRfTElOS19DT05TVEFOVChDb3JlTWVkaWEsIGtDTVRpbWViYXNlTm90aWZpY2F0aW9u
X0VmZmVjdGl2ZVJhdGVDaGFuZ2VkLCBDRlN0cmluZ1JlZikKKyNkZWZpbmUga0NNVGltZWJhc2VO
b3RpZmljYXRpb25fRWZmZWN0aXZlUmF0ZUNoYW5nZWQgZ2V0a0NNVGltZWJhc2VOb3RpZmljYXRp
b25fRWZmZWN0aXZlUmF0ZUNoYW5nZWQoKQogCiAjcHJhZ21hIG1hcmsgLQogI3ByYWdtYSBtYXJr
IEFWVmlkZW9QZXJmb3JtYW5jZU1ldHJpY3MKQEAgLTgxLDIzICs5Miw2NSBAQCBTT0ZUX0xJTkso
Q29yZU1lZGlhLCBGaWdSZWFkT25seVRpbWViYXNlU2V0VGFyZ2V0VGltZWJhc2UsIE9TU3RhdHVz
LCAoQ01UaW1lYmFzZQogQGVuZAogI2VuZGlmCiAKKyNwcmFnbWEgbWFyayAtCisjcHJhZ21hIG1h
cmsgQVZTYW1wbGVCdWZmZXJSZW5kZXJTeW5jaHJvbml6ZXIKKworQGludGVyZmFjZSBBVlNhbXBs
ZUJ1ZmZlclJlbmRlclN5bmNocm9uaXplciA6IE5TT2JqZWN0CistIChDTVRpbWViYXNlUmVmKXRp
bWViYXNlOworLSAoZmxvYXQpcmF0ZTsKKy0gKHZvaWQpc2V0UmF0ZTooZmxvYXQpcmF0ZTsKKy0g
KHZvaWQpc2V0UmF0ZTooZmxvYXQpcmF0ZSB0aW1lOihDTVRpbWUpdGltZTsKKy0gKE5TQXJyYXkg
KilyZW5kZXJlcnM7CistICh2b2lkKWFkZFJlbmRlcmVyOihpZClyZW5kZXJlcjsKKy0gKHZvaWQp
cmVtb3ZlUmVuZGVyZXI6KGlkKXJlbmRlcmVyIGF0VGltZTooQ01UaW1lKXRpbWUgd2l0aENvbXBs
ZXRpb25IYW5kbGVyOih2b2lkICheKShCT09MIGRpZFJlbW92ZVJlbmRlcmVyKSljb21wbGV0aW9u
SGFuZGxlcjsKKy0gKGlkKWFkZFBlcmlvZGljVGltZU9ic2VydmVyRm9ySW50ZXJ2YWw6KENNVGlt
ZSlpbnRlcnZhbCBxdWV1ZTooZGlzcGF0Y2hfcXVldWVfdClxdWV1ZSB1c2luZ0Jsb2NrOih2b2lk
ICheKShDTVRpbWUgdGltZSkpYmxvY2s7CistICh2b2lkKXJlbW92ZVRpbWVPYnNlcnZlcjooaWQp
b2JzZXJ2ZXI7CitAZW5kCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogI3ByYWdtYSBtYXJrIC0K
ICNwcmFnbWEgbWFyayBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMKIAorc3Rh
dGljIHZvaWQgQ01UaW1lYmFzZUVmZmVjdGl2ZVJhdGVDaGFuZ2VkQ2FsbGJhY2soQ01Ob3RpZmlj
YXRpb25DZW50ZXJSZWYsIGNvbnN0IHZvaWQgKmxpc3RlbmVyLCBDRlN0cmluZ1JlZiwgY29uc3Qg
dm9pZCAqLCBDRlR5cGVSZWYpCit7CisgICAgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VB
VkZPYmpDKiBwbGF5ZXIgPSAoTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDKils
aXN0ZW5lcjsKKyAgICBjYWxsT25NYWluVGhyZWFkKGJpbmQoJk1lZGlhUGxheWVyUHJpdmF0ZU1l
ZGlhU291cmNlQVZGT2JqQzo6ZWZmZWN0aXZlUmF0ZUNoYW5nZWQsIHBsYXllcikpOworfQorCiBN
ZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6Ok1lZGlhUGxheWVyUHJpdmF0ZU1l
ZGlhU291cmNlQVZGT2JqQyhNZWRpYVBsYXllciogcGxheWVyKQogICAgIDogbV9wbGF5ZXIocGxh
eWVyKQotICAgICwgbV9jbG9jayhuZXcgUGxhdGZvcm1DbG9ja0NNKCkpCisgICAgLCBtX3N5bmNo
cm9uaXplcihhZG9wdE5TKFtbZ2V0QVZTYW1wbGVCdWZmZXJSZW5kZXJTeW5jaHJvbml6ZXJDbGFz
cygpIGFsbG9jXSBpbml0XSkpCiAgICAgLCBtX25ldHdvcmtTdGF0ZShNZWRpYVBsYXllcjo6RW1w
dHkpCiAgICAgLCBtX3JlYWR5U3RhdGUoTWVkaWFQbGF5ZXI6OkhhdmVOb3RoaW5nKQorICAgICwg
bV9yYXRlKDEpCisgICAgLCBtX3BsYXlpbmcoMCkKICAgICAsIG1fc2Vla2luZyhmYWxzZSkKICAg
ICAsIG1fbG9hZGluZ1Byb2dyZXNzZWQoZmFsc2UpCiB7CisgICAgQ01UaW1lYmFzZVJlZiB0aW1l
YmFzZSA9IFttX3N5bmNocm9uaXplciB0aW1lYmFzZV07CisgICAgQ01Ob3RpZmljYXRpb25DZW50
ZXJSZWYgbmMgPSBDTU5vdGlmaWNhdGlvbkNlbnRlckdldERlZmF1bHRMb2NhbENlbnRlcigpOwor
ICAgIENNTm90aWZpY2F0aW9uQ2VudGVyQWRkTGlzdGVuZXIobmMsIHRoaXMsIENNVGltZWJhc2VF
ZmZlY3RpdmVSYXRlQ2hhbmdlZENhbGxiYWNrLCBrQ01UaW1lYmFzZU5vdGlmaWNhdGlvbl9FZmZl
Y3RpdmVSYXRlQ2hhbmdlZCwgdGltZWJhc2UsIDApOworCisgICAgLy8gYWRkUGVyaW9kaWNUaW1l
T2JzZXJ2ZXJGb3JJbnRlcnZhbDogdGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB5b3UgcGFzcyBhIG5v
bi1udW1lcmljIENNVGltZSwgc28ganVzdCB1c2UKKyAgICAvLyBhbiBhcmJpdHJhcmlseSBsYXJn
ZSB0aW1lIHZhbHVlIG9mIG9uY2UgYW4gaG91cjoKKyAgICBtX3RpbWVKdW1wZWRPYnNlcnZlciA9
IFttX3N5bmNocm9uaXplciBhZGRQZXJpb2RpY1RpbWVPYnNlcnZlckZvckludGVydmFsOnRvQ01U
aW1lKE1lZGlhVGltZTo6Y3JlYXRlV2l0aERvdWJsZSgzNjAwKSkgcXVldWU6ZGlzcGF0Y2hfZ2V0
X21haW5fcXVldWUoKSB1c2luZ0Jsb2NrOl4oQ01UaW1lIHRpbWUpeworICAgICAgICBpZiAobV9z
ZWVraW5nKSB7CisgICAgICAgICAgICBMT0coTWVkaWEsICJNZWRpYVBsYXllclByaXZhdGVNZWRp
YVNvdXJjZUFWRk9iakMgdGltZU9ic2VydmVyIC0gdGltZTolbGYiLCB0b01lZGlhVGltZSh0aW1l
KS50b0RvdWJsZSgpKTsKKworICAgICAgICAgICAgbV9zZWVraW5nID0gZmFsc2U7CisgICAgICAg
ICAgICBtX3BsYXllci0+dGltZUNoYW5nZWQoKTsKKyAgICAgICAgfQorICAgIH1dOwogfQogCiBN
ZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6On5NZWRpYVBsYXllclByaXZhdGVN
ZWRpYVNvdXJjZUFWRk9iakMoKQogeworICAgIENNVGltZWJhc2VSZWYgdGltZWJhc2UgPSBbbV9z
eW5jaHJvbml6ZXIgdGltZWJhc2VdOworICAgIENNTm90aWZpY2F0aW9uQ2VudGVyUmVmIG5jID0g
Q01Ob3RpZmljYXRpb25DZW50ZXJHZXREZWZhdWx0TG9jYWxDZW50ZXIoKTsKKyAgICBDTU5vdGlm
aWNhdGlvbkNlbnRlclJlbW92ZUxpc3RlbmVyKG5jLCB0aGlzLCBDTVRpbWViYXNlRWZmZWN0aXZl
UmF0ZUNoYW5nZWRDYWxsYmFjaywga0NNVGltZWJhc2VOb3RpZmljYXRpb25fRWZmZWN0aXZlUmF0
ZUNoYW5nZWQsIHRpbWViYXNlKTsKKworICAgIFttX3N5bmNocm9uaXplciByZW1vdmVUaW1lT2Jz
ZXJ2ZXI6bV90aW1lSnVtcGVkT2JzZXJ2ZXIuZ2V0KCldOwogfQogCiAjcHJhZ21hIG1hcmsgLQpA
QCAtMTE2LDcgKzE2OSw3IEBAIFBhc3NPd25QdHI8TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNl
PiBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OmNyCiAKIGJvb2wgTWVkaWFQ
bGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjppc0F2YWlsYWJsZSgpCiB7Ci0gICAgcmV0
dXJuIEFWRm91bmRhdGlvbkxpYnJhcnkoKSAmJiBDb3JlTWVkaWFMaWJyYXJ5KCkgJiYgZ2V0QVZT
dHJlYW1EYXRhUGFyc2VyQ2xhc3MoKSAmJiBnZXRBVlNhbXBsZUJ1ZmZlckF1ZGlvUmVuZGVyZXJD
bGFzcygpOworICAgIHJldHVybiBBVkZvdW5kYXRpb25MaWJyYXJ5KCkgJiYgQ29yZU1lZGlhTGli
cmFyeSgpICYmIGdldEFWU3RyZWFtRGF0YVBhcnNlckNsYXNzKCkgJiYgZ2V0QVZTYW1wbGVCdWZm
ZXJBdWRpb1JlbmRlcmVyQ2xhc3MoKSAmJiBnZXRBVlNhbXBsZUJ1ZmZlclJlbmRlclN5bmNocm9u
aXplckNsYXNzKCk7CiB9CiAKIHN0YXRpYyBIYXNoU2V0PFN0cmluZz4gbWltZVR5cGVDYWNoZSgp
CkBAIC0yMDYsOCArMjU5LDggQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFW
Rk9iakM6OnBsYXkoKQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2Jq
Qzo6cGxheUludGVybmFsKCkKIHsKLSAgICBtX2Nsb2NrLT5zdGFydCgpOwotICAgIG1fcGxheWVy
LT5yYXRlQ2hhbmdlZCgpOworICAgIG1fcGxheWluZyA9IHRydWU7CisgICAgW21fc3luY2hyb25p
emVyIHNldFJhdGU6bV9yYXRlXTsKIH0KIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNv
dXJjZUFWRk9iakM6OnBhdXNlKCkKQEAgLTIxNywxMyArMjcwLDEzIEBAIHZvaWQgTWVkaWFQbGF5
ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpwYXVzZSgpCiAKIHZvaWQgTWVkaWFQbGF5ZXJQ
cml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpwYXVzZUludGVybmFsKCkKIHsKLSAgICBtX2Nsb2Nr
LT5zdG9wKCk7Ci0gICAgbV9wbGF5ZXItPnJhdGVDaGFuZ2VkKCk7CisgICAgbV9wbGF5aW5nID0g
ZmFsc2U7CisgICAgW21fc3luY2hyb25pemVyIHNldFJhdGU6MF07CiB9CiAKIGJvb2wgTWVkaWFQ
bGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpwYXVzZWQoKSBjb25zdAogewotICAgIHJl
dHVybiAhbV9jbG9jay0+aXNSdW5uaW5nKCk7CisgICAgcmV0dXJuICFtX3BsYXlpbmc7CiB9CiAK
IHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpzZXRWb2x1bWUoZmxv
YXQgdm9sdW1lKQpAQCAtMjcxLDcgKzMyNCw3IEBAIGRvdWJsZSBNZWRpYVBsYXllclByaXZhdGVN
ZWRpYVNvdXJjZUFWRk9iakM6OmR1cmF0aW9uRG91YmxlKCkgY29uc3QKIAogZG91YmxlIE1lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6Y3VycmVudFRpbWVEb3VibGUoKSBjb25z
dAogewotICAgIHJldHVybiBtX2Nsb2NrLT5jdXJyZW50VGltZSgpOworICAgIHJldHVybiBDTVRp
bWVHZXRTZWNvbmRzKENNVGltZWJhc2VHZXRUaW1lKFttX3N5bmNocm9uaXplciB0aW1lYmFzZV0p
KTsKIH0KIAogZG91YmxlIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6c3Rh
cnRUaW1lRG91YmxlKCkgY29uc3QKQEAgLTI5Myw5ICszNDYsOCBAQCB2b2lkIE1lZGlhUGxheWVy
UHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6c2Vla1dpdGhUb2xlcmFuY2UoZG91YmxlIHRpbWUs
IGRvdWJsZQogdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnNlZWtJ
bnRlcm5hbChkb3VibGUgdGltZSwgZG91YmxlIG5lZ2F0aXZlVGhyZXNob2xkLCBkb3VibGUgcG9z
aXRpdmVUaHJlc2hvbGQpCiB7CiAgICAgTWVkaWFUaW1lIHNlZWtUaW1lID0gbV9tZWRpYVNvdXJj
ZVByaXZhdGUtPnNlZWtUb1RpbWUoTWVkaWFUaW1lOjpjcmVhdGVXaXRoRG91YmxlKHRpbWUpLCBN
ZWRpYVRpbWU6OmNyZWF0ZVdpdGhEb3VibGUocG9zaXRpdmVUaHJlc2hvbGQpLCBNZWRpYVRpbWU6
OmNyZWF0ZVdpdGhEb3VibGUobmVnYXRpdmVUaHJlc2hvbGQpKTsKLSAgICBtX2Nsb2NrLT5zZXRD
dXJyZW50TWVkaWFUaW1lKHNlZWtUaW1lKTsKLSAgICBtX3NlZWtpbmcgPSBmYWxzZTsKLSAgICBt
X3BsYXllci0+dGltZUNoYW5nZWQoKTsKKworICAgIFttX3N5bmNocm9uaXplciBzZXRSYXRlOiht
X3BsYXlpbmcgPyBtX3JhdGUgOiAwKSB0aW1lOnRvQ01UaW1lKHNlZWtUaW1lKV07CiB9CiAKIGJv
b2wgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpzZWVraW5nKCkgY29uc3QK
QEAgLTMwNSw4ICszNTcsOSBAQCBib29sIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZG
T2JqQzo6c2Vla2luZygpIGNvbnN0CiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3Vy
Y2VBVkZPYmpDOjpzZXRSYXRlRG91YmxlKGRvdWJsZSByYXRlKQogewotICAgIG1fY2xvY2stPnNl
dFBsYXlSYXRlKHJhdGUpOwotICAgIG1fcGxheWVyLT5yYXRlQ2hhbmdlZCgpOworICAgIG1fcmF0
ZSA9IHJhdGU7CisgICAgaWYgKG1fcGxheWluZykKKyAgICAgICAgW21fc3luY2hyb25pemVyIHNl
dFJhdGU6bV9yYXRlXTsKIH0KIAogTWVkaWFQbGF5ZXI6Ok5ldHdvcmtTdGF0ZSBNZWRpYVBsYXll
clByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6Om5ldHdvcmtTdGF0ZSgpIGNvbnN0CkBAIC00Mzcs
NyArNDkwLDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OmVu
c3VyZUxheWVyKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgbV9zYW1wbGVCdWZmZXJEaXNwbGF5
TGF5ZXIgPSBhZG9wdE5TKFtbZ2V0QVZTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJDbGFzcygpIGFs
bG9jXSBpbml0XSk7Ci0gICAgW21fc2FtcGxlQnVmZmVyRGlzcGxheUxheWVyIHNldENvbnRyb2xU
aW1lYmFzZTptX2Nsb2NrLT50aW1lYmFzZSgpXTsKKyAgICBbbV9zeW5jaHJvbml6ZXIgYWRkUmVu
ZGVyZXI6bV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuZ2V0KCldOwogfQogCiB2b2lkIE1lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6ZGVzdHJveUxheWVyKCkKQEAgLTQ0NSw3
ICs0OTgsMTAgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OmRl
c3Ryb3lMYXllcigpCiAgICAgaWYgKCFtX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcikKICAgICAg
ICAgcmV0dXJuOwogCi0gICAgW21fc2FtcGxlQnVmZmVyRGlzcGxheUxheWVyIHNldENvbnRyb2xU
aW1lYmFzZTowXTsKKyAgICBDTVRpbWUgY3VycmVudFRpbWUgPSBDTVRpbWViYXNlR2V0VGltZShb
bV9zeW5jaHJvbml6ZXIgdGltZWJhc2VdKTsKKyAgICBbbV9zeW5jaHJvbml6ZXIgcmVtb3ZlUmVu
ZGVyZXI6bV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuZ2V0KCkgYXRUaW1lOmN1cnJlbnRUaW1l
IHdpdGhDb21wbGV0aW9uSGFuZGxlcjpeKEJPT0wpeworICAgICAgICAvLyBOby1vcC4KKyAgICB9
XTsKICAgICBtX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllciA9IG51bGxwdHI7CiB9CiAKQEAgLTQ1
NCw2ICs1MTAsMTEgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6
OmR1cmF0aW9uQ2hhbmdlZCgpCiAgICAgbV9wbGF5ZXItPmR1cmF0aW9uQ2hhbmdlZCgpOwogfQog
Cit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6ZWZmZWN0aXZlUmF0
ZUNoYW5nZWQoKQoreworICAgIG1fcGxheWVyLT5yYXRlQ2hhbmdlZCgpOworfQorCiB2b2lkIE1l
ZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6c2V0UmVhZHlTdGF0ZShNZWRpYVBs
YXllcjo6UmVhZHlTdGF0ZSByZWFkeVN0YXRlKQogewogICAgIGlmIChtX3JlYWR5U3RhdGUgPT0g
cmVhZHlTdGF0ZSkKQEAgLTQ3OSw3ICs1NDAsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1l
ZGlhU291cmNlQVZGT2JqQzo6YWRkRGlzcGxheUxheWVyKEFWU2FtcGxlQnVmZmVyRGlzcGxheQog
ICAgICAgICByZXR1cm47CiAKICAgICBtX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllciA9IGRpc3Bs
YXlMYXllcjsKLSAgICBbbV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIgc2V0Q29udHJvbFRpbWVi
YXNlOm1fY2xvY2stPnRpbWViYXNlKCldOworICAgIFttX3N5bmNocm9uaXplciBhZGRSZW5kZXJl
cjptX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5nZXQoKV07CiAgICAgbV9wbGF5ZXItPm1lZGlh
UGxheWVyQ2xpZW50KCktPm1lZGlhUGxheWVyUmVuZGVyaW5nTW9kZUNoYW5nZWQobV9wbGF5ZXIp
OwogCiAgICAgLy8gRklYTUU6IG1vdmUgdGhpcyBzb21ld2hlcmUgYXBwcm9wcmlhdGU6CkBAIC00
OTEsNiArNTUyLDExIEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpD
OjpyZW1vdmVEaXNwbGF5TGF5ZXIoQVZTYW1wbGVCdWZmZXJEaXNwCiAgICAgaWYgKGRpc3BsYXlM
YXllciAhPSBtX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcikKICAgICAgICAgcmV0dXJuOwogCisg
ICAgQ01UaW1lIGN1cnJlbnRUaW1lID0gQ01UaW1lYmFzZUdldFRpbWUoW21fc3luY2hyb25pemVy
IHRpbWViYXNlXSk7CisgICAgW21fc3luY2hyb25pemVyIHJlbW92ZVJlbmRlcmVyOm1fc2FtcGxl
QnVmZmVyRGlzcGxheUxheWVyLmdldCgpIGF0VGltZTpjdXJyZW50VGltZSB3aXRoQ29tcGxldGlv
bkhhbmRsZXI6XihCT09MKXsKKyAgICAgICAgLy8gTm8tb3AuCisgICAgfV07CisKICAgICBtX3Nh
bXBsZUJ1ZmZlckRpc3BsYXlMYXllciA9IG51bGxwdHI7CiAgICAgbV9wbGF5ZXItPm1lZGlhUGxh
eWVyQ2xpZW50KCktPm1lZGlhUGxheWVyUmVuZGVyaW5nTW9kZUNoYW5nZWQobV9wbGF5ZXIpOwog
fQpAQCAtNTAxLDcgKzU2Nyw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VB
VkZPYmpDOjphZGRBdWRpb1JlbmRlcmVyKEFWU2FtcGxlQnVmZmVyQXVkaW9SCiAgICAgICAgIHJl
dHVybjsKIAogICAgIG1fc2FtcGxlQnVmZmVyQXVkaW9SZW5kZXJlcnMuYXBwZW5kKGF1ZGlvUmVu
ZGVyZXIpOwotICAgIEZpZ1JlYWRPbmx5VGltZWJhc2VTZXRUYXJnZXRUaW1lYmFzZShbYXVkaW9S
ZW5kZXJlciB0aW1lYmFzZV0sIG1fY2xvY2stPnRpbWViYXNlKCkpOworICAgIFttX3N5bmNocm9u
aXplciBhZGRSZW5kZXJlcjphdWRpb1JlbmRlcmVyXTsKICAgICBtX3BsYXllci0+bWVkaWFQbGF5
ZXJDbGllbnQoKS0+bWVkaWFQbGF5ZXJSZW5kZXJpbmdNb2RlQ2hhbmdlZChtX3BsYXllcik7CiB9
CiAKQEAgLTUxMSw2ICs1NzcsMTEgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJj
ZUFWRk9iakM6OnJlbW92ZUF1ZGlvUmVuZGVyZXIoQVZTYW1wbGVCdWZmZXJBdWQKICAgICBpZiAo
cG9zID09IG5vdEZvdW5kKQogICAgICAgICByZXR1cm47CiAKKyAgICBDTVRpbWUgY3VycmVudFRp
bWUgPSBDTVRpbWViYXNlR2V0VGltZShbbV9zeW5jaHJvbml6ZXIgdGltZWJhc2VdKTsKKyAgICBb
bV9zeW5jaHJvbml6ZXIgcmVtb3ZlUmVuZGVyZXI6YXVkaW9SZW5kZXJlciBhdFRpbWU6Y3VycmVu
dFRpbWUgd2l0aENvbXBsZXRpb25IYW5kbGVyOl4oQk9PTCl7CisgICAgICAgIC8vIE5vLW9wLgor
ICAgIH1dOworCiAgICAgbV9zYW1wbGVCdWZmZXJBdWRpb1JlbmRlcmVycy5yZW1vdmUocG9zKTsK
ICAgICBtX3BsYXllci0+bWVkaWFQbGF5ZXJDbGllbnQoKS0+bWVkaWFQbGF5ZXJSZW5kZXJpbmdN
b2RlQ2hhbmdlZChtX3BsYXllcik7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2Jq
Qy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpj
L1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLm1tCmluZGV4IDdhNmQ0ZmZjZTkwMTk1ZWZhNjMx
ZTllZDQ1YWY2YmQ4ZWJiMDdhOTMuLjIxMDI4MThjYWNkNjA1OGNlMWEwZmNkMzA5ZWZmMTAwNzQ3
YWVhMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1NvdXJjZUJ1ZmZlclBy
aXZhdGVBVkZPYmpDLm1tCkBAIC0zNTgsMTggKzM1OCwxMSBAQCBzdHJ1Y3QgUHJvY2Vzc0NvZGVk
RnJhbWVJbmZvIHsKICAgICBjb25zdCBTdHJpbmcmIG1lZGlhVHlwZTsKIH07CiAKLXN0YXRpYyBP
U1N0YXR1cyBjYWxsUHJvY2Vzc0NvZGVkRnJhbWVGb3JFYWNoU2FtcGxlKENNU2FtcGxlQnVmZmVy
UmVmIHNhbXBsZUJ1ZmZlciwgQ01JdGVtQ291bnQsIHZvaWQgKnJlZmNvbikKLXsKLSAgICBQcm9j
ZXNzQ29kZWRGcmFtZUluZm8qIGluZm8gPSBzdGF0aWNfY2FzdDxQcm9jZXNzQ29kZWRGcmFtZUlu
Zm8qPihyZWZjb24pOwotICAgIHJldHVybiBpbmZvLT5zb3VyY2VCdWZmZXItPnByb2Nlc3NDb2Rl
ZEZyYW1lKGluZm8tPnRyYWNrSUQsIHNhbXBsZUJ1ZmZlciwgaW5mby0+bWVkaWFUeXBlKSA/IG5v
RXJyIDogcGFyYW1FcnI7Ci19Ci0KIHZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OmRp
ZFByb3ZpZGVNZWRpYURhdGFGb3JUcmFja0lEKGludCB0cmFja0lELCBDTVNhbXBsZUJ1ZmZlclJl
ZiBzYW1wbGVCdWZmZXIsIGNvbnN0IFN0cmluZyYgbWVkaWFUeXBlLCB1bnNpZ25lZCBmbGFncykK
IHsKICAgICBVTlVTRURfUEFSQU0oZmxhZ3MpOwogCi0gICAgUHJvY2Vzc0NvZGVkRnJhbWVJbmZv
IGluZm8gPSB7dGhpcywgdHJhY2tJRCwgbWVkaWFUeXBlfTsKLSAgICBDTVNhbXBsZUJ1ZmZlckNh
bGxGb3JFYWNoU2FtcGxlKHNhbXBsZUJ1ZmZlciwgJmNhbGxQcm9jZXNzQ29kZWRGcmFtZUZvckVh
Y2hTYW1wbGUsICZpbmZvKTsKKyAgICBwcm9jZXNzQ29kZWRGcmFtZSh0cmFja0lELCBzYW1wbGVC
dWZmZXIsIG1lZGlhVHlwZSk7CiB9CiAKIGJvb2wgU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6
OnByb2Nlc3NDb2RlZEZyYW1lKGludCB0cmFja0lELCBDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGVC
dWZmZXIsIGNvbnN0IFN0cmluZyYpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>219608</attachid>
            <date>2013-12-18 20:20:34 -0800</date>
            <delta_ts>2013-12-18 21:37:15 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-125954-20131218202033.patch</filename>
            <type>text/plain</type>
            <size>16814</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwODEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTE0ZDA0YzdjMzU1MzY3
ZGQxODFkZGUyNjEwZDk5NWEyNmIyZTdlNC4uYzY0ZDNhNDJiYTc3YzMzYWI2MTllM2U0MDg4MzIy
MGQxM2M1MzVlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEzLTEyLTE4ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtNU0VdW01hY10gQWRkIEFW
U2FtcGxlQnVmZmVyUmVuZGVyZXJTeW5jaHJvbml6ZXIgc3VwcG9ydC4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNTk1NAorCisgICAgICAgIFJldmll
d2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICBJbnN0ZWFkIG9mIHNsYXZpbmcgYWxsIHRo
ZSB2YXJpb3VzIHJlbmRlcmVyJ3MgQ01UaW1lYmFzZXMgdG8gb25lIG1hc3RlciB0aW1lYmFzZSwK
KyAgICAgICAgdXNlIEFWU2FtcGxlQnVmZmVyUmVuZGVyU3luY2hyb25pemVyLCB3aGljaCBlc3Nl
bnRpYWxseSBkb2VzIHRoZSBzYW1lIHRoaW5nLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpD
Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQ
bGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6Q01U
aW1lYmFzZUVmZmVjdGl2ZVJhdGVDaGFuZ2VkQ2FsbGJhY2spOiBBZGRlZDsgY2FsbCBlZmZlY3Rp
dmVSYXRlQ2hhbmdlZCgpLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFTb3VyY2VBVkZPYmpDOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMpOiBT
ZXQgdXAKKyAgICAgICAgICAgIHRoZSBzeW5jaHJvbml6ZXIgYW5kIGFsbCB0aGUgb2JzZXJ2ZXJz
LgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpD
Ojp+TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDKTogVGVhciBkb3duCisgICAg
ICAgICAgICB0aGUgc2FtZS4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZU1l
ZGlhU291cmNlQVZGT2JqQzo6aXNBdmFpbGFibGUpOiBSZXF1aXJlIHRoZQorICAgICAgICAgICAg
QVZTYW1wbGVCdWZmZXJSZW5kZXJTeW5jaHJvbml6ZXIgY2xhc3MuCisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnBsYXlJbnRlcm5hbCk6IENv
bnZlcnQgQ2xvY2sgLT4gU3luY2hyb25pemVyLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5
ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpwYXVzZUludGVybmFsKTogRGl0dG8uCisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnBhdXNl
ZCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3Vy
Y2VBVkZPYmpDOjpjdXJyZW50VGltZURvdWJsZSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpzZWVrSW50ZXJuYWwpOiBEaXR0
by4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2Jq
Qzo6c2V0UmF0ZURvdWJsZSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQ
cml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjplbnN1cmVMYXllcik6IERpdHRvLgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpkZXN0cm95TGF5
ZXIpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291
cmNlQVZGT2JqQzo6ZWZmZWN0aXZlUmF0ZUNoYW5nZWQpOiBEaXR0by4KKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6YWRkRGlzcGxheUxheWVy
KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJj
ZUFWRk9iakM6OnJlbW92ZURpc3BsYXlMYXllcik6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjphZGRBdWRpb1JlbmRlcmVyKTog
RGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFW
Rk9iakM6OnJlbW92ZUF1ZGlvUmVuZGVyZXIpOiBEaXR0by4KKworICAgICAgICBEcml2ZS1ieSBm
aXg7IGF1ZGlvIHNhbXBsZXMgY2FuJ3QgYmUgc3ViZGl2aWRlZCwgYW5kIHZpZGVvIHNhbXBsZXMg
YXJlCisgICAgICAgIHJhcmVseSBjb21iaW5lZCwgc28gcmVtb3ZlIHRoZSBjYWxsIHRvIENNU2Ft
cGxlQnVmZmVyQ2FsbEZvckVhY2hTYW1wbGU6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW06CisgICAgICAg
IChXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6ZGlkUHJvdmlkZU1lZGlhRGF0
YUZvclRyYWNrSUQpOgorCiAyMDEzLTEyLTE3ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUu
Y29tPgogCiAgICAgICAgIFtNU0VdW01hY10gQWRkIEFWU2FtcGxlQnVmZmVyQXVkaW9SZW5kZXJl
ciBzdXBwb3J0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRp
YVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaAppbmRleCA0Njk5M2QwNDI3YmZiNzZi
ZTBmZjM2ZmJlNjE0YTVlZmUyYmQzZTU0Li4yMDE4MThlOTJmNmE3OGYxMzNiYjJlZTIxNGVkYmNh
MmY3ZTkxMWNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9N
ZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaApAQCAtMzYsNiArMzYsNyBAQAog
T0JKQ19DTEFTUyBBVkFzc2V0OwogT0JKQ19DTEFTUyBBVlNhbXBsZUJ1ZmZlckF1ZGlvUmVuZGVy
ZXI7CiBPQkpDX0NMQVNTIEFWU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyOworT0JKQ19DTEFTUyBB
VlNhbXBsZUJ1ZmZlclJlbmRlclN5bmNocm9uaXplcjsKIAogdHlwZWRlZiBzdHJ1Y3QgT3BhcXVl
Q01UaW1lYmFzZSogQ01UaW1lYmFzZVJlZjsKIApAQCAtNjcsNiArNjgsOCBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBzZXRIYXNBdmFpbGFibGVWaWRlb0ZyYW1lKGJvb2wgZmxhZykgeyBtX2hhc0F2YWls
YWJsZVZpZGVvRnJhbWUgPSBmbGFnOyB9CiAgICAgdm9pZCBkdXJhdGlvbkNoYW5nZWQoKTsKIAor
ICAgIHZvaWQgZWZmZWN0aXZlUmF0ZUNoYW5nZWQoKTsKKwogcHJpdmF0ZToKICAgICAvLyBNZWRp
YVBsYXllclByaXZhdGVJbnRlcmZhY2UKICAgICB2aXJ0dWFsIHZvaWQgbG9hZChjb25zdCBTdHJp
bmcmIHVybCkgT1ZFUlJJREU7CkBAIC0xNjEsOSArMTY0LDEyIEBAIHByaXZhdGU6CiAgICAgUmV0
YWluUHRyPEFWQXNzZXQ+IG1fYXNzZXQ7CiAgICAgUmV0YWluUHRyPEFWU2FtcGxlQnVmZmVyRGlz
cGxheUxheWVyPiBtX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcjsKICAgICBWZWN0b3I8UmV0YWlu
UHRyPEFWU2FtcGxlQnVmZmVyQXVkaW9SZW5kZXJlcj4+IG1fc2FtcGxlQnVmZmVyQXVkaW9SZW5k
ZXJlcnM7Ci0gICAgc3RkOjp1bmlxdWVfcHRyPFBsYXRmb3JtQ2xvY2tDTT4gbV9jbG9jazsKKyAg
ICBSZXRhaW5QdHI8QVZTYW1wbGVCdWZmZXJSZW5kZXJTeW5jaHJvbml6ZXI+IG1fc3luY2hyb25p
emVyOworICAgIFJldGFpblB0cjxpZD4gbV90aW1lSnVtcGVkT2JzZXJ2ZXI7CiAgICAgTWVkaWFQ
bGF5ZXI6Ok5ldHdvcmtTdGF0ZSBtX25ldHdvcmtTdGF0ZTsKICAgICBNZWRpYVBsYXllcjo6UmVh
ZHlTdGF0ZSBtX3JlYWR5U3RhdGU7CisgICAgZG91YmxlIG1fcmF0ZTsKKyAgICBib29sIG1fcGxh
eWluZzsKICAgICBib29sIG1fc2Vla2luZzsKICAgICBtdXRhYmxlIGJvb2wgbV9sb2FkaW5nUHJv
Z3Jlc3NlZDsKICAgICBib29sIG1faGFzQXZhaWxhYmxlVmlkZW9GcmFtZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291
cmNlQVZGT2JqQy5tbQppbmRleCAwMmJhMjQ2ZWY1MTFjYTg3MWRlZGQzZjA1MDNlYzI5YTcwOGRj
ZmUyLi5jZGNiOTcxMDI1Y2NlZjE0NGUxNjAwM2QzNDczNWIwNjVjN2EwNTMzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRp
YVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0KKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFTb3VyY2VBVkZPYmpDLm1tCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbXBvcnQgIkhUTUxNZWRp
YVNvdXJjZS5oIgogI2ltcG9ydCAiTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5oIgorI2ltcG9y
dCAiTWVkaWFUaW1lTWFjLmgiCiAjaW1wb3J0ICJQbGF0Zm9ybUNsb2NrQ00uaCIKICNpbXBvcnQg
IlNvZnRMaW5raW5nLmgiCiAjaW1wb3J0IDxBVkZvdW5kYXRpb24vQVZTYW1wbGVCdWZmZXJEaXNw
bGF5TGF5ZXIuaD4KQEAgLTUwLDEwICs1MSwxOSBAQCBTT0ZUX0xJTktfQ0xBU1NfT1BUSU9OQUwo
QVZGb3VuZGF0aW9uLCBBVkFzc2V0KQogU09GVF9MSU5LX0NMQVNTX09QVElPTkFMKEFWRm91bmRh
dGlvbiwgQVZVUkxBc3NldCkKIFNPRlRfTElOS19DTEFTU19PUFRJT05BTChBVkZvdW5kYXRpb24s
IEFWU2FtcGxlQnVmZmVyQXVkaW9SZW5kZXJlcikKIFNPRlRfTElOS19DTEFTU19PUFRJT05BTChB
VkZvdW5kYXRpb24sIEFWU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyKQorU09GVF9MSU5LX0NMQVNT
X09QVElPTkFMKEFWRm91bmRhdGlvbiwgQVZTYW1wbGVCdWZmZXJSZW5kZXJTeW5jaHJvbml6ZXIp
CiBTT0ZUX0xJTktfQ0xBU1NfT1BUSU9OQUwoQVZGb3VuZGF0aW9uLCBBVlN0cmVhbURhdGFQYXJz
ZXIpCiBTT0ZUX0xJTktfQ0xBU1NfT1BUSU9OQUwoQVZGb3VuZGF0aW9uLCBBVlZpZGVvUGVyZm9y
bWFuY2VNZXRyaWNzKQogCi1TT0ZUX0xJTksoQ29yZU1lZGlhLCBGaWdSZWFkT25seVRpbWViYXNl
U2V0VGFyZ2V0VGltZWJhc2UsIE9TU3RhdHVzLCAoQ01UaW1lYmFzZVJlZiB0aW1lYmFzZSwgQ01U
aW1lYmFzZVJlZiBuZXdUYXJnZXRUaW1lYmFzZSksICh0aW1lYmFzZSwgbmV3VGFyZ2V0VGltZWJh
c2UpKQordHlwZWRlZiBzdHJ1Y3Qgb3BhcXVlQ01Ob3RpZmljYXRpb25DZW50ZXIgKkNNTm90aWZp
Y2F0aW9uQ2VudGVyUmVmOwordHlwZWRlZiB2b2lkICgqQ01Ob3RpZmljYXRpb25DYWxsYmFjayko
Q01Ob3RpZmljYXRpb25DZW50ZXJSZWYgaW5DZW50ZXIsIGNvbnN0IHZvaWQgKmluTGlzdGVuZXIs
IENGU3RyaW5nUmVmIGluTm90aWZpY2F0aW9uTmFtZSwgY29uc3Qgdm9pZCAqaW5Ob3RpZnlpbmdP
YmplY3QsIENGVHlwZVJlZiBpbk5vdGlmaWNhdGlvblBheWxvYWQpOworCitTT0ZUX0xJTksoQ29y
ZU1lZGlhLCBDTU5vdGlmaWNhdGlvbkNlbnRlckdldERlZmF1bHRMb2NhbENlbnRlciwgQ01Ob3Rp
ZmljYXRpb25DZW50ZXJSZWYsICh2b2lkKSwgKCkpOworU09GVF9MSU5LKENvcmVNZWRpYSwgQ01O
b3RpZmljYXRpb25DZW50ZXJBZGRMaXN0ZW5lciwgT1NTdGF0dXMsIChDTU5vdGlmaWNhdGlvbkNl
bnRlclJlZiBjZW50ZXIsIGNvbnN0IHZvaWQqIGxpc3RlbmVyLCBDTU5vdGlmaWNhdGlvbkNhbGxi
YWNrIGNhbGxiYWNrLCBDRlN0cmluZ1JlZiBub3RpZmljYXRpb24sIGNvbnN0IHZvaWQqIG9iamVj
dCwgVUludDMyIGZsYWdzKSwgKGNlbnRlciwgbGlzdGVuZXIsIGNhbGxiYWNrLCBub3RpZmljYXRp
b24sIG9iamVjdCwgZmxhZ3MpKQorU09GVF9MSU5LKENvcmVNZWRpYSwgQ01Ob3RpZmljYXRpb25D
ZW50ZXJSZW1vdmVMaXN0ZW5lciwgT1NTdGF0dXMsIChDTU5vdGlmaWNhdGlvbkNlbnRlclJlZiBj
ZW50ZXIsIGNvbnN0IHZvaWQqIGxpc3RlbmVyLCBDTU5vdGlmaWNhdGlvbkNhbGxiYWNrIGNhbGxi
YWNrLCBDRlN0cmluZ1JlZiBub3RpZmljYXRpb24sIGNvbnN0IHZvaWQqIG9iamVjdCksIChjZW50
ZXIsIGxpc3RlbmVyLCBjYWxsYmFjaywgbm90aWZpY2F0aW9uLCBvYmplY3QpKQorCitTT0ZUX0xJ
TktfQ09OU1RBTlQoQ29yZU1lZGlhLCBrQ01UaW1lYmFzZU5vdGlmaWNhdGlvbl9FZmZlY3RpdmVS
YXRlQ2hhbmdlZCwgQ0ZTdHJpbmdSZWYpCisjZGVmaW5lIGtDTVRpbWViYXNlTm90aWZpY2F0aW9u
X0VmZmVjdGl2ZVJhdGVDaGFuZ2VkIGdldGtDTVRpbWViYXNlTm90aWZpY2F0aW9uX0VmZmVjdGl2
ZVJhdGVDaGFuZ2VkKCkKIAogI3ByYWdtYSBtYXJrIC0KICNwcmFnbWEgbWFyayBBVlZpZGVvUGVy
Zm9ybWFuY2VNZXRyaWNzCkBAIC04MSwyMyArOTEsNjMgQEAgU09GVF9MSU5LKENvcmVNZWRpYSwg
RmlnUmVhZE9ubHlUaW1lYmFzZVNldFRhcmdldFRpbWViYXNlLCBPU1N0YXR1cywgKENNVGltZWJh
c2UKIEBlbmQKICNlbmRpZgogCisjcHJhZ21hIG1hcmsgLQorI3ByYWdtYSBtYXJrIEFWU2FtcGxl
QnVmZmVyUmVuZGVyU3luY2hyb25pemVyCisKK0BpbnRlcmZhY2UgQVZTYW1wbGVCdWZmZXJSZW5k
ZXJTeW5jaHJvbml6ZXIgOiBOU09iamVjdAorLSAoQ01UaW1lYmFzZVJlZil0aW1lYmFzZTsKKy0g
KGZsb2F0KXJhdGU7CistICh2b2lkKXNldFJhdGU6KGZsb2F0KXJhdGU7CistICh2b2lkKXNldFJh
dGU6KGZsb2F0KXJhdGUgdGltZTooQ01UaW1lKXRpbWU7CistIChOU0FycmF5ICopcmVuZGVyZXJz
OworLSAodm9pZClhZGRSZW5kZXJlcjooaWQpcmVuZGVyZXI7CistICh2b2lkKXJlbW92ZVJlbmRl
cmVyOihpZClyZW5kZXJlciBhdFRpbWU6KENNVGltZSl0aW1lIHdpdGhDb21wbGV0aW9uSGFuZGxl
cjoodm9pZCAoXikoQk9PTCBkaWRSZW1vdmVSZW5kZXJlcikpY29tcGxldGlvbkhhbmRsZXI7Cist
IChpZClhZGRQZXJpb2RpY1RpbWVPYnNlcnZlckZvckludGVydmFsOihDTVRpbWUpaW50ZXJ2YWwg
cXVldWU6KGRpc3BhdGNoX3F1ZXVlX3QpcXVldWUgdXNpbmdCbG9jazoodm9pZCAoXikoQ01UaW1l
IHRpbWUpKWJsb2NrOworLSAodm9pZClyZW1vdmVUaW1lT2JzZXJ2ZXI6KGlkKW9ic2VydmVyOwor
QGVuZAorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICNwcmFnbWEgbWFyayAtCiAjcHJhZ21hIG1h
cmsgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDCiAKK3N0YXRpYyB2b2lkIENN
VGltZWJhc2VFZmZlY3RpdmVSYXRlQ2hhbmdlZENhbGxiYWNrKENNTm90aWZpY2F0aW9uQ2VudGVy
UmVmLCBjb25zdCB2b2lkICpsaXN0ZW5lciwgQ0ZTdHJpbmdSZWYsIGNvbnN0IHZvaWQgKiwgQ0ZU
eXBlUmVmKQoreworICAgIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQyogcGxh
eWVyID0gKE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQyopbGlzdGVuZXI7Cisg
ICAgY2FsbE9uTWFpblRocmVhZChiaW5kKCZNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFW
Rk9iakM6OmVmZmVjdGl2ZVJhdGVDaGFuZ2VkLCBwbGF5ZXIpKTsKK30KKwogTWVkaWFQbGF5ZXJQ
cml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFW
Rk9iakMoTWVkaWFQbGF5ZXIqIHBsYXllcikKICAgICA6IG1fcGxheWVyKHBsYXllcikKLSAgICAs
IG1fY2xvY2sobmV3IFBsYXRmb3JtQ2xvY2tDTSgpKQorICAgICwgbV9zeW5jaHJvbml6ZXIoYWRv
cHROUyhbW2dldEFWU2FtcGxlQnVmZmVyUmVuZGVyU3luY2hyb25pemVyQ2xhc3MoKSBhbGxvY10g
aW5pdF0pKQogICAgICwgbV9uZXR3b3JrU3RhdGUoTWVkaWFQbGF5ZXI6OkVtcHR5KQogICAgICwg
bV9yZWFkeVN0YXRlKE1lZGlhUGxheWVyOjpIYXZlTm90aGluZykKKyAgICAsIG1fcmF0ZSgxKQor
ICAgICwgbV9wbGF5aW5nKDApCiAgICAgLCBtX3NlZWtpbmcoZmFsc2UpCiAgICAgLCBtX2xvYWRp
bmdQcm9ncmVzc2VkKGZhbHNlKQogeworICAgIENNVGltZWJhc2VSZWYgdGltZWJhc2UgPSBbbV9z
eW5jaHJvbml6ZXIgdGltZWJhc2VdOworICAgIENNTm90aWZpY2F0aW9uQ2VudGVyUmVmIG5jID0g
Q01Ob3RpZmljYXRpb25DZW50ZXJHZXREZWZhdWx0TG9jYWxDZW50ZXIoKTsKKyAgICBDTU5vdGlm
aWNhdGlvbkNlbnRlckFkZExpc3RlbmVyKG5jLCB0aGlzLCBDTVRpbWViYXNlRWZmZWN0aXZlUmF0
ZUNoYW5nZWRDYWxsYmFjaywga0NNVGltZWJhc2VOb3RpZmljYXRpb25fRWZmZWN0aXZlUmF0ZUNo
YW5nZWQsIHRpbWViYXNlLCAwKTsKKworICAgIC8vIGFkZFBlcmlvZGljVGltZU9ic2VydmVyRm9y
SW50ZXJ2YWw6IHRocm93cyBhbiBleGNlcHRpb24gaWYgeW91IHBhc3MgYSBub24tbnVtZXJpYyBD
TVRpbWUsIHNvIGp1c3QgdXNlCisgICAgLy8gYW4gYXJiaXRyYXJpbHkgbGFyZ2UgdGltZSB2YWx1
ZSBvZiBvbmNlIGFuIGhvdXI6CisgICAgbV90aW1lSnVtcGVkT2JzZXJ2ZXIgPSBbbV9zeW5jaHJv
bml6ZXIgYWRkUGVyaW9kaWNUaW1lT2JzZXJ2ZXJGb3JJbnRlcnZhbDp0b0NNVGltZShNZWRpYVRp
bWU6OmNyZWF0ZVdpdGhEb3VibGUoMzYwMCkpIHF1ZXVlOmRpc3BhdGNoX2dldF9tYWluX3F1ZXVl
KCkgdXNpbmdCbG9jazpeKENNVGltZSl7CisgICAgICAgIGlmIChtX3NlZWtpbmcpIHsKKyAgICAg
ICAgICAgIG1fc2Vla2luZyA9IGZhbHNlOworICAgICAgICAgICAgbV9wbGF5ZXItPnRpbWVDaGFu
Z2VkKCk7CisgICAgICAgIH0KKyAgICB9XTsKIH0KIAogTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFT
b3VyY2VBVkZPYmpDOjp+TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDKCkKIHsK
KyAgICBDTVRpbWViYXNlUmVmIHRpbWViYXNlID0gW21fc3luY2hyb25pemVyIHRpbWViYXNlXTsK
KyAgICBDTU5vdGlmaWNhdGlvbkNlbnRlclJlZiBuYyA9IENNTm90aWZpY2F0aW9uQ2VudGVyR2V0
RGVmYXVsdExvY2FsQ2VudGVyKCk7CisgICAgQ01Ob3RpZmljYXRpb25DZW50ZXJSZW1vdmVMaXN0
ZW5lcihuYywgdGhpcywgQ01UaW1lYmFzZUVmZmVjdGl2ZVJhdGVDaGFuZ2VkQ2FsbGJhY2ssIGtD
TVRpbWViYXNlTm90aWZpY2F0aW9uX0VmZmVjdGl2ZVJhdGVDaGFuZ2VkLCB0aW1lYmFzZSk7CisK
KyAgICBbbV9zeW5jaHJvbml6ZXIgcmVtb3ZlVGltZU9ic2VydmVyOm1fdGltZUp1bXBlZE9ic2Vy
dmVyLmdldCgpXTsKIH0KIAogI3ByYWdtYSBtYXJrIC0KQEAgLTExNiw3ICsxNjYsNyBAQCBQYXNz
T3duUHRyPE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZT4gTWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFTb3VyY2VBVkZPYmpDOjpjcgogCiBib29sIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNl
QVZGT2JqQzo6aXNBdmFpbGFibGUoKQogewotICAgIHJldHVybiBBVkZvdW5kYXRpb25MaWJyYXJ5
KCkgJiYgQ29yZU1lZGlhTGlicmFyeSgpICYmIGdldEFWU3RyZWFtRGF0YVBhcnNlckNsYXNzKCkg
JiYgZ2V0QVZTYW1wbGVCdWZmZXJBdWRpb1JlbmRlcmVyQ2xhc3MoKTsKKyAgICByZXR1cm4gQVZG
b3VuZGF0aW9uTGlicmFyeSgpICYmIENvcmVNZWRpYUxpYnJhcnkoKSAmJiBnZXRBVlN0cmVhbURh
dGFQYXJzZXJDbGFzcygpICYmIGdldEFWU2FtcGxlQnVmZmVyQXVkaW9SZW5kZXJlckNsYXNzKCkg
JiYgZ2V0QVZTYW1wbGVCdWZmZXJSZW5kZXJTeW5jaHJvbml6ZXJDbGFzcygpOwogfQogCiBzdGF0
aWMgSGFzaFNldDxTdHJpbmc+IG1pbWVUeXBlQ2FjaGUoKQpAQCAtMjA2LDggKzI1Niw4IEBAIHZv
aWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpwbGF5KCkKIAogdm9pZCBN
ZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnBsYXlJbnRlcm5hbCgpCiB7Ci0g
ICAgbV9jbG9jay0+c3RhcnQoKTsKLSAgICBtX3BsYXllci0+cmF0ZUNoYW5nZWQoKTsKKyAgICBt
X3BsYXlpbmcgPSB0cnVlOworICAgIFttX3N5bmNocm9uaXplciBzZXRSYXRlOm1fcmF0ZV07CiB9
CiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpwYXVzZSgpCkBA
IC0yMTcsMTMgKzI2NywxMyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZG
T2JqQzo6cGF1c2UoKQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2Jq
Qzo6cGF1c2VJbnRlcm5hbCgpCiB7Ci0gICAgbV9jbG9jay0+c3RvcCgpOwotICAgIG1fcGxheWVy
LT5yYXRlQ2hhbmdlZCgpOworICAgIG1fcGxheWluZyA9IGZhbHNlOworICAgIFttX3N5bmNocm9u
aXplciBzZXRSYXRlOjBdOwogfQogCiBib29sIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNl
QVZGT2JqQzo6cGF1c2VkKCkgY29uc3QKIHsKLSAgICByZXR1cm4gIW1fY2xvY2stPmlzUnVubmlu
ZygpOworICAgIHJldHVybiAhbV9wbGF5aW5nOwogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0
ZU1lZGlhU291cmNlQVZGT2JqQzo6c2V0Vm9sdW1lKGZsb2F0IHZvbHVtZSkKQEAgLTI3MSw3ICsz
MjEsNyBAQCBkb3VibGUgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpkdXJh
dGlvbkRvdWJsZSgpIGNvbnN0CiAKIGRvdWJsZSBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJj
ZUFWRk9iakM6OmN1cnJlbnRUaW1lRG91YmxlKCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9jbG9j
ay0+Y3VycmVudFRpbWUoKTsKKyAgICByZXR1cm4gQ01UaW1lR2V0U2Vjb25kcyhDTVRpbWViYXNl
R2V0VGltZShbbV9zeW5jaHJvbml6ZXIgdGltZWJhc2VdKSk7CiB9CiAKIGRvdWJsZSBNZWRpYVBs
YXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnN0YXJ0VGltZURvdWJsZSgpIGNvbnN0CkBA
IC0yOTMsOSArMzQzLDggQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9i
akM6OnNlZWtXaXRoVG9sZXJhbmNlKGRvdWJsZSB0aW1lLCBkb3VibGUKIHZvaWQgTWVkaWFQbGF5
ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpzZWVrSW50ZXJuYWwoZG91YmxlIHRpbWUsIGRv
dWJsZSBuZWdhdGl2ZVRocmVzaG9sZCwgZG91YmxlIHBvc2l0aXZlVGhyZXNob2xkKQogewogICAg
IE1lZGlhVGltZSBzZWVrVGltZSA9IG1fbWVkaWFTb3VyY2VQcml2YXRlLT5zZWVrVG9UaW1lKE1l
ZGlhVGltZTo6Y3JlYXRlV2l0aERvdWJsZSh0aW1lKSwgTWVkaWFUaW1lOjpjcmVhdGVXaXRoRG91
YmxlKHBvc2l0aXZlVGhyZXNob2xkKSwgTWVkaWFUaW1lOjpjcmVhdGVXaXRoRG91YmxlKG5lZ2F0
aXZlVGhyZXNob2xkKSk7Ci0gICAgbV9jbG9jay0+c2V0Q3VycmVudE1lZGlhVGltZShzZWVrVGlt
ZSk7Ci0gICAgbV9zZWVraW5nID0gZmFsc2U7Ci0gICAgbV9wbGF5ZXItPnRpbWVDaGFuZ2VkKCk7
CisKKyAgICBbbV9zeW5jaHJvbml6ZXIgc2V0UmF0ZToobV9wbGF5aW5nID8gbV9yYXRlIDogMCkg
dGltZTp0b0NNVGltZShzZWVrVGltZSldOwogfQogCiBib29sIE1lZGlhUGxheWVyUHJpdmF0ZU1l
ZGlhU291cmNlQVZGT2JqQzo6c2Vla2luZygpIGNvbnN0CkBAIC0zMDUsOCArMzU0LDkgQEAgYm9v
bCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnNlZWtpbmcoKSBjb25zdAog
CiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6c2V0UmF0ZURvdWJs
ZShkb3VibGUgcmF0ZSkKIHsKLSAgICBtX2Nsb2NrLT5zZXRQbGF5UmF0ZShyYXRlKTsKLSAgICBt
X3BsYXllci0+cmF0ZUNoYW5nZWQoKTsKKyAgICBtX3JhdGUgPSByYXRlOworICAgIGlmIChtX3Bs
YXlpbmcpCisgICAgICAgIFttX3N5bmNocm9uaXplciBzZXRSYXRlOm1fcmF0ZV07CiB9CiAKIE1l
ZGlhUGxheWVyOjpOZXR3b3JrU3RhdGUgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZP
YmpDOjpuZXR3b3JrU3RhdGUoKSBjb25zdApAQCAtNDM3LDcgKzQ4Nyw3IEBAIHZvaWQgTWVkaWFQ
bGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjplbnN1cmVMYXllcigpCiAgICAgICAgIHJl
dHVybjsKIAogICAgIG1fc2FtcGxlQnVmZmVyRGlzcGxheUxheWVyID0gYWRvcHROUyhbW2dldEFW
U2FtcGxlQnVmZmVyRGlzcGxheUxheWVyQ2xhc3MoKSBhbGxvY10gaW5pdF0pOwotICAgIFttX3Nh
bXBsZUJ1ZmZlckRpc3BsYXlMYXllciBzZXRDb250cm9sVGltZWJhc2U6bV9jbG9jay0+dGltZWJh
c2UoKV07CisgICAgW21fc3luY2hyb25pemVyIGFkZFJlbmRlcmVyOm1fc2FtcGxlQnVmZmVyRGlz
cGxheUxheWVyLmdldCgpXTsKIH0KIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJj
ZUFWRk9iakM6OmRlc3Ryb3lMYXllcigpCkBAIC00NDUsNyArNDk1LDEwIEBAIHZvaWQgTWVkaWFQ
bGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpkZXN0cm95TGF5ZXIoKQogICAgIGlmICgh
bV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIpCiAgICAgICAgIHJldHVybjsKIAotICAgIFttX3Nh
bXBsZUJ1ZmZlckRpc3BsYXlMYXllciBzZXRDb250cm9sVGltZWJhc2U6MF07CisgICAgQ01UaW1l
IGN1cnJlbnRUaW1lID0gQ01UaW1lYmFzZUdldFRpbWUoW21fc3luY2hyb25pemVyIHRpbWViYXNl
XSk7CisgICAgW21fc3luY2hyb25pemVyIHJlbW92ZVJlbmRlcmVyOm1fc2FtcGxlQnVmZmVyRGlz
cGxheUxheWVyLmdldCgpIGF0VGltZTpjdXJyZW50VGltZSB3aXRoQ29tcGxldGlvbkhhbmRsZXI6
XihCT09MKXsKKyAgICAgICAgLy8gTm8tb3AuCisgICAgfV07CiAgICAgbV9zYW1wbGVCdWZmZXJE
aXNwbGF5TGF5ZXIgPSBudWxscHRyOwogfQogCkBAIC00NTQsNiArNTA3LDExIEBAIHZvaWQgTWVk
aWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpkdXJhdGlvbkNoYW5nZWQoKQogICAg
IG1fcGxheWVyLT5kdXJhdGlvbkNoYW5nZWQoKTsKIH0KIAordm9pZCBNZWRpYVBsYXllclByaXZh
dGVNZWRpYVNvdXJjZUFWRk9iakM6OmVmZmVjdGl2ZVJhdGVDaGFuZ2VkKCkKK3sKKyAgICBtX3Bs
YXllci0+cmF0ZUNoYW5nZWQoKTsKK30KKwogdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNv
dXJjZUFWRk9iakM6OnNldFJlYWR5U3RhdGUoTWVkaWFQbGF5ZXI6OlJlYWR5U3RhdGUgcmVhZHlT
dGF0ZSkKIHsKICAgICBpZiAobV9yZWFkeVN0YXRlID09IHJlYWR5U3RhdGUpCkBAIC00NzksNyAr
NTM3LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OmFkZERp
c3BsYXlMYXllcihBVlNhbXBsZUJ1ZmZlckRpc3BsYXkKICAgICAgICAgcmV0dXJuOwogCiAgICAg
bV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIgPSBkaXNwbGF5TGF5ZXI7Ci0gICAgW21fc2FtcGxl
QnVmZmVyRGlzcGxheUxheWVyIHNldENvbnRyb2xUaW1lYmFzZTptX2Nsb2NrLT50aW1lYmFzZSgp
XTsKKyAgICBbbV9zeW5jaHJvbml6ZXIgYWRkUmVuZGVyZXI6bV9zYW1wbGVCdWZmZXJEaXNwbGF5
TGF5ZXIuZ2V0KCldOwogICAgIG1fcGxheWVyLT5tZWRpYVBsYXllckNsaWVudCgpLT5tZWRpYVBs
YXllclJlbmRlcmluZ01vZGVDaGFuZ2VkKG1fcGxheWVyKTsKIAogICAgIC8vIEZJWE1FOiBtb3Zl
IHRoaXMgc29tZXdoZXJlIGFwcHJvcHJpYXRlOgpAQCAtNDkxLDYgKzU0OSwxMSBAQCB2b2lkIE1l
ZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6cmVtb3ZlRGlzcGxheUxheWVyKEFW
U2FtcGxlQnVmZmVyRGlzcAogICAgIGlmIChkaXNwbGF5TGF5ZXIgIT0gbV9zYW1wbGVCdWZmZXJE
aXNwbGF5TGF5ZXIpCiAgICAgICAgIHJldHVybjsKIAorICAgIENNVGltZSBjdXJyZW50VGltZSA9
IENNVGltZWJhc2VHZXRUaW1lKFttX3N5bmNocm9uaXplciB0aW1lYmFzZV0pOworICAgIFttX3N5
bmNocm9uaXplciByZW1vdmVSZW5kZXJlcjptX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5nZXQo
KSBhdFRpbWU6Y3VycmVudFRpbWUgd2l0aENvbXBsZXRpb25IYW5kbGVyOl4oQk9PTCl7CisgICAg
ICAgIC8vIE5vLW9wLgorICAgIH1dOworCiAgICAgbV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIg
PSBudWxscHRyOwogICAgIG1fcGxheWVyLT5tZWRpYVBsYXllckNsaWVudCgpLT5tZWRpYVBsYXll
clJlbmRlcmluZ01vZGVDaGFuZ2VkKG1fcGxheWVyKTsKIH0KQEAgLTUwMSw3ICs1NjQsNyBAQCB2
b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6YWRkQXVkaW9SZW5kZXJl
cihBVlNhbXBsZUJ1ZmZlckF1ZGlvUgogICAgICAgICByZXR1cm47CiAKICAgICBtX3NhbXBsZUJ1
ZmZlckF1ZGlvUmVuZGVyZXJzLmFwcGVuZChhdWRpb1JlbmRlcmVyKTsKLSAgICBGaWdSZWFkT25s
eVRpbWViYXNlU2V0VGFyZ2V0VGltZWJhc2UoW2F1ZGlvUmVuZGVyZXIgdGltZWJhc2VdLCBtX2Ns
b2NrLT50aW1lYmFzZSgpKTsKKyAgICBbbV9zeW5jaHJvbml6ZXIgYWRkUmVuZGVyZXI6YXVkaW9S
ZW5kZXJlcl07CiAgICAgbV9wbGF5ZXItPm1lZGlhUGxheWVyQ2xpZW50KCktPm1lZGlhUGxheWVy
UmVuZGVyaW5nTW9kZUNoYW5nZWQobV9wbGF5ZXIpOwogfQogCkBAIC01MTEsNiArNTc0LDExIEBA
IHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpyZW1vdmVBdWRpb1Jl
bmRlcmVyKEFWU2FtcGxlQnVmZmVyQXVkCiAgICAgaWYgKHBvcyA9PSBub3RGb3VuZCkKICAgICAg
ICAgcmV0dXJuOwogCisgICAgQ01UaW1lIGN1cnJlbnRUaW1lID0gQ01UaW1lYmFzZUdldFRpbWUo
W21fc3luY2hyb25pemVyIHRpbWViYXNlXSk7CisgICAgW21fc3luY2hyb25pemVyIHJlbW92ZVJl
bmRlcmVyOmF1ZGlvUmVuZGVyZXIgYXRUaW1lOmN1cnJlbnRUaW1lIHdpdGhDb21wbGV0aW9uSGFu
ZGxlcjpeKEJPT0wpeworICAgICAgICAvLyBOby1vcC4KKyAgICB9XTsKKwogICAgIG1fc2FtcGxl
QnVmZmVyQXVkaW9SZW5kZXJlcnMucmVtb3ZlKHBvcyk7CiAgICAgbV9wbGF5ZXItPm1lZGlhUGxh
eWVyQ2xpZW50KCktPm1lZGlhUGxheWVyUmVuZGVyaW5nTW9kZUNoYW5nZWQobV9wbGF5ZXIpOwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZG
T2JqQy5tbQppbmRleCA3YTZkNGZmY2U5MDE5NWVmYTYzMWU5ZWQ0NWFmNmJkOGViYjA3YTkzLi4y
MTAyODE4Y2FjZDYwNThjZTFhMGZjZDMwOWVmZjEwMDc0N2FlYTFkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZm
ZXJQcml2YXRlQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbQpAQCAtMzU4
LDE4ICszNTgsMTEgQEAgc3RydWN0IFByb2Nlc3NDb2RlZEZyYW1lSW5mbyB7CiAgICAgY29uc3Qg
U3RyaW5nJiBtZWRpYVR5cGU7CiB9OwogCi1zdGF0aWMgT1NTdGF0dXMgY2FsbFByb2Nlc3NDb2Rl
ZEZyYW1lRm9yRWFjaFNhbXBsZShDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGVCdWZmZXIsIENNSXRl
bUNvdW50LCB2b2lkICpyZWZjb24pCi17Ci0gICAgUHJvY2Vzc0NvZGVkRnJhbWVJbmZvKiBpbmZv
ID0gc3RhdGljX2Nhc3Q8UHJvY2Vzc0NvZGVkRnJhbWVJbmZvKj4ocmVmY29uKTsKLSAgICByZXR1
cm4gaW5mby0+c291cmNlQnVmZmVyLT5wcm9jZXNzQ29kZWRGcmFtZShpbmZvLT50cmFja0lELCBz
YW1wbGVCdWZmZXIsIGluZm8tPm1lZGlhVHlwZSkgPyBub0VyciA6IHBhcmFtRXJyOwotfQotCiB2
b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpkaWRQcm92aWRlTWVkaWFEYXRhRm9yVHJh
Y2tJRChpbnQgdHJhY2tJRCwgQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlQnVmZmVyLCBjb25zdCBT
dHJpbmcmIG1lZGlhVHlwZSwgdW5zaWduZWQgZmxhZ3MpCiB7CiAgICAgVU5VU0VEX1BBUkFNKGZs
YWdzKTsKIAotICAgIFByb2Nlc3NDb2RlZEZyYW1lSW5mbyBpbmZvID0ge3RoaXMsIHRyYWNrSUQs
IG1lZGlhVHlwZX07Ci0gICAgQ01TYW1wbGVCdWZmZXJDYWxsRm9yRWFjaFNhbXBsZShzYW1wbGVC
dWZmZXIsICZjYWxsUHJvY2Vzc0NvZGVkRnJhbWVGb3JFYWNoU2FtcGxlLCAmaW5mbyk7CisgICAg
cHJvY2Vzc0NvZGVkRnJhbWUodHJhY2tJRCwgc2FtcGxlQnVmZmVyLCBtZWRpYVR5cGUpOwogfQog
CiBib29sIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpwcm9jZXNzQ29kZWRGcmFtZShpbnQg
dHJhY2tJRCwgQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlQnVmZmVyLCBjb25zdCBTdHJpbmcmKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>219612</attachid>
            <date>2013-12-18 21:18:25 -0800</date>
            <delta_ts>2013-12-18 21:18:25 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-125954-20131218211823.patch</filename>
            <type>text/plain</type>
            <size>16973</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwODEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTE0ZDA0YzdjMzU1MzY3
ZGQxODFkZGUyNjEwZDk5NWEyNmIyZTdlNC4uYzY0ZDNhNDJiYTc3YzMzYWI2MTllM2U0MDg4MzIy
MGQxM2M1MzVlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEzLTEyLTE4ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtNU0VdW01hY10gQWRkIEFW
U2FtcGxlQnVmZmVyUmVuZGVyZXJTeW5jaHJvbml6ZXIgc3VwcG9ydC4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNTk1NAorCisgICAgICAgIFJldmll
d2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICBJbnN0ZWFkIG9mIHNsYXZpbmcgYWxsIHRo
ZSB2YXJpb3VzIHJlbmRlcmVyJ3MgQ01UaW1lYmFzZXMgdG8gb25lIG1hc3RlciB0aW1lYmFzZSwK
KyAgICAgICAgdXNlIEFWU2FtcGxlQnVmZmVyUmVuZGVyU3luY2hyb25pemVyLCB3aGljaCBlc3Nl
bnRpYWxseSBkb2VzIHRoZSBzYW1lIHRoaW5nLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpD
Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQ
bGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6Q01U
aW1lYmFzZUVmZmVjdGl2ZVJhdGVDaGFuZ2VkQ2FsbGJhY2spOiBBZGRlZDsgY2FsbCBlZmZlY3Rp
dmVSYXRlQ2hhbmdlZCgpLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFTb3VyY2VBVkZPYmpDOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMpOiBT
ZXQgdXAKKyAgICAgICAgICAgIHRoZSBzeW5jaHJvbml6ZXIgYW5kIGFsbCB0aGUgb2JzZXJ2ZXJz
LgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpD
Ojp+TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDKTogVGVhciBkb3duCisgICAg
ICAgICAgICB0aGUgc2FtZS4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZU1l
ZGlhU291cmNlQVZGT2JqQzo6aXNBdmFpbGFibGUpOiBSZXF1aXJlIHRoZQorICAgICAgICAgICAg
QVZTYW1wbGVCdWZmZXJSZW5kZXJTeW5jaHJvbml6ZXIgY2xhc3MuCisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnBsYXlJbnRlcm5hbCk6IENv
bnZlcnQgQ2xvY2sgLT4gU3luY2hyb25pemVyLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5
ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpwYXVzZUludGVybmFsKTogRGl0dG8uCisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnBhdXNl
ZCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3Vy
Y2VBVkZPYmpDOjpjdXJyZW50VGltZURvdWJsZSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpzZWVrSW50ZXJuYWwpOiBEaXR0
by4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2Jq
Qzo6c2V0UmF0ZURvdWJsZSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQ
cml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjplbnN1cmVMYXllcik6IERpdHRvLgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpkZXN0cm95TGF5
ZXIpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291
cmNlQVZGT2JqQzo6ZWZmZWN0aXZlUmF0ZUNoYW5nZWQpOiBEaXR0by4KKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6YWRkRGlzcGxheUxheWVy
KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJj
ZUFWRk9iakM6OnJlbW92ZURpc3BsYXlMYXllcik6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjphZGRBdWRpb1JlbmRlcmVyKTog
RGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFW
Rk9iakM6OnJlbW92ZUF1ZGlvUmVuZGVyZXIpOiBEaXR0by4KKworICAgICAgICBEcml2ZS1ieSBm
aXg7IGF1ZGlvIHNhbXBsZXMgY2FuJ3QgYmUgc3ViZGl2aWRlZCwgYW5kIHZpZGVvIHNhbXBsZXMg
YXJlCisgICAgICAgIHJhcmVseSBjb21iaW5lZCwgc28gcmVtb3ZlIHRoZSBjYWxsIHRvIENNU2Ft
cGxlQnVmZmVyQ2FsbEZvckVhY2hTYW1wbGU6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW06CisgICAgICAg
IChXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6ZGlkUHJvdmlkZU1lZGlhRGF0
YUZvclRyYWNrSUQpOgorCiAyMDEzLTEyLTE3ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUu
Y29tPgogCiAgICAgICAgIFtNU0VdW01hY10gQWRkIEFWU2FtcGxlQnVmZmVyQXVkaW9SZW5kZXJl
ciBzdXBwb3J0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRp
YVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaAppbmRleCA0Njk5M2QwNDI3YmZiNzZi
ZTBmZjM2ZmJlNjE0YTVlZmUyYmQzZTU0Li4yMDE4MThlOTJmNmE3OGYxMzNiYjJlZTIxNGVkYmNh
MmY3ZTkxMWNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9N
ZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaApAQCAtMzYsNiArMzYsNyBAQAog
T0JKQ19DTEFTUyBBVkFzc2V0OwogT0JKQ19DTEFTUyBBVlNhbXBsZUJ1ZmZlckF1ZGlvUmVuZGVy
ZXI7CiBPQkpDX0NMQVNTIEFWU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyOworT0JKQ19DTEFTUyBB
VlNhbXBsZUJ1ZmZlclJlbmRlclN5bmNocm9uaXplcjsKIAogdHlwZWRlZiBzdHJ1Y3QgT3BhcXVl
Q01UaW1lYmFzZSogQ01UaW1lYmFzZVJlZjsKIApAQCAtNjcsNiArNjgsOCBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBzZXRIYXNBdmFpbGFibGVWaWRlb0ZyYW1lKGJvb2wgZmxhZykgeyBtX2hhc0F2YWls
YWJsZVZpZGVvRnJhbWUgPSBmbGFnOyB9CiAgICAgdm9pZCBkdXJhdGlvbkNoYW5nZWQoKTsKIAor
ICAgIHZvaWQgZWZmZWN0aXZlUmF0ZUNoYW5nZWQoKTsKKwogcHJpdmF0ZToKICAgICAvLyBNZWRp
YVBsYXllclByaXZhdGVJbnRlcmZhY2UKICAgICB2aXJ0dWFsIHZvaWQgbG9hZChjb25zdCBTdHJp
bmcmIHVybCkgT1ZFUlJJREU7CkBAIC0xNjEsOSArMTY0LDEyIEBAIHByaXZhdGU6CiAgICAgUmV0
YWluUHRyPEFWQXNzZXQ+IG1fYXNzZXQ7CiAgICAgUmV0YWluUHRyPEFWU2FtcGxlQnVmZmVyRGlz
cGxheUxheWVyPiBtX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcjsKICAgICBWZWN0b3I8UmV0YWlu
UHRyPEFWU2FtcGxlQnVmZmVyQXVkaW9SZW5kZXJlcj4+IG1fc2FtcGxlQnVmZmVyQXVkaW9SZW5k
ZXJlcnM7Ci0gICAgc3RkOjp1bmlxdWVfcHRyPFBsYXRmb3JtQ2xvY2tDTT4gbV9jbG9jazsKKyAg
ICBSZXRhaW5QdHI8QVZTYW1wbGVCdWZmZXJSZW5kZXJTeW5jaHJvbml6ZXI+IG1fc3luY2hyb25p
emVyOworICAgIFJldGFpblB0cjxpZD4gbV90aW1lSnVtcGVkT2JzZXJ2ZXI7CiAgICAgTWVkaWFQ
bGF5ZXI6Ok5ldHdvcmtTdGF0ZSBtX25ldHdvcmtTdGF0ZTsKICAgICBNZWRpYVBsYXllcjo6UmVh
ZHlTdGF0ZSBtX3JlYWR5U3RhdGU7CisgICAgZG91YmxlIG1fcmF0ZTsKKyAgICBib29sIG1fcGxh
eWluZzsKICAgICBib29sIG1fc2Vla2luZzsKICAgICBtdXRhYmxlIGJvb2wgbV9sb2FkaW5nUHJv
Z3Jlc3NlZDsKICAgICBib29sIG1faGFzQXZhaWxhYmxlVmlkZW9GcmFtZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291
cmNlQVZGT2JqQy5tbQppbmRleCAwMmJhMjQ2ZWY1MTFjYTg3MWRlZGQzZjA1MDNlYzI5YTcwOGRj
ZmUyLi43MjQ4MzJhNTkxMWU3MWE2NGE4NDNlNTI0ZDhlNDYwNzIwZjAxMTg5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRp
YVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0KKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFTb3VyY2VBVkZPYmpDLm1tCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbXBvcnQgIkhUTUxNZWRp
YVNvdXJjZS5oIgogI2ltcG9ydCAiTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5oIgorI2ltcG9y
dCAiTWVkaWFUaW1lTWFjLmgiCiAjaW1wb3J0ICJQbGF0Zm9ybUNsb2NrQ00uaCIKICNpbXBvcnQg
IlNvZnRMaW5raW5nLmgiCiAjaW1wb3J0IDxBVkZvdW5kYXRpb24vQVZTYW1wbGVCdWZmZXJEaXNw
bGF5TGF5ZXIuaD4KQEAgLTUwLDEwICs1MSwyMSBAQCBTT0ZUX0xJTktfQ0xBU1NfT1BUSU9OQUwo
QVZGb3VuZGF0aW9uLCBBVkFzc2V0KQogU09GVF9MSU5LX0NMQVNTX09QVElPTkFMKEFWRm91bmRh
dGlvbiwgQVZVUkxBc3NldCkKIFNPRlRfTElOS19DTEFTU19PUFRJT05BTChBVkZvdW5kYXRpb24s
IEFWU2FtcGxlQnVmZmVyQXVkaW9SZW5kZXJlcikKIFNPRlRfTElOS19DTEFTU19PUFRJT05BTChB
VkZvdW5kYXRpb24sIEFWU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyKQorU09GVF9MSU5LX0NMQVNT
X09QVElPTkFMKEFWRm91bmRhdGlvbiwgQVZTYW1wbGVCdWZmZXJSZW5kZXJTeW5jaHJvbml6ZXIp
CiBTT0ZUX0xJTktfQ0xBU1NfT1BUSU9OQUwoQVZGb3VuZGF0aW9uLCBBVlN0cmVhbURhdGFQYXJz
ZXIpCiBTT0ZUX0xJTktfQ0xBU1NfT1BUSU9OQUwoQVZGb3VuZGF0aW9uLCBBVlZpZGVvUGVyZm9y
bWFuY2VNZXRyaWNzKQogCi1TT0ZUX0xJTksoQ29yZU1lZGlhLCBGaWdSZWFkT25seVRpbWViYXNl
U2V0VGFyZ2V0VGltZWJhc2UsIE9TU3RhdHVzLCAoQ01UaW1lYmFzZVJlZiB0aW1lYmFzZSwgQ01U
aW1lYmFzZVJlZiBuZXdUYXJnZXRUaW1lYmFzZSksICh0aW1lYmFzZSwgbmV3VGFyZ2V0VGltZWJh
c2UpKQordHlwZWRlZiBzdHJ1Y3Qgb3BhcXVlQ01Ob3RpZmljYXRpb25DZW50ZXIgKkNNTm90aWZp
Y2F0aW9uQ2VudGVyUmVmOwordHlwZWRlZiB2b2lkICgqQ01Ob3RpZmljYXRpb25DYWxsYmFjayko
Q01Ob3RpZmljYXRpb25DZW50ZXJSZWYgaW5DZW50ZXIsIGNvbnN0IHZvaWQgKmluTGlzdGVuZXIs
IENGU3RyaW5nUmVmIGluTm90aWZpY2F0aW9uTmFtZSwgY29uc3Qgdm9pZCAqaW5Ob3RpZnlpbmdP
YmplY3QsIENGVHlwZVJlZiBpbk5vdGlmaWNhdGlvblBheWxvYWQpOworCitTT0ZUX0xJTksoQ29y
ZU1lZGlhLCBDTU5vdGlmaWNhdGlvbkNlbnRlckdldERlZmF1bHRMb2NhbENlbnRlciwgQ01Ob3Rp
ZmljYXRpb25DZW50ZXJSZWYsICh2b2lkKSwgKCkpOworU09GVF9MSU5LKENvcmVNZWRpYSwgQ01O
b3RpZmljYXRpb25DZW50ZXJBZGRMaXN0ZW5lciwgT1NTdGF0dXMsIChDTU5vdGlmaWNhdGlvbkNl
bnRlclJlZiBjZW50ZXIsIGNvbnN0IHZvaWQqIGxpc3RlbmVyLCBDTU5vdGlmaWNhdGlvbkNhbGxi
YWNrIGNhbGxiYWNrLCBDRlN0cmluZ1JlZiBub3RpZmljYXRpb24sIGNvbnN0IHZvaWQqIG9iamVj
dCwgVUludDMyIGZsYWdzKSwgKGNlbnRlciwgbGlzdGVuZXIsIGNhbGxiYWNrLCBub3RpZmljYXRp
b24sIG9iamVjdCwgZmxhZ3MpKQorU09GVF9MSU5LKENvcmVNZWRpYSwgQ01Ob3RpZmljYXRpb25D
ZW50ZXJSZW1vdmVMaXN0ZW5lciwgT1NTdGF0dXMsIChDTU5vdGlmaWNhdGlvbkNlbnRlclJlZiBj
ZW50ZXIsIGNvbnN0IHZvaWQqIGxpc3RlbmVyLCBDTU5vdGlmaWNhdGlvbkNhbGxiYWNrIGNhbGxi
YWNrLCBDRlN0cmluZ1JlZiBub3RpZmljYXRpb24sIGNvbnN0IHZvaWQqIG9iamVjdCksIChjZW50
ZXIsIGxpc3RlbmVyLCBjYWxsYmFjaywgbm90aWZpY2F0aW9uLCBvYmplY3QpKQorU09GVF9MSU5L
KENvcmVNZWRpYSwgQ01UaW1lR2V0U2Vjb25kcywgRmxvYXQ2NCwgKENNVGltZSB0aW1lKSwgKHRp
bWUpKQorU09GVF9MSU5LKENvcmVNZWRpYSwgQ01UaW1lYmFzZUdldFRpbWUsIENNVGltZSwgKENN
VGltZWJhc2VSZWYgdGltZWJhc2UpLCAodGltZWJhc2UpKQorCitTT0ZUX0xJTktfQ09OU1RBTlQo
Q29yZU1lZGlhLCBrQ01UaW1lYmFzZU5vdGlmaWNhdGlvbl9FZmZlY3RpdmVSYXRlQ2hhbmdlZCwg
Q0ZTdHJpbmdSZWYpCisjZGVmaW5lIGtDTVRpbWViYXNlTm90aWZpY2F0aW9uX0VmZmVjdGl2ZVJh
dGVDaGFuZ2VkIGdldGtDTVRpbWViYXNlTm90aWZpY2F0aW9uX0VmZmVjdGl2ZVJhdGVDaGFuZ2Vk
KCkKIAogI3ByYWdtYSBtYXJrIC0KICNwcmFnbWEgbWFyayBBVlZpZGVvUGVyZm9ybWFuY2VNZXRy
aWNzCkBAIC04MSwyMyArOTMsNjMgQEAgU09GVF9MSU5LKENvcmVNZWRpYSwgRmlnUmVhZE9ubHlU
aW1lYmFzZVNldFRhcmdldFRpbWViYXNlLCBPU1N0YXR1cywgKENNVGltZWJhc2UKIEBlbmQKICNl
bmRpZgogCisjcHJhZ21hIG1hcmsgLQorI3ByYWdtYSBtYXJrIEFWU2FtcGxlQnVmZmVyUmVuZGVy
U3luY2hyb25pemVyCisKK0BpbnRlcmZhY2UgQVZTYW1wbGVCdWZmZXJSZW5kZXJTeW5jaHJvbml6
ZXIgOiBOU09iamVjdAorLSAoQ01UaW1lYmFzZVJlZil0aW1lYmFzZTsKKy0gKGZsb2F0KXJhdGU7
CistICh2b2lkKXNldFJhdGU6KGZsb2F0KXJhdGU7CistICh2b2lkKXNldFJhdGU6KGZsb2F0KXJh
dGUgdGltZTooQ01UaW1lKXRpbWU7CistIChOU0FycmF5ICopcmVuZGVyZXJzOworLSAodm9pZClh
ZGRSZW5kZXJlcjooaWQpcmVuZGVyZXI7CistICh2b2lkKXJlbW92ZVJlbmRlcmVyOihpZClyZW5k
ZXJlciBhdFRpbWU6KENNVGltZSl0aW1lIHdpdGhDb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXiko
Qk9PTCBkaWRSZW1vdmVSZW5kZXJlcikpY29tcGxldGlvbkhhbmRsZXI7CistIChpZClhZGRQZXJp
b2RpY1RpbWVPYnNlcnZlckZvckludGVydmFsOihDTVRpbWUpaW50ZXJ2YWwgcXVldWU6KGRpc3Bh
dGNoX3F1ZXVlX3QpcXVldWUgdXNpbmdCbG9jazoodm9pZCAoXikoQ01UaW1lIHRpbWUpKWJsb2Nr
OworLSAodm9pZClyZW1vdmVUaW1lT2JzZXJ2ZXI6KGlkKW9ic2VydmVyOworQGVuZAorCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKICNwcmFnbWEgbWFyayAtCiAjcHJhZ21hIG1hcmsgTWVkaWFQbGF5
ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDCiAKK3N0YXRpYyB2b2lkIENNVGltZWJhc2VFZmZl
Y3RpdmVSYXRlQ2hhbmdlZENhbGxiYWNrKENNTm90aWZpY2F0aW9uQ2VudGVyUmVmLCBjb25zdCB2
b2lkICpsaXN0ZW5lciwgQ0ZTdHJpbmdSZWYsIGNvbnN0IHZvaWQgKiwgQ0ZUeXBlUmVmKQorewor
ICAgIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQyogcGxheWVyID0gKE1lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQyopbGlzdGVuZXI7CisgICAgY2FsbE9uTWFp
blRocmVhZChiaW5kKCZNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OmVmZmVj
dGl2ZVJhdGVDaGFuZ2VkLCBwbGF5ZXIpKTsKK30KKwogTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFT
b3VyY2VBVkZPYmpDOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMoTWVkaWFQ
bGF5ZXIqIHBsYXllcikKICAgICA6IG1fcGxheWVyKHBsYXllcikKLSAgICAsIG1fY2xvY2sobmV3
IFBsYXRmb3JtQ2xvY2tDTSgpKQorICAgICwgbV9zeW5jaHJvbml6ZXIoYWRvcHROUyhbW2dldEFW
U2FtcGxlQnVmZmVyUmVuZGVyU3luY2hyb25pemVyQ2xhc3MoKSBhbGxvY10gaW5pdF0pKQogICAg
ICwgbV9uZXR3b3JrU3RhdGUoTWVkaWFQbGF5ZXI6OkVtcHR5KQogICAgICwgbV9yZWFkeVN0YXRl
KE1lZGlhUGxheWVyOjpIYXZlTm90aGluZykKKyAgICAsIG1fcmF0ZSgxKQorICAgICwgbV9wbGF5
aW5nKDApCiAgICAgLCBtX3NlZWtpbmcoZmFsc2UpCiAgICAgLCBtX2xvYWRpbmdQcm9ncmVzc2Vk
KGZhbHNlKQogeworICAgIENNVGltZWJhc2VSZWYgdGltZWJhc2UgPSBbbV9zeW5jaHJvbml6ZXIg
dGltZWJhc2VdOworICAgIENNTm90aWZpY2F0aW9uQ2VudGVyUmVmIG5jID0gQ01Ob3RpZmljYXRp
b25DZW50ZXJHZXREZWZhdWx0TG9jYWxDZW50ZXIoKTsKKyAgICBDTU5vdGlmaWNhdGlvbkNlbnRl
ckFkZExpc3RlbmVyKG5jLCB0aGlzLCBDTVRpbWViYXNlRWZmZWN0aXZlUmF0ZUNoYW5nZWRDYWxs
YmFjaywga0NNVGltZWJhc2VOb3RpZmljYXRpb25fRWZmZWN0aXZlUmF0ZUNoYW5nZWQsIHRpbWVi
YXNlLCAwKTsKKworICAgIC8vIGFkZFBlcmlvZGljVGltZU9ic2VydmVyRm9ySW50ZXJ2YWw6IHRo
cm93cyBhbiBleGNlcHRpb24gaWYgeW91IHBhc3MgYSBub24tbnVtZXJpYyBDTVRpbWUsIHNvIGp1
c3QgdXNlCisgICAgLy8gYW4gYXJiaXRyYXJpbHkgbGFyZ2UgdGltZSB2YWx1ZSBvZiBvbmNlIGFu
IGhvdXI6CisgICAgbV90aW1lSnVtcGVkT2JzZXJ2ZXIgPSBbbV9zeW5jaHJvbml6ZXIgYWRkUGVy
aW9kaWNUaW1lT2JzZXJ2ZXJGb3JJbnRlcnZhbDp0b0NNVGltZShNZWRpYVRpbWU6OmNyZWF0ZVdp
dGhEb3VibGUoMzYwMCkpIHF1ZXVlOmRpc3BhdGNoX2dldF9tYWluX3F1ZXVlKCkgdXNpbmdCbG9j
azpeKENNVGltZSl7CisgICAgICAgIGlmIChtX3NlZWtpbmcpIHsKKyAgICAgICAgICAgIG1fc2Vl
a2luZyA9IGZhbHNlOworICAgICAgICAgICAgbV9wbGF5ZXItPnRpbWVDaGFuZ2VkKCk7CisgICAg
ICAgIH0KKyAgICB9XTsKIH0KIAogTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpD
Ojp+TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDKCkKIHsKKyAgICBDTVRpbWVi
YXNlUmVmIHRpbWViYXNlID0gW21fc3luY2hyb25pemVyIHRpbWViYXNlXTsKKyAgICBDTU5vdGlm
aWNhdGlvbkNlbnRlclJlZiBuYyA9IENNTm90aWZpY2F0aW9uQ2VudGVyR2V0RGVmYXVsdExvY2Fs
Q2VudGVyKCk7CisgICAgQ01Ob3RpZmljYXRpb25DZW50ZXJSZW1vdmVMaXN0ZW5lcihuYywgdGhp
cywgQ01UaW1lYmFzZUVmZmVjdGl2ZVJhdGVDaGFuZ2VkQ2FsbGJhY2ssIGtDTVRpbWViYXNlTm90
aWZpY2F0aW9uX0VmZmVjdGl2ZVJhdGVDaGFuZ2VkLCB0aW1lYmFzZSk7CisKKyAgICBbbV9zeW5j
aHJvbml6ZXIgcmVtb3ZlVGltZU9ic2VydmVyOm1fdGltZUp1bXBlZE9ic2VydmVyLmdldCgpXTsK
IH0KIAogI3ByYWdtYSBtYXJrIC0KQEAgLTExNiw3ICsxNjgsNyBAQCBQYXNzT3duUHRyPE1lZGlh
UGxheWVyUHJpdmF0ZUludGVyZmFjZT4gTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZP
YmpDOjpjcgogCiBib29sIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6aXNB
dmFpbGFibGUoKQogewotICAgIHJldHVybiBBVkZvdW5kYXRpb25MaWJyYXJ5KCkgJiYgQ29yZU1l
ZGlhTGlicmFyeSgpICYmIGdldEFWU3RyZWFtRGF0YVBhcnNlckNsYXNzKCkgJiYgZ2V0QVZTYW1w
bGVCdWZmZXJBdWRpb1JlbmRlcmVyQ2xhc3MoKTsKKyAgICByZXR1cm4gQVZGb3VuZGF0aW9uTGli
cmFyeSgpICYmIENvcmVNZWRpYUxpYnJhcnkoKSAmJiBnZXRBVlN0cmVhbURhdGFQYXJzZXJDbGFz
cygpICYmIGdldEFWU2FtcGxlQnVmZmVyQXVkaW9SZW5kZXJlckNsYXNzKCkgJiYgZ2V0QVZTYW1w
bGVCdWZmZXJSZW5kZXJTeW5jaHJvbml6ZXJDbGFzcygpOwogfQogCiBzdGF0aWMgSGFzaFNldDxT
dHJpbmc+IG1pbWVUeXBlQ2FjaGUoKQpAQCAtMjA2LDggKzI1OCw4IEBAIHZvaWQgTWVkaWFQbGF5
ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpwbGF5KCkKIAogdm9pZCBNZWRpYVBsYXllclBy
aXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnBsYXlJbnRlcm5hbCgpCiB7Ci0gICAgbV9jbG9jay0+
c3RhcnQoKTsKLSAgICBtX3BsYXllci0+cmF0ZUNoYW5nZWQoKTsKKyAgICBtX3BsYXlpbmcgPSB0
cnVlOworICAgIFttX3N5bmNocm9uaXplciBzZXRSYXRlOm1fcmF0ZV07CiB9CiAKIHZvaWQgTWVk
aWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpwYXVzZSgpCkBAIC0yMTcsMTMgKzI2
OSwxMyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6cGF1c2Uo
KQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6cGF1c2VJbnRl
cm5hbCgpCiB7Ci0gICAgbV9jbG9jay0+c3RvcCgpOwotICAgIG1fcGxheWVyLT5yYXRlQ2hhbmdl
ZCgpOworICAgIG1fcGxheWluZyA9IGZhbHNlOworICAgIFttX3N5bmNocm9uaXplciBzZXRSYXRl
OjBdOwogfQogCiBib29sIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6cGF1
c2VkKCkgY29uc3QKIHsKLSAgICByZXR1cm4gIW1fY2xvY2stPmlzUnVubmluZygpOworICAgIHJl
dHVybiAhbV9wbGF5aW5nOwogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNl
QVZGT2JqQzo6c2V0Vm9sdW1lKGZsb2F0IHZvbHVtZSkKQEAgLTI3MSw3ICszMjMsNyBAQCBkb3Vi
bGUgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpkdXJhdGlvbkRvdWJsZSgp
IGNvbnN0CiAKIGRvdWJsZSBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OmN1
cnJlbnRUaW1lRG91YmxlKCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9jbG9jay0+Y3VycmVudFRp
bWUoKTsKKyAgICByZXR1cm4gQ01UaW1lR2V0U2Vjb25kcyhDTVRpbWViYXNlR2V0VGltZShbbV9z
eW5jaHJvbml6ZXIgdGltZWJhc2VdKSk7CiB9CiAKIGRvdWJsZSBNZWRpYVBsYXllclByaXZhdGVN
ZWRpYVNvdXJjZUFWRk9iakM6OnN0YXJ0VGltZURvdWJsZSgpIGNvbnN0CkBAIC0yOTMsOSArMzQ1
LDggQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnNlZWtXaXRo
VG9sZXJhbmNlKGRvdWJsZSB0aW1lLCBkb3VibGUKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFTb3VyY2VBVkZPYmpDOjpzZWVrSW50ZXJuYWwoZG91YmxlIHRpbWUsIGRvdWJsZSBuZWdhdGl2
ZVRocmVzaG9sZCwgZG91YmxlIHBvc2l0aXZlVGhyZXNob2xkKQogewogICAgIE1lZGlhVGltZSBz
ZWVrVGltZSA9IG1fbWVkaWFTb3VyY2VQcml2YXRlLT5zZWVrVG9UaW1lKE1lZGlhVGltZTo6Y3Jl
YXRlV2l0aERvdWJsZSh0aW1lKSwgTWVkaWFUaW1lOjpjcmVhdGVXaXRoRG91YmxlKHBvc2l0aXZl
VGhyZXNob2xkKSwgTWVkaWFUaW1lOjpjcmVhdGVXaXRoRG91YmxlKG5lZ2F0aXZlVGhyZXNob2xk
KSk7Ci0gICAgbV9jbG9jay0+c2V0Q3VycmVudE1lZGlhVGltZShzZWVrVGltZSk7Ci0gICAgbV9z
ZWVraW5nID0gZmFsc2U7Ci0gICAgbV9wbGF5ZXItPnRpbWVDaGFuZ2VkKCk7CisKKyAgICBbbV9z
eW5jaHJvbml6ZXIgc2V0UmF0ZToobV9wbGF5aW5nID8gbV9yYXRlIDogMCkgdGltZTp0b0NNVGlt
ZShzZWVrVGltZSldOwogfQogCiBib29sIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZG
T2JqQzo6c2Vla2luZygpIGNvbnN0CkBAIC0zMDUsOCArMzU2LDkgQEAgYm9vbCBNZWRpYVBsYXll
clByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnNlZWtpbmcoKSBjb25zdAogCiB2b2lkIE1lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6c2V0UmF0ZURvdWJsZShkb3VibGUgcmF0
ZSkKIHsKLSAgICBtX2Nsb2NrLT5zZXRQbGF5UmF0ZShyYXRlKTsKLSAgICBtX3BsYXllci0+cmF0
ZUNoYW5nZWQoKTsKKyAgICBtX3JhdGUgPSByYXRlOworICAgIGlmIChtX3BsYXlpbmcpCisgICAg
ICAgIFttX3N5bmNocm9uaXplciBzZXRSYXRlOm1fcmF0ZV07CiB9CiAKIE1lZGlhUGxheWVyOjpO
ZXR3b3JrU3RhdGUgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpuZXR3b3Jr
U3RhdGUoKSBjb25zdApAQCAtNDM3LDcgKzQ4OSw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRl
TWVkaWFTb3VyY2VBVkZPYmpDOjplbnN1cmVMYXllcigpCiAgICAgICAgIHJldHVybjsKIAogICAg
IG1fc2FtcGxlQnVmZmVyRGlzcGxheUxheWVyID0gYWRvcHROUyhbW2dldEFWU2FtcGxlQnVmZmVy
RGlzcGxheUxheWVyQ2xhc3MoKSBhbGxvY10gaW5pdF0pOwotICAgIFttX3NhbXBsZUJ1ZmZlckRp
c3BsYXlMYXllciBzZXRDb250cm9sVGltZWJhc2U6bV9jbG9jay0+dGltZWJhc2UoKV07CisgICAg
W21fc3luY2hyb25pemVyIGFkZFJlbmRlcmVyOm1fc2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLmdl
dCgpXTsKIH0KIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OmRl
c3Ryb3lMYXllcigpCkBAIC00NDUsNyArNDk3LDEwIEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRl
TWVkaWFTb3VyY2VBVkZPYmpDOjpkZXN0cm95TGF5ZXIoKQogICAgIGlmICghbV9zYW1wbGVCdWZm
ZXJEaXNwbGF5TGF5ZXIpCiAgICAgICAgIHJldHVybjsKIAotICAgIFttX3NhbXBsZUJ1ZmZlckRp
c3BsYXlMYXllciBzZXRDb250cm9sVGltZWJhc2U6MF07CisgICAgQ01UaW1lIGN1cnJlbnRUaW1l
ID0gQ01UaW1lYmFzZUdldFRpbWUoW21fc3luY2hyb25pemVyIHRpbWViYXNlXSk7CisgICAgW21f
c3luY2hyb25pemVyIHJlbW92ZVJlbmRlcmVyOm1fc2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLmdl
dCgpIGF0VGltZTpjdXJyZW50VGltZSB3aXRoQ29tcGxldGlvbkhhbmRsZXI6XihCT09MKXsKKyAg
ICAgICAgLy8gTm8tb3AuCisgICAgfV07CiAgICAgbV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIg
PSBudWxscHRyOwogfQogCkBAIC00NTQsNiArNTA5LDExIEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2
YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpkdXJhdGlvbkNoYW5nZWQoKQogICAgIG1fcGxheWVyLT5k
dXJhdGlvbkNoYW5nZWQoKTsKIH0KIAordm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJj
ZUFWRk9iakM6OmVmZmVjdGl2ZVJhdGVDaGFuZ2VkKCkKK3sKKyAgICBtX3BsYXllci0+cmF0ZUNo
YW5nZWQoKTsKK30KKwogdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6
OnNldFJlYWR5U3RhdGUoTWVkaWFQbGF5ZXI6OlJlYWR5U3RhdGUgcmVhZHlTdGF0ZSkKIHsKICAg
ICBpZiAobV9yZWFkeVN0YXRlID09IHJlYWR5U3RhdGUpCkBAIC00NzksNyArNTM5LDcgQEAgdm9p
ZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OmFkZERpc3BsYXlMYXllcihB
VlNhbXBsZUJ1ZmZlckRpc3BsYXkKICAgICAgICAgcmV0dXJuOwogCiAgICAgbV9zYW1wbGVCdWZm
ZXJEaXNwbGF5TGF5ZXIgPSBkaXNwbGF5TGF5ZXI7Ci0gICAgW21fc2FtcGxlQnVmZmVyRGlzcGxh
eUxheWVyIHNldENvbnRyb2xUaW1lYmFzZTptX2Nsb2NrLT50aW1lYmFzZSgpXTsKKyAgICBbbV9z
eW5jaHJvbml6ZXIgYWRkUmVuZGVyZXI6bV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuZ2V0KCld
OwogICAgIG1fcGxheWVyLT5tZWRpYVBsYXllckNsaWVudCgpLT5tZWRpYVBsYXllclJlbmRlcmlu
Z01vZGVDaGFuZ2VkKG1fcGxheWVyKTsKIAogICAgIC8vIEZJWE1FOiBtb3ZlIHRoaXMgc29tZXdo
ZXJlIGFwcHJvcHJpYXRlOgpAQCAtNDkxLDYgKzU1MSwxMSBAQCB2b2lkIE1lZGlhUGxheWVyUHJp
dmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6cmVtb3ZlRGlzcGxheUxheWVyKEFWU2FtcGxlQnVmZmVy
RGlzcAogICAgIGlmIChkaXNwbGF5TGF5ZXIgIT0gbV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIp
CiAgICAgICAgIHJldHVybjsKIAorICAgIENNVGltZSBjdXJyZW50VGltZSA9IENNVGltZWJhc2VH
ZXRUaW1lKFttX3N5bmNocm9uaXplciB0aW1lYmFzZV0pOworICAgIFttX3N5bmNocm9uaXplciBy
ZW1vdmVSZW5kZXJlcjptX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5nZXQoKSBhdFRpbWU6Y3Vy
cmVudFRpbWUgd2l0aENvbXBsZXRpb25IYW5kbGVyOl4oQk9PTCl7CisgICAgICAgIC8vIE5vLW9w
LgorICAgIH1dOworCiAgICAgbV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIgPSBudWxscHRyOwog
ICAgIG1fcGxheWVyLT5tZWRpYVBsYXllckNsaWVudCgpLT5tZWRpYVBsYXllclJlbmRlcmluZ01v
ZGVDaGFuZ2VkKG1fcGxheWVyKTsKIH0KQEAgLTUwMSw3ICs1NjYsNyBAQCB2b2lkIE1lZGlhUGxh
eWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6YWRkQXVkaW9SZW5kZXJlcihBVlNhbXBsZUJ1
ZmZlckF1ZGlvUgogICAgICAgICByZXR1cm47CiAKICAgICBtX3NhbXBsZUJ1ZmZlckF1ZGlvUmVu
ZGVyZXJzLmFwcGVuZChhdWRpb1JlbmRlcmVyKTsKLSAgICBGaWdSZWFkT25seVRpbWViYXNlU2V0
VGFyZ2V0VGltZWJhc2UoW2F1ZGlvUmVuZGVyZXIgdGltZWJhc2VdLCBtX2Nsb2NrLT50aW1lYmFz
ZSgpKTsKKyAgICBbbV9zeW5jaHJvbml6ZXIgYWRkUmVuZGVyZXI6YXVkaW9SZW5kZXJlcl07CiAg
ICAgbV9wbGF5ZXItPm1lZGlhUGxheWVyQ2xpZW50KCktPm1lZGlhUGxheWVyUmVuZGVyaW5nTW9k
ZUNoYW5nZWQobV9wbGF5ZXIpOwogfQogCkBAIC01MTEsNiArNTc2LDExIEBAIHZvaWQgTWVkaWFQ
bGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpyZW1vdmVBdWRpb1JlbmRlcmVyKEFWU2Ft
cGxlQnVmZmVyQXVkCiAgICAgaWYgKHBvcyA9PSBub3RGb3VuZCkKICAgICAgICAgcmV0dXJuOwog
CisgICAgQ01UaW1lIGN1cnJlbnRUaW1lID0gQ01UaW1lYmFzZUdldFRpbWUoW21fc3luY2hyb25p
emVyIHRpbWViYXNlXSk7CisgICAgW21fc3luY2hyb25pemVyIHJlbW92ZVJlbmRlcmVyOmF1ZGlv
UmVuZGVyZXIgYXRUaW1lOmN1cnJlbnRUaW1lIHdpdGhDb21wbGV0aW9uSGFuZGxlcjpeKEJPT0wp
eworICAgICAgICAvLyBOby1vcC4KKyAgICB9XTsKKwogICAgIG1fc2FtcGxlQnVmZmVyQXVkaW9S
ZW5kZXJlcnMucmVtb3ZlKHBvcyk7CiAgICAgbV9wbGF5ZXItPm1lZGlhUGxheWVyQ2xpZW50KCkt
Pm1lZGlhUGxheWVyUmVuZGVyaW5nTW9kZUNoYW5nZWQobV9wbGF5ZXIpOwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291
cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbQppbmRl
eCA3YTZkNGZmY2U5MDE5NWVmYTYzMWU5ZWQ0NWFmNmJkOGViYjA3YTkzLi4yMTAyODE4Y2FjZDYw
NThjZTFhMGZjZDMwOWVmZjEwMDc0N2FlYTFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZG
T2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbQpAQCAtMzU4LDE4ICszNTgsMTEg
QEAgc3RydWN0IFByb2Nlc3NDb2RlZEZyYW1lSW5mbyB7CiAgICAgY29uc3QgU3RyaW5nJiBtZWRp
YVR5cGU7CiB9OwogCi1zdGF0aWMgT1NTdGF0dXMgY2FsbFByb2Nlc3NDb2RlZEZyYW1lRm9yRWFj
aFNhbXBsZShDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGVCdWZmZXIsIENNSXRlbUNvdW50LCB2b2lk
ICpyZWZjb24pCi17Ci0gICAgUHJvY2Vzc0NvZGVkRnJhbWVJbmZvKiBpbmZvID0gc3RhdGljX2Nh
c3Q8UHJvY2Vzc0NvZGVkRnJhbWVJbmZvKj4ocmVmY29uKTsKLSAgICByZXR1cm4gaW5mby0+c291
cmNlQnVmZmVyLT5wcm9jZXNzQ29kZWRGcmFtZShpbmZvLT50cmFja0lELCBzYW1wbGVCdWZmZXIs
IGluZm8tPm1lZGlhVHlwZSkgPyBub0VyciA6IHBhcmFtRXJyOwotfQotCiB2b2lkIFNvdXJjZUJ1
ZmZlclByaXZhdGVBVkZPYmpDOjpkaWRQcm92aWRlTWVkaWFEYXRhRm9yVHJhY2tJRChpbnQgdHJh
Y2tJRCwgQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlQnVmZmVyLCBjb25zdCBTdHJpbmcmIG1lZGlh
VHlwZSwgdW5zaWduZWQgZmxhZ3MpCiB7CiAgICAgVU5VU0VEX1BBUkFNKGZsYWdzKTsKIAotICAg
IFByb2Nlc3NDb2RlZEZyYW1lSW5mbyBpbmZvID0ge3RoaXMsIHRyYWNrSUQsIG1lZGlhVHlwZX07
Ci0gICAgQ01TYW1wbGVCdWZmZXJDYWxsRm9yRWFjaFNhbXBsZShzYW1wbGVCdWZmZXIsICZjYWxs
UHJvY2Vzc0NvZGVkRnJhbWVGb3JFYWNoU2FtcGxlLCAmaW5mbyk7CisgICAgcHJvY2Vzc0NvZGVk
RnJhbWUodHJhY2tJRCwgc2FtcGxlQnVmZmVyLCBtZWRpYVR5cGUpOwogfQogCiBib29sIFNvdXJj
ZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpwcm9jZXNzQ29kZWRGcmFtZShpbnQgdHJhY2tJRCwgQ01T
YW1wbGVCdWZmZXJSZWYgc2FtcGxlQnVmZmVyLCBjb25zdCBTdHJpbmcmKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>