<?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>98110</bug_id>
          
          <creation_ts>2012-10-01 21:27:43 -0700</creation_ts>
          <short_desc>[chromium] Make sure the touch-points in the touch-events have the correct state.</short_desc>
          <delta_ts>2012-10-02 12:35:16 -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>1</everconfirmed>
          <reporter name="Sadrul Habib Chowdhury">sadrul</reporter>
          <assigned_to name="Sadrul Habib Chowdhury">sadrul</assigned_to>
          <cc>abarth</cc>
    
    <cc>rjkroege</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>732250</commentid>
    <comment_count>0</comment_count>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-10-01 21:27:43 -0700</bug_when>
    <thetext>[chromium] Make sure the touch-points in the touch-events have the correct state.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732253</commentid>
    <comment_count>1</comment_count>
      <attachid>166600</attachid>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-10-01 21:32:41 -0700</bug_when>
    <thetext>Created attachment 166600
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732295</commentid>
    <comment_count>2</comment_count>
      <attachid>166600</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-10-01 23:04:05 -0700</bug_when>
    <thetext>Comment on attachment 166600
Patch

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

&gt; Source/WebKit/chromium/src/WebInputEventConversion.cpp:339
&gt; +static inline WebTouchPoint::State toWebTouchPointState(const AtomicString&amp; type)

static and inline are redundant.

&gt; Tools/DumpRenderTree/chromium/TestWebPlugin.cpp:94
&gt; +    switch (state) {
&gt; +    case WebKit::WebTouchPoint::StateReleased:   return stateReleased.data();
&gt; +    case WebKit::WebTouchPoint::StatePressed:    return statePressed.data();
&gt; +    case WebKit::WebTouchPoint::StateMoved:      return stateMoved.data();
&gt; +    case WebKit::WebTouchPoint::StateCancelled:  return stateCancelled.data();
&gt; +    default:                                     break;
&gt; +    }

This switch statement is not in the proper style.

Why are you creating these CStrings?  You can just return pointers to the string literals.

&gt; Tools/DumpRenderTree/chromium/TestWebPlugin.cpp:108
&gt; +        const WebKit::WebTouchEvent&amp; touch = reinterpret_cast&lt;const WebKit::WebTouchEvent&amp;&gt;(event);

reinterpret_cast -&gt; static_cast

Please read up on the differences between these two kinds of C++ casts, especially as they related to multi-inheritance.  Using the wrong cast can result is subtle, dangerous bugs!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732352</commentid>
    <comment_count>3</comment_count>
      <attachid>166600</attachid>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-10-02 00:02:47 -0700</bug_when>
    <thetext>Comment on attachment 166600
Patch

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

&gt;&gt; Source/WebKit/chromium/src/WebInputEventConversion.cpp:339
&gt;&gt; +static inline WebTouchPoint::State toWebTouchPointState(const AtomicString&amp; type)
&gt; 
&gt; static and inline are redundant.

Fixed (also fixed the other cases of the same issue in this file).

&gt;&gt; Tools/DumpRenderTree/chromium/TestWebPlugin.cpp:94
&gt;&gt; +    }
&gt; 
&gt; This switch statement is not in the proper style.
&gt; 
&gt; Why are you creating these CStrings?  You can just return pointers to the string literals.

Fixed.

&gt;&gt; Tools/DumpRenderTree/chromium/TestWebPlugin.cpp:108
&gt;&gt; +        const WebKit::WebTouchEvent&amp; touch = reinterpret_cast&lt;const WebKit::WebTouchEvent&amp;&gt;(event);
&gt; 
&gt; reinterpret_cast -&gt; static_cast
&gt; 
&gt; Please read up on the differences between these two kinds of C++ casts, especially as they related to multi-inheritance.  Using the wrong cast can result is subtle, dangerous bugs!

Whoops. My bad. Fixed. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732353</commentid>
    <comment_count>4</comment_count>
      <attachid>166622</attachid>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-10-02 00:03:00 -0700</bug_when>
    <thetext>Created attachment 166622
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732735</commentid>
    <comment_count>5</comment_count>
      <attachid>166622</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-10-02 09:46:29 -0700</bug_when>
    <thetext>Comment on attachment 166622
Patch

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

&gt; Tools/DumpRenderTree/chromium/TestWebPlugin.cpp:80
&gt; +const char* pointState(WebKit::WebTouchPoint::State state)

This function should probably be static

&gt; Tools/DumpRenderTree/chromium/TestWebPlugin.cpp:99
&gt; +void printTouchList(const WebKit::WebTouchPoint* points, int length)

ditto

&gt; Tools/DumpRenderTree/chromium/TestWebPlugin.cpp:105
&gt; +void printEventDetails(const WebKit::WebInputEvent&amp; event)

ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732753</commentid>
    <comment_count>6</comment_count>
      <attachid>166703</attachid>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-10-02 09:55:46 -0700</bug_when>
    <thetext>Created attachment 166703
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732755</commentid>
    <comment_count>7</comment_count>
      <attachid>166622</attachid>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-10-02 09:56:31 -0700</bug_when>
    <thetext>Comment on attachment 166622
Patch

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

&gt;&gt; Tools/DumpRenderTree/chromium/TestWebPlugin.cpp:80
&gt;&gt; +const char* pointState(WebKit::WebTouchPoint::State state)
&gt; 
&gt; This function should probably be static

My bad. Fixed all cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732933</commentid>
    <comment_count>8</comment_count>
      <attachid>166703</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-10-02 12:16:43 -0700</bug_when>
    <thetext>Comment on attachment 166703
Patch

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732957</commentid>
    <comment_count>9</comment_count>
      <attachid>166703</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-02 12:35:12 -0700</bug_when>
    <thetext>Comment on attachment 166703
Patch

Clearing flags on attachment: 166703

Committed r130197: &lt;http://trac.webkit.org/changeset/130197&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732958</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-02 12:35:16 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166600</attachid>
            <date>2012-10-01 21:32:41 -0700</date>
            <delta_ts>2012-10-02 00:02:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98110-20121002003154.patch</filename>
            <type>text/plain</type>
            <size>11913</size>
            <attacher name="Sadrul Habib Chowdhury">sadrul</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwMDMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDY1NGExZWFjZWEyOWU5ZDM3OGQ0ZTQzMjVlMmY3NzNjZjFlZjZkMDEuLjk5YTVkOWI5MjJkMTk5
