<?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>114260</bug_id>
          
          <creation_ts>2013-04-09 03:02:08 -0700</creation_ts>
          <short_desc>[GTK][AC] Clean up code related with the children management stuff for clutter based AC</short_desc>
          <delta_ts>2013-04-29 07:35:36 -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>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>105699</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="ChangSeok Oh">kevin.cs.oh</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>gustavo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>871575</commentid>
    <comment_count>0</comment_count>
    <who name="ChangSeok Oh">kevin.cs.oh</who>
    <bug_when>2013-04-09 03:02:08 -0700</bug_when>
    <thetext>We have lots of unused functions and variable stuff for clutter based AC.
I want to clean them up here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>878596</commentid>
    <comment_count>1</comment_count>
      <attachid>198904</attachid>
    <who name="ChangSeok Oh">kevin.cs.oh</who>
    <bug_when>2013-04-19 11:49:02 -0700</bug_when>
    <thetext>Created attachment 198904
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>880550</commentid>
    <comment_count>2</comment_count>
      <attachid>198904</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2013-04-24 07:59:41 -0700</bug_when>
    <thetext>Comment on attachment 198904
Patch

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

&gt; Source/WebCore/platform/graphics/clutter/GraphicsLayerClutter.cpp:270
&gt; -        graphicsLayerActorRemoveAll(GRAPHICS_LAYER_ACTOR(actor.get()));
&gt; +        clutter_actor_remove_all_children(actor.get());

I would prefer if you split this in two patches, one dealing with cleaning up the children management stuff and one cleaning up scrolling/translation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>881130</commentid>
    <comment_count>3</comment_count>
      <attachid>199628</attachid>
    <who name="ChangSeok Oh">kevin.cs.oh</who>
    <bug_when>2013-04-25 01:07:11 -0700</bug_when>
    <thetext>Created attachment 199628
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>881136</commentid>
    <comment_count>4</comment_count>
    <who name="ChangSeok Oh">kevin.cs.oh</who>
    <bug_when>2013-04-25 01:12:11 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 198904 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=198904&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/clutter/GraphicsLayerClutter.cpp:270
&gt; &gt; -        graphicsLayerActorRemoveAll(GRAPHICS_LAYER_ACTOR(actor.get()));
&gt; &gt; +        clutter_actor_remove_all_children(actor.get());
&gt; 
&gt; I would prefer if you split this in two patches, one dealing with cleaning up the children management stuff and one cleaning up scrolling/translation.

Yup. I opened a new bug to deal with cleaning up scroll/translation here.
https://bugs.webkit.org/show_bug.cgi?id=115160</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>882556</commentid>
    <comment_count>5</comment_count>
      <attachid>199628</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-04-29 07:35:34 -0700</bug_when>
    <thetext>Comment on attachment 199628
Patch

Clearing flags on attachment: 199628

Committed r149281: &lt;http://trac.webkit.org/changeset/149281&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>882557</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-04-29 07:35:36 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>198904</attachid>
            <date>2013-04-19 11:49:02 -0700</date>
            <delta_ts>2013-04-25 01:07:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-114260-20130420034831.patch</filename>
            <type>text/plain</type>
            <size>18057</size>
            <attacher name="ChangSeok Oh">kevin.cs.oh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ4NzU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjI3OWQ1MmY1MGFjODc3
