<?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>81056</bug_id>
          
          <creation_ts>2012-03-13 16:33:43 -0700</creation_ts>
          <short_desc>Lion Intel Debug WebKit2 Tests crashing under [WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]</short_desc>
          <delta_ts>2012-03-14 09:38:27 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://build.webkit.org/results/Lion%20Intel%20Debug%20(WebKit2%20Tests)/r110602%20(4860)/fullscreen/anonymous-block-merge-crash-crash-log.txt</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, LayoutTestFailure, MakingBotsRed, Regression</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jessie Berlin">jberlin</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>ap</cc>
    
    <cc>jberlin</cc>
    
    <cc>jer.noble</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>577976</commentid>
    <comment_count>0</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2012-03-13 16:33:43 -0700</bug_when>
    <thetext>I am not sure when this started happening, but I can reproduce it locally by running all the fullscreen tests under WK2 (or just run-webkit-tests -2 LayoutTests/fullscreen/full-screen-request.html).

Process:         WebKitTestRunner [35065]
Path:            /Volumes/VOLUME/*/WebKitTestRunner
Identifier:      WebKitTestRunner
Version:         ??? (???)
Code Type:       X86-64 (Native)
Parent Process:  Python [35058]

Date/Time:       2012-03-13 14:37:13.789 -0700
OS Version:      Mac OS X 10.7.2 (11C74)
Report Version:  9

Crashed Thread:  0  Dispatch queue: com.apple.main-thread

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000000

VM Regions Near 0:
--&gt; 
    __TEXT                 00000001090a6000-00000001090bc000 [   88K] r-x/rwx SM=COW  /Volumes/VOLUME/*

Application Specific Information:
objc[35065]: garbage collection is OFF

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   ???                           	000000000000000000 0 + 0
1   com.apple.WebKit2             	0x0000000109418380 -[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:] + 976 (WKFullScreenWindowController.mm:473)
2   com.apple.WebKit2             	0x0000000109416e3d -[WKFullScreenWindowController beganEnterFullScreenWithInitialFrame:finalFrame:] + 317 (WKFullScreenWindowController.mm:235)
3   com.apple.WebKit2             	0x00000001092d0708 WebKit::WebFullScreenManagerProxy::beganEnterFullScreen(WebCore::IntRect const&amp;, WebCore::IntRect const&amp;) + 88 (WebFullScreenManagerProxyMac.mm:67)
4   com.apple.WebKit2             	0x00000001092d0e05 void CoreIPC::callMemberFunction&lt;WebKit::WebFullScreenManagerProxy, void (WebKit::WebFullScreenManagerProxy::*)(WebCore::IntRect const&amp;, WebCore::IntRect const&amp;), WebCore::IntRect, WebCore::IntRect&gt;(CoreIPC::Arguments2&lt;WebCore::IntRect, WebCore::IntRect&gt; const&amp;, WebKit::WebFullScreenManagerProxy*, void (WebKit::WebFullScreenManagerProxy::*)(WebCore::IntRect const&amp;, WebCore::IntRect const&amp;)) + 149 (HandleMessage.h:26)
5   com.apple.WebKit2             	0x00000001092d0b93 void CoreIPC::handleMessage&lt;Messages::WebFullScreenManagerProxy::BeganEnterFullScreen, WebKit::WebFullScreenManagerProxy, void (WebKit::WebFullScreenManagerProxy::*)(WebCore::IntRect const&amp;, WebCore::IntRect const&amp;)&gt;(CoreIPC::ArgumentDecoder*, WebKit::WebFullScreenManagerProxy*, void (WebKit::WebFullScreenManagerProxy::*)(WebCore::IntRect const&amp;, WebCore::IntRect const&amp;)) + 115 (HandleMessage.h:297)
6   com.apple.WebKit2             	0x00000001092d0844 WebKit::WebFullScreenManagerProxy::didReceiveWebFullScreenManagerProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*) + 212 (WebFullScreenManagerProxyMessageReceiver.cpp:50)
7   com.apple.WebKit2             	0x00000001092cf971 WebKit::WebFullScreenManagerProxy::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*) + 49 (WebFullScreenManagerProxy.cpp:60)
8   com.apple.WebKit2             	0x0000000109352080 WebKit::WebPageProxy::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*) + 240 (WebPageProxy.cpp:1597)
9   com.apple.WebKit2             	0x00000001093ecfe6 WebKit::WebProcessProxy::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*) + 438 (WebProcessProxy.cpp:332)
10  com.apple.WebKit2             	0x0000000109267a75 WebKit::WebConnectionToWebProcess::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*) + 405 (WebConnectionToWebProcess.cpp:93)
11  com.apple.WebKit2             	0x0000000109267abd non-virtual thunk to WebKit::WebConnectionToWebProcess::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*) + 61
12  com.apple.WebKit2             	0x000000010910419c CoreIPC::Connection::dispatchMessage(CoreIPC::Connection::Message&lt;CoreIPC::ArgumentDecoder&gt;&amp;) + 428 (Connection.cpp:692)
13  com.apple.WebKit2             	0x0000000109106cf3 CoreIPC::Connection::dispatchMessages() + 211 (Connection.cpp:720)
14  com.apple.WebKit2             	0x000000010910de00 WTF::FunctionWrapper&lt;void (CoreIPC::Connection::*)()&gt;::operator()(CoreIPC::Connection*) + 112 (Functional.h:173)
15  com.apple.WebKit2             	0x000000010910dd85 WTF::BoundFunctionImpl&lt;WTF::FunctionWrapper&lt;void (CoreIPC::Connection::*)()&gt;, void ()(CoreIPC::Connection*)&gt;::operator()() + 53 (Functional.h:373)
16  com.apple.WebCore             	0x000000010c75675d WTF::Function&lt;void ()()&gt;::operator()() const + 141 (Functional.h:581)
17  com.apple.WebCore             	0x000000010c7564e3 WebCore::RunLoop::performWork() + 147 (RunLoop.cpp:66)
18  com.apple.WebCore             	0x000000010c757900 WebCore::RunLoop::performWork(void*) + 96 (RunLoopMac.mm:65)
19  com.apple.CoreFoundation      	0x00007fff875e2b51 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
20  com.apple.CoreFoundation      	0x00007fff875e23bd __CFRunLoopDoSources0 + 253
21  com.apple.CoreFoundation      	0x00007fff876091a9 __CFRunLoopRun + 905
22  com.apple.CoreFoundation      	0x00007fff87608ae6 CFRunLoopRunSpecific + 230
23  com.apple.Foundation          	0x00007fff80f4e04f -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 267
24  WebKitTestRunner              	0x00000001090b0ddc WTR::TestController::platformRunUntil(bool&amp;, double) + 204 (TestControllerMac.mm:60)
25  WebKitTestRunner              	0x00000001090ac6f5 WTR::TestController::runUntil(bool&amp;, WTR::TestController::TimeoutDuration) + 149 (TestController.cpp:563)
26  WebKitTestRunner              	0x00000001090b1b64 WTR::TestInvocation::invoke() + 1396 (TestInvocation.cpp:171)
27  WebKitTestRunner              	0x00000001090acd78 WTR::TestController::runTest(char const*) + 1656 (TestController.cpp:513)
28  WebKitTestRunner              	0x00000001090ace82 WTR::TestController::runTestingServerLoop() + 178 (TestController.cpp:529)
29  WebKitTestRunner              	0x00000001090ab500 WTR::TestController::run() + 48 (TestController.cpp:537)
30  WebKitTestRunner              	0x00000001090aa1c6 WTR::TestController::TestController(int, char const**) + 614 (TestController.cpp:88)
31  WebKitTestRunner              	0x00000001090a9f53 WTR::TestController::TestController(int, char const**) + 35 (TestController.cpp:89)
32  WebKitTestRunner              	0x00000001090a7eaf main + 143 (main.mm:36)
33  WebKitTestRunner              	0x00000001090a7e14 start + 52</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577977</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2012-03-13 16:34:02 -0700</bug_when>
    <thetext>&lt;rdar://problem/11042811&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578015</commentid>
    <comment_count>2</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-03-13 17:10:22 -0700</bug_when>
    <thetext>InjectedBundlePageFullScreenClient needs to be taught about beganEnterFullScreen and beganExitFullScreen, so that WebKitTestRunner can intercept these calls and not attempt to move around windows, etc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578021</commentid>
    <comment_count>3</comment_count>
      <attachid>131756</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-03-13 17:16:33 -0700</bug_when>
    <thetext>Created attachment 131756
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578030</commentid>
    <comment_count>4</comment_count>
      <attachid>131756</attachid>
    <who name="">mitz</who>
    <bug_when>2012-03-13 17:25:17 -0700</bug_when>
    <thetext>Comment on attachment 131756
Patch

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

&gt; Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.h:322
&gt; +
&gt; +    // Version 1:
&gt; +    WKBundlePageBeganEnterFullScreen                                    beganEnterFullScreen;
&gt; +    WKBundlePageBeganExitFullScreen                                     beganExitFullScreen;
&gt;  };
&gt;  typedef struct WKBundlePageFullScreenClient WKBundlePageFullScreenClient;
&gt;  
&gt; -enum { kWKBundlePageFullScreenClientCurrentVersion = 0 };
&gt; +enum { kWKBundlePageFullScreenClientCurrentVersion = 1 };

You need to add an APIClientTraits specialization for WKBundlePageFullScreenClient now, so that the struct is properly zeroed out for version 0 clients.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578078</commentid>
    <comment_count>5</comment_count>
      <attachid>131767</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-03-13 18:31:00 -0700</bug_when>
    <thetext>Created attachment 131767
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578097</commentid>
    <comment_count>6</comment_count>
      <attachid>131767</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-03-13 18:54:29 -0700</bug_when>
    <thetext>Comment on attachment 131767
Patch

Attachment 131767 did not pass win-ews (win):
Output: http://queues.webkit.org/results/11948832</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578435</commentid>
    <comment_count>7</comment_count>
      <attachid>131860</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-03-14 08:43:35 -0700</bug_when>
    <thetext>Created attachment 131860
Patch

Fixed windows build failure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578457</commentid>
    <comment_count>8</comment_count>
      <attachid>131860</attachid>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2012-03-14 09:03:24 -0700</bug_when>
    <thetext>Comment on attachment 131860
Patch

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

r=me!

&gt; Source/WebKit2/WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.cpp:77
&gt; +        m_client.beganExitFullScreen(toAPI(page), toAPI(initialFrame), toAPI(finalFrame));

I think you meant

m_client.beganEnterFullScreen( ....

here, not beganExitFullScreen.

&gt; Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:1118
&gt; +void InjectedBundlePage::beganEnterFullScreen(WKBundlePageRef pageRef, WKRect initialFrame, WKRect finalFrame)

Odd that you aren&apos;t seeing any compiler warnings / errors about unused parameters. You should remove the names for the parameters here.

&gt; Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:1124
&gt; +void InjectedBundlePage::beganExitFullScreen(WKBundlePageRef pageRef, WKRect initialFrame, WKRect finalFrame)

Ditto.

&gt; Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:1127
&gt; +        InjectedBundle::shared().os() &lt;&lt; &quot;beganExitFullScreen()\n&quot;;

Do you know if there are any tests that depend on beganEnterFullScreen/beganExitFullScreen being in the output? If so, are there expected failing results checked in for them for WK2 that would need to be updated now that we are logging it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578469</commentid>
    <comment_count>9</comment_count>
      <attachid>131860</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-03-14 09:10:45 -0700</bug_when>
    <thetext>Comment on attachment 131860
Patch

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

&gt;&gt; Source/WebKit2/WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.cpp:77
&gt;&gt; +        m_client.beganExitFullScreen(toAPI(page), toAPI(initialFrame), toAPI(finalFrame));
&gt; 
&gt; I think you meant
&gt; 
&gt; m_client.beganEnterFullScreen( ....
&gt; 
&gt; here, not beganExitFullScreen.

Whoops!  Changed.

&gt;&gt; Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:1118
&gt;&gt; +void InjectedBundlePage::beganEnterFullScreen(WKBundlePageRef pageRef, WKRect initialFrame, WKRect finalFrame)
&gt; 
&gt; Odd that you aren&apos;t seeing any compiler warnings / errors about unused parameters. You should remove the names for the parameters here.

Odd indeed.  Odder still that I thought I removed them.  Though the other functions in the file have the same problem.  I&apos;ll remove them anyways.

&gt;&gt; Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:1127
&gt;&gt; +        InjectedBundle::shared().os() &lt;&lt; &quot;beganExitFullScreen()\n&quot;;
&gt; 
&gt; Do you know if there are any tests that depend on beganEnterFullScreen/beganExitFullScreen being in the output? If so, are there expected failing results checked in for them for WK2 that would need to be updated now that we are logging it?

No, none of the tests seem to enable dumping.  And, while there are a couple of failing tests when running &quot;run-webkit-tests -2&quot;, none are due to logging.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578478</commentid>
    <comment_count>10</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-03-14 09:21:36 -0700</bug_when>
    <thetext>Committed r110708: &lt;http://trac.webkit.org/changeset/110708&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578483</commentid>
    <comment_count>11</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-03-14 09:25:06 -0700</bug_when>
    <thetext>&gt; Odd indeed.  Odder still that I thought I removed them.  Though the other functions in the file have the same problem.  I&apos;ll remove them anyways.

Sam once told me that some of WebKit2 code has argument names left intentionally. Not sure if that&apos;s one of those cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578492</commentid>
    <comment_count>12</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2012-03-14 09:38:27 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; &gt; Odd indeed.  Odder still that I thought I removed them.  Though the other functions in the file have the same problem.  I&apos;ll remove them anyways.
&gt; 
&gt; Sam once told me that some of WebKit2 code has argument names left intentionally. Not sure if that&apos;s one of those cases.

Maybe he was referring to leaving the argument names in the WK API header files, even if they are obvious? He has told me that a couple of times.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131756</attachid>
            <date>2012-03-13 17:16:33 -0700</date>
            <delta_ts>2012-03-13 18:30:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81056-20120313171632.patch</filename>
            <type>text/plain</type>
            <size>9373</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNTg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYWE3ZGViNDJlMTFmNDMy
Y2YzZmU0YTVlMTBjYjliOTAyYzE0ZWYzZi4uMjNkY2U1MWNhMmE1NDhlMTI4ZGU2ZDExYjM1YTIx
NTBmZTlhMGVkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTAzLTEzICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIExpb24gSW50ZWwgRGVidWcg
V2ViS2l0MiBUZXN0cyBjcmFzaGluZyB1bmRlciBbV0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxl
ciBfc3RhcnRFbnRlckZ1bGxTY3JlZW5BbmltYXRpb25XaXRoRHVyYXRpb246XQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODEwNTYKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBHaXZlIHRoZSBJbmplY3RlZEJ1
bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50IGEgZmlyc3QgY3JhY2sgYXQgYmVnYW5FbnRlckZ1bGxT
Y3JlZW4gYW5kIGJlZ2FuRXhpdEZ1bGxTY3JlZW46CisgICAgICAgICogV2ViUHJvY2Vzcy9GdWxs
U2NyZWVuL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnVs
bFNjcmVlbk1hbmFnZXI6OndpbGxFbnRlckZ1bGxTY3JlZW4pOgorICAgICAgICAoV2ViS2l0OjpX
ZWJGdWxsU2NyZWVuTWFuYWdlcjo6d2lsbEV4aXRGdWxsU2NyZWVuKToKKworICAgICAgICBBbmQg
Y2FsbCB0aGUgY2xpZW50IGZ1bmN0aW9uIGlmIGl0IGV4aXN0czsgb3RoZXJ3aXNlLCBjb250aW51
ZSB0byBtZXNzYWdlIHRoZSBwYWdlOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvQVBJL2MvV0tCdW5kbGVQYWdlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6SW5qZWN0ZWRCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudDo6YmVnYW5FbnRlckZ1bGxT
Y3JlZW4pOgorICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xp
ZW50OjpiZWdhbkV4aXRGdWxsU2NyZWVuKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGllbnQuaDoKKwogMjAxMi0wMy0x
MyAgTWF4IFZ1am92aWMgIDxtdnVqb3ZpY0BhZG9iZS5jb20+CiAKICAgICAgICAgQWRkIGEgbWV0
aG9kIHRvIHdpbmRvdy5pbnRlcm5hbHMgdG8gZW5hYmxlIHRlc3Rpbmcgb2YgaW5zcGVjdG9yIGhp
Z2hsaWdodCByZWN0cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9GdWxs
U2NyZWVuL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvRnVsbFNjcmVlbi9XZWJGdWxsU2NyZWVuTWFuYWdlci5jcHAKaW5kZXggN2U0YTRlM2MyNjIz
MDQ2NmQxMjRlMGIxYjg4NWNmYjMyMTQyYjRhYi4uNDRkYWI0MDIzZWQ5ODhlN2NmNzM0ZDVhYzky
MTc1YzA2MjM1ZTVhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9GdWxs
U2NyZWVuL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL0Z1bGxTY3JlZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIuY3BwCkBAIC0xMTMsNyArMTEz
LDcgQEAgdm9pZCBXZWJGdWxsU2NyZWVuTWFuYWdlcjo6d2lsbEVudGVyRnVsbFNjcmVlbigpCiAg
ICAgbV9lbGVtZW50LT5kb2N1bWVudCgpLT51cGRhdGVMYXlvdXQoKTsKICAgICBtX3BhZ2UtPmZv
cmNlUmVwYWludFdpdGhvdXRDYWxsYmFjaygpOwogICAgIG1fZmluYWxGcmFtZSA9IHNjcmVlblJl
Y3RPZkNvbnRlbnRzKG1fZWxlbWVudC5nZXQoKSk7Ci0gICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2Vz
OjpXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5OjpCZWdhbkVudGVyRnVsbFNjcmVlbihtX2luaXRp
YWxGcmFtZSwgbV9maW5hbEZyYW1lKSk7CisgICAgbV9wYWdlLT5pbmplY3RlZEJ1bmRsZUZ1bGxT
Y3JlZW5DbGllbnQoKS5iZWdhbkVudGVyRnVsbFNjcmVlbihtX3BhZ2UuZ2V0KCksIG1faW5pdGlh
bEZyYW1lLCBtX2ZpbmFsRnJhbWUpKTsKIH0KIAogdm9pZCBXZWJGdWxsU2NyZWVuTWFuYWdlcjo6
ZGlkRW50ZXJGdWxsU2NyZWVuKCkKQEAgLTEyNyw3ICsxMjcsNyBAQCB2b2lkIFdlYkZ1bGxTY3Jl
ZW5NYW5hZ2VyOjp3aWxsRXhpdEZ1bGxTY3JlZW4oKQogICAgIEFTU0VSVChtX2VsZW1lbnQpOwog
ICAgIG1fZmluYWxGcmFtZSA9IHNjcmVlblJlY3RPZkNvbnRlbnRzKG1fZWxlbWVudC5nZXQoKSk7
CiAgICAgbV9lbGVtZW50LT5kb2N1bWVudCgpLT53ZWJraXRXaWxsRXhpdEZ1bGxTY3JlZW5Gb3JF
bGVtZW50KG1fZWxlbWVudC5nZXQoKSk7Ci0gICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJG
dWxsU2NyZWVuTWFuYWdlclByb3h5OjpCZWdhbkV4aXRGdWxsU2NyZWVuKG1fZmluYWxGcmFtZSwg
bV9pbml0aWFsRnJhbWUpKTsKKyAgICBtX3BhZ2UtPmluamVjdGVkQnVuZGxlRnVsbFNjcmVlbkNs
aWVudCgpLmJlZ2FuRXhpdEZ1bGxTY3JlZW4obV9wYWdlLmdldCgpLCBtX2ZpbmFsRnJhbWUsIG1f
aW5pdGlhbEZyYW1lKSk7CiB9CiAKIHZvaWQgV2ViRnVsbFNjcmVlbk1hbmFnZXI6OmRpZEV4aXRG
dWxsU2NyZWVuKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5oCmluZGV4IGM3NTMzN2FjZjZiMjFm
N2Q3NjNlODYyMjNjMGNlMmUzOGQxNTNiZTMuLmNiNGY4MTQyYjkyNDcyMTUzOTM2ZTA3NDJhZTk4
NDk3MDU4YTlhYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuaApAQCAtMzA3LDEzICszMDcs
MTkgQEAgdHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlRXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50
KShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW4KIHN0cnVjdCBXS0J1bmRsZVBhZ2VGdWxsU2Ny
ZWVuQ2xpZW50IHsKICAgICBpbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnNpb247CiAgICAgY29uc3Qgdm9pZCAqICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGll
bnRJbmZvOworCisgICAgLy8gVmVyc2lvbiAwOgogICAgIFdLQnVuZGxlUGFnZVN1cHBvcnRzRnVs
bFNjcmVlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydHNGdWxs
U2NyZWVuOwogICAgIFdLQnVuZGxlUGFnZUVudGVyRnVsbFNjcmVlbkZvckVsZW1lbnQgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZW50ZXJGdWxsU2NyZWVuRm9yRWxlbWVudDsKICAgICBX
S0J1bmRsZVBhZ2VFeGl0RnVsbFNjcmVlbkZvckVsZW1lbnQgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGV4aXRGdWxsU2NyZWVuRm9yRWxlbWVudDsKKworICAgIC8vIFZlcnNpb24gMToK
KyAgICBXS0J1bmRsZVBhZ2VCZWdhbkVudGVyRnVsbFNjcmVlbiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGJlZ2FuRW50ZXJGdWxsU2NyZWVuOworICAgIFdLQnVuZGxlUGFnZUJl
Z2FuRXhpdEZ1bGxTY3JlZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVn
YW5FeGl0RnVsbFNjcmVlbjsKIH07CiB0eXBlZGVmIHN0cnVjdCBXS0J1bmRsZVBhZ2VGdWxsU2Ny
ZWVuQ2xpZW50IFdLQnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGllbnQ7CiAKLWVudW0geyBrV0tCdW5k
bGVQYWdlRnVsbFNjcmVlbkNsaWVudEN1cnJlbnRWZXJzaW9uID0gMCB9OworZW51bSB7IGtXS0J1
bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50Q3VycmVudFZlcnNpb24gPSAxIH07CiAKIFdLX0VYUE9S
VCB2b2lkIFdLQnVuZGxlUGFnZVdpbGxFbnRlckZ1bGxTY3JlZW4oV0tCdW5kbGVQYWdlUmVmIHBh
Z2UpOwogV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVQYWdlRGlkRW50ZXJGdWxsU2NyZWVuKFdLQnVu
ZGxlUGFnZVJlZiBwYWdlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudC5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFn
ZUZ1bGxTY3JlZW5DbGllbnQuY3BwCmluZGV4IGQ4ZTk4NmY3ZGJiZTIzZTc1NTY1ZTdkMWEyNDU2
NWFjNTk1ZjVlYTIuLjNiOGM0MDI0MDBiMjIwMTUzNjhiNDllODkzMDg1MzY3OTczZTljNWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0
ZWRCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50
LmNwcApAQCAtNjgsNiArNjgsMjYgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZVBhZ2VGdWxsU2NyZWVu
Q2xpZW50OjpleGl0RnVsbFNjcmVlbkZvckVsZW1lbnQoV2ViUGFnZSAqcGFnZSwKICAgICAgICAg
cGFnZS0+c2VuZChNZXNzYWdlczo6V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6RXhpdEZ1bGxT
Y3JlZW4oKSk7CiB9CiAKKwordm9pZCBJbmplY3RlZEJ1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50
OjpiZWdhbkVudGVyRnVsbFNjcmVlbihXZWJQYWdlICpwYWdlLCBJbnRSZWN0JiBpbml0aWFsRnJh
bWUsIEludFJlY3QmIGZpbmFsRnJhbWUpCit7CisgICAgaWYgKG1fY2xpZW50LmJlZ2FuRW50ZXJG
dWxsU2NyZWVuKSB7CisgICAgICAgIFJlZlB0cjxJbmplY3RlZEJ1bmRsZU5vZGVIYW5kbGU+IG5v
ZGVIYW5kbGUgPSBJbmplY3RlZEJ1bmRsZU5vZGVIYW5kbGU6OmdldE9yQ3JlYXRlKGVsZW1lbnQp
OworICAgICAgICBtX2NsaWVudC5iZWdhbkV4aXRGdWxsU2NyZWVuKHRvQVBJKHBhZ2UpLCBpbml0
aWFsRnJhbWUsIGZpbmFsRnJhbWUpOworICAgIH0gZWxzZQorICAgICAgICBtX3BhZ2UtPnNlbmQo
TWVzc2FnZXM6OldlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6OkJlZ2FuRW50ZXJGdWxsU2NyZWVu
KGluaXRpYWxGcmFtZSwgZmluYWxGcmFtZSkpOworfQorCisKK3ZvaWQgSW5qZWN0ZWRCdW5kbGVQ
YWdlRnVsbFNjcmVlbkNsaWVudDo6YmVnYW5FeGl0RnVsbFNjcmVlbihXZWJQYWdlICpwYWdlLCBJ
bnRSZWN0JiBpbml0aWFsRnJhbWUsIEludFJlY3QmIGZpbmFsRnJhbWUpCit7CisgICAgaWYgKG1f
Y2xpZW50LmJlZ2FuRXhpdEZ1bGxTY3JlZW4pIHsKKyAgICAgICAgUmVmUHRyPEluamVjdGVkQnVu
ZGxlTm9kZUhhbmRsZT4gbm9kZUhhbmRsZSA9IEluamVjdGVkQnVuZGxlTm9kZUhhbmRsZTo6Z2V0
T3JDcmVhdGUoZWxlbWVudCk7CisgICAgICAgIG1fY2xpZW50LmJlZ2FuRXhpdEZ1bGxTY3JlZW4o
dG9BUEkocGFnZSksIGluaXRpYWxGcmFtZSwgZmluYWxGcmFtZSkpOworICAgIH0gZWxzZQorICAg
ICAgICBwYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5OjpCZWdh
bkV4aXRGdWxsU2NyZWVuKGluaXRpYWxGcmFtZSwgZmluYWxGcmFtZSkpOworfQorCiB9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRC
dW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50LmgKaW5kZXgg
YzQ1YjIxNzgwOWI2MTU0MzFhMTQzZjI0YTY4OWIyMTUwMDRlNDY4ZC4uYTI3OTA2NDY0YzM4YzY3
NGNjZDg4YTRlMjRiZGI5NTAzYmQyYjRhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50
LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3Rl
ZEJ1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50LmgKQEAgLTM1LDYgKzM1LDcgQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogY2xhc3MgRWxlbWVudDsKK2NsYXNzIEludFJlY3Q7CiB9CiAKIG5hbWVz
cGFjZSBXZWJLaXQgewpAQCAtNDYsNiArNDcsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBzdXBwb3J0
c0Z1bGxTY3JlZW4oV2ViUGFnZSosIGJvb2wgd2l0aEtleWJvYXJkKTsKICAgICB2b2lkIGVudGVy
RnVsbFNjcmVlbkZvckVsZW1lbnQoV2ViUGFnZSosIFdlYkNvcmU6OkVsZW1lbnQqKTsKICAgICB2
b2lkIGV4aXRGdWxsU2NyZWVuRm9yRWxlbWVudChXZWJQYWdlKiwgV2ViQ29yZTo6RWxlbWVudCop
OworICAgIHZvaWQgYmVnYW5FbnRlckZ1bGxTY3JlZW4oV2ViUGFnZSosIEludFJlY3QmIGluaXRp
YWxGcmFtZSwgSW50UmVjdCYgZmluYWxGcmFtZSk7CisgICAgdm9pZCBiZWdhbkV4aXRGdWxsU2Ny
ZWVuKFdlYlBhZ2UqLCBJbnRSZWN0JiBpbml0aWFsRnJhbWUsIEludFJlY3QmIGZpbmFsRnJhbWUp
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VM
b2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNDEzOGE4MjI2MDFkN2Y3NGE0NmZmZTkxMTZkYmNh
NDAwMDU0NWMzMy4uZGVhMzUyZDMxZWMwOTA1YmNmMDc3OTJiYzg1ZDExNTE3ZTc3ZmM4MyAxMDA2
NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE3IEBACisyMDEyLTAzLTEzICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisg
ICAgICAgIExpb24gSW50ZWwgRGVidWcgV2ViS2l0MiBUZXN0cyBjcmFzaGluZyB1bmRlciBbV0tG
dWxsU2NyZWVuV2luZG93Q29udHJvbGxlciBfc3RhcnRFbnRlckZ1bGxTY3JlZW5BbmltYXRpb25X
aXRoRHVyYXRpb246XQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9ODEwNTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBJbnRlcmNlcHQgYmVnYW5FbnRlckZ1bGxTY3JlZW4gYW5kIGJlZ2FuRXhpdEZ1bGxTY3Jl
ZW4gYW5kIHR1cm4gdGhlbSBpbnRvIG5vLW9wcyAocGx1cyBsb2dnaW5nKS4KKworICAgICAgICAq
IFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlLmNwcDoK
KyAgICAgICAgKFdUUjo6SW5qZWN0ZWRCdW5kbGVQYWdlOjpJbmplY3RlZEJ1bmRsZVBhZ2UpOgor
ICAgICAgICAoV1RSOjpJbmplY3RlZEJ1bmRsZVBhZ2U6OmJlZ2FuRW50ZXJGdWxsU2NyZWVuKToK
KyAgICAgICAgKFdUUjo6SW5qZWN0ZWRCdW5kbGVQYWdlOjpiZWdhbkV4aXRGdWxsU2NyZWVuKToK
KwogMjAxMi0wMy0xMyAgT2phbiBWYWZhaSAgPG9qYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFJlYmFzZWxpbmluZyBmb3IgYSBuZXcgcG9ydCBkb2Vzbid0IHdvcmsgcmlnaHQgd2l0aCBtdWx0
aXBsZSBmYWxsYmFjayBwb3J0cwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2UuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2UuY3BwCmluZGV4IGVkZjY2ZGVh
NWUzNWI5NWMzMDVmNmM5MGJlMWQ5MTkxZGFhZDE4ZTAuLjJjZWMwYWQzMzJlOTBmZDc0OGNlMmU4
MDRiODg4YWM4OGI5YWM3N2QgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZS5jcHAKQEAgLTI4OCw2ICsy
ODgsOCBAQCBJbmplY3RlZEJ1bmRsZVBhZ2U6OkluamVjdGVkQnVuZGxlUGFnZShXS0J1bmRsZVBh
Z2VSZWYgcGFnZSkKICAgICAgICAgc3VwcG9ydHNGdWxsU2NyZWVuLAogICAgICAgICBlbnRlckZ1
bGxTY3JlZW5Gb3JFbGVtZW50LAogICAgICAgICBleGl0RnVsbFNjcmVlbkZvckVsZW1lbnQsCisg
ICAgICAgIGJlZ2FuRW50ZXJGdWxsU2NyZWVuLAorICAgICAgICBiZWdhbkV4aXRGdWxsU2NyZWVu
LAogICAgIH07CiAgICAgV0tCdW5kbGVQYWdlU2V0RnVsbFNjcmVlbkNsaWVudChtX3BhZ2UsICZm
dWxsU2NyZWVuQ2xpZW50KTsKICNlbmRpZgpAQCAtMTExMiw2ICsxMTE0LDE4IEBAIHZvaWQgSW5q
ZWN0ZWRCdW5kbGVQYWdlOjpleGl0RnVsbFNjcmVlbkZvckVsZW1lbnQoV0tCdW5kbGVQYWdlUmVm
IHBhZ2VSZWYsIFdLQnVuCiAgICAgV0tCdW5kbGVQYWdlV2lsbEV4aXRGdWxsU2NyZWVuKHBhZ2VS
ZWYpOwogICAgIFdLQnVuZGxlUGFnZURpZEV4aXRGdWxsU2NyZWVuKHBhZ2VSZWYpOwogfQorCit2
b2lkIEluamVjdGVkQnVuZGxlUGFnZTo6YmVnYW5FbnRlckZ1bGxTY3JlZW4oV0tCdW5kbGVQYWdl
UmVmIHBhZ2VSZWYpCit7CisgICAgaWYgKEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5sYXlvdXRU
ZXN0Q29udHJvbGxlcigpLT5zaG91bGREdW1wRnVsbFNjcmVlbkNhbGxiYWNrcygpKQorICAgICAg
ICBJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkub3MoKSA8PCAiYmVnYW5FbnRlckZ1bGxTY3JlZW4o
KVxuIjsKK30KKwordm9pZCBJbmplY3RlZEJ1bmRsZVBhZ2U6OmJlZ2FuRXhpdEZ1bGxTY3JlZW4o
V0tCdW5kbGVQYWdlUmVmIHBhZ2VSZWYpCit7CisgICAgaWYgKEluamVjdGVkQnVuZGxlOjpzaGFy
ZWQoKS5sYXlvdXRUZXN0Q29udHJvbGxlcigpLT5zaG91bGREdW1wRnVsbFNjcmVlbkNhbGxiYWNr
cygpKQorICAgICAgICBJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkub3MoKSA8PCAiYmVnYW5FeGl0
RnVsbFNjcmVlbigpXG4iOworfQogI2VuZGlmCiAKIHN0YXRpYyBib29sIGNvbXBhcmVCeVRhcmdl
dE5hbWUoV0tCdW5kbGVCYWNrRm9yd2FyZExpc3RJdGVtUmVmIGl0ZW0xLCBXS0J1bmRsZUJhY2tG
b3J3YXJkTGlzdEl0ZW1SZWYgaXRlbTIpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131767</attachid>
            <date>2012-03-13 18:31:00 -0700</date>
            <delta_ts>2012-03-14 08:43:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81056-20120313183059.patch</filename>
            <type>text/plain</type>
            <size>11762</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNTg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYWE3ZGViNDJlMTFmNDMy
Y2YzZmU0YTVlMTBjYjliOTAyYzE0ZWYzZi4uZTVmMDI0NDdjYjhjODU4NjYzYTdmMDRlOGQ1NDU0
ZDgzZDdkNWQzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTAzLTEzICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIExpb24gSW50ZWwgRGVidWcg
V2ViS2l0MiBUZXN0cyBjcmFzaGluZyB1bmRlciBbV0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxl
ciBfc3RhcnRFbnRlckZ1bGxTY3JlZW5BbmltYXRpb25XaXRoRHVyYXRpb246XQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODEwNTYKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBHaXZlIHRoZSBJbmplY3RlZEJ1
bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50IGEgZmlyc3QgY3JhY2sgYXQgYmVnYW5FbnRlckZ1bGxT
Y3JlZW4gYW5kIGJlZ2FuRXhpdEZ1bGxTY3JlZW46CisgICAgICAgICogV2ViUHJvY2Vzcy9GdWxs
U2NyZWVuL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnVs
bFNjcmVlbk1hbmFnZXI6OndpbGxFbnRlckZ1bGxTY3JlZW4pOgorICAgICAgICAoV2ViS2l0OjpX
ZWJGdWxsU2NyZWVuTWFuYWdlcjo6d2lsbEV4aXRGdWxsU2NyZWVuKToKKworICAgICAgICBBbmQg
Y2FsbCB0aGUgY2xpZW50IGZ1bmN0aW9uIGlmIGl0IGV4aXN0czsgb3RoZXJ3aXNlLCBjb250aW51
ZSB0byBtZXNzYWdlIHRoZSBwYWdlOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvQVBJL2MvV0tCdW5kbGVQYWdlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6SW5qZWN0ZWRCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudDo6YmVnYW5FbnRlckZ1bGxT
Y3JlZW4pOgorICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xp
ZW50OjpiZWdhbkV4aXRGdWxsU2NyZWVuKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGllbnQuaDoKKworICAgICAgICBB
ZGQgYSBjdXN0b20gQVBJQ2xpZW50VHJhaXRzIGZvciBJbmplY3RlZEJ1bmRsZVBhZ2VGdWxsU2Ny
ZWVuQ2xpZW50IHRvIGhhbmRsZSB0aGUgQVBJIG51bWJlciBjaGFuZ2UuCisgICAgICAgICogU2hh
cmVkL0FQSUNsaWVudFRyYWl0cy5jcHA6CisgICAgICAgICogU2hhcmVkL0FQSUNsaWVudFRyYWl0
cy5oOgorCiAyMDEyLTAzLTEzICBNYXggVnVqb3ZpYyAgPG12dWpvdmljQGFkb2JlLmNvbT4KIAog
ICAgICAgICBBZGQgYSBtZXRob2QgdG8gd2luZG93LmludGVybmFscyB0byBlbmFibGUgdGVzdGlu
ZyBvZiBpbnNwZWN0b3IgaGlnaGxpZ2h0IHJlY3RzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvQVBJQ2xpZW50VHJhaXRzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElD
bGllbnRUcmFpdHMuY3BwCmluZGV4IDRjNTBiZDI3MzgyYTc3YThkOWM3OGQ0YWZmMTE0ZWM4YjM1
YWZhY2MuLjRmNWQ4ZmE1ZGIzNjJkYmY3N2I5NDY2ODE2N2QwMGNiZDBlZWQ1NGIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElDbGllbnRUcmFpdHMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9BUElDbGllbnRUcmFpdHMuY3BwCkBAIC0zOSw2ICszOSwxMSBAQCBj
b25zdCBzaXplX3QgQVBJQ2xpZW50VHJhaXRzPFdLQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVu
dD46OmludGVyZmFjZVNpemVzQnlWZQogICAgIG9mZnNldG9mKFdLQnVuZGxlUGFnZVJlc291cmNl
TG9hZENsaWVudCwgc2hvdWxkQ2FjaGVSZXNwb25zZSksCiAgICAgc2l6ZW9mKFdLQnVuZGxlUGFn
ZVJlc291cmNlTG9hZENsaWVudCkKIH07CisKK2NvbnN0IHNpemVfdCBBUElDbGllbnRUcmFpdHM8
V0tCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudD46OmludGVyZmFjZVNpemVzQnlWZXJzaW9uW10g
PSB7CisgICAgb2Zmc2V0b2YoV0tCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudCwgYmVnYW5FbnRl
ckZ1bGxTY3JlZW4pLAorICAgIHNpemVvZihXS0J1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50KQor
fTsKICAgICAKIGNvbnN0IHNpemVfdCBBUElDbGllbnRUcmFpdHM8V0tQYWdlQ29udGV4dE1lbnVD
bGllbnQ+OjppbnRlcmZhY2VTaXplc0J5VmVyc2lvbltdID0gewogICAgIG9mZnNldG9mKFdLUGFn
ZUNvbnRleHRNZW51Q2xpZW50LCBjb250ZXh0TWVudURpc21pc3NlZCksCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJQ2xpZW50VHJhaXRzLmggYi9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvQVBJQ2xpZW50VHJhaXRzLmgKaW5kZXggMGY2MGZiMWQ1MWEwYWUxNWYwMTJhMzZmZjg4
NzA4YzEyZjNjYjFhMS4uMTZmODZhMGE4NjNmYmM0YzM4YjU1MDVmMjA2NDRmNjk2NWQ3Y2QyNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSUNsaWVudFRyYWl0cy5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElDbGllbnRUcmFpdHMuaApAQCAtNDQsNiArNDQsMTAg
QEAgdGVtcGxhdGU8PiBzdHJ1Y3QgQVBJQ2xpZW50VHJhaXRzPFdLQnVuZGxlUGFnZVJlc291cmNl
TG9hZENsaWVudD4gewogICAgIHN0YXRpYyBjb25zdCBzaXplX3QgaW50ZXJmYWNlU2l6ZXNCeVZl
cnNpb25bMl07CiB9OwogCit0ZW1wbGF0ZTw+IHN0cnVjdCBBUElDbGllbnRUcmFpdHM8V0tCdW5k
bGVQYWdlRnVsbFNjcmVlbkNsaWVudD4geworICAgIHN0YXRpYyBjb25zdCBzaXplX3QgaW50ZXJm
YWNlU2l6ZXNCeVZlcnNpb25bMl07Cit9OworCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBUElDbGllbnRU
cmFpdHM8V0tQYWdlQ29udGV4dE1lbnVDbGllbnQ+IHsKICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90
IGludGVyZmFjZVNpemVzQnlWZXJzaW9uWzNdOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvRnVsbFNjcmVlbi9XZWJGdWxsU2NyZWVuTWFuYWdlci5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0Z1bGxTY3JlZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIuY3Bw
CmluZGV4IDdlNGE0ZTNjMjYyMzA0NjZkMTI0ZTBiMWI4ODVjZmIzMjE0MmI0YWIuLjMwZmQ0YjM4
ZDcxNjliY2I3NmNjZmE0MGZmOTdmOTRiZWQ0ZDAwY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvRnVsbFNjcmVlbi9XZWJGdWxsU2NyZWVuTWFuYWdlci5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9GdWxsU2NyZWVuL1dlYkZ1bGxTY3JlZW5NYW5hZ2Vy
LmNwcApAQCAtMTEzLDcgKzExMyw3IEBAIHZvaWQgV2ViRnVsbFNjcmVlbk1hbmFnZXI6OndpbGxF
bnRlckZ1bGxTY3JlZW4oKQogICAgIG1fZWxlbWVudC0+ZG9jdW1lbnQoKS0+dXBkYXRlTGF5b3V0
KCk7CiAgICAgbV9wYWdlLT5mb3JjZVJlcGFpbnRXaXRob3V0Q2FsbGJhY2soKTsKICAgICBtX2Zp
bmFsRnJhbWUgPSBzY3JlZW5SZWN0T2ZDb250ZW50cyhtX2VsZW1lbnQuZ2V0KCkpOwotICAgIG1f
cGFnZS0+c2VuZChNZXNzYWdlczo6V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6QmVnYW5FbnRl
ckZ1bGxTY3JlZW4obV9pbml0aWFsRnJhbWUsIG1fZmluYWxGcmFtZSkpOworICAgIG1fcGFnZS0+
aW5qZWN0ZWRCdW5kbGVGdWxsU2NyZWVuQ2xpZW50KCkuYmVnYW5FbnRlckZ1bGxTY3JlZW4obV9w
YWdlLmdldCgpLCBtX2luaXRpYWxGcmFtZSwgbV9maW5hbEZyYW1lKTsKIH0KIAogdm9pZCBXZWJG
dWxsU2NyZWVuTWFuYWdlcjo6ZGlkRW50ZXJGdWxsU2NyZWVuKCkKQEAgLTEyNyw3ICsxMjcsNyBA
QCB2b2lkIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyOjp3aWxsRXhpdEZ1bGxTY3JlZW4oKQogICAgIEFT
U0VSVChtX2VsZW1lbnQpOwogICAgIG1fZmluYWxGcmFtZSA9IHNjcmVlblJlY3RPZkNvbnRlbnRz
KG1fZWxlbWVudC5nZXQoKSk7CiAgICAgbV9lbGVtZW50LT5kb2N1bWVudCgpLT53ZWJraXRXaWxs
RXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KG1fZWxlbWVudC5nZXQoKSk7Ci0gICAgbV9wYWdlLT5z
ZW5kKE1lc3NhZ2VzOjpXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5OjpCZWdhbkV4aXRGdWxsU2Ny
ZWVuKG1fZmluYWxGcmFtZSwgbV9pbml0aWFsRnJhbWUpKTsKKyAgICBtX3BhZ2UtPmluamVjdGVk
QnVuZGxlRnVsbFNjcmVlbkNsaWVudCgpLmJlZ2FuRXhpdEZ1bGxTY3JlZW4obV9wYWdlLmdldCgp
LCBtX2ZpbmFsRnJhbWUsIG1faW5pdGlhbEZyYW1lKTsKIH0KIAogdm9pZCBXZWJGdWxsU2NyZWVu
TWFuYWdlcjo6ZGlkRXhpdEZ1bGxTY3JlZW4oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuaCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmgKaW5k
ZXggYzc1MzM3YWNmNmIyMWY3ZDc2M2U4NjIyM2MwY2UyZTM4ZDE1M2JlMy4uZTY4ZTU1OGFjNWEy
YTA1N2QzYzdlOTBlN2JhMjcxZTUyODk2ODk2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5o
CkBAIC0zMDMsMTcgKzMwMywyNSBAQCBlbnVtIHsga1dLQnVuZGxlUGFnZUNvbnRleHRNZW51Q2xp
ZW50Q3VycmVudFZlcnNpb24gPSAwIH07CiB0eXBlZGVmIGJvb2wgKCpXS0J1bmRsZVBhZ2VTdXBw
b3J0c0Z1bGxTY3JlZW4pKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0Z1bGxTY3JlZW5LZXlib2Fy
ZFJlcXVlc3RUeXBlIHJlcXVlc3RUeXBlKTsKIHR5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZUVu
dGVyRnVsbFNjcmVlbkZvckVsZW1lbnQpKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZU5v
ZGVIYW5kbGVSZWYgZWxlbWVudCk7CiB0eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VFeGl0RnVs
bFNjcmVlbkZvckVsZW1lbnQpKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZU5vZGVIYW5k
bGVSZWYgZWxlbWVudCk7Cit0eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VCZWdhbkVudGVyRnVs
bFNjcmVlbikoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLUmVjdCBpbml0aWFsRnJhbWUsIFdLUmVj
dCBmaW5hbEZyYW1lKTsKK3R5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZUJlZ2FuRXhpdEZ1bGxT
Y3JlZW4pKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS1JlY3QgaW5pdGlhbEZyYW1lLCBXS1JlY3Qg
ZmluYWxGcmFtZSk7CiAKIHN0cnVjdCBXS0J1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50IHsKICAg
ICBpbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHZlcnNpb247CiAgICAgY29uc3Qgdm9pZCAqICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRJbmZvOworCisgICAg
Ly8gVmVyc2lvbiAwOgogICAgIFdLQnVuZGxlUGFnZVN1cHBvcnRzRnVsbFNjcmVlbiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydHNGdWxsU2NyZWVuOwogICAgIFdL
QnVuZGxlUGFnZUVudGVyRnVsbFNjcmVlbkZvckVsZW1lbnQgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZW50ZXJGdWxsU2NyZWVuRm9yRWxlbWVudDsKICAgICBXS0J1bmRsZVBhZ2VFeGl0
RnVsbFNjcmVlbkZvckVsZW1lbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4aXRG
dWxsU2NyZWVuRm9yRWxlbWVudDsKKworICAgIC8vIFZlcnNpb24gMToKKyAgICBXS0J1bmRsZVBh
Z2VCZWdhbkVudGVyRnVsbFNjcmVlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGJlZ2FuRW50ZXJGdWxsU2NyZWVuOworICAgIFdLQnVuZGxlUGFnZUJlZ2FuRXhpdEZ1bGxTY3Jl
ZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVnYW5FeGl0RnVsbFNjcmVl
bjsKIH07CiB0eXBlZGVmIHN0cnVjdCBXS0J1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50IFdLQnVu
ZGxlUGFnZUZ1bGxTY3JlZW5DbGllbnQ7CiAKLWVudW0geyBrV0tCdW5kbGVQYWdlRnVsbFNjcmVl
bkNsaWVudEN1cnJlbnRWZXJzaW9uID0gMCB9OworZW51bSB7IGtXS0J1bmRsZVBhZ2VGdWxsU2Ny
ZWVuQ2xpZW50Q3VycmVudFZlcnNpb24gPSAxIH07CiAKIFdLX0VYUE9SVCB2b2lkIFdLQnVuZGxl
UGFnZVdpbGxFbnRlckZ1bGxTY3JlZW4oV0tCdW5kbGVQYWdlUmVmIHBhZ2UpOwogV0tfRVhQT1JU
IHZvaWQgV0tCdW5kbGVQYWdlRGlkRW50ZXJGdWxsU2NyZWVuKFdLQnVuZGxlUGFnZVJlZiBwYWdl
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
SW5qZWN0ZWRCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGll
bnQuY3BwCmluZGV4IGQ4ZTk4NmY3ZGJiZTIzZTc1NTY1ZTdkMWEyNDU2NWFjNTk1ZjVlYTIuLmY2
ODRiNmI4ZDE2ODY2N2M0OTRmZDRhY2IyODY3MTEyY2YxYWExOTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlRnVs
bFNjcmVlbkNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50LmNwcApAQCAtMzIsNiAr
MzIsOCBAQAogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlTm9kZUhhbmRsZS5oIgogI2luY2x1ZGUg
IldLQVBJQ2FzdC5oIgogI2luY2x1ZGUgIldLQnVuZGxlQVBJQ2FzdC5oIgorI2luY2x1ZGUgIldL
U2hhcmVkQVBJQ2FzdC5oIgorI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogI2lu
Y2x1ZGUgIldlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldl
YlBhZ2UuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0VsZW1lbnQuaD4KQEAgLTY4LDYgKzcwLDI0IEBA
IHZvaWQgSW5qZWN0ZWRCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudDo6ZXhpdEZ1bGxTY3JlZW5G
b3JFbGVtZW50KFdlYlBhZ2UgKnBhZ2UsCiAgICAgICAgIHBhZ2UtPnNlbmQoTWVzc2FnZXM6Oldl
YkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6OkV4aXRGdWxsU2NyZWVuKCkpOwogfQogCisKK3ZvaWQg
SW5qZWN0ZWRCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudDo6YmVnYW5FbnRlckZ1bGxTY3JlZW4o
V2ViUGFnZSAqcGFnZSwgSW50UmVjdCYgaW5pdGlhbEZyYW1lLCBJbnRSZWN0JiBmaW5hbEZyYW1l
KQoreworICAgIGlmIChtX2NsaWVudC5iZWdhbkVudGVyRnVsbFNjcmVlbikKKyAgICAgICAgbV9j
bGllbnQuYmVnYW5FeGl0RnVsbFNjcmVlbih0b0FQSShwYWdlKSwgdG9BUEkoaW5pdGlhbEZyYW1l
KSwgdG9BUEkoZmluYWxGcmFtZSkpOworICAgIGVsc2UKKyAgICAgICAgcGFnZS0+c2VuZChNZXNz
YWdlczo6V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6QmVnYW5FbnRlckZ1bGxTY3JlZW4oaW5p
dGlhbEZyYW1lLCBmaW5hbEZyYW1lKSk7Cit9CisKKwordm9pZCBJbmplY3RlZEJ1bmRsZVBhZ2VG
dWxsU2NyZWVuQ2xpZW50OjpiZWdhbkV4aXRGdWxsU2NyZWVuKFdlYlBhZ2UgKnBhZ2UsIEludFJl
Y3QmIGluaXRpYWxGcmFtZSwgSW50UmVjdCYgZmluYWxGcmFtZSkKK3sKKyAgICBpZiAobV9jbGll
bnQuYmVnYW5FeGl0RnVsbFNjcmVlbikKKyAgICAgICAgbV9jbGllbnQuYmVnYW5FeGl0RnVsbFNj
cmVlbih0b0FQSShwYWdlKSwgdG9BUEkoaW5pdGlhbEZyYW1lKSwgdG9BUEkoZmluYWxGcmFtZSkp
OworICAgIGVsc2UKKyAgICAgICAgcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViRnVsbFNjcmVlbk1h
bmFnZXJQcm94eTo6QmVnYW5FeGl0RnVsbFNjcmVlbihpbml0aWFsRnJhbWUsIGZpbmFsRnJhbWUp
KTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBFTkFCTEUoRlVMTFND
UkVFTl9BUEkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGllbnQuaCBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlRnVsbFNjcmVl
bkNsaWVudC5oCmluZGV4IGM0NWIyMTc4MDliNjE1NDMxYTE0M2YyNGE2ODliMjE1MDA0ZTQ2OGQu
LjljN2RhMDMzYmU2ZTcyMjc3ZGJiYzBhODk4YTA2ODI2YjYyY2RhMWIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdl
RnVsbFNjcmVlbkNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudC5oCkBAIC0zNSw2ICsz
NSw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEVsZW1lbnQ7CitjbGFzcyBJbnRS
ZWN0OwogfQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTQ2LDYgKzQ3LDggQEAgcHVibGljOgog
ICAgIGJvb2wgc3VwcG9ydHNGdWxsU2NyZWVuKFdlYlBhZ2UqLCBib29sIHdpdGhLZXlib2FyZCk7
CiAgICAgdm9pZCBlbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50KFdlYlBhZ2UqLCBXZWJDb3JlOjpF
bGVtZW50Kik7CiAgICAgdm9pZCBleGl0RnVsbFNjcmVlbkZvckVsZW1lbnQoV2ViUGFnZSosIFdl
YkNvcmU6OkVsZW1lbnQqKTsKKyAgICB2b2lkIGJlZ2FuRW50ZXJGdWxsU2NyZWVuKFdlYlBhZ2Uq
LCBXZWJDb3JlOjpJbnRSZWN0JiBpbml0aWFsRnJhbWUsIFdlYkNvcmU6OkludFJlY3QmIGZpbmFs
RnJhbWUpOworICAgIHZvaWQgYmVnYW5FeGl0RnVsbFNjcmVlbihXZWJQYWdlKiwgV2ViQ29yZTo6
SW50UmVjdCYgaW5pdGlhbEZyYW1lLCBXZWJDb3JlOjpJbnRSZWN0JiBmaW5hbEZyYW1lKTsKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIv
VG9vbHMvQ2hhbmdlTG9nCmluZGV4IDQxMzhhODIyNjAxZDdmNzRhNDZmZmU5MTE2ZGJjYTQwMDA1
NDVjMzMuLmRlYTM1MmQzMWVjMDkwNWJjZjA3NzkyYmM4NWQxMTUxN2U3N2ZjODMgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBA
QAorMjAxMi0wMy0xMyAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KKworICAgICAg
ICBMaW9uIEludGVsIERlYnVnIFdlYktpdDIgVGVzdHMgY3Jhc2hpbmcgdW5kZXIgW1dLRnVsbFNj
cmVlbldpbmRvd0NvbnRyb2xsZXIgX3N0YXJ0RW50ZXJGdWxsU2NyZWVuQW5pbWF0aW9uV2l0aER1
cmF0aW9uOl0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTgxMDU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
SW50ZXJjZXB0IGJlZ2FuRW50ZXJGdWxsU2NyZWVuIGFuZCBiZWdhbkV4aXRGdWxsU2NyZWVuIGFu
ZCB0dXJuIHRoZW0gaW50byBuby1vcHMgKHBsdXMgbG9nZ2luZykuCisKKyAgICAgICAgKiBXZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZS5jcHA6CisgICAg
ICAgIChXVFI6OkluamVjdGVkQnVuZGxlUGFnZTo6SW5qZWN0ZWRCdW5kbGVQYWdlKToKKyAgICAg
ICAgKFdUUjo6SW5qZWN0ZWRCdW5kbGVQYWdlOjpiZWdhbkVudGVyRnVsbFNjcmVlbik6CisgICAg
ICAgIChXVFI6OkluamVjdGVkQnVuZGxlUGFnZTo6YmVnYW5FeGl0RnVsbFNjcmVlbik6CisKIDIw
MTItMDMtMTMgIE9qYW4gVmFmYWkgIDxvamFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZWJh
c2VsaW5pbmcgZm9yIGEgbmV3IHBvcnQgZG9lc24ndCB3b3JrIHJpZ2h0IHdpdGggbXVsdGlwbGUg
ZmFsbGJhY2sgcG9ydHMKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlLmNwcAppbmRleCBlZGY2NmRlYTVlMzVi
OTVjMzA1ZjZjOTBiZTFkOTE5MWRhYWQxOGUwLi4yY2VjMGFkMzMyZTkwZmQ3NDhjZTJlODA0Yjg4
OGFjODhiOWFjNzdkIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZS5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2UuY3BwCkBAIC0yODgsNiArMjg4LDgg
QEAgSW5qZWN0ZWRCdW5kbGVQYWdlOjpJbmplY3RlZEJ1bmRsZVBhZ2UoV0tCdW5kbGVQYWdlUmVm
IHBhZ2UpCiAgICAgICAgIHN1cHBvcnRzRnVsbFNjcmVlbiwKICAgICAgICAgZW50ZXJGdWxsU2Ny
ZWVuRm9yRWxlbWVudCwKICAgICAgICAgZXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50LAorICAgICAg
ICBiZWdhbkVudGVyRnVsbFNjcmVlbiwKKyAgICAgICAgYmVnYW5FeGl0RnVsbFNjcmVlbiwKICAg
ICB9OwogICAgIFdLQnVuZGxlUGFnZVNldEZ1bGxTY3JlZW5DbGllbnQobV9wYWdlLCAmZnVsbFNj
cmVlbkNsaWVudCk7CiAjZW5kaWYKQEAgLTExMTIsNiArMTExNCwxOCBAQCB2b2lkIEluamVjdGVk
QnVuZGxlUGFnZTo6ZXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KFdLQnVuZGxlUGFnZVJlZiBwYWdl
UmVmLCBXS0J1bgogICAgIFdLQnVuZGxlUGFnZVdpbGxFeGl0RnVsbFNjcmVlbihwYWdlUmVmKTsK
ICAgICBXS0J1bmRsZVBhZ2VEaWRFeGl0RnVsbFNjcmVlbihwYWdlUmVmKTsKIH0KKwordm9pZCBJ
bmplY3RlZEJ1bmRsZVBhZ2U6OmJlZ2FuRW50ZXJGdWxsU2NyZWVuKFdLQnVuZGxlUGFnZVJlZiBw
YWdlUmVmKQoreworICAgIGlmIChJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkubGF5b3V0VGVzdENv
bnRyb2xsZXIoKS0+c2hvdWxkRHVtcEZ1bGxTY3JlZW5DYWxsYmFja3MoKSkKKyAgICAgICAgSW5q
ZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLm9zKCkgPDwgImJlZ2FuRW50ZXJGdWxsU2NyZWVuKClcbiI7
Cit9CisKK3ZvaWQgSW5qZWN0ZWRCdW5kbGVQYWdlOjpiZWdhbkV4aXRGdWxsU2NyZWVuKFdLQnVu
ZGxlUGFnZVJlZiBwYWdlUmVmKQoreworICAgIGlmIChJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCku
bGF5b3V0VGVzdENvbnRyb2xsZXIoKS0+c2hvdWxkRHVtcEZ1bGxTY3JlZW5DYWxsYmFja3MoKSkK
KyAgICAgICAgSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLm9zKCkgPDwgImJlZ2FuRXhpdEZ1bGxT
Y3JlZW4oKVxuIjsKK30KICNlbmRpZgogCiBzdGF0aWMgYm9vbCBjb21wYXJlQnlUYXJnZXROYW1l
KFdLQnVuZGxlQmFja0ZvcndhcmRMaXN0SXRlbVJlZiBpdGVtMSwgV0tCdW5kbGVCYWNrRm9yd2Fy
ZExpc3RJdGVtUmVmIGl0ZW0yKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131860</attachid>
            <date>2012-03-14 08:43:35 -0700</date>
            <delta_ts>2012-03-14 09:10:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81056-20120314084334.patch</filename>
            <type>text/plain</type>
            <size>12723</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNTg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYWE3ZGViNDJlMTFmNDMy
Y2YzZmU0YTVlMTBjYjliOTAyYzE0ZWYzZi4uZTVmMDI0NDdjYjhjODU4NjYzYTdmMDRlOGQ1NDU0
ZDgzZDdkNWQzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTAzLTEzICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIExpb24gSW50ZWwgRGVidWcg
V2ViS2l0MiBUZXN0cyBjcmFzaGluZyB1bmRlciBbV0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxl
ciBfc3RhcnRFbnRlckZ1bGxTY3JlZW5BbmltYXRpb25XaXRoRHVyYXRpb246XQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODEwNTYKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBHaXZlIHRoZSBJbmplY3RlZEJ1
bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50IGEgZmlyc3QgY3JhY2sgYXQgYmVnYW5FbnRlckZ1bGxT
Y3JlZW4gYW5kIGJlZ2FuRXhpdEZ1bGxTY3JlZW46CisgICAgICAgICogV2ViUHJvY2Vzcy9GdWxs
U2NyZWVuL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnVs
bFNjcmVlbk1hbmFnZXI6OndpbGxFbnRlckZ1bGxTY3JlZW4pOgorICAgICAgICAoV2ViS2l0OjpX
ZWJGdWxsU2NyZWVuTWFuYWdlcjo6d2lsbEV4aXRGdWxsU2NyZWVuKToKKworICAgICAgICBBbmQg
Y2FsbCB0aGUgY2xpZW50IGZ1bmN0aW9uIGlmIGl0IGV4aXN0czsgb3RoZXJ3aXNlLCBjb250aW51
ZSB0byBtZXNzYWdlIHRoZSBwYWdlOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvQVBJL2MvV0tCdW5kbGVQYWdlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6SW5qZWN0ZWRCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudDo6YmVnYW5FbnRlckZ1bGxT
Y3JlZW4pOgorICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xp
ZW50OjpiZWdhbkV4aXRGdWxsU2NyZWVuKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGllbnQuaDoKKworICAgICAgICBB
ZGQgYSBjdXN0b20gQVBJQ2xpZW50VHJhaXRzIGZvciBJbmplY3RlZEJ1bmRsZVBhZ2VGdWxsU2Ny
ZWVuQ2xpZW50IHRvIGhhbmRsZSB0aGUgQVBJIG51bWJlciBjaGFuZ2UuCisgICAgICAgICogU2hh
cmVkL0FQSUNsaWVudFRyYWl0cy5jcHA6CisgICAgICAgICogU2hhcmVkL0FQSUNsaWVudFRyYWl0
cy5oOgorCiAyMDEyLTAzLTEzICBNYXggVnVqb3ZpYyAgPG12dWpvdmljQGFkb2JlLmNvbT4KIAog
ICAgICAgICBBZGQgYSBtZXRob2QgdG8gd2luZG93LmludGVybmFscyB0byBlbmFibGUgdGVzdGlu
ZyBvZiBpbnNwZWN0b3IgaGlnaGxpZ2h0IHJlY3RzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvQVBJQ2xpZW50VHJhaXRzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElD
bGllbnRUcmFpdHMuY3BwCmluZGV4IDRjNTBiZDI3MzgyYTc3YThkOWM3OGQ0YWZmMTE0ZWM4YjM1
YWZhY2MuLjRmNWQ4ZmE1ZGIzNjJkYmY3N2I5NDY2ODE2N2QwMGNiZDBlZWQ1NGIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElDbGllbnRUcmFpdHMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9BUElDbGllbnRUcmFpdHMuY3BwCkBAIC0zOSw2ICszOSwxMSBAQCBj
b25zdCBzaXplX3QgQVBJQ2xpZW50VHJhaXRzPFdLQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVu
dD46OmludGVyZmFjZVNpemVzQnlWZQogICAgIG9mZnNldG9mKFdLQnVuZGxlUGFnZVJlc291cmNl
TG9hZENsaWVudCwgc2hvdWxkQ2FjaGVSZXNwb25zZSksCiAgICAgc2l6ZW9mKFdLQnVuZGxlUGFn
ZVJlc291cmNlTG9hZENsaWVudCkKIH07CisKK2NvbnN0IHNpemVfdCBBUElDbGllbnRUcmFpdHM8
V0tCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudD46OmludGVyZmFjZVNpemVzQnlWZXJzaW9uW10g
PSB7CisgICAgb2Zmc2V0b2YoV0tCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudCwgYmVnYW5FbnRl
ckZ1bGxTY3JlZW4pLAorICAgIHNpemVvZihXS0J1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50KQor
fTsKICAgICAKIGNvbnN0IHNpemVfdCBBUElDbGllbnRUcmFpdHM8V0tQYWdlQ29udGV4dE1lbnVD
bGllbnQ+OjppbnRlcmZhY2VTaXplc0J5VmVyc2lvbltdID0gewogICAgIG9mZnNldG9mKFdLUGFn
ZUNvbnRleHRNZW51Q2xpZW50LCBjb250ZXh0TWVudURpc21pc3NlZCksCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJQ2xpZW50VHJhaXRzLmggYi9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvQVBJQ2xpZW50VHJhaXRzLmgKaW5kZXggMGY2MGZiMWQ1MWEwYWUxNWYwMTJhMzZmZjg4
NzA4YzEyZjNjYjFhMS4uMTZmODZhMGE4NjNmYmM0YzM4YjU1MDVmMjA2NDRmNjk2NWQ3Y2QyNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSUNsaWVudFRyYWl0cy5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElDbGllbnRUcmFpdHMuaApAQCAtNDQsNiArNDQsMTAg
QEAgdGVtcGxhdGU8PiBzdHJ1Y3QgQVBJQ2xpZW50VHJhaXRzPFdLQnVuZGxlUGFnZVJlc291cmNl
TG9hZENsaWVudD4gewogICAgIHN0YXRpYyBjb25zdCBzaXplX3QgaW50ZXJmYWNlU2l6ZXNCeVZl
cnNpb25bMl07CiB9OwogCit0ZW1wbGF0ZTw+IHN0cnVjdCBBUElDbGllbnRUcmFpdHM8V0tCdW5k
bGVQYWdlRnVsbFNjcmVlbkNsaWVudD4geworICAgIHN0YXRpYyBjb25zdCBzaXplX3QgaW50ZXJm
YWNlU2l6ZXNCeVZlcnNpb25bMl07Cit9OworCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBUElDbGllbnRU
cmFpdHM8V0tQYWdlQ29udGV4dE1lbnVDbGllbnQ+IHsKICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90
IGludGVyZmFjZVNpemVzQnlWZXJzaW9uWzNdOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvRnVsbFNjcmVlbi9XZWJGdWxsU2NyZWVuTWFuYWdlci5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0Z1bGxTY3JlZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIuY3Bw
CmluZGV4IDdlNGE0ZTNjMjYyMzA0NjZkMTI0ZTBiMWI4ODVjZmIzMjE0MmI0YWIuLjMwZmQ0YjM4
ZDcxNjliY2I3NmNjZmE0MGZmOTdmOTRiZWQ0ZDAwY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvRnVsbFNjcmVlbi9XZWJGdWxsU2NyZWVuTWFuYWdlci5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9GdWxsU2NyZWVuL1dlYkZ1bGxTY3JlZW5NYW5hZ2Vy
LmNwcApAQCAtMTEzLDcgKzExMyw3IEBAIHZvaWQgV2ViRnVsbFNjcmVlbk1hbmFnZXI6OndpbGxF
bnRlckZ1bGxTY3JlZW4oKQogICAgIG1fZWxlbWVudC0+ZG9jdW1lbnQoKS0+dXBkYXRlTGF5b3V0
KCk7CiAgICAgbV9wYWdlLT5mb3JjZVJlcGFpbnRXaXRob3V0Q2FsbGJhY2soKTsKICAgICBtX2Zp
bmFsRnJhbWUgPSBzY3JlZW5SZWN0T2ZDb250ZW50cyhtX2VsZW1lbnQuZ2V0KCkpOwotICAgIG1f
cGFnZS0+c2VuZChNZXNzYWdlczo6V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6QmVnYW5FbnRl
ckZ1bGxTY3JlZW4obV9pbml0aWFsRnJhbWUsIG1fZmluYWxGcmFtZSkpOworICAgIG1fcGFnZS0+
aW5qZWN0ZWRCdW5kbGVGdWxsU2NyZWVuQ2xpZW50KCkuYmVnYW5FbnRlckZ1bGxTY3JlZW4obV9w
YWdlLmdldCgpLCBtX2luaXRpYWxGcmFtZSwgbV9maW5hbEZyYW1lKTsKIH0KIAogdm9pZCBXZWJG
dWxsU2NyZWVuTWFuYWdlcjo6ZGlkRW50ZXJGdWxsU2NyZWVuKCkKQEAgLTEyNyw3ICsxMjcsNyBA
QCB2b2lkIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyOjp3aWxsRXhpdEZ1bGxTY3JlZW4oKQogICAgIEFT
U0VSVChtX2VsZW1lbnQpOwogICAgIG1fZmluYWxGcmFtZSA9IHNjcmVlblJlY3RPZkNvbnRlbnRz
KG1fZWxlbWVudC5nZXQoKSk7CiAgICAgbV9lbGVtZW50LT5kb2N1bWVudCgpLT53ZWJraXRXaWxs
RXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KG1fZWxlbWVudC5nZXQoKSk7Ci0gICAgbV9wYWdlLT5z
ZW5kKE1lc3NhZ2VzOjpXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5OjpCZWdhbkV4aXRGdWxsU2Ny
ZWVuKG1fZmluYWxGcmFtZSwgbV9pbml0aWFsRnJhbWUpKTsKKyAgICBtX3BhZ2UtPmluamVjdGVk
QnVuZGxlRnVsbFNjcmVlbkNsaWVudCgpLmJlZ2FuRXhpdEZ1bGxTY3JlZW4obV9wYWdlLmdldCgp
LCBtX2ZpbmFsRnJhbWUsIG1faW5pdGlhbEZyYW1lKTsKIH0KIAogdm9pZCBXZWJGdWxsU2NyZWVu
TWFuYWdlcjo6ZGlkRXhpdEZ1bGxTY3JlZW4oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuaCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmgKaW5k
ZXggYzc1MzM3YWNmNmIyMWY3ZDc2M2U4NjIyM2MwY2UyZTM4ZDE1M2JlMy4uZTY4ZTU1OGFjNWEy
YTA1N2QzYzdlOTBlN2JhMjcxZTUyODk2ODk2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5o
CkBAIC0zMDMsMTcgKzMwMywyNSBAQCBlbnVtIHsga1dLQnVuZGxlUGFnZUNvbnRleHRNZW51Q2xp
ZW50Q3VycmVudFZlcnNpb24gPSAwIH07CiB0eXBlZGVmIGJvb2wgKCpXS0J1bmRsZVBhZ2VTdXBw
b3J0c0Z1bGxTY3JlZW4pKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0Z1bGxTY3JlZW5LZXlib2Fy
ZFJlcXVlc3RUeXBlIHJlcXVlc3RUeXBlKTsKIHR5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZUVu
dGVyRnVsbFNjcmVlbkZvckVsZW1lbnQpKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZU5v
ZGVIYW5kbGVSZWYgZWxlbWVudCk7CiB0eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VFeGl0RnVs
bFNjcmVlbkZvckVsZW1lbnQpKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZU5vZGVIYW5k
bGVSZWYgZWxlbWVudCk7Cit0eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VCZWdhbkVudGVyRnVs
bFNjcmVlbikoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLUmVjdCBpbml0aWFsRnJhbWUsIFdLUmVj
dCBmaW5hbEZyYW1lKTsKK3R5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZUJlZ2FuRXhpdEZ1bGxT
Y3JlZW4pKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS1JlY3QgaW5pdGlhbEZyYW1lLCBXS1JlY3Qg
ZmluYWxGcmFtZSk7CiAKIHN0cnVjdCBXS0J1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50IHsKICAg
ICBpbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHZlcnNpb247CiAgICAgY29uc3Qgdm9pZCAqICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRJbmZvOworCisgICAg
Ly8gVmVyc2lvbiAwOgogICAgIFdLQnVuZGxlUGFnZVN1cHBvcnRzRnVsbFNjcmVlbiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydHNGdWxsU2NyZWVuOwogICAgIFdL
QnVuZGxlUGFnZUVudGVyRnVsbFNjcmVlbkZvckVsZW1lbnQgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZW50ZXJGdWxsU2NyZWVuRm9yRWxlbWVudDsKICAgICBXS0J1bmRsZVBhZ2VFeGl0
RnVsbFNjcmVlbkZvckVsZW1lbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4aXRG
dWxsU2NyZWVuRm9yRWxlbWVudDsKKworICAgIC8vIFZlcnNpb24gMToKKyAgICBXS0J1bmRsZVBh
Z2VCZWdhbkVudGVyRnVsbFNjcmVlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGJlZ2FuRW50ZXJGdWxsU2NyZWVuOworICAgIFdLQnVuZGxlUGFnZUJlZ2FuRXhpdEZ1bGxTY3Jl
ZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVnYW5FeGl0RnVsbFNjcmVl
bjsKIH07CiB0eXBlZGVmIHN0cnVjdCBXS0J1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50IFdLQnVu
ZGxlUGFnZUZ1bGxTY3JlZW5DbGllbnQ7CiAKLWVudW0geyBrV0tCdW5kbGVQYWdlRnVsbFNjcmVl
bkNsaWVudEN1cnJlbnRWZXJzaW9uID0gMCB9OworZW51bSB7IGtXS0J1bmRsZVBhZ2VGdWxsU2Ny
ZWVuQ2xpZW50Q3VycmVudFZlcnNpb24gPSAxIH07CiAKIFdLX0VYUE9SVCB2b2lkIFdLQnVuZGxl
UGFnZVdpbGxFbnRlckZ1bGxTY3JlZW4oV0tCdW5kbGVQYWdlUmVmIHBhZ2UpOwogV0tfRVhQT1JU
IHZvaWQgV0tCdW5kbGVQYWdlRGlkRW50ZXJGdWxsU2NyZWVuKFdLQnVuZGxlUGFnZVJlZiBwYWdl
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
SW5qZWN0ZWRCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGll
bnQuY3BwCmluZGV4IGQ4ZTk4NmY3ZGJiZTIzZTc1NTY1ZTdkMWEyNDU2NWFjNTk1ZjVlYTIuLmY2
ODRiNmI4ZDE2ODY2N2M0OTRmZDRhY2IyODY3MTEyY2YxYWExOTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlRnVs
bFNjcmVlbkNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50LmNwcApAQCAtMzIsNiAr
MzIsOCBAQAogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlTm9kZUhhbmRsZS5oIgogI2luY2x1ZGUg
IldLQVBJQ2FzdC5oIgogI2luY2x1ZGUgIldLQnVuZGxlQVBJQ2FzdC5oIgorI2luY2x1ZGUgIldL
U2hhcmVkQVBJQ2FzdC5oIgorI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogI2lu
Y2x1ZGUgIldlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldl
YlBhZ2UuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0VsZW1lbnQuaD4KQEAgLTY4LDYgKzcwLDI0IEBA
IHZvaWQgSW5qZWN0ZWRCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudDo6ZXhpdEZ1bGxTY3JlZW5G
b3JFbGVtZW50KFdlYlBhZ2UgKnBhZ2UsCiAgICAgICAgIHBhZ2UtPnNlbmQoTWVzc2FnZXM6Oldl
YkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6OkV4aXRGdWxsU2NyZWVuKCkpOwogfQogCisKK3ZvaWQg
SW5qZWN0ZWRCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudDo6YmVnYW5FbnRlckZ1bGxTY3JlZW4o
V2ViUGFnZSAqcGFnZSwgSW50UmVjdCYgaW5pdGlhbEZyYW1lLCBJbnRSZWN0JiBmaW5hbEZyYW1l
KQoreworICAgIGlmIChtX2NsaWVudC5iZWdhbkVudGVyRnVsbFNjcmVlbikKKyAgICAgICAgbV9j
bGllbnQuYmVnYW5FeGl0RnVsbFNjcmVlbih0b0FQSShwYWdlKSwgdG9BUEkoaW5pdGlhbEZyYW1l
KSwgdG9BUEkoZmluYWxGcmFtZSkpOworICAgIGVsc2UKKyAgICAgICAgcGFnZS0+c2VuZChNZXNz
YWdlczo6V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6QmVnYW5FbnRlckZ1bGxTY3JlZW4oaW5p
dGlhbEZyYW1lLCBmaW5hbEZyYW1lKSk7Cit9CisKKwordm9pZCBJbmplY3RlZEJ1bmRsZVBhZ2VG
dWxsU2NyZWVuQ2xpZW50OjpiZWdhbkV4aXRGdWxsU2NyZWVuKFdlYlBhZ2UgKnBhZ2UsIEludFJl
Y3QmIGluaXRpYWxGcmFtZSwgSW50UmVjdCYgZmluYWxGcmFtZSkKK3sKKyAgICBpZiAobV9jbGll
bnQuYmVnYW5FeGl0RnVsbFNjcmVlbikKKyAgICAgICAgbV9jbGllbnQuYmVnYW5FeGl0RnVsbFNj
cmVlbih0b0FQSShwYWdlKSwgdG9BUEkoaW5pdGlhbEZyYW1lKSwgdG9BUEkoZmluYWxGcmFtZSkp
OworICAgIGVsc2UKKyAgICAgICAgcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViRnVsbFNjcmVlbk1h
bmFnZXJQcm94eTo6QmVnYW5FeGl0RnVsbFNjcmVlbihpbml0aWFsRnJhbWUsIGZpbmFsRnJhbWUp
KTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBFTkFCTEUoRlVMTFND
UkVFTl9BUEkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGllbnQuaCBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlRnVsbFNjcmVl
bkNsaWVudC5oCmluZGV4IGM0NWIyMTc4MDliNjE1NDMxYTE0M2YyNGE2ODliMjE1MDA0ZTQ2OGQu
LjljN2RhMDMzYmU2ZTcyMjc3ZGJiYzBhODk4YTA2ODI2YjYyY2RhMWIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdl
RnVsbFNjcmVlbkNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudC5oCkBAIC0zNSw2ICsz
NSw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEVsZW1lbnQ7CitjbGFzcyBJbnRS
ZWN0OwogfQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTQ2LDYgKzQ3LDggQEAgcHVibGljOgog
ICAgIGJvb2wgc3VwcG9ydHNGdWxsU2NyZWVuKFdlYlBhZ2UqLCBib29sIHdpdGhLZXlib2FyZCk7
CiAgICAgdm9pZCBlbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50KFdlYlBhZ2UqLCBXZWJDb3JlOjpF
bGVtZW50Kik7CiAgICAgdm9pZCBleGl0RnVsbFNjcmVlbkZvckVsZW1lbnQoV2ViUGFnZSosIFdl
YkNvcmU6OkVsZW1lbnQqKTsKKyAgICB2b2lkIGJlZ2FuRW50ZXJGdWxsU2NyZWVuKFdlYlBhZ2Uq
LCBXZWJDb3JlOjpJbnRSZWN0JiBpbml0aWFsRnJhbWUsIFdlYkNvcmU6OkludFJlY3QmIGZpbmFs
RnJhbWUpOworICAgIHZvaWQgYmVnYW5FeGl0RnVsbFNjcmVlbihXZWJQYWdlKiwgV2ViQ29yZTo6
SW50UmVjdCYgaW5pdGlhbEZyYW1lLCBXZWJDb3JlOjpJbnRSZWN0JiBmaW5hbEZyYW1lKTsKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIv
VG9vbHMvQ2hhbmdlTG9nCmluZGV4IDQxMzhhODIyNjAxZDdmNzRhNDZmZmU5MTE2ZGJjYTQwMDA1
NDVjMzMuLmRlYTM1MmQzMWVjMDkwNWJjZjA3NzkyYmM4NWQxMTUxN2U3N2ZjODMgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBA
QAorMjAxMi0wMy0xMyAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KKworICAgICAg
ICBMaW9uIEludGVsIERlYnVnIFdlYktpdDIgVGVzdHMgY3Jhc2hpbmcgdW5kZXIgW1dLRnVsbFNj
cmVlbldpbmRvd0NvbnRyb2xsZXIgX3N0YXJ0RW50ZXJGdWxsU2NyZWVuQW5pbWF0aW9uV2l0aER1
cmF0aW9uOl0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTgxMDU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
SW50ZXJjZXB0IGJlZ2FuRW50ZXJGdWxsU2NyZWVuIGFuZCBiZWdhbkV4aXRGdWxsU2NyZWVuIGFu
ZCB0dXJuIHRoZW0gaW50byBuby1vcHMgKHBsdXMgbG9nZ2luZykuCisKKyAgICAgICAgKiBXZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZS5jcHA6CisgICAg
ICAgIChXVFI6OkluamVjdGVkQnVuZGxlUGFnZTo6SW5qZWN0ZWRCdW5kbGVQYWdlKToKKyAgICAg
ICAgKFdUUjo6SW5qZWN0ZWRCdW5kbGVQYWdlOjpiZWdhbkVudGVyRnVsbFNjcmVlbik6CisgICAg
ICAgIChXVFI6OkluamVjdGVkQnVuZGxlUGFnZTo6YmVnYW5FeGl0RnVsbFNjcmVlbik6CisKIDIw
MTItMDMtMTMgIE9qYW4gVmFmYWkgIDxvamFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZWJh
c2VsaW5pbmcgZm9yIGEgbmV3IHBvcnQgZG9lc24ndCB3b3JrIHJpZ2h0IHdpdGggbXVsdGlwbGUg
ZmFsbGJhY2sgcG9ydHMKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlLmNwcAppbmRleCBlZGY2NmRlYTVlMzVi
OTVjMzA1ZjZjOTBiZTFkOTE5MWRhYWQxOGUwLi4wYTMzNTE5OTM2NzRlMTMxNWRkNGMzOTRhOWMx
ZjRiYTMyMjkwN2Y4IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZS5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2UuY3BwCkBAIC0yODgsNiArMjg4LDgg
QEAgSW5qZWN0ZWRCdW5kbGVQYWdlOjpJbmplY3RlZEJ1bmRsZVBhZ2UoV0tCdW5kbGVQYWdlUmVm
IHBhZ2UpCiAgICAgICAgIHN1cHBvcnRzRnVsbFNjcmVlbiwKICAgICAgICAgZW50ZXJGdWxsU2Ny
ZWVuRm9yRWxlbWVudCwKICAgICAgICAgZXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50LAorICAgICAg
ICBiZWdhbkVudGVyRnVsbFNjcmVlbiwKKyAgICAgICAgYmVnYW5FeGl0RnVsbFNjcmVlbiwKICAg
ICB9OwogICAgIFdLQnVuZGxlUGFnZVNldEZ1bGxTY3JlZW5DbGllbnQobV9wYWdlLCAmZnVsbFNj
cmVlbkNsaWVudCk7CiAjZW5kaWYKQEAgLTExMTIsNiArMTExNCwxOCBAQCB2b2lkIEluamVjdGVk
QnVuZGxlUGFnZTo6ZXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KFdLQnVuZGxlUGFnZVJlZiBwYWdl
UmVmLCBXS0J1bgogICAgIFdLQnVuZGxlUGFnZVdpbGxFeGl0RnVsbFNjcmVlbihwYWdlUmVmKTsK
ICAgICBXS0J1bmRsZVBhZ2VEaWRFeGl0RnVsbFNjcmVlbihwYWdlUmVmKTsKIH0KKwordm9pZCBJ
bmplY3RlZEJ1bmRsZVBhZ2U6OmJlZ2FuRW50ZXJGdWxsU2NyZWVuKFdLQnVuZGxlUGFnZVJlZiBw
YWdlUmVmLCBXS1JlY3QgaW5pdGlhbEZyYW1lLCBXS1JlY3QgZmluYWxGcmFtZSkKK3sKKyAgICBp
ZiAoSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLmxheW91dFRlc3RDb250cm9sbGVyKCktPnNob3Vs
ZER1bXBGdWxsU2NyZWVuQ2FsbGJhY2tzKCkpCisgICAgICAgIEluamVjdGVkQnVuZGxlOjpzaGFy
ZWQoKS5vcygpIDw8ICJiZWdhbkVudGVyRnVsbFNjcmVlbigpXG4iOworfQorCit2b2lkIEluamVj
dGVkQnVuZGxlUGFnZTo6YmVnYW5FeGl0RnVsbFNjcmVlbihXS0J1bmRsZVBhZ2VSZWYgcGFnZVJl
ZiwgV0tSZWN0IGluaXRpYWxGcmFtZSwgV0tSZWN0IGZpbmFsRnJhbWUpCit7CisgICAgaWYgKElu
amVjdGVkQnVuZGxlOjpzaGFyZWQoKS5sYXlvdXRUZXN0Q29udHJvbGxlcigpLT5zaG91bGREdW1w
RnVsbFNjcmVlbkNhbGxiYWNrcygpKQorICAgICAgICBJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCku
b3MoKSA8PCAiYmVnYW5FeGl0RnVsbFNjcmVlbigpXG4iOworfQogI2VuZGlmCiAKIHN0YXRpYyBi
b29sIGNvbXBhcmVCeVRhcmdldE5hbWUoV0tCdW5kbGVCYWNrRm9yd2FyZExpc3RJdGVtUmVmIGl0
ZW0xLCBXS0J1bmRsZUJhY2tGb3J3YXJkTGlzdEl0ZW1SZWYgaXRlbTIpCmRpZmYgLS1naXQgYS9U
b29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZS5o
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBh
Z2UuaAppbmRleCBiMjU2OGQ1OWIwM2I2ZmJmYTFhNWQ3NWI2OWExNTNlZTE1ZjY4N2MwLi5hMzk0
N2JkYzRlNjBjYmQyZjEyNTlkNmQ0ZGU4MzJkMWIyN2U5ZmU0IDEwMDY0NAotLS0gYS9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZS5oCisrKyBi
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdl
LmgKQEAgLTEyMyw2ICsxMjMsOCBAQCBwcml2YXRlOgogICAgIHN0YXRpYyBib29sIHN1cHBvcnRz
RnVsbFNjcmVlbihXS0J1bmRsZVBhZ2VSZWYsIFdLRnVsbFNjcmVlbktleWJvYXJkUmVxdWVzdFR5
cGUpOwogICAgIHN0YXRpYyB2b2lkIGVudGVyRnVsbFNjcmVlbkZvckVsZW1lbnQoV0tCdW5kbGVQ
YWdlUmVmLCBXS0J1bmRsZU5vZGVIYW5kbGVSZWYgZWxlbWVudCk7CiAgICAgc3RhdGljIHZvaWQg
ZXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KFdLQnVuZGxlUGFnZVJlZiwgV0tCdW5kbGVOb2RlSGFu
ZGxlUmVmIGVsZW1lbnQpOworICAgIHN0YXRpYyB2b2lkIGJlZ2FuRW50ZXJGdWxsU2NyZWVuKFdL
QnVuZGxlUGFnZVJlZiwgV0tSZWN0IGluaXRpYWxGcmFtZSwgV0tSZWN0IGZpbmFsRnJhbWUpOwor
ICAgIHN0YXRpYyB2b2lkIGJlZ2FuRXhpdEZ1bGxTY3JlZW4oV0tCdW5kbGVQYWdlUmVmLCBXS1Jl
Y3QgaW5pdGlhbEZyYW1lLCBXS1JlY3QgZmluYWxGcmFtZSk7CiAjZW5kaWYKIAogICAgIC8vIEVk
aXRvciBjbGllbnQK
</data>
<flag name="review"
          id="135305"
          type_id="1"
          status="+"
          setter="jberlin"
    />
          </attachment>
      

    </bug>

</bugzilla>