<?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>5777</bug_id>
          
          <creation_ts>2005-11-19 16:18:52 -0800</creation_ts>
          <short_desc>REGRESSION: ToT crashes applying first-letter pseudo-property</short_desc>
          <delta_ts>2006-01-31 21:20:51 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>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></keywords>
          <priority>P1</priority>
          <bug_severity>Blocker</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>mitz</reporter>
          <assigned_to name="Dave Hyatt">hyatt</assigned_to>
          <cc>eric</cc>
    
    <cc>webkit-bugs</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>24277</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2005-11-19 16:18:52 -0800</bug_when>
    <thetext>Safari and DumpRenderTree crash when opening the css1/pseudo/firstletter.html layout test.

This is a very fresh regression (probably &lt;48h).

Backtrace (from DRT):

0   com.apple.WebCore        	0x013c4ae4 khtml::RenderStyle::isFloating() const + 20 (render_style.h:
1175)
1   com.apple.WebCore        	0x0125e384 khtml::RenderBlock::updateFirstLetter() + 1096 
(render_block.cpp:3339)
2   com.apple.WebCore        	0x011c9398 khtml::RenderObject::recalcMinMaxWidths() + 260 
(render_object.cpp:2286)
3   com.apple.WebCore        	0x011c9494 khtml::RenderObject::recalcMinMaxWidths() + 512 
(render_object.cpp:2298)
4   com.apple.WebCore        	0x011c9494 khtml::RenderObject::recalcMinMaxWidths() + 512 
(render_object.cpp:2298)
5   com.apple.WebCore        	0x011c9494 khtml::RenderObject::recalcMinMaxWidths() + 512 
(render_object.cpp:2298)
6   com.apple.WebCore        	0x0126c464 khtml::RenderCanvas::layout() + 412 (render_canvas.cpp:
156)
7   com.apple.WebCore        	0x010a8458 KHTMLView::layout() + 1660 (khtmlview.cpp:689)
8   com.apple.WebCore        	0x011f7b50 DOM::DocumentImpl::implicitClose() + 1316 
(dom_docimpl.cpp:1468)
9   com.apple.WebCore        	0x010a30b4 KHTMLPart::checkEmitLoadEvent() + 916 (khtml_part.cpp:
2027)
10  com.apple.WebCore        	0x010a32d0 KHTMLPart::checkCompleted() + 520 (khtml_part.cpp:
1950)
11  com.apple.WebCore        	0x010a47dc KHTMLPart::slotLoaderRequestDone(khtml::DocLoader*, 
khtml::CachedObject*) + 60 (khtml_part.cpp:1864)
12  com.apple.WebCore        	0x012342c0 KWQSlot::call(khtml::DocLoader*, khtml::CachedObject*) 
const + 128 (KWQSlot.mm:353)
13  com.apple.WebCore        	0x0123354c KWQSignal::call(khtml::DocLoader*, khtml::CachedObject*) 
const + 232 (KWQSignal.mm:147)
14  com.apple.WebCore        	0x010670e4 khtml::Loader::requestDone(khtml::DocLoader*, 
khtml::CachedObject*) + 60 (KWQSignalStubs.mm:45)
15  com.apple.WebCore        	0x0118a390 khtml::Loader::slotFinished(KIO::Job*, NSData*) + 712 
(loader.cpp:1674)
16  com.apple.WebCore        	0x01234674 KWQSlot::callWithData(KIO::Job*, NSData*) const + 108 
(KWQSlot.mm:323)
17  com.apple.WebCore        	0x01233184 KWQSignal::callWithData(KIO::Job*, NSData*) const + 232 
(KWQSignal.mm:183)
18  com.apple.WebCore        	0x01038e60 KIO::TransferJob::emitResult(NSData*) + 72 
(KWQKJobClasses.mm:243)
19  com.apple.WebCore        	0x0123fff8 -[KWQResourceLoader finishJobAndHandle:] + 124 
(KWQResourceLoader.mm:95)
20  com.apple.WebCore        	0x01240294 -[KWQResourceLoader finishWithData:] + 196 
(KWQResourceLoader.mm:126)
21  com.apple.WebKit         	0x002425ec -[WebSubresourceLoader didFinishLoading] + 132 
(WebSubresourceLoader.m:218)
22  com.apple.WebKit         	0x00251124 -[WebLoader connectionDidFinishLoading:] + 184 
(WebLoader.m:663)
23  com.apple.Foundation     	0x92910cdc -[NSURLConnection(NSURLConnectionInternal) 
_sendDidFinishLoadingCallback] + 188
24  com.apple.Foundation     	0x9290ef48 -[NSURLConnection(NSURLConnectionInternal) 
_sendCallbacks] + 556
25  com.apple.Foundation     	0x9290eca0 _sendCallbacks + 156
26  com.apple.CoreFoundation 	0x9075da5c __CFRunLoopDoSources0 + 384
27  com.apple.CoreFoundation 	0x9075cf8c __CFRunLoopRun + 452
28  com.apple.CoreFoundation 	0x9075ca0c CFRunLoopRunSpecific + 268
29  com.apple.Foundation     	0x928ed664 -[NSRunLoop runMode:beforeDate:] + 172
30  DumpRenderTree           	0x00006094 dumpRenderTree + 740 (DumpRenderTree.m:567)
31  DumpRenderTree           	0x00003a60 main + 2244 (DumpRenderTree.m:171)
32  DumpRenderTree           	0x000029f4 _start + 340 (crt.c:272)
33  DumpRenderTree           	0x0000289c start + 60</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>24278</commentid>
    <comment_count>1</comment_count>
      <attachid>4737</attachid>
    <who name="Daniel Udey">dan</who>
    <bug_when>2005-11-19 16:35:19 -0800</bug_when>
    <thetext>Created attachment 4737
testcase for first-letter regression

ToT crashes when applying styles to the first-letter pseudo-property of an
element. This example uses a paragraph tag, but the result is the same with any
tag tested.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>24294</commentid>
    <comment_count>2</comment_count>
    <who name="">mitz</who>
    <bug_when>2005-11-20 08:55:19 -0800</bug_when>
    <thetext>*** Bug 5780 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>24295</commentid>
    <comment_count>3</comment_count>
    <who name="">mitz</who>
    <bug_when>2005-11-20 09:16:48 -0800</bug_when>
    <thetext>Looks like a regression from

2005-11-17  David Hyatt  &lt;hyatt@apple.com&gt;

	Add support for getMatchedCSSRules, an API that can be used to
	inspect the set of rules that match on an element.  From Obj-C
	you see all rules (user agent, author, user).  From JS you just
	see author rules.

