<?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>29919</bug_id>
          
          <creation_ts>2009-09-30 05:20:39 -0700</creation_ts>
          <short_desc>HashTable.h has using directives for std::pair and std::make_pair</short_desc>
          <delta_ts>2012-05-30 14:45:23 -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>Web Template Framework</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Other</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Kent Hansen">kent.hansen</reporter>
          <assigned_to name="Caio Marcelo de Oliveira Filho">cmarcelo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>hausmann</cc>
    
    <cc>japhet</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>151225</commentid>
    <comment_count>0</comment_count>
      <attachid>40362</attachid>
    <who name="Kent Hansen">kent.hansen</who>
    <bug_when>2009-09-30 05:20:39 -0700</bug_when>
    <thetext>Created attachment 40362
Proposed patch

The compiler complains about ambiguity in calls, apparently because there is a &quot;using std::make_pair&quot; in the WTF namespace (wtf/HashTraits.h) and Structure.cpp has both &quot;using namespace std&quot; and &quot;using namespace WTF&quot;. Removing &quot;using namespace std&quot; makes it compile without any other changes needed.

Compiler output:

..\3rdparty\javascriptcore\JavaScriptCore\runtime\Structure.cpp(157) : error C2872: &apos;make_pair&apos; : ambiguous symbol
could be &apos;&apos;unknown-type&apos; make_pair&apos;
or &apos;..\3rdparty\javascriptcore\JavaScriptCore\wtf\HashTraits.h(32) : std::pair&lt;_Ty1,_Ty2&gt; std::make_pair(_Ty1,_Ty2)&apos;
or &apos;make_pair&apos;
..\3rdparty\javascriptcore\JavaScriptCore\runtime\Structure.cpp(397) : error C2872: &apos;make_pair&apos; : ambiguous symbol
could be &apos;&apos;unknown-type&apos; make_pair&apos;
or &apos;..\3rdparty\javascriptcore\JavaScriptCore\wtf\HashTraits.h(32) : std::pair&lt;_Ty1,_Ty2&gt; std::make_pair(_Ty1,_Ty2)&apos;
or &apos;make_pair&apos;
..\3rdparty\javascriptcore\JavaScriptCore\runtime\Structure.cpp(451) : error C2872: &apos;make_pair&apos; : ambiguous symbol
could be &apos;&apos;unknown-type&apos; make_pair&apos;
or &apos;..\3rdparty\javascriptcore\JavaScriptCore\wtf\HashTraits.h(32) : std::pair&lt;_Ty1,_Ty2&gt; std::make_pair(_Ty1,_Ty2)&apos;
or &apos;make_pair&apos;
..\3rdparty\javascriptcore\JavaScriptCore\runtime\Structure.cpp(875) : error C2872: &apos;make_pair&apos; : ambiguous symbol
could be &apos;&apos;unknown-type&apos; make_pair&apos;
or &apos;..\3rdparty\javascriptcore\JavaScriptCore\wtf\HashTraits.h(32) : std::pair&lt;_Ty1,_Ty2&gt; std::make_pair(_Ty1,_Ty2)&apos;
or &apos;make_pair&apos;
..\3rdparty\javascriptcore\JavaScriptCore\runtime\Structure.cpp(1037) : error C2668: &apos;std::max&apos; : ambiguous call to overloaded function
C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\xutility(1242): could be &apos;const unsigned int &amp;std::max(const unsigned int &amp;,const unsigned int &amp;)&apos;
C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\xutility(1242): or &apos;const unsigned int &amp;std::max(const unsigned int &amp;,const unsigned int &amp;)&apos;
while trying to match the argument list &apos;(unsigned int, unsigned int)&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>151291</commentid>
    <comment_count>1</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-09-30 10:18:49 -0700</bug_when>
    <thetext>I think the better fix is to find a way remove the using std::make_pair from HashTraits.h. Generally we don&apos;t want to do using in headers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>151292</commentid>
    <comment_count>2</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-09-30 10:19:13 -0700</bug_when>
    <thetext>Is compiling in the two-versions-old version of Visual Studio a goal for the project?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>151946</commentid>
    <comment_count>3</comment_count>
      <attachid>40362</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-10-02 12:45:25 -0700</bug_when>
    <thetext>Comment on attachment 40362
Proposed patch

Every patch requires a ChangeLog.  Also darin&apos;s comments above suggest this should not be landed as-is.
http://webkit.org/coding/contributing.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635983</commentid>
    <comment_count>4</comment_count>
      <attachid>144549</attachid>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2012-05-29 07:01:33 -0700</bug_when>
    <thetext>Created attachment 144549
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635985</commentid>
    <comment_count>5</comment_count>
      <attachid>144549</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-05-29 07:03:57 -0700</bug_when>
    <thetext>Comment on attachment 144549
Patch

Seems legit. r=me.
Probably wanna wait for EWSes just to be on the safe side.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>636002</commentid>
    <comment_count>6</comment_count>
      <attachid>144549</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-05-29 07:33:54 -0700</bug_when>
    <thetext>Comment on attachment 144549
Patch

Attachment 144549 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12846500</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>636018</commentid>
    <comment_count>7</comment_count>
      <attachid>144558</attachid>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2012-05-29 07:54:32 -0700</bug_when>
    <thetext>Created attachment 144558
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>636384</commentid>
    <comment_count>8</comment_count>
      <attachid>144558</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-05-29 13:26:55 -0700</bug_when>
    <thetext>Comment on attachment 144558
Patch

Normally it’s safer to do such patches in pairs. The first patch adds all the &quot;std::&quot; prefixes. Then the second one only removes the “using”. That way, if there is a problem and a roll-out is necessary, we only roll out a small change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>637303</commentid>
    <comment_count>9</comment_count>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2012-05-30 09:26:20 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 144558 [details])
&gt; Normally it’s safer to do such patches in pairs. The first patch adds all the &quot;std::&quot; prefixes. Then the second one only removes the “using”. That way, if there is a problem and a roll-out is necessary, we only roll out a small change.

Thanks. Will land that way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>637380</commentid>
    <comment_count>10</comment_count>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2012-05-30 10:20:13 -0700</bug_when>
    <thetext>Committed r118934: &lt;http://trac.webkit.org/changeset/118934&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>637710</commentid>
    <comment_count>11</comment_count>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2012-05-30 14:45:23 -0700</bug_when>
    <thetext>Committed r118976: &lt;http://trac.webkit.org/changeset/118976&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40362</attachid>
            <date>2009-09-30 05:20:39 -0700</date>
            <delta_ts>2012-05-29 07:01:19 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>vs2003.diff</filename>
            <type>text/plain</type>
            <size>338</size>
            <attacher name="Kent Hansen">kent.hansen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcCBiL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcAppbmRleCA3MjA5YjVmLi4wZmQ0M2YxIDEw
MDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAKKysrIGIvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuY3BwCkBAIC00Niw3ICs0Niw2IEBACiAjZGVm
aW5lIERPX1BST1BFUlRZTUFQX0NPTlNURU5DWV9DSEVDSyAwCiAjZW5kaWYKIAotdXNpbmcgbmFt
ZXNwYWNlIHN0ZDsKIHVzaW5nIG5hbWVzcGFjZSBXVEY7CiAKIG5hbWVzcGFjZSBKU0Mgewo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144549</attachid>
            <date>2012-05-29 07:01:33 -0700</date>
            <delta_ts>2012-05-29 07:54:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-29919-20120529110132.patch</filename>
            <type>text/plain</type>
            <size>11100</size>
            <attacher name="Caio Marcelo de Oliveira Filho">cmarcelo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4NzY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDMxZTQxNjU1MzY3ODczYmVlMTg3MzEx
