<?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>69270</bug_id>
          
          <creation_ts>2011-10-03 11:19:00 -0700</creation_ts>
          <short_desc>[Chromium] Fix position check for double tap gesture detection</short_desc>
          <delta_ts>2011-10-04 15:47:29 -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>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Varun Jain">varunjain</reporter>
          <assigned_to name="Varun Jain">varunjain</assigned_to>
          <cc>darin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>fishd</cc>
    
    <cc>rjkroege</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>477092</commentid>
    <comment_count>0</comment_count>
    <who name="Varun Jain">varunjain</who>
    <bug_when>2011-10-03 11:19:00 -0700</bug_when>
    <thetext>Fix position check for double tap gesture detection</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477170</commentid>
    <comment_count>1</comment_count>
      <attachid>109512</attachid>
    <who name="Varun Jain">varunjain</who>
    <bug_when>2011-10-03 13:02:01 -0700</bug_when>
    <thetext>Created attachment 109512
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477199</commentid>
    <comment_count>2</comment_count>
      <attachid>109512</attachid>
    <who name="Robert Kroeger">rjkroege</who>
    <bug_when>2011-10-03 13:34:44 -0700</bug_when>
    <thetext>Comment on attachment 109512
Patch

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

Looks largely ok to me.

&gt; ChangeLog:4
&gt; +        should not be detected if thw two taps are far from each other.

typo: thw

&gt; Source/WebCore/platform/chromium/GestureRecognizerChromium.h:97
&gt; +    IntPoint m_lastClickPosition;

At some point, this will all need to be refactored. But not now.

&gt; Source/WebKit/chromium/tests/InnerGestureRecognizerTest.cpp:382
&gt; +#if OS(MAC_OS_X)