(Rolling out the patch eliminates this bug).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>24297</commentid>
    <comment_count>4</comment_count>
    <who name="">mitz</who>
    <bug_when>2005-11-20 10:00:09 -0800</bug_when>
    <thetext>This is the culprit (from that patch):

  --- cssstyleselector.cpp	2 Nov 2005 08:52:40 -0000	1.220
  +++ cssstyleselector.cpp	17 Nov 2005 21:28:10 -0000	1.221
  @@ -377,8 +378,16 @@
       sortMatchedRules(0, m_matchedRuleCount);
       
       // Now transfer the set of matched rules over to our list of decls.
  -    for (unsigned i = 0; i &lt; m_matchedRuleCount; i++)
  -        addMatchedDeclaration(m_matchedRules[i]-&gt;rule()-&gt;declaration());
  +    if (style) {
  +        for (unsigned i = 0; i &lt; m_matchedRuleCount; i++)
  +            addMatchedDeclaration(m_matchedRules[i]-&gt;rule()-&gt;declaration());
  +    } else {
  +        for (unsigned i = 0; i &lt; m_matchedRuleCount; i++) {
  +            if (!m_ruleList)
  +                m_ruleList = new CSSRuleListImpl();
  +            m_ruleList-&gt;append(m_matchedRules[i]-&gt;rule());
  +        }
  +    }
   }
   
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>24307</commentid>
    <comment_count>5</comment_count>
    <who name="Rosyna">webkit-bugs</who>
    <bug_when>2005-11-20 11:58:23 -0800</bug_when>
    <thetext>*** Bug 5781 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>24308</commentid>
    <comment_count>6</comment_count>
      <attachid>4750</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2005-11-20 13:42:16 -0800</bug_when>
    <thetext>Created attachment 4750
Hyatt&apos;s original patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>24309</commentid>
    <comment_count>7</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2005-11-20 13:42:38 -0800</bug_when>
    <thetext>I rolled out hyatt&apos;s patch (which I have attached).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>29383</commentid>
    <comment_count>8</comment_count>
    <who name="Joost de Valk (AlthA)">joost</who>
    <bug_when>2006-01-22 04:51:56 -0800</bug_when>
    <thetext>Removing keyword(s) cause bug is fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>29387</commentid>
    <comment_count>9</comment_count>
    <who name="Joost de Valk (AlthA)">joost</who>
    <bug_when>2006-01-22 04:54:30 -0800</bug_when>
    <thetext>Removing keyword(s) since bug is fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>29412</commentid>
    <comment_count>10</comment_count>
    <who name="Joost de Valk (AlthA)">joost</who>
    <bug_when>2006-01-22 05:00:00 -0800</bug_when>
    <thetext>Removing keyword(s) since bug is fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>30884</commentid>
    <comment_count>11</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2006-01-31 21:20:51 -0800</bug_when>
    <thetext>Removing Regression keyword from bugs already fixed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>4737</attachid>
            <date>2005-11-19 16:35:19 -0800</date>
            <delta_ts>2005-11-19 16:35:19 -0800</delta_ts>
            <desc>testcase for first-letter regression</desc>
            <filename>First-letter Regression.html</filename>
            <type>text/html</type>
            <size>333</size>
            <attacher name="Daniel Udey">dan</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv
L0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLWh0bWw0MC9sb29zZS5kdGQiPg08SFRNTD4N
PEhFQUQ+DTxUSVRMRT5DU1MxIFRlc3QgU3VpdGU6IDIuNCBmaXJzdC1sZXR0ZXI8L1RJVExFPg0N
PFNUWUxFIHR5cGU9InRleHQvY3NzIj4NUDpmaXJzdC1sZXR0ZXIge2NvbG9yOiBibGFjazt9DTwv
U1RZTEU+DQ08L0hFQUQ+DQ08Qk9EWT4NPFA+VGhlIHN0eWxlIGRlY2xhcmF0aW9ucyB3aGljaCBh
cHBseSB0byB0aGUgdGV4dCBiZWxvdyBhcmU6PC9QPg08L0JPRFk+DTwvSFRNTD4N
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>4750</attachid>
            <date>2005-11-20 13:42:16 -0800</date>
            <delta_ts>2005-11-20 13:42:16 -0800</delta_ts>
            <desc>Hyatt&apos;s original patch.</desc>
            <filename>hyatt.patch</filename>
            <type>text/plain</type>
            <size>14051</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">IDEuMzc3ICAgICArMzAgLTAgICAgIFdlYkNvcmUvQ2hhbmdlTG9nCiAKIEluZGV4OiBDaGFuZ2VM
