<?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>110184</bug_id>
          
          <creation_ts>2013-02-18 23:15:09 -0800</creation_ts>
          <short_desc>REGRESSION(r143241): It made 27 layout tests crash on 32 bit platforms</short_desc>
          <delta_ts>2013-02-19 02:43:24 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt, QtTriaged</keywords>
          <priority>P1</priority>
          <bug_severity>Critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>108645</blocked>
    
    <blocked>79668</blocked>
    
    <blocked>110072</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Csaba Osztrogonác">ossy</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>hausmann</cc>
    
    <cc>kadam</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>oliver</cc>
    
    <cc>ossy</cc>
    
    <cc>rgabor</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zarvai</cc>
    
    <cc>zherczeg</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>836002</commentid>
    <comment_count>0</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-02-18 23:15:09 -0800</bug_when>
    <thetext>See the Qt bots for details:
- http://build.webkit.sed.hu/results/x86-32%20Linux%20Qt%20Debug/r143248%20%2824449%29/results.html
- http://build.webkit.org/results/Qt%20Linux%20Release/r143243%20%2857604%29/results.html

Additionally it broke 3 JSC test on ARM traditional platform:
- http://build.webkit.sed.hu/builders/ARMv7%20Linux%20Qt5%20Release%20%28Test%29/builds/7891
(maybe on ARM Thumb2 too, but I don&apos;t know, because there isn&apos;t Thumb2 buildbot)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836031</commentid>
    <comment_count>1</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-02-18 23:37:25 -0800</bug_when>
    <thetext>Looking.

Can you get debug symbols for the crashes you&apos;re seeing?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836053</commentid>
    <comment_count>2</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-02-19 00:03:26 -0800</bug_when>
    <thetext>Sure. Here you are:

$ WebKitBuild/Debug/bin/DumpRenderTree
GNU gdb (Ubuntu/Linaro 7.4-2012.02-0ubuntu2) 7.4-2012.02
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later &lt;http://gnu.org/licenses/gpl.html&gt;
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type &quot;show copying&quot;
and &quot;show warranty&quot; for details.
This GDB was configured as &quot;i686-linux-gnu&quot;.
For bug reporting instructions, please see:
&lt;http://bugs.launchpad.net/gdb-linaro/&gt;...
Reading symbols from /home/oszi/WebKit/WebKitBuild/Debug/bin/DumpRenderTree...done.
(gdb) run LayoutTests/fast/js/dfg-add-not-number.html
Starting program: /home/oszi/WebKit/WebKitBuild/Debug/bin/DumpRenderTree LayoutTests/fast/js/dfg-add-not-number.html
[Thread debugging using libthread_db enabled]
Using host libthread_db library &quot;/lib/i386-linux-gnu/libthread_db.so.1&quot;.
[New Thread 0xf01ffb40 (LWP 17229)]
[New Thread 0xef7ffb40 (LWP 17238)]
[Thread 0xef7ffb40 (LWP 17238) exited]
[New Thread 0xef7ffb40 (LWP 17248)]
[New Thread 0xee983b40 (LWP 17249)]
SHOULD NEVER BE REACHED
/home/oszi/WebKit/Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp(917) : JSC::DFG::GPRReg JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal(JSC::DFG::Node*, JSC::DataFormat&amp;, JSC::DFG::SpeculationDirection) [with bool strict = false, JSC::DFG::GPRReg = JSC::X86Registers::RegisterID]

Program received signal SIGSEGV, Segmentation fault.
0xf34b6b19 in ?? () from /lib/i386-linux-gnu/libgcc_s.so.1
(gdb) bt
#0  0xf34b6b19 in ?? () from /lib/i386-linux-gnu/libgcc_s.so.1
#1  0xf34b76e1 in _Unwind_Backtrace () from /lib/i386-linux-gnu/libgcc_s.so.1
#2  0xf33fc007 in backtrace () from /lib/i386-linux-gnu/libc.so.6
#3  0xf62eee21 in WTFGetBacktrace (stack=0xffff69e8, size=0xffff6a6c) at /home/oszi/WebKit/Source/WTF/wtf/Assertions.cpp:249
#4  0xf62eee5d in WTFReportBacktrace () at /home/oszi/WebKit/Source/WTF/wtf/Assertions.cpp:278
#5  0xf6127fbe in JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal&lt;false&gt; (this=0xffff94e4, node=0xedf100e4,
    returnFormat=@0xffff6bf0: JSC::DataFormatNone, direction=JSC::DFG::BackwardSpeculation)
    at /home/oszi/WebKit/Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp:917
#6  0xf6106b6c in JSC::DFG::SpeculativeJIT::fillSpeculateInt (this=0xffff94e4, node=0xedf100e4, returnFormat=@0xffff6bf0: JSC::DataFormatNone,
    direction=JSC::DFG::BackwardSpeculation) at /home/oszi/WebKit/Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp:927
#7  0xf60f738d in JSC::DFG::SpeculateIntegerOperand::gpr (this=0xffff6be4) at /home/oszi/WebKit/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h:2680
#8  0xf60f7225 in JSC::DFG::SpeculateIntegerOperand::SpeculateIntegerOperand (this=0xffff6be4, jit=0xffff94e4, use=...,
    direction=JSC::DFG::BackwardSpeculation) at /home/oszi/WebKit/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h:2656
#9  0xf60e9ce1 in JSC::DFG::SpeculativeJIT::compileAdd (this=0xffff94e4, node=0xedf1017c)
    at /home/oszi/WebKit/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:2981
#10 0xf610e29f in JSC::DFG::SpeculativeJIT::compile (this=0xffff94e4, node=0xedf1017c)
    at /home/oszi/WebKit/Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp:2178
#11 0xf60e34ff in JSC::DFG::SpeculativeJIT::compile (this=0xffff94e4, block=...) at /home/oszi/WebKit/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:1725
#12 0xf60e3bda in JSC::DFG::SpeculativeJIT::compile (this=0xffff94e4) at /home/oszi/WebKit/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:1838
#13 0xf60aec4b in JSC::DFG::JITCompiler::compileBody (this=0xffffa72c, speculative=...) at /home/oszi/WebKit/Source/JavaScriptCore/dfg/DFGJITCompiler.cpp:108
#14 0xf60afe1a in JSC::DFG::JITCompiler::compileFunction (this=0xffffa72c, entry=..., entryWithArityCheck=...)
    at /home/oszi/WebKit/Source/JavaScriptCore/dfg/DFGJITCompiler.cpp:302
#15 0xf60a216e in JSC::DFG::compile (compileMode=JSC::DFG::CompileFunction, exec=0xeea001f0, codeBlock=0x8194f60, jitCode=...,
    jitCodeWithArityCheck=0xedfded44, osrEntryBytecodeIndex=0) at /home/oszi/WebKit/Source/JavaScriptCore/dfg/DFGDriver.cpp:173
#16 0xf60a1989 in JSC::DFG::tryCompileFunction (exec=0xeea001f0, codeBlock=0x8194f60, jitCode=..., jitCodeWithArityCheck=..., bytecodeIndex=0)
    at /home/oszi/WebKit/Source/JavaScriptCore/dfg/DFGDriver.cpp:191
#17 0xf6232a6c in JSC::jitCompileFunctionIfAppropriate (exec=0xeea001f0, codeBlock=..., jitCode=..., jitCodeWithArityCheck=...,
    jitType=JSC::JITCode::DFGJIT, bytecodeIndex=0, effort=JSC::JITCompilationCanFail) at /home/oszi/WebKit/Source/JavaScriptCore/jit/JITDriver.h:95
#18 0xf6232d28 in JSC::prepareFunctionForExecution (exec=0xeea001f0, codeBlock=..., jitCode=..., jitCodeWithArityCheck=..., jitType=JSC::JITCode::DFGJIT,
    bytecodeIndex=0, kind=JSC::CodeForCall) at /home/oszi/WebKit/Source/JavaScriptCore/runtime/ExecutionHarness.h:68
#19 0xf6231098 in JSC::FunctionExecutable::compileForCallInternal (this=0xedfded18, exec=0xeea001f0, scope=0xeef7f838, jitType=JSC::JITCode::DFGJIT,
    bytecodeIndex=0) at /home/oszi/WebKit/Source/JavaScriptCore/runtime/Executable.cpp:538
#20 0xf62308a9 in JSC::FunctionExecutable::compileOptimizedForCall (this=0xedfded18, exec=0xeea001f0, scope=0xeef7f838, bytecodeIndex=0)
    at /home/oszi/WebKit/Source/JavaScriptCore/runtime/Executable.cpp:463
#21 0xf5fa4708 in JSC::FunctionExecutable::compileOptimizedFor (this=0xedfded18, exec=0xeea001f0, scope=0xeef7f838, bytecodeIndex=0, kind=JSC::CodeForCall)
    at /home/oszi/WebKit/Source/JavaScriptCore/runtime/Executable.h:678
