<?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>30891</bug_id>
          
          <creation_ts>2009-10-28 17:44:53 -0700</creation_ts>
          <short_desc>JSC JIT on ARMv7 cannot link jumps &gt;16Mb range</short_desc>
          <delta_ts>2009-10-28 18:40:24 -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>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</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="Gavin Barraclough">barraclough</reporter>
          <assigned_to name="Gavin Barraclough">barraclough</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>158789</commentid>
    <comment_count>0</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2009-10-28 17:44:53 -0700</bug_when>
    <thetext>Fix this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158792</commentid>
    <comment_count>1</comment_count>
      <attachid>42072</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2009-10-28 17:53:20 -0700</bug_when>
    <thetext>Created attachment 42072
The patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158808</commentid>
    <comment_count>2</comment_count>
      <attachid>42072</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2009-10-28 18:24:29 -0700</bug_when>
    <thetext>Comment on attachment 42072
The patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158812</commentid>
    <comment_count>3</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2009-10-28 18:40:24 -0700</bug_when>
    <thetext>Sending        JavaScriptCore/ChangeLog
Sending        JavaScriptCore/assembler/ARMv7Assembler.h
Sending        JavaScriptCore/assembler/MacroAssemblerARMv7.h
Sending        JavaScriptCore/jit/JIT.h
Sending        JavaScriptCore/wtf/Platform.h
Transmitting file data .....
Committed revision 50255.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>42072</attachid>
            <date>2009-10-28 17:53:20 -0700</date>
            <delta_ts>2009-10-28 18:24:29 -0700</delta_ts>
            <desc>The patch</desc>
            <filename>patch.18mb.txt</filename>
            <type>text/plain</type>
            <size>17781</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDUwMjUyKQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzggQEAKKzIwMDktMTAtMjggIEdhdmluIEJh
cnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEpTQyBKSVQgb24gQVJNdjcgY2Fubm90IGxpbmsg
anVtcHMgPjE2TWIgcmFuZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTMwODkxCisKKyAgICAgICAgU3RhcnQgcGxhbmluZyBhbGwgcmVsYXRpdmUganVt
cHMgYXMgbW92ZS0zMi1iaXQtaW1tZWRpYXRlLXRvLXJlZ2lzdGVyLUJYLgorICAgICAgICBJbiB0
aGUgY2FzZXMgd2hlcmUgdGhlIGp1bXAgd291bGQgZmFsbCB3aXRoaW4gYSByZWxhdGl2ZSBqdW1w
IHJhbmdlLCB1c2UgYSByZWxhdGl2ZSBqdW1wLgorCisgICAgICAgICogSmF2YVNjcmlwdENvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBhc3NlbWJsZXIvQVJNdjdBc3Nl
bWJsZXIuaDoKKyAgICAgICAgKEpTQzo6QVJNdjdBc3NlbWJsZXI6On5BUk12N0Fzc2VtYmxlcik6
CisgICAgICAgIChKU0M6OkFSTXY3QXNzZW1ibGVyOjpMaW5rUmVjb3JkOjpMaW5rUmVjb3JkKToK
KyAgICAgICAgKEpTQzo6QVJNdjdBc3NlbWJsZXI6Oik6CisgICAgICAgIChKU0M6OkFSTXY3QXNz
ZW1ibGVyOjpleGVjdXRhYmxlQ29weSk6CisgICAgICAgIChKU0M6OkFSTXY3QXNzZW1ibGVyOjps
aW5rSnVtcCk6CisgICAgICAgIChKU0M6OkFSTXY3QXNzZW1ibGVyOjpyZWxpbmtKdW1wKToKKyAg
ICAgICAgKEpTQzo6QVJNdjdBc3NlbWJsZXI6OnNldEludDMyKToKKyAgICAgICAgKEpTQzo6QVJN
djdBc3NlbWJsZXI6OmlzQik6CisgICAgICAgIChKU0M6OkFSTXY3QXNzZW1ibGVyOjppc0JYKToK
KyAgICAgICAgKEpTQzo6QVJNdjdBc3NlbWJsZXI6OmlzTU9WX2ltbV9UMyk6CisgICAgICAgIChK
U0M6OkFSTXY3QXNzZW1ibGVyOjppc01PVlQpOgorICAgICAgICAoSlNDOjpBUk12N0Fzc2VtYmxl
cjo6aXNOT1BfVDEpOgorICAgICAgICAoSlNDOjpBUk12N0Fzc2VtYmxlcjo6aXNOT1BfVDIpOgor
ICAgICAgICAoSlNDOjpBUk12N0Fzc2VtYmxlcjo6bGlua0p1bXBBYnNvbHV0ZSk6CisgICAgICAg
IChKU0M6OkFSTXY3QXNzZW1ibGVyOjp0d29Xb3JkT3A1aTZJbW00UmVnNEVuY29kZWRJbW1GaXJz
dCk6CisgICAgICAgIChKU0M6OkFSTXY3QXNzZW1ibGVyOjp0d29Xb3JkT3A1aTZJbW00UmVnNEVu
Y29kZWRJbW1TZWNvbmQpOgorICAgICAgICAoSlNDOjpBUk12N0Fzc2VtYmxlcjo6QVJNSW5zdHJ1
Y3Rpb25Gb3JtYXR0ZXI6OnR3b1dvcmRPcDVpNkltbTRSZWc0RW5jb2RlZEltbSk6CisgICAgICAg
ICogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNdjcuaDoKKyAgICAgICAgKEpTQzo6TWFjcm9B
c3NlbWJsZXJBUk12Nzo6bWFrZUp1bXApOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFS
TXY3OjptYWtlQnJhbmNoKToKKyAgICAgICAgKiBqaXQvSklULmg6CisgICAgICAgICogd3RmL1Bs
YXRmb3JtLmg6CisKIDIwMDktMTAtMjggIERtaXRyeSBUaXRvdiAgPGRpbWljaEBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgTm90IHJldmlld2VkLCBhdHRlbXAgdG8gZml4IFdpbmRvd3MgYnVpbGQu
CkluZGV4OiBKYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQVJNdjdBc3NlbWJsZXIuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQVJNdjdBc3NlbWJsZXIuaAkocmV2aXNp
b24gNTAyMDEpCisrKyBKYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQVJNdjdBc3NlbWJsZXIuaAko
d29ya2luZyBjb3B5KQpAQCAtNDA3LDYgKzQwNywxMSBAQCByZWdpc3RlciB3cml0ZWJhY2sgCiAK
IGNsYXNzIEFSTXY3QXNzZW1ibGVyIHsKIHB1YmxpYzoKKyAgICB+QVJNdjdBc3NlbWJsZXIoKQor
ICAgIHsKKyAgICAgICAgQVNTRVJUKG1fanVtcHNUb0xpbmsuaXNFbXB0eSgpKTsKKyAgICB9CisK
ICAgICB0eXBlZGVmIEFSTVJlZ2lzdGVyczo6UmVnaXN0ZXJJRCBSZWdpc3RlcklEOwogICAgIHR5
cGVkZWYgQVJNUmVnaXN0ZXJzOjpGUFJlZ2lzdGVySUQgRlBSZWdpc3RlcklEOwogCkBAIC00Nzcs
NiArNDgyLDE3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKIAorICAgIHN0cnVjdCBMaW5rUmVjb3Jk
IHsKKyAgICAgICAgTGlua1JlY29yZChpbnRwdHJfdCBmcm9tLCBpbnRwdHJfdCB0bykKKyAgICAg
ICAgICAgIDogZnJvbShmcm9tKQorICAgICAgICAgICAgLCB0byh0bykKKyAgICAgICAgeworICAg
ICAgICB9CisKKyAgICAgICAgaW50cHRyX3QgZnJvbTsKKyAgICAgICAgaW50cHRyX3QgdG87Cisg
ICAgfTsKKwogICAgIC8vIEFSTXY3LCBBcHB4LUEuNi4zCiAgICAgYm9vbCBCYWRSZWcoUmVnaXN0
ZXJJRCByZWcpCiAgICAgewpAQCAtNTc0LDYgKzU5MCw3IEBAIHByaXZhdGU6CiAgICAgICAgIE9Q
X1NVQl9TUF9pbW1fVDEgICAgPSAweEIwODAsCiAgICAgICAgIE9QX0JLUFQgICAgICAgICAgICAg
PSAweEJFMDAsCiAgICAgICAgIE9QX0lUICAgICAgICAgICAgICAgPSAweEJGMDAsCisgICAgICAg
IE9QX05PUF9UMSAgICAgICAgICAgPSAweEJGMDAsCiAgICAgfSBPcGNvZGVJRDsKIAogICAgIHR5
cGVkZWYgZW51bSB7CkBAIC02MDgsNiArNjI1LDcgQEAgcHJpdmF0ZToKICAgICAgICAgT1BfTU9W
X2ltbV9UMyAgID0gMHhGMjQwLAogICAgICAgICBPUF9TVUJfaW1tX1Q0ICAgPSAweEYyQTAsCiAg
ICAgICAgIE9QX01PVlQgICAgICAgICA9IDB4RjJDMCwKKyAgICAgICAgT1BfTk9QX1QyYSAgICAg
ID0gMHhGM0FGLAogICAgICAgICBPUF9MRFJIX3JlZ19UMiAgPSAweEY4MzAsCiAgICAgICAgIE9Q
X0xEUkhfaW1tX1QzICA9IDB4RjgzMCwKICAgICAgICAgT1BfU1RSX2ltbV9UNCAgID0gMHhGODQw
LApAQCAtNjI2LDYgKzY0NCw3IEBAIHByaXZhdGU6CiAKICAgICB0eXBlZGVmIGVudW0gewogICAg
ICAgICBPUF9CX1Q0YiAgICAgICAgPSAweDkwMDAsCisgICAgICAgIE9QX05PUF9UMmIgICAgICA9
IDB4ODAwMCwKICAgICB9IE9wY29kZUlEMjsKIAogICAgIHN0cnVjdCBGb3VyRm91cnMgewpAQCAt
MTQ4MSw2ICsxNTAwLDE1IEBAIHB1YmxpYzoKICAgICB2b2lkKiBleGVjdXRhYmxlQ29weShFeGVj
dXRhYmxlUG9vbCogYWxsb2NhdG9yKQogICAgIHsKICAgICAgICAgdm9pZCogY29weSA9IG1fZm9y
bWF0dGVyLmV4ZWN1dGFibGVDb3B5KGFsbG9jYXRvcik7CisKKyAgICAgICAgdW5zaWduZWQganVt
cENvdW50ID0gbV9qdW1wc1RvTGluay5zaXplKCk7CisgICAgICAgIGZvciAodW5zaWduZWQgaSA9
IDA7IGkgPCBqdW1wQ291bnQ7ICsraSkgeworICAgICAgICAgICAgdWludDE2X3QqIGxvY2F0aW9u
ID0gcmVpbnRlcnByZXRfY2FzdDx1aW50MTZfdCo+KHJlaW50ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+
KGNvcHkpICsgbV9qdW1wc1RvTGlua1tpXS5mcm9tKTsKKyAgICAgICAgICAgIHVpbnQxNl90KiB0
YXJnZXQgPSByZWludGVycHJldF9jYXN0PHVpbnQxNl90Kj4ocmVpbnRlcnByZXRfY2FzdDxpbnRw
dHJfdD4oY29weSkgKyBtX2p1bXBzVG9MaW5rW2ldLnRvKTsKKyAgICAgICAgICAgIGxpbmtKdW1w
QWJzb2x1dGUobG9jYXRpb24sIHRhcmdldCk7CisgICAgICAgIH0KKyAgICAgICAgbV9qdW1wc1Rv
TGluay5jbGVhcigpOworCiAgICAgICAgIEFTU0VSVChjb3B5KTsKICAgICAgICAgcmV0dXJuIGNv
cHk7CiAgICAgfQpAQCAtMTUwMywxMSArMTUzMSw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAg
IEFTU0VSVCh0by5tX29mZnNldCAhPSAtMSk7CiAgICAgICAgIEFTU0VSVChmcm9tLm1fb2Zmc2V0
ICE9IC0xKTsKLQotICAgICAgICB1aW50MTZfdCogbG9jYXRpb24gPSByZWludGVycHJldF9jYXN0
PHVpbnQxNl90Kj4ocmVpbnRlcnByZXRfY2FzdDxpbnRwdHJfdD4obV9mb3JtYXR0ZXIuZGF0YSgp
KSArIGZyb20ubV9vZmZzZXQpOwotICAgICAgICBpbnRwdHJfdCByZWxhdGl2ZSA9IHRvLm1fb2Zm
c2V0IC0gZnJvbS5tX29mZnNldDsKLQotICAgICAgICBsaW5rV2l0aE9mZnNldChsb2NhdGlvbiwg
cmVsYXRpdmUpOworICAgICAgICBtX2p1bXBzVG9MaW5rLmFwcGVuZChMaW5rUmVjb3JkKGZyb20u
bV9vZmZzZXQsIHRvLm1fb2Zmc2V0KSk7CiAgICAgfQogCiAgICAgc3RhdGljIHZvaWQgbGlua0p1
bXAodm9pZCogY29kZSwgSm1wU3JjIGZyb20sIHZvaWQqIHRvKQpAQCAtMTUxNSw5ICsxNTM5LDcg
QEAgcHVibGljOgogICAgICAgICBBU1NFUlQoZnJvbS5tX29mZnNldCAhPSAtMSk7CiAgICAgICAg
IAogICAgICAgICB1aW50MTZfdCogbG9jYXRpb24gPSByZWludGVycHJldF9jYXN0PHVpbnQxNl90
Kj4ocmVpbnRlcnByZXRfY2FzdDxpbnRwdHJfdD4oY29kZSkgKyBmcm9tLm1fb2Zmc2V0KTsKLSAg
ICAgICAgaW50cHRyX3QgcmVsYXRpdmUgPSByZWludGVycHJldF9jYXN0PGludHB0cl90Pih0bykg
LSByZWludGVycHJldF9jYXN0PGludHB0cl90Pihsb2NhdGlvbik7Ci0KLSAgICAgICAgbGlua1dp
dGhPZmZzZXQobG9jYXRpb24sIHJlbGF0aXZlKTsKKyAgICAgICAgbGlua0p1bXBBYnNvbHV0ZShs
b2NhdGlvbiwgdG8pOwogICAgIH0KIAogICAgIC8vIGJhaCwgdGhpcyBtYXRob2Qgc2hvdWxkIHJl
YWxseSBiZSBzdGF0aWMsIHNpbmNlIGl0IGlzIHVzZWQgYnkgdGhlIExpbmtCdWZmZXIuCkBAIC0x
NTQxLDEwICsxNTYzLDkgQEAgcHVibGljOgogICAgICAgICBBU1NFUlQoIShyZWludGVycHJldF9j
YXN0PGludHB0cl90Pihmcm9tKSAmIDEpKTsKICAgICAgICAgQVNTRVJUKCEocmVpbnRlcnByZXRf
Y2FzdDxpbnRwdHJfdD4odG8pICYgMSkpOwogCi0gICAgICAgIGludHB0cl90IHJlbGF0aXZlID0g
cmVpbnRlcnByZXRfY2FzdDxpbnRwdHJfdD4odG8pIC0gcmVpbnRlcnByZXRfY2FzdDxpbnRwdHJf
dD4oZnJvbSk7Ci0gICAgICAgIGxpbmtXaXRoT2Zmc2V0KHJlaW50ZXJwcmV0X2Nhc3Q8dWludDE2
X3QqPihmcm9tKSwgcmVsYXRpdmUpOworICAgICAgICBsaW5rSnVtcEFic29sdXRlKHJlaW50ZXJw
cmV0X2Nhc3Q8dWludDE2X3QqPihmcm9tKSwgdG8pOwogCi0gICAgICAgIEV4ZWN1dGFibGVBbGxv
Y2F0b3I6OmNhY2hlRmx1c2gocmVpbnRlcnByZXRfY2FzdDx1aW50MTZfdCo+KGZyb20pIC0gMiwg
MiAqIHNpemVvZih1aW50MTZfdCkpOworICAgICAgICBFeGVjdXRhYmxlQWxsb2NhdG9yOjpjYWNo
ZUZsdXNoKHJlaW50ZXJwcmV0X2Nhc3Q8dWludDE2X3QqPihmcm9tKSAtIDUsIDUgKiBzaXplb2Yo
dWludDE2X3QpKTsKICAgICB9CiAgICAgCiAgICAgc3RhdGljIHZvaWQgcmVsaW5rQ2FsbCh2b2lk
KiBmcm9tLCB2b2lkKiB0bykKQEAgLTE2MTMsMTQgKzE2MzQsMTQgQEAgcHJpdmF0ZToKICAgICBz
dGF0aWMgdm9pZCBzZXRJbnQzMih2b2lkKiBjb2RlLCB1aW50MzJfdCB2YWx1ZSkKICAgICB7CiAg
ICAgICAgIHVpbnQxNl90KiBsb2NhdGlvbiA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDE2X3QqPihj
b2RlKTsKKyAgICAgICAgQVNTRVJUKGlzTU9WX2ltbV9UMyhsb2NhdGlvbiAtIDQpICYmIGlzTU9W
VChsb2NhdGlvbiAtIDIpKTsKIAotICAgICAgICB1aW50MTZfdCBsbzE2ID0gdmFsdWU7Ci0gICAg
ICAgIHVpbnQxNl90IGhpMTYgPSB2YWx1ZSA+PiAxNjsKLQotICAgICAgICBzcGxpY2VIaTUobG9j
YXRpb24gLSA0LCBsbzE2KTsKLSAgICAgICAgc3BsaWNlTG8xMShsb2NhdGlvbiAtIDMsIGxvMTYp
OwotICAgICAgICBzcGxpY2VIaTUobG9jYXRpb24gLSAyLCBoaTE2KTsKLSAgICAgICAgc3BsaWNl
TG8xMShsb2NhdGlvbiAtIDEsIGhpMTYpOworICAgICAgICBBUk1UaHVtYkltbWVkaWF0ZSBsbzE2
ID0gQVJNVGh1bWJJbW1lZGlhdGU6Om1ha2VVSW50MTYoc3RhdGljX2Nhc3Q8dWludDE2X3Q+KHZh
bHVlKSk7CisgICAgICAgIEFSTVRodW1iSW1tZWRpYXRlIGhpMTYgPSBBUk1UaHVtYkltbWVkaWF0
ZTo6bWFrZVVJbnQxNihzdGF0aWNfY2FzdDx1aW50MTZfdD4odmFsdWUgPj4gMTYpKTsKKyAgICAg
ICAgbG9jYXRpb25bLTRdID0gdHdvV29yZE9wNWk2SW1tNFJlZzRFbmNvZGVkSW1tRmlyc3QoT1Bf
TU9WX2ltbV9UMywgbG8xNik7CisgICAgICAgIGxvY2F0aW9uWy0zXSA9IHR3b1dvcmRPcDVpNklt
bTRSZWc0RW5jb2RlZEltbVNlY29uZCgobG9jYXRpb25bLTNdID4+IDgpICYgMHhmLCBsbzE2KTsK
KyAgICAgICAgbG9jYXRpb25bLTJdID0gdHdvV29yZE9wNWk2SW1tNFJlZzRFbmNvZGVkSW1tRmly
c3QoT1BfTU9WVCwgaGkxNik7CisgICAgICAgIGxvY2F0aW9uWy0xXSA9IHR3b1dvcmRPcDVpNklt
bTRSZWc0RW5jb2RlZEltbVNlY29uZCgobG9jYXRpb25bLTFdID4+IDgpICYgMHhmLCBoaTE2KTsK
IAogICAgICAgICBFeGVjdXRhYmxlQWxsb2NhdG9yOjpjYWNoZUZsdXNoKGxvY2F0aW9uIC0gNCwg
NCAqIHNpemVvZih1aW50MTZfdCkpOwogICAgIH0KQEAgLTE2MzAsNDEgKzE2NTEsODkgQEAgcHJp
dmF0ZToKICAgICAgICAgc2V0SW50MzIoY29kZSwgcmVpbnRlcnByZXRfY2FzdDx1aW50MzJfdD4o
dmFsdWUpKTsKICAgICB9CiAKLSAgICAvLyBMaW5raW5nICYgcGF0Y2hpbmc6Ci0gICAgLy8gVGhp
cyBtZXRob2QgYXNzdW1lcyB0aGF0IHRoZSBKbXBTcmMgYmVpbmcgbGlua2VkIGlzIGEgVDQgYiBp
bnN0cnVjdGlvbi4KLSAgICBzdGF0aWMgdm9pZCBsaW5rV2l0aE9mZnNldCh1aW50MTZfdCogaW5z
dHJ1Y3Rpb24sIGludHB0cl90IHJlbGF0aXZlKQorICAgIHN0YXRpYyBib29sIGlzQih2b2lkKiBh
ZGRyZXNzKQogICAgIHsKLSAgICAgICAgLy8gQ3VycmVudGx5IGJyYW5jaGVzID4gMTZtID0gbW9z
dGx5IGRlYXRoeS4KLSAgICAgICAgaWYgKCgocmVsYXRpdmUgPDwgNykgPj4gNykgIT0gcmVsYXRp
dmUpIHsKLSAgICAgICAgICAgIC8vIEZJWE1FOiBUaGlzIENSQVNIIG1lYW5zIHdlIGNhbm5vdCB0
dXJuIHRoZSBKSVQgb24gYnkgZGVmYXVsdCBvbiBhcm0tdjcuCi0gICAgICAgICAgICBmcHJpbnRm
KHN0ZGVyciwgIkVycm9yOiBDYW5ub3QgbGluayBUNGIuXG4iKTsKLSAgICAgICAgICAgIENSQVNI
KCk7Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIC8vIEFSTSBlbmNvZGluZyBmb3IgdGhl
IHRvcCB0d28gYml0cyBiZWxvdyB0aGUgc2lnbiBiaXQgaXMgJ3BlY3VsaWFyJy4KLSAgICAgICAg
aWYgKHJlbGF0aXZlID49IDApCi0gICAgICAgICAgICByZWxhdGl2ZSBePSAweEMwMDAwMDsKKyAg
ICAgICAgdWludDE2X3QqIGluc3RydWN0aW9uID0gc3RhdGljX2Nhc3Q8dWludDE2X3QqPihhZGRy
ZXNzKTsKKyAgICAgICAgcmV0dXJuICgoaW5zdHJ1Y3Rpb25bMF0gJiAweGY4MDApID09IE9QX0Jf
VDRhKSAmJiAoKGluc3RydWN0aW9uWzFdICYgMHhkMDAwKSA9PSBPUF9CX1Q0Yik7CisgICAgfQog
Ci0gICAgICAgIC8vIEFsbCBicmFuY2ggb2Zmc2V0cyBzaG91bGQgYmUgYW4gZXZlbiBkaXN0YW5j
ZS4KLSAgICAgICAgQVNTRVJUKCEocmVsYXRpdmUgJiAxKSk7CisgICAgc3RhdGljIGJvb2wgaXNC
WCh2b2lkKiBhZGRyZXNzKQorICAgIHsKKyAgICAgICAgdWludDE2X3QqIGluc3RydWN0aW9uID0g
c3RhdGljX2Nhc3Q8dWludDE2X3QqPihhZGRyZXNzKTsKKyAgICAgICAgcmV0dXJuIChpbnN0cnVj
dGlvblswXSAmIDB4ZmY4NykgPT0gT1BfQlg7CisgICAgfQogCi0gICAgICAgIGludCB3b3JkMSA9
ICgocmVsYXRpdmUgJiAweDEwMDAwMDApID4+IDE0KSB8ICgocmVsYXRpdmUgJiAweDNmZjAwMCkg
Pj4gMTIpOwotICAgICAgICBpbnQgd29yZDIgPSAoKHJlbGF0aXZlICYgMHg4MDAwMDApID4+IDEw
KSB8ICgocmVsYXRpdmUgJiAweDQwMDAwMCkgPj4gMTEpIHwgKChyZWxhdGl2ZSAmIDB4ZmZlKSA+
PiAxKTsKKyAgICBzdGF0aWMgYm9vbCBpc01PVl9pbW1fVDModm9pZCogYWRkcmVzcykKKyAgICB7
CisgICAgICAgIHVpbnQxNl90KiBpbnN0cnVjdGlvbiA9IHN0YXRpY19jYXN0PHVpbnQxNl90Kj4o
YWRkcmVzcyk7CisgICAgICAgIHJldHVybiAoKGluc3RydWN0aW9uWzBdICYgMHhGQkYwKSA9PSBP
UF9NT1ZfaW1tX1QzKSAmJiAoKGluc3RydWN0aW9uWzFdICYgMHg4MDAwKSA9PSAwKTsKKyAgICB9
CisKKyAgICBzdGF0aWMgYm9vbCBpc01PVlQodm9pZCogYWRkcmVzcykKKyAgICB7CisgICAgICAg
IHVpbnQxNl90KiBpbnN0cnVjdGlvbiA9IHN0YXRpY19jYXN0PHVpbnQxNl90Kj4oYWRkcmVzcyk7
CisgICAgICAgIHJldHVybiAoKGluc3RydWN0aW9uWzBdICYgMHhGQkYwKSA9PSBPUF9NT1ZUKSAm
JiAoKGluc3RydWN0aW9uWzFdICYgMHg4MDAwKSA9PSAwKTsKKyAgICB9CisKKyAgICBzdGF0aWMg
Ym9vbCBpc05PUF9UMSh2b2lkKiBhZGRyZXNzKQorICAgIHsKKyAgICAgICAgdWludDE2X3QqIGlu
c3RydWN0aW9uID0gc3RhdGljX2Nhc3Q8dWludDE2X3QqPihhZGRyZXNzKTsKKyAgICAgICAgcmV0
dXJuIGluc3RydWN0aW9uWzBdID09IE9QX05PUF9UMTsKKyAgICB9CisKKyAgICBzdGF0aWMgYm9v
bCBpc05PUF9UMih2b2lkKiBhZGRyZXNzKQorICAgIHsKKyAgICAgICAgdWludDE2X3QqIGluc3Ry
dWN0aW9uID0gc3RhdGljX2Nhc3Q8dWludDE2X3QqPihhZGRyZXNzKTsKKyAgICAgICAgcmV0dXJu
IChpbnN0cnVjdGlvblswXSA9PSBPUF9OT1BfVDJhKSAmJiAoaW5zdHJ1Y3Rpb25bMV0gPT0gT1Bf
Tk9QX1QyYik7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgbGlua0p1bXBBYnNvbHV0ZSh1aW50
MTZfdCogaW5zdHJ1Y3Rpb24sIHZvaWQqIHRhcmdldCkKKyAgICB7CisgICAgICAgIC8vIEZJTVhF
OiB0aGlzIHNob3VsZCBiZSB1cCBpbiB0aGUgTWFjcm9Bc3NlbWJsZXIgbGF5ZXIuIDotKAorICAg
ICAgICBjb25zdCB1aW50MTZfdCBKVU1QX1RFTVBPUkFSWV9SRUdJU1RFUiA9IEFSTVJlZ2lzdGVy
czo6aXA7CisKKyAgICAgICAgQVNTRVJUKCEocmVpbnRlcnByZXRfY2FzdDxpbnRwdHJfdD4oaW5z
dHJ1Y3Rpb24pICYgMSkpOworICAgICAgICBBU1NFUlQoIShyZWludGVycHJldF9jYXN0PGludHB0
cl90Pih0YXJnZXQpICYgMSkpOworCisgICAgICAgIEFTU0VSVCggKGlzTU9WX2ltbV9UMyhpbnN0
cnVjdGlvbiAtIDUpICYmIGlzTU9WVChpbnN0cnVjdGlvbiAtIDMpICYmIGlzQlgoaW5zdHJ1Y3Rp
b24gLSAxKSkKKyAgICAgICAgICAgIHx8IChpc05PUF9UMShpbnN0cnVjdGlvbiAtIDUpICYmIGlz
Tk9QX1QyKGluc3RydWN0aW9uIC0gNCkgJiYgaXNCKGluc3RydWN0aW9uIC0gMikpICk7CiAKLSAg
ICAgICAgaW5zdHJ1Y3Rpb25bLTJdID0gT1BfQl9UNGEgfCB3b3JkMTsKLSAgICAgICAgaW5zdHJ1
Y3Rpb25bLTFdID0gT1BfQl9UNGIgfCB3b3JkMjsKKyAgICAgICAgaW50cHRyX3QgcmVsYXRpdmUg
PSByZWludGVycHJldF9jYXN0PGludHB0cl90Pih0YXJnZXQpIC0gKHJlaW50ZXJwcmV0X2Nhc3Q8
aW50cHRyX3Q+KGluc3RydWN0aW9uKSk7CisgICAgICAgIGlmICgoKHJlbGF0aXZlIDw8IDcpID4+
IDcpID09IHJlbGF0aXZlKSB7CisgICAgICAgICAgICAvLyBBUk0gZW5jb2RpbmcgZm9yIHRoZSB0
b3AgdHdvIGJpdHMgYmVsb3cgdGhlIHNpZ24gYml0IGlzICdwZWN1bGlhcicuCisgICAgICAgICAg
ICBpZiAocmVsYXRpdmUgPj0gMCkKKyAgICAgICAgICAgICAgICByZWxhdGl2ZSBePSAweEMwMDAw
MDsKKworICAgICAgICAgICAgLy8gQWxsIGJyYW5jaCBvZmZzZXRzIHNob3VsZCBiZSBhbiBldmVu
IGRpc3RhbmNlLgorICAgICAgICAgICAgQVNTRVJUKCEocmVsYXRpdmUgJiAxKSk7CisgICAgICAg
ICAgICAvLyBUaGVyZSBtYXkgYmUgYSBiZXR0ZXIgd2F5IHRvIGZpeCB0aGlzLCBidXQgcmlnaHQg
bm93IHB1dCB0aGUgTk9QcyBmaXJzdCwgc2luY2UgaW4gdGhlCisgICAgICAgICAgICAvLyBjYXNl
IG9mIGFuIGNvbmRpdGlvbmFsIGJyYW5jaCB0aGlzIHdpbGwgYmUgY29taW5nIGFmdGVyIGFuIElU
VFQgcHJlZGljYXRpbmcgKnRocmVlKgorICAgICAgICAgICAgLy8gaW5zdHJ1Y3Rpb25zISAgTG9v
a2luZyBiYWNrd2FyZHMgdG8gbW9kaWZ5IHRoZSBJVFRUIHRvIGFuIElUIGlzIG5vdCBlYXN5LCBk
dWUgdG8KKyAgICAgICAgICAgIC8vIHZhcmlhYmxlIHdkaXRoIGVuY29kaW5nIC0gdGhlIHByZXZp
b3VzIGluc3RydWN0aW9uIG1pZ2h0ICpsb29rKiBsaWtlIGFuIElUVFQgYnV0CisgICAgICAgICAg
ICAvLyBhY3R1YWxseSBiZSB0aGUgc2Vjb25kIGhhbGYgb2YgYSAyLXdvcmQgb3AuCisgICAgICAg
ICAgICBpbnN0cnVjdGlvblstNV0gPSBPUF9OT1BfVDE7CisgICAgICAgICAgICBpbnN0cnVjdGlv
blstNF0gPSBPUF9OT1BfVDJhOworICAgICAgICAgICAgaW5zdHJ1Y3Rpb25bLTNdID0gT1BfTk9Q
X1QyYjsKKyAgICAgICAgICAgIGluc3RydWN0aW9uWy0yXSA9IE9QX0JfVDRhIHwgKChyZWxhdGl2
ZSAmIDB4MTAwMDAwMCkgPj4gMTQpIHwgKChyZWxhdGl2ZSAmIDB4M2ZmMDAwKSA+PiAxMik7Cisg
ICAgICAgICAgICBpbnN0cnVjdGlvblstMV0gPSBPUF9CX1Q0YiB8ICgocmVsYXRpdmUgJiAweDgw
MDAwMCkgPj4gMTApIHwgKChyZWxhdGl2ZSAmIDB4NDAwMDAwKSA+PiAxMSkgfCAoKHJlbGF0aXZl
ICYgMHhmZmUpID4+IDEpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgQVJNVGh1bWJJ
bW1lZGlhdGUgbG8xNiA9IEFSTVRodW1iSW1tZWRpYXRlOjptYWtlVUludDE2KHN0YXRpY19jYXN0
PHVpbnQxNl90PihyZWludGVycHJldF9jYXN0PHVpbnQzMl90Pih0YXJnZXQpICsgMSkpOworICAg
ICAgICAgICAgQVJNVGh1bWJJbW1lZGlhdGUgaGkxNiA9IEFSTVRodW1iSW1tZWRpYXRlOjptYWtl
VUludDE2KHN0YXRpY19jYXN0PHVpbnQxNl90PihyZWludGVycHJldF9jYXN0PHVpbnQzMl90Pih0
YXJnZXQpID4+IDE2KSk7CisgICAgICAgICAgICBpbnN0cnVjdGlvblstNV0gPSB0d29Xb3JkT3A1
aTZJbW00UmVnNEVuY29kZWRJbW1GaXJzdChPUF9NT1ZfaW1tX1QzLCBsbzE2KTsKKyAgICAgICAg
ICAgIGluc3RydWN0aW9uWy00XSA9IHR3b1dvcmRPcDVpNkltbTRSZWc0RW5jb2RlZEltbVNlY29u
ZChKVU1QX1RFTVBPUkFSWV9SRUdJU1RFUiwgbG8xNik7CisgICAgICAgICAgICBpbnN0cnVjdGlv
blstM10gPSB0d29Xb3JkT3A1aTZJbW00UmVnNEVuY29kZWRJbW1GaXJzdChPUF9NT1ZULCBoaTE2
KTsKKyAgICAgICAgICAgIGluc3RydWN0aW9uWy0yXSA9IHR3b1dvcmRPcDVpNkltbTRSZWc0RW5j
b2RlZEltbVNlY29uZChKVU1QX1RFTVBPUkFSWV9SRUdJU1RFUiwgaGkxNik7CisgICAgICAgICAg
ICBpbnN0cnVjdGlvblstMV0gPSBPUF9CWCB8IChKVU1QX1RFTVBPUkFSWV9SRUdJU1RFUiA8PCAz
KTsKKyAgICAgICAgfQogICAgIH0KIAotICAgIC8vIFRoZXNlIGZ1bmN0aW9ucyBjYW4gYmUgdXNl
ZCB0byBzcGxpY2UgMTYtYml0IGltbWVkaWF0ZXMgYmFjayBpbnRvIHByZXZpb3VzbHkgZ2VuZXJh
dGVkIGluc3RydWN0aW9ucy4KLSAgICBzdGF0aWMgdm9pZCBzcGxpY2VIaTUodWludDE2X3QqIHdo
ZXJlLCB1aW50MTZfdCB3aGF0KQorICAgIHN0YXRpYyB1aW50MTZfdCB0d29Xb3JkT3A1aTZJbW00
UmVnNEVuY29kZWRJbW1GaXJzdCh1aW50MTZfdCBvcCwgQVJNVGh1bWJJbW1lZGlhdGUgaW1tKQog
ICAgIHsKLSAgICAgICAgdWludDE2X3QgcGF0dGVybiA9ICh3aGF0ID4+IDEyKSB8ICgod2hhdCAm
IDB4MDgwMCkgPj4gMSk7Ci0gICAgICAgICp3aGVyZSA9ICgqd2hlcmUgJiAweEZCRjApIHwgcGF0
dGVybjsKKyAgICAgICAgcmV0dXJuIG9wIHwgKGltbS5tX3ZhbHVlLmkgPDwgMTApIHwgaW1tLm1f
dmFsdWUuaW1tNDsKICAgICB9Ci0gICAgc3RhdGljIHZvaWQgc3BsaWNlTG8xMSh1aW50MTZfdCog
d2hlcmUsIHVpbnQxNl90IHdoYXQpCisgICAgc3RhdGljIHVpbnQxNl90IHR3b1dvcmRPcDVpNklt
bTRSZWc0RW5jb2RlZEltbVNlY29uZCh1aW50MTZfdCByZCwgQVJNVGh1bWJJbW1lZGlhdGUgaW1t
KQogICAgIHsKLSAgICAgICAgdWludDE2X3QgcGF0dGVybiA9ICgod2hhdCAmIDB4MDcwMCkgPDwg
NCkgfCAod2hhdCAmIDB4MDBGRik7Ci0gICAgICAgICp3aGVyZSA9ICgqd2hlcmUgJiAweDhGMDAp
IHwgcGF0dGVybjsKKyAgICAgICAgcmV0dXJuIChpbW0ubV92YWx1ZS5pbW0zIDw8IDEyKSB8IChy
ZCA8PCA4KSB8IGltbS5tX3ZhbHVlLmltbTg7CiAgICAgfQogCiAgICAgY2xhc3MgQVJNSW5zdHJ1
Y3Rpb25Gb3JtYXR0ZXIgewpAQCAtMTcyMyw4ICsxNzkyLDExIEBAIHByaXZhdGU6CiAKICAgICAg
ICAgdm9pZCB0d29Xb3JkT3A1aTZJbW00UmVnNEVuY29kZWRJbW0oT3Bjb2RlSUQxIG9wLCBpbnQg
aW1tNCwgUmVnaXN0ZXJJRCByZCwgQVJNVGh1bWJJbW1lZGlhdGUgaW1tKQogICAgICAgICB7Ci0g
ICAgICAgICAgICBtX2J1ZmZlci5wdXRTaG9ydChvcCB8IChpbW0ubV92YWx1ZS5pIDw8IDEwKSB8
IGltbTQpOwotICAgICAgICAgICAgbV9idWZmZXIucHV0U2hvcnQoKGltbS5tX3ZhbHVlLmltbTMg
PDwgMTIpIHwgKHJkIDw8IDgpIHwgaW1tLm1fdmFsdWUuaW1tOCk7CisgICAgICAgICAgICBBUk1U
aHVtYkltbWVkaWF0ZSBuZXdJbW0gPSBpbW07CisgICAgICAgICAgICBuZXdJbW0ubV92YWx1ZS5p
bW00ID0gaW1tNDsKKworICAgICAgICAgICAgbV9idWZmZXIucHV0U2hvcnQoQVJNdjdBc3NlbWJs
ZXI6OnR3b1dvcmRPcDVpNkltbTRSZWc0RW5jb2RlZEltbUZpcnN0KG9wLCBuZXdJbW0pKTsKKyAg
ICAgICAgICAgIG1fYnVmZmVyLnB1dFNob3J0KEFSTXY3QXNzZW1ibGVyOjp0d29Xb3JkT3A1aTZJ
bW00UmVnNEVuY29kZWRJbW1TZWNvbmQocmQsIG5ld0ltbSkpOwogICAgICAgICB9CiAKICAgICAg
ICAgdm9pZCB0d29Xb3JkT3AxMlJlZzRSZWc0SW1tMTIoT3Bjb2RlSUQxIG9wLCBSZWdpc3RlcklE
IHJlZzEsIFJlZ2lzdGVySUQgcmVnMiwgdWludDE2X3QgaW1tKQpAQCAtMTc0OSw2ICsxODIxLDgg
QEAgcHJpdmF0ZToKICAgICBwcml2YXRlOgogICAgICAgICBBc3NlbWJsZXJCdWZmZXIgbV9idWZm
ZXI7CiAgICAgfSBtX2Zvcm1hdHRlcjsKKworICAgIFZlY3RvcjxMaW5rUmVjb3JkPiBtX2p1bXBz
VG9MaW5rOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBKYXZhU2NyaXB0Q29yZS9h
c3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk12Ny5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRD
b3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTXY3LmgJKHJldmlzaW9uIDUwMjAxKQorKysg
SmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNdjcuaAkod29ya2luZyBj
b3B5KQpAQCAtOTkwLDEzICs5OTAsMTUgQEAgcHVibGljOgogcHJvdGVjdGVkOgogICAgIEFSTXY3
QXNzZW1ibGVyOjpKbXBTcmMgbWFrZUp1bXAoKQogICAgIHsKLSAgICAgICAgcmV0dXJuIG1fYXNz
ZW1ibGVyLmIoKTsKKyAgICAgICAgbW92ZUZpeGVkV2lkdGhFbmNvZGluZyhJbW0zMigwKSwgZGF0
YVRlbXBSZWdpc3Rlcik7CisgICAgICAgIHJldHVybiBtX2Fzc2VtYmxlci5ieChkYXRhVGVtcFJl
Z2lzdGVyKTsKICAgICB9CiAKICAgICBBUk12N0Fzc2VtYmxlcjo6Sm1wU3JjIG1ha2VCcmFuY2go
QVJNdjdBc3NlbWJsZXI6OkNvbmRpdGlvbiBjb25kKQogICAgIHsKLSAgICAgICAgbV9hc3NlbWJs
ZXIuaXQoY29uZCk7Ci0gICAgICAgIHJldHVybiBtX2Fzc2VtYmxlci5iKCk7CisgICAgICAgIG1f
YXNzZW1ibGVyLml0KGNvbmQsIHRydWUsIHRydWUpOworICAgICAgICBtb3ZlRml4ZWRXaWR0aEVu
Y29kaW5nKEltbTMyKDApLCBkYXRhVGVtcFJlZ2lzdGVyKTsKKyAgICAgICAgcmV0dXJuIG1fYXNz
ZW1ibGVyLmJ4KGRhdGFUZW1wUmVnaXN0ZXIpOwogICAgIH0KICAgICBBUk12N0Fzc2VtYmxlcjo6
Sm1wU3JjIG1ha2VCcmFuY2goQ29uZGl0aW9uIGNvbmQpIHsgcmV0dXJuIG1ha2VCcmFuY2goYXJt
VjdDb25kaXRpb24oY29uZCkpOyB9CiAgICAgQVJNdjdBc3NlbWJsZXI6OkptcFNyYyBtYWtlQnJh
bmNoKERvdWJsZUNvbmRpdGlvbiBjb25kKSB7IHJldHVybiBtYWtlQnJhbmNoKGFybVY3Q29uZGl0
aW9uKGNvbmQpKTsgfQpJbmRleDogSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIEphdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAkocmV2aXNpb24gNTAyMDEpCisrKyBKYXZhU2Ny
aXB0Q29yZS9qaXQvSklULmgJKHdvcmtpbmcgY29weSkKQEAgLTU4NCwyNiArNTg0LDI2IEBAIG5h
bWVzcGFjZSBKU0MgewogI2VsaWYgUExBVEZPUk0oQVJNX1RIVU1CMikKICAgICAgICAgLy8gVGhl
c2UgYXJjaGl0ZWN0dXJlIHNwZWNpZmljIHZhbHVlIGFyZSB1c2VkIHRvIGVuYWJsZSBwYXRjaGlu
ZyAtIHNlZSBjb21tZW50IG9uIG9wX3B1dF9ieV9pZC4KICAgICAgICAgc3RhdGljIGNvbnN0IGlu
dCBwYXRjaE9mZnNldFB1dEJ5SWRTdHJ1Y3R1cmUgPSAxMDsKLSAgICAgICAgc3RhdGljIGNvbnN0
IGludCBwYXRjaE9mZnNldFB1dEJ5SWRFeHRlcm5hbExvYWQgPSAyMDsKKyAgICAgICAgc3RhdGlj
IGNvbnN0IGludCBwYXRjaE9mZnNldFB1dEJ5SWRFeHRlcm5hbExvYWQgPSAyNjsKICAgICAgICAg
c3RhdGljIGNvbnN0IGludCBwYXRjaExlbmd0aFB1dEJ5SWRFeHRlcm5hbExvYWQgPSAxMjsKLSAg
ICAgICAgc3RhdGljIGNvbnN0IGludCBwYXRjaE9mZnNldFB1dEJ5SWRQcm9wZXJ0eU1hcE9mZnNl
dCA9IDQwOworICAgICAgICBzdGF0aWMgY29uc3QgaW50IHBhdGNoT2Zmc2V0UHV0QnlJZFByb3Bl
cnR5TWFwT2Zmc2V0ID0gNDY7CiAgICAgICAgIC8vIFRoZXNlIGFyY2hpdGVjdHVyZSBzcGVjaWZp
YyB2YWx1ZSBhcmUgdXNlZCB0byBlbmFibGUgcGF0Y2hpbmcgLSBzZWUgY29tbWVudCBvbiBvcF9n
ZXRfYnlfaWQuCiAgICAgICAgIHN0YXRpYyBjb25zdCBpbnQgcGF0Y2hPZmZzZXRHZXRCeUlkU3Ry
dWN0dXJlID0gMTA7Ci0gICAgICAgIHN0YXRpYyBjb25zdCBpbnQgcGF0Y2hPZmZzZXRHZXRCeUlk
QnJhbmNoVG9TbG93Q2FzZSA9IDIwOwotICAgICAgICBzdGF0aWMgY29uc3QgaW50IHBhdGNoT2Zm
c2V0R2V0QnlJZEV4dGVybmFsTG9hZCA9IDIwOworICAgICAgICBzdGF0aWMgY29uc3QgaW50IHBh
dGNoT2Zmc2V0R2V0QnlJZEJyYW5jaFRvU2xvd0Nhc2UgPSAyNjsKKyAgICAgICAgc3RhdGljIGNv
bnN0IGludCBwYXRjaE9mZnNldEdldEJ5SWRFeHRlcm5hbExvYWQgPSAyNjsKICAgICAgICAgc3Rh
dGljIGNvbnN0IGludCBwYXRjaExlbmd0aEdldEJ5SWRFeHRlcm5hbExvYWQgPSAxMjsKLSAgICAg
ICAgc3RhdGljIGNvbnN0IGludCBwYXRjaE9mZnNldEdldEJ5SWRQcm9wZXJ0eU1hcE9mZnNldCA9
IDQwOwotICAgICAgICBzdGF0aWMgY29uc3QgaW50IHBhdGNoT2Zmc2V0R2V0QnlJZFB1dFJlc3Vs
dCA9IDQ0OworICAgICAgICBzdGF0aWMgY29uc3QgaW50IHBhdGNoT2Zmc2V0R2V0QnlJZFByb3Bl
cnR5TWFwT2Zmc2V0ID0gNDY7CisgICAgICAgIHN0YXRpYyBjb25zdCBpbnQgcGF0Y2hPZmZzZXRH
ZXRCeUlkUHV0UmVzdWx0ID0gNTA7CiAjaWYgRU5BQkxFKE9QQ09ERV9TQU1QTElORykKICAgICAg
ICAgc3RhdGljIGNvbnN0IGludCBwYXRjaE9mZnNldEdldEJ5SWRTbG93Q2FzZUNhbGwgPSAwOyAv
LyBGSU1YRQogI2Vsc2UKICAgICAgICAgc3RhdGljIGNvbnN0IGludCBwYXRjaE9mZnNldEdldEJ5
SWRTbG93Q2FzZUNhbGwgPSAyODsKICNlbmRpZgotICAgICAgICBzdGF0aWMgY29uc3QgaW50IHBh
dGNoT2Zmc2V0T3BDYWxsQ29tcGFyZVRvSnVtcCA9IDEwOworICAgICAgICBzdGF0aWMgY29uc3Qg
aW50IHBhdGNoT2Zmc2V0T3BDYWxsQ29tcGFyZVRvSnVtcCA9IDE2OwogCi0gICAgICAgIHN0YXRp
YyBjb25zdCBpbnQgcGF0Y2hPZmZzZXRNZXRob2RDaGVja1Byb3RvT2JqID0gMTg7Ci0gICAgICAg
IHN0YXRpYyBjb25zdCBpbnQgcGF0Y2hPZmZzZXRNZXRob2RDaGVja1Byb3RvU3RydWN0ID0gMjg7
Ci0gICAgICAgIHN0YXRpYyBjb25zdCBpbnQgcGF0Y2hPZmZzZXRNZXRob2RDaGVja1B1dEZ1bmN0
aW9uID0gNDY7CisgICAgICAgIHN0YXRpYyBjb25zdCBpbnQgcGF0Y2hPZmZzZXRNZXRob2RDaGVj
a1Byb3RvT2JqID0gMjQ7CisgICAgICAgIHN0YXRpYyBjb25zdCBpbnQgcGF0Y2hPZmZzZXRNZXRo
b2RDaGVja1Byb3RvU3RydWN0ID0gMzQ7CisgICAgICAgIHN0YXRpYyBjb25zdCBpbnQgcGF0Y2hP
ZmZzZXRNZXRob2RDaGVja1B1dEZ1bmN0aW9uID0gNTg7CiAjZWxpZiBQTEFURk9STShBUk1fVFJB
RElUSU9OQUwpCiAgICAgICAgIC8vIFRoZXNlIGFyY2hpdGVjdHVyZSBzcGVjaWZpYyB2YWx1ZSBh
cmUgdXNlZCB0byBlbmFibGUgcGF0Y2hpbmcgLSBzZWUgY29tbWVudCBvbiBvcF9wdXRfYnlfaWQu
CiAgICAgICAgIHN0YXRpYyBjb25zdCBpbnQgcGF0Y2hPZmZzZXRQdXRCeUlkU3RydWN0dXJlID0g
NDsKSW5kZXg6IEphdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEph
dmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCShyZXZpc2lvbiA1MDIwMSkKKysrIEphdmFTY3Jp
cHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCSh3b3JraW5nIGNvcHkpCkBAIC03MzAsOCArNzMwLDcgQEAg
b24gTWluR1cuIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaAogICAgICNkZWZpbmUgRU5B
QkxFX0pJVCAxCiAgICAgI2RlZmluZSBXVEZfVVNFX0pJVF9TVFVCX0FSR1VNRU5UX1ZBX0xJU1Qg
MQogI2VsaWYgUExBVEZPUk0oQVJNX1RIVU1CMikgJiYgUExBVEZPUk0oSVBIT05FKQotICAgIC8q
IFVuZGVyIGRldmVsb3BtZW50LCB0ZW1wb3JhcmlseSBkaXNhYmxlZCB1bnRpbCAxNk1iIGxpbmsg
cmFuZ2UgbGltaXQgaW4gYXNzZW1ibGVyIGlzIGZpeGVkLiAqLwotICAgICNkZWZpbmUgRU5BQkxF
X0pJVCAwCisgICAgI2RlZmluZSBFTkFCTEVfSklUIDEKICAgICAjZGVmaW5lIEVOQUJMRV9KSVRf
T1BUSU1JWkVfTkFUSVZFX0NBTEwgMAogLyogVGhlIEpJVCBpcyB0ZXN0ZWQgJiB3b3JraW5nIG9u
IHg4NiBXaW5kb3dzICovCiAjZWxpZiBQTEFURk9STShYODYpICYmIFBMQVRGT1JNKFdJTikKQEAg
LTc5Nyw4ICs3OTYsNyBAQCBvbiBNaW5HVy4gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
CiAvKiBZQVJSIHN1cHBvcnRzIHg4NiAmIHg4Ni02NCwgYW5kIGhhcyBiZWVuIHRlc3RlZCBvbiBN
YWMgYW5kIFdpbmRvd3MuICovCiAjaWYgKFBMQVRGT1JNKFg4NikgJiYgUExBVEZPUk0oTUFDKSkg
XAogIHx8IChQTEFURk9STShYODZfNjQpICYmIFBMQVRGT1JNKE1BQykpIFwKLSAvKiBVbmRlciBk
ZXZlbG9wbWVudCwgdGVtcG9yYXJpbHkgZGlzYWJsZWQgdW50aWwgMTZNYiBsaW5rIHJhbmdlIGxp
bWl0IGluIGFzc2VtYmxlciBpcyBmaXhlZC4gKi8gXAotIHx8IChQTEFURk9STShBUk1fVEhVTUIy
KSAmJiBQTEFURk9STShJUEhPTkUpICYmIDApIFwKKyB8fCAoUExBVEZPUk0oQVJNX1RIVU1CMikg
JiYgUExBVEZPUk0oSVBIT05FKSkgXAogIHx8IChQTEFURk9STShYODYpICYmIFBMQVRGT1JNKFdJ
TikpCiAjZGVmaW5lIEVOQUJMRV9ZQVJSIDEKICNkZWZpbmUgRU5BQkxFX1lBUlJfSklUIDEK
</data>
<flag name="review"
          id="23574"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>