MmQ4NjAwNGY3NzAyZTNkMTg2ZGU2MTRkNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjAgQEAKKzIwMTItMTAtMDEgIFNhZHJ1bCBIYWJpYiBDaG93ZGh1cnkgIDxzYWRy
dWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gTWFrZSBzdXJlIHRoZSB0b3Vj
aC1wb2ludHMgaW4gdGhlIHRvdWNoLWV2ZW50cyBoYXZlIHRoZSBjb3JyZWN0IHN0YXRlLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTgxMTAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJdCBpcyBuZWNlc3Nh
cnkgZm9yIHRoZSBXZWJUb3VjaFBvaW50cyBpbiB0aGUgcmVjb25zdHJ1Y3RlZCBXZWJUb3VjaEV2
ZW50CisgICAgICAgIHRvIGhhdmUgdGhlIGNvcnJlY3Qgc3RhdGUuIFdpdGhvdXQgdGhpcyBjaGFu
Z2UsIHRoZSBzdGF0ZXMgd2VyZSBhbHdheXMKKyAgICAgICAgdW5rbm93bi4KKworICAgICAgICAq
IHNyYy9XZWJJbnB1dEV2ZW50Q29udmVyc2lvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OnRvV2Vi
VG91Y2hQb2ludFN0YXRlKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6OmFk
ZFRvdWNoUG9pbnRzKToKKyAgICAgICAgKFdlYktpdDo6V2ViVG91Y2hFdmVudEJ1aWxkZXI6Oldl
YlRvdWNoRXZlbnRCdWlsZGVyKToKKwogMjAxMi0xMC0wMSAgQWxleGFuZGVyIFBhdmxvdiAgPGFw
YXZsb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFtEZXZpY2UgTWV0
cmljc10gUmVtb3ZlIHRoZSBndXR0ZXIgb3ZlcmxheSBtb3ZpbmcgaXRzIGZ1bmN0aW9uYWxpdHkg
aW50byB0aGUgSW5zcGVjdG9yT3ZlcmxheQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViSW5wdXRFdmVudENvbnZlcnNpb24uY3BwIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViSW5wdXRFdmVudENvbnZlcnNpb24uY3BwCmluZGV4IDBjYzFlMGMyNGY1MDA4
MjgwMTdkZjA0YTg0NDg1M2UxYWJhODdiNWEuLjM0YjZjYjhkOTY2N2RmY2UxZGQ3NDI3M2NkYWNi
YjEwNDZiZmRmYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklu
cHV0RXZlbnRDb252ZXJzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJJbnB1dEV2ZW50Q29udmVyc2lvbi5jcHAKQEAgLTMzNiw2ICszMzYsMTkgQEAgc3RhdGljIGlu
bGluZSBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlN0YXRlIHRvUGxhdGZvcm1Ub3VjaFBvaW50U3RhdGUo
Y29uc3QgV2ViVG91Y2gKICAgICByZXR1cm4gUGxhdGZvcm1Ub3VjaFBvaW50OjpUb3VjaFJlbGVh
c2VkOwogfQogCitzdGF0aWMgaW5saW5lIFdlYlRvdWNoUG9pbnQ6OlN0YXRlIHRvV2ViVG91Y2hQ
b2ludFN0YXRlKGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSkKK3sKKyAgICBpZiAodHlwZSA9PSBl
dmVudE5hbWVzKCkudG91Y2hlbmRFdmVudCkKKyAgICAgICAgcmV0dXJuIFdlYlRvdWNoUG9pbnQ6
OlN0YXRlUmVsZWFzZWQ7CisgICAgaWYgKHR5cGUgPT0gZXZlbnROYW1lcygpLnRvdWNoY2FuY2Vs
RXZlbnQpCisgICAgICAgIHJldHVybiBXZWJUb3VjaFBvaW50OjpTdGF0ZUNhbmNlbGxlZDsKKyAg
ICBpZiAodHlwZSA9PSBldmVudE5hbWVzKCkudG91Y2hzdGFydEV2ZW50KQorICAgICAgICByZXR1
cm4gV2ViVG91Y2hQb2ludDo6U3RhdGVQcmVzc2VkOworICAgIGlmICh0eXBlID09IGV2ZW50TmFt
ZXMoKS50b3VjaG1vdmVFdmVudCkKKyAgICAgICAgcmV0dXJuIFdlYlRvdWNoUG9pbnQ6OlN0YXRl
TW92ZWQ7CisgICAgcmV0dXJuIFdlYlRvdWNoUG9pbnQ6OlN0YXRlVW5kZWZpbmVkOworfQorCiBQ
bGF0Zm9ybVRvdWNoUG9pbnRCdWlsZGVyOjpQbGF0Zm9ybVRvdWNoUG9pbnRCdWlsZGVyKFdpZGdl
dCogd2lkZ2V0LCBjb25zdCBXZWJUb3VjaFBvaW50JiBwb2ludCkKIHsKICAgICBtX2lkID0gcG9p
bnQuaWQ7CkBAIC01MDIsNyArNTE1LDcgQEAgV2ViS2V5Ym9hcmRFdmVudEJ1aWxkZXI6OldlYktl
eWJvYXJkRXZlbnRCdWlsZGVyKGNvbnN0IEtleWJvYXJkRXZlbnQmIGV2ZW50KQogCiAjaWYgRU5B
QkxFKFRPVUNIX0VWRU5UUykKIAotc3RhdGljIHZvaWQgYWRkVG91Y2hQb2ludHMoVG91Y2hMaXN0
KiB0b3VjaGVzLCBjb25zdCBJbnRQb2ludCYgb2Zmc2V0LCBXZWJUb3VjaFBvaW50KiB0b3VjaFBv
aW50cywgdW5zaWduZWQqIHRvdWNoUG9pbnRzTGVuZ3RoKQorc3RhdGljIHZvaWQgYWRkVG91Y2hQ
b2ludHMoY29uc3QgQXRvbWljU3RyaW5nJiB0b3VjaFR5cGUsIFRvdWNoTGlzdCogdG91Y2hlcywg
Y29uc3QgSW50UG9pbnQmIG9mZnNldCwgV2ViVG91Y2hQb2ludCogdG91Y2hQb2ludHMsIHVuc2ln
bmVkKiB0b3VjaFBvaW50c0xlbmd0aCkKIHsKICAgICB1bnNpZ25lZCBudW1iZXJPZlRvdWNoZXMg
PSBzdGQ6Om1pbih0b3VjaGVzLT5sZW5ndGgoKSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFdlYlRv
dWNoRXZlbnQ6OnRvdWNoZXNMZW5ndGhDYXApKTsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBp
IDwgbnVtYmVyT2ZUb3VjaGVzOyArK2kpIHsKQEAgLTUxNiw2ICs1MjksNyBAQCBzdGF0aWMgdm9p
ZCBhZGRUb3VjaFBvaW50cyhUb3VjaExpc3QqIHRvdWNoZXMsIGNvbnN0IEludFBvaW50JiBvZmZz
ZXQsIFdlYlRvdWNoUAogICAgICAgICBwb2ludC5yYWRpdXNZID0gdG91Y2gtPndlYmtpdFJhZGl1
c1koKTsKICAgICAgICAgcG9pbnQucm90YXRpb25BbmdsZSA9IHRvdWNoLT53ZWJraXRSb3RhdGlv
bkFuZ2xlKCk7CiAgICAgICAgIHBvaW50LmZvcmNlID0gdG91Y2gtPndlYmtpdEZvcmNlKCk7Cisg
ICAgICAgIHBvaW50LnN0YXRlID0gdG9XZWJUb3VjaFBvaW50U3RhdGUodG91Y2hUeXBlKTsKIAog
ICAgICAgICB0b3VjaFBvaW50c1tpXSA9IHBvaW50OwogICAgIH0KQEAgLTU0MSw5ICs1NTUsOSBA
QCBXZWJUb3VjaEV2ZW50QnVpbGRlcjo6V2ViVG91Y2hFdmVudEJ1aWxkZXIoY29uc3QgV2lkZ2V0
KiB3aWRnZXQsIGNvbnN0IFRvdWNoRXZlbgogICAgIG1vZGlmaWVycyA9IGdldFdlYklucHV0TW9k
aWZpZXJzKGV2ZW50KTsKICAgICB0aW1lU3RhbXBTZWNvbmRzID0gZXZlbnQudGltZVN0YW1wKCkg
LyBtaWxsaXNQZXJTZWNvbmQ7CiAKLSAgICBhZGRUb3VjaFBvaW50cyhldmVudC50b3VjaGVzKCks
IHdpZGdldC0+bG9jYXRpb24oKSwgdG91Y2hlcywgJnRvdWNoZXNMZW5ndGgpOwotICAgIGFkZFRv
dWNoUG9pbnRzKGV2ZW50LmNoYW5nZWRUb3VjaGVzKCksIHdpZGdldC0+bG9jYXRpb24oKSwgY2hh
bmdlZFRvdWNoZXMsICZjaGFuZ2VkVG91Y2hlc0xlbmd0aCk7Ci0gICAgYWRkVG91Y2hQb2ludHMo
ZXZlbnQudGFyZ2V0VG91Y2hlcygpLCB3aWRnZXQtPmxvY2F0aW9uKCksIHRhcmdldFRvdWNoZXMs
ICZ0YXJnZXRUb3VjaGVzTGVuZ3RoKTsKKyAgICBhZGRUb3VjaFBvaW50cyhldmVudC50eXBlKCks
IGV2ZW50LnRvdWNoZXMoKSwgd2lkZ2V0LT5sb2NhdGlvbigpLCB0b3VjaGVzLCAmdG91Y2hlc0xl
bmd0aCk7CisgICAgYWRkVG91Y2hQb2ludHMoZXZlbnQudHlwZSgpLCBldmVudC5jaGFuZ2VkVG91
Y2hlcygpLCB3aWRnZXQtPmxvY2F0aW9uKCksIGNoYW5nZWRUb3VjaGVzLCAmY2hhbmdlZFRvdWNo
ZXNMZW5ndGgpOworICAgIGFkZFRvdWNoUG9pbnRzKGV2ZW50LnR5cGUoKSwgZXZlbnQudGFyZ2V0
VG91Y2hlcygpLCB3aWRnZXQtPmxvY2F0aW9uKCksIHRhcmdldFRvdWNoZXMsICZ0YXJnZXRUb3Vj
aGVzTGVuZ3RoKTsKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShUT1VDSF9FVkVOVFMpCmRpZmYgLS1n
aXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMTBmN2E3NGQwN2Zk
OThiOWM1YTE4N2VjNjc0OTczMjY2ZGQ0NjE3ZS4uNmM2Yzk0MzZmNzkyYWY5ZTAyOTk2ZDQ0NmM1
NzNkMTFlZDRmZmU4MyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTEwLTAxICBTYWRydWwgSGFiaWIgQ2hvd2Ro
dXJ5ICA8c2FkcnVsQGNocm9taXVtLm9yZz4KKworICAgICAgICBbY2hyb21pdW1dIE1ha2Ugc3Vy
ZSB0aGUgdG91Y2gtcG9pbnRzIGluIHRoZSB0b3VjaC1ldmVudHMgaGF2ZSB0aGUgY29ycmVjdCBz
dGF0ZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4
MTEwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVz
dFdlYlBsdWdpbiBjYW4gbm93IGJlIGNvbmZpZ3VyZWQgdG8gcHJpbnQgb3V0IHNvbWUgZGV0YWls
cyBhYm91dAorICAgICAgICBldmVudHMuIEZvciBub3csIGRldGFpbHMgZm9yIG9ubHkgdG91Y2gg
ZXZlbnRzIGFyZSBwcmludGVkLiBUaGlzIGlzCisgICAgICAgIHVzZWQgdG8gdmVyaWZ5IHRoYXQg
dG91Y2gtcG9pbnRzIGluIHRoZSB0b3VjaC1ldmVudHMgYXJlIHByb3Blcmx5CisgICAgICAgIHNl
dC4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RXZWJQbHVnaW4uY3Bw
OgorICAgICAgICAocG9pbnRTdGF0ZSk6CisgICAgICAgIChwcmludFRvdWNoTGlzdCk6CisgICAg
ICAgIChwcmludEV2ZW50RGV0YWlscyk6CisgICAgICAgIChUZXN0V2ViUGx1Z2luOjpUZXN0V2Vi
UGx1Z2luKToKKyAgICAgICAgKFRlc3RXZWJQbHVnaW46OmhhbmRsZUlucHV0RXZlbnQpOgorICAg
ICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RXZWJQbHVnaW4uaDoKKyAgICAgICAg
KFRlc3RXZWJQbHVnaW4pOgorCiAyMDEyLTEwLTAxICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgdXBkYXRlIHRoZSBVUkwgb2YgdGhl
IFN6ZWdlZCBTVk4gbWlycm9yLgpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vVGVzdFdlYlBsdWdpbi5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9U
ZXN0V2ViUGx1Z2luLmNwcAppbmRleCA3NWUwNmM0M2I4MmIzZTg0YTgyMTFjNTc1NzFlMWIzMzdh
ZTBiOGE2Li4xZjU0YjY0MTkxN2RmOWIxNDYzOTA4NzhmZDhiYTUxZGM0ZWJiZDAzIDEwMDY0NAot
LS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0V2ViUGx1Z2luLmNwcAorKysg
Yi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0V2ViUGx1Z2luLmNwcApAQCAtMzMs
NiArMzMsNyBAQAogI2luY2x1ZGUgInBsYXRmb3JtL1dlYktpdFBsYXRmb3JtU3VwcG9ydC5oIgog
I2luY2x1ZGUgIldlYlBsdWdpbkNvbnRhaW5lci5oIgogI2luY2x1ZGUgIldlYlBsdWdpblBhcmFt
cy5oIgorI2luY2x1ZGUgIldlYlRvdWNoUG9pbnQuaCIKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9u
cy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIApAQCAtNzYsMTggKzc3LDU1IEBA
IHN0YXRpYyB2b2lkIHByZW11bHRpcGx5QWxwaGEoY29uc3QgdW5zaWduZWQgY29sb3JJblszXSwg
ZmxvYXQgYWxwaGEsIGZsb2F0IGNvbG9yCiAgICAgY29sb3JPdXRbM10gPSBhbHBoYTsKIH0KIAor
Y29uc3QgY2hhciogcG9pbnRTdGF0ZShXZWJLaXQ6OldlYlRvdWNoUG9pbnQ6OlN0YXRlIHN0YXRl
KQoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ1N0cmluZywgc3RhdGVSZWxlYXNlZCwgKCJS
ZWxlYXNlZCIpKTsKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKENTdHJpbmcsIHN0YXRlUHJlc3Nl
ZCwgKCJQcmVzc2VkIikpOworICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ1N0cmluZywgc3RhdGVN
b3ZlZCwgKCJNb3ZlZCIpKTsKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKENTdHJpbmcsIHN0YXRl
Q2FuY2VsbGVkLCAoIkNhbmNlbGxlZCIpKTsKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKENTdHJp
bmcsIHN0YXRlVW5rbm93biwgKCJVbmtub3duIikpOworCisgICAgc3dpdGNoIChzdGF0ZSkgewor
ICAgIGNhc2UgV2ViS2l0OjpXZWJUb3VjaFBvaW50OjpTdGF0ZVJlbGVhc2VkOiAgIHJldHVybiBz
dGF0ZVJlbGVhc2VkLmRhdGEoKTsKKyAgICBjYXNlIFdlYktpdDo6V2ViVG91Y2hQb2ludDo6U3Rh
dGVQcmVzc2VkOiAgICByZXR1cm4gc3RhdGVQcmVzc2VkLmRhdGEoKTsKKyAgICBjYXNlIFdlYktp
dDo6V2ViVG91Y2hQb2ludDo6U3RhdGVNb3ZlZDogICAgICByZXR1cm4gc3RhdGVNb3ZlZC5kYXRh
KCk7CisgICAgY2FzZSBXZWJLaXQ6OldlYlRvdWNoUG9pbnQ6OlN0YXRlQ2FuY2VsbGVkOiAgcmV0
dXJuIHN0YXRlQ2FuY2VsbGVkLmRhdGEoKTsKKyAgICBkZWZhdWx0OiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICByZXR1cm4gc3RhdGVVbmtu
b3duLmRhdGEoKTsKK30KKwordm9pZCBwcmludFRvdWNoTGlzdChjb25zdCBXZWJLaXQ6OldlYlRv
dWNoUG9pbnQqIHBvaW50cywgaW50IGxlbmd0aCkKK3sKKyAgICBmb3IgKGludCBpID0gMDsgaSA8
IGxlbmd0aDsgKytpKQorICAgICAgICBwcmludGYoIiogJWQsICVkOiAlc1xuIiwgcG9pbnRzW2ld
LnBvc2l0aW9uLngsIHBvaW50c1tpXS5wb3NpdGlvbi55LCBwb2ludFN0YXRlKHBvaW50c1tpXS5z
dGF0ZSkpOworfQorCit2b2lkIHByaW50RXZlbnREZXRhaWxzKGNvbnN0IFdlYktpdDo6V2ViSW5w
dXRFdmVudCYgZXZlbnQpCit7CisgICAgaWYgKFdlYktpdDo6V2ViSW5wdXRFdmVudDo6aXNUb3Vj
aEV2ZW50VHlwZShldmVudC50eXBlKSkgeworICAgICAgICBjb25zdCBXZWJLaXQ6OldlYlRvdWNo
RXZlbnQmIHRvdWNoID0gcmVpbnRlcnByZXRfY2FzdDxjb25zdCBXZWJLaXQ6OldlYlRvdWNoRXZl
bnQmPihldmVudCk7CisgICAgICAgIHByaW50VG91Y2hMaXN0KHRvdWNoLnRvdWNoZXMsIHRvdWNo
LnRvdWNoZXNMZW5ndGgpOworICAgICAgICBwcmludFRvdWNoTGlzdCh0b3VjaC5jaGFuZ2VkVG91
Y2hlcywgdG91Y2guY2hhbmdlZFRvdWNoZXNMZW5ndGgpOworICAgICAgICBwcmludFRvdWNoTGlz
dCh0b3VjaC50YXJnZXRUb3VjaGVzLCB0b3VjaC50YXJnZXRUb3VjaGVzTGVuZ3RoKTsKKyAgICB9
Cit9CisKIFRlc3RXZWJQbHVnaW46OlRlc3RXZWJQbHVnaW4oV2ViS2l0OjpXZWJGcmFtZSogZnJh
bWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFdlYktpdDo6V2ViUGx1Z2lu
UGFyYW1zJiBwYXJhbXMpCiAgICAgOiBtX2ZyYW1lKGZyYW1lKQogICAgICwgbV9jb250YWluZXIo
MCkKICAgICAsIG1fY29udGV4dCgwKQogICAgICwgbV9hY2NlcHRzVG91Y2hFdmVudChmYWxzZSkK
KyAgICAsIG1fcHJpbnRFdmVudERldGFpbHMoZmFsc2UpCiB7CiAgICAgc3RhdGljIGNvbnN0IFdl
YlN0cmluZyBrQXR0cmlidXRlUHJpbWl0aXZlID0gV2ViU3RyaW5nOjpmcm9tVVRGOCgicHJpbWl0
aXZlIik7CiAgICAgc3RhdGljIGNvbnN0IFdlYlN0cmluZyBrQXR0cmlidXRlQmFja2dyb3VuZENv
bG9yID0gV2ViU3RyaW5nOjpmcm9tVVRGOCgiYmFja2dyb3VuZC1jb2xvciIpOwogICAgIHN0YXRp
YyBjb25zdCBXZWJTdHJpbmcga0F0dHJpYnV0ZVByaW1pdGl2ZUNvbG9yID0gV2ViU3RyaW5nOjpm
cm9tVVRGOCgicHJpbWl0aXZlLWNvbG9yIik7CiAgICAgc3RhdGljIGNvbnN0IFdlYlN0cmluZyBr
QXR0cmlidXRlT3BhY2l0eSA9IFdlYlN0cmluZzo6ZnJvbVVURjgoIm9wYWNpdHkiKTsKICAgICBz
dGF0aWMgY29uc3QgV2ViU3RyaW5nIGtBdHRyaWJ1dGVBY2NlcHRzVG91Y2ggPSBXZWJTdHJpbmc6
OmZyb21VVEY4KCJhY2NlcHRzLXRvdWNoIik7CisgICAgc3RhdGljIGNvbnN0IFdlYlN0cmluZyBr
QXR0cmlidXRlUHJpbnRFdmVudERldGFpbHMgPSBXZWJTdHJpbmc6OmZyb21VVEY4KCJwcmludC1l
dmVudC1kZXRhaWxzIik7CiAKICAgICBBU1NFUlQocGFyYW1zLmF0dHJpYnV0ZU5hbWVzLnNpemUo
KSA9PSBwYXJhbXMuYXR0cmlidXRlVmFsdWVzLnNpemUoKSk7CiAgICAgc2l6ZV90IHNpemUgPSBw
YXJhbXMuYXR0cmlidXRlTmFtZXMuc2l6ZSgpOwpAQCAtMTA1LDYgKzE0Myw4IEBAIFRlc3RXZWJQ
bHVnaW46OlRlc3RXZWJQbHVnaW4oV2ViS2l0OjpXZWJGcmFtZSogZnJhbWUsCiAgICAgICAgICAg
ICBtX3NjZW5lLm9wYWNpdHkgPSBwYXJzZU9wYWNpdHkoYXR0cmlidXRlVmFsdWUpOwogICAgICAg
ICBlbHNlIGlmIChhdHRyaWJ1dGVOYW1lID09IGtBdHRyaWJ1dGVBY2NlcHRzVG91Y2gpCiAgICAg
ICAgICAgICBtX2FjY2VwdHNUb3VjaEV2ZW50ID0gcGFyc2VCb29sZWFuKGF0dHJpYnV0ZVZhbHVl
KTsKKyAgICAgICAgZWxzZSBpZiAoYXR0cmlidXRlTmFtZSA9PSBrQXR0cmlidXRlUHJpbnRFdmVu
dERldGFpbHMpCisgICAgICAgICAgICBtX3ByaW50RXZlbnREZXRhaWxzID0gcGFyc2VCb29sZWFu
KGF0dHJpYnV0ZVZhbHVlKTsKICAgICB9CiB9CiAKQEAgLTQxOCw2ICs0NTgsOCBAQCBib29sIFRl
c3RXZWJQbHVnaW46OmhhbmRsZUlucHV0RXZlbnQoY29uc3QgV2ViS2l0OjpXZWJJbnB1dEV2ZW50
JiBldmVudCwgV2ViS2l0OgogICAgIH0KIAogICAgIHByaW50ZigiUGx1Z2luIHJlY2VpdmVkIGV2
ZW50OiAlc1xuIiwgZXZlbnROYW1lID8gZXZlbnROYW1lIDogInVua25vd24iKTsKKyAgICBpZiAo
bV9wcmludEV2ZW50RGV0YWlscykKKyAgICAgICAgcHJpbnRFdmVudERldGFpbHMoZXZlbnQpOwog
ICAgIHJldHVybiBmYWxzZTsKIH0KIApkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vVGVzdFdlYlBsdWdpbi5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
VGVzdFdlYlBsdWdpbi5oCmluZGV4IGUyYWQ1NzZhNzMyNjVkYzcyMzIyNDY4MzRmMTNhODNkZGQx
YjZkNzkuLjJlMTE4ODY5YjA5N2E4YmQyMjhmMWUyMGJkMzg3YTY0YTVmM2IwMDQgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RXZWJQbHVnaW4uaAorKysgYi9U
b29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0V2ViUGx1Z2luLmgKQEAgLTEzMCw2ICsx
MzAsNyBAQCBwcml2YXRlOgogICAgIFNjZW5lIG1fc2NlbmU7CiAKICAgICBib29sIG1fYWNjZXB0
c1RvdWNoRXZlbnQ7CisgICAgYm9vbCBtX3ByaW50RXZlbnREZXRhaWxzOwogfTsKIAogI2VuZGlm
IC8vIFRlc3RQZXBwZXJQbHVnaW5faApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDJjNDNiODFhZmU2OTVjZjNjMzU5MmJjYzJj
MzMyMjg2M2JlMzQ1ZDguLmEzNDEyMjg4MThiYjE4YWI4Zjc3YmU2NTI4NmJlZTBiMDYxZGEzZjUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0xMC0wMSAgU2FkcnVsIEhhYmliIENob3dkaHVy
eSAgPHNhZHJ1bEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBNYWtlIHN1cmUg
dGhlIHRvdWNoLXBvaW50cyBpbiB0aGUgdG91Y2gtZXZlbnRzIGhhdmUgdGhlIGNvcnJlY3Qgc3Rh
dGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODEx
MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxh
dGZvcm0vY2hyb21pdW0vcGx1Z2lucy90b3VjaC1ldmVudHMtZGV0YWlscy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL3BsdWdpbnMvdG91Y2gtZXZlbnRz
LWRldGFpbHMuaHRtbDogQWRkZWQuCisKIDIwMTItMTAtMDEgIEFya28gU2FoYSAgPGFya29AbW90
b3JvbGEuY29tPgogCiAgICAgICAgIE1pY3JvZGF0YTogbmFtZXMuaXRlbSgpIG11c3QgcmV0dXJu
IG51bGwgZm9yIG91dCBvZiByYW5nZSBpbmRleGVzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy90b3VjaC1ldmVudHMtZGV0YWlscy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL3RvdWNoLWV2ZW50cy1k
ZXRhaWxzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MWVjOWU3MDcxY2JlY2I0OTI2ZjFhNzhj
MzE0N2FlZDQzYjdhMWE4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vcGx1Z2lucy90b3VjaC1ldmVudHMtZGV0YWlscy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMSBAQAorUGx1Z2luIHJlY2VpdmVkIGV2ZW50OiBUb3VjaFN0YXJ0CisqIDEwLCAxMDog
UHJlc3NlZAorKiAxMCwgMTA6IFByZXNzZWQKKyogMTAsIDEwOiBQcmVzc2VkCitQbHVnaW4gcmVj
ZWl2ZWQgZXZlbnQ6IFRvdWNoTW92ZQorKiAyMCwgMTU6IE1vdmVkCisqIDIwLCAxNTogTW92ZWQK
KyogMjAsIDE1OiBNb3ZlZAorUGx1Z2luIHJlY2VpdmVkIGV2ZW50OiBUb3VjaEVuZAorKiAyMCwg
MTU6IFJlbGVhc2VkCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L3BsdWdpbnMvdG91Y2gtZXZlbnRzLWRldGFpbHMuaHRtbCBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL3BsdWdpbnMvdG91Y2gtZXZlbnRzLWRldGFpbHMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
MmY0N2ExNjc5NDNhMWQzNGIyZTY0NWVlNTJkMDhmMmRlNzY4ODRiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy90b3VjaC1ldmVudHMtZGV0
YWlscy5odG1sCkBAIC0wLDAgKzEsMzMgQEAKKzxodG1sPgorPGhlYWQ+Cis8c3R5bGU+CisgICNw
bHVnaW4geworICAgIHdpZHRoOiAxNTBweDsKKyAgICBoZWlnaHQ6IDE1MHB4OworICB9Cis8L3N0
eWxlPgorPC9oZWFkPgorCis8Ym9keT4KKzxlbWJlZCBpZD0icGx1Z2luIiB0eXBlPSJhcHBsaWNh
dGlvbi94LXdlYmtpdC10ZXN0LXdlYnBsdWdpbiIgYWNjZXB0cy10b3VjaD0idHJ1ZSIgcHJpbnQt
ZXZlbnQtZGV0YWlscz0idHJ1ZSI+PC9lbWJlZD4KKzxzY3JpcHQ+CisKKyAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyIHx8ICF3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICAgICAgZG9jdW1lbnQu
d3JpdGUoIlRoaXMgdGVzdCBkb2VzIG5vdCB3b3JrIGluIG1hbnVhbCBtb2RlLiIpOworICAgIH0g
ZWxzZSB7CisgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworCisgICAgICAgIHZhciBw
b3NpdGlvblggPSBwbHVnaW4ub2Zmc2V0TGVmdCArIDEwOworICAgICAgICB2YXIgcG9zaXRpb25Z
ID0gcGx1Z2luLm9mZnNldFRvcCArIDEwOworICAgICAgICBldmVudFNlbmRlci5hZGRUb3VjaFBv
aW50KHBvc2l0aW9uWCwgcG9zaXRpb25ZKTsKKyAgICAgICAgZXZlbnRTZW5kZXIudG91Y2hTdGFy
dCgpOworICAgICAgICBldmVudFNlbmRlci51cGRhdGVUb3VjaFBvaW50KDAsIHBvc2l0aW9uWCAr
IDEwLCBwb3NpdGlvblkgKyA1KTsKKyAgICAgICAgZXZlbnRTZW5kZXIudG91Y2hNb3ZlKCk7Cisg
ICAgICAgIGV2ZW50U2VuZGVyLnJlbGVhc2VUb3VjaFBvaW50KDApOworICAgICAgICBldmVudFNl
bmRlci50b3VjaEVuZCgpOworICAgIH0KKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CisK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166622</attachid>
            <date>2012-10-02 00:03:00 -0700</date>
            <delta_ts>2012-10-02 09:56:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98110-20121002030212.patch</filename>
            <type>text/plain</type>
            <size>12730</size>
            <attacher name="Sadrul Habib Chowdhury">sadrul</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwMDMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDY1NGExZWFjZWEyOWU5ZDM3OGQ0ZTQzMjVlMmY3NzNjZjFlZjZkMDEuLjk5YTVkOWI5MjJkMTk5