OWU0MDgwMWM3ZmRmMTBmMmU5ZjllNGNkYi4uOGQzOTk0YmUwYWMxMjExNzZhN2QxZTgxOGY3ZTY0
NzIyZTg0NGNiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEzLTA0LTE5ICBDaGFu
Z1Nlb2sgT2ggIDxjaGFuZ3Nlb2sub2hAY29sbGFib3JhLmNvbT4KKworICAgICAgICBbR1RLXVtB
Q10gQ2xlYW4gdXAgdW51c2VkIGNvZGUgZm9yIGNsdXR0ZXIgYmFzZWQgQUMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNDI2MAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSB1bnVzZWQgb3IgdXNl
bGVzcyBmdW5jdGlvbnMgYW5kIHZhcmlhYmxlcy4KKworICAgICAgICBObyBuZXcgdGVzdHMgc2lu
Y2Ugbm8gZnVuY3Rpb25hbGl0eSBjaGFuZ2VkLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvY2x1dHRlci9HcmFwaGljc0xheWVyQWN0b3IuY3BwOgorICAgICAgICAoX0dyYXBoaWNzTGF5
ZXJBY3RvclByaXZhdGUpOgorICAgICAgICAoZ3JhcGhpY3NfbGF5ZXJfYWN0b3JfY2xhc3NfaW5p
dCk6CisgICAgICAgIChncmFwaGljc0xheWVyQWN0b3JBbGxvY2F0ZSk6CisgICAgICAgIChncmFw
aGljc0xheWVyQWN0b3JBcHBseVRyYW5zZm9ybSk6CisgICAgICAgIChncmFwaGljc0xheWVyQWN0
b3JEcmF3KToKKyAgICAgICAgKGRyYXdMYXllckNvbnRlbnRzKToKKyAgICAgICAgKGdyYXBoaWNz
TGF5ZXJBY3Rvck5ldyk6CisgICAgICAgIChncmFwaGljc0xheWVyQWN0b3JTZXRTdWJsYXllcnMp
OgorICAgICAgICAoZ3JhcGhpY3NMYXllckFjdG9yU2V0RHJhd3NDb250ZW50KToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9jbHV0dGVyL0dyYXBoaWNzTGF5ZXJBY3Rvci5oOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NsdXR0ZXIvR3JhcGhpY3NMYXllckNsdXR0ZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6aWRsZURlc3Ryb3kpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhp
Y3NMYXllckNsdXR0ZXI6OmVuc3VyZVN0cnVjdHVyYWxMYXllcik6CisKIDIwMTMtMDQtMTkgIEFu
ZHJlaSBCdWN1ciAgPGFidWN1ckBhZG9iZS5jb20+CiAKICAgICAgICAgQ29udGFpbmVyTm9kZTo6
cmVtb3ZlQ2hpbGRyZW4gc2hvdWxkIGZpcnN0IGRldGFjaCB0aGUgY2hpbGRyZW4gdGhlbiByZW1v
dmUgdGhlbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2x1
dHRlci9HcmFwaGljc0xheWVyQWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2x1dHRlci9HcmFwaGljc0xheWVyQWN0b3IuY3BwCmluZGV4IGQ2NWQyMmZlMDFhZTFj
Y2RlMmY4NjY1ZjY3MTMyNGIwOGVjMjg3YjUuLmMyNDkzYjBlMDE2NzI0YTFlMzY4MjQ0M2JlNDc4
NDE3ZjIwNmNmNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NsdXR0ZXIvR3JhcGhpY3NMYXllckFjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jbHV0dGVyL0dyYXBoaWNzTGF5ZXJBY3Rvci5jcHAKQEAgLTQwLDM3ICs0
MCwxOCBAQCBHX0RFRklORV9UWVBFKEdyYXBoaWNzTGF5ZXJBY3RvciwgZ3JhcGhpY3NfbGF5ZXJf
YWN0b3IsIENMVVRURVJfVFlQRV9BQ1RPUikKICNkZWZpbmUgR1JBUEhJQ1NfTEFZRVJfQUNUT1Jf
R0VUX1BSSVZBVEUob2JqKSAoR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRFKChvYmopLCBHUkFQ
SElDU19MQVlFUl9UWVBFX0FDVE9SLCBHcmFwaGljc0xheWVyQWN0b3JQcml2YXRlKSkKIAogc3Ry
dWN0IF9HcmFwaGljc0xheWVyQWN0b3JQcml2YXRlIHsKLSAgICBHcmFwaGljc0xheWVyQ2x1dHRl
cjo6TGF5ZXJUeXBlIGxheWVyVHlwZTsKLSAgICBnYm9vbGVhbiBhbGxvY2F0aW5nOwotCisgICAg
UGxhdGZvcm1DbHV0dGVyTGF5ZXJDbGllbnQqIGxheWVyQ2xpZW50OwogICAgIFJlZlB0cjxjYWly
b19zdXJmYWNlX3Q+IHN1cmZhY2U7CiAKLSAgICBQbGF0Zm9ybUNsdXR0ZXJMYXllckNsaWVudCog
bGF5ZXJDbGllbnQ7CisgICAgR3JhcGhpY3NMYXllckNsdXR0ZXI6OkxheWVyVHlwZSBsYXllclR5
cGU7CiAKICAgICBib29sIGZsYXR0ZW47CiAgICAgYm9vbCBkcmF3c0NvbnRlbnQ7Ci0KLSAgICBm
bG9hdCBzY3JvbGxYOwotICAgIGZsb2F0IHNjcm9sbFk7Ci0KLSAgICBmbG9hdCB0cmFuc2xhdGVY
OwotICAgIGZsb2F0IHRyYW5zbGF0ZVk7Ci19OwotCi1lbnVtIHsKLSAgICBQcm9wZXJ0eTAsCi0K
LSAgICBQcm9wZXJ0eVRyYW5zbGF0ZVgsCi0gICAgUHJvcGVydHlUcmFuc2xhdGVZLAotCi0gICAg
UHJvcGVydHlMYXN0CiB9OwogCiBzdGF0aWMgdm9pZCBncmFwaGljc0xheWVyQWN0b3JBbGxvY2F0
ZShDbHV0dGVyQWN0b3IqLCBjb25zdCBDbHV0dGVyQWN0b3JCb3gqLCBDbHV0dGVyQWxsb2NhdGlv
bkZsYWdzKTsKIHN0YXRpYyB2b2lkIGdyYXBoaWNzTGF5ZXJBY3RvckFwcGx5VHJhbnNmb3JtKENs
dXR0ZXJBY3RvciosIENvZ2xNYXRyaXgqKTsKIHN0YXRpYyB2b2lkIGdyYXBoaWNzTGF5ZXJBY3Rv
ckRpc3Bvc2UoR09iamVjdCopOwotc3RhdGljIHZvaWQgZ3JhcGhpY3NMYXllckFjdG9yR2V0UHJv
cGVydHkoR09iamVjdCosIGd1aW50IHByb3BJRCwgR1ZhbHVlKiwgR1BhcmFtU3BlYyopOwotc3Rh
dGljIHZvaWQgZ3JhcGhpY3NMYXllckFjdG9yU2V0UHJvcGVydHkoR09iamVjdCosIGd1aW50IHBy
b3BJRCwgY29uc3QgR1ZhbHVlKiwgR1BhcmFtU3BlYyopOwogc3RhdGljIHZvaWQgZ3JhcGhpY3NM
YXllckFjdG9yUGFpbnQoQ2x1dHRlckFjdG9yKik7CiAKIHN0YXRpYyBnYm9vbGVhbiBncmFwaGlj
c0xheWVyQWN0b3JEcmF3KENsdXR0ZXJDYW52YXMqLCBjYWlyb190KiwgZ2ludCB3aWR0aCwgZ2lu
dCBoZWlnaHQsIEdyYXBoaWNzTGF5ZXJBY3RvciopOwpAQCAtODIsMjAgKzYzLDEzIEBAIHN0YXRp
YyB2b2lkIGdyYXBoaWNzX2xheWVyX2FjdG9yX2NsYXNzX2luaXQoR3JhcGhpY3NMYXllckFjdG9y
Q2xhc3MqIGtsYXNzKQogICAgIEdPYmplY3RDbGFzcyogb2JqZWN0Q2xhc3MgPSBHX09CSkVDVF9D
TEFTUyhrbGFzcyk7CiAgICAgQ2x1dHRlckFjdG9yQ2xhc3MqIGFjdG9yQ2xhc3MgPSBDTFVUVEVS
X0FDVE9SX0NMQVNTKGtsYXNzKTsKIAotICAgIG9iamVjdENsYXNzLT5nZXRfcHJvcGVydHkgPSBn
cmFwaGljc0xheWVyQWN0b3JHZXRQcm9wZXJ0eTsKLSAgICBvYmplY3RDbGFzcy0+c2V0X3Byb3Bl
cnR5ID0gZ3JhcGhpY3NMYXllckFjdG9yU2V0UHJvcGVydHk7CiAgICAgb2JqZWN0Q2xhc3MtPmRp
c3Bvc2UgPSBncmFwaGljc0xheWVyQWN0b3JEaXNwb3NlOwotICAgIGFjdG9yQ2xhc3MtPmFwcGx5
X3RyYW5zZm9ybSA9IGdyYXBoaWNzTGF5ZXJBY3RvckFwcGx5VHJhbnNmb3JtOworCiAgICAgYWN0
b3JDbGFzcy0+YWxsb2NhdGUgPSBncmFwaGljc0xheWVyQWN0b3JBbGxvY2F0ZTsKKyAgICBhY3Rv
ckNsYXNzLT5hcHBseV90cmFuc2Zvcm0gPSBncmFwaGljc0xheWVyQWN0b3JBcHBseVRyYW5zZm9y
bTsKICAgICBhY3RvckNsYXNzLT5wYWludCA9IGdyYXBoaWNzTGF5ZXJBY3RvclBhaW50OwogCiAg
ICAgZ190eXBlX2NsYXNzX2FkZF9wcml2YXRlKGtsYXNzLCBzaXplb2YoR3JhcGhpY3NMYXllckFj
dG9yUHJpdmF0ZSkpOwotCi0gICAgR1BhcmFtU3BlYyogcHNwZWMgPSBnX3BhcmFtX3NwZWNfZmxv
YXQoInRyYW5zbGF0ZS14IiwgIlRyYW5zbGF0ZSBYIiwgIlRyYW5zbGF0aW9uIHZhbHVlIGZvciB0
aGUgWCBheGlzIiwgLUdfTUFYRkxPQVQsIEdfTUFYRkxPQVQsIDAuMCwgc3RhdGljX2Nhc3Q8R1Bh
cmFtRmxhZ3M+KEdfUEFSQU1fUkVBRFdSSVRFKSk7Ci0gICAgZ19vYmplY3RfY2xhc3NfaW5zdGFs
bF9wcm9wZXJ0eShvYmplY3RDbGFzcywgUHJvcGVydHlUcmFuc2xhdGVYLCBwc3BlYyk7Ci0KLSAg
ICBwc3BlYyA9IGdfcGFyYW1fc3BlY19mbG9hdCgidHJhbnNsYXRlLXkiLCAiVHJhbnNsYXRlIFki
LCAiVHJhbnNsYXRpb24gdmFsdWUgZm9yIHRoZSBZIGF5aXMiLCAtR19NQVhGTE9BVCwgR19NQVhG
TE9BVCwgMC4wLCBzdGF0aWNfY2FzdDxHUGFyYW1GbGFncz4oR19QQVJBTV9SRUFEV1JJVEUpKTsK
LSAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KG9iamVjdENsYXNzLCBQcm9wZXJ0
eVRyYW5zbGF0ZVksIHBzcGVjKTsKIH0KIAogc3RhdGljIHZvaWQgZ3JhcGhpY3NfbGF5ZXJfYWN0
b3JfaW5pdChHcmFwaGljc0xheWVyQWN0b3IqIHNlbGYpCkBAIC0xMTAsMzkgKzg0LDYgQEAgc3Rh
dGljIHZvaWQgZ3JhcGhpY3NfbGF5ZXJfYWN0b3JfaW5pdChHcmFwaGljc0xheWVyQWN0b3IqIHNl
bGYpCiAgICAgZ3JhcGhpY3NMYXllckFjdG9yU2V0QW5jaG9yUG9pbnQoc2VsZiwgMC41LCAwLjUs
IDAuMCk7CiB9CiAKLXN0YXRpYyB2b2lkIGdyYXBoaWNzTGF5ZXJBY3RvclNldFByb3BlcnR5KEdP
YmplY3QqIG9iamVjdCwgZ3VpbnQgcHJvcElELCBjb25zdCBHVmFsdWUqIHZhbHVlLCBHUGFyYW1T
cGVjKiBwc3BlYykKLXsKLSAgICBHcmFwaGljc0xheWVyQWN0b3IqIGxheWVyID0gR1JBUEhJQ1Nf
TEFZRVJfQUNUT1Iob2JqZWN0KTsKLQotICAgIHN3aXRjaCAocHJvcElEKSB7Ci0gICAgY2FzZSBQ
cm9wZXJ0eVRyYW5zbGF0ZVg6Ci0gICAgICAgIGdyYXBoaWNzTGF5ZXJBY3RvclNldFRyYW5zbGF0
ZVgobGF5ZXIsIGdfdmFsdWVfZ2V0X2Zsb2F0KHZhbHVlKSk7Ci0gICAgICAgIGJyZWFrOwotICAg
IGNhc2UgUHJvcGVydHlUcmFuc2xhdGVZOgotICAgICAgICBncmFwaGljc0xheWVyQWN0b3JTZXRU
cmFuc2xhdGVZKGxheWVyLCBnX3ZhbHVlX2dldF9mbG9hdCh2YWx1ZSkpOwotICAgICAgICBicmVh
azsKLSAgICBkZWZhdWx0OgotICAgICAgICBHX09CSkVDVF9XQVJOX0lOVkFMSURfUFJPUEVSVFlf
SUQob2JqZWN0LCBwcm9wSUQsIHBzcGVjKTsKLSAgICB9Ci19Ci0KLXN0YXRpYyB2b2lkIGdyYXBo
aWNzTGF5ZXJBY3RvckdldFByb3BlcnR5KEdPYmplY3QqIG9iamVjdCwgZ3VpbnQgcHJvcElELCBH
VmFsdWUqIHZhbHVlLCBHUGFyYW1TcGVjKiBwc3BlYykKLXsKLSAgICBHcmFwaGljc0xheWVyQWN0
b3IqIGxheWVyID0gR1JBUEhJQ1NfTEFZRVJfQUNUT1Iob2JqZWN0KTsKLQotICAgIHN3aXRjaCAo
cHJvcElEKSB7Ci0gICAgY2FzZSBQcm9wZXJ0eVRyYW5zbGF0ZVg6Ci0gICAgICAgIGdfdmFsdWVf
c2V0X2Zsb2F0KHZhbHVlLCBncmFwaGljc0xheWVyQWN0b3JHZXRUcmFuc2xhdGVYKGxheWVyKSk7
Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgUHJvcGVydHlUcmFuc2xhdGVZOgotICAgICAgICBn
X3ZhbHVlX3NldF9mbG9hdCh2YWx1ZSwgZ3JhcGhpY3NMYXllckFjdG9yR2V0VHJhbnNsYXRlWShs
YXllcikpOwotICAgICAgICBicmVhazsKLSAgICBkZWZhdWx0OgotICAgICAgICBHX09CSkVDVF9X
QVJOX0lOVkFMSURfUFJPUEVSVFlfSUQob2JqZWN0LCBwcm9wSUQsIHBzcGVjKTsKLSAgICB9Ci19
Ci0KLQogc3RhdGljIHZvaWQgZ3JhcGhpY3NMYXllckFjdG9yRGlzcG9zZShHT2JqZWN0KiBvYmpl
Y3QpCiB7CiAgICAgR3JhcGhpY3NMYXllckFjdG9yKiBsYXllciA9IEdSQVBISUNTX0xBWUVSX0FD
VE9SKG9iamVjdCk7CkBAIC0xNTgsMTEgKzk5LDYgQEAgc3RhdGljIHZvaWQgZ3JhcGhpY3NMYXll
ckFjdG9yRGlzcG9zZShHT2JqZWN0KiBvYmplY3QpCiAKIHN0YXRpYyB2b2lkIGdyYXBoaWNzTGF5
ZXJBY3RvckFsbG9jYXRlKENsdXR0ZXJBY3Rvciogc2VsZiwgY29uc3QgQ2x1dHRlckFjdG9yQm94
KiBib3gsIENsdXR0ZXJBbGxvY2F0aW9uRmxhZ3MgZmxhZ3MpCiB7Ci0gICAgR3JhcGhpY3NMYXll
ckFjdG9yKiBsYXllciA9IEdSQVBISUNTX0xBWUVSX0FDVE9SKHNlbGYpOwotICAgIEdyYXBoaWNz
TGF5ZXJBY3RvclByaXZhdGUqIHByaXYgPSBsYXllci0+cHJpdjsKLQotICAgIHByaXYtPmFsbG9j
YXRpbmcgPSBUUlVFOwotCiAgICAgQ0xVVFRFUl9BQ1RPUl9DTEFTUyhncmFwaGljc19sYXllcl9h
Y3Rvcl9wYXJlbnRfY2xhc3MpLT5hbGxvY2F0ZShzZWxmLCBib3gsIGZsYWdzKTsKIAogICAgIENs
dXR0ZXJDb250ZW50KiBjYW52YXMgPSBjbHV0dGVyX2FjdG9yX2dldF9jb250ZW50KHNlbGYpOwpA
QCAtMTg2LDI3ICsxMjIsMTQgQEAgc3RhdGljIHZvaWQgZ3JhcGhpY3NMYXllckFjdG9yQWxsb2Nh
dGUoQ2x1dHRlckFjdG9yKiBzZWxmLCBjb25zdCBDbHV0dGVyQWN0b3JCb3gKIAogICAgICAgICBj
bHV0dGVyX2FjdG9yX2FsbG9jYXRlKGNoaWxkQWN0b3IsICZjaGlsZEJveCwgZmxhZ3MpOwogICAg
IH0KLQotICAgIHByaXYtPmFsbG9jYXRpbmcgPSBGQUxTRTsKIH0KIAogc3RhdGljIHZvaWQgZ3Jh
cGhpY3NMYXllckFjdG9yQXBwbHlUcmFuc2Zvcm0oQ2x1dHRlckFjdG9yKiBhY3RvciwgQ29nbE1h
dHJpeCogbWF0cml4KQogewotICAgIEdyYXBoaWNzTGF5ZXJBY3RvclByaXZhdGUqIHByaXYgPSBH
UkFQSElDU19MQVlFUl9BQ1RPUihhY3RvciktPnByaXY7Ci0KLSAgICAvLyBBcHBseSB0cmFuc2xh
dGlvbiBhbmQgc2Nyb2xsaW5nIGFzIGEgc2luZ2xlIHRyYW5zbGF0aW9uLiBUaGVzZQotICAgIC8v
IG5lZWQgdG8gY29tZSBiZWZvcmUgYW55dGhpbmcgZWxzZSwgb3RoZXJ3aXNlIHRoZXknbGwgYmUK
LSAgICAvLyBhZmZlY3RlZCBieSBvdGhlciBvcGVyYXRpb25zIHN1Y2ggYXMgc2NhbGluZywgd2hp
Y2ggaXMgbm90IHdoYXQKLSAgICAvLyB3ZSB3YW50LgotICAgIGZsb2F0IHRyYW5zbGF0ZVggPSBw
cml2LT5zY3JvbGxYICsgcHJpdi0+dHJhbnNsYXRlWDsKLSAgICBmbG9hdCB0cmFuc2xhdGVZID0g
cHJpdi0+c2Nyb2xsWSArIHByaXYtPnRyYW5zbGF0ZVk7Ci0KLSAgICBpZiAodHJhbnNsYXRlWCB8
fCB0cmFuc2xhdGVZKQotICAgICAgICBjb2dsX21hdHJpeF90cmFuc2xhdGUobWF0cml4LCB0cmFu
c2xhdGVYLCB0cmFuc2xhdGVZLCAwKTsKLQogICAgIENvZ2xNYXRyaXggbW9kZWxWaWV3VHJhbnNm
b3JtID0gVHJhbnNmb3JtYXRpb25NYXRyaXgoKTsKICAgICBDTFVUVEVSX0FDVE9SX0NMQVNTKGdy
YXBoaWNzX2xheWVyX2FjdG9yX3BhcmVudF9jbGFzcyktPmFwcGx5X3RyYW5zZm9ybShhY3Rvciwg
Jm1vZGVsVmlld1RyYW5zZm9ybSk7CiAKKyAgICBHcmFwaGljc0xheWVyQWN0b3JQcml2YXRlKiBw
cml2ID0gR1JBUEhJQ1NfTEFZRVJfQUNUT1IoYWN0b3IpLT5wcml2OwogICAgIGlmIChwcml2LT5m
bGF0dGVuKQogICAgICAgICBtb2RlbFZpZXdUcmFuc2Zvcm0gPSBUcmFuc2Zvcm1hdGlvbk1hdHJp
eCgmbW9kZWxWaWV3VHJhbnNmb3JtKS50bzJkVHJhbnNmb3JtKCk7CiAgICAgY29nbF9tYXRyaXhf
bXVsdGlwbHkobWF0cml4LCBtYXRyaXgsICZtb2RlbFZpZXdUcmFuc2Zvcm0pOwpAQCAtMjI0LDEw
ICsxNDcsMTAgQEAgc3RhdGljIGdib29sZWFuIGdyYXBoaWNzTGF5ZXJBY3RvckRyYXcoQ2x1dHRl
ckNhbnZhcyogdGV4dHVyZSwgY2Fpcm9fdCogY3IsIGdpbnQKICAgICBpZiAoIXdpZHRoIHx8ICFo
ZWlnaHQpCiAgICAgICAgIHJldHVybiBGQUxTRTsKIAotICAgIEdyYXBoaWNzTGF5ZXJBY3RvclBy
aXZhdGUqIHByaXYgPSBsYXllci0+cHJpdjsKICAgICBHcmFwaGljc0NvbnRleHQgY29udGV4dChj
cik7CiAgICAgY29udGV4dC5jbGVhclJlY3QoRmxvYXRSZWN0KDAsIDAsIHdpZHRoLCBoZWlnaHQp
KTsKIAorICAgIEdyYXBoaWNzTGF5ZXJBY3RvclByaXZhdGUqIHByaXYgPSBsYXllci0+cHJpdjsK
ICAgICBpZiAocHJpdi0+c3VyZmFjZSkgewogICAgICAgICBnaW50IHN1cmZhY2VXaWR0aCA9IGNh
aXJvX2ltYWdlX3N1cmZhY2VfZ2V0X3dpZHRoKHByaXYtPnN1cmZhY2UuZ2V0KCkpOwogICAgICAg
ICBnaW50IHN1cmZhY2VIZWlnaHQgPSBjYWlyb19pbWFnZV9zdXJmYWNlX2dldF9oZWlnaHQocHJp
di0+c3VyZmFjZS5nZXQoKSk7CkBAIC0yNzQsNyArMTk3LDYgQEAgc3RhdGljIHZvaWQgZ3JhcGhp
Y3NMYXllckFjdG9yVXBkYXRlVGV4dHVyZShHcmFwaGljc0xheWVyQWN0b3IqIGxheWVyKQogc3Rh
dGljIHZvaWQgZHJhd0xheWVyQ29udGVudHMoQ2x1dHRlckFjdG9yKiBhY3RvciwgR3JhcGhpY3ND
b250ZXh0JiBjb250ZXh0KQogewogICAgIEdyYXBoaWNzTGF5ZXJBY3RvclByaXZhdGUqIHByaXYg
PSBHUkFQSElDU19MQVlFUl9BQ1RPUihhY3RvciktPnByaXY7Ci0KICAgICBpZiAoIXByaXYtPmRy
YXdzQ29udGVudCB8fCAhcHJpdi0+bGF5ZXJDbGllbnQpCiAgICAgICAgIHJldHVybjsKIApAQCAt
Mjg3LDcgKzIwOSw3IEBAIHN0YXRpYyB2b2lkIGRyYXdMYXllckNvbnRlbnRzKENsdXR0ZXJBY3Rv
ciogYWN0b3IsIEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCkKIH0KIAogCi1HcmFwaGljc0xheWVy
QWN0b3IqIGdyYXBoaWNzTGF5ZXJBY3Rvck5ldyhHcmFwaGljc0xheWVyQ2x1dHRlcjo6TGF5ZXJU
eXBlIHR5cGUpCitzdGF0aWMgR3JhcGhpY3NMYXllckFjdG9yKiBncmFwaGljc0xheWVyQWN0b3JO
ZXcoR3JhcGhpY3NMYXllckNsdXR0ZXI6OkxheWVyVHlwZSB0eXBlKQogewogICAgIEdyYXBoaWNz
TGF5ZXJBY3RvciogbGF5ZXIgPSBHUkFQSElDU19MQVlFUl9BQ1RPUihnX29iamVjdF9uZXcoR1JB
UEhJQ1NfTEFZRVJfVFlQRV9BQ1RPUiwgMCkpOwogICAgIEdyYXBoaWNzTGF5ZXJBY3RvclByaXZh
dGUqIHByaXYgPSBsYXllci0+cHJpdjsKQEAgLTMxNywyMCArMjM5LDYgQEAgUGxhdGZvcm1DbHV0
dGVyTGF5ZXJDbGllbnQqIGdyYXBoaWNzTGF5ZXJBY3RvckdldENsaWVudChHcmFwaGljc0xheWVy
QWN0b3IqIGxheWUKICAgICByZXR1cm4gbGF5ZXItPnByaXYtPmxheWVyQ2xpZW50OwogfQogCi12
b2lkIGdyYXBoaWNzTGF5ZXJBY3RvclJlbW92ZUFsbChHcmFwaGljc0xheWVyQWN0b3IqIGxheWVy
KQotewotICAgIGdfcmV0dXJuX2lmX2ZhaWwoR1JBUEhJQ1NfTEFZRVJfSVNfQUNUT1IobGF5ZXIp
KTsKLQotICAgIGNsdXR0ZXJfYWN0b3JfcmVtb3ZlX2FsbF9jaGlsZHJlbihDTFVUVEVSX0FDVE9S
KGxheWVyKSk7Ci19Ci0KLWNhaXJvX3N1cmZhY2VfdCogZ3JhcGhpY3NMYXllckFjdG9yR2V0U3Vy
ZmFjZShHcmFwaGljc0xheWVyQWN0b3IqIGxheWVyKQotewotICAgIEdyYXBoaWNzTGF5ZXJBY3Rv
clByaXZhdGUqIHByaXYgPSBsYXllci0+cHJpdjsKLSAgICBBU1NFUlQocHJpdi0+c3VyZmFjZSk7
Ci0gICAgcmV0dXJuIHByaXYtPnN1cmZhY2UuZ2V0KCk7Ci19Ci0KIHZvaWQgZ3JhcGhpY3NMYXll
ckFjdG9yU2V0U3VyZmFjZShHcmFwaGljc0xheWVyQWN0b3IqIGxheWVyLCBjYWlyb19zdXJmYWNl
X3QqIHN1cmZhY2UpCiB7CiAgICAgR3JhcGhpY3NMYXllckFjdG9yUHJpdmF0ZSogcHJpdiA9IGxh
eWVyLT5wcml2OwpAQCAtMzU1LDU2ICsyNjMsMTAgQEAgdm9pZCBncmFwaGljc0xheWVyQWN0b3JT
ZXRBbmNob3JQb2ludChHcmFwaGljc0xheWVyQWN0b3IqIGxheWVyLCBmbG9hdCB4LCBmbG9hdAog
ICAgIGNsdXR0ZXJfYWN0b3Jfc2V0X3Bpdm90X3BvaW50X3ooYWN0b3IsIHopOwogfQogCi12b2lk
IGdyYXBoaWNzTGF5ZXJBY3RvckdldEFuY2hvclBvaW50KEdyYXBoaWNzTGF5ZXJBY3RvciogbGF5
ZXIsIGZsb2F0KiB4LCBmbG9hdCogeSwgZmxvYXQqIHopCi17Ci0gICAgQVNTRVJUKHggJiYgeSk7
Ci0KLSAgICBDbHV0dGVyQWN0b3IqIGFjdG9yID0gQ0xVVFRFUl9BQ1RPUihsYXllcik7Ci0gICAg
Y2x1dHRlcl9hY3Rvcl9nZXRfcGl2b3RfcG9pbnQoYWN0b3IsIHgsIHkpOwotICAgIGlmICh6KQot
ICAgICAgICAqeiA9IGNsdXR0ZXJfYWN0b3JfZ2V0X3Bpdm90X3BvaW50X3ooYWN0b3IpOwotfQot
Ci12b2lkIGdyYXBoaWNzTGF5ZXJBY3RvclNldFNjcm9sbFBvc2l0aW9uKEdyYXBoaWNzTGF5ZXJB
Y3RvciogbGF5ZXIsIGZsb2F0IHgsIGZsb2F0IHkpCi17Ci0gICAgaWYgKHggPiAwIHx8IHkgPiAw
KQotICAgICAgICByZXR1cm47Ci0KLSAgICBHcmFwaGljc0xheWVyQWN0b3JQcml2YXRlKiBwcml2
ID0gbGF5ZXItPnByaXY7Ci0gICAgcHJpdi0+c2Nyb2xsWCA9IHg7Ci0gICAgcHJpdi0+c2Nyb2xs
WSA9IHk7Ci0KLSAgICBjbHV0dGVyX2FjdG9yX3F1ZXVlX3JlZHJhdyhDTFVUVEVSX0FDVE9SKGxh
eWVyKSk7Ci19Ci0KLWdpbnQgZ3JhcGhpY3NMYXllckFjdG9yR2V0bkNoaWxkcmVuKEdyYXBoaWNz
TGF5ZXJBY3RvciogbGF5ZXIpCi17Ci0gICAgQVNTRVJUKEdSQVBISUNTX0xBWUVSX0lTX0FDVE9S
KGxheWVyKSk7Ci0KLSAgICByZXR1cm4gY2x1dHRlcl9hY3Rvcl9nZXRfbl9jaGlsZHJlbihDTFVU
VEVSX0FDVE9SKGxheWVyKSk7Ci19Ci0KLXZvaWQgZ3JhcGhpY3NMYXllckFjdG9yUmVwbGFjZVN1
YmxheWVyKEdyYXBoaWNzTGF5ZXJBY3RvciogbGF5ZXIsIENsdXR0ZXJBY3Rvciogb2xkQ2hpbGRM
YXllciwgQ2x1dHRlckFjdG9yKiBuZXdDaGlsZExheWVyKQotewotICAgIEFTU0VSVChHUkFQSElD
U19MQVlFUl9JU19BQ1RPUihsYXllcikpOwotICAgIEFTU0VSVChDTFVUVEVSX0lTX0FDVE9SKG9s
ZENoaWxkTGF5ZXIpKTsKLSAgICBBU1NFUlQoQ0xVVFRFUl9JU19BQ1RPUihuZXdDaGlsZExheWVy
KSk7Ci0KLSAgICBjbHV0dGVyX2FjdG9yX3JlcGxhY2VfY2hpbGQoQ0xVVFRFUl9BQ1RPUihsYXll
ciksIG9sZENoaWxkTGF5ZXIsIG5ld0NoaWxkTGF5ZXIpOwotfQotCi12b2lkIGdyYXBoaWNzTGF5
ZXJBY3Rvckluc2VydFN1YmxheWVyKEdyYXBoaWNzTGF5ZXJBY3RvciogbGF5ZXIsIENsdXR0ZXJB
Y3RvciogY2hpbGRMYXllciwgZ2ludCBpbmRleCkKLXsKLSAgICBBU1NFUlQoR1JBUEhJQ1NfTEFZ
RVJfSVNfQUNUT1IobGF5ZXIpKTsKLSAgICBBU1NFUlQoQ0xVVFRFUl9JU19BQ1RPUihjaGlsZExh
eWVyKSk7Ci0KLSAgICBjbHV0dGVyX2FjdG9yX2luc2VydF9jaGlsZF9hdF9pbmRleChDTFVUVEVS
X0FDVE9SKGxheWVyKSwgY2hpbGRMYXllciwgaW5kZXgpOwotfQotCiB2b2lkIGdyYXBoaWNzTGF5
ZXJBY3RvclNldFN1YmxheWVycyhHcmFwaGljc0xheWVyQWN0b3IqIGxheWVyLCBHcmFwaGljc0xh
eWVyQWN0b3JMaXN0JiBzdWJMYXllcnMpCiB7Ci0gICAgaWYgKCFzdWJMYXllcnMuc2l6ZSgpKSB7
Ci0gICAgICAgIGdyYXBoaWNzTGF5ZXJBY3RvclJlbW92ZUFsbChsYXllcik7CisgICAgaWYgKHN1
YkxheWVycy5pc0VtcHR5KCkpIHsKKyAgICAgICAgY2x1dHRlcl9hY3Rvcl9yZW1vdmVfYWxsX2No
aWxkcmVuKENMVVRURVJfQUNUT1IobGF5ZXIpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApA
QCAtNDQzLDM2ICszMDUsOSBAQCB2b2lkIGdyYXBoaWNzTGF5ZXJBY3RvclNldExheWVyVHlwZShH
cmFwaGljc0xheWVyQWN0b3IqIGxheWVyLCBHcmFwaGljc0xheWVyQ2x1dAogICAgIHByaXYtPmxh
eWVyVHlwZSA9IGxheWVyVHlwZTsKIH0KIAotdm9pZCBncmFwaGljc0xheWVyQWN0b3JTZXRUcmFu
c2xhdGVYKEdyYXBoaWNzTGF5ZXJBY3RvciogbGF5ZXIsIGZsb2F0IHZhbHVlKQotewotICAgIEdy
YXBoaWNzTGF5ZXJBY3RvclByaXZhdGUqIHByaXYgPSBsYXllci0+cHJpdjsKLSAgICBwcml2LT50
cmFuc2xhdGVYID0gdmFsdWU7Ci0gICAgY2x1dHRlcl9hY3Rvcl9xdWV1ZV9yZWRyYXcoQ0xVVFRF
Ul9BQ1RPUihsYXllcikpOwotfQotCi1mbG9hdCBncmFwaGljc0xheWVyQWN0b3JHZXRUcmFuc2xh
dGVYKEdyYXBoaWNzTGF5ZXJBY3RvciogbGF5ZXIpCi17Ci0gICAgR3JhcGhpY3NMYXllckFjdG9y
UHJpdmF0ZSogcHJpdiA9IGxheWVyLT5wcml2OwotICAgIHJldHVybiBwcml2LT50cmFuc2xhdGVY
OwotfQotCi12b2lkIGdyYXBoaWNzTGF5ZXJBY3RvclNldFRyYW5zbGF0ZVkoR3JhcGhpY3NMYXll
ckFjdG9yKiBsYXllciwgZmxvYXQgdmFsdWUpCi17Ci0gICAgR3JhcGhpY3NMYXllckFjdG9yUHJp
dmF0ZSogcHJpdiA9IGxheWVyLT5wcml2OwotICAgIHByaXYtPnRyYW5zbGF0ZVkgPSB2YWx1ZTsK
LSAgICBjbHV0dGVyX2FjdG9yX3F1ZXVlX3JlZHJhdyhDTFVUVEVSX0FDVE9SKGxheWVyKSk7Ci19
Ci0KLWZsb2F0IGdyYXBoaWNzTGF5ZXJBY3RvckdldFRyYW5zbGF0ZVkoR3JhcGhpY3NMYXllckFj
dG9yKiBsYXllcikKLXsKLSAgICBHcmFwaGljc0xheWVyQWN0b3JQcml2YXRlKiBwcml2ID0gbGF5
ZXItPnByaXY7Ci0gICAgcmV0dXJuIHByaXYtPnRyYW5zbGF0ZVk7Ci19Ci0KIHZvaWQgZ3JhcGhp
Y3NMYXllckFjdG9yU2V0RHJhd3NDb250ZW50KEdyYXBoaWNzTGF5ZXJBY3RvciogbGF5ZXIsIGJv
b2wgZHJhd3NDb250ZW50KQogewogICAgIEdyYXBoaWNzTGF5ZXJBY3RvclByaXZhdGUqIHByaXYg
PSBsYXllci0+cHJpdjsKLQogICAgIGlmIChkcmF3c0NvbnRlbnQgPT0gcHJpdi0+ZHJhd3NDb250
ZW50KQogICAgICAgICByZXR1cm47CiAKQEAgLTQ4MSwxMSArMzE2LDYgQEAgdm9pZCBncmFwaGlj
c0xheWVyQWN0b3JTZXREcmF3c0NvbnRlbnQoR3JhcGhpY3NMYXllckFjdG9yKiBsYXllciwgYm9v
bCBkcmF3c0NvbnQKICAgICBncmFwaGljc0xheWVyQWN0b3JVcGRhdGVUZXh0dXJlKGxheWVyKTsK
IH0KIAotZ2Jvb2xlYW4gZ3JhcGhpY3NMYXllckFjdG9yR2V0RHJhd3NDb250ZW50KEdyYXBoaWNz
TGF5ZXJBY3RvciogbGF5ZXIpCi17Ci0gICAgcmV0dXJuIGxheWVyLT5wcml2LT5kcmF3c0NvbnRl
bnQ7Ci19Ci0KIHZvaWQgZ3JhcGhpY3NMYXllckFjdG9yU2V0RmxhdHRlbihHcmFwaGljc0xheWVy
QWN0b3IqIGxheWVyLCBib29sIGZsYXR0ZW4pCiB7CiAgICAgR3JhcGhpY3NMYXllckFjdG9yUHJp
dmF0ZSogcHJpdiA9IGxheWVyLT5wcml2OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2x1dHRlci9HcmFwaGljc0xheWVyQWN0b3IuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NsdXR0ZXIvR3JhcGhpY3NMYXllckFjdG9yLmgKaW5kZXgg
YWNmYmQ4YmQzNzJlNmQwMjU4Njk5MDY1ZDJmMmE2MzNmMzAyNmFhNC4uNWQ3Mjk5ZWM0ODE5NmY1
Yjg5ZTNiNzkxMWFjMzVjMmEyMzVlYmJlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2x1dHRlci9HcmFwaGljc0xheWVyQWN0b3IuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jbHV0dGVyL0dyYXBoaWNzTGF5ZXJBY3Rvci5oCkBA
IC0xNyw4ICsxNyw4IEBACiAgKgogICovCiAKLSNpZm5kZWYgR3JhcGhpY3NMYXllckFjdG9yX2gg
Ci0jZGVmaW5lIEdyYXBoaWNzTGF5ZXJBY3Rvcl9oIAorI2lmbmRlZiBHcmFwaGljc0xheWVyQWN0
b3JfaAorI2RlZmluZSBHcmFwaGljc0xheWVyQWN0b3JfaAogCiAjaWYgVVNFKEFDQ0VMRVJBVEVE
X0NPTVBPU0lUSU5HKQogCkBAIC03MiwzMSArNzIsMjQgQEAgc3RydWN0IF9HcmFwaGljc0xheWVy
QWN0b3JDbGFzcyB7CiAKIEdUeXBlIGdyYXBoaWNzX2xheWVyX2FjdG9yX2dldF90eXBlKHZvaWQp
IEdfR05VQ19DT05TVDsKIAotR3JhcGhpY3NMYXllckFjdG9yKiBncmFwaGljc0xheWVyQWN0b3JO
ZXcoV2ViQ29yZTo6R3JhcGhpY3NMYXllckNsdXR0ZXI6OkxheWVyVHlwZSk7CiBHcmFwaGljc0xh
eWVyQWN0b3IqIGdyYXBoaWNzTGF5ZXJBY3Rvck5ld1dpdGhDbGllbnQoV2ViQ29yZTo6R3JhcGhp
Y3NMYXllckNsdXR0ZXI6OkxheWVyVHlwZSwgV2ViQ29yZTo6UGxhdGZvcm1DbHV0dGVyTGF5ZXJD
bGllbnQqKTsKLXZvaWQgZ3JhcGhpY3NMYXllckFjdG9yU2V0Q2xpZW50KEdyYXBoaWNzTGF5ZXJB
Y3RvciosIFdlYkNvcmU6OlBsYXRmb3JtQ2x1dHRlckxheWVyQ2xpZW50Kik7CisKK1dlYkNvcmU6
OkdyYXBoaWNzTGF5ZXJDbHV0dGVyOjpMYXllclR5cGUgZ3JhcGhpY3NMYXllckFjdG9yR2V0TGF5
ZXJUeXBlKEdyYXBoaWNzTGF5ZXJBY3RvciopOwordm9pZCBncmFwaGljc0xheWVyQWN0b3JTZXRM
YXllclR5cGUoR3JhcGhpY3NMYXllckFjdG9yKiwgV2ViQ29yZTo6R3JhcGhpY3NMYXllckNsdXR0
ZXI6OkxheWVyVHlwZSk7CisKIFdlYkNvcmU6OlBsYXRmb3JtQ2x1dHRlckxheWVyQ2xpZW50KiBn
cmFwaGljc0xheWVyQWN0b3JHZXRDbGllbnQoR3JhcGhpY3NMYXllckFjdG9yKik7Ci12b2lkIGdy
YXBoaWNzTGF5ZXJBY3RvclJlbW92ZUFsbChHcmFwaGljc0xheWVyQWN0b3IqKTsKLWNhaXJvX3N1
cmZhY2VfdCogZ3JhcGhpY3NMYXllckFjdG9yR2V0U3VyZmFjZShHcmFwaGljc0xheWVyQWN0b3Iq
KTsKLXZvaWQgZ3JhcGhpY3NMYXllckFjdG9yU2V0U3VyZmFjZShHcmFwaGljc0xheWVyQWN0b3Iq
LCBjYWlyb19zdXJmYWNlX3QqKTsKK3ZvaWQgZ3JhcGhpY3NMYXllckFjdG9yU2V0Q2xpZW50KEdy
YXBoaWNzTGF5ZXJBY3RvciosIFdlYkNvcmU6OlBsYXRmb3JtQ2x1dHRlckxheWVyQ2xpZW50Kik7
CisKIHZvaWQgZ3JhcGhpY3NMYXllckFjdG9ySW52YWxpZGF0ZVJlY3RhbmdsZShHcmFwaGljc0xh
eWVyQWN0b3IqLCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmKTsKLXZvaWQgZ3JhcGhpY3NMYXll
ckFjdG9yU2V0QW5jaG9yUG9pbnQoR3JhcGhpY3NMYXllckFjdG9yKiwgZmxvYXQsIGZsb2F0LCBm
bG9hdCk7Ci12b2lkIGdyYXBoaWNzTGF5ZXJBY3RvckdldEFuY2hvclBvaW50KEdyYXBoaWNzTGF5
ZXJBY3RvciosIGZsb2F0KiwgZmxvYXQqLCBmbG9hdCopOwotdm9pZCBncmFwaGljc0xheWVyQWN0
b3JTZXRTY3JvbGxQb3NpdGlvbihHcmFwaGljc0xheWVyQWN0b3IqLCBmbG9hdCwgZmxvYXQpOyAK
LXZvaWQgZ3JhcGhpY3NMYXllckFjdG9yU2V0VHJhbnNsYXRlWChHcmFwaGljc0xheWVyQWN0b3Iq
LCBmbG9hdCk7Ci1mbG9hdCBncmFwaGljc0xheWVyQWN0b3JHZXRUcmFuc2xhdGVYKEdyYXBoaWNz
TGF5ZXJBY3RvciopOwotdm9pZCBncmFwaGljc0xheWVyQWN0b3JTZXRUcmFuc2xhdGVZKEdyYXBo
aWNzTGF5ZXJBY3RvciosIGZsb2F0KTsKLWZsb2F0IGdyYXBoaWNzTGF5ZXJBY3RvckdldFRyYW5z
bGF0ZVkoR3JhcGhpY3NMYXllckFjdG9yKik7Ci1naW50IGdyYXBoaWNzTGF5ZXJBY3RvckdldG5D
aGlsZHJlbihHcmFwaGljc0xheWVyQWN0b3IqKTsKKwogdm9pZCBncmFwaGljc0xheWVyQWN0b3JS
ZW1vdmVGcm9tU3VwZXJMYXllcihHcmFwaGljc0xheWVyQWN0b3IqKTsKLVdlYkNvcmU6OkdyYXBo
aWNzTGF5ZXJDbHV0dGVyOjpMYXllclR5cGUgZ3JhcGhpY3NMYXllckFjdG9yR2V0TGF5ZXJUeXBl
KEdyYXBoaWNzTGF5ZXJBY3RvciopOwotdm9pZCBncmFwaGljc0xheWVyQWN0b3JTZXRMYXllclR5
cGUoR3JhcGhpY3NMYXllckFjdG9yKiwgV2ViQ29yZTo6R3JhcGhpY3NMYXllckNsdXR0ZXI6Okxh
eWVyVHlwZSk7Ci12b2lkIGdyYXBoaWNzTGF5ZXJBY3RvclJlcGxhY2VTdWJsYXllcihHcmFwaGlj
c0xheWVyQWN0b3IqLCBDbHV0dGVyQWN0b3IqLCBDbHV0dGVyQWN0b3IqKTsKLXZvaWQgZ3JhcGhp
Y3NMYXllckFjdG9yU2V0U3VibGF5ZXJzKEdyYXBoaWNzTGF5ZXJBY3RvciosIFdlYkNvcmU6Okdy
YXBoaWNzTGF5ZXJBY3Rvckxpc3QmKTsKLWdib29sZWFuIGdyYXBoaWNzTGF5ZXJBY3RvckdldERy
YXdzQ29udGVudChHcmFwaGljc0xheWVyQWN0b3IqKTsKKwordm9pZCBncmFwaGljc0xheWVyQWN0
b3JTZXRBbmNob3JQb2ludChHcmFwaGljc0xheWVyQWN0b3IqLCBmbG9hdCwgZmxvYXQsIGZsb2F0
KTsKIHZvaWQgZ3JhcGhpY3NMYXllckFjdG9yU2V0RHJhd3NDb250ZW50KEdyYXBoaWNzTGF5ZXJB
Y3RvciosIGJvb2wgZHJhd3NDb250ZW50KTsKIHZvaWQgZ3JhcGhpY3NMYXllckFjdG9yU2V0Rmxh
dHRlbihHcmFwaGljc0xheWVyQWN0b3IqLCBib29sIGZsYXR0ZW4pOwogdm9pZCBncmFwaGljc0xh
eWVyQWN0b3JTZXRNYXNrc1RvQm91bmRzKEdyYXBoaWNzTGF5ZXJBY3RvciosIGJvb2wgbWFza3NU
b0JvdW5kcyk7Cit2b2lkIGdyYXBoaWNzTGF5ZXJBY3RvclNldFN1YmxheWVycyhHcmFwaGljc0xh
eWVyQWN0b3IqLCBXZWJDb3JlOjpHcmFwaGljc0xheWVyQWN0b3JMaXN0Jik7Cit2b2lkIGdyYXBo
aWNzTGF5ZXJBY3RvclNldFN1cmZhY2UoR3JhcGhpY3NMYXllckFjdG9yKiwgY2Fpcm9fc3VyZmFj
ZV90Kik7CiAKIFdlYkNvcmU6OlBsYXRmb3JtQ2x1dHRlckFuaW1hdGlvbiogZ3JhcGhpY3NMYXll
ckFjdG9yR2V0QW5pbWF0aW9uRm9yS2V5KEdyYXBoaWNzTGF5ZXJBY3RvciosIGNvbnN0IFN0cmlu
Zyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NsdXR0
ZXIvR3JhcGhpY3NMYXllckNsdXR0ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2x1dHRlci9HcmFwaGljc0xheWVyQ2x1dHRlci5jcHAKaW5kZXggNzQ4MzE4ZWNiN2U0
NDBmYWQwZDFjY2VhNDlkZTE1OGMxYjVmOWQ1YS4uYmEwNjQ5MzZiYTM3MWMxOWMyOTVjMWM3Y2Ji
YWZhYmMwODE3OTA4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2x1dHRlci9HcmFwaGljc0xheWVyQ2x1dHRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2x1dHRlci9HcmFwaGljc0xheWVyQ2x1dHRlci5jcHAKQEAgLTI2
NCwxMCArMjY0LDEwIEBAIHN0YXRpYyBnYm9vbGVhbiBpZGxlRGVzdHJveShncG9pbnRlciBkYXRh
KQogICAgIEdSZWZQdHI8Q2x1dHRlckFjdG9yPiBhY3RvciA9IGFkb3B0R1JlZihDTFVUVEVSX0FD
VE9SKGRhdGEpKTsKICAgICBDbHV0dGVyQWN0b3IqIHBhcmVudCA9IGNsdXR0ZXJfYWN0b3JfZ2V0
X3BhcmVudChhY3Rvci5nZXQoKSk7CiAKLSAgICAvLyBXZSBzaG91bGQgcmVtb3ZlIGNoaWxkIGFj
dG9ycyBtYW51YWxseSBiZWNhdXNlIHRoZSBjb250YWluZXIgb2YgQ2x1dHRlciAKLSAgICAvLyBz
ZWVtcyB0byBoYXZlIGEgYnVnIHRvIHJlbW92ZSBpdHMgY2hpbGQgYWN0b3JzIHdoZW4gaXQgaXMg
cmVtb3ZlZC4gCisgICAgLy8gV2Ugc2hvdWxkIHJlbW92ZSBjaGlsZCBhY3RvcnMgbWFudWFsbHkg
YmVjYXVzZSB0aGUgY29udGFpbmVyIG9mIENsdXR0ZXIKKyAgICAvLyBzZWVtcyB0byBoYXZlIGEg
YnVnIHRvIHJlbW92ZSBpdHMgY2hpbGQgYWN0b3JzIHdoZW4gaXQgaXMgcmVtb3ZlZC4KICAgICBp
ZiAoR1JBUEhJQ1NfTEFZRVJfSVNfQUNUT1IoR1JBUEhJQ1NfTEFZRVJfQUNUT1IoYWN0b3IuZ2V0
KCkpKSkKLSAgICAgICAgZ3JhcGhpY3NMYXllckFjdG9yUmVtb3ZlQWxsKEdSQVBISUNTX0xBWUVS
X0FDVE9SKGFjdG9yLmdldCgpKSk7CisgICAgICAgIGNsdXR0ZXJfYWN0b3JfcmVtb3ZlX2FsbF9j
aGlsZHJlbihhY3Rvci5nZXQoKSk7CiAKICAgICBpZiAocGFyZW50KQogICAgICAgICBjbHV0dGVy
X2FjdG9yX3JlbW92ZV9jaGlsZChwYXJlbnQsIGFjdG9yLmdldCgpKTsKQEAgLTkwMiw3ICs5MDIs
NyBAQCB2b2lkIEdyYXBoaWNzTGF5ZXJDbHV0dGVyOjplbnN1cmVTdHJ1Y3R1cmFsTGF5ZXIoU3Ry
dWN0dXJhbExheWVyUHVycG9zZSBwdXJwb3NlKQogICAgICAgICAgICAgLy8gaXMgbGlrZWx5IGhv
c3RlZCBieSBzb21ldGhpbmcgdGhhdCBpcyBub3QgZXhwZWN0aW5nIHRvIGJlIGNoYW5nZWQKICAg
ICAgICAgICAgIENsdXR0ZXJBY3RvciogcGFyZW50QWN0b3IgPSBjbHV0dGVyX2FjdG9yX2dldF9w
YXJlbnQoQ0xVVFRFUl9BQ1RPUihtX3N0cnVjdHVyYWxMYXllci5nZXQoKSkpOwogICAgICAgICAg
ICAgQVNTRVJUKHBhcmVudEFjdG9yKTsKLSAgICAgICAgICAgIGdyYXBoaWNzTGF5ZXJBY3RvclJl
cGxhY2VTdWJsYXllcihHUkFQSElDU19MQVlFUl9BQ1RPUihwYXJlbnRBY3RvciksIENMVVRURVJf
QUNUT1IobV9zdHJ1Y3R1cmFsTGF5ZXIuZ2V0KCkpLCBDTFVUVEVSX0FDVE9SKG1fbGF5ZXIuZ2V0
KCkpKTsKKyAgICAgICAgICAgIGNsdXR0ZXJfYWN0b3JfcmVwbGFjZV9jaGlsZChwYXJlbnRBY3Rv
ciwgQ0xVVFRFUl9BQ1RPUihtX3N0cnVjdHVyYWxMYXllci5nZXQoKSksIENMVVRURVJfQUNUT1Io
bV9sYXllci5nZXQoKSkpOwogCiAgICAgICAgICAgICBtb3ZlT3JDb3B5QW5pbWF0aW9ucyhNb3Zl
LCBtX3N0cnVjdHVyYWxMYXllci5nZXQoKSwgbV9sYXllci5nZXQoKSk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>199628</attachid>
            <date>2013-04-25 01:07:11 -0700</date>
            <delta_ts>2013-04-29 07:35:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-114260-20130425170633.patch</filename>
            <type>text/plain</type>
            <size>13918</size>
            <attacher name="ChangSeok Oh">kevin.cs.oh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ5MDkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTI4OTU5ODE1NjA3ZTU4
