<?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>80632</bug_id>
          
          <creation_ts>2012-03-08 13:16:35 -0800</creation_ts>
          <short_desc>Move TransformationMatrix and TransformState to LayoutUnits.</short_desc>
          <delta_ts>2012-03-09 13:04:49 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>60318</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Levi Weintraub">leviw</reporter>
          <assigned_to name="Levi Weintraub">leviw</assigned_to>
          <cc>darin</cc>
    
    <cc>eae</cc>
    
    <cc>eric</cc>
    
    <cc>jchaffraix</cc>
    
    <cc>rakuco</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>574119</commentid>
    <comment_count>0</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2012-03-08 13:16:35 -0800</bug_when>
    <thetext>We want to preserve the added precision we&apos;ll get in the render tree when switching to FractionalLayoutUnits through transformations. To this end, I propose moving TransformationMatrix and TransformState to operate on LayoutUnits instead of integers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574134</commentid>
    <comment_count>1</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-03-08 13:33:22 -0800</bug_when>
    <thetext>I assume you mean mapRect() and clampedBoundsOfProjectedQuad() in TransformationMatrix (the rest is in doubles).

TransformState has no use of IntRect so I&apos;m confused there. You mean HitTestingTransformState?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574154</commentid>
    <comment_count>2</comment_count>
      <attachid>130897</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2012-03-08 13:47:17 -0800</bug_when>
    <thetext>Created attachment 130897
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574156</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-08 13:51:19 -0800</bug_when>
    <thetext>Attachment 130897 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1
Source/WebCore/platform/graphics/transforms/TransformState.h:83:  The parameter name &quot;y&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 1 in 6 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>574199</commentid>
    <comment_count>4</comment_count>
      <attachid>130897</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2012-03-08 14:22:43 -0800</bug_when>
    <thetext>Comment on attachment 130897
Patch

Thanks for the review, Simon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574255</commentid>
    <comment_count>5</comment_count>
      <attachid>130897</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-03-08 14:53:22 -0800</bug_when>
    <thetext>Comment on attachment 130897
Patch

Attachment 130897 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/11894159</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574271</commentid>
    <comment_count>6</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2012-03-08 15:04:29 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 130897 [details])
&gt; Attachment 130897 [details] did not pass qt-ews (qt):
&gt; Output: http://queues.webkit.org/results/11894159

I&apos;ve found the build issue with this. I&apos;ll upload a fixed patch once this goes through the remaining EWS bots.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574303</commentid>
    <comment_count>7</comment_count>
      <attachid>130897</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-03-08 15:23:37 -0800</bug_when>
    <thetext>Comment on attachment 130897
Patch

Attachment 130897 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/11906133</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574340</commentid>
    <comment_count>8</comment_count>
      <attachid>130927</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2012-03-08 15:54:13 -0800</bug_when>
    <thetext>Created attachment 130927
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574342</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-08 15:58:01 -0800</bug_when>
    <thetext>Attachment 130927 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/CMakeLists.txt&apos;, u&apos;Source/W...&quot; exit_code: 1
Source/WebCore/platform/graphics/transforms/TransformState.h:83:  The parameter name &quot;y&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 1 in 8 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>574369</commentid>
    <comment_count>10</comment_count>
      <attachid>130897</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-03-08 16:27:34 -0800</bug_when>
    <thetext>Comment on attachment 130897
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/transforms/TransformState.h:83
&gt;&gt; +    void move(LayoutUnit x, LayoutUnit y, TransformAccumulation = FlattenTransform);
&gt; 
&gt; The parameter name &quot;y&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]

Bug in check-webkit-style.  I bet it thinks &apos;y&apos; is a substring of LayoutUnit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574588</commentid>
    <comment_count>11</comment_count>
      <attachid>130927</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-08 21:23:51 -0800</bug_when>
    <thetext>Comment on attachment 130927
Patch for landing

Rejecting attachment 130927 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
orm.a(out/Debug/obj.target/Source/WebCore/WebCore.gyp/../../../webcore_platform/Source/WebCore/platform/graphics/transforms/TransformationMatrix.o): in function WebCore::TransformationMatrix::mapRect(WebCore::FractionalLayoutRect const&amp;) const:Source/WebCore/platform/graphics/transforms/TransformationMatrix.cpp:646: error: undefined reference to &apos;WebCore::enclosingFractionalLayoutRect(WebCore::FloatRect const&amp;)&apos;
collect2: ld returned 1 exit status
make: *** [out/Debug/webkit_unit_tests] Error 1

Full output: http://queues.webkit.org/results/11892345</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575016</commentid>
    <comment_count>12</comment_count>
      <attachid>131064</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2012-03-09 11:04:30 -0800</bug_when>
    <thetext>Created attachment 131064
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575023</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-09 11:14:35 -0800</bug_when>
    <thetext>Attachment 131064 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/CMakeLists.txt&apos;, u&apos;Source/W...&quot; exit_code: 1
Source/WebCore/platform/graphics/transforms/TransformState.h:83:  The parameter name &quot;y&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 1 in 9 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>575128</commentid>
    <comment_count>14</comment_count>
      <attachid>131064</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-09 13:04:44 -0800</bug_when>
    <thetext>Comment on attachment 131064
Patch for landing

Clearing flags on attachment: 131064

Committed r110322: &lt;http://trac.webkit.org/changeset/110322&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575129</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-09 13:04:49 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130897</attachid>
            <date>2012-03-08 13:47:17 -0800</date>
            <delta_ts>2012-03-08 16:27:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80632-20120308134716.patch</filename>
            <type>text/plain</type>
            <size>8571</size>
            <attacher name="Levi Weintraub">leviw</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMDE5NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM5IEBACisyMDEyLTAzLTA4ICBMZXZpIFdl
