<?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>66723</bug_id>
          
          <creation_ts>2011-08-22 15:08:10 -0700</creation_ts>
          <short_desc>Add handling of mix-width and max-width for flexitems</short_desc>
          <delta_ts>2011-08-23 16:11:04 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</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>62048</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Tony Chang">tony</reporter>
          <assigned_to name="Tony Chang">tony</assigned_to>
          <cc>hyatt</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>454975</commentid>
    <comment_count>0</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-08-22 15:08:10 -0700</bug_when>
    <thetext>Add handling of mix-width and max-width for flexitems</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>454982</commentid>
    <comment_count>1</comment_count>
      <attachid>104748</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-08-22 15:13:28 -0700</bug_when>
    <thetext>Created attachment 104748
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>455497</commentid>
    <comment_count>2</comment_count>
      <attachid>104748</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2011-08-23 10:47:34 -0700</bug_when>
    <thetext>Comment on attachment 104748
Patch

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

r=me

&gt; Source/WebCore/rendering/RenderFlexibleBox.cpp:187
&gt; +    LayoutUnit flexboxAvailableLogicalWidth = availableLogicalWidth();

Add a FIXME: Deal with writing-modes above this availableLogicalWidth() line, since that&apos;s the wrong axis to be looking at if writing-mode is vertical-lr and the box orientation is explicitly horizontal.

&gt; Source/WebCore/rendering/RenderFlexibleBox.h:58
&gt; +    bool runFreeSpaceAllocationAlgorithm(LayoutUnit&amp; availableFreeSpace, float&amp; totalPositiveFlexibility, float&amp; totalNegativeFlexibility, InflexibleFlexItemSize&amp;);

Seems like kind of a generic name for only dealing with horizontal. I don&apos;t know if you plan to put vertical in here too though. If so, then don&apos;t worry about it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>455596</commentid>
    <comment_count>3</comment_count>
      <attachid>104888</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-08-23 12:22:43 -0700</bug_when>
    <thetext>Created attachment 104888
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>455615</commentid>
    <comment_count>4</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-08-23 12:42:53 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 104748 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=104748&amp;action=review
&gt; 
&gt; r=me
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderFlexibleBox.cpp:187
&gt; &gt; +    LayoutUnit flexboxAvailableLogicalWidth = availableLogicalWidth();
&gt; 
&gt; Add a FIXME: Deal with writing-modes above this availableLogicalWidth() line, since that&apos;s the wrong axis to be looking at if writing-mode is vertical-lr and the box orientation is explicitly horizontal.

I added a few FIXMEs about this.  I asked Tab about it over email and he said he&apos;s not sure what should happen yet and needs to hash out the details Fantasai.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>455618</commentid>
    <comment_count>5</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-08-23 12:43:27 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; I added a few FIXMEs about this.  I asked Tab about it over email and he said he&apos;s not sure what should happen yet and needs to hash out the details [with] Fantasai.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>455786</commentid>
    <comment_count>6</comment_count>
      <attachid>104888</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-23 16:10:59 -0700</bug_when>
    <thetext>Comment on attachment 104888
Patch for landing

Clearing flags on attachment: 104888

Committed r93651: &lt;http://trac.webkit.org/changeset/93651&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>455787</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-23 16:11:04 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>104748</attachid>
            <date>2011-08-22 15:13:28 -0700</date>
            <delta_ts>2011-08-23 12:22:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66723-20110822151230.patch</filename>
            <type>text/plain</type>
            <size>13202</size>
            <attacher name="Tony Chang">tony</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTM1NDcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4N2MxMTUwYzVlNGRlNTYxN2Y3YjUx
