<?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>128352</bug_id>
          
          <creation_ts>2014-02-06 18:02:48 -0800</creation_ts>
          <short_desc>ReallocatePropertyStorage in FTL</short_desc>
          <delta_ts>2014-02-10 17:26:44 -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>JavaScriptCore</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Matthew Mirman">mmirman</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>mmirman</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>977672</commentid>
    <comment_count>0</comment_count>
    <who name="Matthew Mirman">mmirman</who>
    <bug_when>2014-02-06 18:02:48 -0800</bug_when>
    <thetext>patch forthcoming</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977996</commentid>
    <comment_count>1</comment_count>
      <attachid>223487</attachid>
    <who name="Matthew Mirman">mmirman</who>
    <bug_when>2014-02-07 13:01:19 -0800</bug_when>
    <thetext>Created attachment 223487
ReallocatePropertyStorage in FTL patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>978091</commentid>
    <comment_count>2</comment_count>
      <attachid>223487</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2014-02-07 15:15:57 -0800</bug_when>
    <thetext>Comment on attachment 223487
ReallocatePropertyStorage in FTL patch

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

&gt; Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:2666
&gt; +            LBasicBlock failPath = FTL_NEW_BLOCK(m_out, (&quot;ReallocatePropertyStorage failure&quot;));

You don&apos;t need a crashing slow path here.

&gt; Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:2710
&gt; +                m_out.loadPtr(m_out.address(m_heaps.properties.atAnyNumber(), oldStorage, offset ));

I think it&apos;s better to use the style of access that GetByOffset uses. Ideally this would be like a look the repeatedly does something simar to an out-of-line GetByOffset followed by PutByOffset. The benefit is that this way you wouldn&apos;t be claiming to clobber the entire property storage abstract heap. Basically I want to see properties[number] rather than atAnyNunber. I know I suggested atAnyNumber previously but I was wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979056</commentid>
    <comment_count>3</comment_count>
      <attachid>223743</attachid>
    <who name="Matthew Mirman">mmirman</who>
    <bug_when>2014-02-10 14:19:40 -0800</bug_when>
    <thetext>Created attachment 223743
ReallocatePropertyStorage in FTL patch 

Does not include svn file revision numbers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979060</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-10 14:21:49 -0800</bug_when>
    <thetext>Attachment 223743 did not pass style-queue:


