<?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>87798</bug_id>
          
          <creation_ts>2012-05-29 17:32:28 -0700</creation_ts>
          <short_desc>[chromium] Merge shared code in CCOcclusionTrackerTest</short_desc>
          <delta_ts>2012-05-30 13:17:31 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Shawn Singh">shawnsingh</reporter>
          <assigned_to name="Shawn Singh">shawnsingh</assigned_to>
          <cc>danakj</cc>
    
    <cc>enne</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>636624</commentid>
    <comment_count>0</comment_count>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-05-29 17:32:28 -0700</bug_when>
    <thetext>Patch coming in a moment.  It might look like a large patch, but its actually a tiny minor trivial change... took only 5 minutes to create the patch, and 5 minutes to test it.

Are you guys OK with doing this?  Personally I think its the right thing to do.   But please feel free to WONTFIX it if you guys don&apos;t want this change for some reason.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>636626</commentid>
    <comment_count>1</comment_count>
      <attachid>144658</attachid>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-05-29 17:34:06 -0700</bug_when>
    <thetext>Created attachment 144658
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>636663</commentid>
    <comment_count>2</comment_count>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-05-29 18:09:34 -0700</bug_when>
    <thetext>woot, i&apos;m fine with this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>637584</commentid>
    <comment_count>3</comment_count>
      <attachid>144658</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-05-30 13:07:16 -0700</bug_when>
    <thetext>Comment on attachment 144658
Patch

Sure! R=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>637593</commentid>
    <comment_count>4</comment_count>
      <attachid>144658</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-30 13:17:27 -0700</bug_when>
    <thetext>Comment on attachment 144658
Patch

Clearing flags on attachment: 144658

Committed r118959: &lt;http://trac.webkit.org/changeset/118959&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>637594</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-30 13:17:31 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144658</attachid>
            <date>2012-05-29 17:34:06 -0700</date>
            <delta_ts>2012-05-30 13:17:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87798-20120529173405.patch</filename>
            <type>text/plain</type>
            <size>95079</size>
            <attacher name="Shawn Singh">shawnsingh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4ODQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDliMzhkNmRiZDI4MGM0ZjQ5YWY1NjljNzhmYzkzZmUxZjRhOTBkMDMuLmIyZjE1ODBmYmZhNjk0
