Skip to content

Commit

Permalink
rebuilt site
Browse files Browse the repository at this point in the history
  • Loading branch information
PhillHenry committed Dec 9, 2023
1 parent c0c99dd commit 805b5e6
Show file tree
Hide file tree
Showing 5 changed files with 189 additions and 30 deletions.
49 changes: 24 additions & 25 deletions docs/ChangeDataFlow.html
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,7 @@
</style>
</head>
<body>
<pre>Run starting. Expected test count is: 0
ChangeDataFlowSpec:
<pre>ChangeDataFlowSpec:
+ See https://www.databricks.com/blog/2021/06/09/how-to-simplify-cdc-with-delta-lakes-change-data-feed.html
A dataset that is CDC enabled
- should be created and populated
Expand All @@ -66,9 +65,9 @@
+-------+-----------------------+------+--------+------------+----------------------------------------------------------------------------------------------------------------+----+--------+---------+-----------+--------------+-------------+------------------------------------------------------------+------------+-----------------------------------+
|version|timestamp |userId|userName|operation |operationParameters |job |notebook|clusterId|readVersion|isolationLevel|isBlindAppend|operationMetrics |userMetadata|engineInfo |
+-------+-----------------------+------+--------+------------+----------------------------------------------------------------------------------------------------------------+----+--------+---------+-----------+--------------+-------------+------------------------------------------------------------+------------+-----------------------------------+
|2 |2023-12-06 14:05:09.157|NULL |NULL |WRITE |{mode -&gt; Append, partitionBy -&gt; []} |NULL|NULL |NULL |1 |Serializable |true |{numFiles -&gt; 2, numOutputRows -&gt; 20, numOutputBytes -&gt; 3371}|NULL |Apache-Spark/3.5.0 Delta-Lake/3.0.0|
|1 |2023-12-06 14:05:07.713|NULL |NULL |WRITE |{mode -&gt; Append, partitionBy -&gt; []} |NULL|NULL |NULL |0 |Serializable |true |{numFiles -&gt; 2, numOutputRows -&gt; 20, numOutputBytes -&gt; 3371}|NULL |Apache-Spark/3.5.0 Delta-Lake/3.0.0|
|0 |2023-12-06 14:05:01.405|NULL |NULL |CREATE TABLE|{isManaged -&gt; true, description -&gt; NULL, partitionBy -&gt; [], properties -&gt; {"delta.enableChangeDataFeed":"true"}}|NULL|NULL |NULL |NULL |Serializable |true |{} |NULL |Apache-Spark/3.5.0 Delta-Lake/3.0.0|
|2 |2023-12-09 10:26:50.665|NULL |NULL |WRITE |{mode -&gt; Append, partitionBy -&gt; []} |NULL|NULL |NULL |1 |Serializable |true |{numFiles -&gt; 2, numOutputRows -&gt; 20, numOutputBytes -&gt; 3371}|NULL |Apache-Spark/3.5.0 Delta-Lake/3.0.0|
|1 |2023-12-09 10:26:49.617|NULL |NULL |WRITE |{mode -&gt; Append, partitionBy -&gt; []} |NULL|NULL |NULL |0 |Serializable |true |{numFiles -&gt; 2, numOutputRows -&gt; 20, numOutputBytes -&gt; 3371}|NULL |Apache-Spark/3.5.0 Delta-Lake/3.0.0|
|0 |2023-12-09 10:26:48.229|NULL |NULL |CREATE TABLE|{isManaged -&gt; true, description -&gt; NULL, partitionBy -&gt; [], properties -&gt; {"delta.enableChangeDataFeed":"true"}}|NULL|NULL |NULL |NULL |Serializable |true |{} |NULL |Apache-Spark/3.5.0 Delta-Lake/3.0.0|
+-------+-----------------------+------+--------+------------+----------------------------------------------------------------------------------------------------------------+----+--------+---------+-----------+--------------+-------------+------------------------------------------------------------+------------+-----------------------------------+


