<?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>165988</bug_id>
          
          <creation_ts>2016-12-16 22:45:57 -0800</creation_ts>
          <short_desc>Remove WebCore::Dictionary, which is now unused</short_desc>
          <delta_ts>2016-12-17 10:06:30 -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>Bindings</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1260888</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-12-16 22:45:57 -0800</bug_when>
    <thetext>Remove WebCore::Dictionary, which is now unused</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1260889</commentid>
    <comment_count>1</comment_count>
      <attachid>297392</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-12-16 22:46:25 -0800</bug_when>
    <thetext>Created attachment 297392
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1260928</commentid>
    <comment_count>2</comment_count>
      <attachid>297392</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-12-17 08:42:42 -0800</bug_when>
    <thetext>Comment on attachment 297392
Patch

Clearing flags on attachment: 297392

Committed r209962: &lt;http://trac.webkit.org/changeset/209962&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1260929</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-12-17 08:42:46 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1260939</commentid>
    <comment_count>4</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2016-12-17 10:06:30 -0800</bug_when>
    <thetext>*** Bug 165996 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>297392</attachid>
            <date>2016-12-16 22:46:25 -0800</date>
            <delta_ts>2016-12-17 08:42:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-165988-20161216224530.patch</filename>
            <type>text/plain</type>
            <size>19400</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA5OTU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTEyY2NiNDhhNWM0MDI2