#22 0xf5f9f3ed in JSC::FunctionCodeBlock::compileOptimized (this=0x818d4d8, exec=0xeea001f0, scope=0xeef7f838, bytecodeIndex=0)
    at /home/oszi/WebKit/Source/JavaScriptCore/bytecode/CodeBlock.cpp:2846
#23 0xf6185c02 in JSC::cti_optimize (args=0xffffacf0) at /home/oszi/WebKit/Source/JavaScriptCore/jit/JITStubs.cpp:1892
#24 0xf6182a6a in JSC::tryCacheGetByID (callFrame=0x0, codeBlock=0xfffffffb, returnAddress=..., baseValue=..., propertyName=..., slot=...,
    stubInfo=0x80b7c44) at /home/oszi/WebKit/Source/JavaScriptCore/jit/JITStubs.cpp:989
#25 0x5a800000 in ?? ()
#26 0x00000000 in ?? ()
(gdb)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836054</commentid>
    <comment_count>3</comment_count>
      <attachid>189007</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-02-19 00:04:45 -0800</bug_when>
    <thetext>Created attachment 189007
possible patch

Can y&apos;all see if this fixes the bugs, on your end?

I&apos;m running tests on my end now as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836055</commentid>
    <comment_count>4</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-02-19 00:05:38 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Sure. Here you are:
&gt; 
&gt; $ WebKitBuild/Debug/bin/DumpRenderTree
&gt; GNU gdb (Ubuntu/Linaro 7.4-2012.02-0ubuntu2) 7.4-2012.02
&gt; Copyright (C) 2012 Free Software Foundation, Inc.
&gt; License GPLv3+: GNU GPL version 3 or later &lt;http://gnu.org/licenses/gpl.html&gt;
&gt; This is free software: you are free to change and redistribute it.
&gt; There is NO WARRANTY, to the extent permitted by law.  Type &quot;show copying&quot;
&gt; and &quot;show warranty&quot; for details.
&gt; This GDB was configured as &quot;i686-linux-gnu&quot;.
&gt; For bug reporting instructions, please see:
&gt; &lt;http://bugs.launchpad.net/gdb-linaro/&gt;...
&gt; Reading symbols from /home/oszi/WebKit/WebKitBuild/Debug/bin/DumpRenderTree...done.
&gt; (gdb) run LayoutTests/fast/js/dfg-add-not-number.html
&gt; Starting program: /home/oszi/WebKit/WebKitBuild/Debug/bin/DumpRenderTree LayoutTests/fast/js/dfg-add-not-number.html
&gt; [Thread debugging using libthread_db enabled]
&gt; Using host libthread_db library &quot;/lib/i386-linux-gnu/libthread_db.so.1&quot;.
&gt; [New Thread 0xf01ffb40 (LWP 17229)]
&gt; [New Thread 0xef7ffb40 (LWP 17238)]
&gt; [Thread 0xef7ffb40 (LWP 17238) exited]
&gt; [New Thread 0xef7ffb40 (LWP 17248)]
&gt; [New Thread 0xee983b40 (LWP 17249)]
&gt; SHOULD NEVER BE REACHED
&gt; /home/oszi/WebKit/Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp(917) : JSC::DFG::GPRReg JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal(JSC::DFG::Node*, JSC::DataFormat&amp;, JSC::DFG::SpeculationDirection) [with bool strict = false, JSC::DFG::GPRReg = JSC::X86Registers::RegisterID]
&gt; 
&gt; Program received signal SIGSEGV, Segmentation fault.
&gt; 0xf34b6b19 in ?? () from /lib/i386-linux-gnu/libgcc_s.so.1
&gt; (gdb) bt
&gt; #0  0xf34b6b19 in ?? () from /lib/i386-linux-gnu/libgcc_s.so.1
&gt; #1  0xf34b76e1 in _Unwind_Backtrace () from /lib/i386-linux-gnu/libgcc_s.so.1
&gt; #2  0xf33fc007 in backtrace () from /lib/i386-linux-gnu/libc.so.6
&gt; #3  0xf62eee21 in WTFGetBacktrace (stack=0xffff69e8, size=0xffff6a6c) at /home/oszi/WebKit/Source/WTF/wtf/Assertions.cpp:249
&gt; #4  0xf62eee5d in WTFReportBacktrace () at /home/oszi/WebKit/Source/WTF/wtf/Assertions.cpp:278
&gt; #5  0xf6127fbe in JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal&lt;false&gt; (this=0xffff94e4, node=0xedf100e4,
&gt;     returnFormat=@0xffff6bf0: JSC::DataFormatNone, direction=JSC::DFG::BackwardSpeculation)
&gt;     at /home/oszi/WebKit/Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp:917
&gt; #6  0xf6106b6c in JSC::DFG::SpeculativeJIT::fillSpeculateInt (this=0xffff94e4, node=0xedf100e4, returnFormat=@0xffff6bf0: JSC::DataFormatNone,
&gt;     direction=JSC::DFG::BackwardSpeculation) at /home/oszi/WebKit/Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp:927
&gt; #7  0xf60f738d in JSC::DFG::SpeculateIntegerOperand::gpr (this=0xffff6be4) at /home/oszi/WebKit/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h:2680
&gt; #8  0xf60f7225 in JSC::DFG::SpeculateIntegerOperand::SpeculateIntegerOperand (this=0xffff6be4, jit=0xffff94e4, use=...,
&gt;     direction=JSC::DFG::BackwardSpeculation) at /home/oszi/WebKit/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h:2656
&gt; #9  0xf60e9ce1 in JSC::DFG::SpeculativeJIT::compileAdd (this=0xffff94e4, node=0xedf1017c)
&gt;     at /home/oszi/WebKit/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:2981
&gt; #10 0xf610e29f in JSC::DFG::SpeculativeJIT::compile (this=0xffff94e4, node=0xedf1017c)
&gt;     at /home/oszi/WebKit/Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp:2178
&gt; #11 0xf60e34ff in JSC::DFG::SpeculativeJIT::compile (this=0xffff94e4, block=...) at /home/oszi/WebKit/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:1725
&gt; #12 0xf60e3bda in JSC::DFG::SpeculativeJIT::compile (this=0xffff94e4) at /home/oszi/WebKit/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:1838
&gt; #13 0xf60aec4b in JSC::DFG::JITCompiler::compileBody (this=0xffffa72c, speculative=...) at /home/oszi/WebKit/Source/JavaScriptCore/dfg/DFGJITCompiler.cpp:108
&gt; #14 0xf60afe1a in JSC::DFG::JITCompiler::compileFunction (this=0xffffa72c, entry=..., entryWithArityCheck=...)
&gt;     at /home/oszi/WebKit/Source/JavaScriptCore/dfg/DFGJITCompiler.cpp:302
&gt; #15 0xf60a216e in JSC::DFG::compile (compileMode=JSC::DFG::CompileFunction, exec=0xeea001f0, codeBlock=0x8194f60, jitCode=...,
&gt;     jitCodeWithArityCheck=0xedfded44, osrEntryBytecodeIndex=0) at /home/oszi/WebKit/Source/JavaScriptCore/dfg/DFGDriver.cpp:173
&gt; #16 0xf60a1989 in JSC::DFG::tryCompileFunction (exec=0xeea001f0, codeBlock=0x8194f60, jitCode=..., jitCodeWithArityCheck=..., bytecodeIndex=0)
&gt;     at /home/oszi/WebKit/Source/JavaScriptCore/dfg/DFGDriver.cpp:191
&gt; #17 0xf6232a6c in JSC::jitCompileFunctionIfAppropriate (exec=0xeea001f0, codeBlock=..., jitCode=..., jitCodeWithArityCheck=...,
&gt;     jitType=JSC::JITCode::DFGJIT, bytecodeIndex=0, effort=JSC::JITCompilationCanFail) at /home/oszi/WebKit/Source/JavaScriptCore/jit/JITDriver.h:95
&gt; #18 0xf6232d28 in JSC::prepareFunctionForExecution (exec=0xeea001f0, codeBlock=..., jitCode=..., jitCodeWithArityCheck=..., jitType=JSC::JITCode::DFGJIT,
&gt;     bytecodeIndex=0, kind=JSC::CodeForCall) at /home/oszi/WebKit/Source/JavaScriptCore/runtime/ExecutionHarness.h:68
&gt; #19 0xf6231098 in JSC::FunctionExecutable::compileForCallInternal (this=0xedfded18, exec=0xeea001f0, scope=0xeef7f838, jitType=JSC::JITCode::DFGJIT,
&gt;     bytecodeIndex=0) at /home/oszi/WebKit/Source/JavaScriptCore/runtime/Executable.cpp:538
&gt; #20 0xf62308a9 in JSC::FunctionExecutable::compileOptimizedForCall (this=0xedfded18, exec=0xeea001f0, scope=0xeef7f838, bytecodeIndex=0)
&gt;     at /home/oszi/WebKit/Source/JavaScriptCore/runtime/Executable.cpp:463
&gt; #21 0xf5fa4708 in JSC::FunctionExecutable::compileOptimizedFor (this=0xedfded18, exec=0xeea001f0, scope=0xeef7f838, bytecodeIndex=0, kind=JSC::CodeForCall)
&gt;     at /home/oszi/WebKit/Source/JavaScriptCore/runtime/Executable.h:678
&gt; #22 0xf5f9f3ed in JSC::FunctionCodeBlock::compileOptimized (this=0x818d4d8, exec=0xeea001f0, scope=0xeef7f838, bytecodeIndex=0)
&gt;     at /home/oszi/WebKit/Source/JavaScriptCore/bytecode/CodeBlock.cpp:2846
&gt; #23 0xf6185c02 in JSC::cti_optimize (args=0xffffacf0) at /home/oszi/WebKit/Source/JavaScriptCore/jit/JITStubs.cpp:1892
&gt; #24 0xf6182a6a in JSC::tryCacheGetByID (callFrame=0x0, codeBlock=0xfffffffb, returnAddress=..., baseValue=..., propertyName=..., slot=...,
&gt;     stubInfo=0x80b7c44) at /home/oszi/WebKit/Source/JavaScriptCore/jit/JITStubs.cpp:989
&gt; #25 0x5a800000 in ?? ()
&gt; #26 0x00000000 in ?? ()
&gt; (gdb)

