<?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>6888</bug_id>
          
          <creation_ts>2006-01-28 05:11:11 -0800</creation_ts>
          <short_desc>Collapsed borders appear on the wrong side or on the wrong cell in RTL tables</short_desc>
          <delta_ts>2006-01-30 07:07:55 -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>Tables</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>VERIFIED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>HasReduction</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>6838</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter>mitz</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>30400</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2006-01-28 05:11:11 -0800</bug_when>
    <thetext>The border-collapsing code assumes that cell 0 is the leftmost and that the last cell is the rightmost, which is wrong for tables with RTL direction. As a result: the table&apos;s left border is applied to the left border of the rightmost side and vice versa, and a cell&apos;s left border is collapsed with the right border of the cell to its right, and vice versa.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>30402</commentid>
    <comment_count>1</comment_count>
      <attachid>6045</attachid>
    <who name="">mitz</who>
    <bug_when>2006-01-28 05:12:49 -0800</bug_when>
    <thetext>Created attachment 6045
Testcase

Firefox renders this correctly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>30412</commentid>
    <comment_count>2</comment_count>
      <attachid>6050</attachid>
    <who name="">mitz</who>
    <bug_when>2006-01-28 08:18:40 -0800</bug_when>
    <thetext>Created attachment 6050
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>30427</commentid>
    <comment_count>3</comment_count>
      <attachid>6050</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-01-28 16:53:14 -0800</bug_when>
    <thetext>Comment on attachment 6050
Proposed patch

I think it&apos;s a little inelegant to have that inLastColumn boolean and those &quot;rtl ? !inLastColumn : (col() &gt; 0)&quot; clauses. Instead, could we just compute an appropriate boolean up front? Something like &quot;righmostColumn&quot; or &quot;leftmostColumn&quot;?

Looks great to me. r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>30517</commentid>
    <comment_count>4</comment_count>
      <attachid>6072</attachid>
    <who name="">mitz</who>
    <bug_when>2006-01-29 08:19:15 -0800</bug_when>
    <thetext>Created attachment 6072
Updated patch

Replaced the inLastColumn booleans with leftmostColumn/rightmostColumn per Darin&apos;s suggestion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>30528</commentid>
    <comment_count>5</comment_count>
      <attachid>6072</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-01-29 08:52:27 -0800</bug_when>
    <thetext>Comment on attachment 6072
Updated patch

Looks great. I think it&apos;s ready to land, but I do have 2 more ideas to improve it. I&apos;ll probably just do these if I land it:

    1) cellPrevious and cellNext should be named cellBefore and cellAfter to match the names cellAbove and cellBelow
    2) code to compute leftmostColumn and rightmostColumn should have more closely-matching sides of the if, no need to use an if statement in the RTL case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>30627</commentid>
    <comment_count>6</comment_count>
    <who name="">mitz</who>
    <bug_when>2006-01-30 07:07:55 -0800</bug_when>
    <thetext>Verified in r12476 nightly</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>6045</attachid>
            <date>2006-01-28 05:12:49 -0800</date>
            <delta_ts>2006-01-28 05:12:49 -0800</delta_ts>
            <desc>Testcase</desc>
            <filename>RTL table borders.html</filename>
            <type>text/html</type>
            <size>777</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">VGhpczoKPHRhYmxlIHN0eWxlPSJkaXJlY3Rpb246cnRsOyBib3JkZXItY29sbGFwc2U6IGNvbGxh
cHNlOyBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCByZWQ7IGJvcmRlci1sZWZ0OiAycHggc29saWQg
Ymx1ZTsiPgo8dHI+CiAgICA8dGQ+NTwvdGQ+CiAgICA8dGQ+NDwvdGQ+CiAgICA8dGQ+MzwvdGQ+
CiAgICA8dGQ+MjwvdGQ+CiAgICA8dGQ+MTwvdGQ+CjwvdHI+Cjx0cj4KICAgIDx0ZCBzdHlsZT0i
Ym9yZGVyLWxlZnQ6IDZweCBzb2xpZCBncmVlbjsiPjU8L3RkPgogICAgPHRkPjQ8L3RkPgogICAg
PHRkPjM8L3RkPgogICAgPHRkPjI8L3RkPgogICAgPHRkIHN0eWxlPSJib3JkZXItbGVmdDogNHB4
IHNvbGlkIG9yYW5nZTsiPjE8L3RkPgo8L3RyPgo8L3RhYmxlPgpTaG91bGQgbG9vayBsaWtlIHRo
aXM6Cjx0YWJsZSBzdHlsZT0iZGlyZWN0aW9uOmx0cjsgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBz
ZTsgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgcmVkOyBib3JkZXItbGVmdDogMnB4IHNvbGlkIGJs
dWU7Ij4KPHRyPgogICAgPHRkPjE8L3RkPgogICAgPHRkPjI8L3RkPgogICAgPHRkPjM8L3RkPgog
ICAgPHRkPjQ8L3RkPgogICAgPHRkPjU8L3RkPgo8L3RyPgo8dHI+CiAgICA8dGQgc3R5bGU9ImJv
cmRlci1sZWZ0OiA0cHggc29saWQgb3JhbmdlOyI+MTwvdGQ+CiAgICA8dGQ+MjwvdGQ+CiAgICA8
dGQ+MzwvdGQ+CiAgICA8dGQ+NDwvdGQ+CiAgICA8dGQgc3R5bGU9ImJvcmRlci1sZWZ0OiA2cHgg
c29saWQgZ3JlZW47Ij41PC90ZD4KPC90cj4KPC90YWJsZT4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>6050</attachid>
            <date>2006-01-28 08:18:40 -0800</date>
            <delta_ts>2006-01-29 08:19:15 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>6888_r1.patch</filename>
            <type>text/plain</type>
            <size>22572</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDEyNDI3KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMDYtIyMtIyMgIE1pdHogUGV0dGVsICA8b3Bl
