<?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>178159</bug_id>
          
          <creation_ts>2017-10-11 00:16:48 -0700</creation_ts>
          <short_desc>[Payment Request] Implement Apple Pay merchant validation</short_desc>
          <delta_ts>2019-05-02 16:18:20 -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>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>174796</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Andy Estes">aestes</reporter>
          <assigned_to name="Andy Estes">aestes</assigned_to>
          <cc>achristensen</cc>
    
    <cc>ashwinkumar9944</cc>
    
    <cc>beidson</cc>
    
    <cc>buildbot</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>sam</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1359075</commentid>
    <comment_count>0</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2017-10-11 00:16:48 -0700</bug_when>
    <thetext>[Payment Request] Implement Apple Pay merchant validation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1359076</commentid>
    <comment_count>1</comment_count>
      <attachid>323394</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2017-10-11 00:37:36 -0700</bug_when>
    <thetext>Created attachment 323394
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1359078</commentid>
    <comment_count>2</comment_count>
      <attachid>323395</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2017-10-11 00:43:25 -0700</bug_when>
    <thetext>Created attachment 323395
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1359217</commentid>
    <comment_count>3</comment_count>
      <attachid>323421</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2017-10-11 09:35:00 -0700</bug_when>
    <thetext>Created attachment 323421
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1359244</commentid>
    <comment_count>4</comment_count>
      <attachid>323421</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-11 10:48:30 -0700</bug_when>
    <thetext>Comment on attachment 323421
Patch

Clearing flags on attachment: 323421

Committed r223193: &lt;https://trac.webkit.org/changeset/223193&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1359245</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-11 10:48:32 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1359247</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-10-11 10:50:43 -0700</bug_when>
    <thetext>&lt;rdar://problem/34936548&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>323394</attachid>
            <date>2017-10-11 00:37:36 -0700</date>
            <delta_ts>2017-10-11 00:43:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178159-20171011003736.patch</filename>
            <type>text/plain</type>
            <size>31244</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIzMTY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWIxZGU0Y2Y4MDZhOWVi
