<?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>43315</bug_id>
          
          <creation_ts>2010-08-01 13:53:16 -0700</creation_ts>
          <short_desc>Implement NPN_RemoveProperty</short_desc>
          <delta_ts>2010-08-10 22:53:50 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>258696</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-08-01 13:53:16 -0700</bug_when>
    <thetext>Implement NPN_RemoveProperty</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>258697</commentid>
    <comment_count>1</comment_count>
      <attachid>63171</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-08-01 13:55:33 -0700</bug_when>
    <thetext>Created attachment 63171
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>258698</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-08-01 14:00:05 -0700</bug_when>
    <thetext>Attachment 63171 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebKitTools/DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp:63:  PluginTest::NPN_GetStringIdentifier is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebKitTools/DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp:68:  PluginTest::NPN_GetIntIdentifier is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebKitTools/DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp:78:  PluginTest::NPN_RemoveProperty is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebKit2/WebProcess/Plugins/NPJSObject.cpp:365:  NPJSObject::NP_RemoveProperty is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebKitTools/DumpRenderTree/TestNetscapePlugIn/Tests/NPRuntimeRemoveProperty.cpp:26:  Found other header before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKitTools/DumpRenderTree/TestNetscapePlugIn/PluginTest.h:39:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 6 in 15 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>258706</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-08-01 14:27:15 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/64444 might have broken SnowLeopard Intel Release (Tests)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263041</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-08-10 22:53:50 -0700</bug_when>
    <thetext>This patch appears to have been landed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63171</attachid>
            <date>2010-08-01 13:55:33 -0700</date>
            <delta_ts>2010-08-01 13:58:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-43315-20100801135532.patch</filename>
            <type>text/plain</type>
            <size>25670</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwM2Y3YmUzMTc0ZjJmY2Q5MTRhOWY5ZmRhYTZmZWM4OTg5ZGE1OTVhLi5jNmQyZjNj