OWZmMThiMTI3NzRiNzk2ODE2Li43OGM3MzVkMWMyMTFjMjc2NTFmMTgzZDZiN2YzYThkNTdiOTBi
MjNmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDUgKzEsMTUgQEAKIDIwMTEtMDgtMjIgIFRvbnkgQ2hhbmcgIDx0b255
QGNocm9taXVtLm9yZz4KIAorICAgICAgICBBZGQgaGFuZGxpbmcgb2YgbWl4LXdpZHRoIGFuZCBt
YXgtd2lkdGggZm9yIGZsZXhpdGVtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjY3MjMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGNzczMvZmxleGJveC8wMDMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBjc3MzL2ZsZXhib3gvMDAzLmh0bWw6IEFkZGVkLgorCisyMDExLTA4LTIyICBUb255
IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CisKICAgICAgICAgaGFuZGxlIGNoaWxkIG1hcmdp
biB2YWx1ZXMgd2hlbiBmbGV4aW5nCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD02NTg4NwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZsZXhi
b3gvMDAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvZmxleGJveC8wMDMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyNGEwMjNiMDBhZTEzMzllNGVjZWVjODliOTQ3MDQzYmNjNDc3
YzUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvMDAzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDggQEAKK1BBU1MKK1BBU1MKK1BBU1MKK1BBU1MKK1BBU1MKK1BB
U1MKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94LzAwMy5odG1s
IGIvTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94LzAwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkyNmUzYWVm
NjgxZGQ1N2MyYmIwZTZkYTFiMTQwOWJiNGEyMTNmODkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9jc3MzL2ZsZXhib3gvMDAzLmh0bWwKQEAgLTAsMCArMSw3OSBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxzdHlsZT4KK2JvZHkgeworICAgIG1hcmdpbjogMDsKK30KKy5ob3Jp
em9udGFsLWJveCB7CisgICAgd2lkdGg6IDYwMHB4OworICAgIGRpc3BsYXk6IC13ZWJraXQtZmxl
eGJveDsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWFhOworICAgIHBvc2l0aW9uOiByZWxhdGl2
ZTsKK30KKy5ob3Jpem9udGFsLWJveCBkaXYgeworICAgIGhlaWdodDogMjBweDsKKyAgICBib3Jk
ZXI6IDA7Cit9CisKKy5ob3Jpem9udGFsLWJveCA6bnRoLWNoaWxkKDEpIHsKKyAgICBiYWNrZ3Jv
dW5kLWNvbG9yOiBibHVlOworfQorLmhvcml6b250YWwtYm94IDpudGgtY2hpbGQoMikgeworICAg
IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOworfQorLmhvcml6b250YWwtYm94IDpudGgtY2hpbGQo
MykgeworICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDsKK30KKzwvc3R5bGU+Cis8c2NyaXB0Pgor
aWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci5kdW1wQXNUZXh0KCk7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZmxleGJv
eC5qcyI+PC9zY3JpcHQ+Cis8Ym9keSBvbmxvYWQ9ImNoZWNrSG9yaXpvbnRhbEJveGVuKCkiPgor
PGRpdiBjbGFzcz0iaG9yaXpvbnRhbC1ib3giPgorICA8ZGl2IGRhdGEtZXhwZWN0ZWQtd2lkdGg9
IjEwMCIgc3R5bGU9IndpZHRoOiAtd2Via2l0LWZsZXgoMSAwIDApOyBtYXgtd2lkdGg6IDEwMHB4
OyI+PC9kaXY+CisgIDxkaXYgZGF0YS1leHBlY3RlZC13aWR0aD0iMjUwIiBzdHlsZT0id2lkdGg6
IC13ZWJraXQtZmxleCgxIDAgMCk7Ij48L2Rpdj4KKyAgPGRpdiBkYXRhLWV4cGVjdGVkLXdpZHRo
PSIyNTAiIHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1mbGV4KDEgMCAwKTsiPjwvZGl2PgorPC9kaXY+
CisKKzwhLS0gVGhlIGZpcnN0IHR3byBmbGV4aXRlbXMgc2hvdWxkIGhpdCB0aGVpciBtYXggd2lk
dGggYW5kIHRoZSB0aGlyZCBpdGVtIGZpbGxzIHRoZSByZW1haW5pbmcgc3BhY2UuIC0tPgorPGRp
diBjbGFzcz0iaG9yaXpvbnRhbC1ib3giPgorICA8ZGl2IGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjUw
IiBzdHlsZT0id2lkdGg6IC13ZWJraXQtZmxleCgxIDAgMCk7IG1heC13aWR0aDogNTBweDsiPjwv
ZGl2PgorICA8ZGl2IGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjMwMCIgc3R5bGU9IndpZHRoOiAtd2Vi
a2l0LWZsZXgoNCAwIDApOyBtYXgtd2lkdGg6IDMwMHB4OyI+PC9kaXY+CisgIDxkaXYgZGF0YS1l
eHBlY3RlZC13aWR0aD0iMjUwIiBzdHlsZT0id2lkdGg6IC13ZWJraXQtZmxleCgxIDAgMCk7Ij48
L2Rpdj4KKzwvZGl2PgorCis8ZGl2IGNsYXNzPSJob3Jpem9udGFsLWJveCI+CisgIDxkaXYgZGF0
YS1leHBlY3RlZC13aWR0aD0iMTAwIiBzdHlsZT0id2lkdGg6IC13ZWJraXQtZmxleCgxIDAgMCk7
IG1heC13aWR0aDogMTAwcHg7Ij48L2Rpdj4KKyAgPGRpdiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIz
MDAiIHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1mbGV4KDEgMCAyMDBweCk7IG1heC13aWR0aDogMzAw
cHg7Ij48L2Rpdj4KKyAgPGRpdiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIyMDAiIHN0eWxlPSJ3aWR0
aDogLXdlYmtpdC1mbGV4KDEgMCAwKTsiPjwvZGl2PgorPC9kaXY+CisKKzwhLS0gVGVzdCBtaW4t
d2lkdGguIC0tPgorPGRpdiBjbGFzcz0iaG9yaXpvbnRhbC1ib3giPgorICA8ZGl2IGRhdGEtZXhw
ZWN0ZWQtd2lkdGg9IjM1MCIgc3R5bGU9IndpZHRoOiAtd2Via2l0LWZsZXgoMSAxIDQwMHB4KTsg
bWluLXdpZHRoOiAzNTBweDsiPjwvZGl2PgorICA8ZGl2IGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjI1
MCIgc3R5bGU9IndpZHRoOiAtd2Via2l0LWZsZXgoMSAxIDQwMHB4KTsiPjwvZGl2PgorPC9kaXY+
CisKKzwhLS0gVGhlIGZsZXggaXRlbXMgY2FuIG92ZXJmbG93IHRoZSBmbGV4Ym94LiAtLT4KKzxk
aXYgY2xhc3M9Imhvcml6b250YWwtYm94Ij4KKyAgPGRpdiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIz
NTAiIHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1mbGV4KDEgMSA0MDBweCk7IG1pbi13aWR0aDogMzUw
cHg7Ij48L2Rpdj4KKyAgPGRpdiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIzMDAiIHN0eWxlPSJ3aWR0
aDogLXdlYmtpdC1mbGV4KDIgMCAzMDBweCk7IG1heC13aWR0aDogMzAwcHg7Ij48L2Rpdj4KKyAg
PGRpdiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIiBzdHlsZT0id2lkdGg6IC13ZWJraXQtZmxleCgx
IDAgMCk7Ij48L2Rpdj4KKzwvZGl2PgorCis8ZGl2IGNsYXNzPSJob3Jpem9udGFsLWJveCI+Cisg
IDxkaXYgZGF0YS1leHBlY3RlZC13aWR0aD0iMTAwIiBkYXRhLW9mZnNldC14PSIxMDAiIHN0eWxl
PSJ3aWR0aDogLXdlYmtpdC1mbGV4KDEgMCAwKTsgbWFyZ2luOiAwIGF1dG87IG1heC13aWR0aDog
MTAwcHg7Ij48L2Rpdj4KKyAgPGRpdiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIyMDAiIGRhdGEtb2Zm
c2V0LXg9IjMwMCIgc3R5bGU9IndpZHRoOiAtd2Via2l0LWZsZXgoMiAwIDApOyI+PC9kaXY+Cisg
IDxkaXYgZGF0YS1leHBlY3RlZC13aWR0aD0iMTAwIiBkYXRhLW9mZnNldC14PSI1MDAiIHN0eWxl
PSJ3aWR0aDogLXdlYmtpdC1mbGV4KDEgMCAwKTsiPjwvZGl2PgorPC9kaXY+CisKKzwhLS0gbWlu
LXdpZHRoIGFuZCBtYXgtd2lkdGggdGFrZSBwcmlvcml0eSBvdmVyIHRoZSBwcmVmZXJyZWQgc2l6
ZS4gLS0+Cis8ZGl2IGNsYXNzPSJob3Jpem9udGFsLWJveCI+CisgIDxkaXYgZGF0YS1leHBlY3Rl
ZC13aWR0aD0iNTAwIiBzdHlsZT0id2lkdGg6IC13ZWJraXQtZmxleCgxIDAgMCk7IG1pbi13aWR0
aDogMzAwcHgiPjwvZGl2PgorICA8ZGl2IGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjEwMCIgc3R5bGU9
IndpZHRoOiAtd2Via2l0LWZsZXgoMSAwIDUwJSk7IG1heC13aWR0aDogMTAwcHgiPjwvZGl2Pgor
PC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAxZTEzODdjZWVmMGEyZTk3
NzI0Y2E4YTllODJlYzVhMmE0NTFjYWNmLi5iZTA5YTU4ZDU2ZGQzODE2YjlmYzEwM2I1YjljNzAz
YTFhYzA4NGRlIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjYgQEAKIDIwMTEtMDgtMjIgIFRvbnkg
Q2hhbmcgIDx0b255QGNocm9taXVtLm9yZz4KIAorICAgICAgICBBZGQgaGFuZGxpbmcgb2YgbWl4
LXdpZHRoIGFuZCBtYXgtd2lkdGggZm9yIGZsZXhpdGVtcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3MjMKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJZiB3ZSBmbGV4IHBhc3QgYSBtaW4vbWF4IHdpZHRo
IHZhbHVlLCB3ZSBuZWVkIHRvIG1hcmsgdGhlIGZsZXhpdGVtIGFzCisgICAgICAgIGEgZml4ZWQg
d2lkdGggYW5kIHJlLXN0YXJ0IHRoZSBmbGV4aW5nIGFsZ29yaXRobS4gIFdlIHVzZSBhIEhhc2hN
YXAgdG8KKyAgICAgICAga2VlcCB0cmFjayBvZiBmaXhlZCB3aWR0aCBpdGVtcy4KKworICAgICAg
ICBUaGlzIHBhdGNoIGFsc28gc3BsaXQgb3V0IHRoZSBzaXplIGNvbXB1dGF0aW9uIGZyb20gdGhl
IGFjdHVhbCBsYXlvdXQKKyAgICAgICAgdG8gYXZvaWQgdW5uZWNlc3NhcnkgbGF5b3V0cyBjYXVz
ZWQgYnkgcmVzdGFydGluZyB0aGUgZmxleGluZyBhbGdvcml0aG0uCisKKyAgICAgICAgVGVzdDog
Y3NzMy9mbGV4Ym94LzAwMy5odG1sCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRmxleGli
bGVCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxleGlibGVCb3g6OmxheW91dEhv
cml6b250YWxCbG9jayk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6cnVu
RnJlZVNwYWNlQWxsb2NhdGlvbkFsZ29yaXRobSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ckZsZXhpYmxlQm94Lmg6CisKKzIwMTEtMDgtMjIgIFRvbnkgQ2hhbmcgIDx0b255QGNocm9taXVt
Lm9yZz4KKwogICAgICAgICBoYW5kbGUgY2hpbGQgbWFyZ2luIHZhbHVlcyB3aGVuIGZsZXhpbmcK
ICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY1ODg3CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwCmluZGV4
IDFmODMyZjE3Mzg0NmFlYjMzY2U3NjY5ZGJmZDhlYzkxYWJhZTQzOGIuLmQ0Nzc3ZjdiZDAwMzIx
NjJiYzFiYzBhYzBmOWZlNjMwY2FhMDExOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcApAQCAtMTMxLDMxICsxMzEsMTAgQEAgdm9pZCBSZW5k
ZXJGbGV4aWJsZUJveDo6bGF5b3V0SG9yaXpvbnRhbEJsb2NrKGJvb2wgcmVsYXlvdXRDaGlsZHJl
bikKICAgICBjb21wdXRlUHJlZmVycmVkU2l6ZShyZWxheW91dENoaWxkcmVuLCBpdGVyYXRvciwg
cHJlZmVycmVkU2l6ZSwgdG90YWxQb3NpdGl2ZUZsZXhpYmlsaXR5LCB0b3RhbE5lZ2F0aXZlRmxl
eGliaWxpdHkpOwogICAgIExheW91dFVuaXQgYXZhaWxhYmxlRnJlZVNwYWNlID0gY29udGVudFdp
ZHRoKCkgLSBwcmVmZXJyZWRTaXplOwogCi0gICAgTGF5b3V0VW5pdCB4T2Zmc2V0ID0gYm9yZGVy
TGVmdCgpICsgcGFkZGluZ0xlZnQoKTsKLSAgICBMYXlvdXRVbml0IHlPZmZzZXQgPSBib3JkZXJU
b3AoKSArIHBhZGRpbmdUb3AoKTsKLSAgICBmb3IgKFJlbmRlckJveCogY2hpbGQgPSBpdGVyYXRv
ci5maXJzdCgpOyBjaGlsZDsgY2hpbGQgPSBpdGVyYXRvci5uZXh0KCkpIHsKLSAgICAgICAgTGF5
b3V0VW5pdCBjaGlsZFByZWZlcnJlZFNpemUgPSBwcmVmZXJyZWRGbGV4SXRlbUNvbnRlbnRXaWR0
aChjaGlsZCk7Ci0gICAgICAgIC8vIEZJWE1FOiBIYW5kbGUgbWF4LXdpZHRoIGFuZCBtaW4td2lk
dGggKHdlIHNob3VsZCBjbGFtcCB0byB0aGUgbWF4L21pbiB2YWx1ZSBhbmQgcmVzdGFydCB0aGUg
YWxnb3JpdGhtKS4KLSAgICAgICAgaWYgKGF2YWlsYWJsZUZyZWVTcGFjZSA+IDAgJiYgdG90YWxQ
b3NpdGl2ZUZsZXhpYmlsaXR5ID4gMCkKLSAgICAgICAgICAgIGNoaWxkUHJlZmVycmVkU2l6ZSAr
PSBscm91bmRmKGF2YWlsYWJsZUZyZWVTcGFjZSAqIGNoaWxkLT5zdHlsZSgpLT5mbGV4Ym94V2lk
dGhQb3NpdGl2ZUZsZXgoKSAvIHRvdGFsUG9zaXRpdmVGbGV4aWJpbGl0eSk7Ci0gICAgICAgIGVs
c2UgaWYgKGF2YWlsYWJsZUZyZWVTcGFjZSA8IDAgJiYgdG90YWxOZWdhdGl2ZUZsZXhpYmlsaXR5
ID4gMCkKLSAgICAgICAgICAgIGNoaWxkUHJlZmVycmVkU2l6ZSArPSBscm91bmRmKGF2YWlsYWJs
ZUZyZWVTcGFjZSAqIGNoaWxkLT5zdHlsZSgpLT5mbGV4Ym94V2lkdGhOZWdhdGl2ZUZsZXgoKSAv
IHRvdGFsTmVnYXRpdmVGbGV4aWJpbGl0eSk7Ci0KLSAgICAgICAgY2hpbGRQcmVmZXJyZWRTaXpl
ICs9IGNoaWxkLT5ib3JkZXJMZWZ0KCkgKyBjaGlsZC0+Ym9yZGVyUmlnaHQoKSArIGNoaWxkLT5w
YWRkaW5nTGVmdCgpICsgY2hpbGQtPnBhZGRpbmdSaWdodCgpOwotICAgICAgICBjaGlsZC0+c2V0
T3ZlcnJpZGVTaXplKExheW91dFNpemUoY2hpbGRQcmVmZXJyZWRTaXplLCAwKSk7Ci0gICAgICAg
IGNoaWxkLT5zZXRDaGlsZE5lZWRzTGF5b3V0KHRydWUpOwotICAgICAgICBjaGlsZC0+bGF5b3V0
SWZOZWVkZWQoKTsKLQotICAgICAgICBzZXRIZWlnaHQoc3RkOjptYXgoaGVpZ2h0KCksIGJvcmRl
clRvcCgpICsgcGFkZGluZ1RvcCgpICsgY2hpbGQtPm1hcmdpblRvcCgpICsgY2hpbGQtPmhlaWdo
dCgpICsgY2hpbGQtPm1hcmdpbkJvdHRvbSgpICsgcGFkZGluZ0JvdHRvbSgpICsgYm9yZGVyQm90
dG9tKCkgKyBob3Jpem9udGFsU2Nyb2xsYmFySGVpZ2h0KCkpKTsKLQotICAgICAgICBpZiAoY2hp
bGQtPnN0eWxlKCktPm1hcmdpbkxlZnQoKS5pc0F1dG8oKSkKLSAgICAgICAgICAgIGNoaWxkLT5z
ZXRNYXJnaW5MZWZ0KGF2YWlsYWJsZUZyZWVTcGFjZSA+IDAgPyBscm91bmRmKGF2YWlsYWJsZUZy
ZWVTcGFjZSAvIHRvdGFsUG9zaXRpdmVGbGV4aWJpbGl0eSkgOiAwKTsKLSAgICAgICAgaWYgKGNo
aWxkLT5zdHlsZSgpLT5tYXJnaW5SaWdodCgpLmlzQXV0bygpKQotICAgICAgICAgICAgY2hpbGQt
PnNldE1hcmdpblJpZ2h0KGF2YWlsYWJsZUZyZWVTcGFjZSA+IDAgPyBscm91bmRmKGF2YWlsYWJs
ZUZyZWVTcGFjZSAvIHRvdGFsUG9zaXRpdmVGbGV4aWJpbGl0eSkgOiAwKTsKLQotICAgICAgICB4
T2Zmc2V0ICs9IGNoaWxkLT5tYXJnaW5MZWZ0KCk7Ci0gICAgICAgIGNoaWxkLT5zZXRMb2NhdGlv
bihJbnRQb2ludCh4T2Zmc2V0LCB5T2Zmc2V0KSk7Ci0gICAgICAgIHhPZmZzZXQgKz0gY2hpbGQt
PndpZHRoKCkgKyBjaGlsZC0+bWFyZ2luUmlnaHQoKTsKKyAgICBJbmZsZXhpYmxlRmxleEl0ZW1T
aXplIGluZmxleGlibGVJdGVtczsKKyAgICB3aGlsZSAoIXJ1bkZyZWVTcGFjZUFsbG9jYXRpb25B
bGdvcml0aG0oYXZhaWxhYmxlRnJlZVNwYWNlLCB0b3RhbFBvc2l0aXZlRmxleGliaWxpdHksIHRv
dGFsTmVnYXRpdmVGbGV4aWJpbGl0eSwgaW5mbGV4aWJsZUl0ZW1zKSkgeworICAgICAgICBBU1NF
UlQodG90YWxQb3NpdGl2ZUZsZXhpYmlsaXR5ID49IDAgJiYgdG90YWxOZWdhdGl2ZUZsZXhpYmls
aXR5ID49IDApOworICAgICAgICBBU1NFUlQoaW5mbGV4aWJsZUl0ZW1zLnNpemUoKSA+IDApOwog
ICAgIH0KIAogICAgIC8vIEZJWE1FOiBEaXN0cmlidXRlIGxlZnRvdmVyIHNwYWNlIHRvIHRoZSBw
YWNraW5nIHNwYWNlIChzZWNvbmQgZGlzdHJpYnV0aW9uIHJvdW5kKS4KQEAgLTIwMCw2ICsxNzks
NzQgQEAgdm9pZCBSZW5kZXJGbGV4aWJsZUJveDo6Y29tcHV0ZVByZWZlcnJlZFNpemUoYm9vbCBy
ZWxheW91dENoaWxkcmVuLCBGbGV4aWJsZUJveEkKICAgICB9CiB9CiAKKy8vIFJldHVybnMgdHJ1
ZSBpZiB3ZSBzdWNjZXNzZnVsbHkgcmFuIHRoZSBhbGdvcml0aG0gYW5kIHNpemVkIHRoZSBmbGV4
IGl0ZW1zLgorYm9vbCBSZW5kZXJGbGV4aWJsZUJveDo6cnVuRnJlZVNwYWNlQWxsb2NhdGlvbkFs
Z29yaXRobShMYXlvdXRVbml0JiBhdmFpbGFibGVGcmVlU3BhY2UsIGZsb2F0JiB0b3RhbFBvc2l0
aXZlRmxleGliaWxpdHksIGZsb2F0JiB0b3RhbE5lZ2F0aXZlRmxleGliaWxpdHksIEluZmxleGli
bGVGbGV4SXRlbVNpemUmIGluZmxleGlibGVJdGVtcykKK3sKKyAgICBGbGV4aWJsZUJveEl0ZXJh
dG9yIGl0ZXJhdG9yKHRoaXMpOworCisgICAgTGF5b3V0VW5pdCBmbGV4Ym94QXZhaWxhYmxlTG9n
aWNhbFdpZHRoID0gYXZhaWxhYmxlTG9naWNhbFdpZHRoKCk7CisgICAgV1RGOjpWZWN0b3I8TGF5
b3V0VW5pdD4gY2hpbGRTaXplczsKKyAgICBmb3IgKFJlbmRlckJveCogY2hpbGQgPSBpdGVyYXRv
ci5maXJzdCgpOyBjaGlsZDsgY2hpbGQgPSBpdGVyYXRvci5uZXh0KCkpIHsKKyAgICAgICAgTGF5
b3V0VW5pdCBjaGlsZFByZWZlcnJlZFNpemU7CisgICAgICAgIGlmIChpbmZsZXhpYmxlSXRlbXMu
Y29udGFpbnMoY2hpbGQpKQorICAgICAgICAgICAgY2hpbGRQcmVmZXJyZWRTaXplID0gaW5mbGV4
aWJsZUl0ZW1zLmdldChjaGlsZCk7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgY2hpbGRQ
cmVmZXJyZWRTaXplID0gcHJlZmVycmVkRmxleEl0ZW1Db250ZW50V2lkdGgoY2hpbGQpOworICAg
ICAgICAgICAgaWYgKGF2YWlsYWJsZUZyZWVTcGFjZSA+IDAgJiYgdG90YWxQb3NpdGl2ZUZsZXhp
YmlsaXR5ID4gMCkgeworICAgICAgICAgICAgICAgIGNoaWxkUHJlZmVycmVkU2l6ZSArPSBscm91
bmRmKGF2YWlsYWJsZUZyZWVTcGFjZSAqIGNoaWxkLT5zdHlsZSgpLT5mbGV4Ym94V2lkdGhQb3Np
dGl2ZUZsZXgoKSAvIHRvdGFsUG9zaXRpdmVGbGV4aWJpbGl0eSk7CisKKyAgICAgICAgICAgICAg
ICBMZW5ndGggY2hpbGRNYXhXaWR0aCA9IGNoaWxkLT5zdHlsZSgpLT5tYXhXaWR0aCgpOworICAg
ICAgICAgICAgICAgIGlmICghY2hpbGRNYXhXaWR0aC5pc1VuZGVmaW5lZCgpICYmIGNoaWxkTWF4
V2lkdGguaXNTcGVjaWZpZWQoKSAmJiBjaGlsZFByZWZlcnJlZFNpemUgPiBjaGlsZE1heFdpZHRo
LmNhbGNWYWx1ZShmbGV4Ym94QXZhaWxhYmxlTG9naWNhbFdpZHRoKSkgeworICAgICAgICAgICAg
ICAgICAgICBjaGlsZFByZWZlcnJlZFNpemUgPSBjaGlsZE1heFdpZHRoLmNhbGNWYWx1ZShmbGV4
Ym94QXZhaWxhYmxlTG9naWNhbFdpZHRoKTsKKyAgICAgICAgICAgICAgICAgICAgYXZhaWxhYmxl
RnJlZVNwYWNlIC09IGNoaWxkUHJlZmVycmVkU2l6ZSAtIHByZWZlcnJlZEZsZXhJdGVtQ29udGVu
dFdpZHRoKGNoaWxkKTsKKyAgICAgICAgICAgICAgICAgICAgdG90YWxQb3NpdGl2ZUZsZXhpYmls
aXR5IC09IGNoaWxkLT5zdHlsZSgpLT5mbGV4Ym94V2lkdGhQb3NpdGl2ZUZsZXgoKTsKKworICAg
ICAgICAgICAgICAgICAgICBpbmZsZXhpYmxlSXRlbXMuc2V0KGNoaWxkLCBjaGlsZFByZWZlcnJl
ZFNpemUpOworICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSBlbHNlIGlmIChhdmFpbGFibGVGcmVlU3BhY2UgPCAwICYmIHRv
dGFsTmVnYXRpdmVGbGV4aWJpbGl0eSA+IDApIHsKKyAgICAgICAgICAgICAgICBjaGlsZFByZWZl
cnJlZFNpemUgKz0gbHJvdW5kZihhdmFpbGFibGVGcmVlU3BhY2UgKiBjaGlsZC0+c3R5bGUoKS0+
ZmxleGJveFdpZHRoTmVnYXRpdmVGbGV4KCkgLyB0b3RhbE5lZ2F0aXZlRmxleGliaWxpdHkpOwor
CisgICAgICAgICAgICAgICAgTGVuZ3RoIGNoaWxkTWluV2lkdGggPSBjaGlsZC0+c3R5bGUoKS0+
bWluV2lkdGgoKTsKKyAgICAgICAgICAgICAgICBpZiAoIWNoaWxkTWluV2lkdGguaXNVbmRlZmlu
ZWQoKSAmJiBjaGlsZE1pbldpZHRoLmlzU3BlY2lmaWVkKCkgJiYgY2hpbGRQcmVmZXJyZWRTaXpl
IDwgY2hpbGRNaW5XaWR0aC5jYWxjVmFsdWUoZmxleGJveEF2YWlsYWJsZUxvZ2ljYWxXaWR0aCkp
IHsKKyAgICAgICAgICAgICAgICAgICAgY2hpbGRQcmVmZXJyZWRTaXplID0gY2hpbGRNaW5XaWR0
aC5jYWxjVmFsdWUoZmxleGJveEF2YWlsYWJsZUxvZ2ljYWxXaWR0aCk7CisgICAgICAgICAgICAg
ICAgICAgIGF2YWlsYWJsZUZyZWVTcGFjZSArPSBwcmVmZXJyZWRGbGV4SXRlbUNvbnRlbnRXaWR0
aChjaGlsZCkgLSBjaGlsZFByZWZlcnJlZFNpemU7CisgICAgICAgICAgICAgICAgICAgIHRvdGFs
TmVnYXRpdmVGbGV4aWJpbGl0eSAtPSBjaGlsZC0+c3R5bGUoKS0+ZmxleGJveFdpZHRoTmVnYXRp
dmVGbGV4KCk7CisKKyAgICAgICAgICAgICAgICAgICAgaW5mbGV4aWJsZUl0ZW1zLnNldChjaGls
ZCwgY2hpbGRQcmVmZXJyZWRTaXplKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBj
aGlsZFNpemVzLmFwcGVuZChjaGlsZFByZWZlcnJlZFNpemUpOworICAgIH0KKworICAgIC8vIE5v
dyB0aGF0IHdlIGtub3cgdGhlIHNpemVzLCBsYXlvdXQgYW5kIHBvc2l0aW9uIHRoZSBmbGV4IGl0
ZW1zLgorICAgIExheW91dFVuaXQgeE9mZnNldCA9IGJvcmRlckxlZnQoKSArIHBhZGRpbmdMZWZ0
KCk7CisgICAgTGF5b3V0VW5pdCB5T2Zmc2V0ID0gYm9yZGVyVG9wKCkgKyBwYWRkaW5nVG9wKCk7
CisgICAgc2V0SGVpZ2h0KDApOworICAgIHNpemVfdCBpID0gMDsKKyAgICBmb3IgKFJlbmRlckJv
eCogY2hpbGQgPSBpdGVyYXRvci5maXJzdCgpOyBjaGlsZDsgY2hpbGQgPSBpdGVyYXRvci5uZXh0
KCksICsraSkgeworICAgICAgICBMYXlvdXRVbml0IGNoaWxkUHJlZmVycmVkU2l6ZSA9IGNoaWxk
U2l6ZXNbaV07CisgICAgICAgIGNoaWxkUHJlZmVycmVkU2l6ZSArPSBjaGlsZC0+Ym9yZGVyTGVm
dCgpICsgY2hpbGQtPmJvcmRlclJpZ2h0KCkgKyBjaGlsZC0+cGFkZGluZ0xlZnQoKSArIGNoaWxk
LT5wYWRkaW5nUmlnaHQoKTsKKyAgICAgICAgY2hpbGQtPnNldE92ZXJyaWRlU2l6ZShMYXlvdXRT
aXplKGNoaWxkUHJlZmVycmVkU2l6ZSwgMCkpOworICAgICAgICBjaGlsZC0+c2V0Q2hpbGROZWVk
c0xheW91dCh0cnVlKTsKKyAgICAgICAgY2hpbGQtPmxheW91dElmTmVlZGVkKCk7CisKKyAgICAg
ICAgc2V0SGVpZ2h0KHN0ZDo6bWF4KGhlaWdodCgpLCBib3JkZXJUb3AoKSArIHBhZGRpbmdUb3Ao
KSArIGNoaWxkLT5tYXJnaW5Ub3AoKSArIGNoaWxkLT5oZWlnaHQoKSArIGNoaWxkLT5tYXJnaW5C
b3R0b20oKSArIHBhZGRpbmdCb3R0b20oKSArIGJvcmRlckJvdHRvbSgpICsgaG9yaXpvbnRhbFNj
cm9sbGJhckhlaWdodCgpKSk7CisKKyAgICAgICAgaWYgKGNoaWxkLT5zdHlsZSgpLT5tYXJnaW5M
ZWZ0KCkuaXNBdXRvKCkpCisgICAgICAgICAgICBjaGlsZC0+c2V0TWFyZ2luTGVmdChhdmFpbGFi
bGVGcmVlU3BhY2UgPiAwID8gbHJvdW5kZihhdmFpbGFibGVGcmVlU3BhY2UgLyB0b3RhbFBvc2l0
aXZlRmxleGliaWxpdHkpIDogMCk7CisgICAgICAgIGlmIChjaGlsZC0+c3R5bGUoKS0+bWFyZ2lu
UmlnaHQoKS5pc0F1dG8oKSkKKyAgICAgICAgICAgIGNoaWxkLT5zZXRNYXJnaW5SaWdodChhdmFp
bGFibGVGcmVlU3BhY2UgPiAwID8gbHJvdW5kZihhdmFpbGFibGVGcmVlU3BhY2UgLyB0b3RhbFBv
c2l0aXZlRmxleGliaWxpdHkpIDogMCk7CisKKyAgICAgICAgeE9mZnNldCArPSBjaGlsZC0+bWFy
Z2luTGVmdCgpOworICAgICAgICBjaGlsZC0+c2V0TG9jYXRpb24oSW50UG9pbnQoeE9mZnNldCwg
eU9mZnNldCkpOworICAgICAgICB4T2Zmc2V0ICs9IGNoaWxkLT53aWR0aCgpICsgY2hpbGQtPm1h
cmdpblJpZ2h0KCk7CisgICAgfQorICAgIHJldHVybiB0cnVlOworfQorCiB9CiAKICNlbmRpZiAv
LyBFTkFCTEUoQ1NTM19GTEVYQk9YKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckZsZXhpYmxlQm94LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
RmxleGlibGVCb3guaAppbmRleCA5ZmNkNDg0N2NjZmQyMjAyYjlkNjAyOTFiMzZiMDIwY2E1MTc0
MWI0Li5mYjJhOWY0MWE5MjE3MGZjNDc3MmM0MGFjMDU0NjM4MzJiZWQ3ZDBiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guaApAQCAtNTAsMTAgKzUwLDEy
IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBjbGFzcyBGbGV4aWJsZUJveEl0ZXJhdG9yOwor
ICAgIHR5cGVkZWYgV1RGOjpIYXNoTWFwPGNvbnN0IFJlbmRlckJveCosIExheW91dFVuaXQ+IElu
ZmxleGlibGVGbGV4SXRlbVNpemU7CiAKICAgICB2b2lkIGxheW91dEhvcml6b250YWxCbG9jayhi
b29sIHJlbGF5b3V0Q2hpbGRyZW4pOwogCiAgICAgdm9pZCBjb21wdXRlUHJlZmVycmVkU2l6ZShi
b29sIHJlbGF5b3V0Q2hpbGRyZW4sIEZsZXhpYmxlQm94SXRlcmF0b3ImLCBMYXlvdXRVbml0Jiwg
ZmxvYXQmIHRvdGFsUG9zaXRpdmVGbGV4aWJpbGl0eSwgZmxvYXQmIHRvdGFsTmVnYXRpdmVGbGV4
aWJpbGl0eSk7CisgICAgYm9vbCBydW5GcmVlU3BhY2VBbGxvY2F0aW9uQWxnb3JpdGhtKExheW91
dFVuaXQmIGF2YWlsYWJsZUZyZWVTcGFjZSwgZmxvYXQmIHRvdGFsUG9zaXRpdmVGbGV4aWJpbGl0
eSwgZmxvYXQmIHRvdGFsTmVnYXRpdmVGbGV4aWJpbGl0eSwgSW5mbGV4aWJsZUZsZXhJdGVtU2l6
ZSYpOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>104888</attachid>
            <date>2011-08-23 12:22:43 -0700</date>
            <delta_ts>2011-08-23 16:10:59 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-66723-20110823122145.patch</filename>
            <type>text/plain</type>
            <size>15410</size>
            <attacher name="Tony Chang">tony</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTM2MTEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwYWMwM2Q1MmMxOWQwZWM2YmEzN2E2
