<?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>21496</bug_id>
          
          <creation_ts>2008-10-08 21:17:08 -0700</creation_ts>
          <short_desc>Auto-generated ObjC DOM bindings should have availability macros</short_desc>
          <delta_ts>2008-10-09 20:23:35 -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>WebKit API</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</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="Timothy Hatcher">timothy</reporter>
          <assigned_to name="Timothy Hatcher">timothy</assigned_to>
          <cc>mrowe</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>94696</commentid>
    <comment_count>0</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2008-10-08 21:17:08 -0700</bug_when>
    <thetext>We should add availability macros to the generated DOM bindings.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94710</commentid>
    <comment_count>1</comment_count>
      <attachid>24223</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2008-10-09 00:39:30 -0700</bug_when>
    <thetext>Created attachment 24223
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94712</commentid>
    <comment_count>2</comment_count>
      <attachid>24224</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2008-10-09 00:57:41 -0700</bug_when>
    <thetext>Created attachment 24224
Example Header</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94714</commentid>
    <comment_count>3</comment_count>
      <attachid>24225</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2008-10-09 00:59:12 -0700</bug_when>
    <thetext>Created attachment 24225
Another Example Header</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94835</commentid>
    <comment_count>4</comment_count>
      <attachid>24223</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2008-10-09 20:13:39 -0700</bug_when>
    <thetext>Comment on attachment 24223
Proposed patch

DOMAbstractViewFrame.h should not be API at all.  It should only be used for internal purposes.

r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94841</commentid>
    <comment_count>5</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2008-10-09 20:23:35 -0700</bug_when>
    <thetext>Landed in r37465.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>24223</attachid>
            <date>2008-10-09 00:39:30 -0700</date>
            <delta_ts>2008-10-09 20:13:39 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>0001-Annotate-the-Objective-C-DOM-APIs-with-the-JavaScrip.patch</filename>
            <type>text/plain</type>
            <size>81713</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">RnJvbSA0Mjg4NDk0M2JmNmJhZmFlOWRhNWQyNTY1YjI2YThmNTFkN2E4ZmM3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBUaW1vdGh5IEhhdGNoZXIgPHRpbW90aHlAYXBwbGUuY29tPgpE
