<?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>97651</bug_id>
          
          <creation_ts>2012-09-26 02:43:42 -0700</creation_ts>
          <short_desc>[EFL] Make PageClient accessible to both WebKit and WebKit2</short_desc>
          <delta_ts>2022-03-01 02:38:58 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit EFL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>96627</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Regina Chung">heejin.r.chung</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cdumez</cc>
    
    <cc>dino</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hw1008.kim</cc>
    
    <cc>kenneth</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>rakuco</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yael</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>728360</commentid>
    <comment_count>0</comment_count>
    <who name="Regina Chung">heejin.r.chung</who>
    <bug_when>2012-09-26 02:43:42 -0700</bug_when>
    <thetext>WebKit needs access to PageClientEfl during initialization of GraphicsContext3DEfl, while WebKit2 doesn&apos;t.
But to build WebCore for both WebKit and WebKit2, we need a dummy PageClientEfl class that WebKit2 can also access.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740746</commentid>
    <comment_count>1</comment_count>
      <attachid>168381</attachid>
    <who name="Regina Chung">heejin.r.chung</who>
    <bug_when>2012-10-12 02:21:44 -0700</bug_when>
    <thetext>Created attachment 168381
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>741622</commentid>
    <comment_count>2</comment_count>
      <attachid>168381</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-10-14 16:08:53 -0700</bug_when>
    <thetext>Comment on attachment 168381
Patch

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

&gt; Source/WebCore/platform/efl/WebPageClientEfl.h:23
&gt; +#include &lt;Evas.h&gt;

Can we just declare some types istead of include Evas.h in header file.