MmQ4NjAwNGY3NzAyZTNkMTg2ZGU2MTRkNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjAgQEAKKzIwMTItMTAtMDEgIFNhZHJ1bCBIYWJpYiBDaG93ZGh1cnkgIDxzYWRy
dWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gTWFrZSBzdXJlIHRoZSB0b3Vj
aC1wb2ludHMgaW4gdGhlIHRvdWNoLWV2ZW50cyBoYXZlIHRoZSBjb3JyZWN0IHN0YXRlLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTgxMTAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJdCBpcyBuZWNlc3Nh
cnkgZm9yIHRoZSBXZWJUb3VjaFBvaW50cyBpbiB0aGUgcmVjb25zdHJ1Y3RlZCBXZWJUb3VjaEV2
ZW50CisgICAgICAgIHRvIGhhdmUgdGhlIGNvcnJlY3Qgc3RhdGUuIFdpdGhvdXQgdGhpcyBjaGFu
Z2UsIHRoZSBzdGF0ZXMgd2VyZSBhbHdheXMKKyAgICAgICAgdW5rbm93bi4KKworICAgICAgICAq
IHNyYy9XZWJJbnB1dEV2ZW50Q29udmVyc2lvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OnRvV2Vi
VG91Y2hQb2ludFN0YXRlKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6OmFk
ZFRvdWNoUG9pbnRzKToKKyAgICAgICAgKFdlYktpdDo6V2ViVG91Y2hFdmVudEJ1aWxkZXI6Oldl
YlRvdWNoRXZlbnRCdWlsZGVyKToKKwogMjAxMi0xMC0wMSAgQWxleGFuZGVyIFBhdmxvdiAgPGFw
YXZsb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFtEZXZpY2UgTWV0
cmljc10gUmVtb3ZlIHRoZSBndXR0ZXIgb3ZlcmxheSBtb3ZpbmcgaXRzIGZ1bmN0aW9uYWxpdHkg
aW50byB0aGUgSW5zcGVjdG9yT3ZlcmxheQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViSW5wdXRFdmVudENvbnZlcnNpb24uY3BwIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViSW5wdXRFdmVudENvbnZlcnNpb24uY3BwCmluZGV4IDBjYzFlMGMyNGY1MDA4
MjgwMTdkZjA0YTg0NDg1M2UxYWJhODdiNWEuLjM4NzFmMTczYjM5ZWQwMjYwNGRmZjI0YmRkZDc2
ZWQ0MjVhYWUyNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklu
cHV0RXZlbnRDb252ZXJzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJJbnB1dEV2ZW50Q29udmVyc2lvbi5jcHAKQEAgLTIwNyw3ICsyMDcsNyBAQCBQbGF0Zm9ybUdl
c3R1cmVFdmVudEJ1aWxkZXI6OlBsYXRmb3JtR2VzdHVyZUV2ZW50QnVpbGRlcihXaWRnZXQqIHdp
ZGdldCwgY29uc3QgVwogCiAvLyBNYWtlUGxhdGZvcm1LZXlib2FyZEV2ZW50IC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLXN0YXRpYyBpbmxpbmUg
UGxhdGZvcm1FdmVudDo6VHlwZSB0b1BsYXRmb3JtS2V5Ym9hcmRFdmVudFR5cGUoV2ViSW5wdXRF
dmVudDo6VHlwZSB0eXBlKQoraW5saW5lIFBsYXRmb3JtRXZlbnQ6OlR5cGUgdG9QbGF0Zm9ybUtl
eWJvYXJkRXZlbnRUeXBlKFdlYklucHV0RXZlbnQ6OlR5cGUgdHlwZSkKIHsKICAgICBzd2l0Y2gg
KHR5cGUpIHsKICAgICBjYXNlIFdlYklucHV0RXZlbnQ6OktleVVwOgpAQCAtMzAwLDcgKzMwMCw3
IEBAIGJvb2wgUGxhdGZvcm1LZXlib2FyZEV2ZW50QnVpbGRlcjo6aXNDaGFyYWN0ZXJLZXkoKSBj
b25zdAogfQogCiAjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKLXN0YXRpYyBpbmxpbmUgUGxhdGZv
cm1FdmVudDo6VHlwZSB0b1BsYXRmb3JtVG91Y2hFdmVudFR5cGUoY29uc3QgV2ViSW5wdXRFdmVu
dDo6VHlwZSB0eXBlKQoraW5saW5lIFBsYXRmb3JtRXZlbnQ6OlR5cGUgdG9QbGF0Zm9ybVRvdWNo
RXZlbnRUeXBlKGNvbnN0IFdlYklucHV0RXZlbnQ6OlR5cGUgdHlwZSkKIHsKICAgICBzd2l0Y2gg
KHR5cGUpIHsKICAgICBjYXNlIFdlYklucHV0RXZlbnQ6OlRvdWNoU3RhcnQ6CkBAIC0zMTcsNyAr
MzE3LDcgQEAgc3RhdGljIGlubGluZSBQbGF0Zm9ybUV2ZW50OjpUeXBlIHRvUGxhdGZvcm1Ub3Vj
aEV2ZW50VHlwZShjb25zdCBXZWJJbnB1dEV2ZW50OjoKICAgICByZXR1cm4gUGxhdGZvcm1FdmVu
dDo6VG91Y2hTdGFydDsKIH0KIAotc3RhdGljIGlubGluZSBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlN0
YXRlIHRvUGxhdGZvcm1Ub3VjaFBvaW50U3RhdGUoY29uc3QgV2ViVG91Y2hQb2ludDo6U3RhdGUg
c3RhdGUpCitpbmxpbmUgUGxhdGZvcm1Ub3VjaFBvaW50OjpTdGF0ZSB0b1BsYXRmb3JtVG91Y2hQ
b2ludFN0YXRlKGNvbnN0IFdlYlRvdWNoUG9pbnQ6OlN0YXRlIHN0YXRlKQogewogICAgIHN3aXRj
aCAoc3RhdGUpIHsKICAgICBjYXNlIFdlYlRvdWNoUG9pbnQ6OlN0YXRlUmVsZWFzZWQ6CkBAIC0z
MzYsNiArMzM2LDE5IEBAIHN0YXRpYyBpbmxpbmUgUGxhdGZvcm1Ub3VjaFBvaW50OjpTdGF0ZSB0
b1BsYXRmb3JtVG91Y2hQb2ludFN0YXRlKGNvbnN0IFdlYlRvdWNoCiAgICAgcmV0dXJuIFBsYXRm
b3JtVG91Y2hQb2ludDo6VG91Y2hSZWxlYXNlZDsKIH0KIAoraW5saW5lIFdlYlRvdWNoUG9pbnQ6
OlN0YXRlIHRvV2ViVG91Y2hQb2ludFN0YXRlKGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSkKK3sK
KyAgICBpZiAodHlwZSA9PSBldmVudE5hbWVzKCkudG91Y2hlbmRFdmVudCkKKyAgICAgICAgcmV0
dXJuIFdlYlRvdWNoUG9pbnQ6OlN0YXRlUmVsZWFzZWQ7CisgICAgaWYgKHR5cGUgPT0gZXZlbnRO
YW1lcygpLnRvdWNoY2FuY2VsRXZlbnQpCisgICAgICAgIHJldHVybiBXZWJUb3VjaFBvaW50OjpT
dGF0ZUNhbmNlbGxlZDsKKyAgICBpZiAodHlwZSA9PSBldmVudE5hbWVzKCkudG91Y2hzdGFydEV2
ZW50KQorICAgICAgICByZXR1cm4gV2ViVG91Y2hQb2ludDo6U3RhdGVQcmVzc2VkOworICAgIGlm
ICh0eXBlID09IGV2ZW50TmFtZXMoKS50b3VjaG1vdmVFdmVudCkKKyAgICAgICAgcmV0dXJuIFdl
YlRvdWNoUG9pbnQ6OlN0YXRlTW92ZWQ7CisgICAgcmV0dXJuIFdlYlRvdWNoUG9pbnQ6OlN0YXRl
VW5kZWZpbmVkOworfQorCiBQbGF0Zm9ybVRvdWNoUG9pbnRCdWlsZGVyOjpQbGF0Zm9ybVRvdWNo
UG9pbnRCdWlsZGVyKFdpZGdldCogd2lkZ2V0LCBjb25zdCBXZWJUb3VjaFBvaW50JiBwb2ludCkK
IHsKICAgICBtX2lkID0gcG9pbnQuaWQ7CkBAIC01MDIsNyArNTE1LDcgQEAgV2ViS2V5Ym9hcmRF
dmVudEJ1aWxkZXI6OldlYktleWJvYXJkRXZlbnRCdWlsZGVyKGNvbnN0IEtleWJvYXJkRXZlbnQm
IGV2ZW50KQogCiAjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKIAotc3RhdGljIHZvaWQgYWRkVG91
Y2hQb2ludHMoVG91Y2hMaXN0KiB0b3VjaGVzLCBjb25zdCBJbnRQb2ludCYgb2Zmc2V0LCBXZWJU
b3VjaFBvaW50KiB0b3VjaFBvaW50cywgdW5zaWduZWQqIHRvdWNoUG9pbnRzTGVuZ3RoKQorc3Rh
dGljIHZvaWQgYWRkVG91Y2hQb2ludHMoY29uc3QgQXRvbWljU3RyaW5nJiB0b3VjaFR5cGUsIFRv
dWNoTGlzdCogdG91Y2hlcywgY29uc3QgSW50UG9pbnQmIG9mZnNldCwgV2ViVG91Y2hQb2ludCog
dG91Y2hQb2ludHMsIHVuc2lnbmVkKiB0b3VjaFBvaW50c0xlbmd0aCkKIHsKICAgICB1bnNpZ25l
ZCBudW1iZXJPZlRvdWNoZXMgPSBzdGQ6Om1pbih0b3VjaGVzLT5sZW5ndGgoKSwgc3RhdGljX2Nh
c3Q8dW5zaWduZWQ+KFdlYlRvdWNoRXZlbnQ6OnRvdWNoZXNMZW5ndGhDYXApKTsKICAgICBmb3Ig
KHVuc2lnbmVkIGkgPSAwOyBpIDwgbnVtYmVyT2ZUb3VjaGVzOyArK2kpIHsKQEAgLTUxNiw2ICs1
MjksNyBAQCBzdGF0aWMgdm9pZCBhZGRUb3VjaFBvaW50cyhUb3VjaExpc3QqIHRvdWNoZXMsIGNv
bnN0IEludFBvaW50JiBvZmZzZXQsIFdlYlRvdWNoUAogICAgICAgICBwb2ludC5yYWRpdXNZID0g
dG91Y2gtPndlYmtpdFJhZGl1c1koKTsKICAgICAgICAgcG9pbnQucm90YXRpb25BbmdsZSA9IHRv
dWNoLT53ZWJraXRSb3RhdGlvbkFuZ2xlKCk7CiAgICAgICAgIHBvaW50LmZvcmNlID0gdG91Y2gt
PndlYmtpdEZvcmNlKCk7CisgICAgICAgIHBvaW50LnN0YXRlID0gdG9XZWJUb3VjaFBvaW50U3Rh
dGUodG91Y2hUeXBlKTsKIAogICAgICAgICB0b3VjaFBvaW50c1tpXSA9IHBvaW50OwogICAgIH0K
QEAgLTU0MSw5ICs1NTUsOSBAQCBXZWJUb3VjaEV2ZW50QnVpbGRlcjo6V2ViVG91Y2hFdmVudEJ1
aWxkZXIoY29uc3QgV2lkZ2V0KiB3aWRnZXQsIGNvbnN0IFRvdWNoRXZlbgogICAgIG1vZGlmaWVy
cyA9IGdldFdlYklucHV0TW9kaWZpZXJzKGV2ZW50KTsKICAgICB0aW1lU3RhbXBTZWNvbmRzID0g
ZXZlbnQudGltZVN0YW1wKCkgLyBtaWxsaXNQZXJTZWNvbmQ7CiAKLSAgICBhZGRUb3VjaFBvaW50
cyhldmVudC50b3VjaGVzKCksIHdpZGdldC0+bG9jYXRpb24oKSwgdG91Y2hlcywgJnRvdWNoZXNM
ZW5ndGgpOwotICAgIGFkZFRvdWNoUG9pbnRzKGV2ZW50LmNoYW5nZWRUb3VjaGVzKCksIHdpZGdl
dC0+bG9jYXRpb24oKSwgY2hhbmdlZFRvdWNoZXMsICZjaGFuZ2VkVG91Y2hlc0xlbmd0aCk7Ci0g
ICAgYWRkVG91Y2hQb2ludHMoZXZlbnQudGFyZ2V0VG91Y2hlcygpLCB3aWRnZXQtPmxvY2F0aW9u
KCksIHRhcmdldFRvdWNoZXMsICZ0YXJnZXRUb3VjaGVzTGVuZ3RoKTsKKyAgICBhZGRUb3VjaFBv
aW50cyhldmVudC50eXBlKCksIGV2ZW50LnRvdWNoZXMoKSwgd2lkZ2V0LT5sb2NhdGlvbigpLCB0
b3VjaGVzLCAmdG91Y2hlc0xlbmd0aCk7CisgICAgYWRkVG91Y2hQb2ludHMoZXZlbnQudHlwZSgp
LCBldmVudC5jaGFuZ2VkVG91Y2hlcygpLCB3aWRnZXQtPmxvY2F0aW9uKCksIGNoYW5nZWRUb3Vj
aGVzLCAmY2hhbmdlZFRvdWNoZXNMZW5ndGgpOworICAgIGFkZFRvdWNoUG9pbnRzKGV2ZW50LnR5
cGUoKSwgZXZlbnQudGFyZ2V0VG91Y2hlcygpLCB3aWRnZXQtPmxvY2F0aW9uKCksIHRhcmdldFRv
dWNoZXMsICZ0YXJnZXRUb3VjaGVzTGVuZ3RoKTsKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShUT1VD
SF9FVkVOVFMpCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cK
aW5kZXggMTBmN2E3NGQwN2ZkOThiOWM1YTE4N2VjNjc0OTczMjY2ZGQ0NjE3ZS4uNmM2Yzk0MzZm
NzkyYWY5ZTAyOTk2ZDQ0NmM1NzNkMTFlZDRmZmU4MyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdl
TG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTEwLTAxICBT
YWRydWwgSGFiaWIgQ2hvd2RodXJ5ICA8c2FkcnVsQGNocm9taXVtLm9yZz4KKworICAgICAgICBb
Y2hyb21pdW1dIE1ha2Ugc3VyZSB0aGUgdG91Y2gtcG9pbnRzIGluIHRoZSB0b3VjaC1ldmVudHMg
aGF2ZSB0aGUgY29ycmVjdCBzdGF0ZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTk4MTEwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGVzdFdlYlBsdWdpbiBjYW4gbm93IGJlIGNvbmZpZ3VyZWQgdG8gcHJp
bnQgb3V0IHNvbWUgZGV0YWlscyBhYm91dAorICAgICAgICBldmVudHMuIEZvciBub3csIGRldGFp
bHMgZm9yIG9ubHkgdG91Y2ggZXZlbnRzIGFyZSBwcmludGVkLiBUaGlzIGlzCisgICAgICAgIHVz
ZWQgdG8gdmVyaWZ5IHRoYXQgdG91Y2gtcG9pbnRzIGluIHRoZSB0b3VjaC1ldmVudHMgYXJlIHBy
b3Blcmx5CisgICAgICAgIHNldC4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVt
L1Rlc3RXZWJQbHVnaW4uY3BwOgorICAgICAgICAocG9pbnRTdGF0ZSk6CisgICAgICAgIChwcmlu
dFRvdWNoTGlzdCk6CisgICAgICAgIChwcmludEV2ZW50RGV0YWlscyk6CisgICAgICAgIChUZXN0
V2ViUGx1Z2luOjpUZXN0V2ViUGx1Z2luKToKKyAgICAgICAgKFRlc3RXZWJQbHVnaW46OmhhbmRs
ZUlucHV0RXZlbnQpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RXZWJQ
bHVnaW4uaDoKKyAgICAgICAgKFRlc3RXZWJQbHVnaW4pOgorCiAyMDEyLTEwLTAxICBDc2FiYSBP
c3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgdXBk
YXRlIHRoZSBVUkwgb2YgdGhlIFN6ZWdlZCBTVk4gbWlycm9yLgpkaWZmIC0tZ2l0IGEvVG9vbHMv
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFdlYlBsdWdpbi5jcHAgYi9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9UZXN0V2ViUGx1Z2luLmNwcAppbmRleCA3NWUwNmM0M2I4MmIzZTg0
YTgyMTFjNTc1NzFlMWIzMzdhZTBiOGE2Li5kNDFjNWVmZTU4MmM1NzY2NTA3NDZlZTRjYmZiMjZm
MTUwYTEyYWM5IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0
V2ViUGx1Z2luLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0V2Vi
UGx1Z2luLmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgInBsYXRmb3JtL1dlYktpdFBs
YXRmb3JtU3VwcG9ydC5oIgogI2luY2x1ZGUgIldlYlBsdWdpbkNvbnRhaW5lci5oIgogI2luY2x1
ZGUgIldlYlBsdWdpblBhcmFtcy5oIgorI2luY2x1ZGUgIldlYlRvdWNoUG9pbnQuaCIKICNpbmNs
dWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIApA
QCAtNzYsMTggKzc3LDU1IEBAIHN0YXRpYyB2b2lkIHByZW11bHRpcGx5QWxwaGEoY29uc3QgdW5z
aWduZWQgY29sb3JJblszXSwgZmxvYXQgYWxwaGEsIGZsb2F0IGNvbG9yCiAgICAgY29sb3JPdXRb
M10gPSBhbHBoYTsKIH0KIAorY29uc3QgY2hhciogcG9pbnRTdGF0ZShXZWJLaXQ6OldlYlRvdWNo
UG9pbnQ6OlN0YXRlIHN0YXRlKQoreworICAgIHN3aXRjaCAoc3RhdGUpIHsKKyAgICBjYXNlIFdl
YktpdDo6V2ViVG91Y2hQb2ludDo6U3RhdGVSZWxlYXNlZDoKKyAgICAgICAgcmV0dXJuICJSZWxl
YXNlZCI7CisgICAgY2FzZSBXZWJLaXQ6OldlYlRvdWNoUG9pbnQ6OlN0YXRlUHJlc3NlZDoKKyAg
ICAgICAgcmV0dXJuICJQcmVzc2VkIjsKKyAgICBjYXNlIFdlYktpdDo6V2ViVG91Y2hQb2ludDo6
U3RhdGVNb3ZlZDoKKyAgICAgICAgcmV0dXJuICJNb3ZlZCI7CisgICAgY2FzZSBXZWJLaXQ6Oldl
YlRvdWNoUG9pbnQ6OlN0YXRlQ2FuY2VsbGVkOgorICAgICAgICByZXR1cm4gIkNhbmNlbGxlZCI7
CisgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuICJVbmtub3duIjsKKyAgICB9CisKKyAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gMDsKK30KKwordm9pZCBwcmludFRvdWNo
TGlzdChjb25zdCBXZWJLaXQ6OldlYlRvdWNoUG9pbnQqIHBvaW50cywgaW50IGxlbmd0aCkKK3sK
KyAgICBmb3IgKGludCBpID0gMDsgaSA8IGxlbmd0aDsgKytpKQorICAgICAgICBwcmludGYoIiog
JWQsICVkOiAlc1xuIiwgcG9pbnRzW2ldLnBvc2l0aW9uLngsIHBvaW50c1tpXS5wb3NpdGlvbi55
LCBwb2ludFN0YXRlKHBvaW50c1tpXS5zdGF0ZSkpOworfQorCit2b2lkIHByaW50RXZlbnREZXRh
aWxzKGNvbnN0IFdlYktpdDo6V2ViSW5wdXRFdmVudCYgZXZlbnQpCit7CisgICAgaWYgKFdlYktp
dDo6V2ViSW5wdXRFdmVudDo6aXNUb3VjaEV2ZW50VHlwZShldmVudC50eXBlKSkgeworICAgICAg
ICBjb25zdCBXZWJLaXQ6OldlYlRvdWNoRXZlbnQmIHRvdWNoID0gc3RhdGljX2Nhc3Q8Y29uc3Qg
V2ViS2l0OjpXZWJUb3VjaEV2ZW50Jj4oZXZlbnQpOworICAgICAgICBwcmludFRvdWNoTGlzdCh0
b3VjaC50b3VjaGVzLCB0b3VjaC50b3VjaGVzTGVuZ3RoKTsKKyAgICAgICAgcHJpbnRUb3VjaExp
c3QodG91Y2guY2hhbmdlZFRvdWNoZXMsIHRvdWNoLmNoYW5nZWRUb3VjaGVzTGVuZ3RoKTsKKyAg
ICAgICAgcHJpbnRUb3VjaExpc3QodG91Y2gudGFyZ2V0VG91Y2hlcywgdG91Y2gudGFyZ2V0VG91
Y2hlc0xlbmd0aCk7CisgICAgfQorfQorCiBUZXN0V2ViUGx1Z2luOjpUZXN0V2ViUGx1Z2luKFdl
YktpdDo6V2ViRnJhbWUqIGZyYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBXZWJLaXQ6OldlYlBsdWdpblBhcmFtcyYgcGFyYW1zKQogICAgIDogbV9mcmFtZShmcmFtZSkK
ICAgICAsIG1fY29udGFpbmVyKDApCiAgICAgLCBtX2NvbnRleHQoMCkKICAgICAsIG1fYWNjZXB0
c1RvdWNoRXZlbnQoZmFsc2UpCisgICAgLCBtX3ByaW50RXZlbnREZXRhaWxzKGZhbHNlKQogewog
ICAgIHN0YXRpYyBjb25zdCBXZWJTdHJpbmcga0F0dHJpYnV0ZVByaW1pdGl2ZSA9IFdlYlN0cmlu
Zzo6ZnJvbVVURjgoInByaW1pdGl2ZSIpOwogICAgIHN0YXRpYyBjb25zdCBXZWJTdHJpbmcga0F0
dHJpYnV0ZUJhY2tncm91bmRDb2xvciA9IFdlYlN0cmluZzo6ZnJvbVVURjgoImJhY2tncm91bmQt
Y29sb3IiKTsKICAgICBzdGF0aWMgY29uc3QgV2ViU3RyaW5nIGtBdHRyaWJ1dGVQcmltaXRpdmVD
b2xvciA9IFdlYlN0cmluZzo6ZnJvbVVURjgoInByaW1pdGl2ZS1jb2xvciIpOwogICAgIHN0YXRp
YyBjb25zdCBXZWJTdHJpbmcga0F0dHJpYnV0ZU9wYWNpdHkgPSBXZWJTdHJpbmc6OmZyb21VVEY4
KCJvcGFjaXR5Iik7CiAgICAgc3RhdGljIGNvbnN0IFdlYlN0cmluZyBrQXR0cmlidXRlQWNjZXB0
c1RvdWNoID0gV2ViU3RyaW5nOjpmcm9tVVRGOCgiYWNjZXB0cy10b3VjaCIpOworICAgIHN0YXRp
YyBjb25zdCBXZWJTdHJpbmcga0F0dHJpYnV0ZVByaW50RXZlbnREZXRhaWxzID0gV2ViU3RyaW5n
Ojpmcm9tVVRGOCgicHJpbnQtZXZlbnQtZGV0YWlscyIpOwogCiAgICAgQVNTRVJUKHBhcmFtcy5h
dHRyaWJ1dGVOYW1lcy5zaXplKCkgPT0gcGFyYW1zLmF0dHJpYnV0ZVZhbHVlcy5zaXplKCkpOwog
ICAgIHNpemVfdCBzaXplID0gcGFyYW1zLmF0dHJpYnV0ZU5hbWVzLnNpemUoKTsKQEAgLTEwNSw2
ICsxNDMsOCBAQCBUZXN0V2ViUGx1Z2luOjpUZXN0V2ViUGx1Z2luKFdlYktpdDo6V2ViRnJhbWUq
IGZyYW1lLAogICAgICAgICAgICAgbV9zY2VuZS5vcGFjaXR5ID0gcGFyc2VPcGFjaXR5KGF0dHJp
YnV0ZVZhbHVlKTsKICAgICAgICAgZWxzZSBpZiAoYXR0cmlidXRlTmFtZSA9PSBrQXR0cmlidXRl
QWNjZXB0c1RvdWNoKQogICAgICAgICAgICAgbV9hY2NlcHRzVG91Y2hFdmVudCA9IHBhcnNlQm9v
bGVhbihhdHRyaWJ1dGVWYWx1ZSk7CisgICAgICAgIGVsc2UgaWYgKGF0dHJpYnV0ZU5hbWUgPT0g
a0F0dHJpYnV0ZVByaW50RXZlbnREZXRhaWxzKQorICAgICAgICAgICAgbV9wcmludEV2ZW50RGV0
YWlscyA9IHBhcnNlQm9vbGVhbihhdHRyaWJ1dGVWYWx1ZSk7CiAgICAgfQogfQogCkBAIC00MTgs
NiArNDU4LDggQEAgYm9vbCBUZXN0V2ViUGx1Z2luOjpoYW5kbGVJbnB1dEV2ZW50KGNvbnN0IFdl
YktpdDo6V2ViSW5wdXRFdmVudCYgZXZlbnQsIFdlYktpdDoKICAgICB9CiAKICAgICBwcmludGYo
IlBsdWdpbiByZWNlaXZlZCBldmVudDogJXNcbiIsIGV2ZW50TmFtZSA/IGV2ZW50TmFtZSA6ICJ1
bmtub3duIik7CisgICAgaWYgKG1fcHJpbnRFdmVudERldGFpbHMpCisgICAgICAgIHByaW50RXZl
bnREZXRhaWxzKGV2ZW50KTsKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKZGlmZiAtLWdpdCBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RXZWJQbHVnaW4uaCBiL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RXZWJQbHVnaW4uaAppbmRleCBlMmFkNTc2YTczMjY1ZGM3
MjMyMjQ2ODM0ZjEzYTgzZGRkMWI2ZDc5Li4yZTExODg2OWIwOTdhOGJkMjI4ZjFlMjBiZDM4N2E2
NGE1ZjNiMDA0IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0
V2ViUGx1Z2luLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFdlYlBs
dWdpbi5oCkBAIC0xMzAsNiArMTMwLDcgQEAgcHJpdmF0ZToKICAgICBTY2VuZSBtX3NjZW5lOwog
CiAgICAgYm9vbCBtX2FjY2VwdHNUb3VjaEV2ZW50OworICAgIGJvb2wgbV9wcmludEV2ZW50RGV0
YWlsczsKIH07CiAKICNlbmRpZiAvLyBUZXN0UGVwcGVyUGx1Z2luX2gKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAyYzQzYjgx
YWZlNjk1Y2YzYzM1OTJiY2MyYzMzMjI4NjNiZTM0NWQ4Li5hMzQxMjI4ODE4YmIxOGFiOGY3N2Jl
NjUyODZiZWUwYjA2MWRhM2Y1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMTAtMDEgIFNh
ZHJ1bCBIYWJpYiBDaG93ZGh1cnkgIDxzYWRydWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtj
aHJvbWl1bV0gTWFrZSBzdXJlIHRoZSB0b3VjaC1wb2ludHMgaW4gdGhlIHRvdWNoLWV2ZW50cyBo
YXZlIHRoZSBjb3JyZWN0IHN0YXRlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9OTgxMTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL3BsdWdpbnMvdG91Y2gtZXZlbnRzLWRl
dGFpbHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9w
bHVnaW5zL3RvdWNoLWV2ZW50cy1kZXRhaWxzLmh0bWw6IEFkZGVkLgorCiAyMDEyLTEwLTAxICBB
cmtvIFNhaGEgIDxhcmtvQG1vdG9yb2xhLmNvbT4KIAogICAgICAgICBNaWNyb2RhdGE6IG5hbWVz
Lml0ZW0oKSBtdXN0IHJldHVybiBudWxsIGZvciBvdXQgb2YgcmFuZ2UgaW5kZXhlcy4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3BsdWdpbnMvdG91Y2gtZXZlbnRz
LWRldGFpbHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGx1
Z2lucy90b3VjaC1ldmVudHMtZGV0YWlscy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzFlYzll
NzA3MWNiZWNiNDkyNmYxYTc4YzMxNDdhZWQ0M2I3YTFhOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3BsdWdpbnMvdG91Y2gtZXZlbnRzLWRldGFpbHMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK1BsdWdpbiByZWNlaXZlZCBldmVudDogVG91
Y2hTdGFydAorKiAxMCwgMTA6IFByZXNzZWQKKyogMTAsIDEwOiBQcmVzc2VkCisqIDEwLCAxMDog
UHJlc3NlZAorUGx1Z2luIHJlY2VpdmVkIGV2ZW50OiBUb3VjaE1vdmUKKyogMjAsIDE1OiBNb3Zl
ZAorKiAyMCwgMTU6IE1vdmVkCisqIDIwLCAxNTogTW92ZWQKK1BsdWdpbiByZWNlaXZlZCBldmVu
dDogVG91Y2hFbmQKKyogMjAsIDE1OiBSZWxlYXNlZAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL3RvdWNoLWV2ZW50cy1kZXRhaWxzLmh0bWwgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL3RvdWNoLWV2ZW50cy1kZXRhaWxz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTJmNDdhMTY3OTQzYTFkMzRiMmU2NDVlZTUyZDA4ZjJkZTc2ODg0
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3BsdWdp
bnMvdG91Y2gtZXZlbnRzLWRldGFpbHMuaHRtbApAQCAtMCwwICsxLDMzIEBACis8aHRtbD4KKzxo
ZWFkPgorPHN0eWxlPgorICAjcGx1Z2luIHsKKyAgICB3aWR0aDogMTUwcHg7CisgICAgaGVpZ2h0
OiAxNTBweDsKKyAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKworPGJvZHk+Cis8ZW1iZWQgaWQ9InBs
dWdpbiIgdHlwZT0iYXBwbGljYXRpb24veC13ZWJraXQtdGVzdC13ZWJwbHVnaW4iIGFjY2VwdHMt
dG91Y2g9InRydWUiIHByaW50LWV2ZW50LWRldGFpbHM9InRydWUiPjwvZW1iZWQ+Cis8c2NyaXB0
PgorCisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lciB8fCAhd2luZG93LmV2ZW50U2VuZGVyKSB7
CisgICAgICAgIGRvY3VtZW50LndyaXRlKCJUaGlzIHRlc3QgZG9lcyBub3Qgd29yayBpbiBtYW51
YWwgbW9kZS4iKTsKKyAgICB9IGVsc2UgeworICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQo
KTsKKworICAgICAgICB2YXIgcG9zaXRpb25YID0gcGx1Z2luLm9mZnNldExlZnQgKyAxMDsKKyAg
ICAgICAgdmFyIHBvc2l0aW9uWSA9IHBsdWdpbi5vZmZzZXRUb3AgKyAxMDsKKyAgICAgICAgZXZl
bnRTZW5kZXIuYWRkVG91Y2hQb2ludChwb3NpdGlvblgsIHBvc2l0aW9uWSk7CisgICAgICAgIGV2
ZW50U2VuZGVyLnRvdWNoU3RhcnQoKTsKKyAgICAgICAgZXZlbnRTZW5kZXIudXBkYXRlVG91Y2hQ
b2ludCgwLCBwb3NpdGlvblggKyAxMCwgcG9zaXRpb25ZICsgNSk7CisgICAgICAgIGV2ZW50U2Vu
ZGVyLnRvdWNoTW92ZSgpOworICAgICAgICBldmVudFNlbmRlci5yZWxlYXNlVG91Y2hQb2ludCgw
KTsKKyAgICAgICAgZXZlbnRTZW5kZXIudG91Y2hFbmQoKTsKKyAgICB9CisKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgorCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166703</attachid>
            <date>2012-10-02 09:55:46 -0700</date>
            <delta_ts>2012-10-02 12:35:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98110-20121002125457.patch</filename>
            <type>text/plain</type>
            <size>12739</size>
            <attacher name="Sadrul Habib Chowdhury">sadrul</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwMDMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDY1NGExZWFjZWEyOWU5ZDM3OGQ0ZTQzMjVlMmY3NzNjZjFlZjZkMDEuLmVlOTkwZDZlMjM3MjQ0
