temporal analysis worksheet

temporal analysis worksheet

error: pathspec 'ws/temporal-analysis.clj' did not match any file(s) known to git

--- ws/temporal-analysis.clj
+++ ws/temporal-analysis.clj
@@ -0,0 +1,85 @@
+;; gorilla-repl.fileformat = 1
+
+;; **
+;;; # Temporal Analytics
+;; **
+
+;; @@
+(ns mirthful-shelter
+  (:refer-clojure :exclude [find sort])
+  (:require [gorilla-plot.core :as plot]
+            [gg4clj.core :as gg4clj]
+            [monger.collection :as mc]
+            [ceres-analytics.core :refer [db news-accounts nodes links]]
+            [clojure.data.priority-map :refer [priority-map]]
+            [clj-time.core :as t]
+            [clj-time.periodic :as p]
+            [incanter.stats :refer [mean]]
+            [clj-time.format :as f]
+            [monger.core :as mg]
+            [monger.joda-time]
+            [monger.operators :refer :all]
+            [aprint.core :refer [aprint]]
+            [monger.query :refer :all]))
+;; @@
+;; =>
+;;; {"type":"html","content":"nil","value":"nil"}
+;; <=
+
+;; @@
+(let [hour-count (->> {:ts {$gt (t/date-time 2015 3 13 8)
+             $lt (t/date-time 2015 3 13 8 59 59 999)}}
+       (mc/find-maps @db "pubs")
+       (pmap (fn [{:keys [target]}] (reduce + (pmap #(mc/count @db % {:target target
+                                                                     :ts {$gt (t/date-time 2015 3 13 8)
+             $lt (t/date-time 2015 3 13 8 59 59 999)}}) ["retweets" "replies" "shares"])) ))
+       frequencies
+       (sort-by val >))
+      dat {:degree (map first hour-count)
+           :count (map second hour-count)}]
+    (gg4clj/view
+    [[:<- :d (gg4clj/data-frame dat)]
+     (gg4clj/r+
+       [:ggplot :d [:aes :degree :count]]
+       [:geom_line {:stat "identity" :color "steelblue"}]
+       [:geom_point {:color "steelblue"}]
+       [:xlab "Degree"]
+       [:ylab "Count"]
+       [:ggtitle "Degree distribution"])]
+    {:width 10
+     :height 6}))
+;; @@
+;; =>
+;;; {"type":"html","content":"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"720pt\" height=\"432pt\" viewBox=\"0 0 720 432\" version=\"1.1\">\n<defs>\n<g>\n<symbol overflow=\"visible\" id=\"086c9688-de51-4355-898b-11c3de0410cc\">\n<path style=\"stroke:none;\" d=\"\"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"37d553b2-0568-4873-98a0-537519067e76\">\n<path style=\"stroke:none;\" d=\"M 4.859375 -3.265625 C 4.859375 -5.625 4.109375 -6.796875 2.640625 -6.796875 C 1.171875 -6.796875 0.40625 -5.609375 0.40625 -3.328125 C 0.40625 -1.03125 1.1875 0.140625 2.640625 0.140625 C 4.078125 0.140625 4.859375 -1.03125 4.859375 -3.265625 Z M 4 -3.34375 C 4 -1.421875 3.5625 -0.5625 2.625 -0.5625 C 1.734375 -0.5625 1.28125 -1.453125 1.28125 -3.3125 C 1.28125 -5.1875 1.734375 -6.046875 2.640625 -6.046875 C 3.546875 -6.046875 4 -5.171875 4 -3.34375 Z M 4 -3.34375 \"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"f59d96a3-8dec-4d4f-9693-a8562cb98e0c\">\n<path style=\"stroke:none;\" d=\"M 4.90625 -4.8125 C 4.90625 -5.953125 4.015625 -6.796875 2.71875 -6.796875 C 1.328125 -6.796875 0.53125 -6.09375 0.484375 -4.4375 L 1.328125 -4.4375 C 1.390625 -5.578125 1.859375 -6.0625 2.703125 -6.0625 C 3.46875 -6.0625 4.03125 -5.515625 4.03125 -4.78125 C 4.03125 -4.25 3.71875 -3.796875 3.125 -3.4375 L 2.234375 -2.9375 C 0.8125 -2.140625 0.40625 -1.5 0.328125 0 L 4.859375 0 L 4.859375 -0.828125 L 1.28125 -0.828125 C 1.359375 -1.390625 1.671875 -1.75 2.5 -2.234375 L 3.46875 -2.75 C 4.40625 -3.265625 4.90625 -3.96875 4.90625 -4.8125 Z M 4.90625 -4.8125 \"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"342ac047-dc9f-41a6-a74b-446a60cd99bd\">\n<path style=\"stroke:none;\" d=\"M 4.984375 -1.625 L 4.984375 -2.390625 L 3.984375 -2.390625 L 3.984375 -6.796875 L 3.359375 -6.796875 L 0.265625 -2.515625 L 0.265625 -1.625 L 3.140625 -1.625 L 3.140625 0 L 3.984375 0 L 3.984375 -1.625 Z M 3.140625 -2.390625 L 1 -2.390625 L 3.140625 -5.359375 Z M 3.140625 -2.390625 \"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"ea430b61-e0be-411b-b9b4-51de8b079aca\">\n<path style=\"stroke:none;\" d=\"M 4.921875 -2.109375 C 4.921875 -3.375 4.0625 -4.234375 2.84375 -4.234375 C 2.171875 -4.234375 1.640625 -3.96875 1.28125 -3.46875 C 1.28125 -5.125 1.828125 -6.046875 2.796875 -6.046875 C 3.390625 -6.046875 3.796875 -5.671875 3.9375 -5.03125 L 4.78125 -5.03125 C 4.609375 -6.140625 3.890625 -6.796875 2.84375 -6.796875 C 1.265625 -6.796875 0.40625 -5.46875 0.40625 -3.09375 C 0.40625 -0.984375 1.140625 0.140625 2.703125 0.140625 C 3.984375 0.140625 4.921875 -0.78125 4.921875 -2.109375 Z M 4.0625 -2.046875 C 4.0625 -1.1875 3.484375 -0.609375 2.703125 -0.609375 C 1.921875 -0.609375 1.328125 -1.21875 1.328125 -2.09375 C 1.328125 -2.9375 1.90625 -3.484375 2.734375 -3.484375 C 3.546875 -3.484375 4.0625 -2.953125 4.0625 -2.046875 Z M 4.0625 -2.046875 \"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"9ec3f15b-7527-4cb3-bfb2-19fbc5b5d16d\">\n<path style=\"stroke:none;\" d=\"M 4.921875 -2.25 C 4.921875 -3.59375 4.03125 -4.484375 2.71875 -4.484375 C 2.25 -4.484375 1.859375 -4.359375 1.46875 -4.0625 L 1.734375 -5.828125 L 4.5625 -5.828125 L 4.5625 -6.65625 L 1.0625 -6.65625 L 0.546875 -3.09375 L 1.328125 -3.09375 C 1.71875 -3.5625 2.046875 -3.734375 2.578125 -3.734375 C 3.484375 -3.734375 4.0625 -3.140625 4.0625 -2.140625 C 4.0625 -1.15625 3.484375 -0.609375 2.578125 -0.609375 C 1.828125 -0.609375 1.375 -0.984375 1.1875 -1.75 L 0.328125 -1.75 C 0.609375 -0.390625 1.375 0.140625 2.59375 0.140625 C 3.96875 0.140625 4.921875 -0.8125 4.921875 -2.25 Z M 4.921875 -2.25 \"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"5bb0f71c-3722-493a-946b-d82f53bd7064\">\n<path style=\"stroke:none;\" d=\"M 3.328125 0 L 3.328125 -6.796875 L 2.765625 -6.796875 C 2.46875 -5.75 2.28125 -5.609375 0.984375 -5.453125 L 0.984375 -4.84375 L 2.484375 -4.84375 L 2.484375 0 Z M 3.328125 0 \"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"23b765d6-5f2f-4e85-b16f-c85b5af63a17\">\n<path style=\"stroke:none;\" d=\"\"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"1c186638-57d6-4b69-8c40-5d84120ce6fd\">\n<path style=\"stroke:none;\" d=\"M 8 -4.375 C 8 -7.09375 6.65625 -8.75 4.4375 -8.75 L 1.0625 -8.75 L 1.0625 0 L 4.4375 0 C 6.640625 0 8 -1.65625 8 -4.375 Z M 6.890625 -4.375 C 6.890625 -2.15625 5.96875 -0.984375 4.25 -0.984375 L 2.1875 -0.984375 L 2.1875 -7.765625 L 4.25 -7.765625 C 5.96875 -7.765625 6.890625 -6.59375 6.890625 -4.375 Z M 6.890625 -4.375 \"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"70209b5e-a087-4741-aec3-4683c7c96dec\">\n<path style=\"stroke:none;\" d=\"M 6.15625 -2.859375 C 6.15625 -3.765625 6.078125 -4.34375 5.90625 -4.8125 C 5.5 -5.84375 4.53125 -6.46875 3.359375 -6.46875 C 1.609375 -6.46875 0.484375 -5.171875 0.484375 -3.109375 C 0.484375 -1.046875 1.578125 0.1875 3.34375 0.1875 C 4.78125 0.1875 5.765625 -0.640625 6.03125 -1.90625 L 5.015625 -1.90625 C 4.734375 -1.078125 4.171875 -0.75 3.375 -0.75 C 2.328125 -0.75 1.546875 -1.421875 1.53125 -2.859375 Z M 5.09375 -3.75 C 5.09375 -3.75 5.09375 -3.703125 5.078125 -3.671875 L 1.546875 -3.671875 C 1.625 -4.78125 2.34375 -5.546875 3.34375 -5.546875 C 4.328125 -5.546875 5.09375 -4.734375 5.09375 -3.75 Z M 5.09375 -3.75 \"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"dfa2c169-c1da-457b-b75d-824ca7c86afd\">\n<path style=\"stroke:none;\" d=\"M 5.875 -1.03125 L 5.875 -6.28125 L 4.9375 -6.28125 L 4.9375 -5.375 C 4.4375 -6.125 3.828125 -6.46875 3.03125 -6.46875 C 1.421875 -6.46875 0.34375 -5.125 0.34375 -3.078125 C 0.34375 -1.109375 1.46875 0.1875 2.9375 0.1875 C 3.734375 0.1875 4.28125 -0.15625 4.9375 -0.953125 L 4.9375 -0.53125 C 4.9375 1.140625 4.265625 1.78125 3.09375 1.78125 C 2.296875 1.78125 1.6875 1.484375 1.578125 0.71875 L 0.546875 0.71875 C 0.65625 1.90625 1.578125 2.609375 3.0625 2.609375 C 5.03125 2.609375 5.875 1.734375 5.875 -1.03125 Z M 4.84375 -3.109375 C 4.84375 -1.609375 4.203125 -0.75 3.140625 -0.75 C 2.046875 -0.75 1.390625 -1.625 1.390625 -3.140625 C 1.390625 -4.65625 2.0625 -5.546875 3.125 -5.546875 C 4.21875 -5.546875 4.84375 -4.625 4.84375 -3.109375 Z M 4.84375 -3.109375 \"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"8a35ed7a-907e-45c7-b26d-5567956d1ec9\">\n<path style=\"stroke:none;\" d=\"M 3.859375 -5.40625 L 3.859375 -6.4375 C 3.6875 -6.453125 3.59375 -6.46875 3.46875 -6.46875 C 2.8125 -6.46875 2.328125 -6.078125 1.75 -5.140625 L 1.75 -6.28125 L 0.84375 -6.28125 L 0.84375 0 L 1.84375 0 L 1.84375 -3.265625 C 1.84375 -4.6875 2.296875 -5.390625 3.859375 -5.40625 Z M 3.859375 -5.40625 \"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"5ac90907-e82c-4637-9da4-ff4f576c76ca\">\n<path style=\"stroke:none;\" d=\"\"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"93ac70e0-82c2-4d34-ae95-fff33b74936e\">\n<path style=\"stroke:none;\" d=\"M -3.1875 -8.125 L -3.1875 -6.96875 C -1.53125 -6.703125 -0.765625 -6.015625 -0.765625 -4.53125 C -0.765625 -2.796875 -2.09375 -1.6875 -4.28125 -1.6875 C -6.53125 -1.6875 -7.984375 -2.75 -7.984375 -4.4375 C -7.984375 -5.8125 -7.375 -6.53125 -6.03125 -6.796875 L -6.03125 -7.9375 C -7.953125 -7.59375 -8.96875 -6.484375 -8.96875 -4.578125 C -8.96875 -1.921875 -6.828125 -0.578125 -4.265625 -0.578125 C -1.71875 -0.578125 0.21875 -1.953125 0.21875 -4.53125 C 0.21875 -6.65625 -0.90625 -7.859375 -3.1875 -8.125 Z M -3.1875 -8.125 \"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"fac51cd1-9463-41b2-ba77-bdd8fdaac25f\">\n<path style=\"stroke:none;\" d=\"M -3.09375 -6.125 C -5.265625 -6.125 -6.46875 -5.078125 -6.46875 -3.265625 C -6.46875 -1.5 -5.25 -0.4375 -3.140625 -0.4375 C -1.03125 -0.4375 0.1875 -1.484375 0.1875 -3.28125 C 0.1875 -5.046875 -1.03125 -6.125 -3.09375 -6.125 Z M -3.109375 -5.078125 C -1.625 -5.078125 -0.75 -4.375 -0.75 -3.28125 C -0.75 -2.15625 -1.625 -1.46875 -3.140625 -1.46875 C -4.65625 -1.46875 -5.546875 -2.15625 -5.546875 -3.28125 C -5.546875 -4.40625 -4.671875 -5.078125 -3.109375 -5.078125 Z M -3.109375 -5.078125 \"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"ca0d43a3-0304-4df7-985e-3b5c9482bcf6\">\n<path style=\"stroke:none;\" d=\"M 0 -5.78125 L -6.28125 -5.78125 L -6.28125 -4.78125 L -2.8125 -4.78125 C -1.53125 -4.78125 -0.703125 -4.109375 -0.703125 -3.078125 C -0.703125 -2.28125 -1.171875 -1.78125 -1.9375 -1.78125 L -6.28125 -1.78125 L -6.28125 -0.78125 L -1.53125 -0.78125 C -0.484375 -0.78125 0.1875 -1.5625 0.1875 -2.78125 C 0.1875 -3.703125 -0.140625 -4.296875 -0.96875 -4.890625 L 0 -4.890625 Z M 0 -5.78125 \"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"4d71d344-12d0-4951-8b04-6f0e0e9241dc\">\n<path style=\"stroke:none;\" d=\"M 0 -5.84375 L -4.75 -5.84375 C -5.796875 -5.84375 -6.46875 -5.0625 -6.46875 -3.859375 C -6.46875 -2.921875 -6.109375 -2.3125 -5.234375 -1.765625 L -6.28125 -1.765625 L -6.28125 -0.84375 L 0 -0.84375 L 0 -1.84375 L -3.46875 -1.84375 C -4.75 -1.84375 -5.59375 -2.53125 -5.59375 -3.546875 C -5.59375 -4.34375 -5.109375 -4.84375 -4.359375 -4.84375 L 0 -4.84375 Z M 0 -5.84375 \"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"7065ad16-4df4-4bfe-b4d7-da746634241a\">\n<path style=\"stroke:none;\" d=\"M 0 -3.046875 L -0.84375 -3.046875 C -0.796875 -2.921875 -0.796875 -2.765625 -0.796875 -2.5625 C -0.796875 -2.140625 -0.90625 -2.015625 -1.359375 -2.015625 L -5.46875 -2.015625 L -5.46875 -3.046875 L -6.28125 -3.046875 L -6.28125 -2.015625 L -8.015625 -2.015625 L -8.015625 -1.015625 L -6.28125 -1.015625 L -6.28125 -0.171875 L -5.46875 -0.171875 L -5.46875 -1.015625 L -0.90625 -1.015625 C -0.28125 -1.015625 0.078125 -1.453125 0.078125 -2.234375 C 0.078125 -2.46875 0.0625 -2.71875 0 -3.046875 Z M 0 -3.046875 \"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"7e87e140-3084-44bf-9804-200fbfd31e96\">\n<path style=\"stroke:none;\" d=\"\"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"283d28d0-e584-4b50-b24e-d1e40f112a64\">\n<path style=\"stroke:none;\" d=\"M 9.609375 -5.265625 C 9.609375 -8.515625 8 -10.5 5.328125 -10.5 L 1.28125 -10.5 L 1.28125 0 L 5.328125 0 C 7.984375 0 9.609375 -1.984375 9.609375 -5.265625 Z M 8.265625 -5.25 C 8.265625 -2.59375 7.171875 -1.1875 5.09375 -1.1875 L 2.625 -1.1875 L 2.625 -9.328125 L 5.09375 -9.328125 C 7.171875 -9.328125 8.265625 -7.921875 8.265625 -5.25 Z M 8.265625 -5.25 \"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"f9f64d39-80ec-4dcb-b510-8d387dd38850\">\n<path style=\"stroke:none;\" d=\"M 7.390625 -3.421875 C 7.390625 -4.53125 7.296875 -5.21875 7.09375 -5.78125 C 6.59375 -7.015625 5.453125 -7.765625 4.03125 -7.765625 C 1.9375 -7.765625 0.578125 -6.203125 0.578125 -3.734375 C 0.578125 -1.25 1.890625 0.21875 4 0.21875 C 5.734375 0.21875 6.921875 -0.765625 7.234375 -2.296875 L 6.015625 -2.296875 C 5.6875 -1.296875 5.015625 -0.890625 4.046875 -0.890625 C 2.796875 -0.890625 1.859375 -1.703125 1.828125 -3.421875 Z M 6.109375 -4.5 C 6.109375 -4.5 6.109375 -4.4375 6.09375 -4.40625 L 1.859375 -4.40625 C 1.953125 -5.75 2.8125 -6.65625 4.015625 -6.65625 C 5.203125 -6.65625 6.109375 -5.671875 6.109375 -4.5 Z M 6.109375 -4.5 \"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"c11e6e86-6152-4420-9adf-4eb2000a7ed1\">\n<path style=\"stroke:none;\" d=\"M 7.046875 -1.234375 L 7.046875 -7.546875 L 5.9375 -7.546875 L 5.9375 -6.453125 C 5.328125 -7.34375 4.59375 -7.765625 3.625 -7.765625 C 1.71875 -7.765625 0.421875 -6.15625 0.421875 -3.703125 C 0.421875 -1.328125 1.75 0.21875 3.53125 0.21875 C 4.484375 0.21875 5.140625 -0.1875 5.9375 -1.140625 L 5.9375 -0.640625 C 5.9375 1.375 5.109375 2.125 3.71875 2.125 C 2.765625 2.125 2.03125 1.78125 1.890625 0.859375 L 0.65625 0.859375 C 0.796875 2.296875 1.90625 3.140625 3.671875 3.140625 C 6.03125 3.140625 7.046875 2.09375 7.046875 -1.234375 Z M 5.8125 -3.734375 C 5.8125 -1.9375 5.046875 -0.890625 3.78125 -0.890625 C 2.46875 -0.890625 1.671875 -1.9375 1.671875 -3.78125 C 1.671875 -5.59375 2.484375 -6.65625 3.765625 -6.65625 C 5.0625 -6.65625 5.8125 -5.5625 5.8125 -3.734375 Z M 5.8125 -3.734375 \"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"709ae2d9-2eb7-4c37-a882-1156815a4856\">\n<path style=\"stroke:none;\" d=\"M 4.625 -6.5 L 4.625 -7.71875 C 4.421875 -7.75 4.328125 -7.765625 4.15625 -7.765625 C 3.390625 -7.765625 2.796875 -7.296875 2.109375 -6.1875 L 2.109375 -7.546875 L 1.015625 -7.546875 L 1.015625 0 L 2.203125 0 L 2.203125 -3.921875 C 2.203125 -5.625 2.765625 -6.46875 4.625 -6.5 Z M 4.625 -6.5 \"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"cc99d58d-27ab-40de-8c2e-64846982f8bf\">\n<path style=\"stroke:none;\" d=\"\"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"2afd355c-8ade-40da-8ea0-4d4e539b5094\">\n<path style=\"stroke:none;\" d=\"M 7.125 0 L 7.125 -10.5 L 5.9375 -10.5 L 5.9375 -6.59375 C 5.4375 -7.359375 4.625 -7.765625 3.609375 -7.765625 C 1.65625 -7.765625 0.375 -6.25 0.375 -3.84375 C 0.375 -1.296875 1.625 0.21875 3.65625 0.21875 C 4.703125 0.21875 5.421875 -0.171875 6.0625 -1.109375 L 6.0625 0 Z M 5.9375 -3.75 C 5.9375 -2 5.09375 -0.90625 3.828125 -0.90625 C 2.5 -0.90625 1.625 -2.015625 1.625 -3.78125 C 1.625 -5.53125 2.5 -6.640625 3.8125 -6.640625 C 5.109375 -6.640625 5.9375 -5.484375 5.9375 -3.75 Z M 5.9375 -3.75 \"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"8e3e85cd-896f-4dc3-83ee-d13be4ff2ba3\">\n<path style=\"stroke:none;\" d=\"M 2.203125 0 L 2.203125 -7.546875 L 1.015625 -7.546875 L 1.015625 0 Z M 2.359375 -8.6875 L 2.359375 -10.1875 L 0.859375 -10.1875 L 0.859375 -8.6875 Z M 2.359375 -8.6875 \"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"658f896a-2110-4c3e-9451-3ae91931a245\">\n<path style=\"stroke:none;\" d=\"M 6.609375 -2.125 C 6.609375 -3.234375 5.984375 -3.796875 4.484375 -4.15625 L 3.328125 -4.4375 C 2.34375 -4.671875 1.9375 -4.984375 1.9375 -5.515625 C 1.9375 -6.203125 2.546875 -6.65625 3.53125 -6.65625 C 4.5 -6.65625 5.015625 -6.234375 5.046875 -5.453125 L 6.3125 -5.453125 C 6.296875 -6.921875 5.3125 -7.765625 3.578125 -7.765625 C 1.8125 -7.765625 0.671875 -6.859375 0.671875 -5.453125 C 0.671875 -4.28125 1.28125 -3.71875 3.0625 -3.28125 L 4.1875 -3.015625 C 5.03125 -2.8125 5.359375 -2.5625 5.359375 -2.015625 C 5.359375 -1.3125 4.65625 -0.890625 3.59375 -0.890625 C 2.515625 -0.890625 1.921875 -1.15625 1.75 -2.3125 L 0.484375 -2.3125 C 0.546875 -0.5625 1.53125 0.21875 3.5 0.21875 C 5.40625 0.21875 6.609375 -0.65625 6.609375 -2.125 Z M 6.609375 -2.125 \"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"9d1586a7-83fc-4b4a-a261-7e1307d801e7\">\n<path style=\"stroke:none;\" d=\"M 3.65625 0 L 3.65625 -1.015625 C 3.5 -0.96875 3.3125 -0.953125 3.078125 -0.953125 C 2.5625 -0.953125 2.421875 -1.09375 2.421875 -1.625 L 2.421875 -6.5625 L 3.65625 -6.5625 L 3.65625 -7.546875 L 2.421875 -7.546875 L 2.421875 -9.625 L 1.21875 -9.625 L 1.21875 -7.546875 L 0.203125 -7.546875 L 0.203125 -6.5625 L 1.21875 -6.5625 L 1.21875 -1.09375 C 1.21875 -0.328125 1.75 0.09375 2.671875 0.09375 C 2.96875 0.09375 3.25 0.078125 3.65625 0 Z M 3.65625 0 \"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"c75c6f16-37b6-42c7-be9c-ab00682eb24c\">\n<path style=\"stroke:none;\" d=\"M 7.53125 -3.859375 C 7.53125 -6.3125 6.296875 -7.765625 4.3125 -7.765625 C 3.265625 -7.765625 2.53125 -7.375 1.96875 -6.53125 L 1.96875 -10.5 L 0.78125 -10.5 L 0.78125 0 L 1.859375 0 L 1.859375 -1.078125 C 2.4375 -0.203125 3.203125 0.21875 4.25 0.21875 C 6.234375 0.21875 7.53125 -1.40625 7.53125 -3.859375 Z M 6.28125 -3.78125 C 6.28125 -2.078125 5.390625 -0.90625 4.078125 -0.90625 C 2.8125 -0.90625 1.96875 -2.0625 1.96875 -3.78125 C 1.96875 -5.546875 2.8125 -6.703125 4.078125 -6.640625 C 5.421875 -6.640625 6.28125 -5.46875 6.28125 -3.78125 Z M 6.28125 -3.78125 \"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"7bf7bb62-dace-4944-8600-a3b040e71f04\">\n<path style=\"stroke:none;\" d=\"M 6.9375 0 L 6.9375 -7.546875 L 5.75 -7.546875 L 5.75 -3.390625 C 5.75 -1.84375 4.9375 -0.828125 3.6875 -0.828125 C 2.734375 -0.828125 2.125 -1.40625 2.125 -2.3125 L 2.125 -7.546875 L 0.9375 -7.546875 L 0.9375 -1.84375 C 0.9375 -0.59375 1.875 0.21875 3.34375 0.21875 C 4.453125 0.21875 5.15625 -0.171875 5.859375 -1.171875 L 5.859375 0 Z M 6.9375 0 \"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"149fdfe0-90f0-49b0-a1e6-a6962c501f22\">\n<path style=\"stroke:none;\" d=\"M 7.34375 -3.71875 C 7.34375 -6.328125 6.09375 -7.765625 3.921875 -7.765625 C 1.796875 -7.765625 0.515625 -6.3125 0.515625 -3.78125 C 0.515625 -1.234375 1.78125 0.21875 3.9375 0.21875 C 6.046875 0.21875 7.34375 -1.234375 7.34375 -3.71875 Z M 6.09375 -3.734375 C 6.09375 -1.953125 5.265625 -0.890625 3.9375 -0.890625 C 2.59375 -0.890625 1.765625 -1.9375 1.765625 -3.78125 C 1.765625 -5.59375 2.59375 -6.65625 3.9375 -6.65625 C 5.28125 -6.65625 6.09375 -5.609375 6.09375 -3.734375 Z M 6.09375 -3.734375 \"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"b57a4530-60bf-4035-967a-a8c3195b5bea\">\n<path style=\"stroke:none;\" d=\"M 7.015625 0 L 7.015625 -5.703125 C 7.015625 -6.953125 6.078125 -7.765625 4.625 -7.765625 C 3.5 -7.765625 2.78125 -7.328125 2.125 -6.28125 L 2.125 -7.546875 L 1.015625 -7.546875 L 1.015625 0 L 2.203125 0 L 2.203125 -4.15625 C 2.203125 -5.703125 3.046875 -6.71875 4.265625 -6.71875 C 5.21875 -6.71875 5.8125 -6.140625 5.8125 -5.234375 L 5.8125 0 Z M 7.015625 0 \"/>\n</symbol>\n</g>\n<clipPath id=\"2bd095f1-a00f-4486-97a3-2ea2b7ffb543\">\n  <path d=\"M 47.488281 32.601562 L 706 32.601562 L 706 395 L 47.488281 395 Z M 47.488281 32.601562 \"/>\n</clipPath>\n<clipPath id=\"b23647ab-17f6-40d0-ae68-ae4bde53ca7d\">\n  <path d=\"M 47.488281 332 L 706 332 L 706 334 L 47.488281 334 Z M 47.488281 332 \"/>\n</clipPath>\n<clipPath id=\"1eb8647e-8d72-4ac8-bc0f-dbd9f246c5a6\">\n  <path d=\"M 47.488281 242 L 706 242 L 706 243 L 47.488281 243 Z M 47.488281 242 \"/>\n</clipPath>\n<clipPath id=\"fef6f92f-0aa1-4578-84ca-db39ee4fe578\">\n  <path d=\"M 47.488281 151 L 706 151 L 706 153 L 47.488281 153 Z M 47.488281 151 \"/>\n</clipPath>\n<clipPath id=\"f26407da-e64b-4cd2-9072-666255829a0e\">\n  <path d=\"M 47.488281 61 L 706 61 L 706 62 L 47.488281 62 Z M 47.488281 61 \"/>\n</clipPath>\n<clipPath id=\"31fe8269-0027-4ddb-a977-09bc67b362b3\">\n  <path d=\"M 170 32.601562 L 172 32.601562 L 172 395 L 170 395 Z M 170 32.601562 \"/>\n</clipPath>\n<clipPath id=\"963e9f0d-cb66-4d87-ac6b-74d566142d8f\">\n  <path d=\"M 357 32.601562 L 359 32.601562 L 359 395 L 357 395 Z M 357 32.601562 \"/>\n</clipPath>\n<clipPath id=\"0392a560-8333-4a73-81b9-10f3fe237428\">\n  <path d=\"M 544 32.601562 L 546 32.601562 L 546 395 L 544 395 Z M 544 32.601562 \"/>\n</clipPath>\n<clipPath id=\"9eea504b-b99f-4201-a8c7-c86625b2fd32\">\n  <path d=\"M 47.488281 377 L 706.601562 377 L 706.601562 380 L 47.488281 380 Z M 47.488281 377 \"/>\n</clipPath>\n<clipPath id=\"b54a1972-d49b-448b-88f3-59e512a7930c\">\n  <path d=\"M 47.488281 287 L 706.601562 287 L 706.601562 289 L 47.488281 289 Z M 47.488281 287 \"/>\n</clipPath>\n<clipPath id=\"b3fc261f-1e86-415a-b2e9-2af5794ed95a\">\n  <path d=\"M 47.488281 196 L 706.601562 196 L 706.601562 198 L 47.488281 198 Z M 47.488281 196 \"/>\n</clipPath>\n<clipPath id=\"dcb6c361-8de0-4a07-afb0-432426fb9f9d\">\n  <path d=\"M 47.488281 106 L 706.601562 106 L 706.601562 108 L 47.488281 108 Z M 47.488281 106 \"/>\n</clipPath>\n<clipPath id=\"0ae868d3-e6f9-495c-bf28-4c914e30afaa\">\n  <path d=\"M 76 32.601562 L 78 32.601562 L 78 395.515625 L 76 395.515625 Z M 76 32.601562 \"/>\n</clipPath>\n<clipPath id=\"8f21042b-e8d0-4dae-b08c-3c31e6304bf3\">\n  <path d=\"M 263 32.601562 L 265 32.601562 L 265 395.515625 L 263 395.515625 Z M 263 32.601562 \"/>\n</clipPath>\n<clipPath id=\"30975faa-8152-49e8-a81e-9e269eee792e\">\n  <path d=\"M 450 32.601562 L 452 32.601562 L 452 395.515625 L 450 395.515625 Z M 450 32.601562 \"/>\n</clipPath>\n<clipPath id=\"e04ecf88-6b17-428b-95cb-04e3273da61a\">\n  <path d=\"M 637 32.601562 L 639 32.601562 L 639 395.515625 L 637 395.515625 Z M 637 32.601562 \"/>\n</clipPath>\n</defs>\n<g id=\"48f1465f-696e-4464-8dd2-e66a1421f737\">\n<rect x=\"0\" y=\"0\" width=\"720\" height=\"432\" style=\"fill:rgb(100%,100%,100%);fill-opacity:1;stroke:none;\"/>\n<rect x=\"0\" y=\"0\" width=\"720\" height=\"432\" style=\"fill:rgb(100%,100%,100%);fill-opacity:1;stroke:none;\"/>\n<path style=\"fill:none;stroke-width:1.062992;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:10;\" d=\"M 0 432 L 720 432 L 720 0 L 0 0 Z M 0 432 \"/>\n<g clip-path=\"url(#2bd095f1-a00f-4486-97a3-2ea2b7ffb543)\" clip-rule=\"nonzero\">\n<path style=\" stroke:none;fill-rule:nonzero;fill:rgb(89.803922%,89.803922%,89.803922%);fill-opacity:1;\" d=\"M 47.488281 394.511719 L 705.601562 394.511719 L 705.601562 32.597656 L 47.488281 32.597656 Z M 47.488281 394.511719 \"/>\n</g>\n<g clip-path=\"url(#b23647ab-17f6-40d0-ae68-ae4bde53ca7d)\" clip-rule=\"nonzero\">\n<path style=\"fill:none;stroke-width:0.531496;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(94.901961%,94.901961%,94.901961%);stroke-opacity:1;stroke-miterlimit:10;\" d=\"M 47.488281 333.199219 L 705.601562 333.199219 \"/>\n</g>\n<g clip-path=\"url(#1eb8647e-8d72-4ac8-bc0f-dbd9f246c5a6)\" clip-rule=\"nonzero\">\n<path style=\"fill:none;stroke-width:0.531496;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(94.901961%,94.901961%,94.901961%);stroke-opacity:1;stroke-miterlimit:10;\" d=\"M 47.488281 242.558594 L 705.601562 242.558594 \"/>\n</g>\n<g clip-path=\"url(#fef6f92f-0aa1-4578-84ca-db39ee4fe578)\" clip-rule=\"nonzero\">\n<path style=\"fill:none;stroke-width:0.531496;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(94.901961%,94.901961%,94.901961%);stroke-opacity:1;stroke-miterlimit:10;\" d=\"M 47.488281 151.921875 L 705.601562 151.921875 \"/>\n</g>\n<g clip-path=\"url(#f26407da-e64b-4cd2-9072-666255829a0e)\" clip-rule=\"nonzero\">\n<path style=\"fill:none;stroke-width:0.531496;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(94.901961%,94.901961%,94.901961%);stroke-opacity:1;stroke-miterlimit:10;\" d=\"M 47.488281 61.285156 L 705.601562 61.285156 \"/>\n</g>\n<g clip-path=\"url(#31fe8269-0027-4ddb-a977-09bc67b362b3)\" clip-rule=\"nonzero\">\n<path style=\"fill:none;stroke-width:0.531496;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(94.901961%,94.901961%,94.901961%);stroke-opacity:1;stroke-miterlimit:10;\" d=\"M 170.882812 394.511719 L 170.882812 32.601562 \"/>\n</g>\n<g clip-path=\"url(#963e9f0d-cb66-4d87-ac6b-74d566142d8f)\" clip-rule=\"nonzero\">\n<path style=\"fill:none;stroke-width:0.531496;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(94.901961%,94.901961%,94.901961%);stroke-opacity:1;stroke-miterlimit:10;\" d=\"M 357.847656 394.511719 L 357.847656 32.601562 \"/>\n</g>\n<g clip-path=\"url(#0392a560-8333-4a73-81b9-10f3fe237428)\" clip-rule=\"nonzero\">\n<path style=\"fill:none;stroke-width:0.531496;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(94.901961%,94.901961%,94.901961%);stroke-opacity:1;stroke-miterlimit:10;\" d=\"M 544.8125 394.511719 L 544.8125 32.601562 \"/>\n</g>\n<g clip-path=\"url(#9eea504b-b99f-4201-a8c7-c86625b2fd32)\" clip-rule=\"nonzero\">\n<path style=\"fill:none;stroke-width:1.062992;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:10;\" d=\"M 47.488281 378.515625 L 705.601562 378.515625 \"/>\n</g>\n<g clip-path=\"url(#b54a1972-d49b-448b-88f3-59e512a7930c)\" clip-rule=\"nonzero\">\n<path style=\"fill:none;stroke-width:1.062992;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:10;\" d=\"M 47.488281 287.878906 L 705.601562 287.878906 \"/>\n</g>\n<g clip-path=\"url(#b3fc261f-1e86-415a-b2e9-2af5794ed95a)\" clip-rule=\"nonzero\">\n<path style=\"fill:none;stroke-width:1.062992;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:10;\" d=\"M 47.488281 197.242188 L 705.601562 197.242188 \"/>\n</g>\n<g clip-path=\"url(#dcb6c361-8de0-4a07-afb0-432426fb9f9d)\" clip-rule=\"nonzero\">\n<path style=\"fill:none;stroke-width:1.062992;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:10;\" d=\"M 47.488281 106.605469 L 705.601562 106.605469 \"/>\n</g>\n<g clip-path=\"url(#0ae868d3-e6f9-495c-bf28-4c914e30afaa)\" clip-rule=\"nonzero\">\n<path style=\"fill:none;stroke-width:1.062992;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:10;\" d=\"M 77.402344 394.511719 L 77.402344 32.601562 \"/>\n</g>\n<g clip-path=\"url(#8f21042b-e8d0-4dae-b08c-3c31e6304bf3)\" clip-rule=\"nonzero\">\n<path style=\"fill:none;stroke-width:1.062992;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:10;\" d=\"M 264.363281 394.511719 L 264.363281 32.601562 \"/>\n</g>\n<g clip-path=\"url(#30975faa-8152-49e8-a81e-9e269eee792e)\" clip-rule=\"nonzero\">\n<path style=\"fill:none;stroke-width:1.062992;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:10;\" d=\"M 451.328125 394.511719 L 451.328125 32.601562 \"/>\n</g>\n<g clip-path=\"url(#e04ecf88-6b17-428b-95cb-04e3273da61a)\" clip-rule=\"nonzero\">\n<path style=\"fill:none;stroke-width:1.062992;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:10;\" d=\"M 638.292969 394.511719 L 638.292969 32.601562 \"/>\n</g>\n<path style=\"fill:none;stroke-width:1.062992;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(27.45098%,50.980392%,70.588235%);stroke-opacity:1;stroke-miterlimit:1;\" d=\"M 77.402344 49.050781 L 114.792969 352.230469 L 152.1875 369.90625 L 189.578125 375.796875 L 226.972656 376.25 L 264.363281 376.25 L 339.152344 377.15625 L 376.542969 377.609375 L 488.722656 378.0625 L 563.507812 377.609375 L 600.898438 378.0625 L 638.292969 377.609375 L 675.6875 378.0625 \"/>\n<path style=\" stroke:none;fill-rule:nonzero;fill:rgb(27.45098%,50.980392%,70.588235%);fill-opacity:1;\" d=\"M 79.527344 49.050781 C 79.527344 51.886719 75.273438 51.886719 75.273438 49.050781 C 75.273438 46.214844 79.527344 46.214844 79.527344 49.050781 \"/>\n<path style=\" stroke:none;fill-rule:nonzero;fill:rgb(27.45098%,50.980392%,70.588235%);fill-opacity:1;\" d=\"M 116.917969 352.230469 C 116.917969 355.066406 112.667969 355.066406 112.667969 352.230469 C 112.667969 349.398438 116.917969 349.398438 116.917969 352.230469 \"/>\n<path style=\" stroke:none;fill-rule:nonzero;fill:rgb(27.45098%,50.980392%,70.588235%);fill-opacity:1;\" d=\"M 154.3125 369.90625 C 154.3125 372.738281 150.058594 372.738281 150.058594 369.90625 C 150.058594 367.070312 154.3125 367.070312 154.3125 369.90625 \"/>\n<path style=\" stroke:none;fill-rule:nonzero;fill:rgb(27.45098%,50.980392%,70.588235%);fill-opacity:1;\" d=\"M 191.707031 375.796875 C 191.707031 378.632812 187.453125 378.632812 187.453125 375.796875 C 187.453125 372.960938 191.707031 372.960938 191.707031 375.796875 \"/>\n<path style=\" stroke:none;fill-rule:nonzero;fill:rgb(27.45098%,50.980392%,70.588235%);fill-opacity:1;\" d=\"M 229.097656 376.25 C 229.097656 379.085938 224.847656 379.085938 224.847656 376.25 C 224.847656 373.414062 229.097656 373.414062 229.097656 376.25 \"/>\n<path style=\" stroke:none;fill-rule:nonzero;fill:rgb(27.45098%,50.980392%,70.588235%);fill-opacity:1;\" d=\"M 266.492188 376.25 C 266.492188 379.085938 262.238281 379.085938 262.238281 376.25 C 262.238281 373.414062 266.492188 373.414062 266.492188 376.25 \"/>\n<path style=\" stroke:none;fill-rule:nonzero;fill:rgb(27.45098%,50.980392%,70.588235%);fill-opacity:1;\" d=\"M 303.882812 376.703125 C 303.882812 379.539062 299.632812 379.539062 299.632812 376.703125 C 299.632812 373.867188 303.882812 373.867188 303.882812 376.703125 \"/>\n<path style=\" stroke:none;fill-rule:nonzero;fill:rgb(27.45098%,50.980392%,70.588235%);fill-opacity:1;\" d=\"M 341.277344 377.15625 C 341.277344 379.992188 337.023438 379.992188 337.023438 377.15625 C 337.023438 374.320312 341.277344 374.320312 341.277344 377.15625 \"/>\n<path style=\" stroke:none;fill-rule:nonzero;fill:rgb(27.45098%,50.980392%,70.588235%);fill-opacity:1;\" d=\"M 640.417969 377.609375 C 640.417969 380.445312 636.167969 380.445312 636.167969 377.609375 C 636.167969 374.773438 640.417969 374.773438 640.417969 377.609375 \"/>\n<path style=\" stroke:none;fill-rule:nonzero;fill:rgb(27.45098%,50.980392%,70.588235%);fill-opacity:1;\" d=\"M 565.632812 377.609375 C 565.632812 380.445312 561.382812 380.445312 561.382812 377.609375 C 561.382812 374.773438 565.632812 374.773438 565.632812 377.609375 \"/>\n<path style=\" stroke:none;fill-rule:nonzero;fill:rgb(27.45098%,50.980392%,70.588235%);fill-opacity:1;\" d=\"M 378.667969 377.609375 C 378.667969 380.445312 374.417969 380.445312 374.417969 377.609375 C 374.417969 374.773438 378.667969 374.773438 378.667969 377.609375 \"/>\n<path style=\" stroke:none;fill-rule:nonzero;fill:rgb(27.45098%,50.980392%,70.588235%);fill-opacity:1;\" d=\"M 490.847656 378.0625 C 490.847656 380.898438 486.597656 380.898438 486.597656 378.0625 C 486.597656 375.226562 490.847656 375.226562 490.847656 378.0625 \"/>\n<path style=\" stroke:none;fill-rule:nonzero;fill:rgb(27.45098%,50.980392%,70.588235%);fill-opacity:1;\" d=\"M 603.027344 378.0625 C 603.027344 380.898438 598.773438 380.898438 598.773438 378.0625 C 598.773438 375.226562 603.027344 375.226562 603.027344 378.0625 \"/>\n<path style=\" stroke:none;fill-rule:nonzero;fill:rgb(27.45098%,50.980392%,70.588235%);fill-opacity:1;\" d=\"M 677.8125 378.0625 C 677.8125 380.898438 673.558594 380.898438 673.558594 378.0625 C 673.558594 375.226562 677.8125 375.226562 677.8125 378.0625 \"/>\n<g style=\"fill:rgb(49.803922%,49.803922%,49.803922%);fill-opacity:1;\">\n  <use xlink:href=\"#37d553b2-0568-4873-98a0-537519067e76\" x=\"34.398438\" y=\"381.035156\"/>\n</g>\n<g style=\"fill:rgb(49.803922%,49.803922%,49.803922%);fill-opacity:1;\">\n  <use xlink:href=\"#f59d96a3-8dec-4d4f-9693-a8562cb98e0c\" x=\"23.398438\" y=\"290.398438\"/>\n  <use xlink:href=\"#37d553b2-0568-4873-98a0-537519067e76\" x=\"28.732422\" y=\"290.398438\"/>\n  <use xlink:href=\"#37d553b2-0568-4873-98a0-537519067e76\" x=\"34.066406\" y=\"290.398438\"/>\n</g>\n<g style=\"fill:rgb(49.803922%,49.803922%,49.803922%);fill-opacity:1;\">\n  <use xlink:href=\"#342ac047-dc9f-41a6-a74b-446a60cd99bd\" x=\"23.398438\" y=\"199.761719\"/>\n  <use xlink:href=\"#37d553b2-0568-4873-98a0-537519067e76\" x=\"28.732422\" y=\"199.761719\"/>\n  <use xlink:href=\"#37d553b2-0568-4873-98a0-537519067e76\" x=\"34.066406\" y=\"199.761719\"/>\n</g>\n<g style=\"fill:rgb(49.803922%,49.803922%,49.803922%);fill-opacity:1;\">\n  <use xlink:href=\"#ea430b61-e0be-411b-b9b4-51de8b079aca\" x=\"23.398438\" y=\"109.125\"/>\n  <use xlink:href=\"#37d553b2-0568-4873-98a0-537519067e76\" x=\"28.732422\" y=\"109.125\"/>\n  <use xlink:href=\"#37d553b2-0568-4873-98a0-537519067e76\" x=\"34.066406\" y=\"109.125\"/>\n</g>\n<path style=\"fill:none;stroke-width:1.062992;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(49.803922%,49.803922%,49.803922%);stroke-opacity:1;stroke-miterlimit:10;\" d=\"M 43.234375 378.515625 L 47.488281 378.515625 \"/>\n<path style=\"fill:none;stroke-width:1.062992;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(49.803922%,49.803922%,49.803922%);stroke-opacity:1;stroke-miterlimit:10;\" d=\"M 43.234375 287.878906 L 47.488281 287.878906 \"/>\n<path style=\"fill:none;stroke-width:1.062992;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(49.803922%,49.803922%,49.803922%);stroke-opacity:1;stroke-miterlimit:10;\" d=\"M 43.234375 197.242188 L 47.488281 197.242188 \"/>\n<path style=\"fill:none;stroke-width:1.062992;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(49.803922%,49.803922%,49.803922%);stroke-opacity:1;stroke-miterlimit:10;\" d=\"M 43.234375 106.605469 L 47.488281 106.605469 \"/>\n<path style=\"fill:none;stroke-width:1.062992;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(49.803922%,49.803922%,49.803922%);stroke-opacity:1;stroke-miterlimit:10;\" d=\"M 77.402344 398.765625 L 77.402344 394.511719 \"/>\n<path style=\"fill:none;stroke-width:1.062992;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(49.803922%,49.803922%,49.803922%);stroke-opacity:1;stroke-miterlimit:10;\" d=\"M 264.363281 398.765625 L 264.363281 394.511719 \"/>\n<path style=\"fill:none;stroke-width:1.062992;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(49.803922%,49.803922%,49.803922%);stroke-opacity:1;stroke-miterlimit:10;\" d=\"M 451.328125 398.765625 L 451.328125 394.511719 \"/>\n<path style=\"fill:none;stroke-width:1.062992;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(49.803922%,49.803922%,49.803922%);stroke-opacity:1;stroke-miterlimit:10;\" d=\"M 638.292969 398.765625 L 638.292969 394.511719 \"/>\n<g style=\"fill:rgb(49.803922%,49.803922%,49.803922%);fill-opacity:1;\">\n  <use xlink:href=\"#37d553b2-0568-4873-98a0-537519067e76\" x=\"74.402344\" y=\"407.621094\"/>\n</g>\n<g style=\"fill:rgb(49.803922%,49.803922%,49.803922%);fill-opacity:1;\">\n  <use xlink:href=\"#9ec3f15b-7527-4cb3-bfb2-19fbc5b5d16d\" x=\"261.363281\" y=\"407.621094\"/>\n</g>\n<g style=\"fill:rgb(49.803922%,49.803922%,49.803922%);fill-opacity:1;\">\n  <use xlink:href=\"#5bb0f71c-3722-493a-946b-d82f53bd7064\" x=\"445.828125\" y=\"407.621094\"/>\n  <use xlink:href=\"#37d553b2-0568-4873-98a0-537519067e76\" x=\"451.162109\" y=\"407.621094\"/>\n</g>\n<g style=\"fill:rgb(49.803922%,49.803922%,49.803922%);fill-opacity:1;\">\n  <use xlink:href=\"#5bb0f71c-3722-493a-946b-d82f53bd7064\" x=\"632.792969\" y=\"407.621094\"/>\n  <use xlink:href=\"#9ec3f15b-7527-4cb3-bfb2-19fbc5b5d16d\" x=\"638.126953\" y=\"407.621094\"/>\n</g>\n<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n  <use xlink:href=\"#1c186638-57d6-4b69-8c40-5d84120ce6fd\" x=\"356.542969\" y=\"420.975586\"/>\n  <use xlink:href=\"#70209b5e-a087-4741-aec3-4683c7c96dec\" x=\"365.207031\" y=\"420.975586\"/>\n  <use xlink:href=\"#dfa2c169-c1da-457b-b75d-824ca7c86afd\" x=\"371.878906\" y=\"420.975586\"/>\n  <use xlink:href=\"#8a35ed7a-907e-45c7-b26d-5567956d1ec9\" x=\"378.550781\" y=\"420.975586\"/>\n  <use xlink:href=\"#70209b5e-a087-4741-aec3-4683c7c96dec\" x=\"382.427734\" y=\"420.975586\"/>\n  <use xlink:href=\"#70209b5e-a087-4741-aec3-4683c7c96dec\" x=\"389.099609\" y=\"420.975586\"/>\n</g>\n<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n  <use xlink:href=\"#93ac70e0-82c2-4d34-ae95-fff33b74936e\" x=\"19.577148\" y=\"230.058594\"/>\n  <use xlink:href=\"#fac51cd1-9463-41b2-ba77-bdd8fdaac25f\" x=\"19.577148\" y=\"221.394531\"/>\n  <use xlink:href=\"#ca0d43a3-0304-4df7-985e-3b5c9482bcf6\" x=\"19.577148\" y=\"214.722656\"/>\n  <use xlink:href=\"#4d71d344-12d0-4951-8b04-6f0e0e9241dc\" x=\"19.577148\" y=\"208.050781\"/>\n  <use xlink:href=\"#7065ad16-4df4-4bfe-b4d7-da746634241a\" x=\"19.577148\" y=\"201.378906\"/>\n</g>\n<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n  <use xlink:href=\"#283d28d0-e584-4b50-b24e-d1e40f112a64\" x=\"316.042969\" y=\"28.530273\"/>\n  <use xlink:href=\"#f9f64d39-80ec-4dcb-b510-8d387dd38850\" x=\"326.444336\" y=\"28.530273\"/>\n  <use xlink:href=\"#c11e6e86-6152-4420-9adf-4eb2000a7ed1\" x=\"334.454102\" y=\"28.530273\"/>\n  <use xlink:href=\"#709ae2d9-2eb7-4c37-a882-1156815a4856\" x=\"342.463867\" y=\"28.530273\"/>\n  <use xlink:href=\"#f9f64d39-80ec-4dcb-b510-8d387dd38850\" x=\"347.117188\" y=\"28.530273\"/>\n  <use xlink:href=\"#f9f64d39-80ec-4dcb-b510-8d387dd38850\" x=\"355.126953\" y=\"28.530273\"/>\n  <use xlink:href=\"#cc99d58d-27ab-40de-8c2e-64846982f8bf\" x=\"363.136719\" y=\"28.530273\"/>\n  <use xlink:href=\"#2afd355c-8ade-40da-8ea0-4d4e539b5094\" x=\"367.141602\" y=\"28.530273\"/>\n  <use xlink:href=\"#8e3e85cd-896f-4dc3-83ee-d13be4ff2ba3\" x=\"375.151367\" y=\"28.530273\"/>\n  <use xlink:href=\"#658f896a-2110-4c3e-9451-3ae91931a245\" x=\"378.349609\" y=\"28.530273\"/>\n  <use xlink:href=\"#9d1586a7-83fc-4b4a-a261-7e1307d801e7\" x=\"385.481445\" y=\"28.530273\"/>\n  <use xlink:href=\"#709ae2d9-2eb7-4c37-a882-1156815a4856\" x=\"389.486328\" y=\"28.530273\"/>\n  <use xlink:href=\"#8e3e85cd-896f-4dc3-83ee-d13be4ff2ba3\" x=\"394.283203\" y=\"28.530273\"/>\n  <use xlink:href=\"#c75c6f16-37b6-42c7-be9c-ab00682eb24c\" x=\"397.481445\" y=\"28.530273\"/>\n  <use xlink:href=\"#7bf7bb62-dace-4944-8600-a3b040e71f04\" x=\"405.491211\" y=\"28.530273\"/>\n  <use xlink:href=\"#9d1586a7-83fc-4b4a-a261-7e1307d801e7\" x=\"413.500977\" y=\"28.530273\"/>\n  <use xlink:href=\"#8e3e85cd-896f-4dc3-83ee-d13be4ff2ba3\" x=\"417.505859\" y=\"28.530273\"/>\n  <use xlink:href=\"#149fdfe0-90f0-49b0-a1e6-a6962c501f22\" x=\"420.704102\" y=\"28.530273\"/>\n  <use xlink:href=\"#b57a4530-60bf-4035-967a-a8c3195b5bea\" x=\"428.713867\" y=\"28.530273\"/>\n</g>\n</g>\n</svg>\n","value":"#gg4clj.core.GGView{:plot-command [[:<- :d [:data.frame {:degree [:c 0 1 2 3 4 5 6 7 15 13 8 11 14 16], :count [:c 727 58 19 6 5 5 4 3 2 2 2 1 1 1]}]] [:+ [:+ [:+ [:+ [:+ [:ggplot :d [:aes :degree :count]] [:geom_line {:stat \"identity\", :color \"steelblue\"}]] [:geom_point {:color \"steelblue\"}]] [:xlab \"Degree\"]] [:ylab \"Count\"]] [:ggtitle \"Degree distribution\"]]], :options {:width 10, :height 6}}"}
+;; <=
+
+;; @@
+(let [hour-count (->> {:ts {$gt (t/date-time 2015 3 13 8)
+             $lt (t/date-time 2015 3 13 9 59 59 999)}}
+       (mc/find-maps @db "pubs")
+       (pmap (fn [{:keys [target]}] (reduce + (pmap #(mc/count @db % {:target target
+                                                                     :ts {$gt (t/date-time 2015 3 13 8)
+             $lt (t/date-time 2015 3 13 9 59 59 999)}}) ["retweets" "replies" "shares"])) ))
+       frequencies
+       (sort-by val >))
+      dat {:degree (map first hour-count)
+           :count (map second hour-count)}]
+    (gg4clj/view
+    [[:<- :d (gg4clj/data-frame dat)]
+     (gg4clj/r+
+       [:ggplot :d [:aes :degree :count]]
+       [:geom_line {:stat "identity" :color "steelblue"}]
+       [:geom_point {:color "steelblue"}]
+       [:xlab "Degree"]
+       [:ylab "Count"]
+       [:ggtitle "Degree distribution"])]
+    {:width 10
+     :height 6}))
+;; @@
+;; =>
+;;; {"type":"html","content":"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"720pt\" height=\"432pt\" viewBox=\"0 0 720 432\" version=\"1.1\">\n<defs>\n<g>\n<symbol overflow=\"visible\" id=\"651c8438-e051-473b-9951-61f00cdbb692\">\n<path style=\"stroke:none;\" d=\"\"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"61916737-640e-4fa0-9841-b87972cbf6e3\">\n<path style=\"stroke:none;\" d=\"M 4.859375 -3.265625 C 4.859375 -5.625 4.109375 -6.796875 2.640625 -6.796875 C 1.171875 -6.796875 0.40625 -5.609375 0.40625 -3.328125 C 0.40625 -1.03125 1.1875 0.140625 2.640625 0.140625 C 4.078125 0.140625 4.859375 -1.03125 4.859375 -3.265625 Z M 4 -3.34375 C 4 -1.421875 3.5625 -0.5625 2.625 -0.5625 C 1.734375 -0.5625 1.28125 -1.453125 1.28125 -3.3125 C 1.28125 -5.1875 1.734375 -6.046875 2.640625 -6.046875 C 3.546875 -6.046875 4 -5.171875 4 -3.34375 Z M 4 -3.34375 \"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"e6ddf79c-053b-4716-96bc-d30faa1054eb\">\n<path style=\"stroke:none;\" d=\"M 4.921875 -2.25 C 4.921875 -3.59375 4.03125 -4.484375 2.71875 -4.484375 C 2.25 -4.484375 1.859375 -4.359375 1.46875 -4.0625 L 1.734375 -5.828125 L 4.5625 -5.828125 L 4.5625 -6.65625 L 1.0625 -6.65625 L 0.546875 -3.09375 L 1.328125 -3.09375 C 1.71875 -3.5625 2.046875 -3.734375 2.578125 -3.734375 C 3.484375 -3.734375 4.0625 -3.140625 4.0625 -2.140625 C 4.0625 -1.15625 3.484375 -0.609375 2.578125 -0.609375 C 1.828125 -0.609375 1.375 -0.984375 1.1875 -1.75 L 0.328125 -1.75 C 0.609375 -0.390625 1.375 0.140625 2.59375 0.140625 C 3.96875 0.140625 4.921875 -0.8125 4.921875 -2.25 Z M 4.921875 -2.25 \"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"1189c6cb-e2d5-476c-b886-7bc1e32ebfd4\">\n<path style=\"stroke:none;\" d=\"M 3.328125 0 L 3.328125 -6.796875 L 2.765625 -6.796875 C 2.46875 -5.75 2.28125 -5.609375 0.984375 -5.453125 L 0.984375 -4.84375 L 2.484375 -4.84375 L 2.484375 0 Z M 3.328125 0 \"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"50c146e3-80e1-41a9-9f9c-00111f214ff5\">\n<path style=\"stroke:none;\" d=\"M 4.90625 -4.8125 C 4.90625 -5.953125 4.015625 -6.796875 2.71875 -6.796875 C 1.328125 -6.796875 0.53125 -6.09375 0.484375 -4.4375 L 1.328125 -4.4375 C 1.390625 -5.578125 1.859375 -6.0625 2.703125 -6.0625 C 3.46875 -6.0625 4.03125 -5.515625 4.03125 -4.78125 C 4.03125 -4.25 3.71875 -3.796875 3.125 -3.4375 L 2.234375 -2.9375 C 0.8125 -2.140625 0.40625 -1.5 0.328125 0 L 4.859375 0 L 4.859375 -0.828125 L 1.28125 -0.828125 C 1.359375 -1.390625 1.671875 -1.75 2.5 -2.234375 L 3.46875 -2.75 C 4.40625 -3.265625 4.90625 -3.96875 4.90625 -4.8125 Z M 4.90625 -4.8125 \"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"3164d568-4a01-43e2-aa23-e067f06316c9\">\n<path style=\"stroke:none;\" d=\"M 4.859375 -1.96875 C 4.859375 -2.796875 4.515625 -3.28125 3.703125 -3.5625 C 4.34375 -3.8125 4.65625 -4.25 4.65625 -4.9375 C 4.65625 -6.109375 3.875 -6.796875 2.578125 -6.796875 C 1.203125 -6.796875 0.484375 -6.046875 0.453125 -4.609375 L 1.296875 -4.609375 C 1.3125 -5.609375 1.734375 -6.0625 2.59375 -6.0625 C 3.34375 -6.0625 3.796875 -5.625 3.796875 -4.90625 C 3.796875 -4.171875 3.46875 -3.875 2.125 -3.875 L 2.125 -3.171875 L 2.578125 -3.171875 C 3.515625 -3.171875 3.984375 -2.71875 3.984375 -1.96875 C 3.984375 -1.109375 3.46875 -0.609375 2.578125 -0.609375 C 1.65625 -0.609375 1.203125 -1.0625 1.15625 -2.046875 L 0.3125 -2.046875 C 0.40625 -0.53125 1.15625 0.140625 2.546875 0.140625 C 3.953125 0.140625 4.859375 -0.6875 4.859375 -1.96875 Z M 4.859375 -1.96875 \"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"d7c37fce-d90a-4ce1-99b2-7dd74ba505ab\">\n<path style=\"stroke:none;\" d=\"\"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"3702e2c0-b927-41cb-9760-b35bf0bb2095\">\n<path style=\"stroke:none;\" d=\"M 8 -4.375 C 8 -7.09375 6.65625 -8.75 4.4375 -8.75 L 1.0625 -8.75 L 1.0625 0 L 4.4375 0 C 6.640625 0 8 -1.65625 8 -4.375 Z M 6.890625 -4.375 C 6.890625 -2.15625 5.96875 -0.984375 4.25 -0.984375 L 2.1875 -0.984375 L 2.1875 -7.765625 L 4.25 -7.765625 C 5.96875 -7.765625 6.890625 -6.59375 6.890625 -4.375 Z M 6.890625 -4.375 \"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"c69d921e-9339-40db-b23e-6d6a5c9d83f9\">\n<path style=\"stroke:none;\" d=\"M 6.15625 -2.859375 C 6.15625 -3.765625 6.078125 -4.34375 5.90625 -4.8125 C 5.5 -5.84375 4.53125 -6.46875 3.359375 -6.46875 C 1.609375 -6.46875 0.484375 -5.171875 0.484375 -3.109375 C 0.484375 -1.046875 1.578125 0.1875 3.34375 0.1875 C 4.78125 0.1875 5.765625 -0.640625 6.03125 -1.90625 L 5.015625 -1.90625 C 4.734375 -1.078125 4.171875 -0.75 3.375 -0.75 C 2.328125 -0.75 1.546875 -1.421875 1.53125 -2.859375 Z M 5.09375 -3.75 C 5.09375 -3.75 5.09375 -3.703125 5.078125 -3.671875 L 1.546875 -3.671875 C 1.625 -4.78125 2.34375 -5.546875 3.34375 -5.546875 C 4.328125 -5.546875 5.09375 -4.734375 5.09375 -3.75 Z M 5.09375 -3.75 \"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"40f9a57a-74c5-4c20-8cd5-a6873bbc2cf7\">\n<path style=\"stroke:none;\" d=\"M 5.875 -1.03125 L 5.875 -6.28125 L 4.9375 -6.28125 L 4.9375 -5.375 C 4.4375 -6.125 3.828125 -6.46875 3.03125 -6.46875 C 1.421875 -6.46875 0.34375 -5.125 0.34375 -3.078125 C 0.34375 -1.109375 1.46875 0.1875 2.9375 0.1875 C 3.734375 0.1875 4.28125 -0.15625 4.9375 -0.953125 L 4.9375 -0.53125 C 4.9375 1.140625 4.265625 1.78125 3.09375 1.78125 C 2.296875 1.78125 1.6875 1.484375 1.578125 0.71875 L 0.546875 0.71875 C 0.65625 1.90625 1.578125 2.609375 3.0625 2.609375 C 5.03125 2.609375 5.875 1.734375 5.875 -1.03125 Z M 4.84375 -3.109375 C 4.84375 -1.609375 4.203125 -0.75 3.140625 -0.75 C 2.046875 -0.75 1.390625 -1.625 1.390625 -3.140625 C 1.390625 -4.65625 2.0625 -5.546875 3.125 -5.546875 C 4.21875 -5.546875 4.84375 -4.625 4.84375 -3.109375 Z M 4.84375 -3.109375 \"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"e9bd8033-d2bc-4b06-80bc-083083ac36d1\">\n<path style=\"stroke:none;\" d=\"M 3.859375 -5.40625 L 3.859375 -6.4375 C 3.6875 -6.453125 3.59375 -6.46875 3.46875 -6.46875 C 2.8125 -6.46875 2.328125 -6.078125 1.75 -5.140625 L 1.75 -6.28125 L 0.84375 -6.28125 L 0.84375 0 L 1.84375 0 L 1.84375 -3.265625 C 1.84375 -4.6875 2.296875 -5.390625 3.859375 -5.40625 Z M 3.859375 -5.40625 \"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"15afbfc6-6a21-4568-bd4a-f4718379d585\">\n<path style=\"stroke:none;\" d=\"\"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"ab71bc7f-3888-424f-ab14-89c0290f0cf5\">\n<path style=\"stroke:none;\" d=\"M -3.1875 -8.125 L -3.1875 -6.96875 C -1.53125 -6.703125 -0.765625 -6.015625 -0.765625 -4.53125 C -0.765625 -2.796875 -2.09375 -1.6875 -4.28125 -1.6875 C -6.53125 -1.6875 -7.984375 -2.75 -7.984375 -4.4375 C -7.984375 -5.8125 -7.375 -6.53125 -6.03125 -6.796875 L -6.03125 -7.9375 C -7.953125 -7.59375 -8.96875 -6.484375 -8.96875 -4.578125 C -8.96875 -1.921875 -6.828125 -0.578125 -4.265625 -0.578125 C -1.71875 -0.578125 0.21875 -1.953125 0.21875 -4.53125 C 0.21875 -6.65625 -0.90625 -7.859375 -3.1875 -8.125 Z M -3.1875 -8.125 \"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"7dce1139-fa1a-45d2-a756-0800300ba3d0\">\n<path style=\"stroke:none;\" d=\"M -3.09375 -6.125 C -5.265625 -6.125 -6.46875 -5.078125 -6.46875 -3.265625 C -6.46875 -1.5 -5.25 -0.4375 -3.140625 -0.4375 C -1.03125 -0.4375 0.1875 -1.484375 0.1875 -3.28125 C 0.1875 -5.046875 -1.03125 -6.125 -3.09375 -6.125 Z M -3.109375 -5.078125 C -1.625 -5.078125 -0.75 -4.375 -0.75 -3.28125 C -0.75 -2.15625 -1.625 -1.46875 -3.140625 -1.46875 C -4.65625 -1.46875 -5.546875 -2.15625 -5.546875 -3.28125 C -5.546875 -4.40625 -4.671875 -5.078125 -3.109375 -5.078125 Z M -3.109375 -5.078125 \"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"5d0ec812-8fd0-4ca6-838b-33a62e224524\">\n<path style=\"stroke:none;\" d=\"M 0 -5.78125 L -6.28125 -5.78125 L -6.28125 -4.78125 L -2.8125 -4.78125 C -1.53125 -4.78125 -0.703125 -4.109375 -0.703125 -3.078125 C -0.703125 -2.28125 -1.171875 -1.78125 -1.9375 -1.78125 L -6.28125 -1.78125 L -6.28125 -0.78125 L -1.53125 -0.78125 C -0.484375 -0.78125 0.1875 -1.5625 0.1875 -2.78125 C 0.1875 -3.703125 -0.140625 -4.296875 -0.96875 -4.890625 L 0 -4.890625 Z M 0 -5.78125 \"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"fc25fb40-2e68-479a-90b1-f3d73c663999\">\n<path style=\"stroke:none;\" d=\"M 0 -5.84375 L -4.75 -5.84375 C -5.796875 -5.84375 -6.46875 -5.0625 -6.46875 -3.859375 C -6.46875 -2.921875 -6.109375 -2.3125 -5.234375 -1.765625 L -6.28125 -1.765625 L -6.28125 -0.84375 L 0 -0.84375 L 0 -1.84375 L -3.46875 -1.84375 C -4.75 -1.84375 -5.59375 -2.53125 -5.59375 -3.546875 C -5.59375 -4.34375 -5.109375 -4.84375 -4.359375 -4.84375 L 0 -4.84375 Z M 0 -5.84375 \"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"f68291b1-0d46-4010-ba3a-3e9f401dca18\">\n<path style=\"stroke:none;\" d=\"M 0 -3.046875 L -0.84375 -3.046875 C -0.796875 -2.921875 -0.796875 -2.765625 -0.796875 -2.5625 C -0.796875 -2.140625 -0.90625 -2.015625 -1.359375 -2.015625 L -5.46875 -2.015625 L -5.46875 -3.046875 L -6.28125 -3.046875 L -6.28125 -2.015625 L -8.015625 -2.015625 L -8.015625 -1.015625 L -6.28125 -1.015625 L -6.28125 -0.171875 L -5.46875 -0.171875 L -5.46875 -1.015625 L -0.90625 -1.015625 C -0.28125 -1.015625 0.078125 -1.453125 0.078125 -2.234375 C 0.078125 -2.46875 0.0625 -2.71875 0 -3.046875 Z M 0 -3.046875 \"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"c1347cf6-2737-4852-8f1e-61717272b699\">\n<path style=\"stroke:none;\" d=\"\"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"beb88d8d-0292-4296-98db-59d5465a7049\">\n<path style=\"stroke:none;\" d=\"M 9.609375 -5.265625 C 9.609375 -8.515625 8 -10.5 5.328125 -10.5 L 1.28125 -10.5 L 1.28125 0 L 5.328125 0 C 7.984375 0 9.609375 -1.984375 9.609375 -5.265625 Z M 8.265625 -5.25 C 8.265625 -2.59375 7.171875 -1.1875 5.09375 -1.1875 L 2.625 -1.1875 L 2.625 -9.328125 L 5.09375 -9.328125 C 7.171875 -9.328125 8.265625 -7.921875 8.265625 -5.25 Z M 8.265625 -5.25 \"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"3b76bba5-4d71-422f-93ee-123cc544e65f\">\n<path style=\"stroke:none;\" d=\"M 7.390625 -3.421875 C 7.390625 -4.53125 7.296875 -5.21875 7.09375 -5.78125 C 6.59375 -7.015625 5.453125 -7.765625 4.03125 -7.765625 C 1.9375 -7.765625 0.578125 -6.203125 0.578125 -3.734375 C 0.578125 -1.25 1.890625 0.21875 4 0.21875 C 5.734375 0.21875 6.921875 -0.765625 7.234375 -2.296875 L 6.015625 -2.296875 C 5.6875 -1.296875 5.015625 -0.890625 4.046875 -0.890625 C 2.796875 -0.890625 1.859375 -1.703125 1.828125 -3.421875 Z M 6.109375 -4.5 C 6.109375 -4.5 6.109375 -4.4375 6.09375 -4.40625 L 1.859375 -4.40625 C 1.953125 -5.75 2.8125 -6.65625 4.015625 -6.65625 C 5.203125 -6.65625 6.109375 -5.671875 6.109375 -4.5 Z M 6.109375 -4.5 \"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"b058366d-64a9-4084-9b70-d227ba7497da\">\n<path style=\"stroke:none;\" d=\"M 7.046875 -1.234375 L 7.046875 -7.546875 L 5.9375 -7.546875 L 5.9375 -6.453125 C 5.328125 -7.34375 4.59375 -7.765625 3.625 -7.765625 C 1.71875 -7.765625 0.421875 -6.15625 0.421875 -3.703125 C 0.421875 -1.328125 1.75 0.21875 3.53125 0.21875 C 4.484375 0.21875 5.140625 -0.1875 5.9375 -1.140625 L 5.9375 -0.640625 C 5.9375 1.375 5.109375 2.125 3.71875 2.125 C 2.765625 2.125 2.03125 1.78125 1.890625 0.859375 L 0.65625 0.859375 C 0.796875 2.296875 1.90625 3.140625 3.671875 3.140625 C 6.03125 3.140625 7.046875 2.09375 7.046875 -1.234375 Z M 5.8125 -3.734375 C 5.8125 -1.9375 5.046875 -0.890625 3.78125 -0.890625 C 2.46875 -0.890625 1.671875 -1.9375 1.671875 -3.78125 C 1.671875 -5.59375 2.484375 -6.65625 3.765625 -6.65625 C 5.0625 -6.65625 5.8125 -5.5625 5.8125 -3.734375 Z M 5.8125 -3.734375 \"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"93229c1d-13ad-44e5-a0c0-946f5a432b81\">\n<path style=\"stroke:none;\" d=\"M 4.625 -6.5 L 4.625 -7.71875 C 4.421875 -7.75 4.328125 -7.765625 4.15625 -7.765625 C 3.390625 -7.765625 2.796875 -7.296875 2.109375 -6.1875 L 2.109375 -7.546875 L 1.015625 -7.546875 L 1.015625 0 L 2.203125 0 L 2.203125 -3.921875 C 2.203125 -5.625 2.765625 -6.46875 4.625 -6.5 Z M 4.625 -6.5 \"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"531ffbcd-e24f-45e0-9eba-6db80cc34efa\">\n<path style=\"stroke:none;\" d=\"\"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"3fcb0530-fd4a-4f23-a8d1-f25c86c694ed\">\n<path style=\"stroke:none;\" d=\"M 7.125 0 L 7.125 -10.5 L 5.9375 -10.5 L 5.9375 -6.59375 C 5.4375 -7.359375 4.625 -7.765625 3.609375 -7.765625 C 1.65625 -7.765625 0.375 -6.25 0.375 -3.84375 C 0.375 -1.296875 1.625 0.21875 3.65625 0.21875 C 4.703125 0.21875 5.421875 -0.171875 6.0625 -1.109375 L 6.0625 0 Z M 5.9375 -3.75 C 5.9375 -2 5.09375 -0.90625 3.828125 -0.90625 C 2.5 -0.90625 1.625 -2.015625 1.625 -3.78125 C 1.625 -5.53125 2.5 -6.640625 3.8125 -6.640625 C 5.109375 -6.640625 5.9375 -5.484375 5.9375 -3.75 Z M 5.9375 -3.75 \"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"be4f5c88-a415-4ce0-a911-da93f6aaab87\">\n<path style=\"stroke:none;\" d=\"M 2.203125 0 L 2.203125 -7.546875 L 1.015625 -7.546875 L 1.015625 0 Z M 2.359375 -8.6875 L 2.359375 -10.1875 L 0.859375 -10.1875 L 0.859375 -8.6875 Z M 2.359375 -8.6875 \"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"4220a801-5507-435d-9841-6af0f954c5b3\">\n<path style=\"stroke:none;\" d=\"M 6.609375 -2.125 C 6.609375 -3.234375 5.984375 -3.796875 4.484375 -4.15625 L 3.328125 -4.4375 C 2.34375 -4.671875 1.9375 -4.984375 1.9375 -5.515625 C 1.9375 -6.203125 2.546875 -6.65625 3.53125 -6.65625 C 4.5 -6.65625 5.015625 -6.234375 5.046875 -5.453125 L 6.3125 -5.453125 C 6.296875 -6.921875 5.3125 -7.765625 3.578125 -7.765625 C 1.8125 -7.765625 0.671875 -6.859375 0.671875 -5.453125 C 0.671875 -4.28125 1.28125 -3.71875 3.0625 -3.28125 L 4.1875 -3.015625 C 5.03125 -2.8125 5.359375 -2.5625 5.359375 -2.015625 C 5.359375 -1.3125 4.65625 -0.890625 3.59375 -0.890625 C 2.515625 -0.890625 1.921875 -1.15625 1.75 -2.3125 L 0.484375 -2.3125 C 0.546875 -0.5625 1.53125 0.21875 3.5 0.21875 C 5.40625 0.21875 6.609375 -0.65625 6.609375 -2.125 Z M 6.609375 -2.125 \"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"54a0ecd2-81f9-4f25-ac55-10eb126be4c2\">\n<path style=\"stroke:none;\" d=\"M 3.65625 0 L 3.65625 -1.015625 C 3.5 -0.96875 3.3125 -0.953125 3.078125 -0.953125 C 2.5625 -0.953125 2.421875 -1.09375 2.421875 -1.625 L 2.421875 -6.5625 L 3.65625 -6.5625 L 3.65625 -7.546875 L 2.421875 -7.546875 L 2.421875 -9.625 L 1.21875 -9.625 L 1.21875 -7.546875 L 0.203125 -7.546875 L 0.203125 -6.5625 L 1.21875 -6.5625 L 1.21875 -1.09375 C 1.21875 -0.328125 1.75 0.09375 2.671875 0.09375 C 2.96875 0.09375 3.25 0.078125 3.65625 0 Z M 3.65625 0 \"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"85be9a60-ed36-4708-adfd-7935d81c4888\">\n<path style=\"stroke:none;\" d=\"M 7.53125 -3.859375 C 7.53125 -6.3125 6.296875 -7.765625 4.3125 -7.765625 C 3.265625 -7.765625 2.53125 -7.375 1.96875 -6.53125 L 1.96875 -10.5 L 0.78125 -10.5 L 0.78125 0 L 1.859375 0 L 1.859375 -1.078125 C 2.4375 -0.203125 3.203125 0.21875 4.25 0.21875 C 6.234375 0.21875 7.53125 -1.40625 7.53125 -3.859375 Z M 6.28125 -3.78125 C 6.28125 -2.078125 5.390625 -0.90625 4.078125 -0.90625 C 2.8125 -0.90625 1.96875 -2.0625 1.96875 -3.78125 C 1.96875 -5.546875 2.8125 -6.703125 4.078125 -6.640625 C 5.421875 -6.640625 6.28125 -5.46875 6.28125 -3.78125 Z M 6.28125 -3.78125 \"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"e159f708-529d-4fd4-9e0a-052ad4be9139\">\n<path style=\"stroke:none;\" d=\"M 6.9375 0 L 6.9375 -7.546875 L 5.75 -7.546875 L 5.75 -3.390625 C 5.75 -1.84375 4.9375 -0.828125 3.6875 -0.828125 C 2.734375 -0.828125 2.125 -1.40625 2.125 -2.3125 L 2.125 -7.546875 L 0.9375 -7.546875 L 0.9375 -1.84375 C 0.9375 -0.59375 1.875 0.21875 3.34375 0.21875 C 4.453125 0.21875 5.15625 -0.171875 5.859375 -1.171875 L 5.859375 0 Z M 6.9375 0 \"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"5f620988-e838-40bd-b374-0337aef0be8c\">\n<path style=\"stroke:none;\" d=\"M 7.34375 -3.71875 C 7.34375 -6.328125 6.09375 -7.765625 3.921875 -7.765625 C 1.796875 -7.765625 0.515625 -6.3125 0.515625 -3.78125 C 0.515625 -1.234375 1.78125 0.21875 3.9375 0.21875 C 6.046875 0.21875 7.34375 -1.234375 7.34375 -3.71875 Z M 6.09375 -3.734375 C 6.09375 -1.953125 5.265625 -0.890625 3.9375 -0.890625 C 2.59375 -0.890625 1.765625 -1.9375 1.765625 -3.78125 C 1.765625 -5.59375 2.59375 -6.65625 3.9375 -6.65625 C 5.28125 -6.65625 6.09375 -5.609375 6.09375 -3.734375 Z M 6.09375 -3.734375 \"/>\n</symbol>\n<symbol overflow=\"visible\" id=\"3caecf4d-7c66-41f1-a5bd-b47f494d74cb\">\n<path style=\"stroke:none;\" d=\"M 7.015625 0 L 7.015625 -5.703125 C 7.015625 -6.953125 6.078125 -7.765625 4.625 -7.765625 C 3.5 -7.765625 2.78125 -7.328125 2.125 -6.28125 L 2.125 -7.546875 L 1.015625 -7.546875 L 1.015625 0 L 2.203125 0 L 2.203125 -4.15625 C 2.203125 -5.703125 3.046875 -6.71875 4.265625 -6.71875 C 5.21875 -6.71875 5.8125 -6.140625 5.8125 -5.234375 L 5.8125 0 Z M 7.015625 0 \"/>\n</symbol>\n</g>\n<clipPath id=\"6f8c5fb3-9530-45dd-adde-16cb2ce862a4\">\n  <path d=\"M 52.488281 32.601562 L 706 32.601562 L 706 395 L 52.488281 395 Z M 52.488281 32.601562 \"/>\n</clipPath>\n<clipPath id=\"04b5f52d-c385-434e-967a-4b8393233b82\">\n  <path d=\"M 52.488281 317 L 706 317 L 706 319 L 52.488281 319 Z M 52.488281 317 \"/>\n</clipPath>\n<clipPath id=\"61094185-f72a-455e-9085-4b34368b494e\">\n  <path d=\"M 52.488281 197 L 706 197 L 706 199 L 52.488281 199 Z M 52.488281 197 \"/>\n</clipPath>\n<clipPath id=\"0b8a4467-86a9-4514-93ce-4da90dd3567f\">\n  <path d=\"M 52.488281 77 L 706 77 L 706 78 L 52.488281 78 Z M 52.488281 77 \"/>\n</clipPath>\n<clipPath id=\"6bcfec79-fd55-4479-972d-74f8ea60a4a7\">\n  <path d=\"M 177 32.601562 L 179 32.601562 L 179 395 L 177 395 Z M 177 32.601562 \"/>\n</clipPath>\n<clipPath id=\"3f49ff70-2c77-43f4-a011-e9cc83dc3752\">\n  <path d=\"M 369 32.601562 L 370 32.601562 L 370 395 L 369 395 Z M 369 32.601562 \"/>\n</clipPath>\n<clipPath id=\"efe97046-483b-4900-a935-4444ec0df17f\">\n  <path d=\"M 560 32.601562 L 562 32.601562 L 562 395 L 560 395 Z M 560 32.601562 \"/>\n</clipPath>\n<clipPath id=\"9998bccb-5d50-47fa-af53-1c28b1aa3c58\">\n  <path d=\"M 52.488281 377 L 706.601562 377 L 706.601562 379 L 52.488281 379 Z M 52.488281 377 \"/>\n</clipPath>\n<clipPath id=\"a54ecb04-dcf0-4445-b856-c8648e0d8017\">\n  <path d=\"M 52.488281 257 L 706.601562 257 L 706.601562 259 L 52.488281 259 Z M 52.488281 257 \"/>\n</clipPath>\n<clipPath id=\"bb955cc7-e97b-4ce1-b249-ae091df75220\">\n  <path d=\"M 52.488281 137 L 706.601562 137 L 706.601562 139 L 52.488281 139 Z M 52.488281 137 \"/>\n</clipPath>\n<clipPath id=\"7abd2548-a1d9-4df6-a60d-89da1c15414f\">\n  <path d=\"M 81 32.601562 L 83 32.601562 L 83 395.515625 L 81 395.515625 Z M 81 32.601562 \"/>\n</clipPath>\n<clipPath id=\"7d172f4c-1672-4ab9-8e5d-94ba160063c8\">\n  <path d=\"M 273 32.601562 L 275 32.601562 L 275 395.515625 L 273 395.515625 Z M 273 32.601562 \"/>\n</clipPath>\n<clipPath id=\"647abce9-4d9b-4a69-a45b-7a9c4865ab32\">\n  <path d=\"M 464 32.601562 L 466 32.601562 L 466 395.515625 L 464 395.515625 Z M 464 32.601562 \"/>\n</clipPath>\n<clipPath id=\"796bae46-b828-4ba4-8606-415f7693b0d5\">\n  <path d=\"M 656 32.601562 L 658 32.601562 L 658 395.515625 L 656 395.515625 Z M 656 32.601562 \"/>\n</clipPath>\n</defs>\n<g id=\"b97a53ad-e0e5-4098-b291-fd2f8123362f\">\n<rect x=\"0\" y=\"0\" width=\"720\" height=\"432\" style=\"fill:rgb(100%,100%,100%);fill-opacity:1;stroke:none;\"/>\n<rect x=\"0\" y=\"0\" width=\"720\" height=\"432\" style=\"fill:rgb(100%,100%,100%);fill-opacity:1;stroke:none;\"/>\n<path style=\"fill:none;stroke-width:1.062992;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:10;\" d=\"M 0 432 L 720 432 L 720 0 L 0 0 Z M 0 432 \"/>\n<g clip-path=\"url(#6f8c5fb3-9530-45dd-adde-16cb2ce862a4)\" clip-rule=\"nonzero\">\n<path style=\" stroke:none;fill-rule:nonzero;fill:rgb(89.803922%,89.803922%,89.803922%);fill-opacity:1;\" d=\"M 52.488281 394.511719 L 705.601562 394.511719 L 705.601562 32.597656 L 52.488281 32.597656 Z M 52.488281 394.511719 \"/>\n</g>\n<g clip-path=\"url(#04b5f52d-c385-434e-967a-4b8393233b82)\" clip-rule=\"nonzero\">\n<path style=\"fill:none;stroke-width:0.531496;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(94.901961%,94.901961%,94.901961%);stroke-opacity:1;stroke-miterlimit:10;\" d=\"M 52.488281 318.132812 L 705.601562 318.132812 \"/>\n</g>\n<g clip-path=\"url(#61094185-f72a-455e-9085-4b34368b494e)\" clip-rule=\"nonzero\">\n<path style=\"fill:none;stroke-width:0.531496;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(94.901961%,94.901961%,94.901961%);stroke-opacity:1;stroke-miterlimit:10;\" d=\"M 52.488281 197.792969 L 705.601562 197.792969 \"/>\n</g>\n<g clip-path=\"url(#0b8a4467-86a9-4514-93ce-4da90dd3567f)\" clip-rule=\"nonzero\">\n<path style=\"fill:none;stroke-width:0.531496;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(94.901961%,94.901961%,94.901961%);stroke-opacity:1;stroke-miterlimit:10;\" d=\"M 52.488281 77.449219 L 705.601562 77.449219 \"/>\n</g>\n<g clip-path=\"url(#6bcfec79-fd55-4479-972d-74f8ea60a4a7)\" clip-rule=\"nonzero\">\n<path style=\"fill:none;stroke-width:0.531496;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(94.901961%,94.901961%,94.901961%);stroke-opacity:1;stroke-miterlimit:10;\" d=\"M 177.9375 394.511719 L 177.9375 32.601562 \"/>\n</g>\n<g clip-path=\"url(#3f49ff70-2c77-43f4-a011-e9cc83dc3752)\" clip-rule=\"nonzero\">\n<path style=\"fill:none;stroke-width:0.531496;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(94.901961%,94.901961%,94.901961%);stroke-opacity:1;stroke-miterlimit:10;\" d=\"M 369.46875 394.511719 L 369.46875 32.601562 \"/>\n</g>\n<g clip-path=\"url(#efe97046-483b-4900-a935-4444ec0df17f)\" clip-rule=\"nonzero\">\n<path style=\"fill:none;stroke-width:0.531496;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(94.901961%,94.901961%,94.901961%);stroke-opacity:1;stroke-miterlimit:10;\" d=\"M 560.996094 394.511719 L 560.996094 32.601562 \"/>\n</g>\n<g clip-path=\"url(#9998bccb-5d50-47fa-af53-1c28b1aa3c58)\" clip-rule=\"nonzero\">\n<path style=\"fill:none;stroke-width:1.062992;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:10;\" d=\"M 52.488281 378.304688 L 705.601562 378.304688 \"/>\n</g>\n<g clip-path=\"url(#a54ecb04-dcf0-4445-b856-c8648e0d8017)\" clip-rule=\"nonzero\">\n<path style=\"fill:none;stroke-width:1.062992;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:10;\" d=\"M 52.488281 257.960938 L 705.601562 257.960938 \"/>\n</g>\n<g clip-path=\"url(#bb955cc7-e97b-4ce1-b249-ae091df75220)\" clip-rule=\"nonzero\">\n<path style=\"fill:none;stroke-width:1.062992;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:10;\" d=\"M 52.488281 137.621094 L 705.601562 137.621094 \"/>\n</g>\n<g clip-path=\"url(#7abd2548-a1d9-4df6-a60d-89da1c15414f)\" clip-rule=\"nonzero\">\n<path style=\"fill:none;stroke-width:1.062992;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:10;\" d=\"M 82.171875 394.511719 L 82.171875 32.601562 \"/>\n</g>\n<g clip-path=\"url(#7d172f4c-1672-4ab9-8e5d-94ba160063c8)\" clip-rule=\"nonzero\">\n<path style=\"fill:none;stroke-width:1.062992;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:10;\" d=\"M 273.703125 394.511719 L 273.703125 32.601562 \"/>\n</g>\n<g clip-path=\"url(#647abce9-4d9b-4a69-a45b-7a9c4865ab32)\" clip-rule=\"nonzero\">\n<path style=\"fill:none;stroke-width:1.062992;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:10;\" d=\"M 465.230469 394.511719 L 465.230469 32.601562 \"/>\n</g>\n<g clip-path=\"url(#796bae46-b828-4ba4-8606-415f7693b0d5)\" clip-rule=\"nonzero\">\n<path style=\"fill:none;stroke-width:1.062992;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:10;\" d=\"M 656.761719 394.511719 L 656.761719 32.601562 \"/>\n</g>\n<path style=\"fill:none;stroke-width:1.062992;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(27.45098%,50.980392%,70.588235%);stroke-opacity:1;stroke-miterlimit:1;\" d=\"M 82.171875 49.050781 L 101.328125 351.105469 L 120.480469 371.804688 L 139.632812 375.898438 L 158.785156 376.617188 L 177.9375 376.378906 L 197.089844 376.378906 L 216.242188 376.617188 L 235.398438 378.0625 L 254.550781 377.582031 L 273.703125 377.820312 L 292.855469 377.339844 L 312.007812 378.0625 L 331.160156 378.0625 L 350.3125 377.339844 L 369.46875 378.0625 L 407.773438 377.820312 L 426.925781 377.582031 L 446.078125 378.0625 L 675.914062 378.0625 \"/>\n<path style=\" stroke:none;fill-rule:nonzero;fill:rgb(27.45098%,50.980392%,70.588235%);fill-opacity:1;\" d=\"M 84.300781 49.050781 C 84.300781 51.886719 80.046875 51.886719 80.046875 49.050781 C 80.046875 46.214844 84.300781 46.214844 84.300781 49.050781 \"/>\n<path style=\" stroke:none;fill-rule:nonzero;fill:rgb(27.45098%,50.980392%,70.588235%);fill-opacity:1;\" d=\"M 103.453125 351.105469 C 103.453125 353.941406 99.199219 353.941406 99.199219 351.105469 C 99.199219 348.273438 103.453125 348.273438 103.453125 351.105469 \"/>\n<path style=\" stroke:none;fill-rule:nonzero;fill:rgb(27.45098%,50.980392%,70.588235%);fill-opacity:1;\" d=\"M 122.605469 371.804688 C 122.605469 374.640625 118.351562 374.640625 118.351562 371.804688 C 118.351562 368.96875 122.605469 368.96875 122.605469 371.804688 \"/>\n<path style=\" stroke:none;fill-rule:nonzero;fill:rgb(27.45098%,50.980392%,70.588235%);fill-opacity:1;\" d=\"M 141.757812 375.898438 C 141.757812 378.730469 137.507812 378.730469 137.507812 375.898438 C 137.507812 373.0625 141.757812 373.0625 141.757812 375.898438 \"/>\n<path style=\" stroke:none;fill-rule:nonzero;fill:rgb(27.45098%,50.980392%,70.588235%);fill-opacity:1;\" d=\"M 199.21875 376.378906 C 199.21875 379.210938 194.964844 379.210938 194.964844 376.378906 C 194.964844 373.542969 199.21875 373.542969 199.21875 376.378906 \"/>\n<path style=\" stroke:none;fill-rule:nonzero;fill:rgb(27.45098%,50.980392%,70.588235%);fill-opacity:1;\" d=\"M 180.0625 376.378906 C 180.0625 379.210938 175.8125 379.210938 175.8125 376.378906 C 175.8125 373.542969 180.0625 373.542969 180.0625 376.378906 \"/>\n<path style=\" stroke:none;fill-rule:nonzero;fill:rgb(27.45098%,50.980392%,70.588235%);fill-opacity:1;\" d=\"M 218.371094 376.617188 C 218.371094 379.453125 214.117188 379.453125 214.117188 376.617188 C 214.117188 373.785156 218.371094 373.785156 218.371094 376.617188 \"/>\n<path style=\" stroke:none;fill-rule:nonzero;fill:rgb(27.45098%,50.980392%,70.588235%);fill-opacity:1;\" d=\"M 160.910156 376.617188 C 160.910156 379.453125 156.660156 379.453125 156.660156 376.617188 C 156.660156 373.785156 160.910156 373.785156 160.910156 376.617188 \"/>\n<path style=\" stroke:none;fill-rule:nonzero;fill:rgb(27.45098%,50.980392%,70.588235%);fill-opacity:1;\" d=\"M 294.980469 377.339844 C 294.980469 380.175781 290.730469 380.175781 290.730469 377.339844 C 290.730469 374.507812 294.980469 374.507812 294.980469 377.339844 \"/>\n<path style=\" stroke:none;fill-rule:nonzero;fill:rgb(27.45098%,50.980392%,70.588235%);fill-opacity:1;\" d=\"M 352.441406 377.339844 C 352.441406 380.175781 348.1875 380.175781 348.1875 377.339844 C 348.1875 374.507812 352.441406 374.507812 352.441406 377.339844 \"/>\n<path style=\" stroke:none;fill-rule:nonzero;fill:rgb(27.45098%,50.980392%,70.588235%);fill-opacity:1;\" d=\"M 256.675781 377.582031 C 256.675781 380.417969 252.421875 380.417969 252.421875 377.582031 C 252.421875 374.746094 256.675781 374.746094 256.675781 377.582031 \"/>\n<path style=\" stroke:none;fill-rule:nonzero;fill:rgb(27.45098%,50.980392%,70.588235%);fill-opacity:1;\" d=\"M 429.050781 377.582031 C 429.050781 380.417969 424.800781 380.417969 424.800781 377.582031 C 424.800781 374.746094 429.050781 374.746094 429.050781 377.582031 \"/>\n<path style=\" stroke:none;fill-rule:nonzero;fill:rgb(27.45098%,50.980392%,70.588235%);fill-opacity:1;\" d=\"M 409.898438 377.820312 C 409.898438 380.65625 405.648438 380.65625 405.648438 377.820312 C 405.648438 374.988281 409.898438 374.988281 409.898438 377.820312 \"/>\n<path style=\" stroke:none;fill-rule:nonzero;fill:rgb(27.45098%,50.980392%,70.588235%);fill-opacity:1;\" d=\"M 275.828125 377.820312 C 275.828125 380.65625 271.578125 380.65625 271.578125 377.820312 C 271.578125 374.988281 275.828125 374.988281 275.828125 377.820312 \"/>\n<path style=\" stroke:none;fill-rule:nonzero;fill:rgb(27.45098%,50.980392%,70.588235%);fill-opacity:1;\" d=\"M 601.425781 378.0625 C 601.425781 380.898438 597.175781 380.898438 597.175781 378.0625 C 597.175781 375.226562 601.425781 375.226562 601.425781 378.0625 \"/>\n<path style=\" stroke:none;fill-rule:nonzero;fill:rgb(27.45098%,50.980392%,70.588235%);fill-opacity:1;\" d=\"M 371.59375 378.0625 C 371.59375 380.898438 367.339844 380.898438 367.339844 378.0625 C 367.339844 375.226562 371.59375 375.226562 371.59375 378.0625 \"/>\n<path style=\" stroke:none;fill-rule:nonzero;fill:rgb(27.45098%,50.980392%,70.588235%);fill-opacity:1;\" d=\"M 678.039062 378.0625 C 678.039062 380.898438 673.785156 380.898438 673.785156 378.0625 C 673.785156 375.226562 678.039062 375.226562 678.039062 378.0625 \"/>\n<path style=\" stroke:none;fill-rule:nonzero;fill:rgb(27.45098%,50.980392%,70.588235%);fill-opacity:1;\" d=\"M 333.285156 378.0625 C 333.285156 380.898438 329.035156 380.898438 329.035156 378.0625 C 329.035156 375.226562 333.285156 375.226562 333.285156 378.0625 \"/>\n<path style=\" stroke:none;fill-rule:nonzero;fill:rgb(27.45098%,50.980392%,70.588235%);fill-opacity:1;\" d=\"M 314.132812 378.0625 C 314.132812 380.898438 309.882812 380.898438 309.882812 378.0625 C 309.882812 375.226562 314.132812 375.226562 314.132812 378.0625 \"/>\n<path style=\" stroke:none;fill-rule:nonzero;fill:rgb(27.45098%,50.980392%,70.588235%);fill-opacity:1;\" d=\"M 448.203125 378.0625 C 448.203125 380.898438 443.953125 380.898438 443.953125 378.0625 C 443.953125 375.226562 448.203125 375.226562 448.203125 378.0625 \"/>\n<path style=\" stroke:none;fill-rule:nonzero;fill:rgb(27.45098%,50.980392%,70.588235%);fill-opacity:1;\" d=\"M 237.523438 378.0625 C 237.523438 380.898438 233.269531 380.898438 233.269531 378.0625 C 233.269531 375.226562 237.523438 375.226562 237.523438 378.0625 \"/>\n<g style=\"fill:rgb(49.803922%,49.803922%,49.803922%);fill-opacity:1;\">\n  <use xlink:href=\"#61916737-640e-4fa0-9841-b87972cbf6e3\" x=\"39.398438\" y=\"380.824219\"/>\n</g>\n<g style=\"fill:rgb(49.803922%,49.803922%,49.803922%);fill-opacity:1;\">\n  <use xlink:href=\"#e6ddf79c-053b-4716-96bc-d30faa1054eb\" x=\"28.398438\" y=\"260.480469\"/>\n  <use xlink:href=\"#61916737-640e-4fa0-9841-b87972cbf6e3\" x=\"33.732422\" y=\"260.480469\"/>\n  <use xlink:href=\"#61916737-640e-4fa0-9841-b87972cbf6e3\" x=\"39.066406\" y=\"260.480469\"/>\n</g>\n<g style=\"fill:rgb(49.803922%,49.803922%,49.803922%);fill-opacity:1;\">\n  <use xlink:href=\"#1189c6cb-e2d5-476c-b886-7bc1e32ebfd4\" x=\"23.398438\" y=\"140.140625\"/>\n  <use xlink:href=\"#61916737-640e-4fa0-9841-b87972cbf6e3\" x=\"28.732422\" y=\"140.140625\"/>\n  <use xlink:href=\"#61916737-640e-4fa0-9841-b87972cbf6e3\" x=\"34.066406\" y=\"140.140625\"/>\n  <use xlink:href=\"#61916737-640e-4fa0-9841-b87972cbf6e3\" x=\"39.400391\" y=\"140.140625\"/>\n</g>\n<path style=\"fill:none;stroke-width:1.062992;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(49.803922%,49.803922%,49.803922%);stroke-opacity:1;stroke-miterlimit:10;\" d=\"M 48.234375 378.304688 L 52.488281 378.304688 \"/>\n<path style=\"fill:none;stroke-width:1.062992;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(49.803922%,49.803922%,49.803922%);stroke-opacity:1;stroke-miterlimit:10;\" d=\"M 48.234375 257.960938 L 52.488281 257.960938 \"/>\n<path style=\"fill:none;stroke-width:1.062992;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(49.803922%,49.803922%,49.803922%);stroke-opacity:1;stroke-miterlimit:10;\" d=\"M 48.234375 137.621094 L 52.488281 137.621094 \"/>\n<path style=\"fill:none;stroke-width:1.062992;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(49.803922%,49.803922%,49.803922%);stroke-opacity:1;stroke-miterlimit:10;\" d=\"M 82.171875 398.765625 L 82.171875 394.511719 \"/>\n<path style=\"fill:none;stroke-width:1.062992;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(49.803922%,49.803922%,49.803922%);stroke-opacity:1;stroke-miterlimit:10;\" d=\"M 273.703125 398.765625 L 273.703125 394.511719 \"/>\n<path style=\"fill:none;stroke-width:1.062992;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(49.803922%,49.803922%,49.803922%);stroke-opacity:1;stroke-miterlimit:10;\" d=\"M 465.230469 398.765625 L 465.230469 394.511719 \"/>\n<path style=\"fill:none;stroke-width:1.062992;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(49.803922%,49.803922%,49.803922%);stroke-opacity:1;stroke-miterlimit:10;\" d=\"M 656.761719 398.765625 L 656.761719 394.511719 \"/>\n<g style=\"fill:rgb(49.803922%,49.803922%,49.803922%);fill-opacity:1;\">\n  <use xlink:href=\"#61916737-640e-4fa0-9841-b87972cbf6e3\" x=\"79.171875\" y=\"407.621094\"/>\n</g>\n<g style=\"fill:rgb(49.803922%,49.803922%,49.803922%);fill-opacity:1;\">\n  <use xlink:href=\"#1189c6cb-e2d5-476c-b886-7bc1e32ebfd4\" x=\"268.203125\" y=\"407.621094\"/>\n  <use xlink:href=\"#61916737-640e-4fa0-9841-b87972cbf6e3\" x=\"273.537109\" y=\"407.621094\"/>\n</g>\n<g style=\"fill:rgb(49.803922%,49.803922%,49.803922%);fill-opacity:1;\">\n  <use xlink:href=\"#50c146e3-80e1-41a9-9f9c-00111f214ff5\" x=\"459.730469\" y=\"407.621094\"/>\n  <use xlink:href=\"#61916737-640e-4fa0-9841-b87972cbf6e3\" x=\"465.064453\" y=\"407.621094\"/>\n</g>\n<g style=\"fill:rgb(49.803922%,49.803922%,49.803922%);fill-opacity:1;\">\n  <use xlink:href=\"#3164d568-4a01-43e2-aa23-e067f06316c9\" x=\"651.261719\" y=\"407.621094\"/>\n  <use xlink:href=\"#61916737-640e-4fa0-9841-b87972cbf6e3\" x=\"656.595703\" y=\"407.621094\"/>\n</g>\n<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n  <use xlink:href=\"#3702e2c0-b927-41cb-9760-b35bf0bb2095\" x=\"359.042969\" y=\"420.975586\"/>\n  <use xlink:href=\"#c69d921e-9339-40db-b23e-6d6a5c9d83f9\" x=\"367.707031\" y=\"420.975586\"/>\n  <use xlink:href=\"#40f9a57a-74c5-4c20-8cd5-a6873bbc2cf7\" x=\"374.378906\" y=\"420.975586\"/>\n  <use xlink:href=\"#e9bd8033-d2bc-4b06-80bc-083083ac36d1\" x=\"381.050781\" y=\"420.975586\"/>\n  <use xlink:href=\"#c69d921e-9339-40db-b23e-6d6a5c9d83f9\" x=\"384.927734\" y=\"420.975586\"/>\n  <use xlink:href=\"#c69d921e-9339-40db-b23e-6d6a5c9d83f9\" x=\"391.599609\" y=\"420.975586\"/>\n</g>\n<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n  <use xlink:href=\"#ab71bc7f-3888-424f-ab14-89c0290f0cf5\" x=\"19.577148\" y=\"230.058594\"/>\n  <use xlink:href=\"#7dce1139-fa1a-45d2-a756-0800300ba3d0\" x=\"19.577148\" y=\"221.394531\"/>\n  <use xlink:href=\"#5d0ec812-8fd0-4ca6-838b-33a62e224524\" x=\"19.577148\" y=\"214.722656\"/>\n  <use xlink:href=\"#fc25fb40-2e68-479a-90b1-f3d73c663999\" x=\"19.577148\" y=\"208.050781\"/>\n  <use xlink:href=\"#f68291b1-0d46-4010-ba3a-3e9f401dca18\" x=\"19.577148\" y=\"201.378906\"/>\n</g>\n<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n  <use xlink:href=\"#beb88d8d-0292-4296-98db-59d5465a7049\" x=\"318.542969\" y=\"28.530273\"/>\n  <use xlink:href=\"#3b76bba5-4d71-422f-93ee-123cc544e65f\" x=\"328.944336\" y=\"28.530273\"/>\n  <use xlink:href=\"#b058366d-64a9-4084-9b70-d227ba7497da\" x=\"336.954102\" y=\"28.530273\"/>\n  <use xlink:href=\"#93229c1d-13ad-44e5-a0c0-946f5a432b81\" x=\"344.963867\" y=\"28.530273\"/>\n  <use xlink:href=\"#3b76bba5-4d71-422f-93ee-123cc544e65f\" x=\"349.617188\" y=\"28.530273\"/>\n  <use xlink:href=\"#3b76bba5-4d71-422f-93ee-123cc544e65f\" x=\"357.626953\" y=\"28.530273\"/>\n  <use xlink:href=\"#531ffbcd-e24f-45e0-9eba-6db80cc34efa\" x=\"365.636719\" y=\"28.530273\"/>\n  <use xlink:href=\"#3fcb0530-fd4a-4f23-a8d1-f25c86c694ed\" x=\"369.641602\" y=\"28.530273\"/>\n  <use xlink:href=\"#be4f5c88-a415-4ce0-a911-da93f6aaab87\" x=\"377.651367\" y=\"28.530273\"/>\n  <use xlink:href=\"#4220a801-5507-435d-9841-6af0f954c5b3\" x=\"380.849609\" y=\"28.530273\"/>\n  <use xlink:href=\"#54a0ecd2-81f9-4f25-ac55-10eb126be4c2\" x=\"387.981445\" y=\"28.530273\"/>\n  <use xlink:href=\"#93229c1d-13ad-44e5-a0c0-946f5a432b81\" x=\"391.986328\" y=\"28.530273\"/>\n  <use xlink:href=\"#be4f5c88-a415-4ce0-a911-da93f6aaab87\" x=\"396.783203\" y=\"28.530273\"/>\n  <use xlink:href=\"#85be9a60-ed36-4708-adfd-7935d81c4888\" x=\"399.981445\" y=\"28.530273\"/>\n  <use xlink:href=\"#e159f708-529d-4fd4-9e0a-052ad4be9139\" x=\"407.991211\" y=\"28.530273\"/>\n  <use xlink:href=\"#54a0ecd2-81f9-4f25-ac55-10eb126be4c2\" x=\"416.000977\" y=\"28.530273\"/>\n  <use xlink:href=\"#be4f5c88-a415-4ce0-a911-da93f6aaab87\" x=\"420.005859\" y=\"28.530273\"/>\n  <use xlink:href=\"#5f620988-e838-40bd-b374-0337aef0be8c\" x=\"423.204102\" y=\"28.530273\"/>\n  <use xlink:href=\"#3caecf4d-7c66-41f1-a5bd-b47f494d74cb\" x=\"431.213867\" y=\"28.530273\"/>\n</g>\n</g>\n</svg>\n","value":"#gg4clj.core.GGView{:plot-command [[:<- :d [:data.frame {:degree [:c 0 1 2 3 6 5 7 4 11 14 9 18 17 10 27 15 31 13 12 19 8], :count [:c 1368 113 27 10 8 8 7 7 4 4 3 3 2 2 1 1 1 1 1 1 1]}]] [:+ [:+ [:+ [:+ [:+ [:ggplot :d [:aes :degree :count]] [:geom_line {:stat \"identity\", :color \"steelblue\"}]] [:geom_point {:color \"steelblue\"}]] [:xlab \"Degree\"]] [:ylab \"Count\"]] [:ggtitle \"Degree distribution\"]]], :options {:width 10, :height 6}}"}
+;; <=
+
+;; @@
+
+;; @@


