<?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>9736</bug_id>
          
          <creation_ts>2006-07-05 01:36:48 -0700</creation_ts>
          <short_desc>-(void)init*Event missing in DOMKeyboardEvent and DOMWheelEvent</short_desc>
          <delta_ts>2006-08-15 21:15:50 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit API</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>9743</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jonas Witt">jonas.witt</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>joost</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>48307</commentid>
    <comment_count>0</comment_count>
    <who name="Jonas Witt">jonas.witt</who>
    <bug_when>2006-07-05 01:36:48 -0700</bug_when>
    <thetext>When adding the APIs for these two classes in Bug 9181, I didn&apos;t add the -initKeyboardEvent and -initWheelEvent like the other ObjC events have. Therefore, one can&apos;t create these events.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>48308</commentid>
    <comment_count>1</comment_count>
      <attachid>9202</attachid>
    <who name="Jonas Witt">jonas.witt</who>
    <bug_when>2006-07-05 01:48:14 -0700</bug_when>
    <thetext>Created attachment 9202
initKeyboardEvent attempt

This is what I&apos;ve got for the DOMKeyboardEvent so far.

However, I&apos;m having a problem with WebKit that is likely related to this code. I&apos;m creating a DOMKeyboardEvent with [DOMDocument createEvent:@&quot;KeyboardEvent&quot;], then I use the initializer from the patch with the following values (from the XML my app reads):

   &lt;event&gt;
      &lt;target domindex=&quot;0,1,0,5,2,0,0,1,1&quot;/&gt;
      &lt;property name=&quot;type&quot; value=&quot;keypress&quot;/&gt;
      &lt;property name=&quot;class&quot; value=&quot;KeyboardEvent&quot;/&gt;
      &lt;property name=&quot;bubbles&quot; value=&quot;true&quot;/&gt;
      &lt;property name=&quot;cancelable&quot; value=&quot;true&quot;/&gt;
      &lt;property name=&quot;detail&quot; value=&quot;0&quot;/&gt;
      &lt;property name=&quot;ctrlKey&quot; value=&quot;false&quot;/&gt;
      &lt;property name=&quot;shiftKey&quot; value=&quot;false&quot;/&gt;
      &lt;property name=&quot;altKey&quot; value=&quot;false&quot;/&gt;
      &lt;property name=&quot;metaKey&quot; value=&quot;false&quot;/&gt;
      &lt;property name=&quot;keyIndentifier&quot; value=&quot;U+000041&quot;/&gt;
      &lt;property name=&quot;keyLocation&quot; value=&quot;0&quot;/&gt;
   &lt;/event&gt;

(For the abstract view argument, I pass NULL. Maybe that could be the problem...)

Then I dispatch this event to a &lt;input&gt; field in my WebView. When I do this, WebKit crashes:

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_PROTECTION_FAILURE at address: 0x00000004
WebCore::FrameMac::doTextFieldCommandFromEvent (this=0x14a0cf20, input=0x14a2ce10, event=0x0) at /Users/jonas/Desktop/itCampus/WebKit/WebKitBuild/Release/JavaScriptCore.framework/PrivateHeaders/RefPtr.h:37
37              RefPtr(const RefPtr&amp; o) : m_ptr(o.m_ptr) { if (T *ptr = m_ptr) ptr-&gt;ref(); }
(gdb) bt
#0  WebCore::FrameMac::doTextFieldCommandFromEvent (this=0x14a0cf20, input=0x14a2ce10, event=0x0) at /Users/jonas/Desktop/itCampus/WebKit/WebKitBuild/Release/JavaScriptCore.framework/PrivateHeaders/RefPtr.h:37
#1  0x010d00a4 in WebCore::HTMLInputElement::defaultEventHandler (this=0x14a2ce10, evt=0x14a52688) at /Users/jonas/Desktop/itCampus/WebKit/WebCore/html/HTMLInputElement.cpp:1245
#2  0x0127a9d8 in WebCore::EventTargetNode::dispatchGenericEvent (this=0x14a2ce10, e=@0x48, tempEvent=false) at /Users/jonas/Desktop/itCampus/WebKit/WebCore/dom/EventTargetNode.cpp:255
#3  0x0127ae04 in WebCore::EventTargetNode::dispatchEvent (this=0x14a2ce10, e=@0x48, ec=@0xbfffd35c, tempEvent=false) at /Users/jonas/Desktop/itCampus/WebKit/WebCore/dom/EventTargetNode.cpp:290
#4  0x0113fb94 in -[DOMNode dispatchEvent:] (self=0x186e9600, _cmd=0x48, event=0x186f4170) at /Users/jonas/Desktop/itCampus/WebKit/WebCore/bindings/objc/DOM.mm:440
#5  0x90a431f4 in objc_msgSendv ()
#6  0x9293fce0 in -[NSInvocation invoke] ()
[...]

What&apos;s wrong with the initializer?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>48481</commentid>
    <comment_count>2</comment_count>
      <attachid>9202</attachid>
    <who name="Joost de Valk (AlthA)">joost</who>
    <bug_when>2006-07-06 05:08:06 -0700</bug_when>
    <thetext>Comment on attachment 9202
initKeyboardEvent attempt

Setting review on this patch, so that someone can have a look at it and deliver some comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>48482</commentid>
    <comment_count>3</comment_count>
    <who name="Joost de Valk (AlthA)">joost</who>
    <bug_when>2006-07-06 05:09:01 -0700</bug_when>
    <thetext>Confirmed, Jonas, could you email me a few bugs you&apos;ve been working on? I think you&apos;re in title to have editbugs and canconfirm rights, if so, i&apos;ll get them set up for you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>48680</commentid>
    <comment_count>4</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2006-07-06 23:33:48 -0700</bug_when>
    <thetext>I believe the crash you&apos;re seeing is a dup of bug 9743. However, you shouldn&apos;t pass NULL as the abstractView argument. document.defaultView should work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>48681</commentid>
    <comment_count>5</comment_count>
      <attachid>9202</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2006-07-06 23:40:05 -0700</bug_when>
    <thetext>Comment on attachment 9202
initKeyboardEvent attempt

This patch looks correct, but it&apos;s missing the test you mentioned and a ChangeLog entry.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>48821</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-07-08 09:16:41 -0700</bug_when>
    <thetext>You don&apos;t need to be blocked by bug 9743 if you dispatch the event to something other than an input element.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>51398</commentid>
    <comment_count>7</comment_count>
      <attachid>9811</attachid>
    <who name="Jonas Witt">jonas.witt</who>
    <bug_when>2006-08-02 02:14:10 -0700</bug_when>
    <thetext>Created attachment 9811
DOMKeyboardEvent and DOMWheelEvent initializer wrappers plus test

I&apos;ve added the DOMKeyboardEvent and DOMWheelEvent initializer wrappers (for the WheelEvent, there was no C++ initializer, so I&apos;ve written one) and a test that asks EventSendingController to dispatch a few DOMKeyboardEvent (created using the new initializer) on an input element.

BTW: Fixing of Bug 9743 has also fixed my crash, so Geoffrey was right.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>51444</commentid>
    <comment_count>8</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-08-02 09:32:42 -0700</bug_when>
    <thetext>Adding more wrappers one at a time is not the best use of our time. Instead we need to get Objective-C bindings to be generated as the JavaScript ones are.

These are new API so they will need API review before they can be released by Apple as part of OS X. To help with that, we should probably put these in a &quot;pending public&quot; header rather than adding them right to the public header.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>51548</commentid>
    <comment_count>9</comment_count>
      <attachid>9811</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2006-08-02 23:59:51 -0700</bug_when>
    <thetext>Comment on attachment 9811
DOMKeyboardEvent and DOMWheelEvent initializer wrappers plus test

r- for darin&apos;s comment about using a pending public header.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>51549</commentid>
    <comment_count>10</comment_count>
      <attachid>9845</attachid>
    <who name="Jonas Witt">jonas.witt</who>
    <bug_when>2006-08-03 00:29:09 -0700</bug_when>
    <thetext>Created attachment 9845
DOMKeyboardEvent and DOMWheelEvent initializer wrappers plus test - 2

Moved the two init* methods to DOMPrivate.h.

What about the autogeneration? Is bug 4624 the right place to talk about that?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>51555</commentid>
    <comment_count>11</comment_count>
      <attachid>9845</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-08-03 07:59:49 -0700</bug_when>
    <thetext>Comment on attachment 9845
DOMKeyboardEvent and DOMWheelEvent initializer wrappers plus test - 2

The approach here looks wrong. The idea is to use the bridge to call methods from JavaScript tests. Writing a custom function inside DumpRenderTree for each test is not the right idea.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>51574</commentid>
    <comment_count>12</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-08-03 09:22:07 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; What about the autogeneration? Is bug 4624 the right place to talk about that?