aW50cmF1YiAgPGxldml3QGNocm9taXVtLm9yZz4KKworICAgICAgICBNb3ZlIFRyYW5zZm9ybWF0
aW9uTWF0cml4IGFuZCBUcmFuc2Zvcm1TdGF0ZSB0byBMYXlvdXRVbml0cy4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwNjMyCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiB3ZSBtb3ZlIGxheW91dCB0
byBzdWItcGl4ZWwgcHJlY2lzaW9uLCB3ZSB3YW50IHRvIHByZXNlcnZlIHRoYXQgcHJlY2lzaW9u
IHRocm91Z2gKKyAgICAgICAgdHJhbnNmb3JtYXRpb25zLiBUaGlzIGNoYW5nZSByZWFkaWVzIFRy
YW5zZm9ybVN0YXRlIGFuZCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCB0byBtYWtlCisgICAgICAgIHVz
ZSBvZiB0aGlzIGFkZGl0aW9uYWwgcHJlY2lzaW9uIGluIGFjY3VtdWxhdGluZyB0cmFuc2Zvcm1z
LCBhbmQgaW4gcmV0dXJuaW5nIHJlY3RzIHRoYXQKKyAgICAgICAgcHJlc2VydmUgaXQuCisKKyAg
ICAgICAgTm8gbmV3IHRlc3RzLiBObyBjaGFuZ2UgaW4gYmVoYXZpb3IuCisKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybVN0YXRlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlRyYW5zZm9ybVN0YXRlOjptb3ZlKTogQ2hhbmdlZCB0byBwYXNzIGFsb25nIExh
eW91dFVuaXRzIHRvIHRoZSBjb250YWluZWQKKyAgICAgICAgVHJhbnNmb3JtYXRpb25NYXRyaXgu
IFRoZSB2YWx1ZXMgb2YgdGhlIExheW91dFVuaXRzIHdpbGwgYmUgaW1wbGljaXRseSBjb252ZXJ0
ZWQgdG8KKyAgICAgICAgZmxvYXRzIHRvIGJlIGFwcGxpZWQuCisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1TdGF0ZS5oOgorICAgICAgICAoV2ViQ29yZTo6
VHJhbnNmb3JtU3RhdGU6Om1vdmUpOiBEaXR0by4KKyAgICAgICAgKFRyYW5zZm9ybVN0YXRlKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0
cml4LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNsYW1wRWRnZVZhbHVlKTogTGltaXRpbmcgZWRn
ZXMgdG8gdGhlIG1heGltdW0gTGF5b3V0VW5pdCB2YWx1ZSB0byBwcmV2ZW50CisgICAgICAgIG92
ZXJmbG93Li4KKyAgICAgICAgKFdlYkNvcmU6OlRyYW5zZm9ybWF0aW9uTWF0cml4OjpjbGFtcGVk
Qm91bmRzT2ZQcm9qZWN0ZWRRdWFkKTogU2FtZSBhcyBhYm92ZSwgYnV0IGFsc28KKyAgICAgICAg
cmV0dXJuaW5nIGEgTGF5b3V0UmVjdCB3aGljaCBwcmVzZXJ2ZXMgYWRkaXRpb25hbCBwcmVjaXNp
b24gdGhhbiB0aGUgcHJldmlvdXMgSW50UmVjdC4KKyAgICAgICAgKFdlYkNvcmU6OlRyYW5zZm9y
bWF0aW9uTWF0cml4OjptYXBSZWN0KTogQWRkaW5nIGEgdmVyc2lvbiBvZiB0aGlzIG1ldGhvZCB0
aGF0IG9wZXJhdGVzCisgICAgICAgIHNwZWNpZmljYWxseSBvbiBGcmFjdGlvbmFsTGF5b3V0UmVj
dHMuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90cmFu
c2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4Lmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKFRyYW5zZm9ybWF0aW9uTWF0cml4KToKKyAgICAgICAgKiByZW5kZXJpbmcvTGF5b3V0VHlw
ZXMuaDoKKyAgICAgICAgKFdlYkNvcmU6OmNsYW1wVG9MYXlvdXRVbml0KToKKyAgICAgICAgKFdl
YkNvcmUpOgorCiAyMDEyLTAzLTA4ICBDZW0gS29jYWdpbCAgPGNlbS5rb2NhZ2lsQGdtYWlsLmNv
bT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBDYW5ub3QgaW5zZXJ0IHJpZ2h0IGN1cmx5IGJy
YWNrZXQgb24gc29tZSBrZXlib2FyZHMKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtU3RhdGUuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtU3RhdGUuY3Bw
CShyZXZpc2lvbiAxMTAxMjEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90
cmFuc2Zvcm1zL1RyYW5zZm9ybVN0YXRlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDksNyArNDks
NyBAQCBUcmFuc2Zvcm1TdGF0ZSYgVHJhbnNmb3JtU3RhdGU6Om9wZXJhdG9yCiAgICAgcmV0dXJu
ICp0aGlzOwogfQogCi12b2lkIFRyYW5zZm9ybVN0YXRlOjptb3ZlKGludCB4LCBpbnQgeSwgVHJh
bnNmb3JtQWNjdW11bGF0aW9uIGFjY3VtdWxhdGUpCit2b2lkIFRyYW5zZm9ybVN0YXRlOjptb3Zl
KExheW91dFVuaXQgeCwgTGF5b3V0VW5pdCB5LCBUcmFuc2Zvcm1BY2N1bXVsYXRpb24gYWNjdW11
bGF0ZSkKIHsKICAgICBpZiAobV9hY2N1bXVsYXRpbmdUcmFuc2Zvcm0gJiYgbV9hY2N1bXVsYXRl
ZFRyYW5zZm9ybSkgewogICAgICAgICAvLyBJZiB3ZSdyZSBhY2N1bXVsYXRpbmcgaW50byBhbiBl
eGlzdGluZyB0cmFuc2Zvcm0sIGFwcGx5IHRoZSB0cmFuc2xhdGlvbi4KSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtU3RhdGUuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1Ry
YW5zZm9ybVN0YXRlLmgJKHJldmlzaW9uIDExMDEyMSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtU3RhdGUuaAkod29ya2luZyBjb3B5KQpA
QCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkZsb2F0UG9pbnQuaCIKICNpbmNsdWRlICJGbG9h
dFF1YWQuaCIKICNpbmNsdWRlICJJbnRTaXplLmgiCisjaW5jbHVkZSAiTGF5b3V0VHlwZXMuaCIK
ICNpbmNsdWRlICJUcmFuc2Zvcm1hdGlvbk1hdHJpeC5oIgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIu
aD4KIApAQCAtNzQsMTIgKzc1LDEyIEBAIHB1YmxpYzoKICAgICAKICAgICB2b2lkIHNldFF1YWQo
Y29uc3QgRmxvYXRRdWFkJiBxdWFkKSB7IG1fbGFzdFBsYW5hclF1YWQgPSBxdWFkOyB9CiAgICAg
Ci0gICAgdm9pZCBtb3ZlKGNvbnN0IEludFNpemUmIHMsIFRyYW5zZm9ybUFjY3VtdWxhdGlvbiBh
Y2N1bXVsYXRlID0gRmxhdHRlblRyYW5zZm9ybSkKKyAgICB2b2lkIG1vdmUoY29uc3QgTGF5b3V0
U2l6ZSYgcywgVHJhbnNmb3JtQWNjdW11bGF0aW9uIGFjY3VtdWxhdGUgPSBGbGF0dGVuVHJhbnNm
b3JtKQogICAgIHsKICAgICAgICAgbW92ZShzLndpZHRoKCksIHMuaGVpZ2h0KCksIGFjY3VtdWxh
dGUpOwogICAgIH0KICAgICAKLSAgICB2b2lkIG1vdmUoaW50IHgsIGludCB5LCBUcmFuc2Zvcm1B
Y2N1bXVsYXRpb24gPSBGbGF0dGVuVHJhbnNmb3JtKTsKKyAgICB2b2lkIG1vdmUoTGF5b3V0VW5p
dCB4LCBMYXlvdXRVbml0IHksIFRyYW5zZm9ybUFjY3VtdWxhdGlvbiA9IEZsYXR0ZW5UcmFuc2Zv
cm0pOwogICAgIHZvaWQgYXBwbHlUcmFuc2Zvcm0oY29uc3QgQWZmaW5lVHJhbnNmb3JtJiB0cmFu
c2Zvcm1Gcm9tQ29udGFpbmVyLCBUcmFuc2Zvcm1BY2N1bXVsYXRpb24gPSBGbGF0dGVuVHJhbnNm
b3JtKTsKICAgICB2b2lkIGFwcGx5VHJhbnNmb3JtKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4
JiB0cmFuc2Zvcm1Gcm9tQ29udGFpbmVyLCBUcmFuc2Zvcm1BY2N1bXVsYXRpb24gPSBGbGF0dGVu
VHJhbnNmb3JtKTsKICAgICB2b2lkIGZsYXR0ZW4oKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJh
bnNmb3JtYXRpb25NYXRyaXguY3BwCShyZXZpc2lvbiAxMTAxMjEpCisrKyBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgIlRyYW5zZm9ybWF0aW9u
TWF0cml4LmgiCiAKICNpbmNsdWRlICJBZmZpbmVUcmFuc2Zvcm0uaCIKKyNpbmNsdWRlICJGcmFj
dGlvbmFsTGF5b3V0UmVjdC5oIgogI2luY2x1ZGUgIkZsb2F0UG9pbnQzRC5oIgogI2luY2x1ZGUg
IkZsb2F0UmVjdC5oIgogI2luY2x1ZGUgIkZsb2F0UXVhZC5oIgpAQCAtNTg3LDEwICs1ODgsMTAg
QEAgRmxvYXRRdWFkIFRyYW5zZm9ybWF0aW9uTWF0cml4Ojpwcm9qZWN0UQogc3RhdGljIGZsb2F0
IGNsYW1wRWRnZVZhbHVlKGZsb2F0IGYpCiB7CiAgICAgQVNTRVJUKCFpc25hbihmKSk7Ci0gICAg
cmV0dXJuIG1pbjxmbG9hdD4obWF4PGZsb2F0PihmLCAtbnVtZXJpY19saW1pdHM8aW50Pjo6bWF4
KCkgLyAyKSwgbnVtZXJpY19saW1pdHM8aW50Pjo6bWF4KCkgLyAyKTsKKyAgICByZXR1cm4gbWlu
PGZsb2F0PihtYXg8ZmxvYXQ+KGYsIC1udW1lcmljX2xpbWl0czxMYXlvdXRVbml0Pjo6bWF4KCkg
LyAyKSwgbnVtZXJpY19saW1pdHM8TGF5b3V0VW5pdD46Om1heCgpIC8gMik7CiB9CiAKLUludFJl
Y3QgVHJhbnNmb3JtYXRpb25NYXRyaXg6OmNsYW1wZWRCb3VuZHNPZlByb2plY3RlZFF1YWQoY29u
c3QgRmxvYXRRdWFkJiBxKSBjb25zdAorTGF5b3V0UmVjdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6
Y2xhbXBlZEJvdW5kc09mUHJvamVjdGVkUXVhZChjb25zdCBGbG9hdFF1YWQmIHEpIGNvbnN0CiB7
CiAgICAgRmxvYXRSZWN0IG1hcHBlZFF1YWRCb3VuZHMgPSBwcm9qZWN0UXVhZChxKS5ib3VuZGlu
Z0JveCgpOwogCkBAIC01OTksMTggKzYwMCwxOCBAQCBJbnRSZWN0IFRyYW5zZm9ybWF0aW9uTWF0
cml4OjpjbGFtcGVkQm91CiAKICAgICBmbG9hdCByaWdodDsKICAgICBpZiAoaXNpbmYobWFwcGVk
UXVhZEJvdW5kcy54KCkpICYmIGlzaW5mKG1hcHBlZFF1YWRCb3VuZHMud2lkdGgoKSkpCi0gICAg
ICAgIHJpZ2h0ID0gbnVtZXJpY19saW1pdHM8aW50Pjo6bWF4KCkgLyAyOworICAgICAgICByaWdo
dCA9IG51bWVyaWNfbGltaXRzPExheW91dFVuaXQ+OjptYXgoKSAvIDI7CiAgICAgZWxzZQogICAg
ICAgICByaWdodCA9IGNsYW1wRWRnZVZhbHVlKGNlaWxmKG1hcHBlZFF1YWRCb3VuZHMubWF4WCgp
KSk7CiAKICAgICBmbG9hdCBib3R0b207CiAgICAgaWYgKGlzaW5mKG1hcHBlZFF1YWRCb3VuZHMu
eSgpKSAmJiBpc2luZihtYXBwZWRRdWFkQm91bmRzLmhlaWdodCgpKSkKLSAgICAgICAgYm90dG9t
ID0gbnVtZXJpY19saW1pdHM8aW50Pjo6bWF4KCkgLyAyOworICAgICAgICBib3R0b20gPSBudW1l
cmljX2xpbWl0czxMYXlvdXRVbml0Pjo6bWF4KCkgLyAyOwogICAgIGVsc2UKICAgICAgICAgYm90
dG9tID0gY2xhbXBFZGdlVmFsdWUoY2VpbGYobWFwcGVkUXVhZEJvdW5kcy5tYXhZKCkpKTsKICAg
ICAKLSAgICByZXR1cm4gSW50UmVjdChjbGFtcFRvSW50ZWdlcihsZWZ0KSwgY2xhbXBUb0ludGVn
ZXIodG9wKSwgCi0gICAgICAgICAgICAgICAgICAgY2xhbXBUb0ludGVnZXIocmlnaHQgLSBsZWZ0
KSwgY2xhbXBUb0ludGVnZXIoYm90dG9tIC0gdG9wKSk7CisgICAgcmV0dXJuIExheW91dFJlY3Qo
Y2xhbXBUb0xheW91dFVuaXQobGVmdCksIGNsYW1wVG9MYXlvdXRVbml0KHRvcCksIAorICAgICAg
ICAgICAgICAgICAgICAgIGNsYW1wVG9MYXlvdXRVbml0KHJpZ2h0IC0gbGVmdCksIGNsYW1wVG9M
YXlvdXRVbml0KGJvdHRvbSAtIHRvcCkpOwogfQogCiBGbG9hdFBvaW50IFRyYW5zZm9ybWF0aW9u
TWF0cml4OjptYXBQb2ludChjb25zdCBGbG9hdFBvaW50JiBwKSBjb25zdApAQCAtNjQwLDYgKzY0
MSwxMSBAQCBJbnRSZWN0IFRyYW5zZm9ybWF0aW9uTWF0cml4OjptYXBSZWN0KGNvCiAgICAgcmV0
dXJuIGVuY2xvc2luZ0ludFJlY3QobWFwUmVjdChGbG9hdFJlY3QocmVjdCkpKTsKIH0KIAorRnJh
Y3Rpb25hbExheW91dFJlY3QgVHJhbnNmb3JtYXRpb25NYXRyaXg6Om1hcFJlY3QoY29uc3QgRnJh
Y3Rpb25hbExheW91dFJlY3QmIHIpIGNvbnN0Cit7CisgICAgcmV0dXJuIGVuY2xvc2luZ0ZyYWN0
aW9uYWxMYXlvdXRSZWN0KG1hcFJlY3QoRmxvYXRSZWN0KHIpKSk7Cit9CisKIEZsb2F0UmVjdCBU
cmFuc2Zvcm1hdGlvbk1hdHJpeDo6bWFwUmVjdChjb25zdCBGbG9hdFJlY3QmIHIpIGNvbnN0CiB7
CiAgICAgaWYgKGlzSWRlbnRpdHlPclRyYW5zbGF0aW9uKCkpIHsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1z
L1RyYW5zZm9ybWF0aW9uTWF0cml4LmgJKHJldmlzaW9uIDExMDEyMSkKKysrIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaAko
d29ya2luZyBjb3B5KQpAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiRmxvYXRQb2ludC5o
IgogI2luY2x1ZGUgIkludFBvaW50LmgiCisjaW5jbHVkZSAiTGF5b3V0VHlwZXMuaCIKICNpbmNs
dWRlIDxzdHJpbmcuaD4gLy9mb3IgbWVtY3B5CiAjaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2Uu
aD4KIApAQCAtNjAsNiArNjEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEFmZmlu
ZVRyYW5zZm9ybTsKIGNsYXNzIEludFJlY3Q7CitjbGFzcyBGcmFjdGlvbmFsTGF5b3V0UmVjdDsK
IGNsYXNzIEZsb2F0UG9pbnQzRDsKIGNsYXNzIEZsb2F0UmVjdDsKIGNsYXNzIEZsb2F0UXVhZDsK
QEAgLTE0Niw2ICsxNDgsNyBAQCBwdWJsaWM6CiAgICAgLy8gUm91bmRzIHRoZSByZXN1bHRpbmcg
bWFwcGVkIHJlY3RhbmdsZSBvdXQuIFRoaXMgaXMgaGVscGZ1bCBmb3IgYm91bmRpbmcKICAgICAv
LyBib3ggY29tcHV0YXRpb25zIGJ1dCBtYXkgbm90IGJlIHdoYXQgaXMgd2FudGVkIGluIG90aGVy
IGNvbnRleHRzLgogICAgIEludFJlY3QgbWFwUmVjdChjb25zdCBJbnRSZWN0JikgY29uc3Q7Cisg
ICAgRnJhY3Rpb25hbExheW91dFJlY3QgbWFwUmVjdChjb25zdCBGcmFjdGlvbmFsTGF5b3V0UmVj
dCYpIGNvbnN0OwogCiAgICAgLy8gSWYgdGhlIG1hdHJpeCBoYXMgM0QgY29tcG9uZW50cywgdGhl
IHogY29tcG9uZW50IG9mIHRoZSByZXN1bHQgaXMKICAgICAvLyBkcm9wcGVkLCBlZmZlY3RpdmVs
eSBwcm9qZWN0aW5nIHRoZSBxdWFkIGludG8gdGhlIHo9MCBwbGFuZQpAQCAtMTYxLDcgKzE2NCw3
IEBAIHB1YmxpYzoKICAgICBGbG9hdFF1YWQgcHJvamVjdFF1YWQoY29uc3QgRmxvYXRRdWFkJikg
Y29uc3Q7CiAgICAgLy8gUHJvamVjdHMgdGhlIGZvdXIgY29ybmVycyBvZiB0aGUgcXVhZCBhbmQg
dGFrZXMgYSBib3VuZGluZyBib3gsCiAgICAgLy8gd2hpbGUgc2FuaXRpemluZyB2YWx1ZXMgY3Jl
YXRlZCB3aGVuIHRoZSB3IGNvbXBvbmVudCBpcyBuZWdhdGl2ZS4KLSAgICBJbnRSZWN0IGNsYW1w
ZWRCb3VuZHNPZlByb2plY3RlZFF1YWQoY29uc3QgRmxvYXRRdWFkJikgY29uc3Q7CisgICAgTGF5
b3V0UmVjdCBjbGFtcGVkQm91bmRzT2ZQcm9qZWN0ZWRRdWFkKGNvbnN0IEZsb2F0UXVhZCYpIGNv
bnN0OwogCiAgICAgZG91YmxlIG0xMSgpIGNvbnN0IHsgcmV0dXJuIG1fbWF0cml4WzBdWzBdOyB9
CiAgICAgdm9pZCBzZXRNMTEoZG91YmxlIGYpIHsgbV9tYXRyaXhbMF1bMF0gPSBmOyB9CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0VHlwZXMuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0VHlwZXMuaAkocmV2aXNpb24gMTEwMTIxKQor
KysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFR5cGVzLmgJKHdvcmtpbmcgY29weSkK
QEAgLTE0NSw2ICsxNDUsMTEgQEAgaW5saW5lIExheW91dFVuaXQgbGF5b3V0TW9kKGNvbnN0IExh
eW91dAogICAgIHJldHVybiBudW1lcmF0b3IgJSBkZW5vbWluYXRvcjsKIH0KIAoraW5saW5lIExh
eW91dFVuaXQgY2xhbXBUb0xheW91dFVuaXQoZG91YmxlIHZhbHVlKQoreworICAgIHJldHVybiBj
bGFtcFRvSW50ZWdlcih2YWx1ZSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2Vu
ZGlmIC8vIExheW91dFR5cGVzX2gK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130927</attachid>
            <date>2012-03-08 15:54:13 -0800</date>
            <delta_ts>2012-03-09 11:04:19 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-80632-20120308155412.patch</filename>
            <type>text/plain</type>
            <size>10076</size>
            <attacher name="Levi Weintraub">leviw</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMDE5NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM5IEBACisyMDEyLTAzLTA4ICBMZXZpIFdl