MGRkZTUyZWVkY2UxMjI2YjMxLi44NGY2ZTVkMjdmZTdmNGEwOGJkYWNjMzk4Y2I5YzYyNjZlNzcx
NDk3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDgtMjIgIFRvbnkgQ2hhbmcgIDx0b255
QGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgaGFuZGxpbmcgb2YgbWl4LXdpZHRoIGFuZCBt
YXgtd2lkdGggZm9yIGZsZXhpdGVtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjY3MjMKKworICAgICAgICBSZXZpZXdlZCBieSBEYXZpZCBIeWF0dC4K
KworICAgICAgICAqIGNzczMvZmxleGJveC8wMDMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBjc3MzL2ZsZXhib3gvMDAzLmh0bWw6IEFkZGVkLgorCiAyMDExLTA4LTIzICBBbmRyZXkg
S29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCB0ZXN0
IGZpeCBmb2xsb3dpbmcgcjkzNjA1LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9mbGV4
Ym94LzAwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvMDAzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjRhMDIzYjAwYWUxMzM5ZTRlY2VlYzg5Yjk0NzA0M2JjYzQ3
N2M1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94LzAwMy1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw4IEBACitQQVNTCitQQVNTCitQQVNTCitQQVNTCitQQVNTCitQ
QVNTCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmxleGJveC8wMDMuaHRt
bCBiL0xheW91dFRlc3RzL2NzczMvZmxleGJveC8wMDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MjZlM2Fl
ZjY4MWRkNTdjMmJiMGU2ZGExYjE0MDliYjRhMjEzZjg5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvY3NzMy9mbGV4Ym94LzAwMy5odG1sCkBAIC0wLDAgKzEsNzkgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8c3R5bGU+Citib2R5IHsKKyAgICBtYXJnaW46IDA7Cit9CisuaG9y
aXpvbnRhbC1ib3ggeworICAgIHdpZHRoOiA2MDBweDsKKyAgICBkaXNwbGF5OiAtd2Via2l0LWZs
ZXhib3g7CisgICAgYmFja2dyb3VuZC1jb2xvcjogI2FhYTsKKyAgICBwb3NpdGlvbjogcmVsYXRp
dmU7Cit9CisuaG9yaXpvbnRhbC1ib3ggZGl2IHsKKyAgICBoZWlnaHQ6IDIwcHg7CisgICAgYm9y
ZGVyOiAwOworfQorCisuaG9yaXpvbnRhbC1ib3ggOm50aC1jaGlsZCgxKSB7CisgICAgYmFja2dy
b3VuZC1jb2xvcjogYmx1ZTsKK30KKy5ob3Jpem9udGFsLWJveCA6bnRoLWNoaWxkKDIpIHsKKyAg
ICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKK30KKy5ob3Jpem9udGFsLWJveCA6bnRoLWNoaWxk
KDMpIHsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7Cit9Cis8L3N0eWxlPgorPHNjcmlwdD4K
K2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIuZHVtcEFzVGV4dCgpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2ZsZXhi
b3guanMiPjwvc2NyaXB0PgorPGJvZHkgb25sb2FkPSJjaGVja0hvcml6b250YWxCb3hlbigpIj4K
KzxkaXYgY2xhc3M9Imhvcml6b250YWwtYm94Ij4KKyAgPGRpdiBkYXRhLWV4cGVjdGVkLXdpZHRo
PSIxMDAiIHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1mbGV4KDEgMCAwKTsgbWF4LXdpZHRoOiAxMDBw
eDsiPjwvZGl2PgorICA8ZGl2IGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjI1MCIgc3R5bGU9IndpZHRo
OiAtd2Via2l0LWZsZXgoMSAwIDApOyI+PC9kaXY+CisgIDxkaXYgZGF0YS1leHBlY3RlZC13aWR0
aD0iMjUwIiBzdHlsZT0id2lkdGg6IC13ZWJraXQtZmxleCgxIDAgMCk7Ij48L2Rpdj4KKzwvZGl2
PgorCis8IS0tIFRoZSBmaXJzdCB0d28gZmxleGl0ZW1zIHNob3VsZCBoaXQgdGhlaXIgbWF4IHdp
ZHRoIGFuZCB0aGUgdGhpcmQgaXRlbSBmaWxscyB0aGUgcmVtYWluaW5nIHNwYWNlLiAtLT4KKzxk
aXYgY2xhc3M9Imhvcml6b250YWwtYm94Ij4KKyAgPGRpdiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI1
MCIgc3R5bGU9IndpZHRoOiAtd2Via2l0LWZsZXgoMSAwIDApOyBtYXgtd2lkdGg6IDUwcHg7Ij48
L2Rpdj4KKyAgPGRpdiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIzMDAiIHN0eWxlPSJ3aWR0aDogLXdl
YmtpdC1mbGV4KDQgMCAwKTsgbWF4LXdpZHRoOiAzMDBweDsiPjwvZGl2PgorICA8ZGl2IGRhdGEt
ZXhwZWN0ZWQtd2lkdGg9IjI1MCIgc3R5bGU9IndpZHRoOiAtd2Via2l0LWZsZXgoMSAwIDApOyI+
PC9kaXY+Cis8L2Rpdj4KKworPGRpdiBjbGFzcz0iaG9yaXpvbnRhbC1ib3giPgorICA8ZGl2IGRh
dGEtZXhwZWN0ZWQtd2lkdGg9IjEwMCIgc3R5bGU9IndpZHRoOiAtd2Via2l0LWZsZXgoMSAwIDAp
OyBtYXgtd2lkdGg6IDEwMHB4OyI+PC9kaXY+CisgIDxkaXYgZGF0YS1leHBlY3RlZC13aWR0aD0i
MzAwIiBzdHlsZT0id2lkdGg6IC13ZWJraXQtZmxleCgxIDAgMjAwcHgpOyBtYXgtd2lkdGg6IDMw
MHB4OyI+PC9kaXY+CisgIDxkaXYgZGF0YS1leHBlY3RlZC13aWR0aD0iMjAwIiBzdHlsZT0id2lk
dGg6IC13ZWJraXQtZmxleCgxIDAgMCk7Ij48L2Rpdj4KKzwvZGl2PgorCis8IS0tIFRlc3QgbWlu
LXdpZHRoLiAtLT4KKzxkaXYgY2xhc3M9Imhvcml6b250YWwtYm94Ij4KKyAgPGRpdiBkYXRhLWV4
cGVjdGVkLXdpZHRoPSIzNTAiIHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1mbGV4KDEgMSA0MDBweCk7
IG1pbi13aWR0aDogMzUwcHg7Ij48L2Rpdj4KKyAgPGRpdiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIy
NTAiIHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1mbGV4KDEgMSA0MDBweCk7Ij48L2Rpdj4KKzwvZGl2
PgorCis8IS0tIFRoZSBmbGV4IGl0ZW1zIGNhbiBvdmVyZmxvdyB0aGUgZmxleGJveC4gLS0+Cis8
ZGl2IGNsYXNzPSJob3Jpem9udGFsLWJveCI+CisgIDxkaXYgZGF0YS1leHBlY3RlZC13aWR0aD0i
MzUwIiBzdHlsZT0id2lkdGg6IC13ZWJraXQtZmxleCgxIDEgNDAwcHgpOyBtaW4td2lkdGg6IDM1
MHB4OyI+PC9kaXY+CisgIDxkaXYgZGF0YS1leHBlY3RlZC13aWR0aD0iMzAwIiBzdHlsZT0id2lk
dGg6IC13ZWJraXQtZmxleCgyIDAgMzAwcHgpOyBtYXgtd2lkdGg6IDMwMHB4OyI+PC9kaXY+Cisg
IDxkaXYgZGF0YS1leHBlY3RlZC13aWR0aD0iMCIgc3R5bGU9IndpZHRoOiAtd2Via2l0LWZsZXgo
MSAwIDApOyI+PC9kaXY+Cis8L2Rpdj4KKworPGRpdiBjbGFzcz0iaG9yaXpvbnRhbC1ib3giPgor
ICA8ZGl2IGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjEwMCIgZGF0YS1vZmZzZXQteD0iMTAwIiBzdHls
ZT0id2lkdGg6IC13ZWJraXQtZmxleCgxIDAgMCk7IG1hcmdpbjogMCBhdXRvOyBtYXgtd2lkdGg6
IDEwMHB4OyI+PC9kaXY+CisgIDxkaXYgZGF0YS1leHBlY3RlZC13aWR0aD0iMjAwIiBkYXRhLW9m
ZnNldC14PSIzMDAiIHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1mbGV4KDIgMCAwKTsiPjwvZGl2Pgor
ICA8ZGl2IGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjEwMCIgZGF0YS1vZmZzZXQteD0iNTAwIiBzdHls
ZT0id2lkdGg6IC13ZWJraXQtZmxleCgxIDAgMCk7Ij48L2Rpdj4KKzwvZGl2PgorCis8IS0tIG1p
bi13aWR0aCBhbmQgbWF4LXdpZHRoIHRha2UgcHJpb3JpdHkgb3ZlciB0aGUgcHJlZmVycmVkIHNp
emUuIC0tPgorPGRpdiBjbGFzcz0iaG9yaXpvbnRhbC1ib3giPgorICA8ZGl2IGRhdGEtZXhwZWN0
ZWQtd2lkdGg9IjUwMCIgc3R5bGU9IndpZHRoOiAtd2Via2l0LWZsZXgoMSAwIDApOyBtaW4td2lk
dGg6IDMwMHB4Ij48L2Rpdj4KKyAgPGRpdiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIxMDAiIHN0eWxl
PSJ3aWR0aDogLXdlYmtpdC1mbGV4KDEgMCA1MCUpOyBtYXgtd2lkdGg6IDEwMHB4Ij48L2Rpdj4K
KzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2NlZTAzZWNhYzQzMWJk
NzRkZWYwN2E1NWNkM2QyYzU1ODdiN2NjNC4uZWE0NWYwMTIxNjg4OTI1MjlkMTE5NmQ0YzM4YTUx
MTY1ZTlmNGFiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDExLTA4LTIyICBUb255
IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIGhhbmRsaW5nIG9mIG1p
eC13aWR0aCBhbmQgbWF4LXdpZHRoIGZvciBmbGV4aXRlbXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2NzIzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
RGF2aWQgSHlhdHQuCisKKyAgICAgICAgSWYgd2UgZmxleCBwYXN0IGEgbWluL21heCB3aWR0aCB2
YWx1ZSwgd2UgbmVlZCB0byBtYXJrIHRoZSBmbGV4aXRlbSBhcworICAgICAgICBhIGZpeGVkIHdp
ZHRoIGFuZCByZS1zdGFydCB0aGUgZmxleGluZyBhbGdvcml0aG0uICBXZSB1c2UgYSBIYXNoTWFw
IHRvCisgICAgICAgIGtlZXAgdHJhY2sgb2YgZml4ZWQgd2lkdGggaXRlbXMuCisKKyAgICAgICAg
VGhpcyBwYXRjaCBhbHNvIHNwbGl0IG91dCB0aGUgc2l6ZSBjb21wdXRhdGlvbiBmcm9tIHRoZSBh
Y3R1YWwgbGF5b3V0CisgICAgICAgIHRvIGF2b2lkIHVubmVjZXNzYXJ5IGxheW91dHMgY2F1c2Vk
IGJ5IHJlc3RhcnRpbmcgdGhlIGZsZXhpbmcgYWxnb3JpdGhtLgorCisgICAgICAgIFRlc3Q6IGNz
czMvZmxleGJveC8wMDMuaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxl
Qm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZsZXhpYmxlQm94OjpsYXlvdXRIb3Jp
em9udGFsQmxvY2spOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxleGlibGVCb3g6OnJ1bkZy
ZWVTcGFjZUFsbG9jYXRpb25BbGdvcml0aG0pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJG
bGV4aWJsZUJveC5oOgorCiAyMDExLTA4LTIzICBKZXNzaWUgQmVybGluICA8amJlcmxpbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgQnVpbGQgZml4LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJGbGV4aWJsZUJveC5jcHAKaW5kZXggMWY4MzJmMTczODQ2YWViMzNjZTc2NjlkYmZk
OGVjOTFhYmFlNDM4Yi4uMjg0ZThhZGI5ZjMwZmZjNDhiNzcwZmJmZjk0NDM5MTQ4MjY4NmY3MSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwCkBA
IC05OSw3ICs5OSw3IEBAIHZvaWQgUmVuZGVyRmxleGlibGVCb3g6OmxheW91dEJsb2NrKGJvb2wg
cmVsYXlvdXRDaGlsZHJlbiwgaW50LCBCbG9ja0xheW91dFBhc3MpCiAKICAgICBtX292ZXJmbG93
LmNsZWFyKCk7CiAKLSAgICAvLyBGSVhNRTogQXNzdW1lIGhvcml6b250YWwgbGF5b3V0IHVudGls
IGZsZXgtZGlyZWN0aW9uIGlzIGFkZGVkLgorICAgIC8vIEZJWE1FOiBBc3N1bWUgaG9yaXpvbnRh
bCBsYXlvdXQgdW50aWwgZmxleC1mbG93IGlzIGFkZGVkLgogICAgIGxheW91dEhvcml6b250YWxC
bG9jayhyZWxheW91dENoaWxkcmVuKTsKIAogICAgIGNvbXB1dGVMb2dpY2FsSGVpZ2h0KCk7CkBA
IC0xMTYsNiArMTE2LDcgQEAgdm9pZCBSZW5kZXJGbGV4aWJsZUJveDo6bGF5b3V0QmxvY2soYm9v
bCByZWxheW91dENoaWxkcmVuLCBpbnQsIEJsb2NrTGF5b3V0UGFzcykKIAogc3RhdGljIExheW91
dFVuaXQgcHJlZmVycmVkRmxleEl0ZW1Db250ZW50V2lkdGgoUmVuZGVyQm94KiBjaGlsZCkKIHsK
KyAgICAvLyBGSVhNRTogSGFuZGxlIHZlcnRpY2FsIHdyaXRpbmcgbW9kZXMgd2l0aCBob3Jpem9u
dGFsIGZsZXhpbmcuCiAgICAgaWYgKGNoaWxkLT5zdHlsZSgpLT53aWR0aCgpLmlzQXV0bygpKQog
ICAgICAgICByZXR1cm4gY2hpbGQtPm1heFByZWZlcnJlZExvZ2ljYWxXaWR0aCgpIC0gY2hpbGQt
PmJvcmRlckxlZnQoKSAtIGNoaWxkLT5ib3JkZXJSaWdodCgpIC0gY2hpbGQtPnZlcnRpY2FsU2Ny
b2xsYmFyV2lkdGgoKSAtIGNoaWxkLT5wYWRkaW5nTGVmdCgpIC0gY2hpbGQtPnBhZGRpbmdSaWdo
dCgpOwogICAgIHJldHVybiBjaGlsZC0+Y29udGVudFdpZHRoKCk7CkBAIC0xMjgsMzQgKzEyOSwx
MyBAQCB2b2lkIFJlbmRlckZsZXhpYmxlQm94OjpsYXlvdXRIb3Jpem9udGFsQmxvY2soYm9vbCBy
ZWxheW91dENoaWxkcmVuKQogICAgIGZsb2F0IHRvdGFsTmVnYXRpdmVGbGV4aWJpbGl0eTsKICAg
ICBGbGV4aWJsZUJveEl0ZXJhdG9yIGl0ZXJhdG9yKHRoaXMpOwogCi0gICAgY29tcHV0ZVByZWZl
cnJlZFNpemUocmVsYXlvdXRDaGlsZHJlbiwgaXRlcmF0b3IsIHByZWZlcnJlZFNpemUsIHRvdGFs
UG9zaXRpdmVGbGV4aWJpbGl0eSwgdG90YWxOZWdhdGl2ZUZsZXhpYmlsaXR5KTsKKyAgICBjb21w
dXRlUHJlZmVycmVkU2l6ZUhvcml6b250YWwocmVsYXlvdXRDaGlsZHJlbiwgaXRlcmF0b3IsIHBy
ZWZlcnJlZFNpemUsIHRvdGFsUG9zaXRpdmVGbGV4aWJpbGl0eSwgdG90YWxOZWdhdGl2ZUZsZXhp
YmlsaXR5KTsKICAgICBMYXlvdXRVbml0IGF2YWlsYWJsZUZyZWVTcGFjZSA9IGNvbnRlbnRXaWR0
aCgpIC0gcHJlZmVycmVkU2l6ZTsKIAotICAgIExheW91dFVuaXQgeE9mZnNldCA9IGJvcmRlckxl
ZnQoKSArIHBhZGRpbmdMZWZ0KCk7Ci0gICAgTGF5b3V0VW5pdCB5T2Zmc2V0ID0gYm9yZGVyVG9w
KCkgKyBwYWRkaW5nVG9wKCk7Ci0gICAgZm9yIChSZW5kZXJCb3gqIGNoaWxkID0gaXRlcmF0b3Iu
Zmlyc3QoKTsgY2hpbGQ7IGNoaWxkID0gaXRlcmF0b3IubmV4dCgpKSB7Ci0gICAgICAgIExheW91
dFVuaXQgY2hpbGRQcmVmZXJyZWRTaXplID0gcHJlZmVycmVkRmxleEl0ZW1Db250ZW50V2lkdGgo
Y2hpbGQpOwotICAgICAgICAvLyBGSVhNRTogSGFuZGxlIG1heC13aWR0aCBhbmQgbWluLXdpZHRo
ICh3ZSBzaG91bGQgY2xhbXAgdG8gdGhlIG1heC9taW4gdmFsdWUgYW5kIHJlc3RhcnQgdGhlIGFs
Z29yaXRobSkuCi0gICAgICAgIGlmIChhdmFpbGFibGVGcmVlU3BhY2UgPiAwICYmIHRvdGFsUG9z
aXRpdmVGbGV4aWJpbGl0eSA+IDApCi0gICAgICAgICAgICBjaGlsZFByZWZlcnJlZFNpemUgKz0g
bHJvdW5kZihhdmFpbGFibGVGcmVlU3BhY2UgKiBjaGlsZC0+c3R5bGUoKS0+ZmxleGJveFdpZHRo
UG9zaXRpdmVGbGV4KCkgLyB0b3RhbFBvc2l0aXZlRmxleGliaWxpdHkpOwotICAgICAgICBlbHNl
IGlmIChhdmFpbGFibGVGcmVlU3BhY2UgPCAwICYmIHRvdGFsTmVnYXRpdmVGbGV4aWJpbGl0eSA+
IDApCi0gICAgICAgICAgICBjaGlsZFByZWZlcnJlZFNpemUgKz0gbHJvdW5kZihhdmFpbGFibGVG
cmVlU3BhY2UgKiBjaGlsZC0+c3R5bGUoKS0+ZmxleGJveFdpZHRoTmVnYXRpdmVGbGV4KCkgLyB0
b3RhbE5lZ2F0aXZlRmxleGliaWxpdHkpOwotCi0gICAgICAgIGNoaWxkUHJlZmVycmVkU2l6ZSAr
PSBjaGlsZC0+Ym9yZGVyTGVmdCgpICsgY2hpbGQtPmJvcmRlclJpZ2h0KCkgKyBjaGlsZC0+cGFk
ZGluZ0xlZnQoKSArIGNoaWxkLT5wYWRkaW5nUmlnaHQoKTsKLSAgICAgICAgY2hpbGQtPnNldE92
ZXJyaWRlU2l6ZShMYXlvdXRTaXplKGNoaWxkUHJlZmVycmVkU2l6ZSwgMCkpOwotICAgICAgICBj
aGlsZC0+c2V0Q2hpbGROZWVkc0xheW91dCh0cnVlKTsKLSAgICAgICAgY2hpbGQtPmxheW91dElm
TmVlZGVkKCk7Ci0KLSAgICAgICAgc2V0SGVpZ2h0KHN0ZDo6bWF4KGhlaWdodCgpLCBib3JkZXJU
b3AoKSArIHBhZGRpbmdUb3AoKSArIGNoaWxkLT5tYXJnaW5Ub3AoKSArIGNoaWxkLT5oZWlnaHQo
KSArIGNoaWxkLT5tYXJnaW5Cb3R0b20oKSArIHBhZGRpbmdCb3R0b20oKSArIGJvcmRlckJvdHRv
bSgpICsgaG9yaXpvbnRhbFNjcm9sbGJhckhlaWdodCgpKSk7Ci0KLSAgICAgICAgaWYgKGNoaWxk
LT5zdHlsZSgpLT5tYXJnaW5MZWZ0KCkuaXNBdXRvKCkpCi0gICAgICAgICAgICBjaGlsZC0+c2V0
TWFyZ2luTGVmdChhdmFpbGFibGVGcmVlU3BhY2UgPiAwID8gbHJvdW5kZihhdmFpbGFibGVGcmVl
U3BhY2UgLyB0b3RhbFBvc2l0aXZlRmxleGliaWxpdHkpIDogMCk7Ci0gICAgICAgIGlmIChjaGls
ZC0+c3R5bGUoKS0+bWFyZ2luUmlnaHQoKS5pc0F1dG8oKSkKLSAgICAgICAgICAgIGNoaWxkLT5z
ZXRNYXJnaW5SaWdodChhdmFpbGFibGVGcmVlU3BhY2UgPiAwID8gbHJvdW5kZihhdmFpbGFibGVG
cmVlU3BhY2UgLyB0b3RhbFBvc2l0aXZlRmxleGliaWxpdHkpIDogMCk7Ci0KLSAgICAgICAgeE9m
ZnNldCArPSBjaGlsZC0+bWFyZ2luTGVmdCgpOwotICAgICAgICBjaGlsZC0+c2V0TG9jYXRpb24o
SW50UG9pbnQoeE9mZnNldCwgeU9mZnNldCkpOwotICAgICAgICB4T2Zmc2V0ICs9IGNoaWxkLT53
aWR0aCgpICsgY2hpbGQtPm1hcmdpblJpZ2h0KCk7CisgICAgSW5mbGV4aWJsZUZsZXhJdGVtU2l6
ZSBpbmZsZXhpYmxlSXRlbXM7CisgICAgd2hpbGUgKCFydW5GcmVlU3BhY2VBbGxvY2F0aW9uQWxn
b3JpdGhtSG9yaXpvbnRhbChhdmFpbGFibGVGcmVlU3BhY2UsIHRvdGFsUG9zaXRpdmVGbGV4aWJp
bGl0eSwgdG90YWxOZWdhdGl2ZUZsZXhpYmlsaXR5LCBpbmZsZXhpYmxlSXRlbXMpKSB7CisgICAg
ICAgIEFTU0VSVCh0b3RhbFBvc2l0aXZlRmxleGliaWxpdHkgPj0gMCAmJiB0b3RhbE5lZ2F0aXZl
RmxleGliaWxpdHkgPj0gMCk7CisgICAgICAgIEFTU0VSVChpbmZsZXhpYmxlSXRlbXMuc2l6ZSgp
ID4gMCk7CiAgICAgfQogCiAgICAgLy8gRklYTUU6IERpc3RyaWJ1dGUgbGVmdG92ZXIgc3BhY2Ug
dG8gdGhlIHBhY2tpbmcgc3BhY2UgKHNlY29uZCBkaXN0cmlidXRpb24gcm91bmQpLgpAQCAtMTY3
LDExICsxNDcsMTIgQEAgc3RhdGljIExheW91dFVuaXQgcHJlZmVycmVkU2l6ZUZvck1hcmdpbnNB
bmRQYWRkaW5nKExlbmd0aCBsZW5ndGgsIExheW91dFVuaXQgY28KICAgICByZXR1cm4gbGVuZ3Ro
LmNhbGNNaW5WYWx1ZShjb250YWluZXJMZW5ndGgpOwogfQogCi12b2lkIFJlbmRlckZsZXhpYmxl
Qm94Ojpjb21wdXRlUHJlZmVycmVkU2l6ZShib29sIHJlbGF5b3V0Q2hpbGRyZW4sIEZsZXhpYmxl
Qm94SXRlcmF0b3ImIGl0ZXJhdG9yLCBMYXlvdXRVbml0JiBwcmVmZXJyZWRTaXplLCBmbG9hdCYg
dG90YWxQb3NpdGl2ZUZsZXhpYmlsaXR5LCBmbG9hdCYgdG90YWxOZWdhdGl2ZUZsZXhpYmlsaXR5
KQordm9pZCBSZW5kZXJGbGV4aWJsZUJveDo6Y29tcHV0ZVByZWZlcnJlZFNpemVIb3Jpem9udGFs
KGJvb2wgcmVsYXlvdXRDaGlsZHJlbiwgRmxleGlibGVCb3hJdGVyYXRvciYgaXRlcmF0b3IsIExh
eW91dFVuaXQmIHByZWZlcnJlZFNpemUsIGZsb2F0JiB0b3RhbFBvc2l0aXZlRmxleGliaWxpdHks
IGZsb2F0JiB0b3RhbE5lZ2F0aXZlRmxleGliaWxpdHkpCiB7CiAgICAgcHJlZmVycmVkU2l6ZSA9
IDA7CiAgICAgdG90YWxQb3NpdGl2ZUZsZXhpYmlsaXR5ID0gdG90YWxOZWdhdGl2ZUZsZXhpYmls
aXR5ID0gMDsKIAorICAgIC8vIEZJWE1FOiBIYW5kbGUgdmVydGljYWwgd3JpdGluZyBtb2RlcyB3
aXRoIGhvcml6b250YWwgZmxleGluZy4KICAgICBMYXlvdXRVbml0IGZsZXhib3hBdmFpbGFibGVM
b2dpY2FsV2lkdGggPSBhdmFpbGFibGVMb2dpY2FsV2lkdGgoKTsKICAgICBmb3IgKFJlbmRlckJv
eCogY2hpbGQgPSBpdGVyYXRvci5maXJzdCgpOyBjaGlsZDsgY2hpbGQgPSBpdGVyYXRvci5uZXh0
KCkpIHsKICAgICAgICAgLy8gV2UgYWx3YXlzIGhhdmUgdG8gbGF5IG91dCBmbGV4aWJsZSBvYmpl
Y3RzIGFnYWluLCBzaW5jZSB0aGUgZmxleCBkaXN0cmlidXRpb24KQEAgLTIwMCw2ICsxODEsNzYg
QEAgdm9pZCBSZW5kZXJGbGV4aWJsZUJveDo6Y29tcHV0ZVByZWZlcnJlZFNpemUoYm9vbCByZWxh
eW91dENoaWxkcmVuLCBGbGV4aWJsZUJveEkKICAgICB9CiB9CiAKKy8vIFJldHVybnMgdHJ1ZSBp
ZiB3ZSBzdWNjZXNzZnVsbHkgcmFuIHRoZSBhbGdvcml0aG0gYW5kIHNpemVkIHRoZSBmbGV4IGl0
ZW1zLgorYm9vbCBSZW5kZXJGbGV4aWJsZUJveDo6cnVuRnJlZVNwYWNlQWxsb2NhdGlvbkFsZ29y
aXRobUhvcml6b250YWwoTGF5b3V0VW5pdCYgYXZhaWxhYmxlRnJlZVNwYWNlLCBmbG9hdCYgdG90
YWxQb3NpdGl2ZUZsZXhpYmlsaXR5LCBmbG9hdCYgdG90YWxOZWdhdGl2ZUZsZXhpYmlsaXR5LCBJ
bmZsZXhpYmxlRmxleEl0ZW1TaXplJiBpbmZsZXhpYmxlSXRlbXMpCit7CisgICAgRmxleGlibGVC
b3hJdGVyYXRvciBpdGVyYXRvcih0aGlzKTsKKworICAgIC8vIEZJWE1FOiBIYW5kbGUgdmVydGlj
YWwgd3JpdGluZyBtb2RlcyB3aXRoIGhvcml6b250YWwgZmxleGluZy4KKyAgICBMYXlvdXRVbml0
IGZsZXhib3hBdmFpbGFibGVMb2dpY2FsV2lkdGggPSBhdmFpbGFibGVMb2dpY2FsV2lkdGgoKTsK
KyAgICBXVEY6OlZlY3RvcjxMYXlvdXRVbml0PiBjaGlsZFNpemVzOworICAgIGZvciAoUmVuZGVy
Qm94KiBjaGlsZCA9IGl0ZXJhdG9yLmZpcnN0KCk7IGNoaWxkOyBjaGlsZCA9IGl0ZXJhdG9yLm5l
eHQoKSkgeworICAgICAgICBMYXlvdXRVbml0IGNoaWxkUHJlZmVycmVkU2l6ZTsKKyAgICAgICAg
aWYgKGluZmxleGlibGVJdGVtcy5jb250YWlucyhjaGlsZCkpCisgICAgICAgICAgICBjaGlsZFBy
ZWZlcnJlZFNpemUgPSBpbmZsZXhpYmxlSXRlbXMuZ2V0KGNoaWxkKTsKKyAgICAgICAgZWxzZSB7
CisgICAgICAgICAgICBjaGlsZFByZWZlcnJlZFNpemUgPSBwcmVmZXJyZWRGbGV4SXRlbUNvbnRl
bnRXaWR0aChjaGlsZCk7CisgICAgICAgICAgICBpZiAoYXZhaWxhYmxlRnJlZVNwYWNlID4gMCAm
JiB0b3RhbFBvc2l0aXZlRmxleGliaWxpdHkgPiAwKSB7CisgICAgICAgICAgICAgICAgY2hpbGRQ
cmVmZXJyZWRTaXplICs9IGxyb3VuZGYoYXZhaWxhYmxlRnJlZVNwYWNlICogY2hpbGQtPnN0eWxl
KCktPmZsZXhib3hXaWR0aFBvc2l0aXZlRmxleCgpIC8gdG90YWxQb3NpdGl2ZUZsZXhpYmlsaXR5
KTsKKworICAgICAgICAgICAgICAgIExlbmd0aCBjaGlsZE1heFdpZHRoID0gY2hpbGQtPnN0eWxl
KCktPm1heFdpZHRoKCk7CisgICAgICAgICAgICAgICAgaWYgKCFjaGlsZE1heFdpZHRoLmlzVW5k
ZWZpbmVkKCkgJiYgY2hpbGRNYXhXaWR0aC5pc1NwZWNpZmllZCgpICYmIGNoaWxkUHJlZmVycmVk
U2l6ZSA+IGNoaWxkTWF4V2lkdGguY2FsY1ZhbHVlKGZsZXhib3hBdmFpbGFibGVMb2dpY2FsV2lk
dGgpKSB7CisgICAgICAgICAgICAgICAgICAgIGNoaWxkUHJlZmVycmVkU2l6ZSA9IGNoaWxkTWF4
V2lkdGguY2FsY1ZhbHVlKGZsZXhib3hBdmFpbGFibGVMb2dpY2FsV2lkdGgpOworICAgICAgICAg
ICAgICAgICAgICBhdmFpbGFibGVGcmVlU3BhY2UgLT0gY2hpbGRQcmVmZXJyZWRTaXplIC0gcHJl
ZmVycmVkRmxleEl0ZW1Db250ZW50V2lkdGgoY2hpbGQpOworICAgICAgICAgICAgICAgICAgICB0
b3RhbFBvc2l0aXZlRmxleGliaWxpdHkgLT0gY2hpbGQtPnN0eWxlKCktPmZsZXhib3hXaWR0aFBv
c2l0aXZlRmxleCgpOworCisgICAgICAgICAgICAgICAgICAgIGluZmxleGlibGVJdGVtcy5zZXQo
Y2hpbGQsIGNoaWxkUHJlZmVycmVkU2l6ZSk7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9IGVsc2UgaWYgKGF2YWlsYWJs
ZUZyZWVTcGFjZSA8IDAgJiYgdG90YWxOZWdhdGl2ZUZsZXhpYmlsaXR5ID4gMCkgeworICAgICAg
ICAgICAgICAgIGNoaWxkUHJlZmVycmVkU2l6ZSArPSBscm91bmRmKGF2YWlsYWJsZUZyZWVTcGFj
ZSAqIGNoaWxkLT5zdHlsZSgpLT5mbGV4Ym94V2lkdGhOZWdhdGl2ZUZsZXgoKSAvIHRvdGFsTmVn
YXRpdmVGbGV4aWJpbGl0eSk7CisKKyAgICAgICAgICAgICAgICBMZW5ndGggY2hpbGRNaW5XaWR0
aCA9IGNoaWxkLT5zdHlsZSgpLT5taW5XaWR0aCgpOworICAgICAgICAgICAgICAgIGlmICghY2hp
bGRNaW5XaWR0aC5pc1VuZGVmaW5lZCgpICYmIGNoaWxkTWluV2lkdGguaXNTcGVjaWZpZWQoKSAm
JiBjaGlsZFByZWZlcnJlZFNpemUgPCBjaGlsZE1pbldpZHRoLmNhbGNWYWx1ZShmbGV4Ym94QXZh
aWxhYmxlTG9naWNhbFdpZHRoKSkgeworICAgICAgICAgICAgICAgICAgICBjaGlsZFByZWZlcnJl
ZFNpemUgPSBjaGlsZE1pbldpZHRoLmNhbGNWYWx1ZShmbGV4Ym94QXZhaWxhYmxlTG9naWNhbFdp
ZHRoKTsKKyAgICAgICAgICAgICAgICAgICAgYXZhaWxhYmxlRnJlZVNwYWNlICs9IHByZWZlcnJl
ZEZsZXhJdGVtQ29udGVudFdpZHRoKGNoaWxkKSAtIGNoaWxkUHJlZmVycmVkU2l6ZTsKKyAgICAg
ICAgICAgICAgICAgICAgdG90YWxOZWdhdGl2ZUZsZXhpYmlsaXR5IC09IGNoaWxkLT5zdHlsZSgp
LT5mbGV4Ym94V2lkdGhOZWdhdGl2ZUZsZXgoKTsKKworICAgICAgICAgICAgICAgICAgICBpbmZs
ZXhpYmxlSXRlbXMuc2V0KGNoaWxkLCBjaGlsZFByZWZlcnJlZFNpemUpOworICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQor
ICAgICAgICB9CisgICAgICAgIGNoaWxkU2l6ZXMuYXBwZW5kKGNoaWxkUHJlZmVycmVkU2l6ZSk7
CisgICAgfQorCisgICAgLy8gTm93IHRoYXQgd2Uga25vdyB0aGUgc2l6ZXMsIGxheW91dCBhbmQg
cG9zaXRpb24gdGhlIGZsZXggaXRlbXMuCisgICAgTGF5b3V0VW5pdCB4T2Zmc2V0ID0gYm9yZGVy
TGVmdCgpICsgcGFkZGluZ0xlZnQoKTsKKyAgICBMYXlvdXRVbml0IHlPZmZzZXQgPSBib3JkZXJU
b3AoKSArIHBhZGRpbmdUb3AoKTsKKyAgICBzZXRIZWlnaHQoMCk7CisgICAgc2l6ZV90IGkgPSAw
OworICAgIGZvciAoUmVuZGVyQm94KiBjaGlsZCA9IGl0ZXJhdG9yLmZpcnN0KCk7IGNoaWxkOyBj
aGlsZCA9IGl0ZXJhdG9yLm5leHQoKSwgKytpKSB7CisgICAgICAgIExheW91dFVuaXQgY2hpbGRQ
cmVmZXJyZWRTaXplID0gY2hpbGRTaXplc1tpXTsKKyAgICAgICAgY2hpbGRQcmVmZXJyZWRTaXpl
ICs9IGNoaWxkLT5ib3JkZXJMZWZ0KCkgKyBjaGlsZC0+Ym9yZGVyUmlnaHQoKSArIGNoaWxkLT5w
YWRkaW5nTGVmdCgpICsgY2hpbGQtPnBhZGRpbmdSaWdodCgpOworICAgICAgICAvLyBGSVhNRTog
SGFuZGxlIHZlcnRpY2FsIHdyaXRpbmcgbW9kZXMgd2l0aCBob3Jpem9udGFsIGZsZXhpbmcuCisg
ICAgICAgIGNoaWxkLT5zZXRPdmVycmlkZVNpemUoTGF5b3V0U2l6ZShjaGlsZFByZWZlcnJlZFNp
emUsIDApKTsKKyAgICAgICAgY2hpbGQtPnNldENoaWxkTmVlZHNMYXlvdXQodHJ1ZSk7CisgICAg
ICAgIGNoaWxkLT5sYXlvdXRJZk5lZWRlZCgpOworCisgICAgICAgIHNldEhlaWdodChzdGQ6Om1h
eChoZWlnaHQoKSwgYm9yZGVyVG9wKCkgKyBwYWRkaW5nVG9wKCkgKyBjaGlsZC0+bWFyZ2luVG9w
KCkgKyBjaGlsZC0+aGVpZ2h0KCkgKyBjaGlsZC0+bWFyZ2luQm90dG9tKCkgKyBwYWRkaW5nQm90
dG9tKCkgKyBib3JkZXJCb3R0b20oKSArIGhvcml6b250YWxTY3JvbGxiYXJIZWlnaHQoKSkpOwor
CisgICAgICAgIGlmIChjaGlsZC0+c3R5bGUoKS0+bWFyZ2luTGVmdCgpLmlzQXV0bygpKQorICAg
ICAgICAgICAgY2hpbGQtPnNldE1hcmdpbkxlZnQoYXZhaWxhYmxlRnJlZVNwYWNlID4gMCA/IGxy
b3VuZGYoYXZhaWxhYmxlRnJlZVNwYWNlIC8gdG90YWxQb3NpdGl2ZUZsZXhpYmlsaXR5KSA6IDAp
OworICAgICAgICBpZiAoY2hpbGQtPnN0eWxlKCktPm1hcmdpblJpZ2h0KCkuaXNBdXRvKCkpCisg
ICAgICAgICAgICBjaGlsZC0+c2V0TWFyZ2luUmlnaHQoYXZhaWxhYmxlRnJlZVNwYWNlID4gMCA/
IGxyb3VuZGYoYXZhaWxhYmxlRnJlZVNwYWNlIC8gdG90YWxQb3NpdGl2ZUZsZXhpYmlsaXR5KSA6
IDApOworCisgICAgICAgIHhPZmZzZXQgKz0gY2hpbGQtPm1hcmdpbkxlZnQoKTsKKyAgICAgICAg
Y2hpbGQtPnNldExvY2F0aW9uKEludFBvaW50KHhPZmZzZXQsIHlPZmZzZXQpKTsKKyAgICAgICAg
eE9mZnNldCArPSBjaGlsZC0+d2lkdGgoKSArIGNoaWxkLT5tYXJnaW5SaWdodCgpOworICAgIH0K
KyAgICByZXR1cm4gdHJ1ZTsKK30KKwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKENTUzNfRkxFWEJP
WCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJv
eC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmgKaW5kZXgg
OWZjZDQ4NDdjY2ZkMjIwMmI5ZDYwMjkxYjM2YjAyMGNhNTE3NDFiNC4uZmNmYjllYzNjMjUxM2Q5
M2MyMTNhMWYzNDBiZjI2ZGNkZDY2MmJmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckZsZXhpYmxlQm94LmgKQEAgLTUwLDEwICs1MCwxMiBAQCBwdWJsaWM6CiAKIHByaXZh
dGU6CiAgICAgY2xhc3MgRmxleGlibGVCb3hJdGVyYXRvcjsKKyAgICB0eXBlZGVmIFdURjo6SGFz
aE1hcDxjb25zdCBSZW5kZXJCb3gqLCBMYXlvdXRVbml0PiBJbmZsZXhpYmxlRmxleEl0ZW1TaXpl
OwogCiAgICAgdm9pZCBsYXlvdXRIb3Jpem9udGFsQmxvY2soYm9vbCByZWxheW91dENoaWxkcmVu
KTsKIAotICAgIHZvaWQgY29tcHV0ZVByZWZlcnJlZFNpemUoYm9vbCByZWxheW91dENoaWxkcmVu
LCBGbGV4aWJsZUJveEl0ZXJhdG9yJiwgTGF5b3V0VW5pdCYsIGZsb2F0JiB0b3RhbFBvc2l0aXZl
RmxleGliaWxpdHksIGZsb2F0JiB0b3RhbE5lZ2F0aXZlRmxleGliaWxpdHkpOworICAgIHZvaWQg
Y29tcHV0ZVByZWZlcnJlZFNpemVIb3Jpem9udGFsKGJvb2wgcmVsYXlvdXRDaGlsZHJlbiwgRmxl
eGlibGVCb3hJdGVyYXRvciYsIExheW91dFVuaXQmLCBmbG9hdCYgdG90YWxQb3NpdGl2ZUZsZXhp
YmlsaXR5LCBmbG9hdCYgdG90YWxOZWdhdGl2ZUZsZXhpYmlsaXR5KTsKKyAgICBib29sIHJ1bkZy
ZWVTcGFjZUFsbG9jYXRpb25BbGdvcml0aG1Ib3Jpem9udGFsKExheW91dFVuaXQmIGF2YWlsYWJs
ZUZyZWVTcGFjZSwgZmxvYXQmIHRvdGFsUG9zaXRpdmVGbGV4aWJpbGl0eSwgZmxvYXQmIHRvdGFs
TmVnYXRpdmVGbGV4aWJpbGl0eSwgSW5mbGV4aWJsZUZsZXhJdGVtU2l6ZSYpOwogfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>