<?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>126480</bug_id>
          
          <creation_ts>2014-01-03 18:34:29 -0800</creation_ts>
          <short_desc>Move process suppression of WebProcess to WebPage (from UIProcess)</short_desc>
          <delta_ts>2014-01-06 09:05:36 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>525.x (Safari 3.1)</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>
          
          <blocked>126526</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Gavin Barraclough">barraclough</reporter>
          <assigned_to name="Gavin Barraclough">barraclough</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>964363</commentid>
    <comment_count>0</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2014-01-03 18:34:29 -0800</bug_when>
    <thetext>Let each page take a UserActivity rather than having to coalesce this state, and take different activity tokens for normal visibility and suppression disabled, so we can see why the process is not suppressed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>964365</commentid>
    <comment_count>1</comment_count>
      <attachid>220362</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2014-01-03 18:36:58 -0800</bug_when>
    <thetext>Created attachment 220362
WIP patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>964377</commentid>
    <comment_count>2</comment_count>
      <attachid>220367</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2014-01-03 23:28:16 -0800</bug_when>
    <thetext>Created attachment 220367
Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>964404</commentid>
    <comment_count>3</comment_count>
      <attachid>220367</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2014-01-04 08:46:50 -0800</bug_when>
    <thetext>Comment on attachment 220367
Fix

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

&gt; ../OpenSource/Source/WebKit2/WebProcess/WebPage/WebPage.h:1050
&gt; +    UserActivity m_suppressionDisabled;

This could use a more descriptive name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>964435</commentid>
    <comment_count>4</comment_count>
      <attachid>220382</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2014-01-04 17:41:01 -0800</bug_when>
    <thetext>Created attachment 220382
new patch for EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>964464</commentid>
    <comment_count>5</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2014-01-05 00:24:56 -0800</bug_when>
    <thetext>Committed revision 161319.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>964479</commentid>
    <comment_count>6</comment_count>
      <attachid>220367</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2014-01-05 01:57:40 -0800</bug_when>
    <thetext>Comment on attachment 220367
Fix

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

Additionally it broke the Apple Windows build too:

     1&gt;WebCore.lib(PageThrottler.obj) : error LNK2019: unresolved external symbol &quot;public: __thiscall WebCore::UserActivity::UserActivity(char const *)&quot; (??0UserActivity@WebCore@@QAE@PBD@Z) referenced in function &quot;public: __thiscall WebCore::PageThrottler::PageThrottler(class WebCore::Page &amp;)&quot; (??0PageThrottler@WebCore@@QAE@AAVPage@1@@Z)
     1&gt;WebCore.lib(PageThrottler.obj) : error LNK2019: unresolved external symbol &quot;public: void __thiscall WebCore::UserActivity::beginActivity(void)&quot; (?beginActivity@UserActivity@WebCore@@QAEXXZ) referenced in function &quot;public: __thiscall WebCore::PageThrottler::~PageThrottler(void)&quot; (??1PageThrottler@WebCore@@QAE@XZ)
     1&gt;WebCore.lib(PageThrottler.obj) : error LNK2019: unresolved external symbol &quot;public: void __thiscall WebCore::UserActivity::endActivity(void)&quot; (?endActivity@UserActivity@WebCore@@QAEXXZ) referenced in function &quot;public: void __thiscall WebCore::PageThrottler::setIsVisuallyIdle(bool)&quot; (?setIsVisuallyIdle@PageThrottler@WebCore@@QAEX_N@Z)

(Unfortunately you didn&apos;t have chance to catch it early, because Win EWS bots are out of order long time ago.)

&gt; ../OpenSource/Source/WebCore/page/PageThrottler.h:31
&gt; +#include &lt;WebCore/UserActivity.h&gt;

It broke the non Mac builds, because only Apple 
supports this kind of forwarding headers.

Fix landed in http://trac.webkit.org/changeset/161320 nad http://trac.webkit.org/changeset/161321 .</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>964505</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-01-05 10:30:06 -0800</bug_when>
    <thetext>Looks like Windows build is still broken.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>964551</commentid>
    <comment_count>8</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-01-05 20:42:22 -0800</bug_when>
    <thetext>This broke windows:

     1&gt;WebCore.lib(PageThrottler.obj) : error LNK2019: unresolved external symbol &quot;public: __thiscall WebCore::UserActivity::UserActivity(char const *)&quot; (??0UserActivity@WebCore@@QAE@PBD@Z) referenced in function &quot;public: __thiscall WebCore::PageThrottler::PageThrottler(class WebCore::Page &amp;)&quot; (??0PageThrottler@WebCore@@QAE@AAVPage@1@@Z)
     1&gt;WebCore.lib(PageThrottler.obj) : error LNK2019: unresolved external symbol &quot;public: void __thiscall WebCore::UserActivity::beginActivity(void)&quot; (?beginActivity@UserActivity@WebCore@@QAEXXZ) referenced in function &quot;public: void __thiscall WebCore::PageThrottler::setIsVisuallyIdle(bool)&quot; (?setIsVisuallyIdle@PageThrottler@WebCore@@QAEX_N@Z)
     1&gt;WebCore.lib(PageThrottler.obj) : error LNK2019: unresolved external symbol &quot;public: void __thiscall WebCore::UserActivity::endActivity(void)&quot; (?endActivity@UserActivity@WebCore@@QAEXXZ) referenced in function &quot;public: void __thiscall WebCore::PageThrottler::setIsVisuallyIdle(bool)&quot; (?setIsVisuallyIdle@PageThrottler@WebCore@@QAEX_N@Z)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>964641</commentid>
    <comment_count>9</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-01-06 09:05:36 -0800</bug_when>
    <thetext>This change broke the Windows build.  See Bug 126526 for the fix.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>220362</attachid>
            <date>2014-01-03 18:36:58 -0800</date>
            <delta_ts>2014-01-03 23:28:16 -0800</delta_ts>
            <desc>WIP patch</desc>
            <filename>126480.1.patch</filename>
            <type>text/plain</type>
            <size>6631</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IC4uL09wZW5Tb3VyY2UvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL05l