ERROR: Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:2671:  Declaration has space between type name and * in Structure * previous  [whitespace/declaration] [3]
ERROR: Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:2675:  Extra space before last semicolon. If this should be an empty statement, use { } instead.  [whitespace/semicolon] [5]
ERROR: Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:2681:  Extra space after ( in function call  [whitespace/parens] [4]
ERROR: Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:2681:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:2682:  Extra space after ( in function call  [whitespace/parens] [4]
ERROR: Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:2682:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:2704:  When wrapping a line, only indent 4 spaces.  [whitespace/indent] [3]
ERROR: Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:2712:  Extra space after ( in function call  [whitespace/parens] [4]
ERROR: Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:2712:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:2714:  Extra space after ( in function call  [whitespace/parens] [4]
ERROR: Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:2714:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:2727:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:2728:  Extra space before )  [whitespace/parens] [2]
Total errors found: 13 in 5 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979064</commentid>
    <comment_count>5</comment_count>
      <attachid>223746</attachid>
    <who name="Matthew Mirman">mmirman</who>
    <bug_when>2014-02-10 14:24:39 -0800</bug_when>
    <thetext>Created attachment 223746
ReallocatePropertyStorage in FTL patch 

Fixes whitespace problems with parens.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979068</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-10 14:27:03 -0800</bug_when>
    <thetext>Attachment 223746 did not pass style-queue:


ERROR: Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:2671:  Declaration has space between type name and * in Structure * previous  [whitespace/declaration] [3]
ERROR: Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:2704:  When wrapping a line, only indent 4 spaces.  [whitespace/indent] [3]
Total errors found: 2 in 5 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979072</commentid>
    <comment_count>7</comment_count>
      <attachid>223751</attachid>
    <who name="Matthew Mirman">mmirman</who>
    <bug_when>2014-02-10 14:32:52 -0800</bug_when>
    <thetext>Created attachment 223751
ReallocatePropertyStorage in FTL patch

One more patch which fixes whitespace.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979079</commentid>
    <comment_count>8</comment_count>
      <attachid>223751</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2014-02-10 14:53:17 -0800</bug_when>
    <thetext>Comment on attachment 223751
ReallocatePropertyStorage in FTL patch

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

&gt; Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:2692
&gt; +            LBasicBlock failPath = FTL_NEW_BLOCK(m_out, (&quot;ReallocatePropertyStorage failure&quot;));
&gt; +            LBasicBlock continuation = FTL_NEW_BLOCK(m_out, (&quot;ReallocatePropertyStorage continuation&quot;));
&gt; +            
&gt; +            m_out.branch(m_out.isNull(result) , failPath , continuation);
&gt; +            
&gt; +            m_out.appendTo(failPath, continuation);
&gt; +            m_out.crash();
&gt; +            
&gt; +            m_out.appendTo(continuation);

Why is this here?

&gt; Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:2727
&gt; +            ptrdiff_t off  = offsetRelativeToBase(prop.offset);
&gt; +            LValue loaded = 
&gt; +                m_out.loadPtr(m_out.address(m_heaps.properties[ident], oldStorage, -off));
&gt; +            m_out.storePtr(loaded, m_out.address(m_heaps.properties[ident] , result, -off));

I think that the negation (&quot;-off&quot;) is wrong.  offsetRelativeToBase() should already return an appropriately negated value.  Also, you shouldn&apos;t copy the inline properties, but this appears to do that.  Also, &apos;item&apos; here shouldn&apos;t be used as an index into m_storageAccessData.  m_storageAccessData doesn&apos;t use indexes into property storage as an index.  We just add an entry into m_storageAccessData whenever we add a node that needs it; it has nothing to do with the properties of any particular type.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979116</commentid>
    <comment_count>9</comment_count>
      <attachid>223762</attachid>
    <who name="Matthew Mirman">mmirman</who>
    <bug_when>2014-02-10 16:08:36 -0800</bug_when>
    <thetext>Created attachment 223762
ReallocatePropertyStorage in FTL patch

testing a patch format.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979131</commentid>
    <comment_count>10</comment_count>
      <attachid>223762</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2014-02-10 16:23:49 -0800</bug_when>
    <thetext>Comment on attachment 223762
ReallocatePropertyStorage in FTL patch

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

&gt; Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:2692
&gt; +            LBasicBlock failPath = FTL_NEW_BLOCK(m_out, (&quot;ReallocatePropertyStorage failure&quot;));
&gt; +            LBasicBlock continuation = FTL_NEW_BLOCK(m_out, (&quot;ReallocatePropertyStorage continuation&quot;));
&gt; +            
&gt; +            m_out.branch(m_out.isNull(result) , failPath , continuation);
&gt; +            
&gt; +            m_out.appendTo(failPath, continuation);
&gt; +            m_out.crash();
&gt; +            
&gt; +            m_out.appendTo(continuation);

I still don&apos;t understand this.  When will result ever be null?  Why is crashing a good idea if it is?

&gt; Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:2725
&gt; +            ptrdiff_t off = -offsetRelativeToBase(offsetForPropertyNumber(item, previous-&gt;inlineCapacity()));
&gt; +            LValue loaded = 
&gt; +                m_out.loadPtr(m_out.address(m_heaps.properties[item], oldStorage, off));
&gt; +            m_out.storePtr(loaded, m_out.address(m_heaps.properties[item] , result, off));

Ugh.  I think we - but mostly me - have totally confused ourselves here.  The indexing of m_heaps.properties is the identifier index from the current CodeBlock.  There is no practical way to manufacture an identifier index for every property that we&apos;re copying, since we wouldn&apos;t already have a need for all of those identifiers.  Imagine if you&apos;re in a function foo() that adds a property &apos;f&apos; to an object, causing a reallocation of the storage; but the object already had properties &quot;x&quot;, &quot;y&quot; and &quot;z&quot;.  We *could* have the FTL create identifiers for those in order to get identifier indices, but that seems like too much work.  So, my original suggestion was actually right: m_heaps.properties.atAnyNumber() is your friend.

But that still leaves the calculation that you&apos;re doing.  You&apos;re using &apos;item&apos; as a &quot;property number&quot; in the sense that the PropertyTable uses it.  That&apos;s not what you have here.  You have something that is sort of an index into out-of-line storage.  I think that you should probably just go with something that matches the DFGSpeculativeJIT.cpp approach:

    for (ptrdiff_t offset = 0; offset &lt; static_cast&lt;ptrdiff_t&gt;(oldSize); offset += sizeof(void*)) {
        m_jit.loadPtr(JITCompiler::Address(oldStorageGPR, -(offset + sizeof(JSValue) + sizeof(void*))), scratchGPR2);
        m_jit.storePtr(scratchGPR2, JITCompiler::Address(scratchGPR1, -(offset + sizeof(JSValue) + sizeof(void*))));
    }

Where oldSize is your oldSize * sizeof(JSValue).

Ugh, I have a feeling that you did that in one of your patches and I incorrectly asked you to change it.  Sorry, this code is always confusing because our object model is confusing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979144</commentid>
    <comment_count>11</comment_count>
      <attachid>223769</attachid>
    <who name="Matthew Mirman">mmirman</who>
    <bug_when>2014-02-10 16:45:08 -0800</bug_when>
    <thetext>Created attachment 223769
Again, added ReallocatePropertyStorage

back to original loop.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979160</commentid>
    <comment_count>12</comment_count>
      <attachid>223769</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-10 17:26:41 -0800</bug_when>
    <thetext>Comment on attachment 223769
Again, added ReallocatePropertyStorage

Clearing flags on attachment: 223769

Committed r163841: &lt;http://trac.webkit.org/changeset/163841&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979161</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-10 17:26:44 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223487</attachid>
            <date>2014-02-07 13:01:19 -0800</date>
            <delta_ts>2014-02-10 14:19:40 -0800</delta_ts>
            <desc>ReallocatePropertyStorage in FTL patch</desc>
            <filename>reallocatepropertystorage.patch</filename>
            <type>text/plain</type>
            <size>6760</size>
            <attacher name="Matthew Mirman">mmirman</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTYzNTk3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBA
CisyMDE0LTAyLTA2ICBNYXR0aGV3IE1pcm1hbiAgPG1taXJtYW5AYXBwbGUuY29tPgorCisgICAg
ICAgIFJlYWxsb2NhdGVQcm9wZXJ0eVN0b3JhZ2UgaW4gRlRMCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjgzNTIKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZ0bC9GVExDYXBhYmlsaXRpZXMuY3BwOgor
ICAgICAgICAoSlNDOjpGVEw6OmNhbkNvbXBpbGUpOgorICAgICAgICAqIGZ0bC9GVExJbnRyaW5z
aWNSZXBvc2l0b3J5Lmg6CisgICAgICAgICogZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcDoKKyAg
ICAgICAgKEpTQzo6RlRMOjpMb3dlckRGR1RvTExWTTo6Y29tcGlsZU5vZGUpOgorICAgICAgICAo
SlNDOjpGVEw6Okxvd2VyREZHVG9MTFZNOjpjb21waWxlUmVhbGxvY2F0ZVByb3BlcnR5U3RvcmFn
ZSk6CisgICAgICAgICogdGVzdHMvc3RyZXNzL2Z0bC1yZWFsbG9jYXRlcHJvcGVydHlzdG9yYWdl
LmpzOiBBZGRlZC4KKyAgICAgICAgKGZvbyk6CisKIDIwMTQtMDEtMjggIEZpbGlwIFBpemxvICA8
ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBGVEwgc2hvdWxkIHN1cHBvcnQgQXJyYXlQb3AK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFiaWxpdGllcy5jcHAJ
KHJldmlzaW9uIDE2MzU5NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJp
bGl0aWVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA3LDUgKzEwNyw2IEBAIGlubGluZSBDYXBh
YmlsaXR5TGV2ZWwgY2FuQ29tcGlsZShOb2RlKiAKICAgICBjYXNlIFN0cmluZ0NoYXJDb2RlQXQ6
CiAgICAgY2FzZSBBbGxvY2F0ZVByb3BlcnR5U3RvcmFnZToKKyAgICBjYXNlIFJlYWxsb2NhdGVQ
cm9wZXJ0eVN0b3JhZ2U6CiAgICAgY2FzZSBGdW5jdGlvblJlZW50cnlXYXRjaHBvaW50OgogICAg
IGNhc2UgVHlwZWRBcnJheVdhdGNocG9pbnQ6CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZnRsL0ZUTEludHJpbnNpY1JlcG9zaXRvcnkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTEludHJpbnNpY1JlcG9zaXRvcnkuaAkocmV2aXNpb24gMTYzNTk3KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExJbnRyaW5zaWNSZXBvc2l0b3J5LmgJKHdv
cmtpbmcgY29weSkKQEAgLTczLDYgKzczLDggQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBG
VEwgewogICAgIG1hY3JvKFBfSklUT3BlcmF0aW9uX0UsIGZ1bmN0aW9uVHlwZShpbnRQdHIsIGlu
dFB0cikpIFwKICAgICBtYWNybyhQX0pJVE9wZXJhdGlvbl9FQywgZnVuY3Rpb25UeXBlKGludFB0
ciwgaW50UHRyLCBpbnRQdHIpKSBcCiAgICAgbWFjcm8oUF9KSVRPcGVyYXRpb25fRU8sIGZ1bmN0
aW9uVHlwZShpbnRQdHIsIGludFB0ciwgaW50UHRyKSkgXAorICAgIG1hY3JvKFBfSklUT3BlcmF0
aW9uX0VTLCBmdW5jdGlvblR5cGUoaW50UHRyLCBpbnRQdHIsIGludDY0KSkgXAorICAgIG1hY3Jv
KFBfSklUT3BlcmF0aW9uX0VPUywgZnVuY3Rpb25UeXBlKGludFB0ciwgaW50UHRyLCBpbnRQdHIs
IGludDY0KSkgXAogICAgIG1hY3JvKFBfSklUT3BlcmF0aW9uX0VTdCwgZnVuY3Rpb25UeXBlKGlu
dFB0ciwgaW50UHRyLCBpbnRQdHIpKSBcCiAgICAgbWFjcm8oUF9KSVRPcGVyYXRpb25fRVN0UFMs
IGZ1bmN0aW9uVHlwZShpbnRQdHIsIGludFB0ciwgaW50UHRyLCBpbnRQdHIsIGludFB0cikpIFwK
ICAgICBtYWNybyhQX0pJVE9wZXJhdGlvbl9FU3RTUywgZnVuY3Rpb25UeXBlKGludFB0ciwgaW50
UHRyLCBpbnRQdHIsIGludFB0ciwgaW50UHRyKSkgXApJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAJKHJldmlzaW9uIDE2MzU5NykKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC00MzEsMTIgKzQzMCwxNSBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIEFsbG9j
YXRlUHJvcGVydHlTdG9yYWdlOgogICAgICAgICAgICAgY29tcGlsZUFsbG9jYXRlUHJvcGVydHlT
dG9yYWdlKCk7CiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBSZWFsbG9jYXRlUHJv
cGVydHlTdG9yYWdlOgorICAgICAgICAgICAgY29tcGlsZVJlYWxsb2NhdGVQcm9wZXJ0eVN0b3Jh
Z2UoKTsKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFRvU3RyaW5nOgogICAgICAg
ICAgICAgY29tcGlsZVRvU3RyaW5nKCk7CiAgICAgICAgICAgICBicmVhazsKQEAgLTI2MDYsNiAr
MjY0Nyw3NiBAQCBwcml2YXRlOgogICAgICAgICBzZXRTdG9yYWdlKHJlc3VsdCk7CiAgICAgfQog
ICAgIAorICAgIHZvaWQgY29tcGlsZVJlYWxsb2NhdGVQcm9wZXJ0eVN0b3JhZ2UoKQorICAgIHsK
KyAgICAgICAgU3RydWN0dXJlVHJhbnNpdGlvbkRhdGEmIGRhdGEgPSBtX25vZGUtPnN0cnVjdHVy
ZVRyYW5zaXRpb25EYXRhKCk7CisKKyAgICAgICAgU3RydWN0dXJlICogcHJldmlvdXMgPSBkYXRh
LnByZXZpb3VzU3RydWN0dXJlOworICAgICAgICBMVmFsdWUgb2JqZWN0ID0gbG93Q2VsbChtX25v
ZGUtPmNoaWxkMSgpKTsKKyAgICAgICAgCisgICAgICAgIHNpemVfdCBvbGRTaXplID0gcHJldmlv
dXMtPm91dE9mTGluZUNhcGFjaXR5KCkgKiBzaXplb2YoSlNWYWx1ZSk7CisgICAgICAgIHNpemVf
dCBuZXdTaXplID0gb2xkU2l6ZSAqIG91dE9mTGluZUdyb3d0aEZhY3RvcjsKKyAgICAgICAgQVNT
RVJUKG5ld1NpemUgPT0gZGF0YS5uZXdTdHJ1Y3R1cmUtPm91dE9mTGluZUNhcGFjaXR5KCkgKiBz
aXplb2YoSlNWYWx1ZSkpOworCisgICAgICAgIGlmIChwcmV2aW91cy0+Y291bGRIYXZlSW5kZXhp
bmdIZWFkZXIoKSkgeworICAgICAgICAgICAgTFZhbHVlIG5ld0FsbG9jU2l6ZSA9IG1fb3V0LmNv
bnN0SW50NjQobmV3U2l6ZSAvIHNpemVvZihKU1ZhbHVlKSk7ICAgICAgICAgICAgICAgICAgICAK
KyAgICAgICAgICAgIExWYWx1ZSByZXN1bHQgPSB2bUNhbGwoIG1fb3V0Lm9wZXJhdGlvbiggb3Bl
cmF0aW9uUmVhbGxvY2F0ZUJ1dHRlcmZseVRvR3Jvd1Byb3BlcnR5U3RvcmFnZSApLCBtX2NhbGxG
cmFtZSwgb2JqZWN0LCBuZXdBbGxvY1NpemUgKTsKKyAgICAgICAgICAgIHNldFN0b3JhZ2UoIHJl
c3VsdCApOworCisgICAgICAgICAgICBMQmFzaWNCbG9jayBmYWlsUGF0aCA9IEZUTF9ORVdfQkxP
Q0sobV9vdXQsICgiUmVhbGxvY2F0ZVByb3BlcnR5U3RvcmFnZSBmYWlsdXJlIikpOworICAgICAg
ICAgICAgTEJhc2ljQmxvY2sgY29udGludWF0aW9uID0gRlRMX05FV19CTE9DSyhtX291dCwgKCJS
ZWFsbG9jYXRlUHJvcGVydHlTdG9yYWdlIGNvbnRpbnVhdGlvbiIpKTsKKworICAgICAgICAgICAg
bV9vdXQuYnJhbmNoKG1fb3V0LmlzTnVsbChyZXN1bHQpICwgZmFpbFBhdGggLCBjb250aW51YXRp
b24pOworICAgICAgICAgICAgCisgICAgICAgICAgICBtX291dC5hcHBlbmRUbyhmYWlsUGF0aCwg
Y29udGludWF0aW9uKTsKKyAgICAgICAgICAgIG1fb3V0LmNyYXNoKCk7CisKKyAgICAgICAgICAg
IG1fb3V0LmFwcGVuZFRvKGNvbnRpbnVhdGlvbik7CisgICAgICAgICAgICByZXR1cm47CisgICAg
ICAgIH0KKyAgICAgICAgCisgICAgICAgIExCYXNpY0Jsb2NrIHNsb3dQYXRoID0gRlRMX05FV19C
TE9DSyhtX291dCwgKCJSZWFsbG9jYXRlUHJvcGVydHlTdG9yYWdlIHNsb3cgcGF0aCIpKTsKKyAg
ICAgICAgTEJhc2ljQmxvY2sgY29udGludWF0aW9uID0gRlRMX05FV19CTE9DSyhtX291dCwgKCJS
ZWFsbG9jYXRlUHJvcGVydHlTdG9yYWdlIGNvbnRpbnVhdGlvbiIpKTsKKyAgICAgICAgTEJhc2lj
QmxvY2sgbGFzdE5leHQgPSBtX291dC5pbnNlcnROZXdCbG9ja3NCZWZvcmUoc2xvd1BhdGgpOwor
ICAgICAgICAKKyAgICAgICAgTFZhbHVlIGVuZE9mU3RvcmFnZSA9IAorICAgICAgICAgICAgYWxs
b2NhdGVCYXNpY1N0b3JhZ2VBbmRHZXRFbmQobV9vdXQuY29uc3RJbnRQdHIobmV3U2l6ZSksIHNs
b3dQYXRoKTsKKworICAgICAgICBWYWx1ZUZyb21CbG9jayBmYXN0QnV0dGVyZmx5ID0gbV9vdXQu
YW5jaG9yKAorICAgICAgICAgICAgbV9vdXQuYWRkKG1fb3V0LmNvbnN0SW50UHRyKHNpemVvZihJ
bmRleGluZ0hlYWRlcikpLCBlbmRPZlN0b3JhZ2UpKTsKKyAgICAgICAgCisgICAgICAgIG1fb3V0
Lmp1bXAoY29udGludWF0aW9uKTsKKyAgICAgICAgCisgICAgICAgIG1fb3V0LmFwcGVuZFRvKHNs
b3dQYXRoLCBjb250aW51YXRpb24pOworICAgICAgICAKKyAgICAgICAgTFZhbHVlIG5ld0FsbG9j
U2l6ZSA9IG1fb3V0LmNvbnN0SW50NjQobmV3U2l6ZSAvIHNpemVvZihKU1ZhbHVlKSk7ICAgICAg
IAorICAgICAKKyAgICAgICAgTFZhbHVlIHN0b3JhZ2VMb2NhdGlvbiA9IHZtQ2FsbCggbV9vdXQu
b3BlcmF0aW9uKCBvcGVyYXRpb25BbGxvY2F0ZVByb3BlcnR5U3RvcmFnZSApLCBtX2NhbGxGcmFt
ZSwgbmV3QWxsb2NTaXplICk7CisgICAgICAgIAorICAgICAgICBWYWx1ZUZyb21CbG9jayBzbG93
QnV0dGVyZmx5ID0gbV9vdXQuYW5jaG9yKCBzdG9yYWdlTG9jYXRpb24gKTsKKyAgICAgICAgCisg
ICAgICAgIG1fb3V0Lmp1bXAoY29udGludWF0aW9uKTsKKyAgICAgICAgCisgICAgICAgIG1fb3V0
LmFwcGVuZFRvKGNvbnRpbnVhdGlvbiwgbGFzdE5leHQpOworCisgICAgICAgIExWYWx1ZSByZXN1
bHQgPSBtX291dC5waGkobV9vdXQuaW50UHRyLCBmYXN0QnV0dGVyZmx5LCBzbG93QnV0dGVyZmx5
KTsKKyAgICAgICAgTFZhbHVlIG9sZFN0b3JhZ2UgPSBtX291dC5sb2FkUHRyKG9iamVjdCwgbV9o
ZWFwcy5KU09iamVjdF9idXR0ZXJmbHkpOworCisgICAgICAgIHB0cmRpZmZfdCBoZWFkZXJTaXpl
ID0gLXNpemVvZihKU1ZhbHVlKSAtIHNpemVvZih2b2lkICopOworICAgICAgICBwdHJkaWZmX3Qg
ZW5kU3RvcmFnZSA9IGhlYWRlclNpemUgLSBzdGF0aWNfY2FzdDxwdHJkaWZmX3Q+KG9sZFNpemUp
OworCisgICAgICAgIGZvciAocHRyZGlmZl90IG9mZnNldCA9IGhlYWRlclNpemU7IG9mZnNldCA+
IGVuZFN0b3JhZ2U7IG9mZnNldCAtPSBzaXplb2Yodm9pZCopKSB7CisgICAgICAgICAgICBMVmFs
dWUgbG9hZGVkID0gCisgICAgICAgICAgICAgICAgbV9vdXQubG9hZFB0cihtX291dC5hZGRyZXNz
KG1faGVhcHMucHJvcGVydGllcy5hdEFueU51bWJlcigpLCBvbGRTdG9yYWdlLCBvZmZzZXQgKSk7
CisgICAgICAgICAgICBtX291dC5zdG9yZVB0cihsb2FkZWQsIG1fb3V0LmFkZHJlc3MobV9oZWFw
cy5wcm9wZXJ0aWVzLmF0QW55TnVtYmVyKCksIHJlc3VsdCwgb2Zmc2V0ICkpOworICAgICAgICB9
CisKKyAgICAgICAgbV9vdXQuc3RvcmVQdHIocmVzdWx0LCBtX291dC5hZGRyZXNzKG9iamVjdCwg
bV9oZWFwcy5KU09iamVjdF9idXR0ZXJmbHkpKTsKKworICAgICAgICBzZXRTdG9yYWdlKHJlc3Vs
dCk7IAorICAgIH0KKyAgICAKKwogICAgIHZvaWQgY29tcGlsZVRvU3RyaW5nKCkKICAgICB7CiAg
ICAgICAgIHN3aXRjaCAobV9ub2RlLT5jaGlsZDEoKS51c2VLaW5kKCkpIHsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZnRsLXJlYWxsb2NhdGVwcm9wZXJ0eXN0b3Jh
Z2UuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9m
dGwtcmVhbGxvY2F0ZXByb3BlcnR5c3RvcmFnZS5qcwkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZnRsLXJlYWxsb2NhdGVwcm9wZXJ0eXN0b3JhZ2Uu
anMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNSBAQAorZnVuY3Rpb24gZm9vKHgpeworeC5h
MCA9IDA7Cit4LmExID0gMTsKK3guYTIgPSAyOworeC5hMyA9IDM7Cit4LmE0ID0gNDsKK3guYTUg
PSA1OworeC5hNiA9IDY7Cit4LmE3ID0gNzsKK3guYTggPSA4OworeC5hOSA9IDk7Cit4LmExMCA9
IDEwOworfQorCitub0lubGluZShmb28pOworCitmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwMDsg
KytpKSB7CisgICAgdmFyIGIgPSB7fTsKKyAgICBmb28oYik7CisKKyAgICBmb3IgKHZhciBqID0g
MDsgaiA8PSAxMCA7IGorKykgCisgICAgICAgIGlmIChiWydhJytqXSAhPSBqKSAKKyAgICAgICAg
ICAgIHRocm93ICJFcnJvciAiK2JbJ2EnK2pdCit9CisKCg==
</data>
<flag name="review"
          id="247524"
          type_id="1"
          status="-"
          setter="fpizlo"
    />
    <flag name="commit-queue"
          id="247525"
          type_id="3"
          status="-"
          setter="fpizlo"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223743</attachid>
            <date>2014-02-10 14:19:40 -0800</date>
            <delta_ts>2014-02-10 14:24:39 -0800</delta_ts>
            <desc>ReallocatePropertyStorage in FTL patch </desc>
            <filename>reallocatepropertystorage.patch</filename>
            <type>text/plain</type>
            <size>6881</size>
            <attacher name="Matthew Mirman">mmirman</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAKLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxNC0wMi0xMCAgTWF0dGhldyBNaXJtYW4gIDxt
bWlybWFuQGFwcGxlLmNvbT4KKworICAgICAgICBSZWFsbG9jYXRlUHJvcGVydHlTdG9yYWdlIGlu
IEZUTAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI4
MzUyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBm
dGwvRlRMQ2FwYWJpbGl0aWVzLmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjpjYW5Db21waWxlKToK
KyAgICAgICAgKiBmdGwvRlRMSW50cmluc2ljUmVwb3NpdG9yeS5oOgorICAgICAgICAqIGZ0bC9G
VExMb3dlckRGR1RvTExWTS5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06
OmNvbXBpbGVOb2RlKToKKyAgICAgICAgKEpTQzo6RlRMOjpMb3dlckRGR1RvTExWTTo6Y29tcGls
ZVJlYWxsb2NhdGVQcm9wZXJ0eVN0b3JhZ2UpOgorICAgICAgICAqIHRlc3RzL3N0cmVzcy9mdGwt
cmVhbGxvY2F0ZXByb3BlcnR5c3RvcmFnZS5qczogQWRkZWQuCisgICAgICAgIChmb28pOgorCiAy
MDE0LTAyLTA3ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKICAgICAg
ICAgW2lPU10gRWxpbWluYXRlIHJhY2UgYmV0d2VlbiBYUEMgY29ubmVjdGlvbiBxdWV1ZSBhbmQg
Tm90aWZpY2F0aW9uIHF1ZXVlCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENh
cGFiaWxpdGllcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9G
VExDYXBhYmlsaXRpZXMuY3BwCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFi
aWxpdGllcy5jcHAKQEAgLTEwNyw2ICsxMDcsNyBAQCBpbmxpbmUgQ2FwYWJpbGl0eUxldmVsIGNh
bkNvbXBpbGUoTm9kZSogbm9kZSkKICAgICBjYXNlIENoZWNrRnVuY3Rpb246CiAgICAgY2FzZSBT
dHJpbmdDaGFyQ29kZUF0OgogICAgIGNhc2UgQWxsb2NhdGVQcm9wZXJ0eVN0b3JhZ2U6CisgICAg
Y2FzZSBSZWFsbG9jYXRlUHJvcGVydHlTdG9yYWdlOgogICAgIGNhc2UgRnVuY3Rpb25SZWVudHJ5
V2F0Y2hwb2ludDoKICAgICBjYXNlIFR5cGVkQXJyYXlXYXRjaHBvaW50OgogICAgIGNhc2UgR2V0
VHlwZWRBcnJheUJ5dGVPZmZzZXQ6CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZU
TEludHJpbnNpY1JlcG9zaXRvcnkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTEludHJpbnNpY1JlcG9zaXRvcnkuaAorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExJbnRyaW5zaWNSZXBvc2l0b3J5LmgKQEAgLTczLDYgKzczLDggQEAgbmFtZXNwYWNl
IEpTQyB7IG5hbWVzcGFjZSBGVEwgewogICAgIG1hY3JvKFBfSklUT3BlcmF0aW9uX0UsIGZ1bmN0
aW9uVHlwZShpbnRQdHIsIGludFB0cikpIFwKICAgICBtYWNybyhQX0pJVE9wZXJhdGlvbl9FQywg
ZnVuY3Rpb25UeXBlKGludFB0ciwgaW50UHRyLCBpbnRQdHIpKSBcCiAgICAgbWFjcm8oUF9KSVRP
cGVyYXRpb25fRU8sIGZ1bmN0aW9uVHlwZShpbnRQdHIsIGludFB0ciwgaW50UHRyKSkgXAorICAg
IG1hY3JvKFBfSklUT3BlcmF0aW9uX0VTLCBmdW5jdGlvblR5cGUoaW50UHRyLCBpbnRQdHIsIGlu
dDY0KSkgXAorICAgIG1hY3JvKFBfSklUT3BlcmF0aW9uX0VPUywgZnVuY3Rpb25UeXBlKGludFB0
ciwgaW50UHRyLCBpbnRQdHIsIGludDY0KSkgXAogICAgIG1hY3JvKFBfSklUT3BlcmF0aW9uX0VT
dCwgZnVuY3Rpb25UeXBlKGludFB0ciwgaW50UHRyLCBpbnRQdHIpKSBcCiAgICAgbWFjcm8oUF9K
SVRPcGVyYXRpb25fRVN0UFMsIGZ1bmN0aW9uVHlwZShpbnRQdHIsIGludFB0ciwgaW50UHRyLCBp
bnRQdHIsIGludFB0cikpIFwKICAgICBtYWNybyhQX0pJVE9wZXJhdGlvbl9FU3RTUywgZnVuY3Rp
b25UeXBlKGludFB0ciwgaW50UHRyLCBpbnRQdHIsIGludFB0ciwgaW50UHRyKSkgXApJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCkBAIC00NDAs
NiArNDQwLDkgQEAgcHJpdmF0ZToKICAgICAgICAgY2FzZSBBbGxvY2F0ZVByb3BlcnR5U3RvcmFn
ZToKICAgICAgICAgICAgIGNvbXBpbGVBbGxvY2F0ZVByb3BlcnR5U3RvcmFnZSgpOwogICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgUmVhbGxvY2F0ZVByb3BlcnR5U3RvcmFnZToKKyAg
ICAgICAgICAgIGNvbXBpbGVSZWFsbG9jYXRlUHJvcGVydHlTdG9yYWdlKCk7CisgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgY2FzZSBUb1N0cmluZzoKICAgICAgICAgICAgIGNvbXBpbGVUb1N0
cmluZygpOwogICAgICAgICAgICAgYnJlYWs7CkBAIC0yNjYwLDYgKzI2NjMsNzYgQEAgcHJpdmF0
ZToKICAgICAgICAgCiAgICAgICAgIHNldFN0b3JhZ2UocmVzdWx0KTsKICAgICB9CisKKyAgICB2
b2lkIGNvbXBpbGVSZWFsbG9jYXRlUHJvcGVydHlTdG9yYWdlKCkKKyAgICB7CisgICAgICAgIFN0
cnVjdHVyZVRyYW5zaXRpb25EYXRhJiBkYXRhID0gbV9ub2RlLT5zdHJ1Y3R1cmVUcmFuc2l0aW9u
RGF0YSgpOworICAgICAgICAKKyAgICAgICAgU3RydWN0dXJlICogcHJldmlvdXMgPSBkYXRhLnBy
ZXZpb3VzU3RydWN0dXJlOworICAgICAgICBMVmFsdWUgb2JqZWN0ID0gbG93Q2VsbChtX25vZGUt
PmNoaWxkMSgpKTsKKworICAgICAgICBzaXplX3Qgb2xkU2l6ZSA9IHByZXZpb3VzLT5vdXRPZkxp
bmVDYXBhY2l0eSgpOworICAgICAgICBzaXplX3QgbmV3U2l6ZSA9IG9sZFNpemUgKiBvdXRPZkxp
bmVHcm93dGhGYWN0b3IgKiBzaXplb2YoSlNWYWx1ZSkgOworCisgICAgICAgIEFTU0VSVChuZXdT
aXplID09IGRhdGEubmV3U3RydWN0dXJlLT5vdXRPZkxpbmVDYXBhY2l0eSgpICogc2l6ZW9mKEpT
VmFsdWUpKTsKKyAgICAgICAgCisgICAgICAgIGlmIChwcmV2aW91cy0+Y291bGRIYXZlSW5kZXhp
bmdIZWFkZXIoKSkgeworICAgICAgICAgICAgTFZhbHVlIG5ld0FsbG9jU2l6ZSA9IG1fb3V0LmNv
bnN0SW50NjQobmV3U2l6ZSAvIHNpemVvZihKU1ZhbHVlKSk7ICAgICAgICAgICAgICAgICAgICAK
KyAgICAgICAgICAgIExWYWx1ZSByZXN1bHQgPSB2bUNhbGwoIG1fb3V0Lm9wZXJhdGlvbiggb3Bl
cmF0aW9uUmVhbGxvY2F0ZUJ1dHRlcmZseVRvR3Jvd1Byb3BlcnR5U3RvcmFnZSApLCBtX2NhbGxG
cmFtZSwgb2JqZWN0LCBuZXdBbGxvY1NpemUgKTsKKyAgICAgICAgICAgIHNldFN0b3JhZ2UoIHJl
c3VsdCApOworICAgICAgICAgICAgCisgICAgICAgICAgICBMQmFzaWNCbG9jayBmYWlsUGF0aCA9
IEZUTF9ORVdfQkxPQ0sobV9vdXQsICgiUmVhbGxvY2F0ZVByb3BlcnR5U3RvcmFnZSBmYWlsdXJl
IikpOworICAgICAgICAgICAgTEJhc2ljQmxvY2sgY29udGludWF0aW9uID0gRlRMX05FV19CTE9D
SyhtX291dCwgKCJSZWFsbG9jYXRlUHJvcGVydHlTdG9yYWdlIGNvbnRpbnVhdGlvbiIpKTsKKyAg
ICAgICAgICAgIAorICAgICAgICAgICAgbV9vdXQuYnJhbmNoKG1fb3V0LmlzTnVsbChyZXN1bHQp
ICwgZmFpbFBhdGggLCBjb250aW51YXRpb24pOworICAgICAgICAgICAgCisgICAgICAgICAgICBt
X291dC5hcHBlbmRUbyhmYWlsUGF0aCwgY29udGludWF0aW9uKTsKKyAgICAgICAgICAgIG1fb3V0
LmNyYXNoKCk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIG1fb3V0LmFwcGVuZFRvKGNvbnRp
bnVhdGlvbik7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgCisgICAg
ICAgIExCYXNpY0Jsb2NrIHNsb3dQYXRoID0gRlRMX05FV19CTE9DSyhtX291dCwgKCJSZWFsbG9j
YXRlUHJvcGVydHlTdG9yYWdlIHNsb3cgcGF0aCIpKTsKKyAgICAgICAgTEJhc2ljQmxvY2sgY29u
dGludWF0aW9uID0gRlRMX05FV19CTE9DSyhtX291dCwgKCJSZWFsbG9jYXRlUHJvcGVydHlTdG9y
YWdlIGNvbnRpbnVhdGlvbiIpKTsKKyAgICAgICAgTEJhc2ljQmxvY2sgbGFzdE5leHQgPSBtX291
dC5pbnNlcnROZXdCbG9ja3NCZWZvcmUoc2xvd1BhdGgpOworICAgICAgICAKKyAgICAgICAgTFZh
bHVlIGVuZE9mU3RvcmFnZSA9IAorICAgICAgICAgICAgYWxsb2NhdGVCYXNpY1N0b3JhZ2VBbmRH
ZXRFbmQobV9vdXQuY29uc3RJbnRQdHIobmV3U2l6ZSksIHNsb3dQYXRoKTsKKyAgICAgICAgCisg
ICAgICAgIFZhbHVlRnJvbUJsb2NrIGZhc3RCdXR0ZXJmbHkgPSBtX291dC5hbmNob3IoCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9vdXQuYWRk
KG1fb3V0LmNvbnN0SW50UHRyKHNpemVvZihJbmRleGluZ0hlYWRlcikpLCBlbmRPZlN0b3JhZ2Up
KTsKKyAgICAgICAgCisgICAgICAgIG1fb3V0Lmp1bXAoY29udGludWF0aW9uKTsKKyAgICAgICAg
CisgICAgICAgIG1fb3V0LmFwcGVuZFRvKHNsb3dQYXRoLCBjb250aW51YXRpb24pOworICAgICAg
ICAKKyAgICAgICAgTFZhbHVlIG5ld0FsbG9jU2l6ZSA9IG1fb3V0LmNvbnN0SW50NjQobmV3U2l6
ZSAvIHNpemVvZihKU1ZhbHVlKSk7ICAgICAgIAorICAgICAgICAKKyAgICAgICAgTFZhbHVlIHN0
b3JhZ2VMb2NhdGlvbiA9IHZtQ2FsbCggbV9vdXQub3BlcmF0aW9uKCBvcGVyYXRpb25BbGxvY2F0
ZVByb3BlcnR5U3RvcmFnZSApLCBtX2NhbGxGcmFtZSwgbmV3QWxsb2NTaXplICk7CisgICAgICAg
IAorICAgICAgICBWYWx1ZUZyb21CbG9jayBzbG93QnV0dGVyZmx5ID0gbV9vdXQuYW5jaG9yKCBz
dG9yYWdlTG9jYXRpb24gKTsKKyAgICAgICAgCisgICAgICAgIG1fb3V0Lmp1bXAoY29udGludWF0
aW9uKTsKKyAgICAgICAgCisgICAgICAgIG1fb3V0LmFwcGVuZFRvKGNvbnRpbnVhdGlvbiwgbGFz
dE5leHQpOworICAgICAgICAKKyAgICAgICAgTFZhbHVlIHJlc3VsdCA9IG1fb3V0LnBoaShtX291
dC5pbnRQdHIsIGZhc3RCdXR0ZXJmbHksIHNsb3dCdXR0ZXJmbHkpOworICAgICAgICBMVmFsdWUg
b2xkU3RvcmFnZSA9IG1fb3V0LmxvYWRQdHIob2JqZWN0LCBtX2hlYXBzLkpTT2JqZWN0X2J1dHRl
cmZseSk7CisgICAgICAgIGZvciAoc2l6ZV90IGl0ZW0gPSAwOyBpdGVtIDwgb2xkU2l6ZTsgaXRl
bSsrKSB7CisgICAgICAgICAgICBTdG9yYWdlQWNjZXNzRGF0YSYgcHJvcCA9IG1fZ3JhcGgubV9z
dG9yYWdlQWNjZXNzRGF0YVtpdGVtXTsKKyAgICAgICAgICAgIHVuc2lnbmVkIGlkZW50ID0gcHJv
cC5pZGVudGlmaWVyTnVtYmVyOworICAgICAgICAgICAgcHRyZGlmZl90IG9mZiAgPSBvZmZzZXRS
ZWxhdGl2ZVRvQmFzZShwcm9wLm9mZnNldCk7CisgICAgICAgICAgICBMVmFsdWUgbG9hZGVkID0g
CisgICAgICAgICAgICAgICAgbV9vdXQubG9hZFB0cihtX291dC5hZGRyZXNzKG1faGVhcHMucHJv
cGVydGllc1tpZGVudF0sIG9sZFN0b3JhZ2UsIC1vZmYgICkpOworICAgICAgICAgICAgbV9vdXQu
c3RvcmVQdHIobG9hZGVkLCBtX291dC5hZGRyZXNzKG1faGVhcHMucHJvcGVydGllc1tpZGVudF0g
LCByZXN1bHQsIC1vZmYgKSk7CisgICAgICAgIH0gCisgICAgICAgIAorICAgICAgICBtX291dC5z
dG9yZVB0cihyZXN1bHQsIG1fb3V0LmFkZHJlc3Mob2JqZWN0LCBtX2hlYXBzLkpTT2JqZWN0X2J1
dHRlcmZseSkpOworICAgICAgICAKKyAgICAgICAgc2V0U3RvcmFnZShyZXN1bHQpOyAKKyAgICB9
CisgICAgCiAgICAgCiAgICAgdm9pZCBjb21waWxlVG9TdHJpbmcoKQogICAgIHsKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZnRsLXJlYWxsb2NhdGVwcm9wZXJ0eXN0
b3JhZ2UuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVz
cy9mdGwtcmVhbGxvY2F0ZXByb3BlcnR5c3RvcmFnZS5qcyAocmV2aXNpb24gMCkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZnRsLXJlYWxsb2NhdGVwcm9wZXJ0eXN0b3Jh
Z2UuanMgKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyOCBAQAorZnVuY3Rpb24gZm9vKHgpewor
ICAgIHguYTAgPSAwOworICAgIHguYTEgPSAxOworICAgIHguYTIgPSAyOworICAgIHguYTMgPSAz
OworICAgIHguYTQgPSA0OworICAgIHguYTUgPSA1OworICAgIHguYTYgPSA2OworICAgIHguYTcg
PSA3OworICAgIHguYTggPSA4OworICAgIHguYTkgPSA5OworICAgIHguYTEwID0gMTA7Cit9CisK
K25vSW5saW5lKGZvbyk7CisKK3ZhciBjID0ge307Citmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAw
MDsgKytpKSB7CisgICAgdmFyIGIgPSB7fTsKKyAgICBmb28oYik7CisgICAgYyA9IGI7CisKK30K
KworZm9yICh2YXIgaiA9IDA7IGogPD0gMTAgOyArK2opIAorICAgIGlmIChiWydhJytqXSAhPSBq
KSAKKyAgICAgICAgdGhyb3cgIkVycm9yICIrYlsnYScral07CisKCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223746</attachid>
            <date>2014-02-10 14:24:39 -0800</date>
            <delta_ts>2014-02-10 14:32:52 -0800</delta_ts>
            <desc>ReallocatePropertyStorage in FTL patch </desc>
            <filename>reallocatepropertystorage.patch</filename>
            <type>text/plain</type>
            <size>6864</size>
            <attacher name="Matthew Mirman">mmirman</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAKLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxNC0wMi0xMCAgTWF0dGhldyBNaXJtYW4gIDxt
bWlybWFuQGFwcGxlLmNvbT4KKworICAgICAgICBSZWFsbG9jYXRlUHJvcGVydHlTdG9yYWdlIGlu
IEZUTAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI4
MzUyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBm
dGwvRlRMQ2FwYWJpbGl0aWVzLmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjpjYW5Db21waWxlKToK
KyAgICAgICAgKiBmdGwvRlRMSW50cmluc2ljUmVwb3NpdG9yeS5oOgorICAgICAgICAqIGZ0bC9G
VExMb3dlckRGR1RvTExWTS5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06
OmNvbXBpbGVOb2RlKToKKyAgICAgICAgKEpTQzo6RlRMOjpMb3dlckRGR1RvTExWTTo6Y29tcGls
ZVJlYWxsb2NhdGVQcm9wZXJ0eVN0b3JhZ2UpOgorICAgICAgICAqIHRlc3RzL3N0cmVzcy9mdGwt
cmVhbGxvY2F0ZXByb3BlcnR5c3RvcmFnZS5qczogQWRkZWQuCisgICAgICAgIChmb28pOgorCiAy
MDE0LTAyLTA3ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKICAgICAg
ICAgW2lPU10gRWxpbWluYXRlIHJhY2UgYmV0d2VlbiBYUEMgY29ubmVjdGlvbiBxdWV1ZSBhbmQg
Tm90aWZpY2F0aW9uIHF1ZXVlCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENh
cGFiaWxpdGllcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9G
VExDYXBhYmlsaXRpZXMuY3BwCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFi
aWxpdGllcy5jcHAKQEAgLTEwNyw2ICsxMDcsNyBAQCBpbmxpbmUgQ2FwYWJpbGl0eUxldmVsIGNh
bkNvbXBpbGUoTm9kZSogbm9kZSkKICAgICBjYXNlIENoZWNrRnVuY3Rpb246CiAgICAgY2FzZSBT
dHJpbmdDaGFyQ29kZUF0OgogICAgIGNhc2UgQWxsb2NhdGVQcm9wZXJ0eVN0b3JhZ2U6CisgICAg
Y2FzZSBSZWFsbG9jYXRlUHJvcGVydHlTdG9yYWdlOgogICAgIGNhc2UgRnVuY3Rpb25SZWVudHJ5
V2F0Y2hwb2ludDoKICAgICBjYXNlIFR5cGVkQXJyYXlXYXRjaHBvaW50OgogICAgIGNhc2UgR2V0
VHlwZWRBcnJheUJ5dGVPZmZzZXQ6CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZU
TEludHJpbnNpY1JlcG9zaXRvcnkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTEludHJpbnNpY1JlcG9zaXRvcnkuaAorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExJbnRyaW5zaWNSZXBvc2l0b3J5LmgKQEAgLTczLDYgKzczLDggQEAgbmFtZXNwYWNl
IEpTQyB7IG5hbWVzcGFjZSBGVEwgewogICAgIG1hY3JvKFBfSklUT3BlcmF0aW9uX0UsIGZ1bmN0
aW9uVHlwZShpbnRQdHIsIGludFB0cikpIFwKICAgICBtYWNybyhQX0pJVE9wZXJhdGlvbl9FQywg
ZnVuY3Rpb25UeXBlKGludFB0ciwgaW50UHRyLCBpbnRQdHIpKSBcCiAgICAgbWFjcm8oUF9KSVRP
cGVyYXRpb25fRU8sIGZ1bmN0aW9uVHlwZShpbnRQdHIsIGludFB0ciwgaW50UHRyKSkgXAorICAg
IG1hY3JvKFBfSklUT3BlcmF0aW9uX0VTLCBmdW5jdGlvblR5cGUoaW50UHRyLCBpbnRQdHIsIGlu
dDY0KSkgXAorICAgIG1hY3JvKFBfSklUT3BlcmF0aW9uX0VPUywgZnVuY3Rpb25UeXBlKGludFB0
ciwgaW50UHRyLCBpbnRQdHIsIGludDY0KSkgXAogICAgIG1hY3JvKFBfSklUT3BlcmF0aW9uX0VT
dCwgZnVuY3Rpb25UeXBlKGludFB0ciwgaW50UHRyLCBpbnRQdHIpKSBcCiAgICAgbWFjcm8oUF9K
SVRPcGVyYXRpb25fRVN0UFMsIGZ1bmN0aW9uVHlwZShpbnRQdHIsIGludFB0ciwgaW50UHRyLCBp
bnRQdHIsIGludFB0cikpIFwKICAgICBtYWNybyhQX0pJVE9wZXJhdGlvbl9FU3RTUywgZnVuY3Rp
b25UeXBlKGludFB0ciwgaW50UHRyLCBpbnRQdHIsIGludFB0ciwgaW50UHRyKSkgXApJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCkBAIC00NDAs
NiArNDQwLDkgQEAgcHJpdmF0ZToKICAgICAgICAgY2FzZSBBbGxvY2F0ZVByb3BlcnR5U3RvcmFn
ZToKICAgICAgICAgICAgIGNvbXBpbGVBbGxvY2F0ZVByb3BlcnR5U3RvcmFnZSgpOwogICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgUmVhbGxvY2F0ZVByb3BlcnR5U3RvcmFnZToKKyAg
ICAgICAgICAgIGNvbXBpbGVSZWFsbG9jYXRlUHJvcGVydHlTdG9yYWdlKCk7CisgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgY2FzZSBUb1N0cmluZzoKICAgICAgICAgICAgIGNvbXBpbGVUb1N0
cmluZygpOwogICAgICAgICAgICAgYnJlYWs7CkBAIC0yNjYwLDYgKzI2NjMsNzYgQEAgcHJpdmF0
ZToKICAgICAgICAgCiAgICAgICAgIHNldFN0b3JhZ2UocmVzdWx0KTsKICAgICB9CisKKyAgICB2
b2lkIGNvbXBpbGVSZWFsbG9jYXRlUHJvcGVydHlTdG9yYWdlKCkKKyAgICB7CisgICAgICAgIFN0
cnVjdHVyZVRyYW5zaXRpb25EYXRhJiBkYXRhID0gbV9ub2RlLT5zdHJ1Y3R1cmVUcmFuc2l0aW9u
RGF0YSgpOworICAgICAgICAKKyAgICAgICAgU3RydWN0dXJlICogcHJldmlvdXMgPSBkYXRhLnBy
ZXZpb3VzU3RydWN0dXJlOworICAgICAgICBMVmFsdWUgb2JqZWN0ID0gbG93Q2VsbChtX25vZGUt
PmNoaWxkMSgpKTsKKworICAgICAgICBzaXplX3Qgb2xkU2l6ZSA9IHByZXZpb3VzLT5vdXRPZkxp
bmVDYXBhY2l0eSgpOworICAgICAgICBzaXplX3QgbmV3U2l6ZSA9IG9sZFNpemUgKiBvdXRPZkxp
bmVHcm93dGhGYWN0b3IgKiBzaXplb2YoSlNWYWx1ZSk7CisKKyAgICAgICAgQVNTRVJUKG5ld1Np
emUgPT0gZGF0YS5uZXdTdHJ1Y3R1cmUtPm91dE9mTGluZUNhcGFjaXR5KCkgKiBzaXplb2YoSlNW
YWx1ZSkpOworICAgICAgICAKKyAgICAgICAgaWYgKHByZXZpb3VzLT5jb3VsZEhhdmVJbmRleGlu
Z0hlYWRlcigpKSB7CisgICAgICAgICAgICBMVmFsdWUgbmV3QWxsb2NTaXplID0gbV9vdXQuY29u
c3RJbnQ2NChuZXdTaXplIC8gc2l6ZW9mKEpTVmFsdWUpKTsgICAgICAgICAgICAgICAgICAgIAor
ICAgICAgICAgICAgTFZhbHVlIHJlc3VsdCA9IHZtQ2FsbChtX291dC5vcGVyYXRpb24ob3BlcmF0
aW9uUmVhbGxvY2F0ZUJ1dHRlcmZseVRvR3Jvd1Byb3BlcnR5U3RvcmFnZSksIG1fY2FsbEZyYW1l
LCBvYmplY3QsIG5ld0FsbG9jU2l6ZSk7CisgICAgICAgICAgICBzZXRTdG9yYWdlKHJlc3VsdCk7
CisgICAgICAgICAgICAKKyAgICAgICAgICAgIExCYXNpY0Jsb2NrIGZhaWxQYXRoID0gRlRMX05F
V19CTE9DSyhtX291dCwgKCJSZWFsbG9jYXRlUHJvcGVydHlTdG9yYWdlIGZhaWx1cmUiKSk7Cisg
ICAgICAgICAgICBMQmFzaWNCbG9jayBjb250aW51YXRpb24gPSBGVExfTkVXX0JMT0NLKG1fb3V0
LCAoIlJlYWxsb2NhdGVQcm9wZXJ0eVN0b3JhZ2UgY29udGludWF0aW9uIikpOworICAgICAgICAg
ICAgCisgICAgICAgICAgICBtX291dC5icmFuY2gobV9vdXQuaXNOdWxsKHJlc3VsdCkgLCBmYWls
UGF0aCAsIGNvbnRpbnVhdGlvbik7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIG1fb3V0LmFw
cGVuZFRvKGZhaWxQYXRoLCBjb250aW51YXRpb24pOworICAgICAgICAgICAgbV9vdXQuY3Jhc2go
KTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgbV9vdXQuYXBwZW5kVG8oY29udGludWF0aW9u
KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgTEJh
c2ljQmxvY2sgc2xvd1BhdGggPSBGVExfTkVXX0JMT0NLKG1fb3V0LCAoIlJlYWxsb2NhdGVQcm9w
ZXJ0eVN0b3JhZ2Ugc2xvdyBwYXRoIikpOworICAgICAgICBMQmFzaWNCbG9jayBjb250aW51YXRp
b24gPSBGVExfTkVXX0JMT0NLKG1fb3V0LCAoIlJlYWxsb2NhdGVQcm9wZXJ0eVN0b3JhZ2UgY29u
dGludWF0aW9uIikpOworICAgICAgICBMQmFzaWNCbG9jayBsYXN0TmV4dCA9IG1fb3V0Lmluc2Vy
dE5ld0Jsb2Nrc0JlZm9yZShzbG93UGF0aCk7CisgICAgICAgIAorICAgICAgICBMVmFsdWUgZW5k
T2ZTdG9yYWdlID0gCisgICAgICAgICAgICBhbGxvY2F0ZUJhc2ljU3RvcmFnZUFuZEdldEVuZCht
X291dC5jb25zdEludFB0cihuZXdTaXplKSwgc2xvd1BhdGgpOworICAgICAgICAKKyAgICAgICAg
VmFsdWVGcm9tQmxvY2sgZmFzdEJ1dHRlcmZseSA9IG1fb3V0LmFuY2hvcigKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX291dC5hZGQobV9vdXQu
Y29uc3RJbnRQdHIoc2l6ZW9mKEluZGV4aW5nSGVhZGVyKSksIGVuZE9mU3RvcmFnZSkpOworICAg
ICAgICAKKyAgICAgICAgbV9vdXQuanVtcChjb250aW51YXRpb24pOworICAgICAgICAKKyAgICAg
ICAgbV9vdXQuYXBwZW5kVG8oc2xvd1BhdGgsIGNvbnRpbnVhdGlvbik7CisgICAgICAgIAorICAg
ICAgICBMVmFsdWUgbmV3QWxsb2NTaXplID0gbV9vdXQuY29uc3RJbnQ2NChuZXdTaXplIC8gc2l6
ZW9mKEpTVmFsdWUpKTsgICAgICAgCisgICAgICAgIAorICAgICAgICBMVmFsdWUgc3RvcmFnZUxv
Y2F0aW9uID0gdm1DYWxsKG1fb3V0Lm9wZXJhdGlvbihvcGVyYXRpb25BbGxvY2F0ZVByb3BlcnR5
U3RvcmFnZSksIG1fY2FsbEZyYW1lLCBuZXdBbGxvY1NpemUpOworICAgICAgICAKKyAgICAgICAg
VmFsdWVGcm9tQmxvY2sgc2xvd0J1dHRlcmZseSA9IG1fb3V0LmFuY2hvcihzdG9yYWdlTG9jYXRp
b24pOworICAgICAgICAKKyAgICAgICAgbV9vdXQuanVtcChjb250aW51YXRpb24pOworICAgICAg
ICAKKyAgICAgICAgbV9vdXQuYXBwZW5kVG8oY29udGludWF0aW9uLCBsYXN0TmV4dCk7CisgICAg
ICAgIAorICAgICAgICBMVmFsdWUgcmVzdWx0ID0gbV9vdXQucGhpKG1fb3V0LmludFB0ciwgZmFz
dEJ1dHRlcmZseSwgc2xvd0J1dHRlcmZseSk7CisgICAgICAgIExWYWx1ZSBvbGRTdG9yYWdlID0g
bV9vdXQubG9hZFB0cihvYmplY3QsIG1faGVhcHMuSlNPYmplY3RfYnV0dGVyZmx5KTsKKyAgICAg
ICAgZm9yIChzaXplX3QgaXRlbSA9IDA7IGl0ZW0gPCBvbGRTaXplOyBpdGVtKyspIHsKKyAgICAg
ICAgICAgIFN0b3JhZ2VBY2Nlc3NEYXRhJiBwcm9wID0gbV9ncmFwaC5tX3N0b3JhZ2VBY2Nlc3NE
YXRhW2l0ZW1dOworICAgICAgICAgICAgdW5zaWduZWQgaWRlbnQgPSBwcm9wLmlkZW50aWZpZXJO
dW1iZXI7CisgICAgICAgICAgICBwdHJkaWZmX3Qgb2ZmICA9IG9mZnNldFJlbGF0aXZlVG9CYXNl
KHByb3Aub2Zmc2V0KTsKKyAgICAgICAgICAgIExWYWx1ZSBsb2FkZWQgPSAKKyAgICAgICAgICAg
ICAgICBtX291dC5sb2FkUHRyKG1fb3V0LmFkZHJlc3MobV9oZWFwcy5wcm9wZXJ0aWVzW2lkZW50
XSwgb2xkU3RvcmFnZSwgLW9mZikpOworICAgICAgICAgICAgbV9vdXQuc3RvcmVQdHIobG9hZGVk
LCBtX291dC5hZGRyZXNzKG1faGVhcHMucHJvcGVydGllc1tpZGVudF0gLCByZXN1bHQsIC1vZmYp
KTsKKyAgICAgICAgfSAKKyAgICAgICAgCisgICAgICAgIG1fb3V0LnN0b3JlUHRyKHJlc3VsdCwg
bV9vdXQuYWRkcmVzcyhvYmplY3QsIG1faGVhcHMuSlNPYmplY3RfYnV0dGVyZmx5KSk7CisgICAg
ICAgIAorICAgICAgICBzZXRTdG9yYWdlKHJlc3VsdCk7IAorICAgIH0KKyAgICAKICAgICAKICAg
ICB2b2lkIGNvbXBpbGVUb1N0cmluZygpCiAgICAgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3Rlc3RzL3N0cmVzcy9mdGwtcmVhbGxvY2F0ZXByb3BlcnR5c3RvcmFnZS5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Z0bC1yZWFsbG9jYXRl
cHJvcGVydHlzdG9yYWdlLmpzIChyZXZpc2lvbiAwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9mdGwtcmVhbGxvY2F0ZXByb3BlcnR5c3RvcmFnZS5qcyAod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDI4IEBACitmdW5jdGlvbiBmb28oeCl7CisgICAgeC5hMCA9IDA7Cisg
ICAgeC5hMSA9IDE7CisgICAgeC5hMiA9IDI7CisgICAgeC5hMyA9IDM7CisgICAgeC5hNCA9IDQ7
CisgICAgeC5hNSA9IDU7CisgICAgeC5hNiA9IDY7CisgICAgeC5hNyA9IDc7CisgICAgeC5hOCA9
IDg7CisgICAgeC5hOSA9IDk7CisgICAgeC5hMTAgPSAxMDsKK30KKworbm9JbmxpbmUoZm9vKTsK
KwordmFyIGMgPSB7fTsKK2ZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDAwOyArK2kpIHsKKyAgICB2
YXIgYiA9IHt9OworICAgIGZvbyhiKTsKKyAgICBjID0gYjsKKworfQorCitmb3IgKHZhciBqID0g
MDsgaiA8PSAxMDsgKytqKSAKKyAgICBpZiAoYlsnYScral0gIT0gaikgCisgICAgICAgIHRocm93
ICJFcnJvciAiK2JbJ2EnK2pdOworCgoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223751</attachid>
            <date>2014-02-10 14:32:52 -0800</date>
            <delta_ts>2014-02-10 16:08:36 -0800</delta_ts>
            <desc>ReallocatePropertyStorage in FTL patch</desc>
            <filename>reallocatepropertystorage.patch</filename>
            <type>text/plain</type>
            <size>6809</size>
            <attacher name="Matthew Mirman">mmirman</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAKLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxNC0wMi0xMCAgTWF0dGhldyBNaXJtYW4gIDxt
bWlybWFuQGFwcGxlLmNvbT4KKworICAgICAgICBSZWFsbG9jYXRlUHJvcGVydHlTdG9yYWdlIGlu
IEZUTAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI4
MzUyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBm
dGwvRlRMQ2FwYWJpbGl0aWVzLmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjpjYW5Db21waWxlKToK
KyAgICAgICAgKiBmdGwvRlRMSW50cmluc2ljUmVwb3NpdG9yeS5oOgorICAgICAgICAqIGZ0bC9G
VExMb3dlckRGR1RvTExWTS5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06
OmNvbXBpbGVOb2RlKToKKyAgICAgICAgKEpTQzo6RlRMOjpMb3dlckRGR1RvTExWTTo6Y29tcGls
ZVJlYWxsb2NhdGVQcm9wZXJ0eVN0b3JhZ2UpOgorICAgICAgICAqIHRlc3RzL3N0cmVzcy9mdGwt
cmVhbGxvY2F0ZXByb3BlcnR5c3RvcmFnZS5qczogQWRkZWQuCisgICAgICAgIChmb28pOgorCiAy
MDE0LTAyLTA3ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKICAgICAg
ICAgW2lPU10gRWxpbWluYXRlIHJhY2UgYmV0d2VlbiBYUEMgY29ubmVjdGlvbiBxdWV1ZSBhbmQg
Tm90aWZpY2F0aW9uIHF1ZXVlCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENh
cGFiaWxpdGllcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9G
VExDYXBhYmlsaXRpZXMuY3BwCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFi
aWxpdGllcy5jcHAKQEAgLTEwNyw2ICsxMDcsNyBAQCBpbmxpbmUgQ2FwYWJpbGl0eUxldmVsIGNh
bkNvbXBpbGUoTm9kZSogbm9kZSkKICAgICBjYXNlIENoZWNrRnVuY3Rpb246CiAgICAgY2FzZSBT
dHJpbmdDaGFyQ29kZUF0OgogICAgIGNhc2UgQWxsb2NhdGVQcm9wZXJ0eVN0b3JhZ2U6CisgICAg
Y2FzZSBSZWFsbG9jYXRlUHJvcGVydHlTdG9yYWdlOgogICAgIGNhc2UgRnVuY3Rpb25SZWVudHJ5
V2F0Y2hwb2ludDoKICAgICBjYXNlIFR5cGVkQXJyYXlXYXRjaHBvaW50OgogICAgIGNhc2UgR2V0
VHlwZWRBcnJheUJ5dGVPZmZzZXQ6CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZU
TEludHJpbnNpY1JlcG9zaXRvcnkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTEludHJpbnNpY1JlcG9zaXRvcnkuaAorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExJbnRyaW5zaWNSZXBvc2l0b3J5LmgKQEAgLTczLDYgKzczLDggQEAgbmFtZXNwYWNl
IEpTQyB7IG5hbWVzcGFjZSBGVEwgewogICAgIG1hY3JvKFBfSklUT3BlcmF0aW9uX0UsIGZ1bmN0
aW9uVHlwZShpbnRQdHIsIGludFB0cikpIFwKICAgICBtYWNybyhQX0pJVE9wZXJhdGlvbl9FQywg
ZnVuY3Rpb25UeXBlKGludFB0ciwgaW50UHRyLCBpbnRQdHIpKSBcCiAgICAgbWFjcm8oUF9KSVRP
cGVyYXRpb25fRU8sIGZ1bmN0aW9uVHlwZShpbnRQdHIsIGludFB0ciwgaW50UHRyKSkgXAorICAg
IG1hY3JvKFBfSklUT3BlcmF0aW9uX0VTLCBmdW5jdGlvblR5cGUoaW50UHRyLCBpbnRQdHIsIGlu
dDY0KSkgXAorICAgIG1hY3JvKFBfSklUT3BlcmF0aW9uX0VPUywgZnVuY3Rpb25UeXBlKGludFB0
ciwgaW50UHRyLCBpbnRQdHIsIGludDY0KSkgXAogICAgIG1hY3JvKFBfSklUT3BlcmF0aW9uX0VT
dCwgZnVuY3Rpb25UeXBlKGludFB0ciwgaW50UHRyLCBpbnRQdHIpKSBcCiAgICAgbWFjcm8oUF9K
SVRPcGVyYXRpb25fRVN0UFMsIGZ1bmN0aW9uVHlwZShpbnRQdHIsIGludFB0ciwgaW50UHRyLCBp
bnRQdHIsIGludFB0cikpIFwKICAgICBtYWNybyhQX0pJVE9wZXJhdGlvbl9FU3RTUywgZnVuY3Rp
b25UeXBlKGludFB0ciwgaW50UHRyLCBpbnRQdHIsIGludFB0ciwgaW50UHRyKSkgXApJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCkBAIC00NDAs
NiArNDQwLDkgQEAgcHJpdmF0ZToKICAgICAgICAgY2FzZSBBbGxvY2F0ZVByb3BlcnR5U3RvcmFn
ZToKICAgICAgICAgICAgIGNvbXBpbGVBbGxvY2F0ZVByb3BlcnR5U3RvcmFnZSgpOwogICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgUmVhbGxvY2F0ZVByb3BlcnR5U3RvcmFnZToKKyAg
ICAgICAgICAgIGNvbXBpbGVSZWFsbG9jYXRlUHJvcGVydHlTdG9yYWdlKCk7CisgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgY2FzZSBUb1N0cmluZzoKICAgICAgICAgICAgIGNvbXBpbGVUb1N0
cmluZygpOwogICAgICAgICAgICAgYnJlYWs7CkBAIC0yNjYwLDYgKzI2NjMsNzUgQEAgcHJpdmF0
ZToKICAgICAgICAgCiAgICAgICAgIHNldFN0b3JhZ2UocmVzdWx0KTsKICAgICB9CisKKyAgICB2
b2lkIGNvbXBpbGVSZWFsbG9jYXRlUHJvcGVydHlTdG9yYWdlKCkKKyAgICB7CisgICAgICAgIFN0
cnVjdHVyZVRyYW5zaXRpb25EYXRhJiBkYXRhID0gbV9ub2RlLT5zdHJ1Y3R1cmVUcmFuc2l0aW9u
RGF0YSgpOworICAgICAgICAKKyAgICAgICAgU3RydWN0dXJlKiBwcmV2aW91cyA9IGRhdGEucHJl
dmlvdXNTdHJ1Y3R1cmU7CisgICAgICAgIExWYWx1ZSBvYmplY3QgPSBsb3dDZWxsKG1fbm9kZS0+
Y2hpbGQxKCkpOworCisgICAgICAgIHNpemVfdCBvbGRTaXplID0gcHJldmlvdXMtPm91dE9mTGlu
ZUNhcGFjaXR5KCk7CisgICAgICAgIHNpemVfdCBuZXdTaXplID0gb2xkU2l6ZSAqIG91dE9mTGlu
ZUdyb3d0aEZhY3RvciAqIHNpemVvZihKU1ZhbHVlKTsKKworICAgICAgICBBU1NFUlQobmV3U2l6
ZSA9PSBkYXRhLm5ld1N0cnVjdHVyZS0+b3V0T2ZMaW5lQ2FwYWNpdHkoKSAqIHNpemVvZihKU1Zh
bHVlKSk7CisgICAgICAgIAorICAgICAgICBpZiAocHJldmlvdXMtPmNvdWxkSGF2ZUluZGV4aW5n
SGVhZGVyKCkpIHsKKyAgICAgICAgICAgIExWYWx1ZSBuZXdBbGxvY1NpemUgPSBtX291dC5jb25z
dEludDY0KG5ld1NpemUgLyBzaXplb2YoSlNWYWx1ZSkpOyAgICAgICAgICAgICAgICAgICAgCisg
ICAgICAgICAgICBMVmFsdWUgcmVzdWx0ID0gdm1DYWxsKG1fb3V0Lm9wZXJhdGlvbihvcGVyYXRp
b25SZWFsbG9jYXRlQnV0dGVyZmx5VG9Hcm93UHJvcGVydHlTdG9yYWdlKSwgbV9jYWxsRnJhbWUs
IG9iamVjdCwgbmV3QWxsb2NTaXplKTsKKyAgICAgICAgICAgIHNldFN0b3JhZ2UocmVzdWx0KTsK
KyAgICAgICAgICAgIAorICAgICAgICAgICAgTEJhc2ljQmxvY2sgZmFpbFBhdGggPSBGVExfTkVX
X0JMT0NLKG1fb3V0LCAoIlJlYWxsb2NhdGVQcm9wZXJ0eVN0b3JhZ2UgZmFpbHVyZSIpKTsKKyAg
ICAgICAgICAgIExCYXNpY0Jsb2NrIGNvbnRpbnVhdGlvbiA9IEZUTF9ORVdfQkxPQ0sobV9vdXQs
ICgiUmVhbGxvY2F0ZVByb3BlcnR5U3RvcmFnZSBjb250aW51YXRpb24iKSk7CisgICAgICAgICAg
ICAKKyAgICAgICAgICAgIG1fb3V0LmJyYW5jaChtX291dC5pc051bGwocmVzdWx0KSAsIGZhaWxQ
YXRoICwgY29udGludWF0aW9uKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgbV9vdXQuYXBw
ZW5kVG8oZmFpbFBhdGgsIGNvbnRpbnVhdGlvbik7CisgICAgICAgICAgICBtX291dC5jcmFzaCgp
OworICAgICAgICAgICAgCisgICAgICAgICAgICBtX291dC5hcHBlbmRUbyhjb250aW51YXRpb24p
OworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIAorICAgICAgICBMQmFz
aWNCbG9jayBzbG93UGF0aCA9IEZUTF9ORVdfQkxPQ0sobV9vdXQsICgiUmVhbGxvY2F0ZVByb3Bl
cnR5U3RvcmFnZSBzbG93IHBhdGgiKSk7CisgICAgICAgIExCYXNpY0Jsb2NrIGNvbnRpbnVhdGlv
biA9IEZUTF9ORVdfQkxPQ0sobV9vdXQsICgiUmVhbGxvY2F0ZVByb3BlcnR5U3RvcmFnZSBjb250
aW51YXRpb24iKSk7CisgICAgICAgIExCYXNpY0Jsb2NrIGxhc3ROZXh0ID0gbV9vdXQuaW5zZXJ0
TmV3QmxvY2tzQmVmb3JlKHNsb3dQYXRoKTsKKyAgICAgICAgCisgICAgICAgIExWYWx1ZSBlbmRP
ZlN0b3JhZ2UgPSAKKyAgICAgICAgICAgIGFsbG9jYXRlQmFzaWNTdG9yYWdlQW5kR2V0RW5kKG1f
b3V0LmNvbnN0SW50UHRyKG5ld1NpemUpLCBzbG93UGF0aCk7CisgICAgICAgIAorICAgICAgICBW
YWx1ZUZyb21CbG9jayBmYXN0QnV0dGVyZmx5ID0gbV9vdXQuYW5jaG9yKG1fb3V0LmFkZChtX291
dC5jb25zdEludFB0cihzaXplb2YoSW5kZXhpbmdIZWFkZXIpKSwgZW5kT2ZTdG9yYWdlKSk7Cisg
ICAgICAgIAorICAgICAgICBtX291dC5qdW1wKGNvbnRpbnVhdGlvbik7CisgICAgICAgIAorICAg
ICAgICBtX291dC5hcHBlbmRUbyhzbG93UGF0aCwgY29udGludWF0aW9uKTsKKyAgICAgICAgCisg
ICAgICAgIExWYWx1ZSBuZXdBbGxvY1NpemUgPSBtX291dC5jb25zdEludDY0KG5ld1NpemUgLyBz
aXplb2YoSlNWYWx1ZSkpOyAgICAgICAKKyAgICAgICAgCisgICAgICAgIExWYWx1ZSBzdG9yYWdl
TG9jYXRpb24gPSB2bUNhbGwobV9vdXQub3BlcmF0aW9uKG9wZXJhdGlvbkFsbG9jYXRlUHJvcGVy
dHlTdG9yYWdlKSwgbV9jYWxsRnJhbWUsIG5ld0FsbG9jU2l6ZSk7CisgICAgICAgIAorICAgICAg
ICBWYWx1ZUZyb21CbG9jayBzbG93QnV0dGVyZmx5ID0gbV9vdXQuYW5jaG9yKHN0b3JhZ2VMb2Nh
dGlvbik7CisgICAgICAgIAorICAgICAgICBtX291dC5qdW1wKGNvbnRpbnVhdGlvbik7CisgICAg
ICAgIAorICAgICAgICBtX291dC5hcHBlbmRUbyhjb250aW51YXRpb24sIGxhc3ROZXh0KTsKKyAg
ICAgICAgCisgICAgICAgIExWYWx1ZSByZXN1bHQgPSBtX291dC5waGkobV9vdXQuaW50UHRyLCBm
YXN0QnV0dGVyZmx5LCBzbG93QnV0dGVyZmx5KTsKKyAgICAgICAgTFZhbHVlIG9sZFN0b3JhZ2Ug
PSBtX291dC5sb2FkUHRyKG9iamVjdCwgbV9oZWFwcy5KU09iamVjdF9idXR0ZXJmbHkpOworICAg
ICAgICBmb3IgKHNpemVfdCBpdGVtID0gMDsgaXRlbSA8IG9sZFNpemU7IGl0ZW0rKykgeworICAg
ICAgICAgICAgU3RvcmFnZUFjY2Vzc0RhdGEmIHByb3AgPSBtX2dyYXBoLm1fc3RvcmFnZUFjY2Vz
c0RhdGFbaXRlbV07CisgICAgICAgICAgICB1bnNpZ25lZCBpZGVudCA9IHByb3AuaWRlbnRpZmll
ck51bWJlcjsKKyAgICAgICAgICAgIHB0cmRpZmZfdCBvZmYgID0gb2Zmc2V0UmVsYXRpdmVUb0Jh
c2UocHJvcC5vZmZzZXQpOworICAgICAgICAgICAgTFZhbHVlIGxvYWRlZCA9IAorICAgICAgICAg
ICAgICAgIG1fb3V0LmxvYWRQdHIobV9vdXQuYWRkcmVzcyhtX2hlYXBzLnByb3BlcnRpZXNbaWRl
bnRdLCBvbGRTdG9yYWdlLCAtb2ZmKSk7CisgICAgICAgICAgICBtX291dC5zdG9yZVB0cihsb2Fk
ZWQsIG1fb3V0LmFkZHJlc3MobV9oZWFwcy5wcm9wZXJ0aWVzW2lkZW50XSAsIHJlc3VsdCwgLW9m
ZikpOworICAgICAgICB9IAorICAgICAgICAKKyAgICAgICAgbV9vdXQuc3RvcmVQdHIocmVzdWx0
LCBtX291dC5hZGRyZXNzKG9iamVjdCwgbV9oZWFwcy5KU09iamVjdF9idXR0ZXJmbHkpKTsKKyAg
ICAgICAgCisgICAgICAgIHNldFN0b3JhZ2UocmVzdWx0KTsgCisgICAgfQorICAgIAogICAgIAog
ICAgIHZvaWQgY29tcGlsZVRvU3RyaW5nKCkKICAgICB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2Z0bC1yZWFsbG9jYXRlcHJvcGVydHlzdG9yYWdlLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZnRsLXJlYWxsb2Nh
dGVwcm9wZXJ0eXN0b3JhZ2UuanMgKHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvdGVzdHMvc3RyZXNzL2Z0bC1yZWFsbG9jYXRlcHJvcGVydHlzdG9yYWdlLmpzICh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMjggQEAKK2Z1bmN0aW9uIGZvbyh4KXsKKyAgICB4LmEwID0gMDsK
KyAgICB4LmExID0gMTsKKyAgICB4LmEyID0gMjsKKyAgICB4LmEzID0gMzsKKyAgICB4LmE0ID0g
NDsKKyAgICB4LmE1ID0gNTsKKyAgICB4LmE2ID0gNjsKKyAgICB4LmE3ID0gNzsKKyAgICB4LmE4
ID0gODsKKyAgICB4LmE5ID0gOTsKKyAgICB4LmExMCA9IDEwOworfQorCitub0lubGluZShmb28p
OworCit2YXIgYyA9IHt9OworZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDA7ICsraSkgeworICAg
IHZhciBiID0ge307CisgICAgZm9vKGIpOworICAgIGMgPSBiOworCit9CisKK2ZvciAodmFyIGog
PSAwOyBqIDw9IDEwOyArK2opIAorICAgIGlmIChiWydhJytqXSAhPSBqKSAKKyAgICAgICAgdGhy
b3cgIkVycm9yICIrYlsnYScral07CisKCgo=
</data>
<flag name="review"
          id="247822"
          type_id="1"
          status="-"
          setter="fpizlo"
    />
    <flag name="commit-queue"
          id="247823"
          type_id="3"
          status="-"
          setter="fpizlo"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223762</attachid>
            <date>2014-02-10 16:08:36 -0800</date>
            <delta_ts>2014-02-10 16:45:08 -0800</delta_ts>
            <desc>ReallocatePropertyStorage in FTL patch</desc>
            <filename>0001-added-reallocatepropertystorage.patch</filename>
            <type>text/plain</type>
            <size>6729</size>
            <attacher name="Matthew Mirman">mmirman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggOGRmYmM5Mi4uM2VhMDZiYiAxMDA2NDQKLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxNC0wMi0xMCAgTWF0dGhldyBNaXJtYW4gIDxtbWly
bWFuQGFwcGxlLmNvbT4KKworICAgICAgICBSZWFsbG9jYXRlUHJvcGVydHlTdG9yYWdlIGluIEZU
TAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI4MzUy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmdGwv
RlRMQ2FwYWJpbGl0aWVzLmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjpjYW5Db21waWxlKToKKyAg
ICAgICAgKiBmdGwvRlRMSW50cmluc2ljUmVwb3NpdG9yeS5oOgorICAgICAgICAqIGZ0bC9GVExM
b3dlckRGR1RvTExWTS5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06OmNv
bXBpbGVOb2RlKToKKyAgICAgICAgKEpTQzo6RlRMOjpMb3dlckRGR1RvTExWTTo6Y29tcGlsZVJl
YWxsb2NhdGVQcm9wZXJ0eVN0b3JhZ2UpOgorICAgICAgICAqIHRlc3RzL3N0cmVzcy9mdGwtcmVh
bGxvY2F0ZXByb3BlcnR5c3RvcmFnZS5qczogQWRkZWQuCisgICAgICAgIChmb28pOgorCiAyMDE0
LTAyLTA3ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKICAgICAgICAg
W2lPU10gRWxpbWluYXRlIHJhY2UgYmV0d2VlbiBYUEMgY29ubmVjdGlvbiBxdWV1ZSBhbmQgTm90
aWZpY2F0aW9uIHF1ZXVlCmRpZmYgLS1naXQgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExD
YXBhYmlsaXRpZXMuY3BwIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVz
LmNwcAppbmRleCBhNjVkYmYwLi5iNmIxM2ZiIDEwMDY0NAotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3BwCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRs
L0ZUTENhcGFiaWxpdGllcy5jcHAKQEAgLTEwNyw2ICsxMDcsNyBAQCBpbmxpbmUgQ2FwYWJpbGl0
eUxldmVsIGNhbkNvbXBpbGUoTm9kZSogbm9kZSkKICAgICBjYXNlIENoZWNrRnVuY3Rpb246CiAg
ICAgY2FzZSBTdHJpbmdDaGFyQ29kZUF0OgogICAgIGNhc2UgQWxsb2NhdGVQcm9wZXJ0eVN0b3Jh
Z2U6CisgICAgY2FzZSBSZWFsbG9jYXRlUHJvcGVydHlTdG9yYWdlOgogICAgIGNhc2UgRnVuY3Rp
b25SZWVudHJ5V2F0Y2hwb2ludDoKICAgICBjYXNlIFR5cGVkQXJyYXlXYXRjaHBvaW50OgogICAg
IGNhc2UgR2V0VHlwZWRBcnJheUJ5dGVPZmZzZXQ6CmRpZmYgLS1naXQgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Z0bC9GVExJbnRyaW5zaWNSZXBvc2l0b3J5LmggU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExJbnRyaW5zaWNSZXBvc2l0b3J5LmgKaW5kZXggODdkYzY5Ni4uOTBkNTNlOCAxMDA2
NDQKLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSW50cmluc2ljUmVwb3NpdG9yeS5o
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEludHJpbnNpY1JlcG9zaXRvcnkuaApA
QCAtNzMsNiArNzMsOCBAQCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7CiAgICAgbWFj
cm8oUF9KSVRPcGVyYXRpb25fRSwgZnVuY3Rpb25UeXBlKGludFB0ciwgaW50UHRyKSkgXAogICAg
IG1hY3JvKFBfSklUT3BlcmF0aW9uX0VDLCBmdW5jdGlvblR5cGUoaW50UHRyLCBpbnRQdHIsIGlu
dFB0cikpIFwKICAgICBtYWNybyhQX0pJVE9wZXJhdGlvbl9FTywgZnVuY3Rpb25UeXBlKGludFB0
ciwgaW50UHRyLCBpbnRQdHIpKSBcCisgICAgbWFjcm8oUF9KSVRPcGVyYXRpb25fRVMsIGZ1bmN0
aW9uVHlwZShpbnRQdHIsIGludFB0ciwgaW50NjQpKSBcCisgICAgbWFjcm8oUF9KSVRPcGVyYXRp
b25fRU9TLCBmdW5jdGlvblR5cGUoaW50UHRyLCBpbnRQdHIsIGludFB0ciwgaW50NjQpKSBcCiAg
ICAgbWFjcm8oUF9KSVRPcGVyYXRpb25fRVN0LCBmdW5jdGlvblR5cGUoaW50UHRyLCBpbnRQdHIs
IGludFB0cikpIFwKICAgICBtYWNybyhQX0pJVE9wZXJhdGlvbl9FU3RQUywgZnVuY3Rpb25UeXBl
KGludFB0ciwgaW50UHRyLCBpbnRQdHIsIGludFB0ciwgaW50UHRyKSkgXAogICAgIG1hY3JvKFBf
SklUT3BlcmF0aW9uX0VTdFNTLCBmdW5jdGlvblR5cGUoaW50UHRyLCBpbnRQdHIsIGludFB0ciwg
aW50UHRyLCBpbnRQdHIpKSBcCmRpZmYgLS1naXQgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9G
VExMb3dlckRGR1RvTExWTS5jcHAgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRG
R1RvTExWTS5jcHAKaW5kZXggY2MyMTkzYi4uODk5NTgyZCAxMDA2NDQKLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcApAQCAtNDQwLDYgKzQ0MCw5IEBAIHByaXZh
dGU6CiAgICAgICAgIGNhc2UgQWxsb2NhdGVQcm9wZXJ0eVN0b3JhZ2U6CiAgICAgICAgICAgICBj
b21waWxlQWxsb2NhdGVQcm9wZXJ0eVN0b3JhZ2UoKTsKICAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICBjYXNlIFJlYWxsb2NhdGVQcm9wZXJ0eVN0b3JhZ2U6CisgICAgICAgICAgICBjb21waWxl
UmVhbGxvY2F0ZVByb3BlcnR5U3RvcmFnZSgpOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IGNhc2UgVG9TdHJpbmc6CiAgICAgICAgICAgICBjb21waWxlVG9TdHJpbmcoKTsKICAgICAgICAg
ICAgIGJyZWFrOwpAQCAtMjY2MCw2ICsyNjYzLDczIEBAIHByaXZhdGU6CiAgICAgICAgIAogICAg
ICAgICBzZXRTdG9yYWdlKHJlc3VsdCk7CiAgICAgfQorCisgICAgdm9pZCBjb21waWxlUmVhbGxv
Y2F0ZVByb3BlcnR5U3RvcmFnZSgpCisgICAgeworICAgICAgICBTdHJ1Y3R1cmVUcmFuc2l0aW9u
RGF0YSYgZGF0YSA9IG1fbm9kZS0+c3RydWN0dXJlVHJhbnNpdGlvbkRhdGEoKTsKKyAgICAgICAg
CisgICAgICAgIFN0cnVjdHVyZSogcHJldmlvdXMgPSBkYXRhLnByZXZpb3VzU3RydWN0dXJlOwor
ICAgICAgICBMVmFsdWUgb2JqZWN0ID0gbG93Q2VsbChtX25vZGUtPmNoaWxkMSgpKTsKKworICAg
ICAgICBzaXplX3Qgb2xkU2l6ZSA9IHByZXZpb3VzLT5vdXRPZkxpbmVDYXBhY2l0eSgpOworICAg
ICAgICBzaXplX3QgbmV3U2l6ZSA9IG9sZFNpemUgKiBvdXRPZkxpbmVHcm93dGhGYWN0b3IgKiBz
aXplb2YoSlNWYWx1ZSk7CisKKyAgICAgICAgQVNTRVJUKG5ld1NpemUgPT0gZGF0YS5uZXdTdHJ1
Y3R1cmUtPm91dE9mTGluZUNhcGFjaXR5KCkgKiBzaXplb2YoSlNWYWx1ZSkpOworICAgICAgICAK
KyAgICAgICAgaWYgKHByZXZpb3VzLT5jb3VsZEhhdmVJbmRleGluZ0hlYWRlcigpKSB7CisgICAg
ICAgICAgICBMVmFsdWUgbmV3QWxsb2NTaXplID0gbV9vdXQuY29uc3RJbnQ2NChuZXdTaXplIC8g
c2l6ZW9mKEpTVmFsdWUpKTsgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgTFZhbHVl
IHJlc3VsdCA9IHZtQ2FsbChtX291dC5vcGVyYXRpb24ob3BlcmF0aW9uUmVhbGxvY2F0ZUJ1dHRl
cmZseVRvR3Jvd1Byb3BlcnR5U3RvcmFnZSksIG1fY2FsbEZyYW1lLCBvYmplY3QsIG5ld0FsbG9j
U2l6ZSk7CisgICAgICAgICAgICBzZXRTdG9yYWdlKHJlc3VsdCk7CisgICAgICAgICAgICAKKyAg
ICAgICAgICAgIExCYXNpY0Jsb2NrIGZhaWxQYXRoID0gRlRMX05FV19CTE9DSyhtX291dCwgKCJS
ZWFsbG9jYXRlUHJvcGVydHlTdG9yYWdlIGZhaWx1cmUiKSk7CisgICAgICAgICAgICBMQmFzaWNC
bG9jayBjb250aW51YXRpb24gPSBGVExfTkVXX0JMT0NLKG1fb3V0LCAoIlJlYWxsb2NhdGVQcm9w
ZXJ0eVN0b3JhZ2UgY29udGludWF0aW9uIikpOworICAgICAgICAgICAgCisgICAgICAgICAgICBt
X291dC5icmFuY2gobV9vdXQuaXNOdWxsKHJlc3VsdCkgLCBmYWlsUGF0aCAsIGNvbnRpbnVhdGlv
bik7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIG1fb3V0LmFwcGVuZFRvKGZhaWxQYXRoLCBj
b250aW51YXRpb24pOworICAgICAgICAgICAgbV9vdXQuY3Jhc2goKTsKKyAgICAgICAgICAgIAor
ICAgICAgICAgICAgbV9vdXQuYXBwZW5kVG8oY29udGludWF0aW9uKTsKKyAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgTEJhc2ljQmxvY2sgc2xvd1BhdGgg
PSBGVExfTkVXX0JMT0NLKG1fb3V0LCAoIlJlYWxsb2NhdGVQcm9wZXJ0eVN0b3JhZ2Ugc2xvdyBw
YXRoIikpOworICAgICAgICBMQmFzaWNCbG9jayBjb250aW51YXRpb24gPSBGVExfTkVXX0JMT0NL
KG1fb3V0LCAoIlJlYWxsb2NhdGVQcm9wZXJ0eVN0b3JhZ2UgY29udGludWF0aW9uIikpOworICAg
ICAgICBMQmFzaWNCbG9jayBsYXN0TmV4dCA9IG1fb3V0Lmluc2VydE5ld0Jsb2Nrc0JlZm9yZShz
bG93UGF0aCk7CisgICAgICAgIAorICAgICAgICBMVmFsdWUgZW5kT2ZTdG9yYWdlID0gCisgICAg
ICAgICAgICBhbGxvY2F0ZUJhc2ljU3RvcmFnZUFuZEdldEVuZChtX291dC5jb25zdEludFB0cihu
ZXdTaXplKSwgc2xvd1BhdGgpOworICAgICAgICAKKyAgICAgICAgVmFsdWVGcm9tQmxvY2sgZmFz
dEJ1dHRlcmZseSA9IG1fb3V0LmFuY2hvcihtX291dC5hZGQobV9vdXQuY29uc3RJbnRQdHIoc2l6
ZW9mKEluZGV4aW5nSGVhZGVyKSksIGVuZE9mU3RvcmFnZSkpOworICAgICAgICAKKyAgICAgICAg
bV9vdXQuanVtcChjb250aW51YXRpb24pOworICAgICAgICAKKyAgICAgICAgbV9vdXQuYXBwZW5k
VG8oc2xvd1BhdGgsIGNvbnRpbnVhdGlvbik7CisgICAgICAgIAorICAgICAgICBMVmFsdWUgbmV3
QWxsb2NTaXplID0gbV9vdXQuY29uc3RJbnQ2NChuZXdTaXplIC8gc2l6ZW9mKEpTVmFsdWUpKTsg
ICAgICAgCisgICAgICAgIAorICAgICAgICBMVmFsdWUgc3RvcmFnZUxvY2F0aW9uID0gdm1DYWxs
KG1fb3V0Lm9wZXJhdGlvbihvcGVyYXRpb25BbGxvY2F0ZVByb3BlcnR5U3RvcmFnZSksIG1fY2Fs
bEZyYW1lLCBuZXdBbGxvY1NpemUpOworICAgICAgICAKKyAgICAgICAgVmFsdWVGcm9tQmxvY2sg
c2xvd0J1dHRlcmZseSA9IG1fb3V0LmFuY2hvcihzdG9yYWdlTG9jYXRpb24pOworICAgICAgICAK
KyAgICAgICAgbV9vdXQuanVtcChjb250aW51YXRpb24pOworICAgICAgICAKKyAgICAgICAgbV9v
dXQuYXBwZW5kVG8oY29udGludWF0aW9uLCBsYXN0TmV4dCk7CisgICAgICAgIAorICAgICAgICBM
VmFsdWUgcmVzdWx0ID0gbV9vdXQucGhpKG1fb3V0LmludFB0ciwgZmFzdEJ1dHRlcmZseSwgc2xv
d0J1dHRlcmZseSk7CisgICAgICAgIExWYWx1ZSBvbGRTdG9yYWdlID0gbV9vdXQubG9hZFB0cihv
YmplY3QsIG1faGVhcHMuSlNPYmplY3RfYnV0dGVyZmx5KTsKKyAgICAgICAgZm9yIChzaXplX3Qg
aXRlbSA9IDA7IGl0ZW0gPCBvbGRTaXplOyBpdGVtKyspIHsKKyAgICAgICAgICAgIHB0cmRpZmZf
dCBvZmYgPSAtb2Zmc2V0UmVsYXRpdmVUb0Jhc2Uob2Zmc2V0Rm9yUHJvcGVydHlOdW1iZXIoaXRl
bSwgcHJldmlvdXMtPmlubGluZUNhcGFjaXR5KCkpKTsKKyAgICAgICAgICAgIExWYWx1ZSBsb2Fk
ZWQgPSAKKyAgICAgICAgICAgICAgICBtX291dC5sb2FkUHRyKG1fb3V0LmFkZHJlc3MobV9oZWFw
cy5wcm9wZXJ0aWVzW2l0ZW1dLCBvbGRTdG9yYWdlLCBvZmYpKTsKKyAgICAgICAgICAgIG1fb3V0
LnN0b3JlUHRyKGxvYWRlZCwgbV9vdXQuYWRkcmVzcyhtX2hlYXBzLnByb3BlcnRpZXNbaXRlbV0g
LCByZXN1bHQsIG9mZikpOworICAgICAgICB9IAorICAgICAgICAKKyAgICAgICAgbV9vdXQuc3Rv
cmVQdHIocmVzdWx0LCBtX291dC5hZGRyZXNzKG9iamVjdCwgbV9oZWFwcy5KU09iamVjdF9idXR0
ZXJmbHkpKTsKKyAgICAgICAgCisgICAgICAgIHNldFN0b3JhZ2UocmVzdWx0KTsgCisgICAgfQor
ICAgIAogICAgIAogICAgIHZvaWQgY29tcGlsZVRvU3RyaW5nKCkKICAgICB7CmRpZmYgLS1naXQg
U291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9mdGwtcmVhbGxvY2F0ZXByb3BlcnR5
c3RvcmFnZS5qcyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Z0bC1yZWFsbG9j
YXRlcHJvcGVydHlzdG9yYWdlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LjYxMjM0NzkKLS0tIC9kZXYvbnVsbAorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0
cmVzcy9mdGwtcmVhbGxvY2F0ZXByb3BlcnR5c3RvcmFnZS5qcwpAQCAtMCwwICsxLDI5IEBACitm
dW5jdGlvbiBmb28oeCl7CisgICAgeC5hMCA9IDA7CisgICAgeC5hMSA9IDE7CisgICAgeC5hMiA9
IDI7CisgICAgeC5hMyA9IDM7CisgICAgeC5hNCA9IDQ7CisgICAgeC5hNSA9IDU7CisgICAgeC5h
NiA9IDY7CisgICAgeC5hNyA9IDc7CisgICAgeC5hOCA9IDg7CisgICAgeC5hOSA9IDk7CisgICAg
eC5hMTAgPSAxMDsKK30KKworbm9JbmxpbmUoZm9vKTsKKwordmFyIGMgPSB7fTsKK2ZvciAodmFy
IGkgPSAwOyBpIDwgMTAwMDAwOyArK2kpIHsKKyAgICB2YXIgYiA9IHt9OworICAgIGZvbyhiKTsK
KyAgICBjID0gYjsKKworfQorCitmb3IgKHZhciBqID0gMDsgaiA8PSAxMCA7ICsraikgCisgICAg
aWYgKGJbJ2EnK2pdICE9IGopIAorICAgICAgICB0aHJvdyAiRXJyb3IgIitiWydhJytqXTsKKwor
CgoK
</data>
<flag name="review"
          id="247834"
          type_id="1"
          status="-"
          setter="fpizlo"
    />
    <flag name="commit-queue"
          id="247835"
          type_id="3"
          status="-"
          setter="fpizlo"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223769</attachid>
            <date>2014-02-10 16:45:08 -0800</date>
            <delta_ts>2014-02-10 17:26:41 -0800</delta_ts>
            <desc>Again, added ReallocatePropertyStorage</desc>
            <filename>0001-added-reallocatepropertystorage.patch</filename>
            <type>text/plain</type>
            <size>6591</size>
            <attacher name="Matthew Mirman">mmirman</attacher>
            
              <data encoding="base64">RnJvbSBmNjYyZDk1NDZhN2ZiNDdlNTk1OWY1YjJlYmI4YTZjYmI1NjQ1MTBkIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXR0aGV3IE1pcm1hbiA8bW1pcm1hbkBhcHBsZS5jb20+CkRh
dGU6IE1vbiwgMTAgRmViIDIwMTQgMTY6MDU6NTggLTA4MDAKU3ViamVjdDogW1BBVENIXSBhZGRl
ZCByZWFsbG9jYXRlcHJvcGVydHlzdG9yYWdlCgoKZGlmZiAtLWdpdCBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggOGRm
YmM5Mi4uM2VhMDZiYiAxMDA2NDQKLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAx
NC0wMi0xMCAgTWF0dGhldyBNaXJtYW4gIDxtbWlybWFuQGFwcGxlLmNvbT4KKworICAgICAgICBS
ZWFsbG9jYXRlUHJvcGVydHlTdG9yYWdlIGluIEZUTAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI4MzUyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcDoKKyAgICAg
ICAgKEpTQzo6RlRMOjpjYW5Db21waWxlKToKKyAgICAgICAgKiBmdGwvRlRMSW50cmluc2ljUmVw
b3NpdG9yeS5oOgorICAgICAgICAqIGZ0bC9GVExMb3dlckRGR1RvTExWTS5jcHA6CisgICAgICAg
IChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06OmNvbXBpbGVOb2RlKToKKyAgICAgICAgKEpTQzo6
RlRMOjpMb3dlckRGR1RvTExWTTo6Y29tcGlsZVJlYWxsb2NhdGVQcm9wZXJ0eVN0b3JhZ2UpOgor
ICAgICAgICAqIHRlc3RzL3N0cmVzcy9mdGwtcmVhbGxvY2F0ZXByb3BlcnR5c3RvcmFnZS5qczog
QWRkZWQuCisgICAgICAgIChmb28pOgorCiAyMDE0LTAyLTA3ICBKb3NlcGggUGVjb3Jhcm8gIDxw
ZWNvcmFyb0BhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gRWxpbWluYXRlIHJhY2UgYmV0d2Vl
biBYUEMgY29ubmVjdGlvbiBxdWV1ZSBhbmQgTm90aWZpY2F0aW9uIHF1ZXVlCmRpZmYgLS1naXQg
U291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3BwIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcAppbmRleCBhNjVkYmYwLi5iNmIxM2Zi
IDEwMDY0NAotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3Bw
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFiaWxpdGllcy5jcHAKQEAgLTEw
Nyw2ICsxMDcsNyBAQCBpbmxpbmUgQ2FwYWJpbGl0eUxldmVsIGNhbkNvbXBpbGUoTm9kZSogbm9k
ZSkKICAgICBjYXNlIENoZWNrRnVuY3Rpb246CiAgICAgY2FzZSBTdHJpbmdDaGFyQ29kZUF0Ogog
ICAgIGNhc2UgQWxsb2NhdGVQcm9wZXJ0eVN0b3JhZ2U6CisgICAgY2FzZSBSZWFsbG9jYXRlUHJv
cGVydHlTdG9yYWdlOgogICAgIGNhc2UgRnVuY3Rpb25SZWVudHJ5V2F0Y2hwb2ludDoKICAgICBj
YXNlIFR5cGVkQXJyYXlXYXRjaHBvaW50OgogICAgIGNhc2UgR2V0VHlwZWRBcnJheUJ5dGVPZmZz
ZXQ6CmRpZmYgLS1naXQgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExJbnRyaW5zaWNSZXBv
c2l0b3J5LmggU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExJbnRyaW5zaWNSZXBvc2l0b3J5
LmgKaW5kZXggODdkYzY5Ni4uOTBkNTNlOCAxMDA2NDQKLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9mdGwvRlRMSW50cmluc2ljUmVwb3NpdG9yeS5oCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZnRsL0ZUTEludHJpbnNpY1JlcG9zaXRvcnkuaApAQCAtNzMsNiArNzMsOCBAQCBuYW1lc3BhY2Ug
SlNDIHsgbmFtZXNwYWNlIEZUTCB7CiAgICAgbWFjcm8oUF9KSVRPcGVyYXRpb25fRSwgZnVuY3Rp
b25UeXBlKGludFB0ciwgaW50UHRyKSkgXAogICAgIG1hY3JvKFBfSklUT3BlcmF0aW9uX0VDLCBm
dW5jdGlvblR5cGUoaW50UHRyLCBpbnRQdHIsIGludFB0cikpIFwKICAgICBtYWNybyhQX0pJVE9w
ZXJhdGlvbl9FTywgZnVuY3Rpb25UeXBlKGludFB0ciwgaW50UHRyLCBpbnRQdHIpKSBcCisgICAg
bWFjcm8oUF9KSVRPcGVyYXRpb25fRVMsIGZ1bmN0aW9uVHlwZShpbnRQdHIsIGludFB0ciwgaW50
NjQpKSBcCisgICAgbWFjcm8oUF9KSVRPcGVyYXRpb25fRU9TLCBmdW5jdGlvblR5cGUoaW50UHRy
LCBpbnRQdHIsIGludFB0ciwgaW50NjQpKSBcCiAgICAgbWFjcm8oUF9KSVRPcGVyYXRpb25fRVN0
LCBmdW5jdGlvblR5cGUoaW50UHRyLCBpbnRQdHIsIGludFB0cikpIFwKICAgICBtYWNybyhQX0pJ
VE9wZXJhdGlvbl9FU3RQUywgZnVuY3Rpb25UeXBlKGludFB0ciwgaW50UHRyLCBpbnRQdHIsIGlu
dFB0ciwgaW50UHRyKSkgXAogICAgIG1hY3JvKFBfSklUT3BlcmF0aW9uX0VTdFNTLCBmdW5jdGlv
blR5cGUoaW50UHRyLCBpbnRQdHIsIGludFB0ciwgaW50UHRyLCBpbnRQdHIpKSBcCmRpZmYgLS1n
aXQgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAgU291cmNl
L0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAKaW5kZXggY2MyMTkzYi4u
YzEwOWQwMSAxMDA2NDQKLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdU
b0xMVk0uY3BwCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZN
LmNwcApAQCAtNDQwLDYgKzQ0MCw5IEBAIHByaXZhdGU6CiAgICAgICAgIGNhc2UgQWxsb2NhdGVQ
cm9wZXJ0eVN0b3JhZ2U6CiAgICAgICAgICAgICBjb21waWxlQWxsb2NhdGVQcm9wZXJ0eVN0b3Jh
Z2UoKTsKICAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFJlYWxsb2NhdGVQcm9wZXJ0
eVN0b3JhZ2U6CisgICAgICAgICAgICBjb21waWxlUmVhbGxvY2F0ZVByb3BlcnR5U3RvcmFnZSgp
OworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgVG9TdHJpbmc6CiAgICAgICAgICAg
ICBjb21waWxlVG9TdHJpbmcoKTsKICAgICAgICAgICAgIGJyZWFrOwpAQCAtMjY2MCw2ICsyNjYz
LDY2IEBAIHByaXZhdGU6CiAgICAgICAgIAogICAgICAgICBzZXRTdG9yYWdlKHJlc3VsdCk7CiAg
ICAgfQorCisgICAgdm9pZCBjb21waWxlUmVhbGxvY2F0ZVByb3BlcnR5U3RvcmFnZSgpCisgICAg
eworICAgICAgICBTdHJ1Y3R1cmVUcmFuc2l0aW9uRGF0YSYgZGF0YSA9IG1fbm9kZS0+c3RydWN0
dXJlVHJhbnNpdGlvbkRhdGEoKTsKKyAgICAgICAgCisgICAgICAgIFN0cnVjdHVyZSogcHJldmlv
dXMgPSBkYXRhLnByZXZpb3VzU3RydWN0dXJlOworICAgICAgICBMVmFsdWUgb2JqZWN0ID0gbG93
Q2VsbChtX25vZGUtPmNoaWxkMSgpKTsKKworICAgICAgICBzaXplX3Qgb2xkU2l6ZSA9IHByZXZp
b3VzLT5vdXRPZkxpbmVDYXBhY2l0eSgpICogc2l6ZW9mKEpTVmFsdWUpOworICAgICAgICBzaXpl
X3QgbmV3U2l6ZSA9IG9sZFNpemUgKiBvdXRPZkxpbmVHcm93dGhGYWN0b3I7IAorCisgICAgICAg
IEFTU0VSVChuZXdTaXplID09IGRhdGEubmV3U3RydWN0dXJlLT5vdXRPZkxpbmVDYXBhY2l0eSgp
ICogc2l6ZW9mKEpTVmFsdWUpKTsKKyAgICAgICAgCisgICAgICAgIGlmIChwcmV2aW91cy0+Y291
bGRIYXZlSW5kZXhpbmdIZWFkZXIoKSkgeworICAgICAgICAgICAgTFZhbHVlIG5ld0FsbG9jU2l6
ZSA9IG1fb3V0LmNvbnN0SW50NjQobmV3U2l6ZSAvIHNpemVvZihKU1ZhbHVlKSk7ICAgICAgICAg
ICAgICAgICAgICAKKyAgICAgICAgICAgIExWYWx1ZSByZXN1bHQgPSB2bUNhbGwobV9vdXQub3Bl
cmF0aW9uKG9wZXJhdGlvblJlYWxsb2NhdGVCdXR0ZXJmbHlUb0dyb3dQcm9wZXJ0eVN0b3JhZ2Up
LCBtX2NhbGxGcmFtZSwgb2JqZWN0LCBuZXdBbGxvY1NpemUpOworICAgICAgICAgICAgc2V0U3Rv
cmFnZShyZXN1bHQpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIAor
ICAgICAgICBMQmFzaWNCbG9jayBzbG93UGF0aCA9IEZUTF9ORVdfQkxPQ0sobV9vdXQsICgiUmVh
bGxvY2F0ZVByb3BlcnR5U3RvcmFnZSBzbG93IHBhdGgiKSk7CisgICAgICAgIExCYXNpY0Jsb2Nr
IGNvbnRpbnVhdGlvbiA9IEZUTF9ORVdfQkxPQ0sobV9vdXQsICgiUmVhbGxvY2F0ZVByb3BlcnR5
U3RvcmFnZSBjb250aW51YXRpb24iKSk7CisgICAgICAgIExCYXNpY0Jsb2NrIGxhc3ROZXh0ID0g
bV9vdXQuaW5zZXJ0TmV3QmxvY2tzQmVmb3JlKHNsb3dQYXRoKTsKKyAgICAgICAgCisgICAgICAg
IExWYWx1ZSBlbmRPZlN0b3JhZ2UgPSAKKyAgICAgICAgICAgIGFsbG9jYXRlQmFzaWNTdG9yYWdl
QW5kR2V0RW5kKG1fb3V0LmNvbnN0SW50UHRyKG5ld1NpemUpLCBzbG93UGF0aCk7CisgICAgICAg
IAorICAgICAgICBWYWx1ZUZyb21CbG9jayBmYXN0QnV0dGVyZmx5ID0gbV9vdXQuYW5jaG9yKG1f
b3V0LmFkZChtX291dC5jb25zdEludFB0cihzaXplb2YoSW5kZXhpbmdIZWFkZXIpKSwgZW5kT2ZT
dG9yYWdlKSk7CisgICAgICAgIAorICAgICAgICBtX291dC5qdW1wKGNvbnRpbnVhdGlvbik7Cisg
ICAgICAgIAorICAgICAgICBtX291dC5hcHBlbmRUbyhzbG93UGF0aCwgY29udGludWF0aW9uKTsK
KyAgICAgICAgCisgICAgICAgIExWYWx1ZSBuZXdBbGxvY1NpemUgPSBtX291dC5jb25zdEludDY0
KG5ld1NpemUgLyBzaXplb2YoSlNWYWx1ZSkpOyAgICAgICAKKyAgICAgICAgCisgICAgICAgIExW
YWx1ZSBzdG9yYWdlTG9jYXRpb24gPSB2bUNhbGwobV9vdXQub3BlcmF0aW9uKG9wZXJhdGlvbkFs
bG9jYXRlUHJvcGVydHlTdG9yYWdlKSwgbV9jYWxsRnJhbWUsIG5ld0FsbG9jU2l6ZSk7CisgICAg
ICAgIAorICAgICAgICBWYWx1ZUZyb21CbG9jayBzbG93QnV0dGVyZmx5ID0gbV9vdXQuYW5jaG9y
KHN0b3JhZ2VMb2NhdGlvbik7CisgICAgICAgIAorICAgICAgICBtX291dC5qdW1wKGNvbnRpbnVh
dGlvbik7CisgICAgICAgIAorICAgICAgICBtX291dC5hcHBlbmRUbyhjb250aW51YXRpb24sIGxh
c3ROZXh0KTsKKyAgICAgICAgCisgICAgICAgIExWYWx1ZSByZXN1bHQgPSBtX291dC5waGkobV9v
dXQuaW50UHRyLCBmYXN0QnV0dGVyZmx5LCBzbG93QnV0dGVyZmx5KTsKKyAgICAgICAgTFZhbHVl
IG9sZFN0b3JhZ2UgPSBtX291dC5sb2FkUHRyKG9iamVjdCwgbV9oZWFwcy5KU09iamVjdF9idXR0
ZXJmbHkpOworCisgICAgICAgIHB0cmRpZmZfdCBoZWFkZXJTaXplID0gLXNpemVvZihKU1ZhbHVl
KSAtIHNpemVvZih2b2lkICopOworICAgICAgICBwdHJkaWZmX3QgZW5kU3RvcmFnZSA9IGhlYWRl
clNpemUgLSBzdGF0aWNfY2FzdDxwdHJkaWZmX3Q+KG9sZFNpemUpOworCisgICAgICAgIGZvciAo
cHRyZGlmZl90IG9mZnNldCA9IGhlYWRlclNpemU7IG9mZnNldCA+IGVuZFN0b3JhZ2U7IG9mZnNl
dCAtPSBzaXplb2Yodm9pZCopKSB7CisgICAgICAgICAgICBMVmFsdWUgbG9hZGVkID0gCisgICAg
ICAgICAgICAgICAgbV9vdXQubG9hZFB0cihtX291dC5hZGRyZXNzKG1faGVhcHMucHJvcGVydGll
cy5hdEFueU51bWJlcigpLCBvbGRTdG9yYWdlLCBvZmZzZXQpKTsKKyAgICAgICAgICAgIG1fb3V0
LnN0b3JlUHRyKGxvYWRlZCwgbV9vdXQuYWRkcmVzcyhtX2hlYXBzLnByb3BlcnRpZXMuYXRBbnlO
dW1iZXIoKSwgcmVzdWx0LCBvZmZzZXQpKTsKKyAgICAgICAgfSAKKyAgICAgICAgCisgICAgICAg
IG1fb3V0LnN0b3JlUHRyKHJlc3VsdCwgbV9vdXQuYWRkcmVzcyhvYmplY3QsIG1faGVhcHMuSlNP
YmplY3RfYnV0dGVyZmx5KSk7CisgICAgICAgIAorICAgICAgICBzZXRTdG9yYWdlKHJlc3VsdCk7
IAorICAgIH0KKyAgICAKICAgICAKICAgICB2b2lkIGNvbXBpbGVUb1N0cmluZygpCiAgICAgewpk
aWZmIC0tZ2l0IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZnRsLXJlYWxsb2Nh
dGVwcm9wZXJ0eXN0b3JhZ2UuanMgU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9m
dGwtcmVhbGxvY2F0ZXByb3BlcnR5c3RvcmFnZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi5kZGViYzhlCi0tLSAvZGV2L251bGwKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS90ZXN0cy9zdHJlc3MvZnRsLXJlYWxsb2NhdGVwcm9wZXJ0eXN0b3JhZ2UuanMKQEAgLTAsMCAr
MSwyOCBAQAorZnVuY3Rpb24gZm9vKHgpeworICAgIHguYTAgPSAwOworICAgIHguYTEgPSAxOwor
ICAgIHguYTIgPSAyOworICAgIHguYTMgPSAzOworICAgIHguYTQgPSA0OworICAgIHguYTUgPSA1
OworICAgIHguYTYgPSA2OworICAgIHguYTcgPSA3OworICAgIHguYTggPSA4OworICAgIHguYTkg
PSA5OworICAgIHguYTEwID0gMTA7Cit9CisKK25vSW5saW5lKGZvbyk7CisKK3ZhciBjID0ge307
Citmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwMDsgKytpKSB7CisgICAgdmFyIGIgPSB7fTsKKyAg
ICBmb28oYik7CisgICAgYyA9IGI7Cit9CisKK2ZvciAodmFyIGogPSAwOyBqIDw9IDEwIDsgKytq
KQorICAgIGlmIChjWydhJytqXSAhPSBqKSAKKyAgICAgICAgdGhyb3cgIkVycm9yICIrY1snYScr
al07CisKKwotLSAKMS44LjMuMSAoQXBwbGUgR2l0LTQ2KQoK
</data>

          </attachment>
      

    </bug>

</bugzilla>