        :to {:line 4, :ch 9},
        :text ("l"),
        :origin "+input"},
-      :dt 81}
+      :dt 89}
      {:change
       {:from {:line 4, :ch 10},
        :to {:line 4, :ch 10},
        :text ("e"),
        :origin "+input"},
-      :dt 61}
+      :dt 136}
      {:change
       {:from {:line 4, :ch 11},
        :to {:line 4, :ch 11},
        :text ("."),
        :origin "+input"},
-      :dt 129}
+      :dt 99}
      {:change
       {:from {:line 4, :ch 12},
        :to {:line 4, :ch 12},
        :text ("b"),
        :origin "+input"},
-      :dt 110}
+      :dt 103}
      {:change
       {:from {:line 4, :ch 13},
        :to {:line 4, :ch 13},
        :text ("a"),
        :origin "+input"},
-      :dt 147}
+      :dt 146}
      {:change
       {:from {:line 4, :ch 14},
        :to {:line 4, :ch 14},
        :text ("r"),
        :origin "+input"},
-      :dt 115}
+      :dt 101}
      {:change
       {:from {:line 4, :ch 15},
        :to {:line 4, :ch 15},
        :text ("" ""),
        :origin "+input"},
-      :dt 504}
-     {:change
-      {:from {:line 5, :ch 0},
-       :to {:line 5, :ch 0},
-       :text ("    "),
-       :origin "+input"},
-      :dt 7}
-     {:change
-      {:from {:line 5, :ch 4},
-       :to {:line 5, :ch 4},
-       :text ("e"),
-       :origin "+input"},
-      :dt 222}
+      :dt 371}
+{:change
+ {:from {:line 5, :ch 0},
+  :to {:line 5, :ch 0},
+  :text ("    "),
+  :origin "+input"},
+ :dt 7}
+{:change
+ {:from {:line 5, :ch 4},
+  :to {:line 5, :ch 4},
+  :text ("e"),
+  :origin "+input"},
+ :dt 232}
 {:change
  {:from {:line 5, :ch 5},
   :to {:line 5, :ch 5},
   :text ("x"),
   :origin "+input"},
- :dt 209}
+ :dt 214}
 {:change
  {:from {:line 5, :ch 6},
   :to {:line 5, :ch 6},
   :text ("a"),
   :origin "+input"},
- :dt 92}
+ :dt 76}
 {:change
  {:from {:line 5, :ch 7},
   :to {:line 5, :ch 7},
   :text ("m"),
   :origin "+input"},
- :dt 66}
+ :dt 102}
 {:change
  {:from {:line 5, :ch 8},
   :to {:line 5, :ch 8},
   :text ("p"),
   :origin "+input"},
- :dt 45}
+ :dt 39}
 {:change
  {:from {:line 5, :ch 9},
   :to {:line 5, :ch 9},
   :text ("l"),
   :origin "+input"},
- :dt 124}
+ :dt 90}
 {:change
  {:from {:line 5, :ch 10},
   :to {:line 5, :ch 10},
   :text ("e"),
   :origin "+input"},
- :dt 115}
+ :dt 110}
 {:change
  {:from {:line 5, :ch 11},
   :to {:line 5, :ch 11},
   :text ("."),
   :origin "+input"},
- :dt 156}
+ :dt 109}
 {:change
  {:from {:line 5, :ch 12},
   :to {:line 5, :ch 12},
   :text ("b"),
   :origin "+input"},
- :dt 201}
+ :dt 145}
 {:change
  {:from {:line 5, :ch 13},
   :to {:line 5, :ch 13},
   :text ("a"),
   :origin "+input"},
- :dt 147}
+ :dt 283}
 {:change
  {:from {:line 5, :ch 14},
   :to {:line 5, :ch 14},
   :text ("z"),
   :origin "+input"},
- :dt 194}
+ :dt 180}
 {:change
  {:from {:line 5, :ch 14},
   :to {:line 5, :ch 15},
   :text (""),
   :origin "+delete"},
- :dt 1315}
+ :dt 477}
 {:change
  {:from {:line 5, :ch 13},
   :to {:line 5, :ch 14},
   :text (""),
   :origin "+delete"},
- :dt 499}
+ :dt 495}
 {:change
  {:from {:line 5, :ch 12},
   :to {:line 5, :ch 13},
   :text (""),
   :origin "+delete"},
- :dt 84}
+ :dt 104}
 {:change
  {:from {:line 5, :ch 11},
   :to {:line 5, :ch 12},
   :text (""),
   :origin "+delete"},
- :dt 90}
+ :dt 65}
 {:change
  {:from {:line 5, :ch 10},
   :to {:line 5, :ch 11},
   :text (""),
   :origin "+delete"},
- :dt 83}
+ :dt 82}
 {:change
  {:from {:line 5, :ch 9},
   :to {:line 5, :ch 10},
   :text (""),
   :origin "+delete"},
- :dt 81}
+ :dt 90}
 {:change
  {:from {:line 5, :ch 8},
   :to {:line 5, :ch 9},
   :text (""),
   :origin "+delete"},
- :dt 83}
+ :dt 85}
 {:change
  {:from {:line 5, :ch 7},
   :to {:line 5, :ch 8},
   :text (""),
   :origin "+delete"},
- :dt 87}
+ :dt 79}
 {:change
  {:from {:line 5, :ch 6},
   :to {:line 5, :ch 7},
   :text (""),
   :origin "+delete"},
- :dt 80}
+ :dt 88}
 {:change
  {:from {:line 5, :ch 5},
   :to {:line 5, :ch 6},
   :text (""),
   :origin "+delete"},
- :dt 260}
+ :dt 300}
 {:change
  {:from {:line 5, :ch 4},
   :to {:line 5, :ch 5},
   :text (""),
   :origin "+delete"},
- :dt 181}
+ :dt 135}
 {:selections ({:anchor {:line 5, :ch 4}, :head {:line 4, :ch 4}}),
- :dt 754}
+ :dt 676}
 {:change
  {:from {:line 4, :ch 4},
   :to {:line 5, :ch 4},
   :text (""),
   :origin "+delete"},
- :dt 495}],
-:init-value
-"(ns example.core\n  (:require\n    [clojure.string :refer [join]]\n    [clojure.data :refer [diff]]))",
-:last-time 1444253174845, 
+ :dt 507}],
+:init-value "",
+:last-time 1444670641434, 
 :recording? false})
 
 (def comment-

  )

