<?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>144954</bug_id>
          
          <creation_ts>2015-05-13 10:37:05 -0700</creation_ts>
          <short_desc>Small refactoring before ES6 Arrow function implementation</short_desc>
          <delta_ts>2015-05-14 13:40: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>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>144974</dependson>
          <blocked>140855</blocked>
    
    <blocked>144955</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="GSkachkov">gskachkov</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>basile_clement</cc>
    
    <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>rniwa</cc>
    
    <cc>saam</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1094484</commentid>
    <comment_count>0</comment_count>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-05-13 10:37:05 -0700</bug_when>
    <thetext>It is necessary make small refactoring of parser/Parser.cpp before arrow function implementation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094495</commentid>
    <comment_count>1</comment_count>
      <attachid>253037</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-05-13 11:11:11 -0700</bug_when>
    <thetext>Created attachment 253037
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094542</commentid>
    <comment_count>2</comment_count>
      <attachid>253037</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-05-13 12:38:34 -0700</bug_when>
    <thetext>Comment on attachment 253037
Patch

Small refactoring. Landing of this page allow to move to the base implemention of the arrow function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094562</commentid>
    <comment_count>3</comment_count>
      <attachid>253037</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-05-13 13:31:31 -0700</bug_when>
    <thetext>Comment on attachment 253037
Patch

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

&gt; Source/JavaScriptCore/ChangeLog:2
&gt; +        Small refactoring of the parcer.cpp file. It is necessary to increase readability of the patch

Add a blank line here.

&gt; Source/JavaScriptCore/parser/Parser.cpp:1333
&gt; -
&gt; +    

Revert.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094565</commentid>
    <comment_count>4</comment_count>
      <attachid>253037</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-13 13:33:49 -0700</bug_when>
    <thetext>Comment on attachment 253037
Patch

Rejecting attachment 253037 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.appspot.com&apos;, &apos;--bot-id=webkit-cq-03&apos;, &apos;validate-changelog&apos;, &apos;--check-oops&apos;, &apos;--non-interactive&apos;, 253037, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

/Volumes/Data/EWS/WebKit/Source/JavaScriptCore/ChangeLog neither lists a valid reviewer nor contains the string &quot;Unreviewed&quot; or &quot;Rubber stamp&quot; (case insensitive).

Full output: http://webkit-queues.appspot.com/results/4708680951922688</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094579</commentid>
    <comment_count>5</comment_count>
      <attachid>253058</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-05-13 14:01:33 -0700</bug_when>
    <thetext>Created attachment 253058
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094583</commentid>
    <comment_count>6</comment_count>
      <attachid>253059</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-05-13 14:09:47 -0700</bug_when>
    <thetext>Created attachment 253059
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094611</commentid>
    <comment_count>7</comment_count>
      <attachid>253059</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-13 15:25:19 -0700</bug_when>
    <thetext>Comment on attachment 253059
Patch

Clearing flags on attachment: 253059

Committed r184313: &lt;http://trac.webkit.org/changeset/184313&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094612</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-13 15:25:23 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094635</commentid>
    <comment_count>9</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-05-13 16:25:50 -0700</bug_when>
    <thetext>Looks like this patch introduced a crash on 32-bit builds:
https://build.webkit.org/builders/Apple%20Yosemite%2032-bit%20JSC%20%28BuildAndTest%29/builds/3967/steps/webkit-32bit-jsc-test/logs/stdio
https://build.webkit.org/builders/Apple%20Mavericks%2032-bit%20JSC%20%28BuildAndTest%29/builds/10038/steps/webkit-32bit-jsc-test/logs/stdio

