 
 (defn resolve-engine
   "Given dynamic type engine, try resolve it to
-valid engine instance. By default accepts keywords
-and functions."
+  valid engine instance. By default accepts keywords
+  and functions."
   [engine]
   (cond
    (instance? Keyword engine) (let [factory (engine *available-engines*)]


(defn poly1305
  "Make poly1305 mac for specified data, using arbitrary
length key and 128 bits iv.
Key can be any type that implements ByteArray protocol."
  [input key ^bytes iv ^Keyword alg]
  {:pre [(= (count iv) 16)]}
  (let [key (->byte-array key)]


(defprotocol Poly1305Mac
  "Protocol that defines a low level interface
  to poly 1305 algorithm and allows extend it for
  different types.
  It comes with default implementation for: string,
  bytes, input stream, file, url and uri."
  (make-poly1305 [obj key iv alg] "Calculate poly1305 mac for type."))

(alter-meta! #'make-poly1305 assoc :no-doc true :private true)