(def indent-far
  '{:loop-delay 1000
    :timescale 2
    :changes
    [{:change
      {:from {:line 1, :ch 0},
       :to {:line 1, :ch 0},
       :text (" "),
       :origin "+input"},
      :dt 0}
     {:change
      {:from {:line 1, :ch 1},
       :to {:line 1, :ch 1},
       :text (" "),
       :origin "+input"},
      :dt 186}
     {:change
      {:from {:line 1, :ch 2},
       :to {:line 1, :ch 2},
       :text (" "),
       :origin "+input"},
      :dt 799}
     {:change
      {:from {:line 1, :ch 3},
       :to {:line 1, :ch 3},
       :text (" "),
       :origin "+input"},
      :dt 212}
     {:change
      {:from {:line 1, :ch 4},
       :to {:line 1, :ch 4},
       :text (" "),
       :origin "+input"},
      :dt 204}
     {:change
      {:from {:line 1, :ch 5},
       :to {:line 1, :ch 5},
       :text (" "),
       :origin "+input"},
      :dt 236}
     {:change
      {:from {:line 1, :ch 6},
       :to {:line 1, :ch 6},
       :text (" "),
       :origin "+input"},
      :dt 754}
     {:change
      {:from {:line 1, :ch 7},
       :to {:line 1, :ch 7},
       :text (" "),
       :origin "+input"},
      :dt 213}
     {:change
      {:from {:line 1, :ch 8},
       :to {:line 1, :ch 8},
       :text (" "),
       :origin "+input"},
      :dt 248}
     {:change
      {:from {:line 1, :ch 8},
       :to {:line 1, :ch 9},
       :text (""),
       :origin "+delete"},
      :dt 1270}
     {:change
      {:from {:line 1, :ch 7},
       :to {:line 1, :ch 8},
       :text (""),
       :origin "+delete"},
      :dt 225}
     {:change
      {:from {:line 1, :ch 6},
       :to {:line 1, :ch 7},
       :text (""),
       :origin "+delete"},
      :dt 230}
     {:change
      {:from {:line 1, :ch 5},
       :to {:line 1, :ch 6},
       :text (""),
       :origin "+delete"},
      :dt 749}
     {:change
      {:from {:line 1, :ch 4},
       :to {:line 1, :ch 5},
       :text (""),
       :origin "+delete"},
      :dt 225}
     {:change
      {:from {:line 1, :ch 3},
       :to {:line 1, :ch 4},
       :text (""),
       :origin "+delete"},
      :dt 217}
     {:change
      {:from {:line 1, :ch 2},
       :to {:line 1, :ch 3},
       :text (""),
       :origin "+delete"},
      :dt 266}
     {:change
      {:from {:line 1, :ch 1},
       :to {:line 1, :ch 2},
       :text (""),
       :origin "+delete"},
      :dt 1006}
{:change
 {:from {:line 1, :ch 0},
  :to {:line 1, :ch 1},
  :text (""),
  :origin "+delete"},
 :dt 176}],
:init-value "(let [m {:foo 1}])\n:bar 2",
:last-time 1444141621667,
:recording? false,
})