OWZmNDJhMjliMmIyZjBjZmMxNGU5ZmU4Yy4uNDAzZjFlMDQzYjE5YzhhODZjMDliOTFmMjM1YWQ3
MmFkN2VmNzY5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEzLTA0LTI1ICBDaGFu
Z1Nlb2sgT2ggIDxjaGFuZ3Nlb2sub2hAY29sbGFib3JhLmNvbT4KKworICAgICAgICBbR1RLXVtB
Q10gQ2xlYW4gdXAgY29kZSByZWxhdGVkIHdpdGggdGhlIGNoaWxkcmVuIG1hbmFnZW1lbnQgc3R1
ZmYgZm9yIGNsdXR0ZXIgYmFzZWQgQUMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTExNDI2MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFJlbW92ZSB1bnVzZWQgb3IgdXNsZXNzIGNvZGUgZm9yIGNoaWxkcmVu
IG1hbmFnZW1lbnQgc3R1ZmYuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIHNpbmNlIG5vIGZ1bmN0
aW9uYWxpdHkgY2hhbmdlZC4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NsdXR0ZXIv
R3JhcGhpY3NMYXllckFjdG9yLmNwcDoKKyAgICAgICAgKF9HcmFwaGljc0xheWVyQWN0b3JQcml2
YXRlKToKKyAgICAgICAgKGdyYXBoaWNzX2xheWVyX2FjdG9yX2NsYXNzX2luaXQpOgorICAgICAg
ICAoZ3JhcGhpY3NMYXllckFjdG9yQWxsb2NhdGUpOgorICAgICAgICAoZ3JhcGhpY3NMYXllckFj
dG9yRHJhdyk6CisgICAgICAgIChncmFwaGljc0xheWVyQWN0b3JOZXcpOgorICAgICAgICAoZ3Jh
cGhpY3NMYXllckFjdG9yU2V0U3VibGF5ZXJzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9jbHV0dGVyL0dyYXBoaWNzTGF5ZXJBY3Rvci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2NsdXR0ZXIvR3JhcGhpY3NMYXllckNsdXR0ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
aWRsZURlc3Ryb3kpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckNsdXR0ZXI6OmVu
c3VyZVN0cnVjdHVyYWxMYXllcik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyQ2x1
dHRlcjo6dXBkYXRlTGF5ZXJEcmF3c0NvbnRlbnQpOgorCiAyMDEzLTA0LTI0ICBUaW0gSG9ydG9u
ICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIFBERlBsdWdpbjogQ3Vyc29y
IHNob3VsZCBiZWNvbWUgYW4gaS1iZWFtIHdoZW4gb3ZlciBzZWxlY3RhYmxlIHRleHQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NsdXR0ZXIvR3JhcGhpY3NM
YXllckFjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NsdXR0ZXIv
R3JhcGhpY3NMYXllckFjdG9yLmNwcAppbmRleCA4MzkyYTBmZDQyYmMxYmM5YTY0MWE0OTU3OTgz
ZTM4OGM0Y2Y2OTc2Li40YWJmODZlYThmODRmMDM2MWMwN2NlMjQ5ODBiNWE2MjdjYzVkMmVmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jbHV0dGVyL0dyYXBo
aWNzTGF5ZXJBY3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2x1dHRlci9HcmFwaGljc0xheWVyQWN0b3IuY3BwCkBAIC00MCwxMiArNDAsMTAgQEAgR19ERUZJ
TkVfVFlQRShHcmFwaGljc0xheWVyQWN0b3IsIGdyYXBoaWNzX2xheWVyX2FjdG9yLCBDTFVUVEVS
X1RZUEVfQUNUT1IpCiAjZGVmaW5lIEdSQVBISUNTX0xBWUVSX0FDVE9SX0dFVF9QUklWQVRFKG9i
aikgKEdfVFlQRV9JTlNUQU5DRV9HRVRfUFJJVkFURSgob2JqKSwgR1JBUEhJQ1NfTEFZRVJfVFlQ
RV9BQ1RPUiwgR3JhcGhpY3NMYXllckFjdG9yUHJpdmF0ZSkpCiAKIHN0cnVjdCBfR3JhcGhpY3NM
YXllckFjdG9yUHJpdmF0ZSB7Ci0gICAgR3JhcGhpY3NMYXllckNsdXR0ZXI6OkxheWVyVHlwZSBs
YXllclR5cGU7Ci0gICAgZ2Jvb2xlYW4gYWxsb2NhdGluZzsKLQorICAgIFBsYXRmb3JtQ2x1dHRl
ckxheWVyQ2xpZW50KiBsYXllckNsaWVudDsKICAgICBSZWZQdHI8Y2Fpcm9fc3VyZmFjZV90PiBz
dXJmYWNlOwogCi0gICAgUGxhdGZvcm1DbHV0dGVyTGF5ZXJDbGllbnQqIGxheWVyQ2xpZW50Owor
ICAgIEdyYXBoaWNzTGF5ZXJDbHV0dGVyOjpMYXllclR5cGUgbGF5ZXJUeXBlOwogCiAgICAgYm9v
bCBmbGF0dGVuOwogICAgIGJvb2wgZHJhd3NDb250ZW50OwpAQCAtODUsOCArODMsOSBAQCBzdGF0
aWMgdm9pZCBncmFwaGljc19sYXllcl9hY3Rvcl9jbGFzc19pbml0KEdyYXBoaWNzTGF5ZXJBY3Rv
ckNsYXNzKiBrbGFzcykKICAgICBvYmplY3RDbGFzcy0+Z2V0X3Byb3BlcnR5ID0gZ3JhcGhpY3NM
YXllckFjdG9yR2V0UHJvcGVydHk7CiAgICAgb2JqZWN0Q2xhc3MtPnNldF9wcm9wZXJ0eSA9IGdy
YXBoaWNzTGF5ZXJBY3RvclNldFByb3BlcnR5OwogICAgIG9iamVjdENsYXNzLT5kaXNwb3NlID0g
Z3JhcGhpY3NMYXllckFjdG9yRGlzcG9zZTsKLSAgICBhY3RvckNsYXNzLT5hcHBseV90cmFuc2Zv
cm0gPSBncmFwaGljc0xheWVyQWN0b3JBcHBseVRyYW5zZm9ybTsKKwogICAgIGFjdG9yQ2xhc3Mt
PmFsbG9jYXRlID0gZ3JhcGhpY3NMYXllckFjdG9yQWxsb2NhdGU7CisgICAgYWN0b3JDbGFzcy0+
YXBwbHlfdHJhbnNmb3JtID0gZ3JhcGhpY3NMYXllckFjdG9yQXBwbHlUcmFuc2Zvcm07CiAgICAg
YWN0b3JDbGFzcy0+cGFpbnQgPSBncmFwaGljc0xheWVyQWN0b3JQYWludDsKIAogICAgIGdfdHlw
ZV9jbGFzc19hZGRfcHJpdmF0ZShrbGFzcywgc2l6ZW9mKEdyYXBoaWNzTGF5ZXJBY3RvclByaXZh
dGUpKTsKQEAgLTE1OCwxMSArMTU3LDYgQEAgc3RhdGljIHZvaWQgZ3JhcGhpY3NMYXllckFjdG9y
RGlzcG9zZShHT2JqZWN0KiBvYmplY3QpCiAKIHN0YXRpYyB2b2lkIGdyYXBoaWNzTGF5ZXJBY3Rv
ckFsbG9jYXRlKENsdXR0ZXJBY3Rvciogc2VsZiwgY29uc3QgQ2x1dHRlckFjdG9yQm94KiBib3gs
IENsdXR0ZXJBbGxvY2F0aW9uRmxhZ3MgZmxhZ3MpCiB7Ci0gICAgR3JhcGhpY3NMYXllckFjdG9y
KiBsYXllciA9IEdSQVBISUNTX0xBWUVSX0FDVE9SKHNlbGYpOwotICAgIEdyYXBoaWNzTGF5ZXJB
Y3RvclByaXZhdGUqIHByaXYgPSBsYXllci0+cHJpdjsKLQotICAgIHByaXYtPmFsbG9jYXRpbmcg
PSBUUlVFOwotCiAgICAgQ0xVVFRFUl9BQ1RPUl9DTEFTUyhncmFwaGljc19sYXllcl9hY3Rvcl9w
YXJlbnRfY2xhc3MpLT5hbGxvY2F0ZShzZWxmLCBib3gsIGZsYWdzKTsKIAogICAgIENsdXR0ZXJD
b250ZW50KiBjYW52YXMgPSBjbHV0dGVyX2FjdG9yX2dldF9jb250ZW50KHNlbGYpOwpAQCAtMTg2
LDggKzE4MCw2IEBAIHN0YXRpYyB2b2lkIGdyYXBoaWNzTGF5ZXJBY3RvckFsbG9jYXRlKENsdXR0
ZXJBY3Rvciogc2VsZiwgY29uc3QgQ2x1dHRlckFjdG9yQm94CiAKICAgICAgICAgY2x1dHRlcl9h
Y3Rvcl9hbGxvY2F0ZShjaGlsZEFjdG9yLCAmY2hpbGRCb3gsIGZsYWdzKTsKICAgICB9Ci0KLSAg
ICBwcml2LT5hbGxvY2F0aW5nID0gRkFMU0U7CiB9CiAKIHN0YXRpYyB2b2lkIGdyYXBoaWNzTGF5
ZXJBY3RvckFwcGx5VHJhbnNmb3JtKENsdXR0ZXJBY3RvciogYWN0b3IsIENvZ2xNYXRyaXgqIG1h
dHJpeCkKQEAgLTIyNCwxMCArMjE2LDEwIEBAIHN0YXRpYyBnYm9vbGVhbiBncmFwaGljc0xheWVy
QWN0b3JEcmF3KENsdXR0ZXJDYW52YXMqIHRleHR1cmUsIGNhaXJvX3QqIGNyLCBnaW50CiAgICAg
aWYgKCF3aWR0aCB8fCAhaGVpZ2h0KQogICAgICAgICByZXR1cm4gRkFMU0U7CiAKLSAgICBHcmFw
aGljc0xheWVyQWN0b3JQcml2YXRlKiBwcml2ID0gbGF5ZXItPnByaXY7CiAgICAgR3JhcGhpY3ND
b250ZXh0IGNvbnRleHQoY3IpOwogICAgIGNvbnRleHQuY2xlYXJSZWN0KEZsb2F0UmVjdCgwLCAw
LCB3aWR0aCwgaGVpZ2h0KSk7CiAKKyAgICBHcmFwaGljc0xheWVyQWN0b3JQcml2YXRlKiBwcml2
ID0gbGF5ZXItPnByaXY7CiAgICAgaWYgKHByaXYtPnN1cmZhY2UpIHsKICAgICAgICAgZ2ludCBz
dXJmYWNlV2lkdGggPSBjYWlyb19pbWFnZV9zdXJmYWNlX2dldF93aWR0aChwcml2LT5zdXJmYWNl
LmdldCgpKTsKICAgICAgICAgZ2ludCBzdXJmYWNlSGVpZ2h0ID0gY2Fpcm9faW1hZ2Vfc3VyZmFj
ZV9nZXRfaGVpZ2h0KHByaXYtPnN1cmZhY2UuZ2V0KCkpOwpAQCAtMjg2LDggKzI3OCw3IEBAIHN0
YXRpYyB2b2lkIGRyYXdMYXllckNvbnRlbnRzKENsdXR0ZXJBY3RvciogYWN0b3IsIEdyYXBoaWNz
Q29udGV4dCYgY29udGV4dCkKICAgICBwcml2LT5sYXllckNsaWVudC0+cGxhdGZvcm1DbHV0dGVy
TGF5ZXJQYWludENvbnRlbnRzKGNvbnRleHQsIGNsaXApOwogfQogCi0KLUdyYXBoaWNzTGF5ZXJB
Y3RvciogZ3JhcGhpY3NMYXllckFjdG9yTmV3KEdyYXBoaWNzTGF5ZXJDbHV0dGVyOjpMYXllclR5
cGUgdHlwZSkKK3N0YXRpYyBHcmFwaGljc0xheWVyQWN0b3IqIGdyYXBoaWNzTGF5ZXJBY3Rvck5l
dyhHcmFwaGljc0xheWVyQ2x1dHRlcjo6TGF5ZXJUeXBlIHR5cGUpCiB7CiAgICAgR3JhcGhpY3NM
YXllckFjdG9yKiBsYXllciA9IEdSQVBISUNTX0xBWUVSX0FDVE9SKGdfb2JqZWN0X25ldyhHUkFQ
SElDU19MQVlFUl9UWVBFX0FDVE9SLCAwKSk7CiAgICAgR3JhcGhpY3NMYXllckFjdG9yUHJpdmF0
ZSogcHJpdiA9IGxheWVyLT5wcml2OwpAQCAtMzE3LDIwICszMDgsNiBAQCBQbGF0Zm9ybUNsdXR0
ZXJMYXllckNsaWVudCogZ3JhcGhpY3NMYXllckFjdG9yR2V0Q2xpZW50KEdyYXBoaWNzTGF5ZXJB
Y3RvciogbGF5ZQogICAgIHJldHVybiBsYXllci0+cHJpdi0+bGF5ZXJDbGllbnQ7CiB9CiAKLXZv
aWQgZ3JhcGhpY3NMYXllckFjdG9yUmVtb3ZlQWxsKEdyYXBoaWNzTGF5ZXJBY3RvciogbGF5ZXIp
Ci17Ci0gICAgZ19yZXR1cm5faWZfZmFpbChHUkFQSElDU19MQVlFUl9JU19BQ1RPUihsYXllcikp
OwotCi0gICAgY2x1dHRlcl9hY3Rvcl9yZW1vdmVfYWxsX2NoaWxkcmVuKENMVVRURVJfQUNUT1Io
bGF5ZXIpKTsKLX0KLQotY2Fpcm9fc3VyZmFjZV90KiBncmFwaGljc0xheWVyQWN0b3JHZXRTdXJm
YWNlKEdyYXBoaWNzTGF5ZXJBY3RvciogbGF5ZXIpCi17Ci0gICAgR3JhcGhpY3NMYXllckFjdG9y
UHJpdmF0ZSogcHJpdiA9IGxheWVyLT5wcml2OwotICAgIEFTU0VSVChwcml2LT5zdXJmYWNlKTsK
LSAgICByZXR1cm4gcHJpdi0+c3VyZmFjZS5nZXQoKTsKLX0KLQogdm9pZCBncmFwaGljc0xheWVy
QWN0b3JTZXRTdXJmYWNlKEdyYXBoaWNzTGF5ZXJBY3RvciogbGF5ZXIsIGNhaXJvX3N1cmZhY2Vf
dCogc3VyZmFjZSkKIHsKICAgICBHcmFwaGljc0xheWVyQWN0b3JQcml2YXRlKiBwcml2ID0gbGF5
ZXItPnByaXY7CkBAIC0zNTUsMTYgKzMzMiw2IEBAIHZvaWQgZ3JhcGhpY3NMYXllckFjdG9yU2V0
QW5jaG9yUG9pbnQoR3JhcGhpY3NMYXllckFjdG9yKiBsYXllciwgZmxvYXQgeCwgZmxvYXQKICAg
ICBjbHV0dGVyX2FjdG9yX3NldF9waXZvdF9wb2ludF96KGFjdG9yLCB6KTsKIH0KIAotdm9pZCBn
cmFwaGljc0xheWVyQWN0b3JHZXRBbmNob3JQb2ludChHcmFwaGljc0xheWVyQWN0b3IqIGxheWVy
LCBmbG9hdCogeCwgZmxvYXQqIHksIGZsb2F0KiB6KQotewotICAgIEFTU0VSVCh4ICYmIHkpOwot
Ci0gICAgQ2x1dHRlckFjdG9yKiBhY3RvciA9IENMVVRURVJfQUNUT1IobGF5ZXIpOwotICAgIGNs
dXR0ZXJfYWN0b3JfZ2V0X3Bpdm90X3BvaW50KGFjdG9yLCB4LCB5KTsKLSAgICBpZiAoeikKLSAg
ICAgICAgKnogPSBjbHV0dGVyX2FjdG9yX2dldF9waXZvdF9wb2ludF96KGFjdG9yKTsKLX0KLQog
dm9pZCBncmFwaGljc0xheWVyQWN0b3JTZXRTY3JvbGxQb3NpdGlvbihHcmFwaGljc0xheWVyQWN0
b3IqIGxheWVyLCBmbG9hdCB4LCBmbG9hdCB5KQogewogICAgIGlmICh4ID4gMCB8fCB5ID4gMCkK
QEAgLTM3NywzNCArMzQ0LDEwIEBAIHZvaWQgZ3JhcGhpY3NMYXllckFjdG9yU2V0U2Nyb2xsUG9z
aXRpb24oR3JhcGhpY3NMYXllckFjdG9yKiBsYXllciwgZmxvYXQgeCwgZmxvCiAgICAgY2x1dHRl
cl9hY3Rvcl9xdWV1ZV9yZWRyYXcoQ0xVVFRFUl9BQ1RPUihsYXllcikpOwogfQogCi1naW50IGdy
YXBoaWNzTGF5ZXJBY3RvckdldG5DaGlsZHJlbihHcmFwaGljc0xheWVyQWN0b3IqIGxheWVyKQot
ewotICAgIEFTU0VSVChHUkFQSElDU19MQVlFUl9JU19BQ1RPUihsYXllcikpOwotCi0gICAgcmV0
dXJuIGNsdXR0ZXJfYWN0b3JfZ2V0X25fY2hpbGRyZW4oQ0xVVFRFUl9BQ1RPUihsYXllcikpOwot
fQotCi12b2lkIGdyYXBoaWNzTGF5ZXJBY3RvclJlcGxhY2VTdWJsYXllcihHcmFwaGljc0xheWVy
QWN0b3IqIGxheWVyLCBDbHV0dGVyQWN0b3IqIG9sZENoaWxkTGF5ZXIsIENsdXR0ZXJBY3Rvciog
bmV3Q2hpbGRMYXllcikKLXsKLSAgICBBU1NFUlQoR1JBUEhJQ1NfTEFZRVJfSVNfQUNUT1IobGF5
ZXIpKTsKLSAgICBBU1NFUlQoQ0xVVFRFUl9JU19BQ1RPUihvbGRDaGlsZExheWVyKSk7Ci0gICAg
QVNTRVJUKENMVVRURVJfSVNfQUNUT1IobmV3Q2hpbGRMYXllcikpOwotCi0gICAgY2x1dHRlcl9h
Y3Rvcl9yZXBsYWNlX2NoaWxkKENMVVRURVJfQUNUT1IobGF5ZXIpLCBvbGRDaGlsZExheWVyLCBu
ZXdDaGlsZExheWVyKTsKLX0KLQotdm9pZCBncmFwaGljc0xheWVyQWN0b3JJbnNlcnRTdWJsYXll
cihHcmFwaGljc0xheWVyQWN0b3IqIGxheWVyLCBDbHV0dGVyQWN0b3IqIGNoaWxkTGF5ZXIsIGdp
bnQgaW5kZXgpCi17Ci0gICAgQVNTRVJUKEdSQVBISUNTX0xBWUVSX0lTX0FDVE9SKGxheWVyKSk7
Ci0gICAgQVNTRVJUKENMVVRURVJfSVNfQUNUT1IoY2hpbGRMYXllcikpOwotCi0gICAgY2x1dHRl
cl9hY3Rvcl9pbnNlcnRfY2hpbGRfYXRfaW5kZXgoQ0xVVFRFUl9BQ1RPUihsYXllciksIGNoaWxk
TGF5ZXIsIGluZGV4KTsKLX0KLQogdm9pZCBncmFwaGljc0xheWVyQWN0b3JTZXRTdWJsYXllcnMo
R3JhcGhpY3NMYXllckFjdG9yKiBsYXllciwgR3JhcGhpY3NMYXllckFjdG9yTGlzdCYgc3ViTGF5
ZXJzKQogewotICAgIGlmICghc3ViTGF5ZXJzLnNpemUoKSkgewotICAgICAgICBncmFwaGljc0xh
eWVyQWN0b3JSZW1vdmVBbGwobGF5ZXIpOworICAgIGlmIChzdWJMYXllcnMuaXNFbXB0eSgpKSB7
CisgICAgICAgIGNsdXR0ZXJfYWN0b3JfcmVtb3ZlX2FsbF9jaGlsZHJlbihDTFVUVEVSX0FDVE9S
KGxheWVyKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTQ4MSwxMSArNDI0LDYgQEAg
dm9pZCBncmFwaGljc0xheWVyQWN0b3JTZXREcmF3c0NvbnRlbnQoR3JhcGhpY3NMYXllckFjdG9y
KiBsYXllciwgYm9vbCBkcmF3c0NvbnQKICAgICBncmFwaGljc0xheWVyQWN0b3JVcGRhdGVUZXh0
dXJlKGxheWVyKTsKIH0KIAotZ2Jvb2xlYW4gZ3JhcGhpY3NMYXllckFjdG9yR2V0RHJhd3NDb250
ZW50KEdyYXBoaWNzTGF5ZXJBY3RvciogbGF5ZXIpCi17Ci0gICAgcmV0dXJuIGxheWVyLT5wcml2
LT5kcmF3c0NvbnRlbnQ7Ci19Ci0KIHZvaWQgZ3JhcGhpY3NMYXllckFjdG9yU2V0RmxhdHRlbihH
cmFwaGljc0xheWVyQWN0b3IqIGxheWVyLCBib29sIGZsYXR0ZW4pCiB7CiAgICAgR3JhcGhpY3NM
YXllckFjdG9yUHJpdmF0ZSogcHJpdiA9IGxheWVyLT5wcml2OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2x1dHRlci9HcmFwaGljc0xheWVyQWN0b3IuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NsdXR0ZXIvR3JhcGhpY3NMYXllckFj
dG9yLmgKaW5kZXggYWNmYmQ4YmQzNzJlNmQwMjU4Njk5MDY1ZDJmMmE2MzNmMzAyNmFhNC4uM2Nj
NjQ1MjFlM2JiNmRkYWQ2MjE5MzdmODJiODc0ZTZkMjMzYTRhMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2x1dHRlci9HcmFwaGljc0xheWVyQWN0b3IuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jbHV0dGVyL0dyYXBoaWNzTGF5
ZXJBY3Rvci5oCkBAIC0xNyw4ICsxNyw4IEBACiAgKgogICovCiAKLSNpZm5kZWYgR3JhcGhpY3NM
YXllckFjdG9yX2ggCi0jZGVmaW5lIEdyYXBoaWNzTGF5ZXJBY3Rvcl9oIAorI2lmbmRlZiBHcmFw
aGljc0xheWVyQWN0b3JfaAorI2RlZmluZSBHcmFwaGljc0xheWVyQWN0b3JfaAogCiAjaWYgVVNF
KEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogCkBAIC03MiwzMSArNzIsMjkgQEAgc3RydWN0IF9H
cmFwaGljc0xheWVyQWN0b3JDbGFzcyB7CiAKIEdUeXBlIGdyYXBoaWNzX2xheWVyX2FjdG9yX2dl
dF90eXBlKHZvaWQpIEdfR05VQ19DT05TVDsKIAotR3JhcGhpY3NMYXllckFjdG9yKiBncmFwaGlj
c0xheWVyQWN0b3JOZXcoV2ViQ29yZTo6R3JhcGhpY3NMYXllckNsdXR0ZXI6OkxheWVyVHlwZSk7
CiBHcmFwaGljc0xheWVyQWN0b3IqIGdyYXBoaWNzTGF5ZXJBY3Rvck5ld1dpdGhDbGllbnQoV2Vi
Q29yZTo6R3JhcGhpY3NMYXllckNsdXR0ZXI6OkxheWVyVHlwZSwgV2ViQ29yZTo6UGxhdGZvcm1D
bHV0dGVyTGF5ZXJDbGllbnQqKTsKLXZvaWQgZ3JhcGhpY3NMYXllckFjdG9yU2V0Q2xpZW50KEdy
YXBoaWNzTGF5ZXJBY3RvciosIFdlYkNvcmU6OlBsYXRmb3JtQ2x1dHRlckxheWVyQ2xpZW50Kik7
CisKK1dlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDbHV0dGVyOjpMYXllclR5cGUgZ3JhcGhpY3NMYXll
ckFjdG9yR2V0TGF5ZXJUeXBlKEdyYXBoaWNzTGF5ZXJBY3RvciopOwordm9pZCBncmFwaGljc0xh
eWVyQWN0b3JTZXRMYXllclR5cGUoR3JhcGhpY3NMYXllckFjdG9yKiwgV2ViQ29yZTo6R3JhcGhp
Y3NMYXllckNsdXR0ZXI6OkxheWVyVHlwZSk7CisKIFdlYkNvcmU6OlBsYXRmb3JtQ2x1dHRlckxh
eWVyQ2xpZW50KiBncmFwaGljc0xheWVyQWN0b3JHZXRDbGllbnQoR3JhcGhpY3NMYXllckFjdG9y
Kik7Ci12b2lkIGdyYXBoaWNzTGF5ZXJBY3RvclJlbW92ZUFsbChHcmFwaGljc0xheWVyQWN0b3Iq
KTsKLWNhaXJvX3N1cmZhY2VfdCogZ3JhcGhpY3NMYXllckFjdG9yR2V0U3VyZmFjZShHcmFwaGlj
c0xheWVyQWN0b3IqKTsKLXZvaWQgZ3JhcGhpY3NMYXllckFjdG9yU2V0U3VyZmFjZShHcmFwaGlj
c0xheWVyQWN0b3IqLCBjYWlyb19zdXJmYWNlX3QqKTsKK3ZvaWQgZ3JhcGhpY3NMYXllckFjdG9y
U2V0Q2xpZW50KEdyYXBoaWNzTGF5ZXJBY3RvciosIFdlYkNvcmU6OlBsYXRmb3JtQ2x1dHRlckxh
eWVyQ2xpZW50Kik7CisKIHZvaWQgZ3JhcGhpY3NMYXllckFjdG9ySW52YWxpZGF0ZVJlY3Rhbmds
ZShHcmFwaGljc0xheWVyQWN0b3IqLCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmKTsKLXZvaWQg
Z3JhcGhpY3NMYXllckFjdG9yU2V0QW5jaG9yUG9pbnQoR3JhcGhpY3NMYXllckFjdG9yKiwgZmxv
YXQsIGZsb2F0LCBmbG9hdCk7Ci12b2lkIGdyYXBoaWNzTGF5ZXJBY3RvckdldEFuY2hvclBvaW50
KEdyYXBoaWNzTGF5ZXJBY3RvciosIGZsb2F0KiwgZmxvYXQqLCBmbG9hdCopOwogdm9pZCBncmFw
aGljc0xheWVyQWN0b3JTZXRTY3JvbGxQb3NpdGlvbihHcmFwaGljc0xheWVyQWN0b3IqLCBmbG9h
dCwgZmxvYXQpOyAKIHZvaWQgZ3JhcGhpY3NMYXllckFjdG9yU2V0VHJhbnNsYXRlWChHcmFwaGlj
c0xheWVyQWN0b3IqLCBmbG9hdCk7CiBmbG9hdCBncmFwaGljc0xheWVyQWN0b3JHZXRUcmFuc2xh
dGVYKEdyYXBoaWNzTGF5ZXJBY3RvciopOwogdm9pZCBncmFwaGljc0xheWVyQWN0b3JTZXRUcmFu
c2xhdGVZKEdyYXBoaWNzTGF5ZXJBY3RvciosIGZsb2F0KTsKIGZsb2F0IGdyYXBoaWNzTGF5ZXJB
Y3RvckdldFRyYW5zbGF0ZVkoR3JhcGhpY3NMYXllckFjdG9yKik7Ci1naW50IGdyYXBoaWNzTGF5
ZXJBY3RvckdldG5DaGlsZHJlbihHcmFwaGljc0xheWVyQWN0b3IqKTsKKwogdm9pZCBncmFwaGlj
c0xheWVyQWN0b3JSZW1vdmVGcm9tU3VwZXJMYXllcihHcmFwaGljc0xheWVyQWN0b3IqKTsKLVdl
YkNvcmU6OkdyYXBoaWNzTGF5ZXJDbHV0dGVyOjpMYXllclR5cGUgZ3JhcGhpY3NMYXllckFjdG9y
R2V0TGF5ZXJUeXBlKEdyYXBoaWNzTGF5ZXJBY3RvciopOwotdm9pZCBncmFwaGljc0xheWVyQWN0
b3JTZXRMYXllclR5cGUoR3JhcGhpY3NMYXllckFjdG9yKiwgV2ViQ29yZTo6R3JhcGhpY3NMYXll
ckNsdXR0ZXI6OkxheWVyVHlwZSk7Ci12b2lkIGdyYXBoaWNzTGF5ZXJBY3RvclJlcGxhY2VTdWJs
YXllcihHcmFwaGljc0xheWVyQWN0b3IqLCBDbHV0dGVyQWN0b3IqLCBDbHV0dGVyQWN0b3IqKTsK
LXZvaWQgZ3JhcGhpY3NMYXllckFjdG9yU2V0U3VibGF5ZXJzKEdyYXBoaWNzTGF5ZXJBY3Rvcios
IFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJBY3Rvckxpc3QmKTsKLWdib29sZWFuIGdyYXBoaWNzTGF5
ZXJBY3RvckdldERyYXdzQ29udGVudChHcmFwaGljc0xheWVyQWN0b3IqKTsKKwordm9pZCBncmFw
aGljc0xheWVyQWN0b3JTZXRBbmNob3JQb2ludChHcmFwaGljc0xheWVyQWN0b3IqLCBmbG9hdCwg
ZmxvYXQsIGZsb2F0KTsKIHZvaWQgZ3JhcGhpY3NMYXllckFjdG9yU2V0RHJhd3NDb250ZW50KEdy
YXBoaWNzTGF5ZXJBY3RvciosIGJvb2wgZHJhd3NDb250ZW50KTsKIHZvaWQgZ3JhcGhpY3NMYXll
ckFjdG9yU2V0RmxhdHRlbihHcmFwaGljc0xheWVyQWN0b3IqLCBib29sIGZsYXR0ZW4pOwogdm9p
ZCBncmFwaGljc0xheWVyQWN0b3JTZXRNYXNrc1RvQm91bmRzKEdyYXBoaWNzTGF5ZXJBY3Rvcios
IGJvb2wgbWFza3NUb0JvdW5kcyk7Cit2b2lkIGdyYXBoaWNzTGF5ZXJBY3RvclNldFN1YmxheWVy
cyhHcmFwaGljc0xheWVyQWN0b3IqLCBXZWJDb3JlOjpHcmFwaGljc0xheWVyQWN0b3JMaXN0Jik7
Cit2b2lkIGdyYXBoaWNzTGF5ZXJBY3RvclNldFN1cmZhY2UoR3JhcGhpY3NMYXllckFjdG9yKiwg
Y2Fpcm9fc3VyZmFjZV90Kik7CiAKIFdlYkNvcmU6OlBsYXRmb3JtQ2x1dHRlckFuaW1hdGlvbiog
Z3JhcGhpY3NMYXllckFjdG9yR2V0QW5pbWF0aW9uRm9yS2V5KEdyYXBoaWNzTGF5ZXJBY3Rvcios
IGNvbnN0IFN0cmluZyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NsdXR0ZXIvR3JhcGhpY3NMYXllckNsdXR0ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2x1dHRlci9HcmFwaGljc0xheWVyQ2x1dHRlci5jcHAKaW5kZXgg
Zjg1YTE1YzgzYzc5MGI1YzRkZTVlMDAzZWIxMzcxZjgwYjYzNWE1ZC4uNjkyMTQyOTExYmI3ZDYw
MTVhN2ZmNzQ4MjY4MTYxNDNlZWJkYTVjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2x1dHRlci9HcmFwaGljc0xheWVyQ2x1dHRlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2x1dHRlci9HcmFwaGljc0xheWVyQ2x1dHRl
ci5jcHAKQEAgLTIyLDcgKzIyLDcgQEAKICAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKICAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAogI2luY2x1ZGUg
ImNvbmZpZy5oIgpAQCAtMjY0LDEwICsyNjQsMTAgQEAgc3RhdGljIGdib29sZWFuIGlkbGVEZXN0
cm95KGdwb2ludGVyIGRhdGEpCiAgICAgR1JlZlB0cjxDbHV0dGVyQWN0b3I+IGFjdG9yID0gYWRv
cHRHUmVmKENMVVRURVJfQUNUT1IoZGF0YSkpOwogICAgIENsdXR0ZXJBY3RvciogcGFyZW50ID0g
Y2x1dHRlcl9hY3Rvcl9nZXRfcGFyZW50KGFjdG9yLmdldCgpKTsKIAotICAgIC8vIFdlIHNob3Vs
ZCByZW1vdmUgY2hpbGQgYWN0b3JzIG1hbnVhbGx5IGJlY2F1c2UgdGhlIGNvbnRhaW5lciBvZiBD
bHV0dGVyIAotICAgIC8vIHNlZW1zIHRvIGhhdmUgYSBidWcgdG8gcmVtb3ZlIGl0cyBjaGlsZCBh
Y3RvcnMgd2hlbiBpdCBpcyByZW1vdmVkLiAKKyAgICAvLyBXZSBzaG91bGQgcmVtb3ZlIGNoaWxk
IGFjdG9ycyBtYW51YWxseSBiZWNhdXNlIHRoZSBjb250YWluZXIgb2YgQ2x1dHRlcgorICAgIC8v
IHNlZW1zIHRvIGhhdmUgYSBidWcgdG8gcmVtb3ZlIGl0cyBjaGlsZCBhY3RvcnMgd2hlbiBpdCBp
cyByZW1vdmVkLgogICAgIGlmIChHUkFQSElDU19MQVlFUl9JU19BQ1RPUihHUkFQSElDU19MQVlF
Ul9BQ1RPUihhY3Rvci5nZXQoKSkpKQotICAgICAgICBncmFwaGljc0xheWVyQWN0b3JSZW1vdmVB
bGwoR1JBUEhJQ1NfTEFZRVJfQUNUT1IoYWN0b3IuZ2V0KCkpKTsKKyAgICAgICAgY2x1dHRlcl9h
Y3Rvcl9yZW1vdmVfYWxsX2NoaWxkcmVuKGFjdG9yLmdldCgpKTsKIAogICAgIGlmIChwYXJlbnQp
CiAgICAgICAgIGNsdXR0ZXJfYWN0b3JfcmVtb3ZlX2NoaWxkKHBhcmVudCwgYWN0b3IuZ2V0KCkp
OwpAQCAtOTAyLDcgKzkwMiw3IEBAIHZvaWQgR3JhcGhpY3NMYXllckNsdXR0ZXI6OmVuc3VyZVN0
cnVjdHVyYWxMYXllcihTdHJ1Y3R1cmFsTGF5ZXJQdXJwb3NlIHB1cnBvc2UpCiAgICAgICAgICAg
ICAvLyBpcyBsaWtlbHkgaG9zdGVkIGJ5IHNvbWV0aGluZyB0aGF0IGlzIG5vdCBleHBlY3Rpbmcg
dG8gYmUgY2hhbmdlZAogICAgICAgICAgICAgQ2x1dHRlckFjdG9yKiBwYXJlbnRBY3RvciA9IGNs
dXR0ZXJfYWN0b3JfZ2V0X3BhcmVudChDTFVUVEVSX0FDVE9SKG1fc3RydWN0dXJhbExheWVyLmdl
dCgpKSk7CiAgICAgICAgICAgICBBU1NFUlQocGFyZW50QWN0b3IpOwotICAgICAgICAgICAgZ3Jh
cGhpY3NMYXllckFjdG9yUmVwbGFjZVN1YmxheWVyKEdSQVBISUNTX0xBWUVSX0FDVE9SKHBhcmVu
dEFjdG9yKSwgQ0xVVFRFUl9BQ1RPUihtX3N0cnVjdHVyYWxMYXllci5nZXQoKSksIENMVVRURVJf
QUNUT1IobV9sYXllci5nZXQoKSkpOworICAgICAgICAgICAgY2x1dHRlcl9hY3Rvcl9yZXBsYWNl
X2NoaWxkKHBhcmVudEFjdG9yLCBDTFVUVEVSX0FDVE9SKG1fc3RydWN0dXJhbExheWVyLmdldCgp
KSwgQ0xVVFRFUl9BQ1RPUihtX2xheWVyLmdldCgpKSk7CiAKICAgICAgICAgICAgIG1vdmVPckNv
cHlBbmltYXRpb25zKE1vdmUsIG1fc3RydWN0dXJhbExheWVyLmdldCgpLCBtX2xheWVyLmdldCgp
KTsKIApAQCAtOTY2LDEzICs5NjYsMTIgQEAgR3JhcGhpY3NMYXllckNsdXR0ZXI6OlN0cnVjdHVy
YWxMYXllclB1cnBvc2UgR3JhcGhpY3NMYXllckNsdXR0ZXI6OnN0cnVjdHVyYWxMYXkKIAogdm9p
ZCBHcmFwaGljc0xheWVyQ2x1dHRlcjo6dXBkYXRlTGF5ZXJEcmF3c0NvbnRlbnQoZmxvYXQgcGFn
ZVNjYWxlRmFjdG9yLCBjb25zdCBGbG9hdFBvaW50JiBwb3NpdGlvblJlbGF0aXZlVG9CYXNlKQog
ewotICAgIGlmIChtX2RyYXdzQ29udGVudCkgewotICAgICAgICBncmFwaGljc0xheWVyQWN0b3JT
ZXREcmF3c0NvbnRlbnQobV9sYXllci5nZXQoKSwgVFJVRSk7CisgICAgZ3JhcGhpY3NMYXllckFj
dG9yU2V0RHJhd3NDb250ZW50KG1fbGF5ZXIuZ2V0KCksIG1fZHJhd3NDb250ZW50KTsKKworICAg
IGlmIChtX2RyYXdzQ29udGVudCkKICAgICAgICAgc2V0TmVlZHNEaXNwbGF5KCk7Ci0gICAgfSBl
bHNlIHsKLSAgICAgICAgZ3JhcGhpY3NMYXllckFjdG9yU2V0RHJhd3NDb250ZW50KG1fbGF5ZXIu
Z2V0KCksIEZBTFNFKTsKKyAgICBlbHNlCiAgICAgICAgIGdyYXBoaWNzTGF5ZXJBY3RvclNldFN1
cmZhY2UobV9sYXllci5nZXQoKSwgMCk7Ci0gICAgfQogCiAgICAgdXBkYXRlRGVidWdJbmRpY2F0
b3JzKCk7CiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>