<?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>31636</bug_id>
          
          <creation_ts>2009-11-18 12:27:04 -0800</creation_ts>
          <short_desc>wx port lacks plugin support</short_desc>
          <delta_ts>2009-11-18 15:20:02 -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>WebKit wx</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</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>0</everconfirmed>
          <reporter name="Kevin Watters">kevinwatters</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>kevino</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>164660</commentid>
    <comment_count>0</comment_count>
      <attachid>43447</attachid>
    <who name="Kevin Watters">kevinwatters</who>
    <bug_when>2009-11-18 12:27:04 -0800</bug_when>
    <thetext>Created attachment 43447
implement plugin support on windows

With some sharing of code in the Webcore/plugins/win directory, the wxWebKit port on Windows could display plugins without too much effort.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>164755</commentid>
    <comment_count>1</comment_count>
    <who name="Kevin Ollivier">kevino</who>
    <bug_when>2009-11-18 15:20:02 -0800</bug_when>
    <thetext>Landed in r51143, thanks! :)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43447</attachid>
            <date>2009-11-18 12:27:04 -0800</date>
            <delta_ts>2009-11-18 12:32:06 -0800</delta_ts>
            <desc>implement plugin support on windows</desc>
            <filename>win_plugins.patch</filename>
            <type>text/plain</type>
            <size>21430</size>
            <attacher name="Kevin Watters">kevinwatters</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC93eC9XZWJLaXRTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50V3guY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYktpdC93eC9XZWJLaXRTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50V3gu
Y3BwCShyZXZpc2lvbiA1MTEwMSkKKysrIFdlYktpdC93eC9XZWJLaXRTdXBwb3J0L0ZyYW1lTG9h
ZGVyQ2xpZW50V3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOSw5ICszOSwxMSBAQAogI2luY2x1
ZGUgIkZyYW1lVHJlZS5oIgogI2luY2x1ZGUgIkhUTUxGb3JtRWxlbWVudC5oIgogI2luY2x1ZGUg
IkhUTUxGcmFtZU93bmVyRWxlbWVudC5oIgorI2luY2x1ZGUgIkhUTUxQbHVnaW5FbGVtZW50Lmgi
CiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVk
ZSAiUGxhdGZvcm1TdHJpbmcuaCIKKyNpbmNsdWRlICJQbHVnaW5WaWV3LmgiCiAjaW5jbHVkZSAi
UHJvZ3Jlc3NUcmFja2VyLmgiCiAjaW5jbHVkZSAiUmVuZGVyUGFydC5oIgogI2luY2x1ZGUgIlJl
c291cmNlRXJyb3IuaCIKQEAgLTgwLDcgKzgyLDEwIEBACiB9CiAKIEZyYW1lTG9hZGVyQ2xpZW50
V3g6OkZyYW1lTG9hZGVyQ2xpZW50V3goKQotICAgIDogbV93ZWJGcmFtZSgwKQorICAgIDogbV9m
cmFtZSgwKQorICAgICwgbV9wbHVnaW5WaWV3KDApCisgICAgLCBtX2hhc1NlbnRSZXNwb25zZVRv
UGx1Z2luKGZhbHNlKQorICAgICwgbV93ZWJGcmFtZSgwKQogewogfQogCkBAIC00MDgsNyArNDEz
LDExIEBACiAKIHZvaWQgRnJhbWVMb2FkZXJDbGllbnRXeDo6ZmluaXNoZWRMb2FkaW5nKERvY3Vt
ZW50TG9hZGVyKikKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIGlmIChtX3BsdWdpblZp
ZXcpIHsKKyAgICAgICAgbV9wbHVnaW5WaWV3LT5kaWRGaW5pc2hMb2FkaW5nKCk7CisgICAgICAg
IG1fcGx1Z2luVmlldyA9IDA7CisgICAgICAgIG1faGFzU2VudFJlc3BvbnNlVG9QbHVnaW4gPSBm
YWxzZTsKKyAgICB9CiB9CiAKIApAQCAtNTY3LDkgKzU3NiwyNSBAQAogewogICAgIGlmICghbV93
ZWJGcmFtZSkKICAgICAgICAgcmV0dXJuOwotICAgIEZyYW1lTG9hZGVyKiBmbCA9IGxvYWRlci0+
ZnJhbWVMb2FkZXIoKTsKLSAgICBmbC0+c2V0RW5jb2RpbmcobV9yZXNwb25zZS50ZXh0RW5jb2Rp
bmdOYW1lKCksIGZhbHNlKTsKLSAgICBmbC0+YWRkRGF0YShkYXRhLCBsZW5ndGgpOworICAgIGlm
ICghbV9wbHVnaW5WaWV3KSB7CisgICAgICAgIEZyYW1lTG9hZGVyKiBmbCA9IGxvYWRlci0+ZnJh
bWVMb2FkZXIoKTsKKyAgICAgICAgZmwtPnNldEVuY29kaW5nKG1fcmVzcG9uc2UudGV4dEVuY29k
aW5nTmFtZSgpLCBmYWxzZSk7CisgICAgICAgIGZsLT5hZGREYXRhKGRhdGEsIGxlbmd0aCk7Cisg
ICAgfQorICAgIAorICAgIC8vIFdlIHJlLWNoZWNrIGhlcmUgYXMgdGhlIHBsdWdpbiBjYW4gaGF2
ZSBiZWVuIGNyZWF0ZWQKKyAgICBpZiAobV9wbHVnaW5WaWV3KSB7CisgICAgICAgIGlmICghbV9o
YXNTZW50UmVzcG9uc2VUb1BsdWdpbikgeworICAgICAgICAgICAgbV9wbHVnaW5WaWV3LT5kaWRS
ZWNlaXZlUmVzcG9uc2UobG9hZGVyLT5yZXNwb25zZSgpKTsKKyAgICAgICAgICAgIC8vIGRpZFJl
Y2VpdmVSZXNwb25zZSBzZXRzIHVwIGEgbmV3IHN0cmVhbSB0byB0aGUgcGx1Zy1pbi4gb24gYSBm
dWxsLXBhZ2UgcGx1Zy1pbiwgYSBmYWlsdXJlIGluCisgICAgICAgICAgICAvLyBzZXR0aW5nIHVw
IHRoaXMgc3RyZWFtIGNhbiBjYXVzZSB0aGUgbWFpbiBkb2N1bWVudCBsb2FkIHRvIGJlIGNhbmNl
bGxlZCwgc2V0dGluZyBtX3BsdWdpblZpZXcKKyAgICAgICAgICAgIC8vIHRvIG51bGwKKyAgICAg
ICAgICAgIGlmICghbV9wbHVnaW5WaWV3KQorICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAg
ICAgICAgIG1faGFzU2VudFJlc3BvbnNlVG9QbHVnaW4gPSB0cnVlOworICAgICAgICB9CisgICAg
ICAgIG1fcGx1Z2luVmlldy0+ZGlkUmVjZWl2ZURhdGEoZGF0YSwgbGVuZ3RoKTsKKyAgICB9CiB9
CiAKIFdlYkNvcmU6OlJlc291cmNlRXJyb3IgRnJhbWVMb2FkZXJDbGllbnRXeDo6Y2FuY2VsbGVk
RXJyb3IoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQpAQCAtODAwLDE2
ICs4MjUsMjEgQEAKICAgICByZXR1cm4gT2JqZWN0Q29udGVudFR5cGUoKTsKIH0KIAotUGFzc1Jl
ZlB0cjxXaWRnZXQ+IEZyYW1lTG9hZGVyQ2xpZW50V3g6OmNyZWF0ZVBsdWdpbihjb25zdCBJbnRT
aXplJiwgSFRNTFBsdWdJbkVsZW1lbnQqLCBjb25zdCBLVVJMJiwgY29uc3QgVmVjdG9yPFN0cmlu
Zz4mLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYsIGNvbnN0IFN0cmluZyYsIGJvb2wgbG9hZE1hbnVh
bGx5KQorUGFzc1JlZlB0cjxXaWRnZXQ+IEZyYW1lTG9hZGVyQ2xpZW50V3g6OmNyZWF0ZVBsdWdp
bihjb25zdCBJbnRTaXplJiBzaXplLCBIVE1MUGx1Z0luRWxlbWVudCogZWxlbWVudCwgY29uc3Qg
S1VSTCYgdXJsLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgcGFyYW1OYW1lcywgY29uc3QgVmVjdG9y
PFN0cmluZz4mIHBhcmFtVmFsdWVzLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBib29sIGxvYWRN
YW51YWxseSkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworI2lmIFBMQVRGT1JNKFdJTl9PUykK
KyAgICBSZWZQdHI8UGx1Z2luVmlldz4gcHYgPSBQbHVnaW5WaWV3OjpjcmVhdGUobV9mcmFtZSwg
c2l6ZSwgZWxlbWVudCwgdXJsLCBwYXJhbU5hbWVzLCBwYXJhbVZhbHVlcywgbWltZVR5cGUsIGxv
YWRNYW51YWxseSk7CisgICAgaWYgKHB2LT5zdGF0dXMoKSA9PSBQbHVnaW5TdGF0dXNMb2FkZWRT
dWNjZXNzZnVsbHkpCisgICAgICAgIHJldHVybiBwdjsKKyNlbmRpZgogICAgIHJldHVybiAwOwog
fQogCiB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50V3g6OnJlZGlyZWN0RGF0YVRvUGx1Z2luKFdpZGdl
dCogcGx1Z2luV2lkZ2V0KQogewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuOwor
ICAgICBBU1NFUlQoIW1fcGx1Z2luVmlldyk7CisgICAgIG1fcGx1Z2luVmlldyA9IHN0YXRpY19j
YXN0PFBsdWdpblZpZXcqPihwbHVnaW5XaWRnZXQpOworICAgICBtX2hhc1NlbnRSZXNwb25zZVRv
UGx1Z2luID0gZmFsc2U7CiB9CiAKIFJlc291cmNlRXJyb3IgRnJhbWVMb2FkZXJDbGllbnRXeDo6
cGx1Z2luV2lsbEhhbmRsZUxvYWRFcnJvcihjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25z
ZSkKQEAgLTg4OCw0ICs5MTgsMTEgQEAKICAgICAgICAgbV9mcmFtZS0+Y3JlYXRlVmlldyhzaXpl
LCBiYWNrZ3JvdW5kQ29sb3IsIHRyYW5zcGFyZW50LCBJbnRTaXplKCksIGZhbHNlKTsgCiB9CiAK
K2Jvb2wgRnJhbWVMb2FkZXJDbGllbnRXeDo6c2hvdWxkVXNlUGx1Z2luRG9jdW1lbnQoY29uc3Qg
U3RyaW5nICZtaW1lVHlwZSkgY29uc3QKK3sKKyAgICAvLyBOT1RFOiBQbHVnaW4gRG9jdW1lbnRz
IGFyZSB1c2VkIGZvciB2aWV3aW5nIFBERnMsIGV0Yy4gaW5saW5lLCBhbmQgc2hvdWxkCisgICAg
Ly8gbm90IGJlIHVzZWQgZm9yIHBhZ2VzIHdpdGggcGx1Z2lucyBpbiB0aGVtLgorICAgIHJldHVy
biBmYWxzZTsKIH0KKworfQpJbmRleDogV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvRnJhbWVMb2Fk
ZXJDbGllbnRXeC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC93eC9XZWJLaXRTdXBwb3J0L0ZyYW1l
TG9hZGVyQ2xpZW50V3guaAkocmV2aXNpb24gNTExMDEpCisrKyBXZWJLaXQvd3gvV2ViS2l0U3Vw
cG9ydC9GcmFtZUxvYWRlckNsaWVudFd4LmgJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDkg
QEAKICNpbmNsdWRlICJGcmFtZUxvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVy
LmgiCiAjaW5jbHVkZSAiS1VSTC5oIgorI2luY2x1ZGUgIlBsdWdpblZpZXcuaCIKICNpbmNsdWRl
ICJSZXNvdXJjZVJlc3BvbnNlLmgiCisjaW5jbHVkZSAiSFRNTFBsdWdJbkVsZW1lbnQuaCIKIAog
Y2xhc3Mgd3hXZWJGcmFtZTsKIGNsYXNzIHd4V2ViVmlldzsKQEAgLTIwOCwxMSArMjEwLDE1IEBA
CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRQZXJmb3JtRmlyc3ROYXZpZ2F0aW9uKCkgY29uc3Q7
CiAgICAgICAgIAogICAgICAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJGb3JJY29uTm90aWZpY2F0
aW9uKGJvb2wgbGlzdGVuID0gdHJ1ZSk7CisgICAgICAgIAorICAgICAgICB2aXJ0dWFsIGJvb2wg
c2hvdWxkVXNlUGx1Z2luRG9jdW1lbnQoY29uc3QgU3RyaW5nICZtaW1lVHlwZSkgY29uc3Q7CiAK
ICAgICBwcml2YXRlOgogICAgICAgICB3eFdlYkZyYW1lICptX3dlYkZyYW1lOwogICAgICAgICBG
cmFtZSogbV9mcmFtZTsKICAgICAgICAgd3hXZWJWaWV3ICptX3dlYlZpZXc7CisgICAgICAgIFBs
dWdpblZpZXcqIG1fcGx1Z2luVmlldzsKKyAgICAgICAgYm9vbCBtX2hhc1NlbnRSZXNwb25zZVRv
UGx1Z2luOwogICAgICAgICBSZXNvdXJjZVJlc3BvbnNlIG1fcmVzcG9uc2U7CiAgICAgICAgIGJv
b2wgbV9maXJzdERhdGE7CiAgICAgfTsKSW5kZXg6IFdlYktpdC93eC9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViS2l0L3d4L0NoYW5nZUxvZwkocmV2aXNpb24gNTExMDEpCisrKyBXZWJLaXQv
d3gvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMDktMTEtMTcg
IEtldmluIFdhdHRlcnMgIDxrZXZpbndhdHRlcnNAZ21haWwuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVuYWJsZSB3eCBwbHVnaW4gc3VwcG9y
dCB1c2luZyB0aGUgV2luZG93cyBpbXBsZW1lbnRhdGlvbiBhcyBhIGJhc2UuCisKKyAgICAgICAg
KiBXZWJLaXRTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50V3guY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RnJhbWVMb2FkZXJDbGllbnRXeDo6RnJhbWVMb2FkZXJDbGllbnRXeCk6CisgICAgICAgIChX
ZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudFd4OjpmaW5pc2hlZExvYWRpbmcpOgorICAgICAgICAo
V2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnRXeDo6Y29tbWl0dGVkTG9hZCk6CisgICAgICAgIChX
ZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudFd4OjpjcmVhdGVQbHVnaW4pOgorICAgICAgICAoV2Vi
Q29yZTo6RnJhbWVMb2FkZXJDbGllbnRXeDo6cmVkaXJlY3REYXRhVG9QbHVnaW4pOgorICAgICAg
ICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnRXeDo6c2hvdWxkVXNlUGx1Z2luRG9jdW1lbnQp
OgorICAgICAgICAqIFdlYktpdFN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRXeC5oOgorICAgICAg
ICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAod3hXZWJWaWV3OjpDcmVhdGUpOgorCiAyMDA5LTEx
LTEzICBLZXZpbiBPbGxpdmllciAgPGtldmlub0B0aGVvbGxpdmllcnMuY29tPgogCiAgICAgICAg
IHd4IGJ1aWxkIGZpeCBhZnRlciByNTA5MjMgY2hhbmdlIHRvIGV4dGVybmFsUmVwcmVzZW50YXRp
b24uCkluZGV4OiBXZWJLaXQvd3gvV2ViVmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3d4
L1dlYlZpZXcuY3BwCShyZXZpc2lvbiA1MTEwMSkKKysrIFdlYktpdC93eC9XZWJWaWV3LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMzM4LDYgKzMzOCwxMCBAQAogICAgIHNldHRpbmdzLT5zZXREYXRh
YmFzZXNFbmFibGVkKHRydWUpOwogI2VuZGlmCiAKKyNpZiBfX1dYTVNXX18KKyAgICBzZXR0aW5n
cy0+c2V0UGx1Z2luc0VuYWJsZWQodHJ1ZSk7CisjZW5kaWYKKwogICAgIG1faXNJbml0aWFsaXpl
ZCA9IHRydWU7CiAKICAgICByZXR1cm4gdHJ1ZTsKSW5kZXg6IFdlYkNvcmUvcGx1Z2lucy9QbHVn
aW5WaWV3LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuaAkocmV2
aXNpb24gNTExMDEpCisrKyBXZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmlldy5oCSh3b3JraW5nIGNv
cHkpCkBAIC00NSw3ICs0NSw3IEBACiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2luY2x1ZGUg
PHd0Zi9WZWN0b3IuaD4KIAotI2lmIFBMQVRGT1JNKFdJTl9PUykgJiYgUExBVEZPUk0oUVQpCisj
aWYgUExBVEZPUk0oV0lOX09TKSAmJiAoUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKFdYKSkKIHR5
cGVkZWYgc3RydWN0IEhXTkRfXyogSFdORDsKIHR5cGVkZWYgSFdORCBQbGF0Zm9ybVBsdWdpbldp
ZGdldDsKICNlbHNlCkBAIC02NSw3ICs2NSw3IEBACiAgICAgY2xhc3MgS2V5Ym9hcmRFdmVudDsK
ICAgICBjbGFzcyBNb3VzZUV2ZW50OwogICAgIGNsYXNzIEtVUkw7Ci0jaWYgUExBVEZPUk0oV0lO
X09TKSAmJiAhUExBVEZPUk0oV1gpICYmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQorI2lm
IFBMQVRGT1JNKFdJTl9PUykgJiYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAgICAgY2xh
c3MgUGx1Z2luTWVzc2FnZVRocm90dGxlcldpbjsKICNlbmRpZgogICAgIGNsYXNzIFBsdWdpblBh
Y2thZ2U7CkBAIC0xODMsNyArMTgzLDcgQEAKICAgICAgICAgY29uc3QgU3RyaW5nJiBtaW1lVHlw
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWltZVR5cGU7IH0KICAgICAgICAgY29uc3QgS1VSTCYgdXJs
KCkgY29uc3QgeyByZXR1cm4gbV91cmw7IH0KIAotI2lmIFBMQVRGT1JNKFdJTl9PUykgJiYgIVBM
QVRGT1JNKFdYKSAmJiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKKyNpZiBQTEFURk9STShX
SU5fT1MpICYmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQogICAgICAgICBzdGF0aWMgTFJF
U1VMVCBDQUxMQkFDSyBQbHVnaW5WaWV3V25kUHJvYyhIV05ELCBVSU5ULCBXUEFSQU0sIExQQVJB
TSk7CiAgICAgICAgIExSRVNVTFQgd25kUHJvYyhIV05EIGhXbmQsIFVJTlQgbWVzc2FnZSwgV1BB
UkFNIHdQYXJhbSwgTFBBUkFNIGxQYXJhbSk7CiAgICAgICAgIFdORFBST0MgcGx1Z2luV25kUHJv
YygpIGNvbnN0IHsgcmV0dXJuIG1fcGx1Z2luV25kUHJvYzsgfQpAQCAtMjI2LDcgKzIyNiw3IEBA
CiAKICAgICAgICAgdm9pZCBpbnZhbGlkYXRlV2luZG93bGVzc1BsdWdpblJlY3QoY29uc3QgSW50
UmVjdCYpOwogCi0jaWYgUExBVEZPUk0oV0lOX09TKSAmJiAhUExBVEZPUk0oV1gpICYmIEVOQUJM
RShORVRTQ0FQRV9QTFVHSU5fQVBJKQorI2lmIFBMQVRGT1JNKFdJTl9PUykgJiYgRU5BQkxFKE5F
VFNDQVBFX1BMVUdJTl9BUEkpCiAgICAgICAgIHZvaWQgcGFpbnRXaW5kb3dlZFBsdWdpbkludG9D
b250ZXh0KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFJlY3QmKTsKICAgICAgICAgc3RhdGlj
IEhEQyBXSU5BUEkgaG9va2VkQmVnaW5QYWludChIV05ELCBQQUlOVFNUUlVDVCopOwogICAgICAg
ICBzdGF0aWMgQk9PTCBXSU5BUEkgaG9va2VkRW5kUGFpbnQoSFdORCwgY29uc3QgUEFJTlRTVFJV
Q1QqKTsKQEAgLTI5Niw3ICsyOTYsNyBAQAogICAgICAgICBib29sIG1fbmVlZHNYRW1iZWQ7CiAj
ZW5kaWYKIAotI2lmIFBMQVRGT1JNKFdJTl9PUykgJiYgIVBMQVRGT1JNKFdYKSAmJiBFTkFCTEUo
TkVUU0NBUEVfUExVR0lOX0FQSSkKKyNpZiBQTEFURk9STShXSU5fT1MpICYmIEVOQUJMRShORVRT
Q0FQRV9QTFVHSU5fQVBJKQogICAgICAgICBPd25QdHI8UGx1Z2luTWVzc2FnZVRocm90dGxlcldp
bj4gbV9tZXNzYWdlVGhyb3R0bGVyOwogICAgICAgICBXTkRQUk9DIG1fcGx1Z2luV25kUHJvYzsK
ICAgICAgICAgdW5zaWduZWQgbV9sYXN0TWVzc2FnZTsKQEAgLTMwNSw3ICszMDUsNyBAQAogICAg
ICAgICBib29sIG1faGF2ZVVwZGF0ZWRQbHVnaW5XaWRnZXQ7CiAjZW5kaWYKIAotI2lmIChQTEFU
Rk9STShRVCkgJiYgUExBVEZPUk0oV0lOX09TKSkgfHwgZGVmaW5lZChYUF9NQUNPU1gpCisjaWYg
KChQTEFURk9STShRVCkgfHwgUExBVEZPUk0oV1gpKSAmJiBQTEFURk9STShXSU5fT1MpKSB8fCBk
ZWZpbmVkKFhQX01BQ09TWCkKICAgICAgICAgLy8gT24gTWFjIE9TWCBhbmQgUXQvV2luZG93cyB0
aGUgcGx1Z2luIGRvZXMgbm90IGhhdmUgaXRzIG93biBuYXRpdmUgd2lkZ2V0LAogICAgICAgICAv
LyBidXQgaXMgdXNpbmcgdGhlIGNvbnRhaW5pbmcgd2luZG93IGFzIGl0cyByZWZlcmVuY2UgZm9y
IHBvc2l0aW9uaW5nL3BhaW50aW5nLgogICAgICAgICBQbGF0Zm9ybVBsdWdpbldpZGdldCBtX3dp
bmRvdzsKSW5kZXg6IFdlYkNvcmUvcGx1Z2lucy9QbHVnaW5EYXRhYmFzZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9wbHVnaW5zL1BsdWdpbkRhdGFiYXNlLmNwcAkocmV2aXNpb24gNTExMDEp
CisrKyBXZWJDb3JlL3BsdWdpbnMvUGx1Z2luRGF0YWJhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zMjAsNyArMzIwLDcgQEAKICAgICBtX3ByZWZlcnJlZFBsdWdpbnMuY2xlYXIoKTsKIH0KIAot
I2lmICghUExBVEZPUk0oV0lOQ0UpKSAmJiAoIVBMQVRGT1JNKFNZTUJJQU4pKSAmJiAoIVBMQVRG
T1JNKFdJTl9PUykgfHwgUExBVEZPUk0oV1gpIHx8ICFFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQ
SSkpCisjaWYgKCFQTEFURk9STShXSU5DRSkpICYmICghUExBVEZPUk0oU1lNQklBTikpICYmICgh
UExBVEZPUk0oV0lOX09TKSB8fCAhRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpKQogLy8gRm9y
IFNhZmFyaS9XaW4gdGhlIGZvbGxvd2luZyB0aHJlZSBtZXRob2RzIGFyZSBpbXBsZW1lbnRlZAog
Ly8gaW4gUGx1Z2luRGF0YWJhc2VXaW4uY3BwLCBidXQgaWYgd2UgY2FuIHVzZSBXZWJDb3JlIGNv
bnN0cnVjdHMKIC8vIGZvciB0aGUgbG9naWMgd2Ugc2hvdWxkIHBlcmhhcHMgbW92ZSBpdCBoZXJl
IHVuZGVyIFhQX1dJTj8KSW5kZXg6IFdlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmlldy5jcHAJKHJldmlzaW9uIDUxMTAx
KQorKysgV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00
Niw3ICs0Niw3IEBACiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIkZvY3VzQ29udHJvbGxl
ci5oIgogI2luY2x1ZGUgIlBsYXRmb3JtTW91c2VFdmVudC5oIgotI2lmIFBMQVRGT1JNKFdJTl9P
UykgJiYgIVBMQVRGT1JNKFdYKSAmJiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKKyNpZiBQ
TEFURk9STShXSU5fT1MpICYmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQogI2luY2x1ZGUg
IlBsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW4uaCIKICNlbmRpZgogI2luY2x1ZGUgIlBsdWdpblBh
Y2thZ2UuaCIKQEAgLTMwNiw3ICszMDYsNiBAQAogICAgIEpTQzo6SlNMb2NrOjpEcm9wQWxsTG9j
a3MgZHJvcEFsbExvY2tzKEpTQzo6U2lsZW5jZUFzc2VydGlvbnNPbmx5KTsKIAogI2lmIEVOQUJM
RShORVRTQ0FQRV9QTFVHSU5fQVBJKQotI2lmICFQTEFURk9STShXWCkgLy8gRklYTUU6IFJldmlz
aXQgdGhpcyB3aGVuIGltcGxlbWVudGluZyBwbHVnaW5zIGZvciB3eAogI2lmZGVmIFhQX1dJTgog
ICAgIC8vIFVuc3ViY2xhc3MgdGhlIHdpbmRvdwogICAgIGlmIChtX2lzV2luZG93ZWQpIHsKQEAg
LTMyMyw3ICszMjIsNiBAQAogI2VuZGlmCiAgICAgfQogI2VuZGlmIC8vIFhQX1dJTgotI2VuZGlm
IC8vICFQTEFURk9STShXWCkKICNlbmRpZiAvLyBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkK
IAogI2lmICFkZWZpbmVkKFhQX01BQ09TWCkKQEAgLTgwNCw3ICs4MDIsNyBAQAogI2lmIGRlZmlu
ZWQoWFBfVU5JWCkgfHwgZGVmaW5lZChRX1dTX1gxMSkKICAgICAsIG1fbmVlZHNYRW1iZWQoZmFs
c2UpCiAjZW5kaWYKLSNpZiBQTEFURk9STShXSU5fT1MpICYmICFQTEFURk9STShXWCkgJiYgRU5B
QkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCisjaWYgUExBVEZPUk0oV0lOX09TKSAmJiBFTkFCTEUo
TkVUU0NBUEVfUExVR0lOX0FQSSkKICAgICAsIG1fcGx1Z2luV25kUHJvYygwKQogICAgICwgbV9s
YXN0TWVzc2FnZSgwKQogICAgICwgbV9pc0NhbGxpbmdQbHVnaW5XbmRQcm9jKGZhbHNlKQpJbmRl
eDogV2ViQ29yZS9wbHVnaW5zL3dpbi9QbHVnaW5WaWV3V2luLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3BsdWdpbnMvd2luL1BsdWdpblZpZXdXaW4uY3BwCShyZXZpc2lvbiA1MTEwMSkKKysr
IFdlYkNvcmUvcGx1Z2lucy93aW4vUGx1Z2luVmlld1dpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTMwLDcgKzMwLDkgQEAKICNpbmNsdWRlICJQbHVnaW5WaWV3LmgiCiAKICNpbmNsdWRlICJCaXRt
YXBJbWFnZS5oIgorI2lmICFQTEFURk9STShXWCkKICNpbmNsdWRlICJCaXRtYXBJbmZvLmgiCisj
ZW5kaWYKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgi
CiAjaW5jbHVkZSAiRWxlbWVudC5oIgpAQCAtODEsMTIgKzgzLDIxIEBACiAjaW5jbHVkZSA8UVdp
ZGdldD4KICNlbmRpZgogCisjaWYgUExBVEZPUk0oV1gpCisjaW5jbHVkZSA8d3gvZGVmcy5oPgor
I2luY2x1ZGUgPHd4L3dpbmRvdy5oPgorI2VuZGlmCisKIHN0YXRpYyBpbmxpbmUgSFdORCB3aW5k
b3dIYW5kbGVGb3JQYWdlQ2xpZW50KFBsYXRmb3JtUGFnZUNsaWVudCBjbGllbnQpCiB7CiAjaWYg
UExBVEZPUk0oUVQpCiAgICAgaWYgKCFjbGllbnQpCiAgICAgICAgIHJldHVybiAwOwogICAgIHJl
dHVybiBjbGllbnQtPm93bmVyV2lkZ2V0KCktPndpbklkKCk7CisjZWxpZiBQTEFURk9STShXWCkK
KyAgICBpZiAoIWNsaWVudCkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIChIV05EKWNs
aWVudC0+R2V0SGFuZGxlKCk7CiAjZWxzZQogICAgIHJldHVybiBjbGllbnQ7CiAjZW5kaWYKQEAg
LTcwMiw3ICs3MTMsNyBAQAogICAgIGlmICghZGlzcGF0Y2hOUEV2ZW50KG5wRXZlbnQpKQogICAg
ICAgICBldmVudC0+c2V0RGVmYXVsdEhhbmRsZWQoKTsKIAotI2lmICFQTEFURk9STShRVCkgJiYg
IVBMQVRGT1JNKFdJTkNFKQorI2lmICFQTEFURk9STShRVCkgJiYgIVBMQVRGT1JNKFdYKSAmJiAh
UExBVEZPUk0oV0lOQ0UpCiAgICAgLy8gQ3VycmVudGx5LCBXaWRnZXQ6OnNldEN1cnNvciBpcyBh
bHdheXMgY2FsbGVkIGFmdGVyIHRoaXMgZnVuY3Rpb24gaW4gRXZlbnRIYW5kbGVyLmNwcAogICAg
IC8vIGFuZCBzaW5jZSB3ZSBkb24ndCB3YW50IHRoYXQgd2Ugc2V0IGlnbm9yZU5leHRTZXRDdXJz
b3IgdG8gdHJ1ZSBoZXJlIHRvIHByZXZlbnQgdGhhdC4KICAgICBpZ25vcmVOZXh0U2V0Q3Vyc29y
ID0gdHJ1ZTsKQEAgLTk4Nyw3ICs5OTgsNyBAQAogICAgICAgICBIV05EIHdpbmRvdyA9IDo6Q3Jl
YXRlV2luZG93RXgoMCwga1dlYlBsdWdpblZpZXdkb3dDbGFzc05hbWUsIDAsIGZsYWdzLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgMCwgMCwgMCwgcGFyZW50V2lu
ZG93SGFuZGxlLCAwLCBQYWdlOjppbnN0YW5jZUhhbmRsZSgpLCAwKTsKIAotI2lmIFBMQVRGT1JN
KFdJTl9PUykgJiYgUExBVEZPUk0oUVQpCisjaWYgUExBVEZPUk0oV0lOX09TKSAmJiAoUExBVEZP
Uk0oUVQpIHx8IFBMQVRGT1JNKFdYKSkKICAgICAgICAgbV93aW5kb3cgPSB3aW5kb3c7CiAjZWxz
ZQogICAgICAgICBzZXRQbGF0Zm9ybVdpZGdldCh3aW5kb3cpOwpAQCAtMTAzMCw2ICsxMDQxLDcg
QEAKIAogUGFzc1JlZlB0cjxJbWFnZT4gUGx1Z2luVmlldzo6c25hcHNob3QoKQogeworI2lmICFQ
TEFURk9STShXWCkKICAgICBPd25QdHI8SERDPiBoZGMoQ3JlYXRlQ29tcGF0aWJsZURDKDApKTsK
IAogICAgIGlmICghbV9pc1dpbmRvd2VkKSB7CkBAIC0xMDU5LDYgKzEwNzEsOSBAQAogICAgIFNl
bGVjdE9iamVjdChoZGMuZ2V0KCksIGhibXBPbGQpOwogCiAgICAgcmV0dXJuIEJpdG1hcEltYWdl
OjpjcmVhdGUoaGJtcC5nZXQoKSk7CisjZWxzZQorICAgIHJldHVybiAwOworI2VuZGlmCiB9CiAK
IHZvaWQgUGx1Z2luVmlldzo6aGFsdCgpCkluZGV4OiBXZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gNTExMDEpCisrKyBXZWJDb3JlL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBACisyMDA5LTExLTE3ICBLZXZp
biBXYXR0ZXJzICA8a2V2aW53YXR0ZXJzQGdtYWlsLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFbmFibGUgd3ggcGx1Z2luIHN1cHBvcnQgdXNp
bmcgdGhlIFdpbmRvd3MgaW1wbGVtZW50YXRpb24gYXMgYSBiYXNlLgorCisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0Lmg6CisgICAgICAgIChXZWJDb3JlOjpHcmFw
aGljc0NvbnRleHQ6OmluVHJhbnNwYXJlbmN5TGF5ZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL3d4L0dyYXBoaWNzQ29udGV4dFd4LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBo
aWNzQ29udGV4dDo6Z2V0V2luZG93c0NvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhp
Y3NDb250ZXh0OjpyZWxlYXNlV2luZG93c0NvbnRleHQpOgorICAgICAgICAqIHBsYXRmb3JtL3d4
L0ZpbGVTeXN0ZW1XeC5jcHA6CisgICAgICAgIChXZWJDb3JlOjp1bmxvYWRNb2R1bGUpOgorICAg
ICAgICAoV2ViQ29yZTo6bGlzdERpcmVjdG9yeSk6CisgICAgICAgICogcGx1Z2lucy9QbHVnaW5E
YXRhYmFzZS5jcHA6CisgICAgICAgICogcGx1Z2lucy9QbHVnaW5WaWV3LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlBsdWdpblZpZXc6OnN0b3ApOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2luVmll
dzo6UGx1Z2luVmlldyk6CisgICAgICAgICogcGx1Z2lucy9QbHVnaW5WaWV3Lmg6CisgICAgICAg
ICogcGx1Z2lucy93aW4vUGx1Z2luVmlld1dpbi5jcHA6CisgICAgICAgICh3aW5kb3dIYW5kbGVG
b3JQYWdlQ2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlBsdWdpblZpZXc6OmhhbmRsZU1vdXNl
RXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2luVmlldzo6cGxhdGZvcm1TdGFydCk6Cisg
ICAgICAgIChXZWJDb3JlOjpQbHVnaW5WaWV3OjpzbmFwc2hvdCk6CisgICAgICAgICogd3Njcmlw
dDoKKwogMjAwOS0xMS0xNyAgSGF5YXRvIEl0byAgPGhheWF0b0Bnb29nbGUuY29tPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpJbmRleDogV2ViQ29yZS93c2NyaXB0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvd3NjcmlwdAkocmV2aXNpb24gNTExMDEpCisrKyBXZWJDb3JlL3dz
Y3JpcHQJKHdvcmtpbmcgY29weSkKQEAgLTMwLDI5ICszMCwzNSBAQAogd2ViY29yZV9zb3VyY2Vz
ID0ge30KIAogaWYgYnVpbGRfcG9ydCA9PSAid3giOgotICAgIHdlYmNvcmVfc291cmNlc1sncGx1
Z2lucyddID0gWyAgJ3BsdWdpbnMvUGx1Z2luRGF0YU5vbmUuY3BwJywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICdwbHVnaW5zL1BsdWdpblZpZXdOb25lLmNwcCcKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdCisgICAgbm9fcGx1Z2lucyA9IFsgICAgICAn
cGx1Z2lucy9QbHVnaW5EYXRhTm9uZS5jcHAnLAorICAgICAgICAgICAgICAgICAgICAgICAgJ3Bs
dWdpbnMvUGx1Z2luVmlld05vbmUuY3BwJywKKyAgICAgICAgICAgICAgICAgICAgICAgICdwbHVn
aW5zL1BsdWdpblBhY2thZ2VOb25lLmNwcCcKKyAgICAgICAgICAgICAgICAgXQogICAgIAogICAg
IGlmIGJ1aWxkaW5nX29uX3dpbjMyOgotICAgICAgICB3ZWJjb3JlX2RpcnMuYXBwZW5kKCdwbGF0
Zm9ybS93eC93eGNvZGUvd2luJykKKyAgICAgICAgd2ViY29yZV9kaXJzLmV4dGVuZChbJ3BsYXRm
b3JtL3d4L3d4Y29kZS93aW4nLCAncGx1Z2lucy93aW4nXSkKICAgICAgICAgd2ViY29yZV9zb3Vy
Y2VzWyd3eC13aW4nXSA9IFsKICAgICAgICAgICAgICAgICMgd3hUaW1lciBvbiBXaW5kb3dzIGhh
cyBhIGJ1ZyB0aGF0IGNhdXNlcyBpdCB0byBlYXQgY3Jhc2hlcyBpbiBjYWxsYmFja3MKICAgICAg
ICAgICAgICAgICMgc28gd2UgbmVlZCB0byB1c2UgdGhlIFdpbiBwb3J0J3MgaW1wbGVtZW50YXRp
b24gdW50aWwgdGhlIHd4IGJ1ZyBmaXggaXMKICAgICAgICAgICAgICAgICMgd2lkZWx5IGF2YWls
YWJsZSAoaXQgd2FzIGZpeGVkIGluIDIuOC4xMCkuCiAgICAgICAgICAgICAgICAncGxhdGZvcm0v
d2luL1NoYXJlZFRpbWVyV2luLmNwcCcsCisgICAgICAgICAgICAgICAjIFVzZSB0aGUgV2luZG93
cyBwbHVnaW4gYXJjaGl0ZWN0dXJlCiAgICAgICAgICAgICAgICAncGFnZS93aW4vUGFnZVdpbi5j
cHAnLAorICAgICAgICAgICAgICAgJ3BsdWdpbnMvd2luL1BsdWdpbkRhdGFXaW4uY3BwJywKKyAg
ICAgICAgICAgICAgICdwbHVnaW5zL3dpbi9QbHVnaW5EYXRhYmFzZVdpbi5jcHAnLAorICAgICAg
ICAgICAgICAgJ3BsdWdpbnMvd2luL1BsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW4uY3BwJywKICAg
ICAgICAgICAgICAgICdwbHVnaW5zL3dpbi9QbHVnaW5QYWNrYWdlV2luLmNwcCcsCisgICAgICAg
ICAgICAgICAncGx1Z2lucy93aW4vUGx1Z2luVmlld1dpbi5jcHAnLAogICAgICAgICBdCiAgICAg
ZWxpZiBzeXMucGxhdGZvcm0uc3RhcnRzd2l0aCgnZGFyd2luJyk6CiAgICAgICAgIHdlYmNvcmVf
ZGlycy5hcHBlbmQoJ3BsYXRmb3JtL3d4L3d4Y29kZS9tYWMvY2FyYm9uJykKICAgICAgICAgd2Vi
Y29yZV9zb3VyY2VzWyd3eC1tYWMnXSA9IFsKICAgICAgICAgICAgICAgICdwbGF0Zm9ybS9tYWMv
UHVyZ2VhYmxlQnVmZmVyTWFjLmNwcCcsCiAgICAgICAgIF0KLSAgICAgICAgd2ViY29yZV9zb3Vy
Y2VzWydwbHVnaW5zJ10uYXBwZW5kKCdwbHVnaW5zL1BsdWdpblBhY2thZ2VOb25lLmNwcCcpCisg
ICAgICAgIHdlYmNvcmVfc291cmNlc1sncGx1Z2lucyddID0gbm9fcGx1Z2lucwogICAgIGVsc2U6
CiAgICAgICAgIHdlYmNvcmVfZGlycy5hcHBlbmQoJ3BsYXRmb3JtL3d4L3d4Y29kZS9ndGsnKQot
ICAgICAgICB3ZWJjb3JlX3NvdXJjZXNbJ3BsdWdpbnMnXS5hcHBlbmQoJ3BsdWdpbnMvUGx1Z2lu
UGFja2FnZU5vbmUuY3BwJykKKyAgICAgICAgd2ViY29yZV9zb3VyY2VzWydwbHVnaW5zJ10gPSBu
b19wbHVnaW5zCiAgICAgICAgIAogZnJvbSBUYXNrR2VuIGltcG9ydCB0YXNrZ2VuLCBmZWF0dXJl
LCBhZnRlcgogaW1wb3J0IFRhc2ssIGNjcm9vdApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9HcmFwaGljc0NvbnRleHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCShyZXZpc2lvbiA1MTEwMSkKKysrIFdlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmgJKHdvcmtpbmcgY29weSkKQEAgLTM2Nywx
MiArMzY3LDE2IEBACiAgICAgICAgIHZvaWQgZHJhd1dpbmRvd3NCaXRtYXAoV2luZG93c0JpdG1h
cCosIGNvbnN0IEludFBvaW50Jik7CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKFFUKSAmJiBkZWZp
bmVkKFFfV1NfV0lOKQorI2lmIChQTEFURk9STShRVCkgJiYgZGVmaW5lZChRX1dTX1dJTikpIHx8
IChQTEFURk9STShXWCkgJiYgUExBVEZPUk0oV0lOX09TKSkKICAgICAgICAgSERDIGdldFdpbmRv
d3NDb250ZXh0KGNvbnN0IEludFJlY3QmLCBib29sIHN1cHBvcnRBbHBoYUJsZW5kID0gdHJ1ZSwg
Ym9vbCBtYXlDcmVhdGVCaXRtYXAgPSB0cnVlKTsKICAgICAgICAgdm9pZCByZWxlYXNlV2luZG93
c0NvbnRleHQoSERDLCBjb25zdCBJbnRSZWN0JiwgYm9vbCBzdXBwb3J0QWxwaGFCbGVuZCA9IHRy
dWUsIGJvb2wgbWF5Q3JlYXRlQml0bWFwID0gdHJ1ZSk7CiAgICAgICAgIGJvb2wgc2hvdWxkSW5j
bHVkZUNoaWxkV2luZG93cygpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAjZW5kaWYKIAorI2lm
IFBMQVRGT1JNKFdYKQorICAgICAgICBib29sIGluVHJhbnNwYXJlbmN5TGF5ZXIoKSBjb25zdCB7
IHJldHVybiBmYWxzZTsgfQorI2VuZGlmCisKICNpZiBQTEFURk9STShRVCkKICAgICAgICAgYm9v
bCBpblRyYW5zcGFyZW5jeUxheWVyKCkgY29uc3Q7CiAgICAgICAgIFBsYXRmb3JtUGF0aCogY3Vy
cmVudFBhdGgoKTsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd3gvR3JhcGhpY3ND
b250ZXh0V3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd3gv
R3JhcGhpY3NDb250ZXh0V3guY3BwCShyZXZpc2lvbiA1MTEwMSkKKysrIFdlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd3gvR3JhcGhpY3NDb250ZXh0V3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01
NjYsNCArNTY2LDcyIEBACiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAorI2lmIFBMQVRGT1JN
KFdJTl9PUykKK0hEQyBHcmFwaGljc0NvbnRleHQ6OmdldFdpbmRvd3NDb250ZXh0KGNvbnN0IElu
dFJlY3QmIGRzdFJlY3QsIGJvb2wgc3VwcG9ydEFscGhhQmxlbmQsIGJvb2wgbWF5Q3JlYXRlQml0
bWFwKQoreworICAgIGlmIChkc3RSZWN0LmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIDA7CisK
KyAgICAvLyBDcmVhdGUgYSBiaXRtYXAgREMgaW4gd2hpY2ggdG8gZHJhdy4KKyAgICBCSVRNQVBJ
TkZPIGJpdG1hcEluZm87CisgICAgYml0bWFwSW5mby5ibWlIZWFkZXIuYmlTaXplICAgICAgICAg
ID0gc2l6ZW9mKEJJVE1BUElORk9IRUFERVIpOworICAgIGJpdG1hcEluZm8uYm1pSGVhZGVyLmJp
V2lkdGggICAgICAgICA9IGRzdFJlY3Qud2lkdGgoKTsKKyAgICBiaXRtYXBJbmZvLmJtaUhlYWRl
ci5iaUhlaWdodCAgICAgICAgPSBkc3RSZWN0LmhlaWdodCgpOworICAgIGJpdG1hcEluZm8uYm1p
SGVhZGVyLmJpUGxhbmVzICAgICAgICA9IDE7CisgICAgYml0bWFwSW5mby5ibWlIZWFkZXIuYmlC
aXRDb3VudCAgICAgID0gMzI7CisgICAgYml0bWFwSW5mby5ibWlIZWFkZXIuYmlDb21wcmVzc2lv
biAgID0gQklfUkdCOworICAgIGJpdG1hcEluZm8uYm1pSGVhZGVyLmJpU2l6ZUltYWdlICAgICA9
IDA7CisgICAgYml0bWFwSW5mby5ibWlIZWFkZXIuYmlYUGVsc1Blck1ldGVyID0gMDsKKyAgICBi
aXRtYXBJbmZvLmJtaUhlYWRlci5iaVlQZWxzUGVyTWV0ZXIgPSAwOworICAgIGJpdG1hcEluZm8u
Ym1pSGVhZGVyLmJpQ2xyVXNlZCAgICAgICA9IDA7CisgICAgYml0bWFwSW5mby5ibWlIZWFkZXIu
YmlDbHJJbXBvcnRhbnQgID0gMDsKKworICAgIHZvaWQqIHBpeGVscyA9IDA7CisgICAgSEJJVE1B
UCBiaXRtYXAgPSA6OkNyZWF0ZURJQlNlY3Rpb24oMCwgJmJpdG1hcEluZm8sIERJQl9SR0JfQ09M
T1JTLCAmcGl4ZWxzLCAwLCAwKTsKKyAgICBpZiAoIWJpdG1hcCkKKyAgICAgICAgcmV0dXJuIDA7
CisKKyAgICBIREMgZGlzcGxheURDID0gOjpHZXREQygwKTsKKyAgICBIREMgYml0bWFwREMgPSA6
OkNyZWF0ZUNvbXBhdGlibGVEQyhkaXNwbGF5REMpOworICAgIDo6UmVsZWFzZURDKDAsIGRpc3Bs
YXlEQyk7CisKKyAgICA6OlNlbGVjdE9iamVjdChiaXRtYXBEQywgYml0bWFwKTsKKworICAgIC8v
IEZpbGwgb3VyIGJ1ZmZlciB3aXRoIGNsZWFyIGlmIHdlJ3JlIGdvaW5nIHRvIGFscGhhIGJsZW5k
LgorICAgIGlmIChzdXBwb3J0QWxwaGFCbGVuZCkgeworICAgICAgICBCSVRNQVAgYm1wSW5mbzsK
KyAgICAgICAgR2V0T2JqZWN0KGJpdG1hcCwgc2l6ZW9mKGJtcEluZm8pLCAmYm1wSW5mbyk7Cisg
ICAgICAgIGludCBidWZmZXJTaXplID0gYm1wSW5mby5ibVdpZHRoQnl0ZXMgKiBibXBJbmZvLmJt
SGVpZ2h0OworICAgICAgICBtZW1zZXQoYm1wSW5mby5ibUJpdHMsIDAsIGJ1ZmZlclNpemUpOwor
ICAgIH0KKyAgICByZXR1cm4gYml0bWFwREM7CiB9CisKK3ZvaWQgR3JhcGhpY3NDb250ZXh0Ojpy
ZWxlYXNlV2luZG93c0NvbnRleHQoSERDIGhkYywgY29uc3QgSW50UmVjdCYgZHN0UmVjdCwgYm9v
bCBzdXBwb3J0QWxwaGFCbGVuZCwgYm9vbCBtYXlDcmVhdGVCaXRtYXApCit7CisgICAgaWYgKGhk
YykgeworCisgICAgICAgIGlmICghZHN0UmVjdC5pc0VtcHR5KCkpIHsKKworICAgICAgICAgICAg
SEJJVE1BUCBiaXRtYXAgPSBzdGF0aWNfY2FzdDxIQklUTUFQPihHZXRDdXJyZW50T2JqZWN0KGhk
YywgT0JKX0JJVE1BUCkpOworICAgICAgICAgICAgQklUTUFQIGluZm87CisgICAgICAgICAgICBH
ZXRPYmplY3QoYml0bWFwLCBzaXplb2YoaW5mbyksICZpbmZvKTsKKyAgICAgICAgICAgIEFTU0VS
VChpbmZvLmJtQml0c1BpeGVsID09IDMyKTsKKworICAgICAgICAgICAgd3hCaXRtYXAgYm1wOwor
ICAgICAgICAgICAgYm1wLlNldEhCSVRNQVAoYml0bWFwKTsKKyNpZiAhd3hDSEVDS19WRVJTSU9O
KDIsOSwwKQorICAgICAgICAgICAgaWYgKHN1cHBvcnRBbHBoYUJsZW5kKQorICAgICAgICAgICAg
ICAgIGJtcC5Vc2VBbHBoYSgpOworI2VuZGlmCisgICAgICAgICAgICBtX2RhdGEtPmNvbnRleHQt
PkRyYXdCaXRtYXAoYm1wLCBkc3RSZWN0LngoKSwgZHN0UmVjdC55KCksIHN1cHBvcnRBbHBoYUJs
ZW5kKTsKKworICAgICAgICAgICAgOjpEZWxldGVPYmplY3QoYml0bWFwKTsKKyAgICAgICAgfQor
CisgICAgICAgIDo6RGVsZXRlREMoaGRjKTsKKyAgICB9Cit9CisjZW5kaWYKKworfQpJbmRleDog
V2ViQ29yZS9wbGF0Zm9ybS93eC9GaWxlU3lzdGVtV3guY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcGxhdGZvcm0vd3gvRmlsZVN5c3RlbVd4LmNwcAkocmV2aXNpb24gNTExMDEpCisrKyBXZWJD
b3JlL3BsYXRmb3JtL3d4L0ZpbGVTeXN0ZW1XeC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNiAr
MSw3IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA3IEtldmluIE9sbGl2aWVyCiAgKiBDb3B5
cmlnaHQgKEMpIDIwMDggQ29sbGFib3JhLCBMdGQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgUGV0
ZXIgTGF1ZmVuYmVyZyBAIEluaGFuY2UgRGlnaXRhbCBDb3JwCiAgKgogICogQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqIApAQCAtMzUsNiArMzYsMTAgQEAKIAogI2luY2x1ZGUgPHd4L3d4Lmg+CiAj
aW5jbHVkZSA8d3gvZmlsZW5hbWUuaD4KKyNpbmNsdWRlIDx3eC9kaXIuaD4KKyNpbmNsdWRlIDx3
eC9maWxlLmg+CisjaW5jbHVkZSA8d3gvZGF0ZXRpbWUuaD4KKyNpbmNsdWRlIDx3eC9maWxlZm4u
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0xMTQsMTYgKzExOSwyOSBAQAogICAgIHJl
dHVybiAwOwogfQogCi1ib29sIHVubG9hZE1vZHVsZShQbGF0Zm9ybU1vZHVsZSkKK2Jvb2wgdW5s
b2FkTW9kdWxlKFBsYXRmb3JtTW9kdWxlIG1vZCkKIHsKKyNpZiBQTEFURk9STShXSU5fT1MpCisg
ICAgcmV0dXJuIDo6RnJlZUxpYnJhcnkobW9kKTsKKyNlbHNlCiAgICAgbm90SW1wbGVtZW50ZWQo
KTsKICAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKIH0KIAogVmVjdG9yPFN0cmluZz4gbGlzdERp
cmVjdG9yeShjb25zdCBTdHJpbmcmIHBhdGgsIGNvbnN0IFN0cmluZyYgZmlsdGVyKQogeworICAg
IHd4QXJyYXlTdHJpbmcgICBmaWxlX3BhdGhzOworICAgIAorICAgIGludCBuX2ZpbGVzID0gd3hE
aXI6OkdldEFsbEZpbGVzKHBhdGgsICZmaWxlX3BhdGhzLCBfVCgiIiksIHd4RElSX0ZJTEVTKTsK
KwogICAgIFZlY3RvcjxTdHJpbmc+IGVudHJpZXM7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAg
ICAKKyAgICBmb3IgKGludCBpID0gMDsgaSA8IG5fZmlsZXM7IGkrKykKKyAgICB7CisgICAgICAg
IGVudHJpZXMuYXBwZW5kKGZpbGVfcGF0aHNbaV0pOworICAgIH0gICAKKyAgICAKICAgICByZXR1
cm4gZW50cmllczsKIH0KIApJbmRleDogV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYktpdFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gNTExMDEpCisrKyBXZWJLaXRUb29s
cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMSBAQAorMjAwOS0xMS0xNyAg
S2V2aW4gV2F0dGVycyAgPGtldmlud2F0dGVyc0BnbWFpbC5jb20+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRW5hYmxlIHd4IHBsdWdpbiBzdXBwb3J0
IHVzaW5nIHRoZSBXaW5kb3dzIGltcGxlbWVudGF0aW9uIGFzIGEgYmFzZS4KKworICAgICAgICAq
IHd4L2J1aWxkL3NldHRpbmdzLnB5OgorCiAyMDA5LTExLTE3ICBNYXJrIFJvd2UgIDxtcm93ZUBh
cHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWxleGV5IFByb3NrdXJ5YWtvdi4KSW5k
ZXg6IFdlYktpdFRvb2xzL3d4L2J1aWxkL3NldHRpbmdzLnB5Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktp
dFRvb2xzL3d4L2J1aWxkL3NldHRpbmdzLnB5CShyZXZpc2lvbiA1MTEwMSkKKysrIFdlYktpdFRv
b2xzL3d4L2J1aWxkL3NldHRpbmdzLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0zMzcsNyArMzM3LDcg
QEAKICAgICAgICAgIyBjb21tb24gd2luIGxpYnMKICAgICAgICAgY29uZi5lbnYuYXBwZW5kX3Zh
bHVlKCdMSUInLCBbCiAgICAgICAgICAgICAna2VybmVsMzInLCAndXNlcjMyJywnZ2RpMzInLCdj
b21kbGczMicsJ3dpbnNwb29sJywnd2lubW0nLAotICAgICAgICAgICAgJ3NoZWxsMzInLCAnY29t
Y3RsMzInLCAnb2xlMzInLCAnb2xlYXV0MzInLCAndXVpZCcsICdhZHZhcGkzMicsIAorICAgICAg
ICAgICAgJ3NoZWxsMzInLCAnc2hsd2FwaScsICdjb21jdGwzMicsICdvbGUzMicsICdvbGVhdXQz
MicsICd1dWlkJywgJ2FkdmFwaTMyJywgCiAgICAgICAgICAgICAnd3NvY2szMicsICdnZGlwbHVz
JywgJ3ZlcnNpb24nXSkKIAogICAgICAgICBjb25mLmVudlsnTElCX0lDVSddID0gWydpY3VkdCcs
ICdpY3VsZScsICdpY3VseCcsICdpY3V1YycsICdpY3VpbicsICdpY3VpbycsICdpY3V0dSddCg==
</data>
<flag name="review"
          id="25154"
          type_id="1"
          status="+"
          setter="kevino"
    />
    <flag name="commit-queue"
          id="25155"
          type_id="3"
          status="-"
          setter="kevino"
    />
          </attachment>
      

    </bug>

</bugzilla>