<?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>143307</bug_id>
          
          <creation_ts>2015-04-01 08:43:33 -0700</creation_ts>
          <short_desc>[New Block-Inside-Inline Model] Floats needs to be allowed to intrude into anonymous inline-blocks</short_desc>
          <delta_ts>2015-04-01 11:11:37 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dave Hyatt">hyatt</reporter>
          <assigned_to name="Dave Hyatt">hyatt</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mmaxfield</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1082005</commentid>
    <comment_count>0</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2015-04-01 08:43:33 -0700</bug_when>
    <thetext>Floats need to be able to intrude into anonymous inline-blocks. We need to make sure anonymous inline-blocks don&apos;t avoid floats and keep getting the full width of a line even when floats are present.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082006</commentid>
    <comment_count>1</comment_count>
      <attachid>249921</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2015-04-01 08:50:00 -0700</bug_when>
    <thetext>Created attachment 249921
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082007</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-01 08:50:58 -0700</bug_when>
    <thetext>Attachment 249921 did not pass style-queue:


ERROR: Source/WebCore/rendering/RenderBox.cpp:4305:  Missing spaces around |  [whitespace/operators] [3]
Total errors found: 1 in 13 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082009</commentid>
    <comment_count>3</comment_count>
      <attachid>249922</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2015-04-01 08:54:43 -0700</bug_when>
    <thetext>Created attachment 249922
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082054</commentid>
    <comment_count>4</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2015-04-01 11:11:37 -0700</bug_when>
    <thetext>Fixed in r182241.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249921</attachid>
            <date>2015-04-01 08:50:00 -0700</date>
            <delta_ts>2015-04-01 08:54:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>19487</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4MjIzMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUyIEBACisyMDE1LTA0LTAxICBEYXZpZCBI
eWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4KKworICAgICAgICBbTmV3IEJsb2NrLUluc2lkZS1Jbmxp
bmUgTW9kZWxdIEZsb2F0cyBuZWVkIHRvIGJlIGFsbG93ZWQgdG8gaW50cnVkZSBpbnRvIGFub255
bW91cyBpbmxpbmUtYmxvY2tzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTQzMzA3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkZWQgZmFzdC9ibG9jay9pbnNpZGUtaW5saW5lcy9iYXNpYy1mbG9hdC1p
bnRydXNpb24uaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL0lubGluZUZsb3dCb3guY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SW5saW5lRmxvd0JveDo6cGxhY2VCb3hlc0luQmxvY2tEaXJlY3Rp
b24pOgorICAgICAgICBNYWtlIHN1cmUgdG8gZXhjbHVkZSB0aGUgbWFyZ2lucyBvZiBhbiBhbm9u
eW1vdXMgaW5saW5lLWJsb2NrIHdoZW4gY29uc2lkZXJpbmcgdGhlIGhlaWdodCBvZiB0aGUgbGlu
ZS4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJCbG9jazo6bGluZUhlaWdodCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJC
bG9jazo6YmFzZWxpbmVQb3NpdGlvbik6CisgICAgICAgIEFub255bW91cyBpbmxpbmUtYmxvY2sg
bGluZXMgaWdub3JlIGxpbmUtaGVpZ2h0IGFuZCBqdXN0IHJldHVybiB0aGUgaGVpZ2h0IG9mIHRo
ZSBibG9jay4gRm9yIGJhc2VsaW5lIHBvc2l0aW9uLCB0aGUgYmFzZWxpbmUKKyAgICAgICAgaXMg
Y29uc2lkZXJlZCB0byBiZSBhdCB0aGUgYm90dG9tIGJvcmRlciBlZGdlIG9mIHRoZSBhbm9ueW1v
dXMgaW5saW5lLWJsb2NrLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6OnJlYnVpbGRGbG9hdGluZ09i
amVjdFNldEZyb21JbnRydWRpbmdGbG9hdHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxv
Y2tGbG93OjphZGRJbnRydWRpbmdGbG9hdHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJC
bG9ja0Zsb3cuaDoKKyAgICAgICAgUGF0Y2ggZmxvYXQgaW50cnVzaW9uIHRvIGhhbmRsZSB0aGUg
Y2FzZSBvZiBhbm9ueW1vdXMgaW5saW5lLWJsb2Nrcy4gSW5zdGVhZCBvZiBjb2xsZWN0aW5nIHRo
ZSBmbG9hdHMgZnJvbSBvdXIgcGFyZW50KCksIHdlCisgICAgICAgIGNvbGxlY3QgdGhlbSBmcm9t
IHRoZSBjb250YWluaW5nQmxvY2soKSBpbiB0aGUgYW5vbnltb3VzIGlubGluZS1ibG9jayBjYXNl
LiBQYXRjaCBhZGRJbnRydWRpbmdGbG9hdHMgdG8gcGFzcyBpbiB0aGUgY29udGFpbmVyCisgICAg
ICAgIHRoYXQgYWN0cyBhcyB0aGUgInBhcmVudCIsIHNpbmNlIGl0IGlzIG5vdCB0aGUgcGFyZW50
KCkgaW4gdGhlIGFub255bW91cyBpbmxpbmUtYmxvY2sgY2FzZS4KKworICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dXBkYXRl
TG9naWNhbElubGluZVBvc2l0aW9ucyk6CisgICAgICAgIE1ha2Ugc3VyZSB0byB1c2UgdGhlIGZ1
bGwgYXZhaWxhYmxlIHdpZHRoIGZvciBjb250ZW50IGFsd2F5cyBpbiB0aGUgYW5vbnltb3VzIGlu
bGluZS1ibG9jayBjYXNlLCBzaW5jZSB3ZSBkb24ndCBhdm9pZCB0aGUKKyAgICAgICAgZmxvYXRz
LCBidXQgaW5zdGVhZCBsZXQgdGhlbSBpbnRydWRlIGludG8gdGhlIGlubGluZS1ibG9jay4KKwor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93Ojpjb21wdXRlSW5saW5lRGlyZWN0aW9u
UG9zaXRpb25zRm9yTGluZSk6CisgICAgICAgIFBhdGNoIGNhbGxlcnMgb2YgdXBkYXRlTG9naWNh
bElubGluZVBvc2l0aW9ucyB0byBwYXNzIGluIHRoZSByb290IGxpbmUgYm94IHRoYXQgd2UncmUg
Y2hlY2tpbmcgZm9yLgorCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6OmxheW91
dExpbmVCb3hlcyk6CisgICAgICAgIERlZmVyIHRoZSBsYXlvdXQgb2YgYW5vbnltb3VzIGlubGlu
ZS1ibG9ja3MsIHNpbmNlIHRoZXkgbmVlZCB0byBvbmx5IGxheSBvdXQgb25jZSB0aGUgdmVydGlj
YWwgcG9zaXRpb24gdG8gbGF5IHRoZW0gb3V0CisgICAgICAgIGF0IGlzIGtub3duLgorCisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJC
b3g6OmNyZWF0ZXNOZXdGb3JtYXR0aW5nQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJCb3g6OmF2b2lkc0Zsb2F0cyk6CisgICAgICAgIEFub255bW91cyBpbmxpbmUtYmxvY2tzIGRv
IG5vdCBlc3RhYmxpc2ggYSBuZXcgYmxvY2sgZm9ybWF0dGluZyBjb250ZXh0LCBub3IgZG8gdGhl
eSBhdm9pZCBmbG9hdHMuCisKKyAgICAgICAgKiByZW5kZXJpbmcvbGluZS9CcmVha2luZ0NvbnRl
eHQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkJyZWFraW5nQ29udGV4dDo6aGFuZGxlUmVwbGFjZWQp
OgorICAgICAgICBBZGQgY29kZSB0byBkbyBhIGp1c3QtaW4tdGltZSBsYXlvdXQgb2YgdGhlIGFu
b255bW91cyBpbmxpbmUtYmxvY2sgYXQgdGhlIHRpbWUgaXQgaXMgYmVpbmcgZXhhbWluZWQgKGFm
dGVyIHRoZSBicmVhayBiZWZvcmUKKyAgICAgICAgaXQgd2FzIGhhbmRsZWQpLgorCiAyMDE1LTA0
LTAxICBDYXJsb3MgQWxiZXJ0byBMb3BleiBQZXJleiAgPGNsb3BlekBpZ2FsaWEuY29tPgogCiAg
ICAgICAgIFtDTWFrZV1bR1RLXSBVc2UgdGhlIHJpZ2h0IHZhcmlhYmxlIHRvIGluY2x1ZGUgdGhl
IFdheWxhbmQgaGVhZGVycy4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVG
bG93Qm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5l
Rmxvd0JveC5jcHAJKHJldmlzaW9uIDE4MjE4NykKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9JbmxpbmVGbG93Qm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjcxLDcgKzY3MSw3IEBAIHZv
aWQgSW5saW5lRmxvd0JveDo6cGxhY2VCb3hlc0luQmxvY2tEaXIKICAgICAgICAgICAgICAgICAg
ICAgOiBib3hPYmplY3QuYm9yZGVyUmlnaHQoKSArIGJveE9iamVjdC5wYWRkaW5nUmlnaHQoKTsK
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgIG5ld0xvZ2ljYWxUb3BJbmNsdWRpbmdNYXJnaW5z
ID0gbmV3TG9naWNhbFRvcDsKLSAgICAgICAgfSBlbHNlIGlmICghY2hpbGQtPnJlbmRlcmVyKCku
aXNCUigpKSB7CisgICAgICAgIH0gZWxzZSBpZiAoIWNoaWxkLT5yZW5kZXJlcigpLmlzQlIoKSAm
JiAhY2hpbGQtPmlzQW5vbnltb3VzSW5saW5lQmxvY2soKSkgewogICAgICAgICAgICAgY29uc3Qg
YXV0byYgYm94ID0gZG93bmNhc3Q8UmVuZGVyQm94PihjaGlsZC0+cmVuZGVyZXIoKSk7CiAgICAg
ICAgICAgICBuZXdMb2dpY2FsVG9wSW5jbHVkaW5nTWFyZ2lucyA9IG5ld0xvZ2ljYWxUb3A7CiAg
ICAgICAgICAgICBMYXlvdXRVbml0IG92ZXJTaWRlTWFyZ2luID0gY2hpbGQtPmlzSG9yaXpvbnRh
bCgpID8gYm94Lm1hcmdpblRvcCgpIDogYm94Lm1hcmdpblJpZ2h0KCk7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAJKHJldmlzaW9uIDE4MjE4NykKKysrIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTI4MDIsNiArMjgwMiwxMCBAQCBib29sIFJlbmRlckJsb2NrOjpoYXNMaW5lSWZFbXB0eSgpIGNv
bnN0CiAKIExheW91dFVuaXQgUmVuZGVyQmxvY2s6OmxpbmVIZWlnaHQoYm9vbCBmaXJzdExpbmUs
IExpbmVEaXJlY3Rpb25Nb2RlIGRpcmVjdGlvbiwgTGluZVBvc2l0aW9uTW9kZSBsaW5lUG9zaXRp
b25Nb2RlKSBjb25zdAogeworICAgIC8vIEFub255bW91cyBpbmxpbmUgYmxvY2tzIGRvbid0IGlu
Y2x1ZGUgbWFyZ2lucyBvciBhbnkgcmVhbCBsaW5lIGhlaWdodC4KKyAgICBpZiAoaXNBbm9ueW1v
dXNJbmxpbmVCbG9jaygpICYmIGxpbmVQb3NpdGlvbk1vZGUgPT0gUG9zaXRpb25PbkNvbnRhaW5p
bmdMaW5lKQorICAgICAgICByZXR1cm4gZGlyZWN0aW9uID09IEhvcml6b250YWxMaW5lID8gaGVp
Z2h0KCkgOiB3aWR0aCgpOworICAgIAogICAgIC8vIElubGluZSBibG9ja3MgYXJlIHJlcGxhY2Vk
IGVsZW1lbnRzLiBPdGhlcndpc2UsIGp1c3QgcGFzcyBvZmYgdG8KICAgICAvLyB0aGUgYmFzZSBj
bGFzcy4gIElmIHdlJ3JlIGJlaW5nIHF1ZXJpZWQgYXMgdGhvdWdoIHdlJ3JlIHRoZSByb290IGxp
bmUKICAgICAvLyBib3gsIHRoZW4gdGhlIGZhY3QgdGhhdCB3ZSdyZSBhbiBpbmxpbmUtYmxvY2sg
aXMgaXJyZWxldmFudCwgYW5kIHdlIGJlaGF2ZQpAQCAtMjgyNSw2ICsyODI5LDkgQEAgaW50IFJl
bmRlckJsb2NrOjpiYXNlbGluZVBvc2l0aW9uKEZvbnRCYQogICAgIC8vIGJveCwgdGhlbiB0aGUg
ZmFjdCB0aGF0IHdlJ3JlIGFuIGlubGluZS1ibG9jayBpcyBpcnJlbGV2YW50LCBhbmQgd2UgYmVo
YXZlCiAgICAgLy8ganVzdCBsaWtlIGEgYmxvY2suCiAgICAgaWYgKGlzUmVwbGFjZWQoKSAmJiBs
aW5lUG9zaXRpb25Nb2RlID09IFBvc2l0aW9uT25Db250YWluaW5nTGluZSkgeworICAgICAgICBp
ZiAoaXNBbm9ueW1vdXNJbmxpbmVCbG9jaygpKQorICAgICAgICAgICAgcmV0dXJuIGRpcmVjdGlv
biA9PSBIb3Jpem9udGFsTGluZSA/IGhlaWdodCgpIDogd2lkdGgoKTsKKyAgICAgICAgCiAgICAg
ICAgIC8vIEZvciAibGVhZiIgdGhlbWUgb2JqZWN0cywgbGV0IHRoZSB0aGVtZSBkZWNpZGUgd2hh
dCB0aGUgYmFzZWxpbmUgcG9zaXRpb24gaXMuCiAgICAgICAgIC8vIEZJWE1FOiBNaWdodCBiZSBi
ZXR0ZXIgdG8gaGF2ZSBhIGN1c3RvbSBDU1MgcHJvcGVydHkgaW5zdGVhZCwgc28gdGhhdCBpZiB0
aGUgdGhlbWUKICAgICAgICAgLy8gaXMgdHVybmVkIG9mZiwgY2hlY2tib3hlcy9yYWRpb3Mgd2ls
bCBzdGlsbCBoYXZlIGRlY2VudCBiYXNlbGluZXMuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcAkocmV2aXNpb24gMTgyMTg4KQorKysgU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTIzMiwxNyArMjMyLDIwIEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93OjpyZWJ1aWxkRmxvYXRpbmdP
YmoKICAgICAvLyBXZSBzaG91bGQgbm90IHByb2Nlc3MgZmxvYXRzIGlmIHRoZSBwYXJlbnQgbm9k
ZSBpcyBub3QgYSBSZW5kZXJCbG9jay4gT3RoZXJ3aXNlLCB3ZSB3aWxsIGFkZCAKICAgICAvLyBm
bG9hdHMgaW4gYW4gaW52YWxpZCBjb250ZXh0LiBUaGlzIHdpbGwgY2F1c2UgYSBjcmFzaCBhcmlz
aW5nIGZyb20gYSBiYWQgY2FzdCBvbiB0aGUgcGFyZW50LgogICAgIC8vIFNlZSA8cmRhcjovL3By
b2JsZW0vODA0OTc1Mz4sIHdoZXJlIGZsb2F0IHByb3BlcnR5IGlzIGFwcGxpZWQgb24gYSB0ZXh0
IG5vZGUgaW4gYSBTVkcuCi0gICAgaWYgKCFpczxSZW5kZXJCbG9ja0Zsb3c+KHBhcmVudCgpKSkK
KyAgICBib29sIGlzQmxvY2tJbnNpZGVJbmxpbmUgPSBpc0Fub255bW91c0lubGluZUJsb2NrKCk7
CisgICAgaWYgKCFpczxSZW5kZXJCbG9ja0Zsb3c+KHBhcmVudCgpKSAmJiAhaXNCbG9ja0luc2lk
ZUlubGluZSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgLy8gRmlyc3QgYWRkIGluIGZsb2F0cyBm
cm9tIHRoZSBwYXJlbnQuIFNlbGYtY29sbGFwc2luZyBibG9ja3MgbGV0IHRoZWlyIHBhcmVudCB0
cmFjayBhbnkgZmxvYXRzIHRoYXQgaW50cnVkZSBpbnRvCiAgICAgLy8gdGhlbSAoYXMgb3Bwb3Nl
ZCB0byBmbG9hdHMgdGhleSBjb250YWluIHRoZW1zZWx2ZXMpIHNvIGNoZWNrIGZvciB0aG9zZSBo
ZXJlIHRvby4KLSAgICBSZW5kZXJCbG9ja0Zsb3cmIHBhcmVudEJsb2NrID0gZG93bmNhc3Q8UmVu
ZGVyQmxvY2tGbG93PigqcGFyZW50KCkpOwotICAgIGJvb2wgcGFyZW50SGFzRmxvYXRzID0gZmFs
c2U7Ci0gICAgUmVuZGVyQmxvY2tGbG93KiBwcmV2aW91c0Jsb2NrID0gcHJldmlvdXNTaWJsaW5n
V2l0aE92ZXJoYW5naW5nRmxvYXRzKHBhcmVudEhhc0Zsb2F0cyk7CisgICAgUmVuZGVyQmxvY2tG
bG93JiBwYXJlbnRCbG9jayA9IGRvd25jYXN0PFJlbmRlckJsb2NrRmxvdz4oaXNCbG9ja0luc2lk
ZUlubGluZSA/ICpjb250YWluaW5nQmxvY2soKSA6ICpwYXJlbnQoKSk7CisgICAgYm9vbCBwYXJl
bnRIYXNGbG9hdHMgPSBpc0Jsb2NrSW5zaWRlSW5saW5lID8gcGFyZW50QmxvY2suY29udGFpbnNG
bG9hdHMoKSA6IGZhbHNlOworICAgIFJlbmRlckJsb2NrRmxvdyogcHJldmlvdXNCbG9jayA9IG51
bGxwdHI7CisgICAgaWYgKCFpc0Jsb2NrSW5zaWRlSW5saW5lKQorICAgICAgICBwcmV2aW91c0Js
b2NrID0gcHJldmlvdXNTaWJsaW5nV2l0aE92ZXJoYW5naW5nRmxvYXRzKHBhcmVudEhhc0Zsb2F0
cyk7CiAgICAgTGF5b3V0VW5pdCBsb2dpY2FsVG9wT2Zmc2V0ID0gbG9naWNhbFRvcCgpOwogICAg
IGlmIChwYXJlbnRIYXNGbG9hdHMgfHwgKHBhcmVudEJsb2NrLmxvd2VzdEZsb2F0TG9naWNhbEJv
dHRvbSgpID4gbG9naWNhbFRvcE9mZnNldCAmJiBwcmV2aW91c0Jsb2NrICYmIHByZXZpb3VzQmxv
Y2stPmlzU2VsZkNvbGxhcHNpbmdCbG9jaygpKSkKLSAgICAgICAgYWRkSW50cnVkaW5nRmxvYXRz
KCZwYXJlbnRCbG9jaywgcGFyZW50QmxvY2subG9naWNhbExlZnRPZmZzZXRGb3JDb250ZW50KCks
IGxvZ2ljYWxUb3BPZmZzZXQpOworICAgICAgICBhZGRJbnRydWRpbmdGbG9hdHMoJnBhcmVudEJs
b2NrLCAmcGFyZW50QmxvY2ssIHBhcmVudEJsb2NrLmxvZ2ljYWxMZWZ0T2Zmc2V0Rm9yQ29udGVu
dCgpLCBsb2dpY2FsVG9wT2Zmc2V0KTsKICAgICAKICAgICBMYXlvdXRVbml0IGxvZ2ljYWxMZWZ0
T2Zmc2V0ID0gMDsKICAgICBpZiAocHJldmlvdXNCbG9jaykKQEAgLTI1NCw3ICsyNTcsNyBAQCB2
b2lkIFJlbmRlckJsb2NrRmxvdzo6cmVidWlsZEZsb2F0aW5nT2JqCiAKICAgICAvLyBBZGQgb3Zl
cmhhbmdpbmcgZmxvYXRzIGZyb20gdGhlIHByZXZpb3VzIFJlbmRlckJsb2NrLCBidXQgb25seSBp
ZiBpdCBoYXMgYSBmbG9hdCB0aGF0IGludHJ1ZGVzIGludG8gb3VyIHNwYWNlLiAgICAKICAgICBp
ZiAocHJldmlvdXNCbG9jay0+bV9mbG9hdGluZ09iamVjdHMgJiYgcHJldmlvdXNCbG9jay0+bG93
ZXN0RmxvYXRMb2dpY2FsQm90dG9tKCkgPiBsb2dpY2FsVG9wT2Zmc2V0KQotICAgICAgICBhZGRJ
bnRydWRpbmdGbG9hdHMocHJldmlvdXNCbG9jaywgbG9naWNhbExlZnRPZmZzZXQsIGxvZ2ljYWxU
b3BPZmZzZXQpOworICAgICAgICBhZGRJbnRydWRpbmdGbG9hdHMocHJldmlvdXNCbG9jaywgJnBh
cmVudEJsb2NrLCBsb2dpY2FsTGVmdE9mZnNldCwgbG9naWNhbFRvcE9mZnNldCk7CiAKICAgICBp
ZiAoY2hpbGRyZW5JbmxpbmUoKSkgewogICAgICAgICBMYXlvdXRVbml0IGNoYW5nZUxvZ2ljYWxU
b3AgPSBMYXlvdXRVbml0OjptYXgoKTsKQEAgLTI2ODEsNyArMjY4NCw3IEBAIGJvb2wgUmVuZGVy
QmxvY2tGbG93OjpoYXNPdmVyaGFuZ2luZ0Zsb2EKICAgICByZXR1cm4gbG9naWNhbEJvdHRvbUZv
ckZsb2F0KGl0LT5nZXQoKSkgPiBsb2dpY2FsSGVpZ2h0KCk7CiB9CiAKLXZvaWQgUmVuZGVyQmxv
Y2tGbG93OjphZGRJbnRydWRpbmdGbG9hdHMoUmVuZGVyQmxvY2tGbG93KiBwcmV2LCBMYXlvdXRV
bml0IGxvZ2ljYWxMZWZ0T2Zmc2V0LCBMYXlvdXRVbml0IGxvZ2ljYWxUb3BPZmZzZXQpCit2b2lk
IFJlbmRlckJsb2NrRmxvdzo6YWRkSW50cnVkaW5nRmxvYXRzKFJlbmRlckJsb2NrRmxvdyogcHJl
diwgUmVuZGVyQmxvY2tGbG93KiBjb250YWluZXIsIExheW91dFVuaXQgbG9naWNhbExlZnRPZmZz
ZXQsIExheW91dFVuaXQgbG9naWNhbFRvcE9mZnNldCkKIHsKICAgICBBU1NFUlQoIWF2b2lkc0Zs
b2F0cygpKTsKIApAQCAtMjcxMSw4ICsyNzE0LDggQEAgdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OmFk
ZEludHJ1ZGluZ0Zsb2F0cwogICAgICAgICAgICAgICAgIC8vIGludG8gYWNjb3VudC4gT25seSBh
cHBseSB0aGlzIGNvZGUgaWYgcHJldiBpcyB0aGUgcGFyZW50LCBzaW5jZSBvdGhlcndpc2UgdGhl
IGxlZnQgbWFyZ2luCiAgICAgICAgICAgICAgICAgLy8gd2lsbCBnZXQgYXBwbGllZCB0d2ljZS4K
ICAgICAgICAgICAgICAgICBMYXlvdXRTaXplIG9mZnNldCA9IGlzSG9yaXpvbnRhbFdyaXRpbmdN
b2RlKCkKLSAgICAgICAgICAgICAgICAgICAgPyBMYXlvdXRTaXplKGxvZ2ljYWxMZWZ0T2Zmc2V0
IC0gKHByZXYgIT0gcGFyZW50KCkgPyBwcmV2LT5tYXJnaW5MZWZ0KCkgOiBMYXlvdXRVbml0KCkp
LCBsb2dpY2FsVG9wT2Zmc2V0KQotICAgICAgICAgICAgICAgICAgICA6IExheW91dFNpemUobG9n
aWNhbFRvcE9mZnNldCwgbG9naWNhbExlZnRPZmZzZXQgLSAocHJldiAhPSBwYXJlbnQoKSA/IHBy
ZXYtPm1hcmdpblRvcCgpIDogTGF5b3V0VW5pdCgpKSk7CisgICAgICAgICAgICAgICAgICAgID8g
TGF5b3V0U2l6ZShsb2dpY2FsTGVmdE9mZnNldCAtIChwcmV2ICE9IGNvbnRhaW5lciA/IHByZXYt
Pm1hcmdpbkxlZnQoKSA6IExheW91dFVuaXQoKSksIGxvZ2ljYWxUb3BPZmZzZXQpCisgICAgICAg
ICAgICAgICAgICAgIDogTGF5b3V0U2l6ZShsb2dpY2FsVG9wT2Zmc2V0LCBsb2dpY2FsTGVmdE9m
ZnNldCAtIChwcmV2ICE9IGNvbnRhaW5lciA/IHByZXYtPm1hcmdpblRvcCgpIDogTGF5b3V0VW5p
dCgpKSk7CiAKICAgICAgICAgICAgICAgICBtX2Zsb2F0aW5nT2JqZWN0cy0+YWRkKGZsb2F0aW5n
T2JqZWN0LT5jb3B5VG9OZXdDb250YWluZXIob2Zmc2V0KSk7CiAgICAgICAgICAgICB9CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oCShyZXZpc2lvbiAx
ODIxODcpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmgJKHdv
cmtpbmcgY29weSkKQEAgLTUwOCw3ICs1MDgsNyBAQCBwcml2YXRlOgogICAgIAogICAgIExheW91
dFVuaXQgYWRkT3ZlcmhhbmdpbmdGbG9hdHMoUmVuZGVyQmxvY2tGbG93JiBjaGlsZCwgYm9vbCBt
YWtlQ2hpbGRQYWludE90aGVyRmxvYXRzKTsKICAgICBib29sIGhhc092ZXJoYW5naW5nRmxvYXQo
UmVuZGVyQm94Jik7Ci0gICAgdm9pZCBhZGRJbnRydWRpbmdGbG9hdHMoUmVuZGVyQmxvY2tGbG93
KiBwcmV2LCBMYXlvdXRVbml0IHhvZmZzZXQsIExheW91dFVuaXQgeW9mZnNldCk7CisgICAgdm9p
ZCBhZGRJbnRydWRpbmdGbG9hdHMoUmVuZGVyQmxvY2tGbG93KiBwcmV2LCBSZW5kZXJCbG9ja0Zs
b3cqIGNvbnRhaW5lciwgTGF5b3V0VW5pdCB4b2Zmc2V0LCBMYXlvdXRVbml0IHlvZmZzZXQpOwog
ICAgIGJvb2wgaGFzT3ZlcmhhbmdpbmdGbG9hdHMoKSB7IHJldHVybiBwYXJlbnQoKSAmJiBjb250
YWluc0Zsb2F0cygpICYmIGxvd2VzdEZsb2F0TG9naWNhbEJvdHRvbSgpID4gbG9naWNhbEhlaWdo
dCgpOyB9CiAgICAgTGF5b3V0VW5pdCBnZXRDbGVhckRlbHRhKFJlbmRlckJveCYgY2hpbGQsIExh
eW91dFVuaXQgeVBvcyk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
bG9ja0xpbmVMYXlvdXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCShyZXZpc2lvbiAxODIxODgpCisrKyBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNjg1LDExICs2ODUsMTcgQEAgdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OnVwZGF0ZUxvZ2lj
YWxXaWR0aAogICAgIH0KIH0KIAotc3RhdGljIHZvaWQgdXBkYXRlTG9naWNhbElubGluZVBvc2l0
aW9ucyhSZW5kZXJCbG9ja0Zsb3cmIGJsb2NrLCBmbG9hdCYgbGluZUxvZ2ljYWxMZWZ0LCBmbG9h
dCYgbGluZUxvZ2ljYWxSaWdodCwgZmxvYXQmIGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCwgYm9vbCBm
aXJzdExpbmUsIEluZGVudFRleHRPck5vdCBzaG91bGRJbmRlbnRUZXh0LCBMYXlvdXRVbml0IGJv
eExvZ2ljYWxIZWlnaHQpCitzdGF0aWMgdm9pZCB1cGRhdGVMb2dpY2FsSW5saW5lUG9zaXRpb25z
KFJlbmRlckJsb2NrRmxvdyYgYmxvY2ssIGZsb2F0JiBsaW5lTG9naWNhbExlZnQsIGZsb2F0JiBs
aW5lTG9naWNhbFJpZ2h0LCBmbG9hdCYgYXZhaWxhYmxlTG9naWNhbFdpZHRoLCBib29sIGZpcnN0
TGluZSwgSW5kZW50VGV4dE9yTm90IHNob3VsZEluZGVudFRleHQsIExheW91dFVuaXQgYm94TG9n
aWNhbEhlaWdodCwKKyAgICBSb290SW5saW5lQm94KiByb290Qm94KQogewogICAgIExheW91dFVu
aXQgbGluZUxvZ2ljYWxIZWlnaHQgPSBibG9jay5taW5MaW5lSGVpZ2h0Rm9yUmVwbGFjZWRSZW5k
ZXJlcihmaXJzdExpbmUsIGJveExvZ2ljYWxIZWlnaHQpOwotICAgIGxpbmVMb2dpY2FsTGVmdCA9
IGJsb2NrLmxvZ2ljYWxMZWZ0T2Zmc2V0Rm9yTGluZShibG9jay5sb2dpY2FsSGVpZ2h0KCksIHNo
b3VsZEluZGVudFRleHQgPT0gSW5kZW50VGV4dCwgbGluZUxvZ2ljYWxIZWlnaHQpOwotICAgIGxp
bmVMb2dpY2FsUmlnaHQgPSBibG9jay5sb2dpY2FsUmlnaHRPZmZzZXRGb3JMaW5lKGJsb2NrLmxv
Z2ljYWxIZWlnaHQoKSwgc2hvdWxkSW5kZW50VGV4dCA9PSBJbmRlbnRUZXh0LCBsaW5lTG9naWNh
bEhlaWdodCk7CisgICAgaWYgKHJvb3RCb3gtPmhhc0Fub255bW91c0lubGluZUJsb2NrKCkpIHsK
KyAgICAgICAgbGluZUxvZ2ljYWxMZWZ0ID0gYmxvY2subG9naWNhbExlZnRPZmZzZXRGb3JDb250
ZW50KGJsb2NrLmxvZ2ljYWxIZWlnaHQoKSk7CisgICAgICAgIGxpbmVMb2dpY2FsUmlnaHQgPSBi
bG9jay5sb2dpY2FsUmlnaHRPZmZzZXRGb3JDb250ZW50KGJsb2NrLmxvZ2ljYWxIZWlnaHQoKSk7
CisgICAgfSBlbHNlIHsKKyAgICAgICAgbGluZUxvZ2ljYWxMZWZ0ID0gYmxvY2subG9naWNhbExl
ZnRPZmZzZXRGb3JMaW5lKGJsb2NrLmxvZ2ljYWxIZWlnaHQoKSwgc2hvdWxkSW5kZW50VGV4dCA9
PSBJbmRlbnRUZXh0LCBsaW5lTG9naWNhbEhlaWdodCk7CisgICAgICAgIGxpbmVMb2dpY2FsUmln
aHQgPSBibG9jay5sb2dpY2FsUmlnaHRPZmZzZXRGb3JMaW5lKGJsb2NrLmxvZ2ljYWxIZWlnaHQo
KSwgc2hvdWxkSW5kZW50VGV4dCA9PSBJbmRlbnRUZXh0LCBsaW5lTG9naWNhbEhlaWdodCk7Cisg
ICAgfQogICAgIGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCA9IGxpbmVMb2dpY2FsUmlnaHQgLSBsaW5l
TG9naWNhbExlZnQ7CiB9CiAKQEAgLTcwNywxMiArNzEzLDEyIEBAIHZvaWQgUmVuZGVyQmxvY2tG
bG93Ojpjb21wdXRlSW5saW5lRGlyZWMKICAgICBmbG9hdCBsaW5lTG9naWNhbExlZnQ7CiAgICAg
ZmxvYXQgbGluZUxvZ2ljYWxSaWdodDsKICAgICBmbG9hdCBhdmFpbGFibGVMb2dpY2FsV2lkdGg7
Ci0gICAgdXBkYXRlTG9naWNhbElubGluZVBvc2l0aW9ucygqdGhpcywgbGluZUxvZ2ljYWxMZWZ0
LCBsaW5lTG9naWNhbFJpZ2h0LCBhdmFpbGFibGVMb2dpY2FsV2lkdGgsIGlzRmlyc3RMaW5lLCBz
aG91bGRJbmRlbnRUZXh0LCAwKTsKKyAgICB1cGRhdGVMb2dpY2FsSW5saW5lUG9zaXRpb25zKCp0
aGlzLCBsaW5lTG9naWNhbExlZnQsIGxpbmVMb2dpY2FsUmlnaHQsIGF2YWlsYWJsZUxvZ2ljYWxX
aWR0aCwgaXNGaXJzdExpbmUsIHNob3VsZEluZGVudFRleHQsIDAsIGxpbmVCb3gpOwogICAgIGJv
b2wgbmVlZHNXb3JkU3BhY2luZzsKIAogICAgIGlmIChmaXJzdFJ1biAmJiBmaXJzdFJ1bi0+cmVu
ZGVyZXIoKS5pc1JlcGxhY2VkKCkpIHsKICAgICAgICAgUmVuZGVyQm94JiByZW5kZXJCb3ggPSBk
b3duY2FzdDxSZW5kZXJCb3g+KGZpcnN0UnVuLT5yZW5kZXJlcigpKTsKLSAgICAgICAgdXBkYXRl
TG9naWNhbElubGluZVBvc2l0aW9ucygqdGhpcywgbGluZUxvZ2ljYWxMZWZ0LCBsaW5lTG9naWNh
bFJpZ2h0LCBhdmFpbGFibGVMb2dpY2FsV2lkdGgsIGlzRmlyc3RMaW5lLCBzaG91bGRJbmRlbnRU
ZXh0LCByZW5kZXJCb3gubG9naWNhbEhlaWdodCgpKTsKKyAgICAgICAgdXBkYXRlTG9naWNhbElu
bGluZVBvc2l0aW9ucygqdGhpcywgbGluZUxvZ2ljYWxMZWZ0LCBsaW5lTG9naWNhbFJpZ2h0LCBh
dmFpbGFibGVMb2dpY2FsV2lkdGgsIGlzRmlyc3RMaW5lLCBzaG91bGRJbmRlbnRUZXh0LCByZW5k
ZXJCb3gubG9naWNhbEhlaWdodCgpLCBsaW5lQm94KTsKICAgICB9CiAKICAgICBjb21wdXRlSW5s
aW5lRGlyZWN0aW9uUG9zaXRpb25zRm9yU2VnbWVudChsaW5lQm94LCBsaW5lSW5mbywgdGV4dEFs
aWduLCBsaW5lTG9naWNhbExlZnQsIGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCwgZmlyc3RSdW4sIHRy
YWlsaW5nU3BhY2VSdW4sIHRleHRCb3hEYXRhTWFwLCB2ZXJ0aWNhbFBvc2l0aW9uQ2FjaGUsIHdv
cmRNZWFzdXJlbWVudHMpOwpAQCAtMTUyNCwxMCArMTUzMCwxMiBAQCB2b2lkIFJlbmRlckJsb2Nr
Rmxvdzo6bGF5b3V0TGluZUJveGVzKGJvCiAgICAgICAgICAgICAgICAgZWxzZSBpZiAoaXNGdWxs
TGF5b3V0IHx8IGJveC5uZWVkc0xheW91dCgpKSB7CiAgICAgICAgICAgICAgICAgICAgIC8vIFJl
cGxhY2VkIGVsZW1lbnQuCiAgICAgICAgICAgICAgICAgICAgIGJveC5kaXJ0eUxpbmVCb3hlcyhp
c0Z1bGxMYXlvdXQpOwotICAgICAgICAgICAgICAgICAgICBpZiAoaXNGdWxsTGF5b3V0KQotICAg
ICAgICAgICAgICAgICAgICAgICAgcmVwbGFjZWRDaGlsZHJlbi5hcHBlbmQoJmJveCk7Ci0gICAg
ICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgICAgIGJveC5sYXlvdXRJ
Zk5lZWRlZCgpOworICAgICAgICAgICAgICAgICAgICBpZiAoIW8uaXNSZXBsYWNlZCgpIHx8ICFv
LmlzQW5vbnltb3VzSW5saW5lQmxvY2soKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYg
KGlzRnVsbExheW91dCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXBsYWNlZENoaWxk
cmVuLmFwcGVuZCgmYm94KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBib3gubGF5b3V0SWZOZWVkZWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgfQogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0gZWxzZSBpZiAoby5pc1Rl
eHRPckxpbmVCcmVhaygpIHx8IChpczxSZW5kZXJJbmxpbmU+KG8pICYmICF3YWxrZXIuYXRFbmRP
ZklubGluZSgpKSkgewogICAgICAgICAgICAgICAgIGlmIChpczxSZW5kZXJJbmxpbmU+KG8pKQpJ
bmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAJKHJldmlzaW9uIDE4MjE5
NSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC00MzAyLDcgKzQzMDIsNyBAQCBib29sIFJlbmRlckJveDo6c2hyaW5rVG9Bdm9pZEZs
b2F0cygpIGNvCiAKIGJvb2wgUmVuZGVyQm94OjpjcmVhdGVzTmV3Rm9ybWF0dGluZ0NvbnRleHQo
KSBjb25zdAogewotICAgIHJldHVybiBpc0lubGluZUJsb2NrT3JJbmxpbmVUYWJsZSgpIHx8IGlz
RmxvYXRpbmdPck91dE9mRmxvd1Bvc2l0aW9uZWQoKSB8fCBoYXNPdmVyZmxvd0NsaXAoKSB8fCBp
c0ZsZXhJdGVtSW5jbHVkaW5nRGVwcmVjYXRlZCgpCisgICAgcmV0dXJuIChpc0lubGluZUJsb2Nr
T3JJbmxpbmVUYWJsZSgpICYmICFpc0Fub255bW91c0lubGluZUJsb2NrKCkpfHwgaXNGbG9hdGlu
Z09yT3V0T2ZGbG93UG9zaXRpb25lZCgpIHx8IGhhc092ZXJmbG93Q2xpcCgpIHx8IGlzRmxleEl0
ZW1JbmNsdWRpbmdEZXByZWNhdGVkKCkKICAgICAgICAgfHwgaXNUYWJsZUNlbGwoKSB8fCBpc1Rh
YmxlQ2FwdGlvbigpIHx8IGlzRmllbGRzZXQoKSB8fCBpc1dyaXRpbmdNb2RlUm9vdCgpIHx8IGlz
Um9vdCgpIHx8IGlzUmVuZGVyRmxvd1RocmVhZCgpIHx8IGlzUmVuZGVyUmVnaW9uKCkKICNpZiBF
TkFCTEUoQ1NTX0dSSURfTEFZT1VUKQogICAgICAgICB8fCBpc0dyaWRJdGVtKCkKQEAgLTQzMTIs
NyArNDMxMiw3IEBAIGJvb2wgUmVuZGVyQm94OjpjcmVhdGVzTmV3Rm9ybWF0dGluZ0NvbnQKIAog
Ym9vbCBSZW5kZXJCb3g6OmF2b2lkc0Zsb2F0cygpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGlzUmVw
bGFjZWQoKSB8fCBpc0hSKCkgfHwgaXNMZWdlbmQoKSB8fCBjcmVhdGVzTmV3Rm9ybWF0dGluZ0Nv
bnRleHQoKTsKKyAgICByZXR1cm4gKGlzUmVwbGFjZWQoKSAmJiAhaXNBbm9ueW1vdXNJbmxpbmVC
bG9jaygpKSB8fCBpc0hSKCkgfHwgaXNMZWdlbmQoKSB8fCBjcmVhdGVzTmV3Rm9ybWF0dGluZ0Nv
bnRleHQoKTsKIH0KIAogdm9pZCBSZW5kZXJCb3g6OmFkZFZpc3VhbEVmZmVjdE92ZXJmbG93KCkK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9saW5lL0JyZWFraW5nQ29udGV4dC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9saW5lL0JyZWFraW5nQ29udGV4
dC5oCShyZXZpc2lvbiAxODIxODgpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbGluZS9C
cmVha2luZ0NvbnRleHQuaAkod29ya2luZyBjb3B5KQpAQCAtNTAwLDYgKzUwMCw5IEBAIGlubGlu
ZSB2b2lkIEJyZWFraW5nQ29udGV4dDo6aGFuZGxlUmVwbGEKICAgICAgICAgICAgIHJldHVybjsK
ICAgICAgICAgfQogICAgIH0KKyAgICAKKyAgICBpZiAocmVwbGFjZWRCb3guaXNBbm9ueW1vdXNJ
bmxpbmVCbG9jaygpKQorICAgICAgICByZXBsYWNlZEJveC5sYXlvdXRJZk5lZWRlZCgpOwogCiAg
ICAgaWYgKG1faWdub3JpbmdTcGFjZXMpCiAgICAgICAgIG1fbGluZU1pZHBvaW50U3RhdGUuc3Rv
cElnbm9yaW5nU3BhY2VzKElubGluZUl0ZXJhdG9yKDAsIG1fY3VycmVudC5yZW5kZXJlcigpLCAw
KSk7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxODIyMzQpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAorMjAxNS0wNC0wMSAgRGF2aWQgSHlhdHQg
IDxoeWF0dEBhcHBsZS5jb20+CisKKyAgICAgICAgW05ldyBCbG9jay1JbnNpZGUtSW5saW5lIE1v
ZGVsXSBGbG9hdHMgbmVlZCB0byBiZSBhbGxvd2VkIHRvIGludHJ1ZGUgaW50byBhbm9ueW1vdXMg
aW5saW5lLWJsb2Nrcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE0MzMwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogZmFzdC9ibG9jay9pbnNpZGUtaW5saW5lcy9iYXNpYy1mbG9hdC1pbnRydXNpb24t
ZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9ibG9jay9pbnNpZGUtaW5saW5l
cy9iYXNpYy1mbG9hdC1pbnRydXNpb24uaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9ibG9j
ay9pbnNpZGUtaW5saW5lcy9uZXctbW9kZWwvYmFzaWMtZmxvYXQtaW50cnVzaW9uLWV4cGVjdGVk
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvYmxvY2svaW5zaWRlLWlubGluZXMvbmV3LW1v
ZGVsL2Jhc2ljLWZsb2F0LWludHJ1c2lvbi5odG1sOiBBZGRlZC4KKwogMjAxNS0wNC0wMSAgSHVu
c2VvcCBKZW9uZyAgPGhzODUuamVvbmdAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgVW5yZXZpZXdl
ZCBFRkwgZ2FyZGVuaW5nLiBSZW1vdmUgd2FybmluZyBtZXNzYWdlIGluIGxheW91dFRlc3QuIApJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9ibG9jay9pbnNpZGUtaW5saW5lcy9iYXNpYy1mbG9hdC1p
bnRydXNpb24tZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Js
b2NrL2luc2lkZS1pbmxpbmVzL2Jhc2ljLWZsb2F0LWludHJ1c2lvbi1leHBlY3RlZC5odG1sCShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ibG9jay9pbnNpZGUtaW5saW5lcy9iYXNp
Yy1mbG9hdC1pbnRydXNpb24tZXhwZWN0ZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDE0IEBACis8IWRvY3R5cGUgaHRtbD4KKzxoZWFkPgorPHN0eWxlPgorLmJveCB7IGJvcmRlcjox
cHggc29saWQgYmxhY2s7IHBhZGRpbmc6M3B4OyBtYXJnaW46M3B4IH0KKy5ub3dyYXAgeyB3aGl0
ZS1zcGFjZTogbm93cmFwOyB9CisuZmxvYXQgeyBmbG9hdDogbGVmdDsgfQorLmJveCBkaXYgeyBo
ZWlnaHQ6NDBweDsgIH0KKy5mbG9hdCB7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IGJhY2tn
cm91bmQtY29sb3I6Y3lhbiB9Cis8L3N0eWxlPgorPGJvZHk+CisKKzxkaXYgY2xhc3M9ImZsb2F0
Ij48L2Rpdj4KKworPGRpdiBjbGFzcz0iYm94Ij48ZGl2PkF2b2lkIHRoZSBmbG9hdCE8L2Rpdj48
L2Rpdj4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvYmxvY2svaW5zaWRlLWlubGluZXMvYmFzaWMt
ZmxvYXQtaW50cnVzaW9uLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ibG9j
ay9pbnNpZGUtaW5saW5lcy9iYXNpYy1mbG9hdC1pbnRydXNpb24uaHRtbAkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL2Zhc3QvYmxvY2svaW5zaWRlLWlubGluZXMvYmFzaWMtZmxvYXQtaW50
cnVzaW9uLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxNCBAQAorPCFkb2N0eXBlIGh0
bWw+Cis8aGVhZD4KKzxzdHlsZT4KKy5ib3ggeyBib3JkZXI6MXB4IHNvbGlkIGJsYWNrOyBwYWRk
aW5nOjNweDsgbWFyZ2luOjNweCB9Cisubm93cmFwIHsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfQor
LmZsb2F0IHsgZmxvYXQ6IGxlZnQ7IH0KKy5ib3ggZGl2IHsgaGVpZ2h0OjQwcHg7ICB9CisuZmxv
YXQgeyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOmN5YW4gfQor
PC9zdHlsZT4KKzxib2R5PgorCis8ZGl2IGNsYXNzPSJmbG9hdCI+PC9kaXY+CisKKzxkaXYgY2xh
c3M9ImJveCI+PGE+PGRpdj5Bdm9pZCB0aGUgZmxvYXQhPC9kaXY+PC9hPjwvZGl2PgpJbmRleDog
TGF5b3V0VGVzdHMvZmFzdC9ibG9jay9pbnNpZGUtaW5saW5lcy9uZXctbW9kZWwvYmFzaWMtZmxv
YXQtaW50cnVzaW9uLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC9ibG9jay9pbnNpZGUtaW5saW5lcy9uZXctbW9kZWwvYmFzaWMtZmxvYXQtaW50cnVzaW9uLWV4
cGVjdGVkLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Jsb2NrL2luc2lk
ZS1pbmxpbmVzL25ldy1tb2RlbC9iYXNpYy1mbG9hdC1pbnRydXNpb24tZXhwZWN0ZWQuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE0IEBACis8IWRvY3R5cGUgaHRtbD4KKzxoZWFkPgor
PHN0eWxlPgorLmJveCB7IGJvcmRlcjoxcHggc29saWQgYmxhY2s7IHBhZGRpbmc6M3B4OyBtYXJn
aW46M3B4IH0KKy5ub3dyYXAgeyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9CisuZmxvYXQgeyBmbG9h
dDogbGVmdDsgfQorLmJveCBkaXYgeyBoZWlnaHQ6NDBweDsgIH0KKy5mbG9hdCB7IHdpZHRoOjEw
MHB4OyBoZWlnaHQ6MTAwcHg7IGJhY2tncm91bmQtY29sb3I6Y3lhbiB9Cis8L3N0eWxlPgorPGJv
ZHk+CisKKzxkaXYgY2xhc3M9ImZsb2F0Ij48L2Rpdj4KKworPGRpdiBjbGFzcz0iYm94Ij48ZGl2
PkF2b2lkIHRoZSBmbG9hdCE8L2Rpdj48L2Rpdj4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvYmxv
Y2svaW5zaWRlLWlubGluZXMvbmV3LW1vZGVsL2Jhc2ljLWZsb2F0LWludHJ1c2lvbi5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvYmxvY2svaW5zaWRlLWlubGluZXMvbmV3LW1v
ZGVsL2Jhc2ljLWZsb2F0LWludHJ1c2lvbi5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvZmFzdC9ibG9jay9pbnNpZGUtaW5saW5lcy9uZXctbW9kZWwvYmFzaWMtZmxvYXQtaW50cnVz
aW9uLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxOCBAQAorPCFkb2N0eXBlIGh0bWw+
Cis8aGVhZD4KKzxzdHlsZT4KKy5ib3ggeyBib3JkZXI6MXB4IHNvbGlkIGJsYWNrOyBwYWRkaW5n
OjNweDsgbWFyZ2luOjNweCB9Cisubm93cmFwIHsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfQorLmZs
b2F0IHsgZmxvYXQ6IGxlZnQ7IH0KKy5ib3ggZGl2IHsgaGVpZ2h0OjQwcHg7ICB9CisuZmxvYXQg
eyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOmN5YW4gfQorPC9z
dHlsZT4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykKKyAgICB3aW5kb3cuaW50ZXJu
YWxzLnNldHRpbmdzLnNldE5ld0Jsb2NrSW5zaWRlSW5saW5lTW9kZWxFbmFibGVkKHRydWUpCis8
L3NjcmlwdD4KKzxib2R5PgorCis8ZGl2IGNsYXNzPSJmbG9hdCI+PC9kaXY+CisKKzxkaXYgY2xh
c3M9ImJveCI+PGE+PGRpdj5Bdm9pZCB0aGUgZmxvYXQhPC9kaXY+PC9hPjwvZGl2Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249922</attachid>
            <date>2015-04-01 08:54:43 -0700</date>
            <delta_ts>2015-04-01 10:40:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>19480</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4MjIzMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUyIEBACisyMDE1LTA0LTAxICBEYXZpZCBI
eWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4KKworICAgICAgICBbTmV3IEJsb2NrLUluc2lkZS1Jbmxp
bmUgTW9kZWxdIEZsb2F0cyBuZWVkIHRvIGJlIGFsbG93ZWQgdG8gaW50cnVkZSBpbnRvIGFub255
bW91cyBpbmxpbmUtYmxvY2tzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTQzMzA3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkZWQgZmFzdC9ibG9jay9pbnNpZGUtaW5saW5lcy9iYXNpYy1mbG9hdC1p
bnRydXNpb24uaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL0lubGluZUZsb3dCb3guY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SW5saW5lRmxvd0JveDo6cGxhY2VCb3hlc0luQmxvY2tEaXJlY3Rp
b24pOgorICAgICAgICBNYWtlIHN1cmUgdG8gZXhjbHVkZSB0aGUgbWFyZ2lucyBvZiBhbiBhbm9u
eW1vdXMgaW5saW5lLWJsb2NrIHdoZW4gY29uc2lkZXJpbmcgdGhlIGhlaWdodCBvZiB0aGUgbGlu
ZS4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJCbG9jazo6bGluZUhlaWdodCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJC
bG9jazo6YmFzZWxpbmVQb3NpdGlvbik6CisgICAgICAgIEFub255bW91cyBpbmxpbmUtYmxvY2sg
bGluZXMgaWdub3JlIGxpbmUtaGVpZ2h0IGFuZCBqdXN0IHJldHVybiB0aGUgaGVpZ2h0IG9mIHRo
ZSBibG9jay4gRm9yIGJhc2VsaW5lIHBvc2l0aW9uLCB0aGUgYmFzZWxpbmUKKyAgICAgICAgaXMg
Y29uc2lkZXJlZCB0byBiZSBhdCB0aGUgYm90dG9tIGJvcmRlciBlZGdlIG9mIHRoZSBhbm9ueW1v
dXMgaW5saW5lLWJsb2NrLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6OnJlYnVpbGRGbG9hdGluZ09i
amVjdFNldEZyb21JbnRydWRpbmdGbG9hdHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxv
Y2tGbG93OjphZGRJbnRydWRpbmdGbG9hdHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJC
bG9ja0Zsb3cuaDoKKyAgICAgICAgUGF0Y2ggZmxvYXQgaW50cnVzaW9uIHRvIGhhbmRsZSB0aGUg
Y2FzZSBvZiBhbm9ueW1vdXMgaW5saW5lLWJsb2Nrcy4gSW5zdGVhZCBvZiBjb2xsZWN0aW5nIHRo
ZSBmbG9hdHMgZnJvbSBvdXIgcGFyZW50KCksIHdlCisgICAgICAgIGNvbGxlY3QgdGhlbSBmcm9t
IHRoZSBjb250YWluaW5nQmxvY2soKSBpbiB0aGUgYW5vbnltb3VzIGlubGluZS1ibG9jayBjYXNl
LiBQYXRjaCBhZGRJbnRydWRpbmdGbG9hdHMgdG8gcGFzcyBpbiB0aGUgY29udGFpbmVyCisgICAg
ICAgIHRoYXQgYWN0cyBhcyB0aGUgInBhcmVudCIsIHNpbmNlIGl0IGlzIG5vdCB0aGUgcGFyZW50
KCkgaW4gdGhlIGFub255bW91cyBpbmxpbmUtYmxvY2sgY2FzZS4KKworICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dXBkYXRl
TG9naWNhbElubGluZVBvc2l0aW9ucyk6CisgICAgICAgIE1ha2Ugc3VyZSB0byB1c2UgdGhlIGZ1
bGwgYXZhaWxhYmxlIHdpZHRoIGZvciBjb250ZW50IGFsd2F5cyBpbiB0aGUgYW5vbnltb3VzIGlu
bGluZS1ibG9jayBjYXNlLCBzaW5jZSB3ZSBkb24ndCBhdm9pZCB0aGUKKyAgICAgICAgZmxvYXRz
LCBidXQgaW5zdGVhZCBsZXQgdGhlbSBpbnRydWRlIGludG8gdGhlIGlubGluZS1ibG9jay4KKwor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93Ojpjb21wdXRlSW5saW5lRGlyZWN0aW9u
UG9zaXRpb25zRm9yTGluZSk6CisgICAgICAgIFBhdGNoIGNhbGxlcnMgb2YgdXBkYXRlTG9naWNh
bElubGluZVBvc2l0aW9ucyB0byBwYXNzIGluIHRoZSByb290IGxpbmUgYm94IHRoYXQgd2UncmUg
Y2hlY2tpbmcgZm9yLgorCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6OmxheW91
dExpbmVCb3hlcyk6CisgICAgICAgIERlZmVyIHRoZSBsYXlvdXQgb2YgYW5vbnltb3VzIGlubGlu
ZS1ibG9ja3MsIHNpbmNlIHRoZXkgbmVlZCB0byBvbmx5IGxheSBvdXQgb25jZSB0aGUgdmVydGlj
YWwgcG9zaXRpb24gdG8gbGF5IHRoZW0gb3V0CisgICAgICAgIGF0IGlzIGtub3duLgorCisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJC
b3g6OmNyZWF0ZXNOZXdGb3JtYXR0aW5nQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJCb3g6OmF2b2lkc0Zsb2F0cyk6CisgICAgICAgIEFub255bW91cyBpbmxpbmUtYmxvY2tzIGRv
IG5vdCBlc3RhYmxpc2ggYSBuZXcgYmxvY2sgZm9ybWF0dGluZyBjb250ZXh0LCBub3IgZG8gdGhl
eSBhdm9pZCBmbG9hdHMuCisKKyAgICAgICAgKiByZW5kZXJpbmcvbGluZS9CcmVha2luZ0NvbnRl
eHQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkJyZWFraW5nQ29udGV4dDo6aGFuZGxlUmVwbGFjZWQp
OgorICAgICAgICBBZGQgY29kZSB0byBkbyBhIGp1c3QtaW4tdGltZSBsYXlvdXQgb2YgdGhlIGFu
b255bW91cyBpbmxpbmUtYmxvY2sgYXQgdGhlIHRpbWUgaXQgaXMgYmVpbmcgZXhhbWluZWQgKGFm
dGVyIHRoZSBicmVhayBiZWZvcmUKKyAgICAgICAgaXQgd2FzIGhhbmRsZWQpLgorCiAyMDE1LTA0
LTAxICBDYXJsb3MgQWxiZXJ0byBMb3BleiBQZXJleiAgPGNsb3BlekBpZ2FsaWEuY29tPgogCiAg
ICAgICAgIFtDTWFrZV1bR1RLXSBVc2UgdGhlIHJpZ2h0IHZhcmlhYmxlIHRvIGluY2x1ZGUgdGhl
IFdheWxhbmQgaGVhZGVycy4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVG
bG93Qm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5l
Rmxvd0JveC5jcHAJKHJldmlzaW9uIDE4MjE4NykKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9JbmxpbmVGbG93Qm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjcxLDcgKzY3MSw3IEBAIHZv
aWQgSW5saW5lRmxvd0JveDo6cGxhY2VCb3hlc0luQmxvY2tEaXIKICAgICAgICAgICAgICAgICAg
ICAgOiBib3hPYmplY3QuYm9yZGVyUmlnaHQoKSArIGJveE9iamVjdC5wYWRkaW5nUmlnaHQoKTsK
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgIG5ld0xvZ2ljYWxUb3BJbmNsdWRpbmdNYXJnaW5z
ID0gbmV3TG9naWNhbFRvcDsKLSAgICAgICAgfSBlbHNlIGlmICghY2hpbGQtPnJlbmRlcmVyKCku
aXNCUigpKSB7CisgICAgICAgIH0gZWxzZSBpZiAoIWNoaWxkLT5yZW5kZXJlcigpLmlzQlIoKSAm
JiAhY2hpbGQtPnJlbmRlcmVyKCkuaXNBbm9ueW1vdXNJbmxpbmVCbG9jaygpKSB7CiAgICAgICAg
ICAgICBjb25zdCBhdXRvJiBib3ggPSBkb3duY2FzdDxSZW5kZXJCb3g+KGNoaWxkLT5yZW5kZXJl
cigpKTsKICAgICAgICAgICAgIG5ld0xvZ2ljYWxUb3BJbmNsdWRpbmdNYXJnaW5zID0gbmV3TG9n
aWNhbFRvcDsKICAgICAgICAgICAgIExheW91dFVuaXQgb3ZlclNpZGVNYXJnaW4gPSBjaGlsZC0+
aXNIb3Jpem9udGFsKCkgPyBib3gubWFyZ2luVG9wKCkgOiBib3gubWFyZ2luUmlnaHQoKTsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAkocmV2aXNpb24gMTgy
MTg3KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjgwMiw2ICsyODAyLDEwIEBAIGJvb2wgUmVuZGVyQmxvY2s6Omhhc0xpbmVJ
ZkVtcHR5KCkgY29uc3QKIAogTGF5b3V0VW5pdCBSZW5kZXJCbG9jazo6bGluZUhlaWdodChib29s
IGZpcnN0TGluZSwgTGluZURpcmVjdGlvbk1vZGUgZGlyZWN0aW9uLCBMaW5lUG9zaXRpb25Nb2Rl
IGxpbmVQb3NpdGlvbk1vZGUpIGNvbnN0CiB7CisgICAgLy8gQW5vbnltb3VzIGlubGluZSBibG9j
a3MgZG9uJ3QgaW5jbHVkZSBtYXJnaW5zIG9yIGFueSByZWFsIGxpbmUgaGVpZ2h0LgorICAgIGlm
IChpc0Fub255bW91c0lubGluZUJsb2NrKCkgJiYgbGluZVBvc2l0aW9uTW9kZSA9PSBQb3NpdGlv
bk9uQ29udGFpbmluZ0xpbmUpCisgICAgICAgIHJldHVybiBkaXJlY3Rpb24gPT0gSG9yaXpvbnRh
bExpbmUgPyBoZWlnaHQoKSA6IHdpZHRoKCk7CisgICAgCiAgICAgLy8gSW5saW5lIGJsb2NrcyBh
cmUgcmVwbGFjZWQgZWxlbWVudHMuIE90aGVyd2lzZSwganVzdCBwYXNzIG9mZiB0bwogICAgIC8v
IHRoZSBiYXNlIGNsYXNzLiAgSWYgd2UncmUgYmVpbmcgcXVlcmllZCBhcyB0aG91Z2ggd2UncmUg
dGhlIHJvb3QgbGluZQogICAgIC8vIGJveCwgdGhlbiB0aGUgZmFjdCB0aGF0IHdlJ3JlIGFuIGlu
bGluZS1ibG9jayBpcyBpcnJlbGV2YW50LCBhbmQgd2UgYmVoYXZlCkBAIC0yODI1LDYgKzI4Mjks
OSBAQCBpbnQgUmVuZGVyQmxvY2s6OmJhc2VsaW5lUG9zaXRpb24oRm9udEJhCiAgICAgLy8gYm94
LCB0aGVuIHRoZSBmYWN0IHRoYXQgd2UncmUgYW4gaW5saW5lLWJsb2NrIGlzIGlycmVsZXZhbnQs
IGFuZCB3ZSBiZWhhdmUKICAgICAvLyBqdXN0IGxpa2UgYSBibG9jay4KICAgICBpZiAoaXNSZXBs
YWNlZCgpICYmIGxpbmVQb3NpdGlvbk1vZGUgPT0gUG9zaXRpb25PbkNvbnRhaW5pbmdMaW5lKSB7
CisgICAgICAgIGlmIChpc0Fub255bW91c0lubGluZUJsb2NrKCkpCisgICAgICAgICAgICByZXR1
cm4gZGlyZWN0aW9uID09IEhvcml6b250YWxMaW5lID8gaGVpZ2h0KCkgOiB3aWR0aCgpOworICAg
ICAgICAKICAgICAgICAgLy8gRm9yICJsZWFmIiB0aGVtZSBvYmplY3RzLCBsZXQgdGhlIHRoZW1l
IGRlY2lkZSB3aGF0IHRoZSBiYXNlbGluZSBwb3NpdGlvbiBpcy4KICAgICAgICAgLy8gRklYTUU6
IE1pZ2h0IGJlIGJldHRlciB0byBoYXZlIGEgY3VzdG9tIENTUyBwcm9wZXJ0eSBpbnN0ZWFkLCBz
byB0aGF0IGlmIHRoZSB0aGVtZQogICAgICAgICAvLyBpcyB0dXJuZWQgb2ZmLCBjaGVja2JveGVz
L3JhZGlvcyB3aWxsIHN0aWxsIGhhdmUgZGVjZW50IGJhc2VsaW5lcy4KSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCShyZXZpc2lvbiAxODIxODgp
CisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjMyLDE3ICsyMzIsMjAgQEAgdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OnJlYnVp
bGRGbG9hdGluZ09iagogICAgIC8vIFdlIHNob3VsZCBub3QgcHJvY2VzcyBmbG9hdHMgaWYgdGhl
IHBhcmVudCBub2RlIGlzIG5vdCBhIFJlbmRlckJsb2NrLiBPdGhlcndpc2UsIHdlIHdpbGwgYWRk
IAogICAgIC8vIGZsb2F0cyBpbiBhbiBpbnZhbGlkIGNvbnRleHQuIFRoaXMgd2lsbCBjYXVzZSBh
IGNyYXNoIGFyaXNpbmcgZnJvbSBhIGJhZCBjYXN0IG9uIHRoZSBwYXJlbnQuCiAgICAgLy8gU2Vl
IDxyZGFyOi8vcHJvYmxlbS84MDQ5NzUzPiwgd2hlcmUgZmxvYXQgcHJvcGVydHkgaXMgYXBwbGll
ZCBvbiBhIHRleHQgbm9kZSBpbiBhIFNWRy4KLSAgICBpZiAoIWlzPFJlbmRlckJsb2NrRmxvdz4o
cGFyZW50KCkpKQorICAgIGJvb2wgaXNCbG9ja0luc2lkZUlubGluZSA9IGlzQW5vbnltb3VzSW5s
aW5lQmxvY2soKTsKKyAgICBpZiAoIWlzPFJlbmRlckJsb2NrRmxvdz4ocGFyZW50KCkpICYmICFp
c0Jsb2NrSW5zaWRlSW5saW5lKQogICAgICAgICByZXR1cm47CiAKICAgICAvLyBGaXJzdCBhZGQg
aW4gZmxvYXRzIGZyb20gdGhlIHBhcmVudC4gU2VsZi1jb2xsYXBzaW5nIGJsb2NrcyBsZXQgdGhl
aXIgcGFyZW50IHRyYWNrIGFueSBmbG9hdHMgdGhhdCBpbnRydWRlIGludG8KICAgICAvLyB0aGVt
IChhcyBvcHBvc2VkIHRvIGZsb2F0cyB0aGV5IGNvbnRhaW4gdGhlbXNlbHZlcykgc28gY2hlY2sg
Zm9yIHRob3NlIGhlcmUgdG9vLgotICAgIFJlbmRlckJsb2NrRmxvdyYgcGFyZW50QmxvY2sgPSBk
b3duY2FzdDxSZW5kZXJCbG9ja0Zsb3c+KCpwYXJlbnQoKSk7Ci0gICAgYm9vbCBwYXJlbnRIYXNG
bG9hdHMgPSBmYWxzZTsKLSAgICBSZW5kZXJCbG9ja0Zsb3cqIHByZXZpb3VzQmxvY2sgPSBwcmV2
aW91c1NpYmxpbmdXaXRoT3ZlcmhhbmdpbmdGbG9hdHMocGFyZW50SGFzRmxvYXRzKTsKKyAgICBS
ZW5kZXJCbG9ja0Zsb3cmIHBhcmVudEJsb2NrID0gZG93bmNhc3Q8UmVuZGVyQmxvY2tGbG93Pihp
c0Jsb2NrSW5zaWRlSW5saW5lID8gKmNvbnRhaW5pbmdCbG9jaygpIDogKnBhcmVudCgpKTsKKyAg
ICBib29sIHBhcmVudEhhc0Zsb2F0cyA9IGlzQmxvY2tJbnNpZGVJbmxpbmUgPyBwYXJlbnRCbG9j
ay5jb250YWluc0Zsb2F0cygpIDogZmFsc2U7CisgICAgUmVuZGVyQmxvY2tGbG93KiBwcmV2aW91
c0Jsb2NrID0gbnVsbHB0cjsKKyAgICBpZiAoIWlzQmxvY2tJbnNpZGVJbmxpbmUpCisgICAgICAg
IHByZXZpb3VzQmxvY2sgPSBwcmV2aW91c1NpYmxpbmdXaXRoT3ZlcmhhbmdpbmdGbG9hdHMocGFy
ZW50SGFzRmxvYXRzKTsKICAgICBMYXlvdXRVbml0IGxvZ2ljYWxUb3BPZmZzZXQgPSBsb2dpY2Fs
VG9wKCk7CiAgICAgaWYgKHBhcmVudEhhc0Zsb2F0cyB8fCAocGFyZW50QmxvY2subG93ZXN0Rmxv
YXRMb2dpY2FsQm90dG9tKCkgPiBsb2dpY2FsVG9wT2Zmc2V0ICYmIHByZXZpb3VzQmxvY2sgJiYg
cHJldmlvdXNCbG9jay0+aXNTZWxmQ29sbGFwc2luZ0Jsb2NrKCkpKQotICAgICAgICBhZGRJbnRy
dWRpbmdGbG9hdHMoJnBhcmVudEJsb2NrLCBwYXJlbnRCbG9jay5sb2dpY2FsTGVmdE9mZnNldEZv
ckNvbnRlbnQoKSwgbG9naWNhbFRvcE9mZnNldCk7CisgICAgICAgIGFkZEludHJ1ZGluZ0Zsb2F0
cygmcGFyZW50QmxvY2ssICZwYXJlbnRCbG9jaywgcGFyZW50QmxvY2subG9naWNhbExlZnRPZmZz
ZXRGb3JDb250ZW50KCksIGxvZ2ljYWxUb3BPZmZzZXQpOwogICAgIAogICAgIExheW91dFVuaXQg
bG9naWNhbExlZnRPZmZzZXQgPSAwOwogICAgIGlmIChwcmV2aW91c0Jsb2NrKQpAQCAtMjU0LDcg
KzI1Nyw3IEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93OjpyZWJ1aWxkRmxvYXRpbmdPYmoKIAogICAg
IC8vIEFkZCBvdmVyaGFuZ2luZyBmbG9hdHMgZnJvbSB0aGUgcHJldmlvdXMgUmVuZGVyQmxvY2ss
IGJ1dCBvbmx5IGlmIGl0IGhhcyBhIGZsb2F0IHRoYXQgaW50cnVkZXMgaW50byBvdXIgc3BhY2Uu
ICAgIAogICAgIGlmIChwcmV2aW91c0Jsb2NrLT5tX2Zsb2F0aW5nT2JqZWN0cyAmJiBwcmV2aW91
c0Jsb2NrLT5sb3dlc3RGbG9hdExvZ2ljYWxCb3R0b20oKSA+IGxvZ2ljYWxUb3BPZmZzZXQpCi0g
ICAgICAgIGFkZEludHJ1ZGluZ0Zsb2F0cyhwcmV2aW91c0Jsb2NrLCBsb2dpY2FsTGVmdE9mZnNl
dCwgbG9naWNhbFRvcE9mZnNldCk7CisgICAgICAgIGFkZEludHJ1ZGluZ0Zsb2F0cyhwcmV2aW91
c0Jsb2NrLCAmcGFyZW50QmxvY2ssIGxvZ2ljYWxMZWZ0T2Zmc2V0LCBsb2dpY2FsVG9wT2Zmc2V0
KTsKIAogICAgIGlmIChjaGlsZHJlbklubGluZSgpKSB7CiAgICAgICAgIExheW91dFVuaXQgY2hh
bmdlTG9naWNhbFRvcCA9IExheW91dFVuaXQ6Om1heCgpOwpAQCAtMjY4MSw3ICsyNjg0LDcgQEAg
Ym9vbCBSZW5kZXJCbG9ja0Zsb3c6Omhhc092ZXJoYW5naW5nRmxvYQogICAgIHJldHVybiBsb2dp
Y2FsQm90dG9tRm9yRmxvYXQoaXQtPmdldCgpKSA+IGxvZ2ljYWxIZWlnaHQoKTsKIH0KIAotdm9p
ZCBSZW5kZXJCbG9ja0Zsb3c6OmFkZEludHJ1ZGluZ0Zsb2F0cyhSZW5kZXJCbG9ja0Zsb3cqIHBy
ZXYsIExheW91dFVuaXQgbG9naWNhbExlZnRPZmZzZXQsIExheW91dFVuaXQgbG9naWNhbFRvcE9m
ZnNldCkKK3ZvaWQgUmVuZGVyQmxvY2tGbG93OjphZGRJbnRydWRpbmdGbG9hdHMoUmVuZGVyQmxv
Y2tGbG93KiBwcmV2LCBSZW5kZXJCbG9ja0Zsb3cqIGNvbnRhaW5lciwgTGF5b3V0VW5pdCBsb2dp
Y2FsTGVmdE9mZnNldCwgTGF5b3V0VW5pdCBsb2dpY2FsVG9wT2Zmc2V0KQogewogICAgIEFTU0VS
VCghYXZvaWRzRmxvYXRzKCkpOwogCkBAIC0yNzExLDggKzI3MTQsOCBAQCB2b2lkIFJlbmRlckJs
b2NrRmxvdzo6YWRkSW50cnVkaW5nRmxvYXRzCiAgICAgICAgICAgICAgICAgLy8gaW50byBhY2Nv
dW50LiBPbmx5IGFwcGx5IHRoaXMgY29kZSBpZiBwcmV2IGlzIHRoZSBwYXJlbnQsIHNpbmNlIG90
aGVyd2lzZSB0aGUgbGVmdCBtYXJnaW4KICAgICAgICAgICAgICAgICAvLyB3aWxsIGdldCBhcHBs
aWVkIHR3aWNlLgogICAgICAgICAgICAgICAgIExheW91dFNpemUgb2Zmc2V0ID0gaXNIb3Jpem9u
dGFsV3JpdGluZ01vZGUoKQotICAgICAgICAgICAgICAgICAgICA/IExheW91dFNpemUobG9naWNh
bExlZnRPZmZzZXQgLSAocHJldiAhPSBwYXJlbnQoKSA/IHByZXYtPm1hcmdpbkxlZnQoKSA6IExh
eW91dFVuaXQoKSksIGxvZ2ljYWxUb3BPZmZzZXQpCi0gICAgICAgICAgICAgICAgICAgIDogTGF5
b3V0U2l6ZShsb2dpY2FsVG9wT2Zmc2V0LCBsb2dpY2FsTGVmdE9mZnNldCAtIChwcmV2ICE9IHBh
cmVudCgpID8gcHJldi0+bWFyZ2luVG9wKCkgOiBMYXlvdXRVbml0KCkpKTsKKyAgICAgICAgICAg
ICAgICAgICAgPyBMYXlvdXRTaXplKGxvZ2ljYWxMZWZ0T2Zmc2V0IC0gKHByZXYgIT0gY29udGFp
bmVyID8gcHJldi0+bWFyZ2luTGVmdCgpIDogTGF5b3V0VW5pdCgpKSwgbG9naWNhbFRvcE9mZnNl
dCkKKyAgICAgICAgICAgICAgICAgICAgOiBMYXlvdXRTaXplKGxvZ2ljYWxUb3BPZmZzZXQsIGxv
Z2ljYWxMZWZ0T2Zmc2V0IC0gKHByZXYgIT0gY29udGFpbmVyID8gcHJldi0+bWFyZ2luVG9wKCkg
OiBMYXlvdXRVbml0KCkpKTsKIAogICAgICAgICAgICAgICAgIG1fZmxvYXRpbmdPYmplY3RzLT5h
ZGQoZmxvYXRpbmdPYmplY3QtPmNvcHlUb05ld0NvbnRhaW5lcihvZmZzZXQpKTsKICAgICAgICAg
ICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmgJ
KHJldmlzaW9uIDE4MjE4NykKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
a0Zsb3cuaAkod29ya2luZyBjb3B5KQpAQCAtNTA4LDcgKzUwOCw3IEBAIHByaXZhdGU6CiAgICAg
CiAgICAgTGF5b3V0VW5pdCBhZGRPdmVyaGFuZ2luZ0Zsb2F0cyhSZW5kZXJCbG9ja0Zsb3cmIGNo
aWxkLCBib29sIG1ha2VDaGlsZFBhaW50T3RoZXJGbG9hdHMpOwogICAgIGJvb2wgaGFzT3Zlcmhh
bmdpbmdGbG9hdChSZW5kZXJCb3gmKTsKLSAgICB2b2lkIGFkZEludHJ1ZGluZ0Zsb2F0cyhSZW5k
ZXJCbG9ja0Zsb3cqIHByZXYsIExheW91dFVuaXQgeG9mZnNldCwgTGF5b3V0VW5pdCB5b2Zmc2V0
KTsKKyAgICB2b2lkIGFkZEludHJ1ZGluZ0Zsb2F0cyhSZW5kZXJCbG9ja0Zsb3cqIHByZXYsIFJl
bmRlckJsb2NrRmxvdyogY29udGFpbmVyLCBMYXlvdXRVbml0IHhvZmZzZXQsIExheW91dFVuaXQg
eW9mZnNldCk7CiAgICAgYm9vbCBoYXNPdmVyaGFuZ2luZ0Zsb2F0cygpIHsgcmV0dXJuIHBhcmVu
dCgpICYmIGNvbnRhaW5zRmxvYXRzKCkgJiYgbG93ZXN0RmxvYXRMb2dpY2FsQm90dG9tKCkgPiBs
b2dpY2FsSGVpZ2h0KCk7IH0KICAgICBMYXlvdXRVbml0IGdldENsZWFyRGVsdGEoUmVuZGVyQm94
JiBjaGlsZCwgTGF5b3V0VW5pdCB5UG9zKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAJKHJldmlzaW9uIDE4MjE4OCkK
KysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC02ODUsMTEgKzY4NSwxNyBAQCB2b2lkIFJlbmRlckJsb2NrRmxvdzo6
dXBkYXRlTG9naWNhbFdpZHRoCiAgICAgfQogfQogCi1zdGF0aWMgdm9pZCB1cGRhdGVMb2dpY2Fs
SW5saW5lUG9zaXRpb25zKFJlbmRlckJsb2NrRmxvdyYgYmxvY2ssIGZsb2F0JiBsaW5lTG9naWNh
bExlZnQsIGZsb2F0JiBsaW5lTG9naWNhbFJpZ2h0LCBmbG9hdCYgYXZhaWxhYmxlTG9naWNhbFdp
ZHRoLCBib29sIGZpcnN0TGluZSwgSW5kZW50VGV4dE9yTm90IHNob3VsZEluZGVudFRleHQsIExh
eW91dFVuaXQgYm94TG9naWNhbEhlaWdodCkKK3N0YXRpYyB2b2lkIHVwZGF0ZUxvZ2ljYWxJbmxp
bmVQb3NpdGlvbnMoUmVuZGVyQmxvY2tGbG93JiBibG9jaywgZmxvYXQmIGxpbmVMb2dpY2FsTGVm
dCwgZmxvYXQmIGxpbmVMb2dpY2FsUmlnaHQsIGZsb2F0JiBhdmFpbGFibGVMb2dpY2FsV2lkdGgs
IGJvb2wgZmlyc3RMaW5lLCBJbmRlbnRUZXh0T3JOb3Qgc2hvdWxkSW5kZW50VGV4dCwgTGF5b3V0
VW5pdCBib3hMb2dpY2FsSGVpZ2h0LAorICAgIFJvb3RJbmxpbmVCb3gqIHJvb3RCb3gpCiB7CiAg
ICAgTGF5b3V0VW5pdCBsaW5lTG9naWNhbEhlaWdodCA9IGJsb2NrLm1pbkxpbmVIZWlnaHRGb3JS
ZXBsYWNlZFJlbmRlcmVyKGZpcnN0TGluZSwgYm94TG9naWNhbEhlaWdodCk7Ci0gICAgbGluZUxv
Z2ljYWxMZWZ0ID0gYmxvY2subG9naWNhbExlZnRPZmZzZXRGb3JMaW5lKGJsb2NrLmxvZ2ljYWxI
ZWlnaHQoKSwgc2hvdWxkSW5kZW50VGV4dCA9PSBJbmRlbnRUZXh0LCBsaW5lTG9naWNhbEhlaWdo
dCk7Ci0gICAgbGluZUxvZ2ljYWxSaWdodCA9IGJsb2NrLmxvZ2ljYWxSaWdodE9mZnNldEZvckxp
bmUoYmxvY2subG9naWNhbEhlaWdodCgpLCBzaG91bGRJbmRlbnRUZXh0ID09IEluZGVudFRleHQs
IGxpbmVMb2dpY2FsSGVpZ2h0KTsKKyAgICBpZiAocm9vdEJveC0+aGFzQW5vbnltb3VzSW5saW5l
QmxvY2soKSkgeworICAgICAgICBsaW5lTG9naWNhbExlZnQgPSBibG9jay5sb2dpY2FsTGVmdE9m
ZnNldEZvckNvbnRlbnQoYmxvY2subG9naWNhbEhlaWdodCgpKTsKKyAgICAgICAgbGluZUxvZ2lj
YWxSaWdodCA9IGJsb2NrLmxvZ2ljYWxSaWdodE9mZnNldEZvckNvbnRlbnQoYmxvY2subG9naWNh
bEhlaWdodCgpKTsKKyAgICB9IGVsc2UgeworICAgICAgICBsaW5lTG9naWNhbExlZnQgPSBibG9j
ay5sb2dpY2FsTGVmdE9mZnNldEZvckxpbmUoYmxvY2subG9naWNhbEhlaWdodCgpLCBzaG91bGRJ
bmRlbnRUZXh0ID09IEluZGVudFRleHQsIGxpbmVMb2dpY2FsSGVpZ2h0KTsKKyAgICAgICAgbGlu
ZUxvZ2ljYWxSaWdodCA9IGJsb2NrLmxvZ2ljYWxSaWdodE9mZnNldEZvckxpbmUoYmxvY2subG9n
aWNhbEhlaWdodCgpLCBzaG91bGRJbmRlbnRUZXh0ID09IEluZGVudFRleHQsIGxpbmVMb2dpY2Fs
SGVpZ2h0KTsKKyAgICB9CiAgICAgYXZhaWxhYmxlTG9naWNhbFdpZHRoID0gbGluZUxvZ2ljYWxS
aWdodCAtIGxpbmVMb2dpY2FsTGVmdDsKIH0KIApAQCAtNzA3LDEyICs3MTMsMTIgQEAgdm9pZCBS
ZW5kZXJCbG9ja0Zsb3c6OmNvbXB1dGVJbmxpbmVEaXJlYwogICAgIGZsb2F0IGxpbmVMb2dpY2Fs
TGVmdDsKICAgICBmbG9hdCBsaW5lTG9naWNhbFJpZ2h0OwogICAgIGZsb2F0IGF2YWlsYWJsZUxv
Z2ljYWxXaWR0aDsKLSAgICB1cGRhdGVMb2dpY2FsSW5saW5lUG9zaXRpb25zKCp0aGlzLCBsaW5l
TG9naWNhbExlZnQsIGxpbmVMb2dpY2FsUmlnaHQsIGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCwgaXNG
aXJzdExpbmUsIHNob3VsZEluZGVudFRleHQsIDApOworICAgIHVwZGF0ZUxvZ2ljYWxJbmxpbmVQ
b3NpdGlvbnMoKnRoaXMsIGxpbmVMb2dpY2FsTGVmdCwgbGluZUxvZ2ljYWxSaWdodCwgYXZhaWxh
YmxlTG9naWNhbFdpZHRoLCBpc0ZpcnN0TGluZSwgc2hvdWxkSW5kZW50VGV4dCwgMCwgbGluZUJv
eCk7CiAgICAgYm9vbCBuZWVkc1dvcmRTcGFjaW5nOwogCiAgICAgaWYgKGZpcnN0UnVuICYmIGZp
cnN0UnVuLT5yZW5kZXJlcigpLmlzUmVwbGFjZWQoKSkgewogICAgICAgICBSZW5kZXJCb3gmIHJl
bmRlckJveCA9IGRvd25jYXN0PFJlbmRlckJveD4oZmlyc3RSdW4tPnJlbmRlcmVyKCkpOwotICAg
ICAgICB1cGRhdGVMb2dpY2FsSW5saW5lUG9zaXRpb25zKCp0aGlzLCBsaW5lTG9naWNhbExlZnQs
IGxpbmVMb2dpY2FsUmlnaHQsIGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCwgaXNGaXJzdExpbmUsIHNo
b3VsZEluZGVudFRleHQsIHJlbmRlckJveC5sb2dpY2FsSGVpZ2h0KCkpOworICAgICAgICB1cGRh
dGVMb2dpY2FsSW5saW5lUG9zaXRpb25zKCp0aGlzLCBsaW5lTG9naWNhbExlZnQsIGxpbmVMb2dp
Y2FsUmlnaHQsIGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCwgaXNGaXJzdExpbmUsIHNob3VsZEluZGVu
dFRleHQsIHJlbmRlckJveC5sb2dpY2FsSGVpZ2h0KCksIGxpbmVCb3gpOwogICAgIH0KIAogICAg
IGNvbXB1dGVJbmxpbmVEaXJlY3Rpb25Qb3NpdGlvbnNGb3JTZWdtZW50KGxpbmVCb3gsIGxpbmVJ
bmZvLCB0ZXh0QWxpZ24sIGxpbmVMb2dpY2FsTGVmdCwgYXZhaWxhYmxlTG9naWNhbFdpZHRoLCBm
aXJzdFJ1biwgdHJhaWxpbmdTcGFjZVJ1biwgdGV4dEJveERhdGFNYXAsIHZlcnRpY2FsUG9zaXRp
b25DYWNoZSwgd29yZE1lYXN1cmVtZW50cyk7CkBAIC0xNTI0LDEwICsxNTMwLDEyIEBAIHZvaWQg
UmVuZGVyQmxvY2tGbG93OjpsYXlvdXRMaW5lQm94ZXMoYm8KICAgICAgICAgICAgICAgICBlbHNl
IGlmIChpc0Z1bGxMYXlvdXQgfHwgYm94Lm5lZWRzTGF5b3V0KCkpIHsKICAgICAgICAgICAgICAg
ICAgICAgLy8gUmVwbGFjZWQgZWxlbWVudC4KICAgICAgICAgICAgICAgICAgICAgYm94LmRpcnR5
TGluZUJveGVzKGlzRnVsbExheW91dCk7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChpc0Z1bGxM
YXlvdXQpCi0gICAgICAgICAgICAgICAgICAgICAgICByZXBsYWNlZENoaWxkcmVuLmFwcGVuZCgm
Ym94KTsKLSAgICAgICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICAgICAg
Ym94LmxheW91dElmTmVlZGVkKCk7CisgICAgICAgICAgICAgICAgICAgIGlmICghby5pc0Fub255
bW91c0lubGluZUJsb2NrKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc0Z1bGxM
YXlvdXQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVwbGFjZWRDaGlsZHJlbi5hcHBl
bmQoJmJveCk7CisgICAgICAgICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgYm94LmxheW91dElmTmVlZGVkKCk7CisgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9IGVsc2UgaWYgKG8uaXNUZXh0T3JMaW5l
QnJlYWsoKSB8fCAoaXM8UmVuZGVySW5saW5lPihvKSAmJiAhd2Fsa2VyLmF0RW5kT2ZJbmxpbmUo
KSkpIHsKICAgICAgICAgICAgICAgICBpZiAoaXM8UmVuZGVySW5saW5lPihvKSkKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCShyZXZpc2lvbiAxODIxOTUpCisrKyBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NDMwMiw3ICs0MzAyLDcgQEAgYm9vbCBSZW5kZXJCb3g6OnNocmlua1RvQXZvaWRGbG9hdHMoKSBj
bwogCiBib29sIFJlbmRlckJveDo6Y3JlYXRlc05ld0Zvcm1hdHRpbmdDb250ZXh0KCkgY29uc3QK
IHsKLSAgICByZXR1cm4gaXNJbmxpbmVCbG9ja09ySW5saW5lVGFibGUoKSB8fCBpc0Zsb2F0aW5n
T3JPdXRPZkZsb3dQb3NpdGlvbmVkKCkgfHwgaGFzT3ZlcmZsb3dDbGlwKCkgfHwgaXNGbGV4SXRl
bUluY2x1ZGluZ0RlcHJlY2F0ZWQoKQorICAgIHJldHVybiAoaXNJbmxpbmVCbG9ja09ySW5saW5l
VGFibGUoKSAmJiAhaXNBbm9ueW1vdXNJbmxpbmVCbG9jaygpKSB8fCBpc0Zsb2F0aW5nT3JPdXRP
ZkZsb3dQb3NpdGlvbmVkKCkgfHwgaGFzT3ZlcmZsb3dDbGlwKCkgfHwgaXNGbGV4SXRlbUluY2x1
ZGluZ0RlcHJlY2F0ZWQoKQogICAgICAgICB8fCBpc1RhYmxlQ2VsbCgpIHx8IGlzVGFibGVDYXB0
aW9uKCkgfHwgaXNGaWVsZHNldCgpIHx8IGlzV3JpdGluZ01vZGVSb290KCkgfHwgaXNSb290KCkg
fHwgaXNSZW5kZXJGbG93VGhyZWFkKCkgfHwgaXNSZW5kZXJSZWdpb24oKQogI2lmIEVOQUJMRShD
U1NfR1JJRF9MQVlPVVQpCiAgICAgICAgIHx8IGlzR3JpZEl0ZW0oKQpAQCAtNDMxMiw3ICs0MzEy
LDcgQEAgYm9vbCBSZW5kZXJCb3g6OmNyZWF0ZXNOZXdGb3JtYXR0aW5nQ29udAogCiBib29sIFJl
bmRlckJveDo6YXZvaWRzRmxvYXRzKCkgY29uc3QKIHsKLSAgICByZXR1cm4gaXNSZXBsYWNlZCgp
IHx8IGlzSFIoKSB8fCBpc0xlZ2VuZCgpIHx8IGNyZWF0ZXNOZXdGb3JtYXR0aW5nQ29udGV4dCgp
OworICAgIHJldHVybiAoaXNSZXBsYWNlZCgpICYmICFpc0Fub255bW91c0lubGluZUJsb2NrKCkp
IHx8IGlzSFIoKSB8fCBpc0xlZ2VuZCgpIHx8IGNyZWF0ZXNOZXdGb3JtYXR0aW5nQ29udGV4dCgp
OwogfQogCiB2b2lkIFJlbmRlckJveDo6YWRkVmlzdWFsRWZmZWN0T3ZlcmZsb3coKQpJbmRleDog
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL2xpbmUvQnJlYWtpbmdDb250ZXh0LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL2xpbmUvQnJlYWtpbmdDb250ZXh0LmgJKHJl
dmlzaW9uIDE4MjE4OCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9saW5lL0JyZWFraW5n
Q29udGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC01MDAsNiArNTAwLDkgQEAgaW5saW5lIHZvaWQg
QnJlYWtpbmdDb250ZXh0OjpoYW5kbGVSZXBsYQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICB9CiAgICAgfQorICAgIAorICAgIGlmIChyZXBsYWNlZEJveC5pc0Fub255bW91c0lubGluZUJs
b2NrKCkpCisgICAgICAgIHJlcGxhY2VkQm94LmxheW91dElmTmVlZGVkKCk7CiAKICAgICBpZiAo
bV9pZ25vcmluZ1NwYWNlcykKICAgICAgICAgbV9saW5lTWlkcG9pbnRTdGF0ZS5zdG9wSWdub3Jp
bmdTcGFjZXMoSW5saW5lSXRlcmF0b3IoMCwgbV9jdXJyZW50LnJlbmRlcmVyKCksIDApKTsKSW5k
ZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cJKHJldmlzaW9uIDE4MjIzNCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE1LTA0LTAxICBEYXZpZCBIeWF0dCAgPGh5YXR0
QGFwcGxlLmNvbT4KKworICAgICAgICBbTmV3IEJsb2NrLUluc2lkZS1JbmxpbmUgTW9kZWxdIEZs
b2F0cyBuZWVkIHRvIGJlIGFsbG93ZWQgdG8gaW50cnVkZSBpbnRvIGFub255bW91cyBpbmxpbmUt
YmxvY2tzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTQzMzA3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBmYXN0L2Jsb2NrL2luc2lkZS1pbmxpbmVzL2Jhc2ljLWZsb2F0LWludHJ1c2lvbi1leHBlY3Rl
ZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Jsb2NrL2luc2lkZS1pbmxpbmVzL2Jhc2lj
LWZsb2F0LWludHJ1c2lvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Jsb2NrL2luc2lk
ZS1pbmxpbmVzL25ldy1tb2RlbC9iYXNpYy1mbG9hdC1pbnRydXNpb24tZXhwZWN0ZWQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZmFzdC9ibG9jay9pbnNpZGUtaW5saW5lcy9uZXctbW9kZWwvYmFz
aWMtZmxvYXQtaW50cnVzaW9uLmh0bWw6IEFkZGVkLgorCiAyMDE1LTA0LTAxICBIdW5zZW9wIEpl
b25nICA8aHM4NS5qZW9uZ0BzYW1zdW5nLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIEVGTCBn
YXJkZW5pbmcuIFJlbW92ZSB3YXJuaW5nIG1lc3NhZ2UgaW4gbGF5b3V0VGVzdC4gCkluZGV4OiBM
YXlvdXRUZXN0cy9mYXN0L2Jsb2NrL2luc2lkZS1pbmxpbmVzL2Jhc2ljLWZsb2F0LWludHJ1c2lv
bi1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvYmxvY2svaW5z
aWRlLWlubGluZXMvYmFzaWMtZmxvYXQtaW50cnVzaW9uLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9u
IDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Jsb2NrL2luc2lkZS1pbmxpbmVzL2Jhc2ljLWZsb2F0
LWludHJ1c2lvbi1leHBlY3RlZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTQgQEAK
KzwhZG9jdHlwZSBodG1sPgorPGhlYWQ+Cis8c3R5bGU+CisuYm94IHsgYm9yZGVyOjFweCBzb2xp
ZCBibGFjazsgcGFkZGluZzozcHg7IG1hcmdpbjozcHggfQorLm5vd3JhcCB7IHdoaXRlLXNwYWNl
OiBub3dyYXA7IH0KKy5mbG9hdCB7IGZsb2F0OiBsZWZ0OyB9CisuYm94IGRpdiB7IGhlaWdodDo0
MHB4OyAgfQorLmZsb2F0IHsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgYmFja2dyb3VuZC1j
b2xvcjpjeWFuIH0KKzwvc3R5bGU+Cis8Ym9keT4KKworPGRpdiBjbGFzcz0iZmxvYXQiPjwvZGl2
PgorCis8ZGl2IGNsYXNzPSJib3giPjxkaXY+QXZvaWQgdGhlIGZsb2F0ITwvZGl2PjwvZGl2PgpJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9ibG9jay9pbnNpZGUtaW5saW5lcy9iYXNpYy1mbG9hdC1p
bnRydXNpb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Jsb2NrL2luc2lk
ZS1pbmxpbmVzL2Jhc2ljLWZsb2F0LWludHJ1c2lvbi5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5
b3V0VGVzdHMvZmFzdC9ibG9jay9pbnNpZGUtaW5saW5lcy9iYXNpYy1mbG9hdC1pbnRydXNpb24u
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE0IEBACis8IWRvY3R5cGUgaHRtbD4KKzxo
ZWFkPgorPHN0eWxlPgorLmJveCB7IGJvcmRlcjoxcHggc29saWQgYmxhY2s7IHBhZGRpbmc6M3B4
OyBtYXJnaW46M3B4IH0KKy5ub3dyYXAgeyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9CisuZmxvYXQg
eyBmbG9hdDogbGVmdDsgfQorLmJveCBkaXYgeyBoZWlnaHQ6NDBweDsgIH0KKy5mbG9hdCB7IHdp
ZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IGJhY2tncm91bmQtY29sb3I6Y3lhbiB9Cis8L3N0eWxl
PgorPGJvZHk+CisKKzxkaXYgY2xhc3M9ImZsb2F0Ij48L2Rpdj4KKworPGRpdiBjbGFzcz0iYm94
Ij48YT48ZGl2PkF2b2lkIHRoZSBmbG9hdCE8L2Rpdj48L2E+PC9kaXY+CkluZGV4OiBMYXlvdXRU
ZXN0cy9mYXN0L2Jsb2NrL2luc2lkZS1pbmxpbmVzL25ldy1tb2RlbC9iYXNpYy1mbG9hdC1pbnRy
dXNpb24tZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Jsb2Nr
L2luc2lkZS1pbmxpbmVzL25ldy1tb2RlbC9iYXNpYy1mbG9hdC1pbnRydXNpb24tZXhwZWN0ZWQu
aHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvYmxvY2svaW5zaWRlLWlubGlu
ZXMvbmV3LW1vZGVsL2Jhc2ljLWZsb2F0LWludHJ1c2lvbi1leHBlY3RlZC5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMTQgQEAKKzwhZG9jdHlwZSBodG1sPgorPGhlYWQ+Cis8c3R5bGU+
CisuYm94IHsgYm9yZGVyOjFweCBzb2xpZCBibGFjazsgcGFkZGluZzozcHg7IG1hcmdpbjozcHgg
fQorLm5vd3JhcCB7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH0KKy5mbG9hdCB7IGZsb2F0OiBsZWZ0
OyB9CisuYm94IGRpdiB7IGhlaWdodDo0MHB4OyAgfQorLmZsb2F0IHsgd2lkdGg6MTAwcHg7IGhl
aWdodDoxMDBweDsgYmFja2dyb3VuZC1jb2xvcjpjeWFuIH0KKzwvc3R5bGU+Cis8Ym9keT4KKwor
PGRpdiBjbGFzcz0iZmxvYXQiPjwvZGl2PgorCis8ZGl2IGNsYXNzPSJib3giPjxkaXY+QXZvaWQg
dGhlIGZsb2F0ITwvZGl2PjwvZGl2PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ibG9jay9pbnNp
ZGUtaW5saW5lcy9uZXctbW9kZWwvYmFzaWMtZmxvYXQtaW50cnVzaW9uLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ibG9jay9pbnNpZGUtaW5saW5lcy9uZXctbW9kZWwvYmFz
aWMtZmxvYXQtaW50cnVzaW9uLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0
L2Jsb2NrL2luc2lkZS1pbmxpbmVzL25ldy1tb2RlbC9iYXNpYy1mbG9hdC1pbnRydXNpb24uaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE4IEBACis8IWRvY3R5cGUgaHRtbD4KKzxoZWFk
PgorPHN0eWxlPgorLmJveCB7IGJvcmRlcjoxcHggc29saWQgYmxhY2s7IHBhZGRpbmc6M3B4OyBt
YXJnaW46M3B4IH0KKy5ub3dyYXAgeyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9CisuZmxvYXQgeyBm
bG9hdDogbGVmdDsgfQorLmJveCBkaXYgeyBoZWlnaHQ6NDBweDsgIH0KKy5mbG9hdCB7IHdpZHRo
OjEwMHB4OyBoZWlnaHQ6MTAwcHg7IGJhY2tncm91bmQtY29sb3I6Y3lhbiB9Cis8L3N0eWxlPgor
PHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0
dGluZ3Muc2V0TmV3QmxvY2tJbnNpZGVJbmxpbmVNb2RlbEVuYWJsZWQodHJ1ZSkKKzwvc2NyaXB0
PgorPGJvZHk+CisKKzxkaXYgY2xhc3M9ImZsb2F0Ij48L2Rpdj4KKworPGRpdiBjbGFzcz0iYm94
Ij48YT48ZGl2PkF2b2lkIHRoZSBmbG9hdCE8L2Rpdj48L2E+PC9kaXY+Cg==
</data>
<flag name="review"
          id="274763"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
      

    </bug>

</bugzilla>