Expand All @@ -88,26 +87,26 @@
+---+-------+------------+----------+-----------------------+
|id |label |partitionKey|date |timestamp |
+---+-------+------------+----------+-----------------------+
|0 |label_0|0 |2023-12-06|2023-12-06 14:04:52.936|
|0 |label_0|0 |2023-12-06|2023-12-06 14:04:52.936|
|1 |label_1|1 |2023-12-05|2023-12-06 14:04:53.136|
|1 |label_1|1 |2023-12-05|2023-12-06 14:04:53.136|
|2 |label_2|2 |2023-12-04|2023-12-06 14:04:53.336|
|2 |label_2|2 |2023-12-04|2023-12-06 14:04:53.336|
|3 |label_3|3 |2023-12-03|2023-12-06 14:04:53.536|
|3 |label_3|3 |2023-12-03|2023-12-06 14:04:53.536|
|4 |label_4|4 |2023-12-02|2023-12-06 14:04:53.736|
|4 |label_4|4 |2023-12-02|2023-12-06 14:04:53.736|
|5 |label_5|0 |2023-12-01|2023-12-06 14:04:53.936|
|5 |label_5|0 |2023-12-01|2023-12-06 14:04:53.936|
|6 |label_6|1 |2023-11-30|2023-12-06 14:04:54.136|
|6 |label_6|1 |2023-11-30|2023-12-06 14:04:54.136|
|7 |label_7|2 |2023-11-29|2023-12-06 14:04:54.336|
|7 |label_7|2 |2023-11-29|2023-12-06 14:04:54.336|
|8 |label_8|3 |2023-11-28|2023-12-06 14:04:54.536|
|8 |label_8|3 |2023-11-28|2023-12-06 14:04:54.536|
|9 |label_9|4 |2023-11-27|2023-12-06 14:04:54.736|
|9 |label_9|4 |2023-11-27|2023-12-06 14:04:54.736|
|0 |label_0|0 |2023-12-09|2023-12-09 10:26:19.581|
|0 |label_0|0 |2023-12-09|2023-12-09 10:26:19.581|
|1 |label_1|1 |2023-12-08|2023-12-09 10:26:19.781|
|1 |label_1|1 |2023-12-08|2023-12-09 10:26:19.781|
|2 |label_2|2 |2023-12-07|2023-12-09 10:26:19.981|
|2 |label_2|2 |2023-12-07|2023-12-09 10:26:19.981|
|3 |label_3|3 |2023-12-06|2023-12-09 10:26:20.181|
|3 |label_3|3 |2023-12-06|2023-12-09 10:26:20.181|
|4 |label_4|4 |2023-12-05|2023-12-09 10:26:20.381|
|4 |label_4|4 |2023-12-05|2023-12-09 10:26:20.381|
|5 |label_5|0 |2023-12-04|2023-12-09 10:26:20.581|
|5 |label_5|0 |2023-12-04|2023-12-09 10:26:20.581|
|6 |label_6|1 |2023-12-03|2023-12-09 10:26:20.781|
|6 |label_6|1 |2023-12-03|2023-12-09 10:26:20.781|
|7 |label_7|2 |2023-12-02|2023-12-09 10:26:20.981|
|7 |label_7|2 |2023-12-02|2023-12-09 10:26:20.981|
|8 |label_8|3 |2023-12-01|2023-12-09 10:26:21.181|
|8 |label_8|3 |2023-12-01|2023-12-09 10:26:21.181|
|9 |label_9|4 |2023-11-30|2023-12-09 10:26:21.381|
|9 |label_9|4 |2023-11-30|2023-12-09 10:26:21.381|
+---+-------+------------+----------+-----------------------+
only showing top 20 rows

