<?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>67709</bug_id>
          
          <creation_ts>2011-09-07 08:13:56 -0700</creation_ts>
          <short_desc>Implement double tap detection in GestureRecognizerChromium</short_desc>
          <delta_ts>2011-09-08 14:10:54 -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>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>
          <dependson>67645</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Varun Jain">varunjain</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>rjkroege</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>463355</commentid>
    <comment_count>0</comment_count>
    <who name="Varun Jain">varunjain</who>
    <bug_when>2011-09-07 08:13:56 -0700</bug_when>
    <thetext>Implement double tap detection in GestureRecognizerChromium</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463356</commentid>
    <comment_count>1</comment_count>
      <attachid>106585</attachid>
    <who name="Varun Jain">varunjain</who>
    <bug_when>2011-09-07 08:14:41 -0700</bug_when>
    <thetext>Created attachment 106585
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463359</commentid>
    <comment_count>2</comment_count>
    <who name="Varun Jain">varunjain</who>
    <bug_when>2011-09-07 08:15:54 -0700</bug_when>
    <thetext>*** Bug 67708 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463474</commentid>
    <comment_count>3</comment_count>
      <attachid>106585</attachid>
    <who name="Robert Kroeger">rjkroege</who>
    <bug_when>2011-09-07 11:16:47 -0700</bug_when>
    <thetext>Comment on attachment 106585
Patch

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

LGTM. But you should update the patch for the intended order of committing.

&gt; Source/WebCore/platform/PlatformGestureEvent.h:42
&gt; +        DoubleTapType,

this cl will not merge clean with the other one. In particular, the unit tests will fail. You should pick an order of committing and write one patch as a dependency of the other</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463586</commentid>
    <comment_count>4</comment_count>
      <attachid>106621</attachid>
    <who name="Varun Jain">varunjain</who>
    <bug_when>2011-09-07 12:49:13 -0700</bug_when>
    <thetext>Created attachment 106621
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463587</commentid>
    <comment_count>5</comment_count>
    <who name="Varun Jain">varunjain</who>
    <bug_when>2011-09-07 12:55:21 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 106585 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=106585&amp;action=review
&gt; 
&gt; LGTM. But you should update the patch for the intended order of committing.
&gt; 
&gt; &gt; Source/WebCore/platform/PlatformGestureEvent.h:42
&gt; &gt; +        DoubleTapType,
&gt; 
&gt; this cl will not merge clean with the other one. In particular, the unit tests will fail. You should pick an order of committing and write one patch as a dependency of the other

Merged the other CL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463588</commentid>
    <comment_count>6</comment_count>
      <attachid>106622</attachid>
    <who name="Varun Jain">varunjain</who>
    <bug_when>2011-09-07 12:57:41 -0700</bug_when>
    <thetext>Created attachment 106622
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463590</commentid>
    <comment_count>7</comment_count>
    <who name="Varun Jain">varunjain</who>
    <bug_when>2011-09-07 12:59:22 -0700</bug_when>
    <thetext>Missed the Changelog in previous patch. Uploaded new one..  PTAL</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464226</commentid>
    <comment_count>8</comment_count>
      <attachid>106771</attachid>
    <who name="Varun Jain">varunjain</who>
    <bug_when>2011-09-08 11:57:05 -0700</bug_when>
    <thetext>Created attachment 106771
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464345</commentid>
    <comment_count>9</comment_count>
      <attachid>106771</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-08 14:10:50 -0700</bug_when>
    <thetext>Comment on attachment 106771
Patch

Clearing flags on attachment: 106771

Committed r94797: &lt;http://trac.webkit.org/changeset/94797&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464346</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-08 14:10:54 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106585</attachid>
            <date>2011-09-07 08:14:41 -0700</date>
            <delta_ts>2011-09-07 12:49:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67709-20110907111233.patch</filename>
            <type>text/plain</type>
            <size>15320</size>
            <attacher name="Varun Jain">varunjain</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQ2NjYKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5n
