<?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>115807</bug_id>
          
          <creation_ts>2013-05-08 09:33:55 -0700</creation_ts>
          <short_desc>RenderQuote has giant function for language to quotes map</short_desc>
          <delta_ts>2013-05-21 03:25:20 -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>All</rep_platform>
          <op_sys>All</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>
          
          <blocked>116528</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>andersca</cc>
    
    <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>886379</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-05-08 09:33:55 -0700</bug_when>
    <thetext>Anders pointed out that RenderQuote has a colossal function that creates a map from language to quotes. It doesn’t need that. Also some other style problems there worth fixing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>886921</commentid>
    <comment_count>1</comment_count>
      <attachid>201245</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-05-09 09:47:24 -0700</bug_when>
    <thetext>Created attachment 201245
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>886932</commentid>
    <comment_count>2</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-05-09 10:04:51 -0700</bug_when>
    <thetext>I’m seeing what might be a regression test failure and might need to upload a new version of the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>886933</commentid>
    <comment_count>3</comment_count>
      <attachid>201247</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-05-09 10:09:58 -0700</bug_when>
    <thetext>Created attachment 201247
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>886934</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-05-09 10:10:28 -0700</bug_when>
    <thetext>Had one &gt;= that should have been a &gt;; fixed in the newer patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>887024</commentid>
    <comment_count>5</comment_count>
      <attachid>201247</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-05-09 12:23:25 -0700</bug_when>
    <thetext>Comment on attachment 201247
Patch

Clearing flags on attachment: 201247

Committed r149833: &lt;http://trac.webkit.org/changeset/149833&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>887025</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-05-09 12:23:27 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>888720</commentid>
    <comment_count>7</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-05-14 00:50:52 -0700</bug_when>
    <thetext>I think the root problem here is HashTable::set.

Each of these set() calls appears to expand to 1.52k of binary size!

See more discussion here:
https://codereview.chromium.org/15093007/

My template-fu is not strong enough to understand what HashTable.h is doing which is causing this binary size explosion with each :set() call.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>888882</commentid>
    <comment_count>8</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-05-14 09:38:52 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; I think the root problem here is HashTable::set.

I’m not sure; that’s a significant part of the problem, but I would not call it “the root problem”. One of the best features of HashTable is that the code gets inlined where it needs to be fast.

&gt; Each of these set() calls appears to expand to 1.52k of binary size!

We do expect the calls to be fairly large, because our hash table code is designed to be fully inlined by default.

I see four problems here:

This function’s original code makes the mistake of compiling lots of separate inlined calls to fill out the hash table rather than using a loop. That’s the primary problem. Generating a lot of code instead of a loop. Fixing that would be the minimal fix. I consider that “the root problem”. It’s just not a good approach to generate lots of function calls instead of a table and a loop. There’s no reason that loop needs to be unrolled.

The second problem is that the code to set a hash table entry is big, perhaps bigger than it needs to be. You called that “the root problem”, and it is an area with room for improvement but not really the key here in my opinion.

A third possibly distinct problem is that this code uses the inlined version, but it should instead use a function because it doesn’t benefit from inlining. We might want to look at different inlining for some hash table code in general, or a way to avoid the inlining without hand-writing functions each time.

A fourth problem is that a hash table is not the right data structure for a table that is defined at compile time. Our hash table class optimized for dynamic use at runtime, not a single static table. In other projects I have used gperf to make perfect hash functions for this kind of thing, and JavaScriptCore has something like that too. A simple array with a binary search does the job well. With some helper functions we could make it even easier to do this at other places where this kind of problem arises. Maybe share the code that JavaScriptCore uses.

Anders’s comment to me about this function was that we don’t need this on-time code to be inlined at all. Then Anders and I decided to take it further and not use a hash table at all, because we don’t think a hash table is the right tool for this job.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>891014</commentid>
    <comment_count>9</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-05-19 04:49:05 -0700</bug_when>
    <thetext>Elliot mentioned in the Blink code review that this new code is ugly. I think it’s worth considering how to package this for reuse as a way to make it prettier since there are similar problems to be solved elsewhere. That’s probably more practical than turning HashMap into a tool suitable for this use.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>201245</attachid>
            <date>2013-05-09 09:47:24 -0700</date>
            <delta_ts>2013-05-09 10:09:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-115807-20130509094627.patch</filename>
            <type>text/plain</type>
            <size>38596</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ5ODE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGU2ZGViZWQ2NGI3MTE0NWU0ZTMwY2E4
