<?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>127647</bug_id>
          
          <creation_ts>2014-01-26 01:11:36 -0800</creation_ts>
          <short_desc>JavaScriptCore: Enable -Wimplicit-fallthrough and add FALLTHROUGH annotation where needed</short_desc>
          <delta_ts>2014-01-27 20:01:13 -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>JavaScriptCore</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="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ggaren</cc>
    
    <cc>joepeck</cc>
    
    <cc>oliver</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>972168</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-01-26 01:11:36 -0800</bug_when>
    <thetext>This should go through a careful review. I don&apos;t think anything is controversial here.

I can already see that engineers might want to include a comment with a FALLTHROUGH.

For example:

    // fall through to Foo

Could become:

    FALLTHROUGH; // To Foo.

In the first patch I only left comments that seemed most apt to keep.

Also filed a clang issue to make FALLTHROUGH nicer to use in the case and there are labels preceding the next case:
http://llvm.org/bugs/show_bug.cgi?id=18621</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972169</commentid>
    <comment_count>1</comment_count>
      <attachid>222265</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-01-26 01:14:14 -0800</bug_when>
    <thetext>Created attachment 222265
[PATCH] Proposed Fix

Again, reviewers look carefully. This may have uncovered a latent bug with an accidental fallthrough.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972177</commentid>
    <comment_count>2</comment_count>
      <attachid>222268</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-01-26 02:42:14 -0800</bug_when>
    <thetext>Created attachment 222268
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972753</commentid>
    <comment_count>3</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-01-27 20:01:13 -0800</bug_when>
    <thetext>Landed &lt;http://trac.webkit.org/changeset/162906&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222265</attachid>
            <date>2014-01-26 01:14:14 -0800</date>
            <delta_ts>2014-01-26 02:42:14 -0800</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>jsc.patch</filename>
            <type>text/plain</type>
            <size>17601</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGFhYTQ1YTEuLjg2MTlkNmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDE0LTAxLTI2ICBKb3NlcGggUGVjb3Jh