YTQ3OWEzOWNjNjRjYzE4ZWQuLjk5MGIzODI2NzY0NTY4NjE4NDNjYzcyNzBhYWJhYTMwYmY3MjU2
MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTItMDUtMjkgIENhaW8gTWFyY2VsbyBkZSBPbGl2
ZWlyYSBGaWxobyAgPGNhaW8ub2xpdmVpcmFAb3BlbmJvc3NhLm9yZz4KKworICAgICAgICBIYXNo
VGFibGUuaCBoYXMgdXNpbmcgZGlyZWN0aXZlcyBmb3Igc3RkOjpwYWlyIGFuZCBzdGQ6bWFrZV9w
YWlyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yOTkx
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92
ZSAndXNpbmcnIGRpcmVjdGl2ZXMgYW5kIHVzZSB0aGUgc3RkOjogcHJlZml4IGluc3RlYWQgdG8g
Zm9sbG93IGNvZGluZyBzdHlsZS4KKworICAgICAgICAqIHd0Zi9IYXNoVGFibGUuaDoKKyAgICAg
ICAgKFdURjo6aGFzaFRhYmxlU3dhcCk6CisgICAgICAgIChIYXNoVGFibGUpOgorICAgICAgICAq
IHd0Zi9IYXNoVHJhaXRzLmg6CisgICAgICAgIChXVEYpOgorICAgICAgICAoUGFpckhhc2hUcmFp
dHMpOgorICAgICAgICAoV1RGOjpQYWlySGFzaFRyYWl0czo6ZW1wdHlWYWx1ZSk6CisKIDIwMTIt
MDUtMjkgIFRvciBBcm5lIFZlc3Riw7ggIDx0b3IuYXJuZS52ZXN0Ym9Abm9raWEuY29tPgogCiAg
ICAgICAgIFtRdF0gUmVtb3ZlIGR1cGxpY2F0aW9uIG9mIGxvZ2ljIGZvciBkaXNhYmxpbmcgc2Vs
ZWN0ZWQgd2FybmluZ3MgcmVsYXRlZCB0byBDKysxMQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDgyYjI4ZjI5NDkw
NzQ1ZDBlM2IxZjY1ZjRmZTcwOTJhZDc4NDcxYWEuLmJlNWRiNWY3OTE3MGQxNjkzODhiMGRkZjVk
NWJkMzA5NWE1NGJlNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMi0wNS0yOSAg
Q2FpbyBNYXJjZWxvIGRlIE9saXZlaXJhIEZpbGhvICA8Y2Fpby5vbGl2ZWlyYUBvcGVuYm9zc2Eu
b3JnPgorCisgICAgICAgIEhhc2hUYWJsZS5oIGhhcyB1c2luZyBkaXJlY3RpdmVzIGZvciBzdGQ6
OnBhaXIgYW5kIHN0ZDptYWtlX3BhaXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTI5OTE5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6cG9zdE5vdGlmaWNhdGlvbik6CisgICAgICAgICog
aHRtbC9NZWRpYUZyYWdtZW50VVJJUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
RnJhZ21lbnRVUklQYXJzZXI6OnBhcnNlRnJhZ21lbnRzKToKKyAgICAgICAgKiBodG1sL3BhcnNl
ci9IVE1MTWV0YUNoYXJzZXRQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1ldGFD
aGFyc2V0UGFyc2VyOjpwcm9jZXNzTWV0YSk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hl
ZEltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZEltYWdlOjpicm9rZW5JbWFnZSk6
CisgICAgICAgICogcGFnZS9QYWdlU2VyaWFsaXplci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpp
c0NoYXJzZXRTcGVjaWZ5aW5nTm9kZSk6CisKIDIwMTItMDUtMjkgIEFsZXhhbmRlciBQYXZsb3Yg
IDxhcGF2bG92QGNocm9taXVtLm9yZz4KIAogICAgICAgICBbQ2hyb21pdW1dIFtSZWdyZXNzaW9u
XSBTRUxFQ1QgcG9wdXAgbWlzcGxhY2VkIHdoZW4gdGhlcmUgaXMgbm90IGVub3VnaCB2ZXJ0aWNh
bCBzcGFjZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCmluZGV4IDk5MmFjZDU0MDY0NmFmNGRhZjEwY2U2OTQ5ZmJiNjNlNWE2
MGFmNzEuLjkxZTVkYzdlMmY0YWUwNjIwZDc4ZjliZWYzNjU0ZTliNDQ5OTRkMjEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wNS0yOSAgQ2FpbyBNYXJjZWxvIGRlIE9saXZlaXJh
IEZpbGhvICA8Y2Fpby5vbGl2ZWlyYUBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIEhhc2hUYWJs
ZS5oIGhhcyB1c2luZyBkaXJlY3RpdmVzIGZvciBzdGQ6OnBhaXIgYW5kIHN0ZDptYWtlX3BhaXIK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI5OTE5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHQ6OnBvc3RNZXNz
YWdlVG9JbmplY3RlZEJ1bmRsZSk6CisKIDIwMTItMDUtMjkgIEtlbm5ldGggUm9oZGUgQ2hyaXN0
aWFuc2VuICA8a2VubmV0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFtRdF0gTW92ZSB0ZXN0cyBm
cm9tIERlc2t0b3BCZWhhdmlvciB3aGljaCBjYW4gYmUgbWFkZSB0byB3b3JrCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV1RGL3d0Zi9IYXNoVGFibGUuaCBiL1NvdXJjZS9XVEYvd3RmL0hhc2hUYWJsZS5o
CmluZGV4IDc2MjVlNTZmZTUwOTJiNTE2ZjlmZjlhZmE1NTAxMTllN2Q2Y2Q3N2IuLmNjZjYyZGMw
MGI4MWI1M2FjN2IzZmRkYTgzZTVkMWZkMzIxNjkwNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
d3RmL0hhc2hUYWJsZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0hhc2hUYWJsZS5oCkBAIC0yODUs
NyArMjg1LDcgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgfQogCiAgICAgLy8gU3dhcCBwYWlycyBi
eSBjb21wb25lbnQsIGluIGNhc2Ugb2YgcGFpciBtZW1iZXJzIHRoYXQgc3BlY2lhbGl6ZSBzd2Fw
LgotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+IGlubGluZSB2b2lkIGhhc2hU
YWJsZVN3YXAocGFpcjxULCBVPiYgYSwgcGFpcjxULCBVPiYgYikKKyAgICB0ZW1wbGF0ZTx0eXBl
bmFtZSBULCB0eXBlbmFtZSBVPiBpbmxpbmUgdm9pZCBoYXNoVGFibGVTd2FwKHN0ZDo6cGFpcjxU
LCBVPiYgYSwgc3RkOjpwYWlyPFQsIFU+JiBiKQogICAgIHsKICAgICAgICAgc3dhcChhLmZpcnN0
LCBiLmZpcnN0KTsKICAgICAgICAgc3dhcChhLnNlY29uZCwgYi5zZWNvbmQpOwpAQCAtMzkyLDgg
KzM5Miw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAgICBzdGF0aWMgVmFsdWVUeXBlKiBhbGxv
Y2F0ZVRhYmxlKGludCBzaXplKTsKICAgICAgICAgc3RhdGljIHZvaWQgZGVhbGxvY2F0ZVRhYmxl
KFZhbHVlVHlwZSogdGFibGUsIGludCBzaXplKTsKIAotICAgICAgICB0eXBlZGVmIHBhaXI8VmFs
dWVUeXBlKiwgYm9vbD4gTG9va3VwVHlwZTsKLSAgICAgICAgdHlwZWRlZiBwYWlyPExvb2t1cFR5
cGUsIHVuc2lnbmVkPiBGdWxsTG9va3VwVHlwZTsKKyAgICAgICAgdHlwZWRlZiBzdGQ6OnBhaXI8
VmFsdWVUeXBlKiwgYm9vbD4gTG9va3VwVHlwZTsKKyAgICAgICAgdHlwZWRlZiBzdGQ6OnBhaXI8
TG9va3VwVHlwZSwgdW5zaWduZWQ+IEZ1bGxMb29rdXBUeXBlOwogCiAgICAgICAgIExvb2t1cFR5
cGUgbG9va3VwRm9yV3JpdGluZyhjb25zdCBLZXkmIGtleSkgeyByZXR1cm4gbG9va3VwRm9yV3Jp
dGluZzxJZGVudGl0eVRyYW5zbGF0b3JUeXBlPihrZXkpOyB9OwogICAgICAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBIYXNoVHJhbnNsYXRvciwgdHlwZW5hbWUgVD4gRnVsbExvb2t1cFR5cGUgZnVsbExv
b2t1cEZvcldyaXRpbmcoY29uc3QgVCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvSGFz
aFRyYWl0cy5oIGIvU291cmNlL1dURi93dGYvSGFzaFRyYWl0cy5oCmluZGV4IGZkZjFhYjk0MWY2
ZDI5YjVjMjc1YmFmM2U2YjgwN2NkNTA2NDNkZmMuLjIxZmZkYmI0NWU1OGViOTZjZGQ3YjhhYTA1
ZTEyZTE1ZjQ1MGIxZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0hhc2hUcmFpdHMuaAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi9IYXNoVHJhaXRzLmgKQEAgLTM0LDkgKzM0LDYgQEAgbmFtZXNw
YWNlIFdURiB7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgT3duUHRyOwogICAgIHRl
bXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFBhc3NPd25QdHI7CiAKLSAgICB1c2luZyBzdGQ6OnBh
aXI7Ci0gICAgdXNpbmcgc3RkOjptYWtlX3BhaXI7Ci0KICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBU
PiBzdHJ1Y3QgSGFzaFRyYWl0czsKIAogICAgIHRlbXBsYXRlPGJvb2wgaXNJbnRlZ2VyLCB0eXBl
bmFtZSBUPiBzdHJ1Y3QgR2VuZXJpY0hhc2hUcmFpdHNCYXNlOwpAQCAtMTY5LDE0ICsxNjYsMTQg
QEAgbmFtZXNwYWNlIFdURiB7CiAgICAgLy8gc3BlY2lhbCB0cmFpdHMgZm9yIHBhaXJzLCBoZWxw
ZnVsIGZvciB0aGVpciB1c2UgaW4gSGFzaE1hcCBpbXBsZW1lbnRhdGlvbgogCiAgICAgdGVtcGxh
dGU8dHlwZW5hbWUgRmlyc3RUcmFpdHNBcmcsIHR5cGVuYW1lIFNlY29uZFRyYWl0c0FyZz4KLSAg
ICBzdHJ1Y3QgUGFpckhhc2hUcmFpdHMgOiBHZW5lcmljSGFzaFRyYWl0czxwYWlyPHR5cGVuYW1l
IEZpcnN0VHJhaXRzQXJnOjpUcmFpdFR5cGUsIHR5cGVuYW1lIFNlY29uZFRyYWl0c0FyZzo6VHJh
aXRUeXBlPiA+IHsKKyAgICBzdHJ1Y3QgUGFpckhhc2hUcmFpdHMgOiBHZW5lcmljSGFzaFRyYWl0
czxzdGQ6OnBhaXI8dHlwZW5hbWUgRmlyc3RUcmFpdHNBcmc6OlRyYWl0VHlwZSwgdHlwZW5hbWUg
U2Vjb25kVHJhaXRzQXJnOjpUcmFpdFR5cGU+ID4gewogICAgICAgICB0eXBlZGVmIEZpcnN0VHJh
aXRzQXJnIEZpcnN0VHJhaXRzOwogICAgICAgICB0eXBlZGVmIFNlY29uZFRyYWl0c0FyZyBTZWNv
bmRUcmFpdHM7Ci0gICAgICAgIHR5cGVkZWYgcGFpcjx0eXBlbmFtZSBGaXJzdFRyYWl0czo6VHJh
aXRUeXBlLCB0eXBlbmFtZSBTZWNvbmRUcmFpdHM6OlRyYWl0VHlwZT4gVHJhaXRUeXBlOwotICAg
ICAgICB0eXBlZGVmIHBhaXI8dHlwZW5hbWUgRmlyc3RUcmFpdHM6OkVtcHR5VmFsdWVUeXBlLCB0
eXBlbmFtZSBTZWNvbmRUcmFpdHM6OkVtcHR5VmFsdWVUeXBlPiBFbXB0eVZhbHVlVHlwZTsKKyAg
ICAgICAgdHlwZWRlZiBzdGQ6OnBhaXI8dHlwZW5hbWUgRmlyc3RUcmFpdHM6OlRyYWl0VHlwZSwg
dHlwZW5hbWUgU2Vjb25kVHJhaXRzOjpUcmFpdFR5cGU+IFRyYWl0VHlwZTsKKyAgICAgICAgdHlw
ZWRlZiBzdGQ6OnBhaXI8dHlwZW5hbWUgRmlyc3RUcmFpdHM6OkVtcHR5VmFsdWVUeXBlLCB0eXBl
bmFtZSBTZWNvbmRUcmFpdHM6OkVtcHR5VmFsdWVUeXBlPiBFbXB0eVZhbHVlVHlwZTsKIAogICAg
ICAgICBzdGF0aWMgY29uc3QgYm9vbCBlbXB0eVZhbHVlSXNaZXJvID0gRmlyc3RUcmFpdHM6OmVt
cHR5VmFsdWVJc1plcm8gJiYgU2Vjb25kVHJhaXRzOjplbXB0eVZhbHVlSXNaZXJvOwotICAgICAg
ICBzdGF0aWMgRW1wdHlWYWx1ZVR5cGUgZW1wdHlWYWx1ZSgpIHsgcmV0dXJuIG1ha2VfcGFpcihG
aXJzdFRyYWl0czo6ZW1wdHlWYWx1ZSgpLCBTZWNvbmRUcmFpdHM6OmVtcHR5VmFsdWUoKSk7IH0K
KyAgICAgICAgc3RhdGljIEVtcHR5VmFsdWVUeXBlIGVtcHR5VmFsdWUoKSB7IHJldHVybiBzdGQ6
Om1ha2VfcGFpcihGaXJzdFRyYWl0czo6ZW1wdHlWYWx1ZSgpLCBTZWNvbmRUcmFpdHM6OmVtcHR5
VmFsdWUoKSk7IH0KIAogICAgICAgICBzdGF0aWMgY29uc3QgYm9vbCBuZWVkc0Rlc3RydWN0aW9u
ID0gRmlyc3RUcmFpdHM6Om5lZWRzRGVzdHJ1Y3Rpb24gfHwgU2Vjb25kVHJhaXRzOjpuZWVkc0Rl
c3RydWN0aW9uOwogCkBAIC0xODcsNyArMTg0LDcgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgfTsK
IAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEZpcnN0LCB0eXBlbmFtZSBTZWNvbmQ+Ci0gICAgc3Ry
dWN0IEhhc2hUcmFpdHM8cGFpcjxGaXJzdCwgU2Vjb25kPiA+IDogcHVibGljIFBhaXJIYXNoVHJh
aXRzPEhhc2hUcmFpdHM8Rmlyc3Q+LCBIYXNoVHJhaXRzPFNlY29uZD4gPiB7IH07CisgICAgc3Ry
dWN0IEhhc2hUcmFpdHM8c3RkOjpwYWlyPEZpcnN0LCBTZWNvbmQ+ID4gOiBwdWJsaWMgUGFpckhh
c2hUcmFpdHM8SGFzaFRyYWl0czxGaXJzdD4sIEhhc2hUcmFpdHM8U2Vjb25kPiA+IHsgfTsKIAog
fSAvLyBuYW1lc3BhY2UgV1RGCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQVhPYmplY3RDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FY
T2JqZWN0Q2FjaGUuY3BwCmluZGV4IGIwMjg4MTcwZmE3YWUwMDFmMWFkNzc4MDkzOTAwM2JhODAw
YWUzNWIuLjcxYTIyMTRlYWYxOTJkZjJhYjllMWNhODVlMzg2YWM3MDFmZjQ4N2YgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcApAQCAtNTI1LDcg
KzUyNSw3IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6cG9zdE5vdGlmaWNhdGlvbihBY2Nlc3NpYmls
aXR5T2JqZWN0KiBvYmplY3QsIERvY3VtZW50KiBkb2N1CiAgICAgICAgIHJldHVybjsKIAogICAg
IGlmIChwb3N0VHlwZSA9PSBQb3N0QXN5bmNocm9ub3VzbHkpIHsKLSAgICAgICAgbV9ub3RpZmlj
YXRpb25zVG9Qb3N0LmFwcGVuZChtYWtlX3BhaXIob2JqZWN0LCBub3RpZmljYXRpb24pKTsKKyAg
ICAgICAgbV9ub3RpZmljYXRpb25zVG9Qb3N0LmFwcGVuZChzdGQ6Om1ha2VfcGFpcihvYmplY3Qs
IG5vdGlmaWNhdGlvbikpOwogICAgICAgICBpZiAoIW1fbm90aWZpY2F0aW9uUG9zdFRpbWVyLmlz
QWN0aXZlKCkpCiAgICAgICAgICAgICBtX25vdGlmaWNhdGlvblBvc3RUaW1lci5zdGFydE9uZVNo
b3QoMCk7CiAgICAgfSBlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlh
RnJhZ21lbnRVUklQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUZyYWdtZW50
VVJJUGFyc2VyLmNwcAppbmRleCA1Yzg2NDdiZWZjMDJjN2E0YjRlMzUxMGMyNzQ0OWIxYjc4MTI1
OTU4Li45ODQyZjYwZjcwMWEwZjhjMGJhN2U1NDkxNDk1NjBlZGI5ZmRlNzkzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRnJhZ21lbnRVUklQYXJzZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFGcmFnbWVudFVSSVBhcnNlci5jcHAKQEAgLTE1MSw3ICsx
NTEsNyBAQCB2b2lkIE1lZGlhRnJhZ21lbnRVUklQYXJzZXI6OnBhcnNlRnJhZ21lbnRzKCkKICAg
ICAgICAgfQogICAgICAgICAKICAgICAgICAgaWYgKHZhbGlkVVRGOCkKLSAgICAgICAgICAgIG1f
ZnJhZ21lbnRzLmFwcGVuZChtYWtlX3BhaXIobmFtZSwgdmFsdWUpKTsKKyAgICAgICAgICAgIG1f
ZnJhZ21lbnRzLmFwcGVuZChzdGQ6Om1ha2VfcGFpcihuYW1lLCB2YWx1ZSkpOwogCiAgICAgICAg
IG9mZnNldCA9IHBhcmFtZXRlckVuZCArIDE7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9wYXJzZXIvSFRNTE1ldGFDaGFyc2V0UGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvcGFyc2VyL0hUTUxNZXRhQ2hhcnNldFBhcnNlci5jcHAKaW5kZXggOWNlYWFlOWFm
MDYwOWJmNzJiZjY5ODdjOTJhNjAwZWE2NzhiNGNkMC4uNzViMTg5MjM0MjdjOTM0OTlmNDI5Mjcy
OWVjNGU1NDFhYTdhYmExOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTE1ldGFDaGFyc2V0UGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNl
ci9IVE1MTWV0YUNoYXJzZXRQYXJzZXIuY3BwCkBAIC0xMDcsNyArMTA3LDcgQEAgYm9vbCBIVE1M
TWV0YUNoYXJzZXRQYXJzZXI6OnByb2Nlc3NNZXRhKCkKICAgICBmb3IgKEhUTUxUb2tlbjo6QXR0
cmlidXRlTGlzdDo6Y29uc3RfaXRlcmF0b3IgaXRlciA9IHRva2VuQXR0cmlidXRlcy5iZWdpbigp
OyBpdGVyICE9IHRva2VuQXR0cmlidXRlcy5lbmQoKTsgKytpdGVyKSB7CiAgICAgICAgIFN0cmlu
ZyBhdHRyaWJ1dGVOYW1lKGl0ZXItPm1fbmFtZS5kYXRhKCksIGl0ZXItPm1fbmFtZS5zaXplKCkp
OwogICAgICAgICBTdHJpbmcgYXR0cmlidXRlVmFsdWUoaXRlci0+bV92YWx1ZS5kYXRhKCksIGl0
ZXItPm1fdmFsdWUuc2l6ZSgpKTsKLSAgICAgICAgYXR0cmlidXRlcy5hcHBlbmQobWFrZV9wYWly
KGF0dHJpYnV0ZU5hbWUsIGF0dHJpYnV0ZVZhbHVlKSk7CisgICAgICAgIGF0dHJpYnV0ZXMuYXBw
ZW5kKHN0ZDo6bWFrZV9wYWlyKGF0dHJpYnV0ZU5hbWUsIGF0dHJpYnV0ZVZhbHVlKSk7CiAgICAg
fQogCiAgICAgbV9lbmNvZGluZyA9IGVuY29kaW5nRnJvbU1ldGFBdHRyaWJ1dGVzKGF0dHJpYnV0
ZXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRJbWFnZS5jcHAKaW5kZXgg
NTE5ZWM2ZDczYzUzNzYyYWZmODJiMmVmNzY1NDcyMjA2YWY4ZWJmZi4uNWY0ZTJiMTA2YTIwMjM0
MWUxYTVlNDY2OTUwN2IzZWZiNjY2MmI1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL0NhY2hlZEltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkSW1hZ2UuY3BwCkBAIC0xMzEsMTEgKzEzMSwxMSBAQCBwYWlyPEltYWdlKiwgZmxv
YXQ+IENhY2hlZEltYWdlOjpicm9rZW5JbWFnZShmbG9hdCBkZXZpY2VTY2FsZUZhY3RvcikgY29u
c3QKIHsKICAgICBpZiAoZGV2aWNlU2NhbGVGYWN0b3IgPj0gMikgewogICAgICAgICBERUZJTkVf
U1RBVElDX0xPQ0FMKEltYWdlKiwgYnJva2VuSW1hZ2VIaVJlcywgKEltYWdlOjpsb2FkUGxhdGZv
cm1SZXNvdXJjZSgibWlzc2luZ0ltYWdlQDJ4IikubGVha1JlZigpKSk7Ci0gICAgICAgIHJldHVy
biBtYWtlX3BhaXIoYnJva2VuSW1hZ2VIaVJlcywgMik7CisgICAgICAgIHJldHVybiBzdGQ6Om1h
a2VfcGFpcihicm9rZW5JbWFnZUhpUmVzLCAyKTsKICAgICB9CiAKICAgICBERUZJTkVfU1RBVElD
X0xPQ0FMKEltYWdlKiwgYnJva2VuSW1hZ2VMb1JlcywgKEltYWdlOjpsb2FkUGxhdGZvcm1SZXNv
dXJjZSgibWlzc2luZ0ltYWdlIikubGVha1JlZigpKSk7Ci0gICAgcmV0dXJuIG1ha2VfcGFpcihi
cm9rZW5JbWFnZUxvUmVzLCAxKTsKKyAgICByZXR1cm4gc3RkOjptYWtlX3BhaXIoYnJva2VuSW1h
Z2VMb1JlcywgMSk7CiB9CiAKIGJvb2wgQ2FjaGVkSW1hZ2U6OndpbGxQYWludEJyb2tlbkltYWdl
KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZVNlcmlhbGl6ZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlU2VyaWFsaXplci5jcHAKaW5kZXggMDk0MDVi
NDI0YjE5NTdkNGY1MTY5MGFlNDY3ZDg5ZTlhZDMxNWU1MS4uOWZiNWQ3ZWJlNDYxZDlhNmQzNDNk
ODFhY2RkZTQ0ZjMzYmIyNjYxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
U2VyaWFsaXplci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlU2VyaWFsaXplci5j
cHAKQEAgLTc1LDcgKzc1LDcgQEAgc3RhdGljIGJvb2wgaXNDaGFyc2V0U3BlY2lmeWluZ05vZGUo
Tm9kZSogbm9kZSkKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGVsZW1lbnQtPmF0
dHJpYnV0ZUNvdW50KCk7ICsraSkgewogICAgICAgICAgICAgQXR0cmlidXRlKiBpdGVtID0gZWxl
bWVudC0+YXR0cmlidXRlSXRlbShpKTsKICAgICAgICAgICAgIC8vIEZJWE1FOiBXZSBzaG91bGQg
ZGVhbCBhcHByb3ByaWF0ZWx5IHdpdGggdGhlIGF0dHJpYnV0ZSBpZiB0aGV5IGhhdmUgYSBuYW1l
c3BhY2UuCi0gICAgICAgICAgICBhdHRyaWJ1dGVzLmFwcGVuZChtYWtlX3BhaXIoaXRlbS0+bmFt
ZSgpLnRvU3RyaW5nKCksIGl0ZW0tPnZhbHVlKCkuc3RyaW5nKCkpKTsKKyAgICAgICAgICAgIGF0
dHJpYnV0ZXMuYXBwZW5kKHN0ZDo6bWFrZV9wYWlyKGl0ZW0tPm5hbWUoKS50b1N0cmluZygpLCBp
dGVtLT52YWx1ZSgpLnN0cmluZygpKSk7CiAgICAgICAgIH0KICAgICB9CiAgICAgVGV4dEVuY29k
aW5nIHRleHRFbmNvZGluZyA9IEhUTUxNZXRhQ2hhcnNldFBhcnNlcjo6ZW5jb2RpbmdGcm9tTWV0
YUF0dHJpYnV0ZXMoYXR0cmlidXRlcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4
dC5jcHAKaW5kZXggZDJmMTgwNzBlOGQ4MjFiNGVhNWYxOWI1MGJiOGFjODdhZDc3ZDMxOS4uNzQy
YWVhNjJjMzBhNmFmMjZiOWVkZDQ4M2RlNmYwNDIwMTNjMWVhZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJDb250ZXh0LmNwcApAQCAtNDUxLDcgKzQ1MSw3IEBAIERvd25sb2FkUHJveHkq
IFdlYkNvbnRleHQ6OmRvd25sb2FkKFdlYlBhZ2VQcm94eSogaW5pdGlhdGluZ1BhZ2UsIGNvbnN0
IFJlc291cmNlCiB2b2lkIFdlYkNvbnRleHQ6OnBvc3RNZXNzYWdlVG9JbmplY3RlZEJ1bmRsZShj
b25zdCBTdHJpbmcmIG1lc3NhZ2VOYW1lLCBBUElPYmplY3QqIG1lc3NhZ2VCb2R5KQogewogICAg
IGlmICghbV9wcm9jZXNzIHx8ICFtX3Byb2Nlc3MtPmNhblNlbmRNZXNzYWdlKCkpIHsKLSAgICAg
ICAgbV9wZW5kaW5nTWVzc2FnZXNUb1Bvc3RUb0luamVjdGVkQnVuZGxlLmFwcGVuZChtYWtlX3Bh
aXIobWVzc2FnZU5hbWUsIG1lc3NhZ2VCb2R5KSk7CisgICAgICAgIG1fcGVuZGluZ01lc3NhZ2Vz
VG9Qb3N0VG9JbmplY3RlZEJ1bmRsZS5hcHBlbmQoc3RkOjptYWtlX3BhaXIobWVzc2FnZU5hbWUs
IG1lc3NhZ2VCb2R5KSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144558</attachid>
            <date>2012-05-29 07:54:32 -0700</date>
            <delta_ts>2012-05-29 13:26:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-29919-20120529115432.patch</filename>
            <type>text/plain</type>
            <size>12095</size>
            <attacher name="Caio Marcelo de Oliveira Filho">cmarcelo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4NzY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDMxZTQxNjU1MzY3ODczYmVlMTg3MzEx