aW50cmF1YiAgPGxldml3QGNocm9taXVtLm9yZz4KKworICAgICAgICBNb3ZlIFRyYW5zZm9ybWF0
aW9uTWF0cml4IGFuZCBUcmFuc2Zvcm1TdGF0ZSB0byBMYXlvdXRVbml0cy4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwNjMyCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgIFdoZW4gd2UgbW92ZSBsYXlvdXQgdG8g
c3ViLXBpeGVsIHByZWNpc2lvbiwgd2Ugd2FudCB0byBwcmVzZXJ2ZSB0aGF0IHByZWNpc2lvbiB0
aHJvdWdoCisgICAgICAgIHRyYW5zZm9ybWF0aW9ucy4gVGhpcyBjaGFuZ2UgcmVhZGllcyBUcmFu
c2Zvcm1TdGF0ZSBhbmQgVHJhbnNmb3JtYXRpb25NYXRyaXggdG8gbWFrZQorICAgICAgICB1c2Ug
b2YgdGhpcyBhZGRpdGlvbmFsIHByZWNpc2lvbiBpbiBhY2N1bXVsYXRpbmcgdHJhbnNmb3Jtcywg
YW5kIGluIHJldHVybmluZyByZWN0cyB0aGF0CisgICAgICAgIHByZXNlcnZlIGl0LgorCisgICAg
ICAgIE5vIG5ldyB0ZXN0cy4gTm8gY2hhbmdlIGluIGJlaGF2aW9yLgorCisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1TdGF0ZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpUcmFuc2Zvcm1TdGF0ZTo6bW92ZSk6IENoYW5nZWQgdG8gcGFzcyBhbG9uZyBMYXlv
dXRVbml0cyB0byB0aGUgY29udGFpbmVkCisgICAgICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4LiBU
aGUgdmFsdWVzIG9mIHRoZSBMYXlvdXRVbml0cyB3aWxsIGJlIGltcGxpY2l0bHkgY29udmVydGVk
IHRvCisgICAgICAgIGZsb2F0cyB0byBiZSBhcHBsaWVkLgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtU3RhdGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlRy
YW5zZm9ybVN0YXRlOjptb3ZlKTogRGl0dG8uCisgICAgICAgIChUcmFuc2Zvcm1TdGF0ZSk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJp
eC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjbGFtcEVkZ2VWYWx1ZSk6IExpbWl0aW5nIGVkZ2Vz
IHRvIHRoZSBtYXhpbXVtIExheW91dFVuaXQgdmFsdWUgdG8gcHJldmVudAorICAgICAgICBvdmVy
Zmxvdy4uCisgICAgICAgIChXZWJDb3JlOjpUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6Y2xhbXBlZEJv
dW5kc09mUHJvamVjdGVkUXVhZCk6IFNhbWUgYXMgYWJvdmUsIGJ1dCBhbHNvCisgICAgICAgIHJl
dHVybmluZyBhIExheW91dFJlY3Qgd2hpY2ggcHJlc2VydmVzIGFkZGl0aW9uYWwgcHJlY2lzaW9u
IHRoYW4gdGhlIHByZXZpb3VzIEludFJlY3QuCisgICAgICAgIChXZWJDb3JlOjpUcmFuc2Zvcm1h
dGlvbk1hdHJpeDo6bWFwUmVjdCk6IEFkZGluZyBhIHZlcnNpb24gb2YgdGhpcyBtZXRob2QgdGhh
dCBvcGVyYXRlcworICAgICAgICBzcGVjaWZpY2FsbHkgb24gRnJhY3Rpb25hbExheW91dFJlY3Rz
LgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNm
b3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
IChUcmFuc2Zvcm1hdGlvbk1hdHJpeCk6CisgICAgICAgICogcmVuZGVyaW5nL0xheW91dFR5cGVz
Lmg6CisgICAgICAgIChXZWJDb3JlOjpjbGFtcFRvTGF5b3V0VW5pdCk6CisgICAgICAgIChXZWJD
b3JlKToKKwogMjAxMi0wMy0wOCAgQ2VtIEtvY2FnaWwgIDxjZW0ua29jYWdpbEBnbWFpbC5jb20+
CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogQ2Fubm90IGluc2VydCByaWdodCBjdXJseSBicmFj
a2V0IG9uIHNvbWUga2V5Ym9hcmRzCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24g
MTEwMTIxKQorKysgU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTExMjEsNyArMTEyMSw2IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9n
cmFwaGljcy9CaXRtYXBJbWFnZS5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5jcHAK
ICAgICBwbGF0Zm9ybS9ncmFwaGljcy9Dcm9zc2ZhZGVHZW5lcmF0ZWRJbWFnZS5jcHAKLSAgICBw
bGF0Zm9ybS9ncmFwaGljcy9GcmFjdGlvbmFsTGF5b3V0U2l6ZS5jcHAKICAgICBwbGF0Zm9ybS9n
cmFwaGljcy9GbG9hdFBvaW50LmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UG9pbnQz
RC5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFF1YWQuY3BwCkBAIC0xMTM1LDYgKzEx
MzQsOCBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZh
bWlseS5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFzdFBhdGguY3BwCiAgICAgcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udEZlYXR1cmVTZXR0aW5ncy5jcHAKKyAgICBwbGF0Zm9ybS9ncmFw
aGljcy9GcmFjdGlvbmFsTGF5b3V0UmVjdC5jcHAKKyAgICBwbGF0Zm9ybS9ncmFwaGljcy9GcmFj
dGlvbmFsTGF5b3V0U2l6ZS5jcHAgIAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0dlbmVyYXRvckdl
bmVyYXRlZEltYWdlLmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0dseXBoUGFnZVRyZWVOb2Rl
LmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0dyYWRpZW50LmNwcApJbmRleDogU291cmNlL1dl
YkNvcmUvVGFyZ2V0LnByaQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJp
CShyZXZpc2lvbiAxMTAxMjEpCisrKyBTb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCSh3b3JraW5n
IGNvcHkpCkBAIC0xMDgzLDYgKzEwODMsOCBAQCBTT1VSQ0VTICs9IFwKICAgICBwbGF0Zm9ybS9n
cmFwaGljcy9Gb250RGF0YS5jcHAgXAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwIFwK
ICAgICBwbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwIFwKKyAgICBwbGF0Zm9ybS9ncmFw
aGljcy9GcmFjdGlvbmFsTGF5b3V0UmVjdC5jcHAgXAorICAgIHBsYXRmb3JtL2dyYXBoaWNzL0Zy
YWN0aW9uYWxMYXlvdXRTaXplLmNwcCBcCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvR2VuZXJhdG9y
R2VuZXJhdGVkSW1hZ2UuY3BwIFwKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9HcmFkaWVudC5jcHAg
XAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5jcHAgXApJbmRleDogU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1TdGF0ZS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNm
b3Jtcy9UcmFuc2Zvcm1TdGF0ZS5jcHAJKHJldmlzaW9uIDExMDEyMSkKKysrIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtU3RhdGUuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00OSw3ICs0OSw3IEBAIFRyYW5zZm9ybVN0YXRlJiBUcmFuc2Zvcm1TdGF0
ZTo6b3BlcmF0b3IKICAgICByZXR1cm4gKnRoaXM7CiB9CiAKLXZvaWQgVHJhbnNmb3JtU3RhdGU6
Om1vdmUoaW50IHgsIGludCB5LCBUcmFuc2Zvcm1BY2N1bXVsYXRpb24gYWNjdW11bGF0ZSkKK3Zv
aWQgVHJhbnNmb3JtU3RhdGU6Om1vdmUoTGF5b3V0VW5pdCB4LCBMYXlvdXRVbml0IHksIFRyYW5z
Zm9ybUFjY3VtdWxhdGlvbiBhY2N1bXVsYXRlKQogewogICAgIGlmIChtX2FjY3VtdWxhdGluZ1Ry
YW5zZm9ybSAmJiBtX2FjY3VtdWxhdGVkVHJhbnNmb3JtKSB7CiAgICAgICAgIC8vIElmIHdlJ3Jl
IGFjY3VtdWxhdGluZyBpbnRvIGFuIGV4aXN0aW5nIHRyYW5zZm9ybSwgYXBwbHkgdGhlIHRyYW5z
bGF0aW9uLgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jt
cy9UcmFuc2Zvcm1TdGF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtU3RhdGUuaAkocmV2aXNpb24gMTEwMTIxKQor
KysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1T
dGF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiRmxvYXRQ
b2ludC5oIgogI2luY2x1ZGUgIkZsb2F0UXVhZC5oIgogI2luY2x1ZGUgIkludFNpemUuaCIKKyNp
bmNsdWRlICJMYXlvdXRUeXBlcy5oIgogI2luY2x1ZGUgIlRyYW5zZm9ybWF0aW9uTWF0cml4Lmgi
CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogCkBAIC03NCwxMiArNzUsMTIgQEAgcHVibGljOgog
ICAgIAogICAgIHZvaWQgc2V0UXVhZChjb25zdCBGbG9hdFF1YWQmIHF1YWQpIHsgbV9sYXN0UGxh
bmFyUXVhZCA9IHF1YWQ7IH0KICAgICAKLSAgICB2b2lkIG1vdmUoY29uc3QgSW50U2l6ZSYgcywg
VHJhbnNmb3JtQWNjdW11bGF0aW9uIGFjY3VtdWxhdGUgPSBGbGF0dGVuVHJhbnNmb3JtKQorICAg
IHZvaWQgbW92ZShjb25zdCBMYXlvdXRTaXplJiBzLCBUcmFuc2Zvcm1BY2N1bXVsYXRpb24gYWNj
dW11bGF0ZSA9IEZsYXR0ZW5UcmFuc2Zvcm0pCiAgICAgewogICAgICAgICBtb3ZlKHMud2lkdGgo
KSwgcy5oZWlnaHQoKSwgYWNjdW11bGF0ZSk7CiAgICAgfQogICAgIAotICAgIHZvaWQgbW92ZShp
bnQgeCwgaW50IHksIFRyYW5zZm9ybUFjY3VtdWxhdGlvbiA9IEZsYXR0ZW5UcmFuc2Zvcm0pOwor
ICAgIHZvaWQgbW92ZShMYXlvdXRVbml0IHgsIExheW91dFVuaXQgeSwgVHJhbnNmb3JtQWNjdW11
bGF0aW9uID0gRmxhdHRlblRyYW5zZm9ybSk7CiAgICAgdm9pZCBhcHBseVRyYW5zZm9ybShjb25z
dCBBZmZpbmVUcmFuc2Zvcm0mIHRyYW5zZm9ybUZyb21Db250YWluZXIsIFRyYW5zZm9ybUFjY3Vt
dWxhdGlvbiA9IEZsYXR0ZW5UcmFuc2Zvcm0pOwogICAgIHZvaWQgYXBwbHlUcmFuc2Zvcm0oY29u
c3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIHRyYW5zZm9ybUZyb21Db250YWluZXIsIFRyYW5zZm9y
bUFjY3VtdWxhdGlvbiA9IEZsYXR0ZW5UcmFuc2Zvcm0pOwogICAgIHZvaWQgZmxhdHRlbigpOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zv
cm1hdGlvbk1hdHJpeC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5jcHAJKHJldmlzaW9uIDEx
MDEyMSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJh
bnNmb3JtYXRpb25NYXRyaXguY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw3IEBACiAj
aW5jbHVkZSAiVHJhbnNmb3JtYXRpb25NYXRyaXguaCIKIAogI2luY2x1ZGUgIkFmZmluZVRyYW5z
Zm9ybS5oIgorI2luY2x1ZGUgIkZyYWN0aW9uYWxMYXlvdXRSZWN0LmgiCiAjaW5jbHVkZSAiRmxv
YXRQb2ludDNELmgiCiAjaW5jbHVkZSAiRmxvYXRSZWN0LmgiCiAjaW5jbHVkZSAiRmxvYXRRdWFk
LmgiCkBAIC01ODcsMTAgKzU4OCwxMCBAQCBGbG9hdFF1YWQgVHJhbnNmb3JtYXRpb25NYXRyaXg6
OnByb2plY3RRCiBzdGF0aWMgZmxvYXQgY2xhbXBFZGdlVmFsdWUoZmxvYXQgZikKIHsKICAgICBB
U1NFUlQoIWlzbmFuKGYpKTsKLSAgICByZXR1cm4gbWluPGZsb2F0PihtYXg8ZmxvYXQ+KGYsIC1u
dW1lcmljX2xpbWl0czxpbnQ+OjptYXgoKSAvIDIpLCBudW1lcmljX2xpbWl0czxpbnQ+OjptYXgo
KSAvIDIpOworICAgIHJldHVybiBtaW48ZmxvYXQ+KG1heDxmbG9hdD4oZiwgLW51bWVyaWNfbGlt
aXRzPExheW91dFVuaXQ+OjptYXgoKSAvIDIpLCBudW1lcmljX2xpbWl0czxMYXlvdXRVbml0Pjo6
bWF4KCkgLyAyKTsKIH0KIAotSW50UmVjdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6Y2xhbXBlZEJv
dW5kc09mUHJvamVjdGVkUXVhZChjb25zdCBGbG9hdFF1YWQmIHEpIGNvbnN0CitMYXlvdXRSZWN0
IFRyYW5zZm9ybWF0aW9uTWF0cml4OjpjbGFtcGVkQm91bmRzT2ZQcm9qZWN0ZWRRdWFkKGNvbnN0
IEZsb2F0UXVhZCYgcSkgY29uc3QKIHsKICAgICBGbG9hdFJlY3QgbWFwcGVkUXVhZEJvdW5kcyA9
IHByb2plY3RRdWFkKHEpLmJvdW5kaW5nQm94KCk7CiAKQEAgLTU5OSwxOCArNjAwLDE4IEBAIElu
dFJlY3QgVHJhbnNmb3JtYXRpb25NYXRyaXg6OmNsYW1wZWRCb3UKIAogICAgIGZsb2F0IHJpZ2h0
OwogICAgIGlmIChpc2luZihtYXBwZWRRdWFkQm91bmRzLngoKSkgJiYgaXNpbmYobWFwcGVkUXVh
ZEJvdW5kcy53aWR0aCgpKSkKLSAgICAgICAgcmlnaHQgPSBudW1lcmljX2xpbWl0czxpbnQ+Ojpt
YXgoKSAvIDI7CisgICAgICAgIHJpZ2h0ID0gbnVtZXJpY19saW1pdHM8TGF5b3V0VW5pdD46Om1h
eCgpIC8gMjsKICAgICBlbHNlCiAgICAgICAgIHJpZ2h0ID0gY2xhbXBFZGdlVmFsdWUoY2VpbGYo
bWFwcGVkUXVhZEJvdW5kcy5tYXhYKCkpKTsKIAogICAgIGZsb2F0IGJvdHRvbTsKICAgICBpZiAo
aXNpbmYobWFwcGVkUXVhZEJvdW5kcy55KCkpICYmIGlzaW5mKG1hcHBlZFF1YWRCb3VuZHMuaGVp
Z2h0KCkpKQotICAgICAgICBib3R0b20gPSBudW1lcmljX2xpbWl0czxpbnQ+OjptYXgoKSAvIDI7
CisgICAgICAgIGJvdHRvbSA9IG51bWVyaWNfbGltaXRzPExheW91dFVuaXQ+OjptYXgoKSAvIDI7
CiAgICAgZWxzZQogICAgICAgICBib3R0b20gPSBjbGFtcEVkZ2VWYWx1ZShjZWlsZihtYXBwZWRR
dWFkQm91bmRzLm1heFkoKSkpOwogICAgIAotICAgIHJldHVybiBJbnRSZWN0KGNsYW1wVG9JbnRl
Z2VyKGxlZnQpLCBjbGFtcFRvSW50ZWdlcih0b3ApLCAKLSAgICAgICAgICAgICAgICAgICBjbGFt
cFRvSW50ZWdlcihyaWdodCAtIGxlZnQpLCBjbGFtcFRvSW50ZWdlcihib3R0b20gLSB0b3ApKTsK
KyAgICByZXR1cm4gTGF5b3V0UmVjdChjbGFtcFRvTGF5b3V0VW5pdChsZWZ0KSwgY2xhbXBUb0xh
eW91dFVuaXQodG9wKSwgCisgICAgICAgICAgICAgICAgICAgICAgY2xhbXBUb0xheW91dFVuaXQo
cmlnaHQgLSBsZWZ0KSwgY2xhbXBUb0xheW91dFVuaXQoYm90dG9tIC0gdG9wKSk7CiB9CiAKIEZs
b2F0UG9pbnQgVHJhbnNmb3JtYXRpb25NYXRyaXg6Om1hcFBvaW50KGNvbnN0IEZsb2F0UG9pbnQm
IHApIGNvbnN0CkBAIC02NDAsNiArNjQxLDExIEBAIEludFJlY3QgVHJhbnNmb3JtYXRpb25NYXRy
aXg6Om1hcFJlY3QoY28KICAgICByZXR1cm4gZW5jbG9zaW5nSW50UmVjdChtYXBSZWN0KEZsb2F0
UmVjdChyZWN0KSkpOwogfQogCitGcmFjdGlvbmFsTGF5b3V0UmVjdCBUcmFuc2Zvcm1hdGlvbk1h
dHJpeDo6bWFwUmVjdChjb25zdCBGcmFjdGlvbmFsTGF5b3V0UmVjdCYgcikgY29uc3QKK3sKKyAg
ICByZXR1cm4gZW5jbG9zaW5nRnJhY3Rpb25hbExheW91dFJlY3QobWFwUmVjdChGbG9hdFJlY3Qo
cikpKTsKK30KKwogRmxvYXRSZWN0IFRyYW5zZm9ybWF0aW9uTWF0cml4OjptYXBSZWN0KGNvbnN0
IEZsb2F0UmVjdCYgcikgY29uc3QKIHsKICAgICBpZiAoaXNJZGVudGl0eU9yVHJhbnNsYXRpb24o
KSkgewpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9U
cmFuc2Zvcm1hdGlvbk1hdHJpeC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaAkocmV2aXNpb24g
MTEwMTIxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9U
cmFuc2Zvcm1hdGlvbk1hdHJpeC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw3IEBACiAK
ICNpbmNsdWRlICJGbG9hdFBvaW50LmgiCiAjaW5jbHVkZSAiSW50UG9pbnQuaCIKKyNpbmNsdWRl
ICJMYXlvdXRUeXBlcy5oIgogI2luY2x1ZGUgPHN0cmluZy5oPiAvL2ZvciBtZW1jcHkKICNpbmNs
dWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogCkBAIC02MCw2ICs2MSw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogY2xhc3MgQWZmaW5lVHJhbnNmb3JtOwogY2xhc3MgSW50UmVjdDsKK2NsYXNz
IEZyYWN0aW9uYWxMYXlvdXRSZWN0OwogY2xhc3MgRmxvYXRQb2ludDNEOwogY2xhc3MgRmxvYXRS
ZWN0OwogY2xhc3MgRmxvYXRRdWFkOwpAQCAtMTQ2LDYgKzE0OCw3IEBAIHB1YmxpYzoKICAgICAv
LyBSb3VuZHMgdGhlIHJlc3VsdGluZyBtYXBwZWQgcmVjdGFuZ2xlIG91dC4gVGhpcyBpcyBoZWxw
ZnVsIGZvciBib3VuZGluZwogICAgIC8vIGJveCBjb21wdXRhdGlvbnMgYnV0IG1heSBub3QgYmUg
d2hhdCBpcyB3YW50ZWQgaW4gb3RoZXIgY29udGV4dHMuCiAgICAgSW50UmVjdCBtYXBSZWN0KGNv
bnN0IEludFJlY3QmKSBjb25zdDsKKyAgICBGcmFjdGlvbmFsTGF5b3V0UmVjdCBtYXBSZWN0KGNv
bnN0IEZyYWN0aW9uYWxMYXlvdXRSZWN0JikgY29uc3Q7CiAKICAgICAvLyBJZiB0aGUgbWF0cml4
IGhhcyAzRCBjb21wb25lbnRzLCB0aGUgeiBjb21wb25lbnQgb2YgdGhlIHJlc3VsdCBpcwogICAg
IC8vIGRyb3BwZWQsIGVmZmVjdGl2ZWx5IHByb2plY3RpbmcgdGhlIHF1YWQgaW50byB0aGUgej0w
IHBsYW5lCkBAIC0xNjEsNyArMTY0LDcgQEAgcHVibGljOgogICAgIEZsb2F0UXVhZCBwcm9qZWN0
UXVhZChjb25zdCBGbG9hdFF1YWQmKSBjb25zdDsKICAgICAvLyBQcm9qZWN0cyB0aGUgZm91ciBj
b3JuZXJzIG9mIHRoZSBxdWFkIGFuZCB0YWtlcyBhIGJvdW5kaW5nIGJveCwKICAgICAvLyB3aGls
ZSBzYW5pdGl6aW5nIHZhbHVlcyBjcmVhdGVkIHdoZW4gdGhlIHcgY29tcG9uZW50IGlzIG5lZ2F0
aXZlLgotICAgIEludFJlY3QgY2xhbXBlZEJvdW5kc09mUHJvamVjdGVkUXVhZChjb25zdCBGbG9h
dFF1YWQmKSBjb25zdDsKKyAgICBMYXlvdXRSZWN0IGNsYW1wZWRCb3VuZHNPZlByb2plY3RlZFF1
YWQoY29uc3QgRmxvYXRRdWFkJikgY29uc3Q7CiAKICAgICBkb3VibGUgbTExKCkgY29uc3QgeyBy
ZXR1cm4gbV9tYXRyaXhbMF1bMF07IH0KICAgICB2b2lkIHNldE0xMShkb3VibGUgZikgeyBtX21h
dHJpeFswXVswXSA9IGY7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRU
eXBlcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRUeXBl
cy5oCShyZXZpc2lvbiAxMTAxMjEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0
VHlwZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMTQ1LDYgKzE0NSwxMSBAQCBpbmxpbmUgTGF5b3V0
VW5pdCBsYXlvdXRNb2QoY29uc3QgTGF5b3V0CiAgICAgcmV0dXJuIG51bWVyYXRvciAlIGRlbm9t
aW5hdG9yOwogfQogCitpbmxpbmUgTGF5b3V0VW5pdCBjbGFtcFRvTGF5b3V0VW5pdChkb3VibGUg
dmFsdWUpCit7CisgICAgcmV0dXJuIGNsYW1wVG9JbnRlZ2VyKHZhbHVlKTsKK30KKwogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gTGF5b3V0VHlwZXNfaAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131064</attachid>
            <date>2012-03-09 11:04:30 -0800</date>
            <delta_ts>2012-03-09 13:04:44 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-80632-20120309110429.patch</filename>
            <type>text/plain</type>
            <size>11148</size>
            <attacher name="Levi Weintraub">leviw</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMDMwNCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM5IEBACisyMDEyLTAzLTA5ICBMZXZpIFdl