jsc-layout-tests.yaml/js/script-tests/object-literal-syntax.js.layout: PASS ({get a([x]){}}) threw exception SyntaxError: Unexpected token &apos;[&apos;. getter functions must have no parameters..
jsc-layout-tests.yaml/js/script-tests/object-literal-syntax.js.layout: ASSERTION FAILED: !hasError()
jsc-layout-tests.yaml/js/script-tests/object-literal-syntax.js.layout: /Volumes/Data/slave/yosemite-32bitJSC-debug/build/Source/JavaScriptCore/parser/Parser.h(823) : JSC::Parser::SavePoint JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::createSavePoint() [LexerType = JSC::Lexer&lt;unsigned char&gt;]
jsc-layout-tests.yaml/js/script-tests/object-literal-syntax.js.layout: 1   0xb1619d WTFCrash
jsc-layout-tests.yaml/js/script-tests/object-literal-syntax.js.layout: 2   0x8f7bf2 JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::createSavePoint()
jsc-layout-tests.yaml/js/script-tests/object-literal-syntax.js.layout: 3   0x9853b1 JSC::SyntaxChecker::SourceElements JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::parseSourceElements&lt;JSC::SyntaxChecker&gt;(JSC::SyntaxChecker&amp;, JSC::SourceElementsMode)
jsc-layout-tests.yaml/js/script-tests/object-literal-syntax.js.layout: 4   0x984cad JSC::ASTBuilder::FunctionBody JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::parseFunctionBody&lt;JSC::ASTBuilder&gt;(JSC::ASTBuilder&amp;, int, int, int, JSC::ConstructorKind)
jsc-layout-tests.yaml/js/script-tests/object-literal-syntax.js.layout: 5   0x979b8f bool JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::parseFunctionInfo&lt;JSC::ASTBuilder&gt;(JSC::ASTBuilder&amp;, JSC::FunctionRequirements, JSC::FunctionParseMode, bool, JSC::ConstructorKind, JSC::SuperBinding, int, JSC::ParserFunctionInfo&lt;JSC::ASTBuilder&gt;&amp;)
jsc-layout-tests.yaml/js/script-tests/object-literal-syntax.js.layout: 6   0x982077 JSC::ASTBuilder::Property JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::parseGetterSetter&lt;JSC::ASTBuilder&gt;(JSC::ASTBuilder&amp;, bool, JSC::PropertyNode::Type, unsigned int, JSC::ConstructorKind, JSC::SuperBinding)
jsc-layout-tests.yaml/js/script-tests/object-literal-syntax.js.layout: 7   0x980834 JSC::ASTBuilder::Property JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::parseProperty&lt;JSC::ASTBuilder&gt;(JSC::ASTBuilder&amp;, bool)
jsc-layout-tests.yaml/js/script-tests/object-literal-syntax.js.layout: 8   0x97d562 JSC::ASTBuilder::Expression JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::parseObjectLiteral&lt;JSC::ASTBuilder&gt;(JSC::ASTBuilder&amp;)
jsc-layout-tests.yaml/js/script-tests/object-literal-syntax.js.layout: 9   0x976d8f JSC::ASTBuilder::Expression JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::parsePrimaryExpression&lt;JSC::ASTBuilder&gt;(JSC::ASTBuilder&amp;)
jsc-layout-tests.yaml/js/script-tests/object-literal-syntax.js.layout: 10  0x975400 JSC::ASTBuilder::Expression JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::parseMemberExpression&lt;JSC::ASTBuilder&gt;(JSC::ASTBuilder&amp;)
jsc-layout-tests.yaml/js/script-tests/object-literal-syntax.js.layout: 11  0x9740fe JSC::ASTBuilder::Expression JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::parseUnaryExpression&lt;JSC::ASTBuilder&gt;(JSC::ASTBuilder&amp;)
jsc-layout-tests.yaml/js/script-tests/object-literal-syntax.js.layout: 12  0x9731eb JSC::ASTBuilder::Expression JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::parseBinaryExpression&lt;JSC::ASTBuilder&gt;(JSC::ASTBuilder&amp;)
jsc-layout-tests.yaml/js/script-tests/object-literal-syntax.js.layout: 13  0x9726df JSC::ASTBuilder::Expression JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::parseConditionalExpression&lt;JSC::ASTBuilder&gt;(JSC::ASTBuilder&amp;)
jsc-layout-tests.yaml/js/script-tests/object-literal-syntax.js.layout: 14  0x971acb JSC::ASTBuilder::Expression JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::parseAssignmentExpression&lt;JSC::ASTBuilder&gt;(JSC::ASTBuilder&amp;)
jsc-layout-tests.yaml/js/script-tests/object-literal-syntax.js.layout: 15  0x97109d JSC::ASTBuilder::Expression JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::parseExpression&lt;JSC::ASTBuilder&gt;(JSC::ASTBuilder&amp;)
jsc-layout-tests.yaml/js/script-tests/object-literal-syntax.js.layout: 16  0x976df0 JSC::ASTBuilder::Expression JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::parsePrimaryExpression&lt;JSC::ASTBuilder&gt;(JSC::ASTBuilder&amp;)
jsc-layout-tests.yaml/js/script-tests/object-literal-syntax.js.layout: 17  0x975400 JSC::ASTBuilder::Expression JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::parseMemberExpression&lt;JSC::ASTBuilder&gt;(JSC::ASTBuilder&amp;)
jsc-layout-tests.yaml/js/script-tests/object-literal-syntax.js.layout: 18  0x9740fe JSC::ASTBuilder::Expression JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::parseUnaryExpression&lt;JSC::ASTBuilder&gt;(JSC::ASTBuilder&amp;)
jsc-layout-tests.yaml/js/script-tests/object-literal-syntax.js.layout: 19  0x9731eb JSC::ASTBuilder::Expression JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::parseBinaryExpression&lt;JSC::ASTBuilder&gt;(JSC::ASTBuilder&amp;)
jsc-layout-tests.yaml/js/script-tests/object-literal-syntax.js.layout: 20  0x9726df JSC::ASTBuilder::Expression JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::parseConditionalExpression&lt;JSC::ASTBuilder&gt;(JSC::ASTBuilder&amp;)
jsc-layout-tests.yaml/js/script-tests/object-literal-syntax.js.layout: 21  0x971acb JSC::ASTBuilder::Expression JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::parseAssignmentExpression&lt;JSC::ASTBuilder&gt;(JSC::ASTBuilder&amp;)
jsc-layout-tests.yaml/js/script-tests/object-literal-syntax.js.layout: 22  0x97109d JSC::ASTBuilder::Expression JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::parseExpression&lt;JSC::ASTBuilder&gt;(JSC::ASTBuilder&amp;)
jsc-layout-tests.yaml/js/script-tests/object-literal-syntax.js.layout: 23  0x970da7 JSC::ASTBuilder::Statement JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::parseExpressionStatement&lt;JSC::ASTBuilder&gt;(JSC::ASTBuilder&amp;)
jsc-layout-tests.yaml/js/script-tests/object-literal-syntax.js.layout: 24  0x965fe9 JSC::ASTBuilder::Statement JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::parseStatement&lt;JSC::ASTBuilder&gt;(JSC::ASTBuilder&amp;, JSC::Identifier const*&amp;, unsigned int*)
jsc-layout-tests.yaml/js/script-tests/object-literal-syntax.js.layout: 25  0x8f47a8 JSC::ASTBuilder::SourceElements JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::parseSourceElements&lt;JSC::ASTBuilder&gt;(JSC::ASTBuilder&amp;, JSC::SourceElementsMode)
jsc-layout-tests.yaml/js/script-tests/object-literal-syntax.js.layout: 26  0x8f3f0e JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::parseInner()
jsc-layout-tests.yaml/js/script-tests/object-literal-syntax.js.layout: 27  0x1dce9c std::__1::unique_ptr&lt;JSC::EvalNode, std::__1::default_delete&lt;JSC::EvalNode&gt; &gt; JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::parse&lt;JSC::EvalNode&gt;(JSC::ParserError&amp;)
jsc-layout-tests.yaml/js/script-tests/object-literal-syntax.js.layout: 28  0x1dbdda std::__1::unique_ptr&lt;JSC::EvalNode, std::__1::default_delete&lt;JSC::EvalNode&gt; &gt; JSC::parse&lt;JSC::EvalNode&gt;(JSC::VM*, JSC::SourceCode const&amp;, JSC::FunctionParameters*, JSC::Identifier const&amp;, JSC::JSParserBuiltinMode, JSC::JSParserStrictMode, JSC::JSParserCodeType, JSC::ParserError&amp;, JSC::JSTextPosition*, JSC::ConstructorKind, JSC::ThisTDZMode)
jsc-layout-tests.yaml/js/script-tests/object-literal-syntax.js.layout: 29  0x1dab4c JSC::UnlinkedEvalCodeBlock* JSC::CodeCache::getGlobalCodeBlock&lt;JSC::UnlinkedEvalCodeBlock, JSC::EvalExecutable&gt;(JSC::VM&amp;, JSC::EvalExecutable*, JSC::SourceCode const&amp;, JSC::JSParserBuiltinMode, JSC::JSParserStrictMode, JSC::ThisTDZMode, JSC::DebuggerMode, JSC::ProfilerMode, JSC::ParserError&amp;)
jsc-layout-tests.yaml/js/script-tests/object-literal-syntax.js.layout: 30  0x1d918f JSC::CodeCache::getEvalCodeBlock(JSC::VM&amp;, JSC::EvalExecutable*, JSC::SourceCode const&amp;, JSC::JSParserBuiltinMode, JSC::JSParserStrictMode, JSC::ThisTDZMode, JSC::DebuggerMode, JSC::ProfilerMode, JSC::ParserError&amp;)
jsc-layout-tests.yaml/js/script-tests/object-literal-syntax.js.layout: 31  0x76d821 JSC::JSGlobalObject::createEvalCodeBlock(JSC::ExecState*, JSC::EvalExecutable*, JSC::ThisTDZMode)
jsc-layout-tests.yaml/js/script-tests/object-literal-syntax.js.layout: test_script_18968: line 2:  4296 Segmentation fault: 11  &quot;$@&quot; ../../../../.vm/JavaScriptCore.framework/Resources/jsc --useFTLJIT\=false --enableFunctionDotArguments\=true resources/standalone-pre.js object-literal-syntax.js resources/standalone-post.js
jsc-layout-tests.yaml/js/script-tests/object-literal-syntax.js.layout: ERROR: Unexpected exit code: 139
FAIL: jsc-layout-tests.yaml/js/script-tests/object-literal-syntax.js.layout</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094637</commentid>
    <comment_count>10</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-05-13 16:29:16 -0700</bug_when>
    <thetext>Actually, it&apos;s nothing to do with 32-bit-ness. It&apos;s an assertion failure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094640</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-13 16:30:41 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 144974</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094649</commentid>
    <comment_count>12</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-05-13 16:48:20 -0700</bug_when>
    <thetext>More crash traces:
https://build.webkit.org/results/Apple%20Yosemite%20Debug%20WK2%20(Tests)/r184313%20(4304)/results.html
https://build.webkit.org/results/Apple%20Yosemite%20Debug%20WK1%20(Tests)/r184313%20(4641)/results.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094651</commentid>
    <comment_count>13</comment_count>
      <attachid>253059</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2015-05-13 16:52:14 -0700</bug_when>
    <thetext>Comment on attachment 253059
Patch

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

&gt; Source/JavaScriptCore/parser/Parser.cpp:1314
&gt;  {

It&apos;s also weird that we we&apos;re returning bools and ints from this function.
I think there is probably some case that isn&apos;t being thought through.

&gt; Source/JavaScriptCore/parser/Parser.cpp:1363
&gt; +    int parametersStart = parseFunctionParamters(context, requirements, mode, nameIsInContainingScope, functionScope, info);

You might need to propagate errors here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094797</commentid>
    <comment_count>14</comment_count>
      <attachid>253119</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-05-14 07:52:45 -0700</bug_when>
    <thetext>Created attachment 253119
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094798</commentid>
    <comment_count>15</comment_count>
      <attachid>253059</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-05-14 08:06:32 -0700</bug_when>
    <thetext>Comment on attachment 253059
Patch

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

&gt;&gt; Source/JavaScriptCore/parser/Parser.cpp:1314
&gt;&gt;  {
&gt; 
&gt; It&apos;s also weird that we we&apos;re returning bools and ints from this function.
&gt; I think there is probably some case that isn&apos;t being thought through.

I&apos;m quite new in webkit, so I tried to follow exist examples. Could you please suggest what I should change in this function?

&gt;&gt; Source/JavaScriptCore/parser/Parser.cpp:1363
&gt;&gt; +    int parametersStart = parseFunctionParamters(context, requirements, mode, nameIsInContainingScope, functionScope, info);
&gt; 
&gt; You might need to propagate errors here.

Done in new patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094799</commentid>
    <comment_count>16</comment_count>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-05-14 08:09:41 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Actually, it&apos;s nothing to do with 32-bit-ness. It&apos;s an assertion failure.

I see, my fault. I always run tests in release mode, because in debug mode it is run so slowly on my Laptop.  
Will check in debug mode also before load patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094890</commentid>
    <comment_count>17</comment_count>
      <attachid>253119</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-14 13:40:11 -0700</bug_when>
    <thetext>Comment on attachment 253119
Patch

Clearing flags on attachment: 253119

Committed r184349: &lt;http://trac.webkit.org/changeset/184349&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094891</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-14 13:40:16 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>253037</attachid>
            <date>2015-05-13 11:11:11 -0700</date>
            <delta_ts>2015-05-13 14:01:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144954-20150513210948.patch</filename>
            <type>text/plain</type>
            <size>4785</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg0MjgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAy
ZDMwNzk0ODhlM2FlNjQzMTJjYzBmNGMzMmZlZTdmYTliMmI3NmMyLi5jOWJkMzEwZWQxMTI0N2I4
YWQ3MDg4ODhjNzhmNTFiYTJjNjQwM2VlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMSBAQAorMjAxNS0wNC0xMiAgQWxleGFuZHIgU2thY2hrb3YgIDxnc2thY2hrb3ZAZ21h
aWwuY29tPgorICAgICAgICBTbWFsbCByZWZhY3RvcmluZyBvZiB0aGUgcGFyY2VyLmNwcCBmaWxl
LiBJdCBpcyBuZWNlc3NhcnkgdG8gaW5jcmVhc2UgcmVhZGFiaWxpdHkgb2YgdGhlIHBhdGNoCisg
ICAgICAgIHdpdGggRVM2IEFycm93IGZ1bmN0aW9uIGltcGxlbWVudGF0aW9uCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICAq
IHBhcnNlci9QYXJzZXIuaDoKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmNwcDoKKwogMjAxNS0w
NS0xMiAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBUZW1wb3Jh
cmlseSBkaXNhYmxlIHRoZSB0ZXN0IG9uIFdpbmRvd3MuIFRoZSBmYWlsdXJlIGlzIHRyYWNrZWQg
aW4gd2Via2l0Lm9yZy9iLzE0NDg5Ny4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvUGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2Vy
LmNwcAppbmRleCBmZDQyNDQ1NmRjNGU2NzE0MmZkZDc5M2E4NmFhMGE3MzRiMDRlODE0Li44MTM1
ZWRhNmI3NDdjNDgwMzkyZDdmYTgwMDA3MWI1NzdkNjUxOGYwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9QYXJzZXIuY3BwCkBAIC0xMzEwLDE1ICsxMzEwLDggQEAgc3RhdGljIGNvbnN0
IGNoYXIqIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShGdW5jdGlvblBhcnNlTW9kZSBtb2RlKQogICAg
IHJldHVybiBudWxscHRyOwogfQogCi10ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgotdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1
bmN0aW9uSW5mbyhUcmVlQnVpbGRlciYgY29udGV4dCwgRnVuY3Rpb25SZXF1aXJlbWVudHMgcmVx
dWlyZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSBtb2RlLAotICAgIGJvb2wgbmFtZUlzSW5Db250
YWluaW5nU2NvcGUsIENvbnN0cnVjdG9yS2luZCBjb25zdHJ1Y3RvcktpbmQsIFN1cGVyQmluZGlu
ZyBleHBlY3RlZFN1cGVyQmluZGluZywgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBQYXJzZXJG
dW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+JiBpbmZvKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVy
VHlwZT4gdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBpbnQgUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlRnVuY3Rpb25QYXJhbXRlcnMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIEZ1bmN0aW9uUmVx
dWlyZW1lbnRzIHJlcXVpcmVtZW50cywgRnVuY3Rpb25QYXJzZU1vZGUgbW9kZSwgYm9vbCBuYW1l
SXNJbkNvbnRhaW5pbmdTY29wZSwgQXV0b1BvcFNjb3BlUmVmJiBmdW5jdGlvblNjb3BlLCBQYXJz
ZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+JiBpbmZvKQogewotICAgIEF1dG9Qb3BTY29wZVJl
ZiBmdW5jdGlvblNjb3BlKHRoaXMsIHB1c2hTY29wZSgpKTsKLSAgICBmdW5jdGlvblNjb3BlLT5z
ZXRJc0Z1bmN0aW9uKCk7Ci0gICAgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0ID0gbV90b2tlbi5tX2xv
Y2F0aW9uLnN0YXJ0T2Zmc2V0OwotICAgIGNvbnN0IElkZW50aWZpZXIqIGxhc3RGdW5jdGlvbk5h
bWUgPSBtX2xhc3RGdW5jdGlvbk5hbWU7Ci0gICAgbV9sYXN0RnVuY3Rpb25OYW1lID0gbnVsbHB0
cjsKICAgICBpZiAobWF0Y2goSURFTlQpKSB7CiAgICAgICAgIGluZm8ubmFtZSA9IG1fdG9rZW4u
bV9kYXRhLmlkZW50OwogICAgICAgICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBpbmZvLm5hbWU7CkBA
IC0xMzM3LDcgKzEzMzAsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFy
c2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogICAgICAgICBzZW1h
bnRpY0ZhaWx1cmVEdWVUb0tleXdvcmQoc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIG5h
bWUiKTsKICAgICAgICAgZmFpbFdpdGhNZXNzYWdlKCJFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBi
ZWZvcmUgYSAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIncyBwYXJhbWV0ZXIgbGlz
dCIpOwogICAgIH0KLQorICAgIAogICAgIGlmIChtb2RlID09IEdldHRlck1vZGUpCiAgICAgICAg
IGNvbnN1bWVPckZhaWwoQ0xPU0VQQVJFTiwgImdldHRlciBmdW5jdGlvbnMgbXVzdCBoYXZlIG5v
IHBhcmFtZXRlcnMiKTsKICAgICBlbHNlIGlmIChtb2RlID09IFNldHRlck1vZGUpIHsKQEAgLTEz
NTQsNiArMTM0NywyMCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogICAgICAgICB9CiAgICAg
ICAgIGNvbnN1bWVPckZhaWwoQ0xPU0VQQVJFTiwgIkV4cGVjdGVkIGEgJyknIG9yIGEgJywnIGFm
dGVyIGEgcGFyYW1ldGVyIGRlY2xhcmF0aW9uIik7CiAgICAgfQorICAgIAorICAgIHJldHVybiBw
YXJhbWV0ZXJzU3RhcnQ7Cit9CisgICAgCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgor
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGRlciYgY29udGV4dCwgRnVuY3Rpb25SZXF1aXJlbWVudHMg
cmVxdWlyZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSBtb2RlLCBib29sIG5hbWVJc0luQ29udGFp
bmluZ1Njb3BlLCBDb25zdHJ1Y3RvcktpbmQgY29uc3RydWN0b3JLaW5kLCBTdXBlckJpbmRpbmcg
ZXhwZWN0ZWRTdXBlckJpbmRpbmcsIGludCBmdW5jdGlvbktleXdvcmRTdGFydCwgUGFyc2VyRnVu
Y3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYgaW5mbykKK3sKKyAgICBBdXRvUG9wU2NvcGVSZWYgZnVu
Y3Rpb25TY29wZSh0aGlzLCBwdXNoU2NvcGUoKSk7CisgICAgZnVuY3Rpb25TY29wZS0+c2V0SXNG
dW5jdGlvbigpOworICAgIGludCBmdW5jdGlvbk5hbWVTdGFydCA9IG1fdG9rZW4ubV9sb2NhdGlv
bi5zdGFydE9mZnNldDsKKyAgICBjb25zdCBJZGVudGlmaWVyKiBsYXN0RnVuY3Rpb25OYW1lID0g
bV9sYXN0RnVuY3Rpb25OYW1lOworICAgIG1fbGFzdEZ1bmN0aW9uTmFtZSA9IG51bGxwdHI7Cisg
ICAgCisgICAgaW50IHBhcmFtZXRlcnNTdGFydCA9IHBhcnNlRnVuY3Rpb25QYXJhbXRlcnMoY29u
dGV4dCwgcmVxdWlyZW1lbnRzLCBtb2RlLCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgZnVuY3Rp
b25TY29wZSwgaW5mbyk7CiAKICAgICBtYXRjaE9yRmFpbChPUEVOQlJBQ0UsICJFeHBlY3RlZCBh
biBvcGVuaW5nICd7JyBhdCB0aGUgc3RhcnQgb2YgYSAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUo
bW9kZSksICIgYm9keSIpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL1BhcnNlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAppbmRl
eCAzZGZmOGU0OWIzMDU3YzQ5OTE0NDVmNmZjNGVkNDJjOWYzNDY1YWM4Li43MmJjYTY5NTFjMTdl
MDE1MDM2YmQxMGFjMTgyMzM4MDMwZDRiYmZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1BhcnNlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyLmgKQEAgLTc3Myw2ICs3NzMsOSBAQCBwcml2YXRlOgogICAgIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gdHJ5
UGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm5FeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CiAKICAg
ICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBib29sIHBhcnNlRnVu
Y3Rpb25JbmZvKFRyZWVCdWlsZGVyJiwgRnVuY3Rpb25SZXF1aXJlbWVudHMsIEZ1bmN0aW9uUGFy
c2VNb2RlLCBib29sIG5hbWVJc0luQ29udGFpbmluZ1Njb3BlLCBDb25zdHJ1Y3RvcktpbmQsIFN1
cGVyQmluZGluZywgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBQYXJzZXJGdW5jdGlvbkluZm88
VHJlZUJ1aWxkZXI+Jik7CisgICAgCisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBO
RVZFUl9JTkxJTkUgaW50IHBhcnNlRnVuY3Rpb25QYXJhbXRlcnMoVHJlZUJ1aWxkZXImLCBGdW5j
dGlvblJlcXVpcmVtZW50cywgRnVuY3Rpb25QYXJzZU1vZGUsIGJvb2wsIEF1dG9Qb3BTY29wZVJl
ZiYsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mKTsKKwogI2lmIEVOQUJMRShFUzZf
Q0xBU1NfU1lOVEFYKQogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5M
SU5FIFRyZWVDbGFzc0V4cHJlc3Npb24gcGFyc2VDbGFzcyhUcmVlQnVpbGRlciYsIEZ1bmN0aW9u
UmVxdWlyZW1lbnRzLCBQYXJzZXJDbGFzc0luZm88VHJlZUJ1aWxkZXI+Jik7CiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>253058</attachid>
            <date>2015-05-13 14:01:33 -0700</date>
            <delta_ts>2015-05-13 14:09:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144954-20150514000010.patch</filename>
            <type>text/plain</type>
            <size>4263</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg0Mjk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA0
OTZmZWYwYTFlODMwODk5ZjY4ZjJlMDE2MjM1YzYxNmU3MWZlZDMxLi4yMzk2OTQxNDlmMWFkODU5
OWViNDkxZDJiNDU4YzZjMzk0MmNlNzgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAxNS0wNS0xMyAgQWxleGFuZHIgU2thY2hrb3YgIDxnc2thY2hrb3ZAZ21h
aWwuY29tPgorCisgICAgICAgIFNtYWxsIHJlZmFjdG9yaW5nIGJlZm9yZSBFUzYgQXJyb3cgZnVu
Y3Rpb24gaW1wbGVtZW50YXRpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNDQ5NTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIHBhcnNlci9QYXJzZXIuaDoKKyAgICAgICAgKiBwYXJzZXIvUGFyc2Vy
LmNwcDoKKwogMjAxNS0wNS0xMyAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29t
PgogCiAgICAgICAgIEF2b2lkIGFsd2F5cyBydW5uaW5nIHNvbWUgZGVidWcgY29kZSBpbiB0eXBl
IHByb2ZpbGluZwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJz
ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCmluZGV4IGZk
NDI0NDU2ZGM0ZTY3MTQyZmRkNzkzYTg2YWEwYTczNGIwNGU4MTQuLjJiMmQ2YjQxZjQwYmYxMjlk
MTYwZTFmZDI2NWI3MzZjODZjOWVjMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1Bh
cnNlci5jcHAKQEAgLTEzMTAsMTUgKzEzMTAsOCBAQCBzdGF0aWMgY29uc3QgY2hhciogc3RyaW5n
Rm9yRnVuY3Rpb25Nb2RlKEZ1bmN0aW9uUGFyc2VNb2RlIG1vZGUpCiAgICAgcmV0dXJuIG51bGxw
dHI7CiB9CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Ci10ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRy
ZWVCdWlsZGVyJiBjb250ZXh0LCBGdW5jdGlvblJlcXVpcmVtZW50cyByZXF1aXJlbWVudHMsIEZ1
bmN0aW9uUGFyc2VNb2RlIG1vZGUsCi0gICAgYm9vbCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwg
Q29uc3RydWN0b3JLaW5kIGNvbnN0cnVjdG9yS2luZCwgU3VwZXJCaW5kaW5nIGV4cGVjdGVkU3Vw
ZXJCaW5kaW5nLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIFBhcnNlckZ1bmN0aW9uSW5mbzxU
cmVlQnVpbGRlcj4mIGluZm8pCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPiB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGludCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlv
blBhcmFtdGVycyhUcmVlQnVpbGRlciYgY29udGV4dCwgRnVuY3Rpb25SZXF1aXJlbWVudHMgcmVx
dWlyZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSBtb2RlLCBib29sIG5hbWVJc0luQ29udGFpbmlu
Z1Njb3BlLCBBdXRvUG9wU2NvcGVSZWYmIGZ1bmN0aW9uU2NvcGUsIFBhcnNlckZ1bmN0aW9uSW5m
bzxUcmVlQnVpbGRlcj4mIGluZm8pCiB7Ci0gICAgQXV0b1BvcFNjb3BlUmVmIGZ1bmN0aW9uU2Nv
cGUodGhpcywgcHVzaFNjb3BlKCkpOwotICAgIGZ1bmN0aW9uU2NvcGUtPnNldElzRnVuY3Rpb24o
KTsKLSAgICBpbnQgZnVuY3Rpb25OYW1lU3RhcnQgPSBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRP
ZmZzZXQ7Ci0gICAgY29uc3QgSWRlbnRpZmllciogbGFzdEZ1bmN0aW9uTmFtZSA9IG1fbGFzdEZ1
bmN0aW9uTmFtZTsKLSAgICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBudWxscHRyOwogICAgIGlmICht
YXRjaChJREVOVCkpIHsKICAgICAgICAgaW5mby5uYW1lID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7
CiAgICAgICAgIG1fbGFzdEZ1bmN0aW9uTmFtZSA9IGluZm8ubmFtZTsKQEAgLTEzNTQsNiArMTM0
NywyMCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogICAgICAgICB9CiAgICAgICAgIGNvbnN1
bWVPckZhaWwoQ0xPU0VQQVJFTiwgIkV4cGVjdGVkIGEgJyknIG9yIGEgJywnIGFmdGVyIGEgcGFy
YW1ldGVyIGRlY2xhcmF0aW9uIik7CiAgICAgfQorICAgIAorICAgIHJldHVybiBwYXJhbWV0ZXJz
U3RhcnQ7Cit9CisgICAgCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9u
SW5mbyhUcmVlQnVpbGRlciYgY29udGV4dCwgRnVuY3Rpb25SZXF1aXJlbWVudHMgcmVxdWlyZW1l
bnRzLCBGdW5jdGlvblBhcnNlTW9kZSBtb2RlLCBib29sIG5hbWVJc0luQ29udGFpbmluZ1Njb3Bl
LCBDb25zdHJ1Y3RvcktpbmQgY29uc3RydWN0b3JLaW5kLCBTdXBlckJpbmRpbmcgZXhwZWN0ZWRT
dXBlckJpbmRpbmcsIGludCBmdW5jdGlvbktleXdvcmRTdGFydCwgUGFyc2VyRnVuY3Rpb25JbmZv
PFRyZWVCdWlsZGVyPiYgaW5mbykKK3sKKyAgICBBdXRvUG9wU2NvcGVSZWYgZnVuY3Rpb25TY29w
ZSh0aGlzLCBwdXNoU2NvcGUoKSk7CisgICAgZnVuY3Rpb25TY29wZS0+c2V0SXNGdW5jdGlvbigp
OworICAgIGludCBmdW5jdGlvbk5hbWVTdGFydCA9IG1fdG9rZW4ubV9sb2NhdGlvbi5zdGFydE9m
ZnNldDsKKyAgICBjb25zdCBJZGVudGlmaWVyKiBsYXN0RnVuY3Rpb25OYW1lID0gbV9sYXN0RnVu
Y3Rpb25OYW1lOworICAgIG1fbGFzdEZ1bmN0aW9uTmFtZSA9IG51bGxwdHI7CisgICAgCisgICAg
aW50IHBhcmFtZXRlcnNTdGFydCA9IHBhcnNlRnVuY3Rpb25QYXJhbXRlcnMoY29udGV4dCwgcmVx
dWlyZW1lbnRzLCBtb2RlLCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgZnVuY3Rpb25TY29wZSwg
aW5mbyk7CiAKICAgICBtYXRjaE9yRmFpbChPUEVOQlJBQ0UsICJFeHBlY3RlZCBhbiBvcGVuaW5n
ICd7JyBhdCB0aGUgc3RhcnQgb2YgYSAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIg
Ym9keSIpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNl
ci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAppbmRleCAyODgzZGFh
MTY0NzA5ZWVjNWNiZWMxMjZjZDg0NTEzYjExNTdhMDhhLi5hZjEwMjEyNmZmMjFkMzMzNGUxMWVh
ZDU5YWM0ZjM4Y2QyYjYxNWEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL1BhcnNlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgK
QEAgLTc3Myw2ICs3NzMsOSBAQCBwcml2YXRlOgogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gdHJ5UGFyc2VEZWNv
bnN0cnVjdGlvblBhdHRlcm5FeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CiAKICAgICB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBib29sIHBhcnNlRnVuY3Rpb25JbmZv
KFRyZWVCdWlsZGVyJiwgRnVuY3Rpb25SZXF1aXJlbWVudHMsIEZ1bmN0aW9uUGFyc2VNb2RlLCBi
b29sIG5hbWVJc0luQ29udGFpbmluZ1Njb3BlLCBDb25zdHJ1Y3RvcktpbmQsIFN1cGVyQmluZGlu
ZywgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxk
ZXI+Jik7CisgICAgCisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJ
TkUgaW50IHBhcnNlRnVuY3Rpb25QYXJhbXRlcnMoVHJlZUJ1aWxkZXImLCBGdW5jdGlvblJlcXVp
cmVtZW50cywgRnVuY3Rpb25QYXJzZU1vZGUsIGJvb2wsIEF1dG9Qb3BTY29wZVJlZiYsIFBhcnNl
ckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mKTsKKwogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lO
VEFYKQogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVD
bGFzc0V4cHJlc3Npb24gcGFyc2VDbGFzcyhUcmVlQnVpbGRlciYsIEZ1bmN0aW9uUmVxdWlyZW1l
bnRzLCBQYXJzZXJDbGFzc0luZm88VHJlZUJ1aWxkZXI+Jik7CiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>253059</attachid>
            <date>2015-05-13 14:09:47 -0700</date>
            <delta_ts>2015-05-14 07:52:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144954-20150514000823.patch</filename>
            <type>text/plain</type>
            <size>4263</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg0Mjk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA0
OTZmZWYwYTFlODMwODk5ZjY4ZjJlMDE2MjM1YzYxNmU3MWZlZDMxLi4yMzk2OTQxNDlmMWFkODU5
OWViNDkxZDJiNDU4YzZjMzk0MmNlNzgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAxNS0wNS0xMyAgQWxleGFuZHIgU2thY2hrb3YgIDxnc2thY2hrb3ZAZ21h
aWwuY29tPgorCisgICAgICAgIFNtYWxsIHJlZmFjdG9yaW5nIGJlZm9yZSBFUzYgQXJyb3cgZnVu
Y3Rpb24gaW1wbGVtZW50YXRpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNDQ5NTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIHBhcnNlci9QYXJzZXIuaDoKKyAgICAgICAgKiBwYXJzZXIvUGFyc2Vy
LmNwcDoKKwogMjAxNS0wNS0xMyAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29t
PgogCiAgICAgICAgIEF2b2lkIGFsd2F5cyBydW5uaW5nIHNvbWUgZGVidWcgY29kZSBpbiB0eXBl
IHByb2ZpbGluZwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJz
ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCmluZGV4IGZk
NDI0NDU2ZGM0ZTY3MTQyZmRkNzkzYTg2YWEwYTczNGIwNGU4MTQuLjJiMmQ2YjQxZjQwYmYxMjlk
MTYwZTFmZDI2NWI3MzZjODZjOWVjMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1Bh
cnNlci5jcHAKQEAgLTEzMTAsMTUgKzEzMTAsOCBAQCBzdGF0aWMgY29uc3QgY2hhciogc3RyaW5n
Rm9yRnVuY3Rpb25Nb2RlKEZ1bmN0aW9uUGFyc2VNb2RlIG1vZGUpCiAgICAgcmV0dXJuIG51bGxw
dHI7CiB9CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Ci10ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRy
ZWVCdWlsZGVyJiBjb250ZXh0LCBGdW5jdGlvblJlcXVpcmVtZW50cyByZXF1aXJlbWVudHMsIEZ1
bmN0aW9uUGFyc2VNb2RlIG1vZGUsCi0gICAgYm9vbCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwg
Q29uc3RydWN0b3JLaW5kIGNvbnN0cnVjdG9yS2luZCwgU3VwZXJCaW5kaW5nIGV4cGVjdGVkU3Vw
ZXJCaW5kaW5nLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIFBhcnNlckZ1bmN0aW9uSW5mbzxU
cmVlQnVpbGRlcj4mIGluZm8pCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPiB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGludCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlv
blBhcmFtdGVycyhUcmVlQnVpbGRlciYgY29udGV4dCwgRnVuY3Rpb25SZXF1aXJlbWVudHMgcmVx
dWlyZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSBtb2RlLCBib29sIG5hbWVJc0luQ29udGFpbmlu
Z1Njb3BlLCBBdXRvUG9wU2NvcGVSZWYmIGZ1bmN0aW9uU2NvcGUsIFBhcnNlckZ1bmN0aW9uSW5m
bzxUcmVlQnVpbGRlcj4mIGluZm8pCiB7Ci0gICAgQXV0b1BvcFNjb3BlUmVmIGZ1bmN0aW9uU2Nv
cGUodGhpcywgcHVzaFNjb3BlKCkpOwotICAgIGZ1bmN0aW9uU2NvcGUtPnNldElzRnVuY3Rpb24o
KTsKLSAgICBpbnQgZnVuY3Rpb25OYW1lU3RhcnQgPSBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRP
ZmZzZXQ7Ci0gICAgY29uc3QgSWRlbnRpZmllciogbGFzdEZ1bmN0aW9uTmFtZSA9IG1fbGFzdEZ1
bmN0aW9uTmFtZTsKLSAgICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBudWxscHRyOwogICAgIGlmICht
YXRjaChJREVOVCkpIHsKICAgICAgICAgaW5mby5uYW1lID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7
CiAgICAgICAgIG1fbGFzdEZ1bmN0aW9uTmFtZSA9IGluZm8ubmFtZTsKQEAgLTEzNTQsNiArMTM0
NywyMCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogICAgICAgICB9CiAgICAgICAgIGNvbnN1
bWVPckZhaWwoQ0xPU0VQQVJFTiwgIkV4cGVjdGVkIGEgJyknIG9yIGEgJywnIGFmdGVyIGEgcGFy
YW1ldGVyIGRlY2xhcmF0aW9uIik7CiAgICAgfQorICAgIAorICAgIHJldHVybiBwYXJhbWV0ZXJz
U3RhcnQ7Cit9CisgICAgCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9u
SW5mbyhUcmVlQnVpbGRlciYgY29udGV4dCwgRnVuY3Rpb25SZXF1aXJlbWVudHMgcmVxdWlyZW1l
bnRzLCBGdW5jdGlvblBhcnNlTW9kZSBtb2RlLCBib29sIG5hbWVJc0luQ29udGFpbmluZ1Njb3Bl
LCBDb25zdHJ1Y3RvcktpbmQgY29uc3RydWN0b3JLaW5kLCBTdXBlckJpbmRpbmcgZXhwZWN0ZWRT
dXBlckJpbmRpbmcsIGludCBmdW5jdGlvbktleXdvcmRTdGFydCwgUGFyc2VyRnVuY3Rpb25JbmZv
PFRyZWVCdWlsZGVyPiYgaW5mbykKK3sKKyAgICBBdXRvUG9wU2NvcGVSZWYgZnVuY3Rpb25TY29w
ZSh0aGlzLCBwdXNoU2NvcGUoKSk7CisgICAgZnVuY3Rpb25TY29wZS0+c2V0SXNGdW5jdGlvbigp
OworICAgIGludCBmdW5jdGlvbk5hbWVTdGFydCA9IG1fdG9rZW4ubV9sb2NhdGlvbi5zdGFydE9m
ZnNldDsKKyAgICBjb25zdCBJZGVudGlmaWVyKiBsYXN0RnVuY3Rpb25OYW1lID0gbV9sYXN0RnVu
Y3Rpb25OYW1lOworICAgIG1fbGFzdEZ1bmN0aW9uTmFtZSA9IG51bGxwdHI7CisgICAgCisgICAg
aW50IHBhcmFtZXRlcnNTdGFydCA9IHBhcnNlRnVuY3Rpb25QYXJhbXRlcnMoY29udGV4dCwgcmVx
dWlyZW1lbnRzLCBtb2RlLCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgZnVuY3Rpb25TY29wZSwg
aW5mbyk7CiAKICAgICBtYXRjaE9yRmFpbChPUEVOQlJBQ0UsICJFeHBlY3RlZCBhbiBvcGVuaW5n
ICd7JyBhdCB0aGUgc3RhcnQgb2YgYSAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIg
Ym9keSIpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNl
ci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAppbmRleCAyODgzZGFh
MTY0NzA5ZWVjNWNiZWMxMjZjZDg0NTEzYjExNTdhMDhhLi5hZjEwMjEyNmZmMjFkMzMzNGUxMWVh
ZDU5YWM0ZjM4Y2QyYjYxNWEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL1BhcnNlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgK
QEAgLTc3Myw2ICs3NzMsOSBAQCBwcml2YXRlOgogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gdHJ5UGFyc2VEZWNv
bnN0cnVjdGlvblBhdHRlcm5FeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CiAKICAgICB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBib29sIHBhcnNlRnVuY3Rpb25JbmZv
KFRyZWVCdWlsZGVyJiwgRnVuY3Rpb25SZXF1aXJlbWVudHMsIEZ1bmN0aW9uUGFyc2VNb2RlLCBi
b29sIG5hbWVJc0luQ29udGFpbmluZ1Njb3BlLCBDb25zdHJ1Y3RvcktpbmQsIFN1cGVyQmluZGlu
ZywgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxk
ZXI+Jik7CisgICAgCisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJ
TkUgaW50IHBhcnNlRnVuY3Rpb25QYXJhbXRlcnMoVHJlZUJ1aWxkZXImLCBGdW5jdGlvblJlcXVp
cmVtZW50cywgRnVuY3Rpb25QYXJzZU1vZGUsIGJvb2wsIEF1dG9Qb3BTY29wZVJlZiYsIFBhcnNl
ckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mKTsKKwogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lO
VEFYKQogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVD
bGFzc0V4cHJlc3Npb24gcGFyc2VDbGFzcyhUcmVlQnVpbGRlciYsIEZ1bmN0aW9uUmVxdWlyZW1l
bnRzLCBQYXJzZXJDbGFzc0luZm88VHJlZUJ1aWxkZXI+Jik7CiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>253119</attachid>
            <date>2015-05-14 07:52:45 -0700</date>
            <delta_ts>2015-05-14 13:40:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144954-20150514175121.patch</filename>
            <type>text/plain</type>
            <size>4293</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg0Mjk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA0
OTZmZWYwYTFlODMwODk5ZjY4ZjJlMDE2MjM1YzYxNmU3MWZlZDMxLi44OTA5NjQ3M2M4NDkzMTFi
ZWJkMDVjMjRlYjNjZDhlNjM5YmQxNzY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAxNS0wNS0xMyAgQWxleGFuZHIgU2thY2hrb3YgIDxnc2thY2hrb3ZAZ21h
aWwuY29tPgorCisgICAgICAgIFNtYWxsIHJlZmFjdG9yaW5nIGJlZm9yZSBpbXBsZW1lbnRhdGlv
biBvZiB0aGUgRVM2IGFycm93IGZ1bmN0aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0OTU0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmg6CisgICAgICAgICogcGFyc2Vy
L1BhcnNlci5jcHA6CisKIDIwMTUtMDUtMTMgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFw
cGxlLmNvbT4KIAogICAgICAgICBBdm9pZCBhbHdheXMgcnVubmluZyBzb21lIGRlYnVnIGNvZGUg
aW4gdHlwZSBwcm9maWxpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvUGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcApp
bmRleCBmZDQyNDQ1NmRjNGU2NzE0MmZkZDc5M2E4NmFhMGE3MzRiMDRlODE0Li45NTMwYTNlYTU1
YjI1MjljMmU5YjJhMDMxYzQzZWZkMmFmMGE3ZDY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9QYXJzZXIuY3BwCkBAIC0xMzEwLDE1ICsxMzEwLDggQEAgc3RhdGljIGNvbnN0IGNoYXIq
IHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShGdW5jdGlvblBhcnNlTW9kZSBtb2RlKQogICAgIHJldHVy
biBudWxscHRyOwogfQogCi10ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgotdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9u
SW5mbyhUcmVlQnVpbGRlciYgY29udGV4dCwgRnVuY3Rpb25SZXF1aXJlbWVudHMgcmVxdWlyZW1l
bnRzLCBGdW5jdGlvblBhcnNlTW9kZSBtb2RlLAotICAgIGJvb2wgbmFtZUlzSW5Db250YWluaW5n
U2NvcGUsIENvbnN0cnVjdG9yS2luZCBjb25zdHJ1Y3RvcktpbmQsIFN1cGVyQmluZGluZyBleHBl
Y3RlZFN1cGVyQmluZGluZywgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBQYXJzZXJGdW5jdGlv
bkluZm88VHJlZUJ1aWxkZXI+JiBpbmZvKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4g
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBpbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNl
RnVuY3Rpb25QYXJhbXRlcnMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIEZ1bmN0aW9uUmVxdWlyZW1l
bnRzIHJlcXVpcmVtZW50cywgRnVuY3Rpb25QYXJzZU1vZGUgbW9kZSwgYm9vbCBuYW1lSXNJbkNv
bnRhaW5pbmdTY29wZSwgQXV0b1BvcFNjb3BlUmVmJiBmdW5jdGlvblNjb3BlLCBQYXJzZXJGdW5j
dGlvbkluZm88VHJlZUJ1aWxkZXI+JiBpbmZvKQogewotICAgIEF1dG9Qb3BTY29wZVJlZiBmdW5j
dGlvblNjb3BlKHRoaXMsIHB1c2hTY29wZSgpKTsKLSAgICBmdW5jdGlvblNjb3BlLT5zZXRJc0Z1
bmN0aW9uKCk7Ci0gICAgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0ID0gbV90b2tlbi5tX2xvY2F0aW9u
LnN0YXJ0T2Zmc2V0OwotICAgIGNvbnN0IElkZW50aWZpZXIqIGxhc3RGdW5jdGlvbk5hbWUgPSBt
X2xhc3RGdW5jdGlvbk5hbWU7Ci0gICAgbV9sYXN0RnVuY3Rpb25OYW1lID0gbnVsbHB0cjsKICAg
ICBpZiAobWF0Y2goSURFTlQpKSB7CiAgICAgICAgIGluZm8ubmFtZSA9IG1fdG9rZW4ubV9kYXRh
LmlkZW50OwogICAgICAgICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBpbmZvLm5hbWU7CkBAIC0xMzU0
LDYgKzEzNDcsMjEgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKICAgICAgICAgfQogICAgICAg
ICBjb25zdW1lT3JGYWlsKENMT1NFUEFSRU4sICJFeHBlY3RlZCBhICcpJyBvciBhICcsJyBhZnRl
ciBhIHBhcmFtZXRlciBkZWNsYXJhdGlvbiIpOwogICAgIH0KKyAgICAKKyAgICByZXR1cm4gcGFy
YW1ldGVyc1N0YXJ0OworfQorICAgIAordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3Rl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VG
dW5jdGlvbkluZm8oVHJlZUJ1aWxkZXImIGNvbnRleHQsIEZ1bmN0aW9uUmVxdWlyZW1lbnRzIHJl
cXVpcmVtZW50cywgRnVuY3Rpb25QYXJzZU1vZGUgbW9kZSwgYm9vbCBuYW1lSXNJbkNvbnRhaW5p
bmdTY29wZSwgQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVjdG9yS2luZCwgU3VwZXJCaW5kaW5nIGV4
cGVjdGVkU3VwZXJCaW5kaW5nLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIFBhcnNlckZ1bmN0
aW9uSW5mbzxUcmVlQnVpbGRlcj4mIGluZm8pCit7CisgICAgQXV0b1BvcFNjb3BlUmVmIGZ1bmN0
aW9uU2NvcGUodGhpcywgcHVzaFNjb3BlKCkpOworICAgIGZ1bmN0aW9uU2NvcGUtPnNldElzRnVu
Y3Rpb24oKTsKKyAgICBpbnQgZnVuY3Rpb25OYW1lU3RhcnQgPSBtX3Rva2VuLm1fbG9jYXRpb24u
c3RhcnRPZmZzZXQ7CisgICAgY29uc3QgSWRlbnRpZmllciogbGFzdEZ1bmN0aW9uTmFtZSA9IG1f
bGFzdEZ1bmN0aW9uTmFtZTsKKyAgICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBudWxscHRyOworICAg
IAorICAgIGludCBwYXJhbWV0ZXJzU3RhcnQgPSBwYXJzZUZ1bmN0aW9uUGFyYW10ZXJzKGNvbnRl
eHQsIHJlcXVpcmVtZW50cywgbW9kZSwgbmFtZUlzSW5Db250YWluaW5nU2NvcGUsIGZ1bmN0aW9u
U2NvcGUsIGluZm8pOworICAgIHByb3BhZ2F0ZUVycm9yKCk7CiAKICAgICBtYXRjaE9yRmFpbChP
UEVOQlJBQ0UsICJFeHBlY3RlZCBhbiBvcGVuaW5nICd7JyBhdCB0aGUgc3RhcnQgb2YgYSAiLCBz
dHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgYm9keSIpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9QYXJzZXIuaAppbmRleCAyODgzZGFhMTY0NzA5ZWVjNWNiZWMxMjZjZDg0NTEzYjEx
NTdhMDhhLi5hZjEwMjEyNmZmMjFkMzMzNGUxMWVhZDU5YWM0ZjM4Y2QyYjYxNWEyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKQEAgLTc3Myw2ICs3NzMsOSBAQCBwcml2YXRl
OgogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZWNv
bnN0cnVjdGlvblBhdHRlcm4gdHJ5UGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm5FeHByZXNzaW9u
KFRyZWVCdWlsZGVyJik7CiAKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVS
X0lOTElORSBib29sIHBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZGVyJiwgRnVuY3Rpb25SZXF1
aXJlbWVudHMsIEZ1bmN0aW9uUGFyc2VNb2RlLCBib29sIG5hbWVJc0luQ29udGFpbmluZ1Njb3Bl
LCBDb25zdHJ1Y3RvcktpbmQsIFN1cGVyQmluZGluZywgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0
LCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+Jik7CisgICAgCisgICAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgaW50IHBhcnNlRnVuY3Rpb25QYXJhbXRl
cnMoVHJlZUJ1aWxkZXImLCBGdW5jdGlvblJlcXVpcmVtZW50cywgRnVuY3Rpb25QYXJzZU1vZGUs
IGJvb2wsIEF1dG9Qb3BTY29wZVJlZiYsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4m
KTsKKwogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQogICAgIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVDbGFzc0V4cHJlc3Npb24gcGFyc2VDbGFzcyhU
cmVlQnVpbGRlciYsIEZ1bmN0aW9uUmVxdWlyZW1lbnRzLCBQYXJzZXJDbGFzc0luZm88VHJlZUJ1
aWxkZXI+Jik7CiAjZW5kaWYK
</data>

          </attachment>
      

    </bug>

</bugzilla>