YTQ3OWEzOWNjNjRjYzE4ZWQuLjk5MGIzODI2NzY0NTY4NjE4NDNjYzcyNzBhYWJhYTMwYmY3MjU2
MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTItMDUtMjkgIENhaW8gTWFyY2VsbyBkZSBPbGl2
ZWlyYSBGaWxobyAgPGNhaW8ub2xpdmVpcmFAb3BlbmJvc3NhLm9yZz4KKworICAgICAgICBIYXNo
VGFibGUuaCBoYXMgdXNpbmcgZGlyZWN0aXZlcyBmb3Igc3RkOjpwYWlyIGFuZCBzdGQ6bWFrZV9w
YWlyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yOTkx
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92
ZSAndXNpbmcnIGRpcmVjdGl2ZXMgYW5kIHVzZSB0aGUgc3RkOjogcHJlZml4IGluc3RlYWQgdG8g
Zm9sbG93IGNvZGluZyBzdHlsZS4KKworICAgICAgICAqIHd0Zi9IYXNoVGFibGUuaDoKKyAgICAg
ICAgKFdURjo6aGFzaFRhYmxlU3dhcCk6CisgICAgICAgIChIYXNoVGFibGUpOgorICAgICAgICAq
IHd0Zi9IYXNoVHJhaXRzLmg6CisgICAgICAgIChXVEYpOgorICAgICAgICAoUGFpckhhc2hUcmFp
dHMpOgorICAgICAgICAoV1RGOjpQYWlySGFzaFRyYWl0czo6ZW1wdHlWYWx1ZSk6CisKIDIwMTIt
MDUtMjkgIFRvciBBcm5lIFZlc3Riw7ggIDx0b3IuYXJuZS52ZXN0Ym9Abm9raWEuY29tPgogCiAg
ICAgICAgIFtRdF0gUmVtb3ZlIGR1cGxpY2F0aW9uIG9mIGxvZ2ljIGZvciBkaXNhYmxpbmcgc2Vs
ZWN0ZWQgd2FybmluZ3MgcmVsYXRlZCB0byBDKysxMQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDgyYjI4ZjI5NDkw
NzQ1ZDBlM2IxZjY1ZjRmZTcwOTJhZDc4NDcxYWEuLmJlNWRiNWY3OTE3MGQxNjkzODhiMGRkZjVk
NWJkMzA5NWE1NGJlNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMi0wNS0yOSAg
Q2FpbyBNYXJjZWxvIGRlIE9saXZlaXJhIEZpbGhvICA8Y2Fpby5vbGl2ZWlyYUBvcGVuYm9zc2Eu
b3JnPgorCisgICAgICAgIEhhc2hUYWJsZS5oIGhhcyB1c2luZyBkaXJlY3RpdmVzIGZvciBzdGQ6
OnBhaXIgYW5kIHN0ZDptYWtlX3BhaXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTI5OTE5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6cG9zdE5vdGlmaWNhdGlvbik6CisgICAgICAgICog
aHRtbC9NZWRpYUZyYWdtZW50VVJJUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
RnJhZ21lbnRVUklQYXJzZXI6OnBhcnNlRnJhZ21lbnRzKToKKyAgICAgICAgKiBodG1sL3BhcnNl
ci9IVE1MTWV0YUNoYXJzZXRQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1ldGFD
aGFyc2V0UGFyc2VyOjpwcm9jZXNzTWV0YSk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hl
ZEltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZEltYWdlOjpicm9rZW5JbWFnZSk6
CisgICAgICAgICogcGFnZS9QYWdlU2VyaWFsaXplci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpp
c0NoYXJzZXRTcGVjaWZ5aW5nTm9kZSk6CisKIDIwMTItMDUtMjkgIEFsZXhhbmRlciBQYXZsb3Yg
IDxhcGF2bG92QGNocm9taXVtLm9yZz4KIAogICAgICAgICBbQ2hyb21pdW1dIFtSZWdyZXNzaW9u
XSBTRUxFQ1QgcG9wdXAgbWlzcGxhY2VkIHdoZW4gdGhlcmUgaXMgbm90IGVub3VnaCB2ZXJ0aWNh
bCBzcGFjZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCmluZGV4IDk5MmFjZDU0MDY0NmFmNGRhZjEwY2U2OTQ5ZmJiNjNlNWE2
MGFmNzEuLjQ3MGZlYjdiYWVjZWY3MTBjNzdiNjQ3MmEwMWFkYzEyZDQ1MjhjOTcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMi0wNS0yOSAgQ2FpbyBNYXJjZWxvIGRlIE9saXZlaXJh
IEZpbGhvICA8Y2Fpby5vbGl2ZWlyYUBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIEhhc2hUYWJs
ZS5oIGhhcyB1c2luZyBkaXJlY3RpdmVzIGZvciBzdGQ6OnBhaXIgYW5kIHN0ZDptYWtlX3BhaXIK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI5OTE5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nl
c3MvTGF1bmNoZXIvbWFjL0R5bmFtaWNMaW5rZXJFbnZpcm9ubWVudEV4dHJhY3Rvci5tbToKKyAg
ICAgICAgKFdlYktpdDo6RHluYW1pY0xpbmtlckVudmlyb25tZW50RXh0cmFjdG9yOjpwcm9jZXNz
RW52aXJvbm1lbnRWYXJpYWJsZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkNvbnRleHQuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJDb250ZXh0Ojpwb3N0TWVzc2FnZVRvSW5qZWN0ZWRCdW5k
bGUpOgorCiAyMDEyLTA1LTI5ICBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiAgPGtlbm5ldGhA
d2Via2l0Lm9yZz4KIAogICAgICAgICBbUXRdIE1vdmUgdGVzdHMgZnJvbSBEZXNrdG9wQmVoYXZp
b3Igd2hpY2ggY2FuIGJlIG1hZGUgdG8gd29yawpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYv
SGFzaFRhYmxlLmggYi9Tb3VyY2UvV1RGL3d0Zi9IYXNoVGFibGUuaAppbmRleCA3NjI1ZTU2ZmU1
MDkyYjUxNmY5ZmY5YWZhNTUwMTE5ZTdkNmNkNzdiLi5jY2Y2MmRjMDBiODFiNTNhYzdiM2ZkZGE4
M2U1ZDFmZDMyMTY5MDVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9IYXNoVGFibGUuaAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi9IYXNoVGFibGUuaApAQCAtMjg1LDcgKzI4NSw3IEBAIG5hbWVz
cGFjZSBXVEYgewogICAgIH0KIAogICAgIC8vIFN3YXAgcGFpcnMgYnkgY29tcG9uZW50LCBpbiBj
YXNlIG9mIHBhaXIgbWVtYmVycyB0aGF0IHNwZWNpYWxpemUgc3dhcC4KLSAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBULCB0eXBlbmFtZSBVPiBpbmxpbmUgdm9pZCBoYXNoVGFibGVTd2FwKHBhaXI8VCwg
VT4mIGEsIHBhaXI8VCwgVT4mIGIpCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUg
VT4gaW5saW5lIHZvaWQgaGFzaFRhYmxlU3dhcChzdGQ6OnBhaXI8VCwgVT4mIGEsIHN0ZDo6cGFp
cjxULCBVPiYgYikKICAgICB7CiAgICAgICAgIHN3YXAoYS5maXJzdCwgYi5maXJzdCk7CiAgICAg
ICAgIHN3YXAoYS5zZWNvbmQsIGIuc2Vjb25kKTsKQEAgLTM5Miw4ICszOTIsOCBAQCBuYW1lc3Bh
Y2UgV1RGIHsKICAgICAgICAgc3RhdGljIFZhbHVlVHlwZSogYWxsb2NhdGVUYWJsZShpbnQgc2l6
ZSk7CiAgICAgICAgIHN0YXRpYyB2b2lkIGRlYWxsb2NhdGVUYWJsZShWYWx1ZVR5cGUqIHRhYmxl
LCBpbnQgc2l6ZSk7CiAKLSAgICAgICAgdHlwZWRlZiBwYWlyPFZhbHVlVHlwZSosIGJvb2w+IExv
b2t1cFR5cGU7Ci0gICAgICAgIHR5cGVkZWYgcGFpcjxMb29rdXBUeXBlLCB1bnNpZ25lZD4gRnVs
bExvb2t1cFR5cGU7CisgICAgICAgIHR5cGVkZWYgc3RkOjpwYWlyPFZhbHVlVHlwZSosIGJvb2w+
IExvb2t1cFR5cGU7CisgICAgICAgIHR5cGVkZWYgc3RkOjpwYWlyPExvb2t1cFR5cGUsIHVuc2ln
bmVkPiBGdWxsTG9va3VwVHlwZTsKIAogICAgICAgICBMb29rdXBUeXBlIGxvb2t1cEZvcldyaXRp
bmcoY29uc3QgS2V5JiBrZXkpIHsgcmV0dXJuIGxvb2t1cEZvcldyaXRpbmc8SWRlbnRpdHlUcmFu
c2xhdG9yVHlwZT4oa2V5KTsgfTsKICAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgSGFzaFRyYW5z
bGF0b3IsIHR5cGVuYW1lIFQ+IEZ1bGxMb29rdXBUeXBlIGZ1bGxMb29rdXBGb3JXcml0aW5nKGNv
bnN0IFQmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0hhc2hUcmFpdHMuaCBiL1NvdXJj
ZS9XVEYvd3RmL0hhc2hUcmFpdHMuaAppbmRleCBmZGYxYWI5NDFmNmQyOWI1YzI3NWJhZjNlNmI4
MDdjZDUwNjQzZGZjLi4yMWZmZGJiNDVlNThlYjk2Y2RkN2I4YWEwNWUxMmUxNWY0NTBiMWZkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9IYXNoVHJhaXRzLmgKKysrIGIvU291cmNlL1dURi93
dGYvSGFzaFRyYWl0cy5oCkBAIC0zNCw5ICszNCw2IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHRl
bXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIE93blB0cjsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBU
PiBjbGFzcyBQYXNzT3duUHRyOwogCi0gICAgdXNpbmcgc3RkOjpwYWlyOwotICAgIHVzaW5nIHN0
ZDo6bWFrZV9wYWlyOwotCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IEhhc2hUcmFp
dHM7CiAKICAgICB0ZW1wbGF0ZTxib29sIGlzSW50ZWdlciwgdHlwZW5hbWUgVD4gc3RydWN0IEdl
bmVyaWNIYXNoVHJhaXRzQmFzZTsKQEAgLTE2OSwxNCArMTY2LDE0IEBAIG5hbWVzcGFjZSBXVEYg
ewogICAgIC8vIHNwZWNpYWwgdHJhaXRzIGZvciBwYWlycywgaGVscGZ1bCBmb3IgdGhlaXIgdXNl
IGluIEhhc2hNYXAgaW1wbGVtZW50YXRpb24KIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEZpcnN0
VHJhaXRzQXJnLCB0eXBlbmFtZSBTZWNvbmRUcmFpdHNBcmc+Ci0gICAgc3RydWN0IFBhaXJIYXNo
VHJhaXRzIDogR2VuZXJpY0hhc2hUcmFpdHM8cGFpcjx0eXBlbmFtZSBGaXJzdFRyYWl0c0FyZzo6
VHJhaXRUeXBlLCB0eXBlbmFtZSBTZWNvbmRUcmFpdHNBcmc6OlRyYWl0VHlwZT4gPiB7CisgICAg
c3RydWN0IFBhaXJIYXNoVHJhaXRzIDogR2VuZXJpY0hhc2hUcmFpdHM8c3RkOjpwYWlyPHR5cGVu
YW1lIEZpcnN0VHJhaXRzQXJnOjpUcmFpdFR5cGUsIHR5cGVuYW1lIFNlY29uZFRyYWl0c0FyZzo6
VHJhaXRUeXBlPiA+IHsKICAgICAgICAgdHlwZWRlZiBGaXJzdFRyYWl0c0FyZyBGaXJzdFRyYWl0
czsKICAgICAgICAgdHlwZWRlZiBTZWNvbmRUcmFpdHNBcmcgU2Vjb25kVHJhaXRzOwotICAgICAg
ICB0eXBlZGVmIHBhaXI8dHlwZW5hbWUgRmlyc3RUcmFpdHM6OlRyYWl0VHlwZSwgdHlwZW5hbWUg
U2Vjb25kVHJhaXRzOjpUcmFpdFR5cGU+IFRyYWl0VHlwZTsKLSAgICAgICAgdHlwZWRlZiBwYWly
PHR5cGVuYW1lIEZpcnN0VHJhaXRzOjpFbXB0eVZhbHVlVHlwZSwgdHlwZW5hbWUgU2Vjb25kVHJh
aXRzOjpFbXB0eVZhbHVlVHlwZT4gRW1wdHlWYWx1ZVR5cGU7CisgICAgICAgIHR5cGVkZWYgc3Rk
OjpwYWlyPHR5cGVuYW1lIEZpcnN0VHJhaXRzOjpUcmFpdFR5cGUsIHR5cGVuYW1lIFNlY29uZFRy
YWl0czo6VHJhaXRUeXBlPiBUcmFpdFR5cGU7CisgICAgICAgIHR5cGVkZWYgc3RkOjpwYWlyPHR5
cGVuYW1lIEZpcnN0VHJhaXRzOjpFbXB0eVZhbHVlVHlwZSwgdHlwZW5hbWUgU2Vjb25kVHJhaXRz
OjpFbXB0eVZhbHVlVHlwZT4gRW1wdHlWYWx1ZVR5cGU7CiAKICAgICAgICAgc3RhdGljIGNvbnN0
IGJvb2wgZW1wdHlWYWx1ZUlzWmVybyA9IEZpcnN0VHJhaXRzOjplbXB0eVZhbHVlSXNaZXJvICYm
IFNlY29uZFRyYWl0czo6ZW1wdHlWYWx1ZUlzWmVybzsKLSAgICAgICAgc3RhdGljIEVtcHR5VmFs
dWVUeXBlIGVtcHR5VmFsdWUoKSB7IHJldHVybiBtYWtlX3BhaXIoRmlyc3RUcmFpdHM6OmVtcHR5
VmFsdWUoKSwgU2Vjb25kVHJhaXRzOjplbXB0eVZhbHVlKCkpOyB9CisgICAgICAgIHN0YXRpYyBF
bXB0eVZhbHVlVHlwZSBlbXB0eVZhbHVlKCkgeyByZXR1cm4gc3RkOjptYWtlX3BhaXIoRmlyc3RU
cmFpdHM6OmVtcHR5VmFsdWUoKSwgU2Vjb25kVHJhaXRzOjplbXB0eVZhbHVlKCkpOyB9CiAKICAg
ICAgICAgc3RhdGljIGNvbnN0IGJvb2wgbmVlZHNEZXN0cnVjdGlvbiA9IEZpcnN0VHJhaXRzOjpu
ZWVkc0Rlc3RydWN0aW9uIHx8IFNlY29uZFRyYWl0czo6bmVlZHNEZXN0cnVjdGlvbjsKIApAQCAt
MTg3LDcgKzE4NCw3IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIH07CiAKICAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBGaXJzdCwgdHlwZW5hbWUgU2Vjb25kPgotICAgIHN0cnVjdCBIYXNoVHJhaXRzPHBh
aXI8Rmlyc3QsIFNlY29uZD4gPiA6IHB1YmxpYyBQYWlySGFzaFRyYWl0czxIYXNoVHJhaXRzPEZp
cnN0PiwgSGFzaFRyYWl0czxTZWNvbmQ+ID4geyB9OworICAgIHN0cnVjdCBIYXNoVHJhaXRzPHN0
ZDo6cGFpcjxGaXJzdCwgU2Vjb25kPiA+IDogcHVibGljIFBhaXJIYXNoVHJhaXRzPEhhc2hUcmFp
dHM8Rmlyc3Q+LCBIYXNoVHJhaXRzPFNlY29uZD4gPiB7IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdU
RgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2Fj
aGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcApp
bmRleCBiMDI4ODE3MGZhN2FlMDAxZjFhZDc3ODA5MzkwMDNiYTgwMGFlMzViLi43MWEyMjE0ZWFm
MTkyZGYyYWI5ZTFjYTg1ZTM4NmFjNzAxZmY0ODdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKQEAgLTUyNSw3ICs1MjUsNyBAQCB2b2lkIEFY
T2JqZWN0Q2FjaGU6OnBvc3ROb3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0
LCBEb2N1bWVudCogZG9jdQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAocG9zdFR5cGUgPT0g
UG9zdEFzeW5jaHJvbm91c2x5KSB7Ci0gICAgICAgIG1fbm90aWZpY2F0aW9uc1RvUG9zdC5hcHBl
bmQobWFrZV9wYWlyKG9iamVjdCwgbm90aWZpY2F0aW9uKSk7CisgICAgICAgIG1fbm90aWZpY2F0
aW9uc1RvUG9zdC5hcHBlbmQoc3RkOjptYWtlX3BhaXIob2JqZWN0LCBub3RpZmljYXRpb24pKTsK
ICAgICAgICAgaWYgKCFtX25vdGlmaWNhdGlvblBvc3RUaW1lci5pc0FjdGl2ZSgpKQogICAgICAg
ICAgICAgbV9ub3RpZmljYXRpb25Qb3N0VGltZXIuc3RhcnRPbmVTaG90KDApOwogICAgIH0gZWxz
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUZyYWdtZW50VVJJUGFyc2Vy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFGcmFnbWVudFVSSVBhcnNlci5jcHAKaW5k
ZXggNWM4NjQ3YmVmYzAyYzdhNGI0ZTM1MTBjMjc0NDliMWI3ODEyNTk1OC4uOTg0MmY2MGY3MDFh
MGY4YzBiYTdlNTQ5MTQ5NTYwZWRiOWZkZTc5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9NZWRpYUZyYWdtZW50VVJJUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L01lZGlhRnJhZ21lbnRVUklQYXJzZXIuY3BwCkBAIC0xNTEsNyArMTUxLDcgQEAgdm9pZCBNZWRp
YUZyYWdtZW50VVJJUGFyc2VyOjpwYXJzZUZyYWdtZW50cygpCiAgICAgICAgIH0KICAgICAgICAg
CiAgICAgICAgIGlmICh2YWxpZFVURjgpCi0gICAgICAgICAgICBtX2ZyYWdtZW50cy5hcHBlbmQo
bWFrZV9wYWlyKG5hbWUsIHZhbHVlKSk7CisgICAgICAgICAgICBtX2ZyYWdtZW50cy5hcHBlbmQo
c3RkOjptYWtlX3BhaXIobmFtZSwgdmFsdWUpKTsKIAogICAgICAgICBvZmZzZXQgPSBwYXJhbWV0
ZXJFbmQgKyAxOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxNZXRhQ2hhcnNldFBhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MTWV0YUNoYXJzZXRQYXJzZXIuY3BwCmluZGV4IDljZWFhZTlhZjA2MDliZjcyYmY2OTg3Yzky
YTYwMGVhNjc4YjRjZDAuLjc1YjE4OTIzNDI3YzkzNDk5ZjQyOTI3MjllYzRlNTQxYWE3YWJhMTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxNZXRhQ2hhcnNldFBh
cnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTE1ldGFDaGFyc2V0
UGFyc2VyLmNwcApAQCAtMTA3LDcgKzEwNyw3IEBAIGJvb2wgSFRNTE1ldGFDaGFyc2V0UGFyc2Vy
Ojpwcm9jZXNzTWV0YSgpCiAgICAgZm9yIChIVE1MVG9rZW46OkF0dHJpYnV0ZUxpc3Q6OmNvbnN0
X2l0ZXJhdG9yIGl0ZXIgPSB0b2tlbkF0dHJpYnV0ZXMuYmVnaW4oKTsgaXRlciAhPSB0b2tlbkF0
dHJpYnV0ZXMuZW5kKCk7ICsraXRlcikgewogICAgICAgICBTdHJpbmcgYXR0cmlidXRlTmFtZShp
dGVyLT5tX25hbWUuZGF0YSgpLCBpdGVyLT5tX25hbWUuc2l6ZSgpKTsKICAgICAgICAgU3RyaW5n
IGF0dHJpYnV0ZVZhbHVlKGl0ZXItPm1fdmFsdWUuZGF0YSgpLCBpdGVyLT5tX3ZhbHVlLnNpemUo
KSk7Ci0gICAgICAgIGF0dHJpYnV0ZXMuYXBwZW5kKG1ha2VfcGFpcihhdHRyaWJ1dGVOYW1lLCBh
dHRyaWJ1dGVWYWx1ZSkpOworICAgICAgICBhdHRyaWJ1dGVzLmFwcGVuZChzdGQ6Om1ha2VfcGFp
cihhdHRyaWJ1dGVOYW1lLCBhdHRyaWJ1dGVWYWx1ZSkpOwogICAgIH0KIAogICAgIG1fZW5jb2Rp
bmcgPSBlbmNvZGluZ0Zyb21NZXRhQXR0cmlidXRlcyhhdHRyaWJ1dGVzKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRJbWFnZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuY3BwCmluZGV4IDUxOWVjNmQ3M2M1Mzc2MmFm
ZjgyYjJlZjc2NTQ3MjIwNmFmOGViZmYuLjVmNGUyYjEwNmEyMDIzNDFlMWE1ZTQ2Njk1MDdiM2Vm
YjY2NjJiNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRJ
bWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdlLmNw
cApAQCAtMTMxLDExICsxMzEsMTEgQEAgcGFpcjxJbWFnZSosIGZsb2F0PiBDYWNoZWRJbWFnZTo6
YnJva2VuSW1hZ2UoZmxvYXQgZGV2aWNlU2NhbGVGYWN0b3IpIGNvbnN0CiB7CiAgICAgaWYgKGRl
dmljZVNjYWxlRmFjdG9yID49IDIpIHsKICAgICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChJbWFn
ZSosIGJyb2tlbkltYWdlSGlSZXMsIChJbWFnZTo6bG9hZFBsYXRmb3JtUmVzb3VyY2UoIm1pc3Np
bmdJbWFnZUAyeCIpLmxlYWtSZWYoKSkpOwotICAgICAgICByZXR1cm4gbWFrZV9wYWlyKGJyb2tl
bkltYWdlSGlSZXMsIDIpOworICAgICAgICByZXR1cm4gc3RkOjptYWtlX3BhaXIoYnJva2VuSW1h
Z2VIaVJlcywgMik7CiAgICAgfQogCiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChJbWFnZSosIGJy
b2tlbkltYWdlTG9SZXMsIChJbWFnZTo6bG9hZFBsYXRmb3JtUmVzb3VyY2UoIm1pc3NpbmdJbWFn
ZSIpLmxlYWtSZWYoKSkpOwotICAgIHJldHVybiBtYWtlX3BhaXIoYnJva2VuSW1hZ2VMb1Jlcywg
MSk7CisgICAgcmV0dXJuIHN0ZDo6bWFrZV9wYWlyKGJyb2tlbkltYWdlTG9SZXMsIDEpOwogfQog
CiBib29sIENhY2hlZEltYWdlOjp3aWxsUGFpbnRCcm9rZW5JbWFnZSgpIGNvbnN0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VTZXJpYWxpemVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZVNlcmlhbGl6ZXIuY3BwCmluZGV4IDA5NDA1YjQyNGIxOTU3ZDRmNTE2OTBh
ZTQ2N2Q4OWU5YWQzMTVlNTEuLjlmYjVkN2ViZTQ2MWQ5YTZkMzQzZDgxYWNkZGU0NGYzM2JiMjY2
MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZVNlcmlhbGl6ZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZVNlcmlhbGl6ZXIuY3BwCkBAIC03NSw3ICs3NSw3
IEBAIHN0YXRpYyBib29sIGlzQ2hhcnNldFNwZWNpZnlpbmdOb2RlKE5vZGUqIG5vZGUpCiAgICAg
ICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBlbGVtZW50LT5hdHRyaWJ1dGVDb3VudCgpOyAr
K2kpIHsKICAgICAgICAgICAgIEF0dHJpYnV0ZSogaXRlbSA9IGVsZW1lbnQtPmF0dHJpYnV0ZUl0
ZW0oaSk7CiAgICAgICAgICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGRlYWwgYXBwcm9wcmlhdGVs
eSB3aXRoIHRoZSBhdHRyaWJ1dGUgaWYgdGhleSBoYXZlIGEgbmFtZXNwYWNlLgotICAgICAgICAg
ICAgYXR0cmlidXRlcy5hcHBlbmQobWFrZV9wYWlyKGl0ZW0tPm5hbWUoKS50b1N0cmluZygpLCBp
dGVtLT52YWx1ZSgpLnN0cmluZygpKSk7CisgICAgICAgICAgICBhdHRyaWJ1dGVzLmFwcGVuZChz
dGQ6Om1ha2VfcGFpcihpdGVtLT5uYW1lKCkudG9TdHJpbmcoKSwgaXRlbS0+dmFsdWUoKS5zdHJp
bmcoKSkpOwogICAgICAgICB9CiAgICAgfQogICAgIFRleHRFbmNvZGluZyB0ZXh0RW5jb2Rpbmcg
PSBIVE1MTWV0YUNoYXJzZXRQYXJzZXI6OmVuY29kaW5nRnJvbU1ldGFBdHRyaWJ1dGVzKGF0dHJp
YnV0ZXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL21h
Yy9EeW5hbWljTGlua2VyRW52aXJvbm1lbnRFeHRyYWN0b3IubW0gYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvTGF1bmNoZXIvbWFjL0R5bmFtaWNMaW5rZXJFbnZpcm9ubWVudEV4dHJhY3Rvci5t
bQppbmRleCA3MGRjY2M1OGE2ODljM2RmMzVkYjVjZDhiMzAyYTUzMmNmZTZhNTlkLi5iZmMyNzBj
Njk3NDBkZWY3M2NlNmYwOWY1N2VkZGYzNWU1ZDJhYzU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvbWFjL0R5bmFtaWNMaW5rZXJFbnZpcm9ubWVudEV4dHJh
Y3Rvci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvbWFjL0R5bmFt
aWNMaW5rZXJFbnZpcm9ubWVudEV4dHJhY3Rvci5tbQpAQCAtODgsNyArODgsNyBAQCB2b2lkIER5
bmFtaWNMaW5rZXJFbnZpcm9ubWVudEV4dHJhY3Rvcjo6cHJvY2Vzc0Vudmlyb25tZW50VmFyaWFi
bGUoY29uc3QgY2hhciogZQogICAgICAgICByZXR1cm47CiAKICAgICBDU3RyaW5nIHZhbHVlKGVx
dWFsc0xvY2F0aW9uICsgMSk7Ci0gICAgbV9leHRyYWN0ZWRWYXJpYWJsZXMuYXBwZW5kKG1ha2Vf
cGFpcihuYW1lLmxhdGluMSgpLCB2YWx1ZSkpOworICAgIG1fZXh0cmFjdGVkVmFyaWFibGVzLmFw
cGVuZChzdGQ6Om1ha2VfcGFpcihuYW1lLmxhdGluMSgpLCB2YWx1ZSkpOwogfQogCiBzaXplX3Qg
RHluYW1pY0xpbmtlckVudmlyb25tZW50RXh0cmFjdG9yOjpwcm9jZXNzTG9hZENvbW1hbmQoY29u
c3Qgdm9pZCogZGF0YSwgc2l6ZV90IGxlbmd0aCwgYm9vbCBzaG91bGRCeXRlU3dhcCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcAppbmRleCBkMmYxODA3MGU4ZDgyMWI0ZWE1
ZjE5YjUwYmI4YWM4N2FkNzdkMzE5Li43NDJhZWE2MmMzMGE2YWYyNmI5ZWRkNDgzZGU2ZjA0MjAx
M2MxZWFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwCkBAIC00NTEs
NyArNDUxLDcgQEAgRG93bmxvYWRQcm94eSogV2ViQ29udGV4dDo6ZG93bmxvYWQoV2ViUGFnZVBy
b3h5KiBpbml0aWF0aW5nUGFnZSwgY29uc3QgUmVzb3VyY2UKIHZvaWQgV2ViQ29udGV4dDo6cG9z
dE1lc3NhZ2VUb0luamVjdGVkQnVuZGxlKGNvbnN0IFN0cmluZyYgbWVzc2FnZU5hbWUsIEFQSU9i
amVjdCogbWVzc2FnZUJvZHkpCiB7CiAgICAgaWYgKCFtX3Byb2Nlc3MgfHwgIW1fcHJvY2Vzcy0+
Y2FuU2VuZE1lc3NhZ2UoKSkgewotICAgICAgICBtX3BlbmRpbmdNZXNzYWdlc1RvUG9zdFRvSW5q
ZWN0ZWRCdW5kbGUuYXBwZW5kKG1ha2VfcGFpcihtZXNzYWdlTmFtZSwgbWVzc2FnZUJvZHkpKTsK
KyAgICAgICAgbV9wZW5kaW5nTWVzc2FnZXNUb1Bvc3RUb0luamVjdGVkQnVuZGxlLmFwcGVuZChz
dGQ6Om1ha2VfcGFpcihtZXNzYWdlTmFtZSwgbWVzc2FnZUJvZHkpKTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIAo=
</data>
<flag name="review"
          id="151429"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>