NzQxMzlhZWViM2JlYWIyYzY1MjExNDEwYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjAgQEAKKzIwMTItMTAtMDEgIFNhZHJ1bCBIYWJpYiBDaG93ZGh1cnkgIDxzYWRy
dWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gTWFrZSBzdXJlIHRoZSB0b3Vj
aC1wb2ludHMgaW4gdGhlIHRvdWNoLWV2ZW50cyBoYXZlIHRoZSBjb3JyZWN0IHN0YXRlLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTgxMTAKKworICAg
ICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgorCisgICAgICAgIEl0IGlzIG5lY2Vzc2FyeSBm
b3IgdGhlIFdlYlRvdWNoUG9pbnRzIGluIHRoZSByZWNvbnN0cnVjdGVkIFdlYlRvdWNoRXZlbnQK
KyAgICAgICAgdG8gaGF2ZSB0aGUgY29ycmVjdCBzdGF0ZS4gV2l0aG91dCB0aGlzIGNoYW5nZSwg
dGhlIHN0YXRlcyB3ZXJlIGFsd2F5cworICAgICAgICB1bmtub3duLgorCisgICAgICAgICogc3Jj
L1dlYklucHV0RXZlbnRDb252ZXJzaW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6dG9XZWJUb3Vj
aFBvaW50U3RhdGUpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6YWRkVG91
Y2hQb2ludHMpOgorICAgICAgICAoV2ViS2l0OjpXZWJUb3VjaEV2ZW50QnVpbGRlcjo6V2ViVG91
Y2hFdmVudEJ1aWxkZXIpOgorCiAyMDEyLTEwLTAxICBBbGV4YW5kZXIgUGF2bG92ICA8YXBhdmxv
dkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogW0RldmljZSBNZXRyaWNz
XSBSZW1vdmUgdGhlIGd1dHRlciBvdmVybGF5IG1vdmluZyBpdHMgZnVuY3Rpb25hbGl0eSBpbnRv
IHRoZSBJbnNwZWN0b3JPdmVybGF5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJJbnB1dEV2ZW50Q29udmVyc2lvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJJbnB1dEV2ZW50Q29udmVyc2lvbi5jcHAKaW5kZXggMGNjMWUwYzI0ZjUwMDgyODAx
N2RmMDRhODQ0ODUzZTFhYmE4N2I1YS4uMzg3MWYxNzNiMzllZDAyNjA0ZGZmMjRiZGRkNzZlZDQy
NWFhZTI2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSW5wdXRF
dmVudENvbnZlcnNpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklu
cHV0RXZlbnRDb252ZXJzaW9uLmNwcApAQCAtMjA3LDcgKzIwNyw3IEBAIFBsYXRmb3JtR2VzdHVy
ZUV2ZW50QnVpbGRlcjo6UGxhdGZvcm1HZXN0dXJlRXZlbnRCdWlsZGVyKFdpZGdldCogd2lkZ2V0
LCBjb25zdCBXCiAKIC8vIE1ha2VQbGF0Zm9ybUtleWJvYXJkRXZlbnQgLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotc3RhdGljIGlubGluZSBQbGF0
Zm9ybUV2ZW50OjpUeXBlIHRvUGxhdGZvcm1LZXlib2FyZEV2ZW50VHlwZShXZWJJbnB1dEV2ZW50
OjpUeXBlIHR5cGUpCitpbmxpbmUgUGxhdGZvcm1FdmVudDo6VHlwZSB0b1BsYXRmb3JtS2V5Ym9h
cmRFdmVudFR5cGUoV2ViSW5wdXRFdmVudDo6VHlwZSB0eXBlKQogewogICAgIHN3aXRjaCAodHlw
ZSkgewogICAgIGNhc2UgV2ViSW5wdXRFdmVudDo6S2V5VXA6CkBAIC0zMDAsNyArMzAwLDcgQEAg
Ym9vbCBQbGF0Zm9ybUtleWJvYXJkRXZlbnRCdWlsZGVyOjppc0NoYXJhY3RlcktleSgpIGNvbnN0
CiB9CiAKICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQotc3RhdGljIGlubGluZSBQbGF0Zm9ybUV2
ZW50OjpUeXBlIHRvUGxhdGZvcm1Ub3VjaEV2ZW50VHlwZShjb25zdCBXZWJJbnB1dEV2ZW50OjpU
eXBlIHR5cGUpCitpbmxpbmUgUGxhdGZvcm1FdmVudDo6VHlwZSB0b1BsYXRmb3JtVG91Y2hFdmVu
dFR5cGUoY29uc3QgV2ViSW5wdXRFdmVudDo6VHlwZSB0eXBlKQogewogICAgIHN3aXRjaCAodHlw
ZSkgewogICAgIGNhc2UgV2ViSW5wdXRFdmVudDo6VG91Y2hTdGFydDoKQEAgLTMxNyw3ICszMTcs
NyBAQCBzdGF0aWMgaW5saW5lIFBsYXRmb3JtRXZlbnQ6OlR5cGUgdG9QbGF0Zm9ybVRvdWNoRXZl
bnRUeXBlKGNvbnN0IFdlYklucHV0RXZlbnQ6OgogICAgIHJldHVybiBQbGF0Zm9ybUV2ZW50OjpU
b3VjaFN0YXJ0OwogfQogCi1zdGF0aWMgaW5saW5lIFBsYXRmb3JtVG91Y2hQb2ludDo6U3RhdGUg
dG9QbGF0Zm9ybVRvdWNoUG9pbnRTdGF0ZShjb25zdCBXZWJUb3VjaFBvaW50OjpTdGF0ZSBzdGF0
ZSkKK2lubGluZSBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlN0YXRlIHRvUGxhdGZvcm1Ub3VjaFBvaW50
U3RhdGUoY29uc3QgV2ViVG91Y2hQb2ludDo6U3RhdGUgc3RhdGUpCiB7CiAgICAgc3dpdGNoIChz
dGF0ZSkgewogICAgIGNhc2UgV2ViVG91Y2hQb2ludDo6U3RhdGVSZWxlYXNlZDoKQEAgLTMzNiw2
ICszMzYsMTkgQEAgc3RhdGljIGlubGluZSBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlN0YXRlIHRvUGxh
dGZvcm1Ub3VjaFBvaW50U3RhdGUoY29uc3QgV2ViVG91Y2gKICAgICByZXR1cm4gUGxhdGZvcm1U
b3VjaFBvaW50OjpUb3VjaFJlbGVhc2VkOwogfQogCitpbmxpbmUgV2ViVG91Y2hQb2ludDo6U3Rh
dGUgdG9XZWJUb3VjaFBvaW50U3RhdGUoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlKQoreworICAg
IGlmICh0eXBlID09IGV2ZW50TmFtZXMoKS50b3VjaGVuZEV2ZW50KQorICAgICAgICByZXR1cm4g
V2ViVG91Y2hQb2ludDo6U3RhdGVSZWxlYXNlZDsKKyAgICBpZiAodHlwZSA9PSBldmVudE5hbWVz
KCkudG91Y2hjYW5jZWxFdmVudCkKKyAgICAgICAgcmV0dXJuIFdlYlRvdWNoUG9pbnQ6OlN0YXRl
Q2FuY2VsbGVkOworICAgIGlmICh0eXBlID09IGV2ZW50TmFtZXMoKS50b3VjaHN0YXJ0RXZlbnQp
CisgICAgICAgIHJldHVybiBXZWJUb3VjaFBvaW50OjpTdGF0ZVByZXNzZWQ7CisgICAgaWYgKHR5
cGUgPT0gZXZlbnROYW1lcygpLnRvdWNobW92ZUV2ZW50KQorICAgICAgICByZXR1cm4gV2ViVG91
Y2hQb2ludDo6U3RhdGVNb3ZlZDsKKyAgICByZXR1cm4gV2ViVG91Y2hQb2ludDo6U3RhdGVVbmRl
ZmluZWQ7Cit9CisKIFBsYXRmb3JtVG91Y2hQb2ludEJ1aWxkZXI6OlBsYXRmb3JtVG91Y2hQb2lu
dEJ1aWxkZXIoV2lkZ2V0KiB3aWRnZXQsIGNvbnN0IFdlYlRvdWNoUG9pbnQmIHBvaW50KQogewog
ICAgIG1faWQgPSBwb2ludC5pZDsKQEAgLTUwMiw3ICs1MTUsNyBAQCBXZWJLZXlib2FyZEV2ZW50
QnVpbGRlcjo6V2ViS2V5Ym9hcmRFdmVudEJ1aWxkZXIoY29uc3QgS2V5Ym9hcmRFdmVudCYgZXZl
bnQpCiAKICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQogCi1zdGF0aWMgdm9pZCBhZGRUb3VjaFBv
aW50cyhUb3VjaExpc3QqIHRvdWNoZXMsIGNvbnN0IEludFBvaW50JiBvZmZzZXQsIFdlYlRvdWNo
UG9pbnQqIHRvdWNoUG9pbnRzLCB1bnNpZ25lZCogdG91Y2hQb2ludHNMZW5ndGgpCitzdGF0aWMg
dm9pZCBhZGRUb3VjaFBvaW50cyhjb25zdCBBdG9taWNTdHJpbmcmIHRvdWNoVHlwZSwgVG91Y2hM
aXN0KiB0b3VjaGVzLCBjb25zdCBJbnRQb2ludCYgb2Zmc2V0LCBXZWJUb3VjaFBvaW50KiB0b3Vj
aFBvaW50cywgdW5zaWduZWQqIHRvdWNoUG9pbnRzTGVuZ3RoKQogewogICAgIHVuc2lnbmVkIG51
bWJlck9mVG91Y2hlcyA9IHN0ZDo6bWluKHRvdWNoZXMtPmxlbmd0aCgpLCBzdGF0aWNfY2FzdDx1
bnNpZ25lZD4oV2ViVG91Y2hFdmVudDo6dG91Y2hlc0xlbmd0aENhcCkpOwogICAgIGZvciAodW5z
aWduZWQgaSA9IDA7IGkgPCBudW1iZXJPZlRvdWNoZXM7ICsraSkgewpAQCAtNTE2LDYgKzUyOSw3
IEBAIHN0YXRpYyB2b2lkIGFkZFRvdWNoUG9pbnRzKFRvdWNoTGlzdCogdG91Y2hlcywgY29uc3Qg
SW50UG9pbnQmIG9mZnNldCwgV2ViVG91Y2hQCiAgICAgICAgIHBvaW50LnJhZGl1c1kgPSB0b3Vj
aC0+d2Via2l0UmFkaXVzWSgpOwogICAgICAgICBwb2ludC5yb3RhdGlvbkFuZ2xlID0gdG91Y2gt
PndlYmtpdFJvdGF0aW9uQW5nbGUoKTsKICAgICAgICAgcG9pbnQuZm9yY2UgPSB0b3VjaC0+d2Vi
a2l0Rm9yY2UoKTsKKyAgICAgICAgcG9pbnQuc3RhdGUgPSB0b1dlYlRvdWNoUG9pbnRTdGF0ZSh0
b3VjaFR5cGUpOwogCiAgICAgICAgIHRvdWNoUG9pbnRzW2ldID0gcG9pbnQ7CiAgICAgfQpAQCAt
NTQxLDkgKzU1NSw5IEBAIFdlYlRvdWNoRXZlbnRCdWlsZGVyOjpXZWJUb3VjaEV2ZW50QnVpbGRl
cihjb25zdCBXaWRnZXQqIHdpZGdldCwgY29uc3QgVG91Y2hFdmVuCiAgICAgbW9kaWZpZXJzID0g
Z2V0V2ViSW5wdXRNb2RpZmllcnMoZXZlbnQpOwogICAgIHRpbWVTdGFtcFNlY29uZHMgPSBldmVu
dC50aW1lU3RhbXAoKSAvIG1pbGxpc1BlclNlY29uZDsKIAotICAgIGFkZFRvdWNoUG9pbnRzKGV2
ZW50LnRvdWNoZXMoKSwgd2lkZ2V0LT5sb2NhdGlvbigpLCB0b3VjaGVzLCAmdG91Y2hlc0xlbmd0
aCk7Ci0gICAgYWRkVG91Y2hQb2ludHMoZXZlbnQuY2hhbmdlZFRvdWNoZXMoKSwgd2lkZ2V0LT5s
b2NhdGlvbigpLCBjaGFuZ2VkVG91Y2hlcywgJmNoYW5nZWRUb3VjaGVzTGVuZ3RoKTsKLSAgICBh
ZGRUb3VjaFBvaW50cyhldmVudC50YXJnZXRUb3VjaGVzKCksIHdpZGdldC0+bG9jYXRpb24oKSwg
dGFyZ2V0VG91Y2hlcywgJnRhcmdldFRvdWNoZXNMZW5ndGgpOworICAgIGFkZFRvdWNoUG9pbnRz
KGV2ZW50LnR5cGUoKSwgZXZlbnQudG91Y2hlcygpLCB3aWRnZXQtPmxvY2F0aW9uKCksIHRvdWNo
ZXMsICZ0b3VjaGVzTGVuZ3RoKTsKKyAgICBhZGRUb3VjaFBvaW50cyhldmVudC50eXBlKCksIGV2
ZW50LmNoYW5nZWRUb3VjaGVzKCksIHdpZGdldC0+bG9jYXRpb24oKSwgY2hhbmdlZFRvdWNoZXMs
ICZjaGFuZ2VkVG91Y2hlc0xlbmd0aCk7CisgICAgYWRkVG91Y2hQb2ludHMoZXZlbnQudHlwZSgp
LCBldmVudC50YXJnZXRUb3VjaGVzKCksIHdpZGdldC0+bG9jYXRpb24oKSwgdGFyZ2V0VG91Y2hl
cywgJnRhcmdldFRvdWNoZXNMZW5ndGgpOwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKFRPVUNIX0VW
RU5UUykKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRl
eCAxMGY3YTc0ZDA3ZmQ5OGI5YzVhMTg3ZWM2NzQ5NzMyNjZkZDQ2MTdlLi4wZTI0NzdmMjdjYmY5
ZDdjOTNiNDZmYTU5ZTRkNjFhYjYyZTBiNDQ5IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cK
KysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTItMTAtMDEgIFNhZHJ1
bCBIYWJpYiBDaG93ZGh1cnkgIDxzYWRydWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJv
bWl1bV0gTWFrZSBzdXJlIHRoZSB0b3VjaC1wb2ludHMgaW4gdGhlIHRvdWNoLWV2ZW50cyBoYXZl
IHRoZSBjb3JyZWN0IHN0YXRlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9OTgxMTAKKworICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgorCisg
ICAgICAgIFRlc3RXZWJQbHVnaW4gY2FuIG5vdyBiZSBjb25maWd1cmVkIHRvIHByaW50IG91dCBz
b21lIGRldGFpbHMgYWJvdXQKKyAgICAgICAgZXZlbnRzLiBGb3Igbm93LCBkZXRhaWxzIGZvciBv
bmx5IHRvdWNoIGV2ZW50cyBhcmUgcHJpbnRlZC4gVGhpcyBpcworICAgICAgICB1c2VkIHRvIHZl
cmlmeSB0aGF0IHRvdWNoLXBvaW50cyBpbiB0aGUgdG91Y2gtZXZlbnRzIGFyZSBwcm9wZXJseQor
ICAgICAgICBzZXQuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0V2Vi
UGx1Z2luLmNwcDoKKyAgICAgICAgKHBvaW50U3RhdGUpOgorICAgICAgICAocHJpbnRUb3VjaExp
c3QpOgorICAgICAgICAocHJpbnRFdmVudERldGFpbHMpOgorICAgICAgICAoVGVzdFdlYlBsdWdp
bjo6VGVzdFdlYlBsdWdpbik6CisgICAgICAgIChUZXN0V2ViUGx1Z2luOjpoYW5kbGVJbnB1dEV2
ZW50KToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0V2ViUGx1Z2luLmg6
CisgICAgICAgIChUZXN0V2ViUGx1Z2luKToKKwogMjAxMi0xMC0wMSAgQ3NhYmEgT3N6dHJvZ29u
w6FjICA8b3NzeUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHVwZGF0ZSB0aGUg
VVJMIG9mIHRoZSBTemVnZWQgU1ZOIG1pcnJvci4KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL1Rlc3RXZWJQbHVnaW4uY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vVGVzdFdlYlBsdWdpbi5jcHAKaW5kZXggNzVlMDZjNDNiODJiM2U4NGE4MjExYzU3
NTcxZTFiMzM3YWUwYjhhNi4uZTk1YzBlNGI1NTJmNWU0ZTgwNDc1NmRiMGIyMWZmNjFhYjc0Njhm
NCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFdlYlBsdWdp
bi5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFdlYlBsdWdpbi5j
cHAKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJwbGF0Zm9ybS9XZWJLaXRQbGF0Zm9ybVN1
cHBvcnQuaCIKICNpbmNsdWRlICJXZWJQbHVnaW5Db250YWluZXIuaCIKICNpbmNsdWRlICJXZWJQ
bHVnaW5QYXJhbXMuaCIKKyNpbmNsdWRlICJXZWJUb3VjaFBvaW50LmgiCiAjaW5jbHVkZSA8d3Rm
L0Fzc2VydGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKQEAgLTc2LDE4
ICs3Nyw1NSBAQCBzdGF0aWMgdm9pZCBwcmVtdWx0aXBseUFscGhhKGNvbnN0IHVuc2lnbmVkIGNv
bG9ySW5bM10sIGZsb2F0IGFscGhhLCBmbG9hdCBjb2xvcgogICAgIGNvbG9yT3V0WzNdID0gYWxw
aGE7CiB9CiAKK3N0YXRpYyBjb25zdCBjaGFyKiBwb2ludFN0YXRlKFdlYktpdDo6V2ViVG91Y2hQ
b2ludDo6U3RhdGUgc3RhdGUpCit7CisgICAgc3dpdGNoIChzdGF0ZSkgeworICAgIGNhc2UgV2Vi
S2l0OjpXZWJUb3VjaFBvaW50OjpTdGF0ZVJlbGVhc2VkOgorICAgICAgICByZXR1cm4gIlJlbGVh
c2VkIjsKKyAgICBjYXNlIFdlYktpdDo6V2ViVG91Y2hQb2ludDo6U3RhdGVQcmVzc2VkOgorICAg
ICAgICByZXR1cm4gIlByZXNzZWQiOworICAgIGNhc2UgV2ViS2l0OjpXZWJUb3VjaFBvaW50OjpT
dGF0ZU1vdmVkOgorICAgICAgICByZXR1cm4gIk1vdmVkIjsKKyAgICBjYXNlIFdlYktpdDo6V2Vi
VG91Y2hQb2ludDo6U3RhdGVDYW5jZWxsZWQ6CisgICAgICAgIHJldHVybiAiQ2FuY2VsbGVkIjsK
KyAgICBkZWZhdWx0OgorICAgICAgICByZXR1cm4gIlVua25vd24iOworICAgIH0KKworICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBwcmlu
dFRvdWNoTGlzdChjb25zdCBXZWJLaXQ6OldlYlRvdWNoUG9pbnQqIHBvaW50cywgaW50IGxlbmd0
aCkKK3sKKyAgICBmb3IgKGludCBpID0gMDsgaSA8IGxlbmd0aDsgKytpKQorICAgICAgICBwcmlu
dGYoIiogJWQsICVkOiAlc1xuIiwgcG9pbnRzW2ldLnBvc2l0aW9uLngsIHBvaW50c1tpXS5wb3Np
dGlvbi55LCBwb2ludFN0YXRlKHBvaW50c1tpXS5zdGF0ZSkpOworfQorCitzdGF0aWMgdm9pZCBw
cmludEV2ZW50RGV0YWlscyhjb25zdCBXZWJLaXQ6OldlYklucHV0RXZlbnQmIGV2ZW50KQorewor
ICAgIGlmIChXZWJLaXQ6OldlYklucHV0RXZlbnQ6OmlzVG91Y2hFdmVudFR5cGUoZXZlbnQudHlw
ZSkpIHsKKyAgICAgICAgY29uc3QgV2ViS2l0OjpXZWJUb3VjaEV2ZW50JiB0b3VjaCA9IHN0YXRp
Y19jYXN0PGNvbnN0IFdlYktpdDo6V2ViVG91Y2hFdmVudCY+KGV2ZW50KTsKKyAgICAgICAgcHJp
bnRUb3VjaExpc3QodG91Y2gudG91Y2hlcywgdG91Y2gudG91Y2hlc0xlbmd0aCk7CisgICAgICAg
IHByaW50VG91Y2hMaXN0KHRvdWNoLmNoYW5nZWRUb3VjaGVzLCB0b3VjaC5jaGFuZ2VkVG91Y2hl
c0xlbmd0aCk7CisgICAgICAgIHByaW50VG91Y2hMaXN0KHRvdWNoLnRhcmdldFRvdWNoZXMsIHRv
dWNoLnRhcmdldFRvdWNoZXNMZW5ndGgpOworICAgIH0KK30KKwogVGVzdFdlYlBsdWdpbjo6VGVz
dFdlYlBsdWdpbihXZWJLaXQ6OldlYkZyYW1lKiBmcmFtZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgV2ViS2l0OjpXZWJQbHVnaW5QYXJhbXMmIHBhcmFtcykKICAgICA6IG1f
ZnJhbWUoZnJhbWUpCiAgICAgLCBtX2NvbnRhaW5lcigwKQogICAgICwgbV9jb250ZXh0KDApCiAg
ICAgLCBtX2FjY2VwdHNUb3VjaEV2ZW50KGZhbHNlKQorICAgICwgbV9wcmludEV2ZW50RGV0YWls
cyhmYWxzZSkKIHsKICAgICBzdGF0aWMgY29uc3QgV2ViU3RyaW5nIGtBdHRyaWJ1dGVQcmltaXRp
dmUgPSBXZWJTdHJpbmc6OmZyb21VVEY4KCJwcmltaXRpdmUiKTsKICAgICBzdGF0aWMgY29uc3Qg
V2ViU3RyaW5nIGtBdHRyaWJ1dGVCYWNrZ3JvdW5kQ29sb3IgPSBXZWJTdHJpbmc6OmZyb21VVEY4
KCJiYWNrZ3JvdW5kLWNvbG9yIik7CiAgICAgc3RhdGljIGNvbnN0IFdlYlN0cmluZyBrQXR0cmli
dXRlUHJpbWl0aXZlQ29sb3IgPSBXZWJTdHJpbmc6OmZyb21VVEY4KCJwcmltaXRpdmUtY29sb3Ii
KTsKICAgICBzdGF0aWMgY29uc3QgV2ViU3RyaW5nIGtBdHRyaWJ1dGVPcGFjaXR5ID0gV2ViU3Ry
aW5nOjpmcm9tVVRGOCgib3BhY2l0eSIpOwogICAgIHN0YXRpYyBjb25zdCBXZWJTdHJpbmcga0F0
dHJpYnV0ZUFjY2VwdHNUb3VjaCA9IFdlYlN0cmluZzo6ZnJvbVVURjgoImFjY2VwdHMtdG91Y2gi
KTsKKyAgICBzdGF0aWMgY29uc3QgV2ViU3RyaW5nIGtBdHRyaWJ1dGVQcmludEV2ZW50RGV0YWls
cyA9IFdlYlN0cmluZzo6ZnJvbVVURjgoInByaW50LWV2ZW50LWRldGFpbHMiKTsKIAogICAgIEFT
U0VSVChwYXJhbXMuYXR0cmlidXRlTmFtZXMuc2l6ZSgpID09IHBhcmFtcy5hdHRyaWJ1dGVWYWx1
ZXMuc2l6ZSgpKTsKICAgICBzaXplX3Qgc2l6ZSA9IHBhcmFtcy5hdHRyaWJ1dGVOYW1lcy5zaXpl
KCk7CkBAIC0xMDUsNiArMTQzLDggQEAgVGVzdFdlYlBsdWdpbjo6VGVzdFdlYlBsdWdpbihXZWJL
aXQ6OldlYkZyYW1lKiBmcmFtZSwKICAgICAgICAgICAgIG1fc2NlbmUub3BhY2l0eSA9IHBhcnNl
T3BhY2l0eShhdHRyaWJ1dGVWYWx1ZSk7CiAgICAgICAgIGVsc2UgaWYgKGF0dHJpYnV0ZU5hbWUg
PT0ga0F0dHJpYnV0ZUFjY2VwdHNUb3VjaCkKICAgICAgICAgICAgIG1fYWNjZXB0c1RvdWNoRXZl
bnQgPSBwYXJzZUJvb2xlYW4oYXR0cmlidXRlVmFsdWUpOworICAgICAgICBlbHNlIGlmIChhdHRy
aWJ1dGVOYW1lID09IGtBdHRyaWJ1dGVQcmludEV2ZW50RGV0YWlscykKKyAgICAgICAgICAgIG1f
cHJpbnRFdmVudERldGFpbHMgPSBwYXJzZUJvb2xlYW4oYXR0cmlidXRlVmFsdWUpOwogICAgIH0K
IH0KIApAQCAtNDE4LDYgKzQ1OCw4IEBAIGJvb2wgVGVzdFdlYlBsdWdpbjo6aGFuZGxlSW5wdXRF
dmVudChjb25zdCBXZWJLaXQ6OldlYklucHV0RXZlbnQmIGV2ZW50LCBXZWJLaXQ6CiAgICAgfQog
CiAgICAgcHJpbnRmKCJQbHVnaW4gcmVjZWl2ZWQgZXZlbnQ6ICVzXG4iLCBldmVudE5hbWUgPyBl
dmVudE5hbWUgOiAidW5rbm93biIpOworICAgIGlmIChtX3ByaW50RXZlbnREZXRhaWxzKQorICAg
ICAgICBwcmludEV2ZW50RGV0YWlscyhldmVudCk7CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCmRp
ZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0V2ViUGx1Z2luLmgg
Yi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0V2ViUGx1Z2luLmgKaW5kZXggZTJh
ZDU3NmE3MzI2NWRjNzIzMjI0NjgzNGYxM2E4M2RkZDFiNmQ3OS4uMmUxMTg4NjliMDk3YThiZDIy
OGYxZTIwYmQzODdhNjRhNWYzYjAwNCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vVGVzdFdlYlBsdWdpbi5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL1Rlc3RXZWJQbHVnaW4uaApAQCAtMTMwLDYgKzEzMCw3IEBAIHByaXZhdGU6CiAgICAgU2Nl
bmUgbV9zY2VuZTsKIAogICAgIGJvb2wgbV9hY2NlcHRzVG91Y2hFdmVudDsKKyAgICBib29sIG1f
cHJpbnRFdmVudERldGFpbHM7CiB9OwogCiAjZW5kaWYgLy8gVGVzdFBlcHBlclBsdWdpbl9oCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggMmM0M2I4MWFmZTY5NWNmM2MzNTkyYmNjMmMzMzIyODYzYmUzNDVkOC4uMWEzNmYyZTFl
MWE3Yzg5MTc1YTVhZGNiMjI1ZWU3OTNiMjVmNzY3YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisy
MDEyLTEwLTAxICBTYWRydWwgSGFiaWIgQ2hvd2RodXJ5ICA8c2FkcnVsQGNocm9taXVtLm9yZz4K
KworICAgICAgICBbY2hyb21pdW1dIE1ha2Ugc3VyZSB0aGUgdG91Y2gtcG9pbnRzIGluIHRoZSB0
b3VjaC1ldmVudHMgaGF2ZSB0aGUgY29ycmVjdCBzdGF0ZS4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4MTEwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
QWRhbSBCYXJ0aC4KKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL3BsdWdpbnMvdG91Y2gt
ZXZlbnRzLWRldGFpbHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9j
aHJvbWl1bS9wbHVnaW5zL3RvdWNoLWV2ZW50cy1kZXRhaWxzLmh0bWw6IEFkZGVkLgorCiAyMDEy
LTEwLTAxICBBcmtvIFNhaGEgIDxhcmtvQG1vdG9yb2xhLmNvbT4KIAogICAgICAgICBNaWNyb2Rh
dGE6IG5hbWVzLml0ZW0oKSBtdXN0IHJldHVybiBudWxsIGZvciBvdXQgb2YgcmFuZ2UgaW5kZXhl
cy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3BsdWdpbnMvdG91
Y2gtZXZlbnRzLWRldGFpbHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vcGx1Z2lucy90b3VjaC1ldmVudHMtZGV0YWlscy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNzFlYzllNzA3MWNiZWNiNDkyNmYxYTc4YzMxNDdhZWQ0M2I3YTFhOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3BsdWdpbnMvdG91Y2gtZXZlbnRz
LWRldGFpbHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK1BsdWdpbiByZWNlaXZlZCBl
dmVudDogVG91Y2hTdGFydAorKiAxMCwgMTA6IFByZXNzZWQKKyogMTAsIDEwOiBQcmVzc2VkCisq
IDEwLCAxMDogUHJlc3NlZAorUGx1Z2luIHJlY2VpdmVkIGV2ZW50OiBUb3VjaE1vdmUKKyogMjAs
IDE1OiBNb3ZlZAorKiAyMCwgMTU6IE1vdmVkCisqIDIwLCAxNTogTW92ZWQKK1BsdWdpbiByZWNl
aXZlZCBldmVudDogVG91Y2hFbmQKKyogMjAsIDE1OiBSZWxlYXNlZAorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL3RvdWNoLWV2ZW50cy1kZXRhaWxz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL3RvdWNoLWV2ZW50
cy1kZXRhaWxzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTJmNDdhMTY3OTQzYTFkMzRiMmU2NDVlZTUyZDA4
ZjJkZTc2ODg0YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL3BsdWdpbnMvdG91Y2gtZXZlbnRzLWRldGFpbHMuaHRtbApAQCAtMCwwICsxLDMzIEBACis8
aHRtbD4KKzxoZWFkPgorPHN0eWxlPgorICAjcGx1Z2luIHsKKyAgICB3aWR0aDogMTUwcHg7Cisg
ICAgaGVpZ2h0OiAxNTBweDsKKyAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKworPGJvZHk+Cis8ZW1i
ZWQgaWQ9InBsdWdpbiIgdHlwZT0iYXBwbGljYXRpb24veC13ZWJraXQtdGVzdC13ZWJwbHVnaW4i
IGFjY2VwdHMtdG91Y2g9InRydWUiIHByaW50LWV2ZW50LWRldGFpbHM9InRydWUiPjwvZW1iZWQ+
Cis8c2NyaXB0PgorCisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lciB8fCAhd2luZG93LmV2ZW50
U2VuZGVyKSB7CisgICAgICAgIGRvY3VtZW50LndyaXRlKCJUaGlzIHRlc3QgZG9lcyBub3Qgd29y
ayBpbiBtYW51YWwgbW9kZS4iKTsKKyAgICB9IGVsc2UgeworICAgICAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKKworICAgICAgICB2YXIgcG9zaXRpb25YID0gcGx1Z2luLm9mZnNldExlZnQg
KyAxMDsKKyAgICAgICAgdmFyIHBvc2l0aW9uWSA9IHBsdWdpbi5vZmZzZXRUb3AgKyAxMDsKKyAg
ICAgICAgZXZlbnRTZW5kZXIuYWRkVG91Y2hQb2ludChwb3NpdGlvblgsIHBvc2l0aW9uWSk7Cisg
ICAgICAgIGV2ZW50U2VuZGVyLnRvdWNoU3RhcnQoKTsKKyAgICAgICAgZXZlbnRTZW5kZXIudXBk
YXRlVG91Y2hQb2ludCgwLCBwb3NpdGlvblggKyAxMCwgcG9zaXRpb25ZICsgNSk7CisgICAgICAg
IGV2ZW50U2VuZGVyLnRvdWNoTW92ZSgpOworICAgICAgICBldmVudFNlbmRlci5yZWxlYXNlVG91
Y2hQb2ludCgwKTsKKyAgICAgICAgZXZlbnRTZW5kZXIudG91Y2hFbmQoKTsKKyAgICB9CisKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgorCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>