<?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>132324</bug_id>
          
          <creation_ts>2014-04-29 00:47:00 -0700</creation_ts>
          <short_desc>[WK2] DatabaseProcess should be sandboxed</short_desc>
          <delta_ts>2014-04-29 10:54:52 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></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="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>andersca</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1004865</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-04-29 00:47:00 -0700</bug_when>
    <thetext>&lt;rdar://problem/15961708&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1004869</commentid>
    <comment_count>1</comment_count>
      <attachid>230361</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-04-29 00:55:48 -0700</bug_when>
    <thetext>Created attachment 230361
proposed patch

Tested by running storage/indexeddb tests on 10.9.2 and observing no sandbox violations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005019</commentid>
    <comment_count>2</comment_count>
      <attachid>230361</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-04-29 10:54:50 -0700</bug_when>
    <thetext>Comment on attachment 230361
proposed patch

Clearing flags on attachment: 230361

Committed r167946: &lt;http://trac.webkit.org/changeset/167946&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005020</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-04-29 10:54:52 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>230361</attachid>
            <date>2014-04-29 00:55:48 -0700</date>
            <delta_ts>2014-04-29 10:54:50 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>DatabasesSandbox.txt</filename>
            <type>text/plain</type>
            <size>26013</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2NzkyMykKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQyIEBACisyMDE0LTA0LTI5ICBBbGV4ZXkg
UHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIFtXSzJdIERhdGFiYXNlUHJv
Y2VzcyBzaG91bGQgYmUgc2FuZGJveGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMzIzMjQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzE1OTYxNzA4
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ29u
ZmlndXJhdGlvbnMvV2ViS2l0Mi54Y2NvbmZpZzogQWRkZWQgdGhlIHByb2ZpbGUgdG8gdGhlIGxp
c3Qgb2YgZmlsZXMgc2tpcHBlZAorICAgICAgICBvbiBpT1MuCisKKyAgICAgICAgKiBEYXRhYmFz
ZVByb2Nlc3MvRGF0YWJhc2VQcm9jZXNzLmNwcDogKFdlYktpdDo6RGF0YWJhc2VQcm9jZXNzOjpp
bml0aWFsaXplRGF0YWJhc2VQcm9jZXNzKToKKyAgICAgICAgQ29uc3VtZSBhIHNhbmRib3ggZXh0
ZW5zaW9uIGZvciBJbmRleGVkREIgZGlyZWN0b3J5ICh3aGljaCB3ZSBnZXQgd2l0aCBpbml0aWFs
aXphdGlvbgorICAgICAgICBtZXNzYWdlIGFmdGVyIGVudGVyaW5nIHNhbmRib3gpLgorCisgICAg
ICAgICogRGF0YWJhc2VQcm9jZXNzL2lvczogQWRkZWQuCisgICAgICAgICogRGF0YWJhc2VQcm9j
ZXNzL2lvcy9EYXRhYmFzZVByb2Nlc3NJT1MubW06IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQy
L0RhdGFiYXNlUHJvY2Vzcy9tYWMvRGF0YWJhc2VQcm9jZXNzTWFjLm1tLgorICAgICAgICBTZXBh
cmF0ZWQgZnJvbSBNYWMgdmVyc2lvbiB0byBtYXRjaCBob3cgb3RoZXIgcHJvY2Vzc2VzIGFyZSBp
bXBsZW1lbnRlZC4KKworICAgICAgICAqIERhdGFiYXNlUHJvY2Vzcy9tYWMvRGF0YWJhc2VQcm9j
ZXNzTWFjLm1tOiAoV2ViS2l0OjpEYXRhYmFzZVByb2Nlc3M6OmluaXRpYWxpemVQcm9jZXNzTmFt
ZSk6CisgICAgICAgIFJlbW92ZWQgaWZkZWZzLgorCisgICAgICAgICogRGF0YWJhc2VQcm9jZXNz
L21hYy9jb20uYXBwbGUuV2ViS2l0LkRhdGFiYXNlcy5zYi5pbjogQWRkZWQuCisKKyAgICAgICAg
KiBEZXJpdmVkU291cmNlcy5tYWtlOiBHZW5lcmF0ZSB0aGUgcHJvZmlsZSBmcm9tIC5zYi5pbi4K
KworICAgICAgICAqIFNoYXJlZC9EYXRhYmFzZXMvRGF0YWJhc2VQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RGF0YWJhc2VQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzOjplbmNvZGUpOgorICAgICAgICAoV2ViS2l0OjpEYXRhYmFzZVByb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnM6OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL0RhdGFiYXNlcy9EYXRhYmFz
ZVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAgQWRkZWQgYSBzYW5kYm94IGV4
dGVuc2lvbiBmb3IgaW5kZXhlZERhdGFiYXNlRGlyZWN0b3J5LgorCisgICAgICAgICogU2hhcmVk
L1NlY3VyaXR5T3JpZ2luRGF0YS5oOiBBZGRlZCBhbiB1bnJlbGF0ZWQgRklYTUUuCisKKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViQ29udGV4dC5jcHA6IChXZWJLaXQ6OldlYkNvbnRleHQ6OmVuc3Vy
ZURhdGFiYXNlUHJvY2Vzcyk6IENyZWF0ZQorICAgICAgICBhIHNhbmRib3ggZXh0ZW5zaW9uIGZv
ciBpbmRleGVkRGF0YWJhc2VEaXJlY3RvcnkuCisKKyAgICAgICAgKiBXZWJLaXQyLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6IEFkZGVkIG5ldyBmaWxlcy4KKwogMjAxNC0wNC0yOCAgRGFuIEJl
cm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xNjc1
MDcwOD4gUkVHUkVTU0lPTiAocjE1OTM1OCk6IENyYXNoIGluIEluamVjdGVkQnVuZGxlSGl0VGVz
dFJlc3VsdDo6ZnJhbWUKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLm1ha2UK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvRGVyaXZlZFNvdXJjZXMubWFrZQkocmV2aXNp
b24gMTY3OTIzKQorKysgU291cmNlL1dlYktpdDIvRGVyaXZlZFNvdXJjZXMubWFrZQkod29ya2lu
ZyBjb3B5KQpAQCAtMjQsNiArMjQsNyBAQCBWUEFUSCA9IFwKICAgICAkKFdlYktpdDIpIFwKICAg
ICAkKFdlYktpdDIpL0RhdGFiYXNlUHJvY2VzcyBcCiAgICAgJChXZWJLaXQyKS9EYXRhYmFzZVBy
b2Nlc3MvSW5kZXhlZERCIFwKKyAgICAkKFdlYktpdDIpL0RhdGFiYXNlUHJvY2Vzcy9tYWMgXAog
ICAgICQoV2ViS2l0MikvTmV0d29ya1Byb2Nlc3MgXAogICAgICQoV2ViS2l0MikvTmV0d29ya1By
b2Nlc3MvbWFjIFwKICAgICAkKFdlYktpdDIpL1BsdWdpblByb2Nlc3MgXApAQCAtMTc5LDYgKzE4
MCw3IEBAIGVuZGlmCiAKIFNBTkRCT1hfUFJPRklMRVMgPSBcCiAJY29tLmFwcGxlLldlYlByb2Nl
c3Muc2IgXAorCWNvbS5hcHBsZS5XZWJLaXQuRGF0YWJhc2VzLnNiIFwKIAljb20uYXBwbGUuV2Vi
S2l0Lk5ldHdvcmtQcm9jZXNzLnNiCiAKIGFsbDogJChTQU5EQk9YX1BST0ZJTEVTKQpJbmRleDog
U291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvV2ViS2l0Mi54Y2NvbmZpZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9XZWJLaXQyLnhjY29uZmlnCShyZXZp
c2lvbiAxNjc5MjMpCisrKyBTb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9XZWJLaXQyLnhj
Y29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC00Myw3ICs0Myw3IEBAIE9USEVSX0xERkxBR1NfaXBo
b25lc2ltdWxhdG9yID0gJChPVEhFUl8KIE9USEVSX0xERkxBR1NfbWFjb3N4ID0gJChBU0FOX09U
SEVSX0xERkxBR1MpICQoRlJBTUVXT1JLX0FORF9MSUJSQVJZX0xERkxBR1MpOwogCiBFWENMVURF
RF9TT1VSQ0VfRklMRV9OQU1FUyA9ICQoRVhDTFVERURfU09VUkNFX0ZJTEVfTkFNRVNfJChQTEFU
Rk9STV9OQU1FKSk7Ci1FWENMVURFRF9TT1VSQ0VfRklMRV9OQU1FU19pcGhvbmVvcyA9ICoucGRm
IGNvbS5hcHBsZS5XZWJLaXQuTmV0d29ya1Byb2Nlc3Muc2IgY29tLmFwcGxlLldlYlByb2Nlc3Mu
c2IgUGx1Z0luU2FuZGJveFByb2ZpbGVzLyouc2I7CitFWENMVURFRF9TT1VSQ0VfRklMRV9OQU1F
U19pcGhvbmVvcyA9ICoucGRmIGNvbS5hcHBsZS5XZWJLaXQuRGF0YWJhc2VQcm9jZXNzLnNiIGNv
bS5hcHBsZS5XZWJLaXQuTmV0d29ya1Byb2Nlc3Muc2IgY29tLmFwcGxlLldlYlByb2Nlc3Muc2Ig
UGx1Z0luU2FuZGJveFByb2ZpbGVzLyouc2I7CiBFWENMVURFRF9TT1VSQ0VfRklMRV9OQU1FU19p
cGhvbmVzaW11bGF0b3IgPSAkKEVYQ0xVREVEX1NPVVJDRV9GSUxFX05BTUVTX2lwaG9uZW9zKTsK
IAogSU5TVEFMTEhEUlNfU0NSSVBUX1BIQVNFID0gWUVTOwpJbmRleDogU291cmNlL1dlYktpdDIv
RGF0YWJhc2VQcm9jZXNzL0RhdGFiYXNlUHJvY2Vzcy5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvRGF0YWJhc2VQcm9jZXNzL0RhdGFiYXNlUHJvY2Vzcy5jcHAJKHJldmlzaW9uIDE2
NzkyMykKKysrIFNvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9EYXRhYmFzZVByb2Nlc3Mu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC05OCw2ICs5OCw3IEBAIHZvaWQgRGF0YWJhc2VQcm9jZXNz
OjpyZW1vdmVVbmlxdWVJREJEYXQKIHZvaWQgRGF0YWJhc2VQcm9jZXNzOjppbml0aWFsaXplRGF0
YWJhc2VQcm9jZXNzKGNvbnN0IERhdGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYgcGFy
YW1ldGVycykKIHsKICAgICBtX2luZGV4ZWREYXRhYmFzZURpcmVjdG9yeSA9IHBhcmFtZXRlcnMu
aW5kZXhlZERhdGFiYXNlRGlyZWN0b3J5OworICAgIFNhbmRib3hFeHRlbnNpb246OmNvbnN1bWVQ
ZXJtYW5lbnRseShwYXJhbWV0ZXJzLmluZGV4ZWREYXRhYmFzZURpcmVjdG9yeUV4dGVuc2lvbkhh
bmRsZSk7CiAKICAgICBlbnN1cmVJbmRleGVkRGF0YWJhc2VSZWxhdGl2ZVBhdGhFeGlzdHMoU3Ry
aW5nSW1wbDo6ZW1wdHkoKSk7CiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nl
c3MvaW9zL0RhdGFiYXNlUHJvY2Vzc0lPUy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
Mi9EYXRhYmFzZVByb2Nlc3MvaW9zL0RhdGFiYXNlUHJvY2Vzc0lPUy5tbQkocmV2aXNpb24gMTY3
OTIzKQkoZnJvbSBTb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3MvbWFjL0RhdGFiYXNlUHJv
Y2Vzc01hYy5tbToxNjc5MjMpCisrKyBTb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3MvaW9z
L0RhdGFiYXNlUHJvY2Vzc0lPUy5tbQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDY0IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisjaW1wb3J0ICJEYXRhYmFzZVByb2Nlc3Mu
aCIKKworI2ltcG9ydCAiU2FuZGJveEluaXRpYWxpemF0aW9uUGFyYW1ldGVycy5oIgorI2ltcG9y
dCA8V2ViQ29yZS9Mb2NhbGl6ZWRTdHJpbmdzLmg+CisjaW1wb3J0IDxXZWJLaXRTeXN0ZW1JbnRl
cmZhY2UuaD4KKworI2lmIEVOQUJMRShEQVRBQkFTRV9QUk9DRVNTKQorCit1c2luZyBuYW1lc3Bh
Y2UgV2ViQ29yZTsKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3ZvaWQgRGF0YWJhc2VQcm9jZXNz
Ojppbml0aWFsaXplUHJvY2Vzcyhjb25zdCBDaGlsZFByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFt
ZXRlcnMmKQoreworICAgIC8vIEhhdmluZyBhIHdpbmRvdyBzZXJ2ZXIgY29ubmVjdGlvbiBpbiB0
aGlzIHByb2Nlc3Mgd291bGQgcmVzdWx0IGluIHNwaW4gbG9ncyAoPHJkYXI6Ly9wcm9ibGVtLzEz
MjM5MTE5PikuCisgICAgc2V0QXBwbGljYXRpb25Jc0RhZW1vbigpOworfQorCit2b2lkIERhdGFi
YXNlUHJvY2Vzczo6aW5pdGlhbGl6ZVByb2Nlc3NOYW1lKGNvbnN0IENoaWxkUHJvY2Vzc0luaXRp
YWxpemF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykKK3sKKyNpZiAhUExBVEZPUk0oSU9TKQor
ICAgIE5TU3RyaW5nICphcHBsaWNhdGlvbk5hbWUgPSBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1h
dDpXRUJfVUlfU1RSSU5HKCIlQCBEYXRhYmFzZSBTdG9yYWdlIiwgInZpc2libGUgbmFtZSBvZiB0
aGUgZGF0YWJhc2UgcHJvY2Vzcy4gVGhlIGFyZ3VtZW50IGlzIHRoZSBhcHBsaWNhdGlvbiBuYW1l
LiIpLCAoTlNTdHJpbmcgKilwYXJhbWV0ZXJzLnVpUHJvY2Vzc05hbWVdOworICAgIFdLU2V0Vmlz
aWJsZUFwcGxpY2F0aW9uTmFtZSgoQ0ZTdHJpbmdSZWYpYXBwbGljYXRpb25OYW1lKTsKKyNlbmRp
ZgorfQorCit2b2lkIERhdGFiYXNlUHJvY2Vzczo6aW5pdGlhbGl6ZVNhbmRib3goY29uc3QgQ2hp
bGRQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzLCBTYW5kYm94SW5p
dGlhbGl6YXRpb25QYXJhbWV0ZXJzJiBzYW5kYm94UGFyYW1ldGVycykKK3sKKyAgICAvLyBOZWVk
IHRvIG92ZXJpZGUgdGhlIGRlZmF1bHQsIGJlY2F1c2Ugc2VydmljZSBoYXMgYSBkaWZmZXJlbnQg
YnVuZGxlIElELgorICAgIE5TQnVuZGxlICp3ZWJraXQyQnVuZGxlID0gW05TQnVuZGxlIGJ1bmRs
ZUZvckNsYXNzOk5TQ2xhc3NGcm9tU3RyaW5nKEAiV0tWaWV3IildOworICAgIHNhbmRib3hQYXJh
bWV0ZXJzLnNldE92ZXJyaWRlU2FuZGJveFByb2ZpbGVQYXRoKFt3ZWJraXQyQnVuZGxlIHBhdGhG
b3JSZXNvdXJjZTpAImNvbS5hcHBsZS5XZWJLaXQuRGF0YWJhc2VzIiBvZlR5cGU6QCJzYiJdKTsK
KworICAgIENoaWxkUHJvY2Vzczo6aW5pdGlhbGl6ZVNhbmRib3gocGFyYW1ldGVycywgc2FuZGJv
eFBhcmFtZXRlcnMpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEVO
QUJMRShEQVRBQkFTRV9QUk9DRVNTKQpJbmRleDogU291cmNlL1dlYktpdDIvRGF0YWJhc2VQcm9j
ZXNzL2lvcy9EYXRhYmFzZVByb2Nlc3NJT1MubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dDIvRGF0YWJhc2VQcm9jZXNzL2lvcy9EYXRhYmFzZVByb2Nlc3NJT1MubW0JKHdvcmtpbmcgY29w
eSkKKysrIFNvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9pb3MvRGF0YWJhc2VQcm9jZXNz
SU9TLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAog
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCkBAIC0yNCw0MSArMjQsMzIgQEAKICAqLwogCiAjaW1wb3J0ICJjb25maWcu
aCIKKworI2lmIFBMQVRGT1JNKElPUykgJiYgRU5BQkxFKERBVEFCQVNFX1BST0NFU1MpCisKICNp
bXBvcnQgIkRhdGFiYXNlUHJvY2Vzcy5oIgogCiAjaW1wb3J0ICJTYW5kYm94SW5pdGlhbGl6YXRp
b25QYXJhbWV0ZXJzLmgiCiAjaW1wb3J0IDxXZWJDb3JlL0xvY2FsaXplZFN0cmluZ3MuaD4KICNp
bXBvcnQgPFdlYktpdFN5c3RlbUludGVyZmFjZS5oPgogCi0jaWYgRU5BQkxFKERBVEFCQVNFX1BS
T0NFU1MpCi0KIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsK
IAogdm9pZCBEYXRhYmFzZVByb2Nlc3M6OmluaXRpYWxpemVQcm9jZXNzKGNvbnN0IENoaWxkUHJv
Y2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYpCiB7Ci0gICAgLy8gSGF2aW5nIGEgd2luZG93
IHNlcnZlciBjb25uZWN0aW9uIGluIHRoaXMgcHJvY2VzcyB3b3VsZCByZXN1bHQgaW4gc3BpbiBs
b2dzICg8cmRhcjovL3Byb2JsZW0vMTMyMzkxMTk+KS4KLSAgICBzZXRBcHBsaWNhdGlvbklzRGFl
bW9uKCk7CiB9CiAKIHZvaWQgRGF0YWJhc2VQcm9jZXNzOjppbml0aWFsaXplUHJvY2Vzc05hbWUo
Y29uc3QgQ2hpbGRQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQog
ewotI2lmICFQTEFURk9STShJT1MpCi0gICAgTlNTdHJpbmcgKmFwcGxpY2F0aW9uTmFtZSA9IFtO
U1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OldFQl9VSV9TVFJJTkcoIiVAIERhdGFiYXNlIFN0b3Jh
Z2UiLCAidmlzaWJsZSBuYW1lIG9mIHRoZSBkYXRhYmFzZSBwcm9jZXNzLiBUaGUgYXJndW1lbnQg
aXMgdGhlIGFwcGxpY2F0aW9uIG5hbWUuIiksIChOU1N0cmluZyAqKXBhcmFtZXRlcnMudWlQcm9j
ZXNzTmFtZV07Ci0gICAgV0tTZXRWaXNpYmxlQXBwbGljYXRpb25OYW1lKChDRlN0cmluZ1JlZilh
cHBsaWNhdGlvbk5hbWUpOwotI2VuZGlmCiB9CiAKIHZvaWQgRGF0YWJhc2VQcm9jZXNzOjppbml0
aWFsaXplU2FuZGJveChjb25zdCBDaGlsZFByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMm
IHBhcmFtZXRlcnMsIFNhbmRib3hJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmIHNhbmRib3hQYXJh
bWV0ZXJzKQogewotICAgIC8vIE5lZWQgdG8gb3ZlcmlkZSB0aGUgZGVmYXVsdCwgYmVjYXVzZSBz
ZXJ2aWNlIGhhcyBhIGRpZmZlcmVudCBidW5kbGUgSUQuCi0gICAgTlNCdW5kbGUgKndlYmtpdDJC
dW5kbGUgPSBbTlNCdW5kbGUgYnVuZGxlRm9yQ2xhc3M6TlNDbGFzc0Zyb21TdHJpbmcoQCJXS1Zp
ZXciKV07Ci0gICAgc2FuZGJveFBhcmFtZXRlcnMuc2V0T3ZlcnJpZGVTYW5kYm94UHJvZmlsZVBh
dGgoW3dlYmtpdDJCdW5kbGUgcGF0aEZvclJlc291cmNlOkAiY29tLmFwcGxlLldlYktpdC5EYXRh
YmFzZXMiIG9mVHlwZTpAInNiIl0pOwotCi0gICAgQ2hpbGRQcm9jZXNzOjppbml0aWFsaXplU2Fu
ZGJveChwYXJhbWV0ZXJzLCBzYW5kYm94UGFyYW1ldGVycyk7CisgICAgbm90SW1wbGVtZW50ZWQo
KTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKLSNlbmRpZiAvLyBFTkFCTEUoREFUQUJB
U0VfUFJPQ0VTUykKKyNlbmRpZiAvLyBQTEFURk9STShJT1MpICYmIEVOQUJMRShEQVRBQkFTRV9Q
Uk9DRVNTKQpJbmRleDogU291cmNlL1dlYktpdDIvRGF0YWJhc2VQcm9jZXNzL21hYy9EYXRhYmFz
ZVByb2Nlc3NNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvRGF0YWJhc2VQcm9j
ZXNzL21hYy9EYXRhYmFzZVByb2Nlc3NNYWMubW0JKHJldmlzaW9uIDE2NzkyMykKKysrIFNvdXJj
ZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9tYWMvRGF0YWJhc2VQcm9jZXNzTWFjLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNCwxNCArMjQsMTYgQEAKICAqLwogCiAjaW1wb3J0ICJjb25maWcuaCIK
KworI2lmIFBMQVRGT1JNKE1BQykgJiYgRU5BQkxFKERBVEFCQVNFX1BST0NFU1MpCisKICNpbXBv
cnQgIkRhdGFiYXNlUHJvY2Vzcy5oIgogCiAjaW1wb3J0ICJTYW5kYm94SW5pdGlhbGl6YXRpb25Q
YXJhbWV0ZXJzLmgiCisjaW1wb3J0IDxXZWJDb3JlL0ZpbGVTeXN0ZW0uaD4KICNpbXBvcnQgPFdl
YkNvcmUvTG9jYWxpemVkU3RyaW5ncy5oPgogI2ltcG9ydCA8V2ViS2l0U3lzdGVtSW50ZXJmYWNl
Lmg+CiAKLSNpZiBFTkFCTEUoREFUQUJBU0VfUFJPQ0VTUykKLQogdXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtNDQsMTAgKzQ2LDggQEAgdm9pZCBEYXRh
YmFzZVByb2Nlc3M6OmluaXRpYWxpemVQcm9jZXNzKAogCiB2b2lkIERhdGFiYXNlUHJvY2Vzczo6
aW5pdGlhbGl6ZVByb2Nlc3NOYW1lKGNvbnN0IENoaWxkUHJvY2Vzc0luaXRpYWxpemF0aW9uUGFy
YW1ldGVycyYgcGFyYW1ldGVycykKIHsKLSNpZiAhUExBVEZPUk0oSU9TKQogICAgIE5TU3RyaW5n
ICphcHBsaWNhdGlvbk5hbWUgPSBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpXRUJfVUlfU1RS
SU5HKCIlQCBEYXRhYmFzZSBTdG9yYWdlIiwgInZpc2libGUgbmFtZSBvZiB0aGUgZGF0YWJhc2Ug
cHJvY2Vzcy4gVGhlIGFyZ3VtZW50IGlzIHRoZSBhcHBsaWNhdGlvbiBuYW1lLiIpLCAoTlNTdHJp
bmcgKilwYXJhbWV0ZXJzLnVpUHJvY2Vzc05hbWVdOwogICAgIFdLU2V0VmlzaWJsZUFwcGxpY2F0
aW9uTmFtZSgoQ0ZTdHJpbmdSZWYpYXBwbGljYXRpb25OYW1lKTsKLSNlbmRpZgogfQogCiB2b2lk
IERhdGFiYXNlUHJvY2Vzczo6aW5pdGlhbGl6ZVNhbmRib3goY29uc3QgQ2hpbGRQcm9jZXNzSW5p
dGlhbGl6YXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzLCBTYW5kYm94SW5pdGlhbGl6YXRpb25Q
YXJhbWV0ZXJzJiBzYW5kYm94UGFyYW1ldGVycykKQEAgLTYxLDQgKzYxLDQgQEAgdm9pZCBEYXRh
YmFzZVByb2Nlc3M6OmluaXRpYWxpemVTYW5kYm94KAogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
IAotI2VuZGlmIC8vIEVOQUJMRShEQVRBQkFTRV9QUk9DRVNTKQorI2VuZGlmIC8vIFBMQVRGT1JN
KE1BQykgJiYgRU5BQkxFKERBVEFCQVNFX1BST0NFU1MpCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9E
YXRhYmFzZVByb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuRGF0YWJhc2VzLnNiLmluCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9tYWMvY29tLmFwcGxlLldl
YktpdC5EYXRhYmFzZXMuc2IuaW4JKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViS2l0Mi9EYXRh
YmFzZVByb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuRGF0YWJhc2VzLnNiLmluCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsODEgQEAKKzsgQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKzsKKzsgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cis7IG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworOyBhcmUg
bWV0OgorOyAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorOyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCis7IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cis7ICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKzsgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKzsKKzsgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworOyBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KzsgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorOyBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKzsgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorOyBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorOyBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKzsgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKzsgQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKzsgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorOyBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisKKyh2ZXJzaW9uIDEpCisoZGVueSBkZWZhdWx0ICh3aXRoIHBhcnRpYWwtc3ltYm9saWNh
dGlvbikpCisoYWxsb3cgc3lzdGVtLWF1ZGl0IGZpbGUtcmVhZC1tZXRhZGF0YSkKKworKGltcG9y
dCAic3lzdGVtLnNiIikKKworOzsgVXRpbGl0eSBmdW5jdGlvbnMgZm9yIGhvbWUgZGlyZWN0b3J5
IHJlbGF0aXZlIHBhdGggZmlsdGVycworKGRlZmluZSAoaG9tZS1yZWdleCBob21lLXJlbGF0aXZl
LXJlZ2V4KQorICAocmVnZXggKHN0cmluZy1hcHBlbmQgIl4iIChyZWdleC1xdW90ZSAocGFyYW0g
IkhPTUVfRElSIikpIGhvbWUtcmVsYXRpdmUtcmVnZXgpKSkKKworKGRlZmluZSAoaG9tZS1zdWJw
YXRoIGhvbWUtcmVsYXRpdmUtc3VicGF0aCkKKyAgICAoc3VicGF0aCAoc3RyaW5nLWFwcGVuZCAo
cGFyYW0gIkhPTUVfRElSIikgaG9tZS1yZWxhdGl2ZS1zdWJwYXRoKSkpCisKKyhkZWZpbmUgKGhv
bWUtbGl0ZXJhbCBob21lLXJlbGF0aXZlLWxpdGVyYWwpCisgICAgKGxpdGVyYWwgKHN0cmluZy1h
cHBlbmQgKHBhcmFtICJIT01FX0RJUiIpIGhvbWUtcmVsYXRpdmUtbGl0ZXJhbCkpKQorCis7OyBS
ZWFkLW9ubHkgcHJlZmVyZW5jZXMgYW5kIGRhdGEKKyhhbGxvdyBmaWxlLXJlYWQqCisgICAgOzsg
QmFzaWMgc3lzdGVtIHBhdGhzCisgICAgKHN1YnBhdGggIi9MaWJyYXJ5L0ZyYW1ld29ya3MiKQor
ICAgIChzdWJwYXRoICIvTGlicmFyeS9NYW5hZ2VkIFByZWZlcmVuY2VzIikKKworICAgIDs7IFN5
c3RlbSBhbmQgdXNlciBwcmVmZXJlbmNlcworICAgIChsaXRlcmFsICIvTGlicmFyeS9QcmVmZXJl
bmNlcy8uR2xvYmFsUHJlZmVyZW5jZXMucGxpc3QiKQorICAgIChob21lLWxpdGVyYWwgIi9MaWJy
YXJ5L1ByZWZlcmVuY2VzLy5HbG9iYWxQcmVmZXJlbmNlcy5wbGlzdCIpCisgICAgKGhvbWUtcmVn
ZXggIyIvTGlicmFyeS9QcmVmZXJlbmNlcy9CeUhvc3QvXC5HbG9iYWxQcmVmZXJlbmNlc1wuIikK
KworICAgIDs7IE9uLWRpc2sgV2ViS2l0MiBmcmFtZXdvcmsgbG9jYXRpb24sIHRvIGFjY291bnQg
Zm9yIGRlYnVnIGluc3RhbGxhdGlvbnMKKyAgICA7OyBvdXRzaWRlIG9mIC9TeXN0ZW0vTGlicmFy
eS9GcmFtZXdvcmtzCisgICAgKHN1YnBhdGggKHBhcmFtICJXRUJLSVQyX0ZSQU1FV09SS19ESVIi
KSkpCisKKzs7IFNhbmRib3ggZXh0ZW5zaW9ucworKGRlZmluZSAoYXBwbHktcmVhZC1hbmQtaXNz
dWUtZXh0ZW5zaW9uIG9wIHBhdGgtZmlsdGVyKQorICAgIChvcCBmaWxlLXJlYWQqIHBhdGgtZmls
dGVyKQorICAgIChvcCBmaWxlLWlzc3VlLWV4dGVuc2lvbiAocmVxdWlyZS1hbGwgKGV4dGVuc2lv
bi1jbGFzcyAiY29tLmFwcGxlLmFwcC1zYW5kYm94LnJlYWQiKSBwYXRoLWZpbHRlcikpKQorKGRl
ZmluZSAoYXBwbHktd3JpdGUtYW5kLWlzc3VlLWV4dGVuc2lvbiBvcCBwYXRoLWZpbHRlcikKKyAg
ICAob3AgZmlsZS13cml0ZSogcGF0aC1maWx0ZXIpCisgICAgKG9wIGZpbGUtaXNzdWUtZXh0ZW5z
aW9uIChyZXF1aXJlLWFsbCAoZXh0ZW5zaW9uLWNsYXNzICJjb20uYXBwbGUuYXBwLXNhbmRib3gu
cmVhZC13cml0ZSIpIHBhdGgtZmlsdGVyKSkpCisoZGVmaW5lIChyZWFkLW9ubHktYW5kLWlzc3Vl
LWV4dGVuc2lvbnMgcGF0aC1maWx0ZXIpCisgICAgKGFwcGx5LXJlYWQtYW5kLWlzc3VlLWV4dGVu
c2lvbiBhbGxvdyBwYXRoLWZpbHRlcikpCisoZGVmaW5lIChyZWFkLXdyaXRlLWFuZC1pc3N1ZS1l
eHRlbnNpb25zIHBhdGgtZmlsdGVyKQorICAgIChhcHBseS1yZWFkLWFuZC1pc3N1ZS1leHRlbnNp
b24gYWxsb3cgcGF0aC1maWx0ZXIpCisgICAgKGFwcGx5LXdyaXRlLWFuZC1pc3N1ZS1leHRlbnNp
b24gYWxsb3cgcGF0aC1maWx0ZXIpKQorKHJlYWQtb25seS1hbmQtaXNzdWUtZXh0ZW5zaW9ucyAo
ZXh0ZW5zaW9uICJjb20uYXBwbGUuYXBwLXNhbmRib3gucmVhZCIpKQorKHJlYWQtd3JpdGUtYW5k
LWlzc3VlLWV4dGVuc2lvbnMgKGV4dGVuc2lvbiAiY29tLmFwcGxlLmFwcC1zYW5kYm94LnJlYWQt
d3JpdGUiKSkKKworKGlmIChkZWZpbmVkPyAndm5vZGUtdHlwZSkKKyAgICAoZGVueSBmaWxlLXdy
aXRlLWNyZWF0ZSAodm5vZGUtdHlwZSBTWU1MSU5LKSkpCisKKzs7IEZJWE1FOiBTaG91bGQgYmUg
cmVtb3ZlZCBvbmNlIDxyZGFyOi8vcHJvYmxlbS8xNjMyOTA4Nz4gaXMgZml4ZWQuCisoZGVueSBm
aWxlLXdyaXRlLXhhdHRyICh4YXR0ciAiY29tLmFwcGxlLnF1YXJhbnRpbmUiKSAod2l0aCBuby1s
b2cpKQorCis7OyBSZXNlcnZlIGEgbmFtZXNwYWNlIGZvciBhZGRpdGlvbmFsIHByb3RlY3RlZCBl
eHRlbmRlZCBhdHRyaWJ1dGVzLgorI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
PiAxMDkwCisoZGVueSBmaWxlLXJlYWQteGF0dHIgZmlsZS13cml0ZS14YXR0ciAoeGF0dHItcmVn
ZXggIyJeY29tXC5hcHBsZVwuc2VjdXJpdHlcLnByaXZhdGVcLiIpKQorI2Vsc2UKKyhkZW55IGZp
bGUtcmVhZC14YXR0ciBmaWxlLXdyaXRlLXhhdHRyICh4YXR0ciAjIl5jb21cLmFwcGxlXC5zZWN1
cml0eVwucHJpdmF0ZVwuIikpCisjZW5kaWYKClByb3BlcnR5IGNoYW5nZXMgb246IFNvdXJjZS9X
ZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5EYXRhYmFzZXMuc2Iu
aW4KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1pbWUtdHlwZQojIyAtMCwwICsxICMjCit0ZXh0L3Bs
YWluClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKQWRkZWQ6IHN2bjplb2wtc3R5bGUK
IyMgLTAsMCArMSAjIworTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDog
U291cmNlL1dlYktpdDIvU2hhcmVkL1NlY3VyaXR5T3JpZ2luRGF0YS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9TZWN1cml0eU9yaWdpbkRhdGEuaAkocmV2aXNpb24gMTY3
OTIzKQorKysgU291cmNlL1dlYktpdDIvU2hhcmVkL1NlY3VyaXR5T3JpZ2luRGF0YS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNyw3ICsyNyw3IEBACiAjZGVmaW5lIFNlY3VyaXR5T3JpZ2luRGF0YV9o
CiAKICNpbmNsdWRlICJBUElPYmplY3QuaCIKLSNpbmNsdWRlICJHZW5lcmljQ2FsbGJhY2suaCIK
KyNpbmNsdWRlICJHZW5lcmljQ2FsbGJhY2suaCIgLy8gRklYTUU6IFRoaXMgaXMgYSBVSVByb2Nl
c3MgZmlsZSwgYW5kIG1heSBub3QgYmUgaW5jbHVkZWQgZnJvbSBTaGFyZWQgZGlyZWN0b3J5IGZp
bGVzLgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgSVBDIHsK
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9EYXRhYmFzZXMvRGF0YWJhc2VQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
RGF0YWJhc2VzL0RhdGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAJKHJldmlzaW9u
IDE2NzkyMykKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9EYXRhYmFzZXMvRGF0YWJhc2VQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzksMTIgKzM5LDE1
IEBAIERhdGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6RGF0YWIKIHZvaWQgRGF0YWJh
c2VQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZGUoSVBDOjpBcmd1bWVudEVuY29kZXIm
IGVuY29kZXIpIGNvbnN0CiB7CiAgICAgZW5jb2RlciA8PCBpbmRleGVkRGF0YWJhc2VEaXJlY3Rv
cnk7CisgICAgZW5jb2RlciA8PCBpbmRleGVkRGF0YWJhc2VEaXJlY3RvcnlFeHRlbnNpb25IYW5k
bGU7CiB9CiAKIGJvb2wgRGF0YWJhc2VQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUo
SVBDOjpBcmd1bWVudERlY29kZXImIGRlY29kZXIsIERhdGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVycyYgcmVzdWx0KQogewogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LmluZGV4
ZWREYXRhYmFzZURpcmVjdG9yeSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoIWRl
Y29kZXIuZGVjb2RlKHJlc3VsdC5pbmRleGVkRGF0YWJhc2VEaXJlY3RvcnlFeHRlbnNpb25IYW5k
bGUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICByZXR1cm4gdHJ1ZTsKIH0KSW5kZXg6
IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9EYXRhYmFzZXMvRGF0YWJhc2VQcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvU2hhcmVkL0RhdGFiYXNl
cy9EYXRhYmFzZVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAkocmV2aXNpb24gMTY3OTIzKQor
KysgU291cmNlL1dlYktpdDIvU2hhcmVkL0RhdGFiYXNlcy9EYXRhYmFzZVByb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnMuaAkod29ya2luZyBjb3B5KQpAQCAtMjcsNiArMjcsNyBAQAogI2lmbmRlZiBE
YXRhYmFzZVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnNfaAogI2RlZmluZSBEYXRhYmFzZVByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnNfaAogCisjaW5jbHVkZSAiU2FuZGJveEV4dGVuc2lvbi5oIgog
I2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiAjaWYgRU5BQkxFKElOREVYRURfREFU
QUJBU0UpICYmIEVOQUJMRShEQVRBQkFTRV9QUk9DRVNTKQpAQCAtNDUsNiArNDYsNyBAQCBzdHJ1
Y3QgRGF0YWJhc2VQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzCiAgICAgc3RhdGljIGJvb2wgZGVj
b2RlKElQQzo6QXJndW1lbnREZWNvZGVyJiwgRGF0YWJhc2VQcm9jZXNzQ3JlYXRpb25QYXJhbWV0
ZXJzJik7CiAKICAgICBTdHJpbmcgaW5kZXhlZERhdGFiYXNlRGlyZWN0b3J5OworICAgIFNhbmRi
b3hFeHRlbnNpb246OkhhbmRsZSBpbmRleGVkRGF0YWJhc2VEaXJlY3RvcnlFeHRlbnNpb25IYW5k
bGU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJDb250ZXh0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViQ29udGV4dC5jcHAJKHJldmlzaW9uIDE2NzkyMykKKysrIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDQzLDYgKzQ0Myw3
IEBAIHZvaWQgV2ViQ29udGV4dDo6ZW5zdXJlRGF0YWJhc2VQcm9jZXNzKCkKICAgICAvLyBXZSBz
aG91bGQgZml4IHRoaXMsIGFuZCBtb3ZlIFdlYlNRTCBpbnRvIGEgc3ViZGlyZWN0b3J5IChodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI0ODA3KQogICAgIC8vIEluIHRo
ZSBtZWFudGltZSwgYW4gZW50aXR5IG5hbWUgcHJlZml4ZWQgd2l0aCB0aHJlZSB1bmRlcnNjb3Jl
cyB3aWxsIG5vdCBjb25mbGljdCB3aXRoIGFueSBXZWJTUUwgZW50aXRpZXMuCiAgICAgcGFyYW1l
dGVycy5pbmRleGVkRGF0YWJhc2VEaXJlY3RvcnkgPSBwYXRoQnlBcHBlbmRpbmdDb21wb25lbnQo
ZGF0YWJhc2VEaXJlY3RvcnkoKSwgIl9fX0luZGV4ZWREQiIpOworICAgIFNhbmRib3hFeHRlbnNp
b246OmNyZWF0ZUhhbmRsZUZvclJlYWRXcml0ZURpcmVjdG9yeShwYXJhbWV0ZXJzLmluZGV4ZWRE
YXRhYmFzZURpcmVjdG9yeSwgcGFyYW1ldGVycy5pbmRleGVkRGF0YWJhc2VEaXJlY3RvcnlFeHRl
bnNpb25IYW5kbGUpOwogCiAgICAgbV9kYXRhYmFzZVByb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OkRh
dGFiYXNlUHJvY2Vzczo6SW5pdGlhbGl6ZURhdGFiYXNlUHJvY2VzcyhwYXJhbWV0ZXJzKSwgMCk7
CiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCShyZXZpc2lvbiAxNjc5MjMpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTE1MDcsNiArMTUwNyw4
IEBACiAJCUQzQjk0ODQ5MTFGRjRCNjUwMDAzMkIzOSAvKiBXZWJTZWFyY2hQb3B1cE1lbnUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQzQjk0ODQ1MTFG
RjRCNjUwMDAzMkIzOSAvKiBXZWJTZWFyY2hQb3B1cE1lbnUuaCAqLzsgfTsKIAkJREY1OEM2MzYx
MzcxQUNBMDAwRjlBMzdDIC8qIE5hdGl2ZVdlYldoZWVsRXZlbnRNYWMubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBERjU4QzYzNTEzNzFBQ0EwMDBGOUEz
N0MgLyogTmF0aXZlV2ViV2hlZWxFdmVudE1hYy5tbSAqLzsgfTsKIAkJRTEwNUZFNTQxOEQ3QjlE
RTAwOEY1N0E4IC8qIEVkaXRpbmdSYW5nZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRTEwNUZFNTMxOEQ3QjlERTAwOEY1N0E4IC8qIEVkaXRpbmdSYW5n
ZS5oICovOyB9OworCQlFMTE1QzcxNDE5MEY4OUU0MDBFQ0M1MTYgLyogRGF0YWJhc2VQcm9jZXNz
SU9TLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTFG
RUYzOUMxOTBGNzkxQzAwNzMxNjU4IC8qIERhdGFiYXNlUHJvY2Vzc0lPUy5tbSAqLzsgfTsKKwkJ
RTExNUM3MTYxOTBGOEEyNTAwRUNDNTE2IC8qIGNvbS5hcHBsZS5XZWJLaXQuRGF0YWJhc2VzLnNi
IGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMTE1Qzcx
NTE5MEY4QTI1MDBFQ0M1MTYgLyogY29tLmFwcGxlLldlYktpdC5EYXRhYmFzZXMuc2IgKi87IH07
CiAJCUUxMUQzNUFFMTZCNjNEMUIwMDZEMjNENyAvKiBjb20uYXBwbGUuV2ViUHJvY2Vzcy5zYiBp
biBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTE5NjdFMzcx
NTBBQjVFMjAwQzczMTY5IC8qIGNvbS5hcHBsZS5XZWJQcm9jZXNzLnNiICovOyB9OwogCQlFMTMz
RkQ4QTE0MjNERDdGMDBGQzdCRkIgLyogV2ViS2l0LmljbnMgaW4gUmVzb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxMzNGRDg5MTQyM0REN0YwMEZDN0JGQiAvKiBX
ZWJLaXQuaWNucyAqLzsgfTsKIAkJRTEzODMzRUMxODlDMzNDODAwMUUyMzUwIC8qIExvY2FsU3Rv
cmFnZURldGFpbHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEUxMzgzM0VCMTg5QzMzQzgwMDFFMjM1MCAvKiBMb2NhbFN0b3JhZ2VEZXRhaWxzLmggKi87
IH07CkBAIC0zNDIyLDYgKzM0MjQsNyBAQAogCQlERjU4QzYzMTEzNzFBQzU4MDBGOUEzN0MgLyog
TmF0aXZlV2ViV2hlZWxFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBO
YXRpdmVXZWJXaGVlbEV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCURGNThD
NjM1MTM3MUFDQTAwMEY5QTM3QyAvKiBOYXRpdmVXZWJXaGVlbEV2ZW50TWFjLm1tICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gTmF0aXZlV2ViV2hlZWxFdmVudE1hYy5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTEwNUZFNTMxOEQ3QjlERTAwOEY1N0E4
IC8qIEVkaXRpbmdSYW5nZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFZGl0
aW5nUmFuZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTExNUM3MTUxOTBGOEEy
NTAwRUNDNTE2IC8qIGNvbS5hcHBsZS5XZWJLaXQuRGF0YWJhc2VzLnNiICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gZmls
ZTsgcGF0aCA9IGNvbS5hcHBsZS5XZWJLaXQuRGF0YWJhc2VzLnNiOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlFMTMzRkQ4OTE0MjNERDdGMDBGQzdCRkIgLyogV2ViS2l0LmljbnMgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBpbWFnZS5pY25z
OyBuYW1lID0gV2ViS2l0LmljbnM7IHBhdGggPSBSZXNvdXJjZXMvV2ViS2l0LmljbnM7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxMzgzM0VCMTg5QzMzQzgwMDFFMjM1MCAvKiBMb2Nh
bFN0b3JhZ2VEZXRhaWxzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExvY2Fs
U3RvcmFnZURldGFpbHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTE0QTk1NDcx
NkUwMTZBNDAwNjhERTgyIC8qIE5ldHdvcmtQcm9jZXNzUGxhdGZvcm1TdHJhdGVnaWVzLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IE5ldHdvcmtQcm9jZXNzUGxhdGZv
cm1TdHJhdGVnaWVzLmNwcDsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzUGxh
dGZvcm1TdHJhdGVnaWVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTM0Njgs
NiArMzQ3MSw4IEBACiAJCUUxRTU1MkMzMTZBRTA2NUUwMDRFRDY1MyAvKiBTYW5kYm94SW5pdGlh
bGl6YXRpb25QYXJhbWV0ZXJzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNh
bmRib3hJbml0aWFsaXphdGlvblBhcmFtZXRlcnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRTFFRTUzREMxMUY4Q0Y5RjAwQ0NCRUU0IC8qIEluamVjdGVkQnVuZGxlUGFnZUVkaXRv
ckNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbmplY3RlZEJ1bmRs
ZVBhZ2VFZGl0b3JDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTFFRTUz
RTYxMUY4Q0ZGQjAwQ0NCRUU0IC8qIEluamVjdGVkQnVuZGxlUGFnZUVkaXRvckNsaWVudC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbmplY3RlZEJ1bmRsZVBhZ2VF
ZGl0b3JDbGllbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFMUZFRjM5QTE5
MEY3NkYzMDA3MzE2NTggLyogY29tLmFwcGxlLldlYktpdC5EYXRhYmFzZXMuc2IuaW4gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
Y29tLmFwcGxlLldlYktpdC5EYXRhYmFzZXMuc2IuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUUxRkVGMzlDMTkwRjc5MUMwMDczMTY1OCAvKiBEYXRhYmFzZVByb2Nlc3NJT1MubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBEYXRhYmFzZVByb2Nlc3NJ
T1MubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUYwMzY5Nzg3MTVGNEJGMDUwMEMz
QTgwRSAvKiBXZWJDb2xvclBpY2tlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBXZWJDb2xvclBpY2tlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUY2MTEzRTI0MTI2Q0UxODIwMDU3RDBBNyAvKiBXZWJVc2VyQ29udGVudFVSTFBhdHRlcm4uaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJu
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY2MTEzRTI2MTI2Q0UxOUIwMDU3RDBB
NyAvKiBXS1VzZXJDb250ZW50VVJMUGF0dGVybi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBXS1VzZXJDb250ZW50VVJMUGF0dGVybi5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC00OTU1LDYgKzQ5NjAsNyBAQAogCQkJaXNhID0gUEJYR3JvdXA7CiAJ
CQljaGlsZHJlbiA9ICgKIAkJCQk1MUUzNTIwMTE4MEY1RDFFMDBFNTNCRTkgLyogRGF0YWJhc2VQ
cm9jZXNzTWFjLm1tICovLAorCQkJCUUxRkVGMzlBMTkwRjc2RjMwMDczMTY1OCAvKiBjb20uYXBw
bGUuV2ViS2l0LkRhdGFiYXNlcy5zYi5pbiAqLywKIAkJCSk7CiAJCQlwYXRoID0gbWFjOwogCQkJ
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTUwODUsNiArNTA5MSw3IEBACiAJCQljaGlsZHJl
biA9ICgKIAkJCQk1MUY3REMwQjE4MENDNDIyMDAyMTJDQTMgLyogRW50cnlQb2ludCAqLywKIAkJ
CQk1MUUzNTFGOTE4MEY1Q0Y2MDBFNTNCRTkgLyogSW5kZXhlZERCICovLAorCQkJCUUxRkVGMzlC
MTkwRjc5MUMwMDczMTY1OCAvKiBpb3MgKi8sCiAJCQkJNTE3REQ1QzAxODBEQjdBQTAwODE2NjBC
IC8qIG1hYyAqLywKIAkJCQk1MUUzNTFGQTE4MEY1RDBCMDBFNTNCRTkgLyogRGF0YWJhc2VQcm9j
ZXNzLmNwcCAqLywKIAkJCQk1MUUzNTFGQjE4MEY1RDBCMDBFNTNCRTkgLyogRGF0YWJhc2VQcm9j
ZXNzLmggKi8sCkBAIC02MzM3LDYgKzYzNDQsNyBAQAogCQkJCTJERTY5NDNDMThCRDJBNjgwMDVD
MTVFNSAvKiBTbWFydE1hZ25pZmljYXRpb25Db250cm9sbGVyTWVzc2FnZXMuaCAqLywKIAkJCQk1
MTJGNThBMDEyQTg4M0FEMDA2Mjk1MzAgLyogQXV0aGVudGljYXRpb25NYW5hZ2VyTWVzc2FnZVJl
Y2VpdmVyLmNwcCAqLywKIAkJCQk1MTJGNThBMTEyQTg4M0FEMDA2Mjk1MzAgLyogQXV0aGVudGlj
YXRpb25NYW5hZ2VyTWVzc2FnZXMuaCAqLywKKwkJCQlFMTE1QzcxNTE5MEY4QTI1MDBFQ0M1MTYg
LyogY29tLmFwcGxlLldlYktpdC5EYXRhYmFzZXMuc2IgKi8sCiAJCQkJRTE3QUUyQzIxNkI5QzYz
QTAwMUM0MkYxIC8qIGNvbS5hcHBsZS5XZWJLaXQuTmV0d29ya1Byb2Nlc3Muc2IgKi8sCiAJCQkJ
RTE5NjdFMzcxNTBBQjVFMjAwQzczMTY5IC8qIGNvbS5hcHBsZS5XZWJQcm9jZXNzLnNiICovLAog
CQkJCTI5ODRGNTg2MTY0QkEwOTUwMDRCQzBDNiAvKiBDdXN0b21Qcm90b2NvbE1hbmFnZXJNZXNz
YWdlUmVjZWl2ZXIuY3BwICovLApAQCAtNjU3OSw2ICs2NTg3LDE0IEBACiAJCQluYW1lID0gUERG
OwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJRTFGRUYzOUIxOTBGNzkxQzAw
NzMxNjU4IC8qIGlvcyAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAo
CisJCQkJRTFGRUYzOUMxOTBGNzkxQzAwNzMxNjU4IC8qIERhdGFiYXNlUHJvY2Vzc0lPUy5tbSAq
LywKKwkJCSk7CisJCQlwYXRoID0gaW9zOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJ
fTsKIAkJRjYzODk1NUExMzNCRjU3RDAwODk0MUQ1IC8qIG1hYyAqLyA9IHsKIAkJCWlzYSA9IFBC
WEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC03NzkxLDYgKzc4MDcsNyBAQAogCQkJCUUxN0FF
MkMzMTZCOUM2M0EwMDFDNDJGMSAvKiBjb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtQcm9jZXNzLnNi
IGluIFJlc291cmNlcyAqLywKIAkJCQlFMTFEMzVBRTE2QjYzRDFCMDA2RDIzRDcgLyogY29tLmFw
cGxlLldlYlByb2Nlc3Muc2IgaW4gUmVzb3VyY2VzICovLAogCQkJCTFDQkM5NDVFMTY1MTVFRDIw
MEQ2OEFBRSAvKiBEb2NrQm90dG9tLnBkZiBpbiBSZXNvdXJjZXMgKi8sCisJCQkJRTExNUM3MTYx
OTBGOEEyNTAwRUNDNTE2IC8qIGNvbS5hcHBsZS5XZWJLaXQuRGF0YWJhc2VzLnNiIGluIFJlc291
cmNlcyAqLywKIAkJCQkxQ0I3NUM5NDE3MDFFODgwMDA5RjgwOUYgLyogRG9ja1JpZ2h0LnBkZiBp
biBSZXNvdXJjZXMgKi8sCiAJCQkJOERDMkVGNTMwNDg2QTY5NDAwOThCMjE2IC8qIEluZm9QbGlz
dC5zdHJpbmdzIGluIFJlc291cmNlcyAqLywKIAkJCSk7CkBAIC04NjA5LDYgKzg2MjYsNyBAQAog
CQkJCTM3NjA4ODFFMTUwNDEzRTkwMEZDODJDNyAvKiBXZWJSZW5kZXJPYmplY3QuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJNTEyMTc0NjQxNjRDMjEzNzAwMzdBNUMxIC8qIFdlYlJlc291cmNlQnVm
ZmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTMzMzY3NjJGMTMwQzk5OTgwMDZDOURFMiAvKiBX
ZWJSZXNvdXJjZUNhY2hlTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlFMTE1QzcxNDE5
MEY4OUU0MDBFQ0M1MTYgLyogRGF0YWJhc2VQcm9jZXNzSU9TLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMzNGOUQ1QjkxMzEyRjFFRTAwMEQ2ODNGIC8qIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyQ0ZO
ZXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzMzNjc2NTUxMzBDOUVDQTAwNkM5REUyIC8qIFdl
YlJlc291cmNlQ2FjaGVNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTUxRUYxMjRFMTkwOTg1MjIwMDhBNjUzMiAvKiBTZWxlY3Rpb25PdmVybGF5Q29udHJvbGxl
ci5jcHAgaW4gU291cmNlcyAqLywK
</data>

          </attachment>
      

    </bug>

</bugzilla>