<?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>85690</bug_id>
          
          <creation_ts>2012-05-04 19:27:13 -0700</creation_ts>
          <short_desc>[chromium] Should not use a timer to tick backgrounded animations in single thread mode</short_desc>
          <delta_ts>2012-05-21 15:20:41 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>84620</dependson>
          <blocked>85813</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter>vollick</reporter>
          <assigned_to>vollick</assigned_to>
          <cc>cc-bugs</cc>
    
    <cc>jamesr</cc>
    
    <cc>nduca</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>616864</commentid>
    <comment_count>0</comment_count>
    <who name="">vollick</who>
    <bug_when>2012-05-04 19:27:13 -0700</bug_when>
    <thetext>Currently, the CCLayerTreeHostImpl starts a timer to tick animations on backgrounded tabs. This causes a number of problems. First, it causes an assert in single threaded mode because it ticks on the main thread, not the impl thread. Second, we should never be using a timer in single threaded mode because with https://bugs.webkit.org/show_bug.cgi?id=84620, composites are scheduled externally (and the CCSingleThreadProxy explicitly schedules them when required). Since the timer is only used with the threaded compositor, a better home for it would be the CCThreadProxy. CCLTHI can then enable/disable the timer via its client&apos;s interface.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616866</commentid>
    <comment_count>1</comment_count>
      <attachid>140373</attachid>
    <who name="">vollick</who>
    <bug_when>2012-05-04 19:33:28 -0700</bug_when>
    <thetext>Created attachment 140373
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616895</commentid>
    <comment_count>2</comment_count>
      <attachid>140373</attachid>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-05-04 21:26:21 -0700</bug_when>
    <thetext>Comment on attachment 140373
Patch

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

&gt; Source/WebCore/ChangeLog:7
&gt; +

Throw that bug comment in here? :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617848</commentid>
    <comment_count>3</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-05-07 12:57:45 -0700</bug_when>
    <thetext>Since we never composite while not visible, what ensures that &quot;hardware&quot; animations still advance and fire WebCore notifications in background tabs?  Or do we not need to do that?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618641</commentid>
    <comment_count>4</comment_count>
      <attachid>140746</attachid>
    <who name="">vollick</who>
    <bug_when>2012-05-08 11:09:26 -0700</bug_when>
    <thetext>Created attachment 140746
Patch