NzU5MzVmYTBhMjdhMzI2ZTFmMjg3YzgzOC4uYzk3OTM5OTBmM2Q3MGIxYmIzMWNlY2JjNGM1ZTMw
MzU1YWRhOTFlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE4IEBACiAyMDE2LTEyLTE2ICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAorICAgICAgICBSZW1vdmUgV2ViQ29yZTo6RGlj
dGlvbmFyeSwgd2hpY2ggaXMgbm93IHVudXNlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY1OTg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDogUmVtb3ZlZCB0aGUgZmlsZXMu
CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBEaXR0by4KKyAg
ICAgICAgKiBiaW5kaW5ncy9qcy9EaWN0aW9uYXJ5LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBi
aW5kaW5ncy9qcy9EaWN0aW9uYXJ5Lmg6IFJlbW92ZWQuCisgICAgICAgICogYmluZGluZ3MvanMv
SlNCaW5kaW5nc0FsbEluT25lLmNwcDogUmVtb3ZlZCBpbmNsdWRlIG9mIERpY3Rpb25hcnkuY3Bw
LgorCisyMDE2LTEyLTE2ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKwogICAgICAg
ICBSZW1vdmUgYWxsIGN1c3RvbSBiaW5kaW5ncyBmcm9tIG1lZGlhIHN0cmVhbXMsIHVzaW5nIGRp
Y3Rpb25hcmllcyBpbnN0ZWFkCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNjU5NDMKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBjMGYwY2YyMWYxODIz
ZGExYTZiMDRhNjc5NTc5YWVkZDc5NjdjOTIwLi5hNmVkOTRlZWViMTMxMzY5MzVmNjE3ODE3YTk1
OWRjYmUyNDlhYzQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTA3Nyw3ICsxMDc3LDYgQEAg
c2V0KFdlYkNvcmVfU09VUkNFUwogICAgIGJpbmRpbmdzL2pzL0NhbGxiYWNrRnVuY3Rpb24uY3Bw
CiAgICAgYmluZGluZ3MvanMvQ29tbW9uVk0uY3BwCiAgICAgYmluZGluZ3MvanMvRE9NV3JhcHBl
cldvcmxkLmNwcAotICAgIGJpbmRpbmdzL2pzL0RpY3Rpb25hcnkuY3BwCiAgICAgYmluZGluZ3Mv
anMvR0NDb250cm9sbGVyLmNwcAogICAgIGJpbmRpbmdzL2pzL0lEQkJpbmRpbmdVdGlsaXRpZXMu
Y3BwCiAgICAgYmluZGluZ3MvanMvSlNBbmltYXRpb25UaW1lbGluZUN1c3RvbS5jcHAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBl
YmE1NTEzYzNlNGVlMzA0ZjU5MDczMDE2ZDU2ZTRhNmMxOTI2MjdlLi4xODc3ODUyOTMxNWQ2YzU3
N2Q1ZjFlNTg3NDUzYzZlN2RkMDU5NGY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMzMxLDcgKzEzMzEsNiBAQAogCQkzMTI4
Q0E2ODE0NzMzMTUyMDA3NEM3MkEgLyogTm90aWZpY2F0aW9uQ29udHJvbGxlci5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTI4Q0E2NzE0NzMzMTUy
MDA3NEM3MkEgLyogTm90aWZpY2F0aW9uQ29udHJvbGxlci5jcHAgKi87IH07CiAJCTMxMjhDQTZC
MTQ3MzMxNjMwMDc0QzcyQSAvKiBOb3RpZmljYXRpb25Db250cm9sbGVyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTI4Q0E2QTE0NzMzMTYzMDA3NEM3
MkEgLyogTm90aWZpY2F0aW9uQ29udHJvbGxlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTMxMkMwQzQxMTQ2REM2Q0MwMDE2QzkxMSAvKiBOb3Rp
ZmljYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDMzM0Y3MDRGMEZCNDlDQTIwMDhFMTJBNiAvKiBOb3RpZmljYXRpb24uaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQkzMTJENjdCMTE1MzU2OTFGMDA1
NjNEMEQgLyogRGljdGlvbmFyeS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAzMTJENjdCMDE1MzU2OTFGMDA1NjNEMEQgLyogRGljdGlvbmFyeS5jcHAg
Ki87IH07CiAJCTMxMzEzRjY1MTQ0M0IzNUYwMDZFMkE5MCAvKiBGaWx0ZXJFZmZlY3RSZW5kZXJl
ci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTMx
M0Y2MzE0NDNCMzVFMDA2RTJBOTAgLyogRmlsdGVyRWZmZWN0UmVuZGVyZXIuY3BwICovOyB9Owog
CQkzMTMxM0Y2NjE0NDNCMzVGMDA2RTJBOTAgLyogRmlsdGVyRWZmZWN0UmVuZGVyZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxMzEzRjY0MTQ0M0Iz
NUUwMDZFMkE5MCAvKiBGaWx0ZXJFZmZlY3RSZW5kZXJlci5oICovOyB9OwogCQkzMTQwMzc5QjEy
NEJFQTdGMDBBRjQwRTQgLyogV2ViQ29yZU1vdGlvbk1hbmFnZXIuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNDAzNzk3MTI0QkVBN0YwMEFGNDBFNCAv
KiBXZWJDb3JlTW90aW9uTWFuYWdlci5oICovOyB9OwpAQCAtMTM0Niw3ICsxMzQ1LDYgQEAKIAkJ
MzE0QkUzQTMxQjMwRjZEMTAwMTQxOTgyIC8qIENTU05hbWVkSW1hZ2VWYWx1ZS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTRCRTNBMjFCMzBGNkQx
MDAxNDE5ODIgLyogQ1NTTmFtZWRJbWFnZVZhbHVlLmNwcCAqLzsgfTsKIAkJMzE0QkUzQTYxQjMx
MDNGQjAwMTQxOTgyIC8qIE5hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTRCRTNBNDFCMzEwM0ZCMDAxNDE5
ODIgLyogTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlLmNwcCAqLzsgfTsKIAkJMzE0QkUzQTcxQjMx
MDNGQjAwMTQxOTgyIC8qIE5hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE0QkUzQTUxQjMxMDNGQjAwMTQxOTgy
IC8qIE5hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZS5oICovOyB9OwotCQkzMTYwMjNGMDE1MzJDNDBD
MDBENTBGRjQgLyogRGljdGlvbmFyeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMzE2MDIzRUYxNTMyQzQwQzAwRDUwRkY0IC8qIERpY3Rpb25hcnkuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkzMTZGRTA3
MTBFNkNDQkVFMDBCRjYwODggLyogSlNDU1NLZXlmcmFtZVJ1bGUuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE2RkUwNkQwRTZDQ0JFRTAwQkY2MDg4
IC8qIEpTQ1NTS2V5ZnJhbWVSdWxlLmNwcCAqLzsgfTsKIAkJMzE2RkUwNzIwRTZDQ0JFRTAwQkY2
MDg4IC8qIEpTQ1NTS2V5ZnJhbWVSdWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAzMTZGRTA2RTBFNkNDQkVFMDBCRjYwODggLyogSlNDU1NLZXlmcmFt
ZVJ1bGUuaCAqLzsgfTsKIAkJMzE2RkUwNzMwRTZDQ0JFRTAwQkY2MDg4IC8qIEpTQ1NTS2V5ZnJh
bWVzUnVsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAzMTZGRTA2RjBFNkNDQkVFMDBCRjYwODggLyogSlNDU1NLZXlmcmFtZXNSdWxlLmNwcCAqLzsg
fTsKQEAgLTg0NzAsNyArODQ2OCw2IEBACiAJCTMxMjg4RTcxMEUzMDA1RDYwMDM2MTlBRSAvKiBD
U1NLZXlmcmFtZXNSdWxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU0tl
eWZyYW1lc1J1bGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzEyOENBNjcxNDcz
MzE1MjAwNzRDNzJBIC8qIE5vdGlmaWNhdGlvbkNvbnRyb2xsZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTm90aWZpY2F0aW9uQ29udHJvbGxlci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxMjhDQTZBMTQ3MzMxNjMwMDc0QzcyQSAvKiBOb3Rp
ZmljYXRpb25Db250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5v
dGlmaWNhdGlvbkNvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMzEy
RDY3QjAxNTM1NjkxRjAwNTYzRDBEIC8qIERpY3Rpb25hcnkuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gRGljdGlvbmFyeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTMxMzEzRjYzMTQ0M0IzNUUwMDZFMkE5MCAvKiBGaWx0ZXJFZmZlY3RSZW5kZXJl
ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBGaWx0ZXJFZmZlY3RS
ZW5kZXJlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxMzEzRjY0MTQ0M0Iz
NUUwMDZFMkE5MCAvKiBGaWx0ZXJFZmZlY3RSZW5kZXJlci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBGaWx0ZXJFZmZlY3RSZW5kZXJlci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkzMTQwMzc5NzEyNEJFQTdGMDBBRjQwRTQgLyogV2ViQ29yZU1vdGlvbk1hbmFn
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ29yZU1vdGlvbk1hbmFn
ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTg0ODYsNyArODQ4Myw2IEBACiAJ
CTMxNEJFM0EyMUIzMEY2RDEwMDE0MTk4MiAvKiBDU1NOYW1lZEltYWdlVmFsdWUuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NTTmFtZWRJbWFnZVZhbHVlLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzE0QkUzQTQxQjMxMDNGQjAwMTQxOTgyIC8q
IE5hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2UuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkzMTRCRTNBNTFCMzEwM0ZCMDAxNDE5ODIgLyogTmFtZWRJbWFnZUdlbmVy
YXRlZEltYWdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5hbWVkSW1hZ2VH
ZW5lcmF0ZWRJbWFnZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkzMTYwMjNFRjE1
MzJDNDBDMDBENTBGRjQgLyogRGljdGlvbmFyeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBEaWN0aW9uYXJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxNkZF
MDZEMEU2Q0NCRUUwMEJGNjA4OCAvKiBKU0NTU0tleWZyYW1lUnVsZS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0NTU0tleWZyYW1lUnVsZS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxNkZFMDZFMEU2Q0NCRUUwMEJGNjA4OCAvKiBKU0NTU0tl
eWZyYW1lUnVsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0NTU0tleWZy
YW1lUnVsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMTZGRTA2RjBFNkNDQkVF
MDBCRjYwODggLyogSlNDU1NLZXlmcmFtZXNSdWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTQ1NTS2V5ZnJhbWVzUnVsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC0yMTk0OSw4ICsyMTk0NSw2IEBACiAJCQkJOTNGOEIzMDYwQTMwMEZFQTAw
RjYxQUI4IC8qIENvZGVHZW5lcmF0b3JKUy5wbSAqLywKIAkJCQkwRjYwRjMyOTFERkJCMTA0MDA0
MTZENkMgLyogQ29tbW9uVk0uY3BwICovLAogCQkJCTBGNjBGMzJBMURGQkIxMDQwMDQxNkQ2QyAv
KiBDb21tb25WTS5oICovLAotCQkJCTMxMkQ2N0IwMTUzNTY5MUYwMDU2M0QwRCAvKiBEaWN0aW9u
YXJ5LmNwcCAqLywKLQkJCQkzMTYwMjNFRjE1MzJDNDBDMDBENTBGRjQgLyogRGljdGlvbmFyeS5o
ICovLAogCQkJCUI1NjU3NkU3MTdEQTk0RTIwMEE1NkJEQyAvKiBET01Db25zdHJ1Y3RvcldpdGhE
b2N1bWVudC5oICovLAogCQkJCUJDNTNEQTQ3MTE0MzEzNEQwMDBEODE3RSAvKiBET01XcmFwcGVy
V29ybGQuY3BwICovLAogCQkJCUJDNTNEQTJEMTE0MzEyMUUwMDBEODE3RSAvKiBET01XcmFwcGVy
V29ybGQuaCAqLywKQEAgLTI1Mzg3LDcgKzI1MzgxLDYgQEAKIAkJCQlDRUNBREZDNzE1Mzc3OEZG
MDBFMzcwNjggLyogRGljdGF0aW9uQWx0ZXJuYXRpdmUuaCBpbiBIZWFkZXJzICovLAogCQkJCUNF
Q0FERkM5MTUzNzc4RkYwMEUzNzA2OCAvKiBEaWN0YXRpb25Db21tYW5kLmggaW4gSGVhZGVycyAq
LywKIAkJCQlEMEJENEY1RDE0MDg4NTBGMDA2ODM5QjYgLyogRGljdGF0aW9uQ29tbWFuZElPUy5o
IGluIEhlYWRlcnMgKi8sCi0JCQkJMzE2MDIzRjAxNTMyQzQwQzAwRDUwRkY0IC8qIERpY3Rpb25h
cnkuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzN0ZGM0Q1MUExMDEyRDYwMDhFQkEzMSAvKiBEaWN0
aW9uYXJ5TG9va3VwLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRDU2NDZCMDFCOEY4NDkzMDAzQzQ5
OTQgLyogRGljdGlvbmFyeVBvcHVwSW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkRBRjE5OTkx
NTEzRDEzMTAwOERCMEMzIC8qIERpcmVjdENvbnZvbHZlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0y
OTE3NCw3ICsyOTE2Nyw2IEBACiAJCQkJQ0VDQURGQzYxNTM3NzhGRjAwRTM3MDY4IC8qIERpY3Rh
dGlvbkFsdGVybmF0aXZlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUNFQ0FERkM4MTUzNzc4RkYw
MEUzNzA2OCAvKiBEaWN0YXRpb25Db21tYW5kLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUQwQkQ0
RjVDMTQwODg1MEYwMDY4MzlCNiAvKiBEaWN0YXRpb25Db21tYW5kSU9TLmNwcCBpbiBTb3VyY2Vz
ICovLAotCQkJCTMxMkQ2N0IxMTUzNTY5MUYwMDU2M0QwRCAvKiBEaWN0aW9uYXJ5LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTkzN0ZGM0Q3MUExMDEzMUIwMDhFQkEzMSAvKiBEaWN0aW9uYXJ5TG9v
a3VwLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJRkRBRjE5OTgxNTEzRDEzMTAwOERCMEMzIC8qIERp
cmVjdENvbnZvbHZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3RTRERTEwRDE5OEIxMEI2MDA1
MUNCMDIgLyogRGlza0NhY2hlTW9uaXRvckNvY29hLm1tIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9EaWN0aW9uYXJ5LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0RpY3Rpb25hcnkuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA2NGE2Y2JjMWEzYWUzZDdjN2RiZjdiYWMzZTUyOWZkMDFhZjhkYmY5Li4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0RpY3Rpb25hcnkuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMTI3ICswLDAgQEAK
LS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0g
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAi
Y29uZmlnLmgiCi0jaW5jbHVkZSAiRGljdGlvbmFyeS5oIgotCi0jaW5jbHVkZSAiSlNET01Db252
ZXJ0LmgiCi0KLXVzaW5nIG5hbWVzcGFjZSBKU0M7Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQot
RGljdGlvbmFyeTo6RGljdGlvbmFyeSgpCi17Ci19Ci0KLURpY3Rpb25hcnk6OkRpY3Rpb25hcnko
RXhlY1N0YXRlKiBzdGF0ZSwgSlNPYmplY3QqIGluaXRpYWxpemVyT2JqZWN0KQotICAgIDogbV9z
dGF0ZShzdGF0ZSkKLXsKLSAgICBpZiAoc3RhdGUgJiYgaW5pdGlhbGl6ZXJPYmplY3QpCi0gICAg
ICAgIG1faW5pdGlhbGl6ZXJPYmplY3QgPSBTdHJvbmc8SlNPYmplY3Q+KHN0YXRlLT52bSgpLCBp
bml0aWFsaXplck9iamVjdCk7Ci19Ci0KLURpY3Rpb25hcnk6OkRpY3Rpb25hcnkoRXhlY1N0YXRl
KiBzdGF0ZSwgSlNWYWx1ZSB2YWx1ZSkKLSAgICA6IERpY3Rpb25hcnkoc3RhdGUsIHZhbHVlLmlz
T2JqZWN0KCkgPyB2YWx1ZS5nZXRPYmplY3QoKSA6IG51bGxwdHIpCi17Ci19Ci0KLURpY3Rpb25h
cnk6OkdldFByb3BlcnR5UmVzdWx0IERpY3Rpb25hcnk6OnRyeUdldFByb3BlcnR5KGNvbnN0IGNo
YXIqIHByb3BlcnR5TmFtZSwgSlNWYWx1ZSYgZmluYWxSZXN1bHQpIGNvbnN0Ci17Ci0gICAgQVNT
RVJUKGlzVmFsaWQoKSk7Ci0KLSAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSht
X3N0YXRlLT52bSgpKTsKLSAgICBhdXRvIGlkZW50aWZpZXIgPSBJZGVudGlmaWVyOjpmcm9tU3Ry
aW5nKG1fc3RhdGUsIHByb3BlcnR5TmFtZSk7Ci0gICAgYm9vbCBwcm9wZXJ0eUZvdW5kID0gbV9p
bml0aWFsaXplck9iamVjdC5nZXQoKS0+Z2V0UHJvcGVydHlTbG90KG1fc3RhdGUsIGlkZW50aWZp
ZXIsIFsmXSAoYm9vbCBwcm9wZXJ0eUZvdW5kLCBQcm9wZXJ0eVNsb3QmIHNsb3QpIC0+IGJvb2wg
ewotICAgICAgICBpZiAoIXByb3BlcnR5Rm91bmQpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7
Ci0gICAgICAgIGZpbmFsUmVzdWx0ID0gc2xvdC5nZXRWYWx1ZShtX3N0YXRlLCBpZGVudGlmaWVy
KTsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfSk7Ci0gICAgUkVUVVJOX0lGX0VYQ0VQVElP
TihzY29wZSwgRXhjZXB0aW9uVGhyb3duKTsKLSAgICByZXR1cm4gcHJvcGVydHlGb3VuZCA/IFBy
b3BlcnR5Rm91bmQgOiBOb1Byb3BlcnR5Rm91bmQ7Ci19Ci0KLWJvb2wgRGljdGlvbmFyeTo6Z2V0
T3duUHJvcGVydHlOYW1lcyhWZWN0b3I8U3RyaW5nPiYgbmFtZXMpIGNvbnN0Ci17Ci0gICAgaWYg
KCFpc1ZhbGlkKCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIFByb3BlcnR5TmFtZUFy
cmF5IHByb3BlcnR5TmFtZXMobV9zdGF0ZSwgUHJvcGVydHlOYW1lTW9kZTo6U3RyaW5ncyk7Ci0g
ICAgSlNPYmplY3Q6OmdldE93blByb3BlcnR5TmFtZXMobV9pbml0aWFsaXplck9iamVjdC5nZXQo
KSwgbV9zdGF0ZSwgcHJvcGVydHlOYW1lcywgRW51bWVyYXRpb25Nb2RlKCkpOwotICAgIGZvciAo
YXV0byYgaWRlbnRpZmllciA6IHByb3BlcnR5TmFtZXMpIHsKLSAgICAgICAgYXV0byBzdHJpbmdL
ZXkgPSBpZGVudGlmaWVyLnN0cmluZygpOwotICAgICAgICBpZiAoIXN0cmluZ0tleS5pc0VtcHR5
KCkpCi0gICAgICAgICAgICBuYW1lcy5hcHBlbmQoc3RyaW5nS2V5KTsKLSAgICB9Ci0KLSAgICBy
ZXR1cm4gdHJ1ZTsKLX0KLQotLy8gTUFSSzogLSBWYWx1ZSBjb252ZXJzaW9ucwotCi12b2lkIERp
Y3Rpb25hcnk6OmNvbnZlcnRWYWx1ZShFeGVjU3RhdGUmIHN0YXRlLCBKU1ZhbHVlIHZhbHVlLCBi
b29sJiByZXN1bHQpCi17Ci0gICAgcmVzdWx0ID0gY29udmVydDxJRExCb29sZWFuPihzdGF0ZSwg
dmFsdWUpOwotfQotCi12b2lkIERpY3Rpb25hcnk6OmNvbnZlcnRWYWx1ZShFeGVjU3RhdGUmIHN0
YXRlLCBKU1ZhbHVlIHZhbHVlLCBpbnQmIHJlc3VsdCkKLXsKLSAgICByZXN1bHQgPSBjb252ZXJ0
PElETExvbmc+KHN0YXRlLCB2YWx1ZSk7Ci19Ci0KLXZvaWQgRGljdGlvbmFyeTo6Y29udmVydFZh
bHVlKEV4ZWNTdGF0ZSYgc3RhdGUsIEpTVmFsdWUgdmFsdWUsIHVuc2lnbmVkJiByZXN1bHQpCi17
Ci0gICAgcmVzdWx0ID0gY29udmVydDxJRExVbnNpZ25lZExvbmc+KHN0YXRlLCB2YWx1ZSk7Ci19
Ci0KLXZvaWQgRGljdGlvbmFyeTo6Y29udmVydFZhbHVlKEV4ZWNTdGF0ZSYgc3RhdGUsIEpTVmFs
dWUgdmFsdWUsIHVuc2lnbmVkIHNob3J0JiByZXN1bHQpCi17Ci0gICAgcmVzdWx0ID0gY29udmVy
dDxJRExVbnNpZ25lZFNob3J0PihzdGF0ZSwgdmFsdWUpOwotfQotCi12b2lkIERpY3Rpb25hcnk6
OmNvbnZlcnRWYWx1ZShFeGVjU3RhdGUmIHN0YXRlLCBKU1ZhbHVlIHZhbHVlLCBkb3VibGUmIHJl
c3VsdCkKLXsKLSAgICByZXN1bHQgPSBjb252ZXJ0PElETERvdWJsZT4oc3RhdGUsIHZhbHVlKTsK
LX0KLQotdm9pZCBEaWN0aW9uYXJ5Ojpjb252ZXJ0VmFsdWUoRXhlY1N0YXRlJiBzdGF0ZSwgSlNW
YWx1ZSB2YWx1ZSwgU3RyaW5nJiByZXN1bHQpCi17Ci0gICAgcmVzdWx0ID0gY29udmVydDxJRExE
T01TdHJpbmc+KHN0YXRlLCB2YWx1ZSk7Ci19Ci0KLXZvaWQgRGljdGlvbmFyeTo6Y29udmVydFZh
bHVlKEV4ZWNTdGF0ZSYgc3RhdGUsIEpTVmFsdWUgdmFsdWUsIFZlY3RvcjxTdHJpbmc+JiByZXN1
bHQpCi17Ci0gICAgaWYgKHZhbHVlLmlzVW5kZWZpbmVkT3JOdWxsKCkpCi0gICAgICAgIHJldHVy
bjsKLSAgICByZXN1bHQgPSBjb252ZXJ0PElETFNlcXVlbmNlPElETERPTVN0cmluZz4+KHN0YXRl
LCB2YWx1ZSk7Ci19Ci0KLXZvaWQgRGljdGlvbmFyeTo6Y29udmVydFZhbHVlKEV4ZWNTdGF0ZSYg
c3RhdGUsIEpTVmFsdWUgdmFsdWUsIERpY3Rpb25hcnkmIHJlc3VsdCkKLXsKLSAgICByZXN1bHQg
PSBEaWN0aW9uYXJ5KCZzdGF0ZSwgdmFsdWUpOwotfQotCi19CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9EaWN0aW9uYXJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9EaWN0aW9uYXJ5LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlmZDlhYTdm
OGM5YzRiODE3MjM2ZDlmYzI0NTYwZDEyNjIxYjg4NmQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvRGljdGlv
bmFyeS5oCisrKyAvZGV2L251bGwKQEAgLTEsMTUzICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAo
QykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
Ci0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUKLSAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLSAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCi0gKiAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKLSAqIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKLSAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNl
Ci0KLSNpbmNsdWRlIDxoZWFwL1N0cm9uZy5oPgotI2luY2x1ZGUgPGhlYXAvU3Ryb25nSW5saW5l
cy5oPgotI2luY2x1ZGUgPGludGVycHJldGVyL0NhbGxGcmFtZS5oPgotI2luY2x1ZGUgPHJ1bnRp
bWUvSlNDSW5saW5lcy5oPgotI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3Rm
L09wdGlvbmFsLmg+Ci0jaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgotI2luY2x1ZGUgPHd0
Zi90ZXh0L1dURlN0cmluZy5oPgotCi1uYW1lc3BhY2UgSlNDIHsKLWNsYXNzIEpTT2JqZWN0Owot
Y2xhc3MgSlNWYWx1ZTsKLX0KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBEaWN0aW9u
YXJ5IHsKLXB1YmxpYzoKLSAgICBEaWN0aW9uYXJ5KCk7Ci0gICAgRGljdGlvbmFyeShKU0M6OkV4
ZWNTdGF0ZSosIEpTQzo6SlNPYmplY3QqKTsKLSAgICBEaWN0aW9uYXJ5KEpTQzo6RXhlY1N0YXRl
KiwgSlNDOjpKU1ZhbHVlKTsKLQotICAgIC8vIFJldHVybnMgdHJ1ZSBpZiBhIHZhbHVlIHdhcyBm
b3VuZCBmb3IgdGhlIHByb3ZpZGVkIHByb3BlcnR5LgotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFJl
c3VsdD4gYm9vbCBnZXQoY29uc3QgY2hhciogcHJvcGVydHlOYW1lLCBSZXN1bHQmKSBjb25zdDsK
LSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBSZXN1bHQ+IGJvb2wgZ2V0KGNvbnN0IFN0cmluZyYgcHJv
cGVydHlOYW1lLCBSZXN1bHQmKSBjb25zdDsKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBSZXN1bHQ+
IHN0ZDo6b3B0aW9uYWw8UmVzdWx0PiBnZXQoY29uc3QgY2hhciogcHJvcGVydHlOYW1lKSBjb25z
dDsKLSAgICAKLSAgICBib29sIGlzT2JqZWN0KCkgY29uc3QgeyByZXR1cm4gaXNWYWxpZCgpOyB9
Ci0gICAgYm9vbCBpc1VuZGVmaW5lZE9yTnVsbCgpIGNvbnN0IHsgcmV0dXJuICFpc1ZhbGlkKCk7
IH0KLQotICAgIGJvb2wgZ2V0T3duUHJvcGVydHlOYW1lcyhWZWN0b3I8U3RyaW5nPiYpIGNvbnN0
OwotICAgIGJvb2wgZ2V0V2l0aFVuZGVmaW5lZE9yTnVsbENoZWNrKGNvbnN0IGNoYXIqIHByb3Bl
cnR5TmFtZSwgU3RyaW5nJikgY29uc3Q7Ci0KLSAgICBKU0M6OkV4ZWNTdGF0ZSogZXhlY1N0YXRl
KCkgY29uc3QgeyByZXR1cm4gbV9zdGF0ZTsgfQotICAgIEpTQzo6SlNPYmplY3QqIGluaXRpYWxp
emVyT2JqZWN0KCkgY29uc3QgeyByZXR1cm4gbV9pbml0aWFsaXplck9iamVjdC5nZXQoKTsgfQot
Ci1wcml2YXRlOgotICAgIGJvb2wgaXNWYWxpZCgpIGNvbnN0IHsgcmV0dXJuIG1fc3RhdGUgJiYg
bV9pbml0aWFsaXplck9iamVjdDsgfQotCi0gICAgZW51bSBHZXRQcm9wZXJ0eVJlc3VsdCB7Ci0g
ICAgICAgIEV4Y2VwdGlvblRocm93biwKLSAgICAgICAgTm9Qcm9wZXJ0eUZvdW5kLAotICAgICAg
ICBQcm9wZXJ0eUZvdW5kCi0gICAgfTsKLQotICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBSZXN1bHQ+
Ci0gICAgR2V0UHJvcGVydHlSZXN1bHQgdHJ5R2V0UHJvcGVydHlBbmRSZXN1bHQoY29uc3QgY2hh
ciogcHJvcGVydHlOYW1lLCBSZXN1bHQmIGNvbnRleHQpIGNvbnN0OwotICAgIEdldFByb3BlcnR5
UmVzdWx0IHRyeUdldFByb3BlcnR5KGNvbnN0IGNoYXIqIHByb3BlcnR5TmFtZSwgSlNDOjpKU1Zh
bHVlJikgY29uc3Q7Ci0KLSAgICBzdGF0aWMgdm9pZCBjb252ZXJ0VmFsdWUoSlNDOjpFeGVjU3Rh
dGUmLCBKU0M6OkpTVmFsdWUsIGJvb2wmIHJlc3VsdCk7Ci0gICAgc3RhdGljIHZvaWQgY29udmVy
dFZhbHVlKEpTQzo6RXhlY1N0YXRlJiwgSlNDOjpKU1ZhbHVlLCBpbnQmIHJlc3VsdCk7Ci0gICAg
c3RhdGljIHZvaWQgY29udmVydFZhbHVlKEpTQzo6RXhlY1N0YXRlJiwgSlNDOjpKU1ZhbHVlLCB1
bnNpZ25lZCYgcmVzdWx0KTsKLSAgICBzdGF0aWMgdm9pZCBjb252ZXJ0VmFsdWUoSlNDOjpFeGVj
U3RhdGUmLCBKU0M6OkpTVmFsdWUsIHVuc2lnbmVkIHNob3J0JiByZXN1bHQpOwotICAgIHN0YXRp
YyB2b2lkIGNvbnZlcnRWYWx1ZShKU0M6OkV4ZWNTdGF0ZSYsIEpTQzo6SlNWYWx1ZSwgZG91Ymxl
JiByZXN1bHQpOwotICAgIHN0YXRpYyB2b2lkIGNvbnZlcnRWYWx1ZShKU0M6OkV4ZWNTdGF0ZSYs
IEpTQzo6SlNWYWx1ZSwgU3RyaW5nJiByZXN1bHQpOwotICAgIHN0YXRpYyB2b2lkIGNvbnZlcnRW
YWx1ZShKU0M6OkV4ZWNTdGF0ZSYsIEpTQzo6SlNWYWx1ZSwgVmVjdG9yPFN0cmluZz4mIHJlc3Vs
dCk7Ci0gICAgc3RhdGljIHZvaWQgY29udmVydFZhbHVlKEpTQzo6RXhlY1N0YXRlJiwgSlNDOjpK
U1ZhbHVlLCBEaWN0aW9uYXJ5JiByZXN1bHQpOwotCi0gICAgSlNDOjpFeGVjU3RhdGUqIG1fc3Rh
dGUgeyBudWxscHRyIH07Ci0gICAgSlNDOjpTdHJvbmc8SlNDOjpKU09iamVjdD4gbV9pbml0aWFs
aXplck9iamVjdDsKLX07Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIFJlc3VsdD4gYm9vbCBEaWN0aW9u
YXJ5OjpnZXQoY29uc3QgY2hhciogcHJvcGVydHlOYW1lLCBSZXN1bHQmIHJlc3VsdCkgY29uc3QK
LXsKLSAgICByZXR1cm4gaXNWYWxpZCgpICYmIHRyeUdldFByb3BlcnR5QW5kUmVzdWx0KHByb3Bl
cnR5TmFtZSwgcmVzdWx0KSA9PSBQcm9wZXJ0eUZvdW5kOwotfQotCi10ZW1wbGF0ZTx0eXBlbmFt
ZSBSZXN1bHQ+IGJvb2wgRGljdGlvbmFyeTo6Z2V0KGNvbnN0IFN0cmluZyYgcHJvcGVydHlOYW1l
LCBSZXN1bHQmIHJlc3VsdCkgY29uc3QKLXsKLSAgICByZXR1cm4gZ2V0KHByb3BlcnR5TmFtZS51
dGY4KCkuZGF0YSgpLCByZXN1bHQpOwotfQotCi10ZW1wbGF0ZTx0eXBlbmFtZSBSZXN1bHQ+IHN0
ZDo6b3B0aW9uYWw8UmVzdWx0PiBEaWN0aW9uYXJ5OjpnZXQoY29uc3QgY2hhciogcHJvcGVydHlO
YW1lKSBjb25zdAotewotICAgIFJlc3VsdCByZXN1bHQ7Ci0gICAgaWYgKCFnZXQocHJvcGVydHlO
YW1lLCByZXN1bHQpKQotICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci0KLXRlbXBsYXRlIDw+Ci1pbmxpbmUgYm9vbCBEaWN0aW9uYXJ5OjpnZXQoY29u
c3QgY2hhciogcHJvcGVydHlOYW1lLCBKU0M6OkpTVmFsdWUmIGZpbmFsUmVzdWx0KSBjb25zdAot
ewotICAgIHJldHVybiB0cnlHZXRQcm9wZXJ0eShwcm9wZXJ0eU5hbWUsIGZpbmFsUmVzdWx0KSA9
PSBQcm9wZXJ0eUZvdW5kOwotfQotCi1pbmxpbmUgYm9vbCBEaWN0aW9uYXJ5OjpnZXRXaXRoVW5k
ZWZpbmVkT3JOdWxsQ2hlY2soY29uc3QgY2hhciogcHJvcGVydHlOYW1lLCBTdHJpbmcmIHJlc3Vs
dCkgY29uc3QKLXsKLSAgICBBU1NFUlQoaXNWYWxpZCgpKTsKLQotICAgIEpTQzo6SlNWYWx1ZSB2
YWx1ZTsKLSAgICBpZiAoIWdldChwcm9wZXJ0eU5hbWUsIHZhbHVlKSB8fCB2YWx1ZS5pc1VuZGVm
aW5lZE9yTnVsbCgpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICByZXN1bHQgPSB2YWx1
ZS50b1dURlN0cmluZyhtX3N0YXRlKTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotdGVtcGxhdGUg
PHR5cGVuYW1lIFJlc3VsdD4KLURpY3Rpb25hcnk6OkdldFByb3BlcnR5UmVzdWx0IERpY3Rpb25h
cnk6OnRyeUdldFByb3BlcnR5QW5kUmVzdWx0KGNvbnN0IGNoYXIqIHByb3BlcnR5TmFtZSwgUmVz
dWx0JiBmaW5hbFJlc3VsdCkgY29uc3QKLXsKLSAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJP
V19TQ09QRShtX3N0YXRlLT52bSgpKTsKLQotICAgIEpTQzo6SlNWYWx1ZSB2YWx1ZTsKLSAgICBH
ZXRQcm9wZXJ0eVJlc3VsdCBnZXRQcm9wZXJ0eVJlc3VsdCA9IHRyeUdldFByb3BlcnR5KHByb3Bl
cnR5TmFtZSwgdmFsdWUpOwotICAgIHN3aXRjaCAoZ2V0UHJvcGVydHlSZXN1bHQpIHsKLSAgICBj
YXNlIEV4Y2VwdGlvblRocm93bjoKLSAgICAgICAgcmV0dXJuIGdldFByb3BlcnR5UmVzdWx0Owot
ICAgIGNhc2UgUHJvcGVydHlGb3VuZDogewotICAgICAgICBSZXN1bHQgcmVzdWx0OwotICAgICAg
ICBjb252ZXJ0VmFsdWUoKm1fc3RhdGUsIHZhbHVlLCByZXN1bHQpOwotCi0gICAgICAgIFJFVFVS
Tl9JRl9FWENFUFRJT04oc2NvcGUsIEV4Y2VwdGlvblRocm93bik7Ci0KLSAgICAgICAgZmluYWxS
ZXN1bHQgPSByZXN1bHQ7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLSAgICBjYXNlIE5vUHJvcGVy
dHlGb3VuZDoKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotCi0gICAgcmV0dXJuIGdldFByb3BlcnR5
UmVzdWx0OwotfQotCi19CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0JpbmRpbmdzQWxsSW5PbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNCaW5k
aW5nc0FsbEluT25lLmNwcAppbmRleCBjYzk2MTk0NTZiZDZkZjQxNTI4OGM4MmI0YTNjM2E3YmRi
MjE3ODViLi4zZDM1ZTdjMTNhMmE1ZDdkNThhNzM4ZWIxM2E0OGNiZDVmNWE3NTIyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5PbmUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHAKQEAg
LTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlICJDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwIgog
I2luY2x1ZGUgIkNhbGxiYWNrRnVuY3Rpb24uY3BwIgogI2luY2x1ZGUgIkRPTVdyYXBwZXJXb3Js
ZC5jcHAiCi0jaW5jbHVkZSAiRGljdGlvbmFyeS5jcHAiCiAjaW5jbHVkZSAiR0NDb250cm9sbGVy
LmNwcCIKICNpbmNsdWRlICJKU0FuaW1hdGlvblRpbWVsaW5lQ3VzdG9tLmNwcCIKICNpbmNsdWRl
ICJKU0F0dHJDdXN0b20uY3BwIgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>