MDg5ZWFlZWMwYzQzYTllOWQ4N2QyZDBhOS4uNWIyMjQ5YWZmM2JkOWQ2MGM4NDg3NzVkYjc1ODNi
ZjJhMDRkYWIzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE3LTEwLTExICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbUGF5bWVudCBSZXF1ZXN0XSBJ
bXBsZW1lbnQgQXBwbGUgUGF5IG1lcmNoYW50IHZhbGlkYXRpb24KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODE1OQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gQXBwbGVQYXlQYXltZW50SGFuZGxl
cjo6dmFsaWRhdGVNZXJjaGFudCgpIGlzIGNhbGxlZCwgZGlzcGF0Y2ggdGhlCisgICAgICAgIGFw
cGxlcGF5dmFsaWRhdGVtZXJjaGFudCBldmVudCB0byB0aGUgUGF5bWVudFJlcXVlc3Qgb2JqZWN0
LgorCisgICAgICAgIFRoZSBldmVudCBvYmplY3QgaXMgYW4gQXBwbGVQYXlNZXJjaGFudFZhbGlk
YXRpb25FdmVudCwgb24gd2hpY2ggdGhlIGNsaWVudCBjYWxscyBjb21wbGV0ZSgpCisgICAgICAg
IHdpdGggYSBtZXJjaGFudCBzZXNzaW9uLgorCisgICAgICAgIFRlc3Q6IGh0dHAvdGVzdHMvc3Ns
L2FwcGxlcGF5L0FwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaHR0cHMuaHRtbAorCisg
ICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5
L0FwcGxlUGF5VmFsaWRhdGVNZXJjaGFudEV2ZW50Lmg6CisgICAgICAgICogTW9kdWxlcy9hcHBs
ZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmNwcDog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpBcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50
OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25F
dmVudDo6QXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudCk6CisgICAgICAgIChXZWJDb3Jl
OjpBcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50Ojpjb21wbGV0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpBcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50OjpldmVudEludGVyZmFjZSBj
b25zdCk6CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBh
eU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50Lmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvYXBw
bGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5pZGw6
IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQ
YXlQYXltZW50SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBcHBsZVBheVBheW1lbnRI
YW5kbGVyOjp2YWxpZGF0ZU1lcmNoYW50KToKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L3Bh
eW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVudEhhbmRsZXIuaDoKKyAgICAgICAgKiBNb2R1bGVz
L3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmlkbDoKKyAgICAgICAgKiBXZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogZG9tL0V2ZW50TmFtZXMuaDoKKyAg
ICAgICAgKiBkb20vRXZlbnROYW1lcy5pbjoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OkludGVybmFscyk6CisgICAgICAgICog
dGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1v
Y2tQYXltZW50Q29vcmRpbmF0b3I6Ok1vY2tQYXltZW50Q29vcmRpbmF0b3IpOgorICAgICAgICAo
V2ViQ29yZTo6TW9ja1BheW1lbnRDb29yZGluYXRvcjo6c2hvd1BheW1lbnRVSSk6CisgICAgICAg
ICogdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmg6CisKIDIwMTctMTAtMTAgIEFuZHkg
RXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFtQYXltZW50IFJlcXVlc3RdIFZh
bGlkYXRlIHRoYXQgYWxsIFBheW1lbnRDdXJyZW5jeUFtb3VudHMgdXNlIHRoZSBzYW1lIGN1cnJl
bmN5IGNvZGUgd2hlbiB1c2luZyBBcHBsZSBQYXkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtl
CmluZGV4IDU3ZGUxOGVkNjg3MTcxNGY3MmNlNzcxOTFiZTMzNjczN2ZkZDhmYjcuLmRhY2M3MDgw
YTEzYTk1OWU3NjE3MjBhMjRmMTU0OGNmM2U1MGMzZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZQpAQCAtMTA3LDYgKzEwNyw3IEBAIEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAkKFdl
YkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZFNlbGVjdGVkRXZl
bnQuaWRsIFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ01l
dGhvZFVwZGF0ZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBh
eVZhbGlkYXRlTWVyY2hhbnRFdmVudC5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBs
ZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmlkbCBc
CiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5
UmVxdWVzdC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9iZWFjb24vTmF2aWdhdG9yQmVh
Y29uLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2NhY2hlL0RPTVdpbmRvd0NhY2hlcy5p
ZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBh
eVZhbGlkYXRlTWVyY2hhbnRFdmVudC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBh
eS9BcHBsZVBheVZhbGlkYXRlTWVyY2hhbnRFdmVudC5oCmluZGV4IDQ1MTU1OTgzMWMwNDg4NTc5
M2RiZWNkZTliYzYyY2FjZGVhNTg5ZjYuLjA0MzU4MzFiYWY4ZmNlY2QzYTEwY2VlM2VjOTMzNjRm
NzQzZDc2ZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlWYWxpZGF0ZU1lcmNoYW50RXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2FwcGxlcGF5L0FwcGxlUGF5VmFsaWRhdGVNZXJjaGFudEV2ZW50LmgKQEAgLTMyLDcgKzMyLDcg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBBcHBsZVBheVZhbGlkYXRlTWVyY2hh
bnRFdmVudCBmaW5hbCA6IHB1YmxpYyBFdmVudCB7CitjbGFzcyBBcHBsZVBheVZhbGlkYXRlTWVy
Y2hhbnRFdmVudCA6IHB1YmxpYyBFdmVudCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxBcHBs
ZVBheVZhbGlkYXRlTWVyY2hhbnRFdmVudD4gY3JlYXRlKGNvbnN0IEF0b21pY1N0cmluZyYgdHlw
ZSwgY29uc3QgVVJMJiB2YWxpZGF0aW9uVVJMKQogICAgIHsKQEAgLTQzLDEyICs0MywxMyBAQCBw
dWJsaWM6CiAKICAgICBjb25zdCBTdHJpbmcmIHZhbGlkYXRpb25VUkwoKSBjb25zdCB7IHJldHVy
biBtX3ZhbGlkYXRpb25VUkwuc3RyaW5nKCk7IH0KIAotcHJpdmF0ZToKK3Byb3RlY3RlZDoKICAg
ICBBcHBsZVBheVZhbGlkYXRlTWVyY2hhbnRFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUs
IGNvbnN0IFVSTCYgdmFsaWRhdGlvblVSTCk7CiAKICAgICAvLyBFdmVudC4KICAgICBFdmVudElu
dGVyZmFjZSBldmVudEludGVyZmFjZSgpIGNvbnN0IG92ZXJyaWRlOwogCitwcml2YXRlOgogICAg
IGNvbnN0IFVSTCBtX3ZhbGlkYXRpb25VUkw7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TWVyY2hhbnRWYWxp
ZGF0aW9uRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50
cmVxdWVzdC9BcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmNwcApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
YThhNmE0ZDViNTAyMTZmNGU1M2Q5NDZmMzBlMTRkOTM5ZDIzNGM1Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBh
eU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmNwcApAQCAtMCwwICsxLDc4IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkFwcGxlUGF5TWVyY2hhbnRWYWxpZGF0
aW9uRXZlbnQuaCIKKworI2lmIEVOQUJMRShBUFBMRV9QQVkpICYmIEVOQUJMRShQQVlNRU5UX1JF
UVVFU1QpCisKKyNpbmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIk1haW5GcmFtZS5oIgor
I2luY2x1ZGUgIlBheW1lbnRDb29yZGluYXRvci5oIgorI2luY2x1ZGUgIlBheW1lbnRNZXJjaGFu
dFNlc3Npb24uaCIKKyNpbmNsdWRlIDxydW50aW1lL0pTT2JqZWN0Lmg+CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworUmVmPEFwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQ+IEFwcGxlUGF5
TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQ6OmNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUs
IGNvbnN0IFVSTCYgdmFsaWRhdGlvblVSTCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBB
cHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50KHR5cGUsIHZhbGlkYXRpb25VUkwpKTsKK30K
KworQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudDo6QXBwbGVQYXlNZXJjaGFudFZhbGlk
YXRpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IFVSTCYgdmFsaWRhdGlv
blVSTCkKKyAgICA6IEFwcGxlUGF5VmFsaWRhdGVNZXJjaGFudEV2ZW50IHsgdHlwZSwgdmFsaWRh
dGlvblVSTCB9Cit7Cit9CisKK0V4Y2VwdGlvbk9yPHZvaWQ+IEFwcGxlUGF5TWVyY2hhbnRWYWxp
ZGF0aW9uRXZlbnQ6OmNvbXBsZXRlKERvY3VtZW50JiBkb2N1bWVudCwgSlNDOjpKU1ZhbHVlIG1l
cmNoYW50U2Vzc2lvblZhbHVlKQoreworICAgIGlmIChtX2lzQ29tcGxldGVkKQorICAgICAgICBy
ZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IgfTsKKyAgICBtX2lzQ29tcGxldGVk
ID0gdHJ1ZTsKKworICAgIGF1dG8mIHBheW1lbnRDb29yZGluYXRvciA9IGRvY3VtZW50LmZyYW1l
KCktPm1haW5GcmFtZSgpLnBheW1lbnRDb29yZGluYXRvcigpOworICAgIGlmICghcGF5bWVudENv
b3JkaW5hdG9yLmhhc0FjdGl2ZVNlc3Npb24oKSkKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7
IEludmFsaWRTdGF0ZUVycm9yIH07CisKKyAgICBpZiAoIW1lcmNoYW50U2Vzc2lvblZhbHVlLmlz
T2JqZWN0KCkpCisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3IgfTsKKworICAg
IFN0cmluZyBlcnJvck1lc3NhZ2U7CisgICAgYXV0byBtZXJjaGFudFNlc3Npb24gPSBQYXltZW50
TWVyY2hhbnRTZXNzaW9uOjpmcm9tSlMoKmRvY3VtZW50LmV4ZWNTdGF0ZSgpLCBhc09iamVjdCht
ZXJjaGFudFNlc3Npb25WYWx1ZSksIGVycm9yTWVzc2FnZSk7CisgICAgaWYgKCFtZXJjaGFudFNl
c3Npb24pCisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3IsIFdURk1vdmUoZXJy
b3JNZXNzYWdlKSB9OworCisgICAgcGF5bWVudENvb3JkaW5hdG9yLmNvbXBsZXRlTWVyY2hhbnRW
YWxpZGF0aW9uKCptZXJjaGFudFNlc3Npb24pOworICAgIHJldHVybiB7IH07Cit9CisKK0V2ZW50
SW50ZXJmYWNlIEFwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQ6OmV2ZW50SW50ZXJmYWNl
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudElu
dGVyZmFjZVR5cGU7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVO
QUJMRShBUFBMRV9QQVkpICYmIEVOQUJMRShQQVlNRU5UX1JFUVVFU1QpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TWVy
Y2hhbnRWYWxpZGF0aW9uRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
cGF5bWVudHJlcXVlc3QvQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmQ1NzQwMWE2M2Q4ODI4ZmI0NDU4ZTIyMmViNWFkNTdiNmIwMGEyZGUKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0Fw
cGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaApAQCAtMCwwICsxLDU2IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoQVBQTEVfUEFZKSAmJiBFTkFCTEUoUEFZ
TUVOVF9SRVFVRVNUKQorCisjaW5jbHVkZSAiQXBwbGVQYXlWYWxpZGF0ZU1lcmNoYW50RXZlbnQu
aCIKKworbmFtZXNwYWNlIEpTQyB7CitjbGFzcyBKU1ZhbHVlOworfQorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK2NsYXNzIERvY3VtZW50OworCitjbGFzcyBBcHBsZVBheU1lcmNoYW50VmFsaWRh
dGlvbkV2ZW50IGZpbmFsIDogcHVibGljIEFwcGxlUGF5VmFsaWRhdGVNZXJjaGFudEV2ZW50IHsK
K3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPEFwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQ+
IGNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmLCBjb25zdCBVUkwmKTsKKyAgICBFeGNlcHRpb25P
cjx2b2lkPiBjb21wbGV0ZShEb2N1bWVudCYsIEpTQzo6SlNWYWx1ZSk7CisKK3ByaXZhdGU6Cisg
ICAgQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmLCBj
b25zdCBVUkwmKTsKKworICAgIC8vIEV2ZW50CisgICAgRXZlbnRJbnRlcmZhY2UgZXZlbnRJbnRl
cmZhY2UoKSBjb25zdCBmaW5hbDsKKworICAgIGJvb2wgbV9pc0NvbXBsZXRlZCB7IGZhbHNlIH07
Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoQVBQTEVf
UEFZKSAmJiBFTkFCTEUoUEFZTUVOVF9SRVFVRVNUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheU1lcmNoYW50VmFsaWRh
dGlvbkV2ZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJl
cXVlc3QvQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5pZGwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWZi
ZDc0YTZhZmVlNDQ4ZGRiNDczNmNiMjY5YTI5YzBlYjgxMmQ4NgotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlN
ZXJjaGFudFZhbGlkYXRpb25FdmVudC5pZGwKQEAgLTAsMCArMSwzMSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
K1sKKyAgICBDb25kaXRpb25hbD1BUFBMRV9QQVkmUEFZTUVOVF9SRVFVRVNULAorICAgIE5vSW50
ZXJmYWNlT2JqZWN0LAorXSBpbnRlcmZhY2UgQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVu
dCA6IEFwcGxlUGF5VmFsaWRhdGVNZXJjaGFudEV2ZW50IHsKKyAgICBbTWF5VGhyb3dFeGNlcHRp
b24sIENhbGxXaXRoPURvY3VtZW50XSB2b2lkIGNvbXBsZXRlKGFueSBtZXJjaGFudFNlc3Npb24p
OworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVu
dHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVudEhhbmRsZXIuY3BwCmlu
ZGV4IDI4NTBiOWQ3MjAyMjllMWY5Y2U2Yzc5MjJmYmFmMmE0NzRkNDJmNGIuLmY2NTAyNzkxOGMz
Mzg1MTEzMjI0NDQwOGIwYjQzZjUzMzRmNWYyODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9B
cHBsZVBheVBheW1lbnRIYW5kbGVyLmNwcApAQCAtMzAsOCArMzAsMTAgQEAKIAogI2luY2x1ZGUg
IkFwcGxlUGF5Q29udGFjdEZpZWxkLmgiCiAjaW5jbHVkZSAiQXBwbGVQYXlNZXJjaGFudENhcGFi
aWxpdHkuaCIKKyNpbmNsdWRlICJBcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmgiCiAj
aW5jbHVkZSAiQXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3QuaCIKICNpbmNsdWRlICJEb2N1
bWVudC5oIgorI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJKU0FwcGxlUGF5UmVx
dWVzdC5oIgogI2luY2x1ZGUgIkxpbmtJY29uQ29sbGVjdG9yLmgiCiAjaW5jbHVkZSAiTWFpbkZy
YW1lLmgiCkBAIC0yMzIsNiArMjM0LDEyIEBAIHZvaWQgQXBwbGVQYXlQYXltZW50SGFuZGxlcjo6
Y2FuTWFrZVBheW1lbnQoRG9jdW1lbnQmIGRvY3VtZW50LCBXVEY6OkZ1bmN0aW9uPHZvCiAgICAg
cGF5bWVudENvb3JkaW5hdG9yKGRvY3VtZW50KS5jYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2Fy
ZChtX2FwcGxlUGF5UmVxdWVzdC0+bWVyY2hhbnRJZGVudGlmaWVyLCBkb2N1bWVudC5kb21haW4o
KSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogfQogCit2b2lkIEFwcGxlUGF5UGF5bWVu
dEhhbmRsZXI6OnZhbGlkYXRlTWVyY2hhbnQoY29uc3QgVVJMJiB2YWxpZGF0aW9uVVJMKQorewor
ICAgIGlmICh2YWxpZGF0aW9uVVJMLmlzVmFsaWQoKSkKKyAgICAgICAgbV9wYXltZW50UmVxdWVz
dC0+ZGlzcGF0Y2hFdmVudChBcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50OjpjcmVhdGUo
ZXZlbnROYW1lcygpLmFwcGxlcGF5dmFsaWRhdGVtZXJjaGFudEV2ZW50LCB2YWxpZGF0aW9uVVJM
KS5nZXQoKSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJM
RShBUFBMRV9QQVkpICYmIEVOQUJMRShQQVlNRU5UX1JFUVVFU1QpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVu
dEhhbmRsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVl
c3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5oCmluZGV4IDFlMWExOTRhYjE5YTcyM2IyZDdmMTk0
NTQwMzIwODEzNzY5ZDg1NzAuLjdmNzE5ZWJhNDAyZDAzZWYwMjJlZWU3YTNjNjQ5NmQxNDBkY2Ey
MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJl
cXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5oCkBAIC01
Myw3ICs1Myw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjYW5NYWtlUGF5bWVudChEb2N1bWVudCYs
IFdURjo6RnVuY3Rpb248dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikgZmluYWw7CiAK
ICAgICAvLyBQYXltZW50U2Vzc2lvbgotICAgIHZvaWQgdmFsaWRhdGVNZXJjaGFudChjb25zdCBV
UkwmKSBmaW5hbCB7IH0KKyAgICB2b2lkIHZhbGlkYXRlTWVyY2hhbnQoY29uc3QgVVJMJikgZmlu
YWw7CiAgICAgdm9pZCBkaWRBdXRob3JpemVQYXltZW50KGNvbnN0IFBheW1lbnQmKSBmaW5hbCB7
IH0KICAgICB2b2lkIGRpZFNlbGVjdFNoaXBwaW5nTWV0aG9kKGNvbnN0IEFwcGxlUGF5U2Vzc2lv
blBheW1lbnRSZXF1ZXN0OjpTaGlwcGluZ01ldGhvZCYpIGZpbmFsIHsgfQogICAgIHZvaWQgZGlk
U2VsZWN0U2hpcHBpbmdDb250YWN0KGNvbnN0IFBheW1lbnRDb250YWN0JikgZmluYWwgeyB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRS
ZXF1ZXN0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVu
dFJlcXVlc3QuaWRsCmluZGV4IGM5NWZlOGVkM2UxMjkxMjkxNmRlZWQxMDE4NmMyMmRiNzlkMDRi
NDMuLjdmYTM5OWE4N2FmMzc2ZGZkNTY4NDc2NmQ1YzcyZTkxYjJlMzMxZTYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVl
c3QuaWRsCkBAIC00Miw2ICs0Miw3IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFBheW1lbnRT
aGlwcGluZ1R5cGU/IHNoaXBwaW5nVHlwZTsKIAogICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIg
b25zaGlwcGluZ2FkZHJlc3NjaGFuZ2U7Ci0KICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9u
c2hpcHBpbmdvcHRpb25jaGFuZ2U7CisKKyAgICBbQ29uZGl0aW9uYWw9QVBQTEVfUEFZXSBhdHRy
aWJ1dGUgRXZlbnRIYW5kbGVyIG9uYXBwbGVwYXl2YWxpZGF0ZW1lcmNoYW50OwogfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBk
ZTkyYTg5Zjc2ZmViOThmMjUwZjNhYWM2YWY2MGVkMjYyYWNkOWRhLi44YmM0ZGJhZGUxZDU4YTVl
OGFjMmY0YzE2M2UyNjI3MGM3NTNjNjI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC00NTM4LDYgKzQ1MzgsMTAgQEAKIAkJQTFG
NzZCNTUxRjQ0RDJDNzAwMTRDMzE4IC8qIFBheW1lbnRTaGlwcGluZ09wdGlvbi5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFGNzZCNTIxRjQ0RDJDNzAw
MTRDMzE4IC8qIFBheW1lbnRTaGlwcGluZ09wdGlvbi5oICovOyB9OwogCQlBMUY3NkI1QjFGNDRE
M0IyMDAxNEMzMTggLyogUGF5bWVudENvbXBsZXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMUY3NkI1ODFGNDREM0IyMDAxNEMzMTggLyogUGF5bWVu
dENvbXBsZXRlLmggKi87IH07CiAJCUExRjc4RDBDMUMyNTQyNEMwMDI0NTQ0NiAvKiBSZXNvdXJj
ZVJlc3BvbnNlQ29jb2EubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBMUY3OEQwQjFDMjU0MjJDMDAyNDU0NDYgLyogUmVzb3VyY2VSZXNwb25zZUNvY29h
Lm1tICovOyB9OworCQlBMUY5Mjk2OTFGOEQ5Q0RCMDA1MjNBRjMgLyogQXBwbGVQYXlNZXJjaGFu
dFZhbGlkYXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTFGOTI5NjYxRjhEOUNEQjAwNTIzQUYzIC8qIEFwcGxlUGF5TWVyY2hhbnRWYWxp
ZGF0aW9uRXZlbnQuaCAqLzsgfTsKKwkJQTFGOTI5NkExRjhEOUNEQjAwNTIzQUYzIC8qIEFwcGxl
UGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTFGOTI5NjcxRjhEOUNEQjAwNTIzQUYzIC8qIEFwcGxlUGF5
TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuY3BwICovOyB9OworCQlBMUY5Mjk2RjFGOEQ5RjVCMDA1
MjNBRjMgLyogSlNBcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExRjkyOTZEMUY4RDlGNUEwMDUy
M0FGMyAvKiBKU0FwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuY3BwICovOyB9OworCQlB
MUY5Mjk3MDFGOEQ5RjVCMDA1MjNBRjMgLyogSlNBcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2
ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMUY5
Mjk2RTFGOEQ5RjVCMDA1MjNBRjMgLyogSlNBcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50
LmggKi87IH07CiAJCUEyQjkyMTczMTZDNUNDNDIwMDQxRENEOSAvKiBJbnRSZWN0RXh0ZW50Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMkI5MjE3MjE2
QzVDQzQyMDA0MURDRDkgLyogSW50UmVjdEV4dGVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUEzMUM0RTREMTZFMDJBQTYwMDJGNzk1NyAvKiBP
RVNUZXh0dXJlSGFsZkZsb2F0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEEzMUM0RTRDMTZFMDJBQTYwMDJGNzk1NyAvKiBPRVNUZXh0dXJlSGFsZkZs
b2F0LmNwcCAqLzsgfTsKIAkJQTMxQzRFNEYxNkUwMkFCNDAwMkY3OTU3IC8qIE9FU1RleHR1cmVI
YWxmRmxvYXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEEzMUM0RTRFMTZFMDJBQjQwMDJGNzk1NyAvKiBPRVNUZXh0dXJlSGFsZkZsb2F0LmggKi87IH07
CkBAIC0xMzA0Niw2ICsxMzA1MCwxMSBAQAogCQlBMUY3NkI1ODFGNDREM0IyMDAxNEMzMTggLyog
UGF5bWVudENvbXBsZXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBheW1lbnRDb21wbGV0ZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMUY3NkI1QTFGNDREM0IyMDAxNEMzMTggLyogUGF5
bWVudENvbXBsZXRlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQYXltZW50Q29tcGxldGUuaWRsOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlBMUY3OEQwQjFDMjU0MjJDMDAyNDU0NDYgLyogUmVzb3VyY2VSZXNw
b25zZUNvY29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUmVz
b3VyY2VSZXNwb25zZUNvY29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMUY5
Mjk2NjFGOEQ5Q0RCMDA1MjNBRjMgLyogQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBBcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUExRjkyOTY3MUY4RDlDREIwMDUyM0FGMyAvKiBBcHBs
ZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFwcGxl
UGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlBMUY5Mjk2ODFGOEQ5Q0RCMDA1MjNBRjMgLyogQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRp
b25FdmVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUExRjkyOTZEMUY4RDlGNUEwMDUyM0FGMyAvKiBK
U0FwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSlNBcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTFGOTI5NkUxRjhEOUY1QjAwNTIzQUYzIC8q
IEpTQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBKU0FwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTIwOEUyMjJBNTZBMEM3NTc1RjJBNzJFIC8qIFJlbmRl
ck1hdGhNTE1lbmNsb3NlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRl
ck1hdGhNTE1lbmNsb3NlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUEyQjkyMTcy
MTZDNUNDNDIwMDQxRENEOSAvKiBJbnRSZWN0RXh0ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEludFJlY3RFeHRlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQTMxQzRFNEMxNkUwMkFBNjAwMkY3OTU3IC8qIE9FU1RleHR1cmVIYWxmRmxvYXQuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gT0VTVGV4dHVyZUhhbGZGbG9hdC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNzQ0Myw2ICsxNzQ1Miw4IEBACiAJ
CQkJN0M2NTc5RUExRTAwODU2NjAwRTNBMjdBIC8qIEpTQXBwbGVQYXlMaW5lSXRlbS5oICovLAog
CQkJCUExREY1QTg5MUY3RUMwMDAwMDU4QTQ3NyAvKiBKU0FwcGxlUGF5TWVyY2hhbnRDYXBhYmls
aXR5LmNwcCAqLywKIAkJCQlBMURGNUE4QTFGN0VDMDAwMDA1OEE0NzcgLyogSlNBcHBsZVBheU1l
cmNoYW50Q2FwYWJpbGl0eS5oICovLAorCQkJCUExRjkyOTZEMUY4RDlGNUEwMDUyM0FGMyAvKiBK
U0FwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuY3BwICovLAorCQkJCUExRjkyOTZFMUY4
RDlGNUIwMDUyM0FGMyAvKiBKU0FwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaCAqLywK
IAkJCQk3QzY1MjMxRDFFMDE4QjVBMDA2NzdGMjIgLyogSlNBcHBsZVBheVBheW1lbnQuY3BwICov
LAogCQkJCTdDNjUyMzBBMUUwMERCQjQwMDY3N0YyMiAvKiBKU0FwcGxlUGF5UGF5bWVudC5oICov
LAogCQkJCTFBREZERkUzMUU3MURDQTAwMDhGNUQzNCAvKiBKU0FwcGxlUGF5UGF5bWVudEF1dGhv
cml6YXRpb25SZXN1bHQuY3BwICovLApAQCAtMjE3MjcsNiArMjE3MzgsOSBAQAogCQlBMURGNUE5
RjFGN0VFMEYxMDA1OEE0NzcgLyogcGF5bWVudHJlcXVlc3QgKi8gPSB7CiAJCQlpc2EgPSBQQlhH
cm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCUExRjkyOTY3MUY4RDlDREIwMDUyM0FGMyAvKiBB
cHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmNwcCAqLywKKwkJCQlBMUY5Mjk2NjFGOEQ5
Q0RCMDA1MjNBRjMgLyogQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5oICovLAorCQkJ
CUExRjkyOTY4MUY4RDlDREIwMDUyM0FGMyAvKiBBcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2
ZW50LmlkbCAqLywKIAkJCQlBMURGNUFBMTFGN0VFMTEzMDA1OEE0NzcgLyogQXBwbGVQYXlQYXlt
ZW50SGFuZGxlci5jcHAgKi8sCiAJCQkJQTFERjVBQTAxRjdFRTExMzAwNThBNDc3IC8qIEFwcGxl
UGF5UGF5bWVudEhhbmRsZXIuaCAqLywKIAkJCQlBMURGNUE3QzFGN0VCRDBCMDA1OEE0NzcgLyog
QXBwbGVQYXlSZXF1ZXN0LmggKi8sCkBAIC0yNzIxOSw2ICsyNzIzMyw3IEBACiAJCQkJQTFERjVB
OTQxRjdFQzQzMjAwNThBNDc3IC8qIEFwcGxlUGF5Q29udGFjdEZpZWxkLmggaW4gSGVhZGVycyAq
LywKIAkJCQk3QzY1NzlFMzFFMDA4MjcwMDBFM0EyN0EgLyogQXBwbGVQYXlMaW5lSXRlbS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQTFERjVBODYxRjdFQkRGMjAwNThBNDc3IC8qIEFwcGxlUGF5TWVy
Y2hhbnRDYXBhYmlsaXR5LmggaW4gSGVhZGVycyAqLywKKwkJCQlBMUY5Mjk2OTFGOEQ5Q0RCMDA1
MjNBRjMgLyogQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJN0M2NTIzMDExRTAwRDAzNDAwNjc3RjIyIC8qIEFwcGxlUGF5UGF5bWVudC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMUE4QTY0NTIxRDE5RkNGQjAwRDBFMDBGIC8qIEFwcGxlUGF5UGF5bWVu
dEF1dGhvcml6ZWRFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0M2NTIyRkIxRTAwQzkwOTAw
Njc3RjIyIC8qIEFwcGxlUGF5UGF5bWVudENvbnRhY3QuaCBpbiBIZWFkZXJzICovLApAQCAtMjg0
ODQsNiArMjg0OTksNyBAQAogCQkJCUExREY1QTk5MUY3RUM4QzAwMDU4QTQ3NyAvKiBKU0FwcGxl
UGF5Q29udGFjdEZpZWxkLmggaW4gSGVhZGVycyAqLywKIAkJCQk3QzY1NzlGMDFFMDA4NTY2MDBF
M0EyN0EgLyogSlNBcHBsZVBheUxpbmVJdGVtLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMURGNUE4
RTFGN0VDMDAyMDA1OEE0NzcgLyogSlNBcHBsZVBheU1lcmNoYW50Q2FwYWJpbGl0eS5oIGluIEhl
YWRlcnMgKi8sCisJCQkJQTFGOTI5NzAxRjhEOUY1QjAwNTIzQUYzIC8qIEpTQXBwbGVQYXlNZXJj
aGFudFZhbGlkYXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0M2NTIzMTQxRTAwREJC
NDAwNjc3RjIyIC8qIEpTQXBwbGVQYXlQYXltZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUU5
NkE4QjFEMUEwREREMDBCODY3NjggLyogSlNBcHBsZVBheVBheW1lbnRBdXRob3JpemVkRXZlbnQu
aCBpbiBIZWFkZXJzICovLAogCQkJCTdDNjUyMzE2MUUwMERCQjUwMDY3N0YyMiAvKiBKU0FwcGxl
UGF5UGF5bWVudENvbnRhY3QuaCBpbiBIZWFkZXJzICovLApAQCAtMzE0MTksNiArMzE0MzUsNyBA
QAogCQkJCUExREY1QUI1MUY4MDc4RjMwMDU4QTQ3NyAvKiBBcHBsZVBheUNvbnRhY3RGaWVsZC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQkxQURGREZFMDFFNzFEOEVFMDA4RjVEMzQgLyogQXBwbGVQ
YXlFcnJvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBMURGNUFBOTFGODA3MEQ0MDA1OEE0Nzcg
LyogQXBwbGVQYXlNZXJjaGFudENhcGFiaWxpdHkuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTFG
OTI5NkExRjhEOUNEQjAwNTIzQUYzIC8qIEFwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE4QTY0NTExRDE5RkNGQjAwRDBFMDBGIC8qIEFwcGxl
UGF5UGF5bWVudEF1dGhvcml6ZWRFdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBMURGNUFB
MzFGN0VFMTEzMDA1OEE0NzcgLyogQXBwbGVQYXlQYXltZW50SGFuZGxlci5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkxQThBNjQ1NDFEMTlGQ0ZDMDBEMEUwMEYgLyogQXBwbGVQYXlQYXltZW50TWV0
aG9kU2VsZWN0ZWRFdmVudC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMyNTE5LDYgKzMyNTM2LDcg
QEAKIAkJCQkxQURGREZFQzFFNzFFNDU1MDA4RjVEMzQgLyogSlNBcHBsZVBheUVycm9yLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTdDNjU3OUVGMUUwMDg1NjYwMEUzQTI3QSAvKiBKU0FwcGxlUGF5
TGluZUl0ZW0uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTFERjVBOEQxRjdFQzAwMjAwNThBNDc3
IC8qIEpTQXBwbGVQYXlNZXJjaGFudENhcGFiaWxpdHkuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
QTFGOTI5NkYxRjhEOUY1QjAwNTIzQUYzIC8qIEpTQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25F
dmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QzY1MjMxRTFFMDE4QjVBMDA2NzdGMjIgLyog
SlNBcHBsZVBheVBheW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFERkRGRjAxRTcxRTRB
QzAwOEY1RDM0IC8qIEpTQXBwbGVQYXlQYXltZW50QXV0aG9yaXphdGlvblJlc3VsdC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQkxQUU5NkE4QTFEMUEwREREMDBCODY3NjggLyogSlNBcHBsZVBheVBh
eW1lbnRBdXRob3JpemVkRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFt
ZXMuaAppbmRleCBhZmQwOTg3ZDE0NjI3ZDJlZTM5YjcwNjMzZGE1ZmYwZmU0NzI3ODQxLi45ZjQ5
NTcwNDgxYjE5MWFlZTY5ZGQ5NDBkN2U4ZDgyMzEwMzgzNTc0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5h
bWVzLmgKQEAgLTUzLDYgKzUzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKGFu
aW1hdGlvbmVuZCkgXAogICAgIG1hY3JvKGFuaW1hdGlvbml0ZXJhdGlvbikgXAogICAgIG1hY3Jv
KGFuaW1hdGlvbnN0YXJ0KSBcCisgICAgbWFjcm8oYXBwbGVwYXl2YWxpZGF0ZW1lcmNoYW50KSBc
CiAgICAgbWFjcm8oYXVkaW9lbmQpIFwKICAgICBtYWNybyhhdWRpb3Byb2Nlc3MpIFwKICAgICBt
YWNybyhhdWRpb3N0YXJ0KSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRO
YW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCmluZGV4IDc4Zjc4ZGU4
ZjM1MjFlZTE5MGU5NWE2MzdlNzY5NWRjOTA5MGZhZjcuLjc5ZmYzZmNhY2Y4Nzg4NTQwZDZlZjkw
YWU4YjBjNmNhMzM3MTk5YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5h
bWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCkBAIC0zNSw2ICsz
NSw3IEBAIFdlYktpdEFuaW1hdGlvbkV2ZW50CiBXZWJLaXRUcmFuc2l0aW9uRXZlbnQKIFdoZWVs
RXZlbnQKIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudAorQXBwbGVQYXlNZXJjaGFudFZhbGlk
YXRpb25FdmVudCBjb25kaXRpb25hbD1BUFBMRV9QQVkKIEFwcGxlUGF5UGF5bWVudEF1dGhvcml6
ZWRFdmVudCBjb25kaXRpb25hbD1BUFBMRV9QQVkKIEFwcGxlUGF5UGF5bWVudE1ldGhvZFNlbGVj
dGVkRXZlbnQgY29uZGl0aW9uYWw9QVBQTEVfUEFZCiBBcHBsZVBheVNoaXBwaW5nQ29udGFjdFNl
bGVjdGVkRXZlbnQgY29uZGl0aW9uYWw9QVBQTEVfUEFZCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5jcHAKaW5kZXggZDlmNjFmZjMwOTQ4NmFjMzFhY2MzNWU1MWJmZDU5YWYxYTQ3ZGFlYS4u
YjA1NzU4ZDg2ZTIzNjAwMWJmY2UzZTczYmMxMTdlOWZkOTFhMWQ4YyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtNTA4LDcgKzUwOCw3IEBAIEludGVybmFsczo6SW50ZXJu
YWxzKERvY3VtZW50JiBkb2N1bWVudCkKIAogI2lmIEVOQUJMRShBUFBMRV9QQVkpCiAgICAgaWYg
KGF1dG8gZnJhbWUgPSBkb2N1bWVudC5mcmFtZSgpKQotICAgICAgICBmcmFtZS0+bWFpbkZyYW1l
KCkuc2V0UGF5bWVudENvb3JkaW5hdG9yKHN0ZDo6bWFrZV91bmlxdWU8UGF5bWVudENvb3JkaW5h
dG9yPigqbmV3IE1vY2tQYXltZW50Q29vcmRpbmF0b3IoKSkpOworICAgICAgICBmcmFtZS0+bWFp
bkZyYW1lKCkuc2V0UGF5bWVudENvb3JkaW5hdG9yKHN0ZDo6bWFrZV91bmlxdWU8UGF5bWVudENv
b3JkaW5hdG9yPigqbmV3IE1vY2tQYXltZW50Q29vcmRpbmF0b3IoZnJhbWUtPm1haW5GcmFtZSgp
KSkpOwogI2VuZGlmCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9j
a1BheW1lbnRDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXlt
ZW50Q29vcmRpbmF0b3IuY3BwCmluZGV4IGZmN2E0YTRmYjBkZjk4N2NlOWY5YjcxNGRjODViNGJj
ODI5NzJhMjcuLjk3OTRiMjhkYzk0MzJhZWExYjg0YTQ5YTQ3ZDE0MTgzNTBlMzE0MWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmNwcApA
QCAtMjgsMTAgKzI4LDE4IEBACiAKICNpZiBFTkFCTEUoQVBQTEVfUEFZKQogCisjaW5jbHVkZSAi
TWFpbkZyYW1lLmgiCisjaW5jbHVkZSAiUGF5bWVudENvb3JkaW5hdG9yLmgiCisjaW5jbHVkZSAi
VVJMLmgiCiAjaW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CitNb2NrUGF5bWVudENvb3JkaW5hdG9yOjpNb2NrUGF5bWVudENvb3JkaW5hdG9yKE1haW5GcmFt
ZSYgbWFpbkZyYW1lKQorICAgIDogbV9tYWluRnJhbWUgeyBtYWluRnJhbWUgfQoreworfQorCiBi
b29sIE1vY2tQYXltZW50Q29vcmRpbmF0b3I6OnN1cHBvcnRzVmVyc2lvbih1bnNpZ25lZCB2ZXJz
aW9uKQogewogICAgIEFTU0VSVCh2ZXJzaW9uID4gMCk7CkBAIC02Niw2ICs3NCw5IEBAIHZvaWQg
TW9ja1BheW1lbnRDb29yZGluYXRvcjo6b3BlblBheW1lbnRTZXR1cChjb25zdCBTdHJpbmcmLCBj
b25zdCBTdHJpbmcmLCBXVEY6CiAKIGJvb2wgTW9ja1BheW1lbnRDb29yZGluYXRvcjo6c2hvd1Bh
eW1lbnRVSShjb25zdCBVUkwmLCBjb25zdCBWZWN0b3I8VVJMPiYsIGNvbnN0IEFwcGxlUGF5U2Vz
c2lvblBheW1lbnRSZXF1ZXN0JikKIHsKKyAgICBSdW5Mb29wOjptYWluKCkuZGlzcGF0Y2goW21h
aW5GcmFtZSA9IG1ha2VSZWYobV9tYWluRnJhbWUpXSgpIHsKKyAgICAgICAgbWFpbkZyYW1lLT5w
YXltZW50Q29vcmRpbmF0b3IoKS52YWxpZGF0ZU1lcmNoYW50KHsgVVJMKCksIEFTQ0lJTGl0ZXJh
bCgiaHR0cHM6Ly93ZWJraXQub3JnLyIpIH0pOworICAgIH0pOwogICAgIHJldHVybiB0cnVlOwog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50Q29vcmRp
bmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5o
CmluZGV4IGE5Y2E3ZWU2NzY4MDBmMTA4ZmZlYjc5MWFiNmVlNjJjOWJiMzE5YmEuLjIyYmU5YjNh
ODJiM2M2ZWQyOTM4YTM1ZGU3NjY1MDMzYzZjYTYxNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5oCkBAIC0zMCw4ICszMCwxMyBAQAogI2lu
Y2x1ZGUgIlBheW1lbnRDb29yZGluYXRvckNsaWVudC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CisgICAgCitjbGFzcyBNYWluRnJhbWU7CiAKIGNsYXNzIE1vY2tQYXltZW50Q29vcmRpbmF0b3Ig
ZmluYWwgOiBwdWJsaWMgUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50IHsKK3B1YmxpYzoKKyAgICBl
eHBsaWNpdCBNb2NrUGF5bWVudENvb3JkaW5hdG9yKE1haW5GcmFtZSYpOworCiBwcml2YXRlOgog
ICAgIGJvb2wgc3VwcG9ydHNWZXJzaW9uKHVuc2lnbmVkKSBmaW5hbDsKICAgICBib29sIGNhbk1h
a2VQYXltZW50cygpIGZpbmFsOwpAQCAtNDYsNiArNTEsOCBAQCBwcml2YXRlOgogICAgIHZvaWQg
YWJvcnRQYXltZW50U2Vzc2lvbigpIGZpbmFsIHsgfQogICAgIHZvaWQgY2FuY2VsUGF5bWVudFNl
c3Npb24oKSBmaW5hbCB7IH0KICAgICB2b2lkIHBheW1lbnRDb29yZGluYXRvckRlc3Ryb3llZCgp
IGZpbmFsOworCisgICAgTWFpbkZyYW1lJiBtX21haW5GcmFtZTsKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCAzMDY4OGFlYTRhZWMxNjY1OTU4MzVhNTlkYmY3MzZmZTEwZWMw
NmZmLi5jNDZiNzVkNTJmYWQzMGY2Yjg0OTA3NTg4YTEzYjc0ODI5YjE4NDgyIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTMgQEAKKzIwMTctMTAtMTEgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgor
CisgICAgICAgIFtQYXltZW50IFJlcXVlc3RdIEltcGxlbWVudCBBcHBsZSBQYXkgbWVyY2hhbnQg
dmFsaWRhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTc4MTU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2
ZW50Lmh0dHBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zc2wv
YXBwbGVwYXkvQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5odHRwcy5odG1sOiBBZGRl
ZC4KKwogMjAxNy0xMC0xMCAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CiAKICAgICAg
ICAgW1BheW1lbnQgUmVxdWVzdF0gVmFsaWRhdGUgdGhhdCBhbGwgUGF5bWVudEN1cnJlbmN5QW1v
dW50cyB1c2UgdGhlIHNhbWUgY3VycmVuY3kgY29kZSB3aGVuIHVzaW5nIEFwcGxlIFBheQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlNZXJj
aGFudFZhbGlkYXRpb25FdmVudC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50Lmh0dHBz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NGU0MWZmMGUwYzdhMmIxYjM2OWQxNmNmZjBhMWNj
MzcxMjI3NTRhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wv
YXBwbGVwYXkvQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5odHRwcy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwyMCBAQAorVGVzdCB0aGUgYXBwbGVwYXl2YWxpZGF0ZW1lcmNoYW50IGV2
ZW50LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworVGVzdGluZyBBcHBsZVBheU1l
cmNoYW50VmFsaWRhdGlvbkV2ZW50CisKK1BBU1MgKCkgPT4gZXZlbnQuY29tcGxldGUodW5kZWZp
bmVkKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyAoKSA9PiBl
dmVudC5jb21wbGV0ZShuaWwpIHRocmV3IGV4Y2VwdGlvbiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3Qg
ZmluZCB2YXJpYWJsZTogbmlsLgorUEFTUyAoKSA9PiBldmVudC5jb21wbGV0ZShbXSkgdGhyZXcg
ZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KK1BBU1MgKCkgPT4gZXZlbnQuY29tcGxl
dGUoJycpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTICgpID0+
IGV2ZW50LmNvbXBsZXRlKDcpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3Iu
CitQQVNTICgpID0+IHsgZXZlbnQuY29tcGxldGUoe30pOyBldmVudC5jb21wbGV0ZSh7fSk7IH0g
dGhyZXcgZXhjZXB0aW9uIEludmFsaWRTdGF0ZUVycm9yOiBUaGUgb2JqZWN0IGlzIGluIGFuIGlu
dmFsaWQgc3RhdGUuLgorUEFTUyAoKSA9PiB7IHBheW1lbnRSZXF1ZXN0LmFib3J0KCk7IGV2ZW50
LmNvbXBsZXRlKHt9KTsgfSB0aHJldyBleGNlcHRpb24gSW52YWxpZFN0YXRlRXJyb3I6IFRoZSBv
YmplY3QgaXMgaW4gYW4gaW52YWxpZCBzdGF0ZS4uCitQQVNTICgpID0+IGV2ZW50LmNvbXBsZXRl
KHt9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgZXZlbnQudmFsaWRhdGlvblVSTCBp
cyAnaHR0cHM6Ly93ZWJraXQub3JnLycKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nz
bC9hcHBsZXBheS9BcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50Lmh0dHBzLmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheU1lcmNoYW50VmFsaWRh
dGlvbkV2ZW50Lmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2JlMTYyODEwOTRkNWY3NGJkMTA0YjBi
YWMzMjc2YWViMjgwNmQ0MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaHR0cHMuaHRt
bApAQCAtMCwwICsxLDc1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBjaGFyc2V0PSJ1dGYtOCI+Cis8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisKK2Rlc2NyaXB0aW9uKCJU
ZXN0IHRoZSBhcHBsZXBheXZhbGlkYXRlbWVyY2hhbnQgZXZlbnQuIik7CisKK3dpbmRvdy5qc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworZnVuY3Rpb24gdmFsaWRQYXltZW50TWV0aG9kKCkgeworICAg
IHJldHVybiB7CisgICAgICAgIHN1cHBvcnRlZE1ldGhvZHM6ICdodHRwczovL2FwcGxlLmNvbS9h
cHBsZS1wYXknLAorICAgICAgICBkYXRhOiB7CisgICAgICAgICAgICB2ZXJzaW9uOiAyLAorICAg
ICAgICAgICAgbWVyY2hhbnRJZGVudGlmaWVyOiAnJywKKyAgICAgICAgICAgIGNvdW50cnlDb2Rl
OiAnVVMnLAorICAgICAgICAgICAgc3VwcG9ydGVkTmV0d29ya3M6IFsndmlzYScsICdtYXN0ZXJD
YXJkJ10sCisgICAgICAgICAgICBtZXJjaGFudENhcGFiaWxpdGllczogWydzdXBwb3J0czNEUydd
LAorICAgICAgICB9LAorICAgIH0KK30KKworZnVuY3Rpb24gdmFsaWRQYXltZW50RGV0YWlscygp
IHsKKyAgICByZXR1cm4geworICAgICAgICB0b3RhbDogeyBsYWJlbDogJ1lvdXIgbGFiZWwnLCBh
bW91bnQ6IHsgY3VycmVuY3k6ICdVU0QnLCB2YWx1ZTogJzEwLjAwJyB9IH0sCisgICAgfQorfQor
CitmdW5jdGlvbiBydW5UZXN0KHRlc3QpIHsKKyAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29s
dmUsIHJlamVjdCkgPT4geworICAgICAgICB2YXIgcGF5bWVudFJlcXVlc3QgPSBuZXcgUGF5bWVu
dFJlcXVlc3QoW3ZhbGlkUGF5bWVudE1ldGhvZCgpXSwgdmFsaWRQYXltZW50RGV0YWlscygpKTsK
KyAgICAgICAgcGF5bWVudFJlcXVlc3Qub25hcHBsZXBheXZhbGlkYXRlbWVyY2hhbnQgPSAoZXZl
bnQpID0+IHsKKyAgICAgICAgICAgIHRlc3QoZXZlbnQsIHBheW1lbnRSZXF1ZXN0KTsKKyAgICAg
ICAgICAgIHBheW1lbnRSZXF1ZXN0LmFib3J0KCk7CisgICAgICAgICAgICByZXNvbHZlKCk7Cisg
ICAgICAgIH07CisgICAgICAgIHBheW1lbnRSZXF1ZXN0LnNob3coKS5jYXRjaCgoKSA9PiB7fSk7
CisgICAgfSk7Cit9CisKK2FzeW5jIGZ1bmN0aW9uIGdvKCkgeworICAgIGRlYnVnKCJUZXN0aW5n
IEFwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQiKQorICAgIGRlYnVnKCIiKQorCisgICAg
YXdhaXQgcnVuVGVzdChldmVudCA9PiBzaG91bGRUaHJvdygoKSA9PiBldmVudC5jb21wbGV0ZSh1
bmRlZmluZWQpKSk7CisgICAgYXdhaXQgcnVuVGVzdChldmVudCA9PiBzaG91bGRUaHJvdygoKSA9
PiBldmVudC5jb21wbGV0ZShuaWwpKSk7CisgICAgYXdhaXQgcnVuVGVzdChldmVudCA9PiBzaG91
bGRUaHJvdygoKSA9PiBldmVudC5jb21wbGV0ZShbXSkpKTsKKyAgICBhd2FpdCBydW5UZXN0KGV2
ZW50ID0+IHNob3VsZFRocm93KCgpID0+IGV2ZW50LmNvbXBsZXRlKCcnKSkpOworICAgIGF3YWl0
IHJ1blRlc3QoZXZlbnQgPT4gc2hvdWxkVGhyb3coKCkgPT4gZXZlbnQuY29tcGxldGUoNykpKTsK
KyAgICBhd2FpdCBydW5UZXN0KGV2ZW50ID0+IHNob3VsZFRocm93KCgpID0+IHsgZXZlbnQuY29t
cGxldGUoe30pOyBldmVudC5jb21wbGV0ZSh7fSk7IH0pKTsKKyAgICBhd2FpdCBydW5UZXN0KChl
dmVudCwgcGF5bWVudFJlcXVlc3QpID0+IHNob3VsZFRocm93KCgpID0+IHsgcGF5bWVudFJlcXVl
c3QuYWJvcnQoKTsgZXZlbnQuY29tcGxldGUoe30pOyB9KSk7CisgICAgYXdhaXQgcnVuVGVzdChl
dmVudCA9PiBzaG91bGROb3RUaHJvdygoKSA9PiBldmVudC5jb21wbGV0ZSh7fSkpKTsKKyAgICBh
d2FpdCBydW5UZXN0KGV2ZW50ID0+IHNob3VsZEJlKCJldmVudC52YWxpZGF0aW9uVVJMIiwgIido
dHRwczovL3dlYmtpdC5vcmcvJyIpKTsKKworICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImJ1
dHRvbiIpLnJlbW92ZSgpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQorCit3aW5kb3cub25sb2Fk
ID0gZnVuY3Rpb24oKSB7CisgICAgdmFyIGJ1dHRvbiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Io
ImJ1dHRvbiIpOworICAgIGxldCB4ID0gYnV0dG9uLm9mZnNldExlZnQgKyAyOworICAgIGxldCB5
ID0gYnV0dG9uLm9mZnNldFRvcCArIDI7CisgICAgVUlIZWxwZXIuYWN0aXZhdGVBdCh4LCB5KTsK
K30KKworPC9zY3JpcHQ+Cis8YnV0dG9uIG9uY2xpY2s9J2dvKCknPkdvPC9idXR0b24+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>323395</attachid>
            <date>2017-10-11 00:43:25 -0700</date>
            <delta_ts>2017-10-11 09:34:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178159-20171011004325.patch</filename>
            <type>text/plain</type>
            <size>31227</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIzMTY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWIxZGU0Y2Y4MDZhOWVi
