# eclipse conf file
.settings
.classpath
.project
.manager
.scala_dependencies
.cache

# idea conf files
.idea
*.iml
*.ipr
*.iws
*.eml

#OS junk files
[Tt]humbs.db
*.DS_Store
/jenkins/

local.properties

out/
temp/
rat.report

# files copied from flex-sdk
swfutils/

# files copied from google closure compiler
externs/js/externs
externs/jquery/externs
externs/jasmine/externs

# debugger output folders
debugger/bin/
debugger/generated/