bmRhcndpbi5vcmdAbWl0enBldHRlbC5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgLSB0ZXN0IGZvciBodHRwOi8vYnVnemlsbGEub3BlbmRhcndp
bi5vcmcvc2hvd19idWcuY2dpP2lkPTY4ODgKKyAgICAgICAgICBDb2xsYXBzZWQgYm9yZGVycyBh
cHBlYXIgb24gdGhlIHdyb25nIHNpZGUgb3Igb24gdGhlIHdyb25nIGNlbGwgaW4gUlRMIHRhYmxl
cworCisgICAgICAgICogZmFzdC90YWJsZS9ib3JkZXItY29sbGFwc2luZy9ydGwtYm9yZGVyLWNv
bGxhcHNpbmctZXhwZWN0ZWQuY2hlY2tzdW06IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGFibGUv
Ym9yZGVyLWNvbGxhcHNpbmcvcnRsLWJvcmRlci1jb2xsYXBzaW5nLWV4cGVjdGVkLnBuZzogQWRk
ZWQuCisgICAgICAgICogZmFzdC90YWJsZS9ib3JkZXItY29sbGFwc2luZy9ydGwtYm9yZGVyLWNv
bGxhcHNpbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RhYmxlL2JvcmRl
ci1jb2xsYXBzaW5nL3J0bC1ib3JkZXItY29sbGFwc2luZy5odG1sOiBBZGRlZC4KKwogMjAwNi0w
MS0yOCAgQWxleGFuZGVyIEtlbGxldHQgIDxseXBhbm92QGtkZS5vcmc+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgZXNlaWRlbC4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvdGFibGUvYm9yZGVyLWNv
bGxhcHNpbmcvcnRsLWJvcmRlci1jb2xsYXBzaW5nLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L3RhYmxlL2JvcmRlci1jb2xsYXBzaW5nL3J0bC1ib3JkZXItY29s
bGFwc2luZy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3Rh
YmxlL2JvcmRlci1jb2xsYXBzaW5nL3J0bC1ib3JkZXItY29sbGFwc2luZy1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTAzIEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKKyAgUmVuZGVyQ2FudmFzIGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
KyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAgICAgIFJlbmRl
ckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDc4NHgzNgorICAgICAgICBSZW5kZXJUZXh0IHtURVhU
fSBhdCAoMCwwKSBzaXplIDIxMngxOAorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRo
IDIxMjogIlRoaXMgdGVzdHMgZm9yIGEgcmVncmVzc2lvbiBhZ2FpbnN0ICIKKyAgICAgICAgUmVu
ZGVySW5saW5lIHtJfSBhdCAoMCwwKSBzaXplIDc3M3gzNgorICAgICAgICAgIFJlbmRlcklubGlu
ZSB7QX0gYXQgKDAsMCkgc2l6ZSAzNDh4MTggW2NvbG9yPSMwMDAwRUVdCisgICAgICAgICAgICBS
ZW5kZXJUZXh0IHtURVhUfSBhdCAoMjEyLDApIHNpemUgMzQ4eDE4CisgICAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgyMTIsMCkgd2lkdGggMzQ4OiAiaHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4u
b3JnL3Nob3dfYnVnLmNnaT9pZD02ODg4IgorICAgICAgICAgIFJlbmRlclRleHQge1RFWFR9IGF0
ICg1NjAsMCkgc2l6ZSA3NzN4MzYKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICg1NjAsMCkgd2lk
dGggMjEzOiAiIENvbGxhcHNlZCBib3JkZXJzIGFwcGVhciBvbiB0aGUiCisgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMCwxOCkgd2lkdGggMjkxOiAid3Jvbmcgc2lkZSBvciBvbiB0aGUgd3Jvbmcg
Y2VsbCBpbiBSVEwgdGFibGVzIgorICAgICAgICBSZW5kZXJUZXh0IHtURVhUfSBhdCAoMjkxLDE4
KSBzaXplIDR4MTgKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjkxLDE4KSB3aWR0aCA0OiAiLiIK
KyAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCw1Mikgc2l6ZSA3ODR4MTgKKyAgICAgICAgUmVu
ZGVyVGV4dCB7VEVYVH0gYXQgKDAsMCkgc2l6ZSAzNjh4MTgKKyAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMCwwKSB3aWR0aCAzNjg6ICJUaGUgUlRMIHRhYmxlIHNob3VsZCBiZSBhIG1pcnJvciBpbWFn
ZSBvZiB0aGUgTFRSIHRhYmxlLiIKKyAgICAgIFJlbmRlckJsb2NrIHtIUn0gYXQgKDAsODYpIHNp
emUgNzg0eDIgW2JvcmRlcjogKDFweCBpbnNldCAjMDAwMDAwKV0KKyAgICAgIFJlbmRlclRhYmxl
IHtUQUJMRX0gYXQgKDAsOTYpIHNpemUgMTI5eDc0CisgICAgICAgIFJlbmRlclRhYmxlU2VjdGlv
biB7VEJPRFl9IGF0ICgwLDApIHNpemUgMHg3NAorICAgICAgICAgIFJlbmRlclRhYmxlUm93IHtU
Un0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0
ICgwLDApIHNpemUgNjV4MjYgW2JvcmRlcjogbm9uZSAoMXB4IHNvbGlkICMwMDAwMDApIG5vbmVd
IFtyPTAgYz0wIHJzPTEgY3M9MV0KKyAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7VEVYVH0gYXQg
KDE2LDQpIHNpemUgMzF4MTgKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTYsNCkgd2lk
dGggMzE6ICJSVEwiCisgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoNjUsMCkg
c2l6ZSA2NHgyNiBbcj0wIGM9MSBycz0xIGNzPTFdCisgICAgICAgICAgICAgIFJlbmRlclRleHQg
e1RFWFR9IGF0ICgxNiw0KSBzaXplIDMxeDE4CisgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDE2LDQpIHdpZHRoIDMxOiAiTFRSIgorICAgICAgICAgIFJlbmRlclRhYmxlUm93IHtUUn0gYXQg
KDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgwLDI2
KSBzaXplIDY1eDQ4IFtib3JkZXI6IG5vbmUgKDFweCBzb2xpZCAjMDAwMDAwKSBub25lXSBbcj0x
IGM9MCBycz0xIGNzPTFdCisgICAgICAgICAgICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDQs
NCkgc2l6ZSA1Nng0MAorICAgICAgICAgICAgICAgIFJlbmRlclRhYmxlQ29sIHtDT0x9IGF0ICgw
LDApIHNpemUgMHgwCisgICAgICAgICAgICAgICAgUmVuZGVyVGFibGVDb2wge0NPTH0gYXQgKDAs
MCkgc2l6ZSAweDAKKyAgICAgICAgICAgICAgICBSZW5kZXJUYWJsZUNvbCB7Q09MfSBhdCAoMCww
KSBzaXplIDB4MCBbYmdjb2xvcj0jRkZGRjAwXSBbYm9yZGVyOiAoMnB4IGRvdHRlZCAjMDA4MDAw
KSBub25lICgxcHggc29saWQgIzAwMDAwMCldCisgICAgICAgICAgICAgICAgUmVuZGVyVGFibGVD
b2wge0NPTH0gYXQgKDAsMCkgc2l6ZSAweDAgW2JnY29sb3I9I0MwQzBDMF0KKyAgICAgICAgICAg
ICAgICBSZW5kZXJUYWJsZVNlY3Rpb24ge1RCT0RZfSBhdCAoMCwwKSBzaXplIDB4NDAKKyAgICAg
ICAgICAgICAgICAgIFJlbmRlclRhYmxlUm93IHtUUn0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAg
ICAgICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDQ0LDApIHNpemUgMTJ4MjAg
W2JvcmRlcjogbm9uZV0gW3I9MCBjPTAgcnM9MSBjcz0xXQorICAgICAgICAgICAgICAgICAgICAg
IFJlbmRlclRleHQge1RFWFR9IGF0ICgyLDEpIHNpemUgOHgxOAorICAgICAgICAgICAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDIsMSkgd2lkdGggOCBSVEw6ICIgICIKKyAgICAgICAgICAgICAg
ICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDMzLDApIHNpemUgMTF4MjAgW2JvcmRlcjog
bm9uZV0gW3I9MCBjPTEgcnM9MSBjcz0xXQorICAgICAgICAgICAgICAgICAgICAgIFJlbmRlclRl
eHQge1RFWFR9IGF0ICgyLDEpIHNpemUgOHgxOAorICAgICAgICAgICAgICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDIsMSkgd2lkdGggOCBSVEw6ICIgICIKKyAgICAgICAgICAgICAgICAgICAgUmVu
ZGVyVGFibGVDZWxsIHtURH0gYXQgKDExLDApIHNpemUgMjJ4MjAgW2JvcmRlcjogbm9uZV0gW3I9
MCBjPTIgcnM9MSBjcz0yXQorICAgICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQge1RFWFR9
IGF0ICgxMiwxKSBzaXplIDh4MTgKKyAgICAgICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgxMiwxKSB3aWR0aCA4IFJUTDogIiAgIgorICAgICAgICAgICAgICAgICAgICBSZW5kZXJUYWJs
ZUNlbGwge1REfSBhdCAoMCwwKSBzaXplIDExeDIwIFtib3JkZXI6IG5vbmVdIFtyPTAgYz00IHJz
PTEgY3M9MV0KKyAgICAgICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHtURVhUfSBhdCAoMiwx
KSBzaXplIDh4MTgKKyAgICAgICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyLDEpIHdp
ZHRoIDggUlRMOiAiICAiCisgICAgICAgICAgICAgICAgICBSZW5kZXJUYWJsZVJvdyB7VFJ9IGF0
ICgwLDApIHNpemUgMHgwCisgICAgICAgICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9
IGF0ICg0NCwyMCkgc2l6ZSAxMngyMCBbYm9yZGVyOiBub25lICgycHggc29saWQgIzgwMDAwMCkg
bm9uZV0gW3I9MSBjPTAgcnM9MSBjcz0xXQorICAgICAgICAgICAgICAgICAgICAgIFJlbmRlclRl
eHQge1RFWFR9IGF0ICgxLDEpIHNpemUgOHgxOAorICAgICAgICAgICAgICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDEsMSkgd2lkdGggOCBSVEw6ICIgICIKKyAgICAgICAgICAgICAgICAgICAgUmVu
ZGVyVGFibGVDZWxsIHtURH0gYXQgKDMzLDIwKSBzaXplIDExeDIwIFtib3JkZXI6IG5vbmVdIFty
PTEgYz0xIHJzPTEgY3M9MV0KKyAgICAgICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHtURVhU
fSBhdCAoMiwxKSBzaXplIDh4MTgKKyAgICAgICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgyLDEpIHdpZHRoIDggUlRMOiAiICAiCisgICAgICAgICAgICAgICAgICAgIFJlbmRlclRhYmxl
Q2VsbCB7VER9IGF0ICgyMSwyMCkgc2l6ZSAxMngyMCBbYm9yZGVyOiBub25lXSBbcj0xIGM9MiBy
cz0xIGNzPTFdCisgICAgICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7VEVYVH0gYXQgKDIs
MSkgc2l6ZSA4eDE4CisgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMiwxKSB3
aWR0aCA4IFJUTDogIiAgIgorICAgICAgICAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1RE
fSBhdCAoMTEsMjApIHNpemUgMTB4MjAgW3I9MSBjPTMgcnM9MSBjcz0xXQorICAgICAgICAgICAg
ICAgICAgICAgIFJlbmRlclRleHQge1RFWFR9IGF0ICgxLDEpIHNpemUgOHgxOAorICAgICAgICAg
ICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEsMSkgd2lkdGggOCBSVEw6ICIgICIKKyAgICAg
ICAgICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDAsMjApIHNpemUgMTF4MjAg
W2JvcmRlcjogbm9uZV0gW3I9MSBjPTQgcnM9MSBjcz0xXQorICAgICAgICAgICAgICAgICAgICAg
IFJlbmRlclRleHQge1RFWFR9IGF0ICgyLDEpIHNpemUgOHgxOAorICAgICAgICAgICAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDIsMSkgd2lkdGggOCBSVEw6ICIgICIKKyAgICAgICAgICAgIFJl
bmRlclRhYmxlQ2VsbCB7VER9IGF0ICg2NSwyNikgc2l6ZSA2NHg0OCBbcj0xIGM9MSBycz0xIGNz
PTFdCisgICAgICAgICAgICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDQsNCkgc2l6ZSA1Nng0
MAorICAgICAgICAgICAgICAgIFJlbmRlclRhYmxlQ29sIHtDT0x9IGF0ICgwLDApIHNpemUgMHgw
CisgICAgICAgICAgICAgICAgUmVuZGVyVGFibGVDb2wge0NPTH0gYXQgKDAsMCkgc2l6ZSAweDAK
KyAgICAgICAgICAgICAgICBSZW5kZXJUYWJsZUNvbCB7Q09MfSBhdCAoMCwwKSBzaXplIDB4MCBb
Ymdjb2xvcj0jRkZGRjAwXSBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApIG5vbmUgKDJweCBk
b3R0ZWQgIzAwODAwMCldCisgICAgICAgICAgICAgICAgUmVuZGVyVGFibGVDb2wge0NPTH0gYXQg
KDAsMCkgc2l6ZSAweDAgW2JnY29sb3I9I0MwQzBDMF0KKyAgICAgICAgICAgICAgICBSZW5kZXJU
YWJsZVNlY3Rpb24ge1RCT0RZfSBhdCAoMCwwKSBzaXplIDB4NDAKKyAgICAgICAgICAgICAgICAg
IFJlbmRlclRhYmxlUm93IHtUUn0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICAgICAgICAg
ICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDAsMCkgc2l6ZSAxMngyMCBbYm9yZGVyOiBub25l
XSBbcj0wIGM9MCBycz0xIGNzPTFdCisgICAgICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7
VEVYVH0gYXQgKDIsMSkgc2l6ZSA4eDE4CisgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMiwxKSB3aWR0aCA4OiAiICAiCisgICAgICAgICAgICAgICAgICAgIFJlbmRlclRhYmxl
Q2VsbCB7VER9IGF0ICgxMiwwKSBzaXplIDExeDIwIFtib3JkZXI6IG5vbmVdIFtyPTAgYz0xIHJz
PTEgY3M9MV0KKyAgICAgICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHtURVhUfSBhdCAoMSwx
KSBzaXplIDh4MTgKKyAgICAgICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxLDEpIHdp
ZHRoIDg6ICIgICIKKyAgICAgICAgICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQg
KDIzLDApIHNpemUgMjJ4MjAgW2JvcmRlcjogbm9uZV0gW3I9MCBjPTIgcnM9MSBjcz0yXQorICAg
ICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQge1RFWFR9IGF0ICgyLDEpIHNpemUgOHgxOAor
ICAgICAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDIsMSkgd2lkdGggODogIiAgIgor
ICAgICAgICAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoNDUsMCkgc2l6ZSAx
MXgyMCBbYm9yZGVyOiBub25lXSBbcj0wIGM9NCBycz0xIGNzPTFdCisgICAgICAgICAgICAgICAg
ICAgICAgUmVuZGVyVGV4dCB7VEVYVH0gYXQgKDEsMSkgc2l6ZSA4eDE4CisgICAgICAgICAgICAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCA4OiAiICAiCisgICAgICAgICAgICAg
ICAgICBSZW5kZXJUYWJsZVJvdyB7VFJ9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgICAgICAg
ICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgwLDIwKSBzaXplIDEyeDIwIFtib3JkZXI6
IG5vbmUgKDJweCBzb2xpZCAjODAwMDAwKV0gW3I9MSBjPTAgcnM9MSBjcz0xXQorICAgICAgICAg
ICAgICAgICAgICAgIFJlbmRlclRleHQge1RFWFR9IGF0ICgzLDEpIHNpemUgOHgxOAorICAgICAg
ICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDMsMSkgd2lkdGggODogIiAgIgorICAgICAg
ICAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMTIsMjApIHNpemUgMTF4MjAg
W2JvcmRlcjogbm9uZV0gW3I9MSBjPTEgcnM9MSBjcz0xXQorICAgICAgICAgICAgICAgICAgICAg
IFJlbmRlclRleHQge1RFWFR9IGF0ICgxLDEpIHNpemUgOHgxOAorICAgICAgICAgICAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDEsMSkgd2lkdGggODogIiAgIgorICAgICAgICAgICAgICAgICAg
ICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMjMsMjApIHNpemUgMTF4MjAgW2JvcmRlcjogbm9u
ZV0gW3I9MSBjPTIgcnM9MSBjcz0xXQorICAgICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQg
e1RFWFR9IGF0ICgyLDEpIHNpemUgOHgxOAorICAgICAgICAgICAgICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDIsMSkgd2lkdGggODogIiAgIgorICAgICAgICAgICAgICAgICAgICBSZW5kZXJUYWJs
ZUNlbGwge1REfSBhdCAoMzQsMjApIHNpemUgMTF4MjAgW2JvcmRlcjogbm9uZV0gW3I9MSBjPTMg
cnM9MSBjcz0xXQorICAgICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQge1RFWFR9IGF0ICgy
LDEpIHNpemUgOHgxOAorICAgICAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDIsMSkg
d2lkdGggODogIiAgIgorICAgICAgICAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBh
dCAoNDUsMjApIHNpemUgMTF4MjAgW2JvcmRlcjogbm9uZV0gW3I9MSBjPTQgcnM9MSBjcz0xXQor
ICAgICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQge1RFWFR9IGF0ICgxLDEpIHNpemUgOHgx
OAorICAgICAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEsMSkgd2lkdGggODogIiAg
IgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9ib3JkZXItY29sbGFwc2luZy9ydGwtYm9y
ZGVyLWNvbGxhcHNpbmctZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZp
bGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9v
Y3RldC1zdHJlYW0KClByb3BlcnR5IGNoYW5nZXMgb246IHJ0bC1ib3JkZXItY29sbGFwc2luZy1l
eHBlY3RlZC5wbmcKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpOYW1lOiBzdm46bWltZS10eXBlCiAgICsgYXBwbGljYXRp
b24vb2N0ZXQtc3RyZWFtCgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9ib3JkZXItY29s
bGFwc2luZy9ydGwtYm9yZGVyLWNvbGxhcHNpbmctZXhwZWN0ZWQuY2hlY2tzdW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9ib3JkZXItY29sbGFwc2luZy9ydGwtYm9yZGVy
LWNvbGxhcHNpbmctZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0
cy9mYXN0L3RhYmxlL2JvcmRlci1jb2xsYXBzaW5nL3J0bC1ib3JkZXItY29sbGFwc2luZy1leHBl
Y3RlZC5jaGVja3N1bQkocmV2aXNpb24gMCkKQEAgLTAsMCArMSBAQAorMWEzY2VlMDQxNjY2YzMw
YWYyNjkxNThhM2M1YmMxNWUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlv
dXRUZXN0cy9mYXN0L3RhYmxlL2JvcmRlci1jb2xsYXBzaW5nL3J0bC1ib3JkZXItY29sbGFwc2lu
Zy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvdGFibGUvYm9yZGVyLWNvbGxh
cHNpbmcvcnRsLWJvcmRlci1jb2xsYXBzaW5nLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L3RhYmxlL2JvcmRlci1jb2xsYXBzaW5nL3J0bC1ib3JkZXItY29sbGFwc2luZy5o
dG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDU5IEBACis8cD4KK1RoaXMgdGVzdHMgZm9yIGEg
cmVncmVzc2lvbiBhZ2FpbnN0Cis8aT48YSBocmVmPSJodHRwOi8vYnVnemlsbGEub3BlbmRhcndp
bi5vcmcvc2hvd19idWcuY2dpP2lkPTY4ODgiPmh0dHA6Ly9idWd6aWxsYS5vcGVuZGFyd2luLm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9Njg4ODwvYT4KK0NvbGxhcHNlZCBib3JkZXJzIGFwcGVhciBvbiB0
aGUgd3Jvbmcgc2lkZSBvciBvbiB0aGUgd3JvbmcgY2VsbCBpbiBSVEwgdGFibGVzPC9pPi4KKzwv
cD4KKzxwPgorVGhlIFJUTCB0YWJsZSBzaG91bGQgYmUgYSBtaXJyb3IgaW1hZ2Ugb2YgdGhlIExU
UiB0YWJsZS4KKzwvcD4KKzxocj4KKzx0YWJsZSBjZWxscGFkZGluZz0iNCIgY2VsbHNwYWNpbmc9
IjAiIHN0eWxlPSJ0ZXh0LWFsaWduOiAta2h0bWwtY2VudGVyOyI+Cis8dHI+Cis8dGQgc3R5bGU9
ImJvcmRlci1yaWdodDogMXB4IHNvbGlkIGJsYWNrOyI+UlRMPC90ZD4KKzx0ZD5MVFI8L3RkPgor
PC90cj4KKzx0cj4KKzx0ZCBzdHlsZT0iYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgYmxhY2s7Ij4K
KyAgICA8dGFibGUgc3R5bGU9ImRpcmVjdGlvbjpydGw7IGJvcmRlci1jb2xsYXBzZTogY29sbGFw
c2U7IGJvcmRlci1sZWZ0OiAycHggc29saWQgcmVkOyBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCBi
bHVlOyI+CisgICAgICAgIDxjb2w+CisgICAgICAgIDxjb2w+CisgICAgICAgIDxjb2wgc3R5bGU9
ImJhY2tncm91bmQ6IHllbGxvdzsgYm9yZGVyLXJpZ2h0OiAycHggZ3JlZW4gZG90dGVkOyBib3Jk
ZXItbGVmdDogc29saWQgMXB4OyI+CisgICAgICAgIDxjb2wgc3R5bGU9ImJhY2tncm91bmQ6IHNp
bHZlcjsiPgorICAgICAgICA8dHI+CisgICAgICAgICAgICA8dGQ+Jm5ic3A7Jm5ic3A7PC90ZD4K
KyAgICAgICAgICAgIDx0ZD4mbmJzcDsmbmJzcDs8L3RkPgorICAgICAgICAgICAgPHRkIGNvbHNw
YW49IjIiIHN0eWxlPSIiPiZuYnNwOyZuYnNwOzwvdGQ+CisgICAgICAgICAgICA8dGQ+Jm5ic3A7
Jm5ic3A7PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgICAgPHRk
IHN0eWxlPSJib3JkZXItcmlnaHQ6IDRweCBzb2xpZCBtYXJvb247Ij4mbmJzcDsmbmJzcDs8L3Rk
PgorICAgICAgICAgICAgPHRkPiZuYnNwOyZuYnNwOzwvdGQ+CisgICAgICAgICAgICA8dGQ+Jm5i
c3A7Jm5ic3A7PC90ZD4KKyAgICAgICAgICAgIDx0ZD4mbmJzcDsmbmJzcDs8L3RkPgorICAgICAg
ICAgICAgPHRkPiZuYnNwOyZuYnNwOzwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgPC90YWJsZT4K
KzwvdGQ+Cis8dGQ+ICAgIAorICAgIDx0YWJsZSBzdHlsZT0iZGlyZWN0aW9uOmx0cjsgYm9yZGVy
LWNvbGxhcHNlOiBjb2xsYXBzZTsgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgcmVkOyBib3JkZXIt
bGVmdDogMnB4IHNvbGlkIGJsdWU7Ij4KKyAgICAgICAgPGNvbD4KKyAgICAgICAgPGNvbD4KKyAg
ICAgICAgPGNvbCBzdHlsZT0iYmFja2dyb3VuZDogeWVsbG93OyBib3JkZXItbGVmdDogMnB4IGdy
ZWVuIGRvdHRlZDsgYm9yZGVyLXJpZ2h0OiBzb2xpZCAxcHg7Ij4KKyAgICAgICAgPGNvbCBzdHls
ZT0iYmFja2dyb3VuZDogc2lsdmVyOyI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICAgIDx0ZD4m
bmJzcDsmbmJzcDs8L3RkPgorICAgICAgICAgICAgPHRkPiZuYnNwOyZuYnNwOzwvdGQ+CisgICAg
ICAgICAgICA8dGQgY29sc3Bhbj0iMiIgc3R5bGU9IiI+Jm5ic3A7Jm5ic3A7PC90ZD4KKyAgICAg
ICAgICAgIDx0ZD4mbmJzcDsmbmJzcDs8L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+
CisgICAgICAgICAgICA8dGQgc3R5bGU9ImJvcmRlci1sZWZ0OiA0cHggc29saWQgbWFyb29uOyI+
Jm5ic3A7Jm5ic3A7PC90ZD4KKyAgICAgICAgICAgIDx0ZD4mbmJzcDsmbmJzcDs8L3RkPgorICAg
ICAgICAgICAgPHRkPiZuYnNwOyZuYnNwOzwvdGQ+CisgICAgICAgICAgICA8dGQ+Jm5ic3A7Jm5i
c3A7PC90ZD4KKyAgICAgICAgICAgIDx0ZD4mbmJzcDsmbmJzcDs8L3RkPgorICAgICAgICA8L3Ry
PgorICAgIDwvdGFibGU+Cis8L3RkPgorPC90cj4KKzwvdGFibGU+CkluZGV4OiBXZWJDb3JlL0No
YW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTI0Mjcp
CisrKyBXZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisy
MDA2LSMjLSMjICBNaXR6IFBldHRlbCAgPG9wZW5kYXJ3aW4ub3JnQG1pdHpwZXR0ZWwuY29tPgor
CisgICAgICAgIFRlc3Q6IGZhc3QvdGFibGUvYm9yZGVyLWNvbGxhcHNpbmcvcnRsLWJvcmRlci1j
b2xsYXBzaW5nLmh0bWwKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAtIGZpeCBodHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5vcmcvc2hvd19idWcuY2dp
P2lkPTY4ODgKKyAgICAgICAgICBDb2xsYXBzZWQgYm9yZGVycyBhcHBlYXIgb24gdGhlIHdyb25n
IHNpZGUgb3Igb24gdGhlIHdyb25nIGNlbGwgaW4gUlRMIHRhYmxlcworCisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlclRhYmxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRhYmxlOjpj
ZWxsUHJldmlvdXMpOiBSZW5hbWVkIGNlbGxMZWZ0IHRvIHRoaXMuCisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJUYWJsZTo6Y2VsbE5leHQpOiBSZW5hbWVkIGNlbGxSaWdodCB0byB0aGlzLgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZS5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJUYWJsZUNlbGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGFibGVDZWxsOjpjb2xs
YXBzZWRMZWZ0Qm9yZGVyKTogQWRkZWQgdGhlIFJUTCBjYXNlLgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyVGFibGVDZWxsOjpjb2xsYXBzZWRSaWdodEJvcmRlcik6IERpdHRvLgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyVGFibGVDZWxsOjpib3JkZXJMZWZ0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRhYmxlQ2VsbDo6Ym9yZGVyUmlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
VGFibGVDZWxsOjpjb2xsZWN0Qm9yZGVycyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJs
ZUNlbGw6OnBhaW50Q29sbGFwc2VkQm9yZGVyKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
VGFibGVDZWxsLmg6CisKIDIwMDYtMDEtMjggIEFsZXhhbmRlciBLZWxsZXR0ICA8bHlwYW5vdkBr
ZGUub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IGVzZWlkZWwuCkluZGV4OiBXZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUYWJsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGFibGUuY3BwCShyZXZpc2lvbiAxMjQyNykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRhYmxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzM2LDcgKzczNiw3IEBAIFJlbmRlclRh
YmxlQ2VsbCogUmVuZGVyVGFibGU6OmNlbGxCZWxvdygKICAgICAgICAgcmV0dXJuIDA7CiB9CiAK
LVJlbmRlclRhYmxlQ2VsbCogUmVuZGVyVGFibGU6OmNlbGxMZWZ0KGNvbnN0IFJlbmRlclRhYmxl
Q2VsbCogY2VsbCkgY29uc3QKK1JlbmRlclRhYmxlQ2VsbCogUmVuZGVyVGFibGU6OmNlbGxQcmV2
aW91cyhjb25zdCBSZW5kZXJUYWJsZUNlbGwqIGNlbGwpIGNvbnN0CiB7CiAgICAgUmVuZGVyVGFi
bGVTZWN0aW9uKiBzZWN0aW9uID0gY2VsbC0+c2VjdGlvbigpOwogICAgIGludCBlZmZDb2wgPSBj
b2xUb0VmZkNvbChjZWxsLT5jb2woKSk7CkBAIC03NTIsNyArODMzLDcgQEAgUmVuZGVyVGFibGVD
ZWxsKiBSZW5kZXJUYWJsZTo6Y2VsbExlZnQoYwogICAgIHJldHVybiBwcmV2Q2VsbC5jZWxsOwog
fQogCi1SZW5kZXJUYWJsZUNlbGwqIFJlbmRlclRhYmxlOjpjZWxsUmlnaHQoY29uc3QgUmVuZGVy
VGFibGVDZWxsKiBjZWxsKSBjb25zdAorUmVuZGVyVGFibGVDZWxsKiBSZW5kZXJUYWJsZTo6Y2Vs
bE5leHQoY29uc3QgUmVuZGVyVGFibGVDZWxsKiBjZWxsKSBjb25zdAogewogICAgIGludCBlZmZD
b2wgPSBjb2xUb0VmZkNvbChjZWxsLT5jb2woKSArIGNlbGwtPmNvbFNwYW4oKSk7CiAgICAgaWYg
KGVmZkNvbCA+PSBudW1FZmZDb2xzKCkpCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
YWJsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmgJKHJl
dmlzaW9uIDEyNDI3KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMTUzLDggKzE1Myw4IEBAIHB1YmxpYzoKIAogICAgIFJlbmRlclRhYmxlQ2Vs
bCogY2VsbEFib3ZlKGNvbnN0IFJlbmRlclRhYmxlQ2VsbCogY2VsbCkgY29uc3Q7CiAgICAgUmVu
ZGVyVGFibGVDZWxsKiBjZWxsQmVsb3coY29uc3QgUmVuZGVyVGFibGVDZWxsKiBjZWxsKSBjb25z
dDsKLSAgICBSZW5kZXJUYWJsZUNlbGwqIGNlbGxMZWZ0KGNvbnN0IFJlbmRlclRhYmxlQ2VsbCog
Y2VsbCkgY29uc3Q7Ci0gICAgUmVuZGVyVGFibGVDZWxsKiBjZWxsUmlnaHQoY29uc3QgUmVuZGVy
VGFibGVDZWxsKiBjZWxsKSBjb25zdDsKKyAgICBSZW5kZXJUYWJsZUNlbGwqIGNlbGxQcmV2aW91
cyhjb25zdCBSZW5kZXJUYWJsZUNlbGwqIGNlbGwpIGNvbnN0OworICAgIFJlbmRlclRhYmxlQ2Vs
bCogY2VsbE5leHQoY29uc3QgUmVuZGVyVGFibGVDZWxsKiBjZWxsKSBjb25zdDsKICAKICAgICBD
b2xsYXBzZWRCb3JkZXJWYWx1ZSogY3VycmVudEJvcmRlclN0eWxlKCkgeyByZXR1cm4gbV9jdXJy
ZW50Qm9yZGVyOyB9CiAgICAgCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNl
bGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5j
cHAJKHJldmlzaW9uIDEyNDI3KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxs
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjEzLDIwICsyMTMsMjggQEAgc3RhdGljIENvbGxhcHNl
ZEJvcmRlclZhbHVlIGNvbXBhcmVCb3JkZQogICAgIHJldHVybiBib3JkZXIxLnByZWNlZGVuY2Ug
Pj0gYm9yZGVyMi5wcmVjZWRlbmNlID8gYm9yZGVyMSA6IGJvcmRlcjI7CiB9CiAKLUNvbGxhcHNl
ZEJvcmRlclZhbHVlIFJlbmRlclRhYmxlQ2VsbDo6Y29sbGFwc2VkTGVmdEJvcmRlcigpIGNvbnN0
CitDb2xsYXBzZWRCb3JkZXJWYWx1ZSBSZW5kZXJUYWJsZUNlbGw6OmNvbGxhcHNlZExlZnRCb3Jk
ZXIoYm9vbCBydGwpIGNvbnN0CiB7CisgICAgUmVuZGVyVGFibGUqIHRhYmxlRWx0ID0gdGFibGUo
KTsKKyAgICBib29sIGluTGFzdENvbHVtbiA9IGZhbHNlOworICAgIGlmIChydGwpIHsKKyAgICAg
ICAgaW50IGVmZkNvbCA9IHRhYmxlRWx0LT5jb2xUb0VmZkNvbChjb2woKSArIGNvbFNwYW4oKSAt
IDEpOworICAgICAgICBpZiAoZWZmQ29sID09IHRhYmxlRWx0LT5udW1FZmZDb2xzKCkgLSAxKQor
ICAgICAgICAgICAgaW5MYXN0Q29sdW1uID0gdHJ1ZTsKKyAgICB9CisgICAgCiAgICAgLy8gRm9y
IGJvcmRlciBsZWZ0LCB3ZSBuZWVkIHRvIGNoZWNrLCBpbiBvcmRlciBvZiBwcmVjZWRlbmNlOgog
ICAgIC8vICgxKSBPdXIgbGVmdCBib3JkZXIuCiAgICAgQ29sbGFwc2VkQm9yZGVyVmFsdWUgcmVz
dWx0KCZzdHlsZSgpLT5ib3JkZXJMZWZ0KCksIEJDRUxMKTsKICAgICAKLSAgICAvLyAoMikgVGhl
IHByZXZpb3VzIGNlbGwncyByaWdodCBib3JkZXIuCi0gICAgUmVuZGVyVGFibGVDZWxsKiBwcmV2
Q2VsbCA9IHRhYmxlKCktPmNlbGxMZWZ0KHRoaXMpOworICAgIC8vICgyKSBUaGUgcmlnaHQgYm9y
ZGVyIG9mIHRoZSBjZWxsIHRvIHRoZSBsZWZ0LgorICAgIFJlbmRlclRhYmxlQ2VsbCogcHJldkNl
bGwgPSBydGwgPyB0YWJsZUVsdC0+Y2VsbE5leHQodGhpcykgOiB0YWJsZUVsdC0+Y2VsbFByZXZp
b3VzKHRoaXMpOwogICAgIGlmIChwcmV2Q2VsbCkgewogICAgICAgICByZXN1bHQgPSBjb21wYXJl
Qm9yZGVycyhyZXN1bHQsIENvbGxhcHNlZEJvcmRlclZhbHVlKCZwcmV2Q2VsbC0+c3R5bGUoKS0+
Ym9yZGVyUmlnaHQoKSwgQkNFTEwpKTsKICAgICAgICAgaWYgKCFyZXN1bHQuZXhpc3RzKCkpCiAg
ICAgICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KLSAgICBlbHNlIGlmIChjb2woKSA9PSAw
KSB7CisgICAgZWxzZSBpZiAocnRsID8gaW5MYXN0Q29sdW1uIDogKGNvbCgpID09IDApKSB7CiAg
ICAgICAgIC8vICgzKSBPdXIgcm93J3MgbGVmdCBib3JkZXIuCiAgICAgICAgIHJlc3VsdCA9IGNv
bXBhcmVCb3JkZXJzKHJlc3VsdCwgQ29sbGFwc2VkQm9yZGVyVmFsdWUoJnBhcmVudCgpLT5zdHls
ZSgpLT5ib3JkZXJMZWZ0KCksIEJST1cpKTsKICAgICAgICAgaWYgKCFyZXN1bHQuZXhpc3RzKCkp
CkBAIC0yMzksMjYgKzI0NywyNCBAQCBDb2xsYXBzZWRCb3JkZXJWYWx1ZSBSZW5kZXJUYWJsZUNl
bGw6OmNvCiAgICAgfQogICAgIAogICAgIC8vICg1KSBPdXIgY29sdW1uJ3MgbGVmdCBib3JkZXIu
Ci0gICAgUmVuZGVyVGFibGVDb2wqIGNvbEVsdCA9IHRhYmxlKCktPmNvbEVsZW1lbnQoY29sKCkp
OworICAgIFJlbmRlclRhYmxlQ29sKiBjb2xFbHQgPSB0YWJsZUVsdC0+Y29sRWxlbWVudChjb2wo
KSArIChydGwgPyBjb2xTcGFuKCkgLSAxIDogMCkpOwogICAgIGlmIChjb2xFbHQpIHsKICAgICAg
ICAgcmVzdWx0ID0gY29tcGFyZUJvcmRlcnMocmVzdWx0LCBDb2xsYXBzZWRCb3JkZXJWYWx1ZSgm
Y29sRWx0LT5zdHlsZSgpLT5ib3JkZXJMZWZ0KCksIEJDT0wpKTsKICAgICAgICAgaWYgKCFyZXN1
bHQuZXhpc3RzKCkpCiAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KICAgICAKLSAg
ICAvLyAoNikgVGhlIHByZXZpb3VzIGNvbHVtbidzIHJpZ2h0IGJvcmRlci4KLSAgICBpZiAoY29s
KCkgPiAwKSB7Ci0gICAgICAgIGNvbEVsdCA9IHRhYmxlKCktPmNvbEVsZW1lbnQoY29sKCkgLSAx
KTsKKyAgICAvLyAoNikgVGhlIHJpZ2h0IGJvcmRlciBvZiB0aGUgY29sdW1uIHRvIHRoZSBsZWZ0
LgorICAgIGlmIChydGwgPyAhaW5MYXN0Q29sdW1uIDogKGNvbCgpID4gMCkpIHsKKyAgICAgICAg
Y29sRWx0ID0gdGFibGVFbHQtPmNvbEVsZW1lbnQoY29sKCkgKyAocnRsID8gY29sU3BhbigpIDog
LTEpKTsKICAgICAgICAgaWYgKGNvbEVsdCkgewogICAgICAgICAgICAgcmVzdWx0ID0gY29tcGFy
ZUJvcmRlcnMocmVzdWx0LCBDb2xsYXBzZWRCb3JkZXJWYWx1ZSgmY29sRWx0LT5zdHlsZSgpLT5i
b3JkZXJSaWdodCgpLCBCQ09MKSk7CiAgICAgICAgICAgICBpZiAoIXJlc3VsdC5leGlzdHMoKSkK
ICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgICAgICB9Ci0gICAgfQotICAgIAot
ICAgIGlmIChjb2woKSA9PSAwKSB7CisgICAgfSBlbHNlIHsKICAgICAgICAgLy8gKDcpIFRoZSB0
YWJsZSdzIGxlZnQgYm9yZGVyLgotICAgICAgICByZXN1bHQgPSBjb21wYXJlQm9yZGVycyhyZXN1
bHQsIENvbGxhcHNlZEJvcmRlclZhbHVlKCZ0YWJsZSgpLT5zdHlsZSgpLT5ib3JkZXJMZWZ0KCks
IEJUQUJMRSkpOworICAgICAgICByZXN1bHQgPSBjb21wYXJlQm9yZGVycyhyZXN1bHQsIENvbGxh
cHNlZEJvcmRlclZhbHVlKCZ0YWJsZUVsdC0+c3R5bGUoKS0+Ym9yZGVyTGVmdCgpLCBCVEFCTEUp
KTsKICAgICAgICAgaWYgKCFyZXN1bHQuZXhpc3RzKCkpCiAgICAgICAgICAgICByZXR1cm4gcmVz
dWx0OwogICAgIH0KQEAgLTI2NiwyMSArMjcyLDIzIEBAIENvbGxhcHNlZEJvcmRlclZhbHVlIFJl
bmRlclRhYmxlQ2VsbDo6Y28KICAgICByZXR1cm4gcmVzdWx0OwogfQogCi1Db2xsYXBzZWRCb3Jk
ZXJWYWx1ZSBSZW5kZXJUYWJsZUNlbGw6OmNvbGxhcHNlZFJpZ2h0Qm9yZGVyKCkgY29uc3QKK0Nv
bGxhcHNlZEJvcmRlclZhbHVlIFJlbmRlclRhYmxlQ2VsbDo6Y29sbGFwc2VkUmlnaHRCb3JkZXIo
Ym9vbCBydGwpIGNvbnN0CiB7CiAgICAgUmVuZGVyVGFibGUqIHRhYmxlRWx0ID0gdGFibGUoKTsK
ICAgICBib29sIGluTGFzdENvbHVtbiA9IGZhbHNlOwotICAgIGludCBlZmZDb2wgPSB0YWJsZUVs
dC0+Y29sVG9FZmZDb2woY29sKCkgKyBjb2xTcGFuKCkgLSAxKTsKLSAgICBpZiAoZWZmQ29sID09
IHRhYmxlRWx0LT5udW1FZmZDb2xzKCkgLSAxKQotICAgICAgICBpbkxhc3RDb2x1bW4gPSB0cnVl
OworICAgIGlmICghcnRsKSB7CisgICAgICAgIGludCBlZmZDb2wgPSB0YWJsZUVsdC0+Y29sVG9F
ZmZDb2woY29sKCkgKyBjb2xTcGFuKCkgLSAxKTsKKyAgICAgICAgaWYgKGVmZkNvbCA9PSB0YWJs
ZUVsdC0+bnVtRWZmQ29scygpIC0gMSkKKyAgICAgICAgICAgIGluTGFzdENvbHVtbiA9IHRydWU7
CisgICAgfQogICAgIAogICAgIC8vIEZvciBib3JkZXIgcmlnaHQsIHdlIG5lZWQgdG8gY2hlY2ss
IGluIG9yZGVyIG9mIHByZWNlZGVuY2U6CiAgICAgLy8gKDEpIE91ciByaWdodCBib3JkZXIuCiAg
ICAgQ29sbGFwc2VkQm9yZGVyVmFsdWUgcmVzdWx0ID0gQ29sbGFwc2VkQm9yZGVyVmFsdWUoJnN0
eWxlKCktPmJvcmRlclJpZ2h0KCksIEJDRUxMKTsKICAgICAKLSAgICAvLyAoMikgVGhlIG5leHQg
Y2VsbCdzIGxlZnQgYm9yZGVyLgotICAgIGlmICghaW5MYXN0Q29sdW1uKSB7Ci0gICAgICAgIFJl
bmRlclRhYmxlQ2VsbCogbmV4dENlbGwgPSB0YWJsZUVsdC0+Y2VsbFJpZ2h0KHRoaXMpOworICAg
IC8vICgyKSBUaGUgbGVmdCBib3JkZXIgb2YgdGhlIGNlbGwgdG8gdGhlIHJpZ2h0LgorICAgIGlm
IChydGwgPyAoY29sKCkgPiAwKSA6ICFpbkxhc3RDb2x1bW4pIHsKKyAgICAgICAgUmVuZGVyVGFi
bGVDZWxsKiBuZXh0Q2VsbCA9IHJ0bCA/IHRhYmxlRWx0LT5jZWxsUHJldmlvdXModGhpcykgOiB0
YWJsZUVsdC0+Y2VsbE5leHQodGhpcyk7CiAgICAgICAgIGlmIChuZXh0Q2VsbCAmJiBuZXh0Q2Vs
bC0+c3R5bGUoKSkgewogICAgICAgICAgICAgcmVzdWx0ID0gY29tcGFyZUJvcmRlcnMocmVzdWx0
LCBDb2xsYXBzZWRCb3JkZXJWYWx1ZSgmbmV4dENlbGwtPnN0eWxlKCktPmJvcmRlckxlZnQoKSwg
QkNFTEwpKTsKICAgICAgICAgICAgIGlmICghcmVzdWx0LmV4aXN0cygpKQpAQCAtMjk5LDIzICsz
MDcsMjIgQEAgQ29sbGFwc2VkQm9yZGVyVmFsdWUgUmVuZGVyVGFibGVDZWxsOjpjbwogICAgIH0K
ICAgICAKICAgICAvLyAoNSkgT3VyIGNvbHVtbidzIHJpZ2h0IGJvcmRlci4KLSAgICBSZW5kZXJU
YWJsZUNvbCogY29sRWx0ID0gdGFibGUoKS0+Y29sRWxlbWVudChjb2woKStjb2xTcGFuKCkgLSAx
KTsKKyAgICBSZW5kZXJUYWJsZUNvbCogY29sRWx0ID0gdGFibGVFbHQtPmNvbEVsZW1lbnQoY29s
KCkgKyAocnRsID8gMCA6IGNvbFNwYW4oKSAtIDEpKTsKICAgICBpZiAoY29sRWx0KSB7CiAgICAg
ICAgIHJlc3VsdCA9IGNvbXBhcmVCb3JkZXJzKHJlc3VsdCwgQ29sbGFwc2VkQm9yZGVyVmFsdWUo
JmNvbEVsdC0+c3R5bGUoKS0+Ym9yZGVyUmlnaHQoKSwgQkNPTCkpOwogICAgICAgICBpZiAoIXJl
c3VsdC5leGlzdHMoKSkKICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogICAgIAot
ICAgIC8vICg2KSBUaGUgbmV4dCBjb2x1bW4ncyBsZWZ0IGJvcmRlci4KLSAgICBpZiAoIWluTGFz
dENvbHVtbikgewotICAgICAgICBjb2xFbHQgPSB0YWJsZUVsdC0+Y29sRWxlbWVudChjb2woKStj
b2xTcGFuKCkpOworICAgIC8vICg2KSBUaGUgbGVmdCBib3JkZXIgb2YgdGhlIGNvbHVtbiB0byB0
aGUgcmlnaHQuCisgICAgaWYgKHJ0bCA/IChjb2woKSA+IDApIDogIWluTGFzdENvbHVtbikgewor
ICAgICAgICBjb2xFbHQgPSB0YWJsZUVsdC0+Y29sRWxlbWVudChjb2woKSArIChydGwgPyAtMSA6
IGNvbFNwYW4oKSkpOwogICAgICAgICBpZiAoY29sRWx0KSB7CiAgICAgICAgICAgICByZXN1bHQg
PSBjb21wYXJlQm9yZGVycyhyZXN1bHQsIENvbGxhcHNlZEJvcmRlclZhbHVlKCZjb2xFbHQtPnN0
eWxlKCktPmJvcmRlckxlZnQoKSwgQkNPTCkpOwogICAgICAgICAgICAgaWYgKCFyZXN1bHQuZXhp
c3RzKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICAgICAgfQotICAgIH0K
LSAgICBlbHNlIHsKKyAgICB9IGVsc2UgewogICAgICAgICAvLyAoNykgVGhlIHRhYmxlJ3Mgcmln
aHQgYm9yZGVyLgogICAgICAgICByZXN1bHQgPSBjb21wYXJlQm9yZGVycyhyZXN1bHQsIENvbGxh
cHNlZEJvcmRlclZhbHVlKCZ0YWJsZUVsdC0+c3R5bGUoKS0+Ym9yZGVyUmlnaHQoKSwgQlRBQkxF
KSk7CiAgICAgICAgIGlmICghcmVzdWx0LmV4aXN0cygpKQpAQCAtNDYzLDcgKzQ3MCw3IEBAIENv
bGxhcHNlZEJvcmRlclZhbHVlIFJlbmRlclRhYmxlQ2VsbDo6Y28KIGludCBSZW5kZXJUYWJsZUNl
bGw6OmJvcmRlckxlZnQoKSBjb25zdAogewogICAgIGlmICh0YWJsZSgpLT5jb2xsYXBzZUJvcmRl
cnMoKSkgewotICAgICAgICBDb2xsYXBzZWRCb3JkZXJWYWx1ZSBib3JkZXIgPSBjb2xsYXBzZWRM
ZWZ0Qm9yZGVyKCk7CisgICAgICAgIENvbGxhcHNlZEJvcmRlclZhbHVlIGJvcmRlciA9IGNvbGxh
cHNlZExlZnRCb3JkZXIodGFibGUoKS0+c3R5bGUoKS0+ZGlyZWN0aW9uKCkgPT0gUlRMKTsKICAg
ICAgICAgaWYgKGJvcmRlci5leGlzdHMoKSkKICAgICAgICAgICAgIHJldHVybiBpbnQoYm9yZGVy
LndpZHRoKCkgLyAyLjAgKyAwLjUpOyAvLyBHaXZlIHRoZSBleHRyYSBwaXhlbCB0byB0b3AgYW5k
IGxlZnQuCiAgICAgICAgIHJldHVybiAwOwpAQCAtNDc0LDcgKzQ4MSw3IEBAIGludCBSZW5kZXJU
YWJsZUNlbGw6OmJvcmRlckxlZnQoKSBjb25zdAogaW50IFJlbmRlclRhYmxlQ2VsbDo6Ym9yZGVy
UmlnaHQoKSBjb25zdAogewogICAgIGlmICh0YWJsZSgpLT5jb2xsYXBzZUJvcmRlcnMoKSkgewot
ICAgICAgICBDb2xsYXBzZWRCb3JkZXJWYWx1ZSBib3JkZXIgPSBjb2xsYXBzZWRSaWdodEJvcmRl
cigpOworICAgICAgICBDb2xsYXBzZWRCb3JkZXJWYWx1ZSBib3JkZXIgPSBjb2xsYXBzZWRSaWdo
dEJvcmRlcih0YWJsZSgpLT5zdHlsZSgpLT5kaXJlY3Rpb24oKSA9PSBSVEwpOwogICAgICAgICBp
ZiAoYm9yZGVyLmV4aXN0cygpKQogICAgICAgICAgICAgcmV0dXJuIGJvcmRlci53aWR0aCgpIC8g
MjsKICAgICAgICAgcmV0dXJuIDA7CkBAIC02MTUsOCArNjIyLDkgQEAgc3RhdGljIHZvaWQgYWRk
Qm9yZGVyU3R5bGUoUVZhbHVlTGlzdDxDbwogCiB2b2lkIFJlbmRlclRhYmxlQ2VsbDo6Y29sbGVj
dEJvcmRlcnMoUVZhbHVlTGlzdDxDb2xsYXBzZWRCb3JkZXJWYWx1ZT4mIGJvcmRlclN0eWxlcykK
IHsKLSAgICBhZGRCb3JkZXJTdHlsZShib3JkZXJTdHlsZXMsIGNvbGxhcHNlZExlZnRCb3JkZXIo
KSk7Ci0gICAgYWRkQm9yZGVyU3R5bGUoYm9yZGVyU3R5bGVzLCBjb2xsYXBzZWRSaWdodEJvcmRl
cigpKTsKKyAgICBib29sIHJ0bCA9IHRhYmxlKCktPnN0eWxlKCktPmRpcmVjdGlvbigpID09IFJU
TDsKKyAgICBhZGRCb3JkZXJTdHlsZShib3JkZXJTdHlsZXMsIGNvbGxhcHNlZExlZnRCb3JkZXIo
cnRsKSk7CisgICAgYWRkQm9yZGVyU3R5bGUoYm9yZGVyU3R5bGVzLCBjb2xsYXBzZWRSaWdodEJv
cmRlcihydGwpKTsKICAgICBhZGRCb3JkZXJTdHlsZShib3JkZXJTdHlsZXMsIGNvbGxhcHNlZFRv
cEJvcmRlcigpKTsKICAgICBhZGRCb3JkZXJTdHlsZShib3JkZXJTdHlsZXMsIGNvbGxhcHNlZEJv
dHRvbUJvcmRlcigpKTsKIH0KQEAgLTYyNiw4ICs2MzQsOSBAQCB2b2lkIFJlbmRlclRhYmxlQ2Vs
bDo6cGFpbnRDb2xsYXBzZWRCb3JkCiAgICAgaWYgKCF0YWJsZSgpLT5jdXJyZW50Qm9yZGVyU3R5
bGUoKSkKICAgICAgICAgcmV0dXJuOwogICAgIAotICAgIENvbGxhcHNlZEJvcmRlclZhbHVlIGxl
ZnRWYWwgPSBjb2xsYXBzZWRMZWZ0Qm9yZGVyKCk7Ci0gICAgQ29sbGFwc2VkQm9yZGVyVmFsdWUg
cmlnaHRWYWwgPSBjb2xsYXBzZWRSaWdodEJvcmRlcigpOworICAgIGJvb2wgcnRsID0gdGFibGUo
KS0+c3R5bGUoKS0+ZGlyZWN0aW9uKCkgPT0gUlRMOworICAgIENvbGxhcHNlZEJvcmRlclZhbHVl
IGxlZnRWYWwgPSBjb2xsYXBzZWRMZWZ0Qm9yZGVyKHJ0bCk7CisgICAgQ29sbGFwc2VkQm9yZGVy
VmFsdWUgcmlnaHRWYWwgPSBjb2xsYXBzZWRSaWdodEJvcmRlcihydGwpOwogICAgIENvbGxhcHNl
ZEJvcmRlclZhbHVlIHRvcFZhbCA9IGNvbGxhcHNlZFRvcEJvcmRlcigpOwogICAgIENvbGxhcHNl
ZEJvcmRlclZhbHVlIGJvdHRvbVZhbCA9IGNvbGxhcHNlZEJvdHRvbUJvcmRlcigpOwogICAgICAK
SW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5oCShyZXZpc2lvbiAxMjQyNykKKysr
IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5oCSh3b3JraW5nIGNvcHkpCkBAIC03
Myw4ICs3Myw4IEBAIHB1YmxpYzoKICAgICBpbnQgYm9yZGVyVG9wKCkgY29uc3Q7CiAgICAgaW50
IGJvcmRlckJvdHRvbSgpIGNvbnN0OwogCi0gICAgQ29sbGFwc2VkQm9yZGVyVmFsdWUgY29sbGFw
c2VkTGVmdEJvcmRlcigpIGNvbnN0OwotICAgIENvbGxhcHNlZEJvcmRlclZhbHVlIGNvbGxhcHNl
ZFJpZ2h0Qm9yZGVyKCkgY29uc3Q7CisgICAgQ29sbGFwc2VkQm9yZGVyVmFsdWUgY29sbGFwc2Vk
TGVmdEJvcmRlcihib29sIHJ0bCkgY29uc3Q7CisgICAgQ29sbGFwc2VkQm9yZGVyVmFsdWUgY29s
bGFwc2VkUmlnaHRCb3JkZXIoYm9vbCBydGwpIGNvbnN0OwogICAgIENvbGxhcHNlZEJvcmRlclZh
bHVlIGNvbGxhcHNlZFRvcEJvcmRlcigpIGNvbnN0OwogICAgIENvbGxhcHNlZEJvcmRlclZhbHVl
IGNvbGxhcHNlZEJvdHRvbUJvcmRlcigpIGNvbnN0OwogICAgIHZpcnR1YWwgdm9pZCBjb2xsZWN0
Qm9yZGVycyhRVmFsdWVMaXN0PENvbGxhcHNlZEJvcmRlclZhbHVlPiYgYm9yZGVyU3R5bGVzKTsK
</data>
<flag name="review"
          id="1446"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>6072</attachid>
            <date>2006-01-29 08:19:15 -0800</date>
            <delta_ts>2006-01-29 08:52:27 -0800</delta_ts>
            <desc>Updated patch</desc>
            <filename>6888_r2.patch</filename>
            <type>text/plain</type>
            <size>22309</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDEyNDI3KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMDYtIyMtIyMgIE1pdHogUGV0dGVsICA8b3Bl