MDg5ZWFlZWMwYzQzYTllOWQ4N2QyZDBhOS4uNWIyMjQ5YWZmM2JkOWQ2MGM4NDg3NzVkYjc1ODNi
ZjJhMDRkYWIzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE3LTEwLTExICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbUGF5bWVudCBSZXF1ZXN0XSBJ
bXBsZW1lbnQgQXBwbGUgUGF5IG1lcmNoYW50IHZhbGlkYXRpb24KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODE1OQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gQXBwbGVQYXlQYXltZW50SGFuZGxl
cjo6dmFsaWRhdGVNZXJjaGFudCgpIGlzIGNhbGxlZCwgZGlzcGF0Y2ggdGhlCisgICAgICAgIGFw
cGxlcGF5dmFsaWRhdGVtZXJjaGFudCBldmVudCB0byB0aGUgUGF5bWVudFJlcXVlc3Qgb2JqZWN0
LgorCisgICAgICAgIFRoZSBldmVudCBvYmplY3QgaXMgYW4gQXBwbGVQYXlNZXJjaGFudFZhbGlk
YXRpb25FdmVudCwgb24gd2hpY2ggdGhlIGNsaWVudCBjYWxscyBjb21wbGV0ZSgpCisgICAgICAg
IHdpdGggYSBtZXJjaGFudCBzZXNzaW9uLgorCisgICAgICAgIFRlc3Q6IGh0dHAvdGVzdHMvc3Ns
L2FwcGxlcGF5L0FwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaHR0cHMuaHRtbAorCisg
ICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5
L0FwcGxlUGF5VmFsaWRhdGVNZXJjaGFudEV2ZW50Lmg6CisgICAgICAgICogTW9kdWxlcy9hcHBs
ZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmNwcDog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpBcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50
OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25F
dmVudDo6QXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudCk6CisgICAgICAgIChXZWJDb3Jl
OjpBcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50Ojpjb21wbGV0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpBcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50OjpldmVudEludGVyZmFjZSBj
b25zdCk6CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBh
eU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50Lmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvYXBw
bGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5pZGw6
IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQ
YXlQYXltZW50SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBcHBsZVBheVBheW1lbnRI
YW5kbGVyOjp2YWxpZGF0ZU1lcmNoYW50KToKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L3Bh
eW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVudEhhbmRsZXIuaDoKKyAgICAgICAgKiBNb2R1bGVz
L3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmlkbDoKKyAgICAgICAgKiBXZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogZG9tL0V2ZW50TmFtZXMuaDoKKyAg
ICAgICAgKiBkb20vRXZlbnROYW1lcy5pbjoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OkludGVybmFscyk6CisgICAgICAgICog
dGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1v
Y2tQYXltZW50Q29vcmRpbmF0b3I6Ok1vY2tQYXltZW50Q29vcmRpbmF0b3IpOgorICAgICAgICAo
V2ViQ29yZTo6TW9ja1BheW1lbnRDb29yZGluYXRvcjo6c2hvd1BheW1lbnRVSSk6CisgICAgICAg
ICogdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmg6CisKIDIwMTctMTAtMTAgIEFuZHkg
RXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFtQYXltZW50IFJlcXVlc3RdIFZh
bGlkYXRlIHRoYXQgYWxsIFBheW1lbnRDdXJyZW5jeUFtb3VudHMgdXNlIHRoZSBzYW1lIGN1cnJl
bmN5IGNvZGUgd2hlbiB1c2luZyBBcHBsZSBQYXkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtl
CmluZGV4IDU3ZGUxOGVkNjg3MTcxNGY3MmNlNzcxOTFiZTMzNjczN2ZkZDhmYjcuLmRhY2M3MDgw
YTEzYTk1OWU3NjE3MjBhMjRmMTU0OGNmM2U1MGMzZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZQpAQCAtMTA3LDYgKzEwNyw3IEBAIEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAkKFdl
YkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZFNlbGVjdGVkRXZl
bnQuaWRsIFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ01l
dGhvZFVwZGF0ZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBh
eVZhbGlkYXRlTWVyY2hhbnRFdmVudC5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBs
ZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmlkbCBc
CiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5
UmVxdWVzdC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9iZWFjb24vTmF2aWdhdG9yQmVh
Y29uLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2NhY2hlL0RPTVdpbmRvd0NhY2hlcy5p
ZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBh
eVZhbGlkYXRlTWVyY2hhbnRFdmVudC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBh
eS9BcHBsZVBheVZhbGlkYXRlTWVyY2hhbnRFdmVudC5oCmluZGV4IDQ1MTU1OTgzMWMwNDg4NTc5
M2RiZWNkZTliYzYyY2FjZGVhNTg5ZjYuLjA0MzU4MzFiYWY4ZmNlY2QzYTEwY2VlM2VjOTMzNjRm
NzQzZDc2ZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlWYWxpZGF0ZU1lcmNoYW50RXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2FwcGxlcGF5L0FwcGxlUGF5VmFsaWRhdGVNZXJjaGFudEV2ZW50LmgKQEAgLTMyLDcgKzMyLDcg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBBcHBsZVBheVZhbGlkYXRlTWVyY2hh
bnRFdmVudCBmaW5hbCA6IHB1YmxpYyBFdmVudCB7CitjbGFzcyBBcHBsZVBheVZhbGlkYXRlTWVy
Y2hhbnRFdmVudCA6IHB1YmxpYyBFdmVudCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxBcHBs
ZVBheVZhbGlkYXRlTWVyY2hhbnRFdmVudD4gY3JlYXRlKGNvbnN0IEF0b21pY1N0cmluZyYgdHlw
ZSwgY29uc3QgVVJMJiB2YWxpZGF0aW9uVVJMKQogICAgIHsKQEAgLTQzLDEyICs0MywxMyBAQCBw
dWJsaWM6CiAKICAgICBjb25zdCBTdHJpbmcmIHZhbGlkYXRpb25VUkwoKSBjb25zdCB7IHJldHVy
biBtX3ZhbGlkYXRpb25VUkwuc3RyaW5nKCk7IH0KIAotcHJpdmF0ZToKK3Byb3RlY3RlZDoKICAg
ICBBcHBsZVBheVZhbGlkYXRlTWVyY2hhbnRFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUs
IGNvbnN0IFVSTCYgdmFsaWRhdGlvblVSTCk7CiAKICAgICAvLyBFdmVudC4KICAgICBFdmVudElu
dGVyZmFjZSBldmVudEludGVyZmFjZSgpIGNvbnN0IG92ZXJyaWRlOwogCitwcml2YXRlOgogICAg
IGNvbnN0IFVSTCBtX3ZhbGlkYXRpb25VUkw7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TWVyY2hhbnRWYWxp
ZGF0aW9uRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50
cmVxdWVzdC9BcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmNwcApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
YThhNmE0ZDViNTAyMTZmNGU1M2Q5NDZmMzBlMTRkOTM5ZDIzNGM1Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBh
eU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmNwcApAQCAtMCwwICsxLDc4IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkFwcGxlUGF5TWVyY2hhbnRWYWxpZGF0
aW9uRXZlbnQuaCIKKworI2lmIEVOQUJMRShBUFBMRV9QQVkpICYmIEVOQUJMRShQQVlNRU5UX1JF
UVVFU1QpCisKKyNpbmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIk1haW5GcmFtZS5oIgor
I2luY2x1ZGUgIlBheW1lbnRDb29yZGluYXRvci5oIgorI2luY2x1ZGUgIlBheW1lbnRNZXJjaGFu
dFNlc3Npb24uaCIKKyNpbmNsdWRlIDxydW50aW1lL0pTT2JqZWN0Lmg+CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworUmVmPEFwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQ+IEFwcGxlUGF5
TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQ6OmNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUs
IGNvbnN0IFVSTCYgdmFsaWRhdGlvblVSTCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBB
cHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50KHR5cGUsIHZhbGlkYXRpb25VUkwpKTsKK30K
KworQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudDo6QXBwbGVQYXlNZXJjaGFudFZhbGlk
YXRpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IFVSTCYgdmFsaWRhdGlv
blVSTCkKKyAgICA6IEFwcGxlUGF5VmFsaWRhdGVNZXJjaGFudEV2ZW50IHsgdHlwZSwgdmFsaWRh
dGlvblVSTCB9Cit7Cit9CisKK0V4Y2VwdGlvbk9yPHZvaWQ+IEFwcGxlUGF5TWVyY2hhbnRWYWxp
ZGF0aW9uRXZlbnQ6OmNvbXBsZXRlKERvY3VtZW50JiBkb2N1bWVudCwgSlNDOjpKU1ZhbHVlIG1l
cmNoYW50U2Vzc2lvblZhbHVlKQoreworICAgIGlmIChtX2lzQ29tcGxldGVkKQorICAgICAgICBy
ZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IgfTsKKyAgICBtX2lzQ29tcGxldGVk
ID0gdHJ1ZTsKKworICAgIGF1dG8mIHBheW1lbnRDb29yZGluYXRvciA9IGRvY3VtZW50LmZyYW1l
KCktPm1haW5GcmFtZSgpLnBheW1lbnRDb29yZGluYXRvcigpOworICAgIGlmICghcGF5bWVudENv
b3JkaW5hdG9yLmhhc0FjdGl2ZVNlc3Npb24oKSkKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7
IEludmFsaWRTdGF0ZUVycm9yIH07CisKKyAgICBpZiAoIW1lcmNoYW50U2Vzc2lvblZhbHVlLmlz
T2JqZWN0KCkpCisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3IgfTsKKworICAg
IFN0cmluZyBlcnJvck1lc3NhZ2U7CisgICAgYXV0byBtZXJjaGFudFNlc3Npb24gPSBQYXltZW50
TWVyY2hhbnRTZXNzaW9uOjpmcm9tSlMoKmRvY3VtZW50LmV4ZWNTdGF0ZSgpLCBhc09iamVjdCht
ZXJjaGFudFNlc3Npb25WYWx1ZSksIGVycm9yTWVzc2FnZSk7CisgICAgaWYgKCFtZXJjaGFudFNl
c3Npb24pCisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3IsIFdURk1vdmUoZXJy
b3JNZXNzYWdlKSB9OworCisgICAgcGF5bWVudENvb3JkaW5hdG9yLmNvbXBsZXRlTWVyY2hhbnRW
YWxpZGF0aW9uKCptZXJjaGFudFNlc3Npb24pOworICAgIHJldHVybiB7IH07Cit9CisKK0V2ZW50
SW50ZXJmYWNlIEFwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQ6OmV2ZW50SW50ZXJmYWNl
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudElu
dGVyZmFjZVR5cGU7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVO
QUJMRShBUFBMRV9QQVkpICYmIEVOQUJMRShQQVlNRU5UX1JFUVVFU1QpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TWVy
Y2hhbnRWYWxpZGF0aW9uRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
cGF5bWVudHJlcXVlc3QvQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmQ1NzQwMWE2M2Q4ODI4ZmI0NDU4ZTIyMmViNWFkNTdiNmIwMGEyZGUKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0Fw
cGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaApAQCAtMCwwICsxLDU2IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoQVBQTEVfUEFZKSAmJiBFTkFCTEUoUEFZ
TUVOVF9SRVFVRVNUKQorCisjaW5jbHVkZSAiQXBwbGVQYXlWYWxpZGF0ZU1lcmNoYW50RXZlbnQu
aCIKKworbmFtZXNwYWNlIEpTQyB7CitjbGFzcyBKU1ZhbHVlOworfQorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK2NsYXNzIERvY3VtZW50OworCitjbGFzcyBBcHBsZVBheU1lcmNoYW50VmFsaWRh
dGlvbkV2ZW50IGZpbmFsIDogcHVibGljIEFwcGxlUGF5VmFsaWRhdGVNZXJjaGFudEV2ZW50IHsK
K3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPEFwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQ+
IGNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmLCBjb25zdCBVUkwmKTsKKyAgICBFeGNlcHRpb25P
cjx2b2lkPiBjb21wbGV0ZShEb2N1bWVudCYsIEpTQzo6SlNWYWx1ZSk7CisKK3ByaXZhdGU6Cisg
ICAgQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmLCBj
b25zdCBVUkwmKTsKKworICAgIC8vIEV2ZW50CisgICAgRXZlbnRJbnRlcmZhY2UgZXZlbnRJbnRl
cmZhY2UoKSBjb25zdCBmaW5hbDsKKworICAgIGJvb2wgbV9pc0NvbXBsZXRlZCB7IGZhbHNlIH07
Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoQVBQTEVf
UEFZKSAmJiBFTkFCTEUoUEFZTUVOVF9SRVFVRVNUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheU1lcmNoYW50VmFsaWRh
dGlvbkV2ZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJl
cXVlc3QvQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5pZGwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWZi
ZDc0YTZhZmVlNDQ4ZGRiNDczNmNiMjY5YTI5YzBlYjgxMmQ4NgotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlN
ZXJjaGFudFZhbGlkYXRpb25FdmVudC5pZGwKQEAgLTAsMCArMSwzMSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
K1sKKyAgICBDb25kaXRpb25hbD1BUFBMRV9QQVkmUEFZTUVOVF9SRVFVRVNULAorICAgIE5vSW50
ZXJmYWNlT2JqZWN0LAorXSBpbnRlcmZhY2UgQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVu
dCA6IEFwcGxlUGF5VmFsaWRhdGVNZXJjaGFudEV2ZW50IHsKKyAgICBbTWF5VGhyb3dFeGNlcHRp
b24sIENhbGxXaXRoPURvY3VtZW50XSB2b2lkIGNvbXBsZXRlKGFueSBtZXJjaGFudFNlc3Npb24p
OworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVu
dHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVudEhhbmRsZXIuY3BwCmlu
ZGV4IDI4NTBiOWQ3MjAyMjllMWY5Y2U2Yzc5MjJmYmFmMmE0NzRkNDJmNGIuLmY2NTAyNzkxOGMz
Mzg1MTEzMjI0NDQwOGIwYjQzZjUzMzRmNWYyODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9B
cHBsZVBheVBheW1lbnRIYW5kbGVyLmNwcApAQCAtMzAsOCArMzAsMTAgQEAKIAogI2luY2x1ZGUg
IkFwcGxlUGF5Q29udGFjdEZpZWxkLmgiCiAjaW5jbHVkZSAiQXBwbGVQYXlNZXJjaGFudENhcGFi
aWxpdHkuaCIKKyNpbmNsdWRlICJBcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmgiCiAj
aW5jbHVkZSAiQXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3QuaCIKICNpbmNsdWRlICJEb2N1
bWVudC5oIgorI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJKU0FwcGxlUGF5UmVx
dWVzdC5oIgogI2luY2x1ZGUgIkxpbmtJY29uQ29sbGVjdG9yLmgiCiAjaW5jbHVkZSAiTWFpbkZy
YW1lLmgiCkBAIC0yMzIsNiArMjM0LDEyIEBAIHZvaWQgQXBwbGVQYXlQYXltZW50SGFuZGxlcjo6
Y2FuTWFrZVBheW1lbnQoRG9jdW1lbnQmIGRvY3VtZW50LCBXVEY6OkZ1bmN0aW9uPHZvCiAgICAg
cGF5bWVudENvb3JkaW5hdG9yKGRvY3VtZW50KS5jYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2Fy
ZChtX2FwcGxlUGF5UmVxdWVzdC0+bWVyY2hhbnRJZGVudGlmaWVyLCBkb2N1bWVudC5kb21haW4o
KSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogfQogCit2b2lkIEFwcGxlUGF5UGF5bWVu
dEhhbmRsZXI6OnZhbGlkYXRlTWVyY2hhbnQoY29uc3QgVVJMJiB2YWxpZGF0aW9uVVJMKQorewor
ICAgIGlmICh2YWxpZGF0aW9uVVJMLmlzVmFsaWQoKSkKKyAgICAgICAgbV9wYXltZW50UmVxdWVz
dC0+ZGlzcGF0Y2hFdmVudChBcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50OjpjcmVhdGUo
ZXZlbnROYW1lcygpLmFwcGxlcGF5dmFsaWRhdGVtZXJjaGFudEV2ZW50LCB2YWxpZGF0aW9uVVJM
KS5nZXQoKSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJM
RShBUFBMRV9QQVkpICYmIEVOQUJMRShQQVlNRU5UX1JFUVVFU1QpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVu
dEhhbmRsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVl
c3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5oCmluZGV4IDFlMWExOTRhYjE5YTcyM2IyZDdmMTk0
NTQwMzIwODEzNzY5ZDg1NzAuLjdmNzE5ZWJhNDAyZDAzZWYwMjJlZWU3YTNjNjQ5NmQxNDBkY2Ey
MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJl
cXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5oCkBAIC01
Myw3ICs1Myw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjYW5NYWtlUGF5bWVudChEb2N1bWVudCYs
IFdURjo6RnVuY3Rpb248dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikgZmluYWw7CiAK
ICAgICAvLyBQYXltZW50U2Vzc2lvbgotICAgIHZvaWQgdmFsaWRhdGVNZXJjaGFudChjb25zdCBV
UkwmKSBmaW5hbCB7IH0KKyAgICB2b2lkIHZhbGlkYXRlTWVyY2hhbnQoY29uc3QgVVJMJikgZmlu
YWw7CiAgICAgdm9pZCBkaWRBdXRob3JpemVQYXltZW50KGNvbnN0IFBheW1lbnQmKSBmaW5hbCB7
IH0KICAgICB2b2lkIGRpZFNlbGVjdFNoaXBwaW5nTWV0aG9kKGNvbnN0IEFwcGxlUGF5U2Vzc2lv
blBheW1lbnRSZXF1ZXN0OjpTaGlwcGluZ01ldGhvZCYpIGZpbmFsIHsgfQogICAgIHZvaWQgZGlk
U2VsZWN0U2hpcHBpbmdDb250YWN0KGNvbnN0IFBheW1lbnRDb250YWN0JikgZmluYWwgeyB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRS
ZXF1ZXN0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVu
dFJlcXVlc3QuaWRsCmluZGV4IGM5NWZlOGVkM2UxMjkxMjkxNmRlZWQxMDE4NmMyMmRiNzlkMDRi
NDMuLjdmYTM5OWE4N2FmMzc2ZGZkNTY4NDc2NmQ1YzcyZTkxYjJlMzMxZTYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVl
c3QuaWRsCkBAIC00Miw2ICs0Miw3IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFBheW1lbnRT
aGlwcGluZ1R5cGU/IHNoaXBwaW5nVHlwZTsKIAogICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIg
b25zaGlwcGluZ2FkZHJlc3NjaGFuZ2U7Ci0KICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9u
c2hpcHBpbmdvcHRpb25jaGFuZ2U7CisKKyAgICBbQ29uZGl0aW9uYWw9QVBQTEVfUEFZXSBhdHRy
aWJ1dGUgRXZlbnRIYW5kbGVyIG9uYXBwbGVwYXl2YWxpZGF0ZW1lcmNoYW50OwogfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBk
ZTkyYTg5Zjc2ZmViOThmMjUwZjNhYWM2YWY2MGVkMjYyYWNkOWRhLi44YmM0ZGJhZGUxZDU4YTVl
OGFjMmY0YzE2M2UyNjI3MGM3NTNjNjI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC00NTM4LDYgKzQ1MzgsMTAgQEAKIAkJQTFG
NzZCNTUxRjQ0RDJDNzAwMTRDMzE4IC8qIFBheW1lbnRTaGlwcGluZ09wdGlvbi5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFGNzZCNTIxRjQ0RDJDNzAw
MTRDMzE4IC8qIFBheW1lbnRTaGlwcGluZ09wdGlvbi5oICovOyB9OwogCQlBMUY3NkI1QjFGNDRE
M0IyMDAxNEMzMTggLyogUGF5bWVudENvbXBsZXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMUY3NkI1ODFGNDREM0IyMDAxNEMzMTggLyogUGF5bWVu
dENvbXBsZXRlLmggKi87IH07CiAJCUExRjc4RDBDMUMyNTQyNEMwMDI0NTQ0NiAvKiBSZXNvdXJj
ZVJlc3BvbnNlQ29jb2EubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBMUY3OEQwQjFDMjU0MjJDMDAyNDU0NDYgLyogUmVzb3VyY2VSZXNwb25zZUNvY29h
Lm1tICovOyB9OworCQlBMUY5Mjk2OTFGOEQ5Q0RCMDA1MjNBRjMgLyogQXBwbGVQYXlNZXJjaGFu
dFZhbGlkYXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTFGOTI5NjYxRjhEOUNEQjAwNTIzQUYzIC8qIEFwcGxlUGF5TWVyY2hhbnRWYWxp
ZGF0aW9uRXZlbnQuaCAqLzsgfTsKKwkJQTFGOTI5NkExRjhEOUNEQjAwNTIzQUYzIC8qIEFwcGxl
UGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTFGOTI5NjcxRjhEOUNEQjAwNTIzQUYzIC8qIEFwcGxlUGF5
TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuY3BwICovOyB9OworCQlBMUY5Mjk2RjFGOEQ5RjVCMDA1
MjNBRjMgLyogSlNBcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExRjkyOTZEMUY4RDlGNUEwMDUy
M0FGMyAvKiBKU0FwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuY3BwICovOyB9OworCQlB
MUY5Mjk3MDFGOEQ5RjVCMDA1MjNBRjMgLyogSlNBcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2
ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMUY5
Mjk2RTFGOEQ5RjVCMDA1MjNBRjMgLyogSlNBcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50
LmggKi87IH07CiAJCUEyQjkyMTczMTZDNUNDNDIwMDQxRENEOSAvKiBJbnRSZWN0RXh0ZW50Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMkI5MjE3MjE2
QzVDQzQyMDA0MURDRDkgLyogSW50UmVjdEV4dGVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUEzMUM0RTREMTZFMDJBQTYwMDJGNzk1NyAvKiBP
RVNUZXh0dXJlSGFsZkZsb2F0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEEzMUM0RTRDMTZFMDJBQTYwMDJGNzk1NyAvKiBPRVNUZXh0dXJlSGFsZkZs
b2F0LmNwcCAqLzsgfTsKIAkJQTMxQzRFNEYxNkUwMkFCNDAwMkY3OTU3IC8qIE9FU1RleHR1cmVI
YWxmRmxvYXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEEzMUM0RTRFMTZFMDJBQjQwMDJGNzk1NyAvKiBPRVNUZXh0dXJlSGFsZkZsb2F0LmggKi87IH07
CkBAIC0xMzA0Niw2ICsxMzA1MCwxMSBAQAogCQlBMUY3NkI1ODFGNDREM0IyMDAxNEMzMTggLyog
UGF5bWVudENvbXBsZXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBheW1lbnRDb21wbGV0ZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMUY3NkI1QTFGNDREM0IyMDAxNEMzMTggLyogUGF5
bWVudENvbXBsZXRlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQYXltZW50Q29tcGxldGUuaWRsOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlBMUY3OEQwQjFDMjU0MjJDMDAyNDU0NDYgLyogUmVzb3VyY2VSZXNw
b25zZUNvY29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUmVz
b3VyY2VSZXNwb25zZUNvY29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMUY5
Mjk2NjFGOEQ5Q0RCMDA1MjNBRjMgLyogQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBBcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUExRjkyOTY3MUY4RDlDREIwMDUyM0FGMyAvKiBBcHBs
ZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFwcGxl
UGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlBMUY5Mjk2ODFGOEQ5Q0RCMDA1MjNBRjMgLyogQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRp
b25FdmVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUExRjkyOTZEMUY4RDlGNUEwMDUyM0FGMyAvKiBK
U0FwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSlNBcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTFGOTI5NkUxRjhEOUY1QjAwNTIzQUYzIC8q
IEpTQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBKU0FwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTIwOEUyMjJBNTZBMEM3NTc1RjJBNzJFIC8qIFJlbmRl
ck1hdGhNTE1lbmNsb3NlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRl
ck1hdGhNTE1lbmNsb3NlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUEyQjkyMTcy
MTZDNUNDNDIwMDQxRENEOSAvKiBJbnRSZWN0RXh0ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEludFJlY3RFeHRlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQTMxQzRFNEMxNkUwMkFBNjAwMkY3OTU3IC8qIE9FU1RleHR1cmVIYWxmRmxvYXQuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gT0VTVGV4dHVyZUhhbGZGbG9hdC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNzQ0Myw2ICsxNzQ1Miw4IEBACiAJ
CQkJN0M2NTc5RUExRTAwODU2NjAwRTNBMjdBIC8qIEpTQXBwbGVQYXlMaW5lSXRlbS5oICovLAog
CQkJCUExREY1QTg5MUY3RUMwMDAwMDU4QTQ3NyAvKiBKU0FwcGxlUGF5TWVyY2hhbnRDYXBhYmls
aXR5LmNwcCAqLywKIAkJCQlBMURGNUE4QTFGN0VDMDAwMDA1OEE0NzcgLyogSlNBcHBsZVBheU1l
cmNoYW50Q2FwYWJpbGl0eS5oICovLAorCQkJCUExRjkyOTZEMUY4RDlGNUEwMDUyM0FGMyAvKiBK
U0FwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuY3BwICovLAorCQkJCUExRjkyOTZFMUY4
RDlGNUIwMDUyM0FGMyAvKiBKU0FwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaCAqLywK
IAkJCQk3QzY1MjMxRDFFMDE4QjVBMDA2NzdGMjIgLyogSlNBcHBsZVBheVBheW1lbnQuY3BwICov
LAogCQkJCTdDNjUyMzBBMUUwMERCQjQwMDY3N0YyMiAvKiBKU0FwcGxlUGF5UGF5bWVudC5oICov
LAogCQkJCTFBREZERkUzMUU3MURDQTAwMDhGNUQzNCAvKiBKU0FwcGxlUGF5UGF5bWVudEF1dGhv
cml6YXRpb25SZXN1bHQuY3BwICovLApAQCAtMjE3MjcsNiArMjE3MzgsOSBAQAogCQlBMURGNUE5
RjFGN0VFMEYxMDA1OEE0NzcgLyogcGF5bWVudHJlcXVlc3QgKi8gPSB7CiAJCQlpc2EgPSBQQlhH
cm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCUExRjkyOTY3MUY4RDlDREIwMDUyM0FGMyAvKiBB
cHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmNwcCAqLywKKwkJCQlBMUY5Mjk2NjFGOEQ5
Q0RCMDA1MjNBRjMgLyogQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5oICovLAorCQkJ
CUExRjkyOTY4MUY4RDlDREIwMDUyM0FGMyAvKiBBcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2
ZW50LmlkbCAqLywKIAkJCQlBMURGNUFBMTFGN0VFMTEzMDA1OEE0NzcgLyogQXBwbGVQYXlQYXlt
ZW50SGFuZGxlci5jcHAgKi8sCiAJCQkJQTFERjVBQTAxRjdFRTExMzAwNThBNDc3IC8qIEFwcGxl
UGF5UGF5bWVudEhhbmRsZXIuaCAqLywKIAkJCQlBMURGNUE3QzFGN0VCRDBCMDA1OEE0NzcgLyog
QXBwbGVQYXlSZXF1ZXN0LmggKi8sCkBAIC0yNzIxOSw2ICsyNzIzMyw3IEBACiAJCQkJQTFERjVB
OTQxRjdFQzQzMjAwNThBNDc3IC8qIEFwcGxlUGF5Q29udGFjdEZpZWxkLmggaW4gSGVhZGVycyAq
LywKIAkJCQk3QzY1NzlFMzFFMDA4MjcwMDBFM0EyN0EgLyogQXBwbGVQYXlMaW5lSXRlbS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQTFERjVBODYxRjdFQkRGMjAwNThBNDc3IC8qIEFwcGxlUGF5TWVy
Y2hhbnRDYXBhYmlsaXR5LmggaW4gSGVhZGVycyAqLywKKwkJCQlBMUY5Mjk2OTFGOEQ5Q0RCMDA1
MjNBRjMgLyogQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJN0M2NTIzMDExRTAwRDAzNDAwNjc3RjIyIC8qIEFwcGxlUGF5UGF5bWVudC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMUE4QTY0NTIxRDE5RkNGQjAwRDBFMDBGIC8qIEFwcGxlUGF5UGF5bWVu
dEF1dGhvcml6ZWRFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0M2NTIyRkIxRTAwQzkwOTAw
Njc3RjIyIC8qIEFwcGxlUGF5UGF5bWVudENvbnRhY3QuaCBpbiBIZWFkZXJzICovLApAQCAtMjg0
ODQsNiArMjg0OTksNyBAQAogCQkJCUExREY1QTk5MUY3RUM4QzAwMDU4QTQ3NyAvKiBKU0FwcGxl
UGF5Q29udGFjdEZpZWxkLmggaW4gSGVhZGVycyAqLywKIAkJCQk3QzY1NzlGMDFFMDA4NTY2MDBF
M0EyN0EgLyogSlNBcHBsZVBheUxpbmVJdGVtLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMURGNUE4
RTFGN0VDMDAyMDA1OEE0NzcgLyogSlNBcHBsZVBheU1lcmNoYW50Q2FwYWJpbGl0eS5oIGluIEhl
YWRlcnMgKi8sCisJCQkJQTFGOTI5NzAxRjhEOUY1QjAwNTIzQUYzIC8qIEpTQXBwbGVQYXlNZXJj
aGFudFZhbGlkYXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0M2NTIzMTQxRTAwREJC
NDAwNjc3RjIyIC8qIEpTQXBwbGVQYXlQYXltZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUU5
NkE4QjFEMUEwREREMDBCODY3NjggLyogSlNBcHBsZVBheVBheW1lbnRBdXRob3JpemVkRXZlbnQu
aCBpbiBIZWFkZXJzICovLAogCQkJCTdDNjUyMzE2MUUwMERCQjUwMDY3N0YyMiAvKiBKU0FwcGxl
UGF5UGF5bWVudENvbnRhY3QuaCBpbiBIZWFkZXJzICovLApAQCAtMzE0MTksNiArMzE0MzUsNyBA
QAogCQkJCUExREY1QUI1MUY4MDc4RjMwMDU4QTQ3NyAvKiBBcHBsZVBheUNvbnRhY3RGaWVsZC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQkxQURGREZFMDFFNzFEOEVFMDA4RjVEMzQgLyogQXBwbGVQ
YXlFcnJvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBMURGNUFBOTFGODA3MEQ0MDA1OEE0Nzcg
LyogQXBwbGVQYXlNZXJjaGFudENhcGFiaWxpdHkuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTFG
OTI5NkExRjhEOUNEQjAwNTIzQUYzIC8qIEFwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE4QTY0NTExRDE5RkNGQjAwRDBFMDBGIC8qIEFwcGxl
UGF5UGF5bWVudEF1dGhvcml6ZWRFdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBMURGNUFB
MzFGN0VFMTEzMDA1OEE0NzcgLyogQXBwbGVQYXlQYXltZW50SGFuZGxlci5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkxQThBNjQ1NDFEMTlGQ0ZDMDBEMEUwMEYgLyogQXBwbGVQYXlQYXltZW50TWV0
aG9kU2VsZWN0ZWRFdmVudC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMyNTE5LDYgKzMyNTM2LDcg
QEAKIAkJCQkxQURGREZFQzFFNzFFNDU1MDA4RjVEMzQgLyogSlNBcHBsZVBheUVycm9yLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTdDNjU3OUVGMUUwMDg1NjYwMEUzQTI3QSAvKiBKU0FwcGxlUGF5
TGluZUl0ZW0uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTFERjVBOEQxRjdFQzAwMjAwNThBNDc3
IC8qIEpTQXBwbGVQYXlNZXJjaGFudENhcGFiaWxpdHkuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
QTFGOTI5NkYxRjhEOUY1QjAwNTIzQUYzIC8qIEpTQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25F
dmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QzY1MjMxRTFFMDE4QjVBMDA2NzdGMjIgLyog
SlNBcHBsZVBheVBheW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFERkRGRjAxRTcxRTRB
QzAwOEY1RDM0IC8qIEpTQXBwbGVQYXlQYXltZW50QXV0aG9yaXphdGlvblJlc3VsdC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQkxQUU5NkE4QTFEMUEwREREMDBCODY3NjggLyogSlNBcHBsZVBheVBh
eW1lbnRBdXRob3JpemVkRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFt
ZXMuaAppbmRleCBhZmQwOTg3ZDE0NjI3ZDJlZTM5YjcwNjMzZGE1ZmYwZmU0NzI3ODQxLi45ZjQ5
NTcwNDgxYjE5MWFlZTY5ZGQ5NDBkN2U4ZDgyMzEwMzgzNTc0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5h
bWVzLmgKQEAgLTUzLDYgKzUzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKGFu
aW1hdGlvbmVuZCkgXAogICAgIG1hY3JvKGFuaW1hdGlvbml0ZXJhdGlvbikgXAogICAgIG1hY3Jv
KGFuaW1hdGlvbnN0YXJ0KSBcCisgICAgbWFjcm8oYXBwbGVwYXl2YWxpZGF0ZW1lcmNoYW50KSBc
CiAgICAgbWFjcm8oYXVkaW9lbmQpIFwKICAgICBtYWNybyhhdWRpb3Byb2Nlc3MpIFwKICAgICBt
YWNybyhhdWRpb3N0YXJ0KSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRO
YW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCmluZGV4IDc4Zjc4ZGU4
ZjM1MjFlZTE5MGU5NWE2MzdlNzY5NWRjOTA5MGZhZjcuLjc5ZmYzZmNhY2Y4Nzg4NTQwZDZlZjkw
YWU4YjBjNmNhMzM3MTk5YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5h
bWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCkBAIC0zNSw2ICsz
NSw3IEBAIFdlYktpdEFuaW1hdGlvbkV2ZW50CiBXZWJLaXRUcmFuc2l0aW9uRXZlbnQKIFdoZWVs
RXZlbnQKIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudAorQXBwbGVQYXlNZXJjaGFudFZhbGlk
YXRpb25FdmVudCBjb25kaXRpb25hbD1BUFBMRV9QQVkKIEFwcGxlUGF5UGF5bWVudEF1dGhvcml6
ZWRFdmVudCBjb25kaXRpb25hbD1BUFBMRV9QQVkKIEFwcGxlUGF5UGF5bWVudE1ldGhvZFNlbGVj
dGVkRXZlbnQgY29uZGl0aW9uYWw9QVBQTEVfUEFZCiBBcHBsZVBheVNoaXBwaW5nQ29udGFjdFNl
bGVjdGVkRXZlbnQgY29uZGl0aW9uYWw9QVBQTEVfUEFZCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5jcHAKaW5kZXggZDlmNjFmZjMwOTQ4NmFjMzFhY2MzNWU1MWJmZDU5YWYxYTQ3ZGFlYS4u
YjA1NzU4ZDg2ZTIzNjAwMWJmY2UzZTczYmMxMTdlOWZkOTFhMWQ4YyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtNTA4LDcgKzUwOCw3IEBAIEludGVybmFsczo6SW50ZXJu
YWxzKERvY3VtZW50JiBkb2N1bWVudCkKIAogI2lmIEVOQUJMRShBUFBMRV9QQVkpCiAgICAgaWYg
KGF1dG8gZnJhbWUgPSBkb2N1bWVudC5mcmFtZSgpKQotICAgICAgICBmcmFtZS0+bWFpbkZyYW1l
KCkuc2V0UGF5bWVudENvb3JkaW5hdG9yKHN0ZDo6bWFrZV91bmlxdWU8UGF5bWVudENvb3JkaW5h
dG9yPigqbmV3IE1vY2tQYXltZW50Q29vcmRpbmF0b3IoKSkpOworICAgICAgICBmcmFtZS0+bWFp
bkZyYW1lKCkuc2V0UGF5bWVudENvb3JkaW5hdG9yKHN0ZDo6bWFrZV91bmlxdWU8UGF5bWVudENv
b3JkaW5hdG9yPigqbmV3IE1vY2tQYXltZW50Q29vcmRpbmF0b3IoZnJhbWUtPm1haW5GcmFtZSgp
KSkpOwogI2VuZGlmCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9j
a1BheW1lbnRDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXlt
ZW50Q29vcmRpbmF0b3IuY3BwCmluZGV4IGZmN2E0YTRmYjBkZjk4N2NlOWY5YjcxNGRjODViNGJj
ODI5NzJhMjcuLjk3OTRiMjhkYzk0MzJhZWExYjg0YTQ5YTQ3ZDE0MTgzNTBlMzE0MWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmNwcApA
QCAtMjgsMTAgKzI4LDE4IEBACiAKICNpZiBFTkFCTEUoQVBQTEVfUEFZKQogCisjaW5jbHVkZSAi
TWFpbkZyYW1lLmgiCisjaW5jbHVkZSAiUGF5bWVudENvb3JkaW5hdG9yLmgiCisjaW5jbHVkZSAi
VVJMLmgiCiAjaW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CitNb2NrUGF5bWVudENvb3JkaW5hdG9yOjpNb2NrUGF5bWVudENvb3JkaW5hdG9yKE1haW5GcmFt
ZSYgbWFpbkZyYW1lKQorICAgIDogbV9tYWluRnJhbWUgeyBtYWluRnJhbWUgfQoreworfQorCiBi
b29sIE1vY2tQYXltZW50Q29vcmRpbmF0b3I6OnN1cHBvcnRzVmVyc2lvbih1bnNpZ25lZCB2ZXJz
aW9uKQogewogICAgIEFTU0VSVCh2ZXJzaW9uID4gMCk7CkBAIC02Niw2ICs3NCw5IEBAIHZvaWQg
TW9ja1BheW1lbnRDb29yZGluYXRvcjo6b3BlblBheW1lbnRTZXR1cChjb25zdCBTdHJpbmcmLCBj
b25zdCBTdHJpbmcmLCBXVEY6CiAKIGJvb2wgTW9ja1BheW1lbnRDb29yZGluYXRvcjo6c2hvd1Bh
eW1lbnRVSShjb25zdCBVUkwmLCBjb25zdCBWZWN0b3I8VVJMPiYsIGNvbnN0IEFwcGxlUGF5U2Vz
c2lvblBheW1lbnRSZXF1ZXN0JikKIHsKKyAgICBSdW5Mb29wOjptYWluKCkuZGlzcGF0Y2goW21h
aW5GcmFtZSA9IG1ha2VSZWYobV9tYWluRnJhbWUpXSgpIHsKKyAgICAgICAgbWFpbkZyYW1lLT5w
YXltZW50Q29vcmRpbmF0b3IoKS52YWxpZGF0ZU1lcmNoYW50KHsgVVJMKCksIEFTQ0lJTGl0ZXJh
bCgiaHR0cHM6Ly93ZWJraXQub3JnLyIpIH0pOworICAgIH0pOwogICAgIHJldHVybiB0cnVlOwog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50Q29vcmRp
bmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5o
CmluZGV4IGE5Y2E3ZWU2NzY4MDBmMTA4ZmZlYjc5MWFiNmVlNjJjOWJiMzE5YmEuLjIyYmU5YjNh
ODJiM2M2ZWQyOTM4YTM1ZGU3NjY1MDMzYzZjYTYxNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5oCkBAIC0zMCw4ICszMCwxMyBAQAogI2lu
Y2x1ZGUgIlBheW1lbnRDb29yZGluYXRvckNsaWVudC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CisgICAgCitjbGFzcyBNYWluRnJhbWU7CiAKIGNsYXNzIE1vY2tQYXltZW50Q29vcmRpbmF0b3Ig
ZmluYWwgOiBwdWJsaWMgUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50IHsKK3B1YmxpYzoKKyAgICBl
eHBsaWNpdCBNb2NrUGF5bWVudENvb3JkaW5hdG9yKE1haW5GcmFtZSYpOworCiBwcml2YXRlOgog
ICAgIGJvb2wgc3VwcG9ydHNWZXJzaW9uKHVuc2lnbmVkKSBmaW5hbDsKICAgICBib29sIGNhbk1h
a2VQYXltZW50cygpIGZpbmFsOwpAQCAtNDYsNiArNTEsOCBAQCBwcml2YXRlOgogICAgIHZvaWQg
YWJvcnRQYXltZW50U2Vzc2lvbigpIGZpbmFsIHsgfQogICAgIHZvaWQgY2FuY2VsUGF5bWVudFNl
c3Npb24oKSBmaW5hbCB7IH0KICAgICB2b2lkIHBheW1lbnRDb29yZGluYXRvckRlc3Ryb3llZCgp
IGZpbmFsOworCisgICAgTWFpbkZyYW1lJiBtX21haW5GcmFtZTsKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCAzMDY4OGFlYTRhZWMxNjY1OTU4MzVhNTlkYmY3MzZmZTEwZWMw
NmZmLi5jNDZiNzVkNTJmYWQzMGY2Yjg0OTA3NTg4YTEzYjc0ODI5YjE4NDgyIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTMgQEAKKzIwMTctMTAtMTEgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgor
CisgICAgICAgIFtQYXltZW50IFJlcXVlc3RdIEltcGxlbWVudCBBcHBsZSBQYXkgbWVyY2hhbnQg
dmFsaWRhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTc4MTU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2
ZW50Lmh0dHBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zc2wv
YXBwbGVwYXkvQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5odHRwcy5odG1sOiBBZGRl
ZC4KKwogMjAxNy0xMC0xMCAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CiAKICAgICAg
ICAgW1BheW1lbnQgUmVxdWVzdF0gVmFsaWRhdGUgdGhhdCBhbGwgUGF5bWVudEN1cnJlbmN5QW1v
dW50cyB1c2UgdGhlIHNhbWUgY3VycmVuY3kgY29kZSB3aGVuIHVzaW5nIEFwcGxlIFBheQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlNZXJj
aGFudFZhbGlkYXRpb25FdmVudC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50Lmh0dHBz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjY1ZGQxYzE2ZTdlNmY1MGUwNDlhMzk5MTQ5MGU2
NmY2OTQyYWExCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wv
YXBwbGVwYXkvQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5odHRwcy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwyMCBAQAorVGVzdCB0aGUgYXBwbGVwYXl2YWxpZGF0ZW1lcmNoYW50IGV2
ZW50LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworVGVzdGluZyBBcHBsZVBheU1l
cmNoYW50VmFsaWRhdGlvbkV2ZW50CisKK1BBU1MgKCkgPT4gZXZlbnQuY29tcGxldGUodW5kZWZp
bmVkKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyAoKSA9PiBl
dmVudC5jb21wbGV0ZShudWxsKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9y
LgorUEFTUyAoKSA9PiBldmVudC5jb21wbGV0ZShbXSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJv
cjogVHlwZSBlcnJvci4KK1BBU1MgKCkgPT4gZXZlbnQuY29tcGxldGUoJycpIHRocmV3IGV4Y2Vw
dGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTICgpID0+IGV2ZW50LmNvbXBsZXRlKDcp
IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTICgpID0+IHsgZXZl
bnQuY29tcGxldGUoe30pOyBldmVudC5jb21wbGV0ZSh7fSk7IH0gdGhyZXcgZXhjZXB0aW9uIElu
dmFsaWRTdGF0ZUVycm9yOiBUaGUgb2JqZWN0IGlzIGluIGFuIGludmFsaWQgc3RhdGUuLgorUEFT
UyAoKSA9PiB7IHBheW1lbnRSZXF1ZXN0LmFib3J0KCk7IGV2ZW50LmNvbXBsZXRlKHt9KTsgfSB0
aHJldyBleGNlcHRpb24gSW52YWxpZFN0YXRlRXJyb3I6IFRoZSBvYmplY3QgaXMgaW4gYW4gaW52
YWxpZCBzdGF0ZS4uCitQQVNTICgpID0+IGV2ZW50LmNvbXBsZXRlKHt9KSBkaWQgbm90IHRocm93
IGV4Y2VwdGlvbi4KK1BBU1MgZXZlbnQudmFsaWRhdGlvblVSTCBpcyAnaHR0cHM6Ly93ZWJraXQu
b3JnLycKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBh
eU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50Lmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50Lmh0dHBzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNzExOWNhNzg5NWNlNWZkNWRiZjM1ZmI1OTk4ZmQwMGRlZjEzYjI3YQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0Fw
cGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaHR0cHMuaHRtbApAQCAtMCwwICsxLDc1IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+
Cis8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisKK2Rlc2NyaXB0aW9uKCJUZXN0IHRoZSBhcHBsZXBheXZh
bGlkYXRlbWVyY2hhbnQgZXZlbnQuIik7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworZnVuY3Rpb24gdmFsaWRQYXltZW50TWV0aG9kKCkgeworICAgIHJldHVybiB7CisgICAgICAg
IHN1cHBvcnRlZE1ldGhvZHM6ICdodHRwczovL2FwcGxlLmNvbS9hcHBsZS1wYXknLAorICAgICAg
ICBkYXRhOiB7CisgICAgICAgICAgICB2ZXJzaW9uOiAyLAorICAgICAgICAgICAgbWVyY2hhbnRJ
ZGVudGlmaWVyOiAnJywKKyAgICAgICAgICAgIGNvdW50cnlDb2RlOiAnVVMnLAorICAgICAgICAg
ICAgc3VwcG9ydGVkTmV0d29ya3M6IFsndmlzYScsICdtYXN0ZXJDYXJkJ10sCisgICAgICAgICAg
ICBtZXJjaGFudENhcGFiaWxpdGllczogWydzdXBwb3J0czNEUyddLAorICAgICAgICB9LAorICAg
IH0KK30KKworZnVuY3Rpb24gdmFsaWRQYXltZW50RGV0YWlscygpIHsKKyAgICByZXR1cm4gewor
ICAgICAgICB0b3RhbDogeyBsYWJlbDogJ1lvdXIgbGFiZWwnLCBhbW91bnQ6IHsgY3VycmVuY3k6
ICdVU0QnLCB2YWx1ZTogJzEwLjAwJyB9IH0sCisgICAgfQorfQorCitmdW5jdGlvbiBydW5UZXN0
KHRlc3QpIHsKKyAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4gewor
ICAgICAgICB2YXIgcGF5bWVudFJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoW3ZhbGlkUGF5
bWVudE1ldGhvZCgpXSwgdmFsaWRQYXltZW50RGV0YWlscygpKTsKKyAgICAgICAgcGF5bWVudFJl
cXVlc3Qub25hcHBsZXBheXZhbGlkYXRlbWVyY2hhbnQgPSAoZXZlbnQpID0+IHsKKyAgICAgICAg
ICAgIHRlc3QoZXZlbnQsIHBheW1lbnRSZXF1ZXN0KTsKKyAgICAgICAgICAgIHBheW1lbnRSZXF1
ZXN0LmFib3J0KCk7CisgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgIH07CisgICAgICAg
IHBheW1lbnRSZXF1ZXN0LnNob3coKS5jYXRjaCgoKSA9PiB7fSk7CisgICAgfSk7Cit9CisKK2Fz
eW5jIGZ1bmN0aW9uIGdvKCkgeworICAgIGRlYnVnKCJUZXN0aW5nIEFwcGxlUGF5TWVyY2hhbnRW
YWxpZGF0aW9uRXZlbnQiKQorICAgIGRlYnVnKCIiKQorCisgICAgYXdhaXQgcnVuVGVzdChldmVu
dCA9PiBzaG91bGRUaHJvdygoKSA9PiBldmVudC5jb21wbGV0ZSh1bmRlZmluZWQpKSk7CisgICAg
YXdhaXQgcnVuVGVzdChldmVudCA9PiBzaG91bGRUaHJvdygoKSA9PiBldmVudC5jb21wbGV0ZShu
dWxsKSkpOworICAgIGF3YWl0IHJ1blRlc3QoZXZlbnQgPT4gc2hvdWxkVGhyb3coKCkgPT4gZXZl
bnQuY29tcGxldGUoW10pKSk7CisgICAgYXdhaXQgcnVuVGVzdChldmVudCA9PiBzaG91bGRUaHJv
dygoKSA9PiBldmVudC5jb21wbGV0ZSgnJykpKTsKKyAgICBhd2FpdCBydW5UZXN0KGV2ZW50ID0+
IHNob3VsZFRocm93KCgpID0+IGV2ZW50LmNvbXBsZXRlKDcpKSk7CisgICAgYXdhaXQgcnVuVGVz
dChldmVudCA9PiBzaG91bGRUaHJvdygoKSA9PiB7IGV2ZW50LmNvbXBsZXRlKHt9KTsgZXZlbnQu
Y29tcGxldGUoe30pOyB9KSk7CisgICAgYXdhaXQgcnVuVGVzdCgoZXZlbnQsIHBheW1lbnRSZXF1
ZXN0KSA9PiBzaG91bGRUaHJvdygoKSA9PiB7IHBheW1lbnRSZXF1ZXN0LmFib3J0KCk7IGV2ZW50
LmNvbXBsZXRlKHt9KTsgfSkpOworICAgIGF3YWl0IHJ1blRlc3QoZXZlbnQgPT4gc2hvdWxkTm90
VGhyb3coKCkgPT4gZXZlbnQuY29tcGxldGUoe30pKSk7CisgICAgYXdhaXQgcnVuVGVzdChldmVu
dCA9PiBzaG91bGRCZSgiZXZlbnQudmFsaWRhdGlvblVSTCIsICInaHR0cHM6Ly93ZWJraXQub3Jn
LyciKSk7CisKKyAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJidXR0b24iKS5yZW1vdmUoKTsK
KyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKword2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgewor
ICAgIHZhciBidXR0b24gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJidXR0b24iKTsKKyAgICBs
ZXQgeCA9IGJ1dHRvbi5vZmZzZXRMZWZ0ICsgMjsKKyAgICBsZXQgeSA9IGJ1dHRvbi5vZmZzZXRU
b3AgKyAyOworICAgIFVJSGVscGVyLmFjdGl2YXRlQXQoeCwgeSk7Cit9CisKKzwvc2NyaXB0Pgor
PGJ1dHRvbiBvbmNsaWNrPSdnbygpJz5HbzwvYnV0dG9uPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>323421</attachid>
            <date>2017-10-11 09:35:00 -0700</date>
            <delta_ts>2017-10-11 10:48:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178159-20171011093459.patch</filename>
            <type>text/plain</type>
            <size>31282</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIzMTg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2FkNTUyYzYxZmE5OWJm