MTgzY2FlNTQ1MzhkZGQ0MWIyZmM0ZDMwMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsNTMgQEAKKzIwMTItMDUtMjkgIFNoYXduIFNpbmdoICA8c2hhd25zaW5naEBjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBNZXJnZSBzaGFyZWQgY29kZSBpbiBDQ09j
Y2x1c2lvblRyYWNrZXJUZXN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD04Nzc5OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoaXMgcGF0Y2ggc2ltcGxlIHVzZXMgYSBkaWZmZXJlbnQgZXhpc3RpbmcgbWFj
cm8gZnVuY3Rpb24gc28gdGhhdAorICAgICAgICB0aGUgc2FtZSB0aGluZyBkb2Vzbid0IGV4aXN0
IGluIG11bHRpcGxlIHBsYWNlcywgYW5kIHNvIHRoYXQgdGhlCisgICAgICAgIG5hbWluZyBpcyBt
b3JlIGNvbnNpc3RlbnQgd2l0aCBndGVzdCdzIGNvbnZlbnRpb25zLgorCisgICAgICAgICogdGVz
dHMvQ0NPY2NsdXNpb25UcmFja2VyVGVzdC5jcHA6CisgICAgICAgIChXZWJLaXRUZXN0czo6Q0NP
Y2NsdXNpb25UcmFja2VyVGVzdElkZW50aXR5VHJhbnNmb3Jtczo6cnVuTXlUZXN0KToKKyAgICAg
ICAgKFdlYktpdFRlc3RzOjpDQ09jY2x1c2lvblRyYWNrZXJUZXN0Um90YXRlZENoaWxkOjpydW5N
eVRlc3QpOgorICAgICAgICAoV2ViS2l0VGVzdHM6OkNDT2NjbHVzaW9uVHJhY2tlclRlc3RUcmFu
c2xhdGVkQ2hpbGQ6OnJ1bk15VGVzdCk6CisgICAgICAgIChXZWJLaXRUZXN0czo6Q0NPY2NsdXNp
b25UcmFja2VyVGVzdENoaWxkSW5Sb3RhdGVkQ2hpbGQ6OnJ1bk15VGVzdCk6CisgICAgICAgIChX
ZWJLaXRUZXN0czo6Q0NPY2NsdXNpb25UcmFja2VyVGVzdFZpc2l0VGFyZ2V0VHdvVGltZXM6OnJ1
bk15VGVzdCk6CisgICAgICAgIChXZWJLaXRUZXN0czo6Q0NPY2NsdXNpb25UcmFja2VyVGVzdFN1
cmZhY2VSb3RhdGVkT2ZmQXhpczo6cnVuTXlUZXN0KToKKyAgICAgICAgKFdlYktpdFRlc3RzOjpD
Q09jY2x1c2lvblRyYWNrZXJUZXN0U3VyZmFjZVdpdGhUd29PcGFxdWVDaGlsZHJlbjo6cnVuTXlU
ZXN0KToKKyAgICAgICAgKFdlYktpdFRlc3RzOjpDQ09jY2x1c2lvblRyYWNrZXJUZXN0T3Zlcmxh
cHBpbmdTdXJmYWNlU2libGluZ3M6OnJ1bk15VGVzdCk6CisgICAgICAgIChXZWJLaXRUZXN0czo6
Q0NPY2NsdXNpb25UcmFja2VyVGVzdE92ZXJsYXBwaW5nU3VyZmFjZVNpYmxpbmdzV2l0aFR3b1Ry
YW5zZm9ybXM6OnJ1bk15VGVzdCk6CisgICAgICAgIChXZWJLaXRUZXN0czo6Q0NPY2NsdXNpb25U
cmFja2VyVGVzdEZpbHRlcnM6OnJ1bk15VGVzdCk6CisgICAgICAgIChXZWJLaXRUZXN0czo6Q0NP
Y2NsdXNpb25UcmFja2VyVGVzdFJlcGxpY2FEb2VzT2NjbHVkZTo6cnVuTXlUZXN0KToKKyAgICAg
ICAgKFdlYktpdFRlc3RzOjpDQ09jY2x1c2lvblRyYWNrZXJUZXN0UmVwbGljYVdpdGhDbGlwcGlu
Zzo6cnVuTXlUZXN0KToKKyAgICAgICAgKFdlYktpdFRlc3RzOjpDQ09jY2x1c2lvblRyYWNrZXJU
ZXN0UmVwbGljYVdpdGhNYXNrOjpydW5NeVRlc3QpOgorICAgICAgICAoV2ViS2l0VGVzdHM6OkND
T2NjbHVzaW9uVHJhY2tlclRlc3RMYXllclNjaXNzb3JSZWN0T3V0c2lkZUNoaWxkOjpydW5NeVRl
c3QpOgorICAgICAgICAoV2ViS2l0VGVzdHM6OkNDT2NjbHVzaW9uVHJhY2tlclRlc3RTY3JlZW5T
Y2lzc29yUmVjdE91dHNpZGVDaGlsZDo6cnVuTXlUZXN0KToKKyAgICAgICAgKFdlYktpdFRlc3Rz
OjpDQ09jY2x1c2lvblRyYWNrZXJUZXN0TGF5ZXJTY2lzc29yUmVjdFBhcnRseU92ZXJDaGlsZDo6
cnVuTXlUZXN0KToKKyAgICAgICAgKFdlYktpdFRlc3RzOjpDQ09jY2x1c2lvblRyYWNrZXJUZXN0
U2NyZWVuU2Npc3NvclJlY3RQYXJ0bHlPdmVyQ2hpbGQ6OnJ1bk15VGVzdCk6CisgICAgICAgIChX
ZWJLaXRUZXN0czo6Q0NPY2NsdXNpb25UcmFja2VyVGVzdE9wYXF1ZUNvbnRlbnRzUmVnaW9uTm9u
RW1wdHk6OnJ1bk15VGVzdCk6CisgICAgICAgIChXZWJLaXRUZXN0czo6Q0NPY2NsdXNpb25UcmFj
a2VyVGVzdDNkVHJhbnNmb3JtOjpydW5NeVRlc3QpOgorICAgICAgICAoV2ViS2l0VGVzdHM6OkND
T2NjbHVzaW9uVHJhY2tlclRlc3RQZXJzcGVjdGl2ZVRyYW5zZm9ybTo6cnVuTXlUZXN0KToKKyAg
ICAgICAgKFdlYktpdFRlc3RzOjpDQ09jY2x1c2lvblRyYWNrZXJUZXN0QW5pbWF0aW9uT3BhY2l0
eTFPbk1haW5UaHJlYWQ6OnJ1bk15VGVzdCk6CisgICAgICAgIChXZWJLaXRUZXN0czo6Q0NPY2Ns
dXNpb25UcmFja2VyVGVzdEFuaW1hdGlvbk9wYWNpdHkwT25NYWluVGhyZWFkOjpydW5NeVRlc3Qp
OgorICAgICAgICAoV2ViS2l0VGVzdHM6OkNDT2NjbHVzaW9uVHJhY2tlclRlc3RBbmltYXRpb25U
cmFuc2xhdGVPbk1haW5UaHJlYWQ6OnJ1bk15VGVzdCk6CisgICAgICAgIChXZWJLaXRUZXN0czo6
Q0NPY2NsdXNpb25UcmFja2VyVGVzdFN1cmZhY2VPY2NsdXNpb25UcmFuc2xhdGVzVG9QYXJlbnQ6
OnJ1bk15VGVzdCk6CisgICAgICAgIChXZWJLaXRUZXN0czo6Q0NPY2NsdXNpb25UcmFja2VyVGVz
dFN1cmZhY2VPY2NsdXNpb25UcmFuc2xhdGVzV2l0aENsaXBwaW5nOjpydW5NeVRlc3QpOgorICAg
ICAgICAoV2ViS2l0VGVzdHM6OkNDT2NjbHVzaW9uVHJhY2tlclRlc3RSZXBsaWNhT2NjbHVkZWQ6
OnJ1bk15VGVzdCk6CisgICAgICAgIChXZWJLaXRUZXN0czo6Q0NPY2NsdXNpb25UcmFja2VyVGVz
dFN1cmZhY2VXaXRoUmVwbGljYVVub2NjbHVkZWQ6OnJ1bk15VGVzdCk6CisgICAgICAgIChXZWJL
aXRUZXN0czo6Q0NPY2NsdXNpb25UcmFja2VyVGVzdFN1cmZhY2VBbmRSZXBsaWNhT2NjbHVkZWRE
aWZmZXJlbnRseTo6cnVuTXlUZXN0KToKKyAgICAgICAgKFdlYktpdFRlc3RzOjpDQ09jY2x1c2lv
blRyYWNrZXJUZXN0U3VyZmFjZUNoaWxkT2ZTdXJmYWNlOjpydW5NeVRlc3QpOgorICAgICAgICAo
V2ViS2l0VGVzdHM6OkNDT2NjbHVzaW9uVHJhY2tlclRlc3RUb3Btb3N0U3VyZmFjZUlzQ2xpcHBl
ZFRvU2Npc3Nvcjo6cnVuTXlUZXN0KToKKyAgICAgICAgKFdlYktpdFRlc3RzOjpDQ09jY2x1c2lv
blRyYWNrZXJUZXN0U3VyZmFjZUNoaWxkT2ZDbGlwcGluZ1N1cmZhY2U6OnJ1bk15VGVzdCk6Cisg
ICAgICAgIChXZWJLaXRUZXN0czo6Q0NPY2NsdXNpb25UcmFja2VyVGVzdERvbnRPY2NsdWRlUGl4
ZWxzTmVlZGVkRm9yQmFja2dyb3VuZEZpbHRlcjo6cnVuTXlUZXN0KToKKyAgICAgICAgKFdlYktp
dFRlc3RzOjpDQ09jY2x1c2lvblRyYWNrZXJUZXN0VHdvQmFja2dyb3VuZEZpbHRlcnNSZWR1Y2VP
Y2NsdXNpb25Ud2ljZTo6cnVuTXlUZXN0KToKKyAgICAgICAgKFdlYktpdFRlc3RzOjpDQ09jY2x1
c2lvblRyYWNrZXJUZXN0RG9udE9jY2x1ZGVQaXhlbHNOZWVkZWRGb3JCYWNrZ3JvdW5kRmlsdGVy
V2l0aENsaXA6OnJ1bk15VGVzdCk6CisgICAgICAgIChXZWJLaXRUZXN0czo6Q0NPY2NsdXNpb25U
cmFja2VyVGVzdERvbnRSZWR1Y2VPY2NsdXNpb25CZWxvd0JhY2tncm91bmRGaWx0ZXI6OnJ1bk15
VGVzdCk6CisgICAgICAgIChXZWJLaXRUZXN0czo6Q0NPY2NsdXNpb25UcmFja2VyVGVzdERvbnRS
ZWR1Y2VPY2NsdXNpb25JZkJhY2tncm91bmRGaWx0ZXJJc09jY2x1ZGVkOjpydW5NeVRlc3QpOgor
ICAgICAgICAoV2ViS2l0VGVzdHM6OkNDT2NjbHVzaW9uVHJhY2tlclRlc3RNaW5pbXVtVHJhY2tp
bmdTaXplOjpydW5NeVRlc3QpOgorCiAyMDEyLTA1LTI5ICBBbGVjIEZsZXR0ICA8YWxlY2ZsZXR0
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBJbmRleGVkREI6IEFsaWduIGNvZGVzIGFuZCBuYW1l
cyBmb3IgSURCLXNwZWNpZmljIGFuZCBET00tc3BlY2lmaWMgZXJyb3JzL2V4Y2VwdGlvbnMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NPY2NsdXNpb25UcmFja2Vy
VGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDT2NjbHVzaW9uVHJhY2tl
clRlc3QuY3BwCmluZGV4IDQ0YzYyZTNlM2M1Yzg4MjkxNDBkNDExMTUzZTBhZTQ5YTVmNzcwNDUu
LjRiOWZhNzRmZGUzNzZmZTQxNjhjMDdmYzQzNjNkODk1ODA2MjNiODIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NPY2NsdXNpb25UcmFja2VyVGVzdC5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ09jY2x1c2lvblRyYWNrZXJUZXN0LmNw
cApAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgImNjL0NDT2NjbHVzaW9uVHJhY2tlci5oIgog
CiAjaW5jbHVkZSAiQ0NBbmltYXRpb25UZXN0Q29tbW9uLmgiCisjaW5jbHVkZSAiQ0NMYXllclRy
ZWVUZXN0Q29tbW9uLmgiCiAjaW5jbHVkZSAiQ0NPY2NsdXNpb25UcmFja2VyVGVzdENvbW1vbi5o
IgogI2luY2x1ZGUgIkxheWVyQ2hyb21pdW0uaCIKICNpbmNsdWRlICJSZWdpb24uaCIKQEAgLTQ1
LDEyICs0Niw2IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogdXNpbmcgbmFtZXNwYWNlIFdl
YktpdDsKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXRUZXN0czsKIAotI2RlZmluZSBFWFBFQ1RfRVFf
UkVDVChhLCBiKSBcCi0gICAgRVhQRUNUX0VRKGEueCgpLCBiLngoKSk7IFwKLSAgICBFWFBFQ1Rf
RVEoYS55KCksIGIueSgpKTsgXAotICAgIEVYUEVDVF9FUShhLndpZHRoKCksIGIud2lkdGgoKSk7
IFwKLSAgICBFWFBFQ1RfRVEoYS5oZWlnaHQoKSwgYi5oZWlnaHQoKSk7Ci0KIG5hbWVzcGFjZSB7
CiAKIGNsYXNzIFRlc3RDb250ZW50TGF5ZXJDaHJvbWl1bSA6IHB1YmxpYyBMYXllckNocm9taXVt
IHsKQEAgLTQ0OSw5ICs0NDQsOSBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIHRoaXMtPnZpc2l0TGF5
ZXIobGF5ZXIsIG9jY2x1c2lvbik7CiAgICAgICAgIHRoaXMtPmVudGVyTGF5ZXIocGFyZW50LCBv
Y2NsdXNpb24pOwogCi0gICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJlY3QoMzAsIDMwLCA3MCwg
NzApLCBvY2NsdXNpb24ub2NjbHVzaW9uSW5TY3JlZW5TcGFjZSgpLmJvdW5kcygpKTsKKyAgICAg
ICAgRVhQRUNUX0lOVF9SRUNUX0VRKEludFJlY3QoMzAsIDMwLCA3MCwgNzApLCBvY2NsdXNpb24u
b2NjbHVzaW9uSW5TY3JlZW5TcGFjZSgpLmJvdW5kcygpKTsKICAgICAgICAgRVhQRUNUX0VRKDF1
LCBvY2NsdXNpb24ub2NjbHVzaW9uSW5TY3JlZW5TcGFjZSgpLnJlY3RzKCkuc2l6ZSgpKTsKLSAg
ICAgICAgRVhQRUNUX0VRX1JFQ1QoSW50UmVjdCgzMCwgMzAsIDcwLCA3MCksIG9jY2x1c2lvbi5v
Y2NsdXNpb25JblRhcmdldFN1cmZhY2UoKS5ib3VuZHMoKSk7CisgICAgICAgIEVYUEVDVF9JTlRf
UkVDVF9FUShJbnRSZWN0KDMwLCAzMCwgNzAsIDcwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluVGFy
Z2V0U3VyZmFjZSgpLmJvdW5kcygpKTsKICAgICAgICAgRVhQRUNUX0VRKDF1LCBvY2NsdXNpb24u
b2NjbHVzaW9uSW5UYXJnZXRTdXJmYWNlKCkucmVjdHMoKS5zaXplKCkpOwogCiAgICAgICAgIEVY
UEVDVF9UUlVFKG9jY2x1c2lvbi5vY2NsdWRlZChwYXJlbnQsIEludFJlY3QoMzAsIDMwLCA3MCwg
NzApKSk7CkBAIC00NjksMTQgKzQ2NCwxNCBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIG9jY2x1c2lv
bi5zZXRMYXllclNjaXNzb3JSZWN0KEludFJlY3QoMCwgMCwgMTAwMCwgMTAwMCkpOwogCiAgICAg
ICAgIEVYUEVDVF9UUlVFKG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3QocGFyZW50LCBJ
bnRSZWN0KDMwLCAzMCwgNzAsIDcwKSkuaXNFbXB0eSgpKTsKLSAgICAgICAgRVhQRUNUX0VRX1JF
Q1QoSW50UmVjdCgyOSwgMzAsIDEsIDcwKSwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVj
dChwYXJlbnQsIEludFJlY3QoMjksIDMwLCA3MCwgNzApKSk7Ci0gICAgICAgIEVYUEVDVF9FUV9S
RUNUKEludFJlY3QoMjksIDI5LCA3MCwgNzApLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRS
ZWN0KHBhcmVudCwgSW50UmVjdCgyOSwgMjksIDcwLCA3MCkpKTsKLSAgICAgICAgRVhQRUNUX0VR
X1JFQ1QoSW50UmVjdCgzMCwgMjksIDcwLCAxKSwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50
UmVjdChwYXJlbnQsIEludFJlY3QoMzAsIDI5LCA3MCwgNzApKSk7Ci0gICAgICAgIEVYUEVDVF9F
UV9SRUNUKEludFJlY3QoMzEsIDI5LCA3MCwgNzApLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRl
bnRSZWN0KHBhcmVudCwgSW50UmVjdCgzMSwgMjksIDcwLCA3MCkpKTsKLSAgICAgICAgRVhQRUNU
X0VRX1JFQ1QoSW50UmVjdCgxMDAsIDMwLCAxLCA3MCksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29u
dGVudFJlY3QocGFyZW50LCBJbnRSZWN0KDMxLCAzMCwgNzAsIDcwKSkpOwotICAgICAgICBFWFBF
Q1RfRVFfUkVDVChJbnRSZWN0KDMxLCAzMSwgNzAsIDcwKSwgb2NjbHVzaW9uLnVub2NjbHVkZWRD
b250ZW50UmVjdChwYXJlbnQsIEludFJlY3QoMzEsIDMxLCA3MCwgNzApKSk7Ci0gICAgICAgIEVY
UEVDVF9FUV9SRUNUKEludFJlY3QoMzAsIDEwMCwgNzAsIDEpLCBvY2NsdXNpb24udW5vY2NsdWRl
ZENvbnRlbnRSZWN0KHBhcmVudCwgSW50UmVjdCgzMCwgMzEsIDcwLCA3MCkpKTsKLSAgICAgICAg
RVhQRUNUX0VRX1JFQ1QoSW50UmVjdCgyOSwgMzEsIDcwLCA3MCksIG9jY2x1c2lvbi51bm9jY2x1
ZGVkQ29udGVudFJlY3QocGFyZW50LCBJbnRSZWN0KDI5LCAzMSwgNzAsIDcwKSkpOworICAgICAg
ICBFWFBFQ1RfSU5UX1JFQ1RfRVEoSW50UmVjdCgyOSwgMzAsIDEsIDcwKSwgb2NjbHVzaW9uLnVu
b2NjbHVkZWRDb250ZW50UmVjdChwYXJlbnQsIEludFJlY3QoMjksIDMwLCA3MCwgNzApKSk7Cisg
ICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJbnRSZWN0KDI5LCAyOSwgNzAsIDcwKSwgb2NjbHVz
aW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChwYXJlbnQsIEludFJlY3QoMjksIDI5LCA3MCwgNzAp
KSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJbnRSZWN0KDMwLCAyOSwgNzAsIDEpLCBv
Y2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KHBhcmVudCwgSW50UmVjdCgzMCwgMjksIDcw
LCA3MCkpKTsKKyAgICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKEludFJlY3QoMzEsIDI5LCA3MCwg
NzApLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KHBhcmVudCwgSW50UmVjdCgzMSwg
MjksIDcwLCA3MCkpKTsKKyAgICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKEludFJlY3QoMTAwLCAz
MCwgMSwgNzApLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KHBhcmVudCwgSW50UmVj
dCgzMSwgMzAsIDcwLCA3MCkpKTsKKyAgICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKEludFJlY3Qo
MzEsIDMxLCA3MCwgNzApLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KHBhcmVudCwg
SW50UmVjdCgzMSwgMzEsIDcwLCA3MCkpKTsKKyAgICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKElu
dFJlY3QoMzAsIDEwMCwgNzAsIDEpLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KHBh
cmVudCwgSW50UmVjdCgzMCwgMzEsIDcwLCA3MCkpKTsKKyAgICAgICAgRVhQRUNUX0lOVF9SRUNU
X0VRKEludFJlY3QoMjksIDMxLCA3MCwgNzApLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRS
ZWN0KHBhcmVudCwgSW50UmVjdCgyOSwgMzEsIDcwLCA3MCkpKTsKICAgICB9CiB9OwogCkBAIC01
MDIsOSArNDk3LDkgQEAgcHJvdGVjdGVkOgogICAgICAgICB0aGlzLT52aXNpdExheWVyKGxheWVy
LCBvY2NsdXNpb24pOwogICAgICAgICB0aGlzLT5lbnRlckxheWVyKHBhcmVudCwgb2NjbHVzaW9u
KTsKIAotICAgICAgICBFWFBFQ1RfRVFfUkVDVChJbnRSZWN0KDMwLCAzMCwgNzAsIDcwKSwgb2Nj
bHVzaW9uLm9jY2x1c2lvbkluU2NyZWVuU3BhY2UoKS5ib3VuZHMoKSk7CisgICAgICAgIEVYUEVD
VF9JTlRfUkVDVF9FUShJbnRSZWN0KDMwLCAzMCwgNzAsIDcwKSwgb2NjbHVzaW9uLm9jY2x1c2lv
bkluU2NyZWVuU3BhY2UoKS5ib3VuZHMoKSk7CiAgICAgICAgIEVYUEVDVF9FUSgxdSwgb2NjbHVz
aW9uLm9jY2x1c2lvbkluU2NyZWVuU3BhY2UoKS5yZWN0cygpLnNpemUoKSk7Ci0gICAgICAgIEVY
UEVDVF9FUV9SRUNUKEludFJlY3QoMzAsIDMwLCA3MCwgNzApLCBvY2NsdXNpb24ub2NjbHVzaW9u
SW5UYXJnZXRTdXJmYWNlKCkuYm91bmRzKCkpOworICAgICAgICBFWFBFQ1RfSU5UX1JFQ1RfRVEo
SW50UmVjdCgzMCwgMzAsIDcwLCA3MCksIG9jY2x1c2lvbi5vY2NsdXNpb25JblRhcmdldFN1cmZh
Y2UoKS5ib3VuZHMoKSk7CiAgICAgICAgIEVYUEVDVF9FUSgxdSwgb2NjbHVzaW9uLm9jY2x1c2lv
bkluVGFyZ2V0U3VyZmFjZSgpLnJlY3RzKCkuc2l6ZSgpKTsKIAogICAgICAgICBFWFBFQ1RfVFJV
RShvY2NsdXNpb24ub2NjbHVkZWQocGFyZW50LCBJbnRSZWN0KDMwLCAzMCwgNzAsIDcwKSkpOwpA
QCAtNTIyLDE0ICs1MTcsMTQgQEAgcHJvdGVjdGVkOgogICAgICAgICBvY2NsdXNpb24uc2V0TGF5
ZXJTY2lzc29yUmVjdChJbnRSZWN0KDAsIDAsIDEwMDAsIDEwMDApKTsKIAogICAgICAgICBFWFBF
Q1RfVFJVRShvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KHBhcmVudCwgSW50UmVjdCgz
MCwgMzAsIDcwLCA3MCkpLmlzRW1wdHkoKSk7Ci0gICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJl
Y3QoMjksIDMwLCAxLCA3MCksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3QocGFyZW50
LCBJbnRSZWN0KDI5LCAzMCwgNzAsIDcwKSkpOwotICAgICAgICBFWFBFQ1RfRVFfUkVDVChJbnRS
ZWN0KDI5LCAyOSwgNzAsIDcwKSwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChwYXJl
bnQsIEludFJlY3QoMjksIDI5LCA3MCwgNzApKSk7Ci0gICAgICAgIEVYUEVDVF9FUV9SRUNUKElu
dFJlY3QoMzAsIDI5LCA3MCwgMSksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3QocGFy
ZW50LCBJbnRSZWN0KDMwLCAyOSwgNzAsIDcwKSkpOwotICAgICAgICBFWFBFQ1RfRVFfUkVDVChJ
bnRSZWN0KDMxLCAyOSwgNzAsIDcwKSwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChw
YXJlbnQsIEludFJlY3QoMzEsIDI5LCA3MCwgNzApKSk7Ci0gICAgICAgIEVYUEVDVF9FUV9SRUNU
KEludFJlY3QoMTAwLCAzMCwgMSwgNzApLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0
KHBhcmVudCwgSW50UmVjdCgzMSwgMzAsIDcwLCA3MCkpKTsKLSAgICAgICAgRVhQRUNUX0VRX1JF
Q1QoSW50UmVjdCgzMSwgMzEsIDcwLCA3MCksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJl
Y3QocGFyZW50LCBJbnRSZWN0KDMxLCAzMSwgNzAsIDcwKSkpOwotICAgICAgICBFWFBFQ1RfRVFf
UkVDVChJbnRSZWN0KDMwLCAxMDAsIDcwLCAxKSwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50
UmVjdChwYXJlbnQsIEludFJlY3QoMzAsIDMxLCA3MCwgNzApKSk7Ci0gICAgICAgIEVYUEVDVF9F
UV9SRUNUKEludFJlY3QoMjksIDMxLCA3MCwgNzApLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRl
bnRSZWN0KHBhcmVudCwgSW50UmVjdCgyOSwgMzEsIDcwLCA3MCkpKTsKKyAgICAgICAgRVhQRUNU
X0lOVF9SRUNUX0VRKEludFJlY3QoMjksIDMwLCAxLCA3MCksIG9jY2x1c2lvbi51bm9jY2x1ZGVk
Q29udGVudFJlY3QocGFyZW50LCBJbnRSZWN0KDI5LCAzMCwgNzAsIDcwKSkpOworICAgICAgICBF
WFBFQ1RfSU5UX1JFQ1RfRVEoSW50UmVjdCgyOSwgMjksIDcwLCA3MCksIG9jY2x1c2lvbi51bm9j
Y2x1ZGVkQ29udGVudFJlY3QocGFyZW50LCBJbnRSZWN0KDI5LCAyOSwgNzAsIDcwKSkpOworICAg
ICAgICBFWFBFQ1RfSU5UX1JFQ1RfRVEoSW50UmVjdCgzMCwgMjksIDcwLCAxKSwgb2NjbHVzaW9u
LnVub2NjbHVkZWRDb250ZW50UmVjdChwYXJlbnQsIEludFJlY3QoMzAsIDI5LCA3MCwgNzApKSk7
CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJbnRSZWN0KDMxLCAyOSwgNzAsIDcwKSwgb2Nj
bHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChwYXJlbnQsIEludFJlY3QoMzEsIDI5LCA3MCwg
NzApKSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJbnRSZWN0KDEwMCwgMzAsIDEsIDcw
KSwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChwYXJlbnQsIEludFJlY3QoMzEsIDMw
LCA3MCwgNzApKSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJbnRSZWN0KDMxLCAzMSwg
NzAsIDcwKSwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChwYXJlbnQsIEludFJlY3Qo
MzEsIDMxLCA3MCwgNzApKSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJbnRSZWN0KDMw
LCAxMDAsIDcwLCAxKSwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChwYXJlbnQsIElu
dFJlY3QoMzAsIDMxLCA3MCwgNzApKSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJbnRS
ZWN0KDI5LCAzMSwgNzAsIDcwKSwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChwYXJl
bnQsIEludFJlY3QoMjksIDMxLCA3MCwgNzApKSk7CiAgICAgfQogfTsKIApAQCAtNTUzLDkgKzU0
OCw5IEBAIHByb3RlY3RlZDoKICAgICAgICAgdGhpcy0+dmlzaXRMYXllcihsYXllciwgb2NjbHVz
aW9uKTsKICAgICAgICAgdGhpcy0+ZW50ZXJMYXllcihwYXJlbnQsIG9jY2x1c2lvbik7CiAKLSAg
ICAgICAgRVhQRUNUX0VRX1JFQ1QoSW50UmVjdCg1MCwgNTAsIDUwLCA1MCksIG9jY2x1c2lvbi5v
Y2NsdXNpb25JblNjcmVlblNwYWNlKCkuYm91bmRzKCkpOworICAgICAgICBFWFBFQ1RfSU5UX1JF
Q1RfRVEoSW50UmVjdCg1MCwgNTAsIDUwLCA1MCksIG9jY2x1c2lvbi5vY2NsdXNpb25JblNjcmVl
blNwYWNlKCkuYm91bmRzKCkpOwogICAgICAgICBFWFBFQ1RfRVEoMXUsIG9jY2x1c2lvbi5vY2Ns
dXNpb25JblNjcmVlblNwYWNlKCkucmVjdHMoKS5zaXplKCkpOwotICAgICAgICBFWFBFQ1RfRVFf
UkVDVChJbnRSZWN0KDUwLCA1MCwgNTAsIDUwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluVGFyZ2V0
U3VyZmFjZSgpLmJvdW5kcygpKTsKKyAgICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKEludFJlY3Qo
NTAsIDUwLCA1MCwgNTApLCBvY2NsdXNpb24ub2NjbHVzaW9uSW5UYXJnZXRTdXJmYWNlKCkuYm91
bmRzKCkpOwogICAgICAgICBFWFBFQ1RfRVEoMXUsIG9jY2x1c2lvbi5vY2NsdXNpb25JblRhcmdl
dFN1cmZhY2UoKS5yZWN0cygpLnNpemUoKSk7CiAKICAgICAgICAgRVhQRUNUX1RSVUUob2NjbHVz
aW9uLm9jY2x1ZGVkKHBhcmVudCwgSW50UmVjdCg1MCwgNTAsIDUwLCA1MCkpKTsKQEAgLTU3Mywy
NSArNTY4LDI1IEBAIHByb3RlY3RlZDoKICAgICAgICAgb2NjbHVzaW9uLnNldExheWVyU2Npc3Nv
clJlY3QoSW50UmVjdCgwLCAwLCAxMDAwLCAxMDAwKSk7CiAKICAgICAgICAgRVhQRUNUX1RSVUUo
b2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChwYXJlbnQsIEludFJlY3QoNTAsIDUwLCA1
MCwgNTApKS5pc0VtcHR5KCkpOwotICAgICAgICBFWFBFQ1RfRVFfUkVDVChJbnRSZWN0KDQ5LCA1
MCwgMSwgNTApLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KHBhcmVudCwgSW50UmVj
dCg0OSwgNTAsIDUwLCA1MCkpKTsKLSAgICAgICAgRVhQRUNUX0VRX1JFQ1QoSW50UmVjdCg0OSwg
NDksIDUwLCA1MCksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3QocGFyZW50LCBJbnRS
ZWN0KDQ5LCA0OSwgNTAsIDUwKSkpOwotICAgICAgICBFWFBFQ1RfRVFfUkVDVChJbnRSZWN0KDUw
LCA0OSwgNTAsIDEpLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KHBhcmVudCwgSW50
UmVjdCg1MCwgNDksIDUwLCA1MCkpKTsKLSAgICAgICAgRVhQRUNUX0VRX1JFQ1QoSW50UmVjdCg1
MSwgNDksIDUwLCA1MCksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3QocGFyZW50LCBJ
bnRSZWN0KDUxLCA0OSwgNTAsIDUwKSkpOwotICAgICAgICBFWFBFQ1RfRVFfUkVDVChJbnRSZWN0
KDEwMCwgNTAsIDEsIDUwKSwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChwYXJlbnQs
IEludFJlY3QoNTEsIDUwLCA1MCwgNTApKSk7Ci0gICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJl
Y3QoNTEsIDUxLCA1MCwgNTApLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KHBhcmVu
dCwgSW50UmVjdCg1MSwgNTEsIDUwLCA1MCkpKTsKLSAgICAgICAgRVhQRUNUX0VRX1JFQ1QoSW50
UmVjdCg1MCwgMTAwLCA1MCwgMSksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3QocGFy
ZW50LCBJbnRSZWN0KDUwLCA1MSwgNTAsIDUwKSkpOwotICAgICAgICBFWFBFQ1RfRVFfUkVDVChJ
bnRSZWN0KDQ5LCA1MSwgNTAsIDUwKSwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChw
YXJlbnQsIEludFJlY3QoNDksIDUxLCA1MCwgNTApKSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVD
VF9FUShJbnRSZWN0KDQ5LCA1MCwgMSwgNTApLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRS
ZWN0KHBhcmVudCwgSW50UmVjdCg0OSwgNTAsIDUwLCA1MCkpKTsKKyAgICAgICAgRVhQRUNUX0lO
VF9SRUNUX0VRKEludFJlY3QoNDksIDQ5LCA1MCwgNTApLCBvY2NsdXNpb24udW5vY2NsdWRlZENv
bnRlbnRSZWN0KHBhcmVudCwgSW50UmVjdCg0OSwgNDksIDUwLCA1MCkpKTsKKyAgICAgICAgRVhQ
RUNUX0lOVF9SRUNUX0VRKEludFJlY3QoNTAsIDQ5LCA1MCwgMSksIG9jY2x1c2lvbi51bm9jY2x1
ZGVkQ29udGVudFJlY3QocGFyZW50LCBJbnRSZWN0KDUwLCA0OSwgNTAsIDUwKSkpOworICAgICAg
ICBFWFBFQ1RfSU5UX1JFQ1RfRVEoSW50UmVjdCg1MSwgNDksIDUwLCA1MCksIG9jY2x1c2lvbi51
bm9jY2x1ZGVkQ29udGVudFJlY3QocGFyZW50LCBJbnRSZWN0KDUxLCA0OSwgNTAsIDUwKSkpOwor
ICAgICAgICBFWFBFQ1RfSU5UX1JFQ1RfRVEoSW50UmVjdCgxMDAsIDUwLCAxLCA1MCksIG9jY2x1
c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3QocGFyZW50LCBJbnRSZWN0KDUxLCA1MCwgNTAsIDUw
KSkpOworICAgICAgICBFWFBFQ1RfSU5UX1JFQ1RfRVEoSW50UmVjdCg1MSwgNTEsIDUwLCA1MCks
IG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3QocGFyZW50LCBJbnRSZWN0KDUxLCA1MSwg
NTAsIDUwKSkpOworICAgICAgICBFWFBFQ1RfSU5UX1JFQ1RfRVEoSW50UmVjdCg1MCwgMTAwLCA1
MCwgMSksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3QocGFyZW50LCBJbnRSZWN0KDUw
LCA1MSwgNTAsIDUwKSkpOworICAgICAgICBFWFBFQ1RfSU5UX1JFQ1RfRVEoSW50UmVjdCg0OSwg
NTEsIDUwLCA1MCksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3QocGFyZW50LCBJbnRS
ZWN0KDQ5LCA1MSwgNTAsIDUwKSkpOwogCiAgICAgICAgIG9jY2x1c2lvbi51c2VEZWZhdWx0TGF5
ZXJTY2lzc29yUmVjdCgpOwogICAgICAgICBFWFBFQ1RfVFJVRShvY2NsdXNpb24udW5vY2NsdWRl
ZENvbnRlbnRSZWN0KHBhcmVudCwgSW50UmVjdCg1MCwgNTAsIDUwLCA1MCkpLmlzRW1wdHkoKSk7
Ci0gICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJlY3QoNDksIDUwLCAxLCA1MCksIG9jY2x1c2lv
bi51bm9jY2x1ZGVkQ29udGVudFJlY3QocGFyZW50LCBJbnRSZWN0KDQ5LCA1MCwgNTAsIDUwKSkp
OwotICAgICAgICBFWFBFQ1RfRVFfUkVDVChJbnRSZWN0KDQ5LCA0OSwgNTAsIDUwKSwgb2NjbHVz
aW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChwYXJlbnQsIEludFJlY3QoNDksIDQ5LCA1MCwgNTAp
KSk7Ci0gICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJlY3QoNTAsIDQ5LCA1MCwgMSksIG9jY2x1
c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3QocGFyZW50LCBJbnRSZWN0KDUwLCA0OSwgNTAsIDUw
KSkpOwotICAgICAgICBFWFBFQ1RfRVFfUkVDVChJbnRSZWN0KDUxLCA0OSwgNDksIDEpLCBvY2Ns
dXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KHBhcmVudCwgSW50UmVjdCg1MSwgNDksIDUwLCA1
MCkpKTsKKyAgICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKEludFJlY3QoNDksIDUwLCAxLCA1MCks
IG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3QocGFyZW50LCBJbnRSZWN0KDQ5LCA1MCwg
NTAsIDUwKSkpOworICAgICAgICBFWFBFQ1RfSU5UX1JFQ1RfRVEoSW50UmVjdCg0OSwgNDksIDUw
LCA1MCksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3QocGFyZW50LCBJbnRSZWN0KDQ5
LCA0OSwgNTAsIDUwKSkpOworICAgICAgICBFWFBFQ1RfSU5UX1JFQ1RfRVEoSW50UmVjdCg1MCwg
NDksIDUwLCAxKSwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChwYXJlbnQsIEludFJl
Y3QoNTAsIDQ5LCA1MCwgNTApKSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJbnRSZWN0
KDUxLCA0OSwgNDksIDEpLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KHBhcmVudCwg
SW50UmVjdCg1MSwgNDksIDUwLCA1MCkpKTsKICAgICAgICAgRVhQRUNUX1RSVUUob2NjbHVzaW9u
LnVub2NjbHVkZWRDb250ZW50UmVjdChwYXJlbnQsIEludFJlY3QoNTEsIDUwLCA1MCwgNTApKS5p
c0VtcHR5KCkpOwogICAgICAgICBFWFBFQ1RfVFJVRShvY2NsdXNpb24udW5vY2NsdWRlZENvbnRl
bnRSZWN0KHBhcmVudCwgSW50UmVjdCg1MSwgNTEsIDUwLCA1MCkpLmlzRW1wdHkoKSk7CiAgICAg
ICAgIEVYUEVDVF9UUlVFKG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3QocGFyZW50LCBJ
bnRSZWN0KDUwLCA1MSwgNTAsIDUwKSkuaXNFbXB0eSgpKTsKLSAgICAgICAgRVhQRUNUX0VRX1JF
Q1QoSW50UmVjdCg0OSwgNTEsIDEsIDQ5KSwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVj
dChwYXJlbnQsIEludFJlY3QoNDksIDUxLCA1MCwgNTApKSk7CisgICAgICAgIEVYUEVDVF9JTlRf
UkVDVF9FUShJbnRSZWN0KDQ5LCA1MSwgMSwgNDkpLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRl
bnRSZWN0KHBhcmVudCwgSW50UmVjdCg0OSwgNTEsIDUwLCA1MCkpKTsKICAgICAgICAgb2NjbHVz
aW9uLnNldExheWVyU2Npc3NvclJlY3QoSW50UmVjdCgwLCAwLCAxMDAwLCAxMDAwKSk7CiAgICAg
fQogfTsKQEAgLTYyMCw5ICs2MTUsOSBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIHRoaXMtPnZpc2l0
TGF5ZXIobGF5ZXIsIG9jY2x1c2lvbik7CiAgICAgICAgIHRoaXMtPmVudGVyQ29udHJpYnV0aW5n
U3VyZmFjZShjaGlsZCwgb2NjbHVzaW9uKTsKIAotICAgICAgICBFWFBFQ1RfRVFfUkVDVChJbnRS
ZWN0KDMwLCA0MCwgNzAsIDYwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluU2NyZWVuU3BhY2UoKS5i
b3VuZHMoKSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJbnRSZWN0KDMwLCA0MCwgNzAs
IDYwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluU2NyZWVuU3BhY2UoKS5ib3VuZHMoKSk7CiAgICAg
ICAgIEVYUEVDVF9FUSgxdSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluU2NyZWVuU3BhY2UoKS5yZWN0
cygpLnNpemUoKSk7Ci0gICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJlY3QoMTAsIDQzMCwgNjAs
IDcwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluVGFyZ2V0U3VyZmFjZSgpLmJvdW5kcygpKTsKKyAg
ICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKEludFJlY3QoMTAsIDQzMCwgNjAsIDcwKSwgb2NjbHVz
aW9uLm9jY2x1c2lvbkluVGFyZ2V0U3VyZmFjZSgpLmJvdW5kcygpKTsKICAgICAgICAgRVhQRUNU
X0VRKDF1LCBvY2NsdXNpb24ub2NjbHVzaW9uSW5UYXJnZXRTdXJmYWNlKCkucmVjdHMoKS5zaXpl
KCkpOwogCiAgICAgICAgIEVYUEVDVF9UUlVFKG9jY2x1c2lvbi5vY2NsdWRlZChjaGlsZCwgSW50
UmVjdCgxMCwgNDMwLCA2MCwgNzApKSk7CkBAIC02NDIsOSArNjM3LDkgQEAgcHJvdGVjdGVkOgog
ICAgICAgICB0aGlzLT5sZWF2ZUNvbnRyaWJ1dGluZ1N1cmZhY2UoY2hpbGQsIG9jY2x1c2lvbik7
CiAgICAgICAgIHRoaXMtPmVudGVyTGF5ZXIocGFyZW50LCBvY2NsdXNpb24pOwogCi0gICAgICAg
IEVYUEVDVF9FUV9SRUNUKEludFJlY3QoMzAsIDQwLCA3MCwgNjApLCBvY2NsdXNpb24ub2NjbHVz
aW9uSW5TY3JlZW5TcGFjZSgpLmJvdW5kcygpKTsKKyAgICAgICAgRVhQRUNUX0lOVF9SRUNUX0VR
KEludFJlY3QoMzAsIDQwLCA3MCwgNjApLCBvY2NsdXNpb24ub2NjbHVzaW9uSW5TY3JlZW5TcGFj
ZSgpLmJvdW5kcygpKTsKICAgICAgICAgRVhQRUNUX0VRKDF1LCBvY2NsdXNpb24ub2NjbHVzaW9u
SW5TY3JlZW5TcGFjZSgpLnJlY3RzKCkuc2l6ZSgpKTsKLSAgICAgICAgRVhQRUNUX0VRX1JFQ1Qo
SW50UmVjdCgzMCwgNDAsIDcwLCA2MCksIG9jY2x1c2lvbi5vY2NsdXNpb25JblRhcmdldFN1cmZh
Y2UoKS5ib3VuZHMoKSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJbnRSZWN0KDMwLCA0
MCwgNzAsIDYwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluVGFyZ2V0U3VyZmFjZSgpLmJvdW5kcygp
KTsKICAgICAgICAgRVhQRUNUX0VRKDF1LCBvY2NsdXNpb24ub2NjbHVzaW9uSW5UYXJnZXRTdXJm
YWNlKCkucmVjdHMoKS5zaXplKCkpOwogCiAgICAgICAgIEVYUEVDVF9UUlVFKG9jY2x1c2lvbi5v
Y2NsdWRlZChwYXJlbnQsIEludFJlY3QoMzAsIDQwLCA3MCwgNjApKSk7CkBAIC03MTUsMTYgKzcx
MCwxNiBAQCBwcm90ZWN0ZWQ6CiAKICAgICAgICAgdGhpcy0+dmlzaXRMYXllcihjaGlsZDIsIG9j
Y2x1c2lvbik7CiAKLSAgICAgICAgRVhQRUNUX0VRX1JFQ1QoSW50UmVjdCgzMCwgMzAsIDYwLCAy
MCksIG9jY2x1c2lvbi5vY2NsdXNpb25JblNjcmVlblNwYWNlKCkuYm91bmRzKCkpOworICAgICAg
ICBFWFBFQ1RfSU5UX1JFQ1RfRVEoSW50UmVjdCgzMCwgMzAsIDYwLCAyMCksIG9jY2x1c2lvbi5v
Y2NsdXNpb25JblNjcmVlblNwYWNlKCkuYm91bmRzKCkpOwogICAgICAgICBFWFBFQ1RfRVEoMXUs
IG9jY2x1c2lvbi5vY2NsdXNpb25JblNjcmVlblNwYWNlKCkucmVjdHMoKS5zaXplKCkpOwotICAg
ICAgICBFWFBFQ1RfRVFfUkVDVChJbnRSZWN0KDMwLCAzMCwgNjAsIDIwKSwgb2NjbHVzaW9uLm9j
Y2x1c2lvbkluVGFyZ2V0U3VyZmFjZSgpLmJvdW5kcygpKTsKKyAgICAgICAgRVhQRUNUX0lOVF9S
RUNUX0VRKEludFJlY3QoMzAsIDMwLCA2MCwgMjApLCBvY2NsdXNpb24ub2NjbHVzaW9uSW5UYXJn
ZXRTdXJmYWNlKCkuYm91bmRzKCkpOwogICAgICAgICBFWFBFQ1RfRVEoMXUsIG9jY2x1c2lvbi5v
Y2NsdXNpb25JblRhcmdldFN1cmZhY2UoKS5yZWN0cygpLnNpemUoKSk7CiAKICAgICAgICAgdGhp
cy0+dmlzaXRMYXllcihsYXllciwgb2NjbHVzaW9uKTsKIAotICAgICAgICBFWFBFQ1RfRVFfUkVD
VChJbnRSZWN0KDMwLCAzMCwgNzAsIDcwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluU2NyZWVuU3Bh
Y2UoKS5ib3VuZHMoKSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJbnRSZWN0KDMwLCAz
MCwgNzAsIDcwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluU2NyZWVuU3BhY2UoKS5ib3VuZHMoKSk7
CiAgICAgICAgIEVYUEVDVF9FUSgydSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluU2NyZWVuU3BhY2Uo
KS5yZWN0cygpLnNpemUoKSk7Ci0gICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJlY3QoMTAsIDQz
MCwgNjAsIDcwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluVGFyZ2V0U3VyZmFjZSgpLmJvdW5kcygp
KTsKKyAgICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKEludFJlY3QoMTAsIDQzMCwgNjAsIDcwKSwg
b2NjbHVzaW9uLm9jY2x1c2lvbkluVGFyZ2V0U3VyZmFjZSgpLmJvdW5kcygpKTsKICAgICAgICAg
RVhQRUNUX0VRKDF1LCBvY2NsdXNpb24ub2NjbHVzaW9uSW5UYXJnZXRTdXJmYWNlKCkucmVjdHMo
KS5zaXplKCkpOwogCiAgICAgICAgIHRoaXMtPmVudGVyQ29udHJpYnV0aW5nU3VyZmFjZShjaGls
ZCwgb2NjbHVzaW9uKTsKQEAgLTc0NSwxOCArNzQwLDE4IEBAIHByb3RlY3RlZDoKIAogICAgICAg
ICBFWFBFQ1RfVFJVRShvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KGNoaWxkLCBJbnRS
ZWN0KDEwLCA0MzAsIDYwLCA3MCkpLmlzRW1wdHkoKSk7CiAgICAgICAgIC8vIFRoaXMgaXMgdGhl
IGxpdHRsZSBwaWVjZSBub3Qgb2NjbHVkZWQgYnkgY2hpbGQyCi0gICAgICAgIEVYUEVDVF9FUV9S
RUNUKEludFJlY3QoOSwgNDMwLCAxLCAxMCksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJl
Y3QoY2hpbGQsIEludFJlY3QoOSwgNDMwLCA2MCwgNzApKSk7CisgICAgICAgIEVYUEVDVF9JTlRf
UkVDVF9FUShJbnRSZWN0KDksIDQzMCwgMSwgMTApLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRl
bnRSZWN0KGNoaWxkLCBJbnRSZWN0KDksIDQzMCwgNjAsIDcwKSkpOwogICAgICAgICAvLyBUaGlz
IGV4dGVuZHMgcGFzdCBib3RoIHNpZGVzIG9mIGNoaWxkMiwgc28gaXQgd2lsbCBiZSB0aGUgb3Jp
Z2luYWwgcmVjdC4KLSAgICAgICAgRVhQRUNUX0VRX1JFQ1QoSW50UmVjdCg5LCA0MzAsIDYwLCA4
MCksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3QoY2hpbGQsIEludFJlY3QoOSwgNDMw
LCA2MCwgODApKSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJbnRSZWN0KDksIDQzMCwg
NjAsIDgwKSwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChjaGlsZCwgSW50UmVjdCg5
LCA0MzAsIDYwLCA4MCkpKTsKICAgICAgICAgLy8gVGhpcyBleHRlbmRzIHBhc3QgdHdvIGFkamFj
ZW50IHNpZGVzIG9mIGNoaWxkMiwgYW5kIHNob3VsZCBpbmNsdWRlZCB0aGUgdW5vY2NsdWRlZCBw
YXJ0cyBvZiBlYWNoIHNpZGUuCiAgICAgICAgIC8vIFRoaXMgYWxzbyBkZW1vbnN0cmF0ZXMgdGhh
dCB0aGUgcmVjdCBjYW4gYmUgYXJiaXRyYXJ5IGFuZCBkb2VzIG5vdCBnZXQgY2xpcHBlZCB0byB0
aGUgbGF5ZXIncyB2aXNpYmxlTGF5ZXJSZWN0KCkuCi0gICAgICAgIEVYUEVDVF9FUV9SRUNUKElu
dFJlY3QoLTEwLCA0MzAsIDIwLCA3MCksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3Qo
Y2hpbGQsIEludFJlY3QoLTEwLCA0MzAsIDYwLCA3MCkpKTsKKyAgICAgICAgRVhQRUNUX0lOVF9S
RUNUX0VRKEludFJlY3QoLTEwLCA0MzAsIDIwLCA3MCksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29u
dGVudFJlY3QoY2hpbGQsIEludFJlY3QoLTEwLCA0MzAsIDYwLCA3MCkpKTsKICAgICAgICAgLy8g
VGhpcyBleHRlbmRzIHBhc3QgdGhyZWUgYWRqYWNlbnQgc2lkZXMgb2YgY2hpbGQyLCBzbyBpdCBz
aG91bGQgY29udGFpbiB0aGUgdW5vY2NsdWRlZCBwYXJ0cyBvZiBlYWNoIHNpZGUuIFRoZSBsZWZ0
CiAgICAgICAgIC8vIGFuZCBib3R0b20gZWRnZXMgYXJlIGNvbXBsZXRlbHkgdW5vY2NsdWRlZCBm
b3Igc29tZSByb3cvY29sdW1uIHNvIHdlIGdldCBiYWNrIHRoZSBvcmlnaW5hbCBxdWVyeSByZWN0
LgotICAgICAgICBFWFBFQ1RfRVFfUkVDVChJbnRSZWN0KC0xMCwgNDMwLCA2MCwgODApLCBvY2Ns
dXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KGNoaWxkLCBJbnRSZWN0KC0xMCwgNDMwLCA2MCwg
ODApKSk7Ci0gICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJlY3QoMTAsIDQyOSwgNjAsIDEpLCBv
Y2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KGNoaWxkLCBJbnRSZWN0KDEwLCA0MjksIDYw
LCA3MCkpKTsKLSAgICAgICAgRVhQRUNUX0VRX1JFQ1QoSW50UmVjdCg3MCwgNDMwLCAxLCA3MCks
IG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3QoY2hpbGQsIEludFJlY3QoMTEsIDQzMCwg
NjAsIDcwKSkpOwotICAgICAgICBFWFBFQ1RfRVFfUkVDVChJbnRSZWN0KDEwLCA1MDAsIDYwLCAx
KSwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChjaGlsZCwgSW50UmVjdCgxMCwgNDMx
LCA2MCwgNzApKSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJbnRSZWN0KC0xMCwgNDMw
LCA2MCwgODApLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KGNoaWxkLCBJbnRSZWN0
KC0xMCwgNDMwLCA2MCwgODApKSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJbnRSZWN0
KDEwLCA0MjksIDYwLCAxKSwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChjaGlsZCwg
SW50UmVjdCgxMCwgNDI5LCA2MCwgNzApKSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJ
bnRSZWN0KDcwLCA0MzAsIDEsIDcwKSwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChj
aGlsZCwgSW50UmVjdCgxMSwgNDMwLCA2MCwgNzApKSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVD
VF9FUShJbnRSZWN0KDEwLCA1MDAsIDYwLCAxKSwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50
UmVjdChjaGlsZCwgSW50UmVjdCgxMCwgNDMxLCA2MCwgNzApKSk7CiAKICAgICAgICAgb2NjbHVz
aW9uLnVzZURlZmF1bHRMYXllclNjaXNzb3JSZWN0KCk7CiAgICAgICAgIEVYUEVDVF9UUlVFKG9j
Y2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3QoY2hpbGQsIEludFJlY3QoMTAsIDQzMCwgNjAs
IDcwKSkuaXNFbXB0eSgpKTsKQEAgLTc3MywxMyArNzY4LDEzIEBAIHByb3RlY3RlZDoKICAgICAg
ICAgdGhpcy0+bGVhdmVDb250cmlidXRpbmdTdXJmYWNlKGNoaWxkLCBvY2NsdXNpb24pOwogICAg
ICAgICB0aGlzLT5lbnRlckxheWVyKHBhcmVudCwgb2NjbHVzaW9uKTsKIAotICAgICAgICBFWFBF
Q1RfRVFfUkVDVChJbnRSZWN0KDMwLCAzMCwgNzAsIDcwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbklu
U2NyZWVuU3BhY2UoKS5ib3VuZHMoKSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJbnRS
ZWN0KDMwLCAzMCwgNzAsIDcwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluU2NyZWVuU3BhY2UoKS5i
b3VuZHMoKSk7CiAgICAgICAgIEVYUEVDVF9FUSgydSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluU2Ny
ZWVuU3BhY2UoKS5yZWN0cygpLnNpemUoKSk7Ci0gICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJl
Y3QoMzAsIDMwLCA3MCwgNzApLCBvY2NsdXNpb24ub2NjbHVzaW9uSW5UYXJnZXRTdXJmYWNlKCku
Ym91bmRzKCkpOworICAgICAgICBFWFBFQ1RfSU5UX1JFQ1RfRVEoSW50UmVjdCgzMCwgMzAsIDcw
LCA3MCksIG9jY2x1c2lvbi5vY2NsdXNpb25JblRhcmdldFN1cmZhY2UoKS5ib3VuZHMoKSk7CiAg
ICAgICAgIEVYUEVDVF9FUSgydSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluVGFyZ2V0U3VyZmFjZSgp
LnJlY3RzKCkuc2l6ZSgpKTsKIAogICAgICAgICBFWFBFQ1RfRkFMU0Uob2NjbHVzaW9uLm9jY2x1
ZGVkKHBhcmVudCwgSW50UmVjdCgzMCwgMzAsIDcwLCA3MCkpKTsKLSAgICAgICAgRVhQRUNUX0VR
X1JFQ1QoSW50UmVjdCg5MCwgMzAsIDEwLCAxMCksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVu
dFJlY3QocGFyZW50LCBJbnRSZWN0KDMwLCAzMCwgNzAsIDcwKSkpOworICAgICAgICBFWFBFQ1Rf
SU5UX1JFQ1RfRVEoSW50UmVjdCg5MCwgMzAsIDEwLCAxMCksIG9jY2x1c2lvbi51bm9jY2x1ZGVk
Q29udGVudFJlY3QocGFyZW50LCBJbnRSZWN0KDMwLCAzMCwgNzAsIDcwKSkpOwogCiAgICAgICAg
IEVYUEVDVF9UUlVFKG9jY2x1c2lvbi5vY2NsdWRlZChwYXJlbnQsIEludFJlY3QoMzAsIDMwLCA2
MCwgMTApKSk7CiAgICAgICAgIEVYUEVDVF9GQUxTRShvY2NsdXNpb24ub2NjbHVkZWQocGFyZW50
LCBJbnRSZWN0KDI5LCAzMCwgNjAsIDEwKSkpOwpAQCAtNzkyLDIxICs3ODcsMjEgQEAgcHJvdGVj
dGVkOgogICAgICAgICBFWFBFQ1RfRkFMU0Uob2NjbHVzaW9uLm9jY2x1ZGVkKHBhcmVudCwgSW50
UmVjdCgzMCwgMzksIDcwLCA2MCkpKTsKIAogICAgICAgICBFWFBFQ1RfVFJVRShvY2NsdXNpb24u
dW5vY2NsdWRlZENvbnRlbnRSZWN0KHBhcmVudCwgSW50UmVjdCgzMCwgMzAsIDYwLCAxMCkpLmlz
RW1wdHkoKSk7Ci0gICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJlY3QoMjksIDMwLCAxLCAxMCks
IG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3QocGFyZW50LCBJbnRSZWN0KDI5LCAzMCwg
NjAsIDEwKSkpOwotICAgICAgICBFWFBFQ1RfRVFfUkVDVChJbnRSZWN0KDMwLCAyOSwgNjAsIDEp
LCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KHBhcmVudCwgSW50UmVjdCgzMCwgMjks
IDYwLCAxMCkpKTsKLSAgICAgICAgRVhQRUNUX0VRX1JFQ1QoSW50UmVjdCg5MCwgMzAsIDEsIDEw
KSwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChwYXJlbnQsIEludFJlY3QoMzEsIDMw
LCA2MCwgMTApKSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJbnRSZWN0KDI5LCAzMCwg
MSwgMTApLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KHBhcmVudCwgSW50UmVjdCgy
OSwgMzAsIDYwLCAxMCkpKTsKKyAgICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKEludFJlY3QoMzAs
IDI5LCA2MCwgMSksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3QocGFyZW50LCBJbnRS
ZWN0KDMwLCAyOSwgNjAsIDEwKSkpOworICAgICAgICBFWFBFQ1RfSU5UX1JFQ1RfRVEoSW50UmVj
dCg5MCwgMzAsIDEsIDEwKSwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChwYXJlbnQs
IEludFJlY3QoMzEsIDMwLCA2MCwgMTApKSk7CiAgICAgICAgIEVYUEVDVF9UUlVFKG9jY2x1c2lv
bi51bm9jY2x1ZGVkQ29udGVudFJlY3QocGFyZW50LCBJbnRSZWN0KDMwLCAzMSwgNjAsIDEwKSku
aXNFbXB0eSgpKTsKIAogICAgICAgICBFWFBFQ1RfVFJVRShvY2NsdXNpb24udW5vY2NsdWRlZENv
bnRlbnRSZWN0KHBhcmVudCwgSW50UmVjdCgzMCwgNDAsIDcwLCA2MCkpLmlzRW1wdHkoKSk7Ci0g
ICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJlY3QoMjksIDQwLCAxLCA2MCksIG9jY2x1c2lvbi51
bm9jY2x1ZGVkQ29udGVudFJlY3QocGFyZW50LCBJbnRSZWN0KDI5LCA0MCwgNzAsIDYwKSkpOwor
ICAgICAgICBFWFBFQ1RfSU5UX1JFQ1RfRVEoSW50UmVjdCgyOSwgNDAsIDEsIDYwKSwgb2NjbHVz
aW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChwYXJlbnQsIEludFJlY3QoMjksIDQwLCA3MCwgNjAp
KSk7CiAgICAgICAgIC8vIFRoaXMgcmVjdCBpcyBtb3N0bHkgb2NjbHVkZWQgYnkgfGNoaWxkMnwu
Ci0gICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJlY3QoOTAsIDM5LCAxMCwgMSksIG9jY2x1c2lv
bi51bm9jY2x1ZGVkQ29udGVudFJlY3QocGFyZW50LCBJbnRSZWN0KDMwLCAzOSwgNzAsIDYwKSkp
OworICAgICAgICBFWFBFQ1RfSU5UX1JFQ1RfRVEoSW50UmVjdCg5MCwgMzksIDEwLCAxKSwgb2Nj
bHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChwYXJlbnQsIEludFJlY3QoMzAsIDM5LCA3MCwg
NjApKSk7CiAgICAgICAgIC8vIFRoaXMgcmVjdCBleHRlbmRzIHBhc3QgdG9wL3JpZ2h0IGVuZHMg
b2YgfGNoaWxkMnwuCi0gICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJlY3QoMzAsIDI5LCA3MCwg
MTEpLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KHBhcmVudCwgSW50UmVjdCgzMCwg
MjksIDcwLCA3MCkpKTsKKyAgICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKEludFJlY3QoMzAsIDI5
LCA3MCwgMTEpLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KHBhcmVudCwgSW50UmVj
dCgzMCwgMjksIDcwLCA3MCkpKTsKICAgICAgICAgLy8gVGhpcyByZWN0IGV4dGVuZHMgcGFzdCBs
ZWZ0L3JpZ2h0IGVuZHMgb2YgfGNoaWxkMnwuCi0gICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJl
Y3QoMjAsIDM5LCA4MCwgNjApLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KHBhcmVu
dCwgSW50UmVjdCgyMCwgMzksIDgwLCA2MCkpKTsKLSAgICAgICAgRVhQRUNUX0VRX1JFQ1QoSW50
UmVjdCgxMDAsIDQwLCAxLCA2MCksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3QocGFy
ZW50LCBJbnRSZWN0KDMxLCA0MCwgNzAsIDYwKSkpOwotICAgICAgICBFWFBFQ1RfRVFfUkVDVChJ
bnRSZWN0KDMwLCAxMDAsIDcwLCAxKSwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChw
YXJlbnQsIEludFJlY3QoMzAsIDQxLCA3MCwgNjApKSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVD
VF9FUShJbnRSZWN0KDIwLCAzOSwgODAsIDYwKSwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50
UmVjdChwYXJlbnQsIEludFJlY3QoMjAsIDM5LCA4MCwgNjApKSk7CisgICAgICAgIEVYUEVDVF9J
TlRfUkVDVF9FUShJbnRSZWN0KDEwMCwgNDAsIDEsIDYwKSwgb2NjbHVzaW9uLnVub2NjbHVkZWRD
b250ZW50UmVjdChwYXJlbnQsIEludFJlY3QoMzEsIDQwLCA3MCwgNjApKSk7CisgICAgICAgIEVY
UEVDVF9JTlRfUkVDVF9FUShJbnRSZWN0KDMwLCAxMDAsIDcwLCAxKSwgb2NjbHVzaW9uLnVub2Nj
bHVkZWRDb250ZW50UmVjdChwYXJlbnQsIEludFJlY3QoMzAsIDQxLCA3MCwgNjApKSk7CiAKICAg
ICAgICAgLyogSnVzdGlmaWNhdGlvbiBmb3IgdGhlIGFib3ZlIG9jY2x1c2lvbiBmcm9tIHxsYXll
cnw6CiAgICAgICAgICAgICAgICAgICAgMTAwCkBAIC04NjQsOSArODU5LDkgQEAgcHJvdGVjdGVk
OgogICAgICAgICB0aGlzLT52aXNpdExheWVyKGxheWVyLCBvY2NsdXNpb24pOwogICAgICAgICB0
aGlzLT5lbnRlckNvbnRyaWJ1dGluZ1N1cmZhY2UoY2hpbGQsIG9jY2x1c2lvbik7CiAKLSAgICAg
ICAgRVhQRUNUX0VRX1JFQ1QoSW50UmVjdCgpLCBvY2NsdXNpb24ub2NjbHVzaW9uSW5TY3JlZW5T
cGFjZSgpLmJvdW5kcygpKTsKKyAgICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKEludFJlY3QoKSwg
b2NjbHVzaW9uLm9jY2x1c2lvbkluU2NyZWVuU3BhY2UoKS5ib3VuZHMoKSk7CiAgICAgICAgIEVY
UEVDVF9FUSgwdSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluU2NyZWVuU3BhY2UoKS5yZWN0cygpLnNp
emUoKSk7Ci0gICAgICAgIEVYUEVDVF9FUV9SRUNUKGNsaXBwZWRMYXllckluQ2hpbGQsIG9jY2x1
c2lvbi5vY2NsdXNpb25JblRhcmdldFN1cmZhY2UoKS5ib3VuZHMoKSk7CisgICAgICAgIEVYUEVD
VF9JTlRfUkVDVF9FUShjbGlwcGVkTGF5ZXJJbkNoaWxkLCBvY2NsdXNpb24ub2NjbHVzaW9uSW5U
YXJnZXRTdXJmYWNlKCkuYm91bmRzKCkpOwogICAgICAgICBFWFBFQ1RfRVEoMXUsIG9jY2x1c2lv
bi5vY2NsdXNpb25JblRhcmdldFN1cmZhY2UoKS5yZWN0cygpLnNpemUoKSk7CiAKICAgICAgICAg
RVhQRUNUX1RSVUUob2NjbHVzaW9uLm9jY2x1ZGVkKGNoaWxkLCBjbGlwcGVkTGF5ZXJJbkNoaWxk
KSk7CkBAIC04OTEsMTMgKzg4NiwxMyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIHRoaXMtPmxlYXZl
Q29udHJpYnV0aW5nU3VyZmFjZShjaGlsZCwgb2NjbHVzaW9uKTsKICAgICAgICAgdGhpcy0+ZW50
ZXJMYXllcihwYXJlbnQsIG9jY2x1c2lvbik7CiAKLSAgICAgICAgRVhQRUNUX0VRX1JFQ1QoSW50
UmVjdCgpLCBvY2NsdXNpb24ub2NjbHVzaW9uSW5TY3JlZW5TcGFjZSgpLmJvdW5kcygpKTsKKyAg
ICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKEludFJlY3QoKSwgb2NjbHVzaW9uLm9jY2x1c2lvbklu
U2NyZWVuU3BhY2UoKS5ib3VuZHMoKSk7CiAgICAgICAgIEVYUEVDVF9FUSgwdSwgb2NjbHVzaW9u
Lm9jY2x1c2lvbkluU2NyZWVuU3BhY2UoKS5yZWN0cygpLnNpemUoKSk7Ci0gICAgICAgIEVYUEVD
VF9FUV9SRUNUKEludFJlY3QoKSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluVGFyZ2V0U3VyZmFjZSgp
LmJvdW5kcygpKTsKKyAgICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKEludFJlY3QoKSwgb2NjbHVz
aW9uLm9jY2x1c2lvbkluVGFyZ2V0U3VyZmFjZSgpLmJvdW5kcygpKTsKICAgICAgICAgRVhQRUNU
X0VRKDB1LCBvY2NsdXNpb24ub2NjbHVzaW9uSW5UYXJnZXRTdXJmYWNlKCkucmVjdHMoKS5zaXpl
KCkpOwogCiAgICAgICAgIEVYUEVDVF9GQUxTRShvY2NsdXNpb24ub2NjbHVkZWQocGFyZW50LCBJ
bnRSZWN0KDc1LCA1NSwgMSwgMSkpKTsKLSAgICAgICAgRVhQRUNUX0VRX1JFQ1QoSW50UmVjdCg3
NSwgNTUsIDEsIDEpLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KHBhcmVudCwgSW50
UmVjdCg3NSwgNTUsIDEsIDEpKSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJbnRSZWN0
KDc1LCA1NSwgMSwgMSksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3QocGFyZW50LCBJ
bnRSZWN0KDc1LCA1NSwgMSwgMSkpKTsKICAgICB9CiB9OwogCkBAIC05MjcsOSArOTIyLDkgQEAg
cHJvdGVjdGVkOgogICAgICAgICB0aGlzLT52aXNpdExheWVyKGxheWVyMSwgb2NjbHVzaW9uKTsK
ICAgICAgICAgdGhpcy0+ZW50ZXJDb250cmlidXRpbmdTdXJmYWNlKGNoaWxkLCBvY2NsdXNpb24p
OwogCi0gICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJlY3QoMzAsIDQwLCA3MCwgNjApLCBvY2Ns
dXNpb24ub2NjbHVzaW9uSW5TY3JlZW5TcGFjZSgpLmJvdW5kcygpKTsKKyAgICAgICAgRVhQRUNU
X0lOVF9SRUNUX0VRKEludFJlY3QoMzAsIDQwLCA3MCwgNjApLCBvY2NsdXNpb24ub2NjbHVzaW9u
SW5TY3JlZW5TcGFjZSgpLmJvdW5kcygpKTsKICAgICAgICAgRVhQRUNUX0VRKDF1LCBvY2NsdXNp
b24ub2NjbHVzaW9uSW5TY3JlZW5TcGFjZSgpLnJlY3RzKCkuc2l6ZSgpKTsKLSAgICAgICAgRVhQ
RUNUX0VRX1JFQ1QoSW50UmVjdCgxMCwgNDMwLCA2MCwgNzApLCBvY2NsdXNpb24ub2NjbHVzaW9u
SW5UYXJnZXRTdXJmYWNlKCkuYm91bmRzKCkpOworICAgICAgICBFWFBFQ1RfSU5UX1JFQ1RfRVEo
SW50UmVjdCgxMCwgNDMwLCA2MCwgNzApLCBvY2NsdXNpb24ub2NjbHVzaW9uSW5UYXJnZXRTdXJm
YWNlKCkuYm91bmRzKCkpOwogICAgICAgICBFWFBFQ1RfRVEoMXUsIG9jY2x1c2lvbi5vY2NsdXNp
b25JblRhcmdldFN1cmZhY2UoKS5yZWN0cygpLnNpemUoKSk7CiAKICAgICAgICAgRVhQRUNUX1RS
VUUob2NjbHVzaW9uLm9jY2x1ZGVkKGNoaWxkLCBJbnRSZWN0KDEwLCA0MzAsIDYwLCA3MCkpKTsK
QEAgLTkzOSwxNyArOTM0LDE3IEBAIHByb3RlY3RlZDoKICAgICAgICAgRVhQRUNUX0ZBTFNFKG9j
Y2x1c2lvbi5vY2NsdWRlZChjaGlsZCwgSW50UmVjdCgxMCwgNDMxLCA2MCwgNzApKSk7CiAKICAg
ICAgICAgRVhQRUNUX1RSVUUob2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChjaGlsZCwg
SW50UmVjdCgxMCwgNDMwLCA2MCwgNzApKS5pc0VtcHR5KCkpOwotICAgICAgICBFWFBFQ1RfRVFf
UkVDVChJbnRSZWN0KDksIDQzMCwgMSwgNzApLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRS
ZWN0KGNoaWxkLCBJbnRSZWN0KDksIDQzMCwgNjAsIDcwKSkpOwotICAgICAgICBFWFBFQ1RfRVFf
UkVDVChJbnRSZWN0KDEwLCA0MjksIDYwLCAxKSwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50
UmVjdChjaGlsZCwgSW50UmVjdCgxMCwgNDI5LCA2MCwgNzApKSk7Ci0gICAgICAgIEVYUEVDVF9F
UV9SRUNUKEludFJlY3QoNzAsIDQzMCwgMSwgNzApLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRl
bnRSZWN0KGNoaWxkLCBJbnRSZWN0KDExLCA0MzAsIDYwLCA3MCkpKTsKLSAgICAgICAgRVhQRUNU
X0VRX1JFQ1QoSW50UmVjdCgxMCwgNTAwLCA2MCwgMSksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29u
dGVudFJlY3QoY2hpbGQsIEludFJlY3QoMTAsIDQzMSwgNjAsIDcwKSkpOworICAgICAgICBFWFBF
Q1RfSU5UX1JFQ1RfRVEoSW50UmVjdCg5LCA0MzAsIDEsIDcwKSwgb2NjbHVzaW9uLnVub2NjbHVk
ZWRDb250ZW50UmVjdChjaGlsZCwgSW50UmVjdCg5LCA0MzAsIDYwLCA3MCkpKTsKKyAgICAgICAg
RVhQRUNUX0lOVF9SRUNUX0VRKEludFJlY3QoMTAsIDQyOSwgNjAsIDEpLCBvY2NsdXNpb24udW5v
Y2NsdWRlZENvbnRlbnRSZWN0KGNoaWxkLCBJbnRSZWN0KDEwLCA0MjksIDYwLCA3MCkpKTsKKyAg
ICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKEludFJlY3QoNzAsIDQzMCwgMSwgNzApLCBvY2NsdXNp
b24udW5vY2NsdWRlZENvbnRlbnRSZWN0KGNoaWxkLCBJbnRSZWN0KDExLCA0MzAsIDYwLCA3MCkp
KTsKKyAgICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKEludFJlY3QoMTAsIDUwMCwgNjAsIDEpLCBv
Y2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KGNoaWxkLCBJbnRSZWN0KDEwLCA0MzEsIDYw
LCA3MCkpKTsKIAogICAgICAgICB0aGlzLT5sZWF2ZUNvbnRyaWJ1dGluZ1N1cmZhY2UoY2hpbGQs
IG9jY2x1c2lvbik7CiAgICAgICAgIHRoaXMtPmVudGVyTGF5ZXIocGFyZW50LCBvY2NsdXNpb24p
OwogCi0gICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJlY3QoMzAsIDQwLCA3MCwgNjApLCBvY2Ns
dXNpb24ub2NjbHVzaW9uSW5TY3JlZW5TcGFjZSgpLmJvdW5kcygpKTsKKyAgICAgICAgRVhQRUNU
X0lOVF9SRUNUX0VRKEludFJlY3QoMzAsIDQwLCA3MCwgNjApLCBvY2NsdXNpb24ub2NjbHVzaW9u
SW5TY3JlZW5TcGFjZSgpLmJvdW5kcygpKTsKICAgICAgICAgRVhQRUNUX0VRKDF1LCBvY2NsdXNp
b24ub2NjbHVzaW9uSW5TY3JlZW5TcGFjZSgpLnJlY3RzKCkuc2l6ZSgpKTsKLSAgICAgICAgRVhQ
RUNUX0VRX1JFQ1QoSW50UmVjdCgzMCwgNDAsIDcwLCA2MCksIG9jY2x1c2lvbi5vY2NsdXNpb25J
blRhcmdldFN1cmZhY2UoKS5ib3VuZHMoKSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJ
bnRSZWN0KDMwLCA0MCwgNzAsIDYwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluVGFyZ2V0U3VyZmFj
ZSgpLmJvdW5kcygpKTsKICAgICAgICAgRVhQRUNUX0VRKDF1LCBvY2NsdXNpb24ub2NjbHVzaW9u
SW5UYXJnZXRTdXJmYWNlKCkucmVjdHMoKS5zaXplKCkpOwogCiAgICAgICAgIEVYUEVDVF9UUlVF
KG9jY2x1c2lvbi5vY2NsdWRlZChwYXJlbnQsIEludFJlY3QoMzAsIDQwLCA3MCwgNjApKSk7CkBA
IC05NTcsMTAgKzk1MiwxMCBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIEVYUEVDVF9GQUxTRShvY2Ns
dXNpb24ub2NjbHVkZWQocGFyZW50LCBJbnRSZWN0KDMwLCAzOSwgNzAsIDYwKSkpOwogCiAgICAg
ICAgIEVYUEVDVF9UUlVFKG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3QocGFyZW50LCBJ
bnRSZWN0KDMwLCA0MCwgNzAsIDYwKSkuaXNFbXB0eSgpKTsKLSAgICAgICAgRVhQRUNUX0VRX1JF
Q1QoSW50UmVjdCgyOSwgNDAsIDEsIDYwKSwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVj
dChwYXJlbnQsIEludFJlY3QoMjksIDQwLCA3MCwgNjApKSk7Ci0gICAgICAgIEVYUEVDVF9FUV9S
RUNUKEludFJlY3QoMzAsIDM5LCA3MCwgMSksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJl
Y3QocGFyZW50LCBJbnRSZWN0KDMwLCAzOSwgNzAsIDYwKSkpOwotICAgICAgICBFWFBFQ1RfRVFf
UkVDVChJbnRSZWN0KDEwMCwgNDAsIDEsIDYwKSwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50
UmVjdChwYXJlbnQsIEludFJlY3QoMzEsIDQwLCA3MCwgNjApKSk7Ci0gICAgICAgIEVYUEVDVF9F
UV9SRUNUKEludFJlY3QoMzAsIDEwMCwgNzAsIDEpLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRl
bnRSZWN0KHBhcmVudCwgSW50UmVjdCgzMCwgNDEsIDcwLCA2MCkpKTsKKyAgICAgICAgRVhQRUNU
X0lOVF9SRUNUX0VRKEludFJlY3QoMjksIDQwLCAxLCA2MCksIG9jY2x1c2lvbi51bm9jY2x1ZGVk
Q29udGVudFJlY3QocGFyZW50LCBJbnRSZWN0KDI5LCA0MCwgNzAsIDYwKSkpOworICAgICAgICBF
WFBFQ1RfSU5UX1JFQ1RfRVEoSW50UmVjdCgzMCwgMzksIDcwLCAxKSwgb2NjbHVzaW9uLnVub2Nj
bHVkZWRDb250ZW50UmVjdChwYXJlbnQsIEludFJlY3QoMzAsIDM5LCA3MCwgNjApKSk7CisgICAg
ICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJbnRSZWN0KDEwMCwgNDAsIDEsIDYwKSwgb2NjbHVzaW9u
LnVub2NjbHVkZWRDb250ZW50UmVjdChwYXJlbnQsIEludFJlY3QoMzEsIDQwLCA3MCwgNjApKSk7
CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJbnRSZWN0KDMwLCAxMDAsIDcwLCAxKSwgb2Nj
bHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChwYXJlbnQsIEludFJlY3QoMzAsIDQxLCA3MCwg
NjApKSk7CiAKICAgICAgICAgLyogSnVzdGlmaWNhdGlvbiBmb3IgdGhlIGFib3ZlIG9jY2x1c2lv
biBmcm9tIHxsYXllcjF8IGFuZCB8bGF5ZXIyfDoKIApAQCAtMTAxNCw5ICsxMDA5LDkgQEAgcHJv
dGVjdGVkOgogICAgICAgICB0aGlzLT52aXNpdExheWVyKGxheWVyMiwgb2NjbHVzaW9uKTsKICAg
ICAgICAgdGhpcy0+ZW50ZXJDb250cmlidXRpbmdTdXJmYWNlKGNoaWxkMiwgb2NjbHVzaW9uKTsK
IAotICAgICAgICBFWFBFQ1RfRVFfUkVDVChJbnRSZWN0KDIwLCAzMCwgODAsIDcwKSwgb2NjbHVz
aW9uLm9jY2x1c2lvbkluU2NyZWVuU3BhY2UoKS5ib3VuZHMoKSk7CisgICAgICAgIEVYUEVDVF9J
TlRfUkVDVF9FUShJbnRSZWN0KDIwLCAzMCwgODAsIDcwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbklu
U2NyZWVuU3BhY2UoKS5ib3VuZHMoKSk7CiAgICAgICAgIEVYUEVDVF9FUSgxdSwgb2NjbHVzaW9u
Lm9jY2x1c2lvbkluU2NyZWVuU3BhY2UoKS5yZWN0cygpLnNpemUoKSk7Ci0gICAgICAgIEVYUEVD
VF9FUV9SRUNUKEludFJlY3QoLTEwLCA0MjAsIDcwLCA4MCksIG9jY2x1c2lvbi5vY2NsdXNpb25J
blRhcmdldFN1cmZhY2UoKS5ib3VuZHMoKSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJ
bnRSZWN0KC0xMCwgNDIwLCA3MCwgODApLCBvY2NsdXNpb24ub2NjbHVzaW9uSW5UYXJnZXRTdXJm
YWNlKCkuYm91bmRzKCkpOwogICAgICAgICBFWFBFQ1RfRVEoMXUsIG9jY2x1c2lvbi5vY2NsdXNp
b25JblRhcmdldFN1cmZhY2UoKS5yZWN0cygpLnNpemUoKSk7CiAKICAgICAgICAgRVhQRUNUX1RS
VUUob2NjbHVzaW9uLm9jY2x1ZGVkKGNoaWxkMiwgSW50UmVjdCgtMTAsIDQyMCwgNzAsIDgwKSkp
OwpAQCAtMTAzNCwxNSArMTAyOSwxNSBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIG9jY2x1c2lvbi5z
ZXRMYXllclNjaXNzb3JSZWN0KEludFJlY3QoLTIwLCAtMjAsIDEwMDAsIDEwMDApKTsKIAogICAg
ICAgICAvLyBUaGVyZSBpcyBub3RoaW5nIGFib3ZlIGNoaWxkMidzIHN1cmZhY2UgaW4gdGhlIHot
b3JkZXIuCi0gICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJlY3QoLTEwLCA0MjAsIDcwLCA4MCks
IG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udHJpYnV0aW5nU3VyZmFjZUNvbnRlbnRSZWN0KGNoaWxk
Mi0+cmVuZGVyU3VyZmFjZSgpLCBmYWxzZSwgSW50UmVjdCgtMTAsIDQyMCwgNzAsIDgwKSkpOwor
ICAgICAgICBFWFBFQ1RfSU5UX1JFQ1RfRVEoSW50UmVjdCgtMTAsIDQyMCwgNzAsIDgwKSwgb2Nj
bHVzaW9uLnVub2NjbHVkZWRDb250cmlidXRpbmdTdXJmYWNlQ29udGVudFJlY3QoY2hpbGQyLT5y
ZW5kZXJTdXJmYWNlKCksIGZhbHNlLCBJbnRSZWN0KC0xMCwgNDIwLCA3MCwgODApKSk7CiAKICAg
ICAgICAgdGhpcy0+bGVhdmVDb250cmlidXRpbmdTdXJmYWNlKGNoaWxkMiwgb2NjbHVzaW9uKTsK
ICAgICAgICAgdGhpcy0+dmlzaXRMYXllcihsYXllcjEsIG9jY2x1c2lvbik7CiAgICAgICAgIHRo
aXMtPmVudGVyQ29udHJpYnV0aW5nU3VyZmFjZShjaGlsZDEsIG9jY2x1c2lvbik7CiAKLSAgICAg
ICAgRVhQRUNUX0VRX1JFQ1QoSW50UmVjdCgyMCwgMjAsIDgwLCA4MCksIG9jY2x1c2lvbi5vY2Ns
dXNpb25JblNjcmVlblNwYWNlKCkuYm91bmRzKCkpOworICAgICAgICBFWFBFQ1RfSU5UX1JFQ1Rf
RVEoSW50UmVjdCgyMCwgMjAsIDgwLCA4MCksIG9jY2x1c2lvbi5vY2NsdXNpb25JblNjcmVlblNw
YWNlKCkuYm91bmRzKCkpOwogICAgICAgICBFWFBFQ1RfRVEoMnUsIG9jY2x1c2lvbi5vY2NsdXNp
b25JblNjcmVlblNwYWNlKCkucmVjdHMoKS5zaXplKCkpOwotICAgICAgICBFWFBFQ1RfRVFfUkVD
VChJbnRSZWN0KC0xMCwgNDMwLCA4MCwgNzApLCBvY2NsdXNpb24ub2NjbHVzaW9uSW5UYXJnZXRT
dXJmYWNlKCkuYm91bmRzKCkpOworICAgICAgICBFWFBFQ1RfSU5UX1JFQ1RfRVEoSW50UmVjdCgt
MTAsIDQzMCwgODAsIDcwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluVGFyZ2V0U3VyZmFjZSgpLmJv
dW5kcygpKTsKICAgICAgICAgRVhQRUNUX0VRKDF1LCBvY2NsdXNpb24ub2NjbHVzaW9uSW5UYXJn
ZXRTdXJmYWNlKCkucmVjdHMoKS5zaXplKCkpOwogCiAgICAgICAgIEVYUEVDVF9UUlVFKG9jY2x1
c2lvbi5vY2NsdWRlZChjaGlsZDEsIEludFJlY3QoLTEwLCA0MzAsIDgwLCA3MCkpKTsKQEAgLTEw
NTIsMTQgKzEwNDcsMTQgQEAgcHJvdGVjdGVkOgogICAgICAgICBFWFBFQ1RfRkFMU0Uob2NjbHVz
aW9uLm9jY2x1ZGVkKGNoaWxkMSwgSW50UmVjdCgtMTAsIDQzMCwgODAsIDcxKSkpOwogCiAgICAg
ICAgIC8vIGNoaWxkMidzIGNvbnRlbnRzIHdpbGwgb2NjbHVkZSBjaGlsZDEgYmVsb3cgaXQuCi0g
ICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJlY3QoLTEwLCA0MzAsIDEwLCA3MCksIG9jY2x1c2lv
bi51bm9jY2x1ZGVkQ29udHJpYnV0aW5nU3VyZmFjZUNvbnRlbnRSZWN0KGNoaWxkMS0+cmVuZGVy
U3VyZmFjZSgpLCBmYWxzZSwgSW50UmVjdCgtMTAsIDQzMCwgODAsIDcwKSkpOworICAgICAgICBF
WFBFQ1RfSU5UX1JFQ1RfRVEoSW50UmVjdCgtMTAsIDQzMCwgMTAsIDcwKSwgb2NjbHVzaW9uLnVu
b2NjbHVkZWRDb250cmlidXRpbmdTdXJmYWNlQ29udGVudFJlY3QoY2hpbGQxLT5yZW5kZXJTdXJm
YWNlKCksIGZhbHNlLCBJbnRSZWN0KC0xMCwgNDMwLCA4MCwgNzApKSk7CiAKICAgICAgICAgdGhp
cy0+bGVhdmVDb250cmlidXRpbmdTdXJmYWNlKGNoaWxkMSwgb2NjbHVzaW9uKTsKICAgICAgICAg
dGhpcy0+ZW50ZXJMYXllcihwYXJlbnQsIG9jY2x1c2lvbik7CiAKLSAgICAgICAgRVhQRUNUX0VR
X1JFQ1QoSW50UmVjdCgyMCwgMjAsIDgwLCA4MCksIG9jY2x1c2lvbi5vY2NsdXNpb25JblNjcmVl
blNwYWNlKCkuYm91bmRzKCkpOworICAgICAgICBFWFBFQ1RfSU5UX1JFQ1RfRVEoSW50UmVjdCgy
MCwgMjAsIDgwLCA4MCksIG9jY2x1c2lvbi5vY2NsdXNpb25JblNjcmVlblNwYWNlKCkuYm91bmRz
KCkpOwogICAgICAgICBFWFBFQ1RfRVEoMnUsIG9jY2x1c2lvbi5vY2NsdXNpb25JblNjcmVlblNw
YWNlKCkucmVjdHMoKS5zaXplKCkpOwotICAgICAgICBFWFBFQ1RfRVFfUkVDVChJbnRSZWN0KDIw
LCAyMCwgODAsIDgwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluVGFyZ2V0U3VyZmFjZSgpLmJvdW5k
cygpKTsKKyAgICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKEludFJlY3QoMjAsIDIwLCA4MCwgODAp
LCBvY2NsdXNpb24ub2NjbHVzaW9uSW5UYXJnZXRTdXJmYWNlKCkuYm91bmRzKCkpOwogICAgICAg
ICBFWFBFQ1RfRVEoMnUsIG9jY2x1c2lvbi5vY2NsdXNpb25JblRhcmdldFN1cmZhY2UoKS5yZWN0
cygpLnNpemUoKSk7CiAKICAgICAgICAgRVhQRUNUX0ZBTFNFKG9jY2x1c2lvbi5vY2NsdWRlZChw
YXJlbnQsIEludFJlY3QoMjAsIDIwLCA4MCwgODApKSk7CkBAIC0xMTI4LDkgKzExMjMsOSBAQCBw
cm90ZWN0ZWQ6CiAgICAgICAgIHRoaXMtPnZpc2l0TGF5ZXIobGF5ZXIyLCBvY2NsdXNpb24pOwog
ICAgICAgICB0aGlzLT5lbnRlckxheWVyKGNoaWxkMiwgb2NjbHVzaW9uKTsKIAotICAgICAgICBF
WFBFQ1RfRVFfUkVDVChJbnRSZWN0KDIwLCAzMCwgODAsIDcwKSwgb2NjbHVzaW9uLm9jY2x1c2lv
bkluU2NyZWVuU3BhY2UoKS5ib3VuZHMoKSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJ
bnRSZWN0KDIwLCAzMCwgODAsIDcwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluU2NyZWVuU3BhY2Uo
KS5ib3VuZHMoKSk7CiAgICAgICAgIEVYUEVDVF9FUSgxdSwgb2NjbHVzaW9uLm9jY2x1c2lvbklu
U2NyZWVuU3BhY2UoKS5yZWN0cygpLnNpemUoKSk7Ci0gICAgICAgIEVYUEVDVF9FUV9SRUNUKElu
dFJlY3QoLTEwLCA0MjAsIDcwLCA4MCksIG9jY2x1c2lvbi5vY2NsdXNpb25JblRhcmdldFN1cmZh
Y2UoKS5ib3VuZHMoKSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJbnRSZWN0KC0xMCwg
NDIwLCA3MCwgODApLCBvY2NsdXNpb24ub2NjbHVzaW9uSW5UYXJnZXRTdXJmYWNlKCkuYm91bmRz
KCkpOwogICAgICAgICBFWFBFQ1RfRVEoMXUsIG9jY2x1c2lvbi5vY2NsdXNpb25JblRhcmdldFN1
cmZhY2UoKS5yZWN0cygpLnNpemUoKSk7CiAKICAgICAgICAgRVhQRUNUX1RSVUUob2NjbHVzaW9u
Lm9jY2x1ZGVkKGNoaWxkMiwgSW50UmVjdCgtMTAsIDQyMCwgNzAsIDgwKSkpOwpAQCAtMTE0Mywx
NSArMTEzOCwxNSBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIHRoaXMtPmVudGVyQ29udHJpYnV0aW5n
U3VyZmFjZShjaGlsZDIsIG9jY2x1c2lvbik7CiAKICAgICAgICAgLy8gVGhlcmUgaXMgbm90aGlu
ZyBhYm92ZSBjaGlsZDIncyBzdXJmYWNlIGluIHRoZSB6LW9yZGVyLgotICAgICAgICBFWFBFQ1Rf
RVFfUkVDVChJbnRSZWN0KC0xMCwgNDIwLCA3MCwgODApLCBvY2NsdXNpb24udW5vY2NsdWRlZENv
bnRyaWJ1dGluZ1N1cmZhY2VDb250ZW50UmVjdChjaGlsZDItPnJlbmRlclN1cmZhY2UoKSwgZmFs
c2UsIEludFJlY3QoLTEwLCA0MjAsIDcwLCA4MCkpKTsKKyAgICAgICAgRVhQRUNUX0lOVF9SRUNU
X0VRKEludFJlY3QoLTEwLCA0MjAsIDcwLCA4MCksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udHJp
YnV0aW5nU3VyZmFjZUNvbnRlbnRSZWN0KGNoaWxkMi0+cmVuZGVyU3VyZmFjZSgpLCBmYWxzZSwg
SW50UmVjdCgtMTAsIDQyMCwgNzAsIDgwKSkpOwogCiAgICAgICAgIHRoaXMtPmxlYXZlQ29udHJp
YnV0aW5nU3VyZmFjZShjaGlsZDIsIG9jY2x1c2lvbik7CiAgICAgICAgIHRoaXMtPnZpc2l0TGF5
ZXIobGF5ZXIxLCBvY2NsdXNpb24pOwogICAgICAgICB0aGlzLT5lbnRlckNvbnRyaWJ1dGluZ1N1
cmZhY2UoY2hpbGQxLCBvY2NsdXNpb24pOwogCi0gICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJl
Y3QoMTAsIDIwLCA5MCwgODApLCBvY2NsdXNpb24ub2NjbHVzaW9uSW5TY3JlZW5TcGFjZSgpLmJv
dW5kcygpKTsKKyAgICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKEludFJlY3QoMTAsIDIwLCA5MCwg
ODApLCBvY2NsdXNpb24ub2NjbHVzaW9uSW5TY3JlZW5TcGFjZSgpLmJvdW5kcygpKTsKICAgICAg
ICAgRVhQRUNUX0VRKDF1LCBvY2NsdXNpb24ub2NjbHVzaW9uSW5TY3JlZW5TcGFjZSgpLnJlY3Rz
KCkuc2l6ZSgpKTsKLSAgICAgICAgRVhQRUNUX0VRX1JFQ1QoSW50UmVjdCg0MjAsIC0yMCwgODAs
IDkwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluVGFyZ2V0U3VyZmFjZSgpLmJvdW5kcygpKTsKKyAg
ICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKEludFJlY3QoNDIwLCAtMjAsIDgwLCA5MCksIG9jY2x1
c2lvbi5vY2NsdXNpb25JblRhcmdldFN1cmZhY2UoKS5ib3VuZHMoKSk7CiAgICAgICAgIEVYUEVD
VF9FUSgxdSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluVGFyZ2V0U3VyZmFjZSgpLnJlY3RzKCkuc2l6
ZSgpKTsKIAogICAgICAgICBFWFBFQ1RfVFJVRShvY2NsdXNpb24ub2NjbHVkZWQoY2hpbGQxLCBJ
bnRSZWN0KDQyMCwgLTIwLCA4MCwgOTApKSk7CkBAIC0xMTYxLDE2ICsxMTU2LDE2IEBAIHByb3Rl
Y3RlZDoKICAgICAgICAgRVhQRUNUX0ZBTFNFKG9jY2x1c2lvbi5vY2NsdWRlZChjaGlsZDEsIElu
dFJlY3QoNDIxLCAtMjAsIDgwLCA5MCkpKTsKIAogICAgICAgICAvLyBjaGlsZDIncyBjb250ZW50
cyB3aWxsIG9jY2x1ZGUgY2hpbGQxIGJlbG93IGl0LgotICAgICAgICBFWFBFQ1RfRVFfUkVDVChJ
bnRSZWN0KDQyMCwgLTIwLCA4MCwgOTApLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRyaWJ1dGlu
Z1N1cmZhY2VDb250ZW50UmVjdChjaGlsZDEtPnJlbmRlclN1cmZhY2UoKSwgZmFsc2UsIEludFJl
Y3QoNDIwLCAtMjAsIDgwLCA5MCkpKTsKLSAgICAgICAgRVhQRUNUX0VRX1JFQ1QoSW50UmVjdCg0
OTAsIC0xMCwgMTAsIDgwKSwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250cmlidXRpbmdTdXJmYWNl
Q29udGVudFJlY3QoY2hpbGQxLT5yZW5kZXJTdXJmYWNlKCksIGZhbHNlLCBJbnRSZWN0KDQyMCwg
LTEwLCA4MCwgOTApKSk7Ci0gICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJlY3QoNDIwLCAtMjAs
IDcwLCAxMCksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udHJpYnV0aW5nU3VyZmFjZUNvbnRlbnRS
ZWN0KGNoaWxkMS0+cmVuZGVyU3VyZmFjZSgpLCBmYWxzZSwgSW50UmVjdCg0MjAsIC0yMCwgNzAs
IDkwKSkpOworICAgICAgICBFWFBFQ1RfSU5UX1JFQ1RfRVEoSW50UmVjdCg0MjAsIC0yMCwgODAs
IDkwKSwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250cmlidXRpbmdTdXJmYWNlQ29udGVudFJlY3Qo
Y2hpbGQxLT5yZW5kZXJTdXJmYWNlKCksIGZhbHNlLCBJbnRSZWN0KDQyMCwgLTIwLCA4MCwgOTAp
KSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJbnRSZWN0KDQ5MCwgLTEwLCAxMCwgODAp
LCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRyaWJ1dGluZ1N1cmZhY2VDb250ZW50UmVjdChjaGls
ZDEtPnJlbmRlclN1cmZhY2UoKSwgZmFsc2UsIEludFJlY3QoNDIwLCAtMTAsIDgwLCA5MCkpKTsK
KyAgICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKEludFJlY3QoNDIwLCAtMjAsIDcwLCAxMCksIG9j
Y2x1c2lvbi51bm9jY2x1ZGVkQ29udHJpYnV0aW5nU3VyZmFjZUNvbnRlbnRSZWN0KGNoaWxkMS0+
cmVuZGVyU3VyZmFjZSgpLCBmYWxzZSwgSW50UmVjdCg0MjAsIC0yMCwgNzAsIDkwKSkpOwogCiAg
ICAgICAgIHRoaXMtPmxlYXZlQ29udHJpYnV0aW5nU3VyZmFjZShjaGlsZDEsIG9jY2x1c2lvbik7
CiAgICAgICAgIHRoaXMtPmVudGVyTGF5ZXIocGFyZW50LCBvY2NsdXNpb24pOwogCi0gICAgICAg
IEVYUEVDVF9FUV9SRUNUKEludFJlY3QoMTAsIDIwLCA5MCwgODApLCBvY2NsdXNpb24ub2NjbHVz
aW9uSW5TY3JlZW5TcGFjZSgpLmJvdW5kcygpKTsKKyAgICAgICAgRVhQRUNUX0lOVF9SRUNUX0VR
KEludFJlY3QoMTAsIDIwLCA5MCwgODApLCBvY2NsdXNpb24ub2NjbHVzaW9uSW5TY3JlZW5TcGFj
ZSgpLmJvdW5kcygpKTsKICAgICAgICAgRVhQRUNUX0VRKDF1LCBvY2NsdXNpb24ub2NjbHVzaW9u
SW5TY3JlZW5TcGFjZSgpLnJlY3RzKCkuc2l6ZSgpKTsKLSAgICAgICAgRVhQRUNUX0VRX1JFQ1Qo
SW50UmVjdCgxMCwgMjAsIDkwLCA4MCksIG9jY2x1c2lvbi5vY2NsdXNpb25JblRhcmdldFN1cmZh
Y2UoKS5ib3VuZHMoKSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJbnRSZWN0KDEwLCAy
MCwgOTAsIDgwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluVGFyZ2V0U3VyZmFjZSgpLmJvdW5kcygp
KTsKICAgICAgICAgRVhQRUNUX0VRKDF1LCBvY2NsdXNpb24ub2NjbHVzaW9uSW5UYXJnZXRTdXJm
YWNlKCkucmVjdHMoKS5zaXplKCkpOwogCiAgICAgICAgIEVYUEVDVF9UUlVFKG9jY2x1c2lvbi5v
Y2NsdWRlZChwYXJlbnQsIEludFJlY3QoMTAsIDIwLCA5MCwgODApKSk7CkBAIC0xMjU1LDE2ICsx
MjUwLDE2IEBAIHByb3RlY3RlZDoKICAgICAgICAgdGhpcy0+dmlzaXRMYXllcihvcGFxdWVMYXll
ciwgb2NjbHVzaW9uKTsKICAgICAgICAgdGhpcy0+ZW50ZXJDb250cmlidXRpbmdTdXJmYWNlKG9w
YXF1ZUxheWVyLCBvY2NsdXNpb24pOwogCi0gICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJlY3Qo
MzAsIDMwLCA3MCwgNzApLCBvY2NsdXNpb24ub2NjbHVzaW9uSW5TY3JlZW5TcGFjZSgpLmJvdW5k
cygpKTsKKyAgICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKEludFJlY3QoMzAsIDMwLCA3MCwgNzAp
LCBvY2NsdXNpb24ub2NjbHVzaW9uSW5TY3JlZW5TcGFjZSgpLmJvdW5kcygpKTsKICAgICAgICAg
RVhQRUNUX0VRKDF1LCBvY2NsdXNpb24ub2NjbHVzaW9uSW5TY3JlZW5TcGFjZSgpLnJlY3RzKCku
c2l6ZSgpKTsKLSAgICAgICAgRVhQRUNUX0VRX1JFQ1QoSW50UmVjdCgwLCA0MzAsIDcwLCA3MCks
IG9jY2x1c2lvbi5vY2NsdXNpb25JblRhcmdldFN1cmZhY2UoKS5ib3VuZHMoKSk7CisgICAgICAg
IEVYUEVDVF9JTlRfUkVDVF9FUShJbnRSZWN0KDAsIDQzMCwgNzAsIDcwKSwgb2NjbHVzaW9uLm9j
Y2x1c2lvbkluVGFyZ2V0U3VyZmFjZSgpLmJvdW5kcygpKTsKICAgICAgICAgRVhQRUNUX0VRKDF1
LCBvY2NsdXNpb24ub2NjbHVzaW9uSW5UYXJnZXRTdXJmYWNlKCkucmVjdHMoKS5zaXplKCkpOwog
CiAgICAgICAgIC8vIEFuZCBpdCBnZXRzIHRyYW5zbGF0ZWQgdG8gdGhlIHBhcmVudCBzdXJmYWNl
LgogICAgICAgICB0aGlzLT5sZWF2ZUNvbnRyaWJ1dGluZ1N1cmZhY2Uob3BhcXVlTGF5ZXIsIG9j
Y2x1c2lvbik7Ci0gICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJlY3QoMzAsIDMwLCA3MCwgNzAp
LCBvY2NsdXNpb24ub2NjbHVzaW9uSW5TY3JlZW5TcGFjZSgpLmJvdW5kcygpKTsKKyAgICAgICAg
RVhQRUNUX0lOVF9SRUNUX0VRKEludFJlY3QoMzAsIDMwLCA3MCwgNzApLCBvY2NsdXNpb24ub2Nj
bHVzaW9uSW5TY3JlZW5TcGFjZSgpLmJvdW5kcygpKTsKICAgICAgICAgRVhQRUNUX0VRKDF1LCBv
Y2NsdXNpb24ub2NjbHVzaW9uSW5TY3JlZW5TcGFjZSgpLnJlY3RzKCkuc2l6ZSgpKTsKLSAgICAg
ICAgRVhQRUNUX0VRX1JFQ1QoSW50UmVjdCgzMCwgMzAsIDcwLCA3MCksIG9jY2x1c2lvbi5vY2Ns
dXNpb25JblRhcmdldFN1cmZhY2UoKS5ib3VuZHMoKSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVD
VF9FUShJbnRSZWN0KDMwLCAzMCwgNzAsIDcwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluVGFyZ2V0
U3VyZmFjZSgpLmJvdW5kcygpKTsKICAgICAgICAgRVhQRUNUX0VRKDF1LCBvY2NsdXNpb24ub2Nj
bHVzaW9uSW5UYXJnZXRTdXJmYWNlKCkucmVjdHMoKS5zaXplKCkpOwogCiAgICAgICAgIC8vIFRo
ZSBibHVyIGxheWVyIG5lZWRzIHRvIHRocm93IGF3YXkgYW55IG9jY2x1c2lvbiBmcm9tIG91dHNp
ZGUgaXRzIHN1YnRyZWUuCkBAIC0xMjgxLDkgKzEyNzYsOSBAQCBwcm90ZWN0ZWQ6CiAgICAgICAg
IC8vIEJ1dCB0aGUgb3BhcXVlIGxheWVyJ3Mgb2NjbHVzaW9uIGlzIHByZXNlcnZlZCBvbiB0aGUg
cGFyZW50LiAKICAgICAgICAgdGhpcy0+bGVhdmVDb250cmlidXRpbmdTdXJmYWNlKGJsdXJMYXll
ciwgb2NjbHVzaW9uKTsKICAgICAgICAgdGhpcy0+ZW50ZXJMYXllcihwYXJlbnQsIG9jY2x1c2lv
bik7Ci0gICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJlY3QoMzAsIDMwLCA3MCwgNzApLCBvY2Ns
dXNpb24ub2NjbHVzaW9uSW5TY3JlZW5TcGFjZSgpLmJvdW5kcygpKTsKKyAgICAgICAgRVhQRUNU
X0lOVF9SRUNUX0VRKEludFJlY3QoMzAsIDMwLCA3MCwgNzApLCBvY2NsdXNpb24ub2NjbHVzaW9u
SW5TY3JlZW5TcGFjZSgpLmJvdW5kcygpKTsKICAgICAgICAgRVhQRUNUX0VRKDF1LCBvY2NsdXNp
b24ub2NjbHVzaW9uSW5TY3JlZW5TcGFjZSgpLnJlY3RzKCkuc2l6ZSgpKTsKLSAgICAgICAgRVhQ
RUNUX0VRX1JFQ1QoSW50UmVjdCgzMCwgMzAsIDcwLCA3MCksIG9jY2x1c2lvbi5vY2NsdXNpb25J
blRhcmdldFN1cmZhY2UoKS5ib3VuZHMoKSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJ
bnRSZWN0KDMwLCAzMCwgNzAsIDcwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluVGFyZ2V0U3VyZmFj
ZSgpLmJvdW5kcygpKTsKICAgICAgICAgRVhQRUNUX0VRKDF1LCBvY2NsdXNpb24ub2NjbHVzaW9u
SW5UYXJnZXRTdXJmYWNlKCkucmVjdHMoKS5zaXplKCkpOwogICAgIH0KIH07CkBAIC0xMzA1LDE2
ICsxMzAwLDE2IEBAIHByb3RlY3RlZDoKIAogICAgICAgICB0aGlzLT52aXNpdExheWVyKHN1cmZh
Y2UsIG9jY2x1c2lvbik7CiAKLSAgICAgICAgRVhQRUNUX0VRX1JFQ1QoSW50UmVjdCgwLCAxMDAs
IDUwLCA1MCksIG9jY2x1c2lvbi5vY2NsdXNpb25JblNjcmVlblNwYWNlKCkuYm91bmRzKCkpOwor
ICAgICAgICBFWFBFQ1RfSU5UX1JFQ1RfRVEoSW50UmVjdCgwLCAxMDAsIDUwLCA1MCksIG9jY2x1
c2lvbi5vY2NsdXNpb25JblNjcmVlblNwYWNlKCkuYm91bmRzKCkpOwogICAgICAgICBFWFBFQ1Rf
RVEoMXUsIG9jY2x1c2lvbi5vY2NsdXNpb25JblNjcmVlblNwYWNlKCkucmVjdHMoKS5zaXplKCkp
OwotICAgICAgICBFWFBFQ1RfRVFfUkVDVChJbnRSZWN0KDAsIDAsIDUwLCA1MCksIG9jY2x1c2lv
bi5vY2NsdXNpb25JblRhcmdldFN1cmZhY2UoKS5ib3VuZHMoKSk7CisgICAgICAgIEVYUEVDVF9J
TlRfUkVDVF9FUShJbnRSZWN0KDAsIDAsIDUwLCA1MCksIG9jY2x1c2lvbi5vY2NsdXNpb25JblRh
cmdldFN1cmZhY2UoKS5ib3VuZHMoKSk7CiAgICAgICAgIEVYUEVDVF9FUSgxdSwgb2NjbHVzaW9u
Lm9jY2x1c2lvbkluVGFyZ2V0U3VyZmFjZSgpLnJlY3RzKCkuc2l6ZSgpKTsKIAogICAgICAgICB0
aGlzLT52aXNpdENvbnRyaWJ1dGluZ1N1cmZhY2Uoc3VyZmFjZSwgb2NjbHVzaW9uKTsKICAgICAg
ICAgdGhpcy0+ZW50ZXJMYXllcihwYXJlbnQsIG9jY2x1c2lvbik7CiAKICAgICAgICAgLy8gVGhl
IHN1cmZhY2UgYW5kIHJlcGxpY2Egc2hvdWxkIGJvdGggYmUgb2NjbHVkaW5nIHRoZSBwYXJlbnQu
Ci0gICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJlY3QoMCwgMTAwLCAxMDAsIDEwMCksIG9jY2x1
c2lvbi5vY2NsdXNpb25JblRhcmdldFN1cmZhY2UoKS5ib3VuZHMoKSk7CisgICAgICAgIEVYUEVD
VF9JTlRfUkVDVF9FUShJbnRSZWN0KDAsIDEwMCwgMTAwLCAxMDApLCBvY2NsdXNpb24ub2NjbHVz
aW9uSW5UYXJnZXRTdXJmYWNlKCkuYm91bmRzKCkpOwogICAgICAgICBFWFBFQ1RfRVEoMnUsIG9j
Y2x1c2lvbi5vY2NsdXNpb25JblRhcmdldFN1cmZhY2UoKS5yZWN0cygpLnNpemUoKSk7CiAgICAg
fQogfTsKQEAgLTEzMzYsMTYgKzEzMzEsMTYgQEAgcHJvdGVjdGVkOgogCiAgICAgICAgIHRoaXMt
PnZpc2l0TGF5ZXIoc3VyZmFjZSwgb2NjbHVzaW9uKTsKIAotICAgICAgICBFWFBFQ1RfRVFfUkVD
VChJbnRSZWN0KDAsIDEwMCwgNTAsIDUwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluU2NyZWVuU3Bh
Y2UoKS5ib3VuZHMoKSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJbnRSZWN0KDAsIDEw
MCwgNTAsIDUwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluU2NyZWVuU3BhY2UoKS5ib3VuZHMoKSk7
CiAgICAgICAgIEVYUEVDVF9FUSgxdSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluU2NyZWVuU3BhY2Uo
KS5yZWN0cygpLnNpemUoKSk7Ci0gICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJlY3QoMCwgMCwg
NTAsIDUwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluVGFyZ2V0U3VyZmFjZSgpLmJvdW5kcygpKTsK
KyAgICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKEludFJlY3QoMCwgMCwgNTAsIDUwKSwgb2NjbHVz
aW9uLm9jY2x1c2lvbkluVGFyZ2V0U3VyZmFjZSgpLmJvdW5kcygpKTsKICAgICAgICAgRVhQRUNU
X0VRKDF1LCBvY2NsdXNpb24ub2NjbHVzaW9uSW5UYXJnZXRTdXJmYWNlKCkucmVjdHMoKS5zaXpl
KCkpOwogCiAgICAgICAgIHRoaXMtPnZpc2l0Q29udHJpYnV0aW5nU3VyZmFjZShzdXJmYWNlLCBv
Y2NsdXNpb24pOwogICAgICAgICB0aGlzLT5lbnRlckxheWVyKHBhcmVudCwgb2NjbHVzaW9uKTsK
IAogICAgICAgICAvLyBUaGUgc3VyZmFjZSBhbmQgcmVwbGljYSBzaG91bGQgYm90aCBiZSBvY2Ns
dWRpbmcgdGhlIHBhcmVudC4KLSAgICAgICAgRVhQRUNUX0VRX1JFQ1QoSW50UmVjdCgwLCAxMDAs
IDEwMCwgNzApLCBvY2NsdXNpb24ub2NjbHVzaW9uSW5UYXJnZXRTdXJmYWNlKCkuYm91bmRzKCkp
OworICAgICAgICBFWFBFQ1RfSU5UX1JFQ1RfRVEoSW50UmVjdCgwLCAxMDAsIDEwMCwgNzApLCBv
Y2NsdXNpb24ub2NjbHVzaW9uSW5UYXJnZXRTdXJmYWNlKCkuYm91bmRzKCkpOwogICAgICAgICBF
WFBFQ1RfRVEoMnUsIG9jY2x1c2lvbi5vY2NsdXNpb25JblRhcmdldFN1cmZhY2UoKS5yZWN0cygp
LnNpemUoKSk7CiAgICAgfQogfTsKQEAgLTEzNjgsMTYgKzEzNjMsMTYgQEAgcHJvdGVjdGVkOgog
CiAgICAgICAgIHRoaXMtPnZpc2l0TGF5ZXIoc3VyZmFjZSwgb2NjbHVzaW9uKTsKIAotICAgICAg
ICBFWFBFQ1RfRVFfUkVDVChJbnRSZWN0KDAsIDEwMCwgNTAsIDUwKSwgb2NjbHVzaW9uLm9jY2x1
c2lvbkluU2NyZWVuU3BhY2UoKS5ib3VuZHMoKSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9F
UShJbnRSZWN0KDAsIDEwMCwgNTAsIDUwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluU2NyZWVuU3Bh
Y2UoKS5ib3VuZHMoKSk7CiAgICAgICAgIEVYUEVDVF9FUSgxdSwgb2NjbHVzaW9uLm9jY2x1c2lv
bkluU2NyZWVuU3BhY2UoKS5yZWN0cygpLnNpemUoKSk7Ci0gICAgICAgIEVYUEVDVF9FUV9SRUNU
KEludFJlY3QoMCwgMCwgNTAsIDUwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluVGFyZ2V0U3VyZmFj
ZSgpLmJvdW5kcygpKTsKKyAgICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKEludFJlY3QoMCwgMCwg
NTAsIDUwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluVGFyZ2V0U3VyZmFjZSgpLmJvdW5kcygpKTsK
ICAgICAgICAgRVhQRUNUX0VRKDF1LCBvY2NsdXNpb24ub2NjbHVzaW9uSW5UYXJnZXRTdXJmYWNl
KCkucmVjdHMoKS5zaXplKCkpOwogCiAgICAgICAgIHRoaXMtPnZpc2l0Q29udHJpYnV0aW5nU3Vy
ZmFjZShzdXJmYWNlLCBvY2NsdXNpb24pOwogICAgICAgICB0aGlzLT5lbnRlckxheWVyKHBhcmVu
dCwgb2NjbHVzaW9uKTsKIAogICAgICAgICAvLyBUaGUgcmVwbGljYSBzaG91bGQgbm90IGJlIG9j
Y2x1ZGluZyB0aGUgcGFyZW50LCBzaW5jZSBpdCBoYXMgYSBtYXNrIGFwcGxpZWQgdG8gaXQuCi0g
ICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJlY3QoMCwgMTAwLCA1MCwgNTApLCBvY2NsdXNpb24u
b2NjbHVzaW9uSW5UYXJnZXRTdXJmYWNlKCkuYm91bmRzKCkpOworICAgICAgICBFWFBFQ1RfSU5U
X1JFQ1RfRVEoSW50UmVjdCgwLCAxMDAsIDUwLCA1MCksIG9jY2x1c2lvbi5vY2NsdXNpb25JblRh
cmdldFN1cmZhY2UoKS5ib3VuZHMoKSk7CiAgICAgICAgIEVYUEVDVF9FUSgxdSwgb2NjbHVzaW9u
Lm9jY2x1c2lvbkluVGFyZ2V0U3VyZmFjZSgpLnJlY3RzKCkuc2l6ZSgpKTsKICAgICB9CiB9OwpA
QCAtMTQyMiw3ICsxNDE3LDcgQEAgcHJvdGVjdGVkOgogICAgICAgICBFWFBFQ1RfVFJVRShvY2Ns
dXNpb24ub2NjbHVkZWQocGFyZW50LCBJbnRSZWN0KDEwMCwgMjAwLCAxMDAsIDEwMCkpKTsKICAg
ICAgICAgRVhQRUNUX1RSVUUob2NjbHVzaW9uLm9jY2x1ZGVkKHBhcmVudCwgSW50UmVjdCgyMDAs
IDIwMCwgMTAwLCAxMDApKSk7CiAKLSAgICAgICAgRVhQRUNUX0VRX1JFQ1QoSW50UmVjdCgyMDAs
IDEwMCwgMTAwLCAxMDApLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KHBhcmVudCwg
SW50UmVjdCgwLCAwLCAzMDAsIDMwMCkpKTsKKyAgICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKElu
dFJlY3QoMjAwLCAxMDAsIDEwMCwgMTAwKSwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVj
dChwYXJlbnQsIEludFJlY3QoMCwgMCwgMzAwLCAzMDApKSk7CiAgICAgfQogfTsKIApAQCAtMTQ2
Niw3ICsxNDYxLDcgQEAgcHJvdGVjdGVkOgogICAgICAgICBFWFBFQ1RfVFJVRShvY2NsdXNpb24u
b2NjbHVkZWQocGFyZW50LCBJbnRSZWN0KDEwMCwgMjAwLCAxMDAsIDEwMCkpKTsKICAgICAgICAg
RVhQRUNUX1RSVUUob2NjbHVzaW9uLm9jY2x1ZGVkKHBhcmVudCwgSW50UmVjdCgyMDAsIDIwMCwg
MTAwLCAxMDApKSk7CiAKLSAgICAgICAgRVhQRUNUX0VRX1JFQ1QoSW50UmVjdCgyMDAsIDEwMCwg
MTAwLCAxMDApLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KHBhcmVudCwgSW50UmVj
dCgwLCAwLCAzMDAsIDMwMCkpKTsKKyAgICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKEludFJlY3Qo
MjAwLCAxMDAsIDEwMCwgMTAwKSwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChwYXJl
bnQsIEludFJlY3QoMCwgMCwgMzAwLCAzMDApKSk7CiAgICAgfQogfTsKIApAQCAtMTU4MywxMSAr
MTU3OCwxMSBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIEVYUEVDVF9GQUxTRShvY2NsdXNpb24ub2Nj
bHVkZWQocGFyZW50LCBJbnRSZWN0KDEwMCwgMjAwLCAxMDAsIDEwMCkpKTsKICAgICAgICAgRVhQ
RUNUX0ZBTFNFKG9jY2x1c2lvbi5vY2NsdWRlZChwYXJlbnQsIEludFJlY3QoMjAwLCAyMDAsIDEw
MCwgMTAwKSkpOwogCi0gICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJlY3QoNTAsIDUwLCAyMDAs
IDIwMCksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3QocGFyZW50LCBJbnRSZWN0KDAs
IDAsIDMwMCwgMzAwKSkpOwotICAgICAgICBFWFBFQ1RfRVFfUkVDVChJbnRSZWN0KDIwMCwgNTAs
IDUwLCA1MCksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3QocGFyZW50LCBJbnRSZWN0
KDAsIDAsIDMwMCwgMTAwKSkpOwotICAgICAgICBFWFBFQ1RfRVFfUkVDVChJbnRSZWN0KDIwMCwg
MTAwLCA1MCwgMTAwKSwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChwYXJlbnQsIElu
dFJlY3QoMCwgMTAwLCAzMDAsIDEwMCkpKTsKLSAgICAgICAgRVhQRUNUX0VRX1JFQ1QoSW50UmVj
dCgyMDAsIDEwMCwgNTAsIDEwMCksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3QocGFy
ZW50LCBJbnRSZWN0KDIwMCwgMTAwLCAxMDAsIDEwMCkpKTsKLSAgICAgICAgRVhQRUNUX0VRX1JF
Q1QoSW50UmVjdCgxMDAsIDIwMCwgMTAwLCA1MCksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVu
dFJlY3QocGFyZW50LCBJbnRSZWN0KDEwMCwgMjAwLCAxMDAsIDEwMCkpKTsKKyAgICAgICAgRVhQ
RUNUX0lOVF9SRUNUX0VRKEludFJlY3QoNTAsIDUwLCAyMDAsIDIwMCksIG9jY2x1c2lvbi51bm9j
Y2x1ZGVkQ29udGVudFJlY3QocGFyZW50LCBJbnRSZWN0KDAsIDAsIDMwMCwgMzAwKSkpOworICAg
ICAgICBFWFBFQ1RfSU5UX1JFQ1RfRVEoSW50UmVjdCgyMDAsIDUwLCA1MCwgNTApLCBvY2NsdXNp
b24udW5vY2NsdWRlZENvbnRlbnRSZWN0KHBhcmVudCwgSW50UmVjdCgwLCAwLCAzMDAsIDEwMCkp
KTsKKyAgICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKEludFJlY3QoMjAwLCAxMDAsIDUwLCAxMDAp
LCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KHBhcmVudCwgSW50UmVjdCgwLCAxMDAs
IDMwMCwgMTAwKSkpOworICAgICAgICBFWFBFQ1RfSU5UX1JFQ1RfRVEoSW50UmVjdCgyMDAsIDEw
MCwgNTAsIDEwMCksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3QocGFyZW50LCBJbnRS
ZWN0KDIwMCwgMTAwLCAxMDAsIDEwMCkpKTsKKyAgICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKElu
dFJlY3QoMTAwLCAyMDAsIDEwMCwgNTApLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0
KHBhcmVudCwgSW50UmVjdCgxMDAsIDIwMCwgMTAwLCAxMDApKSk7CiAgICAgfQogfTsKIApAQCAt
MTYyNiwxMSArMTYyMSwxMSBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIEVYUEVDVF9GQUxTRShvY2Ns
dXNpb24ub2NjbHVkZWQocGFyZW50LCBJbnRSZWN0KDEwMCwgMjAwLCAxMDAsIDEwMCkpKTsKICAg
ICAgICAgRVhQRUNUX0ZBTFNFKG9jY2x1c2lvbi5vY2NsdWRlZChwYXJlbnQsIEludFJlY3QoMjAw
LCAyMDAsIDEwMCwgMTAwKSkpOwogCi0gICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJlY3QoNTAs
IDUwLCAyMDAsIDIwMCksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3QocGFyZW50LCBJ
bnRSZWN0KDAsIDAsIDMwMCwgMzAwKSkpOwotICAgICAgICBFWFBFQ1RfRVFfUkVDVChJbnRSZWN0
KDIwMCwgNTAsIDUwLCA1MCksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3QocGFyZW50
LCBJbnRSZWN0KDAsIDAsIDMwMCwgMTAwKSkpOwotICAgICAgICBFWFBFQ1RfRVFfUkVDVChJbnRS
ZWN0KDIwMCwgMTAwLCA1MCwgMTAwKSwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChw
YXJlbnQsIEludFJlY3QoMCwgMTAwLCAzMDAsIDEwMCkpKTsKLSAgICAgICAgRVhQRUNUX0VRX1JF
Q1QoSW50UmVjdCgyMDAsIDEwMCwgNTAsIDEwMCksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVu
dFJlY3QocGFyZW50LCBJbnRSZWN0KDIwMCwgMTAwLCAxMDAsIDEwMCkpKTsKLSAgICAgICAgRVhQ
RUNUX0VRX1JFQ1QoSW50UmVjdCgxMDAsIDIwMCwgMTAwLCA1MCksIG9jY2x1c2lvbi51bm9jY2x1
ZGVkQ29udGVudFJlY3QocGFyZW50LCBJbnRSZWN0KDEwMCwgMjAwLCAxMDAsIDEwMCkpKTsKKyAg
ICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKEludFJlY3QoNTAsIDUwLCAyMDAsIDIwMCksIG9jY2x1
c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3QocGFyZW50LCBJbnRSZWN0KDAsIDAsIDMwMCwgMzAw
KSkpOworICAgICAgICBFWFBFQ1RfSU5UX1JFQ1RfRVEoSW50UmVjdCgyMDAsIDUwLCA1MCwgNTAp
LCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KHBhcmVudCwgSW50UmVjdCgwLCAwLCAz
MDAsIDEwMCkpKTsKKyAgICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKEludFJlY3QoMjAwLCAxMDAs
IDUwLCAxMDApLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KHBhcmVudCwgSW50UmVj
dCgwLCAxMDAsIDMwMCwgMTAwKSkpOworICAgICAgICBFWFBFQ1RfSU5UX1JFQ1RfRVEoSW50UmVj
dCgyMDAsIDEwMCwgNTAsIDEwMCksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3QocGFy
ZW50LCBJbnRSZWN0KDIwMCwgMTAwLCAxMDAsIDEwMCkpKTsKKyAgICAgICAgRVhQRUNUX0lOVF9S
RUNUX0VRKEludFJlY3QoMTAwLCAyMDAsIDEwMCwgNTApLCBvY2NsdXNpb24udW5vY2NsdWRlZENv
bnRlbnRSZWN0KHBhcmVudCwgSW50UmVjdCgxMDAsIDIwMCwgMTAwLCAxMDApKSk7CiAgICAgfQog
fTsKIApAQCAtMTc5OSw3ICsxNzk0LDcgQEAgcHJvdGVjdGVkOgogICAgICAgICAgICAgdGhpcy0+
dmlzaXRMYXllcihsYXllciwgb2NjbHVzaW9uKTsKICAgICAgICAgICAgIHRoaXMtPmVudGVyTGF5
ZXIocGFyZW50LCBvY2NsdXNpb24pOwogCi0gICAgICAgICAgICBFWFBFQ1RfRVFfUkVDVChJbnRS
ZWN0KDEwMCwgMTAwLCAxMDAsIDEwMCksIG9jY2x1c2lvbi5vY2NsdXNpb25JblNjcmVlblNwYWNl
KCkuYm91bmRzKCkpOworICAgICAgICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKEludFJlY3QoMTAw
LCAxMDAsIDEwMCwgMTAwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluU2NyZWVuU3BhY2UoKS5ib3Vu
ZHMoKSk7CiAgICAgICAgICAgICBFWFBFQ1RfRVEoMXUsIG9jY2x1c2lvbi5vY2NsdXNpb25JblNj
cmVlblNwYWNlKCkucmVjdHMoKS5zaXplKCkpOwogCiAgICAgICAgICAgICBFWFBFQ1RfRkFMU0Uo
b2NjbHVzaW9uLm9jY2x1ZGVkKHBhcmVudCwgSW50UmVjdCgwLCAxMDAsIDEwMCwgMTAwKSkpOwpA
QCAtMTgxNSw3ICsxODEwLDcgQEAgcHJvdGVjdGVkOgogICAgICAgICAgICAgdGhpcy0+dmlzaXRM
YXllcihsYXllciwgb2NjbHVzaW9uKTsKICAgICAgICAgICAgIHRoaXMtPmVudGVyTGF5ZXIocGFy
ZW50LCBvY2NsdXNpb24pOwogCi0gICAgICAgICAgICBFWFBFQ1RfRVFfUkVDVChJbnRSZWN0KDEy
MCwgMTIwLCAxODAsIDE4MCksIG9jY2x1c2lvbi5vY2NsdXNpb25JblNjcmVlblNwYWNlKCkuYm91
bmRzKCkpOworICAgICAgICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKEludFJlY3QoMTIwLCAxMjAs
IDE4MCwgMTgwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluU2NyZWVuU3BhY2UoKS5ib3VuZHMoKSk7
CiAgICAgICAgICAgICBFWFBFQ1RfRVEoMXUsIG9jY2x1c2lvbi5vY2NsdXNpb25JblNjcmVlblNw
YWNlKCkucmVjdHMoKS5zaXplKCkpOwogCiAgICAgICAgICAgICBFWFBFQ1RfRkFMU0Uob2NjbHVz
aW9uLm9jY2x1ZGVkKHBhcmVudCwgSW50UmVjdCgwLCAxMDAsIDEwMCwgMTAwKSkpOwpAQCAtMTgz
MSw3ICsxODI2LDcgQEAgcHJvdGVjdGVkOgogICAgICAgICAgICAgdGhpcy0+dmlzaXRMYXllcihs
YXllciwgb2NjbHVzaW9uKTsKICAgICAgICAgICAgIHRoaXMtPmVudGVyTGF5ZXIocGFyZW50LCBv
Y2NsdXNpb24pOwogCi0gICAgICAgICAgICBFWFBFQ1RfRVFfUkVDVChJbnRSZWN0KDI1MCwgMjUw
LCA1MCwgNTApLCBvY2NsdXNpb24ub2NjbHVzaW9uSW5TY3JlZW5TcGFjZSgpLmJvdW5kcygpKTsK
KyAgICAgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJbnRSZWN0KDI1MCwgMjUwLCA1MCwgNTAp
LCBvY2NsdXNpb24ub2NjbHVzaW9uSW5TY3JlZW5TcGFjZSgpLmJvdW5kcygpKTsKICAgICAgICAg
ICAgIEVYUEVDVF9FUSgxdSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluU2NyZWVuU3BhY2UoKS5yZWN0
cygpLnNpemUoKSk7CiAKICAgICAgICAgICAgIEVYUEVDVF9GQUxTRShvY2NsdXNpb24ub2NjbHVk
ZWQocGFyZW50LCBJbnRSZWN0KDAsIDEwMCwgMTAwLCAxMDApKSk7CkBAIC0xODYwLDcgKzE4NTUs
NyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIHRoaXMtPmVudGVyTGF5ZXIobGF5ZXIsIG9jY2x1c2lv
bik7CiAKICAgICAgICAgLy8gVGhlIGxheWVyIGlzIHJvdGF0ZWQgaW4gM2QgYnV0IHdpdGhvdXQg
cHJlc2VydmluZyAzZCwgc28gaXQgb25seSBnZXRzIHJlc2l6ZWQuCi0gICAgICAgIEVYUEVDVF9F
UV9SRUNUKEludFJlY3QoMCwgMCwgMjAwLCAyMDApLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRl
bnRSZWN0KGxheWVyLCBJbnRSZWN0KDAsIDAsIDIwMCwgMjAwKSkpOworICAgICAgICBFWFBFQ1Rf
SU5UX1JFQ1RfRVEoSW50UmVjdCgwLCAwLCAyMDAsIDIwMCksIG9jY2x1c2lvbi51bm9jY2x1ZGVk
Q29udGVudFJlY3QobGF5ZXIsIEludFJlY3QoMCwgMCwgMjAwLCAyMDApKSk7CiAgICAgfQogfTsK
IApAQCAtMTg4Nyw3ICsxODgyLDcgQEAgcHJvdGVjdGVkOgogICAgICAgICBUZXN0Q0NPY2NsdXNp
b25UcmFja2VyV2l0aFNjaXNzb3I8dHlwZW5hbWUgVHlwZXM6OkxheWVyVHlwZSwgdHlwZW5hbWUg
VHlwZXM6OlJlbmRlclN1cmZhY2VUeXBlPiBvY2NsdXNpb24oSW50UmVjdCgwLCAwLCAxMDAwLCAx
MDAwKSk7CiAgICAgICAgIHRoaXMtPmVudGVyTGF5ZXIobGF5ZXIsIG9jY2x1c2lvbik7CiAKLSAg
ICAgICAgRVhQRUNUX0VRX1JFQ1QoSW50UmVjdCgwLCAwLCAyMDAsIDIwMCksIG9jY2x1c2lvbi51
bm9jY2x1ZGVkQ29udGVudFJlY3QobGF5ZXIsIEludFJlY3QoMCwgMCwgMjAwLCAyMDApKSk7Cisg
ICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJbnRSZWN0KDAsIDAsIDIwMCwgMjAwKSwgb2NjbHVz
aW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChsYXllciwgSW50UmVjdCgwLCAwLCAyMDAsIDIwMCkp
KTsKICAgICB9CiB9OwogCkBAIC0yMDEyLDI3ICsyMDA3LDI3IEBAIHByb3RlY3RlZDoKICAgICAg
ICAgdGhpcy0+dmlzaXRMYXllcih0b3Btb3N0LCBvY2NsdXNpb24pOwogICAgICAgICB0aGlzLT5l
bnRlckxheWVyKHBhcmVudDIsIG9jY2x1c2lvbik7CiAgICAgICAgIC8vIFRoaXMgb2NjbHVzaW9u
IHdpbGwgYWZmZWN0IGFsbCBzdXJmYWNlcy4KLSAgICAgICAgRVhQRUNUX0VRX1JFQ1QoSW50UmVj
dCgwLCAwLCAyNTAsIDMwMCksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3QocGFyZW50
MiwgSW50UmVjdCgwLCAwLCAzMDAsIDMwMCkpKTsKKyAgICAgICAgRVhQRUNUX0lOVF9SRUNUX0VR
KEludFJlY3QoMCwgMCwgMjUwLCAzMDApLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0
KHBhcmVudDIsIEludFJlY3QoMCwgMCwgMzAwLCAzMDApKSk7CiAgICAgICAgIHRoaXMtPmxlYXZl
TGF5ZXIocGFyZW50Miwgb2NjbHVzaW9uKTsKIAogICAgICAgICB0aGlzLT52aXNpdExheWVyKHN1
cmZhY2VDaGlsZDIsIG9jY2x1c2lvbik7CiAgICAgICAgIHRoaXMtPmVudGVyTGF5ZXIoc3VyZmFj
ZUNoaWxkLCBvY2NsdXNpb24pOwotICAgICAgICBFWFBFQ1RfRVFfUkVDVChJbnRSZWN0KDEwMCwg
MCwgMTUwLCAzMDApLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KHN1cmZhY2VDaGls
ZCwgSW50UmVjdCgwLCAwLCAzMDAsIDMwMCkpKTsKKyAgICAgICAgRVhQRUNUX0lOVF9SRUNUX0VR
KEludFJlY3QoMTAwLCAwLCAxNTAsIDMwMCksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJl
Y3Qoc3VyZmFjZUNoaWxkLCBJbnRSZWN0KDAsIDAsIDMwMCwgMzAwKSkpOwogICAgICAgICB0aGlz
LT5sZWF2ZUxheWVyKHN1cmZhY2VDaGlsZCwgb2NjbHVzaW9uKTsKICAgICAgICAgdGhpcy0+ZW50
ZXJMYXllcihzdXJmYWNlLCBvY2NsdXNpb24pOwotICAgICAgICBFWFBFQ1RfRVFfUkVDVChJbnRS
ZWN0KDIwMCwgMCwgNTAsIDMwMCksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3Qoc3Vy
ZmFjZSwgSW50UmVjdCgwLCAwLCAzMDAsIDMwMCkpKTsKKyAgICAgICAgRVhQRUNUX0lOVF9SRUNU
X0VRKEludFJlY3QoMjAwLCAwLCA1MCwgMzAwKSwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50
UmVjdChzdXJmYWNlLCBJbnRSZWN0KDAsIDAsIDMwMCwgMzAwKSkpOwogICAgICAgICB0aGlzLT5s
ZWF2ZUxheWVyKHN1cmZhY2UsIG9jY2x1c2lvbik7CiAKICAgICAgICAgdGhpcy0+ZW50ZXJDb250
cmlidXRpbmdTdXJmYWNlKHN1cmZhY2UsIG9jY2x1c2lvbik7CiAgICAgICAgIC8vIE9jY2x1c2lv
biB3aXRoaW4gdGhlIHN1cmZhY2UgaXMgbG9zdCB3aGVuIGxlYXZpbmcgdGhlIGFuaW1hdGluZyBz
dXJmYWNlLgotICAgICAgICBFWFBFQ1RfRVFfUkVDVChJbnRSZWN0KDAsIDAsIDI1MCwgMzAwKSwg
b2NjbHVzaW9uLnVub2NjbHVkZWRDb250cmlidXRpbmdTdXJmYWNlQ29udGVudFJlY3Qoc3VyZmFj
ZS0+cmVuZGVyU3VyZmFjZSgpLCBmYWxzZSwgSW50UmVjdCgwLCAwLCAzMDAsIDMwMCkpKTsKKyAg
ICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKEludFJlY3QoMCwgMCwgMjUwLCAzMDApLCBvY2NsdXNp
b24udW5vY2NsdWRlZENvbnRyaWJ1dGluZ1N1cmZhY2VDb250ZW50UmVjdChzdXJmYWNlLT5yZW5k
ZXJTdXJmYWNlKCksIGZhbHNlLCBJbnRSZWN0KDAsIDAsIDMwMCwgMzAwKSkpOwogICAgICAgICB0
aGlzLT5sZWF2ZUNvbnRyaWJ1dGluZ1N1cmZhY2Uoc3VyZmFjZSwgb2NjbHVzaW9uKTsKIAogICAg
ICAgICB0aGlzLT52aXNpdExheWVyKGxheWVyLCBvY2NsdXNpb24pOwogICAgICAgICB0aGlzLT5l
bnRlckxheWVyKHBhcmVudCwgb2NjbHVzaW9uKTsKIAogICAgICAgICAvLyBPY2NsdXNpb24gaXMg
bm90IGFkZGVkIGZvciB0aGUgYW5pbWF0aW5nIHxsYXllcnwuCi0gICAgICAgIEVYUEVDVF9FUV9S
RUNUKEludFJlY3QoMCwgMCwgMjUwLCAzMDApLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRS
ZWN0KHBhcmVudCwgSW50UmVjdCgwLCAwLCAzMDAsIDMwMCkpKTsKKyAgICAgICAgRVhQRUNUX0lO
VF9SRUNUX0VRKEludFJlY3QoMCwgMCwgMjUwLCAzMDApLCBvY2NsdXNpb24udW5vY2NsdWRlZENv
bnRlbnRSZWN0KHBhcmVudCwgSW50UmVjdCgwLCAwLCAzMDAsIDMwMCkpKTsKICAgICB9CiB9Owog
CkBAIC0yMDY0LDI3ICsyMDU5LDI3IEBAIHByb3RlY3RlZDoKICAgICAgICAgdGhpcy0+dmlzaXRM
YXllcih0b3Btb3N0LCBvY2NsdXNpb24pOwogICAgICAgICB0aGlzLT5lbnRlckxheWVyKHBhcmVu
dDIsIG9jY2x1c2lvbik7CiAgICAgICAgIC8vIFRoaXMgb2NjbHVzaW9uIHdpbGwgYWZmZWN0IGFs
bCBzdXJmYWNlcy4KLSAgICAgICAgRVhQRUNUX0VRX1JFQ1QoSW50UmVjdCgwLCAwLCAyNTAsIDMw
MCksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3QocGFyZW50LCBJbnRSZWN0KDAsIDAs
IDMwMCwgMzAwKSkpOworICAgICAgICBFWFBFQ1RfSU5UX1JFQ1RfRVEoSW50UmVjdCgwLCAwLCAy
NTAsIDMwMCksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3QocGFyZW50LCBJbnRSZWN0
KDAsIDAsIDMwMCwgMzAwKSkpOwogICAgICAgICB0aGlzLT5sZWF2ZUxheWVyKHBhcmVudDIsIG9j
Y2x1c2lvbik7CiAKICAgICAgICAgdGhpcy0+dmlzaXRMYXllcihzdXJmYWNlQ2hpbGQyLCBvY2Ns
dXNpb24pOwogICAgICAgICB0aGlzLT5lbnRlckxheWVyKHN1cmZhY2VDaGlsZCwgb2NjbHVzaW9u
KTsKLSAgICAgICAgRVhQRUNUX0VRX1JFQ1QoSW50UmVjdCgxMDAsIDAsIDE1MCwgMzAwKSwgb2Nj
bHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChzdXJmYWNlQ2hpbGQsIEludFJlY3QoMCwgMCwg
MzAwLCAzMDApKSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJbnRSZWN0KDEwMCwgMCwg
MTUwLCAzMDApLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KHN1cmZhY2VDaGlsZCwg
SW50UmVjdCgwLCAwLCAzMDAsIDMwMCkpKTsKICAgICAgICAgdGhpcy0+bGVhdmVMYXllcihzdXJm
YWNlQ2hpbGQsIG9jY2x1c2lvbik7CiAgICAgICAgIHRoaXMtPmVudGVyTGF5ZXIoc3VyZmFjZSwg
b2NjbHVzaW9uKTsKLSAgICAgICAgRVhQRUNUX0VRX1JFQ1QoSW50UmVjdCgyMDAsIDAsIDUwLCAz
MDApLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KHN1cmZhY2UsIEludFJlY3QoMCwg
MCwgMzAwLCAzMDApKSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJbnRSZWN0KDIwMCwg
MCwgNTAsIDMwMCksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3Qoc3VyZmFjZSwgSW50
UmVjdCgwLCAwLCAzMDAsIDMwMCkpKTsKICAgICAgICAgdGhpcy0+bGVhdmVMYXllcihzdXJmYWNl
LCBvY2NsdXNpb24pOwogCiAgICAgICAgIHRoaXMtPmVudGVyQ29udHJpYnV0aW5nU3VyZmFjZShz
dXJmYWNlLCBvY2NsdXNpb24pOwogICAgICAgICAvLyBPY2NsdXNpb24gd2l0aGluIHRoZSBzdXJm
YWNlIGlzIGxvc3Qgd2hlbiBsZWF2aW5nIHRoZSBhbmltYXRpbmcgc3VyZmFjZS4KLSAgICAgICAg
RVhQRUNUX0VRX1JFQ1QoSW50UmVjdCgwLCAwLCAyNTAsIDMwMCksIG9jY2x1c2lvbi51bm9jY2x1
ZGVkQ29udHJpYnV0aW5nU3VyZmFjZUNvbnRlbnRSZWN0KHN1cmZhY2UtPnJlbmRlclN1cmZhY2Uo
KSwgZmFsc2UsIEludFJlY3QoMCwgMCwgMzAwLCAzMDApKSk7CisgICAgICAgIEVYUEVDVF9JTlRf
UkVDVF9FUShJbnRSZWN0KDAsIDAsIDI1MCwgMzAwKSwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250
cmlidXRpbmdTdXJmYWNlQ29udGVudFJlY3Qoc3VyZmFjZS0+cmVuZGVyU3VyZmFjZSgpLCBmYWxz
ZSwgSW50UmVjdCgwLCAwLCAzMDAsIDMwMCkpKTsKICAgICAgICAgdGhpcy0+bGVhdmVDb250cmli
dXRpbmdTdXJmYWNlKHN1cmZhY2UsIG9jY2x1c2lvbik7CiAKICAgICAgICAgdGhpcy0+dmlzaXRM
YXllcihsYXllciwgb2NjbHVzaW9uKTsKICAgICAgICAgdGhpcy0+ZW50ZXJMYXllcihwYXJlbnQs
IG9jY2x1c2lvbik7CiAKICAgICAgICAgLy8gT2NjbHVzaW9uIGlzIG5vdCBhZGRlZCBmb3IgdGhl
IGFuaW1hdGluZyB8bGF5ZXJ8LgotICAgICAgICBFWFBFQ1RfRVFfUkVDVChJbnRSZWN0KDAsIDAs
IDI1MCwgMzAwKSwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChwYXJlbnQsIEludFJl
Y3QoMCwgMCwgMzAwLCAzMDApKSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJbnRSZWN0
KDAsIDAsIDI1MCwgMzAwKSwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChwYXJlbnQs
IEludFJlY3QoMCwgMCwgMzAwLCAzMDApKSk7CiAgICAgfQogfTsKIApAQCAtMjEyMiw3ICsyMTE3
LDcgQEAgcHJvdGVjdGVkOgogICAgICAgICB0aGlzLT52aXNpdExheWVyKHN1cmZhY2UyLCBvY2Ns
dXNpb24pOwogICAgICAgICB0aGlzLT5lbnRlckNvbnRyaWJ1dGluZ1N1cmZhY2Uoc3VyZmFjZTIs
IG9jY2x1c2lvbik7CiAKLSAgICAgICAgRVhQRUNUX0VRX1JFQ1QoSW50UmVjdCgwLCAwLCA1MCwg
MzAwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluU2NyZWVuU3BhY2UoKS5ib3VuZHMoKSk7CisgICAg
ICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJbnRSZWN0KDAsIDAsIDUwLCAzMDApLCBvY2NsdXNpb24u
b2NjbHVzaW9uSW5TY3JlZW5TcGFjZSgpLmJvdW5kcygpKTsKICAgICAgICAgRVhQRUNUX0VRKDF1
LCBvY2NsdXNpb24ub2NjbHVzaW9uSW5TY3JlZW5TcGFjZSgpLnJlY3RzKCkuc2l6ZSgpKTsKIAog
ICAgICAgICB0aGlzLT5sZWF2ZUNvbnRyaWJ1dGluZ1N1cmZhY2Uoc3VyZmFjZTIsIG9jY2x1c2lv
bik7CkBAIC0yMTMwLDUzICsyMTI1LDUzIEBAIHByb3RlY3RlZDoKIAogICAgICAgICAvLyBzdXJm
YWNlQ2hpbGQyIGlzIG1vdmluZyBpbiBzY3JlZW4gc3BhY2UgYnV0IG5vdCByZWxhdGl2ZSB0byBp
dHMgdGFyZ2V0LCBzbyBvY2NsdXNpb24gc2hvdWxkIGhhcHBlbiBpbiBpdHMgdGFyZ2V0IHNwYWNl
IG9ubHkuCiAgICAgICAgIC8vIEl0IGFsc28gbWVhbnMgdGhhdCB0aGluZ3Mgb2NjbHVkaW5nIGlu
IHNjcmVlbiBzcGFjZSAoZS5nLiBzdXJmYWNlMikgY2Fubm90IG9jY2x1ZGUgdGhpcyBsYXllci4K
LSAgICAgICAgRVhQRUNUX0VRX1JFQ1QoSW50UmVjdCgwLCAwLCAxMDAsIDMwMCksIG9jY2x1c2lv
bi51bm9jY2x1ZGVkQ29udGVudFJlY3Qoc3VyZmFjZUNoaWxkMiwgSW50UmVjdCgwLCAwLCAxMDAs
IDMwMCkpKTsKKyAgICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKEludFJlY3QoMCwgMCwgMTAwLCAz
MDApLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KHN1cmZhY2VDaGlsZDIsIEludFJl
Y3QoMCwgMCwgMTAwLCAzMDApKSk7CiAgICAgICAgIEVYUEVDVF9GQUxTRShvY2NsdXNpb24ub2Nj
bHVkZWQoc3VyZmFjZUNoaWxkLCBJbnRSZWN0KDAsIDAsIDUwLCAzMDApKSk7CiAKICAgICAgICAg
dGhpcy0+bGVhdmVMYXllcihzdXJmYWNlQ2hpbGQyLCBvY2NsdXNpb24pOwogICAgICAgICB0aGlz
LT5lbnRlckxheWVyKHN1cmZhY2VDaGlsZCwgb2NjbHVzaW9uKTsKICAgICAgICAgRVhQRUNUX0ZB
TFNFKG9jY2x1c2lvbi5vY2NsdWRlZChzdXJmYWNlQ2hpbGQsIEludFJlY3QoMCwgMCwgMTAwLCAz
MDApKSk7Ci0gICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJlY3QoMCwgMCwgNTAsIDMwMCksIG9j
Y2x1c2lvbi5vY2NsdXNpb25JblNjcmVlblNwYWNlKCkuYm91bmRzKCkpOworICAgICAgICBFWFBF
Q1RfSU5UX1JFQ1RfRVEoSW50UmVjdCgwLCAwLCA1MCwgMzAwKSwgb2NjbHVzaW9uLm9jY2x1c2lv
bkluU2NyZWVuU3BhY2UoKS5ib3VuZHMoKSk7CiAgICAgICAgIEVYUEVDVF9FUSgxdSwgb2NjbHVz
aW9uLm9jY2x1c2lvbkluU2NyZWVuU3BhY2UoKS5yZWN0cygpLnNpemUoKSk7Ci0gICAgICAgIEVY
UEVDVF9FUV9SRUNUKEludFJlY3QoMCwgMCwgMTAwLCAzMDApLCBvY2NsdXNpb24ub2NjbHVzaW9u
SW5UYXJnZXRTdXJmYWNlKCkuYm91bmRzKCkpOworICAgICAgICBFWFBFQ1RfSU5UX1JFQ1RfRVEo
SW50UmVjdCgwLCAwLCAxMDAsIDMwMCksIG9jY2x1c2lvbi5vY2NsdXNpb25JblRhcmdldFN1cmZh
Y2UoKS5ib3VuZHMoKSk7CiAgICAgICAgIEVYUEVDVF9FUSgxdSwgb2NjbHVzaW9uLm9jY2x1c2lv
bkluVGFyZ2V0U3VyZmFjZSgpLnJlY3RzKCkuc2l6ZSgpKTsKLSAgICAgICAgRVhQRUNUX0VRX1JF
Q1QoSW50UmVjdCgxMDAsIDAsIDIwMCwgMzAwKSwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50
UmVjdChzdXJmYWNlLCBJbnRSZWN0KDAsIDAsIDMwMCwgMzAwKSkpOworICAgICAgICBFWFBFQ1Rf
SU5UX1JFQ1RfRVEoSW50UmVjdCgxMDAsIDAsIDIwMCwgMzAwKSwgb2NjbHVzaW9uLnVub2NjbHVk
ZWRDb250ZW50UmVjdChzdXJmYWNlLCBJbnRSZWN0KDAsIDAsIDMwMCwgMzAwKSkpOwogCiAgICAg
ICAgIC8vIFRoZSBzdXJmYWNlQ2hpbGQgaXMgb2NjbHVkZWQgYnkgdGhlIHN1cmZhY2VDaGlsZDIs
IGJ1dCBpcyBtb3ZpbmcgcmVsYXRpdmUgaXRzIHRhcmdldCBhbmQgdGhlIHNjcmVlbiwgc28gaXQK
ICAgICAgICAgLy8gY2FuJ3QgYmUgb2NjbHVkZWQuCi0gICAgICAgIEVYUEVDVF9FUV9SRUNUKElu
dFJlY3QoMCwgMCwgMjAwLCAzMDApLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KHN1
cmZhY2VDaGlsZCwgSW50UmVjdCgwLCAwLCAyMDAsIDMwMCkpKTsKKyAgICAgICAgRVhQRUNUX0lO
VF9SRUNUX0VRKEludFJlY3QoMCwgMCwgMjAwLCAzMDApLCBvY2NsdXNpb24udW5vY2NsdWRlZENv
bnRlbnRSZWN0KHN1cmZhY2VDaGlsZCwgSW50UmVjdCgwLCAwLCAyMDAsIDMwMCkpKTsKICAgICAg
ICAgRVhQRUNUX0ZBTFNFKG9jY2x1c2lvbi5vY2NsdWRlZChzdXJmYWNlQ2hpbGQsIEludFJlY3Qo
MCwgMCwgNTAsIDMwMCkpKTsKIAogICAgICAgICB0aGlzLT5sZWF2ZUxheWVyKHN1cmZhY2VDaGls
ZCwgb2NjbHVzaW9uKTsKICAgICAgICAgdGhpcy0+ZW50ZXJMYXllcihzdXJmYWNlLCBvY2NsdXNp
b24pOwogICAgICAgICAvLyBUaGUgc3VyZmFjZUNoaWxkIGlzIG1vdmluZyBpbiBzY3JlZW4gc3Bh
Y2UgYnV0IG5vdCByZWxhdGl2ZSB0byBpdHMgdGFyZ2V0LCBzbyBvY2NsdXNpb24gc2hvdWxkIGhh
cHBlbiBpbiBpdHMgdGFyZ2V0IHNwYWNlIG9ubHkuCi0gICAgICAgIEVYUEVDVF9FUV9SRUNUKElu
dFJlY3QoMCwgMCwgNTAsIDMwMCksIG9jY2x1c2lvbi5vY2NsdXNpb25JblNjcmVlblNwYWNlKCku
Ym91bmRzKCkpOworICAgICAgICBFWFBFQ1RfSU5UX1JFQ1RfRVEoSW50UmVjdCgwLCAwLCA1MCwg
MzAwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluU2NyZWVuU3BhY2UoKS5ib3VuZHMoKSk7CiAgICAg
ICAgIEVYUEVDVF9FUSgxdSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluU2NyZWVuU3BhY2UoKS5yZWN0
cygpLnNpemUoKSk7Ci0gICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJlY3QoMCwgMCwgMTAwLCAz
MDApLCBvY2NsdXNpb24ub2NjbHVzaW9uSW5UYXJnZXRTdXJmYWNlKCkuYm91bmRzKCkpOworICAg
ICAgICBFWFBFQ1RfSU5UX1JFQ1RfRVEoSW50UmVjdCgwLCAwLCAxMDAsIDMwMCksIG9jY2x1c2lv
bi5vY2NsdXNpb25JblRhcmdldFN1cmZhY2UoKS5ib3VuZHMoKSk7CiAgICAgICAgIEVYUEVDVF9F
USgxdSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluVGFyZ2V0U3VyZmFjZSgpLnJlY3RzKCkuc2l6ZSgp
KTsKLSAgICAgICAgRVhQRUNUX0VRX1JFQ1QoSW50UmVjdCgxMDAsIDAsIDIwMCwgMzAwKSwgb2Nj
bHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChzdXJmYWNlLCBJbnRSZWN0KDAsIDAsIDMwMCwg
MzAwKSkpOworICAgICAgICBFWFBFQ1RfSU5UX1JFQ1RfRVEoSW50UmVjdCgxMDAsIDAsIDIwMCwg
MzAwKSwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChzdXJmYWNlLCBJbnRSZWN0KDAs
IDAsIDMwMCwgMzAwKSkpOwogCiAgICAgICAgIHRoaXMtPmxlYXZlTGF5ZXIoc3VyZmFjZSwgb2Nj
bHVzaW9uKTsKICAgICAgICAgLy8gVGhlIHN1cmZhY2UncyBvd25pbmcgbGF5ZXIgaXMgbW92aW5n
IGluIHNjcmVlbiBzcGFjZSBidXQgbm90IHJlbGF0aXZlIHRvIGl0cyB0YXJnZXQsIHNvIG9jY2x1
c2lvbiBzaG91bGQgaGFwcGVuIGluIGl0cyB0YXJnZXQgc3BhY2Ugb25seS4KLSAgICAgICAgRVhQ
RUNUX0VRX1JFQ1QoSW50UmVjdCgwLCAwLCA1MCwgMzAwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbklu
U2NyZWVuU3BhY2UoKS5ib3VuZHMoKSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJbnRS
ZWN0KDAsIDAsIDUwLCAzMDApLCBvY2NsdXNpb24ub2NjbHVzaW9uSW5TY3JlZW5TcGFjZSgpLmJv
dW5kcygpKTsKICAgICAgICAgRVhQRUNUX0VRKDF1LCBvY2NsdXNpb24ub2NjbHVzaW9uSW5TY3Jl
ZW5TcGFjZSgpLnJlY3RzKCkuc2l6ZSgpKTsKLSAgICAgICAgRVhQRUNUX0VRX1JFQ1QoSW50UmVj
dCgwLCAwLCAzMDAsIDMwMCksIG9jY2x1c2lvbi5vY2NsdXNpb25JblRhcmdldFN1cmZhY2UoKS5i
b3VuZHMoKSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJbnRSZWN0KDAsIDAsIDMwMCwg
MzAwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluVGFyZ2V0U3VyZmFjZSgpLmJvdW5kcygpKTsKICAg
ICAgICAgRVhQRUNUX0VRKDF1LCBvY2NsdXNpb24ub2NjbHVzaW9uSW5UYXJnZXRTdXJmYWNlKCku
cmVjdHMoKS5zaXplKCkpOwotICAgICAgICBFWFBFQ1RfRVFfUkVDVChJbnRSZWN0KDAsIDAsIDAs
IDApLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KHN1cmZhY2UsIEludFJlY3QoMCwg
MCwgMzAwLCAzMDApKSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJbnRSZWN0KDAsIDAs
IDAsIDApLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KHN1cmZhY2UsIEludFJlY3Qo
MCwgMCwgMzAwLCAzMDApKSk7CiAKICAgICAgICAgdGhpcy0+ZW50ZXJDb250cmlidXRpbmdTdXJm
YWNlKHN1cmZhY2UsIG9jY2x1c2lvbik7CiAgICAgICAgIC8vIFRoZSBjb250cmlidXRpbmcgfHN1
cmZhY2V8IGlzIGFuaW1hdGluZyBzbyBpdCBjYW4ndCBiZSBvY2NsdWRlZC4KLSAgICAgICAgRVhQ
RUNUX0VRX1JFQ1QoSW50UmVjdCgwLCAwLCAzMDAsIDMwMCksIG9jY2x1c2lvbi51bm9jY2x1ZGVk
Q29udHJpYnV0aW5nU3VyZmFjZUNvbnRlbnRSZWN0KHN1cmZhY2UtPnJlbmRlclN1cmZhY2UoKSwg
ZmFsc2UsIEludFJlY3QoMCwgMCwgMzAwLCAzMDApKSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVD
VF9FUShJbnRSZWN0KDAsIDAsIDMwMCwgMzAwKSwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250cmli
dXRpbmdTdXJmYWNlQ29udGVudFJlY3Qoc3VyZmFjZS0+cmVuZGVyU3VyZmFjZSgpLCBmYWxzZSwg
SW50UmVjdCgwLCAwLCAzMDAsIDMwMCkpKTsKICAgICAgICAgdGhpcy0+bGVhdmVDb250cmlidXRp
bmdTdXJmYWNlKHN1cmZhY2UsIG9jY2x1c2lvbik7CiAKICAgICAgICAgdGhpcy0+ZW50ZXJMYXll
cihsYXllciwgb2NjbHVzaW9uKTsKICAgICAgICAgLy8gVGhlIHxzdXJmYWNlfCBpcyBtb3Zpbmcg
aW4gdGhlIHNjcmVlbiBhbmQgaW4gaXRzIHRhcmdldCwgc28gYWxsIG9jY2x1c2lvbiB3aXRoaW4g
dGhlIHN1cmZhY2UgaXMgbG9zdCB3aGVuIGxlYXZpbmcgaXQuCi0gICAgICAgIEVYUEVDVF9FUV9S
RUNUKEludFJlY3QoNTAsIDAsIDI1MCwgMzAwKSwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50
UmVjdChwYXJlbnQsIEludFJlY3QoMCwgMCwgMzAwLCAzMDApKSk7CisgICAgICAgIEVYUEVDVF9J
TlRfUkVDVF9FUShJbnRSZWN0KDUwLCAwLCAyNTAsIDMwMCksIG9jY2x1c2lvbi51bm9jY2x1ZGVk
Q29udGVudFJlY3QocGFyZW50LCBJbnRSZWN0KDAsIDAsIDMwMCwgMzAwKSkpOwogICAgICAgICB0
aGlzLT5sZWF2ZUxheWVyKGxheWVyLCBvY2NsdXNpb24pOwogCiAgICAgICAgIHRoaXMtPmVudGVy
TGF5ZXIocGFyZW50LCBvY2NsdXNpb24pOwogICAgICAgICAvLyBUaGUgfGxheWVyfCBpcyBhbmlt
YXRpbmcgaW4gdGhlIHNjcmVlbiBhbmQgaW4gaXRzIHRhcmdldCwgc28gbm8gb2NjbHVzaW9uIGlz
IGFkZGVkLgotICAgICAgICBFWFBFQ1RfRVFfUkVDVChJbnRSZWN0KDUwLCAwLCAyNTAsIDMwMCks
IG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3QocGFyZW50LCBJbnRSZWN0KDAsIDAsIDMw
MCwgMzAwKSkpOworICAgICAgICBFWFBFQ1RfSU5UX1JFQ1RfRVEoSW50UmVjdCg1MCwgMCwgMjUw
LCAzMDApLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KHBhcmVudCwgSW50UmVjdCgw
LCAwLCAzMDAsIDMwMCkpKTsKICAgICB9CiB9OwogCkBAIC0yMjA0LDkgKzIxOTksOSBAQCBwcm90
ZWN0ZWQ6CiAgICAgICAgIHRoaXMtPnZpc2l0TGF5ZXIoc3VyZmFjZTIsIG9jY2x1c2lvbik7CiAg
ICAgICAgIHRoaXMtPnZpc2l0Q29udHJpYnV0aW5nU3VyZmFjZShzdXJmYWNlMiwgb2NjbHVzaW9u
KTsKIAotICAgICAgICBFWFBFQ1RfRVFfUkVDVChJbnRSZWN0KDUwLCA1MCwgMjAwLCAyMDApLCBv
Y2NsdXNpb24ub2NjbHVzaW9uSW5TY3JlZW5TcGFjZSgpLmJvdW5kcygpKTsKKyAgICAgICAgRVhQ
RUNUX0lOVF9SRUNUX0VRKEludFJlY3QoNTAsIDUwLCAyMDAsIDIwMCksIG9jY2x1c2lvbi5vY2Ns
dXNpb25JblNjcmVlblNwYWNlKCkuYm91bmRzKCkpOwogICAgICAgICBFWFBFQ1RfRVEoMXUsIG9j
Y2x1c2lvbi5vY2NsdXNpb25JblNjcmVlblNwYWNlKCkucmVjdHMoKS5zaXplKCkpOwotICAgICAg
ICBFWFBFQ1RfRVFfUkVDVChJbnRSZWN0KDUwLCA1MCwgMjAwLCAyMDApLCBvY2NsdXNpb24ub2Nj
bHVzaW9uSW5UYXJnZXRTdXJmYWNlKCkuYm91bmRzKCkpOworICAgICAgICBFWFBFQ1RfSU5UX1JF
Q1RfRVEoSW50UmVjdCg1MCwgNTAsIDIwMCwgMjAwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluVGFy
Z2V0U3VyZmFjZSgpLmJvdW5kcygpKTsKICAgICAgICAgRVhQRUNUX0VRKDF1LCBvY2NsdXNpb24u
b2NjbHVzaW9uSW5UYXJnZXRTdXJmYWNlKCkucmVjdHMoKS5zaXplKCkpOwogCiAgICAgICAgIC8v
IENsZWFyIGFueSBzdG9yZWQgb2NjbHVzaW9uLgpAQCAtMjIxNiw5ICsyMjExLDkgQEAgcHJvdGVj
dGVkOgogICAgICAgICB0aGlzLT52aXNpdExheWVyKHN1cmZhY2UsIG9jY2x1c2lvbik7CiAgICAg
ICAgIHRoaXMtPnZpc2l0Q29udHJpYnV0aW5nU3VyZmFjZShzdXJmYWNlLCBvY2NsdXNpb24pOwog
Ci0gICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJlY3QoMCwgMCwgNDAwLCA0MDApLCBvY2NsdXNp
b24ub2NjbHVzaW9uSW5TY3JlZW5TcGFjZSgpLmJvdW5kcygpKTsKKyAgICAgICAgRVhQRUNUX0lO
VF9SRUNUX0VRKEludFJlY3QoMCwgMCwgNDAwLCA0MDApLCBvY2NsdXNpb24ub2NjbHVzaW9uSW5T
Y3JlZW5TcGFjZSgpLmJvdW5kcygpKTsKICAgICAgICAgRVhQRUNUX0VRKDF1LCBvY2NsdXNpb24u
b2NjbHVzaW9uSW5TY3JlZW5TcGFjZSgpLnJlY3RzKCkuc2l6ZSgpKTsKLSAgICAgICAgRVhQRUNU
X0VRX1JFQ1QoSW50UmVjdCgwLCAwLCA0MDAsIDQwMCksIG9jY2x1c2lvbi5vY2NsdXNpb25JblRh
cmdldFN1cmZhY2UoKS5ib3VuZHMoKSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJbnRS
ZWN0KDAsIDAsIDQwMCwgNDAwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluVGFyZ2V0U3VyZmFjZSgp
LmJvdW5kcygpKTsKICAgICAgICAgRVhQRUNUX0VRKDF1LCBvY2NsdXNpb24ub2NjbHVzaW9uSW5U
YXJnZXRTdXJmYWNlKCkucmVjdHMoKS5zaXplKCkpOwogICAgIH0KIH07CkBAIC0yMjQwLDkgKzIy
MzUsOSBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIHRoaXMtPnZpc2l0TGF5ZXIoc3VyZmFjZSwgb2Nj
bHVzaW9uKTsKICAgICAgICAgdGhpcy0+dmlzaXRDb250cmlidXRpbmdTdXJmYWNlKHN1cmZhY2Us
IG9jY2x1c2lvbik7CiAKLSAgICAgICAgRVhQRUNUX0VRX1JFQ1QoSW50UmVjdCgwLCAwLCAzMDAs
IDIwMCksIG9jY2x1c2lvbi5vY2NsdXNpb25JblNjcmVlblNwYWNlKCkuYm91bmRzKCkpOworICAg
ICAgICBFWFBFQ1RfSU5UX1JFQ1RfRVEoSW50UmVjdCgwLCAwLCAzMDAsIDIwMCksIG9jY2x1c2lv
bi5vY2NsdXNpb25JblNjcmVlblNwYWNlKCkuYm91bmRzKCkpOwogICAgICAgICBFWFBFQ1RfRVEo
MXUsIG9jY2x1c2lvbi5vY2NsdXNpb25JblNjcmVlblNwYWNlKCkucmVjdHMoKS5zaXplKCkpOwot
ICAgICAgICBFWFBFQ1RfRVFfUkVDVChJbnRSZWN0KDAsIDAsIDMwMCwgMjAwKSwgb2NjbHVzaW9u
Lm9jY2x1c2lvbkluVGFyZ2V0U3VyZmFjZSgpLmJvdW5kcygpKTsKKyAgICAgICAgRVhQRUNUX0lO
VF9SRUNUX0VRKEludFJlY3QoMCwgMCwgMzAwLCAyMDApLCBvY2NsdXNpb24ub2NjbHVzaW9uSW5U
YXJnZXRTdXJmYWNlKCkuYm91bmRzKCkpOwogICAgICAgICBFWFBFQ1RfRVEoMXUsIG9jY2x1c2lv
bi5vY2NsdXNpb25JblRhcmdldFN1cmZhY2UoKS5yZWN0cygpLnNpemUoKSk7CiAgICAgfQogfTsK
QEAgLTIyNjYsMjIgKzIyNjEsMjIgQEAgcHJvdGVjdGVkOgogICAgICAgICAvLyB8dG9wbW9zdHwg
b2NjbHVkZXMgdGhlIHJlcGxpY2EsIGJ1dCBub3QgdGhlIHN1cmZhY2UgaXRzZWxmLgogICAgICAg
ICB0aGlzLT52aXNpdExheWVyKHRvcG1vc3QsIG9jY2x1c2lvbik7CiAKLSAgICAgICAgRVhQRUNU
X0VRX1JFQ1QoSW50UmVjdCgwLCAxMDAsIDEwMCwgMTAwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbklu
U2NyZWVuU3BhY2UoKS5ib3VuZHMoKSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJbnRS
ZWN0KDAsIDEwMCwgMTAwLCAxMDApLCBvY2NsdXNpb24ub2NjbHVzaW9uSW5TY3JlZW5TcGFjZSgp
LmJvdW5kcygpKTsKICAgICAgICAgRVhQRUNUX0VRKDF1LCBvY2NsdXNpb24ub2NjbHVzaW9uSW5T
Y3JlZW5TcGFjZSgpLnJlY3RzKCkuc2l6ZSgpKTsKLSAgICAgICAgRVhQRUNUX0VRX1JFQ1QoSW50
UmVjdCgwLCAxMDAsIDEwMCwgMTAwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluVGFyZ2V0U3VyZmFj
ZSgpLmJvdW5kcygpKTsKKyAgICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKEludFJlY3QoMCwgMTAw
LCAxMDAsIDEwMCksIG9jY2x1c2lvbi5vY2NsdXNpb25JblRhcmdldFN1cmZhY2UoKS5ib3VuZHMo
KSk7CiAgICAgICAgIEVYUEVDVF9FUSgxdSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluVGFyZ2V0U3Vy
ZmFjZSgpLnJlY3RzKCkuc2l6ZSgpKTsKIAogICAgICAgICB0aGlzLT52aXNpdExheWVyKHN1cmZh
Y2UsIG9jY2x1c2lvbik7CiAKLSAgICAgICAgRVhQRUNUX0VRX1JFQ1QoSW50UmVjdCgwLCAwLCAx
MDAsIDIwMCksIG9jY2x1c2lvbi5vY2NsdXNpb25JblNjcmVlblNwYWNlKCkuYm91bmRzKCkpOwor
ICAgICAgICBFWFBFQ1RfSU5UX1JFQ1RfRVEoSW50UmVjdCgwLCAwLCAxMDAsIDIwMCksIG9jY2x1
c2lvbi5vY2NsdXNpb25JblNjcmVlblNwYWNlKCkuYm91bmRzKCkpOwogICAgICAgICBFWFBFQ1Rf
RVEoMXUsIG9jY2x1c2lvbi5vY2NsdXNpb25JblNjcmVlblNwYWNlKCkucmVjdHMoKS5zaXplKCkp
OwotICAgICAgICBFWFBFQ1RfRVFfUkVDVChJbnRSZWN0KDAsIDAsIDEwMCwgMTAwKSwgb2NjbHVz
aW9uLm9jY2x1c2lvbkluVGFyZ2V0U3VyZmFjZSgpLmJvdW5kcygpKTsKKyAgICAgICAgRVhQRUNU
X0lOVF9SRUNUX0VRKEludFJlY3QoMCwgMCwgMTAwLCAxMDApLCBvY2NsdXNpb24ub2NjbHVzaW9u
SW5UYXJnZXRTdXJmYWNlKCkuYm91bmRzKCkpOwogICAgICAgICBFWFBFQ1RfRVEoMXUsIG9jY2x1
c2lvbi5vY2NsdXNpb25JblRhcmdldFN1cmZhY2UoKS5yZWN0cygpLnNpemUoKSk7CiAKICAgICAg
ICAgdGhpcy0+ZW50ZXJDb250cmlidXRpbmdTdXJmYWNlKHN1cmZhY2UsIG9jY2x1c2lvbik7CiAK
ICAgICAgICAgLy8gU3VyZmFjZSBpcyBub3Qgb2NjbHVkZWQgc28gaXQgc2hvdWxkbid0IHRoaW5r
IGl0IGlzLgotICAgICAgICBFWFBFQ1RfRVFfUkVDVChJbnRSZWN0KDAsIDAsIDEwMCwgMTAwKSwg
b2NjbHVzaW9uLnVub2NjbHVkZWRDb250cmlidXRpbmdTdXJmYWNlQ29udGVudFJlY3Qoc3VyZmFj
ZS0+cmVuZGVyU3VyZmFjZSgpLCBmYWxzZSwgSW50UmVjdCgwLCAwLCAxMDAsIDEwMCkpKTsKKyAg
ICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKEludFJlY3QoMCwgMCwgMTAwLCAxMDApLCBvY2NsdXNp
b24udW5vY2NsdWRlZENvbnRyaWJ1dGluZ1N1cmZhY2VDb250ZW50UmVjdChzdXJmYWNlLT5yZW5k
ZXJTdXJmYWNlKCksIGZhbHNlLCBJbnRSZWN0KDAsIDAsIDEwMCwgMTAwKSkpOwogICAgIH0KIH07
CiAKQEAgLTIzMDQsMjMgKzIyOTksMjMgQEAgcHJvdGVjdGVkOgogICAgICAgICAvLyB8dG9wbW9z
dHwgb2NjbHVkZXMgdGhlIHN1cmZhY2UsIGJ1dCBub3QgdGhlIGVudGlyZSBzdXJmYWNlJ3MgcmVw
bGljYS4KICAgICAgICAgdGhpcy0+dmlzaXRMYXllcih0b3Btb3N0LCBvY2NsdXNpb24pOwogCi0g
ICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJlY3QoMCwgMCwgMTAwLCAxMTApLCBvY2NsdXNpb24u
b2NjbHVzaW9uSW5TY3JlZW5TcGFjZSgpLmJvdW5kcygpKTsKKyAgICAgICAgRVhQRUNUX0lOVF9S
RUNUX0VRKEludFJlY3QoMCwgMCwgMTAwLCAxMTApLCBvY2NsdXNpb24ub2NjbHVzaW9uSW5TY3Jl
ZW5TcGFjZSgpLmJvdW5kcygpKTsKICAgICAgICAgRVhQRUNUX0VRKDF1LCBvY2NsdXNpb24ub2Nj
bHVzaW9uSW5TY3JlZW5TcGFjZSgpLnJlY3RzKCkuc2l6ZSgpKTsKLSAgICAgICAgRVhQRUNUX0VR
X1JFQ1QoSW50UmVjdCgwLCAwLCAxMDAsIDExMCksIG9jY2x1c2lvbi5vY2NsdXNpb25JblRhcmdl
dFN1cmZhY2UoKS5ib3VuZHMoKSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJbnRSZWN0
KDAsIDAsIDEwMCwgMTEwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluVGFyZ2V0U3VyZmFjZSgpLmJv
dW5kcygpKTsKICAgICAgICAgRVhQRUNUX0VRKDF1LCBvY2NsdXNpb24ub2NjbHVzaW9uSW5UYXJn
ZXRTdXJmYWNlKCkucmVjdHMoKS5zaXplKCkpOwogCiAgICAgICAgIHRoaXMtPnZpc2l0TGF5ZXIo
c3VyZmFjZSwgb2NjbHVzaW9uKTsKIAotICAgICAgICBFWFBFQ1RfRVFfUkVDVChJbnRSZWN0KDAs
IDAsIDEwMCwgMTEwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluU2NyZWVuU3BhY2UoKS5ib3VuZHMo
KSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJbnRSZWN0KDAsIDAsIDEwMCwgMTEwKSwg
b2NjbHVzaW9uLm9jY2x1c2lvbkluU2NyZWVuU3BhY2UoKS5ib3VuZHMoKSk7CiAgICAgICAgIEVY
UEVDVF9FUSgxdSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluU2NyZWVuU3BhY2UoKS5yZWN0cygpLnNp
emUoKSk7Ci0gICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJlY3QoMCwgMCwgMTAwLCAxMDApLCBv
Y2NsdXNpb24ub2NjbHVzaW9uSW5UYXJnZXRTdXJmYWNlKCkuYm91bmRzKCkpOworICAgICAgICBF
WFBFQ1RfSU5UX1JFQ1RfRVEoSW50UmVjdCgwLCAwLCAxMDAsIDEwMCksIG9jY2x1c2lvbi5vY2Ns
dXNpb25JblRhcmdldFN1cmZhY2UoKS5ib3VuZHMoKSk7CiAgICAgICAgIEVYUEVDVF9FUSgxdSwg
b2NjbHVzaW9uLm9jY2x1c2lvbkluVGFyZ2V0U3VyZmFjZSgpLnJlY3RzKCkuc2l6ZSgpKTsKIAog
ICAgICAgICB0aGlzLT5lbnRlckNvbnRyaWJ1dGluZ1N1cmZhY2Uoc3VyZmFjZSwgb2NjbHVzaW9u
KTsKIAogICAgICAgICAvLyBTdXJmYWNlIGlzIG9jY2x1ZGVkLCBidXQgb25seSB0aGUgdG9wIDEw
cHggb2YgdGhlIHJlcGxpY2EuCi0gICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJlY3QoMCwgMCwg
MCwgMCksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udHJpYnV0aW5nU3VyZmFjZUNvbnRlbnRSZWN0
KHN1cmZhY2UtPnJlbmRlclN1cmZhY2UoKSwgZmFsc2UsIEludFJlY3QoMCwgMCwgMTAwLCAxMDAp
KSk7Ci0gICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJlY3QoMCwgMTAsIDEwMCwgOTApLCBvY2Ns
dXNpb24udW5vY2NsdWRlZENvbnRyaWJ1dGluZ1N1cmZhY2VDb250ZW50UmVjdChzdXJmYWNlLT5y
ZW5kZXJTdXJmYWNlKCksIHRydWUsIEludFJlY3QoMCwgMCwgMTAwLCAxMDApKSk7CisgICAgICAg
IEVYUEVDVF9JTlRfUkVDVF9FUShJbnRSZWN0KDAsIDAsIDAsIDApLCBvY2NsdXNpb24udW5vY2Ns
dWRlZENvbnRyaWJ1dGluZ1N1cmZhY2VDb250ZW50UmVjdChzdXJmYWNlLT5yZW5kZXJTdXJmYWNl
KCksIGZhbHNlLCBJbnRSZWN0KDAsIDAsIDEwMCwgMTAwKSkpOworICAgICAgICBFWFBFQ1RfSU5U
X1JFQ1RfRVEoSW50UmVjdCgwLCAxMCwgMTAwLCA5MCksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29u
dHJpYnV0aW5nU3VyZmFjZUNvbnRlbnRSZWN0KHN1cmZhY2UtPnJlbmRlclN1cmZhY2UoKSwgdHJ1
ZSwgSW50UmVjdCgwLCAwLCAxMDAsIDEwMCkpKTsKICAgICB9CiB9OwogCkBAIC0yMzQ1LDIzICsy
MzQwLDIzIEBAIHByb3RlY3RlZDoKICAgICAgICAgdGhpcy0+dmlzaXRMYXllcihvdmVyUmVwbGlj
YSwgb2NjbHVzaW9uKTsKICAgICAgICAgdGhpcy0+dmlzaXRMYXllcihvdmVyU3VyZmFjZSwgb2Nj
bHVzaW9uKTsKIAotICAgICAgICBFWFBFQ1RfRVFfUkVDVChJbnRSZWN0KDAsIDAsIDUwLCAyMDAp
LCBvY2NsdXNpb24ub2NjbHVzaW9uSW5TY3JlZW5TcGFjZSgpLmJvdW5kcygpKTsKKyAgICAgICAg
RVhQRUNUX0lOVF9SRUNUX0VRKEludFJlY3QoMCwgMCwgNTAsIDIwMCksIG9jY2x1c2lvbi5vY2Ns
dXNpb25JblNjcmVlblNwYWNlKCkuYm91bmRzKCkpOwogICAgICAgICBFWFBFQ1RfRVEoMnUsIG9j
Y2x1c2lvbi5vY2NsdXNpb25JblNjcmVlblNwYWNlKCkucmVjdHMoKS5zaXplKCkpOwotICAgICAg
ICBFWFBFQ1RfRVFfUkVDVChJbnRSZWN0KDAsIDAsIDUwLCAyMDApLCBvY2NsdXNpb24ub2NjbHVz
aW9uSW5UYXJnZXRTdXJmYWNlKCkuYm91bmRzKCkpOworICAgICAgICBFWFBFQ1RfSU5UX1JFQ1Rf
RVEoSW50UmVjdCgwLCAwLCA1MCwgMjAwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluVGFyZ2V0U3Vy
ZmFjZSgpLmJvdW5kcygpKTsKICAgICAgICAgRVhQRUNUX0VRKDJ1LCBvY2NsdXNpb24ub2NjbHVz
aW9uSW5UYXJnZXRTdXJmYWNlKCkucmVjdHMoKS5zaXplKCkpOwogCiAgICAgICAgIHRoaXMtPnZp
c2l0TGF5ZXIoc3VyZmFjZSwgb2NjbHVzaW9uKTsKIAotICAgICAgICBFWFBFQ1RfRVFfUkVDVChJ
bnRSZWN0KDAsIDAsIDEwMCwgMjAwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluU2NyZWVuU3BhY2Uo
KS5ib3VuZHMoKSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJbnRSZWN0KDAsIDAsIDEw
MCwgMjAwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluU2NyZWVuU3BhY2UoKS5ib3VuZHMoKSk7CiAg
ICAgICAgIEVYUEVDVF9FUSgydSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluU2NyZWVuU3BhY2UoKS5y
ZWN0cygpLnNpemUoKSk7Ci0gICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJlY3QoMCwgMCwgMTAw
LCAxMDApLCBvY2NsdXNpb24ub2NjbHVzaW9uSW5UYXJnZXRTdXJmYWNlKCkuYm91bmRzKCkpOwor
ICAgICAgICBFWFBFQ1RfSU5UX1JFQ1RfRVEoSW50UmVjdCgwLCAwLCAxMDAsIDEwMCksIG9jY2x1
c2lvbi5vY2NsdXNpb25JblRhcmdldFN1cmZhY2UoKS5ib3VuZHMoKSk7CiAgICAgICAgIEVYUEVD
VF9FUSgxdSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluVGFyZ2V0U3VyZmFjZSgpLnJlY3RzKCkuc2l6
ZSgpKTsKIAogICAgICAgICB0aGlzLT5lbnRlckNvbnRyaWJ1dGluZ1N1cmZhY2Uoc3VyZmFjZSwg
b2NjbHVzaW9uKTsKIAogICAgICAgICAvLyBTdXJmYWNlIGFuZCByZXBsaWNhIGFyZSBvY2NsdWRl
ZCBkaWZmZXJlbnQgYW1vdW50cy4KLSAgICAgICAgRVhQRUNUX0VRX1JFQ1QoSW50UmVjdCg0MCwg
MCwgNjAsIDEwMCksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udHJpYnV0aW5nU3VyZmFjZUNvbnRl
bnRSZWN0KHN1cmZhY2UtPnJlbmRlclN1cmZhY2UoKSwgZmFsc2UsIEludFJlY3QoMCwgMCwgMTAw
LCAxMDApKSk7Ci0gICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJlY3QoNTAsIDAsIDUwLCAxMDAp
LCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRyaWJ1dGluZ1N1cmZhY2VDb250ZW50UmVjdChzdXJm
YWNlLT5yZW5kZXJTdXJmYWNlKCksIHRydWUsIEludFJlY3QoMCwgMCwgMTAwLCAxMDApKSk7Cisg
ICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJbnRSZWN0KDQwLCAwLCA2MCwgMTAwKSwgb2NjbHVz
aW9uLnVub2NjbHVkZWRDb250cmlidXRpbmdTdXJmYWNlQ29udGVudFJlY3Qoc3VyZmFjZS0+cmVu
ZGVyU3VyZmFjZSgpLCBmYWxzZSwgSW50UmVjdCgwLCAwLCAxMDAsIDEwMCkpKTsKKyAgICAgICAg
RVhQRUNUX0lOVF9SRUNUX0VRKEludFJlY3QoNTAsIDAsIDUwLCAxMDApLCBvY2NsdXNpb24udW5v
Y2NsdWRlZENvbnRyaWJ1dGluZ1N1cmZhY2VDb250ZW50UmVjdChzdXJmYWNlLT5yZW5kZXJTdXJm
YWNlKCksIHRydWUsIEludFJlY3QoMCwgMCwgMTAwLCAxMDApKSk7CiAgICAgfQogfTsKIApAQCAt
MjM4NSwxOCArMjM4MCwxOCBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIC8vIHx0b3Btb3N0fCBvY2Ns
dWRlcyBldmVyeXRoaW5nIHBhcnRpYWxseSBzbyB3ZSBrbm93IG9jY2x1c2lvbiBpcyBoYXBwZW5p
bmcgYXQgYWxsLgogICAgICAgICB0aGlzLT52aXNpdExheWVyKHRvcG1vc3QsIG9jY2x1c2lvbik7
CiAKLSAgICAgICAgRVhQRUNUX0VRX1JFQ1QoSW50UmVjdCgwLCAwLCAxMDAsIDUwKSwgb2NjbHVz
aW9uLm9jY2x1c2lvbkluU2NyZWVuU3BhY2UoKS5ib3VuZHMoKSk7CisgICAgICAgIEVYUEVDVF9J
TlRfUkVDVF9FUShJbnRSZWN0KDAsIDAsIDEwMCwgNTApLCBvY2NsdXNpb24ub2NjbHVzaW9uSW5T
Y3JlZW5TcGFjZSgpLmJvdW5kcygpKTsKICAgICAgICAgRVhQRUNUX0VRKDF1LCBvY2NsdXNpb24u
b2NjbHVzaW9uSW5TY3JlZW5TcGFjZSgpLnJlY3RzKCkuc2l6ZSgpKTsKLSAgICAgICAgRVhQRUNU
X0VRX1JFQ1QoSW50UmVjdCgwLCAwLCAxMDAsIDUwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluVGFy
Z2V0U3VyZmFjZSgpLmJvdW5kcygpKTsKKyAgICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKEludFJl
Y3QoMCwgMCwgMTAwLCA1MCksIG9jY2x1c2lvbi5vY2NsdXNpb25JblRhcmdldFN1cmZhY2UoKS5i
b3VuZHMoKSk7CiAgICAgICAgIEVYUEVDVF9FUSgxdSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluVGFy
Z2V0U3VyZmFjZSgpLnJlY3RzKCkuc2l6ZSgpKTsKIAogICAgICAgICB0aGlzLT52aXNpdExheWVy
KHN1cmZhY2VDaGlsZCwgb2NjbHVzaW9uKTsKIAogICAgICAgICAvLyBzdXJmYWNlQ2hpbGQgaW5j
cmVhc2VzIHRoZSBvY2NsdXNpb24gaW4gdGhlIHNjcmVlbiBieSBhIG5hcnJvdyBzbGl2ZXIuCi0g
ICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJlY3QoMCwgMCwgMTAwLCA2MCksIG9jY2x1c2lvbi5v
Y2NsdXNpb25JblNjcmVlblNwYWNlKCkuYm91bmRzKCkpOworICAgICAgICBFWFBFQ1RfSU5UX1JF
Q1RfRVEoSW50UmVjdCgwLCAwLCAxMDAsIDYwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluU2NyZWVu
U3BhY2UoKS5ib3VuZHMoKSk7CiAgICAgICAgIEVYUEVDVF9FUSgxdSwgb2NjbHVzaW9uLm9jY2x1
c2lvbkluU2NyZWVuU3BhY2UoKS5yZWN0cygpLnNpemUoKSk7CiAgICAgICAgIC8vIEluIGl0cyBv
d24gc3VyZmFjZSwgc3VyZmFjZUNoaWxkIGlzIGF0IDAsMCBhcyBpcyBpdHMgb2NjbHVzaW9uLgot
ICAgICAgICBFWFBFQ1RfRVFfUkVDVChJbnRSZWN0KDAsIDAsIDEwMCwgNTApLCBvY2NsdXNpb24u
b2NjbHVzaW9uSW5UYXJnZXRTdXJmYWNlKCkuYm91bmRzKCkpOworICAgICAgICBFWFBFQ1RfSU5U
X1JFQ1RfRVEoSW50UmVjdCgwLCAwLCAxMDAsIDUwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluVGFy
Z2V0U3VyZmFjZSgpLmJvdW5kcygpKTsKICAgICAgICAgRVhQRUNUX0VRKDF1LCBvY2NsdXNpb24u
b2NjbHVzaW9uSW5UYXJnZXRTdXJmYWNlKCkucmVjdHMoKS5zaXplKCkpOwogCiAgICAgICAgIC8v
IFRoZSByb290IGxheWVyIGFsd2F5cyBoYXMgYSBjbGlwUmVjdC4gU28gdGhlIHBhcmVudCBvZiB8
c3VyZmFjZXwgaGFzIGEgY2xpcFJlY3QuIEhvd2V2ZXIsIHRoZSBvd25pbmcgbGF5ZXIgZm9yIHxz
dXJmYWNlfCBkb2VzIG5vdApAQCAtMjQwNiwyMCArMjQwMSwyMCBAQCBwcm90ZWN0ZWQ6CiAgICAg
ICAgIHRoaXMtPmVudGVyQ29udHJpYnV0aW5nU3VyZmFjZShzdXJmYWNlQ2hpbGQsIG9jY2x1c2lv
bik7CiAgICAgICAgIC8vIFRoZSBzdXJmYWNlQ2hpbGQncyBwYXJlbnQgZG9lcyBub3QgaGF2ZSBh
IGNsaXBSZWN0IGFzIGl0IG93bnMgYSByZW5kZXIgc3VyZmFjZS4gTWFrZSBzdXJlIHRoZSB1bm9j
Y2x1ZGVkIHJlY3QKICAgICAgICAgLy8gZG9lcyBub3QgZ2V0IGNsaXBwZWQgYXdheSBpbmFwcHJv
cHJpYXRlbHkuCi0gICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJlY3QoMCwgNDAsIDEwMCwgMTAp
LCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRyaWJ1dGluZ1N1cmZhY2VDb250ZW50UmVjdChzdXJm
YWNlQ2hpbGQtPnJlbmRlclN1cmZhY2UoKSwgZmFsc2UsIEludFJlY3QoMCwgMCwgMTAwLCA1MCkp
KTsKKyAgICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKEludFJlY3QoMCwgNDAsIDEwMCwgMTApLCBv
Y2NsdXNpb24udW5vY2NsdWRlZENvbnRyaWJ1dGluZ1N1cmZhY2VDb250ZW50UmVjdChzdXJmYWNl
Q2hpbGQtPnJlbmRlclN1cmZhY2UoKSwgZmFsc2UsIEludFJlY3QoMCwgMCwgMTAwLCA1MCkpKTsK
ICAgICAgICAgdGhpcy0+bGVhdmVDb250cmlidXRpbmdTdXJmYWNlKHN1cmZhY2VDaGlsZCwgb2Nj
bHVzaW9uKTsKIAogICAgICAgICAvLyBXaGVuIHRoZSBzdXJmYWNlQ2hpbGQncyBvY2NsdXNpb24g
aXMgdHJhbnNmb3JtZWQgdXAgdG8gaXRzIHBhcmVudCwgbWFrZSBzdXJlIGl0IGlzIG5vdCBjbGlw
cGVkIGF3YXkgaW5hcHByb3ByaWF0ZWx5IGFsc28uCiAgICAgICAgIHRoaXMtPmVudGVyTGF5ZXIo
c3VyZmFjZSwgb2NjbHVzaW9uKTsKLSAgICAgICAgRVhQRUNUX0VRX1JFQ1QoSW50UmVjdCgwLCAw
LCAxMDAsIDYwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluU2NyZWVuU3BhY2UoKS5ib3VuZHMoKSk7
CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJbnRSZWN0KDAsIDAsIDEwMCwgNjApLCBvY2Ns
dXNpb24ub2NjbHVzaW9uSW5TY3JlZW5TcGFjZSgpLmJvdW5kcygpKTsKICAgICAgICAgRVhQRUNU
X0VRKDF1LCBvY2NsdXNpb24ub2NjbHVzaW9uSW5TY3JlZW5TcGFjZSgpLnJlY3RzKCkuc2l6ZSgp
KTsKLSAgICAgICAgRVhQRUNUX0VRX1JFQ1QoSW50UmVjdCgwLCAxMCwgMTAwLCA1MCksIG9jY2x1
c2lvbi5vY2NsdXNpb25JblRhcmdldFN1cmZhY2UoKS5ib3VuZHMoKSk7CisgICAgICAgIEVYUEVD
VF9JTlRfUkVDVF9FUShJbnRSZWN0KDAsIDEwLCAxMDAsIDUwKSwgb2NjbHVzaW9uLm9jY2x1c2lv
bkluVGFyZ2V0U3VyZmFjZSgpLmJvdW5kcygpKTsKICAgICAgICAgRVhQRUNUX0VRKDF1LCBvY2Ns
dXNpb24ub2NjbHVzaW9uSW5UYXJnZXRTdXJmYWNlKCkucmVjdHMoKS5zaXplKCkpOwogICAgICAg
ICB0aGlzLT5sZWF2ZUxheWVyKHN1cmZhY2UsIG9jY2x1c2lvbik7CiAKICAgICAgICAgdGhpcy0+
ZW50ZXJDb250cmlidXRpbmdTdXJmYWNlKHN1cmZhY2UsIG9jY2x1c2lvbik7CiAgICAgICAgIC8v
IFRoZSBzdXJmYWNlJ3MgcGFyZW50IGRvZXMgaGF2ZSBhIGNsaXBSZWN0IGFzIGl0IGlzIHRoZSBy
b290IGxheWVyLgotICAgICAgICBFWFBFQ1RfRVFfUkVDVChJbnRSZWN0KDAsIDUwLCAxMDAsIDUw
KSwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250cmlidXRpbmdTdXJmYWNlQ29udGVudFJlY3Qoc3Vy
ZmFjZS0+cmVuZGVyU3VyZmFjZSgpLCBmYWxzZSwgSW50UmVjdCgwLCAwLCAxMDAsIDEwMCkpKTsK
KyAgICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKEludFJlY3QoMCwgNTAsIDEwMCwgNTApLCBvY2Ns
dXNpb24udW5vY2NsdWRlZENvbnRyaWJ1dGluZ1N1cmZhY2VDb250ZW50UmVjdChzdXJmYWNlLT5y
ZW5kZXJTdXJmYWNlKCksIGZhbHNlLCBJbnRSZWN0KDAsIDAsIDEwMCwgMTAwKSkpOwogICAgIH0K
IH07CiAKQEAgLTI0NDUsNyArMjQ0MCw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgICAgIC8vIFRo
ZSByb290IGxheWVyIGFsd2F5cyBoYXMgYSBjbGlwUmVjdC4gU28gdGhlIHBhcmVudCBvZiB8c3Vy
ZmFjZXwgaGFzIGEgY2xpcFJlY3QgZ2l2aW5nIHRoZSBzdXJmYWNlIGl0c2VsZiBhIGNsaXBSZWN0
LgogICAgICAgICAgICAgdGhpcy0+ZW50ZXJDb250cmlidXRpbmdTdXJmYWNlKHN1cmZhY2UsIG9j
Y2x1c2lvbik7CiAgICAgICAgICAgICAvLyBNYWtlIHN1cmUgdGhlIHBhcmVudCdzIGNsaXBSZWN0
IGNsaXBzIHRoZSB1bm9jY2x1ZGVkIHJlZ2lvbiBvZiB0aGUgY2hpbGQgc3VyZmFjZS4KLSAgICAg
ICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJlY3QoMCwgMCwgMTAwLCAyMDApLCBvY2NsdXNpb24u
dW5vY2NsdWRlZENvbnRyaWJ1dGluZ1N1cmZhY2VDb250ZW50UmVjdChzdXJmYWNlLT5yZW5kZXJT
dXJmYWNlKCksIGZhbHNlLCBJbnRSZWN0KDAsIDAsIDEwMCwgMzAwKSkpOworICAgICAgICAgICAg
RVhQRUNUX0lOVF9SRUNUX0VRKEludFJlY3QoMCwgMCwgMTAwLCAyMDApLCBvY2NsdXNpb24udW5v
Y2NsdWRlZENvbnRyaWJ1dGluZ1N1cmZhY2VDb250ZW50UmVjdChzdXJmYWNlLT5yZW5kZXJTdXJm
YWNlKCksIGZhbHNlLCBJbnRSZWN0KDAsIDAsIDEwMCwgMzAwKSkpOwogICAgICAgICB9CiAgICAg
ICAgIHRoaXMtPnJlc2V0TGF5ZXJJdGVyYXRvcigpOwogICAgICAgICB7CkBAIC0yNDU3LDcgKzI0
NTIsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgICAgICAvLyBUaGUgcm9vdCBsYXllciBhbHdheXMg
aGFzIGEgY2xpcFJlY3QuIFNvIHRoZSBwYXJlbnQgb2YgfHN1cmZhY2V8IGhhcyBhIGNsaXBSZWN0
IGdpdmluZyB0aGUgc3VyZmFjZSBpdHNlbGYgYSBjbGlwUmVjdC4KICAgICAgICAgICAgIHRoaXMt
PmVudGVyQ29udHJpYnV0aW5nU3VyZmFjZShzdXJmYWNlLCBvY2NsdXNpb24pOwogICAgICAgICAg
ICAgLy8gTWFrZSBzdXJlIHRoZSBzY3JlZW4gc2Npc3NvciByZWN0IGNsaXBzIHRoZSB1bm9jY2x1
ZGVkIHJlZ2lvbiBvZiB0aGUgY2hpbGQgc3VyZmFjZS4KLSAgICAgICAgICAgIEVYUEVDVF9FUV9S
RUNUKEludFJlY3QoMCwgMCwgMTAwLCAxMDApLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRyaWJ1
dGluZ1N1cmZhY2VDb250ZW50UmVjdChzdXJmYWNlLT5yZW5kZXJTdXJmYWNlKCksIGZhbHNlLCBJ
bnRSZWN0KDAsIDAsIDEwMCwgMzAwKSkpOworICAgICAgICAgICAgRVhQRUNUX0lOVF9SRUNUX0VR
KEludFJlY3QoMCwgMCwgMTAwLCAxMDApLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRyaWJ1dGlu
Z1N1cmZhY2VDb250ZW50UmVjdChzdXJmYWNlLT5yZW5kZXJTdXJmYWNlKCksIGZhbHNlLCBJbnRS
ZWN0KDAsIDAsIDEwMCwgMzAwKSkpOwogICAgICAgICB9CiAgICAgfQogfTsKQEAgLTI0ODMsMTcg
KzI0NzgsMTcgQEAgcHJvdGVjdGVkOgogICAgICAgICAvLyB8dG9wbW9zdHwgb2NjbHVkZXMgZXZl
cnl0aGluZyBwYXJ0aWFsbHkgc28gd2Uga25vdyBvY2NsdXNpb24gaXMgaGFwcGVuaW5nIGF0IGFs
bC4KICAgICAgICAgdGhpcy0+dmlzaXRMYXllcih0b3Btb3N0LCBvY2NsdXNpb24pOwogCi0gICAg
ICAgIEVYUEVDVF9FUV9SRUNUKEludFJlY3QoMCwgMCwgODAsIDUwKSwgb2NjbHVzaW9uLm9jY2x1
c2lvbkluU2NyZWVuU3BhY2UoKS5ib3VuZHMoKSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9F
UShJbnRSZWN0KDAsIDAsIDgwLCA1MCksIG9jY2x1c2lvbi5vY2NsdXNpb25JblNjcmVlblNwYWNl
KCkuYm91bmRzKCkpOwogICAgICAgICBFWFBFQ1RfRVEoMXUsIG9jY2x1c2lvbi5vY2NsdXNpb25J
blNjcmVlblNwYWNlKCkucmVjdHMoKS5zaXplKCkpOwotICAgICAgICBFWFBFQ1RfRVFfUkVDVChJ
bnRSZWN0KDAsIDAsIDgwLCA1MCksIG9jY2x1c2lvbi5vY2NsdXNpb25JblRhcmdldFN1cmZhY2Uo
KS5ib3VuZHMoKSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJbnRSZWN0KDAsIDAsIDgw
LCA1MCksIG9jY2x1c2lvbi5vY2NsdXNpb25JblRhcmdldFN1cmZhY2UoKS5ib3VuZHMoKSk7CiAg
ICAgICAgIEVYUEVDVF9FUSgxdSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluVGFyZ2V0U3VyZmFjZSgp
LnJlY3RzKCkuc2l6ZSgpKTsKIAogICAgICAgICAvLyBzdXJmYWNlQ2hpbGQgaXMgbm90IG9wYXF1
ZSBhbmQgZG9lcyBub3Qgb2NjbHVkZSwgc28gd2UgaGF2ZSBhIG5vbi1lbXB0eSB1bm9jY2x1ZGVk
IGFyZWEgb24gc3VyZmFjZS4KICAgICAgICAgdGhpcy0+dmlzaXRMYXllcihzdXJmYWNlQ2hpbGQs
IG9jY2x1c2lvbik7CiAKLSAgICAgICAgRVhQRUNUX0VRX1JFQ1QoSW50UmVjdCgwLCAwLCA4MCwg
NTApLCBvY2NsdXNpb24ub2NjbHVzaW9uSW5TY3JlZW5TcGFjZSgpLmJvdW5kcygpKTsKKyAgICAg
ICAgRVhQRUNUX0lOVF9SRUNUX0VRKEludFJlY3QoMCwgMCwgODAsIDUwKSwgb2NjbHVzaW9uLm9j
Y2x1c2lvbkluU2NyZWVuU3BhY2UoKS5ib3VuZHMoKSk7CiAgICAgICAgIEVYUEVDVF9FUSgxdSwg
b2NjbHVzaW9uLm9jY2x1c2lvbkluU2NyZWVuU3BhY2UoKS5yZWN0cygpLnNpemUoKSk7Ci0gICAg
ICAgIEVYUEVDVF9FUV9SRUNUKEludFJlY3QoMCwgMCwgMCwgMCksIG9jY2x1c2lvbi5vY2NsdXNp
b25JblRhcmdldFN1cmZhY2UoKS5ib3VuZHMoKSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9F
UShJbnRSZWN0KDAsIDAsIDAsIDApLCBvY2NsdXNpb24ub2NjbHVzaW9uSW5UYXJnZXRTdXJmYWNl
KCkuYm91bmRzKCkpOwogICAgICAgICBFWFBFQ1RfRVEoMHUsIG9jY2x1c2lvbi5vY2NsdXNpb25J
blRhcmdldFN1cmZhY2UoKS5yZWN0cygpLnNpemUoKSk7CiAKICAgICAgICAgLy8gVGhlIHJvb3Qg
bGF5ZXIgYWx3YXlzIGhhcyBhIGNsaXBSZWN0LiBTbyB0aGUgcGFyZW50IG9mIHxzdXJmYWNlfCBo
YXMgYSBjbGlwUmVjdC4gSG93ZXZlciwgdGhlIG93bmluZyBsYXllciBmb3IgfHN1cmZhY2V8IGRv
ZXMgbm90CkBAIC0yNTAyLDEzICsyNDk3LDEzIEBAIHByb3RlY3RlZDoKIAogICAgICAgICB0aGlz
LT5lbnRlckNvbnRyaWJ1dGluZ1N1cmZhY2Uoc3VyZmFjZUNoaWxkLCBvY2NsdXNpb24pOwogICAg
ICAgICAvLyBUaGUgc3VyZmFjZUNoaWxkJ3MgcGFyZW50IGRvZXMgbm90IGhhdmUgYSBjbGlwUmVj
dCBhcyBpdCBvd25zIGEgcmVuZGVyIHN1cmZhY2UuCi0gICAgICAgIEVYUEVDVF9FUV9SRUNUKElu
dFJlY3QoMCwgNTAsIDgwLCA1MCksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udHJpYnV0aW5nU3Vy
ZmFjZUNvbnRlbnRSZWN0KHN1cmZhY2VDaGlsZC0+cmVuZGVyU3VyZmFjZSgpLCBmYWxzZSwgSW50
UmVjdCgwLCAwLCAxMDAsIDEwMCkpKTsKKyAgICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKEludFJl
Y3QoMCwgNTAsIDgwLCA1MCksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udHJpYnV0aW5nU3VyZmFj
ZUNvbnRlbnRSZWN0KHN1cmZhY2VDaGlsZC0+cmVuZGVyU3VyZmFjZSgpLCBmYWxzZSwgSW50UmVj
dCgwLCAwLCAxMDAsIDEwMCkpKTsKICAgICAgICAgdGhpcy0+bGVhdmVDb250cmlidXRpbmdTdXJm
YWNlKHN1cmZhY2VDaGlsZCwgb2NjbHVzaW9uKTsKIAogICAgICAgICB0aGlzLT52aXNpdExheWVy
KHN1cmZhY2UsIG9jY2x1c2lvbik7CiAgICAgICAgIHRoaXMtPmVudGVyQ29udHJpYnV0aW5nU3Vy
ZmFjZShzdXJmYWNlLCBvY2NsdXNpb24pOwogICAgICAgICAvLyBUaGUgc3VyZmFjZSdzIHBhcmVu
dCBkb2VzIGhhdmUgYSBjbGlwUmVjdCBhcyBpdCBpcyB0aGUgcm9vdCBsYXllci4KLSAgICAgICAg
RVhQRUNUX0VRX1JFQ1QoSW50UmVjdCgwLCA1MCwgODAsIDUwKSwgb2NjbHVzaW9uLnVub2NjbHVk
ZWRDb250cmlidXRpbmdTdXJmYWNlQ29udGVudFJlY3Qoc3VyZmFjZS0+cmVuZGVyU3VyZmFjZSgp
LCBmYWxzZSwgSW50UmVjdCgwLCAwLCAxMDAsIDEwMCkpKTsKKyAgICAgICAgRVhQRUNUX0lOVF9S
RUNUX0VRKEludFJlY3QoMCwgNTAsIDgwLCA1MCksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udHJp
YnV0aW5nU3VyZmFjZUNvbnRlbnRSZWN0KHN1cmZhY2UtPnJlbmRlclN1cmZhY2UoKSwgZmFsc2Us
IEludFJlY3QoMCwgMCwgMTAwLCAxMDApKSk7CiAgICAgfQogfTsKIApAQCAtMjU1NiwyOCArMjU1
MSwyOCBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIHRoaXMtPnZpc2l0TGF5ZXIob2NjbHVkaW5nTGF5
ZXIyLCBvY2NsdXNpb24pOwogICAgICAgICB0aGlzLT52aXNpdExheWVyKG9jY2x1ZGluZ0xheWVy
MSwgb2NjbHVzaW9uKTsKIAotICAgICAgICBFWFBFQ1RfRVFfUkVDVChJbnRSZWN0KDAsIDAsIDMw
MCwgMTUwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluU2NyZWVuU3BhY2UoKS5ib3VuZHMoKSk7Cisg
ICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJbnRSZWN0KDAsIDAsIDMwMCwgMTUwKSwgb2NjbHVz
aW9uLm9jY2x1c2lvbkluU2NyZWVuU3BhY2UoKS5ib3VuZHMoKSk7CiAgICAgICAgIEVYUEVDVF9F
USg1dSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluU2NyZWVuU3BhY2UoKS5yZWN0cygpLnNpemUoKSk7
Ci0gICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJlY3QoMCwgMCwgMzAwLCAxNTApLCBvY2NsdXNp
b24ub2NjbHVzaW9uSW5UYXJnZXRTdXJmYWNlKCkuYm91bmRzKCkpOworICAgICAgICBFWFBFQ1Rf
SU5UX1JFQ1RfRVEoSW50UmVjdCgwLCAwLCAzMDAsIDE1MCksIG9jY2x1c2lvbi5vY2NsdXNpb25J
blRhcmdldFN1cmZhY2UoKS5ib3VuZHMoKSk7CiAgICAgICAgIEVYUEVDVF9FUSg1dSwgb2NjbHVz
aW9uLm9jY2x1c2lvbkluVGFyZ2V0U3VyZmFjZSgpLnJlY3RzKCkuc2l6ZSgpKTsKIAogICAgICAg
ICAvLyBFdmVyeXRoaW5nIG91dHNpZGUgdGhlIHN1cmZhY2UvcmVwbGljYSBpcyBvY2NsdWRlZCBi
dXQgdGhlIHN1cmZhY2UvcmVwbGljYSBpdHNlbGYgaXMgbm90LgogICAgICAgICB0aGlzLT5lbnRl
ckxheWVyKGZpbHRlcmVkU3VyZmFjZSwgb2NjbHVzaW9uKTsKLSAgICAgICAgRVhQRUNUX0VRX1JF
Q1QoSW50UmVjdCgxLCAwLCA5OSwgMTAwKSwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVj
dChmaWx0ZXJlZFN1cmZhY2UsIEludFJlY3QoMSwgMCwgMTAwLCAxMDApKSk7Ci0gICAgICAgIEVY
UEVDVF9FUV9SRUNUKEludFJlY3QoMCwgMSwgMTAwLCA5OSksIG9jY2x1c2lvbi51bm9jY2x1ZGVk
Q29udGVudFJlY3QoZmlsdGVyZWRTdXJmYWNlLCBJbnRSZWN0KDAsIDEsIDEwMCwgMTAwKSkpOwot
ICAgICAgICBFWFBFQ1RfRVFfUkVDVChJbnRSZWN0KDAsIDAsIDk5LCAxMDApLCBvY2NsdXNpb24u
dW5vY2NsdWRlZENvbnRlbnRSZWN0KGZpbHRlcmVkU3VyZmFjZSwgSW50UmVjdCgtMSwgMCwgMTAw
LCAxMDApKSk7Ci0gICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJlY3QoMCwgMCwgMTAwLCA5OSks
IG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3QoZmlsdGVyZWRTdXJmYWNlLCBJbnRSZWN0
KDAsIC0xLCAxMDAsIDEwMCkpKTsKLQotICAgICAgICBFWFBFQ1RfRVFfUkVDVChJbnRSZWN0KDMw
MCArIDEsIDAsIDk5LCAxMDApLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KGZpbHRl
cmVkU3VyZmFjZSwgSW50UmVjdCgzMDAgKyAxLCAwLCAxMDAsIDEwMCkpKTsKLSAgICAgICAgRVhQ
RUNUX0VRX1JFQ1QoSW50UmVjdCgzMDAgKyAwLCAxLCAxMDAsIDk5KSwgb2NjbHVzaW9uLnVub2Nj
bHVkZWRDb250ZW50UmVjdChmaWx0ZXJlZFN1cmZhY2UsIEludFJlY3QoMzAwICsgMCwgMSwgMTAw
LCAxMDApKSk7Ci0gICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJlY3QoMzAwICsgMCwgMCwgOTks
IDEwMCksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3QoZmlsdGVyZWRTdXJmYWNlLCBJ
bnRSZWN0KDMwMCAtIDEsIDAsIDEwMCwgMTAwKSkpOwotICAgICAgICBFWFBFQ1RfRVFfUkVDVChJ
bnRSZWN0KDMwMCArIDAsIDAsIDEwMCwgOTkpLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRS
ZWN0KGZpbHRlcmVkU3VyZmFjZSwgSW50UmVjdCgzMDAgKyAwLCAtMSwgMTAwLCAxMDApKSk7Cisg
ICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJbnRSZWN0KDEsIDAsIDk5LCAxMDApLCBvY2NsdXNp
b24udW5vY2NsdWRlZENvbnRlbnRSZWN0KGZpbHRlcmVkU3VyZmFjZSwgSW50UmVjdCgxLCAwLCAx
MDAsIDEwMCkpKTsKKyAgICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKEludFJlY3QoMCwgMSwgMTAw
LCA5OSksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3QoZmlsdGVyZWRTdXJmYWNlLCBJ
bnRSZWN0KDAsIDEsIDEwMCwgMTAwKSkpOworICAgICAgICBFWFBFQ1RfSU5UX1JFQ1RfRVEoSW50
UmVjdCgwLCAwLCA5OSwgMTAwKSwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChmaWx0
ZXJlZFN1cmZhY2UsIEludFJlY3QoLTEsIDAsIDEwMCwgMTAwKSkpOworICAgICAgICBFWFBFQ1Rf
SU5UX1JFQ1RfRVEoSW50UmVjdCgwLCAwLCAxMDAsIDk5KSwgb2NjbHVzaW9uLnVub2NjbHVkZWRD
b250ZW50UmVjdChmaWx0ZXJlZFN1cmZhY2UsIEludFJlY3QoMCwgLTEsIDEwMCwgMTAwKSkpOwor
CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJbnRSZWN0KDMwMCArIDEsIDAsIDk5LCAxMDAp
LCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KGZpbHRlcmVkU3VyZmFjZSwgSW50UmVj
dCgzMDAgKyAxLCAwLCAxMDAsIDEwMCkpKTsKKyAgICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKElu
dFJlY3QoMzAwICsgMCwgMSwgMTAwLCA5OSksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJl
Y3QoZmlsdGVyZWRTdXJmYWNlLCBJbnRSZWN0KDMwMCArIDAsIDEsIDEwMCwgMTAwKSkpOworICAg
ICAgICBFWFBFQ1RfSU5UX1JFQ1RfRVEoSW50UmVjdCgzMDAgKyAwLCAwLCA5OSwgMTAwKSwgb2Nj
bHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChmaWx0ZXJlZFN1cmZhY2UsIEludFJlY3QoMzAw
IC0gMSwgMCwgMTAwLCAxMDApKSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJbnRSZWN0
KDMwMCArIDAsIDAsIDEwMCwgOTkpLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KGZp
bHRlcmVkU3VyZmFjZSwgSW50UmVjdCgzMDAgKyAwLCAtMSwgMTAwLCAxMDApKSk7CiAgICAgICAg
IHRoaXMtPmxlYXZlTGF5ZXIoZmlsdGVyZWRTdXJmYWNlLCBvY2NsdXNpb24pOwogCiAgICAgICAg
IC8vIFRoZSBmaWx0ZXJlZCBsYXllci9yZXBsaWNhIGRvZXMgbm90IG9jY2x1ZGUuCi0gICAgICAg
IEVYUEVDVF9FUV9SRUNUKEludFJlY3QoMCwgMCwgMzAwLCAxNTApLCBvY2NsdXNpb24ub2NjbHVz
aW9uSW5TY3JlZW5TcGFjZSgpLmJvdW5kcygpKTsKKyAgICAgICAgRVhQRUNUX0lOVF9SRUNUX0VR
KEludFJlY3QoMCwgMCwgMzAwLCAxNTApLCBvY2NsdXNpb24ub2NjbHVzaW9uSW5TY3JlZW5TcGFj
ZSgpLmJvdW5kcygpKTsKICAgICAgICAgRVhQRUNUX0VRKDV1LCBvY2NsdXNpb24ub2NjbHVzaW9u
SW5TY3JlZW5TcGFjZSgpLnJlY3RzKCkuc2l6ZSgpKTsKLSAgICAgICAgRVhQRUNUX0VRX1JFQ1Qo
SW50UmVjdCgwLCAwLCAwLCAwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluVGFyZ2V0U3VyZmFjZSgp
LmJvdW5kcygpKTsKKyAgICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKEludFJlY3QoMCwgMCwgMCwg
MCksIG9jY2x1c2lvbi5vY2NsdXNpb25JblRhcmdldFN1cmZhY2UoKS5ib3VuZHMoKSk7CiAgICAg
ICAgIEVYUEVDVF9FUSgwdSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluVGFyZ2V0U3VyZmFjZSgpLnJl
Y3RzKCkuc2l6ZSgpKTsKIAogICAgICAgICAvLyBUaGUgc3VyZmFjZSBoYXMgYSBiYWNrZ3JvdW5k
IGJsdXIsIHNvIGl0IG5lZWRzIHBpeGVscyB0aGF0IGFyZSBjdXJyZW50bHkgY29uc2lkZXJlZCBv
Y2NsdWRlZCBpbiBvcmRlciB0byBiZSBkcmF3bi4gU28gdGhlIHBpeGVscwpAQCAtMjU4NSw5ICsy
NTgwLDkgQEAgcHJvdGVjdGVkOgogICAgICAgICB0aGlzLT52aXNpdENvbnRyaWJ1dGluZ1N1cmZh
Y2UoZmlsdGVyZWRTdXJmYWNlLCBvY2NsdXNpb24pOwogCiAgICAgICAgIHRoaXMtPmVudGVyTGF5
ZXIocGFyZW50LCBvY2NsdXNpb24pOwotICAgICAgICBFWFBFQ1RfRVFfUkVDVChJbnRSZWN0KDAs
IDAsIDMwMCwgMTUwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluU2NyZWVuU3BhY2UoKS5ib3VuZHMo
KSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJbnRSZWN0KDAsIDAsIDMwMCwgMTUwKSwg
b2NjbHVzaW9uLm9jY2x1c2lvbkluU2NyZWVuU3BhY2UoKS5ib3VuZHMoKSk7CiAgICAgICAgIEVY
UEVDVF9FUSg1dSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluU2NyZWVuU3BhY2UoKS5yZWN0cygpLnNp
emUoKSk7Ci0gICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJlY3QoMCwgMCwgMzAwLCAxNTApLCBv
Y2NsdXNpb24ub2NjbHVzaW9uSW5UYXJnZXRTdXJmYWNlKCkuYm91bmRzKCkpOworICAgICAgICBF
WFBFQ1RfSU5UX1JFQ1RfRVEoSW50UmVjdCgwLCAwLCAzMDAsIDE1MCksIG9jY2x1c2lvbi5vY2Ns
dXNpb25JblRhcmdldFN1cmZhY2UoKS5ib3VuZHMoKSk7CiAgICAgICAgIEVYUEVDVF9FUSg1dSwg
b2NjbHVzaW9uLm9jY2x1c2lvbkluVGFyZ2V0U3VyZmFjZSgpLnJlY3RzKCkuc2l6ZSgpKTsKIAog
ICAgICAgICBJbnRSZWN0IG91dHNldFJlY3Q7CkBAIC0yNTk2LDQ0ICsyNTkxLDQ0IEBAIHByb3Rl
Y3RlZDoKICAgICAgICAgLy8gTm90aGluZyBpbiB0aGUgYmx1ciBvdXRzZXRzIGZvciB0aGUgZmls
dGVyZWRTdXJmYWNlIGlzIG9jY2x1ZGVkLgogICAgICAgICBvdXRzZXRSZWN0ID0gSW50UmVjdCg1
MCAtIG91dHNldExlZnQsIDUwIC0gb3V0c2V0VG9wLCA1MCArIG91dHNldExlZnQgKyBvdXRzZXRS
aWdodCwgNTAgKyBvdXRzZXRUb3AgKyBvdXRzZXRCb3R0b20pOwogICAgICAgICB0ZXN0UmVjdCA9
IG91dHNldFJlY3Q7Ci0gICAgICAgIEVYUEVDVF9FUV9SRUNUKG91dHNldFJlY3QsIG9jY2x1c2lv
bi51bm9jY2x1ZGVkQ29udGVudFJlY3QocGFyZW50LCB0ZXN0UmVjdCkpOworICAgICAgICBFWFBF
Q1RfSU5UX1JFQ1RfRVEob3V0c2V0UmVjdCwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVj
dChwYXJlbnQsIHRlc3RSZWN0KSk7CiAKICAgICAgICAgLy8gU3R1ZmYgb3V0c2lkZSB0aGUgYmx1
ciBvdXRzZXRzIGlzIHN0aWxsIG9jY2x1ZGVkIHRob3VnaC4KICAgICAgICAgdGVzdFJlY3QgPSBv
dXRzZXRSZWN0OwogICAgICAgICB0ZXN0UmVjdC5leHBhbmQoMSwgMCk7Ci0gICAgICAgIEVYUEVD
VF9FUV9SRUNUKG91dHNldFJlY3QsIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3QocGFy
ZW50LCB0ZXN0UmVjdCkpOworICAgICAgICBFWFBFQ1RfSU5UX1JFQ1RfRVEob3V0c2V0UmVjdCwg
b2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChwYXJlbnQsIHRlc3RSZWN0KSk7CiAgICAg
ICAgIHRlc3RSZWN0ID0gb3V0c2V0UmVjdDsKICAgICAgICAgdGVzdFJlY3QuZXhwYW5kKDAsIDEp
OwotICAgICAgICBFWFBFQ1RfRVFfUkVDVChvdXRzZXRSZWN0LCBvY2NsdXNpb24udW5vY2NsdWRl
ZENvbnRlbnRSZWN0KHBhcmVudCwgdGVzdFJlY3QpKTsKKyAgICAgICAgRVhQRUNUX0lOVF9SRUNU
X0VRKG91dHNldFJlY3QsIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3QocGFyZW50LCB0
ZXN0UmVjdCkpOwogICAgICAgICB0ZXN0UmVjdCA9IG91dHNldFJlY3Q7CiAgICAgICAgIHRlc3RS
ZWN0Lm1vdmUoLTEsIDApOwogICAgICAgICB0ZXN0UmVjdC5leHBhbmQoMSwgMCk7Ci0gICAgICAg
IEVYUEVDVF9FUV9SRUNUKG91dHNldFJlY3QsIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJl
Y3QocGFyZW50LCB0ZXN0UmVjdCkpOworICAgICAgICBFWFBFQ1RfSU5UX1JFQ1RfRVEob3V0c2V0
UmVjdCwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChwYXJlbnQsIHRlc3RSZWN0KSk7
CiAgICAgICAgIHRlc3RSZWN0ID0gb3V0c2V0UmVjdDsKICAgICAgICAgdGVzdFJlY3QubW92ZSgw
LCAtMSk7CiAgICAgICAgIHRlc3RSZWN0LmV4cGFuZCgwLCAxKTsKLSAgICAgICAgRVhQRUNUX0VR
X1JFQ1Qob3V0c2V0UmVjdCwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChwYXJlbnQs
IHRlc3RSZWN0KSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShvdXRzZXRSZWN0LCBvY2Ns
dXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KHBhcmVudCwgdGVzdFJlY3QpKTsKIAogICAgICAg
ICAvLyBOb3RoaW5nIGluIHRoZSBibHVyIG91dHNldHMgZm9yIHRoZSBmaWx0ZXJlZFN1cmZhY2Un
cyByZXBsaWNhIGlzIG9jY2x1ZGVkLgogICAgICAgICBvdXRzZXRSZWN0ID0gSW50UmVjdCgyMDAg
LSBvdXRzZXRMZWZ0LCA1MCAtIG91dHNldFRvcCwgNTAgKyBvdXRzZXRMZWZ0ICsgb3V0c2V0Umln
aHQsIDUwICsgb3V0c2V0VG9wICsgb3V0c2V0Qm90dG9tKTsKICAgICAgICAgdGVzdFJlY3QgPSBv
dXRzZXRSZWN0OwotICAgICAgICBFWFBFQ1RfRVFfUkVDVChvdXRzZXRSZWN0LCBvY2NsdXNpb24u
dW5vY2NsdWRlZENvbnRlbnRSZWN0KHBhcmVudCwgdGVzdFJlY3QpKTsKKyAgICAgICAgRVhQRUNU
X0lOVF9SRUNUX0VRKG91dHNldFJlY3QsIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3Qo
cGFyZW50LCB0ZXN0UmVjdCkpOwogCiAgICAgICAgIC8vIFN0dWZmIG91dHNpZGUgdGhlIGJsdXIg
b3V0c2V0cyBpcyBzdGlsbCBvY2NsdWRlZCB0aG91Z2guCiAgICAgICAgIHRlc3RSZWN0ID0gb3V0
c2V0UmVjdDsKICAgICAgICAgdGVzdFJlY3QuZXhwYW5kKDEsIDApOwotICAgICAgICBFWFBFQ1Rf
RVFfUkVDVChvdXRzZXRSZWN0LCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KHBhcmVu
dCwgdGVzdFJlY3QpKTsKKyAgICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKG91dHNldFJlY3QsIG9j
Y2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3QocGFyZW50LCB0ZXN0UmVjdCkpOwogICAgICAg
ICB0ZXN0UmVjdCA9IG91dHNldFJlY3Q7CiAgICAgICAgIHRlc3RSZWN0LmV4cGFuZCgwLCAxKTsK
LSAgICAgICAgRVhQRUNUX0VRX1JFQ1Qob3V0c2V0UmVjdCwgb2NjbHVzaW9uLnVub2NjbHVkZWRD
b250ZW50UmVjdChwYXJlbnQsIHRlc3RSZWN0KSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9F
UShvdXRzZXRSZWN0LCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KHBhcmVudCwgdGVz
dFJlY3QpKTsKICAgICAgICAgdGVzdFJlY3QgPSBvdXRzZXRSZWN0OwogICAgICAgICB0ZXN0UmVj
dC5tb3ZlKC0xLCAwKTsKICAgICAgICAgdGVzdFJlY3QuZXhwYW5kKDEsIDApOwotICAgICAgICBF
WFBFQ1RfRVFfUkVDVChvdXRzZXRSZWN0LCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0
KHBhcmVudCwgdGVzdFJlY3QpKTsKKyAgICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKG91dHNldFJl
Y3QsIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3QocGFyZW50LCB0ZXN0UmVjdCkpOwog
ICAgICAgICB0ZXN0UmVjdCA9IG91dHNldFJlY3Q7CiAgICAgICAgIHRlc3RSZWN0Lm1vdmUoMCwg
LTEpOwogICAgICAgICB0ZXN0UmVjdC5leHBhbmQoMCwgMSk7Ci0gICAgICAgIEVYUEVDVF9FUV9S
RUNUKG91dHNldFJlY3QsIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3QocGFyZW50LCB0
ZXN0UmVjdCkpOworICAgICAgICBFWFBFQ1RfSU5UX1JFQ1RfRVEob3V0c2V0UmVjdCwgb2NjbHVz
aW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChwYXJlbnQsIHRlc3RSZWN0KSk7CiAgICAgfQogfTsK
IApAQCAtMjY3MSw5ICsyNjY2LDkgQEAgcHJvdGVjdGVkOgogICAgICAgICBvY2NsdXNpb24uc2V0
TGF5ZXJTY2lzc29yUmVjdChJbnRSZWN0KDAsIDAsIDEwMDAsIDEwMDApKTsKIAogICAgICAgICB0
aGlzLT52aXNpdExheWVyKG9jY2x1ZGluZ0xheWVyQWJvdmUsIG9jY2x1c2lvbik7Ci0gICAgICAg
IEVYUEVDVF9FUV9SRUNUKEludFJlY3QoMTAwIC8gMiwgMTAwIC8gMiwgNTAgLyAyLCA1MCAvIDIp
LCBvY2NsdXNpb24ub2NjbHVzaW9uSW5TY3JlZW5TcGFjZSgpLmJvdW5kcygpKTsKKyAgICAgICAg
RVhQRUNUX0lOVF9SRUNUX0VRKEludFJlY3QoMTAwIC8gMiwgMTAwIC8gMiwgNTAgLyAyLCA1MCAv
IDIpLCBvY2NsdXNpb24ub2NjbHVzaW9uSW5TY3JlZW5TcGFjZSgpLmJvdW5kcygpKTsKICAgICAg
ICAgRVhQRUNUX0VRKDF1LCBvY2NsdXNpb24ub2NjbHVzaW9uSW5TY3JlZW5TcGFjZSgpLnJlY3Rz
KCkuc2l6ZSgpKTsKLSAgICAgICAgRVhQRUNUX0VRX1JFQ1QoSW50UmVjdCgxMDAsIDEwMCwgNTAs
IDUwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluVGFyZ2V0U3VyZmFjZSgpLmJvdW5kcygpKTsKKyAg
ICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKEludFJlY3QoMTAwLCAxMDAsIDUwLCA1MCksIG9jY2x1
c2lvbi5vY2NsdXNpb25JblRhcmdldFN1cmZhY2UoKS5ib3VuZHMoKSk7CiAgICAgICAgIEVYUEVD
VF9FUSgxdSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluVGFyZ2V0U3VyZmFjZSgpLnJlY3RzKCkuc2l6
ZSgpKTsKIAogICAgICAgICB0aGlzLT52aXNpdExheWVyKGZpbHRlcmVkU3VyZmFjZTIsIG9jY2x1
c2lvbik7CkBAIC0yNjg2LDcgKzI2ODEsNyBAQCBwcm90ZWN0ZWQ6CiAKICAgICAgICAgLy8gVGVz
dCBleHBlY3RhdGlvbnMgaW4gdGhlIHRhcmdldC4KICAgICAgICAgSW50UmVjdCBleHBlY3RlZE9j
Y2x1c2lvbiA9IEludFJlY3QoMTAwICsgb3V0c2V0UmlnaHQgKiAyLCAxMDAgKyBvdXRzZXRCb3R0
b20gKiAyLCA1MCAtIChvdXRzZXRMZWZ0ICsgb3V0c2V0UmlnaHQpICogMiwgNTAgLSAob3V0c2V0
VG9wICsgb3V0c2V0Qm90dG9tKSAqIDIpOwotICAgICAgICBFWFBFQ1RfRVFfUkVDVChleHBlY3Rl
ZE9jY2x1c2lvbiwgb2NjbHVzaW9uLm9jY2x1c2lvbkluVGFyZ2V0U3VyZmFjZSgpLnJlY3RzKClb
MF0pOworICAgICAgICBFWFBFQ1RfSU5UX1JFQ1RfRVEoZXhwZWN0ZWRPY2NsdXNpb24sIG9jY2x1
c2lvbi5vY2NsdXNpb25JblRhcmdldFN1cmZhY2UoKS5yZWN0cygpWzBdKTsKIAogICAgICAgICAv
LyBUZXN0IGV4cGVjdGF0aW9ucyBpbiB0aGUgc2NyZWVuLiBUYWtlIHRoZSBjZWlsaW5nIG9mIGhh
bGYgb2YgdGhlIG91dHNldHMuCiAgICAgICAgIG91dHNldFRvcCA9IChvdXRzZXRUb3AgKyAxKSAv
IDI7CkBAIC0yNjk1LDcgKzI2OTAsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIG91dHNldExlZnQg
PSAob3V0c2V0TGVmdCArIDEpIC8gMjsKICAgICAgICAgZXhwZWN0ZWRPY2NsdXNpb24gPSBJbnRS
ZWN0KDEwMCAvIDIgKyBvdXRzZXRSaWdodCAqIDIsIDEwMCAvIDIgKyBvdXRzZXRCb3R0b20gKiAy
LCA1MCAvIDIgLSAob3V0c2V0TGVmdCArIG91dHNldFJpZ2h0KSAqIDIsIDUwIC8yIC0gKG91dHNl
dFRvcCArIG91dHNldEJvdHRvbSkgKiAyKTsKIAotICAgICAgICBFWFBFQ1RfRVFfUkVDVChleHBl
Y3RlZE9jY2x1c2lvbiwgb2NjbHVzaW9uLm9jY2x1c2lvbkluU2NyZWVuU3BhY2UoKS5yZWN0cygp
WzBdKTsKKyAgICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKGV4cGVjdGVkT2NjbHVzaW9uLCBvY2Ns
dXNpb24ub2NjbHVzaW9uSW5TY3JlZW5TcGFjZSgpLnJlY3RzKClbMF0pOwogICAgIH0KIH07CiAK
QEAgLTI3NDIsMjggKzI3MzcsMjggQEAgcHJvdGVjdGVkOgogICAgICAgICB0aGlzLT52aXNpdExh
eWVyKG9jY2x1ZGluZ0xheWVyMiwgb2NjbHVzaW9uKTsKICAgICAgICAgdGhpcy0+dmlzaXRMYXll
cihvY2NsdWRpbmdMYXllcjEsIG9jY2x1c2lvbik7CiAKLSAgICAgICAgRVhQRUNUX0VRX1JFQ1Qo
SW50UmVjdCgwLCAwLCAzMDAsIDE1MCksIG9jY2x1c2lvbi5vY2NsdXNpb25JblNjcmVlblNwYWNl
KCkuYm91bmRzKCkpOworICAgICAgICBFWFBFQ1RfSU5UX1JFQ1RfRVEoSW50UmVjdCgwLCAwLCAz
MDAsIDE1MCksIG9jY2x1c2lvbi5vY2NsdXNpb25JblNjcmVlblNwYWNlKCkuYm91bmRzKCkpOwog
ICAgICAgICBFWFBFQ1RfRVEoNXUsIG9jY2x1c2lvbi5vY2NsdXNpb25JblNjcmVlblNwYWNlKCku
cmVjdHMoKS5zaXplKCkpOwotICAgICAgICBFWFBFQ1RfRVFfUkVDVChJbnRSZWN0KDAsIDAsIDMw
MCwgMTUwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluVGFyZ2V0U3VyZmFjZSgpLmJvdW5kcygpKTsK
KyAgICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKEludFJlY3QoMCwgMCwgMzAwLCAxNTApLCBvY2Ns
dXNpb24ub2NjbHVzaW9uSW5UYXJnZXRTdXJmYWNlKCkuYm91bmRzKCkpOwogICAgICAgICBFWFBF
Q1RfRVEoNXUsIG9jY2x1c2lvbi5vY2NsdXNpb25JblRhcmdldFN1cmZhY2UoKS5yZWN0cygpLnNp
emUoKSk7CiAKICAgICAgICAgLy8gRXZlcnl0aGluZyBvdXRzaWRlIHRoZSBzdXJmYWNlL3JlcGxp
Y2EgaXMgb2NjbHVkZWQgYnV0IHRoZSBzdXJmYWNlL3JlcGxpY2EgaXRzZWxmIGlzIG5vdC4KICAg
ICAgICAgdGhpcy0+ZW50ZXJMYXllcihmaWx0ZXJlZFN1cmZhY2UsIG9jY2x1c2lvbik7Ci0gICAg
ICAgIEVYUEVDVF9FUV9SRUNUKEludFJlY3QoMSwgMCwgNDksIDUwKSwgb2NjbHVzaW9uLnVub2Nj
bHVkZWRDb250ZW50UmVjdChmaWx0ZXJlZFN1cmZhY2UsIEludFJlY3QoMSwgMCwgNTAsIDUwKSkp
OwotICAgICAgICBFWFBFQ1RfRVFfUkVDVChJbnRSZWN0KDAsIDEsIDUwLCA0OSksIG9jY2x1c2lv
bi51bm9jY2x1ZGVkQ29udGVudFJlY3QoZmlsdGVyZWRTdXJmYWNlLCBJbnRSZWN0KDAsIDEsIDUw
LCA1MCkpKTsKLSAgICAgICAgRVhQRUNUX0VRX1JFQ1QoSW50UmVjdCgwLCAwLCA0OSwgNTApLCBv
Y2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KGZpbHRlcmVkU3VyZmFjZSwgSW50UmVjdCgt
MSwgMCwgNTAsIDUwKSkpOwotICAgICAgICBFWFBFQ1RfRVFfUkVDVChJbnRSZWN0KDAsIDAsIDUw
LCA0OSksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3QoZmlsdGVyZWRTdXJmYWNlLCBJ
bnRSZWN0KDAsIC0xLCA1MCwgNTApKSk7Ci0KLSAgICAgICAgRVhQRUNUX0VRX1JFQ1QoSW50UmVj
dCgxNTAgKyAxLCAwLCA0OSwgNTApLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KGZp
bHRlcmVkU3VyZmFjZSwgSW50UmVjdCgxNTAgKyAxLCAwLCA1MCwgNTApKSk7Ci0gICAgICAgIEVY
UEVDVF9FUV9SRUNUKEludFJlY3QoMTUwICsgMCwgMSwgNTAsIDQ5KSwgb2NjbHVzaW9uLnVub2Nj
bHVkZWRDb250ZW50UmVjdChmaWx0ZXJlZFN1cmZhY2UsIEludFJlY3QoMTUwICsgMCwgMSwgNTAs
IDUwKSkpOwotICAgICAgICBFWFBFQ1RfRVFfUkVDVChJbnRSZWN0KDE1MCArIDAsIDAsIDQ5LCA1
MCksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3QoZmlsdGVyZWRTdXJmYWNlLCBJbnRS
ZWN0KDE1MCAtIDEsIDAsIDUwLCA1MCkpKTsKLSAgICAgICAgRVhQRUNUX0VRX1JFQ1QoSW50UmVj
dCgxNTAgKyAwLCAwLCA1MCwgNDkpLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KGZp
bHRlcmVkU3VyZmFjZSwgSW50UmVjdCgxNTAgKyAwLCAtMSwgNTAsIDUwKSkpOworICAgICAgICBF
WFBFQ1RfSU5UX1JFQ1RfRVEoSW50UmVjdCgxLCAwLCA0OSwgNTApLCBvY2NsdXNpb24udW5vY2Ns
dWRlZENvbnRlbnRSZWN0KGZpbHRlcmVkU3VyZmFjZSwgSW50UmVjdCgxLCAwLCA1MCwgNTApKSk7
CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJbnRSZWN0KDAsIDEsIDUwLCA0OSksIG9jY2x1
c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3QoZmlsdGVyZWRTdXJmYWNlLCBJbnRSZWN0KDAsIDEs
IDUwLCA1MCkpKTsKKyAgICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKEludFJlY3QoMCwgMCwgNDks
IDUwKSwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChmaWx0ZXJlZFN1cmZhY2UsIElu
dFJlY3QoLTEsIDAsIDUwLCA1MCkpKTsKKyAgICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKEludFJl
Y3QoMCwgMCwgNTAsIDQ5KSwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChmaWx0ZXJl
ZFN1cmZhY2UsIEludFJlY3QoMCwgLTEsIDUwLCA1MCkpKTsKKworICAgICAgICBFWFBFQ1RfSU5U
X1JFQ1RfRVEoSW50UmVjdCgxNTAgKyAxLCAwLCA0OSwgNTApLCBvY2NsdXNpb24udW5vY2NsdWRl
ZENvbnRlbnRSZWN0KGZpbHRlcmVkU3VyZmFjZSwgSW50UmVjdCgxNTAgKyAxLCAwLCA1MCwgNTAp
KSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJbnRSZWN0KDE1MCArIDAsIDEsIDUwLCA0
OSksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3QoZmlsdGVyZWRTdXJmYWNlLCBJbnRS
ZWN0KDE1MCArIDAsIDEsIDUwLCA1MCkpKTsKKyAgICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKElu
dFJlY3QoMTUwICsgMCwgMCwgNDksIDUwKSwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVj
dChmaWx0ZXJlZFN1cmZhY2UsIEludFJlY3QoMTUwIC0gMSwgMCwgNTAsIDUwKSkpOworICAgICAg
ICBFWFBFQ1RfSU5UX1JFQ1RfRVEoSW50UmVjdCgxNTAgKyAwLCAwLCA1MCwgNDkpLCBvY2NsdXNp
b24udW5vY2NsdWRlZENvbnRlbnRSZWN0KGZpbHRlcmVkU3VyZmFjZSwgSW50UmVjdCgxNTAgKyAw
LCAtMSwgNTAsIDUwKSkpOwogICAgICAgICB0aGlzLT5sZWF2ZUxheWVyKGZpbHRlcmVkU3VyZmFj
ZSwgb2NjbHVzaW9uKTsKIAogICAgICAgICAvLyBUaGUgZmlsdGVyZWQgbGF5ZXIvcmVwbGljYSBk
b2VzIG5vdCBvY2NsdWRlLgotICAgICAgICBFWFBFQ1RfRVFfUkVDVChJbnRSZWN0KDAsIDAsIDMw
MCwgMTUwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluU2NyZWVuU3BhY2UoKS5ib3VuZHMoKSk7Cisg
ICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJbnRSZWN0KDAsIDAsIDMwMCwgMTUwKSwgb2NjbHVz
aW9uLm9jY2x1c2lvbkluU2NyZWVuU3BhY2UoKS5ib3VuZHMoKSk7CiAgICAgICAgIEVYUEVDVF9F
USg1dSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluU2NyZWVuU3BhY2UoKS5yZWN0cygpLnNpemUoKSk7
Ci0gICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJlY3QoMCwgMCwgMCwgMCksIG9jY2x1c2lvbi5v
Y2NsdXNpb25JblRhcmdldFN1cmZhY2UoKS5ib3VuZHMoKSk7CisgICAgICAgIEVYUEVDVF9JTlRf
UkVDVF9FUShJbnRSZWN0KDAsIDAsIDAsIDApLCBvY2NsdXNpb24ub2NjbHVzaW9uSW5UYXJnZXRT
dXJmYWNlKCkuYm91bmRzKCkpOwogICAgICAgICBFWFBFQ1RfRVEoMHUsIG9jY2x1c2lvbi5vY2Ns
dXNpb25JblRhcmdldFN1cmZhY2UoKS5yZWN0cygpLnNpemUoKSk7CiAKICAgICAgICAgLy8gVGhl
IHN1cmZhY2UgaGFzIGEgYmFja2dyb3VuZCBibHVyLCBzbyBpdCBuZWVkcyBwaXhlbHMgdGhhdCBh
cmUgY3VycmVudGx5IGNvbnNpZGVyZWQgb2NjbHVkZWQgaW4gb3JkZXIgdG8gYmUgZHJhd24uIFNv
IHRoZSBwaXhlbHMKQEAgLTI3NzEsNyArMjc2Niw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgdGhp
cy0+dmlzaXRDb250cmlidXRpbmdTdXJmYWNlKGZpbHRlcmVkU3VyZmFjZSwgb2NjbHVzaW9uKTsK
IAogICAgICAgICB0aGlzLT5lbnRlckNvbnRyaWJ1dGluZ1N1cmZhY2UoY2xpcHBpbmdTdXJmYWNl
LCBvY2NsdXNpb24pOwotICAgICAgICBFWFBFQ1RfRVFfUkVDVChJbnRSZWN0KDAsIDAsIDMwMCwg
MTUwKSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluU2NyZWVuU3BhY2UoKS5ib3VuZHMoKSk7CisgICAg
ICAgIEVYUEVDVF9JTlRfUkVDVF9FUShJbnRSZWN0KDAsIDAsIDMwMCwgMTUwKSwgb2NjbHVzaW9u
Lm9jY2x1c2lvbkluU2NyZWVuU3BhY2UoKS5ib3VuZHMoKSk7CiAgICAgICAgIEVYUEVDVF9FUSg1
dSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluU2NyZWVuU3BhY2UoKS5yZWN0cygpLnNpemUoKSk7CiAK
ICAgICAgICAgSW50UmVjdCBvdXRzZXRSZWN0OwpAQCAtMjc4Miw0NSArMjc3Nyw0NSBAQCBwcm90
ZWN0ZWQ6CiAgICAgICAgIG91dHNldFJlY3QgPSBJbnRSZWN0KDUwIC0gb3V0c2V0TGVmdCwgNTAg
LSBvdXRzZXRUb3AsIDUwICsgb3V0c2V0TGVmdCArIG91dHNldFJpZ2h0LCA1MCArIG91dHNldFRv
cCArIG91dHNldEJvdHRvbSk7CiAgICAgICAgIGNsaXBwZWRPdXRzZXRSZWN0ID0gaW50ZXJzZWN0
aW9uKG91dHNldFJlY3QsIEludFJlY3QoMCAtIG91dHNldExlZnQsIDAgLSBvdXRzZXRUb3AsIDMw
MCArIG91dHNldExlZnQgKyBvdXRzZXRSaWdodCwgNzAgKyBvdXRzZXRUb3AgKyBvdXRzZXRCb3R0
b20pKTsKICAgICAgICAgdGVzdFJlY3QgPSBvdXRzZXRSZWN0OwotICAgICAgICBFWFBFQ1RfRVFf
UkVDVChjbGlwcGVkT3V0c2V0UmVjdCwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChj
bGlwcGluZ1N1cmZhY2UsIHRlc3RSZWN0KSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShj
bGlwcGVkT3V0c2V0UmVjdCwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChjbGlwcGlu
Z1N1cmZhY2UsIHRlc3RSZWN0KSk7CiAKICAgICAgICAgLy8gU3R1ZmYgb3V0c2lkZSB0aGUgKGNs
aXBwZWQpIGJsdXIgb3V0c2V0cyBpcyBzdGlsbCBvY2NsdWRlZCB0aG91Z2guCiAgICAgICAgIHRl
c3RSZWN0ID0gb3V0c2V0UmVjdDsKICAgICAgICAgdGVzdFJlY3QuZXhwYW5kKDEsIDApOwotICAg
ICAgICBFWFBFQ1RfRVFfUkVDVChjbGlwcGVkT3V0c2V0UmVjdCwgb2NjbHVzaW9uLnVub2NjbHVk
ZWRDb250ZW50UmVjdChjbGlwcGluZ1N1cmZhY2UsIHRlc3RSZWN0KSk7CisgICAgICAgIEVYUEVD
VF9JTlRfUkVDVF9FUShjbGlwcGVkT3V0c2V0UmVjdCwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250
ZW50UmVjdChjbGlwcGluZ1N1cmZhY2UsIHRlc3RSZWN0KSk7CiAgICAgICAgIHRlc3RSZWN0ID0g
b3V0c2V0UmVjdDsKICAgICAgICAgdGVzdFJlY3QuZXhwYW5kKDAsIDEpOwotICAgICAgICBFWFBF
Q1RfRVFfUkVDVChjbGlwcGVkT3V0c2V0UmVjdCwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50
UmVjdChjbGlwcGluZ1N1cmZhY2UsIHRlc3RSZWN0KSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVD
VF9FUShjbGlwcGVkT3V0c2V0UmVjdCwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChj
bGlwcGluZ1N1cmZhY2UsIHRlc3RSZWN0KSk7CiAgICAgICAgIHRlc3RSZWN0ID0gb3V0c2V0UmVj
dDsKICAgICAgICAgdGVzdFJlY3QubW92ZSgtMSwgMCk7CiAgICAgICAgIHRlc3RSZWN0LmV4cGFu
ZCgxLCAwKTsKLSAgICAgICAgRVhQRUNUX0VRX1JFQ1QoY2xpcHBlZE91dHNldFJlY3QsIG9jY2x1
c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3QoY2xpcHBpbmdTdXJmYWNlLCB0ZXN0UmVjdCkpOwor
ICAgICAgICBFWFBFQ1RfSU5UX1JFQ1RfRVEoY2xpcHBlZE91dHNldFJlY3QsIG9jY2x1c2lvbi51
bm9jY2x1ZGVkQ29udGVudFJlY3QoY2xpcHBpbmdTdXJmYWNlLCB0ZXN0UmVjdCkpOwogICAgICAg
ICB0ZXN0UmVjdCA9IG91dHNldFJlY3Q7CiAgICAgICAgIHRlc3RSZWN0Lm1vdmUoMCwgLTEpOwog
ICAgICAgICB0ZXN0UmVjdC5leHBhbmQoMCwgMSk7Ci0gICAgICAgIEVYUEVDVF9FUV9SRUNUKGNs
aXBwZWRPdXRzZXRSZWN0LCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KGNsaXBwaW5n
U3VyZmFjZSwgdGVzdFJlY3QpKTsKKyAgICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKGNsaXBwZWRP
dXRzZXRSZWN0LCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KGNsaXBwaW5nU3VyZmFj
ZSwgdGVzdFJlY3QpKTsKIAogICAgICAgICAvLyBOb3RoaW5nIGluIHRoZSAoY2xpcHBlZCkgYmx1
ciBvdXRzZXRzIGZvciB0aGUgZmlsdGVyZWRTdXJmYWNlJ3MgcmVwbGljYSBpcyBvY2NsdWRlZC4K
ICAgICAgICAgb3V0c2V0UmVjdCA9IEludFJlY3QoMjAwIC0gb3V0c2V0TGVmdCwgNTAgLSBvdXRz
ZXRUb3AsIDUwICsgb3V0c2V0TGVmdCArIG91dHNldFJpZ2h0LCA1MCArIG91dHNldFRvcCArIG91
dHNldEJvdHRvbSk7CiAgICAgICAgIGNsaXBwZWRPdXRzZXRSZWN0ID0gaW50ZXJzZWN0aW9uKG91
dHNldFJlY3QsIEludFJlY3QoMCAtIG91dHNldExlZnQsIDAgLSBvdXRzZXRUb3AsIDMwMCArIG91
dHNldExlZnQgKyBvdXRzZXRSaWdodCwgNzAgKyBvdXRzZXRUb3AgKyBvdXRzZXRCb3R0b20pKTsK
ICAgICAgICAgdGVzdFJlY3QgPSBvdXRzZXRSZWN0OwotICAgICAgICBFWFBFQ1RfRVFfUkVDVChj
bGlwcGVkT3V0c2V0UmVjdCwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChjbGlwcGlu
Z1N1cmZhY2UsIHRlc3RSZWN0KSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShjbGlwcGVk
T3V0c2V0UmVjdCwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChjbGlwcGluZ1N1cmZh
Y2UsIHRlc3RSZWN0KSk7CiAKICAgICAgICAgLy8gU3R1ZmYgb3V0c2lkZSB0aGUgKGNsaXBwZWQp
IGJsdXIgb3V0c2V0cyBpcyBzdGlsbCBvY2NsdWRlZCB0aG91Z2guCiAgICAgICAgIHRlc3RSZWN0
ID0gb3V0c2V0UmVjdDsKICAgICAgICAgdGVzdFJlY3QuZXhwYW5kKDEsIDApOwotICAgICAgICBF
WFBFQ1RfRVFfUkVDVChjbGlwcGVkT3V0c2V0UmVjdCwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250
ZW50UmVjdChjbGlwcGluZ1N1cmZhY2UsIHRlc3RSZWN0KSk7CisgICAgICAgIEVYUEVDVF9JTlRf
UkVDVF9FUShjbGlwcGVkT3V0c2V0UmVjdCwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVj
dChjbGlwcGluZ1N1cmZhY2UsIHRlc3RSZWN0KSk7CiAgICAgICAgIHRlc3RSZWN0ID0gb3V0c2V0
UmVjdDsKICAgICAgICAgdGVzdFJlY3QuZXhwYW5kKDAsIDEpOwotICAgICAgICBFWFBFQ1RfRVFf
UkVDVChjbGlwcGVkT3V0c2V0UmVjdCwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChj
bGlwcGluZ1N1cmZhY2UsIHRlc3RSZWN0KSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9FUShj
bGlwcGVkT3V0c2V0UmVjdCwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChjbGlwcGlu
Z1N1cmZhY2UsIHRlc3RSZWN0KSk7CiAgICAgICAgIHRlc3RSZWN0ID0gb3V0c2V0UmVjdDsKICAg
ICAgICAgdGVzdFJlY3QubW92ZSgtMSwgMCk7CiAgICAgICAgIHRlc3RSZWN0LmV4cGFuZCgxLCAw
KTsKLSAgICAgICAgRVhQRUNUX0VRX1JFQ1QoY2xpcHBlZE91dHNldFJlY3QsIG9jY2x1c2lvbi51
bm9jY2x1ZGVkQ29udGVudFJlY3QoY2xpcHBpbmdTdXJmYWNlLCB0ZXN0UmVjdCkpOworICAgICAg
ICBFWFBFQ1RfSU5UX1JFQ1RfRVEoY2xpcHBlZE91dHNldFJlY3QsIG9jY2x1c2lvbi51bm9jY2x1
ZGVkQ29udGVudFJlY3QoY2xpcHBpbmdTdXJmYWNlLCB0ZXN0UmVjdCkpOwogICAgICAgICB0ZXN0
UmVjdCA9IG91dHNldFJlY3Q7CiAgICAgICAgIHRlc3RSZWN0Lm1vdmUoMCwgLTEpOwogICAgICAg
ICB0ZXN0UmVjdC5leHBhbmQoMCwgMSk7Ci0gICAgICAgIEVYUEVDVF9FUV9SRUNUKGNsaXBwZWRP
dXRzZXRSZWN0LCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KGNsaXBwaW5nU3VyZmFj
ZSwgdGVzdFJlY3QpKTsKKyAgICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKGNsaXBwZWRPdXRzZXRS
ZWN0LCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KGNsaXBwaW5nU3VyZmFjZSwgdGVz
dFJlY3QpKTsKICAgICB9CiB9OwogCkBAIC0yODY2LDkgKzI4NjEsOSBAQCBwcm90ZWN0ZWQ6CiAg
ICAgICAgIEludFJlY3Qgb2NjbHVzaW9uQmVoaW5kUmVwbGljYSA9IEludFJlY3QoMjEwLCA2MCwg
MzAsIDMwKTsKIAogICAgICAgICBJbnRSZWN0IGV4cGVjdGVkT3BhcXVlQm91bmRzID0gdW5pb25S
ZWN0KG9jY2x1c2lvbkJlaGluZFN1cmZhY2UsIG9jY2x1c2lvbkJlaGluZFJlcGxpY2EpOwotICAg
ICAgICBFWFBFQ1RfRVFfUkVDVChleHBlY3RlZE9wYXF1ZUJvdW5kcywgb2NjbHVzaW9uLm9jY2x1
c2lvbkluU2NyZWVuU3BhY2UoKS5ib3VuZHMoKSk7CisgICAgICAgIEVYUEVDVF9JTlRfUkVDVF9F
UShleHBlY3RlZE9wYXF1ZUJvdW5kcywgb2NjbHVzaW9uLm9jY2x1c2lvbkluU2NyZWVuU3BhY2Uo
KS5ib3VuZHMoKSk7CiAgICAgICAgIEVYUEVDVF9FUSgydSwgb2NjbHVzaW9uLm9jY2x1c2lvbklu
U2NyZWVuU3BhY2UoKS5yZWN0cygpLnNpemUoKSk7Ci0gICAgICAgIEVYUEVDVF9FUV9SRUNUKGV4
cGVjdGVkT3BhcXVlQm91bmRzLCBvY2NsdXNpb24ub2NjbHVzaW9uSW5UYXJnZXRTdXJmYWNlKCku
Ym91bmRzKCkpOworICAgICAgICBFWFBFQ1RfSU5UX1JFQ1RfRVEoZXhwZWN0ZWRPcGFxdWVCb3Vu
ZHMsIG9jY2x1c2lvbi5vY2NsdXNpb25JblRhcmdldFN1cmZhY2UoKS5ib3VuZHMoKSk7CiAgICAg
ICAgIEVYUEVDVF9FUSgydSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluVGFyZ2V0U3VyZmFjZSgpLnJl
Y3RzKCkuc2l6ZSgpKTsKICAgICB9CiB9OwpAQCAtMjkxNCw5ICsyOTA5LDkgQEAgcHJvdGVjdGVk
OgogICAgICAgICBJbnRSZWN0IG9jY2x1c2lvbkFib3ZlUmVwbGljYSA9IEludFJlY3QoMjAwLCA1
MCwgNTAsIDUwKTsKIAogICAgICAgICBJbnRSZWN0IGV4cGVjdGVkT3BhcXVlQm91bmRzID0gdW5p
b25SZWN0KG9jY2x1c2lvbkFib3ZlU3VyZmFjZSwgb2NjbHVzaW9uQWJvdmVSZXBsaWNhKTsKLSAg
ICAgICAgRVhQRUNUX0VRX1JFQ1QoZXhwZWN0ZWRPcGFxdWVCb3VuZHMsIG9jY2x1c2lvbi5vY2Ns
dXNpb25JblNjcmVlblNwYWNlKCkuYm91bmRzKCkpOworICAgICAgICBFWFBFQ1RfSU5UX1JFQ1Rf
RVEoZXhwZWN0ZWRPcGFxdWVCb3VuZHMsIG9jY2x1c2lvbi5vY2NsdXNpb25JblNjcmVlblNwYWNl
KCkuYm91bmRzKCkpOwogICAgICAgICBFWFBFQ1RfRVEoMnUsIG9jY2x1c2lvbi5vY2NsdXNpb25J
blNjcmVlblNwYWNlKCkucmVjdHMoKS5zaXplKCkpOwotICAgICAgICBFWFBFQ1RfRVFfUkVDVChl
eHBlY3RlZE9wYXF1ZUJvdW5kcywgb2NjbHVzaW9uLm9jY2x1c2lvbkluVGFyZ2V0U3VyZmFjZSgp
LmJvdW5kcygpKTsKKyAgICAgICAgRVhQRUNUX0lOVF9SRUNUX0VRKGV4cGVjdGVkT3BhcXVlQm91
bmRzLCBvY2NsdXNpb24ub2NjbHVzaW9uSW5UYXJnZXRTdXJmYWNlKCkuYm91bmRzKCkpOwogICAg
ICAgICBFWFBFQ1RfRVEoMnUsIG9jY2x1c2lvbi5vY2NsdXNpb25JblRhcmdldFN1cmZhY2UoKS5y
ZWN0cygpLnNpemUoKSk7CiAgICAgfQogfTsKQEAgLTMwMTUsMTcgKzMwMTAsMTcgQEAgcHJvdGVj
dGVkOgogICAgICAgICAvLyBUaGUgc21hbGwgbGF5ZXIgaXMgbm90IHRyYWNrZWQgYmVjYXVzZSBp
dCBpcyB0b28gc21hbGwuCiAgICAgICAgIHRoaXMtPnZpc2l0TGF5ZXIoc21hbGwsIG9jY2x1c2lv
bik7CiAKLSAgICAgICAgRVhQRUNUX0VRX1JFQ1QoSW50UmVjdCgpLCBvY2NsdXNpb24ub2NjbHVz
aW9uSW5TY3JlZW5TcGFjZSgpLmJvdW5kcygpKTsKKyAgICAgICAgRVhQRUNUX0lOVF9SRUNUX0VR
KEludFJlY3QoKSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluU2NyZWVuU3BhY2UoKS5ib3VuZHMoKSk7
CiAgICAgICAgIEVYUEVDVF9FUSgwdSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluU2NyZWVuU3BhY2Uo
KS5yZWN0cygpLnNpemUoKSk7Ci0gICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJlY3QoKSwgb2Nj
bHVzaW9uLm9jY2x1c2lvbkluVGFyZ2V0U3VyZmFjZSgpLmJvdW5kcygpKTsKKyAgICAgICAgRVhQ
RUNUX0lOVF9SRUNUX0VRKEludFJlY3QoKSwgb2NjbHVzaW9uLm9jY2x1c2lvbkluVGFyZ2V0U3Vy
ZmFjZSgpLmJvdW5kcygpKTsKICAgICAgICAgRVhQRUNUX0VRKDB1LCBvY2NsdXNpb24ub2NjbHVz
aW9uSW5UYXJnZXRTdXJmYWNlKCkucmVjdHMoKS5zaXplKCkpOwogCiAgICAgICAgIC8vIFRoZSBs
YXJnZSBsYXllciBpcyB0cmFja2VkIGFzIGl0IGlzIGxhcmdlIGVub3VnaC4KICAgICAgICAgdGhp
cy0+dmlzaXRMYXllcihsYXJnZSwgb2NjbHVzaW9uKTsKIAotICAgICAgICBFWFBFQ1RfRVFfUkVD
VChJbnRSZWN0KEludFBvaW50KCksIHRyYWNraW5nU2l6ZSksIG9jY2x1c2lvbi5vY2NsdXNpb25J
blNjcmVlblNwYWNlKCkuYm91bmRzKCkpOworICAgICAgICBFWFBFQ1RfSU5UX1JFQ1RfRVEoSW50
UmVjdChJbnRQb2ludCgpLCB0cmFja2luZ1NpemUpLCBvY2NsdXNpb24ub2NjbHVzaW9uSW5TY3Jl
ZW5TcGFjZSgpLmJvdW5kcygpKTsKICAgICAgICAgRVhQRUNUX0VRKDF1LCBvY2NsdXNpb24ub2Nj
bHVzaW9uSW5TY3JlZW5TcGFjZSgpLnJlY3RzKCkuc2l6ZSgpKTsKLSAgICAgICAgRVhQRUNUX0VR
X1JFQ1QoSW50UmVjdChJbnRQb2ludCgpLCB0cmFja2luZ1NpemUpLCBvY2NsdXNpb24ub2NjbHVz
aW9uSW5UYXJnZXRTdXJmYWNlKCkuYm91bmRzKCkpOworICAgICAgICBFWFBFQ1RfSU5UX1JFQ1Rf
RVEoSW50UmVjdChJbnRQb2ludCgpLCB0cmFja2luZ1NpemUpLCBvY2NsdXNpb24ub2NjbHVzaW9u
SW5UYXJnZXRTdXJmYWNlKCkuYm91bmRzKCkpOwogICAgICAgICBFWFBFQ1RfRVEoMXUsIG9jY2x1
c2lvbi5vY2NsdXNpb25JblRhcmdldFN1cmZhY2UoKS5yZWN0cygpLnNpemUoKSk7CiAgICAgfQog
fTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>