bmRhcndpbi5vcmdAbWl0enBldHRlbC5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgLSB0ZXN0IGZvciBodHRwOi8vYnVnemlsbGEub3BlbmRhcndp
bi5vcmcvc2hvd19idWcuY2dpP2lkPTY4ODgKKyAgICAgICAgICBDb2xsYXBzZWQgYm9yZGVycyBh
cHBlYXIgb24gdGhlIHdyb25nIHNpZGUgb3Igb24gdGhlIHdyb25nIGNlbGwgaW4gUlRMIHRhYmxl
cworCisgICAgICAgICogZmFzdC90YWJsZS9ib3JkZXItY29sbGFwc2luZy9ydGwtYm9yZGVyLWNv
bGxhcHNpbmctZXhwZWN0ZWQuY2hlY2tzdW06IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGFibGUv
Ym9yZGVyLWNvbGxhcHNpbmcvcnRsLWJvcmRlci1jb2xsYXBzaW5nLWV4cGVjdGVkLnBuZzogQWRk
ZWQuCisgICAgICAgICogZmFzdC90YWJsZS9ib3JkZXItY29sbGFwc2luZy9ydGwtYm9yZGVyLWNv
bGxhcHNpbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RhYmxlL2JvcmRl
ci1jb2xsYXBzaW5nL3J0bC1ib3JkZXItY29sbGFwc2luZy5odG1sOiBBZGRlZC4KKwogMjAwNi0w
MS0yOCAgQWxleGFuZGVyIEtlbGxldHQgIDxseXBhbm92QGtkZS5vcmc+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgZXNlaWRlbC4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvdGFibGUvYm9yZGVyLWNv
bGxhcHNpbmcvcnRsLWJvcmRlci1jb2xsYXBzaW5nLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L3RhYmxlL2JvcmRlci1jb2xsYXBzaW5nL3J0bC1ib3JkZXItY29s
bGFwc2luZy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3Rh
YmxlL2JvcmRlci1jb2xsYXBzaW5nL3J0bC1ib3JkZXItY29sbGFwc2luZy1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTAzIEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKKyAgUmVuZGVyQ2FudmFzIGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
KyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAgICAgIFJlbmRl
ckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDc4NHgzNgorICAgICAgICBSZW5kZXJUZXh0IHtURVhU
fSBhdCAoMCwwKSBzaXplIDIxMngxOAorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRo
IDIxMjogIlRoaXMgdGVzdHMgZm9yIGEgcmVncmVzc2lvbiBhZ2FpbnN0ICIKKyAgICAgICAgUmVu
ZGVySW5saW5lIHtJfSBhdCAoMCwwKSBzaXplIDc3M3gzNgorICAgICAgICAgIFJlbmRlcklubGlu
ZSB7QX0gYXQgKDAsMCkgc2l6ZSAzNDh4MTggW2NvbG9yPSMwMDAwRUVdCisgICAgICAgICAgICBS
ZW5kZXJUZXh0IHtURVhUfSBhdCAoMjEyLDApIHNpemUgMzQ4eDE4CisgICAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgyMTIsMCkgd2lkdGggMzQ4OiAiaHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4u
b3JnL3Nob3dfYnVnLmNnaT9pZD02ODg4IgorICAgICAgICAgIFJlbmRlclRleHQge1RFWFR9IGF0
ICg1NjAsMCkgc2l6ZSA3NzN4MzYKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICg1NjAsMCkgd2lk
dGggMjEzOiAiIENvbGxhcHNlZCBib3JkZXJzIGFwcGVhciBvbiB0aGUiCisgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMCwxOCkgd2lkdGggMjkxOiAid3Jvbmcgc2lkZSBvciBvbiB0aGUgd3Jvbmcg
Y2VsbCBpbiBSVEwgdGFibGVzIgorICAgICAgICBSZW5kZXJUZXh0IHtURVhUfSBhdCAoMjkxLDE4
KSBzaXplIDR4MTgKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjkxLDE4KSB3aWR0aCA0OiAiLiIK
KyAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCw1Mikgc2l6ZSA3ODR4MTgKKyAgICAgICAgUmVu
ZGVyVGV4dCB7VEVYVH0gYXQgKDAsMCkgc2l6ZSAzNjh4MTgKKyAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMCwwKSB3aWR0aCAzNjg6ICJUaGUgUlRMIHRhYmxlIHNob3VsZCBiZSBhIG1pcnJvciBpbWFn
ZSBvZiB0aGUgTFRSIHRhYmxlLiIKKyAgICAgIFJlbmRlckJsb2NrIHtIUn0gYXQgKDAsODYpIHNp
emUgNzg0eDIgW2JvcmRlcjogKDFweCBpbnNldCAjMDAwMDAwKV0KKyAgICAgIFJlbmRlclRhYmxl
IHtUQUJMRX0gYXQgKDAsOTYpIHNpemUgMTI5eDc0CisgICAgICAgIFJlbmRlclRhYmxlU2VjdGlv
biB7VEJPRFl9IGF0ICgwLDApIHNpemUgMHg3NAorICAgICAgICAgIFJlbmRlclRhYmxlUm93IHtU
Un0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0
ICgwLDApIHNpemUgNjV4MjYgW2JvcmRlcjogbm9uZSAoMXB4IHNvbGlkICMwMDAwMDApIG5vbmVd
IFtyPTAgYz0wIHJzPTEgY3M9MV0KKyAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7VEVYVH0gYXQg
KDE2LDQpIHNpemUgMzF4MTgKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTYsNCkgd2lk
dGggMzE6ICJSVEwiCisgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoNjUsMCkg
c2l6ZSA2NHgyNiBbcj0wIGM9MSBycz0xIGNzPTFdCisgICAgICAgICAgICAgIFJlbmRlclRleHQg
e1RFWFR9IGF0ICgxNiw0KSBzaXplIDMxeDE4CisgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDE2LDQpIHdpZHRoIDMxOiAiTFRSIgorICAgICAgICAgIFJlbmRlclRhYmxlUm93IHtUUn0gYXQg
KDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgwLDI2
KSBzaXplIDY1eDQ4IFtib3JkZXI6IG5vbmUgKDFweCBzb2xpZCAjMDAwMDAwKSBub25lXSBbcj0x
IGM9MCBycz0xIGNzPTFdCisgICAgICAgICAgICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDQs
NCkgc2l6ZSA1Nng0MAorICAgICAgICAgICAgICAgIFJlbmRlclRhYmxlQ29sIHtDT0x9IGF0ICgw
LDApIHNpemUgMHgwCisgICAgICAgICAgICAgICAgUmVuZGVyVGFibGVDb2wge0NPTH0gYXQgKDAs
MCkgc2l6ZSAweDAKKyAgICAgICAgICAgICAgICBSZW5kZXJUYWJsZUNvbCB7Q09MfSBhdCAoMCww
KSBzaXplIDB4MCBbYmdjb2xvcj0jRkZGRjAwXSBbYm9yZGVyOiAoMnB4IGRvdHRlZCAjMDA4MDAw
KSBub25lICgxcHggc29saWQgIzAwMDAwMCldCisgICAgICAgICAgICAgICAgUmVuZGVyVGFibGVD
b2wge0NPTH0gYXQgKDAsMCkgc2l6ZSAweDAgW2JnY29sb3I9I0MwQzBDMF0KKyAgICAgICAgICAg
ICAgICBSZW5kZXJUYWJsZVNlY3Rpb24ge1RCT0RZfSBhdCAoMCwwKSBzaXplIDB4NDAKKyAgICAg
ICAgICAgICAgICAgIFJlbmRlclRhYmxlUm93IHtUUn0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAg
ICAgICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDQ0LDApIHNpemUgMTJ4MjAg
W2JvcmRlcjogbm9uZV0gW3I9MCBjPTAgcnM9MSBjcz0xXQorICAgICAgICAgICAgICAgICAgICAg
IFJlbmRlclRleHQge1RFWFR9IGF0ICgyLDEpIHNpemUgOHgxOAorICAgICAgICAgICAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDIsMSkgd2lkdGggOCBSVEw6ICIgICIKKyAgICAgICAgICAgICAg
ICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDMzLDApIHNpemUgMTF4MjAgW2JvcmRlcjog
bm9uZV0gW3I9MCBjPTEgcnM9MSBjcz0xXQorICAgICAgICAgICAgICAgICAgICAgIFJlbmRlclRl
eHQge1RFWFR9IGF0ICgyLDEpIHNpemUgOHgxOAorICAgICAgICAgICAgICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDIsMSkgd2lkdGggOCBSVEw6ICIgICIKKyAgICAgICAgICAgICAgICAgICAgUmVu
ZGVyVGFibGVDZWxsIHtURH0gYXQgKDExLDApIHNpemUgMjJ4MjAgW2JvcmRlcjogbm9uZV0gW3I9
MCBjPTIgcnM9MSBjcz0yXQorICAgICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQge1RFWFR9
IGF0ICgxMiwxKSBzaXplIDh4MTgKKyAgICAgICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgxMiwxKSB3aWR0aCA4IFJUTDogIiAgIgorICAgICAgICAgICAgICAgICAgICBSZW5kZXJUYWJs
ZUNlbGwge1REfSBhdCAoMCwwKSBzaXplIDExeDIwIFtib3JkZXI6IG5vbmVdIFtyPTAgYz00IHJz
PTEgY3M9MV0KKyAgICAgICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHtURVhUfSBhdCAoMiwx
KSBzaXplIDh4MTgKKyAgICAgICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyLDEpIHdp
ZHRoIDggUlRMOiAiICAiCisgICAgICAgICAgICAgICAgICBSZW5kZXJUYWJsZVJvdyB7VFJ9IGF0
ICgwLDApIHNpemUgMHgwCisgICAgICAgICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9
IGF0ICg0NCwyMCkgc2l6ZSAxMngyMCBbYm9yZGVyOiBub25lICgycHggc29saWQgIzgwMDAwMCkg
bm9uZV0gW3I9MSBjPTAgcnM9MSBjcz0xXQorICAgICAgICAgICAgICAgICAgICAgIFJlbmRlclRl
eHQge1RFWFR9IGF0ICgxLDEpIHNpemUgOHgxOAorICAgICAgICAgICAgICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDEsMSkgd2lkdGggOCBSVEw6ICIgICIKKyAgICAgICAgICAgICAgICAgICAgUmVu
ZGVyVGFibGVDZWxsIHtURH0gYXQgKDMzLDIwKSBzaXplIDExeDIwIFtib3JkZXI6IG5vbmVdIFty
PTEgYz0xIHJzPTEgY3M9MV0KKyAgICAgICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHtURVhU
fSBhdCAoMiwxKSBzaXplIDh4MTgKKyAgICAgICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgyLDEpIHdpZHRoIDggUlRMOiAiICAiCisgICAgICAgICAgICAgICAgICAgIFJlbmRlclRhYmxl
Q2VsbCB7VER9IGF0ICgyMSwyMCkgc2l6ZSAxMngyMCBbYm9yZGVyOiBub25lXSBbcj0xIGM9MiBy
cz0xIGNzPTFdCisgICAgICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7VEVYVH0gYXQgKDIs
MSkgc2l6ZSA4eDE4CisgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMiwxKSB3
aWR0aCA4IFJUTDogIiAgIgorICAgICAgICAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1RE
fSBhdCAoMTEsMjApIHNpemUgMTB4MjAgW3I9MSBjPTMgcnM9MSBjcz0xXQorICAgICAgICAgICAg
ICAgICAgICAgIFJlbmRlclRleHQge1RFWFR9IGF0ICgxLDEpIHNpemUgOHgxOAorICAgICAgICAg
ICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEsMSkgd2lkdGggOCBSVEw6ICIgICIKKyAgICAg
ICAgICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDAsMjApIHNpemUgMTF4MjAg
W2JvcmRlcjogbm9uZV0gW3I9MSBjPTQgcnM9MSBjcz0xXQorICAgICAgICAgICAgICAgICAgICAg
IFJlbmRlclRleHQge1RFWFR9IGF0ICgyLDEpIHNpemUgOHgxOAorICAgICAgICAgICAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDIsMSkgd2lkdGggOCBSVEw6ICIgICIKKyAgICAgICAgICAgIFJl
bmRlclRhYmxlQ2VsbCB7VER9IGF0ICg2NSwyNikgc2l6ZSA2NHg0OCBbcj0xIGM9MSBycz0xIGNz
PTFdCisgICAgICAgICAgICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDQsNCkgc2l6ZSA1Nng0
MAorICAgICAgICAgICAgICAgIFJlbmRlclRhYmxlQ29sIHtDT0x9IGF0ICgwLDApIHNpemUgMHgw
CisgICAgICAgICAgICAgICAgUmVuZGVyVGFibGVDb2wge0NPTH0gYXQgKDAsMCkgc2l6ZSAweDAK
KyAgICAgICAgICAgICAgICBSZW5kZXJUYWJsZUNvbCB7Q09MfSBhdCAoMCwwKSBzaXplIDB4MCBb
Ymdjb2xvcj0jRkZGRjAwXSBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApIG5vbmUgKDJweCBk
b3R0ZWQgIzAwODAwMCldCisgICAgICAgICAgICAgICAgUmVuZGVyVGFibGVDb2wge0NPTH0gYXQg
KDAsMCkgc2l6ZSAweDAgW2JnY29sb3I9I0MwQzBDMF0KKyAgICAgICAgICAgICAgICBSZW5kZXJU
YWJsZVNlY3Rpb24ge1RCT0RZfSBhdCAoMCwwKSBzaXplIDB4NDAKKyAgICAgICAgICAgICAgICAg
IFJlbmRlclRhYmxlUm93IHtUUn0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICAgICAgICAg
ICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDAsMCkgc2l6ZSAxMngyMCBbYm9yZGVyOiBub25l
XSBbcj0wIGM9MCBycz0xIGNzPTFdCisgICAgICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7
VEVYVH0gYXQgKDIsMSkgc2l6ZSA4eDE4CisgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMiwxKSB3aWR0aCA4OiAiICAiCisgICAgICAgICAgICAgICAgICAgIFJlbmRlclRhYmxl
Q2VsbCB7VER9IGF0ICgxMiwwKSBzaXplIDExeDIwIFtib3JkZXI6IG5vbmVdIFtyPTAgYz0xIHJz
PTEgY3M9MV0KKyAgICAgICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHtURVhUfSBhdCAoMSwx
KSBzaXplIDh4MTgKKyAgICAgICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxLDEpIHdp
ZHRoIDg6ICIgICIKKyAgICAgICAgICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQg
KDIzLDApIHNpemUgMjJ4MjAgW2JvcmRlcjogbm9uZV0gW3I9MCBjPTIgcnM9MSBjcz0yXQorICAg
ICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQge1RFWFR9IGF0ICgyLDEpIHNpemUgOHgxOAor
ICAgICAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDIsMSkgd2lkdGggODogIiAgIgor
ICAgICAgICAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoNDUsMCkgc2l6ZSAx
MXgyMCBbYm9yZGVyOiBub25lXSBbcj0wIGM9NCBycz0xIGNzPTFdCisgICAgICAgICAgICAgICAg
ICAgICAgUmVuZGVyVGV4dCB7VEVYVH0gYXQgKDEsMSkgc2l6ZSA4eDE4CisgICAgICAgICAgICAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCA4OiAiICAiCisgICAgICAgICAgICAg
ICAgICBSZW5kZXJUYWJsZVJvdyB7VFJ9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgICAgICAg
ICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgwLDIwKSBzaXplIDEyeDIwIFtib3JkZXI6
IG5vbmUgKDJweCBzb2xpZCAjODAwMDAwKV0gW3I9MSBjPTAgcnM9MSBjcz0xXQorICAgICAgICAg
ICAgICAgICAgICAgIFJlbmRlclRleHQge1RFWFR9IGF0ICgzLDEpIHNpemUgOHgxOAorICAgICAg
ICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDMsMSkgd2lkdGggODogIiAgIgorICAgICAg
ICAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMTIsMjApIHNpemUgMTF4MjAg
W2JvcmRlcjogbm9uZV0gW3I9MSBjPTEgcnM9MSBjcz0xXQorICAgICAgICAgICAgICAgICAgICAg
IFJlbmRlclRleHQge1RFWFR9IGF0ICgxLDEpIHNpemUgOHgxOAorICAgICAgICAgICAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDEsMSkgd2lkdGggODogIiAgIgorICAgICAgICAgICAgICAgICAg
ICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMjMsMjApIHNpemUgMTF4MjAgW2JvcmRlcjogbm9u
ZV0gW3I9MSBjPTIgcnM9MSBjcz0xXQorICAgICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQg
e1RFWFR9IGF0ICgyLDEpIHNpemUgOHgxOAorICAgICAgICAgICAgICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDIsMSkgd2lkdGggODogIiAgIgorICAgICAgICAgICAgICAgICAgICBSZW5kZXJUYWJs
ZUNlbGwge1REfSBhdCAoMzQsMjApIHNpemUgMTF4MjAgW2JvcmRlcjogbm9uZV0gW3I9MSBjPTMg
cnM9MSBjcz0xXQorICAgICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQge1RFWFR9IGF0ICgy
LDEpIHNpemUgOHgxOAorICAgICAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDIsMSkg
d2lkdGggODogIiAgIgorICAgICAgICAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBh
dCAoNDUsMjApIHNpemUgMTF4MjAgW2JvcmRlcjogbm9uZV0gW3I9MSBjPTQgcnM9MSBjcz0xXQor
ICAgICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQge1RFWFR9IGF0ICgxLDEpIHNpemUgOHgx
OAorICAgICAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEsMSkgd2lkdGggODogIiAg
IgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9ib3JkZXItY29sbGFwc2luZy9ydGwtYm9y
ZGVyLWNvbGxhcHNpbmctZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZp
bGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9v
Y3RldC1zdHJlYW0KClByb3BlcnR5IGNoYW5nZXMgb246IHJ0bC1ib3JkZXItY29sbGFwc2luZy1l
eHBlY3RlZC5wbmcKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpOYW1lOiBzdm46bWltZS10eXBlCiAgICsgYXBwbGljYXRp
b24vb2N0ZXQtc3RyZWFtCgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9ib3JkZXItY29s
bGFwc2luZy9ydGwtYm9yZGVyLWNvbGxhcHNpbmctZXhwZWN0ZWQuY2hlY2tzdW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9ib3JkZXItY29sbGFwc2luZy9ydGwtYm9yZGVy
LWNvbGxhcHNpbmctZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0
cy9mYXN0L3RhYmxlL2JvcmRlci1jb2xsYXBzaW5nL3J0bC1ib3JkZXItY29sbGFwc2luZy1leHBl
Y3RlZC5jaGVja3N1bQkocmV2aXNpb24gMCkKQEAgLTAsMCArMSBAQAorMWEzY2VlMDQxNjY2YzMw
YWYyNjkxNThhM2M1YmMxNWUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlv
dXRUZXN0cy9mYXN0L3RhYmxlL2JvcmRlci1jb2xsYXBzaW5nL3J0bC1ib3JkZXItY29sbGFwc2lu
Zy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvdGFibGUvYm9yZGVyLWNvbGxh
cHNpbmcvcnRsLWJvcmRlci1jb2xsYXBzaW5nLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L3RhYmxlL2JvcmRlci1jb2xsYXBzaW5nL3J0bC1ib3JkZXItY29sbGFwc2luZy5o
dG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDU5IEBACis8cD4KK1RoaXMgdGVzdHMgZm9yIGEg
cmVncmVzc2lvbiBhZ2FpbnN0Cis8aT48YSBocmVmPSJodHRwOi8vYnVnemlsbGEub3BlbmRhcndp
bi5vcmcvc2hvd19idWcuY2dpP2lkPTY4ODgiPmh0dHA6Ly9idWd6aWxsYS5vcGVuZGFyd2luLm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9Njg4ODwvYT4KK0NvbGxhcHNlZCBib3JkZXJzIGFwcGVhciBvbiB0
aGUgd3Jvbmcgc2lkZSBvciBvbiB0aGUgd3JvbmcgY2VsbCBpbiBSVEwgdGFibGVzPC9pPi4KKzwv
cD4KKzxwPgorVGhlIFJUTCB0YWJsZSBzaG91bGQgYmUgYSBtaXJyb3IgaW1hZ2Ugb2YgdGhlIExU
UiB0YWJsZS4KKzwvcD4KKzxocj4KKzx0YWJsZSBjZWxscGFkZGluZz0iNCIgY2VsbHNwYWNpbmc9
IjAiIHN0eWxlPSJ0ZXh0LWFsaWduOiAta2h0bWwtY2VudGVyOyI+Cis8dHI+Cis8dGQgc3R5bGU9
ImJvcmRlci1yaWdodDogMXB4IHNvbGlkIGJsYWNrOyI+UlRMPC90ZD4KKzx0ZD5MVFI8L3RkPgor
PC90cj4KKzx0cj4KKzx0ZCBzdHlsZT0iYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgYmxhY2s7Ij4K
KyAgICA8dGFibGUgc3R5bGU9ImRpcmVjdGlvbjpydGw7IGJvcmRlci1jb2xsYXBzZTogY29sbGFw
c2U7IGJvcmRlci1sZWZ0OiAycHggc29saWQgcmVkOyBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCBi
bHVlOyI+CisgICAgICAgIDxjb2w+CisgICAgICAgIDxjb2w+CisgICAgICAgIDxjb2wgc3R5bGU9
ImJhY2tncm91bmQ6IHllbGxvdzsgYm9yZGVyLXJpZ2h0OiAycHggZ3JlZW4gZG90dGVkOyBib3Jk
ZXItbGVmdDogc29saWQgMXB4OyI+CisgICAgICAgIDxjb2wgc3R5bGU9ImJhY2tncm91bmQ6IHNp
bHZlcjsiPgorICAgICAgICA8dHI+CisgICAgICAgICAgICA8dGQ+Jm5ic3A7Jm5ic3A7PC90ZD4K
KyAgICAgICAgICAgIDx0ZD4mbmJzcDsmbmJzcDs8L3RkPgorICAgICAgICAgICAgPHRkIGNvbHNw
YW49IjIiIHN0eWxlPSIiPiZuYnNwOyZuYnNwOzwvdGQ+CisgICAgICAgICAgICA8dGQ+Jm5ic3A7
Jm5ic3A7PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgICAgPHRk
IHN0eWxlPSJib3JkZXItcmlnaHQ6IDRweCBzb2xpZCBtYXJvb247Ij4mbmJzcDsmbmJzcDs8L3Rk
PgorICAgICAgICAgICAgPHRkPiZuYnNwOyZuYnNwOzwvdGQ+CisgICAgICAgICAgICA8dGQ+Jm5i
c3A7Jm5ic3A7PC90ZD4KKyAgICAgICAgICAgIDx0ZD4mbmJzcDsmbmJzcDs8L3RkPgorICAgICAg
ICAgICAgPHRkPiZuYnNwOyZuYnNwOzwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgPC90YWJsZT4K
KzwvdGQ+Cis8dGQ+ICAgIAorICAgIDx0YWJsZSBzdHlsZT0iZGlyZWN0aW9uOmx0cjsgYm9yZGVy
LWNvbGxhcHNlOiBjb2xsYXBzZTsgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgcmVkOyBib3JkZXIt
bGVmdDogMnB4IHNvbGlkIGJsdWU7Ij4KKyAgICAgICAgPGNvbD4KKyAgICAgICAgPGNvbD4KKyAg
ICAgICAgPGNvbCBzdHlsZT0iYmFja2dyb3VuZDogeWVsbG93OyBib3JkZXItbGVmdDogMnB4IGdy
ZWVuIGRvdHRlZDsgYm9yZGVyLXJpZ2h0OiBzb2xpZCAxcHg7Ij4KKyAgICAgICAgPGNvbCBzdHls
ZT0iYmFja2dyb3VuZDogc2lsdmVyOyI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICAgIDx0ZD4m
bmJzcDsmbmJzcDs8L3RkPgorICAgICAgICAgICAgPHRkPiZuYnNwOyZuYnNwOzwvdGQ+CisgICAg
ICAgICAgICA8dGQgY29sc3Bhbj0iMiIgc3R5bGU9IiI+Jm5ic3A7Jm5ic3A7PC90ZD4KKyAgICAg
ICAgICAgIDx0ZD4mbmJzcDsmbmJzcDs8L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+
CisgICAgICAgICAgICA8dGQgc3R5bGU9ImJvcmRlci1sZWZ0OiA0cHggc29saWQgbWFyb29uOyI+
Jm5ic3A7Jm5ic3A7PC90ZD4KKyAgICAgICAgICAgIDx0ZD4mbmJzcDsmbmJzcDs8L3RkPgorICAg
ICAgICAgICAgPHRkPiZuYnNwOyZuYnNwOzwvdGQ+CisgICAgICAgICAgICA8dGQ+Jm5ic3A7Jm5i
c3A7PC90ZD4KKyAgICAgICAgICAgIDx0ZD4mbmJzcDsmbmJzcDs8L3RkPgorICAgICAgICA8L3Ry
PgorICAgIDwvdGFibGU+Cis8L3RkPgorPC90cj4KKzwvdGFibGU+CkluZGV4OiBXZWJDb3JlL0No
YW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTI0Mjcp
CisrKyBXZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisy
MDA2LSMjLSMjICBNaXR6IFBldHRlbCAgPG9wZW5kYXJ3aW4ub3JnQG1pdHpwZXR0ZWwuY29tPgor
CisgICAgICAgIFRlc3Q6IGZhc3QvdGFibGUvYm9yZGVyLWNvbGxhcHNpbmcvcnRsLWJvcmRlci1j
b2xsYXBzaW5nLmh0bWwKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAtIGZpeCBodHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5vcmcvc2hvd19idWcuY2dp
P2lkPTY4ODgKKyAgICAgICAgICBDb2xsYXBzZWQgYm9yZGVycyBhcHBlYXIgb24gdGhlIHdyb25n
IHNpZGUgb3Igb24gdGhlIHdyb25nIGNlbGwgaW4gUlRMIHRhYmxlcworCisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlclRhYmxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRhYmxlOjpj
ZWxsUHJldmlvdXMpOiBSZW5hbWVkIGNlbGxMZWZ0IHRvIHRoaXMuCisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJUYWJsZTo6Y2VsbE5leHQpOiBSZW5hbWVkIGNlbGxSaWdodCB0byB0aGlzLgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZS5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJUYWJsZUNlbGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGFibGVDZWxsOjpjb2xs
YXBzZWRMZWZ0Qm9yZGVyKTogQWRkZWQgdGhlIFJUTCBjYXNlLgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyVGFibGVDZWxsOjpjb2xsYXBzZWRSaWdodEJvcmRlcik6IERpdHRvLgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyVGFibGVDZWxsOjpib3JkZXJMZWZ0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRhYmxlQ2VsbDo6Ym9yZGVyUmlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
VGFibGVDZWxsOjpjb2xsZWN0Qm9yZGVycyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJs
ZUNlbGw6OnBhaW50Q29sbGFwc2VkQm9yZGVyKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
VGFibGVDZWxsLmg6CisKIDIwMDYtMDEtMjggIEFsZXhhbmRlciBLZWxsZXR0ICA8bHlwYW5vdkBr
ZGUub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IGVzZWlkZWwuCkluZGV4OiBXZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUYWJsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGFibGUuY3BwCShyZXZpc2lvbiAxMjQyNykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRhYmxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzM2LDcgKzczNiw3IEBAIFJlbmRlclRh
YmxlQ2VsbCogUmVuZGVyVGFibGU6OmNlbGxCZWxvdygKICAgICAgICAgcmV0dXJuIDA7CiB9CiAK
LVJlbmRlclRhYmxlQ2VsbCogUmVuZGVyVGFibGU6OmNlbGxMZWZ0KGNvbnN0IFJlbmRlclRhYmxl
Q2VsbCogY2VsbCkgY29uc3QKK1JlbmRlclRhYmxlQ2VsbCogUmVuZGVyVGFibGU6OmNlbGxQcmV2
aW91cyhjb25zdCBSZW5kZXJUYWJsZUNlbGwqIGNlbGwpIGNvbnN0CiB7CiAgICAgUmVuZGVyVGFi
bGVTZWN0aW9uKiBzZWN0aW9uID0gY2VsbC0+c2VjdGlvbigpOwogICAgIGludCBlZmZDb2wgPSBj
b2xUb0VmZkNvbChjZWxsLT5jb2woKSk7CkBAIC03NTIsNyArODMzLDcgQEAgUmVuZGVyVGFibGVD
ZWxsKiBSZW5kZXJUYWJsZTo6Y2VsbExlZnQoYwogICAgIHJldHVybiBwcmV2Q2VsbC5jZWxsOwog
fQogCi1SZW5kZXJUYWJsZUNlbGwqIFJlbmRlclRhYmxlOjpjZWxsUmlnaHQoY29uc3QgUmVuZGVy
VGFibGVDZWxsKiBjZWxsKSBjb25zdAorUmVuZGVyVGFibGVDZWxsKiBSZW5kZXJUYWJsZTo6Y2Vs
bE5leHQoY29uc3QgUmVuZGVyVGFibGVDZWxsKiBjZWxsKSBjb25zdAogewogICAgIGludCBlZmZD
b2wgPSBjb2xUb0VmZkNvbChjZWxsLT5jb2woKSArIGNlbGwtPmNvbFNwYW4oKSk7CiAgICAgaWYg
KGVmZkNvbCA+PSBudW1FZmZDb2xzKCkpCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
YWJsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmgJKHJl
dmlzaW9uIDEyNDI3KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMTUzLDggKzE1Myw4IEBAIHB1YmxpYzoKIAogICAgIFJlbmRlclRhYmxlQ2Vs
bCogY2VsbEFib3ZlKGNvbnN0IFJlbmRlclRhYmxlQ2VsbCogY2VsbCkgY29uc3Q7CiAgICAgUmVu
ZGVyVGFibGVDZWxsKiBjZWxsQmVsb3coY29uc3QgUmVuZGVyVGFibGVDZWxsKiBjZWxsKSBjb25z
dDsKLSAgICBSZW5kZXJUYWJsZUNlbGwqIGNlbGxMZWZ0KGNvbnN0IFJlbmRlclRhYmxlQ2VsbCog
Y2VsbCkgY29uc3Q7Ci0gICAgUmVuZGVyVGFibGVDZWxsKiBjZWxsUmlnaHQoY29uc3QgUmVuZGVy
VGFibGVDZWxsKiBjZWxsKSBjb25zdDsKKyAgICBSZW5kZXJUYWJsZUNlbGwqIGNlbGxQcmV2aW91
cyhjb25zdCBSZW5kZXJUYWJsZUNlbGwqIGNlbGwpIGNvbnN0OworICAgIFJlbmRlclRhYmxlQ2Vs
bCogY2VsbE5leHQoY29uc3QgUmVuZGVyVGFibGVDZWxsKiBjZWxsKSBjb25zdDsKICAKICAgICBD
b2xsYXBzZWRCb3JkZXJWYWx1ZSogY3VycmVudEJvcmRlclN0eWxlKCkgeyByZXR1cm4gbV9jdXJy
ZW50Qm9yZGVyOyB9CiAgICAgCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNl
bGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5j
cHAJKHJldmlzaW9uIDEyNDUzKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxs
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjEzLDIwICsyMTMsMjggQEAKICAgICByZXR1cm4gYm9y
ZGVyMS5wcmVjZWRlbmNlID49IGJvcmRlcjIucHJlY2VkZW5jZSA/IGJvcmRlcjEgOiBib3JkZXIy
OwogfQogCi1Db2xsYXBzZWRCb3JkZXJWYWx1ZSBSZW5kZXJUYWJsZUNlbGw6OmNvbGxhcHNlZExl
ZnRCb3JkZXIoKSBjb25zdAorQ29sbGFwc2VkQm9yZGVyVmFsdWUgUmVuZGVyVGFibGVDZWxsOjpj
b2xsYXBzZWRMZWZ0Qm9yZGVyKGJvb2wgcnRsKSBjb25zdAogeworICAgIFJlbmRlclRhYmxlKiB0
YWJsZUVsdCA9IHRhYmxlKCk7CisgICAgYm9vbCBsZWZ0bW9zdENvbHVtbiA9IGZhbHNlOworICAg
IGlmIChydGwpIHsKKyAgICAgICAgaW50IGVmZkNvbCA9IHRhYmxlRWx0LT5jb2xUb0VmZkNvbChj
b2woKSArIGNvbFNwYW4oKSAtIDEpOworICAgICAgICBpZiAoZWZmQ29sID09IHRhYmxlRWx0LT5u
dW1FZmZDb2xzKCkgLSAxKQorICAgICAgICAgICAgbGVmdG1vc3RDb2x1bW4gPSB0cnVlOworICAg
IH0gZWxzZQorICAgICAgICBsZWZ0bW9zdENvbHVtbiA9IGNvbCgpID09IDA7CisgICAgCiAgICAg
Ly8gRm9yIGJvcmRlciBsZWZ0LCB3ZSBuZWVkIHRvIGNoZWNrLCBpbiBvcmRlciBvZiBwcmVjZWRl
bmNlOgogICAgIC8vICgxKSBPdXIgbGVmdCBib3JkZXIuCiAgICAgQ29sbGFwc2VkQm9yZGVyVmFs
dWUgcmVzdWx0KCZzdHlsZSgpLT5ib3JkZXJMZWZ0KCksIEJDRUxMKTsKICAgICAKLSAgICAvLyAo
MikgVGhlIHByZXZpb3VzIGNlbGwncyByaWdodCBib3JkZXIuCi0gICAgUmVuZGVyVGFibGVDZWxs
KiBwcmV2Q2VsbCA9IHRhYmxlKCktPmNlbGxMZWZ0KHRoaXMpOworICAgIC8vICgyKSBUaGUgcmln
aHQgYm9yZGVyIG9mIHRoZSBjZWxsIHRvIHRoZSBsZWZ0LgorICAgIFJlbmRlclRhYmxlQ2VsbCog
cHJldkNlbGwgPSBydGwgPyB0YWJsZUVsdC0+Y2VsbE5leHQodGhpcykgOiB0YWJsZUVsdC0+Y2Vs
bFByZXZpb3VzKHRoaXMpOwogICAgIGlmIChwcmV2Q2VsbCkgewogICAgICAgICByZXN1bHQgPSBj
b21wYXJlQm9yZGVycyhyZXN1bHQsIENvbGxhcHNlZEJvcmRlclZhbHVlKCZwcmV2Q2VsbC0+c3R5
bGUoKS0+Ym9yZGVyUmlnaHQoKSwgQkNFTEwpKTsKICAgICAgICAgaWYgKCFyZXN1bHQuZXhpc3Rz
KCkpCiAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgIH0KLSAgICBlbHNlIGlmIChjb2wo
KSA9PSAwKSB7CisgICAgfSBlbHNlIGlmIChsZWZ0bW9zdENvbHVtbikgewogICAgICAgICAvLyAo
MykgT3VyIHJvdydzIGxlZnQgYm9yZGVyLgogICAgICAgICByZXN1bHQgPSBjb21wYXJlQm9yZGVy
cyhyZXN1bHQsIENvbGxhcHNlZEJvcmRlclZhbHVlKCZwYXJlbnQoKS0+c3R5bGUoKS0+Ym9yZGVy
TGVmdCgpLCBCUk9XKSk7CiAgICAgICAgIGlmICghcmVzdWx0LmV4aXN0cygpKQpAQCAtMjM5LDI2
ICsyNDcsMjQgQEAKICAgICB9CiAgICAgCiAgICAgLy8gKDUpIE91ciBjb2x1bW4ncyBsZWZ0IGJv
cmRlci4KLSAgICBSZW5kZXJUYWJsZUNvbCogY29sRWx0ID0gdGFibGUoKS0+Y29sRWxlbWVudChj
b2woKSk7CisgICAgUmVuZGVyVGFibGVDb2wqIGNvbEVsdCA9IHRhYmxlRWx0LT5jb2xFbGVtZW50
KGNvbCgpICsgKHJ0bCA/IGNvbFNwYW4oKSAtIDEgOiAwKSk7CiAgICAgaWYgKGNvbEVsdCkgewog
ICAgICAgICByZXN1bHQgPSBjb21wYXJlQm9yZGVycyhyZXN1bHQsIENvbGxhcHNlZEJvcmRlclZh
bHVlKCZjb2xFbHQtPnN0eWxlKCktPmJvcmRlckxlZnQoKSwgQkNPTCkpOwogICAgICAgICBpZiAo
IXJlc3VsdC5leGlzdHMoKSkKICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogICAg
IAotICAgIC8vICg2KSBUaGUgcHJldmlvdXMgY29sdW1uJ3MgcmlnaHQgYm9yZGVyLgotICAgIGlm
IChjb2woKSA+IDApIHsKLSAgICAgICAgY29sRWx0ID0gdGFibGUoKS0+Y29sRWxlbWVudChjb2wo
KSAtIDEpOworICAgIC8vICg2KSBUaGUgcmlnaHQgYm9yZGVyIG9mIHRoZSBjb2x1bW4gdG8gdGhl
IGxlZnQuCisgICAgaWYgKCFsZWZ0bW9zdENvbHVtbikgeworICAgICAgICBjb2xFbHQgPSB0YWJs
ZUVsdC0+Y29sRWxlbWVudChjb2woKSArIChydGwgPyBjb2xTcGFuKCkgOiAtMSkpOwogICAgICAg
ICBpZiAoY29sRWx0KSB7CiAgICAgICAgICAgICByZXN1bHQgPSBjb21wYXJlQm9yZGVycyhyZXN1
bHQsIENvbGxhcHNlZEJvcmRlclZhbHVlKCZjb2xFbHQtPnN0eWxlKCktPmJvcmRlclJpZ2h0KCks
IEJDT0wpKTsKICAgICAgICAgICAgIGlmICghcmVzdWx0LmV4aXN0cygpKQogICAgICAgICAgICAg
ICAgIHJldHVybiByZXN1bHQ7CiAgICAgICAgIH0KLSAgICB9Ci0gICAgCi0gICAgaWYgKGNvbCgp
ID09IDApIHsKKyAgICB9IGVsc2UgewogICAgICAgICAvLyAoNykgVGhlIHRhYmxlJ3MgbGVmdCBi
b3JkZXIuCi0gICAgICAgIHJlc3VsdCA9IGNvbXBhcmVCb3JkZXJzKHJlc3VsdCwgQ29sbGFwc2Vk
Qm9yZGVyVmFsdWUoJnRhYmxlKCktPnN0eWxlKCktPmJvcmRlckxlZnQoKSwgQlRBQkxFKSk7Cisg
ICAgICAgIHJlc3VsdCA9IGNvbXBhcmVCb3JkZXJzKHJlc3VsdCwgQ29sbGFwc2VkQm9yZGVyVmFs
dWUoJnRhYmxlRWx0LT5zdHlsZSgpLT5ib3JkZXJMZWZ0KCksIEJUQUJMRSkpOwogICAgICAgICBp
ZiAoIXJlc3VsdC5leGlzdHMoKSkKICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQpA
QCAtMjY2LDIxICsyNzIsMjUgQEAKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi1Db2xsYXBzZWRC
b3JkZXJWYWx1ZSBSZW5kZXJUYWJsZUNlbGw6OmNvbGxhcHNlZFJpZ2h0Qm9yZGVyKCkgY29uc3QK
K0NvbGxhcHNlZEJvcmRlclZhbHVlIFJlbmRlclRhYmxlQ2VsbDo6Y29sbGFwc2VkUmlnaHRCb3Jk
ZXIoYm9vbCBydGwpIGNvbnN0CiB7CiAgICAgUmVuZGVyVGFibGUqIHRhYmxlRWx0ID0gdGFibGUo
KTsKLSAgICBib29sIGluTGFzdENvbHVtbiA9IGZhbHNlOwotICAgIGludCBlZmZDb2wgPSB0YWJs
ZUVsdC0+Y29sVG9FZmZDb2woY29sKCkgKyBjb2xTcGFuKCkgLSAxKTsKLSAgICBpZiAoZWZmQ29s
ID09IHRhYmxlRWx0LT5udW1FZmZDb2xzKCkgLSAxKQotICAgICAgICBpbkxhc3RDb2x1bW4gPSB0
cnVlOworICAgIGJvb2wgcmlnaHRtb3N0Q29sdW1uID0gZmFsc2U7CisgICAgaWYgKHJ0bCkKKyAg
ICAgICAgcmlnaHRtb3N0Q29sdW1uID0gY29sKCkgPT0gMDsKKyAgICBlbHNlIHsKKyAgICAgICAg
aW50IGVmZkNvbCA9IHRhYmxlRWx0LT5jb2xUb0VmZkNvbChjb2woKSArIGNvbFNwYW4oKSAtIDEp
OworICAgICAgICBpZiAoZWZmQ29sID09IHRhYmxlRWx0LT5udW1FZmZDb2xzKCkgLSAxKQorICAg
ICAgICAgICAgcmlnaHRtb3N0Q29sdW1uID0gdHJ1ZTsKKyAgICB9CiAgICAgCiAgICAgLy8gRm9y
IGJvcmRlciByaWdodCwgd2UgbmVlZCB0byBjaGVjaywgaW4gb3JkZXIgb2YgcHJlY2VkZW5jZToK
ICAgICAvLyAoMSkgT3VyIHJpZ2h0IGJvcmRlci4KICAgICBDb2xsYXBzZWRCb3JkZXJWYWx1ZSBy
ZXN1bHQgPSBDb2xsYXBzZWRCb3JkZXJWYWx1ZSgmc3R5bGUoKS0+Ym9yZGVyUmlnaHQoKSwgQkNF
TEwpOwogICAgIAotICAgIC8vICgyKSBUaGUgbmV4dCBjZWxsJ3MgbGVmdCBib3JkZXIuCi0gICAg
aWYgKCFpbkxhc3RDb2x1bW4pIHsKLSAgICAgICAgUmVuZGVyVGFibGVDZWxsKiBuZXh0Q2VsbCA9
IHRhYmxlRWx0LT5jZWxsUmlnaHQodGhpcyk7CisgICAgLy8gKDIpIFRoZSBsZWZ0IGJvcmRlciBv
ZiB0aGUgY2VsbCB0byB0aGUgcmlnaHQuCisgICAgaWYgKCFyaWdodG1vc3RDb2x1bW4pIHsKKyAg
ICAgICAgUmVuZGVyVGFibGVDZWxsKiBuZXh0Q2VsbCA9IHJ0bCA/IHRhYmxlRWx0LT5jZWxsUHJl
dmlvdXModGhpcykgOiB0YWJsZUVsdC0+Y2VsbE5leHQodGhpcyk7CiAgICAgICAgIGlmIChuZXh0
Q2VsbCAmJiBuZXh0Q2VsbC0+c3R5bGUoKSkgewogICAgICAgICAgICAgcmVzdWx0ID0gY29tcGFy
ZUJvcmRlcnMocmVzdWx0LCBDb2xsYXBzZWRCb3JkZXJWYWx1ZSgmbmV4dENlbGwtPnN0eWxlKCkt
PmJvcmRlckxlZnQoKSwgQkNFTEwpKTsKICAgICAgICAgICAgIGlmICghcmVzdWx0LmV4aXN0cygp
KQpAQCAtMjk5LDIzICszMDksMjIgQEAKICAgICB9CiAgICAgCiAgICAgLy8gKDUpIE91ciBjb2x1
bW4ncyByaWdodCBib3JkZXIuCi0gICAgUmVuZGVyVGFibGVDb2wqIGNvbEVsdCA9IHRhYmxlKCkt
PmNvbEVsZW1lbnQoY29sKCkrY29sU3BhbigpIC0gMSk7CisgICAgUmVuZGVyVGFibGVDb2wqIGNv
bEVsdCA9IHRhYmxlRWx0LT5jb2xFbGVtZW50KGNvbCgpICsgKHJ0bCA/IDAgOiBjb2xTcGFuKCkg
LSAxKSk7CiAgICAgaWYgKGNvbEVsdCkgewogICAgICAgICByZXN1bHQgPSBjb21wYXJlQm9yZGVy
cyhyZXN1bHQsIENvbGxhcHNlZEJvcmRlclZhbHVlKCZjb2xFbHQtPnN0eWxlKCktPmJvcmRlclJp
Z2h0KCksIEJDT0wpKTsKICAgICAgICAgaWYgKCFyZXN1bHQuZXhpc3RzKCkpCiAgICAgICAgICAg
ICByZXR1cm4gcmVzdWx0OwogICAgIH0KICAgICAKLSAgICAvLyAoNikgVGhlIG5leHQgY29sdW1u
J3MgbGVmdCBib3JkZXIuCi0gICAgaWYgKCFpbkxhc3RDb2x1bW4pIHsKLSAgICAgICAgY29sRWx0
ID0gdGFibGVFbHQtPmNvbEVsZW1lbnQoY29sKCkrY29sU3BhbigpKTsKKyAgICAvLyAoNikgVGhl
IGxlZnQgYm9yZGVyIG9mIHRoZSBjb2x1bW4gdG8gdGhlIHJpZ2h0LgorICAgIGlmICghcmlnaHRt
b3N0Q29sdW1uKSB7CisgICAgICAgIGNvbEVsdCA9IHRhYmxlRWx0LT5jb2xFbGVtZW50KGNvbCgp
ICsgKHJ0bCA/IC0xIDogY29sU3BhbigpKSk7CiAgICAgICAgIGlmIChjb2xFbHQpIHsKICAgICAg
ICAgICAgIHJlc3VsdCA9IGNvbXBhcmVCb3JkZXJzKHJlc3VsdCwgQ29sbGFwc2VkQm9yZGVyVmFs
dWUoJmNvbEVsdC0+c3R5bGUoKS0+Ym9yZGVyTGVmdCgpLCBCQ09MKSk7CiAgICAgICAgICAgICBp
ZiAoIXJlc3VsdC5leGlzdHMoKSkKICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OwogICAg
ICAgICB9Ci0gICAgfQotICAgIGVsc2UgeworICAgIH0gZWxzZSB7CiAgICAgICAgIC8vICg3KSBU
aGUgdGFibGUncyByaWdodCBib3JkZXIuCiAgICAgICAgIHJlc3VsdCA9IGNvbXBhcmVCb3JkZXJz
KHJlc3VsdCwgQ29sbGFwc2VkQm9yZGVyVmFsdWUoJnRhYmxlRWx0LT5zdHlsZSgpLT5ib3JkZXJS
aWdodCgpLCBCVEFCTEUpKTsKICAgICAgICAgaWYgKCFyZXN1bHQuZXhpc3RzKCkpCkBAIC00NjMs
NyArNDcyLDcgQEAKIGludCBSZW5kZXJUYWJsZUNlbGw6OmJvcmRlckxlZnQoKSBjb25zdAogewog
ICAgIGlmICh0YWJsZSgpLT5jb2xsYXBzZUJvcmRlcnMoKSkgewotICAgICAgICBDb2xsYXBzZWRC
b3JkZXJWYWx1ZSBib3JkZXIgPSBjb2xsYXBzZWRMZWZ0Qm9yZGVyKCk7CisgICAgICAgIENvbGxh
cHNlZEJvcmRlclZhbHVlIGJvcmRlciA9IGNvbGxhcHNlZExlZnRCb3JkZXIodGFibGUoKS0+c3R5
bGUoKS0+ZGlyZWN0aW9uKCkgPT0gUlRMKTsKICAgICAgICAgaWYgKGJvcmRlci5leGlzdHMoKSkK
ICAgICAgICAgICAgIHJldHVybiBpbnQoYm9yZGVyLndpZHRoKCkgLyAyLjAgKyAwLjUpOyAvLyBH
aXZlIHRoZSBleHRyYSBwaXhlbCB0byB0b3AgYW5kIGxlZnQuCiAgICAgICAgIHJldHVybiAwOwpA
QCAtNDc0LDcgKzQ4Myw3IEBACiBpbnQgUmVuZGVyVGFibGVDZWxsOjpib3JkZXJSaWdodCgpIGNv
bnN0CiB7CiAgICAgaWYgKHRhYmxlKCktPmNvbGxhcHNlQm9yZGVycygpKSB7Ci0gICAgICAgIENv
bGxhcHNlZEJvcmRlclZhbHVlIGJvcmRlciA9IGNvbGxhcHNlZFJpZ2h0Qm9yZGVyKCk7CisgICAg
ICAgIENvbGxhcHNlZEJvcmRlclZhbHVlIGJvcmRlciA9IGNvbGxhcHNlZFJpZ2h0Qm9yZGVyKHRh
YmxlKCktPnN0eWxlKCktPmRpcmVjdGlvbigpID09IFJUTCk7CiAgICAgICAgIGlmIChib3JkZXIu
ZXhpc3RzKCkpCiAgICAgICAgICAgICByZXR1cm4gYm9yZGVyLndpZHRoKCkgLyAyOwogICAgICAg
ICByZXR1cm4gMDsKQEAgLTYxNSw4ICs2MjQsOSBAQAogCiB2b2lkIFJlbmRlclRhYmxlQ2VsbDo6
Y29sbGVjdEJvcmRlcnMoUVZhbHVlTGlzdDxDb2xsYXBzZWRCb3JkZXJWYWx1ZT4mIGJvcmRlclN0
eWxlcykKIHsKLSAgICBhZGRCb3JkZXJTdHlsZShib3JkZXJTdHlsZXMsIGNvbGxhcHNlZExlZnRC
b3JkZXIoKSk7Ci0gICAgYWRkQm9yZGVyU3R5bGUoYm9yZGVyU3R5bGVzLCBjb2xsYXBzZWRSaWdo
dEJvcmRlcigpKTsKKyAgICBib29sIHJ0bCA9IHRhYmxlKCktPnN0eWxlKCktPmRpcmVjdGlvbigp
ID09IFJUTDsKKyAgICBhZGRCb3JkZXJTdHlsZShib3JkZXJTdHlsZXMsIGNvbGxhcHNlZExlZnRC
b3JkZXIocnRsKSk7CisgICAgYWRkQm9yZGVyU3R5bGUoYm9yZGVyU3R5bGVzLCBjb2xsYXBzZWRS
aWdodEJvcmRlcihydGwpKTsKICAgICBhZGRCb3JkZXJTdHlsZShib3JkZXJTdHlsZXMsIGNvbGxh
cHNlZFRvcEJvcmRlcigpKTsKICAgICBhZGRCb3JkZXJTdHlsZShib3JkZXJTdHlsZXMsIGNvbGxh
cHNlZEJvdHRvbUJvcmRlcigpKTsKIH0KQEAgLTYyNiw4ICs2MzYsOSBAQAogICAgIGlmICghdGFi
bGUoKS0+Y3VycmVudEJvcmRlclN0eWxlKCkpCiAgICAgICAgIHJldHVybjsKICAgICAKLSAgICBD
b2xsYXBzZWRCb3JkZXJWYWx1ZSBsZWZ0VmFsID0gY29sbGFwc2VkTGVmdEJvcmRlcigpOwotICAg
IENvbGxhcHNlZEJvcmRlclZhbHVlIHJpZ2h0VmFsID0gY29sbGFwc2VkUmlnaHRCb3JkZXIoKTsK
KyAgICBib29sIHJ0bCA9IHRhYmxlKCktPnN0eWxlKCktPmRpcmVjdGlvbigpID09IFJUTDsKKyAg
ICBDb2xsYXBzZWRCb3JkZXJWYWx1ZSBsZWZ0VmFsID0gY29sbGFwc2VkTGVmdEJvcmRlcihydGwp
OworICAgIENvbGxhcHNlZEJvcmRlclZhbHVlIHJpZ2h0VmFsID0gY29sbGFwc2VkUmlnaHRCb3Jk
ZXIocnRsKTsKICAgICBDb2xsYXBzZWRCb3JkZXJWYWx1ZSB0b3BWYWwgPSBjb2xsYXBzZWRUb3BC
b3JkZXIoKTsKICAgICBDb2xsYXBzZWRCb3JkZXJWYWx1ZSBib3R0b21WYWwgPSBjb2xsYXBzZWRC
b3R0b21Cb3JkZXIoKTsKICAgICAgCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJs
ZUNlbGwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwu
aAkocmV2aXNpb24gMTI0MjcpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwu
aAkod29ya2luZyBjb3B5KQpAQCAtNzMsOCArNzMsOCBAQCBwdWJsaWM6CiAgICAgaW50IGJvcmRl
clRvcCgpIGNvbnN0OwogICAgIGludCBib3JkZXJCb3R0b20oKSBjb25zdDsKIAotICAgIENvbGxh
cHNlZEJvcmRlclZhbHVlIGNvbGxhcHNlZExlZnRCb3JkZXIoKSBjb25zdDsKLSAgICBDb2xsYXBz
ZWRCb3JkZXJWYWx1ZSBjb2xsYXBzZWRSaWdodEJvcmRlcigpIGNvbnN0OworICAgIENvbGxhcHNl
ZEJvcmRlclZhbHVlIGNvbGxhcHNlZExlZnRCb3JkZXIoYm9vbCBydGwpIGNvbnN0OworICAgIENv
bGxhcHNlZEJvcmRlclZhbHVlIGNvbGxhcHNlZFJpZ2h0Qm9yZGVyKGJvb2wgcnRsKSBjb25zdDsK
ICAgICBDb2xsYXBzZWRCb3JkZXJWYWx1ZSBjb2xsYXBzZWRUb3BCb3JkZXIoKSBjb25zdDsKICAg
ICBDb2xsYXBzZWRCb3JkZXJWYWx1ZSBjb2xsYXBzZWRCb3R0b21Cb3JkZXIoKSBjb25zdDsKICAg
ICB2aXJ0dWFsIHZvaWQgY29sbGVjdEJvcmRlcnMoUVZhbHVlTGlzdDxDb2xsYXBzZWRCb3JkZXJW
YWx1ZT4mIGJvcmRlclN0eWxlcyk7Cg==
</data>
<flag name="review"
          id="1458"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>