NTE1ZjNjNWE2NGRmMTVmNTMzMzgyMjRkYi4uMjgzYmZiYzIzZDY5NWNiMzMwNmM2ZDY5NTU4MmQ2
ZDgzMTU1MzllZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE3LTEwLTExICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbUGF5bWVudCBSZXF1ZXN0XSBJ
bXBsZW1lbnQgQXBwbGUgUGF5IG1lcmNoYW50IHZhbGlkYXRpb24KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODE1OQorCisgICAgICAgIFJldmlld2Vk
IGJ5IEJyYWR5IEVpZHNvbi4KKworICAgICAgICBXaGVuIEFwcGxlUGF5UGF5bWVudEhhbmRsZXI6
OnZhbGlkYXRlTWVyY2hhbnQoKSBpcyBjYWxsZWQsIGRpc3BhdGNoIHRoZQorICAgICAgICBhcHBs
ZXBheXZhbGlkYXRlbWVyY2hhbnQgZXZlbnQgdG8gdGhlIFBheW1lbnRSZXF1ZXN0IG9iamVjdC4K
KworICAgICAgICBUaGUgZXZlbnQgb2JqZWN0IGlzIGFuIEFwcGxlUGF5TWVyY2hhbnRWYWxpZGF0
aW9uRXZlbnQsIG9uIHdoaWNoIHRoZSBjbGllbnQgY2FsbHMgY29tcGxldGUoKQorICAgICAgICB3
aXRoIGEgbWVyY2hhbnQgc2Vzc2lvbi4KKworICAgICAgICBUZXN0OiBodHRwL3Rlc3RzL3NzbC9h
cHBsZXBheS9BcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50Lmh0dHBzLmh0bWwKKworICAg
ICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9B
cHBsZVBheVZhbGlkYXRlTWVyY2hhbnRFdmVudC5oOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVw
YXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5jcHA6IEFk
ZGVkLgorICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudDo6
Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZl
bnQ6OkFwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6
QXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudDo6Y29tcGxldGUpOgorICAgICAgICAoV2Vi
Q29yZTo6QXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudDo6ZXZlbnRJbnRlcmZhY2UgY29u
c3QpOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlN
ZXJjaGFudFZhbGlkYXRpb25FdmVudC5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2FwcGxl
cGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaWRsOiBB
ZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5
UGF5bWVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlQYXltZW50SGFu
ZGxlcjo6dmFsaWRhdGVNZXJjaGFudCk6CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9wYXlt
ZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5kbGVyLmg6CisgICAgICAgICogTW9kdWxlcy9w
YXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5pZGw6CisgICAgICAgICogV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGRvbS9FdmVudE5hbWVzLmg6CisgICAg
ICAgICogZG9tL0V2ZW50TmFtZXMuaW46CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpJbnRlcm5hbHMpOgorICAgICAgICAqIHRl
c3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNb2Nr
UGF5bWVudENvb3JkaW5hdG9yOjpNb2NrUGF5bWVudENvb3JkaW5hdG9yKToKKyAgICAgICAgKFdl
YkNvcmU6Ok1vY2tQYXltZW50Q29vcmRpbmF0b3I6OnNob3dQYXltZW50VUkpOgorICAgICAgICAq
IHRlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5oOgorCiAyMDE3LTEwLTExICBZdXN1a2Ug
U3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgogCiAgICAgICAgIFtKU0NdIERyb3AgSW5z
dGFudGlhdGUgaG9vayBpbiBFUzYgbW9kdWxlIGxvYWRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UKaW5kZXggNTdkZTE4ZWQ2ODcxNzE0ZjcyY2U3NzE5MWJlMzM2NzM3ZmRkOGZiNy4uZGFj
YzcwODBhMTNhOTU5ZTc2MTcyMGEyNGYxNTQ4Y2YzZTUwYzNkOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCkBAIC0xMDcsNiArMTA3LDcgQEAgSlNfQklORElOR19JRExTID0gXAogICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nTWV0aG9kU2VsZWN0
ZWRFdmVudC5pZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBw
aW5nTWV0aG9kVXBkYXRlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5VmFsaWRhdGVNZXJjaGFudEV2ZW50LmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQu
aWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBw
bGVQYXlSZXF1ZXN0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2JlYWNvbi9OYXZpZ2F0
b3JCZWFjb24uaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvY2FjaGUvRE9NV2luZG93Q2Fj
aGVzLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5VmFsaWRhdGVNZXJjaGFudEV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Fw
cGxlcGF5L0FwcGxlUGF5VmFsaWRhdGVNZXJjaGFudEV2ZW50LmgKaW5kZXggNDUxNTU5ODMxYzA0
ODg1NzkzZGJlY2RlOWJjNjJjYWNkZWE1ODlmNi4uMDQzNTgzMWJhZjhmY2VjZDNhMTBjZWUzZWM5
MzM2NGY3NDNkNzZkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBh
eS9BcHBsZVBheVZhbGlkYXRlTWVyY2hhbnRFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlWYWxpZGF0ZU1lcmNoYW50RXZlbnQuaApAQCAtMzIsNyAr
MzIsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEFwcGxlUGF5VmFsaWRhdGVN
ZXJjaGFudEV2ZW50IGZpbmFsIDogcHVibGljIEV2ZW50IHsKK2NsYXNzIEFwcGxlUGF5VmFsaWRh
dGVNZXJjaGFudEV2ZW50IDogcHVibGljIEV2ZW50IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVm
PEFwcGxlUGF5VmFsaWRhdGVNZXJjaGFudEV2ZW50PiBjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5n
JiB0eXBlLCBjb25zdCBVUkwmIHZhbGlkYXRpb25VUkwpCiAgICAgewpAQCAtNDMsMTIgKzQzLDEz
IEBAIHB1YmxpYzoKIAogICAgIGNvbnN0IFN0cmluZyYgdmFsaWRhdGlvblVSTCgpIGNvbnN0IHsg
cmV0dXJuIG1fdmFsaWRhdGlvblVSTC5zdHJpbmcoKTsgfQogCi1wcml2YXRlOgorcHJvdGVjdGVk
OgogICAgIEFwcGxlUGF5VmFsaWRhdGVNZXJjaGFudEV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYg
dHlwZSwgY29uc3QgVVJMJiB2YWxpZGF0aW9uVVJMKTsKIAogICAgIC8vIEV2ZW50LgogICAgIEV2
ZW50SW50ZXJmYWNlIGV2ZW50SW50ZXJmYWNlKCkgY29uc3Qgb3ZlcnJpZGU7CiAKK3ByaXZhdGU6
CiAgICAgY29uc3QgVVJMIG1fdmFsaWRhdGlvblVSTDsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlNZXJjaGFu
dFZhbGlkYXRpb25FdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3Bh
eW1lbnRyZXF1ZXN0L0FwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmY5YjFjNTk4N2I3N2M1MzUyZjAyOGEzOTg3ZTcxOWZjYmNhZTFmMTkKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0Fw
cGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuY3BwCkBAIC0wLDAgKzEsNzkgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQXBwbGVQYXlNZXJjaGFudFZh
bGlkYXRpb25FdmVudC5oIgorCisjaWYgRU5BQkxFKEFQUExFX1BBWSkgJiYgRU5BQkxFKFBBWU1F
TlRfUkVRVUVTVCkKKworI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiTWFpbkZyYW1l
LmgiCisjaW5jbHVkZSAiUGF5bWVudENvb3JkaW5hdG9yLmgiCisjaW5jbHVkZSAiUGF5bWVudE1l
cmNoYW50U2Vzc2lvbi5oIgorI2luY2x1ZGUgPHJ1bnRpbWUvSlNDSlNWYWx1ZUlubGluZXMuaD4K
KyNpbmNsdWRlIDxydW50aW1lL0pTT2JqZWN0Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
UmVmPEFwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQ+IEFwcGxlUGF5TWVyY2hhbnRWYWxp
ZGF0aW9uRXZlbnQ6OmNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IFVSTCYg
dmFsaWRhdGlvblVSTCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBBcHBsZVBheU1lcmNo
YW50VmFsaWRhdGlvbkV2ZW50KHR5cGUsIHZhbGlkYXRpb25VUkwpKTsKK30KKworQXBwbGVQYXlN
ZXJjaGFudFZhbGlkYXRpb25FdmVudDo6QXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudChj
b25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IFVSTCYgdmFsaWRhdGlvblVSTCkKKyAgICA6
IEFwcGxlUGF5VmFsaWRhdGVNZXJjaGFudEV2ZW50IHsgdHlwZSwgdmFsaWRhdGlvblVSTCB9Cit7
Cit9CisKK0V4Y2VwdGlvbk9yPHZvaWQ+IEFwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQ6
OmNvbXBsZXRlKERvY3VtZW50JiBkb2N1bWVudCwgSlNDOjpKU1ZhbHVlIG1lcmNoYW50U2Vzc2lv
blZhbHVlKQoreworICAgIGlmIChtX2lzQ29tcGxldGVkKQorICAgICAgICByZXR1cm4gRXhjZXB0
aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IgfTsKKyAgICBtX2lzQ29tcGxldGVkID0gdHJ1ZTsKKwor
ICAgIGF1dG8mIHBheW1lbnRDb29yZGluYXRvciA9IGRvY3VtZW50LmZyYW1lKCktPm1haW5GcmFt
ZSgpLnBheW1lbnRDb29yZGluYXRvcigpOworICAgIGlmICghcGF5bWVudENvb3JkaW5hdG9yLmhh
c0FjdGl2ZVNlc3Npb24oKSkKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0
ZUVycm9yIH07CisKKyAgICBpZiAoIW1lcmNoYW50U2Vzc2lvblZhbHVlLmlzT2JqZWN0KCkpCisg
ICAgICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3IgfTsKKworICAgIFN0cmluZyBlcnJv
ck1lc3NhZ2U7CisgICAgYXV0byBtZXJjaGFudFNlc3Npb24gPSBQYXltZW50TWVyY2hhbnRTZXNz
aW9uOjpmcm9tSlMoKmRvY3VtZW50LmV4ZWNTdGF0ZSgpLCBhc09iamVjdChtZXJjaGFudFNlc3Np
b25WYWx1ZSksIGVycm9yTWVzc2FnZSk7CisgICAgaWYgKCFtZXJjaGFudFNlc3Npb24pCisgICAg
ICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3IsIFdURk1vdmUoZXJyb3JNZXNzYWdlKSB9
OworCisgICAgcGF5bWVudENvb3JkaW5hdG9yLmNvbXBsZXRlTWVyY2hhbnRWYWxpZGF0aW9uKCpt
ZXJjaGFudFNlc3Npb24pOworICAgIHJldHVybiB7IH07Cit9CisKK0V2ZW50SW50ZXJmYWNlIEFw
cGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQ6OmV2ZW50SW50ZXJmYWNlKCkgY29uc3QKK3sK
KyAgICByZXR1cm4gQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudEludGVyZmFjZVR5cGU7
Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9Q
QVkpICYmIEVOQUJMRShQQVlNRU5UX1JFUVVFU1QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TWVyY2hhbnRWYWxpZGF0
aW9uRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVl
c3QvQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ1NzQwMWE2
M2Q4ODI4ZmI0NDU4ZTIyMmViNWFkNTdiNmIwMGEyZGUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TWVyY2hh
bnRWYWxpZGF0aW9uRXZlbnQuaApAQCAtMCwwICsxLDU2IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpZiBFTkFCTEUoQVBQTEVfUEFZKSAmJiBFTkFCTEUoUEFZTUVOVF9SRVFVRVNU
KQorCisjaW5jbHVkZSAiQXBwbGVQYXlWYWxpZGF0ZU1lcmNoYW50RXZlbnQuaCIKKworbmFtZXNw
YWNlIEpTQyB7CitjbGFzcyBKU1ZhbHVlOworfQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Ns
YXNzIERvY3VtZW50OworCitjbGFzcyBBcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50IGZp
bmFsIDogcHVibGljIEFwcGxlUGF5VmFsaWRhdGVNZXJjaGFudEV2ZW50IHsKK3B1YmxpYzoKKyAg
ICBzdGF0aWMgUmVmPEFwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQ+IGNyZWF0ZShjb25z
dCBBdG9taWNTdHJpbmcmLCBjb25zdCBVUkwmKTsKKyAgICBFeGNlcHRpb25Pcjx2b2lkPiBjb21w
bGV0ZShEb2N1bWVudCYsIEpTQzo6SlNWYWx1ZSk7CisKK3ByaXZhdGU6CisgICAgQXBwbGVQYXlN
ZXJjaGFudFZhbGlkYXRpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmLCBjb25zdCBVUkwmKTsK
KworICAgIC8vIEV2ZW50CisgICAgRXZlbnRJbnRlcmZhY2UgZXZlbnRJbnRlcmZhY2UoKSBjb25z
dCBmaW5hbDsKKworICAgIGJvb2wgbV9pc0NvbXBsZXRlZCB7IGZhbHNlIH07Cit9OworCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZKSAmJiBFTkFC
TEUoUEFZTUVOVF9SRVFVRVNUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9h
cHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50Lmlk
bCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQ
YXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWZiZDc0YTZhZmVlNDQ4
ZGRiNDczNmNiMjY5YTI5YzBlYjgxMmQ4NgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlNZXJjaGFudFZhbGlk
YXRpb25FdmVudC5pZGwKQEAgLTAsMCArMSwzMSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
NyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBDb25k
aXRpb25hbD1BUFBMRV9QQVkmUEFZTUVOVF9SRVFVRVNULAorICAgIE5vSW50ZXJmYWNlT2JqZWN0
LAorXSBpbnRlcmZhY2UgQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudCA6IEFwcGxlUGF5
VmFsaWRhdGVNZXJjaGFudEV2ZW50IHsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb24sIENhbGxXaXRo
PURvY3VtZW50XSB2b2lkIGNvbXBsZXRlKGFueSBtZXJjaGFudFNlc3Npb24pOworfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBw
bGVQYXlQYXltZW50SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5
L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVudEhhbmRsZXIuY3BwCmluZGV4IDNhZjIzNDgx
MThhOGZkZDA5ZTkxNmRmZWE5ZDkxZDFiYjE3YmUwY2YuLjFiODlkZTAwN2MwOTNjZjc0OTY5NTVh
NDc2MDA4ZWY3ZjJkOTA5ZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBw
bGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1l
bnRIYW5kbGVyLmNwcApAQCAtMzAsOCArMzAsMTAgQEAKIAogI2luY2x1ZGUgIkFwcGxlUGF5Q29u
dGFjdEZpZWxkLmgiCiAjaW5jbHVkZSAiQXBwbGVQYXlNZXJjaGFudENhcGFiaWxpdHkuaCIKKyNp
bmNsdWRlICJBcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiQXBw
bGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3QuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgorI2lu
Y2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJKU0FwcGxlUGF5UmVxdWVzdC5oIgogI2lu
Y2x1ZGUgIkxpbmtJY29uQ29sbGVjdG9yLmgiCiAjaW5jbHVkZSAiTWFpbkZyYW1lLmgiCkBAIC0y
MzIsNiArMjM0LDEyIEBAIHZvaWQgQXBwbGVQYXlQYXltZW50SGFuZGxlcjo6Y2FuTWFrZVBheW1l
bnQoRG9jdW1lbnQmIGRvY3VtZW50LCBXVEY6OkZ1bmN0aW9uPHZvCiAgICAgcGF5bWVudENvb3Jk
aW5hdG9yKGRvY3VtZW50KS5jYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZChtX2FwcGxlUGF5
UmVxdWVzdC0+bWVyY2hhbnRJZGVudGlmaWVyLCBkb2N1bWVudC5kb21haW4oKSwgV1RGTW92ZShj
b21wbGV0aW9uSGFuZGxlcikpOwogfQogCit2b2lkIEFwcGxlUGF5UGF5bWVudEhhbmRsZXI6OnZh
bGlkYXRlTWVyY2hhbnQoY29uc3QgVVJMJiB2YWxpZGF0aW9uVVJMKQoreworICAgIGlmICh2YWxp
ZGF0aW9uVVJMLmlzVmFsaWQoKSkKKyAgICAgICAgbV9wYXltZW50UmVxdWVzdC0+ZGlzcGF0Y2hF
dmVudChBcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygp
LmFwcGxlcGF5dmFsaWRhdGVtZXJjaGFudEV2ZW50LCB2YWxpZGF0aW9uVVJMKS5nZXQoKSk7Cit9
CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVkp
ICYmIEVOQUJMRShQQVlNRU5UX1JFUVVFU1QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVudEhhbmRsZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQ
YXltZW50SGFuZGxlci5oCmluZGV4IDFlMWExOTRhYjE5YTcyM2IyZDdmMTk0NTQwMzIwODEzNzY5
ZDg1NzAuLjdmNzE5ZWJhNDAyZDAzZWYwMjJlZWU3YTNjNjQ5NmQxNDBkY2EyMTkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQ
YXlQYXltZW50SGFuZGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
cGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5oCkBAIC01Myw3ICs1Myw3IEBA
IHByaXZhdGU6CiAgICAgdm9pZCBjYW5NYWtlUGF5bWVudChEb2N1bWVudCYsIFdURjo6RnVuY3Rp
b248dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikgZmluYWw7CiAKICAgICAvLyBQYXlt
ZW50U2Vzc2lvbgotICAgIHZvaWQgdmFsaWRhdGVNZXJjaGFudChjb25zdCBVUkwmKSBmaW5hbCB7
IH0KKyAgICB2b2lkIHZhbGlkYXRlTWVyY2hhbnQoY29uc3QgVVJMJikgZmluYWw7CiAgICAgdm9p
ZCBkaWRBdXRob3JpemVQYXltZW50KGNvbnN0IFBheW1lbnQmKSBmaW5hbCB7IH0KICAgICB2b2lk
IGRpZFNlbGVjdFNoaXBwaW5nTWV0aG9kKGNvbnN0IEFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1
ZXN0OjpTaGlwcGluZ01ldGhvZCYpIGZpbmFsIHsgfQogICAgIHZvaWQgZGlkU2VsZWN0U2hpcHBp
bmdDb250YWN0KGNvbnN0IFBheW1lbnRDb250YWN0JikgZmluYWwgeyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmlkbCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuaWRs
CmluZGV4IGM5NWZlOGVkM2UxMjkxMjkxNmRlZWQxMDE4NmMyMmRiNzlkMDRiNDMuLjdmYTM5OWE4
N2FmMzc2ZGZkNTY4NDc2NmQ1YzcyZTkxYjJlMzMxZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuaWRsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuaWRsCkBAIC00
Miw2ICs0Miw3IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFBheW1lbnRTaGlwcGluZ1R5cGU/
IHNoaXBwaW5nVHlwZTsKIAogICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25zaGlwcGluZ2Fk
ZHJlc3NjaGFuZ2U7Ci0KICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uc2hpcHBpbmdvcHRp
b25jaGFuZ2U7CisKKyAgICBbQ29uZGl0aW9uYWw9QVBQTEVfUEFZXSBhdHRyaWJ1dGUgRXZlbnRI
YW5kbGVyIG9uYXBwbGVwYXl2YWxpZGF0ZW1lcmNoYW50OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBkZTkyYTg5Zjc2ZmVi
OThmMjUwZjNhYWM2YWY2MGVkMjYyYWNkOWRhLi44YmM0ZGJhZGUxZDU4YTVlOGFjMmY0YzE2M2Uy
NjI3MGM3NTNjNjI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCkBAIC00NTM4LDYgKzQ1MzgsMTAgQEAKIAkJQTFGNzZCNTUxRjQ0RDJD
NzAwMTRDMzE4IC8qIFBheW1lbnRTaGlwcGluZ09wdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFGNzZCNTIxRjQ0RDJDNzAwMTRDMzE4IC8qIFBh
eW1lbnRTaGlwcGluZ09wdGlvbi5oICovOyB9OwogCQlBMUY3NkI1QjFGNDREM0IyMDAxNEMzMTgg
LyogUGF5bWVudENvbXBsZXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBMUY3NkI1ODFGNDREM0IyMDAxNEMzMTggLyogUGF5bWVudENvbXBsZXRlLmgg
Ki87IH07CiAJCUExRjc4RDBDMUMyNTQyNEMwMDI0NTQ0NiAvKiBSZXNvdXJjZVJlc3BvbnNlQ29j
b2EubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMUY3
OEQwQjFDMjU0MjJDMDAyNDU0NDYgLyogUmVzb3VyY2VSZXNwb25zZUNvY29hLm1tICovOyB9Owor
CQlBMUY5Mjk2OTFGOEQ5Q0RCMDA1MjNBRjMgLyogQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25F
dmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFG
OTI5NjYxRjhEOUNEQjAwNTIzQUYzIC8qIEFwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQu
aCAqLzsgfTsKKwkJQTFGOTI5NkExRjhEOUNEQjAwNTIzQUYzIC8qIEFwcGxlUGF5TWVyY2hhbnRW
YWxpZGF0aW9uRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTFGOTI5NjcxRjhEOUNEQjAwNTIzQUYzIC8qIEFwcGxlUGF5TWVyY2hhbnRWYWxp
ZGF0aW9uRXZlbnQuY3BwICovOyB9OworCQlBMUY5Mjk2RjFGOEQ5RjVCMDA1MjNBRjMgLyogSlNB
cHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExRjkyOTZEMUY4RDlGNUEwMDUyM0FGMyAvKiBKU0Fw
cGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuY3BwICovOyB9OworCQlBMUY5Mjk3MDFGOEQ5
RjVCMDA1MjNBRjMgLyogSlNBcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMUY5Mjk2RTFGOEQ5RjVC
MDA1MjNBRjMgLyogSlNBcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmggKi87IH07CiAJ
CUEyQjkyMTczMTZDNUNDNDIwMDQxRENEOSAvKiBJbnRSZWN0RXh0ZW50LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMkI5MjE3MjE2QzVDQzQyMDA0MURD
RDkgLyogSW50UmVjdEV4dGVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCUEzMUM0RTREMTZFMDJBQTYwMDJGNzk1NyAvKiBPRVNUZXh0dXJlSGFs
ZkZsb2F0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEEzMUM0RTRDMTZFMDJBQTYwMDJGNzk1NyAvKiBPRVNUZXh0dXJlSGFsZkZsb2F0LmNwcCAqLzsg
fTsKIAkJQTMxQzRFNEYxNkUwMkFCNDAwMkY3OTU3IC8qIE9FU1RleHR1cmVIYWxmRmxvYXQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEzMUM0RTRFMTZF
MDJBQjQwMDJGNzk1NyAvKiBPRVNUZXh0dXJlSGFsZkZsb2F0LmggKi87IH07CkBAIC0xMzA0Niw2
ICsxMzA1MCwxMSBAQAogCQlBMUY3NkI1ODFGNDREM0IyMDAxNEMzMTggLyogUGF5bWVudENvbXBs
ZXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBheW1lbnRDb21wbGV0ZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlBMUY3NkI1QTFGNDREM0IyMDAxNEMzMTggLyogUGF5bWVudENvbXBsZXRl
LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBQYXltZW50Q29tcGxldGUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlBMUY3OEQwQjFDMjU0MjJDMDAyNDU0NDYgLyogUmVzb3VyY2VSZXNwb25zZUNvY29hLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUmVzb3VyY2VSZXNwb25z
ZUNvY29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMUY5Mjk2NjFGOEQ5Q0RC
MDA1MjNBRjMgLyogQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBBcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUExRjkyOTY3MUY4RDlDREIwMDUyM0FGMyAvKiBBcHBsZVBheU1lcmNoYW50
VmFsaWRhdGlvbkV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFwcGxlUGF5TWVyY2hhbnRW
YWxpZGF0aW9uRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMUY5Mjk2
ODFGOEQ5Q0RCMDA1MjNBRjMgLyogQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5pZGwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5pZGw7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUExRjkyOTZEMUY4RDlGNUEwMDUyM0FGMyAvKiBKU0FwcGxlUGF5TWVy
Y2hhbnRWYWxpZGF0aW9uRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNBcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQTFGOTI5NkUxRjhEOUY1QjAwNTIzQUYzIC8qIEpTQXBwbGVQYXlN
ZXJjaGFudFZhbGlkYXRpb25FdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKU0FwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQTIwOEUyMjJBNTZBMEM3NTc1RjJBNzJFIC8qIFJlbmRlck1hdGhNTE1lbmNs
b3NlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlck1hdGhNTE1lbmNs
b3NlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUEyQjkyMTcyMTZDNUNDNDIwMDQx
RENEOSAvKiBJbnRSZWN0RXh0ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEludFJlY3RFeHRlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTMxQzRFNEMx
NkUwMkFBNjAwMkY3OTU3IC8qIE9FU1RleHR1cmVIYWxmRmxvYXQuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gT0VTVGV4dHVyZUhhbGZGbG9hdC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNzQ0Myw2ICsxNzQ1Miw4IEBACiAJCQkJN0M2NTc5RUEx
RTAwODU2NjAwRTNBMjdBIC8qIEpTQXBwbGVQYXlMaW5lSXRlbS5oICovLAogCQkJCUExREY1QTg5
MUY3RUMwMDAwMDU4QTQ3NyAvKiBKU0FwcGxlUGF5TWVyY2hhbnRDYXBhYmlsaXR5LmNwcCAqLywK
IAkJCQlBMURGNUE4QTFGN0VDMDAwMDA1OEE0NzcgLyogSlNBcHBsZVBheU1lcmNoYW50Q2FwYWJp
bGl0eS5oICovLAorCQkJCUExRjkyOTZEMUY4RDlGNUEwMDUyM0FGMyAvKiBKU0FwcGxlUGF5TWVy
Y2hhbnRWYWxpZGF0aW9uRXZlbnQuY3BwICovLAorCQkJCUExRjkyOTZFMUY4RDlGNUIwMDUyM0FG
MyAvKiBKU0FwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaCAqLywKIAkJCQk3QzY1MjMx
RDFFMDE4QjVBMDA2NzdGMjIgLyogSlNBcHBsZVBheVBheW1lbnQuY3BwICovLAogCQkJCTdDNjUy
MzBBMUUwMERCQjQwMDY3N0YyMiAvKiBKU0FwcGxlUGF5UGF5bWVudC5oICovLAogCQkJCTFBREZE
RkUzMUU3MURDQTAwMDhGNUQzNCAvKiBKU0FwcGxlUGF5UGF5bWVudEF1dGhvcml6YXRpb25SZXN1
bHQuY3BwICovLApAQCAtMjE3MjcsNiArMjE3MzgsOSBAQAogCQlBMURGNUE5RjFGN0VFMEYxMDA1
OEE0NzcgLyogcGF5bWVudHJlcXVlc3QgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNo
aWxkcmVuID0gKAorCQkJCUExRjkyOTY3MUY4RDlDREIwMDUyM0FGMyAvKiBBcHBsZVBheU1lcmNo
YW50VmFsaWRhdGlvbkV2ZW50LmNwcCAqLywKKwkJCQlBMUY5Mjk2NjFGOEQ5Q0RCMDA1MjNBRjMg
LyogQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5oICovLAorCQkJCUExRjkyOTY4MUY4
RDlDREIwMDUyM0FGMyAvKiBBcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmlkbCAqLywK
IAkJCQlBMURGNUFBMTFGN0VFMTEzMDA1OEE0NzcgLyogQXBwbGVQYXlQYXltZW50SGFuZGxlci5j
cHAgKi8sCiAJCQkJQTFERjVBQTAxRjdFRTExMzAwNThBNDc3IC8qIEFwcGxlUGF5UGF5bWVudEhh
bmRsZXIuaCAqLywKIAkJCQlBMURGNUE3QzFGN0VCRDBCMDA1OEE0NzcgLyogQXBwbGVQYXlSZXF1
ZXN0LmggKi8sCkBAIC0yNzIxOSw2ICsyNzIzMyw3IEBACiAJCQkJQTFERjVBOTQxRjdFQzQzMjAw
NThBNDc3IC8qIEFwcGxlUGF5Q29udGFjdEZpZWxkLmggaW4gSGVhZGVycyAqLywKIAkJCQk3QzY1
NzlFMzFFMDA4MjcwMDBFM0EyN0EgLyogQXBwbGVQYXlMaW5lSXRlbS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQTFERjVBODYxRjdFQkRGMjAwNThBNDc3IC8qIEFwcGxlUGF5TWVyY2hhbnRDYXBhYmls
aXR5LmggaW4gSGVhZGVycyAqLywKKwkJCQlBMUY5Mjk2OTFGOEQ5Q0RCMDA1MjNBRjMgLyogQXBw
bGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0M2NTIz
MDExRTAwRDAzNDAwNjc3RjIyIC8qIEFwcGxlUGF5UGF5bWVudC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMUE4QTY0NTIxRDE5RkNGQjAwRDBFMDBGIC8qIEFwcGxlUGF5UGF5bWVudEF1dGhvcml6ZWRF
dmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0M2NTIyRkIxRTAwQzkwOTAwNjc3RjIyIC8qIEFw
cGxlUGF5UGF5bWVudENvbnRhY3QuaCBpbiBIZWFkZXJzICovLApAQCAtMjg0ODQsNiArMjg0OTks
NyBAQAogCQkJCUExREY1QTk5MUY3RUM4QzAwMDU4QTQ3NyAvKiBKU0FwcGxlUGF5Q29udGFjdEZp
ZWxkLmggaW4gSGVhZGVycyAqLywKIAkJCQk3QzY1NzlGMDFFMDA4NTY2MDBFM0EyN0EgLyogSlNB
cHBsZVBheUxpbmVJdGVtLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMURGNUE4RTFGN0VDMDAyMDA1
OEE0NzcgLyogSlNBcHBsZVBheU1lcmNoYW50Q2FwYWJpbGl0eS5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJQTFGOTI5NzAxRjhEOUY1QjAwNTIzQUYzIC8qIEpTQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRp
b25FdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0M2NTIzMTQxRTAwREJCNDAwNjc3RjIyIC8q
IEpTQXBwbGVQYXlQYXltZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUU5NkE4QjFEMUEwRERE
MDBCODY3NjggLyogSlNBcHBsZVBheVBheW1lbnRBdXRob3JpemVkRXZlbnQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTdDNjUyMzE2MUUwMERCQjUwMDY3N0YyMiAvKiBKU0FwcGxlUGF5UGF5bWVudENv
bnRhY3QuaCBpbiBIZWFkZXJzICovLApAQCAtMzE0MTksNiArMzE0MzUsNyBAQAogCQkJCUExREY1
QUI1MUY4MDc4RjMwMDU4QTQ3NyAvKiBBcHBsZVBheUNvbnRhY3RGaWVsZC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkxQURGREZFMDFFNzFEOEVFMDA4RjVEMzQgLyogQXBwbGVQYXlFcnJvci5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlBMURGNUFBOTFGODA3MEQ0MDA1OEE0NzcgLyogQXBwbGVQYXlN
ZXJjaGFudENhcGFiaWxpdHkuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTFGOTI5NkExRjhEOUNE
QjAwNTIzQUYzIC8qIEFwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMUE4QTY0NTExRDE5RkNGQjAwRDBFMDBGIC8qIEFwcGxlUGF5UGF5bWVudEF1
dGhvcml6ZWRFdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBMURGNUFBMzFGN0VFMTEzMDA1
OEE0NzcgLyogQXBwbGVQYXlQYXltZW50SGFuZGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkx
QThBNjQ1NDFEMTlGQ0ZDMDBEMEUwMEYgLyogQXBwbGVQYXlQYXltZW50TWV0aG9kU2VsZWN0ZWRF
dmVudC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMyNTE5LDYgKzMyNTM2LDcgQEAKIAkJCQkxQURG
REZFQzFFNzFFNDU1MDA4RjVEMzQgLyogSlNBcHBsZVBheUVycm9yLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTdDNjU3OUVGMUUwMDg1NjYwMEUzQTI3QSAvKiBKU0FwcGxlUGF5TGluZUl0ZW0uY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJQTFERjVBOEQxRjdFQzAwMjAwNThBNDc3IC8qIEpTQXBwbGVQ
YXlNZXJjaGFudENhcGFiaWxpdHkuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTFGOTI5NkYxRjhE
OUY1QjAwNTIzQUYzIC8qIEpTQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk3QzY1MjMxRTFFMDE4QjVBMDA2NzdGMjIgLyogSlNBcHBsZVBheVBh
eW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFERkRGRjAxRTcxRTRBQzAwOEY1RDM0IC8q
IEpTQXBwbGVQYXlQYXltZW50QXV0aG9yaXphdGlvblJlc3VsdC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkxQUU5NkE4QTFEMUEwREREMDBCODY3NjggLyogSlNBcHBsZVBheVBheW1lbnRBdXRob3Jp
emVkRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRXZlbnROYW1lcy5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAppbmRleCBh
ZmQwOTg3ZDE0NjI3ZDJlZTM5YjcwNjMzZGE1ZmYwZmU0NzI3ODQxLi45ZjQ5NTcwNDgxYjE5MWFl
ZTY5ZGQ5NDBkN2U4ZDgyMzEwMzgzNTc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RXZlbnROYW1lcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKQEAgLTUz
LDYgKzUzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKGFuaW1hdGlvbmVuZCkg
XAogICAgIG1hY3JvKGFuaW1hdGlvbml0ZXJhdGlvbikgXAogICAgIG1hY3JvKGFuaW1hdGlvbnN0
YXJ0KSBcCisgICAgbWFjcm8oYXBwbGVwYXl2YWxpZGF0ZW1lcmNoYW50KSBcCiAgICAgbWFjcm8o
YXVkaW9lbmQpIFwKICAgICBtYWNybyhhdWRpb3Byb2Nlc3MpIFwKICAgICBtYWNybyhhdWRpb3N0
YXJ0KSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbiBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCmluZGV4IDc4Zjc4ZGU4ZjM1MjFlZTE5MGU5
NWE2MzdlNzY5NWRjOTA5MGZhZjcuLjc5ZmYzZmNhY2Y4Nzg4NTQwZDZlZjkwYWU4YjBjNmNhMzM3
MTk5YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCkBAIC0zNSw2ICszNSw3IEBAIFdlYktp
dEFuaW1hdGlvbkV2ZW50CiBXZWJLaXRUcmFuc2l0aW9uRXZlbnQKIFdoZWVsRXZlbnQKIFhNTEh0
dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudAorQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudCBj
b25kaXRpb25hbD1BUFBMRV9QQVkKIEFwcGxlUGF5UGF5bWVudEF1dGhvcml6ZWRFdmVudCBjb25k
aXRpb25hbD1BUFBMRV9QQVkKIEFwcGxlUGF5UGF5bWVudE1ldGhvZFNlbGVjdGVkRXZlbnQgY29u
ZGl0aW9uYWw9QVBQTEVfUEFZCiBBcHBsZVBheVNoaXBwaW5nQ29udGFjdFNlbGVjdGVkRXZlbnQg
Y29uZGl0aW9uYWw9QVBQTEVfUEFZCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5k
ZXggZDlmNjFmZjMwOTQ4NmFjMzFhY2MzNWU1MWJmZDU5YWYxYTQ3ZGFlYS4uYjA1NzU4ZDg2ZTIz
NjAwMWJmY2UzZTczYmMxMTdlOWZkOTFhMWQ4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmNwcApAQCAtNTA4LDcgKzUwOCw3IEBAIEludGVybmFsczo6SW50ZXJuYWxzKERvY3VtZW50
JiBkb2N1bWVudCkKIAogI2lmIEVOQUJMRShBUFBMRV9QQVkpCiAgICAgaWYgKGF1dG8gZnJhbWUg
PSBkb2N1bWVudC5mcmFtZSgpKQotICAgICAgICBmcmFtZS0+bWFpbkZyYW1lKCkuc2V0UGF5bWVu
dENvb3JkaW5hdG9yKHN0ZDo6bWFrZV91bmlxdWU8UGF5bWVudENvb3JkaW5hdG9yPigqbmV3IE1v
Y2tQYXltZW50Q29vcmRpbmF0b3IoKSkpOworICAgICAgICBmcmFtZS0+bWFpbkZyYW1lKCkuc2V0
UGF5bWVudENvb3JkaW5hdG9yKHN0ZDo6bWFrZV91bmlxdWU8UGF5bWVudENvb3JkaW5hdG9yPigq
bmV3IE1vY2tQYXltZW50Q29vcmRpbmF0b3IoZnJhbWUtPm1haW5GcmFtZSgpKSkpOwogI2VuZGlm
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29y
ZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0
b3IuY3BwCmluZGV4IGZmN2E0YTRmYjBkZjk4N2NlOWY5YjcxNGRjODViNGJjODI5NzJhMjcuLjk3
OTRiMjhkYzk0MzJhZWExYjg0YTQ5YTQ3ZDE0MTgzNTBlMzE0MWEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmNwcApAQCAtMjgsMTAgKzI4
LDE4IEBACiAKICNpZiBFTkFCTEUoQVBQTEVfUEFZKQogCisjaW5jbHVkZSAiTWFpbkZyYW1lLmgi
CisjaW5jbHVkZSAiUGF5bWVudENvb3JkaW5hdG9yLmgiCisjaW5jbHVkZSAiVVJMLmgiCiAjaW5j
bHVkZSA8d3RmL1J1bkxvb3AuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitNb2NrUGF5bWVu
dENvb3JkaW5hdG9yOjpNb2NrUGF5bWVudENvb3JkaW5hdG9yKE1haW5GcmFtZSYgbWFpbkZyYW1l
KQorICAgIDogbV9tYWluRnJhbWUgeyBtYWluRnJhbWUgfQoreworfQorCiBib29sIE1vY2tQYXlt
ZW50Q29vcmRpbmF0b3I6OnN1cHBvcnRzVmVyc2lvbih1bnNpZ25lZCB2ZXJzaW9uKQogewogICAg
IEFTU0VSVCh2ZXJzaW9uID4gMCk7CkBAIC02Niw2ICs3NCw5IEBAIHZvaWQgTW9ja1BheW1lbnRD
b29yZGluYXRvcjo6b3BlblBheW1lbnRTZXR1cChjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcm
LCBXVEY6CiAKIGJvb2wgTW9ja1BheW1lbnRDb29yZGluYXRvcjo6c2hvd1BheW1lbnRVSShjb25z
dCBVUkwmLCBjb25zdCBWZWN0b3I8VVJMPiYsIGNvbnN0IEFwcGxlUGF5U2Vzc2lvblBheW1lbnRS
ZXF1ZXN0JikKIHsKKyAgICBSdW5Mb29wOjptYWluKCkuZGlzcGF0Y2goW21haW5GcmFtZSA9IG1h
a2VSZWYobV9tYWluRnJhbWUpXSgpIHsKKyAgICAgICAgbWFpbkZyYW1lLT5wYXltZW50Q29vcmRp
bmF0b3IoKS52YWxpZGF0ZU1lcmNoYW50KHsgVVJMKCksIEFTQ0lJTGl0ZXJhbCgiaHR0cHM6Ly93
ZWJraXQub3JnLyIpIH0pOworICAgIH0pOwogICAgIHJldHVybiB0cnVlOwogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuaCBiL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5oCmluZGV4IGE5Y2E3
ZWU2NzY4MDBmMTA4ZmZlYjc5MWFiNmVlNjJjOWJiMzE5YmEuLjIyYmU5YjNhODJiM2M2ZWQyOTM4
YTM1ZGU3NjY1MDMzYzZjYTYxNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
TW9ja1BheW1lbnRDb29yZGluYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9j
a1BheW1lbnRDb29yZGluYXRvci5oCkBAIC0zMCw4ICszMCwxMyBAQAogI2luY2x1ZGUgIlBheW1l
bnRDb29yZGluYXRvckNsaWVudC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CisgICAgCitjbGFz
cyBNYWluRnJhbWU7CiAKIGNsYXNzIE1vY2tQYXltZW50Q29vcmRpbmF0b3IgZmluYWwgOiBwdWJs
aWMgUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50IHsKK3B1YmxpYzoKKyAgICBleHBsaWNpdCBNb2Nr
UGF5bWVudENvb3JkaW5hdG9yKE1haW5GcmFtZSYpOworCiBwcml2YXRlOgogICAgIGJvb2wgc3Vw
cG9ydHNWZXJzaW9uKHVuc2lnbmVkKSBmaW5hbDsKICAgICBib29sIGNhbk1ha2VQYXltZW50cygp
IGZpbmFsOwpAQCAtNDYsNiArNTEsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgYWJvcnRQYXltZW50
U2Vzc2lvbigpIGZpbmFsIHsgfQogICAgIHZvaWQgY2FuY2VsUGF5bWVudFNlc3Npb24oKSBmaW5h
bCB7IH0KICAgICB2b2lkIHBheW1lbnRDb29yZGluYXRvckRlc3Ryb3llZCgpIGZpbmFsOworCisg
ICAgTWFpbkZyYW1lJiBtX21haW5GcmFtZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwNmM1NWE4MmYyYzBlMzQ2NWJlY2Q4N2U1M2ZiY2I4MjkzMmE0YmQzLi4zOTVjOGI4
OTY5MTdiZjMzMGFhZDk1NjM3YjJjZGQxODExZDFlN2MyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTctMTAtMTEgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtQ
YXltZW50IFJlcXVlc3RdIEltcGxlbWVudCBBcHBsZSBQYXkgbWVyY2hhbnQgdmFsaWRhdGlvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MTU5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgQnJhZHkgRWlkc29uLgorCisgICAgICAgICogaHR0cC90ZXN0
cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5odHRwcy1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxl
UGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaHR0cHMuaHRtbDogQWRkZWQuCisKIDIwMTctMTAt
MTEgIE5hZWwgT3VlZHJhb2dvICA8bmFlbC5vdWVkcmFvZ29AY3JmLmNhbm9uLmZyPgogCiAgICAg
ICAgIFtHU3RyZWFtZXJdIE1hbnkgbWVkaWEgc291cmNlIHRlc3RzIGNyYXNoaW5nIHdpdGggR1N0
cmVhbWVyLUNSSVRJQ0FMICoqOiBfZ3N0X3V0aWxfdWludDY0X3NjYWxlOiBhc3NlcnRpb24gJ2Rl
bm9tICE9IDAnIGZhaWxlZCBpbiBnc3RfcXRkZW11eF9jb25maWd1cmVfc3RyZWFtKCkKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5TWVyY2hh
bnRWYWxpZGF0aW9uRXZlbnQuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5odHRwcy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzY2NWRkMWMxNmU3ZTZmNTBlMDQ5YTM5OTE0OTBlNjZm
Njk0MmFhMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2Fw
cGxlcGF5L0FwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaHR0cHMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMjAgQEAKK1Rlc3QgdGhlIGFwcGxlcGF5dmFsaWRhdGVtZXJjaGFudCBldmVu
dC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1Rlc3RpbmcgQXBwbGVQYXlNZXJj
aGFudFZhbGlkYXRpb25FdmVudAorCitQQVNTICgpID0+IGV2ZW50LmNvbXBsZXRlKHVuZGVmaW5l
ZCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KK1BBU1MgKCkgPT4gZXZl
bnQuY29tcGxldGUobnVsbCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4K
K1BBU1MgKCkgPT4gZXZlbnQuY29tcGxldGUoW10pIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6
IFR5cGUgZXJyb3IuCitQQVNTICgpID0+IGV2ZW50LmNvbXBsZXRlKCcnKSB0aHJldyBleGNlcHRp
b24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyAoKSA9PiBldmVudC5jb21wbGV0ZSg3KSB0
aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyAoKSA9PiB7IGV2ZW50
LmNvbXBsZXRlKHt9KTsgZXZlbnQuY29tcGxldGUoe30pOyB9IHRocmV3IGV4Y2VwdGlvbiBJbnZh
bGlkU3RhdGVFcnJvcjogVGhlIG9iamVjdCBpcyBpbiBhbiBpbnZhbGlkIHN0YXRlLi4KK1BBU1Mg
KCkgPT4geyBwYXltZW50UmVxdWVzdC5hYm9ydCgpOyBldmVudC5jb21wbGV0ZSh7fSk7IH0gdGhy
ZXcgZXhjZXB0aW9uIEludmFsaWRTdGF0ZUVycm9yOiBUaGUgb2JqZWN0IGlzIGluIGFuIGludmFs
aWQgc3RhdGUuLgorUEFTUyAoKSA9PiBldmVudC5jb21wbGV0ZSh7fSkgZGlkIG5vdCB0aHJvdyBl
eGNlcHRpb24uCitQQVNTIGV2ZW50LnZhbGlkYXRpb25VUkwgaXMgJ2h0dHBzOi8vd2Via2l0Lm9y
Zy8nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlN
ZXJjaGFudFZhbGlkYXRpb25FdmVudC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5odHRwcy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjcxMTljYTc4OTVjZTVmZDVkYmYzNWZiNTk5OGZkMDBkZWYxM2IyN2EKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBs
ZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50Lmh0dHBzLmh0bWwKQEAgLTAsMCArMSw3NSBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgor
PHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8c2NyaXB0PgorCitkZXNjcmlwdGlvbigiVGVzdCB0aGUgYXBwbGVwYXl2YWxp
ZGF0ZW1lcmNoYW50IGV2ZW50LiIpOworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisK
K2Z1bmN0aW9uIHZhbGlkUGF5bWVudE1ldGhvZCgpIHsKKyAgICByZXR1cm4geworICAgICAgICBz
dXBwb3J0ZWRNZXRob2RzOiAnaHR0cHM6Ly9hcHBsZS5jb20vYXBwbGUtcGF5JywKKyAgICAgICAg
ZGF0YTogeworICAgICAgICAgICAgdmVyc2lvbjogMiwKKyAgICAgICAgICAgIG1lcmNoYW50SWRl
bnRpZmllcjogJycsCisgICAgICAgICAgICBjb3VudHJ5Q29kZTogJ1VTJywKKyAgICAgICAgICAg
IHN1cHBvcnRlZE5ldHdvcmtzOiBbJ3Zpc2EnLCAnbWFzdGVyQ2FyZCddLAorICAgICAgICAgICAg
bWVyY2hhbnRDYXBhYmlsaXRpZXM6IFsnc3VwcG9ydHMzRFMnXSwKKyAgICAgICAgfSwKKyAgICB9
Cit9CisKK2Z1bmN0aW9uIHZhbGlkUGF5bWVudERldGFpbHMoKSB7CisgICAgcmV0dXJuIHsKKyAg
ICAgICAgdG90YWw6IHsgbGFiZWw6ICdZb3VyIGxhYmVsJywgYW1vdW50OiB7IGN1cnJlbmN5OiAn
VVNEJywgdmFsdWU6ICcxMC4wMCcgfSB9LAorICAgIH0KK30KKworZnVuY3Rpb24gcnVuVGVzdCh0
ZXN0KSB7CisgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKKyAg
ICAgICAgdmFyIHBheW1lbnRSZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KFt2YWxpZFBheW1l
bnRNZXRob2QoKV0sIHZhbGlkUGF5bWVudERldGFpbHMoKSk7CisgICAgICAgIHBheW1lbnRSZXF1
ZXN0Lm9uYXBwbGVwYXl2YWxpZGF0ZW1lcmNoYW50ID0gKGV2ZW50KSA9PiB7CisgICAgICAgICAg
ICB0ZXN0KGV2ZW50LCBwYXltZW50UmVxdWVzdCk7CisgICAgICAgICAgICBwYXltZW50UmVxdWVz
dC5hYm9ydCgpOworICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICB9OworICAgICAgICBw
YXltZW50UmVxdWVzdC5zaG93KCkuY2F0Y2goKCkgPT4ge30pOworICAgIH0pOworfQorCithc3lu
YyBmdW5jdGlvbiBnbygpIHsKKyAgICBkZWJ1ZygiVGVzdGluZyBBcHBsZVBheU1lcmNoYW50VmFs
aWRhdGlvbkV2ZW50IikKKyAgICBkZWJ1ZygiIikKKworICAgIGF3YWl0IHJ1blRlc3QoZXZlbnQg
PT4gc2hvdWxkVGhyb3coKCkgPT4gZXZlbnQuY29tcGxldGUodW5kZWZpbmVkKSkpOworICAgIGF3
YWl0IHJ1blRlc3QoZXZlbnQgPT4gc2hvdWxkVGhyb3coKCkgPT4gZXZlbnQuY29tcGxldGUobnVs
bCkpKTsKKyAgICBhd2FpdCBydW5UZXN0KGV2ZW50ID0+IHNob3VsZFRocm93KCgpID0+IGV2ZW50
LmNvbXBsZXRlKFtdKSkpOworICAgIGF3YWl0IHJ1blRlc3QoZXZlbnQgPT4gc2hvdWxkVGhyb3co
KCkgPT4gZXZlbnQuY29tcGxldGUoJycpKSk7CisgICAgYXdhaXQgcnVuVGVzdChldmVudCA9PiBz
aG91bGRUaHJvdygoKSA9PiBldmVudC5jb21wbGV0ZSg3KSkpOworICAgIGF3YWl0IHJ1blRlc3Qo
ZXZlbnQgPT4gc2hvdWxkVGhyb3coKCkgPT4geyBldmVudC5jb21wbGV0ZSh7fSk7IGV2ZW50LmNv
bXBsZXRlKHt9KTsgfSkpOworICAgIGF3YWl0IHJ1blRlc3QoKGV2ZW50LCBwYXltZW50UmVxdWVz
dCkgPT4gc2hvdWxkVGhyb3coKCkgPT4geyBwYXltZW50UmVxdWVzdC5hYm9ydCgpOyBldmVudC5j
b21wbGV0ZSh7fSk7IH0pKTsKKyAgICBhd2FpdCBydW5UZXN0KGV2ZW50ID0+IHNob3VsZE5vdFRo
cm93KCgpID0+IGV2ZW50LmNvbXBsZXRlKHt9KSkpOworICAgIGF3YWl0IHJ1blRlc3QoZXZlbnQg
PT4gc2hvdWxkQmUoImV2ZW50LnZhbGlkYXRpb25VUkwiLCAiJ2h0dHBzOi8vd2Via2l0Lm9yZy8n
IikpOworCisgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiYnV0dG9uIikucmVtb3ZlKCk7Cisg
ICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK3dpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAg
ICB2YXIgYnV0dG9uID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiYnV0dG9uIik7CisgICAgbGV0
IHggPSBidXR0b24ub2Zmc2V0TGVmdCArIDI7CisgICAgbGV0IHkgPSBidXR0b24ub2Zmc2V0VG9w
ICsgMjsKKyAgICBVSUhlbHBlci5hY3RpdmF0ZUF0KHgsIHkpOworfQorCis8L3NjcmlwdD4KKzxi
dXR0b24gb25jbGljaz0nZ28oKSc+R288L2J1dHRvbj4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>