I think that it&apos;s OK to add more to the bindings, but it&apos;s a way better use of our time to get the autogeneration working. I&apos;ll just keep complaining as we do more by hand.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>51575</commentid>
    <comment_count>13</comment_count>
      <attachid>9845</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-08-03 09:23:49 -0700</bug_when>
    <thetext>Comment on attachment 9845
DOMKeyboardEvent and DOMWheelEvent initializer wrappers plus test - 2

r=me for now, but I&apos;d like to see this test reworked to be written more in JavaScript and remove the specific code for this test added to DumpRenderTree. I guess that can be done in a separate patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>52702</commentid>
    <comment_count>14</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-08-15 21:15:50 -0700</bug_when>
    <thetext>Committed revision 15905.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>9202</attachid>
            <date>2006-07-05 01:48:14 -0700</date>
            <delta_ts>2006-08-02 02:14:10 -0700</delta_ts>
            <desc>initKeyboardEvent attempt</desc>
            <filename>acc9.patch</filename>
            <type>text/plain</type>
            <size>1396</size>
            <attacher name="Jonas Witt">jonas.witt</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01Qcml2YXRlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTVByaXZhdGUuaAkocmV2aXNpb24gMTUxNDkpCisrKyBX
ZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNjEs
NiArMTYxLDcgQEAKIC0gKEJPT0wpYWx0S2V5OwogLSAoQk9PTCltZXRhS2V5OwogLSAoQk9PTCln
ZXRNb2RpZmllclN0YXRlOihOU1N0cmluZyAqKWtleUlkZW50aWZpZXJBcmc7CistICh2b2lkKWlu
aXRLZXlib2FyZEV2ZW50OihOU1N0cmluZyAqKXR5cGVBcmcgOihCT09MKWNhbkJ1YmJsZUFyZyA6
KEJPT0wpY2FuY2VsYWJsZUFyZyA6KERPTUFic3RyYWN0VmlldyAqKXZpZXdBcmcgOihOU1N0cmlu
ZyAqKWtleUlkZW50aWZpZXJBcmcgOih1bnNpZ25lZClrZXlMb2NhdGlvbkFyZyA6KEJPT0wpY3Ry
bEtleUFyZyA6KEJPT0wpYWx0S2V5QXJnIDooQk9PTClzaGlmdEtleUFyZyA6KEJPT0wpbWV0YUtl
eUFyZzsKIEBlbmQKIAogQGludGVyZmFjZSBET01LZXlib2FyZEV2ZW50IChOb25TdGFuZGFyZEFk
ZGl0aW9ucykKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01FdmVudHMubW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUV2ZW50cy5tbQkocmV2aXNpb24gMTUx
NDkpCisrKyBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NRXZlbnRzLm1tCSh3b3JraW5nIGNvcHkp
CkBAIC0xOTUsNiArMTk1LDExIEBACiAgICAgcmV0dXJuIE5POwogfQogCistICh2b2lkKWluaXRL
ZXlib2FyZEV2ZW50OihOU1N0cmluZyAqKXR5cGVBcmcgOihCT09MKWNhbkJ1YmJsZUFyZyA6KEJP
T0wpY2FuY2VsYWJsZUFyZyA6KERPTUFic3RyYWN0VmlldyAqKXZpZXdBcmcgOihOU1N0cmluZyAq
KWtleUlkZW50aWZpZXJBcmcgOih1bnNpZ25lZClrZXlMb2NhdGlvbkFyZyA6KEJPT0wpY3RybEtl
eUFyZyA6KEJPT0wpYWx0S2V5QXJnIDooQk9PTClzaGlmdEtleUFyZyA6KEJPT0wpbWV0YUtleUFy
ZyB7CisgICAgW3NlbGYgX2tleWJvYXJkRXZlbnRdLT5pbml0S2V5Ym9hcmRFdmVudCh0eXBlQXJn
LCBjYW5CdWJibGVBcmcsIGNhbmNlbGFibGVBcmcsCisgICAgICAgIFt2aWV3QXJnIF9hYnN0cmFj
dFZpZXddLCBrZXlJZGVudGlmaWVyQXJnLCBrZXlMb2NhdGlvbkFyZywgY3RybEtleUFyZywgYWx0
S2V5QXJnLCBzaGlmdEtleUFyZywgbWV0YUtleUFyZywgZmFsc2UpOworfQorCiBAZW5kCiAKIEBp
bXBsZW1lbnRhdGlvbiBET01Nb3VzZUV2ZW50Cg==
</data>
<flag name="review"
          id="2777"
          type_id="1"
          status="-"
          setter="ggaren"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>9811</attachid>
            <date>2006-08-02 02:14:10 -0700</date>
            <delta_ts>2006-08-03 00:29:09 -0700</delta_ts>
            <desc>DOMKeyboardEvent and DOMWheelEvent initializer wrappers plus test</desc>
            <filename>acc10.patch</filename>
            <type>text/plain</type>
            <size>11706</size>
            <attacher name="Jonas Witt">jonas.witt</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL29iamMta2V5Ym9hcmQtZXZlbnQtY3JlYXRp