(In reply to comment #3)
&gt; Since we never composite while not visible, what ensures that &quot;hardware&quot; animations still advance and fire WebCore notifications in background tabs?  Or do we not need to do that?

With https://bugs.webkit.org/show_bug.cgi?id=84620, when the CCSingleThreadProxy is asked to commit, it will notice
when the composite it schedules won&apos;t actually result in a composite (because we&apos;re hidden), and manually schedule one if there&apos;s an animation.
This will not result in any drawing while hidden, though -- the code will bail early if we&apos;re not visible. This will advance the hardware
animations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618732</commentid>
    <comment_count>5</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-05-08 12:58:02 -0700</bug_when>
    <thetext>Looks like you have merge conflicts in CCThreadProxy, mind refreshing so EWS runs?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618753</commentid>
    <comment_count>6</comment_count>
    <who name="">vollick</who>
    <bug_when>2012-05-08 13:29:35 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Looks like you have merge conflicts in CCThreadProxy, mind refreshing so EWS runs?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618754</commentid>
    <comment_count>7</comment_count>
      <attachid>140769</attachid>
    <who name="">vollick</who>
    <bug_when>2012-05-08 13:31:11 -0700</bug_when>
    <thetext>Created attachment 140769
Patch

(In reply to comment #5)
&gt; Looks like you have merge conflicts in CCThreadProxy, mind refreshing so EWS runs?

Done</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629577</commentid>
    <comment_count>8</comment_count>
      <attachid>140769</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-05-21 15:20:41 -0700</bug_when>
    <thetext>Comment on attachment 140769
Patch

Cleared review? from attachment 140769 so that this bug does not appear in http://webkit.org/pending-review.  If you would like this patch reviewed, please attach it to a new bug (or re-open this bug before marking it for review again).</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140373</attachid>
            <date>2012-05-04 19:33:28 -0700</date>
            <delta_ts>2012-05-08 11:09:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85690-20120504223326.patch</filename>
            <type>text/plain</type>
            <size>17413</size>
            <attacher>vollick</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2MDg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjk3Y2I5ODFkNzJmMWY4
Njc2ODYxNDU4YTc4ZGJmZjk3NTEwNDE4Yi4uMzU5ZTMwNmI1ZDQxMGMyMmQ0ZjlkMzA1ZDA1M2Fi
NmE5YzljZGMxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDEyLTA1LTA0ICBJYW4g
Vm9sbGljayAgPHZvbGxpY2tAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gU2hv
dWxkIG5vdCB1c2UgYSB0aW1lciB0byB0aWNrIGJhY2tncm91bmRlZCBhbmltYXRpb25zIGluIHNp
bmdsZSB0aHJlYWQgbW9kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9ODU2OTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBUZXN0ZWQgaW4gQ0NMYXllclRyZWVIb3N0VGVzdFRpY2tBbmltYXRpb25XaGlsZUJh
Y2tncm91bmRlZAorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NM
YXllclRyZWVIb3N0SW1wbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVHJlZUhvc3RJ
bXBsOjpDQ0xheWVyVHJlZUhvc3RJbXBsKToKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVl
SG9zdEltcGw6OnNldFZpc2libGUpOgorICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0
SW1wbDo6YW5pbWF0ZUxheWVycyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
IChDQ0xheWVyVHJlZUhvc3RJbXBsQ2xpZW50KToKKyAgICAgICAgKENDTGF5ZXJUcmVlSG9zdElt
cGwpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUHJveHkuY3Bw
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUHJveHkuaDoKKyAg
ICAgICAgKENDUHJveHkpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDU2luZ2xlVGhyZWFkUHJveHkuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9jYy9DQ1RocmVhZFByb3h5LmNwcDoKKyAgICAgICAgKFdURik6CisgICAgICAgIChDQ1Ro
cmVhZFByb3h5QmFja2dyb3VuZEFuaW1hdGlvblRpbWVTb3VyY2VBZGFwdGVyKToKKyAgICAgICAg
KFdlYkNvcmU6OkNDVGhyZWFkUHJveHlCYWNrZ3JvdW5kQW5pbWF0aW9uVGltZVNvdXJjZUFkYXB0
ZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ1RocmVhZFByb3h5QmFja2dyb3VuZEFu
aW1hdGlvblRpbWVTb3VyY2VBZGFwdGVyOjp+Q0NUaHJlYWRQcm94eUJhY2tncm91bmRBbmltYXRp
b25UaW1lU291cmNlQWRhcHRlcik6CisgICAgICAgIChXZWJDb3JlOjpDQ1RocmVhZFByb3h5QmFj
a2dyb3VuZEFuaW1hdGlvblRpbWVTb3VyY2VBZGFwdGVyOjpzZXRBY3RpdmUpOgorICAgICAgICAo
V2ViQ29yZTo6Q0NUaHJlYWRQcm94eUJhY2tncm91bmRBbmltYXRpb25UaW1lU291cmNlQWRhcHRl
cjo6Q0NUaHJlYWRQcm94eUJhY2tncm91bmRBbmltYXRpb25UaW1lU291cmNlQWRhcHRlcik6Cisg
ICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNDVGhyZWFkUHJveHk6OkNDVGhy
ZWFkUHJveHkpOgorICAgICAgICAoV2ViQ29yZTo6Q0NUaHJlYWRQcm94eTo6Y29tcG9zaXRlQW5k
UmVhZGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6Q0NUaHJlYWRQcm94eTo6c2V0QmFja2dyb3Vu
ZEFuaW1hdGlvblRpY2tpbmdBY3RpdmUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL2NjL0NDVGhyZWFkUHJveHkuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
Q0NUaHJlYWRQcm94eSk6CisKIDIwMTItMDUtMDQgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgW1F0XSBSZW1vdmUgdW5uZWNlc3NhcnkgZXhlY3V0ZWFibGUg
Yml0cyBhZnRlciByMTE2MDg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDY0N2QzOWQ0
Y2E4OGZjMTQyMjcxYjgzODAyOGFmMjU0ZTQxMWIwMGIuLmVmYzgxNDNiNjIwZTk3Y2I5MzgyMzA5
ZDgwMTk1ZWU5NDY0NmJkMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTYgQEAKKzIwMTItMDUtMDQgIElhbiBWb2xsaWNrICA8dm9sbGlja0BjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgW2Nocm9taXVtXSBTaG91bGQgbm90IHVzZSBhIHRpbWVyIHRvIHRpY2sgYmFja2dy
b3VuZGVkIGFuaW1hdGlvbnMgaW4gc2luZ2xlIHRocmVhZCBtb2RlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTY5MAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vZGlmaWVkIHRoZSB0ZXN0IHRvIGNoZWNr
IHRoYXQgdGhlIHRpY2tpbmcgb2YgYmFja2dyb3VuZGVkIGFuaW1hdGlvbnMgbm90IG9ubHkgc3Rh
cnRzLCBidXQgdGhhdCBpdCBjb250aW51ZXMuCisKKyAgICAgICAgKiB0ZXN0cy9DQ0xheWVyVHJl
ZUhvc3RJbXBsVGVzdC5jcHA6CisgICAgICAgICogdGVzdHMvQ0NMYXllclRyZWVIb3N0VGVzdC5j
cHA6CisgICAgICAgIChXVEY6OkNDTGF5ZXJUcmVlSG9zdFRlc3RUaWNrQW5pbWF0aW9uV2hpbGVC
YWNrZ3JvdW5kZWQ6OmFuaW1hdGVMYXllcnMpOgorCiAyMDEyLTA1LTAzICBXLiBKYW1lcyBNYWNM
ZWFuICA8d2ptYWNsZWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIFJldmlz
ZSB0b3VjaHBhZCBmbGluZyBjdXJ2ZSB0byB1c2UgZXhwb25lbnRpYWwgY3VydmUsIHRvIGltcHJv
dmUgZmVlbCBhbmQgc21hbGwgZmxpbmcgcGVyZm9ybWFuY2UuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBs
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5
ZXJUcmVlSG9zdEltcGwuY3BwCmluZGV4IDQ3Nzk1NGVlZGViYzhhN2U2MzNkMDE1MGY2ZjA5ODRk
MjlhMDJhZmIuLmJlMjFjYTk4OTBlNTI3MmY1NDIyYjBmY2Y4MzZjNThiNTExZDUzOTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5
ZXJUcmVlSG9zdEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuY3BwCkBAIC00Nyw3ICs0Nyw2IEBACiAj
aW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAKIG5hbWVzcGFjZSB7Ci1jb25zdCBkb3VibGUg
bG93RnJlcXVlbmN5QW5pbWF0aW9uSW50ZXJ2YWwgPSAxOwogCiB2b2lkIGRpZFZpc2liaWxpdHlD
aGFuZ2UoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0SW1wbCogaWQsIGJvb2wgdmlzaWJsZSkKIHsK
QEAgLTYzLDQyICs2Miw2IEBAIHZvaWQgZGlkVmlzaWJpbGl0eUNoYW5nZShXZWJDb3JlOjpDQ0xh
eWVyVHJlZUhvc3RJbXBsKiBpZCwgYm9vbCB2aXNpYmxlKQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLWNsYXNzIENDTGF5ZXJUcmVlSG9zdEltcGxUaW1lU291cmNlQWRhcHRlciA6IHB1YmxpYyBD
Q1RpbWVTb3VyY2VDbGllbnQgewotICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENDTGF5ZXJUcmVl
SG9zdEltcGxUaW1lU291cmNlQWRhcHRlcik7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NPd25Q
dHI8Q0NMYXllclRyZWVIb3N0SW1wbFRpbWVTb3VyY2VBZGFwdGVyPiBjcmVhdGUoQ0NMYXllclRy
ZWVIb3N0SW1wbCogbGF5ZXJUcmVlSG9zdEltcGwsIFBhc3NSZWZQdHI8Q0NEZWxheUJhc2VkVGlt
ZVNvdXJjZT4gdGltZVNvdXJjZSkKLSAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcg
Q0NMYXllclRyZWVIb3N0SW1wbFRpbWVTb3VyY2VBZGFwdGVyKGxheWVyVHJlZUhvc3RJbXBsLCB0
aW1lU291cmNlKSk7Ci0gICAgfQotICAgIHZpcnR1YWwgfkNDTGF5ZXJUcmVlSG9zdEltcGxUaW1l
U291cmNlQWRhcHRlcigpCi0gICAgewotICAgICAgICBtX3RpbWVTb3VyY2UtPnNldENsaWVudCgw
KTsKLSAgICAgICAgbV90aW1lU291cmNlLT5zZXRBY3RpdmUoZmFsc2UpOwotICAgIH0KLQotICAg
IHZpcnR1YWwgdm9pZCBvblRpbWVyVGljaygpIE9WRVJSSURFCi0gICAgewotICAgICAgICBtX2xh
eWVyVHJlZUhvc3RJbXBsLT5hbmltYXRlKG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpLCBj
dXJyZW50VGltZSgpKTsKLSAgICB9Ci0KLSAgICB2b2lkIHNldEFjdGl2ZShib29sIGFjdGl2ZSkK
LSAgICB7Ci0gICAgICAgIGlmIChhY3RpdmUgIT0gbV90aW1lU291cmNlLT5hY3RpdmUoKSkKLSAg
ICAgICAgICAgIG1fdGltZVNvdXJjZS0+c2V0QWN0aXZlKGFjdGl2ZSk7Ci0gICAgfQotCi1wcml2
YXRlOgotICAgIENDTGF5ZXJUcmVlSG9zdEltcGxUaW1lU291cmNlQWRhcHRlcihDQ0xheWVyVHJl
ZUhvc3RJbXBsKiBsYXllclRyZWVIb3N0SW1wbCwgUGFzc1JlZlB0cjxDQ0RlbGF5QmFzZWRUaW1l
U291cmNlPiB0aW1lU291cmNlKQotICAgICAgICA6IG1fbGF5ZXJUcmVlSG9zdEltcGwobGF5ZXJU
cmVlSG9zdEltcGwpCi0gICAgICAgICwgbV90aW1lU291cmNlKHRpbWVTb3VyY2UpCi0gICAgewot
ICAgICAgICBtX3RpbWVTb3VyY2UtPnNldENsaWVudCh0aGlzKTsKLSAgICB9Ci0KLSAgICBDQ0xh
eWVyVHJlZUhvc3RJbXBsKiBtX2xheWVyVHJlZUhvc3RJbXBsOwotICAgIFJlZlB0cjxDQ0RlbGF5
QmFzZWRUaW1lU291cmNlPiBtX3RpbWVTb3VyY2U7Ci19OwotCiBQYXNzT3duUHRyPENDTGF5ZXJU
cmVlSG9zdEltcGw+IENDTGF5ZXJUcmVlSG9zdEltcGw6OmNyZWF0ZShjb25zdCBDQ1NldHRpbmdz
JiBzZXR0aW5ncywgQ0NMYXllclRyZWVIb3N0SW1wbENsaWVudCogY2xpZW50KQogewogICAgIHJl
dHVybiBhZG9wdFB0cihuZXcgQ0NMYXllclRyZWVIb3N0SW1wbChzZXR0aW5ncywgY2xpZW50KSk7
CkBAIC0xMjEsNyArODQsNiBAQCBDQ0xheWVyVHJlZUhvc3RJbXBsOjpDQ0xheWVyVHJlZUhvc3RJ
bXBsKGNvbnN0IENDU2V0dGluZ3MmIHNldHRpbmdzLCBDQ0xheWVyVHJlZQogICAgICwgbV9tYXhQ
YWdlU2NhbGUoMCkKICAgICAsIG1fbmVlZHNBbmltYXRlTGF5ZXJzKGZhbHNlKQogICAgICwgbV9w
aW5jaEdlc3R1cmVBY3RpdmUoZmFsc2UpCi0gICAgLCBtX3RpbWVTb3VyY2VDbGllbnRBZGFwdGVy
KENDTGF5ZXJUcmVlSG9zdEltcGxUaW1lU291cmNlQWRhcHRlcjo6Y3JlYXRlKHRoaXMsIENDRGVs
YXlCYXNlZFRpbWVTb3VyY2U6OmNyZWF0ZShsb3dGcmVxdWVuY3lBbmltYXRpb25JbnRlcnZhbCAq
IDEwMDAuMCwgQ0NQcm94eTo6Y3VycmVudFRocmVhZCgpKSkpCiAgICAgLCBtX2Zwc0NvdW50ZXIo
Q0NGcmFtZVJhdGVDb3VudGVyOjpjcmVhdGUoKSkKICAgICAsIG1fZGVidWdSZWN0SGlzdG9yeShD
Q0RlYnVnUmVjdEhpc3Rvcnk6OmNyZWF0ZSgpKQogewpAQCAtNTYyLDcgKzUyNCw3IEBAIHZvaWQg
Q0NMYXllclRyZWVIb3N0SW1wbDo6c2V0VmlzaWJsZShib29sIHZpc2libGUpCiAgICAgbV9sYXll
clJlbmRlcmVyLT5zZXRWaXNpYmxlKHZpc2libGUpOwogCiAgICAgY29uc3QgYm9vbCBzaG91bGRU
aWNrSW5CYWNrZ3JvdW5kID0gIXZpc2libGUgJiYgbV9uZWVkc0FuaW1hdGVMYXllcnM7Ci0gICAg
bV90aW1lU291cmNlQ2xpZW50QWRhcHRlci0+c2V0QWN0aXZlKHNob3VsZFRpY2tJbkJhY2tncm91
bmQpOworICAgIG1fY2xpZW50LT5zZXRCYWNrZ3JvdW5kQW5pbWF0aW9uVGlja2luZ0FjdGl2ZShz
aG91bGRUaWNrSW5CYWNrZ3JvdW5kKTsKIH0KIAogYm9vbCBDQ0xheWVyVHJlZUhvc3RJbXBsOjpp
bml0aWFsaXplTGF5ZXJSZW5kZXJlcihQYXNzUmVmUHRyPEdyYXBoaWNzQ29udGV4dDNEPiBjb250
ZXh0KQpAQCAtOTcwLDcgKzkzMiw3IEBAIHZvaWQgQ0NMYXllclRyZWVIb3N0SW1wbDo6YW5pbWF0
ZUxheWVycyhkb3VibGUgbW9ub3RvbmljVGltZSwgZG91YmxlIHdhbGxDbG9ja1RpCiAgICAgICAg
IG1fY2xpZW50LT5zZXROZWVkc1JlZHJhd09uSW1wbFRocmVhZCgpOwogCiAgICAgY29uc3QgYm9v
bCBzaG91bGRUaWNrSW5CYWNrZ3JvdW5kID0gbV9uZWVkc0FuaW1hdGVMYXllcnMgJiYgIW1fdmlz
aWJsZTsKLSAgICBtX3RpbWVTb3VyY2VDbGllbnRBZGFwdGVyLT5zZXRBY3RpdmUoc2hvdWxkVGlj
a0luQmFja2dyb3VuZCk7CisgICAgbV9jbGllbnQtPnNldEJhY2tncm91bmRBbmltYXRpb25UaWNr
aW5nQWN0aXZlKHNob3VsZFRpY2tJbkJhY2tncm91bmQpOwogfQogCiB2b2lkIENDTGF5ZXJUcmVl
SG9zdEltcGw6OnNlbmREaWRMb3NlQ29udGV4dFJlY3Vyc2l2ZShDQ0xheWVySW1wbCogY3VycmVu
dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuaAppbmRleCA0NGU4OWEwOGM5M2Zi
YjQyYjEwZWI3OWY1Zjg4YTI5NzFlODg2MDA4Li5jZmUwYTdmZjljY2UwMWIyYzAzNDM2Mjc0MTMz
OTM4Y2Y3MjdkZWNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5oCkBAIC00
Niw3ICs0Niw2IEBAIGNsYXNzIENDRnJhbWVSYXRlQ291bnRlcjsKIGNsYXNzIENDSGVhZHNVcERp
c3BsYXk7CiBjbGFzcyBDQ1BhZ2VTY2FsZUFuaW1hdGlvbjsKIGNsYXNzIENDTGF5ZXJJbXBsOwot
Y2xhc3MgQ0NMYXllclRyZWVIb3N0SW1wbFRpbWVTb3VyY2VBZGFwdGVyOwogY2xhc3MgTGF5ZXJS
ZW5kZXJlckNocm9taXVtOwogY2xhc3MgVGV4dHVyZUFsbG9jYXRvcjsKIHN0cnVjdCBMYXllclJl
bmRlcmVyQ2FwYWJpbGl0aWVzOwpAQCAtNjEsNiArNjAsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCB2b2lkIHNldE5lZWRzQ29tbWl0T25JbXBsVGhyZWFkKCkgPSAwOwogICAgIHZpcnR1YWwgdm9p
ZCBwb3N0QW5pbWF0aW9uRXZlbnRzVG9NYWluVGhyZWFkT25JbXBsVGhyZWFkKFBhc3NPd25QdHI8
Q0NBbmltYXRpb25FdmVudHNWZWN0b3I+LCBkb3VibGUgd2FsbENsb2NrVGltZSkgPSAwOwogICAg
IHZpcnR1YWwgdm9pZCBwb3N0U2V0Q29udGVudHNNZW1vcnlBbGxvY2F0aW9uTGltaXRCeXRlc1Rv
TWFpblRocmVhZE9uSW1wbFRocmVhZChzaXplX3QpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0
QmFja2dyb3VuZEFuaW1hdGlvblRpY2tpbmdBY3RpdmUoYm9vbCkgPSAwOwogfTsKIAogLy8gQ0NM
YXllclRyZWVIb3N0SW1wbCBvd25zIHRoZSBDQ0xheWVySW1wbCB0cmVlIGFzIHdlbGwgYXMgYXNz
b2NpYXRlZCByZW5kZXJpbmcgc3RhdGUKQEAgLTIyNSw5ICsyMjUsNiBAQCBwcml2YXRlOgogICAg
IE93blB0cjxDQ1BhZ2VTY2FsZUFuaW1hdGlvbj4gbV9wYWdlU2NhbGVBbmltYXRpb247CiAgICAg
T3duUHRyPENDQWN0aXZlR2VzdHVyZUFuaW1hdGlvbj4gbV9hY3RpdmVHZXN0dXJlQW5pbWF0aW9u
OwogCi0gICAgLy8gVGhpcyBpcyB1c2VkIGZvciB0aWNraW5nIGFuaW1hdGlvbnMgc2xvd2x5IHdo
ZW4gaGlkZGVuLgotICAgIE93blB0cjxDQ0xheWVyVHJlZUhvc3RJbXBsVGltZVNvdXJjZUFkYXB0
ZXI+IG1fdGltZVNvdXJjZUNsaWVudEFkYXB0ZXI7Ci0KICAgICBDQ0xheWVyU29ydGVyIG1fbGF5
ZXJTb3J0ZXI7CiAKICAgICAvLyBMaXN0IG9mIHZpc2libGUgbGF5ZXJzIGluIHRoZSBtb3N0IHJl
Y2VudCBmcmFtZS4gVXNlZCBmb3IgaW5wdXQgZXZlbnQgaGl0IHRlc3RpbmcuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Byb3h5LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUHJveHku
Y3BwCmluZGV4IDllYmI3MWRjN2QzNDFhMjc5YjdhN2Y2NDdkYmE1ZWRmMTg0MzBiN2IuLjVjMzBh
OGJkNGQ2NmUxMmMyMzE4YTU1YTBiZjg0NzEwMGU5ZmUyMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUHJveHkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUHJveHkuY3BwCkBA
IC02OSwxNiArNjksNiBAQCBDQ1RocmVhZCogQ0NQcm94eTo6aW1wbFRocmVhZCgpCiAgICAgcmV0
dXJuIHNfaW1wbFRocmVhZDsKIH0KIAotQ0NUaHJlYWQqIENDUHJveHk6OmN1cnJlbnRUaHJlYWQo
KQotewotICAgIFRocmVhZElkZW50aWZpZXIgY3VycmVudFRocmVhZElkZW50aWZpZXIgPSBXVEY6
OmN1cnJlbnRUaHJlYWQoKTsKLSAgICBpZiAoc19tYWluVGhyZWFkICYmIHNfbWFpblRocmVhZC0+
dGhyZWFkSUQoKSA9PSBjdXJyZW50VGhyZWFkSWRlbnRpZmllcikKLSAgICAgICAgcmV0dXJuIHNf
bWFpblRocmVhZDsKLSAgICBpZiAoc19pbXBsVGhyZWFkICYmIHNfaW1wbFRocmVhZC0+dGhyZWFk
SUQoKSA9PSBjdXJyZW50VGhyZWFkSWRlbnRpZmllcikKLSAgICAgICAgcmV0dXJuIHNfaW1wbFRo
cmVhZDsKLSAgICByZXR1cm4gMDsKLX0KLQogI2lmbmRlZiBOREVCVUcKIGJvb2wgQ0NQcm94eTo6
aXNNYWluVGhyZWFkKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL2NjL0NDUHJveHkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL2NjL0NDUHJveHkuaAppbmRleCA0YTM2YzM4OGUyZjQyMjhlY2M5Yjhh
YjQ3ZGEwNmNkNjU0NmUxMGY3Li5hMjk2ZWIzNjQ3ZjMxNDZiODY1ZGIwNzMxY2I1NzY3MzQxMjM3
MzcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ1Byb3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NQcm94eS5oCkBAIC01MCw5ICs1MCw2IEBAIHB1YmxpYzoKICAgICBzdGF0aWMg
dm9pZCBzZXRJbXBsVGhyZWFkKENDVGhyZWFkKik7CiAgICAgc3RhdGljIENDVGhyZWFkKiBpbXBs
VGhyZWFkKCk7CiAKLSAgICAvLyBSZXR1cm5zIDAgaWYgdGhlIGN1cnJlbnQgdGhyZWFkIGlzIG5l
aXRoZXIgdGhlIG1haW4gdGhyZWFkIG5vciB0aGUgaW1wbCB0aHJlYWQuCi0gICAgc3RhdGljIEND
VGhyZWFkKiBjdXJyZW50VGhyZWFkKCk7Ci0KICAgICB2aXJ0dWFsIH5DQ1Byb3h5KCk7CiAKICAg
ICB2aXJ0dWFsIGJvb2wgY29tcG9zaXRlQW5kUmVhZGJhY2sodm9pZCAqcGl4ZWxzLCBjb25zdCBJ
bnRSZWN0JikgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NTaW5nbGVUaHJlYWRQcm94eS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTaW5nbGVUaHJlYWRQcm94eS5oCmluZGV4IDE1
NmJkZGNhMTE4NzliZTk3MTVkZTNkMGI5Y2UzNDVkYTA1ZmU4MmMuLjg4ZGE3ZDY0NWQ5MDFhM2M4
MGU1ZWEzZTJkMDEyZTBhMTczYjAzOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2luZ2xlVGhyZWFkUHJveHkuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1NpbmdsZVRocmVhZFBy
b3h5LmgKQEAgLTczLDYgKzczLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzZXROZWVk
c0NvbW1pdE9uSW1wbFRocmVhZCgpIE9WRVJSSURFIHsgbV9sYXllclRyZWVIb3N0LT5zZXROZWVk
c0NvbW1pdCgpOyB9CiAgICAgdmlydHVhbCB2b2lkIHBvc3RBbmltYXRpb25FdmVudHNUb01haW5U
aHJlYWRPbkltcGxUaHJlYWQoUGFzc093blB0cjxDQ0FuaW1hdGlvbkV2ZW50c1ZlY3Rvcj4sIGRv
dWJsZSB3YWxsQ2xvY2tUaW1lKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgcG9zdFNldENv
bnRlbnRzTWVtb3J5QWxsb2NhdGlvbkxpbWl0Qnl0ZXNUb01haW5UaHJlYWRPbkltcGxUaHJlYWQo
c2l6ZV90KSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0QmFja2dyb3VuZEFuaW1hdGlv
blRpY2tpbmdBY3RpdmUoYm9vbCkgT1ZFUlJJREUgeyB9CiAKICAgICAvLyBDYWxsZWQgYnkgdGhl
IGxlZ2FjeSBwYXRoIHdoZXJlIFJlbmRlcldpZGdldCBkb2VzIHRoZSBzY2hlZHVsaW5nLgogICAg
IHZvaWQgY29tcG9zaXRlSW1tZWRpYXRlbHkoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHkuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94eS5jcHAK
aW5kZXggMWE3MDYxODllNjFjN2M2OTIxMjIwM2Y3YmZjNjRlNTI4NDUxNDIzNy4uNzE3OWIyNmNk
MGFkOTRiMTgxMTQxYmI0ZjBhYjBlNmIwNGRlYzQzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94eS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94
eS5jcHAKQEAgLTUyLDExICs1Miw0OCBAQCBzdGF0aWMgY29uc3Qgc2l6ZV90IHRleHR1cmVVcGRh
dGVzUGVyRnJhbWUgPSA0ODsKIAogLy8gTWVhc3VyZWQgaW4gc2Vjb25kcy4KIHN0YXRpYyBjb25z
dCBkb3VibGUgY29udGV4dFJlY3JlYXRpb25UaWNrUmF0ZSA9IDAuMDM7CitzdGF0aWMgY29uc3Qg
ZG91YmxlIGxvd0ZyZXF1ZW5jeUFuaW1hdGlvbkludGVydmFsID0gMC4xOwogCiB9IC8vIGFub255
bW91cyBuYW1lc3BhY2UKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBDQ1RocmVhZFBy
b3h5QmFja2dyb3VuZEFuaW1hdGlvblRpbWVTb3VyY2VBZGFwdGVyIDogcHVibGljIENDVGltZVNv
dXJjZUNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ0NUaHJlYWRQcm94eUJhY2tn
cm91bmRBbmltYXRpb25UaW1lU291cmNlQWRhcHRlcik7CitwdWJsaWM6CisgICAgc3RhdGljIFBh
c3NPd25QdHI8Q0NUaHJlYWRQcm94eUJhY2tncm91bmRBbmltYXRpb25UaW1lU291cmNlQWRhcHRl
cj4gY3JlYXRlKENDVGhyZWFkUHJveHkqIHByb3h5LCBQYXNzUmVmUHRyPENDRGVsYXlCYXNlZFRp
bWVTb3VyY2U+IHRpbWVTb3VyY2UpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3
IENDVGhyZWFkUHJveHlCYWNrZ3JvdW5kQW5pbWF0aW9uVGltZVNvdXJjZUFkYXB0ZXIocHJveHks
IHRpbWVTb3VyY2UpKTsKKyAgICB9CisgICAgdmlydHVhbCB+Q0NUaHJlYWRQcm94eUJhY2tncm91
bmRBbmltYXRpb25UaW1lU291cmNlQWRhcHRlcigpCisgICAgeworICAgICAgICBtX3RpbWVTb3Vy
Y2UtPnNldENsaWVudCgwKTsKKyAgICAgICAgbV90aW1lU291cmNlLT5zZXRBY3RpdmUoZmFsc2Up
OworICAgIH0KKworICAgIHZpcnR1YWwgdm9pZCBvblRpbWVyVGljaygpIE9WRVJSSURFCisgICAg
eworICAgICAgICBtX3Byb3h5LT5tX2xheWVyVHJlZUhvc3RJbXBsLT5hbmltYXRlKG1vbm90b25p
Y2FsbHlJbmNyZWFzaW5nVGltZSgpLCBjdXJyZW50VGltZSgpKTsKKyAgICB9CisKKyAgICB2b2lk
IHNldEFjdGl2ZShib29sIGFjdGl2ZSkKKyAgICB7CisgICAgICAgIGlmIChhY3RpdmUgIT0gbV90
aW1lU291cmNlLT5hY3RpdmUoKSkKKyAgICAgICAgICAgIG1fdGltZVNvdXJjZS0+c2V0QWN0aXZl
KGFjdGl2ZSk7CisgICAgfQorCitwcml2YXRlOgorICAgIENDVGhyZWFkUHJveHlCYWNrZ3JvdW5k
QW5pbWF0aW9uVGltZVNvdXJjZUFkYXB0ZXIoQ0NUaHJlYWRQcm94eSogcHJveHksIFBhc3NSZWZQ
dHI8Q0NEZWxheUJhc2VkVGltZVNvdXJjZT4gdGltZVNvdXJjZSkKKyAgICAgICAgOiBtX3Byb3h5
KHByb3h5KQorICAgICAgICAsIG1fdGltZVNvdXJjZSh0aW1lU291cmNlKQorICAgIHsKKyAgICAg
ICAgbV90aW1lU291cmNlLT5zZXRDbGllbnQodGhpcyk7CisgICAgfQorCisgICAgQ0NUaHJlYWRQ
cm94eSogbV9wcm94eTsKKyAgICBSZWZQdHI8Q0NEZWxheUJhc2VkVGltZVNvdXJjZT4gbV90aW1l
U291cmNlOworfTsKKwogUGFzc093blB0cjxDQ1Byb3h5PiBDQ1RocmVhZFByb3h5OjpjcmVhdGUo
Q0NMYXllclRyZWVIb3N0KiBsYXllclRyZWVIb3N0KQogewogICAgIHJldHVybiBhZG9wdFB0cihu
ZXcgQ0NUaHJlYWRQcm94eShsYXllclRyZWVIb3N0KSk7CkBAIC02Niw2ICsxMDMsNyBAQCBDQ1Ro
cmVhZFByb3h5OjpDQ1RocmVhZFByb3h5KENDTGF5ZXJUcmVlSG9zdCogbGF5ZXJUcmVlSG9zdCkK
ICAgICA6IG1fYW5pbWF0ZVJlcXVlc3RlZChmYWxzZSkKICAgICAsIG1fY29tbWl0UmVxdWVzdGVk
KGZhbHNlKQogICAgICwgbV9jb250ZXh0TG9zdChmYWxzZSkKKyAgICAsIG1fYmFja2dyb3VuZEFu
aW1hdGlvblRpbWVTb3VyY2VBZGFwdGVyKENDVGhyZWFkUHJveHlCYWNrZ3JvdW5kQW5pbWF0aW9u
VGltZVNvdXJjZUFkYXB0ZXI6OmNyZWF0ZSh0aGlzLCBDQ0RlbGF5QmFzZWRUaW1lU291cmNlOjpj
cmVhdGUobG93RnJlcXVlbmN5QW5pbWF0aW9uSW50ZXJ2YWwsIENDUHJveHk6OmltcGxUaHJlYWQo
KSkpKQogICAgICwgbV9sYXllclRyZWVIb3N0KGxheWVyVHJlZUhvc3QpCiAgICAgLCBtX2NvbXBv
c2l0b3JJZGVudGlmaWVyKC0xKQogICAgICwgbV9sYXllclJlbmRlcmVySW5pdGlhbGl6ZWQoZmFs
c2UpCkBAIC0xMDEsNyArMTM5LDYgQEAgYm9vbCBDQ1RocmVhZFByb3h5Ojpjb21wb3NpdGVBbmRS
ZWFkYmFjayh2b2lkICpwaXhlbHMsIGNvbnN0IEludFJlY3QmIHJlY3QpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKICAgICB9CiAKLQogICAgIC8vIFBlcmZvcm0gYSBzeW5jaHJvbm91cyBjb21taXQu
CiAgICAgQ0NDb21wbGV0aW9uRXZlbnQgYmVnaW5GcmFtZUNvbXBsZXRpb247CiAgICAgQ0NQcm94
eTo6aW1wbFRocmVhZCgpLT5wb3N0VGFzayhjcmVhdGVDQ1RocmVhZFRhc2sodGhpcywgJkNDVGhy
ZWFkUHJveHk6OmZvcmNlQmVnaW5GcmFtZU9uSW1wbFRocmVhZCwgQWxsb3dDcm9zc1RocmVhZEFj
Y2VzcygmYmVnaW5GcmFtZUNvbXBsZXRpb24pKSk7CkBAIC0zMjcsNiArMzY0LDExIEBAIHZvaWQg
Q0NUaHJlYWRQcm94eTo6cG9zdFNldENvbnRlbnRzTWVtb3J5QWxsb2NhdGlvbkxpbWl0Qnl0ZXNU
b01haW5UaHJlYWRPbkltcGxUCiAgICAgbV9tYWluVGhyZWFkUHJveHktPnBvc3RUYXNrKGNyZWF0
ZUNDVGhyZWFkVGFzayh0aGlzLCAmQ0NUaHJlYWRQcm94eTo6c2V0Q29udGVudHNNZW1vcnlBbGxv
Y2F0aW9uTGltaXRCeXRlcywgYnl0ZXMpKTsKIH0KIAordm9pZCBDQ1RocmVhZFByb3h5OjpzZXRC
YWNrZ3JvdW5kQW5pbWF0aW9uVGlja2luZ0FjdGl2ZShib29sIGFjdGl2ZSkKK3sKKyAgICBtX2Jh
Y2tncm91bmRBbmltYXRpb25UaW1lU291cmNlQWRhcHRlci0+c2V0QWN0aXZlKGFjdGl2ZSk7Cit9
CisKIHZvaWQgQ0NUaHJlYWRQcm94eTo6c2V0TmVlZHNSZWRyYXcoKQogewogICAgIEFTU0VSVChp
c01haW5UaHJlYWQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9jYy9DQ1RocmVhZFByb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RocmVhZFByb3h5LmgKaW5kZXggMjkxNWE4MTE5ZTdm
YzRhNjhlMmEzZjIyNTA3N2YyOWY4OTk3ZDdlZi4uY2UxZGY1N2YwZWJiNjA5NjM4ZmUzNTRhZWVl
OTdmNWQ2NGFhM2Y3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHkuaApAQCAtNDMsNiArNDMsNyBA
QCBjbGFzcyBDQ1Njb3BlZFRocmVhZFByb3h5OwogY2xhc3MgQ0NUZXh0dXJlVXBkYXRlcjsKIGNs
YXNzIENDVGhyZWFkOwogY2xhc3MgQ0NUaHJlYWRQcm94eUNvbnRleHRSZWNyZWF0aW9uVGltZXI7
CitjbGFzcyBDQ1RocmVhZFByb3h5QmFja2dyb3VuZEFuaW1hdGlvblRpbWVTb3VyY2VBZGFwdGVy
OwogCiBjbGFzcyBDQ1RocmVhZFByb3h5IDogcHVibGljIENDUHJveHksIENDTGF5ZXJUcmVlSG9z
dEltcGxDbGllbnQsIENDU2NoZWR1bGVyQ2xpZW50IHsKIHB1YmxpYzoKQEAgLTgyLDYgKzgzLDcg
QEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzZXROZWVkc0NvbW1pdE9uSW1wbFRocmVhZCgp
IE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBwb3N0QW5pbWF0aW9uRXZlbnRzVG9NYWluVGhy
ZWFkT25JbXBsVGhyZWFkKFBhc3NPd25QdHI8Q0NBbmltYXRpb25FdmVudHNWZWN0b3I+LCBkb3Vi
bGUgd2FsbENsb2NrVGltZSkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHBvc3RTZXRDb250
ZW50c01lbW9yeUFsbG9jYXRpb25MaW1pdEJ5dGVzVG9NYWluVGhyZWFkT25JbXBsVGhyZWFkKHNp
emVfdCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIHNldEJhY2tncm91bmRBbmltYXRpb25U
aWNraW5nQWN0aXZlKGJvb2wpIE9WRVJSSURFOwogCiAgICAgLy8gQ0NTY2hlZHVsZXJDbGllbnQg
aW1wbGVtZW50YXRpb24KICAgICB2aXJ0dWFsIGJvb2wgY2FuRHJhdygpIE9WRVJSSURFOwpAQCAt
OTcsNiArOTksNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIGV4cGxpY2l0IENDVGhyZWFkUHJv
eHkoQ0NMYXllclRyZWVIb3N0Kik7CiAgICAgZnJpZW5kIGNsYXNzIENDVGhyZWFkUHJveHlDb250
ZXh0UmVjcmVhdGlvblRpbWVyOworICAgIGZyaWVuZCBjbGFzcyBDQ1RocmVhZFByb3h5QmFja2dy
b3VuZEFuaW1hdGlvblRpbWVTb3VyY2VBZGFwdGVyOwogCiAgICAgLy8gU2V0IG9uIGltcGwgdGhy
ZWFkLCByZWFkIG9uIG1haW4gdGhyZWFkLgogICAgIHN0cnVjdCBCZWdpbkZyYW1lQW5kQ29tbWl0
U3RhdGUgewpAQCAtMTUxLDYgKzE1NCw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2NvbW1pdFJl
cXVlc3RlZDsKICAgICBib29sIG1fY29udGV4dExvc3Q7CiAgICAgT3duUHRyPENDVGhyZWFkUHJv
eHlDb250ZXh0UmVjcmVhdGlvblRpbWVyPiBtX2NvbnRleHRSZWNyZWF0aW9uVGltZXI7CisgICAg
T3duUHRyPENDVGhyZWFkUHJveHlCYWNrZ3JvdW5kQW5pbWF0aW9uVGltZVNvdXJjZUFkYXB0ZXI+
IG1fYmFja2dyb3VuZEFuaW1hdGlvblRpbWVTb3VyY2VBZGFwdGVyOwogICAgIENDTGF5ZXJUcmVl
SG9zdCogbV9sYXllclRyZWVIb3N0OwogICAgIGludCBtX2NvbXBvc2l0b3JJZGVudGlmaWVyOwog
ICAgIGJvb2wgbV9sYXllclJlbmRlcmVySW5pdGlhbGl6ZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LmNwcCBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllclRyZWVIb3N0SW1wbFRlc3QuY3BwCmluZGV4
IDUzOTZhZDEyOTAwODEzZGI1MmJhYmUyYTAzODM4MTEwZGU5NmFhYjIuLmM0NTM3MGRjYjU1MzY3
MzFmNDY5YzkzZGE0MGMxODA5Y2EzMTRmMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vdGVzdHMvQ0NMYXllclRyZWVIb3N0SW1wbFRlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllclRyZWVIb3N0SW1wbFRlc3QuY3BwCkBAIC02Nyw2ICs2
Nyw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0TmVlZHNDb21taXRPbkltcGxUaHJl
YWQoKSBPVkVSUklERSB7IG1fZGlkUmVxdWVzdENvbW1pdCA9IHRydWU7IH0KICAgICB2aXJ0dWFs
IHZvaWQgcG9zdEFuaW1hdGlvbkV2ZW50c1RvTWFpblRocmVhZE9uSW1wbFRocmVhZChQYXNzT3du
UHRyPENDQW5pbWF0aW9uRXZlbnRzVmVjdG9yPiwgZG91YmxlIHdhbGxDbG9ja1RpbWUpIE9WRVJS
SURFIHsgfQogICAgIHZpcnR1YWwgdm9pZCBwb3N0U2V0Q29udGVudHNNZW1vcnlBbGxvY2F0aW9u
TGltaXRCeXRlc1RvTWFpblRocmVhZE9uSW1wbFRocmVhZChzaXplX3QpIE9WRVJSSURFIHsgfQor
ICAgIHZpcnR1YWwgdm9pZCBzZXRCYWNrZ3JvdW5kQW5pbWF0aW9uVGlja2luZ0FjdGl2ZShib29s
KSBPVkVSUklERSB7IH0KIAogICAgIHN0YXRpYyB2b2lkIGV4cGVjdENsZWFyZWRTY3JvbGxEZWx0
YXNSZWN1cnNpdmUoQ0NMYXllckltcGwqIGxheWVyKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllclRyZWVIb3N0VGVzdC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdFRlc3QuY3BwCmluZGV4IGY3MTQ3
YTdhNWM4NjY4Y2JmYTllNDdiM2NmY2MwZmMyZGMzZDY1NWEuLjk0MTdmZjUxNmQwODVhYTY3MjQz
NjU4OGMyNDFmMjU0N2UxNGIyMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
dGVzdHMvQ0NMYXllclRyZWVIb3N0VGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS90ZXN0cy9DQ0xheWVyVHJlZUhvc3RUZXN0LmNwcApAQCAtMTA3OSwxMyArMTA3OSwxMyBAQCBw
dWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgYW5pbWF0ZUxheWVycyhDQ0xheWVyVHJlZUhvc3RJ
bXBsKiBsYXllclRyZWVIb3N0SW1wbCwgZG91YmxlIG1vbm90b25pY1RpbWUpCiAgICAgewotICAg
ICAgICBpZiAoIW1fbnVtQW5pbWF0ZXMpIHsKKyAgICAgICAgbV9udW1BbmltYXRlcysrOworICAg
ICAgICBpZiAobV9udW1BbmltYXRlcyA9PSAxKSB7CiAgICAgICAgICAgICAvLyBXZSBoYXZlIGEg
bG9uZyBhbmltYXRpb24gcnVubmluZy4gSXQgc2hvdWxkIGNvbnRpbnVlIHRvIHRpY2sgZXZlbiBp
ZiB3ZSBhcmUgbm90IHZpc2libGUuCiAgICAgICAgICAgICBwb3N0U2V0VmlzaWJsZVRvTWFpblRo
cmVhZChmYWxzZSk7Ci0gICAgICAgICAgICBtX251bUFuaW1hdGVzKys7Ci0gICAgICAgICAgICBy
ZXR1cm47CisgICAgICAgIH0gZWxzZSBpZiAobV9udW1BbmltYXRlcyA+IDMpIHsKKyAgICAgICAg
ICAgIGVuZFRlc3QoKTsKICAgICAgICAgfQotICAgICAgICBlbmRUZXN0KCk7CiAgICAgfQogCiAg
ICAgdmlydHVhbCB2b2lkIGFmdGVyVGVzdCgpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140746</attachid>
            <date>2012-05-08 11:09:26 -0700</date>
            <delta_ts>2012-05-08 13:31:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85690-20120508140925.patch</filename>
            <type>text/plain</type>
            <size>18124</size>
            <attacher>vollick</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2MDg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjk3Y2I5ODFkNzJmMWY4
Njc2ODYxNDU4YTc4ZGJmZjk3NTEwNDE4Yi4uZmFiNWQ0YjFmMTBhMzJkNjE1MjQ4YWE1M2Y1NTY1
NTRjN2VmZGQwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDEyLTA1LTA0ICBJYW4g
Vm9sbGljayAgPHZvbGxpY2tAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gU2hv
dWxkIG5vdCB1c2UgYSB0aW1lciB0byB0aWNrIGJhY2tncm91bmRlZCBhbmltYXRpb25zIGluIHNp
bmdsZSB0aHJlYWQgbW9kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9ODU2OTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBDdXJyZW50bHksIHRoZSBDQ0xheWVyVHJlZUhvc3RJbXBsIHN0YXJ0cyBhIHRpbWVy
IHRvIHRpY2sgYW5pbWF0aW9ucyBvbiBiYWNrZ3JvdW5kZWQgdGFicy4gCisgICAgICAgIFRoaXMg
Y2F1c2VzIGEgbnVtYmVyIG9mIHByb2JsZW1zLiBGaXJzdCwgaXQgY2F1c2VzIGFuIGFzc2VydCBp
biBzaW5nbGUgdGhyZWFkZWQgbW9kZSBiZWNhdXNlCisgICAgICAgIGl0IHRpY2tzIG9uIHRoZSBt
YWluIHRocmVhZCwgbm90IHRoZSBpbXBsIHRocmVhZC4gU2Vjb25kLCB3ZSBzaG91bGQgbmV2ZXIg
YmUgdXNpbmcgYSB0aW1lciAKKyAgICAgICAgaW4gc2luZ2xlIHRocmVhZGVkIG1vZGUgYmVjYXVz
ZSB3aXRoIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NDYyMCwgY29t
cG9zaXRlcyAKKyAgICAgICAgYXJlIHNjaGVkdWxlZCBleHRlcm5hbGx5IChhbmQgdGhlIENDU2lu
Z2xlVGhyZWFkUHJveHkgZXhwbGljaXRseSBzY2hlZHVsZXMgdGhlbSB3aGVuIHJlcXVpcmVkKS4g
CisgICAgICAgIFNpbmNlIHRoZSB0aW1lciBpcyBvbmx5IHVzZWQgd2l0aCB0aGUgdGhyZWFkZWQg
Y29tcG9zaXRvciwgYSBiZXR0ZXIgaG9tZSBmb3IgaXQgd291bGQgYmUgdGhlIAorICAgICAgICBD
Q1RocmVhZFByb3h5LiBDQ0xUSEkgY2FuIHRoZW4gZW5hYmxlL2Rpc2FibGUgdGhlIHRpbWVyIHZp
YSBpdHMgY2xpZW50J3MgaW50ZXJmYWNlLgorCisgICAgICAgIFRlc3RlZCBpbiBDQ0xheWVyVHJl
ZUhvc3RUZXN0VGlja0FuaW1hdGlvbldoaWxlQmFja2dyb3VuZGVkCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVlSG9zdEltcGw6OkNDTGF5ZXJUcmVlSG9zdEltcGwpOgor
ICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0SW1wbDo6c2V0VmlzaWJsZSk6CisgICAg
ICAgIChXZWJDb3JlOjpDQ0xheWVyVHJlZUhvc3RJbXBsOjphbmltYXRlTGF5ZXJzKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmg6
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKENDTGF5ZXJUcmVlSG9zdEltcGxDbGllbnQp
OgorICAgICAgICAoQ0NMYXllclRyZWVIb3N0SW1wbCk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vY2MvQ0NQcm94eS5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NQcm94eS5oOgorICAgICAgICAoQ0NQcm94eSk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTaW5nbGVUaHJlYWRQcm94eS5oOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHkuY3BwOgor
ICAgICAgICAoV1RGKToKKyAgICAgICAgKENDVGhyZWFkUHJveHlCYWNrZ3JvdW5kQW5pbWF0aW9u
VGltZVNvdXJjZUFkYXB0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q0NUaHJlYWRQcm94eUJhY2tn
cm91bmRBbmltYXRpb25UaW1lU291cmNlQWRhcHRlcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNDVGhyZWFkUHJveHlCYWNrZ3JvdW5kQW5pbWF0aW9uVGltZVNvdXJjZUFkYXB0ZXI6On5D
Q1RocmVhZFByb3h5QmFja2dyb3VuZEFuaW1hdGlvblRpbWVTb3VyY2VBZGFwdGVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNDVGhyZWFkUHJveHlCYWNrZ3JvdW5kQW5pbWF0aW9uVGltZVNvdXJjZUFk
YXB0ZXI6OnNldEFjdGl2ZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ1RocmVhZFByb3h5QmFja2dy
b3VuZEFuaW1hdGlvblRpbWVTb3VyY2VBZGFwdGVyOjpDQ1RocmVhZFByb3h5QmFja2dyb3VuZEFu
aW1hdGlvblRpbWVTb3VyY2VBZGFwdGVyKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
V2ViQ29yZTo6Q0NUaHJlYWRQcm94eTo6Q0NUaHJlYWRQcm94eSk6CisgICAgICAgIChXZWJDb3Jl
OjpDQ1RocmVhZFByb3h5Ojpjb21wb3NpdGVBbmRSZWFkYmFjayk6CisgICAgICAgIChXZWJDb3Jl
OjpDQ1RocmVhZFByb3h5OjpzZXRCYWNrZ3JvdW5kQW5pbWF0aW9uVGlja2luZ0FjdGl2ZSk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94eS5oOgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChDQ1RocmVhZFByb3h5KToKKwogMjAxMi0wNS0w
NCAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBbUXRdIFJl
bW92ZSB1bm5lY2Vzc2FyeSBleGVjdXRlYWJsZSBiaXRzIGFmdGVyIHIxMTYwODUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKaW5kZXggNjQ3ZDM5ZDRjYTg4ZmMxNDIyNzFiODM4MDI4YWYyNTRlNDEx
YjAwYi4uZWZjODE0M2I2MjBlOTdjYjkzODIzMDlkODAxOTVlZTk0NjQ2YmQwNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0wNS0wNCAgSWFuIFZvbGxp
Y2sgIDx2b2xsaWNrQGNocm9taXVtLm9yZz4KKworICAgICAgICBbY2hyb21pdW1dIFNob3VsZCBu
b3QgdXNlIGEgdGltZXIgdG8gdGljayBiYWNrZ3JvdW5kZWQgYW5pbWF0aW9ucyBpbiBzaW5nbGUg
dGhyZWFkIG1vZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTg1NjkwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgTW9kaWZpZWQgdGhlIHRlc3QgdG8gY2hlY2sgdGhhdCB0aGUgdGlja2luZyBvZiBiYWNrZ3Jv
dW5kZWQgYW5pbWF0aW9ucyBub3Qgb25seSBzdGFydHMsIGJ1dCB0aGF0IGl0IGNvbnRpbnVlcy4K
KworICAgICAgICAqIHRlc3RzL0NDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LmNwcDoKKyAgICAgICAg
KiB0ZXN0cy9DQ0xheWVyVHJlZUhvc3RUZXN0LmNwcDoKKyAgICAgICAgKFdURjo6Q0NMYXllclRy
ZWVIb3N0VGVzdFRpY2tBbmltYXRpb25XaGlsZUJhY2tncm91bmRlZDo6YW5pbWF0ZUxheWVycyk6
CisKIDIwMTItMDUtMDMgIFcuIEphbWVzIE1hY0xlYW4gIDx3am1hY2xlYW5AY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFtjaHJvbWl1bV0gUmV2aXNlIHRvdWNocGFkIGZsaW5nIGN1cnZlIHRvIHVz
ZSBleHBvbmVudGlhbCBjdXJ2ZSwgdG8gaW1wcm92ZSBmZWVsIGFuZCBzbWFsbCBmbGluZyBwZXJm
b3JtYW5jZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5jcHAKaW5kZXggNDc3
OTU0ZWVkZWJjOGE3ZTYzM2QwMTUwZjZmMDk4NGQyOWEwMmFmYi4uYmUyMWNhOTg5MGU1MjcyZjU0
MjJiMGZjZjgzNmM1OGI1MTFkNTM5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0
SW1wbC5jcHAKQEAgLTQ3LDcgKzQ3LDYgQEAKICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4K
IAogbmFtZXNwYWNlIHsKLWNvbnN0IGRvdWJsZSBsb3dGcmVxdWVuY3lBbmltYXRpb25JbnRlcnZh
bCA9IDE7CiAKIHZvaWQgZGlkVmlzaWJpbGl0eUNoYW5nZShXZWJDb3JlOjpDQ0xheWVyVHJlZUhv
c3RJbXBsKiBpZCwgYm9vbCB2aXNpYmxlKQogewpAQCAtNjMsNDIgKzYyLDYgQEAgdm9pZCBkaWRW
aXNpYmlsaXR5Q2hhbmdlKFdlYkNvcmU6OkNDTGF5ZXJUcmVlSG9zdEltcGwqIGlkLCBib29sIHZp
c2libGUpCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQ0NMYXllclRyZWVIb3N0SW1w
bFRpbWVTb3VyY2VBZGFwdGVyIDogcHVibGljIENDVGltZVNvdXJjZUNsaWVudCB7Ci0gICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQ0NMYXllclRyZWVIb3N0SW1wbFRpbWVTb3VyY2VBZGFwdGVyKTsK
LXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc093blB0cjxDQ0xheWVyVHJlZUhvc3RJbXBsVGltZVNv
dXJjZUFkYXB0ZXI+IGNyZWF0ZShDQ0xheWVyVHJlZUhvc3RJbXBsKiBsYXllclRyZWVIb3N0SW1w
bCwgUGFzc1JlZlB0cjxDQ0RlbGF5QmFzZWRUaW1lU291cmNlPiB0aW1lU291cmNlKQotICAgIHsK
LSAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBDQ0xheWVyVHJlZUhvc3RJbXBsVGltZVNvdXJj
ZUFkYXB0ZXIobGF5ZXJUcmVlSG9zdEltcGwsIHRpbWVTb3VyY2UpKTsKLSAgICB9Ci0gICAgdmly
dHVhbCB+Q0NMYXllclRyZWVIb3N0SW1wbFRpbWVTb3VyY2VBZGFwdGVyKCkKLSAgICB7Ci0gICAg
ICAgIG1fdGltZVNvdXJjZS0+c2V0Q2xpZW50KDApOwotICAgICAgICBtX3RpbWVTb3VyY2UtPnNl
dEFjdGl2ZShmYWxzZSk7Ci0gICAgfQotCi0gICAgdmlydHVhbCB2b2lkIG9uVGltZXJUaWNrKCkg
T1ZFUlJJREUKLSAgICB7Ci0gICAgICAgIG1fbGF5ZXJUcmVlSG9zdEltcGwtPmFuaW1hdGUobW9u
b3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCksIGN1cnJlbnRUaW1lKCkpOwotICAgIH0KLQotICAg
IHZvaWQgc2V0QWN0aXZlKGJvb2wgYWN0aXZlKQotICAgIHsKLSAgICAgICAgaWYgKGFjdGl2ZSAh
PSBtX3RpbWVTb3VyY2UtPmFjdGl2ZSgpKQotICAgICAgICAgICAgbV90aW1lU291cmNlLT5zZXRB
Y3RpdmUoYWN0aXZlKTsKLSAgICB9Ci0KLXByaXZhdGU6Ci0gICAgQ0NMYXllclRyZWVIb3N0SW1w
bFRpbWVTb3VyY2VBZGFwdGVyKENDTGF5ZXJUcmVlSG9zdEltcGwqIGxheWVyVHJlZUhvc3RJbXBs
LCBQYXNzUmVmUHRyPENDRGVsYXlCYXNlZFRpbWVTb3VyY2U+IHRpbWVTb3VyY2UpCi0gICAgICAg
IDogbV9sYXllclRyZWVIb3N0SW1wbChsYXllclRyZWVIb3N0SW1wbCkKLSAgICAgICAgLCBtX3Rp
bWVTb3VyY2UodGltZVNvdXJjZSkKLSAgICB7Ci0gICAgICAgIG1fdGltZVNvdXJjZS0+c2V0Q2xp
ZW50KHRoaXMpOwotICAgIH0KLQotICAgIENDTGF5ZXJUcmVlSG9zdEltcGwqIG1fbGF5ZXJUcmVl
SG9zdEltcGw7Ci0gICAgUmVmUHRyPENDRGVsYXlCYXNlZFRpbWVTb3VyY2U+IG1fdGltZVNvdXJj
ZTsKLX07Ci0KIFBhc3NPd25QdHI8Q0NMYXllclRyZWVIb3N0SW1wbD4gQ0NMYXllclRyZWVIb3N0
SW1wbDo6Y3JlYXRlKGNvbnN0IENDU2V0dGluZ3MmIHNldHRpbmdzLCBDQ0xheWVyVHJlZUhvc3RJ
bXBsQ2xpZW50KiBjbGllbnQpCiB7CiAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBDQ0xheWVyVHJl
ZUhvc3RJbXBsKHNldHRpbmdzLCBjbGllbnQpKTsKQEAgLTEyMSw3ICs4NCw2IEBAIENDTGF5ZXJU
cmVlSG9zdEltcGw6OkNDTGF5ZXJUcmVlSG9zdEltcGwoY29uc3QgQ0NTZXR0aW5ncyYgc2V0dGlu
Z3MsIENDTGF5ZXJUcmVlCiAgICAgLCBtX21heFBhZ2VTY2FsZSgwKQogICAgICwgbV9uZWVkc0Fu
aW1hdGVMYXllcnMoZmFsc2UpCiAgICAgLCBtX3BpbmNoR2VzdHVyZUFjdGl2ZShmYWxzZSkKLSAg
ICAsIG1fdGltZVNvdXJjZUNsaWVudEFkYXB0ZXIoQ0NMYXllclRyZWVIb3N0SW1wbFRpbWVTb3Vy
Y2VBZGFwdGVyOjpjcmVhdGUodGhpcywgQ0NEZWxheUJhc2VkVGltZVNvdXJjZTo6Y3JlYXRlKGxv
d0ZyZXF1ZW5jeUFuaW1hdGlvbkludGVydmFsICogMTAwMC4wLCBDQ1Byb3h5OjpjdXJyZW50VGhy
ZWFkKCkpKSkKICAgICAsIG1fZnBzQ291bnRlcihDQ0ZyYW1lUmF0ZUNvdW50ZXI6OmNyZWF0ZSgp
KQogICAgICwgbV9kZWJ1Z1JlY3RIaXN0b3J5KENDRGVidWdSZWN0SGlzdG9yeTo6Y3JlYXRlKCkp
CiB7CkBAIC01NjIsNyArNTI0LDcgQEAgdm9pZCBDQ0xheWVyVHJlZUhvc3RJbXBsOjpzZXRWaXNp
YmxlKGJvb2wgdmlzaWJsZSkKICAgICBtX2xheWVyUmVuZGVyZXItPnNldFZpc2libGUodmlzaWJs
ZSk7CiAKICAgICBjb25zdCBib29sIHNob3VsZFRpY2tJbkJhY2tncm91bmQgPSAhdmlzaWJsZSAm
JiBtX25lZWRzQW5pbWF0ZUxheWVyczsKLSAgICBtX3RpbWVTb3VyY2VDbGllbnRBZGFwdGVyLT5z
ZXRBY3RpdmUoc2hvdWxkVGlja0luQmFja2dyb3VuZCk7CisgICAgbV9jbGllbnQtPnNldEJhY2tn
cm91bmRBbmltYXRpb25UaWNraW5nQWN0aXZlKHNob3VsZFRpY2tJbkJhY2tncm91bmQpOwogfQog
CiBib29sIENDTGF5ZXJUcmVlSG9zdEltcGw6OmluaXRpYWxpemVMYXllclJlbmRlcmVyKFBhc3NS
ZWZQdHI8R3JhcGhpY3NDb250ZXh0M0Q+IGNvbnRleHQpCkBAIC05NzAsNyArOTMyLDcgQEAgdm9p
ZCBDQ0xheWVyVHJlZUhvc3RJbXBsOjphbmltYXRlTGF5ZXJzKGRvdWJsZSBtb25vdG9uaWNUaW1l
LCBkb3VibGUgd2FsbENsb2NrVGkKICAgICAgICAgbV9jbGllbnQtPnNldE5lZWRzUmVkcmF3T25J
bXBsVGhyZWFkKCk7CiAKICAgICBjb25zdCBib29sIHNob3VsZFRpY2tJbkJhY2tncm91bmQgPSBt
X25lZWRzQW5pbWF0ZUxheWVycyAmJiAhbV92aXNpYmxlOwotICAgIG1fdGltZVNvdXJjZUNsaWVu
dEFkYXB0ZXItPnNldEFjdGl2ZShzaG91bGRUaWNrSW5CYWNrZ3JvdW5kKTsKKyAgICBtX2NsaWVu
dC0+c2V0QmFja2dyb3VuZEFuaW1hdGlvblRpY2tpbmdBY3RpdmUoc2hvdWxkVGlja0luQmFja2dy
b3VuZCk7CiB9CiAKIHZvaWQgQ0NMYXllclRyZWVIb3N0SW1wbDo6c2VuZERpZExvc2VDb250ZXh0
UmVjdXJzaXZlKENDTGF5ZXJJbXBsKiBjdXJyZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVI
b3N0SW1wbC5oCmluZGV4IDQ0ZTg5YTA4YzkzZmJiNDJiMTBlYjc5ZjVmODhhMjk3MWU4ODYwMDgu
LmNmZTBhN2ZmOWNjZTAxYjJjMDM0MzYyNzQxMzM5MzhjZjcyN2RlY2MgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9z
dEltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9j
Yy9DQ0xheWVyVHJlZUhvc3RJbXBsLmgKQEAgLTQ2LDcgKzQ2LDYgQEAgY2xhc3MgQ0NGcmFtZVJh
dGVDb3VudGVyOwogY2xhc3MgQ0NIZWFkc1VwRGlzcGxheTsKIGNsYXNzIENDUGFnZVNjYWxlQW5p
bWF0aW9uOwogY2xhc3MgQ0NMYXllckltcGw7Ci1jbGFzcyBDQ0xheWVyVHJlZUhvc3RJbXBsVGlt
ZVNvdXJjZUFkYXB0ZXI7CiBjbGFzcyBMYXllclJlbmRlcmVyQ2hyb21pdW07CiBjbGFzcyBUZXh0
dXJlQWxsb2NhdG9yOwogc3RydWN0IExheWVyUmVuZGVyZXJDYXBhYmlsaXRpZXM7CkBAIC02MSw2
ICs2MCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0TmVlZHNDb21taXRPbkltcGxU
aHJlYWQoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHBvc3RBbmltYXRpb25FdmVudHNUb01haW5U
aHJlYWRPbkltcGxUaHJlYWQoUGFzc093blB0cjxDQ0FuaW1hdGlvbkV2ZW50c1ZlY3Rvcj4sIGRv
dWJsZSB3YWxsQ2xvY2tUaW1lKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHBvc3RTZXRDb250ZW50
c01lbW9yeUFsbG9jYXRpb25MaW1pdEJ5dGVzVG9NYWluVGhyZWFkT25JbXBsVGhyZWFkKHNpemVf
dCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzZXRCYWNrZ3JvdW5kQW5pbWF0aW9uVGlja2luZ0Fj
dGl2ZShib29sKSA9IDA7CiB9OwogCiAvLyBDQ0xheWVyVHJlZUhvc3RJbXBsIG93bnMgdGhlIEND
TGF5ZXJJbXBsIHRyZWUgYXMgd2VsbCBhcyBhc3NvY2lhdGVkIHJlbmRlcmluZyBzdGF0ZQpAQCAt
MjI1LDkgKzIyNSw2IEBAIHByaXZhdGU6CiAgICAgT3duUHRyPENDUGFnZVNjYWxlQW5pbWF0aW9u
PiBtX3BhZ2VTY2FsZUFuaW1hdGlvbjsKICAgICBPd25QdHI8Q0NBY3RpdmVHZXN0dXJlQW5pbWF0
aW9uPiBtX2FjdGl2ZUdlc3R1cmVBbmltYXRpb247CiAKLSAgICAvLyBUaGlzIGlzIHVzZWQgZm9y
IHRpY2tpbmcgYW5pbWF0aW9ucyBzbG93bHkgd2hlbiBoaWRkZW4uCi0gICAgT3duUHRyPENDTGF5
ZXJUcmVlSG9zdEltcGxUaW1lU291cmNlQWRhcHRlcj4gbV90aW1lU291cmNlQ2xpZW50QWRhcHRl
cjsKLQogICAgIENDTGF5ZXJTb3J0ZXIgbV9sYXllclNvcnRlcjsKIAogICAgIC8vIExpc3Qgb2Yg
dmlzaWJsZSBsYXllcnMgaW4gdGhlIG1vc3QgcmVjZW50IGZyYW1lLiBVc2VkIGZvciBpbnB1dCBl
dmVudCBoaXQgdGVzdGluZy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL2NjL0NDUHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NQcm94eS5jcHAKaW5kZXggOWViYjcxZGM3ZDM0MWEyNzli
N2E3ZjY0N2RiYTVlZGYxODQzMGI3Yi4uNWMzMGE4YmQ0ZDY2ZTEyYzIzMThhNTVhMGJmODQ3MTAw
ZTlmZTIxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NQcm94eS5jcHAKQEAgLTY5LDE2ICs2OSw2IEBAIENDVGhyZWFkKiBD
Q1Byb3h5OjppbXBsVGhyZWFkKCkKICAgICByZXR1cm4gc19pbXBsVGhyZWFkOwogfQogCi1DQ1Ro
cmVhZCogQ0NQcm94eTo6Y3VycmVudFRocmVhZCgpCi17Ci0gICAgVGhyZWFkSWRlbnRpZmllciBj
dXJyZW50VGhyZWFkSWRlbnRpZmllciA9IFdURjo6Y3VycmVudFRocmVhZCgpOwotICAgIGlmIChz
X21haW5UaHJlYWQgJiYgc19tYWluVGhyZWFkLT50aHJlYWRJRCgpID09IGN1cnJlbnRUaHJlYWRJ
ZGVudGlmaWVyKQotICAgICAgICByZXR1cm4gc19tYWluVGhyZWFkOwotICAgIGlmIChzX2ltcGxU
aHJlYWQgJiYgc19pbXBsVGhyZWFkLT50aHJlYWRJRCgpID09IGN1cnJlbnRUaHJlYWRJZGVudGlm
aWVyKQotICAgICAgICByZXR1cm4gc19pbXBsVGhyZWFkOwotICAgIHJldHVybiAwOwotfQotCiAj
aWZuZGVmIE5ERUJVRwogYm9vbCBDQ1Byb3h5Ojppc01haW5UaHJlYWQoKQogewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NQcm94eS5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NQcm94eS5o
CmluZGV4IDRhMzZjMzg4ZTJmNDIyOGVjYzliOGFiNDdkYTA2Y2Q2NTQ2ZTEwZjcuLmEyOTZlYjM2
NDdmMzE0NmI4NjVkYjA3MzFjYjU3NjczNDEyMzczNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUHJveHkuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Byb3h5LmgKQEAgLTUwLDkg
KzUwLDYgQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIHNldEltcGxUaHJlYWQoQ0NUaHJlYWQq
KTsKICAgICBzdGF0aWMgQ0NUaHJlYWQqIGltcGxUaHJlYWQoKTsKIAotICAgIC8vIFJldHVybnMg
MCBpZiB0aGUgY3VycmVudCB0aHJlYWQgaXMgbmVpdGhlciB0aGUgbWFpbiB0aHJlYWQgbm9yIHRo
ZSBpbXBsIHRocmVhZC4KLSAgICBzdGF0aWMgQ0NUaHJlYWQqIGN1cnJlbnRUaHJlYWQoKTsKLQog
ICAgIHZpcnR1YWwgfkNDUHJveHkoKTsKIAogICAgIHZpcnR1YWwgYm9vbCBjb21wb3NpdGVBbmRS
ZWFkYmFjayh2b2lkICpwaXhlbHMsIGNvbnN0IEludFJlY3QmKSA9IDA7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1NpbmdsZVRocmVh
ZFByb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9D
Q1NpbmdsZVRocmVhZFByb3h5LmgKaW5kZXggMTU2YmRkY2ExMTg3OWJlOTcxNWRlM2QwYjljZTM0
NWRhMDVmZTgyYy4uODhkYTdkNjQ1ZDkwMWEzYzgwZTVlYTNlMmQwMTJlMGExNzNiMDM5NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NT
aW5nbGVUaHJlYWRQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDU2luZ2xlVGhyZWFkUHJveHkuaApAQCAtNzMsNiArNzMsNyBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCB2b2lkIHNldE5lZWRzQ29tbWl0T25JbXBsVGhyZWFkKCkgT1ZFUlJJ
REUgeyBtX2xheWVyVHJlZUhvc3QtPnNldE5lZWRzQ29tbWl0KCk7IH0KICAgICB2aXJ0dWFsIHZv
aWQgcG9zdEFuaW1hdGlvbkV2ZW50c1RvTWFpblRocmVhZE9uSW1wbFRocmVhZChQYXNzT3duUHRy
PENDQW5pbWF0aW9uRXZlbnRzVmVjdG9yPiwgZG91YmxlIHdhbGxDbG9ja1RpbWUpIE9WRVJSSURF
OwogICAgIHZpcnR1YWwgdm9pZCBwb3N0U2V0Q29udGVudHNNZW1vcnlBbGxvY2F0aW9uTGltaXRC
eXRlc1RvTWFpblRocmVhZE9uSW1wbFRocmVhZChzaXplX3QpIE9WRVJSSURFOworICAgIHZpcnR1
YWwgdm9pZCBzZXRCYWNrZ3JvdW5kQW5pbWF0aW9uVGlja2luZ0FjdGl2ZShib29sKSBPVkVSUklE
RSB7IH0KIAogICAgIC8vIENhbGxlZCBieSB0aGUgbGVnYWN5IHBhdGggd2hlcmUgUmVuZGVyV2lk
Z2V0IGRvZXMgdGhlIHNjaGVkdWxpbmcuCiAgICAgdm9pZCBjb21wb3NpdGVJbW1lZGlhdGVseSgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Y2MvQ0NUaHJlYWRQcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ1RocmVhZFByb3h5LmNwcAppbmRleCAxYTcwNjE4OWU2MWM3YzY5MjEyMjAz
ZjdiZmM2NGU1Mjg0NTE0MjM3Li41YjI3OGUzODdmMDM5MGNhMWM5NzczZGI1YmQxYWUyNjBjOWFh
ZTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ1RocmVhZFByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9jYy9DQ1RocmVhZFByb3h5LmNwcApAQCAtNTIsMTEgKzUyLDQ4IEBAIHN0
YXRpYyBjb25zdCBzaXplX3QgdGV4dHVyZVVwZGF0ZXNQZXJGcmFtZSA9IDQ4OwogCiAvLyBNZWFz
dXJlZCBpbiBzZWNvbmRzLgogc3RhdGljIGNvbnN0IGRvdWJsZSBjb250ZXh0UmVjcmVhdGlvblRp
Y2tSYXRlID0gMC4wMzsKK3N0YXRpYyBjb25zdCBkb3VibGUgbG93RnJlcXVlbmN5QW5pbWF0aW9u
SW50ZXJ2YWwgPSAxOwogCiB9IC8vIGFub255bW91cyBuYW1lc3BhY2UKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCitjbGFzcyBDQ1RocmVhZFByb3h5QmFja2dyb3VuZEFuaW1hdGlvblRpbWVTb3Vy
Y2VBZGFwdGVyIDogcHVibGljIENDVGltZVNvdXJjZUNsaWVudCB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoQ0NUaHJlYWRQcm94eUJhY2tncm91bmRBbmltYXRpb25UaW1lU291cmNlQWRhcHRl
cik7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NPd25QdHI8Q0NUaHJlYWRQcm94eUJhY2tncm91
bmRBbmltYXRpb25UaW1lU291cmNlQWRhcHRlcj4gY3JlYXRlKENDVGhyZWFkUHJveHkqIHByb3h5
LCBQYXNzUmVmUHRyPENDRGVsYXlCYXNlZFRpbWVTb3VyY2U+IHRpbWVTb3VyY2UpCisgICAgewor
ICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IENDVGhyZWFkUHJveHlCYWNrZ3JvdW5kQW5pbWF0
aW9uVGltZVNvdXJjZUFkYXB0ZXIocHJveHksIHRpbWVTb3VyY2UpKTsKKyAgICB9CisgICAgdmly
dHVhbCB+Q0NUaHJlYWRQcm94eUJhY2tncm91bmRBbmltYXRpb25UaW1lU291cmNlQWRhcHRlcigp
CisgICAgeworICAgICAgICBtX3RpbWVTb3VyY2UtPnNldENsaWVudCgwKTsKKyAgICAgICAgbV90
aW1lU291cmNlLT5zZXRBY3RpdmUoZmFsc2UpOworICAgIH0KKworICAgIHZpcnR1YWwgdm9pZCBv
blRpbWVyVGljaygpIE9WRVJSSURFCisgICAgeworICAgICAgICBtX3Byb3h5LT5tX2xheWVyVHJl
ZUhvc3RJbXBsLT5hbmltYXRlKG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpLCBjdXJyZW50
VGltZSgpKTsKKyAgICB9CisKKyAgICB2b2lkIHNldEFjdGl2ZShib29sIGFjdGl2ZSkKKyAgICB7
CisgICAgICAgIGlmIChhY3RpdmUgIT0gbV90aW1lU291cmNlLT5hY3RpdmUoKSkKKyAgICAgICAg
ICAgIG1fdGltZVNvdXJjZS0+c2V0QWN0aXZlKGFjdGl2ZSk7CisgICAgfQorCitwcml2YXRlOgor
ICAgIENDVGhyZWFkUHJveHlCYWNrZ3JvdW5kQW5pbWF0aW9uVGltZVNvdXJjZUFkYXB0ZXIoQ0NU
aHJlYWRQcm94eSogcHJveHksIFBhc3NSZWZQdHI8Q0NEZWxheUJhc2VkVGltZVNvdXJjZT4gdGlt
ZVNvdXJjZSkKKyAgICAgICAgOiBtX3Byb3h5KHByb3h5KQorICAgICAgICAsIG1fdGltZVNvdXJj
ZSh0aW1lU291cmNlKQorICAgIHsKKyAgICAgICAgbV90aW1lU291cmNlLT5zZXRDbGllbnQodGhp
cyk7CisgICAgfQorCisgICAgQ0NUaHJlYWRQcm94eSogbV9wcm94eTsKKyAgICBSZWZQdHI8Q0NE
ZWxheUJhc2VkVGltZVNvdXJjZT4gbV90aW1lU291cmNlOworfTsKKwogUGFzc093blB0cjxDQ1By
b3h5PiBDQ1RocmVhZFByb3h5OjpjcmVhdGUoQ0NMYXllclRyZWVIb3N0KiBsYXllclRyZWVIb3N0
KQogewogICAgIHJldHVybiBhZG9wdFB0cihuZXcgQ0NUaHJlYWRQcm94eShsYXllclRyZWVIb3N0
KSk7CkBAIC02Niw2ICsxMDMsNyBAQCBDQ1RocmVhZFByb3h5OjpDQ1RocmVhZFByb3h5KENDTGF5
ZXJUcmVlSG9zdCogbGF5ZXJUcmVlSG9zdCkKICAgICA6IG1fYW5pbWF0ZVJlcXVlc3RlZChmYWxz
ZSkKICAgICAsIG1fY29tbWl0UmVxdWVzdGVkKGZhbHNlKQogICAgICwgbV9jb250ZXh0TG9zdChm
YWxzZSkKKyAgICAsIG1fYmFja2dyb3VuZEFuaW1hdGlvblRpbWVTb3VyY2VBZGFwdGVyKENDVGhy
ZWFkUHJveHlCYWNrZ3JvdW5kQW5pbWF0aW9uVGltZVNvdXJjZUFkYXB0ZXI6OmNyZWF0ZSh0aGlz
LCBDQ0RlbGF5QmFzZWRUaW1lU291cmNlOjpjcmVhdGUobG93RnJlcXVlbmN5QW5pbWF0aW9uSW50
ZXJ2YWwsIENDUHJveHk6OmltcGxUaHJlYWQoKSkpKQogICAgICwgbV9sYXllclRyZWVIb3N0KGxh
eWVyVHJlZUhvc3QpCiAgICAgLCBtX2NvbXBvc2l0b3JJZGVudGlmaWVyKC0xKQogICAgICwgbV9s
YXllclJlbmRlcmVySW5pdGlhbGl6ZWQoZmFsc2UpCkBAIC0xMDEsNyArMTM5LDYgQEAgYm9vbCBD
Q1RocmVhZFByb3h5Ojpjb21wb3NpdGVBbmRSZWFkYmFjayh2b2lkICpwaXhlbHMsIGNvbnN0IElu
dFJlY3QmIHJlY3QpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKLQogICAgIC8vIFBl
cmZvcm0gYSBzeW5jaHJvbm91cyBjb21taXQuCiAgICAgQ0NDb21wbGV0aW9uRXZlbnQgYmVnaW5G
cmFtZUNvbXBsZXRpb247CiAgICAgQ0NQcm94eTo6aW1wbFRocmVhZCgpLT5wb3N0VGFzayhjcmVh
dGVDQ1RocmVhZFRhc2sodGhpcywgJkNDVGhyZWFkUHJveHk6OmZvcmNlQmVnaW5GcmFtZU9uSW1w
bFRocmVhZCwgQWxsb3dDcm9zc1RocmVhZEFjY2VzcygmYmVnaW5GcmFtZUNvbXBsZXRpb24pKSk7
CkBAIC0zMjcsNiArMzY0LDExIEBAIHZvaWQgQ0NUaHJlYWRQcm94eTo6cG9zdFNldENvbnRlbnRz
TWVtb3J5QWxsb2NhdGlvbkxpbWl0Qnl0ZXNUb01haW5UaHJlYWRPbkltcGxUCiAgICAgbV9tYWlu
VGhyZWFkUHJveHktPnBvc3RUYXNrKGNyZWF0ZUNDVGhyZWFkVGFzayh0aGlzLCAmQ0NUaHJlYWRQ
cm94eTo6c2V0Q29udGVudHNNZW1vcnlBbGxvY2F0aW9uTGltaXRCeXRlcywgYnl0ZXMpKTsKIH0K
IAordm9pZCBDQ1RocmVhZFByb3h5OjpzZXRCYWNrZ3JvdW5kQW5pbWF0aW9uVGlja2luZ0FjdGl2
ZShib29sIGFjdGl2ZSkKK3sKKyAgICBtX2JhY2tncm91bmRBbmltYXRpb25UaW1lU291cmNlQWRh
cHRlci0+c2V0QWN0aXZlKGFjdGl2ZSk7Cit9CisKIHZvaWQgQ0NUaHJlYWRQcm94eTo6c2V0TmVl
ZHNSZWRyYXcoKQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RocmVhZFByb3h5
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RocmVh
ZFByb3h5LmgKaW5kZXggMjkxNWE4MTE5ZTdmYzRhNjhlMmEzZjIyNTA3N2YyOWY4OTk3ZDdlZi4u
Y2UxZGY1N2YwZWJiNjA5NjM4ZmUzNTRhZWVlOTdmNWQ2NGFhM2Y3ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94eS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhy
ZWFkUHJveHkuaApAQCAtNDMsNiArNDMsNyBAQCBjbGFzcyBDQ1Njb3BlZFRocmVhZFByb3h5Owog
Y2xhc3MgQ0NUZXh0dXJlVXBkYXRlcjsKIGNsYXNzIENDVGhyZWFkOwogY2xhc3MgQ0NUaHJlYWRQ
cm94eUNvbnRleHRSZWNyZWF0aW9uVGltZXI7CitjbGFzcyBDQ1RocmVhZFByb3h5QmFja2dyb3Vu
ZEFuaW1hdGlvblRpbWVTb3VyY2VBZGFwdGVyOwogCiBjbGFzcyBDQ1RocmVhZFByb3h5IDogcHVi
bGljIENDUHJveHksIENDTGF5ZXJUcmVlSG9zdEltcGxDbGllbnQsIENDU2NoZWR1bGVyQ2xpZW50
IHsKIHB1YmxpYzoKQEAgLTgyLDYgKzgzLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBz
ZXROZWVkc0NvbW1pdE9uSW1wbFRocmVhZCgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBw
b3N0QW5pbWF0aW9uRXZlbnRzVG9NYWluVGhyZWFkT25JbXBsVGhyZWFkKFBhc3NPd25QdHI8Q0NB
bmltYXRpb25FdmVudHNWZWN0b3I+LCBkb3VibGUgd2FsbENsb2NrVGltZSkgT1ZFUlJJREU7CiAg
ICAgdmlydHVhbCB2b2lkIHBvc3RTZXRDb250ZW50c01lbW9yeUFsbG9jYXRpb25MaW1pdEJ5dGVz
VG9NYWluVGhyZWFkT25JbXBsVGhyZWFkKHNpemVfdCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2
b2lkIHNldEJhY2tncm91bmRBbmltYXRpb25UaWNraW5nQWN0aXZlKGJvb2wpIE9WRVJSSURFOwog
CiAgICAgLy8gQ0NTY2hlZHVsZXJDbGllbnQgaW1wbGVtZW50YXRpb24KICAgICB2aXJ0dWFsIGJv
b2wgY2FuRHJhdygpIE9WRVJSSURFOwpAQCAtOTcsNiArOTksNyBAQCBwdWJsaWM6CiBwcml2YXRl
OgogICAgIGV4cGxpY2l0IENDVGhyZWFkUHJveHkoQ0NMYXllclRyZWVIb3N0Kik7CiAgICAgZnJp
ZW5kIGNsYXNzIENDVGhyZWFkUHJveHlDb250ZXh0UmVjcmVhdGlvblRpbWVyOworICAgIGZyaWVu
ZCBjbGFzcyBDQ1RocmVhZFByb3h5QmFja2dyb3VuZEFuaW1hdGlvblRpbWVTb3VyY2VBZGFwdGVy
OwogCiAgICAgLy8gU2V0IG9uIGltcGwgdGhyZWFkLCByZWFkIG9uIG1haW4gdGhyZWFkLgogICAg
IHN0cnVjdCBCZWdpbkZyYW1lQW5kQ29tbWl0U3RhdGUgewpAQCAtMTUxLDYgKzE1NCw3IEBAIHBy
aXZhdGU6CiAgICAgYm9vbCBtX2NvbW1pdFJlcXVlc3RlZDsKICAgICBib29sIG1fY29udGV4dExv
c3Q7CiAgICAgT3duUHRyPENDVGhyZWFkUHJveHlDb250ZXh0UmVjcmVhdGlvblRpbWVyPiBtX2Nv
bnRleHRSZWNyZWF0aW9uVGltZXI7CisgICAgT3duUHRyPENDVGhyZWFkUHJveHlCYWNrZ3JvdW5k
QW5pbWF0aW9uVGltZVNvdXJjZUFkYXB0ZXI+IG1fYmFja2dyb3VuZEFuaW1hdGlvblRpbWVTb3Vy
Y2VBZGFwdGVyOwogICAgIENDTGF5ZXJUcmVlSG9zdCogbV9sYXllclRyZWVIb3N0OwogICAgIGlu
dCBtX2NvbXBvc2l0b3JJZGVudGlmaWVyOwogICAgIGJvb2wgbV9sYXllclJlbmRlcmVySW5pdGlh
bGl6ZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJU
cmVlSG9zdEltcGxUZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXll
clRyZWVIb3N0SW1wbFRlc3QuY3BwCmluZGV4IDUzOTZhZDEyOTAwODEzZGI1MmJhYmUyYTAzODM4
MTEwZGU5NmFhYjIuLmM0NTM3MGRjYjU1MzY3MzFmNDY5YzkzZGE0MGMxODA5Y2EzMTRmMmYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllclRyZWVIb3N0SW1w
bFRlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllclRyZWVI
b3N0SW1wbFRlc3QuY3BwCkBAIC02Nyw2ICs2Nyw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZv
aWQgc2V0TmVlZHNDb21taXRPbkltcGxUaHJlYWQoKSBPVkVSUklERSB7IG1fZGlkUmVxdWVzdENv
bW1pdCA9IHRydWU7IH0KICAgICB2aXJ0dWFsIHZvaWQgcG9zdEFuaW1hdGlvbkV2ZW50c1RvTWFp
blRocmVhZE9uSW1wbFRocmVhZChQYXNzT3duUHRyPENDQW5pbWF0aW9uRXZlbnRzVmVjdG9yPiwg
ZG91YmxlIHdhbGxDbG9ja1RpbWUpIE9WRVJSSURFIHsgfQogICAgIHZpcnR1YWwgdm9pZCBwb3N0
U2V0Q29udGVudHNNZW1vcnlBbGxvY2F0aW9uTGltaXRCeXRlc1RvTWFpblRocmVhZE9uSW1wbFRo
cmVhZChzaXplX3QpIE9WRVJSSURFIHsgfQorICAgIHZpcnR1YWwgdm9pZCBzZXRCYWNrZ3JvdW5k
QW5pbWF0aW9uVGlja2luZ0FjdGl2ZShib29sKSBPVkVSUklERSB7IH0KIAogICAgIHN0YXRpYyB2
b2lkIGV4cGVjdENsZWFyZWRTY3JvbGxEZWx0YXNSZWN1cnNpdmUoQ0NMYXllckltcGwqIGxheWVy
KQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXll
clRyZWVIb3N0VGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJU
cmVlSG9zdFRlc3QuY3BwCmluZGV4IGY3MTQ3YTdhNWM4NjY4Y2JmYTllNDdiM2NmY2MwZmMyZGMz
ZDY1NWEuLjk0MTdmZjUxNmQwODVhYTY3MjQzNjU4OGMyNDFmMjU0N2UxNGIyMzcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllclRyZWVIb3N0VGVzdC5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVyVHJlZUhvc3RUZXN0LmNw
cApAQCAtMTA3OSwxMyArMTA3OSwxMyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgYW5p
bWF0ZUxheWVycyhDQ0xheWVyVHJlZUhvc3RJbXBsKiBsYXllclRyZWVIb3N0SW1wbCwgZG91Ymxl
IG1vbm90b25pY1RpbWUpCiAgICAgewotICAgICAgICBpZiAoIW1fbnVtQW5pbWF0ZXMpIHsKKyAg
ICAgICAgbV9udW1BbmltYXRlcysrOworICAgICAgICBpZiAobV9udW1BbmltYXRlcyA9PSAxKSB7
CiAgICAgICAgICAgICAvLyBXZSBoYXZlIGEgbG9uZyBhbmltYXRpb24gcnVubmluZy4gSXQgc2hv
dWxkIGNvbnRpbnVlIHRvIHRpY2sgZXZlbiBpZiB3ZSBhcmUgbm90IHZpc2libGUuCiAgICAgICAg
ICAgICBwb3N0U2V0VmlzaWJsZVRvTWFpblRocmVhZChmYWxzZSk7Ci0gICAgICAgICAgICBtX251
bUFuaW1hdGVzKys7Ci0gICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0gZWxzZSBpZiAobV9u
dW1BbmltYXRlcyA+IDMpIHsKKyAgICAgICAgICAgIGVuZFRlc3QoKTsKICAgICAgICAgfQotICAg
ICAgICBlbmRUZXN0KCk7CiAgICAgfQogCiAgICAgdmlydHVhbCB2b2lkIGFmdGVyVGVzdCgpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140769</attachid>
            <date>2012-05-08 13:31:11 -0700</date>
            <delta_ts>2012-05-21 15:20:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85690-20120508163109.patch</filename>
            <type>text/plain</type>
            <size>18165</size>
            <attacher>vollick</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2NDUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzU3NzM2YTI0NjRiZTI2
M2Q2ZjAwYzEwOWM5ZDAyMzBiZmZlZmEyZC4uODg1NzUwOGQ4MDg2NmNiMjgyMGJmOGExMDhmZjA1
ODUwMGIyYTY5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDEyLTA1LTA0ICBJYW4g
Vm9sbGljayAgPHZvbGxpY2tAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gU2hv
dWxkIG5vdCB1c2UgYSB0aW1lciB0byB0aWNrIGJhY2tncm91bmRlZCBhbmltYXRpb25zIGluIHNp
bmdsZSB0aHJlYWQgbW9kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9ODU2OTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBDdXJyZW50bHksIHRoZSBDQ0xheWVyVHJlZUhvc3RJbXBsIHN0YXJ0cyBhIHRpbWVy
IHRvIHRpY2sgYW5pbWF0aW9ucyBvbiBiYWNrZ3JvdW5kZWQgdGFicy4gCisgICAgICAgIFRoaXMg
Y2F1c2VzIGEgbnVtYmVyIG9mIHByb2JsZW1zLiBGaXJzdCwgaXQgY2F1c2VzIGFuIGFzc2VydCBp
biBzaW5nbGUgdGhyZWFkZWQgbW9kZSBiZWNhdXNlCisgICAgICAgIGl0IHRpY2tzIG9uIHRoZSBt
YWluIHRocmVhZCwgbm90IHRoZSBpbXBsIHRocmVhZC4gU2Vjb25kLCB3ZSBzaG91bGQgbmV2ZXIg
YmUgdXNpbmcgYSB0aW1lciAKKyAgICAgICAgaW4gc2luZ2xlIHRocmVhZGVkIG1vZGUgYmVjYXVz
ZSB3aXRoIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NDYyMCwgY29t
cG9zaXRlcyAKKyAgICAgICAgYXJlIHNjaGVkdWxlZCBleHRlcm5hbGx5IChhbmQgdGhlIENDU2lu
Z2xlVGhyZWFkUHJveHkgZXhwbGljaXRseSBzY2hlZHVsZXMgdGhlbSB3aGVuIHJlcXVpcmVkKS4g
CisgICAgICAgIFNpbmNlIHRoZSB0aW1lciBpcyBvbmx5IHVzZWQgd2l0aCB0aGUgdGhyZWFkZWQg
Y29tcG9zaXRvciwgYSBiZXR0ZXIgaG9tZSBmb3IgaXQgd291bGQgYmUgdGhlIAorICAgICAgICBD
Q1RocmVhZFByb3h5LiBDQ0xUSEkgY2FuIHRoZW4gZW5hYmxlL2Rpc2FibGUgdGhlIHRpbWVyIHZp
YSBpdHMgY2xpZW50J3MgaW50ZXJmYWNlLgorCisgICAgICAgIFRlc3RlZCBpbiBDQ0xheWVyVHJl
ZUhvc3RUZXN0VGlja0FuaW1hdGlvbldoaWxlQmFja2dyb3VuZGVkCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVlSG9zdEltcGw6OkNDTGF5ZXJUcmVlSG9zdEltcGwpOgor
ICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0SW1wbDo6c2V0VmlzaWJsZSk6CisgICAg
ICAgIChXZWJDb3JlOjpDQ0xheWVyVHJlZUhvc3RJbXBsOjphbmltYXRlTGF5ZXJzKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmg6
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKENDTGF5ZXJUcmVlSG9zdEltcGxDbGllbnQp
OgorICAgICAgICAoQ0NMYXllclRyZWVIb3N0SW1wbCk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vY2MvQ0NQcm94eS5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NQcm94eS5oOgorICAgICAgICAoQ0NQcm94eSk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTaW5nbGVUaHJlYWRQcm94eS5oOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHkuY3BwOgor
ICAgICAgICAoV1RGKToKKyAgICAgICAgKENDVGhyZWFkUHJveHlCYWNrZ3JvdW5kQW5pbWF0aW9u
VGltZVNvdXJjZUFkYXB0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q0NUaHJlYWRQcm94eUJhY2tn
cm91bmRBbmltYXRpb25UaW1lU291cmNlQWRhcHRlcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNDVGhyZWFkUHJveHlCYWNrZ3JvdW5kQW5pbWF0aW9uVGltZVNvdXJjZUFkYXB0ZXI6On5D
Q1RocmVhZFByb3h5QmFja2dyb3VuZEFuaW1hdGlvblRpbWVTb3VyY2VBZGFwdGVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNDVGhyZWFkUHJveHlCYWNrZ3JvdW5kQW5pbWF0aW9uVGltZVNvdXJjZUFk
YXB0ZXI6OnNldEFjdGl2ZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ1RocmVhZFByb3h5QmFja2dy
b3VuZEFuaW1hdGlvblRpbWVTb3VyY2VBZGFwdGVyOjpDQ1RocmVhZFByb3h5QmFja2dyb3VuZEFu
aW1hdGlvblRpbWVTb3VyY2VBZGFwdGVyKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
V2ViQ29yZTo6Q0NUaHJlYWRQcm94eTo6Q0NUaHJlYWRQcm94eSk6CisgICAgICAgIChXZWJDb3Jl
OjpDQ1RocmVhZFByb3h5Ojpjb21wb3NpdGVBbmRSZWFkYmFjayk6CisgICAgICAgIChXZWJDb3Jl
OjpDQ1RocmVhZFByb3h5OjpzZXRCYWNrZ3JvdW5kQW5pbWF0aW9uVGlja2luZ0FjdGl2ZSk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94eS5oOgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChDQ1RocmVhZFByb3h5KToKKwogMjAxMi0wNS0w
NCAgTmlrb2xhcyBaaW1tZXJtYW5uICA8bnppbW1lcm1hbm5AcmltLmNvbT4KIAogICAgICAgICBU
aWUgbGlmZXRpbWUgb2YgU1ZHQW5pbWF0ZUVsZW1lbnQ6Om1fYW5pbWF0ZWRUeXBlIHRvIHRoZSBk
dXJhdGlvbiBvZiB0aGUgYW5pbWF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDU2
NWQ1NmViZGJkNGUzY2MzZDM0ZjkwMDdkNzY1MDI2MTI4MGFiMmMuLmZmMjU1MTIwNGEyMjkwZmQ2
MTQzZTkzMmU5NmFiMDFjNGQ3NWJjOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTYgQEAKKzIwMTItMDUtMDQgIElhbiBWb2xsaWNrICA8dm9sbGlja0BjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBTaG91bGQgbm90IHVzZSBhIHRpbWVyIHRvIHRpY2sg
YmFja2dyb3VuZGVkIGFuaW1hdGlvbnMgaW4gc2luZ2xlIHRocmVhZCBtb2RlCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTY5MAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vZGlmaWVkIHRoZSB0ZXN0IHRv
IGNoZWNrIHRoYXQgdGhlIHRpY2tpbmcgb2YgYmFja2dyb3VuZGVkIGFuaW1hdGlvbnMgbm90IG9u
bHkgc3RhcnRzLCBidXQgdGhhdCBpdCBjb250aW51ZXMuCisKKyAgICAgICAgKiB0ZXN0cy9DQ0xh
eWVyVHJlZUhvc3RJbXBsVGVzdC5jcHA6CisgICAgICAgICogdGVzdHMvQ0NMYXllclRyZWVIb3N0
VGVzdC5jcHA6CisgICAgICAgIChXVEY6OkNDTGF5ZXJUcmVlSG9zdFRlc3RUaWNrQW5pbWF0aW9u
V2hpbGVCYWNrZ3JvdW5kZWQ6OmFuaW1hdGVMYXllcnMpOgorCiAyMDEyLTA1LTA4ICBUb255IENo
YW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBtb3ZlIGV2ZW50
X2xpc3RlbmVyX3VuaXR0ZXN0IHRvIHdlYmtpdF91bml0X3Rlc3RzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJ
bXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
TGF5ZXJUcmVlSG9zdEltcGwuY3BwCmluZGV4IDMxYmRiYzJlNWZmMWViOTI1MjIwZjhlM2Q1NTAz
ZjI4NDcxMjI4MGUuLmM2NGFjMTM4YWZlZDY1YjliMGE3OGUyYTg2ZTBkNGYyNGRkZGFkZTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
TGF5ZXJUcmVlSG9zdEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuY3BwCkBAIC00Nyw3ICs0Nyw2IEBA
CiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAKIG5hbWVzcGFjZSB7Ci1jb25zdCBkb3Vi
bGUgbG93RnJlcXVlbmN5QW5pbWF0aW9uSW50ZXJ2YWwgPSAxOwogCiB2b2lkIGRpZFZpc2liaWxp
dHlDaGFuZ2UoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0SW1wbCogaWQsIGJvb2wgdmlzaWJsZSkK
IHsKQEAgLTYzLDQyICs2Miw2IEBAIHZvaWQgZGlkVmlzaWJpbGl0eUNoYW5nZShXZWJDb3JlOjpD
Q0xheWVyVHJlZUhvc3RJbXBsKiBpZCwgYm9vbCB2aXNpYmxlKQogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLWNsYXNzIENDTGF5ZXJUcmVlSG9zdEltcGxUaW1lU291cmNlQWRhcHRlciA6IHB1Ymxp
YyBDQ1RpbWVTb3VyY2VDbGllbnQgewotICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENDTGF5ZXJU
cmVlSG9zdEltcGxUaW1lU291cmNlQWRhcHRlcik7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NP
d25QdHI8Q0NMYXllclRyZWVIb3N0SW1wbFRpbWVTb3VyY2VBZGFwdGVyPiBjcmVhdGUoQ0NMYXll
clRyZWVIb3N0SW1wbCogbGF5ZXJUcmVlSG9zdEltcGwsIFBhc3NSZWZQdHI8Q0NEZWxheUJhc2Vk
VGltZVNvdXJjZT4gdGltZVNvdXJjZSkKLSAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFB0cihu
ZXcgQ0NMYXllclRyZWVIb3N0SW1wbFRpbWVTb3VyY2VBZGFwdGVyKGxheWVyVHJlZUhvc3RJbXBs
LCB0aW1lU291cmNlKSk7Ci0gICAgfQotICAgIHZpcnR1YWwgfkNDTGF5ZXJUcmVlSG9zdEltcGxU
aW1lU291cmNlQWRhcHRlcigpCi0gICAgewotICAgICAgICBtX3RpbWVTb3VyY2UtPnNldENsaWVu
dCgwKTsKLSAgICAgICAgbV90aW1lU291cmNlLT5zZXRBY3RpdmUoZmFsc2UpOwotICAgIH0KLQot
ICAgIHZpcnR1YWwgdm9pZCBvblRpbWVyVGljaygpIE9WRVJSSURFCi0gICAgewotICAgICAgICBt
X2xheWVyVHJlZUhvc3RJbXBsLT5hbmltYXRlKG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgp
LCBjdXJyZW50VGltZSgpKTsKLSAgICB9Ci0KLSAgICB2b2lkIHNldEFjdGl2ZShib29sIGFjdGl2
ZSkKLSAgICB7Ci0gICAgICAgIGlmIChhY3RpdmUgIT0gbV90aW1lU291cmNlLT5hY3RpdmUoKSkK
LSAgICAgICAgICAgIG1fdGltZVNvdXJjZS0+c2V0QWN0aXZlKGFjdGl2ZSk7Ci0gICAgfQotCi1w
cml2YXRlOgotICAgIENDTGF5ZXJUcmVlSG9zdEltcGxUaW1lU291cmNlQWRhcHRlcihDQ0xheWVy
VHJlZUhvc3RJbXBsKiBsYXllclRyZWVIb3N0SW1wbCwgUGFzc1JlZlB0cjxDQ0RlbGF5QmFzZWRU
aW1lU291cmNlPiB0aW1lU291cmNlKQotICAgICAgICA6IG1fbGF5ZXJUcmVlSG9zdEltcGwobGF5
ZXJUcmVlSG9zdEltcGwpCi0gICAgICAgICwgbV90aW1lU291cmNlKHRpbWVTb3VyY2UpCi0gICAg
ewotICAgICAgICBtX3RpbWVTb3VyY2UtPnNldENsaWVudCh0aGlzKTsKLSAgICB9Ci0KLSAgICBD
Q0xheWVyVHJlZUhvc3RJbXBsKiBtX2xheWVyVHJlZUhvc3RJbXBsOwotICAgIFJlZlB0cjxDQ0Rl
bGF5QmFzZWRUaW1lU291cmNlPiBtX3RpbWVTb3VyY2U7Ci19OwotCiBQYXNzT3duUHRyPENDTGF5
ZXJUcmVlSG9zdEltcGw+IENDTGF5ZXJUcmVlSG9zdEltcGw6OmNyZWF0ZShjb25zdCBDQ1NldHRp
bmdzJiBzZXR0aW5ncywgQ0NMYXllclRyZWVIb3N0SW1wbENsaWVudCogY2xpZW50KQogewogICAg
IHJldHVybiBhZG9wdFB0cihuZXcgQ0NMYXllclRyZWVIb3N0SW1wbChzZXR0aW5ncywgY2xpZW50
KSk7CkBAIC0xMTksNyArODIsNiBAQCBDQ0xheWVyVHJlZUhvc3RJbXBsOjpDQ0xheWVyVHJlZUhv
c3RJbXBsKGNvbnN0IENDU2V0dGluZ3MmIHNldHRpbmdzLCBDQ0xheWVyVHJlZQogICAgICwgbV9t
YXhQYWdlU2NhbGUoMCkKICAgICAsIG1fbmVlZHNBbmltYXRlTGF5ZXJzKGZhbHNlKQogICAgICwg
bV9waW5jaEdlc3R1cmVBY3RpdmUoZmFsc2UpCi0gICAgLCBtX3RpbWVTb3VyY2VDbGllbnRBZGFw
dGVyKENDTGF5ZXJUcmVlSG9zdEltcGxUaW1lU291cmNlQWRhcHRlcjo6Y3JlYXRlKHRoaXMsIEND
RGVsYXlCYXNlZFRpbWVTb3VyY2U6OmNyZWF0ZShsb3dGcmVxdWVuY3lBbmltYXRpb25JbnRlcnZh
bCAqIDEwMDAuMCwgQ0NQcm94eTo6Y3VycmVudFRocmVhZCgpKSkpCiAgICAgLCBtX2Zwc0NvdW50
ZXIoQ0NGcmFtZVJhdGVDb3VudGVyOjpjcmVhdGUoKSkKICAgICAsIG1fZGVidWdSZWN0SGlzdG9y
eShDQ0RlYnVnUmVjdEhpc3Rvcnk6OmNyZWF0ZSgpKQogewpAQCAtNTI4LDcgKzQ5MCw3IEBAIHZv
aWQgQ0NMYXllclRyZWVIb3N0SW1wbDo6c2V0VmlzaWJsZShib29sIHZpc2libGUpCiAgICAgbV9s
YXllclJlbmRlcmVyLT5zZXRWaXNpYmxlKHZpc2libGUpOwogCiAgICAgY29uc3QgYm9vbCBzaG91
bGRUaWNrSW5CYWNrZ3JvdW5kID0gIXZpc2libGUgJiYgbV9uZWVkc0FuaW1hdGVMYXllcnM7Ci0g
ICAgbV90aW1lU291cmNlQ2xpZW50QWRhcHRlci0+c2V0QWN0aXZlKHNob3VsZFRpY2tJbkJhY2tn
cm91bmQpOworICAgIG1fY2xpZW50LT5zZXRCYWNrZ3JvdW5kQW5pbWF0aW9uVGlja2luZ0FjdGl2
ZShzaG91bGRUaWNrSW5CYWNrZ3JvdW5kKTsKIH0KIAogYm9vbCBDQ0xheWVyVHJlZUhvc3RJbXBs
Ojppbml0aWFsaXplTGF5ZXJSZW5kZXJlcihQYXNzUmVmUHRyPEdyYXBoaWNzQ29udGV4dDNEPiBj
b250ZXh0LCBQYXNzT3duUHRyPFRleHR1cmVVcGxvYWRlcj4gdXBsb2FkZXIpCkBAIC04NTQsNyAr
ODE2LDcgQEAgdm9pZCBDQ0xheWVyVHJlZUhvc3RJbXBsOjphbmltYXRlTGF5ZXJzKGRvdWJsZSBt
b25vdG9uaWNUaW1lLCBkb3VibGUgd2FsbENsb2NrVGkKICAgICAgICAgbV9jbGllbnQtPnNldE5l
ZWRzUmVkcmF3T25JbXBsVGhyZWFkKCk7CiAKICAgICBjb25zdCBib29sIHNob3VsZFRpY2tJbkJh
Y2tncm91bmQgPSBtX25lZWRzQW5pbWF0ZUxheWVycyAmJiAhbV92aXNpYmxlOwotICAgIG1fdGlt
ZVNvdXJjZUNsaWVudEFkYXB0ZXItPnNldEFjdGl2ZShzaG91bGRUaWNrSW5CYWNrZ3JvdW5kKTsK
KyAgICBtX2NsaWVudC0+c2V0QmFja2dyb3VuZEFuaW1hdGlvblRpY2tpbmdBY3RpdmUoc2hvdWxk
VGlja0luQmFja2dyb3VuZCk7CiB9CiAKIHZvaWQgQ0NMYXllclRyZWVIb3N0SW1wbDo6c2VuZERp
ZExvc2VDb250ZXh0UmVjdXJzaXZlKENDTGF5ZXJJbXBsKiBjdXJyZW50KQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVI
b3N0SW1wbC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NMYXllclRyZWVIb3N0SW1wbC5oCmluZGV4IDhmMTZmOWZkNDA2NDdlOWE1M2NhODFlZjZiYWFl
Njc5NzJjYzQyOWQuLmI4ZGNlZDcwZGZkYWIxNDIxMWU0OTRiZThmY2JkNDJhOTQ2MzM4MGMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
TGF5ZXJUcmVlSG9zdEltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmgKQEAgLTQ2LDcgKzQ2LDYgQEAgY2xh
c3MgQ0NGcmFtZVJhdGVDb3VudGVyOwogY2xhc3MgQ0NIZWFkc1VwRGlzcGxheTsKIGNsYXNzIEND
UGFnZVNjYWxlQW5pbWF0aW9uOwogY2xhc3MgQ0NMYXllckltcGw7Ci1jbGFzcyBDQ0xheWVyVHJl
ZUhvc3RJbXBsVGltZVNvdXJjZUFkYXB0ZXI7CiBjbGFzcyBMYXllclJlbmRlcmVyQ2hyb21pdW07
CiBjbGFzcyBUZXh0dXJlQWxsb2NhdG9yOwogc3RydWN0IExheWVyUmVuZGVyZXJDYXBhYmlsaXRp
ZXM7CkBAIC02MSw2ICs2MCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0TmVlZHND
b21taXRPbkltcGxUaHJlYWQoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHBvc3RBbmltYXRpb25F
dmVudHNUb01haW5UaHJlYWRPbkltcGxUaHJlYWQoUGFzc093blB0cjxDQ0FuaW1hdGlvbkV2ZW50
c1ZlY3Rvcj4sIGRvdWJsZSB3YWxsQ2xvY2tUaW1lKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHBv
c3RTZXRDb250ZW50c01lbW9yeUFsbG9jYXRpb25MaW1pdEJ5dGVzVG9NYWluVGhyZWFkT25JbXBs
VGhyZWFkKHNpemVfdCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzZXRCYWNrZ3JvdW5kQW5pbWF0
aW9uVGlja2luZ0FjdGl2ZShib29sKSA9IDA7CiB9OwogCiAvLyBDQ0xheWVyVHJlZUhvc3RJbXBs
IG93bnMgdGhlIENDTGF5ZXJJbXBsIHRyZWUgYXMgd2VsbCBhcyBhc3NvY2lhdGVkIHJlbmRlcmlu
ZyBzdGF0ZQpAQCAtMjI0LDkgKzIyNCw2IEBAIHByaXZhdGU6CiAgICAgT3duUHRyPENDUGFnZVNj
YWxlQW5pbWF0aW9uPiBtX3BhZ2VTY2FsZUFuaW1hdGlvbjsKICAgICBPd25QdHI8Q0NBY3RpdmVH
ZXN0dXJlQW5pbWF0aW9uPiBtX2FjdGl2ZUdlc3R1cmVBbmltYXRpb247CiAKLSAgICAvLyBUaGlz
IGlzIHVzZWQgZm9yIHRpY2tpbmcgYW5pbWF0aW9ucyBzbG93bHkgd2hlbiBoaWRkZW4uCi0gICAg
T3duUHRyPENDTGF5ZXJUcmVlSG9zdEltcGxUaW1lU291cmNlQWRhcHRlcj4gbV90aW1lU291cmNl
Q2xpZW50QWRhcHRlcjsKLQogICAgIENDTGF5ZXJTb3J0ZXIgbV9sYXllclNvcnRlcjsKIAogICAg
IEZsb2F0UmVjdCBtX3Jvb3REYW1hZ2VSZWN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Byb3h5LmNwcAppbmRleCA5ZWJiNzFk
YzdkMzQxYTI3OWI3YTdmNjQ3ZGJhNWVkZjE4NDMwYjdiLi41YzMwYThiZDRkNjZlMTJjMjMxOGE1
NWEwYmY4NDcxMDBlOWZlMjFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Byb3h5LmNwcApAQCAtNjksMTYgKzY5LDYgQEAg
Q0NUaHJlYWQqIENDUHJveHk6OmltcGxUaHJlYWQoKQogICAgIHJldHVybiBzX2ltcGxUaHJlYWQ7
CiB9CiAKLUNDVGhyZWFkKiBDQ1Byb3h5OjpjdXJyZW50VGhyZWFkKCkKLXsKLSAgICBUaHJlYWRJ
ZGVudGlmaWVyIGN1cnJlbnRUaHJlYWRJZGVudGlmaWVyID0gV1RGOjpjdXJyZW50VGhyZWFkKCk7
Ci0gICAgaWYgKHNfbWFpblRocmVhZCAmJiBzX21haW5UaHJlYWQtPnRocmVhZElEKCkgPT0gY3Vy
cmVudFRocmVhZElkZW50aWZpZXIpCi0gICAgICAgIHJldHVybiBzX21haW5UaHJlYWQ7Ci0gICAg
aWYgKHNfaW1wbFRocmVhZCAmJiBzX2ltcGxUaHJlYWQtPnRocmVhZElEKCkgPT0gY3VycmVudFRo
cmVhZElkZW50aWZpZXIpCi0gICAgICAgIHJldHVybiBzX2ltcGxUaHJlYWQ7Ci0gICAgcmV0dXJu
IDA7Ci19Ci0KICNpZm5kZWYgTkRFQlVHCiBib29sIENDUHJveHk6OmlzTWFpblRocmVhZCgpCiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9j
Yy9DQ1Byb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9j
Yy9DQ1Byb3h5LmgKaW5kZXggNGEzNmMzODhlMmY0MjI4ZWNjOWI4YWI0N2RhMDZjZDY1NDZlMTBm
Ny4uYTI5NmViMzY0N2YzMTQ2Yjg2NWRiMDczMWNiNTc2NzM0MTIzNzM3MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NQcm94eS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUHJveHku
aApAQCAtNTAsOSArNTAsNiBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgc2V0SW1wbFRocmVh
ZChDQ1RocmVhZCopOwogICAgIHN0YXRpYyBDQ1RocmVhZCogaW1wbFRocmVhZCgpOwogCi0gICAg
Ly8gUmV0dXJucyAwIGlmIHRoZSBjdXJyZW50IHRocmVhZCBpcyBuZWl0aGVyIHRoZSBtYWluIHRo
cmVhZCBub3IgdGhlIGltcGwgdGhyZWFkLgotICAgIHN0YXRpYyBDQ1RocmVhZCogY3VycmVudFRo
cmVhZCgpOwotCiAgICAgdmlydHVhbCB+Q0NQcm94eSgpOwogCiAgICAgdmlydHVhbCBib29sIGNv
bXBvc2l0ZUFuZFJlYWRiYWNrKHZvaWQgKnBpeGVscywgY29uc3QgSW50UmVjdCYpID0gMDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
U2luZ2xlVGhyZWFkUHJveHkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL2NjL0NDU2luZ2xlVGhyZWFkUHJveHkuaAppbmRleCAxNTZiZGRjYTExODc5YmU5NzE1
ZGUzZDBiOWNlMzQ1ZGEwNWZlODJjLi44OGRhN2Q2NDVkOTAxYTNjODBlNWVhM2UyZDAxMmUwYTE3
M2IwMzk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9jYy9DQ1NpbmdsZVRocmVhZFByb3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTaW5nbGVUaHJlYWRQcm94eS5oCkBAIC03Myw2ICs3
Myw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0TmVlZHNDb21taXRPbkltcGxUaHJl
YWQoKSBPVkVSUklERSB7IG1fbGF5ZXJUcmVlSG9zdC0+c2V0TmVlZHNDb21taXQoKTsgfQogICAg
IHZpcnR1YWwgdm9pZCBwb3N0QW5pbWF0aW9uRXZlbnRzVG9NYWluVGhyZWFkT25JbXBsVGhyZWFk
KFBhc3NPd25QdHI8Q0NBbmltYXRpb25FdmVudHNWZWN0b3I+LCBkb3VibGUgd2FsbENsb2NrVGlt
ZSkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHBvc3RTZXRDb250ZW50c01lbW9yeUFsbG9j
YXRpb25MaW1pdEJ5dGVzVG9NYWluVGhyZWFkT25JbXBsVGhyZWFkKHNpemVfdCkgT1ZFUlJJREU7
CisgICAgdmlydHVhbCB2b2lkIHNldEJhY2tncm91bmRBbmltYXRpb25UaWNraW5nQWN0aXZlKGJv
b2wpIE9WRVJSSURFIHsgfQogCiAgICAgLy8gQ2FsbGVkIGJ5IHRoZSBsZWdhY3kgcGF0aCB3aGVy
ZSBSZW5kZXJXaWRnZXQgZG9lcyB0aGUgc2NoZWR1bGluZy4KICAgICB2b2lkIGNvbXBvc2l0ZUlt
bWVkaWF0ZWx5KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ1RocmVhZFByb3h5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHkuY3BwCmluZGV4IDE1N2ZjMWRmMDg2
M2I3YmRiOTdkYmQ0M2Q1ZDMyMDhkMzVmM2Y1YWEuLmIyNDExZTgxZGJjYjNjN2E0ZTIzMDNkYTQx
YmU1OWE5YWE0OTAzNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHkuY3BwCkBAIC01Miw2ICs1
Miw3IEBAIHN0YXRpYyBjb25zdCBzaXplX3QgdGV4dHVyZVVwZGF0ZXNQZXJGcmFtZSA9IDQ4Owog
CiAvLyBNZWFzdXJlZCBpbiBzZWNvbmRzLgogc3RhdGljIGNvbnN0IGRvdWJsZSBjb250ZXh0UmVj
cmVhdGlvblRpY2tSYXRlID0gMC4wMzsKK3N0YXRpYyBjb25zdCBkb3VibGUgbG93RnJlcXVlbmN5
QW5pbWF0aW9uSW50ZXJ2YWwgPSAxOwogCiB9IC8vIGFub255bW91cyBuYW1lc3BhY2UKIApAQCAt
NzYsNiArNzcsNDIgQEAgcHJvdGVjdGVkOgogICAgIGV4cGxpY2l0IFVudGhyb3R0bGVkVGV4dHVy
ZVVwbG9hZGVyKFBhc3NSZWZQdHI8R3JhcGhpY3NDb250ZXh0M0Q+KSB7IH0KIH07CiAKK2NsYXNz
IENDVGhyZWFkUHJveHlCYWNrZ3JvdW5kQW5pbWF0aW9uVGltZVNvdXJjZUFkYXB0ZXIgOiBwdWJs
aWMgQ0NUaW1lU291cmNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDQ1RocmVh
ZFByb3h5QmFja2dyb3VuZEFuaW1hdGlvblRpbWVTb3VyY2VBZGFwdGVyKTsKK3B1YmxpYzoKKyAg
ICBzdGF0aWMgUGFzc093blB0cjxDQ1RocmVhZFByb3h5QmFja2dyb3VuZEFuaW1hdGlvblRpbWVT
b3VyY2VBZGFwdGVyPiBjcmVhdGUoQ0NUaHJlYWRQcm94eSogcHJveHksIFBhc3NSZWZQdHI8Q0NE
ZWxheUJhc2VkVGltZVNvdXJjZT4gdGltZVNvdXJjZSkKKyAgICB7CisgICAgICAgIHJldHVybiBh
ZG9wdFB0cihuZXcgQ0NUaHJlYWRQcm94eUJhY2tncm91bmRBbmltYXRpb25UaW1lU291cmNlQWRh
cHRlcihwcm94eSwgdGltZVNvdXJjZSkpOworICAgIH0KKyAgICB2aXJ0dWFsIH5DQ1RocmVhZFBy
b3h5QmFja2dyb3VuZEFuaW1hdGlvblRpbWVTb3VyY2VBZGFwdGVyKCkKKyAgICB7CisgICAgICAg
IG1fdGltZVNvdXJjZS0+c2V0Q2xpZW50KDApOworICAgICAgICBtX3RpbWVTb3VyY2UtPnNldEFj
dGl2ZShmYWxzZSk7CisgICAgfQorCisgICAgdmlydHVhbCB2b2lkIG9uVGltZXJUaWNrKCkgT1ZF
UlJJREUKKyAgICB7CisgICAgICAgIG1fcHJveHktPm1fbGF5ZXJUcmVlSG9zdEltcGwtPmFuaW1h
dGUobW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCksIGN1cnJlbnRUaW1lKCkpOworICAgIH0K
KworICAgIHZvaWQgc2V0QWN0aXZlKGJvb2wgYWN0aXZlKQorICAgIHsKKyAgICAgICAgaWYgKGFj
dGl2ZSAhPSBtX3RpbWVTb3VyY2UtPmFjdGl2ZSgpKQorICAgICAgICAgICAgbV90aW1lU291cmNl
LT5zZXRBY3RpdmUoYWN0aXZlKTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgQ0NUaHJlYWRQcm94
eUJhY2tncm91bmRBbmltYXRpb25UaW1lU291cmNlQWRhcHRlcihDQ1RocmVhZFByb3h5KiBwcm94
eSwgUGFzc1JlZlB0cjxDQ0RlbGF5QmFzZWRUaW1lU291cmNlPiB0aW1lU291cmNlKQorICAgICAg
ICA6IG1fcHJveHkocHJveHkpCisgICAgICAgICwgbV90aW1lU291cmNlKHRpbWVTb3VyY2UpCisg
ICAgeworICAgICAgICBtX3RpbWVTb3VyY2UtPnNldENsaWVudCh0aGlzKTsKKyAgICB9CisKKyAg
ICBDQ1RocmVhZFByb3h5KiBtX3Byb3h5OworICAgIFJlZlB0cjxDQ0RlbGF5QmFzZWRUaW1lU291
cmNlPiBtX3RpbWVTb3VyY2U7Cit9OworCiBQYXNzT3duUHRyPENDUHJveHk+IENDVGhyZWFkUHJv
eHk6OmNyZWF0ZShDQ0xheWVyVHJlZUhvc3QqIGxheWVyVHJlZUhvc3QpCiB7CiAgICAgcmV0dXJu
IGFkb3B0UHRyKG5ldyBDQ1RocmVhZFByb3h5KGxheWVyVHJlZUhvc3QpKTsKQEAgLTg1LDYgKzEy
Miw3IEBAIENDVGhyZWFkUHJveHk6OkNDVGhyZWFkUHJveHkoQ0NMYXllclRyZWVIb3N0KiBsYXll
clRyZWVIb3N0KQogICAgIDogbV9hbmltYXRlUmVxdWVzdGVkKGZhbHNlKQogICAgICwgbV9jb21t
aXRSZXF1ZXN0ZWQoZmFsc2UpCiAgICAgLCBtX2NvbnRleHRMb3N0KGZhbHNlKQorICAgICwgbV9i
YWNrZ3JvdW5kQW5pbWF0aW9uVGltZVNvdXJjZUFkYXB0ZXIoQ0NUaHJlYWRQcm94eUJhY2tncm91
bmRBbmltYXRpb25UaW1lU291cmNlQWRhcHRlcjo6Y3JlYXRlKHRoaXMsIENDRGVsYXlCYXNlZFRp
bWVTb3VyY2U6OmNyZWF0ZShsb3dGcmVxdWVuY3lBbmltYXRpb25JbnRlcnZhbCwgQ0NQcm94eTo6
aW1wbFRocmVhZCgpKSkpCiAgICAgLCBtX2xheWVyVHJlZUhvc3QobGF5ZXJUcmVlSG9zdCkKICAg
ICAsIG1fY29tcG9zaXRvcklkZW50aWZpZXIoLTEpCiAgICAgLCBtX2xheWVyUmVuZGVyZXJJbml0
aWFsaXplZChmYWxzZSkKQEAgLTEyMCw3ICsxNTgsNiBAQCBib29sIENDVGhyZWFkUHJveHk6OmNv
bXBvc2l0ZUFuZFJlYWRiYWNrKHZvaWQgKnBpeGVscywgY29uc3QgSW50UmVjdCYgcmVjdCkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAotCiAgICAgLy8gUGVyZm9ybSBhIHN5bmNocm9u
b3VzIGNvbW1pdC4KICAgICBDQ0NvbXBsZXRpb25FdmVudCBiZWdpbkZyYW1lQ29tcGxldGlvbjsK
ICAgICBDQ1Byb3h5OjppbXBsVGhyZWFkKCktPnBvc3RUYXNrKGNyZWF0ZUNDVGhyZWFkVGFzayh0
aGlzLCAmQ0NUaHJlYWRQcm94eTo6Zm9yY2VCZWdpbkZyYW1lT25JbXBsVGhyZWFkLCBBbGxvd0Ny
b3NzVGhyZWFkQWNjZXNzKCZiZWdpbkZyYW1lQ29tcGxldGlvbikpKTsKQEAgLTM0Niw2ICszODMs
MTEgQEAgdm9pZCBDQ1RocmVhZFByb3h5Ojpwb3N0U2V0Q29udGVudHNNZW1vcnlBbGxvY2F0aW9u
TGltaXRCeXRlc1RvTWFpblRocmVhZE9uSW1wbFQKICAgICBtX21haW5UaHJlYWRQcm94eS0+cG9z
dFRhc2soY3JlYXRlQ0NUaHJlYWRUYXNrKHRoaXMsICZDQ1RocmVhZFByb3h5OjpzZXRDb250ZW50
c01lbW9yeUFsbG9jYXRpb25MaW1pdEJ5dGVzLCBieXRlcykpOwogfQogCit2b2lkIENDVGhyZWFk
UHJveHk6OnNldEJhY2tncm91bmRBbmltYXRpb25UaWNraW5nQWN0aXZlKGJvb2wgYWN0aXZlKQor
eworICAgIG1fYmFja2dyb3VuZEFuaW1hdGlvblRpbWVTb3VyY2VBZGFwdGVyLT5zZXRBY3RpdmUo
YWN0aXZlKTsKK30KKwogdm9pZCBDQ1RocmVhZFByb3h5OjpzZXROZWVkc1JlZHJhdygpCiB7CiAg
ICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHkuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHkuaAppbmRleCAy
OTE1YTgxMTllN2ZjNGE2OGUyYTNmMjI1MDc3ZjI5Zjg5OTdkN2VmLi5jZTFkZjU3ZjBlYmI2MDk2
MzhmZTM1NGFlZWU5N2Y1ZDY0YWEzZjdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RocmVhZFByb3h5LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94eS5oCkBAIC00
Myw2ICs0Myw3IEBAIGNsYXNzIENDU2NvcGVkVGhyZWFkUHJveHk7CiBjbGFzcyBDQ1RleHR1cmVV
cGRhdGVyOwogY2xhc3MgQ0NUaHJlYWQ7CiBjbGFzcyBDQ1RocmVhZFByb3h5Q29udGV4dFJlY3Jl
YXRpb25UaW1lcjsKK2NsYXNzIENDVGhyZWFkUHJveHlCYWNrZ3JvdW5kQW5pbWF0aW9uVGltZVNv
dXJjZUFkYXB0ZXI7CiAKIGNsYXNzIENDVGhyZWFkUHJveHkgOiBwdWJsaWMgQ0NQcm94eSwgQ0NM
YXllclRyZWVIb3N0SW1wbENsaWVudCwgQ0NTY2hlZHVsZXJDbGllbnQgewogcHVibGljOgpAQCAt
ODIsNiArODMsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNldE5lZWRzQ29tbWl0T25J
bXBsVGhyZWFkKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHBvc3RBbmltYXRpb25FdmVu
dHNUb01haW5UaHJlYWRPbkltcGxUaHJlYWQoUGFzc093blB0cjxDQ0FuaW1hdGlvbkV2ZW50c1Zl
Y3Rvcj4sIGRvdWJsZSB3YWxsQ2xvY2tUaW1lKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQg
cG9zdFNldENvbnRlbnRzTWVtb3J5QWxsb2NhdGlvbkxpbWl0Qnl0ZXNUb01haW5UaHJlYWRPbklt
cGxUaHJlYWQoc2l6ZV90KSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0QmFja2dyb3Vu
ZEFuaW1hdGlvblRpY2tpbmdBY3RpdmUoYm9vbCkgT1ZFUlJJREU7CiAKICAgICAvLyBDQ1NjaGVk
dWxlckNsaWVudCBpbXBsZW1lbnRhdGlvbgogICAgIHZpcnR1YWwgYm9vbCBjYW5EcmF3KCkgT1ZF
UlJJREU7CkBAIC05Nyw2ICs5OSw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgZXhwbGljaXQg
Q0NUaHJlYWRQcm94eShDQ0xheWVyVHJlZUhvc3QqKTsKICAgICBmcmllbmQgY2xhc3MgQ0NUaHJl
YWRQcm94eUNvbnRleHRSZWNyZWF0aW9uVGltZXI7CisgICAgZnJpZW5kIGNsYXNzIENDVGhyZWFk
UHJveHlCYWNrZ3JvdW5kQW5pbWF0aW9uVGltZVNvdXJjZUFkYXB0ZXI7CiAKICAgICAvLyBTZXQg
b24gaW1wbCB0aHJlYWQsIHJlYWQgb24gbWFpbiB0aHJlYWQuCiAgICAgc3RydWN0IEJlZ2luRnJh
bWVBbmRDb21taXRTdGF0ZSB7CkBAIC0xNTEsNiArMTU0LDcgQEAgcHJpdmF0ZToKICAgICBib29s
IG1fY29tbWl0UmVxdWVzdGVkOwogICAgIGJvb2wgbV9jb250ZXh0TG9zdDsKICAgICBPd25QdHI8
Q0NUaHJlYWRQcm94eUNvbnRleHRSZWNyZWF0aW9uVGltZXI+IG1fY29udGV4dFJlY3JlYXRpb25U
aW1lcjsKKyAgICBPd25QdHI8Q0NUaHJlYWRQcm94eUJhY2tncm91bmRBbmltYXRpb25UaW1lU291
cmNlQWRhcHRlcj4gbV9iYWNrZ3JvdW5kQW5pbWF0aW9uVGltZVNvdXJjZUFkYXB0ZXI7CiAgICAg
Q0NMYXllclRyZWVIb3N0KiBtX2xheWVyVHJlZUhvc3Q7CiAgICAgaW50IG1fY29tcG9zaXRvcklk
ZW50aWZpZXI7CiAgICAgYm9vbCBtX2xheWVyUmVuZGVyZXJJbml0aWFsaXplZDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllclRyZWVIb3N0SW1wbFRlc3Qu
Y3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVyVHJlZUhvc3RJbXBsVGVz
dC5jcHAKaW5kZXggYjJhNGE0YWM5NGY3NTNkMTQzOWUxMWM1NDVhNWIzYzZmYWZiODQ3Ny4uYmE0
ZjRhODY0NDEyMTlhOWRhYmJjNmIxNmQyM2IwMmI3NDFhZTUwMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVyVHJlZUhvc3RJbXBsVGVzdC5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVyVHJlZUhvc3RJbXBsVGVzdC5jcHAK
QEAgLTY4LDYgKzY4LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzZXROZWVkc0NvbW1p
dE9uSW1wbFRocmVhZCgpIE9WRVJSSURFIHsgbV9kaWRSZXF1ZXN0Q29tbWl0ID0gdHJ1ZTsgfQog
ICAgIHZpcnR1YWwgdm9pZCBwb3N0QW5pbWF0aW9uRXZlbnRzVG9NYWluVGhyZWFkT25JbXBsVGhy
ZWFkKFBhc3NPd25QdHI8Q0NBbmltYXRpb25FdmVudHNWZWN0b3I+LCBkb3VibGUgd2FsbENsb2Nr
VGltZSkgT1ZFUlJJREUgeyB9CiAgICAgdmlydHVhbCB2b2lkIHBvc3RTZXRDb250ZW50c01lbW9y
eUFsbG9jYXRpb25MaW1pdEJ5dGVzVG9NYWluVGhyZWFkT25JbXBsVGhyZWFkKHNpemVfdCkgT1ZF
UlJJREUgeyB9CisgICAgdmlydHVhbCB2b2lkIHNldEJhY2tncm91bmRBbmltYXRpb25UaWNraW5n
QWN0aXZlKGJvb2wpIE9WRVJSSURFIHsgfQogCiAgICAgc3RhdGljIHZvaWQgZXhwZWN0Q2xlYXJl
ZFNjcm9sbERlbHRhc1JlY3Vyc2l2ZShDQ0xheWVySW1wbCogbGF5ZXIpCiAgICAgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVyVHJlZUhvc3RUZXN0LmNw
cCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllclRyZWVIb3N0VGVzdC5jcHAK
aW5kZXggMDNhOThhNjM4OWE4NTRmMjFkNzUxMjUxMjRkMjQ3NDYzM2RmYzBkMi4uNDA1YTVkMDQw
Njk1NTY0YzY2MDE1MThjY2U4ZDRkY2VmNDc1MTU1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVyVHJlZUhvc3RUZXN0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdFRlc3QuY3BwCkBAIC0xMDc5LDEzICsx
MDc5LDEzIEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBhbmltYXRlTGF5ZXJzKENDTGF5
ZXJUcmVlSG9zdEltcGwqIGxheWVyVHJlZUhvc3RJbXBsLCBkb3VibGUgbW9ub3RvbmljVGltZSkK
ICAgICB7Ci0gICAgICAgIGlmICghbV9udW1BbmltYXRlcykgeworICAgICAgICBtX251bUFuaW1h
dGVzKys7CisgICAgICAgIGlmIChtX251bUFuaW1hdGVzID09IDEpIHsKICAgICAgICAgICAgIC8v
IFdlIGhhdmUgYSBsb25nIGFuaW1hdGlvbiBydW5uaW5nLiBJdCBzaG91bGQgY29udGludWUgdG8g
dGljayBldmVuIGlmIHdlIGFyZSBub3QgdmlzaWJsZS4KICAgICAgICAgICAgIHBvc3RTZXRWaXNp
YmxlVG9NYWluVGhyZWFkKGZhbHNlKTsKLSAgICAgICAgICAgIG1fbnVtQW5pbWF0ZXMrKzsKLSAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfSBlbHNlIGlmIChtX251bUFuaW1hdGVzID4gMykg
eworICAgICAgICAgICAgZW5kVGVzdCgpOwogICAgICAgICB9Ci0gICAgICAgIGVuZFRlc3QoKTsK
ICAgICB9CiAKICAgICB2aXJ0dWFsIHZvaWQgYWZ0ZXJUZXN0KCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>