Yep - that&apos;s what I&apos;m seeing, too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836056</commentid>
    <comment_count>5</comment_count>
      <attachid>189008</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-02-19 00:06:34 -0800</bug_when>
    <thetext>Created attachment 189008
better patch

fixed another case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836067</commentid>
    <comment_count>6</comment_count>
      <attachid>189011</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-02-19 00:17:17 -0800</bug_when>
    <thetext>Created attachment 189011
better patch

Picking off bugs as I find them...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836090</commentid>
    <comment_count>7</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-02-19 00:47:47 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; Created an attachment (id=189011) [details]
&gt; better patch
&gt; 
&gt; Picking off bugs as I find them...

fast/js tests pass for me on 32 bit with this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836120</commentid>
    <comment_count>8</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-02-19 01:31:04 -0800</bug_when>
    <thetext>cc JSC reviewers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836159</commentid>
    <comment_count>9</comment_count>
      <attachid>189011</attachid>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2013-02-19 02:21:40 -0800</bug_when>
    <thetext>Comment on attachment 189011
better patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836166</commentid>
    <comment_count>10</comment_count>
      <attachid>189011</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-19 02:43:20 -0800</bug_when>
    <thetext>Comment on attachment 189011
better patch

Clearing flags on attachment: 189011

Committed r143314: &lt;http://trac.webkit.org/changeset/143314&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836167</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-19 02:43:24 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189007</attachid>
            <date>2013-02-19 00:04:45 -0800</date>
            <delta_ts>2013-02-19 00:06:34 -0800</delta_ts>
            <desc>possible patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>5805</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTQzMzAzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBA
CisyMDEzLTAyLTE4ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
UkVHUkVTU0lPTihyMTQzMjQxKTogSXQgbWFkZSAyNyBsYXlvdXQgdGVzdHMgY3Jhc2ggb24gMzIg
Yml0IHBsYXRmb3JtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTEwMTg0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAg
ICAgIAorICAgICAgICAzMi1iaXQgYmFja2VuZCB3YXMgbWFraW5nIGFsbCBzb3J0cyBvZiBjcmF6
eSBhc3N1bXB0aW9ucywgd2hpY2ggaGFwcGVuZWQgdG8gbW9zdGx5CisgICAgICAgIG5vdCBicmVh
ayB0aGluZ3MgcHJpb3IgdG8gaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTQzMjQx
LiBUaGlzIGJyaW5ncyB0aGUKKyAgICAgICAgMzItYml0IGJhY2tlbmQncyB0eXBlIHNwZWN1bGF0
aW9uIGZ1bGx5IGludG8gY29tcGxpYW5jZSB3aXRoIHdoYXQgdGhlIDY0LWJpdAorICAgICAgICBi
YWNrZW5kIGRvZXMuCisKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHA6
CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmZpbGxTcGVjdWxhdGVJbnRJbnRl
cm5hbCk6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmZpbGxTcGVjdWxhdGVE
b3VibGUpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpmaWxsU3BlY3VsYXRl
Q2VsbCk6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmZpbGxTcGVjdWxhdGVC
b29sZWFuKToKKwogMjAxMy0wMi0xOCAgSWx5YSBUaWtob25vdnNreSAgPGxvaXNsb0BjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCBidWlsZCBmaXggZm9yIEFwcGxlIFdpbmRvd3Mu
IFNlY29uZCBzdGFnZS4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3Vs
YXRpdmVKSVQzMl82NC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAkocmV2aXNpb24gMTQzMzAyKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtODU1LDcgKzg1NSwxMiBAQCBHUFJSZWcgU3BlY3VsYXRpdmVKSVQ6OmZpbGxTcGVj
dWxhdGVJbnRJCiAKICAgICBzd2l0Y2ggKGluZm8ucmVnaXN0ZXJGb3JtYXQoKSkgewogICAgIGNh
c2UgRGF0YUZvcm1hdE5vbmU6IHsKLQorICAgICAgICBpZiAoKG5vZGUtPmhhc0NvbnN0YW50KCkg
JiYgIWlzSW50MzJDb25zdGFudChub2RlKSkgfHwgaW5mby5zcGlsbEZvcm1hdCgpID09IERhdGFG
b3JtYXREb3VibGUpIHsKKyAgICAgICAgICAgIHRlcm1pbmF0ZVNwZWN1bGF0aXZlRXhlY3V0aW9u
KFVuY291bnRhYmxlLCBKU1ZhbHVlUmVncygpLCAwLCBkaXJlY3Rpb24pOworICAgICAgICAgICAg
cmV0dXJuRm9ybWF0ID0gRGF0YUZvcm1hdEludGVnZXI7CisgICAgICAgICAgICByZXR1cm4gYWxs
b2NhdGUoKTsKKyAgICAgICAgfQorICAgICAgICAKICAgICAgICAgaWYgKG5vZGUtPmhhc0NvbnN0
YW50KCkpIHsKICAgICAgICAgICAgIEFTU0VSVChpc0ludDMyQ29uc3RhbnQobm9kZSkpOwogICAg
ICAgICAgICAgR1BSUmVnIGdwciA9IGFsbG9jYXRlKCk7CkBAIC05MTMsOSArOTE4LDExIEBAIEdQ
UlJlZyBTcGVjdWxhdGl2ZUpJVDo6ZmlsbFNwZWN1bGF0ZUludEkKICAgICBjYXNlIERhdGFGb3Jt
YXRKU0RvdWJsZToKICAgICBjYXNlIERhdGFGb3JtYXRKU0NlbGw6CiAgICAgY2FzZSBEYXRhRm9y
bWF0SlNCb29sZWFuOgotICAgIGNhc2UgRGF0YUZvcm1hdFN0b3JhZ2U6Ci0gICAgICAgIFJFTEVB
U0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHRlcm1pbmF0ZVNwZWN1bGF0aXZlRXhl
Y3V0aW9uKFVuY291bnRhYmxlLCBKU1ZhbHVlUmVncygpLCAwLCBkaXJlY3Rpb24pOworICAgICAg
ICByZXR1cm5Gb3JtYXQgPSBEYXRhRm9ybWF0SW50ZWdlcjsKKyAgICAgICAgcmV0dXJuIGFsbG9j
YXRlKCk7CiAKKyAgICBjYXNlIERhdGFGb3JtYXRTdG9yYWdlOgogICAgIGRlZmF1bHQ6CiAgICAg
ICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIHJldHVybiBJbnZhbGlk
R1BSUmVnOwpAQCAtOTU5LDggKzk2NiwxMCBAQCBGUFJSZWcgU3BlY3VsYXRpdmVKSVQ6OmZpbGxT
cGVjdWxhdGVEb3ViCiAgICAgICAgICAgICAgICAgbV9mcHJzLnJldGFpbihmcHIsIHZpcnR1YWxS
ZWdpc3RlciwgU3BpbGxPcmRlckNvbnN0YW50KTsKICAgICAgICAgICAgICAgICBpbmZvLmZpbGxE
b3VibGUoKm1fc3RyZWFtLCBmcHIpOwogICAgICAgICAgICAgICAgIHJldHVybiBmcHI7Ci0gICAg
ICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hF
RCgpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICB0ZXJtaW5hdGVTcGVj
dWxhdGl2ZUV4ZWN1dGlvbihVbmNvdW50YWJsZSwgSlNWYWx1ZVJlZ3MoKSwgMCwgZGlyZWN0aW9u
KTsKKyAgICAgICAgICAgICAgICByZXR1cm4gZnByQWxsb2NhdGUoKTsKKyAgICAgICAgICAgIH0K
ICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIERhdGFGb3JtYXQgc3BpbGxGb3JtYXQgPSBp
bmZvLnNwaWxsRm9ybWF0KCk7CiAgICAgICAgICAgICBBU1NFUlQoKHNwaWxsRm9ybWF0ICYgRGF0
YUZvcm1hdEpTKSB8fCBzcGlsbEZvcm1hdCA9PSBEYXRhRm9ybWF0SW50ZWdlcik7CkBAIC0xMDUy
LDExICsxMDYxLDE0IEBAIEZQUlJlZyBTcGVjdWxhdGl2ZUpJVDo6ZmlsbFNwZWN1bGF0ZURvdWIK
IAogICAgIGNhc2UgRGF0YUZvcm1hdE5vbmU6CiAgICAgY2FzZSBEYXRhRm9ybWF0U3RvcmFnZToK
KyAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKwogICAgIGNhc2UgRGF0YUZv
cm1hdENlbGw6CiAgICAgY2FzZSBEYXRhRm9ybWF0SlNDZWxsOgogICAgIGNhc2UgRGF0YUZvcm1h
dEJvb2xlYW46CiAgICAgY2FzZSBEYXRhRm9ybWF0SlNCb29sZWFuOgotICAgICAgICBSRUxFQVNF
X0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICB0ZXJtaW5hdGVTcGVjdWxhdGl2ZUV4ZWN1
dGlvbihVbmNvdW50YWJsZSwgSlNWYWx1ZVJlZ3MoKSwgMCwgZGlyZWN0aW9uKTsKKyAgICAgICAg
cmV0dXJuIGZwckFsbG9jYXRlKCk7CiAKICAgICBkZWZhdWx0OgogICAgICAgICBSRUxFQVNFX0FT
U0VSVF9OT1RfUkVBQ0hFRCgpOwpAQCAtMTEyNCw2ICsxMTM2LDkgQEAgR1BSUmVnIFNwZWN1bGF0
aXZlSklUOjpmaWxsU3BlY3VsYXRlQ2VsbAogICAgIGNhc2UgRGF0YUZvcm1hdERvdWJsZToKICAg
ICBjYXNlIERhdGFGb3JtYXRKU0Jvb2xlYW46CiAgICAgY2FzZSBEYXRhRm9ybWF0Qm9vbGVhbjoK
KyAgICAgICAgdGVybWluYXRlU3BlY3VsYXRpdmVFeGVjdXRpb24oVW5jb3VudGFibGUsIEpTVmFs
dWVSZWdzKCksIDAsIGRpcmVjdGlvbik7CisgICAgICAgIHJldHVybiBhbGxvY2F0ZSgpOworCiAg
ICAgY2FzZSBEYXRhRm9ybWF0U3RvcmFnZToKICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JF
QUNIRUQoKTsKIApAQCAtMTE0MSwyMiArMTE1NiwyNCBAQCBHUFJSZWcgU3BlY3VsYXRpdmVKSVQ6
OmZpbGxTcGVjdWxhdGVCb29sCiAgICAgU3BlY3VsYXRlZFR5cGUgdHlwZSA9IG1fc3RhdGUuZm9y
Tm9kZShub2RlKS5tX3R5cGU7CiAgICAgVmlydHVhbFJlZ2lzdGVyIHZpcnR1YWxSZWdpc3RlciA9
IG5vZGUtPnZpcnR1YWxSZWdpc3RlcigpOwogICAgIEdlbmVyYXRpb25JbmZvJiBpbmZvID0gbV9n
ZW5lcmF0aW9uSW5mb1t2aXJ0dWFsUmVnaXN0ZXJdOwotICAgIGlmICgobm9kZS0+aGFzQ29uc3Rh
bnQoKSAmJiAhdmFsdWVPZkpTQ29uc3RhbnQobm9kZSkuaXNCb29sZWFuKCkpCi0gICAgICAgIHx8
ICEoaW5mby5pc0pTQm9vbGVhbigpIHx8IGluZm8uaXNVbmtub3duSlMoKSkpIHsKLSAgICAgICAg
dGVybWluYXRlU3BlY3VsYXRpdmVFeGVjdXRpb24oVW5jb3VudGFibGUsIEpTVmFsdWVSZWdzKCks
IDAsIGRpcmVjdGlvbik7Ci0gICAgICAgIHJldHVybiBhbGxvY2F0ZSgpOwotICAgIH0KIAogICAg
IHN3aXRjaCAoaW5mby5yZWdpc3RlckZvcm1hdCgpKSB7CiAgICAgY2FzZSBEYXRhRm9ybWF0Tm9u
ZTogewotCisgICAgICAgIGlmIChpbmZvLnNwaWxsRm9ybWF0KCkgPT0gRGF0YUZvcm1hdEludGVn
ZXIgfHwgaW5mby5zcGlsbEZvcm1hdCgpID09IERhdGFGb3JtYXREb3VibGUpIHsKKyAgICAgICAg
ICAgIHRlcm1pbmF0ZVNwZWN1bGF0aXZlRXhlY3V0aW9uKFVuY291bnRhYmxlLCBKU1ZhbHVlUmVn
cygpLCAwLCBkaXJlY3Rpb24pOworICAgICAgICAgICAgcmV0dXJuIGFsbG9jYXRlKCk7CisgICAg
ICAgIH0KKyAgICAgICAgCiAgICAgICAgIGlmIChub2RlLT5oYXNDb25zdGFudCgpKSB7CiAgICAg
ICAgICAgICBKU1ZhbHVlIGpzVmFsdWUgPSB2YWx1ZU9mSlNDb25zdGFudChub2RlKTsKLSAgICAg
ICAgICAgIEFTU0VSVChqc1ZhbHVlLmlzQm9vbGVhbigpKTsKICAgICAgICAgICAgIEdQUlJlZyBn
cHIgPSBhbGxvY2F0ZSgpOwotICAgICAgICAgICAgbV9ncHJzLnJldGFpbihncHIsIHZpcnR1YWxS
ZWdpc3RlciwgU3BpbGxPcmRlckNvbnN0YW50KTsKLSAgICAgICAgICAgIG1faml0Lm1vdmUoTWFj
cm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW0zMihqc1ZhbHVlLmFzQm9vbGVhbigpKSwgZ3ByKTsKLSAg
ICAgICAgICAgIGluZm8uZmlsbEJvb2xlYW4oKm1fc3RyZWFtLCBncHIpOworICAgICAgICAgICAg
aWYgKGpzVmFsdWUuaXNCb29sZWFuKCkpIHsKKyAgICAgICAgICAgICAgICBtX2dwcnMucmV0YWlu
KGdwciwgdmlydHVhbFJlZ2lzdGVyLCBTcGlsbE9yZGVyQ29uc3RhbnQpOworICAgICAgICAgICAg
ICAgIG1faml0Lm1vdmUoTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW0zMihqc1ZhbHVlLmFzQm9v
bGVhbigpKSwgZ3ByKTsKKyAgICAgICAgICAgICAgICBpbmZvLmZpbGxCb29sZWFuKCptX3N0cmVh
bSwgZ3ByKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gZ3ByOworICAgICAgICAgICAgfQorICAg
ICAgICAgICAgdGVybWluYXRlU3BlY3VsYXRpdmVFeGVjdXRpb24oVW5jb3VudGFibGUsIEpTVmFs
dWVSZWdzKCksIDAsIGRpcmVjdGlvbik7CiAgICAgICAgICAgICByZXR1cm4gZ3ByOwogICAgICAg
ICB9CiAKQEAgLTEyMDEsNiArMTIxOCw5IEBAIEdQUlJlZyBTcGVjdWxhdGl2ZUpJVDo6ZmlsbFNw
ZWN1bGF0ZUJvb2wKICAgICBjYXNlIERhdGFGb3JtYXREb3VibGU6CiAgICAgY2FzZSBEYXRhRm9y
bWF0SlNDZWxsOgogICAgIGNhc2UgRGF0YUZvcm1hdENlbGw6CisgICAgICAgIHRlcm1pbmF0ZVNw
ZWN1bGF0aXZlRXhlY3V0aW9uKFVuY291bnRhYmxlLCBKU1ZhbHVlUmVncygpLCAwLCBkaXJlY3Rp
b24pOworICAgICAgICByZXR1cm4gYWxsb2NhdGUoKTsKKwogICAgIGNhc2UgRGF0YUZvcm1hdFN0
b3JhZ2U6CiAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189008</attachid>
            <date>2013-02-19 00:06:34 -0800</date>
            <delta_ts>2013-02-19 00:17:17 -0800</delta_ts>
            <desc>better patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>6644</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTQzMzAzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBA
CisyMDEzLTAyLTE4ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
UkVHUkVTU0lPTihyMTQzMjQxKTogSXQgbWFkZSAyNyBsYXlvdXQgdGVzdHMgY3Jhc2ggb24gMzIg
Yml0IHBsYXRmb3JtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTEwMTg0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAg
ICAgIAorICAgICAgICAzMi1iaXQgYmFja2VuZCB3YXMgbWFraW5nIGFsbCBzb3J0cyBvZiBjcmF6
eSBhc3N1bXB0aW9ucywgd2hpY2ggaGFwcGVuZWQgdG8gbW9zdGx5CisgICAgICAgIG5vdCBicmVh
ayB0aGluZ3MgcHJpb3IgdG8gaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTQzMjQx
LiBUaGlzIGJyaW5ncyB0aGUKKyAgICAgICAgMzItYml0IGJhY2tlbmQncyB0eXBlIHNwZWN1bGF0
aW9uIGZ1bGx5IGludG8gY29tcGxpYW5jZSB3aXRoIHdoYXQgdGhlIDY0LWJpdAorICAgICAgICBi
YWNrZW5kIGRvZXMuCisKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHA6
CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmZpbGxTcGVjdWxhdGVJbnRJbnRl
cm5hbCk6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmZpbGxTcGVjdWxhdGVE
b3VibGUpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpmaWxsU3BlY3VsYXRl
Q2VsbCk6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmZpbGxTcGVjdWxhdGVC
b29sZWFuKToKKwogMjAxMy0wMi0xOCAgSWx5YSBUaWtob25vdnNreSAgPGxvaXNsb0BjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCBidWlsZCBmaXggZm9yIEFwcGxlIFdpbmRvd3Mu
IFNlY29uZCBzdGFnZS4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3Vs
YXRpdmVKSVQzMl82NC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAkocmV2aXNpb24gMTQzMzAyKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtODU1LDcgKzg1NSwxMiBAQCBHUFJSZWcgU3BlY3VsYXRpdmVKSVQ6OmZpbGxTcGVj
dWxhdGVJbnRJCiAKICAgICBzd2l0Y2ggKGluZm8ucmVnaXN0ZXJGb3JtYXQoKSkgewogICAgIGNh
c2UgRGF0YUZvcm1hdE5vbmU6IHsKLQorICAgICAgICBpZiAoKG5vZGUtPmhhc0NvbnN0YW50KCkg
JiYgIWlzSW50MzJDb25zdGFudChub2RlKSkgfHwgaW5mby5zcGlsbEZvcm1hdCgpID09IERhdGFG
b3JtYXREb3VibGUpIHsKKyAgICAgICAgICAgIHRlcm1pbmF0ZVNwZWN1bGF0aXZlRXhlY3V0aW9u
KFVuY291bnRhYmxlLCBKU1ZhbHVlUmVncygpLCAwLCBkaXJlY3Rpb24pOworICAgICAgICAgICAg
cmV0dXJuRm9ybWF0ID0gRGF0YUZvcm1hdEludGVnZXI7CisgICAgICAgICAgICByZXR1cm4gYWxs
b2NhdGUoKTsKKyAgICAgICAgfQorICAgICAgICAKICAgICAgICAgaWYgKG5vZGUtPmhhc0NvbnN0
YW50KCkpIHsKICAgICAgICAgICAgIEFTU0VSVChpc0ludDMyQ29uc3RhbnQobm9kZSkpOwogICAg
ICAgICAgICAgR1BSUmVnIGdwciA9IGFsbG9jYXRlKCk7CkBAIC05MTMsOSArOTE4LDExIEBAIEdQ
UlJlZyBTcGVjdWxhdGl2ZUpJVDo6ZmlsbFNwZWN1bGF0ZUludEkKICAgICBjYXNlIERhdGFGb3Jt
YXRKU0RvdWJsZToKICAgICBjYXNlIERhdGFGb3JtYXRKU0NlbGw6CiAgICAgY2FzZSBEYXRhRm9y
bWF0SlNCb29sZWFuOgotICAgIGNhc2UgRGF0YUZvcm1hdFN0b3JhZ2U6Ci0gICAgICAgIFJFTEVB
U0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHRlcm1pbmF0ZVNwZWN1bGF0aXZlRXhl
Y3V0aW9uKFVuY291bnRhYmxlLCBKU1ZhbHVlUmVncygpLCAwLCBkaXJlY3Rpb24pOworICAgICAg
ICByZXR1cm5Gb3JtYXQgPSBEYXRhRm9ybWF0SW50ZWdlcjsKKyAgICAgICAgcmV0dXJuIGFsbG9j
YXRlKCk7CiAKKyAgICBjYXNlIERhdGFGb3JtYXRTdG9yYWdlOgogICAgIGRlZmF1bHQ6CiAgICAg
ICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIHJldHVybiBJbnZhbGlk
R1BSUmVnOwpAQCAtOTU5LDggKzk2NiwxMCBAQCBGUFJSZWcgU3BlY3VsYXRpdmVKSVQ6OmZpbGxT
cGVjdWxhdGVEb3ViCiAgICAgICAgICAgICAgICAgbV9mcHJzLnJldGFpbihmcHIsIHZpcnR1YWxS
ZWdpc3RlciwgU3BpbGxPcmRlckNvbnN0YW50KTsKICAgICAgICAgICAgICAgICBpbmZvLmZpbGxE
b3VibGUoKm1fc3RyZWFtLCBmcHIpOwogICAgICAgICAgICAgICAgIHJldHVybiBmcHI7Ci0gICAg
ICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hF
RCgpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICB0ZXJtaW5hdGVTcGVj
dWxhdGl2ZUV4ZWN1dGlvbihVbmNvdW50YWJsZSwgSlNWYWx1ZVJlZ3MoKSwgMCwgZGlyZWN0aW9u
KTsKKyAgICAgICAgICAgICAgICByZXR1cm4gZnByQWxsb2NhdGUoKTsKKyAgICAgICAgICAgIH0K
ICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIERhdGFGb3JtYXQgc3BpbGxGb3JtYXQgPSBp
bmZvLnNwaWxsRm9ybWF0KCk7CiAgICAgICAgICAgICBBU1NFUlQoKHNwaWxsRm9ybWF0ICYgRGF0
YUZvcm1hdEpTKSB8fCBzcGlsbEZvcm1hdCA9PSBEYXRhRm9ybWF0SW50ZWdlcik7CkBAIC0xMDUy
LDExICsxMDYxLDE0IEBAIEZQUlJlZyBTcGVjdWxhdGl2ZUpJVDo6ZmlsbFNwZWN1bGF0ZURvdWIK
IAogICAgIGNhc2UgRGF0YUZvcm1hdE5vbmU6CiAgICAgY2FzZSBEYXRhRm9ybWF0U3RvcmFnZToK
KyAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKwogICAgIGNhc2UgRGF0YUZv
cm1hdENlbGw6CiAgICAgY2FzZSBEYXRhRm9ybWF0SlNDZWxsOgogICAgIGNhc2UgRGF0YUZvcm1h
dEJvb2xlYW46CiAgICAgY2FzZSBEYXRhRm9ybWF0SlNCb29sZWFuOgotICAgICAgICBSRUxFQVNF
X0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICB0ZXJtaW5hdGVTcGVjdWxhdGl2ZUV4ZWN1
dGlvbihVbmNvdW50YWJsZSwgSlNWYWx1ZVJlZ3MoKSwgMCwgZGlyZWN0aW9uKTsKKyAgICAgICAg
cmV0dXJuIGZwckFsbG9jYXRlKCk7CiAKICAgICBkZWZhdWx0OgogICAgICAgICBSRUxFQVNFX0FT
U0VSVF9OT1RfUkVBQ0hFRCgpOwpAQCAtMTA3OCwxMSArMTA5MCwxNCBAQCBHUFJSZWcgU3BlY3Vs
YXRpdmVKSVQ6OmZpbGxTcGVjdWxhdGVDZWxsCiAKICAgICAgICAgaWYgKG5vZGUtPmhhc0NvbnN0
YW50KCkpIHsKICAgICAgICAgICAgIEpTVmFsdWUganNWYWx1ZSA9IHZhbHVlT2ZKU0NvbnN0YW50
KG5vZGUpOwotICAgICAgICAgICAgQVNTRVJUKGpzVmFsdWUuaXNDZWxsKCkpOwogICAgICAgICAg
ICAgR1BSUmVnIGdwciA9IGFsbG9jYXRlKCk7Ci0gICAgICAgICAgICBtX2dwcnMucmV0YWluKGdw
ciwgdmlydHVhbFJlZ2lzdGVyLCBTcGlsbE9yZGVyQ29uc3RhbnQpOwotICAgICAgICAgICAgbV9q
aXQubW92ZShNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbVB0cihqc1ZhbHVlLmFzQ2VsbCgpKSwg
Z3ByKTsKLSAgICAgICAgICAgIGluZm8uZmlsbENlbGwoKm1fc3RyZWFtLCBncHIpOworICAgICAg
ICAgICAgaWYgKGpzVmFsdWUuaXNDZWxsKCkpIHsKKyAgICAgICAgICAgICAgICBtX2dwcnMucmV0
YWluKGdwciwgdmlydHVhbFJlZ2lzdGVyLCBTcGlsbE9yZGVyQ29uc3RhbnQpOworICAgICAgICAg
ICAgICAgIG1faml0Lm1vdmUoTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW1QdHIoanNWYWx1ZS5h
c0NlbGwoKSksIGdwcik7CisgICAgICAgICAgICAgICAgaW5mby5maWxsQ2VsbCgqbV9zdHJlYW0s
IGdwcik7CisgICAgICAgICAgICAgICAgcmV0dXJuIGdwcjsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIHRlcm1pbmF0ZVNwZWN1bGF0aXZlRXhlY3V0aW9uKFVuY291bnRhYmxlLCBKU1ZhbHVl
UmVncygpLCAwLCBkaXJlY3Rpb24pOwogICAgICAgICAgICAgcmV0dXJuIGdwcjsKICAgICAgICAg
fQogCkBAIC0xMTI0LDYgKzExMzksOSBAQCBHUFJSZWcgU3BlY3VsYXRpdmVKSVQ6OmZpbGxTcGVj
dWxhdGVDZWxsCiAgICAgY2FzZSBEYXRhRm9ybWF0RG91YmxlOgogICAgIGNhc2UgRGF0YUZvcm1h
dEpTQm9vbGVhbjoKICAgICBjYXNlIERhdGFGb3JtYXRCb29sZWFuOgorICAgICAgICB0ZXJtaW5h
dGVTcGVjdWxhdGl2ZUV4ZWN1dGlvbihVbmNvdW50YWJsZSwgSlNWYWx1ZVJlZ3MoKSwgMCwgZGly
ZWN0aW9uKTsKKyAgICAgICAgcmV0dXJuIGFsbG9jYXRlKCk7CisKICAgICBjYXNlIERhdGFGb3Jt
YXRTdG9yYWdlOgogICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogCkBAIC0x
MTQxLDIyICsxMTU5LDI0IEBAIEdQUlJlZyBTcGVjdWxhdGl2ZUpJVDo6ZmlsbFNwZWN1bGF0ZUJv
b2wKICAgICBTcGVjdWxhdGVkVHlwZSB0eXBlID0gbV9zdGF0ZS5mb3JOb2RlKG5vZGUpLm1fdHlw
ZTsKICAgICBWaXJ0dWFsUmVnaXN0ZXIgdmlydHVhbFJlZ2lzdGVyID0gbm9kZS0+dmlydHVhbFJl
Z2lzdGVyKCk7CiAgICAgR2VuZXJhdGlvbkluZm8mIGluZm8gPSBtX2dlbmVyYXRpb25JbmZvW3Zp
cnR1YWxSZWdpc3Rlcl07Ci0gICAgaWYgKChub2RlLT5oYXNDb25zdGFudCgpICYmICF2YWx1ZU9m
SlNDb25zdGFudChub2RlKS5pc0Jvb2xlYW4oKSkKLSAgICAgICAgfHwgIShpbmZvLmlzSlNCb29s
ZWFuKCkgfHwgaW5mby5pc1Vua25vd25KUygpKSkgewotICAgICAgICB0ZXJtaW5hdGVTcGVjdWxh
dGl2ZUV4ZWN1dGlvbihVbmNvdW50YWJsZSwgSlNWYWx1ZVJlZ3MoKSwgMCwgZGlyZWN0aW9uKTsK
LSAgICAgICAgcmV0dXJuIGFsbG9jYXRlKCk7Ci0gICAgfQogCiAgICAgc3dpdGNoIChpbmZvLnJl
Z2lzdGVyRm9ybWF0KCkpIHsKICAgICBjYXNlIERhdGFGb3JtYXROb25lOiB7Ci0KKyAgICAgICAg
aWYgKGluZm8uc3BpbGxGb3JtYXQoKSA9PSBEYXRhRm9ybWF0SW50ZWdlciB8fCBpbmZvLnNwaWxs
Rm9ybWF0KCkgPT0gRGF0YUZvcm1hdERvdWJsZSkgeworICAgICAgICAgICAgdGVybWluYXRlU3Bl
Y3VsYXRpdmVFeGVjdXRpb24oVW5jb3VudGFibGUsIEpTVmFsdWVSZWdzKCksIDAsIGRpcmVjdGlv
bik7CisgICAgICAgICAgICByZXR1cm4gYWxsb2NhdGUoKTsKKyAgICAgICAgfQorICAgICAgICAK
ICAgICAgICAgaWYgKG5vZGUtPmhhc0NvbnN0YW50KCkpIHsKICAgICAgICAgICAgIEpTVmFsdWUg
anNWYWx1ZSA9IHZhbHVlT2ZKU0NvbnN0YW50KG5vZGUpOwotICAgICAgICAgICAgQVNTRVJUKGpz
VmFsdWUuaXNCb29sZWFuKCkpOwogICAgICAgICAgICAgR1BSUmVnIGdwciA9IGFsbG9jYXRlKCk7
Ci0gICAgICAgICAgICBtX2dwcnMucmV0YWluKGdwciwgdmlydHVhbFJlZ2lzdGVyLCBTcGlsbE9y
ZGVyQ29uc3RhbnQpOwotICAgICAgICAgICAgbV9qaXQubW92ZShNYWNyb0Fzc2VtYmxlcjo6VHJ1
c3RlZEltbTMyKGpzVmFsdWUuYXNCb29sZWFuKCkpLCBncHIpOwotICAgICAgICAgICAgaW5mby5m
aWxsQm9vbGVhbigqbV9zdHJlYW0sIGdwcik7CisgICAgICAgICAgICBpZiAoanNWYWx1ZS5pc0Jv
b2xlYW4oKSkgeworICAgICAgICAgICAgICAgIG1fZ3Bycy5yZXRhaW4oZ3ByLCB2aXJ0dWFsUmVn
aXN0ZXIsIFNwaWxsT3JkZXJDb25zdGFudCk7CisgICAgICAgICAgICAgICAgbV9qaXQubW92ZShN
YWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbTMyKGpzVmFsdWUuYXNCb29sZWFuKCkpLCBncHIpOwor
ICAgICAgICAgICAgICAgIGluZm8uZmlsbEJvb2xlYW4oKm1fc3RyZWFtLCBncHIpOworICAgICAg
ICAgICAgICAgIHJldHVybiBncHI7CisgICAgICAgICAgICB9CisgICAgICAgICAgICB0ZXJtaW5h
dGVTcGVjdWxhdGl2ZUV4ZWN1dGlvbihVbmNvdW50YWJsZSwgSlNWYWx1ZVJlZ3MoKSwgMCwgZGly
ZWN0aW9uKTsKICAgICAgICAgICAgIHJldHVybiBncHI7CiAgICAgICAgIH0KIApAQCAtMTIwMSw2
ICsxMjIxLDkgQEAgR1BSUmVnIFNwZWN1bGF0aXZlSklUOjpmaWxsU3BlY3VsYXRlQm9vbAogICAg
IGNhc2UgRGF0YUZvcm1hdERvdWJsZToKICAgICBjYXNlIERhdGFGb3JtYXRKU0NlbGw6CiAgICAg
Y2FzZSBEYXRhRm9ybWF0Q2VsbDoKKyAgICAgICAgdGVybWluYXRlU3BlY3VsYXRpdmVFeGVjdXRp
b24oVW5jb3VudGFibGUsIEpTVmFsdWVSZWdzKCksIDAsIGRpcmVjdGlvbik7CisgICAgICAgIHJl
dHVybiBhbGxvY2F0ZSgpOworCiAgICAgY2FzZSBEYXRhRm9ybWF0U3RvcmFnZToKICAgICAgICAg
UkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189011</attachid>
            <date>2013-02-19 00:17:17 -0800</date>
            <delta_ts>2013-02-19 02:43:20 -0800</delta_ts>
            <desc>better patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>7700</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTQzMzA0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBA
CisyMDEzLTAyLTE5ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
UkVHUkVTU0lPTihyMTQzMjQxKTogSXQgbWFkZSAyNyBsYXlvdXQgdGVzdHMgY3Jhc2ggb24gMzIg
Yml0IHBsYXRmb3JtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTEwMTg0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAg
ICAgIAorICAgICAgICAzMi1iaXQgYmFja2VuZCB3YXMgbWFraW5nIGFsbCBzb3J0cyBvZiBjcmF6
eSBhc3N1bXB0aW9ucywgd2hpY2ggaGFwcGVuZWQgdG8gbW9zdGx5CisgICAgICAgIG5vdCBicmVh
ayB0aGluZ3MgcHJpb3IgdG8gaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTQzMjQx
LiBUaGlzIGJyaW5ncyB0aGUKKyAgICAgICAgMzItYml0IGJhY2tlbmQncyB0eXBlIHNwZWN1bGF0
aW9uIGZ1bGx5IGludG8gY29tcGxpYW5jZSB3aXRoIHdoYXQgdGhlIDY0LWJpdAorICAgICAgICBi
YWNrZW5kIGRvZXMuCisKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwOgorICAg
ICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjaGVja0dlbmVyYXRlZFR5cGVGb3JUb0lu
dDMyKToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVZhbHVlVG9J
bnQzMik6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwOgorICAgICAg
ICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpmaWxsU3BlY3VsYXRlSW50SW50ZXJuYWwpOgor
ICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpmaWxsU3BlY3VsYXRlRG91YmxlKToK
KyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6ZmlsbFNwZWN1bGF0ZUNlbGwpOgor
ICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpmaWxsU3BlY3VsYXRlQm9vbGVhbik6
CisKIDIwMTMtMDItMTggIElseWEgVGlraG9ub3Zza3kgIDxsb2lzbG9AY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFVucmV2aWV3ZWQgYnVpbGQgZml4IGZvciBBcHBsZSBXaW5kb3dzLiBTZWNvbmQg
c3RhZ2UuCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklU
MzJfNjQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3Bl
Y3VsYXRpdmVKSVQzMl82NC5jcHAJKHJldmlzaW9uIDE0MzMwMikKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTg1NSw3ICs4NTUsMTIgQEAgR1BSUmVnIFNwZWN1bGF0aXZlSklUOjpmaWxsU3BlY3VsYXRlSW50
SQogCiAgICAgc3dpdGNoIChpbmZvLnJlZ2lzdGVyRm9ybWF0KCkpIHsKICAgICBjYXNlIERhdGFG
b3JtYXROb25lOiB7Ci0KKyAgICAgICAgaWYgKChub2RlLT5oYXNDb25zdGFudCgpICYmICFpc0lu
dDMyQ29uc3RhbnQobm9kZSkpIHx8IGluZm8uc3BpbGxGb3JtYXQoKSA9PSBEYXRhRm9ybWF0RG91
YmxlKSB7CisgICAgICAgICAgICB0ZXJtaW5hdGVTcGVjdWxhdGl2ZUV4ZWN1dGlvbihVbmNvdW50
YWJsZSwgSlNWYWx1ZVJlZ3MoKSwgMCwgZGlyZWN0aW9uKTsKKyAgICAgICAgICAgIHJldHVybkZv
cm1hdCA9IERhdGFGb3JtYXRJbnRlZ2VyOworICAgICAgICAgICAgcmV0dXJuIGFsbG9jYXRlKCk7
CisgICAgICAgIH0KKyAgICAgICAgCiAgICAgICAgIGlmIChub2RlLT5oYXNDb25zdGFudCgpKSB7
CiAgICAgICAgICAgICBBU1NFUlQoaXNJbnQzMkNvbnN0YW50KG5vZGUpKTsKICAgICAgICAgICAg
IEdQUlJlZyBncHIgPSBhbGxvY2F0ZSgpOwpAQCAtOTEzLDkgKzkxOCwxMSBAQCBHUFJSZWcgU3Bl
Y3VsYXRpdmVKSVQ6OmZpbGxTcGVjdWxhdGVJbnRJCiAgICAgY2FzZSBEYXRhRm9ybWF0SlNEb3Vi
bGU6CiAgICAgY2FzZSBEYXRhRm9ybWF0SlNDZWxsOgogICAgIGNhc2UgRGF0YUZvcm1hdEpTQm9v
bGVhbjoKLSAgICBjYXNlIERhdGFGb3JtYXRTdG9yYWdlOgotICAgICAgICBSRUxFQVNFX0FTU0VS
VF9OT1RfUkVBQ0hFRCgpOworICAgICAgICB0ZXJtaW5hdGVTcGVjdWxhdGl2ZUV4ZWN1dGlvbihV
bmNvdW50YWJsZSwgSlNWYWx1ZVJlZ3MoKSwgMCwgZGlyZWN0aW9uKTsKKyAgICAgICAgcmV0dXJu
Rm9ybWF0ID0gRGF0YUZvcm1hdEludGVnZXI7CisgICAgICAgIHJldHVybiBhbGxvY2F0ZSgpOwog
CisgICAgY2FzZSBEYXRhRm9ybWF0U3RvcmFnZToKICAgICBkZWZhdWx0OgogICAgICAgICBSRUxF
QVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICByZXR1cm4gSW52YWxpZEdQUlJlZzsK
QEAgLTk1OSw4ICs5NjYsMTAgQEAgRlBSUmVnIFNwZWN1bGF0aXZlSklUOjpmaWxsU3BlY3VsYXRl
RG91YgogICAgICAgICAgICAgICAgIG1fZnBycy5yZXRhaW4oZnByLCB2aXJ0dWFsUmVnaXN0ZXIs
IFNwaWxsT3JkZXJDb25zdGFudCk7CiAgICAgICAgICAgICAgICAgaW5mby5maWxsRG91YmxlKCpt
X3N0cmVhbSwgZnByKTsKICAgICAgICAgICAgICAgICByZXR1cm4gZnByOwotICAgICAgICAgICAg
fSBlbHNlCi0gICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAg
ICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgdGVybWluYXRlU3BlY3VsYXRpdmVF
eGVjdXRpb24oVW5jb3VudGFibGUsIEpTVmFsdWVSZWdzKCksIDAsIGRpcmVjdGlvbik7CisgICAg
ICAgICAgICAgICAgcmV0dXJuIGZwckFsbG9jYXRlKCk7CisgICAgICAgICAgICB9CiAgICAgICAg
IH0gZWxzZSB7CiAgICAgICAgICAgICBEYXRhRm9ybWF0IHNwaWxsRm9ybWF0ID0gaW5mby5zcGls
bEZvcm1hdCgpOwogICAgICAgICAgICAgQVNTRVJUKChzcGlsbEZvcm1hdCAmIERhdGFGb3JtYXRK
UykgfHwgc3BpbGxGb3JtYXQgPT0gRGF0YUZvcm1hdEludGVnZXIpOwpAQCAtMTA1MiwxMSArMTA2
MSwxNCBAQCBGUFJSZWcgU3BlY3VsYXRpdmVKSVQ6OmZpbGxTcGVjdWxhdGVEb3ViCiAKICAgICBj
YXNlIERhdGFGb3JtYXROb25lOgogICAgIGNhc2UgRGF0YUZvcm1hdFN0b3JhZ2U6CisgICAgICAg
IFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CisKICAgICBjYXNlIERhdGFGb3JtYXRDZWxs
OgogICAgIGNhc2UgRGF0YUZvcm1hdEpTQ2VsbDoKICAgICBjYXNlIERhdGFGb3JtYXRCb29sZWFu
OgogICAgIGNhc2UgRGF0YUZvcm1hdEpTQm9vbGVhbjoKLSAgICAgICAgUkVMRUFTRV9BU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKKyAgICAgICAgdGVybWluYXRlU3BlY3VsYXRpdmVFeGVjdXRpb24oVW5j
b3VudGFibGUsIEpTVmFsdWVSZWdzKCksIDAsIGRpcmVjdGlvbik7CisgICAgICAgIHJldHVybiBm
cHJBbGxvY2F0ZSgpOwogCiAgICAgZGVmYXVsdDoKICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9U
X1JFQUNIRUQoKTsKQEAgLTEwNzgsMTEgKzEwOTAsMTQgQEAgR1BSUmVnIFNwZWN1bGF0aXZlSklU
OjpmaWxsU3BlY3VsYXRlQ2VsbAogCiAgICAgICAgIGlmIChub2RlLT5oYXNDb25zdGFudCgpKSB7
CiAgICAgICAgICAgICBKU1ZhbHVlIGpzVmFsdWUgPSB2YWx1ZU9mSlNDb25zdGFudChub2RlKTsK
LSAgICAgICAgICAgIEFTU0VSVChqc1ZhbHVlLmlzQ2VsbCgpKTsKICAgICAgICAgICAgIEdQUlJl
ZyBncHIgPSBhbGxvY2F0ZSgpOwotICAgICAgICAgICAgbV9ncHJzLnJldGFpbihncHIsIHZpcnR1
YWxSZWdpc3RlciwgU3BpbGxPcmRlckNvbnN0YW50KTsKLSAgICAgICAgICAgIG1faml0Lm1vdmUo
TWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW1QdHIoanNWYWx1ZS5hc0NlbGwoKSksIGdwcik7Ci0g
ICAgICAgICAgICBpbmZvLmZpbGxDZWxsKCptX3N0cmVhbSwgZ3ByKTsKKyAgICAgICAgICAgIGlm
IChqc1ZhbHVlLmlzQ2VsbCgpKSB7CisgICAgICAgICAgICAgICAgbV9ncHJzLnJldGFpbihncHIs
IHZpcnR1YWxSZWdpc3RlciwgU3BpbGxPcmRlckNvbnN0YW50KTsKKyAgICAgICAgICAgICAgICBt
X2ppdC5tb3ZlKE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tUHRyKGpzVmFsdWUuYXNDZWxsKCkp
LCBncHIpOworICAgICAgICAgICAgICAgIGluZm8uZmlsbENlbGwoKm1fc3RyZWFtLCBncHIpOwor
ICAgICAgICAgICAgICAgIHJldHVybiBncHI7CisgICAgICAgICAgICB9CisgICAgICAgICAgICB0
ZXJtaW5hdGVTcGVjdWxhdGl2ZUV4ZWN1dGlvbihVbmNvdW50YWJsZSwgSlNWYWx1ZVJlZ3MoKSwg
MCwgZGlyZWN0aW9uKTsKICAgICAgICAgICAgIHJldHVybiBncHI7CiAgICAgICAgIH0KIApAQCAt
MTEyNCw2ICsxMTM5LDkgQEAgR1BSUmVnIFNwZWN1bGF0aXZlSklUOjpmaWxsU3BlY3VsYXRlQ2Vs
bAogICAgIGNhc2UgRGF0YUZvcm1hdERvdWJsZToKICAgICBjYXNlIERhdGFGb3JtYXRKU0Jvb2xl
YW46CiAgICAgY2FzZSBEYXRhRm9ybWF0Qm9vbGVhbjoKKyAgICAgICAgdGVybWluYXRlU3BlY3Vs
YXRpdmVFeGVjdXRpb24oVW5jb3VudGFibGUsIEpTVmFsdWVSZWdzKCksIDAsIGRpcmVjdGlvbik7
CisgICAgICAgIHJldHVybiBhbGxvY2F0ZSgpOworCiAgICAgY2FzZSBEYXRhRm9ybWF0U3RvcmFn
ZToKICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKIApAQCAtMTE0MSwyMiAr
MTE1OSwyNCBAQCBHUFJSZWcgU3BlY3VsYXRpdmVKSVQ6OmZpbGxTcGVjdWxhdGVCb29sCiAgICAg
U3BlY3VsYXRlZFR5cGUgdHlwZSA9IG1fc3RhdGUuZm9yTm9kZShub2RlKS5tX3R5cGU7CiAgICAg
VmlydHVhbFJlZ2lzdGVyIHZpcnR1YWxSZWdpc3RlciA9IG5vZGUtPnZpcnR1YWxSZWdpc3Rlcigp
OwogICAgIEdlbmVyYXRpb25JbmZvJiBpbmZvID0gbV9nZW5lcmF0aW9uSW5mb1t2aXJ0dWFsUmVn
aXN0ZXJdOwotICAgIGlmICgobm9kZS0+aGFzQ29uc3RhbnQoKSAmJiAhdmFsdWVPZkpTQ29uc3Rh
bnQobm9kZSkuaXNCb29sZWFuKCkpCi0gICAgICAgIHx8ICEoaW5mby5pc0pTQm9vbGVhbigpIHx8
IGluZm8uaXNVbmtub3duSlMoKSkpIHsKLSAgICAgICAgdGVybWluYXRlU3BlY3VsYXRpdmVFeGVj
dXRpb24oVW5jb3VudGFibGUsIEpTVmFsdWVSZWdzKCksIDAsIGRpcmVjdGlvbik7Ci0gICAgICAg
IHJldHVybiBhbGxvY2F0ZSgpOwotICAgIH0KIAogICAgIHN3aXRjaCAoaW5mby5yZWdpc3RlckZv
cm1hdCgpKSB7CiAgICAgY2FzZSBEYXRhRm9ybWF0Tm9uZTogewotCisgICAgICAgIGlmIChpbmZv
LnNwaWxsRm9ybWF0KCkgPT0gRGF0YUZvcm1hdEludGVnZXIgfHwgaW5mby5zcGlsbEZvcm1hdCgp
ID09IERhdGFGb3JtYXREb3VibGUpIHsKKyAgICAgICAgICAgIHRlcm1pbmF0ZVNwZWN1bGF0aXZl
RXhlY3V0aW9uKFVuY291bnRhYmxlLCBKU1ZhbHVlUmVncygpLCAwLCBkaXJlY3Rpb24pOworICAg
ICAgICAgICAgcmV0dXJuIGFsbG9jYXRlKCk7CisgICAgICAgIH0KKyAgICAgICAgCiAgICAgICAg
IGlmIChub2RlLT5oYXNDb25zdGFudCgpKSB7CiAgICAgICAgICAgICBKU1ZhbHVlIGpzVmFsdWUg
PSB2YWx1ZU9mSlNDb25zdGFudChub2RlKTsKLSAgICAgICAgICAgIEFTU0VSVChqc1ZhbHVlLmlz
Qm9vbGVhbigpKTsKICAgICAgICAgICAgIEdQUlJlZyBncHIgPSBhbGxvY2F0ZSgpOwotICAgICAg
ICAgICAgbV9ncHJzLnJldGFpbihncHIsIHZpcnR1YWxSZWdpc3RlciwgU3BpbGxPcmRlckNvbnN0
YW50KTsKLSAgICAgICAgICAgIG1faml0Lm1vdmUoTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW0z
Mihqc1ZhbHVlLmFzQm9vbGVhbigpKSwgZ3ByKTsKLSAgICAgICAgICAgIGluZm8uZmlsbEJvb2xl
YW4oKm1fc3RyZWFtLCBncHIpOworICAgICAgICAgICAgaWYgKGpzVmFsdWUuaXNCb29sZWFuKCkp
IHsKKyAgICAgICAgICAgICAgICBtX2dwcnMucmV0YWluKGdwciwgdmlydHVhbFJlZ2lzdGVyLCBT
cGlsbE9yZGVyQ29uc3RhbnQpOworICAgICAgICAgICAgICAgIG1faml0Lm1vdmUoTWFjcm9Bc3Nl
bWJsZXI6OlRydXN0ZWRJbW0zMihqc1ZhbHVlLmFzQm9vbGVhbigpKSwgZ3ByKTsKKyAgICAgICAg
ICAgICAgICBpbmZvLmZpbGxCb29sZWFuKCptX3N0cmVhbSwgZ3ByKTsKKyAgICAgICAgICAgICAg
ICByZXR1cm4gZ3ByOworICAgICAgICAgICAgfQorICAgICAgICAgICAgdGVybWluYXRlU3BlY3Vs
YXRpdmVFeGVjdXRpb24oVW5jb3VudGFibGUsIEpTVmFsdWVSZWdzKCksIDAsIGRpcmVjdGlvbik7
CiAgICAgICAgICAgICByZXR1cm4gZ3ByOwogICAgICAgICB9CiAKQEAgLTEyMDEsNiArMTIyMSw5
IEBAIEdQUlJlZyBTcGVjdWxhdGl2ZUpJVDo6ZmlsbFNwZWN1bGF0ZUJvb2wKICAgICBjYXNlIERh
dGFGb3JtYXREb3VibGU6CiAgICAgY2FzZSBEYXRhRm9ybWF0SlNDZWxsOgogICAgIGNhc2UgRGF0
YUZvcm1hdENlbGw6CisgICAgICAgIHRlcm1pbmF0ZVNwZWN1bGF0aXZlRXhlY3V0aW9uKFVuY291
bnRhYmxlLCBKU1ZhbHVlUmVncygpLCAwLCBkaXJlY3Rpb24pOworICAgICAgICByZXR1cm4gYWxs
b2NhdGUoKTsKKwogICAgIGNhc2UgRGF0YUZvcm1hdFN0b3JhZ2U6CiAgICAgICAgIFJFTEVBU0Vf
QVNTRVJUX05PVF9SRUFDSEVEKCk7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU3BlY3VsYXRpdmVKSVQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCShyZXZpc2lvbiAxNDMzMDIpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjA3NCwxMCArMjA3NCwxMCBAQCBHZW5lcmF0ZWRPcGVyYW5kVHlwZSBTcGVjdWxhdGl2ZUpJ
VDo6Y2hlCiAgICAgfQogCiAgICAgc3dpdGNoIChpbmZvLnJlZ2lzdGVyRm9ybWF0KCkpIHsKLSAg
ICBjYXNlIERhdGFGb3JtYXRCb29sZWFuOiAvLyBUaGlzIHR5cGUgbmV2ZXIgb2NjdXJzLgogICAg
IGNhc2UgRGF0YUZvcm1hdFN0b3JhZ2U6CiAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFD
SEVEKCk7CiAKKyAgICBjYXNlIERhdGFGb3JtYXRCb29sZWFuOgogICAgIGNhc2UgRGF0YUZvcm1h
dENlbGw6CiAgICAgICAgIHRlcm1pbmF0ZVNwZWN1bGF0aXZlRXhlY3V0aW9uKFVuY291bnRhYmxl
LCBKU1ZhbHVlUmVncygpLCAwKTsKICAgICAgICAgcmV0dXJuIEdlbmVyYXRlZE9wZXJhbmRUeXBl
VW5rbm93bjsKQEAgLTIyNDksNyArMjI0OSw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBp
bGVWYWx1ZVRvSW50MzIKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBjYXNlIEdlbmVyYXRl
ZE9wZXJhbmRUeXBlVW5rbm93bjoKLSAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQo
KTsKKyAgICAgICAgQVNTRVJUKCFtX2NvbXBpbGVPa2F5KTsKICAgICAgICAgYnJlYWs7CiAgICAg
fQogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>