b24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL29i
amMta2V5Ym9hcmQtZXZlbnQtY3JlYXRpb24tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvb2JqYy1rZXlib2FyZC1ldmVudC1jcmVhdGlvbi1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsOSBAQAorVGhpcyB0ZXN0cyB0aGF0IERP
TUtleWJvYXJkRXZlbnRzIGFyZSBjcmVhdGVkIGNvcnJlY3RseSBpbiB0aGUgT2JqQyBBUEkuIFNl
ZSBidWcgOTczNi4KKwora2V5ZG93biAtIGtleTogVSswMDAwNDFAMCAoa2V5Q29kZS9jaGFyQ29k
ZTogMC8wKSBtb2RpZmllcnM6IHRydWUsZmFsc2UsZmFsc2UsZmFsc2UKKwora2V5cHJlc3MgLSBr
ZXk6IFUrMDAwMDQ1QDEgKGtleUNvZGUvY2hhckNvZGU6IDAvMCkgbW9kaWZpZXJzOiBmYWxzZSx0
cnVlLGZhbHNlLGZhbHNlCisKK2tleXVwIC0ga2V5OiBVKzAwMDA1NkAwIChrZXlDb2RlL2NoYXJD
b2RlOiAwLzApIG1vZGlmaWVyczogZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UKKworCkluZGV4OiBM
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9vYmpjLWtleWJvYXJkLWV2ZW50LWNyZWF0aW9uLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvb2JqYy1rZXlib2FyZC1ldmVu
dC1jcmVhdGlvbi5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMv
b2JqYy1rZXlib2FyZC1ldmVudC1jcmVhdGlvbi5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDM3IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKworZnVuY3Rpb24ga2V5ZXZlbnQoZXZl
bnQpIHsKKyAgIHZhciBwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicCIpOworICAgcC5hcHBl
bmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShldmVudC50eXBlICsgIiAtIGtleTogIiAr
IGV2ZW50LmtleUlkZW50aWZpZXIgKyAiQCIgKyBldmVudC5rZXlMb2NhdGlvbiArICIgKGtleUNv
ZGUvY2hhckNvZGU6ICIgKyBldmVudC5rZXlDb2RlICsgIi8iICsgZXZlbnQuY2hhckNvZGUgKyAi
KSIgKyAiIG1vZGlmaWVyczogIiArIGV2ZW50LmN0cmxLZXkgKyAiLCIgKyBldmVudC5hbHRLZXkg
KyAiLCIgKyBldmVudC5zaGlmdEtleSArICIsIiArIGV2ZW50Lm1ldGFLZXkpKTsKKyAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKS5hcHBlbmRDaGlsZChwKTsKK30KKworZnVuY3Rp
b24gaW5pdCgpIHsKKyAgIAorICAgdmFyIGlucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InRlc3RpbnB1dCIpOworICAgaW5wdXQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsIGtleWV2
ZW50LCB0cnVlKTsKKyAgIGlucHV0LmFkZEV2ZW50TGlzdGVuZXIoImtleXByZXNzIiwga2V5ZXZl
bnQsIHRydWUpOworICAgaW5wdXQuYWRkRXZlbnRMaXN0ZW5lcigia2V5dXAiLCBrZXlldmVudCwg
dHJ1ZSk7CisgICAKKyAgIGlmIChldmVudFNlbmRlciAmJiBsYXlvdXRUZXN0Q29udHJvbGxlcikg
eworICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgCisgICAg
ICBldmVudFNlbmRlci5maXJlS2V5Ym9hcmRFdmVudHNUb0VsZW1lbnQoaW5wdXQpOworICAgfQor
fQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9ImluaXQoKSI+CisgICA8Zm9ybT4K
KyAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBzaXplPSI1MCIgaWQ9InRlc3RpbnB1dCIgLz4KKyAg
IDwvZm9ybT4KKyAgIAorICAgPHA+VGhpcyB0ZXN0cyB0aGF0IERPTUtleWJvYXJkRXZlbnRzIGFy
ZSBjcmVhdGVkIGNvcnJlY3RseSBpbiB0aGUgT2JqQyBBUEkuIFNlZSBidWcgPGEgaHJlZj0iaHR0
cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4ub3JnL3Nob3dfYnVnLmNnaT9pZD05NzM2Ij45NzM2PC9h
Pi48L3A+CisgICAKKyAgIDxkaXYgaWQ9InJlc3VsdCI+CisgICAgICAKKyAgIDwvZGl2PgorPC9i
b2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTU3NTEpCisrKyBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAwNi0wOC0wMiAgSm9u
YXMgV2l0dCA8am9uYXMud2l0dEBnbWFpbC5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgLSBhZGRlZCBhIHRlc3QgdG8gY2hlY2sga2V5Ym9hcmQg
ZXZlbnRzIGZpcmVkIGZyb20gdGhlIE9iakMgQVBJOgorICAgICAgICAgIGh0dHA6Ly9idWd6aWxs
YS5vcGVuZGFyd2luLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTczNgorCisgICAgICAgICogZmFzdC9l
dmVudHMvb2JqYy1rZXlib2FyZC1ldmVudC1jcmVhdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvZXZlbnRzL29iamMta2V5Ym9hcmQtZXZlbnQtY3JlYXRpb24uaHRtbDog
QWRkZWQuCisKIDIwMDYtMDgtMDEgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAg
ICAgICAgIC0gdXBkYXRlZCBhIHRlc3QgYWZmZWN0ZWQgYnkgY2hhbmdlcyB0byB0aGUgRHVtcFJl
bmRlclRyZWUgdG9vbApJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUV2ZW50cy5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01FdmVudHMuaAkocmV2aXNpb24g
MTU3MzQpCisrKyBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NRXZlbnRzLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTEzMSw2ICsxMzEsNyBAQAogLSAoQk9PTClhbHRLZXk7CiAtIChCT09MKW1ldGFLZXk7
CiAtIChCT09MKWdldE1vZGlmaWVyU3RhdGU6KE5TU3RyaW5nICopa2V5SWRlbnRpZmllckFyZzsK
Ky0gKHZvaWQpaW5pdEtleWJvYXJkRXZlbnQ6KE5TU3RyaW5nICopdHlwZUFyZyA6KEJPT0wpY2Fu
QnViYmxlQXJnIDooQk9PTCljYW5jZWxhYmxlQXJnIDooRE9NQWJzdHJhY3RWaWV3ICopdmlld0Fy
ZyA6KE5TU3RyaW5nICopa2V5SWRlbnRpZmllckFyZyA6KHVuc2lnbmVkKWtleUxvY2F0aW9uQXJn
IDooQk9PTCljdHJsS2V5QXJnIDooQk9PTClhbHRLZXlBcmcgOihCT09MKXNoaWZ0S2V5QXJnIDoo
Qk9PTCltZXRhS2V5QXJnOwogQGVuZAogCiBAaW50ZXJmYWNlIERPTUtleWJvYXJkRXZlbnQgKE5v
blN0YW5kYXJkQWRkaXRpb25zKQpAQCAtMTQ5LDQgKzE1MCw1IEBACiAtIChCT09MKW1ldGFLZXk7
CiAtIChCT09MKWlzSG9yaXpvbnRhbDsKIC0gKGludCl3aGVlbERlbHRhOworLSAodm9pZClpbml0
V2hlZWxFdmVudDooQk9PTClob3Jpem9udGFsIDooaW50KXdoZWVsRGVsdGEgOihET01BYnN0cmFj
dFZpZXcgKil2aWV3QXJnIDooaW50KXNjcmVlblhBcmcgOihpbnQpc2NyZWVuWUFyZyA6KGludClj
bGllbnRYIDooaW50KWNsaWVudFkgOihCT09MKWN0cmxLZXlBcmcgOihCT09MKWFsdEtleUFyZyA6
KEJPT0wpc2hpZnRLZXlBcmcgOihCT09MKW1ldGFLZXlBcmc7CiBAZW5kCkluZGV4OiBXZWJDb3Jl
L2JpbmRpbmdzL29iamMvRE9NRXZlbnRzTm9uc3RhbmRhcmQubW0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9iaW5kaW5ncy9vYmpjL0RPTUV2ZW50c05vbnN0YW5kYXJkLm1tCShyZXZpc2lvbiAxNTcz
NCkKKysrIFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01FdmVudHNOb25zdGFuZGFyZC5tbQkod29y
a2luZyBjb3B5KQpAQCAtMjgsNiArMjgsNyBAQAogI2ltcG9ydCAiRE9NUHJpdmF0ZS5oIgogCiAj
aW1wb3J0ICJET01FdmVudHNJbnRlcm5hbC5oIgorI2ltcG9ydCAiRE9NVmlld3NJbnRlcm5hbC5o
IgogI2ltcG9ydCAiRE9NSW50ZXJuYWwuaCIKICNpbXBvcnQgIktleWJvYXJkRXZlbnQuaCIKICNp
bXBvcnQgIldoZWVsRXZlbnQuaCIKQEAgLTkxLDYgKzkyLDEzIEBACiAgICAgcmV0dXJuIFtzZWxm
IF93aGVlbEV2ZW50XS0+d2hlZWxEZWx0YSgpOwogfQogCistICh2b2lkKWluaXRXaGVlbEV2ZW50
OihCT09MKWhvcml6b250YWwgOihpbnQpd2hlZWxEZWx0YSA6KERPTUFic3RyYWN0VmlldyAqKXZp
ZXdBcmcgOihpbnQpc2NyZWVuWEFyZyA6KGludClzY3JlZW5ZQXJnIDooaW50KWNsaWVudFggOihp
bnQpY2xpZW50WSA6KEJPT0wpY3RybEtleUFyZyA6KEJPT0wpYWx0S2V5QXJnIDooQk9PTClzaGlm
dEtleUFyZyA6KEJPT0wpbWV0YUtleUFyZworeworICAgIFtzZWxmIF93aGVlbEV2ZW50XS0+aW5p
dFdoZWVsRXZlbnQoaG9yaXpvbnRhbCwgd2hlZWxEZWx0YSwgW3ZpZXdBcmcgX2Fic3RyYWN0Vmll
d10sIAorICAgICAgICBzY3JlZW5YQXJnLCBzY3JlZW5ZQXJnLCBjbGllbnRYLCBjbGllbnRZLAor
ICAgICAgICBjdHJsS2V5QXJnLCBhbHRLZXlBcmcsIHNoaWZ0S2V5QXJnLCBtZXRhS2V5QXJnKTsK
K30KKwogQGVuZAogCiBAaW1wbGVtZW50YXRpb24gRE9NS2V5Ym9hcmRFdmVudCAoTm9uU3RhbmRh
cmRBZGRpdGlvbnMpCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NRXZlbnRzLm1tCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01FdmVudHMubW0JKHJldmlzaW9u
IDE1NzM0KQorKysgV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUV2ZW50cy5tbQkod29ya2luZyBj
b3B5KQpAQCAtMjEzLDYgKzIxMywxMSBAQAogICAgIHJldHVybiBOTzsKIH0KIAorLSAodm9pZClp
bml0S2V5Ym9hcmRFdmVudDooTlNTdHJpbmcgKil0eXBlQXJnIDooQk9PTCljYW5CdWJibGVBcmcg
OihCT09MKWNhbmNlbGFibGVBcmcgOihET01BYnN0cmFjdFZpZXcgKil2aWV3QXJnIDooTlNTdHJp
bmcgKilrZXlJZGVudGlmaWVyQXJnIDoodW5zaWduZWQpa2V5TG9jYXRpb25BcmcgOihCT09MKWN0
cmxLZXlBcmcgOihCT09MKWFsdEtleUFyZyA6KEJPT0wpc2hpZnRLZXlBcmcgOihCT09MKW1ldGFL
ZXlBcmcgeworICAgIFtzZWxmIF9rZXlib2FyZEV2ZW50XS0+aW5pdEtleWJvYXJkRXZlbnQodHlw
ZUFyZywgY2FuQnViYmxlQXJnLCBjYW5jZWxhYmxlQXJnLAorICAgICAgICBbdmlld0FyZyBfYWJz
dHJhY3RWaWV3XSwga2V5SWRlbnRpZmllckFyZywga2V5TG9jYXRpb25BcmcsIGN0cmxLZXlBcmcs
IGFsdEtleUFyZywgc2hpZnRLZXlBcmcsIG1ldGFLZXlBcmcsIGZhbHNlKTsKK30KKwogQGVuZAog
CiBAaW1wbGVtZW50YXRpb24gRE9NTW91c2VFdmVudApJbmRleDogV2ViQ29yZS9kb20vV2hlZWxF
dmVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vV2hlZWxFdmVudC5jcHAJKHJldmlz
aW9uIDE1NzM0KQorKysgV2ViQ29yZS9kb20vV2hlZWxFdmVudC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTQ4LDYgKzQ4LDI5IEBACiB7CiB9CiAKK3ZvaWQgV2hlZWxFdmVudDo6aW5pdFdoZWVsRXZl
bnQoYm9vbCBob3Jpem9udGFsLCBpbnQgd2hlZWxEZWx0YSwgQWJzdHJhY3RWaWV3KiB2aWV3LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2NyZWVuWCwgaW50IHNjcmVlblks
IGludCBwYWdlWCwgaW50IHBhZ2VZLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBi
b29sIGN0cmxLZXksIGJvb2wgYWx0S2V5LCBib29sIHNoaWZ0S2V5LCBib29sIG1ldGFLZXkpCit7
CisgICAgaWYgKGRpc3BhdGNoZWQoKSkKKyAgICAgICAgcmV0dXJuOworICAgIAorICAgIGluaXRV
SUV2ZW50KGhvcml6b250YWwgPyBraHRtbEhvcml6b250YWxtb3VzZXdoZWVsRXZlbnQgOiBtb3Vz
ZXdoZWVsRXZlbnQsIAorICAgICAgICAgICAgICAgIHRydWUsIHRydWUsIHZpZXcsIDApOworICAg
IAorICAgIG1fc2NyZWVuWCA9IHNjcmVlblg7CisgICAgbV9zY3JlZW5ZID0gc2NyZWVuWTsKKyAg
ICBtX2N0cmxLZXkgPSBjdHJsS2V5OworICAgIG1fYWx0S2V5ID0gYWx0S2V5OworICAgIG1fc2hp
ZnRLZXkgPSBzaGlmdEtleTsKKyAgICBtX21ldGFLZXkgPSBtZXRhS2V5OworICAgIG1faG9yaXpv
bnRhbCA9IGhvcml6b250YWw7CisgICAgbV93aGVlbERlbHRhID0gd2hlZWxEZWx0YTsKKyAgICAK
KyAgICBpbml0Q29vcmRpbmF0ZXMocGFnZVgsIHBhZ2VZKTsKK30KKworCiBib29sIFdoZWVsRXZl
bnQ6OmlzV2hlZWxFdmVudCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIHRydWU7CkluZGV4OiBXZWJD
b3JlL2RvbS9XaGVlbEV2ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vV2hlZWxFdmVu
dC5oCShyZXZpc2lvbiAxNTczNCkKKysrIFdlYkNvcmUvZG9tL1doZWVsRXZlbnQuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMzcsNiArMzcsMTAgQEAKICAgICAgICAgV2hlZWxFdmVudChib29sIGhvcml6
b250YWwsIGludCB3aGVlbERlbHRhLCBBYnN0cmFjdFZpZXcqLAogICAgICAgICAgICAgICAgICAg
IGludCBzY3JlZW5YLCBpbnQgc2NyZWVuWSwgaW50IHBhZ2VYLCBpbnQgcGFnZVksCiAgICAgICAg
ICAgICAgICAgICAgYm9vbCBjdHJsS2V5LCBib29sIGFsdEtleSwgYm9vbCBzaGlmdEtleSwgYm9v
bCBtZXRhS2V5KTsKKworICAgICAgICB2b2lkIGluaXRXaGVlbEV2ZW50KGJvb2wgaG9yaXpvbnRh
bCwgaW50IHdoZWVsRGVsdGEsIEFic3RyYWN0VmlldyosCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNjcmVlblgsIGludCBzY3JlZW5ZLCBpbnQgcGFnZVgsIGludCBwYWdlWSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGN0cmxLZXksIGJvb2wgYWx0S2V5LCBib29s
IHNoaWZ0S2V5LCBib29sIG1ldGFLZXkpOwogICAgICAgICAKICAgICAgICAgYm9vbCBpc0hvcml6
b250YWwoKSBjb25zdCB7IHJldHVybiBtX2hvcml6b250YWw7IH0KICAgICAgICAgaW50IHdoZWVs
RGVsdGEoKSBjb25zdCB7IHJldHVybiBtX3doZWVsRGVsdGE7IH0KSW5kZXg6IFdlYkNvcmUvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNTc1MSkK
KysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAKKzIw
MDYtMDgtMDIgIEpvbmFzIFdpdHQgPGpvbmFzLndpdHRAZ21haWwuY29tPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIC0gYWRkZWQgT2JqQyB3cmFwcGVy
cyBmb3IgdGhlIEtleWJvYXJkRXZlbnQgYW5kIFdoZWVsRXZlbnQgaW5pdGlhbGl6ZXJzCisgICAg
ICAgICAgaHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4ub3JnL3Nob3dfYnVnLmNnaT9pZD05NzM2
CisKKyAgICAgICAgKiBiaW5kaW5ncy9vYmpjL0RPTUV2ZW50cy5oOgorICAgICAgICAqIGJpbmRp
bmdzL29iamMvRE9NRXZlbnRzLm1tOgorICAgICAgICAoLVtET01LZXlib2FyZEV2ZW50IGluaXRL
ZXlib2FyZEV2ZW50Ojo6Ojo6Ojo6Ol0pOgorICAgICAgICAqIGJpbmRpbmdzL29iamMvRE9NRXZl
bnRzTm9uc3RhbmRhcmQubW06CisgICAgICAgICgtW0RPTVdoZWVsRXZlbnQgaW5pdFdoZWVsRXZl
bnQ6Ojo6Ojo6Ojo6Ol0pOgorCisgICAgICAgIC0gYWRkZWQgYW4gaW5pdGlhbGl6ZXIgZm9yIHRo
ZSBXaGVlbEV2ZW50CisKKyAgICAgICAgKiBkb20vV2hlZWxFdmVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpXaGVlbEV2ZW50Ojppbml0V2hlZWxFdmVudCk6CisgICAgICAgICogZG9tL1doZWVs
RXZlbnQuaDoKKwogMjAwNi0wNy0zMSAgU2FtIFdlaW5pZyAgPHNhbS53ZWluaWdAZ21haWwuY29t
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluLgpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaAkocmV2aXNpb24gMTU3
MzQpCisrKyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9FdmVudFNlbmRpbmdDb250cm9sbGVy
LmgJKHdvcmtpbmcgY29weSkKQEAgLTQyLDYgKzQyLDggQEAKIAogLSAodm9pZCloYW5kbGVFdmVu
dDooRE9NRXZlbnQgKilldmVudDsKIAorLSAodm9pZClmaXJlS2V5Ym9hcmRFdmVudHNUb0VsZW1l
bnQ6KFdlYlNjcmlwdE9iamVjdCAqKWVsZW1lbnQ7CisKIEBlbmQKIAogZXh0ZXJuIE5TUG9pbnQg
bGFzdE1vdXNlUG9zaXRpb247CkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9FdmVu
dFNlbmRpbmdDb250cm9sbGVyLm0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5tCShyZXZpc2lvbiAxNTczNCkKKysrIFdlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIubQkod29ya2luZyBj
b3B5KQpAQCAtOTksNyArOTksOCBAQAogICAgICAgICAgICAgfHwgYVNlbGVjdG9yID09IEBzZWxl
Y3Rvcihtb3VzZU1vdmVUb1g6WTopCiAgICAgICAgICAgICB8fCBhU2VsZWN0b3IgPT0gQHNlbGVj
dG9yKGxlYXBGb3J3YXJkOikKICAgICAgICAgICAgIHx8IGFTZWxlY3RvciA9PSBAc2VsZWN0b3Io
a2V5RG93bjp3aXRoTW9kaWZpZXJzOikKLSAgICAgICAgICAgIHx8IGFTZWxlY3RvciA9PSBAc2Vs
ZWN0b3IoZW5hYmxlRE9NVUlFdmVudExvZ2dpbmc6KSkKKyAgICAgICAgICAgIHx8IGFTZWxlY3Rv
ciA9PSBAc2VsZWN0b3IoZW5hYmxlRE9NVUlFdmVudExvZ2dpbmc6KQorICAgICAgICAgICAgfHwg
YVNlbGVjdG9yID09IEBzZWxlY3RvcihmaXJlS2V5Ym9hcmRFdmVudHNUb0VsZW1lbnQ6KSkKICAg
ICAgICAgcmV0dXJuIE5POwogICAgIHJldHVybiBZRVM7CiB9CkBAIC0xMTQsNiArMTE1LDggQEAK
ICAgICAgICAgcmV0dXJuIEAia2V5RG93biI7CiAgICAgaWYgKGFTZWxlY3RvciA9PSBAc2VsZWN0
b3IoZW5hYmxlRE9NVUlFdmVudExvZ2dpbmc6KSkKICAgICAgICAgcmV0dXJuIEAiZW5hYmxlRE9N
VUlFdmVudExvZ2dpbmciOworICAgIGlmIChhU2VsZWN0b3IgPT0gQHNlbGVjdG9yKGZpcmVLZXli
b2FyZEV2ZW50c1RvRWxlbWVudDopKQorICAgICAgICByZXR1cm4gQCJmaXJlS2V5Ym9hcmRFdmVu
dHNUb0VsZW1lbnQiOwogICAgIHJldHVybiBuaWw7CiB9CiAKQEAgLTM3Nyw0ICszODAsMzMgQEAK
ICAgICB9CiB9CiAKKy0gKHZvaWQpZmlyZUtleWJvYXJkRXZlbnRzVG9FbGVtZW50OihXZWJTY3Jp
cHRPYmplY3QgKillbGVtZW50IHsKKyAgICAKKyAgICBpZiAoIVtlbGVtZW50IGlzS2luZE9mQ2xh
c3M6W0RPTUhUTUxFbGVtZW50IGNsYXNzXV0pIHsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAg
ICAKKyAgICBET01IVE1MRWxlbWVudCAqdGFyZ2V0ID0gKERPTUhUTUxFbGVtZW50KillbGVtZW50
OworICAgIERPTURvY3VtZW50ICpkb2N1bWVudCA9IFt0YXJnZXQgb3duZXJEb2N1bWVudF07Cisg
ICAgCisgICAgLy8gS2V5Ym9hcmQgRXZlbnQgMQorICAgIAorICAgIERPTUV2ZW50ICpkb21FdmVu
dCA9IFtkb2N1bWVudCBjcmVhdGVFdmVudDpAIktleWJvYXJkRXZlbnQiXTsKKyAgICBbKERPTUtl
eWJvYXJkRXZlbnQqKWRvbUV2ZW50IGluaXRLZXlib2FyZEV2ZW50OkAia2V5ZG93biIgOllFUyA6
WUVTIDpbZG9jdW1lbnQgZGVmYXVsdFZpZXddIDpAIlUrMDAwMDQxIiA6MCA6WUVTIDpOTyA6Tk8g
Ok5PXTsKKyAgICBbdGFyZ2V0IGRpc3BhdGNoRXZlbnQ6ZG9tRXZlbnRdOyAgCisgICAgICAgIAor
ICAgIC8vIEtleWJvYXJkIEV2ZW50IDIKKyAgICAKKyAgICBkb21FdmVudCA9IFtkb2N1bWVudCBj
cmVhdGVFdmVudDpAIktleWJvYXJkRXZlbnQiXTsKKyAgICBbKERPTUtleWJvYXJkRXZlbnQqKWRv
bUV2ZW50IGluaXRLZXlib2FyZEV2ZW50OkAia2V5cHJlc3MiIDpZRVMgOllFUyA6W2RvY3VtZW50
IGRlZmF1bHRWaWV3XSA6QCJVKzAwMDA0NSIgOjEgOk5PIDpZRVMgOk5PIDpOT107CisgICAgW3Rh
cmdldCBkaXNwYXRjaEV2ZW50OmRvbUV2ZW50XTsgICAgCisgICAgCisgICAgLy8gS2V5Ym9hcmQg
RXZlbnQgMworICAgIAorICAgIGRvbUV2ZW50ID0gW2RvY3VtZW50IGNyZWF0ZUV2ZW50OkAiS2V5
Ym9hcmRFdmVudCJdOworICAgIFsoRE9NS2V5Ym9hcmRFdmVudCopZG9tRXZlbnQgaW5pdEtleWJv
YXJkRXZlbnQ6QCJrZXl1cCIgOllFUyA6WUVTIDpbZG9jdW1lbnQgZGVmYXVsdFZpZXddIDpAIlUr
MDAwMDU2IiA6MCA6Tk8gOk5PIDpOTyA6Tk9dOworICAgIFt0YXJnZXQgZGlzcGF0Y2hFdmVudDpk
b21FdmVudF07ICAgCisgICAgCit9CisKIEBlbmQKSW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1NzUxKQor
KysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAK
KzIwMDYtMDgtMDIgIEpvbmFzIFdpdHQgPGpvbmFzLndpdHRAZ21haWwuY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIC0gYWRkZWQgYSBmdW5jdGlv
biB0byBjcmVhdGUgYSBmZXcgRE9NS2V5Ym9hcmRFdmVudHMgYW5kIGRpc3BhdGNoCisgICAgICAg
ICAgdGhlbSB0byBhIGNlcnRhaW4gSFRNTCBlbGVtZW50LgorICAgICAgICAgIGh0dHA6Ly9idWd6
aWxsYS5vcGVuZGFyd2luLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTczNgorCisgICAgICAgICogRHVt
cFJlbmRlclRyZWUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5oOgorICAgICAgICAqIER1bXBSZW5k
ZXJUcmVlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIubToKKyAgICAgICAgKCtbRXZlbnRTZW5kaW5n
Q29udHJvbGxlciBpc1NlbGVjdG9yRXhjbHVkZWRGcm9tV2ViU2NyaXB0Ol0pOgorICAgICAgICAo
K1tFdmVudFNlbmRpbmdDb250cm9sbGVyIHdlYlNjcmlwdE5hbWVGb3JTZWxlY3RvcjpdKToKKyAg
ICAgICAgKC1bRXZlbnRTZW5kaW5nQ29udHJvbGxlciBmaXJlS2V5Ym9hcmRFdmVudHNUb0VsZW1l
bnQ6XSk6CisKIDIwMDYtMDgtMDEgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAg
ICAgICAgIC0gZml4IGEgYnVnIGluIG15IHJlY2VudCBjaGFuZ2Ugd2hlcmUgdGhlIG1vdXNlIHBv
c2l0aW9uIGF0IHRoZSBlbmQgb2YK
</data>
<flag name="review"
          id="3020"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>9845</attachid>
            <date>2006-08-03 00:29:09 -0700</date>
            <delta_ts>2006-08-03 09:23:49 -0700</delta_ts>
            <desc>DOMKeyboardEvent and DOMWheelEvent initializer wrappers plus test - 2</desc>
            <filename>acc10_2.patch</filename>
            <type>text/plain</type>
            <size>11680</size>
            <attacher name="Jonas Witt">jonas.witt</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL29iamMta2V5Ym9hcmQtZXZlbnQtY3JlYXRp