cm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAgRW5hYmxlIC1XaW1wbGljaXQtZmFs
bHRocm91Z2ggYW5kIGFkZCBGQUxMVEhST1VHSCBhbm5vdGF0aW9uIHdoZXJlIG5lZWRlZAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3NjQ3CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRXhwbGljaXRseSBh
bm5vdGF0ZSBzd2l0Y2ggY2FzZSBmYWxsdGhyb3VnaHMgaW4gSmF2YVNjcmlwdENvcmUgYW5kCisg
ICAgICAgIGVuYWJsZSB3YXJuaW5ncyBmb3IgdW5hbm5vdGF0ZWQgZmFsbHRocm91Z2hzLgorCisg
ICAgICAgICogQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZzoKKyAgICAgICAgKiBieXRlY29k
ZS9Db2RlQmxvY2suY3BwOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OkNvZGVCbG9jayk6Cisg
ICAgICAgICogZGZnL0RGR0NGR1NpbXBsaWZpY2F0aW9uUGhhc2UuY3BwOgorICAgICAgICAoSlND
OjpERkc6OkNGR1NpbXBsaWZpY2F0aW9uUGhhc2U6OnJ1bik6CisgICAgICAgICogZGZnL0RGR1Nw
ZWN1bGF0aXZlSklUNjQuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpm
aWxsU3BlY3VsYXRlSW50MzJJbnRlcm5hbCk6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRp
dmVKSVQ6OmZpbGxTcGVjdWxhdGVJbnQ1Mik6CisgICAgICAgICogZGZnL0RGR1ZhbGlkYXRlLmNw
cDoKKyAgICAgICAgKEpTQzo6REZHOjpWYWxpZGF0ZTo6dmFsaWRhdGVDUFMpOgorICAgICAgICAq
IHBhcnNlci9MZXhlci5jcHA6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpsZXgpOgorICAgICAg
ICAqIHBhcnNlci9QYXJzZXIuY3BwOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VTdGF0ZW1lbnQpOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQ
cm9wZXJ0eSk6CisgICAgICAgICogcnVudGltZS9KU0FycmF5LmNwcDoKKyAgICAgICAgKEpTQzo6
SlNBcnJheTo6cHVzaCk6CisgICAgICAgICogcnVudGltZS9KU09OT2JqZWN0LmNwcDoKKyAgICAg
ICAgKEpTQzo6V2Fsa2VyOjp3YWxrKToKKyAgICAgICAgKiBydW50aW1lL0pTT2JqZWN0LmNwcDoK
KyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OnB1dEJ5SW5kZXgpOgorICAgICAgICAoSlNDOjpKU09i
amVjdDo6cHV0QnlJbmRleEJleW9uZFZlY3Rvckxlbmd0aCk6CisgICAgICAgICogcnVudGltZS9K
U09iamVjdC5oOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6c2V0SW5kZXhRdWlja2x5KToKKyAg
ICAgICAgKEpTQzo6SlNPYmplY3Q6OmluaXRpYWxpemVJbmRleCk6CisgICAgICAgICogcnVudGlt
ZS9MaXRlcmFsUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6TGl0ZXJhbFBhcnNlcjxDaGFyVHlw
ZT46OnBhcnNlKToKKyAgICAgICAgKiB5YXJyL1lhcnJJbnRlcnByZXRlci5jcHA6CisgICAgICAg
IChKU0M6OllhcnI6OkludGVycHJldGVyOjpiYWNrdHJhY2tQYXJlbnRoZXNlc09uY2VCZWdpbik6
CisgICAgICAgIChKU0M6OllhcnI6OkludGVycHJldGVyOjpiYWNrdHJhY2tQYXJlbnRoZXNlc09u
Y2VFbmQpOgorICAgICAgICAqIHlhcnIvWWFyclBhcnNlci5oOgorICAgICAgICAoSlNDOjpZYXJy
OjpQYXJzZXI6OkNoYXJhY3RlckNsYXNzUGFyc2VyRGVsZWdhdGU6OmF0b21QYXR0ZXJuQ2hhcmFj
dGVyKToKKyAgICAgICAgKEpTQzo6WWFycjo6UGFyc2VyOjpDaGFyYWN0ZXJDbGFzc1BhcnNlckRl
bGVnYXRlOjphdG9tQnVpbHRJbkNoYXJhY3RlckNsYXNzKToKKyAgICAgICAgKEpTQzo6WWFycjo6
UGFyc2VyOjpwYXJzZUVzY2FwZSk6CisgICAgICAgIChKU0M6OllhcnI6OlBhcnNlcjo6cGFyc2VU
b2tlbnMpOgorCiAyMDE0LTAxLTI1ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAog
ICAgICAgICBUcnkgdG8gZml4IE1hYyBidWlsZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKaW5kZXggNmRiMWM0MS4uODEyMDM2MiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNj
b25maWcKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNj
b25maWcKQEAgLTc3LDcgKzc3LDcgQEAgR0NDX1dBUk5fVU5VU0VEX0ZVTkNUSU9OID0gWUVTOwog
R0NDX1dBUk5fVU5VU0VEX1ZBUklBQkxFID0gWUVTOwogTElOS0VSX0RJU1BMQVlTX01BTkdMRURf
TkFNRVMgPSBZRVM7CiBQUkVCSU5ESU5HID0gTk87Ci1XQVJOSU5HX0NGTEFHUyA9IC1XYWxsIC1X
ZXh0cmEgLVdjYXN0LXF1YWwgLVdjaGFyLXN1YnNjcmlwdHMgLVdleHRyYS10b2tlbnMgLVdmb3Jt
YXQ9MiAtV2luaXQtc2VsZiAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV21pc3Npbmctbm9y
ZXR1cm4gLVdwYWNrZWQgLVdwb2ludGVyLWFyaXRoIC1XcmVkdW5kYW50LWRlY2xzIC1XdW5kZWYg
LVd3cml0ZS1zdHJpbmdzIC1XZXhpdC10aW1lLWRlc3RydWN0b3JzIC1XZ2xvYmFsLWNvbnN0cnVj
dG9ycyAtV3RhdXRvbG9naWNhbC1jb21wYXJlOworV0FSTklOR19DRkxBR1MgPSAtV2FsbCAtV2V4
dHJhIC1XY2FzdC1xdWFsIC1XY2hhci1zdWJzY3JpcHRzIC1XZXh0cmEtdG9rZW5zIC1XZm9ybWF0
PTIgLVdpbml0LXNlbGYgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdtaXNzaW5nLW5vcmV0
dXJuIC1XcGFja2VkIC1XcG9pbnRlci1hcml0aCAtV3JlZHVuZGFudC1kZWNscyAtV3VuZGVmIC1X
d3JpdGUtc3RyaW5ncyAtV2V4aXQtdGltZS1kZXN0cnVjdG9ycyAtV2dsb2JhbC1jb25zdHJ1Y3Rv
cnMgLVd0YXV0b2xvZ2ljYWwtY29tcGFyZSAtV2ltcGxpY2l0LWZhbGx0aHJvdWdoOwogSEVBREVS
X1NFQVJDSF9QQVRIUyA9IC4gaWN1ICIke0JVSUxUX1BST0RVQ1RTX0RJUn0vdXNyL2xvY2FsL2lu
Y2x1ZGUiICQoSEVBREVSX1NFQVJDSF9QQVRIUyk7CiAKIFRBUkdFVF9NQUNfT1NfWF9WRVJTSU9O
X01BSk9SID0gJChNQUNfT1NfWF9WRVJTSU9OX01BSk9SKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKaW5kZXggM2I1NmYxNC4uMzBhOTg2ZCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKQEAgLTE2NzYsNyAr
MTY3Niw3IEBAIENvZGVCbG9jazo6Q29kZUJsb2NrKFNjcmlwdEV4ZWN1dGFibGUqIG93bmVyRXhl
Y3V0YWJsZSwgVW5saW5rZWRDb2RlQmxvY2sqIHVubGluCiAgICAgICAgICAgICBtX2FycmF5UHJv
ZmlsZXNbYXJyYXlQcm9maWxlSW5kZXhdID0gQXJyYXlQcm9maWxlKGkpOwogCiAgICAgICAgICAg
ICBpbnN0cnVjdGlvbnNbaSArIG9wTGVuZ3RoIC0gMl0gPSAmbV9hcnJheVByb2ZpbGVzW2FycmF5
UHJvZmlsZUluZGV4XTsKLSAgICAgICAgICAgIC8vIGZhbGx0aHJvdWdoCisgICAgICAgICAgICBG
QUxMVEhST1VHSDsKICAgICAgICAgfQogICAgICAgICBjYXNlIG9wX2dldF9ieV9pZDoKICAgICAg
ICAgY2FzZSBvcF9jYWxsX3ZhcmFyZ3M6IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQ0ZHU2ltcGxpZmljYXRpb25QaGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0NGR1NpbXBsaWZpY2F0aW9uUGhhc2UuY3BwCmluZGV4IGY4ZGI1YTguLjVk
ZTM2YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ0ZHU2ltcGxp
ZmljYXRpb25QaGFzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDRkdT
aW1wbGlmaWNhdGlvblBoYXNlLmNwcApAQCAtMTg4LDYgKzE4OCw3IEBAIHB1YmxpYzoKICAgICAg
ICAgICAgICAgICAgICAgICAgIGlubmVyQ2hhbmdlZCA9IG91dGVyQ2hhbmdlZCA9IHRydWU7CiAg
ICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg
ICAgICAgIAogICAgICAgICAgICAgICAgIGRlZmF1bHQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAppbmRleCAzMWY3MWFlLi5mMWE3NmRm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklU
NjQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2
NC5jcHAKQEAgLTcxMSw2ICs3MTEsMTAgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6ZW1pdENhbGwo
Tm9kZSogbm9kZSkKICAgICBtX2ppdC5hZGRKU0NhbGwoZmFzdENhbGwsIHNsb3dDYWxsLCB0YXJn
ZXRUb0NoZWNrLCBjYWxsVHlwZSwgY2FsbGVlR1BSLCBtX2N1cnJlbnROb2RlLT5jb2RlT3JpZ2lu
KTsKIH0KIAorLy8gQ2xhbmcgc2hvdWxkIGFsbG93IHVucmVhY2hhYmxlIFtbY2xhbmc6OmZhbGx0
aHJvdWdoXV0gaW4gdGVtcGxhdGUgZnVuY3Rpb25zIGlmIGFueSB0ZW1wbGF0ZSBleHBhbnNpb24g
dXNlcyBpdAorLy8gaHR0cDovL2xsdm0ub3JnL2J1Z3Mvc2hvd19idWcuY2dpP2lkPTE4NjE5Cisj
cHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcHVzaAorI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGln
bm9yZWQgIi1XaW1wbGljaXQtZmFsbHRocm91Z2giCiB0ZW1wbGF0ZTxib29sIHN0cmljdD4KIEdQ
UlJlZyBTcGVjdWxhdGl2ZUpJVDo6ZmlsbFNwZWN1bGF0ZUludDMySW50ZXJuYWwoRWRnZSBlZGdl
LCBEYXRhRm9ybWF0JiByZXR1cm5Gb3JtYXQpCiB7CkBAIC03OTgsNiArODAyLDcgQEAgR1BSUmVn
IFNwZWN1bGF0aXZlSklUOjpmaWxsU3BlY3VsYXRlSW50MzJJbnRlcm5hbChFZGdlIGVkZ2UsIERh
dGFGb3JtYXQmIHJldHVybkYKICAgICAgICAgLy8gRmlsbCBhcyBKU1ZhbHVlLCBhbmQgZmFsbCB0
aHJvdWdoLgogICAgICAgICBpbmZvLmZpbGxKU1ZhbHVlKCptX3N0cmVhbSwgZ3ByLCBEYXRhRm9y
bWF0SlNJbnQzMik7CiAgICAgICAgIG1fZ3Bycy51bmxvY2soZ3ByKTsKKyAgICAgICAgRkFMTFRI
Uk9VR0g7CiAgICAgfQogCiAgICAgY2FzZSBEYXRhRm9ybWF0SlM6IHsKQEAgLTgxNSw2ICs4MjAs
NyBAQCBHUFJSZWcgU3BlY3VsYXRpdmVKSVQ6OmZpbGxTcGVjdWxhdGVJbnQzMkludGVybmFsKEVk
Z2UgZWRnZSwgRGF0YUZvcm1hdCYgcmV0dXJuRgogICAgICAgICB9CiAgICAgICAgIC8vIGVsc2Ug
ZmFsbCB0aHJvdWdoICYgaGFuZGxlIGFzIERhdGFGb3JtYXRKU0ludDMyLgogICAgICAgICBtX2dw
cnMudW5sb2NrKGdwcik7CisgICAgICAgIEZBTExUSFJPVUdIOwogICAgIH0KIAogICAgIGNhc2Ug
RGF0YUZvcm1hdEpTSW50MzI6IHsKQEAgLTg4OCw2ICs4OTQsNyBAQCBHUFJSZWcgU3BlY3VsYXRp
dmVKSVQ6OmZpbGxTcGVjdWxhdGVJbnQzMkludGVybmFsKEVkZ2UgZWRnZSwgRGF0YUZvcm1hdCYg
cmV0dXJuRgogICAgICAgICAgICAgcmV0dXJuRm9ybWF0ID0gRGF0YUZvcm1hdEludDMyOwogICAg
ICAgICAgICAgcmV0dXJuIGdwcjsKICAgICAgICAgfQorICAgICAgICBGQUxMVEhST1VHSDsKICAg
ICB9CiAgICAgY2FzZSBEYXRhRm9ybWF0Q2VsbDoKICAgICBjYXNlIERhdGFGb3JtYXRCb29sZWFu
OgpAQCAtOTA2LDYgKzkxMyw3IEBAIEdQUlJlZyBTcGVjdWxhdGl2ZUpJVDo6ZmlsbFNwZWN1bGF0
ZUludDMySW50ZXJuYWwoRWRnZSBlZGdlLCBEYXRhRm9ybWF0JiByZXR1cm5GCiAgICAgICAgIHJl
dHVybiBJbnZhbGlkR1BSUmVnOwogICAgIH0KIH0KKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBw
b3AKIAogR1BSUmVnIFNwZWN1bGF0aXZlSklUOjpmaWxsU3BlY3VsYXRlSW50MzIoRWRnZSBlZGdl
LCBEYXRhRm9ybWF0JiByZXR1cm5Gb3JtYXQpCiB7CkBAIC05ODYsNiArOTk0LDcgQEAgR1BSUmVn
IFNwZWN1bGF0aXZlSklUOjpmaWxsU3BlY3VsYXRlSW50NTIoRWRnZSBlZGdlLCBEYXRhRm9ybWF0
IGRlc2lyZWRGb3JtYXQpCiAgICAgICAgIC8vIEZpbGwgYXMgSlNWYWx1ZSwgYW5kIGZhbGwgdGhy
b3VnaC4KICAgICAgICAgaW5mby5maWxsSlNWYWx1ZSgqbV9zdHJlYW0sIGdwciwgRGF0YUZvcm1h
dEpTSW50MzIpOwogICAgICAgICBtX2dwcnMudW5sb2NrKGdwcik7CisgICAgICAgIEZBTExUSFJP
VUdIOwogICAgIH0KIAogICAgIGNhc2UgRGF0YUZvcm1hdEpTOiB7CkBAIC0xMDc2LDcgKzEwODUs
NyBAQCBHUFJSZWcgU3BlY3VsYXRpdmVKSVQ6OmZpbGxTcGVjdWxhdGVJbnQ1MihFZGdlIGVkZ2Us
IERhdGFGb3JtYXQgZGVzaXJlZEZvcm1hdCkKICAgICAgICAgICAgICAgICByZXR1cm4gZ3ByOwog
ICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgICAgIAorICAgICAgICBGQUxMVEhST1VHSDsK
ICAgICBjYXNlIERhdGFGb3JtYXRDZWxsOgogICAgIGNhc2UgRGF0YUZvcm1hdEJvb2xlYW46CiAg
ICAgY2FzZSBEYXRhRm9ybWF0SlNDZWxsOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdWYWxpZGF0ZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Zh
bGlkYXRlLmNwcAppbmRleCBhMGMzY2NlLi4wOWJlYTQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1ZhbGlkYXRlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1ZhbGlkYXRlLmNwcApAQCAtMzQxLDYgKzM0MSw3IEBAIHByaXZhdGU6CiAgICAg
ICAgICAgICAgICAgICAgIGNhc2UgUGhhbnRvbToKICAgICAgICAgICAgICAgICAgICAgICAgIGlm
IChtX2dyYXBoLm1fZm9ybSA9PSBMb2FkU3RvcmUgJiYgIWopCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgICAgICBGQUxMVEhST1VHSDsKICAg
ICAgICAgICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICAgICAgICAgIFZBTElE
QVRFKChub2RlLCBlZGdlKSwgIXBoaXNJblRoaXNCbG9jay5jb250YWlucyhlZGdlLm5vZGUoKSkp
OwogICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvTGV4ZXIuY3BwCmluZGV4IDIyMTFmNTUuLmNhNGJiNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvTGV4ZXIuY3BwCkBAIC0xNjA3LDcgKzE2MDcsNyBAQCBzdGFydDoKICAgICAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KLSAgICAgICAgLy8gRmFsbCB0aHJv
dWdoIGludG8gQ2hhcmFjdGVyTnVtYmVyCisgICAgICAgIEZBTExUSFJPVUdIOwogICAgIGNhc2Ug
Q2hhcmFjdGVyTnVtYmVyOgogICAgICAgICBpZiAoTElLRUxZKHRva2VuICE9IE5VTUJFUikpIHsK
ICAgICAgICAgICAgIGlmICghcGFyc2VEZWNpbWFsKHRva2VuRGF0YS0+ZG91YmxlVmFsdWUpKSB7
CkBAIC0xNjU2LDcgKzE2NTYsNyBAQCBpbk51bWJlckFmdGVyRGVjaW1hbFBvaW50OgogICAgICAg
ICBicmVhazsKICAgICBjYXNlIENoYXJhY3RlcklkZW50aWZpZXJTdGFydDoKICAgICAgICAgQVNT
RVJUKGlzSWRlbnRTdGFydChtX2N1cnJlbnQpKTsKLSAgICAgICAgLy8gRmFsbCB0aHJvdWdoIGlu
dG8gQ2hhcmFjdGVyQmFja1NsYXNoLgorICAgICAgICBGQUxMVEhST1VHSDsKICAgICBjYXNlIENo
YXJhY3RlckJhY2tTbGFzaDoKICAgICAgICAgaWYgKGxleGVyRmxhZ3MgJiBMZXhleEZsYWdzRG9u
dEJ1aWxkS2V5d29yZHMpCiAgICAgICAgICAgICB0b2tlbiA9IHBhcnNlSWRlbnRpZmllcjxmYWxz
ZT4odG9rZW5EYXRhLCBsZXhlckZsYWdzLCBzdHJpY3RNb2RlKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvUGFyc2VyLmNwcAppbmRleCBiZjU3ODAyLi4yOTc2NjZlIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCkBAIC0xMTMzLDYgKzExMzMsNyBAQCB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlU3RhdGVtZW50KFRyZQogICAgICAgICBpZiAoZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCkKICAg
ICAgICAgICAgICpkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoID0gbV90b2tlbi5tX2xvY2F0aW9uLmVu
ZE9mZnNldCAtIG1fdG9rZW4ubV9sb2NhdGlvbi5zdGFydE9mZnNldDsKICAgICAgICAgbm9uVHJp
dmlhbEV4cHJlc3Npb25Db3VudCA9IG1fbm9uVHJpdmlhbEV4cHJlc3Npb25Db3VudDsKKyAgICAg
ICAgRkFMTFRIUk9VR0g7CiAgICAgZGVmYXVsdDoKICAgICAgICAgVHJlZVN0YXRlbWVudCBleHBy
U3RhdGVtZW50ID0gcGFyc2VFeHByZXNzaW9uU3RhdGVtZW50KGNvbnRleHQpOwogICAgICAgICBp
ZiAoZGlyZWN0aXZlICYmIG5vblRyaXZpYWxFeHByZXNzaW9uQ291bnQgIT0gbV9ub25Ucml2aWFs
RXhwcmVzc2lvbkNvdW50KQpAQCAtMTY4MSw2ICsxNjgyLDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJvcGVydHko
VHJlZUIKICAgICBuYW1lZFByb3BlcnR5OgogICAgIGNhc2UgSURFTlQ6CiAgICAgICAgIHdhc0lk
ZW50ID0gdHJ1ZTsKKyAgICAgICAgRkFMTFRIUk9VR0g7CiAgICAgY2FzZSBTVFJJTkc6IHsKICAg
ICAgICAgY29uc3QgSWRlbnRpZmllciogaWRlbnQgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKICAg
ICAgICAgaWYgKGNvbXBsZXRlIHx8ICh3YXNJZGVudCAmJiAoKmlkZW50ID09IG1fdm0tPnByb3Bl
cnR5TmFtZXMtPmdldCB8fCAqaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+c2V0KSkpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5LmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuY3BwCmluZGV4IGNiNzI4Y2YuLjkw
MDdiNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXku
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuY3BwCkBAIC01
NDEsNyArNTQxLDcgQEAgdm9pZCBKU0FycmF5OjpwdXNoKEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1
ZSB2YWx1ZSkKICAgICBzd2l0Y2ggKHN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkgewogICAg
IGNhc2UgQXJyYXlDbGFzczogewogICAgICAgICBjcmVhdGVJbml0aWFsVW5kZWNpZGVkKGV4ZWMt
PnZtKCksIDApOwotICAgICAgICAvLyBGYWxsIHRocm91Z2guCisgICAgICAgIEZBTExUSFJPVUdI
OwogICAgIH0KICAgICAgICAgCiAgICAgY2FzZSBBcnJheVdpdGhVbmRlY2lkZWQ6IHsKQEAgLTYz
NSw3ICs2MzUsNyBAQCB2b2lkIEpTQXJyYXk6OnB1c2goRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVl
IHZhbHVlKQogICAgICAgICAgICAgICAgIHNldExlbmd0aChleGVjLCBvbGRMZW5ndGggKyAxLCB0
cnVlKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQotICAgICAgICAvLyBGYWxsIHRo
cm91Z2guCisgICAgICAgIEZBTExUSFJPVUdIOwogICAgIH0KICAgICAgICAgCiAgICAgY2FzZSBB
cnJheVdpdGhBcnJheVN0b3JhZ2U6IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTT05PYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNPTk9iamVjdC5jcHAKaW5kZXggNjE1N2JmMi4uOTgyNjI4OSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPTk9iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNPTk9iamVjdC5jcHAKQEAgLTY1OSw5ICs2NTksOSBAQCBORVZF
Ul9JTkxJTkUgSlNWYWx1ZSBXYWxrZXI6OndhbGsoSlNWYWx1ZSB1bmZpbHRlcmVkKQogICAgICAg
ICAgICAgICAgIEpTQXJyYXkqIGFycmF5ID0gYXNBcnJheShpblZhbHVlKTsKICAgICAgICAgICAg
ICAgICBhcnJheVN0YWNrLnB1c2goYXJyYXkpOwogICAgICAgICAgICAgICAgIGluZGV4U3RhY2su
YXBwZW5kKDApOwotICAgICAgICAgICAgICAgIC8vIGZhbGx0aHJvdWdoCiAgICAgICAgICAgICB9
CiAgICAgICAgICAgICBhcnJheVN0YXJ0VmlzaXRNZW1iZXI6CisgICAgICAgICAgICBGQUxMVEhS
T1VHSDsKICAgICAgICAgICAgIGNhc2UgQXJyYXlTdGFydFZpc2l0TWVtYmVyOiB7CiAgICAgICAg
ICAgICAgICAgSlNBcnJheSogYXJyYXkgPSBhcnJheVN0YWNrLnBlZWsoKTsKICAgICAgICAgICAg
ICAgICB1aW50MzJfdCBpbmRleCA9IGluZGV4U3RhY2subGFzdCgpOwpAQCAtNjg2LDcgKzY4Niw3
IEBAIE5FVkVSX0lOTElORSBKU1ZhbHVlIFdhbGtlcjo6d2FsayhKU1ZhbHVlIHVuZmlsdGVyZWQp
CiAgICAgICAgICAgICAgICAgICAgIGdvdG8gc3RhdGVVbmtub3duOwogICAgICAgICAgICAgICAg
IH0gZWxzZQogICAgICAgICAgICAgICAgICAgICBvdXRWYWx1ZSA9IGluVmFsdWU7Ci0gICAgICAg
ICAgICAgICAgLy8gZmFsbHRocm91Z2gKKyAgICAgICAgICAgICAgICBGQUxMVEhST1VHSDsKICAg
ICAgICAgICAgIH0KICAgICAgICAgICAgIGNhc2UgQXJyYXlFbmRWaXNpdE1lbWJlcjogewogICAg
ICAgICAgICAgICAgIEpTQXJyYXkqIGFycmF5ID0gYXJyYXlTdGFjay5wZWVrKCk7CkBAIC03MTIs
OSArNzEyLDkgQEAgTkVWRVJfSU5MSU5FIEpTVmFsdWUgV2Fsa2VyOjp3YWxrKEpTVmFsdWUgdW5m
aWx0ZXJlZCkKICAgICAgICAgICAgICAgICBpbmRleFN0YWNrLmFwcGVuZCgwKTsKICAgICAgICAg
ICAgICAgICBwcm9wZXJ0eVN0YWNrLmFwcGVuZChQcm9wZXJ0eU5hbWVBcnJheShtX2V4ZWMpKTsK
ICAgICAgICAgICAgICAgICBvYmplY3QtPm1ldGhvZFRhYmxlKCktPmdldE93blByb3BlcnR5TmFt
ZXMob2JqZWN0LCBtX2V4ZWMsIHByb3BlcnR5U3RhY2subGFzdCgpLCBFeGNsdWRlRG9udEVudW1Q
cm9wZXJ0aWVzKTsKLSAgICAgICAgICAgICAgICAvLyBmYWxsdGhyb3VnaAogICAgICAgICAgICAg
fQogICAgICAgICAgICAgb2JqZWN0U3RhcnRWaXNpdE1lbWJlcjoKKyAgICAgICAgICAgIEZBTExU
SFJPVUdIOwogICAgICAgICAgICAgY2FzZSBPYmplY3RTdGFydFZpc2l0TWVtYmVyOiB7CiAgICAg
ICAgICAgICAgICAgSlNPYmplY3QqIG9iamVjdCA9IG9iamVjdFN0YWNrLnBlZWsoKTsKICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBpbmRleCA9IGluZGV4U3RhY2subGFzdCgpOwpAQCAtNzQxLDcg
Kzc0MSw3IEBAIE5FVkVSX0lOTElORSBKU1ZhbHVlIFdhbGtlcjo6d2FsayhKU1ZhbHVlIHVuZmls
dGVyZWQpCiAgICAgICAgICAgICAgICAgICAgIGdvdG8gc3RhdGVVbmtub3duOwogICAgICAgICAg
ICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgICAgICBvdXRWYWx1ZSA9IGluVmFsdWU7Ci0g
ICAgICAgICAgICAgICAgLy8gZmFsbHRocm91Z2gKKyAgICAgICAgICAgICAgICBGQUxMVEhST1VH
SDsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGNhc2UgT2JqZWN0RW5kVmlzaXRNZW1iZXI6
IHsKICAgICAgICAgICAgICAgICBKU09iamVjdCogb2JqZWN0ID0gb2JqZWN0U3RhY2sucGVlaygp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCmluZGV4IGUzMjA4
ZmQuLjY5MTBiN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5j
cHAKQEAgLTQzOSw3ICs0MzksNyBAQCB2b2lkIEpTT2JqZWN0OjpwdXRCeUluZGV4KEpTQ2VsbCog
Y2VsbCwgRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsCiAgICAgICAgICAg
ICBwdXRCeUluZGV4KGNlbGwsIGV4ZWMsIHByb3BlcnR5TmFtZSwgdmFsdWUsIHNob3VsZFRocm93
KTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQotICAgICAgICAvLyBGYWxsIHRocm91
Z2guCisgICAgICAgIEZBTExUSFJPVUdIOwogICAgIH0KICAgICAgICAgCiAgICAgY2FzZSBBTExf
Q09OVElHVU9VU19JTkRFWElOR19UWVBFUzogewpAQCAtMjA0OCw3ICsyMDQ4LDcgQEAgdm9pZCBK
U09iamVjdDo6cHV0QnlJbmRleEJleW9uZFZlY3Rvckxlbmd0aChFeGVjU3RhdGUqIGV4ZWMsIHVu
c2lnbmVkIGksIEpTVmFsdWUKICAgICAgICAgU3BhcnNlQXJyYXlWYWx1ZU1hcCogbWFwID0gYXJy
YXlTdG9yYWdlKCktPm1fc3BhcnNlTWFwLmdldCgpOwogICAgICAgICBpZiAoIShtYXAgJiYgbWFw
LT5jb250YWlucyhpKSkgJiYgYXR0ZW1wdFRvSW50ZXJjZXB0UHV0QnlJbmRleE9uSG9sZShleGVj
LCBpLCB2YWx1ZSwgc2hvdWxkVGhyb3cpKQogICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAv
LyBPdGhlcndpc2UsIGZhbGwgdGhvdWdoLgorICAgICAgICBGQUxMVEhST1VHSDsKICAgICB9CiAK
ICAgICBjYXNlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU09iamVjdC5oCmluZGV4IGQ3ZGVhNjIuLjAyYjEzN2IgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaApAQCAtMzI4LDcgKzMyOCw3IEBAIHB1YmxpYzoK
ICAgICAgICAgICAgICAgICBjb252ZXJ0SW50MzJUb0RvdWJsZU9yQ29udGlndW91c1doaWxlUGVy
Zm9ybWluZ1NldEluZGV4KHZtLCBpLCB2KTsKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICAvLyBGYWxsIHRocm91Z2ggdG8gY29udGlndW91cyBjYXNl
LgorICAgICAgICAgICAgRkFMTFRIUk9VR0g7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBBTExf
Q09OVElHVU9VU19JTkRFWElOR19UWVBFUzogewogICAgICAgICAgICAgQVNTRVJUKGkgPCBtX2J1
dHRlcmZseS0+dmVjdG9yTGVuZ3RoKCkpOwpAQCAtMzg0LDcgKzM4NCw3IEBAIHB1YmxpYzoKICAg
ICAgICAgICAgICAgICBjb252ZXJ0SW50MzJUb0RvdWJsZU9yQ29udGlndW91c1doaWxlUGVyZm9y
bWluZ1NldEluZGV4KHZtLCBpLCB2KTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIC8vIEZhbGwgdGhyb3VnaC4KKyAgICAgICAgICAgIEZBTExUSFJP
VUdIOwogICAgICAgICB9CiAgICAgICAgIGNhc2UgQUxMX0NPTlRJR1VPVVNfSU5ERVhJTkdfVFlQ
RVM6IHsKICAgICAgICAgICAgIEFTU0VSVChpIDwgbV9idXR0ZXJmbHktPnB1YmxpY0xlbmd0aCgp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xpdGVyYWxQYXJz
ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTGl0ZXJhbFBhcnNlci5jcHAK
aW5kZXggZjU5NDUxOC4uMjFmNmNjMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvTGl0ZXJhbFBhcnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvTGl0ZXJhbFBhcnNlci5jcHAKQEAgLTU1NCw5ICs1NTQsOSBAQCBKU1ZhbHVlIExpdGVy
YWxQYXJzZXI8Q2hhclR5cGU+OjpwYXJzZShQYXJzZXJTdGF0ZSBpbml0aWFsU3RhdGUpCiAgICAg
ICAgICAgICBjYXNlIFN0YXJ0UGFyc2VBcnJheTogewogICAgICAgICAgICAgICAgIEpTQXJyYXkq
IGFycmF5ID0gY29uc3RydWN0RW1wdHlBcnJheShtX2V4ZWMsIDApOwogICAgICAgICAgICAgICAg
IG9iamVjdFN0YWNrLmFwcGVuZChhcnJheSk7Ci0gICAgICAgICAgICAgICAgLy8gZmFsbHRocm91
Z2gKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGRvUGFyc2VBcnJheVN0YXJ0RXhwcmVzc2lv
bjoKKyAgICAgICAgICAgIEZBTExUSFJPVUdIOwogICAgICAgICAgICAgY2FzZSBEb1BhcnNlQXJy
YXlTdGFydEV4cHJlc3Npb246IHsKICAgICAgICAgICAgICAgICBUb2tlblR5cGUgbGFzdFRva2Vu
ID0gbV9sZXhlci5jdXJyZW50VG9rZW4oKS50eXBlOwogICAgICAgICAgICAgICAgIGlmIChtX2xl
eGVyLm5leHQoKSA9PSBUb2tSQnJhY2tldCkgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3lhcnIvWWFyckludGVycHJldGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95
YXJyL1lhcnJJbnRlcnByZXRlci5jcHAKaW5kZXggZmIzYmE3ZS4uODY0NWI1ZiAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyckludGVycHJldGVyLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9ZYXJySW50ZXJwcmV0ZXIuY3BwCkBAIC03MDcsNiAr
NzA3LDcgQEAgcHVibGljOgogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIGNhc2Ug
UXVhbnRpZmllck5vbkdyZWVkeToKICAgICAgICAgICAgIEFTU0VSVChiYWNrVHJhY2stPmJlZ2lu
ICE9IG5vdEZvdW5kKTsKKyAgICAgICAgICAgIEZBTExUSFJPVUdIOwogICAgICAgICBjYXNlIFF1
YW50aWZpZXJGaXhlZENvdW50OgogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KQEAgLTcy
Nyw2ICs3MjgsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICAgICAgY29udGV4dC0+dGVybSAtPSB0
ZXJtLmF0b20ucGFyZW50aGVzZXNXaWR0aDsKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CiAgICAgICAgICAgICB9CisgICAgICAgICAgICBGQUxMVEhST1VHSDsKICAgICAgICAgY2FzZSBR
dWFudGlmaWVyTm9uR3JlZWR5OgogICAgICAgICAgICAgaWYgKGJhY2tUcmFjay0+YmVnaW4gPT0g
bm90Rm91bmQpIHsKICAgICAgICAgICAgICAgICBiYWNrVHJhY2stPmJlZ2luID0gaW5wdXQuZ2V0
UG9zKCk7CkBAIC03NDIsNiArNzQ0LDcgQEAgcHVibGljOgogICAgICAgICAgICAgICAgIGNvbnRl
eHQtPnRlcm0gLT0gdGVybS5hdG9tLnBhcmVudGhlc2VzV2lkdGg7CiAgICAgICAgICAgICAgICAg
cmV0dXJuIHRydWU7CiAgICAgICAgICAgICB9CisgICAgICAgICAgICBGQUxMVEhST1VHSDsKICAg
ICAgICAgY2FzZSBRdWFudGlmaWVyRml4ZWRDb3VudDoKICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9ZYXJyUGFyc2Vy
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9ZYXJyUGFyc2VyLmgKaW5kZXggOGM1ZDcx
Yi4uMzY2YWE0MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyclBh
cnNlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1lhcnJQYXJzZXIuaApAQCAt
MTE5LDYgKzExOSw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAg
ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgLy8gT3RoZXJ3aXNlIGp1c3QgZmFsbCB0
aHJvdWdoIC0gY2FjaGVkIGNoYXJhY3RlciBzbyB0cmVhdCB0aGlzIGFzIEVtcHR5LgorICAgICAg
ICAgICAgICAgIEZBTExUSFJPVUdIOwogCiAgICAgICAgICAgICBjYXNlIEVtcHR5OgogICAgICAg
ICAgICAgICAgIG1fY2hhcmFjdGVyID0gY2g7CkBAIC0xNjgsNyArMTY5LDcgQEAgcHJpdmF0ZToK
ICAgICAgICAgICAgIGNhc2UgQ2FjaGVkQ2hhcmFjdGVyOgogICAgICAgICAgICAgICAgIC8vIEZs
dXNoIHRoZSBjdXJyZW50bHkgY2FjaGVkIGNoYXJhY3RlciwgdGhlbiBmYWxsIHRocm91Z2guCiAg
ICAgICAgICAgICAgICAgbV9kZWxlZ2F0ZS5hdG9tQ2hhcmFjdGVyQ2xhc3NBdG9tKG1fY2hhcmFj
dGVyKTsKLQorICAgICAgICAgICAgICAgIEZBTExUSFJPVUdIOwogICAgICAgICAgICAgY2FzZSBF
bXB0eToKICAgICAgICAgICAgIGNhc2UgQWZ0ZXJDaGFyYWN0ZXJDbGFzczoKICAgICAgICAgICAg
ICAgICBtX3N0YXRlID0gQWZ0ZXJDaGFyYWN0ZXJDbGFzczsKQEAgLTE4Niw3ICsxODcsNyBAQCBw
cml2YXRlOgogICAgICAgICAgICAgY2FzZSBDYWNoZWRDaGFyYWN0ZXJIeXBoZW46CiAgICAgICAg
ICAgICAgICAgbV9kZWxlZ2F0ZS5hdG9tQ2hhcmFjdGVyQ2xhc3NBdG9tKG1fY2hhcmFjdGVyKTsK
ICAgICAgICAgICAgICAgICBtX2RlbGVnYXRlLmF0b21DaGFyYWN0ZXJDbGFzc0F0b20oJy0nKTsK
LSAgICAgICAgICAgICAgICAvLyBmYWxsIHRocm91Z2gKKyAgICAgICAgICAgICAgICBGQUxMVEhS
T1VHSDsKICAgICAgICAgICAgIGNhc2UgQWZ0ZXJDaGFyYWN0ZXJDbGFzc0h5cGhlbjoKICAgICAg
ICAgICAgICAgICBtX2RlbGVnYXRlLmF0b21DaGFyYWN0ZXJDbGFzc0J1aWx0SW4oY2xhc3NJRCwg
aW52ZXJ0KTsKICAgICAgICAgICAgICAgICBtX3N0YXRlID0gRW1wdHk7CkBAIC0zNDksNiArMzUw
LDcgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgLy8gRmFsbC10aHJv
dWdoIHRvIGhhbmRsZSB0aGlzIGFzIGFuIG9jdGFsIGVzY2FwZS4KKyAgICAgICAgICAgIEZBTExU
SFJPVUdIOwogICAgICAgICB9CiAKICAgICAgICAgLy8gT2N0YWwgZXNjYXBlCkBAIC02NTYsNyAr
NjU4LDkgQEAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAgICBy
ZXN0b3JlU3RhdGUoc3RhdGUpOwotICAgICAgICAgICAgfSAvLyBpZiB3ZSBkaWQgbm90IGZpbmQg
YSBjb21wbGV0ZSBxdWFudGlmZXIsIGZhbGwgdGhyb3VnaCB0byB0aGUgZGVmYXVsdCBjYXNlLgor
ICAgICAgICAgICAgfQorICAgICAgICAgICAgLy8gaWYgd2UgZGlkIG5vdCBmaW5kIGEgY29tcGxl
dGUgcXVhbnRpZmVyLCBmYWxsIHRocm91Z2ggdG8gdGhlIGRlZmF1bHQgY2FzZS4KKyAgICAgICAg
ICAgIEZBTExUSFJPVUdIOwogCiAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAg
IG1fZGVsZWdhdGUuYXRvbVBhdHRlcm5DaGFyYWN0ZXIoY29uc3VtZSgpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222268</attachid>
            <date>2014-01-26 02:42:14 -0800</date>
            <delta_ts>2014-01-26 08:44:20 -0800</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>jsc2.patch</filename>
            <type>text/plain</type>
            <size>18816</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDg1MzVmYzYuLmZkZDVlNjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDYxIEBACiAyMDE0LTAxLTI2ICBKb3NlcGggUGVjb3Jh
