<?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>141336</bug_id>
          
          <creation_ts>2015-02-06 13:25:00 -0800</creation_ts>
          <short_desc>Ref-ify various getters that return HTMLCollection.</short_desc>
          <delta_ts>2015-02-06 17:09:03 -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>DOM</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="Andreas Kling">kling</reporter>
          <assigned_to name="Andreas Kling">kling</assigned_to>
          <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1067410</commentid>
    <comment_count>0</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2015-02-06 13:25:00 -0800</bug_when>
    <thetext>We have a lot of getters that return non-null RefPtr&lt;HTMLCollection&gt; that should just return Ref&lt;HTMLCollection&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1067411</commentid>
    <comment_count>1</comment_count>
      <attachid>246177</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2015-02-06 13:25:29 -0800</bug_when>
    <thetext>Created attachment 246177
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1067413</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-02-06 13:27:11 -0800</bug_when>
    <thetext>Attachment 246177 did not pass style-queue:


ERROR: Source/WebCore/html/HTMLTableSectionElement.cpp:63:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 1 in 30 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>1067443</commentid>
    <comment_count>3</comment_count>
      <attachid>246183</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2015-02-06 15:41:43 -0800</bug_when>
    <thetext>Created attachment 246183
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1067470</commentid>
    <comment_count>4</comment_count>
      <attachid>246183</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-02-06 17:08:59 -0800</bug_when>
    <thetext>Comment on attachment 246183
Patch

Clearing flags on attachment: 246183

Committed r179770: &lt;http://trac.webkit.org/changeset/179770&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1067471</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-02-06 17:09:03 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>246177</attachid>
            <date>2015-02-06 13:25:29 -0800</date>
            <delta_ts>2015-02-06 15:41:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-141336.diff</filename>
            <type>text/plain</type>
            <size>26975</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBjYTc1NmUwLi4yZmYyMzhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsODEg
QEAKKzIwMTUtMDItMDYgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgorCisgICAg
ICAgIFJlZi1pZnkgdmFyaW91cyBnZXR0ZXJzIHRoYXQgcmV0dXJuIEhUTUxDb2xsZWN0aW9uLgor
ICAgICAgICA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTQxMzM2PgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2UgYWxsIHRoZSBnZXR0ZXJzIHRoYXQg
cmV0dXJuIEhUTUxDb2xsZWN0aW9uIG9iamVjdHMgKGFuZCBuZXZlciByZXR1cm4gbnVsbHB0cikK
KyAgICAgICAgcmV0dXJuIFJlZiBpbnN0ZWFkIG9mIFJlZlB0ci4KKworICAgICAgICBSZW1vdmVk
IGEgY291cGxlIG9mIHVzZWxlc3MgbnVsbCBjaGVja3MgdGhhdCB3ZXJlIGV4cG9zZWQgYnkgdGhp
cyBjaGFuZ2UuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJP
YmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6
Z2V0RG9jdW1lbnRMaW5rcyk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0
b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6bmFtZWRJdGVtR2V0dGVyKToKKyAgICAgICAgKiBi
aW5kaW5ncy9qcy9KU0hUTUxEb2N1bWVudEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpK
U0hUTUxEb2N1bWVudDo6bmFtZUdldHRlcik6CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjplbnN1cmVDYWNoZWRDb2xsZWN0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjppbWFnZXMpOgorICAgICAgICAoV2ViQ29yZTo6RG9j
dW1lbnQ6OmFwcGxldHMpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmVtYmVkcyk6Cisg
ICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cGx1Z2lucyk6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6c2NyaXB0cyk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6bGlua3MpOgor
ICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmZvcm1zKToKKyAgICAgICAgKFdlYkNvcmU6OkRv
Y3VtZW50OjphbmNob3JzKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjphbGwpOgorICAg
ICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OndpbmRvd05hbWVkSXRlbXMpOgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnQ6OmRvY3VtZW50TmFtZWRJdGVtcyk6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6aWNvblVSTHMpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAq
IGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmVuc3VyZUNhY2hl
ZEhUTUxDb2xsZWN0aW9uKToKKyAgICAgICAgKiBkb20vRWxlbWVudC5oOgorICAgICAgICAqIGh0
bWwvQ29sb3JJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29sb3JJbnB1dFR5cGU6
OnN1Z2dlc3Rpb25zKToKKyAgICAgICAgKiBodG1sL0hUTUxEYXRhTGlzdEVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTERhdGFMaXN0RWxlbWVudDo6b3B0aW9ucyk6CisgICAgICAg
ICogaHRtbC9IVE1MRGF0YUxpc3RFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MRWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRWxlbWVudDo6Y2hpbGRyZW4pOgorICAgICAg
ICAqIGh0bWwvSFRNTEVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxGaWVsZFNldEVsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEZpZWxkU2V0RWxlbWVudDo6ZWxlbWVudHMp
OgorICAgICAgICAqIGh0bWwvSFRNTEZpZWxkU2V0RWxlbWVudC5oOgorICAgICAgICAqIGh0bWwv
SFRNTEZvcm1FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxGb3JtRWxlbWVudDo6
ZWxlbWVudHMpOgorICAgICAgICAqIGh0bWwvSFRNTEZvcm1FbGVtZW50Lmg6CisgICAgICAgICog
aHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVs
ZW1lbnQ6OnNldHVwRGF0ZVRpbWVDaG9vc2VyUGFyYW1ldGVycyk6CisgICAgICAgICogaHRtbC9I
VE1MTWFwRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWFwRWxlbWVudDo6YXJl
YXMpOgorICAgICAgICAqIGh0bWwvSFRNTE1hcEVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hU
TUxTZWxlY3RFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxTZWxlY3RFbGVtZW50
OjpzZWxlY3RlZE9wdGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6
Om9wdGlvbnMpOgorICAgICAgICAqIGh0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaDoKKyAgICAgICAg
KiBodG1sL0hUTUxUYWJsZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRhYmxl
RWxlbWVudDo6cm93cyk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVGFibGVFbGVtZW50Ojp0Qm9k
aWVzKToKKyAgICAgICAgKiBodG1sL0hUTUxUYWJsZUVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1s
L0hUTUxUYWJsZVJvd0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRhYmxlUm93
RWxlbWVudDo6aW5zZXJ0Q2VsbCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVGFibGVSb3dFbGVt
ZW50OjpkZWxldGVDZWxsKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUYWJsZVJvd0VsZW1lbnQ6
OmNlbGxzKToKKyAgICAgICAgKiBodG1sL0hUTUxUYWJsZVJvd0VsZW1lbnQuaDoKKyAgICAgICAg
KiBodG1sL0hUTUxUYWJsZVNlY3Rpb25FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxUYWJsZVNlY3Rpb25FbGVtZW50OjppbnNlcnRSb3cpOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TFRhYmxlU2VjdGlvbkVsZW1lbnQ6OmRlbGV0ZVJvdyk6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
VGFibGVTZWN0aW9uRWxlbWVudDo6cm93cyk6CisgICAgICAgICogaHRtbC9IVE1MVGFibGVTZWN0
aW9uRWxlbWVudC5oOgorICAgICAgICAqIGh0bWwvUmFuZ2VJbnB1dFR5cGUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmFuZ2VJbnB1dFR5cGU6OnVwZGF0ZVRpY2tNYXJrVmFsdWVzKToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
VGhlbWU6OnBhaW50U2xpZGVyVGlja3MpOgorCiAyMDE1LTAyLTA1ICBEaGkgQXVycmFobWFuICA8
ZGlvcmFobWFuQHJvY2t5YmFycy5jb20+CiAKICAgICAgICAgUmVtb3ZlIGR1cGxpY2F0ZSBsb29w
IGFmdGVyIHIxNzk1MzIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCmluZGV4IDZiZDY0ZmMuLjRjZmUxNTEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJl
bmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5UmVuZGVyT2JqZWN0LmNwcApAQCAtMTc0MSw3ICsxNzQxLDcgQEAgQWNjZXNzaWJpbGl0
eU9iamVjdCogQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6YWNjZXNzaWJpbGl0eVBhcmVudEZv
ckltYWdlTWFwKEgKIHZvaWQgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6Z2V0RG9jdW1lbnRM
aW5rcyhBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3ImIHJlc3VsdCkKIHsKICAgICBEb2N1bWVu
dCYgZG9jdW1lbnQgPSBtX3JlbmRlcmVyLT5kb2N1bWVudCgpOwotICAgIFJlZlB0cjxIVE1MQ29s
bGVjdGlvbj4gbGlua3MgPSBkb2N1bWVudC5saW5rcygpOworICAgIFJlZjxIVE1MQ29sbGVjdGlv
bj4gbGlua3MgPSBkb2N1bWVudC5saW5rcygpOwogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IE5v
ZGUqIGN1cnIgPSBsaW5rcy0+aXRlbShpKTsgaSsrKSB7CiAgICAgICAgIFJlbmRlck9iamVjdCog
b2JqID0gY3Vyci0+cmVuZGVyZXIoKTsKICAgICAgICAgaWYgKG9iaikgewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwCmluZGV4IDAyNjA4ZmEu
LjQ4ZjgxODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2lu
ZG93Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRv
d0N1c3RvbS5jcHAKQEAgLTgxLDcgKzgxLDcgQEAgc3RhdGljIEVuY29kZWRKU1ZhbHVlIG5hbWVk
SXRlbUdldHRlcihFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiBzbG90QmFzZSwgRW5jb2QKICAg
ICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKIAogICAgIGlmIChV
TkxJS0VMWShkb3duY2FzdDxIVE1MRG9jdW1lbnQ+KCpkb2N1bWVudCkud2luZG93TmFtZWRJdGVt
Q29udGFpbnNNdWx0aXBsZUVsZW1lbnRzKCphdG9taWNQcm9wZXJ0eU5hbWUpKSkgewotICAgICAg
ICBSZWZQdHI8SFRNTENvbGxlY3Rpb24+IGNvbGxlY3Rpb24gPSBkb2N1bWVudC0+d2luZG93TmFt
ZWRJdGVtcyhhdG9taWNQcm9wZXJ0eU5hbWUpOworICAgICAgICBSZWY8SFRNTENvbGxlY3Rpb24+
IGNvbGxlY3Rpb24gPSBkb2N1bWVudC0+d2luZG93TmFtZWRJdGVtcyhhdG9taWNQcm9wZXJ0eU5h
bWUpOwogICAgICAgICBBU1NFUlQoY29sbGVjdGlvbi0+bGVuZ3RoKCkgPiAxKTsKICAgICAgICAg
cmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0b0pTKGV4ZWMsIHRoaXNPYmotPmdsb2JhbE9iamVjdCgp
LCBXVEY6OmdldFB0cihjb2xsZWN0aW9uKSkpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTERvY3VtZW50Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTSFRNTERvY3VtZW50Q3VzdG9tLmNwcAppbmRleCAwNTkzZDc5Li4z
YWQ5YTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxEb2N1
bWVudEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MRG9j
dW1lbnRDdXN0b20uY3BwCkBAIC05NCw3ICs5NCw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTSFRNTERv
Y3VtZW50OjpuYW1lR2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIHNsb3RCYXNlLCBF
CiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiAKICAgICBp
ZiAoVU5MSUtFTFkoZG9jdW1lbnQuZG9jdW1lbnROYW1lZEl0ZW1Db250YWluc011bHRpcGxlRWxl
bWVudHMoKmF0b21pY1Byb3BlcnR5TmFtZSkpKSB7Ci0gICAgICAgIFJlZlB0cjxIVE1MQ29sbGVj
dGlvbj4gY29sbGVjdGlvbiA9IGRvY3VtZW50LmRvY3VtZW50TmFtZWRJdGVtcyhhdG9taWNQcm9w
ZXJ0eU5hbWUpOworICAgICAgICBSZWY8SFRNTENvbGxlY3Rpb24+IGNvbGxlY3Rpb24gPSBkb2N1
bWVudC5kb2N1bWVudE5hbWVkSXRlbXMoYXRvbWljUHJvcGVydHlOYW1lKTsKICAgICAgICAgQVNT
RVJUKGNvbGxlY3Rpb24tPmxlbmd0aCgpID4gMSk7CiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUodG9KUyhleGVjLCB0aGlzT2JqLT5nbG9iYWxPYmplY3QoKSwgV1RGOjpnZXRQdHIoY29s
bGVjdGlvbikpKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCBmOWFmNjQzLi41
ZDYwNzhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTQ1MzcsNjMgKzQ1MzcsNjMgQEAg
Ym9vbCBEb2N1bWVudDo6aGFzU1ZHUm9vdE5vZGUoKSBjb25zdAogICAgIHJldHVybiBkb2N1bWVu
dEVsZW1lbnQoKSAmJiBkb2N1bWVudEVsZW1lbnQoKS0+aGFzVGFnTmFtZShTVkdOYW1lczo6c3Zn
VGFnKTsKIH0KIAotUmVmUHRyPEhUTUxDb2xsZWN0aW9uPiBEb2N1bWVudDo6ZW5zdXJlQ2FjaGVk
Q29sbGVjdGlvbihDb2xsZWN0aW9uVHlwZSB0eXBlKQorUmVmPEhUTUxDb2xsZWN0aW9uPiBEb2N1
bWVudDo6ZW5zdXJlQ2FjaGVkQ29sbGVjdGlvbihDb2xsZWN0aW9uVHlwZSB0eXBlKQogewogICAg
IHJldHVybiBlbnN1cmVSYXJlRGF0YSgpLmVuc3VyZU5vZGVMaXN0cygpLmFkZENhY2hlZENvbGxl
Y3Rpb248SFRNTENvbGxlY3Rpb24+KCp0aGlzLCB0eXBlKTsKIH0KIAotUmVmUHRyPEhUTUxDb2xs
ZWN0aW9uPiBEb2N1bWVudDo6aW1hZ2VzKCkKK1JlZjxIVE1MQ29sbGVjdGlvbj4gRG9jdW1lbnQ6
OmltYWdlcygpCiB7CiAgICAgcmV0dXJuIGVuc3VyZUNhY2hlZENvbGxlY3Rpb24oRG9jSW1hZ2Vz
KTsKIH0KIAotUmVmUHRyPEhUTUxDb2xsZWN0aW9uPiBEb2N1bWVudDo6YXBwbGV0cygpCitSZWY8
SFRNTENvbGxlY3Rpb24+IERvY3VtZW50OjphcHBsZXRzKCkKIHsKICAgICByZXR1cm4gZW5zdXJl
Q2FjaGVkQ29sbGVjdGlvbihEb2NBcHBsZXRzKTsKIH0KIAotUmVmUHRyPEhUTUxDb2xsZWN0aW9u
PiBEb2N1bWVudDo6ZW1iZWRzKCkKK1JlZjxIVE1MQ29sbGVjdGlvbj4gRG9jdW1lbnQ6OmVtYmVk
cygpCiB7CiAgICAgcmV0dXJuIGVuc3VyZUNhY2hlZENvbGxlY3Rpb24oRG9jRW1iZWRzKTsKIH0K
IAotUmVmUHRyPEhUTUxDb2xsZWN0aW9uPiBEb2N1bWVudDo6cGx1Z2lucygpCitSZWY8SFRNTENv
bGxlY3Rpb24+IERvY3VtZW50OjpwbHVnaW5zKCkKIHsKICAgICAvLyBUaGlzIGlzIGFuIGFsaWFz
IGZvciBlbWJlZHMoKSByZXF1aXJlZCBmb3IgdGhlIEpTIERPTSBiaW5kaW5ncy4KICAgICByZXR1
cm4gZW5zdXJlQ2FjaGVkQ29sbGVjdGlvbihEb2NFbWJlZHMpOwogfQogCi1SZWZQdHI8SFRNTENv
bGxlY3Rpb24+IERvY3VtZW50OjpzY3JpcHRzKCkKK1JlZjxIVE1MQ29sbGVjdGlvbj4gRG9jdW1l
bnQ6OnNjcmlwdHMoKQogewogICAgIHJldHVybiBlbnN1cmVDYWNoZWRDb2xsZWN0aW9uKERvY1Nj
cmlwdHMpOwogfQogCi1SZWZQdHI8SFRNTENvbGxlY3Rpb24+IERvY3VtZW50OjpsaW5rcygpCitS
ZWY8SFRNTENvbGxlY3Rpb24+IERvY3VtZW50OjpsaW5rcygpCiB7CiAgICAgcmV0dXJuIGVuc3Vy
ZUNhY2hlZENvbGxlY3Rpb24oRG9jTGlua3MpOwogfQogCi1SZWZQdHI8SFRNTENvbGxlY3Rpb24+
IERvY3VtZW50Ojpmb3JtcygpCitSZWY8SFRNTENvbGxlY3Rpb24+IERvY3VtZW50Ojpmb3Jtcygp
CiB7CiAgICAgcmV0dXJuIGVuc3VyZUNhY2hlZENvbGxlY3Rpb24oRG9jRm9ybXMpOwogfQogCi1S
ZWZQdHI8SFRNTENvbGxlY3Rpb24+IERvY3VtZW50OjphbmNob3JzKCkKK1JlZjxIVE1MQ29sbGVj
dGlvbj4gRG9jdW1lbnQ6OmFuY2hvcnMoKQogewogICAgIHJldHVybiBlbnN1cmVDYWNoZWRDb2xs
ZWN0aW9uKERvY0FuY2hvcnMpOwogfQogCi1SZWZQdHI8SFRNTENvbGxlY3Rpb24+IERvY3VtZW50
OjphbGwoKQorUmVmPEhUTUxDb2xsZWN0aW9uPiBEb2N1bWVudDo6YWxsKCkKIHsKICAgICByZXR1
cm4gZW5zdXJlUmFyZURhdGEoKS5lbnN1cmVOb2RlTGlzdHMoKS5hZGRDYWNoZWRDb2xsZWN0aW9u
PEhUTUxBbGxDb2xsZWN0aW9uPigqdGhpcywgRG9jQWxsKTsKIH0KIAotUmVmUHRyPEhUTUxDb2xs
ZWN0aW9uPiBEb2N1bWVudDo6d2luZG93TmFtZWRJdGVtcyhjb25zdCBBdG9taWNTdHJpbmcmIG5h
bWUpCitSZWY8SFRNTENvbGxlY3Rpb24+IERvY3VtZW50Ojp3aW5kb3dOYW1lZEl0ZW1zKGNvbnN0
IEF0b21pY1N0cmluZyYgbmFtZSkKIHsKICAgICByZXR1cm4gZW5zdXJlUmFyZURhdGEoKS5lbnN1
cmVOb2RlTGlzdHMoKS5hZGRDYWNoZWRDb2xsZWN0aW9uPFdpbmRvd05hbWVDb2xsZWN0aW9uPigq
dGhpcywgV2luZG93TmFtZWRJdGVtcywgbmFtZSk7CiB9CiAKLVJlZlB0cjxIVE1MQ29sbGVjdGlv
bj4gRG9jdW1lbnQ6OmRvY3VtZW50TmFtZWRJdGVtcyhjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUp
CitSZWY8SFRNTENvbGxlY3Rpb24+IERvY3VtZW50Ojpkb2N1bWVudE5hbWVkSXRlbXMoY29uc3Qg
QXRvbWljU3RyaW5nJiBuYW1lKQogewogICAgIHJldHVybiBlbnN1cmVSYXJlRGF0YSgpLmVuc3Vy
ZU5vZGVMaXN0cygpLmFkZENhY2hlZENvbGxlY3Rpb248RG9jdW1lbnROYW1lQ29sbGVjdGlvbj4o
KnRoaXMsIERvY3VtZW50TmFtZWRJdGVtcywgbmFtZSk7CiB9CkBAIC00NzA0LDEwICs0NzA0LDEw
IEBAIGNvbnN0IFZlY3RvcjxJY29uVVJMPiYgRG9jdW1lbnQ6Omljb25VUkxzKGludCBpY29uVHlw
ZXNNYXNrKQogewogICAgIG1faWNvblVSTHMuY2xlYXIoKTsKIAotICAgIGlmICghaGVhZCgpIHx8
ICEoaGVhZCgpLT5jaGlsZHJlbigpKSkKKyAgICBpZiAoIWhlYWQoKSkKICAgICAgICAgcmV0dXJu
IG1faWNvblVSTHM7CiAKLSAgICBSZWZQdHI8SFRNTENvbGxlY3Rpb24+IGNoaWxkcmVuID0gaGVh
ZCgpLT5jaGlsZHJlbigpOworICAgIFJlZjxIVE1MQ29sbGVjdGlvbj4gY2hpbGRyZW4gPSBoZWFk
KCktPmNoaWxkcmVuKCk7CiAgICAgdW5zaWduZWQgaW50IGxlbmd0aCA9IGNoaWxkcmVuLT5sZW5n
dGgoKTsKICAgICBmb3IgKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7CiAg
ICAgICAgIE5vZGUqIGNoaWxkID0gY2hpbGRyZW4tPml0ZW0oaSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5o
CmluZGV4IDhjNThmMmIuLmNkNzA1NmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC01MDYsMTgg
KzUwNiwxOCBAQCBwdWJsaWM6CiAKICAgICBSZWZQdHI8Tm9kZT4gYWRvcHROb2RlKFBhc3NSZWZQ
dHI8Tm9kZT4gc291cmNlLCBFeGNlcHRpb25Db2RlJik7CiAKLSAgICBSZWZQdHI8SFRNTENvbGxl
Y3Rpb24+IGltYWdlcygpOwotICAgIFJlZlB0cjxIVE1MQ29sbGVjdGlvbj4gZW1iZWRzKCk7Ci0g
ICAgUmVmUHRyPEhUTUxDb2xsZWN0aW9uPiBwbHVnaW5zKCk7IC8vIGFuIGFsaWFzIGZvciBlbWJl
ZHMoKSByZXF1aXJlZCBmb3IgdGhlIEpTIERPTSBiaW5kaW5ncy4KLSAgICBSZWZQdHI8SFRNTENv
bGxlY3Rpb24+IGFwcGxldHMoKTsKLSAgICBSZWZQdHI8SFRNTENvbGxlY3Rpb24+IGxpbmtzKCk7
Ci0gICAgUmVmUHRyPEhUTUxDb2xsZWN0aW9uPiBmb3JtcygpOwotICAgIFJlZlB0cjxIVE1MQ29s
bGVjdGlvbj4gYW5jaG9ycygpOwotICAgIFJlZlB0cjxIVE1MQ29sbGVjdGlvbj4gc2NyaXB0cygp
OwotICAgIFJlZlB0cjxIVE1MQ29sbGVjdGlvbj4gYWxsKCk7Ci0KLSAgICBSZWZQdHI8SFRNTENv
bGxlY3Rpb24+IHdpbmRvd05hbWVkSXRlbXMoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lKTsKLSAg
ICBSZWZQdHI8SFRNTENvbGxlY3Rpb24+IGRvY3VtZW50TmFtZWRJdGVtcyhjb25zdCBBdG9taWNT
dHJpbmcmIG5hbWUpOworICAgIFJlZjxIVE1MQ29sbGVjdGlvbj4gaW1hZ2VzKCk7CisgICAgUmVm
PEhUTUxDb2xsZWN0aW9uPiBlbWJlZHMoKTsKKyAgICBSZWY8SFRNTENvbGxlY3Rpb24+IHBsdWdp
bnMoKTsgLy8gYW4gYWxpYXMgZm9yIGVtYmVkcygpIHJlcXVpcmVkIGZvciB0aGUgSlMgRE9NIGJp
bmRpbmdzLgorICAgIFJlZjxIVE1MQ29sbGVjdGlvbj4gYXBwbGV0cygpOworICAgIFJlZjxIVE1M
Q29sbGVjdGlvbj4gbGlua3MoKTsKKyAgICBSZWY8SFRNTENvbGxlY3Rpb24+IGZvcm1zKCk7Cisg
ICAgUmVmPEhUTUxDb2xsZWN0aW9uPiBhbmNob3JzKCk7CisgICAgUmVmPEhUTUxDb2xsZWN0aW9u
PiBzY3JpcHRzKCk7CisgICAgUmVmPEhUTUxDb2xsZWN0aW9uPiBhbGwoKTsKKworICAgIFJlZjxI
VE1MQ29sbGVjdGlvbj4gd2luZG93TmFtZWRJdGVtcyhjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUp
OworICAgIFJlZjxIVE1MQ29sbGVjdGlvbj4gZG9jdW1lbnROYW1lZEl0ZW1zKGNvbnN0IEF0b21p
Y1N0cmluZyYgbmFtZSk7CiAKICAgICAvLyBPdGhlciBtZXRob2RzIChub3QgcGFydCBvZiBET00p
CiAgICAgYm9vbCBpc1N5bnRoZXNpemVkKCkgY29uc3QgeyByZXR1cm4gbV9pc1N5bnRoZXNpemVk
OyB9CkBAIC0xMzUxLDcgKzEzNTEsNyBAQCBwcml2YXRlOgogCiAgICAgTm9kZSogbm9kZUZyb21Q
b2ludChjb25zdCBMYXlvdXRQb2ludCYgY2xpZW50UG9pbnQsIExheW91dFBvaW50KiBsb2NhbFBv
aW50ID0gbnVsbHB0cik7CiAKLSAgICBSZWZQdHI8SFRNTENvbGxlY3Rpb24+IGVuc3VyZUNhY2hl
ZENvbGxlY3Rpb24oQ29sbGVjdGlvblR5cGUpOworICAgIFJlZjxIVE1MQ29sbGVjdGlvbj4gZW5z
dXJlQ2FjaGVkQ29sbGVjdGlvbihDb2xsZWN0aW9uVHlwZSk7CiAKICNpZiBFTkFCTEUoRlVMTFND
UkVFTl9BUEkpCiAgICAgdm9pZCBkaXNwYXRjaEZ1bGxTY3JlZW5DaGFuZ2VPckVycm9yRXZlbnQo
RGVxdWU8UmVmUHRyPE5vZGU+PiYsIGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnROYW1lLCBib29s
IHNob3VsZE5vdGlmeU1lZGlhRWxlbWVudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXggOWQ4
MTViYy4uM2MwZGJkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtMjkwMSwxMCArMjkwMSwx
MCBAQCB2b2lkIEVsZW1lbnQ6OmRpZFJlbW92ZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1l
JiBuYW1lLCBjb25zdCBBdG9taWNTdHJpbmcmCiAgICAgZGlzcGF0Y2hTdWJ0cmVlTW9kaWZpZWRF
dmVudCgpOwogfQogCi1SZWZQdHI8SFRNTENvbGxlY3Rpb24+IEVsZW1lbnQ6OmVuc3VyZUNhY2hl
ZEhUTUxDb2xsZWN0aW9uKENvbGxlY3Rpb25UeXBlIHR5cGUpCitSZWY8SFRNTENvbGxlY3Rpb24+
IEVsZW1lbnQ6OmVuc3VyZUNhY2hlZEhUTUxDb2xsZWN0aW9uKENvbGxlY3Rpb25UeXBlIHR5cGUp
CiB7CiAgICAgaWYgKEhUTUxDb2xsZWN0aW9uKiBjb2xsZWN0aW9uID0gY2FjaGVkSFRNTENvbGxl
Y3Rpb24odHlwZSkpCi0gICAgICAgIHJldHVybiBjb2xsZWN0aW9uOworICAgICAgICByZXR1cm4g
KmNvbGxlY3Rpb247CiAKICAgICBpZiAodHlwZSA9PSBUYWJsZVJvd3MpIHsKICAgICAgICAgcmV0
dXJuIGVuc3VyZVJhcmVEYXRhKCkuZW5zdXJlTm9kZUxpc3RzKCkuYWRkQ2FjaGVkQ29sbGVjdGlv
bjxIVE1MVGFibGVSb3dzQ29sbGVjdGlvbj4oZG93bmNhc3Q8SFRNTFRhYmxlRWxlbWVudD4oKnRo
aXMpLCB0eXBlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCmluZGV4IGNmNDdmYzguLmY5MTE1YmZkNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudC5oCkBAIC01NzAsNyArNTcwLDcgQEAgcHJvdGVjdGVkOgogICAgIHZvaWQg
Y2xlYXJUYWJJbmRleEV4cGxpY2l0bHlJZk5lZWRlZCgpOwogICAgIHZvaWQgc2V0VGFiSW5kZXhF
eHBsaWNpdGx5KHNob3J0KTsKIAotICAgIFJlZlB0cjxIVE1MQ29sbGVjdGlvbj4gZW5zdXJlQ2Fj
aGVkSFRNTENvbGxlY3Rpb24oQ29sbGVjdGlvblR5cGUpOworICAgIFJlZjxIVE1MQ29sbGVjdGlv
bj4gZW5zdXJlQ2FjaGVkSFRNTENvbGxlY3Rpb24oQ29sbGVjdGlvblR5cGUpOwogICAgIEhUTUxD
b2xsZWN0aW9uKiBjYWNoZWRIVE1MQ29sbGVjdGlvbihDb2xsZWN0aW9uVHlwZSk7CiAKICAgICAv
LyBjbGFzc0F0dHJpYnV0ZUNoYW5nZWQoKSBleGlzdHMgdG8gc2hhcmUgY29kZSBiZXR3ZWVuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0NvbG9ySW5wdXRUeXBlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvQ29sb3JJbnB1dFR5cGUuY3BwCmluZGV4IDEyZWE5YTEuLjhiYmRiOTcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQ29sb3JJbnB1dFR5cGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvQ29sb3JJbnB1dFR5cGUuY3BwCkBAIC0yMjksNyArMjI5LDcg
QEAgVmVjdG9yPENvbG9yPiBDb2xvcklucHV0VHlwZTo6c3VnZ2VzdGlvbnMoKSBjb25zdAogI2lm
IEVOQUJMRShEQVRBTElTVF9FTEVNRU5UKQogICAgIEhUTUxEYXRhTGlzdEVsZW1lbnQqIGRhdGFM
aXN0ID0gZWxlbWVudCgpLmRhdGFMaXN0KCk7CiAgICAgaWYgKGRhdGFMaXN0KSB7Ci0gICAgICAg
IFJlZlB0cjxIVE1MQ29sbGVjdGlvbj4gb3B0aW9ucyA9IGRhdGFMaXN0LT5vcHRpb25zKCk7Cisg
ICAgICAgIFJlZjxIVE1MQ29sbGVjdGlvbj4gb3B0aW9ucyA9IGRhdGFMaXN0LT5vcHRpb25zKCk7
CiAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IEhUTUxPcHRpb25FbGVtZW50KiBvcHRpb24g
PSBkb3duY2FzdDxIVE1MT3B0aW9uRWxlbWVudD4ob3B0aW9ucy0+aXRlbShpKSk7ICsraSkgewog
ICAgICAgICAgICAgaWYgKCFlbGVtZW50KCkuaXNWYWxpZFZhbHVlKG9wdGlvbi0+dmFsdWUoKSkp
CiAgICAgICAgICAgICAgICAgY29udGludWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxEYXRhTGlzdEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGF0
YUxpc3RFbGVtZW50LmNwcAppbmRleCAzNTI1NzI2Li5mZTVlNzZmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxEYXRhTGlzdEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTERhdGFMaXN0RWxlbWVudC5jcHAKQEAgLTQ4LDcgKzQ4LDcgQEAgUmVmPEhU
TUxEYXRhTGlzdEVsZW1lbnQ+IEhUTUxEYXRhTGlzdEVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFs
aWZpZWROYW1lJiB0YWdOYW0KICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBIVE1MRGF0YUxpc3RF
bGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KSk7CiB9CiAKLVJlZlB0cjxIVE1MQ29sbGVjdGlvbj4g
SFRNTERhdGFMaXN0RWxlbWVudDo6b3B0aW9ucygpCitSZWY8SFRNTENvbGxlY3Rpb24+IEhUTUxE
YXRhTGlzdEVsZW1lbnQ6Om9wdGlvbnMoKQogewogICAgIHJldHVybiBlbnN1cmVDYWNoZWRIVE1M
Q29sbGVjdGlvbihEYXRhTGlzdE9wdGlvbnMpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MRGF0YUxpc3RFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxE
YXRhTGlzdEVsZW1lbnQuaAppbmRleCA2MWJmYmExLi4xZDc3MjQzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxEYXRhTGlzdEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxEYXRhTGlzdEVsZW1lbnQuaApAQCAtNDIsNyArNDIsNyBAQCBjbGFzcyBIVE1M
RGF0YUxpc3RFbGVtZW50IGZpbmFsIDogcHVibGljIEhUTUxFbGVtZW50IHsKIHB1YmxpYzoKICAg
ICBzdGF0aWMgUmVmPEhUTUxEYXRhTGlzdEVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWRO
YW1lJiwgRG9jdW1lbnQmKTsKIAotICAgIFJlZlB0cjxIVE1MQ29sbGVjdGlvbj4gb3B0aW9ucygp
OworICAgIFJlZjxIVE1MQ29sbGVjdGlvbj4gb3B0aW9ucygpOwogCiAgICAgdm9pZCBvcHRpb25F
bGVtZW50Q2hpbGRyZW5DaGFuZ2VkKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAK
aW5kZXggYWVjMzZmOC4uNTg1NGJjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAK
QEAgLTgwNiw3ICs4MDYsNyBAQCB2b2lkIEhUTUxFbGVtZW50OjpzZXRUcmFuc2xhdGUoYm9vbCBl
bmFibGUpCiAgICAgc2V0QXR0cmlidXRlKHRyYW5zbGF0ZUF0dHIsIGVuYWJsZSA/ICJ5ZXMiIDog
Im5vIik7CiB9CiAKLVJlZlB0cjxIVE1MQ29sbGVjdGlvbj4gSFRNTEVsZW1lbnQ6OmNoaWxkcmVu
KCkKK1JlZjxIVE1MQ29sbGVjdGlvbj4gSFRNTEVsZW1lbnQ6OmNoaWxkcmVuKCkKIHsKICAgICBy
ZXR1cm4gZW5zdXJlQ2FjaGVkSFRNTENvbGxlY3Rpb24oTm9kZUNoaWxkcmVuKTsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEVsZW1lbnQuaAppbmRleCBjZGVhZTdhLi4yMGRkM2MxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MRWxlbWVudC5oCkBAIC00Miw3ICs0Miw3IEBAIGNsYXNzIEhUTUxFbGVtZW50IDogcHVi
bGljIFN0eWxlZEVsZW1lbnQgewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8SFRNTEVsZW1lbnQ+
IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCYpOwogCi0gICAg
UmVmUHRyPEhUTUxDb2xsZWN0aW9uPiBjaGlsZHJlbigpOworICAgIFJlZjxIVE1MQ29sbGVjdGlv
bj4gY2hpbGRyZW4oKTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgU3RyaW5nIHRpdGxl
KCkgY29uc3Qgb3ZlcnJpZGUgZmluYWw7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEZpZWxkU2V0RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGaWVs
ZFNldEVsZW1lbnQuY3BwCmluZGV4IDk0NDE3MjAuLmExMzNhNTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEZpZWxkU2V0RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MRmllbGRTZXRFbGVtZW50LmNwcApAQCAtMTU5LDcgKzE1OSw3IEBAIEhUTUxM
ZWdlbmRFbGVtZW50KiBIVE1MRmllbGRTZXRFbGVtZW50OjpsZWdlbmQoKSBjb25zdAogICAgIHJl
dHVybiBjb25zdF9jYXN0PEhUTUxMZWdlbmRFbGVtZW50Kj4oY2hpbGRyZW5PZlR5cGU8SFRNTExl
Z2VuZEVsZW1lbnQ+KCp0aGlzKS5maXJzdCgpKTsKIH0KIAotUmVmUHRyPEhUTUxDb2xsZWN0aW9u
PiBIVE1MRmllbGRTZXRFbGVtZW50OjplbGVtZW50cygpCitSZWY8SFRNTENvbGxlY3Rpb24+IEhU
TUxGaWVsZFNldEVsZW1lbnQ6OmVsZW1lbnRzKCkKIHsKICAgICByZXR1cm4gZW5zdXJlQ2FjaGVk
SFRNTENvbGxlY3Rpb24oRm9ybUNvbnRyb2xzKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEZpZWxkU2V0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
RmllbGRTZXRFbGVtZW50LmgKaW5kZXggZTkyZTQ0YS4uNmJjNmUxYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MRmllbGRTZXRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MRmllbGRTZXRFbGVtZW50LmgKQEAgLTM3LDcgKzM3LDcgQEAgcHVibGljOgog
ICAgIHN0YXRpYyBSZWY8SFRNTEZpZWxkU2V0RWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmll
ZE5hbWUmLCBEb2N1bWVudCYsIEhUTUxGb3JtRWxlbWVudCopOwogCiAgICAgSFRNTExlZ2VuZEVs
ZW1lbnQqIGxlZ2VuZCgpIGNvbnN0OwotICAgIFJlZlB0cjxIVE1MQ29sbGVjdGlvbj4gZWxlbWVu
dHMoKTsKKyAgICBSZWY8SFRNTENvbGxlY3Rpb24+IGVsZW1lbnRzKCk7CiAKICAgICBjb25zdCBW
ZWN0b3I8Rm9ybUFzc29jaWF0ZWRFbGVtZW50Kj4mIGFzc29jaWF0ZWRFbGVtZW50cygpIGNvbnN0
OwogICAgIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9y
bUVsZW1lbnQuY3BwCmluZGV4IDgyZmYxMWEuLjBhZGUzZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxGb3JtRWxlbWVudC5jcHAKQEAgLTY0NCw3ICs2NDQsNyBAQCB2b2lkIEhUTUxGb3JtRWxl
bWVudDo6cmVtb3ZlSW1nRWxlbWVudChIVE1MSW1hZ2VFbGVtZW50KiBlKQogICAgIEFTU0VSVF9V
TlVTRUQocmVtb3ZlZCwgcmVtb3ZlZCk7CiB9CiAKLVJlZlB0cjxIVE1MQ29sbGVjdGlvbj4gSFRN
TEZvcm1FbGVtZW50OjplbGVtZW50cygpCitSZWY8SFRNTENvbGxlY3Rpb24+IEhUTUxGb3JtRWxl
bWVudDo6ZWxlbWVudHMoKQogewogICAgIHJldHVybiBlbnN1cmVDYWNoZWRIVE1MQ29sbGVjdGlv
bihGb3JtQ29udHJvbHMpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
Rm9ybUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmgKaW5k
ZXggMjE3NTA1ZS4uNzEyNWVlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
Rm9ybUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5o
CkBAIC01MCw3ICs1MCw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPEhUTUxGb3JtRWxlbWVu
dD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogICAgIHZpcnR1YWwg
fkhUTUxGb3JtRWxlbWVudCgpOwogCi0gICAgUmVmUHRyPEhUTUxDb2xsZWN0aW9uPiBlbGVtZW50
cygpOworICAgIFJlZjxIVE1MQ29sbGVjdGlvbj4gZWxlbWVudHMoKTsKICAgICBib29sIGhhc05h
bWVkRWxlbWVudChjb25zdCBBdG9taWNTdHJpbmcmKTsKICAgICBWZWN0b3I8UmVmPEVsZW1lbnQ+
PiBuYW1lZEVsZW1lbnRzKGNvbnN0IEF0b21pY1N0cmluZyYpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MSW5wdXRFbGVtZW50LmNwcAppbmRleCA3ZTBlNjRkLi5jMzc4ZjRhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKQEAgLTE4ODcsNyArMTg4Nyw3IEBAIGJv
b2wgSFRNTElucHV0RWxlbWVudDo6c2V0dXBEYXRlVGltZUNob29zZXJQYXJhbWV0ZXJzKERhdGVU
aW1lQ2hvb3NlclBhcmFtZXRlcnMmCiAgICAgcGFyYW1ldGVycy5pc0FuY2hvckVsZW1lbnRSVEwg
PSBjb21wdXRlZFN0eWxlKCktPmRpcmVjdGlvbigpID09IFJUTDsKICNpZiBFTkFCTEUoREFUQUxJ
U1RfRUxFTUVOVCkKICAgICBpZiAoSFRNTERhdGFMaXN0RWxlbWVudCogZGF0YUxpc3QgPSB0aGlz
LT5kYXRhTGlzdCgpKSB7Ci0gICAgICAgIFJlZlB0cjxIVE1MQ29sbGVjdGlvbj4gb3B0aW9ucyA9
IGRhdGFMaXN0LT5vcHRpb25zKCk7CisgICAgICAgIFJlZjxIVE1MQ29sbGVjdGlvbj4gb3B0aW9u
cyA9IGRhdGFMaXN0LT5vcHRpb25zKCk7CiAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IEhU
TUxPcHRpb25FbGVtZW50KiBvcHRpb24gPSBkb3duY2FzdDxIVE1MT3B0aW9uRWxlbWVudD4ob3B0
aW9ucy0+aXRlbShpKSk7ICsraSkgewogICAgICAgICAgICAgaWYgKCFpc1ZhbGlkVmFsdWUob3B0
aW9uLT52YWx1ZSgpKSkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1hcEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWFwRWxlbWVudC5jcHAKaW5kZXggZTkxOTM1NS4uYTNjOWMzMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWFwRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MTWFwRWxlbWVudC5jcHAKQEAgLTExMCw3ICsxMTAsNyBAQCB2b2lkIEhUTUxN
YXBFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25z
dCBBdG9taWNTdHJpbgogICAgIEhUTUxFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShuYW1lLCB2YWx1
ZSk7CiB9CiAKLVJlZlB0cjxIVE1MQ29sbGVjdGlvbj4gSFRNTE1hcEVsZW1lbnQ6OmFyZWFzKCkK
K1JlZjxIVE1MQ29sbGVjdGlvbj4gSFRNTE1hcEVsZW1lbnQ6OmFyZWFzKCkKIHsKICAgICByZXR1
cm4gZW5zdXJlQ2FjaGVkSFRNTENvbGxlY3Rpb24oTWFwQXJlYXMpOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWFwRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWFwRWxlbWVudC5oCmluZGV4IDEyNjE0YTEuLjdkNzc0MDggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1hcEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxNYXBFbGVtZW50LmgKQEAgLTQxLDcgKzQxLDcgQEAgcHVibGljOgogICAgIGJvb2wg
bWFwTW91c2VFdmVudChMYXlvdXRQb2ludCBsb2NhdGlvbiwgY29uc3QgTGF5b3V0U2l6ZSYsIEhp
dFRlc3RSZXN1bHQmKTsKICAgICAKICAgICBIVE1MSW1hZ2VFbGVtZW50KiBpbWFnZUVsZW1lbnQo
KTsKLSAgICBSZWZQdHI8SFRNTENvbGxlY3Rpb24+IGFyZWFzKCk7CisgICAgUmVmPEhUTUxDb2xs
ZWN0aW9uPiBhcmVhcygpOwogCiBwcml2YXRlOgogICAgIEhUTUxNYXBFbGVtZW50KGNvbnN0IFF1
YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MU2VsZWN0RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RF
bGVtZW50LmNwcAppbmRleCBkMWVjOTY3Li5kNTk2MGYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxTZWxlY3RFbGVtZW50LmNwcApAQCAtMzczLDEyICszNzMsMTIgQEAgYm9vbCBIVE1MU2Vs
ZWN0RWxlbWVudDo6Y2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihjb25zdCBOb2RlJiBjaGlsZCkg
Y29uc3QKICAgICByZXR1cm4gdmFsaWRhdGlvbk1lc3NhZ2VTaGFkb3dUcmVlQ29udGFpbnMoY2hp
bGQpOwogfQogCi1SZWZQdHI8SFRNTENvbGxlY3Rpb24+IEhUTUxTZWxlY3RFbGVtZW50OjpzZWxl
Y3RlZE9wdGlvbnMoKQorUmVmPEhUTUxDb2xsZWN0aW9uPiBIVE1MU2VsZWN0RWxlbWVudDo6c2Vs
ZWN0ZWRPcHRpb25zKCkKIHsKICAgICByZXR1cm4gZW5zdXJlQ2FjaGVkSFRNTENvbGxlY3Rpb24o
U2VsZWN0ZWRPcHRpb25zKTsKIH0KIAotUmVmUHRyPEhUTUxPcHRpb25zQ29sbGVjdGlvbj4gSFRN
TFNlbGVjdEVsZW1lbnQ6Om9wdGlvbnMoKQorUmVmPEhUTUxPcHRpb25zQ29sbGVjdGlvbj4gSFRN
TFNlbGVjdEVsZW1lbnQ6Om9wdGlvbnMoKQogewogICAgIHJldHVybiBkb3duY2FzdDxIVE1MT3B0
aW9uc0NvbGxlY3Rpb24+KGVuc3VyZUNhY2hlZEhUTUxDb2xsZWN0aW9uKFNlbGVjdE9wdGlvbnMp
LmdldCgpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaAppbmRleCAx
YWUyMTJiLi44ODdhMDZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxl
Y3RFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5o
CkBAIC02Nyw4ICs2Nyw4IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgdmFs
dWUoKSBjb25zdDsKICAgICB2b2lkIHNldFZhbHVlKGNvbnN0IFN0cmluZyYpOwogCi0gICAgUmVm
UHRyPEhUTUxPcHRpb25zQ29sbGVjdGlvbj4gb3B0aW9ucygpOwotICAgIFJlZlB0cjxIVE1MQ29s
bGVjdGlvbj4gc2VsZWN0ZWRPcHRpb25zKCk7CisgICAgUmVmPEhUTUxPcHRpb25zQ29sbGVjdGlv
bj4gb3B0aW9ucygpOworICAgIFJlZjxIVE1MQ29sbGVjdGlvbj4gc2VsZWN0ZWRPcHRpb25zKCk7
CiAKICAgICB2b2lkIG9wdGlvbkVsZW1lbnRDaGlsZHJlbkNoYW5nZWQoKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFibGVFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFRhYmxlRWxlbWVudC5jcHAKaW5kZXggZGMwOTA3My4uNDUxYTk2YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFibGVFbGVtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUYWJsZUVsZW1lbnQuY3BwCkBAIC01NTAsMTIgKzU1MCwx
MiBAQCBib29sIEhUTUxUYWJsZUVsZW1lbnQ6OmlzVVJMQXR0cmlidXRlKGNvbnN0IEF0dHJpYnV0
ZSYgYXR0cmlidXRlKSBjb25zdAogICAgIHJldHVybiBhdHRyaWJ1dGUubmFtZSgpID09IGJhY2tn
cm91bmRBdHRyIHx8IEhUTUxFbGVtZW50Ojppc1VSTEF0dHJpYnV0ZShhdHRyaWJ1dGUpOwogfQog
Ci1SZWZQdHI8SFRNTENvbGxlY3Rpb24+IEhUTUxUYWJsZUVsZW1lbnQ6OnJvd3MoKQorUmVmPEhU
TUxDb2xsZWN0aW9uPiBIVE1MVGFibGVFbGVtZW50Ojpyb3dzKCkKIHsKICAgICByZXR1cm4gZW5z
dXJlQ2FjaGVkSFRNTENvbGxlY3Rpb24oVGFibGVSb3dzKTsKIH0KIAotUmVmUHRyPEhUTUxDb2xs
ZWN0aW9uPiBIVE1MVGFibGVFbGVtZW50Ojp0Qm9kaWVzKCkKK1JlZjxIVE1MQ29sbGVjdGlvbj4g
SFRNTFRhYmxlRWxlbWVudDo6dEJvZGllcygpCiB7CiAgICAgcmV0dXJuIGVuc3VyZUNhY2hlZEhU
TUxDb2xsZWN0aW9uKFRhYmxlVEJvZGllcyk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxUYWJsZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxl
RWxlbWVudC5oCmluZGV4IGM4N2I0NjYuLmNmNWY0YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFRhYmxlRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFRhYmxlRWxlbWVudC5oCkBAIC02MCw4ICs2MCw4IEBAIHB1YmxpYzoKICAgICBSZWZQdHI8SFRN
TEVsZW1lbnQ+IGluc2VydFJvdyhpbnQgaW5kZXgsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lk
IGRlbGV0ZVJvdyhpbnQgaW5kZXgsIEV4Y2VwdGlvbkNvZGUmKTsKIAotICAgIFJlZlB0cjxIVE1M
Q29sbGVjdGlvbj4gcm93cygpOwotICAgIFJlZlB0cjxIVE1MQ29sbGVjdGlvbj4gdEJvZGllcygp
OworICAgIFJlZjxIVE1MQ29sbGVjdGlvbj4gcm93cygpOworICAgIFJlZjxIVE1MQ29sbGVjdGlv
bj4gdEJvZGllcygpOwogCiAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBydWxlcygpIGNvbnN0Owog
ICAgIGNvbnN0IEF0b21pY1N0cmluZyYgc3VtbWFyeSgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFibGVSb3dFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFRhYmxlUm93RWxlbWVudC5jcHAKaW5kZXggODQxN2ExYy4uZDQzNTFlYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFibGVSb3dFbGVtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUYWJsZVJvd0VsZW1lbnQuY3BwCkBAIC0xMjAsOCAr
MTIwLDggQEAgaW50IEhUTUxUYWJsZVJvd0VsZW1lbnQ6OnNlY3Rpb25Sb3dJbmRleCgpIGNvbnN0
CiAKIFJlZlB0cjxIVE1MRWxlbWVudD4gSFRNTFRhYmxlUm93RWxlbWVudDo6aW5zZXJ0Q2VsbChp
bnQgaW5kZXgsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewotICAgIFJlZlB0cjxIVE1MQ29sbGVjdGlv
bj4gY2hpbGRyZW4gPSBjZWxscygpOwotICAgIGludCBudW1DZWxscyA9IGNoaWxkcmVuID8gY2hp
bGRyZW4tPmxlbmd0aCgpIDogMDsKKyAgICBSZWY8SFRNTENvbGxlY3Rpb24+IGNoaWxkcmVuID0g
Y2VsbHMoKTsKKyAgICBpbnQgbnVtQ2VsbHMgPSBjaGlsZHJlbi0+bGVuZ3RoKCk7CiAgICAgaWYg
KGluZGV4IDwgLTEgfHwgaW5kZXggPiBudW1DZWxscykgewogICAgICAgICBlYyA9IElOREVYX1NJ
WkVfRVJSOwogICAgICAgICByZXR1cm4gMDsKQEAgLTE0Myw4ICsxNDMsOCBAQCBSZWZQdHI8SFRN
TEVsZW1lbnQ+IEhUTUxUYWJsZVJvd0VsZW1lbnQ6Omluc2VydENlbGwoaW50IGluZGV4LCBFeGNl
cHRpb25Db2RlJiBlYwogCiB2b2lkIEhUTUxUYWJsZVJvd0VsZW1lbnQ6OmRlbGV0ZUNlbGwoaW50
IGluZGV4LCBFeGNlcHRpb25Db2RlJiBlYykKIHsKLSAgICBSZWZQdHI8SFRNTENvbGxlY3Rpb24+
IGNoaWxkcmVuID0gY2VsbHMoKTsKLSAgICBpbnQgbnVtQ2VsbHMgPSBjaGlsZHJlbiA/IGNoaWxk
cmVuLT5sZW5ndGgoKSA6IDA7CisgICAgUmVmPEhUTUxDb2xsZWN0aW9uPiBjaGlsZHJlbiA9IGNl
bGxzKCk7CisgICAgaW50IG51bUNlbGxzID0gY2hpbGRyZW4tPmxlbmd0aCgpOwogICAgIGlmIChp
bmRleCA9PSAtMSkKICAgICAgICAgaW5kZXggPSBudW1DZWxscy0xOwogICAgIGlmIChpbmRleCA+
PSAwICYmIGluZGV4IDwgbnVtQ2VsbHMpIHsKQEAgLTE1NCw3ICsxNTQsNyBAQCB2b2lkIEhUTUxU
YWJsZVJvd0VsZW1lbnQ6OmRlbGV0ZUNlbGwoaW50IGluZGV4LCBFeGNlcHRpb25Db2RlJiBlYykK
ICAgICAgICAgZWMgPSBJTkRFWF9TSVpFX0VSUjsKIH0KIAotUmVmUHRyPEhUTUxDb2xsZWN0aW9u
PiBIVE1MVGFibGVSb3dFbGVtZW50OjpjZWxscygpCitSZWY8SFRNTENvbGxlY3Rpb24+IEhUTUxU
YWJsZVJvd0VsZW1lbnQ6OmNlbGxzKCkKIHsKICAgICByZXR1cm4gZW5zdXJlQ2FjaGVkSFRNTENv
bGxlY3Rpb24oVFJDZWxscyk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxUYWJsZVJvd0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlUm93RWxl
bWVudC5oCmluZGV4IDMxNzA3MzguLmM5OTdhZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFRhYmxlUm93RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFRhYmxlUm93RWxlbWVudC5oCkBAIC00NSw3ICs0NSw3IEBAIHB1YmxpYzoKICAgICBSZWZQdHI8
SFRNTEVsZW1lbnQ+IGluc2VydENlbGwoaW50IGluZGV4LCBFeGNlcHRpb25Db2RlJik7CiAgICAg
dm9pZCBkZWxldGVDZWxsKGludCBpbmRleCwgRXhjZXB0aW9uQ29kZSYpOwogCi0gICAgUmVmUHRy
PEhUTUxDb2xsZWN0aW9uPiBjZWxscygpOworICAgIFJlZjxIVE1MQ29sbGVjdGlvbj4gY2VsbHMo
KTsKICAgICB2b2lkIHNldENlbGxzKEhUTUxDb2xsZWN0aW9uICosIEV4Y2VwdGlvbkNvZGUmKTsK
IAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlU2Vj
dGlvbkVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFibGVTZWN0aW9uRWxl
bWVudC5jcHAKaW5kZXggNzEwYjQ3My4uNzg5ZjQ2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MVGFibGVTZWN0aW9uRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MVGFibGVTZWN0aW9uRWxlbWVudC5jcHAKQEAgLTU5LDggKzU5LDggQEAgY29uc3Qg
U3R5bGVQcm9wZXJ0aWVzKiBIVE1MVGFibGVTZWN0aW9uRWxlbWVudDo6YWRkaXRpb25hbFByZXNl
bnRhdGlvbkF0dHJpYnV0ZVMKIFJlZlB0cjxIVE1MRWxlbWVudD4gSFRNTFRhYmxlU2VjdGlvbkVs
ZW1lbnQ6Omluc2VydFJvdyhpbnQgaW5kZXgsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIFJl
ZlB0cjxIVE1MVGFibGVSb3dFbGVtZW50PiByb3c7Ci0gICAgUmVmUHRyPEhUTUxDb2xsZWN0aW9u
PiBjaGlsZHJlbiA9IHJvd3MoKTsKLSAgICBpbnQgbnVtUm93cyA9IGNoaWxkcmVuID8gKGludClj
aGlsZHJlbi0+bGVuZ3RoKCkgOiAwOworICAgIFJlZjxIVE1MQ29sbGVjdGlvbj4gY2hpbGRyZW4g
PSByb3dzKCk7CisgICAgaW50IG51bVJvd3MgPSAoaW50KWNoaWxkcmVuLT5sZW5ndGgoKTs7CiAg
ICAgaWYgKGluZGV4IDwgLTEgfHwgaW5kZXggPiBudW1Sb3dzKQogICAgICAgICBlYyA9IElOREVY
X1NJWkVfRVJSOyAvLyBwZXIgdGhlIERPTQogICAgIGVsc2UgewpAQCAtODEsOCArODEsOCBAQCBS
ZWZQdHI8SFRNTEVsZW1lbnQ+IEhUTUxUYWJsZVNlY3Rpb25FbGVtZW50OjppbnNlcnRSb3coaW50
IGluZGV4LCBFeGNlcHRpb25Db2RlJgogCiB2b2lkIEhUTUxUYWJsZVNlY3Rpb25FbGVtZW50Ojpk
ZWxldGVSb3coaW50IGluZGV4LCBFeGNlcHRpb25Db2RlJiBlYykKIHsKLSAgICBSZWZQdHI8SFRN
TENvbGxlY3Rpb24+IGNoaWxkcmVuID0gcm93cygpOwotICAgIGludCBudW1Sb3dzID0gY2hpbGRy
ZW4gPyAoaW50KWNoaWxkcmVuLT5sZW5ndGgoKSA6IDA7CisgICAgUmVmPEhUTUxDb2xsZWN0aW9u
PiBjaGlsZHJlbiA9IHJvd3MoKTsKKyAgICBpbnQgbnVtUm93cyA9IChpbnQpY2hpbGRyZW4tPmxl
bmd0aCgpOwogICAgIGlmIChpbmRleCA9PSAtMSkKICAgICAgICAgaW5kZXggPSBudW1Sb3dzIC0g
MTsKICAgICBpZiAoaW5kZXggPj0gMCAmJiBpbmRleCA8IG51bVJvd3MpIHsKQEAgLTE0NSw3ICsx
NDUsNyBAQCB2b2lkIEhUTUxUYWJsZVNlY3Rpb25FbGVtZW50OjpzZXRWQWxpZ24oY29uc3QgQXRv
bWljU3RyaW5nJiB2YWx1ZSkKICAgICBzZXRBdHRyaWJ1dGUodmFsaWduQXR0ciwgdmFsdWUpOwog
fQogCi1SZWZQdHI8SFRNTENvbGxlY3Rpb24+IEhUTUxUYWJsZVNlY3Rpb25FbGVtZW50Ojpyb3dz
KCkKK1JlZjxIVE1MQ29sbGVjdGlvbj4gSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQ6OnJvd3MoKQog
ewogICAgIHJldHVybiBlbnN1cmVDYWNoZWRIVE1MQ29sbGVjdGlvbihUU2VjdGlvblJvd3MpOwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFibGVTZWN0aW9uRWxlbWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFibGVTZWN0aW9uRWxlbWVudC5oCmluZGV4
IDM5MTAxMWEuLjBjMTQ0MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRh
YmxlU2VjdGlvbkVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUYWJsZVNl
Y3Rpb25FbGVtZW50LmgKQEAgLTUzLDcgKzUzLDcgQEAgcHVibGljOgogICAgIGNvbnN0IEF0b21p
Y1N0cmluZyYgdkFsaWduKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRWQWxpZ24oY29uc3QgQXRvbWlj
U3RyaW5nJik7CiAKLSAgICBSZWZQdHI8SFRNTENvbGxlY3Rpb24+IHJvd3MoKTsKKyAgICBSZWY8
SFRNTENvbGxlY3Rpb24+IHJvd3MoKTsKIAogcHJpdmF0ZToKICAgICBIVE1MVGFibGVTZWN0aW9u
RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCYpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9SYW5nZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL1JhbmdlSW5wdXRUeXBlLmNwcAppbmRleCA4ODEyNzcxLi5iNWI5ZTc5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1JhbmdlSW5wdXRUeXBlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL1JhbmdlSW5wdXRUeXBlLmNwcApAQCAtMzY4LDcgKzM2OCw3IEBAIHZv
aWQgUmFuZ2VJbnB1dFR5cGU6OnVwZGF0ZVRpY2tNYXJrVmFsdWVzKCkKICAgICBIVE1MRGF0YUxp
c3RFbGVtZW50KiBkYXRhTGlzdCA9IGVsZW1lbnQoKS5kYXRhTGlzdCgpOwogICAgIGlmICghZGF0
YUxpc3QpCiAgICAgICAgIHJldHVybjsKLSAgICBSZWZQdHI8SFRNTENvbGxlY3Rpb24+IG9wdGlv
bnMgPSBkYXRhTGlzdC0+b3B0aW9ucygpOworICAgIFJlZjxIVE1MQ29sbGVjdGlvbj4gb3B0aW9u
cyA9IGRhdGFMaXN0LT5vcHRpb25zKCk7CiAgICAgbV90aWNrTWFya1ZhbHVlcy5yZXNlcnZlQ2Fw
YWNpdHkob3B0aW9ucy0+bGVuZ3RoKCkpOwogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBv
cHRpb25zLT5sZW5ndGgoKTsgKytpKSB7CiAgICAgICAgIE5vZGUqIG5vZGUgPSBvcHRpb25zLT5p
dGVtKGkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAKaW5kZXggN2Ux
NzIwZi4uZThmNmY1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRoZW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3Bw
CkBAIC0xMDMwLDcgKzEwMzAsNyBAQCB2b2lkIFJlbmRlclRoZW1lOjpwYWludFNsaWRlclRpY2tz
KGNvbnN0IFJlbmRlck9iamVjdCYgbywgY29uc3QgUGFpbnRJbmZvJiBwYWludAogICAgICAgICB0
aWNrUmVnaW9uU2lkZU1hcmdpbiA9IHRyYWNrQm91bmRzLnkoKSArICh0aHVtYlNpemUud2lkdGgo
KSAtIHRpY2tTaXplLndpZHRoKCkgKiB6b29tRmFjdG9yKSAvIDIuMDsKICAgICAgICAgdGlja1Jl
Z2lvbldpZHRoID0gdHJhY2tCb3VuZHMuaGVpZ2h0KCkgLSB0aHVtYlNpemUud2lkdGgoKTsKICAg
ICB9Ci0gICAgUmVmUHRyPEhUTUxDb2xsZWN0aW9uPiBvcHRpb25zID0gZGF0YUxpc3QtPm9wdGlv
bnMoKTsKKyAgICBSZWY8SFRNTENvbGxlY3Rpb24+IG9wdGlvbnMgPSBkYXRhTGlzdC0+b3B0aW9u
cygpOwogICAgIEdyYXBoaWNzQ29udGV4dFN0YXRlU2F2ZXIgc3RhdGVTYXZlcigqcGFpbnRJbmZv
LmNvbnRleHQpOwogICAgIHBhaW50SW5mby5jb250ZXh0LT5zZXRGaWxsQ29sb3Ioby5zdHlsZSgp
LnZpc2l0ZWREZXBlbmRlbnRDb2xvcihDU1NQcm9wZXJ0eUNvbG9yKSwgQ29sb3JTcGFjZURldmlj
ZVJHQik7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgTm9kZSogbm9kZSA9IG9wdGlvbnMtPml0
ZW0oaSk7IGkrKykgewo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>246183</attachid>
            <date>2015-02-06 15:41:43 -0800</date>
            <delta_ts>2015-02-06 17:08:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-141336-2.diff</filename>
            <type>text/plain</type>
            <size>27580</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBjYTc1NmUwLi4yZmYyMzhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsODEg
QEAKKzIwMTUtMDItMDYgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgorCisgICAg
ICAgIFJlZi1pZnkgdmFyaW91cyBnZXR0ZXJzIHRoYXQgcmV0dXJuIEhUTUxDb2xsZWN0aW9uLgor
ICAgICAgICA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTQxMzM2PgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2UgYWxsIHRoZSBnZXR0ZXJzIHRoYXQg
cmV0dXJuIEhUTUxDb2xsZWN0aW9uIG9iamVjdHMgKGFuZCBuZXZlciByZXR1cm4gbnVsbHB0cikK
KyAgICAgICAgcmV0dXJuIFJlZiBpbnN0ZWFkIG9mIFJlZlB0ci4KKworICAgICAgICBSZW1vdmVk
IGEgY291cGxlIG9mIHVzZWxlc3MgbnVsbCBjaGVja3MgdGhhdCB3ZXJlIGV4cG9zZWQgYnkgdGhp
cyBjaGFuZ2UuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJP
YmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6
Z2V0RG9jdW1lbnRMaW5rcyk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0
b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6bmFtZWRJdGVtR2V0dGVyKToKKyAgICAgICAgKiBi
aW5kaW5ncy9qcy9KU0hUTUxEb2N1bWVudEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpK
U0hUTUxEb2N1bWVudDo6bmFtZUdldHRlcik6CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjplbnN1cmVDYWNoZWRDb2xsZWN0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjppbWFnZXMpOgorICAgICAgICAoV2ViQ29yZTo6RG9j
dW1lbnQ6OmFwcGxldHMpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmVtYmVkcyk6Cisg
ICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cGx1Z2lucyk6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6c2NyaXB0cyk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6bGlua3MpOgor
ICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmZvcm1zKToKKyAgICAgICAgKFdlYkNvcmU6OkRv
Y3VtZW50OjphbmNob3JzKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjphbGwpOgorICAg
ICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OndpbmRvd05hbWVkSXRlbXMpOgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnQ6OmRvY3VtZW50TmFtZWRJdGVtcyk6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6aWNvblVSTHMpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAq
IGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmVuc3VyZUNhY2hl
ZEhUTUxDb2xsZWN0aW9uKToKKyAgICAgICAgKiBkb20vRWxlbWVudC5oOgorICAgICAgICAqIGh0
bWwvQ29sb3JJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29sb3JJbnB1dFR5cGU6
OnN1Z2dlc3Rpb25zKToKKyAgICAgICAgKiBodG1sL0hUTUxEYXRhTGlzdEVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTERhdGFMaXN0RWxlbWVudDo6b3B0aW9ucyk6CisgICAgICAg
ICogaHRtbC9IVE1MRGF0YUxpc3RFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MRWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRWxlbWVudDo6Y2hpbGRyZW4pOgorICAgICAg
ICAqIGh0bWwvSFRNTEVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxGaWVsZFNldEVsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEZpZWxkU2V0RWxlbWVudDo6ZWxlbWVudHMp
OgorICAgICAgICAqIGh0bWwvSFRNTEZpZWxkU2V0RWxlbWVudC5oOgorICAgICAgICAqIGh0bWwv
SFRNTEZvcm1FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxGb3JtRWxlbWVudDo6
ZWxlbWVudHMpOgorICAgICAgICAqIGh0bWwvSFRNTEZvcm1FbGVtZW50Lmg6CisgICAgICAgICog
aHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVs
ZW1lbnQ6OnNldHVwRGF0ZVRpbWVDaG9vc2VyUGFyYW1ldGVycyk6CisgICAgICAgICogaHRtbC9I
VE1MTWFwRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWFwRWxlbWVudDo6YXJl
YXMpOgorICAgICAgICAqIGh0bWwvSFRNTE1hcEVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hU
TUxTZWxlY3RFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxTZWxlY3RFbGVtZW50
OjpzZWxlY3RlZE9wdGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6
Om9wdGlvbnMpOgorICAgICAgICAqIGh0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaDoKKyAgICAgICAg
KiBodG1sL0hUTUxUYWJsZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRhYmxl
RWxlbWVudDo6cm93cyk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVGFibGVFbGVtZW50Ojp0Qm9k
aWVzKToKKyAgICAgICAgKiBodG1sL0hUTUxUYWJsZUVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1s
L0hUTUxUYWJsZVJvd0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRhYmxlUm93
RWxlbWVudDo6aW5zZXJ0Q2VsbCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVGFibGVSb3dFbGVt
ZW50OjpkZWxldGVDZWxsKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUYWJsZVJvd0VsZW1lbnQ6
OmNlbGxzKToKKyAgICAgICAgKiBodG1sL0hUTUxUYWJsZVJvd0VsZW1lbnQuaDoKKyAgICAgICAg
KiBodG1sL0hUTUxUYWJsZVNlY3Rpb25FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxUYWJsZVNlY3Rpb25FbGVtZW50OjppbnNlcnRSb3cpOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TFRhYmxlU2VjdGlvbkVsZW1lbnQ6OmRlbGV0ZVJvdyk6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
VGFibGVTZWN0aW9uRWxlbWVudDo6cm93cyk6CisgICAgICAgICogaHRtbC9IVE1MVGFibGVTZWN0
aW9uRWxlbWVudC5oOgorICAgICAgICAqIGh0bWwvUmFuZ2VJbnB1dFR5cGUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmFuZ2VJbnB1dFR5cGU6OnVwZGF0ZVRpY2tNYXJrVmFsdWVzKToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
VGhlbWU6OnBhaW50U2xpZGVyVGlja3MpOgorCiAyMDE1LTAyLTA1ICBEaGkgQXVycmFobWFuICA8
ZGlvcmFobWFuQHJvY2t5YmFycy5jb20+CiAKICAgICAgICAgUmVtb3ZlIGR1cGxpY2F0ZSBsb29w
IGFmdGVyIHIxNzk1MzIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCmluZGV4IDZiZDY0ZmMuLjRjZmUxNTEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJl
bmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5UmVuZGVyT2JqZWN0LmNwcApAQCAtMTc0MSw3ICsxNzQxLDcgQEAgQWNjZXNzaWJpbGl0
eU9iamVjdCogQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6YWNjZXNzaWJpbGl0eVBhcmVudEZv
ckltYWdlTWFwKEgKIHZvaWQgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6Z2V0RG9jdW1lbnRM
aW5rcyhBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3ImIHJlc3VsdCkKIHsKICAgICBEb2N1bWVu
dCYgZG9jdW1lbnQgPSBtX3JlbmRlcmVyLT5kb2N1bWVudCgpOwotICAgIFJlZlB0cjxIVE1MQ29s
bGVjdGlvbj4gbGlua3MgPSBkb2N1bWVudC5saW5rcygpOworICAgIFJlZjxIVE1MQ29sbGVjdGlv
bj4gbGlua3MgPSBkb2N1bWVudC5saW5rcygpOwogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IE5v
ZGUqIGN1cnIgPSBsaW5rcy0+aXRlbShpKTsgaSsrKSB7CiAgICAgICAgIFJlbmRlck9iamVjdCog
b2JqID0gY3Vyci0+cmVuZGVyZXIoKTsKICAgICAgICAgaWYgKG9iaikgewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwCmluZGV4IDAyNjA4ZmEu
LjQ4ZjgxODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2lu
ZG93Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRv
d0N1c3RvbS5jcHAKQEAgLTgxLDcgKzgxLDcgQEAgc3RhdGljIEVuY29kZWRKU1ZhbHVlIG5hbWVk
SXRlbUdldHRlcihFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiBzbG90QmFzZSwgRW5jb2QKICAg
ICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKIAogICAgIGlmIChV
TkxJS0VMWShkb3duY2FzdDxIVE1MRG9jdW1lbnQ+KCpkb2N1bWVudCkud2luZG93TmFtZWRJdGVt
Q29udGFpbnNNdWx0aXBsZUVsZW1lbnRzKCphdG9taWNQcm9wZXJ0eU5hbWUpKSkgewotICAgICAg
ICBSZWZQdHI8SFRNTENvbGxlY3Rpb24+IGNvbGxlY3Rpb24gPSBkb2N1bWVudC0+d2luZG93TmFt
ZWRJdGVtcyhhdG9taWNQcm9wZXJ0eU5hbWUpOworICAgICAgICBSZWY8SFRNTENvbGxlY3Rpb24+
IGNvbGxlY3Rpb24gPSBkb2N1bWVudC0+d2luZG93TmFtZWRJdGVtcyhhdG9taWNQcm9wZXJ0eU5h
bWUpOwogICAgICAgICBBU1NFUlQoY29sbGVjdGlvbi0+bGVuZ3RoKCkgPiAxKTsKICAgICAgICAg
cmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0b0pTKGV4ZWMsIHRoaXNPYmotPmdsb2JhbE9iamVjdCgp
LCBXVEY6OmdldFB0cihjb2xsZWN0aW9uKSkpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTERvY3VtZW50Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTSFRNTERvY3VtZW50Q3VzdG9tLmNwcAppbmRleCAwNTkzZDc5Li4z
YWQ5YTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxEb2N1
bWVudEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MRG9j
dW1lbnRDdXN0b20uY3BwCkBAIC05NCw3ICs5NCw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTSFRNTERv
Y3VtZW50OjpuYW1lR2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIHNsb3RCYXNlLCBF
CiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiAKICAgICBp
ZiAoVU5MSUtFTFkoZG9jdW1lbnQuZG9jdW1lbnROYW1lZEl0ZW1Db250YWluc011bHRpcGxlRWxl
bWVudHMoKmF0b21pY1Byb3BlcnR5TmFtZSkpKSB7Ci0gICAgICAgIFJlZlB0cjxIVE1MQ29sbGVj
dGlvbj4gY29sbGVjdGlvbiA9IGRvY3VtZW50LmRvY3VtZW50TmFtZWRJdGVtcyhhdG9taWNQcm9w
ZXJ0eU5hbWUpOworICAgICAgICBSZWY8SFRNTENvbGxlY3Rpb24+IGNvbGxlY3Rpb24gPSBkb2N1
bWVudC5kb2N1bWVudE5hbWVkSXRlbXMoYXRvbWljUHJvcGVydHlOYW1lKTsKICAgICAgICAgQVNT
RVJUKGNvbGxlY3Rpb24tPmxlbmd0aCgpID4gMSk7CiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUodG9KUyhleGVjLCB0aGlzT2JqLT5nbG9iYWxPYmplY3QoKSwgV1RGOjpnZXRQdHIoY29s
bGVjdGlvbikpKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCBmOWFmNjQzLi41
ZDYwNzhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTQ1MzcsNjMgKzQ1MzcsNjMgQEAg
Ym9vbCBEb2N1bWVudDo6aGFzU1ZHUm9vdE5vZGUoKSBjb25zdAogICAgIHJldHVybiBkb2N1bWVu
dEVsZW1lbnQoKSAmJiBkb2N1bWVudEVsZW1lbnQoKS0+aGFzVGFnTmFtZShTVkdOYW1lczo6c3Zn
VGFnKTsKIH0KIAotUmVmUHRyPEhUTUxDb2xsZWN0aW9uPiBEb2N1bWVudDo6ZW5zdXJlQ2FjaGVk
Q29sbGVjdGlvbihDb2xsZWN0aW9uVHlwZSB0eXBlKQorUmVmPEhUTUxDb2xsZWN0aW9uPiBEb2N1
bWVudDo6ZW5zdXJlQ2FjaGVkQ29sbGVjdGlvbihDb2xsZWN0aW9uVHlwZSB0eXBlKQogewogICAg
IHJldHVybiBlbnN1cmVSYXJlRGF0YSgpLmVuc3VyZU5vZGVMaXN0cygpLmFkZENhY2hlZENvbGxl
Y3Rpb248SFRNTENvbGxlY3Rpb24+KCp0aGlzLCB0eXBlKTsKIH0KIAotUmVmUHRyPEhUTUxDb2xs
ZWN0aW9uPiBEb2N1bWVudDo6aW1hZ2VzKCkKK1JlZjxIVE1MQ29sbGVjdGlvbj4gRG9jdW1lbnQ6
OmltYWdlcygpCiB7CiAgICAgcmV0dXJuIGVuc3VyZUNhY2hlZENvbGxlY3Rpb24oRG9jSW1hZ2Vz
KTsKIH0KIAotUmVmUHRyPEhUTUxDb2xsZWN0aW9uPiBEb2N1bWVudDo6YXBwbGV0cygpCitSZWY8
SFRNTENvbGxlY3Rpb24+IERvY3VtZW50OjphcHBsZXRzKCkKIHsKICAgICByZXR1cm4gZW5zdXJl
Q2FjaGVkQ29sbGVjdGlvbihEb2NBcHBsZXRzKTsKIH0KIAotUmVmUHRyPEhUTUxDb2xsZWN0aW9u
PiBEb2N1bWVudDo6ZW1iZWRzKCkKK1JlZjxIVE1MQ29sbGVjdGlvbj4gRG9jdW1lbnQ6OmVtYmVk
cygpCiB7CiAgICAgcmV0dXJuIGVuc3VyZUNhY2hlZENvbGxlY3Rpb24oRG9jRW1iZWRzKTsKIH0K
IAotUmVmUHRyPEhUTUxDb2xsZWN0aW9uPiBEb2N1bWVudDo6cGx1Z2lucygpCitSZWY8SFRNTENv
bGxlY3Rpb24+IERvY3VtZW50OjpwbHVnaW5zKCkKIHsKICAgICAvLyBUaGlzIGlzIGFuIGFsaWFz
IGZvciBlbWJlZHMoKSByZXF1aXJlZCBmb3IgdGhlIEpTIERPTSBiaW5kaW5ncy4KICAgICByZXR1
cm4gZW5zdXJlQ2FjaGVkQ29sbGVjdGlvbihEb2NFbWJlZHMpOwogfQogCi1SZWZQdHI8SFRNTENv
bGxlY3Rpb24+IERvY3VtZW50OjpzY3JpcHRzKCkKK1JlZjxIVE1MQ29sbGVjdGlvbj4gRG9jdW1l
bnQ6OnNjcmlwdHMoKQogewogICAgIHJldHVybiBlbnN1cmVDYWNoZWRDb2xsZWN0aW9uKERvY1Nj
cmlwdHMpOwogfQogCi1SZWZQdHI8SFRNTENvbGxlY3Rpb24+IERvY3VtZW50OjpsaW5rcygpCitS
ZWY8SFRNTENvbGxlY3Rpb24+IERvY3VtZW50OjpsaW5rcygpCiB7CiAgICAgcmV0dXJuIGVuc3Vy
ZUNhY2hlZENvbGxlY3Rpb24oRG9jTGlua3MpOwogfQogCi1SZWZQdHI8SFRNTENvbGxlY3Rpb24+
IERvY3VtZW50Ojpmb3JtcygpCitSZWY8SFRNTENvbGxlY3Rpb24+IERvY3VtZW50Ojpmb3Jtcygp
CiB7CiAgICAgcmV0dXJuIGVuc3VyZUNhY2hlZENvbGxlY3Rpb24oRG9jRm9ybXMpOwogfQogCi1S
ZWZQdHI8SFRNTENvbGxlY3Rpb24+IERvY3VtZW50OjphbmNob3JzKCkKK1JlZjxIVE1MQ29sbGVj
dGlvbj4gRG9jdW1lbnQ6OmFuY2hvcnMoKQogewogICAgIHJldHVybiBlbnN1cmVDYWNoZWRDb2xs
ZWN0aW9uKERvY0FuY2hvcnMpOwogfQogCi1SZWZQdHI8SFRNTENvbGxlY3Rpb24+IERvY3VtZW50
OjphbGwoKQorUmVmPEhUTUxDb2xsZWN0aW9uPiBEb2N1bWVudDo6YWxsKCkKIHsKICAgICByZXR1
cm4gZW5zdXJlUmFyZURhdGEoKS5lbnN1cmVOb2RlTGlzdHMoKS5hZGRDYWNoZWRDb2xsZWN0aW9u
PEhUTUxBbGxDb2xsZWN0aW9uPigqdGhpcywgRG9jQWxsKTsKIH0KIAotUmVmUHRyPEhUTUxDb2xs
ZWN0aW9uPiBEb2N1bWVudDo6d2luZG93TmFtZWRJdGVtcyhjb25zdCBBdG9taWNTdHJpbmcmIG5h
bWUpCitSZWY8SFRNTENvbGxlY3Rpb24+IERvY3VtZW50Ojp3aW5kb3dOYW1lZEl0ZW1zKGNvbnN0
IEF0b21pY1N0cmluZyYgbmFtZSkKIHsKICAgICByZXR1cm4gZW5zdXJlUmFyZURhdGEoKS5lbnN1
cmVOb2RlTGlzdHMoKS5hZGRDYWNoZWRDb2xsZWN0aW9uPFdpbmRvd05hbWVDb2xsZWN0aW9uPigq
dGhpcywgV2luZG93TmFtZWRJdGVtcywgbmFtZSk7CiB9CiAKLVJlZlB0cjxIVE1MQ29sbGVjdGlv
bj4gRG9jdW1lbnQ6OmRvY3VtZW50TmFtZWRJdGVtcyhjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUp
CitSZWY8SFRNTENvbGxlY3Rpb24+IERvY3VtZW50Ojpkb2N1bWVudE5hbWVkSXRlbXMoY29uc3Qg
QXRvbWljU3RyaW5nJiBuYW1lKQogewogICAgIHJldHVybiBlbnN1cmVSYXJlRGF0YSgpLmVuc3Vy
ZU5vZGVMaXN0cygpLmFkZENhY2hlZENvbGxlY3Rpb248RG9jdW1lbnROYW1lQ29sbGVjdGlvbj4o
KnRoaXMsIERvY3VtZW50TmFtZWRJdGVtcywgbmFtZSk7CiB9CkBAIC00NzA0LDEwICs0NzA0LDEw
IEBAIGNvbnN0IFZlY3RvcjxJY29uVVJMPiYgRG9jdW1lbnQ6Omljb25VUkxzKGludCBpY29uVHlw
ZXNNYXNrKQogewogICAgIG1faWNvblVSTHMuY2xlYXIoKTsKIAotICAgIGlmICghaGVhZCgpIHx8
ICEoaGVhZCgpLT5jaGlsZHJlbigpKSkKKyAgICBpZiAoIWhlYWQoKSkKICAgICAgICAgcmV0dXJu
IG1faWNvblVSTHM7CiAKLSAgICBSZWZQdHI8SFRNTENvbGxlY3Rpb24+IGNoaWxkcmVuID0gaGVh
ZCgpLT5jaGlsZHJlbigpOworICAgIFJlZjxIVE1MQ29sbGVjdGlvbj4gY2hpbGRyZW4gPSBoZWFk
KCktPmNoaWxkcmVuKCk7CiAgICAgdW5zaWduZWQgaW50IGxlbmd0aCA9IGNoaWxkcmVuLT5sZW5n
dGgoKTsKICAgICBmb3IgKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7CiAg
ICAgICAgIE5vZGUqIGNoaWxkID0gY2hpbGRyZW4tPml0ZW0oaSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5o
CmluZGV4IDhjNThmMmIuLmNkNzA1NmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC01MDYsMTgg
KzUwNiwxOCBAQCBwdWJsaWM6CiAKICAgICBSZWZQdHI8Tm9kZT4gYWRvcHROb2RlKFBhc3NSZWZQ
dHI8Tm9kZT4gc291cmNlLCBFeGNlcHRpb25Db2RlJik7CiAKLSAgICBSZWZQdHI8SFRNTENvbGxl
Y3Rpb24+IGltYWdlcygpOwotICAgIFJlZlB0cjxIVE1MQ29sbGVjdGlvbj4gZW1iZWRzKCk7Ci0g
ICAgUmVmUHRyPEhUTUxDb2xsZWN0aW9uPiBwbHVnaW5zKCk7IC8vIGFuIGFsaWFzIGZvciBlbWJl
ZHMoKSByZXF1aXJlZCBmb3IgdGhlIEpTIERPTSBiaW5kaW5ncy4KLSAgICBSZWZQdHI8SFRNTENv
bGxlY3Rpb24+IGFwcGxldHMoKTsKLSAgICBSZWZQdHI8SFRNTENvbGxlY3Rpb24+IGxpbmtzKCk7
Ci0gICAgUmVmUHRyPEhUTUxDb2xsZWN0aW9uPiBmb3JtcygpOwotICAgIFJlZlB0cjxIVE1MQ29s
bGVjdGlvbj4gYW5jaG9ycygpOwotICAgIFJlZlB0cjxIVE1MQ29sbGVjdGlvbj4gc2NyaXB0cygp
OwotICAgIFJlZlB0cjxIVE1MQ29sbGVjdGlvbj4gYWxsKCk7Ci0KLSAgICBSZWZQdHI8SFRNTENv
bGxlY3Rpb24+IHdpbmRvd05hbWVkSXRlbXMoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lKTsKLSAg
ICBSZWZQdHI8SFRNTENvbGxlY3Rpb24+IGRvY3VtZW50TmFtZWRJdGVtcyhjb25zdCBBdG9taWNT
dHJpbmcmIG5hbWUpOworICAgIFJlZjxIVE1MQ29sbGVjdGlvbj4gaW1hZ2VzKCk7CisgICAgUmVm
PEhUTUxDb2xsZWN0aW9uPiBlbWJlZHMoKTsKKyAgICBSZWY8SFRNTENvbGxlY3Rpb24+IHBsdWdp
bnMoKTsgLy8gYW4gYWxpYXMgZm9yIGVtYmVkcygpIHJlcXVpcmVkIGZvciB0aGUgSlMgRE9NIGJp
bmRpbmdzLgorICAgIFJlZjxIVE1MQ29sbGVjdGlvbj4gYXBwbGV0cygpOworICAgIFJlZjxIVE1M
Q29sbGVjdGlvbj4gbGlua3MoKTsKKyAgICBSZWY8SFRNTENvbGxlY3Rpb24+IGZvcm1zKCk7Cisg
ICAgUmVmPEhUTUxDb2xsZWN0aW9uPiBhbmNob3JzKCk7CisgICAgUmVmPEhUTUxDb2xsZWN0aW9u
PiBzY3JpcHRzKCk7CisgICAgUmVmPEhUTUxDb2xsZWN0aW9uPiBhbGwoKTsKKworICAgIFJlZjxI
VE1MQ29sbGVjdGlvbj4gd2luZG93TmFtZWRJdGVtcyhjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUp
OworICAgIFJlZjxIVE1MQ29sbGVjdGlvbj4gZG9jdW1lbnROYW1lZEl0ZW1zKGNvbnN0IEF0b21p
Y1N0cmluZyYgbmFtZSk7CiAKICAgICAvLyBPdGhlciBtZXRob2RzIChub3QgcGFydCBvZiBET00p
CiAgICAgYm9vbCBpc1N5bnRoZXNpemVkKCkgY29uc3QgeyByZXR1cm4gbV9pc1N5bnRoZXNpemVk
OyB9CkBAIC0xMzUxLDcgKzEzNTEsNyBAQCBwcml2YXRlOgogCiAgICAgTm9kZSogbm9kZUZyb21Q
b2ludChjb25zdCBMYXlvdXRQb2ludCYgY2xpZW50UG9pbnQsIExheW91dFBvaW50KiBsb2NhbFBv
aW50ID0gbnVsbHB0cik7CiAKLSAgICBSZWZQdHI8SFRNTENvbGxlY3Rpb24+IGVuc3VyZUNhY2hl
ZENvbGxlY3Rpb24oQ29sbGVjdGlvblR5cGUpOworICAgIFJlZjxIVE1MQ29sbGVjdGlvbj4gZW5z
dXJlQ2FjaGVkQ29sbGVjdGlvbihDb2xsZWN0aW9uVHlwZSk7CiAKICNpZiBFTkFCTEUoRlVMTFND
UkVFTl9BUEkpCiAgICAgdm9pZCBkaXNwYXRjaEZ1bGxTY3JlZW5DaGFuZ2VPckVycm9yRXZlbnQo
RGVxdWU8UmVmUHRyPE5vZGU+PiYsIGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnROYW1lLCBib29s
IHNob3VsZE5vdGlmeU1lZGlhRWxlbWVudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXggOWQ4
MTViYy4uM2MwZGJkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtMjkwMSwxMCArMjkwMSwx
MCBAQCB2b2lkIEVsZW1lbnQ6OmRpZFJlbW92ZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1l
JiBuYW1lLCBjb25zdCBBdG9taWNTdHJpbmcmCiAgICAgZGlzcGF0Y2hTdWJ0cmVlTW9kaWZpZWRF
dmVudCgpOwogfQogCi1SZWZQdHI8SFRNTENvbGxlY3Rpb24+IEVsZW1lbnQ6OmVuc3VyZUNhY2hl
ZEhUTUxDb2xsZWN0aW9uKENvbGxlY3Rpb25UeXBlIHR5cGUpCitSZWY8SFRNTENvbGxlY3Rpb24+
IEVsZW1lbnQ6OmVuc3VyZUNhY2hlZEhUTUxDb2xsZWN0aW9uKENvbGxlY3Rpb25UeXBlIHR5cGUp
CiB7CiAgICAgaWYgKEhUTUxDb2xsZWN0aW9uKiBjb2xsZWN0aW9uID0gY2FjaGVkSFRNTENvbGxl
Y3Rpb24odHlwZSkpCi0gICAgICAgIHJldHVybiBjb2xsZWN0aW9uOworICAgICAgICByZXR1cm4g
KmNvbGxlY3Rpb247CiAKICAgICBpZiAodHlwZSA9PSBUYWJsZVJvd3MpIHsKICAgICAgICAgcmV0
dXJuIGVuc3VyZVJhcmVEYXRhKCkuZW5zdXJlTm9kZUxpc3RzKCkuYWRkQ2FjaGVkQ29sbGVjdGlv
bjxIVE1MVGFibGVSb3dzQ29sbGVjdGlvbj4oZG93bmNhc3Q8SFRNTFRhYmxlRWxlbWVudD4oKnRo
aXMpLCB0eXBlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCmluZGV4IGNmNDdmYzguLmY5MTE1YmZkNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudC5oCkBAIC01NzAsNyArNTcwLDcgQEAgcHJvdGVjdGVkOgogICAgIHZvaWQg
Y2xlYXJUYWJJbmRleEV4cGxpY2l0bHlJZk5lZWRlZCgpOwogICAgIHZvaWQgc2V0VGFiSW5kZXhF
eHBsaWNpdGx5KHNob3J0KTsKIAotICAgIFJlZlB0cjxIVE1MQ29sbGVjdGlvbj4gZW5zdXJlQ2Fj
aGVkSFRNTENvbGxlY3Rpb24oQ29sbGVjdGlvblR5cGUpOworICAgIFJlZjxIVE1MQ29sbGVjdGlv
bj4gZW5zdXJlQ2FjaGVkSFRNTENvbGxlY3Rpb24oQ29sbGVjdGlvblR5cGUpOwogICAgIEhUTUxD
b2xsZWN0aW9uKiBjYWNoZWRIVE1MQ29sbGVjdGlvbihDb2xsZWN0aW9uVHlwZSk7CiAKICAgICAv
LyBjbGFzc0F0dHJpYnV0ZUNoYW5nZWQoKSBleGlzdHMgdG8gc2hhcmUgY29kZSBiZXR3ZWVuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0NvbG9ySW5wdXRUeXBlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvQ29sb3JJbnB1dFR5cGUuY3BwCmluZGV4IDEyZWE5YTEuLjhiYmRiOTcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQ29sb3JJbnB1dFR5cGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvQ29sb3JJbnB1dFR5cGUuY3BwCkBAIC0yMjksNyArMjI5LDcg
QEAgVmVjdG9yPENvbG9yPiBDb2xvcklucHV0VHlwZTo6c3VnZ2VzdGlvbnMoKSBjb25zdAogI2lm
IEVOQUJMRShEQVRBTElTVF9FTEVNRU5UKQogICAgIEhUTUxEYXRhTGlzdEVsZW1lbnQqIGRhdGFM
aXN0ID0gZWxlbWVudCgpLmRhdGFMaXN0KCk7CiAgICAgaWYgKGRhdGFMaXN0KSB7Ci0gICAgICAg
IFJlZlB0cjxIVE1MQ29sbGVjdGlvbj4gb3B0aW9ucyA9IGRhdGFMaXN0LT5vcHRpb25zKCk7Cisg
ICAgICAgIFJlZjxIVE1MQ29sbGVjdGlvbj4gb3B0aW9ucyA9IGRhdGFMaXN0LT5vcHRpb25zKCk7
CiAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IEhUTUxPcHRpb25FbGVtZW50KiBvcHRpb24g
PSBkb3duY2FzdDxIVE1MT3B0aW9uRWxlbWVudD4ob3B0aW9ucy0+aXRlbShpKSk7ICsraSkgewog
ICAgICAgICAgICAgaWYgKCFlbGVtZW50KCkuaXNWYWxpZFZhbHVlKG9wdGlvbi0+dmFsdWUoKSkp
CiAgICAgICAgICAgICAgICAgY29udGludWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxEYXRhTGlzdEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGF0
YUxpc3RFbGVtZW50LmNwcAppbmRleCAzNTI1NzI2Li5mZTVlNzZmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxEYXRhTGlzdEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTERhdGFMaXN0RWxlbWVudC5jcHAKQEAgLTQ4LDcgKzQ4LDcgQEAgUmVmPEhU
TUxEYXRhTGlzdEVsZW1lbnQ+IEhUTUxEYXRhTGlzdEVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFs
aWZpZWROYW1lJiB0YWdOYW0KICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBIVE1MRGF0YUxpc3RF
bGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KSk7CiB9CiAKLVJlZlB0cjxIVE1MQ29sbGVjdGlvbj4g
SFRNTERhdGFMaXN0RWxlbWVudDo6b3B0aW9ucygpCitSZWY8SFRNTENvbGxlY3Rpb24+IEhUTUxE
YXRhTGlzdEVsZW1lbnQ6Om9wdGlvbnMoKQogewogICAgIHJldHVybiBlbnN1cmVDYWNoZWRIVE1M
Q29sbGVjdGlvbihEYXRhTGlzdE9wdGlvbnMpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MRGF0YUxpc3RFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxE
YXRhTGlzdEVsZW1lbnQuaAppbmRleCA2MWJmYmExLi4xZDc3MjQzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxEYXRhTGlzdEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxEYXRhTGlzdEVsZW1lbnQuaApAQCAtNDIsNyArNDIsNyBAQCBjbGFzcyBIVE1M
RGF0YUxpc3RFbGVtZW50IGZpbmFsIDogcHVibGljIEhUTUxFbGVtZW50IHsKIHB1YmxpYzoKICAg
ICBzdGF0aWMgUmVmPEhUTUxEYXRhTGlzdEVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWRO
YW1lJiwgRG9jdW1lbnQmKTsKIAotICAgIFJlZlB0cjxIVE1MQ29sbGVjdGlvbj4gb3B0aW9ucygp
OworICAgIFJlZjxIVE1MQ29sbGVjdGlvbj4gb3B0aW9ucygpOwogCiAgICAgdm9pZCBvcHRpb25F
bGVtZW50Q2hpbGRyZW5DaGFuZ2VkKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAK
aW5kZXggYWVjMzZmOC4uNTg1NGJjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAK
QEAgLTgwNiw3ICs4MDYsNyBAQCB2b2lkIEhUTUxFbGVtZW50OjpzZXRUcmFuc2xhdGUoYm9vbCBl
bmFibGUpCiAgICAgc2V0QXR0cmlidXRlKHRyYW5zbGF0ZUF0dHIsIGVuYWJsZSA/ICJ5ZXMiIDog
Im5vIik7CiB9CiAKLVJlZlB0cjxIVE1MQ29sbGVjdGlvbj4gSFRNTEVsZW1lbnQ6OmNoaWxkcmVu
KCkKK1JlZjxIVE1MQ29sbGVjdGlvbj4gSFRNTEVsZW1lbnQ6OmNoaWxkcmVuKCkKIHsKICAgICBy
ZXR1cm4gZW5zdXJlQ2FjaGVkSFRNTENvbGxlY3Rpb24oTm9kZUNoaWxkcmVuKTsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEVsZW1lbnQuaAppbmRleCBjZGVhZTdhLi4yMGRkM2MxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MRWxlbWVudC5oCkBAIC00Miw3ICs0Miw3IEBAIGNsYXNzIEhUTUxFbGVtZW50IDogcHVi
bGljIFN0eWxlZEVsZW1lbnQgewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8SFRNTEVsZW1lbnQ+
IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCYpOwogCi0gICAg
UmVmUHRyPEhUTUxDb2xsZWN0aW9uPiBjaGlsZHJlbigpOworICAgIFJlZjxIVE1MQ29sbGVjdGlv
bj4gY2hpbGRyZW4oKTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgU3RyaW5nIHRpdGxl
KCkgY29uc3Qgb3ZlcnJpZGUgZmluYWw7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEZpZWxkU2V0RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGaWVs
ZFNldEVsZW1lbnQuY3BwCmluZGV4IDk0NDE3MjAuLmExMzNhNTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEZpZWxkU2V0RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MRmllbGRTZXRFbGVtZW50LmNwcApAQCAtMTU5LDcgKzE1OSw3IEBAIEhUTUxM
ZWdlbmRFbGVtZW50KiBIVE1MRmllbGRTZXRFbGVtZW50OjpsZWdlbmQoKSBjb25zdAogICAgIHJl
dHVybiBjb25zdF9jYXN0PEhUTUxMZWdlbmRFbGVtZW50Kj4oY2hpbGRyZW5PZlR5cGU8SFRNTExl
Z2VuZEVsZW1lbnQ+KCp0aGlzKS5maXJzdCgpKTsKIH0KIAotUmVmUHRyPEhUTUxDb2xsZWN0aW9u
PiBIVE1MRmllbGRTZXRFbGVtZW50OjplbGVtZW50cygpCitSZWY8SFRNTENvbGxlY3Rpb24+IEhU
TUxGaWVsZFNldEVsZW1lbnQ6OmVsZW1lbnRzKCkKIHsKICAgICByZXR1cm4gZW5zdXJlQ2FjaGVk
SFRNTENvbGxlY3Rpb24oRm9ybUNvbnRyb2xzKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEZpZWxkU2V0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
RmllbGRTZXRFbGVtZW50LmgKaW5kZXggZTkyZTQ0YS4uNmJjNmUxYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MRmllbGRTZXRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MRmllbGRTZXRFbGVtZW50LmgKQEAgLTM3LDcgKzM3LDcgQEAgcHVibGljOgog
ICAgIHN0YXRpYyBSZWY8SFRNTEZpZWxkU2V0RWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmll
ZE5hbWUmLCBEb2N1bWVudCYsIEhUTUxGb3JtRWxlbWVudCopOwogCiAgICAgSFRNTExlZ2VuZEVs
ZW1lbnQqIGxlZ2VuZCgpIGNvbnN0OwotICAgIFJlZlB0cjxIVE1MQ29sbGVjdGlvbj4gZWxlbWVu
dHMoKTsKKyAgICBSZWY8SFRNTENvbGxlY3Rpb24+IGVsZW1lbnRzKCk7CiAKICAgICBjb25zdCBW
ZWN0b3I8Rm9ybUFzc29jaWF0ZWRFbGVtZW50Kj4mIGFzc29jaWF0ZWRFbGVtZW50cygpIGNvbnN0
OwogICAgIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9y
bUVsZW1lbnQuY3BwCmluZGV4IDgyZmYxMWEuLjBhZGUzZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxGb3JtRWxlbWVudC5jcHAKQEAgLTY0NCw3ICs2NDQsNyBAQCB2b2lkIEhUTUxGb3JtRWxl
bWVudDo6cmVtb3ZlSW1nRWxlbWVudChIVE1MSW1hZ2VFbGVtZW50KiBlKQogICAgIEFTU0VSVF9V
TlVTRUQocmVtb3ZlZCwgcmVtb3ZlZCk7CiB9CiAKLVJlZlB0cjxIVE1MQ29sbGVjdGlvbj4gSFRN
TEZvcm1FbGVtZW50OjplbGVtZW50cygpCitSZWY8SFRNTENvbGxlY3Rpb24+IEhUTUxGb3JtRWxl
bWVudDo6ZWxlbWVudHMoKQogewogICAgIHJldHVybiBlbnN1cmVDYWNoZWRIVE1MQ29sbGVjdGlv
bihGb3JtQ29udHJvbHMpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
Rm9ybUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmgKaW5k
ZXggMjE3NTA1ZS4uNzEyNWVlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
Rm9ybUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5o
CkBAIC01MCw3ICs1MCw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPEhUTUxGb3JtRWxlbWVu
dD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogICAgIHZpcnR1YWwg
fkhUTUxGb3JtRWxlbWVudCgpOwogCi0gICAgUmVmUHRyPEhUTUxDb2xsZWN0aW9uPiBlbGVtZW50
cygpOworICAgIFJlZjxIVE1MQ29sbGVjdGlvbj4gZWxlbWVudHMoKTsKICAgICBib29sIGhhc05h
bWVkRWxlbWVudChjb25zdCBBdG9taWNTdHJpbmcmKTsKICAgICBWZWN0b3I8UmVmPEVsZW1lbnQ+
PiBuYW1lZEVsZW1lbnRzKGNvbnN0IEF0b21pY1N0cmluZyYpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MSW5wdXRFbGVtZW50LmNwcAppbmRleCA3ZTBlNjRkLi5jMzc4ZjRhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKQEAgLTE4ODcsNyArMTg4Nyw3IEBAIGJv
b2wgSFRNTElucHV0RWxlbWVudDo6c2V0dXBEYXRlVGltZUNob29zZXJQYXJhbWV0ZXJzKERhdGVU
aW1lQ2hvb3NlclBhcmFtZXRlcnMmCiAgICAgcGFyYW1ldGVycy5pc0FuY2hvckVsZW1lbnRSVEwg
PSBjb21wdXRlZFN0eWxlKCktPmRpcmVjdGlvbigpID09IFJUTDsKICNpZiBFTkFCTEUoREFUQUxJ
U1RfRUxFTUVOVCkKICAgICBpZiAoSFRNTERhdGFMaXN0RWxlbWVudCogZGF0YUxpc3QgPSB0aGlz
LT5kYXRhTGlzdCgpKSB7Ci0gICAgICAgIFJlZlB0cjxIVE1MQ29sbGVjdGlvbj4gb3B0aW9ucyA9
IGRhdGFMaXN0LT5vcHRpb25zKCk7CisgICAgICAgIFJlZjxIVE1MQ29sbGVjdGlvbj4gb3B0aW9u
cyA9IGRhdGFMaXN0LT5vcHRpb25zKCk7CiAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IEhU
TUxPcHRpb25FbGVtZW50KiBvcHRpb24gPSBkb3duY2FzdDxIVE1MT3B0aW9uRWxlbWVudD4ob3B0
aW9ucy0+aXRlbShpKSk7ICsraSkgewogICAgICAgICAgICAgaWYgKCFpc1ZhbGlkVmFsdWUob3B0
aW9uLT52YWx1ZSgpKSkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1hcEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWFwRWxlbWVudC5jcHAKaW5kZXggZTkxOTM1NS4uYTNjOWMzMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWFwRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MTWFwRWxlbWVudC5jcHAKQEAgLTExMCw3ICsxMTAsNyBAQCB2b2lkIEhUTUxN
YXBFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25z
dCBBdG9taWNTdHJpbgogICAgIEhUTUxFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShuYW1lLCB2YWx1
ZSk7CiB9CiAKLVJlZlB0cjxIVE1MQ29sbGVjdGlvbj4gSFRNTE1hcEVsZW1lbnQ6OmFyZWFzKCkK
K1JlZjxIVE1MQ29sbGVjdGlvbj4gSFRNTE1hcEVsZW1lbnQ6OmFyZWFzKCkKIHsKICAgICByZXR1
cm4gZW5zdXJlQ2FjaGVkSFRNTENvbGxlY3Rpb24oTWFwQXJlYXMpOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWFwRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWFwRWxlbWVudC5oCmluZGV4IDEyNjE0YTEuLjdkNzc0MDggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1hcEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxNYXBFbGVtZW50LmgKQEAgLTQxLDcgKzQxLDcgQEAgcHVibGljOgogICAgIGJvb2wg
bWFwTW91c2VFdmVudChMYXlvdXRQb2ludCBsb2NhdGlvbiwgY29uc3QgTGF5b3V0U2l6ZSYsIEhp
dFRlc3RSZXN1bHQmKTsKICAgICAKICAgICBIVE1MSW1hZ2VFbGVtZW50KiBpbWFnZUVsZW1lbnQo
KTsKLSAgICBSZWZQdHI8SFRNTENvbGxlY3Rpb24+IGFyZWFzKCk7CisgICAgUmVmPEhUTUxDb2xs
ZWN0aW9uPiBhcmVhcygpOwogCiBwcml2YXRlOgogICAgIEhUTUxNYXBFbGVtZW50KGNvbnN0IFF1
YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MU2VsZWN0RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RF
bGVtZW50LmNwcAppbmRleCBkMWVjOTY3Li5kNTk2MGYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxTZWxlY3RFbGVtZW50LmNwcApAQCAtMzczLDEyICszNzMsMTIgQEAgYm9vbCBIVE1MU2Vs
ZWN0RWxlbWVudDo6Y2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihjb25zdCBOb2RlJiBjaGlsZCkg
Y29uc3QKICAgICByZXR1cm4gdmFsaWRhdGlvbk1lc3NhZ2VTaGFkb3dUcmVlQ29udGFpbnMoY2hp
bGQpOwogfQogCi1SZWZQdHI8SFRNTENvbGxlY3Rpb24+IEhUTUxTZWxlY3RFbGVtZW50OjpzZWxl
Y3RlZE9wdGlvbnMoKQorUmVmPEhUTUxDb2xsZWN0aW9uPiBIVE1MU2VsZWN0RWxlbWVudDo6c2Vs
ZWN0ZWRPcHRpb25zKCkKIHsKICAgICByZXR1cm4gZW5zdXJlQ2FjaGVkSFRNTENvbGxlY3Rpb24o
U2VsZWN0ZWRPcHRpb25zKTsKIH0KIAotUmVmUHRyPEhUTUxPcHRpb25zQ29sbGVjdGlvbj4gSFRN
TFNlbGVjdEVsZW1lbnQ6Om9wdGlvbnMoKQorUmVmPEhUTUxPcHRpb25zQ29sbGVjdGlvbj4gSFRN
TFNlbGVjdEVsZW1lbnQ6Om9wdGlvbnMoKQogewogICAgIHJldHVybiBkb3duY2FzdDxIVE1MT3B0
aW9uc0NvbGxlY3Rpb24+KGVuc3VyZUNhY2hlZEhUTUxDb2xsZWN0aW9uKFNlbGVjdE9wdGlvbnMp
LmdldCgpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaAppbmRleCAx
YWUyMTJiLi44ODdhMDZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxl
Y3RFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5o
CkBAIC02Nyw4ICs2Nyw4IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgdmFs
dWUoKSBjb25zdDsKICAgICB2b2lkIHNldFZhbHVlKGNvbnN0IFN0cmluZyYpOwogCi0gICAgUmVm
UHRyPEhUTUxPcHRpb25zQ29sbGVjdGlvbj4gb3B0aW9ucygpOwotICAgIFJlZlB0cjxIVE1MQ29s
bGVjdGlvbj4gc2VsZWN0ZWRPcHRpb25zKCk7CisgICAgUmVmPEhUTUxPcHRpb25zQ29sbGVjdGlv
bj4gb3B0aW9ucygpOworICAgIFJlZjxIVE1MQ29sbGVjdGlvbj4gc2VsZWN0ZWRPcHRpb25zKCk7
CiAKICAgICB2b2lkIG9wdGlvbkVsZW1lbnRDaGlsZHJlbkNoYW5nZWQoKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFibGVFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFRhYmxlRWxlbWVudC5jcHAKaW5kZXggZGMwOTA3My4uNDUxYTk2YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFibGVFbGVtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUYWJsZUVsZW1lbnQuY3BwCkBAIC01NTAsMTIgKzU1MCwx
MiBAQCBib29sIEhUTUxUYWJsZUVsZW1lbnQ6OmlzVVJMQXR0cmlidXRlKGNvbnN0IEF0dHJpYnV0
ZSYgYXR0cmlidXRlKSBjb25zdAogICAgIHJldHVybiBhdHRyaWJ1dGUubmFtZSgpID09IGJhY2tn
cm91bmRBdHRyIHx8IEhUTUxFbGVtZW50Ojppc1VSTEF0dHJpYnV0ZShhdHRyaWJ1dGUpOwogfQog
Ci1SZWZQdHI8SFRNTENvbGxlY3Rpb24+IEhUTUxUYWJsZUVsZW1lbnQ6OnJvd3MoKQorUmVmPEhU
TUxDb2xsZWN0aW9uPiBIVE1MVGFibGVFbGVtZW50Ojpyb3dzKCkKIHsKICAgICByZXR1cm4gZW5z
dXJlQ2FjaGVkSFRNTENvbGxlY3Rpb24oVGFibGVSb3dzKTsKIH0KIAotUmVmUHRyPEhUTUxDb2xs
ZWN0aW9uPiBIVE1MVGFibGVFbGVtZW50Ojp0Qm9kaWVzKCkKK1JlZjxIVE1MQ29sbGVjdGlvbj4g
SFRNTFRhYmxlRWxlbWVudDo6dEJvZGllcygpCiB7CiAgICAgcmV0dXJuIGVuc3VyZUNhY2hlZEhU
TUxDb2xsZWN0aW9uKFRhYmxlVEJvZGllcyk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxUYWJsZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxl
RWxlbWVudC5oCmluZGV4IGM4N2I0NjYuLmNmNWY0YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFRhYmxlRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFRhYmxlRWxlbWVudC5oCkBAIC02MCw4ICs2MCw4IEBAIHB1YmxpYzoKICAgICBSZWZQdHI8SFRN
TEVsZW1lbnQ+IGluc2VydFJvdyhpbnQgaW5kZXgsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lk
IGRlbGV0ZVJvdyhpbnQgaW5kZXgsIEV4Y2VwdGlvbkNvZGUmKTsKIAotICAgIFJlZlB0cjxIVE1M
Q29sbGVjdGlvbj4gcm93cygpOwotICAgIFJlZlB0cjxIVE1MQ29sbGVjdGlvbj4gdEJvZGllcygp
OworICAgIFJlZjxIVE1MQ29sbGVjdGlvbj4gcm93cygpOworICAgIFJlZjxIVE1MQ29sbGVjdGlv
bj4gdEJvZGllcygpOwogCiAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBydWxlcygpIGNvbnN0Owog
ICAgIGNvbnN0IEF0b21pY1N0cmluZyYgc3VtbWFyeSgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFibGVSb3dFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFRhYmxlUm93RWxlbWVudC5jcHAKaW5kZXggODQxN2ExYy4uZDQzNTFlYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFibGVSb3dFbGVtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUYWJsZVJvd0VsZW1lbnQuY3BwCkBAIC0xMjAsOCAr
MTIwLDggQEAgaW50IEhUTUxUYWJsZVJvd0VsZW1lbnQ6OnNlY3Rpb25Sb3dJbmRleCgpIGNvbnN0
CiAKIFJlZlB0cjxIVE1MRWxlbWVudD4gSFRNTFRhYmxlUm93RWxlbWVudDo6aW5zZXJ0Q2VsbChp
bnQgaW5kZXgsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewotICAgIFJlZlB0cjxIVE1MQ29sbGVjdGlv
bj4gY2hpbGRyZW4gPSBjZWxscygpOwotICAgIGludCBudW1DZWxscyA9IGNoaWxkcmVuID8gY2hp
bGRyZW4tPmxlbmd0aCgpIDogMDsKKyAgICBSZWY8SFRNTENvbGxlY3Rpb24+IGNoaWxkcmVuID0g
Y2VsbHMoKTsKKyAgICBpbnQgbnVtQ2VsbHMgPSBjaGlsZHJlbi0+bGVuZ3RoKCk7CiAgICAgaWYg
KGluZGV4IDwgLTEgfHwgaW5kZXggPiBudW1DZWxscykgewogICAgICAgICBlYyA9IElOREVYX1NJ
WkVfRVJSOwogICAgICAgICByZXR1cm4gMDsKQEAgLTE0Myw4ICsxNDMsOCBAQCBSZWZQdHI8SFRN
TEVsZW1lbnQ+IEhUTUxUYWJsZVJvd0VsZW1lbnQ6Omluc2VydENlbGwoaW50IGluZGV4LCBFeGNl
cHRpb25Db2RlJiBlYwogCiB2b2lkIEhUTUxUYWJsZVJvd0VsZW1lbnQ6OmRlbGV0ZUNlbGwoaW50
IGluZGV4LCBFeGNlcHRpb25Db2RlJiBlYykKIHsKLSAgICBSZWZQdHI8SFRNTENvbGxlY3Rpb24+
IGNoaWxkcmVuID0gY2VsbHMoKTsKLSAgICBpbnQgbnVtQ2VsbHMgPSBjaGlsZHJlbiA/IGNoaWxk
cmVuLT5sZW5ndGgoKSA6IDA7CisgICAgUmVmPEhUTUxDb2xsZWN0aW9uPiBjaGlsZHJlbiA9IGNl
bGxzKCk7CisgICAgaW50IG51bUNlbGxzID0gY2hpbGRyZW4tPmxlbmd0aCgpOwogICAgIGlmIChp
bmRleCA9PSAtMSkKICAgICAgICAgaW5kZXggPSBudW1DZWxscy0xOwogICAgIGlmIChpbmRleCA+
PSAwICYmIGluZGV4IDwgbnVtQ2VsbHMpIHsKQEAgLTE1NCw3ICsxNTQsNyBAQCB2b2lkIEhUTUxU
YWJsZVJvd0VsZW1lbnQ6OmRlbGV0ZUNlbGwoaW50IGluZGV4LCBFeGNlcHRpb25Db2RlJiBlYykK
ICAgICAgICAgZWMgPSBJTkRFWF9TSVpFX0VSUjsKIH0KIAotUmVmUHRyPEhUTUxDb2xsZWN0aW9u
PiBIVE1MVGFibGVSb3dFbGVtZW50OjpjZWxscygpCitSZWY8SFRNTENvbGxlY3Rpb24+IEhUTUxU
YWJsZVJvd0VsZW1lbnQ6OmNlbGxzKCkKIHsKICAgICByZXR1cm4gZW5zdXJlQ2FjaGVkSFRNTENv
bGxlY3Rpb24oVFJDZWxscyk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxUYWJsZVJvd0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlUm93RWxl
bWVudC5oCmluZGV4IDMxNzA3MzguLmM5OTdhZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFRhYmxlUm93RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFRhYmxlUm93RWxlbWVudC5oCkBAIC00NSw3ICs0NSw3IEBAIHB1YmxpYzoKICAgICBSZWZQdHI8
SFRNTEVsZW1lbnQ+IGluc2VydENlbGwoaW50IGluZGV4LCBFeGNlcHRpb25Db2RlJik7CiAgICAg
dm9pZCBkZWxldGVDZWxsKGludCBpbmRleCwgRXhjZXB0aW9uQ29kZSYpOwogCi0gICAgUmVmUHRy
PEhUTUxDb2xsZWN0aW9uPiBjZWxscygpOworICAgIFJlZjxIVE1MQ29sbGVjdGlvbj4gY2VsbHMo
KTsKICAgICB2b2lkIHNldENlbGxzKEhUTUxDb2xsZWN0aW9uICosIEV4Y2VwdGlvbkNvZGUmKTsK
IAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlU2Vj
dGlvbkVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFibGVTZWN0aW9uRWxl
bWVudC5jcHAKaW5kZXggNzEwYjQ3My4uZjc1NzE3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MVGFibGVTZWN0aW9uRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MVGFibGVTZWN0aW9uRWxlbWVudC5jcHAKQEAgLTU5LDggKzU5LDggQEAgY29uc3Qg
U3R5bGVQcm9wZXJ0aWVzKiBIVE1MVGFibGVTZWN0aW9uRWxlbWVudDo6YWRkaXRpb25hbFByZXNl
bnRhdGlvbkF0dHJpYnV0ZVMKIFJlZlB0cjxIVE1MRWxlbWVudD4gSFRNTFRhYmxlU2VjdGlvbkVs
ZW1lbnQ6Omluc2VydFJvdyhpbnQgaW5kZXgsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIFJl
ZlB0cjxIVE1MVGFibGVSb3dFbGVtZW50PiByb3c7Ci0gICAgUmVmUHRyPEhUTUxDb2xsZWN0aW9u
PiBjaGlsZHJlbiA9IHJvd3MoKTsKLSAgICBpbnQgbnVtUm93cyA9IGNoaWxkcmVuID8gKGludClj
aGlsZHJlbi0+bGVuZ3RoKCkgOiAwOworICAgIFJlZjxIVE1MQ29sbGVjdGlvbj4gY2hpbGRyZW4g
PSByb3dzKCk7CisgICAgaW50IG51bVJvd3MgPSBjaGlsZHJlbi0+bGVuZ3RoKCk7CiAgICAgaWYg
KGluZGV4IDwgLTEgfHwgaW5kZXggPiBudW1Sb3dzKQogICAgICAgICBlYyA9IElOREVYX1NJWkVf
RVJSOyAvLyBwZXIgdGhlIERPTQogICAgIGVsc2UgewpAQCAtODEsOCArODEsOCBAQCBSZWZQdHI8
SFRNTEVsZW1lbnQ+IEhUTUxUYWJsZVNlY3Rpb25FbGVtZW50OjppbnNlcnRSb3coaW50IGluZGV4
LCBFeGNlcHRpb25Db2RlJgogCiB2b2lkIEhUTUxUYWJsZVNlY3Rpb25FbGVtZW50OjpkZWxldGVS
b3coaW50IGluZGV4LCBFeGNlcHRpb25Db2RlJiBlYykKIHsKLSAgICBSZWZQdHI8SFRNTENvbGxl
Y3Rpb24+IGNoaWxkcmVuID0gcm93cygpOwotICAgIGludCBudW1Sb3dzID0gY2hpbGRyZW4gPyAo
aW50KWNoaWxkcmVuLT5sZW5ndGgoKSA6IDA7CisgICAgUmVmPEhUTUxDb2xsZWN0aW9uPiBjaGls
ZHJlbiA9IHJvd3MoKTsKKyAgICBpbnQgbnVtUm93cyA9IGNoaWxkcmVuLT5sZW5ndGgoKTsKICAg
ICBpZiAoaW5kZXggPT0gLTEpCiAgICAgICAgIGluZGV4ID0gbnVtUm93cyAtIDE7CiAgICAgaWYg
KGluZGV4ID49IDAgJiYgaW5kZXggPCBudW1Sb3dzKSB7CkBAIC0xNDUsNyArMTQ1LDcgQEAgdm9p
ZCBIVE1MVGFibGVTZWN0aW9uRWxlbWVudDo6c2V0VkFsaWduKGNvbnN0IEF0b21pY1N0cmluZyYg
dmFsdWUpCiAgICAgc2V0QXR0cmlidXRlKHZhbGlnbkF0dHIsIHZhbHVlKTsKIH0KIAotUmVmUHRy
PEhUTUxDb2xsZWN0aW9uPiBIVE1MVGFibGVTZWN0aW9uRWxlbWVudDo6cm93cygpCitSZWY8SFRN
TENvbGxlY3Rpb24+IEhUTUxUYWJsZVNlY3Rpb25FbGVtZW50Ojpyb3dzKCkKIHsKICAgICByZXR1
cm4gZW5zdXJlQ2FjaGVkSFRNTENvbGxlY3Rpb24oVFNlY3Rpb25Sb3dzKTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQuaAppbmRleCAzOTEwMTFhLi4w
YzE0NDAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUYWJsZVNlY3Rpb25F
bGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFibGVTZWN0aW9uRWxlbWVu
dC5oCkBAIC01Myw3ICs1Myw3IEBAIHB1YmxpYzoKICAgICBjb25zdCBBdG9taWNTdHJpbmcmIHZB
bGlnbigpIGNvbnN0OwogICAgIHZvaWQgc2V0VkFsaWduKGNvbnN0IEF0b21pY1N0cmluZyYpOwog
Ci0gICAgUmVmUHRyPEhUTUxDb2xsZWN0aW9uPiByb3dzKCk7CisgICAgUmVmPEhUTUxDb2xsZWN0
aW9uPiByb3dzKCk7CiAKIHByaXZhdGU6CiAgICAgSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQoY29u
c3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvUmFuZ2VJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9S
YW5nZUlucHV0VHlwZS5jcHAKaW5kZXggODgxMjc3MS4uYjViOWU3OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9SYW5nZUlucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9SYW5nZUlucHV0VHlwZS5jcHAKQEAgLTM2OCw3ICszNjgsNyBAQCB2b2lkIFJhbmdlSW5w
dXRUeXBlOjp1cGRhdGVUaWNrTWFya1ZhbHVlcygpCiAgICAgSFRNTERhdGFMaXN0RWxlbWVudCog
ZGF0YUxpc3QgPSBlbGVtZW50KCkuZGF0YUxpc3QoKTsKICAgICBpZiAoIWRhdGFMaXN0KQogICAg
ICAgICByZXR1cm47Ci0gICAgUmVmUHRyPEhUTUxDb2xsZWN0aW9uPiBvcHRpb25zID0gZGF0YUxp
c3QtPm9wdGlvbnMoKTsKKyAgICBSZWY8SFRNTENvbGxlY3Rpb24+IG9wdGlvbnMgPSBkYXRhTGlz
dC0+b3B0aW9ucygpOwogICAgIG1fdGlja01hcmtWYWx1ZXMucmVzZXJ2ZUNhcGFjaXR5KG9wdGlv
bnMtPmxlbmd0aCgpKTsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgb3B0aW9ucy0+bGVu
Z3RoKCk7ICsraSkgewogICAgICAgICBOb2RlKiBub2RlID0gb3B0aW9ucy0+aXRlbShpKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwCmluZGV4IDdlMTcyMGYuLmU4ZjZm
NTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcApAQCAtMTAzMCw3
ICsxMDMwLDcgQEAgdm9pZCBSZW5kZXJUaGVtZTo6cGFpbnRTbGlkZXJUaWNrcyhjb25zdCBSZW5k
ZXJPYmplY3QmIG8sIGNvbnN0IFBhaW50SW5mbyYgcGFpbnQKICAgICAgICAgdGlja1JlZ2lvblNp
ZGVNYXJnaW4gPSB0cmFja0JvdW5kcy55KCkgKyAodGh1bWJTaXplLndpZHRoKCkgLSB0aWNrU2l6
ZS53aWR0aCgpICogem9vbUZhY3RvcikgLyAyLjA7CiAgICAgICAgIHRpY2tSZWdpb25XaWR0aCA9
IHRyYWNrQm91bmRzLmhlaWdodCgpIC0gdGh1bWJTaXplLndpZHRoKCk7CiAgICAgfQotICAgIFJl
ZlB0cjxIVE1MQ29sbGVjdGlvbj4gb3B0aW9ucyA9IGRhdGFMaXN0LT5vcHRpb25zKCk7CisgICAg
UmVmPEhUTUxDb2xsZWN0aW9uPiBvcHRpb25zID0gZGF0YUxpc3QtPm9wdGlvbnMoKTsKICAgICBH
cmFwaGljc0NvbnRleHRTdGF0ZVNhdmVyIHN0YXRlU2F2ZXIoKnBhaW50SW5mby5jb250ZXh0KTsK
ICAgICBwYWludEluZm8uY29udGV4dC0+c2V0RmlsbENvbG9yKG8uc3R5bGUoKS52aXNpdGVkRGVw
ZW5kZW50Q29sb3IoQ1NTUHJvcGVydHlDb2xvciksIENvbG9yU3BhY2VEZXZpY2VSR0IpOwogICAg
IGZvciAodW5zaWduZWQgaSA9IDA7IE5vZGUqIG5vZGUgPSBvcHRpb25zLT5pdGVtKGkpOyBpKysp
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0RPTUhUTUxDbGFzc2VzLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvd2luL0RPTUhUTUxDbGFzc2VzLmNwcAppbmRleCBkOWFmOWEwLi5lMDg0MDk0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9ET01IVE1MQ2xhc3Nlcy5jcHAKKysrIGIv
U291cmNlL1dlYktpdC93aW4vRE9NSFRNTENsYXNzZXMuY3BwCkBAIC03MDMsOSArNzAzLDYgQEAg
SFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBET01IVE1MU2VsZWN0RWxlbWVudDo6b3B0aW9ucygK
ICAgICBBU1NFUlQobV9lbGVtZW50KTsKICAgICBIVE1MU2VsZWN0RWxlbWVudCYgc2VsZWN0RWxl
bWVudCA9IGRvd25jYXN0PEhUTUxTZWxlY3RFbGVtZW50PigqbV9lbGVtZW50KTsKIAotICAgIGlm
ICghc2VsZWN0RWxlbWVudC5vcHRpb25zKCkpCi0gICAgICAgIHJldHVybiBFX0ZBSUw7Ci0KICAg
ICAqcmVzdWx0ID0gbnVsbHB0cjsKICAgICBSZWZQdHI8SFRNTE9wdGlvbnNDb2xsZWN0aW9uPiBv
cHRpb25zID0gc2VsZWN0RWxlbWVudC5vcHRpb25zKCk7CiAgICAgKnJlc3VsdCA9IERPTUhUTUxP
cHRpb25zQ29sbGVjdGlvbjo6Y3JlYXRlSW5zdGFuY2Uob3B0aW9ucy5nZXQoKSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>