0.5.3: exit with error code when parsing fails

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/jtbeckha/alda.git/'


started functions to implement whiz and whoopbang in forma.bangfunc

error: pathspec 'src/clj/forma/bangfunc.clj' did not match any file(s) known to git

--- src/clj/forma/bangfunc.clj
+++ src/clj/forma/bangfunc.clj
@@ -0,0 +1,19 @@
+(ns forma.bangfunc
+  (:require [incanter.core :as i]))
+
+; test data to simulate a randome time-series (will be read in later)
+(def random-ints (repeatedly #(rand-int 100)))
+(def test-ts (take 131 random-ints))
+
+(defn ols-coeff
+  "extract OLS coefficient from a time-series
+  as efficiently as possible."
+  [ts]
+  (let [ycol (i/trans [ts])
+        pd (count ts)
+        X (i/trans (i/bind-rows (repeat pd 1) (range 1 (inc pd))))
+        ssX (i/solve (i/mmult (i/trans X) X))]
+  (i/sel (i/mmult ssX (i/trans X) ycol) 1 0)))
+
+(def whoopbang (reduce min (map ols-coeff (partition 15 1 test-ts))))
+(def whizbang (ols-coeff test-ts))


args? -> wrapped?

args? -> wrapped?

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/michaelsbradleyjr/transwarp.git/'


Grammar!

Grammar!

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/couragelabs/coachbot.git/'


Read the registration status before deleting the user

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/democracyworks/voter-registration-works.git/'


Liburua ezabatzean erlazioak ezabatu

Liburua ezabatzean erlazioak ezabatu

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/lnmnd/magnet.zer.git/'


sketch out cljs.js namespace

sketch out cljs.js namespace

error: pathspec 'src/main/cljs/cljs/js.cljs' did not match any file(s) known to git

--- src/main/cljs/cljs/js.cljs
+++ src/main/cljs/cljs/js.cljs
@@ -0,0 +1,62 @@
+;   Copyright (c) Rich Hickey. All rights reserved.
+;   The use and distribution terms for this software are covered by the
+;   Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)
+;   which can be found in the file epl-v10.html at the root of this distribution.
+;   By using this software in any fashion, you are agreeing to be bound by
+;   the terms of this license.
+;   You must not remove this notice, or any other, from this software.
+
+(ns cljs.js
+  (:require-macros [cljs.env :as env])
+  (:require [cljs.env :as env]
+            [cljs.analyzer :as ana]
+            [cljs.compiler :as comp]
+            [cljs.tools.reader :as r]
+            [cljs.tools.reader-types :as rt]
+            [cljs.tagged-literals :as tags]))
+
+(defn empty-env []
+  (env/default-compiler-env))
+
+;; -----------------------------------------------------------------------------
+;; Analyze
+
+(defn analyze* [env string cb]
+  (let [rdr (rt/string-push-back-reader f)
+        eof (js-obj)
+        env (ana/empty-env)]
+    (env/with-compiler-env env
+      (loop []
+        (let [form (r/read {:eof eof} rdr)]
+          (if-not (identical? eof form)
+            (let [env (assoc env :ns (ana/get-namespace ana/*cljs-ns*))]
+              (ana/analyze env form))
+            (recur))
+          (cb))))))
+
+(defn analyze [env string cb]
+  (binding [ana/*cljs-ns*    (or (:ns env) 'cljs.user)
+            *ns*             (create-ns ana/*cljs-ns*)
+            r/*data-readers* tags/*cljs-data-readers*]
+    (analyze* env string cb)))
+
+;; -----------------------------------------------------------------------------
+;; Emit
+
+(defn emit* [env ast cb]
+  (cb (with-out-str (comp/emit ast))))
+
+(defn emit [env ast cb]
+  (env/with-compiler-env env
+    (emit* env ast cb)))
+
+;; -----------------------------------------------------------------------------
+;; Eval
+
+(defn eval* [env form cb]
+  (let [ana-env (ana/empty-env)]
+    (cb (ana/analyze ana-env form))))
+
+(defn eval [env form cb]
+  (env/with-compiler-env env
+    (eval* env form cb)))


Can handle empty seqs

Can handle empty seqs

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/michaelsbradleyjr/shen.clj.git/'


Added 'lein try' capability to the config file.

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/wiremoons/GenIsys-RedHat.git/'


send an str of the responses

send an str of the responses

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/parenode/clojure-cup-2015.git/'


Add Compojure plaintext test

Add Compojure plaintext test

--- compojure/hello/src/hello/handler.clj
+++ compojure/hello/src/hello/handler.clj
@@ -137,6 +137,10 @@
 ; Define route handlers
 (defroutes app-routes
   (GET "/" [] "Hello, World!")
+  (GET "/plaintext" []
+       {:status 200
+        :headers {"Content-Type" "text/plain; charset=utf-8"}
+        :body "Hello, World!"})
   (GET "/json" [] (response {:message "Hello, World!"}))
   (GET "/db/:queries" [queries] (response (run-queries (get-query-count queries))))
   (GET "/dbraw/:queries" [queries] (response (run-queries-raw (get-query-count queries))))


Fix codox src-dir-uri for 0.1.0

Fix codox src-dir-uri for 0.1.0

--- project.clj
+++ project.clj
@@ -12,5 +12,5 @@
   :codox {:sources ["core/src" "thrift/src"]
           :defaults {:doc/format :markdown}
           :output-dir "doc/codox"
-          :src-dir-uri "http://github.com/samn/finagle-clojure/blob/v0.1.0"
+          :src-dir-uri "http://github.com/samn/finagle-clojure/blob/v0.1.0/"
           :src-linenum-anchor-prefix "L"})


Bump version to 0.8.7-SNAPSHOT.

Bump version to 0.8.7-SNAPSHOT.

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject clojars-web "0.8.6"
+(defproject clojars-web "0.8.7-SNAPSHOT"
   :dependencies [[org.clojure/clojure "1.4.0"]
                  [org.clojure/tools.cli "0.2.1"]
                  [org.apache.maven/maven-model "3.0.4"


[WM] don't call name on a function

[WM] don't call name on a function

It shouldn't work, but somehow it was before.

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/democracyworks/election-notification-works.git/'


Error checking

Error checking


recommited speech-api

recommited speech-api

error: pathspec 'src/cai/speech_api.clj' did not match any file(s) known to git

--- src/cai/speech_api.clj
+++ src/cai/speech_api.clj
@@ -0,0 +1,49 @@
+(ns cai.speech-api
+  (:gen-class)
+  (:require [clojure.string :as s]
+            [org.httpkit.client :as http]
+            [clojure.data.json :as json]
+            [environ.core :refer [env]]))
+(import (org.apache.commons.codec.binary Base64))
+
+
+(defn download-audio [url]
+  (let [response (http/get url {:as :byte-array})]
+    (:body @response)))
+
+(defn audio-to-b64 [audio]
+  (String. (Base64/encodeBase64 audio)))
+
+(defn request-body [b64audio]
+  {"config" {"encoding" "AMR"
+             "sampleRateHertz" 8000
+             "languageCode" "en-US"}
+   "audio" {"content" b64audio}})
+
+(defn call-speech-api [b64audio]
+  (println b64audio)
+  @(http/post "https://speech.googleapis.com/v1/speech:recognize"
+     { :query-params {"key" (env :google-api-key)}
+       :headers {"Content-Type" "application/json"}
+       :body (json/write-str (request-body b64audio))
+       :insecure? true}))
+
+
+(defn handle-speech-response [{:keys [status headers body error]}]
+  (if (= status 200)
+      (println (str status "-" headers "-" body "-" error))
+        ;(json/read-str body :key-fn keyword
+        ;  :responses
+        ;  first)
+      (println body)))
+
+
+(defn analyze [url]
+  (-> (download-audio url)
+      audio-to-b64
+      call-speech-api
+      handle-speech-response))
+
+;;IMPORTANT: code works so far, but response empty. need to convert audio from
+;;mp4(aac) to valid format!!!
+;;(see https://cloud.google.com/speech/reference/rest/v1/RecognitionConfig#AudioEncoding)


More precise logging for user list.

More precise logging for user list.


Turn off logging when running tests

Turn off logging when running tests

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/democracyworks/notification-works.git/'


:arrow_up: Update dependency

:arrow_up: Update dependency

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/maoo/bot-unfurl.git/'


Look for correct datomic env vars in project.clj

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/democracyworks/election-authority-works.git/'


Update pandect lib version

Update pandect lib version

Signed-off-by: selmeci <bb938fc7591901d0e874df22e3ae174886bcb931@edocu.com>

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/infones/http-kit.git/'


Version 1.8.0

Version 1.8.0

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/starcity-properties/odin.git/'


Version 0.0.5-SNAPSHOT

Version 0.0.5-SNAPSHOT

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject com.lemondronor/turboshrimp-xuggler "0.0.4"
+(defproject com.lemondronor/turboshrimp-xuggler "0.0.5-SNAPSHOT"
   :description "An AR.Drone video decoder for the turboshrimp library that uses the xuggler H.264 decoder."
   :url "https://github.com/wiseman/turboshrimp-xuggler"
   :license {:name "MIT License"


Do not AOT compile qu.loader

Do not AOT compile qu.loader

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/qu-platform/qu-core.git/'


Version 0.2.21

Version 0.2.21

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject sablono "0.2.21-SNAPSHOT"
+(defproject sablono "0.2.21"
   :description "Lisp style templating for Facebook's React."
   :url "http://github.com/r0man/sablono"
   :author "r0man"


support singular/plural forms in countdown

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/clojurecup/cc2014-frontend.git/'


started work on particle effects

started work on particle effects

error: pathspec 'src/cljs/schutzen/graphics/particle.cljs' did not match any file(s) known to git

--- src/cljs/schutzen/graphics/particle.cljs
+++ src/cljs/schutzen/graphics/particle.cljs
@@ -0,0 +1,6 @@
+(ns schutzen.graphics.particle
+  (:require [schutzen.utils :refer [log]]))
+
+(defrecord Particle [position velocity duration])
+
+(defn create-particle [position velocity duration])


add multi insert L new old lat

add multi insert L new old lat

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/carolove/clojure-ring-app.git/'


Clean up whitespace & line lengths in test ns


Move test expectation inside = form

Move test expectation inside = form


use general clj-http client/request method to implement get, post, put etc.

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/colophon/clarango.git/'


bump up timeouts to 30 seconds

bump up timeouts to 30 seconds

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/democracyworks/electorate-works.git/'


style: indent

style: indent

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/rodrigo-garcia-leon/semanario-universidad-newsletter.git/'


Update cats.monad.either

Update cats.monad.either

Add either (alias to branch).

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/tcsavage/cats.git/'


A first log

A first log

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/physion/ovation-webapi.git/'


add analysis namespace

add analysis namespace

error: pathspec 'src/clj/ceres/analyser.clj' did not match any file(s) known to git

--- src/clj/ceres/analyser.clj
+++ src/clj/ceres/analyser.clj
@@ -0,0 +1,67 @@
+(ns ceres.analyzer
+  (:refer-clojure :exclude [sort find])
+  (:require [monger.collection :as mc]
+            [monger.operators :refer :all]
+            [monger.query :refer :all]
+            [clojure.data.json :as json]
+            [monger.joda-time]
+            [clojure.string :refer [split join lower-case]]
+            [clojure.walk :as walk]
+            [clojure.zip :as zip]
+            [aprint.core :refer [aprint]]
+            [clj-time.core :as t]
+            [clj-time.format :as f]
+            [clj-time.coerce :as c]
+            [clj-time.periodic :as p]
+            [clojure.pprint :refer [pprint]]
+            [clojure.java.shell :refer [sh]]
+            [opennlp.nlp :refer [make-tokenizer make-detokenizer]]
+            [loom.graph :as lg]
+            [loom.io :as lio]
+            [ceres.collector :refer [db custom-formatter news-accounts store]])
+ (:import org.bson.types.ObjectId))
+
+(def time-interval {$gt (t/date-time 2014 8 1) $lt (t/date-time 2014 9 1)})
+
+(defrecord Publication [source reactions])
+
+(defn find-reactions [pid]
+  (let [reactions (mc/find-maps @db "reactions" {:source pid})]
+    (Publication. pid (vec (pmap #(find-reactions (:publication %)) reactions)))))
+
+
+(defn reaction-tree [pub]
+  (zip/zipper
+   (fn [node] true)
+   (fn [node] (:reactions node))
+   (fn [node new-children] (assoc-in node [:reactions] new-children))
+   (find-reactions pub)))
+
+
+(defn summary [tree]
+  (loop [size 0
+         max-path 0
+         loc tree]
+    (if (zip/end? loc)
+      {:size size
+       :height max-path}
+      (recur
+       (if (zip/node loc) (inc size) size)
+       (if (zip/node loc) (-> loc zip/path count (max max-path)) max-path)
+       (zip/next loc)))))
+
+
+
+(comment {}
+
+  ;; reaction to all publications
+  (let [users (map :_id (mc/find-maps @db "users" {:screen_name {$in news-accounts}}))]
+    (->> (mc/find-maps @db "published" {:user {$in users}})
+         (pmap #(find-reactions (:_id %)))
+         first
+         reaction-tree
+         aprint
+         time))
+
+
+  )


core,core* WIP

core,core* WIP

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/michaelsbradleyjr/transwarp.git/'


reorg Ideas section comments, and rm the section


revise finite/rethunk->ts

revise finite/rethunk->ts


modularize runner script

modularize runner script

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/croeder/clojure-koans-work.git/'


Bump some logging to warn level

Bump some logging to warn level

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/democracyworks/turbovote-http-api.git/'