b2cKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KIFJDUyBmaWxlOiAvY3ZzL3Jvb3QvV2ViQ29yZS9DaGFuZ2VMb2csdgog
cmV0cmlldmluZyByZXZpc2lvbiAxLjM3NgogcmV0cmlldmluZyByZXZpc2lvbiAxLjM3NwogZGlm
ZiAtdSAtcjEuMzc2IC1yMS4zNzcKIC0tLSBDaGFuZ2VMb2cJMTcgTm92IDIwMDUgMTg6NDQ6NTAg
LTAwMDAJMS4zNzYKICsrKyBDaGFuZ2VMb2cJMTcgTm92IDIwMDUgMjE6Mjg6MDcgLTAwMDAJMS4z
NzcKIEBAIC0xLDMgKzEsMzMgQEAKICsyMDA1LTExLTE3ICBEYXZpZCBIeWF0dCAgPGh5YXR0QGFw
cGxlLmNvbT4KICsKICsJQWRkIHN1cHBvcnQgZm9yIGdldE1hdGNoZWRDU1NSdWxlcywgYW4gQVBJ
IHRoYXQgY2FuIGJlIHVzZWQgdG8KICsJaW5zcGVjdCB0aGUgc2V0IG9mIHJ1bGVzIHRoYXQgbWF0
Y2ggb24gYW4gZWxlbWVudC4gIEZyb20gT2JqLUMKICsJeW91IHNlZSBhbGwgcnVsZXMgKHVzZXIg
YWdlbnQsIGF1dGhvciwgdXNlcikuICBGcm9tIEpTIHlvdSBqdXN0CiArCXNlZSBhdXRob3IgcnVs
ZXMuCiArCQogKyAgICAgICAgUmV2aWV3ZWQgYnkgZGFyaW4KICsKICsgICAgICAgICoga2h0bWwv
Y3NzL2Nzc3BhcnNlci5jcHA6CiArICAgICAgICAqIGtodG1sL2Nzcy9jc3NzdHlsZXNlbGVjdG9y
LmNwcDoKICsgICAgICAgIChraHRtbDo6Q1NTU3R5bGVTZWxlY3Rvcjo6bWF0Y2hSdWxlcyk6CiAr
ICAgICAgICAoa2h0bWw6OkNTU1N0eWxlU2VsZWN0b3I6Om1hdGNoUnVsZXNGb3JMaXN0KToKICsg
ICAgICAgIChraHRtbDo6Q1NTU3R5bGVTZWxlY3Rvcjo6aW5pdEZvclN0eWxlUmVzb2x2ZSk6CiAr
ICAgICAgICAoa2h0bWw6OkNTU1N0eWxlU2VsZWN0b3I6OnN0eWxlUnVsZXNGb3JFbGVtZW50KToK
ICsgICAgICAgIChraHRtbDo6Q1NTU3R5bGVTZWxlY3Rvcjo6cHNldWRvU3R5bGVSdWxlc0ZvckVs
ZW1lbnQpOgogKyAgICAgICAgKiBraHRtbC9jc3MvY3Nzc3R5bGVzZWxlY3Rvci5oOgogKyAgICAg
ICAgKiBraHRtbC9jc3MvcGFyc2VyLnk6CiArICAgICAgICAqIGtodG1sL2VjbWEva2pzX3ZpZXdz
LmNwcDoKICsgICAgICAgIChLSlM6OkRPTUFic3RyYWN0Vmlld1Byb3RvRnVuYzo6Y2FsbEFzRnVu
Y3Rpb24pOgogKyAgICAgICAgKiBraHRtbC9lY21hL2tqc192aWV3cy5oOgogKyAgICAgICAgKEtK
Uzo6RE9NQWJzdHJhY3RWaWV3OjopOgogKyAgICAgICAgKiBraHRtbC94bWwvZG9tMl92aWV3c2lt
cGwuY3BwOgogKyAgICAgICAgKERPTTo6QWJzdHJhY3RWaWV3SW1wbDo6Z2V0Q29tcHV0ZWRTdHls
ZSk6CiArICAgICAgICAoRE9NOjpBYnN0cmFjdFZpZXdJbXBsOjpnZXRNYXRjaGVkQ1NTUnVsZXMp
OgogKyAgICAgICAgKiBraHRtbC94bWwvZG9tMl92aWV3c2ltcGwuaDoKICsgICAgICAgICoga3dx
L0RPTS1DU1MubW06CiArICAgICAgICAoLVtET01Eb2N1bWVudCBnZXRNYXRjaGVkQ1NTUnVsZXM6
Ol0pOgogKyAgICAgICAgKiBrd3EvRE9NQ1NTLmg6CiArCiAgMjAwNS0xMS0xNyAgQmV0aCBEYWtp
biAgPGJkYWtpbkBhcHBsZS5jb20+CiAgCiAgICAgICAgICBSZXZpZXdlZCBieSBEYXJpbgogCiAK
IAogMS4xMTAgICAgICsyIC0xICAgICAgV2ViQ29yZS9raHRtbC9jc3MvY3NzcGFyc2VyLmNwcAog
CiBJbmRleDogY3NzcGFyc2VyLmNwcAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogUkNTIGZpbGU6IC9jdnMvcm9vdC9X
ZWJDb3JlL2todG1sL2Nzcy9jc3NwYXJzZXIuY3BwLHYKIHJldHJpZXZpbmcgcmV2aXNpb24gMS4x
MDkKIHJldHJpZXZpbmcgcmV2aXNpb24gMS4xMTAKIGRpZmYgLXUgLXIxLjEwOSAtcjEuMTEwCiAt
LS0gY3NzcGFyc2VyLmNwcAkyIE5vdiAyMDA1IDA4OjUyOjM5IC0wMDAwCTEuMTA5CiArKysgY3Nz
cGFyc2VyLmNwcAkxNyBOb3YgMjAwNSAyMToyODoxMCAtMDAwMAkxLjExMAogQEAgLTIsNyArMiw4
IEBACiAgICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIERPTSBpbXBsZW1lbnRhdGlvbiBmb3Ig
S0RFLgogICAqCiAgICogQ29weXJpZ2h0IChDKSAyMDAzIExhcnMgS25vbGwgKGtub2xsQGtkZS5v
cmcpCiAtICogQ29weXJpZ2h0IChDKSAyMDA0IEFwcGxlIENvbXB1dGVyLCBJbmMuCiArICogQ29w
eXJpZ2h0IChDKSAyMDA1IEFsbGFuIFNhbmRmZWxkIEplbnNlbiAoa2RlQGNhcmV3b2xmLmNvbSkK
ICsgKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUgQXBwbGUgQ29tcHV0ZXIsIEluYy4KICAgKgog
ICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp
dCBhbmQvb3IKICAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYwogCiAKIAogMS4yMjEgICAgICs1NCAtNSAgICAgV2ViQ29yZS9raHRt
bC9jc3MvY3Nzc3R5bGVzZWxlY3Rvci5jcHAKIAogSW5kZXg6IGNzc3N0eWxlc2VsZWN0b3IuY3Bw
CiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09CiBSQ1MgZmlsZTogL2N2cy9yb290L1dlYkNvcmUva2h0bWwvY3NzL2Nzc3N0
eWxlc2VsZWN0b3IuY3BwLHYKIHJldHJpZXZpbmcgcmV2aXNpb24gMS4yMjAKIHJldHJpZXZpbmcg
cmV2aXNpb24gMS4yMjEKIGRpZmYgLXUgLXIxLjIyMCAtcjEuMjIxCiAtLS0gY3Nzc3R5bGVzZWxl
Y3Rvci5jcHAJMiBOb3YgMjAwNSAwODo1Mjo0MCAtMDAwMAkxLjIyMAogKysrIGNzc3N0eWxlc2Vs
ZWN0b3IuY3BwCTE3IE5vdiAyMDA1IDIxOjI4OjEwIC0wMDAwCTEuMjIxCiBAQCAtMiw3ICsyLDgg
QEAKICAgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQ1NTIGltcGxlbWVudGF0aW9uIGZvciBL
REUuCiAgICoKICAgKiBDb3B5cmlnaHQgKEMpIDE5OTkgTGFycyBLbm9sbCAoa25vbGxAa2RlLm9y
ZykKIC0gKiBDb3B5cmlnaHQgKEMpIDIwMDQgQXBwbGUgQ29tcHV0ZXIsIEluYy4KICsgKiAgICAg
ICAgICAgKEMpIDIwMDQtMjAwNSBBbGxhbiBTYW5kZmVsZCBKZW5zZW4gKGtkZUBjYXJld29sZi5j
b20pCiArICogQ29weXJpZ2h0IChDKSAyMDA1IEFwcGxlIENvbXB1dGVyLCBJbmMuCiAgICoKICAg
KiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yCiAgICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMKIEBAIC0zNzcsOCArMzc4LDE2IEBACiAgICAgIHNvcnRNYXRjaGVkUnVs
ZXMoMCwgbV9tYXRjaGVkUnVsZUNvdW50KTsKICAgICAgCiAgICAgIC8vIE5vdyB0cmFuc2ZlciB0
aGUgc2V0IG9mIG1hdGNoZWQgcnVsZXMgb3ZlciB0byBvdXIgbGlzdCBvZiBkZWNscy4KIC0gICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fbWF0Y2hlZFJ1bGVDb3VudDsgaSsrKQogLSAgICAg
ICAgYWRkTWF0Y2hlZERlY2xhcmF0aW9uKG1fbWF0Y2hlZFJ1bGVzW2ldLT5ydWxlKCktPmRlY2xh
cmF0aW9uKCkpOwogKyAgICBpZiAoc3R5bGUpIHsKICsgICAgICAgIGZvciAodW5zaWduZWQgaSA9
IDA7IGkgPCBtX21hdGNoZWRSdWxlQ291bnQ7IGkrKykKICsgICAgICAgICAgICBhZGRNYXRjaGVk
RGVjbGFyYXRpb24obV9tYXRjaGVkUnVsZXNbaV0tPnJ1bGUoKS0+ZGVjbGFyYXRpb24oKSk7CiAr
ICAgIH0gZWxzZSB7CiArICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9tYXRjaGVk
UnVsZUNvdW50OyBpKyspIHsKICsgICAgICAgICAgICBpZiAoIW1fcnVsZUxpc3QpCiArICAgICAg
ICAgICAgICAgIG1fcnVsZUxpc3QgPSBuZXcgQ1NTUnVsZUxpc3RJbXBsKCk7CiArICAgICAgICAg
ICAgbV9ydWxlTGlzdC0+YXBwZW5kKG1fbWF0Y2hlZFJ1bGVzW2ldLT5ydWxlKCkpOwogKyAgICAg
ICAgfQogKyAgICB9CiAgfQogIAogIHZvaWQgQ1NTU3R5bGVTZWxlY3Rvcjo6bWF0Y2hSdWxlc0Zv
ckxpc3QoQ1NTUnVsZURhdGFMaXN0KiBydWxlcywKIEBAIC0zOTYsNyArNDA1LDcgQEAKICAgICAg
ICAgICAgICAKICAgICAgICAgICAgICAvLyBJZiB3ZSdyZSBtYXRjaGluZyBub3JtYWwgcnVsZXMs
IHNldCBhIHBzZXVkbyBiaXQgaWYgCiAgICAgICAgICAgICAgLy8gd2UgcmVhbGx5IGp1c3QgbWF0
Y2hlZCBhIHBzZXVkby1lbGVtZW50LgogLSAgICAgICAgICAgIGlmIChkeW5hbWljUHNldWRvICE9
IFJlbmRlclN0eWxlOjpOT1BTRVVETyAmJiBwc2V1ZG9TdHlsZSA9PSBSZW5kZXJTdHlsZTo6Tk9Q
U0VVRE8pCiArICAgICAgICAgICAgaWYgKHN0eWxlICYmIGR5bmFtaWNQc2V1ZG8gIT0gUmVuZGVy
U3R5bGU6Ok5PUFNFVURPICYmIHBzZXVkb1N0eWxlID09IFJlbmRlclN0eWxlOjpOT1BTRVVETykK
ICAgICAgICAgICAgICAgICAgc3R5bGUtPnNldEhhc1BzZXVkb1N0eWxlKGR5bmFtaWNQc2V1ZG8p
OwogICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAvLyBVcGRhdGUgb3VyIGZp
cnN0L2xhc3QgcnVsZSBpbmRpY2VzIGluIHRoZSBtYXRjaGVkIHJ1bGVzIGFycmF5LgogQEAgLTUy
MCw3ICs1MjksOCBAQAogICAgICBtX21hdGNoZWRSdWxlQ291bnQgPSAwOwogICAgICBtX21hdGNo
ZWREZWNsQ291bnQgPSAwOwogICAgICBtX3RtcFJ1bGVDb3VudCA9IDA7CiAtICAgIAogKyAgICBt
X3J1bGVMaXN0ID0gMDsKICsKICAgICAgZm9udERpcnR5ID0gZmFsc2U7CiAgfQogIAogQEAgLTEw
MzUsNiArMTA0NSw0NSBAQAogICAgICAgICAgdmlldy0+dXNlU2xvd1JlcGFpbnRzKCk7CiAgfQog
IAogK1NoYXJlZFB0cjxDU1NSdWxlTGlzdEltcGw+IENTU1N0eWxlU2VsZWN0b3I6OnN0eWxlUnVs
ZXNGb3JFbGVtZW50KEVsZW1lbnRJbXBsKiBlLCBib29sIGF1dGhvck9ubHkpCiArewogKyAgICBp
ZiAoIWUtPmdldERvY3VtZW50KCktPmhhdmVTdHlsZXNoZWV0c0xvYWRlZCgpKQogKyAgICAgICAg
cmV0dXJuIDA7CiArCiArICAgIGluaXRFbGVtZW50QW5kUHNldWRvU3RhdGUoZSk7CiArICAgIGlu
aXRGb3JTdHlsZVJlc29sdmUoZSwgMCk7CiArICAgIAogKyAgICBpZiAoIWF1dGhvck9ubHkpIHsK
ICsgICAgICAgIC8vIEZpcnN0IHdlIG1hdGNoIHJ1bGVzIGZyb20gdGhlIHVzZXIgYWdlbnQgc2hl
ZXQuCiArICAgICAgICBpbnQgZmlyc3RVQVJ1bGUgPSAtMSwgbGFzdFVBUnVsZSA9IC0xOwogKyAg
ICAgICAgbWF0Y2hSdWxlcyhkZWZhdWx0U3R5bGUsIGZpcnN0VUFSdWxlLCBsYXN0VUFSdWxlKTsK
ICsgICAgICAgIAogKyAgICAgICAgLy8gSW4gcXVpcmtzIG1vZGUsIHdlIG1hdGNoIHJ1bGVzIGZy
b20gdGhlIHF1aXJrcyB1c2VyIGFnZW50IHNoZWV0LgogKyAgICAgICAgaWYgKCFzdHJpY3RQYXJz
aW5nKQogKyAgICAgICAgICAgIG1hdGNoUnVsZXMoZGVmYXVsdFF1aXJrc1N0eWxlLCBmaXJzdFVB
UnVsZSwgbGFzdFVBUnVsZSk7CiArICAgICAgICAKICsgICAgICAgIC8vIElmIG91ciBtZWRpdW0g
aXMgcHJpbnQsIHRoZW4gd2UgbWF0Y2ggcnVsZXMgZnJvbSB0aGUgcHJpbnQgc2hlZXQuCiArICAg
ICAgICBpZiAobV9tZWRpdW0gPT0gInByaW50IikKICsgICAgICAgICAgICBtYXRjaFJ1bGVzKGRl
ZmF1bHRQcmludFN0eWxlLCBmaXJzdFVBUnVsZSwgbGFzdFVBUnVsZSk7CiArCiArICAgICAgICAv
LyBOb3cgd2UgY2hlY2sgdXNlciBzaGVldCBydWxlcy4KICsgICAgICAgIGludCBmaXJzdFVzZXJS
dWxlID0gLTEsIGxhc3RVc2VyUnVsZSA9IC0xOwogKyAgICAgICAgbWF0Y2hSdWxlcyhtX3VzZXJT
dHlsZSwgZmlyc3RVc2VyUnVsZSwgbGFzdFVzZXJSdWxlKTsKICsgICAgfQogKwogKyAgICAvLyBD
aGVjayB0aGUgcnVsZXMgaW4gYXV0aG9yIHNoZWV0cy4KICsgICAgaW50IGZpcnN0QXV0aG9yUnVs
ZSA9IC0xLCBsYXN0QXV0aG9yUnVsZSA9IC0xOwogKyAgICBtYXRjaFJ1bGVzKG1fYXV0aG9yU3R5
bGUsIGZpcnN0QXV0aG9yUnVsZSwgbGFzdEF1dGhvclJ1bGUpOwogKyAgICAKICsgICAgcmV0dXJu
IG1fcnVsZUxpc3Q7CiArfQogKwogK1NoYXJlZFB0cjxDU1NSdWxlTGlzdEltcGw+IENTU1N0eWxl
U2VsZWN0b3I6OnBzZXVkb1N0eWxlUnVsZXNGb3JFbGVtZW50KEVsZW1lbnRJbXBsKiBlLCBET01T
dHJpbmdJbXBsKiBwc2V1ZG9TdHlsZSwgYm9vbCBhdXRob3JPbmx5KQogK3sKICsgICAgLy8gRklY
TUU6IEltcGxlbWVudCB0aGlzLgogKyAgICByZXR1cm4gMDsKICt9CiArCiAgc3RhdGljIGJvb2wg
c3ViamVjdDsKICAKICBib29sIENTU1N0eWxlU2VsZWN0b3I6OmNoZWNrU2VsZWN0b3IoQ1NTU2Vs
ZWN0b3IqIHNlbCwgRWxlbWVudEltcGwgKmUpCiAKIAogCiAxLjQzICAgICAgKzYgLTEgICAgICBX
ZWJDb3JlL2todG1sL2Nzcy9jc3NzdHlsZXNlbGVjdG9yLmgKIAogSW5kZXg6IGNzc3N0eWxlc2Vs
ZWN0b3IuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQogUkNTIGZpbGU6IC9jdnMvcm9vdC9XZWJDb3JlL2todG1sL2Nz
cy9jc3NzdHlsZXNlbGVjdG9yLmgsdgogcmV0cmlldmluZyByZXZpc2lvbiAxLjQyCiByZXRyaWV2
aW5nIHJldmlzaW9uIDEuNDMKIGRpZmYgLXUgLXIxLjQyIC1yMS40MwogLS0tIGNzc3N0eWxlc2Vs
ZWN0b3IuaAkzMCBPY3QgMjAwNSAwNToyNjoyNiAtMDAwMAkxLjQyCiArKysgY3Nzc3R5bGVzZWxl
Y3Rvci5oCTE3IE5vdiAyMDA1IDIxOjI4OjEwIC0wMDAwCTEuNDMKIEBAIC0xMTQsNiArMTE0LDEw
IEBACiAgICAgICAgICBET006Ok5vZGVJbXBsKiBsb2NhdGVDb3VzaW5MaXN0KERPTTo6RWxlbWVu
dEltcGwqIHBhcmVudCk7CiAgICAgICAgICBib29sIGNhblNoYXJlU3R5bGVXaXRoRWxlbWVudChE
T006Ok5vZGVJbXBsKiBuKTsKICAgICAgICAgIAogKyAgICAgICAgLy8gVGhlc2UgbWV0aG9kcyB3
aWxsIGdpdmUgYmFjayB0aGUgc2V0IG9mIHJ1bGVzIHRoYXQgbWF0Y2hlZCBmb3IgYSBnaXZlbiBl
bGVtZW50IChvciBhIHBzZXVkby1lbGVtZW50KS4KICsgICAgICAgIFNoYXJlZFB0cjxET006OkNT
U1J1bGVMaXN0SW1wbD4gc3R5bGVSdWxlc0ZvckVsZW1lbnQoRE9NOjpFbGVtZW50SW1wbCogZSwg
Ym9vbCBhdXRob3JPbmx5KTsKICsgICAgICAgIFNoYXJlZFB0cjxET006OkNTU1J1bGVMaXN0SW1w
bD4gcHNldWRvU3R5bGVSdWxlc0ZvckVsZW1lbnQoRE9NOjpFbGVtZW50SW1wbCogZSwgRE9NOjpE
T01TdHJpbmdJbXBsKiBwc2V1ZG9TdHlsZSwgYm9vbCBhdXRob3JPbmx5KTsKICsKICAJYm9vbCBz
dHJpY3RQYXJzaW5nOwogIAkKICAgICAgICAgIHN0cnVjdCBFbmNvZGVkdXJsIHsKIEBAIC0yMDks
NyArMjEzLDggQEAKICAgICAgICAgIHVuc2lnbmVkIG1fbWF0Y2hlZFJ1bGVDb3VudDsKICAgICAg
ICAgIFFNZW1BcnJheTxDU1NSdWxlRGF0YSo+IG1fdG1wUnVsZXM7CiAgICAgICAgICB1bnNpZ25l
ZCBtX3RtcFJ1bGVDb3VudDsKIC0gICAgICAgIAogKyAgICAgICAgRE9NOjpDU1NSdWxlTGlzdElt
cGwqIG1fcnVsZUxpc3Q7CiArCiAgICAgICAgICBRU3RyaW5nIG1fbWVkaXVtOwogIAogIAlSZW5k
ZXJTdHlsZTo6UHNldWRvSWQgZHluYW1pY1BzZXVkbzsKIAogCiAKIDEuNDYgICAgICArMSAtMSAg
ICAgIFdlYkNvcmUva2h0bWwvY3NzL3BhcnNlci55CiAKIEluZGV4OiBwYXJzZXIueQogPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQogUkNTIGZpbGU6IC9jdnMvcm9vdC9XZWJDb3JlL2todG1sL2Nzcy9wYXJzZXIueSx2CiBy
ZXRyaWV2aW5nIHJldmlzaW9uIDEuNDUKIHJldHJpZXZpbmcgcmV2aXNpb24gMS40NgogZGlmZiAt
dSAtcjEuNDUgLXIxLjQ2CiAtLS0gcGFyc2VyLnkJMyBPY3QgMjAwNSAyMToxMjowOCAtMDAwMAkx
LjQ1CiArKysgcGFyc2VyLnkJMTcgTm92IDIwMDUgMjE6Mjg6MTAgLTAwMDAJMS40NgogQEAgLTM4
LDcgKzM4LDcgQEAKICAvLyAjZGVmaW5lIENTU19ERUJVRwogIAogIHVzaW5nIG5hbWVzcGFjZSBE
T007CiAtIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiArdXNpbmcgbmFtZXNwYWNlIEhUTUxO
YW1lczsKICAKICAvLwogIC8vIFRoZSBmb2xsb3dpbmcgZmlsZSBkZWZpbmVzIHRoZSBmdW5jdGlv
bgogCiAKIAogMS4xNiAgICAgICsxMiAtMSAgICAgV2ViQ29yZS9raHRtbC9lY21hL2tqc192aWV3
cy5jcHAKIAogSW5kZXg6IGtqc192aWV3cy5jcHAKID09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIFJDUyBmaWxlOiAvY3Zz
L3Jvb3QvV2ViQ29yZS9raHRtbC9lY21hL2tqc192aWV3cy5jcHAsdgogcmV0cmlldmluZyByZXZp
c2lvbiAxLjE1CiByZXRyaWV2aW5nIHJldmlzaW9uIDEuMTYKIGRpZmYgLXUgLXIxLjE1IC1yMS4x
NgogLS0tIGtqc192aWV3cy5jcHAJNCBPY3QgMjAwNSAwNjoxMTozNSAtMDAwMAkxLjE1CiArKysg
a2pzX3ZpZXdzLmNwcAkxNyBOb3YgMjAwNSAyMToyODoxMiAtMDAwMAkxLjE2CiBAQCAtMzIsNyAr
MzIsNyBAQAogIHVzaW5nIERPTTo6RG9jdW1lbnRJbXBsOwogIHVzaW5nIERPTTo6RWxlbWVudElt
cGw7CiAgdXNpbmcgRE9NOjpOb2RlSW1wbDsKIC0KICt1c2luZyBET006OkNTU1J1bGVMaXN0SW1w
bDsKICAKICAjaW5jbHVkZSAia2pzX3ZpZXdzLmx1dC5oIgogIAogQEAgLTQ3LDYgKzQ3LDcgQEAK
ICBAZW5kCiAgQGJlZ2luIERPTUFic3RyYWN0Vmlld1Byb3RvVGFibGUgMQogICAgZ2V0Q29tcHV0
ZWRTdHlsZQlET01BYnN0cmFjdFZpZXc6OkdldENvbXB1dGVkU3R5bGUJRG9udERlbGV0ZXxGdW5j
dGlvbiAyCiArICBnZXRNYXRjaGVkQ1NTUnVsZXMgICBET01BYnN0cmFjdFZpZXc6OkdldE1hdGNo
ZWRDU1NSdWxlcyAgICBEb250RGVsZXRlfEZ1bmN0aW9uIDIKICBAZW5kCiAgKi8KICAKIEBAIC05
Miw2ICs5MywxNiBAQAogICAgICAgICAgICByZXR1cm4gZ2V0RE9NQ1NTU3R5bGVEZWNsYXJhdGlv
bihleGVjLCBhYnN0cmFjdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShhcmcwLCBhcmdzWzFdLT50b1N0
cmluZyhleGVjKS5kb21TdHJpbmcoKS5pbXBsKCkpKTsKICAgICAgICAgIH0KICAgICAgICB9CiAr
ICAgIGNhc2UgRE9NQWJzdHJhY3RWaWV3OjpHZXRNYXRjaGVkQ1NTUnVsZXM6IHsKICsgICAgICAg
IEVsZW1lbnRJbXBsICphcmcwID0gdG9FbGVtZW50KGFyZ3NbMF0pOwogKyAgICAgICAgaWYgKCFh
cmcwKQogKyAgICAgICAgICByZXR1cm4gVW5kZWZpbmVkKCk7IC8vIHRocm93IGV4Y2VwdGlvbj8K
ICsgICAgICAgIGVsc2UgewogKyAgICAgICAgICAvLyBObyBuZWVkIHRvIHVwZGF0ZSBsYXlvdXQs
IHNpbmNlIHdlIGp1c3Qgd2FudCB0aGUgYmFjay1lbmQgcnVsZXMuCiArICAgICAgICAgIHJldHVy
biBnZXRET01DU1NSdWxlTGlzdChleGVjLCBhYnN0cmFjdFZpZXcuZ2V0TWF0Y2hlZENTU1J1bGVz
KGFyZzAsIGFyZ3NbMV0tPnRvU3RyaW5nKGV4ZWMpLmRvbVN0cmluZygpLmltcGwoKSkuZ2V0KCkp
OwogKyAgICAgICAgfQogKyAgICAgIH0KICsKICAgIH0KICAgIHJldHVybiBVbmRlZmluZWQoKTsK
ICB9CiAKIAogCiAxLjExICAgICAgKzEgLTEgICAgICBXZWJDb3JlL2todG1sL2VjbWEva2pzX3Zp
ZXdzLmgKIAogSW5kZXg6IGtqc192aWV3cy5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiBSQ1MgZmlsZTogL2N2cy9y
b290L1dlYkNvcmUva2h0bWwvZWNtYS9ranNfdmlld3MuaCx2CiByZXRyaWV2aW5nIHJldmlzaW9u
IDEuMTAKIHJldHJpZXZpbmcgcmV2aXNpb24gMS4xMQogZGlmZiAtdSAtcjEuMTAgLXIxLjExCiAt
LS0ga2pzX3ZpZXdzLmgJNCBPY3QgMjAwNSAwNjoxMTozNiAtMDAwMAkxLjEwCiArKysga2pzX3Zp
ZXdzLmgJMTcgTm92IDIwMDUgMjE6Mjg6MTIgLTAwMDAJMS4xMQogQEAgLTM5LDcgKzM5LDcgQEAK
ICAgICAgdmlydHVhbCBjb25zdCBDbGFzc0luZm8qIGNsYXNzSW5mbygpIGNvbnN0IHsgcmV0dXJu
ICZpbmZvOyB9CiAgICAgIHN0YXRpYyBjb25zdCBDbGFzc0luZm8gaW5mbzsKICAgICAgRE9NOjpB
YnN0cmFjdFZpZXdJbXBsICppbXBsKCkgY29uc3QgeyByZXR1cm4gbV9pbXBsLmdldCgpOyB9CiAt
ICAgIGVudW0geyBEb2N1bWVudCwgR2V0Q29tcHV0ZWRTdHlsZSB9OwogKyAgICBlbnVtIHsgRG9j
dW1lbnQsIEdldENvbXB1dGVkU3R5bGUsIEdldE1hdGNoZWRDU1NSdWxlcyB9OwogICAgcHJpdmF0
ZToKICAgICAgU2hhcmVkUHRyPERPTTo6QWJzdHJhY3RWaWV3SW1wbD4gbV9pbXBsOwogICAgfTsK
IAogCiAKIDEuNyAgICAgICArMTAgLTEgICAgIFdlYkNvcmUva2h0bWwveG1sL2RvbTJfdmlld3Np
bXBsLmNwcAogCiBJbmRleDogZG9tMl92aWV3c2ltcGwuY3BwCiA9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiBSQ1MgZmls
ZTogL2N2cy9yb290L1dlYkNvcmUva2h0bWwveG1sL2RvbTJfdmlld3NpbXBsLmNwcCx2CiByZXRy
aWV2aW5nIHJldmlzaW9uIDEuNgogcmV0cmlldmluZyByZXZpc2lvbiAxLjcKIGRpZmYgLXUgLXIx
LjYgLXIxLjcKIC0tLSBkb20yX3ZpZXdzaW1wbC5jcHAJMyBPY3QgMjAwNSAyMToxMjo1MSAtMDAw
MAkxLjYKICsrKyBkb20yX3ZpZXdzaW1wbC5jcHAJMTcgTm92IDIwMDUgMjE6Mjg6MTMgLTAwMDAJ
MS43CiBAQCAtMjYsNiArMjYsOCBAQAogIAogICNpbmNsdWRlICJjc3MvY3NzX2NvbXB1dGVkc3R5
bGUuaCIKICAjaW5jbHVkZSAiZG9tX2VsZW1lbnRpbXBsLmgiCiArI2luY2x1ZGUgImRvbV9kb2Np
bXBsLmgiCiArI2luY2x1ZGUgImNzc3N0eWxlc2VsZWN0b3IuaCIKICAKICBuYW1lc3BhY2UgRE9N
IHsKICAKIEBAIC00MSwxMSArNDMsMTggQEAKICBDU1NTdHlsZURlY2xhcmF0aW9uSW1wbCAqQWJz
dHJhY3RWaWV3SW1wbDo6Z2V0Q29tcHV0ZWRTdHlsZShFbGVtZW50SW1wbCAqZWx0LCBET01TdHJp
bmdJbXBsICpwc2V1ZG9FbHQpCiAgewogICAgICAvLyBGSVhNRTogVGhpcyBzaG91bGQgd29yayBl
dmVuIGlmIHdlIGRvIG5vdCBoYXZlIGEgcmVuZGVyZXIuCiAtICAgIAogKyAgICAvLyBGSVhNRTog
VGhpcyBuZWVkcyB0byB3b3JrIHdpdGggcHNldWRvIGVsZW1lbnRzLgogICAgICBpZiAoIWVsdCB8
fCAhZWx0LT5yZW5kZXJlcigpKQogICAgICAgICAgcmV0dXJuIDA7CiAgCiAgICAgIHJldHVybiBu
ZXcgQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uSW1wbChlbHQpOwogIH0KICAKICtTaGFyZWRQ
dHI8Q1NTUnVsZUxpc3RJbXBsPiBBYnN0cmFjdFZpZXdJbXBsOjpnZXRNYXRjaGVkQ1NTUnVsZXMo
RWxlbWVudEltcGwqIGVsdCwgRE9NU3RyaW5nSW1wbCogcHNldWRvRWx0LCBib29sIGF1dGhvck9u
bHkpCiArewogKyAgICBpZiAocHNldWRvRWx0ICYmIHBzZXVkb0VsdC0+bCkKICsgICAgICAgIHJl
dHVybiBtX2RvY3VtZW50LT5zdHlsZVNlbGVjdG9yKCktPnBzZXVkb1N0eWxlUnVsZXNGb3JFbGVt
ZW50KGVsdCwgcHNldWRvRWx0LCBhdXRob3JPbmx5KTsKICsgICAgcmV0dXJuIG1fZG9jdW1lbnQt
PnN0eWxlU2VsZWN0b3IoKS0+c3R5bGVSdWxlc0ZvckVsZW1lbnQoZWx0LCBhdXRob3JPbmx5KTsK
ICt9CiArCiAgfQogCiAKIAogMS45ICAgICAgICszIC0wICAgICAgV2ViQ29yZS9raHRtbC94bWwv
ZG9tMl92aWV3c2ltcGwuaAogCiBJbmRleDogZG9tMl92aWV3c2ltcGwuaAogPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQog
UkNTIGZpbGU6IC9jdnMvcm9vdC9XZWJDb3JlL2todG1sL3htbC9kb20yX3ZpZXdzaW1wbC5oLHYK
IHJldHJpZXZpbmcgcmV2aXNpb24gMS44CiByZXRyaWV2aW5nIHJldmlzaW9uIDEuOQogZGlmZiAt
dSAtcjEuOCAtcjEuOQogLS0tIGRvbTJfdmlld3NpbXBsLmgJMyBPY3QgMjAwNSAyMToxMjo1MSAt
MDAwMAkxLjgKICsrKyBkb20yX3ZpZXdzaW1wbC5oCTE3IE5vdiAyMDA1IDIxOjI4OjEzIC0wMDAw
CTEuOQogQEAgLTMwLDYgKzMwLDcgQEAKICAKICBjbGFzcyBEb2N1bWVudEltcGw7CiAgY2xhc3Mg
Q1NTU3R5bGVEZWNsYXJhdGlvbkltcGw7CiArY2xhc3MgQ1NTUnVsZUxpc3RJbXBsOwogIGNsYXNz
IEVsZW1lbnRJbXBsOwogIGNsYXNzIERPTVN0cmluZ0ltcGw7CiAgCiBAQCAtNDIsNiArNDMsOCBA
QAogIAogICAgICBEb2N1bWVudEltcGwgKmRvY3VtZW50KCkgY29uc3QgeyByZXR1cm4gbV9kb2N1
bWVudDsgfQogICAgICBDU1NTdHlsZURlY2xhcmF0aW9uSW1wbCAqZ2V0Q29tcHV0ZWRTdHlsZShF
bGVtZW50SW1wbCAqZWx0LCBET01TdHJpbmdJbXBsICpwc2V1ZG9FbHQpOwogKyAgICBTaGFyZWRQ
dHI8Q1NTUnVsZUxpc3RJbXBsPiBnZXRNYXRjaGVkQ1NTUnVsZXMoRWxlbWVudEltcGwqIGVsdCwg
RE9NU3RyaW5nSW1wbCogcHNldWRvRWx0LCBib29sIGF1dGhvck9ubHkgPSB0cnVlKTsKICsKICBw
cm90ZWN0ZWQ6CiAgICAgIERvY3VtZW50SW1wbCAqbV9kb2N1bWVudDsKICB9OwogCiAKIAogMS4z
MCAgICAgICs3IC0wICAgICAgV2ViQ29yZS9rd3EvRE9NLUNTUy5tbQogCiBJbmRleDogRE9NLUNT
Uy5tbQogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQogUkNTIGZpbGU6IC9jdnMvcm9vdC9XZWJDb3JlL2t3cS9ET00tQ1NT
Lm1tLHYKIHJldHJpZXZpbmcgcmV2aXNpb24gMS4yOQogcmV0cmlldmluZyByZXZpc2lvbiAxLjMw
CiBkaWZmIC11IC1yMS4yOSAtcjEuMzAKIC0tLSBET00tQ1NTLm1tCTMgT2N0IDIwMDUgMjE6MTI6
NTkgLTAwMDAJMS4yOQogKysrIERPTS1DU1MubW0JMTcgTm92IDIwMDUgMjE6Mjg6MTMgLTAwMDAJ
MS4zMAogQEAgLTI1MzgsNCArMjUzOCwxMSBAQAogICAgICAgICAgQWJzdHJhY3RWaWV3SW1wbChb
c2VsZiBfZG9jdW1lbnRJbXBsXSkuZ2V0Q29tcHV0ZWRTdHlsZShbZWx0IF9lbGVtZW50SW1wbF0s
IERPTVN0cmluZyhwc2V1ZG9FbHQpLmltcGwoKSldOwogIH0KICAKICstIChET01DU1NSdWxlTGlz
dCAqKWdldE1hdGNoZWRDU1NSdWxlczooRE9NRWxlbWVudCAqKWVsdCA6KE5TU3RyaW5nICopcHNl
dWRvRWx0CiArewogKyAgICAvLyBUaGUgcGFyYW1ldGVyIG9mICJmYWxzZSIgaXMgaGFuZHkgZm9y
IHRoZSBET00gaW5zcGVjdG9yIGFuZCBsZXRzIHVzIHNlZSB1c2VyIGFnZW50IGFuZCB1c2VyIHJ1
bGVzLgogKyAgICByZXR1cm4gW0RPTUNTU1J1bGVMaXN0IF9ydWxlTGlzdFdpdGhJbXBsOgogKyAg
ICAgICAgQWJzdHJhY3RWaWV3SW1wbChbc2VsZiBfZG9jdW1lbnRJbXBsXSkuZ2V0TWF0Y2hlZENT
U1J1bGVzKFtlbHQgX2VsZW1lbnRJbXBsXSwgRE9NU3RyaW5nKHBzZXVkb0VsdCkuaW1wbCgpLCBm
YWxzZSkuZ2V0KCldOwogK30KICsKICBAZW5kCiAKIAogCiAxLjYgICAgICAgKzEgLTAgICAgICBX
ZWJDb3JlL2t3cS9ET01DU1MuaAogCiBJbmRleDogRE9NQ1NTLmgKID09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIFJDUyBm
aWxlOiAvY3ZzL3Jvb3QvV2ViQ29yZS9rd3EvRE9NQ1NTLmgsdgogcmV0cmlldmluZyByZXZpc2lv
biAxLjUKIHJldHJpZXZpbmcgcmV2aXNpb24gMS42CiBkaWZmIC11IC1yMS41IC1yMS42CiAtLS0g
RE9NQ1NTLmgJMTYgU2VwIDIwMDUgMjI6NDI6MjMgLTAwMDAJMS41CiArKysgRE9NQ1NTLmgJMTcg
Tm92IDIwMDUgMjE6Mjg6MTMgLTAwMDAJMS42CiBAQCAtNDU2LDYgKzQ1Niw3IEBACiAgCiAgQGlu
dGVyZmFjZSBET01Eb2N1bWVudCAoRE9NVmlld0NTUykKICAtIChET01DU1NTdHlsZURlY2xhcmF0
aW9uICopZ2V0Q29tcHV0ZWRTdHlsZTooRE9NRWxlbWVudCAqKWVsdCA6KE5TU3RyaW5nICopcHNl
dWRvRWx0OwogKy0gKERPTUNTU1J1bGVMaXN0ICopZ2V0TWF0Y2hlZENTU1J1bGVzOihET01FbGVt
ZW50ICopZWx0IDooTlNTdHJpbmcgKilwc2V1ZG9FbHQ7CiAgQGVuZAogIAogIEBpbnRlcmZhY2Ug
RE9NRG9jdW1lbnQgKERPTURvY3VtZW50Q1NTKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>