text: goog.provide('shadow.animate');
  goog.require('cljs.core');
  goog.require('shadow.dom');
  goog.require('shadow.object');
  goog.require('clojure.string');
  goog.require('cljs.core.async');
  goog.require('goog.dom.vendor');
  goog.require('goog.style');
  goog.require('shadow.util');
  
  /**
   * @interface
   */
  shadow.animate.Animation = function(){};
  
  /**
   * return a map of {attr initial-value}
   */
  shadow.animate._animate_from = (function shadow$animate$_animate_from(this$){
  if((((!((this$ == null)))) && ((!((this$.shadow$animate$Animation$_animate_from$arity$1 == null)))))){
  return this$.shadow$animate$Animation$_animate_from$arity$1(this$);
  } else {
  var x__4433__auto__ = (((this$ == null))?null:this$);
  var m__4434__auto__ = (shadow.animate._animate_from[goog.typeOf(x__4433__auto__)]);
  if((!((m__4434__auto__ == null)))){
  return (m__4434__auto__.cljs$core$IFn$_invoke$arity$1 ? m__4434__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__4434__auto__.call(null,this$));
  } else {
  var m__4431__auto__ = (shadow.animate._animate_from["_"]);
  if((!((m__4431__auto__ == null)))){
  return (m__4431__auto__.cljs$core$IFn$_invoke$arity$1 ? m__4431__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__4431__auto__.call(null,this$));
  } else {
  throw cljs.core.missing_protocol("Animation.-animate-from",this$);
  }
  }
  }
  });
  
  /**
   * return a map of {attr target-value}
   */
  shadow.animate._animate_to = (function shadow$animate$_animate_to(this$){
  if((((!((this$ == null)))) && ((!((this$.shadow$animate$Animation$_animate_to$arity$1 == null)))))){
  return this$.shadow$animate$Animation$_animate_to$arity$1(this$);
  } else {
  var x__4433__auto__ = (((this$ == null))?null:this$);
  var m__4434__auto__ = (shadow.animate._animate_to[goog.typeOf(x__4433__auto__)]);
  if((!((m__4434__auto__ == null)))){
  return (m__4434__auto__.cljs$core$IFn$_invoke$arity$1 ? m__4434__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__4434__auto__.call(null,this$));
  } else {
  var m__4431__auto__ = (shadow.animate._animate_to["_"]);
  if((!((m__4431__auto__ == null)))){
  return (m__4431__auto__.cljs$core$IFn$_invoke$arity$1 ? m__4431__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__4431__auto__.call(null,this$));
  } else {
  throw cljs.core.missing_protocol("Animation.-animate-to",this$);
  }
  }
  }
  });
  
  /**
   * return a map of {attr target-value}
   */
  shadow.animate._animate_toggles = (function shadow$animate$_animate_toggles(this$){
  if((((!((this$ == null)))) && ((!((this$.shadow$animate$Animation$_animate_toggles$arity$1 == null)))))){
  return this$.shadow$animate$Animation$_animate_toggles$arity$1(this$);
  } else {
  var x__4433__auto__ = (((this$ == null))?null:this$);
  var m__4434__auto__ = (shadow.animate._animate_toggles[goog.typeOf(x__4433__auto__)]);
  if((!((m__4434__auto__ == null)))){
  return (m__4434__auto__.cljs$core$IFn$_invoke$arity$1 ? m__4434__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__4434__auto__.call(null,this$));
  } else {
  var m__4431__auto__ = (shadow.animate._animate_toggles["_"]);
  if((!((m__4431__auto__ == null)))){
  return (m__4431__auto__.cljs$core$IFn$_invoke$arity$1 ? m__4431__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__4431__auto__.call(null,this$));
  } else {
  throw cljs.core.missing_protocol("Animation.-animate-toggles",this$);
  }
  }
  }
  });
  
  /**
   * return a map of {attr timing-function}
   */
  shadow.animate._animate_timings = (function shadow$animate$_animate_timings(this$){
  if((((!((this$ == null)))) && ((!((this$.shadow$animate$Animation$_animate_timings$arity$1 == null)))))){
  return this$.shadow$animate$Animation$_animate_timings$arity$1(this$);
  } else {
  var x__4433__auto__ = (((this$ == null))?null:this$);
  var m__4434__auto__ = (shadow.animate._animate_timings[goog.typeOf(x__4433__auto__)]);
  if((!((m__4434__auto__ == null)))){
  return (m__4434__auto__.cljs$core$IFn$_invoke$arity$1 ? m__4434__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__4434__auto__.call(null,this$));
  } else {
  var m__4431__auto__ = (shadow.animate._animate_timings["_"]);
  if((!((m__4431__auto__ == null)))){
  return (m__4431__auto__.cljs$core$IFn$_invoke$arity$1 ? m__4431__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__4431__auto__.call(null,this$));
  } else {
  throw cljs.core.missing_protocol("Animation.-animate-timings",this$);
  }
  }
  }
  });
  
  /**
   * return a map of {attr transition-delay}
   */
  shadow.animate._animate_delays = (function shadow$animate$_animate_delays(this$){
  if((((!((this$ == null)))) && ((!((this$.shadow$animate$Animation$_animate_delays$arity$1 == null)))))){
  return this$.shadow$animate$Animation$_animate_delays$arity$1(this$);
  } else {
  var x__4433__auto__ = (((this$ == null))?null:this$);
  var m__4434__auto__ = (shadow.animate._animate_delays[goog.typeOf(x__4433__auto__)]);
  if((!((m__4434__auto__ == null)))){
  return (m__4434__auto__.cljs$core$IFn$_invoke$arity$1 ? m__4434__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__4434__auto__.call(null,this$));
  } else {
  var m__4431__auto__ = (shadow.animate._animate_delays["_"]);
  if((!((m__4431__auto__ == null)))){
  return (m__4431__auto__.cljs$core$IFn$_invoke$arity$1 ? m__4431__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__4431__auto__.call(null,this$));
  } else {
  throw cljs.core.missing_protocol("Animation.-animate-delays",this$);
  }
  }
  }
  });
  
  shadow.animate.transition_string = (function shadow$animate$transition_string(duration,adef){
  var timings = shadow.animate._animate_timings(adef);
  var delays = shadow.animate._animate_delays(adef);
  return clojure.string.join.cljs$core$IFn$_invoke$arity$2(", ",cljs.core.map.cljs$core$IFn$_invoke$arity$2(((function (timings,delays){
  return (function (p__67104){
  var vec__67112 = p__67104;
  var attr = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__67112,(0),null);
  var timing = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__67112,(1),null);
  return [cljs.core.name(attr)," ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(duration),"ms"," ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(timing),(function (){var delay = cljs.core.get.cljs$core$IFn$_invoke$arity$2(delays,attr);
  if(cljs.core.truth_((function (){var and__4120__auto__ = delay;
  if(cljs.core.truth_(and__4120__auto__)){
  return (delay > (0));
  } else {
  return and__4120__auto__;
  }
  })())){
  return [" ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(delay),"ms"].join('');
  } else {
  return null;
  }
  })()].join('');
  });})(timings,delays))
  ,timings));
  });
  
  /**
   * @interface
   */
  shadow.animate.IAnimator = function(){};
  
  shadow.animate.get_duration = (function shadow$animate$get_duration(animator){
  if((((!((animator == null)))) && ((!((animator.shadow$animate$IAnimator$get_duration$arity$1 == null)))))){
  return animator.shadow$animate$IAnimator$get_duration$arity$1(animator);
  } else {
  var x__4433__auto__ = (((animator == null))?null:animator);
  var m__4434__auto__ = (shadow.animate.get_duration[goog.typeOf(x__4433__auto__)]);
  if((!((m__4434__auto__ == null)))){
  return (m__4434__auto__.cljs$core$IFn$_invoke$arity$1 ? m__4434__auto__.cljs$core$IFn$_invoke$arity$1(animator) : m__4434__auto__.call(null,animator));
  } else {
  var m__4431__auto__ = (shadow.animate.get_duration["_"]);
  if((!((m__4431__auto__ == null)))){
  return (m__4431__auto__.cljs$core$IFn$_invoke$arity$1 ? m__4431__auto__.cljs$core$IFn$_invoke$arity$1(animator) : m__4431__auto__.call(null,animator));
  } else {
  throw cljs.core.missing_protocol("IAnimator.get-duration",animator);
  }
  }
  }
  });
  
  /**
   * apply the initial values
   */
  shadow.animate.init_BANG_ = (function shadow$animate$init_BANG_(animator){
  if((((!((animator == null)))) && ((!((animator.shadow$animate$IAnimator$init_BANG_$arity$1 == null)))))){
  return animator.shadow$animate$IAnimator$init_BANG_$arity$1(animator);
  } else {
  var x__4433__auto__ = (((animator == null))?null:animator);
  var m__4434__auto__ = (shadow.animate.init_BANG_[goog.typeOf(x__4433__auto__)]);
  if((!((m__4434__auto__ == null)))){
  return (m__4434__auto__.cljs$core$IFn$_invoke$arity$1 ? m__4434__auto__.cljs$core$IFn$_invoke$arity$1(animator) : m__4434__auto__.call(null,animator));
  } else {
  var m__4431__auto__ = (shadow.animate.init_BANG_["_"]);
  if((!((m__4431__auto__ == null)))){
  return (m__4431__auto__.cljs$core$IFn$_invoke$arity$1 ? m__4431__auto__.cljs$core$IFn$_invoke$arity$1(animator) : m__4431__auto__.call(null,animator));
  } else {
  throw cljs.core.missing_protocol("IAnimator.init!",animator);
  }
  }
  }
  });
  
  /**
   * start the animation, must return a channel that closes once the animation is done
   */
  shadow.animate.start_BANG_ = (function shadow$animate$start_BANG_(animator){
  if((((!((animator == null)))) && ((!((animator.shadow$animate$IAnimator$start_BANG_$arity$1 == null)))))){
  return animator.shadow$animate$IAnimator$start_BANG_$arity$1(animator);
  } else {
  var x__4433__auto__ = (((animator == null))?null:animator);
  var m__4434__auto__ = (shadow.animate.start_BANG_[goog.typeOf(x__4433__auto__)]);
  if((!((m__4434__auto__ == null)))){
  return (m__4434__auto__.cljs$core$IFn$_invoke$arity$1 ? m__4434__auto__.cljs$core$IFn$_invoke$arity$1(animator) : m__4434__auto__.call(null,animator));
  } else {
  var m__4431__auto__ = (shadow.animate.start_BANG_["_"]);
  if((!((m__4431__auto__ == null)))){
  return (m__4431__auto__.cljs$core$IFn$_invoke$arity$1 ? m__4431__auto__.cljs$core$IFn$_invoke$arity$1(animator) : m__4431__auto__.call(null,animator));
  } else {
  throw cljs.core.missing_protocol("IAnimator.start!",animator);
  }
  }
  }
  });
  
  /**
   * cleanup
   */
  shadow.animate.finish_BANG_ = (function shadow$animate$finish_BANG_(animator){
  if((((!((animator == null)))) && ((!((animator.shadow$animate$IAnimator$finish_BANG_$arity$1 == null)))))){
  return animator.shadow$animate$IAnimator$finish_BANG_$arity$1(animator);
  } else {
  var x__4433__auto__ = (((animator == null))?null:animator);
  var m__4434__auto__ = (shadow.animate.finish_BANG_[goog.typeOf(x__4433__auto__)]);
  if((!((m__4434__auto__ == null)))){
  return (m__4434__auto__.cljs$core$IFn$_invoke$arity$1 ? m__4434__auto__.cljs$core$IFn$_invoke$arity$1(animator) : m__4434__auto__.call(null,animator));
  } else {
  var m__4431__auto__ = (shadow.animate.finish_BANG_["_"]);
  if((!((m__4431__auto__ == null)))){
  return (m__4431__auto__.cljs$core$IFn$_invoke$arity$1 ? m__4431__auto__.cljs$core$IFn$_invoke$arity$1(animator) : m__4431__auto__.call(null,animator));
  } else {
  throw cljs.core.missing_protocol("IAnimator.finish!",animator);
  }
  }
  }
  });
  
  
  /**
  * @constructor
   * @implements {shadow.animate.IAnimator}
  */
  shadow.animate.Animator = (function (duration,items){
  this.duration = duration;
  this.items = items;
  });
  shadow.animate.Animator.prototype.shadow$animate$IAnimator$ = cljs.core.PROTOCOL_SENTINEL;
  
  shadow.animate.Animator.prototype.shadow$animate$IAnimator$get_duration$arity$1 = (function (_){
  var self__ = this;
  var ___$1 = this;
  return self__.duration;
  });
  
  shadow.animate.Animator.prototype.shadow$animate$IAnimator$init_BANG_$arity$1 = (function (_){
  var self__ = this;
  var ___$1 = this;
  var n__4607__auto__ = self__.items.length;
  var i__65973__auto__ = (0);
  while(true){
  if((i__65973__auto__ < n__4607__auto__)){
  var map__67206_68002 = (self__.items[i__65973__auto__]);
  var map__67206_68003__$1 = (((((!((map__67206_68002 == null))))?(((((map__67206_68002.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__67206_68002.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,map__67206_68002):map__67206_68002);
  var el_68004 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__67206_68003__$1,new cljs.core.Keyword(null,"el","el",-1618201118));
  var from_68005 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__67206_68003__$1,new cljs.core.Keyword(null,"from","from",1815293044));
  goog.style.setStyle(el_68004,from_68005);
  
  var G__68007 = (i__65973__auto__ + (1));
  i__65973__auto__ = G__68007;
  continue;
  } else {
  return null;
  }
  break;
  }
  });
  
  shadow.animate.Animator.prototype.shadow$animate$IAnimator$start_BANG_$arity$1 = (function (_){
  var self__ = this;
  var ___$1 = this;
  var n__4607__auto__ = self__.items.length;
  var i__65973__auto__ = (0);
  while(true){
  if((i__65973__auto__ < n__4607__auto__)){
  var map__67215_68014 = (self__.items[i__65973__auto__]);
  var map__67215_68015__$1 = (((((!((map__67215_68014 == null))))?(((((map__67215_68014.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__67215_68014.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,map__67215_68014):map__67215_68014);
  var el_68016 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__67215_68015__$1,new cljs.core.Keyword(null,"el","el",-1618201118));
  var to_68017 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__67215_68015__$1,new cljs.core.Keyword(null,"to","to",192099007));
  var transition_68018 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__67215_68015__$1,new cljs.core.Keyword(null,"transition","transition",765692007));
  (to_68017["transition"] = transition_68018);
  
  goog.style.setStyle(el_68016,to_68017);
  
  var G__68021 = (i__65973__auto__ + (1));
  i__65973__auto__ = G__68021;
  continue;
  } else {
  return null;
  }
  break;
  }
  });
  
  shadow.animate.Animator.prototype.shadow$animate$IAnimator$finish_BANG_$arity$1 = (function (_){
  var self__ = this;
  var ___$1 = this;
  var n__4607__auto__ = self__.items.length;
  var i__65973__auto__ = (0);
  while(true){
  if((i__65973__auto__ < n__4607__auto__)){
  var map__67225_68024 = (self__.items[i__65973__auto__]);
  var map__67225_68025__$1 = (((((!((map__67225_68024 == null))))?(((((map__67225_68024.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__67225_68024.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,map__67225_68024):map__67225_68024);
  var el_68026 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__67225_68025__$1,new cljs.core.Keyword(null,"el","el",-1618201118));
  var toggles_68027 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__67225_68025__$1,new cljs.core.Keyword(null,"toggles","toggles",1077909479));
  (toggles_68027["transition"] = null);
  
  goog.style.setStyle(el_68026,toggles_68027);
  
  var G__68030 = (i__65973__auto__ + (1));
  i__65973__auto__ = G__68030;
  continue;
  } else {
  return null;
  }
  break;
  }
  });
  
  shadow.animate.Animator.getBasis = (function (){
  return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"duration","duration",-1210334701,null),new cljs.core.Symbol(null,"items","items",-1622480831,null)], null);
  });
  
  shadow.animate.Animator.cljs$lang$type = true;
  
  shadow.animate.Animator.cljs$lang$ctorStr = "shadow.animate/Animator";
  
  shadow.animate.Animator.cljs$lang$ctorPrWriter = (function (this__4374__auto__,writer__4375__auto__,opt__4376__auto__){
  return cljs.core._write(writer__4375__auto__,"shadow.animate/Animator");
  });
  
  /**
   * Positional factory function for shadow.animate/Animator.
   */
  shadow.animate.__GT_Animator = (function shadow$animate$__GT_Animator(duration,items){
  return (new shadow.animate.Animator(duration,items));
  });
  
  
  /**
  * @constructor
   * @implements {cljs.core.IRecord}
   * @implements {cljs.core.IKVReduce}
   * @implements {cljs.core.IEquiv}
   * @implements {cljs.core.IHash}
   * @implements {cljs.core.ICollection}
   * @implements {cljs.core.ICounted}
   * @implements {cljs.core.ISeqable}
   * @implements {cljs.core.IMeta}
   * @implements {cljs.core.ICloneable}
   * @implements {cljs.core.IPrintWithWriter}
   * @implements {cljs.core.IIterable}
   * @implements {cljs.core.IWithMeta}
   * @implements {cljs.core.IAssociative}
   * @implements {cljs.core.IMap}
   * @implements {cljs.core.ILookup}
  */
  shadow.animate.AnimationStep = (function (el,from,to,toggles,transition,__meta,__extmap,__hash){
  this.el = el;
  this.from = from;
  this.to = to;
  this.toggles = toggles;
  this.transition = transition;
  this.__meta = __meta;
  this.__extmap = __extmap;
  this.__hash = __hash;
  this.cljs$lang$protocol_mask$partition0$ = 2230716170;
  this.cljs$lang$protocol_mask$partition1$ = 139264;
  });
  shadow.animate.AnimationStep.prototype.cljs$core$ILookup$_lookup$arity$2 = (function (this__4385__auto__,k__4386__auto__){
  var self__ = this;
  var this__4385__auto____$1 = this;
  return this__4385__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__4386__auto__,null);
  });
  
  shadow.animate.AnimationStep.prototype.cljs$core$ILookup$_lookup$arity$3 = (function (this__4387__auto__,k67235,else__4388__auto__){
  var self__ = this;
  var this__4387__auto____$1 = this;
  var G__67246 = k67235;
  var G__67246__$1 = (((G__67246 instanceof cljs.core.Keyword))?G__67246.fqn:null);
  switch (G__67246__$1) {
  case "el":
  return self__.el;
  
  break;
  case "from":
  return self__.from;
  
  break;
  case "to":
  return self__.to;
  
  break;
  case "toggles":
  return self__.toggles;
  
  break;
  case "transition":
  return self__.transition;
  
  break;
  default:
  return cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k67235,else__4388__auto__);
  
  }
  });
  
  shadow.animate.AnimationStep.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 = (function (this__4404__auto__,f__4405__auto__,init__4406__auto__){
  var self__ = this;
  var this__4404__auto____$1 = this;
  return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(((function (this__4404__auto____$1){
  return (function (ret__4407__auto__,p__67249){
  var vec__67251 = p__67249;
  var k__4408__auto__ = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__67251,(0),null);
  var v__4409__auto__ = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__67251,(1),null);
  return (f__4405__auto__.cljs$core$IFn$_invoke$arity$3 ? f__4405__auto__.cljs$core$IFn$_invoke$arity$3(ret__4407__auto__,k__4408__auto__,v__4409__auto__) : f__4405__auto__.call(null,ret__4407__auto__,k__4408__auto__,v__4409__auto__));
  });})(this__4404__auto____$1))
  ,init__4406__auto__,this__4404__auto____$1);
  });
  
  shadow.animate.AnimationStep.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (this__4399__auto__,writer__4400__auto__,opts__4401__auto__){
  var self__ = this;
  var this__4399__auto____$1 = this;
  var pr_pair__4402__auto__ = ((function (this__4399__auto____$1){
  return (function (keyval__4403__auto__){
  return cljs.core.pr_sequential_writer(writer__4400__auto__,cljs.core.pr_writer,""," ","",opts__4401__auto__,keyval__4403__auto__);
  });})(this__4399__auto____$1))
  ;
  return cljs.core.pr_sequential_writer(writer__4400__auto__,pr_pair__4402__auto__,"#shadow.animate.AnimationStep{",", ","}",opts__4401__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"el","el",-1618201118),self__.el],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"from","from",1815293044),self__.from],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"to","to",192099007),self__.to],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"toggles","toggles",1077909479),self__.toggles],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"transition","transition",765692007),self__.transition],null))], null),self__.__extmap));
  });
  
  shadow.animate.AnimationStep.prototype.cljs$core$IIterable$_iterator$arity$1 = (function (G__67234){
  var self__ = this;
  var G__67234__$1 = this;
  return (new cljs.core.RecordIter((0),G__67234__$1,5,new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"el","el",-1618201118),new cljs.core.Keyword(null,"from","from",1815293044),new cljs.core.Keyword(null,"to","to",192099007),new cljs.core.Keyword(null,"toggles","toggles",1077909479),new cljs.core.Keyword(null,"transition","transition",765692007)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));
  });
  
  shadow.animate.AnimationStep.prototype.cljs$core$IMeta$_meta$arity$1 = (function (this__4383__auto__){
  var self__ = this;
  var this__4383__auto____$1 = this;
  return self__.__meta;
  });
  
  shadow.animate.AnimationStep.prototype.cljs$core$ICloneable$_clone$arity$1 = (function (this__4380__auto__){
  var self__ = this;
  var this__4380__auto____$1 = this;
  return (new shadow.animate.AnimationStep(self__.el,self__.from,self__.to,self__.toggles,self__.transition,self__.__meta,self__.__extmap,self__.__hash));
  });
  
  shadow.animate.AnimationStep.prototype.cljs$core$ICounted$_count$arity$1 = (function (this__4389__auto__){
  var self__ = this;
  var this__4389__auto____$1 = this;
  return (5 + cljs.core.count(self__.__extmap));
  });
  
  shadow.animate.AnimationStep.prototype.cljs$core$IHash$_hash$arity$1 = (function (this__4381__auto__){
  var self__ = this;
  var this__4381__auto____$1 = this;
  var h__4243__auto__ = self__.__hash;
  if((!((h__4243__auto__ == null)))){
  return h__4243__auto__;
  } else {
  var h__4243__auto____$1 = ((function (h__4243__auto__,this__4381__auto____$1){
  return (function (coll__4382__auto__){
  return (630436239 ^ cljs.core.hash_unordered_coll(coll__4382__auto__));
  });})(h__4243__auto__,this__4381__auto____$1))
  (this__4381__auto____$1);
  self__.__hash = h__4243__auto____$1;
  
  return h__4243__auto____$1;
  }
  });
  
  shadow.animate.AnimationStep.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (this67236,other67237){
  var self__ = this;
  var this67236__$1 = this;
  return (((!((other67237 == null)))) && ((this67236__$1.constructor === other67237.constructor)) && (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this67236__$1.el,other67237.el)) && (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this67236__$1.from,other67237.from)) && (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this67236__$1.to,other67237.to)) && (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this67236__$1.toggles,other67237.toggles)) && (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this67236__$1.transition,other67237.transition)) && (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this67236__$1.__extmap,other67237.__extmap)));
  });
  
  shadow.animate.AnimationStep.prototype.cljs$core$IMap$_dissoc$arity$2 = (function (this__4394__auto__,k__4395__auto__){
  var self__ = this;
  var this__4394__auto____$1 = this;
  if(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"el","el",-1618201118),null,new cljs.core.Keyword(null,"transition","transition",765692007),null,new cljs.core.Keyword(null,"toggles","toggles",1077909479),null,new cljs.core.Keyword(null,"from","from",1815293044),null,new cljs.core.Keyword(null,"to","to",192099007),null], null), null),k__4395__auto__)){
  return cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__4394__auto____$1),self__.__meta),k__4395__auto__);
  } else {
  return (new shadow.animate.AnimationStep(self__.el,self__.from,self__.to,self__.toggles,self__.transition,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__4395__auto__)),null));
  }
  });
  
  shadow.animate.AnimationStep.prototype.cljs$core$IAssociative$_assoc$arity$3 = (function (this__4392__auto__,k__4393__auto__,G__67234){
  var self__ = this;
  var this__4392__auto____$1 = this;
  var pred__67290 = cljs.core.keyword_identical_QMARK_;
  var expr__67291 = k__4393__auto__;
  if(cljs.core.truth_((pred__67290.cljs$core$IFn$_invoke$arity$2 ? pred__67290.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"el","el",-1618201118),expr__67291) : pred__67290.call(null,new cljs.core.Keyword(null,"el","el",-1618201118),expr__67291)))){
  return (new shadow.animate.AnimationStep(G__67234,self__.from,self__.to,self__.toggles,self__.transition,self__.__meta,self__.__extmap,null));
  } else {
  if(cljs.core.truth_((pred__67290.cljs$core$IFn$_invoke$arity$2 ? pred__67290.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"from","from",1815293044),expr__67291) : pred__67290.call(null,new cljs.core.Keyword(null,"from","from",1815293044),expr__67291)))){
  return (new shadow.animate.AnimationStep(self__.el,G__67234,self__.to,self__.toggles,self__.transition,self__.__meta,self__.__extmap,null));
  } else {
  if(cljs.core.truth_((pred__67290.cljs$core$IFn$_invoke$arity$2 ? pred__67290.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"to","to",192099007),expr__67291) : pred__67290.call(null,new cljs.core.Keyword(null,"to","to",192099007),expr__67291)))){
  return (new shadow.animate.AnimationStep(self__.el,self__.from,G__67234,self__.toggles,self__.transition,self__.__meta,self__.__extmap,null));
  } else {
  if(cljs.core.truth_((pred__67290.cljs$core$IFn$_invoke$arity$2 ? pred__67290.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"toggles","toggles",1077909479),expr__67291) : pred__67290.call(null,new cljs.core.Keyword(null,"toggles","toggles",1077909479),expr__67291)))){
  return (new shadow.animate.AnimationStep(self__.el,self__.from,self__.to,G__67234,self__.transition,self__.__meta,self__.__extmap,null));
  } else {
  if(cljs.core.truth_((pred__67290.cljs$core$IFn$_invoke$arity$2 ? pred__67290.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"transition","transition",765692007),expr__67291) : pred__67290.call(null,new cljs.core.Keyword(null,"transition","transition",765692007),expr__67291)))){
  return (new shadow.animate.AnimationStep(self__.el,self__.from,self__.to,self__.toggles,G__67234,self__.__meta,self__.__extmap,null));
  } else {
  return (new shadow.animate.AnimationStep(self__.el,self__.from,self__.to,self__.toggles,self__.transition,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__4393__auto__,G__67234),null));
  }
  }
  }
  }
  }
  });
  
  shadow.animate.AnimationStep.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (this__4397__auto__){
  var self__ = this;
  var this__4397__auto____$1 = this;
  return cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,"el","el",-1618201118),self__.el,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,"from","from",1815293044),self__.from,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,"to","to",192099007),self__.to,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,"toggles","toggles",1077909479),self__.toggles,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,"transition","transition",765692007),self__.transition,null))], null),self__.__extmap));
  });
  
  shadow.animate.AnimationStep.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (this__4384__auto__,G__67234){
  var self__ = this;
  var this__4384__auto____$1 = this;
  return (new shadow.animate.AnimationStep(self__.el,self__.from,self__.to,self__.toggles,self__.transition,G__67234,self__.__extmap,self__.__hash));
  });
  
  shadow.animate.AnimationStep.prototype.cljs$core$ICollection$_conj$arity$2 = (function (this__4390__auto__,entry__4391__auto__){
  var self__ = this;
  var this__4390__auto____$1 = this;
  if(cljs.core.vector_QMARK_(entry__4391__auto__)){
  return this__4390__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__4391__auto__,(0)),cljs.core._nth(entry__4391__auto__,(1)));
  } else {
  return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__4390__auto____$1,entry__4391__auto__);
  }
  });
  
  shadow.animate.AnimationStep.getBasis = (function (){
  return new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"el","el",22330409,null),new cljs.core.Symbol(null,"from","from",-839142725,null),new cljs.core.Symbol(null,"to","to",1832630534,null),new cljs.core.Symbol(null,"toggles","toggles",-1576526290,null),new cljs.core.Symbol(null,"transition","transition",-1888743762,null)], null);
  });
  
  shadow.animate.AnimationStep.cljs$lang$type = true;
  
  shadow.animate.AnimationStep.cljs$lang$ctorPrSeq = (function (this__4428__auto__){
  return (new cljs.core.List(null,"shadow.animate/AnimationStep",null,(1),null));
  });
  
  shadow.animate.AnimationStep.cljs$lang$ctorPrWriter = (function (this__4428__auto__,writer__4429__auto__){
  return cljs.core._write(writer__4429__auto__,"shadow.animate/AnimationStep");
  });
  
  /**
   * Positional factory function for shadow.animate/AnimationStep.
   */
  shadow.animate.__GT_AnimationStep = (function shadow$animate$__GT_AnimationStep(el,from,to,toggles,transition){
  return (new shadow.animate.AnimationStep(el,from,to,toggles,transition,null,null,null));
  });
  
  /**
   * Factory function for shadow.animate/AnimationStep, taking a map of keywords to field values.
   */
  shadow.animate.map__GT_AnimationStep = (function shadow$animate$map__GT_AnimationStep(G__67240){
  var extmap__4424__auto__ = (function (){var G__67326 = cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__67240,new cljs.core.Keyword(null,"el","el",-1618201118),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,"from","from",1815293044),new cljs.core.Keyword(null,"to","to",192099007),new cljs.core.Keyword(null,"toggles","toggles",1077909479),new cljs.core.Keyword(null,"transition","transition",765692007)], 0));
  if(cljs.core.record_QMARK_(G__67240)){
  return cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__67326);
  } else {
  return G__67326;
  }
  })();
  return (new shadow.animate.AnimationStep(new cljs.core.Keyword(null,"el","el",-1618201118).cljs$core$IFn$_invoke$arity$1(G__67240),new cljs.core.Keyword(null,"from","from",1815293044).cljs$core$IFn$_invoke$arity$1(G__67240),new cljs.core.Keyword(null,"to","to",192099007).cljs$core$IFn$_invoke$arity$1(G__67240),new cljs.core.Keyword(null,"toggles","toggles",1077909479).cljs$core$IFn$_invoke$arity$1(G__67240),new cljs.core.Keyword(null,"transition","transition",765692007).cljs$core$IFn$_invoke$arity$1(G__67240),null,cljs.core.not_empty(extmap__4424__auto__),null));
  });
  
  shadow.animate.setup = (function shadow$animate$setup(duration,elements){
  var items = cljs.core.into_array.cljs$core$IFn$_invoke$arity$1((function (){var iter__4523__auto__ = (function shadow$animate$setup_$_iter__67336(s__67337){
  return (new cljs.core.LazySeq(null,(function (){
  var s__67337__$1 = s__67337;
  while(true){
  var temp__5720__auto__ = cljs.core.seq(s__67337__$1);
  if(temp__5720__auto__){
  var s__67337__$2 = temp__5720__auto__;
  if(cljs.core.chunked_seq_QMARK_(s__67337__$2)){
  var c__4521__auto__ = cljs.core.chunk_first(s__67337__$2);
  var size__4522__auto__ = cljs.core.count(c__4521__auto__);
  var b__67339 = cljs.core.chunk_buffer(size__4522__auto__);
  if((function (){var i__67338 = (0);
  while(true){
  if((i__67338 < size__4522__auto__)){
  var vec__67342 = cljs.core._nth(c__4521__auto__,i__67338);
  var el = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__67342,(0),null);
  var adef = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__67342,(1),null);
  cljs.core.chunk_append(b__67339,(function (){
  if((((!((adef == null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL === adef.shadow$animate$Animation$))))?true:(((!adef.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(shadow.animate.Animation,adef):false)):cljs.core.native_satisfies_QMARK_(shadow.animate.Animation,adef))){
  } else {
  throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2("invalid animation",new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"el","el",-1618201118),el,new cljs.core.Keyword(null,"animation","animation",-1248293244),adef], null));
  }
  
  var from = shadow.animate._animate_from(adef);
  var to = shadow.animate._animate_to(adef);
  var toggles = shadow.animate._animate_toggles(adef);
  return (new shadow.animate.AnimationStep(shadow.dom.dom_node(el),cljs.core.clj__GT_js(from),cljs.core.clj__GT_js(to),cljs.core.clj__GT_js(toggles),shadow.animate.transition_string(duration,adef),null,null,null));
  })()
  );
  
  var G__68136 = (i__67338 + (1));
  i__67338 = G__68136;
  continue;
  } else {
  return true;
  }
  break;
  }
  })()){
  return cljs.core.chunk_cons(cljs.core.chunk(b__67339),shadow$animate$setup_$_iter__67336(cljs.core.chunk_rest(s__67337__$2)));
  } else {
  return cljs.core.chunk_cons(cljs.core.chunk(b__67339),null);
  }
  } else {
  var vec__67357 = cljs.core.first(s__67337__$2);
  var el = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__67357,(0),null);
  var adef = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__67357,(1),null);
  return cljs.core.cons((function (){
  if((((!((adef == null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL === adef.shadow$animate$Animation$))))?true:(((!adef.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(shadow.animate.Animation,adef):false)):cljs.core.native_satisfies_QMARK_(shadow.animate.Animation,adef))){
  } else {
  throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2("invalid animation",new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"el","el",-1618201118),el,new cljs.core.Keyword(null,"animation","animation",-1248293244),adef], null));
  }
  
  var from = shadow.animate._animate_from(adef);
  var to = shadow.animate._animate_to(adef);
  var toggles = shadow.animate._animate_toggles(adef);
  return (new shadow.animate.AnimationStep(shadow.dom.dom_node(el),cljs.core.clj__GT_js(from),cljs.core.clj__GT_js(to),cljs.core.clj__GT_js(toggles),shadow.animate.transition_string(duration,adef),null,null,null));
  })()
  ,shadow$animate$setup_$_iter__67336(cljs.core.rest(s__67337__$2)));
  }
  } else {
  return null;
  }
  break;
  }
  }),null,null));
  });
  return iter__4523__auto__(elements);
  })());
  return (new shadow.animate.Animator(duration,items));
  });
  shadow.animate.continue_BANG_ = (function shadow$animate$continue_BANG_(animator){
  shadow.animate.start_BANG_(animator);
  
  var c__51169__auto__ = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
  cljs.core.async.impl.dispatch.run(((function (c__51169__auto__){
  return (function (){
  var f__51170__auto__ = (function (){var switch__50952__auto__ = ((function (c__51169__auto__){
  return (function (state_67406){
  var state_val_67407 = (state_67406[(1)]);
  if((state_val_67407 === (1))){
  var inst_67398 = shadow.animate.get_duration(animator);
  var inst_67399 = cljs.core.async.timeout(inst_67398);
  var state_67406__$1 = state_67406;
  return cljs.core.async.impl.ioc_helpers.take_BANG_(state_67406__$1,(2),inst_67399);
  } else {
  if((state_val_67407 === (2))){
  var inst_67401 = (state_67406[(2)]);
  var inst_67403 = shadow.animate.finish_BANG_(animator);
  var state_67406__$1 = (function (){var statearr_67410 = state_67406;
  (statearr_67410[(7)] = inst_67403);
  
  (statearr_67410[(8)] = inst_67401);
  
  return statearr_67410;
  })();
  return cljs.core.async.impl.ioc_helpers.return_chan(state_67406__$1,new cljs.core.Keyword(null,"done","done",-889844188));
  } else {
  return null;
  }
  }
  });})(c__51169__auto__))
  ;
  return ((function (switch__50952__auto__,c__51169__auto__){
  return (function() {
  var shadow$animate$continue_BANG__$_state_machine__50953__auto__ = null;
  var shadow$animate$continue_BANG__$_state_machine__50953__auto____0 = (function (){
  var statearr_67413 = [null,null,null,null,null,null,null,null,null];
  (statearr_67413[(0)] = shadow$animate$continue_BANG__$_state_machine__50953__auto__);
  
  (statearr_67413[(1)] = (1));
  
  return statearr_67413;
  });
  var shadow$animate$continue_BANG__$_state_machine__50953__auto____1 = (function (state_67406){
  while(true){
  var ret_value__50954__auto__ = (function (){try{while(true){
  var result__50955__auto__ = switch__50952__auto__(state_67406);
  if(cljs.core.keyword_identical_QMARK_(result__50955__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
  continue;
  } else {
  return result__50955__auto__;
  }
  break;
  }
  }catch (e67418){if((e67418 instanceof Object)){
  var ex__50956__auto__ = e67418;
  var statearr_67420_68172 = state_67406;
  (statearr_67420_68172[(5)] = ex__50956__auto__);
  
  
  cljs.core.async.impl.ioc_helpers.process_exception(state_67406);
  
  return new cljs.core.Keyword(null,"recur","recur",-437573268);
  } else {
  throw e67418;
  
  }
  }})();
  if(cljs.core.keyword_identical_QMARK_(ret_value__50954__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
  var G__68177 = state_67406;
  state_67406 = G__68177;
  continue;
  } else {
  return ret_value__50954__auto__;
  }
  break;
  }
  });
  shadow$animate$continue_BANG__$_state_machine__50953__auto__ = function(state_67406){
  switch(arguments.length){
  case 0:
  return shadow$animate$continue_BANG__$_state_machine__50953__auto____0.call(this);
  case 1:
  return shadow$animate$continue_BANG__$_state_machine__50953__auto____1.call(this,state_67406);
  }
  throw(new Error('Invalid arity: ' + arguments.length));
  };
  shadow$animate$continue_BANG__$_state_machine__50953__auto__.cljs$core$IFn$_invoke$arity$0 = shadow$animate$continue_BANG__$_state_machine__50953__auto____0;
  shadow$animate$continue_BANG__$_state_machine__50953__auto__.cljs$core$IFn$_invoke$arity$1 = shadow$animate$continue_BANG__$_state_machine__50953__auto____1;
  return shadow$animate$continue_BANG__$_state_machine__50953__auto__;
  })()
  ;})(switch__50952__auto__,c__51169__auto__))
  })();
  var state__51171__auto__ = (function (){var statearr_67425 = f__51170__auto__();
  (statearr_67425[(6)] = c__51169__auto__);
  
  return statearr_67425;
  })();
  return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__51171__auto__);
  });})(c__51169__auto__))
  );
  
  return c__51169__auto__;
  });
  shadow.animate.start = (function shadow$animate$start(duration,elements){
  var animator = shadow.animate.setup(duration,elements);
  animator.shadow$animate$IAnimator$init_BANG_$arity$1(null);
  
  return shadow.animate.continue_BANG_(animator);
  });
  /**
   * transition the given attr from -> to using timing function and delay
   * timing defaults to ease, delay to 0
   */
  shadow.animate.transition = (function shadow$animate$transition(var_args){
  var G__67439 = arguments.length;
  switch (G__67439) {
  case 3:
  return shadow.animate.transition.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
  
  break;
  case 4:
  return shadow.animate.transition.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));
  
  break;
  case 5:
  return shadow.animate.transition.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));
  
  break;
  default:
  throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
  
  }
  });
  
  shadow.animate.transition.cljs$core$IFn$_invoke$arity$3 = (function (attr,from,to){
  return shadow.animate.transition.cljs$core$IFn$_invoke$arity$5(attr,from,to,"ease",(0));
  });
  
  shadow.animate.transition.cljs$core$IFn$_invoke$arity$4 = (function (attr,from,to,timing){
  return shadow.animate.transition.cljs$core$IFn$_invoke$arity$5(attr,from,to,timing,(0));
  });
  
  shadow.animate.transition.cljs$core$IFn$_invoke$arity$5 = (function (attr,from,to,timing,delay){
  if((typeof shadow !== 'undefined') && (typeof shadow.animate !== 'undefined') && (typeof shadow.animate.t_shadow$animate67442 !== 'undefined')){
  } else {
  
  /**
  * @constructor
   * @implements {shadow.animate.Animation}
   * @implements {cljs.core.IMeta}
   * @implements {cljs.core.IWithMeta}
  */
  shadow.animate.t_shadow$animate67442 = (function (attr,from,to,timing,delay,meta67443){
  this.attr = attr;
  this.from = from;
  this.to = to;
  this.timing = timing;
  this.delay = delay;
  this.meta67443 = meta67443;
  this.cljs$lang$protocol_mask$partition0$ = 393216;
  this.cljs$lang$protocol_mask$partition1$ = 0;
  });
  shadow.animate.t_shadow$animate67442.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_67444,meta67443__$1){
  var self__ = this;
  var _67444__$1 = this;
  return (new shadow.animate.t_shadow$animate67442(self__.attr,self__.from,self__.to,self__.timing,self__.delay,meta67443__$1));
  });
  
  shadow.animate.t_shadow$animate67442.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_67444){
  var self__ = this;
  var _67444__$1 = this;
  return self__.meta67443;
  });
  
  shadow.animate.t_shadow$animate67442.prototype.shadow$animate$Animation$ = cljs.core.PROTOCOL_SENTINEL;
  
  shadow.animate.t_shadow$animate67442.prototype.shadow$animate$Animation$_animate_from$arity$1 = (function (_){
  var self__ = this;
  var ___$1 = this;
  return cljs.core.PersistentArrayMap.createAsIfByAssoc([self__.attr,self__.from]);
  });
  
  shadow.animate.t_shadow$animate67442.prototype.shadow$animate$Animation$_animate_to$arity$1 = (function (_){
  var self__ = this;
  var ___$1 = this;
  return cljs.core.PersistentArrayMap.createAsIfByAssoc([self__.attr,self__.to]);
  });
  
  shadow.animate.t_shadow$animate67442.prototype.shadow$animate$Animation$_animate_toggles$arity$1 = (function (_){
  var self__ = this;
  var ___$1 = this;
  return cljs.core.PersistentArrayMap.EMPTY;
  });
  
  shadow.animate.t_shadow$animate67442.prototype.shadow$animate$Animation$_animate_timings$arity$1 = (function (_){
  var self__ = this;
  var ___$1 = this;
  return cljs.core.PersistentArrayMap.createAsIfByAssoc([self__.attr,self__.timing]);
  });
  
  shadow.animate.t_shadow$animate67442.prototype.shadow$animate$Animation$_animate_delays$arity$1 = (function (_){
  var self__ = this;
  var ___$1 = this;
  return cljs.core.PersistentArrayMap.createAsIfByAssoc([self__.attr,self__.delay]);
  });
  
  shadow.animate.t_shadow$animate67442.getBasis = (function (){
  return new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"attr","attr",1036399174,null),new cljs.core.Symbol(null,"from","from",-839142725,null),new cljs.core.Symbol(null,"to","to",1832630534,null),new cljs.core.Symbol(null,"timing","timing",-208693668,null),new cljs.core.Symbol(null,"delay","delay",1066306308,null),new cljs.core.Symbol(null,"meta67443","meta67443",488491051,null)], null);
  });
  
  shadow.animate.t_shadow$animate67442.cljs$lang$type = true;
  
  shadow.animate.t_shadow$animate67442.cljs$lang$ctorStr = "shadow.animate/t_shadow$animate67442";
  
  shadow.animate.t_shadow$animate67442.cljs$lang$ctorPrWriter = (function (this__4374__auto__,writer__4375__auto__,opt__4376__auto__){
  return cljs.core._write(writer__4375__auto__,"shadow.animate/t_shadow$animate67442");
  });
  
  /**
   * Positional factory function for shadow.animate/t_shadow$animate67442.
   */
  shadow.animate.__GT_t_shadow$animate67442 = (function shadow$animate$__GT_t_shadow$animate67442(attr__$1,from__$1,to__$1,timing__$1,delay__$1,meta67443){
  return (new shadow.animate.t_shadow$animate67442(attr__$1,from__$1,to__$1,timing__$1,delay__$1,meta67443));
  });
  
  }
  
  return (new shadow.animate.t_shadow$animate67442(attr,from,to,timing,delay,cljs.core.PersistentArrayMap.EMPTY));
  });
  
  shadow.animate.transition.cljs$lang$maxFixedArity = 5;
  
  shadow.animate.toggle = (function shadow$animate$toggle(attr,from,to){
  if((typeof shadow !== 'undefined') && (typeof shadow.animate !== 'undefined') && (typeof shadow.animate.t_shadow$animate67499 !== 'undefined')){
  } else {
  
  /**
  * @constructor
   * @implements {shadow.animate.Animation}
   * @implements {cljs.core.IMeta}
   * @implements {cljs.core.IWithMeta}
  */
  shadow.animate.t_shadow$animate67499 = (function (attr,from,to,meta67500){
  this.attr = attr;
  this.from = from;
  this.to = to;
  this.meta67500 = meta67500;
  this.cljs$lang$protocol_mask$partition0$ = 393216;
  this.cljs$lang$protocol_mask$partition1$ = 0;
  });
  shadow.animate.t_shadow$animate67499.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_67501,meta67500__$1){
  var self__ = this;
  var _67501__$1 = this;
  return (new shadow.animate.t_shadow$animate67499(self__.attr,self__.from,self__.to,meta67500__$1));
  });
  
  shadow.animate.t_shadow$animate67499.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_67501){
  var self__ = this;
  var _67501__$1 = this;
  return self__.meta67500;
  });
  
  shadow.animate.t_shadow$animate67499.prototype.shadow$animate$Animation$ = cljs.core.PROTOCOL_SENTINEL;
  
  shadow.animate.t_shadow$animate67499.prototype.shadow$animate$Animation$_animate_to$arity$1 = (function (_){
  var self__ = this;
  var ___$1 = this;
  return cljs.core.PersistentArrayMap.EMPTY;
  });
  
  shadow.animate.t_shadow$animate67499.prototype.shadow$animate$Animation$_animate_from$arity$1 = (function (_){
  var self__ = this;
  var ___$1 = this;
  return cljs.core.PersistentArrayMap.createAsIfByAssoc([self__.attr,self__.from]);
  });
  
  shadow.animate.t_shadow$animate67499.prototype.shadow$animate$Animation$_animate_toggles$arity$1 = (function (_){
  var self__ = this;
  var ___$1 = this;
  return cljs.core.PersistentArrayMap.createAsIfByAssoc([self__.attr,self__.to]);
  });
  
  shadow.animate.t_shadow$animate67499.prototype.shadow$animate$Animation$_animate_timings$arity$1 = (function (_){
  var self__ = this;
  var ___$1 = this;
  return cljs.core.PersistentArrayMap.EMPTY;
  });
  
  shadow.animate.t_shadow$animate67499.prototype.shadow$animate$Animation$_animate_delays$arity$1 = (function (_){
  var self__ = this;
  var ___$1 = this;
  return cljs.core.PersistentArrayMap.EMPTY;
  });
  
  shadow.animate.t_shadow$animate67499.getBasis = (function (){
  return new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"attr","attr",1036399174,null),new cljs.core.Symbol(null,"from","from",-839142725,null),new cljs.core.Symbol(null,"to","to",1832630534,null),new cljs.core.Symbol(null,"meta67500","meta67500",-1827568729,null)], null);
  });
  
  shadow.animate.t_shadow$animate67499.cljs$lang$type = true;
  
  shadow.animate.t_shadow$animate67499.cljs$lang$ctorStr = "shadow.animate/t_shadow$animate67499";
  
  shadow.animate.t_shadow$animate67499.cljs$lang$ctorPrWriter = (function (this__4374__auto__,writer__4375__auto__,opt__4376__auto__){
  return cljs.core._write(writer__4375__auto__,"shadow.animate/t_shadow$animate67499");
  });
  
  /**
   * Positional factory function for shadow.animate/t_shadow$animate67499.
   */
  shadow.animate.__GT_t_shadow$animate67499 = (function shadow$animate$toggle_$___GT_t_shadow$animate67499(attr__$1,from__$1,to__$1,meta67500){
  return (new shadow.animate.t_shadow$animate67499(attr__$1,from__$1,to__$1,meta67500));
  });
  
  }
  
  return (new shadow.animate.t_shadow$animate67499(attr,from,to,cljs.core.PersistentArrayMap.EMPTY));
  });
  /**
   * set attr to value when the animation starts
   */
  shadow.animate.set_attr = (function shadow$animate$set_attr(var_args){
  var G__67545 = arguments.length;
  switch (G__67545) {
  case 1:
  return shadow.animate.set_attr.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
  
  break;
  case 2:
  return shadow.animate.set_attr.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
  
  break;
  default:
  throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
  
  }
  });
  
  shadow.animate.set_attr.cljs$core$IFn$_invoke$arity$1 = (function (attrs){
  if((typeof shadow !== 'undefined') && (typeof shadow.animate !== 'undefined') && (typeof shadow.animate.t_shadow$animate67551 !== 'undefined')){
  } else {
  
  /**
  * @constructor
   * @implements {shadow.animate.Animation}
   * @implements {cljs.core.IMeta}
   * @implements {cljs.core.IWithMeta}
  */
  shadow.animate.t_shadow$animate67551 = (function (attrs,meta67552){
  this.attrs = attrs;
  this.meta67552 = meta67552;
  this.cljs$lang$protocol_mask$partition0$ = 393216;
  this.cljs$lang$protocol_mask$partition1$ = 0;
  });
  shadow.animate.t_shadow$animate67551.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_67553,meta67552__$1){
  var self__ = this;
  var _67553__$1 = this;
  return (new shadow.animate.t_shadow$animate67551(self__.attrs,meta67552__$1));
  });
  
  shadow.animate.t_shadow$animate67551.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_67553){
  var self__ = this;
  var _67553__$1 = this;
  return self__.meta67552;
  });
  
  shadow.animate.t_shadow$animate67551.prototype.shadow$animate$Animation$ = cljs.core.PROTOCOL_SENTINEL;
  
  shadow.animate.t_shadow$animate67551.prototype.shadow$animate$Animation$_animate_to$arity$1 = (function (_){
  var self__ = this;
  var ___$1 = this;
  return cljs.core.PersistentArrayMap.EMPTY;
  });
  
  shadow.animate.t_shadow$animate67551.prototype.shadow$animate$Animation$_animate_from$arity$1 = (function (_){
  var self__ = this;
  var ___$1 = this;
  return self__.attrs;
  });
  
  shadow.animate.t_shadow$animate67551.prototype.shadow$animate$Animation$_animate_toggles$arity$1 = (function (_){
  var self__ = this;
  var ___$1 = this;
  return cljs.core.PersistentArrayMap.EMPTY;
  });
  
  shadow.animate.t_shadow$animate67551.prototype.shadow$animate$Animation$_animate_timings$arity$1 = (function (_){
  var self__ = this;
  var ___$1 = this;
  return cljs.core.PersistentArrayMap.EMPTY;
  });
  
  shadow.animate.t_shadow$animate67551.prototype.shadow$animate$Animation$_animate_delays$arity$1 = (function (_){
  var self__ = this;
  var ___$1 = this;
  return cljs.core.PersistentArrayMap.EMPTY;
  });
  
  shadow.animate.t_shadow$animate67551.getBasis = (function (){
  return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"attrs","attrs",-450137186,null),new cljs.core.Symbol(null,"meta67552","meta67552",600449460,null)], null);
  });
  
  shadow.animate.t_shadow$animate67551.cljs$lang$type = true;
  
  shadow.animate.t_shadow$animate67551.cljs$lang$ctorStr = "shadow.animate/t_shadow$animate67551";
  
  shadow.animate.t_shadow$animate67551.cljs$lang$ctorPrWriter = (function (this__4374__auto__,writer__4375__auto__,opt__4376__auto__){
  return cljs.core._write(writer__4375__auto__,"shadow.animate/t_shadow$animate67551");
  });
  
  /**
   * Positional factory function for shadow.animate/t_shadow$animate67551.
   */
  shadow.animate.__GT_t_shadow$animate67551 = (function shadow$animate$__GT_t_shadow$animate67551(attrs__$1,meta67552){
  return (new shadow.animate.t_shadow$animate67551(attrs__$1,meta67552));
  });
  
  }
  
  return (new shadow.animate.t_shadow$animate67551(attrs,cljs.core.PersistentArrayMap.EMPTY));
  });
  
  shadow.animate.set_attr.cljs$core$IFn$_invoke$arity$2 = (function (attr,value){
  return shadow.animate.set_attr.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.createAsIfByAssoc([attr,value]));
  });
  
  shadow.animate.set_attr.cljs$lang$maxFixedArity = 2;
  
  /**
   * use to remove a given attribute style when the animation is finished
   * usually only needed to remove attributes we no longer need since they are probably
   * inherited and we only used for previous transitions
   */
  shadow.animate.delete_attr = (function shadow$animate$delete_attr(attr){
  if((typeof shadow !== 'undefined') && (typeof shadow.animate !== 'undefined') && (typeof shadow.animate.t_shadow$animate67605 !== 'undefined')){
  } else {
  
  /**
  * @constructor
   * @implements {shadow.animate.Animation}
   * @implements {cljs.core.IMeta}
   * @implements {cljs.core.IWithMeta}
  */
  shadow.animate.t_shadow$animate67605 = (function (attr,meta67606){
  this.attr = attr;
  this.meta67606 = meta67606;
  this.cljs$lang$protocol_mask$partition0$ = 393216;
  this.cljs$lang$protocol_mask$partition1$ = 0;
  });
  shadow.animate.t_shadow$animate67605.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_67607,meta67606__$1){
  var self__ = this;
  var _67607__$1 = this;
  return (new shadow.animate.t_shadow$animate67605(self__.attr,meta67606__$1));
  });
  
  shadow.animate.t_shadow$animate67605.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_67607){
  var self__ = this;
  var _67607__$1 = this;
  return self__.meta67606;
  });
  
  shadow.animate.t_shadow$animate67605.prototype.shadow$animate$Animation$ = cljs.core.PROTOCOL_SENTINEL;
  
  shadow.animate.t_shadow$animate67605.prototype.shadow$animate$Animation$_animate_to$arity$1 = (function (_){
  var self__ = this;
  var ___$1 = this;
  return cljs.core.PersistentArrayMap.EMPTY;
  });
  
  shadow.animate.t_shadow$animate67605.prototype.shadow$animate$Animation$_animate_from$arity$1 = (function (_){
  var self__ = this;
  var ___$1 = this;
  return cljs.core.PersistentArrayMap.EMPTY;
  });
  
  shadow.animate.t_shadow$animate67605.prototype.shadow$animate$Animation$_animate_toggles$arity$1 = (function (_){
  var self__ = this;
  var ___$1 = this;
  return cljs.core.PersistentArrayMap.createAsIfByAssoc([self__.attr,null]);
  });
  
  shadow.animate.t_shadow$animate67605.prototype.shadow$animate$Animation$_animate_timings$arity$1 = (function (_){
  var self__ = this;
  var ___$1 = this;
  return cljs.core.PersistentArrayMap.EMPTY;
  });
  
  shadow.animate.t_shadow$animate67605.prototype.shadow$animate$Animation$_animate_delays$arity$1 = (function (_){
  var self__ = this;
  var ___$1 = this;
  return cljs.core.PersistentArrayMap.EMPTY;
  });
  
  shadow.animate.t_shadow$animate67605.getBasis = (function (){
  return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"attr","attr",1036399174,null),new cljs.core.Symbol(null,"meta67606","meta67606",-1786014106,null)], null);
  });
  
  shadow.animate.t_shadow$animate67605.cljs$lang$type = true;
  
  shadow.animate.t_shadow$animate67605.cljs$lang$ctorStr = "shadow.animate/t_shadow$animate67605";
  
  shadow.animate.t_shadow$animate67605.cljs$lang$ctorPrWriter = (function (this__4374__auto__,writer__4375__auto__,opt__4376__auto__){
  return cljs.core._write(writer__4375__auto__,"shadow.animate/t_shadow$animate67605");
  });
  
  /**
   * Positional factory function for shadow.animate/t_shadow$animate67605.
   */
  shadow.animate.__GT_t_shadow$animate67605 = (function shadow$animate$delete_attr_$___GT_t_shadow$animate67605(attr__$1,meta67606){
  return (new shadow.animate.t_shadow$animate67605(attr__$1,meta67606));
  });
  
  }
  
  return (new shadow.animate.t_shadow$animate67605(attr,cljs.core.PersistentArrayMap.EMPTY));
  });
  shadow.animate.combine = (function shadow$animate$combine(var_args){
  var args__4736__auto__ = [];
  var len__4730__auto___68268 = arguments.length;
  var i__4731__auto___68269 = (0);
  while(true){
  if((i__4731__auto___68269 < len__4730__auto___68268)){
  args__4736__auto__.push((arguments[i__4731__auto___68269]));
  
  var G__68270 = (i__4731__auto___68269 + (1));
  i__4731__auto___68269 = G__68270;
  continue;
  } else {
  }
  break;
  }
  
  var argseq__4737__auto__ = ((((0) < args__4736__auto__.length))?(new cljs.core.IndexedSeq(args__4736__auto__.slice((0)),(0),null)):null);
  return shadow.animate.combine.cljs$core$IFn$_invoke$arity$variadic(argseq__4737__auto__);
  });
  
  shadow.animate.combine.cljs$core$IFn$_invoke$arity$variadic = (function (transitions){
  var to = cljs.core.PersistentArrayMap.EMPTY;
  var from = cljs.core.PersistentArrayMap.EMPTY;
  var toggles = cljs.core.PersistentArrayMap.EMPTY;
  var timings = cljs.core.PersistentArrayMap.EMPTY;
  var delays = cljs.core.PersistentArrayMap.EMPTY;
  var transitions__$1 = transitions;
  while(true){
  var temp__5718__auto__ = cljs.core.first(transitions__$1);
  if(cljs.core.truth_(temp__5718__auto__)){
  var adef = temp__5718__auto__;
  var G__68273 = cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([to,shadow.animate._animate_to(adef)], 0));
  var G__68274 = cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([from,shadow.animate._animate_from(adef)], 0));
  var G__68275 = cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([toggles,shadow.animate._animate_toggles(adef)], 0));
  var G__68276 = cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([timings,shadow.animate._animate_timings(adef)], 0));
  var G__68277 = cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([delays,shadow.animate._animate_delays(adef)], 0));
  var G__68278 = cljs.core.rest(transitions__$1);
  to = G__68273;
  from = G__68274;
  toggles = G__68275;
  timings = G__68276;
  delays = G__68277;
  transitions__$1 = G__68278;
  continue;
  } else {
  if((typeof shadow !== 'undefined') && (typeof shadow.animate !== 'undefined') && (typeof shadow.animate.t_shadow$animate67712 !== 'undefined')){
  } else {
  
  /**
  * @constructor
   * @implements {shadow.animate.Animation}
   * @implements {cljs.core.IMeta}
   * @implements {cljs.core.IWithMeta}
  */
  shadow.animate.t_shadow$animate67712 = (function (transitions,to,from,toggles,timings,delays,temp__5718__auto__,meta67713){
  this.transitions = transitions;
  this.to = to;
  this.from = from;
  this.toggles = toggles;
  this.timings = timings;
  this.delays = delays;
  this.temp__5718__auto__ = temp__5718__auto__;
  this.meta67713 = meta67713;
  this.cljs$lang$protocol_mask$partition0$ = 393216;
  this.cljs$lang$protocol_mask$partition1$ = 0;
  });
  shadow.animate.t_shadow$animate67712.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = ((function (to,from,toggles,timings,delays,transitions__$1,temp__5718__auto__){
  return (function (_67714,meta67713__$1){
  var self__ = this;
  var _67714__$1 = this;
  return (new shadow.animate.t_shadow$animate67712(self__.transitions,self__.to,self__.from,self__.toggles,self__.timings,self__.delays,self__.temp__5718__auto__,meta67713__$1));
  });})(to,from,toggles,timings,delays,transitions__$1,temp__5718__auto__))
  ;
  
  shadow.animate.t_shadow$animate67712.prototype.cljs$core$IMeta$_meta$arity$1 = ((function (to,from,toggles,timings,delays,transitions__$1,temp__5718__auto__){
  return (function (_67714){
  var self__ = this;
  var _67714__$1 = this;
  return self__.meta67713;
  });})(to,from,toggles,timings,delays,transitions__$1,temp__5718__auto__))
  ;
  
  shadow.animate.t_shadow$animate67712.prototype.shadow$animate$Animation$ = cljs.core.PROTOCOL_SENTINEL;
  
  shadow.animate.t_shadow$animate67712.prototype.shadow$animate$Animation$_animate_from$arity$1 = ((function (to,from,toggles,timings,delays,transitions__$1,temp__5718__auto__){
  return (function (_){
  var self__ = this;
  var ___$1 = this;
  return self__.from;
  });})(to,from,toggles,timings,delays,transitions__$1,temp__5718__auto__))
  ;
  
  shadow.animate.t_shadow$animate67712.prototype.shadow$animate$Animation$_animate_to$arity$1 = ((function (to,from,toggles,timings,delays,transitions__$1,temp__5718__auto__){
  return (function (_){
  var self__ = this;
  var ___$1 = this;
  return self__.to;
  });})(to,from,toggles,timings,delays,transitions__$1,temp__5718__auto__))
  ;
  
  shadow.animate.t_shadow$animate67712.prototype.shadow$animate$Animation$_animate_toggles$arity$1 = ((function (to,from,toggles,timings,delays,transitions__$1,temp__5718__auto__){
  return (function (_){
  var self__ = this;
  var ___$1 = this;
  return self__.toggles;
  });})(to,from,toggles,timings,delays,transitions__$1,temp__5718__auto__))
  ;
  
  shadow.animate.t_shadow$animate67712.prototype.shadow$animate$Animation$_animate_timings$arity$1 = ((function (to,from,toggles,timings,delays,transitions__$1,temp__5718__auto__){
  return (function (_){
  var self__ = this;
  var ___$1 = this;
  return self__.timings;
  });})(to,from,toggles,timings,delays,transitions__$1,temp__5718__auto__))
  ;
  
  shadow.animate.t_shadow$animate67712.prototype.shadow$animate$Animation$_animate_delays$arity$1 = ((function (to,from,toggles,timings,delays,transitions__$1,temp__5718__auto__){
  return (function (_){
  var self__ = this;
  var ___$1 = this;
  return self__.delays;
  });})(to,from,toggles,timings,delays,transitions__$1,temp__5718__auto__))
  ;
  
  shadow.animate.t_shadow$animate67712.getBasis = ((function (to,from,toggles,timings,delays,transitions__$1,temp__5718__auto__){
  return (function (){
  return new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"transitions","transitions",-405684594,null),cljs.core.with_meta(new cljs.core.Symbol(null,"to","to",1832630534,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol(null,"any","any",-948528346,null)], null)),cljs.core.with_meta(new cljs.core.Symbol(null,"from","from",-839142725,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol(null,"any","any",-948528346,null)], null)),cljs.core.with_meta(new cljs.core.Symbol(null,"toggles","toggles",-1576526290,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol(null,"any","any",-948528346,null)], null)),cljs.core.with_meta(new cljs.core.Symbol(null,"timings","timings",-569636600,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol(null,"any","any",-948528346,null)], null)),cljs.core.with_meta(new cljs.core.Symbol(null,"delays","delays",-873843187,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol(null,"any","any",-948528346,null)], null)),new cljs.core.Symbol(null,"temp__5718__auto__","temp__5718__auto__",1260893202,null),new cljs.core.Symbol(null,"meta67713","meta67713",1703514890,null)], null);
  });})(to,from,toggles,timings,delays,transitions__$1,temp__5718__auto__))
  ;
  
  shadow.animate.t_shadow$animate67712.cljs$lang$type = true;
  
  shadow.animate.t_shadow$animate67712.cljs$lang$ctorStr = "shadow.animate/t_shadow$animate67712";
  
  shadow.animate.t_shadow$animate67712.cljs$lang$ctorPrWriter = ((function (to,from,toggles,timings,delays,transitions__$1,temp__5718__auto__){
  return (function (this__4374__auto__,writer__4375__auto__,opt__4376__auto__){
  return cljs.core._write(writer__4375__auto__,"shadow.animate/t_shadow$animate67712");
  });})(to,from,toggles,timings,delays,transitions__$1,temp__5718__auto__))
  ;
  
  /**
   * Positional factory function for shadow.animate/t_shadow$animate67712.
   */
  shadow.animate.__GT_t_shadow$animate67712 = ((function (to,from,toggles,timings,delays,transitions__$1,temp__5718__auto__){
  return (function shadow$animate$__GT_t_shadow$animate67712(transitions__$2,to__$1,from__$1,toggles__$1,timings__$1,delays__$1,temp__5718__auto____$1,meta67713){
  return (new shadow.animate.t_shadow$animate67712(transitions__$2,to__$1,from__$1,toggles__$1,timings__$1,delays__$1,temp__5718__auto____$1,meta67713));
  });})(to,from,toggles,timings,delays,transitions__$1,temp__5718__auto__))
  ;
  
  }
  
  return (new shadow.animate.t_shadow$animate67712(transitions__$1,to,from,toggles,timings,delays,temp__5718__auto__,cljs.core.PersistentArrayMap.EMPTY));
  }
  break;
  }
  });
  
  shadow.animate.combine.cljs$lang$maxFixedArity = (0);
  
  /** @this {Function} */
  shadow.animate.combine.cljs$lang$applyTo = (function (seq67624){
  var self__4718__auto__ = this;
  return self__4718__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq67624));
  });
  
  shadow.animate.fade_in = (function shadow$animate$fade_in(var_args){
  var G__67789 = arguments.length;
  switch (G__67789) {
  case 0:
  return shadow.animate.fade_in.cljs$core$IFn$_invoke$arity$0();
  
  break;
  case 1:
  return shadow.animate.fade_in.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
  
  break;
  default:
  throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
  
  }
  });
  
  shadow.animate.fade_in.cljs$core$IFn$_invoke$arity$0 = (function (){
  return shadow.animate.fade_in.cljs$core$IFn$_invoke$arity$1("ease-in");
  });
  
  shadow.animate.fade_in.cljs$core$IFn$_invoke$arity$1 = (function (timing_function){
  return shadow.animate.transition.cljs$core$IFn$_invoke$arity$4(new cljs.core.Keyword(null,"opacity","opacity",397153780),"0","1",timing_function);
  });
  
  shadow.animate.fade_in.cljs$lang$maxFixedArity = 1;
  
  shadow.animate.fade_out = (function shadow$animate$fade_out(var_args){
  var G__67803 = arguments.length;
  switch (G__67803) {
  case 0:
  return shadow.animate.fade_out.cljs$core$IFn$_invoke$arity$0();
  
  break;
  case 1:
  return shadow.animate.fade_out.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
  
  break;
  default:
  throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
  
  }
  });
  
  shadow.animate.fade_out.cljs$core$IFn$_invoke$arity$0 = (function (){
  return shadow.animate.fade_in.cljs$core$IFn$_invoke$arity$1("ease-out");
  });
  
  shadow.animate.fade_out.cljs$core$IFn$_invoke$arity$1 = (function (timing_function){
  return shadow.animate.transition.cljs$core$IFn$_invoke$arity$4(new cljs.core.Keyword(null,"opacity","opacity",397153780),"1","0",timing_function);
  });
  
  shadow.animate.fade_out.cljs$lang$maxFixedArity = 1;
  
  shadow.animate.vendor_prefix = goog.dom.vendor.getVendorPrefix();
  shadow.animate.vendor_transform = cljs.core.keyword.cljs$core$IFn$_invoke$arity$1([cljs.core.str.cljs$core$IFn$_invoke$arity$1(shadow.animate.vendor_prefix),"-transform"].join(''));
  shadow.animate.translate_y = (function shadow$animate$translate_y(var_args){
  var G__67824 = arguments.length;
  switch (G__67824) {
  case 3:
  return shadow.animate.translate_y.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
  
  break;
  case 4:
  return shadow.animate.translate_y.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));
  
  break;
  default:
  throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
  
  }
  });
  
  shadow.animate.translate_y.cljs$core$IFn$_invoke$arity$3 = (function (from,to,timing){
  return shadow.animate.translate_y.cljs$core$IFn$_invoke$arity$4(from,to,timing,(0));
  });
  
  shadow.animate.translate_y.cljs$core$IFn$_invoke$arity$4 = (function (from,to,timing,delay){
  if((typeof shadow !== 'undefined') && (typeof shadow.animate !== 'undefined') && (typeof shadow.animate.t_shadow$animate67837 !== 'undefined')){
  } else {
  
  /**
  * @constructor
   * @implements {shadow.animate.Animation}
   * @implements {cljs.core.IMeta}
   * @implements {cljs.core.IWithMeta}
  */
  shadow.animate.t_shadow$animate67837 = (function (from,to,timing,delay,meta67838){
  this.from = from;
  this.to = to;
  this.timing = timing;
  this.delay = delay;
  this.meta67838 = meta67838;
  this.cljs$lang$protocol_mask$partition0$ = 393216;
  this.cljs$lang$protocol_mask$partition1$ = 0;
  });
  shadow.animate.t_shadow$animate67837.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_67839,meta67838__$1){
  var self__ = this;
  var _67839__$1 = this;
  return (new shadow.animate.t_shadow$animate67837(self__.from,self__.to,self__.timing,self__.delay,meta67838__$1));
  });
  
  shadow.animate.t_shadow$animate67837.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_67839){
  var self__ = this;
  var _67839__$1 = this;
  return self__.meta67838;
  });
  
  shadow.animate.t_shadow$animate67837.prototype.shadow$animate$Animation$ = cljs.core.PROTOCOL_SENTINEL;
  
  shadow.animate.t_shadow$animate67837.prototype.shadow$animate$Animation$_animate_from$arity$1 = (function (_){
  var self__ = this;
  var ___$1 = this;
  return new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"transform","transform",1381301764),["translateY(",cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.from),")"].join('')], null);
  });
  
  shadow.animate.t_shadow$animate67837.prototype.shadow$animate$Animation$_animate_to$arity$1 = (function (_){
  var self__ = this;
  var ___$1 = this;
  return new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"transform","transform",1381301764),["translateY(",cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.to),")"].join('')], null);
  });
  
  shadow.animate.t_shadow$animate67837.prototype.shadow$animate$Animation$_animate_timings$arity$1 = (function (_){
  var self__ = this;
  var ___$1 = this;
  return cljs.core.PersistentArrayMap.createAsIfByAssoc([shadow.animate.vendor_transform,self__.timing]);
  });
  
  shadow.animate.t_shadow$animate67837.prototype.shadow$animate$Animation$_animate_toggles$arity$1 = (function (_){
  var self__ = this;
  var ___$1 = this;
  return cljs.core.PersistentArrayMap.EMPTY;
  });
  
  shadow.animate.t_shadow$animate67837.prototype.shadow$animate$Animation$_animate_delays$arity$1 = (function (_){
  var self__ = this;
  var ___$1 = this;
  return cljs.core.PersistentArrayMap.createAsIfByAssoc([shadow.animate.vendor_transform,self__.delay]);
  });
  
  shadow.animate.t_shadow$animate67837.getBasis = (function (){
  return new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"from","from",-839142725,null),new cljs.core.Symbol(null,"to","to",1832630534,null),new cljs.core.Symbol(null,"timing","timing",-208693668,null),new cljs.core.Symbol(null,"delay","delay",1066306308,null),new cljs.core.Symbol(null,"meta67838","meta67838",1144510468,null)], null);
  });
  
  shadow.animate.t_shadow$animate67837.cljs$lang$type = true;
  
  shadow.animate.t_shadow$animate67837.cljs$lang$ctorStr = "shadow.animate/t_shadow$animate67837";
  
  shadow.animate.t_shadow$animate67837.cljs$lang$ctorPrWriter = (function (this__4374__auto__,writer__4375__auto__,opt__4376__auto__){
  return cljs.core._write(writer__4375__auto__,"shadow.animate/t_shadow$animate67837");
  });
  
  /**
   * Positional factory function for shadow.animate/t_shadow$animate67837.
   */
  shadow.animate.__GT_t_shadow$animate67837 = (function shadow$animate$__GT_t_shadow$animate67837(from__$1,to__$1,timing__$1,delay__$1,meta67838){
  return (new shadow.animate.t_shadow$animate67837(from__$1,to__$1,timing__$1,delay__$1,meta67838));
  });
  
  }
  
  return (new shadow.animate.t_shadow$animate67837(from,to,timing,delay,cljs.core.PersistentArrayMap.EMPTY));
  });
  
  shadow.animate.translate_y.cljs$lang$maxFixedArity = 4;
  
  shadow.animate.translate_x = (function shadow$animate$translate_x(var_args){
  var G__67881 = arguments.length;
  switch (G__67881) {
  case 3:
  return shadow.animate.translate_x.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
  
  break;
  case 4:
  return shadow.animate.translate_x.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));
  
  break;
  default:
  throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
  
  }
  });
  
  shadow.animate.translate_x.cljs$core$IFn$_invoke$arity$3 = (function (from,to,timing){
  return shadow.animate.translate_x.cljs$core$IFn$_invoke$arity$4(from,to,timing,(0));
  });
  
  shadow.animate.translate_x.cljs$core$IFn$_invoke$arity$4 = (function (from,to,timing,delay){
  if((typeof shadow !== 'undefined') && (typeof shadow.animate !== 'undefined') && (typeof shadow.animate.t_shadow$animate67889 !== 'undefined')){
  } else {
  
  /**
  * @constructor
   * @implements {shadow.animate.Animation}
   * @implements {cljs.core.IMeta}
   * @implements {cljs.core.IWithMeta}
  */
  shadow.animate.t_shadow$animate67889 = (function (from,to,timing,delay,meta67890){
  this.from = from;
  this.to = to;
  this.timing = timing;
  this.delay = delay;
  this.meta67890 = meta67890;
  this.cljs$lang$protocol_mask$partition0$ = 393216;
  this.cljs$lang$protocol_mask$partition1$ = 0;
  });
  shadow.animate.t_shadow$animate67889.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_67891,meta67890__$1){
  var self__ = this;
  var _67891__$1 = this;
  return (new shadow.animate.t_shadow$animate67889(self__.from,self__.to,self__.timing,self__.delay,meta67890__$1));
  });
  
  shadow.animate.t_shadow$animate67889.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_67891){
  var self__ = this;
  var _67891__$1 = this;
  return self__.meta67890;
  });
  
  shadow.animate.t_shadow$animate67889.prototype.shadow$animate$Animation$ = cljs.core.PROTOCOL_SENTINEL;
  
  shadow.animate.t_shadow$animate67889.prototype.shadow$animate$Animation$_animate_from$arity$1 = (function (_){
  var self__ = this;
  var ___$1 = this;
  return new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"transform","transform",1381301764),["translateX(",cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.from),")"].join('')], null);
  });
  
  shadow.animate.t_shadow$animate67889.prototype.shadow$animate$Animation$_animate_to$arity$1 = (function (_){
  var self__ = this;
  var ___$1 = this;
  return new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"transform","transform",1381301764),["translateX(",cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.to),")"].join('')], null);
  });
  
  shadow.animate.t_shadow$animate67889.prototype.shadow$animate$Animation$_animate_timings$arity$1 = (function (_){
  var self__ = this;
  var ___$1 = this;
  return cljs.core.PersistentArrayMap.createAsIfByAssoc([shadow.animate.vendor_transform,self__.timing]);
  });
  
  shadow.animate.t_shadow$animate67889.prototype.shadow$animate$Animation$_animate_toggles$arity$1 = (function (_){
  var self__ = this;
  var ___$1 = this;
  return cljs.core.PersistentArrayMap.EMPTY;
  });
  
  shadow.animate.t_shadow$animate67889.prototype.shadow$animate$Animation$_animate_delays$arity$1 = (function (_){
  var self__ = this;
  var ___$1 = this;
  return cljs.core.PersistentArrayMap.createAsIfByAssoc([shadow.animate.vendor_transform,self__.delay]);
  });
  
  shadow.animate.t_shadow$animate67889.getBasis = (function (){
  return new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"from","from",-839142725,null),new cljs.core.Symbol(null,"to","to",1832630534,null),new cljs.core.Symbol(null,"timing","timing",-208693668,null),new cljs.core.Symbol(null,"delay","delay",1066306308,null),new cljs.core.Symbol(null,"meta67890","meta67890",1683323167,null)], null);
  });
  
  shadow.animate.t_shadow$animate67889.cljs$lang$type = true;
  
  shadow.animate.t_shadow$animate67889.cljs$lang$ctorStr = "shadow.animate/t_shadow$animate67889";
  
  shadow.animate.t_shadow$animate67889.cljs$lang$ctorPrWriter = (function (this__4374__auto__,writer__4375__auto__,opt__4376__auto__){
  return cljs.core._write(writer__4375__auto__,"shadow.animate/t_shadow$animate67889");
  });
  
  /**
   * Positional factory function for shadow.animate/t_shadow$animate67889.
   */
  shadow.animate.__GT_t_shadow$animate67889 = (function shadow$animate$__GT_t_shadow$animate67889(from__$1,to__$1,timing__$1,delay__$1,meta67890){
  return (new shadow.animate.t_shadow$animate67889(from__$1,to__$1,timing__$1,delay__$1,meta67890));
  });
  
  }
  
  return (new shadow.animate.t_shadow$animate67889(from,to,timing,delay,cljs.core.PersistentArrayMap.EMPTY));
  });
  
  shadow.animate.translate_x.cljs$lang$maxFixedArity = 4;
  
  
  //# sourceMappingURL=shadow.animate.js.map
  