YXRlOiBUaHUsIDkgT2N0IDIwMDggMDA6Mzg6MzUgLTA3MDAKU3ViamVjdDogW1BBVENIXSBBbm5v
dGF0ZSB0aGUgT2JqZWN0aXZlLUMgRE9NIEFQSXMgd2l0aCB0aGUgSmF2YVNjcmlwdENvcmUvV2Vi
S2l0QXZhaWxhYmlsaXR5LmggYXZhaWxhYmlsaXR5IG1hY3JvcyBhbmQgdmVyc2lvbiBtYWNyb3Mu
CgpXZWJDb3JlOgoKMjAwOC0xMC0wOSAgVGltb3RoeSBIYXRjaGVyICA8dGltb3RoeUBhcHBsZS5j
b20+CgogICAgICAgIEFubm90YXRlIHRoZSBPYmplY3RpdmUtQyBET00gQVBJcyB3aXRoIHRoZSBK
YXZhU2NyaXB0Q29yZS9XZWJLaXRBdmFpbGFiaWxpdHkuaAogICAgICAgIGF2YWlsYWJpbGl0eSBt
YWNyb3MgYW5kIHZlcnNpb24gbWFjcm9zLgoKICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjE0OTYKICAgICAgICByZGFyOi8vcHJvYmxlbS82MjU5MjI1Cgog
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICAqIGJpbmRpbmdzL29i
amMvRE9NQWJzdHJhY3RWaWV3RnJhbWUuaDogQWRkIGEgdmVyc2lvbiAjaWYgYXJvdW5kIGNhdGdv
cnkgaW50ZXJmYWNlLgogICAgICAgICogYmluZGluZ3Mvb2JqYy9ET01DU1MuaDogRGl0dG8uCiAg
ICAgICAgKiBiaW5kaW5ncy9vYmpjL0RPTUV2ZW50RXhjZXB0aW9uLmg6IEluY2x1ZGUgSmF2YVNj
cmlwdENvcmUvV2ViS2l0QXZhaWxhYmlsaXR5LmgKICAgICAgICBhbmQgYWRkIGFuICNpZiBhcm91
bmQgdGhlIGVudW0uCiAgICAgICAgKiBiaW5kaW5ncy9vYmpjL0RPTUV4Y2VwdGlvbi5oOiBEaXR0
by4gR2l2ZSB0aGUgZW51bSBhIG5hbWUgYW5kIHJlbW92ZSB0aGUKICAgICAgICBjb21tZW50IHRv
IG1hdGNoIHRoZSBvdGhlciBoZWFkZXJzLgogICAgICAgICogYmluZGluZ3Mvb2JqYy9ET01FeHRl
bnNpb25zLmg6IEFubm90YXRlIHRoZSBtZXRob2RzIHdpdGggdmVyc2lvbiAzLjAgb3IgbGF0ZXIu
CiAgICAgICAgKiBiaW5kaW5ncy9vYmpjL0RPTU9iamVjdC5oOiBBZGQgYSB2ZXJzaW9uICNpZiBh
cm91bmQgY2xhc3MgaW50ZXJmYWNlLgogICAgICAgICogYmluZGluZ3Mvb2JqYy9ET01SYW5nZUV4
Y2VwdGlvbi5oOiBJbmNsdWRlIEphdmFTY3JpcHRDb3JlL1dlYktpdEF2YWlsYWJpbGl0eS5oCiAg
ICAgICAgYW5kIGFkZCBhIHZlcnNpb24gI2lmIGFyb3VuZCB0aGUgZW51bS4KICAgICAgICAqIGJp
bmRpbmdzL29iamMvRE9NU1ZHRXhjZXB0aW9uLmg6IERpdHRvLiBVc2UgdGhlIGxhdGVzdCB2ZXJz
aW9uIHNpbmNlIFNWRyBpcyBuZXcuCiAgICAgICAgKiBiaW5kaW5ncy9vYmpjL0RPTVhQYXRoRXhj
ZXB0aW9uLmg6IERpdHRvLiBVc2UgdGhlIDMuMCB2ZXJzaW9uLgogICAgICAgICogYmluZGluZ3Mv
b2JqYy9QdWJsaWNET01JbnRlcmZhY2VzLmg6IEFubm90YXRlIGNsYXNzZXMgYW5kIHByb3RvY29s
cyBmb3IKICAgICAgICB3aGVuIHRoZXkgd2hlcmUgYWRkZWQgdG8gV2ViS2l0LiBBbHNvIGFubm90
YXRlIGluZGl2aWR1YWwgbWV0aG9kcyB0aGF0IGFyZQogICAgICAgIGRlcHJlY2F0ZWQgb3Igd2hl
cmUgYWRkZWQgYWZ0ZXIgdGhlIGNsYXNzIHdhcyBhZGRlZCB0byBXZWJLaXQuCiAgICAgICAgKiBi
aW5kaW5ncy9vYmpjL1dlYlNjcmlwdE9iamVjdC5oOiBJbmNsdWRlIEphdmFTY3JpcHRDb3JlL1dl
YktpdEF2YWlsYWJpbGl0eS5oCiAgICAgICAgc2luY2UgdGhpcyBoZWFkZXIgaXMgaW5jbHVkZWQg
YnkgbW9zdCBET00gaGVhZGVycy4gQW5ub3RhdGUgdGhlIEpTT2JqZWN0IG1ldGhvZC4KCiAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JPYmpDLnBtOgogICAgICAgIChSZWFk
UHVibGljSW50ZXJmYWNlcyk6IFBhcnNlIG91dCB0aGUgYXZhaWxhYmlsaXR5IG1hY3JvIGZvciBl
YWNoIGZ1bmN0aW9uL3Byb3BlcnR5LgogICAgICAgIEFuZCBwYXJzZSBvdXQgdGhlIGF2YWlsYWJp
bGl0eSB2ZXJzaW9uIGZvciB0aGUgY2xhc3MvcHJvdG9jb2wuIERlZmF1bHQgdG8KICAgICAgICBX
RUJLSVRfVkVSU0lPTl9MQVRFU1QgaWYgdGhlIGNsYXNzIGlzIG5ldy4KICAgICAgICAoR2VuZXJh
dGVIZWFkZXIpOiBJbmNsdWRlIEphdmFTY3JpcHRDb3JlL1dlYktpdEF2YWlsYWJpbGl0eS5oIGlm
IG5lZWRlZC4gQWRkIHRoZQogICAgICAgIGludGVyZmFjZSBhdmFpbGFiaWxpdHkgdmVyc2lvbiBj
aGVjayBpZiB0aGUgY2xhc3MgaGFzIGEgcmVxdWlyZWQgdmVyc2lvbi4gQ3JlYXRlCiAgICAgICAg
YSBwdWJsaWMgaW50ZXJmYWNlIGtleSAodXNlZCB0byBsb29rdXAgaW4gJHB1YmxpY0ludGVyZmFj
ZXMpIGFuZCBtYWtlIGEgZGVjbGFyYXRpb24KICAgICAgICBzdWZmaXggdGhhdCBpbmNsdWRlcyB0
aGUgYXZhaWxhYmlsaXR5IG1hY3JvIChpZiBuZWVkZWQpLiBVc2UgdGhlICJhdmFpbGFibGUgaW4g
MS4zCiAgICAgICAgYW5kIGxhdGVyIGJ1dCBkZXByZWNhdGVkIGluIDMuMCIgbWFjcm8gaW5zdGVh
ZCBvZiAiZGVwcmVjYXRlZCBpbiAxMC41IGFuZCBsYXRlciIgYXMKICAgICAgICB0aGUgZGVmYXVs
dCBhdmFpbGFiaWxpdHkgbWFjcm8gZm9yIG9sZCBzdHlsZSBtZXRob2RzLiBUd2VhayBsaW5lIGJy
ZWFrcyBpbiB0aGUgZ2VuZXJhdGVkCiAgICAgICAgaGVhZGVycyB0byBsb29rIGdvb2QgYW5kIG5v
dCBoYXZlIHRvbyBtYW55IGV4dHJhIGxpbmVzLgoKV2ViS2l0L21hYzoKCjIwMDgtMTAtMDkgIFRp
bW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgoKICAgICAgICBEb24ndCBjb252ZXJ0
IEphdmFTY3JpcHRDb3JlIGhlYWRlciBpbmNsdWRlIHBhdGhzIHRvIFdlYktpdCBwYXRocy4gVGhp
cyB3YXMgbmVlZGVkCiAgICAgICAgYmFjayB3aGVuIE5QQVBJIGFuZCBXZWJTY3JpcHRPYmplY3Qg
bWlncmF0ZWQgZnJvbSBKYXZhU2NyaXB0Q29yZS4gQWxzbyByZW1vdmUKICAgICAgICBKYXZhU2Ny
aXB0Q29yZSBmcm9tIHRoZSBWUEFUSC4KCiAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCgogICAgICAgICogTWlncmF0ZUhlYWRlcnMubWFrZToKLS0tCiBXZWJDb3JlL0NoYW5nZUxv
ZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDU2ICsrKysKIFdlYkNvcmUvYmluZGlu
Z3Mvb2JqYy9ET01BYnN0cmFjdFZpZXdGcmFtZS5oICB8ICAgIDMgKwogV2ViQ29yZS9iaW5kaW5n
cy9vYmpjL0RPTUNTUy5oICAgICAgICAgICAgICAgIHwgICAgNCArCiBXZWJDb3JlL2JpbmRpbmdz
L29iamMvRE9NRXZlbnRFeGNlcHRpb24uaCAgICAgfCAgICA2ICsKIFdlYkNvcmUvYmluZGluZ3Mv
b2JqYy9ET01FeGNlcHRpb24uaCAgICAgICAgICB8ICAgIDkgKy0KIFdlYkNvcmUvYmluZGluZ3Mv
b2JqYy9ET01FeHRlbnNpb25zLmggICAgICAgICB8ICAgMTAgKy0KIFdlYkNvcmUvYmluZGluZ3Mv
b2JqYy9ET01PYmplY3QuaCAgICAgICAgICAgICB8ICAgIDQgKwogV2ViQ29yZS9iaW5kaW5ncy9v
YmpjL0RPTVJhbmdlRXhjZXB0aW9uLmggICAgIHwgICAgNiArCiBXZWJDb3JlL2JpbmRpbmdzL29i
amMvRE9NU1ZHRXhjZXB0aW9uLmggICAgICAgfCAgICA2ICsKIFdlYkNvcmUvYmluZGluZ3Mvb2Jq
Yy9ET01YUGF0aEV4Y2VwdGlvbi5oICAgICB8ICAgIDYgKwogV2ViQ29yZS9iaW5kaW5ncy9vYmpj
L1B1YmxpY0RPTUludGVyZmFjZXMuaCAgIHwgIDM3OSArKysrKysrKysrKystLS0tLS0tLS0tLS0t
CiBXZWJDb3JlL2JpbmRpbmdzL29iamMvV2ViU2NyaXB0T2JqZWN0LmggICAgICAgfCAgICA3ICst
CiBXZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvck9iakMucG0gfCAgMTM5ICsr
KysrKy0tLS0KIFdlYktpdC9tYWMvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICB8
ICAgMTAgKwogV2ViS2l0L21hYy9NaWdyYXRlSGVhZGVycy5tYWtlICAgICAgICAgICAgICAgIHwg
ICAgNCArLQogMTUgZmlsZXMgY2hhbmdlZCwgMzk5IGluc2VydGlvbnMoKyksIDI1MCBkZWxldGlv
bnMoLSkKCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9n
CmluZGV4IDg1N2IxNDUuLjY0MjRlNGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisr
KyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTkgQEAKKzIwMDgtMTAtMDkgIFRpbW90
aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgorCisgICAgICAgIEFubm90YXRlIHRoZSBP
YmplY3RpdmUtQyBET00gQVBJcyB3aXRoIHRoZSBKYXZhU2NyaXB0Q29yZS9XZWJLaXRBdmFpbGFi
aWxpdHkuaAorICAgICAgICBhdmFpbGFiaWxpdHkgbWFjcm9zIGFuZCB2ZXJzaW9uIG1hY3Jvcy4K
KworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0OTYK
KyAgICAgICAgcmRhcjovL3Byb2JsZW0vNjI1OTIyNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogYmluZGluZ3Mvb2JqYy9ET01BYnN0cmFjdFZpZXdG
cmFtZS5oOiBBZGQgYSB2ZXJzaW9uICNpZiBhcm91bmQgY2F0Z29yeSBpbnRlcmZhY2UuCisgICAg
ICAgICogYmluZGluZ3Mvb2JqYy9ET01DU1MuaDogRGl0dG8uCisgICAgICAgICogYmluZGluZ3Mv
b2JqYy9ET01FdmVudEV4Y2VwdGlvbi5oOiBJbmNsdWRlIEphdmFTY3JpcHRDb3JlL1dlYktpdEF2
YWlsYWJpbGl0eS5oCisgICAgICAgIGFuZCBhZGQgYW4gI2lmIGFyb3VuZCB0aGUgZW51bS4KKyAg
ICAgICAgKiBiaW5kaW5ncy9vYmpjL0RPTUV4Y2VwdGlvbi5oOiBEaXR0by4gR2l2ZSB0aGUgZW51
bSBhIG5hbWUgYW5kIHJlbW92ZSB0aGUKKyAgICAgICAgY29tbWVudCB0byBtYXRjaCB0aGUgb3Ro
ZXIgaGVhZGVycy4KKyAgICAgICAgKiBiaW5kaW5ncy9vYmpjL0RPTUV4dGVuc2lvbnMuaDogQW5u
b3RhdGUgdGhlIG1ldGhvZHMgd2l0aCB2ZXJzaW9uIDMuMCBvciBsYXRlci4KKyAgICAgICAgKiBi
aW5kaW5ncy9vYmpjL0RPTU9iamVjdC5oOiBBZGQgYSB2ZXJzaW9uICNpZiBhcm91bmQgY2xhc3Mg
aW50ZXJmYWNlLgorICAgICAgICAqIGJpbmRpbmdzL29iamMvRE9NUmFuZ2VFeGNlcHRpb24uaDog
SW5jbHVkZSBKYXZhU2NyaXB0Q29yZS9XZWJLaXRBdmFpbGFiaWxpdHkuaAorICAgICAgICBhbmQg
YWRkIGEgdmVyc2lvbiAjaWYgYXJvdW5kIHRoZSBlbnVtLgorICAgICAgICAqIGJpbmRpbmdzL29i
amMvRE9NU1ZHRXhjZXB0aW9uLmg6IERpdHRvLiBVc2UgdGhlIGxhdGVzdCB2ZXJzaW9uIHNpbmNl
IFNWRyBpcyBuZXcuCisgICAgICAgICogYmluZGluZ3Mvb2JqYy9ET01YUGF0aEV4Y2VwdGlvbi5o
OiBEaXR0by4gVXNlIHRoZSAzLjAgdmVyc2lvbi4KKyAgICAgICAgKiBiaW5kaW5ncy9vYmpjL1B1
YmxpY0RPTUludGVyZmFjZXMuaDogQW5ub3RhdGUgY2xhc3NlcyBhbmQgcHJvdG9jb2xzIGZvcgor
ICAgICAgICB3aGVuIHRoZXkgd2hlcmUgYWRkZWQgdG8gV2ViS2l0LiBBbHNvIGFubm90YXRlIGlu
ZGl2aWR1YWwgbWV0aG9kcyB0aGF0IGFyZQorICAgICAgICBkZXByZWNhdGVkIG9yIHdoZXJlIGFk
ZGVkIGFmdGVyIHRoZSBjbGFzcyB3YXMgYWRkZWQgdG8gV2ViS2l0LgorICAgICAgICAqIGJpbmRp
bmdzL29iamMvV2ViU2NyaXB0T2JqZWN0Lmg6IEluY2x1ZGUgSmF2YVNjcmlwdENvcmUvV2ViS2l0
QXZhaWxhYmlsaXR5LmgKKyAgICAgICAgc2luY2UgdGhpcyBoZWFkZXIgaXMgaW5jbHVkZWQgYnkg
bW9zdCBET00gaGVhZGVycy4gQW5ub3RhdGUgdGhlIEpTT2JqZWN0IG1ldGhvZC4KKworICAgICAg
ICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvck9iakMucG06CisgICAgICAgIChSZWFk
UHVibGljSW50ZXJmYWNlcyk6IFBhcnNlIG91dCB0aGUgYXZhaWxhYmlsaXR5IG1hY3JvIGZvciBl
YWNoIGZ1bmN0aW9uL3Byb3BlcnR5LgorICAgICAgICBBbmQgcGFyc2Ugb3V0IHRoZSBhdmFpbGFi
aWxpdHkgdmVyc2lvbiBmb3IgdGhlIGNsYXNzL3Byb3RvY29sLiBEZWZhdWx0IHRvCisgICAgICAg
IFdFQktJVF9WRVJTSU9OX0xBVEVTVCBpZiB0aGUgY2xhc3MgaXMgbmV3LgorICAgICAgICAoR2Vu
ZXJhdGVIZWFkZXIpOiBJbmNsdWRlIEphdmFTY3JpcHRDb3JlL1dlYktpdEF2YWlsYWJpbGl0eS5o
IGlmIG5lZWRlZC4gQWRkIHRoZQorICAgICAgICBpbnRlcmZhY2UgYXZhaWxhYmlsaXR5IHZlcnNp
b24gY2hlY2sgaWYgdGhlIGNsYXNzIGhhcyBhIHJlcXVpcmVkIHZlcnNpb24uIENyZWF0ZQorICAg
ICAgICBhIHB1YmxpYyBpbnRlcmZhY2Uga2V5ICh1c2VkIHRvIGxvb2t1cCBpbiAkcHVibGljSW50
ZXJmYWNlcykgYW5kIG1ha2UgYSBkZWNsYXJhdGlvbgorICAgICAgICBzdWZmaXggdGhhdCBpbmNs
dWRlcyB0aGUgYXZhaWxhYmlsaXR5IG1hY3JvIChpZiBuZWVkZWQpLiBVc2UgdGhlICJhdmFpbGFi
bGUgaW4gMS4zCisgICAgICAgIGFuZCBsYXRlciBidXQgZGVwcmVjYXRlZCBpbiAzLjAiIG1hY3Jv
IGluc3RlYWQgb2YgImRlcHJlY2F0ZWQgaW4gMTAuNSBhbmQgbGF0ZXIiIGFzCisgICAgICAgIHRo
ZSBkZWZhdWx0IGF2YWlsYWJpbGl0eSBtYWNybyBmb3Igb2xkIHN0eWxlIG1ldGhvZHMuIFR3ZWFr
IGxpbmUgYnJlYWtzIGluIHRoZSBnZW5lcmF0ZWQKKyAgICAgICAgaGVhZGVycyB0byBsb29rIGdv
b2QgYW5kIG5vdCBoYXZlIHRvbyBtYW55IGV4dHJhIGxpbmVzLgorCisyMDA4LTEwLTA5ICBUaW1v
dGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KKworICAgICAgICBVc2UgYXZhaWxhYmls
aXR5IG1hY3JvcyBmcm9tIEphdmFTY3JpcHRDb3JlL1dlYktpdEF2YWlsYWJpbGl0eS5oIGluc3Rl
YWQgb2YKKyAgICAgICAgdGhlIHN5c3RlbSBhdmFpbGFiaWxpdHkgbWFjcm9zIHRvIG1hcmsgZGVw
cmVjYXRlZCBhdXRvLWdlbmVyYXRlZCBET00gQVBJcy4KKworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9T09QUyEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGJpbmRpbmdzL29iamMvV2ViU2NyaXB0T2JqZWN0
Lmg6IEluY2x1ZGUgSmF2YVNjcmlwdENvcmUvV2ViS2l0QXZhaWxhYmlsaXR5LmgKKyAgICAgICAg
c2luY2UgdGhpcyBoZWFkZXIgaXMgaW5jbHVkZWQgYnkgYWxsIERPTSBoZWFkZXJzLiBBZGQgYW4g
YXZhaWxpYmlsaXR5IG1hY3JvIHRvCisgICAgICAgIHRoZSBKU09iamVjdCBtZXRob2QgKEFWQUlM
QUJMRV9XRUJLSVRfVkVSU0lPTl8zXzBfQU5EX0xBVEVSKS4KKyAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3JPYmpDLnBtOiBVcGRhdGUgdGhlIGNvcHlyaWdodCBkYXRlcy4g
UmVtb3ZlIGFuCisgICAgICAgIGV4dHJhIG5ldyBsaW5lIGluIHRoZSBnZW5lcmF0ZWQgaGVhZGVy
LiBVc2UgdGhlICJhdmFpbGFibGUgaW4gMS4zIGFuZCBsYXRlcgorICAgICAgICBidXQgZGVwcmVj
YXRlZCBpbiAzLjAiIG1hY3JvIGluc3RlYWQgb2YgImRlcHJlY2F0ZWQgaW4gMTAuNSBhbmQgbGF0
ZXIiLgorCiAyMDA4LTEwLTA4ICBOaWtvbGFzIFppbW1lcm1hbm4gIDx6aW1tZXJtYW5uQGtkZS5v
cmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgT2xpdmVyIEh1bnQgJiBTYW0gV2VpbmlnLgpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUFic3RyYWN0Vmlld0ZyYW1lLmggYi9X
ZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NQWJzdHJhY3RWaWV3RnJhbWUuaAppbmRleCA2MDAwMmY5
Li42NGMzYjNiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NQWJzdHJhY3RW
aWV3RnJhbWUuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NQWJzdHJhY3RWaWV3RnJh
bWUuaApAQCAtMjgsNyArMjgsMTAgQEAKIAogI2ltcG9ydCA8V2ViQ29yZS9ET01BYnN0cmFjdFZp
ZXcuaD4KIAorI2lmIFdFQktJVF9WRVJTSU9OX01BWF9BTExPV0VEID49IFdFQktJVF9WRVJTSU9O
XzFfMworCiBAaW50ZXJmYWNlIERPTUFic3RyYWN0VmlldyAoRnJhbWUpCiAtICh2b2lkKV9kaXNj
b25uZWN0RnJhbWU7CiBAZW5kCiAKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5n
cy9vYmpjL0RPTUNTUy5oIGIvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUNTUy5oCmluZGV4IDdi
YWU5ZWQuLmRhYWE4YTAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01DU1Mu
aAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NQ1NTLmgKQEAgLTQ4LDYgKzQ4LDggQEAK
ICNpbXBvcnQgPFdlYkNvcmUvRE9NUkdCQ29sb3IuaD4KICNpbXBvcnQgPFdlYkNvcmUvRE9NUmVj
dC5oPgogCisjaWYgV0VCS0lUX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gV0VCS0lUX1ZFUlNJT05f
MV8zCisKIEBpbnRlcmZhY2UgRE9NQ1NTU3R5bGVEZWNsYXJhdGlvbiAoRE9NQ1NTMlByb3BlcnRp
ZXMpCiAtIChOU1N0cmluZyAqKWF6aW11dGg7CiAtICh2b2lkKXNldEF6aW11dGg6KE5TU3RyaW5n
ICopYXppbXV0aDsKQEAgLTI5NCwzICsyOTYsNSBAQAogLSAoTlNTdHJpbmcgKil6SW5kZXg7CiAt
ICh2b2lkKXNldFpJbmRleDooTlNTdHJpbmcgKil6SW5kZXg7CiBAZW5kCisKKyNlbmRpZgpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUV2ZW50RXhjZXB0aW9uLmggYi9XZWJD
b3JlL2JpbmRpbmdzL29iamMvRE9NRXZlbnRFeGNlcHRpb24uaAppbmRleCA0ZTgwNWFkLi5hNDg1
OTU1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NRXZlbnRFeGNlcHRpb24u
aAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NRXZlbnRFeGNlcHRpb24uaApAQCAtMjQs
NiArMjQsMTAgQEAKICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAogICovCiAKKyNpbXBvcnQgPEphdmFTY3JpcHRD
b3JlL1dlYktpdEF2YWlsYWJpbGl0eS5oPgorCisjaWYgV0VCS0lUX1ZFUlNJT05fTUFYX0FMTE9X
RUQgPj0gV0VCS0lUX1ZFUlNJT05fMV8zCisKIEBjbGFzcyBOU1N0cmluZzsKIAogZXh0ZXJuIE5T
U3RyaW5nICogY29uc3QgRE9NRXZlbnRFeGNlcHRpb247CkBAIC0zMSwzICszNSw1IEBAIGV4dGVy
biBOU1N0cmluZyAqIGNvbnN0IERPTUV2ZW50RXhjZXB0aW9uOwogZW51bSBET01FdmVudEV4Y2Vw
dGlvbkNvZGUgewogICAgIERPTV9VTlNQRUNJRklFRF9FVkVOVF9UWVBFX0VSUiA9IDAKIH07CisK
KyNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUV4Y2VwdGlvbi5o
IGIvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUV4Y2VwdGlvbi5oCmluZGV4IDFlZmRmMjQuLjY0
ZDcxOTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01FeGNlcHRpb24uaAor
KysgYi9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NRXhjZXB0aW9uLmgKQEAgLTI0LDEyICsyNCwx
NSBAQAogICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gCiAgKi8KIAorI2ltcG9ydCA8SmF2YVNjcmlwdENvcmUvV2Vi
S2l0QXZhaWxhYmlsaXR5Lmg+CisKKyNpZiBXRUJLSVRfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSBX
RUJLSVRfVkVSU0lPTl8xXzMKKwogQGNsYXNzIE5TU3RyaW5nOwogCiBleHRlcm4gTlNTdHJpbmcg
KiBjb25zdCBET01FeGNlcHRpb247CiAKLS8vIERPTSBleGNlcHRpb24gY29kZXMKLWVudW0gewor
ZW51bSBET01FeGNlcHRpb25Db2RlIHsKICAgICBET01fSU5ERVhfU0laRV9FUlIgICAgICAgICAg
ICAgICAgPSAxLAogICAgIERPTV9ET01TVFJJTkdfU0laRV9FUlIgICAgICAgICAgICA9IDIsCiAg
ICAgRE9NX0hJRVJBUkNIWV9SRVFVRVNUX0VSUiAgICAgICAgID0gMywKQEAgLTQ2LDMgKzQ5LDUg
QEAgZW51bSB7CiAgICAgRE9NX05BTUVTUEFDRV9FUlIgICAgICAgICAgICAgICAgID0gMTQsCiAg
ICAgRE9NX0lOVkFMSURfQUNDRVNTX0VSUiAgICAgICAgICAgID0gMTUKIH07CisKKyNlbmRpZgpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUV4dGVuc2lvbnMuaCBiL1dlYkNv
cmUvYmluZGluZ3Mvb2JqYy9ET01FeHRlbnNpb25zLmgKaW5kZXggODE4OGMzMC4uZTkzN2U3NCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUV4dGVuc2lvbnMuaAorKysgYi9X
ZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NRXh0ZW5zaW9ucy5oCkBAIC00OCwxNSArNDgsMTUgQEAK
IEBjbGFzcyBOU1VSTDsKIAogQGludGVyZmFjZSBET01Ob2RlIChET01Ob2RlRXh0ZW5zaW9ucykK
LS0gKE5TUmVjdClib3VuZGluZ0JveDsKLS0gKE5TQXJyYXkgKilsaW5lQm94UmVjdHM7CistIChO
U1JlY3QpYm91bmRpbmdCb3ggV0VCS0lUX0NBVEVHT1JZX01FVEhPRF9BTk5PVEFUSU9OKEFWQUlM
QUJMRV9XRUJLSVRfVkVSU0lPTl8zXzBfQU5EX0xBVEVSKTsKKy0gKE5TQXJyYXkgKilsaW5lQm94
UmVjdHMgV0VCS0lUX0NBVEVHT1JZX01FVEhPRF9BTk5PVEFUSU9OKEFWQUlMQUJMRV9XRUJLSVRf
VkVSU0lPTl8zXzBfQU5EX0xBVEVSKTsKIEBlbmQKIAogQGludGVyZmFjZSBET01FbGVtZW50IChE
T01FbGVtZW50QXBwS2l0RXh0ZW5zaW9ucykKLS0gKE5TSW1hZ2UgKilpbWFnZTsKKy0gKE5TSW1h
Z2UgKilpbWFnZSBXRUJLSVRfQ0FURUdPUllfTUVUSE9EX0FOTk9UQVRJT04oQVZBSUxBQkxFX1dF
QktJVF9WRVJTSU9OXzNfMF9BTkRfTEFURVIpOwogQGVuZAogCiBAaW50ZXJmYWNlIERPTUhUTUxE
b2N1bWVudCAoRE9NSFRNTERvY3VtZW50RXh0ZW5zaW9ucykKLS0gKERPTURvY3VtZW50RnJhZ21l
bnQgKiljcmVhdGVEb2N1bWVudEZyYWdtZW50V2l0aE1hcmt1cFN0cmluZzooTlNTdHJpbmcgKilt
YXJrdXBTdHJpbmcgYmFzZVVSTDooTlNVUkwgKiliYXNlVVJMOwotLSAoRE9NRG9jdW1lbnRGcmFn
bWVudCAqKWNyZWF0ZURvY3VtZW50RnJhZ21lbnRXaXRoVGV4dDooTlNTdHJpbmcgKil0ZXh0Owor
LSAoRE9NRG9jdW1lbnRGcmFnbWVudCAqKWNyZWF0ZURvY3VtZW50RnJhZ21lbnRXaXRoTWFya3Vw
U3RyaW5nOihOU1N0cmluZyAqKW1hcmt1cFN0cmluZyBiYXNlVVJMOihOU1VSTCAqKWJhc2VVUkwg
V0VCS0lUX0NBVEVHT1JZX01FVEhPRF9BTk5PVEFUSU9OKEFWQUlMQUJMRV9XRUJLSVRfVkVSU0lP
Tl8zXzBfQU5EX0xBVEVSKTsKKy0gKERPTURvY3VtZW50RnJhZ21lbnQgKiljcmVhdGVEb2N1bWVu
dEZyYWdtZW50V2l0aFRleHQ6KE5TU3RyaW5nICopdGV4dCBXRUJLSVRfQ0FURUdPUllfTUVUSE9E
X0FOTk9UQVRJT04oQVZBSUxBQkxFX1dFQktJVF9WRVJTSU9OXzNfMF9BTkRfTEFURVIpOwogQGVu
ZApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTU9iamVjdC5oIGIvV2ViQ29y
ZS9iaW5kaW5ncy9vYmpjL0RPTU9iamVjdC5oCmluZGV4IDIyZDczOWUuLjE2NjYzN2QgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01PYmplY3QuaAorKysgYi9XZWJDb3JlL2Jp
bmRpbmdzL29iamMvRE9NT2JqZWN0LmgKQEAgLTI3LDYgKzI3LDggQEAKICNpbXBvcnQgPFdlYkNv
cmUvRE9NRXhjZXB0aW9uLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1dlYlNjcmlwdE9iamVjdC5oPgog
CisjaWYgV0VCS0lUX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gV0VCS0lUX1ZFUlNJT05fMV8zCisK
IEBjbGFzcyBET01TdHlsZVNoZWV0OwogCiB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgbG9uZyBET01U
aW1lU3RhbXA7CkBAIC00NiwzICs0OCw1IEBAIHR5cGVkZWYgc3RydWN0IERPTU9iamVjdEludGVy
bmFsIERPTU9iamVjdEludGVybmFsOwogLSAoRE9NU3R5bGVTaGVldCAqKXNoZWV0OwogI2VuZGlm
CiBAZW5kCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTVJh
bmdlRXhjZXB0aW9uLmggYi9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NUmFuZ2VFeGNlcHRpb24u
aAppbmRleCBhNjI1ZDQ5Li44NzRhNTQwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL29i
amMvRE9NUmFuZ2VFeGNlcHRpb24uaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NUmFu
Z2VFeGNlcHRpb24uaApAQCAtMjQsNiArMjQsMTAgQEAKICAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAogICovCiAK
KyNpbXBvcnQgPEphdmFTY3JpcHRDb3JlL1dlYktpdEF2YWlsYWJpbGl0eS5oPgorCisjaWYgV0VC
S0lUX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gV0VCS0lUX1ZFUlNJT05fMV8zCisKIEBjbGFzcyBO
U1N0cmluZzsKIAogZXh0ZXJuIE5TU3RyaW5nICogY29uc3QgRE9NUmFuZ2VFeGNlcHRpb247CkBA
IC0zMiwzICszNiw1IEBAIGVudW0gRE9NUmFuZ2VFeGNlcHRpb25Db2RlIHsKICAgICBET01fQkFE
X0JPVU5EQVJZUE9JTlRTX0VSUiAgICAgICAgPSAxLAogICAgIERPTV9JTlZBTElEX05PREVfVFlQ
RV9FUlIgICAgICAgICA9IDIKIH07CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5k
aW5ncy9vYmpjL0RPTVNWR0V4Y2VwdGlvbi5oIGIvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTVNW
R0V4Y2VwdGlvbi5oCmluZGV4IDFlYjEyMWEuLmI3NTc5NzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
YmluZGluZ3Mvb2JqYy9ET01TVkdFeGNlcHRpb24uaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL29i
amMvRE9NU1ZHRXhjZXB0aW9uLmgKQEAgLTI0LDYgKzI0LDEwIEBACiAgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
ICAqLwogCisjaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9XZWJLaXRBdmFpbGFiaWxpdHkuaD4KKwor
I2lmIFdFQktJVF9WRVJTSU9OX01BWF9BTExPV0VEID49IFdFQktJVF9WRVJTSU9OX0xBVEVTVAor
CiBAY2xhc3MgTlNTdHJpbmc7CiAKIGV4dGVybiBOU1N0cmluZyAqIGNvbnN0IERPTVNWR0V4Y2Vw
dGlvbjsKQEAgLTMzLDMgKzM3LDUgQEAgZW51bSBET01TVkdFeGNlcHRpb24gewogICAgIERPTV9T
VkdfSU5WQUxJRF9WQUxVRV9FUlIgICAgICAgID0gMSwKICAgICBET01fU1ZHX01BVFJJWF9OT1Rf
SU5WRVJUQUJMRSAgICA9IDIKIH07CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5k
aW5ncy9vYmpjL0RPTVhQYXRoRXhjZXB0aW9uLmggYi9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9N
WFBhdGhFeGNlcHRpb24uaAppbmRleCA2ZGI4MjkyLi4zMmY5NWZiIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2JpbmRpbmdzL29iamMvRE9NWFBhdGhFeGNlcHRpb24uaAorKysgYi9XZWJDb3JlL2JpbmRp
bmdzL29iamMvRE9NWFBhdGhFeGNlcHRpb24uaApAQCAtMjQsNiArMjQsMTAgQEAKICAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAogICovCiAKKyNpbXBvcnQgPEphdmFTY3JpcHRDb3JlL1dlYktpdEF2YWlsYWJpbGl0
eS5oPgorCisjaWYgV0VCS0lUX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gV0VCS0lUX1ZFUlNJT05f
M18wCisKIEBjbGFzcyBOU1N0cmluZzsKIAogZXh0ZXJuIE5TU3RyaW5nICogY29uc3QgRE9NWFBh
dGhFeGNlcHRpb247CkBAIC0zMiwzICszNiw1IEBAIGVudW0gRE9NWFBhdGhFeGNlcHRpb25Db2Rl
IHsKICAgICBET01fSU5WQUxJRF9FWFBSRVNTSU9OX0VSUiAgICAgID0gNTEsCiAgICAgRE9NX1RZ
UEVfRVJSICAgICAgICAgICAgICAgICAgICA9IDUyCiB9OworCisjZW5kaWYKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9QdWJsaWNET01JbnRlcmZhY2VzLmggYi9XZWJDb3JlL2Jp
bmRpbmdzL29iamMvUHVibGljRE9NSW50ZXJmYWNlcy5oCmluZGV4IDVjZGI3YTkuLjM0OWFiYWYg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9QdWJsaWNET01JbnRlcmZhY2VzLmgK
KysrIGIvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL1B1YmxpY0RPTUludGVyZmFjZXMuaApAQCAtMzAs
NTEgKzMwLDUxIEBACiAjZXJyb3IgRG8gbm90IGluY2x1ZGUgdGhpcyBoZWFkZXIsIGluc3RlYWQg
aW5jbHVkZSB0aGUgYXBwcm9wcmlhdGUgRE9NIGhlYWRlci4KICNlbmRpZgogCi1AaW50ZXJmYWNl
IERPTUF0dHIgOiBET01Ob2RlCitAaW50ZXJmYWNlIERPTUF0dHIgOiBET01Ob2RlIFdFQktJVF9W
RVJTSU9OXzFfMwogQHByb3BlcnR5KHJlYWRvbmx5LCBjb3B5KSBOU1N0cmluZyAqbmFtZTsKIEBw
cm9wZXJ0eShyZWFkb25seSkgQk9PTCBzcGVjaWZpZWQ7CiBAcHJvcGVydHkoY29weSkgTlNTdHJp
bmcgKnZhbHVlOwogQHByb3BlcnR5KHJlYWRvbmx5LCByZXRhaW4pIERPTUVsZW1lbnQgKm93bmVy
RWxlbWVudDsKLUBwcm9wZXJ0eShyZWFkb25seSwgcmV0YWluKSBET01DU1NTdHlsZURlY2xhcmF0
aW9uICpzdHlsZTsKK0Bwcm9wZXJ0eShyZWFkb25seSwgcmV0YWluKSBET01DU1NTdHlsZURlY2xh
cmF0aW9uICpzdHlsZSBBVkFJTEFCTEVfV0VCS0lUX1ZFUlNJT05fM18wX0FORF9MQVRFUjsKIEBl
bmQKIAotQGludGVyZmFjZSBET01DREFUQVNlY3Rpb24gOiBET01UZXh0CitAaW50ZXJmYWNlIERP
TUNEQVRBU2VjdGlvbiA6IERPTVRleHQgV0VCS0lUX1ZFUlNJT05fMV8zCiBAZW5kCiAKLUBpbnRl
cmZhY2UgRE9NQ2hhcmFjdGVyRGF0YSA6IERPTU5vZGUKK0BpbnRlcmZhY2UgRE9NQ2hhcmFjdGVy
RGF0YSA6IERPTU5vZGUgV0VCS0lUX1ZFUlNJT05fMV8zCiBAcHJvcGVydHkoY29weSkgTlNTdHJp
bmcgKmRhdGE7CiBAcHJvcGVydHkocmVhZG9ubHkpIHVuc2lnbmVkIGxlbmd0aDsKIC0gKE5TU3Ry
aW5nICopc3Vic3RyaW5nRGF0YToodW5zaWduZWQpb2Zmc2V0IDoodW5zaWduZWQpbGVuZ3RoOwot
LSAoTlNTdHJpbmcgKilzdWJzdHJpbmdEYXRhOih1bnNpZ25lZClvZmZzZXQgbGVuZ3RoOih1bnNp
Z25lZClsZW5ndGg7CistIChOU1N0cmluZyAqKXN1YnN0cmluZ0RhdGE6KHVuc2lnbmVkKW9mZnNl
dCBsZW5ndGg6KHVuc2lnbmVkKWxlbmd0aCBBVkFJTEFCTEVfV0VCS0lUX1ZFUlNJT05fM18wX0FO
RF9MQVRFUjsKIC0gKHZvaWQpYXBwZW5kRGF0YTooTlNTdHJpbmcgKilkYXRhOwogLSAodm9pZClp
bnNlcnREYXRhOih1bnNpZ25lZClvZmZzZXQgOihOU1N0cmluZyAqKWRhdGE7CiAtICh2b2lkKWRl
bGV0ZURhdGE6KHVuc2lnbmVkKW9mZnNldCA6KHVuc2lnbmVkKWxlbmd0aDsKIC0gKHZvaWQpcmVw
bGFjZURhdGE6KHVuc2lnbmVkKW9mZnNldCA6KHVuc2lnbmVkKWxlbmd0aCA6KE5TU3RyaW5nICop
ZGF0YTsKLS0gKHZvaWQpaW5zZXJ0RGF0YToodW5zaWduZWQpb2Zmc2V0IGRhdGE6KE5TU3RyaW5n
ICopZGF0YTsKLS0gKHZvaWQpZGVsZXRlRGF0YToodW5zaWduZWQpb2Zmc2V0IGxlbmd0aDoodW5z
aWduZWQpbGVuZ3RoOwotLSAodm9pZClyZXBsYWNlRGF0YToodW5zaWduZWQpb2Zmc2V0IGxlbmd0
aDoodW5zaWduZWQpbGVuZ3RoIGRhdGE6KE5TU3RyaW5nICopZGF0YTsKKy0gKHZvaWQpaW5zZXJ0
RGF0YToodW5zaWduZWQpb2Zmc2V0IGRhdGE6KE5TU3RyaW5nICopZGF0YSBBVkFJTEFCTEVfV0VC
S0lUX1ZFUlNJT05fM18wX0FORF9MQVRFUjsKKy0gKHZvaWQpZGVsZXRlRGF0YToodW5zaWduZWQp
b2Zmc2V0IGxlbmd0aDoodW5zaWduZWQpbGVuZ3RoIEFWQUlMQUJMRV9XRUJLSVRfVkVSU0lPTl8z
XzBfQU5EX0xBVEVSOworLSAodm9pZClyZXBsYWNlRGF0YToodW5zaWduZWQpb2Zmc2V0IGxlbmd0
aDoodW5zaWduZWQpbGVuZ3RoIGRhdGE6KE5TU3RyaW5nICopZGF0YSBBVkFJTEFCTEVfV0VCS0lU
X1ZFUlNJT05fM18wX0FORF9MQVRFUjsKIEBlbmQKIAotQGludGVyZmFjZSBET01Db21tZW50IDog
RE9NQ2hhcmFjdGVyRGF0YQorQGludGVyZmFjZSBET01Db21tZW50IDogRE9NQ2hhcmFjdGVyRGF0
YSBXRUJLSVRfVkVSU0lPTl8xXzMKIEBlbmQKIAotQGludGVyZmFjZSBET01JbXBsZW1lbnRhdGlv
biA6IERPTU9iamVjdAorQGludGVyZmFjZSBET01JbXBsZW1lbnRhdGlvbiA6IERPTU9iamVjdCBX
RUJLSVRfVkVSU0lPTl8xXzMKIC0gKEJPT0wpaGFzRmVhdHVyZTooTlNTdHJpbmcgKilmZWF0dXJl
IDooTlNTdHJpbmcgKil2ZXJzaW9uOwogLSAoRE9NRG9jdW1lbnRUeXBlICopY3JlYXRlRG9jdW1l
bnRUeXBlOihOU1N0cmluZyAqKXF1YWxpZmllZE5hbWUgOihOU1N0cmluZyAqKXB1YmxpY0lkIDoo
TlNTdHJpbmcgKilzeXN0ZW1JZDsKIC0gKERPTURvY3VtZW50ICopY3JlYXRlRG9jdW1lbnQ6KE5T
U3RyaW5nICopbmFtZXNwYWNlVVJJIDooTlNTdHJpbmcgKilxdWFsaWZpZWROYW1lIDooRE9NRG9j
dW1lbnRUeXBlICopZG9jdHlwZTsKIC0gKERPTUNTU1N0eWxlU2hlZXQgKiljcmVhdGVDU1NTdHls
ZVNoZWV0OihOU1N0cmluZyAqKXRpdGxlIDooTlNTdHJpbmcgKiltZWRpYTsKLS0gKEJPT0wpaGFz
RmVhdHVyZTooTlNTdHJpbmcgKilmZWF0dXJlIHZlcnNpb246KE5TU3RyaW5nICopdmVyc2lvbjsK
LS0gKERPTURvY3VtZW50VHlwZSAqKWNyZWF0ZURvY3VtZW50VHlwZTooTlNTdHJpbmcgKilxdWFs
aWZpZWROYW1lIHB1YmxpY0lkOihOU1N0cmluZyAqKXB1YmxpY0lkIHN5c3RlbUlkOihOU1N0cmlu
ZyAqKXN5c3RlbUlkOwotLSAoRE9NRG9jdW1lbnQgKiljcmVhdGVEb2N1bWVudDooTlNTdHJpbmcg
KiluYW1lc3BhY2VVUkkgcXVhbGlmaWVkTmFtZTooTlNTdHJpbmcgKilxdWFsaWZpZWROYW1lIGRv
Y3R5cGU6KERPTURvY3VtZW50VHlwZSAqKWRvY3R5cGU7Ci0tIChET01DU1NTdHlsZVNoZWV0ICop
Y3JlYXRlQ1NTU3R5bGVTaGVldDooTlNTdHJpbmcgKil0aXRsZSBtZWRpYTooTlNTdHJpbmcgKilt
ZWRpYTsKLS0gKERPTUhUTUxEb2N1bWVudCAqKWNyZWF0ZUhUTUxEb2N1bWVudDooTlNTdHJpbmcg
Kil0aXRsZTsKKy0gKEJPT0wpaGFzRmVhdHVyZTooTlNTdHJpbmcgKilmZWF0dXJlIHZlcnNpb246
KE5TU3RyaW5nICopdmVyc2lvbiBBVkFJTEFCTEVfV0VCS0lUX1ZFUlNJT05fM18wX0FORF9MQVRF
UjsKKy0gKERPTURvY3VtZW50VHlwZSAqKWNyZWF0ZURvY3VtZW50VHlwZTooTlNTdHJpbmcgKilx
dWFsaWZpZWROYW1lIHB1YmxpY0lkOihOU1N0cmluZyAqKXB1YmxpY0lkIHN5c3RlbUlkOihOU1N0
cmluZyAqKXN5c3RlbUlkIEFWQUlMQUJMRV9XRUJLSVRfVkVSU0lPTl8zXzBfQU5EX0xBVEVSOwor
LSAoRE9NRG9jdW1lbnQgKiljcmVhdGVEb2N1bWVudDooTlNTdHJpbmcgKiluYW1lc3BhY2VVUkkg
cXVhbGlmaWVkTmFtZTooTlNTdHJpbmcgKilxdWFsaWZpZWROYW1lIGRvY3R5cGU6KERPTURvY3Vt
ZW50VHlwZSAqKWRvY3R5cGUgQVZBSUxBQkxFX1dFQktJVF9WRVJTSU9OXzNfMF9BTkRfTEFURVI7
CistIChET01DU1NTdHlsZVNoZWV0ICopY3JlYXRlQ1NTU3R5bGVTaGVldDooTlNTdHJpbmcgKil0
aXRsZSBtZWRpYTooTlNTdHJpbmcgKiltZWRpYSBBVkFJTEFCTEVfV0VCS0lUX1ZFUlNJT05fM18w
X0FORF9MQVRFUjsKKy0gKERPTUhUTUxEb2N1bWVudCAqKWNyZWF0ZUhUTUxEb2N1bWVudDooTlNT
dHJpbmcgKil0aXRsZSBBVkFJTEFCTEVfV0VCS0lUX1ZFUlNJT05fM18wX0FORF9MQVRFUjsKIEBl
bmQKIAotQGludGVyZmFjZSBET01BYnN0cmFjdFZpZXcgOiBET01PYmplY3QKK0BpbnRlcmZhY2Ug
RE9NQWJzdHJhY3RWaWV3IDogRE9NT2JqZWN0IFdFQktJVF9WRVJTSU9OXzFfMwogQHByb3BlcnR5
KHJlYWRvbmx5LCByZXRhaW4pIERPTURvY3VtZW50ICpkb2N1bWVudDsKIEBlbmQKIAotQGludGVy
ZmFjZSBET01Eb2N1bWVudCA6IERPTU5vZGUKK0BpbnRlcmZhY2UgRE9NRG9jdW1lbnQgOiBET01O
b2RlIFdFQktJVF9WRVJTSU9OXzFfMwogQHByb3BlcnR5KHJlYWRvbmx5LCByZXRhaW4pIERPTURv
Y3VtZW50VHlwZSAqZG9jdHlwZTsKIEBwcm9wZXJ0eShyZWFkb25seSwgcmV0YWluKSBET01JbXBs
ZW1lbnRhdGlvbiAqaW1wbGVtZW50YXRpb247CiBAcHJvcGVydHkocmVhZG9ubHksIHJldGFpbikg
RE9NRWxlbWVudCAqZG9jdW1lbnRFbGVtZW50OwpAQCAtOTcsNyArOTcsNyBAQAogLSAoRE9NQ29t
bWVudCAqKWNyZWF0ZUNvbW1lbnQ6KE5TU3RyaW5nICopZGF0YTsKIC0gKERPTUNEQVRBU2VjdGlv
biAqKWNyZWF0ZUNEQVRBU2VjdGlvbjooTlNTdHJpbmcgKilkYXRhOwogLSAoRE9NUHJvY2Vzc2lu
Z0luc3RydWN0aW9uICopY3JlYXRlUHJvY2Vzc2luZ0luc3RydWN0aW9uOihOU1N0cmluZyAqKXRh
cmdldCA6KE5TU3RyaW5nICopZGF0YTsKLS0gKERPTVByb2Nlc3NpbmdJbnN0cnVjdGlvbiAqKWNy
ZWF0ZVByb2Nlc3NpbmdJbnN0cnVjdGlvbjooTlNTdHJpbmcgKil0YXJnZXQgZGF0YTooTlNTdHJp
bmcgKilkYXRhOworLSAoRE9NUHJvY2Vzc2luZ0luc3RydWN0aW9uICopY3JlYXRlUHJvY2Vzc2lu
Z0luc3RydWN0aW9uOihOU1N0cmluZyAqKXRhcmdldCBkYXRhOihOU1N0cmluZyAqKWRhdGEgQVZB
SUxBQkxFX1dFQktJVF9WRVJTSU9OXzNfMF9BTkRfTEFURVI7CiAtIChET01BdHRyICopY3JlYXRl
QXR0cmlidXRlOihOU1N0cmluZyAqKW5hbWU7CiAtIChET01FbnRpdHlSZWZlcmVuY2UgKiljcmVh
dGVFbnRpdHlSZWZlcmVuY2U6KE5TU3RyaW5nICopbmFtZTsKIC0gKERPTU5vZGVMaXN0ICopZ2V0
RWxlbWVudHNCeVRhZ05hbWU6KE5TU3RyaW5nICopdGFnbmFtZTsKQEAgLTEwNSwzOSArMTA1LDM5
IEBACiAtIChET01FbGVtZW50ICopY3JlYXRlRWxlbWVudE5TOihOU1N0cmluZyAqKW5hbWVzcGFj
ZVVSSSA6KE5TU3RyaW5nICopcXVhbGlmaWVkTmFtZTsKIC0gKERPTUF0dHIgKiljcmVhdGVBdHRy
aWJ1dGVOUzooTlNTdHJpbmcgKiluYW1lc3BhY2VVUkkgOihOU1N0cmluZyAqKXF1YWxpZmllZE5h
bWU7CiAtIChET01Ob2RlTGlzdCAqKWdldEVsZW1lbnRzQnlUYWdOYW1lTlM6KE5TU3RyaW5nICop
bmFtZXNwYWNlVVJJIDooTlNTdHJpbmcgKilsb2NhbE5hbWU7Ci0tIChET01Ob2RlICopaW1wb3J0
Tm9kZTooRE9NTm9kZSAqKWltcG9ydGVkTm9kZSBkZWVwOihCT09MKWRlZXA7Ci0tIChET01Ob2Rl
ICopYWRvcHROb2RlOihET01Ob2RlICopc291cmNlOwotLSAoRE9NRWxlbWVudCAqKWNyZWF0ZUVs
ZW1lbnROUzooTlNTdHJpbmcgKiluYW1lc3BhY2VVUkkgcXVhbGlmaWVkTmFtZTooTlNTdHJpbmcg
KilxdWFsaWZpZWROYW1lOwotLSAoRE9NQXR0ciAqKWNyZWF0ZUF0dHJpYnV0ZU5TOihOU1N0cmlu
ZyAqKW5hbWVzcGFjZVVSSSBxdWFsaWZpZWROYW1lOihOU1N0cmluZyAqKXF1YWxpZmllZE5hbWU7
Ci0tIChET01Ob2RlTGlzdCAqKWdldEVsZW1lbnRzQnlUYWdOYW1lTlM6KE5TU3RyaW5nICopbmFt
ZXNwYWNlVVJJIGxvY2FsTmFtZTooTlNTdHJpbmcgKilsb2NhbE5hbWU7CistIChET01Ob2RlICop
aW1wb3J0Tm9kZTooRE9NTm9kZSAqKWltcG9ydGVkTm9kZSBkZWVwOihCT09MKWRlZXAgQVZBSUxB
QkxFX1dFQktJVF9WRVJTSU9OXzNfMF9BTkRfTEFURVI7CistIChET01Ob2RlICopYWRvcHROb2Rl
OihET01Ob2RlICopc291cmNlIEFWQUlMQUJMRV9XRUJLSVRfVkVSU0lPTl8zXzBfQU5EX0xBVEVS
OworLSAoRE9NRWxlbWVudCAqKWNyZWF0ZUVsZW1lbnROUzooTlNTdHJpbmcgKiluYW1lc3BhY2VV
UkkgcXVhbGlmaWVkTmFtZTooTlNTdHJpbmcgKilxdWFsaWZpZWROYW1lIEFWQUlMQUJMRV9XRUJL
SVRfVkVSU0lPTl8zXzBfQU5EX0xBVEVSOworLSAoRE9NQXR0ciAqKWNyZWF0ZUF0dHJpYnV0ZU5T
OihOU1N0cmluZyAqKW5hbWVzcGFjZVVSSSBxdWFsaWZpZWROYW1lOihOU1N0cmluZyAqKXF1YWxp
ZmllZE5hbWUgQVZBSUxBQkxFX1dFQktJVF9WRVJTSU9OXzNfMF9BTkRfTEFURVI7CistIChET01O
b2RlTGlzdCAqKWdldEVsZW1lbnRzQnlUYWdOYW1lTlM6KE5TU3RyaW5nICopbmFtZXNwYWNlVVJJ
IGxvY2FsTmFtZTooTlNTdHJpbmcgKilsb2NhbE5hbWUgQVZBSUxBQkxFX1dFQktJVF9WRVJTSU9O
XzNfMF9BTkRfTEFURVI7CiAtIChET01FbGVtZW50ICopZ2V0RWxlbWVudEJ5SWQ6KE5TU3RyaW5n
ICopZWxlbWVudElkOwogLSAoRE9NRXZlbnQgKiljcmVhdGVFdmVudDooTlNTdHJpbmcgKilldmVu
dFR5cGU7CiAtIChET01SYW5nZSAqKWNyZWF0ZVJhbmdlOwotLSAoRE9NQ1NTU3R5bGVEZWNsYXJh
dGlvbiAqKWNyZWF0ZUNTU1N0eWxlRGVjbGFyYXRpb247CistIChET01DU1NTdHlsZURlY2xhcmF0
aW9uICopY3JlYXRlQ1NTU3R5bGVEZWNsYXJhdGlvbiBBVkFJTEFCTEVfV0VCS0lUX1ZFUlNJT05f
M18wX0FORF9MQVRFUjsKIC0gKERPTUNTU1N0eWxlRGVjbGFyYXRpb24gKilnZXRPdmVycmlkZVN0
eWxlOihET01FbGVtZW50ICopZWxlbWVudCA6KE5TU3RyaW5nICopcHNldWRvRWxlbWVudDsKLS0g
KERPTUNTU1N0eWxlRGVjbGFyYXRpb24gKilnZXRPdmVycmlkZVN0eWxlOihET01FbGVtZW50ICop
ZWxlbWVudCBwc2V1ZG9FbGVtZW50OihOU1N0cmluZyAqKXBzZXVkb0VsZW1lbnQ7CistIChET01D
U1NTdHlsZURlY2xhcmF0aW9uICopZ2V0T3ZlcnJpZGVTdHlsZTooRE9NRWxlbWVudCAqKWVsZW1l
bnQgcHNldWRvRWxlbWVudDooTlNTdHJpbmcgKilwc2V1ZG9FbGVtZW50IEFWQUlMQUJMRV9XRUJL
SVRfVkVSU0lPTl8zXzBfQU5EX0xBVEVSOwogLSAoRE9NQ1NTU3R5bGVEZWNsYXJhdGlvbiAqKWdl
dENvbXB1dGVkU3R5bGU6KERPTUVsZW1lbnQgKillbGVtZW50IDooTlNTdHJpbmcgKilwc2V1ZG9F
bGVtZW50OwotLSAoRE9NQ1NTU3R5bGVEZWNsYXJhdGlvbiAqKWdldENvbXB1dGVkU3R5bGU6KERP
TUVsZW1lbnQgKillbGVtZW50IHBzZXVkb0VsZW1lbnQ6KE5TU3RyaW5nICopcHNldWRvRWxlbWVu
dDsKLS0gKERPTUNTU1J1bGVMaXN0ICopZ2V0TWF0Y2hlZENTU1J1bGVzOihET01FbGVtZW50ICop
ZWxlbWVudCBwc2V1ZG9FbGVtZW50OihOU1N0cmluZyAqKXBzZXVkb0VsZW1lbnQ7Ci0tIChET01D
U1NSdWxlTGlzdCAqKWdldE1hdGNoZWRDU1NSdWxlczooRE9NRWxlbWVudCAqKWVsZW1lbnQgcHNl
dWRvRWxlbWVudDooTlNTdHJpbmcgKilwc2V1ZG9FbGVtZW50IGF1dGhvck9ubHk6KEJPT0wpYXV0
aG9yT25seTsKKy0gKERPTUNTU1N0eWxlRGVjbGFyYXRpb24gKilnZXRDb21wdXRlZFN0eWxlOihE
T01FbGVtZW50ICopZWxlbWVudCBwc2V1ZG9FbGVtZW50OihOU1N0cmluZyAqKXBzZXVkb0VsZW1l
bnQgQVZBSUxBQkxFX1dFQktJVF9WRVJTSU9OXzNfMF9BTkRfTEFURVI7CistIChET01DU1NSdWxl
TGlzdCAqKWdldE1hdGNoZWRDU1NSdWxlczooRE9NRWxlbWVudCAqKWVsZW1lbnQgcHNldWRvRWxl
bWVudDooTlNTdHJpbmcgKilwc2V1ZG9FbGVtZW50IEFWQUlMQUJMRV9XRUJLSVRfVkVSU0lPTl8z
XzBfQU5EX0xBVEVSOworLSAoRE9NQ1NTUnVsZUxpc3QgKilnZXRNYXRjaGVkQ1NTUnVsZXM6KERP
TUVsZW1lbnQgKillbGVtZW50IHBzZXVkb0VsZW1lbnQ6KE5TU3RyaW5nICopcHNldWRvRWxlbWVu
dCBhdXRob3JPbmx5OihCT09MKWF1dGhvck9ubHkgQVZBSUxBQkxFX1dFQktJVF9WRVJTSU9OXzNf
MF9BTkRfTEFURVI7CiAtIChET01Ob2RlTGlzdCAqKWdldEVsZW1lbnRzQnlOYW1lOihOU1N0cmlu
ZyAqKWVsZW1lbnROYW1lOwotLSAoRE9NTm9kZUl0ZXJhdG9yICopY3JlYXRlTm9kZUl0ZXJhdG9y
OihET01Ob2RlICopcm9vdCB3aGF0VG9TaG93Oih1bnNpZ25lZCl3aGF0VG9TaG93IGZpbHRlcjoo
aWQgPERPTU5vZGVGaWx0ZXI+KWZpbHRlciBleHBhbmRFbnRpdHlSZWZlcmVuY2VzOihCT09MKWV4
cGFuZEVudGl0eVJlZmVyZW5jZXM7Ci0tIChET01UcmVlV2Fsa2VyICopY3JlYXRlVHJlZVdhbGtl
cjooRE9NTm9kZSAqKXJvb3Qgd2hhdFRvU2hvdzoodW5zaWduZWQpd2hhdFRvU2hvdyBmaWx0ZXI6
KGlkIDxET01Ob2RlRmlsdGVyPilmaWx0ZXIgZXhwYW5kRW50aXR5UmVmZXJlbmNlczooQk9PTCll
eHBhbmRFbnRpdHlSZWZlcmVuY2VzOworLSAoRE9NTm9kZUl0ZXJhdG9yICopY3JlYXRlTm9kZUl0
ZXJhdG9yOihET01Ob2RlICopcm9vdCB3aGF0VG9TaG93Oih1bnNpZ25lZCl3aGF0VG9TaG93IGZp
bHRlcjooaWQgPERPTU5vZGVGaWx0ZXI+KWZpbHRlciBleHBhbmRFbnRpdHlSZWZlcmVuY2VzOihC
T09MKWV4cGFuZEVudGl0eVJlZmVyZW5jZXMgQVZBSUxBQkxFX1dFQktJVF9WRVJTSU9OXzNfMF9B
TkRfTEFURVI7CistIChET01UcmVlV2Fsa2VyICopY3JlYXRlVHJlZVdhbGtlcjooRE9NTm9kZSAq
KXJvb3Qgd2hhdFRvU2hvdzoodW5zaWduZWQpd2hhdFRvU2hvdyBmaWx0ZXI6KGlkIDxET01Ob2Rl
RmlsdGVyPilmaWx0ZXIgZXhwYW5kRW50aXR5UmVmZXJlbmNlczooQk9PTClleHBhbmRFbnRpdHlS
ZWZlcmVuY2VzIEFWQUlMQUJMRV9XRUJLSVRfVkVSU0lPTl8zXzBfQU5EX0xBVEVSOwogLSAoRE9N
Tm9kZUl0ZXJhdG9yICopY3JlYXRlTm9kZUl0ZXJhdG9yOihET01Ob2RlICopcm9vdCA6KHVuc2ln
bmVkKXdoYXRUb1Nob3cgOihpZCA8RE9NTm9kZUZpbHRlcj4pZmlsdGVyIDooQk9PTClleHBhbmRF
bnRpdHlSZWZlcmVuY2VzOwogLSAoRE9NVHJlZVdhbGtlciAqKWNyZWF0ZVRyZWVXYWxrZXI6KERP
TU5vZGUgKilyb290IDoodW5zaWduZWQpd2hhdFRvU2hvdyA6KGlkIDxET01Ob2RlRmlsdGVyPilm
aWx0ZXIgOihCT09MKWV4cGFuZEVudGl0eVJlZmVyZW5jZXM7CiAjaWYgRU5BQkxFX1hQQVRICi0t
IChET01YUGF0aEV4cHJlc3Npb24gKiljcmVhdGVFeHByZXNzaW9uOihOU1N0cmluZyAqKWV4cHJl
c3Npb24gOihpZCA8RE9NWFBhdGhOU1Jlc29sdmVyPilyZXNvbHZlcjsKLS0gKERPTVhQYXRoRXhw
cmVzc2lvbiAqKWNyZWF0ZUV4cHJlc3Npb246KE5TU3RyaW5nICopZXhwcmVzc2lvbiByZXNvbHZl
cjooaWQgPERPTVhQYXRoTlNSZXNvbHZlcj4pcmVzb2x2ZXI7Ci0tIChpZCA8RE9NWFBhdGhOU1Jl
c29sdmVyPiljcmVhdGVOU1Jlc29sdmVyOihET01Ob2RlICopbm9kZVJlc29sdmVyOwotLSAoRE9N
WFBhdGhSZXN1bHQgKilldmFsdWF0ZTooTlNTdHJpbmcgKilleHByZXNzaW9uIDooRE9NTm9kZSAq
KWNvbnRleHROb2RlIDooaWQgPERPTVhQYXRoTlNSZXNvbHZlcj4pcmVzb2x2ZXIgOih1bnNpZ25l
ZCBzaG9ydCl0eXBlIDooRE9NWFBhdGhSZXN1bHQgKilpblJlc3VsdDsKLS0gKERPTVhQYXRoUmVz
dWx0ICopZXZhbHVhdGU6KE5TU3RyaW5nICopZXhwcmVzc2lvbiBjb250ZXh0Tm9kZTooRE9NTm9k
ZSAqKWNvbnRleHROb2RlIHJlc29sdmVyOihpZCA8RE9NWFBhdGhOU1Jlc29sdmVyPilyZXNvbHZl
ciB0eXBlOih1bnNpZ25lZCBzaG9ydCl0eXBlIGluUmVzdWx0OihET01YUGF0aFJlc3VsdCAqKWlu
UmVzdWx0OworLSAoRE9NWFBhdGhFeHByZXNzaW9uICopY3JlYXRlRXhwcmVzc2lvbjooTlNTdHJp
bmcgKilleHByZXNzaW9uIDooaWQgPERPTVhQYXRoTlNSZXNvbHZlcj4pcmVzb2x2ZXIgQVZBSUxB
QkxFX1dFQktJVF9WRVJTSU9OXzNfMF9BTkRfTEFURVJfQlVUX0RFUFJFQ0FURUQ7CistIChET01Y
UGF0aEV4cHJlc3Npb24gKiljcmVhdGVFeHByZXNzaW9uOihOU1N0cmluZyAqKWV4cHJlc3Npb24g
cmVzb2x2ZXI6KGlkIDxET01YUGF0aE5TUmVzb2x2ZXI+KXJlc29sdmVyIEFWQUlMQUJMRV9XRUJL
SVRfVkVSU0lPTl8zXzBfQU5EX0xBVEVSOworLSAoaWQgPERPTVhQYXRoTlNSZXNvbHZlcj4pY3Jl
YXRlTlNSZXNvbHZlcjooRE9NTm9kZSAqKW5vZGVSZXNvbHZlciBBVkFJTEFCTEVfV0VCS0lUX1ZF
UlNJT05fM18wX0FORF9MQVRFUjsKKy0gKERPTVhQYXRoUmVzdWx0ICopZXZhbHVhdGU6KE5TU3Ry
aW5nICopZXhwcmVzc2lvbiA6KERPTU5vZGUgKiljb250ZXh0Tm9kZSA6KGlkIDxET01YUGF0aE5T
UmVzb2x2ZXI+KXJlc29sdmVyIDoodW5zaWduZWQgc2hvcnQpdHlwZSA6KERPTVhQYXRoUmVzdWx0
ICopaW5SZXN1bHQgQVZBSUxBQkxFX1dFQktJVF9WRVJTSU9OXzNfMF9BTkRfTEFURVJfQlVUX0RF
UFJFQ0FURUQ7CistIChET01YUGF0aFJlc3VsdCAqKWV2YWx1YXRlOihOU1N0cmluZyAqKWV4cHJl
c3Npb24gY29udGV4dE5vZGU6KERPTU5vZGUgKiljb250ZXh0Tm9kZSByZXNvbHZlcjooaWQgPERP
TVhQYXRoTlNSZXNvbHZlcj4pcmVzb2x2ZXIgdHlwZToodW5zaWduZWQgc2hvcnQpdHlwZSBpblJl
c3VsdDooRE9NWFBhdGhSZXN1bHQgKilpblJlc3VsdCBBVkFJTEFCTEVfV0VCS0lUX1ZFUlNJT05f
M18wX0FORF9MQVRFUjsKICNlbmRpZgogQGVuZAogCi1AaW50ZXJmYWNlIERPTURvY3VtZW50RnJh
Z21lbnQgOiBET01Ob2RlCitAaW50ZXJmYWNlIERPTURvY3VtZW50RnJhZ21lbnQgOiBET01Ob2Rl
IFdFQktJVF9WRVJTSU9OXzFfMwogQGVuZAogCi1AaW50ZXJmYWNlIERPTURvY3VtZW50VHlwZSA6
IERPTU5vZGUKK0BpbnRlcmZhY2UgRE9NRG9jdW1lbnRUeXBlIDogRE9NTm9kZSBXRUJLSVRfVkVS
U0lPTl8xXzMKIEBwcm9wZXJ0eShyZWFkb25seSwgY29weSkgTlNTdHJpbmcgKm5hbWU7CiBAcHJv
cGVydHkocmVhZG9ubHksIHJldGFpbikgRE9NTmFtZWROb2RlTWFwICplbnRpdGllczsKIEBwcm9w
ZXJ0eShyZWFkb25seSwgcmV0YWluKSBET01OYW1lZE5vZGVNYXAgKm5vdGF0aW9uczsKQEAgLTE0
Niw3ICsxNDYsNyBAQAogQHByb3BlcnR5KHJlYWRvbmx5LCBjb3B5KSBOU1N0cmluZyAqaW50ZXJu
YWxTdWJzZXQ7CiBAZW5kCiAKLUBpbnRlcmZhY2UgRE9NRWxlbWVudCA6IERPTU5vZGUKK0BpbnRl
cmZhY2UgRE9NRWxlbWVudCA6IERPTU5vZGUgV0VCS0lUX1ZFUlNJT05fMV8zCiBAcHJvcGVydHko
cmVhZG9ubHksIGNvcHkpIE5TU3RyaW5nICp0YWdOYW1lOwogQHByb3BlcnR5KHJlYWRvbmx5LCBy
ZXRhaW4pIERPTUNTU1N0eWxlRGVjbGFyYXRpb24gKnN0eWxlOwogQHByb3BlcnR5KHJlYWRvbmx5
KSBpbnQgb2Zmc2V0TGVmdDsKQEAgLTE2Miw3ICsxNjIsNyBAQAogQHByb3BlcnR5KHJlYWRvbmx5
KSBpbnQgc2Nyb2xsSGVpZ2h0OwogLSAoTlNTdHJpbmcgKilnZXRBdHRyaWJ1dGU6KE5TU3RyaW5n
ICopbmFtZTsKIC0gKHZvaWQpc2V0QXR0cmlidXRlOihOU1N0cmluZyAqKW5hbWUgOihOU1N0cmlu
ZyAqKXZhbHVlOwotLSAodm9pZClzZXRBdHRyaWJ1dGU6KE5TU3RyaW5nICopbmFtZSB2YWx1ZToo
TlNTdHJpbmcgKil2YWx1ZTsKKy0gKHZvaWQpc2V0QXR0cmlidXRlOihOU1N0cmluZyAqKW5hbWUg
dmFsdWU6KE5TU3RyaW5nICopdmFsdWUgQVZBSUxBQkxFX1dFQktJVF9WRVJTSU9OXzNfMF9BTkRf
TEFURVI7CiAtICh2b2lkKXJlbW92ZUF0dHJpYnV0ZTooTlNTdHJpbmcgKiluYW1lOwogLSAoRE9N
QXR0ciAqKWdldEF0dHJpYnV0ZU5vZGU6KE5TU3RyaW5nICopbmFtZTsKIC0gKERPTUF0dHIgKilz
ZXRBdHRyaWJ1dGVOb2RlOihET01BdHRyICopbmV3QXR0cjsKQEAgLTE3Myw0MiArMTczLDQyIEBA
CiAtICh2b2lkKXJlbW92ZUF0dHJpYnV0ZU5TOihOU1N0cmluZyAqKW5hbWVzcGFjZVVSSSA6KE5T
U3RyaW5nICopbG9jYWxOYW1lOwogLSAoRE9NTm9kZUxpc3QgKilnZXRFbGVtZW50c0J5VGFnTmFt
ZU5TOihOU1N0cmluZyAqKW5hbWVzcGFjZVVSSSA6KE5TU3RyaW5nICopbG9jYWxOYW1lOwogLSAo
RE9NQXR0ciAqKWdldEF0dHJpYnV0ZU5vZGVOUzooTlNTdHJpbmcgKiluYW1lc3BhY2VVUkkgOihO
U1N0cmluZyAqKWxvY2FsTmFtZTsKLS0gKE5TU3RyaW5nICopZ2V0QXR0cmlidXRlTlM6KE5TU3Ry
aW5nICopbmFtZXNwYWNlVVJJIGxvY2FsTmFtZTooTlNTdHJpbmcgKilsb2NhbE5hbWU7Ci0tICh2
b2lkKXNldEF0dHJpYnV0ZU5TOihOU1N0cmluZyAqKW5hbWVzcGFjZVVSSSBxdWFsaWZpZWROYW1l
OihOU1N0cmluZyAqKXF1YWxpZmllZE5hbWUgdmFsdWU6KE5TU3RyaW5nICopdmFsdWU7Ci0tICh2
b2lkKXJlbW92ZUF0dHJpYnV0ZU5TOihOU1N0cmluZyAqKW5hbWVzcGFjZVVSSSBsb2NhbE5hbWU6
KE5TU3RyaW5nICopbG9jYWxOYW1lOwotLSAoRE9NTm9kZUxpc3QgKilnZXRFbGVtZW50c0J5VGFn
TmFtZU5TOihOU1N0cmluZyAqKW5hbWVzcGFjZVVSSSBsb2NhbE5hbWU6KE5TU3RyaW5nICopbG9j
YWxOYW1lOwotLSAoRE9NQXR0ciAqKWdldEF0dHJpYnV0ZU5vZGVOUzooTlNTdHJpbmcgKiluYW1l
c3BhY2VVUkkgbG9jYWxOYW1lOihOU1N0cmluZyAqKWxvY2FsTmFtZTsKKy0gKE5TU3RyaW5nICop
Z2V0QXR0cmlidXRlTlM6KE5TU3RyaW5nICopbmFtZXNwYWNlVVJJIGxvY2FsTmFtZTooTlNTdHJp
bmcgKilsb2NhbE5hbWUgQVZBSUxBQkxFX1dFQktJVF9WRVJTSU9OXzNfMF9BTkRfTEFURVI7Cist
ICh2b2lkKXNldEF0dHJpYnV0ZU5TOihOU1N0cmluZyAqKW5hbWVzcGFjZVVSSSBxdWFsaWZpZWRO
YW1lOihOU1N0cmluZyAqKXF1YWxpZmllZE5hbWUgdmFsdWU6KE5TU3RyaW5nICopdmFsdWUgQVZB
SUxBQkxFX1dFQktJVF9WRVJTSU9OXzNfMF9BTkRfTEFURVI7CistICh2b2lkKXJlbW92ZUF0dHJp
YnV0ZU5TOihOU1N0cmluZyAqKW5hbWVzcGFjZVVSSSBsb2NhbE5hbWU6KE5TU3RyaW5nICopbG9j
YWxOYW1lIEFWQUlMQUJMRV9XRUJLSVRfVkVSU0lPTl8zXzBfQU5EX0xBVEVSOworLSAoRE9NTm9k
ZUxpc3QgKilnZXRFbGVtZW50c0J5VGFnTmFtZU5TOihOU1N0cmluZyAqKW5hbWVzcGFjZVVSSSBs
b2NhbE5hbWU6KE5TU3RyaW5nICopbG9jYWxOYW1lIEFWQUlMQUJMRV9XRUJLSVRfVkVSU0lPTl8z
XzBfQU5EX0xBVEVSOworLSAoRE9NQXR0ciAqKWdldEF0dHJpYnV0ZU5vZGVOUzooTlNTdHJpbmcg
KiluYW1lc3BhY2VVUkkgbG9jYWxOYW1lOihOU1N0cmluZyAqKWxvY2FsTmFtZSBBVkFJTEFCTEVf
V0VCS0lUX1ZFUlNJT05fM18wX0FORF9MQVRFUjsKIC0gKERPTUF0dHIgKilzZXRBdHRyaWJ1dGVO
b2RlTlM6KERPTUF0dHIgKiluZXdBdHRyOwogLSAoQk9PTCloYXNBdHRyaWJ1dGU6KE5TU3RyaW5n
ICopbmFtZTsKIC0gKEJPT0wpaGFzQXR0cmlidXRlTlM6KE5TU3RyaW5nICopbmFtZXNwYWNlVVJJ
IDooTlNTdHJpbmcgKilsb2NhbE5hbWU7Ci0tIChCT09MKWhhc0F0dHJpYnV0ZU5TOihOU1N0cmlu
ZyAqKW5hbWVzcGFjZVVSSSBsb2NhbE5hbWU6KE5TU3RyaW5nICopbG9jYWxOYW1lOwotLSAodm9p
ZClzY3JvbGxJbnRvVmlldzooQk9PTClhbGlnbldpdGhUb3A7Ci0tICh2b2lkKXNjcm9sbEludG9W
aWV3SWZOZWVkZWQ6KEJPT0wpY2VudGVySWZOZWVkZWQ7CistIChCT09MKWhhc0F0dHJpYnV0ZU5T
OihOU1N0cmluZyAqKW5hbWVzcGFjZVVSSSBsb2NhbE5hbWU6KE5TU3RyaW5nICopbG9jYWxOYW1l
IEFWQUlMQUJMRV9XRUJLSVRfVkVSU0lPTl8zXzBfQU5EX0xBVEVSOworLSAodm9pZClzY3JvbGxJ
bnRvVmlldzooQk9PTClhbGlnbldpdGhUb3AgQVZBSUxBQkxFX1dFQktJVF9WRVJTSU9OXzNfMF9B
TkRfTEFURVI7CistICh2b2lkKXNjcm9sbEludG9WaWV3SWZOZWVkZWQ6KEJPT0wpY2VudGVySWZO
ZWVkZWQgQVZBSUxBQkxFX1dFQktJVF9WRVJTSU9OXzNfMF9BTkRfTEFURVI7CiBAZW5kCiAKLUBp
bnRlcmZhY2UgRE9NRW50aXR5IDogRE9NTm9kZQorQGludGVyZmFjZSBET01FbnRpdHkgOiBET01O
b2RlIFdFQktJVF9WRVJTSU9OXzFfMwogQHByb3BlcnR5KHJlYWRvbmx5LCBjb3B5KSBOU1N0cmlu
ZyAqcHVibGljSWQ7CiBAcHJvcGVydHkocmVhZG9ubHksIGNvcHkpIE5TU3RyaW5nICpzeXN0ZW1J
ZDsKIEBwcm9wZXJ0eShyZWFkb25seSwgY29weSkgTlNTdHJpbmcgKm5vdGF0aW9uTmFtZTsKIEBl
bmQKIAotQGludGVyZmFjZSBET01FbnRpdHlSZWZlcmVuY2UgOiBET01Ob2RlCitAaW50ZXJmYWNl
IERPTUVudGl0eVJlZmVyZW5jZSA6IERPTU5vZGUgV0VCS0lUX1ZFUlNJT05fMV8zCiBAZW5kCiAK
LUBpbnRlcmZhY2UgRE9NTmFtZWROb2RlTWFwIDogRE9NT2JqZWN0CitAaW50ZXJmYWNlIERPTU5h
bWVkTm9kZU1hcCA6IERPTU9iamVjdCBXRUJLSVRfVkVSU0lPTl8xXzMKIEBwcm9wZXJ0eShyZWFk
b25seSkgdW5zaWduZWQgbGVuZ3RoOwogLSAoRE9NTm9kZSAqKWdldE5hbWVkSXRlbTooTlNTdHJp
bmcgKiluYW1lOwogLSAoRE9NTm9kZSAqKXNldE5hbWVkSXRlbTooRE9NTm9kZSAqKW5vZGU7CiAt
IChET01Ob2RlICopcmVtb3ZlTmFtZWRJdGVtOihOU1N0cmluZyAqKW5hbWU7CiAtIChET01Ob2Rl
ICopaXRlbToodW5zaWduZWQpaW5kZXg7CiAtIChET01Ob2RlICopZ2V0TmFtZWRJdGVtTlM6KE5T
U3RyaW5nICopbmFtZXNwYWNlVVJJIDooTlNTdHJpbmcgKilsb2NhbE5hbWU7Ci0tIChET01Ob2Rl
ICopZ2V0TmFtZWRJdGVtTlM6KE5TU3RyaW5nICopbmFtZXNwYWNlVVJJIGxvY2FsTmFtZTooTlNT
dHJpbmcgKilsb2NhbE5hbWU7CistIChET01Ob2RlICopZ2V0TmFtZWRJdGVtTlM6KE5TU3RyaW5n
ICopbmFtZXNwYWNlVVJJIGxvY2FsTmFtZTooTlNTdHJpbmcgKilsb2NhbE5hbWUgQVZBSUxBQkxF
X1dFQktJVF9WRVJTSU9OXzNfMF9BTkRfTEFURVI7CiAtIChET01Ob2RlICopc2V0TmFtZWRJdGVt
TlM6KERPTU5vZGUgKilub2RlOwogLSAoRE9NTm9kZSAqKXJlbW92ZU5hbWVkSXRlbU5TOihOU1N0
cmluZyAqKW5hbWVzcGFjZVVSSSA6KE5TU3RyaW5nICopbG9jYWxOYW1lOwotLSAoRE9NTm9kZSAq
KXJlbW92ZU5hbWVkSXRlbU5TOihOU1N0cmluZyAqKW5hbWVzcGFjZVVSSSBsb2NhbE5hbWU6KE5T
U3RyaW5nICopbG9jYWxOYW1lOworLSAoRE9NTm9kZSAqKXJlbW92ZU5hbWVkSXRlbU5TOihOU1N0
cmluZyAqKW5hbWVzcGFjZVVSSSBsb2NhbE5hbWU6KE5TU3RyaW5nICopbG9jYWxOYW1lIEFWQUlM
QUJMRV9XRUJLSVRfVkVSU0lPTl8zXzBfQU5EX0xBVEVSOwogQGVuZAogCi1AaW50ZXJmYWNlIERP
TU5vZGUgOiBET01PYmplY3QKK0BpbnRlcmZhY2UgRE9NTm9kZSA6IERPTU9iamVjdCBXRUJLSVRf
VkVSU0lPTl8xXzMKIEBwcm9wZXJ0eShyZWFkb25seSwgY29weSkgTlNTdHJpbmcgKm5vZGVOYW1l
OwogQHByb3BlcnR5KGNvcHkpIE5TU3RyaW5nICpub2RlVmFsdWU7CiBAcHJvcGVydHkocmVhZG9u
bHkpIHVuc2lnbmVkIHNob3J0IG5vZGVUeXBlOwpAQCAtMjIzLDQzICsyMjMsNDMgQEAKIEBwcm9w
ZXJ0eShyZWFkb25seSwgY29weSkgTlNTdHJpbmcgKm5hbWVzcGFjZVVSSTsKIEBwcm9wZXJ0eShj
b3B5KSBOU1N0cmluZyAqcHJlZml4OwogQHByb3BlcnR5KHJlYWRvbmx5LCBjb3B5KSBOU1N0cmlu
ZyAqbG9jYWxOYW1lOwotQHByb3BlcnR5KGNvcHkpIE5TU3RyaW5nICp0ZXh0Q29udGVudDsKK0Bw
cm9wZXJ0eShjb3B5KSBOU1N0cmluZyAqdGV4dENvbnRlbnQgQVZBSUxBQkxFX1dFQktJVF9WRVJT
SU9OXzNfMF9BTkRfTEFURVI7CiAtIChET01Ob2RlICopaW5zZXJ0QmVmb3JlOihET01Ob2RlICop
bmV3Q2hpbGQgOihET01Ob2RlICopcmVmQ2hpbGQ7Ci0tIChET01Ob2RlICopaW5zZXJ0QmVmb3Jl
OihET01Ob2RlICopbmV3Q2hpbGQgcmVmQ2hpbGQ6KERPTU5vZGUgKilyZWZDaGlsZDsKKy0gKERP
TU5vZGUgKilpbnNlcnRCZWZvcmU6KERPTU5vZGUgKiluZXdDaGlsZCByZWZDaGlsZDooRE9NTm9k
ZSAqKXJlZkNoaWxkIEFWQUlMQUJMRV9XRUJLSVRfVkVSU0lPTl8zXzBfQU5EX0xBVEVSOwogLSAo
RE9NTm9kZSAqKXJlcGxhY2VDaGlsZDooRE9NTm9kZSAqKW5ld0NoaWxkIDooRE9NTm9kZSAqKW9s
ZENoaWxkOwotLSAoRE9NTm9kZSAqKXJlcGxhY2VDaGlsZDooRE9NTm9kZSAqKW5ld0NoaWxkIG9s
ZENoaWxkOihET01Ob2RlICopb2xkQ2hpbGQ7CistIChET01Ob2RlICopcmVwbGFjZUNoaWxkOihE
T01Ob2RlICopbmV3Q2hpbGQgb2xkQ2hpbGQ6KERPTU5vZGUgKilvbGRDaGlsZCBBVkFJTEFCTEVf
V0VCS0lUX1ZFUlNJT05fM18wX0FORF9MQVRFUjsKIC0gKERPTU5vZGUgKilyZW1vdmVDaGlsZDoo
RE9NTm9kZSAqKW9sZENoaWxkOwogLSAoRE9NTm9kZSAqKWFwcGVuZENoaWxkOihET01Ob2RlICop
bmV3Q2hpbGQ7CiAtIChCT09MKWhhc0NoaWxkTm9kZXM7CiAtIChET01Ob2RlICopY2xvbmVOb2Rl
OihCT09MKWRlZXA7CiAtICh2b2lkKW5vcm1hbGl6ZTsKIC0gKEJPT0wpaXNTdXBwb3J0ZWQ6KE5T
U3RyaW5nICopZmVhdHVyZSA6KE5TU3RyaW5nICopdmVyc2lvbjsKLS0gKEJPT0wpaXNTdXBwb3J0
ZWQ6KE5TU3RyaW5nICopZmVhdHVyZSB2ZXJzaW9uOihOU1N0cmluZyAqKXZlcnNpb247CistIChC
T09MKWlzU3VwcG9ydGVkOihOU1N0cmluZyAqKWZlYXR1cmUgdmVyc2lvbjooTlNTdHJpbmcgKil2
ZXJzaW9uIEFWQUlMQUJMRV9XRUJLSVRfVkVSU0lPTl8zXzBfQU5EX0xBVEVSOwogLSAoQk9PTClo
YXNBdHRyaWJ1dGVzOwotLSAoQk9PTClpc1NhbWVOb2RlOihET01Ob2RlICopb3RoZXI7Ci0tIChC
T09MKWlzRXF1YWxOb2RlOihET01Ob2RlICopb3RoZXI7CistIChCT09MKWlzU2FtZU5vZGU6KERP
TU5vZGUgKilvdGhlciBBVkFJTEFCTEVfV0VCS0lUX1ZFUlNJT05fM18wX0FORF9MQVRFUjsKKy0g
KEJPT0wpaXNFcXVhbE5vZGU6KERPTU5vZGUgKilvdGhlciBBVkFJTEFCTEVfV0VCS0lUX1ZFUlNJ
T05fM18wX0FORF9MQVRFUjsKIEBlbmQKIAotQGludGVyZmFjZSBET01Ob2RlTGlzdCA6IERPTU9i
amVjdAorQGludGVyZmFjZSBET01Ob2RlTGlzdCA6IERPTU9iamVjdCBXRUJLSVRfVkVSU0lPTl8x
XzMKIEBwcm9wZXJ0eShyZWFkb25seSkgdW5zaWduZWQgbGVuZ3RoOwogLSAoRE9NTm9kZSAqKWl0
ZW06KHVuc2lnbmVkKWluZGV4OwogQGVuZAogCi1AaW50ZXJmYWNlIERPTU5vdGF0aW9uIDogRE9N
Tm9kZQorQGludGVyZmFjZSBET01Ob3RhdGlvbiA6IERPTU5vZGUgV0VCS0lUX1ZFUlNJT05fMV8z
CiBAcHJvcGVydHkocmVhZG9ubHksIGNvcHkpIE5TU3RyaW5nICpwdWJsaWNJZDsKIEBwcm9wZXJ0
eShyZWFkb25seSwgY29weSkgTlNTdHJpbmcgKnN5c3RlbUlkOwogQGVuZAogCi1AaW50ZXJmYWNl
IERPTVByb2Nlc3NpbmdJbnN0cnVjdGlvbiA6IERPTU5vZGUKK0BpbnRlcmZhY2UgRE9NUHJvY2Vz
c2luZ0luc3RydWN0aW9uIDogRE9NTm9kZSBXRUJLSVRfVkVSU0lPTl8xXzMKIEBwcm9wZXJ0eShy
ZWFkb25seSwgY29weSkgTlNTdHJpbmcgKnRhcmdldDsKIEBwcm9wZXJ0eShjb3B5KSBOU1N0cmlu
ZyAqZGF0YTsKIEBlbmQKIAotQGludGVyZmFjZSBET01UZXh0IDogRE9NQ2hhcmFjdGVyRGF0YQor
QGludGVyZmFjZSBET01UZXh0IDogRE9NQ2hhcmFjdGVyRGF0YSBXRUJLSVRfVkVSU0lPTl8xXzMK
IC0gKERPTVRleHQgKilzcGxpdFRleHQ6KHVuc2lnbmVkKW9mZnNldDsKIEBlbmQKIAotQGludGVy
ZmFjZSBET01IVE1MQW5jaG9yRWxlbWVudCA6IERPTUhUTUxFbGVtZW50CitAaW50ZXJmYWNlIERP
TUhUTUxBbmNob3JFbGVtZW50IDogRE9NSFRNTEVsZW1lbnQgV0VCS0lUX1ZFUlNJT05fMV8zCiBA
cHJvcGVydHkoY29weSkgTlNTdHJpbmcgKmFjY2Vzc0tleTsKIEBwcm9wZXJ0eShjb3B5KSBOU1N0
cmluZyAqY2hhcnNldDsKIEBwcm9wZXJ0eShjb3B5KSBOU1N0cmluZyAqY29vcmRzOwpAQCAtMjcx
LDEwICsyNzEsMTAgQEAKIEBwcm9wZXJ0eShjb3B5KSBOU1N0cmluZyAqc2hhcGU7CiBAcHJvcGVy
dHkoY29weSkgTlNTdHJpbmcgKnRhcmdldDsKIEBwcm9wZXJ0eShjb3B5KSBOU1N0cmluZyAqdHlw
ZTsKLUBwcm9wZXJ0eShyZWFkb25seSwgY29weSkgTlNVUkwgKmFic29sdXRlTGlua1VSTDsKK0Bw
cm9wZXJ0eShyZWFkb25seSwgY29weSkgTlNVUkwgKmFic29sdXRlTGlua1VSTCBBVkFJTEFCTEVf
V0VCS0lUX1ZFUlNJT05fM18wX0FORF9MQVRFUjsKIEBlbmQKIAotQGludGVyZmFjZSBET01IVE1M
QXBwbGV0RWxlbWVudCA6IERPTUhUTUxFbGVtZW50CitAaW50ZXJmYWNlIERPTUhUTUxBcHBsZXRF
bGVtZW50IDogRE9NSFRNTEVsZW1lbnQgV0VCS0lUX1ZFUlNJT05fMV8zCiBAcHJvcGVydHkoY29w
eSkgTlNTdHJpbmcgKmFsaWduOwogQHByb3BlcnR5KGNvcHkpIE5TU3RyaW5nICphbHQ7CiBAcHJv
cGVydHkoY29weSkgTlNTdHJpbmcgKmFyY2hpdmU7CkBAIC0yODgsNyArMjg4LDcgQEAKIEBwcm9w
ZXJ0eShjb3B5KSBOU1N0cmluZyAqd2lkdGg7CiBAZW5kCiAKLUBpbnRlcmZhY2UgRE9NSFRNTEFy
ZWFFbGVtZW50IDogRE9NSFRNTEVsZW1lbnQKK0BpbnRlcmZhY2UgRE9NSFRNTEFyZWFFbGVtZW50
IDogRE9NSFRNTEVsZW1lbnQgV0VCS0lUX1ZFUlNJT05fMV8zCiBAcHJvcGVydHkoY29weSkgTlNT
dHJpbmcgKmFjY2Vzc0tleTsKIEBwcm9wZXJ0eShjb3B5KSBOU1N0cmluZyAqYWx0OwogQHByb3Bl
cnR5KGNvcHkpIE5TU3RyaW5nICpjb29yZHM7CkBAIC0yOTYsMjUgKzI5NiwyNSBAQAogQHByb3Bl
cnR5IEJPT0wgbm9IcmVmOwogQHByb3BlcnR5KGNvcHkpIE5TU3RyaW5nICpzaGFwZTsKIEBwcm9w
ZXJ0eShjb3B5KSBOU1N0cmluZyAqdGFyZ2V0OwotQHByb3BlcnR5KHJlYWRvbmx5LCBjb3B5KSBO
U1VSTCAqYWJzb2x1dGVMaW5rVVJMOworQHByb3BlcnR5KHJlYWRvbmx5LCBjb3B5KSBOU1VSTCAq
YWJzb2x1dGVMaW5rVVJMIEFWQUlMQUJMRV9XRUJLSVRfVkVSU0lPTl8zXzBfQU5EX0xBVEVSOwog
QGVuZAogCi1AaW50ZXJmYWNlIERPTUhUTUxCUkVsZW1lbnQgOiBET01IVE1MRWxlbWVudAorQGlu
dGVyZmFjZSBET01IVE1MQlJFbGVtZW50IDogRE9NSFRNTEVsZW1lbnQgV0VCS0lUX1ZFUlNJT05f
MV8zCiBAcHJvcGVydHkoY29weSkgTlNTdHJpbmcgKmNsZWFyOwogQGVuZAogCi1AaW50ZXJmYWNl
IERPTUhUTUxCYXNlRWxlbWVudCA6IERPTUhUTUxFbGVtZW50CitAaW50ZXJmYWNlIERPTUhUTUxC
YXNlRWxlbWVudCA6IERPTUhUTUxFbGVtZW50IFdFQktJVF9WRVJTSU9OXzFfMwogQHByb3BlcnR5
KGNvcHkpIE5TU3RyaW5nICpocmVmOwogQHByb3BlcnR5KGNvcHkpIE5TU3RyaW5nICp0YXJnZXQ7
CiBAZW5kCiAKLUBpbnRlcmZhY2UgRE9NSFRNTEJhc2VGb250RWxlbWVudCA6IERPTUhUTUxFbGVt
ZW50CitAaW50ZXJmYWNlIERPTUhUTUxCYXNlRm9udEVsZW1lbnQgOiBET01IVE1MRWxlbWVudCBX
RUJLSVRfVkVSU0lPTl8xXzMKIEBwcm9wZXJ0eShjb3B5KSBOU1N0cmluZyAqY29sb3I7CiBAcHJv
cGVydHkoY29weSkgTlNTdHJpbmcgKmZhY2U7CiBAcHJvcGVydHkoY29weSkgTlNTdHJpbmcgKnNp
emU7CiBAZW5kCiAKLUBpbnRlcmZhY2UgRE9NSFRNTEJvZHlFbGVtZW50IDogRE9NSFRNTEVsZW1l
bnQKK0BpbnRlcmZhY2UgRE9NSFRNTEJvZHlFbGVtZW50IDogRE9NSFRNTEVsZW1lbnQgV0VCS0lU
X1ZFUlNJT05fMV8zCiBAcHJvcGVydHkoY29weSkgTlNTdHJpbmcgKmFMaW5rOwogQHByb3BlcnR5
KGNvcHkpIE5TU3RyaW5nICpiYWNrZ3JvdW5kOwogQHByb3BlcnR5KGNvcHkpIE5TU3RyaW5nICpi
Z0NvbG9yOwpAQCAtMzIzLDcgKzMyMyw3IEBACiBAcHJvcGVydHkoY29weSkgTlNTdHJpbmcgKnZM
aW5rOwogQGVuZAogCi1AaW50ZXJmYWNlIERPTUhUTUxCdXR0b25FbGVtZW50IDogRE9NSFRNTEVs
ZW1lbnQKK0BpbnRlcmZhY2UgRE9NSFRNTEJ1dHRvbkVsZW1lbnQgOiBET01IVE1MRWxlbWVudCBX
RUJLSVRfVkVSU0lPTl8xXzMKIEBwcm9wZXJ0eShyZWFkb25seSwgcmV0YWluKSBET01IVE1MRm9y
bUVsZW1lbnQgKmZvcm07CiBAcHJvcGVydHkoY29weSkgTlNTdHJpbmcgKmFjY2Vzc0tleTsKIEBw
cm9wZXJ0eSBCT09MIGRpc2FibGVkOwpAQCAtMzMyLDM3ICszMzIsMzcgQEAKIEBwcm9wZXJ0eShj
b3B5KSBOU1N0cmluZyAqdmFsdWU7CiBAZW5kCiAKLUBpbnRlcmZhY2UgRE9NSFRNTENhbnZhc0Vs
ZW1lbnQgOiBET01IVE1MRWxlbWVudAorQGludGVyZmFjZSBET01IVE1MQ2FudmFzRWxlbWVudCA6
IERPTUhUTUxFbGVtZW50IFdFQktJVF9WRVJTSU9OXzNfMAogQHByb3BlcnR5IGludCBoZWlnaHQ7
CiBAcHJvcGVydHkgaW50IHdpZHRoOwogQGVuZAogCi1AaW50ZXJmYWNlIERPTUhUTUxDb2xsZWN0
aW9uIDogRE9NT2JqZWN0CitAaW50ZXJmYWNlIERPTUhUTUxDb2xsZWN0aW9uIDogRE9NT2JqZWN0
IFdFQktJVF9WRVJTSU9OXzFfMwogQHByb3BlcnR5KHJlYWRvbmx5KSB1bnNpZ25lZCBsZW5ndGg7
CiAtIChET01Ob2RlICopaXRlbToodW5zaWduZWQpaW5kZXg7CiAtIChET01Ob2RlICopbmFtZWRJ
dGVtOihOU1N0cmluZyAqKW5hbWU7CiBAZW5kCiAKLUBpbnRlcmZhY2UgRE9NSFRNTERMaXN0RWxl
bWVudCA6IERPTUhUTUxFbGVtZW50CitAaW50ZXJmYWNlIERPTUhUTUxETGlzdEVsZW1lbnQgOiBE
T01IVE1MRWxlbWVudCBXRUJLSVRfVkVSU0lPTl8xXzMKIEBwcm9wZXJ0eSBCT09MIGNvbXBhY3Q7
CiBAZW5kCiAKLUBpbnRlcmZhY2UgRE9NSFRNTERpcmVjdG9yeUVsZW1lbnQgOiBET01IVE1MRWxl
bWVudAorQGludGVyZmFjZSBET01IVE1MRGlyZWN0b3J5RWxlbWVudCA6IERPTUhUTUxFbGVtZW50
IFdFQktJVF9WRVJTSU9OXzFfMwogQHByb3BlcnR5IEJPT0wgY29tcGFjdDsKIEBlbmQKIAotQGlu
dGVyZmFjZSBET01IVE1MRGl2RWxlbWVudCA6IERPTUhUTUxFbGVtZW50CitAaW50ZXJmYWNlIERP
TUhUTUxEaXZFbGVtZW50IDogRE9NSFRNTEVsZW1lbnQgV0VCS0lUX1ZFUlNJT05fMV8zCiBAcHJv
cGVydHkoY29weSkgTlNTdHJpbmcgKmFsaWduOwogQGVuZAogCi1AaW50ZXJmYWNlIERPTUhUTUxE
b2N1bWVudCA6IERPTURvY3VtZW50CitAaW50ZXJmYWNlIERPTUhUTUxEb2N1bWVudCA6IERPTURv
Y3VtZW50IFdFQktJVF9WRVJTSU9OXzFfMwogLSAodm9pZClvcGVuOwogLSAodm9pZCljbG9zZTsK
IC0gKHZvaWQpd3JpdGU6KE5TU3RyaW5nICopdGV4dDsKIC0gKHZvaWQpd3JpdGVsbjooTlNTdHJp
bmcgKil0ZXh0OwogQGVuZAogCi1AaW50ZXJmYWNlIERPTUhUTUxFbGVtZW50IDogRE9NRWxlbWVu
dAorQGludGVyZmFjZSBET01IVE1MRWxlbWVudCA6IERPTUVsZW1lbnQgV0VCS0lUX1ZFUlNJT05f
MV8zCiBAcHJvcGVydHkoY29weSkgTlNTdHJpbmcgKnRpdGxlOwogQHByb3BlcnR5KGNvcHkpIE5T
U3RyaW5nICppZE5hbWU7CiBAcHJvcGVydHkoY29weSkgTlNTdHJpbmcgKmxhbmc7CkBAIC0zNzUs
MTMgKzM3NSwxMyBAQAogQHByb3BlcnR5KHJlYWRvbmx5LCByZXRhaW4pIERPTUhUTUxDb2xsZWN0
aW9uICpjaGlsZHJlbjsKIEBwcm9wZXJ0eShjb3B5KSBOU1N0cmluZyAqY29udGVudEVkaXRhYmxl
OwogQHByb3BlcnR5KHJlYWRvbmx5KSBCT09MIGlzQ29udGVudEVkaXRhYmxlOwotQHByb3BlcnR5
KHJlYWRvbmx5LCBjb3B5KSBOU1N0cmluZyAqdGl0bGVEaXNwbGF5U3RyaW5nOworQHByb3BlcnR5
KHJlYWRvbmx5LCBjb3B5KSBOU1N0cmluZyAqdGl0bGVEaXNwbGF5U3RyaW5nIEFWQUlMQUJMRV9X
RUJLSVRfVkVSU0lPTl8zXzBfQU5EX0xBVEVSOwogQHByb3BlcnR5IGludCB0YWJJbmRleDsKIC0g
KHZvaWQpYmx1cjsKIC0gKHZvaWQpZm9jdXM7CiBAZW5kCiAKLUBpbnRlcmZhY2UgRE9NSFRNTEVt
YmVkRWxlbWVudCA6IERPTUhUTUxFbGVtZW50CitAaW50ZXJmYWNlIERPTUhUTUxFbWJlZEVsZW1l
bnQgOiBET01IVE1MRWxlbWVudCBXRUJLSVRfVkVSU0lPTl8xXzMKIEBwcm9wZXJ0eShjb3B5KSBO
U1N0cmluZyAqYWxpZ247CiBAcHJvcGVydHkgaW50IGhlaWdodDsKIEBwcm9wZXJ0eShjb3B5KSBO
U1N0cmluZyAqbmFtZTsKQEAgLTM5MCwxNyArMzkwLDE3IEBACiBAcHJvcGVydHkgaW50IHdpZHRo
OwogQGVuZAogCi1AaW50ZXJmYWNlIERPTUhUTUxGaWVsZFNldEVsZW1lbnQgOiBET01IVE1MRWxl
bWVudAorQGludGVyZmFjZSBET01IVE1MRmllbGRTZXRFbGVtZW50IDogRE9NSFRNTEVsZW1lbnQg
V0VCS0lUX1ZFUlNJT05fMV8zCiBAcHJvcGVydHkocmVhZG9ubHksIHJldGFpbikgRE9NSFRNTEZv
cm1FbGVtZW50ICpmb3JtOwogQGVuZAogCi1AaW50ZXJmYWNlIERPTUhUTUxGb250RWxlbWVudCA6
IERPTUhUTUxFbGVtZW50CitAaW50ZXJmYWNlIERPTUhUTUxGb250RWxlbWVudCA6IERPTUhUTUxF
bGVtZW50IFdFQktJVF9WRVJTSU9OXzFfMwogQHByb3BlcnR5KGNvcHkpIE5TU3RyaW5nICpjb2xv
cjsKIEBwcm9wZXJ0eShjb3B5KSBOU1N0cmluZyAqZmFjZTsKIEBwcm9wZXJ0eShjb3B5KSBOU1N0
cmluZyAqc2l6ZTsKIEBlbmQKIAotQGludGVyZmFjZSBET01IVE1MRm9ybUVsZW1lbnQgOiBET01I
VE1MRWxlbWVudAorQGludGVyZmFjZSBET01IVE1MRm9ybUVsZW1lbnQgOiBET01IVE1MRWxlbWVu
dCBXRUJLSVRfVkVSU0lPTl8xXzMKIEBwcm9wZXJ0eShyZWFkb25seSwgcmV0YWluKSBET01IVE1M
Q29sbGVjdGlvbiAqZWxlbWVudHM7CiBAcHJvcGVydHkocmVhZG9ubHkpIGludCBsZW5ndGg7CiBA
cHJvcGVydHkoY29weSkgTlNTdHJpbmcgKm5hbWU7CkBAIC00MTMsNyArNDEzLDcgQEAKIC0gKHZv
aWQpcmVzZXQ7CiBAZW5kCiAKLUBpbnRlcmZhY2UgRE9NSFRNTEZyYW1lRWxlbWVudCA6IERPTUhU
TUxFbGVtZW50CitAaW50ZXJmYWNlIERPTUhUTUxGcmFtZUVsZW1lbnQgOiBET01IVE1MRWxlbWVu
dCBXRUJLSVRfVkVSU0lPTl8xXzMKIEBwcm9wZXJ0eShjb3B5KSBOU1N0cmluZyAqZnJhbWVCb3Jk
ZXI7CiBAcHJvcGVydHkoY29weSkgTlNTdHJpbmcgKmxvbmdEZXNjOwogQHByb3BlcnR5KGNvcHkp
IE5TU3RyaW5nICptYXJnaW5IZWlnaHQ7CkBAIC00MjUsMzEgKzQyNSwzMSBAQAogQHByb3BlcnR5
KHJlYWRvbmx5LCByZXRhaW4pIERPTURvY3VtZW50ICpjb250ZW50RG9jdW1lbnQ7CiBAZW5kCiAK
LUBpbnRlcmZhY2UgRE9NSFRNTEZyYW1lU2V0RWxlbWVudCA6IERPTUhUTUxFbGVtZW50CitAaW50
ZXJmYWNlIERPTUhUTUxGcmFtZVNldEVsZW1lbnQgOiBET01IVE1MRWxlbWVudCBXRUJLSVRfVkVS
U0lPTl8xXzMKIEBwcm9wZXJ0eShjb3B5KSBOU1N0cmluZyAqY29sczsKIEBwcm9wZXJ0eShjb3B5
KSBOU1N0cmluZyAqcm93czsKIEBlbmQKIAotQGludGVyZmFjZSBET01IVE1MSFJFbGVtZW50IDog
RE9NSFRNTEVsZW1lbnQKK0BpbnRlcmZhY2UgRE9NSFRNTEhSRWxlbWVudCA6IERPTUhUTUxFbGVt
ZW50IFdFQktJVF9WRVJTSU9OXzFfMwogQHByb3BlcnR5KGNvcHkpIE5TU3RyaW5nICphbGlnbjsK
IEBwcm9wZXJ0eSBCT09MIG5vU2hhZGU7CiBAcHJvcGVydHkoY29weSkgTlNTdHJpbmcgKnNpemU7
CiBAcHJvcGVydHkoY29weSkgTlNTdHJpbmcgKndpZHRoOwogQGVuZAogCi1AaW50ZXJmYWNlIERP
TUhUTUxIZWFkRWxlbWVudCA6IERPTUhUTUxFbGVtZW50CitAaW50ZXJmYWNlIERPTUhUTUxIZWFk
RWxlbWVudCA6IERPTUhUTUxFbGVtZW50IFdFQktJVF9WRVJTSU9OXzFfMwogQHByb3BlcnR5KGNv
cHkpIE5TU3RyaW5nICpwcm9maWxlOwogQGVuZAogCi1AaW50ZXJmYWNlIERPTUhUTUxIZWFkaW5n
RWxlbWVudCA6IERPTUhUTUxFbGVtZW50CitAaW50ZXJmYWNlIERPTUhUTUxIZWFkaW5nRWxlbWVu
dCA6IERPTUhUTUxFbGVtZW50IFdFQktJVF9WRVJTSU9OXzFfMwogQHByb3BlcnR5KGNvcHkpIE5T
U3RyaW5nICphbGlnbjsKIEBlbmQKIAotQGludGVyZmFjZSBET01IVE1MSHRtbEVsZW1lbnQgOiBE
T01IVE1MRWxlbWVudAorQGludGVyZmFjZSBET01IVE1MSHRtbEVsZW1lbnQgOiBET01IVE1MRWxl
bWVudCBXRUJLSVRfVkVSU0lPTl8xXzMKIEBwcm9wZXJ0eShjb3B5KSBOU1N0cmluZyAqdmVyc2lv
bjsKIEBlbmQKIAotQGludGVyZmFjZSBET01IVE1MSUZyYW1lRWxlbWVudCA6IERPTUhUTUxFbGVt
ZW50CitAaW50ZXJmYWNlIERPTUhUTUxJRnJhbWVFbGVtZW50IDogRE9NSFRNTEVsZW1lbnQgV0VC
S0lUX1ZFUlNJT05fMV8zCiBAcHJvcGVydHkoY29weSkgTlNTdHJpbmcgKmFsaWduOwogQHByb3Bl
cnR5KGNvcHkpIE5TU3RyaW5nICpmcmFtZUJvcmRlcjsKIEBwcm9wZXJ0eShjb3B5KSBOU1N0cmlu
ZyAqaGVpZ2h0OwpAQCAtNDYzLDcgKzQ2Myw3IEBACiBAcHJvcGVydHkocmVhZG9ubHksIHJldGFp
bikgRE9NRG9jdW1lbnQgKmNvbnRlbnREb2N1bWVudDsKIEBlbmQKIAotQGludGVyZmFjZSBET01I
VE1MSW1hZ2VFbGVtZW50IDogRE9NSFRNTEVsZW1lbnQKK0BpbnRlcmZhY2UgRE9NSFRNTEltYWdl
RWxlbWVudCA6IERPTUhUTUxFbGVtZW50IFdFQktJVF9WRVJTSU9OXzFfMwogQHByb3BlcnR5KGNv
cHkpIE5TU3RyaW5nICpuYW1lOwogQHByb3BlcnR5KGNvcHkpIE5TU3RyaW5nICphbGlnbjsKIEBw
cm9wZXJ0eShjb3B5KSBOU1N0cmluZyAqYWx0OwpAQCAtNDc2LDExICs0NzYsMTEgQEAKIEBwcm9w
ZXJ0eShjb3B5KSBOU1N0cmluZyAqdXNlTWFwOwogQHByb3BlcnR5IGludCB2c3BhY2U7CiBAcHJv
cGVydHkgaW50IHdpZHRoOwotQHByb3BlcnR5KHJlYWRvbmx5LCBjb3B5KSBOU1N0cmluZyAqYWx0
RGlzcGxheVN0cmluZzsKLUBwcm9wZXJ0eShyZWFkb25seSwgY29weSkgTlNVUkwgKmFic29sdXRl
SW1hZ2VVUkw7CitAcHJvcGVydHkocmVhZG9ubHksIGNvcHkpIE5TU3RyaW5nICphbHREaXNwbGF5
U3RyaW5nIEFWQUlMQUJMRV9XRUJLSVRfVkVSU0lPTl8zXzBfQU5EX0xBVEVSOworQHByb3BlcnR5
KHJlYWRvbmx5LCBjb3B5KSBOU1VSTCAqYWJzb2x1dGVJbWFnZVVSTCBBVkFJTEFCTEVfV0VCS0lU
X1ZFUlNJT05fM18wX0FORF9MQVRFUjsKIEBlbmQKIAotQGludGVyZmFjZSBET01IVE1MSW5wdXRF
bGVtZW50IDogRE9NSFRNTEVsZW1lbnQKK0BpbnRlcmZhY2UgRE9NSFRNTElucHV0RWxlbWVudCA6
IERPTUhUTUxFbGVtZW50IFdFQktJVF9WRVJTSU9OXzFfMwogQHByb3BlcnR5KGNvcHkpIE5TU3Ry
aW5nICpkZWZhdWx0VmFsdWU7CiBAcHJvcGVydHkgQk9PTCBkZWZhdWx0Q2hlY2tlZDsKIEBwcm9w
ZXJ0eShyZWFkb25seSwgcmV0YWluKSBET01IVE1MRm9ybUVsZW1lbnQgKmZvcm07CkBAIC00OTgs
MzUgKzQ5OCwzNSBAQAogQHByb3BlcnR5KGNvcHkpIE5TU3RyaW5nICp0eXBlOwogQHByb3BlcnR5
KGNvcHkpIE5TU3RyaW5nICp1c2VNYXA7CiBAcHJvcGVydHkoY29weSkgTlNTdHJpbmcgKnZhbHVl
OwotQHByb3BlcnR5KHJlYWRvbmx5LCBjb3B5KSBOU1N0cmluZyAqYWx0RGlzcGxheVN0cmluZzsK
LUBwcm9wZXJ0eShyZWFkb25seSwgY29weSkgTlNVUkwgKmFic29sdXRlSW1hZ2VVUkw7CitAcHJv
cGVydHkocmVhZG9ubHksIGNvcHkpIE5TU3RyaW5nICphbHREaXNwbGF5U3RyaW5nIEFWQUlMQUJM
RV9XRUJLSVRfVkVSU0lPTl8zXzBfQU5EX0xBVEVSOworQHByb3BlcnR5KHJlYWRvbmx5LCBjb3B5
KSBOU1VSTCAqYWJzb2x1dGVJbWFnZVVSTCBBVkFJTEFCTEVfV0VCS0lUX1ZFUlNJT05fM18wX0FO
RF9MQVRFUjsKIC0gKHZvaWQpc2VsZWN0OwogLSAodm9pZCljbGljazsKIEBlbmQKIAotQGludGVy
ZmFjZSBET01IVE1MSXNJbmRleEVsZW1lbnQgOiBET01IVE1MSW5wdXRFbGVtZW50CitAaW50ZXJm
YWNlIERPTUhUTUxJc0luZGV4RWxlbWVudCA6IERPTUhUTUxJbnB1dEVsZW1lbnQgV0VCS0lUX1ZF
UlNJT05fMV8zCiBAcHJvcGVydHkocmVhZG9ubHksIHJldGFpbikgRE9NSFRNTEZvcm1FbGVtZW50
ICpmb3JtOwogQHByb3BlcnR5KGNvcHkpIE5TU3RyaW5nICpwcm9tcHQ7CiBAZW5kCiAKLUBpbnRl
cmZhY2UgRE9NSFRNTExJRWxlbWVudCA6IERPTUhUTUxFbGVtZW50CitAaW50ZXJmYWNlIERPTUhU
TUxMSUVsZW1lbnQgOiBET01IVE1MRWxlbWVudCBXRUJLSVRfVkVSU0lPTl8xXzMKIEBwcm9wZXJ0
eShjb3B5KSBOU1N0cmluZyAqdHlwZTsKIEBwcm9wZXJ0eSBpbnQgdmFsdWU7CiBAZW5kCiAKLUBp
bnRlcmZhY2UgRE9NSFRNTExhYmVsRWxlbWVudCA6IERPTUhUTUxFbGVtZW50CitAaW50ZXJmYWNl
IERPTUhUTUxMYWJlbEVsZW1lbnQgOiBET01IVE1MRWxlbWVudCBXRUJLSVRfVkVSU0lPTl8xXzMK
IEBwcm9wZXJ0eShyZWFkb25seSwgcmV0YWluKSBET01IVE1MRm9ybUVsZW1lbnQgKmZvcm07CiBA
cHJvcGVydHkoY29weSkgTlNTdHJpbmcgKmFjY2Vzc0tleTsKIEBwcm9wZXJ0eShjb3B5KSBOU1N0
cmluZyAqaHRtbEZvcjsKIEBlbmQKIAotQGludGVyZmFjZSBET01IVE1MTGVnZW5kRWxlbWVudCA6
IERPTUhUTUxFbGVtZW50CitAaW50ZXJmYWNlIERPTUhUTUxMZWdlbmRFbGVtZW50IDogRE9NSFRN
TEVsZW1lbnQgV0VCS0lUX1ZFUlNJT05fMV8zCiBAcHJvcGVydHkocmVhZG9ubHksIHJldGFpbikg
RE9NSFRNTEZvcm1FbGVtZW50ICpmb3JtOwogQHByb3BlcnR5KGNvcHkpIE5TU3RyaW5nICphY2Nl
c3NLZXk7CiBAcHJvcGVydHkoY29weSkgTlNTdHJpbmcgKmFsaWduOwogQGVuZAogCi1AaW50ZXJm
YWNlIERPTUhUTUxMaW5rRWxlbWVudCA6IERPTUhUTUxFbGVtZW50CitAaW50ZXJmYWNlIERPTUhU
TUxMaW5rRWxlbWVudCA6IERPTUhUTUxFbGVtZW50IFdFQktJVF9WRVJTSU9OXzFfMwogQHByb3Bl
cnR5IEJPT0wgZGlzYWJsZWQ7CiBAcHJvcGVydHkoY29weSkgTlNTdHJpbmcgKmNoYXJzZXQ7CiBA
cHJvcGVydHkoY29weSkgTlNTdHJpbmcgKmhyZWY7CkBAIC01MzYsNDIgKzUzNiw0MiBAQAogQHBy
b3BlcnR5KGNvcHkpIE5TU3RyaW5nICpyZXY7CiBAcHJvcGVydHkoY29weSkgTlNTdHJpbmcgKnRh
cmdldDsKIEBwcm9wZXJ0eShjb3B5KSBOU1N0cmluZyAqdHlwZTsKLUBwcm9wZXJ0eShyZWFkb25s
eSwgY29weSkgTlNVUkwgKmFic29sdXRlTGlua1VSTDsKK0Bwcm9wZXJ0eShyZWFkb25seSwgY29w
eSkgTlNVUkwgKmFic29sdXRlTGlua1VSTCBBVkFJTEFCTEVfV0VCS0lUX1ZFUlNJT05fM18wX0FO
RF9MQVRFUjsKIEBlbmQKIAotQGludGVyZmFjZSBET01IVE1MTWFwRWxlbWVudCA6IERPTUhUTUxF
bGVtZW50CitAaW50ZXJmYWNlIERPTUhUTUxNYXBFbGVtZW50IDogRE9NSFRNTEVsZW1lbnQgV0VC
S0lUX1ZFUlNJT05fMV8zCiBAcHJvcGVydHkocmVhZG9ubHksIHJldGFpbikgRE9NSFRNTENvbGxl
Y3Rpb24gKmFyZWFzOwogQHByb3BlcnR5KGNvcHkpIE5TU3RyaW5nICpuYW1lOwogQGVuZAogCi1A
aW50ZXJmYWNlIERPTUhUTUxNYXJxdWVlRWxlbWVudCA6IERPTUhUTUxFbGVtZW50CitAaW50ZXJm
YWNlIERPTUhUTUxNYXJxdWVlRWxlbWVudCA6IERPTUhUTUxFbGVtZW50IFdFQktJVF9WRVJTSU9O
XzNfMAogLSAodm9pZClzdGFydDsKIC0gKHZvaWQpc3RvcDsKIEBlbmQKIAotQGludGVyZmFjZSBE
T01IVE1MTWVudUVsZW1lbnQgOiBET01IVE1MRWxlbWVudAorQGludGVyZmFjZSBET01IVE1MTWVu
dUVsZW1lbnQgOiBET01IVE1MRWxlbWVudCBXRUJLSVRfVkVSU0lPTl8xXzMKIEBwcm9wZXJ0eSBC
T09MIGNvbXBhY3Q7CiBAZW5kCiAKLUBpbnRlcmZhY2UgRE9NSFRNTE1ldGFFbGVtZW50IDogRE9N
SFRNTEVsZW1lbnQKK0BpbnRlcmZhY2UgRE9NSFRNTE1ldGFFbGVtZW50IDogRE9NSFRNTEVsZW1l
bnQgV0VCS0lUX1ZFUlNJT05fMV8zCiBAcHJvcGVydHkoY29weSkgTlNTdHJpbmcgKmNvbnRlbnQ7
CiBAcHJvcGVydHkoY29weSkgTlNTdHJpbmcgKmh0dHBFcXVpdjsKIEBwcm9wZXJ0eShjb3B5KSBO
U1N0cmluZyAqbmFtZTsKIEBwcm9wZXJ0eShjb3B5KSBOU1N0cmluZyAqc2NoZW1lOwogQGVuZAog
Ci1AaW50ZXJmYWNlIERPTUhUTUxNb2RFbGVtZW50IDogRE9NSFRNTEVsZW1lbnQKK0BpbnRlcmZh
Y2UgRE9NSFRNTE1vZEVsZW1lbnQgOiBET01IVE1MRWxlbWVudCBXRUJLSVRfVkVSU0lPTl8xXzMK
IEBwcm9wZXJ0eShjb3B5KSBOU1N0cmluZyAqY2l0ZTsKIEBwcm9wZXJ0eShjb3B5KSBOU1N0cmlu
ZyAqZGF0ZVRpbWU7CiBAZW5kCiAKLUBpbnRlcmZhY2UgRE9NSFRNTE9MaXN0RWxlbWVudCA6IERP
TUhUTUxFbGVtZW50CitAaW50ZXJmYWNlIERPTUhUTUxPTGlzdEVsZW1lbnQgOiBET01IVE1MRWxl
bWVudCBXRUJLSVRfVkVSU0lPTl8xXzMKIEBwcm9wZXJ0eSBCT09MIGNvbXBhY3Q7CiBAcHJvcGVy
dHkgaW50IHN0YXJ0OwogQHByb3BlcnR5KGNvcHkpIE5TU3RyaW5nICp0eXBlOwogQGVuZAogCi1A
aW50ZXJmYWNlIERPTUhUTUxPYmplY3RFbGVtZW50IDogRE9NSFRNTEVsZW1lbnQKK0BpbnRlcmZh
Y2UgRE9NSFRNTE9iamVjdEVsZW1lbnQgOiBET01IVE1MRWxlbWVudCBXRUJLSVRfVkVSU0lPTl8x
XzMKIEBwcm9wZXJ0eShyZWFkb25seSwgcmV0YWluKSBET01IVE1MRm9ybUVsZW1lbnQgKmZvcm07
CiBAcHJvcGVydHkoY29weSkgTlNTdHJpbmcgKmNvZGU7CiBAcHJvcGVydHkoY29weSkgTlNTdHJp
bmcgKmFsaWduOwpAQCAtNTkwLDE1ICs1OTAsMTUgQEAKIEBwcm9wZXJ0eSBpbnQgdnNwYWNlOwog
QHByb3BlcnR5KGNvcHkpIE5TU3RyaW5nICp3aWR0aDsKIEBwcm9wZXJ0eShyZWFkb25seSwgcmV0
YWluKSBET01Eb2N1bWVudCAqY29udGVudERvY3VtZW50OwotQHByb3BlcnR5KHJlYWRvbmx5LCBj
b3B5KSBOU1VSTCAqYWJzb2x1dGVJbWFnZVVSTDsKK0Bwcm9wZXJ0eShyZWFkb25seSwgY29weSkg
TlNVUkwgKmFic29sdXRlSW1hZ2VVUkwgQVZBSUxBQkxFX1dFQktJVF9WRVJTSU9OXzNfMF9BTkRf
TEFURVI7CiBAZW5kCiAKLUBpbnRlcmZhY2UgRE9NSFRNTE9wdEdyb3VwRWxlbWVudCA6IERPTUhU
TUxFbGVtZW50CitAaW50ZXJmYWNlIERPTUhUTUxPcHRHcm91cEVsZW1lbnQgOiBET01IVE1MRWxl
bWVudCBXRUJLSVRfVkVSU0lPTl8xXzMKIEBwcm9wZXJ0eSBCT09MIGRpc2FibGVkOwogQHByb3Bl
cnR5KGNvcHkpIE5TU3RyaW5nICpsYWJlbDsKIEBlbmQKIAotQGludGVyZmFjZSBET01IVE1MT3B0
aW9uRWxlbWVudCA6IERPTUhUTUxFbGVtZW50CitAaW50ZXJmYWNlIERPTUhUTUxPcHRpb25FbGVt
ZW50IDogRE9NSFRNTEVsZW1lbnQgV0VCS0lUX1ZFUlNJT05fMV8zCiBAcHJvcGVydHkocmVhZG9u
bHksIHJldGFpbikgRE9NSFRNTEZvcm1FbGVtZW50ICpmb3JtOwogQHByb3BlcnR5IEJPT0wgZGVm
YXVsdFNlbGVjdGVkOwogQHByb3BlcnR5KHJlYWRvbmx5LCBjb3B5KSBOU1N0cmluZyAqdGV4dDsK
QEAgLTYwOSwzMiArNjA5LDMyIEBACiBAcHJvcGVydHkoY29weSkgTlNTdHJpbmcgKnZhbHVlOwog
QGVuZAogCi1AaW50ZXJmYWNlIERPTUhUTUxPcHRpb25zQ29sbGVjdGlvbiA6IERPTU9iamVjdAor
QGludGVyZmFjZSBET01IVE1MT3B0aW9uc0NvbGxlY3Rpb24gOiBET01PYmplY3QgV0VCS0lUX1ZF
UlNJT05fMV8zCiBAcHJvcGVydHkgdW5zaWduZWQgbGVuZ3RoOwogLSAoRE9NTm9kZSAqKWl0ZW06
KHVuc2lnbmVkKWluZGV4OwogLSAoRE9NTm9kZSAqKW5hbWVkSXRlbTooTlNTdHJpbmcgKiluYW1l
OwogQGVuZAogCi1AaW50ZXJmYWNlIERPTUhUTUxQYXJhZ3JhcGhFbGVtZW50IDogRE9NSFRNTEVs
ZW1lbnQKK0BpbnRlcmZhY2UgRE9NSFRNTFBhcmFncmFwaEVsZW1lbnQgOiBET01IVE1MRWxlbWVu
dCBXRUJLSVRfVkVSU0lPTl8xXzMKIEBwcm9wZXJ0eShjb3B5KSBOU1N0cmluZyAqYWxpZ247CiBA
ZW5kCiAKLUBpbnRlcmZhY2UgRE9NSFRNTFBhcmFtRWxlbWVudCA6IERPTUhUTUxFbGVtZW50CitA
aW50ZXJmYWNlIERPTUhUTUxQYXJhbUVsZW1lbnQgOiBET01IVE1MRWxlbWVudCBXRUJLSVRfVkVS
U0lPTl8xXzMKIEBwcm9wZXJ0eShjb3B5KSBOU1N0cmluZyAqbmFtZTsKIEBwcm9wZXJ0eShjb3B5
KSBOU1N0cmluZyAqdHlwZTsKIEBwcm9wZXJ0eShjb3B5KSBOU1N0cmluZyAqdmFsdWU7CiBAcHJv
cGVydHkoY29weSkgTlNTdHJpbmcgKnZhbHVlVHlwZTsKIEBlbmQKIAotQGludGVyZmFjZSBET01I
VE1MUHJlRWxlbWVudCA6IERPTUhUTUxFbGVtZW50CitAaW50ZXJmYWNlIERPTUhUTUxQcmVFbGVt
ZW50IDogRE9NSFRNTEVsZW1lbnQgV0VCS0lUX1ZFUlNJT05fMV8zCiBAcHJvcGVydHkgaW50IHdp
ZHRoOwogQGVuZAogCi1AaW50ZXJmYWNlIERPTUhUTUxRdW90ZUVsZW1lbnQgOiBET01IVE1MRWxl
bWVudAorQGludGVyZmFjZSBET01IVE1MUXVvdGVFbGVtZW50IDogRE9NSFRNTEVsZW1lbnQgV0VC
S0lUX1ZFUlNJT05fMV8zCiBAcHJvcGVydHkoY29weSkgTlNTdHJpbmcgKmNpdGU7CiBAZW5kCiAK
LUBpbnRlcmZhY2UgRE9NSFRNTFNjcmlwdEVsZW1lbnQgOiBET01IVE1MRWxlbWVudAorQGludGVy
ZmFjZSBET01IVE1MU2NyaXB0RWxlbWVudCA6IERPTUhUTUxFbGVtZW50IFdFQktJVF9WRVJTSU9O
XzFfMwogQHByb3BlcnR5KGNvcHkpIE5TU3RyaW5nICp0ZXh0OwogQHByb3BlcnR5KGNvcHkpIE5T
U3RyaW5nICpodG1sRm9yOwogQHByb3BlcnR5KGNvcHkpIE5TU3RyaW5nICpldmVudDsKQEAgLTY0
NCw3ICs2NDQsNyBAQAogQHByb3BlcnR5KGNvcHkpIE5TU3RyaW5nICp0eXBlOwogQGVuZAogCi1A
aW50ZXJmYWNlIERPTUhUTUxTZWxlY3RFbGVtZW50IDogRE9NSFRNTEVsZW1lbnQKK0BpbnRlcmZh
Y2UgRE9NSFRNTFNlbGVjdEVsZW1lbnQgOiBET01IVE1MRWxlbWVudCBXRUJLSVRfVkVSU0lPTl8x
XzMKIEBwcm9wZXJ0eShyZWFkb25seSwgY29weSkgTlNTdHJpbmcgKnR5cGU7CiBAcHJvcGVydHkg
aW50IHNlbGVjdGVkSW5kZXg7CiBAcHJvcGVydHkoY29weSkgTlNTdHJpbmcgKnZhbHVlOwpAQCAt
NjU2LDIxICs2NTYsMjEgQEAKIEBwcm9wZXJ0eShjb3B5KSBOU1N0cmluZyAqbmFtZTsKIEBwcm9w
ZXJ0eSBpbnQgc2l6ZTsKIC0gKHZvaWQpYWRkOihET01IVE1MRWxlbWVudCAqKWVsZW1lbnQgOihE
T01IVE1MRWxlbWVudCAqKWJlZm9yZTsKLS0gKHZvaWQpYWRkOihET01IVE1MRWxlbWVudCAqKWVs
ZW1lbnQgYmVmb3JlOihET01IVE1MRWxlbWVudCAqKWJlZm9yZTsKKy0gKHZvaWQpYWRkOihET01I
VE1MRWxlbWVudCAqKWVsZW1lbnQgYmVmb3JlOihET01IVE1MRWxlbWVudCAqKWJlZm9yZSBBVkFJ
TEFCTEVfV0VCS0lUX1ZFUlNJT05fM18wX0FORF9MQVRFUjsKIC0gKHZvaWQpcmVtb3ZlOihpbnQp
aW5kZXg7CiBAZW5kCiAKLUBpbnRlcmZhY2UgRE9NSFRNTFN0eWxlRWxlbWVudCA6IERPTUhUTUxF
bGVtZW50CitAaW50ZXJmYWNlIERPTUhUTUxTdHlsZUVsZW1lbnQgOiBET01IVE1MRWxlbWVudCBX
RUJLSVRfVkVSU0lPTl8xXzMKIEBwcm9wZXJ0eSBCT09MIGRpc2FibGVkOwogQHByb3BlcnR5KGNv
cHkpIE5TU3RyaW5nICptZWRpYTsKIEBwcm9wZXJ0eShjb3B5KSBOU1N0cmluZyAqdHlwZTsKIEBl
bmQKIAotQGludGVyZmFjZSBET01IVE1MVGFibGVDYXB0aW9uRWxlbWVudCA6IERPTUhUTUxFbGVt
ZW50CitAaW50ZXJmYWNlIERPTUhUTUxUYWJsZUNhcHRpb25FbGVtZW50IDogRE9NSFRNTEVsZW1l
bnQgV0VCS0lUX1ZFUlNJT05fMV8zCiBAcHJvcGVydHkoY29weSkgTlNTdHJpbmcgKmFsaWduOwog
QGVuZAogCi1AaW50ZXJmYWNlIERPTUhUTUxUYWJsZUNlbGxFbGVtZW50IDogRE9NSFRNTEVsZW1l
bnQKK0BpbnRlcmZhY2UgRE9NSFRNTFRhYmxlQ2VsbEVsZW1lbnQgOiBET01IVE1MRWxlbWVudCBX
RUJLSVRfVkVSU0lPTl8xXzMKIEBwcm9wZXJ0eShyZWFkb25seSkgaW50IGNlbGxJbmRleDsKIEBw
cm9wZXJ0eShjb3B5KSBOU1N0cmluZyAqYWJicjsKIEBwcm9wZXJ0eShjb3B5KSBOU1N0cmluZyAq
YWxpZ247CkBAIC02ODgsNyArNjg4LDcgQEAKIEBwcm9wZXJ0eShjb3B5KSBOU1N0cmluZyAqd2lk
dGg7CiBAZW5kCiAKLUBpbnRlcmZhY2UgRE9NSFRNTFRhYmxlQ29sRWxlbWVudCA6IERPTUhUTUxF
bGVtZW50CitAaW50ZXJmYWNlIERPTUhUTUxUYWJsZUNvbEVsZW1lbnQgOiBET01IVE1MRWxlbWVu
dCBXRUJLSVRfVkVSU0lPTl8xXzMKIEBwcm9wZXJ0eShjb3B5KSBOU1N0cmluZyAqYWxpZ247CiBA
cHJvcGVydHkoY29weSkgTlNTdHJpbmcgKmNoOwogQHByb3BlcnR5KGNvcHkpIE5TU3RyaW5nICpj
aE9mZjsKQEAgLTY5Nyw3ICs2OTcsNyBAQAogQHByb3BlcnR5KGNvcHkpIE5TU3RyaW5nICp3aWR0
aDsKIEBlbmQKIAotQGludGVyZmFjZSBET01IVE1MVGFibGVFbGVtZW50IDogRE9NSFRNTEVsZW1l
bnQKK0BpbnRlcmZhY2UgRE9NSFRNTFRhYmxlRWxlbWVudCA6IERPTUhUTUxFbGVtZW50IFdFQktJ
VF9WRVJTSU9OXzFfMwogQHByb3BlcnR5KHJldGFpbikgRE9NSFRNTFRhYmxlQ2FwdGlvbkVsZW1l
bnQgKmNhcHRpb247CiBAcHJvcGVydHkocmV0YWluKSBET01IVE1MVGFibGVTZWN0aW9uRWxlbWVu
dCAqdEhlYWQ7CiBAcHJvcGVydHkocmV0YWluKSBET01IVE1MVGFibGVTZWN0aW9uRWxlbWVudCAq
dEZvb3Q7CkBAIC03MjIsNyArNzIyLDcgQEAKIC0gKHZvaWQpZGVsZXRlUm93OihpbnQpaW5kZXg7
CiBAZW5kCiAKLUBpbnRlcmZhY2UgRE9NSFRNTFRhYmxlUm93RWxlbWVudCA6IERPTUhUTUxFbGVt
ZW50CitAaW50ZXJmYWNlIERPTUhUTUxUYWJsZVJvd0VsZW1lbnQgOiBET01IVE1MRWxlbWVudCBX
RUJLSVRfVkVSU0lPTl8xXzMKIEBwcm9wZXJ0eShyZWFkb25seSkgaW50IHJvd0luZGV4OwogQHBy
b3BlcnR5KHJlYWRvbmx5KSBpbnQgc2VjdGlvblJvd0luZGV4OwogQHByb3BlcnR5KHJlYWRvbmx5
LCByZXRhaW4pIERPTUhUTUxDb2xsZWN0aW9uICpjZWxsczsKQEAgLTczNSw3ICs3MzUsNyBAQAog
LSAodm9pZClkZWxldGVDZWxsOihpbnQpaW5kZXg7CiBAZW5kCiAKLUBpbnRlcmZhY2UgRE9NSFRN
TFRhYmxlU2VjdGlvbkVsZW1lbnQgOiBET01IVE1MRWxlbWVudAorQGludGVyZmFjZSBET01IVE1M
VGFibGVTZWN0aW9uRWxlbWVudCA6IERPTUhUTUxFbGVtZW50IFdFQktJVF9WRVJTSU9OXzFfMwog
QHByb3BlcnR5KGNvcHkpIE5TU3RyaW5nICphbGlnbjsKIEBwcm9wZXJ0eShjb3B5KSBOU1N0cmlu
ZyAqY2g7CiBAcHJvcGVydHkoY29weSkgTlNTdHJpbmcgKmNoT2ZmOwpAQCAtNzQ1LDcgKzc0NSw3
IEBACiAtICh2b2lkKWRlbGV0ZVJvdzooaW50KWluZGV4OwogQGVuZAogCi1AaW50ZXJmYWNlIERP
TUhUTUxUZXh0QXJlYUVsZW1lbnQgOiBET01IVE1MRWxlbWVudAorQGludGVyZmFjZSBET01IVE1M
VGV4dEFyZWFFbGVtZW50IDogRE9NSFRNTEVsZW1lbnQgV0VCS0lUX1ZFUlNJT05fMV8zCiBAcHJv
cGVydHkoY29weSkgTlNTdHJpbmcgKmRlZmF1bHRWYWx1ZTsKIEBwcm9wZXJ0eShyZWFkb25seSwg
cmV0YWluKSBET01IVE1MRm9ybUVsZW1lbnQgKmZvcm07CiBAcHJvcGVydHkoY29weSkgTlNTdHJp
bmcgKmFjY2Vzc0tleTsKQEAgLTc1OSw4MSArNzU5LDgxIEBACiAtICh2b2lkKXNlbGVjdDsKIEBl
bmQKIAotQGludGVyZmFjZSBET01IVE1MVGl0bGVFbGVtZW50IDogRE9NSFRNTEVsZW1lbnQKK0Bp
bnRlcmZhY2UgRE9NSFRNTFRpdGxlRWxlbWVudCA6IERPTUhUTUxFbGVtZW50IFdFQktJVF9WRVJT
SU9OXzFfMwogQHByb3BlcnR5KGNvcHkpIE5TU3RyaW5nICp0ZXh0OwogQGVuZAogCi1AaW50ZXJm
YWNlIERPTUhUTUxVTGlzdEVsZW1lbnQgOiBET01IVE1MRWxlbWVudAorQGludGVyZmFjZSBET01I
VE1MVUxpc3RFbGVtZW50IDogRE9NSFRNTEVsZW1lbnQgV0VCS0lUX1ZFUlNJT05fMV8zCiBAcHJv
cGVydHkgQk9PTCBjb21wYWN0OwogQHByb3BlcnR5KGNvcHkpIE5TU3RyaW5nICp0eXBlOwogQGVu
ZAogCi1AaW50ZXJmYWNlIERPTVN0eWxlU2hlZXRMaXN0IDogRE9NT2JqZWN0CitAaW50ZXJmYWNl
IERPTVN0eWxlU2hlZXRMaXN0IDogRE9NT2JqZWN0IFdFQktJVF9WRVJTSU9OXzFfMwogQHByb3Bl
cnR5KHJlYWRvbmx5KSB1bnNpZ25lZCBsZW5ndGg7CiAtIChET01TdHlsZVNoZWV0ICopaXRlbToo
dW5zaWduZWQpaW5kZXg7CiBAZW5kCiAKLUBpbnRlcmZhY2UgRE9NQ1NTQ2hhcnNldFJ1bGUgOiBE
T01DU1NSdWxlCitAaW50ZXJmYWNlIERPTUNTU0NoYXJzZXRSdWxlIDogRE9NQ1NTUnVsZSBXRUJL
SVRfVkVSU0lPTl8xXzMKIEBwcm9wZXJ0eShyZWFkb25seSwgY29weSkgTlNTdHJpbmcgKmVuY29k
aW5nOwogQGVuZAogCi1AaW50ZXJmYWNlIERPTUNTU0ZvbnRGYWNlUnVsZSA6IERPTUNTU1J1bGUK
K0BpbnRlcmZhY2UgRE9NQ1NTRm9udEZhY2VSdWxlIDogRE9NQ1NTUnVsZSBXRUJLSVRfVkVSU0lP
Tl8xXzMKIEBwcm9wZXJ0eShyZWFkb25seSwgcmV0YWluKSBET01DU1NTdHlsZURlY2xhcmF0aW9u
ICpzdHlsZTsKIEBlbmQKIAotQGludGVyZmFjZSBET01DU1NJbXBvcnRSdWxlIDogRE9NQ1NTUnVs
ZQorQGludGVyZmFjZSBET01DU1NJbXBvcnRSdWxlIDogRE9NQ1NTUnVsZSBXRUJLSVRfVkVSU0lP
Tl8xXzMKIEBwcm9wZXJ0eShyZWFkb25seSwgY29weSkgTlNTdHJpbmcgKmhyZWY7CiBAcHJvcGVy
dHkocmVhZG9ubHksIHJldGFpbikgRE9NTWVkaWFMaXN0ICptZWRpYTsKIEBwcm9wZXJ0eShyZWFk
b25seSwgcmV0YWluKSBET01DU1NTdHlsZVNoZWV0ICpzdHlsZVNoZWV0OwogQGVuZAogCi1AaW50
ZXJmYWNlIERPTUNTU01lZGlhUnVsZSA6IERPTUNTU1J1bGUKK0BpbnRlcmZhY2UgRE9NQ1NTTWVk
aWFSdWxlIDogRE9NQ1NTUnVsZSBXRUJLSVRfVkVSU0lPTl8xXzMKIEBwcm9wZXJ0eShyZWFkb25s
eSwgcmV0YWluKSBET01NZWRpYUxpc3QgKm1lZGlhOwogQHByb3BlcnR5KHJlYWRvbmx5LCByZXRh
aW4pIERPTUNTU1J1bGVMaXN0ICpjc3NSdWxlczsKIC0gKHVuc2lnbmVkKWluc2VydFJ1bGU6KE5T
U3RyaW5nICopcnVsZSA6KHVuc2lnbmVkKWluZGV4OwotLSAodW5zaWduZWQpaW5zZXJ0UnVsZToo
TlNTdHJpbmcgKilydWxlIGluZGV4Oih1bnNpZ25lZClpbmRleDsKKy0gKHVuc2lnbmVkKWluc2Vy
dFJ1bGU6KE5TU3RyaW5nICopcnVsZSBpbmRleDoodW5zaWduZWQpaW5kZXggQVZBSUxBQkxFX1dF
QktJVF9WRVJTSU9OXzNfMF9BTkRfTEFURVI7CiAtICh2b2lkKWRlbGV0ZVJ1bGU6KHVuc2lnbmVk
KWluZGV4OwogQGVuZAogCi1AaW50ZXJmYWNlIERPTUNTU1BhZ2VSdWxlIDogRE9NQ1NTUnVsZQor
QGludGVyZmFjZSBET01DU1NQYWdlUnVsZSA6IERPTUNTU1J1bGUgV0VCS0lUX1ZFUlNJT05fMV8z
CiBAcHJvcGVydHkoY29weSkgTlNTdHJpbmcgKnNlbGVjdG9yVGV4dDsKIEBwcm9wZXJ0eShyZWFk
b25seSwgcmV0YWluKSBET01DU1NTdHlsZURlY2xhcmF0aW9uICpzdHlsZTsKIEBlbmQKIAotQGlu
dGVyZmFjZSBET01DU1NQcmltaXRpdmVWYWx1ZSA6IERPTUNTU1ZhbHVlCitAaW50ZXJmYWNlIERP
TUNTU1ByaW1pdGl2ZVZhbHVlIDogRE9NQ1NTVmFsdWUgV0VCS0lUX1ZFUlNJT05fMV8zCiBAcHJv
cGVydHkocmVhZG9ubHkpIHVuc2lnbmVkIHNob3J0IHByaW1pdGl2ZVR5cGU7CiAtICh2b2lkKXNl
dEZsb2F0VmFsdWU6KHVuc2lnbmVkIHNob3J0KXVuaXRUeXBlIDooZmxvYXQpZmxvYXRWYWx1ZTsK
LS0gKHZvaWQpc2V0RmxvYXRWYWx1ZToodW5zaWduZWQgc2hvcnQpdW5pdFR5cGUgZmxvYXRWYWx1
ZTooZmxvYXQpZmxvYXRWYWx1ZTsKKy0gKHZvaWQpc2V0RmxvYXRWYWx1ZToodW5zaWduZWQgc2hv
cnQpdW5pdFR5cGUgZmxvYXRWYWx1ZTooZmxvYXQpZmxvYXRWYWx1ZSBBVkFJTEFCTEVfV0VCS0lU
X1ZFUlNJT05fM18wX0FORF9MQVRFUjsKIC0gKGZsb2F0KWdldEZsb2F0VmFsdWU6KHVuc2lnbmVk
IHNob3J0KXVuaXRUeXBlOwogLSAodm9pZClzZXRTdHJpbmdWYWx1ZToodW5zaWduZWQgc2hvcnQp
c3RyaW5nVHlwZSA6KE5TU3RyaW5nICopc3RyaW5nVmFsdWU7Ci0tICh2b2lkKXNldFN0cmluZ1Zh
bHVlOih1bnNpZ25lZCBzaG9ydClzdHJpbmdUeXBlIHN0cmluZ1ZhbHVlOihOU1N0cmluZyAqKXN0
cmluZ1ZhbHVlOworLSAodm9pZClzZXRTdHJpbmdWYWx1ZToodW5zaWduZWQgc2hvcnQpc3RyaW5n
VHlwZSBzdHJpbmdWYWx1ZTooTlNTdHJpbmcgKilzdHJpbmdWYWx1ZSBBVkFJTEFCTEVfV0VCS0lU
X1ZFUlNJT05fM18wX0FORF9MQVRFUjsKIC0gKE5TU3RyaW5nICopZ2V0U3RyaW5nVmFsdWU7CiAt
IChET01Db3VudGVyICopZ2V0Q291bnRlclZhbHVlOwogLSAoRE9NUmVjdCAqKWdldFJlY3RWYWx1
ZTsKIC0gKERPTVJHQkNvbG9yICopZ2V0UkdCQ29sb3JWYWx1ZTsKIEBlbmQKIAotQGludGVyZmFj
ZSBET01SR0JDb2xvciA6IERPTU9iamVjdAorQGludGVyZmFjZSBET01SR0JDb2xvciA6IERPTU9i
amVjdCBXRUJLSVRfVkVSU0lPTl8xXzMKIEBwcm9wZXJ0eShyZWFkb25seSwgcmV0YWluKSBET01D
U1NQcmltaXRpdmVWYWx1ZSAqcmVkOwogQHByb3BlcnR5KHJlYWRvbmx5LCByZXRhaW4pIERPTUNT
U1ByaW1pdGl2ZVZhbHVlICpncmVlbjsKIEBwcm9wZXJ0eShyZWFkb25seSwgcmV0YWluKSBET01D
U1NQcmltaXRpdmVWYWx1ZSAqYmx1ZTsKIEBwcm9wZXJ0eShyZWFkb25seSwgcmV0YWluKSBET01D
U1NQcmltaXRpdmVWYWx1ZSAqYWxwaGE7Ci1AcHJvcGVydHkocmVhZG9ubHksIGNvcHkpIE5TQ29s
b3IgKmNvbG9yOworQHByb3BlcnR5KHJlYWRvbmx5LCBjb3B5KSBOU0NvbG9yICpjb2xvciBBVkFJ
TEFCTEVfV0VCS0lUX1ZFUlNJT05fM18wX0FORF9MQVRFUjsKIEBlbmQKIAotQGludGVyZmFjZSBE
T01DU1NSdWxlIDogRE9NT2JqZWN0CitAaW50ZXJmYWNlIERPTUNTU1J1bGUgOiBET01PYmplY3Qg
V0VCS0lUX1ZFUlNJT05fMV8zCiBAcHJvcGVydHkocmVhZG9ubHkpIHVuc2lnbmVkIHNob3J0IHR5
cGU7CiBAcHJvcGVydHkoY29weSkgTlNTdHJpbmcgKmNzc1RleHQ7CiBAcHJvcGVydHkocmVhZG9u
bHksIHJldGFpbikgRE9NQ1NTU3R5bGVTaGVldCAqcGFyZW50U3R5bGVTaGVldDsKIEBwcm9wZXJ0
eShyZWFkb25seSwgcmV0YWluKSBET01DU1NSdWxlICpwYXJlbnRSdWxlOwogQGVuZAogCi1AaW50
ZXJmYWNlIERPTUNTU1J1bGVMaXN0IDogRE9NT2JqZWN0CitAaW50ZXJmYWNlIERPTUNTU1J1bGVM
aXN0IDogRE9NT2JqZWN0IFdFQktJVF9WRVJTSU9OXzFfMwogQHByb3BlcnR5KHJlYWRvbmx5KSB1
bnNpZ25lZCBsZW5ndGg7CiAtIChET01DU1NSdWxlICopaXRlbToodW5zaWduZWQpaW5kZXg7CiBA
ZW5kCiAKLUBpbnRlcmZhY2UgRE9NQ1NTU3R5bGVEZWNsYXJhdGlvbiA6IERPTU9iamVjdAorQGlu
dGVyZmFjZSBET01DU1NTdHlsZURlY2xhcmF0aW9uIDogRE9NT2JqZWN0IFdFQktJVF9WRVJTSU9O
XzFfMwogQHByb3BlcnR5KGNvcHkpIE5TU3RyaW5nICpjc3NUZXh0OwogQHByb3BlcnR5KHJlYWRv
bmx5KSB1bnNpZ25lZCBsZW5ndGg7CiBAcHJvcGVydHkocmVhZG9ubHksIHJldGFpbikgRE9NQ1NT
UnVsZSAqcGFyZW50UnVsZTsKQEAgLTg0MiwxOCArODQyLDE4IEBACiAtIChOU1N0cmluZyAqKXJl
bW92ZVByb3BlcnR5OihOU1N0cmluZyAqKXByb3BlcnR5TmFtZTsKIC0gKE5TU3RyaW5nICopZ2V0
UHJvcGVydHlQcmlvcml0eTooTlNTdHJpbmcgKilwcm9wZXJ0eU5hbWU7CiAtICh2b2lkKXNldFBy
b3BlcnR5OihOU1N0cmluZyAqKXByb3BlcnR5TmFtZSA6KE5TU3RyaW5nICopdmFsdWUgOihOU1N0
cmluZyAqKXByaW9yaXR5OwotLSAodm9pZClzZXRQcm9wZXJ0eTooTlNTdHJpbmcgKilwcm9wZXJ0
eU5hbWUgdmFsdWU6KE5TU3RyaW5nICopdmFsdWUgcHJpb3JpdHk6KE5TU3RyaW5nICopcHJpb3Jp
dHk7CistICh2b2lkKXNldFByb3BlcnR5OihOU1N0cmluZyAqKXByb3BlcnR5TmFtZSB2YWx1ZToo
TlNTdHJpbmcgKil2YWx1ZSBwcmlvcml0eTooTlNTdHJpbmcgKilwcmlvcml0eSBBVkFJTEFCTEVf
V0VCS0lUX1ZFUlNJT05fM18wX0FORF9MQVRFUjsKIC0gKE5TU3RyaW5nICopaXRlbToodW5zaWdu
ZWQpaW5kZXg7Ci0tIChOU1N0cmluZyAqKWdldFByb3BlcnR5U2hvcnRoYW5kOihOU1N0cmluZyAq
KXByb3BlcnR5TmFtZTsKLS0gKEJPT0wpaXNQcm9wZXJ0eUltcGxpY2l0OihOU1N0cmluZyAqKXBy
b3BlcnR5TmFtZTsKKy0gKE5TU3RyaW5nICopZ2V0UHJvcGVydHlTaG9ydGhhbmQ6KE5TU3RyaW5n
ICopcHJvcGVydHlOYW1lIEFWQUlMQUJMRV9XRUJLSVRfVkVSU0lPTl8zXzBfQU5EX0xBVEVSOwor
LSAoQk9PTClpc1Byb3BlcnR5SW1wbGljaXQ6KE5TU3RyaW5nICopcHJvcGVydHlOYW1lIEFWQUlM
QUJMRV9XRUJLSVRfVkVSU0lPTl8zXzBfQU5EX0xBVEVSOwogQGVuZAogCi1AaW50ZXJmYWNlIERP
TUNTU1N0eWxlUnVsZSA6IERPTUNTU1J1bGUKK0BpbnRlcmZhY2UgRE9NQ1NTU3R5bGVSdWxlIDog
RE9NQ1NTUnVsZSBXRUJLSVRfVkVSU0lPTl8xXzMKIEBwcm9wZXJ0eShjb3B5KSBOU1N0cmluZyAq
c2VsZWN0b3JUZXh0OwogQHByb3BlcnR5KHJlYWRvbmx5LCByZXRhaW4pIERPTUNTU1N0eWxlRGVj
bGFyYXRpb24gKnN0eWxlOwogQGVuZAogCi1AaW50ZXJmYWNlIERPTVN0eWxlU2hlZXQgOiBET01P
YmplY3QKK0BpbnRlcmZhY2UgRE9NU3R5bGVTaGVldCA6IERPTU9iamVjdCBXRUJLSVRfVkVSU0lP
Tl8xXzMKIEBwcm9wZXJ0eShyZWFkb25seSwgY29weSkgTlNTdHJpbmcgKnR5cGU7CiBAcHJvcGVy
dHkgQk9PTCBkaXNhYmxlZDsKIEBwcm9wZXJ0eShyZWFkb25seSwgcmV0YWluKSBET01Ob2RlICpv
d25lck5vZGU7CkBAIC04NjMsNDEgKzg2Myw0MSBAQAogQHByb3BlcnR5KHJlYWRvbmx5LCByZXRh
aW4pIERPTU1lZGlhTGlzdCAqbWVkaWE7CiBAZW5kCiAKLUBpbnRlcmZhY2UgRE9NQ1NTU3R5bGVT
aGVldCA6IERPTVN0eWxlU2hlZXQKK0BpbnRlcmZhY2UgRE9NQ1NTU3R5bGVTaGVldCA6IERPTVN0
eWxlU2hlZXQgV0VCS0lUX1ZFUlNJT05fMV8zCiBAcHJvcGVydHkocmVhZG9ubHksIHJldGFpbikg
RE9NQ1NTUnVsZSAqb3duZXJSdWxlOwogQHByb3BlcnR5KHJlYWRvbmx5LCByZXRhaW4pIERPTUNT
U1J1bGVMaXN0ICpjc3NSdWxlczsKIC0gKHVuc2lnbmVkKWluc2VydFJ1bGU6KE5TU3RyaW5nICop
cnVsZSA6KHVuc2lnbmVkKWluZGV4OwotLSAodW5zaWduZWQpaW5zZXJ0UnVsZTooTlNTdHJpbmcg
KilydWxlIGluZGV4Oih1bnNpZ25lZClpbmRleDsKKy0gKHVuc2lnbmVkKWluc2VydFJ1bGU6KE5T
U3RyaW5nICopcnVsZSBpbmRleDoodW5zaWduZWQpaW5kZXggQVZBSUxBQkxFX1dFQktJVF9WRVJT
SU9OXzNfMF9BTkRfTEFURVI7CiAtICh2b2lkKWRlbGV0ZVJ1bGU6KHVuc2lnbmVkKWluZGV4Owog
QGVuZAogCi1AaW50ZXJmYWNlIERPTUNTU1ZhbHVlIDogRE9NT2JqZWN0CitAaW50ZXJmYWNlIERP
TUNTU1ZhbHVlIDogRE9NT2JqZWN0IFdFQktJVF9WRVJTSU9OXzFfMwogQHByb3BlcnR5KGNvcHkp
IE5TU3RyaW5nICpjc3NUZXh0OwogQHByb3BlcnR5KHJlYWRvbmx5KSB1bnNpZ25lZCBzaG9ydCBj
c3NWYWx1ZVR5cGU7CiBAZW5kCiAKLUBpbnRlcmZhY2UgRE9NQ1NTVmFsdWVMaXN0IDogRE9NQ1NT
VmFsdWUKK0BpbnRlcmZhY2UgRE9NQ1NTVmFsdWVMaXN0IDogRE9NQ1NTVmFsdWUgV0VCS0lUX1ZF
UlNJT05fMV8zCiBAcHJvcGVydHkocmVhZG9ubHkpIHVuc2lnbmVkIGxlbmd0aDsKIC0gKERPTUNT
U1ZhbHVlICopaXRlbToodW5zaWduZWQpaW5kZXg7CiBAZW5kCiAKLUBpbnRlcmZhY2UgRE9NQ1NT
VW5rbm93blJ1bGUgOiBET01DU1NSdWxlCitAaW50ZXJmYWNlIERPTUNTU1Vua25vd25SdWxlIDog
RE9NQ1NTUnVsZSBXRUJLSVRfVkVSU0lPTl8xXzMKIEBlbmQKIAotQGludGVyZmFjZSBET01Db3Vu
dGVyIDogRE9NT2JqZWN0CitAaW50ZXJmYWNlIERPTUNvdW50ZXIgOiBET01PYmplY3QgV0VCS0lU
X1ZFUlNJT05fMV8zCiBAcHJvcGVydHkocmVhZG9ubHksIGNvcHkpIE5TU3RyaW5nICppZGVudGlm
aWVyOwogQHByb3BlcnR5KHJlYWRvbmx5LCBjb3B5KSBOU1N0cmluZyAqbGlzdFN0eWxlOwogQHBy
b3BlcnR5KHJlYWRvbmx5LCBjb3B5KSBOU1N0cmluZyAqc2VwYXJhdG9yOwogQGVuZAogCi1AaW50
ZXJmYWNlIERPTVJlY3QgOiBET01PYmplY3QKK0BpbnRlcmZhY2UgRE9NUmVjdCA6IERPTU9iamVj
dCBXRUJLSVRfVkVSU0lPTl8xXzMKIEBwcm9wZXJ0eShyZWFkb25seSwgcmV0YWluKSBET01DU1NQ
cmltaXRpdmVWYWx1ZSAqdG9wOwogQHByb3BlcnR5KHJlYWRvbmx5LCByZXRhaW4pIERPTUNTU1By
aW1pdGl2ZVZhbHVlICpyaWdodDsKIEBwcm9wZXJ0eShyZWFkb25seSwgcmV0YWluKSBET01DU1NQ
cmltaXRpdmVWYWx1ZSAqYm90dG9tOwogQHByb3BlcnR5KHJlYWRvbmx5LCByZXRhaW4pIERPTUNT
U1ByaW1pdGl2ZVZhbHVlICpsZWZ0OwogQGVuZAogCi1AaW50ZXJmYWNlIERPTUV2ZW50IDogRE9N
T2JqZWN0CitAaW50ZXJmYWNlIERPTUV2ZW50IDogRE9NT2JqZWN0IFdFQktJVF9WRVJTSU9OXzFf
MwogQHByb3BlcnR5KHJlYWRvbmx5LCBjb3B5KSBOU1N0cmluZyAqdHlwZTsKIEBwcm9wZXJ0eShy
ZWFkb25seSwgcmV0YWluKSBpZCA8RE9NRXZlbnRUYXJnZXQ+IHRhcmdldDsKIEBwcm9wZXJ0eShy
ZWFkb25seSwgcmV0YWluKSBpZCA8RE9NRXZlbnRUYXJnZXQ+IGN1cnJlbnRUYXJnZXQ7CkBAIC05
MDcsMzUgKzkwNywzNSBAQAogQHByb3BlcnR5KHJlYWRvbmx5KSBET01UaW1lU3RhbXAgdGltZVN0
YW1wOwogLSAodm9pZClzdG9wUHJvcGFnYXRpb247CiAtICh2b2lkKXByZXZlbnREZWZhdWx0Owot
LSAodm9pZClpbml0RXZlbnQ6KE5TU3RyaW5nICopZXZlbnRUeXBlQXJnIGNhbkJ1YmJsZUFyZzoo
Qk9PTCljYW5CdWJibGVBcmcgY2FuY2VsYWJsZUFyZzooQk9PTCljYW5jZWxhYmxlQXJnOworLSAo
dm9pZClpbml0RXZlbnQ6KE5TU3RyaW5nICopZXZlbnRUeXBlQXJnIGNhbkJ1YmJsZUFyZzooQk9P
TCljYW5CdWJibGVBcmcgY2FuY2VsYWJsZUFyZzooQk9PTCljYW5jZWxhYmxlQXJnIEFWQUlMQUJM
RV9XRUJLSVRfVkVSU0lPTl8zXzBfQU5EX0xBVEVSOwogLSAodm9pZClpbml0RXZlbnQ6KE5TU3Ry
aW5nICopZXZlbnRUeXBlQXJnIDooQk9PTCljYW5CdWJibGVBcmcgOihCT09MKWNhbmNlbGFibGVB
cmc7CiBAZW5kCiAKLUBpbnRlcmZhY2UgRE9NVUlFdmVudCA6IERPTUV2ZW50CitAaW50ZXJmYWNl
IERPTVVJRXZlbnQgOiBET01FdmVudCBXRUJLSVRfVkVSU0lPTl8xXzMKIEBwcm9wZXJ0eShyZWFk
b25seSwgcmV0YWluKSBET01BYnN0cmFjdFZpZXcgKnZpZXc7CiBAcHJvcGVydHkocmVhZG9ubHkp
IGludCBkZXRhaWw7Ci0tICh2b2lkKWluaXRVSUV2ZW50OihOU1N0cmluZyAqKXR5cGUgY2FuQnVi
YmxlOihCT09MKWNhbkJ1YmJsZSBjYW5jZWxhYmxlOihCT09MKWNhbmNlbGFibGUgdmlldzooRE9N
QWJzdHJhY3RWaWV3ICopdmlldyBkZXRhaWw6KGludClkZXRhaWw7CistICh2b2lkKWluaXRVSUV2
ZW50OihOU1N0cmluZyAqKXR5cGUgY2FuQnViYmxlOihCT09MKWNhbkJ1YmJsZSBjYW5jZWxhYmxl
OihCT09MKWNhbmNlbGFibGUgdmlldzooRE9NQWJzdHJhY3RWaWV3ICopdmlldyBkZXRhaWw6KGlu
dClkZXRhaWwgQVZBSUxBQkxFX1dFQktJVF9WRVJTSU9OXzNfMF9BTkRfTEFURVI7CiAtICh2b2lk
KWluaXRVSUV2ZW50OihOU1N0cmluZyAqKXR5cGUgOihCT09MKWNhbkJ1YmJsZSA6KEJPT0wpY2Fu
Y2VsYWJsZSA6KERPTUFic3RyYWN0VmlldyAqKXZpZXcgOihpbnQpZGV0YWlsOwogQGVuZAogCi1A
aW50ZXJmYWNlIERPTU11dGF0aW9uRXZlbnQgOiBET01FdmVudAorQGludGVyZmFjZSBET01NdXRh
dGlvbkV2ZW50IDogRE9NRXZlbnQgV0VCS0lUX1ZFUlNJT05fMV8zCiBAcHJvcGVydHkocmVhZG9u
bHksIHJldGFpbikgRE9NTm9kZSAqcmVsYXRlZE5vZGU7CiBAcHJvcGVydHkocmVhZG9ubHksIGNv
cHkpIE5TU3RyaW5nICpwcmV2VmFsdWU7CiBAcHJvcGVydHkocmVhZG9ubHksIGNvcHkpIE5TU3Ry
aW5nICpuZXdWYWx1ZTsKIEBwcm9wZXJ0eShyZWFkb25seSwgY29weSkgTlNTdHJpbmcgKmF0dHJO
YW1lOwogQHByb3BlcnR5KHJlYWRvbmx5KSB1bnNpZ25lZCBzaG9ydCBhdHRyQ2hhbmdlOwotLSAo
dm9pZClpbml0TXV0YXRpb25FdmVudDooTlNTdHJpbmcgKil0eXBlIGNhbkJ1YmJsZTooQk9PTClj
YW5CdWJibGUgY2FuY2VsYWJsZTooQk9PTCljYW5jZWxhYmxlIHJlbGF0ZWROb2RlOihET01Ob2Rl
ICopcmVsYXRlZE5vZGUgcHJldlZhbHVlOihOU1N0cmluZyAqKXByZXZWYWx1ZSBuZXdWYWx1ZToo
TlNTdHJpbmcgKiluZXdWYWx1ZSBhdHRyTmFtZTooTlNTdHJpbmcgKilhdHRyTmFtZSBhdHRyQ2hh
bmdlOih1bnNpZ25lZCBzaG9ydClhdHRyQ2hhbmdlOworLSAodm9pZClpbml0TXV0YXRpb25FdmVu
dDooTlNTdHJpbmcgKil0eXBlIGNhbkJ1YmJsZTooQk9PTCljYW5CdWJibGUgY2FuY2VsYWJsZToo
Qk9PTCljYW5jZWxhYmxlIHJlbGF0ZWROb2RlOihET01Ob2RlICopcmVsYXRlZE5vZGUgcHJldlZh
bHVlOihOU1N0cmluZyAqKXByZXZWYWx1ZSBuZXdWYWx1ZTooTlNTdHJpbmcgKiluZXdWYWx1ZSBh
dHRyTmFtZTooTlNTdHJpbmcgKilhdHRyTmFtZSBhdHRyQ2hhbmdlOih1bnNpZ25lZCBzaG9ydClh
dHRyQ2hhbmdlIEFWQUlMQUJMRV9XRUJLSVRfVkVSU0lPTl8zXzBfQU5EX0xBVEVSOwogLSAodm9p
ZClpbml0TXV0YXRpb25FdmVudDooTlNTdHJpbmcgKil0eXBlIDooQk9PTCljYW5CdWJibGUgOihC
T09MKWNhbmNlbGFibGUgOihET01Ob2RlICopcmVsYXRlZE5vZGUgOihOU1N0cmluZyAqKXByZXZW
YWx1ZSA6KE5TU3RyaW5nICopbmV3VmFsdWUgOihOU1N0cmluZyAqKWF0dHJOYW1lIDoodW5zaWdu
ZWQgc2hvcnQpYXR0ckNoYW5nZTsKIEBlbmQKIAotQGludGVyZmFjZSBET01PdmVyZmxvd0V2ZW50
IDogRE9NRXZlbnQKK0BpbnRlcmZhY2UgRE9NT3ZlcmZsb3dFdmVudCA6IERPTUV2ZW50IFdFQktJ
VF9WRVJTSU9OXzNfMAogQHByb3BlcnR5KHJlYWRvbmx5KSB1bnNpZ25lZCBzaG9ydCBvcmllbnQ7
CiBAcHJvcGVydHkocmVhZG9ubHkpIEJPT0wgaG9yaXpvbnRhbE92ZXJmbG93OwogQHByb3BlcnR5
KHJlYWRvbmx5KSBCT09MIHZlcnRpY2FsT3ZlcmZsb3c7CiAtICh2b2lkKWluaXRPdmVyZmxvd0V2
ZW50Oih1bnNpZ25lZCBzaG9ydClvcmllbnQgaG9yaXpvbnRhbE92ZXJmbG93OihCT09MKWhvcml6
b250YWxPdmVyZmxvdyB2ZXJ0aWNhbE92ZXJmbG93OihCT09MKXZlcnRpY2FsT3ZlcmZsb3c7CiBA
ZW5kCiAKLUBpbnRlcmZhY2UgRE9NV2hlZWxFdmVudCA6IERPTVVJRXZlbnQKK0BpbnRlcmZhY2Ug
RE9NV2hlZWxFdmVudCA6IERPTVVJRXZlbnQgV0VCS0lUX1ZFUlNJT05fM18wCiBAcHJvcGVydHko
cmVhZG9ubHkpIGludCBzY3JlZW5YOwogQHByb3BlcnR5KHJlYWRvbmx5KSBpbnQgc2NyZWVuWTsK
IEBwcm9wZXJ0eShyZWFkb25seSkgaW50IGNsaWVudFg7CkBAIC05NDgsNyArOTQ4LDcgQEAKIEBw
cm9wZXJ0eShyZWFkb25seSkgaW50IHdoZWVsRGVsdGE7CiBAZW5kCiAKLUBpbnRlcmZhY2UgRE9N
S2V5Ym9hcmRFdmVudCA6IERPTVVJRXZlbnQKK0BpbnRlcmZhY2UgRE9NS2V5Ym9hcmRFdmVudCA6
IERPTVVJRXZlbnQgV0VCS0lUX1ZFUlNJT05fM18wCiBAcHJvcGVydHkocmVhZG9ubHksIGNvcHkp
IE5TU3RyaW5nICprZXlJZGVudGlmaWVyOwogQHByb3BlcnR5KHJlYWRvbmx5KSB1bnNpZ25lZCBr
ZXlMb2NhdGlvbjsKIEBwcm9wZXJ0eShyZWFkb25seSkgQk9PTCBjdHJsS2V5OwpAQCAtOTYwLDcg
Kzk2MCw3IEBACiAtIChCT09MKWdldE1vZGlmaWVyU3RhdGU6KE5TU3RyaW5nICopa2V5SWRlbnRp
ZmllckFyZzsKIEBlbmQKIAotQGludGVyZmFjZSBET01Nb3VzZUV2ZW50IDogRE9NVUlFdmVudAor
QGludGVyZmFjZSBET01Nb3VzZUV2ZW50IDogRE9NVUlFdmVudCBXRUJLSVRfVkVSU0lPTl8xXzMK
IEBwcm9wZXJ0eShyZWFkb25seSkgaW50IHNjcmVlblg7CiBAcHJvcGVydHkocmVhZG9ubHkpIGlu
dCBzY3JlZW5ZOwogQHByb3BlcnR5KHJlYWRvbmx5KSBpbnQgY2xpZW50WDsKQEAgLTk3MSwyMSAr
OTcxLDIxIEBACiBAcHJvcGVydHkocmVhZG9ubHkpIEJPT0wgbWV0YUtleTsKIEBwcm9wZXJ0eShy
ZWFkb25seSkgdW5zaWduZWQgc2hvcnQgYnV0dG9uOwogQHByb3BlcnR5KHJlYWRvbmx5LCByZXRh
aW4pIGlkIDxET01FdmVudFRhcmdldD4gcmVsYXRlZFRhcmdldDsKLS0gKHZvaWQpaW5pdE1vdXNl
RXZlbnQ6KE5TU3RyaW5nICopdHlwZSBjYW5CdWJibGU6KEJPT0wpY2FuQnViYmxlIGNhbmNlbGFi
bGU6KEJPT0wpY2FuY2VsYWJsZSB2aWV3OihET01BYnN0cmFjdFZpZXcgKil2aWV3IGRldGFpbDoo
aW50KWRldGFpbCBzY3JlZW5YOihpbnQpc2NyZWVuWCBzY3JlZW5ZOihpbnQpc2NyZWVuWSBjbGll
bnRYOihpbnQpY2xpZW50WCBjbGllbnRZOihpbnQpY2xpZW50WSBjdHJsS2V5OihCT09MKWN0cmxL
ZXkgYWx0S2V5OihCT09MKWFsdEtleSBzaGlmdEtleTooQk9PTClzaGlmdEtleSBtZXRhS2V5OihC
T09MKW1ldGFLZXkgYnV0dG9uOih1bnNpZ25lZCBzaG9ydClidXR0b24gcmVsYXRlZFRhcmdldDoo
aWQgPERPTUV2ZW50VGFyZ2V0PilyZWxhdGVkVGFyZ2V0OworLSAodm9pZClpbml0TW91c2VFdmVu
dDooTlNTdHJpbmcgKil0eXBlIGNhbkJ1YmJsZTooQk9PTCljYW5CdWJibGUgY2FuY2VsYWJsZToo
Qk9PTCljYW5jZWxhYmxlIHZpZXc6KERPTUFic3RyYWN0VmlldyAqKXZpZXcgZGV0YWlsOihpbnQp
ZGV0YWlsIHNjcmVlblg6KGludClzY3JlZW5YIHNjcmVlblk6KGludClzY3JlZW5ZIGNsaWVudFg6
KGludCljbGllbnRYIGNsaWVudFk6KGludCljbGllbnRZIGN0cmxLZXk6KEJPT0wpY3RybEtleSBh
bHRLZXk6KEJPT0wpYWx0S2V5IHNoaWZ0S2V5OihCT09MKXNoaWZ0S2V5IG1ldGFLZXk6KEJPT0wp
bWV0YUtleSBidXR0b246KHVuc2lnbmVkIHNob3J0KWJ1dHRvbiByZWxhdGVkVGFyZ2V0OihpZCA8
RE9NRXZlbnRUYXJnZXQ+KXJlbGF0ZWRUYXJnZXQgQVZBSUxBQkxFX1dFQktJVF9WRVJTSU9OXzNf
MF9BTkRfTEFURVI7CiAtICh2b2lkKWluaXRNb3VzZUV2ZW50OihOU1N0cmluZyAqKXR5cGUgOihC
T09MKWNhbkJ1YmJsZSA6KEJPT0wpY2FuY2VsYWJsZSA6KERPTUFic3RyYWN0VmlldyAqKXZpZXcg
OihpbnQpZGV0YWlsIDooaW50KXNjcmVlblggOihpbnQpc2NyZWVuWSA6KGludCljbGllbnRYIDoo
aW50KWNsaWVudFkgOihCT09MKWN0cmxLZXkgOihCT09MKWFsdEtleSA6KEJPT0wpc2hpZnRLZXkg
OihCT09MKW1ldGFLZXkgOih1bnNpZ25lZCBzaG9ydClidXR0b24gOihpZCA8RE9NRXZlbnRUYXJn
ZXQ+KXJlbGF0ZWRUYXJnZXQ7CiBAZW5kCiAKLUBpbnRlcmZhY2UgRE9NUmFuZ2UgOiBET01PYmpl
Y3QKK0BpbnRlcmZhY2UgRE9NUmFuZ2UgOiBET01PYmplY3QgV0VCS0lUX1ZFUlNJT05fMV8zCiBA
cHJvcGVydHkocmVhZG9ubHksIHJldGFpbikgRE9NTm9kZSAqc3RhcnRDb250YWluZXI7CiBAcHJv
cGVydHkocmVhZG9ubHkpIGludCBzdGFydE9mZnNldDsKIEBwcm9wZXJ0eShyZWFkb25seSwgcmV0
YWluKSBET01Ob2RlICplbmRDb250YWluZXI7CiBAcHJvcGVydHkocmVhZG9ubHkpIGludCBlbmRP
ZmZzZXQ7CiBAcHJvcGVydHkocmVhZG9ubHkpIEJPT0wgY29sbGFwc2VkOwogQHByb3BlcnR5KHJl
YWRvbmx5LCByZXRhaW4pIERPTU5vZGUgKmNvbW1vbkFuY2VzdG9yQ29udGFpbmVyOwotQHByb3Bl
cnR5KHJlYWRvbmx5LCBjb3B5KSBOU1N0cmluZyAqdGV4dDsKLS0gKHZvaWQpc2V0U3RhcnQ6KERP
TU5vZGUgKilyZWZOb2RlIG9mZnNldDooaW50KW9mZnNldDsKK0Bwcm9wZXJ0eShyZWFkb25seSwg
Y29weSkgTlNTdHJpbmcgKnRleHQgQVZBSUxBQkxFX1dFQktJVF9WRVJTSU9OXzNfMF9BTkRfTEFU
RVI7CistICh2b2lkKXNldFN0YXJ0OihET01Ob2RlICopcmVmTm9kZSBvZmZzZXQ6KGludClvZmZz
ZXQgQVZBSUxBQkxFX1dFQktJVF9WRVJTSU9OXzNfMF9BTkRfTEFURVI7CiAtICh2b2lkKXNldFN0
YXJ0OihET01Ob2RlICopcmVmTm9kZSA6KGludClvZmZzZXQ7Ci0tICh2b2lkKXNldEVuZDooRE9N
Tm9kZSAqKXJlZk5vZGUgb2Zmc2V0OihpbnQpb2Zmc2V0OworLSAodm9pZClzZXRFbmQ6KERPTU5v
ZGUgKilyZWZOb2RlIG9mZnNldDooaW50KW9mZnNldCBBVkFJTEFCTEVfV0VCS0lUX1ZFUlNJT05f
M18wX0FORF9MQVRFUjsKIC0gKHZvaWQpc2V0RW5kOihET01Ob2RlICopcmVmTm9kZSA6KGludClv
ZmZzZXQ7CiAtICh2b2lkKXNldFN0YXJ0QmVmb3JlOihET01Ob2RlICopcmVmTm9kZTsKIC0gKHZv
aWQpc2V0U3RhcnRBZnRlcjooRE9NTm9kZSAqKXJlZk5vZGU7CkBAIC05OTQsNyArOTk0LDcgQEAK
IC0gKHZvaWQpY29sbGFwc2U6KEJPT0wpdG9TdGFydDsKIC0gKHZvaWQpc2VsZWN0Tm9kZTooRE9N
Tm9kZSAqKXJlZk5vZGU7CiAtICh2b2lkKXNlbGVjdE5vZGVDb250ZW50czooRE9NTm9kZSAqKXJl
Zk5vZGU7Ci0tIChzaG9ydCljb21wYXJlQm91bmRhcnlQb2ludHM6KHVuc2lnbmVkIHNob3J0KWhv
dyBzb3VyY2VSYW5nZTooRE9NUmFuZ2UgKilzb3VyY2VSYW5nZTsKKy0gKHNob3J0KWNvbXBhcmVC
b3VuZGFyeVBvaW50czoodW5zaWduZWQgc2hvcnQpaG93IHNvdXJjZVJhbmdlOihET01SYW5nZSAq
KXNvdXJjZVJhbmdlIEFWQUlMQUJMRV9XRUJLSVRfVkVSU0lPTl8zXzBfQU5EX0xBVEVSOwogLSAo
c2hvcnQpY29tcGFyZUJvdW5kYXJ5UG9pbnRzOih1bnNpZ25lZCBzaG9ydClob3cgOihET01SYW5n
ZSAqKXNvdXJjZVJhbmdlOwogLSAodm9pZClkZWxldGVDb250ZW50czsKIC0gKERPTURvY3VtZW50
RnJhZ21lbnQgKilleHRyYWN0Q29udGVudHM7CkBAIC0xMDA2LDcgKzEwMDYsNyBAQAogLSAodm9p
ZClkZXRhY2g7CiBAZW5kCiAKLUBpbnRlcmZhY2UgRE9NTm9kZUl0ZXJhdG9yIDogRE9NT2JqZWN0
CitAaW50ZXJmYWNlIERPTU5vZGVJdGVyYXRvciA6IERPTU9iamVjdCBXRUJLSVRfVkVSU0lPTl8x
XzMKIEBwcm9wZXJ0eShyZWFkb25seSwgcmV0YWluKSBET01Ob2RlICpyb290OwogQHByb3BlcnR5
KHJlYWRvbmx5KSB1bnNpZ25lZCB3aGF0VG9TaG93OwogQHByb3BlcnR5KHJlYWRvbmx5LCByZXRh
aW4pIGlkIDxET01Ob2RlRmlsdGVyPiBmaWx0ZXI7CkBAIC0xMDE2LDcgKzEwMTYsNyBAQAogLSAo
dm9pZClkZXRhY2g7CiBAZW5kCiAKLUBpbnRlcmZhY2UgRE9NTWVkaWFMaXN0IDogRE9NT2JqZWN0
CitAaW50ZXJmYWNlIERPTU1lZGlhTGlzdCA6IERPTU9iamVjdCBXRUJLSVRfVkVSU0lPTl8xXzMK
IEBwcm9wZXJ0eShjb3B5KSBOU1N0cmluZyAqbWVkaWFUZXh0OwogQHByb3BlcnR5KHJlYWRvbmx5
KSB1bnNpZ25lZCBsZW5ndGg7CiAtIChOU1N0cmluZyAqKWl0ZW06KHVuc2lnbmVkKWluZGV4OwpA
QCAtMTAyNCw3ICsxMDI0LDcgQEAKIC0gKHZvaWQpYXBwZW5kTWVkaXVtOihOU1N0cmluZyAqKW5l
d01lZGl1bTsKIEBlbmQKIAotQGludGVyZmFjZSBET01UcmVlV2Fsa2VyIDogRE9NT2JqZWN0CitA
aW50ZXJmYWNlIERPTVRyZWVXYWxrZXIgOiBET01PYmplY3QgV0VCS0lUX1ZFUlNJT05fMV8zCiBA
cHJvcGVydHkocmVhZG9ubHksIHJldGFpbikgRE9NTm9kZSAqcm9vdDsKIEBwcm9wZXJ0eShyZWFk
b25seSkgdW5zaWduZWQgd2hhdFRvU2hvdzsKIEBwcm9wZXJ0eShyZWFkb25seSwgcmV0YWluKSBp
ZCA8RE9NTm9kZUZpbHRlcj4gZmlsdGVyOwpAQCAtMTAzOSw3ICsxMDM5LDcgQEAKIC0gKERPTU5v
ZGUgKiluZXh0Tm9kZTsKIEBlbmQKIAotQGludGVyZmFjZSBET01YUGF0aFJlc3VsdCA6IERPTU9i
amVjdAorQGludGVyZmFjZSBET01YUGF0aFJlc3VsdCA6IERPTU9iamVjdCBXRUJLSVRfVkVSU0lP
Tl8zXzAKIEBwcm9wZXJ0eShyZWFkb25seSkgdW5zaWduZWQgc2hvcnQgcmVzdWx0VHlwZTsKIEBw
cm9wZXJ0eShyZWFkb25seSkgZG91YmxlIG51bWJlclZhbHVlOwogQHByb3BlcnR5KHJlYWRvbmx5
LCBjb3B5KSBOU1N0cmluZyAqc3RyaW5nVmFsdWU7CkBAIC0xMDUxLDMyICsxMDUxLDI5IEBACiAt
IChET01Ob2RlICopc25hcHNob3RJdGVtOih1bnNpZ25lZClpbmRleDsKIEBlbmQKIAotQGludGVy
ZmFjZSBET01YUGF0aEV4cHJlc3Npb24gOiBET01PYmplY3QKLS8vIFdlIHNob3VsZCBiZSBhYmxl
IHRvIHJlbW92ZSB0aGUgb2xkIHN0eWxlIHZlcnNpb24gb2YgdGhpcyBtZXRob2QKLS8vIG9uY2Ug
d2UgY2FuIHZlcmlmeSB0aGF0IGFsbCB0aGUgaW50ZXJuYWwgQXBwbGUgdXNhZ2VzIGhhdmUgc3dp
dGNoZWQKLS8vIHRvIHRoZSBuZXcgc3R5bGUsIGJlY2F1c2UgdGhpcyBoYXMgbmV2ZXIgYmVlbiBp
biBhIHB1YmxpYyByZWxlYXNlLgotLSAoRE9NWFBhdGhSZXN1bHQgKilldmFsdWF0ZTooRE9NTm9k
ZSAqKWNvbnRleHROb2RlIHR5cGU6KHVuc2lnbmVkIHNob3J0KXR5cGUgaW5SZXN1bHQ6KERPTVhQ
YXRoUmVzdWx0ICopaW5SZXN1bHQ7Ci0tIChET01YUGF0aFJlc3VsdCAqKWV2YWx1YXRlOihET01O
b2RlICopY29udGV4dE5vZGUgOih1bnNpZ25lZCBzaG9ydCl0eXBlIDooRE9NWFBhdGhSZXN1bHQg
KilpblJlc3VsdDsKK0BpbnRlcmZhY2UgRE9NWFBhdGhFeHByZXNzaW9uIDogRE9NT2JqZWN0IFdF
QktJVF9WRVJTSU9OXzNfMAorLSAoRE9NWFBhdGhSZXN1bHQgKilldmFsdWF0ZTooRE9NTm9kZSAq
KWNvbnRleHROb2RlIHR5cGU6KHVuc2lnbmVkIHNob3J0KXR5cGUgaW5SZXN1bHQ6KERPTVhQYXRo
UmVzdWx0ICopaW5SZXN1bHQgQVZBSUxBQkxFX1dFQktJVF9WRVJTSU9OXzNfMF9BTkRfTEFURVI7
CistIChET01YUGF0aFJlc3VsdCAqKWV2YWx1YXRlOihET01Ob2RlICopY29udGV4dE5vZGUgOih1
bnNpZ25lZCBzaG9ydCl0eXBlIDooRE9NWFBhdGhSZXN1bHQgKilpblJlc3VsdCBBVkFJTEFCTEVf
V0VCS0lUX1ZFUlNJT05fM18wX0FORF9MQVRFUl9CVVRfREVQUkVDQVRFRDsKIEBlbmQKIAogLy8g
UHJvdG9jb2xzCiAKLUBwcm90b2NvbCBET01FdmVudExpc3RlbmVyIDxOU09iamVjdD4KK0Bwcm90
b2NvbCBET01FdmVudExpc3RlbmVyIDxOU09iamVjdD4gV0VCS0lUX1ZFUlNJT05fMV8zCiAtICh2
b2lkKWhhbmRsZUV2ZW50OihET01FdmVudCAqKWV2dDsKIEBlbmQKIAotQHByb3RvY29sIERPTUV2
ZW50VGFyZ2V0IDxOU09iamVjdCwgTlNDb3B5aW5nPgorQHByb3RvY29sIERPTUV2ZW50VGFyZ2V0
IDxOU09iamVjdCwgTlNDb3B5aW5nPiBXRUJLSVRfVkVSU0lPTl8xXzMKIC0gKHZvaWQpYWRkRXZl
bnRMaXN0ZW5lcjooTlNTdHJpbmcgKil0eXBlIDooaWQgPERPTUV2ZW50TGlzdGVuZXI+KWxpc3Rl
bmVyIDooQk9PTCl1c2VDYXB0dXJlOwogLSAodm9pZClyZW1vdmVFdmVudExpc3RlbmVyOihOU1N0
cmluZyAqKXR5cGUgOihpZCA8RE9NRXZlbnRMaXN0ZW5lcj4pbGlzdGVuZXIgOihCT09MKXVzZUNh
cHR1cmU7Ci0tICh2b2lkKWFkZEV2ZW50TGlzdGVuZXI6KE5TU3RyaW5nICopdHlwZSBsaXN0ZW5l
cjooaWQgPERPTUV2ZW50TGlzdGVuZXI+KWxpc3RlbmVyIHVzZUNhcHR1cmU6KEJPT0wpdXNlQ2Fw
dHVyZTsKLS0gKHZvaWQpcmVtb3ZlRXZlbnRMaXN0ZW5lcjooTlNTdHJpbmcgKil0eXBlIGxpc3Rl
bmVyOihpZCA8RE9NRXZlbnRMaXN0ZW5lcj4pbGlzdGVuZXIgdXNlQ2FwdHVyZTooQk9PTCl1c2VD
YXB0dXJlOworLSAodm9pZClhZGRFdmVudExpc3RlbmVyOihOU1N0cmluZyAqKXR5cGUgbGlzdGVu
ZXI6KGlkIDxET01FdmVudExpc3RlbmVyPilsaXN0ZW5lciB1c2VDYXB0dXJlOihCT09MKXVzZUNh
cHR1cmUgQVZBSUxBQkxFX1dFQktJVF9WRVJTSU9OXzNfMF9BTkRfTEFURVI7CistICh2b2lkKXJl
bW92ZUV2ZW50TGlzdGVuZXI6KE5TU3RyaW5nICopdHlwZSBsaXN0ZW5lcjooaWQgPERPTUV2ZW50
TGlzdGVuZXI+KWxpc3RlbmVyIHVzZUNhcHR1cmU6KEJPT0wpdXNlQ2FwdHVyZSBBVkFJTEFCTEVf
V0VCS0lUX1ZFUlNJT05fM18wX0FORF9MQVRFUjsKIC0gKEJPT0wpZGlzcGF0Y2hFdmVudDooRE9N
RXZlbnQgKilldmVudDsKIEBlbmQKIAotQHByb3RvY29sIERPTU5vZGVGaWx0ZXIgPE5TT2JqZWN0
PgorQHByb3RvY29sIERPTU5vZGVGaWx0ZXIgPE5TT2JqZWN0PiBXRUJLSVRfVkVSU0lPTl8xXzMK
IC0gKHNob3J0KWFjY2VwdE5vZGU6KERPTU5vZGUgKiluOwogQGVuZAogCi1AcHJvdG9jb2wgRE9N
WFBhdGhOU1Jlc29sdmVyIDxOU09iamVjdD4KK0Bwcm90b2NvbCBET01YUGF0aE5TUmVzb2x2ZXIg
PE5TT2JqZWN0PiBXRUJLSVRfVkVSU0lPTl8zXzAKIC0gKE5TU3RyaW5nICopbG9va3VwTmFtZXNw
YWNlVVJJOihOU1N0cmluZyAqKXByZWZpeDsKIEBlbmQKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmlu
ZGluZ3Mvb2JqYy9XZWJTY3JpcHRPYmplY3QuaCBiL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9XZWJT
Y3JpcHRPYmplY3QuaAppbmRleCAzYWY3NzRjLi45MDk5NGU2IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2JpbmRpbmdzL29iamMvV2ViU2NyaXB0T2JqZWN0LmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9v
YmpjL1dlYlNjcmlwdE9iamVjdC5oCkBAIC0yNSw2ICsyNSw5IEBACiAKICNpbXBvcnQgPEZvdW5k
YXRpb24vRm91bmRhdGlvbi5oPgogI2ltcG9ydCA8SmF2YVNjcmlwdENvcmUvSlNCYXNlLmg+Cisj
aW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9XZWJLaXRBdmFpbGFiaWxpdHkuaD4KKworI2lmIFdFQktJ
VF9WRVJTSU9OX01BWF9BTExPV0VEID49IFdFQktJVF9WRVJTSU9OXzFfMwogCiAvLyBOU09iamVj
dCAoV2ViU2NyaXB0aW5nKSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQogCkBAIC0yMzEsNyArMjM0LDcgQEAKICAgICBAZGlzY3Vzc2lvbiBVc2Ug
dGhpcyBtZXRob2QgdG8gYnJpZGdlIGJldHdlZW4gdGhlIFdlYlNjcmlwdE9iamVjdCBhbmQgCiAg
ICAgSmF2YVNjcmlwdENvcmUgQVBJcy4KICovCi0tIChKU09iamVjdFJlZilKU09iamVjdDsKKy0g
KEpTT2JqZWN0UmVmKUpTT2JqZWN0IEFWQUlMQUJMRV9XRUJLSVRfVkVSU0lPTl8zXzBfQU5EX0xB
VEVSOwogCiAvKiEKICAgICBAbWV0aG9kIGNhbGxXZWJTY3JpcHRNZXRob2Q6d2l0aEFyZ3VtZW50
czoKQEAgLTMxMSwzICszMTQsNSBAQAogKyAoV2ViVW5kZWZpbmVkICopdW5kZWZpbmVkOwogCiBA
ZW5kCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JPYmpDLnBtIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JP
YmpDLnBtCmluZGV4IDJiODI4YjAuLmQ5MjliZDEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yT2JqQy5wbQorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvQ29kZUdlbmVyYXRvck9iakMucG0KQEAgLTMwLDYgKzMwLDcgQEAgbXkgJG1vZHVsZSA9
ICIiOwogbXkgJG91dHB1dERpciA9ICIiOwogbXkgJXB1YmxpY0ludGVyZmFjZXMgPSAoKTsKIG15
ICRuZXdQdWJsaWNDbGFzcyA9IDA7CitteSAkaW50ZXJmYWNlQXZhaWxhYmlsaXR5VmVyc2lvbiA9
ICIiOwogbXkgJGlzUHJvdG9jb2wgPSAwOwogbXkgJG5vSW1wbCA9IDA7CiBteSBAaXZhcnMgPSAo
KTsKQEAgLTEzMiw3ICsxMzMsNyBAQCBteSAkZmF0YWxFcnJvciA9IDA7CiAjIERlZmF1bHQgTGlj
ZW5jZSBUZW1wbGF0ZXMKIG15ICRoZWFkZXJMaWNlbmNlVGVtcGxhdGUgPSA8PCAiRU9GIjsKIC8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3
LCAyMDA4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykg
MjAwNiBTYW11ZWwgV2VpbmlnIDxzYW0ud2VpbmlnXEBnbWFpbC5jb20+CiAgKgogICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CkBAIC0yMjIsMTUgKzIyMywxNyBAQCBzdWIgUmVhZFB1YmxpY0ludGVyZmFjZXMKICAgICBj
bG9zZSBGSUxFOwogCiAgICAgZm9yZWFjaCAkbGluZSAoQGRvY3VtZW50Q29udGVudCkgewotICAg
ICAgICBpZiAoISRpc1Byb3RvY29sICYmICRsaW5lID1+IC9eXHMqXEBpbnRlcmZhY2VccyokY2xh
c3Nccyo6XHMqKFx3KylccyovKSB7CisgICAgICAgIGlmICghJGlzUHJvdG9jb2wgJiYgJGxpbmUg
PX4gL15ccypcQGludGVyZmFjZVxzKiRjbGFzc1xzKjpccyooXHcrKVxzKihbQS1aMC05X10qKS8p
IHsKICAgICAgICAgICAgIGlmICgkc3VwZXJDbGFzcyBuZSAkMSkgewogICAgICAgICAgICAgICAg
IHdhcm4gIlB1YmxpYyBBUEkgY2hhbmdlLiBTdXBlcmNsYXNzIGZvciBcIiRjbGFzc1wiIGRpZmZl
cnMgKCQxICE9ICRzdXBlckNsYXNzKSI7CiAgICAgICAgICAgICAgICAgJGZhdGFsRXJyb3IgPSAx
OwogICAgICAgICAgICAgfQogCisgICAgICAgICAgICAkaW50ZXJmYWNlQXZhaWxhYmlsaXR5VmVy
c2lvbiA9ICQyIGlmIGRlZmluZWQgJDI7CiAgICAgICAgICAgICAkZm91bmQgPSAxOwogICAgICAg
ICAgICAgbmV4dDsKLSAgICAgICAgfSBlbHNpZiAoJGlzUHJvdG9jb2wgJiYgJGxpbmUgPX4gL15c
cypcQHByb3RvY29sICRjbGFzc1xzKi8pIHsKKyAgICAgICAgfSBlbHNpZiAoJGlzUHJvdG9jb2wg
JiYgJGxpbmUgPX4gL15ccypcQHByb3RvY29sICRjbGFzc1xzKjxbXj5dKz5ccyooW0EtWjAtOV9d
KikvKSB7CisgICAgICAgICAgICAkaW50ZXJmYWNlQXZhaWxhYmlsaXR5VmVyc2lvbiA9ICQxIGlm
IGRlZmluZWQgJDE7CiAgICAgICAgICAgICAkZm91bmQgPSAxOwogICAgICAgICAgICAgbmV4dDsK
ICAgICAgICAgfQpAQCAtMjQxLDEyICsyNDQsMTggQEAgc3ViIFJlYWRQdWJsaWNJbnRlcmZhY2Vz
CiAgICAgICAgICAgICAjIHRyaW0gd2hpdHNwYWNlCiAgICAgICAgICAgICAkbGluZSA9fiBzL15c
cysvLzsKICAgICAgICAgICAgICRsaW5lID1+IHMvXHMrJC8vOwotICAgICAgICAgICAgJHB1Ymxp
Y0ludGVyZmFjZXN7JGxpbmV9ID0gMSBpZiBsZW5ndGgoJGxpbmUpOworCisgICAgICAgICAgICBt
eSAkYXZhaWxhYmlsaXR5TWFjcm8gPSAiIjsKKyAgICAgICAgICAgICRsaW5lID1+IHMvXHMoW0Et
WjAtOV9dKylccyo7JC87LzsKKyAgICAgICAgICAgICRhdmFpbGFiaWxpdHlNYWNybyA9ICQxIGlm
IGRlZmluZWQgJDE7CisKKyAgICAgICAgICAgICRwdWJsaWNJbnRlcmZhY2VzeyRsaW5lfSA9ICRh
dmFpbGFiaWxpdHlNYWNybyBpZiBsZW5ndGggJGxpbmU7CiAgICAgICAgIH0KICAgICB9CiAKICAg
ICAjIElmIHRoaXMgY2xhc3Mgd2FzIG5vdCBmb3VuZCBpbiBQdWJsaWNET01JbnRlcmZhY2VzLmgg
dGhlbiBpdCBzaG91bGQgYmUgY29uc2lkZXJlZCBhcyBhbiBlbnRpcmVseSBuZXcgcHVibGljIGNs
YXNzLgotICAgICRuZXdQdWJsaWNDbGFzcyA9ICEgJGZvdW5kOworICAgICRuZXdQdWJsaWNDbGFz
cyA9ICEkZm91bmQ7CisgICAgJGludGVyZmFjZUF2YWlsYWJpbGl0eVZlcnNpb24gPSAiV0VCS0lU
X1ZFUlNJT05fTEFURVNUIiBpZiAkbmV3UHVibGljQ2xhc3M7CiB9CiAKICMgUGFyYW1zOiAnZG9t
Q2xhc3MnIHN0cnVjdApAQCAtNjkwLDE0ICs2OTksMTggQEAgc3ViIEdlbmVyYXRlSGVhZGVyCiAg
ICAgcHVzaChAaGVhZGVyQ29udGVudEhlYWRlciwgIlxuIik7CiAKICAgICAjIC0gSU5DTFVERVMg
LQorICAgIG15ICRpbmNsdWRlZFdlYktpdEF2YWlsYWJpbGl0eUhlYWRlciA9IDA7CiAgICAgdW5s
ZXNzICgkaXNQcm90b2NvbCkgewogICAgICAgICBteSAkcGFyZW50SGVhZGVyTmFtZSA9IEdldENs
YXNzSGVhZGVyTmFtZSgkcGFyZW50TmFtZSk7CiAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnRI
ZWFkZXIsICIjaW1wb3J0IDxXZWJDb3JlLyRwYXJlbnRIZWFkZXJOYW1lLmg+XG4iKTsKKyAgICAg
ICAgJGluY2x1ZGVkV2ViS2l0QXZhaWxhYmlsaXR5SGVhZGVyID0gMTsKICAgICB9CisKICAgICBm
b3JlYWNoIG15ICRwYXJlbnRQcm90b2NvbCAoQHByb3RvY29sc1RvSW1wbGVtZW50KSB7CiAgICAg
ICAgIG5leHQgaWYgJHBhcmVudFByb3RvY29sID1+IC9eTlMvOyAKICAgICAgICAgJHBhcmVudFBy
b3RvY29sID0gR2V0Q2xhc3NIZWFkZXJOYW1lKCRwYXJlbnRQcm90b2NvbCk7CiAgICAgICAgIHB1
c2goQGhlYWRlckNvbnRlbnRIZWFkZXIsICIjaW1wb3J0IDxXZWJDb3JlLyRwYXJlbnRQcm90b2Nv
bC5oPlxuIik7CisgICAgICAgICRpbmNsdWRlZFdlYktpdEF2YWlsYWJpbGl0eUhlYWRlciA9IDE7
CiAgICAgfQogCiAgICAgIyBTcGVjaWFsIGNhc2UgbmVlZGVkIGZvciBsZWdhY3kgc3VwcG9ydCBv
ZiBET01SYW5nZQpAQCAtNzA1LDkgKzcxOCwxNSBAQCBzdWIgR2VuZXJhdGVIZWFkZXIKICAgICAg
ICAgcHVzaChAaGVhZGVyQ29udGVudEhlYWRlciwgIiNpbXBvcnQgPFdlYkNvcmUvRE9NQ29yZS5o
PlxuIik7CiAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnRIZWFkZXIsICIjaW1wb3J0IDxXZWJD
b3JlL0RPTURvY3VtZW50Lmg+XG4iKTsKICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudEhlYWRl
ciwgIiNpbXBvcnQgPFdlYkNvcmUvRE9NUmFuZ2VFeGNlcHRpb24uaD5cbiIpOworICAgICAgICAk
aW5jbHVkZWRXZWJLaXRBdmFpbGFiaWxpdHlIZWFkZXIgPSAxOwogICAgIH0KIAorICAgIHB1c2go
QGhlYWRlckNvbnRlbnRIZWFkZXIsICIjaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9XZWJLaXRBdmFp
bGFiaWxpdHkuaD5cbiIpIHVubGVzcyAkaW5jbHVkZWRXZWJLaXRBdmFpbGFiaWxpdHlIZWFkZXI7
CisKKyAgICBteSAkaW50ZXJmYWNlQXZhaWxhYmlsaXR5VmVyc2lvbkNoZWNrID0gIiNpZiBXRUJL
SVRfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAkaW50ZXJmYWNlQXZhaWxhYmlsaXR5VmVyc2lvblxu
XG4iOworCiAgICAgcHVzaChAaGVhZGVyQ29udGVudEhlYWRlciwgIlxuIik7CisgICAgcHVzaChA
aGVhZGVyQ29udGVudEhlYWRlciwgJGludGVyZmFjZUF2YWlsYWJpbGl0eVZlcnNpb25DaGVjaykg
aWYgbGVuZ3RoICRpbnRlcmZhY2VBdmFpbGFiaWxpdHlWZXJzaW9uOwogCiAgICAgIyAtIEFkZCBj
b25zdGFudHMuCiAgICAgaWYgKCRudW1Db25zdGFudHMgPiAwKSB7CkBAIC03MzIsMTcgKzc1MSwx
MSBAQCBzdWIgR2VuZXJhdGVIZWFkZXIKICAgICB9CiAKICAgICAjIC0gQmVnaW4gQGludGVyZmFj
ZSBvciBAcHJvdG9jb2wKLSAgICBpZiAoJGlzUHJvdG9jb2wpIHsKLSAgICAgICAgbXkgJHBhcmVu
dFByb3RvY29scyA9IGpvaW4oIiwgIiwgQHByb3RvY29sc1RvSW1wbGVtZW50KTsKLSAgICAgICAg
cHVzaChAaGVhZGVyQ29udGVudCwgIlxAcHJvdG9jb2wgJGNsYXNzTmFtZSA8JHBhcmVudFByb3Rv
Y29scz5cbiIpOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIGlmIChAcHJvdG9jb2xzVG9JbXBsZW1l
bnQgZXEgMCkgewotICAgICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgIlxAaW50ZXJmYWNl
ICRjbGFzc05hbWUgOiAkcGFyZW50TmFtZVxuIik7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAg
ICAgICAgbXkgJHBhcmVudFByb3RvY29scyA9IGpvaW4oIiwgIiwgQHByb3RvY29sc1RvSW1wbGVt
ZW50KTsKLSAgICAgICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiXEBpbnRlcmZhY2UgJGNs
YXNzTmFtZSA6ICRwYXJlbnROYW1lIDwkcGFyZW50UHJvdG9jb2xzPlxuIik7Ci0gICAgICAgIH0K
LSAgICB9CisgICAgbXkgJGludGVyZmFjZURlY2xhcmF0aW9uID0gKCRpc1Byb3RvY29sID8gIlxA
cHJvdG9jb2wgJGNsYXNzTmFtZSIgOiAiXEBpbnRlcmZhY2UgJGNsYXNzTmFtZSA6ICRwYXJlbnRO
YW1lIik7CisgICAgJGludGVyZmFjZURlY2xhcmF0aW9uIC49ICIgPCIgLiBqb2luKCIsICIsIEBw
cm90b2NvbHNUb0ltcGxlbWVudCkgLiAiPiIgaWYgQHByb3RvY29sc1RvSW1wbGVtZW50ID4gMDsK
KyAgICAkaW50ZXJmYWNlRGVjbGFyYXRpb24gLj0gIlxuIjsKKworICAgIHB1c2goQGhlYWRlckNv
bnRlbnQsICRpbnRlcmZhY2VEZWNsYXJhdGlvbik7CiAKICAgICBteSBAaGVhZGVyQXR0cmlidXRl
cyA9ICgpOwogICAgIG15IEBwcml2YXRlSGVhZGVyQXR0cmlidXRlcyA9ICgpOwpAQCAtNzgxLDEw
ICs3OTQsMTcgQEAgc3ViIEdlbmVyYXRlSGVhZGVyCiAgICAgICAgICAgICBteSAkYXR0cmlidXRl
SXNSZWFkb25seSA9ICgkYXR0cmlidXRlLT50eXBlID1+IC9ecmVhZG9ubHkvKTsKIAogICAgICAg
ICAgICAgbXkgJHByb3BlcnR5ID0gIlxAcHJvcGVydHkiIC4gR2V0UHJvcGVydHlBdHRyaWJ1dGVz
KCRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+dHlwZSwgJGF0dHJpYnV0ZUlzUmVhZG9ubHkpOwotICAg
ICAgICAgICAgJHByb3BlcnR5IC49ICIgIiAuICRhdHRyaWJ1dGVUeXBlIC4gKCRhdHRyaWJ1dGVU
eXBlID1+IC9cKiQvID8gIiIgOiAiICIpIC4gJGF0dHJpYnV0ZU5hbWUgLiAiOyI7CisgICAgICAg
ICAgICAkcHJvcGVydHkgLj0gIiAiIC4gJGF0dHJpYnV0ZVR5cGUgLiAoJGF0dHJpYnV0ZVR5cGUg
PX4gL1wqJC8gPyAiIiA6ICIgIikgLiAkYXR0cmlidXRlTmFtZTsKIAotICAgICAgICAgICAgbXkg
JHB1YmxpYyA9ICgkcHVibGljSW50ZXJmYWNlc3skcHJvcGVydHl9IG9yICRuZXdQdWJsaWNDbGFz
cyk7Ci0gICAgICAgICAgICBkZWxldGUgJHB1YmxpY0ludGVyZmFjZXN7JHByb3BlcnR5fTsKKyAg
ICAgICAgICAgIG15ICRwdWJsaWNJbnRlcmZhY2VLZXkgPSAkcHJvcGVydHkgLiAiOyI7CisKKyAg
ICAgICAgICAgIG15ICRkZWNsYXJhdGlvblN1ZmZpeCA9ICI7XG4iOworICAgICAgICAgICAgaWYg
KGRlZmluZWQgJHB1YmxpY0ludGVyZmFjZXN7JHB1YmxpY0ludGVyZmFjZUtleX0gYW5kIGxlbmd0
aCAkcHVibGljSW50ZXJmYWNlc3skcHVibGljSW50ZXJmYWNlS2V5fSkgeworICAgICAgICAgICAg
ICAgICRkZWNsYXJhdGlvblN1ZmZpeCA9ICIgIiAuICRwdWJsaWNJbnRlcmZhY2VzeyRwdWJsaWNJ
bnRlcmZhY2VLZXl9IC4gJGRlY2xhcmF0aW9uU3VmZml4OworICAgICAgICAgICAgfQorCisgICAg
ICAgICAgICBteSAkcHVibGljID0gKGRlZmluZWQgJHB1YmxpY0ludGVyZmFjZXN7JHB1YmxpY0lu
dGVyZmFjZUtleX0gb3IgJG5ld1B1YmxpY0NsYXNzKTsKKyAgICAgICAgICAgIGRlbGV0ZSAkcHVi
bGljSW50ZXJmYWNlc3skcHVibGljSW50ZXJmYWNlS2V5fTsKIAogICAgICAgICAgICAgQWRkRm9y
d2FyZERlY2xhcmF0aW9uc0ZvclR5cGUoJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT50eXBlLCAkcHVi
bGljKTsKIApAQCAtODAzLDE4ICs4MjMsMTggQEAgc3ViIEdlbmVyYXRlSGVhZGVyCiAgICAgICAg
ICAgICB9CiAKICAgICAgICAgICAgIGlmICgkYnVpbGRpbmdGb3JMZW9wYXJkT3JMYXRlcikgewot
ICAgICAgICAgICAgICAgICRwcm9wZXJ0eSAuPSAiXG4iOworICAgICAgICAgICAgICAgICRwcm9w
ZXJ0eSAuPSAkZGVjbGFyYXRpb25TdWZmaXg7CiAgICAgICAgICAgICAgICAgcHVzaChAaGVhZGVy
QXR0cmlidXRlcywgJHByb3BlcnR5KSBpZiAkcHVibGljOwogICAgICAgICAgICAgICAgIHB1c2go
QHByaXZhdGVIZWFkZXJBdHRyaWJ1dGVzLCAkcHJvcGVydHkpIHVubGVzcyAkcHVibGljOwogICAg
ICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAjIC0gR0VUVEVSCi0gICAgICAgICAg
ICAgICAgbXkgJGdldHRlciA9ICItICgiIC4gJGF0dHJpYnV0ZVR5cGUgLiAiKSIgLiAkYXR0cmli
dXRlTmFtZSAuICI7XG4iOworICAgICAgICAgICAgICAgIG15ICRnZXR0ZXIgPSAiLSAoIiAuICRh
dHRyaWJ1dGVUeXBlIC4gIikiIC4gJGF0dHJpYnV0ZU5hbWUgLiAkZGVjbGFyYXRpb25TdWZmaXg7
CiAgICAgICAgICAgICAgICAgcHVzaChAaGVhZGVyQXR0cmlidXRlcywgJGdldHRlcikgaWYgJHB1
YmxpYzsKICAgICAgICAgICAgICAgICBwdXNoKEBwcml2YXRlSGVhZGVyQXR0cmlidXRlcywgJGdl
dHRlcikgdW5sZXNzICRwdWJsaWM7CiAKICAgICAgICAgICAgICAgICAjIC0gU0VUVEVSCiAgICAg
ICAgICAgICAgICAgaWYgKCEkYXR0cmlidXRlSXNSZWFkb25seSkgewotICAgICAgICAgICAgICAg
ICAgICBteSAkc2V0dGVyID0gIi0gKHZvaWQpJHNldHRlck5hbWUoIiAuICRhdHRyaWJ1dGVUeXBl
IC4gIiluZXciIC4gdWNmaXJzdCgkYXR0cmlidXRlTmFtZSkgLiAiO1xuIjsKKyAgICAgICAgICAg
ICAgICAgICAgbXkgJHNldHRlciA9ICItICh2b2lkKSRzZXR0ZXJOYW1lKCIgLiAkYXR0cmlidXRl
VHlwZSAuICIpbmV3IiAuIHVjZmlyc3QoJGF0dHJpYnV0ZU5hbWUpIC4gJGRlY2xhcmF0aW9uU3Vm
Zml4OwogICAgICAgICAgICAgICAgICAgICBwdXNoKEBoZWFkZXJBdHRyaWJ1dGVzLCAkc2V0dGVy
KSBpZiAkcHVibGljOwogICAgICAgICAgICAgICAgICAgICBwdXNoKEBwcml2YXRlSGVhZGVyQXR0
cmlidXRlcywgJHNldHRlcikgdW5sZXNzICRwdWJsaWM7CiAgICAgICAgICAgICAgICAgfQpAQCAt
ODYwLDcgKzg4MCw3IEBAIHN1YiBHZW5lcmF0ZUhlYWRlcgogICAgICAgICAgICAgICAgICRwYXJh
bWV0ZXJJbmRleCsrOwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICAkZnVuY3Rpb25TaWcg
Lj0gIjsiOworICAgICAgICAgICAgbXkgJHB1YmxpY0ludGVyZmFjZUtleSA9ICRmdW5jdGlvblNp
ZyAuICI7IjsKIAogICAgICAgICAgICAgbXkgJGNvbmZsaWN0ID0gJGNvbmZsaWN0TWV0aG9keyRt
ZXRob2ROYW1lfTsKICAgICAgICAgICAgIGlmICgkY29uZmxpY3QpIHsKQEAgLTg2OCwxNSArODg4
LDE4IEBAIHN1YiBHZW5lcmF0ZUhlYWRlcgogICAgICAgICAgICAgICAgICRmYXRhbEVycm9yID0g
MTsKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgaWYgKCRpc1Byb3RvY29sICYmICEkbmV3
UHVibGljQ2xhc3MgJiYgIWRlZmluZWQgJHB1YmxpY0ludGVyZmFjZXN7JGZ1bmN0aW9uU2lnfSkg
ewotICAgICAgICAgICAgICAgIHdhcm4gIlByb3RvY29sIG1ldGhvZCAkZnVuY3Rpb25TaWcgaXMg
bm90IGluIFB1YmxpY0RPTUludGVyZmFjZXMuaC4gUHJvdG9jb2xzIHJlcXVpcmUgYWxsIG1ldGhv
ZHMgdG8gYmUgcHVibGljIjsKKyAgICAgICAgICAgIGlmICgkaXNQcm90b2NvbCAmJiAhJG5ld1B1
YmxpY0NsYXNzICYmICFkZWZpbmVkICRwdWJsaWNJbnRlcmZhY2VzeyRwdWJsaWNJbnRlcmZhY2VL
ZXl9KSB7CisgICAgICAgICAgICAgICAgd2FybiAiUHJvdG9jb2wgbWV0aG9kICRwdWJsaWNJbnRl
cmZhY2VLZXkgaXMgbm90IGluIFB1YmxpY0RPTUludGVyZmFjZXMuaC4gUHJvdG9jb2xzIHJlcXVp
cmUgYWxsIG1ldGhvZHMgdG8gYmUgcHVibGljIjsKICAgICAgICAgICAgICAgICAkZmF0YWxFcnJv
ciA9IDE7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIG15ICRwdWJsaWMgPSAoJHB1Ymxp
Y0ludGVyZmFjZXN7JGZ1bmN0aW9uU2lnfSBvciAkbmV3UHVibGljQ2xhc3MpOwotICAgICAgICAg
ICAgZGVsZXRlICRwdWJsaWNJbnRlcmZhY2VzeyRmdW5jdGlvblNpZ307CisgICAgICAgICAgICBt
eSAkZGVjbGFyYXRpb25TdWZmaXggPSAiO1xuIjsKKyAgICAgICAgICAgIGlmIChkZWZpbmVkICRw
dWJsaWNJbnRlcmZhY2VzeyRwdWJsaWNJbnRlcmZhY2VLZXl9IGFuZCBsZW5ndGggJHB1YmxpY0lu
dGVyZmFjZXN7JHB1YmxpY0ludGVyZmFjZUtleX0pIHsKKyAgICAgICAgICAgICAgICAkZGVjbGFy
YXRpb25TdWZmaXggPSAiICIgLiAkcHVibGljSW50ZXJmYWNlc3skcHVibGljSW50ZXJmYWNlS2V5
fSAuICI7XG4iOworICAgICAgICAgICAgfQogCi0gICAgICAgICAgICAkZnVuY3Rpb25TaWcgLj0g
IlxuIjsKKyAgICAgICAgICAgIG15ICRwdWJsaWMgPSAoZGVmaW5lZCAkcHVibGljSW50ZXJmYWNl
c3skcHVibGljSW50ZXJmYWNlS2V5fSBvciAkbmV3UHVibGljQ2xhc3MpOworICAgICAgICAgICAg
ZGVsZXRlICRwdWJsaWNJbnRlcmZhY2VzeyRwdWJsaWNJbnRlcmZhY2VLZXl9OwogCiAgICAgICAg
ICAgICBmb3JlYWNoIG15ICR0eXBlIChrZXlzICV0eXBlc1RvRm9yd2FyZERlY2xhcmUpIHsKICAg
ICAgICAgICAgICAgICAjIGFkZCBhbnkgZm9yd2FyZCBkZWNsYXJhdGlvbnMgdG8gdGhlIHB1Ymxp
YyBoZWFkZXIgaWYgYSBkZXByZWNhdGVkIHZlcnNpb24gd2lsbCBiZSBnZW5lcmF0ZWQKQEAgLTg4
NCwyNiArOTA3LDM1IEBAIHN1YiBHZW5lcmF0ZUhlYWRlcgogICAgICAgICAgICAgICAgIEFkZEZv
cndhcmREZWNsYXJhdGlvbnNGb3JUeXBlKCR0eXBlLCAkcHVibGljKSB1bmxlc3MgJHB1YmxpYyBh
bmQgJG5lZWRzRGVwcmVjYXRlZFZlcnNpb247CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAg
IHB1c2goQGhlYWRlckZ1bmN0aW9ucywgJGZ1bmN0aW9uU2lnKSBpZiAkcHVibGljOwotICAgICAg
ICAgICAgcHVzaChAcHJpdmF0ZUhlYWRlckZ1bmN0aW9ucywgJGZ1bmN0aW9uU2lnKSB1bmxlc3Mg
JHB1YmxpYzsKKyAgICAgICAgICAgIG15ICRmdW5jdGlvbkRlY2xhcmF0aW9uID0gJGZ1bmN0aW9u
U2lnIC4gJGRlY2xhcmF0aW9uU3VmZml4OworCisgICAgICAgICAgICBwdXNoKEBoZWFkZXJGdW5j
dGlvbnMsICRmdW5jdGlvbkRlY2xhcmF0aW9uKSBpZiAkcHVibGljOworICAgICAgICAgICAgcHVz
aChAcHJpdmF0ZUhlYWRlckZ1bmN0aW9ucywgJGZ1bmN0aW9uRGVjbGFyYXRpb24pIHVubGVzcyAk
cHVibGljOwogCiAgICAgICAgICAgICAjIGdlbmVyYXRlIHRoZSBvbGQgc3R5bGUgbWV0aG9kIG5h
bWVzIHdpdGggdW4tbmFtZWQgcGFyYW1ldGVycywgdGhlc2UgbWV0aG9kcyBhcmUgZGVwcmVjYXRl
ZAogICAgICAgICAgICAgaWYgKCRuZWVkc0RlcHJlY2F0ZWRWZXJzaW9uKSB7CiAgICAgICAgICAg
ICAgICAgbXkgJGRlcHJlY2F0ZWRGdW5jdGlvblNpZyA9ICRmdW5jdGlvblNpZzsKICAgICAgICAg
ICAgICAgICAkZGVwcmVjYXRlZEZ1bmN0aW9uU2lnID1+IHMvXHNcdys6LyA6L2c7ICMgcmVtb3Zl
IHBhcmFtZXRlciBuYW1lcwotICAgICAgICAgICAgICAgIG15ICRkZXByZWNhdGVkRnVuY3Rpb25L
ZXkgPSAkZGVwcmVjYXRlZEZ1bmN0aW9uU2lnOwogCi0gICAgICAgICAgICAgICAgJGRlcHJlY2F0
ZWRGdW5jdGlvblNpZyA9fiBzLztcbiQvIERFUFJFQ0FURURfSU5fTUFDX09TX1hfVkVSU0lPTl8x
MF81X0FORF9MQVRFUjtcbi8gaWYgJGJ1aWxkaW5nRm9yTGVvcGFyZE9yTGF0ZXI7Ci0gICAgICAg
ICAgICAgICAgcHVzaChAZGVwcmVjYXRlZEhlYWRlckZ1bmN0aW9ucywgJGRlcHJlY2F0ZWRGdW5j
dGlvblNpZyk7CisgICAgICAgICAgICAgICAgJHB1YmxpY0ludGVyZmFjZUtleSA9ICRkZXByZWNh
dGVkRnVuY3Rpb25TaWcgLiAiOyI7CisKKyAgICAgICAgICAgICAgICBteSAkYXZhaWxhYmlsaXR5
TWFjcm8gPSAiQVZBSUxBQkxFX1dFQktJVF9WRVJTSU9OXzFfM19BTkRfTEFURVJfQlVUX0RFUFJF
Q0FURURfSU5fV0VCS0lUX1ZFUlNJT05fM18wIjsKKyAgICAgICAgICAgICAgICBpZiAoZGVmaW5l
ZCAkcHVibGljSW50ZXJmYWNlc3skcHVibGljSW50ZXJmYWNlS2V5fSBhbmQgbGVuZ3RoICRwdWJs
aWNJbnRlcmZhY2VzeyRwdWJsaWNJbnRlcmZhY2VLZXl9KSB7CisgICAgICAgICAgICAgICAgICAg
ICRhdmFpbGFiaWxpdHlNYWNybyA9ICRwdWJsaWNJbnRlcmZhY2VzeyRwdWJsaWNJbnRlcmZhY2VL
ZXl9OworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgICRhdmFpbGFiaWxpdHlN
YWNybyA9ICJXRUJLSVRfQ0FURUdPUllfTUVUSE9EX0FOTk9UQVRJT04oJGF2YWlsYWJpbGl0eU1h
Y3JvKSIgdW5sZXNzICRpc1Byb3RvY29sOwogCi0gICAgICAgICAgICAgICAgJGRlcHJlY2F0ZWRG
dW5jdGlvbktleSA9fiBzL1xuJC8vOyAjIHJlbW92ZSB0aGUgbmV3bGluZQorICAgICAgICAgICAg
ICAgICRmdW5jdGlvbkRlY2xhcmF0aW9uID0gIiRkZXByZWNhdGVkRnVuY3Rpb25TaWcgJGF2YWls
YWJpbGl0eU1hY3JvO1xuIjsKIAotICAgICAgICAgICAgICAgIHVubGVzcyAoZGVmaW5lZCAkcHVi
bGljSW50ZXJmYWNlc3skZGVwcmVjYXRlZEZ1bmN0aW9uS2V5fSkgewotICAgICAgICAgICAgICAg
ICAgICB3YXJuICJEZXByZWNhdGVkIG1ldGhvZCAkZGVwcmVjYXRlZEZ1bmN0aW9uS2V5IGlzIG5v
dCBpbiBQdWJsaWNET01JbnRlcmZhY2VzLmguIEFsbCBkZXByZWNhdGVkIG1ldGhvZHMgbmVlZCB0
byBiZSBwdWJsaWMsIG9yIHNob3VsZCBoYXZlIHRoZSBPbGRTdHlsZU9iakMgSURMIGF0dHJpYnV0
ZSByZW1vdmVkIjsKKyAgICAgICAgICAgICAgICBwdXNoKEBkZXByZWNhdGVkSGVhZGVyRnVuY3Rp
b25zLCAkZnVuY3Rpb25EZWNsYXJhdGlvbik7CisKKyAgICAgICAgICAgICAgICB1bmxlc3MgKGRl
ZmluZWQgJHB1YmxpY0ludGVyZmFjZXN7JHB1YmxpY0ludGVyZmFjZUtleX0pIHsKKyAgICAgICAg
ICAgICAgICAgICAgd2FybiAiRGVwcmVjYXRlZCBtZXRob2QgJHB1YmxpY0ludGVyZmFjZUtleSBp
cyBub3QgaW4gUHVibGljRE9NSW50ZXJmYWNlcy5oLiBBbGwgZGVwcmVjYXRlZCBtZXRob2RzIG5l
ZWQgdG8gYmUgcHVibGljLCBvciBzaG91bGQgaGF2ZSB0aGUgT2xkU3R5bGVPYmpDIElETCBhdHRy
aWJ1dGUgcmVtb3ZlZCI7CiAgICAgICAgICAgICAgICAgICAgICRmYXRhbEVycm9yID0gMTsKICAg
ICAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgICAgICBkZWxldGUgJHB1YmxpY0ludGVyZmFj
ZXN7JGRlcHJlY2F0ZWRGdW5jdGlvbktleX07CisgICAgICAgICAgICAgICAgZGVsZXRlICRwdWJs
aWNJbnRlcmZhY2VzeyRwdWJsaWNJbnRlcmZhY2VLZXl9OwogICAgICAgICAgICAgfQogICAgICAg
ICB9CiAKQEAgLTkyNywxNiArOTU5LDE4IEBAIHN1YiBHZW5lcmF0ZUhlYWRlcgogICAgICAgICBw
dXNoKEBoZWFkZXJDb250ZW50LCAiXEBlbmRcbiIpOwogICAgIH0KIAorICAgIHB1c2goQGhlYWRl
ckNvbnRlbnQsICJcbiNlbmRpZlxuIikgaWYgbGVuZ3RoICRpbnRlcmZhY2VBdmFpbGFiaWxpdHlW
ZXJzaW9uOworCiAgICAgbXkgJWFsd2F5c0dlbmVyYXRlRm9yTm9TVkdCdWlsZCA9IG1hcCB7ICRf
ID0+IDEgfSBxdyhET01IVE1MRW1iZWRFbGVtZW50IERPTUhUTUxPYmplY3RFbGVtZW50KTsKIAot
ICAgIGlmIChAcHJpdmF0ZUhlYWRlckF0dHJpYnV0ZXMgPiAwIG9yIEBwcml2YXRlSGVhZGVyRnVu
Y3Rpb25zID4gMAotICAgICAgICAgICAgb3IgZXhpc3RzICRhbHdheXNHZW5lcmF0ZUZvck5vU1ZH
QnVpbGR7JGNsYXNzTmFtZX0pIHsKKyAgICBpZiAoQHByaXZhdGVIZWFkZXJBdHRyaWJ1dGVzID4g
MCBvciBAcHJpdmF0ZUhlYWRlckZ1bmN0aW9ucyA+IDAgb3IgZXhpc3RzICRhbHdheXNHZW5lcmF0
ZUZvck5vU1ZHQnVpbGR7JGNsYXNzTmFtZX0pIHsKICAgICAgICAgIyAtIFByaXZhdGUgY2F0ZWdv
cnkgQGludGVyZmFjZQogICAgICAgICBAcHJpdmF0ZUhlYWRlckNvbnRlbnRIZWFkZXIgPSBzcGxp
dCgiXHIiLCAkaGVhZGVyTGljZW5jZVRlbXBsYXRlKTsKLSAgICAgICAgcHVzaChAaGVhZGVyQ29u
dGVudEhlYWRlciwgIlxuIik7CisgICAgICAgIHB1c2goQHByaXZhdGVIZWFkZXJDb250ZW50SGVh
ZGVyLCAiXG4iKTsKIAogICAgICAgICBteSAkY2xhc3NIZWFkZXJOYW1lID0gR2V0Q2xhc3NIZWFk
ZXJOYW1lKCRjbGFzc05hbWUpOwogICAgICAgICBwdXNoKEBwcml2YXRlSGVhZGVyQ29udGVudEhl
YWRlciwgIiNpbXBvcnQgPFdlYkNvcmUvJGNsYXNzSGVhZGVyTmFtZS5oPlxuXG4iKTsKKyAgICAg
ICAgcHVzaChAcHJpdmF0ZUhlYWRlckNvbnRlbnRIZWFkZXIsICRpbnRlcmZhY2VBdmFpbGFiaWxp
dHlWZXJzaW9uQ2hlY2spIGlmIGxlbmd0aCAkaW50ZXJmYWNlQXZhaWxhYmlsaXR5VmVyc2lvbjsK
IAogICAgICAgICBAcHJpdmF0ZUhlYWRlckNvbnRlbnQgPSAoKTsKICAgICAgICAgcHVzaChAcHJp
dmF0ZUhlYWRlckNvbnRlbnQsICJcQGludGVyZmFjZSAkY2xhc3NOYW1lICgiIC4gJGNsYXNzTmFt
ZSAuICJQcml2YXRlKVxuIik7CkBAIC05NDQsNiArOTc4LDggQEAgc3ViIEdlbmVyYXRlSGVhZGVy
CiAgICAgICAgIHB1c2goQHByaXZhdGVIZWFkZXJDb250ZW50LCAiXG4iKSBpZiAkYnVpbGRpbmdG
b3JMZW9wYXJkT3JMYXRlciBhbmQgQHByaXZhdGVIZWFkZXJBdHRyaWJ1dGVzID4gMCBhbmQgQHBy
aXZhdGVIZWFkZXJGdW5jdGlvbnMgPiAwOwogICAgICAgICBwdXNoKEBwcml2YXRlSGVhZGVyQ29u
dGVudCwgQHByaXZhdGVIZWFkZXJGdW5jdGlvbnMpIGlmIEBwcml2YXRlSGVhZGVyRnVuY3Rpb25z
ID4gMDsKICAgICAgICAgcHVzaChAcHJpdmF0ZUhlYWRlckNvbnRlbnQsICJcQGVuZFxuIik7CisK
KyAgICAgICAgcHVzaChAcHJpdmF0ZUhlYWRlckNvbnRlbnQsICJcbiNlbmRpZlxuIikgaWYgbGVu
Z3RoICRpbnRlcmZhY2VBdmFpbGFiaWxpdHlWZXJzaW9uOwogICAgIH0KIAogICAgIHVubGVzcyAo
JGlzUHJvdG9jb2wpIHsKQEAgLTk1NCwzNiArOTkwLDQxIEBAIHN1YiBHZW5lcmF0ZUhlYWRlcgog
CiAgICAgICAgICMgR2VuZXJhdGUgaW50ZXJmYWNlIGRlZmluaXRpb25zLiAKICAgICAgICAgQGlu
dGVybmFsSGVhZGVyQ29udGVudCA9IHNwbGl0KCJcciIsICRpbXBsZW1lbnRhdGlvbkxpY2VuY2VU
ZW1wbGF0ZSk7Ci0gICAgICAgIHB1c2goQGludGVybmFsSGVhZGVyQ29udGVudCwgIlxuI2ltcG9y
dCA8V2ViQ29yZS8kY2xhc3NOYW1lLmg+XG4iKTsKKworICAgICAgICBwdXNoKEBpbnRlcm5hbEhl
YWRlckNvbnRlbnQsICJcbiNpbXBvcnQgPFdlYkNvcmUvJGNsYXNzTmFtZS5oPlxuXG4iKTsKKyAg
ICAgICAgcHVzaChAaW50ZXJuYWxIZWFkZXJDb250ZW50LCAkaW50ZXJmYWNlQXZhaWxhYmlsaXR5
VmVyc2lvbkNoZWNrKSBpZiBsZW5ndGggJGludGVyZmFjZUF2YWlsYWJpbGl0eVZlcnNpb247CisK
ICAgICAgICAgaWYgKCRpbnRlcmZhY2VOYW1lIGVxICJOb2RlIiBvciAkaW50ZXJmYWNlTmFtZSBl
cSAiU1ZHRWxlbWVudEluc3RhbmNlIikgewotICAgICAgICAgICAgcHVzaChAaW50ZXJuYWxIZWFk
ZXJDb250ZW50LCAiXG5cQHByb3RvY29sIERPTUV2ZW50VGFyZ2V0O1xuIik7CisgICAgICAgICAg
ICBwdXNoKEBpbnRlcm5hbEhlYWRlckNvbnRlbnQsICJcQHByb3RvY29sIERPTUV2ZW50VGFyZ2V0
O1xuXG4iKTsKICAgICAgICAgfQorCiAgICAgICAgIGlmICgkY29kZUdlbmVyYXRvci0+SXNTVkdB
bmltYXRlZFR5cGUoJGludGVyZmFjZU5hbWUpKSB7CiAgICAgICAgICAgICBwdXNoKEBpbnRlcm5h
bEhlYWRlckNvbnRlbnQsICIjaW1wb3J0IDxXZWJDb3JlL1NWR0FuaW1hdGVkVGVtcGxhdGUuaD5c
blxuIik7CiAgICAgICAgIH0gZWxzaWYgKCRpbnRlcmZhY2VOYW1lIGVxICJSR0JDb2xvciIpIHsK
ICAgICAgICAgICAgIHB1c2goQGludGVybmFsSGVhZGVyQ29udGVudCwgIiNpbXBvcnQgPFdlYkNv
cmUvQ29sb3IuaD5cblxuIik7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBpZiAoJHBv
ZFR5cGUgYW5kICRwb2RUeXBlIG5lICJmbG9hdCIpIHsKLSAgICAgICAgICAgICAgICBwdXNoKEBp
bnRlcm5hbEhlYWRlckNvbnRlbnQsICJcbm5hbWVzcGFjZSBXZWJDb3JlIHsgY2xhc3MgJHBvZFR5
cGU7IH1cblxuIik7CisgICAgICAgICAgICAgICAgcHVzaChAaW50ZXJuYWxIZWFkZXJDb250ZW50
LCAibmFtZXNwYWNlIFdlYkNvcmUgeyBjbGFzcyAkcG9kVHlwZTsgfVxuXG4iKTsKICAgICAgICAg
ICAgIH0gZWxzaWYgKCRpbnRlcmZhY2VOYW1lIGVxICJOb2RlIikgewotICAgICAgICAgICAgICAg
IHB1c2goQGludGVybmFsSGVhZGVyQ29udGVudCwgIlxubmFtZXNwYWNlIFdlYkNvcmUgeyBjbGFz
cyBOb2RlOyBjbGFzcyBFdmVudFRhcmdldDsgfVxuXG4iKTsKKyAgICAgICAgICAgICAgICBwdXNo
KEBpbnRlcm5hbEhlYWRlckNvbnRlbnQsICJuYW1lc3BhY2UgV2ViQ29yZSB7IGNsYXNzIE5vZGU7
IGNsYXNzIEV2ZW50VGFyZ2V0OyB9XG5cbiIpOwogICAgICAgICAgICAgfSBlbHNpZiAoJGludGVy
ZmFjZU5hbWUgZXEgIlNWR0VsZW1lbnRJbnN0YW5jZSIpIHsKLSAgICAgICAgICAgICAgICBwdXNo
KEBpbnRlcm5hbEhlYWRlckNvbnRlbnQsICJcbm5hbWVzcGFjZSBXZWJDb3JlIHsgY2xhc3MgU1ZH
RWxlbWVudEluc3RhbmNlOyBjbGFzcyBFdmVudFRhcmdldDsgfVxuXG4iKTsKKyAgICAgICAgICAg
ICAgICBwdXNoKEBpbnRlcm5hbEhlYWRlckNvbnRlbnQsICJuYW1lc3BhY2UgV2ViQ29yZSB7IGNs
YXNzIFNWR0VsZW1lbnRJbnN0YW5jZTsgY2xhc3MgRXZlbnRUYXJnZXQ7IH1cblxuIik7CiAgICAg
ICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIG15ICRpbXBsQ2xhc3NOYW1lID0gR2V0
SW1wbENsYXNzTmFtZSgkaW50ZXJmYWNlTmFtZSk7Ci0gICAgICAgICAgICAgICAgcHVzaChAaW50
ZXJuYWxIZWFkZXJDb250ZW50LCAiXG5uYW1lc3BhY2UgV2ViQ29yZSB7IGNsYXNzICRpbXBsQ2xh
c3NOYW1lOyB9XG5cbiIpOworICAgICAgICAgICAgICAgIHB1c2goQGludGVybmFsSGVhZGVyQ29u
dGVudCwgIm5hbWVzcGFjZSBXZWJDb3JlIHsgY2xhc3MgJGltcGxDbGFzc05hbWU7IH1cblxuIik7
CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAogICAgICAgICBwdXNoKEBpbnRlcm5hbEhlYWRl
ckNvbnRlbnQsICJcQGludGVyZmFjZSAkY2xhc3NOYW1lIChXZWJDb3JlSW50ZXJuYWwpXG4iKTsK
ICAgICAgICAgcHVzaChAaW50ZXJuYWxIZWFkZXJDb250ZW50LCAkdHlwZUdldHRlclNpZyAuICI7
XG4iKTsKICAgICAgICAgcHVzaChAaW50ZXJuYWxIZWFkZXJDb250ZW50LCAkdHlwZU1ha2VyU2ln
IC4gIjtcbiIpOwotICAgICAgICBpZiAoJGludGVyZmFjZU5hbWUgZXEgIk5vZGUiKSB7Ci0gICAg
ICAgICAgICBwdXNoKEBpbnRlcm5hbEhlYWRlckNvbnRlbnQsICIrIChpZCA8RE9NRXZlbnRUYXJn
ZXQ+KV93cmFwRXZlbnRUYXJnZXQ6KFdlYkNvcmU6OkV2ZW50VGFyZ2V0ICopZXZlbnRUYXJnZXQ7
XG4iKTsKLSAgICAgICAgfSBlbHNpZiAoJGludGVyZmFjZU5hbWUgZXEgIlNWR0VsZW1lbnRJbnN0
YW5jZSIpIHsKKworICAgICAgICBpZiAoJGludGVyZmFjZU5hbWUgZXEgIk5vZGUiIG9yICRpbnRl
cmZhY2VOYW1lIGVxICJTVkdFbGVtZW50SW5zdGFuY2UiKSB7CiAgICAgICAgICAgICBwdXNoKEBp
bnRlcm5hbEhlYWRlckNvbnRlbnQsICIrIChpZCA8RE9NRXZlbnRUYXJnZXQ+KV93cmFwRXZlbnRU
YXJnZXQ6KFdlYkNvcmU6OkV2ZW50VGFyZ2V0ICopZXZlbnRUYXJnZXQ7XG4iKTsKICAgICAgICAg
fQorCiAgICAgICAgIHB1c2goQGludGVybmFsSGVhZGVyQ29udGVudCwgIlxAZW5kXG4iKTsKKyAg
ICAgICAgcHVzaChAaW50ZXJuYWxIZWFkZXJDb250ZW50LCAiXG4jZW5kaWZcbiIpIGlmIGxlbmd0
aCAkaW50ZXJmYWNlQXZhaWxhYmlsaXR5VmVyc2lvbjsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBh
L1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggYzVmOTE5
ZC4uYmY4Mzk4ZSAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0
L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAwOC0xMC0wOSAgVGltb3RoeSBIYXRj
aGVyICA8dGltb3RoeUBhcHBsZS5jb20+CisKKyAgICAgICAgRG9uJ3QgY29udmVydCBKYXZhU2Ny
aXB0Q29yZSBoZWFkZXIgaW5jbHVkZSBwYXRocyB0byBXZWJLaXQgcGF0aHMuIFRoaXMgd2FzIG5l
ZWRlZAorICAgICAgICBiYWNrIHdoZW4gTlBBUEkgYW5kIFdlYlNjcmlwdE9iamVjdCBtaWdyYXRl
ZCBmcm9tIEphdmFTY3JpcHRDb3JlLiBBbHNvIHJlbW92ZQorICAgICAgICBKYXZhU2NyaXB0Q29y
ZSBmcm9tIHRoZSBWUEFUSC4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIE1pZ3JhdGVIZWFkZXJzLm1ha2U6CisKIDIwMDgtMTAtMDggIERhcmluIEFk
bGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IENhbWVyb24gWndh
cmljaC4KZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvTWlncmF0ZUhlYWRlcnMubWFrZSBiL1dlYktp
dC9tYWMvTWlncmF0ZUhlYWRlcnMubWFrZQppbmRleCBiNTNkZjk5Li42ZDk2NjIzIDEwMDY0NAot
LS0gYS9XZWJLaXQvbWFjL01pZ3JhdGVIZWFkZXJzLm1ha2UKKysrIGIvV2ViS2l0L21hYy9NaWdy
YXRlSGVhZGVycy5tYWtlCkBAIC0yNSw3ICsyNSw3IEBACiAjIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgogIyBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgogCi1WUEFUSCA9ICQoV0VCQ09SRV9QUklWQVRFX0hFQURFUlNfRElSKSAkKEpBVkFT
Q1JJUFRDT1JFX1BSSVZBVEVfSEVBREVSU19ESVIpCitWUEFUSCA9ICQoV0VCQ09SRV9QUklWQVRF
X0hFQURFUlNfRElSKQogCiBJTlRFUk5BTF9IRUFERVJTX0RJUiA9ICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQKIFBVQkxJQ19IRUFERVJTX0RJUiA9ICQoVEFSR0VU
X0JVSUxEX0RJUikvJChQVUJMSUNfSEVBREVSU19GT0xERVJfUEFUSCkKQEAgLTQ4MSw3ICs0ODEs
NyBAQCBhbGwgOiBcCiAKIGVuZGlmCiAKLVJFUExBQ0VfUlVMRVMgPSAtZSBzL1w8V2ViQ29yZS9c
PFdlYktpdC8gLWUgcy9cPEphdmFTY3JpcHRDb3JlL1w8V2ViS2l0LyAtZSBzL0RPTURPTUltcGxl
bWVudGF0aW9uL0RPTUltcGxlbWVudGF0aW9uLyAtZSAncy9cPFdlYktpdFwvSlNCYXNlLmgvXDxK
YXZhU2NyaXB0Q29yZVwvSlNCYXNlLmgvJworUkVQTEFDRV9SVUxFUyA9IC1lIHMvXDxXZWJDb3Jl
L1w8V2ViS2l0LyAtZSBzL0RPTURPTUltcGxlbWVudGF0aW9uL0RPTUltcGxlbWVudGF0aW9uLwog
SEVBREVSX01JR1JBVEVfQ01EID0gc2VkICQoUkVQTEFDRV9SVUxFUykgJDwgJChQUk9DRVNTX0hF
QURFUl9GT1JfTUFDT1NYX1RBUkdFVF9DTUQpID4gJEAKIAogaWZlcSAoJChNQUNPU1hfREVQTE9Z
TUVOVF9UQVJHRVQpLDEwLjQpCi0tIAoxLjYuMC4yCgo=
</data>
<flag name="review"
          id="11015"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>24224</attachid>
            <date>2008-10-09 00:57:41 -0700</date>
            <delta_ts>2008-10-09 00:57:41 -0700</delta_ts>
            <desc>Example Header</desc>
            <filename>DOMDocument.h</filename>
            <type>text/plain</type>
            <size>8316</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">LyoKICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWlu
aWcgPHNhbS53ZWluaWdAZ21haWwuY29tPgogKgogKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCiAq
IGFyZSBtZXQ6CiAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CiAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQogKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgogKgogKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCiAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCiAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgogKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgQ09NUFVURVIsIElOQy4gT1IKICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCiAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCiAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCiAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQogKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiAKICovCgojaW1wb3J0IDxXZWJLaXQvRE9NTm9kZS5oPgoKI2lmIFdFQktJVF9WRVJTSU9O
X01BWF9BTExPV0VEID49IFdFQktJVF9WRVJTSU9OXzFfMwoKQGNsYXNzIERPTUFic3RyYWN0Vmll
dzsKQGNsYXNzIERPTUF0dHI7CkBjbGFzcyBET01DREFUQVNlY3Rpb247CkBjbGFzcyBET01DU1NS
dWxlTGlzdDsKQGNsYXNzIERPTUNTU1N0eWxlRGVjbGFyYXRpb247CkBjbGFzcyBET01Db21tZW50
OwpAY2xhc3MgRE9NRG9jdW1lbnRGcmFnbWVudDsKQGNsYXNzIERPTURvY3VtZW50VHlwZTsKQGNs
YXNzIERPTUVsZW1lbnQ7CkBjbGFzcyBET01FbnRpdHlSZWZlcmVuY2U7CkBjbGFzcyBET01FdmVu
dDsKQGNsYXNzIERPTUhUTUxDb2xsZWN0aW9uOwpAY2xhc3MgRE9NSFRNTEVsZW1lbnQ7CkBjbGFz
cyBET01JbXBsZW1lbnRhdGlvbjsKQGNsYXNzIERPTU5vZGU7CkBjbGFzcyBET01Ob2RlSXRlcmF0
b3I7CkBjbGFzcyBET01Ob2RlTGlzdDsKQGNsYXNzIERPTVByb2Nlc3NpbmdJbnN0cnVjdGlvbjsK
QGNsYXNzIERPTVJhbmdlOwpAY2xhc3MgRE9NU3R5bGVTaGVldExpc3Q7CkBjbGFzcyBET01UZXh0
OwpAY2xhc3MgRE9NVHJlZVdhbGtlcjsKQGNsYXNzIERPTVhQYXRoRXhwcmVzc2lvbjsKQGNsYXNz
IERPTVhQYXRoUmVzdWx0OwpAY2xhc3MgTlNTdHJpbmc7CkBwcm90b2NvbCBET01Ob2RlRmlsdGVy
OwpAcHJvdG9jb2wgRE9NWFBhdGhOU1Jlc29sdmVyOwoKQGludGVyZmFjZSBET01Eb2N1bWVudCA6
IERPTU5vZGUKQHByb3BlcnR5KHJlYWRvbmx5LCByZXRhaW4pIERPTURvY3VtZW50VHlwZSAqZG9j
dHlwZTsKQHByb3BlcnR5KHJlYWRvbmx5LCByZXRhaW4pIERPTUltcGxlbWVudGF0aW9uICppbXBs
ZW1lbnRhdGlvbjsKQHByb3BlcnR5KHJlYWRvbmx5LCByZXRhaW4pIERPTUVsZW1lbnQgKmRvY3Vt
ZW50RWxlbWVudDsKQHByb3BlcnR5KHJlYWRvbmx5LCByZXRhaW4pIERPTUFic3RyYWN0VmlldyAq
ZGVmYXVsdFZpZXc7CkBwcm9wZXJ0eShyZWFkb25seSwgcmV0YWluKSBET01TdHlsZVNoZWV0TGlz
dCAqc3R5bGVTaGVldHM7CkBwcm9wZXJ0eShjb3B5KSBOU1N0cmluZyAqdGl0bGU7CkBwcm9wZXJ0
eShyZWFkb25seSwgY29weSkgTlNTdHJpbmcgKnJlZmVycmVyOwpAcHJvcGVydHkocmVhZG9ubHks
IGNvcHkpIE5TU3RyaW5nICpkb21haW47CkBwcm9wZXJ0eShyZWFkb25seSwgY29weSkgTlNTdHJp
bmcgKlVSTDsKQHByb3BlcnR5KGNvcHkpIE5TU3RyaW5nICpjb29raWU7CkBwcm9wZXJ0eShyZXRh
aW4pIERPTUhUTUxFbGVtZW50ICpib2R5OwpAcHJvcGVydHkocmVhZG9ubHksIHJldGFpbikgRE9N
SFRNTENvbGxlY3Rpb24gKmltYWdlczsKQHByb3BlcnR5KHJlYWRvbmx5LCByZXRhaW4pIERPTUhU
TUxDb2xsZWN0aW9uICphcHBsZXRzOwpAcHJvcGVydHkocmVhZG9ubHksIHJldGFpbikgRE9NSFRN
TENvbGxlY3Rpb24gKmxpbmtzOwpAcHJvcGVydHkocmVhZG9ubHksIHJldGFpbikgRE9NSFRNTENv
bGxlY3Rpb24gKmZvcm1zOwpAcHJvcGVydHkocmVhZG9ubHksIHJldGFpbikgRE9NSFRNTENvbGxl
Y3Rpb24gKmFuY2hvcnM7CgotIChET01FbGVtZW50ICopY3JlYXRlRWxlbWVudDooTlNTdHJpbmcg
Kil0YWdOYW1lOwotIChET01Eb2N1bWVudEZyYWdtZW50ICopY3JlYXRlRG9jdW1lbnRGcmFnbWVu
dDsKLSAoRE9NVGV4dCAqKWNyZWF0ZVRleHROb2RlOihOU1N0cmluZyAqKWRhdGE7Ci0gKERPTUNv
bW1lbnQgKiljcmVhdGVDb21tZW50OihOU1N0cmluZyAqKWRhdGE7Ci0gKERPTUNEQVRBU2VjdGlv
biAqKWNyZWF0ZUNEQVRBU2VjdGlvbjooTlNTdHJpbmcgKilkYXRhOwotIChET01Qcm9jZXNzaW5n
SW5zdHJ1Y3Rpb24gKiljcmVhdGVQcm9jZXNzaW5nSW5zdHJ1Y3Rpb246KE5TU3RyaW5nICopdGFy
Z2V0IGRhdGE6KE5TU3RyaW5nICopZGF0YSBBVkFJTEFCTEVfV0VCS0lUX1ZFUlNJT05fM18wX0FO
RF9MQVRFUjsKLSAoRE9NQXR0ciAqKWNyZWF0ZUF0dHJpYnV0ZTooTlNTdHJpbmcgKiluYW1lOwot
IChET01FbnRpdHlSZWZlcmVuY2UgKiljcmVhdGVFbnRpdHlSZWZlcmVuY2U6KE5TU3RyaW5nICop
bmFtZTsKLSAoRE9NTm9kZUxpc3QgKilnZXRFbGVtZW50c0J5VGFnTmFtZTooTlNTdHJpbmcgKil0
YWduYW1lOwotIChET01Ob2RlICopaW1wb3J0Tm9kZTooRE9NTm9kZSAqKWltcG9ydGVkTm9kZSBk
ZWVwOihCT09MKWRlZXAgQVZBSUxBQkxFX1dFQktJVF9WRVJTSU9OXzNfMF9BTkRfTEFURVI7Ci0g
KERPTUVsZW1lbnQgKiljcmVhdGVFbGVtZW50TlM6KE5TU3RyaW5nICopbmFtZXNwYWNlVVJJIHF1
YWxpZmllZE5hbWU6KE5TU3RyaW5nICopcXVhbGlmaWVkTmFtZSBBVkFJTEFCTEVfV0VCS0lUX1ZF
UlNJT05fM18wX0FORF9MQVRFUjsKLSAoRE9NQXR0ciAqKWNyZWF0ZUF0dHJpYnV0ZU5TOihOU1N0
cmluZyAqKW5hbWVzcGFjZVVSSSBxdWFsaWZpZWROYW1lOihOU1N0cmluZyAqKXF1YWxpZmllZE5h
bWUgQVZBSUxBQkxFX1dFQktJVF9WRVJTSU9OXzNfMF9BTkRfTEFURVI7Ci0gKERPTU5vZGVMaXN0
ICopZ2V0RWxlbWVudHNCeVRhZ05hbWVOUzooTlNTdHJpbmcgKiluYW1lc3BhY2VVUkkgbG9jYWxO
YW1lOihOU1N0cmluZyAqKWxvY2FsTmFtZSBBVkFJTEFCTEVfV0VCS0lUX1ZFUlNJT05fM18wX0FO
RF9MQVRFUjsKLSAoRE9NRWxlbWVudCAqKWdldEVsZW1lbnRCeUlkOihOU1N0cmluZyAqKWVsZW1l
bnRJZDsKLSAoRE9NTm9kZSAqKWFkb3B0Tm9kZTooRE9NTm9kZSAqKXNvdXJjZSBBVkFJTEFCTEVf
V0VCS0lUX1ZFUlNJT05fM18wX0FORF9MQVRFUjsKLSAoRE9NRXZlbnQgKiljcmVhdGVFdmVudDoo
TlNTdHJpbmcgKilldmVudFR5cGU7Ci0gKERPTVJhbmdlICopY3JlYXRlUmFuZ2U7Ci0gKERPTU5v
ZGVJdGVyYXRvciAqKWNyZWF0ZU5vZGVJdGVyYXRvcjooRE9NTm9kZSAqKXJvb3Qgd2hhdFRvU2hv
dzoodW5zaWduZWQpd2hhdFRvU2hvdyBmaWx0ZXI6KGlkIDxET01Ob2RlRmlsdGVyPilmaWx0ZXIg
ZXhwYW5kRW50aXR5UmVmZXJlbmNlczooQk9PTClleHBhbmRFbnRpdHlSZWZlcmVuY2VzIEFWQUlM
QUJMRV9XRUJLSVRfVkVSU0lPTl8zXzBfQU5EX0xBVEVSOwotIChET01UcmVlV2Fsa2VyICopY3Jl
YXRlVHJlZVdhbGtlcjooRE9NTm9kZSAqKXJvb3Qgd2hhdFRvU2hvdzoodW5zaWduZWQpd2hhdFRv
U2hvdyBmaWx0ZXI6KGlkIDxET01Ob2RlRmlsdGVyPilmaWx0ZXIgZXhwYW5kRW50aXR5UmVmZXJl
bmNlczooQk9PTClleHBhbmRFbnRpdHlSZWZlcmVuY2VzIEFWQUlMQUJMRV9XRUJLSVRfVkVSU0lP
Tl8zXzBfQU5EX0xBVEVSOwotIChET01DU1NTdHlsZURlY2xhcmF0aW9uICopZ2V0T3ZlcnJpZGVT
dHlsZTooRE9NRWxlbWVudCAqKWVsZW1lbnQgcHNldWRvRWxlbWVudDooTlNTdHJpbmcgKilwc2V1
ZG9FbGVtZW50IEFWQUlMQUJMRV9XRUJLSVRfVkVSU0lPTl8zXzBfQU5EX0xBVEVSOwotIChET01Y
UGF0aEV4cHJlc3Npb24gKiljcmVhdGVFeHByZXNzaW9uOihOU1N0cmluZyAqKWV4cHJlc3Npb24g
cmVzb2x2ZXI6KGlkIDxET01YUGF0aE5TUmVzb2x2ZXI+KXJlc29sdmVyIEFWQUlMQUJMRV9XRUJL
SVRfVkVSU0lPTl8zXzBfQU5EX0xBVEVSOwotIChpZCA8RE9NWFBhdGhOU1Jlc29sdmVyPiljcmVh
dGVOU1Jlc29sdmVyOihET01Ob2RlICopbm9kZVJlc29sdmVyIEFWQUlMQUJMRV9XRUJLSVRfVkVS
U0lPTl8zXzBfQU5EX0xBVEVSOwotIChET01YUGF0aFJlc3VsdCAqKWV2YWx1YXRlOihOU1N0cmlu
ZyAqKWV4cHJlc3Npb24gY29udGV4dE5vZGU6KERPTU5vZGUgKiljb250ZXh0Tm9kZSByZXNvbHZl
cjooaWQgPERPTVhQYXRoTlNSZXNvbHZlcj4pcmVzb2x2ZXIgdHlwZToodW5zaWduZWQgc2hvcnQp
dHlwZSBpblJlc3VsdDooRE9NWFBhdGhSZXN1bHQgKilpblJlc3VsdCBBVkFJTEFCTEVfV0VCS0lU
X1ZFUlNJT05fM18wX0FORF9MQVRFUjsKLSAoRE9NTm9kZUxpc3QgKilnZXRFbGVtZW50c0J5TmFt
ZTooTlNTdHJpbmcgKillbGVtZW50TmFtZTsKLSAoRE9NQ1NTU3R5bGVEZWNsYXJhdGlvbiAqKWNy
ZWF0ZUNTU1N0eWxlRGVjbGFyYXRpb24gQVZBSUxBQkxFX1dFQktJVF9WRVJTSU9OXzNfMF9BTkRf
TEFURVI7Ci0gKERPTUNTU1N0eWxlRGVjbGFyYXRpb24gKilnZXRDb21wdXRlZFN0eWxlOihET01F
bGVtZW50ICopZWxlbWVudCBwc2V1ZG9FbGVtZW50OihOU1N0cmluZyAqKXBzZXVkb0VsZW1lbnQg
QVZBSUxBQkxFX1dFQktJVF9WRVJTSU9OXzNfMF9BTkRfTEFURVI7Ci0gKERPTUNTU1J1bGVMaXN0
ICopZ2V0TWF0Y2hlZENTU1J1bGVzOihET01FbGVtZW50ICopZWxlbWVudCBwc2V1ZG9FbGVtZW50
OihOU1N0cmluZyAqKXBzZXVkb0VsZW1lbnQgQVZBSUxBQkxFX1dFQktJVF9WRVJTSU9OXzNfMF9B
TkRfTEFURVI7Ci0gKERPTUNTU1J1bGVMaXN0ICopZ2V0TWF0Y2hlZENTU1J1bGVzOihET01FbGVt
ZW50ICopZWxlbWVudCBwc2V1ZG9FbGVtZW50OihOU1N0cmluZyAqKXBzZXVkb0VsZW1lbnQgYXV0
aG9yT25seTooQk9PTClhdXRob3JPbmx5IEFWQUlMQUJMRV9XRUJLSVRfVkVSU0lPTl8zXzBfQU5E
X0xBVEVSOwpAZW5kCgpAaW50ZXJmYWNlIERPTURvY3VtZW50IChET01Eb2N1bWVudERlcHJlY2F0
ZWQpCi0gKERPTVByb2Nlc3NpbmdJbnN0cnVjdGlvbiAqKWNyZWF0ZVByb2Nlc3NpbmdJbnN0cnVj
dGlvbjooTlNTdHJpbmcgKil0YXJnZXQgOihOU1N0cmluZyAqKWRhdGEgV0VCS0lUX0NBVEVHT1JZ
X01FVEhPRF9BTk5PVEFUSU9OKEFWQUlMQUJMRV9XRUJLSVRfVkVSU0lPTl8xXzNfQU5EX0xBVEVS
X0JVVF9ERVBSRUNBVEVEX0lOX1dFQktJVF9WRVJTSU9OXzNfMCk7Ci0gKERPTU5vZGUgKilpbXBv
cnROb2RlOihET01Ob2RlICopaW1wb3J0ZWROb2RlIDooQk9PTClkZWVwIFdFQktJVF9DQVRFR09S
WV9NRVRIT0RfQU5OT1RBVElPTihBVkFJTEFCTEVfV0VCS0lUX1ZFUlNJT05fMV8zX0FORF9MQVRF
Ul9CVVRfREVQUkVDQVRFRF9JTl9XRUJLSVRfVkVSU0lPTl8zXzApOwotIChET01FbGVtZW50ICop
Y3JlYXRlRWxlbWVudE5TOihOU1N0cmluZyAqKW5hbWVzcGFjZVVSSSA6KE5TU3RyaW5nICopcXVh
bGlmaWVkTmFtZSBXRUJLSVRfQ0FURUdPUllfTUVUSE9EX0FOTk9UQVRJT04oQVZBSUxBQkxFX1dF
QktJVF9WRVJTSU9OXzFfM19BTkRfTEFURVJfQlVUX0RFUFJFQ0FURURfSU5fV0VCS0lUX1ZFUlNJ
T05fM18wKTsKLSAoRE9NQXR0ciAqKWNyZWF0ZUF0dHJpYnV0ZU5TOihOU1N0cmluZyAqKW5hbWVz
cGFjZVVSSSA6KE5TU3RyaW5nICopcXVhbGlmaWVkTmFtZSBXRUJLSVRfQ0FURUdPUllfTUVUSE9E
X0FOTk9UQVRJT04oQVZBSUxBQkxFX1dFQktJVF9WRVJTSU9OXzFfM19BTkRfTEFURVJfQlVUX0RF
UFJFQ0FURURfSU5fV0VCS0lUX1ZFUlNJT05fM18wKTsKLSAoRE9NTm9kZUxpc3QgKilnZXRFbGVt
ZW50c0J5VGFnTmFtZU5TOihOU1N0cmluZyAqKW5hbWVzcGFjZVVSSSA6KE5TU3RyaW5nICopbG9j
YWxOYW1lIFdFQktJVF9DQVRFR09SWV9NRVRIT0RfQU5OT1RBVElPTihBVkFJTEFCTEVfV0VCS0lU
X1ZFUlNJT05fMV8zX0FORF9MQVRFUl9CVVRfREVQUkVDQVRFRF9JTl9XRUJLSVRfVkVSU0lPTl8z
XzApOwotIChET01Ob2RlSXRlcmF0b3IgKiljcmVhdGVOb2RlSXRlcmF0b3I6KERPTU5vZGUgKily
b290IDoodW5zaWduZWQpd2hhdFRvU2hvdyA6KGlkIDxET01Ob2RlRmlsdGVyPilmaWx0ZXIgOihC
T09MKWV4cGFuZEVudGl0eVJlZmVyZW5jZXMgV0VCS0lUX0NBVEVHT1JZX01FVEhPRF9BTk5PVEFU
SU9OKEFWQUlMQUJMRV9XRUJLSVRfVkVSU0lPTl8xXzNfQU5EX0xBVEVSX0JVVF9ERVBSRUNBVEVE
X0lOX1dFQktJVF9WRVJTSU9OXzNfMCk7Ci0gKERPTVRyZWVXYWxrZXIgKiljcmVhdGVUcmVlV2Fs
a2VyOihET01Ob2RlICopcm9vdCA6KHVuc2lnbmVkKXdoYXRUb1Nob3cgOihpZCA8RE9NTm9kZUZp
bHRlcj4pZmlsdGVyIDooQk9PTClleHBhbmRFbnRpdHlSZWZlcmVuY2VzIFdFQktJVF9DQVRFR09S
WV9NRVRIT0RfQU5OT1RBVElPTihBVkFJTEFCTEVfV0VCS0lUX1ZFUlNJT05fMV8zX0FORF9MQVRF
Ul9CVVRfREVQUkVDQVRFRF9JTl9XRUJLSVRfVkVSU0lPTl8zXzApOwotIChET01DU1NTdHlsZURl
Y2xhcmF0aW9uICopZ2V0T3ZlcnJpZGVTdHlsZTooRE9NRWxlbWVudCAqKWVsZW1lbnQgOihOU1N0
cmluZyAqKXBzZXVkb0VsZW1lbnQgV0VCS0lUX0NBVEVHT1JZX01FVEhPRF9BTk5PVEFUSU9OKEFW
QUlMQUJMRV9XRUJLSVRfVkVSU0lPTl8xXzNfQU5EX0xBVEVSX0JVVF9ERVBSRUNBVEVEX0lOX1dF
QktJVF9WRVJTSU9OXzNfMCk7Ci0gKERPTVhQYXRoRXhwcmVzc2lvbiAqKWNyZWF0ZUV4cHJlc3Np
b246KE5TU3RyaW5nICopZXhwcmVzc2lvbiA6KGlkIDxET01YUGF0aE5TUmVzb2x2ZXI+KXJlc29s
dmVyIFdFQktJVF9DQVRFR09SWV9NRVRIT0RfQU5OT1RBVElPTihBVkFJTEFCTEVfV0VCS0lUX1ZF
UlNJT05fM18wX0FORF9MQVRFUl9CVVRfREVQUkVDQVRFRCk7Ci0gKERPTVhQYXRoUmVzdWx0ICop
ZXZhbHVhdGU6KE5TU3RyaW5nICopZXhwcmVzc2lvbiA6KERPTU5vZGUgKiljb250ZXh0Tm9kZSA6
KGlkIDxET01YUGF0aE5TUmVzb2x2ZXI+KXJlc29sdmVyIDoodW5zaWduZWQgc2hvcnQpdHlwZSA6
KERPTVhQYXRoUmVzdWx0ICopaW5SZXN1bHQgV0VCS0lUX0NBVEVHT1JZX01FVEhPRF9BTk5PVEFU
SU9OKEFWQUlMQUJMRV9XRUJLSVRfVkVSU0lPTl8zXzBfQU5EX0xBVEVSX0JVVF9ERVBSRUNBVEVE
KTsKLSAoRE9NQ1NTU3R5bGVEZWNsYXJhdGlvbiAqKWdldENvbXB1dGVkU3R5bGU6KERPTUVsZW1l
bnQgKillbGVtZW50IDooTlNTdHJpbmcgKilwc2V1ZG9FbGVtZW50IFdFQktJVF9DQVRFR09SWV9N
RVRIT0RfQU5OT1RBVElPTihBVkFJTEFCTEVfV0VCS0lUX1ZFUlNJT05fMV8zX0FORF9MQVRFUl9C
VVRfREVQUkVDQVRFRF9JTl9XRUJLSVRfVkVSU0lPTl8zXzApOwpAZW5kCgojZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>24225</attachid>
            <date>2008-10-09 00:59:12 -0700</date>
            <delta_ts>2008-10-09 00:59:12 -0700</delta_ts>
            <desc>Another Example Header</desc>
            <filename>DOMXPathResult.h</filename>
            <type>text/plain</type>
            <size>2342</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">LyoKICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWlu
aWcgPHNhbS53ZWluaWdAZ21haWwuY29tPgogKgogKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCiAq
IGFyZSBtZXQ6CiAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CiAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQogKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgogKgogKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCiAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCiAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgogKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgQ09NUFVURVIsIElOQy4gT1IKICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCiAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCiAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCiAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQogKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiAKICovCgojaW1wb3J0IDxXZWJLaXQvRE9NT2JqZWN0Lmg+CgojaWYgV0VCS0lUX1ZFUlNJ
T05fTUFYX0FMTE9XRUQgPj0gV0VCS0lUX1ZFUlNJT05fM18wCgpAY2xhc3MgRE9NTm9kZTsKQGNs
YXNzIE5TU3RyaW5nOwoKZW51bSB7CiAgICBET01fQU5ZX1RZUEUgPSAwLAogICAgRE9NX05VTUJF
Ul9UWVBFID0gMSwKICAgIERPTV9TVFJJTkdfVFlQRSA9IDIsCiAgICBET01fQk9PTEVBTl9UWVBF
ID0gMywKICAgIERPTV9VTk9SREVSRURfTk9ERV9JVEVSQVRPUl9UWVBFID0gNCwKICAgIERPTV9P
UkRFUkVEX05PREVfSVRFUkFUT1JfVFlQRSA9IDUsCiAgICBET01fVU5PUkRFUkVEX05PREVfU05B
UFNIT1RfVFlQRSA9IDYsCiAgICBET01fT1JERVJFRF9OT0RFX1NOQVBTSE9UX1RZUEUgPSA3LAog
ICAgRE9NX0FOWV9VTk9SREVSRURfTk9ERV9UWVBFID0gOCwKICAgIERPTV9GSVJTVF9PUkRFUkVE
X05PREVfVFlQRSA9IDkKfTsKCkBpbnRlcmZhY2UgRE9NWFBhdGhSZXN1bHQgOiBET01PYmplY3QK
QHByb3BlcnR5KHJlYWRvbmx5KSB1bnNpZ25lZCBzaG9ydCByZXN1bHRUeXBlOwpAcHJvcGVydHko
cmVhZG9ubHkpIGRvdWJsZSBudW1iZXJWYWx1ZTsKQHByb3BlcnR5KHJlYWRvbmx5LCBjb3B5KSBO
U1N0cmluZyAqc3RyaW5nVmFsdWU7CkBwcm9wZXJ0eShyZWFkb25seSkgQk9PTCBib29sZWFuVmFs
dWU7CkBwcm9wZXJ0eShyZWFkb25seSwgcmV0YWluKSBET01Ob2RlICpzaW5nbGVOb2RlVmFsdWU7
CkBwcm9wZXJ0eShyZWFkb25seSkgQk9PTCBpbnZhbGlkSXRlcmF0b3JTdGF0ZTsKQHByb3BlcnR5
KHJlYWRvbmx5KSB1bnNpZ25lZCBzbmFwc2hvdExlbmd0aDsKCi0gKERPTU5vZGUgKilpdGVyYXRl
TmV4dDsKLSAoRE9NTm9kZSAqKXNuYXBzaG90SXRlbToodW5zaWduZWQpaW5kZXg7CkBlbmQKCiNl
bmRpZgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>