NmE0MGFlMGI2ZjQ0MmFmOGMuLjBlMzBkNmIyNTZiZGNkZDVjYjk2M2UwZTVjYmQ4NGY4NTdjNDIz
MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTMtMDUtMDkgIERhcmluIEFkbGVyICA8ZGFyaW5A
YXBwbGUuY29tPgorCisgICAgICAgIFJlbmRlclF1b3RlIGhhcyBnaWFudCBmdW5jdGlvbiBmb3Ig
bGFuZ3VhZ2UgdG8gcXVvdGVzIG1hcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTE1ODA3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiB3dGYvdW5pY29kZS9DaGFyYWN0ZXJOYW1lcy5oOiBBZGRlZCBhIGNv
dXBsZSBvZiBjaGFyYWN0ZXIgbmFtZXMuCisKIDIwMTMtMDUtMDggIE1pa2hhaWwgUG96ZG55YWtv
diAgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CiAKICAgICAgICAgU2ltcGxpZnkgUmV0
YWluUHRyT2JqZWN0SGFzaFRyYWl0cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGI0ZDA5NjI3ODIwNjY3MGMyODMw
NDJkNGQzMmFmMTI5MDI4ODA1MjUuLjI2NTEwODUxODBlNzA4MTA4NDQ2MTQzNDg2ZDFmYjc3YzNm
M2FmMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NCBAQAorMjAxMy0wNS0wOSAgRGFyaW4gQWRs
ZXIgIDxkYXJpbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmVuZGVyUXVvdGUgaGFzIGdpYW50IGZ1
bmN0aW9uIGZvciBsYW5ndWFnZSB0byBxdW90ZXMgbWFwCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTU4MDcKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJRdW90ZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJRdW90ZTo6UmVuZGVyUXVvdGUpOiBVcGRhdGVkIGZvciBt
X2lzQXR0YWNoZWQgbmFtZSBjaGFuZ2UuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJRdW90ZTo6
flJlbmRlclF1b3RlKTogVXBkYXRlZCBmb3IgbmFtZSBjaGFuZ2UsIGFuZCBhbHNvIHNwbGl0Cisg
ICAgICAgIGFzc2VydGlvbiB3aXRoICYmIGluIGl0IGludG8gdHdvIHNlcGFyYXRlIGFzc2VydGlv
bnMuCisgICAgICAgIChXZWJDb3JlOjpjaGVja051bWJlck9mRGlzdGluY3RRdW90ZUNoYXJhY3Rl
cnMpOiBBZGRlZC4gSGVscGVyIGZ1bmN0aW9uIHRoYXQgaXMgdXNlZAorICAgICAgICB0byBjaGVj
ayB0aGF0IHRoZSBudW1iZXIgb2YgZGlzdGluY3QgcXVvdGUgY2hhcmFjdGVycyBpcyBzbWFsbCBl
bm91Z2ggdG8gZml0IGludG8KKyAgICAgICAgb3VyIGZpeGVkIHNpemUgYXJyYXkgYmVsb3cuCisg
ICAgICAgIChXZWJDb3JlOjpxdW90ZXNGb3JMYW5ndWFnZSk6IFJlcGxhY2VzIHRoZSBvbGQgcXVv
dGVzRGF0YUxhbmd1YWdlTWFwIGZ1bmN0aW9uLgorICAgICAgICBSZXR1cm5zIGEgcG9pbnRlciB0
byBhIHN0cnVjdCB0aGF0IGNvbnRhaW5zIHRoZSBmb3VyIHF1b3RlIGNoYXJhY3RlcnMuIFRoaXMg
bmV3CisgICAgICAgIGZ1bmN0aW9uIGRvZXNuJ3QgaGF2ZSB0aGUgbWFzc2l2ZSBhbW91bnQgb2Yg
Y29kZSB0aGF0IHRoZSBvbGQgb25lIGRpZC4gV2UgdXNlIHRoZQorICAgICAgICBzdGFuZGFyZCBs
aWJyYXJ5IGJzZWFyY2ggZnVuY3Rpb24gdG8gZG8gYSBiaW5hcnkgc2VhcmNoLgorICAgICAgICAo
V2ViQ29yZTo6c3RyaW5nRm9yUXVvdGVDaGFyYWN0ZXIpOiBBZGRlZC4gVGhpcyByZXR1cm5zIGEg
c3RyaW5nIGZvciBhIGdpdmVuIHF1b3RlCisgICAgICAgIGNoYXJhY3Rlcjsgb25lIHN0cmluZyBm
b3IgYW55IGdpdmVuIGNoYXJhY3Rlci4KKyAgICAgICAgKFdlYkNvcmU6OnF1b3RhdGlvbk1hcmtT
dHJpbmcpOiBBZGRlZC4gUmV0dXJucyB0aGUgc3RyaW5nIGZvciB0aGUgcXVvdGF0aW9uIG1hcmsu
CisgICAgICAgIChXZWJDb3JlOjphcG9zdHJvcGhlU3RyaW5nSW1wbCk6IEFkZGVkLiBSZXR1cm5z
IHRoZSBzdHJpbmcgZm9yIHRoZSBhcG9zdHJvcGhlLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
UXVvdGU6Om9yaWdpbmFsVGV4dCk6IFJld3JvdGUgdGhpcyB0byBpbmNsdWRlIGFsbCB0aGUgbG9n
aWMgdGhhdAorICAgICAgICB1c2VkIHRvIGJlIGluIHRoZSBxdW90ZXNEYXRhIGZ1bmN0aW9uLgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUXVvdGU6OmF0dGFjaFF1b3RlKTogVHdlYWsgYXNzZXJ0
aW9ucyBhcyBhYm92ZS4gUmVtb3ZlZCB1bm5lZWRlZAorICAgICAgICBzcGVjaWFsIGNhc2UgZm9y
IHRoZSBmaXJzdCBxdW90ZSBpbiBhIFJlbmRlclZpZXc7IHNoYXJpbmcgdGhlIGNvZGUgaXMgYmV0
dGVyIGFuZAorICAgICAgICB0aGVyZSBpcyBubyBzaWduaWZpY2FudCBwZXJmb3JtYW5jZSBkaWZm
ZXJlbmNlLiBBbHNvIHVzZSBtX2lzQXR0YWNoZWQgZGlyZWN0bHkKKyAgICAgICAgd2hlbiBsb29r
aW5nIGF0IHByZWRlY2Vzc29yZXMgc28gdGhlcmUgaXMgbm8gbmVlZCBmb3IgYW4gaXNBdHRhY2hl
ZCBmdW5jdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclF1b3RlOjpkZXRhY2hRdW90ZSk6
IFVwZGF0ZWQgYXNzZXJ0aW9ucyBhbmQgZm9yIG5hbWUgY2hhbmdlLgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyUXVvdGU6OnVwZGF0ZURlcHRoKTogRGl0dG8uCisKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyUXVvdGUuaDogUmVtb3ZlZCB1bm5lZWRlZCBpbmNsdWRlcy4gTWFya2VkIHRoZSBj
bGFzcyBGSU5BTCBzaW5jZQorICAgICAgICB3ZSBjYWxsIHRoZSBvcmlnaW5hbFRleHQgZnVuY3Rp
b24gaW4gdGhlIGNsYXNzIGFuZCB3ZSBkb24ndCB3YW50IHRvIGRvIGEgdmlydHVhbAorICAgICAg
ICBmdW5jdGlvbiBkaXNwYXRjaCBmb3IgdGhhdC4gUmVtb3ZlZCB1bmVlZGVkIGNvbnN0IGZyb20g
YW4gYXJndW1lbnQuIFJlbW92ZWQgYQorICAgICAgICBzdHJheSBzZW1pY29sb24uIFJlbW92ZWQg
dGhlIHF1b3Rlc0RhdGEgYW5kIGlzQXR0YWNoZWQgZnVuY3Rpb25zLCBzaW5jZSB0aGV5IGFyZSBu
bworICAgICAgICBsb25nZXIgbmVlZGVkLiBSZW5hbWVkIG1fYXR0YWNoZWQgdG8gbV9pc0F0dGFj
aGVkLgorCisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1F1b3Rlc0RhdGEuY3BwOiBSZW1vdmVk
IHRoZSBvdmVybG9hZCBvZiBRdW90ZXNEYXRhOjpjcmVhdGUgdGhhdAorICAgICAgICB0YWtlcyBm
b3VyIHF1b3RlIHN0cmluZ3MuIFRoaXMgd2FzIG9ubHkgdXNlZCB0byBidWlsZCB1cCB0aGUgcXVv
dGVzIHRhYmxlLgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9RdW90ZXNEYXRhLmg6IERpdHRv
LgorCiAyMDEzLTA1LTA5ICBBbGJlcnRvIEdhcmNpYSAgPGFnYXJjaWFAaWdhbGlhLmNvbT4KIAog
ICAgICAgICBbQmxhY2tCZXJyeV0gVXBzdHJlYW0gdGhlIGlucHV0IHBvcHVwcwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dURi93dGYvdW5pY29kZS9DaGFyYWN0ZXJOYW1lcy5oIGIvU291cmNlL1dURi93
dGYvdW5pY29kZS9DaGFyYWN0ZXJOYW1lcy5oCmluZGV4IGMzNmRmZDBlZmFkZjNhYWE2NzA2Yzkw
NWZhOWI4ODQxMTY2MzkyODkuLjA3NmQ5MTFkYzg0MDJhNTA0ODJkZTU0YWM3NjcwNjliNzQzNDk5
ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3VuaWNvZGUvQ2hhcmFjdGVyTmFtZXMuaAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi91bmljb2RlL0NoYXJhY3Rlck5hbWVzLmgKQEAgLTM4LDYgKzM4
LDcgQEAgbmFtZXNwYWNlIFVuaWNvZGUgewogCiBjb25zdCBVQ2hhcjMyIGFlZ2VhbldvcmRTZXBh
cmF0b3JMaW5lID0gMHgxMDEwMDsKIGNvbnN0IFVDaGFyMzIgYWVnZWFuV29yZFNlcGFyYXRvckRv
dCA9IDB4MTAxMDE7Citjb25zdCBVQ2hhciBhcG9zdHJvcGhlID0gMHgwMDI3OwogY29uc3QgVUNo
YXIgYmxhY2tDaXJjbGUgPSAweDI1Q0Y7CiBjb25zdCBVQ2hhciBibGFja1NxdWFyZSA9IDB4MjVB
MDsKIGNvbnN0IFVDaGFyIGJsYWNrVXBQb2ludGluZ1RyaWFuZ2xlID0gMHgyNUIyOwpAQCAtNDcs
NiArNDgsNyBAQCBjb25zdCBVQ2hhciBjYXJyaWFnZVJldHVybiA9IDB4MDAwRDsKIGNvbnN0IFVD
aGFyIGV0aGlvcGljUHJlZmFjZUNvbG9uID0gMHgxMzY2OwogY29uc3QgVUNoYXIgZXRoaW9waWNX
b3Jkc3BhY2UgPSAweDEzNjE7CiBjb25zdCBVQ2hhciBmaXNoZXllID0gMHgyNUM5OworY29uc3Qg
VUNoYXIgcXVvdGF0aW9uTWFyayA9IDB4MDAyMjsKIGNvbnN0IFVDaGFyIGhlYnJld1B1bmN0dWF0
aW9uR2VyZXNoID0gMHgwNUYzOwogY29uc3QgVUNoYXIgaGVicmV3UHVuY3R1YXRpb25HZXJzaGF5
aW0gPSAweDA1RjQ7CiBjb25zdCBVQ2hhciBIaXJhZ2FuYUxldHRlclNtYWxsQSA9IDB4MzA0MTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJRdW90ZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUXVvdGUuY3BwCmluZGV4IGQxYmZmNmRlNTNk
YTEyMzlmNGNhZDRiN2VkMDhkYzBkZjdjNTZjZmIuLjY1Y2QyOGI4YjRjODQ2YTIzNGQ0MmFiNGIy
NWQ4MTU4ZTg2YjllZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJRdW90ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclF1b3RlLmNw
cApAQCAtMjMsMTAgKzIzLDkgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJSZW5k
ZXJRdW90ZS5oIgogCi0jaW5jbHVkZSAiUmVuZGVyVmlldy5oIgotI2luY2x1ZGUgPHd0Zi90ZXh0
L0F0b21pY1N0cmluZy5oPgorI2luY2x1ZGUgIlF1b3Rlc0RhdGEuaCIKIAotI2RlZmluZSBVKHgp
ICgoY29uc3QgVUNoYXIqKUwjI3gpCit1c2luZyBuYW1lc3BhY2UgV1RGOjpVbmljb2RlOwogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM2LDE0ICszNSwxNSBAQCBSZW5kZXJRdW90ZTo6UmVu
ZGVyUXVvdGUoRG9jdW1lbnQqIG5vZGUsIFF1b3RlVHlwZSBxdW90ZSkKICAgICAsIG1fZGVwdGgo
LTEpCiAgICAgLCBtX25leHQoMCkKICAgICAsIG1fcHJldmlvdXMoMCkKLSAgICAsIG1fYXR0YWNo
ZWQoZmFsc2UpCisgICAgLCBtX2lzQXR0YWNoZWQoZmFsc2UpCiB7CiB9CiAKIFJlbmRlclF1b3Rl
Ojp+UmVuZGVyUXVvdGUoKQogewotICAgIEFTU0VSVCghbV9hdHRhY2hlZCk7Ci0gICAgQVNTRVJU
KCFtX25leHQgJiYgIW1fcHJldmlvdXMpOworICAgIEFTU0VSVCghbV9pc0F0dGFjaGVkKTsKKyAg
ICBBU1NFUlQoIW1fbmV4dCk7CisgICAgQVNTRVJUKCFtX3ByZXZpb3VzKTsKIH0KIAogdm9pZCBS
ZW5kZXJRdW90ZTo6d2lsbEJlRGVzdHJveWVkKCkKQEAgLTY0LDIzMiArNjQsMzIzIEBAIHZvaWQg
UmVuZGVyUXVvdGU6OnN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSBkaWZmLCBjb25zdCBS
ZW5kZXJTdHlsZSogb2xkU3R5CiAgICAgc2V0VGV4dChvcmlnaW5hbFRleHQoKSk7CiB9CiAKLXR5
cGVkZWYgSGFzaE1hcDxBdG9taWNTdHJpbmcsIGNvbnN0IFF1b3Rlc0RhdGEqLCBDYXNlRm9sZGlu
Z0hhc2g+IFF1b3Rlc01hcDsKK2NvbnN0IHVuc2lnbmVkIG1heERpc3RpbmN0UXVvdGVDaGFyYWN0
ZXJzID0gMTY7CiAKLXN0YXRpYyBjb25zdCBRdW90ZXNNYXAmIHF1b3Rlc0RhdGFMYW5ndWFnZU1h
cCgpCisjaWYgIUFTU0VSVF9ESVNBQkxFRAorCitzdGF0aWMgdm9pZCBjaGVja051bWJlck9mRGlz
dGluY3RRdW90ZUNoYXJhY3RlcnMoVUNoYXIgY2hhcmFjdGVyKQogewotICAgIERFRklORV9TVEFU
SUNfTE9DQUwoUXVvdGVzTWFwLCBzdGF0aWNRdW90ZXNNYXAsICgpKTsKLSAgICBpZiAoc3RhdGlj
UXVvdGVzTWFwLnNpemUoKSkKLSAgICAgICAgcmV0dXJuIHN0YXRpY1F1b3Rlc01hcDsKKyAgICBB
U1NFUlQoY2hhcmFjdGVyKTsKKyAgICBzdGF0aWMgVUNoYXIgZGlzdGluY3RRdW90ZUNoYXJhY3Rl
cnNbbWF4RGlzdGluY3RRdW90ZUNoYXJhY3RlcnNdOworICAgIGZvciAodW5zaWduZWQgaSA9IDA7
IGkgPCBtYXhEaXN0aW5jdFF1b3RlQ2hhcmFjdGVyczsgKytpKSB7CisgICAgICAgIGlmIChkaXN0
aW5jdFF1b3RlQ2hhcmFjdGVyc1tpXSA9PSBjaGFyYWN0ZXIpCisgICAgICAgICAgICByZXR1cm47
CisgICAgICAgIGlmICghZGlzdGluY3RRdW90ZUNoYXJhY3RlcnNbaV0pIHsKKyAgICAgICAgICAg
IGRpc3RpbmN0UXVvdGVDaGFyYWN0ZXJzW2ldID0gY2hhcmFjdGVyOworICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICB9CisgICAgfQorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworfQorCisj
ZW5kaWYKKworc3RydWN0IFF1b3Rlc0Zvckxhbmd1YWdlIHsKKyAgICBjb25zdCBjaGFyKiBsYW5n
dWFnZTsKKyAgICBVQ2hhciBvcGVuMTsKKyAgICBVQ2hhciBjbG9zZTE7CisgICAgVUNoYXIgb3Bl
bjI7CisgICAgVUNoYXIgY2xvc2UyOworfTsKIAorc3RhdGljIGludCBxdW90ZVRhYmxlTGFuZ3Vh
Z2VDb21wYXJpc29uRnVuY3Rpb24oY29uc3Qgdm9pZCogYSwgY29uc3Qgdm9pZCogYikKK3sKKyAg
ICByZXR1cm4gc3RyY21wKHN0YXRpY19jYXN0PGNvbnN0IFF1b3Rlc0Zvckxhbmd1YWdlKj4oYSkt
Pmxhbmd1YWdlLAorICAgICAgICBzdGF0aWNfY2FzdDxjb25zdCBRdW90ZXNGb3JMYW5ndWFnZSo+
KGIpLT5sYW5ndWFnZSk7Cit9CisKK3N0YXRpYyBjb25zdCBRdW90ZXNGb3JMYW5ndWFnZSogcXVv
dGVzRm9yTGFuZ3VhZ2UoY29uc3QgU3RyaW5nJiBsYW5ndWFnZSkKK3sKICAgICAvLyBUYWJsZSBv
ZiBxdW90ZXMgZnJvbSBodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mvd2ViLWFwcHMvY3VycmVu
dC13b3JrL211bHRpcGFnZS9yZW5kZXJpbmcuaHRtbCNxdW90ZXMKLSAgICAjZGVmaW5lIFFVT1RF
U19MQU5HKGxhbmcsIG8xLCBjMSwgbzIsIGMyKSBzdGF0aWNRdW90ZXNNYXAuc2V0KGxhbmcsIFF1
b3Rlc0RhdGE6OmNyZWF0ZShVKG8xKSwgVShjMSksIFUobzIpLCBVKGMyKSkubGVha1JlZigpKQot
ICAgIFFVT1RFU19MQU5HKCJhZiIsICAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgy
MDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJhZ3EiLCAgICAgICAgICAgIlx4MjAx
ZSIsICJceDIwMWQiLCAiXHgyMDFhIiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJhayIs
ICAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAg
IFFVT1RFU19MQU5HKCJhbSIsICAgICAgICAgICAgIlx4MDBhYiIsICJceDAwYmIiLCAiXHgyMDM5
IiwgIlx4MjAzYSIpOwotICAgIFFVT1RFU19MQU5HKCJhciIsICAgICAgICAgICAgIlx4MjAxZCIs
ICJceDIwMWMiLCAiXHgyMDE5IiwgIlx4MjAxOCIpOwotICAgIFFVT1RFU19MQU5HKCJhc2EiLCAg
ICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFV
T1RFU19MQU5HKCJhei1DeXJsIiwgICAgICAgIlx4MDBhYiIsICJceDAwYmIiLCAiXHgyMDM5Iiwg
Ilx4MjAzYSIpOwotICAgIFFVT1RFU19MQU5HKCJiYXMiLCAgICAgICAgICAgIlx4MDBhYiIsICJc
eDAwYmIiLCAiXHgyMDFlIiwgIlx4MjAxYyIpOwotICAgIFFVT1RFU19MQU5HKCJiZW0iLCAgICAg
ICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RF
U19MQU5HKCJiZXoiLCAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4
MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJiZyIsICAgICAgICAgICAgIlx4MjAxZSIsICJceDIw
MWMiLCAiXHgyMDFhIiwgIlx4MjAxOCIpOwotICAgIFFVT1RFU19MQU5HKCJibSIsICAgICAgICAg
ICAgIlx4MDBhYiIsICJceDAwYmIiLCAiXHgyMDFjIiwgIlx4MjAxZCIpOwotICAgIFFVT1RFU19M
QU5HKCJibiIsICAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAx
OSIpOwotICAgIFFVT1RFU19MQU5HKCJiciIsICAgICAgICAgICAgIlx4MDBhYiIsICJceDAwYmIi
LCAiXHgyMDM5IiwgIlx4MjAzYSIpOwotICAgIFFVT1RFU19MQU5HKCJicngiLCAgICAgICAgICAg
Ilx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5H
KCJicy1DeXJsIiwgICAgICAgIlx4MjAxZSIsICJceDIwMWMiLCAiXHgyMDFhIiwgIlx4MjAxOCIp
OwotICAgIFFVT1RFU19MQU5HKCJjYSIsICAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAi
XHgwMGFiIiwgIlx4MDBiYiIpOwotICAgIFFVT1RFU19MQU5HKCJjZ2ciLCAgICAgICAgICAgIlx4
MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJj
aHIiLCAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwot
ICAgIFFVT1RFU19MQU5HKCJjcyIsICAgICAgICAgICAgIlx4MjAxZSIsICJceDIwMWMiLCAiXHgy
MDFhIiwgIlx4MjAxOCIpOwotICAgIFFVT1RFU19MQU5HKCJkYSIsICAgICAgICAgICAgIlx4MjAx
YyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJkYXYi
LCAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAg
IFFVT1RFU19MQU5HKCJkZSIsICAgICAgICAgICAgIlx4MjAxZSIsICJceDIwMWMiLCAiXHgyMDFh
IiwgIlx4MjAxOCIpOwotICAgIFFVT1RFU19MQU5HKCJkZS1DSCIsICAgICAgICAgIlx4MDBhYiIs
ICJceDAwYmIiLCAiXHgyMDM5IiwgIlx4MjAzYSIpOwotICAgIFFVT1RFU19MQU5HKCJkamUiLCAg
ICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFV
T1RFU19MQU5HKCJkdWEiLCAgICAgICAgICAgIlx4MDBhYiIsICJceDAwYmIiLCAiXHgyMDE4Iiwg
Ilx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJkeW8iLCAgICAgICAgICAgIlx4MDBhYiIsICJc
eDAwYmIiLCAiXHgyMDFjIiwgIlx4MjAxZCIpOwotICAgIFFVT1RFU19MQU5HKCJkeiIsICAgICAg
ICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RF
U19MQU5HKCJlYnUiLCAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4
MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJlZSIsICAgICAgICAgICAgIlx4MjAxYyIsICJceDIw
MWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJlbCIsICAgICAgICAg
ICAgIlx4MDBhYiIsICJceDAwYmIiLCAiXHgyMDFjIiwgIlx4MjAxZCIpOwotICAgIFFVT1RFU19M
QU5HKCJlbiIsICAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAx
OSIpOwotICAgIFFVT1RFU19MQU5HKCJlbi1HQiIsICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQi
LCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJlcyIsICAgICAgICAgICAg
Ilx4MjAxYyIsICJceDIwMWQiLCAiXHgwMGFiIiwgIlx4MDBiYiIpOwotICAgIFFVT1RFU19MQU5H
KCJldCIsICAgICAgICAgICAgIlx4MjAxZSIsICJceDIwMWMiLCAiXHgyMDFhIiwgIlx4MjAxOCIp
OwotICAgIFFVT1RFU19MQU5HKCJldSIsICAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAi
XHgwMGFiIiwgIlx4MDBiYiIpOwotICAgIFFVT1RFU19MQU5HKCJld28iLCAgICAgICAgICAgIlx4
MDBhYiIsICJceDAwYmIiLCAiXHgyMDFjIiwgIlx4MjAxZCIpOwotICAgIFFVT1RFU19MQU5HKCJm
YSIsICAgICAgICAgICAgIlx4MDBhYiIsICJceDAwYmIiLCAiXHgyMDM5IiwgIlx4MjAzYSIpOwot
ICAgIFFVT1RFU19MQU5HKCJmZiIsICAgICAgICAgICAgIlx4MjAxZSIsICJceDIwMWQiLCAiXHgy
MDFhIiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJmaSIsICAgICAgICAgICAgIlx4MjAx
ZCIsICJceDIwMWQiLCAiXHgyMDE5IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJmciIs
ICAgICAgICAgICAgIlx4MDBhYiIsICJceDAwYmIiLCAiXHgwMGFiIiwgIlx4MDBiYiIpOwotICAg
IFFVT1RFU19MQU5HKCJmci1DQSIsICAgICAgICAgIlx4MDBhYiIsICJceDAwYmIiLCAiXHgyMDM5
IiwgIlx4MjAzYSIpOwotICAgIFFVT1RFU19MQU5HKCJmci1DSCIsICAgICAgICAgIlx4MDBhYiIs
ICJceDAwYmIiLCAiXHgyMDM5IiwgIlx4MjAzYSIpOwotICAgIFFVT1RFU19MQU5HKCJnc3ciLCAg
ICAgICAgICAgIlx4MDBhYiIsICJceDAwYmIiLCAiXHgyMDM5IiwgIlx4MjAzYSIpOwotICAgIFFV
T1RFU19MQU5HKCJndSIsICAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4Iiwg
Ilx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJndXoiLCAgICAgICAgICAgIlx4MjAxYyIsICJc
eDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJoYSIsICAgICAg
ICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RF
U19MQU5HKCJoZSIsICAgICAgICAgICAgIlx4MDAyMiIsICJceDAwMjIiLCAiXHgwMDI3IiwgIlx4
MDAyNyIpOwotICAgIFFVT1RFU19MQU5HKCJoaSIsICAgICAgICAgICAgIlx4MjAxYyIsICJceDIw
MWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJociIsICAgICAgICAg
ICAgIlx4MjAxZSIsICJceDIwMWMiLCAiXHgyMDFhIiwgIlx4MjAxOCIpOwotICAgIFFVT1RFU19M
QU5HKCJodSIsICAgICAgICAgICAgIlx4MjAxZSIsICJceDIwMWQiLCAiXHgwMGJiIiwgIlx4MDBh
YiIpOwotICAgIFFVT1RFU19MQU5HKCJpZCIsICAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQi
LCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJpZyIsICAgICAgICAgICAg
Ilx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5H
KCJpdCIsICAgICAgICAgICAgIlx4MDBhYiIsICJceDAwYmIiLCAiXHgyMDFjIiwgIlx4MjAxZCIp
OwotICAgIFFVT1RFU19MQU5HKCJqYSIsICAgICAgICAgICAgIlx4MzAwYyIsICJceDMwMGQiLCAi
XHgzMDBlIiwgIlx4MzAwZiIpOwotICAgIFFVT1RFU19MQU5HKCJqZ28iLCAgICAgICAgICAgIlx4
MDBhYiIsICJceDAwYmIiLCAiXHgyMDM5IiwgIlx4MjAzYSIpOwotICAgIFFVT1RFU19MQU5HKCJq
bWMiLCAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwot
ICAgIFFVT1RFU19MQU5HKCJrYWIiLCAgICAgICAgICAgIlx4MDBhYiIsICJceDAwYmIiLCAiXHgy
MDFjIiwgIlx4MjAxZCIpOwotICAgIFFVT1RFU19MQU5HKCJrYW0iLCAgICAgICAgICAgIlx4MjAx
YyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJrZGUi
LCAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAg
IFFVT1RFU19MQU5HKCJrZWEiLCAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4
IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJraHEiLCAgICAgICAgICAgIlx4MjAxYyIs
ICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJraSIsICAg
ICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFV
T1RFU19MQU5HKCJra2oiLCAgICAgICAgICAgIlx4MDBhYiIsICJceDAwYmIiLCAiXHgyMDM5Iiwg
Ilx4MjAzYSIpOwotICAgIFFVT1RFU19MQU5HKCJrbG4iLCAgICAgICAgICAgIlx4MjAxYyIsICJc
eDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJrbSIsICAgICAg
ICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RF
U19MQU5HKCJrbiIsICAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4
MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJrbyIsICAgICAgICAgICAgIlx4MjAxYyIsICJceDIw
MWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJrc2IiLCAgICAgICAg
ICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19M
QU5HKCJrc2YiLCAgICAgICAgICAgIlx4MDBhYiIsICJceDAwYmIiLCAiXHgyMDE4IiwgIlx4MjAx
OSIpOwotICAgIFFVT1RFU19MQU5HKCJsYWciLCAgICAgICAgICAgIlx4MjAxZCIsICJceDIwMWQi
LCAiXHgyMDE5IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJsZyIsICAgICAgICAgICAg
Ilx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5H
KCJsbiIsICAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIp
OwotICAgIFFVT1RFU19MQU5HKCJsbyIsICAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAi
XHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJsdCIsICAgICAgICAgICAgIlx4
MjAxZSIsICJceDIwMWMiLCAiXHgyMDFlIiwgIlx4MjAxYyIpOwotICAgIFFVT1RFU19MQU5HKCJs
dSIsICAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwot
ICAgIFFVT1RFU19MQU5HKCJsdW8iLCAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgy
MDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJsdXkiLCAgICAgICAgICAgIlx4MjAx
ZSIsICJceDIwMWMiLCAiXHgyMDFhIiwgIlx4MjAxOCIpOwotICAgIFFVT1RFU19MQU5HKCJsdiIs
ICAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAg
IFFVT1RFU19MQU5HKCJtYXMiLCAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4
IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJtZXIiLCAgICAgICAgICAgIlx4MjAxYyIs
ICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJtZmUiLCAg
ICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFV
T1RFU19MQU5HKCJtZyIsICAgICAgICAgICAgIlx4MDBhYiIsICJceDAwYmIiLCAiXHgyMDFjIiwg
Ilx4MjAxZCIpOwotICAgIFFVT1RFU19MQU5HKCJtZ28iLCAgICAgICAgICAgIlx4MjAxYyIsICJc
eDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJtayIsICAgICAg
ICAgICAgIlx4MjAxZSIsICJceDIwMWMiLCAiXHgyMDFhIiwgIlx4MjAxOCIpOwotICAgIFFVT1RF
U19MQU5HKCJtbCIsICAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4
MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJtciIsICAgICAgICAgICAgIlx4MjAxYyIsICJceDIw
MWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJtcyIsICAgICAgICAg
ICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19M
QU5HKCJtdWEiLCAgICAgICAgICAgIlx4MDBhYiIsICJceDAwYmIiLCAiXHgyMDFjIiwgIlx4MjAx
ZCIpOwotICAgIFFVT1RFU19MQU5HKCJteSIsICAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQi
LCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJuYXEiLCAgICAgICAgICAg
Ilx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5H
KCJuYiIsICAgICAgICAgICAgIlx4MDBhYiIsICJceDAwYmIiLCAiXHgyMDE4IiwgIlx4MjAxOSIp
OwotICAgIFFVT1RFU19MQU5HKCJuZCIsICAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAi
XHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJubCIsICAgICAgICAgICAgIlx4
MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJu
bWciLCAgICAgICAgICAgIlx4MjAxZSIsICJceDIwMWQiLCAiXHgwMGFiIiwgIlx4MDBiYiIpOwot
ICAgIFFVT1RFU19MQU5HKCJubiIsICAgICAgICAgICAgIlx4MDBhYiIsICJceDAwYmIiLCAiXHgy
MDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJubmgiLCAgICAgICAgICAgIlx4MDBh
YiIsICJceDAwYmIiLCAiXHgyMDFjIiwgIlx4MjAxZCIpOwotICAgIFFVT1RFU19MQU5HKCJudXMi
LCAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAg
IFFVT1RFU19MQU5HKCJueW4iLCAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4
IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJwbCIsICAgICAgICAgICAgIlx4MjAxZSIs
ICJceDIwMWQiLCAiXHgwMGFiIiwgIlx4MDBiYiIpOwotICAgIFFVT1RFU19MQU5HKCJwdCIsICAg
ICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFV
T1RFU19MQU5HKCJwdC1QVCIsICAgICAgICAgIlx4MDBhYiIsICJceDAwYmIiLCAiXHgyMDFjIiwg
Ilx4MjAxZCIpOwotICAgIFFVT1RFU19MQU5HKCJybiIsICAgICAgICAgICAgIlx4MjAxZCIsICJc
eDIwMWQiLCAiXHgyMDE5IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJybyIsICAgICAg
ICAgICAgIlx4MjAxZSIsICJceDIwMWQiLCAiXHgwMGFiIiwgIlx4MDBiYiIpOwotICAgIFFVT1RF
U19MQU5HKCJyb2YiLCAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4
MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJydSIsICAgICAgICAgICAgIlx4MDBhYiIsICJceDAw
YmIiLCAiXHgyMDFlIiwgIlx4MjAxYyIpOwotICAgIFFVT1RFU19MQU5HKCJydyIsICAgICAgICAg
ICAgIlx4MDBhYiIsICJceDAwYmIiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19M
QU5HKCJyd2siLCAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAx
OSIpOwotICAgIFFVT1RFU19MQU5HKCJzYXEiLCAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQi
LCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJzYnAiLCAgICAgICAgICAg
Ilx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5H
KCJzZWgiLCAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIp
OwotICAgIFFVT1RFU19MQU5HKCJzZXMiLCAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAi
XHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJzZyIsICAgICAgICAgICAgIlx4
MDBhYiIsICJceDAwYmIiLCAiXHgyMDFjIiwgIlx4MjAxZCIpOwotICAgIFFVT1RFU19MQU5HKCJz
aGkiLCAgICAgICAgICAgIlx4MDBhYiIsICJceDAwYmIiLCAiXHgyMDFlIiwgIlx4MjAxZCIpOwot
ICAgIFFVT1RFU19MQU5HKCJzaGktVGZuZyIsICAgICAgIlx4MDBhYiIsICJceDAwYmIiLCAiXHgy
MDFlIiwgIlx4MjAxZCIpOwotICAgIFFVT1RFU19MQU5HKCJzaSIsICAgICAgICAgICAgIlx4MjAx
YyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJzayIs
ICAgICAgICAgICAgIlx4MjAxZSIsICJceDIwMWMiLCAiXHgyMDFhIiwgIlx4MjAxOCIpOwotICAg
IFFVT1RFU19MQU5HKCJzbCIsICAgICAgICAgICAgIlx4MjAxZSIsICJceDIwMWMiLCAiXHgyMDFh
IiwgIlx4MjAxOCIpOwotICAgIFFVT1RFU19MQU5HKCJzbiIsICAgICAgICAgICAgIlx4MjAxZCIs
ICJceDIwMWQiLCAiXHgyMDE5IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJzbyIsICAg
ICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFV
T1RFU19MQU5HKCJzcSIsICAgICAgICAgICAgIlx4MjAxZSIsICJceDIwMWMiLCAiXHgyMDFhIiwg
Ilx4MjAxOCIpOwotICAgIFFVT1RFU19MQU5HKCJzciIsICAgICAgICAgICAgIlx4MjAxZSIsICJc
eDIwMWMiLCAiXHgyMDFhIiwgIlx4MjAxOCIpOwotICAgIFFVT1RFU19MQU5HKCJzci1MYXRuIiwg
ICAgICAgIlx4MjAxZSIsICJceDIwMWMiLCAiXHgyMDFhIiwgIlx4MjAxOCIpOwotICAgIFFVT1RF
U19MQU5HKCJzdiIsICAgICAgICAgICAgIlx4MjAxZCIsICJceDIwMWQiLCAiXHgyMDE5IiwgIlx4
MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJzdyIsICAgICAgICAgICAgIlx4MjAxYyIsICJceDIw
MWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJzd2MiLCAgICAgICAg
ICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19M
QU5HKCJ0YSIsICAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAx
OSIpOwotICAgIFFVT1RFU19MQU5HKCJ0ZSIsICAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQi
LCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJ0ZW8iLCAgICAgICAgICAg
Ilx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5H
KCJ0aCIsICAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIp
OwotICAgIFFVT1RFU19MQU5HKCJ0aS1FUiIsICAgICAgICAgIlx4MjAxOCIsICJceDIwMTkiLCAi
XHgyMDFjIiwgIlx4MjAxZCIpOwotICAgIFFVT1RFU19MQU5HKCJ0byIsICAgICAgICAgICAgIlx4
MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJ0
ciIsICAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwot
ICAgIFFVT1RFU19MQU5HKCJ0d3EiLCAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgy
MDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJ0em0iLCAgICAgICAgICAgIlx4MjAx
YyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJ1ayIs
ICAgICAgICAgICAgIlx4MDBhYiIsICJceDAwYmIiLCAiXHgyMDFlIiwgIlx4MjAxYyIpOwotICAg
IFFVT1RFU19MQU5HKCJ1ciIsICAgICAgICAgICAgIlx4MjAxZCIsICJceDIwMWMiLCAiXHgyMDE5
IiwgIlx4MjAxOCIpOwotICAgIFFVT1RFU19MQU5HKCJ2YWkiLCAgICAgICAgICAgIlx4MjAxYyIs
ICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJ2YWktTGF0
biIsICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFV
T1RFU19MQU5HKCJ2aSIsICAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4Iiwg
Ilx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJ2dW4iLCAgICAgICAgICAgIlx4MjAxYyIsICJc
eDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJ4aCIsICAgICAg
ICAgICAgIlx4MjAxOCIsICJceDIwMTkiLCAiXHgyMDFjIiwgIlx4MjAxZCIpOwotICAgIFFVT1RF
U19MQU5HKCJ4b2ciLCAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4
MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJ5YXYiLCAgICAgICAgICAgIlx4MDBhYiIsICJceDAw
YmIiLCAiXHgwMGFiIiwgIlx4MDBiYiIpOwotICAgIFFVT1RFU19MQU5HKCJ5byIsICAgICAgICAg
ICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19M
QU5HKCJ6aCIsICAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAx
OSIpOwotICAgIFFVT1RFU19MQU5HKCJ6aC1IYW50IiwgICAgICAgIlx4MzAwYyIsICJceDMwMGQi
LCAiXHgzMDBlIiwgIlx4MzAwZiIpOwotICAgIFFVT1RFU19MQU5HKCJ6dSIsICAgICAgICAgICAg
Ilx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgICN1bmRlZiBRVU9U
RVNfTEFORwotCi0gICAgcmV0dXJuIHN0YXRpY1F1b3Rlc01hcDsKKyAgICBzdGF0aWMgY29uc3Qg
UXVvdGVzRm9yTGFuZ3VhZ2UgcXVvdGVUYWJsZVtdID0geworICAgICAgICB7ICJhZiIsICAgICAg
ICAgMHgyMDFjLCAweDIwMWQsIDB4MjAxOCwgMHgyMDE5IH0sCisgICAgICAgIHsgImFncSIsICAg
ICAgICAweDIwMWUsIDB4MjAxZCwgMHgyMDFhLCAweDIwMTkgfSwKKyAgICAgICAgeyAiYWsiLCAg
ICAgICAgIDB4MjAxYywgMHgyMDFkLCAweDIwMTgsIDB4MjAxOSB9LAorICAgICAgICB7ICJhbSIs
ICAgICAgICAgMHgwMGFiLCAweDAwYmIsIDB4MjAzOSwgMHgyMDNhIH0sCisgICAgICAgIHsgImFy
IiwgICAgICAgICAweDIwMWQsIDB4MjAxYywgMHgyMDE5LCAweDIwMTggfSwKKyAgICAgICAgeyAi
YXNhIiwgICAgICAgIDB4MjAxYywgMHgyMDFkLCAweDIwMTgsIDB4MjAxOSB9LAorICAgICAgICB7
ICJhei1jeXJsIiwgICAgMHgwMGFiLCAweDAwYmIsIDB4MjAzOSwgMHgyMDNhIH0sCisgICAgICAg
IHsgImJhcyIsICAgICAgICAweDAwYWIsIDB4MDBiYiwgMHgyMDFlLCAweDIwMWMgfSwKKyAgICAg
ICAgeyAiYmVtIiwgICAgICAgIDB4MjAxYywgMHgyMDFkLCAweDIwMTgsIDB4MjAxOSB9LAorICAg
ICAgICB7ICJiZXoiLCAgICAgICAgMHgyMDFjLCAweDIwMWQsIDB4MjAxOCwgMHgyMDE5IH0sCisg
ICAgICAgIHsgImJnIiwgICAgICAgICAweDIwMWUsIDB4MjAxYywgMHgyMDFhLCAweDIwMTggfSwK
KyAgICAgICAgeyAiYm0iLCAgICAgICAgIDB4MDBhYiwgMHgwMGJiLCAweDIwMWMsIDB4MjAxZCB9
LAorICAgICAgICB7ICJibiIsICAgICAgICAgMHgyMDFjLCAweDIwMWQsIDB4MjAxOCwgMHgyMDE5
IH0sCisgICAgICAgIHsgImJyIiwgICAgICAgICAweDAwYWIsIDB4MDBiYiwgMHgyMDM5LCAweDIw
M2EgfSwKKyAgICAgICAgeyAiYnJ4IiwgICAgICAgIDB4MjAxYywgMHgyMDFkLCAweDIwMTgsIDB4
MjAxOSB9LAorICAgICAgICB7ICJicy1jeXJsIiwgICAgMHgyMDFlLCAweDIwMWMsIDB4MjAxYSwg
MHgyMDE4IH0sCisgICAgICAgIHsgImNhIiwgICAgICAgICAweDIwMWMsIDB4MjAxZCwgMHgwMGFi
LCAweDAwYmIgfSwKKyAgICAgICAgeyAiY2dnIiwgICAgICAgIDB4MjAxYywgMHgyMDFkLCAweDIw
MTgsIDB4MjAxOSB9LAorICAgICAgICB7ICJjaHIiLCAgICAgICAgMHgyMDFjLCAweDIwMWQsIDB4
MjAxOCwgMHgyMDE5IH0sCisgICAgICAgIHsgImNzIiwgICAgICAgICAweDIwMWUsIDB4MjAxYywg
MHgyMDFhLCAweDIwMTggfSwKKyAgICAgICAgeyAiZGEiLCAgICAgICAgIDB4MjAxYywgMHgyMDFk
LCAweDIwMTgsIDB4MjAxOSB9LAorICAgICAgICB7ICJkYXYiLCAgICAgICAgMHgyMDFjLCAweDIw
MWQsIDB4MjAxOCwgMHgyMDE5IH0sCisgICAgICAgIHsgImRlIiwgICAgICAgICAweDIwMWUsIDB4
MjAxYywgMHgyMDFhLCAweDIwMTggfSwKKyAgICAgICAgeyAiZGUtY2giLCAgICAgIDB4MDBhYiwg
MHgwMGJiLCAweDIwMzksIDB4MjAzYSB9LAorICAgICAgICB7ICJkamUiLCAgICAgICAgMHgyMDFj
LCAweDIwMWQsIDB4MjAxOCwgMHgyMDE5IH0sCisgICAgICAgIHsgImR1YSIsICAgICAgICAweDAw
YWIsIDB4MDBiYiwgMHgyMDE4LCAweDIwMTkgfSwKKyAgICAgICAgeyAiZHlvIiwgICAgICAgIDB4
MDBhYiwgMHgwMGJiLCAweDIwMWMsIDB4MjAxZCB9LAorICAgICAgICB7ICJkeiIsICAgICAgICAg
MHgyMDFjLCAweDIwMWQsIDB4MjAxOCwgMHgyMDE5IH0sCisgICAgICAgIHsgImVidSIsICAgICAg
ICAweDIwMWMsIDB4MjAxZCwgMHgyMDE4LCAweDIwMTkgfSwKKyAgICAgICAgeyAiZWUiLCAgICAg
ICAgIDB4MjAxYywgMHgyMDFkLCAweDIwMTgsIDB4MjAxOSB9LAorICAgICAgICB7ICJlbCIsICAg
ICAgICAgMHgwMGFiLCAweDAwYmIsIDB4MjAxYywgMHgyMDFkIH0sCisgICAgICAgIHsgImVuIiwg
ICAgICAgICAweDIwMWMsIDB4MjAxZCwgMHgyMDE4LCAweDIwMTkgfSwKKyAgICAgICAgeyAiZW4t
Z2IiLCAgICAgIDB4MjAxYywgMHgyMDFkLCAweDIwMTgsIDB4MjAxOSB9LAorICAgICAgICB7ICJl
cyIsICAgICAgICAgMHgyMDFjLCAweDIwMWQsIDB4MDBhYiwgMHgwMGJiIH0sCisgICAgICAgIHsg
ImV0IiwgICAgICAgICAweDIwMWUsIDB4MjAxYywgMHgyMDFhLCAweDIwMTggfSwKKyAgICAgICAg
eyAiZXUiLCAgICAgICAgIDB4MjAxYywgMHgyMDFkLCAweDAwYWIsIDB4MDBiYiB9LAorICAgICAg
ICB7ICJld28iLCAgICAgICAgMHgwMGFiLCAweDAwYmIsIDB4MjAxYywgMHgyMDFkIH0sCisgICAg
ICAgIHsgImZhIiwgICAgICAgICAweDAwYWIsIDB4MDBiYiwgMHgyMDM5LCAweDIwM2EgfSwKKyAg
ICAgICAgeyAiZmYiLCAgICAgICAgIDB4MjAxZSwgMHgyMDFkLCAweDIwMWEsIDB4MjAxOSB9LAor
ICAgICAgICB7ICJmaSIsICAgICAgICAgMHgyMDFkLCAweDIwMWQsIDB4MjAxOSwgMHgyMDE5IH0s
CisgICAgICAgIHsgImZyIiwgICAgICAgICAweDAwYWIsIDB4MDBiYiwgMHgwMGFiLCAweDAwYmIg
fSwKKyAgICAgICAgeyAiZnItY2EiLCAgICAgIDB4MDBhYiwgMHgwMGJiLCAweDIwMzksIDB4MjAz
YSB9LAorICAgICAgICB7ICJmci1jaCIsICAgICAgMHgwMGFiLCAweDAwYmIsIDB4MjAzOSwgMHgy
MDNhIH0sCisgICAgICAgIHsgImdzdyIsICAgICAgICAweDAwYWIsIDB4MDBiYiwgMHgyMDM5LCAw
eDIwM2EgfSwKKyAgICAgICAgeyAiZ3UiLCAgICAgICAgIDB4MjAxYywgMHgyMDFkLCAweDIwMTgs
IDB4MjAxOSB9LAorICAgICAgICB7ICJndXoiLCAgICAgICAgMHgyMDFjLCAweDIwMWQsIDB4MjAx
OCwgMHgyMDE5IH0sCisgICAgICAgIHsgImhhIiwgICAgICAgICAweDIwMWMsIDB4MjAxZCwgMHgy
MDE4LCAweDIwMTkgfSwKKyAgICAgICAgeyAiaGUiLCAgICAgICAgIDB4MDAyMiwgMHgwMDIyLCAw
eDAwMjcsIDB4MDAyNyB9LAorICAgICAgICB7ICJoaSIsICAgICAgICAgMHgyMDFjLCAweDIwMWQs
IDB4MjAxOCwgMHgyMDE5IH0sCisgICAgICAgIHsgImhyIiwgICAgICAgICAweDIwMWUsIDB4MjAx
YywgMHgyMDFhLCAweDIwMTggfSwKKyAgICAgICAgeyAiaHUiLCAgICAgICAgIDB4MjAxZSwgMHgy
MDFkLCAweDAwYmIsIDB4MDBhYiB9LAorICAgICAgICB7ICJpZCIsICAgICAgICAgMHgyMDFjLCAw
eDIwMWQsIDB4MjAxOCwgMHgyMDE5IH0sCisgICAgICAgIHsgImlnIiwgICAgICAgICAweDIwMWMs
IDB4MjAxZCwgMHgyMDE4LCAweDIwMTkgfSwKKyAgICAgICAgeyAiaXQiLCAgICAgICAgIDB4MDBh
YiwgMHgwMGJiLCAweDIwMWMsIDB4MjAxZCB9LAorICAgICAgICB7ICJqYSIsICAgICAgICAgMHgz
MDBjLCAweDMwMGQsIDB4MzAwZSwgMHgzMDBmIH0sCisgICAgICAgIHsgImpnbyIsICAgICAgICAw
eDAwYWIsIDB4MDBiYiwgMHgyMDM5LCAweDIwM2EgfSwKKyAgICAgICAgeyAiam1jIiwgICAgICAg
IDB4MjAxYywgMHgyMDFkLCAweDIwMTgsIDB4MjAxOSB9LAorICAgICAgICB7ICJrYWIiLCAgICAg
ICAgMHgwMGFiLCAweDAwYmIsIDB4MjAxYywgMHgyMDFkIH0sCisgICAgICAgIHsgImthbSIsICAg
ICAgICAweDIwMWMsIDB4MjAxZCwgMHgyMDE4LCAweDIwMTkgfSwKKyAgICAgICAgeyAia2RlIiwg
ICAgICAgIDB4MjAxYywgMHgyMDFkLCAweDIwMTgsIDB4MjAxOSB9LAorICAgICAgICB7ICJrZWEi
LCAgICAgICAgMHgyMDFjLCAweDIwMWQsIDB4MjAxOCwgMHgyMDE5IH0sCisgICAgICAgIHsgImto
cSIsICAgICAgICAweDIwMWMsIDB4MjAxZCwgMHgyMDE4LCAweDIwMTkgfSwKKyAgICAgICAgeyAi
a2kiLCAgICAgICAgIDB4MjAxYywgMHgyMDFkLCAweDIwMTgsIDB4MjAxOSB9LAorICAgICAgICB7
ICJra2oiLCAgICAgICAgMHgwMGFiLCAweDAwYmIsIDB4MjAzOSwgMHgyMDNhIH0sCisgICAgICAg
IHsgImtsbiIsICAgICAgICAweDIwMWMsIDB4MjAxZCwgMHgyMDE4LCAweDIwMTkgfSwKKyAgICAg
ICAgeyAia20iLCAgICAgICAgIDB4MjAxYywgMHgyMDFkLCAweDIwMTgsIDB4MjAxOSB9LAorICAg
ICAgICB7ICJrbiIsICAgICAgICAgMHgyMDFjLCAweDIwMWQsIDB4MjAxOCwgMHgyMDE5IH0sCisg
ICAgICAgIHsgImtvIiwgICAgICAgICAweDIwMWMsIDB4MjAxZCwgMHgyMDE4LCAweDIwMTkgfSwK
KyAgICAgICAgeyAia3NiIiwgICAgICAgIDB4MjAxYywgMHgyMDFkLCAweDIwMTgsIDB4MjAxOSB9
LAorICAgICAgICB7ICJrc2YiLCAgICAgICAgMHgwMGFiLCAweDAwYmIsIDB4MjAxOCwgMHgyMDE5
IH0sCisgICAgICAgIHsgImxhZyIsICAgICAgICAweDIwMWQsIDB4MjAxZCwgMHgyMDE5LCAweDIw
MTkgfSwKKyAgICAgICAgeyAibGciLCAgICAgICAgIDB4MjAxYywgMHgyMDFkLCAweDIwMTgsIDB4
MjAxOSB9LAorICAgICAgICB7ICJsbiIsICAgICAgICAgMHgyMDFjLCAweDIwMWQsIDB4MjAxOCwg
MHgyMDE5IH0sCisgICAgICAgIHsgImxvIiwgICAgICAgICAweDIwMWMsIDB4MjAxZCwgMHgyMDE4
LCAweDIwMTkgfSwKKyAgICAgICAgeyAibHQiLCAgICAgICAgIDB4MjAxZSwgMHgyMDFjLCAweDIw
MWUsIDB4MjAxYyB9LAorICAgICAgICB7ICJsdSIsICAgICAgICAgMHgyMDFjLCAweDIwMWQsIDB4
MjAxOCwgMHgyMDE5IH0sCisgICAgICAgIHsgImx1byIsICAgICAgICAweDIwMWMsIDB4MjAxZCwg
MHgyMDE4LCAweDIwMTkgfSwKKyAgICAgICAgeyAibHV5IiwgICAgICAgIDB4MjAxZSwgMHgyMDFj
LCAweDIwMWEsIDB4MjAxOCB9LAorICAgICAgICB7ICJsdiIsICAgICAgICAgMHgyMDFjLCAweDIw
MWQsIDB4MjAxOCwgMHgyMDE5IH0sCisgICAgICAgIHsgIm1hcyIsICAgICAgICAweDIwMWMsIDB4
MjAxZCwgMHgyMDE4LCAweDIwMTkgfSwKKyAgICAgICAgeyAibWVyIiwgICAgICAgIDB4MjAxYywg
MHgyMDFkLCAweDIwMTgsIDB4MjAxOSB9LAorICAgICAgICB7ICJtZmUiLCAgICAgICAgMHgyMDFj
LCAweDIwMWQsIDB4MjAxOCwgMHgyMDE5IH0sCisgICAgICAgIHsgIm1nIiwgICAgICAgICAweDAw
YWIsIDB4MDBiYiwgMHgyMDFjLCAweDIwMWQgfSwKKyAgICAgICAgeyAibWdvIiwgICAgICAgIDB4
MjAxYywgMHgyMDFkLCAweDIwMTgsIDB4MjAxOSB9LAorICAgICAgICB7ICJtayIsICAgICAgICAg
MHgyMDFlLCAweDIwMWMsIDB4MjAxYSwgMHgyMDE4IH0sCisgICAgICAgIHsgIm1sIiwgICAgICAg
ICAweDIwMWMsIDB4MjAxZCwgMHgyMDE4LCAweDIwMTkgfSwKKyAgICAgICAgeyAibXIiLCAgICAg
ICAgIDB4MjAxYywgMHgyMDFkLCAweDIwMTgsIDB4MjAxOSB9LAorICAgICAgICB7ICJtcyIsICAg
ICAgICAgMHgyMDFjLCAweDIwMWQsIDB4MjAxOCwgMHgyMDE5IH0sCisgICAgICAgIHsgIm11YSIs
ICAgICAgICAweDAwYWIsIDB4MDBiYiwgMHgyMDFjLCAweDIwMWQgfSwKKyAgICAgICAgeyAibXki
LCAgICAgICAgIDB4MjAxYywgMHgyMDFkLCAweDIwMTgsIDB4MjAxOSB9LAorICAgICAgICB7ICJu
YXEiLCAgICAgICAgMHgyMDFjLCAweDIwMWQsIDB4MjAxOCwgMHgyMDE5IH0sCisgICAgICAgIHsg
Im5iIiwgICAgICAgICAweDAwYWIsIDB4MDBiYiwgMHgyMDE4LCAweDIwMTkgfSwKKyAgICAgICAg
eyAibmQiLCAgICAgICAgIDB4MjAxYywgMHgyMDFkLCAweDIwMTgsIDB4MjAxOSB9LAorICAgICAg
ICB7ICJubCIsICAgICAgICAgMHgyMDFjLCAweDIwMWQsIDB4MjAxOCwgMHgyMDE5IH0sCisgICAg
ICAgIHsgIm5tZyIsICAgICAgICAweDIwMWUsIDB4MjAxZCwgMHgwMGFiLCAweDAwYmIgfSwKKyAg
ICAgICAgeyAibm4iLCAgICAgICAgIDB4MDBhYiwgMHgwMGJiLCAweDIwMTgsIDB4MjAxOSB9LAor
ICAgICAgICB7ICJubmgiLCAgICAgICAgMHgwMGFiLCAweDAwYmIsIDB4MjAxYywgMHgyMDFkIH0s
CisgICAgICAgIHsgIm51cyIsICAgICAgICAweDIwMWMsIDB4MjAxZCwgMHgyMDE4LCAweDIwMTkg
fSwKKyAgICAgICAgeyAibnluIiwgICAgICAgIDB4MjAxYywgMHgyMDFkLCAweDIwMTgsIDB4MjAx
OSB9LAorICAgICAgICB7ICJwbCIsICAgICAgICAgMHgyMDFlLCAweDIwMWQsIDB4MDBhYiwgMHgw
MGJiIH0sCisgICAgICAgIHsgInB0IiwgICAgICAgICAweDIwMWMsIDB4MjAxZCwgMHgyMDE4LCAw
eDIwMTkgfSwKKyAgICAgICAgeyAicHQtcHQiLCAgICAgIDB4MDBhYiwgMHgwMGJiLCAweDIwMWMs
IDB4MjAxZCB9LAorICAgICAgICB7ICJybiIsICAgICAgICAgMHgyMDFkLCAweDIwMWQsIDB4MjAx
OSwgMHgyMDE5IH0sCisgICAgICAgIHsgInJvIiwgICAgICAgICAweDIwMWUsIDB4MjAxZCwgMHgw
MGFiLCAweDAwYmIgfSwKKyAgICAgICAgeyAicm9mIiwgICAgICAgIDB4MjAxYywgMHgyMDFkLCAw
eDIwMTgsIDB4MjAxOSB9LAorICAgICAgICB7ICJydSIsICAgICAgICAgMHgwMGFiLCAweDAwYmIs
IDB4MjAxZSwgMHgyMDFjIH0sCisgICAgICAgIHsgInJ3IiwgICAgICAgICAweDAwYWIsIDB4MDBi
YiwgMHgyMDE4LCAweDIwMTkgfSwKKyAgICAgICAgeyAicndrIiwgICAgICAgIDB4MjAxYywgMHgy
MDFkLCAweDIwMTgsIDB4MjAxOSB9LAorICAgICAgICB7ICJzYXEiLCAgICAgICAgMHgyMDFjLCAw
eDIwMWQsIDB4MjAxOCwgMHgyMDE5IH0sCisgICAgICAgIHsgInNicCIsICAgICAgICAweDIwMWMs
IDB4MjAxZCwgMHgyMDE4LCAweDIwMTkgfSwKKyAgICAgICAgeyAic2VoIiwgICAgICAgIDB4MjAx
YywgMHgyMDFkLCAweDIwMTgsIDB4MjAxOSB9LAorICAgICAgICB7ICJzZXMiLCAgICAgICAgMHgy
MDFjLCAweDIwMWQsIDB4MjAxOCwgMHgyMDE5IH0sCisgICAgICAgIHsgInNnIiwgICAgICAgICAw
eDAwYWIsIDB4MDBiYiwgMHgyMDFjLCAweDIwMWQgfSwKKyAgICAgICAgeyAic2hpIiwgICAgICAg
IDB4MDBhYiwgMHgwMGJiLCAweDIwMWUsIDB4MjAxZCB9LAorICAgICAgICB7ICJzaGktdGZuZyIs
ICAgMHgwMGFiLCAweDAwYmIsIDB4MjAxZSwgMHgyMDFkIH0sCisgICAgICAgIHsgInNpIiwgICAg
ICAgICAweDIwMWMsIDB4MjAxZCwgMHgyMDE4LCAweDIwMTkgfSwKKyAgICAgICAgeyAic2siLCAg
ICAgICAgIDB4MjAxZSwgMHgyMDFjLCAweDIwMWEsIDB4MjAxOCB9LAorICAgICAgICB7ICJzbCIs
ICAgICAgICAgMHgyMDFlLCAweDIwMWMsIDB4MjAxYSwgMHgyMDE4IH0sCisgICAgICAgIHsgInNu
IiwgICAgICAgICAweDIwMWQsIDB4MjAxZCwgMHgyMDE5LCAweDIwMTkgfSwKKyAgICAgICAgeyAi
c28iLCAgICAgICAgIDB4MjAxYywgMHgyMDFkLCAweDIwMTgsIDB4MjAxOSB9LAorICAgICAgICB7
ICJzcSIsICAgICAgICAgMHgyMDFlLCAweDIwMWMsIDB4MjAxYSwgMHgyMDE4IH0sCisgICAgICAg
IHsgInNyIiwgICAgICAgICAweDIwMWUsIDB4MjAxYywgMHgyMDFhLCAweDIwMTggfSwKKyAgICAg
ICAgeyAic3ItbGF0biIsICAgIDB4MjAxZSwgMHgyMDFjLCAweDIwMWEsIDB4MjAxOCB9LAorICAg
ICAgICB7ICJzdiIsICAgICAgICAgMHgyMDFkLCAweDIwMWQsIDB4MjAxOSwgMHgyMDE5IH0sCisg
ICAgICAgIHsgInN3IiwgICAgICAgICAweDIwMWMsIDB4MjAxZCwgMHgyMDE4LCAweDIwMTkgfSwK
KyAgICAgICAgeyAic3djIiwgICAgICAgIDB4MjAxYywgMHgyMDFkLCAweDIwMTgsIDB4MjAxOSB9
LAorICAgICAgICB7ICJ0YSIsICAgICAgICAgMHgyMDFjLCAweDIwMWQsIDB4MjAxOCwgMHgyMDE5
IH0sCisgICAgICAgIHsgInRlIiwgICAgICAgICAweDIwMWMsIDB4MjAxZCwgMHgyMDE4LCAweDIw
MTkgfSwKKyAgICAgICAgeyAidGVvIiwgICAgICAgIDB4MjAxYywgMHgyMDFkLCAweDIwMTgsIDB4
MjAxOSB9LAorICAgICAgICB7ICJ0aCIsICAgICAgICAgMHgyMDFjLCAweDIwMWQsIDB4MjAxOCwg
MHgyMDE5IH0sCisgICAgICAgIHsgInRpLWVyIiwgICAgICAweDIwMTgsIDB4MjAxOSwgMHgyMDFj
LCAweDIwMWQgfSwKKyAgICAgICAgeyAidG8iLCAgICAgICAgIDB4MjAxYywgMHgyMDFkLCAweDIw
MTgsIDB4MjAxOSB9LAorICAgICAgICB7ICJ0ciIsICAgICAgICAgMHgyMDFjLCAweDIwMWQsIDB4
MjAxOCwgMHgyMDE5IH0sCisgICAgICAgIHsgInR3cSIsICAgICAgICAweDIwMWMsIDB4MjAxZCwg
MHgyMDE4LCAweDIwMTkgfSwKKyAgICAgICAgeyAidHptIiwgICAgICAgIDB4MjAxYywgMHgyMDFk
LCAweDIwMTgsIDB4MjAxOSB9LAorICAgICAgICB7ICJ1ayIsICAgICAgICAgMHgwMGFiLCAweDAw
YmIsIDB4MjAxZSwgMHgyMDFjIH0sCisgICAgICAgIHsgInVyIiwgICAgICAgICAweDIwMWQsIDB4
MjAxYywgMHgyMDE5LCAweDIwMTggfSwKKyAgICAgICAgeyAidmFpIiwgICAgICAgIDB4MjAxYywg
MHgyMDFkLCAweDIwMTgsIDB4MjAxOSB9LAorICAgICAgICB7ICJ2YWktbGF0biIsICAgMHgyMDFj
LCAweDIwMWQsIDB4MjAxOCwgMHgyMDE5IH0sCisgICAgICAgIHsgInZpIiwgICAgICAgICAweDIw
MWMsIDB4MjAxZCwgMHgyMDE4LCAweDIwMTkgfSwKKyAgICAgICAgeyAidnVuIiwgICAgICAgIDB4
MjAxYywgMHgyMDFkLCAweDIwMTgsIDB4MjAxOSB9LAorICAgICAgICB7ICJ4aCIsICAgICAgICAg
MHgyMDE4LCAweDIwMTksIDB4MjAxYywgMHgyMDFkIH0sCisgICAgICAgIHsgInhvZyIsICAgICAg
ICAweDIwMWMsIDB4MjAxZCwgMHgyMDE4LCAweDIwMTkgfSwKKyAgICAgICAgeyAieWF2IiwgICAg
ICAgIDB4MDBhYiwgMHgwMGJiLCAweDAwYWIsIDB4MDBiYiB9LAorICAgICAgICB7ICJ5byIsICAg
ICAgICAgMHgyMDFjLCAweDIwMWQsIDB4MjAxOCwgMHgyMDE5IH0sCisgICAgICAgIHsgInpoIiwg
ICAgICAgICAweDIwMWMsIDB4MjAxZCwgMHgyMDE4LCAweDIwMTkgfSwKKyAgICAgICAgeyAiemgt
aGFudCIsICAgIDB4MzAwYywgMHgzMDBkLCAweDMwMGUsIDB4MzAwZiB9LAorICAgICAgICB7ICJ6
dSIsICAgICAgICAgMHgyMDFjLCAweDIwMWQsIDB4MjAxOCwgMHgyMDE5IH0sCisgICAgfTsKKwor
ICAgIGNvbnN0IHVuc2lnbmVkIG1heExhbmd1YWdlTGVuZ3RoID0gODsKKworI2lmICFBU1NFUlRf
RElTQUJMRUQKKyAgICAvLyBPbmUgdGltZSBjaGVjayB0aGF0IHRoZSB0YWJsZSBtZWV0cyB0aGUg
Y29uc3RyYWludHMgdGhhdCB0aGUgY29kZSBiZWxvdyByZWxpZXMgb24uCisKKyAgICBzdGF0aWMg
Ym9vbCBkaWRPbmVUaW1lQ2hlY2sgPSBmYWxzZTsKKyAgICBpZiAoIWRpZE9uZVRpbWVDaGVjaykg
eworICAgICAgICBkaWRPbmVUaW1lQ2hlY2sgPSB0cnVlOworCisgICAgICAgIGNoZWNrTnVtYmVy
T2ZEaXN0aW5jdFF1b3RlQ2hhcmFjdGVycyhxdW90YXRpb25NYXJrKTsKKyAgICAgICAgY2hlY2tO
dW1iZXJPZkRpc3RpbmN0UXVvdGVDaGFyYWN0ZXJzKGFwb3N0cm9waGUpOworCisgICAgICAgIGZv
ciAodW5zaWduZWQgaSA9IDA7IGkgPCBXVEZfQVJSQVlfTEVOR1RIKHF1b3RlVGFibGUpOyArK2kp
IHsKKyAgICAgICAgICAgIEFTU0VSVChzdHJsZW4ocXVvdGVUYWJsZVtpXS5sYW5ndWFnZSkgPD0g
bWF4TGFuZ3VhZ2VMZW5ndGgpOworCisgICAgICAgICAgICBpZiAoaSkKKyAgICAgICAgICAgICAg
ICBBU1NFUlQoc3RyY21wKHF1b3RlVGFibGVbaSAtIDFdLmxhbmd1YWdlLCBxdW90ZVRhYmxlW2ld
Lmxhbmd1YWdlKSA8IDApOworCisgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGogPSAwOyBVQ2hh
ciBjaGFyYWN0ZXIgPSBxdW90ZVRhYmxlW2ldLmxhbmd1YWdlW2pdOyArK2opCisgICAgICAgICAg
ICAgICAgQVNTRVJUKGlzQVNDSUlMb3dlcihjaGFyYWN0ZXIpIHx8IGNoYXJhY3RlciA9PSAnLScp
OworCisgICAgICAgICAgICBjaGVja051bWJlck9mRGlzdGluY3RRdW90ZUNoYXJhY3RlcnMocXVv
dGVUYWJsZVtpXS5vcGVuMSk7CisgICAgICAgICAgICBjaGVja051bWJlck9mRGlzdGluY3RRdW90
ZUNoYXJhY3RlcnMocXVvdGVUYWJsZVtpXS5jbG9zZTEpOworICAgICAgICAgICAgY2hlY2tOdW1i
ZXJPZkRpc3RpbmN0UXVvdGVDaGFyYWN0ZXJzKHF1b3RlVGFibGVbaV0ub3BlbjIpOworICAgICAg
ICAgICAgY2hlY2tOdW1iZXJPZkRpc3RpbmN0UXVvdGVDaGFyYWN0ZXJzKHF1b3RlVGFibGVbaV0u
Y2xvc2UyKTsKKyAgICAgICAgfQorICAgIH0KKyNlbmRpZgorCisgICAgdW5zaWduZWQgbGVuZ3Ro
ID0gbGFuZ3VhZ2UubGVuZ3RoKCk7CisgICAgaWYgKCFsZW5ndGggfHwgbGVuZ3RoID49IG1heExh
bmd1YWdlTGVuZ3RoKQorICAgICAgICByZXR1cm4gMDsKKworICAgIGNoYXIgbGFuZ3VhZ2VLZXlC
dWZmZXJbbWF4TGFuZ3VhZ2VMZW5ndGggKyAxXTsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBp
IDwgbGVuZ3RoOyArK2kpIHsKKyAgICAgICAgVUNoYXIgY2hhcmFjdGVyID0gdG9BU0NJSUxvd2Vy
KGxhbmd1YWdlW2ldKTsKKyAgICAgICAgaWYgKCEoaXNBU0NJSUxvd2VyKGNoYXJhY3RlcikgfHwg
Y2hhcmFjdGVyID09ICctJykpCisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgbGFuZ3Vh
Z2VLZXlCdWZmZXJbaV0gPSBzdGF0aWNfY2FzdDxjaGFyPihjaGFyYWN0ZXIpOworICAgIH0KKyAg
ICBsYW5ndWFnZUtleUJ1ZmZlcltsZW5ndGhdID0gMDsKKworICAgIFF1b3Rlc0Zvckxhbmd1YWdl
IGxhbmd1YWdlS2V5ID0geyBsYW5ndWFnZUtleUJ1ZmZlciwgMCwgMCwgMCwgMCB9OworCisgICAg
cmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IFF1b3Rlc0Zvckxhbmd1YWdlKj4oYnNlYXJjaCgmbGFu
Z3VhZ2VLZXksCisgICAgICAgIHF1b3RlVGFibGUsIFdURl9BUlJBWV9MRU5HVEgocXVvdGVUYWJs
ZSksIHNpemVvZihxdW90ZVRhYmxlWzBdKSwgcXVvdGVUYWJsZUxhbmd1YWdlQ29tcGFyaXNvbkZ1
bmN0aW9uKSk7CiB9CiAKLXN0YXRpYyBjb25zdCBRdW90ZXNEYXRhKiBiYXNpY1F1b3Rlc0RhdGEo
KQorc3RhdGljIFN0cmluZ0ltcGwqIHN0cmluZ0ZvclF1b3RlQ2hhcmFjdGVyKFVDaGFyIGNoYXJh
Y3RlcikKIHsKLSAgICAvLyBGSVhNRTogVGhlIGRlZmF1bHQgcXVvdGVzIHNob3VsZCBiZSB0aGUg
ZmFuY3kgcXVvdGVzIGZvciAiZW4iLgotICAgIHN0YXRpYyBjb25zdCBRdW90ZXNEYXRhKiBzdGF0
aWNCYXNpY1F1b3RlcyA9IFF1b3Rlc0RhdGE6OmNyZWF0ZShVKCJcIiIpLCBVKCJcIiIpLCBVKCIn
IiksIFUoIiciKSkubGVha1JlZigpOwotICAgIHJldHVybiBzdGF0aWNCYXNpY1F1b3RlczsKKyAg
ICAvLyBVc2UgbGluZWFyIHNlYXJjaCBiZWNhdXNlIHRoZXJlIGlzIGEgc21hbGwgbnVtYmVyIG9m
IGRpc3RpbmN0IGNoYXJhY3RlcnMsIHRodXMgYmluYXJ5IHNlYXJjaCBpcyB1bm5lZWRlZC4KKyAg
ICBBU1NFUlQoY2hhcmFjdGVyKTsKKyAgICBzdHJ1Y3QgU3RyaW5nRm9yQ2hhcmFjdGVyIHsKKyAg
ICAgICAgVUNoYXIgY2hhcmFjdGVyOworICAgICAgICBTdHJpbmdJbXBsKiBzdHJpbmc7CisgICAg
fTsKKyAgICBzdGF0aWMgU3RyaW5nRm9yQ2hhcmFjdGVyIHN0cmluZ3NbbWF4RGlzdGluY3RRdW90
ZUNoYXJhY3RlcnNdOworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtYXhEaXN0aW5jdFF1
b3RlQ2hhcmFjdGVyczsgKytpKSB7CisgICAgICAgIGlmIChzdHJpbmdzW2ldLmNoYXJhY3RlciA9
PSBjaGFyYWN0ZXIpCisgICAgICAgICAgICByZXR1cm4gc3RyaW5nc1tpXS5zdHJpbmc7CisgICAg
ICAgIGlmICghc3RyaW5nc1tpXS5jaGFyYWN0ZXIpIHsKKyAgICAgICAgICAgIHN0cmluZ3NbaV0u
Y2hhcmFjdGVyID0gY2hhcmFjdGVyOworICAgICAgICAgICAgc3RyaW5nc1tpXS5zdHJpbmcgPSBT
dHJpbmdJbXBsOjpjcmVhdGU4Qml0SWZQb3NzaWJsZSgmY2hhcmFjdGVyLCAxKS5sZWFrUmVmKCk7
CisgICAgICAgICAgICByZXR1cm4gc3RyaW5nc1tpXS5zdHJpbmc7CisgICAgICAgIH0KKyAgICB9
CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIFN0cmluZ0ltcGw6OmVtcHR5
KCk7Cit9CisKK3N0YXRpYyBpbmxpbmUgU3RyaW5nSW1wbCogcXVvdGF0aW9uTWFya1N0cmluZygp
Cit7CisgICAgc3RhdGljIFN0cmluZ0ltcGwqIHF1b3RhdGlvbk1hcmtTdHJpbmcgPSBzdHJpbmdG
b3JRdW90ZUNoYXJhY3RlcihxdW90YXRpb25NYXJrKTsKKyAgICByZXR1cm4gcXVvdGF0aW9uTWFy
a1N0cmluZzsKK30KKworc3RhdGljIGlubGluZSBTdHJpbmdJbXBsKiBhcG9zdHJvcGhlU3RyaW5n
KCkKK3sKKyAgICBzdGF0aWMgU3RyaW5nSW1wbCogYXBvc3Ryb3BoZVN0cmluZyA9IHN0cmluZ0Zv
clF1b3RlQ2hhcmFjdGVyKGFwb3N0cm9waGUpOworICAgIHJldHVybiBhcG9zdHJvcGhlU3RyaW5n
OwogfQogCiBQYXNzUmVmUHRyPFN0cmluZ0ltcGw+IFJlbmRlclF1b3RlOjpvcmlnaW5hbFRleHQo
KSBjb25zdAogewogICAgIGlmIChtX2RlcHRoIDwgMCkKICAgICAgICAgcmV0dXJuIFN0cmluZ0lt
cGw6OmVtcHR5KCk7CisgICAgYm9vbCBpc09wZW5RdW90ZSA9IGZhbHNlOwogICAgIHN3aXRjaCAo
bV90eXBlKSB7CiAgICAgY2FzZSBOT19PUEVOX1FVT1RFOgogICAgIGNhc2UgTk9fQ0xPU0VfUVVP
VEU6CiAgICAgICAgIHJldHVybiBTdHJpbmdJbXBsOjplbXB0eSgpOwotICAgIGNhc2UgQ0xPU0Vf
UVVPVEU6Ci0gICAgICAgIHJldHVybiBxdW90ZXNEYXRhKCktPmNsb3NlUXVvdGUobV9kZXB0aCku
aW1wbCgpOwogICAgIGNhc2UgT1BFTl9RVU9URToKLSAgICAgICAgcmV0dXJuIHF1b3Rlc0RhdGEo
KS0+b3BlblF1b3RlKG1fZGVwdGgpLmltcGwoKTsKKyAgICAgICAgaXNPcGVuUXVvdGUgPSB0cnVl
OworICAgICAgICAvLyBmYWxsIHRocm91Z2gKKyAgICBjYXNlIENMT1NFX1FVT1RFOgorICAgICAg
ICBpZiAoY29uc3QgUXVvdGVzRGF0YSogcXVvdGVzID0gc3R5bGUoKS0+cXVvdGVzKCkpCisgICAg
ICAgICAgICByZXR1cm4gaXNPcGVuUXVvdGUgPyBxdW90ZXMtPm9wZW5RdW90ZShtX2RlcHRoKS5p
bXBsKCkgOiBxdW90ZXMtPmNsb3NlUXVvdGUobV9kZXB0aCkuaW1wbCgpOworICAgICAgICBpZiAo
Y29uc3QgUXVvdGVzRm9yTGFuZ3VhZ2UqIHF1b3RlcyA9IHF1b3Rlc0Zvckxhbmd1YWdlKHN0eWxl
KCktPmxvY2FsZSgpKSkKKyAgICAgICAgICAgIHJldHVybiBzdHJpbmdGb3JRdW90ZUNoYXJhY3Rl
cihpc09wZW5RdW90ZSA/IChtX2RlcHRoID8gcXVvdGVzLT5vcGVuMiA6IHF1b3Rlcy0+b3BlbjEp
IDogKG1fZGVwdGggPyBxdW90ZXMtPmNsb3NlMiA6IHF1b3Rlcy0+Y2xvc2UxKSk7CisgICAgICAg
IC8vIEZJWE1FOiBTaG91bGQgdGhlIGRlZmF1bHQgYmUgdGhlIHF1b3RlcyBmb3IgImVuIiByYXRo
ZXIgdGhhbiBzdHJhaWdodCBxdW90ZXM/CisgICAgICAgIHJldHVybiBtX2RlcHRoID8gYXBvc3Ry
b3BoZVN0cmluZygpIDogcXVvdGF0aW9uTWFya1N0cmluZygpOwogICAgIH0KICAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKICAgICByZXR1cm4gU3RyaW5nSW1wbDo6ZW1wdHkoKTsKIH0KIAotY29u
c3QgUXVvdGVzRGF0YSogUmVuZGVyUXVvdGU6OnF1b3Rlc0RhdGEoKSBjb25zdAotewotICAgIGlm
IChRdW90ZXNEYXRhKiBjdXN0b21RdW90ZXMgPSBzdHlsZSgpLT5xdW90ZXMoKSkKLSAgICAgICAg
cmV0dXJuIGN1c3RvbVF1b3RlczsKLQotICAgIEF0b21pY1N0cmluZyBsYW5ndWFnZSA9IHN0eWxl
KCktPmxvY2FsZSgpOwotICAgIGlmIChsYW5ndWFnZS5pc051bGwoKSkKLSAgICAgICAgcmV0dXJu
IGJhc2ljUXVvdGVzRGF0YSgpOwotICAgIGNvbnN0IFF1b3Rlc0RhdGEqIHF1b3RlcyA9IHF1b3Rl
c0RhdGFMYW5ndWFnZU1hcCgpLmdldChsYW5ndWFnZSk7Ci0gICAgaWYgKCFxdW90ZXMpCi0gICAg
ICAgIHJldHVybiBiYXNpY1F1b3Rlc0RhdGEoKTsKLSAgICByZXR1cm4gcXVvdGVzOwotfQotCiB2
b2lkIFJlbmRlclF1b3RlOjphdHRhY2hRdW90ZSgpCiB7CiAgICAgQVNTRVJUKHZpZXcoKSk7Ci0g
ICAgQVNTRVJUKCFtX2F0dGFjaGVkKTsKLSAgICBBU1NFUlQoIW1fbmV4dCAmJiAhbV9wcmV2aW91
cyk7CisgICAgQVNTRVJUKCFtX2lzQXR0YWNoZWQpOworICAgIEFTU0VSVCghbV9uZXh0KTsKKyAg
ICBBU1NFUlQoIW1fcHJldmlvdXMpOwogICAgIEFTU0VSVChpc1Jvb3RlZCgpKTsKIAotICAgIGlm
ICghdmlldygpLT5yZW5kZXJRdW90ZUhlYWQoKSkgewotICAgICAgICB2aWV3KCktPnNldFJlbmRl
clF1b3RlSGVhZCh0aGlzKTsKLSAgICAgICAgbV9hdHRhY2hlZCA9IHRydWU7Ci0gICAgICAgIHVw
ZGF0ZURlcHRoKCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBmb3IgKFJlbmRlck9i
amVjdCogcHJlZGVjZXNzb3IgPSBwcmV2aW91c0luUHJlT3JkZXIoKTsgcHJlZGVjZXNzb3I7IHBy
ZWRlY2Vzc29yID0gcHJlZGVjZXNzb3ItPnByZXZpb3VzSW5QcmVPcmRlcigpKSB7Ci0gICAgICAg
IC8vIFNraXAgdW5hdHRhY2hlZCBwcmVkZWNlc3NvcnMgdG8gYXZvaWQgaGF2aW5nIHN0YWxlIG1f
cHJldmlvdXMgcG9pbnRlcnMKLSAgICAgICAgLy8gaWYgdGhlIHByZXZpb3VzIG5vZGUgaXMgbmV2
ZXIgYXR0YWNoZWQgYW5kIGlzIHRoZW4gZGVzdHJveWVkLgotICAgICAgICBpZiAoIXByZWRlY2Vz
c29yLT5pc1F1b3RlKCkgfHwgIXRvUmVuZGVyUXVvdGUocHJlZGVjZXNzb3IpLT5pc0F0dGFjaGVk
KCkpCi0gICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgbV9wcmV2aW91cyA9IHRvUmVuZGVy
UXVvdGUocHJlZGVjZXNzb3IpOwotICAgICAgICBtX25leHQgPSBtX3ByZXZpb3VzLT5tX25leHQ7
Ci0gICAgICAgIG1fcHJldmlvdXMtPm1fbmV4dCA9IHRoaXM7Ci0gICAgICAgIGlmIChtX25leHQp
Ci0gICAgICAgICAgICBtX25leHQtPm1fcHJldmlvdXMgPSB0aGlzOwotICAgICAgICBicmVhazsK
KyAgICAvLyBPcHRpbWl6ZSBjYXNlIHdoZXJlIHRoaXMgaXMgdGhlIGZpcnN0IHF1b3RlIGluIGEg
UmVuZGVyVmlldyBieSBub3Qgc2VhcmNoaW5nIGZvciBwcmVkZWNlc3NvcnMgaW4gdGhhdCBjYXNl
LgorICAgIGlmICh2aWV3KCktPnJlbmRlclF1b3RlSGVhZCgpKSB7CisgICAgICAgIGZvciAoUmVu
ZGVyT2JqZWN0KiBwcmVkZWNlc3NvciA9IHByZXZpb3VzSW5QcmVPcmRlcigpOyBwcmVkZWNlc3Nv
cjsgcHJlZGVjZXNzb3IgPSBwcmVkZWNlc3Nvci0+cHJldmlvdXNJblByZU9yZGVyKCkpIHsKKyAg
ICAgICAgICAgIC8vIFNraXAgdW5hdHRhY2hlZCBwcmVkZWNlc3NvcnMgdG8gYXZvaWQgaGF2aW5n
IHN0YWxlIG1fcHJldmlvdXMgcG9pbnRlcnMKKyAgICAgICAgICAgIC8vIGlmIHRoZSBwcmV2aW91
cyBub2RlIGlzIG5ldmVyIGF0dGFjaGVkIGFuZCBpcyB0aGVuIGRlc3Ryb3llZC4KKyAgICAgICAg
ICAgIGlmICghcHJlZGVjZXNzb3ItPmlzUXVvdGUoKSB8fCAhdG9SZW5kZXJRdW90ZShwcmVkZWNl
c3NvciktPm1faXNBdHRhY2hlZCkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAg
ICAgIG1fcHJldmlvdXMgPSB0b1JlbmRlclF1b3RlKHByZWRlY2Vzc29yKTsKKyAgICAgICAgICAg
IG1fbmV4dCA9IG1fcHJldmlvdXMtPm1fbmV4dDsKKyAgICAgICAgICAgIG1fcHJldmlvdXMtPm1f
bmV4dCA9IHRoaXM7CisgICAgICAgICAgICBpZiAobV9uZXh0KQorICAgICAgICAgICAgICAgIG1f
bmV4dC0+bV9wcmV2aW91cyA9IHRoaXM7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQog
ICAgIH0KIAogICAgIGlmICghbV9wcmV2aW91cykgewpAQCAtMjk4LDIyICszODksMjMgQEAgdm9p
ZCBSZW5kZXJRdW90ZTo6YXR0YWNoUXVvdGUoKQogICAgICAgICBpZiAobV9uZXh0KQogICAgICAg
ICAgICAgbV9uZXh0LT5tX3ByZXZpb3VzID0gdGhpczsKICAgICB9Ci0gICAgbV9hdHRhY2hlZCA9
IHRydWU7CisKKyAgICBtX2lzQXR0YWNoZWQgPSB0cnVlOwogCiAgICAgZm9yIChSZW5kZXJRdW90
ZSogcXVvdGUgPSB0aGlzOyBxdW90ZTsgcXVvdGUgPSBxdW90ZS0+bV9uZXh0KQogICAgICAgICBx
dW90ZS0+dXBkYXRlRGVwdGgoKTsKIAotICAgIEFTU0VSVCghbV9uZXh0IHx8IG1fbmV4dC0+bV9h
dHRhY2hlZCk7CisgICAgQVNTRVJUKCFtX25leHQgfHwgbV9uZXh0LT5tX2lzQXR0YWNoZWQpOwog
ICAgIEFTU0VSVCghbV9uZXh0IHx8IG1fbmV4dC0+bV9wcmV2aW91cyA9PSB0aGlzKTsKLSAgICBB
U1NFUlQoIW1fcHJldmlvdXMgfHwgbV9wcmV2aW91cy0+bV9hdHRhY2hlZCk7CisgICAgQVNTRVJU
KCFtX3ByZXZpb3VzIHx8IG1fcHJldmlvdXMtPm1faXNBdHRhY2hlZCk7CiAgICAgQVNTRVJUKCFt
X3ByZXZpb3VzIHx8IG1fcHJldmlvdXMtPm1fbmV4dCA9PSB0aGlzKTsKIH0KIAogdm9pZCBSZW5k
ZXJRdW90ZTo6ZGV0YWNoUXVvdGUoKQogewotICAgIEFTU0VSVCghbV9uZXh0IHx8IG1fbmV4dC0+
bV9hdHRhY2hlZCk7Ci0gICAgQVNTRVJUKCFtX3ByZXZpb3VzIHx8IG1fcHJldmlvdXMtPm1fYXR0
YWNoZWQpOwotICAgIGlmICghbV9hdHRhY2hlZCkKKyAgICBBU1NFUlQoIW1fbmV4dCB8fCBtX25l
eHQtPm1faXNBdHRhY2hlZCk7CisgICAgQVNTRVJUKCFtX3ByZXZpb3VzIHx8IG1fcHJldmlvdXMt
Pm1faXNBdHRhY2hlZCk7CisgICAgaWYgKCFtX2lzQXR0YWNoZWQpCiAgICAgICAgIHJldHVybjsK
ICAgICBpZiAobV9wcmV2aW91cykKICAgICAgICAgbV9wcmV2aW91cy0+bV9uZXh0ID0gbV9uZXh0
OwpAQCAtMzI1LDE0ICs0MTcsMTQgQEAgdm9pZCBSZW5kZXJRdW90ZTo6ZGV0YWNoUXVvdGUoKQog
ICAgICAgICBmb3IgKFJlbmRlclF1b3RlKiBxdW90ZSA9IG1fbmV4dDsgcXVvdGU7IHF1b3RlID0g
cXVvdGUtPm1fbmV4dCkKICAgICAgICAgICAgIHF1b3RlLT51cGRhdGVEZXB0aCgpOwogICAgIH0K
LSAgICBtX2F0dGFjaGVkID0gZmFsc2U7CisgICAgbV9pc0F0dGFjaGVkID0gZmFsc2U7CiAgICAg
bV9uZXh0ID0gMDsKICAgICBtX3ByZXZpb3VzID0gMDsKIH0KIAogdm9pZCBSZW5kZXJRdW90ZTo6
dXBkYXRlRGVwdGgoKQogewotICAgIEFTU0VSVChtX2F0dGFjaGVkKTsKKyAgICBBU1NFUlQobV9p
c0F0dGFjaGVkKTsKICAgICBpbnQgZGVwdGggPSAwOwogICAgIGlmIChtX3ByZXZpb3VzKSB7CiAg
ICAgICAgIGRlcHRoID0gbV9wcmV2aW91cy0+bV9kZXB0aDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJRdW90ZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclF1b3RlLmgKaW5kZXggM2ZjOTc3ZmZmNjQ5Y2Q5ODFhZDdkZTIwZTUyMjg1ZGJlMDg0
ZWY2Ni4uNTViOWQ0NGRiMThlMGY0NTViNWEzYWFlNGNjZGMxOWI2MjJhMWRlMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclF1b3RlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclF1b3RlLmgKQEAgLTEsNiArMSw3IEBACiAvKgogICogQ29w
eXJpZ2h0IChDKSAyMDExIE5va2lhIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHly
aWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJp
Z2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlz
IGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
CiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYwpAQCAtMjIsNDAgKzIzLDM0IEBACiAjaWZuZGVmIFJlbmRlclF1b3RlX2gKICNkZWZp
bmUgUmVuZGVyUXVvdGVfaAogCi0jaW5jbHVkZSAiUXVvdGVzRGF0YS5oIgotI2luY2x1ZGUgIlJl
bmRlclN0eWxlLmgiCi0jaW5jbHVkZSAiUmVuZGVyU3R5bGVDb25zdGFudHMuaCIKICNpbmNsdWRl
ICJSZW5kZXJUZXh0LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgRG9jdW1lbnQ7
Ci0KLWNsYXNzIFJlbmRlclF1b3RlIDogcHVibGljIFJlbmRlclRleHQgeworY2xhc3MgUmVuZGVy
UXVvdGUgRklOQUwgOiBwdWJsaWMgUmVuZGVyVGV4dCB7CiBwdWJsaWM6Ci0gICAgUmVuZGVyUXVv
dGUoRG9jdW1lbnQqLCBjb25zdCBRdW90ZVR5cGUpOworICAgIFJlbmRlclF1b3RlKERvY3VtZW50
KiwgUXVvdGVUeXBlKTsKICAgICB2aXJ0dWFsIH5SZW5kZXJRdW90ZSgpOworCiAgICAgdm9pZCBh
dHRhY2hRdW90ZSgpOwogCiBwcml2YXRlOgogICAgIHZvaWQgZGV0YWNoUXVvdGUoKTsKIAogICAg
IHZpcnR1YWwgdm9pZCB3aWxsQmVEZXN0cm95ZWQoKSBPVkVSUklERTsKLSAgICB2aXJ0dWFsIGNv
bnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiAiUmVuZGVyUXVv
dGUiOyB9OworICAgIHZpcnR1YWwgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0IE9WRVJS
SURFIHsgcmV0dXJuICJSZW5kZXJRdW90ZSI7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNRdW90ZSgp
IGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIHRydWU7IH07CiAgICAgdmlydHVhbCBQYXNzUmVmUHRy
PFN0cmluZ0ltcGw+IG9yaWdpbmFsVGV4dCgpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwg
dm9pZCBzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRlclN0eWxlKikg
T1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHdpbGxCZVJlbW92ZWRGcm9tVHJlZSgpIE9WRVJS
SURFOwogCi0gICAgY29uc3QgUXVvdGVzRGF0YSogcXVvdGVzRGF0YSgpIGNvbnN0OwogICAgIHZv
aWQgdXBkYXRlRGVwdGgoKTsKLSAgICBib29sIGlzQXR0YWNoZWQoKSB7IHJldHVybiBtX2F0dGFj
aGVkOyB9CiAKICAgICBRdW90ZVR5cGUgbV90eXBlOwogICAgIGludCBtX2RlcHRoOwogICAgIFJl
bmRlclF1b3RlKiBtX25leHQ7CiAgICAgUmVuZGVyUXVvdGUqIG1fcHJldmlvdXM7Ci0gICAgYm9v
bCBtX2F0dGFjaGVkOworICAgIGJvb2wgbV9pc0F0dGFjaGVkOwogfTsKIAogaW5saW5lIFJlbmRl
clF1b3RlKiB0b1JlbmRlclF1b3RlKFJlbmRlck9iamVjdCogb2JqZWN0KQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1F1b3Rlc0RhdGEuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1F1b3Rlc0RhdGEuY3BwCmluZGV4IDljZTZmYWI4N2E3YTRi
ZDYwYjA1MGJkYzhlYmE1N2I3NjM1OGU5ODQuLmNhYjg3Mzk1NmQxYmRjNjA0ODI2MjRiM2Q0YjQy
MDQxMmRkNzg4ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9R
dW90ZXNEYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUXVvdGVz
RGF0YS5jcHAKQEAgLTI5LDE2ICsyOSw2IEBAIHN0YXRpYyBzaXplX3Qgc2l6ZUZvclF1b3Rlc0Rh
dGFXaXRoUXVvdGVDb3VudCh1bnNpZ25lZCBjb3VudCkKICAgICByZXR1cm4gc2l6ZW9mKFF1b3Rl
c0RhdGEpICsgc2l6ZW9mKHN0ZDo6cGFpcjxTdHJpbmcsIFN0cmluZz4pICogY291bnQ7CiB9CiAK
LVBhc3NSZWZQdHI8UXVvdGVzRGF0YT4gUXVvdGVzRGF0YTo6Y3JlYXRlKGNvbnN0IFN0cmluZyYg
b3BlbjEsIGNvbnN0IFN0cmluZyYgY2xvc2UxLCBjb25zdCBTdHJpbmcmIG9wZW4yLCBjb25zdCBT
dHJpbmcmIGNsb3NlMikKLXsKLSAgICBWZWN0b3I8c3RkOjpwYWlyPFN0cmluZywgU3RyaW5nPiA+
IHF1b3RlczsKLSAgICBxdW90ZXMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eSgyKTsKLSAgICBxdW90
ZXMudW5jaGVja2VkQXBwZW5kKHN0ZDo6bWFrZV9wYWlyKG9wZW4xLCBjbG9zZTEpKTsKLSAgICBx
dW90ZXMudW5jaGVja2VkQXBwZW5kKHN0ZDo6bWFrZV9wYWlyKG9wZW4yLCBjbG9zZTIpKTsKLQot
ICAgIHJldHVybiBRdW90ZXNEYXRhOjpjcmVhdGUocXVvdGVzKTsKLX0KLQogUGFzc1JlZlB0cjxR
dW90ZXNEYXRhPiBRdW90ZXNEYXRhOjpjcmVhdGUoY29uc3QgVmVjdG9yPHN0ZDo6cGFpcjxTdHJp
bmcsIFN0cmluZz4gPiYgcXVvdGVzKQogewogICAgIHZvaWQqIHNsb3QgPSBmYXN0TWFsbG9jKHNp
emVGb3JRdW90ZXNEYXRhV2l0aFF1b3RlQ291bnQocXVvdGVzLnNpemUoKSkpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1F1b3Rlc0RhdGEuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9RdW90ZXNEYXRhLmgKaW5kZXggZmI5NzBhZGU4ZWJmNGRh
MTI2OTkwZmQwZDY2NmZjNmI2ZmQ3ODRjNS4uZGY4NGQ2MmFlNjNiOGY5ZGJjNWViZWFmMzhjNGZh
ZmVhNGFkOWQ3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1F1
b3Rlc0RhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUXVvdGVzRGF0
YS5oCkBAIC0zNiw3ICszNiw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUXVvdGVz
RGF0YSA6IHB1YmxpYyBSZWZDb3VudGVkPFF1b3Rlc0RhdGE+IHsKIHB1YmxpYzoKLSAgICBzdGF0
aWMgUGFzc1JlZlB0cjxRdW90ZXNEYXRhPiBjcmVhdGUoY29uc3QgU3RyaW5nJiBvcGVuMSwgY29u
c3QgU3RyaW5nJiBjbG9zZTEsIGNvbnN0IFN0cmluZyYgb3BlbjIsIGNvbnN0IFN0cmluZyYgY2xv
c2UyKTsKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxRdW90ZXNEYXRhPiBjcmVhdGUoY29uc3QgVmVj
dG9yPHN0ZDo6cGFpcjxTdHJpbmcsIFN0cmluZz4gPiYgcXVvdGVzKTsKICAgICB+UXVvdGVzRGF0
YSgpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>201247</attachid>
            <date>2013-05-09 10:09:58 -0700</date>
            <delta_ts>2013-05-09 12:23:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-115807-20130509100901.patch</filename>
            <type>text/plain</type>
            <size>38595</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ5ODE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGU2ZGViZWQ2NGI3MTE0NWU0ZTMwY2E4
