<?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>237742</bug_id>
          
          <creation_ts>2022-03-10 16:13:09 -0800</creation_ts>
          <short_desc>[iOS] Add support for -[UITextInput removeEmojiAlternatives] on WKContentView</short_desc>
          <delta_ts>2022-03-11 11:10:14 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>akeerthi</cc>
    
    <cc>cdumez</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>kangil.han</cc>
    
    <cc>katherine_cheney</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>mifenton</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1850294</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-03-10 16:13:09 -0800</bug_when>
    <thetext>rdar://89647018</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1850313</commentid>
    <comment_count>1</comment_count>
      <attachid>454426</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-03-10 16:33:33 -0800</bug_when>
    <thetext>Created attachment 454426
For EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1850325</commentid>
    <comment_count>2</comment_count>
      <attachid>454428</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-03-10 16:49:53 -0800</bug_when>
    <thetext>Created attachment 454428
Fix non-internal iOS build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1850573</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-03-11 11:10:08 -0800</bug_when>
    <thetext>Committed r291180 (248339@main): &lt;https://commits.webkit.org/248339@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 454428.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>454426</attachid>
            <date>2022-03-10 16:33:33 -0800</date>
            <delta_ts>2022-03-10 16:59:52 -0800</delta_ts>
            <desc>For EWS</desc>
            <filename>bug-237742-20220310163332.patch</filename>
            <type>text/plain</type>
            <size>27029</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxMTM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjVjZjBhYTkwZGVlOGIz
ZDBmYjZlZjRlZWQ1MGIzNzA3NzcwNjFjOS4uMmQ3M2YzMzhkOTQ1ZDBkMGQyYTI5ZTBjNWExNTcx
NWMwMzMwMmFiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDIyLTAzLTEwICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIEFkZCBz
dXBwb3J0IGZvciAtW1VJVGV4dElucHV0IHJlbW92ZUVtb2ppQWx0ZXJuYXRpdmVzXSBvbiBXS0Nv
bnRlbnRWaWV3CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMzc3NDIKKyAgICAgICAgcmRhcjovLzg5NjQ3MDE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHBsdW1iaW5nIHRvIEFsdGVybmF0aXZlVGV4
dFVJQ29udHJvbGxlciBhbmQgQWx0ZXJuYXRpdmVUZXh0Q29udGV4dENvbnRyb2xsZXIgdG8gcmVw
bGFjZSBhbiBleGlzdGluZworICAgICAgICBEaWN0YXRpb25Db250ZXh0J3MgTlNUZXh0QWx0ZXJu
YXRpdmVzOyBwYXNzaW5nIGluIGEgbmlsIE5TVGV4dEFsdGVybmF0aXZlcyBzaW1wbHkgcmVtb3Zl
cyB0aGUgRGljdGF0aW9uQ29udGV4dAorICAgICAgICBhbmQgaXRzIGV4aXN0aW5nIHRleHQgYWx0
ZXJuYXRpdmVzLgorCisgICAgICAgIFNlZSBXZWJLaXQgQ2hhbmdlTG9nIGZvciBtb3JlIGRldGFp
bHMuCisKKyAgICAgICAgVGVzdHM6ICBUZXh0QWx0ZXJuYXRpdmVzLkFkZEFuZFJlbW92ZVRleHRB
bHRlcm5hdGl2ZXNXaXRoTWF0Y2gKKyAgICAgICAgICAgICAgICBUZXh0QWx0ZXJuYXRpdmVzLkFk
ZEFuZFJlbW92ZVRleHRBbHRlcm5hdGl2ZXNXaXRoVGV4dEFuZEVtb2ppcworCisgICAgICAgICog
ZG9tL0RvY3VtZW50TWFya2VyQ29udHJvbGxlci5oOgorCisgICAgICAgIERyaXZlLWJ5IGZpeDog
YWRqdXN0IGEgY29tbWVudCB0byByZWZsZWN0IHRoZSBhY3R1YWwgYmVoYXZpb3IgaW4gRG9jdW1l
bnRNYXJrZXJDb250cm9sbGVyLCBhbmQgYWxzbyBhZGQgYSBGSVhNRQorICAgICAgICB0byByZXBs
YWNlIHRoZSBgYm9vbGAgcmV0dXJuIHR5cGUgd2l0aCBhbiBlbnVtIHR5cGUuCisKKyAgICAgICAg
KiBlZGl0aW5nL2NvY29hL0FsdGVybmF0aXZlVGV4dENvbnRleHRDb250cm9sbGVyLmg6CisgICAg
ICAgICogZWRpdGluZy9jb2NvYS9BbHRlcm5hdGl2ZVRleHRDb250ZXh0Q29udHJvbGxlci5tbToK
KyAgICAgICAgKFdlYkNvcmU6OkFsdGVybmF0aXZlVGV4dENvbnRleHRDb250cm9sbGVyOjpyZXBs
YWNlQWx0ZXJuYXRpdmVzKToKKyAgICAgICAgKiBlZGl0aW5nL2NvY29hL0FsdGVybmF0aXZlVGV4
dFVJQ29udHJvbGxlci5oOgorICAgICAgICAqIGVkaXRpbmcvY29jb2EvQWx0ZXJuYXRpdmVUZXh0
VUlDb250cm9sbGVyLm1tOgorICAgICAgICAoV2ViQ29yZTo6QWx0ZXJuYXRpdmVUZXh0VUlDb250
cm9sbGVyOjpyZXBsYWNlQWx0ZXJuYXRpdmVzKToKKwogMjAyMi0wMy0xMCAgQWxhbiBCdWp0YXMg
IDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0lGQ11bSW50ZWdyYXRpb25dIEVuYWJsZSBS
ZW5kZXJMaXN0SXRlbSBhbmQgUmVuZGVyTGlzdE1hcmtlciBmb3IgSUZDCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDg0
MmUzMGMyY2VjYmVlNGVjMDhlYzkzZDJiYjFiMmEzOWVkMDI0Y2IuLjI2YzI5ZmJlNjI4MGU3ZmI4
MjVlYjRmYTZkZmZhNmE4NzU3YzExNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTcgQEAKKzIwMjIt
MDMtMTAgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAg
W2lPU10gQWRkIHN1cHBvcnQgZm9yIC1bVUlUZXh0SW5wdXQgcmVtb3ZlRW1vamlBbHRlcm5hdGl2
ZXNdIG9uIFdLQ29udGVudFZpZXcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIzNzc0MgorICAgICAgICByZGFyOi8vODk2NDcwMTgKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgYC1y
ZW1vdmVFbW9qaUFsdGVybmF0aXZlc2AsIHdoaWNoIHJlbW92ZXMgYWxsIGRpY3RhdGlvbiBhbHRl
cm5hdGl2ZXMgYXQgdGhlIGN1cnJlbnQgc2VsZWN0aW9uLAorICAgICAgICB3aG9zZSB0ZXh0IGFs
dGVybmF0aXZlIHN0cmluZ3Mgb25seSBjb250YWluIGVtb2ppcy4gU2VlIGJlbG93IGZvciBtb3Jl
IGRldGFpbHMuCisKKyAgICAgICAgKiBQbGF0Zm9ybS9zcGkvaW9zL1RleHRJbnB1dFNQSS5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLmg6CisgICAgICAg
ICogVUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EubW06CisgICAgICAgIChXZWJL
aXQ6OlBhZ2VDbGllbnRJbXBsQ29jb2E6OnJlcGxhY2VEaWN0YXRpb25BbHRlcm5hdGl2ZXMpOgor
CisgICAgICAgIEFkZCBQYWdlQ2xpZW50IHBsdW1iaW5nIHRvIHRoZSBuZXcgQWx0ZXJuYXRpdmVU
ZXh0VUlDb250cm9sbGVyIG1ldGhvZHMgaW4gV2ViQ29yZSB0byByZXBsYWNlIGFuIGV4aXN0aW5n
CisgICAgICAgIGRpY3RhdGlvbiBjb250ZXh0J3MgdGV4dCBhbHRlcm5hdGl2ZXMuCisKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW06CisgICAgICAgIChXZWJL
aXQ6OldlYlBhZ2VQcm94eTo6ZGljdGF0aW9uQWx0ZXJuYXRpdmVzQXRTZWxlY3Rpb24pOgorCisg
ICAgICAgIFdlIGV4cGFuZCB0aGUgc2VsZWN0aW9uIHJhbmdlIGJ5IG9uZSBjaGFyYWN0ZXIgaGVy
ZSBzaW5jZSBgRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyOjptYXJrZXJzSW5SYW5nZSgpYCBkb2Vz
IG5vdAorICAgICAgICBpbmNsdWRlIGRvY3VtZW50IG1hcmtlcnMgdGhhdCBlbmQgZXhhY3RseSBh
dCB0aGUgZ2l2ZW4gcmFuZ2UuCisKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpjbGVh
ckRpY3RhdGlvbkFsdGVybmF0aXZlcyk6CisKKyAgICAgICAgQWRkIHR3byBoZWxwZXIgbWV0aG9k
cyBvbiBXZWJQYWdlUHJveHk6IG9uZSB0byBxdWVyeSBhbGwgZGljdGF0aW9uIGFsdGVybmF0aXZl
IGlkZW50aWZpZXJzIHRoYXQgaW50ZXJzZWN0IHdpdGgKKyAgICAgICAgdGhlIGN1cnJlbnQgc2Vs
ZWN0aW9uIHJhbmdlLCBhbmQgYW5vdGhlciB0byByZW1vdmUgYWxsIGRpY3RhdGlvbiBhbHRlcm5h
dGl2ZSBkb2N1bWVudCBtYXJrZXJzIHdob3NlCisgICAgICAgIERpY3RhdGlvbkNvbnRleHQgbWF0
Y2hlcyBhbiBpZGVudGlmaWVyIGluIGEgZ2l2ZW4gbGlzdCBvZiBpZGVudGlmaWVycy4KKworICAg
ICAgICAqIFVJUHJvY2Vzcy9QYWdlQ2xpZW50Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0
aW9uLm1tOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IHJlbW92ZUVtb2ppQWx0ZXJuYXRpdmVz
XSk6CisKKyAgICAgICAgSW1wbGVtZW50IHRoZSBuZXcgU1BJIG1ldGhvZCB3aXRoIGEgdHdvLXN0
ZXAgcHJvY2VzczoKKworICAgICAgICAxLiAgUmVxdWVzdCB0aGUgbGlzdCBvZiBkaWN0YXRpb24g
Y29udGV4dCBJRHMgYXQgdGhlIHNlbGVjdGlvbjsgZm9yIGVhY2ggSUQsIHdlIGVpdGhlciAoYSkg
cmVwbGFjZSB0aGUgdGV4dAorICAgICAgICAgICAgYWx0ZXJuYXRpdmVzIGZvciB0aGF0IGNvbnRl
eHQgSUQgd2l0aCBhIG5ldyBOU1RleHRBbHRlcm5hdGl2ZXMgb2JqZWN0IHRoYXQgZG9lc24ndCBo
YXZlIGFueSBvZiB0aGUgZW1vamktCisgICAgICAgICAgICBvbmx5IGFsdGVybmF0aXZlcyB0aGF0
IGFwcGVhciBpbiB0aGUgb3JpZ2luYWwgTlNUZXh0QWx0ZXJuYXRpdmVzLCBvciAoYikgcmVtb3Zl
IHRoZSBOU1RleHRBbHRlcm5hdGl2ZXMgYW5kCisgICAgICAgICAgICBkaWN0YXRpb24gY29udGV4
dCBJRCBtYXBwaW5nIGVudGlyZWx5LCBpZiBhbGwgdGhlIGFsdGVybmF0aXZlcyBvbmx5IGNvbnRh
aW4gZW1vamlzLgorCisgICAgICAgIDIuICBGb3IgYWxsIHRoZSB0ZXh0IGFsdGVybmF0aXZlcyB0
aGF0IHdlcmUgcmVtb3ZlZCBpbiBzdGVwIDEgKGR1ZSB0byBvbmx5IGNvbnRhaW5pbmcgZW1vamlz
KSwgY2xlYXIgb3V0IGFsbAorICAgICAgICAgICAgZG9jdW1lbnQgbWFya2VycyBjb3JyZXNwb25k
aW5nIHRvIHRob3NlIHRleHQgYWx0ZXJuYXRpdmVzIGluIHRoZSBkb2N1bWVudC4KKworICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db2NvYS9UZXh0Q2hlY2tpbmdDb250cm9sbGVyUHJveHku
bW06CisgICAgICAgIChXZWJLaXQ6OlRleHRDaGVja2luZ0NvbnRyb2xsZXJQcm94eTo6cmVtb3Zl
QW5ub3RhdGlvblJlbGF0aXZlVG9TZWxlY3Rpb24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9Db2NvYS9XZWJQYWdlQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmRp
Y3RhdGlvbkFsdGVybmF0aXZlc0F0U2VsZWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZTo6Y2xlYXJEaWN0YXRpb25BbHRlcm5hdGl2ZXMpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVz
c2FnZXMuaW46CisKIDIwMjItMDMtMTAgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4K
IAogICAgICAgICBbbWFjT1NdIFdlYkNvbnRlbnQgcHJvY2Vzc2VzIGNyYXNoIHdpdGggWFBDX0VY
SVRfUkVBU09OX1NJR1RFUk1fVElNRU9VVCB3aGVuIGxvZ2dpbmcgb3V0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmgKaW5kZXggZjczNGQ3MzJiZjEwNzVj
ZjAyN2M5N2MxZWQ5OGVkNGZlNGZjMjhlOC4uNWRiY2QxNGVmNTc4MDg3YzFmYWU3ZTQ4MjU4YzFi
NzhhMmU5MTVlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50TWFya2Vy
Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudE1hcmtlckNvbnRy
b2xsZXIuaApAQCAtNjUsNyArNjUsOCBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9p
ZCByZW1vdmVNYXJrZXJzKGNvbnN0IFNpbXBsZVJhbmdlJiwgT3B0aW9uU2V0PERvY3VtZW50TWFy
a2VyOjpNYXJrZXJUeXBlPiA9IERvY3VtZW50TWFya2VyOjphbGxNYXJrZXJzKCksIFJlbW92ZVBh
cnRpYWxseU92ZXJsYXBwaW5nTWFya2VyID0gUmVtb3ZlUGFydGlhbGx5T3ZlcmxhcHBpbmdNYXJr
ZXI6Ok5vKTsKICAgICB2b2lkIHJlbW92ZU1hcmtlcnMoTm9kZSYsIE9mZnNldFJhbmdlLCBPcHRp
b25TZXQ8RG9jdW1lbnRNYXJrZXI6Ok1hcmtlclR5cGU+ID0gRG9jdW1lbnRNYXJrZXI6OmFsbE1h
cmtlcnMoKSwgY29uc3QgRnVuY3Rpb248Ym9vbChjb25zdCBEb2N1bWVudE1hcmtlciYpPiYgZmls
dGVyRnVuY3Rpb24gPSBudWxscHRyLCBSZW1vdmVQYXJ0aWFsbHlPdmVybGFwcGluZ01hcmtlciA9
IFJlbW92ZVBhcnRpYWxseU92ZXJsYXBwaW5nTWFya2VyOjpObyk7CiAKLSAgICAvLyBSZXR1cm4g
ZmFsc2UgZnJvbSBmaWx0ZXJGdW5jdGlvbiB0byByZW1vdmUgdGhlIG1hcmtlci4KKyAgICAvLyBS
ZXR1cm4gdHJ1ZSBmcm9tIGZpbHRlckZ1bmN0aW9uIHRvIHJlbW92ZSB0aGUgbWFya2VyLgorICAg
IC8vIEZJWE1FOiBUaGlzIHdvdWxkIGJlIGNsZWFyZXIgaWYgdGhlIGBmaWx0ZXJgIGZ1bmN0aW9u
IHdlcmUgcmVmYWN0b3JlZCB0byByZXR1cm4gYSBzdHJvbmdseSB0eXBlZCBlbnVtLgogICAgIFdF
QkNPUkVfRVhQT1JUIHZvaWQgZmlsdGVyTWFya2Vycyhjb25zdCBTaW1wbGVSYW5nZSYsIGNvbnN0
IEZ1bmN0aW9uPGJvb2woY29uc3QgRG9jdW1lbnRNYXJrZXImKT4mIGZpbHRlckZ1bmN0aW9uLCBP
cHRpb25TZXQ8RG9jdW1lbnRNYXJrZXI6Ok1hcmtlclR5cGU+ID0gRG9jdW1lbnRNYXJrZXI6OmFs
bE1hcmtlcnMoKSwgUmVtb3ZlUGFydGlhbGx5T3ZlcmxhcHBpbmdNYXJrZXIgPSBSZW1vdmVQYXJ0
aWFsbHlPdmVybGFwcGluZ01hcmtlcjo6Tm8pOwogCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBy
ZW1vdmVNYXJrZXJzKE9wdGlvblNldDxEb2N1bWVudE1hcmtlcjo6TWFya2VyVHlwZT4gPSBEb2N1
bWVudE1hcmtlcjo6YWxsTWFya2VycygpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvY29jb2EvQWx0ZXJuYXRpdmVUZXh0Q29udGV4dENvbnRyb2xsZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvY29jb2EvQWx0ZXJuYXRpdmVUZXh0Q29udGV4dENvbnRyb2xsZXIuaApp
bmRleCBjZWE2OTI4NWFhNjU2MWEwZmNkM2IyYjkxNDkwYzIwZmVmMGI4NGQ3Li4wMjExODc1YzA3
OTUwNmNiZGRjOGQ5ZmY3ZmI3MWNjNzg4NzIxZWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL2NvY29hL0FsdGVybmF0aXZlVGV4dENvbnRleHRDb250cm9sbGVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9BbHRlcm5hdGl2ZVRleHRDb250ZXh0Q29udHJv
bGxlci5oCkBAIC0zNCw2ICszNCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEFsdGVy
bmF0aXZlVGV4dENvbnRleHRDb250cm9sbGVyIHsKIHB1YmxpYzoKICAgICBEaWN0YXRpb25Db250
ZXh0IGFkZEFsdGVybmF0aXZlcyhOU1RleHRBbHRlcm5hdGl2ZXMgKik7CisgICAgdm9pZCByZXBs
YWNlQWx0ZXJuYXRpdmVzKE5TVGV4dEFsdGVybmF0aXZlcyAqLCBEaWN0YXRpb25Db250ZXh0KTsK
ICAgICB2b2lkIHJlbW92ZUFsdGVybmF0aXZlc0ZvckNvbnRleHQoRGljdGF0aW9uQ29udGV4dCk7
CiAgICAgdm9pZCBjbGVhcigpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L2NvY29hL0FsdGVybmF0aXZlVGV4dENvbnRleHRDb250cm9sbGVyLm1tIGIvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9jb2NvYS9BbHRlcm5hdGl2ZVRleHRDb250ZXh0Q29udHJvbGxlci5tbQppbmRl
eCA4NTA0NjlmNzhiZjYwODY1Yzg2Y2E2YmQxOGZiMDNkODE1N2RjNTRjLi41MzRmM2Y3ODQ1NjAw
ODc3Mzg3MDFlMmNkZDRiYzcxNzNmMDVhMjg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL2NvY29hL0FsdGVybmF0aXZlVGV4dENvbnRleHRDb250cm9sbGVyLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvQWx0ZXJuYXRpdmVUZXh0Q29udGV4dENvbnRyb2xs
ZXIubW0KQEAgLTM5LDYgKzM5LDE2IEBAIERpY3RhdGlvbkNvbnRleHQgQWx0ZXJuYXRpdmVUZXh0
Q29udGV4dENvbnRyb2xsZXI6OmFkZEFsdGVybmF0aXZlcyhOU1RleHRBbHRlcm5hCiAgICAgfSku
aXRlcmF0b3ItPnZhbHVlOwogfQogCit2b2lkIEFsdGVybmF0aXZlVGV4dENvbnRleHRDb250cm9s
bGVyOjpyZXBsYWNlQWx0ZXJuYXRpdmVzKE5TVGV4dEFsdGVybmF0aXZlcyAqYWx0ZXJuYXRpdmVz
LCBEaWN0YXRpb25Db250ZXh0IGNvbnRleHQpCit7CisgICAgcmVtb3ZlQWx0ZXJuYXRpdmVzRm9y
Q29udGV4dChjb250ZXh0KTsKKyAgICBpZiAoIWFsdGVybmF0aXZlcykKKyAgICAgICAgcmV0dXJu
OworCisgICAgbV9jb250ZXh0cy5zZXQoYWx0ZXJuYXRpdmVzLCBjb250ZXh0KTsKKyAgICBtX2Fs
dGVybmF0aXZlcy5zZXQoY29udGV4dCwgYWx0ZXJuYXRpdmVzKTsKK30KKwogTlNUZXh0QWx0ZXJu
YXRpdmVzICpBbHRlcm5hdGl2ZVRleHRDb250ZXh0Q29udHJvbGxlcjo6YWx0ZXJuYXRpdmVzRm9y
Q29udGV4dChEaWN0YXRpb25Db250ZXh0IGNvbnRleHQpIGNvbnN0CiB7CiAgICAgaWYgKCFjb250
ZXh0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9BbHRlcm5hdGl2
ZVRleHRVSUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvQWx0ZXJu
YXRpdmVUZXh0VUlDb250cm9sbGVyLmgKaW5kZXggMjBjN2JkZGUwODE2ODFlNjlkNzc2ZjkzZTQ3
NmU1NTJlNDk4OGQwZC4uMjc3ODBlZjI2YTVlYmI1NGFkYzhlZGNhYTEzY2MxZjI3ZDVmYjAyOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9BbHRlcm5hdGl2ZVRleHRV
SUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0FsdGVybmF0
aXZlVGV4dFVJQ29udHJvbGxlci5oCkBAIC0zNSw2ICszNSw3IEBAIGNsYXNzIEFsdGVybmF0aXZl
VGV4dFVJQ29udHJvbGxlciB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
CiAgICAgV0VCQ09SRV9FWFBPUlQgRGljdGF0aW9uQ29udGV4dCBhZGRBbHRlcm5hdGl2ZXMoTlNU
ZXh0QWx0ZXJuYXRpdmVzICopOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcmVwbGFjZUFsdGVy
bmF0aXZlcyhOU1RleHRBbHRlcm5hdGl2ZXMgKiwgRGljdGF0aW9uQ29udGV4dCk7CiAgICAgV0VC
Q09SRV9FWFBPUlQgdm9pZCByZW1vdmVBbHRlcm5hdGl2ZXMoRGljdGF0aW9uQ29udGV4dCk7CiAg
ICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBjbGVhcigpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL2NvY29hL0FsdGVybmF0aXZlVGV4dFVJQ29udHJvbGxlci5tbSBiL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvQWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLm1tCmlu
ZGV4IGNmMTU0Yzg2ZjAyZDg2NjhiZmJjNjNhOTRlN2RlOTUxZWFhMjBlOGMuLjRiYjU3ODRlYzhl
NGZhMGMyZjBhNTkxNTI1Y2VkOTliYjZmNDgxMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvY29jb2EvQWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvQWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLm1tCkBA
IC00NSw2ICs0NSwxMSBAQCBEaWN0YXRpb25Db250ZXh0IEFsdGVybmF0aXZlVGV4dFVJQ29udHJv
bGxlcjo6YWRkQWx0ZXJuYXRpdmVzKE5TVGV4dEFsdGVybmF0aXZlcwogICAgIHJldHVybiBtX2Nv
bnRleHRDb250cm9sbGVyLmFkZEFsdGVybmF0aXZlcyhhbHRlcm5hdGl2ZXMpOwogfQogCit2b2lk
IEFsdGVybmF0aXZlVGV4dFVJQ29udHJvbGxlcjo6cmVwbGFjZUFsdGVybmF0aXZlcyhOU1RleHRB
bHRlcm5hdGl2ZXMgKmFsdGVybmF0aXZlcywgRGljdGF0aW9uQ29udGV4dCBjb250ZXh0KQorewor
ICAgIG1fY29udGV4dENvbnRyb2xsZXIucmVwbGFjZUFsdGVybmF0aXZlcyhhbHRlcm5hdGl2ZXMs
IGNvbnRleHQpOworfQorCiBOU1RleHRBbHRlcm5hdGl2ZXMgKkFsdGVybmF0aXZlVGV4dFVJQ29u
dHJvbGxlcjo6YWx0ZXJuYXRpdmVzRm9yQ29udGV4dChEaWN0YXRpb25Db250ZXh0IGNvbnRleHQp
CiB7CiAgICAgcmV0dXJuIG1fY29udGV4dENvbnRyb2xsZXIuYWx0ZXJuYXRpdmVzRm9yQ29udGV4
dChjb250ZXh0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9U
ZXh0SW5wdXRTUEkuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9UZXh0SW5wdXRT
UEkuaAppbmRleCA1ZGZhMWQ4NDU4ODQ2YjdiOGVmYjk2NzJkY2NlMjA5MmNjYjNjMTg5Li4wNmQ2
OTY5MjVhMTE1N2FmYjEyMGQwYTE4NmQ3OWVjZGIzOTkxZTMwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1BsYXRmb3JtL3NwaS9pb3MvVGV4dElucHV0U1BJLmgKKysrIGIvU291cmNlL1dlYktp
dC9QbGF0Zm9ybS9zcGkvaW9zL1RleHRJbnB1dFNQSS5oCkBAIC01Myw2ICs1Myw3IEBACiBAaW50
ZXJmYWNlIE5TU3RyaW5nIChUZXh0SW5wdXREZXRhaWxzKQogLSAoQk9PTClfY29udGFpbnNDSlNj
cmlwdHM7CiAtIChCT09MKV9jb250YWluc0NKU2NyaXB0c09ubHk7CistIChCT09MKV9jb250YWlu
c0Vtb2ppT25seTsKIEBlbmQKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLmgKaW5kZXggYTIxN2MxZjllZmJlMDQwZDU2
YTRmNGJlYTUxZDg1NmE0Yjg3Y2M4NS4uYjJmOTYyZjc2MTQ4OGUzYTlkMjdiODkyMTc1Y2JhMTMz
MDI4ZWNkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGFnZUNs
aWVudEltcGxDb2NvYS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1BhZ2VD
bGllbnRJbXBsQ29jb2EuaApAQCAtNzQsNiArNzQsNyBAQCBwdWJsaWM6CiAjZW5kaWYKIAogICAg
IFdlYkNvcmU6OkRpY3RhdGlvbkNvbnRleHQgYWRkRGljdGF0aW9uQWx0ZXJuYXRpdmVzKE5TVGV4
dEFsdGVybmF0aXZlcyAqKSBmaW5hbDsKKyAgICB2b2lkIHJlcGxhY2VEaWN0YXRpb25BbHRlcm5h
dGl2ZXMoTlNUZXh0QWx0ZXJuYXRpdmVzICosIFdlYkNvcmU6OkRpY3RhdGlvbkNvbnRleHQpIGZp
bmFsOwogICAgIHZvaWQgcmVtb3ZlRGljdGF0aW9uQWx0ZXJuYXRpdmVzKFdlYkNvcmU6OkRpY3Rh
dGlvbkNvbnRleHQpIGZpbmFsOwogICAgIFZlY3RvcjxTdHJpbmc+IGRpY3RhdGlvbkFsdGVybmF0
aXZlcyhXZWJDb3JlOjpEaWN0YXRpb25Db250ZXh0KSBmaW5hbDsKICAgICBOU1RleHRBbHRlcm5h
dGl2ZXMgKnBsYXRmb3JtRGljdGF0aW9uQWx0ZXJuYXRpdmVzKFdlYkNvcmU6OkRpY3RhdGlvbkNv
bnRleHQpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
UGFnZUNsaWVudEltcGxDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1Bh
Z2VDbGllbnRJbXBsQ29jb2EubW0KaW5kZXggNWQ1YjE0NjE1NWNlOGYxNjFlYjAzYTBlNWJiMzdl
OTRkMzBjOTFlYS4uMTZlNGViOThmMzE2MzUwNmEzOGM2ZDNlNThhZjhkZTRhZDc0OTI2MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2Nv
YS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENv
Y29hLm1tCkBAIC0xNTgsNiArMTU4LDExIEBAIFdlYkNvcmU6OkRpY3RhdGlvbkNvbnRleHQgUGFn
ZUNsaWVudEltcGxDb2NvYTo6YWRkRGljdGF0aW9uQWx0ZXJuYXRpdmVzKE5TVGV4dEFsCiAgICAg
cmV0dXJuIG1fYWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLT5hZGRBbHRlcm5hdGl2ZXMoYWx0
ZXJuYXRpdmVzKTsKIH0KIAordm9pZCBQYWdlQ2xpZW50SW1wbENvY29hOjpyZXBsYWNlRGljdGF0
aW9uQWx0ZXJuYXRpdmVzKE5TVGV4dEFsdGVybmF0aXZlcyAqYWx0ZXJuYXRpdmVzLCBXZWJDb3Jl
OjpEaWN0YXRpb25Db250ZXh0IGNvbnRleHQpCit7CisgICAgbV9hbHRlcm5hdGl2ZVRleHRVSUNv
bnRyb2xsZXItPnJlcGxhY2VBbHRlcm5hdGl2ZXMoYWx0ZXJuYXRpdmVzLCBjb250ZXh0KTsKK30K
Kwogdm9pZCBQYWdlQ2xpZW50SW1wbENvY29hOjpyZW1vdmVEaWN0YXRpb25BbHRlcm5hdGl2ZXMo
V2ViQ29yZTo6RGljdGF0aW9uQ29udGV4dCBkaWN0YXRpb25Db250ZXh0KQogewogICAgIG1fYWx0
ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLT5yZW1vdmVBbHRlcm5hdGl2ZXMoZGljdGF0aW9uQ29u
dGV4dCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdl
UHJveHlDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94
eUNvY29hLm1tCmluZGV4IDI3ODE3MTE0ZWVjYzgzYWMzMDY3ODc1MjAzNDM3ZDNkMWE2YTFkMGYu
LjU4ZGZmNDQyYTA3MjMzZGJiZmUyMzgwNmNkYWE4ZDA1OWI2NjJhN2QgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tCkBAIC0zODYs
NiArMzg2LDI0IEBAIHZvaWQgV2ViUGFnZVByb3h5OjphZGREaWN0YXRpb25BbHRlcm5hdGl2ZShU
ZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UmJiBhbHRlcm5hdGl2CiAgICAgfSk7CiB9CiAKK3ZvaWQg
V2ViUGFnZVByb3h5OjpkaWN0YXRpb25BbHRlcm5hdGl2ZXNBdFNlbGVjdGlvbihDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKFZlY3RvcjxEaWN0YXRpb25Db250ZXh0PiYmKT4mJiBjb21wbGV0aW9uKQor
eworICAgIGlmICghaGFzUnVubmluZ1Byb2Nlc3MoKSkgeworICAgICAgICBjb21wbGV0aW9uKHsg
fSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBzZW5kV2l0aEFzeW5jUmVwbHkoTWVz
c2FnZXM6OldlYlBhZ2U6OkRpY3RhdGlvbkFsdGVybmF0aXZlc0F0U2VsZWN0aW9uKCksIFdURk1v
dmUoY29tcGxldGlvbikpOworfQorCit2b2lkIFdlYlBhZ2VQcm94eTo6Y2xlYXJEaWN0YXRpb25B
bHRlcm5hdGl2ZXMoVmVjdG9yPERpY3RhdGlvbkNvbnRleHQ+JiYgYWx0ZXJuYXRpdmVzVG9DbGVh
cikKK3sKKyAgICBpZiAoIWhhc1J1bm5pbmdQcm9jZXNzKCkgfHwgYWx0ZXJuYXRpdmVzVG9DbGVh
ci5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybjsKKworICAgIHNlbmQoTWVzc2FnZXM6OldlYlBh
Z2U6OkNsZWFyRGljdGF0aW9uQWx0ZXJuYXRpdmVzKFdURk1vdmUoYWx0ZXJuYXRpdmVzVG9DbGVh
cikpKTsKK30KKwogI2lmIFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKQogCiBOU1RleHRBbHRl
cm5hdGl2ZXMgKldlYlBhZ2VQcm94eTo6cGxhdGZvcm1EaWN0YXRpb25BbHRlcm5hdGl2ZXMoV2Vi
Q29yZTo6RGljdGF0aW9uQ29udGV4dCBkaWN0YXRpb25Db250ZXh0KQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvUGFnZUNsaWVudC5oCmluZGV4IGQwMmJiN2NjODBmNzA3MWExM2M3ZjJiMzY0MWJjN2JhZjBi
YWIwOTguLmFmMzE1MTg3OWFjMGRhYzM0YzU2M2JkZWZlYjY5MDRkNWM1MDRiMWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKQEAgLTQxNiw2ICs0MTYsNyBAQCBwdWJsaWM6CiAK
ICNpZiBVU0UoRElDVEFUSU9OX0FMVEVSTkFUSVZFUykKICAgICB2aXJ0dWFsIFdlYkNvcmU6OkRp
Y3RhdGlvbkNvbnRleHQgYWRkRGljdGF0aW9uQWx0ZXJuYXRpdmVzKE5TVGV4dEFsdGVybmF0aXZl
cyAqKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHJlcGxhY2VEaWN0YXRpb25BbHRlcm5hdGl2ZXMo
TlNUZXh0QWx0ZXJuYXRpdmVzICosIFdlYkNvcmU6OkRpY3RhdGlvbkNvbnRleHQpID0gMDsKICAg
ICB2aXJ0dWFsIHZvaWQgcmVtb3ZlRGljdGF0aW9uQWx0ZXJuYXRpdmVzKFdlYkNvcmU6OkRpY3Rh
dGlvbkNvbnRleHQpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2hvd0RpY3RhdGlvbkFsdGVybmF0
aXZlVUkoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiBib3VuZGluZ0JveE9mRGljdGF0ZWRUZXh0
LCBXZWJDb3JlOjpEaWN0YXRpb25Db250ZXh0KSA9IDA7CiAgICAgdmlydHVhbCBWZWN0b3I8U3Ry
aW5nPiBkaWN0YXRpb25BbHRlcm5hdGl2ZXMoV2ViQ29yZTo6RGljdGF0aW9uQ29udGV4dCkgPSAw
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCAwM2MwM2Q1MWNlNDcz
YjQ3MjMwNzU5ZDhiNzViNGU4MzRhYmYwODcwLi5hZGRmODU2NzhhYjEwOTJhMzdkNDZjNTlhYmRh
ODg1ZDk5YTA0OWYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAt
OTc0LDYgKzk3NCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGluc2VydERpY3RhdGVkVGV4dEFzeW5j
KGNvbnN0IFN0cmluZyYsIGNvbnN0IEVkaXRpbmdSYW5nZSYgcmVwbGFjZW1lbnRSYW5nZSwgY29u
c3QgVmVjdG9yPFdlYkNvcmU6OlRleHRBbHRlcm5hdGl2ZVdpdGhSYW5nZT4mLCBJbnNlcnRUZXh0
T3B0aW9ucyYmKTsKIAogICAgIHZvaWQgYWRkRGljdGF0aW9uQWx0ZXJuYXRpdmUoV2ViQ29yZTo6
VGV4dEFsdGVybmF0aXZlV2l0aFJhbmdlJiYpOworICAgIHZvaWQgZGljdGF0aW9uQWx0ZXJuYXRp
dmVzQXRTZWxlY3Rpb24oQ29tcGxldGlvbkhhbmRsZXI8dm9pZChWZWN0b3I8V2ViQ29yZTo6RGlj
dGF0aW9uQ29udGV4dD4mJik+JiYpOworICAgIHZvaWQgY2xlYXJEaWN0YXRpb25BbHRlcm5hdGl2
ZXMoVmVjdG9yPFdlYkNvcmU6OkRpY3RhdGlvbkNvbnRleHQ+JiYpOwogCiAjaWYgVVNFKERJQ1RB
VElPTl9BTFRFUk5BVElWRVMpCiAgICAgTlNUZXh0QWx0ZXJuYXRpdmVzICpwbGF0Zm9ybURpY3Rh
dGlvbkFsdGVybmF0aXZlcyhXZWJDb3JlOjpEaWN0YXRpb25Db250ZXh0KTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0g
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1t
CmluZGV4IGZiZTNjZDQ4ZTAyODdhOGI2NmQxYzFmZDNiZGZmMjdmYmY1YmUyYzEuLmUzOWYzNTY2
OWUwOTMyODk5Y2Q4MjU0M2RjMTdmMzkwNGI4ZDgzZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQpAQCAtMzgs
NiArMzgsNyBAQAogI2ltcG9ydCAiTG9nZ2luZy5oIgogI2ltcG9ydCAiTmF0aXZlV2ViS2V5Ym9h
cmRFdmVudC5oIgogI2ltcG9ydCAiTmF0aXZlV2ViVG91Y2hFdmVudC5oIgorI2ltcG9ydCAiUGFn
ZUNsaWVudC5oIgogI2ltcG9ydCAiUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5oIgog
I2ltcG9ydCAiUmVtb3RlTGF5ZXJUcmVlVmlld3MuaCIKICNpbXBvcnQgIlJlbW90ZVNjcm9sbGlu
Z0Nvb3JkaW5hdG9yUHJveHkuaCIKQEAgLTU2NDcsNiArNTY0OCw0MiBAQCAtICh2b2lkKWFkZFRl
eHRBbHRlcm5hdGl2ZXM6KE5TVGV4dEFsdGVybmF0aXZlcyAqKWFsdGVybmF0aXZlcwogICAgIF9w
YWdlLT5hZGREaWN0YXRpb25BbHRlcm5hdGl2ZSh7IGFsdGVybmF0aXZlcywgTlNNYWtlUmFuZ2Uo
MCwgYWx0ZXJuYXRpdmVzLnByaW1hcnlTdHJpbmcubGVuZ3RoKSB9KTsKIH0KIAorLSAodm9pZCly
ZW1vdmVFbW9qaUFsdGVybmF0aXZlcworeworICAgIF9wYWdlLT5kaWN0YXRpb25BbHRlcm5hdGl2
ZXNBdFNlbGVjdGlvbihbd2Vha1NlbGYgPSBXZWFrT2JqQ1B0cjxXS0NvbnRlbnRWaWV3PihzZWxm
KV0oYXV0byYmIGNvbnRleHRzKSB7CisgICAgICAgIGF1dG8gc3Ryb25nU2VsZiA9IHdlYWtTZWxm
LmdldCgpOworICAgICAgICBpZiAoIXN0cm9uZ1NlbGYgfHwgIXN0cm9uZ1NlbGYtPl9wYWdlKQor
ICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIFJlZlB0ciBwYWdlID0gc3Ryb25nU2VsZi0+
X3BhZ2U7CisgICAgICAgIFZlY3RvcjxXZWJDb3JlOjpEaWN0YXRpb25Db250ZXh0PiBjb250ZXh0
c1RvUmVtb3ZlOworICAgICAgICBmb3IgKGF1dG8gY29udGV4dCA6IGNvbnRleHRzKSB7CisgICAg
ICAgICAgICBhdXRvIGFsdGVybmF0aXZlcyA9IHBhZ2UtPnBsYXRmb3JtRGljdGF0aW9uQWx0ZXJu
YXRpdmVzKGNvbnRleHQpOworICAgICAgICAgICAgaWYgKCFhbHRlcm5hdGl2ZXMpCisgICAgICAg
ICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgIGF1dG8gb3JpZ2luYWxBbHRlcm5hdGl2
ZXMgPSBhbHRlcm5hdGl2ZXMuYWx0ZXJuYXRpdmVTdHJpbmdzOworICAgICAgICAgICAgYXV0byBu
b25FbW9qaUFsdGVybmF0aXZlcyA9IFtOU011dGFibGVBcnJheSBhcnJheVdpdGhDYXBhY2l0eTpv
cmlnaW5hbEFsdGVybmF0aXZlcy5jb3VudF07CisgICAgICAgICAgICBmb3IgKE5TU3RyaW5nICph
bHRlcm5hdGl2ZSBpbiBvcmlnaW5hbEFsdGVybmF0aXZlcykgeworICAgICAgICAgICAgICAgIGlm
ICghYWx0ZXJuYXRpdmUuX2NvbnRhaW5zRW1vamlPbmx5KQorICAgICAgICAgICAgICAgICAgICBb
bm9uRW1vamlBbHRlcm5hdGl2ZXMgYWRkT2JqZWN0OmFsdGVybmF0aXZlXTsKKyAgICAgICAgICAg
IH0KKworICAgICAgICAgICAgaWYgKG5vbkVtb2ppQWx0ZXJuYXRpdmVzLmNvdW50ID09IG9yaWdp
bmFsQWx0ZXJuYXRpdmVzLmNvdW50KQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAg
ICAgICAgICBSZXRhaW5QdHI8TlNUZXh0QWx0ZXJuYXRpdmVzPiByZXBsYWNlbWVudDsKKyAgICAg
ICAgICAgIGlmIChub25FbW9qaUFsdGVybmF0aXZlcy5jb3VudCkKKyAgICAgICAgICAgICAgICBy
ZXBsYWNlbWVudCA9IGFkb3B0TlMoW1tOU1RleHRBbHRlcm5hdGl2ZXMgYWxsb2NdIGluaXRXaXRo
UHJpbWFyeVN0cmluZzphbHRlcm5hdGl2ZXMucHJpbWFyeVN0cmluZyBhbHRlcm5hdGl2ZVN0cmlu
Z3M6bm9uRW1vamlBbHRlcm5hdGl2ZXMgaXNMb3dDb25maWRlbmNlOmFsdGVybmF0aXZlcy5pc0xv
d0NvbmZpZGVuY2VdKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBjb250ZXh0
c1RvUmVtb3ZlLmFwcGVuZChjb250ZXh0KTsKKworICAgICAgICAgICAgcGFnZS0+cGFnZUNsaWVu
dCgpLnJlcGxhY2VEaWN0YXRpb25BbHRlcm5hdGl2ZXMocmVwbGFjZW1lbnQuZ2V0KCksIGNvbnRl
eHQpOworICAgICAgICB9CisgICAgICAgIHBhZ2UtPmNsZWFyRGljdGF0aW9uQWx0ZXJuYXRpdmVz
KFdURk1vdmUoY29udGV4dHNUb1JlbW92ZSkpOworICAgIH0pOworfQorCiAvLyBlbmQgb2YgVUlU
ZXh0SW5wdXQgcHJvdG9jb2wgaW1wbGVtZW50YXRpb24KIAogc3RhdGljIFVJVGV4dEF1dG9jYXBp
dGFsaXphdGlvblR5cGUgdG9VSVRleHRBdXRvY2FwaXRhbGl6ZShXZWJDb3JlOjpBdXRvY2FwaXRh
bGl6ZVR5cGUgd2Via2l0VHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL0NvY29hL1RleHRDaGVja2luZ0NvbnRyb2xsZXJQcm94eS5tbSBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0NvY29hL1RleHRDaGVja2luZ0NvbnRyb2xsZXJQcm94
eS5tbQppbmRleCBlYjU0ZjE5NmQzY2M3YjMyNjAxNGQwZDhhZDE3M2NiOWFlMzc0Njg0Li5iOTNl
NmI3MjUzOTdhMWY4ZjJlOTMwODdjMDhlNzNkMzhjOWU1NDc3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db2NvYS9UZXh0Q2hlY2tpbmdDb250cm9sbGVyUHJv
eHkubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29jb2EvVGV4dENo
ZWNraW5nQ29udHJvbGxlclByb3h5Lm1tCkBAIC0xNTksNiArMTU5LDcgQEAgdm9pZCBUZXh0Q2hl
Y2tpbmdDb250cm9sbGVyUHJveHk6OnJlbW92ZUFubm90YXRpb25SZWxhdGl2ZVRvU2VsZWN0aW9u
KGNvbnN0IFN0cmkKICAgICBkb2N1bWVudC0+bWFya2VycygpLmZpbHRlck1hcmtlcnMocmFuZ2VB
bmRPZmZzZXQtPnJhbmdlLCBbJl0gKGNvbnN0IERvY3VtZW50TWFya2VyJiBtYXJrZXIpIHsKICAg
ICAgICAgaWYgKCFzdGQ6OmhvbGRzX2FsdGVybmF0aXZlPFdlYkNvcmU6OkRvY3VtZW50TWFya2Vy
OjpQbGF0Zm9ybVRleHRDaGVja2luZ0RhdGE+KG1hcmtlci5kYXRhKCkpKQogICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgICAgICAvLyBGSVhNRTogSXMgdGhpcyByZXR1cm4gdmFsdWUgZmxp
cHBlZD8KICAgICAgICAgcmV0dXJuIHN0ZDo6Z2V0PFdlYkNvcmU6OkRvY3VtZW50TWFya2VyOjpQ
bGF0Zm9ybVRleHRDaGVja2luZ0RhdGE+KG1hcmtlci5kYXRhKCkpLmtleSAhPSBhbm5vdGF0aW9u
OwogICAgIH0sIHR5cGVzKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL0NvY29hL1dlYlBhZ2VDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL0NvY29hL1dlYlBhZ2VDb2NvYS5tbQppbmRleCA1YzZiZWQwMWNmZGRhYmIyYjJk
YTZjYmIwZWJmZTNmMzUwMGYyZjA0Li5hOWI3NjI4MzEzNDg1N2NhMGU2YWQzMDE2NzJjMDRkNzAy
NzA2ZmY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db2Nv
YS9XZWJQYWdlQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
Q29jb2EvV2ViUGFnZUNvY29hLm1tCkBAIC01Nyw2ICs1Nyw3IEBACiAjaW1wb3J0IDxXZWJDb3Jl
L1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oPgogI2ltcG9ydCA8V2ViQ29yZS9SYW5nZS5o
PgogI2ltcG9ydCA8V2ViQ29yZS9SZW5kZXJFbGVtZW50Lmg+CisjaW1wb3J0IDxXZWJDb3JlL1Jl
bmRlcmVkRG9jdW1lbnRNYXJrZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvVGV4dEl0ZXJhdG9yLmg+
CiAKICNpZiBQTEFURk9STShJT1MpCkBAIC0yODQsNiArMjg1LDUzIEBAIHZvaWQgV2ViUGFnZTo6
YWRkRGljdGF0aW9uQWx0ZXJuYXRpdmUoY29uc3QgU3RyaW5nJiB0ZXh0LCBEaWN0YXRpb25Db250
ZXh0IGNvbnRlCiAgICAgY29tcGxldGlvbih0cnVlKTsKIH0KIAordm9pZCBXZWJQYWdlOjpkaWN0
YXRpb25BbHRlcm5hdGl2ZXNBdFNlbGVjdGlvbihDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFZlY3Rv
cjxEaWN0YXRpb25Db250ZXh0PiYmKT4mJiBjb21wbGV0aW9uKQoreworICAgIFZlY3RvcjxEaWN0
YXRpb25Db250ZXh0PiBjb250ZXh0czsKKyAgICBSZWYgZnJhbWUgPSBDaGVja2VkUmVmKG1fcGFn
ZS0+Zm9jdXNDb250cm9sbGVyKCkpLT5mb2N1c2VkT3JNYWluRnJhbWUoKTsKKyAgICBSZWZQdHIg
ZG9jdW1lbnQgPSBmcmFtZS0+ZG9jdW1lbnQoKTsKKyAgICBpZiAoIWRvY3VtZW50KSB7CisgICAg
ICAgIGNvbXBsZXRpb24oV1RGTW92ZShjb250ZXh0cykpOworICAgICAgICByZXR1cm47CisgICAg
fQorCisgICAgYXV0byBzZWxlY3Rpb24gPSBmcmFtZS0+c2VsZWN0aW9uKCkuc2VsZWN0aW9uKCk7
CisgICAgYXV0byBleHBhbmRlZFNlbGVjdGlvblJhbmdlID0gVmlzaWJsZVNlbGVjdGlvbiB7IHNl
bGVjdGlvbi52aXNpYmxlU3RhcnQoKS5wcmV2aW91cyhDYW5ub3RDcm9zc0VkaXRpbmdCb3VuZGFy
eSksIHNlbGVjdGlvbi52aXNpYmxlRW5kKCkubmV4dChDYW5ub3RDcm9zc0VkaXRpbmdCb3VuZGFy
eSkgfS5yYW5nZSgpOworICAgIGlmICghZXhwYW5kZWRTZWxlY3Rpb25SYW5nZSkgeworICAgICAg
ICBjb21wbGV0aW9uKFdURk1vdmUoY29udGV4dHMpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KworICAgIGF1dG8gbWFya2VycyA9IGRvY3VtZW50LT5tYXJrZXJzKCkubWFya2Vyc0luUmFuZ2Uo
KmV4cGFuZGVkU2VsZWN0aW9uUmFuZ2UsIERvY3VtZW50TWFya2VyOjpEaWN0YXRpb25BbHRlcm5h
dGl2ZXMpOworICAgIGNvbnRleHRzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkobWFya2Vycy5zaXpl
KCkpOworICAgIGZvciAoYXV0byogbWFya2VyIDogbWFya2VycykgeworICAgICAgICBpZiAoc3Rk
Ojpob2xkc19hbHRlcm5hdGl2ZTxEb2N1bWVudE1hcmtlcjo6RGljdGF0aW9uRGF0YT4obWFya2Vy
LT5kYXRhKCkpKQorICAgICAgICAgICAgY29udGV4dHMudW5jaGVja2VkQXBwZW5kKHN0ZDo6Z2V0
PERvY3VtZW50TWFya2VyOjpEaWN0YXRpb25EYXRhPihtYXJrZXItPmRhdGEoKSkuY29udGV4dCk7
CisgICAgfQorICAgIGNvbXBsZXRpb24oV1RGTW92ZShjb250ZXh0cykpOworfQorCit2b2lkIFdl
YlBhZ2U6OmNsZWFyRGljdGF0aW9uQWx0ZXJuYXRpdmVzKFZlY3RvcjxEaWN0YXRpb25Db250ZXh0
PiYmIGNvbnRleHRzKQoreworICAgIFJlZiBmcmFtZSA9IENoZWNrZWRSZWYobV9wYWdlLT5mb2N1
c0NvbnRyb2xsZXIoKSktPmZvY3VzZWRPck1haW5GcmFtZSgpOworICAgIFJlZlB0ciBkb2N1bWVu
dCA9IGZyYW1lLT5kb2N1bWVudCgpOworICAgIGlmICghZG9jdW1lbnQpCisgICAgICAgIHJldHVy
bjsKKworICAgIEhhc2hTZXQ8RGljdGF0aW9uQ29udGV4dD4gc2V0T2ZDb250ZXh0c1RvUmVtb3Zl
OworICAgIHNldE9mQ29udGV4dHNUb1JlbW92ZS5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KGNvbnRl
eHRzLnNpemUoKSk7CisgICAgZm9yIChhdXRvIGNvbnRleHQgOiBjb250ZXh0cykKKyAgICAgICAg
c2V0T2ZDb250ZXh0c1RvUmVtb3ZlLmFkZChjb250ZXh0KTsKKworICAgIGF1dG8gZG9jdW1lbnRS
YW5nZSA9IG1ha2VSYW5nZVNlbGVjdGluZ05vZGVDb250ZW50cygqZG9jdW1lbnQpOworICAgIGRv
Y3VtZW50LT5tYXJrZXJzKCkuZmlsdGVyTWFya2Vycyhkb2N1bWVudFJhbmdlLCBbJl0gKGF1dG8m
IG1hcmtlcikgeworICAgICAgICBpZiAoIXN0ZDo6aG9sZHNfYWx0ZXJuYXRpdmU8RG9jdW1lbnRN
YXJrZXI6OkRpY3RhdGlvbkRhdGE+KG1hcmtlci5kYXRhKCkpKQorICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOworCisgICAgICAgIHJldHVybiBzZXRPZkNvbnRleHRzVG9SZW1vdmUuY29udGFpbnMo
c3RkOjpnZXQ8V2ViQ29yZTo6RG9jdW1lbnRNYXJrZXI6OkRpY3RhdGlvbkRhdGE+KG1hcmtlci5k
YXRhKCkpLmNvbnRleHQpOworICAgIH0sIERvY3VtZW50TWFya2VyOjpEaWN0YXRpb25BbHRlcm5h
dGl2ZXMpOworfQorCiB2b2lkIFdlYlBhZ2U6OmFjY2Vzc2liaWxpdHlUcmFuc2ZlclJlbW90ZVRv
a2VuKFJldGFpblB0cjxOU0RhdGE+IHJlbW90ZVRva2VuKQogewogICAgIElQQzo6RGF0YVJlZmVy
ZW5jZSBkYXRhVG9rZW4gPSBJUEM6OkRhdGFSZWZlcmVuY2UocmVpbnRlcnByZXRfY2FzdDxjb25z
dCB1aW50OF90Kj4oW3JlbW90ZVRva2VuIGJ5dGVzXSksIFtyZW1vdGVUb2tlbiBsZW5ndGhdKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCA4YTBjMjYw
NGI1OWQxNzFkOGI0YTEyMGI2OTc5NWFkYTdiNDA0MWJjLi5hMWIyNzlmOTdlNGFmOWFmYTYyYTM0
YjRhOGYzZjg2YTZlN2EzZDc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5oCkBAIC05NzAsNiArOTcwLDggQEAgcHVibGljOgogCiAgICAgdm9pZCBpbnNlcnRE
aWN0YXRlZFRleHRBc3luYyhjb25zdCBTdHJpbmcmIHRleHQsIGNvbnN0IEVkaXRpbmdSYW5nZSYg
cmVwbGFjZW1lbnRSYW5nZSwgY29uc3QgVmVjdG9yPFdlYkNvcmU6OkRpY3RhdGlvbkFsdGVybmF0
aXZlPiYgZGljdGF0aW9uQWx0ZXJuYXRpdmVMb2NhdGlvbnMsIEluc2VydFRleHRPcHRpb25zJiYp
OwogICAgIHZvaWQgYWRkRGljdGF0aW9uQWx0ZXJuYXRpdmUoY29uc3QgU3RyaW5nJiB0ZXh0LCBX
ZWJDb3JlOjpEaWN0YXRpb25Db250ZXh0LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYm
KTsKKyAgICB2b2lkIGRpY3RhdGlvbkFsdGVybmF0aXZlc0F0U2VsZWN0aW9uKENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoVmVjdG9yPFdlYkNvcmU6OkRpY3RhdGlvbkNvbnRleHQ+JiYpPiYmKTsKKyAg
ICB2b2lkIGNsZWFyRGljdGF0aW9uQWx0ZXJuYXRpdmVzKFZlY3RvcjxXZWJDb3JlOjpEaWN0YXRp
b25Db250ZXh0PiYmKTsKICNlbmRpZiAvLyBQTEFURk9STShDT0NPQSkKIAogI2lmIFBMQVRGT1JN
KE1BQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
Lm1lc3NhZ2VzLmluCmluZGV4IGUwZTM5Mjk3NGU3ZGZiZmZhNDkwYjhiMzIwYTVkZjdkNTViZjgw
MmUuLmM4Yjg4ODZiZDNhNDc5YTdhMTAxNTM3NjUzZjljNTgyZjg4ZWNlNjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgpA
QCAtNDc5LDYgKzQ3OSw4IEBAIEdlbmVyYXRlU3ludGhldGljRWRpdGluZ0NvbW1hbmQoZW51bTp1
aW50OF90IFdlYktpdDo6U3ludGhldGljRWRpdGluZ0NvbW1hbmRUeXBlCiAgICAgSW5zZXJ0VGV4
dEFzeW5jKFN0cmluZyB0ZXh0LCBzdHJ1Y3QgV2ViS2l0OjpFZGl0aW5nUmFuZ2UgcmVwbGFjZW1l
bnRSYW5nZSwgc3RydWN0IFdlYktpdDo6SW5zZXJ0VGV4dE9wdGlvbnMgb3B0aW9ucykKICAgICBJ
bnNlcnREaWN0YXRlZFRleHRBc3luYyhTdHJpbmcgdGV4dCwgc3RydWN0IFdlYktpdDo6RWRpdGlu
Z1JhbmdlIHJlcGxhY2VtZW50UmFuZ2UsIFZlY3RvcjxXZWJDb3JlOjpEaWN0YXRpb25BbHRlcm5h
dGl2ZT4gZGljdGF0aW9uQWx0ZXJuYXRpdmVzLCBzdHJ1Y3QgV2ViS2l0OjpJbnNlcnRUZXh0T3B0
aW9ucyBvcHRpb25zKQogICAgIEFkZERpY3RhdGlvbkFsdGVybmF0aXZlKFN0cmluZyB0ZXh0LCBX
ZWJDb3JlOjpEaWN0YXRpb25Db250ZXh0IGNvbnRleHQpIC0+IChib29sIHN1Y2Nlc3MpIEFzeW5j
CisgICAgRGljdGF0aW9uQWx0ZXJuYXRpdmVzQXRTZWxlY3Rpb24oKSAtPiAoVmVjdG9yPFdlYkNv
cmU6OkRpY3RhdGlvbkNvbnRleHQ+IGNvbnRleHRzKSBBc3luYworICAgIENsZWFyRGljdGF0aW9u
QWx0ZXJuYXRpdmVzKFZlY3RvcjxXZWJDb3JlOjpEaWN0YXRpb25Db250ZXh0PiBjb250ZXh0cykK
IAogICAgIEhhc01hcmtlZFRleHQoKSAtPiAoYm9vbCBoYXNNYXJrZWRUZXh0KQogICAgIEdldE1h
cmtlZFJhbmdlQXN5bmMoKSAtPiAoc3RydWN0IFdlYktpdDo6RWRpdGluZ1JhbmdlIHJhbmdlKQpk
aWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGY3YWZi
MmI0NTZiNjU5Y2UxMzVkYmM2NWRkNWU3ZWI4OWU1NTA0YjcuLjI5Zjg4OTIyNTAxMWUyMDkzZWNi
Y2MzM2UxYjQ4YjJkMmQyOTBlNGMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9U
b29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMi0wMy0xMCAgV2Vuc29uIEhzaWVo
ICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBBZGQgc3VwcG9ydCBm
b3IgLVtVSVRleHRJbnB1dCByZW1vdmVFbW9qaUFsdGVybmF0aXZlc10gb24gV0tDb250ZW50Vmll
dworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM3NzQy
CisgICAgICAgIHJkYXI6Ly84OTY0NzAxOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkanVzdCBhbiBBUEkgdGVzdCBhbmQgYXVnbWVudCBhbiBleGlz
dGluZyB0ZXN0IHRvIGV4ZXJjaXNlIGAtcmVtb3ZlRW1vamlBbHRlcm5hdGl2ZXNgLgorCisgICAg
ICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9pb3MvVGV4dEFsdGVybmF0aXZlcy5tbToKKyAgICAg
ICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvaW9zL1VJ
S2l0U1BJLmg6CisKIDIwMjItMDMtMTAgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBs
ZS5jb20+CiAKICAgICAgICAgW2lPU10gQWRkIHN1cHBvcnQgZm9yIC1bVUlUZXh0SW5wdXQgYWRk
VGV4dEFsdGVybmF0aXZlczpdIG9uIFdLQ29udGVudFZpZXcKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvaW9zL1RleHRBbHRlcm5hdGl2ZXMubW0gYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL2lvcy9UZXh0QWx0ZXJuYXRpdmVzLm1tCmluZGV4IDRmMzUwMWFhNDllNGU2
ZDM1Y2NlMTYyNDdiOTQ1MDVkMTY5ODQyYzEuLmJmYzk5ZjQ3Y2E3MGQxNGVlNjUwZjdjZTJlZTcw
MTdkMzQyZjBkNzYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvaW9zL1Rl
eHRBbHRlcm5hdGl2ZXMubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9pb3MvVGV4
dEFsdGVybmF0aXZlcy5tbQpAQCAtNTcsNyArNTcsNyBAQCBzdGF0aWMgUmV0YWluUHRyPFRlc3RX
S1dlYlZpZXc+IGNyZWF0ZVdlYlZpZXdGb3JUZXN0aW5nVGV4dEFsdGVybmF0aXZlcygpCiAgICAg
cmV0dXJuIHdlYlZpZXc7CiB9CiAKLVRFU1QoVGV4dEFsdGVybmF0aXZlcywgQWRkVGV4dEFsdGVy
bmF0aXZlc1dpdGhNYXRjaCkKK1RFU1QoVGV4dEFsdGVybmF0aXZlcywgQWRkQW5kUmVtb3ZlVGV4
dEFsdGVybmF0aXZlc1dpdGhNYXRjaCkKIHsKICAgICBhdXRvIHdlYlZpZXcgPSBjcmVhdGVXZWJW
aWV3Rm9yVGVzdGluZ1RleHRBbHRlcm5hdGl2ZXMoKTsKICAgICBbd2ViVmlldyBzeW5jaHJvbm91
c2x5TG9hZEhUTUxTdHJpbmc6QCI8Ym9keT5oZWxsbyB3b3JsZCZuYnNwOzwvYm9keT4iXTsKQEAg
LTY4LDYgKzY4LDM4IEBAIFRFU1QoVGV4dEFsdGVybmF0aXZlcywgQWRkVGV4dEFsdGVybmF0aXZl
c1dpdGhNYXRjaCkKICAgICBbd2ViVmlldyB3YWl0Rm9yTmV4dFByZXNlbnRhdGlvblVwZGF0ZV07
CiAKICAgICBFWFBFQ1RfRVEoMVUsIFt3ZWJWaWV3IGRpY3RhdGlvbkFsdGVybmF0aXZlc01hcmtl
ckNvdW50OkAiZG9jdW1lbnQuYm9keS5jaGlsZE5vZGVzWzBdIl0pOworCisgICAgLy8gVGhpcyBz
aG91bGQgbm90IHJlbW92ZSB0aGUgdGV4dCBhbHRlcm5hdGl2ZXMgYWJvdmUsIHNpbmNlIHRoZSBz
ZWxlY3Rpb24gZG9lcyBub3QgaW50ZXJzZWN0IHdpdGggdGhlIGRpY3RhdGlvbiBhbHRlcm5hdGl2
ZSBtYXJrZXIuCisgICAgW1t3ZWJWaWV3IHRleHRJbnB1dENvbnRlbnRWaWV3XSByZW1vdmVFbW9q
aUFsdGVybmF0aXZlc107CisgICAgW3dlYlZpZXcgd2FpdEZvck5leHRQcmVzZW50YXRpb25VcGRh
dGVdOworCisgICAgRVhQRUNUX0VRKDFVLCBbd2ViVmlldyBkaWN0YXRpb25BbHRlcm5hdGl2ZXNN
YXJrZXJDb3VudDpAImRvY3VtZW50LmJvZHkuY2hpbGROb2Rlc1swXSJdKTsKKworICAgIFtbd2Vi
VmlldyB0ZXh0SW5wdXRDb250ZW50Vmlld10gbW92ZUJ5T2Zmc2V0Oi0xXTsKKyAgICBbd2ViVmll
dyB3YWl0Rm9yTmV4dFByZXNlbnRhdGlvblVwZGF0ZV07CisgICAgW1t3ZWJWaWV3IHRleHRJbnB1
dENvbnRlbnRWaWV3XSByZW1vdmVFbW9qaUFsdGVybmF0aXZlc107CisgICAgW3dlYlZpZXcgd2Fp
dEZvck5leHRQcmVzZW50YXRpb25VcGRhdGVdOworCisgICAgRVhQRUNUX0VRKDBVLCBbd2ViVmll
dyBkaWN0YXRpb25BbHRlcm5hdGl2ZXNNYXJrZXJDb3VudDpAImRvY3VtZW50LmJvZHkuY2hpbGRO
b2Rlc1swXSJdKTsKK30KKworVEVTVChUZXh0QWx0ZXJuYXRpdmVzLCBBZGRBbmRSZW1vdmVUZXh0
QWx0ZXJuYXRpdmVzV2l0aFRleHRBbmRFbW9qaXMpCit7CisgICAgYXV0byB3ZWJWaWV3ID0gY3Jl
YXRlV2ViVmlld0ZvclRlc3RpbmdUZXh0QWx0ZXJuYXRpdmVzKCk7CisgICAgW3dlYlZpZXcgc3lu
Y2hyb25vdXNseUxvYWRIVE1MU3RyaW5nOkAiPGJvZHk+aGVsbG8gd29ybGQ8L2JvZHk+Il07Cisg
ICAgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAImdldFNlbGVjdGlvbigp
LnNldFBvc2l0aW9uKGRvY3VtZW50LmJvZHksIDEpIl07CisKKyAgICBhdXRvIGFsdGVybmF0aXZl
cyA9IGFkb3B0TlMoW1tOU1RleHRBbHRlcm5hdGl2ZXMgYWxsb2NdIGluaXRXaXRoUHJpbWFyeVN0
cmluZzpAImhlbGxvIHdvcmxkIiBhbHRlcm5hdGl2ZVN0cmluZ3M6QFsgQCLwn5GL8J+MjiIsIEAi
SGVsbG8gd29ybGQiIF1dKTsKKyAgICBbW3dlYlZpZXcgdGV4dElucHV0Q29udGVudFZpZXddIGFk
ZFRleHRBbHRlcm5hdGl2ZXM6YWx0ZXJuYXRpdmVzLmdldCgpXTsKKyAgICBbd2ViVmlldyB3YWl0
Rm9yTmV4dFByZXNlbnRhdGlvblVwZGF0ZV07CisKKyAgICBFWFBFQ1RfRVEoMVUsIFt3ZWJWaWV3
IGRpY3RhdGlvbkFsdGVybmF0aXZlc01hcmtlckNvdW50OkAiZG9jdW1lbnQuYm9keS5jaGlsZE5v
ZGVzWzBdIl0pOworCisgICAgLy8gVGhpcyBzaG91bGQgb25seSByZW1vdmUgb25lIG9mIHRoZSB0
d28gdGV4dCBhbHRlcm5hdGl2ZSBzdHJpbmdzLCB3aGljaCBsZWF2ZXMgdGhlIGRvY3VtZW50IG1h
cmtlciBpbnRhY3QuCisgICAgW1t3ZWJWaWV3IHRleHRJbnB1dENvbnRlbnRWaWV3XSByZW1vdmVF
bW9qaUFsdGVybmF0aXZlc107CisgICAgW3dlYlZpZXcgd2FpdEZvck5leHRQcmVzZW50YXRpb25V
cGRhdGVdOworCisgICAgRVhQRUNUX0VRKDFVLCBbd2ViVmlldyBkaWN0YXRpb25BbHRlcm5hdGl2
ZXNNYXJrZXJDb3VudDpAImRvY3VtZW50LmJvZHkuY2hpbGROb2Rlc1swXSJdKTsKIH0KIAogVEVT
VChUZXh0QWx0ZXJuYXRpdmVzLCBBZGRUZXh0QWx0ZXJuYXRpdmVzV2l0aFNlbGVjdGVkTWF0Y2gp
CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL2lvcy9VSUtpdFNQSS5oIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9pb3MvVUlLaXRTUEkuaAppbmRleCA0NzE0NjU4MDNhMTgxYjJhNzA2MDBi
NjViMjAxNzBjNjk2ODllYzVhLi4xOWMwMzZiMWY4ZGJmZTJkNWQ2Y2FjMTYzNWUzMDM3ZDlkMTNl
ZjI3IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL2lvcy9VSUtpdFNQSS5oCisrKyBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvaW9zL1VJS2l0U1BJLmgKQEAgLTMyMyw2ICszMjMsNyBAQCB0
eXBlZGVmIE5TX0VOVU0oTlNVSW50ZWdlciwgX1VJQ2xpY2tJbnRlcmFjdGlvbkV2ZW50KSB7CiAt
IChDR1JlY3QpX3NlbGVjdGlvbkNsaXBSZWN0OwogQG9wdGlvbmFsCiAtICh2b2lkKWFkZFRleHRB
bHRlcm5hdGl2ZXM6KE5TVGV4dEFsdGVybmF0aXZlcyAqKWFsdGVybmF0aXZlczsKKy0gKHZvaWQp
cmVtb3ZlRW1vamlBbHRlcm5hdGl2ZXM7CiBAZW5kCiAKIEBpbnRlcmZhY2UgVUlSZXNwb25kZXIg
KEludGVybmFsKQo=
</data>
<flag name="commit-queue"
          id="482057"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>454428</attachid>
            <date>2022-03-10 16:49:53 -0800</date>
            <delta_ts>2022-03-11 11:10:11 -0800</delta_ts>
            <desc>Fix non-internal iOS build</desc>
            <filename>bug-237742-20220310164952.patch</filename>
            <type>text/plain</type>
            <size>27104</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxMTM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjVjZjBhYTkwZGVlOGIz
ZDBmYjZlZjRlZWQ1MGIzNzA3NzcwNjFjOS4uMmQ3M2YzMzhkOTQ1ZDBkMGQyYTI5ZTBjNWExNTcx
NWMwMzMwMmFiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDIyLTAzLTEwICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIEFkZCBz
dXBwb3J0IGZvciAtW1VJVGV4dElucHV0IHJlbW92ZUVtb2ppQWx0ZXJuYXRpdmVzXSBvbiBXS0Nv
bnRlbnRWaWV3CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMzc3NDIKKyAgICAgICAgcmRhcjovLzg5NjQ3MDE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHBsdW1iaW5nIHRvIEFsdGVybmF0aXZlVGV4
dFVJQ29udHJvbGxlciBhbmQgQWx0ZXJuYXRpdmVUZXh0Q29udGV4dENvbnRyb2xsZXIgdG8gcmVw
bGFjZSBhbiBleGlzdGluZworICAgICAgICBEaWN0YXRpb25Db250ZXh0J3MgTlNUZXh0QWx0ZXJu
YXRpdmVzOyBwYXNzaW5nIGluIGEgbmlsIE5TVGV4dEFsdGVybmF0aXZlcyBzaW1wbHkgcmVtb3Zl
cyB0aGUgRGljdGF0aW9uQ29udGV4dAorICAgICAgICBhbmQgaXRzIGV4aXN0aW5nIHRleHQgYWx0
ZXJuYXRpdmVzLgorCisgICAgICAgIFNlZSBXZWJLaXQgQ2hhbmdlTG9nIGZvciBtb3JlIGRldGFp
bHMuCisKKyAgICAgICAgVGVzdHM6ICBUZXh0QWx0ZXJuYXRpdmVzLkFkZEFuZFJlbW92ZVRleHRB
bHRlcm5hdGl2ZXNXaXRoTWF0Y2gKKyAgICAgICAgICAgICAgICBUZXh0QWx0ZXJuYXRpdmVzLkFk
ZEFuZFJlbW92ZVRleHRBbHRlcm5hdGl2ZXNXaXRoVGV4dEFuZEVtb2ppcworCisgICAgICAgICog
ZG9tL0RvY3VtZW50TWFya2VyQ29udHJvbGxlci5oOgorCisgICAgICAgIERyaXZlLWJ5IGZpeDog
YWRqdXN0IGEgY29tbWVudCB0byByZWZsZWN0IHRoZSBhY3R1YWwgYmVoYXZpb3IgaW4gRG9jdW1l
bnRNYXJrZXJDb250cm9sbGVyLCBhbmQgYWxzbyBhZGQgYSBGSVhNRQorICAgICAgICB0byByZXBs
YWNlIHRoZSBgYm9vbGAgcmV0dXJuIHR5cGUgd2l0aCBhbiBlbnVtIHR5cGUuCisKKyAgICAgICAg
KiBlZGl0aW5nL2NvY29hL0FsdGVybmF0aXZlVGV4dENvbnRleHRDb250cm9sbGVyLmg6CisgICAg
ICAgICogZWRpdGluZy9jb2NvYS9BbHRlcm5hdGl2ZVRleHRDb250ZXh0Q29udHJvbGxlci5tbToK
KyAgICAgICAgKFdlYkNvcmU6OkFsdGVybmF0aXZlVGV4dENvbnRleHRDb250cm9sbGVyOjpyZXBs
YWNlQWx0ZXJuYXRpdmVzKToKKyAgICAgICAgKiBlZGl0aW5nL2NvY29hL0FsdGVybmF0aXZlVGV4
dFVJQ29udHJvbGxlci5oOgorICAgICAgICAqIGVkaXRpbmcvY29jb2EvQWx0ZXJuYXRpdmVUZXh0
VUlDb250cm9sbGVyLm1tOgorICAgICAgICAoV2ViQ29yZTo6QWx0ZXJuYXRpdmVUZXh0VUlDb250
cm9sbGVyOjpyZXBsYWNlQWx0ZXJuYXRpdmVzKToKKwogMjAyMi0wMy0xMCAgQWxhbiBCdWp0YXMg
IDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0lGQ11bSW50ZWdyYXRpb25dIEVuYWJsZSBS
ZW5kZXJMaXN0SXRlbSBhbmQgUmVuZGVyTGlzdE1hcmtlciBmb3IgSUZDCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDg0
MmUzMGMyY2VjYmVlNGVjMDhlYzkzZDJiYjFiMmEzOWVkMDI0Y2IuLjI2YzI5ZmJlNjI4MGU3ZmI4
MjVlYjRmYTZkZmZhNmE4NzU3YzExNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTcgQEAKKzIwMjIt
MDMtMTAgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAg
W2lPU10gQWRkIHN1cHBvcnQgZm9yIC1bVUlUZXh0SW5wdXQgcmVtb3ZlRW1vamlBbHRlcm5hdGl2
ZXNdIG9uIFdLQ29udGVudFZpZXcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIzNzc0MgorICAgICAgICByZGFyOi8vODk2NDcwMTgKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgYC1y
ZW1vdmVFbW9qaUFsdGVybmF0aXZlc2AsIHdoaWNoIHJlbW92ZXMgYWxsIGRpY3RhdGlvbiBhbHRl
cm5hdGl2ZXMgYXQgdGhlIGN1cnJlbnQgc2VsZWN0aW9uLAorICAgICAgICB3aG9zZSB0ZXh0IGFs
dGVybmF0aXZlIHN0cmluZ3Mgb25seSBjb250YWluIGVtb2ppcy4gU2VlIGJlbG93IGZvciBtb3Jl
IGRldGFpbHMuCisKKyAgICAgICAgKiBQbGF0Zm9ybS9zcGkvaW9zL1RleHRJbnB1dFNQSS5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLmg6CisgICAgICAg
ICogVUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EubW06CisgICAgICAgIChXZWJL
aXQ6OlBhZ2VDbGllbnRJbXBsQ29jb2E6OnJlcGxhY2VEaWN0YXRpb25BbHRlcm5hdGl2ZXMpOgor
CisgICAgICAgIEFkZCBQYWdlQ2xpZW50IHBsdW1iaW5nIHRvIHRoZSBuZXcgQWx0ZXJuYXRpdmVU
ZXh0VUlDb250cm9sbGVyIG1ldGhvZHMgaW4gV2ViQ29yZSB0byByZXBsYWNlIGFuIGV4aXN0aW5n
CisgICAgICAgIGRpY3RhdGlvbiBjb250ZXh0J3MgdGV4dCBhbHRlcm5hdGl2ZXMuCisKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW06CisgICAgICAgIChXZWJL
aXQ6OldlYlBhZ2VQcm94eTo6ZGljdGF0aW9uQWx0ZXJuYXRpdmVzQXRTZWxlY3Rpb24pOgorCisg
ICAgICAgIFdlIGV4cGFuZCB0aGUgc2VsZWN0aW9uIHJhbmdlIGJ5IG9uZSBjaGFyYWN0ZXIgaGVy
ZSBzaW5jZSBgRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyOjptYXJrZXJzSW5SYW5nZSgpYCBkb2Vz
IG5vdAorICAgICAgICBpbmNsdWRlIGRvY3VtZW50IG1hcmtlcnMgdGhhdCBlbmQgZXhhY3RseSBh
dCB0aGUgZ2l2ZW4gcmFuZ2UuCisKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpjbGVh
ckRpY3RhdGlvbkFsdGVybmF0aXZlcyk6CisKKyAgICAgICAgQWRkIHR3byBoZWxwZXIgbWV0aG9k
cyBvbiBXZWJQYWdlUHJveHk6IG9uZSB0byBxdWVyeSBhbGwgZGljdGF0aW9uIGFsdGVybmF0aXZl
IGlkZW50aWZpZXJzIHRoYXQgaW50ZXJzZWN0IHdpdGgKKyAgICAgICAgdGhlIGN1cnJlbnQgc2Vs
ZWN0aW9uIHJhbmdlLCBhbmQgYW5vdGhlciB0byByZW1vdmUgYWxsIGRpY3RhdGlvbiBhbHRlcm5h
dGl2ZSBkb2N1bWVudCBtYXJrZXJzIHdob3NlCisgICAgICAgIERpY3RhdGlvbkNvbnRleHQgbWF0
Y2hlcyBhbiBpZGVudGlmaWVyIGluIGEgZ2l2ZW4gbGlzdCBvZiBpZGVudGlmaWVycy4KKworICAg
ICAgICAqIFVJUHJvY2Vzcy9QYWdlQ2xpZW50Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0
aW9uLm1tOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IHJlbW92ZUVtb2ppQWx0ZXJuYXRpdmVz
XSk6CisKKyAgICAgICAgSW1wbGVtZW50IHRoZSBuZXcgU1BJIG1ldGhvZCB3aXRoIGEgdHdvLXN0
ZXAgcHJvY2VzczoKKworICAgICAgICAxLiAgUmVxdWVzdCB0aGUgbGlzdCBvZiBkaWN0YXRpb24g
Y29udGV4dCBJRHMgYXQgdGhlIHNlbGVjdGlvbjsgZm9yIGVhY2ggSUQsIHdlIGVpdGhlciAoYSkg
cmVwbGFjZSB0aGUgdGV4dAorICAgICAgICAgICAgYWx0ZXJuYXRpdmVzIGZvciB0aGF0IGNvbnRl
eHQgSUQgd2l0aCBhIG5ldyBOU1RleHRBbHRlcm5hdGl2ZXMgb2JqZWN0IHRoYXQgZG9lc24ndCBo
YXZlIGFueSBvZiB0aGUgZW1vamktCisgICAgICAgICAgICBvbmx5IGFsdGVybmF0aXZlcyB0aGF0
IGFwcGVhciBpbiB0aGUgb3JpZ2luYWwgTlNUZXh0QWx0ZXJuYXRpdmVzLCBvciAoYikgcmVtb3Zl
IHRoZSBOU1RleHRBbHRlcm5hdGl2ZXMgYW5kCisgICAgICAgICAgICBkaWN0YXRpb24gY29udGV4
dCBJRCBtYXBwaW5nIGVudGlyZWx5LCBpZiBhbGwgdGhlIGFsdGVybmF0aXZlcyBvbmx5IGNvbnRh
aW4gZW1vamlzLgorCisgICAgICAgIDIuICBGb3IgYWxsIHRoZSB0ZXh0IGFsdGVybmF0aXZlcyB0
aGF0IHdlcmUgcmVtb3ZlZCBpbiBzdGVwIDEgKGR1ZSB0byBvbmx5IGNvbnRhaW5pbmcgZW1vamlz
KSwgY2xlYXIgb3V0IGFsbAorICAgICAgICAgICAgZG9jdW1lbnQgbWFya2VycyBjb3JyZXNwb25k
aW5nIHRvIHRob3NlIHRleHQgYWx0ZXJuYXRpdmVzIGluIHRoZSBkb2N1bWVudC4KKworICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db2NvYS9UZXh0Q2hlY2tpbmdDb250cm9sbGVyUHJveHku
bW06CisgICAgICAgIChXZWJLaXQ6OlRleHRDaGVja2luZ0NvbnRyb2xsZXJQcm94eTo6cmVtb3Zl
QW5ub3RhdGlvblJlbGF0aXZlVG9TZWxlY3Rpb24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9Db2NvYS9XZWJQYWdlQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmRp
Y3RhdGlvbkFsdGVybmF0aXZlc0F0U2VsZWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZTo6Y2xlYXJEaWN0YXRpb25BbHRlcm5hdGl2ZXMpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVz
c2FnZXMuaW46CisKIDIwMjItMDMtMTAgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4K
IAogICAgICAgICBbbWFjT1NdIFdlYkNvbnRlbnQgcHJvY2Vzc2VzIGNyYXNoIHdpdGggWFBDX0VY
SVRfUkVBU09OX1NJR1RFUk1fVElNRU9VVCB3aGVuIGxvZ2dpbmcgb3V0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmgKaW5kZXggZjczNGQ3MzJiZjEwNzVj
ZjAyN2M5N2MxZWQ5OGVkNGZlNGZjMjhlOC4uNWRiY2QxNGVmNTc4MDg3YzFmYWU3ZTQ4MjU4YzFi
NzhhMmU5MTVlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50TWFya2Vy
Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudE1hcmtlckNvbnRy
b2xsZXIuaApAQCAtNjUsNyArNjUsOCBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9p
ZCByZW1vdmVNYXJrZXJzKGNvbnN0IFNpbXBsZVJhbmdlJiwgT3B0aW9uU2V0PERvY3VtZW50TWFy
a2VyOjpNYXJrZXJUeXBlPiA9IERvY3VtZW50TWFya2VyOjphbGxNYXJrZXJzKCksIFJlbW92ZVBh
cnRpYWxseU92ZXJsYXBwaW5nTWFya2VyID0gUmVtb3ZlUGFydGlhbGx5T3ZlcmxhcHBpbmdNYXJr
ZXI6Ok5vKTsKICAgICB2b2lkIHJlbW92ZU1hcmtlcnMoTm9kZSYsIE9mZnNldFJhbmdlLCBPcHRp
b25TZXQ8RG9jdW1lbnRNYXJrZXI6Ok1hcmtlclR5cGU+ID0gRG9jdW1lbnRNYXJrZXI6OmFsbE1h
cmtlcnMoKSwgY29uc3QgRnVuY3Rpb248Ym9vbChjb25zdCBEb2N1bWVudE1hcmtlciYpPiYgZmls
dGVyRnVuY3Rpb24gPSBudWxscHRyLCBSZW1vdmVQYXJ0aWFsbHlPdmVybGFwcGluZ01hcmtlciA9
IFJlbW92ZVBhcnRpYWxseU92ZXJsYXBwaW5nTWFya2VyOjpObyk7CiAKLSAgICAvLyBSZXR1cm4g
ZmFsc2UgZnJvbSBmaWx0ZXJGdW5jdGlvbiB0byByZW1vdmUgdGhlIG1hcmtlci4KKyAgICAvLyBS
ZXR1cm4gdHJ1ZSBmcm9tIGZpbHRlckZ1bmN0aW9uIHRvIHJlbW92ZSB0aGUgbWFya2VyLgorICAg
IC8vIEZJWE1FOiBUaGlzIHdvdWxkIGJlIGNsZWFyZXIgaWYgdGhlIGBmaWx0ZXJgIGZ1bmN0aW9u
IHdlcmUgcmVmYWN0b3JlZCB0byByZXR1cm4gYSBzdHJvbmdseSB0eXBlZCBlbnVtLgogICAgIFdF
QkNPUkVfRVhQT1JUIHZvaWQgZmlsdGVyTWFya2Vycyhjb25zdCBTaW1wbGVSYW5nZSYsIGNvbnN0
IEZ1bmN0aW9uPGJvb2woY29uc3QgRG9jdW1lbnRNYXJrZXImKT4mIGZpbHRlckZ1bmN0aW9uLCBP
cHRpb25TZXQ8RG9jdW1lbnRNYXJrZXI6Ok1hcmtlclR5cGU+ID0gRG9jdW1lbnRNYXJrZXI6OmFs
bE1hcmtlcnMoKSwgUmVtb3ZlUGFydGlhbGx5T3ZlcmxhcHBpbmdNYXJrZXIgPSBSZW1vdmVQYXJ0
aWFsbHlPdmVybGFwcGluZ01hcmtlcjo6Tm8pOwogCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBy
ZW1vdmVNYXJrZXJzKE9wdGlvblNldDxEb2N1bWVudE1hcmtlcjo6TWFya2VyVHlwZT4gPSBEb2N1
bWVudE1hcmtlcjo6YWxsTWFya2VycygpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvY29jb2EvQWx0ZXJuYXRpdmVUZXh0Q29udGV4dENvbnRyb2xsZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvY29jb2EvQWx0ZXJuYXRpdmVUZXh0Q29udGV4dENvbnRyb2xsZXIuaApp
bmRleCBjZWE2OTI4NWFhNjU2MWEwZmNkM2IyYjkxNDkwYzIwZmVmMGI4NGQ3Li4wMjExODc1YzA3
OTUwNmNiZGRjOGQ5ZmY3ZmI3MWNjNzg4NzIxZWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL2NvY29hL0FsdGVybmF0aXZlVGV4dENvbnRleHRDb250cm9sbGVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9BbHRlcm5hdGl2ZVRleHRDb250ZXh0Q29udHJv
bGxlci5oCkBAIC0zNCw2ICszNCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEFsdGVy
bmF0aXZlVGV4dENvbnRleHRDb250cm9sbGVyIHsKIHB1YmxpYzoKICAgICBEaWN0YXRpb25Db250
ZXh0IGFkZEFsdGVybmF0aXZlcyhOU1RleHRBbHRlcm5hdGl2ZXMgKik7CisgICAgdm9pZCByZXBs
YWNlQWx0ZXJuYXRpdmVzKE5TVGV4dEFsdGVybmF0aXZlcyAqLCBEaWN0YXRpb25Db250ZXh0KTsK
ICAgICB2b2lkIHJlbW92ZUFsdGVybmF0aXZlc0ZvckNvbnRleHQoRGljdGF0aW9uQ29udGV4dCk7
CiAgICAgdm9pZCBjbGVhcigpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L2NvY29hL0FsdGVybmF0aXZlVGV4dENvbnRleHRDb250cm9sbGVyLm1tIGIvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9jb2NvYS9BbHRlcm5hdGl2ZVRleHRDb250ZXh0Q29udHJvbGxlci5tbQppbmRl
eCA4NTA0NjlmNzhiZjYwODY1Yzg2Y2E2YmQxOGZiMDNkODE1N2RjNTRjLi41MzRmM2Y3ODQ1NjAw
ODc3Mzg3MDFlMmNkZDRiYzcxNzNmMDVhMjg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL2NvY29hL0FsdGVybmF0aXZlVGV4dENvbnRleHRDb250cm9sbGVyLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvQWx0ZXJuYXRpdmVUZXh0Q29udGV4dENvbnRyb2xs
ZXIubW0KQEAgLTM5LDYgKzM5LDE2IEBAIERpY3RhdGlvbkNvbnRleHQgQWx0ZXJuYXRpdmVUZXh0
Q29udGV4dENvbnRyb2xsZXI6OmFkZEFsdGVybmF0aXZlcyhOU1RleHRBbHRlcm5hCiAgICAgfSku
aXRlcmF0b3ItPnZhbHVlOwogfQogCit2b2lkIEFsdGVybmF0aXZlVGV4dENvbnRleHRDb250cm9s
bGVyOjpyZXBsYWNlQWx0ZXJuYXRpdmVzKE5TVGV4dEFsdGVybmF0aXZlcyAqYWx0ZXJuYXRpdmVz
LCBEaWN0YXRpb25Db250ZXh0IGNvbnRleHQpCit7CisgICAgcmVtb3ZlQWx0ZXJuYXRpdmVzRm9y
Q29udGV4dChjb250ZXh0KTsKKyAgICBpZiAoIWFsdGVybmF0aXZlcykKKyAgICAgICAgcmV0dXJu
OworCisgICAgbV9jb250ZXh0cy5zZXQoYWx0ZXJuYXRpdmVzLCBjb250ZXh0KTsKKyAgICBtX2Fs
dGVybmF0aXZlcy5zZXQoY29udGV4dCwgYWx0ZXJuYXRpdmVzKTsKK30KKwogTlNUZXh0QWx0ZXJu
YXRpdmVzICpBbHRlcm5hdGl2ZVRleHRDb250ZXh0Q29udHJvbGxlcjo6YWx0ZXJuYXRpdmVzRm9y
Q29udGV4dChEaWN0YXRpb25Db250ZXh0IGNvbnRleHQpIGNvbnN0CiB7CiAgICAgaWYgKCFjb250
ZXh0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9BbHRlcm5hdGl2
ZVRleHRVSUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvQWx0ZXJu
YXRpdmVUZXh0VUlDb250cm9sbGVyLmgKaW5kZXggMjBjN2JkZGUwODE2ODFlNjlkNzc2ZjkzZTQ3
NmU1NTJlNDk4OGQwZC4uMjc3ODBlZjI2YTVlYmI1NGFkYzhlZGNhYTEzY2MxZjI3ZDVmYjAyOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9BbHRlcm5hdGl2ZVRleHRV
SUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0FsdGVybmF0
aXZlVGV4dFVJQ29udHJvbGxlci5oCkBAIC0zNSw2ICszNSw3IEBAIGNsYXNzIEFsdGVybmF0aXZl
VGV4dFVJQ29udHJvbGxlciB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
CiAgICAgV0VCQ09SRV9FWFBPUlQgRGljdGF0aW9uQ29udGV4dCBhZGRBbHRlcm5hdGl2ZXMoTlNU
ZXh0QWx0ZXJuYXRpdmVzICopOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcmVwbGFjZUFsdGVy
bmF0aXZlcyhOU1RleHRBbHRlcm5hdGl2ZXMgKiwgRGljdGF0aW9uQ29udGV4dCk7CiAgICAgV0VC
Q09SRV9FWFBPUlQgdm9pZCByZW1vdmVBbHRlcm5hdGl2ZXMoRGljdGF0aW9uQ29udGV4dCk7CiAg
ICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBjbGVhcigpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL2NvY29hL0FsdGVybmF0aXZlVGV4dFVJQ29udHJvbGxlci5tbSBiL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvQWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLm1tCmlu
ZGV4IGNmMTU0Yzg2ZjAyZDg2NjhiZmJjNjNhOTRlN2RlOTUxZWFhMjBlOGMuLjRiYjU3ODRlYzhl
NGZhMGMyZjBhNTkxNTI1Y2VkOTliYjZmNDgxMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvY29jb2EvQWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvQWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLm1tCkBA
IC00NSw2ICs0NSwxMSBAQCBEaWN0YXRpb25Db250ZXh0IEFsdGVybmF0aXZlVGV4dFVJQ29udHJv
bGxlcjo6YWRkQWx0ZXJuYXRpdmVzKE5TVGV4dEFsdGVybmF0aXZlcwogICAgIHJldHVybiBtX2Nv
bnRleHRDb250cm9sbGVyLmFkZEFsdGVybmF0aXZlcyhhbHRlcm5hdGl2ZXMpOwogfQogCit2b2lk
IEFsdGVybmF0aXZlVGV4dFVJQ29udHJvbGxlcjo6cmVwbGFjZUFsdGVybmF0aXZlcyhOU1RleHRB
bHRlcm5hdGl2ZXMgKmFsdGVybmF0aXZlcywgRGljdGF0aW9uQ29udGV4dCBjb250ZXh0KQorewor
ICAgIG1fY29udGV4dENvbnRyb2xsZXIucmVwbGFjZUFsdGVybmF0aXZlcyhhbHRlcm5hdGl2ZXMs
IGNvbnRleHQpOworfQorCiBOU1RleHRBbHRlcm5hdGl2ZXMgKkFsdGVybmF0aXZlVGV4dFVJQ29u
dHJvbGxlcjo6YWx0ZXJuYXRpdmVzRm9yQ29udGV4dChEaWN0YXRpb25Db250ZXh0IGNvbnRleHQp
CiB7CiAgICAgcmV0dXJuIG1fY29udGV4dENvbnRyb2xsZXIuYWx0ZXJuYXRpdmVzRm9yQ29udGV4
dChjb250ZXh0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9U
ZXh0SW5wdXRTUEkuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9UZXh0SW5wdXRT
UEkuaAppbmRleCA1ZGZhMWQ4NDU4ODQ2YjdiOGVmYjk2NzJkY2NlMjA5MmNjYjNjMTg5Li4wNmQ2
OTY5MjVhMTE1N2FmYjEyMGQwYTE4NmQ3OWVjZGIzOTkxZTMwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1BsYXRmb3JtL3NwaS9pb3MvVGV4dElucHV0U1BJLmgKKysrIGIvU291cmNlL1dlYktp
dC9QbGF0Zm9ybS9zcGkvaW9zL1RleHRJbnB1dFNQSS5oCkBAIC01Myw2ICs1Myw3IEBACiBAaW50
ZXJmYWNlIE5TU3RyaW5nIChUZXh0SW5wdXREZXRhaWxzKQogLSAoQk9PTClfY29udGFpbnNDSlNj
cmlwdHM7CiAtIChCT09MKV9jb250YWluc0NKU2NyaXB0c09ubHk7CistIChCT09MKV9jb250YWlu
c0Vtb2ppT25seTsKIEBlbmQKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLmgKaW5kZXggYTIxN2MxZjllZmJlMDQwZDU2
YTRmNGJlYTUxZDg1NmE0Yjg3Y2M4NS4uYjJmOTYyZjc2MTQ4OGUzYTlkMjdiODkyMTc1Y2JhMTMz
MDI4ZWNkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGFnZUNs
aWVudEltcGxDb2NvYS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1BhZ2VD
bGllbnRJbXBsQ29jb2EuaApAQCAtNzQsNiArNzQsNyBAQCBwdWJsaWM6CiAjZW5kaWYKIAogICAg
IFdlYkNvcmU6OkRpY3RhdGlvbkNvbnRleHQgYWRkRGljdGF0aW9uQWx0ZXJuYXRpdmVzKE5TVGV4
dEFsdGVybmF0aXZlcyAqKSBmaW5hbDsKKyAgICB2b2lkIHJlcGxhY2VEaWN0YXRpb25BbHRlcm5h
dGl2ZXMoTlNUZXh0QWx0ZXJuYXRpdmVzICosIFdlYkNvcmU6OkRpY3RhdGlvbkNvbnRleHQpIGZp
bmFsOwogICAgIHZvaWQgcmVtb3ZlRGljdGF0aW9uQWx0ZXJuYXRpdmVzKFdlYkNvcmU6OkRpY3Rh
dGlvbkNvbnRleHQpIGZpbmFsOwogICAgIFZlY3RvcjxTdHJpbmc+IGRpY3RhdGlvbkFsdGVybmF0
aXZlcyhXZWJDb3JlOjpEaWN0YXRpb25Db250ZXh0KSBmaW5hbDsKICAgICBOU1RleHRBbHRlcm5h
dGl2ZXMgKnBsYXRmb3JtRGljdGF0aW9uQWx0ZXJuYXRpdmVzKFdlYkNvcmU6OkRpY3RhdGlvbkNv
bnRleHQpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
UGFnZUNsaWVudEltcGxDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1Bh
Z2VDbGllbnRJbXBsQ29jb2EubW0KaW5kZXggNWQ1YjE0NjE1NWNlOGYxNjFlYjAzYTBlNWJiMzdl
OTRkMzBjOTFlYS4uMTZlNGViOThmMzE2MzUwNmEzOGM2ZDNlNThhZjhkZTRhZDc0OTI2MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2Nv
YS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENv
Y29hLm1tCkBAIC0xNTgsNiArMTU4LDExIEBAIFdlYkNvcmU6OkRpY3RhdGlvbkNvbnRleHQgUGFn
ZUNsaWVudEltcGxDb2NvYTo6YWRkRGljdGF0aW9uQWx0ZXJuYXRpdmVzKE5TVGV4dEFsCiAgICAg
cmV0dXJuIG1fYWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLT5hZGRBbHRlcm5hdGl2ZXMoYWx0
ZXJuYXRpdmVzKTsKIH0KIAordm9pZCBQYWdlQ2xpZW50SW1wbENvY29hOjpyZXBsYWNlRGljdGF0
aW9uQWx0ZXJuYXRpdmVzKE5TVGV4dEFsdGVybmF0aXZlcyAqYWx0ZXJuYXRpdmVzLCBXZWJDb3Jl
OjpEaWN0YXRpb25Db250ZXh0IGNvbnRleHQpCit7CisgICAgbV9hbHRlcm5hdGl2ZVRleHRVSUNv
bnRyb2xsZXItPnJlcGxhY2VBbHRlcm5hdGl2ZXMoYWx0ZXJuYXRpdmVzLCBjb250ZXh0KTsKK30K
Kwogdm9pZCBQYWdlQ2xpZW50SW1wbENvY29hOjpyZW1vdmVEaWN0YXRpb25BbHRlcm5hdGl2ZXMo
V2ViQ29yZTo6RGljdGF0aW9uQ29udGV4dCBkaWN0YXRpb25Db250ZXh0KQogewogICAgIG1fYWx0
ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLT5yZW1vdmVBbHRlcm5hdGl2ZXMoZGljdGF0aW9uQ29u
dGV4dCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdl
UHJveHlDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94
eUNvY29hLm1tCmluZGV4IDI3ODE3MTE0ZWVjYzgzYWMzMDY3ODc1MjAzNDM3ZDNkMWE2YTFkMGYu
LjU4ZGZmNDQyYTA3MjMzZGJiZmUyMzgwNmNkYWE4ZDA1OWI2NjJhN2QgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tCkBAIC0zODYs
NiArMzg2LDI0IEBAIHZvaWQgV2ViUGFnZVByb3h5OjphZGREaWN0YXRpb25BbHRlcm5hdGl2ZShU
ZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UmJiBhbHRlcm5hdGl2CiAgICAgfSk7CiB9CiAKK3ZvaWQg
V2ViUGFnZVByb3h5OjpkaWN0YXRpb25BbHRlcm5hdGl2ZXNBdFNlbGVjdGlvbihDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKFZlY3RvcjxEaWN0YXRpb25Db250ZXh0PiYmKT4mJiBjb21wbGV0aW9uKQor
eworICAgIGlmICghaGFzUnVubmluZ1Byb2Nlc3MoKSkgeworICAgICAgICBjb21wbGV0aW9uKHsg
fSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBzZW5kV2l0aEFzeW5jUmVwbHkoTWVz
c2FnZXM6OldlYlBhZ2U6OkRpY3RhdGlvbkFsdGVybmF0aXZlc0F0U2VsZWN0aW9uKCksIFdURk1v
dmUoY29tcGxldGlvbikpOworfQorCit2b2lkIFdlYlBhZ2VQcm94eTo6Y2xlYXJEaWN0YXRpb25B
bHRlcm5hdGl2ZXMoVmVjdG9yPERpY3RhdGlvbkNvbnRleHQ+JiYgYWx0ZXJuYXRpdmVzVG9DbGVh
cikKK3sKKyAgICBpZiAoIWhhc1J1bm5pbmdQcm9jZXNzKCkgfHwgYWx0ZXJuYXRpdmVzVG9DbGVh
ci5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybjsKKworICAgIHNlbmQoTWVzc2FnZXM6OldlYlBh
Z2U6OkNsZWFyRGljdGF0aW9uQWx0ZXJuYXRpdmVzKFdURk1vdmUoYWx0ZXJuYXRpdmVzVG9DbGVh
cikpKTsKK30KKwogI2lmIFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKQogCiBOU1RleHRBbHRl
cm5hdGl2ZXMgKldlYlBhZ2VQcm94eTo6cGxhdGZvcm1EaWN0YXRpb25BbHRlcm5hdGl2ZXMoV2Vi
Q29yZTo6RGljdGF0aW9uQ29udGV4dCBkaWN0YXRpb25Db250ZXh0KQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvUGFnZUNsaWVudC5oCmluZGV4IGQwMmJiN2NjODBmNzA3MWExM2M3ZjJiMzY0MWJjN2JhZjBi
YWIwOTguLmFmMzE1MTg3OWFjMGRhYzM0YzU2M2JkZWZlYjY5MDRkNWM1MDRiMWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKQEAgLTQxNiw2ICs0MTYsNyBAQCBwdWJsaWM6CiAK
ICNpZiBVU0UoRElDVEFUSU9OX0FMVEVSTkFUSVZFUykKICAgICB2aXJ0dWFsIFdlYkNvcmU6OkRp
Y3RhdGlvbkNvbnRleHQgYWRkRGljdGF0aW9uQWx0ZXJuYXRpdmVzKE5TVGV4dEFsdGVybmF0aXZl
cyAqKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHJlcGxhY2VEaWN0YXRpb25BbHRlcm5hdGl2ZXMo
TlNUZXh0QWx0ZXJuYXRpdmVzICosIFdlYkNvcmU6OkRpY3RhdGlvbkNvbnRleHQpID0gMDsKICAg
ICB2aXJ0dWFsIHZvaWQgcmVtb3ZlRGljdGF0aW9uQWx0ZXJuYXRpdmVzKFdlYkNvcmU6OkRpY3Rh
dGlvbkNvbnRleHQpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2hvd0RpY3RhdGlvbkFsdGVybmF0
aXZlVUkoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiBib3VuZGluZ0JveE9mRGljdGF0ZWRUZXh0
LCBXZWJDb3JlOjpEaWN0YXRpb25Db250ZXh0KSA9IDA7CiAgICAgdmlydHVhbCBWZWN0b3I8U3Ry
aW5nPiBkaWN0YXRpb25BbHRlcm5hdGl2ZXMoV2ViQ29yZTo6RGljdGF0aW9uQ29udGV4dCkgPSAw
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCAwM2MwM2Q1MWNlNDcz
YjQ3MjMwNzU5ZDhiNzViNGU4MzRhYmYwODcwLi5hZGRmODU2NzhhYjEwOTJhMzdkNDZjNTlhYmRh
ODg1ZDk5YTA0OWYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAt
OTc0LDYgKzk3NCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGluc2VydERpY3RhdGVkVGV4dEFzeW5j
KGNvbnN0IFN0cmluZyYsIGNvbnN0IEVkaXRpbmdSYW5nZSYgcmVwbGFjZW1lbnRSYW5nZSwgY29u
c3QgVmVjdG9yPFdlYkNvcmU6OlRleHRBbHRlcm5hdGl2ZVdpdGhSYW5nZT4mLCBJbnNlcnRUZXh0
T3B0aW9ucyYmKTsKIAogICAgIHZvaWQgYWRkRGljdGF0aW9uQWx0ZXJuYXRpdmUoV2ViQ29yZTo6
VGV4dEFsdGVybmF0aXZlV2l0aFJhbmdlJiYpOworICAgIHZvaWQgZGljdGF0aW9uQWx0ZXJuYXRp
dmVzQXRTZWxlY3Rpb24oQ29tcGxldGlvbkhhbmRsZXI8dm9pZChWZWN0b3I8V2ViQ29yZTo6RGlj
dGF0aW9uQ29udGV4dD4mJik+JiYpOworICAgIHZvaWQgY2xlYXJEaWN0YXRpb25BbHRlcm5hdGl2
ZXMoVmVjdG9yPFdlYkNvcmU6OkRpY3RhdGlvbkNvbnRleHQ+JiYpOwogCiAjaWYgVVNFKERJQ1RB
VElPTl9BTFRFUk5BVElWRVMpCiAgICAgTlNUZXh0QWx0ZXJuYXRpdmVzICpwbGF0Zm9ybURpY3Rh
dGlvbkFsdGVybmF0aXZlcyhXZWJDb3JlOjpEaWN0YXRpb25Db250ZXh0KTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0g
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1t
CmluZGV4IGZiZTNjZDQ4ZTAyODdhOGI2NmQxYzFmZDNiZGZmMjdmYmY1YmUyYzEuLmUzOWYzNTY2
OWUwOTMyODk5Y2Q4MjU0M2RjMTdmMzkwNGI4ZDgzZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQpAQCAtMzgs
NiArMzgsNyBAQAogI2ltcG9ydCAiTG9nZ2luZy5oIgogI2ltcG9ydCAiTmF0aXZlV2ViS2V5Ym9h
cmRFdmVudC5oIgogI2ltcG9ydCAiTmF0aXZlV2ViVG91Y2hFdmVudC5oIgorI2ltcG9ydCAiUGFn
ZUNsaWVudC5oIgogI2ltcG9ydCAiUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5oIgog
I2ltcG9ydCAiUmVtb3RlTGF5ZXJUcmVlVmlld3MuaCIKICNpbXBvcnQgIlJlbW90ZVNjcm9sbGlu
Z0Nvb3JkaW5hdG9yUHJveHkuaCIKQEAgLTU2NDcsNiArNTY0OCw0MiBAQCAtICh2b2lkKWFkZFRl
eHRBbHRlcm5hdGl2ZXM6KE5TVGV4dEFsdGVybmF0aXZlcyAqKWFsdGVybmF0aXZlcwogICAgIF9w
YWdlLT5hZGREaWN0YXRpb25BbHRlcm5hdGl2ZSh7IGFsdGVybmF0aXZlcywgTlNNYWtlUmFuZ2Uo
MCwgYWx0ZXJuYXRpdmVzLnByaW1hcnlTdHJpbmcubGVuZ3RoKSB9KTsKIH0KIAorLSAodm9pZCly
ZW1vdmVFbW9qaUFsdGVybmF0aXZlcworeworICAgIF9wYWdlLT5kaWN0YXRpb25BbHRlcm5hdGl2
ZXNBdFNlbGVjdGlvbihbd2Vha1NlbGYgPSBXZWFrT2JqQ1B0cjxXS0NvbnRlbnRWaWV3PihzZWxm
KV0oYXV0byYmIGNvbnRleHRzKSB7CisgICAgICAgIGF1dG8gc3Ryb25nU2VsZiA9IHdlYWtTZWxm
LmdldCgpOworICAgICAgICBpZiAoIXN0cm9uZ1NlbGYgfHwgIXN0cm9uZ1NlbGYtPl9wYWdlKQor
ICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIFJlZlB0ciBwYWdlID0gc3Ryb25nU2VsZi0+
X3BhZ2U7CisgICAgICAgIFZlY3RvcjxXZWJDb3JlOjpEaWN0YXRpb25Db250ZXh0PiBjb250ZXh0
c1RvUmVtb3ZlOworICAgICAgICBmb3IgKGF1dG8gY29udGV4dCA6IGNvbnRleHRzKSB7CisgICAg
ICAgICAgICBhdXRvIGFsdGVybmF0aXZlcyA9IHBhZ2UtPnBsYXRmb3JtRGljdGF0aW9uQWx0ZXJu
YXRpdmVzKGNvbnRleHQpOworICAgICAgICAgICAgaWYgKCFhbHRlcm5hdGl2ZXMpCisgICAgICAg
ICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgIGF1dG8gb3JpZ2luYWxBbHRlcm5hdGl2
ZXMgPSBhbHRlcm5hdGl2ZXMuYWx0ZXJuYXRpdmVTdHJpbmdzOworICAgICAgICAgICAgYXV0byBu
b25FbW9qaUFsdGVybmF0aXZlcyA9IFtOU011dGFibGVBcnJheSBhcnJheVdpdGhDYXBhY2l0eTpv
cmlnaW5hbEFsdGVybmF0aXZlcy5jb3VudF07CisgICAgICAgICAgICBmb3IgKE5TU3RyaW5nICph
bHRlcm5hdGl2ZSBpbiBvcmlnaW5hbEFsdGVybmF0aXZlcykgeworICAgICAgICAgICAgICAgIGlm
ICghYWx0ZXJuYXRpdmUuX2NvbnRhaW5zRW1vamlPbmx5KQorICAgICAgICAgICAgICAgICAgICBb
bm9uRW1vamlBbHRlcm5hdGl2ZXMgYWRkT2JqZWN0OmFsdGVybmF0aXZlXTsKKyAgICAgICAgICAg
IH0KKworICAgICAgICAgICAgaWYgKG5vbkVtb2ppQWx0ZXJuYXRpdmVzLmNvdW50ID09IG9yaWdp
bmFsQWx0ZXJuYXRpdmVzLmNvdW50KQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAg
ICAgICAgICBSZXRhaW5QdHI8TlNUZXh0QWx0ZXJuYXRpdmVzPiByZXBsYWNlbWVudDsKKyAgICAg
ICAgICAgIGlmIChub25FbW9qaUFsdGVybmF0aXZlcy5jb3VudCkKKyAgICAgICAgICAgICAgICBy
ZXBsYWNlbWVudCA9IGFkb3B0TlMoW1tOU1RleHRBbHRlcm5hdGl2ZXMgYWxsb2NdIGluaXRXaXRo
UHJpbWFyeVN0cmluZzphbHRlcm5hdGl2ZXMucHJpbWFyeVN0cmluZyBhbHRlcm5hdGl2ZVN0cmlu
Z3M6bm9uRW1vamlBbHRlcm5hdGl2ZXMgaXNMb3dDb25maWRlbmNlOmFsdGVybmF0aXZlcy5pc0xv
d0NvbmZpZGVuY2VdKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBjb250ZXh0
c1RvUmVtb3ZlLmFwcGVuZChjb250ZXh0KTsKKworICAgICAgICAgICAgcGFnZS0+cGFnZUNsaWVu
dCgpLnJlcGxhY2VEaWN0YXRpb25BbHRlcm5hdGl2ZXMocmVwbGFjZW1lbnQuZ2V0KCksIGNvbnRl
eHQpOworICAgICAgICB9CisgICAgICAgIHBhZ2UtPmNsZWFyRGljdGF0aW9uQWx0ZXJuYXRpdmVz
KFdURk1vdmUoY29udGV4dHNUb1JlbW92ZSkpOworICAgIH0pOworfQorCiAvLyBlbmQgb2YgVUlU
ZXh0SW5wdXQgcHJvdG9jb2wgaW1wbGVtZW50YXRpb24KIAogc3RhdGljIFVJVGV4dEF1dG9jYXBp
dGFsaXphdGlvblR5cGUgdG9VSVRleHRBdXRvY2FwaXRhbGl6ZShXZWJDb3JlOjpBdXRvY2FwaXRh
bGl6ZVR5cGUgd2Via2l0VHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL0NvY29hL1RleHRDaGVja2luZ0NvbnRyb2xsZXJQcm94eS5tbSBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0NvY29hL1RleHRDaGVja2luZ0NvbnRyb2xsZXJQcm94
eS5tbQppbmRleCBlYjU0ZjE5NmQzY2M3YjMyNjAxNGQwZDhhZDE3M2NiOWFlMzc0Njg0Li5iOTNl
NmI3MjUzOTdhMWY4ZjJlOTMwODdjMDhlNzNkMzhjOWU1NDc3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db2NvYS9UZXh0Q2hlY2tpbmdDb250cm9sbGVyUHJv
eHkubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29jb2EvVGV4dENo
ZWNraW5nQ29udHJvbGxlclByb3h5Lm1tCkBAIC0xNTksNiArMTU5LDcgQEAgdm9pZCBUZXh0Q2hl
Y2tpbmdDb250cm9sbGVyUHJveHk6OnJlbW92ZUFubm90YXRpb25SZWxhdGl2ZVRvU2VsZWN0aW9u
KGNvbnN0IFN0cmkKICAgICBkb2N1bWVudC0+bWFya2VycygpLmZpbHRlck1hcmtlcnMocmFuZ2VB
bmRPZmZzZXQtPnJhbmdlLCBbJl0gKGNvbnN0IERvY3VtZW50TWFya2VyJiBtYXJrZXIpIHsKICAg
ICAgICAgaWYgKCFzdGQ6OmhvbGRzX2FsdGVybmF0aXZlPFdlYkNvcmU6OkRvY3VtZW50TWFya2Vy
OjpQbGF0Zm9ybVRleHRDaGVja2luZ0RhdGE+KG1hcmtlci5kYXRhKCkpKQogICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgICAgICAvLyBGSVhNRTogSXMgdGhpcyByZXR1cm4gdmFsdWUgZmxp
cHBlZD8KICAgICAgICAgcmV0dXJuIHN0ZDo6Z2V0PFdlYkNvcmU6OkRvY3VtZW50TWFya2VyOjpQ
bGF0Zm9ybVRleHRDaGVja2luZ0RhdGE+KG1hcmtlci5kYXRhKCkpLmtleSAhPSBhbm5vdGF0aW9u
OwogICAgIH0sIHR5cGVzKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL0NvY29hL1dlYlBhZ2VDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL0NvY29hL1dlYlBhZ2VDb2NvYS5tbQppbmRleCA1YzZiZWQwMWNmZGRhYmIyYjJk
YTZjYmIwZWJmZTNmMzUwMGYyZjA0Li5hOWI3NjI4MzEzNDg1N2NhMGU2YWQzMDE2NzJjMDRkNzAy
NzA2ZmY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db2Nv
YS9XZWJQYWdlQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
Q29jb2EvV2ViUGFnZUNvY29hLm1tCkBAIC01Nyw2ICs1Nyw3IEBACiAjaW1wb3J0IDxXZWJDb3Jl
L1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oPgogI2ltcG9ydCA8V2ViQ29yZS9SYW5nZS5o
PgogI2ltcG9ydCA8V2ViQ29yZS9SZW5kZXJFbGVtZW50Lmg+CisjaW1wb3J0IDxXZWJDb3JlL1Jl
bmRlcmVkRG9jdW1lbnRNYXJrZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvVGV4dEl0ZXJhdG9yLmg+
CiAKICNpZiBQTEFURk9STShJT1MpCkBAIC0yODQsNiArMjg1LDUzIEBAIHZvaWQgV2ViUGFnZTo6
YWRkRGljdGF0aW9uQWx0ZXJuYXRpdmUoY29uc3QgU3RyaW5nJiB0ZXh0LCBEaWN0YXRpb25Db250
ZXh0IGNvbnRlCiAgICAgY29tcGxldGlvbih0cnVlKTsKIH0KIAordm9pZCBXZWJQYWdlOjpkaWN0
YXRpb25BbHRlcm5hdGl2ZXNBdFNlbGVjdGlvbihDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFZlY3Rv
cjxEaWN0YXRpb25Db250ZXh0PiYmKT4mJiBjb21wbGV0aW9uKQoreworICAgIFZlY3RvcjxEaWN0
YXRpb25Db250ZXh0PiBjb250ZXh0czsKKyAgICBSZWYgZnJhbWUgPSBDaGVja2VkUmVmKG1fcGFn
ZS0+Zm9jdXNDb250cm9sbGVyKCkpLT5mb2N1c2VkT3JNYWluRnJhbWUoKTsKKyAgICBSZWZQdHIg
ZG9jdW1lbnQgPSBmcmFtZS0+ZG9jdW1lbnQoKTsKKyAgICBpZiAoIWRvY3VtZW50KSB7CisgICAg
ICAgIGNvbXBsZXRpb24oV1RGTW92ZShjb250ZXh0cykpOworICAgICAgICByZXR1cm47CisgICAg
fQorCisgICAgYXV0byBzZWxlY3Rpb24gPSBmcmFtZS0+c2VsZWN0aW9uKCkuc2VsZWN0aW9uKCk7
CisgICAgYXV0byBleHBhbmRlZFNlbGVjdGlvblJhbmdlID0gVmlzaWJsZVNlbGVjdGlvbiB7IHNl
bGVjdGlvbi52aXNpYmxlU3RhcnQoKS5wcmV2aW91cyhDYW5ub3RDcm9zc0VkaXRpbmdCb3VuZGFy
eSksIHNlbGVjdGlvbi52aXNpYmxlRW5kKCkubmV4dChDYW5ub3RDcm9zc0VkaXRpbmdCb3VuZGFy
eSkgfS5yYW5nZSgpOworICAgIGlmICghZXhwYW5kZWRTZWxlY3Rpb25SYW5nZSkgeworICAgICAg
ICBjb21wbGV0aW9uKFdURk1vdmUoY29udGV4dHMpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KworICAgIGF1dG8gbWFya2VycyA9IGRvY3VtZW50LT5tYXJrZXJzKCkubWFya2Vyc0luUmFuZ2Uo
KmV4cGFuZGVkU2VsZWN0aW9uUmFuZ2UsIERvY3VtZW50TWFya2VyOjpEaWN0YXRpb25BbHRlcm5h
dGl2ZXMpOworICAgIGNvbnRleHRzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkobWFya2Vycy5zaXpl
KCkpOworICAgIGZvciAoYXV0byogbWFya2VyIDogbWFya2VycykgeworICAgICAgICBpZiAoc3Rk
Ojpob2xkc19hbHRlcm5hdGl2ZTxEb2N1bWVudE1hcmtlcjo6RGljdGF0aW9uRGF0YT4obWFya2Vy
LT5kYXRhKCkpKQorICAgICAgICAgICAgY29udGV4dHMudW5jaGVja2VkQXBwZW5kKHN0ZDo6Z2V0
PERvY3VtZW50TWFya2VyOjpEaWN0YXRpb25EYXRhPihtYXJrZXItPmRhdGEoKSkuY29udGV4dCk7
CisgICAgfQorICAgIGNvbXBsZXRpb24oV1RGTW92ZShjb250ZXh0cykpOworfQorCit2b2lkIFdl
YlBhZ2U6OmNsZWFyRGljdGF0aW9uQWx0ZXJuYXRpdmVzKFZlY3RvcjxEaWN0YXRpb25Db250ZXh0
PiYmIGNvbnRleHRzKQoreworICAgIFJlZiBmcmFtZSA9IENoZWNrZWRSZWYobV9wYWdlLT5mb2N1
c0NvbnRyb2xsZXIoKSktPmZvY3VzZWRPck1haW5GcmFtZSgpOworICAgIFJlZlB0ciBkb2N1bWVu
dCA9IGZyYW1lLT5kb2N1bWVudCgpOworICAgIGlmICghZG9jdW1lbnQpCisgICAgICAgIHJldHVy
bjsKKworICAgIEhhc2hTZXQ8RGljdGF0aW9uQ29udGV4dD4gc2V0T2ZDb250ZXh0c1RvUmVtb3Zl
OworICAgIHNldE9mQ29udGV4dHNUb1JlbW92ZS5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KGNvbnRl
eHRzLnNpemUoKSk7CisgICAgZm9yIChhdXRvIGNvbnRleHQgOiBjb250ZXh0cykKKyAgICAgICAg
c2V0T2ZDb250ZXh0c1RvUmVtb3ZlLmFkZChjb250ZXh0KTsKKworICAgIGF1dG8gZG9jdW1lbnRS
YW5nZSA9IG1ha2VSYW5nZVNlbGVjdGluZ05vZGVDb250ZW50cygqZG9jdW1lbnQpOworICAgIGRv
Y3VtZW50LT5tYXJrZXJzKCkuZmlsdGVyTWFya2Vycyhkb2N1bWVudFJhbmdlLCBbJl0gKGF1dG8m
IG1hcmtlcikgeworICAgICAgICBpZiAoIXN0ZDo6aG9sZHNfYWx0ZXJuYXRpdmU8RG9jdW1lbnRN
YXJrZXI6OkRpY3RhdGlvbkRhdGE+KG1hcmtlci5kYXRhKCkpKQorICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOworCisgICAgICAgIHJldHVybiBzZXRPZkNvbnRleHRzVG9SZW1vdmUuY29udGFpbnMo
c3RkOjpnZXQ8V2ViQ29yZTo6RG9jdW1lbnRNYXJrZXI6OkRpY3RhdGlvbkRhdGE+KG1hcmtlci5k
YXRhKCkpLmNvbnRleHQpOworICAgIH0sIERvY3VtZW50TWFya2VyOjpEaWN0YXRpb25BbHRlcm5h
dGl2ZXMpOworfQorCiB2b2lkIFdlYlBhZ2U6OmFjY2Vzc2liaWxpdHlUcmFuc2ZlclJlbW90ZVRv
a2VuKFJldGFpblB0cjxOU0RhdGE+IHJlbW90ZVRva2VuKQogewogICAgIElQQzo6RGF0YVJlZmVy
ZW5jZSBkYXRhVG9rZW4gPSBJUEM6OkRhdGFSZWZlcmVuY2UocmVpbnRlcnByZXRfY2FzdDxjb25z
dCB1aW50OF90Kj4oW3JlbW90ZVRva2VuIGJ5dGVzXSksIFtyZW1vdGVUb2tlbiBsZW5ndGhdKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCA4YTBjMjYw
NGI1OWQxNzFkOGI0YTEyMGI2OTc5NWFkYTdiNDA0MWJjLi5hMWIyNzlmOTdlNGFmOWFmYTYyYTM0
YjRhOGYzZjg2YTZlN2EzZDc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5oCkBAIC05NzAsNiArOTcwLDggQEAgcHVibGljOgogCiAgICAgdm9pZCBpbnNlcnRE
aWN0YXRlZFRleHRBc3luYyhjb25zdCBTdHJpbmcmIHRleHQsIGNvbnN0IEVkaXRpbmdSYW5nZSYg
cmVwbGFjZW1lbnRSYW5nZSwgY29uc3QgVmVjdG9yPFdlYkNvcmU6OkRpY3RhdGlvbkFsdGVybmF0
aXZlPiYgZGljdGF0aW9uQWx0ZXJuYXRpdmVMb2NhdGlvbnMsIEluc2VydFRleHRPcHRpb25zJiYp
OwogICAgIHZvaWQgYWRkRGljdGF0aW9uQWx0ZXJuYXRpdmUoY29uc3QgU3RyaW5nJiB0ZXh0LCBX
ZWJDb3JlOjpEaWN0YXRpb25Db250ZXh0LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYm
KTsKKyAgICB2b2lkIGRpY3RhdGlvbkFsdGVybmF0aXZlc0F0U2VsZWN0aW9uKENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoVmVjdG9yPFdlYkNvcmU6OkRpY3RhdGlvbkNvbnRleHQ+JiYpPiYmKTsKKyAg
ICB2b2lkIGNsZWFyRGljdGF0aW9uQWx0ZXJuYXRpdmVzKFZlY3RvcjxXZWJDb3JlOjpEaWN0YXRp
b25Db250ZXh0PiYmKTsKICNlbmRpZiAvLyBQTEFURk9STShDT0NPQSkKIAogI2lmIFBMQVRGT1JN
KE1BQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
Lm1lc3NhZ2VzLmluCmluZGV4IGUwZTM5Mjk3NGU3ZGZiZmZhNDkwYjhiMzIwYTVkZjdkNTViZjgw
MmUuLmM4Yjg4ODZiZDNhNDc5YTdhMTAxNTM3NjUzZjljNTgyZjg4ZWNlNjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgpA
QCAtNDc5LDYgKzQ3OSw4IEBAIEdlbmVyYXRlU3ludGhldGljRWRpdGluZ0NvbW1hbmQoZW51bTp1
aW50OF90IFdlYktpdDo6U3ludGhldGljRWRpdGluZ0NvbW1hbmRUeXBlCiAgICAgSW5zZXJ0VGV4
dEFzeW5jKFN0cmluZyB0ZXh0LCBzdHJ1Y3QgV2ViS2l0OjpFZGl0aW5nUmFuZ2UgcmVwbGFjZW1l
bnRSYW5nZSwgc3RydWN0IFdlYktpdDo6SW5zZXJ0VGV4dE9wdGlvbnMgb3B0aW9ucykKICAgICBJ
bnNlcnREaWN0YXRlZFRleHRBc3luYyhTdHJpbmcgdGV4dCwgc3RydWN0IFdlYktpdDo6RWRpdGlu
Z1JhbmdlIHJlcGxhY2VtZW50UmFuZ2UsIFZlY3RvcjxXZWJDb3JlOjpEaWN0YXRpb25BbHRlcm5h
dGl2ZT4gZGljdGF0aW9uQWx0ZXJuYXRpdmVzLCBzdHJ1Y3QgV2ViS2l0OjpJbnNlcnRUZXh0T3B0
aW9ucyBvcHRpb25zKQogICAgIEFkZERpY3RhdGlvbkFsdGVybmF0aXZlKFN0cmluZyB0ZXh0LCBX
ZWJDb3JlOjpEaWN0YXRpb25Db250ZXh0IGNvbnRleHQpIC0+IChib29sIHN1Y2Nlc3MpIEFzeW5j
CisgICAgRGljdGF0aW9uQWx0ZXJuYXRpdmVzQXRTZWxlY3Rpb24oKSAtPiAoVmVjdG9yPFdlYkNv
cmU6OkRpY3RhdGlvbkNvbnRleHQ+IGNvbnRleHRzKSBBc3luYworICAgIENsZWFyRGljdGF0aW9u
QWx0ZXJuYXRpdmVzKFZlY3RvcjxXZWJDb3JlOjpEaWN0YXRpb25Db250ZXh0PiBjb250ZXh0cykK
IAogICAgIEhhc01hcmtlZFRleHQoKSAtPiAoYm9vbCBoYXNNYXJrZWRUZXh0KQogICAgIEdldE1h
cmtlZFJhbmdlQXN5bmMoKSAtPiAoc3RydWN0IFdlYktpdDo6RWRpdGluZ1JhbmdlIHJhbmdlKQpk
aWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGY3YWZi
MmI0NTZiNjU5Y2UxMzVkYmM2NWRkNWU3ZWI4OWU1NTA0YjcuLjI5Zjg4OTIyNTAxMWUyMDkzZWNi
Y2MzM2UxYjQ4YjJkMmQyOTBlNGMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9U
b29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMi0wMy0xMCAgV2Vuc29uIEhzaWVo
ICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBBZGQgc3VwcG9ydCBm
b3IgLVtVSVRleHRJbnB1dCByZW1vdmVFbW9qaUFsdGVybmF0aXZlc10gb24gV0tDb250ZW50Vmll
dworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM3NzQy
CisgICAgICAgIHJkYXI6Ly84OTY0NzAxOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkanVzdCBhbiBBUEkgdGVzdCBhbmQgYXVnbWVudCBhbiBleGlz
dGluZyB0ZXN0IHRvIGV4ZXJjaXNlIGAtcmVtb3ZlRW1vamlBbHRlcm5hdGl2ZXNgLgorCisgICAg
ICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9pb3MvVGV4dEFsdGVybmF0aXZlcy5tbToKKyAgICAg
ICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvaW9zL1VJ
S2l0U1BJLmg6CisKIDIwMjItMDMtMTAgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBs
ZS5jb20+CiAKICAgICAgICAgW2lPU10gQWRkIHN1cHBvcnQgZm9yIC1bVUlUZXh0SW5wdXQgYWRk
VGV4dEFsdGVybmF0aXZlczpdIG9uIFdLQ29udGVudFZpZXcKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvaW9zL1RleHRBbHRlcm5hdGl2ZXMubW0gYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL2lvcy9UZXh0QWx0ZXJuYXRpdmVzLm1tCmluZGV4IDRmMzUwMWFhNDllNGU2
ZDM1Y2NlMTYyNDdiOTQ1MDVkMTY5ODQyYzEuLmJmYzk5ZjQ3Y2E3MGQxNGVlNjUwZjdjZTJlZTcw
MTdkMzQyZjBkNzYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvaW9zL1Rl
eHRBbHRlcm5hdGl2ZXMubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9pb3MvVGV4
dEFsdGVybmF0aXZlcy5tbQpAQCAtNTcsNyArNTcsNyBAQCBzdGF0aWMgUmV0YWluUHRyPFRlc3RX
S1dlYlZpZXc+IGNyZWF0ZVdlYlZpZXdGb3JUZXN0aW5nVGV4dEFsdGVybmF0aXZlcygpCiAgICAg
cmV0dXJuIHdlYlZpZXc7CiB9CiAKLVRFU1QoVGV4dEFsdGVybmF0aXZlcywgQWRkVGV4dEFsdGVy
bmF0aXZlc1dpdGhNYXRjaCkKK1RFU1QoVGV4dEFsdGVybmF0aXZlcywgQWRkQW5kUmVtb3ZlVGV4
dEFsdGVybmF0aXZlc1dpdGhNYXRjaCkKIHsKICAgICBhdXRvIHdlYlZpZXcgPSBjcmVhdGVXZWJW
aWV3Rm9yVGVzdGluZ1RleHRBbHRlcm5hdGl2ZXMoKTsKICAgICBbd2ViVmlldyBzeW5jaHJvbm91
c2x5TG9hZEhUTUxTdHJpbmc6QCI8Ym9keT5oZWxsbyB3b3JsZCZuYnNwOzwvYm9keT4iXTsKQEAg
LTY4LDYgKzY4LDM4IEBAIFRFU1QoVGV4dEFsdGVybmF0aXZlcywgQWRkVGV4dEFsdGVybmF0aXZl
c1dpdGhNYXRjaCkKICAgICBbd2ViVmlldyB3YWl0Rm9yTmV4dFByZXNlbnRhdGlvblVwZGF0ZV07
CiAKICAgICBFWFBFQ1RfRVEoMVUsIFt3ZWJWaWV3IGRpY3RhdGlvbkFsdGVybmF0aXZlc01hcmtl
ckNvdW50OkAiZG9jdW1lbnQuYm9keS5jaGlsZE5vZGVzWzBdIl0pOworCisgICAgLy8gVGhpcyBz
aG91bGQgbm90IHJlbW92ZSB0aGUgdGV4dCBhbHRlcm5hdGl2ZXMgYWJvdmUsIHNpbmNlIHRoZSBz
ZWxlY3Rpb24gZG9lcyBub3QgaW50ZXJzZWN0IHdpdGggdGhlIGRpY3RhdGlvbiBhbHRlcm5hdGl2
ZSBtYXJrZXIuCisgICAgW1t3ZWJWaWV3IHRleHRJbnB1dENvbnRlbnRWaWV3XSByZW1vdmVFbW9q
aUFsdGVybmF0aXZlc107CisgICAgW3dlYlZpZXcgd2FpdEZvck5leHRQcmVzZW50YXRpb25VcGRh
dGVdOworCisgICAgRVhQRUNUX0VRKDFVLCBbd2ViVmlldyBkaWN0YXRpb25BbHRlcm5hdGl2ZXNN
YXJrZXJDb3VudDpAImRvY3VtZW50LmJvZHkuY2hpbGROb2Rlc1swXSJdKTsKKworICAgIFtbd2Vi
VmlldyB0ZXh0SW5wdXRDb250ZW50Vmlld10gbW92ZUJ5T2Zmc2V0Oi0xXTsKKyAgICBbd2ViVmll
dyB3YWl0Rm9yTmV4dFByZXNlbnRhdGlvblVwZGF0ZV07CisgICAgW1t3ZWJWaWV3IHRleHRJbnB1
dENvbnRlbnRWaWV3XSByZW1vdmVFbW9qaUFsdGVybmF0aXZlc107CisgICAgW3dlYlZpZXcgd2Fp
dEZvck5leHRQcmVzZW50YXRpb25VcGRhdGVdOworCisgICAgRVhQRUNUX0VRKDBVLCBbd2ViVmll
dyBkaWN0YXRpb25BbHRlcm5hdGl2ZXNNYXJrZXJDb3VudDpAImRvY3VtZW50LmJvZHkuY2hpbGRO
b2Rlc1swXSJdKTsKK30KKworVEVTVChUZXh0QWx0ZXJuYXRpdmVzLCBBZGRBbmRSZW1vdmVUZXh0
QWx0ZXJuYXRpdmVzV2l0aFRleHRBbmRFbW9qaXMpCit7CisgICAgYXV0byB3ZWJWaWV3ID0gY3Jl
YXRlV2ViVmlld0ZvclRlc3RpbmdUZXh0QWx0ZXJuYXRpdmVzKCk7CisgICAgW3dlYlZpZXcgc3lu
Y2hyb25vdXNseUxvYWRIVE1MU3RyaW5nOkAiPGJvZHk+aGVsbG8gd29ybGQ8L2JvZHk+Il07Cisg
ICAgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAImdldFNlbGVjdGlvbigp
LnNldFBvc2l0aW9uKGRvY3VtZW50LmJvZHksIDEpIl07CisKKyAgICBhdXRvIGFsdGVybmF0aXZl
cyA9IGFkb3B0TlMoW1tOU1RleHRBbHRlcm5hdGl2ZXMgYWxsb2NdIGluaXRXaXRoUHJpbWFyeVN0
cmluZzpAImhlbGxvIHdvcmxkIiBhbHRlcm5hdGl2ZVN0cmluZ3M6QFsgQCLwn5GL8J+MjiIsIEAi
SGVsbG8gd29ybGQiIF1dKTsKKyAgICBbW3dlYlZpZXcgdGV4dElucHV0Q29udGVudFZpZXddIGFk
ZFRleHRBbHRlcm5hdGl2ZXM6YWx0ZXJuYXRpdmVzLmdldCgpXTsKKyAgICBbd2ViVmlldyB3YWl0
Rm9yTmV4dFByZXNlbnRhdGlvblVwZGF0ZV07CisKKyAgICBFWFBFQ1RfRVEoMVUsIFt3ZWJWaWV3
IGRpY3RhdGlvbkFsdGVybmF0aXZlc01hcmtlckNvdW50OkAiZG9jdW1lbnQuYm9keS5jaGlsZE5v
ZGVzWzBdIl0pOworCisgICAgLy8gVGhpcyBzaG91bGQgb25seSByZW1vdmUgb25lIG9mIHRoZSB0
d28gdGV4dCBhbHRlcm5hdGl2ZSBzdHJpbmdzLCB3aGljaCBsZWF2ZXMgdGhlIGRvY3VtZW50IG1h
cmtlciBpbnRhY3QuCisgICAgW1t3ZWJWaWV3IHRleHRJbnB1dENvbnRlbnRWaWV3XSByZW1vdmVF
bW9qaUFsdGVybmF0aXZlc107CisgICAgW3dlYlZpZXcgd2FpdEZvck5leHRQcmVzZW50YXRpb25V
cGRhdGVdOworCisgICAgRVhQRUNUX0VRKDFVLCBbd2ViVmlldyBkaWN0YXRpb25BbHRlcm5hdGl2
ZXNNYXJrZXJDb3VudDpAImRvY3VtZW50LmJvZHkuY2hpbGROb2Rlc1swXSJdKTsKIH0KIAogVEVT
VChUZXh0QWx0ZXJuYXRpdmVzLCBBZGRUZXh0QWx0ZXJuYXRpdmVzV2l0aFNlbGVjdGVkTWF0Y2gp
CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL2lvcy9VSUtpdFNQSS5oIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9pb3MvVUlLaXRTUEkuaAppbmRleCA0NzE0NjU4MDNhMTgxYjJhNzA2MDBi
NjViMjAxNzBjNjk2ODllYzVhLi5iM2Y2Y2UzZGNiOTk4M2EyYjhmMDMwNWQ5NzVlMGY2OTNlM2Fi
ODhlIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL2lvcy9VSUtpdFNQSS5oCisrKyBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvaW9zL1VJS2l0U1BJLmgKQEAgLTMyMSw4ICszMjEsMTAgQEAg
dHlwZWRlZiBOU19FTlVNKE5TVUludGVnZXIsIF9VSUNsaWNrSW50ZXJhY3Rpb25FdmVudCkgewog
CiBAcHJvdG9jb2wgVUlUZXh0SW5wdXRJbnRlcm5hbAogLSAoQ0dSZWN0KV9zZWxlY3Rpb25DbGlw
UmVjdDsKKy0gKHZvaWQpbW92ZUJ5T2Zmc2V0OihOU0ludGVnZXIpb2Zmc2V0OwogQG9wdGlvbmFs
CiAtICh2b2lkKWFkZFRleHRBbHRlcm5hdGl2ZXM6KE5TVGV4dEFsdGVybmF0aXZlcyAqKWFsdGVy
bmF0aXZlczsKKy0gKHZvaWQpcmVtb3ZlRW1vamlBbHRlcm5hdGl2ZXM7CiBAZW5kCiAKIEBpbnRl
cmZhY2UgVUlSZXNwb25kZXIgKEludGVybmFsKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>