diff --git a/closure.log b/closure.log
index 70795f8ab1..c8252191f0 100644
--- a/closure.log
+++ b/closure.log
@@ -22,119 +22,119 @@ externs/closure-types.js:2063: WARNING - property toggle on interface Polymer_Ar
Polymer_ArraySelectorMixin.prototype.toggle;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-polymer.html_script_25.js:173: WARNING - Property mutableData never defined on this of type OptionalMutableData
+polymer.html_script_26.js:173: WARNING - Property mutableData never defined on this of type OptionalMutableData
return mutablePropertyChange(this, property, value, old, this.mutableData);
^^^^^^^^^^^^^^^^
-polymer.html_script_30.js:319: WARNING - Property as never defined on this of type DomRepeat{template:Element|null}
+polymer.html_script_31.js:319: WARNING - Property as never defined on this of type DomRepeat{template:Element|null}
instanceProps[this.as] = true;
^^^^^^^
-polymer.html_script_30.js:320: WARNING - Property indexAs never defined on this of type DomRepeat{template:Element|null}
+polymer.html_script_31.js:320: WARNING - Property indexAs never defined on this of type DomRepeat{template:Element|null}
instanceProps[this.indexAs] = true;
^^^^^^^^^^^^
-polymer.html_script_30.js:321: WARNING - Property itemsIndexAs never defined on this of type DomRepeat{template:Element|null}
+polymer.html_script_31.js:321: WARNING - Property itemsIndexAs never defined on this of type DomRepeat{template:Element|null}
instanceProps[this.itemsIndexAs] = true;
^^^^^^^^^^^^^^^^^
-polymer.html_script_30.js:364: WARNING - Property __dataHost never defined on this of type DomRepeat
+polymer.html_script_31.js:364: WARNING - Property __dataHost never defined on this of type DomRepeat
return this.__dataHost._methodHost || this.__dataHost;
^^^^^^^^^^^^^^^
-polymer.html_script_30.js:416: WARNING - Property _targetFrameTime never defined on this of type DomRepeat
+polymer.html_script_31.js:416: WARNING - Property _targetFrameTime never defined on this of type DomRepeat
let ratio = this._targetFrameTime / (currChunkTime - this.__lastChunkTime);
^^^^^^^^^^^^^^^^^^^^^
-polymer.html_script_30.js:450: WARNING - Property delay never defined on this of type DomRepeat{__needFullRefresh:true, __observePaths:truthy}
+polymer.html_script_31.js:450: WARNING - Property delay never defined on this of type DomRepeat{__needFullRefresh:true, __observePaths:truthy}
this.__debounceRender(this.__render, this.delay);
^^^^^^^^^^
-polymer.html_script_30.js:496: WARNING - Property _setRenderedItemCount never defined on this of type DomRepeat{__pool:{length:number} (loose)}
+polymer.html_script_31.js:496: WARNING - Property _setRenderedItemCount never defined on this of type DomRepeat{__pool:{length:number} (loose)}
this._setRenderedItemCount(this.__instances.length);
^^^^^^^^^^^^^^^^^^^^^^^^^^
-polymer.html_script_30.js:532: WARNING - Property as never defined on this of type DomRepeat{__instances:Object, __itemsIdxToInstIdx:Object{}, __limit:number, items:?=}
+polymer.html_script_31.js:532: WARNING - Property as never defined on this of type DomRepeat{__instances:Object, __itemsIdxToInstIdx:Object{}, __limit:number, items:?=}
inst._setPendingProperty(this.as, item);
^^^^^^^
-polymer.html_script_30.js:533: WARNING - Property indexAs never defined on this of type DomRepeat{__instances:Object, __itemsIdxToInstIdx:Object{}, __limit:number, items:?=}
+polymer.html_script_31.js:533: WARNING - Property indexAs never defined on this of type DomRepeat{__instances:Object, __itemsIdxToInstIdx:Object{}, __limit:number, items:?=}
inst._setPendingProperty(this.indexAs, instIdx);
^^^^^^^^^^^^
-polymer.html_script_30.js:534: WARNING - Property itemsIndexAs never defined on this of type DomRepeat{__instances:Object, __itemsIdxToInstIdx:Object{}, __limit:number, items:?=}
+polymer.html_script_31.js:534: WARNING - Property itemsIndexAs never defined on this of type DomRepeat{__instances:Object, __itemsIdxToInstIdx:Object{}, __limit:number, items:?=}
inst._setPendingProperty(this.itemsIndexAs, itemIdx);
^^^^^^^^^^^^^^^^^
-polymer.html_script_30.js:570: WARNING - Property as never defined on this of type DomRepeat
+polymer.html_script_31.js:570: WARNING - Property as never defined on this of type DomRepeat
model[this.as] = item;
^^^^^^^
-polymer.html_script_30.js:571: WARNING - Property indexAs never defined on this of type DomRepeat
+polymer.html_script_31.js:571: WARNING - Property indexAs never defined on this of type DomRepeat
model[this.indexAs] = instIdx;
^^^^^^^^^^^^
-polymer.html_script_30.js:572: WARNING - Property itemsIndexAs never defined on this of type DomRepeat
+polymer.html_script_31.js:572: WARNING - Property itemsIndexAs never defined on this of type DomRepeat
model[this.itemsIndexAs] = itemIdx;
^^^^^^^^^^^^^^^^^
-polymer.html_script_30.js:581: WARNING - Property as never defined on this of type DomRepeat{__pool:{pop:LOOSE_TOP_FUNCTION} (loose)}
+polymer.html_script_31.js:581: WARNING - Property as never defined on this of type DomRepeat{__pool:{pop:LOOSE_TOP_FUNCTION} (loose)}
inst._setPendingProperty(this.as, item);
^^^^^^^
-polymer.html_script_30.js:582: WARNING - Property indexAs never defined on this of type DomRepeat{__pool:{pop:LOOSE_TOP_FUNCTION} (loose)}
+polymer.html_script_31.js:582: WARNING - Property indexAs never defined on this of type DomRepeat{__pool:{pop:LOOSE_TOP_FUNCTION} (loose)}
inst._setPendingProperty(this.indexAs, instIdx);
^^^^^^^^^^^^
-polymer.html_script_30.js:583: WARNING - Property itemsIndexAs never defined on this of type DomRepeat{__pool:{pop:LOOSE_TOP_FUNCTION} (loose)}
+polymer.html_script_31.js:583: WARNING - Property itemsIndexAs never defined on this of type DomRepeat{__pool:{pop:LOOSE_TOP_FUNCTION} (loose)}
inst._setPendingProperty(this.itemsIndexAs, itemIdx);
^^^^^^^^^^^^^^^^^
-polymer.html_script_30.js:617: WARNING - Property as never defined on this of type DomRepeat{__instances:Object, __itemsIdxToInstIdx:Object}
+polymer.html_script_31.js:617: WARNING - Property as never defined on this of type DomRepeat{__instances:Object, __itemsIdxToInstIdx:Object}
let itemPath = this.as + (itemSubPath ? '.' + itemSubPath : '');
^^^^^^^
-polymer.html_script_30.js:641: WARNING - Property as never defined on this of type DomRepeat
+polymer.html_script_31.js:641: WARNING - Property as never defined on this of type DomRepeat
return instance && instance[this.as];
^^^^^^^
-polymer.html_script_30.js:655: WARNING - Property indexAs never defined on this of type DomRepeat
+polymer.html_script_31.js:655: WARNING - Property indexAs never defined on this of type DomRepeat
return instance && instance[this.indexAs];
^^^^^^^^^^^^
-polymer.html_script_31.js:221: WARNING - Property __dataHost never defined on this of type DomIf{__instance:{_setPendingProperty:LOOSE_TOP_FUNCTION} (loose)}
+polymer.html_script_32.js:221: WARNING - Property __dataHost never defined on this of type DomIf{__instance:{_setPendingProperty:LOOSE_TOP_FUNCTION} (loose)}
this.__instance._setPendingProperty(prop, this.__dataHost[prop]);
^^^^^^^^^^^^^^^
-polymer.html_script_31.js:244: WARNING - Property if never defined on this of type DomIf
+polymer.html_script_32.js:244: WARNING - Property if never defined on this of type DomIf
let hidden = this.__hideTemplateChildren__ || !this.if;
^^^^^^^
-polymer.html_script_32.js:154: WARNING - Property items never defined on this of type ArraySelectorMixin
+polymer.html_script_33.js:154: WARNING - Property items never defined on this of type ArraySelectorMixin
if (selected.has(this.items[idx])) {
^^^^^^^^^^
-polymer.html_script_32.js:155: WARNING - Property items never defined on this of type ArraySelectorMixin
+polymer.html_script_33.js:155: WARNING - Property items never defined on this of type ArraySelectorMixin
selected.set(this.items[idx], idx);
^^^^^^^^^^
-polymer.html_script_32.js:228: WARNING - Property items never defined on this of type ArraySelectorMixin
+polymer.html_script_33.js:228: WARNING - Property items never defined on this of type ArraySelectorMixin
return this.isSelected(this.items[idx]);
^^^^^^^^^^
-polymer.html_script_32.js:278: WARNING - Property items never defined on this of type ArraySelectorMixin
+polymer.html_script_33.js:278: WARNING - Property items never defined on this of type ArraySelectorMixin
this.deselect(this.items[idx]);
^^^^^^^^^^
-polymer.html_script_32.js:288: WARNING - Property items never defined on this of type ArraySelectorMixin
+polymer.html_script_33.js:288: WARNING - Property items never defined on this of type ArraySelectorMixin
this.selectIndex(this.items.indexOf(item));
^^^^^^^^^^
-polymer.html_script_32.js:298: WARNING - Property items never defined on this of type ArraySelectorMixin
+polymer.html_script_33.js:298: WARNING - Property items never defined on this of type ArraySelectorMixin
let item = this.items[idx];
^^^^^^^^^^
-polymer.html_script_34.js:5: WARNING - Property _mutablePropertyChange never defined on Polymer.MutableData of type function(?):?
+polymer.html_script_35.js:5: WARNING - Property _mutablePropertyChange never defined on Polymer.MutableData of type function(?):?
let mutablePropertyChange = Polymer.MutableData._mutablePropertyChange;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
diff --git a/lib/utils/settings.html b/lib/utils/settings.html
index 05988c0718..6e30f166e3 100644
--- a/lib/utils/settings.html
+++ b/lib/utils/settings.html
@@ -12,6 +12,7 @@