<?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>92799</bug_id>
          
          <creation_ts>2012-07-31 15:46:38 -0700</creation_ts>
          <short_desc>Stop masking 8 bits off of the visited link hash. We need all the bits!</short_desc>
          <delta_ts>2012-07-31 17:01:11 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>japhet</cc>
    
    <cc>mifenton</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>683552</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-07-31 15:46:38 -0700</bug_when>
    <thetext>Stop masking 8 bits off of the visited link hash. We need all the bits!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>683557</commentid>
    <comment_count>1</comment_count>
      <attachid>155655</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-07-31 15:50:08 -0700</bug_when>
    <thetext>Created attachment 155655
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>683609</commentid>
    <comment_count>2</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-07-31 16:24:44 -0700</bug_when>
    <thetext>Committed r124268: &lt;http://trac.webkit.org/changeset/124268&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>683649</commentid>
    <comment_count>3</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-07-31 17:01:11 -0700</bug_when>
    <thetext>Windows build fix in r124272.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>155655</attachid>
            <date>2012-07-31 15:50:08 -0700</date>
            <delta_ts>2012-07-31 15:51:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92799-20120731155310.patch</filename>
            <type>text/plain</type>
            <size>19701</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0MjIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBk
MThjMzZmNjA2YzM4NzNmNzc5Y2I1YTkwOWJmYzI1YjY0YzlkNmQ4Li40OWY0NGU2MjljMmI2MDgz
NWJiMGExMmIzOGE2ZTI5ZjY4Y2ZiYjJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxMi0wNy0zMSAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgorCisg
ICAgICAgIFN0b3AgbWFza2luZyA4IGJpdHMgb2ZmIG9mIHRoZSB2aXNpdGVkIGxpbmsgaGFzaC4g
V2UgbmVlZCBhbGwgdGhlIGJpdHMhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD05Mjc5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogcnVudGltZS9JZGVudGlmaWVyLmNwcDoKKyAgICAgICAgKEpTQzo6SWRl
bnRpZmllckNTdHJpbmdUcmFuc2xhdG9yOjpoYXNoKToKKyAgICAgICAgKEpTQzo6SWRlbnRpZmll
ckxDaGFyRnJvbVVDaGFyVHJhbnNsYXRvcjo6aGFzaCk6CisgICAgICAgICogcnVudGltZS9JZGVu
dGlmaWVyLmg6CisgICAgICAgIChKU0M6OklkZW50aWZpZXJDaGFyQnVmZmVyVHJhbnNsYXRvcjo6
aGFzaCk6CisgICAgICAgIFVwZGF0ZSBmb3IgbmV3IGZ1bmN0aW9uIG5hbWVzLgorCiAyMDEyLTA3
LTMwICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAg
ICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTI0MTIzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dU
Ri9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCA4NDJkNzAxNzEyODVjOGZj
N2Y0ZWYzZTY5ZTYyYzI0ZWJkMDA1NzlkLi5iZWRlY2UwNTBjNmU5MDQ5NGEzMDQ3NTBhMzAyMGUw
NzAxNDljNDhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V1RGL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDEyLTA3LTMxICBTYW0gV2VpbmlnICA8
c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgU3RvcCBtYXNraW5nIDggYml0cyBvZmYgb2YgdGhl
IHZpc2l0ZWQgbGluayBoYXNoLiBXZSBuZWVkIGFsbCB0aGUgYml0cyEKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkyNzk5CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvU3RyaW5nSGFzaGVyLmg6Cisg
ICAgICAgIChXVEY6OlN0cmluZ0hhc2hlcjo6aGFzaFdpdGhUb3A4Qml0c01hc2tlZCk6CisgICAg
ICAgIChXVEY6OlN0cmluZ0hhc2hlcjo6aGFzaCk6CisgICAgICAgIChTdHJpbmdIYXNoZXIpOgor
ICAgICAgICAoV1RGOjpTdHJpbmdIYXNoZXI6OmNvbXB1dGVIYXNoQW5kTWFza1RvcDhCaXRzKToK
KyAgICAgICAgKFdURjo6U3RyaW5nSGFzaGVyOjpoYXNoTWVtb3J5KToKKyAgICAgICAgKFdURjo6
U3RyaW5nSGFzaGVyOjphdmFsYW5jaGVCaXRzKToKKyAgICAgICAgUmVuYW1lIGV4aXN0aW5nIGNv
bXB1dGVIYXNoIGFuZCBoYXNoIGZ1bmN0aW9ucyB0byBjb21wdXRlSGFzaEFuZE1hc2tUb3A4Qml0
cworICAgICAgICBhbmQgaGFzaFdpdGhUb3A4Qml0c01hc2tlZCByZXNwZWN0aXZlbHkuIEFkZCBu
ZXcgY29tcHV0ZUhhc2ggYW5kIGhhc2ggZnVuY3Rpb25zCisgICAgICAgIHRoYXQgZG8gdGhlIFN0
cmluZ0hhc2ggd2l0aG91dCB0aGUgbWFza2luZy4KKworICAgICAgICAqIHd0Zi90ZXh0L0F0b21p
Y1N0cmluZy5jcHA6CisgICAgICAgIChXVEY6OkNTdHJpbmdUcmFuc2xhdG9yOjpoYXNoKToKKyAg
ICAgICAgKFdURjo6VUNoYXJCdWZmZXJUcmFuc2xhdG9yOjpoYXNoKToKKyAgICAgICAgKFdURjo6
SGFzaEFuZENoYXJhY3RlcnNUcmFuc2xhdG9yOjpoYXNoKToKKyAgICAgICAgKFdURjo6U3Vic3Ry
aW5nVHJhbnNsYXRvcjo6aGFzaCk6CisgICAgICAgIChXVEY6OkxDaGFyQnVmZmVyRnJvbUxpdGVy
YWxEYXRhVHJhbnNsYXRvcjo6aGFzaCk6CisgICAgICAgIChXVEY6OkF0b21pY1N0cmluZzo6ZnJv
bVVURjhJbnRlcm5hbCk6CisgICAgICAgICogd3RmL3RleHQvU3RyaW5nSGFzaC5oOgorICAgICAg
ICAoV1RGOjpDYXNlRm9sZGluZ0hhc2g6Omhhc2gpOgorICAgICAgICAqIHd0Zi90ZXh0L1N0cmlu
Z0ltcGwuaDoKKyAgICAgICAgKFdURjo6U3RyaW5nSW1wbDo6c2V0SGFzaCk6CisgICAgICAgICog
d3RmL3RleHQvU3RyaW5nU3RhdGljcy5jcHA6CisgICAgICAgIChXVEY6OlN0cmluZ0ltcGw6Omhh
c2hTbG93Q2FzZSk6CisgICAgICAgICogd3RmL3VuaWNvZGUvVVRGOC5jcHA6CisgICAgICAgIChX
VEY6OlVuaWNvZGU6OmNhbGN1bGF0ZVN0cmluZ0hhc2hBbmRMZW5ndGhGcm9tVVRGOE1hc2tpbmdU
b3A4Qml0cyk6CisgICAgICAgICogd3RmL3VuaWNvZGUvVVRGOC5oOgorICAgICAgICBVcGRhdGUg
Zm9yIG5ldyBmdW5jdGlvbiBuYW1lcy4KKwogMjAxMi0wNy0zMSAgVGhpYWdvIE1hcmNvcyBQLiBT
YW50b3MgIDx0aGlhZ28uc2FudG9zQGludGVsLmNvbT4KIAogICAgICAgICBBZGQgYSBtZWNoYW5p
c20gdG8gZHVtcCB0aGUgc3RhY2sgdHJhY2UgaW4gY2FzZSBvZiBhIGNyYXNoCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggNDk1MjVmN2MwOWFkMDRhZTEzNWVjMjYwZGZiYTY0NWIyZGJiZTE1Ny4uMWIxOWY5N2JkM2Y5
OWNkNWQ5NzUzZjNiNWY5OTE0MDBkYjM0MjA5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBA
CisyMDEyLTA3LTMxICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgU3Rv
cCBtYXNraW5nIDggYml0cyBvZmYgb2YgdGhlIHZpc2l0ZWQgbGluayBoYXNoLiBXZSBuZWVkIGFs
bCB0aGUgYml0cyEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTkyNzk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBsb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6dXJsSG9zdEhhc2gpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvYmxh
Y2tiZXJyeS9DcmVkZW50aWFsQmFja2luZ1N0b3JlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Omhh
c2hDcmVkZW50aWFsSW5mbyk6CisgICAgICAgICogcGx1Z2lucy9ibGFja2JlcnJ5L1BsdWdpblBh
Y2thZ2VCbGFja0JlcnJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBsdWdpblBhY2thZ2U6Omhh
c2gpOgorICAgICAgICBVcGRhdGUgZm9yIG5ldyBmdW5jdGlvbiBuYW1lcy4KKwogMjAxMi0wNy0z
MSAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAg
VW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEyNDIwNy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0lkZW50aWZpZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSWRlbnRpZmllci5jcHAKaW5kZXggMjA3NzA5MjhjZTY2ODU0YTk5YTNlMzE4YTlj
NzQ1OTNmNzE0ZjdhOS4uOWMzZDljZjE4ODc1Yzg2N2Y1ZDVhOGEzOWEyOTdkOWUyYjliNjE5NSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSWRlbnRpZmllci5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSWRlbnRpZmllci5jcHAKQEAgLTQ5
LDcgKzQ5LDcgQEAgdm9pZCBkZWxldGVJZGVudGlmaWVyVGFibGUoSWRlbnRpZmllclRhYmxlKiB0
YWJsZSkKIHN0cnVjdCBJZGVudGlmaWVyQ1N0cmluZ1RyYW5zbGF0b3IgewogICAgIHN0YXRpYyB1
bnNpZ25lZCBoYXNoKGNvbnN0IExDaGFyKiBjKQogICAgIHsKLSAgICAgICAgcmV0dXJuIFN0cmlu
Z0hhc2hlcjo6Y29tcHV0ZUhhc2g8TENoYXI+KGMpOworICAgICAgICByZXR1cm4gU3RyaW5nSGFz
aGVyOjpjb21wdXRlSGFzaEFuZE1hc2tUb3A4Qml0czxMQ2hhcj4oYyk7CiAgICAgfQogCiAgICAg
c3RhdGljIGJvb2wgZXF1YWwoU3RyaW5nSW1wbCogciwgY29uc3QgTENoYXIqIHMpCkBAIC03Miw3
ICs3Miw3IEBAIHN0cnVjdCBJZGVudGlmaWVyQ1N0cmluZ1RyYW5zbGF0b3Igewogc3RydWN0IElk
ZW50aWZpZXJMQ2hhckZyb21VQ2hhclRyYW5zbGF0b3IgewogICAgIHN0YXRpYyB1bnNpZ25lZCBo
YXNoKGNvbnN0IENoYXJCdWZmZXI8VUNoYXI+JiBidWYpCiAgICAgewotICAgICAgICByZXR1cm4g
U3RyaW5nSGFzaGVyOjpjb21wdXRlSGFzaDxVQ2hhcj4oYnVmLnMsIGJ1Zi5sZW5ndGgpOworICAg
ICAgICByZXR1cm4gU3RyaW5nSGFzaGVyOjpjb21wdXRlSGFzaEFuZE1hc2tUb3A4Qml0czxVQ2hh
cj4oYnVmLnMsIGJ1Zi5sZW5ndGgpOwogICAgIH0KICAgICAKICAgICBzdGF0aWMgYm9vbCBlcXVh
bChTdHJpbmdJbXBsKiBzdHIsIGNvbnN0IENoYXJCdWZmZXI8VUNoYXI+JiBidWYpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JZGVudGlmaWVyLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9JZGVudGlmaWVyLmgKaW5kZXggN2I3OTA3OTgzODliMTli
ZDE1ZWI1ODAxNTRkMDQyYWMxZGMxNjlkZS4uYzNkNGQ0MmU4M2FiNWQyNDNlNzdlNGFiMTVlZWVh
ZTdlZWQzMGI3NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSWRl
bnRpZmllci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0lkZW50aWZpZXIu
aApAQCAtMTQzLDcgKzE0Myw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIHN0cnVjdCBJZGVudGlm
aWVyQ2hhckJ1ZmZlclRyYW5zbGF0b3IgewogICAgICAgICBzdGF0aWMgdW5zaWduZWQgaGFzaChj
b25zdCBDaGFyQnVmZmVyPFQ+JiBidWYpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBT
dHJpbmdIYXNoZXI6OmNvbXB1dGVIYXNoPFQ+KGJ1Zi5zLCBidWYubGVuZ3RoKTsKKyAgICAgICAg
ICAgIHJldHVybiBTdHJpbmdIYXNoZXI6OmNvbXB1dGVIYXNoQW5kTWFza1RvcDhCaXRzPFQ+KGJ1
Zi5zLCBidWYubGVuZ3RoKTsKICAgICAgICAgfQogICAgICAgICAKICAgICAgICAgc3RhdGljIGJv
b2wgZXF1YWwoU3RyaW5nSW1wbCogc3RyLCBjb25zdCBDaGFyQnVmZmVyPFQ+JiBidWYpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9TdHJpbmdIYXNoZXIuaCBiL1NvdXJjZS9XVEYvd3RmL1N0
cmluZ0hhc2hlci5oCmluZGV4IDcxNDUyNTE4ODczNzQ1ZWE0MDJjMjBkYjEzOTA3NGNkYWU5ZDE3
Y2IuLjUzYjFiNTQ0MzMzNmM5YTNiOWNjYzUyODk0YjY3NDg5NjA0MDI3NWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XVEYvd3RmL1N0cmluZ0hhc2hlci5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1N0cmlu
Z0hhc2hlci5oCkBAIC02MywyMyArNjMsOSBAQCBwdWJsaWM6CiAgICAgICAgIG1faGFzUGVuZGlu
Z0NoYXJhY3RlciA9IHRydWU7CiAgICAgfQogCi0gICAgaW5saW5lIHVuc2lnbmVkIGhhc2goKSBj
b25zdAorICAgIGlubGluZSB1bnNpZ25lZCBoYXNoV2l0aFRvcDhCaXRzTWFza2VkKCkgY29uc3QK
ICAgICB7Ci0gICAgICAgIHVuc2lnbmVkIHJlc3VsdCA9IG1faGFzaDsKLQotICAgICAgICAvLyBI
YW5kbGUgZW5kIGNhc2UuCi0gICAgICAgIGlmIChtX2hhc1BlbmRpbmdDaGFyYWN0ZXIpIHsKLSAg
ICAgICAgICAgIHJlc3VsdCArPSBtX3BlbmRpbmdDaGFyYWN0ZXI7Ci0gICAgICAgICAgICByZXN1
bHQgXj0gcmVzdWx0IDw8IDExOwotICAgICAgICAgICAgcmVzdWx0ICs9IHJlc3VsdCA+PiAxNzsK
LSAgICAgICAgfQotCi0gICAgICAgIC8vIEZvcmNlICJhdmFsYW5jaGluZyIgb2YgZmluYWwgMzEg
Yml0cy4KLSAgICAgICAgcmVzdWx0IF49IHJlc3VsdCA8PCAzOwotICAgICAgICByZXN1bHQgKz0g
cmVzdWx0ID4+IDU7Ci0gICAgICAgIHJlc3VsdCBePSByZXN1bHQgPDwgMjsKLSAgICAgICAgcmVz
dWx0ICs9IHJlc3VsdCA+PiAxNTsKLSAgICAgICAgcmVzdWx0IF49IHJlc3VsdCA8PCAxMDsKKyAg
ICAgICAgdW5zaWduZWQgcmVzdWx0ID0gYXZhbGFuY2hlQml0cygpOwogCiAgICAgICAgIC8vIFJl
c2VydmluZyBzcGFjZSBmcm9tIHRoZSBoaWdoIGJpdHMgZm9yIGZsYWdzIHByZXNlcnZlcyBtb3N0
IG9mIHRoZSBoYXNoJ3MKICAgICAgICAgLy8gdmFsdWUsIHNpbmNlIGhhc2ggbG9va3VwIHR5cGlj
YWxseSBtYXNrcyBvdXQgdGhlIGhpZ2ggYml0cyBhbnl3YXkuCkBAIC05NSw2ICs4MSw2NyBAQCBw
dWJsaWM6CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogCisgICAgaW5saW5lIHVuc2ln
bmVkIGhhc2goKSBjb25zdAorICAgIHsKKyAgICAgICAgdW5zaWduZWQgcmVzdWx0ID0gYXZhbGFu
Y2hlQml0cygpOworCisgICAgICAgIC8vIFRoaXMgYXZvaWRzIGV2ZXIgcmV0dXJuaW5nIGEgaGFz
aCBjb2RlIG9mIDAsIHNpbmNlIHRoYXQgaXMgdXNlZCB0bworICAgICAgICAvLyBzaWduYWwgImhh
c2ggbm90IGNvbXB1dGVkIHlldCIuIFNldHRpbmcgdGhlIGhpZ2ggYml0IG1haW50YWlucworICAg
ICAgICAvLyByZWFzb25hYmxlIGZpZGVsaXR5IHRvIGEgaGFzaCBjb2RlIG9mIDAgYmVjYXVzZSBp
dCBpcyBsaWtlbHkgdG8geWllbGQKKyAgICAgICAgLy8gZXhhY3RseSAwIHdoZW4gaGFzaCBsb29r
dXAgbWFza3Mgb3V0IHRoZSBoaWdoIGJpdHMuCisgICAgICAgIGlmICghcmVzdWx0KQorICAgICAg
ICAgICAgcmVzdWx0ID0gMHg4MDAwMDAwMDsKKworICAgICAgICByZXR1cm4gcmVzdWx0OworICAg
IH0KKworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIFVDaGFyIENvbnZlcnRlcihUKT4gc3RhdGlj
IGlubGluZSB1bnNpZ25lZCBjb21wdXRlSGFzaEFuZE1hc2tUb3A4Qml0cyhjb25zdCBUKiBkYXRh
LCB1bnNpZ25lZCBsZW5ndGgpCisgICAgeworICAgICAgICBTdHJpbmdIYXNoZXIgaGFzaGVyOwor
ICAgICAgICBib29sIHJlbSA9IGxlbmd0aCAmIDE7CisgICAgICAgIGxlbmd0aCA+Pj0gMTsKKwor
ICAgICAgICB3aGlsZSAobGVuZ3RoLS0pIHsKKyAgICAgICAgICAgIGhhc2hlci5hZGRDaGFyYWN0
ZXJzKENvbnZlcnRlcihkYXRhWzBdKSwgQ29udmVydGVyKGRhdGFbMV0pKTsKKyAgICAgICAgICAg
IGRhdGEgKz0gMjsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChyZW0pCisgICAgICAgICAgICBo
YXNoZXIuYWRkQ2hhcmFjdGVyKENvbnZlcnRlcigqZGF0YSkpOworCisgICAgICAgIHJldHVybiBo
YXNoZXIuaGFzaFdpdGhUb3A4Qml0c01hc2tlZCgpOworICAgIH0KKworICAgIHRlbXBsYXRlPHR5
cGVuYW1lIFQsIFVDaGFyIENvbnZlcnRlcihUKT4gc3RhdGljIGlubGluZSB1bnNpZ25lZCBjb21w
dXRlSGFzaEFuZE1hc2tUb3A4Qml0cyhjb25zdCBUKiBkYXRhKQorICAgIHsKKyAgICAgICAgU3Ry
aW5nSGFzaGVyIGhhc2hlcjsKKworICAgICAgICB3aGlsZSAodHJ1ZSkgeworICAgICAgICAgICAg
VUNoYXIgYjAgPSBDb252ZXJ0ZXIoKmRhdGErKyk7CisgICAgICAgICAgICBpZiAoIWIwKQorICAg
ICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgVUNoYXIgYjEgPSBDb252ZXJ0ZXIoKmRh
dGErKyk7CisgICAgICAgICAgICBpZiAoIWIxKSB7CisgICAgICAgICAgICAgICAgaGFzaGVyLmFk
ZENoYXJhY3RlcihiMCk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisK
KyAgICAgICAgICAgIGhhc2hlci5hZGRDaGFyYWN0ZXJzKGIwLCBiMSk7CisgICAgICAgIH0KKwor
ICAgICAgICByZXR1cm4gaGFzaGVyLmhhc2hXaXRoVG9wOEJpdHNNYXNrZWQoKTsKKyAgICB9CisK
KyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGNvbXB1dGVI
YXNoQW5kTWFza1RvcDhCaXRzKGNvbnN0IFQqIGRhdGEsIHVuc2lnbmVkIGxlbmd0aCkKKyAgICB7
CisgICAgICAgIHJldHVybiBjb21wdXRlSGFzaEFuZE1hc2tUb3A4Qml0czxULCBkZWZhdWx0Q29u
dmVydGVyPihkYXRhLCBsZW5ndGgpOworICAgIH0KKworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+
IHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgY29tcHV0ZUhhc2hBbmRNYXNrVG9wOEJpdHMoY29uc3Qg
VCogZGF0YSkKKyAgICB7CisgICAgICAgIHJldHVybiBjb21wdXRlSGFzaEFuZE1hc2tUb3A4Qml0
czxULCBkZWZhdWx0Q29udmVydGVyPihkYXRhKTsKKyAgICB9CisKICAgICB0ZW1wbGF0ZTx0eXBl
bmFtZSBULCBVQ2hhciBDb252ZXJ0ZXIoVCk+IHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgY29tcHV0
ZUhhc2goY29uc3QgVCogZGF0YSwgdW5zaWduZWQgbGVuZ3RoKQogICAgIHsKICAgICAgICAgU3Ry
aW5nSGFzaGVyIGhhc2hlcjsKQEAgLTE0NSwxMyArMTkyLDEzIEBAIHB1YmxpYzoKICAgICB0ZW1w
bGF0ZTxzaXplX3QgbGVuZ3RoPiBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGhhc2hNZW1vcnkoY29u
c3Qgdm9pZCogZGF0YSkKICAgICB7CiAgICAgICAgIENPTVBJTEVfQVNTRVJUKCEobGVuZ3RoICUg
NCksIGxlbmd0aF9tdXN0X2JlX2FfbXVsdGlibGVfb2ZfZm91cik7Ci0gICAgICAgIHJldHVybiBj
b21wdXRlSGFzaDxVQ2hhcj4oc3RhdGljX2Nhc3Q8Y29uc3QgVUNoYXIqPihkYXRhKSwgbGVuZ3Ro
IC8gc2l6ZW9mKFVDaGFyKSk7CisgICAgICAgIHJldHVybiBjb21wdXRlSGFzaEFuZE1hc2tUb3A4
Qml0czxVQ2hhcj4oc3RhdGljX2Nhc3Q8Y29uc3QgVUNoYXIqPihkYXRhKSwgbGVuZ3RoIC8gc2l6
ZW9mKFVDaGFyKSk7CiAgICAgfQogCiAgICAgc3RhdGljIGlubGluZSB1bnNpZ25lZCBoYXNoTWVt
b3J5KGNvbnN0IHZvaWQqIGRhdGEsIHVuc2lnbmVkIHNpemUpCiAgICAgewogICAgICAgICBBU1NF
UlQoIShzaXplICUgMikpOwotICAgICAgICByZXR1cm4gY29tcHV0ZUhhc2g8VUNoYXI+KHN0YXRp
Y19jYXN0PGNvbnN0IFVDaGFyKj4oZGF0YSksIHNpemUgLyBzaXplb2YoVUNoYXIpKTsKKyAgICAg
ICAgcmV0dXJuIGNvbXB1dGVIYXNoQW5kTWFza1RvcDhCaXRzPFVDaGFyPihzdGF0aWNfY2FzdDxj
b25zdCBVQ2hhcio+KGRhdGEpLCBzaXplIC8gc2l6ZW9mKFVDaGFyKSk7CiAgICAgfQogCiBwcml2
YXRlOgpAQCAtMTczLDYgKzIyMCwyNyBAQCBwcml2YXRlOgogICAgICAgICBtX2hhc2ggKz0gbV9o
YXNoID4+IDExOwogICAgIH0KIAorICAgIGlubGluZSB1bnNpZ25lZCBhdmFsYW5jaGVCaXRzKCkg
Y29uc3QKKyAgICB7CisgICAgICAgIHVuc2lnbmVkIHJlc3VsdCA9IG1faGFzaDsKKworICAgICAg
ICAvLyBIYW5kbGUgZW5kIGNhc2UuCisgICAgICAgIGlmIChtX2hhc1BlbmRpbmdDaGFyYWN0ZXIp
IHsKKyAgICAgICAgICAgIHJlc3VsdCArPSBtX3BlbmRpbmdDaGFyYWN0ZXI7CisgICAgICAgICAg
ICByZXN1bHQgXj0gcmVzdWx0IDw8IDExOworICAgICAgICAgICAgcmVzdWx0ICs9IHJlc3VsdCA+
PiAxNzsKKyAgICAgICAgfQorCisgICAgICAgIC8vIEZvcmNlICJhdmFsYW5jaGluZyIgb2YgZmlu
YWwgMzEgYml0cy4KKyAgICAgICAgcmVzdWx0IF49IHJlc3VsdCA8PCAzOworICAgICAgICByZXN1
bHQgKz0gcmVzdWx0ID4+IDU7CisgICAgICAgIHJlc3VsdCBePSByZXN1bHQgPDwgMjsKKyAgICAg
ICAgcmVzdWx0ICs9IHJlc3VsdCA+PiAxNTsKKyAgICAgICAgcmVzdWx0IF49IHJlc3VsdCA8PCAx
MDsKKworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKwogICAgIHVuc2lnbmVkIG1faGFz
aDsKICAgICBib29sIG1faGFzUGVuZGluZ0NoYXJhY3RlcjsKICAgICBVQ2hhciBtX3BlbmRpbmdD
aGFyYWN0ZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZy5j
cHAgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZy5jcHAKaW5kZXggNjQ3N2M0NWI4
MmU0NzBhMDljNjhiYjIxZmMzMjQ5YzAzZmM4YjZiOS4uMmVhYWU3NmRhMWMzNjIxNTNjOWI2YWE2
NWQ1M2ZhOTY3ZDU0ODMzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvdGV4dC9BdG9taWNT
dHJpbmcuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvQXRvbWljU3RyaW5nLmNwcApAQCAt
ODgsNyArODgsNyBAQCBzdGF0aWMgaW5saW5lIFBhc3NSZWZQdHI8U3RyaW5nSW1wbD4gYWRkVG9T
dHJpbmdUYWJsZShjb25zdCBUJiB2YWx1ZSkKIHN0cnVjdCBDU3RyaW5nVHJhbnNsYXRvciB7CiAg
ICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgTENoYXIqIGMpCiAgICAgewotICAgICAgICBy
ZXR1cm4gU3RyaW5nSGFzaGVyOjpjb21wdXRlSGFzaChjKTsKKyAgICAgICAgcmV0dXJuIFN0cmlu
Z0hhc2hlcjo6Y29tcHV0ZUhhc2hBbmRNYXNrVG9wOEJpdHMoYyk7CiAgICAgfQogCiAgICAgc3Rh
dGljIGlubGluZSBib29sIGVxdWFsKFN0cmluZ0ltcGwqIHIsIGNvbnN0IExDaGFyKiBzKQpAQCAt
MTI0LDcgKzEyNCw3IEBAIHR5cGVkZWYgSGFzaFRyYW5zbGF0b3JDaGFyQnVmZmVyPFVDaGFyPiBV
Q2hhckJ1ZmZlcjsKIHN0cnVjdCBVQ2hhckJ1ZmZlclRyYW5zbGF0b3IgewogICAgIHN0YXRpYyB1
bnNpZ25lZCBoYXNoKGNvbnN0IFVDaGFyQnVmZmVyJiBidWYpCiAgICAgewotICAgICAgICByZXR1
cm4gU3RyaW5nSGFzaGVyOjpjb21wdXRlSGFzaChidWYucywgYnVmLmxlbmd0aCk7CisgICAgICAg
IHJldHVybiBTdHJpbmdIYXNoZXI6OmNvbXB1dGVIYXNoQW5kTWFza1RvcDhCaXRzKGJ1Zi5zLCBi
dWYubGVuZ3RoKTsKICAgICB9CiAKICAgICBzdGF0aWMgYm9vbCBlcXVhbChTdHJpbmdJbXBsKiBj
b25zdCYgc3RyLCBjb25zdCBVQ2hhckJ1ZmZlciYgYnVmKQpAQCAtMTQ5LDcgKzE0OSw3IEBAIHN0
cnVjdCBIYXNoQW5kQ2hhcmFjdGVycyB7CiBzdHJ1Y3QgSGFzaEFuZENoYXJhY3RlcnNUcmFuc2xh
dG9yIHsKICAgICBzdGF0aWMgdW5zaWduZWQgaGFzaChjb25zdCBIYXNoQW5kQ2hhcmFjdGVycyYg
YnVmZmVyKQogICAgIHsKLSAgICAgICAgQVNTRVJUKGJ1ZmZlci5oYXNoID09IFN0cmluZ0hhc2hl
cjo6Y29tcHV0ZUhhc2goYnVmZmVyLmNoYXJhY3RlcnMsIGJ1ZmZlci5sZW5ndGgpKTsKKyAgICAg
ICAgQVNTRVJUKGJ1ZmZlci5oYXNoID09IFN0cmluZ0hhc2hlcjo6Y29tcHV0ZUhhc2hBbmRNYXNr
VG9wOEJpdHMoYnVmZmVyLmNoYXJhY3RlcnMsIGJ1ZmZlci5sZW5ndGgpKTsKICAgICAgICAgcmV0
dXJuIGJ1ZmZlci5oYXNoOwogICAgIH0KIApAQCAtMjYyLDcgKzI2Miw3IEBAIHN0cnVjdCBTdWJz
dHJpbmdMb2NhdGlvbiB7CiBzdHJ1Y3QgU3Vic3RyaW5nVHJhbnNsYXRvciB7CiAgICAgc3RhdGlj
IHVuc2lnbmVkIGhhc2goY29uc3QgU3Vic3RyaW5nTG9jYXRpb24mIGJ1ZmZlcikKICAgICB7Ci0g
ICAgICAgIHJldHVybiBTdHJpbmdIYXNoZXI6OmNvbXB1dGVIYXNoKGJ1ZmZlci5iYXNlU3RyaW5n
LT5jaGFyYWN0ZXJzKCkgKyBidWZmZXIuc3RhcnQsIGJ1ZmZlci5sZW5ndGgpOworICAgICAgICBy
ZXR1cm4gU3RyaW5nSGFzaGVyOjpjb21wdXRlSGFzaEFuZE1hc2tUb3A4Qml0cyhidWZmZXIuYmFz
ZVN0cmluZy0+Y2hhcmFjdGVycygpICsgYnVmZmVyLnN0YXJ0LCBidWZmZXIubGVuZ3RoKTsKICAg
ICB9CiAKICAgICBzdGF0aWMgYm9vbCBlcXVhbChTdHJpbmdJbXBsKiBjb25zdCYgc3RyaW5nLCBj
b25zdCBTdWJzdHJpbmdMb2NhdGlvbiYgYnVmZmVyKQpAQCAtMzAxLDcgKzMwMSw3IEBAIHR5cGVk
ZWYgSGFzaFRyYW5zbGF0b3JDaGFyQnVmZmVyPExDaGFyPiBMQ2hhckJ1ZmZlcjsKIHN0cnVjdCBM
Q2hhckJ1ZmZlckZyb21MaXRlcmFsRGF0YVRyYW5zbGF0b3IgewogICAgIHN0YXRpYyB1bnNpZ25l
ZCBoYXNoKGNvbnN0IExDaGFyQnVmZmVyJiBidWYpCiAgICAgewotICAgICAgICByZXR1cm4gU3Ry
aW5nSGFzaGVyOjpjb21wdXRlSGFzaChidWYucywgYnVmLmxlbmd0aCk7CisgICAgICAgIHJldHVy
biBTdHJpbmdIYXNoZXI6OmNvbXB1dGVIYXNoQW5kTWFza1RvcDhCaXRzKGJ1Zi5zLCBidWYubGVu
Z3RoKTsKICAgICB9CiAKICAgICBzdGF0aWMgYm9vbCBlcXVhbChTdHJpbmdJbXBsKiBjb25zdCYg
c3RyLCBjb25zdCBMQ2hhckJ1ZmZlciYgYnVmKQpAQCAtMzczLDcgKzM3Myw3IEBAIEF0b21pY1N0
cmluZyBBdG9taWNTdHJpbmc6OmZyb21VVEY4SW50ZXJuYWwoY29uc3QgY2hhciogY2hhcmFjdGVy
c1N0YXJ0LCBjb25zdCBjCiB7CiAgICAgSGFzaEFuZFVURjhDaGFyYWN0ZXJzIGJ1ZmZlcjsKICAg
ICBidWZmZXIuY2hhcmFjdGVycyA9IGNoYXJhY3RlcnNTdGFydDsKLSAgICBidWZmZXIuaGFzaCA9
IGNhbGN1bGF0ZVN0cmluZ0hhc2hBbmRMZW5ndGhGcm9tVVRGOChjaGFyYWN0ZXJzU3RhcnQsIGNo
YXJhY3RlcnNFbmQsIGJ1ZmZlci5sZW5ndGgsIGJ1ZmZlci51dGYxNkxlbmd0aCk7CisgICAgYnVm
ZmVyLmhhc2ggPSBjYWxjdWxhdGVTdHJpbmdIYXNoQW5kTGVuZ3RoRnJvbVVURjhNYXNraW5nVG9w
OEJpdHMoY2hhcmFjdGVyc1N0YXJ0LCBjaGFyYWN0ZXJzRW5kLCBidWZmZXIubGVuZ3RoLCBidWZm
ZXIudXRmMTZMZW5ndGgpOwogCiAgICAgaWYgKCFidWZmZXIuaGFzaCkKICAgICAgICAgcmV0dXJu
IG51bGxBdG9tOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdIYXNoLmgg
Yi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0hhc2guaAppbmRleCAyZDM0ZDJjOTFmNThmNzU1
Nzk3MWZiNWZmZDM5MzFiODVhYTFmNjM5Li5kMDMwYmVmYWY4NDdiNzE0MWRlNTI4NWVhMDQ0NzI4
MTJlYmM3YTI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0hhc2guaAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0hhc2guaApAQCAtOTcsNyArOTcsNyBAQCBu
YW1lc3BhY2UgV1RGIHsKIAogICAgICAgICBzdGF0aWMgdW5zaWduZWQgaGFzaChjb25zdCBVQ2hh
ciogZGF0YSwgdW5zaWduZWQgbGVuZ3RoKQogICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4g
U3RyaW5nSGFzaGVyOjpjb21wdXRlSGFzaDxVQ2hhciwgZm9sZENhc2U8VUNoYXI+ID4oZGF0YSwg
bGVuZ3RoKTsKKyAgICAgICAgICAgIHJldHVybiBTdHJpbmdIYXNoZXI6OmNvbXB1dGVIYXNoQW5k
TWFza1RvcDhCaXRzPFVDaGFyLCBmb2xkQ2FzZTxVQ2hhcj4gPihkYXRhLCBsZW5ndGgpOwogICAg
ICAgICB9CiAKICAgICAgICAgc3RhdGljIHVuc2lnbmVkIGhhc2goU3RyaW5nSW1wbCogc3RyKQpA
QCAtMTA5LDcgKzEwOSw3IEBAIG5hbWVzcGFjZSBXVEYgewogCiAgICAgICAgIHN0YXRpYyB1bnNp
Z25lZCBoYXNoKGNvbnN0IExDaGFyKiBkYXRhLCB1bnNpZ25lZCBsZW5ndGgpCiAgICAgICAgIHsK
LSAgICAgICAgICAgIHJldHVybiBTdHJpbmdIYXNoZXI6OmNvbXB1dGVIYXNoPExDaGFyLCBmb2xk
Q2FzZTxMQ2hhcj4gPihkYXRhLCBsZW5ndGgpOworICAgICAgICAgICAgcmV0dXJuIFN0cmluZ0hh
c2hlcjo6Y29tcHV0ZUhhc2hBbmRNYXNrVG9wOEJpdHM8TENoYXIsIGZvbGRDYXNlPExDaGFyPiA+
KGRhdGEsIGxlbmd0aCk7CiAgICAgICAgIH0KIAogICAgICAgICBzdGF0aWMgaW5saW5lIHVuc2ln
bmVkIGhhc2goY29uc3QgY2hhciogZGF0YSwgdW5zaWduZWQgbGVuZ3RoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdJbXBsLmggYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0
cmluZ0ltcGwuaAppbmRleCA4ZTIzMjdmMmViYzU4NTZkNDk1NjhiOWY3MWQxODIyMDg3YTBlNjQ1
Li4zNDkzYzMwMzFmNTYzMDk3NGVlNTA5NDg0ZmJkYmRjMjFhNDcxZDYwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0ltcGwuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0
L1N0cmluZ0ltcGwuaApAQCAtNDI4LDcgKzQyOCw3IEBAIHByaXZhdGU6CiAgICAgewogICAgICAg
ICBBU1NFUlQoIWhhc0hhc2goKSk7CiAgICAgICAgIC8vIE11bHRpcGxlIGNsaWVudHMgYXNzdW1l
IHRoYXQgU3RyaW5nSGFzaGVyIGlzIHRoZSBjYW5vbmljYWwgc3RyaW5nIGhhc2ggZnVuY3Rpb24u
Ci0gICAgICAgIEFTU0VSVChoYXNoID09IChpczhCaXQoKSA/IFN0cmluZ0hhc2hlcjo6Y29tcHV0
ZUhhc2gobV9kYXRhOCwgbV9sZW5ndGgpIDogU3RyaW5nSGFzaGVyOjpjb21wdXRlSGFzaChtX2Rh
dGExNiwgbV9sZW5ndGgpKSk7CisgICAgICAgIEFTU0VSVChoYXNoID09IChpczhCaXQoKSA/IFN0
cmluZ0hhc2hlcjo6Y29tcHV0ZUhhc2hBbmRNYXNrVG9wOEJpdHMobV9kYXRhOCwgbV9sZW5ndGgp
IDogU3RyaW5nSGFzaGVyOjpjb21wdXRlSGFzaEFuZE1hc2tUb3A4Qml0cyhtX2RhdGExNiwgbV9s
ZW5ndGgpKSk7CiAgICAgICAgIEFTU0VSVCghKGhhc2ggJiAoc19mbGFnTWFzayA8PCAoOCAqIHNp
emVvZihoYXNoKSAtIHNfZmxhZ0NvdW50KSkpKTsgLy8gVmVyaWZ5IHRoYXQgZW5vdWdoIGhpZ2gg
Yml0cyBhcmUgZW1wdHkuCiAgICAgICAgIAogICAgICAgICBoYXNoIDw8PSBzX2ZsYWdDb3VudDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nU3RhdGljcy5jcHAgYi9Tb3Vy
Y2UvV1RGL3d0Zi90ZXh0L1N0cmluZ1N0YXRpY3MuY3BwCmluZGV4IDU0MGVlNTM3M2ZjMTQ4YTFj
NmQzYzVkM2IwYzQ0YTZkNDAwNjdhZjQuLmU3NDk3MjhmYzMwNjA3Yzg4YzdiNjg5YWE4MDhlMTg2
NmZjZjg5NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nU3RhdGljcy5j
cHAKKysrIGIvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdTdGF0aWNzLmNwcApAQCAtNjQsOSAr
NjQsOSBAQCBXVEZfRVhQT1JUREFUQSBERUZJTkVfR0xPQkFMKEF0b21pY1N0cmluZywgeGxpbmtB
dG9tLCAieGxpbmsiKQogTkVWRVJfSU5MSU5FIHVuc2lnbmVkIFN0cmluZ0ltcGw6Omhhc2hTbG93
Q2FzZSgpIGNvbnN0CiB7CiAgICAgaWYgKGlzOEJpdCgpKQotICAgICAgICBzZXRIYXNoKFN0cmlu
Z0hhc2hlcjo6Y29tcHV0ZUhhc2gobV9kYXRhOCwgbV9sZW5ndGgpKTsKKyAgICAgICAgc2V0SGFz
aChTdHJpbmdIYXNoZXI6OmNvbXB1dGVIYXNoQW5kTWFza1RvcDhCaXRzKG1fZGF0YTgsIG1fbGVu
Z3RoKSk7CiAgICAgZWxzZQotICAgICAgICBzZXRIYXNoKFN0cmluZ0hhc2hlcjo6Y29tcHV0ZUhh
c2gobV9kYXRhMTYsIG1fbGVuZ3RoKSk7CisgICAgICAgIHNldEhhc2goU3RyaW5nSGFzaGVyOjpj
b21wdXRlSGFzaEFuZE1hc2tUb3A4Qml0cyhtX2RhdGExNiwgbV9sZW5ndGgpKTsKICAgICByZXR1
cm4gZXhpc3RpbmdIYXNoKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3VuaWNv
ZGUvVVRGOC5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi91bmljb2RlL1VURjguY3BwCmluZGV4IDhlYTVj
Njk5MjUwNjBlNmYwN2E3MzZhMDc0ODAyNDkwNWNlMGM1ZTMuLjZiZWM0MDUxYmFlMTJjNzA2NjRi
YjYzZGZhYjI2YjZjOWZiYWM1MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3VuaWNvZGUv
VVRGOC5jcHAKKysrIGIvU291cmNlL1dURi93dGYvdW5pY29kZS9VVEY4LmNwcApAQCAtMzU2LDcg
KzM1Niw3IEBAIENvbnZlcnNpb25SZXN1bHQgY29udmVydFVURjhUb1VURjE2KAogICAgIHJldHVy
biByZXN1bHQ7CiB9CiAKLXVuc2lnbmVkIGNhbGN1bGF0ZVN0cmluZ0hhc2hBbmRMZW5ndGhGcm9t
VVRGOChjb25zdCBjaGFyKiBkYXRhLCBjb25zdCBjaGFyKiBkYXRhRW5kLCB1bnNpZ25lZCYgZGF0
YUxlbmd0aCwgdW5zaWduZWQmIHV0ZjE2TGVuZ3RoKQordW5zaWduZWQgY2FsY3VsYXRlU3RyaW5n
SGFzaEFuZExlbmd0aEZyb21VVEY4TWFza2luZ1RvcDhCaXRzKGNvbnN0IGNoYXIqIGRhdGEsIGNv
bnN0IGNoYXIqIGRhdGFFbmQsIHVuc2lnbmVkJiBkYXRhTGVuZ3RoLCB1bnNpZ25lZCYgdXRmMTZM
ZW5ndGgpCiB7CiAgICAgaWYgKCFkYXRhKQogICAgICAgICByZXR1cm4gMDsKQEAgLTQwNCw3ICs0
MDQsNyBAQCB1bnNpZ25lZCBjYWxjdWxhdGVTdHJpbmdIYXNoQW5kTGVuZ3RoRnJvbVVURjgoY29u
c3QgY2hhciogZGF0YSwgY29uc3QgY2hhciogZGF0YQogICAgICAgICAgICAgcmV0dXJuIDA7CiAg
ICAgfQogCi0gICAgcmV0dXJuIHN0cmluZ0hhc2hlci5oYXNoKCk7CisgICAgcmV0dXJuIHN0cmlu
Z0hhc2hlci5oYXNoV2l0aFRvcDhCaXRzTWFza2VkKCk7CiB9CiAKIGJvb2wgZXF1YWxVVEYxNldp
dGhVVEY4KGNvbnN0IFVDaGFyKiBhLCBjb25zdCBVQ2hhciogYUVuZCwgY29uc3QgY2hhciogYiwg
Y29uc3QgY2hhciogYkVuZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3VuaWNvZGUvVVRG
OC5oIGIvU291cmNlL1dURi93dGYvdW5pY29kZS9VVEY4LmgKaW5kZXggNTlmNjk5NGJlY2YyN2I4
MzdhMjkyNzNkMDU4ODFjZmVlMDBiZjFlYS4uOWE0YTMwNWQ4NDI1YjM0YjZhM2Q4ZGVjMjFjOWQ2
OGEyMGE3OTNlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvdW5pY29kZS9VVEY4LmgKKysr
IGIvU291cmNlL1dURi93dGYvdW5pY29kZS9VVEY4LmgKQEAgLTc0LDcgKzc0LDcgQEAgbmFtZXNw
YWNlIFVuaWNvZGUgewogICAgICAgICAgICAgICAgICAgICBjb25zdCBVQ2hhcioqIHNvdXJjZVN0
YXJ0LCBjb25zdCBVQ2hhciogc291cmNlRW5kLCAKICAgICAgICAgICAgICAgICAgICAgY2hhcioq
IHRhcmdldFN0YXJ0LCBjaGFyKiB0YXJnZXRFbmQsIGJvb2wgc3RyaWN0ID0gdHJ1ZSk7CiAKLSAg
ICB1bnNpZ25lZCBjYWxjdWxhdGVTdHJpbmdIYXNoQW5kTGVuZ3RoRnJvbVVURjgoY29uc3QgY2hh
ciogZGF0YSwgY29uc3QgY2hhciogZGF0YUVuZCwgdW5zaWduZWQmIGRhdGFMZW5ndGgsIHVuc2ln
bmVkJiB1dGYxNkxlbmd0aCk7CisgICAgdW5zaWduZWQgY2FsY3VsYXRlU3RyaW5nSGFzaEFuZExl
bmd0aEZyb21VVEY4TWFza2luZ1RvcDhCaXRzKGNvbnN0IGNoYXIqIGRhdGEsIGNvbnN0IGNoYXIq
IGRhdGFFbmQsIHVuc2lnbmVkJiBkYXRhTGVuZ3RoLCB1bnNpZ25lZCYgdXRmMTZMZW5ndGgpOwog
CiAgICAgYm9vbCBlcXVhbFVURjE2V2l0aFVURjgoY29uc3QgVUNoYXIqIGEsIGNvbnN0IFVDaGFy
KiBhRW5kLCBjb25zdCBjaGFyKiBiLCBjb25zdCBjaGFyKiBiRW5kKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlU3RvcmFn
ZS5jcHAKaW5kZXggNWQxMDNiMmZmN2I0Y2JhNTRlMDM3YmE2Yzg3OTYyMzA0ZDA1ZWU2MS4uNzc4
ZTRlMzg4ODkxZDMzNDcyMGNkMjE1MjU2ZDRkYWQzOWIyMmYxZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVN0b3JhZ2Uu
Y3BwCkBAIC05Miw3ICs5Miw3IEBAIHN0YXRpYyB1bnNpZ25lZCB1cmxIb3N0SGFzaChjb25zdCBL
VVJMJiB1cmwpCiAgICAgdW5zaWduZWQgaG9zdFN0YXJ0ID0gdXJsLmhvc3RTdGFydCgpOwogICAg
IHVuc2lnbmVkIGhvc3RFbmQgPSB1cmwuaG9zdEVuZCgpOwogICAgIAotICAgIHJldHVybiBBbHJl
YWR5SGFzaGVkOjphdm9pZERlbGV0ZWRWYWx1ZShTdHJpbmdIYXNoZXI6OmNvbXB1dGVIYXNoKHVy
bC5zdHJpbmcoKS5jaGFyYWN0ZXJzKCkgKyBob3N0U3RhcnQsIGhvc3RFbmQgLSBob3N0U3RhcnQp
KTsKKyAgICByZXR1cm4gQWxyZWFkeUhhc2hlZDo6YXZvaWREZWxldGVkVmFsdWUoU3RyaW5nSGFz
aGVyOjpjb21wdXRlSGFzaEFuZE1hc2tUb3A4Qml0cyh1cmwuc3RyaW5nKCkuY2hhcmFjdGVycygp
ICsgaG9zdFN0YXJ0LCBob3N0RW5kIC0gaG9zdFN0YXJ0KSk7CiB9CiAKIEFwcGxpY2F0aW9uQ2Fj
aGVHcm91cCogQXBwbGljYXRpb25DYWNoZVN0b3JhZ2U6OmxvYWRDYWNoZUdyb3VwKGNvbnN0IEtV
UkwmIG1hbmlmZXN0VVJMKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9ibGFja2JlcnJ5L0NyZWRlbnRpYWxCYWNraW5nU3RvcmUuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L0NyZWRlbnRpYWxCYWNraW5nU3RvcmUuY3Bw
CmluZGV4IGNlMjAzZWFlNzQ3ZmFmMjk1MzcxYTYzZmE4Mzg2MWUxNGMyMjc3OGUuLjNhYWIyMTIy
Y2MyY2Y4ODY1YmI0ZjRhOWY5MDVkZjEzYWI0OGQ3NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9DcmVkZW50aWFsQmFja2luZ1N0b3JlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvQ3JlZGVu
dGlhbEJhY2tpbmdTdG9yZS5jcHAKQEAgLTQ3LDcgKzQ3LDcgQEAgc3RhdGljIHVuc2lnbmVkIGhh
c2hDcmVkZW50aWFsSW5mbyhjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgUHJvdGVjdGlvblNwYWNl
JiBzcGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0
PGludD4oc3BhY2Uuc2VydmVyVHlwZSgpKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHNwYWNlLnJlYWxtKCkudXRmOCgpLmRhdGEoKSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PGludD4oc3BhY2UuYXV0aGVudGljYXRp
b25TY2hlbWUoKSkpOwotICAgIHJldHVybiBTdHJpbmdIYXNoZXI6OmNvbXB1dGVIYXNoKGhhc2hT
dHJpbmcuY2hhcmFjdGVycygpLCBoYXNoU3RyaW5nLmxlbmd0aCgpKTsKKyAgICByZXR1cm4gU3Ry
aW5nSGFzaGVyOjpjb21wdXRlSGFzaEFuZE1hc2tUb3A4Qml0cyhoYXNoU3RyaW5nLmNoYXJhY3Rl
cnMoKSwgaGFzaFN0cmluZy5sZW5ndGgoKSk7CiB9CiAKIENyZWRlbnRpYWxCYWNraW5nU3RvcmUm
IGNyZWRlbnRpYWxCYWNraW5nU3RvcmUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGx1
Z2lucy9ibGFja2JlcnJ5L1BsdWdpblBhY2thZ2VCbGFja0JlcnJ5LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsdWdpbnMvYmxhY2tiZXJyeS9QbHVnaW5QYWNrYWdlQmxhY2tCZXJyeS5jcHAKaW5kZXgg
OTY3YzdkMzBjY2FlNjJkZGU5N2NjNmZhYjVlNmQxMWVhMDBjNWRjOC4uM2Y5MjczNWNlOThjYmQ0
MmU1MTJmY2Y2ZmRjOWYwMjAzNmY3YTllYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGx1
Z2lucy9ibGFja2JlcnJ5L1BsdWdpblBhY2thZ2VCbGFja0JlcnJ5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbHVnaW5zL2JsYWNrYmVycnkvUGx1Z2luUGFja2FnZUJsYWNrQmVycnkuY3BwCkBA
IC0xOTYsNyArMTk2LDcgQEAgdW5zaWduZWQgUGx1Z2luUGFja2FnZTo6aGFzaCgpIGNvbnN0CiAg
ICAgICAgIG1fcGF0aC5pbXBsKCktPmhhc2goKQogICAgIH07CiAKLSAgICByZXR1cm4gU3RyaW5n
SGFzaGVyOjpjb21wdXRlSGFzaChyZWludGVycHJldF9jYXN0PGNvbnN0IFVDaGFyKj4oaGFzaENv
ZGVzKSwgc2l6ZW9mKGhhc2hDb2RlcykgLyBzaXplb2YoVUNoYXIpKTsKKyAgICByZXR1cm4gU3Ry
aW5nSGFzaGVyOjpjb21wdXRlSGFzaEFuZE1hc2tUb3A4Qml0cyhyZWludGVycHJldF9jYXN0PGNv
bnN0IFVDaGFyKj4oaGFzaENvZGVzKSwgc2l6ZW9mKGhhc2hDb2RlcykgLyBzaXplb2YoVUNoYXIp
KTsKIH0KIAogYm9vbCBQbHVnaW5QYWNrYWdlOjpsb2FkKCkK
</data>
<flag name="review"
          id="165159"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>