How about looking into why later? (There&apos;s already a bug for it.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477212</commentid>
    <comment_count>3</comment_count>
      <attachid>109523</attachid>
    <who name="Varun Jain">varunjain</who>
    <bug_when>2011-10-03 13:44:46 -0700</bug_when>
    <thetext>Created attachment 109523
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477213</commentid>
    <comment_count>4</comment_count>
    <who name="Varun Jain">varunjain</who>
    <bug_when>2011-10-03 13:45:30 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 109512 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=109512&amp;action=review
&gt; 
&gt; Looks largely ok to me.
&gt; 
&gt; &gt; ChangeLog:4
&gt; &gt; +        should not be detected if thw two taps are far from each other.
&gt; 
&gt; typo: thw

Done

&gt; 
&gt; &gt; Source/WebCore/platform/chromium/GestureRecognizerChromium.h:97
&gt; &gt; +    IntPoint m_lastClickPosition;
&gt; 
&gt; At some point, this will all need to be refactored. But not now.
&gt; 
&gt; &gt; Source/WebKit/chromium/tests/InnerGestureRecognizerTest.cpp:382
&gt; &gt; +#if OS(MAC_OS_X)
&gt; 
&gt; How about looking into why later? (There&apos;s already a bug for it.)

Yes I do plan to look into this later (if you do not get to it first)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477275</commentid>
    <comment_count>5</comment_count>
      <attachid>109537</attachid>
    <who name="Varun Jain">varunjain</who>
    <bug_when>2011-10-03 15:11:03 -0700</bug_when>
    <thetext>Created attachment 109537
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477988</commentid>
    <comment_count>6</comment_count>
      <attachid>109537</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-10-04 15:05:49 -0700</bug_when>
    <thetext>Comment on attachment 109537
Patch

OK</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478019</commentid>
    <comment_count>7</comment_count>
      <attachid>109537</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-04 15:47:23 -0700</bug_when>
    <thetext>Comment on attachment 109537
Patch

Clearing flags on attachment: 109537

Committed r96657: &lt;http://trac.webkit.org/changeset/96657&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478021</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-04 15:47:29 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109512</attachid>
            <date>2011-10-03 13:02:01 -0700</date>
            <delta_ts>2011-10-03 13:44:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69270-20111003155622.patch</filename>
            <type>text/plain</type>
            <size>11105</size>
            <attacher name="Varun Jain">varunjain</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTY1MTIKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5n
ZUxvZwppbmRleCAzMmMzMTZmYzI5NmIyM2RjMWRjYmJjNmZlYTAxZTczYmI5MGZhNGVhLi42ZGI2
OTg0YWM2Y2JlMTM2OTE0ZDRmYjU4OWZlM2E5MWJkZjUxODk5IDEwMDY0NAotLS0gYS9DaGFuZ2VM
b2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMTAtMDMgIFZhcnVuIEph
aW4gIDx2YXJ1bmphaW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEZpeCBwb3NpdGlvbiBjaGVj
ayBmb3IgZG91YmxlIHRhcCBnZXN0dXJlIGRldGVjdGlvbi4gQSBkb3VibGUgdGFwCisgICAgICAg
IHNob3VsZCBub3QgYmUgZGV0ZWN0ZWQgaWYgdGh3IHR3byB0YXBzIGFyZSBmYXIgZnJvbSBlYWNo
IG90aGVyLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NjkyNzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
ZXN0OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0lubmVyR2VzdHVyZVJlY29nbml6ZXJU
ZXN0LmNwcAorCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vR2VzdHVyZVJlY29nbml6ZXJD
aHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHZXN0dXJlUmVjb2duaXplckNocm9taXVt
Ojppc1NlY29uZENsaWNrSW5zaWRlTWFuaGF0dGFuU3F1YXJlKToKKyAgICAgICAgKFdlYkNvcmU6
Okdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW06OmNsaWNrKToKKyAgICAgICAgKiBwbGF0Zm9ybS9j
aHJvbWl1bS9HZXN0dXJlUmVjb2duaXplckNocm9taXVtLmg6CisKIDIwMTEtMDktMjMgIFRvciBB
cm5lIFZlc3Riw7ggIDx0b3IuYXJuZS52ZXN0Ym9Abm9raWEuY29tPgogCiAgICAgICAgIFtRdF0g
Rml4IGJ1aWxkIGFnYWluc3QgUXQ1IGFmdGVyIHJlZmFjdG9yIG9mIHdpZGdldHMgb3V0IG9mIFF0
R1VpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9HZXN0dXJl
UmVjb2duaXplckNocm9taXVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVt
L0dlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW0uY3BwCmluZGV4IGEwZGU5NjQxZTg0ZDJiYzlkYTY5
OThlNzJiYTIwZmIyNGZjYWEwNjEuLjMyNWE4ODU5Y2I5YzNmZDc3ZDg5Yjk2YzQxMDZmNmRkYmIx
YjdiNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0dlc3R1
cmVSZWNvZ25pemVyQ2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2No
cm9taXVtL0dlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW0uY3BwCkBAIC00NSw2ICs0NSw3IEBAIEdl
c3R1cmVSZWNvZ25pemVyQ2hyb21pdW06Okdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW0oKQogICAg
ICwgbV9zdGF0ZShHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjpOb0dlc3R1cmUpCiAgICAgLCBt
X2xhc3RUb3VjaFRpbWUoMC4wKQogICAgICwgbV9sYXN0Q2xpY2tUaW1lKDAuMCkKKyAgICAsIG1f
bGFzdENsaWNrUG9zaXRpb24oKQogICAgICwgbV9sYXN0VG91Y2hQb3NpdGlvbigpCiAgICAgLCBt
X2xhc3RUb3VjaFNjcmVlblBvc2l0aW9uKCkKICAgICAsIG1feFZlbG9jaXR5KDAuMCkKQEAgLTEx
MSw2ICsxMTIsMTIgQEAgYm9vbCBHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjppc0luc2lkZU1h
bmhhdHRhblNxdWFyZShjb25zdCBQbGF0Zm9ybVRvdWNoUG9pbnQKICAgICByZXR1cm4gbWFuaGF0
dGFuRGlzdGFuY2UgPCBtYXhpbXVtVG91Y2hNb3ZlSW5QaXhlbHNGb3JDbGljazsKIH0KIAorYm9v
bCBHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjppc1NlY29uZENsaWNrSW5zaWRlTWFuaGF0dGFu
U3F1YXJlKGNvbnN0IFBsYXRmb3JtVG91Y2hQb2ludCYgcG9pbnQpCit7CisgICAgaW50IG1hbmhh
dHRhbkRpc3RhbmNlID0gYWJzKHBvaW50LnBvcygpLngoKSAtIG1fbGFzdENsaWNrUG9zaXRpb24u
eCgpKSArIGFicyhwb2ludC5wb3MoKS55KCkgLSBtX2xhc3RDbGlja1Bvc2l0aW9uLnkoKSk7Cisg
ICAgcmV0dXJuIG1hbmhhdHRhbkRpc3RhbmNlIDwgbWF4aW11bVRvdWNoTW92ZUluUGl4ZWxzRm9y
Q2xpY2s7Cit9CisKIGJvb2wgR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6aXNPdmVyTWluRmxp
Y2tTcGVlZCgpCiB7CiAgICAgcmV0dXJuIChtX3hWZWxvY2l0eSAqIG1feFZlbG9jaXR5ICsgbV95
VmVsb2NpdHkgKiBtX3lWZWxvY2l0eSkgPiBtaW5GbGlja1NwZWVkU3F1YXJlZDsKQEAgLTIzMCw5
ICsyMzcsMTAgQEAgYm9vbCBHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjpjbGljayhjb25zdCBQ
bGF0Zm9ybVRvdWNoUG9pbnQmIHBvaW50LCBHZXN0dXJlcwogICAgIGlmIChpc0luQ2xpY2tUaW1l
V2luZG93KCkgJiYgaXNJbnNpZGVNYW5oYXR0YW5TcXVhcmUocG9pbnQpKSB7CiAgICAgICAgIGdl
c3R1cmVBZGRlZCA9IHRydWU7CiAgICAgICAgIGFwcGVuZENsaWNrR2VzdHVyZUV2ZW50KHBvaW50
LCBnZXN0dXJlcyk7Ci0gICAgICAgIGlmIChpc0luU2Vjb25kQ2xpY2tUaW1lV2luZG93KCkpCisg
ICAgICAgIGlmIChpc0luU2Vjb25kQ2xpY2tUaW1lV2luZG93KCkgJiYgaXNTZWNvbmRDbGlja0lu
c2lkZU1hbmhhdHRhblNxdWFyZShwb2ludCkpCiAgICAgICAgICAgICBhcHBlbmREb3VibGVDbGlj
a0dlc3R1cmVFdmVudChwb2ludCwgZ2VzdHVyZXMpOwogICAgICAgIG1fbGFzdENsaWNrVGltZSA9
IG1fbGFzdFRvdWNoVGltZTsKKyAgICAgICBtX2xhc3RDbGlja1Bvc2l0aW9uID0gbV9sYXN0VG91
Y2hQb3NpdGlvbjsKICAgICB9CiAgICAgcmVzZXQoKTsKICAgICByZXR1cm4gZ2VzdHVyZUFkZGVk
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vR2VzdHVyZVJl
Y29nbml6ZXJDaHJvbWl1bS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vR2Vz
dHVyZVJlY29nbml6ZXJDaHJvbWl1bS5oCmluZGV4IDZjNWU5YzU4OTE5ZGNjOGZhNTUzMDk3YjA5
ZGE1ZmJiYTE5ZDgzZGMuLjQ4ODk4NjZmNjYzNGI1NjAzOWE0ZWI1MTM0YTJlNzBhOTZkY2Y0Yjkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0dlc3R1cmVSZWNv
Z25pemVyQ2hyb21pdW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9H
ZXN0dXJlUmVjb2duaXplckNocm9taXVtLmgKQEAgLTc1LDYgKzc1LDcgQEAgcHJpdmF0ZToKICAg
ICBib29sIGlzSW5DbGlja1RpbWVXaW5kb3coKTsKICAgICBib29sIGlzSW5TZWNvbmRDbGlja1Rp
bWVXaW5kb3coKTsKICAgICBib29sIGlzSW5zaWRlTWFuaGF0dGFuU3F1YXJlKGNvbnN0IFBsYXRm
b3JtVG91Y2hQb2ludCYpOworICAgIGJvb2wgaXNTZWNvbmRDbGlja0luc2lkZU1hbmhhdHRhblNx
dWFyZShjb25zdCBQbGF0Zm9ybVRvdWNoUG9pbnQmKTsKICAgICBib29sIGlzT3Zlck1pbkZsaWNr
U3BlZWQoKTsKICAgICB2b2lkIHNldFN0YXRlKFN0YXRlIHZhbHVlKSB7IG1fc3RhdGUgPSB2YWx1
ZTsgfQogICAgIHZvaWQgdXBkYXRlVmFsdWVzKGRvdWJsZSB0b3VjaFRpbWUsIGNvbnN0IFBsYXRm
b3JtVG91Y2hQb2ludCYpOwpAQCAtOTMsNiArOTQsNyBAQCBwcml2YXRlOgogICAgIFN0YXRlIG1f
c3RhdGU7CiAgICAgZG91YmxlIG1fbGFzdFRvdWNoVGltZTsKICAgICBkb3VibGUgbV9sYXN0Q2xp
Y2tUaW1lOworICAgIEludFBvaW50IG1fbGFzdENsaWNrUG9zaXRpb247CiAgICAgSW50UG9pbnQg
bV9sYXN0VG91Y2hQb3NpdGlvbjsKICAgICBJbnRQb2ludCBtX2xhc3RUb3VjaFNjcmVlblBvc2l0
aW9uOwogICAgIGZsb2F0IG1feFZlbG9jaXR5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS90ZXN0cy9Jbm5lckdlc3R1cmVSZWNvZ25pemVyVGVzdC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3Rlc3RzL0lubmVyR2VzdHVyZVJlY29nbml6ZXJUZXN0LmNwcAppbmRleCBi
NGRkZmM5ZjhiYzY0ODk4ZTUwOWZhMTg3ZmI4ZGU4OGRkMzRiZjIzLi4zZjkyNmE2NTM1ZmUyYWM1
OTIyM2FjMmEwZmU4Y2VkNzI1MzZlZGJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3Rlc3RzL0lubmVyR2VzdHVyZVJlY29nbml6ZXJUZXN0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3Rlc3RzL0lubmVyR2VzdHVyZVJlY29nbml6ZXJUZXN0LmNwcApAQCAtMzU3
LDE1ICszNTcsMTQgQEAgVEVTVF9GKEdlc3R1cmVSZWNvZ25pemVyVGVzdCwgTUFZQkVfZG91Ymxl
VGFwR2VzdHVyZUluY29tcGxldGVUZXN0KQogICAgIEFTU0VSVF9FUShHZXN0dXJlUmVjb2duaXpl
ckNocm9taXVtOjpOb0dlc3R1cmUsIGdtLnN0YXRlKCkpOwogCiAgICAgQnVpbGRhYmxlUGxhdGZv
cm1Ub3VjaFBvaW50IHByZXNzKDEwLCAxNSwgUGxhdGZvcm1Ub3VjaFBvaW50OjpUb3VjaFByZXNz
ZWQpOwotICAgIEJ1aWxkYWJsZVBsYXRmb3JtVG91Y2hFdmVudCBwcmVzc0V2ZW50KFdlYkNvcmU6
OlRvdWNoU3RhcnQsIHByZXNzKTsKLSAgICBnbS5zZXRMYXN0VG91Y2hUaW1lKGdtLmxhc3RUb3Vj
aFRpbWUoKSAtIDAuMDEpOworICAgIEJ1aWxkYWJsZVBsYXRmb3JtVG91Y2hFdmVudCBwcmVzc0V2
ZW50KFdlYkNvcmU6OlRvdWNoU3RhcnQsIHByZXNzLCAxMDAwLiArIDAuNyArIDAuMDEpOwogICAg
IEdlc3R1cmVzIGdlc3R1cmVTdGFydChnbS5wcm9jZXNzVG91Y2hFdmVudEZvckdlc3R1cmVzKHBy
ZXNzRXZlbnQsIGZhbHNlKSk7CiAgICAgQVNTRVJUX0VRKDF1LCBnZXN0dXJlU3RhcnQtPnNpemUo
KSk7CiAgICAgQVNTRVJUX0VRKFBsYXRmb3JtR2VzdHVyZUV2ZW50OjpUYXBEb3duVHlwZSwgKCpn
ZXN0dXJlU3RhcnQpWzBdLnR5cGUoKSk7CiAgICAgQVNTRVJUX0VRKEdlc3R1cmVSZWNvZ25pemVy
Q2hyb21pdW06OlBlbmRpbmdTeW50aGV0aWNDbGljaywgZ20uc3RhdGUoKSk7CiAKICAgICBCdWls
ZGFibGVQbGF0Zm9ybVRvdWNoUG9pbnQgbW92ZSgxMCwgNTAsIFBsYXRmb3JtVG91Y2hQb2ludDo6
VG91Y2hNb3ZlZCk7Ci0gICAgQnVpbGRhYmxlUGxhdGZvcm1Ub3VjaEV2ZW50IG1vdmVFdmVudChX
ZWJDb3JlOjpUb3VjaE1vdmUsIG1vdmUpOworICAgIEJ1aWxkYWJsZVBsYXRmb3JtVG91Y2hFdmVu
dCBtb3ZlRXZlbnQoV2ViQ29yZTo6VG91Y2hNb3ZlLCBtb3ZlLCAxMDAwLiArIDAuNyArIDAuMDIp
OwogICAgIEdlc3R1cmVzIGdlc3R1cmVNb3ZlKGdtLnByb2Nlc3NUb3VjaEV2ZW50Rm9yR2VzdHVy
ZXMobW92ZUV2ZW50LCBmYWxzZSkpOwogICAgIEFTU0VSVF9FUSgydSwgZ2VzdHVyZU1vdmUtPnNp
emUoKSk7CiAgICAgQVNTRVJUX0VRKFBsYXRmb3JtR2VzdHVyZUV2ZW50OjpTY3JvbGxCZWdpblR5
cGUsICgqZ2VzdHVyZU1vdmUpWzBdLnR5cGUoKSk7CkBAIC0zNzMsMTQgKzM3Miw0MiBAQCBURVNU
X0YoR2VzdHVyZVJlY29nbml6ZXJUZXN0LCBNQVlCRV9kb3VibGVUYXBHZXN0dXJlSW5jb21wbGV0
ZVRlc3QpCiAgICAgQVNTRVJUX0VRKEdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW06OlNjcm9sbCwg
Z20uc3RhdGUoKSk7CiAKICAgICBCdWlsZGFibGVQbGF0Zm9ybVRvdWNoUG9pbnQgcmVsZWFzZSgx
MCwgNTAsIFBsYXRmb3JtVG91Y2hQb2ludDo6VG91Y2hSZWxlYXNlZCk7Ci0gICAgQnVpbGRhYmxl
UGxhdGZvcm1Ub3VjaEV2ZW50IHJlbGVhc2VFdmVudChXZWJDb3JlOjpUb3VjaEVuZCwgcmVsZWFz
ZSk7Ci0gICAgZ20uc2V0Rmlyc3RUb3VjaFRpbWUoZ20uZmlyc3RUb3VjaFRpbWUoKSAtIDAuMDEp
OworICAgIEJ1aWxkYWJsZVBsYXRmb3JtVG91Y2hFdmVudCByZWxlYXNlRXZlbnQoV2ViQ29yZTo6
VG91Y2hFbmQsIHJlbGVhc2UsIDEwMDAuICsgMC43ICsgMC4wMyk7CiAgICAgR2VzdHVyZXMgZ2Vz
dHVyZUVuZChnbS5wcm9jZXNzVG91Y2hFdmVudEZvckdlc3R1cmVzKHJlbGVhc2VFdmVudCwgZmFs
c2UpKTsKICAgICBBU1NFUlRfRVEoMXUsIGdlc3R1cmVFbmQtPnNpemUoKSk7CiAgICAgQVNTRVJU
X0VRKFBsYXRmb3JtR2VzdHVyZUV2ZW50OjpTY3JvbGxFbmRUeXBlLCAoKmdlc3R1cmVFbmQpWzBd
LnR5cGUoKSk7CiAgICAgQVNTRVJUX0VRKEdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW06Ok5vR2Vz
dHVyZSwgZ20uc3RhdGUoKSk7CiB9CiAKKyNpZiBPUyhNQUNfT1NfWCkKKyNkZWZpbmUgTUFZQkVf
ZG91YmxlVGFwR2VzdHVyZUluY29tcGxldGVEdWVUb1NlY29uZENsaWNrUG9zaXRpb25UZXN0IERJ
U0FCTEVEX2RvdWJsZVRhcEdlc3R1cmVJbmNvbXBsZXRlRHVlVG9TZWNvbmRDbGlja1Bvc2l0aW9u
VGVzdAorI2Vsc2UKKyNkZWZpbmUgTUFZQkVfZG91YmxlVGFwR2VzdHVyZUluY29tcGxldGVEdWVU
b1NlY29uZENsaWNrUG9zaXRpb25UZXN0IGRvdWJsZVRhcEdlc3R1cmVJbmNvbXBsZXRlRHVlVG9T
ZWNvbmRDbGlja1Bvc2l0aW9uVGVzdAorI2VuZGlmCisKK1RFU1RfRihHZXN0dXJlUmVjb2duaXpl
clRlc3QsIE1BWUJFX2RvdWJsZVRhcEdlc3R1cmVJbmNvbXBsZXRlRHVlVG9TZWNvbmRDbGlja1Bv
c2l0aW9uVGVzdCkKK3sKKyAgICBJbnNwZWN0YWJsZUdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW0g
Z207CisgICAgU2ltdWxhdGVBbmRUZXN0Rmlyc3RDbGljayhnbSk7CisgICAgQVNTRVJUX0VRKEdl
c3R1cmVSZWNvZ25pemVyQ2hyb21pdW06Ok5vR2VzdHVyZSwgZ20uc3RhdGUoKSk7CisKKyAgICBJ
bnRQb2ludCBhd2F5RnJvbUZpcnN0Q2xpY2soMjQsIDI2KTsKKworICAgIEJ1aWxkYWJsZVBsYXRm
b3JtVG91Y2hQb2ludCBwcmVzcyhhd2F5RnJvbUZpcnN0Q2xpY2sueCgpLCBhd2F5RnJvbUZpcnN0
Q2xpY2sueSgpLCBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoUHJlc3NlZCk7CisgICAgQnVpbGRh
YmxlUGxhdGZvcm1Ub3VjaEV2ZW50IHByZXNzRXZlbnQoV2ViQ29yZTo6VG91Y2hTdGFydCwgcHJl
c3MsIDEwMDAuICsgMC43ICsgMC4wMSk7CisgICAgR2VzdHVyZXMgZ2VzdHVyZVN0YXJ0KGdtLnBy
b2Nlc3NUb3VjaEV2ZW50Rm9yR2VzdHVyZXMocHJlc3NFdmVudCwgZmFsc2UpKTsKKyAgICBBU1NF
UlRfRVEoMXUsIGdlc3R1cmVTdGFydC0+c2l6ZSgpKTsKKyAgICBBU1NFUlRfRVEoUGxhdGZvcm1H
ZXN0dXJlRXZlbnQ6OlRhcERvd25UeXBlLCAoKmdlc3R1cmVTdGFydClbMF0udHlwZSgpKTsKKyAg
ICBBU1NFUlRfRVEoR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6UGVuZGluZ1N5bnRoZXRpY0Ns
aWNrLCBnbS5zdGF0ZSgpKTsKKworICAgIEJ1aWxkYWJsZVBsYXRmb3JtVG91Y2hQb2ludCByZWxl
YXNlKGF3YXlGcm9tRmlyc3RDbGljay54KCksIGF3YXlGcm9tRmlyc3RDbGljay55KCksIFBsYXRm
b3JtVG91Y2hQb2ludDo6VG91Y2hSZWxlYXNlZCk7CisgICAgQnVpbGRhYmxlUGxhdGZvcm1Ub3Vj
aEV2ZW50IHJlbGVhc2VFdmVudChXZWJDb3JlOjpUb3VjaEVuZCwgcmVsZWFzZSwgMTAwMC4gKyAw
LjcgKyAwLjAyNSk7CisgICAgR2VzdHVyZXMgZ2VzdHVyZUVuZChnbS5wcm9jZXNzVG91Y2hFdmVu
dEZvckdlc3R1cmVzKHJlbGVhc2VFdmVudCwgZmFsc2UpKTsKKyAgICBBU1NFUlRfRVEoMXUsIGdl
c3R1cmVFbmQtPnNpemUoKSk7CisgICAgQVNTRVJUX0VRKFBsYXRmb3JtR2VzdHVyZUV2ZW50OjpU
YXBUeXBlLCAoKmdlc3R1cmVFbmQpWzBdLnR5cGUoKSk7CisgICAgQVNTRVJUX0VRKEdlc3R1cmVS
ZWNvZ25pemVyQ2hyb21pdW06Ok5vR2VzdHVyZSwgZ20uc3RhdGUoKSk7Cit9CisKIFRFU1RfRihH
ZXN0dXJlUmVjb2duaXplclRlc3QsIHRhcERvd25XaXRob3V0VGFwR2VzdHVyZVRlc3QpCiB7CiAg
ICAgSW5zcGVjdGFibGVHZXN0dXJlUmVjb2duaXplckNocm9taXVtIGdtOwpAQCAtNDIwLDI0ICs0
NDcsMjAgQEAgVEVTVF9GKEdlc3R1cmVSZWNvZ25pemVyVGVzdCwgTUFZQkVfdGFwRG93bldpdGhU
YXBHZXN0dXJlVGVzdCkKICAgICBBU1NFUlRfRVEoR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6
Tm9HZXN0dXJlLCBnbS5zdGF0ZSgpKTsKIAogICAgIEJ1aWxkYWJsZVBsYXRmb3JtVG91Y2hQb2lu
dCBwcmVzcygxMCwgMTUsIFBsYXRmb3JtVG91Y2hQb2ludDo6VG91Y2hQcmVzc2VkKTsKLSAgICBC
dWlsZGFibGVQbGF0Zm9ybVRvdWNoRXZlbnQgcHJlc3NFdmVudChXZWJDb3JlOjpUb3VjaFN0YXJ0
LCBwcmVzcyk7CisgICAgQnVpbGRhYmxlUGxhdGZvcm1Ub3VjaEV2ZW50IHByZXNzRXZlbnQoV2Vi
Q29yZTo6VG91Y2hTdGFydCwgcHJlc3MsIDEwMDAuKTsKICAgICBHZXN0dXJlcyBnZXN0dXJlU3Rh
cnQoZ20ucHJvY2Vzc1RvdWNoRXZlbnRGb3JHZXN0dXJlcyhwcmVzc0V2ZW50LCBmYWxzZSkpOwog
ICAgIEFTU0VSVF9FUSgxdSwgZ2VzdHVyZVN0YXJ0LT5zaXplKCkpOwogICAgIEFTU0VSVF9FUShQ
bGF0Zm9ybUdlc3R1cmVFdmVudDo6VGFwRG93blR5cGUsICgqZ2VzdHVyZVN0YXJ0KVswXS50eXBl
KCkpOwogICAgIEFTU0VSVF9FUShHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjpQZW5kaW5nU3lu
dGhldGljQ2xpY2ssIGdtLnN0YXRlKCkpOwogCiAgICAgQnVpbGRhYmxlUGxhdGZvcm1Ub3VjaFBv
aW50IG1vdmUoMTAsIDE2LCBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoTW92ZWQpOwotICAgIEJ1
aWxkYWJsZVBsYXRmb3JtVG91Y2hFdmVudCBtb3ZlRXZlbnQoV2ViQ29yZTo6VG91Y2hNb3ZlLCBt
b3ZlKTsKKyAgICBCdWlsZGFibGVQbGF0Zm9ybVRvdWNoRXZlbnQgbW92ZUV2ZW50KFdlYkNvcmU6
OlRvdWNoTW92ZSwgbW92ZSwgMTAwMC4pOwogICAgIEdlc3R1cmVzIGdlc3R1cmVNb3ZlKGdtLnBy
b2Nlc3NUb3VjaEV2ZW50Rm9yR2VzdHVyZXMobW92ZUV2ZW50LCBmYWxzZSkpOwogICAgIEFTU0VS
VF9FUSgwdSwgZ2VzdHVyZU1vdmUtPnNpemUoKSk7CiAgICAgQVNTRVJUX0VRKEdlc3R1cmVSZWNv
Z25pemVyQ2hyb21pdW06OlBlbmRpbmdTeW50aGV0aWNDbGljaywgZ20uc3RhdGUoKSk7CiAKICAg
ICBCdWlsZGFibGVQbGF0Zm9ybVRvdWNoUG9pbnQgcmVsZWFzZSgxMCwgMTYsIFBsYXRmb3JtVG91
Y2hQb2ludDo6VG91Y2hSZWxlYXNlZCk7Ci0gICAgQnVpbGRhYmxlUGxhdGZvcm1Ub3VjaEV2ZW50
IHJlbGVhc2VFdmVudChXZWJDb3JlOjpUb3VjaEVuZCwgcmVsZWFzZSk7Ci0KLSAgICAvLyBzZXQg
Zmlyc3QgdG91Y2ggdGltZSBzbyB0aGF0IHdlIHBhc3MgdGhlIHRlc3QgZm9yCi0gICAgLy8gbWlu
aW11bVRvdWNoRG93bkR1cmF0aW9uSW5TZWNvbmRzRm9yQ2xpY2sKLSAgICBnbS5zZXRGaXJzdFRv
dWNoVGltZShnbS5maXJzdFRvdWNoVGltZSgpIC0gMC4wMSk7CisgICAgQnVpbGRhYmxlUGxhdGZv
cm1Ub3VjaEV2ZW50IHJlbGVhc2VFdmVudChXZWJDb3JlOjpUb3VjaEVuZCwgcmVsZWFzZSwgMTAw
MC4gKyAwLjAxMSk7CiAgICAgR2VzdHVyZXMgZ2VzdHVyZUVuZChnbS5wcm9jZXNzVG91Y2hFdmVu
dEZvckdlc3R1cmVzKHJlbGVhc2VFdmVudCwgZmFsc2UpKTsKICAgICBBU1NFUlRfRVEoMXUsIGdl
c3R1cmVFbmQtPnNpemUoKSk7CiAgICAgQVNTRVJUX0VRKFBsYXRmb3JtR2VzdHVyZUV2ZW50OjpU
YXBUeXBlLCAoKmdlc3R1cmVFbmQpWzBdLnR5cGUoKSk7CkBAIC00ODcsMTQgKzUxMCwxMyBAQCBU
RVNUX0YoR2VzdHVyZVJlY29nbml6ZXJUZXN0LCBnZXN0dXJlU2Nyb2xsRXZlbnRzKQogICAgIEFT
U0VSVF9FUShHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjpOb0dlc3R1cmUsIGdtLnN0YXRlKCkp
OwogCiAgICAgQnVpbGRhYmxlUGxhdGZvcm1Ub3VjaFBvaW50IHByZXNzKDEwLCAxNSwgUGxhdGZv
cm1Ub3VjaFBvaW50OjpUb3VjaFByZXNzZWQpOwotICAgIEJ1aWxkYWJsZVBsYXRmb3JtVG91Y2hF
dmVudCBwcmVzc0V2ZW50KFdlYkNvcmU6OlRvdWNoU3RhcnQsIHByZXNzKTsKKyAgICBCdWlsZGFi
bGVQbGF0Zm9ybVRvdWNoRXZlbnQgcHJlc3NFdmVudChXZWJDb3JlOjpUb3VjaFN0YXJ0LCBwcmVz
cywgMTAwMC4pOwogICAgIGdtLnByb2Nlc3NUb3VjaEV2ZW50Rm9yR2VzdHVyZXMocHJlc3NFdmVu
dCwgZmFsc2UpOwogCiAgICAgQVNTRVJUX0VRKEdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW06OlBl
bmRpbmdTeW50aGV0aWNDbGljaywgZ20uc3RhdGUoKSk7CiAKICAgICBCdWlsZGFibGVQbGF0Zm9y
bVRvdWNoUG9pbnQgbW92ZSgxMCwgNTAsIFBsYXRmb3JtVG91Y2hQb2ludDo6VG91Y2hNb3ZlZCk7
Ci0gICAgQnVpbGRhYmxlUGxhdGZvcm1Ub3VjaEV2ZW50IG1vdmVFdmVudChXZWJDb3JlOjpUb3Vj
aE1vdmUsIG1vdmUpOwotICAgIGdtLnNldExhc3RUb3VjaFRpbWUoZ20ubGFzdFRvdWNoVGltZSgp
IC0gMC4yKTsKKyAgICBCdWlsZGFibGVQbGF0Zm9ybVRvdWNoRXZlbnQgbW92ZUV2ZW50KFdlYkNv
cmU6OlRvdWNoTW92ZSwgbW92ZSwgMTAwMC4gKyAwLjIpOwogICAgIEdlc3R1cmVzIGdlc3R1cmVT
dGFydChnbS5wcm9jZXNzVG91Y2hFdmVudEZvckdlc3R1cmVzKG1vdmVFdmVudCwgZmFsc2UpKTsK
ICAgICBib29sIHNjcm9sbFN0YXJ0ZWQgPSBmYWxzZSwgc2Nyb2xsVXBkYXRlZCA9IGZhbHNlOwog
ICAgIGZvciAodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgZ2VzdHVyZVN0YXJ0LT5zaXplKCk7IGkr
KykgewpAQCAtNTE1LDggKzUzNyw3IEBAIFRFU1RfRihHZXN0dXJlUmVjb2duaXplclRlc3QsIGdl
c3R1cmVTY3JvbGxFdmVudHMpCiAgICAgQVNTRVJUX0VRKEdlc3R1cmVSZWNvZ25pemVyQ2hyb21p
dW06OlNjcm9sbCwgZ20uc3RhdGUoKSk7CiAKICAgICBCdWlsZGFibGVQbGF0Zm9ybVRvdWNoUG9p
bnQgcmVsZWFzZSgxMCwgNTAsIFBsYXRmb3JtVG91Y2hQb2ludDo6VG91Y2hSZWxlYXNlZCk7Ci0g
ICAgQnVpbGRhYmxlUGxhdGZvcm1Ub3VjaEV2ZW50IHJlbGVhc2VFdmVudChXZWJDb3JlOjpUb3Vj
aEVuZCwgcmVsZWFzZSk7Ci0gICAgZ20uc2V0TGFzdFRvdWNoVGltZShnbS5sYXN0VG91Y2hUaW1l
KCkgLSAwLjIpOworICAgIEJ1aWxkYWJsZVBsYXRmb3JtVG91Y2hFdmVudCByZWxlYXNlRXZlbnQo
V2ViQ29yZTo6VG91Y2hFbmQsIHJlbGVhc2UsIDEwMDAuICsgMC4yICsgMC4yKTsKICAgICBib29s
IHNjcm9sbEVuZCA9IGZhbHNlOwogICAgIEdlc3R1cmVzIGdlc3R1cmVFbmQoZ20ucHJvY2Vzc1Rv
dWNoRXZlbnRGb3JHZXN0dXJlcyhyZWxlYXNlRXZlbnQsIGZhbHNlKSk7CiAgICAgZm9yICh1bnNp
Z25lZCBpbnQgaSA9IDA7IGkgPCBnZXN0dXJlRW5kLT5zaXplKCk7IGkrKykgewo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109523</attachid>
            <date>2011-10-03 13:44:46 -0700</date>
            <delta_ts>2011-10-03 15:10:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69270-20111003163907.patch</filename>
            <type>text/plain</type>
            <size>11105</size>
            <attacher name="Varun Jain">varunjain</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTY1MTIKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5n
ZUxvZwppbmRleCAzMmMzMTZmYzI5NmIyM2RjMWRjYmJjNmZlYTAxZTczYmI5MGZhNGVhLi5jMzU3
YWQ5MzAzNWQ2YWU1NTFiM2U3ODM1OWJmMTljMTQ1MDEwYWViIDEwMDY0NAotLS0gYS9DaGFuZ2VM
b2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMTAtMDMgIFZhcnVuIEph
aW4gIDx2YXJ1bmphaW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEZpeCBwb3NpdGlvbiBjaGVj
ayBmb3IgZG91YmxlIHRhcCBnZXN0dXJlIGRldGVjdGlvbi4gQSBkb3VibGUgdGFwCisgICAgICAg
IHNob3VsZCBub3QgYmUgZGV0ZWN0ZWQgaWYgdGhlIHR3byB0YXBzIGFyZSBmYXIgZnJvbSBlYWNo
IG90aGVyLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NjkyNzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
ZXN0OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0lubmVyR2VzdHVyZVJlY29nbml6ZXJU
ZXN0LmNwcAorCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vR2VzdHVyZVJlY29nbml6ZXJD
aHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHZXN0dXJlUmVjb2duaXplckNocm9taXVt
Ojppc1NlY29uZENsaWNrSW5zaWRlTWFuaGF0dGFuU3F1YXJlKToKKyAgICAgICAgKFdlYkNvcmU6
Okdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW06OmNsaWNrKToKKyAgICAgICAgKiBwbGF0Zm9ybS9j
aHJvbWl1bS9HZXN0dXJlUmVjb2duaXplckNocm9taXVtLmg6CisKIDIwMTEtMDktMjMgIFRvciBB
cm5lIFZlc3Riw7ggIDx0b3IuYXJuZS52ZXN0Ym9Abm9raWEuY29tPgogCiAgICAgICAgIFtRdF0g
Rml4IGJ1aWxkIGFnYWluc3QgUXQ1IGFmdGVyIHJlZmFjdG9yIG9mIHdpZGdldHMgb3V0IG9mIFF0
R1VpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9HZXN0dXJl
UmVjb2duaXplckNocm9taXVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVt
L0dlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW0uY3BwCmluZGV4IGEwZGU5NjQxZTg0ZDJiYzlkYTY5
OThlNzJiYTIwZmIyNGZjYWEwNjEuLjMyNWE4ODU5Y2I5YzNmZDc3ZDg5Yjk2YzQxMDZmNmRkYmIx
YjdiNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0dlc3R1
cmVSZWNvZ25pemVyQ2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2No
cm9taXVtL0dlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW0uY3BwCkBAIC00NSw2ICs0NSw3IEBAIEdl
c3R1cmVSZWNvZ25pemVyQ2hyb21pdW06Okdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW0oKQogICAg
ICwgbV9zdGF0ZShHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjpOb0dlc3R1cmUpCiAgICAgLCBt
X2xhc3RUb3VjaFRpbWUoMC4wKQogICAgICwgbV9sYXN0Q2xpY2tUaW1lKDAuMCkKKyAgICAsIG1f
bGFzdENsaWNrUG9zaXRpb24oKQogICAgICwgbV9sYXN0VG91Y2hQb3NpdGlvbigpCiAgICAgLCBt
X2xhc3RUb3VjaFNjcmVlblBvc2l0aW9uKCkKICAgICAsIG1feFZlbG9jaXR5KDAuMCkKQEAgLTEx
MSw2ICsxMTIsMTIgQEAgYm9vbCBHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjppc0luc2lkZU1h
bmhhdHRhblNxdWFyZShjb25zdCBQbGF0Zm9ybVRvdWNoUG9pbnQKICAgICByZXR1cm4gbWFuaGF0
dGFuRGlzdGFuY2UgPCBtYXhpbXVtVG91Y2hNb3ZlSW5QaXhlbHNGb3JDbGljazsKIH0KIAorYm9v
bCBHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjppc1NlY29uZENsaWNrSW5zaWRlTWFuaGF0dGFu
U3F1YXJlKGNvbnN0IFBsYXRmb3JtVG91Y2hQb2ludCYgcG9pbnQpCit7CisgICAgaW50IG1hbmhh
dHRhbkRpc3RhbmNlID0gYWJzKHBvaW50LnBvcygpLngoKSAtIG1fbGFzdENsaWNrUG9zaXRpb24u
eCgpKSArIGFicyhwb2ludC5wb3MoKS55KCkgLSBtX2xhc3RDbGlja1Bvc2l0aW9uLnkoKSk7Cisg
ICAgcmV0dXJuIG1hbmhhdHRhbkRpc3RhbmNlIDwgbWF4aW11bVRvdWNoTW92ZUluUGl4ZWxzRm9y
Q2xpY2s7Cit9CisKIGJvb2wgR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6aXNPdmVyTWluRmxp
Y2tTcGVlZCgpCiB7CiAgICAgcmV0dXJuIChtX3hWZWxvY2l0eSAqIG1feFZlbG9jaXR5ICsgbV95
VmVsb2NpdHkgKiBtX3lWZWxvY2l0eSkgPiBtaW5GbGlja1NwZWVkU3F1YXJlZDsKQEAgLTIzMCw5
ICsyMzcsMTAgQEAgYm9vbCBHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjpjbGljayhjb25zdCBQ
bGF0Zm9ybVRvdWNoUG9pbnQmIHBvaW50LCBHZXN0dXJlcwogICAgIGlmIChpc0luQ2xpY2tUaW1l
V2luZG93KCkgJiYgaXNJbnNpZGVNYW5oYXR0YW5TcXVhcmUocG9pbnQpKSB7CiAgICAgICAgIGdl
c3R1cmVBZGRlZCA9IHRydWU7CiAgICAgICAgIGFwcGVuZENsaWNrR2VzdHVyZUV2ZW50KHBvaW50
LCBnZXN0dXJlcyk7Ci0gICAgICAgIGlmIChpc0luU2Vjb25kQ2xpY2tUaW1lV2luZG93KCkpCisg
ICAgICAgIGlmIChpc0luU2Vjb25kQ2xpY2tUaW1lV2luZG93KCkgJiYgaXNTZWNvbmRDbGlja0lu
c2lkZU1hbmhhdHRhblNxdWFyZShwb2ludCkpCiAgICAgICAgICAgICBhcHBlbmREb3VibGVDbGlj
a0dlc3R1cmVFdmVudChwb2ludCwgZ2VzdHVyZXMpOwogICAgICAgIG1fbGFzdENsaWNrVGltZSA9
IG1fbGFzdFRvdWNoVGltZTsKKyAgICAgICBtX2xhc3RDbGlja1Bvc2l0aW9uID0gbV9sYXN0VG91
Y2hQb3NpdGlvbjsKICAgICB9CiAgICAgcmVzZXQoKTsKICAgICByZXR1cm4gZ2VzdHVyZUFkZGVk
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vR2VzdHVyZVJl
Y29nbml6ZXJDaHJvbWl1bS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vR2Vz
dHVyZVJlY29nbml6ZXJDaHJvbWl1bS5oCmluZGV4IDZjNWU5YzU4OTE5ZGNjOGZhNTUzMDk3YjA5
ZGE1ZmJiYTE5ZDgzZGMuLjQ4ODk4NjZmNjYzNGI1NjAzOWE0ZWI1MTM0YTJlNzBhOTZkY2Y0Yjkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0dlc3R1cmVSZWNv
Z25pemVyQ2hyb21pdW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9H
ZXN0dXJlUmVjb2duaXplckNocm9taXVtLmgKQEAgLTc1LDYgKzc1LDcgQEAgcHJpdmF0ZToKICAg
ICBib29sIGlzSW5DbGlja1RpbWVXaW5kb3coKTsKICAgICBib29sIGlzSW5TZWNvbmRDbGlja1Rp
bWVXaW5kb3coKTsKICAgICBib29sIGlzSW5zaWRlTWFuaGF0dGFuU3F1YXJlKGNvbnN0IFBsYXRm
b3JtVG91Y2hQb2ludCYpOworICAgIGJvb2wgaXNTZWNvbmRDbGlja0luc2lkZU1hbmhhdHRhblNx
dWFyZShjb25zdCBQbGF0Zm9ybVRvdWNoUG9pbnQmKTsKICAgICBib29sIGlzT3Zlck1pbkZsaWNr
U3BlZWQoKTsKICAgICB2b2lkIHNldFN0YXRlKFN0YXRlIHZhbHVlKSB7IG1fc3RhdGUgPSB2YWx1
ZTsgfQogICAgIHZvaWQgdXBkYXRlVmFsdWVzKGRvdWJsZSB0b3VjaFRpbWUsIGNvbnN0IFBsYXRm
b3JtVG91Y2hQb2ludCYpOwpAQCAtOTMsNiArOTQsNyBAQCBwcml2YXRlOgogICAgIFN0YXRlIG1f
c3RhdGU7CiAgICAgZG91YmxlIG1fbGFzdFRvdWNoVGltZTsKICAgICBkb3VibGUgbV9sYXN0Q2xp
Y2tUaW1lOworICAgIEludFBvaW50IG1fbGFzdENsaWNrUG9zaXRpb247CiAgICAgSW50UG9pbnQg
bV9sYXN0VG91Y2hQb3NpdGlvbjsKICAgICBJbnRQb2ludCBtX2xhc3RUb3VjaFNjcmVlblBvc2l0
aW9uOwogICAgIGZsb2F0IG1feFZlbG9jaXR5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS90ZXN0cy9Jbm5lckdlc3R1cmVSZWNvZ25pemVyVGVzdC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3Rlc3RzL0lubmVyR2VzdHVyZVJlY29nbml6ZXJUZXN0LmNwcAppbmRleCBi
NGRkZmM5ZjhiYzY0ODk4ZTUwOWZhMTg3ZmI4ZGU4OGRkMzRiZjIzLi4zZjkyNmE2NTM1ZmUyYWM1
OTIyM2FjMmEwZmU4Y2VkNzI1MzZlZGJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3Rlc3RzL0lubmVyR2VzdHVyZVJlY29nbml6ZXJUZXN0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3Rlc3RzL0lubmVyR2VzdHVyZVJlY29nbml6ZXJUZXN0LmNwcApAQCAtMzU3
LDE1ICszNTcsMTQgQEAgVEVTVF9GKEdlc3R1cmVSZWNvZ25pemVyVGVzdCwgTUFZQkVfZG91Ymxl
VGFwR2VzdHVyZUluY29tcGxldGVUZXN0KQogICAgIEFTU0VSVF9FUShHZXN0dXJlUmVjb2duaXpl
ckNocm9taXVtOjpOb0dlc3R1cmUsIGdtLnN0YXRlKCkpOwogCiAgICAgQnVpbGRhYmxlUGxhdGZv
cm1Ub3VjaFBvaW50IHByZXNzKDEwLCAxNSwgUGxhdGZvcm1Ub3VjaFBvaW50OjpUb3VjaFByZXNz
ZWQpOwotICAgIEJ1aWxkYWJsZVBsYXRmb3JtVG91Y2hFdmVudCBwcmVzc0V2ZW50KFdlYkNvcmU6
OlRvdWNoU3RhcnQsIHByZXNzKTsKLSAgICBnbS5zZXRMYXN0VG91Y2hUaW1lKGdtLmxhc3RUb3Vj
aFRpbWUoKSAtIDAuMDEpOworICAgIEJ1aWxkYWJsZVBsYXRmb3JtVG91Y2hFdmVudCBwcmVzc0V2
ZW50KFdlYkNvcmU6OlRvdWNoU3RhcnQsIHByZXNzLCAxMDAwLiArIDAuNyArIDAuMDEpOwogICAg
IEdlc3R1cmVzIGdlc3R1cmVTdGFydChnbS5wcm9jZXNzVG91Y2hFdmVudEZvckdlc3R1cmVzKHBy
ZXNzRXZlbnQsIGZhbHNlKSk7CiAgICAgQVNTRVJUX0VRKDF1LCBnZXN0dXJlU3RhcnQtPnNpemUo
KSk7CiAgICAgQVNTRVJUX0VRKFBsYXRmb3JtR2VzdHVyZUV2ZW50OjpUYXBEb3duVHlwZSwgKCpn
ZXN0dXJlU3RhcnQpWzBdLnR5cGUoKSk7CiAgICAgQVNTRVJUX0VRKEdlc3R1cmVSZWNvZ25pemVy
Q2hyb21pdW06OlBlbmRpbmdTeW50aGV0aWNDbGljaywgZ20uc3RhdGUoKSk7CiAKICAgICBCdWls
ZGFibGVQbGF0Zm9ybVRvdWNoUG9pbnQgbW92ZSgxMCwgNTAsIFBsYXRmb3JtVG91Y2hQb2ludDo6
VG91Y2hNb3ZlZCk7Ci0gICAgQnVpbGRhYmxlUGxhdGZvcm1Ub3VjaEV2ZW50IG1vdmVFdmVudChX
ZWJDb3JlOjpUb3VjaE1vdmUsIG1vdmUpOworICAgIEJ1aWxkYWJsZVBsYXRmb3JtVG91Y2hFdmVu
dCBtb3ZlRXZlbnQoV2ViQ29yZTo6VG91Y2hNb3ZlLCBtb3ZlLCAxMDAwLiArIDAuNyArIDAuMDIp
OwogICAgIEdlc3R1cmVzIGdlc3R1cmVNb3ZlKGdtLnByb2Nlc3NUb3VjaEV2ZW50Rm9yR2VzdHVy
ZXMobW92ZUV2ZW50LCBmYWxzZSkpOwogICAgIEFTU0VSVF9FUSgydSwgZ2VzdHVyZU1vdmUtPnNp
emUoKSk7CiAgICAgQVNTRVJUX0VRKFBsYXRmb3JtR2VzdHVyZUV2ZW50OjpTY3JvbGxCZWdpblR5
cGUsICgqZ2VzdHVyZU1vdmUpWzBdLnR5cGUoKSk7CkBAIC0zNzMsMTQgKzM3Miw0MiBAQCBURVNU
X0YoR2VzdHVyZVJlY29nbml6ZXJUZXN0LCBNQVlCRV9kb3VibGVUYXBHZXN0dXJlSW5jb21wbGV0
ZVRlc3QpCiAgICAgQVNTRVJUX0VRKEdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW06OlNjcm9sbCwg
Z20uc3RhdGUoKSk7CiAKICAgICBCdWlsZGFibGVQbGF0Zm9ybVRvdWNoUG9pbnQgcmVsZWFzZSgx
MCwgNTAsIFBsYXRmb3JtVG91Y2hQb2ludDo6VG91Y2hSZWxlYXNlZCk7Ci0gICAgQnVpbGRhYmxl
UGxhdGZvcm1Ub3VjaEV2ZW50IHJlbGVhc2VFdmVudChXZWJDb3JlOjpUb3VjaEVuZCwgcmVsZWFz
ZSk7Ci0gICAgZ20uc2V0Rmlyc3RUb3VjaFRpbWUoZ20uZmlyc3RUb3VjaFRpbWUoKSAtIDAuMDEp
OworICAgIEJ1aWxkYWJsZVBsYXRmb3JtVG91Y2hFdmVudCByZWxlYXNlRXZlbnQoV2ViQ29yZTo6
VG91Y2hFbmQsIHJlbGVhc2UsIDEwMDAuICsgMC43ICsgMC4wMyk7CiAgICAgR2VzdHVyZXMgZ2Vz
dHVyZUVuZChnbS5wcm9jZXNzVG91Y2hFdmVudEZvckdlc3R1cmVzKHJlbGVhc2VFdmVudCwgZmFs
c2UpKTsKICAgICBBU1NFUlRfRVEoMXUsIGdlc3R1cmVFbmQtPnNpemUoKSk7CiAgICAgQVNTRVJU
X0VRKFBsYXRmb3JtR2VzdHVyZUV2ZW50OjpTY3JvbGxFbmRUeXBlLCAoKmdlc3R1cmVFbmQpWzBd
LnR5cGUoKSk7CiAgICAgQVNTRVJUX0VRKEdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW06Ok5vR2Vz
dHVyZSwgZ20uc3RhdGUoKSk7CiB9CiAKKyNpZiBPUyhNQUNfT1NfWCkKKyNkZWZpbmUgTUFZQkVf
ZG91YmxlVGFwR2VzdHVyZUluY29tcGxldGVEdWVUb1NlY29uZENsaWNrUG9zaXRpb25UZXN0IERJ
U0FCTEVEX2RvdWJsZVRhcEdlc3R1cmVJbmNvbXBsZXRlRHVlVG9TZWNvbmRDbGlja1Bvc2l0aW9u
VGVzdAorI2Vsc2UKKyNkZWZpbmUgTUFZQkVfZG91YmxlVGFwR2VzdHVyZUluY29tcGxldGVEdWVU
b1NlY29uZENsaWNrUG9zaXRpb25UZXN0IGRvdWJsZVRhcEdlc3R1cmVJbmNvbXBsZXRlRHVlVG9T
ZWNvbmRDbGlja1Bvc2l0aW9uVGVzdAorI2VuZGlmCisKK1RFU1RfRihHZXN0dXJlUmVjb2duaXpl
clRlc3QsIE1BWUJFX2RvdWJsZVRhcEdlc3R1cmVJbmNvbXBsZXRlRHVlVG9TZWNvbmRDbGlja1Bv
c2l0aW9uVGVzdCkKK3sKKyAgICBJbnNwZWN0YWJsZUdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW0g
Z207CisgICAgU2ltdWxhdGVBbmRUZXN0Rmlyc3RDbGljayhnbSk7CisgICAgQVNTRVJUX0VRKEdl
c3R1cmVSZWNvZ25pemVyQ2hyb21pdW06Ok5vR2VzdHVyZSwgZ20uc3RhdGUoKSk7CisKKyAgICBJ
bnRQb2ludCBhd2F5RnJvbUZpcnN0Q2xpY2soMjQsIDI2KTsKKworICAgIEJ1aWxkYWJsZVBsYXRm
b3JtVG91Y2hQb2ludCBwcmVzcyhhd2F5RnJvbUZpcnN0Q2xpY2sueCgpLCBhd2F5RnJvbUZpcnN0
Q2xpY2sueSgpLCBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoUHJlc3NlZCk7CisgICAgQnVpbGRh
YmxlUGxhdGZvcm1Ub3VjaEV2ZW50IHByZXNzRXZlbnQoV2ViQ29yZTo6VG91Y2hTdGFydCwgcHJl
c3MsIDEwMDAuICsgMC43ICsgMC4wMSk7CisgICAgR2VzdHVyZXMgZ2VzdHVyZVN0YXJ0KGdtLnBy
b2Nlc3NUb3VjaEV2ZW50Rm9yR2VzdHVyZXMocHJlc3NFdmVudCwgZmFsc2UpKTsKKyAgICBBU1NF
UlRfRVEoMXUsIGdlc3R1cmVTdGFydC0+c2l6ZSgpKTsKKyAgICBBU1NFUlRfRVEoUGxhdGZvcm1H
ZXN0dXJlRXZlbnQ6OlRhcERvd25UeXBlLCAoKmdlc3R1cmVTdGFydClbMF0udHlwZSgpKTsKKyAg
ICBBU1NFUlRfRVEoR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6UGVuZGluZ1N5bnRoZXRpY0Ns
aWNrLCBnbS5zdGF0ZSgpKTsKKworICAgIEJ1aWxkYWJsZVBsYXRmb3JtVG91Y2hQb2ludCByZWxl
YXNlKGF3YXlGcm9tRmlyc3RDbGljay54KCksIGF3YXlGcm9tRmlyc3RDbGljay55KCksIFBsYXRm
b3JtVG91Y2hQb2ludDo6VG91Y2hSZWxlYXNlZCk7CisgICAgQnVpbGRhYmxlUGxhdGZvcm1Ub3Vj
aEV2ZW50IHJlbGVhc2VFdmVudChXZWJDb3JlOjpUb3VjaEVuZCwgcmVsZWFzZSwgMTAwMC4gKyAw
LjcgKyAwLjAyNSk7CisgICAgR2VzdHVyZXMgZ2VzdHVyZUVuZChnbS5wcm9jZXNzVG91Y2hFdmVu
dEZvckdlc3R1cmVzKHJlbGVhc2VFdmVudCwgZmFsc2UpKTsKKyAgICBBU1NFUlRfRVEoMXUsIGdl
c3R1cmVFbmQtPnNpemUoKSk7CisgICAgQVNTRVJUX0VRKFBsYXRmb3JtR2VzdHVyZUV2ZW50OjpU
YXBUeXBlLCAoKmdlc3R1cmVFbmQpWzBdLnR5cGUoKSk7CisgICAgQVNTRVJUX0VRKEdlc3R1cmVS
ZWNvZ25pemVyQ2hyb21pdW06Ok5vR2VzdHVyZSwgZ20uc3RhdGUoKSk7Cit9CisKIFRFU1RfRihH
ZXN0dXJlUmVjb2duaXplclRlc3QsIHRhcERvd25XaXRob3V0VGFwR2VzdHVyZVRlc3QpCiB7CiAg
ICAgSW5zcGVjdGFibGVHZXN0dXJlUmVjb2duaXplckNocm9taXVtIGdtOwpAQCAtNDIwLDI0ICs0
NDcsMjAgQEAgVEVTVF9GKEdlc3R1cmVSZWNvZ25pemVyVGVzdCwgTUFZQkVfdGFwRG93bldpdGhU
YXBHZXN0dXJlVGVzdCkKICAgICBBU1NFUlRfRVEoR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6
Tm9HZXN0dXJlLCBnbS5zdGF0ZSgpKTsKIAogICAgIEJ1aWxkYWJsZVBsYXRmb3JtVG91Y2hQb2lu
dCBwcmVzcygxMCwgMTUsIFBsYXRmb3JtVG91Y2hQb2ludDo6VG91Y2hQcmVzc2VkKTsKLSAgICBC
dWlsZGFibGVQbGF0Zm9ybVRvdWNoRXZlbnQgcHJlc3NFdmVudChXZWJDb3JlOjpUb3VjaFN0YXJ0
LCBwcmVzcyk7CisgICAgQnVpbGRhYmxlUGxhdGZvcm1Ub3VjaEV2ZW50IHByZXNzRXZlbnQoV2Vi
Q29yZTo6VG91Y2hTdGFydCwgcHJlc3MsIDEwMDAuKTsKICAgICBHZXN0dXJlcyBnZXN0dXJlU3Rh
cnQoZ20ucHJvY2Vzc1RvdWNoRXZlbnRGb3JHZXN0dXJlcyhwcmVzc0V2ZW50LCBmYWxzZSkpOwog
ICAgIEFTU0VSVF9FUSgxdSwgZ2VzdHVyZVN0YXJ0LT5zaXplKCkpOwogICAgIEFTU0VSVF9FUShQ
bGF0Zm9ybUdlc3R1cmVFdmVudDo6VGFwRG93blR5cGUsICgqZ2VzdHVyZVN0YXJ0KVswXS50eXBl
KCkpOwogICAgIEFTU0VSVF9FUShHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjpQZW5kaW5nU3lu
dGhldGljQ2xpY2ssIGdtLnN0YXRlKCkpOwogCiAgICAgQnVpbGRhYmxlUGxhdGZvcm1Ub3VjaFBv
aW50IG1vdmUoMTAsIDE2LCBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoTW92ZWQpOwotICAgIEJ1
aWxkYWJsZVBsYXRmb3JtVG91Y2hFdmVudCBtb3ZlRXZlbnQoV2ViQ29yZTo6VG91Y2hNb3ZlLCBt
b3ZlKTsKKyAgICBCdWlsZGFibGVQbGF0Zm9ybVRvdWNoRXZlbnQgbW92ZUV2ZW50KFdlYkNvcmU6
OlRvdWNoTW92ZSwgbW92ZSwgMTAwMC4pOwogICAgIEdlc3R1cmVzIGdlc3R1cmVNb3ZlKGdtLnBy
b2Nlc3NUb3VjaEV2ZW50Rm9yR2VzdHVyZXMobW92ZUV2ZW50LCBmYWxzZSkpOwogICAgIEFTU0VS
VF9FUSgwdSwgZ2VzdHVyZU1vdmUtPnNpemUoKSk7CiAgICAgQVNTRVJUX0VRKEdlc3R1cmVSZWNv
Z25pemVyQ2hyb21pdW06OlBlbmRpbmdTeW50aGV0aWNDbGljaywgZ20uc3RhdGUoKSk7CiAKICAg
ICBCdWlsZGFibGVQbGF0Zm9ybVRvdWNoUG9pbnQgcmVsZWFzZSgxMCwgMTYsIFBsYXRmb3JtVG91
Y2hQb2ludDo6VG91Y2hSZWxlYXNlZCk7Ci0gICAgQnVpbGRhYmxlUGxhdGZvcm1Ub3VjaEV2ZW50
IHJlbGVhc2VFdmVudChXZWJDb3JlOjpUb3VjaEVuZCwgcmVsZWFzZSk7Ci0KLSAgICAvLyBzZXQg
Zmlyc3QgdG91Y2ggdGltZSBzbyB0aGF0IHdlIHBhc3MgdGhlIHRlc3QgZm9yCi0gICAgLy8gbWlu
aW11bVRvdWNoRG93bkR1cmF0aW9uSW5TZWNvbmRzRm9yQ2xpY2sKLSAgICBnbS5zZXRGaXJzdFRv
dWNoVGltZShnbS5maXJzdFRvdWNoVGltZSgpIC0gMC4wMSk7CisgICAgQnVpbGRhYmxlUGxhdGZv
cm1Ub3VjaEV2ZW50IHJlbGVhc2VFdmVudChXZWJDb3JlOjpUb3VjaEVuZCwgcmVsZWFzZSwgMTAw
MC4gKyAwLjAxMSk7CiAgICAgR2VzdHVyZXMgZ2VzdHVyZUVuZChnbS5wcm9jZXNzVG91Y2hFdmVu
dEZvckdlc3R1cmVzKHJlbGVhc2VFdmVudCwgZmFsc2UpKTsKICAgICBBU1NFUlRfRVEoMXUsIGdl
c3R1cmVFbmQtPnNpemUoKSk7CiAgICAgQVNTRVJUX0VRKFBsYXRmb3JtR2VzdHVyZUV2ZW50OjpU
YXBUeXBlLCAoKmdlc3R1cmVFbmQpWzBdLnR5cGUoKSk7CkBAIC00ODcsMTQgKzUxMCwxMyBAQCBU
RVNUX0YoR2VzdHVyZVJlY29nbml6ZXJUZXN0LCBnZXN0dXJlU2Nyb2xsRXZlbnRzKQogICAgIEFT
U0VSVF9FUShHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjpOb0dlc3R1cmUsIGdtLnN0YXRlKCkp
OwogCiAgICAgQnVpbGRhYmxlUGxhdGZvcm1Ub3VjaFBvaW50IHByZXNzKDEwLCAxNSwgUGxhdGZv
cm1Ub3VjaFBvaW50OjpUb3VjaFByZXNzZWQpOwotICAgIEJ1aWxkYWJsZVBsYXRmb3JtVG91Y2hF
dmVudCBwcmVzc0V2ZW50KFdlYkNvcmU6OlRvdWNoU3RhcnQsIHByZXNzKTsKKyAgICBCdWlsZGFi
bGVQbGF0Zm9ybVRvdWNoRXZlbnQgcHJlc3NFdmVudChXZWJDb3JlOjpUb3VjaFN0YXJ0LCBwcmVz
cywgMTAwMC4pOwogICAgIGdtLnByb2Nlc3NUb3VjaEV2ZW50Rm9yR2VzdHVyZXMocHJlc3NFdmVu
dCwgZmFsc2UpOwogCiAgICAgQVNTRVJUX0VRKEdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW06OlBl
bmRpbmdTeW50aGV0aWNDbGljaywgZ20uc3RhdGUoKSk7CiAKICAgICBCdWlsZGFibGVQbGF0Zm9y
bVRvdWNoUG9pbnQgbW92ZSgxMCwgNTAsIFBsYXRmb3JtVG91Y2hQb2ludDo6VG91Y2hNb3ZlZCk7
Ci0gICAgQnVpbGRhYmxlUGxhdGZvcm1Ub3VjaEV2ZW50IG1vdmVFdmVudChXZWJDb3JlOjpUb3Vj
aE1vdmUsIG1vdmUpOwotICAgIGdtLnNldExhc3RUb3VjaFRpbWUoZ20ubGFzdFRvdWNoVGltZSgp
IC0gMC4yKTsKKyAgICBCdWlsZGFibGVQbGF0Zm9ybVRvdWNoRXZlbnQgbW92ZUV2ZW50KFdlYkNv
cmU6OlRvdWNoTW92ZSwgbW92ZSwgMTAwMC4gKyAwLjIpOwogICAgIEdlc3R1cmVzIGdlc3R1cmVT
dGFydChnbS5wcm9jZXNzVG91Y2hFdmVudEZvckdlc3R1cmVzKG1vdmVFdmVudCwgZmFsc2UpKTsK
ICAgICBib29sIHNjcm9sbFN0YXJ0ZWQgPSBmYWxzZSwgc2Nyb2xsVXBkYXRlZCA9IGZhbHNlOwog
ICAgIGZvciAodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgZ2VzdHVyZVN0YXJ0LT5zaXplKCk7IGkr
KykgewpAQCAtNTE1LDggKzUzNyw3IEBAIFRFU1RfRihHZXN0dXJlUmVjb2duaXplclRlc3QsIGdl
c3R1cmVTY3JvbGxFdmVudHMpCiAgICAgQVNTRVJUX0VRKEdlc3R1cmVSZWNvZ25pemVyQ2hyb21p
dW06OlNjcm9sbCwgZ20uc3RhdGUoKSk7CiAKICAgICBCdWlsZGFibGVQbGF0Zm9ybVRvdWNoUG9p
bnQgcmVsZWFzZSgxMCwgNTAsIFBsYXRmb3JtVG91Y2hQb2ludDo6VG91Y2hSZWxlYXNlZCk7Ci0g
ICAgQnVpbGRhYmxlUGxhdGZvcm1Ub3VjaEV2ZW50IHJlbGVhc2VFdmVudChXZWJDb3JlOjpUb3Vj
aEVuZCwgcmVsZWFzZSk7Ci0gICAgZ20uc2V0TGFzdFRvdWNoVGltZShnbS5sYXN0VG91Y2hUaW1l
KCkgLSAwLjIpOworICAgIEJ1aWxkYWJsZVBsYXRmb3JtVG91Y2hFdmVudCByZWxlYXNlRXZlbnQo
V2ViQ29yZTo6VG91Y2hFbmQsIHJlbGVhc2UsIDEwMDAuICsgMC4yICsgMC4yKTsKICAgICBib29s
IHNjcm9sbEVuZCA9IGZhbHNlOwogICAgIEdlc3R1cmVzIGdlc3R1cmVFbmQoZ20ucHJvY2Vzc1Rv
dWNoRXZlbnRGb3JHZXN0dXJlcyhyZWxlYXNlRXZlbnQsIGZhbHNlKSk7CiAgICAgZm9yICh1bnNp
Z25lZCBpbnQgaSA9IDA7IGkgPCBnZXN0dXJlRW5kLT5zaXplKCk7IGkrKykgewo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109537</attachid>
            <date>2011-10-03 15:11:03 -0700</date>
            <delta_ts>2011-10-04 15:47:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69270-20111003180524.patch</filename>
            <type>text/plain</type>
            <size>13862</size>
            <attacher name="Varun Jain">varunjain</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTY1MTIKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5n
ZUxvZwppbmRleCAzMmMzMTZmYzI5NmIyM2RjMWRjYmJjNmZlYTAxZTczYmI5MGZhNGVhLi40MmY3
ZDRiZmJlNThhMzFkNGE5MTY2YTI0MjczM2IxNGU4MzE3MjIzIDEwMDY0NAotLS0gYS9DaGFuZ2VM
b2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMTAtMDMgIFZhcnVuIEph
aW4gIDx2YXJ1bmphaW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEZpeCBwb3NpdGlvbiBjaGVj
ayBmb3IgZG91YmxlIHRhcCBnZXN0dXJlIGRldGVjdGlvbi4gQSBkb3VibGUgdGFwCisgICAgICAg
IHNob3VsZCBub3QgYmUgZGV0ZWN0ZWQgaWYgdGhlIHR3byB0YXBzIGFyZSBmYXIgZnJvbSBlYWNo
IG90aGVyLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NjkyNzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
ZXN0OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0lubmVyR2VzdHVyZVJlY29nbml6ZXJU
ZXN0LmNwcAorCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vR2VzdHVyZVJlY29nbml6ZXJD
aHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHZXN0dXJlUmVjb2duaXplckNocm9taXVt
Ojppc1NlY29uZENsaWNrSW5zaWRlTWFuaGF0dGFuU3F1YXJlKToKKyAgICAgICAgKFdlYkNvcmU6
Okdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW06OnVwZGF0ZVZhbHVlcyk6CisgICAgICAgIChXZWJD
b3JlOjpHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjpjbGljayk6CisgICAgICAgICogcGxhdGZv
cm0vY2hyb21pdW0vR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bS5oOgorCiAyMDExLTA5LTIzICBU
b3IgQXJuZSBWZXN0YsO4ICA8dG9yLmFybmUudmVzdGJvQG5va2lhLmNvbT4KIAogICAgICAgICBb
UXRdIEZpeCBidWlsZCBhZ2FpbnN0IFF0NSBhZnRlciByZWZhY3RvciBvZiB3aWRnZXRzIG91dCBv
ZiBRdEdVaQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vR2Vz
dHVyZVJlY29nbml6ZXJDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJv
bWl1bS9HZXN0dXJlUmVjb2duaXplckNocm9taXVtLmNwcAppbmRleCBhMGRlOTY0MWU4NGQyYmM5
ZGE2OTk4ZTcyYmEyMGZiMjRmY2FhMDYxLi5lZmI1M2RjZGZlZTdiNjhmNTI0MTI2OTQ3OGRkNmE4
Njc3NDM3YjRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9H
ZXN0dXJlUmVjb2duaXplckNocm9taXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9jaHJvbWl1bS9HZXN0dXJlUmVjb2duaXplckNocm9taXVtLmNwcApAQCAtNDUsNiArNDUsNyBA
QCBHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjpHZXN0dXJlUmVjb2duaXplckNocm9taXVtKCkK
ICAgICAsIG1fc3RhdGUoR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6Tm9HZXN0dXJlKQogICAg
ICwgbV9sYXN0VG91Y2hUaW1lKDAuMCkKICAgICAsIG1fbGFzdENsaWNrVGltZSgwLjApCisgICAg
LCBtX2xhc3RDbGlja1Bvc2l0aW9uKCkKICAgICAsIG1fbGFzdFRvdWNoUG9zaXRpb24oKQogICAg
ICwgbV9sYXN0VG91Y2hTY3JlZW5Qb3NpdGlvbigpCiAgICAgLCBtX3hWZWxvY2l0eSgwLjApCkBA
IC0xMTEsNiArMTEyLDEyIEBAIGJvb2wgR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6aXNJbnNp
ZGVNYW5oYXR0YW5TcXVhcmUoY29uc3QgUGxhdGZvcm1Ub3VjaFBvaW50CiAgICAgcmV0dXJuIG1h
bmhhdHRhbkRpc3RhbmNlIDwgbWF4aW11bVRvdWNoTW92ZUluUGl4ZWxzRm9yQ2xpY2s7CiB9CiAK
K2Jvb2wgR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6aXNTZWNvbmRDbGlja0luc2lkZU1hbmhh
dHRhblNxdWFyZShjb25zdCBQbGF0Zm9ybVRvdWNoUG9pbnQmIHBvaW50KQoreworICAgIGludCBt
YW5oYXR0YW5EaXN0YW5jZSA9IGFicyhwb2ludC5wb3MoKS54KCkgLSBtX2xhc3RDbGlja1Bvc2l0
aW9uLngoKSkgKyBhYnMocG9pbnQucG9zKCkueSgpIC0gbV9sYXN0Q2xpY2tQb3NpdGlvbi55KCkp
OworICAgIHJldHVybiBtYW5oYXR0YW5EaXN0YW5jZSA8IG1heGltdW1Ub3VjaE1vdmVJblBpeGVs
c0ZvckNsaWNrOworfQorCiBib29sIEdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW06OmlzT3Zlck1p
bkZsaWNrU3BlZWQoKQogewogICAgIHJldHVybiAobV94VmVsb2NpdHkgKiBtX3hWZWxvY2l0eSAr
IG1feVZlbG9jaXR5ICogbV95VmVsb2NpdHkpID4gbWluRmxpY2tTcGVlZFNxdWFyZWQ7CkBAIC0x
NzUsMTAgKzE4MiwxMCBAQCB2b2lkIEdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW06OnVwZGF0ZVZh
bHVlcyhjb25zdCBkb3VibGUgdG91Y2hUaW1lLCBjb25zdCBQbGF0ZgogICAgICAgICBkb3VibGUg
aW50ZXJ2YWwodG91Y2hUaW1lIC0gbV9sYXN0VG91Y2hUaW1lKTsKICAgICAgICAgbV94VmVsb2Np
dHkgPSAodG91Y2hQb2ludC5wb3MoKS54KCkgLSBtX2xhc3RUb3VjaFBvc2l0aW9uLngoKSkgLyBp
bnRlcnZhbDsKICAgICAgICAgbV95VmVsb2NpdHkgPSAodG91Y2hQb2ludC5wb3MoKS55KCkgLSBt
X2xhc3RUb3VjaFBvc2l0aW9uLnkoKSkgLyBpbnRlcnZhbDsKLSAgICAgICAgbV9sYXN0VG91Y2hQ
b3NpdGlvbiA9IHRvdWNoUG9pbnQucG9zKCk7Ci0gICAgICAgIG1fbGFzdFRvdWNoU2NyZWVuUG9z
aXRpb24gPSB0b3VjaFBvaW50LnNjcmVlblBvcygpOwogICAgIH0KICAgICBtX2xhc3RUb3VjaFRp
bWUgPSB0b3VjaFRpbWU7CisgICAgbV9sYXN0VG91Y2hQb3NpdGlvbiA9IHRvdWNoUG9pbnQucG9z
KCk7CisgICAgbV9sYXN0VG91Y2hTY3JlZW5Qb3NpdGlvbiA9IHRvdWNoUG9pbnQuc2NyZWVuUG9z
KCk7CiAgICAgaWYgKHN0YXRlKCkgPT0gTm9HZXN0dXJlKSB7CiAgICAgICAgIG1fZmlyc3RUb3Vj
aFRpbWUgPSB0b3VjaFRpbWU7CiAgICAgICAgIG1fZmlyc3RUb3VjaFBvc2l0aW9uID0gdG91Y2hQ
b2ludC5wb3MoKTsKQEAgLTIzMCw5ICsyMzcsMTAgQEAgYm9vbCBHZXN0dXJlUmVjb2duaXplckNo
cm9taXVtOjpjbGljayhjb25zdCBQbGF0Zm9ybVRvdWNoUG9pbnQmIHBvaW50LCBHZXN0dXJlcwog
ICAgIGlmIChpc0luQ2xpY2tUaW1lV2luZG93KCkgJiYgaXNJbnNpZGVNYW5oYXR0YW5TcXVhcmUo
cG9pbnQpKSB7CiAgICAgICAgIGdlc3R1cmVBZGRlZCA9IHRydWU7CiAgICAgICAgIGFwcGVuZENs
aWNrR2VzdHVyZUV2ZW50KHBvaW50LCBnZXN0dXJlcyk7Ci0gICAgICAgIGlmIChpc0luU2Vjb25k
Q2xpY2tUaW1lV2luZG93KCkpCisgICAgICAgIGlmIChpc0luU2Vjb25kQ2xpY2tUaW1lV2luZG93
KCkgJiYgaXNTZWNvbmRDbGlja0luc2lkZU1hbmhhdHRhblNxdWFyZShwb2ludCkpCiAgICAgICAg
ICAgICBhcHBlbmREb3VibGVDbGlja0dlc3R1cmVFdmVudChwb2ludCwgZ2VzdHVyZXMpOwotICAg
ICAgIG1fbGFzdENsaWNrVGltZSA9IG1fbGFzdFRvdWNoVGltZTsKKyAgICAgICAgbV9sYXN0Q2xp
Y2tUaW1lID0gbV9sYXN0VG91Y2hUaW1lOworICAgICAgICBtX2xhc3RDbGlja1Bvc2l0aW9uID0g
bV9sYXN0VG91Y2hQb3NpdGlvbjsKICAgICB9CiAgICAgcmVzZXQoKTsKICAgICByZXR1cm4gZ2Vz
dHVyZUFkZGVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0v
R2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hy
b21pdW0vR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bS5oCmluZGV4IDZjNWU5YzU4OTE5ZGNjOGZh
NTUzMDk3YjA5ZGE1ZmJiYTE5ZDgzZGMuLjQ4ODk4NjZmNjYzNGI1NjAzOWE0ZWI1MTM0YTJlNzBh
OTZkY2Y0YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0dl
c3R1cmVSZWNvZ25pemVyQ2hyb21pdW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9j
aHJvbWl1bS9HZXN0dXJlUmVjb2duaXplckNocm9taXVtLmgKQEAgLTc1LDYgKzc1LDcgQEAgcHJp
dmF0ZToKICAgICBib29sIGlzSW5DbGlja1RpbWVXaW5kb3coKTsKICAgICBib29sIGlzSW5TZWNv
bmRDbGlja1RpbWVXaW5kb3coKTsKICAgICBib29sIGlzSW5zaWRlTWFuaGF0dGFuU3F1YXJlKGNv
bnN0IFBsYXRmb3JtVG91Y2hQb2ludCYpOworICAgIGJvb2wgaXNTZWNvbmRDbGlja0luc2lkZU1h
bmhhdHRhblNxdWFyZShjb25zdCBQbGF0Zm9ybVRvdWNoUG9pbnQmKTsKICAgICBib29sIGlzT3Zl
ck1pbkZsaWNrU3BlZWQoKTsKICAgICB2b2lkIHNldFN0YXRlKFN0YXRlIHZhbHVlKSB7IG1fc3Rh
dGUgPSB2YWx1ZTsgfQogICAgIHZvaWQgdXBkYXRlVmFsdWVzKGRvdWJsZSB0b3VjaFRpbWUsIGNv
bnN0IFBsYXRmb3JtVG91Y2hQb2ludCYpOwpAQCAtOTMsNiArOTQsNyBAQCBwcml2YXRlOgogICAg
IFN0YXRlIG1fc3RhdGU7CiAgICAgZG91YmxlIG1fbGFzdFRvdWNoVGltZTsKICAgICBkb3VibGUg
bV9sYXN0Q2xpY2tUaW1lOworICAgIEludFBvaW50IG1fbGFzdENsaWNrUG9zaXRpb247CiAgICAg
SW50UG9pbnQgbV9sYXN0VG91Y2hQb3NpdGlvbjsKICAgICBJbnRQb2ludCBtX2xhc3RUb3VjaFNj
cmVlblBvc2l0aW9uOwogICAgIGZsb2F0IG1feFZlbG9jaXR5OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS90ZXN0cy9Jbm5lckdlc3R1cmVSZWNvZ25pemVyVGVzdC5jcHAgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0lubmVyR2VzdHVyZVJlY29nbml6ZXJUZXN0LmNw
cAppbmRleCBiNGRkZmM5ZjhiYzY0ODk4ZTUwOWZhMTg3ZmI4ZGU4OGRkMzRiZjIzLi5hZjQ0Njlh
M2I0MDMwN2QzNjljYWUwZTJiNjhjYTQ4YWI0NWRmYzRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3Rlc3RzL0lubmVyR2VzdHVyZVJlY29nbml6ZXJUZXN0LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0lubmVyR2VzdHVyZVJlY29nbml6ZXJUZXN0LmNw
cApAQCAtMzU3LDE1ICszNTcsMTQgQEAgVEVTVF9GKEdlc3R1cmVSZWNvZ25pemVyVGVzdCwgTUFZ
QkVfZG91YmxlVGFwR2VzdHVyZUluY29tcGxldGVUZXN0KQogICAgIEFTU0VSVF9FUShHZXN0dXJl
UmVjb2duaXplckNocm9taXVtOjpOb0dlc3R1cmUsIGdtLnN0YXRlKCkpOwogCiAgICAgQnVpbGRh
YmxlUGxhdGZvcm1Ub3VjaFBvaW50IHByZXNzKDEwLCAxNSwgUGxhdGZvcm1Ub3VjaFBvaW50OjpU
b3VjaFByZXNzZWQpOwotICAgIEJ1aWxkYWJsZVBsYXRmb3JtVG91Y2hFdmVudCBwcmVzc0V2ZW50
KFdlYkNvcmU6OlRvdWNoU3RhcnQsIHByZXNzKTsKLSAgICBnbS5zZXRMYXN0VG91Y2hUaW1lKGdt
Lmxhc3RUb3VjaFRpbWUoKSAtIDAuMDEpOworICAgIEJ1aWxkYWJsZVBsYXRmb3JtVG91Y2hFdmVu
dCBwcmVzc0V2ZW50KFdlYkNvcmU6OlRvdWNoU3RhcnQsIHByZXNzLCAxMDAwLiArIDAuNyArIDAu
MDEpOwogICAgIEdlc3R1cmVzIGdlc3R1cmVTdGFydChnbS5wcm9jZXNzVG91Y2hFdmVudEZvckdl
c3R1cmVzKHByZXNzRXZlbnQsIGZhbHNlKSk7CiAgICAgQVNTRVJUX0VRKDF1LCBnZXN0dXJlU3Rh
cnQtPnNpemUoKSk7CiAgICAgQVNTRVJUX0VRKFBsYXRmb3JtR2VzdHVyZUV2ZW50OjpUYXBEb3du
VHlwZSwgKCpnZXN0dXJlU3RhcnQpWzBdLnR5cGUoKSk7CiAgICAgQVNTRVJUX0VRKEdlc3R1cmVS
ZWNvZ25pemVyQ2hyb21pdW06OlBlbmRpbmdTeW50aGV0aWNDbGljaywgZ20uc3RhdGUoKSk7CiAK
ICAgICBCdWlsZGFibGVQbGF0Zm9ybVRvdWNoUG9pbnQgbW92ZSgxMCwgNTAsIFBsYXRmb3JtVG91
Y2hQb2ludDo6VG91Y2hNb3ZlZCk7Ci0gICAgQnVpbGRhYmxlUGxhdGZvcm1Ub3VjaEV2ZW50IG1v
dmVFdmVudChXZWJDb3JlOjpUb3VjaE1vdmUsIG1vdmUpOworICAgIEJ1aWxkYWJsZVBsYXRmb3Jt
VG91Y2hFdmVudCBtb3ZlRXZlbnQoV2ViQ29yZTo6VG91Y2hNb3ZlLCBtb3ZlLCAxMDAwLiArIDAu
NyArIDAuMDIpOwogICAgIEdlc3R1cmVzIGdlc3R1cmVNb3ZlKGdtLnByb2Nlc3NUb3VjaEV2ZW50
Rm9yR2VzdHVyZXMobW92ZUV2ZW50LCBmYWxzZSkpOwogICAgIEFTU0VSVF9FUSgydSwgZ2VzdHVy
ZU1vdmUtPnNpemUoKSk7CiAgICAgQVNTRVJUX0VRKFBsYXRmb3JtR2VzdHVyZUV2ZW50OjpTY3Jv
bGxCZWdpblR5cGUsICgqZ2VzdHVyZU1vdmUpWzBdLnR5cGUoKSk7CkBAIC0zNzMsMTQgKzM3Miw0
MiBAQCBURVNUX0YoR2VzdHVyZVJlY29nbml6ZXJUZXN0LCBNQVlCRV9kb3VibGVUYXBHZXN0dXJl
SW5jb21wbGV0ZVRlc3QpCiAgICAgQVNTRVJUX0VRKEdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW06
OlNjcm9sbCwgZ20uc3RhdGUoKSk7CiAKICAgICBCdWlsZGFibGVQbGF0Zm9ybVRvdWNoUG9pbnQg
cmVsZWFzZSgxMCwgNTAsIFBsYXRmb3JtVG91Y2hQb2ludDo6VG91Y2hSZWxlYXNlZCk7Ci0gICAg
QnVpbGRhYmxlUGxhdGZvcm1Ub3VjaEV2ZW50IHJlbGVhc2VFdmVudChXZWJDb3JlOjpUb3VjaEVu
ZCwgcmVsZWFzZSk7Ci0gICAgZ20uc2V0Rmlyc3RUb3VjaFRpbWUoZ20uZmlyc3RUb3VjaFRpbWUo
KSAtIDAuMDEpOworICAgIEJ1aWxkYWJsZVBsYXRmb3JtVG91Y2hFdmVudCByZWxlYXNlRXZlbnQo
V2ViQ29yZTo6VG91Y2hFbmQsIHJlbGVhc2UsIDEwMDAuICsgMC43ICsgMC4wMyk7CiAgICAgR2Vz
dHVyZXMgZ2VzdHVyZUVuZChnbS5wcm9jZXNzVG91Y2hFdmVudEZvckdlc3R1cmVzKHJlbGVhc2VF
dmVudCwgZmFsc2UpKTsKICAgICBBU1NFUlRfRVEoMXUsIGdlc3R1cmVFbmQtPnNpemUoKSk7CiAg
ICAgQVNTRVJUX0VRKFBsYXRmb3JtR2VzdHVyZUV2ZW50OjpTY3JvbGxFbmRUeXBlLCAoKmdlc3R1
cmVFbmQpWzBdLnR5cGUoKSk7CiAgICAgQVNTRVJUX0VRKEdlc3R1cmVSZWNvZ25pemVyQ2hyb21p
dW06Ok5vR2VzdHVyZSwgZ20uc3RhdGUoKSk7CiB9CiAKKyNpZiBPUyhNQUNfT1NfWCkKKyNkZWZp
bmUgTUFZQkVfZG91YmxlVGFwR2VzdHVyZUluY29tcGxldGVEdWVUb1NlY29uZENsaWNrUG9zaXRp
b25UZXN0IERJU0FCTEVEX2RvdWJsZVRhcEdlc3R1cmVJbmNvbXBsZXRlRHVlVG9TZWNvbmRDbGlj
a1Bvc2l0aW9uVGVzdAorI2Vsc2UKKyNkZWZpbmUgTUFZQkVfZG91YmxlVGFwR2VzdHVyZUluY29t
cGxldGVEdWVUb1NlY29uZENsaWNrUG9zaXRpb25UZXN0IGRvdWJsZVRhcEdlc3R1cmVJbmNvbXBs
ZXRlRHVlVG9TZWNvbmRDbGlja1Bvc2l0aW9uVGVzdAorI2VuZGlmCisKK1RFU1RfRihHZXN0dXJl
UmVjb2duaXplclRlc3QsIE1BWUJFX2RvdWJsZVRhcEdlc3R1cmVJbmNvbXBsZXRlRHVlVG9TZWNv
bmRDbGlja1Bvc2l0aW9uVGVzdCkKK3sKKyAgICBJbnNwZWN0YWJsZUdlc3R1cmVSZWNvZ25pemVy
Q2hyb21pdW0gZ207CisgICAgU2ltdWxhdGVBbmRUZXN0Rmlyc3RDbGljayhnbSk7CisgICAgQVNT
RVJUX0VRKEdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW06Ok5vR2VzdHVyZSwgZ20uc3RhdGUoKSk7
CisKKyAgICBJbnRQb2ludCBhd2F5RnJvbUZpcnN0Q2xpY2soMjQsIDI2KTsKKworICAgIEJ1aWxk
YWJsZVBsYXRmb3JtVG91Y2hQb2ludCBwcmVzcyhhd2F5RnJvbUZpcnN0Q2xpY2sueCgpLCBhd2F5
RnJvbUZpcnN0Q2xpY2sueSgpLCBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoUHJlc3NlZCk7Cisg
ICAgQnVpbGRhYmxlUGxhdGZvcm1Ub3VjaEV2ZW50IHByZXNzRXZlbnQoV2ViQ29yZTo6VG91Y2hT
dGFydCwgcHJlc3MsIDEwMDAuICsgMC43ICsgMC4wMSk7CisgICAgR2VzdHVyZXMgZ2VzdHVyZVN0
YXJ0KGdtLnByb2Nlc3NUb3VjaEV2ZW50Rm9yR2VzdHVyZXMocHJlc3NFdmVudCwgZmFsc2UpKTsK
KyAgICBBU1NFUlRfRVEoMXUsIGdlc3R1cmVTdGFydC0+c2l6ZSgpKTsKKyAgICBBU1NFUlRfRVEo
UGxhdGZvcm1HZXN0dXJlRXZlbnQ6OlRhcERvd25UeXBlLCAoKmdlc3R1cmVTdGFydClbMF0udHlw
ZSgpKTsKKyAgICBBU1NFUlRfRVEoR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6UGVuZGluZ1N5
bnRoZXRpY0NsaWNrLCBnbS5zdGF0ZSgpKTsKKworICAgIEJ1aWxkYWJsZVBsYXRmb3JtVG91Y2hQ
b2ludCByZWxlYXNlKGF3YXlGcm9tRmlyc3RDbGljay54KCksIGF3YXlGcm9tRmlyc3RDbGljay55
KCksIFBsYXRmb3JtVG91Y2hQb2ludDo6VG91Y2hSZWxlYXNlZCk7CisgICAgQnVpbGRhYmxlUGxh
dGZvcm1Ub3VjaEV2ZW50IHJlbGVhc2VFdmVudChXZWJDb3JlOjpUb3VjaEVuZCwgcmVsZWFzZSwg
MTAwMC4gKyAwLjcgKyAwLjAyNSk7CisgICAgR2VzdHVyZXMgZ2VzdHVyZUVuZChnbS5wcm9jZXNz
VG91Y2hFdmVudEZvckdlc3R1cmVzKHJlbGVhc2VFdmVudCwgZmFsc2UpKTsKKyAgICBBU1NFUlRf
RVEoMXUsIGdlc3R1cmVFbmQtPnNpemUoKSk7CisgICAgQVNTRVJUX0VRKFBsYXRmb3JtR2VzdHVy
ZUV2ZW50OjpUYXBUeXBlLCAoKmdlc3R1cmVFbmQpWzBdLnR5cGUoKSk7CisgICAgQVNTRVJUX0VR
KEdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW06Ok5vR2VzdHVyZSwgZ20uc3RhdGUoKSk7Cit9CisK
IFRFU1RfRihHZXN0dXJlUmVjb2duaXplclRlc3QsIHRhcERvd25XaXRob3V0VGFwR2VzdHVyZVRl
c3QpCiB7CiAgICAgSW5zcGVjdGFibGVHZXN0dXJlUmVjb2duaXplckNocm9taXVtIGdtOwpAQCAt
NDIwLDI0ICs0NDcsMjAgQEAgVEVTVF9GKEdlc3R1cmVSZWNvZ25pemVyVGVzdCwgTUFZQkVfdGFw
RG93bldpdGhUYXBHZXN0dXJlVGVzdCkKICAgICBBU1NFUlRfRVEoR2VzdHVyZVJlY29nbml6ZXJD
aHJvbWl1bTo6Tm9HZXN0dXJlLCBnbS5zdGF0ZSgpKTsKIAogICAgIEJ1aWxkYWJsZVBsYXRmb3Jt
VG91Y2hQb2ludCBwcmVzcygxMCwgMTUsIFBsYXRmb3JtVG91Y2hQb2ludDo6VG91Y2hQcmVzc2Vk
KTsKLSAgICBCdWlsZGFibGVQbGF0Zm9ybVRvdWNoRXZlbnQgcHJlc3NFdmVudChXZWJDb3JlOjpU
b3VjaFN0YXJ0LCBwcmVzcyk7CisgICAgQnVpbGRhYmxlUGxhdGZvcm1Ub3VjaEV2ZW50IHByZXNz
RXZlbnQoV2ViQ29yZTo6VG91Y2hTdGFydCwgcHJlc3MsIDEwMDAuKTsKICAgICBHZXN0dXJlcyBn
ZXN0dXJlU3RhcnQoZ20ucHJvY2Vzc1RvdWNoRXZlbnRGb3JHZXN0dXJlcyhwcmVzc0V2ZW50LCBm
YWxzZSkpOwogICAgIEFTU0VSVF9FUSgxdSwgZ2VzdHVyZVN0YXJ0LT5zaXplKCkpOwogICAgIEFT
U0VSVF9FUShQbGF0Zm9ybUdlc3R1cmVFdmVudDo6VGFwRG93blR5cGUsICgqZ2VzdHVyZVN0YXJ0
KVswXS50eXBlKCkpOwogICAgIEFTU0VSVF9FUShHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjpQ
ZW5kaW5nU3ludGhldGljQ2xpY2ssIGdtLnN0YXRlKCkpOwogCiAgICAgQnVpbGRhYmxlUGxhdGZv
cm1Ub3VjaFBvaW50IG1vdmUoMTAsIDE2LCBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoTW92ZWQp
OwotICAgIEJ1aWxkYWJsZVBsYXRmb3JtVG91Y2hFdmVudCBtb3ZlRXZlbnQoV2ViQ29yZTo6VG91
Y2hNb3ZlLCBtb3ZlKTsKKyAgICBCdWlsZGFibGVQbGF0Zm9ybVRvdWNoRXZlbnQgbW92ZUV2ZW50
KFdlYkNvcmU6OlRvdWNoTW92ZSwgbW92ZSwgMTAwMC4pOwogICAgIEdlc3R1cmVzIGdlc3R1cmVN
b3ZlKGdtLnByb2Nlc3NUb3VjaEV2ZW50Rm9yR2VzdHVyZXMobW92ZUV2ZW50LCBmYWxzZSkpOwog
ICAgIEFTU0VSVF9FUSgwdSwgZ2VzdHVyZU1vdmUtPnNpemUoKSk7CiAgICAgQVNTRVJUX0VRKEdl
c3R1cmVSZWNvZ25pemVyQ2hyb21pdW06OlBlbmRpbmdTeW50aGV0aWNDbGljaywgZ20uc3RhdGUo
KSk7CiAKICAgICBCdWlsZGFibGVQbGF0Zm9ybVRvdWNoUG9pbnQgcmVsZWFzZSgxMCwgMTYsIFBs
YXRmb3JtVG91Y2hQb2ludDo6VG91Y2hSZWxlYXNlZCk7Ci0gICAgQnVpbGRhYmxlUGxhdGZvcm1U
b3VjaEV2ZW50IHJlbGVhc2VFdmVudChXZWJDb3JlOjpUb3VjaEVuZCwgcmVsZWFzZSk7Ci0KLSAg
ICAvLyBzZXQgZmlyc3QgdG91Y2ggdGltZSBzbyB0aGF0IHdlIHBhc3MgdGhlIHRlc3QgZm9yCi0g
ICAgLy8gbWluaW11bVRvdWNoRG93bkR1cmF0aW9uSW5TZWNvbmRzRm9yQ2xpY2sKLSAgICBnbS5z
ZXRGaXJzdFRvdWNoVGltZShnbS5maXJzdFRvdWNoVGltZSgpIC0gMC4wMSk7CisgICAgQnVpbGRh
YmxlUGxhdGZvcm1Ub3VjaEV2ZW50IHJlbGVhc2VFdmVudChXZWJDb3JlOjpUb3VjaEVuZCwgcmVs
ZWFzZSwgMTAwMC4gKyAwLjAxMSk7CiAgICAgR2VzdHVyZXMgZ2VzdHVyZUVuZChnbS5wcm9jZXNz
VG91Y2hFdmVudEZvckdlc3R1cmVzKHJlbGVhc2VFdmVudCwgZmFsc2UpKTsKICAgICBBU1NFUlRf
RVEoMXUsIGdlc3R1cmVFbmQtPnNpemUoKSk7CiAgICAgQVNTRVJUX0VRKFBsYXRmb3JtR2VzdHVy
ZUV2ZW50OjpUYXBUeXBlLCAoKmdlc3R1cmVFbmQpWzBdLnR5cGUoKSk7CkBAIC00ODcsMTQgKzUx
MCwxMyBAQCBURVNUX0YoR2VzdHVyZVJlY29nbml6ZXJUZXN0LCBnZXN0dXJlU2Nyb2xsRXZlbnRz
KQogICAgIEFTU0VSVF9FUShHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjpOb0dlc3R1cmUsIGdt
LnN0YXRlKCkpOwogCiAgICAgQnVpbGRhYmxlUGxhdGZvcm1Ub3VjaFBvaW50IHByZXNzKDEwLCAx
NSwgUGxhdGZvcm1Ub3VjaFBvaW50OjpUb3VjaFByZXNzZWQpOwotICAgIEJ1aWxkYWJsZVBsYXRm
b3JtVG91Y2hFdmVudCBwcmVzc0V2ZW50KFdlYkNvcmU6OlRvdWNoU3RhcnQsIHByZXNzKTsKKyAg
ICBCdWlsZGFibGVQbGF0Zm9ybVRvdWNoRXZlbnQgcHJlc3NFdmVudChXZWJDb3JlOjpUb3VjaFN0
YXJ0LCBwcmVzcywgMTAwMC4pOwogICAgIGdtLnByb2Nlc3NUb3VjaEV2ZW50Rm9yR2VzdHVyZXMo
cHJlc3NFdmVudCwgZmFsc2UpOwogCiAgICAgQVNTRVJUX0VRKEdlc3R1cmVSZWNvZ25pemVyQ2hy
b21pdW06OlBlbmRpbmdTeW50aGV0aWNDbGljaywgZ20uc3RhdGUoKSk7CiAKICAgICBCdWlsZGFi
bGVQbGF0Zm9ybVRvdWNoUG9pbnQgbW92ZSgxMCwgNTAsIFBsYXRmb3JtVG91Y2hQb2ludDo6VG91
Y2hNb3ZlZCk7Ci0gICAgQnVpbGRhYmxlUGxhdGZvcm1Ub3VjaEV2ZW50IG1vdmVFdmVudChXZWJD
b3JlOjpUb3VjaE1vdmUsIG1vdmUpOwotICAgIGdtLnNldExhc3RUb3VjaFRpbWUoZ20ubGFzdFRv
dWNoVGltZSgpIC0gMC4yKTsKKyAgICBCdWlsZGFibGVQbGF0Zm9ybVRvdWNoRXZlbnQgbW92ZUV2
ZW50KFdlYkNvcmU6OlRvdWNoTW92ZSwgbW92ZSwgMTAwMC4gKyAwLjIpOwogICAgIEdlc3R1cmVz
IGdlc3R1cmVTdGFydChnbS5wcm9jZXNzVG91Y2hFdmVudEZvckdlc3R1cmVzKG1vdmVFdmVudCwg
ZmFsc2UpKTsKICAgICBib29sIHNjcm9sbFN0YXJ0ZWQgPSBmYWxzZSwgc2Nyb2xsVXBkYXRlZCA9
IGZhbHNlOwogICAgIGZvciAodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgZ2VzdHVyZVN0YXJ0LT5z
aXplKCk7IGkrKykgewpAQCAtNTE1LDggKzUzNyw3IEBAIFRFU1RfRihHZXN0dXJlUmVjb2duaXpl
clRlc3QsIGdlc3R1cmVTY3JvbGxFdmVudHMpCiAgICAgQVNTRVJUX0VRKEdlc3R1cmVSZWNvZ25p
emVyQ2hyb21pdW06OlNjcm9sbCwgZ20uc3RhdGUoKSk7CiAKICAgICBCdWlsZGFibGVQbGF0Zm9y
bVRvdWNoUG9pbnQgcmVsZWFzZSgxMCwgNTAsIFBsYXRmb3JtVG91Y2hQb2ludDo6VG91Y2hSZWxl
YXNlZCk7Ci0gICAgQnVpbGRhYmxlUGxhdGZvcm1Ub3VjaEV2ZW50IHJlbGVhc2VFdmVudChXZWJD
b3JlOjpUb3VjaEVuZCwgcmVsZWFzZSk7Ci0gICAgZ20uc2V0TGFzdFRvdWNoVGltZShnbS5sYXN0
VG91Y2hUaW1lKCkgLSAwLjIpOworICAgIEJ1aWxkYWJsZVBsYXRmb3JtVG91Y2hFdmVudCByZWxl
YXNlRXZlbnQoV2ViQ29yZTo6VG91Y2hFbmQsIHJlbGVhc2UsIDEwMDAuICsgMC4yICsgMC4yKTsK
ICAgICBib29sIHNjcm9sbEVuZCA9IGZhbHNlOwogICAgIEdlc3R1cmVzIGdlc3R1cmVFbmQoZ20u
cHJvY2Vzc1RvdWNoRXZlbnRGb3JHZXN0dXJlcyhyZWxlYXNlRXZlbnQsIGZhbHNlKSk7CiAgICAg
Zm9yICh1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBnZXN0dXJlRW5kLT5zaXplKCk7IGkrKykgewpA
QCAtNTQwLDE0ICs1NjEsMTQgQEAgVEVTVF9GKEdlc3R1cmVSZWNvZ25pemVyVGVzdCwgZmxpY2tH
ZXN0dXJlVGVzdCkKICAgICBBU1NFUlRfRVEoR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6Tm9H
ZXN0dXJlLCBnbS5zdGF0ZSgpKTsKIAogICAgIEJ1aWxkYWJsZVBsYXRmb3JtVG91Y2hQb2ludCBw
cmVzcygxMCwgMTUsIFBsYXRmb3JtVG91Y2hQb2ludDo6VG91Y2hQcmVzc2VkKTsKLSAgICBCdWls
ZGFibGVQbGF0Zm9ybVRvdWNoRXZlbnQgcHJlc3NFdmVudChXZWJDb3JlOjpUb3VjaFN0YXJ0LCBw
cmVzcyk7CisgICAgQnVpbGRhYmxlUGxhdGZvcm1Ub3VjaEV2ZW50IHByZXNzRXZlbnQoV2ViQ29y
ZTo6VG91Y2hTdGFydCwgcHJlc3MsIDEwMDAuKTsKICAgICBHZXN0dXJlcyBnZXN0dXJlU3RhcnQo
Z20ucHJvY2Vzc1RvdWNoRXZlbnRGb3JHZXN0dXJlcyhwcmVzc0V2ZW50LCBmYWxzZSkpOwogICAg
IEFTU0VSVF9FUSgodW5zaWduZWQgaW50KTEsIGdlc3R1cmVTdGFydC0+c2l6ZSgpKTsKICAgICBB
U1NFUlRfRVEoUGxhdGZvcm1HZXN0dXJlRXZlbnQ6OlRhcERvd25UeXBlLCAoKmdlc3R1cmVTdGFy
dClbMF0udHlwZSgpKTsKICAgICBBU1NFUlRfRVEoR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6
UGVuZGluZ1N5bnRoZXRpY0NsaWNrLCBnbS5zdGF0ZSgpKTsKIAogICAgIEJ1aWxkYWJsZVBsYXRm
b3JtVG91Y2hQb2ludCBtb3ZlKDEwLCA1MCwgUGxhdGZvcm1Ub3VjaFBvaW50OjpUb3VjaE1vdmVk
KTsKLSAgICBCdWlsZGFibGVQbGF0Zm9ybVRvdWNoRXZlbnQgbW92ZUV2ZW50KFdlYkNvcmU6OlRv
dWNoTW92ZSwgbW92ZSk7CisgICAgQnVpbGRhYmxlUGxhdGZvcm1Ub3VjaEV2ZW50IG1vdmVFdmVu
dChXZWJDb3JlOjpUb3VjaE1vdmUsIG1vdmUsIDEwMDAuICsgMC4wMik7CiAgICAgR2VzdHVyZXMg
Z2VzdHVyZU1vdmUoZ20ucHJvY2Vzc1RvdWNoRXZlbnRGb3JHZXN0dXJlcyhtb3ZlRXZlbnQsIGZh
bHNlKSk7CiAgICAgYm9vbCBzY3JvbGxTdGFydGVkID0gZmFsc2UsIHNjcm9sbFVwZGF0ZWQgPSBm
YWxzZTsKICAgICBmb3IgKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IGdlc3R1cmVNb3ZlLT5zaXpl
KCk7IGkrKykgewpAQCAtNTY4LDEyICs1ODksMTIgQEAgVEVTVF9GKEdlc3R1cmVSZWNvZ25pemVy
VGVzdCwgZmxpY2tHZXN0dXJlVGVzdCkKICAgICBBU1NFUlRfRVEoR2VzdHVyZVJlY29nbml6ZXJD
aHJvbWl1bTo6U2Nyb2xsLCBnbS5zdGF0ZSgpKTsKIAogICAgIEJ1aWxkYWJsZVBsYXRmb3JtVG91
Y2hQb2ludCByZWxlYXNlKDEwLCA1MCwgUGxhdGZvcm1Ub3VjaFBvaW50OjpUb3VjaFJlbGVhc2Vk
KTsKLSAgICBCdWlsZGFibGVQbGF0Zm9ybVRvdWNoRXZlbnQgcmVsZWFzZUV2ZW50KFdlYkNvcmU6
OlRvdWNoRW5kLCByZWxlYXNlKTsKKyAgICBCdWlsZGFibGVQbGF0Zm9ybVRvdWNoRXZlbnQgcmVs
ZWFzZUV2ZW50KFdlYkNvcmU6OlRvdWNoRW5kLCByZWxlYXNlLCAxMDAwLiArIDAuMDYpOwogICAg
IEdlc3R1cmVzIGdlc3R1cmVFbmQoZ20ucHJvY2Vzc1RvdWNoRXZlbnRGb3JHZXN0dXJlcyhyZWxl
YXNlRXZlbnQsIGZhbHNlKSk7CiAgICAgQVNTRVJUX0VRKCh1bnNpZ25lZCBpbnQpIDEsIGdlc3R1
cmVFbmQtPnNpemUoKSk7CiAgICAgQVNTRVJUX0VRKFBsYXRmb3JtR2VzdHVyZUV2ZW50OjpTY3Jv
bGxFbmRUeXBlLCAoKmdlc3R1cmVFbmQpWzBdLnR5cGUoKSk7Ci0gICAgQVNTRVJUX0dUKCgqZ2Vz
dHVyZUVuZClbMF0uZGVsdGFYKCksIDApOwotICAgIEFTU0VSVF9HVCgoKmdlc3R1cmVFbmQpWzBd
LmRlbHRhWSgpLCAwKTsKKyAgICBBU1NFUlRfRVEoKCpnZXN0dXJlRW5kKVswXS5kZWx0YVgoKSwg
MCk7CisgICAgQVNTRVJUX0VRKCgqZ2VzdHVyZUVuZClbMF0uZGVsdGFZKCksIDE3NTAuKTsKICAg
ICBBU1NFUlRfRVEoR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6Tm9HZXN0dXJlLCBnbS5zdGF0
ZSgpKTsKIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>