&gt; Source/WebCore/platform/efl/WebPageClientEfl.h:30
&gt; +class WebPageClientEfl {

What do you think about adding this in WebCore namespae?

&gt; Source/WebCore/platform/graphics/efl/GraphicsContext3DPrivate.cpp:52
&gt; +    WebPageClientEfl* pageClient = 0;

Can we move this below 54 line.

&gt; Source/WebCore/platform/graphics/efl/GraphicsContext3DPrivate.cpp:63
&gt; +                sharedContext = static_cast&lt;Evas_GL_Context*&gt;(context-&gt;platformGraphicsContext3D());

Can I know the meaning of this?

I could not find usage of this value.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>741786</commentid>
    <comment_count>3</comment_count>
      <attachid>168381</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-10-14 23:59:45 -0700</bug_when>
    <thetext>Comment on attachment 168381
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/efl/GraphicsContext3DPrivate.cpp:63
&gt;&gt; +                sharedContext = static_cast&lt;Evas_GL_Context*&gt;(context-&gt;platformGraphicsContext3D());
&gt; 
&gt; Can I know the meaning of this?
&gt; 
&gt; I could not find usage of this value.

Better question (answer in changelog) why is this different code path needed for webkit1? Could it use the same one as webkit2 (fake evas) or is there any advantages to this new approach?

&gt; Source/WebCore/platform/graphics/efl/GraphicsContext3DPrivate.cpp:119
&gt; +bool GraphicsContext3DPrivate::createSurface(WebPageClientEfl* pageClient, bool renderDirectlyToHostWindow)

Why not adding the actual Evas_Object* instead? There is like almost nothing shared in WebPageClientEfl</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>741794</commentid>
    <comment_count>4</comment_count>
    <who name="Regina Chung">heejin.r.chung</who>
    <bug_when>2012-10-15 00:09:29 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 168381 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=168381&amp;action=review
&gt; &gt; Source/WebCore/platform/efl/WebPageClientEfl.h:23
&gt; &gt; +#include &lt;Evas.h&gt;
&gt; Can we just declare some types istead of include Evas.h in header file.
Sure, removed the include and moved the type declarations in PageClientEfl.h to WebPageClientEfl.h

&gt; &gt; Source/WebCore/platform/efl/WebPageClientEfl.h:30
&gt; &gt; +class WebPageClientEfl {
&gt; What do you think about adding this in WebCore namespae?
WebPageClientEfl is typedefed as PlatformPageClient in Widget.h
I&apos;m not sure if it is a good idea to add it into the WebCore namespace...

&gt; &gt; Source/WebCore/platform/graphics/efl/GraphicsContext3DPrivate.cpp:52
&gt; &gt; +    WebPageClientEfl* pageClient = 0;
&gt; Can we move this below 54 line.
pageClient is needed outside of the if statement in line 54. (see line 98)

&gt; &gt; Source/WebCore/platform/graphics/efl/GraphicsContext3DPrivate.cpp:63
&gt; &gt; +                sharedContext = static_cast&lt;Evas_GL_Context*&gt;(context-&gt;platformGraphicsContext3D());
&gt; Can I know the meaning of this?
&gt; I could not find usage of this value.
Sorry, sharedContext was supposed to be passed as the 2nd argument for evas_gl_context_create() (line 93). Will fix this in new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>741803</commentid>
    <comment_count>5</comment_count>
    <who name="Regina Chung">heejin.r.chung</who>
    <bug_when>2012-10-15 00:20:50 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 168381 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=168381&amp;action=review
&gt; &gt;&gt; Source/WebCore/platform/graphics/efl/GraphicsContext3DPrivate.cpp:63
&gt; &gt;&gt; +                sharedContext = static_cast&lt;Evas_GL_Context*&gt;(context-&gt;platformGraphicsContext3D());
&gt; &gt; 
&gt; &gt; Can I know the meaning of this?
&gt; &gt; 
&gt; &gt; I could not find usage of this value.
&gt; Better question (answer in changelog) why is this different code path needed for webkit1? Could it use the same one as webkit2 (fake evas) or is there any advantages to this new approach?

In WebKit2 a GraphicsContext3D is created for Accelerated Compositing(AC), and another for WebGL (if needed). 
When creating the evas gl context for WebGL we create it as a shared context with ACs evas gl context, so we can use the evas created for webview for both of them.
Thus no need for a fake evas.

&gt; &gt; Source/WebCore/platform/graphics/efl/GraphicsContext3DPrivate.cpp:119
&gt; &gt; +bool GraphicsContext3DPrivate::createSurface(WebPageClientEfl* pageClient, bool renderDirectlyToHostWindow)
&gt; Why not adding the actual Evas_Object* instead? There is like almost nothing shared in WebPageClientEfl

PageClientEfl (which is only used for webkit1) also provides a way to access ewk_view_*** calls from GraphicsContext3D.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>741808</commentid>
    <comment_count>6</comment_count>
      <attachid>168637</attachid>
    <who name="Regina Chung">heejin.r.chung</who>
    <bug_when>2012-10-15 00:28:54 -0700</bug_when>
    <thetext>Created attachment 168637
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>741866</commentid>
    <comment_count>7</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-10-15 02:08:37 -0700</bug_when>
    <thetext>
&gt; &gt; &gt; I could not find usage of this value.
&gt; &gt; Better question (answer in changelog) why is this different code path needed for webkit1? Could it use the same one as webkit2 (fake evas) or is there any advantages to this new approach?
&gt; 
&gt; In WebKit2 a GraphicsContext3D is created for Accelerated Compositing(AC), and another for WebGL (if needed). 
&gt; When creating the evas gl context for WebGL we create it as a shared context with ACs evas gl context, so we can use the evas created for webview for both of them.
&gt; Thus no need for a fake evas.

You answered the opposite question. I know you dont need the fake evas, but would it make any difference if you did use it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>741867</commentid>
    <comment_count>8</comment_count>
      <attachid>168637</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-10-15 02:10:44 -0700</bug_when>
    <thetext>Comment on attachment 168637
Patch

This seems like a terrible abuse of the page client. The page client is not supposed to be reused across ports. It is something that is very specific to the client of the page (aka view/viewport!) and something that is specific to each port. This moved in the wrong direction of what the page client was created for.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>741879</commentid>
    <comment_count>9</comment_count>
    <who name="Regina Chung">heejin.r.chung</who>
    <bug_when>2012-10-15 02:39:04 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; &gt; &gt; &gt; I could not find usage of this value.
&gt; &gt; &gt; Better question (answer in changelog) why is this different code path needed for webkit1? Could it use the same one as webkit2 (fake evas) or is there any advantages to this new approach?
&gt; &gt; 
&gt; &gt; In WebKit2 a GraphicsContext3D is created for Accelerated Compositing(AC), and another for WebGL (if needed). 
&gt; &gt; When creating the evas gl context for WebGL we create it as a shared context with ACs evas gl context, so we can use the evas created for webview for both of them.
&gt; &gt; Thus no need for a fake evas.
&gt; You answered the opposite question. I know you dont need the fake evas, but would it make any difference if you did use it?

Actually that was a typo :( 
I ment WebKit doesn&apos;t need the fake evas (But Webkit2 does). Sorry about that.
WebKit HAS to use the evas created for webview when creating a GC3D for AC, otherwise the composited webpage won&apos;t get rendered into the webview.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>741881</commentid>
    <comment_count>10</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-10-15 02:41:43 -0700</bug_when>
    <thetext>Can we do this in another way instead of passing a specialized PageClient around.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>742727</commentid>
    <comment_count>11</comment_count>
    <who name="Regina Chung">heejin.r.chung</who>
    <bug_when>2012-10-15 19:33:26 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Can we do this in another way instead of passing a specialized PageClient around.

I&apos;m not sure there&apos;s a way to access the webview&apos;s evas from GC3D without the help of PageClient..

Maybe I should move all the WebKit1 related code into a new function in PageClientEfl?
At least that&apos;s what QT is doing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1286726</commentid>
    <comment_count>12</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-03-11 10:49:49 -0800</bug_when>
    <thetext>Closing this bug because the EFL port has been removed from trunk.

If you feel this bug applies to a different upstream WebKit port and was closed in error, please either update the title and reopen the bug, or leave a comment to request this.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168381</attachid>
            <date>2012-10-12 02:21:44 -0700</date>
            <delta_ts>2012-10-15 00:28:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97651-20121012182103.patch</filename>
            <type>text/plain</type>
            <size>10758</size>
            <attacher name="Regina Chung">heejin.r.chung</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzMTE2MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBACisyMDEyLTEwLTEyICBSZWdpbmEg
Q2h1bmcgIDxoZWVqaW4uci5jaHVuZ0BzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXSBNYWtl
IFBhZ2VDbGllbnQgYWNjZXNzaWJsZSB0byBib3RoIFdlYktpdCBhbmQgV2ViS2l0MgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTc2NTEKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuIGNyZWF0aW5nIGEg
R3JhcGhpY3NDb250ZXh0M0RFZmwsIFBhZ2VDbGllbnQgaXMgbmVlZGVkIGZvciBXZWJLaXQgd2hp
bGUgbm90KGN1cnJlbnRseSkKKyAgICAgICAgZm9yIFdlYktpdDIuIEFkZGVkIGEgdmlydHVhbCBj
bGFzcyBXZWJQYWdlQ2xpZW50RWZsIHVuZGVyIFdlYkNvcmUvcGxhdGZvcm0gYW5kIG1hZGUKKyAg
ICAgICAgUGFnZUNsaWVudEVmbCBpbiBXZWJLaXQgaW5oZXJpdCB0aGF0IGluIG9yZGVyIHRvIG1h
a2UgR3JhcGhjaXNDb250ZXh0M0RFZmwgd29yayBmb3IgYm90aAorICAgICAgICBXZWJLaXQgYW5k
IFdlYktpdDIuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBubyBjaGFuZ2UgaW4gYmVoYXZpb3Iu
IAorCisgICAgICAgICogcGxhdGZvcm0vV2lkZ2V0Lmg6CisgICAgICAgICogcGxhdGZvcm0vZWZs
L1dlYlBhZ2VDbGllbnRFZmwuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KFdlYlBhZ2VDbGllbnRFZmwpOgorICAgICAgICAoV2ViUGFnZUNsaWVudEVmbDo6fldlYlBhZ2VD
bGllbnRFZmwpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2VmbC9HcmFwaGljc0NvbnRl
eHQzRFByaXZhdGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0RQcml2
YXRlOjpHcmFwaGljc0NvbnRleHQzRFByaXZhdGUpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhp
Y3NDb250ZXh0M0RQcml2YXRlOjpjcmVhdGVTdXJmYWNlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9lZmwvR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlLmg6CisgICAgICAgIChHcmFwaGlj
c0NvbnRleHQzRFByaXZhdGUpOgorCiAyMDEyLTEwLTEyICBTaGlueWEgS2F3YW5ha2EgIDxzaGlu
eWFrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBPcHRpbXppZSBTZWxlY3RvckNoZWNraW5nQ29u
dGV4dCBtZW1vcnkgbGF5b3V0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9XaWRnZXQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9XaWRnZXQuaAkocmV2aXNp
b24gMTMxMTU4KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vV2lkZ2V0LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTkxLDggKzkxLDggQEAgdHlwZWRlZiBRV2ViUGFnZUNsaWVudCogUGxhdGZvcm1Q
YWdlQ2xpZQogI2luY2x1ZGUgIlBhZ2VDbGllbnRCbGFja0JlcnJ5LmgiCiB0eXBlZGVmIFBhZ2VD
bGllbnRCbGFja0JlcnJ5KiBQbGF0Zm9ybVBhZ2VDbGllbnQ7CiAjZWxpZiBQTEFURk9STShFRkwp
Ci1jbGFzcyBQYWdlQ2xpZW50RWZsOwotdHlwZWRlZiBQYWdlQ2xpZW50RWZsKiBQbGF0Zm9ybVBh
Z2VDbGllbnQ7CitjbGFzcyBXZWJQYWdlQ2xpZW50RWZsOwordHlwZWRlZiBXZWJQYWdlQ2xpZW50
RWZsKiBQbGF0Zm9ybVBhZ2VDbGllbnQ7CiAjZWxzZQogdHlwZWRlZiBQbGF0Zm9ybVdpZGdldCBQ
bGF0Zm9ybVBhZ2VDbGllbnQ7CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2VmbC9XZWJQYWdlQ2xpZW50RWZsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZWZsL1dlYlBhZ2VDbGllbnRFZmwuaAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2VmbC9XZWJQYWdlQ2xpZW50RWZsLmgJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsNDIgQEAKKy8qCisgICAgQ29weXJpZ2h0IChDKSAyMDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MK
KworICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IKKyAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYworICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5z
ZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAgIFRoaXMgbGli
cmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAor
ICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh
cnJhbnR5IG9mCisgICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vu
c2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNv
cHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAgICBhbG9uZyB3
aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0
ZSB0bworICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGlu
IFN0cmVldCwgRmlmdGggRmxvb3IsCisgICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisg
Ki8KKworI2lmbmRlZiBXZWJQYWdlQ2xpZW50RWZsX2gKKyNkZWZpbmUgV2ViUGFnZUNsaWVudEVm
bF9oCisKKyNpbmNsdWRlIDxFdmFzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIEdy
YXBoaWNzQ29udGV4dDNEOworY2xhc3MgV2lkZ2V0OworfQorCitjbGFzcyBXZWJQYWdlQ2xpZW50
RWZsIHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5XZWJQYWdlQ2xpZW50RWZsKCkgeyB9CisKKyNp
ZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCisgICAgdmlydHVhbCBib29sIGNyZWF0ZUV2
YXNPYmplY3RGb3JBY2NlbGVyYXRlZENvbXBvc2l0aW5nKEV2YXNfTmF0aXZlX1N1cmZhY2UqLCBj
b25zdCBXZWJDb3JlOjpJbnRSZWN0JikgPSAwOworICAgIHZpcnR1YWwgV2ViQ29yZTo6R3JhcGhp
Y3NDb250ZXh0M0QqIGFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0KCkgPSAwOworI2VuZGlm
CisKKyAgICB2aXJ0dWFsIEV2YXNfT2JqZWN0KiB2aWV3KCkgPSAwOworfTsKKworI2VuZGlmCgpQ
cm9wZXJ0eSBjaGFuZ2VzIG9uOiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvV2ViUGFnZUNs
aWVudEVmbC5oCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiAgICsgKgoKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2VmbC9HcmFwaGljc0NvbnRleHQzRFBy
aXZhdGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2VmbC9HcmFwaGljc0NvbnRleHQzRFByaXZhdGUuY3BwCShyZXZpc2lvbiAxMzExNTgpCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9lZmwvR3JhcGhpY3NDb250ZXh0M0RQcml2
YXRlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjUsNiArMjUsNyBAQAogI2luY2x1ZGUgIkdyYXBo
aWNzQ29udGV4dC5oIgogI2luY2x1ZGUgIkhvc3RXaW5kb3cuaCIKICNpbmNsdWRlICJOb3RJbXBs
ZW1lbnRlZC5oIgorI2luY2x1ZGUgIldlYlBhZ2VDbGllbnRFZmwuaCIKICNpbmNsdWRlIDxFY29y
ZV9FdmFzLmg+CiAjaW5jbHVkZSA8RXZhc19HTC5oPgogI2luY2x1ZGUgPHd0Zi9Pd25BcnJheVB0
ci5oPgpAQCAtNDYsMjMgKzQ3LDM0IEBAIEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6R3JhcGhp
Y3NDb250ZXgKICAgICBpZiAocmVuZGVyU3R5bGUgPT0gR3JhcGhpY3NDb250ZXh0M0Q6OlJlbmRl
clRvQ3VycmVudEdMQ29udGV4dCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKG1faG9zdFdp
bmRvdyAmJiBtX2hvc3RXaW5kb3ctPnBsYXRmb3JtUGFnZUNsaWVudCgpKSB7Ci0gICAgICAgIC8v
IEZJWE1FOiBJbXBsZW1lbnQgdGhpcyBjb2RlIHBhdGggZm9yIFdlYktpdDEuCi0gICAgICAgIC8v
IEdldCBFdmFzIG9iamVjdCBmcm9tIHBsYXRmb3JtUGFnZUNsaWVudCBhbmQgc2V0IEV2YXNHTCBy
ZWxhdGVkIG1lbWJlcnMuCi0gICAgICAgIHJldHVybjsKLSAgICB9CisgICAgRXZhcyogZXZhcyA9
IDA7CisgICAgRXZhc19HTF9Db250ZXh0KiBzaGFyZWRDb250ZXh0ID0gMDsKKyAgICBXZWJQYWdl
Q2xpZW50RWZsKiBwYWdlQ2xpZW50ID0gMDsKIAotICAgIC8vIEZvciBXZWJLaXQyLCB3ZSBuZWVk
IHRvIGNyZWF0ZSBhIGR1bW15IGVjb3JlRXZhcyBvYmplY3QgZm9yIHRoZSBXZWJQcm9jZXNzIGlu
IG9yZGVyIHRvIHVzZSBFdmFzR0wgQVBJcy4KKyAgICBpZiAobV9ob3N0V2luZG93ICYmIG1faG9z
dFdpbmRvdy0+cGxhdGZvcm1QYWdlQ2xpZW50KCkpIHsKKyAgICAgICAgLy8gT25seSBXZWJLaXQx
IGNhbiB0YWtlIHRoaXMgY29kZSBwYXRoLgorICAgICAgICBwYWdlQ2xpZW50ID0gc3RhdGljX2Nh
c3Q8V2ViUGFnZUNsaWVudEVmbCo+KGhvc3RXaW5kb3ctPnBsYXRmb3JtUGFnZUNsaWVudCgpKTsK
KyAgICAgICAgZXZhcyA9IGV2YXNfb2JqZWN0X2V2YXNfZ2V0KHBhZ2VDbGllbnQtPnZpZXcoKSk7
CisKKyAgICAgICAgLy8gR0MzRCB3aXRoIFJlbmRlck9mZnNjcmVlbiBzdHlsZSBmb3IgV2ViR0wg
aGFzIHRvIGJlIHNoYXJlZCB3aXRoIEFDJ3MgY29udGV4dCB3aGVuIEFDIGlzIGVuYWJsZWQuCisg
ICAgICAgIGlmIChyZW5kZXJTdHlsZSA9PSBHcmFwaGljc0NvbnRleHQzRDo6UmVuZGVyT2Zmc2Ny
ZWVuKSB7CisgICAgICAgICAgICBHcmFwaGljc0NvbnRleHQzRCogY29udGV4dCA9IHBhZ2VDbGll
bnQtPmFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0KCk7CisgICAgICAgICAgICBpZiAoY29u
dGV4dCkKKyAgICAgICAgICAgICAgICBzaGFyZWRDb250ZXh0ID0gc3RhdGljX2Nhc3Q8RXZhc19H
TF9Db250ZXh0Kj4oY29udGV4dC0+cGxhdGZvcm1HcmFwaGljc0NvbnRleHQzRCgpKTsKKyAgICAg
ICAgfQorICAgIH0gZWxzZSB7CisgICAgICAgIC8vIEZvciBXZWJLaXQyLCB3ZSBuZWVkIHRvIGNy
ZWF0ZSBhIGR1bW15IGVjb3JlRXZhcyBvYmplY3QgZm9yIHRoZSBXZWJQcm9jZXNzIGluIG9yZGVy
IHRvIHVzZSBFdmFzR0wgQVBJcy4KICNpZmRlZiBIQVZFX0VDT1JFX1gKLSAgICBlY29yZV9ldmFz
X2luaXQoKTsKLSAgICBtX2Vjb3JlRXZhcyA9IGFkb3B0UHRyKGVjb3JlX2V2YXNfZ2xfeDExX25l
dygwLCAwLCAwLCAwLCAxLCAxKSk7Ci0gICAgaWYgKCFtX2Vjb3JlRXZhcykKLSAgICAgICAgcmV0
dXJuOworICAgICAgICBlY29yZV9ldmFzX2luaXQoKTsKKyAgICAgICAgbV9lY29yZUV2YXMgPSBh
ZG9wdFB0cihlY29yZV9ldmFzX2dsX3gxMV9uZXcoMCwgMCwgMCwgMCwgMSwgMSkpOworICAgICAg
ICBpZiAoIW1fZWNvcmVFdmFzKQorICAgICAgICAgICAgcmV0dXJuOwogI2Vsc2UKLSAgICByZXR1
cm47CisgICAgICAgIHJldHVybjsKICNlbmRpZgorICAgICAgICBldmFzID0gZWNvcmVfZXZhc19n
ZXQobV9lY29yZUV2YXMuZ2V0KCkpOworICAgIH0KIAotICAgIEV2YXMqIGV2YXMgPSBlY29yZV9l
dmFzX2dldChtX2Vjb3JlRXZhcy5nZXQoKSk7CiAgICAgaWYgKCFldmFzKQogICAgICAgICByZXR1
cm47CiAKQEAgLTgzLDcgKzk1LDcgQEAgR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjpHcmFwaGlj
c0NvbnRleAogICAgICAgICByZXR1cm47CiAKICAgICAvLyBDcmVhdGUgYSBzdXJmYWNlCi0gICAg
aWYgKCFjcmVhdGVTdXJmYWNlKDAsIHJlbmRlclN0eWxlID09IEdyYXBoaWNzQ29udGV4dDNEOjpS
ZW5kZXJEaXJlY3RseVRvSG9zdFdpbmRvdykpCisgICAgaWYgKCFjcmVhdGVTdXJmYWNlKHBhZ2VD
bGllbnQsIHJlbmRlclN0eWxlID09IEdyYXBoaWNzQ29udGV4dDNEOjpSZW5kZXJEaXJlY3RseVRv
SG9zdFdpbmRvdykpCiAgICAgICAgIHJldHVybjsKIAogICAgIG1ha2VDb250ZXh0Q3VycmVudCgp
OwpAQCAtMTA0LDcgKzExNiw3IEBAIEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6fkdyYXBoaWNz
Q29udGUKIH0KIAogCi1ib29sIEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6Y3JlYXRlU3VyZmFj
ZShQYWdlQ2xpZW50RWZsKiBwYWdlQ2xpZW50LCBib29sIHJlbmRlckRpcmVjdGx5VG9Ib3N0V2lu
ZG93KQorYm9vbCBHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OmNyZWF0ZVN1cmZhY2UoV2ViUGFn
ZUNsaWVudEVmbCogcGFnZUNsaWVudCwgYm9vbCByZW5kZXJEaXJlY3RseVRvSG9zdFdpbmRvdykK
IHsKICAgICAvLyBJZiBSZW5kZXJTdHlsZSBpcyBSZW5kZXJPZmZzY3JlZW4sIHdlIHdpbGwgYmUg
cmVuZGVyaW5nIHRvIGEgRkJPLAogICAgIC8vIHNvIEV2YXNfR0xfU3VyZmFjZSBoYXMgYSAxeDEg
ZHVtbXkgc3VyZmFjZS4KQEAgLTExNyw3ICsxMjksOCBAQCBib29sIEdyYXBoaWNzQ29udGV4dDNE
UHJpdmF0ZTo6Y3JlYXRlU3VyCiAgICAgaWYgKHJlbmRlckRpcmVjdGx5VG9Ib3N0V2luZG93KSB7
CiAgICAgICAgIGlmICghcGFnZUNsaWVudCkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAg
ICAgICAgLy8gRklYTUU6IEdldCBnZW9tZXRyeSBvZiB3ZWJWaWV3IGFuZCBzZXQgc2l6ZSBvZiB0
YXJnZXQgc3VyZmFjZS4KKworICAgICAgICBldmFzX29iamVjdF9nZW9tZXRyeV9nZXQocGFnZUNs
aWVudC0+dmlldygpLCAmeCwgJnksICZ3aWR0aCwgJmhlaWdodCk7CiAgICAgfQogCiAgICAgRXZh
c19HTF9Db25maWcgY29uZmlnID0gewpAQCAtMTMyLDE1ICsxNDUsMTUgQEAgYm9vbCBHcmFwaGlj
c0NvbnRleHQzRFByaXZhdGU6OmNyZWF0ZVN1cgogICAgIGlmICghbV9ldmFzR0xTdXJmYWNlKQog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcp
CiAgICAgaWYgKHJlbmRlckRpcmVjdGx5VG9Ib3N0V2luZG93KSB7CiAgICAgICAgIEV2YXNfTmF0
aXZlX1N1cmZhY2UgbmF0aXZlU3VyZmFjZTsKICAgICAgICAgLy8gRmlsbCBpbiB0aGUgTmF0aXZl
IFN1cmZhY2UgaW5mb3JtYXRpb24gZnJvbSB0aGUgZ2l2ZW4gRXZhcyBHTCBzdXJmYWNlLgogICAg
ICAgICBldmFzX2dsX25hdGl2ZV9zdXJmYWNlX2dldChtX2V2YXNHTCwgbV9ldmFzR0xTdXJmYWNl
LCAmbmF0aXZlU3VyZmFjZSk7CiAKLSAgICAgICAgLy8gRklYTUU6IENyZWF0ZSBhbmQgc3BlY2lh
bGx5IHNldCB1cCBhIGV2YXNfb2JqZWN0IHdoaWNoIGFjdCBhcyB0aGUgcmVuZGVyIHRhcmdlciBz
dXJmYWNlLgorICAgICAgICAvLyBDcmVhdGUgYW5kIHNwZWNpYWxseSBzZXQgdXAgYSBldmFzX29i
amVjdCB3aGljaCBhY3QgYXMgdGhlIHJlbmRlciB0YXJnZXIgc3VyZmFjZS4KKyAgICAgICAgaWYg
KCFwYWdlQ2xpZW50LT5jcmVhdGVFdmFzT2JqZWN0Rm9yQWNjZWxlcmF0ZWRDb21wb3NpdGluZygm
bmF0aXZlU3VyZmFjZSwgSW50UmVjdCh4LCB5LCB3aWR0aCwgaGVpZ2h0KSkpCisgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgfQotI2VuZGlmCiAKICAgICByZXR1cm4gdHJ1ZTsKIH0KSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2VmbC9HcmFwaGljc0NvbnRleHQz
RFByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9lZmwvR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlLmgJKHJldmlzaW9uIDEzMTE1OCkKKysrIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2VmbC9HcmFwaGljc0NvbnRleHQzRFByaXZh
dGUuaAkod29ya2luZyBjb3B5KQpAQCAtMzIsNyArMzIsNyBAQCB0eXBlZGVmIHN0cnVjdCBfRXZh
c19HTF9Db250ZXh0ICAgICAgIEV2CiB0eXBlZGVmIHN0cnVjdCBfRXZhc19HTF9Db25maWcgICAg
ICAgIEV2YXNfR0xfQ29uZmlnOwogdHlwZWRlZiBzdHJ1Y3QgX0V2YXNfR0xfQVBJICAgICAgICAg
ICBFdmFzX0dMX0FQSTsKIAotY2xhc3MgUGFnZUNsaWVudEVmbDsKK2NsYXNzIFdlYlBhZ2VDbGll
bnRFZmw7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDNEUHJp
dmF0ZQpAQCAtNTMsNyArNTMsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHBhaW50VG9U
ZXh0dXJlTWFwcGVyKFRleHR1cmVNYXBwZXIqLCBjb25zdCBGbG9hdFJlY3QmIHRhcmdldCwgY29u
c3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmLCBmbG9hdCBvcGFjaXR5LCBCaXRtYXBUZXh0dXJlKiBt
YXNrKTsKICNlbmRpZgogICAgIGJvb2wgbWFrZUNvbnRleHRDdXJyZW50KCk7Ci0gICAgYm9vbCBj
cmVhdGVTdXJmYWNlKFBhZ2VDbGllbnRFZmwqLCBib29sIHJlbmRlckRpcmVjdGx5VG9FdmFzR0xP
YmplY3QpOworICAgIGJvb2wgY3JlYXRlU3VyZmFjZShXZWJQYWdlQ2xpZW50RWZsKiwgYm9vbCBy
ZW5kZXJEaXJlY3RseVRvRXZhc0dMT2JqZWN0KTsKICAgICB2b2lkIHNldEN1cnJlbnRHTENvbnRl
eHQodm9pZCosIHZvaWQqKTsKIAogICAgIEdyYXBoaWNzQ29udGV4dDNEOjpBdHRyaWJ1dGVzIG1f
YXR0cmlidXRlczsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzMTE2MCkKKysrIFNv
dXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBA
CisyMDEyLTEwLTEyICBSZWdpbmEgQ2h1bmcgIDxoZWVqaW4uci5jaHVuZ0BzYW1zdW5nLmNvbT4K
KworICAgICAgICBbRUZMXSBNYWtlIFBhZ2VDbGllbnQgYWNjZXNzaWJsZSB0byBib3RoIFdlYktp
dCBhbmQgV2ViS2l0MgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9OTc2NTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBXaGVuIGNyZWF0aW5nIGEgR3JhcGhpY3NDb250ZXh0M0RFZmwsIFBhZ2VDbGllbnQgaXMg
bmVlZGVkIGZvciBXZWJLaXQgd2hpbGUgbm90KGN1cnJlbnRseSkgCisgICAgICAgIGZvciBXZWJL
aXQyLiBBZGRlZCBhIHZpcnR1YWwgY2xhc3MgV2ViUGFnZUNsaWVudEVmbCB1bmRlciBXZWJDb3Jl
L3BsYXRmb3JtIGFuZCBtYWRlIAorICAgICAgICBQYWdlQ2xpZW50RWZsIGluIFdlYktpdCBpbmhl
cml0IHRoYXQgaW4gb3JkZXIgdG8gbWFrZSBHcmFwaGNpc0NvbnRleHQzREVmbCB3b3JrIGZvciBi
b3RoIAorICAgICAgICBXZWJLaXQgYW5kIFdlYktpdDIuCisKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9QYWdlQ2xpZW50RWZsLmg6IE1hZGUgUGFnZUNsaWVudEVmbCBhIGNoaWxkIGNsYXNzIG9m
IFdlYlBhZ2VDbGllbnRFZmwuCisKIDIwMTItMTAtMTEgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5n
LmtpbUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBbRUZMXSBSZW1vdmUgIndlYiIgd29yZCBpbiB3
ZWIgaW5zcGVjdG9yCkluZGV4OiBTb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9QYWdl
Q2xpZW50RWZsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBv
cnQvUGFnZUNsaWVudEVmbC5oCShyZXZpc2lvbiAxMzExNTgpCisrKyBTb3VyY2UvV2ViS2l0L2Vm
bC9XZWJDb3JlU3VwcG9ydC9QYWdlQ2xpZW50RWZsLmgJKHdvcmtpbmcgY29weSkKQEAgLTIxLDYg
KzIxLDcgQEAKICNkZWZpbmUgUGFnZUNsaWVudEVmbF9oCiAKICNpbmNsdWRlICJJbnRSZWN0Lmgi
CisjaW5jbHVkZSAiV2ViUGFnZUNsaWVudEVmbC5oIgogCiB0eXBlZGVmIHN0cnVjdCBfRXZhc19O
YXRpdmVfU3VyZmFjZSBFdmFzX05hdGl2ZV9TdXJmYWNlOwogdHlwZWRlZiBzdHJ1Y3QgX0V2YXNf
T2JqZWN0IEV2YXNfT2JqZWN0OwpAQCAtMjksNyArMzAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiBjbGFzcyBHcmFwaGljc0NvbnRleHQzRDsKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotY2xh
c3MgUGFnZUNsaWVudEVmbCB7CitjbGFzcyBQYWdlQ2xpZW50RWZsIDogcHVibGljIFdlYlBhZ2VD
bGllbnRFZmwgewogcHVibGljOgogICAgIGV4cGxpY2l0IFBhZ2VDbGllbnRFZmwoRXZhc19PYmpl
Y3QqIHZpZXcpOwogICAgIHZpcnR1YWwgflBhZ2VDbGllbnRFZmwoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168637</attachid>
            <date>2012-10-15 00:28:54 -0700</date>
            <delta_ts>2022-03-01 02:38:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97651-20121015162815.patch</filename>
            <type>text/plain</type>
            <size>11281</size>
            <attacher name="Regina Chung">heejin.r.chung</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzMTI5MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBACisyMDEyLTEwLTE0ICBSZWdpbmEg
Q2h1bmcgIDxoZWVqaW4uci5jaHVuZ0BzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXSBNYWtl
IFBhZ2VDbGllbnQgYWNjZXNzaWJsZSB0byBib3RoIFdlYktpdCBhbmQgV2ViS2l0MgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTc2NTEKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuIGNyZWF0aW5nIGEg
R3JhcGhpY3NDb250ZXh0M0QgZm9yIEVmbCwgUGFnZUNsaWVudCBpcyBuZWVkZWQgZm9yIFdlYktp
dCB3aGlsZSBub3QoY3VycmVudGx5KQorICAgICAgICBmb3IgV2ViS2l0Mi4gQmVjYXVzZSBpbiBX
ZWJLaXQgR3JhcGhjaXNDb250ZXh0M0QgbmVlZHMgYWNjZXNzIHRvIHRoZSBldmFzIG9iamVjdCBj
cmVhdGVkIGZvcgorICAgICAgICB0aGUgd2Vidmlldy4KKyAgICAgICAgQWRkZWQgYSB2aXJ0dWFs
IGNsYXNzIFdlYlBhZ2VDbGllbnRFZmwgdW5kZXIgV2ViQ29yZS9wbGF0Zm9ybSBhbmQgbWFkZSBQ
YWdlQ2xpZW50RWZsCisgICAgICAgIGluIFdlYktpdCBpbmhlcml0IHRoYXQgaW4gb3JkZXIgdG8g
bWFrZSBHcmFwaGNpc0NvbnRleHQzRCB3b3JrIGZvciBib3RoIFdlYktpdCBhbmQgV2ViS2l0Mi4K
KworICAgICAgICBObyBuZXcgdGVzdHMsIG5vIGNoYW5nZSBpbiBiZWhhdmlvci4gCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9XaWRnZXQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvV2ViUGFnZUNs
aWVudEVmbC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViUGFnZUNs
aWVudEVmbCk6CisgICAgICAgIChXZWJQYWdlQ2xpZW50RWZsOjp+V2ViUGFnZUNsaWVudEVmbCk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZWZsL0dyYXBoaWNzQ29udGV4dDNEUHJpdmF0
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OkdyYXBo
aWNzQ29udGV4dDNEUHJpdmF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQz
RFByaXZhdGU6OmNyZWF0ZVN1cmZhY2UpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Vm
bC9HcmFwaGljc0NvbnRleHQzRFByaXZhdGUuaDoKKyAgICAgICAgKEdyYXBoaWNzQ29udGV4dDNE
UHJpdmF0ZSk6CisKIDIwMTItMTAtMTIgIElseWEgVGlraG9ub3Zza3kgIDxsb2lzbG9AY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IE5NSSByZW1vdmUgaGFuZCBtYWRlIG9i
amVjdCBidWlsZGVycyB3aXRoIGF1dG9tYXRpYyBidWlsZGVyLgpJbmRleDogU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vV2lkZ2V0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vV2lkZ2V0LmgJKHJldmlzaW9uIDEzMTI5MCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1dpZGdldC5oCSh3b3JraW5nIGNvcHkpCkBAIC05MSw4ICs5MSw4IEBAIHR5cGVkZWYgUVdlYlBh
Z2VDbGllbnQqIFBsYXRmb3JtUGFnZUNsaWUKICNpbmNsdWRlICJQYWdlQ2xpZW50QmxhY2tCZXJy
eS5oIgogdHlwZWRlZiBQYWdlQ2xpZW50QmxhY2tCZXJyeSogUGxhdGZvcm1QYWdlQ2xpZW50Owog
I2VsaWYgUExBVEZPUk0oRUZMKQotY2xhc3MgUGFnZUNsaWVudEVmbDsKLXR5cGVkZWYgUGFnZUNs
aWVudEVmbCogUGxhdGZvcm1QYWdlQ2xpZW50OworY2xhc3MgV2ViUGFnZUNsaWVudEVmbDsKK3R5
cGVkZWYgV2ViUGFnZUNsaWVudEVmbCogUGxhdGZvcm1QYWdlQ2xpZW50OwogI2Vsc2UKIHR5cGVk
ZWYgUGxhdGZvcm1XaWRnZXQgUGxhdGZvcm1QYWdlQ2xpZW50OwogI2VuZGlmCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvV2ViUGFnZUNsaWVudEVmbC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9XZWJQYWdlQ2xpZW50RWZsLmgJKHJldmlzaW9u
IDApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvV2ViUGFnZUNsaWVudEVmbC5oCShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQzIEBACisvKgorICAgIENvcHlyaWdodCAoQykgMjAxMiBT
YW1zdW5nIEVsZWN0cm9uaWNzCisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsg
eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAgICBMaWNlbnNlIGFzIHB1
Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAgICB2ZXJz
aW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp
dCB3aWxsIGJlIHVzZWZ1bCwKKyAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg
ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgICAgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICBZb3Ugc2hvdWxk
IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlCisgICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5H
LkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
LCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICAgIEJvc3RvbiwgTUEg
MDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpZm5kZWYgV2ViUGFnZUNsaWVudEVmbF9oCisjZGVm
aW5lIFdlYlBhZ2VDbGllbnRFZmxfaAorCit0eXBlZGVmIHN0cnVjdCBfRXZhc19OYXRpdmVfU3Vy
ZmFjZSBFdmFzX05hdGl2ZV9TdXJmYWNlOwordHlwZWRlZiBzdHJ1Y3QgX0V2YXNfT2JqZWN0IEV2
YXNfT2JqZWN0OworCituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBHcmFwaGljc0NvbnRleHQz
RDsKK2NsYXNzIFdpZGdldDsKK30KKworY2xhc3MgV2ViUGFnZUNsaWVudEVmbCB7CitwdWJsaWM6
CisgICAgdmlydHVhbCB+V2ViUGFnZUNsaWVudEVmbCgpIHsgfQorCisjaWYgVVNFKEFDQ0VMRVJB
VEVEX0NPTVBPU0lUSU5HKQorICAgIHZpcnR1YWwgYm9vbCBjcmVhdGVFdmFzT2JqZWN0Rm9yQWNj
ZWxlcmF0ZWRDb21wb3NpdGluZyhFdmFzX05hdGl2ZV9TdXJmYWNlKiwgY29uc3QgV2ViQ29yZTo6
SW50UmVjdCYpID0gMDsKKyAgICB2aXJ0dWFsIFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEKiBh
Y2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dCgpID0gMDsKKyNlbmRpZgorCisgICAgdmlydHVh
bCBFdmFzX09iamVjdCogdmlldygpID0gMDsKK307CisKKyNlbmRpZgoKUHJvcGVydHkgY2hhbmdl
cyBvbjogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL1dlYlBhZ2VDbGllbnRFZmwuaApfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQogICArICoKCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9lZmwvR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9lZmwvR3JhcGhpY3ND
b250ZXh0M0RQcml2YXRlLmNwcAkocmV2aXNpb24gMTMxMjkwKQorKysgU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZWZsL0dyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTI1LDYgKzI1LDcgQEAKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIK
ICNpbmNsdWRlICJIb3N0V2luZG93LmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKKyNp
bmNsdWRlICJXZWJQYWdlQ2xpZW50RWZsLmgiCiAjaW5jbHVkZSA8RWNvcmVfRXZhcy5oPgogI2lu
Y2x1ZGUgPEV2YXNfR0wuaD4KICNpbmNsdWRlIDx3dGYvT3duQXJyYXlQdHIuaD4KQEAgLTQ2LDIz
ICs0NywzNCBAQCBHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OkdyYXBoaWNzQ29udGV4CiAgICAg
aWYgKHJlbmRlclN0eWxlID09IEdyYXBoaWNzQ29udGV4dDNEOjpSZW5kZXJUb0N1cnJlbnRHTENv
bnRleHQpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmIChtX2hvc3RXaW5kb3cgJiYgbV9ob3N0
V2luZG93LT5wbGF0Zm9ybVBhZ2VDbGllbnQoKSkgewotICAgICAgICAvLyBGSVhNRTogSW1wbGVt
ZW50IHRoaXMgY29kZSBwYXRoIGZvciBXZWJLaXQxLgotICAgICAgICAvLyBHZXQgRXZhcyBvYmpl
Y3QgZnJvbSBwbGF0Zm9ybVBhZ2VDbGllbnQgYW5kIHNldCBFdmFzR0wgcmVsYXRlZCBtZW1iZXJz
LgotICAgICAgICByZXR1cm47Ci0gICAgfQorICAgIEV2YXMqIGV2YXMgPSAwOworICAgIEV2YXNf
R0xfQ29udGV4dCogc2hhcmVkQ29udGV4dCA9IDA7CisgICAgV2ViUGFnZUNsaWVudEVmbCogcGFn
ZUNsaWVudCA9IDA7CiAKLSAgICAvLyBGb3IgV2ViS2l0Miwgd2UgbmVlZCB0byBjcmVhdGUgYSBk
dW1teSBlY29yZUV2YXMgb2JqZWN0IGZvciB0aGUgV2ViUHJvY2VzcyBpbiBvcmRlciB0byB1c2Ug
RXZhc0dMIEFQSXMuCisgICAgaWYgKG1faG9zdFdpbmRvdyAmJiBtX2hvc3RXaW5kb3ctPnBsYXRm
b3JtUGFnZUNsaWVudCgpKSB7CisgICAgICAgIC8vIE9ubHkgV2ViS2l0MSBjYW4gdGFrZSB0aGlz
IGNvZGUgcGF0aC4KKyAgICAgICAgcGFnZUNsaWVudCA9IHN0YXRpY19jYXN0PFdlYlBhZ2VDbGll
bnRFZmwqPihob3N0V2luZG93LT5wbGF0Zm9ybVBhZ2VDbGllbnQoKSk7CisgICAgICAgIGV2YXMg
PSBldmFzX29iamVjdF9ldmFzX2dldChwYWdlQ2xpZW50LT52aWV3KCkpOworCisgICAgICAgIC8v
IEdDM0Qgd2l0aCBSZW5kZXJPZmZzY3JlZW4gc3R5bGUgZm9yIFdlYkdMIGhhcyB0byBiZSBzaGFy
ZWQgd2l0aCBBQydzIGNvbnRleHQgd2hlbiBBQyBpcyBlbmFibGVkLgorICAgICAgICBpZiAocmVu
ZGVyU3R5bGUgPT0gR3JhcGhpY3NDb250ZXh0M0Q6OlJlbmRlck9mZnNjcmVlbikgeworICAgICAg
ICAgICAgR3JhcGhpY3NDb250ZXh0M0QqIGNvbnRleHQgPSBwYWdlQ2xpZW50LT5hY2NlbGVyYXRl
ZENvbXBvc2l0aW5nQ29udGV4dCgpOworICAgICAgICAgICAgaWYgKGNvbnRleHQpCisgICAgICAg
ICAgICAgICAgc2hhcmVkQ29udGV4dCA9IHN0YXRpY19jYXN0PEV2YXNfR0xfQ29udGV4dCo+KGNv
bnRleHQtPnBsYXRmb3JtR3JhcGhpY3NDb250ZXh0M0QoKSk7CisgICAgICAgIH0KKyAgICB9IGVs
c2UgeworICAgICAgICAvLyBGb3IgV2ViS2l0Miwgd2UgbmVlZCB0byBjcmVhdGUgYSBkdW1teSBl
Y29yZUV2YXMgb2JqZWN0IGZvciB0aGUgV2ViUHJvY2VzcyBpbiBvcmRlciB0byB1c2UgRXZhc0dM
IEFQSXMuCiAjaWZkZWYgSEFWRV9FQ09SRV9YCi0gICAgZWNvcmVfZXZhc19pbml0KCk7Ci0gICAg
bV9lY29yZUV2YXMgPSBhZG9wdFB0cihlY29yZV9ldmFzX2dsX3gxMV9uZXcoMCwgMCwgMCwgMCwg
MSwgMSkpOwotICAgIGlmICghbV9lY29yZUV2YXMpCi0gICAgICAgIHJldHVybjsKKyAgICAgICAg
ZWNvcmVfZXZhc19pbml0KCk7CisgICAgICAgIG1fZWNvcmVFdmFzID0gYWRvcHRQdHIoZWNvcmVf
ZXZhc19nbF94MTFfbmV3KDAsIDAsIDAsIDAsIDEsIDEpKTsKKyAgICAgICAgaWYgKCFtX2Vjb3Jl
RXZhcykKKyAgICAgICAgICAgIHJldHVybjsKICNlbHNlCi0gICAgcmV0dXJuOworICAgICAgICBy
ZXR1cm47CiAjZW5kaWYKKyAgICAgICAgZXZhcyA9IGVjb3JlX2V2YXNfZ2V0KG1fZWNvcmVFdmFz
LmdldCgpKTsKKyAgICB9CiAKLSAgICBFdmFzKiBldmFzID0gZWNvcmVfZXZhc19nZXQobV9lY29y
ZUV2YXMuZ2V0KCkpOwogICAgIGlmICghZXZhcykKICAgICAgICAgcmV0dXJuOwogCkBAIC03OCwx
MiArOTAsMTIgQEAgR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjpHcmFwaGljc0NvbnRleAogICAg
ICAgICByZXR1cm47CiAKICAgICAvLyBDcmVhdGUgYSBjb250ZXh0Ci0gICAgbV9ldmFzR0xDb250
ZXh0ID0gZXZhc19nbF9jb250ZXh0X2NyZWF0ZShtX2V2YXNHTCwgMCk7CisgICAgbV9ldmFzR0xD
b250ZXh0ID0gZXZhc19nbF9jb250ZXh0X2NyZWF0ZShtX2V2YXNHTCwgc2hhcmVkQ29udGV4dCk7
CiAgICAgaWYgKCFtX2V2YXNHTENvbnRleHQpCiAgICAgICAgIHJldHVybjsKIAogICAgIC8vIENy
ZWF0ZSBhIHN1cmZhY2UKLSAgICBpZiAoIWNyZWF0ZVN1cmZhY2UoMCwgcmVuZGVyU3R5bGUgPT0g
R3JhcGhpY3NDb250ZXh0M0Q6OlJlbmRlckRpcmVjdGx5VG9Ib3N0V2luZG93KSkKKyAgICBpZiAo
IWNyZWF0ZVN1cmZhY2UocGFnZUNsaWVudCwgcmVuZGVyU3R5bGUgPT0gR3JhcGhpY3NDb250ZXh0
M0Q6OlJlbmRlckRpcmVjdGx5VG9Ib3N0V2luZG93KSkKICAgICAgICAgcmV0dXJuOwogCiAgICAg
bWFrZUNvbnRleHRDdXJyZW50KCk7CkBAIC0xMDQsNyArMTE2LDcgQEAgR3JhcGhpY3NDb250ZXh0
M0RQcml2YXRlOjp+R3JhcGhpY3NDb250ZQogfQogCiAKLWJvb2wgR3JhcGhpY3NDb250ZXh0M0RQ
cml2YXRlOjpjcmVhdGVTdXJmYWNlKFBhZ2VDbGllbnRFZmwqIHBhZ2VDbGllbnQsIGJvb2wgcmVu
ZGVyRGlyZWN0bHlUb0hvc3RXaW5kb3cpCitib29sIEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6
Y3JlYXRlU3VyZmFjZShXZWJQYWdlQ2xpZW50RWZsKiBwYWdlQ2xpZW50LCBib29sIHJlbmRlckRp
cmVjdGx5VG9Ib3N0V2luZG93KQogewogICAgIC8vIElmIFJlbmRlclN0eWxlIGlzIFJlbmRlck9m
ZnNjcmVlbiwgd2Ugd2lsbCBiZSByZW5kZXJpbmcgdG8gYSBGQk8sCiAgICAgLy8gc28gRXZhc19H
TF9TdXJmYWNlIGhhcyBhIDF4MSBkdW1teSBzdXJmYWNlLgpAQCAtMTE3LDcgKzEyOSw4IEBAIGJv
b2wgR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjpjcmVhdGVTdXIKICAgICBpZiAocmVuZGVyRGly
ZWN0bHlUb0hvc3RXaW5kb3cpIHsKICAgICAgICAgaWYgKCFwYWdlQ2xpZW50KQogICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAvLyBGSVhNRTogR2V0IGdlb21ldHJ5IG9mIHdlYlZp
ZXcgYW5kIHNldCBzaXplIG9mIHRhcmdldCBzdXJmYWNlLgorCisgICAgICAgIGV2YXNfb2JqZWN0
X2dlb21ldHJ5X2dldChwYWdlQ2xpZW50LT52aWV3KCksICZ4LCAmeSwgJndpZHRoLCAmaGVpZ2h0
KTsKICAgICB9CiAKICAgICBFdmFzX0dMX0NvbmZpZyBjb25maWcgPSB7CkBAIC0xMzIsMTUgKzE0
NSwxNSBAQCBib29sIEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6Y3JlYXRlU3VyCiAgICAgaWYg
KCFtX2V2YXNHTFN1cmZhY2UpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotI2lmIFVTRShBQ0NF
TEVSQVRFRF9DT01QT1NJVElORykKICAgICBpZiAocmVuZGVyRGlyZWN0bHlUb0hvc3RXaW5kb3cp
IHsKICAgICAgICAgRXZhc19OYXRpdmVfU3VyZmFjZSBuYXRpdmVTdXJmYWNlOwogICAgICAgICAv
LyBGaWxsIGluIHRoZSBOYXRpdmUgU3VyZmFjZSBpbmZvcm1hdGlvbiBmcm9tIHRoZSBnaXZlbiBF
dmFzIEdMIHN1cmZhY2UuCiAgICAgICAgIGV2YXNfZ2xfbmF0aXZlX3N1cmZhY2VfZ2V0KG1fZXZh
c0dMLCBtX2V2YXNHTFN1cmZhY2UsICZuYXRpdmVTdXJmYWNlKTsKIAotICAgICAgICAvLyBGSVhN
RTogQ3JlYXRlIGFuZCBzcGVjaWFsbHkgc2V0IHVwIGEgZXZhc19vYmplY3Qgd2hpY2ggYWN0IGFz
IHRoZSByZW5kZXIgdGFyZ2VyIHN1cmZhY2UuCisgICAgICAgIC8vIENyZWF0ZSBhbmQgc3BlY2lh
bGx5IHNldCB1cCBhIGV2YXNfb2JqZWN0IHdoaWNoIGFjdCBhcyB0aGUgcmVuZGVyIHRhcmdlciBz
dXJmYWNlLgorICAgICAgICBpZiAoIXBhZ2VDbGllbnQtPmNyZWF0ZUV2YXNPYmplY3RGb3JBY2Nl
bGVyYXRlZENvbXBvc2l0aW5nKCZuYXRpdmVTdXJmYWNlLCBJbnRSZWN0KHgsIHksIHdpZHRoLCBo
ZWlnaHQpKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9Ci0jZW5kaWYKIAogICAg
IHJldHVybiB0cnVlOwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
ZWZsL0dyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2VmbC9HcmFwaGljc0NvbnRleHQzRFByaXZhdGUuaAkocmV2
aXNpb24gMTMxMjkwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZWZsL0dy
YXBoaWNzQ29udGV4dDNEUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw3ICszMiw3IEBA
IHR5cGVkZWYgc3RydWN0IF9FdmFzX0dMX0NvbnRleHQgICAgICAgRXYKIHR5cGVkZWYgc3RydWN0
IF9FdmFzX0dMX0NvbmZpZyAgICAgICAgRXZhc19HTF9Db25maWc7CiB0eXBlZGVmIHN0cnVjdCBf
RXZhc19HTF9BUEkgICAgICAgICAgIEV2YXNfR0xfQVBJOwogCi1jbGFzcyBQYWdlQ2xpZW50RWZs
OworY2xhc3MgV2ViUGFnZUNsaWVudEVmbDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3Mg
R3JhcGhpY3NDb250ZXh0M0RQcml2YXRlCkBAIC01Myw3ICs1Myw3IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIHZvaWQgcGFpbnRUb1RleHR1cmVNYXBwZXIoVGV4dHVyZU1hcHBlciosIGNvbnN0IEZs
b2F0UmVjdCYgdGFyZ2V0LCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYsIGZsb2F0IG9wYWNp
dHksIEJpdG1hcFRleHR1cmUqIG1hc2spOwogI2VuZGlmCiAgICAgYm9vbCBtYWtlQ29udGV4dEN1
cnJlbnQoKTsKLSAgICBib29sIGNyZWF0ZVN1cmZhY2UoUGFnZUNsaWVudEVmbCosIGJvb2wgcmVu
ZGVyRGlyZWN0bHlUb0V2YXNHTE9iamVjdCk7CisgICAgYm9vbCBjcmVhdGVTdXJmYWNlKFdlYlBh
Z2VDbGllbnRFZmwqLCBib29sIHJlbmRlckRpcmVjdGx5VG9FdmFzR0xPYmplY3QpOwogICAgIHZv
aWQgc2V0Q3VycmVudEdMQ29udGV4dCh2b2lkKiwgdm9pZCopOwogCiAgICAgR3JhcGhpY3NDb250
ZXh0M0Q6OkF0dHJpYnV0ZXMgbV9hdHRyaWJ1dGVzOwpJbmRleDogU291cmNlL1dlYktpdC9lZmwv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwkocmV2
aXNpb24gMTMxMjkwKQorKysgU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMTItMTAtMTQgIFJlZ2luYSBDaHVuZyAgPGhlZWppbi5y
LmNodW5nQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtFRkxdIE1ha2UgUGFnZUNsaWVudCBhY2Nl
c3NpYmxlIHRvIGJvdGggV2ViS2l0IGFuZCBXZWJLaXQyCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NzY1MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gY3JlYXRpbmcgYSBHcmFwaGljc0NvbnRleHQz
RCBmb3IgRWZsLCBQYWdlQ2xpZW50IGlzIG5lZWRlZCBmb3IgV2ViS2l0IHdoaWxlIG5vdChjdXJy
ZW50bHkpIAorICAgICAgICBmb3IgV2ViS2l0Mi4gQmVjYXVzZSBpbiBXZWJLaXQgR3JhcGhjaXND
b250ZXh0M0QgbmVlZHMgYWNjZXNzIHRvIHRoZSBldmFzIG9iamVjdCBjcmVhdGVkIGZvcgorICAg
ICAgICB0aGUgd2Vidmlldy4KKyAgICAgICAgQWRkZWQgYSB2aXJ0dWFsIGNsYXNzIFdlYlBhZ2VD
bGllbnRFZmwgdW5kZXIgV2ViQ29yZS9wbGF0Zm9ybSBhbmQgbWFkZSBQYWdlQ2xpZW50RWZsIAor
ICAgICAgICBpbiBXZWJLaXQgaW5oZXJpdCB0aGF0IGluIG9yZGVyIHRvIG1ha2UgR3JhcGhjaXND
b250ZXh0M0Qgd29yayBmb3IgYm90aCBXZWJLaXQgYW5kIFdlYktpdDIuCisKKyAgICAgICAgKiBX
ZWJDb3JlU3VwcG9ydC9QYWdlQ2xpZW50RWZsLmg6IE1hZGUgUGFnZUNsaWVudEVmbCBhIGNoaWxk
IGNsYXNzIG9mIFdlYlBhZ2VDbGllbnRFZmwuCisKIDIwMTItMTAtMTQgIFNhbSBXZWluaWcgIDxz
YW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBNYWtlIFVzZXJTY3JpcHQgYW5kIFVzZXJTdHlsZVNo
ZWV0IHZhbHVlIG9iamVjdHMgdGhhdCBhcmUgY29weWFibGUKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
ZWZsL1dlYkNvcmVTdXBwb3J0L1BhZ2VDbGllbnRFZmwuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9QYWdlQ2xpZW50RWZsLmgJKHJldmlzaW9uIDEzMTI5
MCkKKysrIFNvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L1BhZ2VDbGllbnRFZmwuaAko
d29ya2luZyBjb3B5KQpAQCAtMjEsMTUgKzIxLDEzIEBACiAjZGVmaW5lIFBhZ2VDbGllbnRFZmxf
aAogCiAjaW5jbHVkZSAiSW50UmVjdC5oIgotCi10eXBlZGVmIHN0cnVjdCBfRXZhc19OYXRpdmVf
U3VyZmFjZSBFdmFzX05hdGl2ZV9TdXJmYWNlOwotdHlwZWRlZiBzdHJ1Y3QgX0V2YXNfT2JqZWN0
IEV2YXNfT2JqZWN0OworI2luY2x1ZGUgIldlYlBhZ2VDbGllbnRFZmwuaCIKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogY2xhc3MgR3JhcGhpY3NDb250ZXh0M0Q7CiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCiAKLWNsYXNzIFBhZ2VDbGllbnRFZmwgeworY2xhc3MgUGFnZUNsaWVudEVmbCA6IHB1Ymxp
YyBXZWJQYWdlQ2xpZW50RWZsIHsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBQYWdlQ2xpZW50RWZs
KEV2YXNfT2JqZWN0KiB2aWV3KTsKICAgICB2aXJ0dWFsIH5QYWdlQ2xpZW50RWZsKCk7Cg==
</data>
<flag name="review"
          id="181673"
          type_id="1"
          status="-"
          setter="kenneth"
    />
          </attachment>
      

    </bug>

</bugzilla>