MTg3NWFlZGY3MTIyOTk5NjgwM2Y3YzEyNTQ1M2MwNzVhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMTAtMDgtMDEgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgTlBO
X1JlbW92ZVByb3BlcnR5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD00MzMxNQorCisgICAgICAgIEFkZCBhIHRlc3QgZm9yIE5QTl9SZW1vdmVQcm9wZXJ0
eS4KKworICAgICAgICAqIHBsdWdpbnMvbnBydW50aW1lL3JlbW92ZS1wcm9wZXJ0eS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsdWdpbnMvbnBydW50aW1lL3JlbW92ZS1wcm9wZXJ0
eS5odG1sOiBBZGRlZC4KKwogMjAxMC0wOC0wMSAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgdGVzdCBleHBlY3RhdGlvbiB1cGRhdGUuCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbHVnaW5zL25wcnVudGltZS9yZW1vdmUtcHJvcGVydHkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGx1Z2lucy9ucHJ1bnRpbWUvcmVtb3ZlLXByb3Bl
cnR5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZjcwNWM1Njk4MmNiZjlmYmZkMTJlYjM4MDFj
OGU4YjQxYzFlNGI3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGx1Z2lucy9ucHJ1
bnRpbWUvcmVtb3ZlLXByb3BlcnR5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACisKK1Rl
c3QgTlBOX1JlbW92ZVByb3BlcnR5CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQ
QVNTICdwcm9wZXJ0eScgaW4gb2JqIGlzIHRydWUKK1BBU1MgJ3Byb3BlcnR5JyBpbiBvYmogaXMg
ZmFsc2UKK1BBU1MgYXJyYXlbMV0gaXMgMgorUEFTUyBhcnJheVsxXSBpcyB1bmRlZmluZWQKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGx1Z2lucy9ucHJ1bnRpbWUvcmVtb3ZlLXByb3BlcnR5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9wbHVnaW5zL25wcnVudGltZS9yZW1vdmUtcHJvcGVydHkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42ZTEwZTM0ZThmOTQ0YTI2NzFkOTQ0ZDFjNjcxZGI5MDFjNjA1NmY5Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGx1Z2lucy9ucHJ1bnRpbWUvcmVtb3ZlLXBy
b3BlcnR5Lmh0bWwKQEAgLTAsMCArMSwyOCBAQAorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPHNjcmlwdD4KK2Z1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgcGx1Z2luID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ3BsdWdpbicpOworCisgICAgb2JqID0geyBwcm9wZXJ0eSA6ICd2
YWx1ZScgfQorICAgIHNob3VsZEJlKCIncHJvcGVydHknIGluIG9iaiIsICJ0cnVlIik7CisgICAg
cGx1Z2luLnRlc3RSZW1vdmVQcm9wZXJ0eShvYmosICdwcm9wZXJ0eScpOworICAgIHNob3VsZEJl
KCIncHJvcGVydHknIGluIG9iaiIsICJmYWxzZSIpOworCisgICAgYXJyYXkgPSBbIDEsIDIsIDMs
IDQsIDVdOworICAgIHNob3VsZEJlKCJhcnJheVsxXSIsICIyIikKKyAgICBwbHVnaW4udGVzdFJl
bW92ZVByb3BlcnR5KGFycmF5LCAxKTsKKyAgICBzaG91bGRCZSgiYXJyYXlbMV0iLCAidW5kZWZp
bmVkIikKK30KKzwvc2NyaXB0PgorPGJvZHkgb25Mb2FkPSJydW5UZXN0KCkiPgorPGVtYmVkIGlk
PSJwbHVnaW4iIHR5cGU9ImFwcGxpY2F0aW9uL3gtd2Via2l0LXRlc3QtbmV0c2NhcGUiIHRlc3Q9
Im5wcnVudGltZS1yZW1vdmUtcHJvcGVydHkiPjwvZW1iZWQ+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24o
IlRlc3QgTlBOX1JlbW92ZVByb3BlcnR5Iik7CisKK3N1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7
Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL1dlYktpdDIvQ2hhbmdlTG9nIGIvV2ViS2l0Mi9DaGFu
Z2VMb2cKaW5kZXggOTM0ZDlhZjIwZGFhNGM1MzhlY2QyMGMwOTBlN2UxODZmYjI4NjgwYS4uZDA2
MTI5YzQ1OWE2MjA2MTg1YTg0NTBhNjNjOThhNGM2ZjI4ODg3OSAxMDA2NDQKLS0tIGEvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAx
MC0wOC0wMSAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBOUE5fUmVt
b3ZlUHJvcGVydHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTQzMzE1CisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvTlBKU09iamVjdC5jcHA6
CisgICAgICAgIChXZWJLaXQ6Ok5QSlNPYmplY3Q6OnJlbW92ZVByb3BlcnR5KToKKyAgICAgICAg
VHJ5IHRvIHJlbW92ZSB0aGUgcHJvcGVydHkuCisKKyAgICAgICAgKFdlYktpdDo6TlBKU09iamVj
dDo6bnBDbGFzcyk6CisgICAgICAgIEFkZCBOUF9SZW1vdmVQcm9wZXJ0eS4KKworICAgICAgICAo
V2ViS2l0OjpOUEpTT2JqZWN0OjpOUF9SZW1vdmVQcm9wZXJ0eSk6CisgICAgICAgIENhbGwgTlBK
U09iamVjdDo6cmVtb3ZlUHJvcGVydHkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMv
TmV0c2NhcGUvTmV0c2NhcGVCcm93c2VyRnVuY3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpOUE5f
UmVtb3ZlUHJvcGVydHkpOgorICAgICAgICBDYWxsIHRoZSBOUENsYXNzOjpyZW1vdmVQcm9wZXJ0
eSBmdW5jdGlvbi4KKwogMjAxMC0wNy0zMSAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1BsdWdpbnMvTlBKU09iamVjdC5jcHAgYi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1
Z2lucy9OUEpTT2JqZWN0LmNwcAppbmRleCBkZGE2YWYzODE1NzcyMGI0N2MzZDAzN2FjODQ4Yjlm
ZjBiMGVhZDA5Li45MjJjYTYzMzYyYTE3M2U1YTkyYWQyMmFmOGRmOTdjYTAzN2E5ODBhIDEwMDY0
NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OUEpTT2JqZWN0LmNwcAorKysgYi9X
ZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OUEpTT2JqZWN0LmNwcApAQCAtMTkyLDYgKzE5Miwz
NyBAQCBib29sIE5QSlNPYmplY3Q6OnNldFByb3BlcnR5KE5QSWRlbnRpZmllciBwcm9wZXJ0eU5h
bWUsIGNvbnN0IE5QVmFyaWFudCogdmFsdWUpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK2Jvb2wg
TlBKU09iamVjdDo6cmVtb3ZlUHJvcGVydHkoTlBJZGVudGlmaWVyIHByb3BlcnR5TmFtZSkKK3sK
KyAgICBJZGVudGlmaWVyUmVwKiBpZGVudGlmaWVyUmVwID0gc3RhdGljX2Nhc3Q8SWRlbnRpZmll
clJlcCo+KHByb3BlcnR5TmFtZSk7CisgICAgCisgICAgRXhlY1N0YXRlKiBleGVjID0gbV9vYmpl
Y3RNYXAtPmdsb2JhbEV4ZWMoKTsKKyAgICBpZiAoIWV4ZWMpCisgICAgICAgIHJldHVybiBmYWxz
ZTsKKworICAgIEpTTG9jayBsb2NrKFNpbGVuY2VBc3NlcnRpb25zT25seSk7CisgICAgaWYgKGlk
ZW50aWZpZXJSZXAtPmlzU3RyaW5nKCkpIHsKKyAgICAgICAgSWRlbnRpZmllciBpZGVudGlmaWVy
ID0gaWRlbnRpZmllckZyb21JZGVudGlmaWVyUmVwKGV4ZWMsIGlkZW50aWZpZXJSZXApOworICAg
ICAgICAKKyAgICAgICAgaWYgKCFtX2pzT2JqZWN0LT5oYXNQcm9wZXJ0eShleGVjLCBpZGVudGlm
aWVyKSkgeworICAgICAgICAgICAgZXhlYy0+Y2xlYXJFeGNlcHRpb24oKTsKKyAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgbV9qc09iamVjdC0+
ZGVsZXRlUHJvcGVydHkoZXhlYywgaWRlbnRpZmllcik7CisgICAgfSBlbHNlIHsKKyAgICAgICAg
aWYgKCFtX2pzT2JqZWN0LT5oYXNQcm9wZXJ0eShleGVjLCBpZGVudGlmaWVyUmVwLT5udW1iZXIo
KSkpIHsKKyAgICAgICAgICAgIGV4ZWMtPmNsZWFyRXhjZXB0aW9uKCk7CisgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKworICAgICAgICBtX2pzT2JqZWN0LT5kZWxldGVQcm9w
ZXJ0eShleGVjLCBpZGVudGlmaWVyUmVwLT5udW1iZXIoKSk7CisgICAgfQorCisgICAgZXhlYy0+
Y2xlYXJFeGNlcHRpb24oKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogYm9vbCBOUEpTT2JqZWN0
OjplbnVtZXJhdGUoTlBJZGVudGlmaWVyKiogaWRlbnRpZmllcnMsIHVpbnQzMl90KiBpZGVudGlm
aWVyQ291bnQpCiB7CiAgICAgRXhlY1N0YXRlKiBleGVjID0gbV9vYmplY3RNYXAtPmdsb2JhbEV4
ZWMoKTsKQEAgLTI4MCw3ICszMTEsNyBAQCBOUENsYXNzKiBOUEpTT2JqZWN0OjpucENsYXNzKCkK
ICAgICAgICAgTlBfSGFzUHJvcGVydHksCiAgICAgICAgIE5QX0dldFByb3BlcnR5LAogICAgICAg
ICBOUF9TZXRQcm9wZXJ0eSwKLSAgICAgICAgMCwKKyAgICAgICAgTlBfUmVtb3ZlUHJvcGVydHks
CiAgICAgICAgIE5QX0VudW1lcmF0ZSwKICAgICAgICAgTlBfQ29uc3RydWN0CiAgICAgfTsKQEAg
LTMzMSw2ICszNjIsMTEgQEAgYm9vbCBOUEpTT2JqZWN0OjpOUF9TZXRQcm9wZXJ0eShOUE9iamVj
dCogbnBPYmplY3QsIE5QSWRlbnRpZmllciBwcm9wZXJ0eU5hbWUsIGMKICAgICByZXR1cm4gdG9O
UEpTT2JqZWN0KG5wT2JqZWN0KS0+c2V0UHJvcGVydHkocHJvcGVydHlOYW1lLCB2YWx1ZSk7CiB9
CiAKK2Jvb2wgTlBKU09iamVjdDo6TlBfUmVtb3ZlUHJvcGVydHkoTlBPYmplY3QqIG5wT2JqZWN0
LCBOUElkZW50aWZpZXIgcHJvcGVydHlOYW1lKQoreworICAgIHJldHVybiB0b05QSlNPYmplY3Qo
bnBPYmplY3QpLT5yZW1vdmVQcm9wZXJ0eShwcm9wZXJ0eU5hbWUpOworfQorCiBib29sIE5QSlNP
YmplY3Q6Ok5QX0VudW1lcmF0ZShOUE9iamVjdCogbnBPYmplY3QsIE5QSWRlbnRpZmllcioqIGlk
ZW50aWZpZXJzLCB1aW50MzJfdCogaWRlbnRpZmllckNvdW50KQogewogICAgIHJldHVybiB0b05Q
SlNPYmplY3QobnBPYmplY3QpLT5lbnVtZXJhdGUoaWRlbnRpZmllcnMsIGlkZW50aWZpZXJDb3Vu
dCk7CmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OUEpTT2JqZWN0Lmgg
Yi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OUEpTT2JqZWN0LmgKaW5kZXggZTFiMWZlN2Y2
NDM3MmMyOTc5NGJmNzg4ZmNiMTE2M2FkNGUyZjI1YS4uMDhhYzlkNDYyOGU5N2Q5YjViZmJlOWNl
NjdhNDU2M2ExMjUwN2M3ZCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMv
TlBKU09iamVjdC5oCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05QSlNPYmplY3Qu
aApAQCAtNjYsNiArNjYsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgaGFzUHJvcGVydHkoTlBJZGVu
dGlmaWVyIHByb3BlcnR5TmFtZSk7CiAgICAgYm9vbCBnZXRQcm9wZXJ0eShOUElkZW50aWZpZXIg
cHJvcGVydHlOYW1lLCBOUFZhcmlhbnQqIHJlc3VsdCk7CiAgICAgYm9vbCBzZXRQcm9wZXJ0eShO
UElkZW50aWZpZXIgcHJvcGVydHlOYW1lLCBjb25zdCBOUFZhcmlhbnQqIHZhbHVlKTsKKyAgICBi
b29sIHJlbW92ZVByb3BlcnR5KE5QSWRlbnRpZmllciBwcm9wZXJ0eU5hbWUpOwogICAgIGJvb2wg
ZW51bWVyYXRlKE5QSWRlbnRpZmllcioqIGlkZW50aWZpZXJzLCB1aW50MzJfdCogaWRlbnRpZmll
ckNvdW50KTsKICAgICBib29sIGNvbnN0cnVjdChjb25zdCBOUFZhcmlhbnQqIGFyZ3VtZW50cywg
dWludDMyX3QgYXJndW1lbnRDb3VudCwgTlBWYXJpYW50KiByZXN1bHQpOwogCkBAIC04MCw2ICs4
MSw3IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIGJvb2wgTlBfSGFzUHJvcGVydHkoTlBPYmplY3Qq
LCBOUElkZW50aWZpZXIgcHJvcGVydHlOYW1lKTsKICAgICBzdGF0aWMgYm9vbCBOUF9HZXRQcm9w
ZXJ0eShOUE9iamVjdCosIE5QSWRlbnRpZmllciBwcm9wZXJ0eU5hbWUsIE5QVmFyaWFudCogcmVz
dWx0KTsKICAgICBzdGF0aWMgYm9vbCBOUF9TZXRQcm9wZXJ0eShOUE9iamVjdCosIE5QSWRlbnRp
ZmllciBwcm9wZXJ0eU5hbWUsIGNvbnN0IE5QVmFyaWFudCogdmFsdWUpOworICAgIHN0YXRpYyBi
b29sIE5QX1JlbW92ZVByb3BlcnR5KE5QT2JqZWN0KiwgTlBJZGVudGlmaWVyIHByb3BlcnR5TmFt
ZSk7CiAgICAgc3RhdGljIGJvb2wgTlBfRW51bWVyYXRlKE5QT2JqZWN0KiwgTlBJZGVudGlmaWVy
KiogaWRlbnRpZmllcnMsIHVpbnQzMl90KiBpZGVudGlmaWVyQ291bnQpOwogICAgIHN0YXRpYyBi
b29sIE5QX0NvbnN0cnVjdChOUE9iamVjdCosIGNvbnN0IE5QVmFyaWFudCogYXJndW1lbnRzLCB1
aW50MzJfdCBhcmd1bWVudENvdW50LCBOUFZhcmlhbnQqIHJlc3VsdCk7CiAgICAgCmRpZmYgLS1n
aXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZUJyb3dzZXJG
dW5jcy5jcHAgYi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZUJy
b3dzZXJGdW5jcy5jcHAKaW5kZXggNzMxOTMzOGYxZjMwNjNkMDQ4YWQ2MDVjZGY4YzZjNjllNWQz
NDM1Yy4uYTYwMTgzZmU1MDUwOGNlNDM1N2M3MTAxMjEzZWQ4NzM0MzgyNWEwNiAxMDA2NDQKLS0t
IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVCcm93c2VyRnVu
Y3MuY3BwCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBl
QnJvd3NlckZ1bmNzLmNwcApAQCAtNTkzLDkgKzU5MywxMSBAQCBzdGF0aWMgYm9vbCBOUE5fU2V0
UHJvcGVydHkoTlBQLCBOUE9iamVjdCogbnBPYmplY3QsIE5QSWRlbnRpZmllciBwcm9wZXJ0eU5h
bWUsCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1zdGF0aWMgYm9vbCBOUE5fUmVtb3ZlUHJvcGVy
dHkoTlBQIG5wcCwgTlBPYmplY3QqIG5wb2JqLCBOUElkZW50aWZpZXIgcHJvcGVydHlOYW1lKQor
c3RhdGljIGJvb2wgTlBOX1JlbW92ZVByb3BlcnR5KE5QUCwgTlBPYmplY3QqIG5wT2JqZWN0LCBO
UElkZW50aWZpZXIgcHJvcGVydHlOYW1lKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAg
aWYgKG5wT2JqZWN0LT5fY2xhc3MtPnJlbW92ZVByb3BlcnR5KQorICAgICAgICByZXR1cm4gbnBP
YmplY3QtPl9jbGFzcy0+cmVtb3ZlUHJvcGVydHkobnBPYmplY3QsIHByb3BlcnR5TmFtZSk7CisK
ICAgICByZXR1cm4gZmFsc2U7CiB9CiAKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwppbmRleCA2ZWM2YzE3ZGZlOWI1ZjAzOWI2Nzk0MTNi
ODA0YjM4NzdlNDQwMjc4Li4xYzNiM2Q5NWQyNzFjOTJmODdjOWQ1MzQzNTAxNDFjOWE0MWIyZjNl
IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMTAtMDgtMDEgIEFuZGVycyBDYXJsc3NvbiAgPGFu
ZGVyc2NhQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBJbXBsZW1lbnQgTlBOX1JlbW92ZVByb3BlcnR5CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MzMxNQorCisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvRHVtcFJlbmRlclRyZWUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAg
ICAgQWRkIE5QUnVudGltZVJlbW92ZVByb3BlcnR5LmNwcAorICAgICAgICAKKyAgICAgICAgKiBE
dW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4vUGx1Z2luVGVzdC5jcHA6CisgICAgICAg
IChQbHVnaW5UZXN0OjpOUE5fR2V0U3RyaW5nSWRlbnRpZmllcik6CisgICAgICAgIChQbHVnaW5U
ZXN0OjpOUE5fR2V0SW50SWRlbnRpZmllcik6CisgICAgICAgIChQbHVnaW5UZXN0OjpOUE5fUmVt
b3ZlUHJvcGVydHkpOgorICAgICAgICBBZGQgTlBOXyBoZWxwZXJzLgorCisgICAgICAgICogRHVt
cFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1Z0luL1BsdWdpblRlc3QuaDoKKyAgICAgICAgU3Vw
cG9ydCBtb3JlIE5QQ2xhc3MgZnVuY3Rpb25zLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUv
VGVzdE5ldHNjYXBlUGx1Z0luL1Rlc3RzL05QUnVudGltZVJlbW92ZVByb3BlcnR5LmNwcDogQWRk
ZWQuCisgICAgICAgIChOUFJ1bnRpbWVSZW1vdmVQcm9wZXJ0eTo6TlBSdW50aW1lUmVtb3ZlUHJv
cGVydHkpOgorICAgICAgICBUZXN0IGZvciBOUE5fUmVtb3ZlUHJvcGVydHkuCisKKyAgICAgICAg
KE5QUnVudGltZVJlbW92ZVByb3BlcnR5OjpUZXN0T2JqZWN0OjpoYXNNZXRob2QpOiAgICAgICAg
CisgICAgICAgIChOUFJ1bnRpbWVSZW1vdmVQcm9wZXJ0eTo6VGVzdE9iamVjdDo6aW52b2tlKToK
KyAgICAgICAgQWRkIGEgdGVzdFJlbW92ZVByb3BlcnR5IG1ldGhvZC4KKworICAgICAgICAoTlBS
dW50aW1lUmVtb3ZlUHJvcGVydHk6Ok5QUF9HZXRWYWx1ZSk6CisgICAgICAgIFJldHVybiB0aGUg
dGVzdCBvYmplY3QuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVn
SW4vd2luL1Rlc3ROZXRzY2FwZVBsdWdpbi52Y3Byb2o6CisgICAgICAgICogRHVtcFJlbmRlclRy
ZWUvcXQvVGVzdE5ldHNjYXBlUGx1Z2luL1Rlc3ROZXRzY2FwZVBsdWdpbi5wcm86CisgICAgICAg
ICogR05VbWFrZWZpbGUuYW06CisgICAgICAgIEFkZCBOUFJ1bnRpbWVSZW1vdmVQcm9wZXJ0eS5j
cHAKKwogMjAxMC0wNy0zMCAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCmRpZmYgLS1naXQgYS9XZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagppbmRleCBiYTRkZGMzN2VhNGNlYjUzMzliYTRhZWMyZTUwODNjZWQ0NjM0
Y2RkLi45ZDhiMjdiZmI4OGNjMGFmYWY0ZGY5OTg2NzI2Yzg0NWNmZWE0ZDcxIDEwMDY0NAotLS0g
YS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJU
cmVlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTM5LDYgKzM5LDcgQEAKIAkJMUFDNkM4
NDkwRDA3NjM4NjAwQ0QzMTYxIC8qIG1haW4uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMUFDNkM3N0YwRDA3NTg5QjAwQ0QzMTYxIC8qIG1haW4uY3Bw
ICovOyB9OwogCQkxQUM2Qzg0QTBEMDc2Mzg2MDBDRDMxNjEgLyogUGx1Z2luT2JqZWN0LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQzZDNzgwMEQw
NzU4OUIwMENEMzE2MSAvKiBQbHVnaW5PYmplY3QuY3BwICovOyB9OwogCQkxQUM2Qzg0QjBEMDc2
Mzg2MDBDRDMxNjEgLyogVGVzdE9iamVjdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxQUM2Qzc4MTBEMDc1ODlCMDBDRDMxNjEgLyogVGVzdE9iamVj
dC5jcHAgKi87IH07CisJCTFBQzc3RENGMTIwNjA1QjYwMDVDMTlFRiAvKiBOUFJ1bnRpbWVSZW1v
dmVQcm9wZXJ0eS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAxQUM3N0RDRTEyMDYwNUI2MDA1QzE5RUYgLyogTlBSdW50aW1lUmVtb3ZlUHJvcGVydHku
Y3BwICovOyB9OwogCQkxQUQ5RDJGRTEyMDI4NDA5MDAxQTcwRDEgLyogUGx1Z2luU2NyaXB0YWJs
ZU5QT2JqZWN0SW52b2tlRGVmYXVsdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxQUQ5RDJGRDEyMDI4NDA5MDAxQTcwRDEgLyogUGx1Z2luU2NyaXB0
YWJsZU5QT2JqZWN0SW52b2tlRGVmYXVsdC5jcHAgKi87IH07CiAJCTIzQkNCODkwMEVBNTc2MjMw
MDNDNjI4OSAvKiBPcGVuR0wuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMjNCQ0I4OEYwRUE1NzYyMzAwM0M2Mjg5IC8qIE9wZW5HTC5m
cmFtZXdvcmsgKi87IH07CiAJCTM3MTNFREUyMTE1QkUxOTMwMDcwNTcyMCAvKiBDb2xvckJpdHMt
QS5wbmcgaW4gQ29weSBGb250IEZpbGVzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDM3MTNFRERGMTE1QkUxNkYwMDcwNTcyMCAvKiBDb2xvckJpdHMtQS5wbmcgKi87IH07CkBA
IC0xOTYsNiArMTk3LDcgQEAKIAkJMUFDNkM3N0YwRDA3NTg5QjAwQ0QzMTYxIC8qIG1haW4uY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gbWFpbi5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBQzZDNzgwMEQwNzU4OUIwMENEMzE2MSAvKiBQbHVnaW5P
YmplY3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGx1Z2luT2Jq
ZWN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUFDNkM3ODEwRDA3NTg5QjAw
Q0QzMTYxIC8qIFRlc3RPYmplY3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gVGVzdE9iamVjdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFBQzc3
RENFMTIwNjA1QjYwMDVDMTlFRiAvKiBOUFJ1bnRpbWVSZW1vdmVQcm9wZXJ0eS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBOUFJ1bnRpbWVSZW1vdmVQcm9wZXJ0eS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBRDlEMkZEMTIwMjg0MDkwMDFBNzBE
MSAvKiBQbHVnaW5TY3JpcHRhYmxlTlBPYmplY3RJbnZva2VEZWZhdWx0LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBsdWdpblNjcmlwdGFibGVOUE9iamVjdEludm9r
ZURlZmF1bHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyM0JDQjg4RjBFQTU3
NjIzMDAzQzYyODkgLyogT3BlbkdMLmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBuYW1lID0gT3BlbkdM
LmZyYW1ld29yazsgcGF0aCA9IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL09wZW5HTC5mcmFt
ZXdvcms7IHNvdXJjZVRyZWUgPSAiPGFic29sdXRlPiI7IH07CiAJCTMyQTcwQUFCMDM3MDVFMUYw
MEM5MTc4MyAvKiBEdW1wUmVuZGVyVHJlZVByZWZpeC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBEdW1wUmVuZGVyVHJlZVByZWZpeC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtNDM2LDYgKzQzOCw3IEBACiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVu
ID0gKAogCQkJCTFBMjE1QTc1MTFGMjYwNzIwMDhBRDBGNSAvKiBEb2N1bWVudE9wZW5JbkRlc3Ry
b3lTdHJlYW0uY3BwICovLAorCQkJCTFBQzc3RENFMTIwNjA1QjYwMDVDMTlFRiAvKiBOUFJ1bnRp
bWVSZW1vdmVQcm9wZXJ0eS5jcHAgKi8sCiAJCQkJMUFEOUQyRkQxMjAyODQwOTAwMUE3MEQxIC8q
IFBsdWdpblNjcmlwdGFibGVOUE9iamVjdEludm9rZURlZmF1bHQuY3BwICovLAogCQkJKTsKIAkJ
CXBhdGggPSBUZXN0czsKQEAgLTcwOCw2ICs3MTEsNyBAQAogCQkJCTFBMjE1QTgxMTFGMjYwOUMw
MDhBRDBGNSAvKiBQbHVnaW5UZXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBMjE1QkU3MTFG
Mjc2NTgwMDhBRDBGNSAvKiBEb2N1bWVudE9wZW5JbkRlc3Ryb3lTdHJlYW0uY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMUFEOUQyRkUxMjAyODQwOTAwMUE3MEQxIC8qIFBsdWdpblNjcmlwdGFibGVO
UE9iamVjdEludm9rZURlZmF1bHQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMUFDNzdEQ0YxMjA2
MDVCNjAwNUMxOUVGIC8qIE5QUnVudGltZVJlbW92ZVByb3BlcnR5LmNwcCBpbiBTb3VyY2VzICov
LAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9
OwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1
Z0luL1BsdWdpblRlc3QuY3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNj
YXBlUGx1Z0luL1BsdWdpblRlc3QuY3BwCmluZGV4IGMxNDJhYzBkMDBkNTVkNWM1ZjRiM2I5NDk5
YzcyOWY2NWQ4ZmExNjYuLjBmZjcwMjkzNmNmZThkYjI5ZjlmNjdhZjhmNTAzN2EzNjhiZWRlMDkg
MTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBsdWdJ
bi9QbHVnaW5UZXN0LmNwcAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0
c2NhcGVQbHVnSW4vUGx1Z2luVGVzdC5jcHAKQEAgLTYwLDExICs2MCwyNiBAQCBOUEVycm9yIFBs
dWdpblRlc3Q6Ok5QUF9HZXRWYWx1ZShOUFBWYXJpYWJsZSB2YXJpYWJsZSwgdm9pZCAqdmFsdWUp
CiAgICAgcmV0dXJuIE5QRVJSX0dFTkVSSUNfRVJST1I7CiB9CiAKK05QSWRlbnRpZmllciBQbHVn
aW5UZXN0OjpOUE5fR2V0U3RyaW5nSWRlbnRpZmllcihjb25zdCBOUFVURjggKm5hbWUpCit7Cisg
ICAgcmV0dXJuIGJyb3dzZXItPmdldHN0cmluZ2lkZW50aWZpZXIobmFtZSk7Cit9CisKK05QSWRl
bnRpZmllciBQbHVnaW5UZXN0OjpOUE5fR2V0SW50SWRlbnRpZmllcihpbnQzMl90IGludGlkKQor
eworICAgIHJldHVybiBicm93c2VyLT5nZXRpbnRpZGVudGlmaWVyKGludGlkKTsKK30KKwogTlBP
YmplY3QqIFBsdWdpblRlc3Q6Ok5QTl9DcmVhdGVPYmplY3QoTlBDbGFzcyogbnBDbGFzcykKIHsK
ICAgICByZXR1cm4gYnJvd3Nlci0+Y3JlYXRlb2JqZWN0KG1fbnBwLCBucENsYXNzKTsKIH0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKIAorYm9vbCBQbHVnaW5UZXN0OjpOUE5fUmVt
b3ZlUHJvcGVydHkoTlBPYmplY3QqIG5wT2JqZWN0LCBOUElkZW50aWZpZXIgcHJvcGVydHlOYW1l
KQoreworICAgIHJldHVybiBicm93c2VyLT5yZW1vdmVwcm9wZXJ0eShtX25wcCwgbnBPYmplY3Qs
IHByb3BlcnR5TmFtZSk7Cit9CisKIHZvaWQgUGx1Z2luVGVzdDo6cmVnaXN0ZXJDcmVhdGVUZXN0
RnVuY3Rpb24oY29uc3Qgc3RyaW5nJiBpZGVudGlmaWVyLCBDcmVhdGVUZXN0RnVuY3Rpb24gY3Jl
YXRlVGVzdEZ1bmN0aW9uKQogewogICAgIGFzc2VydCghY3JlYXRlVGVzdEZ1bmN0aW9ucygpLmNv
dW50KGlkZW50aWZpZXIpKTsKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L1Rlc3ROZXRzY2FwZVBsdWdJbi9QbHVnaW5UZXN0LmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVy
VHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4vUGx1Z2luVGVzdC5oCmluZGV4IDc3ZTBlZTVlOTNjYWFk
ZDRkOTBlNjQyMmM1Zjk2YjE2ODAxOWJiMTQuLjAxZDQ5YTYwNDdjYzg0ZDJlMDA1ZDkzNGU2MDZh
YWY1NTllYmJkZGUgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RO
ZXRzY2FwZVBsdWdJbi9QbHVnaW5UZXN0LmgKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRy
ZWUvVGVzdE5ldHNjYXBlUGx1Z0luL1BsdWdpblRlc3QuaApAQCAtMzYsMjQgKzM2LDMzIEBAIHR5
cGVkZWYgY2hhciAoJm5vX3RhZylbMV07CiB0eXBlZGVmIGNoYXIgKCZ5ZXNfdGFnKVsyXTsKIAog
I2RlZmluZSBERUZJTkVfSEFTX01FTUJFUl9DSEVDSyhtZW1iZXIsIHJldHVyblR5cGUsIGFyZ3Vt
ZW50VHlwZXMpIFwKLXRlbXBsYXRlPHR5cGVuYW1lIFQsIHJldHVyblR5cGUgKFQ6OiptZW1iZXIp
IGFyZ3VtZW50VHlwZXM+IHN0cnVjdCBwbWZfaGVscGVyIHt9OyBcCit0ZW1wbGF0ZTx0eXBlbmFt
ZSBULCByZXR1cm5UeXBlIChUOjoqbWVtYmVyKSBhcmd1bWVudFR5cGVzPiBzdHJ1Y3QgcG1mXyMj
bWVtYmVyIyNfaGVscGVyIHt9OyBcCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBub190YWcgaGFzX21l
bWJlcl8jI21lbWJlciMjX2hlbHBlciguLi4pOyBcCi10ZW1wbGF0ZTx0eXBlbmFtZSBUPiB5ZXNf
dGFnIGhhc19tZW1iZXJfIyNtZW1iZXIjI19oZWxwZXIocG1mX2hlbHBlcjxULCAmVDo6bWVtYmVy
ID4gKik7IFwKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IHllc190YWcgaGFzX21lbWJlcl8jI21lbWJl
ciMjX2hlbHBlcihwbWZfIyNtZW1iZXIjI19oZWxwZXI8VCwgJlQ6Om1lbWJlciA+Kik7IFwKIHRl
bXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBoYXNfbWVtYmVyXyMjbWVtYmVyIHsgXAogc3RhdGlj
IGNvbnN0IGJvb2wgdmFsdWUgPSBzaXplb2YoaGFzX21lbWJlcl8jI21lbWJlciMjX2hlbHBlcjxU
PigwKSkgPT0gc2l6ZW9mKHllc190YWcpOyBcCiB9OwogCi1ERUZJTkVfSEFTX01FTUJFUl9DSEVD
SyhpbnZva2VEZWZhdWx0LCBib29sLCAoY29uc3QgTlBWYXJpYW50KiwgdWludDMyX3QsIE5QVmFy
aWFudCogcmVzdWx0KSkKK0RFRklORV9IQVNfTUVNQkVSX0NIRUNLKGhhc01ldGhvZCwgYm9vbCwg
KE5QSWRlbnRpZmllciBtZXRob2ROYW1lKSk7CitERUZJTkVfSEFTX01FTUJFUl9DSEVDSyhpbnZv
a2UsIGJvb2wsIChOUElkZW50aWZpZXIgbWV0aG9kTmFtZSwgY29uc3QgTlBWYXJpYW50KiwgdWlu
dDMyX3QsIE5QVmFyaWFudCogcmVzdWx0KSk7CitERUZJTkVfSEFTX01FTUJFUl9DSEVDSyhpbnZv
a2VEZWZhdWx0LCBib29sLCAoY29uc3QgTlBWYXJpYW50KiwgdWludDMyX3QsIE5QVmFyaWFudCog
cmVzdWx0KSk7CitERUZJTkVfSEFTX01FTUJFUl9DSEVDSyhoYXNQcm9wZXJ0eSwgYm9vbCwgKE5Q
SWRlbnRpZmllciBwcm9wZXJ0eU5hbWUpKTsKIAogY2xhc3MgUGx1Z2luVGVzdCB7CiBwdWJsaWM6
CiAgICAgc3RhdGljIFBsdWdpblRlc3QqIGNyZWF0ZShOUFAsIGNvbnN0IHN0ZDo6c3RyaW5nJiBp
ZGVudGlmaWVyKTsKICAgICB2aXJ0dWFsIH5QbHVnaW5UZXN0KCk7CiAKLSAgICAvLyBBZGQgbW9y
ZSBOUFAgZnVuY3Rpb25zIGhlcmUgaWYgbmVlZGVkLgotICAgIHZpcnR1YWwgTlBFcnJvciBOUFBf
RGVzdHJveVN0cmVhbShOUFN0cmVhbSAqc3RyZWFtLCBOUFJlYXNvbiByZWFzb24pOwotICAgIHZp
cnR1YWwgTlBFcnJvciBOUFBfR2V0VmFsdWUoTlBQVmFyaWFibGUsIHZvaWQgKnZhbHVlKTsKKyAg
ICAvLyBOUFAgZnVuY3Rpb25zLgorICAgIHZpcnR1YWwgTlBFcnJvciBOUFBfRGVzdHJveVN0cmVh
bShOUFN0cmVhbSogc3RyZWFtLCBOUFJlYXNvbiByZWFzb24pOworICAgIHZpcnR1YWwgTlBFcnJv
ciBOUFBfR2V0VmFsdWUoTlBQVmFyaWFibGUsIHZvaWQqIHZhbHVlKTsKIAorICAgIC8vIE5QTiBm
dW5jdGlvbnMuCisgICAgTlBJZGVudGlmaWVyIE5QTl9HZXRTdHJpbmdJZGVudGlmaWVyKGNvbnN0
IE5QVVRGOCogbmFtZSk7CisgICAgTlBJZGVudGlmaWVyIE5QTl9HZXRJbnRJZGVudGlmaWVyKGlu
dDMyX3QgaW50aWQpOworICAgIE5QT2JqZWN0KiBOUE5fQ3JlYXRlT2JqZWN0KE5QQ2xhc3MqKTsK
KyAgICBib29sIE5QTl9SZW1vdmVQcm9wZXJ0eShOUE9iamVjdCosIE5QSWRlbnRpZmllciBwcm9w
ZXJ0eU5hbWUpOworICAgIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFRlc3RDbGFzc1R5PiBjbGFz
cyBSZWdpc3RlciB7CiAgICAgcHVibGljOgogICAgICAgICBSZWdpc3Rlcihjb25zdCBzdGQ6OnN0
cmluZyYgaWRlbnRpZmllcikKQEAgLTcxLDkgKzgwLDYgQEAgcHVibGljOgogcHJvdGVjdGVkOgog
ICAgIFBsdWdpblRlc3QoTlBQIG5wcCwgY29uc3Qgc3RkOjpzdHJpbmcmIGlkZW50aWZpZXIpOwog
Ci0gICAgLy8gTlBOIGZ1bmN0aW9ucy4KLSAgICBOUE9iamVjdCogTlBOX0NyZWF0ZU9iamVjdChO
UENsYXNzKik7Ci0KICAgICAvLyBGSVhNRTogQSBwbHVnLWluIHRlc3Qgc2hvdWxkbid0IG5lZWQg
dG8ga25vdyBhYm91dCBpdCdzIE5QUC4gTWFrZSB0aGlzIHByaXZhdGUuCiAgICAgTlBQIG1fbnBw
OwogCkBAIC05MSwxMiArOTcsMzAgQEAgcHJvdGVjdGVkOgogICAgICAgICB9CiAgICAgCiAgICAg
ICAgIC8vIFRoZXNlIHNob3VsZCBuZXZlciBiZSBjYWxsZWQuCisgICAgICAgIGJvb2wgaGFzTWV0
aG9kKE5QSWRlbnRpZmllciBtZXRob2ROYW1lKQorICAgICAgICB7CisgICAgICAgICAgICBhc3Nl
cnQoZmFsc2UpOworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisKKyAgICAg
ICAgYm9vbCBpbnZva2UoTlBJZGVudGlmaWVyIG1ldGhvZE5hbWUsIGNvbnN0IE5QVmFyaWFudCos
IHVpbnQzMl90LCBOUFZhcmlhbnQqIHJlc3VsdCkKKyAgICAgICAgeworICAgICAgICAgICAgYXNz
ZXJ0KGZhbHNlKTsKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorICAgICAg
ICAKICAgICAgICAgYm9vbCBpbnZva2VEZWZhdWx0KGNvbnN0IE5QVmFyaWFudCosIHVpbnQzMl90
LCBOUFZhcmlhbnQqIHJlc3VsdCkKICAgICAgICAgewogICAgICAgICAgICAgYXNzZXJ0KGZhbHNl
KTsKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQogCisgICAgICAgIGJvb2wg
aGFzUHJvcGVydHkoTlBJZGVudGlmaWVyIHByb3BlcnR5TmFtZSkKKyAgICAgICAgeworICAgICAg
ICAgICAgYXNzZXJ0KGZhbHNlKTsKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAg
fQorCiAgICAgcHJvdGVjdGVkOgogICAgICAgICBPYmplY3QoKQogICAgICAgICAgICAgOiBtX3Bs
dWdpblRlc3QoMCkKQEAgLTEwNyw2ICsxMzEsOCBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIHsgCiAg
ICAgICAgIH0KIAorICAgICAgICBQbHVnaW5UZXN0KiBwbHVnaW5UZXN0KCkgY29uc3QgeyByZXR1
cm4gbV9wbHVnaW5UZXN0OyB9CisKICAgICBwcml2YXRlOgogICAgICAgICBzdGF0aWMgTlBPYmpl
Y3QqIE5QX0FsbG9jYXRlKE5QUCBucHAsIE5QQ2xhc3MqIGFDbGFzcykKICAgICAgICAgewpAQCAt
MTE4LDExICsxNDQsMjYgQEAgcHJvdGVjdGVkOgogICAgICAgICAgICAgZGVsZXRlIHN0YXRpY19j
YXN0PFQqPihucE9iamVjdCk7CiAgICAgICAgIH0KIAorICAgICAgICBzdGF0aWMgYm9vbCBOUF9I
YXNNZXRob2QoTlBPYmplY3QqIG5wT2JqZWN0LCBOUElkZW50aWZpZXIgbWV0aG9kTmFtZSkKKyAg
ICAgICAgeworICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFQqPihucE9iamVjdCktPmhh
c01ldGhvZChtZXRob2ROYW1lKTsKKyAgICAgICAgfQorCisgICAgICAgIHN0YXRpYyBib29sIE5Q
X0ludm9rZShOUE9iamVjdCogbnBPYmplY3QsIE5QSWRlbnRpZmllciBtZXRob2ROYW1lLCBjb25z
dCBOUFZhcmlhbnQqIGFyZ3VtZW50cywgdWludDMyX3QgYXJndW1lbnRDb3VudCwgTlBWYXJpYW50
KiByZXN1bHQpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxUKj4o
bnBPYmplY3QpLT5pbnZva2UobWV0aG9kTmFtZSwgYXJndW1lbnRzLCBhcmd1bWVudENvdW50LCBy
ZXN1bHQpOworICAgICAgICB9CisKICAgICAgICAgc3RhdGljIGJvb2wgTlBfSW52b2tlRGVmYXVs
dChOUE9iamVjdCogbnBPYmplY3QsIGNvbnN0IE5QVmFyaWFudCogYXJndW1lbnRzLCB1aW50MzJf
dCBhcmd1bWVudENvdW50LCBOUFZhcmlhbnQqIHJlc3VsdCkKICAgICAgICAgewogICAgICAgICAg
ICAgcmV0dXJuIHN0YXRpY19jYXN0PFQqPihucE9iamVjdCktPmludm9rZURlZmF1bHQoYXJndW1l
bnRzLCBhcmd1bWVudENvdW50LCByZXN1bHQpOwogICAgICAgICB9CiAKKyAgICAgICAgc3RhdGlj
IGJvb2wgTlBfSGFzUHJvcGVydHkoTlBPYmplY3QqIG5wT2JqZWN0LCBOUElkZW50aWZpZXIgcHJv
cGVydHlOYW1lKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8VCo+
KG5wT2JqZWN0KS0+aGFzUHJvcGVydHkocHJvcGVydHlOYW1lKTsKKyAgICAgICAgfQorICAgICAg
ICAKICAgICAgICAgc3RhdGljIE5QQ2xhc3MqIG5wQ2xhc3MoKQogICAgICAgICB7CiAgICAgICAg
ICAgICBzdGF0aWMgTlBDbGFzcyBucENsYXNzID0gewpAQCAtMTMwLDEwICsxNzEsMTAgQEAgcHJv
dGVjdGVkOgogICAgICAgICAgICAgICAgIE5QX0FsbG9jYXRlLAogICAgICAgICAgICAgICAgIE5Q
X0RlYWxsb2NhdGUsCiAgICAgICAgICAgICAgICAgMCwgLy8gTlBDbGFzczo6aW52YWxpZGF0ZQot
ICAgICAgICAgICAgICAgIDAsIC8vIE5QQ2xhc3M6Omhhc01ldGhvZAotICAgICAgICAgICAgICAg
IDAsIC8vIE5QQ2xhc3M6Omludm9rZQorICAgICAgICAgICAgICAgIGhhc19tZW1iZXJfaGFzTWV0
aG9kPFQ+Ojp2YWx1ZSA/IE5QX0hhc01ldGhvZCA6IDAsCisgICAgICAgICAgICAgICAgaGFzX21l
bWJlcl9pbnZva2U8VD46OnZhbHVlID8gTlBfSW52b2tlIDogMCwKICAgICAgICAgICAgICAgICBo
YXNfbWVtYmVyX2ludm9rZURlZmF1bHQ8VD46OnZhbHVlID8gTlBfSW52b2tlRGVmYXVsdCA6IDAs
Ci0gICAgICAgICAgICAgICAgMCwgLy8gTlBDbGFzczo6aGFzUHJvcGVydHkKKyAgICAgICAgICAg
ICAgICBoYXNfbWVtYmVyX2hhc1Byb3BlcnR5PFQ+Ojp2YWx1ZSA/IE5QX0hhc1Byb3BlcnR5IDog
MCwKICAgICAgICAgICAgICAgICAwLCAvLyBOUENsYXNzOjpnZXRQcm9wZXJ0eQogICAgICAgICAg
ICAgICAgIDAsIC8vIE5QQ2xhc3M6OnNldFByb3BlcnR5CiAgICAgICAgICAgICAgICAgMCwgLy8g
TlBDbGFzczo6cmVtb3ZlUHJvcGVydHkKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL1Rlc3ROZXRzY2FwZVBsdWdJbi9UZXN0cy9OUFJ1bnRpbWVSZW1vdmVQcm9wZXJ0eS5j
cHAgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4vVGVzdHMv
TlBSdW50aW1lUmVtb3ZlUHJvcGVydHkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRkNDE3ZDEyODk2MDRiOTRk
MTkwZjYyZGU5ZDVjZDZjODUxYWNmMzEKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4vVGVzdHMvTlBSdW50aW1lUmVtb3ZlUHJv
cGVydHkuY3BwCkBAIC0wLDAgKzEsODkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiUGx1Z2lu
VGVzdC5oIgorCit1c2luZyBuYW1lc3BhY2Ugc3RkOworCisKK2NsYXNzIE5QUnVudGltZVJlbW92
ZVByb3BlcnR5IDogcHVibGljIFBsdWdpblRlc3QgeworcHVibGljOgorICAgIE5QUnVudGltZVJl
bW92ZVByb3BlcnR5KE5QUCBucHAsIGNvbnN0IHN0cmluZyYgaWRlbnRpZmllcikKKyAgICAgICAg
OiBQbHVnaW5UZXN0KG5wcCwgaWRlbnRpZmllcikKKyAgICB7CisgICAgfQorICAgIAorcHJpdmF0
ZToKKyAgICBzdHJ1Y3QgVGVzdE9iamVjdCA6IE9iamVjdDxUZXN0T2JqZWN0PiB7IAorICAgIHB1
YmxpYzoKKyAgICAgICAgYm9vbCBoYXNNZXRob2QoTlBJZGVudGlmaWVyIG1ldGhvZE5hbWUpCisg
ICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBtZXRob2ROYW1lID09IHBsdWdpblRlc3QoKS0+
TlBOX0dldFN0cmluZ0lkZW50aWZpZXIoInRlc3RSZW1vdmVQcm9wZXJ0eSIpOworICAgICAgICB9
CisKKyAgICAgICAgYm9vbCBpbnZva2UoTlBJZGVudGlmaWVyIG1ldGhvZE5hbWUsIGNvbnN0IE5Q
VmFyaWFudCogYXJndW1lbnRzLCB1aW50MzJfdCBhcmd1bWVudENvdW50LCBOUFZhcmlhbnQqIHJl
c3VsdCkKKyAgICAgICAgeworICAgICAgICAgICAgYXNzZXJ0KG1ldGhvZE5hbWUgPT0gcGx1Z2lu
VGVzdCgpLT5OUE5fR2V0U3RyaW5nSWRlbnRpZmllcigidGVzdFJlbW92ZVByb3BlcnR5IikpOwor
CisgICAgICAgICAgICBpZiAoYXJndW1lbnRDb3VudCAhPSAyKQorICAgICAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKKworICAgICAgICAgICAgaWYgKCFOUFZBUklBTlRfSVNfT0JKRUNUKGFyZ3Vt
ZW50c1swXSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgCisg
ICAgICAgICAgICBpZiAoIU5QVkFSSUFOVF9JU19TVFJJTkcoYXJndW1lbnRzWzFdKSAmJiAhTlBW
QVJJQU5UX0lTX0RPVUJMRShhcmd1bWVudHNbMV0pKQorICAgICAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgTlBJZGVudGlmaWVyIHByb3BlcnR5TmFt
ZTsKKyAgICAgICAgICAgIGlmIChOUFZBUklBTlRfSVNfU1RSSU5HKGFyZ3VtZW50c1sxXSkpIHsK
KyAgICAgICAgICAgICAgICBzdHJpbmcgcHJvcGVydHlOYW1lU3RyaW5nKGFyZ3VtZW50c1sxXS52
YWx1ZS5zdHJpbmdWYWx1ZS5VVEY4Q2hhcmFjdGVycywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGFyZ3VtZW50c1sxXS52YWx1ZS5zdHJpbmdWYWx1ZS5VVEY4TGVu
Z3RoKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIHByb3BlcnR5TmFtZSA9IHBsdWdp
blRlc3QoKS0+TlBOX0dldFN0cmluZ0lkZW50aWZpZXIocHJvcGVydHlOYW1lU3RyaW5nLmNfc3Ry
KCkpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBpbnQzMl90IG51bWJl
ciA9IGFyZ3VtZW50c1sxXS52YWx1ZS5kb3VibGVWYWx1ZTsKKyAgICAgICAgICAgICAgICBwcm9w
ZXJ0eU5hbWUgPSBwbHVnaW5UZXN0KCktPk5QTl9HZXRJbnRJZGVudGlmaWVyKG51bWJlcik7Cisg
ICAgICAgICAgICB9CisgICAgICAgICAgICAKKyAgICAgICAgICAgIHBsdWdpblRlc3QoKS0+TlBO
X1JlbW92ZVByb3BlcnR5KE5QVkFSSUFOVF9UT19PQkpFQ1QoYXJndW1lbnRzWzBdKSwgcHJvcGVy
dHlOYW1lKTsKKworICAgICAgICAgICAgVk9JRF9UT19OUFZBUklBTlQoKnJlc3VsdCk7CisgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorICAgIH07CisgICAgCisgICAgdmlydHVh
bCBOUEVycm9yIE5QUF9HZXRWYWx1ZShOUFBWYXJpYWJsZSB2YXJpYWJsZSwgdm9pZCAqdmFsdWUp
CisgICAgeworICAgICAgICBpZiAodmFyaWFibGUgIT0gTlBQVnBsdWdpblNjcmlwdGFibGVOUE9i
amVjdCkKKyAgICAgICAgICAgIHJldHVybiBOUEVSUl9HRU5FUklDX0VSUk9SOworICAgICAgICAK
KyAgICAgICAgKihOUE9iamVjdCoqKXZhbHVlID0gVGVzdE9iamVjdDo6Y3JlYXRlKHRoaXMpOwor
ICAgICAgICAKKyAgICAgICAgcmV0dXJuIE5QRVJSX05PX0VSUk9SOworICAgIH0KKyAgICAKK307
CisKK3N0YXRpYyBQbHVnaW5UZXN0OjpSZWdpc3RlcjxOUFJ1bnRpbWVSZW1vdmVQcm9wZXJ0eT4g
bnBSdW50aW1lUmVtb3ZlUHJvcGVydHkoIm5wcnVudGltZS1yZW1vdmUtcHJvcGVydHkiKTsKZGlm
ZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBsdWdJbi93
aW4vVGVzdE5ldHNjYXBlUGx1Z2luLnZjcHJvaiBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L1Rlc3ROZXRzY2FwZVBsdWdJbi93aW4vVGVzdE5ldHNjYXBlUGx1Z2luLnZjcHJvagppbmRleCA1
MDBkYWU3YTc4NWEyMGE3MWZlMmFlMzRhNGFkNmRiY2E0NmVlMWU0Li5lODNhYjBiNWI3NzBlODNj
Njc1NWEwNGViMjM2MmY3OWY0ZTA4NGM0IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVu
ZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4vd2luL1Rlc3ROZXRzY2FwZVBsdWdpbi52Y3Byb2oK
KysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1Z0luL3dpbi9U
ZXN0TmV0c2NhcGVQbHVnaW4udmNwcm9qCkBAIC00NjQsNiArNDY0LDEwIEBACiAgICAgCQk+DQog
ICAgIAkgIDwvRmlsZT4NCiAJCSAgPEZpbGUNCisgICAgCQkgIFJlbGF0aXZlUGF0aD0iLi5cVGVz
dHNcTlBSdW50aW1lUmVtb3ZlUHJvcGVydHkuY3BwIg0KKyAgICAJCT4NCisgICAgCSAgPC9GaWxl
Pg0KKwkJICA8RmlsZQ0KICAgICAJCSAgUmVsYXRpdmVQYXRoPSIuLlxUZXN0c1xQbHVnaW5TY3Jp
cHRhYmxlTlBPYmplY3RJbnZva2VEZWZhdWx0LmNwcCINCiAgICAgCQk+DQogICAgIAkgIDwvRmls
ZT4NCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9UZXN0TmV0c2Nh
cGVQbHVnaW4vVGVzdE5ldHNjYXBlUGx1Z2luLnBybyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJU
cmVlL3F0L1Rlc3ROZXRzY2FwZVBsdWdpbi9UZXN0TmV0c2NhcGVQbHVnaW4ucHJvCmluZGV4IGYy
OTI2YWIzNDRkMjZlNTliOGUyYjVlZDlkNmQ3YTJmOTU3MjllYjcuLjQ3NzIxZjk5MjFiNWFiMjM4
OTQ0OWI0ZGQ3NWVmYjU3Y2IxOGRjNTIgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL3F0L1Rlc3ROZXRzY2FwZVBsdWdpbi9UZXN0TmV0c2NhcGVQbHVnaW4ucHJvCisrKyBi
L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L1Rlc3ROZXRzY2FwZVBsdWdpbi9UZXN0TmV0
c2NhcGVQbHVnaW4ucHJvCkBAIC0yOSw2ICsyOSw3IEBAIFNPVVJDRVMgPSBQbHVnaW5PYmplY3Qu
Y3BwIFwKICAgICAgICAgICBQbHVnaW5UZXN0LmNwcCBcCiAgICAgICAgICAgVGVzdE9iamVjdC5j
cHAgXAogICAgICAgICAgIFRlc3RzL0RvY3VtZW50T3BlbkluRGVzdHJveVN0cmVhbS5jcHAgXAor
ICAgICAgICAgIFRlc3RzL05QUnVudGltZVJlbW92ZVByb3BlcnR5LmNwcCBcCiAgICAgICAgICAg
VGVzdHMvUGx1Z2luU2NyaXB0YWJsZU5QT2JqZWN0SW52b2tlRGVmYXVsdC5jcHAKIAogbWFjIHsK
ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0dOVW1ha2VmaWxlLmFtIGIvV2ViS2l0VG9vbHMvR05V
bWFrZWZpbGUuYW0KaW5kZXggMzJjZTMwOTRlZjQyZmZjOTgzYWNkMjhkZjVjZWI4ZTkzZmIyNjc1
ZC4uMjY0OTQwNzg0N2QzN2RkYjIyNzAyMTY2MTEwNTIyYWE4OTk0ZTcyMCAxMDA2NDQKLS0tIGEv
V2ViS2l0VG9vbHMvR05VbWFrZWZpbGUuYW0KKysrIGIvV2ViS2l0VG9vbHMvR05VbWFrZWZpbGUu
YW0KQEAgLTE1OSw2ICsxNTksNyBAQCBUZXN0TmV0c2NhcGVQbHVnaW5fbGlidGVzdG5ldHNjYXBl
cGx1Z2luX2xhX1NPVVJDRVMgPSBcCiAJV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvdW5peC9U
ZXN0TmV0c2NhcGVQbHVnaW4vRm9yd2FyZGluZ0hlYWRlcnMvV2ViS2l0L25wcnVudGltZS5oIFwK
IAlXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS91bml4L1Rlc3ROZXRzY2FwZVBsdWdpbi9UZXN0
TmV0c2NhcGVQbHVnaW4uY3BwIFwKIAlXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0
c2NhcGVQbHVnSW4vVGVzdHMvRG9jdW1lbnRPcGVuSW5EZXN0cm95U3RyZWFtLmNwcCBcCisJV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1Z0luL1Rlc3RzL05QUnVudGlt
ZVJlbW92ZVByb3BlcnR5LmNwcCBcCiAJV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE5l
dHNjYXBlUGx1Z0luL1Rlc3RzL1BsdWdpblNjcmlwdGFibGVOUE9iamVjdEludm9rZURlZmF1bHQu
Y3BwIFwKIAlXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4vUGx1
Z2luVGVzdC5jcHAgXAogCVdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBs
dWdJbi9QbHVnaW5UZXN0LmggXAo=
</data>
<flag name="review"
          id="51477"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>