<?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>183014</bug_id>
          
          <creation_ts>2018-02-21 12:56:03 -0800</creation_ts>
          <short_desc>[RenderTreeBuilder] Move RenderBoxModelObject::willBeRemoved() mutation logic to RenderTreeBuilder</short_desc>
          <delta_ts>2018-02-21 14:27:06 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1401230</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2018-02-21 12:56:03 -0800</bug_when>
    <thetext>continuation cleanup.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1401231</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-02-21 12:56:27 -0800</bug_when>
    <thetext>&lt;rdar://problem/37757428&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1401247</commentid>
    <comment_count>2</comment_count>
      <attachid>334410</attachid>
    <who name="alan">zalan</who>
    <bug_when>2018-02-21 13:35:23 -0800</bug_when>
    <thetext>Created attachment 334410
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1401250</commentid>
    <comment_count>3</comment_count>
      <attachid>334410</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2018-02-21 13:38:09 -0800</bug_when>
    <thetext>Comment on attachment 334410
Patch

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

&gt; Source/WebCore/rendering/updating/RenderTreeBuilderContinuation.h:34
&gt; +class RenderTreeBuilder::Continuation {

This (and others) could have WTF_MAKE_FAST_ALLOCATED</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1401261</commentid>
    <comment_count>4</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2018-02-21 14:03:17 -0800</bug_when>
    <thetext>(In reply to Antti Koivisto from comment #3)
&gt; Comment on attachment 334410 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=334410&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/updating/RenderTreeBuilderContinuation.h:34
&gt; &gt; +class RenderTreeBuilder::Continuation {
&gt; 
&gt; This (and others) could have WTF_MAKE_FAST_ALLOCATED
Indeed. I&apos;ll address it in a separate patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1401277</commentid>
    <comment_count>5</comment_count>
      <attachid>334410</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-02-21 14:27:05 -0800</bug_when>
    <thetext>Comment on attachment 334410
Patch

Clearing flags on attachment: 334410

Committed r228899: &lt;https://trac.webkit.org/changeset/228899&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1401278</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-02-21 14:27:06 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>334410</attachid>
            <date>2018-02-21 13:35:23 -0800</date>
            <delta_ts>2018-02-21 14:27:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183014-20180221133523.patch</filename>
            <type>text/plain</type>
            <size>17774</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI4ODkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjhiOWQyOTQ3OWYzN2U2
MDE5Y2UxOTMzMGQ5YjhmYWZiYTZjZGNiOS4uZWU4ZTI3MDBlN2ExZTNmYzVkOWM5ZTQ0OTFmZjk2
N2M4N2QxOGE4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDE4LTAyLTIxICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1JlbmRlclRyZWVCdWlsZGVy
XSBNb3ZlIFJlbmRlckJveE1vZGVsT2JqZWN0Ojp3aWxsQmVSZW1vdmVkKCkgbXV0YXRpb24gbG9n
aWMgdG8gUmVuZGVyVHJlZUJ1aWxkZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE4MzAxNAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzc3NTc0Mjg+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gY2hh
bmdlIGluIGZ1bmN0aW9uYWxpdHkuCisKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveE1v
ZGVsT2JqZWN0Ojp+UmVuZGVyQm94TW9kZWxPYmplY3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyQm94TW9kZWxPYmplY3Q6OndpbGxCZURlc3Ryb3llZCk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJCb3hNb2RlbE9iamVjdDo6Y29udGludWF0aW9uQ2hhaW5Ob2RlIGNvbnN0KToKKyAgICAg
ICAgKCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3hNb2RlbE9iamVjdDo6
cmVtb3ZlQW5kRGVzdHJveUFsbENvbnRpbnVhdGlvbnMpOiBEZWxldGVkLgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5oOgorICAgICAgICAqIHJlbmRlcmluZy91cGRh
dGluZy9SZW5kZXJUcmVlQnVpbGRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUcmVl
QnVpbGRlcjo6UmVuZGVyVHJlZUJ1aWxkZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVHJl
ZUJ1aWxkZXI6OnJlbW92ZUFuZERlc3Ryb3kpOgorICAgICAgICAqIHJlbmRlcmluZy91cGRhdGlu
Zy9SZW5kZXJUcmVlQnVpbGRlci5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVHJlZUJ1aWxk
ZXI6OmNvbnRpbnVhdGlvbkJ1aWxkZXIpOgorICAgICAgICAqIHJlbmRlcmluZy91cGRhdGluZy9S
ZW5kZXJUcmVlQnVpbGRlckNvbnRpbnVhdGlvbi5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyVHJlZUJ1aWxkZXI6OkNvbnRpbnVhdGlvbjo6Q29udGludWF0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclRyZWVCdWlsZGVyOjpDb250aW51YXRpb246OmNsZWFudXBPbkRl
c3Ryb3kpOgorICAgICAgICAqIHJlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckNv
bnRpbnVhdGlvbi5oOiBBZGRlZC4KKwogMjAxOC0wMi0yMSAgWW91ZW5uIEZhYmxldCAgPHlvdWVu
bkBhcHBsZS5jb20+CiAKICAgICAgICAgVXNlIFJlc291cmNlTG9hZGVyIHRvIGxvYWQgYXBwY2Fj
aGUgbWFuaWZlc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291
cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggOTRiZGM0ZmZkMDViOGVmOWMwMGI0NDY1NWRl
OTQzNGNjZDJmNTRhZS4uMGJhMmJiMzNjZDFmOGM1MDdlYzIxNmVkNTA3OTg2NTllYWUwYWUyMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNv
cmUvU291cmNlcy50eHQKQEAgLTIwMTQsNiArMjAxNCw3IEBAIHJlbmRlcmluZy9zdmcvU1ZHVGV4
dFF1ZXJ5LmNwcAogcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyLmNwcAogcmVu
ZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyQmxvY2suY3BwCiByZW5kZXJpbmcvdXBk
YXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJCbG9ja0Zsb3cuY3BwCityZW5kZXJpbmcvdXBkYXRpbmcv
UmVuZGVyVHJlZUJ1aWxkZXJDb250aW51YXRpb24uY3BwCiByZW5kZXJpbmcvdXBkYXRpbmcvUmVu
ZGVyVHJlZUJ1aWxkZXJGaXJzdExldHRlci5jcHAKIHJlbmRlcmluZy91cGRhdGluZy9SZW5kZXJU
cmVlQnVpbGRlckZvcm1Db250cm9scy5jcHAKIHJlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVl
QnVpbGRlckZ1bGxTY3JlZW4uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggOGJmNTRhMTgxZjllNzMyZDU5MTE1NzcxZmU5MDk3
OWVkZjhjZmQ2MC4uOWJhNzI5MzliZTM3YTcwMWY3NjY4YWM0MWM5YjRiMTlkZGNlMWJkMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtMzkxLDYgKzM5MSw3IEBACiAJCTBGRkQ0RDYxMTg2NTFGQTMwMDUxMkY2RSAvKiBBc3luY1Nj
cm9sbGluZ0Nvb3JkaW5hdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRkZENEQ1RjE4NjUxRkEzMDA1MTJGNkUgLyogQXN5bmNTY3JvbGxpbmdDb29y
ZGluYXRvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTEwRkIwODRCMTRFMTVDN0UwMEEzREI5OCAvKiBQdWJsaWNVUkxNYW5hZ2VyLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxMEZCMDg0QTE0RTE1QzdF
MDBBM0RCOTggLyogUHVibGljVVJMTWFuYWdlci5oICovOyB9OwogCQkxMTJCMzRENTFFNjBCOTgz
MDBCQjMxMEEgLyogU2ltcGxlTGluZUxheW91dFBhZ2luYXRpb24uaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDExMkIzNEQ0MUU2MEI5ODMwMEJCMzEwQSAv
KiBTaW1wbGVMaW5lTGF5b3V0UGFnaW5hdGlvbi5oICovOyB9OworCQkxMTM0MDlEQTIwM0UwMzgw
MDBDNjY5MTUgLyogUmVuZGVyVHJlZUJ1aWxkZXJDb250aW51YXRpb24uaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDExMzQwOUQ4MjAzRTAzODAwMEM2Njkx
NSAvKiBSZW5kZXJUcmVlQnVpbGRlckNvbnRpbnVhdGlvbi5oICovOyB9OwogCQkxMTNEMEI1MjFG
OUZERDJCMDBGNjExQkIgLyogTGF5b3V0Q29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTEzRDBCNTAxRjlGREQyQjAwRjYxMUJCIC8qIExheW91
dENvbnRleHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQkxMTkzNDA3OTFGRThCOTIzMDA5MzVGMUUgLyogUmVuZGVyVHJlZUJ1aWxkZXJUYWJsZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTE5MzQwNzcx
RkU4QjkyMzAwOTM1RjFFIC8qIFJlbmRlclRyZWVCdWlsZGVyVGFibGUuaCAqLzsgfTsKIAkJMTE5
MzQwOEExRkVCMzU1RDAwOTM1RjFFIC8qIFJlbmRlclRyZWVCdWlsZGVyUnVieS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTE5MzQwODgxRkVCMzU1RDAw
OTM1RjFFIC8qIFJlbmRlclRyZWVCdWlsZGVyUnVieS5oICovOyB9OwpAQCAtNTYyMyw2ICs1NjI0
LDggQEAKIAkJMTEwMEZDNkUxRkRCM0M0RDAwREQ5NjFCIC8qIFRyYWlsaW5nRmxvYXRzUm9vdElu
bGluZUJveC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUcmFpbGluZ0Zsb2F0c1Jvb3RJbmxpbmVC
b3guY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxMTJCMzREMDFFNjBCOEE3MDBC
QjMxMEEgLyogU2ltcGxlTGluZUxheW91dFBhZ2luYXRpb24uY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gU2ltcGxlTGluZUxheW91dFBhZ2luYXRpb24uY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxMTJCMzRENDFFNjBCOTgzMDBCQjMxMEEgLyogU2lt
cGxlTGluZUxheW91dFBhZ2luYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gU2ltcGxlTGluZUxheW91dFBhZ2luYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMTEzNDA5RDcyMDNFMDM4MDAwQzY2OTE1IC8qIFJlbmRlclRyZWVCdWlsZGVyQ29udGlu
dWF0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbmRlclRyZWVCdWlsZGVyQ29udGludWF0
aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTEzNDA5RDgyMDNFMDM4MDAw
QzY2OTE1IC8qIFJlbmRlclRyZWVCdWlsZGVyQ29udGludWF0aW9uLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFJlbmRlclRyZWVCdWlsZGVyQ29udGludWF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTExM0QwQjRGMUY5RkREMkIwMEY2MTFCQiAvKiBMYXlvdXRDb250ZXh0LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IExheW91dENvbnRleHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkxMTNEMEI1MDFGOUZERDJCMDBGNjExQkIgLyogTGF5b3V0Q29udGV4dC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBMYXlvdXRDb250ZXh0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTExOTM0MDc2MUZFOEI5MjMwMDkzNUYxRSAvKiBSZW5kZXJUcmVlQnVpbGRlclRhYmxlLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFJlbmRlclRyZWVCdWlsZGVyVGFibGUuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtMjQ4NjIsNiArMjQ4NjUsOCBAQAogCQkJCTExOTM0MEExMUZF
RTAyNDAwMDkzNUYxRSAvKiBSZW5kZXJUcmVlQnVpbGRlckJsb2NrLmggKi8sCiAJCQkJMTFDNUYx
MUYyMDAzRjY5RjAwMDFBRTYwIC8qIFJlbmRlclRyZWVCdWlsZGVyQmxvY2tGbG93LmNwcCAqLywK
IAkJCQkxMUM1RjExRDIwMDNGNjlFMDAwMUFFNjAgLyogUmVuZGVyVHJlZUJ1aWxkZXJCbG9ja0Zs
b3cuaCAqLywKKwkJCQkxMTM0MDlENzIwM0UwMzgwMDBDNjY5MTUgLyogUmVuZGVyVHJlZUJ1aWxk
ZXJDb250aW51YXRpb24uY3BwICovLAorCQkJCTExMzQwOUQ4MjAzRTAzODAwMEM2NjkxNSAvKiBS
ZW5kZXJUcmVlQnVpbGRlckNvbnRpbnVhdGlvbi5oICovLAogCQkJCUU0N0MzOTIxMUZFNkUwREEw
MEJCQkM2QiAvKiBSZW5kZXJUcmVlQnVpbGRlckZpcnN0TGV0dGVyLmNwcCAqLywKIAkJCQlFNDdD
MzkyNjFGRTZFMERDMDBCQkJDNkIgLyogUmVuZGVyVHJlZUJ1aWxkZXJGaXJzdExldHRlci5oICov
LAogCQkJCTExOTM0MDk0MUZFRDcxNTUwMDkzNUYxRSAvKiBSZW5kZXJUcmVlQnVpbGRlckZvcm1D
b250cm9scy5jcHAgKi8sCkBAIC0yOTM0Nyw2ICsyOTM1Miw3IEBACiAJCQkJOTNGMTk5OEMwODI0
NUU1OTAwMUU5QUJDIC8qIFJlbmRlclRyZWVBc1RleHQuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0
N0MzOTJEMUZFNkUwRjMwMEJCQkM2QiAvKiBSZW5kZXJUcmVlQnVpbGRlci5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMTE5MzQwQTMxRkVFMDI0MDAwOTM1RjFFIC8qIFJlbmRlclRyZWVCdWlsZGVyQmxv
Y2suaCBpbiBIZWFkZXJzICovLAorCQkJCTExMzQwOURBMjAzRTAzODAwMEM2NjkxNSAvKiBSZW5k
ZXJUcmVlQnVpbGRlckNvbnRpbnVhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTQ3QzM5MzAx
RkU2RTBGRDAwQkJCQzZCIC8qIFJlbmRlclRyZWVCdWlsZGVyRmlyc3RMZXR0ZXIuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTExOTM0MDk3MUZFRDcxNTUwMDkzNUYxRSAvKiBSZW5kZXJUcmVlQnVpbGRl
ckZvcm1Db250cm9scy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTFDQjI3ODkyMDNCQTU3MDAwNEEx
REM5IC8qIFJlbmRlclRyZWVCdWlsZGVyRnVsbFNjcmVlbi5oIGluIEhlYWRlcnMgKi8sCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAppbmRl
eCA2YzIyM2VlMTBmNDE1OWE4MmY3OTkzMDM5NzgzMDkzYzdiYWU2MTQ3Li4yZDU1NWVmMjk3OGNl
NTZhOWNlMjdkYWFlOGU1NjNkZGE2NzRiNWMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKQEAgLTgxLDIwICs4MSw2IEBAIFdURl9N
QUtFX0lTT19BTExPQ0FURURfSU1QTChSZW5kZXJCb3hNb2RlbE9iamVjdCk7CiAvLyBhbiBhbm9u
eW1vdXMgYmxvY2sgKHRoYXQgaG91c2VzIG90aGVyIGJsb2Nrcykgb3IgaXQgd2lsbCBiZSBhbiBp
bmxpbmUgZmxvdy4KIC8vIDxiPjxpPjxwPkhlbGxvPC9wPjwvaT48L2I+LiBJbiB0aGlzIGV4YW1w
bGUgdGhlIDxpPiB3aWxsIGhhdmUgYSBibG9jayBhcwogLy8gaXRzIGNvbnRpbnVhdGlvbiBidXQg
dGhlIDxiPiB3aWxsIGp1c3QgaGF2ZSBhbiBpbmxpbmUgYXMgaXRzIGNvbnRpbnVhdGlvbi4KLQot
c3RydWN0IFJlbmRlckJveE1vZGVsT2JqZWN0OjpDb250aW51YXRpb25DaGFpbk5vZGUgewotICAg
IFdlYWtQdHI8UmVuZGVyQm94TW9kZWxPYmplY3Q+IHJlbmRlcmVyOwotICAgIENvbnRpbnVhdGlv
bkNoYWluTm9kZSogcHJldmlvdXMgeyBudWxscHRyIH07Ci0gICAgQ29udGludWF0aW9uQ2hhaW5O
b2RlKiBuZXh0IHsgbnVsbHB0ciB9OwotCi0gICAgQ29udGludWF0aW9uQ2hhaW5Ob2RlKFJlbmRl
ckJveE1vZGVsT2JqZWN0Jik7Ci0gICAgfkNvbnRpbnVhdGlvbkNoYWluTm9kZSgpOwotCi0gICAg
dm9pZCBpbnNlcnRBZnRlcihDb250aW51YXRpb25DaGFpbk5vZGUmKTsKLQotICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwotfTsKLQogUmVuZGVyQm94TW9kZWxPYmplY3Q6OkNvbnRpbnVhdGlv
bkNoYWluTm9kZTo6Q29udGludWF0aW9uQ2hhaW5Ob2RlKFJlbmRlckJveE1vZGVsT2JqZWN0JiBy
ZW5kZXJlcikKICAgICA6IHJlbmRlcmVyKG1ha2VXZWFrUHRyKHJlbmRlcmVyKSkKIHsKQEAgLTIz
NSwxNCArMjIxLDExIEBAIFJlbmRlckJveE1vZGVsT2JqZWN0OjpSZW5kZXJCb3hNb2RlbE9iamVj
dChEb2N1bWVudCYgZG9jdW1lbnQsIFJlbmRlclN0eWxlJiYgc3R5CiBSZW5kZXJCb3hNb2RlbE9i
amVjdDo6flJlbmRlckJveE1vZGVsT2JqZWN0KCkKIHsKICAgICAvLyBEbyBub3QgYWRkIGFueSBj
b2RlIGhlcmUuIEFkZCBpdCB0byB3aWxsQmVEZXN0cm95ZWQoKSBpbnN0ZWFkLgorICAgIEFTU0VS
VCghY29udGludWF0aW9uKCkpOwogfQogCiB2b2lkIFJlbmRlckJveE1vZGVsT2JqZWN0Ojp3aWxs
QmVEZXN0cm95ZWQoUmVuZGVyVHJlZUJ1aWxkZXImIGJ1aWxkZXIpCiB7Ci0gICAgaWYgKGNvbnRp
bnVhdGlvbigpICYmICFpc0NvbnRpbnVhdGlvbigpKSB7Ci0gICAgICAgIHJlbW92ZUFuZERlc3Ry
b3lBbGxDb250aW51YXRpb25zKGJ1aWxkZXIpOwotICAgICAgICBBU1NFUlQoIWNvbnRpbnVhdGlv
bigpKTsKLSAgICB9CiAgICAgaWYgKGhhc0NvbnRpbnVhdGlvbkNoYWluTm9kZSgpKQogICAgICAg
ICByZW1vdmVGcm9tQ29udGludWF0aW9uQ2hhaW4oKTsKIApAQCAtMjUyNSw2ICsyNTA4LDEwIEBA
IFJlbmRlcklubGluZSogUmVuZGVyQm94TW9kZWxPYmplY3Q6OmlubGluZUNvbnRpbnVhdGlvbigp
IGNvbnN0CiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKK1JlbmRlckJveE1vZGVsT2JqZWN0OjpD
b250aW51YXRpb25DaGFpbk5vZGUqIFJlbmRlckJveE1vZGVsT2JqZWN0Ojpjb250aW51YXRpb25D
aGFpbk5vZGUoKSBjb25zdAoreworICAgIHJldHVybiBjb250aW51YXRpb25DaGFpbk5vZGVNYXAo
KS5nZXQodGhpcyk7Cit9CiAKIHZvaWQgUmVuZGVyQm94TW9kZWxPYmplY3Q6Omluc2VydEludG9D
b250aW51YXRpb25DaGFpbkFmdGVyKFJlbmRlckJveE1vZGVsT2JqZWN0JiBhZnRlclJlbmRlcmVy
KQogewpAQCAtMjU1MSwxNyArMjUzOCw2IEBAIGF1dG8gUmVuZGVyQm94TW9kZWxPYmplY3Q6OmVu
c3VyZUNvbnRpbnVhdGlvbkNoYWluTm9kZSgpIC0+IENvbnRpbnVhdGlvbkNoYWluTm9kCiAgICAg
fSkuaXRlcmF0b3ItPnZhbHVlOwogfQogCi12b2lkIFJlbmRlckJveE1vZGVsT2JqZWN0OjpyZW1v
dmVBbmREZXN0cm95QWxsQ29udGludWF0aW9ucyhSZW5kZXJUcmVlQnVpbGRlciYgYnVpbGRlcikK
LXsKLSAgICBBU1NFUlQoIWlzQ29udGludWF0aW9uKCkpOwotICAgIEFTU0VSVChoYXNDb250aW51
YXRpb25DaGFpbk5vZGUoKSk7Ci0gICAgQVNTRVJUKGNvbnRpbnVhdGlvbkNoYWluTm9kZU1hcCgp
LmNvbnRhaW5zKHRoaXMpKTsKLSAgICBhdXRvJiBjb250aW51YXRpb25DaGFpbk5vZGUgPSAqY29u
dGludWF0aW9uQ2hhaW5Ob2RlTWFwKCkuZ2V0KHRoaXMpOwotICAgIHdoaWxlIChjb250aW51YXRp
b25DaGFpbk5vZGUubmV4dCkKLSAgICAgICAgYnVpbGRlci5yZW1vdmVBbmREZXN0cm95KCpjb250
aW51YXRpb25DaGFpbk5vZGUubmV4dC0+cmVuZGVyZXIpOwotICAgIHJlbW92ZUZyb21Db250aW51
YXRpb25DaGFpbigpOwotfQotCiBSZW5kZXJUZXh0RnJhZ21lbnQqIFJlbmRlckJveE1vZGVsT2Jq
ZWN0OjpmaXJzdExldHRlclJlbWFpbmluZ1RleHQoKSBjb25zdAogewogICAgIGlmICghaXNGaXJz
dExldHRlcigpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJv
eE1vZGVsT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxP
YmplY3QuaAppbmRleCA1YzFmYmI2ZDVkZjNhOTUwMDA0NTgzZGJjZWU0NWViZmVlYjhhODEzLi4z
OGMzY2MwYWU0YWZmMDNjMjcyNGI3OWE3MWQxMzljNTc5OTkzMjU3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuaApAQCAtMjgwLDExICsyODAs
MjMgQEAgcHVibGljOgogCiAgICAgUmVuZGVyQmxvY2sqIGNvbnRhaW5pbmdCbG9ja0ZvckF1dG9I
ZWlnaHREZXRlY3Rpb24oTGVuZ3RoIGxvZ2ljYWxIZWlnaHQpIGNvbnN0OwogCi0gICAgc3RydWN0
IENvbnRpbnVhdGlvbkNoYWluTm9kZTsKKyAgICBzdHJ1Y3QgQ29udGludWF0aW9uQ2hhaW5Ob2Rl
IHsKKyAgICAgICAgV2Vha1B0cjxSZW5kZXJCb3hNb2RlbE9iamVjdD4gcmVuZGVyZXI7CisgICAg
ICAgIENvbnRpbnVhdGlvbkNoYWluTm9kZSogcHJldmlvdXMgeyBudWxscHRyIH07CisgICAgICAg
IENvbnRpbnVhdGlvbkNoYWluTm9kZSogbmV4dCB7IG51bGxwdHIgfTsKKworICAgICAgICBDb250
aW51YXRpb25DaGFpbk5vZGUoUmVuZGVyQm94TW9kZWxPYmplY3QmKTsKKyAgICAgICAgfkNvbnRp
bnVhdGlvbkNoYWluTm9kZSgpOworCisgICAgICAgIHZvaWQgaW5zZXJ0QWZ0ZXIoQ29udGludWF0
aW9uQ2hhaW5Ob2RlJik7CisKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAg
fTsKKworICAgIENvbnRpbnVhdGlvbkNoYWluTm9kZSogY29udGludWF0aW9uQ2hhaW5Ob2RlKCkg
Y29uc3Q7CiAKIHByaXZhdGU6CiAgICAgQ29udGludWF0aW9uQ2hhaW5Ob2RlJiBlbnN1cmVDb250
aW51YXRpb25DaGFpbk5vZGUoKTsKLSAgICB2b2lkIHJlbW92ZUFuZERlc3Ryb3lBbGxDb250aW51
YXRpb25zKFJlbmRlclRyZWVCdWlsZGVyJik7CiAKICAgICBMYXlvdXRVbml0IGNvbXB1dGVkQ1NT
UGFkZGluZyhjb25zdCBMZW5ndGgmKSBjb25zdDsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuY3BwCmluZGV4IDQ2
ZTVmMmFlZDg2M2QzOGU2MjU0NmQ1ZmE5ZDc1ZDJmMWU5MjRhZGIuLmM4MmI0M2ZmZjFhYmIzZGYz
N2NmYTE3NGViODliNzE0NDI5Yzg5M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyLmNwcApAQCAtNTAsNiArNTAsNyBA
QAogI2luY2x1ZGUgIlJlbmRlclRleHRGcmFnbWVudC5oIgogI2luY2x1ZGUgIlJlbmRlclRyZWVC
dWlsZGVyQmxvY2suaCIKICNpbmNsdWRlICJSZW5kZXJUcmVlQnVpbGRlckJsb2NrRmxvdy5oIgor
I2luY2x1ZGUgIlJlbmRlclRyZWVCdWlsZGVyQ29udGludWF0aW9uLmgiCiAjaW5jbHVkZSAiUmVu
ZGVyVHJlZUJ1aWxkZXJGaXJzdExldHRlci5oIgogI2luY2x1ZGUgIlJlbmRlclRyZWVCdWlsZGVy
Rm9ybUNvbnRyb2xzLmgiCiAjaW5jbHVkZSAiUmVuZGVyVHJlZUJ1aWxkZXJGdWxsU2NyZWVuLmgi
CkBAIC0xMzAsNiArMTMxLDcgQEAgUmVuZGVyVHJlZUJ1aWxkZXI6OlJlbmRlclRyZWVCdWlsZGVy
KFJlbmRlclZpZXcmIHZpZXcpCiAgICAgLCBtX2lubGluZUJ1aWxkZXIoc3RkOjptYWtlX3VuaXF1
ZTxJbmxpbmU+KCp0aGlzKSkKICAgICAsIG1fc3ZnQnVpbGRlcihzdGQ6Om1ha2VfdW5pcXVlPFNW
Rz4oKnRoaXMpKQogICAgICwgbV9tYXRoTUxCdWlsZGVyKHN0ZDo6bWFrZV91bmlxdWU8TWF0aE1M
PigqdGhpcykpCisgICAgLCBtX2NvbnRpbnVhdGlvbkJ1aWxkZXIoc3RkOjptYWtlX3VuaXF1ZTxD
b250aW51YXRpb24+KCp0aGlzKSkKICNpZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCiAgICAgLCBt
X2Z1bGxTY3JlZW5CdWlsZGVyKHN0ZDo6bWFrZV91bmlxdWU8RnVsbFNjcmVlbj4oKnRoaXMpKQog
I2VuZGlmCkBAIC0xNTcsNiArMTU5LDkgQEAgdm9pZCBSZW5kZXJUcmVlQnVpbGRlcjo6cmVtb3Zl
QW5kRGVzdHJveShSZW5kZXJPYmplY3QmIHJlbmRlcmVyKQogICAgIGlmIChpczxSZW5kZXJUZXh0
RnJhZ21lbnQ+KHJlbmRlcmVyKSkKICAgICAgICAgZmlyc3RMZXR0ZXJCdWlsZGVyKCkuY2xlYW51
cE9uRGVzdHJveShkb3duY2FzdDxSZW5kZXJUZXh0RnJhZ21lbnQ+KHJlbmRlcmVyKSk7CiAKKyAg
ICBpZiAoaXM8UmVuZGVyQm94TW9kZWxPYmplY3Q+KHJlbmRlcmVyKSkKKyAgICAgICAgY29udGlu
dWF0aW9uQnVpbGRlcigpLmNsZWFudXBPbkRlc3Ryb3koZG93bmNhc3Q8UmVuZGVyQm94TW9kZWxP
YmplY3Q+KHJlbmRlcmVyKSk7CisKICAgICAvLyBXZSBuZWVkIHRvIGRldGFjaCB0aGUgc3VidHJl
ZSBmaXJzdCBzbyB0aGF0IHRoZSBkZXNjZW5kYW50cyBkb24ndCBoYXZlCiAgICAgLy8gYWNjZXNz
IHRvIHByZXZpb3VzL25leHQgc3VibGluZ3MgYXQgdGFrZUNoaWxkKCkuCiAgICAgLy8gRklYTUU6
IHdlYmtpdC5vcmcvYi8xODI5MDkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlci5oCmluZGV4IDZiY2ExOGQxNDIyZDRkYzMyM2Yw
ZjlhOTZiNTgzYWRiZmU2MDc3MTEuLjc1NjcxYjcxZjk3OGY2ZWE1OGVlYTdkNmJjZjE2NWNkOGQ5
NTMyNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5k
ZXJUcmVlQnVpbGRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9S
ZW5kZXJUcmVlQnVpbGRlci5oCkBAIC05MSw2ICs5MSw3IEBAIHByaXZhdGU6CiAgICAgY2xhc3Mg
SW5saW5lOwogICAgIGNsYXNzIFNWRzsKICAgICBjbGFzcyBNYXRoTUw7CisgICAgY2xhc3MgQ29u
dGludWF0aW9uOwogI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKICAgICBjbGFzcyBGdWxsU2Ny
ZWVuOwogI2VuZGlmCkBAIC0xMDYsNiArMTA3LDcgQEAgcHJpdmF0ZToKICAgICBJbmxpbmUmIGlu
bGluZUJ1aWxkZXIoKSB7IHJldHVybiAqbV9pbmxpbmVCdWlsZGVyOyB9CiAgICAgU1ZHJiBzdmdC
dWlsZGVyKCkgeyByZXR1cm4gKm1fc3ZnQnVpbGRlcjsgfQogICAgIE1hdGhNTCYgbWF0aE1MQnVp
bGRlcigpIHsgcmV0dXJuICptX21hdGhNTEJ1aWxkZXI7IH0KKyAgICBDb250aW51YXRpb24mIGNv
bnRpbnVhdGlvbkJ1aWxkZXIoKSB7IHJldHVybiAqbV9jb250aW51YXRpb25CdWlsZGVyOyB9CiAj
aWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQogICAgIEZ1bGxTY3JlZW4mIGZ1bGxTY3JlZW5CdWls
ZGVyKCkgeyByZXR1cm4gKm1fZnVsbFNjcmVlbkJ1aWxkZXI7IH0KICNlbmRpZgpAQCAtMTI1LDYg
KzEyNyw3IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVfcHRyPElubGluZT4gbV9pbmxpbmVC
dWlsZGVyOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxTVkc+IG1fc3ZnQnVpbGRlcjsKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8TWF0aE1MPiBtX21hdGhNTEJ1aWxkZXI7CisgICAgc3RkOjp1bmlxdWVfcHRy
PENvbnRpbnVhdGlvbj4gbV9jb250aW51YXRpb25CdWlsZGVyOwogI2lmIEVOQUJMRShGVUxMU0NS
RUVOX0FQSSkKICAgICBzdGQ6OnVuaXF1ZV9wdHI8RnVsbFNjcmVlbj4gbV9mdWxsU2NyZWVuQnVp
bGRlcjsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0
aW5nL1JlbmRlclRyZWVCdWlsZGVyQ29udGludWF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckNvbnRpbnVhdGlvbi5jcHAKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uOGQzY2FkYzkzZGU0ZWZiNWM5MzAzMGZmMDNlNDVhNzAxMzQ4NTk5MgotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVp
bGRlckNvbnRpbnVhdGlvbi5jcHAKQEAgLTAsMCArMSw1MSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJSZW5kZXJUcmVlQnVpbGRlckNvbnRpbnVhdGlvbi5o
IgorCisjaW5jbHVkZSAiUmVuZGVyQm94TW9kZWxPYmplY3QuaCIKKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitSZW5kZXJUcmVlQnVpbGRlcjo6Q29udGludWF0aW9uOjpDb250aW51YXRpb24oUmVu
ZGVyVHJlZUJ1aWxkZXImIGJ1aWxkZXIpCisgICAgOiBtX2J1aWxkZXIoYnVpbGRlcikKK3sKK30K
Kwordm9pZCBSZW5kZXJUcmVlQnVpbGRlcjo6Q29udGludWF0aW9uOjpjbGVhbnVwT25EZXN0cm95
KFJlbmRlckJveE1vZGVsT2JqZWN0JiByZW5kZXJlcikKK3sKKyAgICBpZiAoIXJlbmRlcmVyLmNv
bnRpbnVhdGlvbigpIHx8IHJlbmRlcmVyLmlzQ29udGludWF0aW9uKCkpCisgICAgICAgIHJldHVy
bjsKKworICAgIEFTU0VSVChyZW5kZXJlci5oYXNDb250aW51YXRpb25DaGFpbk5vZGUoKSk7Cisg
ICAgQVNTRVJUKHJlbmRlcmVyLmNvbnRpbnVhdGlvbkNoYWluTm9kZSgpKTsKKyAgICBhdXRvJiBj
b250aW51YXRpb25DaGFpbk5vZGUgPSAqcmVuZGVyZXIuY29udGludWF0aW9uQ2hhaW5Ob2RlKCk7
CisgICAgd2hpbGUgKGNvbnRpbnVhdGlvbkNoYWluTm9kZS5uZXh0KQorICAgICAgICBtX2J1aWxk
ZXIucmVtb3ZlQW5kRGVzdHJveSgqY29udGludWF0aW9uQ2hhaW5Ob2RlLm5leHQtPnJlbmRlcmVy
KTsKKyAgICByZW5kZXJlci5yZW1vdmVGcm9tQ29udGludWF0aW9uQ2hhaW4oKTsKK30KKworfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVC
dWlsZGVyQ29udGludWF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcv
UmVuZGVyVHJlZUJ1aWxkZXJDb250aW51YXRpb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNzU3OTE2MzlkZDli
OTZkOTQxMWJlOTU1NWI2ZjlhNjQ4ZGEwMzMzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyQ29udGludWF0aW9uLmgK
QEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAi
UmVuZGVyVHJlZUJ1aWxkZXIuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBSZW5k
ZXJCb3hNb2RlbE9iamVjdDsKKworY2xhc3MgUmVuZGVyVHJlZUJ1aWxkZXI6OkNvbnRpbnVhdGlv
biB7CitwdWJsaWM6CisgICAgQ29udGludWF0aW9uKFJlbmRlclRyZWVCdWlsZGVyJik7CisKKyAg
ICB2b2lkIGNsZWFudXBPbkRlc3Ryb3koUmVuZGVyQm94TW9kZWxPYmplY3QmKTsKKworcHJpdmF0
ZToKKyAgICBSZW5kZXJUcmVlQnVpbGRlciYgbV9idWlsZGVyOworfTsKKworfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>