ZUxvZwppbmRleCA2N2YyNjYwMzc5MDk5MjRiOWI2ZDViMzZlNDZiNjM4MWQ5ZmQ4Yzc0Li4xMTc0
ZjkzYmU4ZWE4NzM4YjM4Zjk3YzU2MmFiN2I4NGI4OGM1MmQwIDEwMDY0NAotLS0gYS9DaGFuZ2VM
b2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDktMDcgIFZhcnVuIEph
aW4gIDx2YXJ1bmphaW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgZG91YmxlIHRh
cCBkZXRlY3Rpb24gaW4gR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc3MDkKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqICBTb3VyY2UvV2ViQ29yZS9wYWdlL0V2
ZW50SGFuZGxlci5jcHA6CisgICAgICAgICogIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRm
b3JtR2VzdHVyZUV2ZW50Lmg6CisKIDIwMTEtMDktMDYgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgUkVHUkVTU0lPTihyOTQyNzQpOiBGb3JtTWFuYWdlclRlc3Qu
UHJldmlld0Zvcm0gYW5kIEZpbGxGb3JtTm9uRW1wdHlGaWVsZCBmYWlsIG9uIGNocm9taXVtCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKaW5kZXggMjFlY2YzMjA3MWQ4YWZkNDk5MTU0
OTNlM2Y2YjM5ZDM2ZmM0NWM3MS4uNmUyY2VjMGIxMWRkYTQ0YjQ4ODFiN2M0YzQxMDViMDUwMDU0
OTE2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcApAQCAtMjIxOSw2ICsyMjE5
LDggQEAgYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZUdlc3R1cmVFdmVudChjb25zdCBQbGF0Zm9y
bUdlc3R1cmVFdmVudCYgZ2VzdHVyZUV2ZW50KQogICAgICAgICBoYW5kbGVNb3VzZVJlbGVhc2VF
dmVudChmYWtlTW91c2VVcCk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KKyAgICBjYXNl
IFBsYXRmb3JtR2VzdHVyZUV2ZW50OjpEb3VibGVUYXBUeXBlOgorICAgICAgICBicmVhazsKICAg
ICBjYXNlIFBsYXRmb3JtR2VzdHVyZUV2ZW50OjpTY3JvbGxVcGRhdGVUeXBlOiB7CiAgICAgICAg
IGNvbnN0IGZsb2F0IHRpY2tEaXZpc29yID0gKGZsb2F0KVdoZWVsRXZlbnQ6OnRpY2tNdWx0aXBs
aWVyOwogICAgICAgICAvLyBGSVhNRTogUmVwbGFjZSB0aGlzIGludGVyaW0gaW1wbGVtZW50YXRp
b24gb25jZSB0aGUgYWJvdmUgZml4bWUgaGFzIGJlZW4gYWRkcmVzc2VkLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1HZXN0dXJlRXZlbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtR2VzdHVyZUV2ZW50LmgKaW5kZXggMThiN2QxYWEyZDFl
ZGY5YTgzZGVmMmYyNjZmMjUwOTAzNzk2ODQ3Yi4uZTE2ZWI1MjBkOGQ1NjhjY2UyNmQwNzBhZjI2
OWRkODNkZDdmNDIwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZv
cm1HZXN0dXJlRXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUdl
c3R1cmVFdmVudC5oCkBAIC0zOCw3ICszOCw4IEBAIHB1YmxpYzoKICAgICAgICAgU2Nyb2xsQmVn
aW5UeXBlLAogICAgICAgICBTY3JvbGxFbmRUeXBlLAogICAgICAgICBTY3JvbGxVcGRhdGVUeXBl
LAotICAgICAgICBUYXBUeXBlCisgICAgICAgIFRhcFR5cGUsCisgICAgICAgIERvdWJsZVRhcFR5
cGUsCiAgICAgfTsKIAogICAgIFBsYXRmb3JtR2VzdHVyZUV2ZW50KCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0dlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW0u
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vR2VzdHVyZVJlY29nbml6ZXJD
aHJvbWl1bS5jcHAKaW5kZXggNzU2MDJiMzg0YTEyNDQ3OTBiNDEzYjg4ZDMyNTBkNjU3ZmJmNTc2
Zi4uMWRmOGFiMTcwNWE1YmYzNmQwOGI1N2Q5ZDU1MWMxYjY3MzkwOGY4NSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1
bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vR2VzdHVyZVJlY29n
bml6ZXJDaHJvbWl1bS5jcHAKQEAgLTYyLDYgKzYyLDEyIEBAIEdlc3R1cmVSZWNvZ25pemVyQ2hy
b21pdW06Okdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW0oKQogICAgIGFkZEVkZ2VGdW5jdGlvbihT
Y3JvbGwsIEZpcnN0RmluZ2VyLCBNb3ZlZCwgZmFsc2UsICZHZXN0dXJlUmVjb2duaXplckNocm9t
aXVtOjppblNjcm9sbCk7CiAgICAgYWRkRWRnZUZ1bmN0aW9uKFNjcm9sbCwgRmlyc3RGaW5nZXIs
IFJlbGVhc2VkLCBmYWxzZSwgJkdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW06OnNjcm9sbEVuZCk7
CiAgICAgYWRkRWRnZUZ1bmN0aW9uKFNjcm9sbCwgRmlyc3RGaW5nZXIsIENhbmNlbGxlZCwgZmFs
c2UsICZHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjpzY3JvbGxFbmQpOworCisgICAgYWRkRWRn
ZUZ1bmN0aW9uKEZpcnN0Q2xpY2tSZWNlaXZlZCwgRmlyc3RGaW5nZXIsIFByZXNzZWQsIGZhbHNl
LCAmR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6dG91Y2hEb3duKTsKKyAgICBhZGRFZGdlRnVu
Y3Rpb24oUGVuZGluZ0RvdWJsZUNsaWNrLCBGaXJzdEZpbmdlciwgQ2FuY2VsbGVkLCBmYWxzZSwg
Jkdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW06Om5vR2VzdHVyZSk7CisgICAgYWRkRWRnZUZ1bmN0
aW9uKFBlbmRpbmdEb3VibGVDbGljaywgRmlyc3RGaW5nZXIsIFJlbGVhc2VkLCBmYWxzZSwgJkdl
c3R1cmVSZWNvZ25pemVyQ2hyb21pdW06OmRvdWJsZUNsaWNrKTsKKyAgICBhZGRFZGdlRnVuY3Rp
b24oUGVuZGluZ0RvdWJsZUNsaWNrLCBGaXJzdEZpbmdlciwgTW92ZWQsIGZhbHNlLCAmR2VzdHVy
ZVJlY29nbml6ZXJDaHJvbWl1bTo6bWF5YmVEb3VibGVDbGljayk7CisgICAgYWRkRWRnZUZ1bmN0
aW9uKFBlbmRpbmdEb3VibGVDbGljaywgRmlyc3RGaW5nZXIsIFN0YXRpb25hcnksIGZhbHNlLCAm
R2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6bWF5YmVEb3VibGVDbGljayk7CiB9CiAKIHZvaWQg
R2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6cmVzZXQoKQpAQCAtODYsNiArOTIsMTIgQEAgYm9v
bCBHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjppc0luQ2xpY2tUaW1lV2luZG93KCkKICAgICBy
ZXR1cm4gZHVyYXRpb24gPj0gbWluaW11bVRvdWNoRG93bkR1cmF0aW9uSW5TZWNvbmRzRm9yQ2xp
Y2sgJiYgZHVyYXRpb24gPCBtYXhpbXVtVG91Y2hEb3duRHVyYXRpb25JblNlY29uZHNGb3JDbGlj
azsKIH0KIAorYm9vbCBHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjppc0luU2Vjb25kQ2xpY2tU
aW1lV2luZG93KCkKK3sKKyAgICBkb3VibGUgZHVyYXRpb24obV9sYXN0VG91Y2hUaW1lIC0gbV9s
YXN0Q2xpY2tUaW1lKTsKKyAgICByZXR1cm4gZHVyYXRpb24gPj0gbWluaW11bVRvdWNoRG93bkR1
cmF0aW9uSW5TZWNvbmRzRm9yQ2xpY2sgJiYgZHVyYXRpb24gPCBtYXhpbXVtVG91Y2hEb3duRHVy
YXRpb25JblNlY29uZHNGb3JDbGljazsKK30KKwogYm9vbCBHZXN0dXJlUmVjb2duaXplckNocm9t
aXVtOjppc0luc2lkZU1hbmhhdHRhblNxdWFyZShjb25zdCBQbGF0Zm9ybVRvdWNoUG9pbnQmIHBv
aW50KQogewogICAgIGludCBtYW5oYXR0YW5EaXN0YW5jZSA9IGFicyhwb2ludC5wb3MoKS54KCkg
LSBtX2ZpcnN0VG91Y2hQb3NpdGlvbi54KCkpICsgYWJzKHBvaW50LnBvcygpLnkoKSAtIG1fZmly
c3RUb3VjaFBvc2l0aW9uLnkoKSk7CkBAIC05Nyw2ICsxMDksMTEgQEAgdm9pZCBHZXN0dXJlUmVj
b2duaXplckNocm9taXVtOjphcHBlbmRDbGlja0dlc3R1cmVFdmVudChjb25zdCBQbGF0Zm9ybVRv
dWNoUG9pbnQKICAgICBnZXN0dXJlcy0+YXBwZW5kKFBsYXRmb3JtR2VzdHVyZUV2ZW50KFBsYXRm
b3JtR2VzdHVyZUV2ZW50OjpUYXBUeXBlLCBtX2ZpcnN0VG91Y2hQb3NpdGlvbiwgbV9maXJzdFRv
dWNoU2NyZWVuUG9zaXRpb24sIG1fbGFzdFRvdWNoVGltZSwgMC5mLCAwLmYsIG1fc2hpZnRLZXks
IG1fY3RybEtleSwgbV9hbHRLZXksIG1fbWV0YUtleSkpOwogfQogCit2b2lkIEdlc3R1cmVSZWNv
Z25pemVyQ2hyb21pdW06OmFwcGVuZERvdWJsZUNsaWNrR2VzdHVyZUV2ZW50KGNvbnN0IFBsYXRm
b3JtVG91Y2hQb2ludCYgdG91Y2hQb2ludCwgR2VzdHVyZXMgZ2VzdHVyZXMpCit7CisgICAgZ2Vz
dHVyZXMtPmFwcGVuZChQbGF0Zm9ybUdlc3R1cmVFdmVudChQbGF0Zm9ybUdlc3R1cmVFdmVudDo6
RG91YmxlVGFwVHlwZSwgbV9maXJzdFRvdWNoUG9zaXRpb24sIG1fZmlyc3RUb3VjaFNjcmVlblBv
c2l0aW9uLCBtX2xhc3RUb3VjaFRpbWUsIDAuZiwgMC5mLCBtX3NoaWZ0S2V5LCBtX2N0cmxLZXks
IG1fYWx0S2V5LCBtX21ldGFLZXkpKTsKK30KKwogUGxhdGZvcm1HZXN0dXJlUmVjb2duaXplcjo6
UGFzc0dlc3R1cmVzIEdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW06OnByb2Nlc3NUb3VjaEV2ZW50
Rm9yR2VzdHVyZXMoY29uc3QgUGxhdGZvcm1Ub3VjaEV2ZW50JiBldmVudCwgYm9vbCBkZWZhdWx0
UHJldmVudGVkKQogewogICAgIG1fY3RybEtleSA9IGV2ZW50LmN0cmxLZXkoKTsKQEAgLTEzNyw2
ICsxNTQsMTAgQEAgdm9pZCBHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjphcHBlbmRTY3JvbGxH
ZXN0dXJlVXBkYXRlKGNvbnN0IFBsYXRmb3JtVG91Y2hQb2kKIAogdm9pZCBHZXN0dXJlUmVjb2du
aXplckNocm9taXVtOjp1cGRhdGVWYWx1ZXMoY29uc3QgZG91YmxlIHRvdWNoVGltZSwgY29uc3Qg
UGxhdGZvcm1Ub3VjaFBvaW50JiB0b3VjaFBvaW50KQogeworICAgIGlmIChzdGF0ZSgpID09IEZp
cnN0Q2xpY2tSZWNlaXZlZCkgeworICAgICAgICBtX2ZpcnN0VG91Y2hUaW1lID0gdG91Y2hUaW1l
OworICAgICAgICBtX2xhc3RDbGlja1RpbWUgPSBtX2xhc3RUb3VjaFRpbWU7CisgICAgfQogICAg
IG1fbGFzdFRvdWNoVGltZSA9IHRvdWNoVGltZTsKICAgICBpZiAoc3RhdGUoKSA9PSBOb0dlc3R1
cmUpIHsKICAgICAgICAgbV9maXJzdFRvdWNoVGltZSA9IHRvdWNoVGltZTsKQEAgLTE1OSw2ICsx
ODAsMTEgQEAgdW5zaWduZWQgaW50IEdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW06OnNpZ25hdHVy
ZShTdGF0ZSBnZXN0dXJlU3RhdGUsIHVuc2lnbmVkIGkKIAogYm9vbCBHZXN0dXJlUmVjb2duaXpl
ckNocm9taXVtOjp0b3VjaERvd24oY29uc3QgUGxhdGZvcm1Ub3VjaFBvaW50JiB0b3VjaFBvaW50
LCBHZXN0dXJlcyBnZXN0dXJlcykKIHsKKyAgICBBU1NFUlQoc3RhdGUoKSA9PSBOb0dlc3R1cmUg
fHwgc3RhdGUoKSA9PSBGaXJzdENsaWNrUmVjZWl2ZWQpOworICAgIGlmIChzdGF0ZSgpID09IEZp
cnN0Q2xpY2tSZWNlaXZlZCAmJiBpc0luU2Vjb25kQ2xpY2tUaW1lV2luZG93KCkgJiYgaXNJbnNp
ZGVNYW5oYXR0YW5TcXVhcmUodG91Y2hQb2ludCkpIHsKKyAgICAgICAgc2V0U3RhdGUoUGVuZGlu
Z0RvdWJsZUNsaWNrKTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KICAgICBzZXRTdGF0
ZShQZW5kaW5nU3ludGhldGljQ2xpY2spOwogICAgIC8vIEZJWE1FOiBEaXZpZGUgVGFwVHlwZSBp
bnRvIGRvd24gYW5kIHVwIGV2ZW50cy4KICAgICByZXR1cm4gZmFsc2U7CkBAIC0xNzIsNiArMTk4
LDI0IEBAIGJvb2wgR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6c2Nyb2xsRW5kKGNvbnN0IFBs
YXRmb3JtVG91Y2hQb2ludCYgcG9pbnQsIEdlc3R1CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCiti
b29sIEdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW06OmRvdWJsZUNsaWNrKGNvbnN0IFBsYXRmb3Jt
VG91Y2hQb2ludCYgcG9pbnQsIEdlc3R1cmVzIGdlc3R1cmVzKQoreworICAgIGlmIChpc0luQ2xp
Y2tUaW1lV2luZG93KCkgJiYgaXNJbnNpZGVNYW5oYXR0YW5TcXVhcmUocG9pbnQpKSB7CisgICAg
ICAgIHNldFN0YXRlKE5vR2VzdHVyZSk7CisgICAgICAgIGFwcGVuZERvdWJsZUNsaWNrR2VzdHVy
ZUV2ZW50KHBvaW50LCBnZXN0dXJlcyk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAg
ICByZXR1cm4gbm9HZXN0dXJlKHBvaW50LCBnZXN0dXJlcyk7Cit9CisKK2Jvb2wgR2VzdHVyZVJl
Y29nbml6ZXJDaHJvbWl1bTo6bWF5YmVEb3VibGVDbGljayhjb25zdCBQbGF0Zm9ybVRvdWNoUG9p
bnQmIHBvaW50LCBHZXN0dXJlcyBnZXN0dXJlcykKK3sKKyAgICBBU1NFUlQoc3RhdGUoKSA9PSBH
ZXN0dXJlUmVjb2duaXplckNocm9taXVtOjpQZW5kaW5nRG91YmxlQ2xpY2spOworICAgIGlmIChw
b2ludC5zdGF0ZSgpID09IFBsYXRmb3JtVG91Y2hQb2ludDo6VG91Y2hNb3ZlZCAmJiAhaXNJbnNp
ZGVNYW5oYXR0YW5TcXVhcmUocG9pbnQpKQorICAgICAgICByZXR1cm4gbm9HZXN0dXJlKHBvaW50
LCBnZXN0dXJlcyk7CisgICAgcmV0dXJuIGZhbHNlOworfQorCiBib29sIEdlc3R1cmVSZWNvZ25p
emVyQ2hyb21pdW06Om5vR2VzdHVyZShjb25zdCBQbGF0Zm9ybVRvdWNoUG9pbnQmLCBHZXN0dXJl
cykKIHsKICAgICByZXNldCgpOwpAQCAtMTgxLDcgKzIyNSw3IEBAIGJvb2wgR2VzdHVyZVJlY29n
bml6ZXJDaHJvbWl1bTo6bm9HZXN0dXJlKGNvbnN0IFBsYXRmb3JtVG91Y2hQb2ludCYsIEdlc3R1
cmVzKQogYm9vbCBHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjpjbGljayhjb25zdCBQbGF0Zm9y
bVRvdWNoUG9pbnQmIHBvaW50LCBHZXN0dXJlcyBnZXN0dXJlcykKIHsKICAgICBpZiAoaXNJbkNs
aWNrVGltZVdpbmRvdygpICYmIGlzSW5zaWRlTWFuaGF0dGFuU3F1YXJlKHBvaW50KSkgewotICAg
ICAgICBzZXRTdGF0ZShOb0dlc3R1cmUpOworICAgICAgICBzZXRTdGF0ZShGaXJzdENsaWNrUmVj
ZWl2ZWQpOwogICAgICAgICBhcHBlbmRDbGlja0dlc3R1cmVFdmVudChwb2ludCwgZ2VzdHVyZXMp
OwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9jaHJvbWl1bS9HZXN0dXJlUmVjb2duaXplckNocm9taXVtLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9HZXN0dXJlUmVjb2duaXplckNocm9taXVtLmgKaW5k
ZXggNmQ1NmNkNWMyOTBjNzRjNmZjZTI2YzgyMmY4YzVmZWYzOTYwNDdkZi4uNzY1NGFjYTkyZjdh
YWM3ZGUzZGQ1NWQwNmJmMDkwZWNhMjcyMGEwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vY2hyb21pdW0vR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0dlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW0uaApA
QCAtNDgsNyArNDgsOSBAQCBwdWJsaWM6CiAgICAgZW51bSBTdGF0ZSB7CiAgICAgICAgIE5vR2Vz
dHVyZSwKICAgICAgICAgUGVuZGluZ1N5bnRoZXRpY0NsaWNrLAotICAgICAgICBTY3JvbGwKKyAg
ICAgICAgU2Nyb2xsLAorICAgICAgICBGaXJzdENsaWNrUmVjZWl2ZWQsCisgICAgICAgIFBlbmRp
bmdEb3VibGVDbGljaywKICAgICB9OwogCiAgICAgdHlwZWRlZiBWZWN0b3I8UGxhdGZvcm1HZXN0
dXJlRXZlbnQ+KiBHZXN0dXJlczsKQEAgLTY3LDEwICs2OSwxMiBAQCBwcml2YXRlOgogICAgIHN0
YXRpYyB1bnNpZ25lZCBpbnQgc2lnbmF0dXJlKFN0YXRlLCB1bnNpZ25lZCwgUGxhdGZvcm1Ub3Vj
aFBvaW50OjpTdGF0ZSwgYm9vbCk7CiAgICAgdm9pZCBhZGRFZGdlRnVuY3Rpb24oU3RhdGUsIHVu
c2lnbmVkIGZpbmdlciwgUGxhdGZvcm1Ub3VjaFBvaW50OjpTdGF0ZSwgYm9vbCB0b3VjaEhhbmRs
ZWRCeUphdmFTY3JpcHQsIEdlc3R1cmVUcmFuc2l0aW9uRnVuY3Rpb24pOwogICAgIHZvaWQgYXBw
ZW5kQ2xpY2tHZXN0dXJlRXZlbnQoY29uc3QgUGxhdGZvcm1Ub3VjaFBvaW50JiwgR2VzdHVyZXMp
OworICAgIHZvaWQgYXBwZW5kRG91YmxlQ2xpY2tHZXN0dXJlRXZlbnQoY29uc3QgUGxhdGZvcm1U
b3VjaFBvaW50JiwgR2VzdHVyZXMpOwogICAgIHZvaWQgYXBwZW5kU2Nyb2xsR2VzdHVyZUJlZ2lu
KGNvbnN0IFBsYXRmb3JtVG91Y2hQb2ludCYsIEdlc3R1cmVzKTsKICAgICB2b2lkIGFwcGVuZFNj
cm9sbEdlc3R1cmVFbmQoY29uc3QgUGxhdGZvcm1Ub3VjaFBvaW50JiwgR2VzdHVyZXMpOwogICAg
IHZvaWQgYXBwZW5kU2Nyb2xsR2VzdHVyZVVwZGF0ZShjb25zdCBQbGF0Zm9ybVRvdWNoUG9pbnQm
LCBHZXN0dXJlcyk7CiAgICAgYm9vbCBpc0luQ2xpY2tUaW1lV2luZG93KCk7CisgICAgYm9vbCBp
c0luU2Vjb25kQ2xpY2tUaW1lV2luZG93KCk7CiAgICAgYm9vbCBpc0luc2lkZU1hbmhhdHRhblNx
dWFyZShjb25zdCBQbGF0Zm9ybVRvdWNoUG9pbnQmKTsKICAgICB2b2lkIHNldFN0YXRlKFN0YXRl
IHZhbHVlKSB7IG1fc3RhdGUgPSB2YWx1ZTsgfQogICAgIHZvaWQgdXBkYXRlVmFsdWVzKGRvdWJs
ZSB0b3VjaFRpbWUsIGNvbnN0IFBsYXRmb3JtVG91Y2hQb2ludCYpOwpAQCAtODIsNiArODYsOSBA
QCBwcml2YXRlOgogICAgIGJvb2wgdG91Y2hEb3duKGNvbnN0IFBsYXRmb3JtVG91Y2hQb2ludCYs
IEdlc3R1cmVzKTsKICAgICBib29sIHNjcm9sbEVuZChjb25zdCBQbGF0Zm9ybVRvdWNoUG9pbnQm
LCBHZXN0dXJlcyk7CiAKKyAgICBib29sIGRvdWJsZUNsaWNrKGNvbnN0IFBsYXRmb3JtVG91Y2hQ
b2ludCYsIEdlc3R1cmVzKTsKKyAgICBib29sIG1heWJlRG91YmxlQ2xpY2soY29uc3QgUGxhdGZv
cm1Ub3VjaFBvaW50JiwgR2VzdHVyZXMpOworCiAgICAgV1RGOjpIYXNoTWFwPGludCwgR2VzdHVy
ZVRyYW5zaXRpb25GdW5jdGlvbj4gbV9lZGdlRnVuY3Rpb25zOwogICAgIEludFBvaW50IG1fZmly
c3RUb3VjaFBvc2l0aW9uOwogICAgIEludFBvaW50IG1fZmlyc3RUb3VjaFNjcmVlblBvc2l0aW9u
OwpAQCAtODksNiArOTYsNyBAQCBwcml2YXRlOgogICAgIFN0YXRlIG1fc3RhdGU7CiAgICAgSW50
UG9pbnQgbV9sYXN0VG91Y2hQb3NpdGlvbjsKICAgICBkb3VibGUgbV9sYXN0VG91Y2hUaW1lOwor
ICAgIGRvdWJsZSBtX2xhc3RDbGlja1RpbWU7CiAKICAgICBib29sIG1fY3RybEtleTsKICAgICBi
b29sIG1fYWx0S2V5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21p
dW0vUG9wdXBDb250YWluZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0v
UG9wdXBDb250YWluZXIuY3BwCmluZGV4IDIxYzQ2ZTY3MWVkOTQzOGNjNmJiNGViMjU4ZDk3NWM2
ZmQ5YjJkMDcuLmIwZWE0ZGQ4N2I1MzlhMGExOTg1NDY2OTU3ODg4NmQ1NGMzNTIxYTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BvcHVwQ29udGFpbmVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cENvbnRhaW5lci5j
cHAKQEAgLTMwNiw2ICszMDYsOCBAQCBib29sIFBvcHVwQ29udGFpbmVyOjpoYW5kbGVHZXN0dXJl
RXZlbnQoY29uc3QgUGxhdGZvcm1HZXN0dXJlRXZlbnQmIGdlc3R1cmVFdmVudAogICAgICAgICBo
YW5kbGVNb3VzZVJlbGVhc2VFdmVudChmYWtlTW91c2VVcCk7CiAgICAgICAgIHJldHVybiB0cnVl
OwogICAgIH0KKyAgICBjYXNlIFBsYXRmb3JtR2VzdHVyZUV2ZW50OjpEb3VibGVUYXBUeXBlOgor
ICAgICAgICBicmVhazsKICAgICBjYXNlIFBsYXRmb3JtR2VzdHVyZUV2ZW50OjpTY3JvbGxVcGRh
dGVUeXBlOiB7CiAgICAgICAgIFBsYXRmb3JtV2hlZWxFdmVudCBzeW50aGV0aWNXaGVlbEV2ZW50
KGdlc3R1cmVFdmVudC5wb3NpdGlvbigpLCBnZXN0dXJlRXZlbnQuZ2xvYmFsUG9zaXRpb24oKSwg
Z2VzdHVyZUV2ZW50LmRlbHRhWCgpLCBnZXN0dXJlRXZlbnQuZGVsdGFZKCksIGdlc3R1cmVFdmVu
dC5kZWx0YVgoKSAvIDEyMC4wZiwgZ2VzdHVyZUV2ZW50LmRlbHRhWSgpIC8gMTIwLjBmLCBTY3Jv
bGxCeVBpeGVsV2hlZWxFdmVudCwgLyogaXNBY2NlcHRlZCAqLyBmYWxzZSwgZ2VzdHVyZUV2ZW50
LnNoaWZ0S2V5KCksIGdlc3R1cmVFdmVudC5jdHJsS2V5KCksIGdlc3R1cmVFdmVudC5hbHRLZXko
KSwgZ2VzdHVyZUV2ZW50Lm1ldGFLZXkoKSk7CiAgICAgICAgIGhhbmRsZVdoZWVsRXZlbnQoc3lu
dGhldGljV2hlZWxFdmVudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rl
c3RzL0lubmVyR2VzdHVyZVJlY29nbml6ZXJUZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vdGVzdHMvSW5uZXJHZXN0dXJlUmVjb2duaXplclRlc3QuY3BwCmluZGV4IDJmOTVjODRiNDVh
ZTdhOTE3MWZiMmQ3ZDdkMjg0YjM0ZGYzMjg3MzIuLjRlYTlmNTRjZDlkN2RhZTNmMWM0MjVhNzE4
MzdjZGI4N2ZiMmViM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMv
SW5uZXJHZXN0dXJlUmVjb2duaXplclRlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vdGVzdHMvSW5uZXJHZXN0dXJlUmVjb2duaXplclRlc3QuY3BwCkBAIC0zNiw3ICszNiw2IEBA
CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi0KIGNsYXNzIEluc3BlY3RhYmxlR2VzdHVy
ZVJlY29nbml6ZXJDaHJvbWl1bSA6IHB1YmxpYyBXZWJDb3JlOjpHZXN0dXJlUmVjb2duaXplckNo
cm9taXVtIHsKIHB1YmxpYzoKICAgICBJbnNwZWN0YWJsZUdlc3R1cmVSZWNvZ25pemVyQ2hyb21p
dW0oKQpAQCAtMTU3LDYgKzE1NiwyNCBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIFRl
YXJEb3duKCkgeyB9CiB9OwogCit2b2lkIFNpbXVsYXRlQW5kVGVzdEZpcnN0Q2xpY2soSW5zcGVj
dGFibGVHZXN0dXJlUmVjb2duaXplckNocm9taXVtJiBnbSkKK3sKKyAgICBBU1NFUlRfRVEoR2Vz
dHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6Tm9HZXN0dXJlLCBnbS5zdGF0ZSgpKTsKKworICAgIEJ1
aWxkYWJsZVBsYXRmb3JtVG91Y2hQb2ludCBwcmVzcygxMCwgMTUsIFBsYXRmb3JtVG91Y2hQb2lu
dDo6VG91Y2hQcmVzc2VkKTsKKyAgICBCdWlsZGFibGVQbGF0Zm9ybVRvdWNoRXZlbnQgcHJlc3NF
dmVudChXZWJDb3JlOjpUb3VjaFN0YXJ0LCBwcmVzcyk7CisgICAgT3duUHRyPFZlY3RvcjxXZWJD
b3JlOjpQbGF0Zm9ybUdlc3R1cmVFdmVudD4gPiBnZXN0dXJlU3RhcnQoZ20ucHJvY2Vzc1RvdWNo
RXZlbnRGb3JHZXN0dXJlcyhwcmVzc0V2ZW50LCBmYWxzZSkpOworICAgIEFTU0VSVF9FUSgodW5z
aWduZWQgaW50KTAsIGdlc3R1cmVTdGFydC0+c2l6ZSgpKTsKKyAgICBBU1NFUlRfRVEoR2VzdHVy
ZVJlY29nbml6ZXJDaHJvbWl1bTo6UGVuZGluZ1N5bnRoZXRpY0NsaWNrLCBnbS5zdGF0ZSgpKTsK
KworICAgIEJ1aWxkYWJsZVBsYXRmb3JtVG91Y2hQb2ludCByZWxlYXNlKDEwLCAxNiwgUGxhdGZv
cm1Ub3VjaFBvaW50OjpUb3VjaFJlbGVhc2VkKTsKKyAgICBCdWlsZGFibGVQbGF0Zm9ybVRvdWNo
RXZlbnQgcmVsZWFzZUV2ZW50KFdlYkNvcmU6OlRvdWNoRW5kLCByZWxlYXNlKTsKKyAgICBnbS5z
ZXRGaXJzdFRvdWNoVGltZShnbS5maXJzdFRvdWNoVGltZSgpIC0gMC4wMSk7CisgICAgT3duUHRy
PFZlY3RvcjxXZWJDb3JlOjpQbGF0Zm9ybUdlc3R1cmVFdmVudD4gPiBnZXN0dXJlRW5kKGdtLnBy
b2Nlc3NUb3VjaEV2ZW50Rm9yR2VzdHVyZXMocmVsZWFzZUV2ZW50LCBmYWxzZSkpOworICAgIEFT
U0VSVF9FUSgodW5zaWduZWQgaW50KTEsIGdlc3R1cmVFbmQtPnNpemUoKSk7CisgICAgQVNTRVJU
X0VRKFBsYXRmb3JtR2VzdHVyZUV2ZW50OjpUYXBUeXBlLCAoKmdlc3R1cmVFbmQpWzBdLnR5cGUo
KSk7Cit9CisKIFRFU1RfRihHZXN0dXJlUmVjb2duaXplclRlc3QsIGhhc2gpCiB7CiAgICAgSW5z
cGVjdGFibGVHZXN0dXJlUmVjb2duaXplckNocm9taXVtIHRlc3RHbTsKQEAgLTI4Miw2ICsyOTks
NjEgQEAgVEVTVF9GKEdlc3R1cmVSZWNvZ25pemVyVGVzdCwgdXBkYXRlVmFsdWVzKQogICAgIEFT
U0VSVF9FUSgwLjAsIGdtLmxhc3RUb3VjaFRpbWUoKSAtIGdtLmZpcnN0VG91Y2hUaW1lKCkpOwog
fQogCitURVNUX0YoR2VzdHVyZVJlY29nbml6ZXJUZXN0LCBkb3VibGVUYXBHZXN0dXJlVGVzdCkK
K3sKKyAgICBJbnNwZWN0YWJsZUdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW0gZ207CisgICAgU2lt
dWxhdGVBbmRUZXN0Rmlyc3RDbGljayhnbSk7CisgICAgQVNTRVJUX0VRKEdlc3R1cmVSZWNvZ25p
emVyQ2hyb21pdW06OkZpcnN0Q2xpY2tSZWNlaXZlZCwgZ20uc3RhdGUoKSk7CisKKyAgICBCdWls
ZGFibGVQbGF0Zm9ybVRvdWNoUG9pbnQgcHJlc3MoMTAsIDE1LCBQbGF0Zm9ybVRvdWNoUG9pbnQ6
OlRvdWNoUHJlc3NlZCk7CisgICAgQnVpbGRhYmxlUGxhdGZvcm1Ub3VjaEV2ZW50IHByZXNzRXZl
bnQoV2ViQ29yZTo6VG91Y2hTdGFydCwgcHJlc3MpOworICAgIGdtLnNldExhc3RUb3VjaFRpbWUo
Z20ubGFzdFRvdWNoVGltZSgpIC0gMC4wMSk7CisgICAgT3duUHRyPFZlY3RvcjxXZWJDb3JlOjpQ
bGF0Zm9ybUdlc3R1cmVFdmVudD4gPiBnZXN0dXJlU3RhcnQoZ20ucHJvY2Vzc1RvdWNoRXZlbnRG
b3JHZXN0dXJlcyhwcmVzc0V2ZW50LCBmYWxzZSkpOworICAgIEFTU0VSVF9FUSgodW5zaWduZWQg
aW50KTAsIGdlc3R1cmVTdGFydC0+c2l6ZSgpKTsKKyAgICBBU1NFUlRfRVEoR2VzdHVyZVJlY29n
bml6ZXJDaHJvbWl1bTo6UGVuZGluZ0RvdWJsZUNsaWNrLCBnbS5zdGF0ZSgpKTsKKworICAgIEJ1
aWxkYWJsZVBsYXRmb3JtVG91Y2hQb2ludCBtb3ZlKDEwLCAxNiwgUGxhdGZvcm1Ub3VjaFBvaW50
OjpUb3VjaE1vdmVkKTsKKyAgICBCdWlsZGFibGVQbGF0Zm9ybVRvdWNoRXZlbnQgbW92ZUV2ZW50
KFdlYkNvcmU6OlRvdWNoTW92ZSwgbW92ZSk7CisgICAgT3duUHRyPFZlY3RvcjxXZWJDb3JlOjpQ
bGF0Zm9ybUdlc3R1cmVFdmVudD4gPiBnZXN0dXJlTW92ZShnbS5wcm9jZXNzVG91Y2hFdmVudEZv
ckdlc3R1cmVzKG1vdmVFdmVudCwgZmFsc2UpKTsKKyAgICBBU1NFUlRfRVEoKHVuc2lnbmVkIGlu
dCkwLCBnZXN0dXJlTW92ZS0+c2l6ZSgpKTsKKyAgICBBU1NFUlRfRVEoR2VzdHVyZVJlY29nbml6
ZXJDaHJvbWl1bTo6UGVuZGluZ0RvdWJsZUNsaWNrLCBnbS5zdGF0ZSgpKTsKKworICAgIEJ1aWxk
YWJsZVBsYXRmb3JtVG91Y2hQb2ludCByZWxlYXNlKDEwLCAxNiwgUGxhdGZvcm1Ub3VjaFBvaW50
OjpUb3VjaFJlbGVhc2VkKTsKKyAgICBCdWlsZGFibGVQbGF0Zm9ybVRvdWNoRXZlbnQgcmVsZWFz
ZUV2ZW50KFdlYkNvcmU6OlRvdWNoRW5kLCByZWxlYXNlKTsKKyAgICBnbS5zZXRGaXJzdFRvdWNo
VGltZShnbS5maXJzdFRvdWNoVGltZSgpIC0gMC4wMSk7CisgICAgT3duUHRyPFZlY3RvcjxXZWJD
b3JlOjpQbGF0Zm9ybUdlc3R1cmVFdmVudD4gPiBnZXN0dXJlRW5kKGdtLnByb2Nlc3NUb3VjaEV2
ZW50Rm9yR2VzdHVyZXMocmVsZWFzZUV2ZW50LCBmYWxzZSkpOworICAgIEFTU0VSVF9FUSgodW5z
aWduZWQgaW50KTEsIGdlc3R1cmVFbmQtPnNpemUoKSk7CisgICAgQVNTRVJUX0VRKFBsYXRmb3Jt
R2VzdHVyZUV2ZW50OjpEb3VibGVUYXBUeXBlLCAoKmdlc3R1cmVFbmQpWzBdLnR5cGUoKSk7Cisg
ICAgQVNTRVJUX0VRKEdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW06Ok5vR2VzdHVyZSwgZ20uc3Rh
dGUoKSk7Cit9CisKK1RFU1RfRihHZXN0dXJlUmVjb2duaXplclRlc3QsIGRvdWJsZVRhcEdlc3R1
cmVJbmNvbXBsZXRlVGVzdCkKK3sKKyAgICBJbnNwZWN0YWJsZUdlc3R1cmVSZWNvZ25pemVyQ2hy
b21pdW0gZ207CisgICAgU2ltdWxhdGVBbmRUZXN0Rmlyc3RDbGljayhnbSk7CisgICAgQVNTRVJU
X0VRKEdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW06OkZpcnN0Q2xpY2tSZWNlaXZlZCwgZ20uc3Rh
dGUoKSk7CisKKyAgICBCdWlsZGFibGVQbGF0Zm9ybVRvdWNoUG9pbnQgcHJlc3MoMTAsIDE1LCBQ
bGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoUHJlc3NlZCk7CisgICAgQnVpbGRhYmxlUGxhdGZvcm1U
b3VjaEV2ZW50IHByZXNzRXZlbnQoV2ViQ29yZTo6VG91Y2hTdGFydCwgcHJlc3MpOworICAgIGdt
LnNldExhc3RUb3VjaFRpbWUoZ20ubGFzdFRvdWNoVGltZSgpIC0gMC4wMSk7CisgICAgT3duUHRy
PFZlY3RvcjxXZWJDb3JlOjpQbGF0Zm9ybUdlc3R1cmVFdmVudD4gPiBnZXN0dXJlU3RhcnQoZ20u
cHJvY2Vzc1RvdWNoRXZlbnRGb3JHZXN0dXJlcyhwcmVzc0V2ZW50LCBmYWxzZSkpOworICAgIEFT
U0VSVF9FUSgodW5zaWduZWQgaW50KTAsIGdlc3R1cmVTdGFydC0+c2l6ZSgpKTsKKyAgICBBU1NF
UlRfRVEoR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6UGVuZGluZ0RvdWJsZUNsaWNrLCBnbS5z
dGF0ZSgpKTsKKworICAgIEJ1aWxkYWJsZVBsYXRmb3JtVG91Y2hQb2ludCBtb3ZlKDEwLCA1MCwg
UGxhdGZvcm1Ub3VjaFBvaW50OjpUb3VjaE1vdmVkKTsKKyAgICBCdWlsZGFibGVQbGF0Zm9ybVRv
dWNoRXZlbnQgbW92ZUV2ZW50KFdlYkNvcmU6OlRvdWNoTW92ZSwgbW92ZSk7CisgICAgT3duUHRy
PFZlY3RvcjxXZWJDb3JlOjpQbGF0Zm9ybUdlc3R1cmVFdmVudD4gPiBnZXN0dXJlTW92ZShnbS5w
cm9jZXNzVG91Y2hFdmVudEZvckdlc3R1cmVzKG1vdmVFdmVudCwgZmFsc2UpKTsKKyAgICBBU1NF
UlRfRVEoKHVuc2lnbmVkIGludCkwLCBnZXN0dXJlTW92ZS0+c2l6ZSgpKTsKKyAgICBBU1NFUlRf
RVEoR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6Tm9HZXN0dXJlLCBnbS5zdGF0ZSgpKTsKKwor
ICAgIEJ1aWxkYWJsZVBsYXRmb3JtVG91Y2hQb2ludCByZWxlYXNlKDEwLCA1MCwgUGxhdGZvcm1U
b3VjaFBvaW50OjpUb3VjaFJlbGVhc2VkKTsKKyAgICBCdWlsZGFibGVQbGF0Zm9ybVRvdWNoRXZl
bnQgcmVsZWFzZUV2ZW50KFdlYkNvcmU6OlRvdWNoRW5kLCByZWxlYXNlKTsKKyAgICBnbS5zZXRG
aXJzdFRvdWNoVGltZShnbS5maXJzdFRvdWNoVGltZSgpIC0gMC4wMSk7CisgICAgT3duUHRyPFZl
Y3RvcjxXZWJDb3JlOjpQbGF0Zm9ybUdlc3R1cmVFdmVudD4gPiBnZXN0dXJlRW5kKGdtLnByb2Nl
c3NUb3VjaEV2ZW50Rm9yR2VzdHVyZXMocmVsZWFzZUV2ZW50LCBmYWxzZSkpOworICAgIEFTU0VS
VF9FUSgodW5zaWduZWQgaW50KTAsIGdlc3R1cmVFbmQtPnNpemUoKSk7CisgICAgQVNTRVJUX0VR
KEdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW06Ok5vR2VzdHVyZSwgZ20uc3RhdGUoKSk7Cit9CisK
IFRFU1RfRihHZXN0dXJlUmVjb2duaXplclRlc3QsIGdlc3R1cmVTY3JvbGxFdmVudHMpCiB7CiAg
ICAgSW5zcGVjdGFibGVHZXN0dXJlUmVjb2duaXplckNocm9taXVtIGdtOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106621</attachid>
            <date>2011-09-07 12:49:13 -0700</date>
            <delta_ts>2011-09-07 12:57:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67709-20110907154704.patch</filename>
            <type>text/plain</type>
            <size>15131</size>
            <attacher name="Varun Jain">varunjain</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQ2NjYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRXZlbnRIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNw
cAppbmRleCAwNzc1Mzc3NmFhZTM1ZTA3ZjQ3NTMzM2Y5MDIxYTUyMzQ3NDI0MTdkLi40ZTQ2N2Vh
MmMxNmIyNWU5OWI3YjBmMDQ1ZGIwN2NlYmVkYmU4YjZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVu
dEhhbmRsZXIuY3BwCkBAIC0yMjIxLDYgKzIyMjEsOCBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFu
ZGxlR2VzdHVyZUV2ZW50KGNvbnN0IFBsYXRmb3JtR2VzdHVyZUV2ZW50JiBnZXN0dXJlRXZlbnQp
CiAgICAgICAgIGhhbmRsZU1vdXNlUmVsZWFzZUV2ZW50KGZha2VNb3VzZVVwKTsKICAgICAgICAg
cmV0dXJuIHRydWU7CiAgICAgfQorICAgIGNhc2UgUGxhdGZvcm1HZXN0dXJlRXZlbnQ6OkRvdWJs
ZVRhcFR5cGU6CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUGxhdGZvcm1HZXN0dXJlRXZlbnQ6
OlNjcm9sbFVwZGF0ZVR5cGU6IHsKICAgICAgICAgY29uc3QgZmxvYXQgdGlja0Rpdmlzb3IgPSAo
ZmxvYXQpV2hlZWxFdmVudDo6dGlja011bHRpcGxpZXI7CiAgICAgICAgIC8vIEZJWE1FOiBSZXBs
YWNlIHRoaXMgaW50ZXJpbSBpbXBsZW1lbnRhdGlvbiBvbmNlIHRoZSBhYm92ZSBmaXhtZSBoYXMg
YmVlbiBhZGRyZXNzZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0
Zm9ybUdlc3R1cmVFdmVudC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1HZXN0
dXJlRXZlbnQuaAppbmRleCAzNjE3ODFiYjU1ZGViYjY1NGY1YzE2MjJmODUxOGVhZTI2MGY2MDZh
Li44MzNjNmEzN2FkZDdiOTdjOTA3Mjg5N2QxZjUwMTAxMDJhYTc5ZjkwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUdlc3R1cmVFdmVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtR2VzdHVyZUV2ZW50LmgKQEAgLTQwLDYgKzQwLDcg
QEAgcHVibGljOgogICAgICAgICBTY3JvbGxVcGRhdGVUeXBlLAogICAgICAgICBUYXBUeXBlLAog
ICAgICAgICBUYXBEb3duVHlwZSwKKyAgICAgICAgRG91YmxlVGFwVHlwZSwKICAgICB9OwogCiAg
ICAgUGxhdGZvcm1HZXN0dXJlRXZlbnQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY2hyb21pdW0vR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9HZXN0dXJlUmVjb2duaXplckNocm9taXVtLmNwcAppbmRl
eCAwODM0MDgwNTY5NGFhYzFmMzI0YzVjMDI2ZmQ0NjdlMTZmZDgwZmFjLi43YWI5ZDRiYzhlMGFl
NjgwYmMwMzI2NWM3MDJiMDJiNzliNzIyMzA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jaHJvbWl1bS9HZXN0dXJlUmVjb2duaXplckNocm9taXVtLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9HZXN0dXJlUmVjb2duaXplckNocm9taXVtLmNw
cApAQCAtNjIsNiArNjIsMTIgQEAgR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6R2VzdHVyZVJl
Y29nbml6ZXJDaHJvbWl1bSgpCiAgICAgYWRkRWRnZUZ1bmN0aW9uKFNjcm9sbCwgRmlyc3RGaW5n
ZXIsIE1vdmVkLCBmYWxzZSwgJkdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW06OmluU2Nyb2xsKTsK
ICAgICBhZGRFZGdlRnVuY3Rpb24oU2Nyb2xsLCBGaXJzdEZpbmdlciwgUmVsZWFzZWQsIGZhbHNl
LCAmR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6c2Nyb2xsRW5kKTsKICAgICBhZGRFZGdlRnVu
Y3Rpb24oU2Nyb2xsLCBGaXJzdEZpbmdlciwgQ2FuY2VsbGVkLCBmYWxzZSwgJkdlc3R1cmVSZWNv
Z25pemVyQ2hyb21pdW06OnNjcm9sbEVuZCk7CisKKyAgICBhZGRFZGdlRnVuY3Rpb24oRmlyc3RD
bGlja1JlY2VpdmVkLCBGaXJzdEZpbmdlciwgUHJlc3NlZCwgZmFsc2UsICZHZXN0dXJlUmVjb2du
aXplckNocm9taXVtOjp0b3VjaERvd24pOworICAgIGFkZEVkZ2VGdW5jdGlvbihQZW5kaW5nRG91
YmxlQ2xpY2ssIEZpcnN0RmluZ2VyLCBDYW5jZWxsZWQsIGZhbHNlLCAmR2VzdHVyZVJlY29nbml6
ZXJDaHJvbWl1bTo6bm9HZXN0dXJlKTsKKyAgICBhZGRFZGdlRnVuY3Rpb24oUGVuZGluZ0RvdWJs
ZUNsaWNrLCBGaXJzdEZpbmdlciwgUmVsZWFzZWQsIGZhbHNlLCAmR2VzdHVyZVJlY29nbml6ZXJD
aHJvbWl1bTo6ZG91YmxlQ2xpY2spOworICAgIGFkZEVkZ2VGdW5jdGlvbihQZW5kaW5nRG91Ymxl
Q2xpY2ssIEZpcnN0RmluZ2VyLCBNb3ZlZCwgZmFsc2UsICZHZXN0dXJlUmVjb2duaXplckNocm9t
aXVtOjptYXliZURvdWJsZUNsaWNrKTsKKyAgICBhZGRFZGdlRnVuY3Rpb24oUGVuZGluZ0RvdWJs
ZUNsaWNrLCBGaXJzdEZpbmdlciwgU3RhdGlvbmFyeSwgZmFsc2UsICZHZXN0dXJlUmVjb2duaXpl
ckNocm9taXVtOjptYXliZURvdWJsZUNsaWNrKTsKIH0KIAogdm9pZCBHZXN0dXJlUmVjb2duaXpl
ckNocm9taXVtOjpyZXNldCgpCkBAIC04Niw2ICs5MiwxMiBAQCBib29sIEdlc3R1cmVSZWNvZ25p
emVyQ2hyb21pdW06OmlzSW5DbGlja1RpbWVXaW5kb3coKQogICAgIHJldHVybiBkdXJhdGlvbiA+
PSBtaW5pbXVtVG91Y2hEb3duRHVyYXRpb25JblNlY29uZHNGb3JDbGljayAmJiBkdXJhdGlvbiA8
IG1heGltdW1Ub3VjaERvd25EdXJhdGlvbkluU2Vjb25kc0ZvckNsaWNrOwogfQogCitib29sIEdl
c3R1cmVSZWNvZ25pemVyQ2hyb21pdW06OmlzSW5TZWNvbmRDbGlja1RpbWVXaW5kb3coKQorewor
ICAgIGRvdWJsZSBkdXJhdGlvbihtX2xhc3RUb3VjaFRpbWUgLSBtX2xhc3RDbGlja1RpbWUpOwor
ICAgIHJldHVybiBkdXJhdGlvbiA+PSBtaW5pbXVtVG91Y2hEb3duRHVyYXRpb25JblNlY29uZHNG
b3JDbGljayAmJiBkdXJhdGlvbiA8IG1heGltdW1Ub3VjaERvd25EdXJhdGlvbkluU2Vjb25kc0Zv
ckNsaWNrOworfQorCiBib29sIEdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW06OmlzSW5zaWRlTWFu
aGF0dGFuU3F1YXJlKGNvbnN0IFBsYXRmb3JtVG91Y2hQb2ludCYgcG9pbnQpCiB7CiAgICAgaW50
IG1hbmhhdHRhbkRpc3RhbmNlID0gYWJzKHBvaW50LnBvcygpLngoKSAtIG1fZmlyc3RUb3VjaFBv
c2l0aW9uLngoKSkgKyBhYnMocG9pbnQucG9zKCkueSgpIC0gbV9maXJzdFRvdWNoUG9zaXRpb24u
eSgpKTsKQEAgLTEwMiw2ICsxMTQsMTEgQEAgdm9pZCBHZXN0dXJlUmVjb2duaXplckNocm9taXVt
OjphcHBlbmRDbGlja0dlc3R1cmVFdmVudChjb25zdCBQbGF0Zm9ybVRvdWNoUG9pbnQKICAgICBn
ZXN0dXJlcy0+YXBwZW5kKFBsYXRmb3JtR2VzdHVyZUV2ZW50KFBsYXRmb3JtR2VzdHVyZUV2ZW50
OjpUYXBUeXBlLCBtX2ZpcnN0VG91Y2hQb3NpdGlvbiwgbV9maXJzdFRvdWNoU2NyZWVuUG9zaXRp
b24sIG1fbGFzdFRvdWNoVGltZSwgMC5mLCAwLmYsIG1fc2hpZnRLZXksIG1fY3RybEtleSwgbV9h
bHRLZXksIG1fbWV0YUtleSkpOwogfQogCit2b2lkIEdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW06
OmFwcGVuZERvdWJsZUNsaWNrR2VzdHVyZUV2ZW50KGNvbnN0IFBsYXRmb3JtVG91Y2hQb2ludCYg
dG91Y2hQb2ludCwgR2VzdHVyZXMgZ2VzdHVyZXMpCit7CisgICAgZ2VzdHVyZXMtPmFwcGVuZChQ
bGF0Zm9ybUdlc3R1cmVFdmVudChQbGF0Zm9ybUdlc3R1cmVFdmVudDo6RG91YmxlVGFwVHlwZSwg
bV9maXJzdFRvdWNoUG9zaXRpb24sIG1fZmlyc3RUb3VjaFNjcmVlblBvc2l0aW9uLCBtX2xhc3RU
b3VjaFRpbWUsIDAuZiwgMC5mLCBtX3NoaWZ0S2V5LCBtX2N0cmxLZXksIG1fYWx0S2V5LCBtX21l
dGFLZXkpKTsKK30KKwogUGxhdGZvcm1HZXN0dXJlUmVjb2duaXplcjo6UGFzc0dlc3R1cmVzIEdl
c3R1cmVSZWNvZ25pemVyQ2hyb21pdW06OnByb2Nlc3NUb3VjaEV2ZW50Rm9yR2VzdHVyZXMoY29u
c3QgUGxhdGZvcm1Ub3VjaEV2ZW50JiBldmVudCwgYm9vbCBkZWZhdWx0UHJldmVudGVkKQogewog
ICAgIG1fY3RybEtleSA9IGV2ZW50LmN0cmxLZXkoKTsKQEAgLTE0Miw2ICsxNTksMTAgQEAgdm9p
ZCBHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjphcHBlbmRTY3JvbGxHZXN0dXJlVXBkYXRlKGNv
bnN0IFBsYXRmb3JtVG91Y2hQb2kKIAogdm9pZCBHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjp1
cGRhdGVWYWx1ZXMoY29uc3QgZG91YmxlIHRvdWNoVGltZSwgY29uc3QgUGxhdGZvcm1Ub3VjaFBv
aW50JiB0b3VjaFBvaW50KQogeworICAgIGlmIChzdGF0ZSgpID09IEZpcnN0Q2xpY2tSZWNlaXZl
ZCkgeworICAgICAgICBtX2ZpcnN0VG91Y2hUaW1lID0gdG91Y2hUaW1lOworICAgICAgICBtX2xh
c3RDbGlja1RpbWUgPSBtX2xhc3RUb3VjaFRpbWU7CisgICAgfQogICAgIG1fbGFzdFRvdWNoVGlt
ZSA9IHRvdWNoVGltZTsKICAgICBpZiAoc3RhdGUoKSA9PSBOb0dlc3R1cmUpIHsKICAgICAgICAg
bV9maXJzdFRvdWNoVGltZSA9IHRvdWNoVGltZTsKQEAgLTE2NCw4ICsxODUsMTMgQEAgdW5zaWdu
ZWQgaW50IEdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW06OnNpZ25hdHVyZShTdGF0ZSBnZXN0dXJl
U3RhdGUsIHVuc2lnbmVkIGkKIAogYm9vbCBHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjp0b3Vj
aERvd24oY29uc3QgUGxhdGZvcm1Ub3VjaFBvaW50JiB0b3VjaFBvaW50LCBHZXN0dXJlcyBnZXN0
dXJlcykKIHsKLSAgICBzZXRTdGF0ZShQZW5kaW5nU3ludGhldGljQ2xpY2spOworICAgIEFTU0VS
VChzdGF0ZSgpID09IE5vR2VzdHVyZSB8fCBzdGF0ZSgpID09IEZpcnN0Q2xpY2tSZWNlaXZlZCk7
CiAgICAgYXBwZW5kVGFwRG93bkdlc3R1cmVFdmVudCh0b3VjaFBvaW50LCBnZXN0dXJlcyk7Cisg
ICAgaWYgKHN0YXRlKCkgPT0gRmlyc3RDbGlja1JlY2VpdmVkICYmIGlzSW5TZWNvbmRDbGlja1Rp
bWVXaW5kb3coKSAmJiBpc0luc2lkZU1hbmhhdHRhblNxdWFyZSh0b3VjaFBvaW50KSkgeworICAg
ICAgICBzZXRTdGF0ZShQZW5kaW5nRG91YmxlQ2xpY2spOworICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgfQorICAgIHNldFN0YXRlKFBlbmRpbmdTeW50aGV0aWNDbGljayk7CiAgICAgcmV0dXJu
IGZhbHNlOwogfQogCkBAIC0xNzcsNiArMjAzLDI0IEBAIGJvb2wgR2VzdHVyZVJlY29nbml6ZXJD
aHJvbWl1bTo6c2Nyb2xsRW5kKGNvbnN0IFBsYXRmb3JtVG91Y2hQb2ludCYgcG9pbnQsIEdlc3R1
CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitib29sIEdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW06
OmRvdWJsZUNsaWNrKGNvbnN0IFBsYXRmb3JtVG91Y2hQb2ludCYgcG9pbnQsIEdlc3R1cmVzIGdl
c3R1cmVzKQoreworICAgIGlmIChpc0luQ2xpY2tUaW1lV2luZG93KCkgJiYgaXNJbnNpZGVNYW5o
YXR0YW5TcXVhcmUocG9pbnQpKSB7CisgICAgICAgIHNldFN0YXRlKE5vR2VzdHVyZSk7CisgICAg
ICAgIGFwcGVuZERvdWJsZUNsaWNrR2VzdHVyZUV2ZW50KHBvaW50LCBnZXN0dXJlcyk7CisgICAg
ICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICByZXR1cm4gbm9HZXN0dXJlKHBvaW50LCBnZXN0
dXJlcyk7Cit9CisKK2Jvb2wgR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6bWF5YmVEb3VibGVD
bGljayhjb25zdCBQbGF0Zm9ybVRvdWNoUG9pbnQmIHBvaW50LCBHZXN0dXJlcyBnZXN0dXJlcykK
K3sKKyAgICBBU1NFUlQoc3RhdGUoKSA9PSBHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjpQZW5k
aW5nRG91YmxlQ2xpY2spOworICAgIGlmIChwb2ludC5zdGF0ZSgpID09IFBsYXRmb3JtVG91Y2hQ
b2ludDo6VG91Y2hNb3ZlZCAmJiAhaXNJbnNpZGVNYW5oYXR0YW5TcXVhcmUocG9pbnQpKQorICAg
ICAgICByZXR1cm4gbm9HZXN0dXJlKHBvaW50LCBnZXN0dXJlcyk7CisgICAgcmV0dXJuIGZhbHNl
OworfQorCiBib29sIEdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW06Om5vR2VzdHVyZShjb25zdCBQ
bGF0Zm9ybVRvdWNoUG9pbnQmLCBHZXN0dXJlcykKIHsKICAgICByZXNldCgpOwpAQCAtMTg2LDcg
KzIzMCw3IEBAIGJvb2wgR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6bm9HZXN0dXJlKGNvbnN0
IFBsYXRmb3JtVG91Y2hQb2ludCYsIEdlc3R1cmVzKQogYm9vbCBHZXN0dXJlUmVjb2duaXplckNo
cm9taXVtOjpjbGljayhjb25zdCBQbGF0Zm9ybVRvdWNoUG9pbnQmIHBvaW50LCBHZXN0dXJlcyBn
ZXN0dXJlcykKIHsKICAgICBpZiAoaXNJbkNsaWNrVGltZVdpbmRvdygpICYmIGlzSW5zaWRlTWFu
aGF0dGFuU3F1YXJlKHBvaW50KSkgewotICAgICAgICBzZXRTdGF0ZShOb0dlc3R1cmUpOworICAg
ICAgICBzZXRTdGF0ZShGaXJzdENsaWNrUmVjZWl2ZWQpOwogICAgICAgICBhcHBlbmRDbGlja0dl
c3R1cmVFdmVudChwb2ludCwgZ2VzdHVyZXMpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9HZXN0dXJlUmVj
b2duaXplckNocm9taXVtLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9HZXN0
dXJlUmVjb2duaXplckNocm9taXVtLmgKaW5kZXggMTM4ZDhkNjY5N2JjODJkM2E5YmMzM2UyZjA0
OTE0MWMwYmIzNWUxMy4uNGVkZGEzYmMxOTE5MzIwZGEwY2Q4Y2IxZWE3MTNmMjAzOWQyMzUxZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vR2VzdHVyZVJlY29n
bml6ZXJDaHJvbWl1bS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0dl
c3R1cmVSZWNvZ25pemVyQ2hyb21pdW0uaApAQCAtNDgsNyArNDgsOSBAQCBwdWJsaWM6CiAgICAg
ZW51bSBTdGF0ZSB7CiAgICAgICAgIE5vR2VzdHVyZSwKICAgICAgICAgUGVuZGluZ1N5bnRoZXRp
Y0NsaWNrLAotICAgICAgICBTY3JvbGwKKyAgICAgICAgU2Nyb2xsLAorICAgICAgICBGaXJzdENs
aWNrUmVjZWl2ZWQsCisgICAgICAgIFBlbmRpbmdEb3VibGVDbGljaywKICAgICB9OwogCiAgICAg
dHlwZWRlZiBWZWN0b3I8UGxhdGZvcm1HZXN0dXJlRXZlbnQ+KiBHZXN0dXJlczsKQEAgLTY4LDEw
ICs3MCwxMiBAQCBwcml2YXRlOgogICAgIHZvaWQgYWRkRWRnZUZ1bmN0aW9uKFN0YXRlLCB1bnNp
Z25lZCBmaW5nZXIsIFBsYXRmb3JtVG91Y2hQb2ludDo6U3RhdGUsIGJvb2wgdG91Y2hIYW5kbGVk
QnlKYXZhU2NyaXB0LCBHZXN0dXJlVHJhbnNpdGlvbkZ1bmN0aW9uKTsKICAgICB2b2lkIGFwcGVu
ZFRhcERvd25HZXN0dXJlRXZlbnQoY29uc3QgUGxhdGZvcm1Ub3VjaFBvaW50JiwgR2VzdHVyZXMp
OwogICAgIHZvaWQgYXBwZW5kQ2xpY2tHZXN0dXJlRXZlbnQoY29uc3QgUGxhdGZvcm1Ub3VjaFBv
aW50JiwgR2VzdHVyZXMpOworICAgIHZvaWQgYXBwZW5kRG91YmxlQ2xpY2tHZXN0dXJlRXZlbnQo
Y29uc3QgUGxhdGZvcm1Ub3VjaFBvaW50JiwgR2VzdHVyZXMpOwogICAgIHZvaWQgYXBwZW5kU2Ny
b2xsR2VzdHVyZUJlZ2luKGNvbnN0IFBsYXRmb3JtVG91Y2hQb2ludCYsIEdlc3R1cmVzKTsKICAg
ICB2b2lkIGFwcGVuZFNjcm9sbEdlc3R1cmVFbmQoY29uc3QgUGxhdGZvcm1Ub3VjaFBvaW50Jiwg
R2VzdHVyZXMpOwogICAgIHZvaWQgYXBwZW5kU2Nyb2xsR2VzdHVyZVVwZGF0ZShjb25zdCBQbGF0
Zm9ybVRvdWNoUG9pbnQmLCBHZXN0dXJlcyk7CiAgICAgYm9vbCBpc0luQ2xpY2tUaW1lV2luZG93
KCk7CisgICAgYm9vbCBpc0luU2Vjb25kQ2xpY2tUaW1lV2luZG93KCk7CiAgICAgYm9vbCBpc0lu
c2lkZU1hbmhhdHRhblNxdWFyZShjb25zdCBQbGF0Zm9ybVRvdWNoUG9pbnQmKTsKICAgICB2b2lk
IHNldFN0YXRlKFN0YXRlIHZhbHVlKSB7IG1fc3RhdGUgPSB2YWx1ZTsgfQogICAgIHZvaWQgdXBk
YXRlVmFsdWVzKGRvdWJsZSB0b3VjaFRpbWUsIGNvbnN0IFBsYXRmb3JtVG91Y2hQb2ludCYpOwpA
QCAtODMsMTIgKzg3LDE2IEBAIHByaXZhdGU6CiAgICAgYm9vbCB0b3VjaERvd24oY29uc3QgUGxh
dGZvcm1Ub3VjaFBvaW50JiwgR2VzdHVyZXMpOwogICAgIGJvb2wgc2Nyb2xsRW5kKGNvbnN0IFBs
YXRmb3JtVG91Y2hQb2ludCYsIEdlc3R1cmVzKTsKIAorICAgIGJvb2wgZG91YmxlQ2xpY2soY29u
c3QgUGxhdGZvcm1Ub3VjaFBvaW50JiwgR2VzdHVyZXMpOworICAgIGJvb2wgbWF5YmVEb3VibGVD
bGljayhjb25zdCBQbGF0Zm9ybVRvdWNoUG9pbnQmLCBHZXN0dXJlcyk7CisKICAgICBXVEY6Okhh
c2hNYXA8aW50LCBHZXN0dXJlVHJhbnNpdGlvbkZ1bmN0aW9uPiBtX2VkZ2VGdW5jdGlvbnM7CiAg
ICAgSW50UG9pbnQgbV9maXJzdFRvdWNoUG9zaXRpb247CiAgICAgSW50UG9pbnQgbV9maXJzdFRv
dWNoU2NyZWVuUG9zaXRpb247CiAgICAgZG91YmxlIG1fZmlyc3RUb3VjaFRpbWU7CiAgICAgU3Rh
dGUgbV9zdGF0ZTsKICAgICBkb3VibGUgbV9sYXN0VG91Y2hUaW1lOworICAgIGRvdWJsZSBtX2xh
c3RDbGlja1RpbWU7CiAKICAgICBib29sIG1fY3RybEtleTsKICAgICBib29sIG1fYWx0S2V5Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBDb250YWlu
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBDb250YWluZXIu
Y3BwCmluZGV4IGUwMmYxZDhiOWQyZjM1OTk2MTE2YzQxNDJiZmYzNjljYmE1NzJiMTEuLjczZGVl
ZDNkOTBkNmNhYTlhZTM0ODkxYTMwMDYwNjhhMDhhMTFiZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BvcHVwQ29udGFpbmVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cENvbnRhaW5lci5jcHAKQEAgLTMwNiw2ICsz
MDYsOCBAQCBib29sIFBvcHVwQ29udGFpbmVyOjpoYW5kbGVHZXN0dXJlRXZlbnQoY29uc3QgUGxh
dGZvcm1HZXN0dXJlRXZlbnQmIGdlc3R1cmVFdmVudAogICAgICAgICBoYW5kbGVNb3VzZVJlbGVh
c2VFdmVudChmYWtlTW91c2VVcCk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KKyAgICBj
YXNlIFBsYXRmb3JtR2VzdHVyZUV2ZW50OjpEb3VibGVUYXBUeXBlOgorICAgICAgICBicmVhazsK
ICAgICBjYXNlIFBsYXRmb3JtR2VzdHVyZUV2ZW50OjpTY3JvbGxVcGRhdGVUeXBlOiB7CiAgICAg
ICAgIFBsYXRmb3JtV2hlZWxFdmVudCBzeW50aGV0aWNXaGVlbEV2ZW50KGdlc3R1cmVFdmVudC5w
b3NpdGlvbigpLCBnZXN0dXJlRXZlbnQuZ2xvYmFsUG9zaXRpb24oKSwgZ2VzdHVyZUV2ZW50LmRl
bHRhWCgpLCBnZXN0dXJlRXZlbnQuZGVsdGFZKCksIGdlc3R1cmVFdmVudC5kZWx0YVgoKSAvIDEy
MC4wZiwgZ2VzdHVyZUV2ZW50LmRlbHRhWSgpIC8gMTIwLjBmLCBTY3JvbGxCeVBpeGVsV2hlZWxF
dmVudCwgLyogaXNBY2NlcHRlZCAqLyBmYWxzZSwgZ2VzdHVyZUV2ZW50LnNoaWZ0S2V5KCksIGdl
c3R1cmVFdmVudC5jdHJsS2V5KCksIGdlc3R1cmVFdmVudC5hbHRLZXkoKSwgZ2VzdHVyZUV2ZW50
Lm1ldGFLZXkoKSk7CiAgICAgICAgIGhhbmRsZVdoZWVsRXZlbnQoc3ludGhldGljV2hlZWxFdmVu
dCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0lubmVyR2VzdHVy
ZVJlY29nbml6ZXJUZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvSW5uZXJH
ZXN0dXJlUmVjb2duaXplclRlc3QuY3BwCmluZGV4IDliMDM2YzZmYTY4NTk1YmQ5Yzk1MDUyMDg3
NDc0N2VhYzdmYWY0YmEuLmJiZjM0NDExYjllNGViNDUzZGNiNzRkY2U0NGI5MTgyNmIxNGRhMDgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvSW5uZXJHZXN0dXJlUmVj
b2duaXplclRlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvSW5uZXJH
ZXN0dXJlUmVjb2duaXplclRlc3QuY3BwCkBAIC0zNiw3ICszNiw2IEBACiAKIHVzaW5nIG5hbWVz
cGFjZSBXZWJDb3JlOwogCi0KIGNsYXNzIEluc3BlY3RhYmxlR2VzdHVyZVJlY29nbml6ZXJDaHJv
bWl1bSA6IHB1YmxpYyBXZWJDb3JlOjpHZXN0dXJlUmVjb2duaXplckNocm9taXVtIHsKIHB1Ymxp
YzoKICAgICBJbnNwZWN0YWJsZUdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW0oKQpAQCAtMTU3LDYg
KzE1NiwyNSBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIFRlYXJEb3duKCkgeyB9CiB9
OwogCit2b2lkIFNpbXVsYXRlQW5kVGVzdEZpcnN0Q2xpY2soSW5zcGVjdGFibGVHZXN0dXJlUmVj
b2duaXplckNocm9taXVtJiBnbSkKK3sKKyAgICBBU1NFUlRfRVEoR2VzdHVyZVJlY29nbml6ZXJD
aHJvbWl1bTo6Tm9HZXN0dXJlLCBnbS5zdGF0ZSgpKTsKKworICAgIEJ1aWxkYWJsZVBsYXRmb3Jt
VG91Y2hQb2ludCBwcmVzcygxMCwgMTUsIFBsYXRmb3JtVG91Y2hQb2ludDo6VG91Y2hQcmVzc2Vk
KTsKKyAgICBCdWlsZGFibGVQbGF0Zm9ybVRvdWNoRXZlbnQgcHJlc3NFdmVudChXZWJDb3JlOjpU
b3VjaFN0YXJ0LCBwcmVzcyk7CisgICAgT3duUHRyPFZlY3RvcjxXZWJDb3JlOjpQbGF0Zm9ybUdl
c3R1cmVFdmVudD4gPiBnZXN0dXJlU3RhcnQoZ20ucHJvY2Vzc1RvdWNoRXZlbnRGb3JHZXN0dXJl
cyhwcmVzc0V2ZW50LCBmYWxzZSkpOworICAgIEFTU0VSVF9FUSgodW5zaWduZWQgaW50KTEsIGdl
c3R1cmVTdGFydC0+c2l6ZSgpKTsKKyAgICBBU1NFUlRfRVEoUGxhdGZvcm1HZXN0dXJlRXZlbnQ6
OlRhcERvd25UeXBlLCAoKmdlc3R1cmVTdGFydClbMF0udHlwZSgpKTsKKyAgICBBU1NFUlRfRVEo
R2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6UGVuZGluZ1N5bnRoZXRpY0NsaWNrLCBnbS5zdGF0
ZSgpKTsKKworICAgIEJ1aWxkYWJsZVBsYXRmb3JtVG91Y2hQb2ludCByZWxlYXNlKDEwLCAxNiwg
UGxhdGZvcm1Ub3VjaFBvaW50OjpUb3VjaFJlbGVhc2VkKTsKKyAgICBCdWlsZGFibGVQbGF0Zm9y
bVRvdWNoRXZlbnQgcmVsZWFzZUV2ZW50KFdlYkNvcmU6OlRvdWNoRW5kLCByZWxlYXNlKTsKKyAg
ICBnbS5zZXRGaXJzdFRvdWNoVGltZShnbS5maXJzdFRvdWNoVGltZSgpIC0gMC4wMSk7CisgICAg
T3duUHRyPFZlY3RvcjxXZWJDb3JlOjpQbGF0Zm9ybUdlc3R1cmVFdmVudD4gPiBnZXN0dXJlRW5k
KGdtLnByb2Nlc3NUb3VjaEV2ZW50Rm9yR2VzdHVyZXMocmVsZWFzZUV2ZW50LCBmYWxzZSkpOwor
ICAgIEFTU0VSVF9FUSgodW5zaWduZWQgaW50KTEsIGdlc3R1cmVFbmQtPnNpemUoKSk7CisgICAg
QVNTRVJUX0VRKFBsYXRmb3JtR2VzdHVyZUV2ZW50OjpUYXBUeXBlLCAoKmdlc3R1cmVFbmQpWzBd
LnR5cGUoKSk7Cit9CisKIHR5cGVkZWYgT3duUHRyPFZlY3RvcjxXZWJDb3JlOjpQbGF0Zm9ybUdl
c3R1cmVFdmVudD4gPiBHZXN0dXJlczsKIAogVEVTVF9GKEdlc3R1cmVSZWNvZ25pemVyVGVzdCwg
aGFzaCkKQEAgLTI4NCw2ICszMDIsNjMgQEAgVEVTVF9GKEdlc3R1cmVSZWNvZ25pemVyVGVzdCwg
dXBkYXRlVmFsdWVzKQogICAgIEFTU0VSVF9FUSgwLjAsIGdtLmxhc3RUb3VjaFRpbWUoKSAtIGdt
LmZpcnN0VG91Y2hUaW1lKCkpOwogfQogCitURVNUX0YoR2VzdHVyZVJlY29nbml6ZXJUZXN0LCBk
b3VibGVUYXBHZXN0dXJlVGVzdCkKK3sKKyAgICBJbnNwZWN0YWJsZUdlc3R1cmVSZWNvZ25pemVy
Q2hyb21pdW0gZ207CisgICAgU2ltdWxhdGVBbmRUZXN0Rmlyc3RDbGljayhnbSk7CisgICAgQVNT
RVJUX0VRKEdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW06OkZpcnN0Q2xpY2tSZWNlaXZlZCwgZ20u
c3RhdGUoKSk7CisKKyAgICBCdWlsZGFibGVQbGF0Zm9ybVRvdWNoUG9pbnQgcHJlc3MoMTAsIDE1
LCBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoUHJlc3NlZCk7CisgICAgQnVpbGRhYmxlUGxhdGZv
cm1Ub3VjaEV2ZW50IHByZXNzRXZlbnQoV2ViQ29yZTo6VG91Y2hTdGFydCwgcHJlc3MpOworICAg
IGdtLnNldExhc3RUb3VjaFRpbWUoZ20ubGFzdFRvdWNoVGltZSgpIC0gMC4wMSk7CisgICAgR2Vz
dHVyZXMgZ2VzdHVyZVN0YXJ0KGdtLnByb2Nlc3NUb3VjaEV2ZW50Rm9yR2VzdHVyZXMocHJlc3NF
dmVudCwgZmFsc2UpKTsKKyAgICBBU1NFUlRfRVEoKHVuc2lnbmVkIGludCkxLCBnZXN0dXJlU3Rh
cnQtPnNpemUoKSk7CisgICAgQVNTRVJUX0VRKFBsYXRmb3JtR2VzdHVyZUV2ZW50OjpUYXBEb3du
VHlwZSwgKCpnZXN0dXJlU3RhcnQpWzBdLnR5cGUoKSk7CisgICAgQVNTRVJUX0VRKEdlc3R1cmVS
ZWNvZ25pemVyQ2hyb21pdW06OlBlbmRpbmdEb3VibGVDbGljaywgZ20uc3RhdGUoKSk7CisKKyAg
ICBCdWlsZGFibGVQbGF0Zm9ybVRvdWNoUG9pbnQgbW92ZSgxMCwgMTYsIFBsYXRmb3JtVG91Y2hQ
b2ludDo6VG91Y2hNb3ZlZCk7CisgICAgQnVpbGRhYmxlUGxhdGZvcm1Ub3VjaEV2ZW50IG1vdmVF
dmVudChXZWJDb3JlOjpUb3VjaE1vdmUsIG1vdmUpOworICAgIEdlc3R1cmVzIGdlc3R1cmVNb3Zl
KGdtLnByb2Nlc3NUb3VjaEV2ZW50Rm9yR2VzdHVyZXMobW92ZUV2ZW50LCBmYWxzZSkpOworICAg
IEFTU0VSVF9FUSgodW5zaWduZWQgaW50KTAsIGdlc3R1cmVNb3ZlLT5zaXplKCkpOworICAgIEFT
U0VSVF9FUShHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjpQZW5kaW5nRG91YmxlQ2xpY2ssIGdt
LnN0YXRlKCkpOworCisgICAgQnVpbGRhYmxlUGxhdGZvcm1Ub3VjaFBvaW50IHJlbGVhc2UoMTAs
IDE2LCBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoUmVsZWFzZWQpOworICAgIEJ1aWxkYWJsZVBs
YXRmb3JtVG91Y2hFdmVudCByZWxlYXNlRXZlbnQoV2ViQ29yZTo6VG91Y2hFbmQsIHJlbGVhc2Up
OworICAgIGdtLnNldEZpcnN0VG91Y2hUaW1lKGdtLmZpcnN0VG91Y2hUaW1lKCkgLSAwLjAxKTsK
KyAgICBHZXN0dXJlcyBnZXN0dXJlRW5kKGdtLnByb2Nlc3NUb3VjaEV2ZW50Rm9yR2VzdHVyZXMo
cmVsZWFzZUV2ZW50LCBmYWxzZSkpOworICAgIEFTU0VSVF9FUSgodW5zaWduZWQgaW50KTEsIGdl
c3R1cmVFbmQtPnNpemUoKSk7CisgICAgQVNTRVJUX0VRKFBsYXRmb3JtR2VzdHVyZUV2ZW50OjpE
b3VibGVUYXBUeXBlLCAoKmdlc3R1cmVFbmQpWzBdLnR5cGUoKSk7CisgICAgQVNTRVJUX0VRKEdl
c3R1cmVSZWNvZ25pemVyQ2hyb21pdW06Ok5vR2VzdHVyZSwgZ20uc3RhdGUoKSk7Cit9CisKK1RF
U1RfRihHZXN0dXJlUmVjb2duaXplclRlc3QsIGRvdWJsZVRhcEdlc3R1cmVJbmNvbXBsZXRlVGVz
dCkKK3sKKyAgICBJbnNwZWN0YWJsZUdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW0gZ207CisgICAg
U2ltdWxhdGVBbmRUZXN0Rmlyc3RDbGljayhnbSk7CisgICAgQVNTRVJUX0VRKEdlc3R1cmVSZWNv
Z25pemVyQ2hyb21pdW06OkZpcnN0Q2xpY2tSZWNlaXZlZCwgZ20uc3RhdGUoKSk7CisKKyAgICBC
dWlsZGFibGVQbGF0Zm9ybVRvdWNoUG9pbnQgcHJlc3MoMTAsIDE1LCBQbGF0Zm9ybVRvdWNoUG9p
bnQ6OlRvdWNoUHJlc3NlZCk7CisgICAgQnVpbGRhYmxlUGxhdGZvcm1Ub3VjaEV2ZW50IHByZXNz
RXZlbnQoV2ViQ29yZTo6VG91Y2hTdGFydCwgcHJlc3MpOworICAgIGdtLnNldExhc3RUb3VjaFRp
bWUoZ20ubGFzdFRvdWNoVGltZSgpIC0gMC4wMSk7CisgICAgR2VzdHVyZXMgZ2VzdHVyZVN0YXJ0
KGdtLnByb2Nlc3NUb3VjaEV2ZW50Rm9yR2VzdHVyZXMocHJlc3NFdmVudCwgZmFsc2UpKTsKKyAg
ICBBU1NFUlRfRVEoKHVuc2lnbmVkIGludCkxLCBnZXN0dXJlU3RhcnQtPnNpemUoKSk7CisgICAg
QVNTRVJUX0VRKFBsYXRmb3JtR2VzdHVyZUV2ZW50OjpUYXBEb3duVHlwZSwgKCpnZXN0dXJlU3Rh
cnQpWzBdLnR5cGUoKSk7CisgICAgQVNTRVJUX0VRKEdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW06
OlBlbmRpbmdEb3VibGVDbGljaywgZ20uc3RhdGUoKSk7CisKKyAgICBCdWlsZGFibGVQbGF0Zm9y
bVRvdWNoUG9pbnQgbW92ZSgxMCwgNTAsIFBsYXRmb3JtVG91Y2hQb2ludDo6VG91Y2hNb3ZlZCk7
CisgICAgQnVpbGRhYmxlUGxhdGZvcm1Ub3VjaEV2ZW50IG1vdmVFdmVudChXZWJDb3JlOjpUb3Vj
aE1vdmUsIG1vdmUpOworICAgIEdlc3R1cmVzIGdlc3R1cmVNb3ZlKGdtLnByb2Nlc3NUb3VjaEV2
ZW50Rm9yR2VzdHVyZXMobW92ZUV2ZW50LCBmYWxzZSkpOworICAgIEFTU0VSVF9FUSgodW5zaWdu
ZWQgaW50KTAsIGdlc3R1cmVNb3ZlLT5zaXplKCkpOworICAgIEFTU0VSVF9FUShHZXN0dXJlUmVj
b2duaXplckNocm9taXVtOjpOb0dlc3R1cmUsIGdtLnN0YXRlKCkpOworCisgICAgQnVpbGRhYmxl
UGxhdGZvcm1Ub3VjaFBvaW50IHJlbGVhc2UoMTAsIDUwLCBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRv
dWNoUmVsZWFzZWQpOworICAgIEJ1aWxkYWJsZVBsYXRmb3JtVG91Y2hFdmVudCByZWxlYXNlRXZl
bnQoV2ViQ29yZTo6VG91Y2hFbmQsIHJlbGVhc2UpOworICAgIGdtLnNldEZpcnN0VG91Y2hUaW1l
KGdtLmZpcnN0VG91Y2hUaW1lKCkgLSAwLjAxKTsKKyAgICBHZXN0dXJlcyBnZXN0dXJlRW5kKGdt
LnByb2Nlc3NUb3VjaEV2ZW50Rm9yR2VzdHVyZXMocmVsZWFzZUV2ZW50LCBmYWxzZSkpOworICAg
IEFTU0VSVF9FUSgodW5zaWduZWQgaW50KTAsIGdlc3R1cmVFbmQtPnNpemUoKSk7CisgICAgQVNT
RVJUX0VRKEdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW06Ok5vR2VzdHVyZSwgZ20uc3RhdGUoKSk7
Cit9CisKIFRFU1RfRihHZXN0dXJlUmVjb2duaXplclRlc3QsIHRhcERvd25XaXRob3V0VGFwR2Vz
dHVyZVRlc3QpCiB7CiAgICAgSW5zcGVjdGFibGVHZXN0dXJlUmVjb2duaXplckNocm9taXVtIGdt
OwpAQCAtMzM4LDcgKzQxMyw3IEBAIFRFU1RfRihHZXN0dXJlUmVjb2duaXplclRlc3QsIHRhcERv
d25XaXRoVGFwR2VzdHVyZVRlc3QpCiAgICAgR2VzdHVyZXMgZ2VzdHVyZUVuZChnbS5wcm9jZXNz
VG91Y2hFdmVudEZvckdlc3R1cmVzKHJlbGVhc2VFdmVudCwgZmFsc2UpKTsKICAgICBBU1NFUlRf
RVEoKHVuc2lnbmVkIGludCkxLCBnZXN0dXJlRW5kLT5zaXplKCkpOwogICAgIEFTU0VSVF9FUShQ
bGF0Zm9ybUdlc3R1cmVFdmVudDo6VGFwVHlwZSwgKCpnZXN0dXJlRW5kKVswXS50eXBlKCkpOwot
ICAgIEFTU0VSVF9FUShHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjpOb0dlc3R1cmUsIGdtLnN0
YXRlKCkpOworICAgIEFTU0VSVF9FUShHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjpGaXJzdENs
aWNrUmVjZWl2ZWQsIGdtLnN0YXRlKCkpOwogfQogCiBURVNUX0YoR2VzdHVyZVJlY29nbml6ZXJU
ZXN0LCBnZXN0dXJlU2Nyb2xsRXZlbnRzKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106622</attachid>
            <date>2011-09-07 12:57:41 -0700</date>
            <delta_ts>2011-09-08 11:56:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67709-20110907155532.patch</filename>
            <type>text/plain</type>
            <size>15786</size>
            <attacher name="Varun Jain">varunjain</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQ2NjYKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5n
