From 0e15f97c77465aed3b41eb944cf7e720ea264992 Mon Sep 17 00:00:00 2001
From: Bottersnike
+
\ No newline at end of file
diff --git a/templates/pages/cardid.html b/templates/pages/cardid.html
index ecc66f7..fc6bb3a 100644
--- a/templates/pages/cardid.html
+++ b/templates/pages/cardid.html
@@ -259,8 +259,7 @@ card[15] = checksum(card)
needs doubled. This was presumably done to give the values more range, but I sincerely doubt it adds any
additional security.
+
+ X-Eamuse-Info
+
+ 69d74627d985ee2187161570d08d93b12455035b6df0d8205df5
+
+cardmng
+
+ 7e924ed8d88464c65cb2deeab0b0b0ca9aca90c2b2e0f242
Curiosity is a great thing. Unfortunately, this is code that is implement within the game specific DLL files. diff --git a/templates/pages/index.html b/templates/pages/index.html index 5f10426..a85458c 100644 --- a/templates/pages/index.html +++ b/templates/pages/index.html @@ -8,11 +8,11 @@ going to have to reverse engineer an open source project (or a closed source one, for that matter), I might as well just go reverse engineer an actual game (or it's stdlib, as most of my time has been spent currently).
For the sake of being lazy, I'll probably end up calling it eAmuse more than anything else throughout these
- pages. Other names you may come across include httpac
* and xrpc
. The latter are the
- suite of HTTP functions used in the Bemani stdlib, and the name of their communication protocol they implement
- at the application layer, but whenever someone refers to any of them in the context of a rhythm game, they will
- be referring to the things documented here.
- *I believe httpac
is the official name for the protocol internally.
+ pages. Other names you may come across include httpac
and xrpc
*. The former is the
+ suite of HTTP functions used in the Bemani stdlib, and the latter then name of their communication protocol they
+ implement at the application layer, but whenever someone refers to any of them in the context of a rhythm game,
+ they will be referring to the things documented here.
+ *I believe xrpc
is the officialy used name for the protocol.
These pages are very much a work in progress, and are being written as I reverse engineer parts of the protocol. I've been asserting all my assumptions by writing my own implementation as I go, however it currently @@ -35,6 +35,9 @@
If you yoink chunks of Python code, attribution is always appreciated, but consider it under CC0 (just don't be that person who tries to take credit for it, yeah?).
+Assembly and C snippets often come with an accompanying filename and address. If you're interested in learning how + things work in more detail, I'd strongly recommend checking them out. Not all games come with the same version of + files; the provided addresses are for build SDVX build KFC-2019020600, using the default base offset.
To make matters even easier, none of these endpoints require any functioning logic! It should be noted that to follow along, however, you will need a functioning packet encoder and decoder.
+Quick tangent: If the words "Smart E-Amusement" ring a bell and have you curious, you may be interested in + how that works.
Before we get started, there are a few things we need to get out of the way. One potential elephant in the room is how we tell games to use our server. You may have configured this thousands of times, or maybe this is your first diff --git a/templates/pages/smartea.html b/templates/pages/smartea.html new file mode 100644 index 0000000..25b0d54 --- /dev/null +++ b/templates/pages/smartea.html @@ -0,0 +1,209 @@ +{% extends "base.html" %} +{% block body %} +
So maybe you've turned on that checkbox before, and you're wondering what magic it used? Thankfully, source code for + that tool is actually shipped along with it (provided you have a legitimate copy) so we can have a look.
+...and that's where the trail runs cold. Upon cracking open the source you will just be faced with walls of hardcoded + binary data. Let's take a serious look at what we have here instead.
+The first important thing to note is that every single reply from easrv is hardcoded. This means their encryption is
+ also hardcoded, and sure enough the header is hardcoded to 1-53d121c7-a8b3
(in fact, the entire HTTP
+ header block is a hardcoded string!).
Many of these responses are only rqeuired by specific games. I've not yet compiled a list of which is for what game, + but consider it a future expansion coming later :).
+services.get
{% highlight "cxml" %} ++ ++ {% endhighlight %}+ +- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
pcbtracker.alive
{% highlight "cxml" %} ++ ++ {% endhighlight %}+
message.get
{% highlight "cxml" %} +++ {% endhighlight %}+
{% highlight "cxml" %} ++ ++ {% endhighlight %}+ +- +
- +
facility.get
This packet notably has its encoding bytes as 00 FF
which to the best of my knowledge is not a valid
+ encoding. I used Shift-JIS here to decode the location name.
{% highlight "cxml" %} ++ ++ {% endhighlight %}+ ++ +US-01 +US +. +・ョ・ッ・ョ・・ +0 ++ +. +0 ++ +1.0.0.127 +8888 +8888 ++ +1 +. +0 +0 ++ ++ +0 +0 +1000000 ++ +http://localhost +http://localhost +http://localhost +http://localhost +http://localhost +
pcbevent.put
{% highlight "cxml" %} ++ ++ {% endhighlight %}+
package.list
{% highlight "cxml" %} ++ ++ {% endhighlight %}+
tax.get_phase
{% highlight "cxml" %} ++ ++ {% endhighlight %}+ +0 +
eventlog.write
{% highlight "cxml" %} ++ ++ {% endhighlight %}+ +1 +0 +0 +0 +
machine.get_control
{% highlight "cxml" %} ++ ++ {% endhighlight %}+ ++ +nop +
info2.common
{% highlight "cxml" %} ++ ++ {% endhighlight %}+ ++
pcb2.boot
{% highlight "cxml" %} ++ ++ {% endhighlight %}+ ++ +AS +1 +0 +0 +
pcb2.error
{% highlight "cxml" %} ++ ++ {% endhighlight %}+
system.getmaster
Just an error response unless the game is one of...
+KGG-*
):{% highlight "cxml" %} +++ {% endhighlight %}+ +1 +MSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwx +MSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwx +1120367223 +
I36-*
):{% highlight "cxml" %} ++ ++ {% endhighlight %}+ +1 +MjAxMTA4MTAwMDoxOjE6MToxOjE6MToxOjE6MToxOjE6MToxOjE6MToxOjE6MToxOjE6MToxOjE6MToxOjE6MToxOjE6MToxOjE6MToxOjE6MToxOjE6MToxOjE6MToxOjE6MQ== +MSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwx +1120367223 +
hdkoperation.get
Only used by Steel Chronicle as far as I can tell
+{% highlight "cxml" %} ++ ++ {% endhighlight %}+ +1 + 0,0,0,0,0,0,0,0,0 +
op2_common.get_music_info
This one is really long. It's got its own dedicated + page if you really want to see it anyway.
+It appears to be specifically for Nostalgia Op.2, however this may be incorrect.
+{% endblock %} \ No newline at end of file diff --git a/templates/pages/smartea.op2_common.get_music_info.html b/templates/pages/smartea.op2_common.get_music_info.html new file mode 100644 index 0000000..e07a82e --- /dev/null +++ b/templates/pages/smartea.op2_common.get_music_info.html @@ -0,0 +1,3728 @@ +{% extends "base.html" %} +{% block body %} +op2_common.get_music_info
{% highlight "cxml" %} ++{% endblock %} diff --git a/templates/pages/transport.html b/templates/pages/transport.html index 94d42da..ad0c921 100644 --- a/templates/pages/transport.html +++ b/templates/pages/transport.html @@ -34,7 +34,7 @@+ {% endhighlight %}+ ++ ++ +2017-01-11 10:00 +9999-12-31 23:59 +200 +4000 +1 +1 +1 +1 +2018-09-25 10:00 +9999-12-31 23:59 ++ +2017-03-15 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-01-11 10:00 +9999-12-31 23:59 +300 +7500 +1 +1 +1 +1 +2019-08-22 10:00 +9999-12-31 23:59 ++ +2017-01-11 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-01-11 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-01-11 10:00 +9999-12-31 23:59 +300 +7500 +1 +1 +1 +1 +2019-07-18 10:00 +9999-12-31 23:59 ++ +2017-01-11 10:00 +9999-12-31 23:59 +200 +4000 +1 +1 +1 +1 +2018-09-25 10:00 +9999-12-31 23:59 ++ +2017-01-11 10:00 +9999-12-31 23:59 +250 +5000 +1 +1 +1 +1 +2019-07-04 10:00 +9999-12-31 23:59 ++ +2017-01-11 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-01-11 10:00 +9999-12-31 23:59 +700 +21000 +1 +1 +1 +1 +2018-11-21 10:00 +9999-12-31 23:59 ++ +2017-01-11 10:00 +9999-12-31 23:59 +250 +5000 +1 +1 +1 +1 +2019-05-02 10:00 +9999-12-31 23:59 ++ +2017-01-11 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-03-01 10:00 +9999-12-31 23:59 +400 +10000 +1 +1 +1 +1 +2019-01-17 10:00 +9999-12-31 23:59 ++ +2017-03-01 10:00 +2020-02-01 05:00 +250 +5000 +1 +1 +1 +1 +2018-10-25 10:00 +2020-02-01 05:00 ++ +2017-03-01 10:00 +2020-02-01 05:00 +250 +5000 +1 +1 +1 +1 +2018-11-08 10:00 +2020-02-01 05:00 ++ +2017-03-01 10:00 +2020-02-01 05:00 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-03-28 10:00 +2022-02-28 05:00 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-01-11 10:00 +9999-12-31 23:59 +250 +5000 +1 +1 +1 +1 +2019-08-08 10:00 +9999-12-31 23:59 ++ +2017-01-11 10:00 +9999-12-31 23:59 +500 +15000 +1 +1 +1 +1 +2019-08-29 10:00 +9999-12-31 23:59 ++ +2017-01-11 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-01-11 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-01-11 10:00 +9999-12-31 23:59 +500 +15000 +1 +1 +1 +1 +2019-08-15 10:00 +9999-12-31 23:59 ++ +2017-01-11 10:00 +9999-12-31 23:59 +300 +7500 +1 +1 +1 +1 +2019-04-25 10:00 +9999-12-31 23:59 ++ +2017-01-11 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-01-11 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-01-11 10:00 +9999-12-31 23:59 +400 +10000 +1 +1 +1 +1 +2018-11-08 10:00 +9999-12-31 23:59 ++ +2017-03-01 10:00 +2020-02-01 05:00 +300 +7500 +1 +1 +1 +1 +2019-06-13 10:00 +2020-02-01 05:00 ++ +2017-03-01 10:00 +2020-02-01 05:00 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-03-15 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-01-11 10:00 +9999-12-31 23:59 +500 +15000 +1 +1 +1 +1 +2018-12-25 10:00 +9999-12-31 23:59 ++ +2017-01-11 10:00 +9999-12-31 23:59 +400 +10000 +1 +1 +1 +1 +2018-09-25 10:00 +9999-12-31 23:59 ++ +2017-01-11 10:00 +9999-12-31 23:59 +400 +10000 +1 +1 +1 +1 +2019-11-01 10:00 +9999-12-31 23:59 ++ +2017-01-11 10:00 +9999-12-31 23:59 +400 +10000 +1 +1 +1 +1 +2019-09-19 10:00 +9999-12-31 23:59 ++ +2017-01-11 10:00 +9999-12-31 23:59 +500 +15000 +1 +1 +1 +1 +2019-10-17 10:00 +9999-12-31 23:59 ++ +2017-01-11 10:00 +9999-12-31 23:59 +700 +21000 +1 +1 +1 +1 +2018-09-25 10:00 +9999-12-31 23:59 ++ +2017-03-01 10:00 +2020-02-01 05:00 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-01-11 10:00 +9999-12-31 23:59 +300 +7500 +1 +1 +1 +1 +2019-08-15 10:00 +2022-02-14 05:00 ++ +2017-03-01 10:00 +2020-02-01 05:00 +300 +7500 +1 +1 +1 +1 +2019-04-18 10:00 +2020-01-29 23:59 ++ +2017-01-11 10:00 +9999-12-31 23:59 +300 +7500 +1 +1 +1 +1 +2019-05-02 10:00 +9999-12-31 23:59 ++ +2017-01-11 10:00 +9999-12-31 23:59 +300 +7500 +1 +1 +1 +1 +2019-09-05 10:00 +9999-12-31 23:59 ++ +2017-01-11 10:00 +9999-12-31 23:59 +300 +7500 +1 +1 +1 +1 +2019-10-03 10:00 +9999-12-31 23:59 ++ +2017-01-11 10:00 +9999-12-31 23:59 +300 +7500 +1 +1 +1 +1 +2019-10-24 10:00 +9999-12-31 23:59 ++ +2017-01-11 10:00 +9999-12-31 23:59 +250 +7500 +1 +1 +1 +1 +2018-09-25 10:00 +9999-12-31 23:59 ++ +2017-01-11 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-01-11 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-01-11 10:00 +9999-12-31 23:59 +300 +7500 +1 +1 +1 +1 +2018-10-18 10:00 +9999-12-31 23:59 ++ +2017-03-02 10:00 +2020-02-02 05:00 +300 +7500 +1 +1 +1 +1 +2019-06-13 10:00 +2020-02-01 05:00 ++ +2017-03-01 10:00 +2020-02-01 05:00 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-01-11 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-01-11 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-03-02 10:00 +2020-02-02 05:00 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-03-15 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-03-15 10:00 +9999-12-31 23:59 +400 +10000 +1 +1 +1 +1 +2020-04-01 10:00 +9999-12-31 23:59 ++ +2017-03-15 10:00 +9999-12-31 23:59 +400 +10000 +1 +1 +1 +1 +2020-04-01 10:00 +9999-12-31 23:59 ++ +2017-03-15 10:00 +9999-12-31 23:59 +400 +10000 +1 +1 +1 +1 +2020-04-01 10:00 +9999-12-31 23:59 ++ +2017-03-15 10:00 +9999-12-31 23:59 +300 +7500 +1 +1 +1 +1 +2020-04-01 10:00 +9999-12-31 23:59 ++ +2017-03-15 10:00 +9999-12-31 23:59 +800 +24000 +1 +1 +0 +1 +2020-04-01 10:00 +9999-12-31 23:59 ++ +2017-01-11 10:00 +9999-12-31 23:59 +700 +21000 +1 +1 +1 +1 +2019-01-31 10:00 +9999-12-31 23:59 ++ +2017-01-11 10:00 +9999-12-31 23:59 +500 +15000 +1 +1 +1 +1 +2019-08-08 10:00 +9999-12-31 23:59 ++ +2017-01-11 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-01-11 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-01-11 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-01-11 10:00 +9999-12-31 23:59 +400 +10000 +1 +1 +1 +1 +2019-08-01 10:00 +9999-12-31 23:59 ++ +2017-01-11 10:00 +9999-12-31 23:59 +400 +10000 +1 +1 +1 +1 +2018-11-21 10:00 +9999-12-31 23:59 ++ +2017-01-11 10:00 +9999-12-31 23:59 +300 +7500 +1 +1 +1 +1 +2019-05-30 10:00 +9999-12-31 23:59 ++ +2017-01-11 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-01-11 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-04-04 10:00 +2020-03-04 05:00 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-01-11 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-01-11 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-09-25 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-01-11 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-01-11 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-01-11 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-03-15 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-04-19 10:00 +2020-03-19 05:00 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-03-15 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-08-24 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-06-01 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-01-11 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-01-11 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-06-01 10:00 +2020-05-01 05:00 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-06-01 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-06-15 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-06-15 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-06-15 10:00 +9999-12-31 23:59 +400 +10000 +1 +1 +1 +1 +2019-07-25 10:00 +9999-12-31 23:59 ++ +2017-07-20 10:00 +2020-06-20 05:00 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-08-10 10:00 +2020-07-10 05:00 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-07-20 10:00 +2020-06-20 05:00 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-07-20 10:00 +2020-06-20 05:00 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-07-20 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-12-06 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-07-20 10:00 +2020-06-20 05:00 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-07-20 10:00 +2020-06-20 05:00 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-07-27 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-07-27 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-07-19 07:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-09-06 09:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-08-22 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-07-20 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-07-20 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-08-15 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-08-10 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-07-20 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-07-27 10:00 +9999-12-31 23:59 +400 +10000 +1 +1 +1 +1 +2018-11-21 10:00 +9999-12-31 23:59 ++ +2017-08-03 10:00 +2020-07-03 05:00 +400 +10000 +1 +1 +1 +1 +2018-11-21 10:00 +2020-07-02 23:59 ++ +2017-08-03 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-08-10 10:00 +2020-07-10 05:00 +250 +5000 +1 +1 +1 +1 +2018-09-25 10:00 +2020-07-09 23:59 ++ +2017-08-10 10:00 +2020-07-10 05:00 +250 +5000 +1 +1 +1 +1 +2019-04-18 10:00 +2020-07-10 05:00 ++ +2017-08-10 10:00 +2020-07-10 05:00 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-08-17 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-08-17 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-08-17 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-08-24 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-08-17 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-08-24 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-09-07 10:00 +9999-12-31 23:59 +314 +10000 +1 +1 +1 +1 +2019-03-14 10:00 +9999-12-31 23:59 ++ +2017-09-14 10:00 +2020-08-14 05:00 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-09-14 10:00 +2020-08-14 05:00 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-09-27 09:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-09-27 09:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-09-28 10:00 +2020-08-28 05:00 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-10-03 10:00 +2020-09-03 05:00 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-10-26 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-11-16 10:00 +2020-10-16 05:00 +200 +4000 +1 +1 +1 +1 +2018-09-25 10:00 +2020-10-08 10:00 ++ +2017-11-16 10:00 +2020-10-16 05:00 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-04-26 10:00 +9999-12-31 23:59 +400 +10000 +1 +1 +1 +1 +2018-11-21 10:00 +9999-12-31 23:59 ++ +2017-10-26 10:00 +9999-12-31 23:59 +200 +4000 +1 +1 +1 +1 +2018-11-01 10:00 +9999-12-31 23:59 ++ +2017-10-19 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-10-19 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-10-19 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-11-23 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-11-08 09:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-11-08 09:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-11-29 09:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-11-29 09:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-11-29 09:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-12-21 09:00 +2020-11-21 05:00 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-12-27 09:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-12-27 09:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-12-27 09:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-01-04 09:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-12-21 09:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-12-21 09:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-12-21 09:00 +2020-11-21 05:00 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-12-21 09:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-12-21 09:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-12-21 09:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-02-15 10:00 +2021-01-15 05:00 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2017-12-21 09:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-01-18 09:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-01-24 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-02-01 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +0 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-02-15 10:00 +2021-01-15 05:00 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-02-14 09:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-02-15 10:00 +2021-01-15 05:00 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-02-15 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-04-26 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-04-26 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-03-21 10:00 +2021-02-21 05:00 +250 +5000 +1 +1 +1 +1 +2019-01-17 10:00 +2021-02-20 10:00 ++ +2018-03-14 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-03-21 10:00 +2021-02-21 05:00 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-03-01 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-03-14 10:00 +9999-12-31 23:59 +314 +10000 +1 +1 +1 +1 +2019-03-14 10:00 +9999-12-31 23:59 ++ +2019-03-01 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-03-21 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-03-21 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-03-21 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-03-21 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-04-02 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-04-05 10:00 +2021-03-05 05:00 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-04-05 10:00 +2021-03-05 05:00 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-04-26 10:00 +2021-03-25 10:00 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-05-03 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-05-03 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-05-03 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-05-03 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-07-19 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-07-19 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-08-09 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-06-21 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-08-02 10:00 +2021-07-02 05:00 +200 +4000 +1 +1 +1 +1 +2018-09-25 10:00 +2021-07-01 23:59 ++ +2018-07-05 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-06-21 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-10-18 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-11-01 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-10-25 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-10-18 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-10-25 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-11-01 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-11-01 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-08-30 10:00 +9999-12-31 23:59 +300 +7500 +1 +1 +1 +1 +2019-08-29 10:00 +9999-12-31 23:59 ++ +2018-09-25 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-09-25 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-09-25 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-09-25 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-09-25 10:00 +9999-12-31 23:59 +1000 +30000 +1 +1 +1 +1 +2018-09-25 10:00 +9999-12-31 23:59 ++ +2018-09-25 10:00 +2021-08-25 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-09-25 10:00 +2021-08-25 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-09-25 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-09-25 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-10-11 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-10-04 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-09-25 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-09-25 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-09-25 10:00 +9999-12-31 23:59 +500 +15000 +1 +1 +1 +1 +2018-09-25 10:00 +9999-12-31 23:59 ++ +2018-09-25 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-09-25 10:00 +9999-12-31 23:59 +500 +15000 +1 +1 +1 +1 +2018-09-25 10:00 +9999-12-31 23:59 ++ +2018-09-25 10:00 +9999-12-31 23:59 +400 +10000 +1 +1 +1 +1 +2018-09-25 10:00 +9999-12-31 23:59 ++ +2019-08-22 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-09-25 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-09-25 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-09-25 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-09-25 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-09-25 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-09-25 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-09-25 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-09-25 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-09-25 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-09-25 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-09-25 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-10-18 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-09-25 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-09-25 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-09-25 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-10-04 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-10-11 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-09-25 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-09-25 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-09-25 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-09-25 10:00 +2021-08-25 05:00 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-09-25 10:00 +2021-08-25 05:00 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-09-25 10:00 +2021-08-25 05:00 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-09-25 10:00 +2021-08-25 05:00 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-09-25 10:00 +9999-12-31 23:59 +250 +5000 +1 +1 +1 +1 +9999-12-31 23:59 +9999-12-31 23:59 ++ +2018-11-21 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-12-06 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-11-15 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-11-29 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-11-29 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-11-15 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-01-24 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-12-13 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-12-20 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-12-20 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-12-20 10:00 +9999-12-31 23:59 +700 +21000 +1 +1 +1 +1 +2019-01-31 10:00 +9999-12-31 23:59 ++ +2019-01-10 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-01-10 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-01-10 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-01-10 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-01-10 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-03-14 10:00 +2022-02-14 05:00 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2018-12-25 10:00 +2021-11-25 05:00 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-03-14 10:00 +2022-02-14 05:00 +300 +7500 +1 +1 +1 +1 +2019-04-25 10:00 +2022-02-14 05:00 ++ +2019-04-25 10:00 +2022-03-25 05:00 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-03-28 10:00 +2022-02-28 05:00 +400 +10000 +1 +1 +1 +1 +2019-04-25 10:00 +2022-02-28 05:00 ++ +2019-02-14 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-02-21 10:00 +9999-12-31 23:59 +700 +30000 +1 +1 +1 +1 +2019-02-28 10:00 +9999-12-31 23:59 ++ +2019-02-21 10:00 +9999-12-31 23:59 +700 +21000 +1 +1 +1 +1 +2019-02-28 10:00 +9999-12-31 23:59 ++ +2019-02-28 10:00 +9999-12-31 23:59 +1000 +30000 +1 +1 +1 +1 +2019-02-28 10:00 +9999-12-31 23:59 ++ +2019-04-11 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-04-11 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-04-11 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-08-22 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-03-07 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-04-25 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-03-21 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-03-28 10:00 +2022-02-28 05:00 +250 +5000 +1 +1 +1 +1 +2019-04-18 10:00 +2022-02-28 05:00 ++ +2019-03-28 10:00 +2022-02-28 05:00 +300 +7500 +1 +1 +1 +1 +2019-04-18 10:00 +2022-02-28 05:00 ++ +2019-03-28 10:00 +2022-02-28 05:00 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-03-28 10:00 +2022-02-28 05:00 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-03-28 10:00 +2022-02-28 05:00 +250 +5000 +1 +1 +1 +1 +2019-05-30 10:00 +2022-02-28 05:00 ++ +2019-03-28 10:00 +2022-02-28 05:00 +300 +7500 +1 +1 +1 +1 +2019-04-25 10:00 +2022-02-28 05:00 ++ +2019-03-27 10:00 +9999-12-31 23:59 +500 +15000 +1 +1 +1 +1 +2019-04-04 10:00 +9999-12-31 23:59 ++ +2019-04-25 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-04-25 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-04-25 10:00 +2022-03-25 05:00 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-05-16 10:00 +2022-04-16 05:00 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-05-09 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-05-23 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-05-23 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-05-09 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-06-06 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-06-06 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-06-20 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-07-11 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-07-11 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-06-26 10:00 +2022-05-26 05:00 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-06-26 10:00 +2022-05-26 05:00 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-06-26 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-08-07 00:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-08-07 00:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-09-26 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-09-26 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-10-10 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-10-10 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-10-10 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-10-10 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-11-01 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-08-01 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-09-12 10:00 +9999-12-31 23:59 +500 +15000 +1 +1 +1 +1 +2019-09-12 10:00 +9999-12-31 23:59 ++ +2019-09-12 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-09-12 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-09-12 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-09-12 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-09-12 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-09-12 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-09-12 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +2019-09-12 10:00 +9999-12-31 23:59 +0 +0 +1 +1 +1 +1 +2100-01-01 00:00 +2200-01-01 00:00 ++ +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ++ + +
Our per-packet key is then generated using md5(serial | salt | KEY)
. Identifying KEY
is
left as an exercise for the reader, however should not be especially challenging. Check
the page source if you're stuck.
Packets are compressed using lzss. The compressed data structure is a repeating cycle of an 8 bit flags byte,