cm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKKyAgICAgICAgRW5hYmxlIC1XaW1wbGljaXQtZmFs
bHRocm91Z2ggYW5kIGFkZCBGQUxMVEhST1VHSCBhbm5vdGF0aW9uIHdoZXJlIG5lZWRlZAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3NjQ3CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRXhwbGljaXRseSBh
bm5vdGF0ZSBzd2l0Y2ggY2FzZSBmYWxsdGhyb3VnaHMgaW4gSmF2YVNjcmlwdENvcmUgYW5kCisg
ICAgICAgIGVuYWJsZSB3YXJuaW5ncyBmb3IgdW5hbm5vdGF0ZWQgZmFsbHRocm91Z2hzLgorCisg
ICAgICAgICogZGZnL0RGR0FyaXRoTW9kZS5oOgorICAgICAgICAoZG9lc092ZXJmbG93KToKKyAg
ICAgICAgT25seSBpbnNlcnQgRkFMTFRIUk9VR0ggaW4gcmVsZWFzZSBidWlsZHMuIEluIGRlYnVn
IGJ1aWxkcywgdGhlCisgICAgICAgIEZBTExUSFJPVUdIIHdvdWxkIGJlIHVucmVhY2hhYmxlIChk
dWUgdG8gdGhlIEFTU0VSVF9OT1RfUkVBQ0hFRCkKKyAgICAgICAgYW5kIHdvdWxkIHRocm91Z2gg
YSB3YXJuaW5nLgorCisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwOgorICAg
ICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpmaWxsU3BlY3VsYXRlSW50MzJJbnRlcm5h
bCk6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmZpbGxTcGVjdWxhdGVJbnQ1
Mik6CisgICAgICAgIER1ZSB0byB0aGUgdGVtcGxhdGl6ZWQgbmF0dXJlIG9mIHRoaXMgZnVuY3Rp
b24sIGEgZmFsbHRocm91Z2gKKyAgICAgICAgaW4gb25lIG9mIHRoZSB0ZW1wbGF0ZSBleGFuc2lv
bnMgd291bGQgYmUgdW5yZWFjaGFibGUuIERpc2FibGUKKyAgICAgICAgdGhlIHdhcm5pbmcgZm9y
IHRoaXMgZnVuY3Rpb24uCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmln
OgorICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5jcHA6CisgICAgICAgIChKU0M6OkNvZGVC
bG9jazo6Q29kZUJsb2NrKToKKyAgICAgICAgKiBkZmcvREZHQ0ZHU2ltcGxpZmljYXRpb25QaGFz
ZS5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6Q0ZHU2ltcGxpZmljYXRpb25QaGFzZTo6cnVuKToK
KyAgICAgICAgKiBkZmcvREZHVmFsaWRhdGUuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlZhbGlk
YXRlOjp2YWxpZGF0ZUNQUyk6CisgICAgICAgICogcGFyc2VyL0xleGVyLmNwcDoKKyAgICAgICAg
KEpTQzo6TGV4ZXI8VD46OmxleCk6CisgICAgICAgICogcGFyc2VyL1BhcnNlci5jcHA6CisgICAg
ICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudCk6CisgICAgICAgIChK
U0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5KToKKyAgICAgICAgKiBydW50aW1l
L0pTQXJyYXkuY3BwOgorICAgICAgICAoSlNDOjpKU0FycmF5OjpwdXNoKToKKyAgICAgICAgKiBy
dW50aW1lL0pTT05PYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpXYWxrZXI6OndhbGspOgorICAg
ICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6cHV0
QnlJbmRleCk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpwdXRCeUluZGV4QmV5b25kVmVjdG9y
TGVuZ3RoKToKKyAgICAgICAgKiBydW50aW1lL0pTT2JqZWN0Lmg6CisgICAgICAgIChKU0M6OkpT
T2JqZWN0OjpzZXRJbmRleFF1aWNrbHkpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6aW5pdGlh
bGl6ZUluZGV4KToKKyAgICAgICAgKiBydW50aW1lL0xpdGVyYWxQYXJzZXIuY3BwOgorICAgICAg
ICAoSlNDOjpMaXRlcmFsUGFyc2VyPENoYXJUeXBlPjo6cGFyc2UpOgorICAgICAgICAqIHlhcnIv
WWFyckludGVycHJldGVyLmNwcDoKKyAgICAgICAgKEpTQzo6WWFycjo6SW50ZXJwcmV0ZXI6OmJh
Y2t0cmFja1BhcmVudGhlc2VzT25jZUJlZ2luKToKKyAgICAgICAgKEpTQzo6WWFycjo6SW50ZXJw
cmV0ZXI6OmJhY2t0cmFja1BhcmVudGhlc2VzT25jZUVuZCk6CisgICAgICAgICogeWFyci9ZYXJy
UGFyc2VyLmg6CisgICAgICAgIChKU0M6OllhcnI6OlBhcnNlcjo6Q2hhcmFjdGVyQ2xhc3NQYXJz
ZXJEZWxlZ2F0ZTo6YXRvbVBhdHRlcm5DaGFyYWN0ZXIpOgorICAgICAgICAoSlNDOjpZYXJyOjpQ
YXJzZXI6OkNoYXJhY3RlckNsYXNzUGFyc2VyRGVsZWdhdGU6OmF0b21CdWlsdEluQ2hhcmFjdGVy
Q2xhc3MpOgorICAgICAgICAoSlNDOjpZYXJyOjpQYXJzZXI6OnBhcnNlRXNjYXBlKToKKyAgICAg
ICAgKEpTQzo6WWFycjo6UGFyc2VyOjpwYXJzZVRva2Vucyk6CisKKzIwMTQtMDEtMjYgIEpvc2Vw
aCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKwogICAgICAgICBXZWIgSW5zcGVjdG9y
OiBNb3ZlIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQgaW50byBKYXZhU2NyaXB0Q29yZQogICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3NjI5CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmln
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKaW5k
ZXggNmRiMWM0MS4uODEyMDM2MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0Nv
bmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0Nv
bmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKQEAgLTc3LDcgKzc3LDcgQEAgR0NDX1dBUk5fVU5V
U0VEX0ZVTkNUSU9OID0gWUVTOwogR0NDX1dBUk5fVU5VU0VEX1ZBUklBQkxFID0gWUVTOwogTElO
S0VSX0RJU1BMQVlTX01BTkdMRURfTkFNRVMgPSBZRVM7CiBQUkVCSU5ESU5HID0gTk87Ci1XQVJO
SU5HX0NGTEFHUyA9IC1XYWxsIC1XZXh0cmEgLVdjYXN0LXF1YWwgLVdjaGFyLXN1YnNjcmlwdHMg
LVdleHRyYS10b2tlbnMgLVdmb3JtYXQ9MiAtV2luaXQtc2VsZiAtV21pc3NpbmctZm9ybWF0LWF0
dHJpYnV0ZSAtV21pc3Npbmctbm9yZXR1cm4gLVdwYWNrZWQgLVdwb2ludGVyLWFyaXRoIC1XcmVk
dW5kYW50LWRlY2xzIC1XdW5kZWYgLVd3cml0ZS1zdHJpbmdzIC1XZXhpdC10aW1lLWRlc3RydWN0
b3JzIC1XZ2xvYmFsLWNvbnN0cnVjdG9ycyAtV3RhdXRvbG9naWNhbC1jb21wYXJlOworV0FSTklO
R19DRkxBR1MgPSAtV2FsbCAtV2V4dHJhIC1XY2FzdC1xdWFsIC1XY2hhci1zdWJzY3JpcHRzIC1X
ZXh0cmEtdG9rZW5zIC1XZm9ybWF0PTIgLVdpbml0LXNlbGYgLVdtaXNzaW5nLWZvcm1hdC1hdHRy
aWJ1dGUgLVdtaXNzaW5nLW5vcmV0dXJuIC1XcGFja2VkIC1XcG9pbnRlci1hcml0aCAtV3JlZHVu
ZGFudC1kZWNscyAtV3VuZGVmIC1Xd3JpdGUtc3RyaW5ncyAtV2V4aXQtdGltZS1kZXN0cnVjdG9y
cyAtV2dsb2JhbC1jb25zdHJ1Y3RvcnMgLVd0YXV0b2xvZ2ljYWwtY29tcGFyZSAtV2ltcGxpY2l0
LWZhbGx0aHJvdWdoOwogSEVBREVSX1NFQVJDSF9QQVRIUyA9IC4gaWN1ICIke0JVSUxUX1BST0RV
Q1RTX0RJUn0vdXNyL2xvY2FsL2luY2x1ZGUiICQoSEVBREVSX1NFQVJDSF9QQVRIUyk7CiAKIFRB
UkdFVF9NQUNfT1NfWF9WRVJTSU9OX01BSk9SID0gJChNQUNfT1NfWF9WRVJTSU9OX01BSk9SKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKaW5kZXggM2I1
NmYxNC4uMzBhOTg2ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0NvZGVCbG9jay5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVC
bG9jay5jcHAKQEAgLTE2NzYsNyArMTY3Niw3IEBAIENvZGVCbG9jazo6Q29kZUJsb2NrKFNjcmlw
dEV4ZWN1dGFibGUqIG93bmVyRXhlY3V0YWJsZSwgVW5saW5rZWRDb2RlQmxvY2sqIHVubGluCiAg
ICAgICAgICAgICBtX2FycmF5UHJvZmlsZXNbYXJyYXlQcm9maWxlSW5kZXhdID0gQXJyYXlQcm9m
aWxlKGkpOwogCiAgICAgICAgICAgICBpbnN0cnVjdGlvbnNbaSArIG9wTGVuZ3RoIC0gMl0gPSAm
bV9hcnJheVByb2ZpbGVzW2FycmF5UHJvZmlsZUluZGV4XTsKLSAgICAgICAgICAgIC8vIGZhbGx0
aHJvdWdoCisgICAgICAgICAgICBGQUxMVEhST1VHSDsKICAgICAgICAgfQogICAgICAgICBjYXNl
IG9wX2dldF9ieV9pZDoKICAgICAgICAgY2FzZSBvcF9jYWxsX3ZhcmFyZ3M6IHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQXJpdGhNb2RlLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0FyaXRoTW9kZS5oCmluZGV4IDA1YmFmOWUuLjA3M2VkNmEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQXJpdGhNb2RlLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBcml0aE1vZGUuaApAQCAtNDcsNiArNDcsOSBA
QCBpbmxpbmUgYm9vbCBkb2VzT3ZlcmZsb3coQXJpdGg6Ok1vZGUgbW9kZSkKICAgICBzd2l0Y2gg
KG1vZGUpIHsKICAgICBjYXNlIEFyaXRoOjpOb3RTZXQ6CiAgICAgICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOworI2lmIEFTU0VSVF9ESVNBQkxFRAorICAgICAgICBGQUxMVEhST1VHSDsKKyNlbmRp
ZgogICAgIGNhc2UgQXJpdGg6OlVuY2hlY2tlZDoKICAgICBjYXNlIEFyaXRoOjpDaGVja092ZXJm
bG93OgogICAgIGNhc2UgQXJpdGg6OkNoZWNrT3ZlcmZsb3dBbmROZWdhdGl2ZVplcm86CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NGR1NpbXBsaWZpY2F0aW9uUGhh
c2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDRkdTaW1wbGlmaWNhdGlvblBo
YXNlLmNwcAppbmRleCBmOGRiNWE4Li41ZGUzNmEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0NGR1NpbXBsaWZpY2F0aW9uUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHQ0ZHU2ltcGxpZmljYXRpb25QaGFzZS5jcHAKQEAgLTE4OCw2
ICsxODgsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICAgICAgICAgICAgICBpbm5lckNoYW5nZWQg
PSBvdXRlckNoYW5nZWQgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICBkZWZhdWx0
OgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VDY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5j
cHAKaW5kZXggMzFmNzFhZS4uMGFhNjRhNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCkBAIC03MTEsNiArNzExLDE0IEBAIHZvaWQg
U3BlY3VsYXRpdmVKSVQ6OmVtaXRDYWxsKE5vZGUqIG5vZGUpCiAgICAgbV9qaXQuYWRkSlNDYWxs
KGZhc3RDYWxsLCBzbG93Q2FsbCwgdGFyZ2V0VG9DaGVjaywgY2FsbFR5cGUsIGNhbGxlZUdQUiwg
bV9jdXJyZW50Tm9kZS0+Y29kZU9yaWdpbik7CiB9CiAKKy8vIENsYW5nIHNob3VsZCBhbGxvdyB1
bnJlYWNoYWJsZSBbW2NsYW5nOjpmYWxsdGhyb3VnaF1dIGluIHRlbXBsYXRlIGZ1bmN0aW9ucyBp
ZiBhbnkgdGVtcGxhdGUgZXhwYW5zaW9uIHVzZXMgaXQKKy8vIGh0dHA6Ly9sbHZtLm9yZy9idWdz
L3Nob3dfYnVnLmNnaT9pZD0xODYxOQorI2lmIENPTVBJTEVSKENMQU5HKSAmJiBkZWZpbmVkKF9f
aGFzX3dhcm5pbmcpCisjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcHVzaAorI2lmIF9faGFzX3dh
cm5pbmcoIi1XaW1wbGljaXQtZmFsbHRocm91Z2giKQorI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGlj
IGlnbm9yZWQgIi1XaW1wbGljaXQtZmFsbHRocm91Z2giCisjZW5kaWYKKyNlbmRpZgogdGVtcGxh
dGU8Ym9vbCBzdHJpY3Q+CiBHUFJSZWcgU3BlY3VsYXRpdmVKSVQ6OmZpbGxTcGVjdWxhdGVJbnQz
MkludGVybmFsKEVkZ2UgZWRnZSwgRGF0YUZvcm1hdCYgcmV0dXJuRm9ybWF0KQogewpAQCAtNzk4
LDYgKzgwNiw3IEBAIEdQUlJlZyBTcGVjdWxhdGl2ZUpJVDo6ZmlsbFNwZWN1bGF0ZUludDMySW50
ZXJuYWwoRWRnZSBlZGdlLCBEYXRhRm9ybWF0JiByZXR1cm5GCiAgICAgICAgIC8vIEZpbGwgYXMg
SlNWYWx1ZSwgYW5kIGZhbGwgdGhyb3VnaC4KICAgICAgICAgaW5mby5maWxsSlNWYWx1ZSgqbV9z
dHJlYW0sIGdwciwgRGF0YUZvcm1hdEpTSW50MzIpOwogICAgICAgICBtX2dwcnMudW5sb2NrKGdw
cik7CisgICAgICAgIEZBTExUSFJPVUdIOwogICAgIH0KIAogICAgIGNhc2UgRGF0YUZvcm1hdEpT
OiB7CkBAIC04MTUsNiArODI0LDcgQEAgR1BSUmVnIFNwZWN1bGF0aXZlSklUOjpmaWxsU3BlY3Vs
YXRlSW50MzJJbnRlcm5hbChFZGdlIGVkZ2UsIERhdGFGb3JtYXQmIHJldHVybkYKICAgICAgICAg
fQogICAgICAgICAvLyBlbHNlIGZhbGwgdGhyb3VnaCAmIGhhbmRsZSBhcyBEYXRhRm9ybWF0SlNJ
bnQzMi4KICAgICAgICAgbV9ncHJzLnVubG9jayhncHIpOworICAgICAgICBGQUxMVEhST1VHSDsK
ICAgICB9CiAKICAgICBjYXNlIERhdGFGb3JtYXRKU0ludDMyOiB7CkBAIC04ODgsNiArODk4LDcg
QEAgR1BSUmVnIFNwZWN1bGF0aXZlSklUOjpmaWxsU3BlY3VsYXRlSW50MzJJbnRlcm5hbChFZGdl
IGVkZ2UsIERhdGFGb3JtYXQmIHJldHVybkYKICAgICAgICAgICAgIHJldHVybkZvcm1hdCA9IERh
dGFGb3JtYXRJbnQzMjsKICAgICAgICAgICAgIHJldHVybiBncHI7CiAgICAgICAgIH0KKyAgICAg
ICAgRkFMTFRIUk9VR0g7CiAgICAgfQogICAgIGNhc2UgRGF0YUZvcm1hdENlbGw6CiAgICAgY2Fz
ZSBEYXRhRm9ybWF0Qm9vbGVhbjoKQEAgLTkwNiw2ICs5MTcsOSBAQCBHUFJSZWcgU3BlY3VsYXRp
dmVKSVQ6OmZpbGxTcGVjdWxhdGVJbnQzMkludGVybmFsKEVkZ2UgZWRnZSwgRGF0YUZvcm1hdCYg
cmV0dXJuRgogICAgICAgICByZXR1cm4gSW52YWxpZEdQUlJlZzsKICAgICB9CiB9CisjaWYgQ09N
UElMRVIoQ0xBTkcpICYmIGRlZmluZWQoX19oYXNfd2FybmluZykKKyNwcmFnbWEgY2xhbmcgZGlh
Z25vc3RpYyBwb3AKKyNlbmRpZgogCiBHUFJSZWcgU3BlY3VsYXRpdmVKSVQ6OmZpbGxTcGVjdWxh
dGVJbnQzMihFZGdlIGVkZ2UsIERhdGFGb3JtYXQmIHJldHVybkZvcm1hdCkKIHsKQEAgLTk4Niw2
ICsxMDAwLDcgQEAgR1BSUmVnIFNwZWN1bGF0aXZlSklUOjpmaWxsU3BlY3VsYXRlSW50NTIoRWRn
ZSBlZGdlLCBEYXRhRm9ybWF0IGRlc2lyZWRGb3JtYXQpCiAgICAgICAgIC8vIEZpbGwgYXMgSlNW
YWx1ZSwgYW5kIGZhbGwgdGhyb3VnaC4KICAgICAgICAgaW5mby5maWxsSlNWYWx1ZSgqbV9zdHJl
YW0sIGdwciwgRGF0YUZvcm1hdEpTSW50MzIpOwogICAgICAgICBtX2dwcnMudW5sb2NrKGdwcik7
CisgICAgICAgIEZBTExUSFJPVUdIOwogICAgIH0KIAogICAgIGNhc2UgRGF0YUZvcm1hdEpTOiB7
CkBAIC0xMDc2LDcgKzEwOTEsNyBAQCBHUFJSZWcgU3BlY3VsYXRpdmVKSVQ6OmZpbGxTcGVjdWxh
dGVJbnQ1MihFZGdlIGVkZ2UsIERhdGFGb3JtYXQgZGVzaXJlZEZvcm1hdCkKICAgICAgICAgICAg
ICAgICByZXR1cm4gZ3ByOwogICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgICAgIAorICAg
ICAgICBGQUxMVEhST1VHSDsKICAgICBjYXNlIERhdGFGb3JtYXRDZWxsOgogICAgIGNhc2UgRGF0
YUZvcm1hdEJvb2xlYW46CiAgICAgY2FzZSBEYXRhRm9ybWF0SlNDZWxsOgpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdWYWxpZGF0ZS5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1ZhbGlkYXRlLmNwcAppbmRleCBhMGMzY2NlLi4wOWJlYTQwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ZhbGlkYXRlLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ZhbGlkYXRlLmNwcApAQCAtMzQxLDYgKzM0MSw3
IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAgICAgIGNhc2UgUGhhbnRvbToKICAgICAgICAg
ICAgICAgICAgICAgICAgIGlmIChtX2dyYXBoLm1fZm9ybSA9PSBMb2FkU3RvcmUgJiYgIWopCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgICAg
ICBGQUxMVEhST1VHSDsKICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAg
ICAgICAgICAgICAgIFZBTElEQVRFKChub2RlLCBlZGdlKSwgIXBoaXNJblRoaXNCbG9jay5jb250
YWlucyhlZGdlLm5vZGUoKSkpOwogICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCmluZGV4IDIyMTFmNTUuLmNhNGJiNGYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCkBAIC0xNjA3LDcgKzE2MDcsNyBA
QCBzdGFydDoKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KLSAg
ICAgICAgLy8gRmFsbCB0aHJvdWdoIGludG8gQ2hhcmFjdGVyTnVtYmVyCisgICAgICAgIEZBTExU
SFJPVUdIOwogICAgIGNhc2UgQ2hhcmFjdGVyTnVtYmVyOgogICAgICAgICBpZiAoTElLRUxZKHRv
a2VuICE9IE5VTUJFUikpIHsKICAgICAgICAgICAgIGlmICghcGFyc2VEZWNpbWFsKHRva2VuRGF0
YS0+ZG91YmxlVmFsdWUpKSB7CkBAIC0xNjU2LDcgKzE2NTYsNyBAQCBpbk51bWJlckFmdGVyRGVj
aW1hbFBvaW50OgogICAgICAgICBicmVhazsKICAgICBjYXNlIENoYXJhY3RlcklkZW50aWZpZXJT
dGFydDoKICAgICAgICAgQVNTRVJUKGlzSWRlbnRTdGFydChtX2N1cnJlbnQpKTsKLSAgICAgICAg
Ly8gRmFsbCB0aHJvdWdoIGludG8gQ2hhcmFjdGVyQmFja1NsYXNoLgorICAgICAgICBGQUxMVEhS
T1VHSDsKICAgICBjYXNlIENoYXJhY3RlckJhY2tTbGFzaDoKICAgICAgICAgaWYgKGxleGVyRmxh
Z3MgJiBMZXhleEZsYWdzRG9udEJ1aWxkS2V5d29yZHMpCiAgICAgICAgICAgICB0b2tlbiA9IHBh
cnNlSWRlbnRpZmllcjxmYWxzZT4odG9rZW5EYXRhLCBsZXhlckZsYWdzLCBzdHJpY3RNb2RlKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAppbmRleCBiZjU3ODAyLi4yOTc2
NjZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCkBAIC0xMTMzLDYg
KzExMzMsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFy
c2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZQogICAgICAgICBpZiAoZGlyZWN0aXZl
TGl0ZXJhbExlbmd0aCkKICAgICAgICAgICAgICpkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoID0gbV90
b2tlbi5tX2xvY2F0aW9uLmVuZE9mZnNldCAtIG1fdG9rZW4ubV9sb2NhdGlvbi5zdGFydE9mZnNl
dDsKICAgICAgICAgbm9uVHJpdmlhbEV4cHJlc3Npb25Db3VudCA9IG1fbm9uVHJpdmlhbEV4cHJl
c3Npb25Db3VudDsKKyAgICAgICAgRkFMTFRIUk9VR0g7CiAgICAgZGVmYXVsdDoKICAgICAgICAg
VHJlZVN0YXRlbWVudCBleHByU3RhdGVtZW50ID0gcGFyc2VFeHByZXNzaW9uU3RhdGVtZW50KGNv
bnRleHQpOwogICAgICAgICBpZiAoZGlyZWN0aXZlICYmIG5vblRyaXZpYWxFeHByZXNzaW9uQ291
bnQgIT0gbV9ub25Ucml2aWFsRXhwcmVzc2lvbkNvdW50KQpAQCAtMTY4MSw2ICsxNjgyLDcgQEAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkgUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlUHJvcGVydHkoVHJlZUIKICAgICBuYW1lZFByb3BlcnR5OgogICAgIGNhc2UgSURF
TlQ6CiAgICAgICAgIHdhc0lkZW50ID0gdHJ1ZTsKKyAgICAgICAgRkFMTFRIUk9VR0g7CiAgICAg
Y2FzZSBTVFJJTkc6IHsKICAgICAgICAgY29uc3QgSWRlbnRpZmllciogaWRlbnQgPSBtX3Rva2Vu
Lm1fZGF0YS5pZGVudDsKICAgICAgICAgaWYgKGNvbXBsZXRlIHx8ICh3YXNJZGVudCAmJiAoKmlk
ZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmdldCB8fCAqaWRlbnQgPT0gbV92bS0+cHJvcGVy
dHlOYW1lcy0+c2V0KSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0FycmF5LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuY3Bw
CmluZGV4IGNiNzI4Y2YuLjkwMDdiNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTQXJyYXkuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTQXJyYXkuY3BwCkBAIC01NDEsNyArNTQxLDcgQEAgdm9pZCBKU0FycmF5OjpwdXNoKEV4ZWNT
dGF0ZSogZXhlYywgSlNWYWx1ZSB2YWx1ZSkKICAgICBzd2l0Y2ggKHN0cnVjdHVyZSgpLT5pbmRl
eGluZ1R5cGUoKSkgewogICAgIGNhc2UgQXJyYXlDbGFzczogewogICAgICAgICBjcmVhdGVJbml0
aWFsVW5kZWNpZGVkKGV4ZWMtPnZtKCksIDApOwotICAgICAgICAvLyBGYWxsIHRocm91Z2guCisg
ICAgICAgIEZBTExUSFJPVUdIOwogICAgIH0KICAgICAgICAgCiAgICAgY2FzZSBBcnJheVdpdGhV
bmRlY2lkZWQ6IHsKQEAgLTYzNSw3ICs2MzUsNyBAQCB2b2lkIEpTQXJyYXk6OnB1c2goRXhlY1N0
YXRlKiBleGVjLCBKU1ZhbHVlIHZhbHVlKQogICAgICAgICAgICAgICAgIHNldExlbmd0aChleGVj
LCBvbGRMZW5ndGggKyAxLCB0cnVlKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQot
ICAgICAgICAvLyBGYWxsIHRocm91Z2guCisgICAgICAgIEZBTExUSFJPVUdIOwogICAgIH0KICAg
ICAgICAgCiAgICAgY2FzZSBBcnJheVdpdGhBcnJheVN0b3JhZ2U6IHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNPTk9iamVjdC5jcHAKaW5kZXggNjE1N2JmMi4uOTgyNjI4OSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPTk9iamVjdC5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPTk9iamVjdC5jcHAKQEAgLTY1
OSw5ICs2NTksOSBAQCBORVZFUl9JTkxJTkUgSlNWYWx1ZSBXYWxrZXI6OndhbGsoSlNWYWx1ZSB1
bmZpbHRlcmVkKQogICAgICAgICAgICAgICAgIEpTQXJyYXkqIGFycmF5ID0gYXNBcnJheShpblZh
bHVlKTsKICAgICAgICAgICAgICAgICBhcnJheVN0YWNrLnB1c2goYXJyYXkpOwogICAgICAgICAg
ICAgICAgIGluZGV4U3RhY2suYXBwZW5kKDApOwotICAgICAgICAgICAgICAgIC8vIGZhbGx0aHJv
dWdoCiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBhcnJheVN0YXJ0VmlzaXRNZW1iZXI6Cisg
ICAgICAgICAgICBGQUxMVEhST1VHSDsKICAgICAgICAgICAgIGNhc2UgQXJyYXlTdGFydFZpc2l0
TWVtYmVyOiB7CiAgICAgICAgICAgICAgICAgSlNBcnJheSogYXJyYXkgPSBhcnJheVN0YWNrLnBl
ZWsoKTsKICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbmRleCA9IGluZGV4U3RhY2subGFzdCgp
OwpAQCAtNjg2LDcgKzY4Niw3IEBAIE5FVkVSX0lOTElORSBKU1ZhbHVlIFdhbGtlcjo6d2FsayhK
U1ZhbHVlIHVuZmlsdGVyZWQpCiAgICAgICAgICAgICAgICAgICAgIGdvdG8gc3RhdGVVbmtub3du
OwogICAgICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgICAgICBvdXRWYWx1ZSA9
IGluVmFsdWU7Ci0gICAgICAgICAgICAgICAgLy8gZmFsbHRocm91Z2gKKyAgICAgICAgICAgICAg
ICBGQUxMVEhST1VHSDsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGNhc2UgQXJyYXlFbmRW
aXNpdE1lbWJlcjogewogICAgICAgICAgICAgICAgIEpTQXJyYXkqIGFycmF5ID0gYXJyYXlTdGFj
ay5wZWVrKCk7CkBAIC03MTIsOSArNzEyLDkgQEAgTkVWRVJfSU5MSU5FIEpTVmFsdWUgV2Fsa2Vy
Ojp3YWxrKEpTVmFsdWUgdW5maWx0ZXJlZCkKICAgICAgICAgICAgICAgICBpbmRleFN0YWNrLmFw
cGVuZCgwKTsKICAgICAgICAgICAgICAgICBwcm9wZXJ0eVN0YWNrLmFwcGVuZChQcm9wZXJ0eU5h
bWVBcnJheShtX2V4ZWMpKTsKICAgICAgICAgICAgICAgICBvYmplY3QtPm1ldGhvZFRhYmxlKCkt
PmdldE93blByb3BlcnR5TmFtZXMob2JqZWN0LCBtX2V4ZWMsIHByb3BlcnR5U3RhY2subGFzdCgp
LCBFeGNsdWRlRG9udEVudW1Qcm9wZXJ0aWVzKTsKLSAgICAgICAgICAgICAgICAvLyBmYWxsdGhy
b3VnaAogICAgICAgICAgICAgfQogICAgICAgICAgICAgb2JqZWN0U3RhcnRWaXNpdE1lbWJlcjoK
KyAgICAgICAgICAgIEZBTExUSFJPVUdIOwogICAgICAgICAgICAgY2FzZSBPYmplY3RTdGFydFZp
c2l0TWVtYmVyOiB7CiAgICAgICAgICAgICAgICAgSlNPYmplY3QqIG9iamVjdCA9IG9iamVjdFN0
YWNrLnBlZWsoKTsKICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbmRleCA9IGluZGV4U3RhY2su
bGFzdCgpOwpAQCAtNzQxLDcgKzc0MSw3IEBAIE5FVkVSX0lOTElORSBKU1ZhbHVlIFdhbGtlcjo6
d2FsayhKU1ZhbHVlIHVuZmlsdGVyZWQpCiAgICAgICAgICAgICAgICAgICAgIGdvdG8gc3RhdGVV
bmtub3duOwogICAgICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgICAgICBvdXRW
YWx1ZSA9IGluVmFsdWU7Ci0gICAgICAgICAgICAgICAgLy8gZmFsbHRocm91Z2gKKyAgICAgICAg
ICAgICAgICBGQUxMVEhST1VHSDsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGNhc2UgT2Jq
ZWN0RW5kVmlzaXRNZW1iZXI6IHsKICAgICAgICAgICAgICAgICBKU09iamVjdCogb2JqZWN0ID0g
b2JqZWN0U3RhY2sucGVlaygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNPYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmpl
Y3QuY3BwCmluZGV4IGUzMjA4ZmQuLjY5MTBiN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU09iamVjdC5jcHAKQEAgLTQzOSw3ICs0MzksNyBAQCB2b2lkIEpTT2JqZWN0Ojpw
dXRCeUluZGV4KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBwcm9wZXJ0
eU5hbWUsCiAgICAgICAgICAgICBwdXRCeUluZGV4KGNlbGwsIGV4ZWMsIHByb3BlcnR5TmFtZSwg
dmFsdWUsIHNob3VsZFRocm93KTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQotICAg
ICAgICAvLyBGYWxsIHRocm91Z2guCisgICAgICAgIEZBTExUSFJPVUdIOwogICAgIH0KICAgICAg
ICAgCiAgICAgY2FzZSBBTExfQ09OVElHVU9VU19JTkRFWElOR19UWVBFUzogewpAQCAtMjA0OCw3
ICsyMDQ4LDcgQEAgdm9pZCBKU09iamVjdDo6cHV0QnlJbmRleEJleW9uZFZlY3Rvckxlbmd0aChF
eGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIGksIEpTVmFsdWUKICAgICAgICAgU3BhcnNlQXJyYXlW
YWx1ZU1hcCogbWFwID0gYXJyYXlTdG9yYWdlKCktPm1fc3BhcnNlTWFwLmdldCgpOwogICAgICAg
ICBpZiAoIShtYXAgJiYgbWFwLT5jb250YWlucyhpKSkgJiYgYXR0ZW1wdFRvSW50ZXJjZXB0UHV0
QnlJbmRleE9uSG9sZShleGVjLCBpLCB2YWx1ZSwgc2hvdWxkVGhyb3cpKQogICAgICAgICAgICAg
cmV0dXJuOwotICAgICAgICAvLyBPdGhlcndpc2UsIGZhbGwgdGhvdWdoLgorICAgICAgICBGQUxM
VEhST1VHSDsKICAgICB9CiAKICAgICBjYXNlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCmluZGV4IGQ3ZGVhNjIuLjAyYjEz
N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaApAQCAtMzI4LDcg
KzMyOCw3IEBAIHB1YmxpYzoKICAgICAgICAgICAgICAgICBjb252ZXJ0SW50MzJUb0RvdWJsZU9y
Q29udGlndW91c1doaWxlUGVyZm9ybWluZ1NldEluZGV4KHZtLCBpLCB2KTsKICAgICAgICAgICAg
ICAgICByZXR1cm47CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAvLyBGYWxsIHRocm91Z2gg
dG8gY29udGlndW91cyBjYXNlLgorICAgICAgICAgICAgRkFMTFRIUk9VR0g7CiAgICAgICAgIH0K
ICAgICAgICAgY2FzZSBBTExfQ09OVElHVU9VU19JTkRFWElOR19UWVBFUzogewogICAgICAgICAg
ICAgQVNTRVJUKGkgPCBtX2J1dHRlcmZseS0+dmVjdG9yTGVuZ3RoKCkpOwpAQCAtMzg0LDcgKzM4
NCw3IEBAIHB1YmxpYzoKICAgICAgICAgICAgICAgICBjb252ZXJ0SW50MzJUb0RvdWJsZU9yQ29u
dGlndW91c1doaWxlUGVyZm9ybWluZ1NldEluZGV4KHZtLCBpLCB2KTsKICAgICAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIC8vIEZhbGwgdGhyb3VnaC4KKyAg
ICAgICAgICAgIEZBTExUSFJPVUdIOwogICAgICAgICB9CiAgICAgICAgIGNhc2UgQUxMX0NPTlRJ
R1VPVVNfSU5ERVhJTkdfVFlQRVM6IHsKICAgICAgICAgICAgIEFTU0VSVChpIDwgbV9idXR0ZXJm
bHktPnB1YmxpY0xlbmd0aCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0xpdGVyYWxQYXJzZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
TGl0ZXJhbFBhcnNlci5jcHAKaW5kZXggZjU5NDUxOC4uMjFmNmNjMyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTGl0ZXJhbFBhcnNlci5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTGl0ZXJhbFBhcnNlci5jcHAKQEAgLTU1NCw5ICs1NTQs
OSBAQCBKU1ZhbHVlIExpdGVyYWxQYXJzZXI8Q2hhclR5cGU+OjpwYXJzZShQYXJzZXJTdGF0ZSBp
bml0aWFsU3RhdGUpCiAgICAgICAgICAgICBjYXNlIFN0YXJ0UGFyc2VBcnJheTogewogICAgICAg
ICAgICAgICAgIEpTQXJyYXkqIGFycmF5ID0gY29uc3RydWN0RW1wdHlBcnJheShtX2V4ZWMsIDAp
OwogICAgICAgICAgICAgICAgIG9iamVjdFN0YWNrLmFwcGVuZChhcnJheSk7Ci0gICAgICAgICAg
ICAgICAgLy8gZmFsbHRocm91Z2gKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGRvUGFyc2VB
cnJheVN0YXJ0RXhwcmVzc2lvbjoKKyAgICAgICAgICAgIEZBTExUSFJPVUdIOwogICAgICAgICAg
ICAgY2FzZSBEb1BhcnNlQXJyYXlTdGFydEV4cHJlc3Npb246IHsKICAgICAgICAgICAgICAgICBU
b2tlblR5cGUgbGFzdFRva2VuID0gbV9sZXhlci5jdXJyZW50VG9rZW4oKS50eXBlOwogICAgICAg
ICAgICAgICAgIGlmIChtX2xleGVyLm5leHQoKSA9PSBUb2tSQnJhY2tldCkgewpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyckludGVycHJldGVyLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS95YXJyL1lhcnJJbnRlcnByZXRlci5jcHAKaW5kZXggZmIzYmE3ZS4u
ODY0NWI1ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyckludGVy
cHJldGVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9ZYXJySW50ZXJwcmV0
ZXIuY3BwCkBAIC03MDcsNiArNzA3LDcgQEAgcHVibGljOgogICAgICAgICAgICAgcmV0dXJuIHRy
dWU7CiAgICAgICAgIGNhc2UgUXVhbnRpZmllck5vbkdyZWVkeToKICAgICAgICAgICAgIEFTU0VS
VChiYWNrVHJhY2stPmJlZ2luICE9IG5vdEZvdW5kKTsKKyAgICAgICAgICAgIEZBTExUSFJPVUdI
OwogICAgICAgICBjYXNlIFF1YW50aWZpZXJGaXhlZENvdW50OgogICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIH0KQEAgLTcyNyw2ICs3MjgsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICAgICAg
Y29udGV4dC0+dGVybSAtPSB0ZXJtLmF0b20ucGFyZW50aGVzZXNXaWR0aDsKICAgICAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICB9CisgICAgICAgICAgICBGQUxMVEhST1VH
SDsKICAgICAgICAgY2FzZSBRdWFudGlmaWVyTm9uR3JlZWR5OgogICAgICAgICAgICAgaWYgKGJh
Y2tUcmFjay0+YmVnaW4gPT0gbm90Rm91bmQpIHsKICAgICAgICAgICAgICAgICBiYWNrVHJhY2st
PmJlZ2luID0gaW5wdXQuZ2V0UG9zKCk7CkBAIC03NDIsNiArNzQ0LDcgQEAgcHVibGljOgogICAg
ICAgICAgICAgICAgIGNvbnRleHQtPnRlcm0gLT0gdGVybS5hdG9tLnBhcmVudGhlc2VzV2lkdGg7
CiAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICB9CisgICAgICAgICAg
ICBGQUxMVEhST1VHSDsKICAgICAgICAgY2FzZSBRdWFudGlmaWVyRml4ZWRDb3VudDoKICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUveWFyci9ZYXJyUGFyc2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9ZYXJyUGFy
c2VyLmgKaW5kZXggOGM1ZDcxYi4uMzY2YWE0MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3lhcnIvWWFyclBhcnNlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJy
L1lhcnJQYXJzZXIuaApAQCAtMTE5LDYgKzExOSw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAg
ICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgLy8gT3Ro
ZXJ3aXNlIGp1c3QgZmFsbCB0aHJvdWdoIC0gY2FjaGVkIGNoYXJhY3RlciBzbyB0cmVhdCB0aGlz
IGFzIEVtcHR5LgorICAgICAgICAgICAgICAgIEZBTExUSFJPVUdIOwogCiAgICAgICAgICAgICBj
YXNlIEVtcHR5OgogICAgICAgICAgICAgICAgIG1fY2hhcmFjdGVyID0gY2g7CkBAIC0xNjgsNyAr
MTY5LDcgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIGNhc2UgQ2FjaGVkQ2hhcmFjdGVyOgogICAg
ICAgICAgICAgICAgIC8vIEZsdXNoIHRoZSBjdXJyZW50bHkgY2FjaGVkIGNoYXJhY3RlciwgdGhl
biBmYWxsIHRocm91Z2guCiAgICAgICAgICAgICAgICAgbV9kZWxlZ2F0ZS5hdG9tQ2hhcmFjdGVy
Q2xhc3NBdG9tKG1fY2hhcmFjdGVyKTsKLQorICAgICAgICAgICAgICAgIEZBTExUSFJPVUdIOwog
ICAgICAgICAgICAgY2FzZSBFbXB0eToKICAgICAgICAgICAgIGNhc2UgQWZ0ZXJDaGFyYWN0ZXJD
bGFzczoKICAgICAgICAgICAgICAgICBtX3N0YXRlID0gQWZ0ZXJDaGFyYWN0ZXJDbGFzczsKQEAg
LTE4Niw3ICsxODcsNyBAQCBwcml2YXRlOgogICAgICAgICAgICAgY2FzZSBDYWNoZWRDaGFyYWN0
ZXJIeXBoZW46CiAgICAgICAgICAgICAgICAgbV9kZWxlZ2F0ZS5hdG9tQ2hhcmFjdGVyQ2xhc3NB
dG9tKG1fY2hhcmFjdGVyKTsKICAgICAgICAgICAgICAgICBtX2RlbGVnYXRlLmF0b21DaGFyYWN0
ZXJDbGFzc0F0b20oJy0nKTsKLSAgICAgICAgICAgICAgICAvLyBmYWxsIHRocm91Z2gKKyAgICAg
ICAgICAgICAgICBGQUxMVEhST1VHSDsKICAgICAgICAgICAgIGNhc2UgQWZ0ZXJDaGFyYWN0ZXJD
bGFzc0h5cGhlbjoKICAgICAgICAgICAgICAgICBtX2RlbGVnYXRlLmF0b21DaGFyYWN0ZXJDbGFz
c0J1aWx0SW4oY2xhc3NJRCwgaW52ZXJ0KTsKICAgICAgICAgICAgICAgICBtX3N0YXRlID0gRW1w
dHk7CkBAIC0zNDksNiArMzUwLDcgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIH0KIAogICAgICAg
ICAgICAgLy8gRmFsbC10aHJvdWdoIHRvIGhhbmRsZSB0aGlzIGFzIGFuIG9jdGFsIGVzY2FwZS4K
KyAgICAgICAgICAgIEZBTExUSFJPVUdIOwogICAgICAgICB9CiAKICAgICAgICAgLy8gT2N0YWwg
ZXNjYXBlCkBAIC02NTYsNyArNjU4LDkgQEAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICB9CiAK
ICAgICAgICAgICAgICAgICByZXN0b3JlU3RhdGUoc3RhdGUpOwotICAgICAgICAgICAgfSAvLyBp
ZiB3ZSBkaWQgbm90IGZpbmQgYSBjb21wbGV0ZSBxdWFudGlmZXIsIGZhbGwgdGhyb3VnaCB0byB0
aGUgZGVmYXVsdCBjYXNlLgorICAgICAgICAgICAgfQorICAgICAgICAgICAgLy8gaWYgd2UgZGlk
IG5vdCBmaW5kIGEgY29tcGxldGUgcXVhbnRpZmVyLCBmYWxsIHRocm91Z2ggdG8gdGhlIGRlZmF1
bHQgY2FzZS4KKyAgICAgICAgICAgIEZBTExUSFJPVUdIOwogCiAgICAgICAgICAgICBkZWZhdWx0
OgogICAgICAgICAgICAgICAgIG1fZGVsZWdhdGUuYXRvbVBhdHRlcm5DaGFyYWN0ZXIoY29uc3Vt
ZSgpKTsK
</data>
<flag name="review"
          id="246245"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>