4leiningen/new/templates__initjava/lang/Objectload()Vconst__0Lclojure/lang/Var;   clojure/lang/Var  getRawRoot()Ljava/lang/Object;  clojure/lang/IFnconst__1Lclojure/lang/AFn;  invoke&(Ljava/lang/Object;)Ljava/lang/Object;  3leiningen/new/templates$loading__6721__auto____8386     clojure/lang/Symbol"const__2 $ %equals(Ljava/lang/Object;)Z '( #) leiningen/new/templates$fn__8846+ ,java/util/concurrent/Callable.clojure/lang/LockingTransaction0runInTransaction3(Ljava/util/concurrent/Callable;)Ljava/lang/Object; 23 14const__3 6 7 const__12 9 :clojure/lang/IPersistentMap<setMeta (Lclojure/lang/IPersistentMap;)V >? @$leiningen/new/templates$project_nameB CbindRoot(Ljava/lang/Object;)V EF G const__13 I J const__16 L M+leiningen/new/templates$fix_line_separatorsO P const__17 R S const__20 U V#leiningen/new/templates$slurp_to_lfX Y const__21 [ \ const__24 ^ _&leiningen/new/templates$slurp_resourcea b const__25 d e const__28 g h leiningen/new/templates$sanitizej k const__29 m n const__32 p q%leiningen/new/templates$multi_segments t const__33 v w const__36 y z$leiningen/new/templates$name_to_path| } const__37   const__40  #leiningen/new/templates$sanitize_ns  const__41   const__44  "leiningen/new/templates$group_name  const__45   const__48  leiningen/new/templates$year  const__49   const__52  leiningen/new/templates$date  const__53   const__55   const__56   const__57   const__60   leiningen/new/templates$renderer  const__61   const__64  %leiningen/new/templates$raw_resourcer  const__65   const__69  %leiningen/new/templates$template_path  const__70   setDynamic(Z)Lclojure/lang/Var;  const__73   const__74   const__76  java/lang/BooleanFALSELjava/lang/Boolean;  const__77   const__80  "leiningen/new/templates$__GT_files java/lang/Throwable__init0 clojure.corein-nsclojure/lang/RTvar8(Ljava/lang/String;Ljava/lang/String;)Lclojure/lang/Var; leiningen.new.templatesintern;(Ljava/lang/String;Ljava/lang/String;)Lclojure/lang/Symbol; #clojure/lang/AFn project-namearglistskeyword<(Ljava/lang/String;Ljava/lang/String;)Lclojure/lang/Keyword;  sclojure/lang/Tuplecreate4(Ljava/lang/Object;)Lclojure/lang/IPersistentVector;   java/util/Arrays asList%([Ljava/lang/Object;)Ljava/util/List;    clojure/lang/PersistentList0(Ljava/util/List;)Lclojure/lang/IPersistentList;  docqReturns project name from (possibly group-qualified) name: mygroup/myproj => myproj myproj => myprojlinejava/lang/IntegervalueOf(I)Ljava/lang/Integer;   column"file$leiningen/new/templates.clj&map2([Ljava/lang/Object;)Lclojure/lang/IPersistentMap; () *fix-line-separators,4Replace all \n with system specific line separators.. slurp-to-lf0r2fReturns the entire contents of the given reader as a single string. Converts all line endings to \n.4slurp-resource6resource8Reads the contents of a resource. Temporarily converts line endings in the resource to \n before converting them into system specific line separators using fix-line-separators.:sanitize<!Replace hyphens with underscores.> multi-segment@ final-segmentBF(Ljava/lang/Object;Ljava/lang/Object;)Lclojure/lang/IPersistentVector; D EuMake a namespace multi-segmented by adding another segment if necessary. The additional segment defaults to "core".G name-to-pathIConstructs directory structure from fully qualified artifact name: "foo-bar.baz" becomes "foo_bar/baz" and so on. Uses platform-specific file separators.K sanitize-nsMReturns project namespace name from (possibly group-qualified) project name: mygroup/myproj => mygroup.myproj myproj => myproj mygroup/my_proj => mygroup.my-projO group-nameQReturns group name from (a possibly unqualified) name: my.long.group/myproj => my.long.group mygroup/myproj => mygroup myproj => nilSyearU"()Lclojure/lang/IPersistentVector; W XBGet the current year. Useful for setting copyright years and such.Zdate\3Get the current date as a string in ISO8601 format.^ render-text` stencil.coreb render-stringdrendererfnameh&j render-fnlX(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lclojure/lang/IPersistentVector; n oCreate a renderer function that looks for mustache templates in the right place given the name of your template. If no data is passed, the file is simply slurped and the content returned unchanged. render-fn - Optional rendering function that will be used in place of the default renderer. This allows rendering templates that contain tags that conflic with the Stencil renderer such as {{..}}.q raw-resourcersiCreate a renderer function that looks for raw files in the right place given the name of your template.u template-pathwprivateyTRUE { |path~data*dir*dynamic*force?*->fileskeysaspathsGenerate a file with content. path can be a java.io.File or string. It will be turned into a File regardless. Any parent directories will be created automatically. Data should include a key for :name so that the project is created in the correct directory.  leiningen.new.templates__init classForName%(Ljava/lang/String;)Ljava/lang/Class;  java/lang/ClassgetClassLoader()Ljava/lang/ClassLoader;  clojure/lang/CompilerpushNSandLoader(Ljava/lang/ClassLoader;)V    popThreadBindings  Code StackMapTableLineNumberTable!($69ILRU[^dgmpvy H Y!#&*,Y-/5W8Y;=AYCYDHKYN=AYPYQHTYW=AYYYZH]Y`=AYbYcHfYi=AYkYlHoYr=AYtYuHxY{=AY}Y~HY=AYYHY=AYYHY=AYYHY=AYYHY=AYHY=AYYHY=AYYHY=AYYƶHY=AYHY=AYܶHY=AYYH!s   ) >   & 8 YSYY SSYSYSYSY!SY#SY!SY%SY 'S+;- K YSYY SSYSY/SYSY!SY#SY!SY%SY 'S+N1 T YSYY3 SSYSY5SYSY$!SY#SY!SY%SY 'S+W7 ] YSYY9 SSYSY;SYSY1!SY#SY!SY%SY 'S+`= f YSYY SSYSY?SYSY:!SY#SY!SY%SY 'S+iA o YSYY SYCFSSYSYHSYSY?!SY#SY!SY%SY 'S+rJ x YSYY SSYSYLSYSYH!SY#SY!SY%SY 'S+{N  YSYY SSYSYPSYSYQ!SY#SY!SY%SY 'S+R  YSYY SSYSYTSYSY\!SY#SY!SY%SY 'S+V  YSYYYSSYSY[SYSYg!SY#SY!SY%SY 'S+]  YSYYYSSYSY_SYSYk!SY#SY!SY%SY 'S+a YSYu!SY#SY!SY%SY'S+ce g  YSYYikm pSSYSYrSYSY!SY#SY!SY%SY 'S+t  YSYYi SSYSYvSYSY!SY#SY!SY%SY 'S+x  YzSY}SYSYYipSSYSY!SY#SY!SY%SY 'S+ YSY}SYSY!SY#SY!SY%SY'S+ YSY}SYSY!SY#SY!SY%SY'S+  YSYYYSYi SYSYS+kpSSYSYSYSY!SY#SY!SY%SY 'S+ >X