NmE0MGFlMGI2ZjQ0MmFmOGMuLjBlMzBkNmIyNTZiZGNkZDVjYjk2M2UwZTVjYmQ4NGY4NTdjNDIz
MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTMtMDUtMDkgIERhcmluIEFkbGVyICA8ZGFyaW5A
YXBwbGUuY29tPgorCisgICAgICAgIFJlbmRlclF1b3RlIGhhcyBnaWFudCBmdW5jdGlvbiBmb3Ig
bGFuZ3VhZ2UgdG8gcXVvdGVzIG1hcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTE1ODA3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiB3dGYvdW5pY29kZS9DaGFyYWN0ZXJOYW1lcy5oOiBBZGRlZCBhIGNv
dXBsZSBvZiBjaGFyYWN0ZXIgbmFtZXMuCisKIDIwMTMtMDUtMDggIE1pa2hhaWwgUG96ZG55YWtv
diAgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CiAKICAgICAgICAgU2ltcGxpZnkgUmV0
YWluUHRyT2JqZWN0SGFzaFRyYWl0cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGI0ZDA5NjI3ODIwNjY3MGMyODMw
NDJkNGQzMmFmMTI5MDI4ODA1MjUuLjI2NTEwODUxODBlNzA4MTA4NDQ2MTQzNDg2ZDFmYjc3YzNm
M2FmMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NCBAQAorMjAxMy0wNS0wOSAgRGFyaW4gQWRs
ZXIgIDxkYXJpbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmVuZGVyUXVvdGUgaGFzIGdpYW50IGZ1
bmN0aW9uIGZvciBsYW5ndWFnZSB0byBxdW90ZXMgbWFwCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTU4MDcKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJRdW90ZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJRdW90ZTo6UmVuZGVyUXVvdGUpOiBVcGRhdGVkIGZvciBt
X2lzQXR0YWNoZWQgbmFtZSBjaGFuZ2UuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJRdW90ZTo6
flJlbmRlclF1b3RlKTogVXBkYXRlZCBmb3IgbmFtZSBjaGFuZ2UsIGFuZCBhbHNvIHNwbGl0Cisg
ICAgICAgIGFzc2VydGlvbiB3aXRoICYmIGluIGl0IGludG8gdHdvIHNlcGFyYXRlIGFzc2VydGlv
bnMuCisgICAgICAgIChXZWJDb3JlOjpjaGVja051bWJlck9mRGlzdGluY3RRdW90ZUNoYXJhY3Rl
cnMpOiBBZGRlZC4gSGVscGVyIGZ1bmN0aW9uIHRoYXQgaXMgdXNlZAorICAgICAgICB0byBjaGVj
ayB0aGF0IHRoZSBudW1iZXIgb2YgZGlzdGluY3QgcXVvdGUgY2hhcmFjdGVycyBpcyBzbWFsbCBl
bm91Z2ggdG8gZml0IGludG8KKyAgICAgICAgb3VyIGZpeGVkIHNpemUgYXJyYXkgYmVsb3cuCisg
ICAgICAgIChXZWJDb3JlOjpxdW90ZXNGb3JMYW5ndWFnZSk6IFJlcGxhY2VzIHRoZSBvbGQgcXVv
dGVzRGF0YUxhbmd1YWdlTWFwIGZ1bmN0aW9uLgorICAgICAgICBSZXR1cm5zIGEgcG9pbnRlciB0
byBhIHN0cnVjdCB0aGF0IGNvbnRhaW5zIHRoZSBmb3VyIHF1b3RlIGNoYXJhY3RlcnMuIFRoaXMg
bmV3CisgICAgICAgIGZ1bmN0aW9uIGRvZXNuJ3QgaGF2ZSB0aGUgbWFzc2l2ZSBhbW91bnQgb2Yg
Y29kZSB0aGF0IHRoZSBvbGQgb25lIGRpZC4gV2UgdXNlIHRoZQorICAgICAgICBzdGFuZGFyZCBs
aWJyYXJ5IGJzZWFyY2ggZnVuY3Rpb24gdG8gZG8gYSBiaW5hcnkgc2VhcmNoLgorICAgICAgICAo
V2ViQ29yZTo6c3RyaW5nRm9yUXVvdGVDaGFyYWN0ZXIpOiBBZGRlZC4gVGhpcyByZXR1cm5zIGEg
c3RyaW5nIGZvciBhIGdpdmVuIHF1b3RlCisgICAgICAgIGNoYXJhY3Rlcjsgb25lIHN0cmluZyBm
b3IgYW55IGdpdmVuIGNoYXJhY3Rlci4KKyAgICAgICAgKFdlYkNvcmU6OnF1b3RhdGlvbk1hcmtT
dHJpbmcpOiBBZGRlZC4gUmV0dXJucyB0aGUgc3RyaW5nIGZvciB0aGUgcXVvdGF0aW9uIG1hcmsu
CisgICAgICAgIChXZWJDb3JlOjphcG9zdHJvcGhlU3RyaW5nSW1wbCk6IEFkZGVkLiBSZXR1cm5z
IHRoZSBzdHJpbmcgZm9yIHRoZSBhcG9zdHJvcGhlLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
UXVvdGU6Om9yaWdpbmFsVGV4dCk6IFJld3JvdGUgdGhpcyB0byBpbmNsdWRlIGFsbCB0aGUgbG9n
aWMgdGhhdAorICAgICAgICB1c2VkIHRvIGJlIGluIHRoZSBxdW90ZXNEYXRhIGZ1bmN0aW9uLgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUXVvdGU6OmF0dGFjaFF1b3RlKTogVHdlYWsgYXNzZXJ0
aW9ucyBhcyBhYm92ZS4gUmVtb3ZlZCB1bm5lZWRlZAorICAgICAgICBzcGVjaWFsIGNhc2UgZm9y
IHRoZSBmaXJzdCBxdW90ZSBpbiBhIFJlbmRlclZpZXc7IHNoYXJpbmcgdGhlIGNvZGUgaXMgYmV0
dGVyIGFuZAorICAgICAgICB0aGVyZSBpcyBubyBzaWduaWZpY2FudCBwZXJmb3JtYW5jZSBkaWZm
ZXJlbmNlLiBBbHNvIHVzZSBtX2lzQXR0YWNoZWQgZGlyZWN0bHkKKyAgICAgICAgd2hlbiBsb29r
aW5nIGF0IHByZWRlY2Vzc29yZXMgc28gdGhlcmUgaXMgbm8gbmVlZCBmb3IgYW4gaXNBdHRhY2hl
ZCBmdW5jdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclF1b3RlOjpkZXRhY2hRdW90ZSk6
IFVwZGF0ZWQgYXNzZXJ0aW9ucyBhbmQgZm9yIG5hbWUgY2hhbmdlLgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyUXVvdGU6OnVwZGF0ZURlcHRoKTogRGl0dG8uCisKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyUXVvdGUuaDogUmVtb3ZlZCB1bm5lZWRlZCBpbmNsdWRlcy4gTWFya2VkIHRoZSBj
bGFzcyBGSU5BTCBzaW5jZQorICAgICAgICB3ZSBjYWxsIHRoZSBvcmlnaW5hbFRleHQgZnVuY3Rp
b24gaW4gdGhlIGNsYXNzIGFuZCB3ZSBkb24ndCB3YW50IHRvIGRvIGEgdmlydHVhbAorICAgICAg
ICBmdW5jdGlvbiBkaXNwYXRjaCBmb3IgdGhhdC4gUmVtb3ZlZCB1bmVlZGVkIGNvbnN0IGZyb20g
YW4gYXJndW1lbnQuIFJlbW92ZWQgYQorICAgICAgICBzdHJheSBzZW1pY29sb24uIFJlbW92ZWQg
dGhlIHF1b3Rlc0RhdGEgYW5kIGlzQXR0YWNoZWQgZnVuY3Rpb25zLCBzaW5jZSB0aGV5IGFyZSBu
bworICAgICAgICBsb25nZXIgbmVlZGVkLiBSZW5hbWVkIG1fYXR0YWNoZWQgdG8gbV9pc0F0dGFj
aGVkLgorCisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1F1b3Rlc0RhdGEuY3BwOiBSZW1vdmVk
IHRoZSBvdmVybG9hZCBvZiBRdW90ZXNEYXRhOjpjcmVhdGUgdGhhdAorICAgICAgICB0YWtlcyBm
b3VyIHF1b3RlIHN0cmluZ3MuIFRoaXMgd2FzIG9ubHkgdXNlZCB0byBidWlsZCB1cCB0aGUgcXVv
dGVzIHRhYmxlLgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9RdW90ZXNEYXRhLmg6IERpdHRv
LgorCiAyMDEzLTA1LTA5ICBBbGJlcnRvIEdhcmNpYSAgPGFnYXJjaWFAaWdhbGlhLmNvbT4KIAog
ICAgICAgICBbQmxhY2tCZXJyeV0gVXBzdHJlYW0gdGhlIGlucHV0IHBvcHVwcwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dURi93dGYvdW5pY29kZS9DaGFyYWN0ZXJOYW1lcy5oIGIvU291cmNlL1dURi93
dGYvdW5pY29kZS9DaGFyYWN0ZXJOYW1lcy5oCmluZGV4IGMzNmRmZDBlZmFkZjNhYWE2NzA2Yzkw
NWZhOWI4ODQxMTY2MzkyODkuLjA3NmQ5MTFkYzg0MDJhNTA0ODJkZTU0YWM3NjcwNjliNzQzNDk5
ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3VuaWNvZGUvQ2hhcmFjdGVyTmFtZXMuaAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi91bmljb2RlL0NoYXJhY3Rlck5hbWVzLmgKQEAgLTM4LDYgKzM4
LDcgQEAgbmFtZXNwYWNlIFVuaWNvZGUgewogCiBjb25zdCBVQ2hhcjMyIGFlZ2VhbldvcmRTZXBh
cmF0b3JMaW5lID0gMHgxMDEwMDsKIGNvbnN0IFVDaGFyMzIgYWVnZWFuV29yZFNlcGFyYXRvckRv
dCA9IDB4MTAxMDE7Citjb25zdCBVQ2hhciBhcG9zdHJvcGhlID0gMHgwMDI3OwogY29uc3QgVUNo
YXIgYmxhY2tDaXJjbGUgPSAweDI1Q0Y7CiBjb25zdCBVQ2hhciBibGFja1NxdWFyZSA9IDB4MjVB
MDsKIGNvbnN0IFVDaGFyIGJsYWNrVXBQb2ludGluZ1RyaWFuZ2xlID0gMHgyNUIyOwpAQCAtNDcs
NiArNDgsNyBAQCBjb25zdCBVQ2hhciBjYXJyaWFnZVJldHVybiA9IDB4MDAwRDsKIGNvbnN0IFVD
aGFyIGV0aGlvcGljUHJlZmFjZUNvbG9uID0gMHgxMzY2OwogY29uc3QgVUNoYXIgZXRoaW9waWNX
b3Jkc3BhY2UgPSAweDEzNjE7CiBjb25zdCBVQ2hhciBmaXNoZXllID0gMHgyNUM5OworY29uc3Qg
VUNoYXIgcXVvdGF0aW9uTWFyayA9IDB4MDAyMjsKIGNvbnN0IFVDaGFyIGhlYnJld1B1bmN0dWF0
aW9uR2VyZXNoID0gMHgwNUYzOwogY29uc3QgVUNoYXIgaGVicmV3UHVuY3R1YXRpb25HZXJzaGF5
aW0gPSAweDA1RjQ7CiBjb25zdCBVQ2hhciBIaXJhZ2FuYUxldHRlclNtYWxsQSA9IDB4MzA0MTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJRdW90ZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUXVvdGUuY3BwCmluZGV4IGQxYmZmNmRlNTNk
YTEyMzlmNGNhZDRiN2VkMDhkYzBkZjdjNTZjZmIuLjQ4ZjFmMDk3ZWFjMTEwNDU2YjNkNmIwNWQ1
Y2Q3ZTkxNjdjMTNhZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJRdW90ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclF1b3RlLmNw
cApAQCAtMjMsMTAgKzIzLDkgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJSZW5k
ZXJRdW90ZS5oIgogCi0jaW5jbHVkZSAiUmVuZGVyVmlldy5oIgotI2luY2x1ZGUgPHd0Zi90ZXh0
L0F0b21pY1N0cmluZy5oPgorI2luY2x1ZGUgIlF1b3Rlc0RhdGEuaCIKIAotI2RlZmluZSBVKHgp
ICgoY29uc3QgVUNoYXIqKUwjI3gpCit1c2luZyBuYW1lc3BhY2UgV1RGOjpVbmljb2RlOwogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM2LDE0ICszNSwxNSBAQCBSZW5kZXJRdW90ZTo6UmVu
ZGVyUXVvdGUoRG9jdW1lbnQqIG5vZGUsIFF1b3RlVHlwZSBxdW90ZSkKICAgICAsIG1fZGVwdGgo
LTEpCiAgICAgLCBtX25leHQoMCkKICAgICAsIG1fcHJldmlvdXMoMCkKLSAgICAsIG1fYXR0YWNo
ZWQoZmFsc2UpCisgICAgLCBtX2lzQXR0YWNoZWQoZmFsc2UpCiB7CiB9CiAKIFJlbmRlclF1b3Rl
Ojp+UmVuZGVyUXVvdGUoKQogewotICAgIEFTU0VSVCghbV9hdHRhY2hlZCk7Ci0gICAgQVNTRVJU
KCFtX25leHQgJiYgIW1fcHJldmlvdXMpOworICAgIEFTU0VSVCghbV9pc0F0dGFjaGVkKTsKKyAg
ICBBU1NFUlQoIW1fbmV4dCk7CisgICAgQVNTRVJUKCFtX3ByZXZpb3VzKTsKIH0KIAogdm9pZCBS
ZW5kZXJRdW90ZTo6d2lsbEJlRGVzdHJveWVkKCkKQEAgLTY0LDIzMiArNjQsMzIzIEBAIHZvaWQg
UmVuZGVyUXVvdGU6OnN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSBkaWZmLCBjb25zdCBS
ZW5kZXJTdHlsZSogb2xkU3R5CiAgICAgc2V0VGV4dChvcmlnaW5hbFRleHQoKSk7CiB9CiAKLXR5
cGVkZWYgSGFzaE1hcDxBdG9taWNTdHJpbmcsIGNvbnN0IFF1b3Rlc0RhdGEqLCBDYXNlRm9sZGlu
Z0hhc2g+IFF1b3Rlc01hcDsKK2NvbnN0IHVuc2lnbmVkIG1heERpc3RpbmN0UXVvdGVDaGFyYWN0
ZXJzID0gMTY7CiAKLXN0YXRpYyBjb25zdCBRdW90ZXNNYXAmIHF1b3Rlc0RhdGFMYW5ndWFnZU1h
cCgpCisjaWYgIUFTU0VSVF9ESVNBQkxFRAorCitzdGF0aWMgdm9pZCBjaGVja051bWJlck9mRGlz
dGluY3RRdW90ZUNoYXJhY3RlcnMoVUNoYXIgY2hhcmFjdGVyKQogewotICAgIERFRklORV9TVEFU
SUNfTE9DQUwoUXVvdGVzTWFwLCBzdGF0aWNRdW90ZXNNYXAsICgpKTsKLSAgICBpZiAoc3RhdGlj
UXVvdGVzTWFwLnNpemUoKSkKLSAgICAgICAgcmV0dXJuIHN0YXRpY1F1b3Rlc01hcDsKKyAgICBB
U1NFUlQoY2hhcmFjdGVyKTsKKyAgICBzdGF0aWMgVUNoYXIgZGlzdGluY3RRdW90ZUNoYXJhY3Rl
cnNbbWF4RGlzdGluY3RRdW90ZUNoYXJhY3RlcnNdOworICAgIGZvciAodW5zaWduZWQgaSA9IDA7
IGkgPCBtYXhEaXN0aW5jdFF1b3RlQ2hhcmFjdGVyczsgKytpKSB7CisgICAgICAgIGlmIChkaXN0
aW5jdFF1b3RlQ2hhcmFjdGVyc1tpXSA9PSBjaGFyYWN0ZXIpCisgICAgICAgICAgICByZXR1cm47
CisgICAgICAgIGlmICghZGlzdGluY3RRdW90ZUNoYXJhY3RlcnNbaV0pIHsKKyAgICAgICAgICAg
IGRpc3RpbmN0UXVvdGVDaGFyYWN0ZXJzW2ldID0gY2hhcmFjdGVyOworICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICB9CisgICAgfQorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworfQorCisj
ZW5kaWYKKworc3RydWN0IFF1b3Rlc0Zvckxhbmd1YWdlIHsKKyAgICBjb25zdCBjaGFyKiBsYW5n
dWFnZTsKKyAgICBVQ2hhciBvcGVuMTsKKyAgICBVQ2hhciBjbG9zZTE7CisgICAgVUNoYXIgb3Bl
bjI7CisgICAgVUNoYXIgY2xvc2UyOworfTsKIAorc3RhdGljIGludCBxdW90ZVRhYmxlTGFuZ3Vh
Z2VDb21wYXJpc29uRnVuY3Rpb24oY29uc3Qgdm9pZCogYSwgY29uc3Qgdm9pZCogYikKK3sKKyAg
ICByZXR1cm4gc3RyY21wKHN0YXRpY19jYXN0PGNvbnN0IFF1b3Rlc0Zvckxhbmd1YWdlKj4oYSkt
Pmxhbmd1YWdlLAorICAgICAgICBzdGF0aWNfY2FzdDxjb25zdCBRdW90ZXNGb3JMYW5ndWFnZSo+
KGIpLT5sYW5ndWFnZSk7Cit9CisKK3N0YXRpYyBjb25zdCBRdW90ZXNGb3JMYW5ndWFnZSogcXVv
dGVzRm9yTGFuZ3VhZ2UoY29uc3QgU3RyaW5nJiBsYW5ndWFnZSkKK3sKICAgICAvLyBUYWJsZSBv
ZiBxdW90ZXMgZnJvbSBodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mvd2ViLWFwcHMvY3VycmVu
dC13b3JrL211bHRpcGFnZS9yZW5kZXJpbmcuaHRtbCNxdW90ZXMKLSAgICAjZGVmaW5lIFFVT1RF
U19MQU5HKGxhbmcsIG8xLCBjMSwgbzIsIGMyKSBzdGF0aWNRdW90ZXNNYXAuc2V0KGxhbmcsIFF1
b3Rlc0RhdGE6OmNyZWF0ZShVKG8xKSwgVShjMSksIFUobzIpLCBVKGMyKSkubGVha1JlZigpKQot
ICAgIFFVT1RFU19MQU5HKCJhZiIsICAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgy
MDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJhZ3EiLCAgICAgICAgICAgIlx4MjAx
ZSIsICJceDIwMWQiLCAiXHgyMDFhIiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJhayIs
ICAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAg
IFFVT1RFU19MQU5HKCJhbSIsICAgICAgICAgICAgIlx4MDBhYiIsICJceDAwYmIiLCAiXHgyMDM5
IiwgIlx4MjAzYSIpOwotICAgIFFVT1RFU19MQU5HKCJhciIsICAgICAgICAgICAgIlx4MjAxZCIs
ICJceDIwMWMiLCAiXHgyMDE5IiwgIlx4MjAxOCIpOwotICAgIFFVT1RFU19MQU5HKCJhc2EiLCAg
ICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFV
T1RFU19MQU5HKCJhei1DeXJsIiwgICAgICAgIlx4MDBhYiIsICJceDAwYmIiLCAiXHgyMDM5Iiwg
Ilx4MjAzYSIpOwotICAgIFFVT1RFU19MQU5HKCJiYXMiLCAgICAgICAgICAgIlx4MDBhYiIsICJc
eDAwYmIiLCAiXHgyMDFlIiwgIlx4MjAxYyIpOwotICAgIFFVT1RFU19MQU5HKCJiZW0iLCAgICAg
ICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RF
U19MQU5HKCJiZXoiLCAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4
MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJiZyIsICAgICAgICAgICAgIlx4MjAxZSIsICJceDIw
MWMiLCAiXHgyMDFhIiwgIlx4MjAxOCIpOwotICAgIFFVT1RFU19MQU5HKCJibSIsICAgICAgICAg
ICAgIlx4MDBhYiIsICJceDAwYmIiLCAiXHgyMDFjIiwgIlx4MjAxZCIpOwotICAgIFFVT1RFU19M
QU5HKCJibiIsICAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAx
OSIpOwotICAgIFFVT1RFU19MQU5HKCJiciIsICAgICAgICAgICAgIlx4MDBhYiIsICJceDAwYmIi
LCAiXHgyMDM5IiwgIlx4MjAzYSIpOwotICAgIFFVT1RFU19MQU5HKCJicngiLCAgICAgICAgICAg
Ilx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5H
KCJicy1DeXJsIiwgICAgICAgIlx4MjAxZSIsICJceDIwMWMiLCAiXHgyMDFhIiwgIlx4MjAxOCIp
OwotICAgIFFVT1RFU19MQU5HKCJjYSIsICAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAi
XHgwMGFiIiwgIlx4MDBiYiIpOwotICAgIFFVT1RFU19MQU5HKCJjZ2ciLCAgICAgICAgICAgIlx4
MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJj
aHIiLCAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwot
ICAgIFFVT1RFU19MQU5HKCJjcyIsICAgICAgICAgICAgIlx4MjAxZSIsICJceDIwMWMiLCAiXHgy
MDFhIiwgIlx4MjAxOCIpOwotICAgIFFVT1RFU19MQU5HKCJkYSIsICAgICAgICAgICAgIlx4MjAx
YyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJkYXYi
LCAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAg
IFFVT1RFU19MQU5HKCJkZSIsICAgICAgICAgICAgIlx4MjAxZSIsICJceDIwMWMiLCAiXHgyMDFh
IiwgIlx4MjAxOCIpOwotICAgIFFVT1RFU19MQU5HKCJkZS1DSCIsICAgICAgICAgIlx4MDBhYiIs
ICJceDAwYmIiLCAiXHgyMDM5IiwgIlx4MjAzYSIpOwotICAgIFFVT1RFU19MQU5HKCJkamUiLCAg
ICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFV
T1RFU19MQU5HKCJkdWEiLCAgICAgICAgICAgIlx4MDBhYiIsICJceDAwYmIiLCAiXHgyMDE4Iiwg
Ilx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJkeW8iLCAgICAgICAgICAgIlx4MDBhYiIsICJc
eDAwYmIiLCAiXHgyMDFjIiwgIlx4MjAxZCIpOwotICAgIFFVT1RFU19MQU5HKCJkeiIsICAgICAg
ICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RF
U19MQU5HKCJlYnUiLCAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4
MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJlZSIsICAgICAgICAgICAgIlx4MjAxYyIsICJceDIw
MWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJlbCIsICAgICAgICAg
ICAgIlx4MDBhYiIsICJceDAwYmIiLCAiXHgyMDFjIiwgIlx4MjAxZCIpOwotICAgIFFVT1RFU19M
QU5HKCJlbiIsICAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAx
OSIpOwotICAgIFFVT1RFU19MQU5HKCJlbi1HQiIsICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQi
LCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJlcyIsICAgICAgICAgICAg
Ilx4MjAxYyIsICJceDIwMWQiLCAiXHgwMGFiIiwgIlx4MDBiYiIpOwotICAgIFFVT1RFU19MQU5H
KCJldCIsICAgICAgICAgICAgIlx4MjAxZSIsICJceDIwMWMiLCAiXHgyMDFhIiwgIlx4MjAxOCIp
OwotICAgIFFVT1RFU19MQU5HKCJldSIsICAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAi
XHgwMGFiIiwgIlx4MDBiYiIpOwotICAgIFFVT1RFU19MQU5HKCJld28iLCAgICAgICAgICAgIlx4
MDBhYiIsICJceDAwYmIiLCAiXHgyMDFjIiwgIlx4MjAxZCIpOwotICAgIFFVT1RFU19MQU5HKCJm
YSIsICAgICAgICAgICAgIlx4MDBhYiIsICJceDAwYmIiLCAiXHgyMDM5IiwgIlx4MjAzYSIpOwot
ICAgIFFVT1RFU19MQU5HKCJmZiIsICAgICAgICAgICAgIlx4MjAxZSIsICJceDIwMWQiLCAiXHgy
MDFhIiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJmaSIsICAgICAgICAgICAgIlx4MjAx
ZCIsICJceDIwMWQiLCAiXHgyMDE5IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJmciIs
ICAgICAgICAgICAgIlx4MDBhYiIsICJceDAwYmIiLCAiXHgwMGFiIiwgIlx4MDBiYiIpOwotICAg
IFFVT1RFU19MQU5HKCJmci1DQSIsICAgICAgICAgIlx4MDBhYiIsICJceDAwYmIiLCAiXHgyMDM5
IiwgIlx4MjAzYSIpOwotICAgIFFVT1RFU19MQU5HKCJmci1DSCIsICAgICAgICAgIlx4MDBhYiIs
ICJceDAwYmIiLCAiXHgyMDM5IiwgIlx4MjAzYSIpOwotICAgIFFVT1RFU19MQU5HKCJnc3ciLCAg
ICAgICAgICAgIlx4MDBhYiIsICJceDAwYmIiLCAiXHgyMDM5IiwgIlx4MjAzYSIpOwotICAgIFFV
T1RFU19MQU5HKCJndSIsICAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4Iiwg
Ilx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJndXoiLCAgICAgICAgICAgIlx4MjAxYyIsICJc
eDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJoYSIsICAgICAg
ICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RF
U19MQU5HKCJoZSIsICAgICAgICAgICAgIlx4MDAyMiIsICJceDAwMjIiLCAiXHgwMDI3IiwgIlx4
MDAyNyIpOwotICAgIFFVT1RFU19MQU5HKCJoaSIsICAgICAgICAgICAgIlx4MjAxYyIsICJceDIw
MWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJociIsICAgICAgICAg
ICAgIlx4MjAxZSIsICJceDIwMWMiLCAiXHgyMDFhIiwgIlx4MjAxOCIpOwotICAgIFFVT1RFU19M
QU5HKCJodSIsICAgICAgICAgICAgIlx4MjAxZSIsICJceDIwMWQiLCAiXHgwMGJiIiwgIlx4MDBh
YiIpOwotICAgIFFVT1RFU19MQU5HKCJpZCIsICAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQi
LCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJpZyIsICAgICAgICAgICAg
Ilx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5H
KCJpdCIsICAgICAgICAgICAgIlx4MDBhYiIsICJceDAwYmIiLCAiXHgyMDFjIiwgIlx4MjAxZCIp
OwotICAgIFFVT1RFU19MQU5HKCJqYSIsICAgICAgICAgICAgIlx4MzAwYyIsICJceDMwMGQiLCAi
XHgzMDBlIiwgIlx4MzAwZiIpOwotICAgIFFVT1RFU19MQU5HKCJqZ28iLCAgICAgICAgICAgIlx4
MDBhYiIsICJceDAwYmIiLCAiXHgyMDM5IiwgIlx4MjAzYSIpOwotICAgIFFVT1RFU19MQU5HKCJq
bWMiLCAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwot
ICAgIFFVT1RFU19MQU5HKCJrYWIiLCAgICAgICAgICAgIlx4MDBhYiIsICJceDAwYmIiLCAiXHgy
MDFjIiwgIlx4MjAxZCIpOwotICAgIFFVT1RFU19MQU5HKCJrYW0iLCAgICAgICAgICAgIlx4MjAx
YyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJrZGUi
LCAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAg
IFFVT1RFU19MQU5HKCJrZWEiLCAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4
IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJraHEiLCAgICAgICAgICAgIlx4MjAxYyIs
ICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJraSIsICAg
ICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFV
T1RFU19MQU5HKCJra2oiLCAgICAgICAgICAgIlx4MDBhYiIsICJceDAwYmIiLCAiXHgyMDM5Iiwg
Ilx4MjAzYSIpOwotICAgIFFVT1RFU19MQU5HKCJrbG4iLCAgICAgICAgICAgIlx4MjAxYyIsICJc
eDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJrbSIsICAgICAg
ICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RF
U19MQU5HKCJrbiIsICAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4
MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJrbyIsICAgICAgICAgICAgIlx4MjAxYyIsICJceDIw
MWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJrc2IiLCAgICAgICAg
ICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19M
QU5HKCJrc2YiLCAgICAgICAgICAgIlx4MDBhYiIsICJceDAwYmIiLCAiXHgyMDE4IiwgIlx4MjAx
OSIpOwotICAgIFFVT1RFU19MQU5HKCJsYWciLCAgICAgICAgICAgIlx4MjAxZCIsICJceDIwMWQi
LCAiXHgyMDE5IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJsZyIsICAgICAgICAgICAg
Ilx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5H
KCJsbiIsICAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIp
OwotICAgIFFVT1RFU19MQU5HKCJsbyIsICAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAi
XHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJsdCIsICAgICAgICAgICAgIlx4
MjAxZSIsICJceDIwMWMiLCAiXHgyMDFlIiwgIlx4MjAxYyIpOwotICAgIFFVT1RFU19MQU5HKCJs
dSIsICAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwot
ICAgIFFVT1RFU19MQU5HKCJsdW8iLCAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgy
MDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJsdXkiLCAgICAgICAgICAgIlx4MjAx
ZSIsICJceDIwMWMiLCAiXHgyMDFhIiwgIlx4MjAxOCIpOwotICAgIFFVT1RFU19MQU5HKCJsdiIs
ICAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAg
IFFVT1RFU19MQU5HKCJtYXMiLCAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4
IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJtZXIiLCAgICAgICAgICAgIlx4MjAxYyIs
ICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJtZmUiLCAg
ICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFV
T1RFU19MQU5HKCJtZyIsICAgICAgICAgICAgIlx4MDBhYiIsICJceDAwYmIiLCAiXHgyMDFjIiwg
Ilx4MjAxZCIpOwotICAgIFFVT1RFU19MQU5HKCJtZ28iLCAgICAgICAgICAgIlx4MjAxYyIsICJc
eDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJtayIsICAgICAg
ICAgICAgIlx4MjAxZSIsICJceDIwMWMiLCAiXHgyMDFhIiwgIlx4MjAxOCIpOwotICAgIFFVT1RF
U19MQU5HKCJtbCIsICAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4
MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJtciIsICAgICAgICAgICAgIlx4MjAxYyIsICJceDIw
MWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJtcyIsICAgICAgICAg
ICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19M
QU5HKCJtdWEiLCAgICAgICAgICAgIlx4MDBhYiIsICJceDAwYmIiLCAiXHgyMDFjIiwgIlx4MjAx
ZCIpOwotICAgIFFVT1RFU19MQU5HKCJteSIsICAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQi
LCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJuYXEiLCAgICAgICAgICAg
Ilx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5H
KCJuYiIsICAgICAgICAgICAgIlx4MDBhYiIsICJceDAwYmIiLCAiXHgyMDE4IiwgIlx4MjAxOSIp
OwotICAgIFFVT1RFU19MQU5HKCJuZCIsICAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAi
XHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJubCIsICAgICAgICAgICAgIlx4
MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJu
bWciLCAgICAgICAgICAgIlx4MjAxZSIsICJceDIwMWQiLCAiXHgwMGFiIiwgIlx4MDBiYiIpOwot
ICAgIFFVT1RFU19MQU5HKCJubiIsICAgICAgICAgICAgIlx4MDBhYiIsICJceDAwYmIiLCAiXHgy
MDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJubmgiLCAgICAgICAgICAgIlx4MDBh
YiIsICJceDAwYmIiLCAiXHgyMDFjIiwgIlx4MjAxZCIpOwotICAgIFFVT1RFU19MQU5HKCJudXMi
LCAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAg
IFFVT1RFU19MQU5HKCJueW4iLCAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4
IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJwbCIsICAgICAgICAgICAgIlx4MjAxZSIs
ICJceDIwMWQiLCAiXHgwMGFiIiwgIlx4MDBiYiIpOwotICAgIFFVT1RFU19MQU5HKCJwdCIsICAg
ICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFV
T1RFU19MQU5HKCJwdC1QVCIsICAgICAgICAgIlx4MDBhYiIsICJceDAwYmIiLCAiXHgyMDFjIiwg
Ilx4MjAxZCIpOwotICAgIFFVT1RFU19MQU5HKCJybiIsICAgICAgICAgICAgIlx4MjAxZCIsICJc
eDIwMWQiLCAiXHgyMDE5IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJybyIsICAgICAg
ICAgICAgIlx4MjAxZSIsICJceDIwMWQiLCAiXHgwMGFiIiwgIlx4MDBiYiIpOwotICAgIFFVT1RF
U19MQU5HKCJyb2YiLCAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4
MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJydSIsICAgICAgICAgICAgIlx4MDBhYiIsICJceDAw
YmIiLCAiXHgyMDFlIiwgIlx4MjAxYyIpOwotICAgIFFVT1RFU19MQU5HKCJydyIsICAgICAgICAg
ICAgIlx4MDBhYiIsICJceDAwYmIiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19M
QU5HKCJyd2siLCAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAx
OSIpOwotICAgIFFVT1RFU19MQU5HKCJzYXEiLCAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQi
LCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJzYnAiLCAgICAgICAgICAg
Ilx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5H
KCJzZWgiLCAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIp
OwotICAgIFFVT1RFU19MQU5HKCJzZXMiLCAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAi
XHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJzZyIsICAgICAgICAgICAgIlx4
MDBhYiIsICJceDAwYmIiLCAiXHgyMDFjIiwgIlx4MjAxZCIpOwotICAgIFFVT1RFU19MQU5HKCJz
aGkiLCAgICAgICAgICAgIlx4MDBhYiIsICJceDAwYmIiLCAiXHgyMDFlIiwgIlx4MjAxZCIpOwot
ICAgIFFVT1RFU19MQU5HKCJzaGktVGZuZyIsICAgICAgIlx4MDBhYiIsICJceDAwYmIiLCAiXHgy
MDFlIiwgIlx4MjAxZCIpOwotICAgIFFVT1RFU19MQU5HKCJzaSIsICAgICAgICAgICAgIlx4MjAx
YyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJzayIs
ICAgICAgICAgICAgIlx4MjAxZSIsICJceDIwMWMiLCAiXHgyMDFhIiwgIlx4MjAxOCIpOwotICAg
IFFVT1RFU19MQU5HKCJzbCIsICAgICAgICAgICAgIlx4MjAxZSIsICJceDIwMWMiLCAiXHgyMDFh
IiwgIlx4MjAxOCIpOwotICAgIFFVT1RFU19MQU5HKCJzbiIsICAgICAgICAgICAgIlx4MjAxZCIs
ICJceDIwMWQiLCAiXHgyMDE5IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJzbyIsICAg
ICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFV
T1RFU19MQU5HKCJzcSIsICAgICAgICAgICAgIlx4MjAxZSIsICJceDIwMWMiLCAiXHgyMDFhIiwg
Ilx4MjAxOCIpOwotICAgIFFVT1RFU19MQU5HKCJzciIsICAgICAgICAgICAgIlx4MjAxZSIsICJc
eDIwMWMiLCAiXHgyMDFhIiwgIlx4MjAxOCIpOwotICAgIFFVT1RFU19MQU5HKCJzci1MYXRuIiwg
ICAgICAgIlx4MjAxZSIsICJceDIwMWMiLCAiXHgyMDFhIiwgIlx4MjAxOCIpOwotICAgIFFVT1RF
U19MQU5HKCJzdiIsICAgICAgICAgICAgIlx4MjAxZCIsICJceDIwMWQiLCAiXHgyMDE5IiwgIlx4
MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJzdyIsICAgICAgICAgICAgIlx4MjAxYyIsICJceDIw
MWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJzd2MiLCAgICAgICAg
ICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19M
QU5HKCJ0YSIsICAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAx
OSIpOwotICAgIFFVT1RFU19MQU5HKCJ0ZSIsICAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQi
LCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJ0ZW8iLCAgICAgICAgICAg
Ilx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5H
KCJ0aCIsICAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIp
OwotICAgIFFVT1RFU19MQU5HKCJ0aS1FUiIsICAgICAgICAgIlx4MjAxOCIsICJceDIwMTkiLCAi
XHgyMDFjIiwgIlx4MjAxZCIpOwotICAgIFFVT1RFU19MQU5HKCJ0byIsICAgICAgICAgICAgIlx4
MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJ0
ciIsICAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwot
ICAgIFFVT1RFU19MQU5HKCJ0d3EiLCAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgy
MDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJ0em0iLCAgICAgICAgICAgIlx4MjAx
YyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJ1ayIs
ICAgICAgICAgICAgIlx4MDBhYiIsICJceDAwYmIiLCAiXHgyMDFlIiwgIlx4MjAxYyIpOwotICAg
IFFVT1RFU19MQU5HKCJ1ciIsICAgICAgICAgICAgIlx4MjAxZCIsICJceDIwMWMiLCAiXHgyMDE5
IiwgIlx4MjAxOCIpOwotICAgIFFVT1RFU19MQU5HKCJ2YWkiLCAgICAgICAgICAgIlx4MjAxYyIs
ICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJ2YWktTGF0
biIsICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFV
T1RFU19MQU5HKCJ2aSIsICAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4Iiwg
Ilx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJ2dW4iLCAgICAgICAgICAgIlx4MjAxYyIsICJc
eDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJ4aCIsICAgICAg
ICAgICAgIlx4MjAxOCIsICJceDIwMTkiLCAiXHgyMDFjIiwgIlx4MjAxZCIpOwotICAgIFFVT1RF
U19MQU5HKCJ4b2ciLCAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4
MjAxOSIpOwotICAgIFFVT1RFU19MQU5HKCJ5YXYiLCAgICAgICAgICAgIlx4MDBhYiIsICJceDAw
YmIiLCAiXHgwMGFiIiwgIlx4MDBiYiIpOwotICAgIFFVT1RFU19MQU5HKCJ5byIsICAgICAgICAg
ICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgIFFVT1RFU19M
QU5HKCJ6aCIsICAgICAgICAgICAgIlx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAx
OSIpOwotICAgIFFVT1RFU19MQU5HKCJ6aC1IYW50IiwgICAgICAgIlx4MzAwYyIsICJceDMwMGQi
LCAiXHgzMDBlIiwgIlx4MzAwZiIpOwotICAgIFFVT1RFU19MQU5HKCJ6dSIsICAgICAgICAgICAg
Ilx4MjAxYyIsICJceDIwMWQiLCAiXHgyMDE4IiwgIlx4MjAxOSIpOwotICAgICN1bmRlZiBRVU9U
RVNfTEFORwotCi0gICAgcmV0dXJuIHN0YXRpY1F1b3Rlc01hcDsKKyAgICBzdGF0aWMgY29uc3Qg
UXVvdGVzRm9yTGFuZ3VhZ2UgcXVvdGVUYWJsZVtdID0geworICAgICAgICB7ICJhZiIsICAgICAg
ICAgMHgyMDFjLCAweDIwMWQsIDB4MjAxOCwgMHgyMDE5IH0sCisgICAgICAgIHsgImFncSIsICAg
ICAgICAweDIwMWUsIDB4MjAxZCwgMHgyMDFhLCAweDIwMTkgfSwKKyAgICAgICAgeyAiYWsiLCAg
ICAgICAgIDB4MjAxYywgMHgyMDFkLCAweDIwMTgsIDB4MjAxOSB9LAorICAgICAgICB7ICJhbSIs
ICAgICAgICAgMHgwMGFiLCAweDAwYmIsIDB4MjAzOSwgMHgyMDNhIH0sCisgICAgICAgIHsgImFy
IiwgICAgICAgICAweDIwMWQsIDB4MjAxYywgMHgyMDE5LCAweDIwMTggfSwKKyAgICAgICAgeyAi
YXNhIiwgICAgICAgIDB4MjAxYywgMHgyMDFkLCAweDIwMTgsIDB4MjAxOSB9LAorICAgICAgICB7
ICJhei1jeXJsIiwgICAgMHgwMGFiLCAweDAwYmIsIDB4MjAzOSwgMHgyMDNhIH0sCisgICAgICAg
IHsgImJhcyIsICAgICAgICAweDAwYWIsIDB4MDBiYiwgMHgyMDFlLCAweDIwMWMgfSwKKyAgICAg
ICAgeyAiYmVtIiwgICAgICAgIDB4MjAxYywgMHgyMDFkLCAweDIwMTgsIDB4MjAxOSB9LAorICAg
ICAgICB7ICJiZXoiLCAgICAgICAgMHgyMDFjLCAweDIwMWQsIDB4MjAxOCwgMHgyMDE5IH0sCisg
ICAgICAgIHsgImJnIiwgICAgICAgICAweDIwMWUsIDB4MjAxYywgMHgyMDFhLCAweDIwMTggfSwK
KyAgICAgICAgeyAiYm0iLCAgICAgICAgIDB4MDBhYiwgMHgwMGJiLCAweDIwMWMsIDB4MjAxZCB9
LAorICAgICAgICB7ICJibiIsICAgICAgICAgMHgyMDFjLCAweDIwMWQsIDB4MjAxOCwgMHgyMDE5
IH0sCisgICAgICAgIHsgImJyIiwgICAgICAgICAweDAwYWIsIDB4MDBiYiwgMHgyMDM5LCAweDIw
M2EgfSwKKyAgICAgICAgeyAiYnJ4IiwgICAgICAgIDB4MjAxYywgMHgyMDFkLCAweDIwMTgsIDB4
MjAxOSB9LAorICAgICAgICB7ICJicy1jeXJsIiwgICAgMHgyMDFlLCAweDIwMWMsIDB4MjAxYSwg
MHgyMDE4IH0sCisgICAgICAgIHsgImNhIiwgICAgICAgICAweDIwMWMsIDB4MjAxZCwgMHgwMGFi
LCAweDAwYmIgfSwKKyAgICAgICAgeyAiY2dnIiwgICAgICAgIDB4MjAxYywgMHgyMDFkLCAweDIw
MTgsIDB4MjAxOSB9LAorICAgICAgICB7ICJjaHIiLCAgICAgICAgMHgyMDFjLCAweDIwMWQsIDB4
MjAxOCwgMHgyMDE5IH0sCisgICAgICAgIHsgImNzIiwgICAgICAgICAweDIwMWUsIDB4MjAxYywg
MHgyMDFhLCAweDIwMTggfSwKKyAgICAgICAgeyAiZGEiLCAgICAgICAgIDB4MjAxYywgMHgyMDFk
LCAweDIwMTgsIDB4MjAxOSB9LAorICAgICAgICB7ICJkYXYiLCAgICAgICAgMHgyMDFjLCAweDIw
MWQsIDB4MjAxOCwgMHgyMDE5IH0sCisgICAgICAgIHsgImRlIiwgICAgICAgICAweDIwMWUsIDB4
MjAxYywgMHgyMDFhLCAweDIwMTggfSwKKyAgICAgICAgeyAiZGUtY2giLCAgICAgIDB4MDBhYiwg
MHgwMGJiLCAweDIwMzksIDB4MjAzYSB9LAorICAgICAgICB7ICJkamUiLCAgICAgICAgMHgyMDFj
LCAweDIwMWQsIDB4MjAxOCwgMHgyMDE5IH0sCisgICAgICAgIHsgImR1YSIsICAgICAgICAweDAw
YWIsIDB4MDBiYiwgMHgyMDE4LCAweDIwMTkgfSwKKyAgICAgICAgeyAiZHlvIiwgICAgICAgIDB4
MDBhYiwgMHgwMGJiLCAweDIwMWMsIDB4MjAxZCB9LAorICAgICAgICB7ICJkeiIsICAgICAgICAg
MHgyMDFjLCAweDIwMWQsIDB4MjAxOCwgMHgyMDE5IH0sCisgICAgICAgIHsgImVidSIsICAgICAg
ICAweDIwMWMsIDB4MjAxZCwgMHgyMDE4LCAweDIwMTkgfSwKKyAgICAgICAgeyAiZWUiLCAgICAg
ICAgIDB4MjAxYywgMHgyMDFkLCAweDIwMTgsIDB4MjAxOSB9LAorICAgICAgICB7ICJlbCIsICAg
ICAgICAgMHgwMGFiLCAweDAwYmIsIDB4MjAxYywgMHgyMDFkIH0sCisgICAgICAgIHsgImVuIiwg
ICAgICAgICAweDIwMWMsIDB4MjAxZCwgMHgyMDE4LCAweDIwMTkgfSwKKyAgICAgICAgeyAiZW4t
Z2IiLCAgICAgIDB4MjAxYywgMHgyMDFkLCAweDIwMTgsIDB4MjAxOSB9LAorICAgICAgICB7ICJl
cyIsICAgICAgICAgMHgyMDFjLCAweDIwMWQsIDB4MDBhYiwgMHgwMGJiIH0sCisgICAgICAgIHsg
ImV0IiwgICAgICAgICAweDIwMWUsIDB4MjAxYywgMHgyMDFhLCAweDIwMTggfSwKKyAgICAgICAg
eyAiZXUiLCAgICAgICAgIDB4MjAxYywgMHgyMDFkLCAweDAwYWIsIDB4MDBiYiB9LAorICAgICAg
ICB7ICJld28iLCAgICAgICAgMHgwMGFiLCAweDAwYmIsIDB4MjAxYywgMHgyMDFkIH0sCisgICAg
ICAgIHsgImZhIiwgICAgICAgICAweDAwYWIsIDB4MDBiYiwgMHgyMDM5LCAweDIwM2EgfSwKKyAg
ICAgICAgeyAiZmYiLCAgICAgICAgIDB4MjAxZSwgMHgyMDFkLCAweDIwMWEsIDB4MjAxOSB9LAor
ICAgICAgICB7ICJmaSIsICAgICAgICAgMHgyMDFkLCAweDIwMWQsIDB4MjAxOSwgMHgyMDE5IH0s
CisgICAgICAgIHsgImZyIiwgICAgICAgICAweDAwYWIsIDB4MDBiYiwgMHgwMGFiLCAweDAwYmIg
fSwKKyAgICAgICAgeyAiZnItY2EiLCAgICAgIDB4MDBhYiwgMHgwMGJiLCAweDIwMzksIDB4MjAz
YSB9LAorICAgICAgICB7ICJmci1jaCIsICAgICAgMHgwMGFiLCAweDAwYmIsIDB4MjAzOSwgMHgy
MDNhIH0sCisgICAgICAgIHsgImdzdyIsICAgICAgICAweDAwYWIsIDB4MDBiYiwgMHgyMDM5LCAw
eDIwM2EgfSwKKyAgICAgICAgeyAiZ3UiLCAgICAgICAgIDB4MjAxYywgMHgyMDFkLCAweDIwMTgs
IDB4MjAxOSB9LAorICAgICAgICB7ICJndXoiLCAgICAgICAgMHgyMDFjLCAweDIwMWQsIDB4MjAx
OCwgMHgyMDE5IH0sCisgICAgICAgIHsgImhhIiwgICAgICAgICAweDIwMWMsIDB4MjAxZCwgMHgy
MDE4LCAweDIwMTkgfSwKKyAgICAgICAgeyAiaGUiLCAgICAgICAgIDB4MDAyMiwgMHgwMDIyLCAw
eDAwMjcsIDB4MDAyNyB9LAorICAgICAgICB7ICJoaSIsICAgICAgICAgMHgyMDFjLCAweDIwMWQs
IDB4MjAxOCwgMHgyMDE5IH0sCisgICAgICAgIHsgImhyIiwgICAgICAgICAweDIwMWUsIDB4MjAx
YywgMHgyMDFhLCAweDIwMTggfSwKKyAgICAgICAgeyAiaHUiLCAgICAgICAgIDB4MjAxZSwgMHgy
MDFkLCAweDAwYmIsIDB4MDBhYiB9LAorICAgICAgICB7ICJpZCIsICAgICAgICAgMHgyMDFjLCAw
eDIwMWQsIDB4MjAxOCwgMHgyMDE5IH0sCisgICAgICAgIHsgImlnIiwgICAgICAgICAweDIwMWMs
IDB4MjAxZCwgMHgyMDE4LCAweDIwMTkgfSwKKyAgICAgICAgeyAiaXQiLCAgICAgICAgIDB4MDBh
YiwgMHgwMGJiLCAweDIwMWMsIDB4MjAxZCB9LAorICAgICAgICB7ICJqYSIsICAgICAgICAgMHgz
MDBjLCAweDMwMGQsIDB4MzAwZSwgMHgzMDBmIH0sCisgICAgICAgIHsgImpnbyIsICAgICAgICAw
eDAwYWIsIDB4MDBiYiwgMHgyMDM5LCAweDIwM2EgfSwKKyAgICAgICAgeyAiam1jIiwgICAgICAg
IDB4MjAxYywgMHgyMDFkLCAweDIwMTgsIDB4MjAxOSB9LAorICAgICAgICB7ICJrYWIiLCAgICAg
ICAgMHgwMGFiLCAweDAwYmIsIDB4MjAxYywgMHgyMDFkIH0sCisgICAgICAgIHsgImthbSIsICAg
ICAgICAweDIwMWMsIDB4MjAxZCwgMHgyMDE4LCAweDIwMTkgfSwKKyAgICAgICAgeyAia2RlIiwg
ICAgICAgIDB4MjAxYywgMHgyMDFkLCAweDIwMTgsIDB4MjAxOSB9LAorICAgICAgICB7ICJrZWEi
LCAgICAgICAgMHgyMDFjLCAweDIwMWQsIDB4MjAxOCwgMHgyMDE5IH0sCisgICAgICAgIHsgImto
cSIsICAgICAgICAweDIwMWMsIDB4MjAxZCwgMHgyMDE4LCAweDIwMTkgfSwKKyAgICAgICAgeyAi
a2kiLCAgICAgICAgIDB4MjAxYywgMHgyMDFkLCAweDIwMTgsIDB4MjAxOSB9LAorICAgICAgICB7
ICJra2oiLCAgICAgICAgMHgwMGFiLCAweDAwYmIsIDB4MjAzOSwgMHgyMDNhIH0sCisgICAgICAg
IHsgImtsbiIsICAgICAgICAweDIwMWMsIDB4MjAxZCwgMHgyMDE4LCAweDIwMTkgfSwKKyAgICAg
ICAgeyAia20iLCAgICAgICAgIDB4MjAxYywgMHgyMDFkLCAweDIwMTgsIDB4MjAxOSB9LAorICAg
ICAgICB7ICJrbiIsICAgICAgICAgMHgyMDFjLCAweDIwMWQsIDB4MjAxOCwgMHgyMDE5IH0sCisg
ICAgICAgIHsgImtvIiwgICAgICAgICAweDIwMWMsIDB4MjAxZCwgMHgyMDE4LCAweDIwMTkgfSwK
KyAgICAgICAgeyAia3NiIiwgICAgICAgIDB4MjAxYywgMHgyMDFkLCAweDIwMTgsIDB4MjAxOSB9
LAorICAgICAgICB7ICJrc2YiLCAgICAgICAgMHgwMGFiLCAweDAwYmIsIDB4MjAxOCwgMHgyMDE5
IH0sCisgICAgICAgIHsgImxhZyIsICAgICAgICAweDIwMWQsIDB4MjAxZCwgMHgyMDE5LCAweDIw
MTkgfSwKKyAgICAgICAgeyAibGciLCAgICAgICAgIDB4MjAxYywgMHgyMDFkLCAweDIwMTgsIDB4
MjAxOSB9LAorICAgICAgICB7ICJsbiIsICAgICAgICAgMHgyMDFjLCAweDIwMWQsIDB4MjAxOCwg
MHgyMDE5IH0sCisgICAgICAgIHsgImxvIiwgICAgICAgICAweDIwMWMsIDB4MjAxZCwgMHgyMDE4
LCAweDIwMTkgfSwKKyAgICAgICAgeyAibHQiLCAgICAgICAgIDB4MjAxZSwgMHgyMDFjLCAweDIw
MWUsIDB4MjAxYyB9LAorICAgICAgICB7ICJsdSIsICAgICAgICAgMHgyMDFjLCAweDIwMWQsIDB4
MjAxOCwgMHgyMDE5IH0sCisgICAgICAgIHsgImx1byIsICAgICAgICAweDIwMWMsIDB4MjAxZCwg
MHgyMDE4LCAweDIwMTkgfSwKKyAgICAgICAgeyAibHV5IiwgICAgICAgIDB4MjAxZSwgMHgyMDFj
LCAweDIwMWEsIDB4MjAxOCB9LAorICAgICAgICB7ICJsdiIsICAgICAgICAgMHgyMDFjLCAweDIw
MWQsIDB4MjAxOCwgMHgyMDE5IH0sCisgICAgICAgIHsgIm1hcyIsICAgICAgICAweDIwMWMsIDB4
MjAxZCwgMHgyMDE4LCAweDIwMTkgfSwKKyAgICAgICAgeyAibWVyIiwgICAgICAgIDB4MjAxYywg
MHgyMDFkLCAweDIwMTgsIDB4MjAxOSB9LAorICAgICAgICB7ICJtZmUiLCAgICAgICAgMHgyMDFj
LCAweDIwMWQsIDB4MjAxOCwgMHgyMDE5IH0sCisgICAgICAgIHsgIm1nIiwgICAgICAgICAweDAw
YWIsIDB4MDBiYiwgMHgyMDFjLCAweDIwMWQgfSwKKyAgICAgICAgeyAibWdvIiwgICAgICAgIDB4
MjAxYywgMHgyMDFkLCAweDIwMTgsIDB4MjAxOSB9LAorICAgICAgICB7ICJtayIsICAgICAgICAg
MHgyMDFlLCAweDIwMWMsIDB4MjAxYSwgMHgyMDE4IH0sCisgICAgICAgIHsgIm1sIiwgICAgICAg
ICAweDIwMWMsIDB4MjAxZCwgMHgyMDE4LCAweDIwMTkgfSwKKyAgICAgICAgeyAibXIiLCAgICAg
ICAgIDB4MjAxYywgMHgyMDFkLCAweDIwMTgsIDB4MjAxOSB9LAorICAgICAgICB7ICJtcyIsICAg
ICAgICAgMHgyMDFjLCAweDIwMWQsIDB4MjAxOCwgMHgyMDE5IH0sCisgICAgICAgIHsgIm11YSIs
ICAgICAgICAweDAwYWIsIDB4MDBiYiwgMHgyMDFjLCAweDIwMWQgfSwKKyAgICAgICAgeyAibXki
LCAgICAgICAgIDB4MjAxYywgMHgyMDFkLCAweDIwMTgsIDB4MjAxOSB9LAorICAgICAgICB7ICJu
YXEiLCAgICAgICAgMHgyMDFjLCAweDIwMWQsIDB4MjAxOCwgMHgyMDE5IH0sCisgICAgICAgIHsg
Im5iIiwgICAgICAgICAweDAwYWIsIDB4MDBiYiwgMHgyMDE4LCAweDIwMTkgfSwKKyAgICAgICAg
eyAibmQiLCAgICAgICAgIDB4MjAxYywgMHgyMDFkLCAweDIwMTgsIDB4MjAxOSB9LAorICAgICAg
ICB7ICJubCIsICAgICAgICAgMHgyMDFjLCAweDIwMWQsIDB4MjAxOCwgMHgyMDE5IH0sCisgICAg
ICAgIHsgIm5tZyIsICAgICAgICAweDIwMWUsIDB4MjAxZCwgMHgwMGFiLCAweDAwYmIgfSwKKyAg
ICAgICAgeyAibm4iLCAgICAgICAgIDB4MDBhYiwgMHgwMGJiLCAweDIwMTgsIDB4MjAxOSB9LAor
ICAgICAgICB7ICJubmgiLCAgICAgICAgMHgwMGFiLCAweDAwYmIsIDB4MjAxYywgMHgyMDFkIH0s
CisgICAgICAgIHsgIm51cyIsICAgICAgICAweDIwMWMsIDB4MjAxZCwgMHgyMDE4LCAweDIwMTkg
fSwKKyAgICAgICAgeyAibnluIiwgICAgICAgIDB4MjAxYywgMHgyMDFkLCAweDIwMTgsIDB4MjAx
OSB9LAorICAgICAgICB7ICJwbCIsICAgICAgICAgMHgyMDFlLCAweDIwMWQsIDB4MDBhYiwgMHgw
MGJiIH0sCisgICAgICAgIHsgInB0IiwgICAgICAgICAweDIwMWMsIDB4MjAxZCwgMHgyMDE4LCAw
eDIwMTkgfSwKKyAgICAgICAgeyAicHQtcHQiLCAgICAgIDB4MDBhYiwgMHgwMGJiLCAweDIwMWMs
IDB4MjAxZCB9LAorICAgICAgICB7ICJybiIsICAgICAgICAgMHgyMDFkLCAweDIwMWQsIDB4MjAx
OSwgMHgyMDE5IH0sCisgICAgICAgIHsgInJvIiwgICAgICAgICAweDIwMWUsIDB4MjAxZCwgMHgw
MGFiLCAweDAwYmIgfSwKKyAgICAgICAgeyAicm9mIiwgICAgICAgIDB4MjAxYywgMHgyMDFkLCAw
eDIwMTgsIDB4MjAxOSB9LAorICAgICAgICB7ICJydSIsICAgICAgICAgMHgwMGFiLCAweDAwYmIs
IDB4MjAxZSwgMHgyMDFjIH0sCisgICAgICAgIHsgInJ3IiwgICAgICAgICAweDAwYWIsIDB4MDBi
YiwgMHgyMDE4LCAweDIwMTkgfSwKKyAgICAgICAgeyAicndrIiwgICAgICAgIDB4MjAxYywgMHgy
MDFkLCAweDIwMTgsIDB4MjAxOSB9LAorICAgICAgICB7ICJzYXEiLCAgICAgICAgMHgyMDFjLCAw
eDIwMWQsIDB4MjAxOCwgMHgyMDE5IH0sCisgICAgICAgIHsgInNicCIsICAgICAgICAweDIwMWMs
IDB4MjAxZCwgMHgyMDE4LCAweDIwMTkgfSwKKyAgICAgICAgeyAic2VoIiwgICAgICAgIDB4MjAx
YywgMHgyMDFkLCAweDIwMTgsIDB4MjAxOSB9LAorICAgICAgICB7ICJzZXMiLCAgICAgICAgMHgy
MDFjLCAweDIwMWQsIDB4MjAxOCwgMHgyMDE5IH0sCisgICAgICAgIHsgInNnIiwgICAgICAgICAw
eDAwYWIsIDB4MDBiYiwgMHgyMDFjLCAweDIwMWQgfSwKKyAgICAgICAgeyAic2hpIiwgICAgICAg
IDB4MDBhYiwgMHgwMGJiLCAweDIwMWUsIDB4MjAxZCB9LAorICAgICAgICB7ICJzaGktdGZuZyIs
ICAgMHgwMGFiLCAweDAwYmIsIDB4MjAxZSwgMHgyMDFkIH0sCisgICAgICAgIHsgInNpIiwgICAg
ICAgICAweDIwMWMsIDB4MjAxZCwgMHgyMDE4LCAweDIwMTkgfSwKKyAgICAgICAgeyAic2siLCAg
ICAgICAgIDB4MjAxZSwgMHgyMDFjLCAweDIwMWEsIDB4MjAxOCB9LAorICAgICAgICB7ICJzbCIs
ICAgICAgICAgMHgyMDFlLCAweDIwMWMsIDB4MjAxYSwgMHgyMDE4IH0sCisgICAgICAgIHsgInNu
IiwgICAgICAgICAweDIwMWQsIDB4MjAxZCwgMHgyMDE5LCAweDIwMTkgfSwKKyAgICAgICAgeyAi
c28iLCAgICAgICAgIDB4MjAxYywgMHgyMDFkLCAweDIwMTgsIDB4MjAxOSB9LAorICAgICAgICB7
ICJzcSIsICAgICAgICAgMHgyMDFlLCAweDIwMWMsIDB4MjAxYSwgMHgyMDE4IH0sCisgICAgICAg
IHsgInNyIiwgICAgICAgICAweDIwMWUsIDB4MjAxYywgMHgyMDFhLCAweDIwMTggfSwKKyAgICAg
ICAgeyAic3ItbGF0biIsICAgIDB4MjAxZSwgMHgyMDFjLCAweDIwMWEsIDB4MjAxOCB9LAorICAg
ICAgICB7ICJzdiIsICAgICAgICAgMHgyMDFkLCAweDIwMWQsIDB4MjAxOSwgMHgyMDE5IH0sCisg
ICAgICAgIHsgInN3IiwgICAgICAgICAweDIwMWMsIDB4MjAxZCwgMHgyMDE4LCAweDIwMTkgfSwK
KyAgICAgICAgeyAic3djIiwgICAgICAgIDB4MjAxYywgMHgyMDFkLCAweDIwMTgsIDB4MjAxOSB9
LAorICAgICAgICB7ICJ0YSIsICAgICAgICAgMHgyMDFjLCAweDIwMWQsIDB4MjAxOCwgMHgyMDE5
IH0sCisgICAgICAgIHsgInRlIiwgICAgICAgICAweDIwMWMsIDB4MjAxZCwgMHgyMDE4LCAweDIw
MTkgfSwKKyAgICAgICAgeyAidGVvIiwgICAgICAgIDB4MjAxYywgMHgyMDFkLCAweDIwMTgsIDB4
MjAxOSB9LAorICAgICAgICB7ICJ0aCIsICAgICAgICAgMHgyMDFjLCAweDIwMWQsIDB4MjAxOCwg
MHgyMDE5IH0sCisgICAgICAgIHsgInRpLWVyIiwgICAgICAweDIwMTgsIDB4MjAxOSwgMHgyMDFj
LCAweDIwMWQgfSwKKyAgICAgICAgeyAidG8iLCAgICAgICAgIDB4MjAxYywgMHgyMDFkLCAweDIw
MTgsIDB4MjAxOSB9LAorICAgICAgICB7ICJ0ciIsICAgICAgICAgMHgyMDFjLCAweDIwMWQsIDB4
MjAxOCwgMHgyMDE5IH0sCisgICAgICAgIHsgInR3cSIsICAgICAgICAweDIwMWMsIDB4MjAxZCwg
MHgyMDE4LCAweDIwMTkgfSwKKyAgICAgICAgeyAidHptIiwgICAgICAgIDB4MjAxYywgMHgyMDFk
LCAweDIwMTgsIDB4MjAxOSB9LAorICAgICAgICB7ICJ1ayIsICAgICAgICAgMHgwMGFiLCAweDAw
YmIsIDB4MjAxZSwgMHgyMDFjIH0sCisgICAgICAgIHsgInVyIiwgICAgICAgICAweDIwMWQsIDB4
MjAxYywgMHgyMDE5LCAweDIwMTggfSwKKyAgICAgICAgeyAidmFpIiwgICAgICAgIDB4MjAxYywg
MHgyMDFkLCAweDIwMTgsIDB4MjAxOSB9LAorICAgICAgICB7ICJ2YWktbGF0biIsICAgMHgyMDFj
LCAweDIwMWQsIDB4MjAxOCwgMHgyMDE5IH0sCisgICAgICAgIHsgInZpIiwgICAgICAgICAweDIw
MWMsIDB4MjAxZCwgMHgyMDE4LCAweDIwMTkgfSwKKyAgICAgICAgeyAidnVuIiwgICAgICAgIDB4
MjAxYywgMHgyMDFkLCAweDIwMTgsIDB4MjAxOSB9LAorICAgICAgICB7ICJ4aCIsICAgICAgICAg
MHgyMDE4LCAweDIwMTksIDB4MjAxYywgMHgyMDFkIH0sCisgICAgICAgIHsgInhvZyIsICAgICAg
ICAweDIwMWMsIDB4MjAxZCwgMHgyMDE4LCAweDIwMTkgfSwKKyAgICAgICAgeyAieWF2IiwgICAg
ICAgIDB4MDBhYiwgMHgwMGJiLCAweDAwYWIsIDB4MDBiYiB9LAorICAgICAgICB7ICJ5byIsICAg
ICAgICAgMHgyMDFjLCAweDIwMWQsIDB4MjAxOCwgMHgyMDE5IH0sCisgICAgICAgIHsgInpoIiwg
ICAgICAgICAweDIwMWMsIDB4MjAxZCwgMHgyMDE4LCAweDIwMTkgfSwKKyAgICAgICAgeyAiemgt
aGFudCIsICAgIDB4MzAwYywgMHgzMDBkLCAweDMwMGUsIDB4MzAwZiB9LAorICAgICAgICB7ICJ6
dSIsICAgICAgICAgMHgyMDFjLCAweDIwMWQsIDB4MjAxOCwgMHgyMDE5IH0sCisgICAgfTsKKwor
ICAgIGNvbnN0IHVuc2lnbmVkIG1heExhbmd1YWdlTGVuZ3RoID0gODsKKworI2lmICFBU1NFUlRf
RElTQUJMRUQKKyAgICAvLyBPbmUgdGltZSBjaGVjayB0aGF0IHRoZSB0YWJsZSBtZWV0cyB0aGUg
Y29uc3RyYWludHMgdGhhdCB0aGUgY29kZSBiZWxvdyByZWxpZXMgb24uCisKKyAgICBzdGF0aWMg
Ym9vbCBkaWRPbmVUaW1lQ2hlY2sgPSBmYWxzZTsKKyAgICBpZiAoIWRpZE9uZVRpbWVDaGVjaykg
eworICAgICAgICBkaWRPbmVUaW1lQ2hlY2sgPSB0cnVlOworCisgICAgICAgIGNoZWNrTnVtYmVy
T2ZEaXN0aW5jdFF1b3RlQ2hhcmFjdGVycyhxdW90YXRpb25NYXJrKTsKKyAgICAgICAgY2hlY2tO
dW1iZXJPZkRpc3RpbmN0UXVvdGVDaGFyYWN0ZXJzKGFwb3N0cm9waGUpOworCisgICAgICAgIGZv
ciAodW5zaWduZWQgaSA9IDA7IGkgPCBXVEZfQVJSQVlfTEVOR1RIKHF1b3RlVGFibGUpOyArK2kp
IHsKKyAgICAgICAgICAgIEFTU0VSVChzdHJsZW4ocXVvdGVUYWJsZVtpXS5sYW5ndWFnZSkgPD0g
bWF4TGFuZ3VhZ2VMZW5ndGgpOworCisgICAgICAgICAgICBpZiAoaSkKKyAgICAgICAgICAgICAg
ICBBU1NFUlQoc3RyY21wKHF1b3RlVGFibGVbaSAtIDFdLmxhbmd1YWdlLCBxdW90ZVRhYmxlW2ld
Lmxhbmd1YWdlKSA8IDApOworCisgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGogPSAwOyBVQ2hh
ciBjaGFyYWN0ZXIgPSBxdW90ZVRhYmxlW2ldLmxhbmd1YWdlW2pdOyArK2opCisgICAgICAgICAg
ICAgICAgQVNTRVJUKGlzQVNDSUlMb3dlcihjaGFyYWN0ZXIpIHx8IGNoYXJhY3RlciA9PSAnLScp
OworCisgICAgICAgICAgICBjaGVja051bWJlck9mRGlzdGluY3RRdW90ZUNoYXJhY3RlcnMocXVv
dGVUYWJsZVtpXS5vcGVuMSk7CisgICAgICAgICAgICBjaGVja051bWJlck9mRGlzdGluY3RRdW90
ZUNoYXJhY3RlcnMocXVvdGVUYWJsZVtpXS5jbG9zZTEpOworICAgICAgICAgICAgY2hlY2tOdW1i
ZXJPZkRpc3RpbmN0UXVvdGVDaGFyYWN0ZXJzKHF1b3RlVGFibGVbaV0ub3BlbjIpOworICAgICAg
ICAgICAgY2hlY2tOdW1iZXJPZkRpc3RpbmN0UXVvdGVDaGFyYWN0ZXJzKHF1b3RlVGFibGVbaV0u
Y2xvc2UyKTsKKyAgICAgICAgfQorICAgIH0KKyNlbmRpZgorCisgICAgdW5zaWduZWQgbGVuZ3Ro
ID0gbGFuZ3VhZ2UubGVuZ3RoKCk7CisgICAgaWYgKCFsZW5ndGggfHwgbGVuZ3RoID4gbWF4TGFu
Z3VhZ2VMZW5ndGgpCisgICAgICAgIHJldHVybiAwOworCisgICAgY2hhciBsYW5ndWFnZUtleUJ1
ZmZlclttYXhMYW5ndWFnZUxlbmd0aCArIDFdOworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkg
PCBsZW5ndGg7ICsraSkgeworICAgICAgICBVQ2hhciBjaGFyYWN0ZXIgPSB0b0FTQ0lJTG93ZXIo
bGFuZ3VhZ2VbaV0pOworICAgICAgICBpZiAoIShpc0FTQ0lJTG93ZXIoY2hhcmFjdGVyKSB8fCBj
aGFyYWN0ZXIgPT0gJy0nKSkKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICBsYW5ndWFn
ZUtleUJ1ZmZlcltpXSA9IHN0YXRpY19jYXN0PGNoYXI+KGNoYXJhY3Rlcik7CisgICAgfQorICAg
IGxhbmd1YWdlS2V5QnVmZmVyW2xlbmd0aF0gPSAwOworCisgICAgUXVvdGVzRm9yTGFuZ3VhZ2Ug
bGFuZ3VhZ2VLZXkgPSB7IGxhbmd1YWdlS2V5QnVmZmVyLCAwLCAwLCAwLCAwIH07CisKKyAgICBy
ZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgUXVvdGVzRm9yTGFuZ3VhZ2UqPihic2VhcmNoKCZsYW5n
dWFnZUtleSwKKyAgICAgICAgcXVvdGVUYWJsZSwgV1RGX0FSUkFZX0xFTkdUSChxdW90ZVRhYmxl
KSwgc2l6ZW9mKHF1b3RlVGFibGVbMF0pLCBxdW90ZVRhYmxlTGFuZ3VhZ2VDb21wYXJpc29uRnVu
Y3Rpb24pKTsKIH0KIAotc3RhdGljIGNvbnN0IFF1b3Rlc0RhdGEqIGJhc2ljUXVvdGVzRGF0YSgp
CitzdGF0aWMgU3RyaW5nSW1wbCogc3RyaW5nRm9yUXVvdGVDaGFyYWN0ZXIoVUNoYXIgY2hhcmFj
dGVyKQogewotICAgIC8vIEZJWE1FOiBUaGUgZGVmYXVsdCBxdW90ZXMgc2hvdWxkIGJlIHRoZSBm
YW5jeSBxdW90ZXMgZm9yICJlbiIuCi0gICAgc3RhdGljIGNvbnN0IFF1b3Rlc0RhdGEqIHN0YXRp
Y0Jhc2ljUXVvdGVzID0gUXVvdGVzRGF0YTo6Y3JlYXRlKFUoIlwiIiksIFUoIlwiIiksIFUoIici
KSwgVSgiJyIpKS5sZWFrUmVmKCk7Ci0gICAgcmV0dXJuIHN0YXRpY0Jhc2ljUXVvdGVzOworICAg
IC8vIFVzZSBsaW5lYXIgc2VhcmNoIGJlY2F1c2UgdGhlcmUgaXMgYSBzbWFsbCBudW1iZXIgb2Yg
ZGlzdGluY3QgY2hhcmFjdGVycywgdGh1cyBiaW5hcnkgc2VhcmNoIGlzIHVubmVlZGVkLgorICAg
IEFTU0VSVChjaGFyYWN0ZXIpOworICAgIHN0cnVjdCBTdHJpbmdGb3JDaGFyYWN0ZXIgeworICAg
ICAgICBVQ2hhciBjaGFyYWN0ZXI7CisgICAgICAgIFN0cmluZ0ltcGwqIHN0cmluZzsKKyAgICB9
OworICAgIHN0YXRpYyBTdHJpbmdGb3JDaGFyYWN0ZXIgc3RyaW5nc1ttYXhEaXN0aW5jdFF1b3Rl
Q2hhcmFjdGVyc107CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1heERpc3RpbmN0UXVv
dGVDaGFyYWN0ZXJzOyArK2kpIHsKKyAgICAgICAgaWYgKHN0cmluZ3NbaV0uY2hhcmFjdGVyID09
IGNoYXJhY3RlcikKKyAgICAgICAgICAgIHJldHVybiBzdHJpbmdzW2ldLnN0cmluZzsKKyAgICAg
ICAgaWYgKCFzdHJpbmdzW2ldLmNoYXJhY3RlcikgeworICAgICAgICAgICAgc3RyaW5nc1tpXS5j
aGFyYWN0ZXIgPSBjaGFyYWN0ZXI7CisgICAgICAgICAgICBzdHJpbmdzW2ldLnN0cmluZyA9IFN0
cmluZ0ltcGw6OmNyZWF0ZThCaXRJZlBvc3NpYmxlKCZjaGFyYWN0ZXIsIDEpLmxlYWtSZWYoKTsK
KyAgICAgICAgICAgIHJldHVybiBzdHJpbmdzW2ldLnN0cmluZzsKKyAgICAgICAgfQorICAgIH0K
KyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gU3RyaW5nSW1wbDo6ZW1wdHko
KTsKK30KKworc3RhdGljIGlubGluZSBTdHJpbmdJbXBsKiBxdW90YXRpb25NYXJrU3RyaW5nKCkK
K3sKKyAgICBzdGF0aWMgU3RyaW5nSW1wbCogcXVvdGF0aW9uTWFya1N0cmluZyA9IHN0cmluZ0Zv
clF1b3RlQ2hhcmFjdGVyKHF1b3RhdGlvbk1hcmspOworICAgIHJldHVybiBxdW90YXRpb25NYXJr
U3RyaW5nOworfQorCitzdGF0aWMgaW5saW5lIFN0cmluZ0ltcGwqIGFwb3N0cm9waGVTdHJpbmco
KQoreworICAgIHN0YXRpYyBTdHJpbmdJbXBsKiBhcG9zdHJvcGhlU3RyaW5nID0gc3RyaW5nRm9y
UXVvdGVDaGFyYWN0ZXIoYXBvc3Ryb3BoZSk7CisgICAgcmV0dXJuIGFwb3N0cm9waGVTdHJpbmc7
CiB9CiAKIFBhc3NSZWZQdHI8U3RyaW5nSW1wbD4gUmVuZGVyUXVvdGU6Om9yaWdpbmFsVGV4dCgp
IGNvbnN0CiB7CiAgICAgaWYgKG1fZGVwdGggPCAwKQogICAgICAgICByZXR1cm4gU3RyaW5nSW1w
bDo6ZW1wdHkoKTsKKyAgICBib29sIGlzT3BlblF1b3RlID0gZmFsc2U7CiAgICAgc3dpdGNoICht
X3R5cGUpIHsKICAgICBjYXNlIE5PX09QRU5fUVVPVEU6CiAgICAgY2FzZSBOT19DTE9TRV9RVU9U
RToKICAgICAgICAgcmV0dXJuIFN0cmluZ0ltcGw6OmVtcHR5KCk7Ci0gICAgY2FzZSBDTE9TRV9R
VU9URToKLSAgICAgICAgcmV0dXJuIHF1b3Rlc0RhdGEoKS0+Y2xvc2VRdW90ZShtX2RlcHRoKS5p
bXBsKCk7CiAgICAgY2FzZSBPUEVOX1FVT1RFOgotICAgICAgICByZXR1cm4gcXVvdGVzRGF0YSgp
LT5vcGVuUXVvdGUobV9kZXB0aCkuaW1wbCgpOworICAgICAgICBpc09wZW5RdW90ZSA9IHRydWU7
CisgICAgICAgIC8vIGZhbGwgdGhyb3VnaAorICAgIGNhc2UgQ0xPU0VfUVVPVEU6CisgICAgICAg
IGlmIChjb25zdCBRdW90ZXNEYXRhKiBxdW90ZXMgPSBzdHlsZSgpLT5xdW90ZXMoKSkKKyAgICAg
ICAgICAgIHJldHVybiBpc09wZW5RdW90ZSA/IHF1b3Rlcy0+b3BlblF1b3RlKG1fZGVwdGgpLmlt
cGwoKSA6IHF1b3Rlcy0+Y2xvc2VRdW90ZShtX2RlcHRoKS5pbXBsKCk7CisgICAgICAgIGlmIChj
b25zdCBRdW90ZXNGb3JMYW5ndWFnZSogcXVvdGVzID0gcXVvdGVzRm9yTGFuZ3VhZ2Uoc3R5bGUo
KS0+bG9jYWxlKCkpKQorICAgICAgICAgICAgcmV0dXJuIHN0cmluZ0ZvclF1b3RlQ2hhcmFjdGVy
KGlzT3BlblF1b3RlID8gKG1fZGVwdGggPyBxdW90ZXMtPm9wZW4yIDogcXVvdGVzLT5vcGVuMSkg
OiAobV9kZXB0aCA/IHF1b3Rlcy0+Y2xvc2UyIDogcXVvdGVzLT5jbG9zZTEpKTsKKyAgICAgICAg
Ly8gRklYTUU6IFNob3VsZCB0aGUgZGVmYXVsdCBiZSB0aGUgcXVvdGVzIGZvciAiZW4iIHJhdGhl
ciB0aGFuIHN0cmFpZ2h0IHF1b3Rlcz8KKyAgICAgICAgcmV0dXJuIG1fZGVwdGggPyBhcG9zdHJv
cGhlU3RyaW5nKCkgOiBxdW90YXRpb25NYXJrU3RyaW5nKCk7CiAgICAgfQogICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwogICAgIHJldHVybiBTdHJpbmdJbXBsOjplbXB0eSgpOwogfQogCi1jb25z
dCBRdW90ZXNEYXRhKiBSZW5kZXJRdW90ZTo6cXVvdGVzRGF0YSgpIGNvbnN0Ci17Ci0gICAgaWYg
KFF1b3Rlc0RhdGEqIGN1c3RvbVF1b3RlcyA9IHN0eWxlKCktPnF1b3RlcygpKQotICAgICAgICBy
ZXR1cm4gY3VzdG9tUXVvdGVzOwotCi0gICAgQXRvbWljU3RyaW5nIGxhbmd1YWdlID0gc3R5bGUo
KS0+bG9jYWxlKCk7Ci0gICAgaWYgKGxhbmd1YWdlLmlzTnVsbCgpKQotICAgICAgICByZXR1cm4g
YmFzaWNRdW90ZXNEYXRhKCk7Ci0gICAgY29uc3QgUXVvdGVzRGF0YSogcXVvdGVzID0gcXVvdGVz
RGF0YUxhbmd1YWdlTWFwKCkuZ2V0KGxhbmd1YWdlKTsKLSAgICBpZiAoIXF1b3RlcykKLSAgICAg
ICAgcmV0dXJuIGJhc2ljUXVvdGVzRGF0YSgpOwotICAgIHJldHVybiBxdW90ZXM7Ci19Ci0KIHZv
aWQgUmVuZGVyUXVvdGU6OmF0dGFjaFF1b3RlKCkKIHsKICAgICBBU1NFUlQodmlldygpKTsKLSAg
ICBBU1NFUlQoIW1fYXR0YWNoZWQpOwotICAgIEFTU0VSVCghbV9uZXh0ICYmICFtX3ByZXZpb3Vz
KTsKKyAgICBBU1NFUlQoIW1faXNBdHRhY2hlZCk7CisgICAgQVNTRVJUKCFtX25leHQpOworICAg
IEFTU0VSVCghbV9wcmV2aW91cyk7CiAgICAgQVNTRVJUKGlzUm9vdGVkKCkpOwogCi0gICAgaWYg
KCF2aWV3KCktPnJlbmRlclF1b3RlSGVhZCgpKSB7Ci0gICAgICAgIHZpZXcoKS0+c2V0UmVuZGVy
UXVvdGVIZWFkKHRoaXMpOwotICAgICAgICBtX2F0dGFjaGVkID0gdHJ1ZTsKLSAgICAgICAgdXBk
YXRlRGVwdGgoKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGZvciAoUmVuZGVyT2Jq
ZWN0KiBwcmVkZWNlc3NvciA9IHByZXZpb3VzSW5QcmVPcmRlcigpOyBwcmVkZWNlc3NvcjsgcHJl
ZGVjZXNzb3IgPSBwcmVkZWNlc3Nvci0+cHJldmlvdXNJblByZU9yZGVyKCkpIHsKLSAgICAgICAg
Ly8gU2tpcCB1bmF0dGFjaGVkIHByZWRlY2Vzc29ycyB0byBhdm9pZCBoYXZpbmcgc3RhbGUgbV9w
cmV2aW91cyBwb2ludGVycwotICAgICAgICAvLyBpZiB0aGUgcHJldmlvdXMgbm9kZSBpcyBuZXZl
ciBhdHRhY2hlZCBhbmQgaXMgdGhlbiBkZXN0cm95ZWQuCi0gICAgICAgIGlmICghcHJlZGVjZXNz
b3ItPmlzUXVvdGUoKSB8fCAhdG9SZW5kZXJRdW90ZShwcmVkZWNlc3NvciktPmlzQXR0YWNoZWQo
KSkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICBtX3ByZXZpb3VzID0gdG9SZW5kZXJR
dW90ZShwcmVkZWNlc3Nvcik7Ci0gICAgICAgIG1fbmV4dCA9IG1fcHJldmlvdXMtPm1fbmV4dDsK
LSAgICAgICAgbV9wcmV2aW91cy0+bV9uZXh0ID0gdGhpczsKLSAgICAgICAgaWYgKG1fbmV4dCkK
LSAgICAgICAgICAgIG1fbmV4dC0+bV9wcmV2aW91cyA9IHRoaXM7Ci0gICAgICAgIGJyZWFrOwor
ICAgIC8vIE9wdGltaXplIGNhc2Ugd2hlcmUgdGhpcyBpcyB0aGUgZmlyc3QgcXVvdGUgaW4gYSBS
ZW5kZXJWaWV3IGJ5IG5vdCBzZWFyY2hpbmcgZm9yIHByZWRlY2Vzc29ycyBpbiB0aGF0IGNhc2Uu
CisgICAgaWYgKHZpZXcoKS0+cmVuZGVyUXVvdGVIZWFkKCkpIHsKKyAgICAgICAgZm9yIChSZW5k
ZXJPYmplY3QqIHByZWRlY2Vzc29yID0gcHJldmlvdXNJblByZU9yZGVyKCk7IHByZWRlY2Vzc29y
OyBwcmVkZWNlc3NvciA9IHByZWRlY2Vzc29yLT5wcmV2aW91c0luUHJlT3JkZXIoKSkgeworICAg
ICAgICAgICAgLy8gU2tpcCB1bmF0dGFjaGVkIHByZWRlY2Vzc29ycyB0byBhdm9pZCBoYXZpbmcg
c3RhbGUgbV9wcmV2aW91cyBwb2ludGVycworICAgICAgICAgICAgLy8gaWYgdGhlIHByZXZpb3Vz
IG5vZGUgaXMgbmV2ZXIgYXR0YWNoZWQgYW5kIGlzIHRoZW4gZGVzdHJveWVkLgorICAgICAgICAg
ICAgaWYgKCFwcmVkZWNlc3Nvci0+aXNRdW90ZSgpIHx8ICF0b1JlbmRlclF1b3RlKHByZWRlY2Vz
c29yKS0+bV9pc0F0dGFjaGVkKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAg
ICAgbV9wcmV2aW91cyA9IHRvUmVuZGVyUXVvdGUocHJlZGVjZXNzb3IpOworICAgICAgICAgICAg
bV9uZXh0ID0gbV9wcmV2aW91cy0+bV9uZXh0OworICAgICAgICAgICAgbV9wcmV2aW91cy0+bV9u
ZXh0ID0gdGhpczsKKyAgICAgICAgICAgIGlmIChtX25leHQpCisgICAgICAgICAgICAgICAgbV9u
ZXh0LT5tX3ByZXZpb3VzID0gdGhpczsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CiAg
ICAgfQogCiAgICAgaWYgKCFtX3ByZXZpb3VzKSB7CkBAIC0yOTgsMjIgKzM4OSwyMyBAQCB2b2lk
IFJlbmRlclF1b3RlOjphdHRhY2hRdW90ZSgpCiAgICAgICAgIGlmIChtX25leHQpCiAgICAgICAg
ICAgICBtX25leHQtPm1fcHJldmlvdXMgPSB0aGlzOwogICAgIH0KLSAgICBtX2F0dGFjaGVkID0g
dHJ1ZTsKKworICAgIG1faXNBdHRhY2hlZCA9IHRydWU7CiAKICAgICBmb3IgKFJlbmRlclF1b3Rl
KiBxdW90ZSA9IHRoaXM7IHF1b3RlOyBxdW90ZSA9IHF1b3RlLT5tX25leHQpCiAgICAgICAgIHF1
b3RlLT51cGRhdGVEZXB0aCgpOwogCi0gICAgQVNTRVJUKCFtX25leHQgfHwgbV9uZXh0LT5tX2F0
dGFjaGVkKTsKKyAgICBBU1NFUlQoIW1fbmV4dCB8fCBtX25leHQtPm1faXNBdHRhY2hlZCk7CiAg
ICAgQVNTRVJUKCFtX25leHQgfHwgbV9uZXh0LT5tX3ByZXZpb3VzID09IHRoaXMpOwotICAgIEFT
U0VSVCghbV9wcmV2aW91cyB8fCBtX3ByZXZpb3VzLT5tX2F0dGFjaGVkKTsKKyAgICBBU1NFUlQo
IW1fcHJldmlvdXMgfHwgbV9wcmV2aW91cy0+bV9pc0F0dGFjaGVkKTsKICAgICBBU1NFUlQoIW1f
cHJldmlvdXMgfHwgbV9wcmV2aW91cy0+bV9uZXh0ID09IHRoaXMpOwogfQogCiB2b2lkIFJlbmRl
clF1b3RlOjpkZXRhY2hRdW90ZSgpCiB7Ci0gICAgQVNTRVJUKCFtX25leHQgfHwgbV9uZXh0LT5t
X2F0dGFjaGVkKTsKLSAgICBBU1NFUlQoIW1fcHJldmlvdXMgfHwgbV9wcmV2aW91cy0+bV9hdHRh
Y2hlZCk7Ci0gICAgaWYgKCFtX2F0dGFjaGVkKQorICAgIEFTU0VSVCghbV9uZXh0IHx8IG1fbmV4
dC0+bV9pc0F0dGFjaGVkKTsKKyAgICBBU1NFUlQoIW1fcHJldmlvdXMgfHwgbV9wcmV2aW91cy0+
bV9pc0F0dGFjaGVkKTsKKyAgICBpZiAoIW1faXNBdHRhY2hlZCkKICAgICAgICAgcmV0dXJuOwog
ICAgIGlmIChtX3ByZXZpb3VzKQogICAgICAgICBtX3ByZXZpb3VzLT5tX25leHQgPSBtX25leHQ7
CkBAIC0zMjUsMTQgKzQxNywxNCBAQCB2b2lkIFJlbmRlclF1b3RlOjpkZXRhY2hRdW90ZSgpCiAg
ICAgICAgIGZvciAoUmVuZGVyUXVvdGUqIHF1b3RlID0gbV9uZXh0OyBxdW90ZTsgcXVvdGUgPSBx
dW90ZS0+bV9uZXh0KQogICAgICAgICAgICAgcXVvdGUtPnVwZGF0ZURlcHRoKCk7CiAgICAgfQot
ICAgIG1fYXR0YWNoZWQgPSBmYWxzZTsKKyAgICBtX2lzQXR0YWNoZWQgPSBmYWxzZTsKICAgICBt
X25leHQgPSAwOwogICAgIG1fcHJldmlvdXMgPSAwOwogfQogCiB2b2lkIFJlbmRlclF1b3RlOjp1
cGRhdGVEZXB0aCgpCiB7Ci0gICAgQVNTRVJUKG1fYXR0YWNoZWQpOworICAgIEFTU0VSVChtX2lz
QXR0YWNoZWQpOwogICAgIGludCBkZXB0aCA9IDA7CiAgICAgaWYgKG1fcHJldmlvdXMpIHsKICAg
ICAgICAgZGVwdGggPSBtX3ByZXZpb3VzLT5tX2RlcHRoOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclF1b3RlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyUXVvdGUuaAppbmRleCAzZmM5NzdmZmY2NDljZDk4MWFkN2RlMjBlNTIyODVkYmUwODRl
ZjY2Li41NWI5ZDQ0ZGIxOGUwZjQ1NWI1YTNhYWU0Y2NkYzE5YjYyMmExZGUzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUXVvdGUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyUXVvdGUuaApAQCAtMSw2ICsxLDcgQEAKIC8qCiAgKiBDb3B5
cmlnaHQgKEMpIDIwMTEgTm9raWEgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJp
Z2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFRoaXMg
bGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK
ICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljCkBAIC0yMiw0MCArMjMsMzQgQEAKICNpZm5kZWYgUmVuZGVyUXVvdGVfaAogI2RlZmlu
ZSBSZW5kZXJRdW90ZV9oCiAKLSNpbmNsdWRlICJRdW90ZXNEYXRhLmgiCi0jaW5jbHVkZSAiUmVu
ZGVyU3R5bGUuaCIKLSNpbmNsdWRlICJSZW5kZXJTdHlsZUNvbnN0YW50cy5oIgogI2luY2x1ZGUg
IlJlbmRlclRleHQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBEb2N1bWVudDsK
LQotY2xhc3MgUmVuZGVyUXVvdGUgOiBwdWJsaWMgUmVuZGVyVGV4dCB7CitjbGFzcyBSZW5kZXJR
dW90ZSBGSU5BTCA6IHB1YmxpYyBSZW5kZXJUZXh0IHsKIHB1YmxpYzoKLSAgICBSZW5kZXJRdW90
ZShEb2N1bWVudCosIGNvbnN0IFF1b3RlVHlwZSk7CisgICAgUmVuZGVyUXVvdGUoRG9jdW1lbnQq
LCBRdW90ZVR5cGUpOwogICAgIHZpcnR1YWwgflJlbmRlclF1b3RlKCk7CisKICAgICB2b2lkIGF0
dGFjaFF1b3RlKCk7CiAKIHByaXZhdGU6CiAgICAgdm9pZCBkZXRhY2hRdW90ZSgpOwogCiAgICAg
dmlydHVhbCB2b2lkIHdpbGxCZURlc3Ryb3llZCgpIE9WRVJSSURFOwotICAgIHZpcnR1YWwgY29u
c3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuICJSZW5kZXJRdW90
ZSI7IH07CisgICAgdmlydHVhbCBjb25zdCBjaGFyKiByZW5kZXJOYW1lKCkgY29uc3QgT1ZFUlJJ
REUgeyByZXR1cm4gIlJlbmRlclF1b3RlIjsgfQogICAgIHZpcnR1YWwgYm9vbCBpc1F1b3RlKCkg
Y29uc3QgT1ZFUlJJREUgeyByZXR1cm4gdHJ1ZTsgfTsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8
U3RyaW5nSW1wbD4gb3JpZ2luYWxUZXh0KCkgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2
b2lkIHN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSwgY29uc3QgUmVuZGVyU3R5bGUqKSBP
VkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgd2lsbEJlUmVtb3ZlZEZyb21UcmVlKCkgT1ZFUlJJ
REU7CiAKLSAgICBjb25zdCBRdW90ZXNEYXRhKiBxdW90ZXNEYXRhKCkgY29uc3Q7CiAgICAgdm9p
ZCB1cGRhdGVEZXB0aCgpOwotICAgIGJvb2wgaXNBdHRhY2hlZCgpIHsgcmV0dXJuIG1fYXR0YWNo
ZWQ7IH0KIAogICAgIFF1b3RlVHlwZSBtX3R5cGU7CiAgICAgaW50IG1fZGVwdGg7CiAgICAgUmVu
ZGVyUXVvdGUqIG1fbmV4dDsKICAgICBSZW5kZXJRdW90ZSogbV9wcmV2aW91czsKLSAgICBib29s
IG1fYXR0YWNoZWQ7CisgICAgYm9vbCBtX2lzQXR0YWNoZWQ7CiB9OwogCiBpbmxpbmUgUmVuZGVy
UXVvdGUqIHRvUmVuZGVyUXVvdGUoUmVuZGVyT2JqZWN0KiBvYmplY3QpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUXVvdGVzRGF0YS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvUXVvdGVzRGF0YS5jcHAKaW5kZXggOWNlNmZhYjg3YTdhNGJk
NjBiMDUwYmRjOGViYTU3Yjc2MzU4ZTk4NC4uY2FiODczOTU2ZDFiZGM2MDQ4MjYyNGIzZDRiNDIw
NDEyZGQ3ODhlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1F1
b3Rlc0RhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9RdW90ZXNE
YXRhLmNwcApAQCAtMjksMTYgKzI5LDYgQEAgc3RhdGljIHNpemVfdCBzaXplRm9yUXVvdGVzRGF0
YVdpdGhRdW90ZUNvdW50KHVuc2lnbmVkIGNvdW50KQogICAgIHJldHVybiBzaXplb2YoUXVvdGVz
RGF0YSkgKyBzaXplb2Yoc3RkOjpwYWlyPFN0cmluZywgU3RyaW5nPikgKiBjb3VudDsKIH0KIAot
UGFzc1JlZlB0cjxRdW90ZXNEYXRhPiBRdW90ZXNEYXRhOjpjcmVhdGUoY29uc3QgU3RyaW5nJiBv
cGVuMSwgY29uc3QgU3RyaW5nJiBjbG9zZTEsIGNvbnN0IFN0cmluZyYgb3BlbjIsIGNvbnN0IFN0
cmluZyYgY2xvc2UyKQotewotICAgIFZlY3RvcjxzdGQ6OnBhaXI8U3RyaW5nLCBTdHJpbmc+ID4g
cXVvdGVzOwotICAgIHF1b3Rlcy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KDIpOwotICAgIHF1b3Rl
cy51bmNoZWNrZWRBcHBlbmQoc3RkOjptYWtlX3BhaXIob3BlbjEsIGNsb3NlMSkpOwotICAgIHF1
b3Rlcy51bmNoZWNrZWRBcHBlbmQoc3RkOjptYWtlX3BhaXIob3BlbjIsIGNsb3NlMikpOwotCi0g
ICAgcmV0dXJuIFF1b3Rlc0RhdGE6OmNyZWF0ZShxdW90ZXMpOwotfQotCiBQYXNzUmVmUHRyPFF1
b3Rlc0RhdGE+IFF1b3Rlc0RhdGE6OmNyZWF0ZShjb25zdCBWZWN0b3I8c3RkOjpwYWlyPFN0cmlu
ZywgU3RyaW5nPiA+JiBxdW90ZXMpCiB7CiAgICAgdm9pZCogc2xvdCA9IGZhc3RNYWxsb2Moc2l6
ZUZvclF1b3Rlc0RhdGFXaXRoUXVvdGVDb3VudChxdW90ZXMuc2l6ZSgpKSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUXVvdGVzRGF0YS5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1F1b3Rlc0RhdGEuaAppbmRleCBmYjk3MGFkZThlYmY0ZGEx
MjY5OTBmZDBkNjY2ZmM2YjZmZDc4NGM1Li5kZjg0ZDYyYWU2M2I4ZjlkYmM1ZWJlYWYzOGM0ZmFm
ZWE0YWQ5ZDdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUXVv
dGVzRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9RdW90ZXNEYXRh
LmgKQEAgLTM2LDcgKzM2LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBRdW90ZXNE
YXRhIDogcHVibGljIFJlZkNvdW50ZWQ8UXVvdGVzRGF0YT4gewogcHVibGljOgotICAgIHN0YXRp
YyBQYXNzUmVmUHRyPFF1b3Rlc0RhdGE+IGNyZWF0ZShjb25zdCBTdHJpbmcmIG9wZW4xLCBjb25z
dCBTdHJpbmcmIGNsb3NlMSwgY29uc3QgU3RyaW5nJiBvcGVuMiwgY29uc3QgU3RyaW5nJiBjbG9z
ZTIpOwogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFF1b3Rlc0RhdGE+IGNyZWF0ZShjb25zdCBWZWN0
b3I8c3RkOjpwYWlyPFN0cmluZywgU3RyaW5nPiA+JiBxdW90ZXMpOwogICAgIH5RdW90ZXNEYXRh
KCk7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>