dHdvcmtQcm9jZXNzTWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIC4uL09wZW5Tb3VyY2UvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtQcm9jZXNzTWFjLm1tCShyZXZpc2lvbiAx
NjEzMDApCisrKyAuLi9PcGVuU291cmNlL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21h
Yy9OZXR3b3JrUHJvY2Vzc01hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtMTEyLDYgKzExMiw5IEBA
IHN0YXRpYyB2b2lkIG92ZXJyaWRlU3lzdGVtUHJveGllcyhjb25zdCAKIAogdm9pZCBOZXR3b3Jr
UHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplTmV0d29ya1Byb2Nlc3MoY29uc3QgTmV0d29ya1By
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCiB7CisgICAgLy8gU3RhcnQgd2l0
aCBwcm9jZXNzIHN1cHByZXNzaW9uIGRpc2FibGVkLgorICAgIHNldFByb2Nlc3NTdXBwcmVzc2lv
bkVuYWJsZWQodHJ1ZSk7CisKICAgICBtX2Rpc2tDYWNoZURpcmVjdG9yeSA9IHBhcmFtZXRlcnMu
ZGlza0NhY2hlRGlyZWN0b3J5OwogCiAgICAgaWYgKCFtX2Rpc2tDYWNoZURpcmVjdG9yeS5pc051
bGwoKSkgewpJbmRleDogLi4vT3BlblNvdXJjZS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNz
L21hYy9QbHVnaW5Qcm9jZXNzTWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIC4uL09wZW5Tb3VyY2UvU291
cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9tYWMvUGx1Z2luUHJvY2Vzc01hYy5tbQkocmV2aXNp
b24gMTYxMzAwKQorKysgLi4vT3BlblNvdXJjZS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNz
L21hYy9QbHVnaW5Qcm9jZXNzTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC00MTYsNiArNDE2LDkg
QEAgdm9pZCBQbHVnaW5Qcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVQcgogICAgIC8vIEluaXRp
YWxpemUgQ29jb2Egb3ZlcnJpZGVzLgogICAgIGluaXRpYWxpemVDb2NvYU92ZXJyaWRlcygpOwog
CisgICAgLy8gU3RhcnQgd2l0aCBwcm9jZXNzIHN1cHByZXNzaW9uIGRpc2FibGVkLgorICAgIHNl
dFByb2Nlc3NTdXBwcmVzc2lvbkVuYWJsZWQodHJ1ZSk7CisKICAgICAvLyBGSVhNRTogSXQgd291
bGQgYmUgYmV0dGVyIHRvIHByb3h5IFNldEN1cnNvciBjYWxscyBvdmVyIHRvIHRoZSBVSSBwcm9j
ZXNzIGluc3RlYWQgb2YKICAgICAvLyBhbGxvd2luZyBwbHVnLWlucyB0byBjaGFuZ2UgdGhlIG1v
dXNlIGN1cnNvciBhdCBhbnkgdGltZS4KICAgICBXS0VuYWJsZVNldHRpbmdDdXJzb3JXaGVuSW5C
YWNrZ3JvdW5kKCk7CkluZGV4OiAuLi9PcGVuU291cmNlL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9t
YWMvQ2hpbGRQcm9jZXNzTWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIC4uL09wZW5Tb3VyY2UvU291cmNl
L1dlYktpdDIvU2hhcmVkL21hYy9DaGlsZFByb2Nlc3NNYWMubW0JKHJldmlzaW9uIDE2MTMwMCkK
KysrIC4uL09wZW5Tb3VyY2UvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9DaGlsZFByb2Nlc3NN
YWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTg4LDggKzg4LDYgQEAgdm9pZCBDaGlsZFByb2Nlc3M6
OnBsYXRmb3JtSW5pdGlhbGl6ZSgpCiAjaWYgIVBMQVRGT1JNKElPUykgJiYgX19NQUNfT1NfWF9W
RVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDkwCiAgICAgaW5pdGlhbGl6ZVRpbWVyQ29hbGVzY2lu
Z1BvbGljeSgpOwogI2VuZGlmCi0gICAgLy8gU3RhcnQgd2l0aCBwcm9jZXNzIHN1cHByZXNzaW9u
IGRpc2FibGVkLgotICAgIG1fcHJvY2Vzc1N1cHByZXNzaW9uRGlzYWJsZWQuYmVnaW5BY3Rpdml0
eSgpOwogCiAgICAgW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSBjaGFuZ2VDdXJyZW50
RGlyZWN0b3J5UGF0aDpbW05TQnVuZGxlIG1haW5CdW5kbGVdIGJ1bmRsZVBhdGhdXTsKIH0KSW5k
ZXg6IC4uL09wZW5Tb3VyY2UvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJQcm9jZXNz
UHJveHlNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gLi4vT3BlblNvdXJjZS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvbWFjL1dlYlByb2Nlc3NQcm94eU1hYy5tbQkocmV2aXNpb24gMTYxMzAxKQorKysg
Li4vT3BlblNvdXJjZS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYlByb2Nlc3NQcm94
eU1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtNzQsOCArNzQsNiBAQCB2b2lkIFdlYlByb2Nlc3NQ
cm94eTo6dXBkYXRlUHJvY2Vzc1N1cHByCiAgICAgICAgIHJldHVybjsKICAgICBtX3Byb2Nlc3NT
dXBwcmVzc2lvbkVuYWJsZWQgPSBjYW5FbmFibGU7CiAKLSAgICBjb25uZWN0aW9uKCktPnNlbmQo
TWVzc2FnZXM6OldlYlByb2Nlc3M6OlNldFByb2Nlc3NTdXBwcmVzc2lvbkVuYWJsZWQobV9wcm9j
ZXNzU3VwcHJlc3Npb25FbmFibGVkKSwgMCk7Ci0KICAgICBtX2NvbnRleHQtPnVwZGF0ZVByb2Nl
c3NTdXBwcmVzc2lvblN0YXRlKCk7CiB9CiAKSW5kZXg6IC4uL09wZW5Tb3VyY2UvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIC4uL09w
ZW5Tb3VyY2UvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCShy
ZXZpc2lvbiAxNjEzMDApCisrKyAuLi9PcGVuU291cmNlL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjgyLDYgKzI4Miw5IEBA
IFdlYlBhZ2U6OldlYlBhZ2UodWludDY0X3QgcGFnZUlELCBjb25zdCAKICAgICAsIG1fc2Nyb2xs
UGlubmluZ0JlaGF2aW9yKERvTm90UGluKQogICAgICwgbV91c2VBc3luY1Njcm9sbGluZyhmYWxz
ZSkKICAgICAsIG1fdmlld1N0YXRlKHBhcmFtZXRlcnMudmlld1N0YXRlKQorICAgICwgbV9wYWdl
VmlzaWJpbGl0eUJhc2VkUHJvY2Vzc1N1cHByZXNzaW9uRW5hYmxlZCh0cnVlKQorICAgICwgbV92
aXN1YWxseU5vbklkbGUoIlBhZ2UgaXMgbm90IHZpc3VhbGx5IGlkbGUuIikKKyAgICAsIG1fc3Vw
cHJlc3Npb25EaXNhYmxlZCgiUHJvY2VzcyBzdXBwcmVzc2lvbiBpcyBkaXNhYmxlZC4iKQogewog
ICAgIEFTU0VSVChtX3BhZ2VJRCk7CiAgICAgLy8gRklYTUU6IFRoaXMgaXMgYSBub24taWRlYWwg
bG9jYXRpb24gZm9yIHRoaXMgU2V0dGluZyBhbmQKQEAgLTQyNSw2ICs0MjgsOCBAQCBXZWJQYWdl
OjpXZWJQYWdlKHVpbnQ2NF90IHBhZ2VJRCwgY29uc3QgCiAjZW5kaWYKIAogICAgIG1fcGFnZS0+
c2V0SXNWaXNpYmxlKG1fdmlld1N0YXRlICYgVmlld1N0YXRlOjpJc1Zpc2libGUsIHRydWUpOwor
CisgICAgdXBkYXRlVXNlckFjdGl2aXR5KCk7CiB9CiAKIFdlYlBhZ2U6On5XZWJQYWdlKCkKQEAg
LTIwODAsNiArMjA4NSw4IEBAIHZvaWQgV2ViUGFnZTo6c2V0Vmlld1N0YXRlKFZpZXdTdGF0ZTo6
RmwKICAgICAgICAgc2V0QWN0aXZlKHZpZXdTdGF0ZSAmIFZpZXdTdGF0ZTo6V2luZG93SXNBY3Rp
dmUpOwogICAgIGlmIChjaGFuZ2VkICYgVmlld1N0YXRlOjpJc0luV2luZG93KQogICAgICAgICBz
ZXRJc0luV2luZG93KHZpZXdTdGF0ZSAmIFZpZXdTdGF0ZTo6SXNJbldpbmRvdyk7CisgICAgaWYg
KGNoYW5nZWQgJiBWaWV3U3RhdGU6OklzVmlzdWFsbHlJZGxlKQorICAgICAgICB1cGRhdGVVc2Vy
QWN0aXZpdHkoKTsKIAogICAgIGZvciAoYXV0byogcGx1Z2luVmlldyA6IG1fcGx1Z2luVmlld3Mp
CiAgICAgICAgIHBsdWdpblZpZXctPnZpZXdTdGF0ZURpZENoYW5nZShjaGFuZ2VkKTsKQEAgLTIz
NDgsMTAgKzIzNTUsMjQgQEAgdm9pZCBXZWJQYWdlOjpmb3JjZVJlcGFpbnQodWludDY0X3QgY2Fs
bAogICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6Vm9pZENhbGxiYWNrKGNhbGxiYWNr
SUQpKTsKIH0KIAordm9pZCBXZWJQYWdlOjp1cGRhdGVVc2VyQWN0aXZpdHkoKQoreworICAgIGlm
ICgobV92aWV3U3RhdGUgJiBWaWV3U3RhdGU6OklzVmlzdWFsbHlJZGxlKSAmJiBtX3Zpc3VhbGx5
Tm9uSWRsZS5pc0FjdGl2ZSgpKQorICAgICAgICBtX3Zpc3VhbGx5Tm9uSWRsZS5lbmRBY3Rpdml0
eSgpOworICAgIGlmICghKG1fdmlld1N0YXRlICYgVmlld1N0YXRlOjpJc1Zpc3VhbGx5SWRsZSkg
JiYgIW1fdmlzdWFsbHlOb25JZGxlLmlzQWN0aXZlKCkpCisgICAgICAgIG1fdmlzdWFsbHlOb25J
ZGxlLmJlZ2luQWN0aXZpdHkoKTsKKworICAgIGlmIChtX3BhZ2VWaXNpYmlsaXR5QmFzZWRQcm9j
ZXNzU3VwcHJlc3Npb25FbmFibGVkICYmIG1fc3VwcHJlc3Npb25EaXNhYmxlZC5pc0FjdGl2ZSgp
KQorICAgICAgICBtX3N1cHByZXNzaW9uRGlzYWJsZWQuZW5kQWN0aXZpdHkoKTsKKyAgICBpZiAo
IW1fcGFnZVZpc2liaWxpdHlCYXNlZFByb2Nlc3NTdXBwcmVzc2lvbkVuYWJsZWQgJiYgIW1fc3Vw
cHJlc3Npb25EaXNhYmxlZC5pc0FjdGl2ZSgpKQorICAgICAgICBtX3N1cHByZXNzaW9uRGlzYWJs
ZWQuYmVnaW5BY3Rpdml0eSgpOworfQorCiB2b2lkIFdlYlBhZ2U6OnByZWZlcmVuY2VzRGlkQ2hh
bmdlKGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmIHN0b3JlKQogewogICAgIFdlYlByZWZlcmVu
Y2VzU3RvcmU6OnJlbW92ZVRlc3RSdW5uZXJPdmVycmlkZXMoKTsKICAgICB1cGRhdGVQcmVmZXJl
bmNlcyhzdG9yZSk7CisgICAgdXBkYXRlVXNlckFjdGl2aXR5KCk7CiB9CiAKIHZvaWQgV2ViUGFn
ZTo6dXBkYXRlUHJlZmVyZW5jZXMoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYgc3RvcmUpCkBA
IC0yNTQzLDYgKzI1NjQsOCBAQCB2b2lkIFdlYlBhZ2U6OnVwZGF0ZVByZWZlcmVuY2VzKGNvbnN0
IFdlCiAgICAgc2V0dGluZ3Muc2V0TWVkaWFTb3VyY2VFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1
ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6bWVkaWFTb3VyY2VFbmFibGVkS2V5KCkpKTsKICNl
bmRpZgogCisgICAgbV9wYWdlVmlzaWJpbGl0eUJhc2VkUHJvY2Vzc1N1cHByZXNzaW9uRW5hYmxl
ZCA9IHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6cGFnZVZpc2li
aWxpdHlCYXNlZFByb2Nlc3NTdXBwcmVzc2lvbkVuYWJsZWRLZXkoKSk7CisKICAgICBwbGF0Zm9y
bVByZWZlcmVuY2VzRGlkQ2hhbmdlKHN0b3JlKTsKIAogICAgIGlmIChtX2RyYXdpbmdBcmVhKQpJ
bmRleDogLi4vT3BlblNvdXJjZS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIC4uL09wZW5Tb3VyY2UvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAkocmV2aXNpb24gMTYxMzAwKQorKysgLi4vT3BlblNvdXJj
ZS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC01Nyw2ICs1Nyw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybVNjcmVlbi5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvU2Nyb2xsVHlwZXMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Rl
eHRDaGVja2luZy5oPgorI2luY2x1ZGUgPFdlYkNvcmUvVXNlckFjdGl2aXR5Lmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9XZWJDb3JlS2V5Ym9hcmRVSU1vZGUuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1h
cC5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KQEAgLTc4Myw2ICs3ODQsNyBAQCBwcml2YXRl
OgogICAgIHZvaWQgcHJlZmVyZW5jZXNEaWRDaGFuZ2UoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9y
ZSYpOwogICAgIHZvaWQgcGxhdGZvcm1QcmVmZXJlbmNlc0RpZENoYW5nZShjb25zdCBXZWJQcmVm
ZXJlbmNlc1N0b3JlJik7CiAgICAgdm9pZCB1cGRhdGVQcmVmZXJlbmNlcyhjb25zdCBXZWJQcmVm
ZXJlbmNlc1N0b3JlJik7CisgICAgdm9pZCB1cGRhdGVVc2VyQWN0aXZpdHkoKTsKIAogICAgIHZv
aWQgZGlkUmVjZWl2ZVBvbGljeURlY2lzaW9uKHVpbnQ2NF90IGZyYW1lSUQsIHVpbnQ2NF90IGxp
c3RlbmVySUQsIHVpbnQzMl90IHBvbGljeUFjdGlvbiwgdWludDY0X3QgZG93bmxvYWRJRCk7CiAg
ICAgdm9pZCBzZXRVc2VyQWdlbnQoY29uc3QgU3RyaW5nJik7CkBAIC0xMDQ1LDYgKzEwNDcsMTAg
QEAgcHJpdmF0ZToKICAgICBib29sIG1fdXNlQXN5bmNTY3JvbGxpbmc7CiAKICAgICBWaWV3U3Rh
dGU6OkZsYWdzIG1fdmlld1N0YXRlOworCisgICAgYm9vbCBtX3BhZ2VWaXNpYmlsaXR5QmFzZWRQ
cm9jZXNzU3VwcHJlc3Npb25FbmFibGVkOworICAgIFVzZXJBY3Rpdml0eSBtX3Zpc3VhbGx5Tm9u
SWRsZTsKKyAgICBVc2VyQWN0aXZpdHkgbV9zdXBwcmVzc2lvbkRpc2FibGVkOwogfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViS2l0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>220367</attachid>
            <date>2014-01-03 23:28:16 -0800</date>
            <delta_ts>2014-01-05 01:57:40 -0800</delta_ts>
            <desc>Fix</desc>
            <filename>126480.2.patch</filename>
            <type>text/plain</type>
            <size>14666</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IC4uL09wZW5Tb3VyY2UvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIC4uL09wZW5Tb3VyY2UvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNjEz
MDcpCisrKyAuLi9PcGVuU291cmNlL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDI4IEBACisyMDE0LTAxLTAzICBHYXZpbiBCYXJyYWNsb3VnaCAgPGJh
cnJhY2xvdWdoQGFwcGxlLmNvbT4KKworICAgICAgICBNb3ZlIHByb2Nlc3Mgc3VwcHJlc3Npb24g
b2YgV2ViUHJvY2VzcyB0byBQYWdlIChmcm9tIFVJUHJvY2VzcykKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNjQ4MAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIExldCBlYWNoIHBhZ2UgdGFrZSBhIFVzZXJB
Y3Rpdml0eSByYXRoZXIgdGhhbiBoYXZpbmcgdG8gY29hbGVzY2UgdGhpcyBzdGF0ZSwgYW5kIHRh
a2UgZGlmZmVyZW50IGFjdGl2aXR5CisgICAgICAgIHRva2VucyBmb3Igbm9ybWFsIHZpc2liaWxp
dHkgYW5kIHN1cHByZXNzaW9uIGRpc2FibGVkLCBzbyB3ZSBjYW4gc2VlIHdoeSB0aGUgcHJvY2Vz
cyBpcyBub3Qgc3VwcHJlc3NlZC4KKworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAg
ICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpzZXRJc1Zpc3VhbGx5
SWRsZSk6CisgICAgICAgICogcGFnZS9QYWdlLmg6CisgICAgICAgICAgICAtIHNldFRocm90dGxl
ZCAtPiBzZXRJc1Zpc3VhbGx5SWRsZS4KKyAgICAgICAgKiBwYWdlL1BhZ2VUaHJvdHRsZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UGFnZVRocm90dGxlcjo6UGFnZVRocm90dGxlcik6CisgICAg
ICAgICAgICAtIEluaXRpYWxpemUgbV92aXN1YWxseU5vbklkbGUuCisgICAgICAgIChXZWJDb3Jl
OjpQYWdlVGhyb3R0bGVyOjp+UGFnZVRocm90dGxlcik6CisgICAgICAgICAgICAtIHNldFRocm90
dGxlZCAtPiBzZXRJc1Zpc3VhbGx5SWRsZS4KKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VUaHJvdHRs
ZXI6OnNldElzVmlzdWFsbHlJZGxlKToKKyAgICAgICAgICAgIC0gVXNlIG1fdmlzdWFsbHlOb25J
ZGxlIHRvIGRpc2FibGUgc3VwcmVzc2lvbiB3aGVuIHRoZSBwYWdlIGlzIG5vdCB2aXN1YWxseSBp
ZGxlLgorICAgICAgICAqIHBhZ2UvUGFnZVRocm90dGxlci5oOgorICAgICAgICAgICAgLSBzZXRU
aHJvdHRsZWQgLT4gc2V0SXNWaXN1YWxseUlkbGUsIGFkZGVkIG1fdmlzdWFsbHlOb25JZGxlLgor
CiAyMDE0LTAxLTAzICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAg
ICAgICAgIENsZWFuIHVwIHRoZSBtZWFucyBvZiBjb21taXR0aW5nIHRoZSBzY3JvbGxpbmcgc3Rh
dGUgdHJlZQpJbmRleDogLi4vT3BlblNvdXJjZS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5p
bgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSAuLi9PcGVuU291cmNlL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhw
LmluCShyZXZpc2lvbiAxNjEzMDApCisrKyAuLi9PcGVuU291cmNlL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZXhwLmluCSh3b3JraW5nIGNvcHkpCkBAIC05NjgsNyArOTY4LDYgQEAgX19aTjdXZWJD
b3JlNFBhZ2UxMVBhZ2VDbGllbnRzQzFFdgogX19aTjdXZWJDb3JlNFBhZ2UxMVBhZ2VDbGllbnRz
RDFFdgogX19aTjdXZWJDb3JlNFBhZ2UxMnNldEdyb3VwTmFtZUVSS04zV1RGNlN0cmluZ0UKIF9f
Wk43V2ViQ29yZTRQYWdlMTJzZXRJc1Zpc2libGVFYmIKLV9fWk43V2ViQ29yZTRQYWdlMTJzZXRU
aHJvdHRsZWRFYgogX19aTjdXZWJDb3JlNFBhZ2UxM3JhbmdlT2ZTdHJpbmdFUktOM1dURjZTdHJp
bmdFUE5TXzVSYW5nZUVqCiBfX1pON1dlYkNvcmU0UGFnZTEzc2V0SXNJbldpbmRvd0ViCiBfX1pO
N1dlYkNvcmU0UGFnZTEzc2V0UGFnaW5hdGlvbkVSS05TXzEwUGFnaW5hdGlvbkUKQEAgLTk3OCw2
ICs5NzcsNyBAQCBfX1pON1dlYkNvcmU0UGFnZTE1YWRkU2NoZWR1bGVQYWlyRU4zV1RGCiBfX1pO
N1dlYkNvcmU0UGFnZTE2Y291bnRGaW5kTWF0Y2hlc0VSS04zV1RGNlN0cmluZ0VqagogX19aTjdX
ZWJDb3JlNFBhZ2UxNnNldENhblN0YXJ0TWVkaWFFYgogX19aTjdXZWJDb3JlNFBhZ2UxNnNldERl
ZmVyc0xvYWRpbmdFYgorX19aTjdXZWJDb3JlNFBhZ2UxN3NldElzVmlzdWFsbHlJZGxlRWIKIF9f
Wk43V2ViQ29yZTRQYWdlMThyZW1vdmVTY2hlZHVsZVBhaXJFTjNXVEYxMFBhc3NSZWZQdHJJTlMx
XzEyU2NoZWR1bGVQYWlyRUVFCiBfX1pON1dlYkNvcmU0UGFnZTE4c2V0UGFnZVNjYWxlRmFjdG9y
RWZSS05TXzhJbnRQb2ludEUKIF9fWk43V2ViQ29yZTRQYWdlMTlhZGRGb290ZXJXaXRoSGVpZ2h0
RWkKSW5kZXg6IC4uL09wZW5Tb3VyY2UvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSAuLi9PcGVuU291cmNlL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAJKHJl
dmlzaW9uIDE2MTMwMCkKKysrIC4uL09wZW5Tb3VyY2UvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTA5LDkgKzkwOSw5IEBAIHZvaWQgUGFnZTo6cmVzdW1l
U2NyaXB0ZWRBbmltYXRpb25zKCkKICAgICB9CiB9CiAKLXZvaWQgUGFnZTo6c2V0VGhyb3R0bGVk
KGJvb2wgdGhyb3R0bGVkKQordm9pZCBQYWdlOjpzZXRJc1Zpc3VhbGx5SWRsZShib29sIGlzVmlz
dWFsbHlJZGxlKQogewotICAgIG1fcGFnZVRocm90dGxlci0+c2V0VGhyb3R0bGVkKHRocm90dGxl
ZCk7CisgICAgbV9wYWdlVGhyb3R0bGVyLT5zZXRJc1Zpc3VhbGx5SWRsZShpc1Zpc3VhbGx5SWRs
ZSk7CiB9CiAKIHZvaWQgUGFnZTo6dXNlclN0eWxlU2hlZXRMb2NhdGlvbkNoYW5nZWQoKQpJbmRl
eDogLi4vT3BlblNvdXJjZS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSAuLi9PcGVuU291cmNlL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCShyZXZpc2lvbiAxNjEz
MDApCisrKyAuLi9PcGVuU291cmNlL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCSh3b3JraW5n
IGNvcHkpCkBAIC0zMDUsNyArMzA1LDcgQEAgcHVibGljOgogICAgIHZvaWQgc3VzcGVuZFNjcmlw
dGVkQW5pbWF0aW9ucygpOwogICAgIHZvaWQgcmVzdW1lU2NyaXB0ZWRBbmltYXRpb25zKCk7CiAg
ICAgYm9vbCBzY3JpcHRlZEFuaW1hdGlvbnNTdXNwZW5kZWQoKSBjb25zdCB7IHJldHVybiBtX3Nj
cmlwdGVkQW5pbWF0aW9uc1N1c3BlbmRlZDsgfQotICAgIHZvaWQgc2V0VGhyb3R0bGVkKGJvb2wp
OworICAgIHZvaWQgc2V0SXNWaXN1YWxseUlkbGUoYm9vbCk7CiAKICAgICB2b2lkIHVzZXJTdHls
ZVNoZWV0TG9jYXRpb25DaGFuZ2VkKCk7CiAgICAgY29uc3QgU3RyaW5nJiB1c2VyU3R5bGVTaGVl
dCgpIGNvbnN0OwpJbmRleDogLi4vT3BlblNvdXJjZS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VU
aHJvdHRsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIC4uL09wZW5Tb3VyY2UvU291cmNlL1dlYkNvcmUv
cGFnZS9QYWdlVGhyb3R0bGVyLmNwcAkocmV2aXNpb24gMTYxMzAwKQorKysgLi4vT3BlblNvdXJj
ZS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VUaHJvdHRsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC00MSwxMyArNDEsMTQgQEAgUGFnZVRocm90dGxlcjo6UGFnZVRocm90dGxlcihQYWdlJiBwYWdl
KQogICAgIDogbV9wYWdlKHBhZ2UpCiAgICAgLCBtX3Rocm90dGxlU3RhdGUoUGFnZU5vdFRocm90
dGxlZFN0YXRlKQogICAgICwgbV90aHJvdHRsZUh5c3RlcmVzaXNUaW1lcih0aGlzLCAmUGFnZVRo
cm90dGxlcjo6dGhyb3R0bGVIeXN0ZXJlc2lzVGltZXJGaXJlZCkKKyAgICAsIG1fdmlzdWFsbHlO
b25JZGxlKCJQYWdlIGlzIG5vdCB2aXN1YWxseSBpZGxlLiIpCiB7CiAgICAgbV9wYWdlLmNocm9t
ZSgpLmNsaWVudCgpLmluY3JlbWVudEFjdGl2ZVBhZ2VDb3VudCgpOwogfQogCiBQYWdlVGhyb3R0
bGVyOjp+UGFnZVRocm90dGxlcigpCiB7Ci0gICAgc2V0VGhyb3R0bGVkKGZhbHNlKTsKKyAgICBz
ZXRJc1Zpc3VhbGx5SWRsZShmYWxzZSk7CiAKICAgICBmb3IgKGF1dG8gaXQgPSBtX2FjdGl2aXR5
VG9rZW5zLmJlZ2luKCksIGVuZCA9IG1fYWN0aXZpdHlUb2tlbnMuZW5kKCk7IGl0ICE9IGVuZDsg
KytpdCkKICAgICAgICAgKCppdCktPmludmFsaWRhdGUoKTsKQEAgLTk0LDE0ICs5NSwxOCBAQCB2
b2lkIFBhZ2VUaHJvdHRsZXI6OnVudGhyb3R0bGVQYWdlKCkKICAgICBtX3BhZ2UudW50aHJvdHRs
ZVRpbWVycygpOwogfQogCi12b2lkIFBhZ2VUaHJvdHRsZXI6OnNldFRocm90dGxlZChib29sIGlz
VGhyb3R0bGVkKQordm9pZCBQYWdlVGhyb3R0bGVyOjpzZXRJc1Zpc3VhbGx5SWRsZShib29sIGlz
VmlzdWFsbHlJZGxlKQogewotICAgIGlmIChpc1Rocm90dGxlZCkgeworICAgIGlmIChpc1Zpc3Vh
bGx5SWRsZSkgewogICAgICAgICBtX3Rocm90dGxlU3RhdGUgPSBQYWdlV2FpdGluZ1RvVGhyb3R0
bGVTdGF0ZTsKICAgICAgICAgc3RhcnRUaHJvdHRsZUh5c3RlcmVzaXNUaW1lcigpOworICAgICAg
ICBpZiAobV92aXN1YWxseU5vbklkbGUuaXNBY3RpdmUoKSkKKyAgICAgICAgICAgIG1fdmlzdWFs
bHlOb25JZGxlLmVuZEFjdGl2aXR5KCk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgdW50aHJvdHRs
ZVBhZ2UoKTsKICAgICAgICAgc3RvcFRocm90dGxlSHlzdGVyZXNpc1RpbWVyKCk7CisgICAgICAg
IGlmICghbV92aXN1YWxseU5vbklkbGUuaXNBY3RpdmUoKSkKKyAgICAgICAgICAgIG1fdmlzdWFs
bHlOb25JZGxlLmJlZ2luQWN0aXZpdHkoKTsKICAgICB9CiB9CiAKSW5kZXg6IC4uL09wZW5Tb3Vy
Y2UvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlVGhyb3R0bGVyLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gLi4v
T3BlblNvdXJjZS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VUaHJvdHRsZXIuaAkocmV2aXNpb24g
MTYxMzAwKQorKysgLi4vT3BlblNvdXJjZS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VUaHJvdHRs
ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiVGltZXIu
aCIKIAorI2luY2x1ZGUgPFdlYkNvcmUvVXNlckFjdGl2aXR5Lmg+CiAjaW5jbHVkZSA8d3RmL0hh
c2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25Q
dHIuaD4KQEAgLTQ3LDcgKzQ4LDcgQEAgcHVibGljOgogICAgIGJvb2wgc2hvdWxkVGhyb3R0bGVB
bmltYXRpb25zKCkgY29uc3QgeyByZXR1cm4gbV90aHJvdHRsZVN0YXRlICE9IFBhZ2VOb3RUaHJv
dHRsZWRTdGF0ZTsgfQogICAgIGJvb2wgc2hvdWxkVGhyb3R0bGVUaW1lcnMoKSBjb25zdCB7IHJl
dHVybiBtX3Rocm90dGxlU3RhdGUgIT0gUGFnZU5vdFRocm90dGxlZFN0YXRlOyB9CiAKLSAgICB2
b2lkIHNldFRocm90dGxlZChib29sKTsKKyAgICB2b2lkIHNldElzVmlzdWFsbHlJZGxlKGJvb2wp
OwogCiAgICAgdm9pZCByZXBvcnRJbnRlcmVzdGluZ0V2ZW50KCk7CiAKQEAgLTczLDYgKzc0LDcg
QEAgcHJpdmF0ZToKICAgICBQYWdlVGhyb3R0bGVTdGF0ZSBtX3Rocm90dGxlU3RhdGU7CiAgICAg
VGltZXI8UGFnZVRocm90dGxlcj4gbV90aHJvdHRsZUh5c3RlcmVzaXNUaW1lcjsKICAgICBIYXNo
U2V0PFBhZ2VBY3Rpdml0eUFzc2VydGlvblRva2VuKj4gbV9hY3Rpdml0eVRva2VuczsKKyAgICBV
c2VyQWN0aXZpdHkgbV92aXN1YWxseU5vbklkbGU7CiB9OwogCiB9CkluZGV4OiAuLi9PcGVuU291
cmNlL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSAuLi9PcGVuU291cmNl
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkocmV2aXNpb24gMTYxMzA3KQorKysgLi4vT3BlblNv
dXJjZS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwz
NiBAQAorMjAxNC0wMS0wMyAgR2F2aW4gQmFycmFjbG91Z2ggIDxiYXJyYWNsb3VnaEBhcHBsZS5j
b20+CisKKyAgICAgICAgTW92ZSBwcm9jZXNzIHN1cHByZXNzaW9uIG9mIFdlYlByb2Nlc3MgdG8g
UGFnZSAoZnJvbSBVSVByb2Nlc3MpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMjY0ODAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBMZXQgZWFjaCBwYWdlIHRha2UgYSBVc2VyQWN0aXZpdHkgcmF0aGVyIHRo
YW4gaGF2aW5nIHRvIGNvYWxlc2NlIHRoaXMgc3RhdGUsIGFuZCB0YWtlIGRpZmZlcmVudCBhY3Rp
dml0eQorICAgICAgICB0b2tlbnMgZm9yIG5vcm1hbCB2aXNpYmlsaXR5IGFuZCBzdXBwcmVzc2lv
biBkaXNhYmxlZCwgc28gd2UgY2FuIHNlZSB3aHkgdGhlIHByb2Nlc3MgaXMgbm90IHN1cHByZXNz
ZWQuCisKKyAgICAgICAgKiBTaGFyZWQvbWFjL0NoaWxkUHJvY2Vzc01hYy5tbToKKyAgICAgICAg
KFdlYktpdDo6Q2hpbGRQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemUpOgorICAgICAgICAgICAg
LSBEb24ndCBzdGFydCB3aXRoIHByb2Nlc3Mgc3VwcmVzc2lvbiBkaXNhYmxlZDsgdGhpcyBpcyB1
bm5lY2Vzc2FyeSwKKyAgICAgICAgICAgICAgbWVzc2FnZSBmcm9tIHRoZSBVSVByb2Nlc3Mgc2hv
dWxkIHdha2UuCisgICAgICAgICogVUlQcm9jZXNzL21hYy9XZWJQcm9jZXNzUHJveHlNYWMubW06
CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6dXBkYXRlUHJvY2Vzc1N1cHByZXNz
aW9uU3RhdGUpOgorICAgICAgICAgICAgLSBEb24ndCBzZW5kIGV4cGxpY2l0IG1lc3NhZ2VzIHRv
IHN1cHJlc3MgdGhlIFdlYlByb2Nlc3MsIGl0IGhhbmRsZXMgdGhpcyBmb3IgaXRzZWxmLgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViUGFnZTo6V2ViUGFnZSk6CisgICAgICAgICAgICAtIGNhbGwgc2V0SXNWaXN1YWxseUlkbGUu
CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNldFZpZXdTdGF0ZSk6CisgICAgICAgICAgICAt
IGNhbGwgc2V0SXNWaXN1YWxseUlkbGUuCisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnVwZGF0
ZVByZWZlcmVuY2VzKToKKyAgICAgICAgICAgIC0gVXNlIG1fc3VwcHJlc3Npb25EaXNhYmxlZCB0
byBkaXNhYmxlIHN1cHJlc3Npb24gaWYgdGhlIFdlYlByZWZlcmVuY2UgaXMgc2V0LgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYWdlOjpzZXRJc1Zpc3VhbGx5SWRsZSk6CisgICAgICAgICAgICAtIHNl
dFRocm90dGxlZCAtPiBzZXRJc1Zpc3VhbGx5SWRsZS4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5oOgorICAgICAgICAgICAgLSBzZXRUaHJvdHRsZWQgLT4gc2V0SXNWaXN1
YWxseUlkbGUsIGFkZGVkIG1fc3VwcHJlc3Npb25EaXNhYmxlZC4KKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpzaG91bGRGb3JjZVNjcmVlbkZvbnRTdWJzdGl0
dXRpb24pOgorICAgICAgICAgICAgLSBSZW1vdmVkIHNldFByb2Nlc3NTdXBwcmVzc2lvbkVuYWJs
ZWQgLSBXZWJQYWdlIG5vdyBkZXRlY3RzIHRoZSBzdXByZXNzaW9uIGNoYW5nZS4KKwogMjAxNC0w
MS0wMyAgUGlvdHIgR3JhZCAgPHAuZ3JhZEBzYW1zdW5nLmNvbT4KIAogICAgICAgICBCdWlsZCBi
cmFrZSBhZnRlciAxNjEwNDUgb24gRUZMIHBvcnQgd2l0aCBXZWJLaXQyIGFuZCBnY2MgNC42LjMK
SW5kZXg6IC4uL09wZW5Tb3VyY2UvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9DaGlsZFByb2Nl
c3NNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gLi4vT3BlblNvdXJjZS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvbWFjL0NoaWxkUHJvY2Vzc01hYy5tbQkocmV2aXNpb24gMTYxMzAwKQorKysgLi4vT3BlblNv
dXJjZS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL0NoaWxkUHJvY2Vzc01hYy5tbQkod29ya2lu
ZyBjb3B5KQpAQCAtODgsOCArODgsNiBAQCB2b2lkIENoaWxkUHJvY2Vzczo6cGxhdGZvcm1Jbml0
aWFsaXplKCkKICNpZiAhUExBVEZPUk0oSU9TKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JF
UVVJUkVEID49IDEwOTAKICAgICBpbml0aWFsaXplVGltZXJDb2FsZXNjaW5nUG9saWN5KCk7CiAj
ZW5kaWYKLSAgICAvLyBTdGFydCB3aXRoIHByb2Nlc3Mgc3VwcHJlc3Npb24gZGlzYWJsZWQuCi0g
ICAgbV9wcm9jZXNzU3VwcHJlc3Npb25EaXNhYmxlZC5iZWdpbkFjdGl2aXR5KCk7CiAKICAgICBb
W05TRmlsZU1hbmFnZXIgZGVmYXVsdE1hbmFnZXJdIGNoYW5nZUN1cnJlbnREaXJlY3RvcnlQYXRo
OltbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gYnVuZGxlUGF0aF1dOwogfQpJbmRleDogLi4vT3BlblNv
dXJjZS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYlByb2Nlc3NQcm94eU1hYy5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSAuLi9PcGVuU291cmNlL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMv
V2ViUHJvY2Vzc1Byb3h5TWFjLm1tCShyZXZpc2lvbiAxNjEzMDEpCisrKyAuLi9PcGVuU291cmNl
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViUHJvY2Vzc1Byb3h5TWFjLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC03NCw4ICs3NCw2IEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5Ojp1cGRhdGVQ
cm9jZXNzU3VwcHIKICAgICAgICAgcmV0dXJuOwogICAgIG1fcHJvY2Vzc1N1cHByZXNzaW9uRW5h
YmxlZCA9IGNhbkVuYWJsZTsKIAotICAgIGNvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2Vi
UHJvY2Vzczo6U2V0UHJvY2Vzc1N1cHByZXNzaW9uRW5hYmxlZChtX3Byb2Nlc3NTdXBwcmVzc2lv
bkVuYWJsZWQpLCAwKTsKLQogICAgIG1fY29udGV4dC0+dXBkYXRlUHJvY2Vzc1N1cHByZXNzaW9u
U3RhdGUoKTsKIH0KIApJbmRleDogLi4vT3BlblNvdXJjZS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlByb2Nlc3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIC4uL09wZW5Tb3VyY2UvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAkocmV2aXNpb24gMTYxMzAwKQorKysgLi4v
T3BlblNvdXJjZS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC01NDgsMTkgKzU0OCw2IEBAIFdlYlBhZ2UqIFdlYlByb2Nlc3M6OmZvY3Vz
ZWRXZWJQYWdlKCkgY28KICAgICByZXR1cm4gMDsKIH0KICAgICAKLSNpZiBQTEFURk9STShNQUMp
Ci12b2lkIFdlYlByb2Nlc3M6OnNldFByb2Nlc3NTdXBwcmVzc2lvbkVuYWJsZWQoYm9vbCBwcm9j
ZXNzU3VwcHJlc3Npb25FbmFibGVkKQotewotICAgIEhhc2hNYXA8dWludDY0X3QsIFJlZlB0cjxX
ZWJQYWdlPj46OmNvbnN0X2l0ZXJhdG9yIGVuZCA9IG1fcGFnZU1hcC5lbmQoKTsKLSAgICBmb3Ig
KEhhc2hNYXA8dWludDY0X3QsIFJlZlB0cjxXZWJQYWdlPj46OmNvbnN0X2l0ZXJhdG9yIGl0ID0g
bV9wYWdlTWFwLmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICBXZWJQYWdlKiBw
YWdlID0gKCppdCkudmFsdWUuZ2V0KCk7Ci0gICAgICAgIHBhZ2UtPnNldFRocm90dGxlZChwcm9j
ZXNzU3VwcHJlc3Npb25FbmFibGVkKTsKLSAgICB9Ci0gICAgCi0gICAgQ2hpbGRQcm9jZXNzOjpz
ZXRQcm9jZXNzU3VwcHJlc3Npb25FbmFibGVkKHByb2Nlc3NTdXBwcmVzc2lvbkVuYWJsZWQpOwot
fQotI2VuZGlmCi0KIFdlYlBhZ2UqIFdlYlByb2Nlc3M6OndlYlBhZ2UodWludDY0X3QgcGFnZUlE
KSBjb25zdAogewogICAgIHJldHVybiBtX3BhZ2VNYXAuZ2V0KHBhZ2VJRCk7CkluZGV4OiAuLi9P
cGVuU291cmNlL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIC4uL09wZW5Tb3VyY2UvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
LmgJKHJldmlzaW9uIDE2MTMwMCkKKysrIC4uL09wZW5Tb3VyY2UvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLmgJKHdvcmtpbmcgY29weSkKQEAgLTEzNyw4ICsxMzcsNiBAQCBw
dWJsaWM6CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIHBpZF90IHByZXNlbnRlckFwcGxpY2F0aW9u
UGlkKCkgY29uc3QgeyByZXR1cm4gbV9wcmVzZW50ZXJBcHBsaWNhdGlvblBpZDsgfQogICAgIGJv
b2wgc2hvdWxkRm9yY2VTY3JlZW5Gb250U3Vic3RpdHV0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9z
aG91bGRGb3JjZVNjcmVlbkZvbnRTdWJzdGl0dXRpb247IH0KLQotICAgIHZvaWQgc2V0UHJvY2Vz
c1N1cHByZXNzaW9uRW5hYmxlZChib29sKTsKICNlbmRpZgogICAgIAogICAgIGNvbnN0IFRleHRD
aGVja2VyU3RhdGUmIHRleHRDaGVja2VyU3RhdGUoKSBjb25zdCB7IHJldHVybiBtX3RleHRDaGVj
a2VyU3RhdGU7IH0KSW5kZXg6IC4uL09wZW5Tb3VyY2UvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIC4uL09wZW5Tb3VyY2UvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCShyZXZpc2lvbiAxNjEzMDAp
CisrKyAuLi9PcGVuU291cmNlL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjgyLDYgKzI4Miw3IEBAIFdlYlBhZ2U6OldlYlBh
Z2UodWludDY0X3QgcGFnZUlELCBjb25zdCAKICAgICAsIG1fc2Nyb2xsUGlubmluZ0JlaGF2aW9y
KERvTm90UGluKQogICAgICwgbV91c2VBc3luY1Njcm9sbGluZyhmYWxzZSkKICAgICAsIG1fdmll
d1N0YXRlKHBhcmFtZXRlcnMudmlld1N0YXRlKQorICAgICwgbV9zdXBwcmVzc2lvbkRpc2FibGVk
KCJQcm9jZXNzIHN1cHByZXNzaW9uIGlzIGRpc2FibGVkLiIpCiB7CiAgICAgQVNTRVJUKG1fcGFn
ZUlEKTsKICAgICAvLyBGSVhNRTogVGhpcyBpcyBhIG5vbi1pZGVhbCBsb2NhdGlvbiBmb3IgdGhp
cyBTZXR0aW5nIGFuZApAQCAtNDI1LDYgKzQyNiw3IEBAIFdlYlBhZ2U6OldlYlBhZ2UodWludDY0
X3QgcGFnZUlELCBjb25zdCAKICNlbmRpZgogCiAgICAgbV9wYWdlLT5zZXRJc1Zpc2libGUobV92
aWV3U3RhdGUgJiBWaWV3U3RhdGU6OklzVmlzaWJsZSwgdHJ1ZSk7CisgICAgc2V0SXNWaXN1YWxs
eUlkbGUobV92aWV3U3RhdGUgJiBWaWV3U3RhdGU6OklzVmlzdWFsbHlJZGxlKTsKIH0KIAogV2Vi
UGFnZTo6fldlYlBhZ2UoKQpAQCAtMjA4MCw2ICsyMDgyLDggQEAgdm9pZCBXZWJQYWdlOjpzZXRW
aWV3U3RhdGUoVmlld1N0YXRlOjpGbAogICAgICAgICBzZXRBY3RpdmUodmlld1N0YXRlICYgVmll
d1N0YXRlOjpXaW5kb3dJc0FjdGl2ZSk7CiAgICAgaWYgKGNoYW5nZWQgJiBWaWV3U3RhdGU6Oklz
SW5XaW5kb3cpCiAgICAgICAgIHNldElzSW5XaW5kb3codmlld1N0YXRlICYgVmlld1N0YXRlOjpJ
c0luV2luZG93KTsKKyAgICBpZiAoY2hhbmdlZCAmIFZpZXdTdGF0ZTo6SXNWaXN1YWxseUlkbGUp
CisgICAgICAgIHNldElzVmlzdWFsbHlJZGxlKHZpZXdTdGF0ZSAmIFZpZXdTdGF0ZTo6SXNWaXN1
YWxseUlkbGUpOwogCiAgICAgZm9yIChhdXRvKiBwbHVnaW5WaWV3IDogbV9wbHVnaW5WaWV3cykK
ICAgICAgICAgcGx1Z2luVmlldy0+dmlld1N0YXRlRGlkQ2hhbmdlKGNoYW5nZWQpOwpAQCAtMjU0
Myw2ICsyNTQ3LDE0IEBAIHZvaWQgV2ViUGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMoY29uc3QgV2UK
ICAgICBzZXR0aW5ncy5zZXRNZWRpYVNvdXJjZUVuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9y
S2V5KFdlYlByZWZlcmVuY2VzS2V5OjptZWRpYVNvdXJjZUVuYWJsZWRLZXkoKSkpOwogI2VuZGlm
CiAKKyAgICBpZiAoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojpw
YWdlVmlzaWJpbGl0eUJhc2VkUHJvY2Vzc1N1cHByZXNzaW9uRW5hYmxlZEtleSgpKSkgeworICAg
ICAgICBpZiAobV9zdXBwcmVzc2lvbkRpc2FibGVkLmlzQWN0aXZlKCkpCisgICAgICAgICAgICBt
X3N1cHByZXNzaW9uRGlzYWJsZWQuZW5kQWN0aXZpdHkoKTsKKyAgICB9IGVsc2UgeworICAgICAg
ICBpZiAoIW1fc3VwcHJlc3Npb25EaXNhYmxlZC5pc0FjdGl2ZSgpKQorICAgICAgICAgICAgbV9z
dXBwcmVzc2lvbkRpc2FibGVkLmJlZ2luQWN0aXZpdHkoKTsKKyAgICB9CisKICAgICBwbGF0Zm9y
bVByZWZlcmVuY2VzRGlkQ2hhbmdlKHN0b3JlKTsKIAogICAgIGlmIChtX2RyYXdpbmdBcmVhKQpA
QCAtMzY3MCwxMCArMzY4Miw5IEBAIHZvaWQgV2ViUGFnZTo6c2V0VmlzaWJpbGl0eVN0YXRlUHJl
cmVuZGUKICAgICAgICAgbV9wYWdlLT5zZXRJc1ByZXJlbmRlcigpOwogfQogCi12b2lkIFdlYlBh
Z2U6OnNldFRocm90dGxlZChib29sIGlzVGhyb3R0bGVkKQordm9pZCBXZWJQYWdlOjpzZXRJc1Zp
c3VhbGx5SWRsZShib29sIGlzVmlzdWFsbHlJZGxlKQogewotICAgIGlmIChtX3BhZ2UpCi0gICAg
ICAgIG1fcGFnZS0+c2V0VGhyb3R0bGVkKGlzVGhyb3R0bGVkKTsKKyAgICBtX3BhZ2UtPnNldElz
VmlzdWFsbHlJZGxlKGlzVmlzdWFsbHlJZGxlKTsKIH0KIAogdm9pZCBXZWJQYWdlOjpzZXRTY3Jv
bGxpbmdQZXJmb3JtYW5jZUxvZ2dpbmdFbmFibGVkKGJvb2wgZW5hYmxlZCkKSW5kZXg6IC4uL09w
ZW5Tb3VyY2UvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSAuLi9PcGVuU291cmNlL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmgJKHJldmlzaW9uIDE2MTMwMCkKKysrIC4uL09wZW5Tb3VyY2UvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAkod29ya2luZyBjb3B5KQpAQCAtNTcs
NiArNTcsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1TY3JlZW4uaD4KICNpbmNsdWRl
IDxXZWJDb3JlL1Njcm9sbFR5cGVzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9UZXh0Q2hlY2tpbmcu
aD4KKyNpbmNsdWRlIDxXZWJDb3JlL1VzZXJBY3Rpdml0eS5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
V2ViQ29yZUtleWJvYXJkVUlNb2RlLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNs
dWRlIDx3dGYvT3duUHRyLmg+CkBAIC02MTUsNyArNjE2LDYgQEAgcHVibGljOgogCiAgICAgdm9p
ZCBzZXRWaXNpYmlsaXR5U3RhdGVQcmVyZW5kZXIoKTsKICAgICB2b2lkIHVwZGF0ZVZpc2liaWxp
dHlTdGF0ZShib29sIGlzSW5pdGlhbFN0YXRlID0gZmFsc2UpOwotICAgIHZvaWQgc2V0VGhyb3R0
bGVkKGJvb2wgaXNUaHJvdHRsZWQpOwogCiAjaWYgUExBVEZPUk0oSU9TKQogICAgIHZvaWQgZGlk
RmluaXNoU2Nyb2xsaW5nKGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIGNvbnRlbnRPZmZzZXQp
OwpAQCAtNzMxLDYgKzczMSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzZXRJbml0aWFsRm9jdXMo
Ym9vbCBmb3J3YXJkLCBib29sIGlzS2V5Ym9hcmRFdmVudFZhbGlkLCBjb25zdCBXZWJLZXlib2Fy
ZEV2ZW50Jik7CiAgICAgdm9pZCBzZXRXaW5kb3dSZXNpemVyU2l6ZShjb25zdCBXZWJDb3JlOjpJ
bnRTaXplJik7CiAgICAgdm9pZCBzZXRJc0luV2luZG93KGJvb2wpOworICAgIHZvaWQgc2V0SXNW
aXN1YWxseUlkbGUoYm9vbCk7CiAgICAgdm9pZCBzZXRWaWV3U3RhdGUoVmlld1N0YXRlOjpGbGFn
cywgYm9vbCB3YW50c0RpZFVwZGF0ZVZpZXdTdGF0ZSk7CiAgICAgdm9pZCB2YWxpZGF0ZUNvbW1h
bmQoY29uc3QgU3RyaW5nJiwgdWludDY0X3QpOwogICAgIHZvaWQgZXhlY3V0ZUVkaXRDb21tYW5k
KGNvbnN0IFN0cmluZyYpOwpAQCAtMTA0NSw2ICsxMDQ2LDggQEAgcHJpdmF0ZToKICAgICBib29s
IG1fdXNlQXN5bmNTY3JvbGxpbmc7CiAKICAgICBWaWV3U3RhdGU6OkZsYWdzIG1fdmlld1N0YXRl
OworCisgICAgVXNlckFjdGl2aXR5IG1fc3VwcHJlc3Npb25EaXNhYmxlZDsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYktpdAo=
</data>
<flag name="review"
          id="244065"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>220382</attachid>
            <date>2014-01-04 17:41:01 -0800</date>
            <delta_ts>2014-01-04 17:41:01 -0800</delta_ts>
            <desc>new patch for EWS</desc>
            <filename>126480.2.patch</filename>
            <type>text/plain</type>
            <size>6511</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9OZXR3b3JrUHJvY2Vzc01h