aW50cmF1YiAgPGxldml3QGNocm9taXVtLm9yZz4KKworICAgICAgICBNb3ZlIFRyYW5zZm9ybWF0
aW9uTWF0cml4IGFuZCBUcmFuc2Zvcm1TdGF0ZSB0byBMYXlvdXRVbml0cy4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwNjMyCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgIFdoZW4gd2UgbW92ZSBsYXlvdXQgdG8g
c3ViLXBpeGVsIHByZWNpc2lvbiwgd2Ugd2FudCB0byBwcmVzZXJ2ZSB0aGF0IHByZWNpc2lvbiB0
aHJvdWdoCisgICAgICAgIHRyYW5zZm9ybWF0aW9ucy4gVGhpcyBjaGFuZ2UgcmVhZGllcyBUcmFu
c2Zvcm1TdGF0ZSBhbmQgVHJhbnNmb3JtYXRpb25NYXRyaXggdG8gbWFrZQorICAgICAgICB1c2Ug
b2YgdGhpcyBhZGRpdGlvbmFsIHByZWNpc2lvbiBpbiBhY2N1bXVsYXRpbmcgdHJhbnNmb3Jtcywg
YW5kIGluIHJldHVybmluZyByZWN0cyB0aGF0CisgICAgICAgIHByZXNlcnZlIGl0LgorCisgICAg
ICAgIE5vIG5ldyB0ZXN0cy4gTm8gY2hhbmdlIGluIGJlaGF2aW9yLgorCisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1TdGF0ZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpUcmFuc2Zvcm1TdGF0ZTo6bW92ZSk6IENoYW5nZWQgdG8gcGFzcyBhbG9uZyBMYXlv
dXRVbml0cyB0byB0aGUgY29udGFpbmVkCisgICAgICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4LiBU
aGUgdmFsdWVzIG9mIHRoZSBMYXlvdXRVbml0cyB3aWxsIGJlIGltcGxpY2l0bHkgY29udmVydGVk
IHRvCisgICAgICAgIGZsb2F0cyB0byBiZSBhcHBsaWVkLgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtU3RhdGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlRy
YW5zZm9ybVN0YXRlOjptb3ZlKTogRGl0dG8uCisgICAgICAgIChUcmFuc2Zvcm1TdGF0ZSk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJp
eC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjbGFtcEVkZ2VWYWx1ZSk6IExpbWl0aW5nIGVkZ2Vz
IHRvIHRoZSBtYXhpbXVtIExheW91dFVuaXQgdmFsdWUgdG8gcHJldmVudAorICAgICAgICBvdmVy
Zmxvdy4uCisgICAgICAgIChXZWJDb3JlOjpUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6Y2xhbXBlZEJv
dW5kc09mUHJvamVjdGVkUXVhZCk6IFNhbWUgYXMgYWJvdmUsIGJ1dCBhbHNvCisgICAgICAgIHJl
dHVybmluZyBhIExheW91dFJlY3Qgd2hpY2ggcHJlc2VydmVzIGFkZGl0aW9uYWwgcHJlY2lzaW9u
IHRoYW4gdGhlIHByZXZpb3VzIEludFJlY3QuCisgICAgICAgIChXZWJDb3JlOjpUcmFuc2Zvcm1h
dGlvbk1hdHJpeDo6bWFwUmVjdCk6IEFkZGluZyBhIHZlcnNpb24gb2YgdGhpcyBtZXRob2QgdGhh
dCBvcGVyYXRlcworICAgICAgICBzcGVjaWZpY2FsbHkgb24gRnJhY3Rpb25hbExheW91dFJlY3Rz
LgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNm
b3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
IChUcmFuc2Zvcm1hdGlvbk1hdHJpeCk6CisgICAgICAgICogcmVuZGVyaW5nL0xheW91dFR5cGVz
Lmg6CisgICAgICAgIChXZWJDb3JlOjpjbGFtcFRvTGF5b3V0VW5pdCk6CisgICAgICAgIChXZWJD
b3JlKToKKwogMjAxMi0wMy0wOSAgTmF0ZSBDaGFwaW4gIDxqYXBoZXRAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIENhY2hlZFJhd1Jlc291cmNlIGJyZWFrcyB3aGVuIHRyeWluZyB0byBsb2FkCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24gMTEwMzA0KQorKysgU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTExMjEsNyArMTEyMSw2IEBAIFNF
VChXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAK
ICAgICBwbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9D
cm9zc2ZhZGVHZW5lcmF0ZWRJbWFnZS5jcHAKLSAgICBwbGF0Zm9ybS9ncmFwaGljcy9GcmFjdGlv
bmFsTGF5b3V0U2l6ZS5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50LmNwcAog
ICAgIHBsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UG9pbnQzRC5jcHAKICAgICBwbGF0Zm9ybS9ncmFw
aGljcy9GbG9hdFF1YWQuY3BwCkBAIC0xMTM1LDYgKzExMzQsOCBAQCBTRVQoV2ViQ29yZV9TT1VS
Q0VTCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZhbWlseS5jcHAKICAgICBwbGF0Zm9ybS9n
cmFwaGljcy9Gb250RmFzdFBhdGguY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZlYXR1
cmVTZXR0aW5ncy5jcHAKKyAgICBwbGF0Zm9ybS9ncmFwaGljcy9GcmFjdGlvbmFsTGF5b3V0UmVj
dC5jcHAKKyAgICBwbGF0Zm9ybS9ncmFwaGljcy9GcmFjdGlvbmFsTGF5b3V0U2l6ZS5jcHAgIAog
ICAgIHBsYXRmb3JtL2dyYXBoaWNzL0dlbmVyYXRvckdlbmVyYXRlZEltYWdlLmNwcAogICAgIHBs
YXRmb3JtL2dyYXBoaWNzL0dseXBoUGFnZVRyZWVOb2RlLmNwcAogICAgIHBsYXRmb3JtL2dyYXBo
aWNzL0dyYWRpZW50LmNwcApJbmRleDogU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCShyZXZpc2lvbiAxMTAzMDQpCisrKyBT
b3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCSh3b3JraW5nIGNvcHkpCkBAIC0xMDgzLDYgKzEwODMs
OCBAQCBTT1VSQ0VTICs9IFwKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9Gb250RGF0YS5jcHAgXAog
ICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwIFwKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9G
b250Q2FjaGUuY3BwIFwKKyAgICBwbGF0Zm9ybS9ncmFwaGljcy9GcmFjdGlvbmFsTGF5b3V0UmVj
dC5jcHAgXAorICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ZyYWN0aW9uYWxMYXlvdXRTaXplLmNwcCBc
CiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvR2VuZXJhdG9yR2VuZXJhdGVkSW1hZ2UuY3BwIFwKICAg
ICBwbGF0Zm9ybS9ncmFwaGljcy9HcmFkaWVudC5jcHAgXAogICAgIHBsYXRmb3JtL2dyYXBoaWNz
L0dyYXBoaWNzQ29udGV4dC5jcHAgXApJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBp
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQkocmV2aXNpb24gMTEw
MzA0KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCSh3b3JraW5nIGNvcHkpCkBAIC0z
NTAsNiArMzUwLDggQEAKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9Gb250U21vb3Ro
aW5nTW9kZS5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9Gb250VHJhaXRzTWFz
ay5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9Gb250V2lkdGhWYXJpYW50Lmgn
LAorICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL0ZyYWN0aW9uYWxMYXlvdXRSZWN0Lmgn
LAorICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL0ZyYWN0aW9uYWxMYXlvdXRTaXplLmgn
LAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL0dlbmVyYXRvci5oJywKICAgICAgICAg
ICAgICdwbGF0Zm9ybS9ncmFwaGljcy9HbHlwaC5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9n
cmFwaGljcy9HbHlwaEJ1ZmZlci5oJywKQEAgLTMyMTQsNiArMzIxNiw4IEBACiAgICAgICAgICAg
ICAncGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZhc3RQYXRoLmNwcCcsCiAgICAgICAgICAgICAncGxh
dGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5jcHAnLAogICAgICAgICAgICAgJ3BsYXRm
b3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURhdGEuaCcsCisgICAgICAgICAgICAncGxhdGZvcm0v
Z3JhcGhpY3MvRnJhY3Rpb25hbExheW91dFJlY3QuY3BwJywKKyAgICAgICAgICAgICdwbGF0Zm9y
bS9ncmFwaGljcy9GcmFjdGlvbmFsTGF5b3V0U2l6ZS5jcHAnLAogICAgICAgICAgICAgJ3BsYXRm
b3JtL2dyYXBoaWNzL0dlbmVyYXRvckdlbmVyYXRlZEltYWdlLmNwcCcsCiAgICAgICAgICAgICAn
cGxhdGZvcm0vZ3JhcGhpY3MvR2VuZXJhdGVkSW1hZ2UuaCcsCiAgICAgICAgICAgICAncGxhdGZv
cm0vZ3JhcGhpY3MvR2x5cGhQYWdlVHJlZU5vZGUuY3BwJywKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtU3RhdGUuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNm
b3JtU3RhdGUuY3BwCShyZXZpc2lvbiAxMTAzMDQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybVN0YXRlLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNDksNyArNDksNyBAQCBUcmFuc2Zvcm1TdGF0ZSYgVHJhbnNmb3JtU3RhdGU6Om9wZXJhdG9y
CiAgICAgcmV0dXJuICp0aGlzOwogfQogCi12b2lkIFRyYW5zZm9ybVN0YXRlOjptb3ZlKGludCB4
LCBpbnQgeSwgVHJhbnNmb3JtQWNjdW11bGF0aW9uIGFjY3VtdWxhdGUpCit2b2lkIFRyYW5zZm9y
bVN0YXRlOjptb3ZlKExheW91dFVuaXQgeCwgTGF5b3V0VW5pdCB5LCBUcmFuc2Zvcm1BY2N1bXVs
YXRpb24gYWNjdW11bGF0ZSkKIHsKICAgICBpZiAobV9hY2N1bXVsYXRpbmdUcmFuc2Zvcm0gJiYg
bV9hY2N1bXVsYXRlZFRyYW5zZm9ybSkgewogICAgICAgICAvLyBJZiB3ZSdyZSBhY2N1bXVsYXRp
bmcgaW50byBhbiBleGlzdGluZyB0cmFuc2Zvcm0sIGFwcGx5IHRoZSB0cmFuc2xhdGlvbi4KSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3Jt
U3RhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90
cmFuc2Zvcm1zL1RyYW5zZm9ybVN0YXRlLmgJKHJldmlzaW9uIDExMDMwNCkKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtU3RhdGUuaAkod29y
a2luZyBjb3B5KQpAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkZsb2F0UG9pbnQuaCIKICNp
bmNsdWRlICJGbG9hdFF1YWQuaCIKICNpbmNsdWRlICJJbnRTaXplLmgiCisjaW5jbHVkZSAiTGF5
b3V0VHlwZXMuaCIKICNpbmNsdWRlICJUcmFuc2Zvcm1hdGlvbk1hdHJpeC5oIgogI2luY2x1ZGUg
PHd0Zi9Pd25QdHIuaD4KIApAQCAtNzQsMTIgKzc1LDEyIEBAIHB1YmxpYzoKICAgICAKICAgICB2
b2lkIHNldFF1YWQoY29uc3QgRmxvYXRRdWFkJiBxdWFkKSB7IG1fbGFzdFBsYW5hclF1YWQgPSBx
dWFkOyB9CiAgICAgCi0gICAgdm9pZCBtb3ZlKGNvbnN0IEludFNpemUmIHMsIFRyYW5zZm9ybUFj
Y3VtdWxhdGlvbiBhY2N1bXVsYXRlID0gRmxhdHRlblRyYW5zZm9ybSkKKyAgICB2b2lkIG1vdmUo
Y29uc3QgTGF5b3V0U2l6ZSYgcywgVHJhbnNmb3JtQWNjdW11bGF0aW9uIGFjY3VtdWxhdGUgPSBG
bGF0dGVuVHJhbnNmb3JtKQogICAgIHsKICAgICAgICAgbW92ZShzLndpZHRoKCksIHMuaGVpZ2h0
KCksIGFjY3VtdWxhdGUpOwogICAgIH0KICAgICAKLSAgICB2b2lkIG1vdmUoaW50IHgsIGludCB5
LCBUcmFuc2Zvcm1BY2N1bXVsYXRpb24gPSBGbGF0dGVuVHJhbnNmb3JtKTsKKyAgICB2b2lkIG1v
dmUoTGF5b3V0VW5pdCB4LCBMYXlvdXRVbml0IHksIFRyYW5zZm9ybUFjY3VtdWxhdGlvbiA9IEZs
YXR0ZW5UcmFuc2Zvcm0pOwogICAgIHZvaWQgYXBwbHlUcmFuc2Zvcm0oY29uc3QgQWZmaW5lVHJh
bnNmb3JtJiB0cmFuc2Zvcm1Gcm9tQ29udGFpbmVyLCBUcmFuc2Zvcm1BY2N1bXVsYXRpb24gPSBG
bGF0dGVuVHJhbnNmb3JtKTsKICAgICB2b2lkIGFwcGx5VHJhbnNmb3JtKGNvbnN0IFRyYW5zZm9y
bWF0aW9uTWF0cml4JiB0cmFuc2Zvcm1Gcm9tQ29udGFpbmVyLCBUcmFuc2Zvcm1BY2N1bXVsYXRp
b24gPSBGbGF0dGVuVHJhbnNmb3JtKTsKICAgICB2b2lkIGZsYXR0ZW4oKTsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRy
aXguY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Ry
YW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguY3BwCShyZXZpc2lvbiAxMTAzMDQpCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9u
TWF0cml4LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgIlRy
YW5zZm9ybWF0aW9uTWF0cml4LmgiCiAKICNpbmNsdWRlICJBZmZpbmVUcmFuc2Zvcm0uaCIKKyNp
bmNsdWRlICJGcmFjdGlvbmFsTGF5b3V0UmVjdC5oIgogI2luY2x1ZGUgIkZsb2F0UG9pbnQzRC5o
IgogI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgogI2luY2x1ZGUgIkZsb2F0UXVhZC5oIgpAQCAtNTg3
LDEwICs1ODgsMTAgQEAgRmxvYXRRdWFkIFRyYW5zZm9ybWF0aW9uTWF0cml4Ojpwcm9qZWN0UQog
c3RhdGljIGZsb2F0IGNsYW1wRWRnZVZhbHVlKGZsb2F0IGYpCiB7CiAgICAgQVNTRVJUKCFpc25h
bihmKSk7Ci0gICAgcmV0dXJuIG1pbjxmbG9hdD4obWF4PGZsb2F0PihmLCAtbnVtZXJpY19saW1p
dHM8aW50Pjo6bWF4KCkgLyAyKSwgbnVtZXJpY19saW1pdHM8aW50Pjo6bWF4KCkgLyAyKTsKKyAg
ICByZXR1cm4gbWluPGZsb2F0PihtYXg8ZmxvYXQ+KGYsIC1udW1lcmljX2xpbWl0czxMYXlvdXRV
bml0Pjo6bWF4KCkgLyAyKSwgbnVtZXJpY19saW1pdHM8TGF5b3V0VW5pdD46Om1heCgpIC8gMik7
CiB9CiAKLUludFJlY3QgVHJhbnNmb3JtYXRpb25NYXRyaXg6OmNsYW1wZWRCb3VuZHNPZlByb2pl
Y3RlZFF1YWQoY29uc3QgRmxvYXRRdWFkJiBxKSBjb25zdAorTGF5b3V0UmVjdCBUcmFuc2Zvcm1h
dGlvbk1hdHJpeDo6Y2xhbXBlZEJvdW5kc09mUHJvamVjdGVkUXVhZChjb25zdCBGbG9hdFF1YWQm
IHEpIGNvbnN0CiB7CiAgICAgRmxvYXRSZWN0IG1hcHBlZFF1YWRCb3VuZHMgPSBwcm9qZWN0UXVh
ZChxKS5ib3VuZGluZ0JveCgpOwogCkBAIC01OTksMTggKzYwMCwxOCBAQCBJbnRSZWN0IFRyYW5z
Zm9ybWF0aW9uTWF0cml4OjpjbGFtcGVkQm91CiAKICAgICBmbG9hdCByaWdodDsKICAgICBpZiAo
aXNpbmYobWFwcGVkUXVhZEJvdW5kcy54KCkpICYmIGlzaW5mKG1hcHBlZFF1YWRCb3VuZHMud2lk
dGgoKSkpCi0gICAgICAgIHJpZ2h0ID0gbnVtZXJpY19saW1pdHM8aW50Pjo6bWF4KCkgLyAyOwor
ICAgICAgICByaWdodCA9IG51bWVyaWNfbGltaXRzPExheW91dFVuaXQ+OjptYXgoKSAvIDI7CiAg
ICAgZWxzZQogICAgICAgICByaWdodCA9IGNsYW1wRWRnZVZhbHVlKGNlaWxmKG1hcHBlZFF1YWRC
b3VuZHMubWF4WCgpKSk7CiAKICAgICBmbG9hdCBib3R0b207CiAgICAgaWYgKGlzaW5mKG1hcHBl
ZFF1YWRCb3VuZHMueSgpKSAmJiBpc2luZihtYXBwZWRRdWFkQm91bmRzLmhlaWdodCgpKSkKLSAg
ICAgICAgYm90dG9tID0gbnVtZXJpY19saW1pdHM8aW50Pjo6bWF4KCkgLyAyOworICAgICAgICBi
b3R0b20gPSBudW1lcmljX2xpbWl0czxMYXlvdXRVbml0Pjo6bWF4KCkgLyAyOwogICAgIGVsc2UK
ICAgICAgICAgYm90dG9tID0gY2xhbXBFZGdlVmFsdWUoY2VpbGYobWFwcGVkUXVhZEJvdW5kcy5t
YXhZKCkpKTsKICAgICAKLSAgICByZXR1cm4gSW50UmVjdChjbGFtcFRvSW50ZWdlcihsZWZ0KSwg
Y2xhbXBUb0ludGVnZXIodG9wKSwgCi0gICAgICAgICAgICAgICAgICAgY2xhbXBUb0ludGVnZXIo
cmlnaHQgLSBsZWZ0KSwgY2xhbXBUb0ludGVnZXIoYm90dG9tIC0gdG9wKSk7CisgICAgcmV0dXJu
IExheW91dFJlY3QoY2xhbXBUb0xheW91dFVuaXQobGVmdCksIGNsYW1wVG9MYXlvdXRVbml0KHRv
cCksIAorICAgICAgICAgICAgICAgICAgICAgIGNsYW1wVG9MYXlvdXRVbml0KHJpZ2h0IC0gbGVm
dCksIGNsYW1wVG9MYXlvdXRVbml0KGJvdHRvbSAtIHRvcCkpOwogfQogCiBGbG9hdFBvaW50IFRy
YW5zZm9ybWF0aW9uTWF0cml4OjptYXBQb2ludChjb25zdCBGbG9hdFBvaW50JiBwKSBjb25zdApA
QCAtNjQwLDYgKzY0MSwxMSBAQCBJbnRSZWN0IFRyYW5zZm9ybWF0aW9uTWF0cml4OjptYXBSZWN0
KGNvCiAgICAgcmV0dXJuIGVuY2xvc2luZ0ludFJlY3QobWFwUmVjdChGbG9hdFJlY3QocmVjdCkp
KTsKIH0KIAorRnJhY3Rpb25hbExheW91dFJlY3QgVHJhbnNmb3JtYXRpb25NYXRyaXg6Om1hcFJl
Y3QoY29uc3QgRnJhY3Rpb25hbExheW91dFJlY3QmIHIpIGNvbnN0Cit7CisgICAgcmV0dXJuIGVu
Y2xvc2luZ0ZyYWN0aW9uYWxMYXlvdXRSZWN0KG1hcFJlY3QoRmxvYXRSZWN0KHIpKSk7Cit9CisK
IEZsb2F0UmVjdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6bWFwUmVjdChjb25zdCBGbG9hdFJlY3Qm
IHIpIGNvbnN0CiB7CiAgICAgaWYgKGlzSWRlbnRpdHlPclRyYW5zbGF0aW9uKCkpIHsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRp
b25NYXRyaXguaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmgJKHJldmlzaW9uIDExMDMwNCkKKysr
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRp
b25NYXRyaXguaAkod29ya2luZyBjb3B5KQpAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAi
RmxvYXRQb2ludC5oIgogI2luY2x1ZGUgIkludFBvaW50LmgiCisjaW5jbHVkZSAiTGF5b3V0VHlw
ZXMuaCIKICNpbmNsdWRlIDxzdHJpbmcuaD4gLy9mb3IgbWVtY3B5CiAjaW5jbHVkZSA8d3RmL0Zh
c3RBbGxvY0Jhc2UuaD4KIApAQCAtNjAsNiArNjEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNsYXNzIEFmZmluZVRyYW5zZm9ybTsKIGNsYXNzIEludFJlY3Q7CitjbGFzcyBGcmFjdGlvbmFs
TGF5b3V0UmVjdDsKIGNsYXNzIEZsb2F0UG9pbnQzRDsKIGNsYXNzIEZsb2F0UmVjdDsKIGNsYXNz
IEZsb2F0UXVhZDsKQEAgLTE0Niw2ICsxNDgsNyBAQCBwdWJsaWM6CiAgICAgLy8gUm91bmRzIHRo
ZSByZXN1bHRpbmcgbWFwcGVkIHJlY3RhbmdsZSBvdXQuIFRoaXMgaXMgaGVscGZ1bCBmb3IgYm91
bmRpbmcKICAgICAvLyBib3ggY29tcHV0YXRpb25zIGJ1dCBtYXkgbm90IGJlIHdoYXQgaXMgd2Fu
dGVkIGluIG90aGVyIGNvbnRleHRzLgogICAgIEludFJlY3QgbWFwUmVjdChjb25zdCBJbnRSZWN0
JikgY29uc3Q7CisgICAgRnJhY3Rpb25hbExheW91dFJlY3QgbWFwUmVjdChjb25zdCBGcmFjdGlv
bmFsTGF5b3V0UmVjdCYpIGNvbnN0OwogCiAgICAgLy8gSWYgdGhlIG1hdHJpeCBoYXMgM0QgY29t
cG9uZW50cywgdGhlIHogY29tcG9uZW50IG9mIHRoZSByZXN1bHQgaXMKICAgICAvLyBkcm9wcGVk
LCBlZmZlY3RpdmVseSBwcm9qZWN0aW5nIHRoZSBxdWFkIGludG8gdGhlIHo9MCBwbGFuZQpAQCAt
MTYxLDcgKzE2NCw3IEBAIHB1YmxpYzoKICAgICBGbG9hdFF1YWQgcHJvamVjdFF1YWQoY29uc3Qg
RmxvYXRRdWFkJikgY29uc3Q7CiAgICAgLy8gUHJvamVjdHMgdGhlIGZvdXIgY29ybmVycyBvZiB0
aGUgcXVhZCBhbmQgdGFrZXMgYSBib3VuZGluZyBib3gsCiAgICAgLy8gd2hpbGUgc2FuaXRpemlu
ZyB2YWx1ZXMgY3JlYXRlZCB3aGVuIHRoZSB3IGNvbXBvbmVudCBpcyBuZWdhdGl2ZS4KLSAgICBJ
bnRSZWN0IGNsYW1wZWRCb3VuZHNPZlByb2plY3RlZFF1YWQoY29uc3QgRmxvYXRRdWFkJikgY29u
c3Q7CisgICAgTGF5b3V0UmVjdCBjbGFtcGVkQm91bmRzT2ZQcm9qZWN0ZWRRdWFkKGNvbnN0IEZs
b2F0UXVhZCYpIGNvbnN0OwogCiAgICAgZG91YmxlIG0xMSgpIGNvbnN0IHsgcmV0dXJuIG1fbWF0
cml4WzBdWzBdOyB9CiAgICAgdm9pZCBzZXRNMTEoZG91YmxlIGYpIHsgbV9tYXRyaXhbMF1bMF0g
PSBmOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0VHlwZXMuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0VHlwZXMuaAkocmV2aXNp
b24gMTEwMzA0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFR5cGVzLmgJKHdv
cmtpbmcgY29weSkKQEAgLTE0NSw2ICsxNDUsMTEgQEAgaW5saW5lIExheW91dFVuaXQgbGF5b3V0
TW9kKGNvbnN0IExheW91dAogICAgIHJldHVybiBudW1lcmF0b3IgJSBkZW5vbWluYXRvcjsKIH0K
IAoraW5saW5lIExheW91dFVuaXQgY2xhbXBUb0xheW91dFVuaXQoZG91YmxlIHZhbHVlKQorewor
ICAgIHJldHVybiBjbGFtcFRvSW50ZWdlcih2YWx1ZSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKIAogI2VuZGlmIC8vIExheW91dFR5cGVzX2gK
</data>

          </attachment>
      

    </bug>

</bugzilla>