From e8cfeae541cd3780baa488d3af009fd40c56836f Mon Sep 17 00:00:00 2001 From: Pascal Hartig Date: Mon, 6 May 2013 01:14:38 +0200 Subject: [PATCH] Remove emberjs-require example, redirect to README Close #528 --- .../emberjs_require/css/app.css | 131 ------------------ .../emberjs_require/index.html | 29 +--- dependency-examples/emberjs_require/js/app.js | 43 ------ .../js/app/controllers/entries.js | 72 ---------- .../js/app/controllers/todos.js | 27 ---- .../emberjs_require/js/app/models/store.js | 80 ----------- .../emberjs_require/js/app/models/todo.js | 20 --- .../emberjs_require/js/app/router.js | 93 ------------- .../js/app/specs/controllers/todos.js | 65 --------- .../emberjs_require/js/app/specs/helper.js | 16 --- .../js/app/specs/models/store.js | 31 ----- .../emberjs_require/js/app/specs/todoMVC.js | 112 --------------- .../js/app/specs/views/basic_acceptance.js | 29 ---- .../js/app/templates/clear_button.html | 5 - .../js/app/templates/filters.html | 11 -- .../js/app/templates/items.html | 7 - .../js/app/templates/stats.html | 7 - .../js/app/views/application.js | 69 --------- .../js/app/views/clear_button.js | 22 --- .../emberjs_require/js/app/views/filters.js | 26 ---- .../emberjs_require/js/app/views/items.js | 50 ------- .../emberjs_require/js/app/views/stats.js | 22 --- .../js/lib/ember-latest.min.js | 18 --- .../emberjs_require/js/lib/require/require.js | 31 ----- .../emberjs_require/js/lib/require/text.js | 11 -- dependency-examples/emberjs_require/readme.md | 14 +- 26 files changed, 6 insertions(+), 1035 deletions(-) delete mode 100644 dependency-examples/emberjs_require/css/app.css delete mode 100644 dependency-examples/emberjs_require/js/app.js delete mode 100644 dependency-examples/emberjs_require/js/app/controllers/entries.js delete mode 100644 dependency-examples/emberjs_require/js/app/controllers/todos.js delete mode 100644 dependency-examples/emberjs_require/js/app/models/store.js delete mode 100644 dependency-examples/emberjs_require/js/app/models/todo.js delete mode 100644 dependency-examples/emberjs_require/js/app/router.js delete mode 100644 dependency-examples/emberjs_require/js/app/specs/controllers/todos.js delete mode 100644 dependency-examples/emberjs_require/js/app/specs/helper.js delete mode 100644 dependency-examples/emberjs_require/js/app/specs/models/store.js delete mode 100644 dependency-examples/emberjs_require/js/app/specs/todoMVC.js delete mode 100644 dependency-examples/emberjs_require/js/app/specs/views/basic_acceptance.js delete mode 100644 dependency-examples/emberjs_require/js/app/templates/clear_button.html delete mode 100644 dependency-examples/emberjs_require/js/app/templates/filters.html delete mode 100644 dependency-examples/emberjs_require/js/app/templates/items.html delete mode 100644 dependency-examples/emberjs_require/js/app/templates/stats.html delete mode 100644 dependency-examples/emberjs_require/js/app/views/application.js delete mode 100644 dependency-examples/emberjs_require/js/app/views/clear_button.js delete mode 100644 dependency-examples/emberjs_require/js/app/views/filters.js delete mode 100644 dependency-examples/emberjs_require/js/app/views/items.js delete mode 100644 dependency-examples/emberjs_require/js/app/views/stats.js delete mode 100644 dependency-examples/emberjs_require/js/lib/ember-latest.min.js delete mode 100644 dependency-examples/emberjs_require/js/lib/require/require.js delete mode 100644 dependency-examples/emberjs_require/js/lib/require/text.js diff --git a/dependency-examples/emberjs_require/css/app.css b/dependency-examples/emberjs_require/css/app.css deleted file mode 100644 index 885f19d3de..0000000000 --- a/dependency-examples/emberjs_require/css/app.css +++ /dev/null @@ -1,131 +0,0 @@ -/* Mocha */ - -#mocha h1, h2 { - margin: 0; -} - -#mocha h1 { - font-size: 1em; - font-weight: 200; -} - -#mocha .suite .suite h1 { - font-size: .8em; -} - -#mocha h2 { - font-size: 12px; - font-weight: normal; - cursor: pointer; -} - -#mocha .suite { - margin-left: 15px; -} - -#mocha .test { - margin-left: 15px; -} - -#mocha .test:hover h2::after { - position: relative; - top: 0; - right: -10px; - content: '(view source)'; - font-size: 12px; - font-family: arial; - color: #888; -} - -#mocha .test.pending:hover h2::after { - content: '(pending)'; - font-family: arial; -} - -#mocha .test.pass::before { - content: '✓'; - font-size: 12px; - display: block; - float: left; - margin-right: 5px; - color: #00c41c; -} - -#mocha .test.pending { - color: #0b97c4; -} - -#mocha .test.pending::before { - content: '◦'; - color: #0b97c4; -} - -#mocha .test.fail { - color: #c00; -} - -#mocha .test.fail pre { - color: black; -} - -#mocha .test.fail::before { - content: '✖'; - font-size: 12px; - display: block; - float: left; - margin-right: 5px; - color: #c00; -} - -#mocha .test pre.error { - color: #c00; -} - -#mocha .test pre { - display: inline-block; - font: 12px/1.5 monaco, monospace; - margin: 5px; - padding: 15px; - border: 1px solid #eee; - border-bottom-color: #ddd; - -webkit-border-radius: 3px; - -webkit-box-shadow: 0 1px 3px #eee; -} - -#error { - color: #c00; - font-size: 1.5 em; - font-weight: 100; - letter-spacing: 1px; -} - -#stats { - position: fixed; - top: 15px; - right: 10px; - font-size: 12px; - margin: 0; - color: #888; -} - -#stats .progress { - float: right; - padding-top: 0; -} - -#stats em { - color: black; -} - -#stats li { - display: inline-block; - margin: 0 5px; - list-style: none; - padding-top: 11px; -} - -code .comment { color: #ddd } -code .init { color: #2F6FAD } -code .string { color: #5890AD } -code .keyword { color: #8A6343 } -code .number { color: #2F6FAD } diff --git a/dependency-examples/emberjs_require/index.html b/dependency-examples/emberjs_require/index.html index b088d15713..1c6299c6b2 100644 --- a/dependency-examples/emberjs_require/index.html +++ b/dependency-examples/emberjs_require/index.html @@ -1,28 +1,3 @@ - - - - - ember.js + require.js • TodoMVC - - - - - - -
- - - - - +ember.js + require.js • TodoMVC + diff --git a/dependency-examples/emberjs_require/js/app.js b/dependency-examples/emberjs_require/js/app.js deleted file mode 100644 index cb03680fdf..0000000000 --- a/dependency-examples/emberjs_require/js/app.js +++ /dev/null @@ -1,43 +0,0 @@ -// Define libraries -require.config({ - baseUrl: 'js/', - paths: { - jquery: '../../../assets/jquery.min', - ember: 'lib/ember-latest.min', - handlebars: '../../../assets/handlebars.min', - text: 'lib/require/text', - jasmine: '../../../assets/jasmine/jasmine', - jasmine_html: '../../../assets/jasmine/jasmine-html' - } -}); - -// Load our app -define( 'app', [ - 'app/router', - 'app/models/store', - 'app/controllers/entries', - 'app/views/application', - 'jquery', - 'handlebars', - 'ember' - ], function( Router, Store, EntriesController, ApplicationView ) { - var App = Ember.Application.create({ - VERSION: '1.0', - rootElement: '#todoapp', - // Load routes - Router: Router, - // Extend to inherit outlet support - ApplicationController: Ember.Controller.extend(), - ApplicationView: ApplicationView, - entriesController: EntriesController.create({ - store: new Store('todos-emberjs') - }), - ready: function() { - this.initialize(); - } - }); - - // Expose the application globally - return window.Todos = App; - } -); diff --git a/dependency-examples/emberjs_require/js/app/controllers/entries.js b/dependency-examples/emberjs_require/js/app/controllers/entries.js deleted file mode 100644 index 05d770a505..0000000000 --- a/dependency-examples/emberjs_require/js/app/controllers/entries.js +++ /dev/null @@ -1,72 +0,0 @@ -define('app/controllers/entries', [ 'ember' ], - /** - * Entries controller - * - * @returns Class - */ - function() { - return Ember.ArrayProxy.extend({ - store: null, - content: [], - - createNew: function( value ) { - if ( !value.trim() ) - return; - var todo = this.get( 'store' ).createFromTitle( value ); - this.pushObject( todo ); - }, - - pushObject: function( item, ignoreStorage) { - if ( !ignoreStorage ) - this.get( 'store' ).create( item ); - return this._super( item ); - }, - - removeObject: function( item ) { - this.get( 'store' ).remove( item ); - return this._super( item ); - }, - - clearCompleted: function() { - this.filterProperty( - 'completed', true - ).forEach( this.removeObject, this ); - }, - - total: function() { - return this.get( 'length' ); - }.property( '@each.length' ), - - remaining: function() { - return this.filterProperty( 'completed', false ).get( 'length' ); - }.property( '@each.completed' ), - - completed: function() { - return this.filterProperty( 'completed', true ).get( 'length' ); - }.property( '@each.completed' ), - - noneLeft: function() { - return this.get( 'total' ) === 0; - }.property( 'total' ), - - allAreDone: function( key, value ) { - if ( value !== undefined ) { - this.setEach( 'completed', value ); - return value; - } else { - return !!this.get( 'length' ) && - this.everyProperty( 'completed', true ); - } - }.property( '@each.completed' ), - - init: function() { - this._super(); - // Load items if any upon initialization - var items = this.get( 'store' ).findAll(); - if ( items.get( 'length' ) ) { - this.set( '[]', items ); - }; - } - }); - } -); diff --git a/dependency-examples/emberjs_require/js/app/controllers/todos.js b/dependency-examples/emberjs_require/js/app/controllers/todos.js deleted file mode 100644 index 0bf574e75d..0000000000 --- a/dependency-examples/emberjs_require/js/app/controllers/todos.js +++ /dev/null @@ -1,27 +0,0 @@ -define('app/controllers/todos', [ 'ember' ], - /** - * Todos controller - * - * @returns Class - */ - function() { - return Ember.Controller.extend({ - entries: function() { - var filter = this.getPath( 'content.filterBy' ); - - if ( Ember.empty( filter ) ) { - return this.get( 'content' ); - } - - if ( !Ember.compare( filter, 'completed' ) ) { - return this.get( 'content' ).filterProperty( 'completed', true ); - } - - if ( !Ember.compare( filter, 'active' ) ) { - return this.get( 'content' ).filterProperty( 'completed', false ); - } - - }.property( 'content.remaining' ) - }); - } -); diff --git a/dependency-examples/emberjs_require/js/app/models/store.js b/dependency-examples/emberjs_require/js/app/models/store.js deleted file mode 100644 index 3bd0339207..0000000000 --- a/dependency-examples/emberjs_require/js/app/models/store.js +++ /dev/null @@ -1,80 +0,0 @@ -define('app/models/store', [ - 'app/models/todo', - 'ember' - ], - /** - * Todo entries storage model - * - * @param Class Todo, the todo entry model - * @returns Class - */ - function( Todo ) { - // Our Store is represented by a single JS object in *localStorage*. - // Create it with a meaningful name, like the name you'd give a table. - return function( name ) { - this.name = name; - var store = localStorage.getItem( this.name ); - this.data = ( store && JSON.parse( store ) ) || {}; - - // Save the current state of the **Store** to *localStorage*. - this.save = function() { - localStorage.setItem( this.name, JSON.stringify( this.data ) ); - }; - - // Wrapper around `this.create` - // Creates a `Todo` model object out of the title - this.createFromTitle = function( title ) { - var todo = Todo.create({ - title: title, - store: this - }); - this.create( todo ); - return todo; - }; - - // Store the model inside the `Store` - this.create = function ( model ) { - if ( !model.get( 'id' ) ) - model.set( 'id', Date.now() ); - return this.update( model ); - }; - - // Update a model by replacing its copy in `this.data`. - this.update = function( model ) { - this.data[ model.get( 'id' ) ] = model.getProperties( - 'id', 'title', 'completed' - ); - this.save(); - return model; - }; - - // Retrieve a model from `this.data` by id. - this.find = function( model ) { - var todo = Todo.create( this.data[ model.get( 'id' ) ] ); - todo.set( 'store', this ); - return todo; - }; - - // Return the array of all models currently in storage. - this.findAll = function() { - var result = [], - key; - - for ( key in this.data ) { - var todo = Todo.create( this.data[ key ] ); - todo.set( 'store', this ); - result.push( todo ); - } - - return result; - }; - - // Delete a model from `this.data`, returning it. - this.remove = function( model ) { - delete this.data[ model.get( 'id' ) ]; - this.save(); - return model; - }; - }; - } -); diff --git a/dependency-examples/emberjs_require/js/app/models/todo.js b/dependency-examples/emberjs_require/js/app/models/todo.js deleted file mode 100644 index de1cb772b6..0000000000 --- a/dependency-examples/emberjs_require/js/app/models/todo.js +++ /dev/null @@ -1,20 +0,0 @@ -define('app/models/todo', ['ember'], - /** - * Todo entry model - * - * @returns Class - */ - function() { - return Ember.Object.extend({ - id: null, - title: null, - completed: false, - // set store reference upon creation instead of creating static bindings - store: null, - // Observer that will react on item change and will update the storage - todoChanged: function() { - this.get( 'store' ).update( this ); - }.observes( 'title', 'completed' ) - }); - } -); diff --git a/dependency-examples/emberjs_require/js/app/router.js b/dependency-examples/emberjs_require/js/app/router.js deleted file mode 100644 index e94b049310..0000000000 --- a/dependency-examples/emberjs_require/js/app/router.js +++ /dev/null @@ -1,93 +0,0 @@ -define('app/router', [ 'ember' ], - /** - * Todos Router - * - * Defined routes represent filters according to specs - * - * @returns Class - */ - function() { - return Ember.Router.extend({ - - root: Ember.Route.extend({ - - showAll: Ember.Route.transitionTo( 'index' ), - showActive: Ember.Route.transitionTo( 'active' ), - showCompleted: Ember.Route.transitionTo( 'completed' ), - - index: Ember.Route.extend({ - route: '/', - connectOutlets: function( router ) { - var controller = router.get( 'applicationController' ); - var context = controller.namespace.entriesController; - context.set( 'filterBy', '' ); - - // This require was left here exclusively for design purposes - // Loads decoupled controller/view based on current route - require([ 'app/controllers/todos', 'app/views/items' ], - function( TodosController, ItemsView ) { - controller.connectOutlet({ - viewClass: ItemsView, - controller: TodosController.create(), - context: context - }); - } - ); - - } - }), - - active: Ember.Route.extend({ - route: '/active', - connectOutlets: function( router ) { - var controller = router.get( 'applicationController' ); - var context = controller.namespace.entriesController; - context.set( 'filterBy', 'active' ); - - // This require was left here exclusively for design purposes - // Loads decoupled controller/view based on current route - require([ 'app/controllers/todos', 'app/views/items' ], - function( TodosController, ItemsView ) { - controller.connectOutlet({ - viewClass: ItemsView, - controller: TodosController.create(), - context: context - }); - } - ); - - } - }), - - completed: Ember.Route.extend({ - route: '/completed', - connectOutlets: function( router ) { - var controller = router.get( 'applicationController' ); - var context = controller.namespace.entriesController; - context.set( 'filterBy', 'completed' ); - - // This require was left here exclusively for design purposes - // Loads decoupled controller/view based on current route - require([ 'app/controllers/todos', 'app/views/items' ], - function( TodosController, ItemsView ) { - controller.connectOutlet({ - viewClass: ItemsView, - controller: TodosController.create(), - context: context - }); - } - ); - - } - }), - - specs: Ember.Route.extend({ - route: '/specs', - connectOutlets: function() { - require( [ 'app/specs/helper' ] ); - } - }) - }) - }); - } -); diff --git a/dependency-examples/emberjs_require/js/app/specs/controllers/todos.js b/dependency-examples/emberjs_require/js/app/specs/controllers/todos.js deleted file mode 100644 index 54ac828853..0000000000 --- a/dependency-examples/emberjs_require/js/app/specs/controllers/todos.js +++ /dev/null @@ -1,65 +0,0 @@ -/** - * Some smoke tests - */ -describe( 'controllers/todos', function() { - - var controller = Todos.get( 'todosController' ); - var title = 'Another title...'; - - it( 'should have an input for entering new entry', function() { - expect( controller.inputView ).to.be.a( 'object' ); - expect( - $( controller.inputView.get( 'element' ) ).attr( 'placeholder' ) - ).to.equal( controller.inputView.get( 'placeholder' ) ); - }); - - it( 'should not create new entry on empty-ish input', function() { - var counted = controller.get( 'remaining' ); - controller.inputView.set( 'value', ' ' ); - controller.inputView.insertNewline(); - expect( controller.get( 'remaining' ) ).to.equal( counted ) - }); - - it( 'should create new entry on newline', function() { - controller.inputView.set( 'value', title ); - controller.inputView.insertNewline(); - expect( controller.get( 'lastObject' ).title ).to.equal( title ); - controller.removeObject( controller.get( 'lastObject' ) ); - }); - - it( 'should delete item if title is empty-ish', function() { - controller.createNew( title ); - var counted = controller.get( 'remaining' ); - var entry = controller.get( 'lastObject' ); - entry.set( 'title', ' ' ); - var editor = controller.todoEditor.create({ - todo: entry, - storage: controller - }); - editor.whenDone(); - expect( controller.get( 'remaining' ) ).to.equal( counted - 1 ); - }); - - it( 'should reflect the same number of items as in store', function() { - controller.createNew( 'value', title ); - var visibles = controller.todosView. - get( 'childViews' )[ 0 ].get( 'childViews' ).length; - expect( controller.get( 'content' ).length ).to.equal( visibles ); - controller.removeObject( controller.get( 'lastObject' ) ); - }); - - it( 'should allow removing entries', function( done ) { - controller.createNew( 'value', title ); - setTimeout( function(){ - controller.allDoneCheckbox.set( 'value', true ); - }, 100 ); - setTimeout( function(){ - controller.clearCompletedButton.triggerAction(); - }, 200 ); - setTimeout( function(){ - expect( controller.get( 'content' ).length ).to.equal( 0 ); - }, 300 ); - done(); - }); - -}); diff --git a/dependency-examples/emberjs_require/js/app/specs/helper.js b/dependency-examples/emberjs_require/js/app/specs/helper.js deleted file mode 100644 index d2a0a2d32a..0000000000 --- a/dependency-examples/emberjs_require/js/app/specs/helper.js +++ /dev/null @@ -1,16 +0,0 @@ -define( 'app/specs/helper', [ 'jasmine', 'jasmine_html' ], - /** - * Specs Runner - */ - function() { - // Load testsuite - require([ - 'app/specs/todoMVC', - ], function() { - var jasmineEnv = jasmine.getEnv(); - var htmlReporter = new jasmine.HtmlReporter(); - jasmineEnv.addReporter( htmlReporter ); - jasmineEnv.execute(); - }); - } -); diff --git a/dependency-examples/emberjs_require/js/app/specs/models/store.js b/dependency-examples/emberjs_require/js/app/specs/models/store.js deleted file mode 100644 index da4cc515f0..0000000000 --- a/dependency-examples/emberjs_require/js/app/specs/models/store.js +++ /dev/null @@ -1,31 +0,0 @@ -/** - * Some integration tests - */ -describe( 'models/store', function() { - - var title = 'Testing title...'; - var store = Todos.todosController.get( 'store' ); - - it( 'should allow creating and removing items', function() { - var count = store.findAll().length; - var todo = store.createFromTitle( title ); - expect( store.findAll().length ).to.equal( count + 1 ); - expect( todo ).to.have.property( 'title', title ); - expect( todo ).to.have.property( 'completed', false ); - expect( todo ).to.have.property( 'store', store ); - store.remove( todo ); - expect( store.findAll().length ).to.equal( count ); - }); - - it( 'should allow finding and changing items', function() { - var todo = store.createFromTitle( title ); - expect( store.find( todo ).id ).to.equal( todo.id ); - expect( store.find( todo ).title ).to.equal( todo.title ); - expect( store.find( todo ).completed ).to.equal( false ); - todo.set( 'completed', true ); - expect( store.find( todo ).id ).to.equal( todo.id ); - expect( store.find( todo ).completed ).to.equal( true ); - store.remove( todo ); - }); - -}); diff --git a/dependency-examples/emberjs_require/js/app/specs/todoMVC.js b/dependency-examples/emberjs_require/js/app/specs/todoMVC.js deleted file mode 100644 index 987585cf5c..0000000000 --- a/dependency-examples/emberjs_require/js/app/specs/todoMVC.js +++ /dev/null @@ -1,112 +0,0 @@ -/** - * TodoMVC Project Specs - * - * Use `runs` and `waits` to make sure results are run synchroneously - */ - -describe( 'TodoMVC features.', function(){ - - var enterEvent = $.Event('keyup', { keyCode: 13 }); - var todoTitle = 'Foo Bar Todo'; - - describe( 'Todo creation:', function() { - - beforeEach( function(){ - // Make sure we are always on the main screen - window.location.hash = '#/'; - }); - - it( 'should allow creating a new todo' , function() { - runs( function(){ - $( '#new-todo' ).val( todoTitle ).trigger( enterEvent ); - }); - - waits( 100 ); - - runs( function() { - !!$( '#todo-list li' ).text().match( todoTitle ); - }); - }); - - it( 'should not allow adding an empty todo' , function() { - var ourTodo, - beforeCount = $( '#todo-list li' ).length; - - runs( function(){ - $( '#new-todo' ).val( ' ' ).trigger( enterEvent ); - }); - - waits( 100 ); - - runs( function(){ - expect( $( '#todo-list li' ).length ).toEqual( beforeCount ); - }); - }); - }); - - describe( 'Todo completion:', function() { - it( 'should allow marking a todo complete' , function() { - var ourTodo, - beforeCount = $( '#todo-list li.completed' ).length, - postTitle = ' to be completed'; - - runs( function(){ - $( '#new-todo' ).val( todoTitle + postTitle ).trigger( enterEvent ); - }); - - waits( 100 ); - - runs( function() { - ourTodo = $( '#todo-list li:last-child' ); - - expect( ourTodo.text() ).toMatch( postTitle ); - ourTodo.find( '.toggle' ).click(); - expect( $( '#todo-list li.completed' ).length ).toEqual( beforeCount + 1 ); - }); - }); - - it( 'should allow clearing completed todos' , function() { - var ourTodo, - beforeCount = $( '#todo-list li.completed' ).length, - postTitle = ' to be completed'; - - runs( function(){ - $( '#new-todo' ).val( todoTitle + postTitle ).trigger( enterEvent ); - }); - - waits( 100 ); - - runs( function() { - ourTodo = $( '#todo-list li:last-child' ); - - expect( ourTodo.text() ).toMatch( postTitle ); - ourTodo.find( '.toggle' ).click(); - $( '#clear-completed' ).click(); - expect( $( '#todo-list li.completed' ).length ).toEqual( 0 ); - }); - }); - }); - - describe( 'Todo deletion:', function() { - it( 'should allow deleting a todo' , function() { - var ourTodo, - beforeCount = $( '#todo-list li' ).length, - postTitle = ' to be deleted'; - - runs( function(){ - $( '#new-todo' ).val( todoTitle + postTitle ).trigger( enterEvent ); - }); - - waits( 100 ); - - runs( function() { - ourTodo = $( '#todo-list li:last-child' ); - - expect( ourTodo.text() ).toMatch( postTitle ); - ourTodo.find( '.destroy' ).click(); - expect( $( '#todo-list li' ).length ).toEqual( beforeCount ); - }); - }); - }); - -}); diff --git a/dependency-examples/emberjs_require/js/app/specs/views/basic_acceptance.js b/dependency-examples/emberjs_require/js/app/specs/views/basic_acceptance.js deleted file mode 100644 index 77557bcefb..0000000000 --- a/dependency-examples/emberjs_require/js/app/specs/views/basic_acceptance.js +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Some acceptance testing for views - */ - -describe( 'views/*', function() { - - it( 'should validate clear button view', function( done ) { - require( [ 'text!app/views/clear_button.html' ], function( html ){ - expect( html ).to.be.a( 'string' ); - expect( html ).to.match( /completedCount/ ); - expect( function(){ Em.Handlebars.compile( html ) } ).to.not.throw( Error ); - done(); - }); - }); - - it( 'should validate items view', function( done ) { - require( [ 'text!app/views/items.html' ], function( html ) { - expect( html ).to.be.a( 'string' ); - expect( html ).to.match( /collection/ ); - expect( html ).to.match( /id="todo-list"/ ); - expect( html ).to.match( /Todos\.todosController/ ); - expect( html ).to.match( /Checkbox/ ); - expect( html ).to.match( /class="toggle"/ ); - expect( function(){ Em.Handlebars.compile( html ) } ).to.not.throw( Error ); - done(); - }); - }); - -}); diff --git a/dependency-examples/emberjs_require/js/app/templates/clear_button.html b/dependency-examples/emberjs_require/js/app/templates/clear_button.html deleted file mode 100644 index 0d398390b1..0000000000 --- a/dependency-examples/emberjs_require/js/app/templates/clear_button.html +++ /dev/null @@ -1,5 +0,0 @@ -{{#with view}} - -{{/with}} diff --git a/dependency-examples/emberjs_require/js/app/templates/filters.html b/dependency-examples/emberjs_require/js/app/templates/filters.html deleted file mode 100644 index 52e8a8f6f8..0000000000 --- a/dependency-examples/emberjs_require/js/app/templates/filters.html +++ /dev/null @@ -1,11 +0,0 @@ - diff --git a/dependency-examples/emberjs_require/js/app/templates/items.html b/dependency-examples/emberjs_require/js/app/templates/items.html deleted file mode 100644 index 588ef6a49d..0000000000 --- a/dependency-examples/emberjs_require/js/app/templates/items.html +++ /dev/null @@ -1,7 +0,0 @@ -{{#unless view.content.editing}} - {{view Ember.Checkbox checkedBinding="view.content.completed" class="toggle"}} - - -{{else}} - {{view view.ItemEditorView contentBinding="view.content"}} -{{/unless}} diff --git a/dependency-examples/emberjs_require/js/app/templates/stats.html b/dependency-examples/emberjs_require/js/app/templates/stats.html deleted file mode 100644 index 75b3c30057..0000000000 --- a/dependency-examples/emberjs_require/js/app/templates/stats.html +++ /dev/null @@ -1,7 +0,0 @@ -{{#with view}} - {{#if oneLeft }} - {{entries.remaining}} item left - {{else}} - {{entries.remaining}} items left - {{/if}} -{{/with}} diff --git a/dependency-examples/emberjs_require/js/app/views/application.js b/dependency-examples/emberjs_require/js/app/views/application.js deleted file mode 100644 index 4736f4f2e7..0000000000 --- a/dependency-examples/emberjs_require/js/app/views/application.js +++ /dev/null @@ -1,69 +0,0 @@ -define('app/views/application', [ - 'app/views/stats', - 'app/views/filters', - 'app/views/clear_button', - 'ember' - ], - /** - * Main application view - * - * @param Class StatsView, stats view class - * @param Class FiltersView, filters view class - * @param Class ClearBtnView, clear button view class - * @returns Class - */ - function( StatsView, FiltersView, ClearBtnView ) { - return Ember.ContainerView.extend({ - childViews: [ 'headerView', 'mainView', 'footerView' ], - headerView: Ember.ContainerView.create({ - childViews: [ 'titleView', 'createTodoView' ], - elementId: 'header', - tagName: 'header', - titleView: Ember.View.create({ - tagName: 'h1', - template: function() { - return 'todos'; - } - }), - createTodoView: Ember.TextField.create({ - entriesBinding: 'controller.namespace.entriesController', - placeholder: 'What needs to be done?', - elementId: 'new-todo', - insertNewline: function() { - var value = this.get( 'value' ); - if ( value ) { - this.get( 'entries' ).createNew( value ); - this.set( 'value', '' ); - } - } - }), - }), - mainView: Em.ContainerView.create({ - elementId: 'main', - tagName: 'section', - visibilityBinding: 'controller.namespace.entriesController.noneLeft', - classNameBindings: [ 'visibility:hidden' ], - childViews: [ 'outletView', 'markAllChkbox' ], - outletView: Ember.View.create({ - template: Ember.Handlebars.compile( '{{outlet}}' ), - }), - markAllChkbox: Ember.Checkbox.create({ - entriesBinding: 'controller.namespace.entriesController', - elementId: 'toggle-all', - checkedBinding: 'entries.allAreDone' - }) - }), - footerView: Ember.ContainerView.create({ - elementId: 'footer', - tagName: 'footer', - visibilityBinding: 'controller.namespace.entriesController.noneLeft', - classNameBindings: [ 'visibility:hidden' ], - childViews: [ - StatsView.create(), - FiltersView.create(), - ClearBtnView.create() - ] - }) - }) - } -); diff --git a/dependency-examples/emberjs_require/js/app/views/clear_button.js b/dependency-examples/emberjs_require/js/app/views/clear_button.js deleted file mode 100644 index 6f6aff6675..0000000000 --- a/dependency-examples/emberjs_require/js/app/views/clear_button.js +++ /dev/null @@ -1,22 +0,0 @@ -define('app/views/clear_button', [ - 'text!app/templates/clear_button.html', - 'ember' - ], - /** - * View to clear completed tasks - * - * @param String button_html, the html for view - * @returns Class - */ - function( button_html ) { - return Ember.View.extend({ - entriesBinding: 'controller.namespace.entriesController', - template: Ember.Handlebars.compile( button_html ), - classNameBindings: 'buttonClass', - buttonClass: function () { - if ( !this.getPath( 'entries.completed' ) ) - return 'hidden'; - }.property( 'entries.completed' ) - }) - } -); diff --git a/dependency-examples/emberjs_require/js/app/views/filters.js b/dependency-examples/emberjs_require/js/app/views/filters.js deleted file mode 100644 index b6435f51f4..0000000000 --- a/dependency-examples/emberjs_require/js/app/views/filters.js +++ /dev/null @@ -1,26 +0,0 @@ -define('app/views/filters', [ - 'text!app/templates/filters.html', - 'ember' - ], - /** - * View to render filter links - * - * @param String filters_html, filter links html view - * @returns Class - */ - function( filters_html ) { - return Ember.View.extend({ - template: Ember.Handlebars.compile( filters_html ), - filterBinding: 'controller.namespace.entriesController.filterBy', - isAll: function() { - return Ember.empty( this.get('filter') ); - }.property( 'filter' ), - isActive: function() { - return this.get('filter') === 'active'; - }.property('filter'), - isCompleted: function() { - return this.get('filter') === 'completed'; - }.property('filter') - }); - } -); diff --git a/dependency-examples/emberjs_require/js/app/views/items.js b/dependency-examples/emberjs_require/js/app/views/items.js deleted file mode 100644 index 6a8a0d77a4..0000000000 --- a/dependency-examples/emberjs_require/js/app/views/items.js +++ /dev/null @@ -1,50 +0,0 @@ -define('app/views/items', [ - 'text!app/templates/items.html', - 'ember' - ], - /** - * View to render todos items - * - * @param String items_html, the html view for the `Todos` items - * @returns Class - */ - function( items_html ) { - return Ember.CollectionView.extend({ - contentBinding: 'controller.entries', - tagName: 'ul', - elementId: 'todo-list', - itemViewClass: Ember.View.extend({ - template: Ember.Handlebars.compile( items_html ), - classNames: [ 'view' ], - classNameBindings: ['content.completed', 'content.editing'], - doubleClick: function() { - this.get( 'content' ).set( 'editing', true ); - }, - removeItem: function() { - this.getPath( 'controller.content' ).removeObject( this.get( 'content' ) ); - }, - ItemEditorView: Ember.TextField.extend({ - valueBinding: 'content.title', - classNames: [ 'edit' ], - change: function() { - if ( Ember.empty( this.getPath( 'content.title' ) ) ) { - this.getPath( 'controller.content' ).removeObject( this.get( 'content' ) ); - } - }, - whenDone: function() { - this.get( 'content' ).set( 'editing', false ); - }, - focusOut: function() { - this.whenDone(); - }, - didInsertElement: function() { - this.$().focus(); - }, - insertNewline: function() { - this.whenDone(); - } - }) - }) - }) - } -); diff --git a/dependency-examples/emberjs_require/js/app/views/stats.js b/dependency-examples/emberjs_require/js/app/views/stats.js deleted file mode 100644 index 6ef2ac2afd..0000000000 --- a/dependency-examples/emberjs_require/js/app/views/stats.js +++ /dev/null @@ -1,22 +0,0 @@ -define('app/views/stats', [ - 'text!app/templates/stats.html', - 'ember' - ], - /** - * View to render todos stats - * - * @param String stats_html, stats indicator view - * @returns Class - */ - function( stats_html ) { - return Ember.View.extend({ - entriesBinding: 'controller.namespace.entriesController', - elementId: 'todo-count', - tagName: 'span', - template: Ember.Handlebars.compile( stats_html ), - oneLeft: function() { - return this.getPath( 'entries.remaining' ) === 1; - }.property( 'entries.remaining' ) - }) - } -); diff --git a/dependency-examples/emberjs_require/js/lib/ember-latest.min.js b/dependency-examples/emberjs_require/js/lib/ember-latest.min.js deleted file mode 100644 index 34b12191f1..0000000000 --- a/dependency-examples/emberjs_require/js/lib/ember-latest.min.js +++ /dev/null @@ -1,18 +0,0 @@ -// ========================================================================== -// Project: Ember - JavaScript Application Framework -// Copyright: ©2011-2012 Tilde Inc. and contributors -// Portions ©2006-2011 Strobe Inc. -// Portions ©2008-2011 Apple Inc. All rights reserved. -// License: Licensed under MIT license (see license.js) -// ========================================================================== - - -// Version: v0.9.8.1-484-g73ac0a4 -// Last commit: 73ac0a4 (2012-07-06 11:52:32 -0700) - - -(function(){"undefined"==typeof Ember&&(Ember={}),"undefined"!=typeof window&&(window.Em=window.Ember=Em=Ember),Ember.isNamespace=!0,Ember.toString=function(){return"Ember"},Ember.VERSION="1.0.pre",Ember.ENV="undefined"==typeof ENV?{}:ENV,Ember.config=Ember.config||{},Ember.EXTEND_PROTOTYPES=Ember.ENV.EXTEND_PROTOTYPES!==!1,Ember.SHIM_ES5=Ember.ENV.SHIM_ES5===!1?!1:Ember.EXTEND_PROTOTYPES,Ember.CP_DEFAULT_CACHEABLE=Ember.ENV.CP_DEFAULT_CACHEABLE!==!1,Ember.VIEW_PRESERVES_CONTEXT=Ember.ENV.VIEW_PRESERVES_CONTEXT!==!1,Ember.K=function(){return this},"undefined"==typeof Ember.assert&&(Ember.assert=Ember.K),"undefined"==typeof Ember.warn&&(Ember.warn=Ember.K),"undefined"==typeof Ember.deprecate&&(Ember.deprecate=Ember.K),"undefined"==typeof Ember.deprecateFunc&&(Ember.deprecateFunc=function(a,b){return b}),"undefined"==typeof ember_assert&&(window.ember_assert=Ember.K),"undefined"==typeof ember_warn&&(window.ember_warn=Ember.K),"undefined"==typeof ember_deprecate&&(window.ember_deprecate=Ember.K),"undefined"==typeof ember_deprecateFunc&&(window.ember_deprecateFunc=function(a,b){return b}),Ember.Logger=window.console||{log:Ember.K,warn:Ember.K,error:Ember.K}})(),function(){var a=function(a){return a&&Function.prototype.toString.call(a).indexOf("[native code]")>-1},b=a(Array.prototype.map)?Array.prototype.map:function(a){if(this===void 0||this===null)throw new TypeError;var b=Object(this),c=b.length>>>0;if(typeof a!="function")throw new TypeError;var d=new Array(c),e=arguments[1];for(var f=0;f>>0;if(typeof a!="function")throw new TypeError;var d=arguments[1];for(var e=0;e-1&&f.splice(g,1)},isEmpty:function(){return this.list.length===0},forEach:function(a,b){var c=this.list.slice();for(var d=0,e=c.length;d0?(e=b.slice(b.lastIndexOf(".")+1),b=b.slice(0,b.length-(e.length+1)),b!=="this"&&(a=Ember.getPath(a,b))):e=b;if(!e||e.length===0)throw new Error("You passed an empty path");if(!a){if(d)return;throw new Error("Object in path "+b+" could not be found or was destroyed.")}return Ember.set(a,e,c)},Ember.trySetPath=function(a,b,c){return Ember.setPath(a,b,c,!0)},Ember.isGlobalPath=function(a){return i.test(a)}}(),function(){function m(a,b,c){var d=c[b];return d===undefined&&a.unknownProperty&&(d=a.unknownProperty(b)),d}function n(a,b){return m(a,b,a)}function p(a,b){return m(a,b,d(a,!1).values||o)}function s(a,b,c){var e=d(a),f=e.values,g=c!==f[b];return g&&(Ember.propertyWillChange(a,b),r(a,b,c,e.values),Ember.propertyDidChange(a,b)),c}function t(a){return function(){return p(this,a)}}function u(a){return function(b){return s(this,a,b)}}function v(a,b){return b==="toString"?"function"!=typeof a.toString:!!a[b]}var a=Ember.USE_ACCESSORS,b=Ember.GUID_KEY,c=Ember.META_KEY,d=Ember.meta,e=Ember.platform.defineProperty,f,g,h=Ember.Descriptor=function(){},i=h.setup=function(a,b,c){e(a,b,{writable:!0,configurable:!0,enumerable:!0,value:c})},j=Ember.Descriptor.prototype;j.set=function(a,b,c){return a[b]=c,c},j.get=function(a,b){return n(a,b,a)},j.setup=i,j.teardown=function(a,b){return a[b]},j.val=function(a,b){return a[b]};var k=Ember.Descriptor.MUST_USE_SETTER=function(){this instanceof Ember.Object&&!this.isDestroyed},l={configurable:!0,enumerable:!0,set:k},o={},q=Ember.platform.hasPropertyAccessors,r;r=function(a,b,c,d){d[b]=c},q||(r=function(a,b,c,d){a[b]=c,d[b]=c}),g=new Ember.Descriptor,g.get=p,g.set=s,g.setup=function(a,b,c){e(a,b,{configurable:!0,enumerable:!0,set:k,get:t(b)}),d(a).values[b]=c},g.teardown=function(a,b){var c=d(a).values[b];return delete d(a).values[b],c},Ember.SIMPLE_PROPERTY=new Ember.Descriptor,f=Ember.SIMPLE_PROPERTY,f.unwatched=g.unwatched=f,f.watched=g.watched=g,Ember.defineProperty=function(a,b,c,g){var h=d(a,!1),i=h.descs,j=h.watching[b]>0,k=!0;return g===undefined?(k=!1,g=v(i,b)?i[b].teardown(a,b):a[b]):v(i,b)&&i[b].teardown(a,b),c||(c=f),c instanceof Ember.Descriptor?(h=d(a,!0),i=h.descs,c=(j?c.watched:c.unwatched)||c,i[b]=c,c.setup(a,b,g,j)):(i[b]&&(d(a).descs[b]=null),e(a,b,c)),k&&j&&Ember.overrideChains(a,b,h),this}}(),function(){function i(a,b){var d=c(a),e=d.deps,f;return e?e.__emberproto__!==a&&(e=d.deps=g(e),e.__emberproto__=a):e=d.deps={__emberproto__:a},f=e[b],f?f.__emberproto__!==a&&(f=e[b]=g(f),f.__emberproto__=a):f=e[b]={__emberproto__:a},f}function j(a,b,c){var d=i(a,c);d[b]=(d[b]||0)+1,Ember.watch(a,c)}function k(a,b,c){var d=i(a,c);d[b]=(d[b]||0)-1,Ember.unwatch(a,c)}function l(a,b,c){var d=a._dependentKeys,e=d?d.length:0;for(var f=0;f0,i=b._suspended,j;return b._suspended=this,h&&Ember.propertyWillChange(this,a),d&&delete g.cache[a],j=e.call(this,a,f),d&&(g.cache[a]=j),h&&Ember.propertyDidChange(this,a),b._suspended=i,j}}var a=Ember.get,b=Ember.getPath,c=Ember.meta,d=Ember.guidFor,e=Ember.USE_ACCESSORS,f=[].slice,g=Ember.create,h=Ember.platform.defineProperty;Ember.ComputedProperty=m,m.prototype=new Ember.Descriptor;var n={configurable:!0,enumerable:!0,get:function(){return undefined},set:Ember.Descriptor.MUST_USE_SETTER},q=m.prototype;q.cacheable=function(a){return this._cacheable=a!==!1,this},q.volatile=function(){return this.cacheable(!1)},q.property=function(){return this._dependentKeys=f.call(arguments),this},q.meta=function(a){return this._meta=a,this},q.setup=function(a,b,c){n.get=o(b,this),n.set=p(b,this),h(a,b,n),n.get=n.set=null,l(this,a,b)},q.teardown=function(a,b){var d=this._dependentKeys,e=d?d.length:0;for(var f=0;f0,h=this._suspended,i;return this._suspended=a,g&&Ember.propertyWillChange(a,b),e&&delete f.cache[b],i=this.func.call(a,b,d),e&&(f.cache[b]=i),g&&Ember.propertyDidChange(a,b),this._suspended=h,i},q.val=function(a,b){return c(a,!1).values[b]},Ember.platform.hasPropertyAccessors?e||(q.setup=function(a,b){h(a,b,n),l(this,a,b)}):q.setup=function(a,b,c){a[b]=undefined,l(this,a,b)},Ember.computed=function(a){var b;arguments.length>1&&(b=f.call(arguments,0,-1),a=f.call(arguments,-1)[0]);var c=new m(a);return b&&c.property.apply(c,b),c},Ember.cacheFor=function(a,b){var d=c(a,!1).cache;if(d&&b in d)return d[b]},Ember.computed.not=function(a){return Ember.computed(a,function(c){return!b(this,a)}).cacheable()},Ember.computed.empty=function(c){return Ember.computed(c,function(d){var e=b(this,c);return e===undefined||e===null||e===""||Ember.isArray(e)&&a(e,"length")===0}).cacheable()},Ember.computed.bool=function(a){return Ember.computed(a,function(c){return!!b(this,a)}).cacheable()}}(),function(){function j(a,b,c){d&&!c?h.push(a,b):Ember.sendEvent(a,b)}function k(){i.clear(),h.flush()}function l(b){return b+a}function m(a){return a+b}function n(a){return a.slice(0,-7)}function o(a){return a.slice(0,-7)}function p(a){return function(b,c,d){var e=d[0],f=n(d[1]),g,h=a.slice();c.length>2&&(g=Ember.getPath(Ember.isGlobalPath(f)?window:e,f)),h.unshift(e,f,g),c.apply(b,h)}}function r(a,b,c){var d=c[0],e=o(c[1]),f;b.length>2&&(f=Ember.getPath(d,e)),b.call(a,d,e,f)}var a=":change",b=":before",c=Ember.guidFor,d=0,e=[].slice,f=function(){this.targetSet={}};f.prototype.add=function(a,b){var c=this.targetSet,d=Ember.guidFor(a),e=c[d];return e||(c[d]=e={}),e[b]?!1:e[b]=!0},f.prototype.clear=function(){this.targetSet={}};var g=function(){this.targetSet={},this.queue=[]};g.prototype.push=function(a,b){var c=this.targetSet,d=this.queue,e=Ember.guidFor(a),f=c[e],g;f||(c[e]=f={}),g=f[b],g===undefined?f[b]=d.push(Ember.deferEvent(a,b))-1:d[g]=Ember.deferEvent(a,b)},g.prototype.flush=function(){var a=this.queue;this.queue=[],this.targetSet={};for(var b=0,c=a.length;b4){var g=e.call(arguments,4);f=p(g)}else f=q;return Ember.addListener(a,l(b),c,d,f),Ember.watch(a,b),this},Ember.observersFor=function(a,b){return Ember.listenersFor(a,l(b))},Ember.removeObserver=function(a,b,c,d){return Ember.unwatch(a,b),Ember.removeListener(a,l(b),c,d),this},Ember.addBeforeObserver=function(a,b,c,d){return Ember.addListener(a,m(b),c,d,r),Ember.watch(a,b),this},Ember._suspendBeforeObserver=function(a,b,c,d,e){return Ember._suspendListener(a,m(b),c,d,e)},Ember._suspendObserver=function(a,b,c,d,e){return Ember._suspendListener(a,l(b),c,d,e)},Ember.beforeObserversFor=function(a,b){return Ember.listenersFor(a,m(b))},Ember.removeBeforeObserver=function(a,b,c,d){return Ember.unwatch(a,b),Ember.removeListener(a,m(b),c,d),this},Ember.notifyObservers=function(a,b){if(a.isDestroying)return;j(a,l(b))},Ember.notifyBeforeObservers=function(a,b){if(a.isDestroying)return;var c,e,f=!1;if(d){if(!i.add(a,b))return;f=!0}j(a,m(b),f)}}(),function(){function m(a){return a.match(k)[0]}function n(a){return a==="*"||!l.test(a)}function p(b,c,d,e,f){var g=a(c);e[g]||(e[g]={});if(e[g][d])return;e[g][d]=!0;var h=f.deps;h=h&&h[d];if(h)for(var i in h){if(o[i])continue;b(c,i)}}function s(a,b,c){if(a.isDestroying)return;var d=q,e=!d;e&&(d=q={}),p(G,a,b,d,c),e&&(q=null)}function t(a,b,c){if(a.isDestroying)return;var d=r,e=!d;e&&(d=r={}),p(H,a,b,d,c),e&&(r=null)}function u(c,d,e){if(!c||"object"!=typeof c)return;var f=b(c),g=f.chainWatchers;if(!g||g.__emberproto__!==c)g=f.chainWatchers={__emberproto__:c};g[d]||(g[d]={}),g[d][a(e)]=e,Ember.watch(c,d)}function v(c,d,e){if(!c||"object"!=typeof c)return;var f=b(c,!1),g=f.chainWatchers;if(!g||g.__emberproto__!==c)return;g[d]&&delete g[d][a(e)],Ember.unwatch(c,d)}function x(){if(w.length===0)return;var a=w;w=[],j.call(a,function(a){a[0].add(a[1])})}function y(a){return b(a,!1).proto===a}function B(a){var c=b(a),d=c.chains;return d?d.value()!==a&&(d=c.chains=d.copy(a)):d=c.chains=new z(null,null,a),d}function C(a,b,c,d,e){var f=b.chainWatchers;if(!f||f.__emberproto__!==a)return;f=f[c];if(!f)return;for(var g in f){if(!f.hasOwnProperty(g))continue;f[g][d](e)}}function D(a,b,c){C(a,c,b,"willChange")}function E(a,b,c){C(a,c,b,"didChange")}function G(a,c,d){var e=b(a,!1),f=e.watching[c]>0||c==="length",g=e.proto,h=e.descs[c];if(!f)return;if(g===a)return;h&&h.willChange&&h.willChange(a,c),s(a,c,e),D(a,c,e),Ember.notifyBeforeObservers(a,c)}function H(a,c){var d=b(a,!1),e=d.watching[c]>0||c==="length",f=d.proto,g=d.descs[c];if(f===a)return;g&&g.didChange&&g.didChange(a,c);if(!e&&c!=="length")return;t(a,c,d),E(a,c,d),Ember.notifyObservers(a,c)}var a=Ember.guidFor,b=Ember.meta,c=Ember.get,d=Ember.set,e=Ember.normalizeTuple.primitive,f=Ember.SIMPLE_PROPERTY,g=Ember.GUID_KEY,h=Ember.META_KEY,i=Ember.notifyObservers,j=Ember.ArrayPolyfills.forEach,k=/^([^\.\*]+)/,l=/[\.\*]/,o={__emberproto__:!0},q,r,w=[],z=function(a,b,c,d){var e;this._parent=a,this._key=b,this._watching=c===undefined,this._value=c,this._separator=d||".",this._paths={},this._watching&&(this._object=a.value(),this._object&&u(this._object,this._key,this)),this._parent&&this._parent._key==="@each"&&this.value()},A=z.prototype;A.value=function(){if(this._value===undefined&&this._watching){var a=this._parent.value();this._value=a&&!y(a)?c(a,this._key):undefined}return this._value},A.destroy=function(){if(this._watching){var a=this._object;a&&v(a,this._key,this),this._watching=!1}},A.copy=function(a){var b=new z(null,null,a,this._separator),c=this._paths,d;for(d in c){if(c[d]<=0)continue;b.add(d)}return b},A.add=function(a){var b,c,d,f,g,h;h=this._paths,h[a]=(h[a]||0)+1,b=this.value(),c=e(b,a);if(c[0]&&c[0]===b)a=c[1],d=m(a),a=a.slice(d.length+1);else{if(!c[0]){w.push([this,a]),c.length=0;return}f=c[0],d=a.slice(0,0-(c[1].length+1)),g=a.slice(d.length,d.length+1),a=c[1]}c.length=0,this.chain(d,a,f,g)},A.remove=function(a){var b,c,d,f,g;g=this._paths,g[a]>0&&g[a]--,b=this.value(),c=e(b,a),c[0]===b?(a=c[1],d=m(a),a=a.slice(d.length+1)):(f=c[0],d=a.slice(0,0-(c[1].length+1)),a=c[1]),c.length=0,this.unchain(d,a)},A.count=0,A.chain=function(a,b,c,d){var e=this._chains,f;e||(e=this._chains={}),f=e[a],f||(f=e[a]=new z(this,a,c,d)),f.count++,b&&b.length>0&&(a=m(b),b=b.slice(a.length+1),f.chain(a,b))},A.unchain=function(a,b){var c=this._chains,d=c[a];b&&b.length>1&&(a=m(b),b=b.slice(a.length+1),d.unchain(a,b)),d.count--,d.count<=0&&(delete c[d._key],d.destroy())},A.willChange=function(){var a=this._chains;if(a)for(var b in a){if(!a.hasOwnProperty(b))continue;a[b].willChange()}this._parent&&this._parent.chainWillChange(this,this._key,1)},A.chainWillChange=function(a,b,c){this._key&&(b=this._key+this._separator+b),this._parent?this._parent.chainWillChange(this,b,c+1):(c>1&&Ember.propertyWillChange(this.value(),b),b="this."+b,this._paths[b]>0&&Ember.propertyWillChange(this.value(),b))},A.chainDidChange=function(a,b,c){this._key&&(b=this._key+this._separator+b),this._parent?this._parent.chainDidChange(this,b,c+1):(c>1&&Ember.propertyDidChange(this.value(),b),b="this."+b,this._paths[b]>0&&Ember.propertyDidChange(this.value(),b))},A.didChange=function(a){if(this._watching){var b=this._parent.value();b!==this._object&&(v(this._object,this._key,this),this._object=b,u(b,this._key,this)),this._value=undefined,this._parent&&this._parent._key==="@each"&&this.value()}var c=this._chains;if(c)for(var d in c){if(!c.hasOwnProperty(d))continue;c[d].didChange(a)}if(a)return;this._parent&&this._parent.chainDidChange(this,this._key,1)},Ember.overrideChains=function(a,b,c){C(a,c,b,"didChange",!0)};var F=Ember.SIMPLE_PROPERTY.watched;Ember.watch=function(a,c){if(c==="length"&&Ember.typeOf(a)==="array")return this;var d=b(a),e=d.watching,f;return e[c]?e[c]=(e[c]||0)+1:(e[c]=1,n(c)?("function"==typeof a.willWatchProperty&&a.willWatchProperty(c),f=d.descs[c],f=f?f.watched:F,f&&Ember.defineProperty(a,c,f)):B(a).add(c)),this},Ember.isWatching=function(a,c){return!!b(a).watching[c]},Ember.watch.flushPending=x,Ember.unwatch=function(a,c){if(c==="length"&&Ember.typeOf(a)==="array")return this;var d=b(a).watching,e,g;return d[c]===1?(d[c]=0,n(c)?(e=b(a).descs[c],e=e?e.unwatched:f,e&&Ember.defineProperty(a,c,e),"function"==typeof a.didUnwatchProperty&&a.didUnwatchProperty(c)):B(a).remove(c)):d[c]>1&&d[c]--,this},Ember.rewatch=function(a){var c=b(a,!1),d=c.chains,e=c.bindings,f,h;return g in a&&!a.hasOwnProperty(g)&&Ember.generateGuid(a,"ember"),d&&d.value()!==a&&B(a),this},Ember.propertyWillChange=G,Ember.propertyDidChange=H;var I=[];Ember.destroy=function(a){var b=a[h],c,d,e,f;if(b){a[h]=null,c=b.chains;if(c){I.push(c);while(I.length>0){c=I.pop(),d=c._chains;if(d)for(e in d)d.hasOwnProperty(e)&&I.push(d[e]);c._watching&&(f=c._object,f&&v(f,c._key,c))}}}}}(),function(){function f(a,b,e,f){return c(a,["listeners",b,d(e)],f)}function g(a,c){var d=b(a,!1).listeners;return d?d[c]||!1:!1}function i(a,b,c){if(!a)return!1;for(var d in a){if(h[d])continue;var e=a[d];if(e)for(var f in e){if(h[f])continue;var g=e[f];if(g&&b(g,c)===!0)return!0}}return!1}function j(a,b){var c=a.method,d=a.target,e=a.xform;d||(d=b[0]),"string"==typeof c&&(c=d[c]),e?e(d,c,b):c.apply(d,b)}function k(a,b,c,e,g){!e&&"function"==typeof c&&(e=c,c=null);var h=f(a,b,c,!0),i=d(e);h[i]?h[i].xform=g:h[i]={target:c,method:e,xform:g},"function"==typeof a.didAddListener&&a.didAddListener(b,c,e)}function l(a,b,c,e){!e&&"function"==typeof c&&(e=c,c=null);var g=f(a,b,c,!0),h=d(e);g&&g[h]&&(g[h]=null),a&&"function"==typeof a.didRemoveListener&&a.didRemoveListener(b,c,e)}function m(a,b,c,e,g){!e&&"function"==typeof c&&(e=c,c=null);var h=f(a,b,c,!0),i=d(e),j=h&&h[i];h[i]=null;try{return g.call(c)}finally{h[i]=j}}function n(a){var c=b(a,!1).listeners,d=[];if(c)for(var e in c)!h[e]&&c[e]&&d.push(e);return d}function o(a,b){return a!==Ember&&"function"==typeof a.sendEvent&&a.sendEvent.apply(a,e.call(arguments,1)),i(g(a,b),j,arguments),!0}function p(a,b){var c=g(a,b),d=[],f=arguments;return i(c,function(a){d.push(a)}),function(){if(a.isDestroyed)return;a!==Ember&&"function"==typeof a.sendEvent&&a.sendEvent.apply(a,e.call(f,1));for(var b=0,c=d.length;b0&&(d=d.length>e?a.call(d,e):null);if("function"!=typeof Ember.onerror)return c.apply(b||this,d||[]);try{return c.apply(b||this,d||[])}catch(f){Ember.onerror(f)}}function h(){g=null,f.currentRunLoop&&f.end()}function k(){j=null;var a=+(new Date),b=-1;for(var d in i){if(!i.hasOwnProperty(d))continue;var e=i[d];if(e&&e.expires)if(a>=e.expires)delete i[d],c(e.target,e.method,e.args,2);else if(b<0||e.expires0&&(j=setTimeout(k,b- +(new Date)))}function l(a,b){b[this.tguid]&&delete b[this.tguid][this.mguid],i[a]&&c(this.target,this.method,this.args,2),delete i[a]}function n(){m=null;for(var a in i){if(!i.hasOwnProperty(a))continue;var b=i[a];b.next&&(delete i[a],c(b.target,b.method,b.args,2))}}var a=[].slice,b=Ember.ArrayPolyfills.forEach,d,e=function(a){this._prev=a||null,this.onceTimers={}};e.prototype={end:function(){this.flush()},prev:function(){return this._prev},schedule:function(b,c,d){var e=this._queues,f;e||(e=this._queues={}),f=e[b],f||(f=e[b]=[]);var g=arguments.length>3?a.call(arguments,3):null;return f.push({target:c,method:d,args:g}),this},flush:function(a){function j(a){c(a.target,a.method,a.args)}var e,f,g,h,i;if(!this._queues)return this;Ember.watch.flushPending();if(a)while(this._queues&&(h=this._queues[a])){this._queues[a]=null;if(a==="sync"){i=Ember.LOG_BINDINGS,i&&Ember.Logger.log("Begin: Flush Sync Queue"),Ember.beginPropertyChanges();try{b.call(h,j)}finally{Ember.endPropertyChanges()}i&&Ember.Logger.log("End: Flush Sync Queue")}else b.call(h,j)}else{e=Ember.run.queues,g=e.length,f=0;a:while(f("+this._from+" -> "+this._to+")"+a},connect:function(a){var b=!this._oneWay;return Ember.addObserver(a,this._from,this,this.fromDidChange),b&&Ember.addObserver(a,this._to,this,this.toDidChange),Ember.meta(a,!1).proto!==a&&this._scheduleSync(a,"fwd"),this._readyToSync=!0,this},disconnect:function(a){var b=!this._oneWay;return Ember.removeObserver(a,this._from,this,this.fromDidChange),b&&Ember.removeObserver(a,this._to,this,this.toDidChange),this._readyToSync=!1,this},fromDidChange:function(a){this._scheduleSync(a,"fwd")},toDidChange:function(a){this._scheduleSync(a,"back")},_scheduleSync:function(a,b){var c=this._directionMap,d=c.get(a);d||(Ember.run.schedule("sync",this,this._sync,a),c.set(a,b)),d==="back"&&b==="fwd"&&c.set(a,"fwd")},_sync:function(a){var c=Ember.LOG_BINDINGS;if(a.isDestroyed||!this._readyToSync)return;var d=this._directionMap,e=d.get(a),g=this._from,h=this._to;d.remove(a);if(e==="fwd"){var i=f(a,this._from);c&&Ember.Logger.log(" ",this.toString(),"->",i,a),this._oneWay?Ember.trySetPath(Ember.isGlobalPath(h)?window:a,h,i):Ember._suspendObserver(a,h,this,this.toDidChange,function(){Ember.trySetPath(Ember.isGlobalPath(h)?window:a,h,i)})}else if(e==="back"){var j=b(a,this._to);c&&Ember.Logger.log(" ",this.toString(),"<-",j,a),Ember._suspendObserver(a,g,this,this.fromDidChange,function(){Ember.trySetPath(Ember.isGlobalPath(g)?window:a,g,j)})}}},h(g,{from:function(){var a=this,b=new a;return b.from.apply(b,arguments)},to:function(){var a=this,b=new a;return b.to.apply(b,arguments)},oneWay:function(a,b){var c=this,d=new c(null,a);return d.oneWay(b)}}),Ember.Binding=g,Ember.bind=function(a,b,c){return(new Ember.Binding(b,c)).connect(a)},Ember.oneWay=function(a,b,c){return(new Ember.Binding(b,c)).oneWay().connect(a)}}(),function(){function n(a,b){var c=Ember.meta(a,b!==!1),d=c.mixins;return b===!1?d||j:(d?d.__emberproto__!==a&&(d=c.mixins=l(d),d.__emberproto__=a):d=c.mixins={__emberproto__:a},d)}function o(b,c){return c&&c.length>0&&(b.mixins=f.call(c,function(b){if(b instanceof a)return b;var c=new a;return c.properties=b,c})),b}function q(a){return"function"!=typeof a||a.isMethod===!1?!1:g.call(p,a)<0}function r(c,d,e,f,i){function v(a){delete e[a],delete f[a]}var j=c.length,k,l,n,o,p,s,t,u;for(k=0;k=0||s==="concatenatedProperties"){var y=f[s]||i[s];p=y?y.concat(p):Ember.makeArray(p)}e[s]=Ember.SIMPLE_PROPERTY,f[s]=p}}o.hasOwnProperty("toString")&&(i.toString=o.toString)}else l.mixins&&(r(l.mixins,d,e,f,i),l._without&&h.call(l._without,v))}}function s(a){var b=Ember.meta(a),c=b.required;if(!c||c.__emberproto__!==a)c=b.required=c?l(c):{__ember_count__:0},c.__emberproto__=a;return c}function t(a){return"function"==typeof a&&a.__ember_observes__}function u(a){return"function"==typeof a&&a.__ember_observesBefore__}function w(a,b,c){if(v.test(b)){var d=c.bindings;d?d.__emberproto__!==a&&(d=c.bindings=l(c.bindings),d.__emberproto__=a):d=c.bindings={__emberproto__:a},d[b]=!0}}function x(a,b){var c=(b||Ember.meta(a)).bindings,d,e;if(c)for(d in c)e=d!=="__emberproto__"&&a[d],e&&(e instanceof Ember.Binding?(e=e.copy(),e.to(d.slice(0,-7))):e=new Ember.Binding(d.slice(0,-7),e),e.connect(a),a[d]=e)}function y(a,d,e){var f= -{},g={},h=Ember.meta(a),i=h.required,j,l,m,o,p;r(d,n(a),f,g,a),Ember.MixinDelegate.detect(a)&&(l=g.willApplyProperty||a.willApplyProperty,m=g.didApplyProperty||a.didApplyProperty);for(j in f){if(!f.hasOwnProperty(j))continue;p=f[j],o=g[j];if(p===b)j in a||(i=s(a),i.__ember_count__++,i[j]=!0);else{while(p instanceof c){var q=p.methodName;f[q]?(o=g[q],p=f[q]):h.descs[q]?(p=h.descs[q],o=p.val(a,q)):(o=a[q],p=Ember.SIMPLE_PROPERTY)}l&&l.call(a,j);var v=t(o),y=v&&t(a[j]),z=u(o),A=z&&u(a[j]),B,C;if(y){B=y.length;for(C=0;C0){var D=[];for(j in i){if(k[j])continue;D.push(j)}}return a}function B(a,b,c){var d=m(a);if(c[d])return!1;c[d]=!0;if(a===b)return!0;var e=a.mixins,f=e?e.length:0;while(--f>=0)if(B(e[f],b,c))return!0;return!1}function C(a,b,c){if(c[m(b)])return;c[m(b)]=!0;if(b.properties){var d=b.properties;for(var e in d)d.hasOwnProperty(e)&&(a[e]=!0)}else b.mixins&&h.call(b.mixins,function(b){C(a,b,c)})}function F(a,b,c){var e=a.length;for(var f in b){if(!b.hasOwnProperty||!b.hasOwnProperty(f))continue;var g=b[f];a[e]=f;if(g&&g.toString===d)g[D]=a.join(".");else if(g&&E(g,"isNamespace")){if(c[m(g)])continue;c[m(g)]=!0,F(a,g,c)}}a.length=e}function G(){var a=Ember.Namespace,b,c;if(a.PROCESSED)return;for(var d in window){if(d==="globalStorage"&&window.StorageList&&window.globalStorage instanceof window.StorageList)continue;if(window.hasOwnProperty&&!window.hasOwnProperty(d))continue;try{b=window[d],c=b&&E(b,"isNamespace")}catch(e){continue}c&&(b[D]=d)}}var a,b,c,d,e,f=Ember.ArrayPolyfills.map,g=Ember.ArrayPolyfills.indexOf,h=Ember.ArrayPolyfills.forEach,i=[].slice,j={},k={__emberproto__:!0,__ember_count__:!0},l=Ember.create,m=Ember.guidFor,p=[Boolean,Object,Number,Array,Date,String],v=Ember.IS_BINDING=/^.+Binding$/;Ember.mixin=function(a){var b=i.call(arguments,1);return y(a,b,!1)},Ember.Mixin=function(){return o(this,arguments)},a=Ember.Mixin,a._apply=y,a.applyPartial=function(a){var b=i.call(arguments,1);return y(a,b,!0)},a.finishPartial=function(a){return x(a),a},a.create=function(){d.processed=!1;var a=this;return o(new a,arguments)};var z=a.prototype;z.reopen=function(){var b,c;this.properties?(b=a.create(),b.properties=this.properties,delete this.properties,this.mixins=[b]):this.mixins||(this.mixins=[]);var d=arguments.length,e=this.mixins,f;for(f=0;f=0)return f[h];if(Ember.typeOf(b)==="array"){g=b.slice();if(c){h=g.length;while(--h>=0)g[h]=e(g[h],c,d,f)}}else if(Ember.Copyable&&Ember.Copyable.detect(b))g=b.copy(c,d,f);else{g={};for(i in b){if(!b.hasOwnProperty(i))continue;g[i]=c?e(b[i],c,d,f):b[i]}}return c&&(d.push(b),f.push(g)),g}var a=Ember.EnumerableUtils.indexOf,b={},c="Boolean Number String Function Array Date RegExp Object".split(" ");Ember.ArrayPolyfills.forEach.call(c,function(a){b["[object "+a+"]"]=a.toLowerCase()});var d=Object.prototype.toString;Ember.typeOf=function(a){var c;return c=a===null||a===undefined?String(a):b[d.call(a)]||"object",c==="function"?Ember.Object&&Ember.Object.detect(a)&&(c="class"):c==="object"&&(a instanceof Error?c="error":Ember.Object&&a instanceof Ember.Object?c="instance":c="object"),c},Ember.none=function(a){return a===null||a===undefined},Ember.empty=function(a){return a===null||a===undefined||a.length===0&&typeof a!="function"},Ember.compare=function f(a,b){if(a===b)return 0;var c=Ember.typeOf(a),d=Ember.typeOf(b),e=Ember.Comparable;if(e){if(c==="instance"&&e.detect(a.constructor))return a.constructor.compare(a,b);if(d==="instance"&&e.detect(b.constructor))return 1-b.constructor.compare(b,a)}var g=Ember.ORDER_DEFINITION_MAPPING;if(!g){var h=Ember.ORDER_DEFINITION;g=Ember.ORDER_DEFINITION_MAPPING={};var i,j;for(i=0,j=h.length;il)return 1;switch(c){case"boolean":case"number":if(ab)return 1;return 0;case"string":var m=a.localeCompare(b);if(m<0)return-1;if(m>0)return 1;return 0;case"array":var n=a.length,o=b.length,p=Math.min(n,o),q=0,r=0;while(q===0&&ro)return 1;return 0;case"instance":if(Ember.Comparable&&Ember.Comparable.detect(a))return a.compare(a,b);return 0;default:return 0}},Ember.copy=function(a,b){return"object"!=typeof a||a===null?a:Ember.Copyable&&Ember.Copyable.detect(a)?a.copy(b):e(a,b,b?[]:null,b?[]:null)},Ember.inspect=function(a){var b,c=[];for(var d in a)if(a.hasOwnProperty(d)){b=a[d];if(b==="toString")continue;Ember.typeOf(b)==="function"&&(b="function() { ... }"),c.push(d+": "+b)}return"{"+c.join(" , ")+"}"},Ember.isEqual=function(a,b){return a&&"function"==typeof a.isEqual?a.isEqual(b):a===b},Ember.ORDER_DEFINITION=Ember.ENV.ORDER_DEFINITION||["undefined","null","boolean","number","string","array","object","instance","function","class"],Ember.keys=Object.keys,Ember.keys||(Ember.keys=function(a){var b=[];for(var c in a)a.hasOwnProperty(c)&&b.push(c);return b}),Ember.Error=function(){var a=Error.prototype.constructor.apply(this,arguments);for(var b in a)a.hasOwnProperty(b)&&(this[b]=a[b]);this.message=a.message},Ember.Error.prototype=Ember.create(Error.prototype)}(),function(){var a=/[ _]/g,b={},c=/([a-z])([A-Z])/g,d=/(\-|_|\s)+(.)?/g,e=/([a-z\d])([A-Z]+)/g,f=/\-|\s+/g;Ember.STRINGS={},Ember.String={fmt:function(a,b){var c=0;return a.replace(/%@([0-9]+)?/g,function(a,d){return d=d?parseInt(d,0)-1:c++,a=b[d],(a===null?"(null)":a===undefined?"":a).toString()})},loc:function(a,b){return a=Ember.STRINGS[a]||a,Ember.String.fmt(a,b)},w:function(a){return a.split(/\s+/)},decamelize:function(a){return a.replace(c,"$1_$2").toLowerCase()},dasherize:function(c){var d=b,e=d[c];return e?e:(e=Ember.String.decamelize(c).replace(a,"-"),d[c]=e,e)},camelize:function(a){return a.replace(d,function(a,b,c){return c?c.toUpperCase():""})},classify:function(a){var b=Ember.String.camelize(a);return b.charAt(0).toUpperCase()+b.substr(1)},underscore:function(a){return a.replace(e,"$1_$2").replace(f,"_").toLowerCase()}}}(),function(){var a=Ember.String.fmt,b=Ember.String.w,c=Ember.String.loc,d=Ember.String.camelize,e=Ember.String.decamelize,f=Ember.String.dasherize,g=Ember.String.underscore;Ember.EXTEND_PROTOTYPES&&(String.prototype.fmt=function(){return a(this,arguments)},String.prototype.w=function(){return b(this)},String.prototype.loc=function(){return c(this,arguments)},String.prototype.camelize=function(){return d(this)},String.prototype.decamelize=function(){return e(this)},String.prototype.dasherize=function(){return f(this)},String.prototype.underscore=function(){return g(this)})}(),function(){var a=Array.prototype.slice;Ember.EXTEND_PROTOTYPES&&(Function.prototype.property=function(){var a=Ember.computed(this);return a.property.apply(a,arguments)},Function.prototype.observes=function(){return this.__ember_observes__=a.call(arguments),this},Function.prototype.observesBefore=function(){return this.__ember_observesBefore__=a.call(arguments),this})}(),function(){}(),function(){function f(){return e.length===0?{}:e.pop()}function g(a){return e.push(a),null}function h(b,c){function e(e){var f=a(e,b);return d?c===f:!!f}var d=arguments.length===2;return e}function i(a,b,c){b.call(a,c[0],c[2],c[3])}var a=Ember.get,b=Ember.set,c=Array.prototype.slice,d=Ember.EnumerableUtils.indexOf,e=[];Ember.Enumerable=Ember.Mixin.create({isEnumerable:!0,nextObject:Ember.required(Function),firstObject:Ember.computed(function(){if(a(this,"length")===0)return undefined;var b=f(),c;return c=this.nextObject(0,null,b),g(b),c}).property("[]").cacheable(),lastObject:Ember.computed(function(){var b=a(this,"length");if(b===0)return undefined;var c=f(),d=0,e,h=null;do h=e,e=this.nextObject(d++,h,c);while(e!==undefined);return g(c),h}).property("[]").cacheable(),contains:function(a){return this.find(function(b){return b===a})!==undefined},forEach:function(b,c){if(typeof b!="function")throw new TypeError;var d=a(this,"length"),e=null,h=f();c===undefined&&(c=null);for(var i=0;i1&&(b=c.call(arguments,1)),this.forEach(function(c,e){var f=c&&c[a];"function"==typeof f&&(d[e]=b?f.apply(c,b):f.call(c))},this),d},toArray:function(){var a=[];return this.forEach(function(b,c){a[c]=b}),a},compact:function(){return this.without(null)},without:function(a){if(!this.contains(a))return this;var b=[];return this.forEach(function(c){c!==a&&(b[b.length]=c)}),b},uniq:function(){var a=[];return this.forEach(function(b){d(a,b)<0&&a.push(b)}),a},"[]":Ember.computed(function(a,b){return this}).property().cacheable(),addEnumerableObserver:function(b,c){var d=c&&c.willChange||"enumerableWillChange",e=c&&c.didChange||"enumerableDidChange",f=a(this,"hasEnumerableObservers");return f||Ember.propertyWillChange(this,"hasEnumerableObservers"),Ember.addListener(this,"@enumerable:before",b,d,i),Ember.addListener(this,"@enumerable:change",b,e,i),f||Ember.propertyDidChange(this,"hasEnumerableObservers"),this},removeEnumerableObserver:function(b,c){var d=c&&c.willChange||"enumerableWillChange",e=c&&c.didChange||"enumerableDidChange",f=a(this,"hasEnumerableObservers");return f&&Ember.propertyWillChange(this,"hasEnumerableObservers"),Ember.removeListener(this,"@enumerable:before",b,d),Ember.removeListener(this,"@enumerable:change",b,e),f&&Ember.propertyDidChange(this,"hasEnumerableObservers"),this},hasEnumerableObservers:Ember.computed(function(){return Ember.hasListeners(this,"@enumerable:change")||Ember.hasListeners(this,"@enumerable:before")}).property().cacheable(),enumerableContentWillChange:function(b,c){var d,e,f;return"number"==typeof b?d=b:b?d=a(b,"length"):d=b=-1,"number"==typeof c?e=c:c?e=a(c,"length"):e=c=-1,f=e<0||d<0||e-d!==0,b===-1&&(b=null),c===-1&&(c=null),Ember.propertyWillChange(this,"[]"),f&&Ember.propertyWillChange(this,"length"),Ember.sendEvent(this,"@enumerable:before",b,c),this},enumerableContentDidChange:function(b,c){var d=this.propertyDidChange,e,f,g;return"number"==typeof b?e=b:b?e=a(b,"length"):e=b=-1,"number"==typeof c?f=c:c?f=a(c,"length"):f=c=-1,g=f<0||e<0||f-e!==0,b===-1&&(b=null),c===-1&&(c=null),Ember.sendEvent(this,"@enumerable:change",b,c),g&&Ember.propertyDidChange(this,"length"),Ember.propertyDidChange(this,"[]"),this}})}(),function(){function f(a){return a===null||a===undefined}function g(a,b,c){b.call(a,c[0],c[2],c[3],c[4])}var a=Ember.get,b=Ember.set,c=Ember.meta,d=Ember.EnumerableUtils.map,e=Ember.cacheFor;Ember.Array=Ember.Mixin.create(Ember.Enumerable,{isSCArray:!0,length:Ember.required(),objectAt:function(b){return b<0||b>=a(this,"length")?undefined:a(this,b)},objectsAt:function(a){var b=this;return d(a,function(a){return b.objectAt(a)})},nextObject:function(a){return this.objectAt(a)},"[]":Ember.computed(function(b,c){return c!==undefined&&this.replace(0,a(this,"length"),c),this}).property().cacheable(),firstObject:Ember.computed(function(){return this.objectAt(0)}).property().cacheable(),lastObject:Ember.computed(function(){return this.objectAt(a(this,"length")-1)}).property().cacheable(),contains:function(a){return this.indexOf(a)>=0},slice:function(b,c){var d=[],e=a(this,"length");f(b)&&(b=0);if(f(c)||c>e)c=e;while(b=e)c=e-1;c<0&&(c+=e);for(d=c;d>=0;d--)if(this.objectAt(d)===b)return d;return-1},addArrayObserver:function(b,c){var d=c&&c.willChange||"arrayWillChange",e=c&&c.didChange||"arrayDidChange",f=a(this,"hasArrayObservers");return f||Ember.propertyWillChange(this,"hasArrayObservers"),Ember.addListener(this,"@array:before",b,d,g),Ember.addListener(this,"@array:change",b,e,g),f||Ember.propertyDidChange(this,"hasArrayObservers"),this},removeArrayObserver:function(b,c){var d=c&&c.willChange||"arrayWillChange",e=c&&c.didChange||"arrayDidChange",f=a(this,"hasArrayObservers");return f&&Ember.propertyWillChange(this,"hasArrayObservers"),Ember.removeListener(this,"@array:before",b,d,g),Ember.removeListener(this,"@array:change",b,e,g),f&&Ember.propertyDidChange(this,"hasArrayObservers"),this},hasArrayObservers:Ember.computed(function(){return Ember.hasListeners(this,"@array:change")||Ember.hasListeners(this,"@array:before")}).property().cacheable(),arrayContentWillChange:function(b,c,d){b===undefined?(b=0,c=d=-1):(c===undefined&&(c=-1),d===undefined&&(d=-1)),Ember.isWatching(this,"@each")&&a(this,"@each"),Ember.sendEvent(this,"@array:before",b,c,d);var e,f;if(b>=0&&c>=0&&a(this,"hasEnumerableObservers")){e=[],f=b+c;for(var g=b;g=0&&d>=0&&a(this,"hasEnumerableObservers")){f=[],g=b+d;for(var h=b;hc(this,"length"))throw new Error(a);return this.replace(b,0,[d]),this},removeAt:function(d,e){var f=0;if("number"==typeof d){if(d<0||d>=c(this,"length"))throw new Error(a);e===undefined&&(e=1),this.replace(d,e,b)}return this},pushObject:function(a){return this.insertAt(c(this,"length"),a),a},pushObjects:function(a){return this.replace(c(this,"length"),0,a),this},popObject:function(){var a=c(this,"length");if(a===0)return null;var b=this.objectAt(a-1);return this.removeAt(a-1,1),b},shiftObject:function(){if(c(this,"length")===0)return null;var a=this.objectAt(0);return this.removeAt(0),a},unshiftObject:function(a){return this.insertAt(0,a),a},unshiftObjects:function(a){return this.replace(0,0,a),this},removeObject:function(a){var b=c(this,"length")||0;while(--b>=0){var d=this.objectAt(b);d===a&&this.removeAt(b)}return this},addObject:function(a){return this.contains(a)||this.pushObject(a),this}})}(),function(){var a=Ember.get,b=Ember.set;Ember.Observable=Ember.Mixin.create({isObserverable:!0,get:function(b){return a(this,b)},getProperties:function(){var b={},c=arguments;arguments.length===1&&Ember.typeOf(arguments[0])==="array"&&(c=arguments[0]);for(var d=0;d"}}),Ember.config.overridePrototypeMixin&&Ember.config.overridePrototypeMixin(k.PrototypeMixin),k.__super__=null;var l=Ember.Mixin.create({ClassMixin:Ember.required(),PrototypeMixin:Ember.required(),isClass:!0,isMethod:!1,extend:function(){var a=j(),b;a.ClassMixin=Ember.Mixin.create(this.ClassMixin),a.PrototypeMixin=Ember.Mixin.create(this.PrototypeMixin),a.ClassMixin.ownerConstructor=a,a.PrototypeMixin.ownerConstructor=a;var c=a.PrototypeMixin;return c.reopen.apply(c,arguments),a.superclass=this,a.__super__=this.prototype,b=a.prototype=e(this.prototype),b.constructor=a,Ember.generateGuid(b,"ember"),h(b).proto=b,a.ClassMixin.apply(a),a},create:function(){var a=this;return arguments.length>0&&this._initMixins(arguments),new a},reopen:function(){this.willReopen();var a=this.PrototypeMixin;return a.reopen.apply(a,arguments),this},reopenClass:function(){var a=this.ClassMixin;return a.reopen.apply(a,arguments),Ember.Mixin._apply(this,arguments,!1),this},detect:function(a){if("function"!=typeof a)return!1;while(a){if(a===this)return!0;a=a.superclass}return!1},detectInstance:function(a){return a instanceof this},metaForProperty:function(a){var b=h(this.proto(),!1).descs[a];return b._meta||{}},eachComputedProperty:function(a,b){var c=this.proto(),d=h(c).descs,e={},f;for(var g in d)f=d[g],f instanceof Ember.ComputedProperty&&a.call(b||this,g,f._meta||e)}});Ember.config.overrideClassMixin&&Ember.config.overrideClassMixin(l),k.ClassMixin=l,l.apply(k),Ember.CoreObject=k}(),function(){var a=Ember.get,b=Ember.set,c=Ember.guidFor,d=Ember.none;Ember.Set=Ember.CoreObject.extend(Ember.MutableEnumerable,Ember.Copyable,Ember.Freezable,{length:0,clear:function(){if(this.isFrozen)throw new Error(Ember.FROZEN_ERROR);var d=a(this,"length");if(d===0)return this;var e;this.enumerableContentWillChange(d,0),Ember.propertyWillChange(this,"firstObject"),Ember.propertyWillChange(this,"lastObject");for(var f=0;f=0)if(!b.contains(this[c]))return!1;return!0},add:Ember.alias("addObject"),remove:Ember.alias("removeObject"),pop:function(){if(a(this,"isFrozen"))throw new Error(Ember.FROZEN_ERROR);var b=this.length>0?this[this.length-1]:null;return this.remove(b),b},push:Ember.alias("addObject"),shift:Ember.alias("pop"),unshift:Ember.alias("push"),addEach:Ember.alias("addObjects"),removeEach:Ember.alias("removeObjects"),init:function(a){this._super(),a&&this.addObjects(a)},nextObject:function(a){return this[a]},firstObject:Ember.computed(function(){return this.length>0?this[0]:undefined}).property().cacheable(),lastObject:Ember.computed(function(){return this.length>0?this[this.length-1]:undefined}).property().cacheable(),addObject:function(e){if(a(this,"isFrozen"))throw new Error(Ember.FROZEN_ERROR);if(d(e))return this;var f=c(e),g=this[f],h=a(this,"length"),i;return g>=0&&g=0&&g=0},copy:function(){var d=this.constructor,e=new d,f=a(this,"length");b(e,"length",f);while(--f>=0)e[f]=this[f],e[c(this[f])]=f;return e},toString:function(){var a=this.length,b,c=[];for(b=0;b".fmt(c.join(","))}})}(),function(){Ember.Object=Ember.CoreObject.extend(Ember.Observable)}(),function(){var a=Ember.ArrayPolyfills.indexOf;Ember.Namespace=Ember.Object.extend({isNamespace:!0,init:function(){Ember.Namespace.NAMESPACES.push(this),Ember.Namespace.PROCESSED=!1},toString:function(){return Ember.identifyNamespaces(),this[Ember.GUID_KEY+"_name"]},destroy:function(){var b=Ember.Namespace.NAMESPACES;window[this.toString()]=undefined,b.splice(a.call(b,this),1),this._super()}}),Ember.Namespace.NAMESPACES=[Ember],Ember.Namespace.PROCESSED=!1}(),function(){Ember.Application=Ember.Namespace.extend()}(),function(){var a=Ember.get,b=Ember.set;Ember.ArrayProxy=Ember.Object.extend(Ember.MutableArray,{content:null,arrangedContent:Ember.computed("content",function(){return a(this,"content")}).cacheable(),objectAtContent:function(b){return a(this,"arrangedContent").objectAt(b)},replaceContent:function(b,c,d){a(this,"arrangedContent").replace(b,c,d)},_contentWillChange:Ember.beforeObserver(function(){var b=a(this,"content");b&&b.removeArrayObserver(this,{willChange:"contentArrayWillChange",didChange:"contentArrayDidChange"})},"content"),contentArrayWillChange:Ember.K,contentArrayDidChange:Ember.K,_contentDidChange:Ember.observer(function(){var b=a(this,"content"),c=b?a(b,"length"):0;b&&b.addArrayObserver(this,{willChange:"contentArrayWillChange",didChange:"contentArrayDidChange"})},"content"),_arrangedContentWillChange:Ember.beforeObserver(function(){var b=a(this,"arrangedContent"),c=b?a(b,"length"):0;this.arrangedContentArrayWillChange(this,0,c,undefined),b&&b.removeArrayObserver(this,{willChange:"arrangedContentArrayWillChange",didChange:"arrangedContentArrayDidChange"})},"arrangedContent"),_arrangedContentDidChange:Ember.observer(function(){var b=a(this,"arrangedContent"),c=b?a(b,"length"):0;b&&b.addArrayObserver(this,{willChange:"arrangedContentArrayWillChange",didChange:"arrangedContentArrayDidChange"}),this.arrangedContentArrayDidChange(this,0,undefined,c)},"arrangedContent"),objectAt:function(b){return a(this,"content")&&this.objectAtContent(b)},length:Ember.computed(function(){var b=a(this,"arrangedContent");return b?a(b,"length"):0}).property().cacheable(),replace:function(b,c,d){return a(this,"content")&&this.replaceContent(b,c,d),this},arrangedContentArrayWillChange:function(a,b,c,d){this.arrayContentWillChange(b,c,d)},arrangedContentArrayDidChange:function(a,b,c,d){this.arrayContentDidChange(b,c,d)},init:function(){this._super(),this._contentWillChange(),this._contentDidChange(),this._arrangedContentWillChange(),this._arrangedContentDidChange()}})}(),function(){function n(a,b){var c="content."+b,f=b+"WillChange",g=b+"DidChange";a[f]=function(){j(this,b)},a[g]=function(){k(this,b)},d(a,c,null,f),e(a,c,null,g)}function o(a,b){var c="content."+b,d=b+"WillChange",e=b+"DidChange";f(a,c,null,d),g(a,c,null,e),delete a[d],delete a[e]}function p(a,b,c){var d="content."+b,e=b+"WillChange",f=b+"DidChange";h(a,d,null,e,function(){i(a,d,null,f,function(){c.call(a)})})}function q(a,b){var c=l(a,"descs");return c[b]===m}function r(a,b){var c=l(a,"descs");c[b].teardown(a,b),delete c[b],delete a[b]}function s(a,b){if(arguments.length===1)return this.delegateGet(a);p(this,a,function(){this.delegateSet(a,b)})}var a=Ember.get,b=Ember.set,c=Ember.defineProperty,d=Ember.addBeforeObserver,e=Ember.addObserver,f=Ember.removeBeforeObserver,g=Ember.removeObserver,h=Ember._suspendBeforeObserver,i=Ember._suspendObserver,j=Ember.propertyWillChange,k=Ember.propertyDidChange,l=Ember.getMeta,m;m=Ember.computed(s).volatile(),Ember.ObjectProxy=Ember.Object.extend({content:null,_contentDidChange:Ember.observer(function(){},"content"),delegateGet:function(b){var c=a(this,"content");if(c)return a(c,b)},delegateSet:function(c,d){var e=a(this,"content");if(!e)throw new Error("Unable to delegate set without content for property: "+c);return b(e,c,d)},willWatchProperty:function(a){if(a in this)return;c(this,a,m),n(this,a)},didUnwatchProperty:function(a){q(this,a)&&(o(this,a),r(this,a))},unknownProperty:function(a){return this.delegateGet(a)},setUnknownProperty:function(a,b){this.delegateSet(a,b)}})}(),function(){function g(a,b,d,e,f){var g=d._objects,h;g||(g=d._objects={});while(--f>=e){var i=a.objectAt(f);i&&(Ember.addBeforeObserver(i,b,d,"contentKeyWillChange"),Ember.addObserver(i,b,d,"contentKeyDidChange"),h=c(i),g[h]||(g[h]=[]),g[h].push(f))}}function h(a,b,d,e,f){var g=d._objects;g||(g=d._objects={});var h,i;while(--f>=e){var j=a.objectAt(f);j&&(Ember.removeBeforeObserver(j,b,d,"contentKeyWillChange"),Ember.removeObserver(j,b,d,"contentKeyDidChange"),i=c(j),h=g[i],h[h.indexOf(f)]=null)}}var a=Ember.set,b=Ember.get,c=Ember.guidFor,d=Ember.EnumerableUtils.forEach,e=Ember.Object.extend(Ember.Array,{init:function(a,b,c){this._super(),this._keyName=b,this._owner=c,this._content=a},objectAt:function(a){var c=this._content.objectAt(a);return c&&b(c,this._keyName)},length:Ember.computed(function(){var a=this._content;return a?b(a,"length"):0}).property().cacheable()}),f=/^.+:(before|change)$/;Ember.EachProxy=Ember.Object.extend({init:function(a){this._super -(),this._content=a,a.addArrayObserver(this),d(Ember.watchedEvents(this),function(a){this.didAddListener(a)},this)},unknownProperty:function(a,b){var c;return c=new e(this._content,a,this),(new Ember.Descriptor).setup(this,a,c),this.beginObservingContentKey(a),c},arrayWillChange:function(a,b,c,d){var e=this._keys,f,g,i;i=c>0?b+c:-1,Ember.beginPropertyChanges(this);for(f in e){if(!e.hasOwnProperty(f))continue;i>0&&h(a,f,this,b,i),Ember.propertyWillChange(this,f)}Ember.propertyWillChange(this._content,"@each"),Ember.endPropertyChanges(this)},arrayDidChange:function(a,b,c,d){var e=this._keys,f,h,i;i=d>0?b+d:-1,Ember.beginPropertyChanges(this);for(f in e){if(!e.hasOwnProperty(f))continue;i>0&&g(a,f,this,b,i),Ember.propertyDidChange(this,f)}Ember.propertyDidChange(this._content,"@each"),Ember.endPropertyChanges(this)},didAddListener:function(a){f.test(a)&&this.beginObservingContentKey(a.slice(0,-7))},didRemoveListener:function(a){f.test(a)&&this.stopObservingContentKey(a.slice(0,-7))},beginObservingContentKey:function(a){var c=this._keys;c||(c=this._keys={});if(!c[a]){c[a]=1;var d=this._content,e=b(d,"length");g(d,a,this,0,e)}else c[a]++},stopObservingContentKey:function(a){var c=this._keys;if(c&&c[a]>0&&--c[a]<=0){var d=this._content,e=b(d,"length");h(d,a,this,0,e)}},contentKeyWillChange:function(a,b){Ember.propertyWillChange(this,b)},contentKeyDidChange:function(a,b){Ember.propertyDidChange(this,b)}})}(),function(){var a=Ember.get,b=Ember.set,c=Ember.Mixin.create(Ember.MutableArray,Ember.Observable,Ember.Copyable,{get:function(a){return a==="length"?this.length:"number"==typeof a?this[a]:this._super(a)},objectAt:function(a){return this[a]},replace:function(b,c,d){if(this.isFrozen)throw Ember.FROZEN_ERROR;var e=d?a(d,"length"):0;this.arrayContentWillChange(b,c,e);if(!d||d.length===0)this.splice(b,c);else{var f=[b,c].concat(d);this.splice.apply(this,f)}return this.arrayContentDidChange(b,c,e),this},unknownProperty:function(a,b){var c;return b!==undefined&&c===undefined&&(c=this[a]=b),c},indexOf:function(a,b){var c,d=this.length;b===undefined?b=0:b=b<0?Math.ceil(b):Math.floor(b),b<0&&(b+=d);for(c=b;c=0;c--)if(this[c]===a)return c;return-1},copy:function(){return this.slice()}}),d=["length"];Ember.EnumerableUtils.forEach(c.keys(),function(a){Array.prototype[a]&&d.push(a)}),d.length>0&&(c=c.without.apply(c,d)),Ember.NativeArray=c,Ember.A=function(a){return a===undefined&&(a=[]),Ember.NativeArray.apply(a)},Ember.NativeArray.activate=function(){c.apply(Array.prototype),Ember.A=function(a){return a||[]}},Ember.EXTEND_PROTOTYPES&&Ember.NativeArray.activate()}(),function(){var a={},b={};Ember.onLoad=function(c,d){var e;a[c]=a[c]||Ember.A(),a[c].pushObject(d),(e=b[c])&&d(e)},Ember.runLoadHooks=function(c,d){var e;b[c]=d,(e=a[c])&&a[c].forEach(function(a){a(d)})}}(),function(){}(),function(){Ember.ControllerMixin=Ember.Mixin.create({target:null,store:null}),Ember.Controller=Ember.Object.extend(Ember.ControllerMixin)}(),function(){var a=Ember.get,b=Ember.set,c=Ember.EnumerableUtils.forEach;Ember.SortableMixin=Ember.Mixin.create(Ember.MutableEnumerable,{sortProperties:null,sortAscending:!0,addObject:function(b){var c=a(this,"content");c.pushObject(b)},removeObject:function(b){var c=a(this,"content");c.removeObject(b)},orderBy:function(b,d){var e=0,f=a(this,"sortProperties"),g=a(this,"sortAscending");return c(f,function(c){e===0&&(e=Ember.compare(a(b,c),a(d,c)),e!==0&&!g&&(e=-1*e))}),e},destroy:function(){var b=a(this,"content"),d=a(this,"sortProperties");return b&&d&&c(b,function(a){c(d,function(b){Ember.removeObserver(a,b,this,"contentItemSortPropertyDidChange")},this)},this),this._super()},isSorted:Ember.computed("sortProperties",function(){return!!a(this,"sortProperties")}),arrangedContent:Ember.computed("content","sortProperties.@each",function(b,d){var e=a(this,"content"),f=a(this,"isSorted"),g=a(this,"sortProperties"),h=this;return e&&f?(e=e.slice(),e.sort(function(a,b){return h.orderBy(a,b)}),c(e,function(a){c(g,function(b){Ember.addObserver(a,b,this,"contentItemSortPropertyDidChange")},this)},this),Ember.A(e)):e}).cacheable(),_contentWillChange:Ember.beforeObserver(function(){var b=a(this,"content"),d=a(this,"sortProperties");b&&d&&c(b,function(a){c(d,function(b){Ember.removeObserver(a,b,this,"contentItemSortPropertyDidChange")},this)},this),this._super()},"content"),sortAscendingWillChange:Ember.beforeObserver(function(){this._lastSortAscending=a(this,"sortAscending")},"sortAscending"),sortAscendingDidChange:Ember.observer(function(){if(a(this,"sortAscending")!==this._lastSortAscending){var b=a(this,"arrangedContent");b.reverse()}},"sortAscending"),contentArrayWillChange:function(b,d,e,f){var g=a(this,"isSorted");if(g){var h=a(this,"arrangedContent"),i=b.slice(d,d+e),j=a(this,"sortProperties");c(i,function(a){h.removeObject(a),c(j,function(b){Ember.removeObserver(a,b,this,"contentItemSortPropertyDidChange")},this)})}return this._super(b,d,e,f)},contentArrayDidChange:function(b,d,e,f){var g=a(this,"isSorted"),h=a(this,"sortProperties");if(g){var i=b.slice(d,d+f),j=a(this,"arrangedContent");c(i,function(a){this.insertItemSorted(a),c(h,function(b){Ember.addObserver(a,b,this,"contentItemSortPropertyDidChange")},this),this.arrayContentDidChange(d,0,1)},this)}return this._super(b,d,e,f)},insertItemSorted:function(b){var c=a(this,"arrangedContent"),d=a(c,"length"),e=this._binarySearch(b,0,d);c.insertAt(e,b)},contentItemSortPropertyDidChange:function(b){var c=a(this,"arrangedContent"),d=c.indexOf(b);c.removeObject(b),this.insertItemSorted(b)},_binarySearch:function(b,c,d){var e,f,g,h;return c===d?c:(h=a(this,"arrangedContent"),e=c+Math.floor((d-c)/2),f=h.objectAt(e),g=this.orderBy(f,b),g<0?this._binarySearch(b,e+1,d):g>0?this._binarySearch(b,c,e):e)}})}(),function(){var a=Ember.get,b=Ember.set;Ember.ArrayController=Ember.ArrayProxy.extend(Ember.ControllerMixin,Ember.SortableMixin)}(),function(){Ember.ObjectController=Ember.ObjectProxy.extend(Ember.ControllerMixin)}(),function(){}(),function(){}(),function(){var a=Ember.get,b=Ember.set;Ember.Application=Ember.Namespace.extend({rootElement:"body",eventDispatcher:null,customEvents:null,init:function(){var c,d=a(this,"rootElement");this._super(),c=Ember.EventDispatcher.create({rootElement:d}),b(this,"eventDispatcher",c);if(Ember.$.isReady)Ember.run.once(this,this.didBecomeReady);else{var e=this;Ember.$(document).ready(function(){Ember.run.once(e,e.didBecomeReady)})}},initialize:function(c){var d=Ember.A(Ember.keys(this)),e=a(this.constructor,"injections"),f=this,g,h;!c&&Ember.Router.detect(f.Router)&&(c=f.Router.create(),this._createdRouter=c),c&&(b(this,"router",c),b(c,"namespace",this)),Ember.runLoadHooks("application",this),e.forEach(function(a){d.forEach(function(b){a[1](f,c,b)})}),c&&c instanceof Ember.Router&&this.startRouting(c)},didBecomeReady:function(){var b=a(this,"eventDispatcher"),c=a(this,"customEvents");b.setup(c),this.ready()},startRouting:function(b){var c=a(b,"location"),d=a(this,"rootElement"),e=a(b,"applicationController");if(this.ApplicationView&&e){var f=this.ApplicationView.create({controller:e});this._createdApplicationView=f,f.appendTo(d)}b.route(c.getURL()),c.onUpdateURL(function(a){b.route(a)})},ready:Ember.K,willDestroy:function(){a(this,"eventDispatcher").destroy(),this._createdRouter&&this._createdRouter.destroy(),this._createdApplicationView&&this._createdApplicationView.destroy()},registerInjection:function(a){this.constructor.registerInjection(a)}}),Ember.Application.reopenClass({concatenatedProperties:["injections"],injections:Ember.A(),registerInjection:function(b){var c=a(this,"injections"),d=b.before,e=b.name,f=b.injection,g;d?(g=c.find(function(a){if(a[0]===d)return!0}),g=c.indexOf(g)):g=a(c,"length"),c.splice(g,0,[e,f])}}),Ember.Application.registerInjection({name:"controllers",injection:function(a,b,c){if(!/^[A-Z].*Controller$/.test(c))return;var d=c.charAt(0).toLowerCase()+c.substr(1),e=a[c].create();b.set(d,e),e.setProperties({target:b,controllers:b,namespace:a})}})}(),function(){var a=Ember.get,b=Ember.set;Ember.Location={create:function(a){var b=a&&a.implementation,c=this.implementations[b];return c.create.apply(c,arguments)},registerImplementation:function(a,b){this.implementations[a]=b},implementations:{}}}(),function(){var a=Ember.get,b=Ember.set;Ember.HashLocation=Ember.Object.extend({init:function(){b(this,"location",a(this,"location")||window.location)},getURL:function(){return a(this,"location").hash.substr(1)},setURL:function(c){a(this,"location").hash=c,b(this,"lastSetURL",c)},onUpdateURL:function(c){var d=this,e=Ember.guidFor(this);Ember.$(window).bind("hashchange.ember-location-"+e,function(){var e=location.hash.substr(1);if(a(d,"lastSetURL")===e)return;b(d,"lastSetURL",null),c(location.hash.substr(1))})},formatURL:function(a){return"#"+a},willDestroy:function(){var a=Ember.guidFor(this);Ember.$(window).unbind("hashchange.ember-location-"+a)}}),Ember.Location.registerImplementation("hash",Ember.HashLocation)}(),function(){var a=Ember.get,b=Ember.set;Ember.HistoryLocation=Ember.Object.extend({init:function(){b(this,"location",a(this,"location")||window.location),b(this,"_initialURL",a(this,"location").pathname)},_initialURL:null,getURL:function(){return a(this,"location").pathname},setURL:function(c){var d=window.history.state,e=a(this,"_initialURL");c===""&&(c="/");if(e&&e!==c||d&&d.path!==c)b(this,"_initialURL",null),window.history.pushState({path:c},null,c)},onUpdateURL:function(a){var b=Ember.guidFor(this);Ember.$(window).bind("popstate.ember-location-"+b,function(b){a(location.pathname)})},formatURL:function(a){return a},willDestroy:function(){var a=Ember.guidFor(this);Ember.$(window).unbind("popstate.ember-location-"+a)}}),Ember.Location.registerImplementation("history",Ember.HistoryLocation)}(),function(){var a=Ember.get,b=Ember.set;Ember.NoneLocation=Ember.Object.extend({path:"",getURL:function(){return a(this,"path")},setURL:function(a){b(this,"path",a)},onUpdateURL:function(a){},formatURL:function(a){return a}}),Ember.Location.registerImplementation("none",Ember.NoneLocation)}(),function(){}(),function(){}(),function(){Ember.$=window.jQuery}(),function(){var a=Ember.get,b=Ember.set,c=Ember.ArrayPolyfills.indexOf,d=function(){this.seen={},this.list=[]};d.prototype={add:function(a){if(a in this.seen)return;this.seen[a]=!0,this.list.push(a)},toDOM:function(){return this.list.join(" ")}},Ember.RenderBuffer=function(a){return new Ember._RenderBuffer(a)},Ember._RenderBuffer=function(a){this.elementTag=a,this.childBuffers=[]},Ember._RenderBuffer.prototype={elementClasses:null,elementId:null,elementAttributes:null,elementTag:null,elementStyle:null,parentBuffer:null,push:function(a){return this.childBuffers.push(String(a)),this},addClass:function(a){var b=this.elementClasses=this.elementClasses||new d;return this.elementClasses.add(a),this},id:function(a){return this.elementId=a,this},attr:function(a,b){var c=this.elementAttributes=this.elementAttributes||{};return arguments.length===1?c[a]:(c[a]=b,this)},removeAttr:function(a){var b=this.elementAttributes;return b&&delete b[a],this},style:function(a,b){var c=this.elementStyle=this.elementStyle||{};return this.elementStyle[a]=b,this},newBuffer:function(a,b,c,d){var e=new Ember._RenderBuffer(a);return e.parentBuffer=b,d&&Ember.$.extend(e,d),c&&c.call(this,e),e},replaceWithBuffer:function(a){var b=this.parentBuffer;if(!b)return;var d=b.childBuffers,e=c.call(d,this);a?d.splice(e,1,a):d.splice(e,1)},begin:function(a){return this.newBuffer(a,this,function(a){this.childBuffers.push(a)})},prepend:function(a){return this.newBuffer(a,this,function(a){this.childBuffers.splice(0,0,a)})},replaceWith:function(a){var b=this.parentBuffer;return this.newBuffer(a,b,function(a){this.replaceWithBuffer(a)})},insertAfter:function(b){var d=a(this,"parentBuffer");return this.newBuffer(b,d,function(a){var b=d.childBuffers,e=c.call(b,this);b.splice(e+1,0,a)})},end:function(){var a=this.parentBuffer;return a||this},remove:function(){this.replaceWithBuffer(null)},element:function(){return Ember.$(this.string())[0]},string:function(){var a="",b=this.elementTag,c;if(b){var d=this.elementId,e=this.elementClasses,f=this.elementAttributes,g=this.elementStyle,h="",i;c=["<"+b],d&&c.push('id="'+this._escapeAttribute(d)+'"'),e&&c.push('class="'+this._escapeAttribute(e.toDOM())+'"');if(g){for(i in g)g.hasOwnProperty(i)&&(h+=i+":"+this._escapeAttribute(g[i])+";");c.push('style="'+h+'"')}if(f)for(i in f)f.hasOwnProperty(i)&&c.push(i+'="'+this._escapeAttribute(f[i])+'"');c=c.join(" ")+">"}var j=this.childBuffers;return Ember.ArrayPolyfills.forEach.call(j,function(b){var c=typeof b=="string";a+=c?b:b.string()}),b?c+a+"":a},_escapeAttribute:function(a){var b={"<":"<",">":">",'"':""","'":"'","`":"`"},c=/&(?!\w+;)|[<>"'`]/g,d=/[&<>"'`]/,e=function(a){return b[a]||"&"},f=a.toString();return d.test(f)?f.replace(c,e):f}}}(),function(){var a=Ember.get,b=Ember.set,c=Ember.String.fmt;Ember.EventDispatcher=Ember.Object.extend({rootElement:"body",setup:function(b){var c,d={touchstart:"touchStart",touchmove:"touchMove",touchend:"touchEnd",touchcancel:"touchCancel",keydown:"keyDown",keyup:"keyUp",keypress:"keyPress",mousedown:"mouseDown",mouseup:"mouseUp",contextmenu:"contextMenu",click:"click",dblclick:"doubleClick",mousemove:"mouseMove",focusin:"focusIn",focusout:"focusOut",mouseenter:"mouseEnter",mouseleave:"mouseLeave",submit:"submit",input:"input",change:"change",dragstart:"dragStart",drag:"drag",dragenter:"dragEnter",dragleave:"dragLeave",dragover:"dragOver",drop:"drop",dragend:"dragEnd"};Ember.$.extend(d,b||{});var e=Ember.$(a(this,"rootElement"));e.addClass("ember-application");for(c in d)d.hasOwnProperty(c)&&this.setupHandler(e,c,d[c])},setupHandler:function(a,b,c){var d=this;a.delegate(".ember-view",b+".ember",function(a,b){var e=Ember.View.views[this.id],f=!0,g=null;return g=d._findNearestEventManager(e,c),g&&g!==b?f=d._dispatchEvent(g,a,c,e):e?f=d._bubbleEvent(e,a,c):a.stopPropagation(),f}),a.delegate("[data-ember-action]",b+".ember",function(a){var b=Ember.$(a.currentTarget).attr("data-ember-action"),d=Ember.Handlebars.ActionHelper.registeredActions[b],e=d.handler;if(d.eventName===c)return a.preventDefault(),e(a)})},_findNearestEventManager:function(b,c){var d=null;while(b){d=a(b,"eventManager");if(d&&d[c])break;b=a(b,"parentView")}return d},_dispatchEvent:function(a,b,c,d){var e=!0,f=a[c];return Ember.typeOf(f)==="function"?(e=f.call(a,b,d),b.stopPropagation()):e=this._bubbleEvent(d,b,c),e},_bubbleEvent:function(a,b,c){return Ember.run(function(){return a.handleEvent(c,b)})},destroy:function(){var b=a(this,"rootElement");return Ember.$(b).undelegate(".ember").removeClass("ember-application"),this._super()}})}(),function(){var a=Ember.run.queues;a.splice(Ember.$.inArray("actions",a)+1,0,"render")}(),function(){var a=Ember.get,b=Ember.set;Ember.ControllerMixin.reopen({target:null,controllers:null,namespace:null,view:null,connectOutlet:function(c,d){var e,f,g,h,i;arguments.length===1?Ember.typeOf(c)==="object"&&(i=c,e=i.outletName,c=i.name,f=i.viewClass,h=i.controller,d=i.context):i={},e=e||"view";if(c){var j=a(this,"namespace"),k=a(this,"controllers"),l=c.charAt(0).toUpperCase()+c.substr(1)+"View";f=a(j,l),h=a(k,c+"Controller")}return h&&d&&h.set("content",d),g=f.create(),h&&b(g,"controller",h),b(this,e,g),g}})}(),function(){}(),function(){var a=Ember.get,b=Ember.set,c=Ember.addObserver,d=Ember.getPath,e=Ember.meta,f=Ember.String.fmt,g=[].slice,h=Ember.EnumerableUtils.forEach,i=Ember.computed(function(){var b=a(this,"_childViews"),c=Ember.A();return h(b,function(b){b.isVirtual?c.pushObjects(a(b,"childViews")):c.push(b)}),c}).property().cacheable(),j=Ember.VIEW_PRESERVES_CONTEXT;Ember.TEMPLATES={};var k={preRender:{},inBuffer:{},hasElement:{},inDOM:{},destroyed:{}};Ember.View=Ember.Object.extend(Ember.Evented,{concatenatedProperties:["classNames","classNameBindings","attributeBindings"],isView:!0,templateName:null,layoutName:null,templates:Ember.TEMPLATES,template:Ember.computed(function(b,c){if(c!==undefined)return c;var d=a(this,"templateName"),e=this.templateForName(d,"template");return e||a(this,"defaultTemplate")}).property("templateName").cacheable(),controller:Ember.computed(function(b,c){var d;return arguments.length===2?c:(d=a(this,"parentView"),d?a(d,"controller"):null)}).property().cacheable(),layout:Ember.computed(function(b,c){if(arguments.length===2)return c;var d=a(this,"layoutName"),e=this.templateForName(d,"layout");return e||a(this,"defaultLayout")}).property("layoutName").cacheable(),templateForName:function(b,c){if(!b)return;var d=a(this,"templates"),e=a(d,b);if(!e)throw new Ember.Error(f('%@ - Unable to find %@ "%@".',[this,c,b]));return e},context:Ember.computed(function(c,d){return arguments.length===2?(b(this,"_context",d),d):a(this,"_context")}).cacheable(),_context:Ember.computed(function(b,c){var d,e;if(arguments.length===2)return c;if(j){if(e=a(this,"controller"))return e;d=a(this,"_parentView");if(d)return a(d,"_context")}return this}).cacheable(),_displayPropertyDidChange:Ember.observer(function(){this.rerender()},"context","controller"),parentView:Ember.computed(function(){var b=a(this,"_parentView");return b&&b.isVirtual?a(b,"parentView"):b}).property("_parentView").volatile(),_parentView:null,concreteView:Ember.computed(function(){return this.isVirtual?a(this,"parentView"):this}).property("_parentView").volatile(),isVisible:!0,childViews:i,_childViews:[],_childViewsWillChange:Ember.beforeObserver(function(){if(this.isVirtual){var b=a(this,"parentView");b&&Ember.propertyWillChange(b,"childViews")}},"childViews"),_childViewsDidChange:Ember.observer(function(){if(this.isVirtual){var b=a(this,"parentView");b&&Ember.propertyDidChange(b,"childViews")}},"childViews"),nearestInstanceOf:function(b){var c=a(this,"parentView");while(c){if(c instanceof b)return c;c=a(c,"parentView")}},nearestWithProperty:function(b){var c=a(this,"parentView");while(c){if(b in c)return c;c=a(c,"parentView")}},nearestChildOf:function(b){var c=a(this,"parentView");while(c){if(a(c,"parentView")instanceof b)return c;c=a(c,"parentView")}},collectionView:Ember.computed(function(){return this.nearestInstanceOf(Ember.CollectionView)}).cacheable(),itemView:Ember.computed(function(){return this.nearestChildOf(Ember.CollectionView)}).cacheable(),contentView:Ember.computed(function(){return this.nearestWithProperty("content")}).cacheable(),_parentViewDidChange:Ember.observer(function(){if(this.isDestroying)return;this.invokeRecursively(function(a){a.propertyDidChange("collectionView"),a.propertyDidChange("itemView"),a.propertyDidChange("contentView")}),d(this,"parentView.controller")&&!a(this,"controller")&&this.notifyPropertyChange("controller")},"_parentView"),_controllerDidChange:Ember.observer(function(){if(this.isDestroying)return;this.forEachChildView(function(a){a.propertyDidChange("controller")})},"controller"),cloneKeywords:function(){var b=a(this,"templateData"),c=b?Ember.copy(b.keywords):{};return c.view=a(this,"concreteView"),c.controller=a(this,"controller"),c},render:function(b){var c=a(this,"layout")||a(this,"template");if(c){var d=a(this,"_context"),e=this.cloneKeywords(),f={view:this,buffer:b,isRenderData:!0,keywords:e},g=c(d,{data:f});g!==undefined&&b.push(g)}},invokeForState:function(a){var b=this.state,c,d;if(d=k[b][a])return c=g.call(arguments),c[0]=this,d.apply(this,c);var e=this,f=e.states,h;while(f){h=f[b];while(h){d=h[a];if(d)return k[b][a]=d,c=g.call(arguments,1),c.unshift(this),d.apply(this,c);h=h.parentState}f=f.parent}},rerender:function(){return this.invokeForState("rerender")},clearRenderedChildren:function(){var b=this.lengthBeforeRender,c=this.lengthAfterRender,d=a(this,"_childViews");for(var e=c-1;e>=b;e--)d[e]&&d[e].destroy()},_applyClassNameBindings:function(){var b=a(this,"classNameBindings"),d=a(this,"classNames"),e,f,g;if(!b)return;h(b,function(a){var b,h,i=function(){f=this._classStringForProperty(a),e=this.$(),b&&(e.removeClass(b),d.removeObject(b)),f?(e.addClass(f),b=f):b=null};g=this._classStringForProperty(a),g&&(d.push(g),b=g),h=a.split(":")[0],c(this,h,i)},this)},_applyAttributeBindings:function(b){var d=a(this,"attributeBindings"),e,f,g;if(!d)return;h(d,function(d){var g=d.split(":"),h=g[0],i=g[1]||h,j=function(){f=this.$(),e=a(this,h),Ember.View.applyAttributeBindings(f,i,e)};c(this,h,j),e=a(this,h),Ember.View.applyAttributeBindings(b,i,e)},this)},_classStringForProperty:function(a){var b=a.split(":"),c=b[1];a=b[0];var d=Ember.getPath(this,a,!1);d===undefined&&Ember.isGlobalPath(a)&&(d=Ember.getPath(window,a));if(!!d&&c)return c;if(d===!0){var e=a.split(".");return Ember.String.dasherize(e[e.length-1])}return d!==!1&&d!==undefined&&d!==null?d:null},element:Ember.computed(function(a,b){return b!==undefined?this.invokeForState("setElement",b):this.invokeForState("getElement")}).property("_parentView").cacheable(),$:function(a){return this.invokeForState("$",a)},mutateChildViews:function(b){var c=a(this,"_childViews"),d=a(c,"length"),e;while(--d>=0)e=c[d],b.call(this,e,d);return this},forEachChildView:function(b){var c=a(this,"_childViews");if(!c)return this;var d=a(c,"length"),e,f;for(f=0;f=0;h--)c[h].removedFromDOM=!0,c[h].destroy();delete Ember.View.views[a(this,"elementId")]},createChildView:function(c,d){return Ember.View.detect(c)?(d=d||{},d._parentView=this,d.templateData=d.templateData||a(this,"templateData"),c=c.create(d),c.viewName&&b(a(this,"concreteView"),c.viewName,c)):(a(c,"templateData")||b(c,"templateData",a(this,"templateData")),b(c,"_parentView",this)),c},becameVisible:Ember.K,becameHidden:Ember.K,_isVisibleDidChange:Ember.observer(function(){var b=a(this,"isVisible");this.$().toggle(b);if(this._isAncestorHidden())return;b?this._notifyBecameVisible():this._notifyBecameHidden()},"isVisible"),_notifyBecameVisible:function(){this.trigger("becameVisible"),this.forEachChildView(function(b){var c=a(b,"isVisible");(c||c===null)&&b._notifyBecameVisible()})},_notifyBecameHidden:function(){this.trigger("becameHidden"),this.forEachChildView(function(b){var c=a(b,"isVisible");(c||c===null)&&b._notifyBecameHidden()})},_isAncestorHidden:function(){var b=a(this,"parentView");while(b){if(a(b,"isVisible")===!1)return!0;b=a(b,"parentView")}return!1},clearBuffer:function(){this.invokeRecursively(function(a){this.buffer=null})},transitionTo:function(a,b){this.state=a,b!==!1&&this.forEachChildView(function(b){b.transitionTo(a)})},trigger:function(a){this._super.apply(this,arguments);if(this[a])return this[a].apply(this,[].slice.call(arguments,1))},has:function(a){return Ember.typeOf(this[a])==="function"||this._super(a)},handleEvent:function(a,b){return this.invokeForState("handleEvent",a,b)}});var l={prepend:function(a,b){b._insertElementLater(function(){var c=a.$();c.prepend(b.$())})},after:function(a,b){b._insertElementLater(function(){var c=a.$();c.after(b.$())})},replace:function(c){var d=a(c,"element");b(c,"element",null),c._insertElementLater(function(){Ember.$(d).replaceWith(a(c,"element"))})},remove:function(c){var d=a(c,"element");b(c,"element",null),c._lastInsert=null,Ember.$(d).remove()},empty:function(a){a.$().empty()}};Ember.View.reopen({states:Ember.View.states,domManager:l}),Ember.View.views={},Ember.View.childViewsProperty=i,Ember.View.applyAttributeBindings=function(a,b,c){var d=Ember.typeOf(c),e=a.attr(b);(d==="string"||d==="number"&&!isNaN(c))&&c!==e?a.attr(b,c):c&&d==="boolean"?a.attr(b,b):c||a.removeAttr(b)}}(),function(){var a=Ember.get,b=Ember.set;Ember.View.states={_default:{appendChild:function(){throw"You can't use appendChild outside of the rendering process"},$:function(){return Ember.$()},getElement:function(){return null},handleEvent:function(){return!0},destroyElement:function(a){return b(a,"element",null),a._lastInsert=null,a}}},Ember.View.reopen({states:Ember.View.states})}(),function(){Ember.View.states.preRender={parentState:Ember.View.states._default,insertElement:function(a,b){if(a._lastInsert!==Ember.guidFor(b))return;a.createElement(),a._notifyWillInsertElement(),b.call(a),a.transitionTo("inDOM"),a._notifyDidInsertElement()},empty:Ember.K,setElement:function(a,b){return a.beginPropertyChanges(),a.invalidateRecursively("element"),b!==null&&a.transitionTo("hasElement"),a.endPropertyChanges(),b}}}(),function(){var a=Ember.get,b=Ember.set,c=Ember.meta;Ember.View.states.inBuffer={parentState:Ember.View.states._default,$:function(a,b){return a.rerender(),Ember.$()},rerender:function(a){a._notifyWillRerender(),a.clearRenderedChildren(),a.renderToBuffer(a.buffer,"replaceWith")},appendChild:function(b,c,d){var e=b.buffer;return c=this.createChildView(c,d),a(b,"_childViews").push(c),c.renderToBuffer(e),b.propertyDidChange("childViews"),c},destroyElement:function(a){return a.clearBuffer(),a._notifyWillDestroyElement(),a.transitionTo("preRender"),a},empty:function(){},insertElement:function(){throw"You can't insert an element that has already been rendered"},setElement:function(a,b){return a.invalidateRecursively("element"),b===null?a.transitionTo("preRender"):(a.clearBuffer(),a.transitionTo("hasElement")),b}}}(),function(){var a=Ember.get,b=Ember.set,c=Ember.meta;Ember.View.states.hasElement={parentState:Ember.View.states._default,$:function(b,c){var d=a(b,"element");return c?Ember.$(c,d):Ember.$(d)},getElement:function(b){var c=a(b,"parentView");return c&&(c=a(c,"element")),c?b.findElementInParentElement(c):Ember.$("#"+a(b,"elementId"))[0]},setElement:function(a,b){if(b!==null)throw"You cannot set an element to a non-null value when the element is already in the DOM.";return a.invalidateRecursively("element"),a.transitionTo("preRender"),b},rerender:function(a){return a._notifyWillRerender(),a.clearRenderedChildren(),a.domManager.replace(a),a},destroyElement:function(a){return a._notifyWillDestroyElement(),a.domManager.remove(a),a},empty:function(b){var c=a(b,"_childViews"),d,e;if(c){d=a(c,"length");for(e=0;e=c;h--)g=f[h],j&&(g.removedFromDOM=!0),g.destroy()},arrayDidChange:function(c,d,e,f){var g=a(this,"itemViewClass"),h=a(this,"childViews"),i=[],j,k,l,m,n;"string"==typeof g&&(g=Ember.getPath(g)),m=c?a(c,"length"):0;if(m)for(l=d;l0&&k[0]===h[0])g=k.shift(),h.shift();f.pathsCache[b]={exitStates:h,enterStates:k,resolveState:g}}n=k.length-1;while(e.length>0){if(n>=0)l=k[n--];else{l=k[0]?a(k[0],"parentState"):g;if(!l)throw"Cannot match all contexts to states";k.unshift(l),h.unshift(l)}o=d&&a(l,"hasContext"),i.unshift(o?e.pop():null)}if(k.length>0){l=k[k.length-1];for(;;){m=a(l,"initialState")||"start",l=c(l,"states."+m);if(!l)break;k.push(l),i.push(undefined)}while(k.length>0){if(k[0]!==h[0])break;if(k.length===i.length){if(this.getStateMeta(k[0],"context")!==i[0])break;i.shift()}g=k.shift(),h.shift()}}}this.enterState(h,k,k[k.length-1]||g),this.triggerSetupContext(k,i)},triggerSetupContext:function(b,c){var d=b.length-c.length;e.call(b,function(b,e){b.trigger(a(this,"transitionEvent"),this,c[e-d])},this)},getState:function(b){var c=a(this,b),d=a(this,"parentState");if(c)return c;if(d)return d.getState(b)},enterState:function(c,d,f){var g=this.enableLogging,h=this;c=c.slice(0).reverse(),e.call(c,function(a){a.trigger("exit",h)}),e.call(d,function(b){g&&Ember.Logger.log("STATEMANAGER: Entering "+a(b,"path")),b.trigger("enter",h)}),b(this,"currentState",f)}})}(),function(){}(),function(){var a=Ember.get,b=Ember.getPath,c=function(a){var b=a.toString(),c=b.split("."),d=c[c.length-1];return Ember.String.underscore(d)+"_id"},d=function(a,b){for(var c in b){if(!b.hasOwnProperty(c))continue;if(a.hasOwnProperty(c))continue;a[c]=b[c]}};Ember.Routable=Ember.Mixin.create({init:function(){var b;this.on("connectOutlets",this,this.stashContext);if(b=a(this,"redirectsTo"))this.connectOutlets=function(a){a.transitionTo(b)};var c=a(this,"route");c===""&&(c="/"),this._super()},stashContext:function(b,c){var d=this.serialize(b,c);b.setStateMeta(this,"context",c),b.setStateMeta(this,"serialized",d),a(this,"isRoutable")&&!a(b,"isRouting")&&this.updateRoute(b,a(b,"location"))},updateRoute:function(b,c){if(a(this,"isLeafRoute")){var d=this.absoluteRoute(b);c.setURL(d)}},absoluteRoute:function(b,c){var e=a(this,"parentState"),f="",g;a(e,"isRoutable")&&(f=e.absoluteRoute(b,c));var h=a(this,"routeMatcher"),i=b.getStateMeta(this,"serialized");return c=c||{},d(c,i),g=h&&h.generate(c),g&&(f=f+"/"+g),f},isRoutable:Ember.computed(function(){return typeof a(this,"route")=="string"}).cacheable(),isLeafRoute:Ember.computed(function(){return a(this,"isLeaf")?!0:!a(this,"childStates").findProperty("isRoutable")}).cacheable(),routeMatcher:Ember.computed(function(){var b=a(this,"route");if(b)return Ember._RouteMatcher.create({route:b})}).cacheable(),hasContext:Ember.computed(function(){var b=a(this,"routeMatcher");if(b)return b.identifiers.length>0}).cacheable(),modelClass:Ember.computed(function(){var b=a(this,"modelType");return typeof b=="string"?Ember.getPath(window,b):b}).cacheable(),modelClassFor:function(b){var c,d,e,f,g;if(c=a(this,"modelClass"))return c;if(!b)return;d=a(this,"routeMatcher");if(!d)return;e=d.identifiers;if(e.length!==2)return;f=e[1].match(/^(.*)_id$/);if(!f)return;return g=Ember.String.classify(f[1]),a(b,g)},deserialize:function(b,d){var e,f,g;return(e=this.modelClassFor(a(b,"namespace")))?e.find(d[c(e)]):d},serialize:function(b,d){var e,f,g,h,i;if(Ember.empty(d))return"";if(e=this.modelClassFor(a(b,"namespace")))h=c(e),i=a(d,"id"),d={},d[h]=i;return d},routePath:function(c,d){if(a(this,"isLeafRoute"))return;var e=a(this,"childStates"),f;e=Ember.A(e.filterProperty("isRoutable")),e=e.sort(function(c,d){var e=b(c,"routeMatcher.identifiers.length"),f=b(d,"routeMatcher.identifiers.length"),g=a(c,"route"),h=a(d,"route");return g.indexOf(h)===0?-1:h.indexOf(g)===0?1:e!==f?e-f:b(d,"route.length")-b(c,"route.length")});var g=e.find(function(b){var c=a(b,"routeMatcher");if(f=c.match(d))return!0}),h=g.deserialize(c,f.hash);c.transitionTo(a(g,"path"),h),c.send("routePath",f.remaining)},unroutePath:function(b,c){if(a(this,"parentState")===b)return;c=c.replace(/^(?=[^\/])/,"/");var d=this.absoluteRoute(b),e=a(this,"route");if(e!=="/"){var f=c.indexOf(d),g=c.charAt(d.length);if(f===0&&(g==="/"||g===""))return}var h=a(a(this,"parentState"),"path");b.transitionTo(h),b.send("unroutePath",c)},connectOutlets:Ember.K,navigateAway:Ember.K})}(),function(){Ember.Route=Ember.State.extend(Ember.Routable)}(),function(){var a=function(a){return a.replace(/[\-\[\]{}()*+?.,\\\^\$|#\s]/g,"\\$&")};Ember._RouteMatcher=Ember.Object.extend({state:null,init:function(){var b=this.route,c=[],d=1,e;b.charAt(0)==="/"&&(b=this.route=b.substr(1)),e=a(b);var f=e.replace(/:([a-z_]+)(?=$|\/)/gi,function(a,b){return c[d++]=b,"([^/]+)"});this.identifiers=c,this.regex=new RegExp("^/?"+f)},match:function(a){var b=a.match(this.regex);if(b){var c=this.identifiers,d={};for(var e=1,f=c.length;e0?d:null}}},generate:function(a){var b=this.identifiers,c=this.route,d;for(var e=1,f=b.length;e"},p=function(){return""};if(e)h=function(a,b){var c=d.createRange(),e=d.getElementById(a.start),f=d.getElementById(a.end);return b?(c.setStartBefore(e),c.setEndAfter(f)):(c.setStartAfter(e),c.setEndBefore(f)),c},i=function(a,b){var c=h(this,b);c.deleteContents();var d=c.createContextualFragment(a);c.insertNode(d)},j=function(){var a=h(this,!0);a.deleteContents()},l=function(a){var b=d.createRange();b.setStart(a),b.collapse(!1);var c=b.createContextualFragment(this.outerHTML());a.appendChild(c)},m=function(a){var b=d.createRange(),c=d.getElementById(this.end);b.setStartAfter(c),b.setEndAfter(c);var e=b.createContextualFragment(a);b.insertNode(e)},n=function(a){var b=d.createRange(),c=d.getElementById(this.start);b.setStartAfter(c),b.setEndAfter(c);var e=b.createContextualFragment(a);b.insertNode(e)};else{var q={select:[1,""],fieldset:[1,"
","
"],table:[1,"","
"],tbody:[2,"","
"],tr:[3,"","
"],colgroup:[2,"","
"],map:[1,"",""],_default:[0,"",""]},r=function(a,b){var c=q[a.tagName.toLowerCase()]||q._default,e=c[0],g=c[1],h=c[2];f&&(b="­"+b);var i=d.createElement("div");i.innerHTML=g+b+h;for(var j=0;j<=e;j++)i=i.firstChild;if(f){var k=i;while(k.nodeType===1&&!k.nodeName)k=k.firstChild;k.nodeType===3&&k.nodeValue.charAt(0)==="­"&&(k.nodeValue=k.nodeValue.slice(1))}return i},s=function(a){while(a.parentNode.tagName==="")a=a.parentNode;return a},t=function(a,b){a.parentNode!==b.parentNode&&b.parentNode.insertBefore(a,b.parentNode.firstChild)};i=function(a,b){var c=s(d.getElementById(this.start)),e=d.getElementById(this.end),f=e.parentNode,g,h,i;t(c,e),g=c.nextSibling;while(g){h=g.nextSibling,i=g===e;if(i){if(!b)break;e=g.nextSibling}g.parentNode.removeChild(g);if(i)break;g=h}g=r(c.parentNode,a);while(g)h=g.nextSibling,f.insertBefore(g,e),g=h},j=function(){var a=s(d.getElementById(this.start)),b=d.getElementById(this.end);this.html(""),a.parentNode.removeChild(a),b.parentNode.removeChild(b)},l=function(a){var b=r(a,this.outerHTML());while(b)nextSibling=b.nextSibling,a.appendChild(b),b=nextSibling},m=function(a){var b=d.getElementById(this.end),c=b.nextSibling,e=b.parentNode,f,g;g=r(e,a);while(g)f=g.nextSibling,e.insertBefore(g,c),g=f},n=function(a){var b=d.getElementById(this.start),c=b.parentNode,e,f;f=r(c,a);var g=b.nextSibling;while(f)e=f.nextSibling,c.insertBefore(f,g),f=e}}g.prototype.html=function(a){this.checkRemoved();if(a===undefined)return this.innerHTML;i.call(this,a),this.innerHTML=a},g.prototype.replaceWith=function(a){this.checkRemoved(),i.call(this,a,!0)},g.prototype.remove=j,g.prototype.outerHTML=k,g.prototype.appendTo=l,g.prototype.after=m,g.prototype.prepend=n,g.prototype.startTag=o,g.prototype.endTag=p,g.prototype.isRemoved=function(){var a=d.getElementById(this.start),b=d.getElementById(this.end);return!a||!b},g.prototype.checkRemoved=function(){if(this.isRemoved())throw new Error("Cannot perform operations on a Metamorph that is not in the DOM.")},a.Metamorph=g})(this)}(),function(){var a=Ember.create;Ember.Handlebars=a(Handlebars),Ember.Handlebars.helpers=a(Handlebars.helpers),Ember.Handlebars.Compiler=function(){},Ember.Handlebars.Compiler.prototype=a(Handlebars.Compiler.prototype),Ember.Handlebars.Compiler.prototype.compiler=Ember.Handlebars.Compiler,Ember.Handlebars.JavaScriptCompiler=function(){},Ember.Handlebars.JavaScriptCompiler.prototype=a(Handlebars.JavaScriptCompiler.prototype),Ember.Handlebars.JavaScriptCompiler.prototype.compiler=Ember.Handlebars.JavaScriptCompiler,Ember.Handlebars.JavaScriptCompiler.prototype.namespace="Ember.Handlebars",Ember.Handlebars.JavaScriptCompiler.prototype.initializeBuffer=function(){return"''"},Ember.Handlebars.JavaScriptCompiler.prototype.appendToBuffer=function(a){return"data.buffer.push("+a+");"},Ember.Handlebars.Compiler.prototype.mustache=function(a){if(a.params.length||a.hash)return Handlebars.Compiler.prototype.mustache.call(this,a);var b=new Handlebars.AST.IdNode(["_triageMustache"]);return a.escaped||(a.hash=a.hash||new Handlebars.AST.HashNode([]),a.hash.pairs.push(["unescaped",new Handlebars.AST.StringNode("true")])),a=new Handlebars.AST.MustacheNode([b].concat([a.id]),a.hash,!a.escaped),Handlebars.Compiler.prototype.mustache.call(this,a)},Ember.Handlebars.precompile=function(a){var b=Handlebars.parse(a),c={knownHelpers:{action:!0,unbound:!0,bindAttr:!0,template:!0,view:!0,_triageMustache:!0},data:!0,stringParams:!0},d=(new Ember.Handlebars.Compiler).compile(b,c);return(new Ember.Handlebars.JavaScriptCompiler).compile(d,c,undefined,!0)},Ember.Handlebars.compile=function(a){var b=Handlebars.parse(a),c={data:!0,stringParams:!0},d=(new Ember.Handlebars.Compiler).compile(b,c),e=(new Ember.Handlebars.JavaScriptCompiler).compile(d,c,undefined,!0);return Handlebars.template(e)};var b=Ember.Handlebars.normalizePath=function(a,b,c){var d=c&&c.keywords||{},e,f;return e=b.split(".",1)[0],d.hasOwnProperty(e)&&(a=d[e],f=!0,b===e?b="":b=b.substr(e.length+1)),{root:a,path:b,isKeyword:f}};Ember.Handlebars.getPath=function(a,c,d){var e=d&&d.data,f=b(a,c,e),g;return a=f.root,c=f.path,g=Ember.getPath(a,c),g===undefined&&a!==window&&Ember.isGlobalPath(c)&&(g=Ember.getPath(window,c)),g},Ember.Handlebars.registerHelper("helperMissing",function(a,b){var c,d="";throw c="%@ Handlebars error: Could not find property '%@' on object %@.",b.data&&(d=b.data.view),new Ember.Error(Ember.String.fmt(c,[d,a,this]))})}(),function(){Ember.String.htmlSafe=function(a){return new Handlebars.SafeString(a)};var a=Ember.String.htmlSafe;Ember.EXTEND_PROTOTYPES&&(String.prototype.htmlSafe=function(){return a(this)})}(),function(){var a=Ember.set,b=Ember.get,c=Ember.getPath,d={remove:function(b){var c=b.morph;if(c.isRemoved())return;a(b,"element",null),b._lastInsert=null,c.remove()},prepend:function(a,b){b._insertElementLater(function(){var c=a.morph;c.prepend(b.outerHTML),b.outerHTML=null})},after:function(a,b){b._insertElementLater(function(){var c=a.morph;c.after(b.outerHTML),b.outerHTML=null})},replace:function(a){var c=a.morph;a.transitionTo("preRender"),a.clearRenderedChildren();var d=a.renderToBuffer();Ember.run.schedule("render",this,function(){if(b(a,"isDestroyed"))return;a.invalidateRecursively("element"),a._notifyWillInsertElement(),c.replaceWith(d.string()),a.transitionTo("inDOM"),a._notifyDidInsertElement()})},empty:function(a){a.morph.html("")}};Ember._Metamorph=Ember.Mixin.create({isVirtual:!0,tagName:"",init:function(){this._super(),this.morph=Metamorph()},beforeRender:function(a){a.push(this.morph.startTag())},afterRender:function(a){a.push(this.morph.endTag())},createElement:function(){var a=this.renderToBuffer();this.outerHTML=a.string(),this.clearBuffer()},domManager:d}),Ember._MetamorphView=Ember.View.extend(Ember._Metamorph)}(),function(){var a=Ember.get,b=Ember.set,c=Ember.Handlebars.getPath;Ember._HandlebarsBoundView=Ember._MetamorphView.extend({shouldDisplayFunc:null,preserveContext:!1,previousContext:null,displayTemplate:null,inverseTemplate:null,path:null,pathRoot:null,normalizedValue:Ember.computed(function(){var b=a(this,"path"),d=a(this,"pathRoot"),e=a(this,"valueNormalizerFunc"),f,g;return b===""?f=d:(g=a(this,"templateData"),f=c(d,b,{data:g})),e?e(f):f}).property("path","pathRoot","valueNormalizerFunc").volatile(),rerenderIfNeeded:function(){!a(this,"isDestroyed")&&a(this,"normalizedValue")!==this._lastNormalizedValue&&this.rerender()},render:function(c){var d=a(this,"isEscaped"),e=a(this,"shouldDisplayFunc"),f=a(this,"preserveContext"),g=a(this,"previousContext"),h=a(this,"inverseTemplate"),i=a(this,"displayTemplate"),j=a(this,"normalizedValue");this._lastNormalizedValue=j;if(e(j)){b(this,"template",i);if(f)b(this,"_context",g);else{if(!i){j===null||j===undefined?j="":j instanceof Handlebars.SafeString||(j=String(j)),d&&(j=Handlebars.Utils.escapeExpression(j)),c.push(j);return}b(this,"_context",j)}}else h?(b(this,"template",h),f?b(this,"_context",g):b(this,"_context",j)):b(this,"template",function(){return""});return this._super(c)}})}(),function(){var a=Ember.get,b=Ember.set,c=Ember.String.fmt,d=Ember.Handlebars.getPath,e=Ember.Handlebars.normalizePath,f=Ember.ArrayPolyfills.forEach,g=Ember.Handlebars,h=g.helpers,i=function(a,b,c,f,g){var h=b.data,i=b.fn,j=b.inverse,k=h.view,l=this,m,n,o;o=e(l,a,h),m=o.root,n=o.path;if("object"==typeof this){var p=k.createChildView(Ember._HandlebarsBoundView,{preserveContext:c,shouldDisplayFunc:f,valueNormalizerFunc:g,displayTemplate:i,inverseTemplate:j,path:n,pathRoot:m,previousContext:l,isEscaped:!b.hash.unescaped,templateData:b.data});k.appendChild(p);var q=function(){Ember.run.once(p,"rerenderIfNeeded")};n!==""&&Ember.addObserver(m,n,q)}else h.buffer.push(d(m,n,b))};g.registerHelper("_triageMustache",function(a,b){return h[a]?h[a].call(this,b):h.bind.apply(this,arguments)}),g.registerHelper("bind",function(a,b){var c=b.contexts&&b.contexts[0]||this;return i.call(c,a,b,!1,function(a){return!Ember.none(a)})}),g.registerHelper("boundIf",function(b,c){var d=c.contexts&&c.contexts[0]||this,e=function(b){return Ember.typeOf(b)==="array"?a(b,"length")!==0:!!b};return i.call(d,b,c,!0,e,e)}),g.registerHelper("with",function(a,b){if(arguments.length===4){var c,d,f,g;b=arguments[3],c=arguments[2],d=arguments[0];if(Ember.isGlobalPath(d))Ember.bind(b.data.keywords,c,d);else{g=e(this,d,b.data),d=g.path,f=g.root;var j=Ember.$.expando+Ember.guidFor(f);b.data.keywords[j]=f;var k=d?j+"."+d:j;Ember.bind(b.data.keywords,c,k)}return i.call(this,d,b.fn,!0,function(a){return!Ember.none(a)})}return h.bind.call(b.contexts[0],a,b)}),g.registerHelper("if",function(a,b){return h.boundIf.call(b.contexts[0],a,b)}),g.registerHelper("unless",function(a,b){var c=b.fn,d=b.inverse;return b.fn=d,b.inverse=c,h.boundIf.call(b.contexts[0],a,b)}),g.registerHelper("bindAttr",function(a){var b=a.hash,c=a.data.view,h=[],i=this,j=++Ember.$.uuid,k=b["class"];if(k!==null&&k!==undefined){var l=g.bindClasses(this,k,c,j,a);h.push('class="'+Handlebars.Utils.escapeExpression(l.join(" "))+'"'),delete b["class"]}var m=Ember.keys(b);return f.call(m,function(f){var g=b[f],k,l;l=e(i,g,a.data),k=l.root,g=l.path;var m=g==="this"?k:d(k,g,a),n=Ember.typeOf(m),o,p;o=function(){var e=d(k,g,a),h=c.$("[data-bindattr-"+j+"='"+j+"']");if(h.length===0){Ember.removeObserver(k,g,p);return}Ember.View.applyAttributeBindings(h,f,e)},p=function(){Ember.run.once(o)},g!=="this"&&Ember.addObserver(k,g,p),n==="string"||n==="number"&&!isNaN(m)?h.push(f+'="'+Handlebars.Utils.escapeExpression(m)+'"'):m&&n==="boolean"&&h.push(f+'="'+f+'"')},this),h.push("data-bindattr-"+j+'="'+j+'"'),new g.SafeString(h.join(" "))}),g.bindClasses=function(a,b,c,g,h){var i=[],j,k,l,m=function(a,b,c,e){var f=b!==""?d(a,b,e):!0;if(!!f&&c)return c;if(f===!0){var g=b.split(".");return Ember.String.dasherize(g[g.length-1])}return f!==!1&&f!==undefined&&f!==null?f:null};return f.call(b.split(" "),function(b){var d,f,n,o=b.split(":"),p=o[0],q=o[1],r=a,s;p!==""&&(s=e(a,p,h.data),r=s.root,p=s.path),f=function(){j=m(r,p,q,h),l=g?c.$("[data-bindattr-"+g+"='"+g+"']"):c.$(),l.length===0?Ember.removeObserver(r,p,n):(d&&l.removeClass(d),j?(l.addClass(j),d=j):d=null)},n=function(){Ember.run.once(f)},p!==""&&Ember.addObserver(r,p,n),k=m(r,p,q,h),k&&(i.push(k),d=k)}),i}}(),function(){var a=Ember.get,b=Ember.set,c=/^parentView\./,d=Ember.Handlebars;d.ViewHelper=Ember.Object.create({propertiesFromHTMLOptions:function(a,b){var c=a.hash,d=a.data,e={},f=c["class"],g=!1;c.id&&(e.elementId=c.id,g=!0),f&&(f=f.split(" "),e.classNames=f,g=!0),c.classBinding&&(e.classNameBindings=c.classBinding.split(" "),g=!0),c.classNameBindings&&(e.classNameBindings=c.classNameBindings.split(" "),g=!0),c.attributeBindings&&(e.attributeBindings=null,g=!0),g&&(c=Ember.$.extend({},c),delete c.id,delete c["class"],delete c.classBinding);var h,i;for(var j in c){if(!c.hasOwnProperty(j))continue;Ember.IS_BINDING.test(j)&&typeof c[j]=="string"&&(h=c[j],i=Ember.Handlebars.normalizePath(null,h,d),i.isKeyword?c[j]="templateData.keywords."+h:Ember.isGlobalPath(h)||(h==="this"?c[j]="bindingContext":c[j]="bindingContext."+h))}return e.bindingContext=b,Ember.$.extend(c,e)},helper:function(a,b,c){var e=c.inverse,f=c.data,g=f.view,h=c.fn,i=c.hash,j;"string"==typeof b?j=d.getPath(a,b,c):j=b;var k=this.propertiesFromHTMLOptions(c,a),l=f.view;k.templateData=c.data,h&&(k.template=h),l.appendChild(j,k)}}),d.registerHelper("view",function(a,b){return a&&a.data&&a.data.isRenderData&&(b=a,a="Ember.View"),d.ViewHelper.helper(this,a,b)})}(),function(){var a=Ember.get,b=Ember.Handlebars.getPath,c=Ember.String.fmt;Ember.Handlebars.registerHelper("collection",function(c,d){c&&c.data&&c.data.isRenderData&&(d=c,c=undefined);var e=d.fn,f=d.data,g=d.inverse,h;h=c?b(this,c,d):Ember.CollectionView;var i=d.hash,j={},k,l,m=i.itemViewClass,n=h.proto();delete i.itemViewClass,l=m?b(n,m,d):n.itemViewClass;for(var o in i)i.hasOwnProperty(o)&&(k=o.match(/^item(.)(.*)$/),k&&(j[k[1].toLowerCase()+k[2]]=i[o],delete i[o]));var p=i.tagName||n.tagName;e&&(j.template=e,delete d.fn);var q;g&&g!==Handlebars.VM.noop?(q=a(n,"emptyViewClass"),q=q.extend({template:g,tagName:j.tagName})):i.emptyViewClass&&(q=b(this,i.emptyViewClass,d)),i.emptyView=q,i.eachHelper==="each"&&(j._context=Ember.computed(function(){return a(this,"content")}).property("content"),delete i.eachHelper);var r=Ember.Handlebars.ViewHelper.propertiesFromHTMLOptions({data:f,hash:j},this);return i.itemViewClass=l.extend(r),Ember.Handlebars.helpers.view.call(this,h,d)})}(),function(){var a=Ember.Handlebars.getPath;Ember.Handlebars.registerHelper("unbound",function(b,c){var d=c.contexts&&c.contexts[0]||this;return a(d,b,c)})}(),function(){var a=Ember.Handlebars.getPath,b=Ember.Handlebars.normalizePath;Ember.Handlebars.registerHelper("log",function(c,d){var e=d.contexts&&d.contexts[0]||this,f=b(e,c,d.data),g=f.root,h=f.path,i=h==="this"?g:a(g,h,d);Ember.Logger.log(i)}),Ember.Handlebars.registerHelper("debugger",function(){debugger})}(),function(){var a=Ember.get,b=Ember.set;Ember.Handlebars.EachView=Ember.CollectionView.extend(Ember._Metamorph,{itemViewClass:Ember._MetamorphView,emptyViewClass:Ember._MetamorphView,createChildView:function(c,d){c=this._super(c,d);var e=a(this,"keyword");if(e){var f=a(c,"templateData");f=Ember.copy(f),f.keywords=c.cloneKeywords(),b(c,"templateData",f);var g=a(c,"content");f.keywords[e]=g}return c}}),Ember.Handlebars.registerHelper("each",function(a,b){if(arguments.length===4){var c=arguments[0];b=arguments[3],a=arguments[2],a===""&&(a="this"),b.hash.keyword=c}else b.hash.eachHelper="each";return b.hash.contentBinding=a,Ember.Handlebars.helpers.collection.call(this,"Ember.Handlebars.EachView",b)})}(),function(){Ember.Handlebars.registerHelper("template",function(a,b){var c=Ember.TEMPLATES[a];Ember.TEMPLATES[a](this,{data:b.data})})}(),function(){var a=Ember.Handlebars,b=a.getPath,c=Ember.get,d=a.ActionHelper={registeredActions:{}};d.registerAction=function(a,b,c,e,f){var g=(++Ember.$.uuid).toString();return d.registeredActions[g]={eventName:b,handler:function(b){return b.view=e,b.context=f,c.isState&&typeof c.send=="function"?c.send(a,b):c[a].call(c,b)}},e.on("willRerender",function(){delete d.registeredActions[g]}),g},a.registerHelper("action",function(e,f){var g=f.hash,h=g.on||"click",i=f.data.view,j,k,l;i=c(i,"concreteView");if(g.target)j=b(this,g.target,f);else if(l=f.data.keywords.controller)j=c(l,"target");j=j||i,k=g.context?b(this,g.context,f):f.contexts[0];var m=[],n;g.href&&j.urlForEvent&&(n=j.urlForEvent(e,k),m.push('href="'+n+'"'));var o=d.registerAction(e,h,j,i,k);return m.push('data-ember-action="'+o+'"'),new a.SafeString(m.join(" "))})}(),function(){var a=Ember.get,b=Ember.set;Ember.Handlebars.registerHelper("yield",function(b){var c=b.data.view,d;while(c&&!a(c,"layout"))c=a(c,"parentView");d=a(c,"template"),d&&d(this,b)})}(),function(){Ember.Handlebars.registerHelper("outlet",function(a,b){return a&&a.data&&a.data.isRenderData&&(b=a,a="view"),b.hash.currentViewBinding="controller."+a,Ember.Handlebars.helpers.view.call(this,Ember.ContainerView,b)})}(),function(){}(),function(){}(),function(){var a=Ember.set,b=Ember.get;Ember.Checkbox=Ember.View.extend({classNames:["ember-checkbox"],tagName:"input",attributeBindings:["type","checked","disabled"],type:"checkbox",checked:!1,disabled:!1,init:function(){this._super(),this.on("change",this,this._updateElementValue)},_updateElementValue:function(){a(this,"checked",this.$().prop("checked"))}})}(),function(){var a=Ember.get,b=Ember.set;Ember.TextSupport=Ember.Mixin.create({value:"",attributeBindings:["placeholder","disabled","maxlength"],placeholder:null,disabled:!1,maxlength:null,insertNewline:Ember.K,cancel:Ember.K,init:function(){this._super(),this.on("focusOut",this,this._elementValueDidChange),this.on("change",this,this._elementValueDidChange),this.on("keyUp",this,this.interpretKeyEvents)},interpretKeyEvents:function(a){var b=Ember.TextSupport.KEY_EVENTS,c=b[a.keyCode];this._elementValueDidChange();if(c)return this[c](a)},_elementValueDidChange:function(){b(this,"value",this.$().val())}}),Ember.TextSupport.KEY_EVENTS={13:"insertNewline",27:"cancel"}}(),function(){var a=Ember.get,b=Ember.set;Ember.TextField=Ember.View.extend(Ember.TextSupport,{classNames:["ember-text-field"],tagName:"input",attributeBindings:["type","value","size"],value:"",type:"text",size:null})}(),function(){var a=Ember.get,b=Ember.set;Ember.Button=Ember.View.extend(Ember.TargetActionSupport,{classNames:["ember-button"],classNameBindings:["isActive"],tagName:"button",propagateEvents:!1,attributeBindings:["type","disabled","href"],targetObject:Ember.computed(function(){var b=a(this,"target"),c=a(this,"context"),d=a(this,"templateData");return typeof b!="string"?b:Ember.Handlebars.getPath(c,b,{data:d})}).property("target").cacheable(),type:Ember.computed(function(a,b){var c=this.get("tagName");b!==undefined&&(this._type=b);if(this._type!==undefined)return this._type;if(c==="input"||c==="button")return"button"}).property("tagName").cacheable(),disabled:!1,href:Ember.computed(function(){return this.get("tagName")==="a"?"#":null}).property("tagName").cacheable(),mouseDown:function(){return a(this,"disabled")||(b(this,"isActive",!0),this._mouseDown=!0,this._mouseEntered=!0),a(this,"propagateEvents")},mouseLeave:function(){this._mouseDown&&(b(this,"isActive",!1),this._mouseEntered=!1)},mouseEnter:function(){this._mouseDown&&(b(this,"isActive",!0),this._mouseEntered=!0)},mouseUp:function(c){return a(this,"isActive")&&(this.triggerAction(),b(this,"isActive",!1)),this._mouseDown=!1,this._mouseEntered=!1,a(this,"propagateEvents")},keyDown:function(a){(a.keyCode===13||a.keyCode===32)&&this.mouseDown()},keyUp:function(a){(a.keyCode===13||a.keyCode===32)&&this.mouseUp()},touchStart:function(a){return this.mouseDown(a)},touchEnd:function(a){return this.mouseUp(a)},init:function(){this._super()}})}(),function(){var a=Ember.get,b=Ember.set;Ember.TextArea=Ember.View.extend(Ember.TextSupport,{classNames:["ember-text-area"],tagName:"textarea",attributeBindings:["rows","cols"],rows:null,cols:null,_updateElementValue:Ember.observer(function(){this.$().val(a(this,"value"))},"value"),init:function( -){this._super(),this.on("didInsertElement",this,this._updateElementValue)}})}(),function(){Ember.TabContainerView=Ember.View.extend({init:function(){this._super()}})}(),function(){var a=Ember.get,b=Ember.getPath;Ember.TabPaneView=Ember.View.extend({tabsContainer:Ember.computed(function(){return this.nearestInstanceOf(Ember.TabContainerView)}).property().volatile(),isVisible:Ember.computed(function(){return a(this,"viewName")===b(this,"tabsContainer.currentView")}).property("tabsContainer.currentView").volatile(),init:function(){this._super()}})}(),function(){var a=Ember.get,b=Ember.setPath;Ember.TabView=Ember.View.extend({tabsContainer:Ember.computed(function(){return this.nearestInstanceOf(Ember.TabContainerView)}).property().volatile(),mouseUp:function(){b(this,"tabsContainer.currentView",a(this,"value"))},init:function(){this._super()}})}(),function(){}(),function(){var a=Ember.set,b=Ember.get,c=Ember.getPath,d=Ember.EnumerableUtils.indexOf,e=Ember.EnumerableUtils.indexesOf;Ember.Select=Ember.View.extend({tagName:"select",classNames:["ember-select"],defaultTemplate:Ember.Handlebars.template(function(b,c,d,e,f){function q(a,b){var c="",e,f,g,h;return b.buffer.push(""),c}function r(a,b){var c,e,f,g;c=a,e="Ember.SelectOption",f={},g="this",f.contentBinding=g,g=d.view||a.view,k={},k.hash=f,k.contexts=[],k.contexts.push(c),k.data=b,typeof g===m?c=g.call(a,e,k):g===o?c=n.call(a,"view",e,k):c=g,b.buffer.push(p(c))}d=d||Ember.Handlebars.helpers;var g="",h,i,j,k,l=this,m="function",n=d.helperMissing,o=void 0,p=this.escapeExpression;return h=c,i="view.prompt",j=d["if"],k=l.program(1,q,f),k.hash={},k.contexts=[],k.contexts.push(h),k.fn=k,k.inverse=l.noop,k.data=f,h=j.call(c,i,k),(h||h===0)&&f.buffer.push(h),h=c,i="view.content",j=d.each,k=l.program(3,r,f),k.hash={},k.contexts=[],k.contexts.push(h),k.fn=k,k.inverse=l.noop,k.data=f,h=j.call(c,i,k),(h||h===0)&&f.buffer.push(h),g}),attributeBindings:["multiple"],multiple:!1,content:null,selection:null,value:Ember.computed(function(a,d){if(arguments.length===2)return d;var e=b(this,"optionValuePath").replace(/^content\.?/,"");return e?c(this,"selection."+e):b(this,"selection")}).property("selection").cacheable(),prompt:null,optionLabelPath:"content",optionValuePath:"content",_change:function(){b(this,"multiple")?this._changeMultiple():this._changeSingle()},selectionDidChange:Ember.observer(function(){var c=b(this,"selection"),d=Ember.isArray(c);if(b(this,"multiple")){if(!d){a(this,"selection",Ember.A([c]));return}this._selectionDidChangeMultiple()}else this._selectionDidChangeSingle()},"selection"),valueDidChange:Ember.observer(function(){var a=b(this,"content"),d=b(this,"value"),e=b(this,"optionValuePath").replace(/^content\.?/,""),f=e?c(this,"selection."+e):b(this,"selection"),g;d!==f&&(g=a.find(function(a){return d===(e?b(a,e):a)}),this.set("selection",g))},"value"),_triggerChange:function(){var a=b(this,"selection");a&&this.selectionDidChange(),this._change()},_changeSingle:function(){var c=this.$()[0].selectedIndex,d=b(this,"content"),e=b(this,"prompt");if(!d)return;if(e&&c===0){a(this,"selection",null);return}e&&(c-=1),a(this,"selection",d.objectAt(c))},_changeMultiple:function(){var c=this.$("option:selected"),d=b(this,"prompt"),e=d?1:0,f=b(this,"content");if(!f)return;if(c){var g=c.map(function(){return this.index-e}).toArray();a(this,"selection",f.objectsAt(g))}},_selectionDidChangeSingle:function(){var a=this.$()[0],c=b(this,"content"),e=b(this,"selection"),f=c?d(c,e):-1,g=b(this,"prompt");g&&(f+=1),a&&(a.selectedIndex=f)},_selectionDidChangeMultiple:function(){var a=b(this,"content"),c=b(this,"selection"),f=a?e(a,c):[-1],g=b(this,"prompt"),h=g?1:0,i=this.$("option"),j;i&&i.each(function(){j=this.index>-1?this.index+h:-1,this.selected=d(f,j)>-1})},init:function(){this._super(),this.on("didInsertElement",this,this._triggerChange),this.on("change",this,this._change)}}),Ember.SelectOption=Ember.View.extend({tagName:"option",attributeBindings:["value","selected"],defaultTemplate:function(a,b){b={data:b.data,hash:{}},Ember.Handlebars.helpers.bind.call(a,"view.label",b)},init:function(){this.labelPathDidChange(),this.valuePathDidChange(),this._super()},selected:Ember.computed(function(){var a=b(this,"content"),e=c(this,"parentView.selection");return c(this,"parentView.multiple")?e&&d(e,a)>-1:a==e}).property("content","parentView.selection").volatile(),labelPathDidChange:Ember.observer(function(){var a=c(this,"parentView.optionLabelPath");if(!a)return;Ember.defineProperty(this,"label",Ember.computed(function(){return c(this,a)}).property(a).cacheable())},"parentView.optionLabelPath"),valuePathDidChange:Ember.observer(function(){var a=c(this,"parentView.optionValuePath");if(!a)return;Ember.defineProperty(this,"value",Ember.computed(function(){return c(this,a)}).property(a).cacheable())},"parentView.optionValuePath")})}(),function(){}(),function(){Ember.Handlebars.bootstrap=function(a){var b='script[type="text/x-handlebars"], script[type="text/x-raw-handlebars"]';Ember.ENV.LEGACY_HANDLEBARS_TAGS&&(b+=', script[type="text/html"]'),Ember.$(b,a).each(function(){var a=Ember.$(this),b=a.attr("type"),c=a.attr("type")==="text/x-raw-handlebars"?Ember.$.proxy(Handlebars.compile,Handlebars):Ember.$.proxy(Ember.Handlebars.compile,Ember.Handlebars),d=a.attr("data-template-name")||a.attr("id"),e=c(a.html()),f,g,h,i;if(d)Ember.TEMPLATES[d]=e,a.remove();else{if(a.parents("head").length!==0)throw new Ember.Error("Template found in without a name specified. Please provide a data-template-name attribute.\n"+a.html());g=a.attr("data-view"),f=g?Ember.getPath(g):Ember.View,h=a.attr("data-element-id"),i={template:e},h&&(i.elementId=h),f=f.create(i),f._insertElementLater(function(){a.replaceWith(this.$()),a=null})}})},Ember.$(document).ready(function(){Ember.Handlebars.bootstrap(Ember.$(document))})}(),function(){}(); diff --git a/dependency-examples/emberjs_require/js/lib/require/require.js b/dependency-examples/emberjs_require/js/lib/require/require.js deleted file mode 100644 index b6090d17a8..0000000000 --- a/dependency-examples/emberjs_require/js/lib/require/require.js +++ /dev/null @@ -1,31 +0,0 @@ -/* - RequireJS 1.0.2 Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved. - Available via the MIT or new BSD license. - see: http://github.com/jrburke/requirejs for details -*/ -var requirejs,require,define; -(function(){function J(a){return M.call(a)==="[object Function]"}function E(a){return M.call(a)==="[object Array]"}function Z(a,c,h){for(var k in c)if(!(k in K)&&(!(k in a)||h))a[k]=c[k];return d}function N(a,c,d){a=Error(c+"\nhttp://requirejs.org/docs/errors.html#"+a);if(d)a.originalError=d;return a}function $(a,c,d){var k,j,q;for(k=0;q=c[k];k++){q=typeof q==="string"?{name:q}:q;j=q.location;if(d&&(!j||j.indexOf("/")!==0&&j.indexOf(":")===-1))j=d+"/"+(j||q.name);a[q.name]={name:q.name,location:j|| -q.name,main:(q.main||"main").replace(ea,"").replace(aa,"")}}}function V(a,c){a.holdReady?a.holdReady(c):c?a.readyWait+=1:a.ready(!0)}function fa(a){function c(b,l){var f,a;if(b&&b.charAt(0)===".")if(l){p.pkgs[l]?l=[l]:(l=l.split("/"),l=l.slice(0,l.length-1));f=b=l.concat(b.split("/"));var c;for(a=0;c=f[a];a++)if(c===".")f.splice(a,1),a-=1;else if(c==="..")if(a===1&&(f[2]===".."||f[0]===".."))break;else a>0&&(f.splice(a-1,2),a-=2);a=p.pkgs[f=b[0]];b=b.join("/");a&&b===f+"/"+a.main&&(b=f)}else b.indexOf("./")=== -0&&(b=b.substring(2));return b}function h(b,l){var f=b?b.indexOf("!"):-1,a=null,d=l?l.name:null,i=b,e,h;f!==-1&&(a=b.substring(0,f),b=b.substring(f+1,b.length));a&&(a=c(a,d));b&&(a?e=(f=m[a])&&f.normalize?f.normalize(b,function(b){return c(b,d)}):c(b,d):(e=c(b,d),h=E[e],h||(h=g.nameToUrl(e,null,l),E[e]=h)));return{prefix:a,name:e,parentMap:l,url:h,originalName:i,fullName:a?a+"!"+(e||""):e}}function k(){var b=!0,l=p.priorityWait,f,a;if(l){for(a=0;f=l[a];a++)if(!s[f]){b=!1;break}b&&delete p.priorityWait}return b} -function j(b,l,f){return function(){var a=ga.call(arguments,0),c;if(f&&J(c=a[a.length-1]))c.__requireJsBuild=!0;a.push(l);return b.apply(null,a)}}function q(b,l){var a=j(g.require,b,l);Z(a,{nameToUrl:j(g.nameToUrl,b),toUrl:j(g.toUrl,b),defined:j(g.requireDefined,b),specified:j(g.requireSpecified,b),isBrowser:d.isBrowser});return a}function o(b){var l,a,c,C=b.callback,i=b.map,e=i.fullName,ba=b.deps;c=b.listeners;if(C&&J(C)){if(p.catchError.define)try{a=d.execCb(e,b.callback,ba,m[e])}catch(k){l=k}else a= -d.execCb(e,b.callback,ba,m[e]);if(e)(C=b.cjsModule)&&C.exports!==void 0&&C.exports!==m[e]?a=m[e]=b.cjsModule.exports:a===void 0&&b.usingExports?a=m[e]:(m[e]=a,F[e]&&(Q[e]=!0))}else e&&(a=m[e]=C,F[e]&&(Q[e]=!0));if(D[b.id])delete D[b.id],b.isDone=!0,g.waitCount-=1,g.waitCount===0&&(I=[]);delete R[e];if(d.onResourceLoad&&!b.placeholder)d.onResourceLoad(g,i,b.depArray);if(l)return a=(e?h(e).url:"")||l.fileName||l.sourceURL,c=l.moduleTree,l=N("defineerror",'Error evaluating module "'+e+'" at location "'+ -a+'":\n'+l+"\nfileName:"+a+"\nlineNumber: "+(l.lineNumber||l.line),l),l.moduleName=e,l.moduleTree=c,d.onError(l);for(l=0;C=c[l];l++)C(a)}function r(b,a){return function(f){b.depDone[a]||(b.depDone[a]=!0,b.deps[a]=f,b.depCount-=1,b.depCount||o(b))}}function u(b,a){var f=a.map,c=f.fullName,h=f.name,i=L[b]||(L[b]=m[b]),e;if(!a.loading)a.loading=!0,e=function(b){a.callback=function(){return b};o(a);s[a.id]=!0;w()},e.fromText=function(b,a){var l=O;s[b]=!1;g.scriptCount+=1;g.fake[b]=!0;l&&(O=!1);d.exec(a); -l&&(O=!0);g.completeLoad(b)},c in m?e(m[c]):i.load(h,q(f.parentMap,!0),e,p)}function v(b){D[b.id]||(D[b.id]=b,I.push(b),g.waitCount+=1)}function B(b){this.listeners.push(b)}function t(b,a){var f=b.fullName,c=b.prefix,d=c?L[c]||(L[c]=m[c]):null,i,e;f&&(i=R[f]);if(!i&&(e=!0,i={id:(c&&!d?M++ +"__p@:":"")+(f||"__r@"+M++),map:b,depCount:0,depDone:[],depCallbacks:[],deps:[],listeners:[],add:B},y[i.id]=!0,f&&(!c||L[c])))R[f]=i;c&&!d?(f=t(h(c),!0),f.add(function(){var a=h(b.originalName,b.parentMap),a=t(a, -!0);i.placeholder=!0;a.add(function(b){i.callback=function(){return b};o(i)})})):e&&a&&(s[i.id]=!1,g.paused.push(i),v(i));return i}function x(b,a,f,c){var b=h(b,c),d=b.name,i=b.fullName,e=t(b),k=e.id,j=e.deps,n;if(i){if(i in m||s[k]===!0||i==="jquery"&&p.jQuery&&p.jQuery!==f().fn.jquery)return;y[k]=!0;s[k]=!0;i==="jquery"&&f&&S(f())}e.depArray=a;e.callback=f;for(f=0;f0)){if(p.priorityWait)if(k())w();else return;for(j in s)if(!(j in K)&&(c=!0,!s[j]))if(a)b+=j+" ";else{h=!0;break}if(c||g.waitCount){if(a&&b)return j=N("timeout","Load timeout for modules: "+b),j.requireType="timeout",j.requireModules=b,d.onError(j);if(h||g.scriptCount){if((G||ca)&&!W)W=setTimeout(function(){W=0;A()},50)}else{if(g.waitCount){for(H= -0;b=I[H];H++)z(b,{});g.paused.length&&w();X<5&&(X+=1,A())}X=0;d.checkReadyState()}}}}var g,w,p={waitSeconds:7,baseUrl:"./",paths:{},pkgs:{},catchError:{}},P=[],y={require:!0,exports:!0,module:!0},E={},m={},s={},D={},I=[],T={},M=0,R={},L={},F={},Q={},Y=0;S=function(b){if(!g.jQuery&&(b=b||(typeof jQuery!=="undefined"?jQuery:null))&&!(p.jQuery&&b.fn.jquery!==p.jQuery)&&("holdReady"in b||"readyWait"in b))if(g.jQuery=b,n(["jquery",[],function(){return jQuery}]),g.scriptCount)V(b,!0),g.jQueryIncremented= -!0};w=function(){var b,a,c,h,j,i;Y+=1;if(g.scriptCount<=0)g.scriptCount=0;for(;P.length;)if(b=P.shift(),b[0]===null)return d.onError(N("mismatch","Mismatched anonymous define() module: "+b[b.length-1]));else n(b);if(!p.priorityWait||k())for(;g.paused.length;){j=g.paused;g.pausedCount+=j.length;g.paused=[];for(h=0;b=j[h];h++)a=b.map,c=a.url,i=a.fullName,a.prefix?u(a.prefix,b):!T[c]&&!s[i]&&(d.load(g,i,c),c.indexOf("empty:")!==0&&(T[c]=!0));g.startTime=(new Date).getTime();g.pausedCount-=j.length}Y=== -1&&A();Y-=1};g={contextName:a,config:p,defQueue:P,waiting:D,waitCount:0,specified:y,loaded:s,urlMap:E,urlFetched:T,scriptCount:0,defined:m,paused:[],pausedCount:0,plugins:L,needFullExec:F,fake:{},fullExec:Q,managerCallbacks:R,makeModuleMap:h,normalize:c,configure:function(b){var a,c,d;b.baseUrl&&b.baseUrl.charAt(b.baseUrl.length-1)!=="/"&&(b.baseUrl+="/");a=p.paths;d=p.pkgs;Z(p,b,!0);if(b.paths){for(c in b.paths)c in K||(a[c]=b.paths[c]);p.paths=a}if((a=b.packagePaths)||b.packages){if(a)for(c in a)c in -K||$(d,a[c],c);b.packages&&$(d,b.packages);p.pkgs=d}if(b.priority)c=g.requireWait,g.requireWait=!1,g.takeGlobalQueue(),w(),g.require(b.priority),w(),g.requireWait=c,p.priorityWait=b.priority;if(b.deps||b.callback)g.require(b.deps||[],b.callback)},requireDefined:function(b,a){return h(b,a).fullName in m},requireSpecified:function(b,a){return h(b,a).fullName in y},require:function(b,c,f){if(typeof b==="string"){if(J(c))return d.onError(N("requireargs","Invalid require call"));if(d.get)return d.get(g, -b,c);c=h(b,c);b=c.fullName;return!(b in m)?d.onError(N("notloaded","Module name '"+c.fullName+"' has not been loaded yet for context: "+a)):m[b]}(b&&b.length||c)&&x(null,b,c,f);if(!g.requireWait)for(;!g.scriptCount&&g.paused.length;)g.takeGlobalQueue(),w();return g.require},takeGlobalQueue:function(){U.length&&(ha.apply(g.defQueue,[g.defQueue.length-1,0].concat(U)),U=[])},completeLoad:function(b){var a;for(g.takeGlobalQueue();P.length;)if(a=P.shift(),a[0]===null){a[0]=b;break}else if(a[0]===b)break; -else n(a),a=null;a?n(a):n([b,[],b==="jquery"&&typeof jQuery!=="undefined"?function(){return jQuery}:null]);S();d.isAsync&&(g.scriptCount-=1);w();d.isAsync||(g.scriptCount-=1)},toUrl:function(a,c){var d=a.lastIndexOf("."),h=null;d!==-1&&(h=a.substring(d,a.length),a=a.substring(0,d));return g.nameToUrl(a,h,c)},nameToUrl:function(a,h,f){var j,k,i,e,m=g.config,a=c(a,f&&f.fullName);if(d.jsExtRegExp.test(a))h=a+(h?h:"");else{j=m.paths;k=m.pkgs;f=a.split("/");for(e=f.length;e>0;e--)if(i=f.slice(0,e).join("/"), -j[i]){f.splice(0,e,j[i]);break}else if(i=k[i]){a=a===i.name?i.location+"/"+i.main:i.location;f.splice(0,e,a);break}h=f.join("/")+(h||".js");h=(h.charAt(0)==="/"||h.match(/^\w+:/)?"":m.baseUrl)+h}return m.urlArgs?h+((h.indexOf("?")===-1?"?":"&")+m.urlArgs):h}};g.jQueryCheck=S;g.resume=w;return g}function ia(){var a,c,d;if(n&&n.readyState==="interactive")return n;a=document.getElementsByTagName("script");for(c=a.length-1;c>-1&&(d=a[c]);c--)if(d.readyState==="interactive")return n=d;return null}var ja= -/(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/mg,ka=/require\(\s*["']([^'"\s]+)["']\s*\)/g,ea=/^\.\//,aa=/\.js$/,M=Object.prototype.toString,r=Array.prototype,ga=r.slice,ha=r.splice,G=!!(typeof window!=="undefined"&&navigator&&document),ca=!G&&typeof importScripts!=="undefined",la=G&&navigator.platform==="PLAYSTATION 3"?/^complete$/:/^(complete|loaded)$/,da=typeof opera!=="undefined"&&opera.toString()==="[object Opera]",K={},t={},U=[],n=null,X=0,O=!1,d,r={},I,v,x,y,u,z,A,H,B,S,W;if(typeof define==="undefined"){if(typeof requirejs!== -"undefined")if(J(requirejs))return;else r=requirejs,requirejs=void 0;typeof require!=="undefined"&&!J(require)&&(r=require,require=void 0);d=requirejs=function(a,c,d){var k="_",j;!E(a)&&typeof a!=="string"&&(j=a,E(c)?(a=c,c=d):a=[]);if(j&&j.context)k=j.context;d=t[k]||(t[k]=fa(k));j&&d.configure(j);return d.require(a,c)};d.config=function(a){return d(a)};require||(require=d);d.toUrl=function(a){return t._.toUrl(a)};d.version="1.0.2";d.jsExtRegExp=/^\/|:|\?|\.js$/;v=d.s={contexts:t,skipAsync:{}};if(d.isAsync= -d.isBrowser=G)if(x=v.head=document.getElementsByTagName("head")[0],y=document.getElementsByTagName("base")[0])x=v.head=y.parentNode;d.onError=function(a){throw a;};d.load=function(a,c,h){d.resourcesReady(!1);a.scriptCount+=1;d.attach(h,a,c);if(a.jQuery&&!a.jQueryIncremented)V(a.jQuery,!0),a.jQueryIncremented=!0};define=function(a,c,d){var k,j;typeof a!=="string"&&(d=c,c=a,a=null);E(c)||(d=c,c=[]);!c.length&&J(d)&&d.length&&(d.toString().replace(ja,"").replace(ka,function(a,d){c.push(d)}),c=(d.length=== -1?["require"]:["require","exports","module"]).concat(c));if(O&&(k=I||ia()))a||(a=k.getAttribute("data-requiremodule")),j=t[k.getAttribute("data-requirecontext")];(j?j.defQueue:U).push([a,c,d])};define.amd={multiversion:!0,plugins:!0,jQuery:!0};d.exec=function(a){return eval(a)};d.execCb=function(a,c,d,k){return c.apply(k,d)};d.addScriptToDom=function(a){I=a;y?x.insertBefore(a,y):x.appendChild(a);I=null};d.onScriptLoad=function(a){var c=a.currentTarget||a.srcElement,h;if(a.type==="load"||c&&la.test(c.readyState))n= -null,a=c.getAttribute("data-requirecontext"),h=c.getAttribute("data-requiremodule"),t[a].completeLoad(h),c.detachEvent&&!da?c.detachEvent("onreadystatechange",d.onScriptLoad):c.removeEventListener("load",d.onScriptLoad,!1)};d.attach=function(a,c,h,k,j,n){var o;if(G)return k=k||d.onScriptLoad,o=c&&c.config&&c.config.xhtml?document.createElementNS("http://www.w3.org/1999/xhtml","html:script"):document.createElement("script"),o.type=j||"text/javascript",o.charset="utf-8",o.async=!v.skipAsync[a],c&&o.setAttribute("data-requirecontext", -c.contextName),o.setAttribute("data-requiremodule",h),o.attachEvent&&!da?(O=!0,n?o.onreadystatechange=function(){if(o.readyState==="loaded")o.onreadystatechange=null,o.attachEvent("onreadystatechange",k),n(o)}:o.attachEvent("onreadystatechange",k)):o.addEventListener("load",k,!1),o.src=a,n||d.addScriptToDom(o),o;else ca&&(importScripts(a),c.completeLoad(h));return null};if(G){u=document.getElementsByTagName("script");for(H=u.length-1;H>-1&&(z=u[H]);H--){if(!x)x=z.parentNode;if(A=z.getAttribute("data-main")){if(!r.baseUrl)u= -A.split("/"),z=u.pop(),u=u.length?u.join("/")+"/":"./",r.baseUrl=u,A=z.replace(aa,"");r.deps=r.deps?r.deps.concat(A):[A];break}}}d.checkReadyState=function(){var a=v.contexts,c;for(c in a)if(!(c in K)&&a[c].waitCount)return;d.resourcesReady(!0)};d.resourcesReady=function(a){var c,h;d.resourcesDone=a;if(d.resourcesDone)for(h in a=v.contexts,a)if(!(h in K)&&(c=a[h],c.jQueryIncremented))V(c.jQuery,!1),c.jQueryIncremented=!1};d.pageLoaded=function(){if(document.readyState!=="complete")document.readyState= -"complete"};if(G&&document.addEventListener&&!document.readyState)document.readyState="loading",window.addEventListener("load",d.pageLoaded,!1);d(r);if(d.isAsync&&typeof setTimeout!=="undefined")B=v.contexts[r.context||"_"],B.requireWait=!0,setTimeout(function(){B.requireWait=!1;B.takeGlobalQueue();B.jQueryCheck();B.scriptCount||B.resume();d.checkReadyState()},0)}})(); diff --git a/dependency-examples/emberjs_require/js/lib/require/text.js b/dependency-examples/emberjs_require/js/lib/require/text.js deleted file mode 100644 index 0caaacf2c9..0000000000 --- a/dependency-examples/emberjs_require/js/lib/require/text.js +++ /dev/null @@ -1,11 +0,0 @@ -/* - RequireJS text 0.27.0 Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved. - Available via the MIT or new BSD license. - see: http://github.com/jrburke/requirejs for details -*/ -(function(){var k=["Msxml2.XMLHTTP","Microsoft.XMLHTTP","Msxml2.XMLHTTP.4.0"],n=/^\s*<\?xml(\s)+version=[\'\"](\d)*.(\d)*[\'\"](\s)*\?>/im,o=/]*>\s*([\s\S]+)\s*<\/body>/im,i=typeof location!=="undefined"&&location.href,p=i&&location.protocol&&location.protocol.replace(/\:/,""),q=i&&location.hostname,r=i&&(location.port||void 0),j=[];define(function(){var g,h,l;typeof window!=="undefined"&&window.navigator&&window.document?h=function(a,b){var c=g.createXhr();c.open("GET",a,!0);c.onreadystatechange= -function(){c.readyState===4&&b(c.responseText)};c.send(null)}:typeof process!=="undefined"&&process.versions&&process.versions.node?(l=require.nodeRequire("fs"),h=function(a,b){b(l.readFileSync(a,"utf8"))}):typeof Packages!=="undefined"&&(h=function(a,b){var c=new java.io.File(a),e=java.lang.System.getProperty("line.separator"),c=new java.io.BufferedReader(new java.io.InputStreamReader(new java.io.FileInputStream(c),"utf-8")),d,f,g="";try{d=new java.lang.StringBuffer;(f=c.readLine())&&f.length()&& -f.charAt(0)===65279&&(f=f.substring(1));for(d.append(f);(f=c.readLine())!==null;)d.append(e),d.append(f);g=String(d.toString())}finally{c.close()}b(g)});return g={version:"0.27.0",strip:function(a){if(a){var a=a.replace(n,""),b=a.match(o);b&&(a=b[1])}else a="";return a},jsEscape:function(a){return a.replace(/(['\\])/g,"\\$1").replace(/[\f]/g,"\\f").replace(/[\b]/g,"\\b").replace(/[\n]/g,"\\n").replace(/[\t]/g,"\\t").replace(/[\r]/g,"\\r")},createXhr:function(){var a,b,c;if(typeof XMLHttpRequest!== -"undefined")return new XMLHttpRequest;else for(b=0;b<3;b++){c=k[b];try{a=new ActiveXObject(c)}catch(e){}if(a){k=[c];break}}if(!a)throw Error("createXhr(): XMLHttpRequest not available");return a},get:h,parseName:function(a){var b=!1,c=a.indexOf("."),e=a.substring(0,c),a=a.substring(c+1,a.length),c=a.indexOf("!");c!==-1&&(b=a.substring(c+1,a.length),b=b==="strip",a=a.substring(0,c));return{moduleName:e,ext:a,strip:b}},xdRegExp:/^((\w+)\:)?\/\/([^\/\\]+)/,useXhr:function(a,b,c,e){var d=g.xdRegExp.exec(a), -f;if(!d)return!0;a=d[2];d=d[3];d=d.split(":");f=d[1];d=d[0];return(!a||a===b)&&(!d||d===c)&&(!f&&!d||f===e)},finishLoad:function(a,b,c,e,d){c=b?g.strip(c):c;d.isBuild&&d.inlineText&&(j[a]=c);e(c)},load:function(a,b,c,e){var d=g.parseName(a),f=d.moduleName+"."+d.ext,m=b.toUrl(f),h=e&&e.text&&e.text.useXhr||g.useXhr;!i||h(m,p,q,r)?g.get(m,function(b){g.finishLoad(a,d.strip,b,c,e)}):b([f],function(a){g.finishLoad(d.moduleName+"."+d.ext,d.strip,a,c,e)})},write:function(a,b,c){if(b in j){var e=g.jsEscape(j[b]); -c.asModule(a+"!"+b,"define(function () { return '"+e+"';});\n")}},writeFile:function(a,b,c,e,d){var b=g.parseName(b),f=b.moduleName+"."+b.ext,h=c.toUrl(b.moduleName+"."+b.ext)+".js";g.load(f,c,function(){var b=function(a){return e(h,a)};b.asModule=function(a,b){return e.asModule(a,h,b)};g.write(a,f,b,d)},d)}}})})(); diff --git a/dependency-examples/emberjs_require/readme.md b/dependency-examples/emberjs_require/readme.md index a2aaabb05b..8ac53e930e 100644 --- a/dependency-examples/emberjs_require/readme.md +++ b/dependency-examples/emberjs_require/readme.md @@ -1,13 +1,7 @@ # Ember.js + Require.js • [TodoMVC](http://todomvc.com) +This example was removed, because the Ember.js dependency injection architecture +does not provide appropriate hooks for asynchronous module loading yet and thus +the use of Require.js with Ember.js is not advised. -## Running tests - -To fire specs runner, append `#specs` to the url in address bar, and reload the webpage. - - -## Credit - -Initial release by @tomdale. - -Refactoring and maintenance by @stas. +For more information, [read the discussion](https://github.com/addyosmani/todomvc/pull/528).