ZUxvZwppbmRleCA2N2YyNjYwMzc5MDk5MjRiOWI2ZDViMzZlNDZiNjM4MWQ5ZmQ4Yzc0Li4xMTc0
ZjkzYmU4ZWE4NzM4YjM4Zjk3YzU2MmFiN2I4NGI4OGM1MmQwIDEwMDY0NAotLS0gYS9DaGFuZ2VM
b2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDktMDcgIFZhcnVuIEph
aW4gIDx2YXJ1bmphaW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgZG91YmxlIHRh
cCBkZXRlY3Rpb24gaW4gR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc3MDkKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqICBTb3VyY2UvV2ViQ29yZS9wYWdlL0V2
ZW50SGFuZGxlci5jcHA6CisgICAgICAgICogIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRm
b3JtR2VzdHVyZUV2ZW50Lmg6CisKIDIwMTEtMDktMDYgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgUkVHUkVTU0lPTihyOTQyNzQpOiBGb3JtTWFuYWdlclRlc3Qu
UHJldmlld0Zvcm0gYW5kIEZpbGxGb3JtTm9uRW1wdHlGaWVsZCBmYWlsIG9uIGNocm9taXVtCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKaW5kZXggMDc3NTM3NzZhYWUzNWUwN2Y0NzUz
MzNmOTAyMWE1MjM0NzQyNDE3ZC4uNGU0NjdlYTJjMTZiMjVlOTliN2IwZjA0NWRiMDdjZWJlZGJl
OGI2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcApAQCAtMjIyMSw2ICsyMjIx
LDggQEAgYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZUdlc3R1cmVFdmVudChjb25zdCBQbGF0Zm9y
bUdlc3R1cmVFdmVudCYgZ2VzdHVyZUV2ZW50KQogICAgICAgICBoYW5kbGVNb3VzZVJlbGVhc2VF
dmVudChmYWtlTW91c2VVcCk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KKyAgICBjYXNl
IFBsYXRmb3JtR2VzdHVyZUV2ZW50OjpEb3VibGVUYXBUeXBlOgorICAgICAgICBicmVhazsKICAg
ICBjYXNlIFBsYXRmb3JtR2VzdHVyZUV2ZW50OjpTY3JvbGxVcGRhdGVUeXBlOiB7CiAgICAgICAg
IGNvbnN0IGZsb2F0IHRpY2tEaXZpc29yID0gKGZsb2F0KVdoZWVsRXZlbnQ6OnRpY2tNdWx0aXBs
aWVyOwogICAgICAgICAvLyBGSVhNRTogUmVwbGFjZSB0aGlzIGludGVyaW0gaW1wbGVtZW50YXRp
b24gb25jZSB0aGUgYWJvdmUgZml4bWUgaGFzIGJlZW4gYWRkcmVzc2VkLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1HZXN0dXJlRXZlbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtR2VzdHVyZUV2ZW50LmgKaW5kZXggMzYxNzgxYmI1NWRl
YmI2NTRmNWMxNjIyZjg1MThlYWUyNjBmNjA2YS4uODMzYzZhMzdhZGQ3Yjk3YzkwNzI4OTdkMWY1
MDEwMTAyYWE3OWY5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZv
cm1HZXN0dXJlRXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUdl
c3R1cmVFdmVudC5oCkBAIC00MCw2ICs0MCw3IEBAIHB1YmxpYzoKICAgICAgICAgU2Nyb2xsVXBk
YXRlVHlwZSwKICAgICAgICAgVGFwVHlwZSwKICAgICAgICAgVGFwRG93blR5cGUsCisgICAgICAg
IERvdWJsZVRhcFR5cGUsCiAgICAgfTsKIAogICAgIFBsYXRmb3JtR2VzdHVyZUV2ZW50KCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0dlc3R1cmVSZWNvZ25p
emVyQ2hyb21pdW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vR2VzdHVy
ZVJlY29nbml6ZXJDaHJvbWl1bS5jcHAKaW5kZXggMDgzNDA4MDU2OTRhYWMxZjMyNGM1YzAyNmZk
NDY3ZTE2ZmQ4MGZhYy4uN2FiOWQ0YmM4ZTBhZTY4MGJjMDMyNjVjNzAyYjAyYjc5YjcyMjMwNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vR2VzdHVyZVJlY29n
bml6ZXJDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0v
R2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bS5jcHAKQEAgLTYyLDYgKzYyLDEyIEBAIEdlc3R1cmVS
ZWNvZ25pemVyQ2hyb21pdW06Okdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW0oKQogICAgIGFkZEVk
Z2VGdW5jdGlvbihTY3JvbGwsIEZpcnN0RmluZ2VyLCBNb3ZlZCwgZmFsc2UsICZHZXN0dXJlUmVj
b2duaXplckNocm9taXVtOjppblNjcm9sbCk7CiAgICAgYWRkRWRnZUZ1bmN0aW9uKFNjcm9sbCwg
Rmlyc3RGaW5nZXIsIFJlbGVhc2VkLCBmYWxzZSwgJkdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW06
OnNjcm9sbEVuZCk7CiAgICAgYWRkRWRnZUZ1bmN0aW9uKFNjcm9sbCwgRmlyc3RGaW5nZXIsIENh
bmNlbGxlZCwgZmFsc2UsICZHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjpzY3JvbGxFbmQpOwor
CisgICAgYWRkRWRnZUZ1bmN0aW9uKEZpcnN0Q2xpY2tSZWNlaXZlZCwgRmlyc3RGaW5nZXIsIFBy
ZXNzZWQsIGZhbHNlLCAmR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6dG91Y2hEb3duKTsKKyAg
ICBhZGRFZGdlRnVuY3Rpb24oUGVuZGluZ0RvdWJsZUNsaWNrLCBGaXJzdEZpbmdlciwgQ2FuY2Vs
bGVkLCBmYWxzZSwgJkdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW06Om5vR2VzdHVyZSk7CisgICAg
YWRkRWRnZUZ1bmN0aW9uKFBlbmRpbmdEb3VibGVDbGljaywgRmlyc3RGaW5nZXIsIFJlbGVhc2Vk
LCBmYWxzZSwgJkdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW06OmRvdWJsZUNsaWNrKTsKKyAgICBh
ZGRFZGdlRnVuY3Rpb24oUGVuZGluZ0RvdWJsZUNsaWNrLCBGaXJzdEZpbmdlciwgTW92ZWQsIGZh
bHNlLCAmR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6bWF5YmVEb3VibGVDbGljayk7CisgICAg
YWRkRWRnZUZ1bmN0aW9uKFBlbmRpbmdEb3VibGVDbGljaywgRmlyc3RGaW5nZXIsIFN0YXRpb25h
cnksIGZhbHNlLCAmR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6bWF5YmVEb3VibGVDbGljayk7
CiB9CiAKIHZvaWQgR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6cmVzZXQoKQpAQCAtODYsNiAr
OTIsMTIgQEAgYm9vbCBHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjppc0luQ2xpY2tUaW1lV2lu
ZG93KCkKICAgICByZXR1cm4gZHVyYXRpb24gPj0gbWluaW11bVRvdWNoRG93bkR1cmF0aW9uSW5T
ZWNvbmRzRm9yQ2xpY2sgJiYgZHVyYXRpb24gPCBtYXhpbXVtVG91Y2hEb3duRHVyYXRpb25JblNl
Y29uZHNGb3JDbGljazsKIH0KIAorYm9vbCBHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjppc0lu
U2Vjb25kQ2xpY2tUaW1lV2luZG93KCkKK3sKKyAgICBkb3VibGUgZHVyYXRpb24obV9sYXN0VG91
Y2hUaW1lIC0gbV9sYXN0Q2xpY2tUaW1lKTsKKyAgICByZXR1cm4gZHVyYXRpb24gPj0gbWluaW11
bVRvdWNoRG93bkR1cmF0aW9uSW5TZWNvbmRzRm9yQ2xpY2sgJiYgZHVyYXRpb24gPCBtYXhpbXVt
VG91Y2hEb3duRHVyYXRpb25JblNlY29uZHNGb3JDbGljazsKK30KKwogYm9vbCBHZXN0dXJlUmVj
b2duaXplckNocm9taXVtOjppc0luc2lkZU1hbmhhdHRhblNxdWFyZShjb25zdCBQbGF0Zm9ybVRv
dWNoUG9pbnQmIHBvaW50KQogewogICAgIGludCBtYW5oYXR0YW5EaXN0YW5jZSA9IGFicyhwb2lu
dC5wb3MoKS54KCkgLSBtX2ZpcnN0VG91Y2hQb3NpdGlvbi54KCkpICsgYWJzKHBvaW50LnBvcygp
LnkoKSAtIG1fZmlyc3RUb3VjaFBvc2l0aW9uLnkoKSk7CkBAIC0xMDIsNiArMTE0LDExIEBAIHZv
aWQgR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6YXBwZW5kQ2xpY2tHZXN0dXJlRXZlbnQoY29u
c3QgUGxhdGZvcm1Ub3VjaFBvaW50CiAgICAgZ2VzdHVyZXMtPmFwcGVuZChQbGF0Zm9ybUdlc3R1
cmVFdmVudChQbGF0Zm9ybUdlc3R1cmVFdmVudDo6VGFwVHlwZSwgbV9maXJzdFRvdWNoUG9zaXRp
b24sIG1fZmlyc3RUb3VjaFNjcmVlblBvc2l0aW9uLCBtX2xhc3RUb3VjaFRpbWUsIDAuZiwgMC5m
LCBtX3NoaWZ0S2V5LCBtX2N0cmxLZXksIG1fYWx0S2V5LCBtX21ldGFLZXkpKTsKIH0KIAordm9p
ZCBHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjphcHBlbmREb3VibGVDbGlja0dlc3R1cmVFdmVu
dChjb25zdCBQbGF0Zm9ybVRvdWNoUG9pbnQmIHRvdWNoUG9pbnQsIEdlc3R1cmVzIGdlc3R1cmVz
KQoreworICAgIGdlc3R1cmVzLT5hcHBlbmQoUGxhdGZvcm1HZXN0dXJlRXZlbnQoUGxhdGZvcm1H
ZXN0dXJlRXZlbnQ6OkRvdWJsZVRhcFR5cGUsIG1fZmlyc3RUb3VjaFBvc2l0aW9uLCBtX2ZpcnN0
VG91Y2hTY3JlZW5Qb3NpdGlvbiwgbV9sYXN0VG91Y2hUaW1lLCAwLmYsIDAuZiwgbV9zaGlmdEtl
eSwgbV9jdHJsS2V5LCBtX2FsdEtleSwgbV9tZXRhS2V5KSk7Cit9CisKIFBsYXRmb3JtR2VzdHVy
ZVJlY29nbml6ZXI6OlBhc3NHZXN0dXJlcyBHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjpwcm9j
ZXNzVG91Y2hFdmVudEZvckdlc3R1cmVzKGNvbnN0IFBsYXRmb3JtVG91Y2hFdmVudCYgZXZlbnQs
IGJvb2wgZGVmYXVsdFByZXZlbnRlZCkKIHsKICAgICBtX2N0cmxLZXkgPSBldmVudC5jdHJsS2V5
KCk7CkBAIC0xNDIsNiArMTU5LDEwIEBAIHZvaWQgR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6
YXBwZW5kU2Nyb2xsR2VzdHVyZVVwZGF0ZShjb25zdCBQbGF0Zm9ybVRvdWNoUG9pCiAKIHZvaWQg
R2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6dXBkYXRlVmFsdWVzKGNvbnN0IGRvdWJsZSB0b3Vj
aFRpbWUsIGNvbnN0IFBsYXRmb3JtVG91Y2hQb2ludCYgdG91Y2hQb2ludCkKIHsKKyAgICBpZiAo
c3RhdGUoKSA9PSBGaXJzdENsaWNrUmVjZWl2ZWQpIHsKKyAgICAgICAgbV9maXJzdFRvdWNoVGlt
ZSA9IHRvdWNoVGltZTsKKyAgICAgICAgbV9sYXN0Q2xpY2tUaW1lID0gbV9sYXN0VG91Y2hUaW1l
OworICAgIH0KICAgICBtX2xhc3RUb3VjaFRpbWUgPSB0b3VjaFRpbWU7CiAgICAgaWYgKHN0YXRl
KCkgPT0gTm9HZXN0dXJlKSB7CiAgICAgICAgIG1fZmlyc3RUb3VjaFRpbWUgPSB0b3VjaFRpbWU7
CkBAIC0xNjQsOCArMTg1LDEzIEBAIHVuc2lnbmVkIGludCBHZXN0dXJlUmVjb2duaXplckNocm9t
aXVtOjpzaWduYXR1cmUoU3RhdGUgZ2VzdHVyZVN0YXRlLCB1bnNpZ25lZCBpCiAKIGJvb2wgR2Vz
dHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6dG91Y2hEb3duKGNvbnN0IFBsYXRmb3JtVG91Y2hQb2lu
dCYgdG91Y2hQb2ludCwgR2VzdHVyZXMgZ2VzdHVyZXMpCiB7Ci0gICAgc2V0U3RhdGUoUGVuZGlu
Z1N5bnRoZXRpY0NsaWNrKTsKKyAgICBBU1NFUlQoc3RhdGUoKSA9PSBOb0dlc3R1cmUgfHwgc3Rh
dGUoKSA9PSBGaXJzdENsaWNrUmVjZWl2ZWQpOwogICAgIGFwcGVuZFRhcERvd25HZXN0dXJlRXZl
bnQodG91Y2hQb2ludCwgZ2VzdHVyZXMpOworICAgIGlmIChzdGF0ZSgpID09IEZpcnN0Q2xpY2tS
ZWNlaXZlZCAmJiBpc0luU2Vjb25kQ2xpY2tUaW1lV2luZG93KCkgJiYgaXNJbnNpZGVNYW5oYXR0
YW5TcXVhcmUodG91Y2hQb2ludCkpIHsKKyAgICAgICAgc2V0U3RhdGUoUGVuZGluZ0RvdWJsZUNs
aWNrKTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyAgICBzZXRTdGF0ZShQZW5kaW5n
U3ludGhldGljQ2xpY2spOwogICAgIHJldHVybiBmYWxzZTsKIH0KIApAQCAtMTc3LDYgKzIwMywy
NCBAQCBib29sIEdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW06OnNjcm9sbEVuZChjb25zdCBQbGF0
Zm9ybVRvdWNoUG9pbnQmIHBvaW50LCBHZXN0dQogICAgIHJldHVybiBmYWxzZTsKIH0KIAorYm9v
bCBHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjpkb3VibGVDbGljayhjb25zdCBQbGF0Zm9ybVRv
dWNoUG9pbnQmIHBvaW50LCBHZXN0dXJlcyBnZXN0dXJlcykKK3sKKyAgICBpZiAoaXNJbkNsaWNr
VGltZVdpbmRvdygpICYmIGlzSW5zaWRlTWFuaGF0dGFuU3F1YXJlKHBvaW50KSkgeworICAgICAg
ICBzZXRTdGF0ZShOb0dlc3R1cmUpOworICAgICAgICBhcHBlbmREb3VibGVDbGlja0dlc3R1cmVF
dmVudChwb2ludCwgZ2VzdHVyZXMpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAg
cmV0dXJuIG5vR2VzdHVyZShwb2ludCwgZ2VzdHVyZXMpOworfQorCitib29sIEdlc3R1cmVSZWNv
Z25pemVyQ2hyb21pdW06Om1heWJlRG91YmxlQ2xpY2soY29uc3QgUGxhdGZvcm1Ub3VjaFBvaW50
JiBwb2ludCwgR2VzdHVyZXMgZ2VzdHVyZXMpCit7CisgICAgQVNTRVJUKHN0YXRlKCkgPT0gR2Vz
dHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6UGVuZGluZ0RvdWJsZUNsaWNrKTsKKyAgICBpZiAocG9p
bnQuc3RhdGUoKSA9PSBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoTW92ZWQgJiYgIWlzSW5zaWRl
TWFuaGF0dGFuU3F1YXJlKHBvaW50KSkKKyAgICAgICAgcmV0dXJuIG5vR2VzdHVyZShwb2ludCwg
Z2VzdHVyZXMpOworICAgIHJldHVybiBmYWxzZTsKK30KKwogYm9vbCBHZXN0dXJlUmVjb2duaXpl
ckNocm9taXVtOjpub0dlc3R1cmUoY29uc3QgUGxhdGZvcm1Ub3VjaFBvaW50JiwgR2VzdHVyZXMp
CiB7CiAgICAgcmVzZXQoKTsKQEAgLTE4Niw3ICsyMzAsNyBAQCBib29sIEdlc3R1cmVSZWNvZ25p
emVyQ2hyb21pdW06Om5vR2VzdHVyZShjb25zdCBQbGF0Zm9ybVRvdWNoUG9pbnQmLCBHZXN0dXJl
cykKIGJvb2wgR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6Y2xpY2soY29uc3QgUGxhdGZvcm1U
b3VjaFBvaW50JiBwb2ludCwgR2VzdHVyZXMgZ2VzdHVyZXMpCiB7CiAgICAgaWYgKGlzSW5DbGlj
a1RpbWVXaW5kb3coKSAmJiBpc0luc2lkZU1hbmhhdHRhblNxdWFyZShwb2ludCkpIHsKLSAgICAg
ICAgc2V0U3RhdGUoTm9HZXN0dXJlKTsKKyAgICAgICAgc2V0U3RhdGUoRmlyc3RDbGlja1JlY2Vp
dmVkKTsKICAgICAgICAgYXBwZW5kQ2xpY2tHZXN0dXJlRXZlbnQocG9pbnQsIGdlc3R1cmVzKTsK
ICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vY2hyb21pdW0vR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bS5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bS5oCmluZGV4
IDEzOGQ4ZDY2OTdiYzgyZDNhOWJjMzNlMmYwNDkxNDFjMGJiMzVlMTMuLjRlZGRhM2JjMTkxOTMy
MGRhMGNkOGNiMWVhNzEzZjIwMzlkMjM1MWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2Nocm9taXVtL0dlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW0uaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9HZXN0dXJlUmVjb2duaXplckNocm9taXVtLmgKQEAg
LTQ4LDcgKzQ4LDkgQEAgcHVibGljOgogICAgIGVudW0gU3RhdGUgewogICAgICAgICBOb0dlc3R1
cmUsCiAgICAgICAgIFBlbmRpbmdTeW50aGV0aWNDbGljaywKLSAgICAgICAgU2Nyb2xsCisgICAg
ICAgIFNjcm9sbCwKKyAgICAgICAgRmlyc3RDbGlja1JlY2VpdmVkLAorICAgICAgICBQZW5kaW5n
RG91YmxlQ2xpY2ssCiAgICAgfTsKIAogICAgIHR5cGVkZWYgVmVjdG9yPFBsYXRmb3JtR2VzdHVy
ZUV2ZW50PiogR2VzdHVyZXM7CkBAIC02OCwxMCArNzAsMTIgQEAgcHJpdmF0ZToKICAgICB2b2lk
IGFkZEVkZ2VGdW5jdGlvbihTdGF0ZSwgdW5zaWduZWQgZmluZ2VyLCBQbGF0Zm9ybVRvdWNoUG9p
bnQ6OlN0YXRlLCBib29sIHRvdWNoSGFuZGxlZEJ5SmF2YVNjcmlwdCwgR2VzdHVyZVRyYW5zaXRp
b25GdW5jdGlvbik7CiAgICAgdm9pZCBhcHBlbmRUYXBEb3duR2VzdHVyZUV2ZW50KGNvbnN0IFBs
YXRmb3JtVG91Y2hQb2ludCYsIEdlc3R1cmVzKTsKICAgICB2b2lkIGFwcGVuZENsaWNrR2VzdHVy
ZUV2ZW50KGNvbnN0IFBsYXRmb3JtVG91Y2hQb2ludCYsIEdlc3R1cmVzKTsKKyAgICB2b2lkIGFw
cGVuZERvdWJsZUNsaWNrR2VzdHVyZUV2ZW50KGNvbnN0IFBsYXRmb3JtVG91Y2hQb2ludCYsIEdl
c3R1cmVzKTsKICAgICB2b2lkIGFwcGVuZFNjcm9sbEdlc3R1cmVCZWdpbihjb25zdCBQbGF0Zm9y
bVRvdWNoUG9pbnQmLCBHZXN0dXJlcyk7CiAgICAgdm9pZCBhcHBlbmRTY3JvbGxHZXN0dXJlRW5k
KGNvbnN0IFBsYXRmb3JtVG91Y2hQb2ludCYsIEdlc3R1cmVzKTsKICAgICB2b2lkIGFwcGVuZFNj
cm9sbEdlc3R1cmVVcGRhdGUoY29uc3QgUGxhdGZvcm1Ub3VjaFBvaW50JiwgR2VzdHVyZXMpOwog
ICAgIGJvb2wgaXNJbkNsaWNrVGltZVdpbmRvdygpOworICAgIGJvb2wgaXNJblNlY29uZENsaWNr
VGltZVdpbmRvdygpOwogICAgIGJvb2wgaXNJbnNpZGVNYW5oYXR0YW5TcXVhcmUoY29uc3QgUGxh
dGZvcm1Ub3VjaFBvaW50Jik7CiAgICAgdm9pZCBzZXRTdGF0ZShTdGF0ZSB2YWx1ZSkgeyBtX3N0
YXRlID0gdmFsdWU7IH0KICAgICB2b2lkIHVwZGF0ZVZhbHVlcyhkb3VibGUgdG91Y2hUaW1lLCBj
b25zdCBQbGF0Zm9ybVRvdWNoUG9pbnQmKTsKQEAgLTgzLDEyICs4NywxNiBAQCBwcml2YXRlOgog
ICAgIGJvb2wgdG91Y2hEb3duKGNvbnN0IFBsYXRmb3JtVG91Y2hQb2ludCYsIEdlc3R1cmVzKTsK
ICAgICBib29sIHNjcm9sbEVuZChjb25zdCBQbGF0Zm9ybVRvdWNoUG9pbnQmLCBHZXN0dXJlcyk7
CiAKKyAgICBib29sIGRvdWJsZUNsaWNrKGNvbnN0IFBsYXRmb3JtVG91Y2hQb2ludCYsIEdlc3R1
cmVzKTsKKyAgICBib29sIG1heWJlRG91YmxlQ2xpY2soY29uc3QgUGxhdGZvcm1Ub3VjaFBvaW50
JiwgR2VzdHVyZXMpOworCiAgICAgV1RGOjpIYXNoTWFwPGludCwgR2VzdHVyZVRyYW5zaXRpb25G
dW5jdGlvbj4gbV9lZGdlRnVuY3Rpb25zOwogICAgIEludFBvaW50IG1fZmlyc3RUb3VjaFBvc2l0
aW9uOwogICAgIEludFBvaW50IG1fZmlyc3RUb3VjaFNjcmVlblBvc2l0aW9uOwogICAgIGRvdWJs
ZSBtX2ZpcnN0VG91Y2hUaW1lOwogICAgIFN0YXRlIG1fc3RhdGU7CiAgICAgZG91YmxlIG1fbGFz
dFRvdWNoVGltZTsKKyAgICBkb3VibGUgbV9sYXN0Q2xpY2tUaW1lOwogCiAgICAgYm9vbCBtX2N0
cmxLZXk7CiAgICAgYm9vbCBtX2FsdEtleTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2Nocm9taXVtL1BvcHVwQ29udGFpbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2Nocm9taXVtL1BvcHVwQ29udGFpbmVyLmNwcAppbmRleCBlMDJmMWQ4YjlkMmYzNTk5NjEx
NmM0MTQyYmZmMzY5Y2JhNTcyYjExLi43M2RlZWQzZDkwZDZjYWE5YWUzNDg5MWEzMDA2MDY4YTA4
YTExYmY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1
cENvbnRhaW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUG9w
dXBDb250YWluZXIuY3BwCkBAIC0zMDYsNiArMzA2LDggQEAgYm9vbCBQb3B1cENvbnRhaW5lcjo6
aGFuZGxlR2VzdHVyZUV2ZW50KGNvbnN0IFBsYXRmb3JtR2VzdHVyZUV2ZW50JiBnZXN0dXJlRXZl
bnQKICAgICAgICAgaGFuZGxlTW91c2VSZWxlYXNlRXZlbnQoZmFrZU1vdXNlVXApOwogICAgICAg
ICByZXR1cm4gdHJ1ZTsKICAgICB9CisgICAgY2FzZSBQbGF0Zm9ybUdlc3R1cmVFdmVudDo6RG91
YmxlVGFwVHlwZToKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQbGF0Zm9ybUdlc3R1cmVFdmVu
dDo6U2Nyb2xsVXBkYXRlVHlwZTogewogICAgICAgICBQbGF0Zm9ybVdoZWVsRXZlbnQgc3ludGhl
dGljV2hlZWxFdmVudChnZXN0dXJlRXZlbnQucG9zaXRpb24oKSwgZ2VzdHVyZUV2ZW50Lmdsb2Jh
bFBvc2l0aW9uKCksIGdlc3R1cmVFdmVudC5kZWx0YVgoKSwgZ2VzdHVyZUV2ZW50LmRlbHRhWSgp
LCBnZXN0dXJlRXZlbnQuZGVsdGFYKCkgLyAxMjAuMGYsIGdlc3R1cmVFdmVudC5kZWx0YVkoKSAv
IDEyMC4wZiwgU2Nyb2xsQnlQaXhlbFdoZWVsRXZlbnQsIC8qIGlzQWNjZXB0ZWQgKi8gZmFsc2Us
IGdlc3R1cmVFdmVudC5zaGlmdEtleSgpLCBnZXN0dXJlRXZlbnQuY3RybEtleSgpLCBnZXN0dXJl
RXZlbnQuYWx0S2V5KCksIGdlc3R1cmVFdmVudC5tZXRhS2V5KCkpOwogICAgICAgICBoYW5kbGVX
aGVlbEV2ZW50KHN5bnRoZXRpY1doZWVsRXZlbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS90ZXN0cy9Jbm5lckdlc3R1cmVSZWNvZ25pemVyVGVzdC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3Rlc3RzL0lubmVyR2VzdHVyZVJlY29nbml6ZXJUZXN0LmNwcAppbmRl
eCA5YjAzNmM2ZmE2ODU5NWJkOWM5NTA1MjA4NzQ3NDdlYWM3ZmFmNGJhLi5iYmYzNDQxMWI5ZTRl
YjQ1M2RjYjc0ZGNlNDRiOTE4MjZiMTRkYTA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3Rlc3RzL0lubmVyR2VzdHVyZVJlY29nbml6ZXJUZXN0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3Rlc3RzL0lubmVyR2VzdHVyZVJlY29nbml6ZXJUZXN0LmNwcApAQCAt
MzYsNyArMzYsNiBAQAogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotCiBjbGFzcyBJbnNw
ZWN0YWJsZUdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW0gOiBwdWJsaWMgV2ViQ29yZTo6R2VzdHVy
ZVJlY29nbml6ZXJDaHJvbWl1bSB7CiBwdWJsaWM6CiAgICAgSW5zcGVjdGFibGVHZXN0dXJlUmVj
b2duaXplckNocm9taXVtKCkKQEAgLTE1Nyw2ICsxNTYsMjUgQEAgcHJvdGVjdGVkOgogICAgIHZp
cnR1YWwgdm9pZCBUZWFyRG93bigpIHsgfQogfTsKIAordm9pZCBTaW11bGF0ZUFuZFRlc3RGaXJz
dENsaWNrKEluc3BlY3RhYmxlR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bSYgZ20pCit7CisgICAg
QVNTRVJUX0VRKEdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW06Ok5vR2VzdHVyZSwgZ20uc3RhdGUo
KSk7CisKKyAgICBCdWlsZGFibGVQbGF0Zm9ybVRvdWNoUG9pbnQgcHJlc3MoMTAsIDE1LCBQbGF0
Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoUHJlc3NlZCk7CisgICAgQnVpbGRhYmxlUGxhdGZvcm1Ub3Vj
aEV2ZW50IHByZXNzRXZlbnQoV2ViQ29yZTo6VG91Y2hTdGFydCwgcHJlc3MpOworICAgIE93blB0
cjxWZWN0b3I8V2ViQ29yZTo6UGxhdGZvcm1HZXN0dXJlRXZlbnQ+ID4gZ2VzdHVyZVN0YXJ0KGdt
LnByb2Nlc3NUb3VjaEV2ZW50Rm9yR2VzdHVyZXMocHJlc3NFdmVudCwgZmFsc2UpKTsKKyAgICBB
U1NFUlRfRVEoKHVuc2lnbmVkIGludCkxLCBnZXN0dXJlU3RhcnQtPnNpemUoKSk7CisgICAgQVNT
RVJUX0VRKFBsYXRmb3JtR2VzdHVyZUV2ZW50OjpUYXBEb3duVHlwZSwgKCpnZXN0dXJlU3RhcnQp
WzBdLnR5cGUoKSk7CisgICAgQVNTRVJUX0VRKEdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW06OlBl
bmRpbmdTeW50aGV0aWNDbGljaywgZ20uc3RhdGUoKSk7CisKKyAgICBCdWlsZGFibGVQbGF0Zm9y
bVRvdWNoUG9pbnQgcmVsZWFzZSgxMCwgMTYsIFBsYXRmb3JtVG91Y2hQb2ludDo6VG91Y2hSZWxl
YXNlZCk7CisgICAgQnVpbGRhYmxlUGxhdGZvcm1Ub3VjaEV2ZW50IHJlbGVhc2VFdmVudChXZWJD
b3JlOjpUb3VjaEVuZCwgcmVsZWFzZSk7CisgICAgZ20uc2V0Rmlyc3RUb3VjaFRpbWUoZ20uZmly
c3RUb3VjaFRpbWUoKSAtIDAuMDEpOworICAgIE93blB0cjxWZWN0b3I8V2ViQ29yZTo6UGxhdGZv
cm1HZXN0dXJlRXZlbnQ+ID4gZ2VzdHVyZUVuZChnbS5wcm9jZXNzVG91Y2hFdmVudEZvckdlc3R1
cmVzKHJlbGVhc2VFdmVudCwgZmFsc2UpKTsKKyAgICBBU1NFUlRfRVEoKHVuc2lnbmVkIGludCkx
LCBnZXN0dXJlRW5kLT5zaXplKCkpOworICAgIEFTU0VSVF9FUShQbGF0Zm9ybUdlc3R1cmVFdmVu
dDo6VGFwVHlwZSwgKCpnZXN0dXJlRW5kKVswXS50eXBlKCkpOworfQorCiB0eXBlZGVmIE93blB0
cjxWZWN0b3I8V2ViQ29yZTo6UGxhdGZvcm1HZXN0dXJlRXZlbnQ+ID4gR2VzdHVyZXM7CiAKIFRF
U1RfRihHZXN0dXJlUmVjb2duaXplclRlc3QsIGhhc2gpCkBAIC0yODQsNiArMzAyLDYzIEBAIFRF
U1RfRihHZXN0dXJlUmVjb2duaXplclRlc3QsIHVwZGF0ZVZhbHVlcykKICAgICBBU1NFUlRfRVEo
MC4wLCBnbS5sYXN0VG91Y2hUaW1lKCkgLSBnbS5maXJzdFRvdWNoVGltZSgpKTsKIH0KIAorVEVT
VF9GKEdlc3R1cmVSZWNvZ25pemVyVGVzdCwgZG91YmxlVGFwR2VzdHVyZVRlc3QpCit7CisgICAg
SW5zcGVjdGFibGVHZXN0dXJlUmVjb2duaXplckNocm9taXVtIGdtOworICAgIFNpbXVsYXRlQW5k
VGVzdEZpcnN0Q2xpY2soZ20pOworICAgIEFTU0VSVF9FUShHZXN0dXJlUmVjb2duaXplckNocm9t
aXVtOjpGaXJzdENsaWNrUmVjZWl2ZWQsIGdtLnN0YXRlKCkpOworCisgICAgQnVpbGRhYmxlUGxh
dGZvcm1Ub3VjaFBvaW50IHByZXNzKDEwLCAxNSwgUGxhdGZvcm1Ub3VjaFBvaW50OjpUb3VjaFBy
ZXNzZWQpOworICAgIEJ1aWxkYWJsZVBsYXRmb3JtVG91Y2hFdmVudCBwcmVzc0V2ZW50KFdlYkNv
cmU6OlRvdWNoU3RhcnQsIHByZXNzKTsKKyAgICBnbS5zZXRMYXN0VG91Y2hUaW1lKGdtLmxhc3RU
b3VjaFRpbWUoKSAtIDAuMDEpOworICAgIEdlc3R1cmVzIGdlc3R1cmVTdGFydChnbS5wcm9jZXNz
VG91Y2hFdmVudEZvckdlc3R1cmVzKHByZXNzRXZlbnQsIGZhbHNlKSk7CisgICAgQVNTRVJUX0VR
KCh1bnNpZ25lZCBpbnQpMSwgZ2VzdHVyZVN0YXJ0LT5zaXplKCkpOworICAgIEFTU0VSVF9FUShQ
bGF0Zm9ybUdlc3R1cmVFdmVudDo6VGFwRG93blR5cGUsICgqZ2VzdHVyZVN0YXJ0KVswXS50eXBl
KCkpOworICAgIEFTU0VSVF9FUShHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjpQZW5kaW5nRG91
YmxlQ2xpY2ssIGdtLnN0YXRlKCkpOworCisgICAgQnVpbGRhYmxlUGxhdGZvcm1Ub3VjaFBvaW50
IG1vdmUoMTAsIDE2LCBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoTW92ZWQpOworICAgIEJ1aWxk
YWJsZVBsYXRmb3JtVG91Y2hFdmVudCBtb3ZlRXZlbnQoV2ViQ29yZTo6VG91Y2hNb3ZlLCBtb3Zl
KTsKKyAgICBHZXN0dXJlcyBnZXN0dXJlTW92ZShnbS5wcm9jZXNzVG91Y2hFdmVudEZvckdlc3R1
cmVzKG1vdmVFdmVudCwgZmFsc2UpKTsKKyAgICBBU1NFUlRfRVEoKHVuc2lnbmVkIGludCkwLCBn
ZXN0dXJlTW92ZS0+c2l6ZSgpKTsKKyAgICBBU1NFUlRfRVEoR2VzdHVyZVJlY29nbml6ZXJDaHJv
bWl1bTo6UGVuZGluZ0RvdWJsZUNsaWNrLCBnbS5zdGF0ZSgpKTsKKworICAgIEJ1aWxkYWJsZVBs
YXRmb3JtVG91Y2hQb2ludCByZWxlYXNlKDEwLCAxNiwgUGxhdGZvcm1Ub3VjaFBvaW50OjpUb3Vj
aFJlbGVhc2VkKTsKKyAgICBCdWlsZGFibGVQbGF0Zm9ybVRvdWNoRXZlbnQgcmVsZWFzZUV2ZW50
KFdlYkNvcmU6OlRvdWNoRW5kLCByZWxlYXNlKTsKKyAgICBnbS5zZXRGaXJzdFRvdWNoVGltZShn
bS5maXJzdFRvdWNoVGltZSgpIC0gMC4wMSk7CisgICAgR2VzdHVyZXMgZ2VzdHVyZUVuZChnbS5w
cm9jZXNzVG91Y2hFdmVudEZvckdlc3R1cmVzKHJlbGVhc2VFdmVudCwgZmFsc2UpKTsKKyAgICBB
U1NFUlRfRVEoKHVuc2lnbmVkIGludCkxLCBnZXN0dXJlRW5kLT5zaXplKCkpOworICAgIEFTU0VS
VF9FUShQbGF0Zm9ybUdlc3R1cmVFdmVudDo6RG91YmxlVGFwVHlwZSwgKCpnZXN0dXJlRW5kKVsw
XS50eXBlKCkpOworICAgIEFTU0VSVF9FUShHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjpOb0dl
c3R1cmUsIGdtLnN0YXRlKCkpOworfQorCitURVNUX0YoR2VzdHVyZVJlY29nbml6ZXJUZXN0LCBk
b3VibGVUYXBHZXN0dXJlSW5jb21wbGV0ZVRlc3QpCit7CisgICAgSW5zcGVjdGFibGVHZXN0dXJl
UmVjb2duaXplckNocm9taXVtIGdtOworICAgIFNpbXVsYXRlQW5kVGVzdEZpcnN0Q2xpY2soZ20p
OworICAgIEFTU0VSVF9FUShHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjpGaXJzdENsaWNrUmVj
ZWl2ZWQsIGdtLnN0YXRlKCkpOworCisgICAgQnVpbGRhYmxlUGxhdGZvcm1Ub3VjaFBvaW50IHBy
ZXNzKDEwLCAxNSwgUGxhdGZvcm1Ub3VjaFBvaW50OjpUb3VjaFByZXNzZWQpOworICAgIEJ1aWxk
YWJsZVBsYXRmb3JtVG91Y2hFdmVudCBwcmVzc0V2ZW50KFdlYkNvcmU6OlRvdWNoU3RhcnQsIHBy
ZXNzKTsKKyAgICBnbS5zZXRMYXN0VG91Y2hUaW1lKGdtLmxhc3RUb3VjaFRpbWUoKSAtIDAuMDEp
OworICAgIEdlc3R1cmVzIGdlc3R1cmVTdGFydChnbS5wcm9jZXNzVG91Y2hFdmVudEZvckdlc3R1
cmVzKHByZXNzRXZlbnQsIGZhbHNlKSk7CisgICAgQVNTRVJUX0VRKCh1bnNpZ25lZCBpbnQpMSwg
Z2VzdHVyZVN0YXJ0LT5zaXplKCkpOworICAgIEFTU0VSVF9FUShQbGF0Zm9ybUdlc3R1cmVFdmVu
dDo6VGFwRG93blR5cGUsICgqZ2VzdHVyZVN0YXJ0KVswXS50eXBlKCkpOworICAgIEFTU0VSVF9F
UShHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjpQZW5kaW5nRG91YmxlQ2xpY2ssIGdtLnN0YXRl
KCkpOworCisgICAgQnVpbGRhYmxlUGxhdGZvcm1Ub3VjaFBvaW50IG1vdmUoMTAsIDUwLCBQbGF0
Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoTW92ZWQpOworICAgIEJ1aWxkYWJsZVBsYXRmb3JtVG91Y2hF
dmVudCBtb3ZlRXZlbnQoV2ViQ29yZTo6VG91Y2hNb3ZlLCBtb3ZlKTsKKyAgICBHZXN0dXJlcyBn
ZXN0dXJlTW92ZShnbS5wcm9jZXNzVG91Y2hFdmVudEZvckdlc3R1cmVzKG1vdmVFdmVudCwgZmFs
c2UpKTsKKyAgICBBU1NFUlRfRVEoKHVuc2lnbmVkIGludCkwLCBnZXN0dXJlTW92ZS0+c2l6ZSgp
KTsKKyAgICBBU1NFUlRfRVEoR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6Tm9HZXN0dXJlLCBn
bS5zdGF0ZSgpKTsKKworICAgIEJ1aWxkYWJsZVBsYXRmb3JtVG91Y2hQb2ludCByZWxlYXNlKDEw
LCA1MCwgUGxhdGZvcm1Ub3VjaFBvaW50OjpUb3VjaFJlbGVhc2VkKTsKKyAgICBCdWlsZGFibGVQ
bGF0Zm9ybVRvdWNoRXZlbnQgcmVsZWFzZUV2ZW50KFdlYkNvcmU6OlRvdWNoRW5kLCByZWxlYXNl
KTsKKyAgICBnbS5zZXRGaXJzdFRvdWNoVGltZShnbS5maXJzdFRvdWNoVGltZSgpIC0gMC4wMSk7
CisgICAgR2VzdHVyZXMgZ2VzdHVyZUVuZChnbS5wcm9jZXNzVG91Y2hFdmVudEZvckdlc3R1cmVz
KHJlbGVhc2VFdmVudCwgZmFsc2UpKTsKKyAgICBBU1NFUlRfRVEoKHVuc2lnbmVkIGludCkwLCBn
ZXN0dXJlRW5kLT5zaXplKCkpOworICAgIEFTU0VSVF9FUShHZXN0dXJlUmVjb2duaXplckNocm9t
aXVtOjpOb0dlc3R1cmUsIGdtLnN0YXRlKCkpOworfQorCiBURVNUX0YoR2VzdHVyZVJlY29nbml6
ZXJUZXN0LCB0YXBEb3duV2l0aG91dFRhcEdlc3R1cmVUZXN0KQogewogICAgIEluc3BlY3RhYmxl
R2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bSBnbTsKQEAgLTMzOCw3ICs0MTMsNyBAQCBURVNUX0Yo
R2VzdHVyZVJlY29nbml6ZXJUZXN0LCB0YXBEb3duV2l0aFRhcEdlc3R1cmVUZXN0KQogICAgIEdl
c3R1cmVzIGdlc3R1cmVFbmQoZ20ucHJvY2Vzc1RvdWNoRXZlbnRGb3JHZXN0dXJlcyhyZWxlYXNl
RXZlbnQsIGZhbHNlKSk7CiAgICAgQVNTRVJUX0VRKCh1bnNpZ25lZCBpbnQpMSwgZ2VzdHVyZUVu
ZC0+c2l6ZSgpKTsKICAgICBBU1NFUlRfRVEoUGxhdGZvcm1HZXN0dXJlRXZlbnQ6OlRhcFR5cGUs
ICgqZ2VzdHVyZUVuZClbMF0udHlwZSgpKTsKLSAgICBBU1NFUlRfRVEoR2VzdHVyZVJlY29nbml6
ZXJDaHJvbWl1bTo6Tm9HZXN0dXJlLCBnbS5zdGF0ZSgpKTsKKyAgICBBU1NFUlRfRVEoR2VzdHVy
ZVJlY29nbml6ZXJDaHJvbWl1bTo6Rmlyc3RDbGlja1JlY2VpdmVkLCBnbS5zdGF0ZSgpKTsKIH0K
IAogVEVTVF9GKEdlc3R1cmVSZWNvZ25pemVyVGVzdCwgZ2VzdHVyZVNjcm9sbEV2ZW50cykK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106771</attachid>
            <date>2011-09-08 11:57:05 -0700</date>
            <delta_ts>2011-09-08 14:10:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67709-20110908145448.patch</filename>
            <type>text/plain</type>
            <size>15939</size>
            <attacher name="Varun Jain">varunjain</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQ3NzUKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5n