Expand Down
7 changes: 4 additions & 3 deletions docs/ChangeDataFlowStreaming.html
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,8 @@
</style>
</head>
<body>
<pre>ChangeDataFlowStreamingSpec:
<pre>Run starting. Expected test count is: 0
ChangeDataFlowStreamingSpec:
+ https://docs.databricks.com/en/structured-streaming/delta-lake.html
A dataset that is updated
- should write its deltas to another table as a stream
Expand All @@ -68,9 +69,9 @@
) USING DELTA</b>
+ When we start streaming from ChangeDataFlowStreamingSpec to streamsink with a watermark of 4 seconds and a trigger processing time of 4000 ms
+ And the initial count in streamsink is 0
+ And we append 100 rows with a timestamp ranging from 2023-12-06 14:05:20.663 to 2023-12-06 14:06:59.663
+ And we append 100 rows with a timestamp ranging from 2023-12-09 10:26:36.489 to 2023-12-09 10:28:15.489
+ And we wait 4000 ms
+ Then the final row count at Wed Dec 06 14:05:32 UTC 2023 in streamsink is 100 rows
+ Then the final row count at Sat Dec 09 10:26:47 UTC 2023 in streamsink is 100 rows
+ <b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b>
+ <b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b> </pre>
</body>
Expand Down
99 changes: 99 additions & 0 deletions docs/DeltaLakeCRUD.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
body {background-color: black;}
pre {
font-weight: normal;
color: #bbb;
white-space: -moz-pre-wrap;
white-space: -o-pre-wrap;
white-space: -pre-wrap;
white-space: pre-wrap;
word-wrap: break-word;
overflow-wrap: break-word;
}
b {font-weight: normal}
b.BOLD {color: #fff}
b.ITA {font-style: italic}
b.UND {text-decoration: underline}
b.STR {text-decoration: line-through}
b.UNDSTR {text-decoration: underline line-through}
b.BLK {color: #000000}
b.RED {color: #aa0000}
b.GRN {color: #00aa00}
b.YEL {color: #aa5500}
b.BLU {color: #0000aa}
b.MAG {color: #aa00aa}
b.CYN {color: #00aaaa}
b.WHI {color: #aaaaaa}
b.HIK {color: #555555}
b.HIR {color: #ff5555}
b.HIG {color: #55ff55}
b.HIY {color: #ffff55}
b.HIB {color: #5555ff}
b.HIM {color: #ff55ff}
b.HIC {color: #55ffff}
b.HIW {color: #ffffff}
b.BBLK {background-color: #000000}
b.BRED {background-color: #aa0000}
b.BGRN {background-color: #00aa00}
b.BYEL {background-color: #aa5500}
b.BBLU {background-color: #0000aa}
b.BMAG {background-color: #aa00aa}
b.BCYN {background-color: #00aaaa}
b.BWHI {background-color: #aaaaaa}
</style>
</head>
<body>
<pre>DeltaLakeCRUDSpec:
A Delta table
- should be created and populated
+ Given a table created with SQL
<b class=YEL>CREATE TABLE DeltaLakeCRUDSpec (
id int,
label String,
partitionKey long,
date Date,
timestamp Timestamp
) USING DELTA</b>
+ When we write 20 rows to DeltaLakeCRUDSpec
+ Then the table indeed contains all the data
+ And the metastore contains a reference to the table DeltaLakeCRUDSpec
+ <b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b>
- should support updates with 'update DeltaLakeCRUDSpec set label='ipse locum''
+ Given SQL
<b class=YEL>update
DeltaLakeCRUDSpec
set
label = 'ipse locum'</b>
+ When we execute it
+ Then all rows are updated
+ And look like:
<b class=YEL>Datum(10,ipse locum,0,2023-11-29,2023-12-09 10:26:21.581)
</b><b class=MAG>Datum(11,ipse locum,1,2023-11-28,2023-12-09 10:26:21.781)
</b><b class=YEL>Datum(12,ipse locum,2,2023-11-27,2023-12-09 10:26:21.981)
</b>...
+ <b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b>
- should be able to have its schema updated
+ Given SQL
<b class=YEL>ALTER TABLE
DeltaLakeCRUDSpec
ADD
COLUMNS (new_string string comment 'new_string docs')</b>
+ When we execute it
+ Then all rows are updated
+ And look like:
<b class=YEL>[10,ipse locum,0,2023-11-29,2023-12-09 10:26:21.581,null]
</b><b class=MAG>[11,ipse locum,1,2023-11-28,2023-12-09 10:26:21.781,null]
</b><b class=YEL>[12,ipse locum,2,2023-11-27,2023-12-09 10:26:21.981,null]
</b>...
+ <b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b>
+ <b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b>
Run completed in 48 seconds, 54 milliseconds.
Total number of tests run: 7
Suites: completed 4, aborted 0
Tests: succeeded 7, failed 0, canceled 0, ignored 0, pending 0
All tests passed.</pre>
</body>
</html>
58 changes: 58 additions & 0 deletions docs/MergingData.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
body {background-color: black;}
pre {
font-weight: normal;
color: #bbb;
white-space: -moz-pre-wrap;
white-space: -o-pre-wrap;
white-space: -pre-wrap;
white-space: pre-wrap;
word-wrap: break-word;
overflow-wrap: break-word;
}
b {font-weight: normal}
b.BOLD {color: #fff}
b.ITA {font-style: italic}
b.UND {text-decoration: underline}
b.STR {text-decoration: line-through}
b.UNDSTR {text-decoration: underline line-through}
b.BLK {color: #000000}
b.RED {color: #aa0000}
b.GRN {color: #00aa00}
b.YEL {color: #aa5500}
b.BLU {color: #0000aa}
b.MAG {color: #aa00aa}
b.CYN {color: #00aaaa}
b.WHI {color: #aaaaaa}
b.HIK {color: #555555}
b.HIR {color: #ff5555}
b.HIG {color: #55ff55}
b.HIY {color: #ffff55}
b.HIB {color: #5555ff}
b.HIM {color: #ff55ff}
b.HIC {color: #55ffff}
b.HIW {color: #ffffff}
b.BBLK {background-color: #000000}
b.BRED {background-color: #aa0000}
b.BGRN {background-color: #00aa00}
b.BYEL {background-color: #aa5500}
b.BBLU {background-color: #0000aa}
b.BMAG {background-color: #aa00aa}
b.BCYN {background-color: #00aaaa}
b.BWHI {background-color: #aaaaaa}
</style>
</head>
<body>
<pre>MergingDataSpec:
Data
- should be merged
+ Given a table with 20 rows
+ When we use 'replaceWhere' to write those partitions where partitionKey = 0
+ Then the partition IDs that are not 0 will not change but partition 0 will have the new rows
+ <b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b>
+ <b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b><b class=WHI>+ </b><b class=CYN>+ </b><b class=BLU>+ </b><b class=RED>+ </b><b class=GRN>+ </b><b class=MAG>+ </b><b class=YEL>+ </b> </pre>
</body>
</html>
Loading

0 comments on commit 805b5e6

Please sign in to comment.