Yy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvTmV0
d29ya1Byb2Nlc3NNYWMubW0JKHJldmlzaW9uIDE2MTMxNikKKysrIFNvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL21hYy9OZXR3b3JrUHJvY2Vzc01hYy5tbQkod29ya2luZyBjb3B5KQpAQCAt
MTEyLDYgKzExMiw5IEBAIHN0YXRpYyB2b2lkIG92ZXJyaWRlU3lzdGVtUHJveGllcyhjb25zdCAK
IAogdm9pZCBOZXR3b3JrUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplTmV0d29ya1Byb2Nlc3Mo
Y29uc3QgTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCiB7Cisg
ICAgLy8gU3RhcnQgd2l0aCBwcm9jZXNzIHN1cHByZXNzaW9uIGRpc2FibGVkLgorICAgIHNldFBy
b2Nlc3NTdXBwcmVzc2lvbkVuYWJsZWQodHJ1ZSk7CisKICAgICBtX2Rpc2tDYWNoZURpcmVjdG9y
eSA9IHBhcmFtZXRlcnMuZGlza0NhY2hlRGlyZWN0b3J5OwogCiAgICAgaWYgKCFtX2Rpc2tDYWNo
ZURpcmVjdG9yeS5pc051bGwoKSkgewpJbmRleDogU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vz
cy9tYWMvUGx1Z2luUHJvY2Vzc01hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9Q
bHVnaW5Qcm9jZXNzL21hYy9QbHVnaW5Qcm9jZXNzTWFjLm1tCShyZXZpc2lvbiAxNjEzMTYpCisr
KyBTb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL21hYy9QbHVnaW5Qcm9jZXNzTWFjLm1tCSh3
b3JraW5nIGNvcHkpCkBAIC00MTYsNiArNDE2LDkgQEAgdm9pZCBQbHVnaW5Qcm9jZXNzOjpwbGF0
Zm9ybUluaXRpYWxpemVQcgogICAgIC8vIEluaXRpYWxpemUgQ29jb2Egb3ZlcnJpZGVzLgogICAg
IGluaXRpYWxpemVDb2NvYU92ZXJyaWRlcygpOwogCisgICAgLy8gU3RhcnQgd2l0aCBwcm9jZXNz
IHN1cHByZXNzaW9uIGRpc2FibGVkLgorICAgIHNldFByb2Nlc3NTdXBwcmVzc2lvbkVuYWJsZWQo
dHJ1ZSk7CisKICAgICAvLyBGSVhNRTogSXQgd291bGQgYmUgYmV0dGVyIHRvIHByb3h5IFNldEN1
cnNvciBjYWxscyBvdmVyIHRvIHRoZSBVSSBwcm9jZXNzIGluc3RlYWQgb2YKICAgICAvLyBhbGxv
d2luZyBwbHVnLWlucyB0byBjaGFuZ2UgdGhlIG1vdXNlIGN1cnNvciBhdCBhbnkgdGltZS4KICAg
ICBXS0VuYWJsZVNldHRpbmdDdXJzb3JXaGVuSW5CYWNrZ3JvdW5kKCk7CkluZGV4OiBTb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvbWFjL0NoaWxkUHJvY2Vzc01hYy5tbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvbWFjL0NoaWxkUHJvY2Vzc01hYy5tbQkocmV2aXNpb24gMTYxMzE2
KQorKysgU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9DaGlsZFByb2Nlc3NNYWMubW0JKHdvcmtp
bmcgY29weSkKQEAgLTg4LDggKzg4LDYgQEAgdm9pZCBDaGlsZFByb2Nlc3M6OnBsYXRmb3JtSW5p
dGlhbGl6ZSgpCiAjaWYgIVBMQVRGT1JNKElPUykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxMDkwCiAgICAgaW5pdGlhbGl6ZVRpbWVyQ29hbGVzY2luZ1BvbGljeSgpOwog
I2VuZGlmCi0gICAgLy8gU3RhcnQgd2l0aCBwcm9jZXNzIHN1cHByZXNzaW9uIGRpc2FibGVkLgot
ICAgIG1fcHJvY2Vzc1N1cHByZXNzaW9uRGlzYWJsZWQuYmVnaW5BY3Rpdml0eSgpOwogCiAgICAg
W1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSBjaGFuZ2VDdXJyZW50RGlyZWN0b3J5UGF0
aDpbW05TQnVuZGxlIG1haW5CdW5kbGVdIGJ1bmRsZVBhdGhdXTsKIH0KSW5kZXg6IFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViUHJvY2Vzc1Byb3h5TWFjLm1tCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViUHJvY2Vzc1Byb3h5TWFjLm1tCShyZXZp
c2lvbiAxNjEzMTYpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYlByb2Nlc3NQ
cm94eU1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtNzQsOCArNzQsNiBAQCB2b2lkIFdlYlByb2Nl
c3NQcm94eTo6dXBkYXRlUHJvY2Vzc1N1cHByCiAgICAgICAgIHJldHVybjsKICAgICBtX3Byb2Nl
c3NTdXBwcmVzc2lvbkVuYWJsZWQgPSBjYW5FbmFibGU7CiAKLSAgICBjb25uZWN0aW9uKCktPnNl
bmQoTWVzc2FnZXM6OldlYlByb2Nlc3M6OlNldFByb2Nlc3NTdXBwcmVzc2lvbkVuYWJsZWQobV9w
cm9jZXNzU3VwcHJlc3Npb25FbmFibGVkKSwgMCk7Ci0KICAgICBtX2NvbnRleHQtPnVwZGF0ZVBy
b2Nlc3NTdXBwcmVzc2lvblN0YXRlKCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAJKHJldmlzaW9uIDE2MTMxNikKKysrIFNvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjgyLDYgKzI4Miw5IEBAIFdlYlBhZ2U6OldlYlBhZ2UodWludDY0X3QgcGFnZUlELCBjb25z
dCAKICAgICAsIG1fc2Nyb2xsUGlubmluZ0JlaGF2aW9yKERvTm90UGluKQogICAgICwgbV91c2VB
c3luY1Njcm9sbGluZyhmYWxzZSkKICAgICAsIG1fdmlld1N0YXRlKHBhcmFtZXRlcnMudmlld1N0
YXRlKQorICAgICwgbV9wYWdlVmlzaWJpbGl0eUJhc2VkUHJvY2Vzc1N1cHByZXNzaW9uRW5hYmxl
ZCh0cnVlKQorICAgICwgbV92aXN1YWxseU5vbklkbGUoIlBhZ2UgaXMgbm90IHZpc3VhbGx5IGlk
bGUuIikKKyAgICAsIG1fcHJvY2Vzc1N1cHByZXNzaW9uRGlzYWJsZWRCeVdlYlByZWZlcmVuY2Uo
IlByb2Nlc3Mgc3VwcHJlc3Npb24gaXMgZGlzYWJsZWQuIikKIHsKICAgICBBU1NFUlQobV9wYWdl
SUQpOwogICAgIC8vIEZJWE1FOiBUaGlzIGlzIGEgbm9uLWlkZWFsIGxvY2F0aW9uIGZvciB0aGlz
IFNldHRpbmcgYW5kCkBAIC00MjUsNiArNDI4LDggQEAgV2ViUGFnZTo6V2ViUGFnZSh1aW50NjRf
dCBwYWdlSUQsIGNvbnN0IAogI2VuZGlmCiAKICAgICBtX3BhZ2UtPnNldElzVmlzaWJsZShtX3Zp
ZXdTdGF0ZSAmIFZpZXdTdGF0ZTo6SXNWaXNpYmxlLCB0cnVlKTsKKworICAgIHVwZGF0ZVVzZXJB
Y3Rpdml0eSgpOwogfQogCiBXZWJQYWdlOjp+V2ViUGFnZSgpCkBAIC0yMDgwLDYgKzIwODUsOCBA
QCB2b2lkIFdlYlBhZ2U6OnNldFZpZXdTdGF0ZShWaWV3U3RhdGU6OkZsCiAgICAgICAgIHNldEFj
dGl2ZSh2aWV3U3RhdGUgJiBWaWV3U3RhdGU6OldpbmRvd0lzQWN0aXZlKTsKICAgICBpZiAoY2hh
bmdlZCAmIFZpZXdTdGF0ZTo6SXNJbldpbmRvdykKICAgICAgICAgc2V0SXNJbldpbmRvdyh2aWV3
U3RhdGUgJiBWaWV3U3RhdGU6OklzSW5XaW5kb3cpOworICAgIGlmIChjaGFuZ2VkICYgVmlld1N0
YXRlOjpJc1Zpc3VhbGx5SWRsZSkKKyAgICAgICAgdXBkYXRlVXNlckFjdGl2aXR5KCk7CiAKICAg
ICBmb3IgKGF1dG8qIHBsdWdpblZpZXcgOiBtX3BsdWdpblZpZXdzKQogICAgICAgICBwbHVnaW5W
aWV3LT52aWV3U3RhdGVEaWRDaGFuZ2UoY2hhbmdlZCk7CkBAIC0yMzQ4LDEwICsyMzU1LDI0IEBA
IHZvaWQgV2ViUGFnZTo6Zm9yY2VSZXBhaW50KHVpbnQ2NF90IGNhbGwKICAgICBzZW5kKE1lc3Nh
Z2VzOjpXZWJQYWdlUHJveHk6OlZvaWRDYWxsYmFjayhjYWxsYmFja0lEKSk7CiB9CiAKK3ZvaWQg
V2ViUGFnZTo6dXBkYXRlVXNlckFjdGl2aXR5KCkKK3sKKyAgICBpZiAoKG1fdmlld1N0YXRlICYg
Vmlld1N0YXRlOjpJc1Zpc3VhbGx5SWRsZSkgJiYgbV92aXN1YWxseU5vbklkbGUuaXNBY3RpdmUo
KSkKKyAgICAgICAgbV92aXN1YWxseU5vbklkbGUuZW5kQWN0aXZpdHkoKTsKKyAgICBpZiAoISht
X3ZpZXdTdGF0ZSAmIFZpZXdTdGF0ZTo6SXNWaXN1YWxseUlkbGUpICYmICFtX3Zpc3VhbGx5Tm9u
SWRsZS5pc0FjdGl2ZSgpKQorICAgICAgICBtX3Zpc3VhbGx5Tm9uSWRsZS5iZWdpbkFjdGl2aXR5
KCk7CisKKyAgICBpZiAobV9wYWdlVmlzaWJpbGl0eUJhc2VkUHJvY2Vzc1N1cHByZXNzaW9uRW5h
YmxlZCAmJiBtX3Byb2Nlc3NTdXBwcmVzc2lvbkRpc2FibGVkQnlXZWJQcmVmZXJlbmNlLmlzQWN0
aXZlKCkpCisgICAgICAgIG1fcHJvY2Vzc1N1cHByZXNzaW9uRGlzYWJsZWRCeVdlYlByZWZlcmVu
Y2UuZW5kQWN0aXZpdHkoKTsKKyAgICBpZiAoIW1fcGFnZVZpc2liaWxpdHlCYXNlZFByb2Nlc3NT
dXBwcmVzc2lvbkVuYWJsZWQgJiYgIW1fcHJvY2Vzc1N1cHByZXNzaW9uRGlzYWJsZWRCeVdlYlBy
ZWZlcmVuY2UuaXNBY3RpdmUoKSkKKyAgICAgICAgbV9wcm9jZXNzU3VwcHJlc3Npb25EaXNhYmxl
ZEJ5V2ViUHJlZmVyZW5jZS5iZWdpbkFjdGl2aXR5KCk7Cit9CisKIHZvaWQgV2ViUGFnZTo6cHJl
ZmVyZW5jZXNEaWRDaGFuZ2UoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYgc3RvcmUpCiB7CiAg
ICAgV2ViUHJlZmVyZW5jZXNTdG9yZTo6cmVtb3ZlVGVzdFJ1bm5lck92ZXJyaWRlcygpOwogICAg
IHVwZGF0ZVByZWZlcmVuY2VzKHN0b3JlKTsKKyAgICB1cGRhdGVVc2VyQWN0aXZpdHkoKTsKIH0K
IAogdm9pZCBXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyhjb25zdCBXZWJQcmVmZXJlbmNlc1N0
b3JlJiBzdG9yZSkKQEAgLTI1NDMsNiArMjU2NCw4IEBAIHZvaWQgV2ViUGFnZTo6dXBkYXRlUHJl
ZmVyZW5jZXMoY29uc3QgV2UKICAgICBzZXR0aW5ncy5zZXRNZWRpYVNvdXJjZUVuYWJsZWQoc3Rv
cmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjptZWRpYVNvdXJjZUVuYWJs
ZWRLZXkoKSkpOwogI2VuZGlmCiAKKyAgICBtX3BhZ2VWaXNpYmlsaXR5QmFzZWRQcm9jZXNzU3Vw
cHJlc3Npb25FbmFibGVkID0gc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2Vz
S2V5OjpwYWdlVmlzaWJpbGl0eUJhc2VkUHJvY2Vzc1N1cHByZXNzaW9uRW5hYmxlZEtleSgpKTsK
KwogICAgIHBsYXRmb3JtUHJlZmVyZW5jZXNEaWRDaGFuZ2Uoc3RvcmUpOwogCiAgICAgaWYgKG1f
ZHJhd2luZ0FyZWEpCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmgJKHJldmlzaW9uIDE2MTMxNikKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmgJKHdvcmtpbmcgY29weSkKQEAgLTU3LDYgKzU3LDcgQEAKICNpbmNs
dWRlIDxXZWJDb3JlL1BsYXRmb3JtU2NyZWVuLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TY3JvbGxU
eXBlcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVGV4dENoZWNraW5nLmg+CisjaW5jbHVkZSA8V2Vi
Q29yZS9Vc2VyQWN0aXZpdHkuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1dlYkNvcmVLZXlib2FyZFVJ
TW9kZS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5o
PgpAQCAtNzgzLDYgKzc4NCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBwcmVmZXJlbmNlc0RpZENo
YW5nZShjb25zdCBXZWJQcmVmZXJlbmNlc1N0b3JlJik7CiAgICAgdm9pZCBwbGF0Zm9ybVByZWZl
cmVuY2VzRGlkQ2hhbmdlKGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmKTsKICAgICB2b2lkIHVw
ZGF0ZVByZWZlcmVuY2VzKGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmKTsKKyAgICB2b2lkIHVw
ZGF0ZVVzZXJBY3Rpdml0eSgpOwogCiAgICAgdm9pZCBkaWRSZWNlaXZlUG9saWN5RGVjaXNpb24o
dWludDY0X3QgZnJhbWVJRCwgdWludDY0X3QgbGlzdGVuZXJJRCwgdWludDMyX3QgcG9saWN5QWN0
aW9uLCB1aW50NjRfdCBkb3dubG9hZElEKTsKICAgICB2b2lkIHNldFVzZXJBZ2VudChjb25zdCBT
dHJpbmcmKTsKQEAgLTEwNDUsNiArMTA0NywxMCBAQCBwcml2YXRlOgogICAgIGJvb2wgbV91c2VB
c3luY1Njcm9sbGluZzsKIAogICAgIFZpZXdTdGF0ZTo6RmxhZ3MgbV92aWV3U3RhdGU7CisKKyAg
ICBib29sIG1fcGFnZVZpc2liaWxpdHlCYXNlZFByb2Nlc3NTdXBwcmVzc2lvbkVuYWJsZWQ7Cisg
ICAgVXNlckFjdGl2aXR5IG1fdmlzdWFsbHlOb25JZGxlOworICAgIFVzZXJBY3Rpdml0eSBtX3By
b2Nlc3NTdXBwcmVzc2lvbkRpc2FibGVkQnlXZWJQcmVmZXJlbmNlOwogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViS2l0Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>