b24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL29i
amMta2V5Ym9hcmQtZXZlbnQtY3JlYXRpb24tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvb2JqYy1rZXlib2FyZC1ldmVudC1jcmVhdGlvbi1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsOSBAQAorVGhpcyB0ZXN0cyB0aGF0IERP
TUtleWJvYXJkRXZlbnRzIGFyZSBjcmVhdGVkIGNvcnJlY3RseSBpbiB0aGUgT2JqQyBBUEkuIFNl
ZSBidWcgOTczNi4KKwora2V5ZG93biAtIGtleTogVSswMDAwNDFAMCAoa2V5Q29kZS9jaGFyQ29k
ZTogMC8wKSBtb2RpZmllcnM6IHRydWUsZmFsc2UsZmFsc2UsZmFsc2UKKwora2V5cHJlc3MgLSBr
ZXk6IFUrMDAwMDQ1QDEgKGtleUNvZGUvY2hhckNvZGU6IDAvMCkgbW9kaWZpZXJzOiBmYWxzZSx0
cnVlLGZhbHNlLGZhbHNlCisKK2tleXVwIC0ga2V5OiBVKzAwMDA1NkAwIChrZXlDb2RlL2NoYXJD
b2RlOiAwLzApIG1vZGlmaWVyczogZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UKKworCkluZGV4OiBM
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9vYmpjLWtleWJvYXJkLWV2ZW50LWNyZWF0aW9uLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvb2JqYy1rZXlib2FyZC1ldmVu
dC1jcmVhdGlvbi5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMv
b2JqYy1rZXlib2FyZC1ldmVudC1jcmVhdGlvbi5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDM3IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKworZnVuY3Rpb24ga2V5ZXZlbnQoZXZl
bnQpIHsKKyAgIHZhciBwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicCIpOworICAgcC5hcHBl
bmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShldmVudC50eXBlICsgIiAtIGtleTogIiAr
IGV2ZW50LmtleUlkZW50aWZpZXIgKyAiQCIgKyBldmVudC5rZXlMb2NhdGlvbiArICIgKGtleUNv
ZGUvY2hhckNvZGU6ICIgKyBldmVudC5rZXlDb2RlICsgIi8iICsgZXZlbnQuY2hhckNvZGUgKyAi
KSIgKyAiIG1vZGlmaWVyczogIiArIGV2ZW50LmN0cmxLZXkgKyAiLCIgKyBldmVudC5hbHRLZXkg
KyAiLCIgKyBldmVudC5zaGlmdEtleSArICIsIiArIGV2ZW50Lm1ldGFLZXkpKTsKKyAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKS5hcHBlbmRDaGlsZChwKTsKK30KKworZnVuY3Rp
b24gaW5pdCgpIHsKKyAgIAorICAgdmFyIGlucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InRlc3RpbnB1dCIpOworICAgaW5wdXQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsIGtleWV2
ZW50LCB0cnVlKTsKKyAgIGlucHV0LmFkZEV2ZW50TGlzdGVuZXIoImtleXByZXNzIiwga2V5ZXZl
bnQsIHRydWUpOworICAgaW5wdXQuYWRkRXZlbnRMaXN0ZW5lcigia2V5dXAiLCBrZXlldmVudCwg
dHJ1ZSk7CisgICAKKyAgIGlmIChldmVudFNlbmRlciAmJiBsYXlvdXRUZXN0Q29udHJvbGxlcikg
eworICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgCisgICAg
ICBldmVudFNlbmRlci5maXJlS2V5Ym9hcmRFdmVudHNUb0VsZW1lbnQoaW5wdXQpOworICAgfQor
fQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9ImluaXQoKSI+CisgICA8Zm9ybT4K
KyAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBzaXplPSI1MCIgaWQ9InRlc3RpbnB1dCIgLz4KKyAg
IDwvZm9ybT4KKyAgIAorICAgPHA+VGhpcyB0ZXN0cyB0aGF0IERPTUtleWJvYXJkRXZlbnRzIGFy
ZSBjcmVhdGVkIGNvcnJlY3RseSBpbiB0aGUgT2JqQyBBUEkuIFNlZSBidWcgPGEgaHJlZj0iaHR0
cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4ub3JnL3Nob3dfYnVnLmNnaT9pZD05NzM2Ij45NzM2PC9h
Pi48L3A+CisgICAKKyAgIDxkaXYgaWQ9InJlc3VsdCI+CisgICAgICAKKyAgIDwvZGl2PgorPC9i
b2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTU3NTEpCisrKyBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAwNi0wOC0wMiAgSm9u
YXMgV2l0dCA8am9uYXMud2l0dEBnbWFpbC5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgLSBhZGRlZCBhIHRlc3QgdG8gY2hlY2sga2V5Ym9hcmQg
ZXZlbnRzIGZpcmVkIGZyb20gdGhlIE9iakMgQVBJOgorICAgICAgICAgIGh0dHA6Ly9idWd6aWxs
YS5vcGVuZGFyd2luLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTczNgorCisgICAgICAgICogZmFzdC9l
dmVudHMvb2JqYy1rZXlib2FyZC1ldmVudC1jcmVhdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvZXZlbnRzL29iamMta2V5Ym9hcmQtZXZlbnQtY3JlYXRpb24uaHRtbDog
QWRkZWQuCisKIDIwMDYtMDgtMDEgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAg
ICAgICAgIC0gdXBkYXRlZCBhIHRlc3QgYWZmZWN0ZWQgYnkgY2hhbmdlcyB0byB0aGUgRHVtcFJl
bmRlclRyZWUgdG9vbApJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTVByaXZhdGUuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NUHJpdmF0ZS5oCShyZXZpc2lv
biAxNTczNCkKKysrIFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01Qcml2YXRlLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTc5LDMgKzc5LDEyIEBACiBAaW50ZXJmYWNlIERPTUhUTUxTZWxlY3RFbGVtZW50
KEZvcm1zQXV0b0ZpbGxUcmFuc2l0aW9uKQogLSAodm9pZClfYWN0aXZhdGVJdGVtQXRJbmRleDoo
aW50KWluZGV4OwogQGVuZAorCitAaW50ZXJmYWNlIERPTUtleWJvYXJkRXZlbnQoUHVibGljUGVu
ZGluZykKKy0gKHZvaWQpaW5pdEtleWJvYXJkRXZlbnQ6KE5TU3RyaW5nICopdHlwZUFyZyA6KEJP
T0wpY2FuQnViYmxlQXJnIDooQk9PTCljYW5jZWxhYmxlQXJnIDooRE9NQWJzdHJhY3RWaWV3ICop
dmlld0FyZyA6KE5TU3RyaW5nICopa2V5SWRlbnRpZmllckFyZyA6KHVuc2lnbmVkKWtleUxvY2F0
aW9uQXJnIDooQk9PTCljdHJsS2V5QXJnIDooQk9PTClhbHRLZXlBcmcgOihCT09MKXNoaWZ0S2V5
QXJnIDooQk9PTCltZXRhS2V5QXJnOworQGVuZAorCitAaW50ZXJmYWNlIERPTVdoZWVsRXZlbnQo
UHVibGljUGVuZGluZykKKy0gKHZvaWQpaW5pdFdoZWVsRXZlbnQ6KEJPT0wpaG9yaXpvbnRhbCA6
KGludCl3aGVlbERlbHRhIDooRE9NQWJzdHJhY3RWaWV3ICopdmlld0FyZyA6KGludClzY3JlZW5Y
QXJnIDooaW50KXNjcmVlbllBcmcgOihpbnQpY2xpZW50WCA6KGludCljbGllbnRZIDooQk9PTClj
dHJsS2V5QXJnIDooQk9PTClhbHRLZXlBcmcgOihCT09MKXNoaWZ0S2V5QXJnIDooQk9PTCltZXRh
S2V5QXJnOworQGVuZAorCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NRXZlbnRzTm9u
c3RhbmRhcmQubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUV2ZW50
c05vbnN0YW5kYXJkLm1tCShyZXZpc2lvbiAxNTczNCkKKysrIFdlYkNvcmUvYmluZGluZ3Mvb2Jq
Yy9ET01FdmVudHNOb25zdGFuZGFyZC5tbQkod29ya2luZyBjb3B5KQpAQCAtMjgsNiArMjgsNyBA
QAogI2ltcG9ydCAiRE9NUHJpdmF0ZS5oIgogCiAjaW1wb3J0ICJET01FdmVudHNJbnRlcm5hbC5o
IgorI2ltcG9ydCAiRE9NVmlld3NJbnRlcm5hbC5oIgogI2ltcG9ydCAiRE9NSW50ZXJuYWwuaCIK
ICNpbXBvcnQgIktleWJvYXJkRXZlbnQuaCIKICNpbXBvcnQgIldoZWVsRXZlbnQuaCIKQEAgLTkx
LDYgKzkyLDEzIEBACiAgICAgcmV0dXJuIFtzZWxmIF93aGVlbEV2ZW50XS0+d2hlZWxEZWx0YSgp
OwogfQogCistICh2b2lkKWluaXRXaGVlbEV2ZW50OihCT09MKWhvcml6b250YWwgOihpbnQpd2hl
ZWxEZWx0YSA6KERPTUFic3RyYWN0VmlldyAqKXZpZXdBcmcgOihpbnQpc2NyZWVuWEFyZyA6KGlu
dClzY3JlZW5ZQXJnIDooaW50KWNsaWVudFggOihpbnQpY2xpZW50WSA6KEJPT0wpY3RybEtleUFy
ZyA6KEJPT0wpYWx0S2V5QXJnIDooQk9PTClzaGlmdEtleUFyZyA6KEJPT0wpbWV0YUtleUFyZwor
eworICAgIFtzZWxmIF93aGVlbEV2ZW50XS0+aW5pdFdoZWVsRXZlbnQoaG9yaXpvbnRhbCwgd2hl
ZWxEZWx0YSwgW3ZpZXdBcmcgX2Fic3RyYWN0Vmlld10sIAorICAgICAgICBzY3JlZW5YQXJnLCBz
Y3JlZW5ZQXJnLCBjbGllbnRYLCBjbGllbnRZLAorICAgICAgICBjdHJsS2V5QXJnLCBhbHRLZXlB
cmcsIHNoaWZ0S2V5QXJnLCBtZXRhS2V5QXJnKTsKK30KKwogQGVuZAogCiBAaW1wbGVtZW50YXRp
b24gRE9NS2V5Ym9hcmRFdmVudCAoTm9uU3RhbmRhcmRBZGRpdGlvbnMpCkluZGV4OiBXZWJDb3Jl
L2JpbmRpbmdzL29iamMvRE9NRXZlbnRzLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGlu
Z3Mvb2JqYy9ET01FdmVudHMubW0JKHJldmlzaW9uIDE1NzM0KQorKysgV2ViQ29yZS9iaW5kaW5n
cy9vYmpjL0RPTUV2ZW50cy5tbQkod29ya2luZyBjb3B5KQpAQCAtMjEzLDYgKzIxMywxMSBAQAog
ICAgIHJldHVybiBOTzsKIH0KIAorLSAodm9pZClpbml0S2V5Ym9hcmRFdmVudDooTlNTdHJpbmcg
Kil0eXBlQXJnIDooQk9PTCljYW5CdWJibGVBcmcgOihCT09MKWNhbmNlbGFibGVBcmcgOihET01B
YnN0cmFjdFZpZXcgKil2aWV3QXJnIDooTlNTdHJpbmcgKilrZXlJZGVudGlmaWVyQXJnIDoodW5z
aWduZWQpa2V5TG9jYXRpb25BcmcgOihCT09MKWN0cmxLZXlBcmcgOihCT09MKWFsdEtleUFyZyA6
KEJPT0wpc2hpZnRLZXlBcmcgOihCT09MKW1ldGFLZXlBcmcgeworICAgIFtzZWxmIF9rZXlib2Fy
ZEV2ZW50XS0+aW5pdEtleWJvYXJkRXZlbnQodHlwZUFyZywgY2FuQnViYmxlQXJnLCBjYW5jZWxh
YmxlQXJnLAorICAgICAgICBbdmlld0FyZyBfYWJzdHJhY3RWaWV3XSwga2V5SWRlbnRpZmllckFy
Zywga2V5TG9jYXRpb25BcmcsIGN0cmxLZXlBcmcsIGFsdEtleUFyZywgc2hpZnRLZXlBcmcsIG1l
dGFLZXlBcmcsIGZhbHNlKTsKK30KKwogQGVuZAogCiBAaW1wbGVtZW50YXRpb24gRE9NTW91c2VF
dmVudApJbmRleDogV2ViQ29yZS9kb20vV2hlZWxFdmVudC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9kb20vV2hlZWxFdmVudC5jcHAJKHJldmlzaW9uIDE1NzM0KQorKysgV2ViQ29yZS9kb20v
V2hlZWxFdmVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDYgKzQ4LDI5IEBACiB7CiB9CiAK
K3ZvaWQgV2hlZWxFdmVudDo6aW5pdFdoZWVsRXZlbnQoYm9vbCBob3Jpem9udGFsLCBpbnQgd2hl
ZWxEZWx0YSwgQWJzdHJhY3RWaWV3KiB2aWV3LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc2NyZWVuWCwgaW50IHNjcmVlblksIGludCBwYWdlWCwgaW50IHBhZ2VZLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGN0cmxLZXksIGJvb2wgYWx0S2V5LCBi
b29sIHNoaWZ0S2V5LCBib29sIG1ldGFLZXkpCit7CisgICAgaWYgKGRpc3BhdGNoZWQoKSkKKyAg
ICAgICAgcmV0dXJuOworICAgIAorICAgIGluaXRVSUV2ZW50KGhvcml6b250YWwgPyBraHRtbEhv
cml6b250YWxtb3VzZXdoZWVsRXZlbnQgOiBtb3VzZXdoZWVsRXZlbnQsIAorICAgICAgICAgICAg
ICAgIHRydWUsIHRydWUsIHZpZXcsIDApOworICAgIAorICAgIG1fc2NyZWVuWCA9IHNjcmVlblg7
CisgICAgbV9zY3JlZW5ZID0gc2NyZWVuWTsKKyAgICBtX2N0cmxLZXkgPSBjdHJsS2V5OworICAg
IG1fYWx0S2V5ID0gYWx0S2V5OworICAgIG1fc2hpZnRLZXkgPSBzaGlmdEtleTsKKyAgICBtX21l
dGFLZXkgPSBtZXRhS2V5OworICAgIG1faG9yaXpvbnRhbCA9IGhvcml6b250YWw7CisgICAgbV93
aGVlbERlbHRhID0gd2hlZWxEZWx0YTsKKyAgICAKKyAgICBpbml0Q29vcmRpbmF0ZXMocGFnZVgs
IHBhZ2VZKTsKK30KKworCiBib29sIFdoZWVsRXZlbnQ6OmlzV2hlZWxFdmVudCgpIGNvbnN0CiB7
CiAgICAgcmV0dXJuIHRydWU7CkluZGV4OiBXZWJDb3JlL2RvbS9XaGVlbEV2ZW50LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9kb20vV2hlZWxFdmVudC5oCShyZXZpc2lvbiAxNTczNCkKKysrIFdl
YkNvcmUvZG9tL1doZWVsRXZlbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzcsNiArMzcsMTAgQEAK
ICAgICAgICAgV2hlZWxFdmVudChib29sIGhvcml6b250YWwsIGludCB3aGVlbERlbHRhLCBBYnN0
cmFjdFZpZXcqLAogICAgICAgICAgICAgICAgICAgIGludCBzY3JlZW5YLCBpbnQgc2NyZWVuWSwg
aW50IHBhZ2VYLCBpbnQgcGFnZVksCiAgICAgICAgICAgICAgICAgICAgYm9vbCBjdHJsS2V5LCBi
b29sIGFsdEtleSwgYm9vbCBzaGlmdEtleSwgYm9vbCBtZXRhS2V5KTsKKworICAgICAgICB2b2lk
IGluaXRXaGVlbEV2ZW50KGJvb2wgaG9yaXpvbnRhbCwgaW50IHdoZWVsRGVsdGEsIEFic3RyYWN0
VmlldyosCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNjcmVlblgsIGludCBzY3Jl
ZW5ZLCBpbnQgcGFnZVgsIGludCBwYWdlWSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBi
b29sIGN0cmxLZXksIGJvb2wgYWx0S2V5LCBib29sIHNoaWZ0S2V5LCBib29sIG1ldGFLZXkpOwog
ICAgICAgICAKICAgICAgICAgYm9vbCBpc0hvcml6b250YWwoKSBjb25zdCB7IHJldHVybiBtX2hv
cml6b250YWw7IH0KICAgICAgICAgaW50IHdoZWVsRGVsdGEoKSBjb25zdCB7IHJldHVybiBtX3do
ZWVsRGVsdGE7IH0KSW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNTc1MSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAKKzIwMDYtMDgtMDIgIEpvbmFzIFdpdHQgPGpvbmFz
LndpdHRAZ21haWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIC0gYWRkZWQgT2JqQyB3cmFwcGVycyBmb3IgdGhlIEtleWJvYXJkRXZlbnQgYW5k
IFdoZWVsRXZlbnQgaW5pdGlhbGl6ZXJzCisgICAgICAgICAgaHR0cDovL2J1Z3ppbGxhLm9wZW5k
YXJ3aW4ub3JnL3Nob3dfYnVnLmNnaT9pZD05NzM2CisKKyAgICAgICAgKiBiaW5kaW5ncy9vYmpj
L0RPTUV2ZW50cy5tbToKKyAgICAgICAgKC1bRE9NS2V5Ym9hcmRFdmVudCBpbml0S2V5Ym9hcmRF
dmVudDo6Ojo6Ojo6OjpdKToKKyAgICAgICAgKiBiaW5kaW5ncy9vYmpjL0RPTUV2ZW50c05vbnN0
YW5kYXJkLm1tOgorICAgICAgICAoLVtET01XaGVlbEV2ZW50IGluaXRXaGVlbEV2ZW50Ojo6Ojo6
Ojo6OjpdKToKKyAgICAgICAgKiBiaW5kaW5ncy9vYmpjL0RPTVByaXZhdGUuaDoKKworICAgICAg
ICAtIGFkZGVkIGFuIGluaXRpYWxpemVyIGZvciB0aGUgV2hlZWxFdmVudAorCisgICAgICAgICog
ZG9tL1doZWVsRXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2hlZWxFdmVudDo6aW5pdFdo
ZWVsRXZlbnQpOgorICAgICAgICAqIGRvbS9XaGVlbEV2ZW50Lmg6CisKIDIwMDYtMDctMzEgIFNh
bSBXZWluaWcgIDxzYW0ud2VpbmlnQGdtYWlsLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBE
YXJpbi4KSW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0V2ZW50U2VuZGluZ0NvbnRy
b2xsZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9FdmVudFNl
bmRpbmdDb250cm9sbGVyLmgJKHJldmlzaW9uIDE1NzM0KQorKysgV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2
ICs0Miw4IEBACiAKIC0gKHZvaWQpaGFuZGxlRXZlbnQ6KERPTUV2ZW50ICopZXZlbnQ7CiAKKy0g
KHZvaWQpZmlyZUtleWJvYXJkRXZlbnRzVG9FbGVtZW50OihXZWJTY3JpcHRPYmplY3QgKillbGVt
ZW50OworCiBAZW5kCiAKIGV4dGVybiBOU1BvaW50IGxhc3RNb3VzZVBvc2l0aW9uOwpJbmRleDog
V2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5tCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0V2ZW50U2VuZGluZ0NvbnRyb2xs
ZXIubQkocmV2aXNpb24gMTU3MzQpCisrKyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9FdmVu
dFNlbmRpbmdDb250cm9sbGVyLm0JKHdvcmtpbmcgY29weSkKQEAgLTk5LDcgKzk5LDggQEAKICAg
ICAgICAgICAgIHx8IGFTZWxlY3RvciA9PSBAc2VsZWN0b3IobW91c2VNb3ZlVG9YOlk6KQogICAg
ICAgICAgICAgfHwgYVNlbGVjdG9yID09IEBzZWxlY3RvcihsZWFwRm9yd2FyZDopCiAgICAgICAg
ICAgICB8fCBhU2VsZWN0b3IgPT0gQHNlbGVjdG9yKGtleURvd246d2l0aE1vZGlmaWVyczopCi0g
ICAgICAgICAgICB8fCBhU2VsZWN0b3IgPT0gQHNlbGVjdG9yKGVuYWJsZURPTVVJRXZlbnRMb2dn
aW5nOikpCisgICAgICAgICAgICB8fCBhU2VsZWN0b3IgPT0gQHNlbGVjdG9yKGVuYWJsZURPTVVJ
RXZlbnRMb2dnaW5nOikKKyAgICAgICAgICAgIHx8IGFTZWxlY3RvciA9PSBAc2VsZWN0b3IoZmly
ZUtleWJvYXJkRXZlbnRzVG9FbGVtZW50OikpCiAgICAgICAgIHJldHVybiBOTzsKICAgICByZXR1
cm4gWUVTOwogfQpAQCAtMTE0LDYgKzExNSw4IEBACiAgICAgICAgIHJldHVybiBAImtleURvd24i
OwogICAgIGlmIChhU2VsZWN0b3IgPT0gQHNlbGVjdG9yKGVuYWJsZURPTVVJRXZlbnRMb2dnaW5n
OikpCiAgICAgICAgIHJldHVybiBAImVuYWJsZURPTVVJRXZlbnRMb2dnaW5nIjsKKyAgICBpZiAo
YVNlbGVjdG9yID09IEBzZWxlY3RvcihmaXJlS2V5Ym9hcmRFdmVudHNUb0VsZW1lbnQ6KSkKKyAg
ICAgICAgcmV0dXJuIEAiZmlyZUtleWJvYXJkRXZlbnRzVG9FbGVtZW50IjsKICAgICByZXR1cm4g
bmlsOwogfQogCkBAIC0zNzcsNCArMzgwLDMzIEBACiAgICAgfQogfQogCistICh2b2lkKWZpcmVL
ZXlib2FyZEV2ZW50c1RvRWxlbWVudDooV2ViU2NyaXB0T2JqZWN0ICopZWxlbWVudCB7CisgICAg
CisgICAgaWYgKCFbZWxlbWVudCBpc0tpbmRPZkNsYXNzOltET01IVE1MRWxlbWVudCBjbGFzc11d
KSB7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgCisgICAgRE9NSFRNTEVsZW1lbnQgKnRh
cmdldCA9IChET01IVE1MRWxlbWVudCopZWxlbWVudDsKKyAgICBET01Eb2N1bWVudCAqZG9jdW1l
bnQgPSBbdGFyZ2V0IG93bmVyRG9jdW1lbnRdOworICAgIAorICAgIC8vIEtleWJvYXJkIEV2ZW50
IDEKKyAgICAKKyAgICBET01FdmVudCAqZG9tRXZlbnQgPSBbZG9jdW1lbnQgY3JlYXRlRXZlbnQ6
QCJLZXlib2FyZEV2ZW50Il07CisgICAgWyhET01LZXlib2FyZEV2ZW50Kilkb21FdmVudCBpbml0
S2V5Ym9hcmRFdmVudDpAImtleWRvd24iIDpZRVMgOllFUyA6W2RvY3VtZW50IGRlZmF1bHRWaWV3
XSA6QCJVKzAwMDA0MSIgOjAgOllFUyA6Tk8gOk5PIDpOT107CisgICAgW3RhcmdldCBkaXNwYXRj
aEV2ZW50OmRvbUV2ZW50XTsgIAorICAgICAgICAKKyAgICAvLyBLZXlib2FyZCBFdmVudCAyCisg
ICAgCisgICAgZG9tRXZlbnQgPSBbZG9jdW1lbnQgY3JlYXRlRXZlbnQ6QCJLZXlib2FyZEV2ZW50
Il07CisgICAgWyhET01LZXlib2FyZEV2ZW50Kilkb21FdmVudCBpbml0S2V5Ym9hcmRFdmVudDpA
ImtleXByZXNzIiA6WUVTIDpZRVMgOltkb2N1bWVudCBkZWZhdWx0Vmlld10gOkAiVSswMDAwNDUi
IDoxIDpOTyA6WUVTIDpOTyA6Tk9dOworICAgIFt0YXJnZXQgZGlzcGF0Y2hFdmVudDpkb21FdmVu
dF07ICAgIAorICAgIAorICAgIC8vIEtleWJvYXJkIEV2ZW50IDMKKyAgICAKKyAgICBkb21FdmVu
dCA9IFtkb2N1bWVudCBjcmVhdGVFdmVudDpAIktleWJvYXJkRXZlbnQiXTsKKyAgICBbKERPTUtl
eWJvYXJkRXZlbnQqKWRvbUV2ZW50IGluaXRLZXlib2FyZEV2ZW50OkAia2V5dXAiIDpZRVMgOllF
UyA6W2RvY3VtZW50IGRlZmF1bHRWaWV3XSA6QCJVKzAwMDA1NiIgOjAgOk5PIDpOTyA6Tk8gOk5P
XTsKKyAgICBbdGFyZ2V0IGRpc3BhdGNoRXZlbnQ6ZG9tRXZlbnRdOyAgIAorICAgIAorfQorCiBA
ZW5kCkluZGV4OiBXZWJLaXRUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9v
bHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNTc1MSkKKysrIFdlYktpdFRvb2xzL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDA2LTA4LTAyICBKb25hcyBXaXR0IDxq
b25hcy53aXR0QGdtYWlsLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAtIGFkZGVkIGEgZnVuY3Rpb24gdG8gY3JlYXRlIGEgZmV3IERPTUtleWJv
YXJkRXZlbnRzIGFuZCBkaXNwYXRjaAorICAgICAgICAgIHRoZW0gdG8gYSBjZXJ0YWluIEhUTUwg
ZWxlbWVudC4KKyAgICAgICAgICBodHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5vcmcvc2hvd19i
dWcuY2dpP2lkPTk3MzYKKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL0V2ZW50U2VuZGluZ0Nv
bnRyb2xsZXIuaDoKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9FdmVudFNlbmRpbmdDb250cm9s
bGVyLm06CisgICAgICAgICgrW0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIgaXNTZWxlY3RvckV4Y2x1
ZGVkRnJvbVdlYlNjcmlwdDpdKToKKyAgICAgICAgKCtbRXZlbnRTZW5kaW5nQ29udHJvbGxlciB3
ZWJTY3JpcHROYW1lRm9yU2VsZWN0b3I6XSk6CisgICAgICAgICgtW0V2ZW50U2VuZGluZ0NvbnRy
b2xsZXIgZmlyZUtleWJvYXJkRXZlbnRzVG9FbGVtZW50Ol0pOgorCiAyMDA2LTA4LTAxICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICAtIGZpeCBhIGJ1ZyBpbiBteSBy
ZWNlbnQgY2hhbmdlIHdoZXJlIHRoZSBtb3VzZSBwb3NpdGlvbiBhdCB0aGUgZW5kIG9mCg==
</data>
<flag name="review"
          id="3039"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>