(def indent-multi
  '{:timescale 2
    :changes
    [{:change
      {:from {:line 3, :ch 9},
       :to {:line 3, :ch 9},
       :text ("  "),
       :origin "+input"},
      :dt 0}
     {:change
      {:from {:line 3, :ch 11},
       :to {:line 3, :ch 11},
       :text ("  "),
       :origin "+input"},
      :dt 236}
     {:change
      {:from {:line 3, :ch 13},
       :to {:line 3, :ch 13},
       :text ("  "),
       :origin "+input"},
      :dt 257}
     {:change
      {:from {:line 3, :ch 15},
       :to {:line 3, :ch 15},
       :text ("  "),
       :origin "+input"},
      :dt 362}
     {:selections ({:anchor {:line 2, :ch 2}, :head {:line 2, :ch 2}}),
      :dt 1022}
     {:selections ({:anchor {:line 2, :ch 2}, :head {:line 2, :ch 3}}),
      :dt 202}
     {:selections ({:anchor {:line 2, :ch 2}, :head {:line 2, :ch 5}}),
      :dt 17}
     {:selections ({:anchor {:line 2, :ch 2}, :head {:line 3, :ch 9}}),
      :dt 46}
     {:selections ({:anchor {:line 2, :ch 2}, :head {:line 4, :ch 12}}),
      :dt 9}
     {:selections ({:anchor {:line 2, :ch 2}, :head {:line 4, :ch 13}}),
      :dt 15}
     {:selections ({:anchor {:line 2, :ch 2}, :head {:line 4, :ch 16}}),
      :dt 37}
     {:change
      {:from {:line 2, :ch 0},
       :to {:line 2, :ch 2},
       :text ("    "),
       :origin "+input"},
      :dt 597}
     {:change
      {:from {:line 3, :ch 0},
       :to {:line 3, :ch 17},

       :to {:line 4, :ch 2},
       :text ("    "),
       :origin "+input"},
      :dt 4}
     {:selections ({:anchor {:line 4, :ch 4}, :head {:line 4, :ch 4}}),
      :dt 1144}
     {:selections ({:anchor {:line 4, :ch 4}, :head {:line 4, :ch 4}}),
      :dt 22}
     {:change
      {:from {:line 4, :ch 4},
       :to {:line 4, :ch 4},
       :text ("  "),
       :origin "+input"},
      :dt 578}],
    :init-value "",
    :last-time 1444670969215, 
    :recording? false, 
    :timescale 2})

(def line
  '{:timescale 2
    :changes
    [{:selections ({:anchor {:line 0, :ch 0}, :head {:line 0, :ch 0}}),
      :dt 0}
     {:change
      {:from {:line 0, :ch 0},
       :to {:line 0, :ch 0},
       :text
       ("(ns example.core"
             "  (:require"
             "    [clojure.string :refer [join]]"
             "    [clojure.data :refer [diff]]))"),
       :origin "paste"},
      :dt 600}
     {:change
      {:from {:line 3, :ch 34},
       :to {:line 3, :ch 34},
       :text ("" ""),
       :origin "+input"},
      :dt 1071}
     {:change
      {:from {:line 4, :ch 0},
       :to {:line 4, :ch 0},
       :text ("  "),
       :origin "+input"},
      :dt 406}
     {:change
      {:from {:line 4, :ch 2},
       :to {:line 4, :ch 2},
       :text ("  "),
       :origin "+input"},
      :dt 214}
     {:change
      {:from {:line 4, :ch 4},
       :to {:line 4, :ch 4},
       :text ("e"),
       :origin "+input"},
      :dt 360}
     {:change
      {:from {:line 4, :ch 5},
       :to {:line 4, :ch 5},
       :text ("x"),
       :origin "+input"},
      :dt 257}
     {:change
      {:from {:line 4, :ch 6},
       :to {:line 4, :ch 6},
       :text ("a"),
       :origin "+input"},
      :dt 70}
     {:change
      {:from {:line 4, :ch 7},
       :to {:line 4, :ch 7},
       :text ("m"),
       :origin "+input"},
      :dt 90}
     {:change
      {:from {:line 4, :ch 8},
       :to {:line 4, :ch 8},