ZUxvZwppbmRleCAwZTMxNWZhNTU3YWQ1OWQ3OGQyYTAxZTY5MzBkMzk2ZmJmOTBmYWFlLi5jMTAz
ZWY2NjYyZGJiNzQwZTVlYTg3NDdkYWM2NGU4Y2E2ZWRjZTIwIDEwMDY0NAotLS0gYS9DaGFuZ2VM
b2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTUgQEAKIDIwMTEtMDktMDggIFZhcnVuIEph
aW4gIDx2YXJ1bmphaW5AZ29vZ2xlLmNvbT4KIAorICAgICAgICBJbXBsZW1lbnQgZG91YmxlIHRh
cCBkZXRlY3Rpb24gaW4gR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc3MDkKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqICBTb3VyY2UvV2ViQ29yZS9wYWdlL0V2
ZW50SGFuZGxlci5jcHA6CisgICAgICAgICogIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRm
b3JtR2VzdHVyZUV2ZW50Lmg6CisKKzIwMTEtMDktMDggIFZhcnVuIEphaW4gIDx2YXJ1bmphaW5A
Z29vZ2xlLmNvbT4KKwogICAgICAgICBTcGxpdCBUYXAgZ2VzdHVyZSBkZXRlY3Rpb24gaW50byBU
YXBEb3duIGFuZCBUYXAuCiAgICAgICAgIFdlIG5lZWQgdGhpcyBkaXN0aW5jdGlvbiB0byBoaWdo
bGlnaHQgbGlua3Mgd2hlbiB0aGV5IGFyZSBmaXJzdCB0b3VjaGVkLiBUaGUgbGluayBpcwogICAg
ICAgICBmb2xsb3dlZCBvbmx5IGlmIHRoZSB0YXAgaXMgY29tcGxldGVkLCBvdGhlcndpc2UsIGlm
IGEgc2Nyb2xsIGlzIGRldGVjdGVkLCB0aGUgaGlnaGxpZ2h0CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50
SGFuZGxlci5jcHAKaW5kZXggMDc3NTM3NzZhYWUzNWUwN2Y0NzUzMzNmOTAyMWE1MjM0NzQyNDE3
ZC4uNGU0NjdlYTJjMTZiMjVlOTliN2IwZjA0NWRiMDdjZWJlZGJlOGI2YyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRXZlbnRIYW5kbGVyLmNwcApAQCAtMjIyMSw2ICsyMjIxLDggQEAgYm9vbCBFdmVudEhh
bmRsZXI6OmhhbmRsZUdlc3R1cmVFdmVudChjb25zdCBQbGF0Zm9ybUdlc3R1cmVFdmVudCYgZ2Vz
dHVyZUV2ZW50KQogICAgICAgICBoYW5kbGVNb3VzZVJlbGVhc2VFdmVudChmYWtlTW91c2VVcCk7
CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KKyAgICBjYXNlIFBsYXRmb3JtR2VzdHVyZUV2
ZW50OjpEb3VibGVUYXBUeXBlOgorICAgICAgICBicmVhazsKICAgICBjYXNlIFBsYXRmb3JtR2Vz
dHVyZUV2ZW50OjpTY3JvbGxVcGRhdGVUeXBlOiB7CiAgICAgICAgIGNvbnN0IGZsb2F0IHRpY2tE
aXZpc29yID0gKGZsb2F0KVdoZWVsRXZlbnQ6OnRpY2tNdWx0aXBsaWVyOwogICAgICAgICAvLyBG
SVhNRTogUmVwbGFjZSB0aGlzIGludGVyaW0gaW1wbGVtZW50YXRpb24gb25jZSB0aGUgYWJvdmUg
Zml4bWUgaGFzIGJlZW4gYWRkcmVzc2VkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vUGxhdGZvcm1HZXN0dXJlRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bs
YXRmb3JtR2VzdHVyZUV2ZW50LmgKaW5kZXggMzYxNzgxYmI1NWRlYmI2NTRmNWMxNjIyZjg1MThl
YWUyNjBmNjA2YS4uODMzYzZhMzdhZGQ3Yjk3YzkwNzI4OTdkMWY1MDEwMTAyYWE3OWY5MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1HZXN0dXJlRXZlbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUdlc3R1cmVFdmVudC5oCkBAIC00
MCw2ICs0MCw3IEBAIHB1YmxpYzoKICAgICAgICAgU2Nyb2xsVXBkYXRlVHlwZSwKICAgICAgICAg
VGFwVHlwZSwKICAgICAgICAgVGFwRG93blR5cGUsCisgICAgICAgIERvdWJsZVRhcFR5cGUsCiAg
ICAgfTsKIAogICAgIFBsYXRmb3JtR2VzdHVyZUV2ZW50KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0dlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW0uY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1
bS5jcHAKaW5kZXggMDgzNDA4MDU2OTRhYWMxZjMyNGM1YzAyNmZkNDY3ZTE2ZmQ4MGZhYy4uN2Fi
OWQ0YmM4ZTBhZTY4MGJjMDMyNjVjNzAyYjAyYjc5YjcyMjMwNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vR2VzdHVyZVJlY29nbml6ZXJD
aHJvbWl1bS5jcHAKQEAgLTYyLDYgKzYyLDEyIEBAIEdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW06
Okdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW0oKQogICAgIGFkZEVkZ2VGdW5jdGlvbihTY3JvbGws
IEZpcnN0RmluZ2VyLCBNb3ZlZCwgZmFsc2UsICZHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjpp
blNjcm9sbCk7CiAgICAgYWRkRWRnZUZ1bmN0aW9uKFNjcm9sbCwgRmlyc3RGaW5nZXIsIFJlbGVh
c2VkLCBmYWxzZSwgJkdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW06OnNjcm9sbEVuZCk7CiAgICAg
YWRkRWRnZUZ1bmN0aW9uKFNjcm9sbCwgRmlyc3RGaW5nZXIsIENhbmNlbGxlZCwgZmFsc2UsICZH
ZXN0dXJlUmVjb2duaXplckNocm9taXVtOjpzY3JvbGxFbmQpOworCisgICAgYWRkRWRnZUZ1bmN0
aW9uKEZpcnN0Q2xpY2tSZWNlaXZlZCwgRmlyc3RGaW5nZXIsIFByZXNzZWQsIGZhbHNlLCAmR2Vz
dHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6dG91Y2hEb3duKTsKKyAgICBhZGRFZGdlRnVuY3Rpb24o
UGVuZGluZ0RvdWJsZUNsaWNrLCBGaXJzdEZpbmdlciwgQ2FuY2VsbGVkLCBmYWxzZSwgJkdlc3R1
cmVSZWNvZ25pemVyQ2hyb21pdW06Om5vR2VzdHVyZSk7CisgICAgYWRkRWRnZUZ1bmN0aW9uKFBl
bmRpbmdEb3VibGVDbGljaywgRmlyc3RGaW5nZXIsIFJlbGVhc2VkLCBmYWxzZSwgJkdlc3R1cmVS
ZWNvZ25pemVyQ2hyb21pdW06OmRvdWJsZUNsaWNrKTsKKyAgICBhZGRFZGdlRnVuY3Rpb24oUGVu
ZGluZ0RvdWJsZUNsaWNrLCBGaXJzdEZpbmdlciwgTW92ZWQsIGZhbHNlLCAmR2VzdHVyZVJlY29n
bml6ZXJDaHJvbWl1bTo6bWF5YmVEb3VibGVDbGljayk7CisgICAgYWRkRWRnZUZ1bmN0aW9uKFBl
bmRpbmdEb3VibGVDbGljaywgRmlyc3RGaW5nZXIsIFN0YXRpb25hcnksIGZhbHNlLCAmR2VzdHVy
ZVJlY29nbml6ZXJDaHJvbWl1bTo6bWF5YmVEb3VibGVDbGljayk7CiB9CiAKIHZvaWQgR2VzdHVy
ZVJlY29nbml6ZXJDaHJvbWl1bTo6cmVzZXQoKQpAQCAtODYsNiArOTIsMTIgQEAgYm9vbCBHZXN0
dXJlUmVjb2duaXplckNocm9taXVtOjppc0luQ2xpY2tUaW1lV2luZG93KCkKICAgICByZXR1cm4g
ZHVyYXRpb24gPj0gbWluaW11bVRvdWNoRG93bkR1cmF0aW9uSW5TZWNvbmRzRm9yQ2xpY2sgJiYg
ZHVyYXRpb24gPCBtYXhpbXVtVG91Y2hEb3duRHVyYXRpb25JblNlY29uZHNGb3JDbGljazsKIH0K
IAorYm9vbCBHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjppc0luU2Vjb25kQ2xpY2tUaW1lV2lu
ZG93KCkKK3sKKyAgICBkb3VibGUgZHVyYXRpb24obV9sYXN0VG91Y2hUaW1lIC0gbV9sYXN0Q2xp
Y2tUaW1lKTsKKyAgICByZXR1cm4gZHVyYXRpb24gPj0gbWluaW11bVRvdWNoRG93bkR1cmF0aW9u
SW5TZWNvbmRzRm9yQ2xpY2sgJiYgZHVyYXRpb24gPCBtYXhpbXVtVG91Y2hEb3duRHVyYXRpb25J
blNlY29uZHNGb3JDbGljazsKK30KKwogYm9vbCBHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjpp
c0luc2lkZU1hbmhhdHRhblNxdWFyZShjb25zdCBQbGF0Zm9ybVRvdWNoUG9pbnQmIHBvaW50KQog
ewogICAgIGludCBtYW5oYXR0YW5EaXN0YW5jZSA9IGFicyhwb2ludC5wb3MoKS54KCkgLSBtX2Zp
cnN0VG91Y2hQb3NpdGlvbi54KCkpICsgYWJzKHBvaW50LnBvcygpLnkoKSAtIG1fZmlyc3RUb3Vj
aFBvc2l0aW9uLnkoKSk7CkBAIC0xMDIsNiArMTE0LDExIEBAIHZvaWQgR2VzdHVyZVJlY29nbml6
ZXJDaHJvbWl1bTo6YXBwZW5kQ2xpY2tHZXN0dXJlRXZlbnQoY29uc3QgUGxhdGZvcm1Ub3VjaFBv
aW50CiAgICAgZ2VzdHVyZXMtPmFwcGVuZChQbGF0Zm9ybUdlc3R1cmVFdmVudChQbGF0Zm9ybUdl
c3R1cmVFdmVudDo6VGFwVHlwZSwgbV9maXJzdFRvdWNoUG9zaXRpb24sIG1fZmlyc3RUb3VjaFNj
cmVlblBvc2l0aW9uLCBtX2xhc3RUb3VjaFRpbWUsIDAuZiwgMC5mLCBtX3NoaWZ0S2V5LCBtX2N0
cmxLZXksIG1fYWx0S2V5LCBtX21ldGFLZXkpKTsKIH0KIAordm9pZCBHZXN0dXJlUmVjb2duaXpl
ckNocm9taXVtOjphcHBlbmREb3VibGVDbGlja0dlc3R1cmVFdmVudChjb25zdCBQbGF0Zm9ybVRv
dWNoUG9pbnQmIHRvdWNoUG9pbnQsIEdlc3R1cmVzIGdlc3R1cmVzKQoreworICAgIGdlc3R1cmVz
LT5hcHBlbmQoUGxhdGZvcm1HZXN0dXJlRXZlbnQoUGxhdGZvcm1HZXN0dXJlRXZlbnQ6OkRvdWJs
ZVRhcFR5cGUsIG1fZmlyc3RUb3VjaFBvc2l0aW9uLCBtX2ZpcnN0VG91Y2hTY3JlZW5Qb3NpdGlv
biwgbV9sYXN0VG91Y2hUaW1lLCAwLmYsIDAuZiwgbV9zaGlmdEtleSwgbV9jdHJsS2V5LCBtX2Fs
dEtleSwgbV9tZXRhS2V5KSk7Cit9CisKIFBsYXRmb3JtR2VzdHVyZVJlY29nbml6ZXI6OlBhc3NH
ZXN0dXJlcyBHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjpwcm9jZXNzVG91Y2hFdmVudEZvckdl
c3R1cmVzKGNvbnN0IFBsYXRmb3JtVG91Y2hFdmVudCYgZXZlbnQsIGJvb2wgZGVmYXVsdFByZXZl
bnRlZCkKIHsKICAgICBtX2N0cmxLZXkgPSBldmVudC5jdHJsS2V5KCk7CkBAIC0xNDIsNiArMTU5
LDEwIEBAIHZvaWQgR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6YXBwZW5kU2Nyb2xsR2VzdHVy
ZVVwZGF0ZShjb25zdCBQbGF0Zm9ybVRvdWNoUG9pCiAKIHZvaWQgR2VzdHVyZVJlY29nbml6ZXJD
aHJvbWl1bTo6dXBkYXRlVmFsdWVzKGNvbnN0IGRvdWJsZSB0b3VjaFRpbWUsIGNvbnN0IFBsYXRm
b3JtVG91Y2hQb2ludCYgdG91Y2hQb2ludCkKIHsKKyAgICBpZiAoc3RhdGUoKSA9PSBGaXJzdENs
aWNrUmVjZWl2ZWQpIHsKKyAgICAgICAgbV9maXJzdFRvdWNoVGltZSA9IHRvdWNoVGltZTsKKyAg
ICAgICAgbV9sYXN0Q2xpY2tUaW1lID0gbV9sYXN0VG91Y2hUaW1lOworICAgIH0KICAgICBtX2xh
c3RUb3VjaFRpbWUgPSB0b3VjaFRpbWU7CiAgICAgaWYgKHN0YXRlKCkgPT0gTm9HZXN0dXJlKSB7
CiAgICAgICAgIG1fZmlyc3RUb3VjaFRpbWUgPSB0b3VjaFRpbWU7CkBAIC0xNjQsOCArMTg1LDEz
IEBAIHVuc2lnbmVkIGludCBHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjpzaWduYXR1cmUoU3Rh
dGUgZ2VzdHVyZVN0YXRlLCB1bnNpZ25lZCBpCiAKIGJvb2wgR2VzdHVyZVJlY29nbml6ZXJDaHJv
bWl1bTo6dG91Y2hEb3duKGNvbnN0IFBsYXRmb3JtVG91Y2hQb2ludCYgdG91Y2hQb2ludCwgR2Vz
dHVyZXMgZ2VzdHVyZXMpCiB7Ci0gICAgc2V0U3RhdGUoUGVuZGluZ1N5bnRoZXRpY0NsaWNrKTsK
KyAgICBBU1NFUlQoc3RhdGUoKSA9PSBOb0dlc3R1cmUgfHwgc3RhdGUoKSA9PSBGaXJzdENsaWNr
UmVjZWl2ZWQpOwogICAgIGFwcGVuZFRhcERvd25HZXN0dXJlRXZlbnQodG91Y2hQb2ludCwgZ2Vz
dHVyZXMpOworICAgIGlmIChzdGF0ZSgpID09IEZpcnN0Q2xpY2tSZWNlaXZlZCAmJiBpc0luU2Vj
b25kQ2xpY2tUaW1lV2luZG93KCkgJiYgaXNJbnNpZGVNYW5oYXR0YW5TcXVhcmUodG91Y2hQb2lu
dCkpIHsKKyAgICAgICAgc2V0U3RhdGUoUGVuZGluZ0RvdWJsZUNsaWNrKTsKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgIH0KKyAgICBzZXRTdGF0ZShQZW5kaW5nU3ludGhldGljQ2xpY2spOwog
ICAgIHJldHVybiBmYWxzZTsKIH0KIApAQCAtMTc3LDYgKzIwMywyNCBAQCBib29sIEdlc3R1cmVS
ZWNvZ25pemVyQ2hyb21pdW06OnNjcm9sbEVuZChjb25zdCBQbGF0Zm9ybVRvdWNoUG9pbnQmIHBv
aW50LCBHZXN0dQogICAgIHJldHVybiBmYWxzZTsKIH0KIAorYm9vbCBHZXN0dXJlUmVjb2duaXpl
ckNocm9taXVtOjpkb3VibGVDbGljayhjb25zdCBQbGF0Zm9ybVRvdWNoUG9pbnQmIHBvaW50LCBH
ZXN0dXJlcyBnZXN0dXJlcykKK3sKKyAgICBpZiAoaXNJbkNsaWNrVGltZVdpbmRvdygpICYmIGlz
SW5zaWRlTWFuaGF0dGFuU3F1YXJlKHBvaW50KSkgeworICAgICAgICBzZXRTdGF0ZShOb0dlc3R1
cmUpOworICAgICAgICBhcHBlbmREb3VibGVDbGlja0dlc3R1cmVFdmVudChwb2ludCwgZ2VzdHVy
ZXMpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgcmV0dXJuIG5vR2VzdHVyZShw
b2ludCwgZ2VzdHVyZXMpOworfQorCitib29sIEdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW06Om1h
eWJlRG91YmxlQ2xpY2soY29uc3QgUGxhdGZvcm1Ub3VjaFBvaW50JiBwb2ludCwgR2VzdHVyZXMg
Z2VzdHVyZXMpCit7CisgICAgQVNTRVJUKHN0YXRlKCkgPT0gR2VzdHVyZVJlY29nbml6ZXJDaHJv
bWl1bTo6UGVuZGluZ0RvdWJsZUNsaWNrKTsKKyAgICBpZiAocG9pbnQuc3RhdGUoKSA9PSBQbGF0
Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoTW92ZWQgJiYgIWlzSW5zaWRlTWFuaGF0dGFuU3F1YXJlKHBv
aW50KSkKKyAgICAgICAgcmV0dXJuIG5vR2VzdHVyZShwb2ludCwgZ2VzdHVyZXMpOworICAgIHJl
dHVybiBmYWxzZTsKK30KKwogYm9vbCBHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjpub0dlc3R1
cmUoY29uc3QgUGxhdGZvcm1Ub3VjaFBvaW50JiwgR2VzdHVyZXMpCiB7CiAgICAgcmVzZXQoKTsK
QEAgLTE4Niw3ICsyMzAsNyBAQCBib29sIEdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW06Om5vR2Vz
dHVyZShjb25zdCBQbGF0Zm9ybVRvdWNoUG9pbnQmLCBHZXN0dXJlcykKIGJvb2wgR2VzdHVyZVJl
Y29nbml6ZXJDaHJvbWl1bTo6Y2xpY2soY29uc3QgUGxhdGZvcm1Ub3VjaFBvaW50JiBwb2ludCwg
R2VzdHVyZXMgZ2VzdHVyZXMpCiB7CiAgICAgaWYgKGlzSW5DbGlja1RpbWVXaW5kb3coKSAmJiBp
c0luc2lkZU1hbmhhdHRhblNxdWFyZShwb2ludCkpIHsKLSAgICAgICAgc2V0U3RhdGUoTm9HZXN0
dXJlKTsKKyAgICAgICAgc2V0U3RhdGUoRmlyc3RDbGlja1JlY2VpdmVkKTsKICAgICAgICAgYXBw
ZW5kQ2xpY2tHZXN0dXJlRXZlbnQocG9pbnQsIGdlc3R1cmVzKTsKICAgICAgICAgcmV0dXJuIHRy
dWU7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0v
R2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hy
b21pdW0vR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bS5oCmluZGV4IDEzOGQ4ZDY2OTdiYzgyZDNh
OWJjMzNlMmYwNDkxNDFjMGJiMzVlMTMuLjRlZGRhM2JjMTkxOTMyMGRhMGNkOGNiMWVhNzEzZjIw
MzlkMjM1MWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0dl
c3R1cmVSZWNvZ25pemVyQ2hyb21pdW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9j
aHJvbWl1bS9HZXN0dXJlUmVjb2duaXplckNocm9taXVtLmgKQEAgLTQ4LDcgKzQ4LDkgQEAgcHVi
bGljOgogICAgIGVudW0gU3RhdGUgewogICAgICAgICBOb0dlc3R1cmUsCiAgICAgICAgIFBlbmRp
bmdTeW50aGV0aWNDbGljaywKLSAgICAgICAgU2Nyb2xsCisgICAgICAgIFNjcm9sbCwKKyAgICAg
ICAgRmlyc3RDbGlja1JlY2VpdmVkLAorICAgICAgICBQZW5kaW5nRG91YmxlQ2xpY2ssCiAgICAg
fTsKIAogICAgIHR5cGVkZWYgVmVjdG9yPFBsYXRmb3JtR2VzdHVyZUV2ZW50PiogR2VzdHVyZXM7
CkBAIC02OCwxMCArNzAsMTIgQEAgcHJpdmF0ZToKICAgICB2b2lkIGFkZEVkZ2VGdW5jdGlvbihT
dGF0ZSwgdW5zaWduZWQgZmluZ2VyLCBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlN0YXRlLCBib29sIHRv
dWNoSGFuZGxlZEJ5SmF2YVNjcmlwdCwgR2VzdHVyZVRyYW5zaXRpb25GdW5jdGlvbik7CiAgICAg
dm9pZCBhcHBlbmRUYXBEb3duR2VzdHVyZUV2ZW50KGNvbnN0IFBsYXRmb3JtVG91Y2hQb2ludCYs
IEdlc3R1cmVzKTsKICAgICB2b2lkIGFwcGVuZENsaWNrR2VzdHVyZUV2ZW50KGNvbnN0IFBsYXRm
b3JtVG91Y2hQb2ludCYsIEdlc3R1cmVzKTsKKyAgICB2b2lkIGFwcGVuZERvdWJsZUNsaWNrR2Vz
dHVyZUV2ZW50KGNvbnN0IFBsYXRmb3JtVG91Y2hQb2ludCYsIEdlc3R1cmVzKTsKICAgICB2b2lk
IGFwcGVuZFNjcm9sbEdlc3R1cmVCZWdpbihjb25zdCBQbGF0Zm9ybVRvdWNoUG9pbnQmLCBHZXN0
dXJlcyk7CiAgICAgdm9pZCBhcHBlbmRTY3JvbGxHZXN0dXJlRW5kKGNvbnN0IFBsYXRmb3JtVG91
Y2hQb2ludCYsIEdlc3R1cmVzKTsKICAgICB2b2lkIGFwcGVuZFNjcm9sbEdlc3R1cmVVcGRhdGUo
Y29uc3QgUGxhdGZvcm1Ub3VjaFBvaW50JiwgR2VzdHVyZXMpOwogICAgIGJvb2wgaXNJbkNsaWNr
VGltZVdpbmRvdygpOworICAgIGJvb2wgaXNJblNlY29uZENsaWNrVGltZVdpbmRvdygpOwogICAg
IGJvb2wgaXNJbnNpZGVNYW5oYXR0YW5TcXVhcmUoY29uc3QgUGxhdGZvcm1Ub3VjaFBvaW50Jik7
CiAgICAgdm9pZCBzZXRTdGF0ZShTdGF0ZSB2YWx1ZSkgeyBtX3N0YXRlID0gdmFsdWU7IH0KICAg
ICB2b2lkIHVwZGF0ZVZhbHVlcyhkb3VibGUgdG91Y2hUaW1lLCBjb25zdCBQbGF0Zm9ybVRvdWNo
UG9pbnQmKTsKQEAgLTgzLDEyICs4NywxNiBAQCBwcml2YXRlOgogICAgIGJvb2wgdG91Y2hEb3du
KGNvbnN0IFBsYXRmb3JtVG91Y2hQb2ludCYsIEdlc3R1cmVzKTsKICAgICBib29sIHNjcm9sbEVu
ZChjb25zdCBQbGF0Zm9ybVRvdWNoUG9pbnQmLCBHZXN0dXJlcyk7CiAKKyAgICBib29sIGRvdWJs
ZUNsaWNrKGNvbnN0IFBsYXRmb3JtVG91Y2hQb2ludCYsIEdlc3R1cmVzKTsKKyAgICBib29sIG1h
eWJlRG91YmxlQ2xpY2soY29uc3QgUGxhdGZvcm1Ub3VjaFBvaW50JiwgR2VzdHVyZXMpOworCiAg
ICAgV1RGOjpIYXNoTWFwPGludCwgR2VzdHVyZVRyYW5zaXRpb25GdW5jdGlvbj4gbV9lZGdlRnVu
Y3Rpb25zOwogICAgIEludFBvaW50IG1fZmlyc3RUb3VjaFBvc2l0aW9uOwogICAgIEludFBvaW50
IG1fZmlyc3RUb3VjaFNjcmVlblBvc2l0aW9uOwogICAgIGRvdWJsZSBtX2ZpcnN0VG91Y2hUaW1l
OwogICAgIFN0YXRlIG1fc3RhdGU7CiAgICAgZG91YmxlIG1fbGFzdFRvdWNoVGltZTsKKyAgICBk
b3VibGUgbV9sYXN0Q2xpY2tUaW1lOwogCiAgICAgYm9vbCBtX2N0cmxLZXk7CiAgICAgYm9vbCBt
X2FsdEtleTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1Bv
cHVwQ29udGFpbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BvcHVw
Q29udGFpbmVyLmNwcAppbmRleCBlMDJmMWQ4YjlkMmYzNTk5NjExNmM0MTQyYmZmMzY5Y2JhNTcy
YjExLi43M2RlZWQzZDkwZDZjYWE5YWUzNDg5MWEzMDA2MDY4YTA4YTExYmY5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cENvbnRhaW5lci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBDb250YWluZXIuY3BwCkBA
IC0zMDYsNiArMzA2LDggQEAgYm9vbCBQb3B1cENvbnRhaW5lcjo6aGFuZGxlR2VzdHVyZUV2ZW50
KGNvbnN0IFBsYXRmb3JtR2VzdHVyZUV2ZW50JiBnZXN0dXJlRXZlbnQKICAgICAgICAgaGFuZGxl
TW91c2VSZWxlYXNlRXZlbnQoZmFrZU1vdXNlVXApOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAg
ICB9CisgICAgY2FzZSBQbGF0Zm9ybUdlc3R1cmVFdmVudDo6RG91YmxlVGFwVHlwZToKKyAgICAg
ICAgYnJlYWs7CiAgICAgY2FzZSBQbGF0Zm9ybUdlc3R1cmVFdmVudDo6U2Nyb2xsVXBkYXRlVHlw
ZTogewogICAgICAgICBQbGF0Zm9ybVdoZWVsRXZlbnQgc3ludGhldGljV2hlZWxFdmVudChnZXN0
dXJlRXZlbnQucG9zaXRpb24oKSwgZ2VzdHVyZUV2ZW50Lmdsb2JhbFBvc2l0aW9uKCksIGdlc3R1
cmVFdmVudC5kZWx0YVgoKSwgZ2VzdHVyZUV2ZW50LmRlbHRhWSgpLCBnZXN0dXJlRXZlbnQuZGVs
dGFYKCkgLyAxMjAuMGYsIGdlc3R1cmVFdmVudC5kZWx0YVkoKSAvIDEyMC4wZiwgU2Nyb2xsQnlQ
aXhlbFdoZWVsRXZlbnQsIC8qIGlzQWNjZXB0ZWQgKi8gZmFsc2UsIGdlc3R1cmVFdmVudC5zaGlm
dEtleSgpLCBnZXN0dXJlRXZlbnQuY3RybEtleSgpLCBnZXN0dXJlRXZlbnQuYWx0S2V5KCksIGdl
c3R1cmVFdmVudC5tZXRhS2V5KCkpOwogICAgICAgICBoYW5kbGVXaGVlbEV2ZW50KHN5bnRoZXRp
Y1doZWVsRXZlbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9J
bm5lckdlc3R1cmVSZWNvZ25pemVyVGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rl
c3RzL0lubmVyR2VzdHVyZVJlY29nbml6ZXJUZXN0LmNwcAppbmRleCA5YjAzNmM2ZmE2ODU5NWJk
OWM5NTA1MjA4NzQ3NDdlYWM3ZmFmNGJhLi5iYmYzNDQxMWI5ZTRlYjQ1M2RjYjc0ZGNlNDRiOTE4
MjZiMTRkYTA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0lubmVy
R2VzdHVyZVJlY29nbml6ZXJUZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rl
c3RzL0lubmVyR2VzdHVyZVJlY29nbml6ZXJUZXN0LmNwcApAQCAtMzYsNyArMzYsNiBAQAogCiB1
c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotCiBjbGFzcyBJbnNwZWN0YWJsZUdlc3R1cmVSZWNv
Z25pemVyQ2hyb21pdW0gOiBwdWJsaWMgV2ViQ29yZTo6R2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1
bSB7CiBwdWJsaWM6CiAgICAgSW5zcGVjdGFibGVHZXN0dXJlUmVjb2duaXplckNocm9taXVtKCkK
QEAgLTE1Nyw2ICsxNTYsMjUgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBUZWFyRG93
bigpIHsgfQogfTsKIAordm9pZCBTaW11bGF0ZUFuZFRlc3RGaXJzdENsaWNrKEluc3BlY3RhYmxl
R2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bSYgZ20pCit7CisgICAgQVNTRVJUX0VRKEdlc3R1cmVS
ZWNvZ25pemVyQ2hyb21pdW06Ok5vR2VzdHVyZSwgZ20uc3RhdGUoKSk7CisKKyAgICBCdWlsZGFi
bGVQbGF0Zm9ybVRvdWNoUG9pbnQgcHJlc3MoMTAsIDE1LCBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRv
dWNoUHJlc3NlZCk7CisgICAgQnVpbGRhYmxlUGxhdGZvcm1Ub3VjaEV2ZW50IHByZXNzRXZlbnQo
V2ViQ29yZTo6VG91Y2hTdGFydCwgcHJlc3MpOworICAgIE93blB0cjxWZWN0b3I8V2ViQ29yZTo6
UGxhdGZvcm1HZXN0dXJlRXZlbnQ+ID4gZ2VzdHVyZVN0YXJ0KGdtLnByb2Nlc3NUb3VjaEV2ZW50
Rm9yR2VzdHVyZXMocHJlc3NFdmVudCwgZmFsc2UpKTsKKyAgICBBU1NFUlRfRVEoKHVuc2lnbmVk
IGludCkxLCBnZXN0dXJlU3RhcnQtPnNpemUoKSk7CisgICAgQVNTRVJUX0VRKFBsYXRmb3JtR2Vz
dHVyZUV2ZW50OjpUYXBEb3duVHlwZSwgKCpnZXN0dXJlU3RhcnQpWzBdLnR5cGUoKSk7CisgICAg
QVNTRVJUX0VRKEdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW06OlBlbmRpbmdTeW50aGV0aWNDbGlj
aywgZ20uc3RhdGUoKSk7CisKKyAgICBCdWlsZGFibGVQbGF0Zm9ybVRvdWNoUG9pbnQgcmVsZWFz
ZSgxMCwgMTYsIFBsYXRmb3JtVG91Y2hQb2ludDo6VG91Y2hSZWxlYXNlZCk7CisgICAgQnVpbGRh
YmxlUGxhdGZvcm1Ub3VjaEV2ZW50IHJlbGVhc2VFdmVudChXZWJDb3JlOjpUb3VjaEVuZCwgcmVs
ZWFzZSk7CisgICAgZ20uc2V0Rmlyc3RUb3VjaFRpbWUoZ20uZmlyc3RUb3VjaFRpbWUoKSAtIDAu
MDEpOworICAgIE93blB0cjxWZWN0b3I8V2ViQ29yZTo6UGxhdGZvcm1HZXN0dXJlRXZlbnQ+ID4g
Z2VzdHVyZUVuZChnbS5wcm9jZXNzVG91Y2hFdmVudEZvckdlc3R1cmVzKHJlbGVhc2VFdmVudCwg
ZmFsc2UpKTsKKyAgICBBU1NFUlRfRVEoKHVuc2lnbmVkIGludCkxLCBnZXN0dXJlRW5kLT5zaXpl
KCkpOworICAgIEFTU0VSVF9FUShQbGF0Zm9ybUdlc3R1cmVFdmVudDo6VGFwVHlwZSwgKCpnZXN0
dXJlRW5kKVswXS50eXBlKCkpOworfQorCiB0eXBlZGVmIE93blB0cjxWZWN0b3I8V2ViQ29yZTo6
UGxhdGZvcm1HZXN0dXJlRXZlbnQ+ID4gR2VzdHVyZXM7CiAKIFRFU1RfRihHZXN0dXJlUmVjb2du
aXplclRlc3QsIGhhc2gpCkBAIC0yODQsNiArMzAyLDYzIEBAIFRFU1RfRihHZXN0dXJlUmVjb2du
aXplclRlc3QsIHVwZGF0ZVZhbHVlcykKICAgICBBU1NFUlRfRVEoMC4wLCBnbS5sYXN0VG91Y2hU
aW1lKCkgLSBnbS5maXJzdFRvdWNoVGltZSgpKTsKIH0KIAorVEVTVF9GKEdlc3R1cmVSZWNvZ25p
emVyVGVzdCwgZG91YmxlVGFwR2VzdHVyZVRlc3QpCit7CisgICAgSW5zcGVjdGFibGVHZXN0dXJl
UmVjb2duaXplckNocm9taXVtIGdtOworICAgIFNpbXVsYXRlQW5kVGVzdEZpcnN0Q2xpY2soZ20p
OworICAgIEFTU0VSVF9FUShHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjpGaXJzdENsaWNrUmVj
ZWl2ZWQsIGdtLnN0YXRlKCkpOworCisgICAgQnVpbGRhYmxlUGxhdGZvcm1Ub3VjaFBvaW50IHBy
ZXNzKDEwLCAxNSwgUGxhdGZvcm1Ub3VjaFBvaW50OjpUb3VjaFByZXNzZWQpOworICAgIEJ1aWxk
YWJsZVBsYXRmb3JtVG91Y2hFdmVudCBwcmVzc0V2ZW50KFdlYkNvcmU6OlRvdWNoU3RhcnQsIHBy
ZXNzKTsKKyAgICBnbS5zZXRMYXN0VG91Y2hUaW1lKGdtLmxhc3RUb3VjaFRpbWUoKSAtIDAuMDEp
OworICAgIEdlc3R1cmVzIGdlc3R1cmVTdGFydChnbS5wcm9jZXNzVG91Y2hFdmVudEZvckdlc3R1
cmVzKHByZXNzRXZlbnQsIGZhbHNlKSk7CisgICAgQVNTRVJUX0VRKCh1bnNpZ25lZCBpbnQpMSwg
Z2VzdHVyZVN0YXJ0LT5zaXplKCkpOworICAgIEFTU0VSVF9FUShQbGF0Zm9ybUdlc3R1cmVFdmVu
dDo6VGFwRG93blR5cGUsICgqZ2VzdHVyZVN0YXJ0KVswXS50eXBlKCkpOworICAgIEFTU0VSVF9F
UShHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjpQZW5kaW5nRG91YmxlQ2xpY2ssIGdtLnN0YXRl
KCkpOworCisgICAgQnVpbGRhYmxlUGxhdGZvcm1Ub3VjaFBvaW50IG1vdmUoMTAsIDE2LCBQbGF0
Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoTW92ZWQpOworICAgIEJ1aWxkYWJsZVBsYXRmb3JtVG91Y2hF
dmVudCBtb3ZlRXZlbnQoV2ViQ29yZTo6VG91Y2hNb3ZlLCBtb3ZlKTsKKyAgICBHZXN0dXJlcyBn
ZXN0dXJlTW92ZShnbS5wcm9jZXNzVG91Y2hFdmVudEZvckdlc3R1cmVzKG1vdmVFdmVudCwgZmFs
c2UpKTsKKyAgICBBU1NFUlRfRVEoKHVuc2lnbmVkIGludCkwLCBnZXN0dXJlTW92ZS0+c2l6ZSgp
KTsKKyAgICBBU1NFUlRfRVEoR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6UGVuZGluZ0RvdWJs
ZUNsaWNrLCBnbS5zdGF0ZSgpKTsKKworICAgIEJ1aWxkYWJsZVBsYXRmb3JtVG91Y2hQb2ludCBy
ZWxlYXNlKDEwLCAxNiwgUGxhdGZvcm1Ub3VjaFBvaW50OjpUb3VjaFJlbGVhc2VkKTsKKyAgICBC
dWlsZGFibGVQbGF0Zm9ybVRvdWNoRXZlbnQgcmVsZWFzZUV2ZW50KFdlYkNvcmU6OlRvdWNoRW5k
LCByZWxlYXNlKTsKKyAgICBnbS5zZXRGaXJzdFRvdWNoVGltZShnbS5maXJzdFRvdWNoVGltZSgp
IC0gMC4wMSk7CisgICAgR2VzdHVyZXMgZ2VzdHVyZUVuZChnbS5wcm9jZXNzVG91Y2hFdmVudEZv
ckdlc3R1cmVzKHJlbGVhc2VFdmVudCwgZmFsc2UpKTsKKyAgICBBU1NFUlRfRVEoKHVuc2lnbmVk
IGludCkxLCBnZXN0dXJlRW5kLT5zaXplKCkpOworICAgIEFTU0VSVF9FUShQbGF0Zm9ybUdlc3R1
cmVFdmVudDo6RG91YmxlVGFwVHlwZSwgKCpnZXN0dXJlRW5kKVswXS50eXBlKCkpOworICAgIEFT
U0VSVF9FUShHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjpOb0dlc3R1cmUsIGdtLnN0YXRlKCkp
OworfQorCitURVNUX0YoR2VzdHVyZVJlY29nbml6ZXJUZXN0LCBkb3VibGVUYXBHZXN0dXJlSW5j
b21wbGV0ZVRlc3QpCit7CisgICAgSW5zcGVjdGFibGVHZXN0dXJlUmVjb2duaXplckNocm9taXVt
IGdtOworICAgIFNpbXVsYXRlQW5kVGVzdEZpcnN0Q2xpY2soZ20pOworICAgIEFTU0VSVF9FUShH
ZXN0dXJlUmVjb2duaXplckNocm9taXVtOjpGaXJzdENsaWNrUmVjZWl2ZWQsIGdtLnN0YXRlKCkp
OworCisgICAgQnVpbGRhYmxlUGxhdGZvcm1Ub3VjaFBvaW50IHByZXNzKDEwLCAxNSwgUGxhdGZv
cm1Ub3VjaFBvaW50OjpUb3VjaFByZXNzZWQpOworICAgIEJ1aWxkYWJsZVBsYXRmb3JtVG91Y2hF
dmVudCBwcmVzc0V2ZW50KFdlYkNvcmU6OlRvdWNoU3RhcnQsIHByZXNzKTsKKyAgICBnbS5zZXRM
YXN0VG91Y2hUaW1lKGdtLmxhc3RUb3VjaFRpbWUoKSAtIDAuMDEpOworICAgIEdlc3R1cmVzIGdl
c3R1cmVTdGFydChnbS5wcm9jZXNzVG91Y2hFdmVudEZvckdlc3R1cmVzKHByZXNzRXZlbnQsIGZh
bHNlKSk7CisgICAgQVNTRVJUX0VRKCh1bnNpZ25lZCBpbnQpMSwgZ2VzdHVyZVN0YXJ0LT5zaXpl
KCkpOworICAgIEFTU0VSVF9FUShQbGF0Zm9ybUdlc3R1cmVFdmVudDo6VGFwRG93blR5cGUsICgq
Z2VzdHVyZVN0YXJ0KVswXS50eXBlKCkpOworICAgIEFTU0VSVF9FUShHZXN0dXJlUmVjb2duaXpl
ckNocm9taXVtOjpQZW5kaW5nRG91YmxlQ2xpY2ssIGdtLnN0YXRlKCkpOworCisgICAgQnVpbGRh
YmxlUGxhdGZvcm1Ub3VjaFBvaW50IG1vdmUoMTAsIDUwLCBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRv
dWNoTW92ZWQpOworICAgIEJ1aWxkYWJsZVBsYXRmb3JtVG91Y2hFdmVudCBtb3ZlRXZlbnQoV2Vi
Q29yZTo6VG91Y2hNb3ZlLCBtb3ZlKTsKKyAgICBHZXN0dXJlcyBnZXN0dXJlTW92ZShnbS5wcm9j
ZXNzVG91Y2hFdmVudEZvckdlc3R1cmVzKG1vdmVFdmVudCwgZmFsc2UpKTsKKyAgICBBU1NFUlRf
RVEoKHVuc2lnbmVkIGludCkwLCBnZXN0dXJlTW92ZS0+c2l6ZSgpKTsKKyAgICBBU1NFUlRfRVEo
R2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6Tm9HZXN0dXJlLCBnbS5zdGF0ZSgpKTsKKworICAg
IEJ1aWxkYWJsZVBsYXRmb3JtVG91Y2hQb2ludCByZWxlYXNlKDEwLCA1MCwgUGxhdGZvcm1Ub3Vj
aFBvaW50OjpUb3VjaFJlbGVhc2VkKTsKKyAgICBCdWlsZGFibGVQbGF0Zm9ybVRvdWNoRXZlbnQg
cmVsZWFzZUV2ZW50KFdlYkNvcmU6OlRvdWNoRW5kLCByZWxlYXNlKTsKKyAgICBnbS5zZXRGaXJz
dFRvdWNoVGltZShnbS5maXJzdFRvdWNoVGltZSgpIC0gMC4wMSk7CisgICAgR2VzdHVyZXMgZ2Vz
dHVyZUVuZChnbS5wcm9jZXNzVG91Y2hFdmVudEZvckdlc3R1cmVzKHJlbGVhc2VFdmVudCwgZmFs
c2UpKTsKKyAgICBBU1NFUlRfRVEoKHVuc2lnbmVkIGludCkwLCBnZXN0dXJlRW5kLT5zaXplKCkp
OworICAgIEFTU0VSVF9FUShHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjpOb0dlc3R1cmUsIGdt
LnN0YXRlKCkpOworfQorCiBURVNUX0YoR2VzdHVyZVJlY29nbml6ZXJUZXN0LCB0YXBEb3duV2l0
aG91dFRhcEdlc3R1cmVUZXN0KQogewogICAgIEluc3BlY3RhYmxlR2VzdHVyZVJlY29nbml6ZXJD
aHJvbWl1bSBnbTsKQEAgLTMzOCw3ICs0MTMsNyBAQCBURVNUX0YoR2VzdHVyZVJlY29nbml6ZXJU
ZXN0LCB0YXBEb3duV2l0aFRhcEdlc3R1cmVUZXN0KQogICAgIEdlc3R1cmVzIGdlc3R1cmVFbmQo
Z20ucHJvY2Vzc1RvdWNoRXZlbnRGb3JHZXN0dXJlcyhyZWxlYXNlRXZlbnQsIGZhbHNlKSk7CiAg
ICAgQVNTRVJUX0VRKCh1bnNpZ25lZCBpbnQpMSwgZ2VzdHVyZUVuZC0+c2l6ZSgpKTsKICAgICBB
U1NFUlRfRVEoUGxhdGZvcm1HZXN0dXJlRXZlbnQ6OlRhcFR5cGUsICgqZ2VzdHVyZUVuZClbMF0u
dHlwZSgpKTsKLSAgICBBU1NFUlRfRVEoR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6Tm9HZXN0
dXJlLCBnbS5zdGF0ZSgpKTsKKyAgICBBU1NFUlRfRVEoR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1
bTo6Rmlyc3RDbGlja1JlY2VpdmVkLCBnbS5zdGF0ZSgpKTsKIH0KIAogVEVTVF9GKEdlc3R1cmVS
ZWNvZ25pemVyVGVzdCwgZ2VzdHVyZVNjcm9sbEV2ZW50cykK
</data>

          </attachment>
      

    </bug>

</bugzilla>