Last active
December 22, 2015 09:38
-
-
Save bkardell/6452880 to your computer and use it in GitHub Desktop.
demo for discussion
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <!doctype html> | |
| <html> | |
| <head> | |
| <link type="text/promised-json" | |
| data-src="https://rawgithub.com/gnip/764239/raw/6c6a2297f3e4e29a626f07db0c57b45af7d7e5d7/Twitter+%28json+format%29.js" | |
| data-promise="my.twitter.data"> | |
| <link type="text/promised-script" | |
| data-src="https://rawgithub.com/wycats/handlebars.js/1.0.0/dist/handlebars.js" | |
| data-promise="my.handlebars.code"> | |
| <script> | |
| /* RSVP PROMISES INLINED FOR GIST .... */ | |
| (function(globals) { | |
| var define, requireModule; | |
| (function() { | |
| var registry = {}, seen = {}; | |
| define = function(name, deps, callback) { | |
| registry[name] = { deps: deps, callback: callback }; | |
| }; | |
| requireModule = function(name) { | |
| if (seen[name]) { return seen[name]; } | |
| seen[name] = {}; | |
| var mod = registry[name]; | |
| if (!mod) { | |
| throw new Error("Module '" + name + "' not found."); | |
| } | |
| var deps = mod.deps, | |
| callback = mod.callback, | |
| reified = [], | |
| exports; | |
| for (var i=0, l=deps.length; i<l; i++) { | |
| if (deps[i] === 'exports') { | |
| reified.push(exports = {}); | |
| } else { | |
| reified.push(requireModule(deps[i])); | |
| } | |
| } | |
| var value = callback.apply(this, reified); | |
| return seen[name] = exports || value; | |
| }; | |
| })(); | |
| define("rsvp/all", | |
| ["rsvp/promise","exports"], | |
| function(__dependency1__, __exports__) { | |
| "use strict"; | |
| var Promise = __dependency1__.Promise; | |
| /* global toString */ | |
| function all(promises) { | |
| if (Object.prototype.toString.call(promises) !== "[object Array]") { | |
| throw new TypeError('You must pass an array to all.'); | |
| } | |
| return new Promise(function(resolve, reject) { | |
| var results = [], remaining = promises.length, | |
| promise; | |
| if (remaining === 0) { | |
| resolve([]); | |
| } | |
| function resolver(index) { | |
| return function(value) { | |
| resolveAll(index, value); | |
| }; | |
| } | |
| function resolveAll(index, value) { | |
| results[index] = value; | |
| if (--remaining === 0) { | |
| resolve(results); | |
| } | |
| } | |
| for (var i = 0; i < promises.length; i++) { | |
| promise = promises[i]; | |
| if (promise && typeof promise.then === 'function') { | |
| promise.then(resolver(i), reject); | |
| } else { | |
| resolveAll(i, promise); | |
| } | |
| } | |
| }); | |
| } | |
| __exports__.all = all; | |
| }); | |
| define("rsvp/async", | |
| ["exports"], | |
| function(__exports__) { | |
| "use strict"; | |
| var browserGlobal = (typeof window !== 'undefined') ? window : {}; | |
| var BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver; | |
| var async; | |
| var local = (typeof global !== 'undefined') ? global : this; | |
| // old node | |
| function useNextTick() { | |
| return function(callback, arg) { | |
| process.nextTick(function() { | |
| callback(arg); | |
| }); | |
| }; | |
| } | |
| // node >= 0.10.x | |
| function useSetImmediate() { | |
| return function(callback, arg) { | |
| /* global setImmediate */ | |
| setImmediate(function(){ | |
| callback(arg); | |
| }); | |
| }; | |
| } | |
| function useMutationObserver() { | |
| var queue = []; | |
| var observer = new BrowserMutationObserver(function() { | |
| var toProcess = queue.slice(); | |
| queue = []; | |
| toProcess.forEach(function(tuple) { | |
| var callback = tuple[0], arg= tuple[1]; | |
| callback(arg); | |
| }); | |
| }); | |
| var element = document.createElement('div'); | |
| observer.observe(element, { attributes: true }); | |
| // Chrome Memory Leak: https://bugs.webkit.org/show_bug.cgi?id=93661 | |
| window.addEventListener('unload', function(){ | |
| observer.disconnect(); | |
| observer = null; | |
| }, false); | |
| return function(callback, arg) { | |
| queue.push([callback, arg]); | |
| element.setAttribute('drainQueue', 'drainQueue'); | |
| }; | |
| } | |
| function useSetTimeout() { | |
| return function(callback, arg) { | |
| local.setTimeout(function() { | |
| callback(arg); | |
| }, 1); | |
| }; | |
| } | |
| if (typeof setImmediate === 'function') { | |
| async = useSetImmediate(); | |
| } else if (typeof process !== 'undefined' && {}.toString.call(process) === '[object process]') { | |
| async = useNextTick(); | |
| } else if (BrowserMutationObserver) { | |
| async = useMutationObserver(); | |
| } else { | |
| async = useSetTimeout(); | |
| } | |
| __exports__.async = async; | |
| }); | |
| define("rsvp/config", | |
| ["rsvp/async","exports"], | |
| function(__dependency1__, __exports__) { | |
| "use strict"; | |
| var async = __dependency1__.async; | |
| var config = {}; | |
| config.async = async; | |
| __exports__.config = config; | |
| }); | |
| define("rsvp/defer", | |
| ["rsvp/promise","exports"], | |
| function(__dependency1__, __exports__) { | |
| "use strict"; | |
| var Promise = __dependency1__.Promise; | |
| function defer() { | |
| var deferred = { | |
| // pre-allocate shape | |
| resolve: undefined, | |
| reject: undefined, | |
| promise: undefined | |
| }; | |
| deferred.promise = new Promise(function(resolve, reject) { | |
| deferred.resolve = resolve; | |
| deferred.reject = reject; | |
| }); | |
| return deferred; | |
| } | |
| __exports__.defer = defer; | |
| }); | |
| define("rsvp/events", | |
| ["exports"], | |
| function(__exports__) { | |
| "use strict"; | |
| var Event = function(type, options) { | |
| this.type = type; | |
| for (var option in options) { | |
| if (!options.hasOwnProperty(option)) { continue; } | |
| this[option] = options[option]; | |
| } | |
| }; | |
| var indexOf = function(callbacks, callback) { | |
| for (var i=0, l=callbacks.length; i<l; i++) { | |
| if (callbacks[i][0] === callback) { return i; } | |
| } | |
| return -1; | |
| }; | |
| var callbacksFor = function(object) { | |
| var callbacks = object._promiseCallbacks; | |
| if (!callbacks) { | |
| callbacks = object._promiseCallbacks = {}; | |
| } | |
| return callbacks; | |
| }; | |
| var EventTarget = { | |
| mixin: function(object) { | |
| object.on = this.on; | |
| object.off = this.off; | |
| object.trigger = this.trigger; | |
| return object; | |
| }, | |
| on: function(eventNames, callback, binding) { | |
| var allCallbacks = callbacksFor(this), callbacks, eventName; | |
| eventNames = eventNames.split(/\s+/); | |
| binding = binding || this; | |
| while (eventName = eventNames.shift()) { | |
| callbacks = allCallbacks[eventName]; | |
| if (!callbacks) { | |
| callbacks = allCallbacks[eventName] = []; | |
| } | |
| if (indexOf(callbacks, callback) === -1) { | |
| callbacks.push([callback, binding]); | |
| } | |
| } | |
| }, | |
| off: function(eventNames, callback) { | |
| var allCallbacks = callbacksFor(this), callbacks, eventName, index; | |
| eventNames = eventNames.split(/\s+/); | |
| while (eventName = eventNames.shift()) { | |
| if (!callback) { | |
| allCallbacks[eventName] = []; | |
| continue; | |
| } | |
| callbacks = allCallbacks[eventName]; | |
| index = indexOf(callbacks, callback); | |
| if (index !== -1) { callbacks.splice(index, 1); } | |
| } | |
| }, | |
| trigger: function(eventName, options) { | |
| var allCallbacks = callbacksFor(this), | |
| callbacks, callbackTuple, callback, binding, event; | |
| if (callbacks = allCallbacks[eventName]) { | |
| // Don't cache the callbacks.length since it may grow | |
| for (var i=0; i<callbacks.length; i++) { | |
| callbackTuple = callbacks[i]; | |
| callback = callbackTuple[0]; | |
| binding = callbackTuple[1]; | |
| if (typeof options !== 'object') { | |
| options = { detail: options }; | |
| } | |
| event = new Event(eventName, options); | |
| callback.call(binding, event); | |
| } | |
| } | |
| } | |
| }; | |
| __exports__.EventTarget = EventTarget; | |
| }); | |
| define("rsvp/hash", | |
| ["rsvp/defer","exports"], | |
| function(__dependency1__, __exports__) { | |
| "use strict"; | |
| var defer = __dependency1__.defer; | |
| function size(object) { | |
| var s = 0; | |
| for (var prop in object) { | |
| s++; | |
| } | |
| return s; | |
| } | |
| function hash(promises) { | |
| var results = {}, deferred = defer(), remaining = size(promises); | |
| if (remaining === 0) { | |
| deferred.resolve({}); | |
| } | |
| var resolver = function(prop) { | |
| return function(value) { | |
| resolveAll(prop, value); | |
| }; | |
| }; | |
| var resolveAll = function(prop, value) { | |
| results[prop] = value; | |
| if (--remaining === 0) { | |
| deferred.resolve(results); | |
| } | |
| }; | |
| var rejectAll = function(error) { | |
| deferred.reject(error); | |
| }; | |
| for (var prop in promises) { | |
| if (promises[prop] && typeof promises[prop].then === 'function') { | |
| promises[prop].then(resolver(prop), rejectAll); | |
| } else { | |
| resolveAll(prop, promises[prop]); | |
| } | |
| } | |
| return deferred.promise; | |
| } | |
| __exports__.hash = hash; | |
| }); | |
| define("rsvp/node", | |
| ["rsvp/promise","rsvp/all","exports"], | |
| function(__dependency1__, __dependency2__, __exports__) { | |
| "use strict"; | |
| var Promise = __dependency1__.Promise; | |
| var all = __dependency2__.all; | |
| function makeNodeCallbackFor(resolve, reject) { | |
| return function (error, value) { | |
| if (error) { | |
| reject(error); | |
| } else if (arguments.length > 2) { | |
| resolve(Array.prototype.slice.call(arguments, 1)); | |
| } else { | |
| resolve(value); | |
| } | |
| }; | |
| } | |
| function denodeify(nodeFunc) { | |
| return function() { | |
| var nodeArgs = Array.prototype.slice.call(arguments), resolve, reject; | |
| var thisArg = this; | |
| var promise = new Promise(function(nodeResolve, nodeReject) { | |
| resolve = nodeResolve; | |
| reject = nodeReject; | |
| }); | |
| all(nodeArgs).then(function(nodeArgs) { | |
| nodeArgs.push(makeNodeCallbackFor(resolve, reject)); | |
| try { | |
| nodeFunc.apply(thisArg, nodeArgs); | |
| } catch(e) { | |
| reject(e); | |
| } | |
| }); | |
| return promise; | |
| }; | |
| } | |
| __exports__.denodeify = denodeify; | |
| }); | |
| define("rsvp/promise", | |
| ["rsvp/config","rsvp/events","exports"], | |
| function(__dependency1__, __dependency2__, __exports__) { | |
| "use strict"; | |
| var config = __dependency1__.config; | |
| var EventTarget = __dependency2__.EventTarget; | |
| function objectOrFunction(x) { | |
| return isFunction(x) || (typeof x === "object" && x !== null); | |
| } | |
| function isFunction(x){ | |
| return typeof x === "function"; | |
| } | |
| var Promise = function(resolver) { | |
| var promise = this, | |
| resolved = false; | |
| if (typeof resolver !== 'function') { | |
| throw new TypeError('You must pass a resolver function as the sole argument to the promise constructor'); | |
| } | |
| if (!(promise instanceof Promise)) { | |
| return new Promise(resolver); | |
| } | |
| var resolvePromise = function(value) { | |
| if (resolved) { return; } | |
| resolved = true; | |
| resolve(promise, value); | |
| }; | |
| var rejectPromise = function(value) { | |
| if (resolved) { return; } | |
| resolved = true; | |
| reject(promise, value); | |
| }; | |
| this.on('promise:failed', function(event) { | |
| this.trigger('error', { detail: event.detail }); | |
| }, this); | |
| this.on('error', onerror); | |
| try { | |
| resolver(resolvePromise, rejectPromise); | |
| } catch(e) { | |
| rejectPromise(e); | |
| } | |
| }; | |
| function onerror(event) { | |
| if (config.onerror) { | |
| config.onerror(event.detail); | |
| } | |
| } | |
| var invokeCallback = function(type, promise, callback, event) { | |
| var hasCallback = isFunction(callback), | |
| value, error, succeeded, failed; | |
| if (hasCallback) { | |
| try { | |
| value = callback(event.detail); | |
| succeeded = true; | |
| } catch(e) { | |
| failed = true; | |
| error = e; | |
| } | |
| } else { | |
| value = event.detail; | |
| succeeded = true; | |
| } | |
| if (handleThenable(promise, value)) { | |
| return; | |
| } else if (hasCallback && succeeded) { | |
| resolve(promise, value); | |
| } else if (failed) { | |
| reject(promise, error); | |
| } else if (type === 'resolve') { | |
| resolve(promise, value); | |
| } else if (type === 'reject') { | |
| reject(promise, value); | |
| } | |
| }; | |
| Promise.prototype = { | |
| constructor: Promise, | |
| isRejected: undefined, | |
| isFulfilled: undefined, | |
| rejectedReason: undefined, | |
| fulfillmentValue: undefined, | |
| then: function(done, fail) { | |
| this.off('error', onerror); | |
| var thenPromise = new this.constructor(function() {}); | |
| if (this.isFulfilled) { | |
| config.async(function(promise) { | |
| invokeCallback('resolve', thenPromise, done, { detail: promise.fulfillmentValue }); | |
| }, this); | |
| } | |
| if (this.isRejected) { | |
| config.async(function(promise) { | |
| invokeCallback('reject', thenPromise, fail, { detail: promise.rejectedReason }); | |
| }, this); | |
| } | |
| this.on('promise:resolved', function(event) { | |
| invokeCallback('resolve', thenPromise, done, event); | |
| }); | |
| this.on('promise:failed', function(event) { | |
| invokeCallback('reject', thenPromise, fail, event); | |
| }); | |
| return thenPromise; | |
| }, | |
| fail: function(fail) { | |
| return this.then(null, fail); | |
| } | |
| }; | |
| EventTarget.mixin(Promise.prototype); | |
| function resolve(promise, value) { | |
| if (promise === value) { | |
| fulfill(promise, value); | |
| } else if (!handleThenable(promise, value)) { | |
| fulfill(promise, value); | |
| } | |
| } | |
| function handleThenable(promise, value) { | |
| var then = null, | |
| resolved; | |
| try { | |
| if (promise === value) { | |
| throw new TypeError("A promises callback cannot return that same promise."); | |
| } | |
| if (objectOrFunction(value)) { | |
| then = value.then; | |
| if (isFunction(then)) { | |
| then.call(value, function(val) { | |
| if (resolved) { return true; } | |
| resolved = true; | |
| if (value !== val) { | |
| resolve(promise, val); | |
| } else { | |
| fulfill(promise, val); | |
| } | |
| }, function(val) { | |
| if (resolved) { return true; } | |
| resolved = true; | |
| reject(promise, val); | |
| }); | |
| return true; | |
| } | |
| } | |
| } catch (error) { | |
| reject(promise, error); | |
| return true; | |
| } | |
| return false; | |
| } | |
| function fulfill(promise, value) { | |
| config.async(function() { | |
| promise.trigger('promise:resolved', { detail: value }); | |
| promise.isFulfilled = true; | |
| promise.fulfillmentValue = value; | |
| }); | |
| } | |
| function reject(promise, value) { | |
| config.async(function() { | |
| promise.trigger('promise:failed', { detail: value }); | |
| promise.isRejected = true; | |
| promise.rejectedReason = value; | |
| }); | |
| } | |
| __exports__.Promise = Promise; | |
| }); | |
| define("rsvp/reject", | |
| ["rsvp/promise","exports"], | |
| function(__dependency1__, __exports__) { | |
| "use strict"; | |
| var Promise = __dependency1__.Promise; | |
| function reject(reason) { | |
| return new Promise(function (resolve, reject) { | |
| reject(reason); | |
| }); | |
| } | |
| __exports__.reject = reject; | |
| }); | |
| define("rsvp/resolve", | |
| ["rsvp/promise","exports"], | |
| function(__dependency1__, __exports__) { | |
| "use strict"; | |
| var Promise = __dependency1__.Promise; | |
| function resolve(thenable) { | |
| return new Promise(function(resolve, reject) { | |
| resolve(thenable); | |
| }); | |
| } | |
| __exports__.resolve = resolve; | |
| }); | |
| define("rsvp/rethrow", | |
| ["exports"], | |
| function(__exports__) { | |
| "use strict"; | |
| var local = (typeof global === "undefined") ? this : global; | |
| function rethrow(reason) { | |
| local.setTimeout(function() { | |
| throw reason; | |
| }); | |
| throw reason; | |
| } | |
| __exports__.rethrow = rethrow; | |
| }); | |
| define("rsvp", | |
| ["rsvp/events","rsvp/promise","rsvp/node","rsvp/all","rsvp/hash","rsvp/rethrow","rsvp/defer","rsvp/config","rsvp/resolve","rsvp/reject","exports"], | |
| function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__, __dependency8__, __dependency9__, __dependency10__, __exports__) { | |
| "use strict"; | |
| var EventTarget = __dependency1__.EventTarget; | |
| var Promise = __dependency2__.Promise; | |
| var denodeify = __dependency3__.denodeify; | |
| var all = __dependency4__.all; | |
| var hash = __dependency5__.hash; | |
| var rethrow = __dependency6__.rethrow; | |
| var defer = __dependency7__.defer; | |
| var config = __dependency8__.config; | |
| var resolve = __dependency9__.resolve; | |
| var reject = __dependency10__.reject; | |
| function configure(name, value) { | |
| config[name] = value; | |
| } | |
| __exports__.Promise = Promise; | |
| __exports__.EventTarget = EventTarget; | |
| __exports__.all = all; | |
| __exports__.hash = hash; | |
| __exports__.rethrow = rethrow; | |
| __exports__.defer = defer; | |
| __exports__.denodeify = denodeify; | |
| __exports__.configure = configure; | |
| __exports__.resolve = resolve; | |
| __exports__.reject = reject; | |
| }); | |
| window.RSVP = requireModule("rsvp"); | |
| })(window); | |
| </script> | |
| <script> | |
| /* setImmediate pollyfill inlined for gist... */ | |
| (function (global, undefined) { | |
| "use strict"; | |
| var tasks = (function () { | |
| function Task(handler, args) { | |
| this.handler = handler; | |
| this.args = args; | |
| } | |
| Task.prototype.run = function () { | |
| // See steps in section 5 of the spec. | |
| if (typeof this.handler === "function") { | |
| // Choice of `thisArg` is not in the setImmediate spec; `undefined` is in the setTimeout spec though: | |
| // http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html | |
| this.handler.apply(undefined, this.args); | |
| } else { | |
| var scriptSource = "" + this.handler; | |
| /*jshint evil: true */ | |
| eval(scriptSource); | |
| } | |
| }; | |
| var nextHandle = 1; // Spec says greater than zero | |
| var tasksByHandle = {}; | |
| var currentlyRunningATask = false; | |
| return { | |
| addFromSetImmediateArguments: function (args) { | |
| var handler = args[0]; | |
| var argsToHandle = Array.prototype.slice.call(args, 1); | |
| var task = new Task(handler, argsToHandle); | |
| var thisHandle = nextHandle++; | |
| tasksByHandle[thisHandle] = task; | |
| return thisHandle; | |
| }, | |
| runIfPresent: function (handle) { | |
| // From the spec: "Wait until any invocations of this algorithm started before this one have completed." | |
| // So if we're currently running a task, we'll need to delay this invocation. | |
| if (!currentlyRunningATask) { | |
| var task = tasksByHandle[handle]; | |
| if (task) { | |
| currentlyRunningATask = true; | |
| try { | |
| task.run(); | |
| } finally { | |
| delete tasksByHandle[handle]; | |
| currentlyRunningATask = false; | |
| } | |
| } | |
| } else { | |
| // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a | |
| // "too much recursion" error. | |
| global.setImmediate(function () { | |
| tasks.runIfPresent(handle); | |
| }, 0); | |
| } | |
| }, | |
| remove: function (handle) { | |
| delete tasksByHandle[handle]; | |
| } | |
| }; | |
| }()); | |
| function canUseNextTick() { | |
| // Don't get fooled by e.g. browserify environments. | |
| return typeof process === "object" && | |
| Object.prototype.toString.call(process) === "[object process]"; | |
| } | |
| function canUseMessageChannel() { | |
| return !!global.MessageChannel; | |
| } | |
| function canUsePostMessage() { | |
| // The test against `importScripts` prevents this implementation from being installed inside a web worker, | |
| // where `global.postMessage` means something completely different and can't be used for this purpose. | |
| if (!global.postMessage || global.importScripts) { | |
| return false; | |
| } | |
| var postMessageIsAsynchronous = true; | |
| var oldOnMessage = global.onmessage; | |
| global.onmessage = function () { | |
| postMessageIsAsynchronous = false; | |
| }; | |
| global.postMessage("", "*"); | |
| global.onmessage = oldOnMessage; | |
| return postMessageIsAsynchronous; | |
| } | |
| function canUseReadyStateChange() { | |
| return "document" in global && "onreadystatechange" in global.document.createElement("script"); | |
| } | |
| function installNextTickImplementation(attachTo) { | |
| attachTo.setImmediate = function () { | |
| var handle = tasks.addFromSetImmediateArguments(arguments); | |
| process.nextTick(function () { | |
| tasks.runIfPresent(handle); | |
| }); | |
| return handle; | |
| }; | |
| } | |
| function installMessageChannelImplementation(attachTo) { | |
| var channel = new global.MessageChannel(); | |
| channel.port1.onmessage = function (event) { | |
| var handle = event.data; | |
| tasks.runIfPresent(handle); | |
| }; | |
| attachTo.setImmediate = function () { | |
| var handle = tasks.addFromSetImmediateArguments(arguments); | |
| channel.port2.postMessage(handle); | |
| return handle; | |
| }; | |
| } | |
| function installPostMessageImplementation(attachTo) { | |
| // Installs an event handler on `global` for the `message` event: see | |
| // * https://developer.mozilla.org/en/DOM/window.postMessage | |
| // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages | |
| var MESSAGE_PREFIX = "com.bn.NobleJS.setImmediate" + Math.random(); | |
| function isStringAndStartsWith(string, putativeStart) { | |
| return typeof string === "string" && string.substring(0, putativeStart.length) === putativeStart; | |
| } | |
| function onGlobalMessage(event) { | |
| // This will catch all incoming messages (even from other windows!), so we need to try reasonably hard to | |
| // avoid letting anyone else trick us into firing off. We test the origin is still this window, and that a | |
| // (randomly generated) unpredictable identifying prefix is present. | |
| if (event.source === global && isStringAndStartsWith(event.data, MESSAGE_PREFIX)) { | |
| var handle = event.data.substring(MESSAGE_PREFIX.length); | |
| tasks.runIfPresent(handle); | |
| } | |
| } | |
| if (global.addEventListener) { | |
| global.addEventListener("message", onGlobalMessage, false); | |
| } else { | |
| global.attachEvent("onmessage", onGlobalMessage); | |
| } | |
| attachTo.setImmediate = function () { | |
| var handle = tasks.addFromSetImmediateArguments(arguments); | |
| // Make `global` post a message to itself with the handle and identifying prefix, thus asynchronously | |
| // invoking our onGlobalMessage listener above. | |
| global.postMessage(MESSAGE_PREFIX + handle, "*"); | |
| return handle; | |
| }; | |
| } | |
| function installReadyStateChangeImplementation(attachTo) { | |
| attachTo.setImmediate = function () { | |
| var handle = tasks.addFromSetImmediateArguments(arguments); | |
| // Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted | |
| // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called. | |
| var scriptEl = global.document.createElement("script"); | |
| scriptEl.onreadystatechange = function () { | |
| tasks.runIfPresent(handle); | |
| scriptEl.onreadystatechange = null; | |
| scriptEl.parentNode.removeChild(scriptEl); | |
| scriptEl = null; | |
| }; | |
| global.document.documentElement.appendChild(scriptEl); | |
| return handle; | |
| }; | |
| } | |
| function installSetTimeoutImplementation(attachTo) { | |
| attachTo.setImmediate = function () { | |
| var handle = tasks.addFromSetImmediateArguments(arguments); | |
| global.setImmediate(function () { | |
| tasks.runIfPresent(handle); | |
| }, 0); | |
| return handle; | |
| }; | |
| } | |
| if (!global.setImmediate) { | |
| // If supported, we should attach to the prototype of global, since that is where setTimeout et al. live. | |
| var attachTo = typeof Object.getPrototypeOf === "function" && "setTimeout" in Object.getPrototypeOf(global) ? | |
| Object.getPrototypeOf(global) | |
| : global; | |
| if (canUseNextTick()) { | |
| // For Node.js before 0.9 | |
| installNextTickImplementation(attachTo); | |
| } else if (canUsePostMessage()) { | |
| // For non-IE10 modern browsers | |
| installPostMessageImplementation(attachTo); | |
| } else if (canUseMessageChannel()) { | |
| // For web workers, where supported | |
| installMessageChannelImplementation(attachTo); | |
| } else if (canUseReadyStateChange()) { | |
| // For IE 6–8 | |
| installReadyStateChangeImplementation(attachTo); | |
| } else { | |
| // For older browsers | |
| installSetTimeoutImplementation(attachTo); | |
| } | |
| attachTo.clearImmediate = tasks.remove; | |
| } | |
| }(typeof global === "object" && global ? global : this)); | |
| </script> | |
| <script id="definition"> | |
| /* The actual definition.. */ | |
| var config = {}; | |
| var BufferedParseObserver = function (tagName, mode) { | |
| var live, | |
| contentLoaded, | |
| connected, | |
| index = 0, | |
| eventCallbacks = {}, | |
| self = this, | |
| promises = [], | |
| lastId, | |
| nodeList = document.getElementsByTagName(tagName), | |
| getLazyCall = function(cb, arr) { | |
| return function () { | |
| var promise = cb.call(self,arr); | |
| if (promise) { | |
| promises.push(promise); | |
| } | |
| } | |
| }, | |
| notify = function (eventName, arr) { | |
| var cbs = eventCallbacks[eventName]; | |
| var max = cbs.length; | |
| for (var i=0;i<max;i++) { | |
| getLazyCall(cbs[i], arr)(); | |
| } | |
| }, | |
| check = function (done) { | |
| var arr = []; | |
| if (nodeList.length > index) { | |
| arr = (Array.prototype.slice.apply(nodeList, (index) ? [index] : [])); | |
| arr = arr.filter(function (el) { | |
| var ret = !el.touched; | |
| el.touched = true; | |
| return ret; | |
| }); | |
| if( arr.length > 0 ) { | |
| notify("notify",arr); | |
| } | |
| index = arr.length; | |
| } | |
| if (done) { | |
| window[mode.replace("set","clear")](lastId); | |
| check(); | |
| } else if (connected) { | |
| lastId = window[mode](check); | |
| } | |
| return nodeList.length; | |
| }; | |
| this.on = function (n, cb) { | |
| eventCallbacks[n] = eventCallbacks[n] || []; | |
| eventCallbacks[n].push(cb); | |
| if (!connected) { | |
| connected = true; | |
| check(); | |
| } | |
| }; | |
| this.disconnect = function () { | |
| connected = false; | |
| } | |
| document.addEventListener("DOMContentLoaded", function () { | |
| console.log("firing for " + tagName); | |
| window.__domContentLoadedTime = Date.now(); | |
| if (connected) { | |
| check(true); | |
| self.disconnect(true); | |
| } | |
| RSVP.all(promises).then(function(){ | |
| var cbs = eventCallbacks.done; | |
| var max = cbs.length; | |
| for (var i=0;i<max;i++) { | |
| eventCallbacks.done[i](); | |
| } | |
| }); | |
| }); | |
| }; | |
| </script> | |
| <script id="demo_definition"> | |
| // for demo purposes | |
| var start = Date.now(); | |
| var config = { "mode": "setTimeout", "tag": "body", "additionalMultiplier": 0 }; | |
| var writeBuffer = []; | |
| window.location.search.substring(1).split("&").forEach( | |
| function(el){var parts = el.split("=");config[parts[0]] = parts[1];} | |
| ) | |
| var listObserver = new BufferedParseObserver(config.tag, config.mode); | |
| listObserver.on("notify", function(arr) { | |
| /* | |
| As this list is live and being populated as | |
| the document is parsing - you will generally reach body real fast | |
| but that just means the body tag is available (document.body) | |
| it isn't "ready" (populated) | |
| A simple way to say "the head is completed" though would be that | |
| you've reached the body - what we’ve done here. | |
| */ | |
| writeBuffer.push( | |
| "got " + arr.length | |
| + " " + config.tag | |
| + " at " + (Date.now() - start) | |
| ); // any element here is ready and qsa works within it... | |
| // this.disconnect(); // stop your stupid polling already | |
| // If I return a promise here I can use done - see below... | |
| }); | |
| // disconnected and all promises fulfilled... | |
| listObserver.on( "done", function() { | |
| writeBuffer.push( | |
| "actual dom loaded event at " | |
| + (__domContentLoadedTime - start) | |
| ); | |
| writeBuffer.push( | |
| "done called at " + (Date.now() - start) + "ms" | |
| + " - DOMContentLoaded and all returned promises resolved..." | |
| ); | |
| writeBuffer.push( | |
| "this document is using " + document.querySelectorAll("div").length | |
| + " divs to emulate a page..." | |
| ); | |
| document.getElementById("result").innerHTML = writeBuffer.join("\n"); | |
| }); | |
| </script> | |
| <!-- Add 1 script off a CDN as we might for a standard page... --> | |
| <script src="http://codeorigin.jquery.com/jquery-1.10.2.min.js"></script> | |
| <!-- Add some CSS as we might for a standard page... --> | |
| <link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css"> | |
| <link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap-theme.min.css"> | |
| <style> | |
| textarea, pre{ width: 95%; overflow: auto; } | |
| textarea:not(.enabled), pre:not(.enabled) { display: none; } | |
| body{ margin: 2em; } | |
| button{ margin-right: 2em; float: right; } | |
| p { margin-bottom: 2em; } | |
| input,select{ display: block; width: 26em; margin-top: 0.5em; } | |
| form{ | |
| width: 35em; | |
| border: 1px solid gray; | |
| padding: 3em; | |
| text-align: | |
| center; margin: 2em auto; } | |
| </style> | |
| </head> | |
| <body> | |
| <h1>What the heck is this?</h1> | |
| <p>Here's what it is, a prollyfill idea for getting at things "as parsed" for | |
| prollyfilling use cases like: | |
| <ul> | |
| <li>HTML Imports use <code><link></code> tags to signal things that need to be downloaded and imported</li> | |
| <li>Recently there has been discussion about how you might add preloading, promises, dependency attributes to <code><script></code> elements (see <a href="http://lists.w3.org/Archives/Public/public-whatwg-archive/2013Aug/thread.html#msg345" target="_blank">WHATWG archives</a>) - RequireJS has “data-main” as another example.</a> | |
| <li>Anything that prollyfills CSS examines <code><link></code> or <code><style></code> tags, like Hitch does.</li> | |
| <li>Anything that uses string based templates by way of <code><link></code> or <code><script></code> tags that need to be downloaded or compiled, like Handlebars does.</li> | |
| </ul> | |
| Most of these prollyfills currently use <code>DOMContentLoaded</code> but we'd like to get things in earlier. Using | |
| <code>DOMContentLoaded</code> means early latency and to make it worse, by the time it happens, the request queue is usually full. | |
| . Alternatives tried in the past have involved specific ordering of | |
| scripts "include this as the last thing in your head" for example. This is cumbersome and confusing for | |
| authors - only one thing can be first or last, and it doesn't cover otherwise potentially valid cases - | |
| for example, <code><link></code> or <code><style></code> can appear in the <code><body></code> too. All of this means that | |
| today these prollyfills are low fidelity on these aspects. <em>Can we do better?</em> | |
| </p> | |
| <h2>The Idea: BufferedParseObserver</h2> | |
| <button class="btn btn-info" onclick="document.getElementById('source').classList.toggle('enabled')">Toggle code view</button><p> | |
| Basically, it gives you buffers of things as it is still parsing... | |
| This demo uses a probably still somewhat naive implementation to code to demonstrate. | |
| </p> | |
| <pre id="source"></pre> | |
| <script> | |
| document.getElementById("source").innerHTML = document.getElementById('definition').innerHTML; | |
| </script> | |
| <hr /> | |
| <h2>What does the API look like</h2> | |
| <button class="btn btn-info" onclick="document.getElementById('demo_source').classList.toggle('enabled')">Toggle code view</button> | |
| <p>Here's the commented source code as used in this demo...It's pretty straightforward.</p> | |
| <pre id="demo_source"></pre> | |
| <script> | |
| document.getElementById("demo_source").innerHTML = document.getElementById('demo_definition').innerHTML; | |
| </script> | |
| <hr /> | |
| <h2>How about a demo?</h2> | |
| <p>Sure... If you looked at the source for the demo, you probably already know how it works. If not, it connects looking for a particular tag and a particular mechanism for polling | |
| a live node list (yes, I may have found an actual usecase where they are kinda handy). By default it uses setTimeout for polling, looks for body and puts about 5000 divs in the page | |
| to simulate content... You can pass arguments to the demo by way of querystring - I've provided a form below to make it easy to try out changing any of those variables. | |
| When DOMContentLoaded happens, a report will appear in the textarea below...<strong>Note, this could take a while based on the upfront latecy described above.</strong> :) | |
| <pre id="result" class="enabled"></pre> | |
| <div id="submitter"> | |
| <form id="retry"> | |
| <fieldset> | |
| <legend>Tweak it yourself...</legend> | |
| <select name="mode"> | |
| <option value="setTimeout">Buffer with setTimeout</option> | |
| <option value="setImmediate">Buffer with setImmediate</option> | |
| </select> | |
| <input type="text" name="tag" placeholder="tagName like body, link or div"> | |
| <input type="text" name="additionalMultiplier" placeholder="Number of elements to add to the page size"> | |
| <button onclick="" class="btn btn-primary" style="float: right;margin-top: 1em;">Go</button> | |
| </fieldset> | |
| </form> | |
| <hr> | |
| </p> | |
| <hr style="margin-bottom: 100em"> | |
| Delay the DOM content loaded a bit... | |
| <img src="http://www.hitchjs.com/images/hitch-sans.png"> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <img src="http://emberjs.com/images/about/ember-handlebars-sm.png"> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test< | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <img src="http://upload.wikimedia.org/wikipedia/en/4/40/Octocat,_a_Mascot_of_Github.jpg"> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <img src="http://emberjs.com/images/about/ember-productivity-sm.png"> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <img src="https://0.gravatar.com/avatar/6906f317a4733f4379b06c32229ef02f?d=https%3A%2F%2Fidenticons.github.com%2Ff426f04f2f9813718fb806b30e0093de.png&s=400"> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <img src="http://idiap.github.io/bob/img/github.png"> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <script> | |
| for(var i=0;i<config.additionalMultiplier;i++){ | |
| document.write("<div>test</div>"); | |
| } | |
| </script> | |
| </body> | |
| </html> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <!doctype html> | |
| <html> | |
| <head> | |
| <link type="text/x-promised-json" | |
| data-src="https://rawgithub.com/gnip/764239/raw/6c6a2297f3e4e29a626f07db0c57b45af7d7e5d7/Twitter+%28json+format%29.js" | |
| data-promise="my.twitter.data"> | |
| <link type="text/x-promised-script" | |
| data-src="https://rawgithub.com/wycats/handlebars.js/1.0.0/dist/handlebars.js" | |
| data-promise="my.handlebars.code"> | |
| <script> | |
| /* RSVP PROMISES INLINED FOR GIST .... */ | |
| (function(globals) { | |
| var define, requireModule; | |
| (function() { | |
| var registry = {}, seen = {}; | |
| define = function(name, deps, callback) { | |
| registry[name] = { deps: deps, callback: callback }; | |
| }; | |
| requireModule = function(name) { | |
| if (seen[name]) { return seen[name]; } | |
| seen[name] = {}; | |
| var mod = registry[name]; | |
| if (!mod) { | |
| throw new Error("Module '" + name + "' not found."); | |
| } | |
| var deps = mod.deps, | |
| callback = mod.callback, | |
| reified = [], | |
| exports; | |
| for (var i=0, l=deps.length; i<l; i++) { | |
| if (deps[i] === 'exports') { | |
| reified.push(exports = {}); | |
| } else { | |
| reified.push(requireModule(deps[i])); | |
| } | |
| } | |
| var value = callback.apply(this, reified); | |
| return seen[name] = exports || value; | |
| }; | |
| })(); | |
| define("rsvp/all", | |
| ["rsvp/promise","exports"], | |
| function(__dependency1__, __exports__) { | |
| "use strict"; | |
| var Promise = __dependency1__.Promise; | |
| /* global toString */ | |
| function all(promises) { | |
| if (Object.prototype.toString.call(promises) !== "[object Array]") { | |
| throw new TypeError('You must pass an array to all.'); | |
| } | |
| return new Promise(function(resolve, reject) { | |
| var results = [], remaining = promises.length, | |
| promise; | |
| if (remaining === 0) { | |
| resolve([]); | |
| } | |
| function resolver(index) { | |
| return function(value) { | |
| resolveAll(index, value); | |
| }; | |
| } | |
| function resolveAll(index, value) { | |
| results[index] = value; | |
| if (--remaining === 0) { | |
| resolve(results); | |
| } | |
| } | |
| for (var i = 0; i < promises.length; i++) { | |
| promise = promises[i]; | |
| if (promise && typeof promise.then === 'function') { | |
| promise.then(resolver(i), reject); | |
| } else { | |
| resolveAll(i, promise); | |
| } | |
| } | |
| }); | |
| } | |
| __exports__.all = all; | |
| }); | |
| define("rsvp/async", | |
| ["exports"], | |
| function(__exports__) { | |
| "use strict"; | |
| var browserGlobal = (typeof window !== 'undefined') ? window : {}; | |
| var BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver; | |
| var async; | |
| var local = (typeof global !== 'undefined') ? global : this; | |
| // old node | |
| function useNextTick() { | |
| return function(callback, arg) { | |
| process.nextTick(function() { | |
| callback(arg); | |
| }); | |
| }; | |
| } | |
| // node >= 0.10.x | |
| function useSetImmediate() { | |
| return function(callback, arg) { | |
| /* global setImmediate */ | |
| setImmediate(function(){ | |
| callback(arg); | |
| }); | |
| }; | |
| } | |
| function useMutationObserver() { | |
| var queue = []; | |
| var observer = new BrowserMutationObserver(function() { | |
| var toProcess = queue.slice(); | |
| queue = []; | |
| toProcess.forEach(function(tuple) { | |
| var callback = tuple[0], arg= tuple[1]; | |
| callback(arg); | |
| }); | |
| }); | |
| var element = document.createElement('div'); | |
| observer.observe(element, { attributes: true }); | |
| // Chrome Memory Leak: https://bugs.webkit.org/show_bug.cgi?id=93661 | |
| window.addEventListener('unload', function(){ | |
| observer.disconnect(); | |
| observer = null; | |
| }, false); | |
| return function(callback, arg) { | |
| queue.push([callback, arg]); | |
| element.setAttribute('drainQueue', 'drainQueue'); | |
| }; | |
| } | |
| function useSetTimeout() { | |
| return function(callback, arg) { | |
| local.setTimeout(function() { | |
| callback(arg); | |
| }, 1); | |
| }; | |
| } | |
| if (typeof setImmediate === 'function') { | |
| async = useSetImmediate(); | |
| } else if (typeof process !== 'undefined' && {}.toString.call(process) === '[object process]') { | |
| async = useNextTick(); | |
| } else if (BrowserMutationObserver) { | |
| async = useMutationObserver(); | |
| } else { | |
| async = useSetTimeout(); | |
| } | |
| __exports__.async = async; | |
| }); | |
| define("rsvp/config", | |
| ["rsvp/async","exports"], | |
| function(__dependency1__, __exports__) { | |
| "use strict"; | |
| var async = __dependency1__.async; | |
| var config = {}; | |
| config.async = async; | |
| __exports__.config = config; | |
| }); | |
| define("rsvp/defer", | |
| ["rsvp/promise","exports"], | |
| function(__dependency1__, __exports__) { | |
| "use strict"; | |
| var Promise = __dependency1__.Promise; | |
| function defer() { | |
| var deferred = { | |
| // pre-allocate shape | |
| resolve: undefined, | |
| reject: undefined, | |
| promise: undefined | |
| }; | |
| deferred.promise = new Promise(function(resolve, reject) { | |
| deferred.resolve = resolve; | |
| deferred.reject = reject; | |
| }); | |
| return deferred; | |
| } | |
| __exports__.defer = defer; | |
| }); | |
| define("rsvp/events", | |
| ["exports"], | |
| function(__exports__) { | |
| "use strict"; | |
| var Event = function(type, options) { | |
| this.type = type; | |
| for (var option in options) { | |
| if (!options.hasOwnProperty(option)) { continue; } | |
| this[option] = options[option]; | |
| } | |
| }; | |
| var indexOf = function(callbacks, callback) { | |
| for (var i=0, l=callbacks.length; i<l; i++) { | |
| if (callbacks[i][0] === callback) { return i; } | |
| } | |
| return -1; | |
| }; | |
| var callbacksFor = function(object) { | |
| var callbacks = object._promiseCallbacks; | |
| if (!callbacks) { | |
| callbacks = object._promiseCallbacks = {}; | |
| } | |
| return callbacks; | |
| }; | |
| var EventTarget = { | |
| mixin: function(object) { | |
| object.on = this.on; | |
| object.off = this.off; | |
| object.trigger = this.trigger; | |
| return object; | |
| }, | |
| on: function(eventNames, callback, binding) { | |
| var allCallbacks = callbacksFor(this), callbacks, eventName; | |
| eventNames = eventNames.split(/\s+/); | |
| binding = binding || this; | |
| while (eventName = eventNames.shift()) { | |
| callbacks = allCallbacks[eventName]; | |
| if (!callbacks) { | |
| callbacks = allCallbacks[eventName] = []; | |
| } | |
| if (indexOf(callbacks, callback) === -1) { | |
| callbacks.push([callback, binding]); | |
| } | |
| } | |
| }, | |
| off: function(eventNames, callback) { | |
| var allCallbacks = callbacksFor(this), callbacks, eventName, index; | |
| eventNames = eventNames.split(/\s+/); | |
| while (eventName = eventNames.shift()) { | |
| if (!callback) { | |
| allCallbacks[eventName] = []; | |
| continue; | |
| } | |
| callbacks = allCallbacks[eventName]; | |
| index = indexOf(callbacks, callback); | |
| if (index !== -1) { callbacks.splice(index, 1); } | |
| } | |
| }, | |
| trigger: function(eventName, options) { | |
| var allCallbacks = callbacksFor(this), | |
| callbacks, callbackTuple, callback, binding, event; | |
| if (callbacks = allCallbacks[eventName]) { | |
| // Don't cache the callbacks.length since it may grow | |
| for (var i=0; i<callbacks.length; i++) { | |
| callbackTuple = callbacks[i]; | |
| callback = callbackTuple[0]; | |
| binding = callbackTuple[1]; | |
| if (typeof options !== 'object') { | |
| options = { detail: options }; | |
| } | |
| event = new Event(eventName, options); | |
| callback.call(binding, event); | |
| } | |
| } | |
| } | |
| }; | |
| __exports__.EventTarget = EventTarget; | |
| }); | |
| define("rsvp/hash", | |
| ["rsvp/defer","exports"], | |
| function(__dependency1__, __exports__) { | |
| "use strict"; | |
| var defer = __dependency1__.defer; | |
| function size(object) { | |
| var s = 0; | |
| for (var prop in object) { | |
| s++; | |
| } | |
| return s; | |
| } | |
| function hash(promises) { | |
| var results = {}, deferred = defer(), remaining = size(promises); | |
| if (remaining === 0) { | |
| deferred.resolve({}); | |
| } | |
| var resolver = function(prop) { | |
| return function(value) { | |
| resolveAll(prop, value); | |
| }; | |
| }; | |
| var resolveAll = function(prop, value) { | |
| results[prop] = value; | |
| if (--remaining === 0) { | |
| deferred.resolve(results); | |
| } | |
| }; | |
| var rejectAll = function(error) { | |
| deferred.reject(error); | |
| }; | |
| for (var prop in promises) { | |
| if (promises[prop] && typeof promises[prop].then === 'function') { | |
| promises[prop].then(resolver(prop), rejectAll); | |
| } else { | |
| resolveAll(prop, promises[prop]); | |
| } | |
| } | |
| return deferred.promise; | |
| } | |
| __exports__.hash = hash; | |
| }); | |
| define("rsvp/node", | |
| ["rsvp/promise","rsvp/all","exports"], | |
| function(__dependency1__, __dependency2__, __exports__) { | |
| "use strict"; | |
| var Promise = __dependency1__.Promise; | |
| var all = __dependency2__.all; | |
| function makeNodeCallbackFor(resolve, reject) { | |
| return function (error, value) { | |
| if (error) { | |
| reject(error); | |
| } else if (arguments.length > 2) { | |
| resolve(Array.prototype.slice.call(arguments, 1)); | |
| } else { | |
| resolve(value); | |
| } | |
| }; | |
| } | |
| function denodeify(nodeFunc) { | |
| return function() { | |
| var nodeArgs = Array.prototype.slice.call(arguments), resolve, reject; | |
| var thisArg = this; | |
| var promise = new Promise(function(nodeResolve, nodeReject) { | |
| resolve = nodeResolve; | |
| reject = nodeReject; | |
| }); | |
| all(nodeArgs).then(function(nodeArgs) { | |
| nodeArgs.push(makeNodeCallbackFor(resolve, reject)); | |
| try { | |
| nodeFunc.apply(thisArg, nodeArgs); | |
| } catch(e) { | |
| reject(e); | |
| } | |
| }); | |
| return promise; | |
| }; | |
| } | |
| __exports__.denodeify = denodeify; | |
| }); | |
| define("rsvp/promise", | |
| ["rsvp/config","rsvp/events","exports"], | |
| function(__dependency1__, __dependency2__, __exports__) { | |
| "use strict"; | |
| var config = __dependency1__.config; | |
| var EventTarget = __dependency2__.EventTarget; | |
| function objectOrFunction(x) { | |
| return isFunction(x) || (typeof x === "object" && x !== null); | |
| } | |
| function isFunction(x){ | |
| return typeof x === "function"; | |
| } | |
| var Promise = function(resolver) { | |
| var promise = this, | |
| resolved = false; | |
| if (typeof resolver !== 'function') { | |
| throw new TypeError('You must pass a resolver function as the sole argument to the promise constructor'); | |
| } | |
| if (!(promise instanceof Promise)) { | |
| return new Promise(resolver); | |
| } | |
| var resolvePromise = function(value) { | |
| if (resolved) { return; } | |
| resolved = true; | |
| resolve(promise, value); | |
| }; | |
| var rejectPromise = function(value) { | |
| if (resolved) { return; } | |
| resolved = true; | |
| reject(promise, value); | |
| }; | |
| this.on('promise:failed', function(event) { | |
| this.trigger('error', { detail: event.detail }); | |
| }, this); | |
| this.on('error', onerror); | |
| try { | |
| resolver(resolvePromise, rejectPromise); | |
| } catch(e) { | |
| rejectPromise(e); | |
| } | |
| }; | |
| function onerror(event) { | |
| if (config.onerror) { | |
| config.onerror(event.detail); | |
| } | |
| } | |
| var invokeCallback = function(type, promise, callback, event) { | |
| var hasCallback = isFunction(callback), | |
| value, error, succeeded, failed; | |
| if (hasCallback) { | |
| try { | |
| value = callback(event.detail); | |
| succeeded = true; | |
| } catch(e) { | |
| failed = true; | |
| error = e; | |
| } | |
| } else { | |
| value = event.detail; | |
| succeeded = true; | |
| } | |
| if (handleThenable(promise, value)) { | |
| return; | |
| } else if (hasCallback && succeeded) { | |
| resolve(promise, value); | |
| } else if (failed) { | |
| reject(promise, error); | |
| } else if (type === 'resolve') { | |
| resolve(promise, value); | |
| } else if (type === 'reject') { | |
| reject(promise, value); | |
| } | |
| }; | |
| Promise.prototype = { | |
| constructor: Promise, | |
| isRejected: undefined, | |
| isFulfilled: undefined, | |
| rejectedReason: undefined, | |
| fulfillmentValue: undefined, | |
| then: function(done, fail) { | |
| this.off('error', onerror); | |
| var thenPromise = new this.constructor(function() {}); | |
| if (this.isFulfilled) { | |
| config.async(function(promise) { | |
| invokeCallback('resolve', thenPromise, done, { detail: promise.fulfillmentValue }); | |
| }, this); | |
| } | |
| if (this.isRejected) { | |
| config.async(function(promise) { | |
| invokeCallback('reject', thenPromise, fail, { detail: promise.rejectedReason }); | |
| }, this); | |
| } | |
| this.on('promise:resolved', function(event) { | |
| invokeCallback('resolve', thenPromise, done, event); | |
| }); | |
| this.on('promise:failed', function(event) { | |
| invokeCallback('reject', thenPromise, fail, event); | |
| }); | |
| return thenPromise; | |
| }, | |
| fail: function(fail) { | |
| return this.then(null, fail); | |
| } | |
| }; | |
| EventTarget.mixin(Promise.prototype); | |
| function resolve(promise, value) { | |
| if (promise === value) { | |
| fulfill(promise, value); | |
| } else if (!handleThenable(promise, value)) { | |
| fulfill(promise, value); | |
| } | |
| } | |
| function handleThenable(promise, value) { | |
| var then = null, | |
| resolved; | |
| try { | |
| if (promise === value) { | |
| throw new TypeError("A promises callback cannot return that same promise."); | |
| } | |
| if (objectOrFunction(value)) { | |
| then = value.then; | |
| if (isFunction(then)) { | |
| then.call(value, function(val) { | |
| if (resolved) { return true; } | |
| resolved = true; | |
| if (value !== val) { | |
| resolve(promise, val); | |
| } else { | |
| fulfill(promise, val); | |
| } | |
| }, function(val) { | |
| if (resolved) { return true; } | |
| resolved = true; | |
| reject(promise, val); | |
| }); | |
| return true; | |
| } | |
| } | |
| } catch (error) { | |
| reject(promise, error); | |
| return true; | |
| } | |
| return false; | |
| } | |
| function fulfill(promise, value) { | |
| config.async(function() { | |
| promise.trigger('promise:resolved', { detail: value }); | |
| promise.isFulfilled = true; | |
| promise.fulfillmentValue = value; | |
| }); | |
| } | |
| function reject(promise, value) { | |
| config.async(function() { | |
| promise.trigger('promise:failed', { detail: value }); | |
| promise.isRejected = true; | |
| promise.rejectedReason = value; | |
| }); | |
| } | |
| __exports__.Promise = Promise; | |
| }); | |
| define("rsvp/reject", | |
| ["rsvp/promise","exports"], | |
| function(__dependency1__, __exports__) { | |
| "use strict"; | |
| var Promise = __dependency1__.Promise; | |
| function reject(reason) { | |
| return new Promise(function (resolve, reject) { | |
| reject(reason); | |
| }); | |
| } | |
| __exports__.reject = reject; | |
| }); | |
| define("rsvp/resolve", | |
| ["rsvp/promise","exports"], | |
| function(__dependency1__, __exports__) { | |
| "use strict"; | |
| var Promise = __dependency1__.Promise; | |
| function resolve(thenable) { | |
| return new Promise(function(resolve, reject) { | |
| resolve(thenable); | |
| }); | |
| } | |
| __exports__.resolve = resolve; | |
| }); | |
| define("rsvp/rethrow", | |
| ["exports"], | |
| function(__exports__) { | |
| "use strict"; | |
| var local = (typeof global === "undefined") ? this : global; | |
| function rethrow(reason) { | |
| local.setTimeout(function() { | |
| throw reason; | |
| }); | |
| throw reason; | |
| } | |
| __exports__.rethrow = rethrow; | |
| }); | |
| define("rsvp", | |
| ["rsvp/events","rsvp/promise","rsvp/node","rsvp/all","rsvp/hash","rsvp/rethrow","rsvp/defer","rsvp/config","rsvp/resolve","rsvp/reject","exports"], | |
| function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__, __dependency8__, __dependency9__, __dependency10__, __exports__) { | |
| "use strict"; | |
| var EventTarget = __dependency1__.EventTarget; | |
| var Promise = __dependency2__.Promise; | |
| var denodeify = __dependency3__.denodeify; | |
| var all = __dependency4__.all; | |
| var hash = __dependency5__.hash; | |
| var rethrow = __dependency6__.rethrow; | |
| var defer = __dependency7__.defer; | |
| var config = __dependency8__.config; | |
| var resolve = __dependency9__.resolve; | |
| var reject = __dependency10__.reject; | |
| function configure(name, value) { | |
| config[name] = value; | |
| } | |
| __exports__.Promise = Promise; | |
| __exports__.EventTarget = EventTarget; | |
| __exports__.all = all; | |
| __exports__.hash = hash; | |
| __exports__.rethrow = rethrow; | |
| __exports__.defer = defer; | |
| __exports__.denodeify = denodeify; | |
| __exports__.configure = configure; | |
| __exports__.resolve = resolve; | |
| __exports__.reject = reject; | |
| }); | |
| window.RSVP = requireModule("rsvp"); | |
| })(window); | |
| </script> | |
| <script> | |
| /* setImmediate pollyfill inlined for gist... */ | |
| (function (global, undefined) { | |
| "use strict"; | |
| var tasks = (function () { | |
| function Task(handler, args) { | |
| this.handler = handler; | |
| this.args = args; | |
| } | |
| Task.prototype.run = function () { | |
| // See steps in section 5 of the spec. | |
| if (typeof this.handler === "function") { | |
| // Choice of `thisArg` is not in the setImmediate spec; `undefined` is in the setTimeout spec though: | |
| // http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html | |
| this.handler.apply(undefined, this.args); | |
| } else { | |
| var scriptSource = "" + this.handler; | |
| /*jshint evil: true */ | |
| eval(scriptSource); | |
| } | |
| }; | |
| var nextHandle = 1; // Spec says greater than zero | |
| var tasksByHandle = {}; | |
| var currentlyRunningATask = false; | |
| return { | |
| addFromSetImmediateArguments: function (args) { | |
| var handler = args[0]; | |
| var argsToHandle = Array.prototype.slice.call(args, 1); | |
| var task = new Task(handler, argsToHandle); | |
| var thisHandle = nextHandle++; | |
| tasksByHandle[thisHandle] = task; | |
| return thisHandle; | |
| }, | |
| runIfPresent: function (handle) { | |
| // From the spec: "Wait until any invocations of this algorithm started before this one have completed." | |
| // So if we're currently running a task, we'll need to delay this invocation. | |
| if (!currentlyRunningATask) { | |
| var task = tasksByHandle[handle]; | |
| if (task) { | |
| currentlyRunningATask = true; | |
| try { | |
| task.run(); | |
| } finally { | |
| delete tasksByHandle[handle]; | |
| currentlyRunningATask = false; | |
| } | |
| } | |
| } else { | |
| // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a | |
| // "too much recursion" error. | |
| global.setImmediate(function () { | |
| tasks.runIfPresent(handle); | |
| }, 0); | |
| } | |
| }, | |
| remove: function (handle) { | |
| delete tasksByHandle[handle]; | |
| } | |
| }; | |
| }()); | |
| function canUseNextTick() { | |
| // Don't get fooled by e.g. browserify environments. | |
| return typeof process === "object" && | |
| Object.prototype.toString.call(process) === "[object process]"; | |
| } | |
| function canUseMessageChannel() { | |
| return !!global.MessageChannel; | |
| } | |
| function canUsePostMessage() { | |
| // The test against `importScripts` prevents this implementation from being installed inside a web worker, | |
| // where `global.postMessage` means something completely different and can't be used for this purpose. | |
| if (!global.postMessage || global.importScripts) { | |
| return false; | |
| } | |
| var postMessageIsAsynchronous = true; | |
| var oldOnMessage = global.onmessage; | |
| global.onmessage = function () { | |
| postMessageIsAsynchronous = false; | |
| }; | |
| global.postMessage("", "*"); | |
| global.onmessage = oldOnMessage; | |
| return postMessageIsAsynchronous; | |
| } | |
| function canUseReadyStateChange() { | |
| return "document" in global && "onreadystatechange" in global.document.createElement("script"); | |
| } | |
| function installNextTickImplementation(attachTo) { | |
| attachTo.setImmediate = function () { | |
| var handle = tasks.addFromSetImmediateArguments(arguments); | |
| process.nextTick(function () { | |
| tasks.runIfPresent(handle); | |
| }); | |
| return handle; | |
| }; | |
| } | |
| function installMessageChannelImplementation(attachTo) { | |
| var channel = new global.MessageChannel(); | |
| channel.port1.onmessage = function (event) { | |
| var handle = event.data; | |
| tasks.runIfPresent(handle); | |
| }; | |
| attachTo.setImmediate = function () { | |
| var handle = tasks.addFromSetImmediateArguments(arguments); | |
| channel.port2.postMessage(handle); | |
| return handle; | |
| }; | |
| } | |
| function installPostMessageImplementation(attachTo) { | |
| // Installs an event handler on `global` for the `message` event: see | |
| // * https://developer.mozilla.org/en/DOM/window.postMessage | |
| // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages | |
| var MESSAGE_PREFIX = "com.bn.NobleJS.setImmediate" + Math.random(); | |
| function isStringAndStartsWith(string, putativeStart) { | |
| return typeof string === "string" && string.substring(0, putativeStart.length) === putativeStart; | |
| } | |
| function onGlobalMessage(event) { | |
| // This will catch all incoming messages (even from other windows!), so we need to try reasonably hard to | |
| // avoid letting anyone else trick us into firing off. We test the origin is still this window, and that a | |
| // (randomly generated) unpredictable identifying prefix is present. | |
| if (event.source === global && isStringAndStartsWith(event.data, MESSAGE_PREFIX)) { | |
| var handle = event.data.substring(MESSAGE_PREFIX.length); | |
| tasks.runIfPresent(handle); | |
| } | |
| } | |
| if (global.addEventListener) { | |
| global.addEventListener("message", onGlobalMessage, false); | |
| } else { | |
| global.attachEvent("onmessage", onGlobalMessage); | |
| } | |
| attachTo.setImmediate = function () { | |
| var handle = tasks.addFromSetImmediateArguments(arguments); | |
| // Make `global` post a message to itself with the handle and identifying prefix, thus asynchronously | |
| // invoking our onGlobalMessage listener above. | |
| global.postMessage(MESSAGE_PREFIX + handle, "*"); | |
| return handle; | |
| }; | |
| } | |
| function installReadyStateChangeImplementation(attachTo) { | |
| attachTo.setImmediate = function () { | |
| var handle = tasks.addFromSetImmediateArguments(arguments); | |
| // Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted | |
| // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called. | |
| var scriptEl = global.document.createElement("script"); | |
| scriptEl.onreadystatechange = function () { | |
| tasks.runIfPresent(handle); | |
| scriptEl.onreadystatechange = null; | |
| scriptEl.parentNode.removeChild(scriptEl); | |
| scriptEl = null; | |
| }; | |
| global.document.documentElement.appendChild(scriptEl); | |
| return handle; | |
| }; | |
| } | |
| function installSetTimeoutImplementation(attachTo) { | |
| attachTo.setImmediate = function () { | |
| var handle = tasks.addFromSetImmediateArguments(arguments); | |
| global.setImmediate(function () { | |
| tasks.runIfPresent(handle); | |
| }, 0); | |
| return handle; | |
| }; | |
| } | |
| if (!global.setImmediate) { | |
| // If supported, we should attach to the prototype of global, since that is where setTimeout et al. live. | |
| var attachTo = typeof Object.getPrototypeOf === "function" && "setTimeout" in Object.getPrototypeOf(global) ? | |
| Object.getPrototypeOf(global) | |
| : global; | |
| if (canUseNextTick()) { | |
| // For Node.js before 0.9 | |
| installNextTickImplementation(attachTo); | |
| } else if (canUsePostMessage()) { | |
| // For non-IE10 modern browsers | |
| installPostMessageImplementation(attachTo); | |
| } else if (canUseMessageChannel()) { | |
| // For web workers, where supported | |
| installMessageChannelImplementation(attachTo); | |
| } else if (canUseReadyStateChange()) { | |
| // For IE 6–8 | |
| installReadyStateChangeImplementation(attachTo); | |
| } else { | |
| // For older browsers | |
| installSetTimeoutImplementation(attachTo); | |
| } | |
| attachTo.clearImmediate = tasks.remove; | |
| } | |
| }(typeof global === "object" && global ? global : this)); | |
| </script> | |
| <script id="definition"> | |
| var config = {}; | |
| /* The actual definition.. */ | |
| var BufferedParseObserver = function (tagName, mode) { | |
| var live, | |
| contentLoaded, | |
| connected, | |
| index = 0, | |
| eventCallbacks = {}, | |
| self = this, | |
| promises = [], | |
| lastId, | |
| nodeList = document.getElementsByTagName(tagName), | |
| getLazyCall = function(cb, arr) { | |
| return function () { | |
| var promise = cb.call(self,arr); | |
| if (promise) { | |
| promises.push(promise); | |
| } | |
| } | |
| }, | |
| notify = function (eventName, arr) { | |
| var cbs = eventCallbacks[eventName]; | |
| var max = cbs.length; | |
| for (var i=0;i<max;i++) { | |
| getLazyCall(cbs[i], arr)(); | |
| } | |
| }, | |
| check = function (done) { | |
| var arr = []; | |
| if (nodeList.length > index) { | |
| arr = (Array.prototype.slice.apply(nodeList, (index) ? [index] : [])); | |
| arr = arr.filter(function (el) { | |
| var ret = !el.touched; | |
| el.touched = true; | |
| return ret; | |
| }); | |
| if( arr.length > 0 ) { | |
| notify("notify",arr); | |
| } | |
| index = arr.length; | |
| } | |
| if (done) { | |
| window[mode.replace("set","clear")](lastId); | |
| check(); | |
| } else if (connected) { | |
| lastId = window[mode](check); | |
| } | |
| return nodeList.length; | |
| }; | |
| this.on = function (n, cb) { | |
| eventCallbacks[n] = eventCallbacks[n] || []; | |
| eventCallbacks[n].push(cb); | |
| if (!connected) { | |
| connected = true; | |
| check(); | |
| } | |
| }; | |
| this.disconnect = function () { | |
| connected = false; | |
| } | |
| document.addEventListener("DOMContentLoaded", function () { | |
| console.log("firing for " + tagName); | |
| window.__domContentLoadedTime = Date.now(); | |
| if (connected) { | |
| check(true); | |
| self.disconnect(true); | |
| } | |
| RSVP.all(promises).then(function(){ | |
| var cbs = eventCallbacks.done; | |
| var max = cbs.length; | |
| for (var i=0;i<max;i++) { | |
| eventCallbacks.done[i](); | |
| } | |
| }); | |
| }); | |
| }; | |
| </script> | |
| <!-- Add 1 script off a CDN as we might for a standard page... --> | |
| <script src="http://codeorigin.jquery.com/jquery-1.10.2.min.js"></script> | |
| <script> | |
| var Hitch = Hitch || {}; | |
| Hitch.promised = (function () { | |
| var results = {}, typestr; | |
| var listObserver = new BufferedParseObserver('link', 'setImmediate'); | |
| var makePromise = function (el) { | |
| return $.ajax( | |
| { | |
| url: el.getAttribute("data-src"), | |
| dataType: 'text', | |
| mimeType: 'text' | |
| }).then(function (data) { | |
| results[el.getAttribute("data-promise")] = data; | |
| }); | |
| }; | |
| listObserver.on("notify", function(arr) { | |
| var el, promises = []; | |
| for (var i=0; i<arr.length; i++) { | |
| el = arr[i]; | |
| typestr = el.getAttribute("type") || ''; | |
| if(typestr.indexOf("text/x-promised") === 0) { | |
| promises.push(makePromise(el)); | |
| } | |
| } | |
| return RSVP.all(promises); | |
| }); | |
| var resolvers = { | |
| json: function (id) { | |
| return JSON.parse(results[id]); | |
| }, | |
| script: function () { | |
| for ( var i=0;i<arguments.length;i++) { | |
| window.eval(results[arguments[i]]); | |
| } | |
| /* this is silly */ | |
| return new RSVP.Promise(function (resolve) {resolve(); }); | |
| }, | |
| text: function (id) { | |
| return results[id]; | |
| }, | |
| resolve: function (id) { | |
| var t = document.querySelector("[data-promise='" + id + "']").getAttribute("type").split("-"); | |
| t = (t.length === 3) ? t[2] : "text"; | |
| return resolvers[t](id); | |
| }, | |
| ready: function (fn) { | |
| listObserver.on("done", fn); | |
| } | |
| }; | |
| return resolvers; | |
| }()); | |
| </script> | |
| <!-- Add some CSS as we might for a standard page... --> | |
| <link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css"> | |
| <link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap-theme.min.css"> | |
| <style> | |
| textarea, pre{ width: 95%; overflow: auto; } | |
| textarea:not(.enabled), pre:not(.enabled) { display: none; } | |
| body{ margin: 2em; } | |
| button{ margin-right: 2em; float: right; } | |
| p { margin-bottom: 2em; } | |
| input,select{ display: block; width: 26em; margin-top: 0.5em; } | |
| form{ | |
| width: 35em; | |
| border: 1px solid gray; | |
| padding: 3em; | |
| text-align: | |
| center; margin: 2em auto; } | |
| </style> | |
| </head> | |
| <body> | |
| <p> | |
| This sort of contrived example demonstrates a really simple (and naive) | |
| prollyfill for "lazy load/lazy deferred assets". Basically the proposal | |
| would look something like this (note: this is not a real proposal)... | |
| </p> | |
| <p> | |
| <h5>The proposal: Promised Linked Sources</h5> | |
| Authors may include <code><link></code> tags with a custom | |
| <code>type="text/x-promised"</code> attribute can be added to declaratively | |
| indicate a lazy fetch of text early (prior to DOMContentLoaded). | |
| Fetched items are not interpreted, but may specify subtypes which allow easy processing upon demand. These may be | |
| <code>text/x-promised-script</code> and <code>text/x-promised-json</code>. | |
| These tags MUST include a <code>data-src</code> attribute indicating the URL from | |
| which the resource should be loaded, and a <code>data-promise</code> attribute | |
| indicating a unique promise name. | |
| </p> | |
| <p> | |
| This | |
| prollyfill allows registration of a callback via <code>Hitch.promised.ready(fn)</code>. | |
| Inside of this callback, authors may use <code>Hitch.promised.resolve(<em>promiseId</em>)</code> | |
| to interpret the source based on the specified subtype or explicitly use <code>Hitch.promised.text</code> | |
| to access the text, <code>Hitch.promised.script</code> to evaluate it as script, | |
| or <code>Hitch.promised.json</code> to parse it as JSON. | |
| </p> | |
| <p> | |
| <h5>The demo...</h5> | |
| In this page, I've included these... | |
| <pre class="enabled"> | |
| <link type="text/x-promised-json" | |
| data-src="https://rawgithub.com/gnip/764239/raw/6c6a2297f3e4e29a626f07db0c57b45af7d7e5d7/Twitter+%28json+format%29.js" | |
| data-promise="my.twitter.data"> | |
| <link type="text/x-promised-script" | |
| data-src="https://rawgithub.com/wycats/handlebars.js/1.0.0/dist/handlebars.js" | |
| data-promise="my.handlebars.code"> | |
| </pre> | |
| </p> | |
| <script id="codescript"> | |
| /* The sources are loaded, but not evaluated... */ | |
| Hitch.promised.ready(function () { | |
| // wire up some ui... | |
| var el = document.getElementById("later"); | |
| var target = document.getElementById("target"); | |
| var template = document.getElementById('template'); | |
| el.innerHTML = "Interpret and Apply..."; | |
| el.classList.add("btn-success"); | |
| $(el).on('click', function () { | |
| /* | |
| Only on user interaction do I eval the code | |
| compile the template and apply the data... | |
| */ | |
| Hitch.promised.resolve("my.handlebars.code").then( | |
| function(){ | |
| var tmpl = Handlebars.compile( | |
| template.innerHTML | |
| ); | |
| target.innerHTML = tmpl( | |
| Hitch.promised.resolve( | |
| "my.twitter.data" | |
| ) | |
| ); | |
| } | |
| ); | |
| }); | |
| }); | |
| </script> | |
| <p>This causes the page to <em>asynchronously</em> load the sources for | |
| Handlebars and JSON from Twitter's | |
| Github example prior to DOMContentLoaded, but not process them. | |
| When it is all done, I use the code below to light up a button. | |
| Clicking on the lit button will then process and use that code and data to | |
| render into the page... </p> | |
| <pre class="enabled"><script>document.write(document.getElementById("codescript").innerHTML);</script></pre> | |
| <div> | |
| <button id="later" class="btn" style="clear: both;">Loading...</button> | |
| </div> | |
| <div style="margin-top: 5em;" id="target"> | |
| </div> | |
| <script id="template" type="text/x-handlebars"> | |
| <div style="margin: 2em; padding: 2em; background-image: url('{{user.profile_background_image_url}}')"> | |
| <img style="border: 1px solid gray; float: left; padding: 0.5em; margin: 0 3em 3em 3em;" src="{{user.profile_image_url}}"> | |
| <div>{{user.description}}</div> | |
| <div><strong>Following:</strong> {{user.friends_count}}</div> | |
| <div><strong>Followers:</strong> {{user.followers_count}}</div> | |
| <div><strong>User:</strong> {{user.screen_name}}</div> | |
| <div><strong>Location:</strong> {{user.location}}</div> | |
| </div> | |
| </script> | |
| </p> | |
| <hr style="margin-bottom: 100em"> | |
| Delay the DOM content loaded a bit... | |
| <img src="http://www.hitchjs.com/images/hitch-sans.png"> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <img src="http://emberjs.com/images/about/ember-handlebars-sm.png"> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test< | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <img src="http://upload.wikimedia.org/wikipedia/en/4/40/Octocat,_a_Mascot_of_Github.jpg"> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <img src="http://emberjs.com/images/about/ember-productivity-sm.png"> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <img src="https://0.gravatar.com/avatar/6906f317a4733f4379b06c32229ef02f?d=https%3A%2F%2Fidenticons.github.com%2Ff426f04f2f9813718fb806b30e0093de.png&s=400"> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <img src="http://idiap.github.io/bob/img/github.png"> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <div>test<div>test<div>test<div>test</div></div><div>test<div>test</div></div><div>test<div>test</div></div></div></div> | |
| <script> | |
| for(var i=0;i<config.additionalMultiplier;i++){ | |
| document.write("<div>test</div>"); | |
| } | |
| </script> | |
| </body> | |
| </html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment