text:
package net.bootsfaces.component.navCommandLink;

import javax.faces.component.UICommand;

/** This class holds the attributes of . */
public abstract class NavCommandLinkCore extends UICommand implements net.bootsfaces.render.IHasTooltip {

	protected enum PropertyKeys {
		active, ajax, autoUpdate, binding, colLg, colMd, colSm, colXs, contentClass, contentStyle, delay, disabled, display, fragment, header, hidden, href, icon, iconAlign, iconAwesome, iconBrand, iconFlip, iconInverse, iconLight, iconPulse, iconRegular, iconRotate, iconSize, iconSolid, iconSpin, immediate, includeViewParams, largeScreen, mediumScreen, offset, offsetLg, offsetMd, offsetSm, offsetXs, onblur, onchange, onclick, oncomplete, ondblclick, onerror, onfocus, onkeydown, onkeypress, onkeyup, onmousedown, onmousemove, onmouseout, onmouseover, onmouseup, onselect, onsuccess, outcome, process, smallScreen, span, style, styleClass, tabindex, target, tinyScreen, tooltip, tooltipContainer, tooltipDelay, tooltipDelayHide, tooltipDelayShow, tooltipPosition, update, visible;
		String toString;

		PropertyKeys(String toString) {
			this.toString = toString;
		}

		PropertyKeys() {
		}

		public String toString() {
			return ((this.toString != null) ? this.toString : super.toString());
		}
	}

	/**
	 * Adds the active state to the link.

	 * @return Returns the value of the attribute, or , false, if it hasn't been set by the JSF file.
	 */
	public boolean isActive() {
		return (boolean) (Boolean) getStateHelper().eval(PropertyKeys.active, false);
	}

	/**
	 * Adds the active state to the link.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setActive(boolean _active) {
		getStateHelper().put(PropertyKeys.active, _active);
	}

	/**
	 * Whether the Button submits the form with AJAX.

	 * @return Returns the value of the attribute, or , false, if it hasn't been set by the JSF file.
	 */
	public boolean isAjax() {
		return (boolean) (Boolean) getStateHelper().eval(PropertyKeys.ajax, false);
	}

	/**
	 * Whether the Button submits the form with AJAX.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setAjax(boolean _ajax) {
		getStateHelper().put(PropertyKeys.ajax, _ajax);
	}

	/**
	 * Setting this flag updates the widget on every AJAX request.

	 * @return Returns the value of the attribute, or , false, if it hasn't been set by the JSF file.
	 */
	public boolean isAutoUpdate() {
		return (boolean) (Boolean) getStateHelper().eval(PropertyKeys.autoUpdate, false);
	}

	/**
	 * Setting this flag updates the widget on every AJAX request.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setAutoUpdate(boolean _autoUpdate) {
		getStateHelper().put(PropertyKeys.autoUpdate, _autoUpdate);
	}

	/**
	 * An EL expression referring to a server side UIComponent instance in a backing bean.

	 * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
	 */
	public javax.faces.component.UIComponent getBinding() {
		return (javax.faces.component.UIComponent) getStateHelper().eval(PropertyKeys.binding);
	}

	/**
	 * An EL expression referring to a server side UIComponent instance in a backing bean.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setBinding(javax.faces.component.UIComponent _binding) {
		getStateHelper().put(PropertyKeys.binding, _binding);
	}

	/**
	 * Integer value to specify how many columns to span on large screens (≥1200 pixels wide). The number may optionally be followed by "column" or "columns". Alternative legal values: half, one-third, two-thirds, one-fourth, three-fourths.

	 * @return Returns the value of the attribute, or "-1", if it hasn't been set by the JSF file.
	 */
	public String getColLg() {
		return (String) getStateHelper().eval(PropertyKeys.colLg, "-1");
	}

	/**
	 * Integer value to specify how many columns to span on large screens (≥1200 pixels wide). The number may optionally be followed by "column" or "columns". Alternative legal values: half, one-third, two-thirds, one-fourth, three-fourths.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setColLg(String _colLg) {
		getStateHelper().put(PropertyKeys.colLg, _colLg);
	}

	/**
	 * Integer value to specify how many columns to span on medium screens (≥992 pixels wide). The number may optionally be followed by "column" or "columns". Alternative legal values: half, one-third, two-thirds, one-fourth, three-fourths.

	 * @return Returns the value of the attribute, or "-1", if it hasn't been set by the JSF file.
	 */
	public String getColMd() {
		return (String) getStateHelper().eval(PropertyKeys.colMd, "-1");
	}

	/**
	 * Integer value to specify how many columns to span on medium screens (≥992 pixels wide). The number may optionally be followed by "column" or "columns". Alternative legal values: half, one-third, two-thirds, one-fourth, three-fourths.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setColMd(String _colMd) {
		getStateHelper().put(PropertyKeys.colMd, _colMd);
	}

	/**
	 * Integer value to specify how many columns to span on small screens (≥768p pixels wide). The number may optionally be followed by "column" or "columns". Alternative legal values: half, one-third, two-thirds, one-fourth, three-fourths.

	 * @return Returns the value of the attribute, or "-1", if it hasn't been set by the JSF file.
	 */
	public String getColSm() {
		return (String) getStateHelper().eval(PropertyKeys.colSm, "-1");
	}

	/**
	 * Integer value to specify how many columns to span on small screens (≥768p pixels wide). The number may optionally be followed by "column" or "columns". Alternative legal values: half, one-third, two-thirds, one-fourth, three-fourths.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setColSm(String _colSm) {
		getStateHelper().put(PropertyKeys.colSm, _colSm);
	}

	/**
	 * Integer value to specify how many columns to span on tiny screens (≤ 767 pixels wide). The number may optionally be followed by "column" or "columns". Alternative legal values: half, one-third, two-thirds, one-fourth, three-fourths.

	 * @return Returns the value of the attribute, or "-1", if it hasn't been set by the JSF file.
	 */
	public String getColXs() {
		return (String) getStateHelper().eval(PropertyKeys.colXs, "-1");
	}

	/**
	 * Integer value to specify how many columns to span on tiny screens (≤ 767 pixels wide). The number may optionally be followed by "column" or "columns". Alternative legal values: half, one-third, two-thirds, one-fourth, three-fourths.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setColXs(String _colXs) {
		getStateHelper().put(PropertyKeys.colXs, _colXs);
	}

	/**
	 * content-class is optional: if specified, the content (i.e. the anchor tag) will be displayed with this specific class

	 * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
	 */
	public String getContentClass() {
		return (String) getStateHelper().eval(PropertyKeys.contentClass);
	}

	/**
	 * content-class is optional: if specified, the content (i.e. the anchor tag) will be displayed with this specific class

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setContentClass(String _contentClass) {
		getStateHelper().put(PropertyKeys.contentClass, _contentClass);
	}

	/**
	 * Inline style of the content area (i.e the anchor tag).

	 * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
	 */
	public String getContentStyle() {
		return (String) getStateHelper().eval(PropertyKeys.contentStyle);
	}

	/**
	 * Inline style of the content area (i.e the anchor tag).

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setContentStyle(String _contentStyle) {
		getStateHelper().put(PropertyKeys.contentStyle, _contentStyle);
	}

	/**
	 * Delays the AJAX request.

	 * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
	 */
	public String getDelay() {
		return (String) getStateHelper().eval(PropertyKeys.delay);
	}

	/**
	 * Delays the AJAX request.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setDelay(String _delay) {
		getStateHelper().put(PropertyKeys.delay, _delay);
	}

	/**
	 * Boolean value to specify if the button is disabled.

	 * @return Returns the value of the attribute, or , false, if it hasn't been set by the JSF file.
	 */
	public boolean isDisabled() {
		return (boolean) (Boolean) getStateHelper().eval(PropertyKeys.disabled, false);
	}

	/**
	 * Boolean value to specify if the button is disabled.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setDisabled(boolean _disabled) {
		getStateHelper().put(PropertyKeys.disabled, _disabled);
	}

	/**
	 * If you use the "visible" attribute, the value of this attribute is added. Legal values: block, inline, inline-block. Default: block.

	 * @return Returns the value of the attribute, or "block", if it hasn't been set by the JSF file.
	 */
	public String getDisplay() {
		return (String) getStateHelper().eval(PropertyKeys.display, "block");
	}

	/**
	 * If you use the "visible" attribute, the value of this attribute is added. Legal values: block, inline, inline-block. Default: block.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setDisplay(String _display) {
		getStateHelper().put(PropertyKeys.display, _display);
	}

	/**
	 * The fragment  that is to be appended to the target URL. The # separator is applied automatically and needs not be included.

	 * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
	 */
	public String getFragment() {
		return (String) getStateHelper().eval(PropertyKeys.fragment);
	}

	/**
	 * The fragment  that is to be appended to the target URL. The # separator is applied automatically and needs not be included.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setFragment(String _fragment) {
		getStateHelper().put(PropertyKeys.fragment, _fragment);
	}

	/**
	 * If present, this element is rendered as Header in a menu with the text specified by this attribute value: all other attributes will be ignored.

	 * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
	 */
	public String getHeader() {
		return (String) getStateHelper().eval(PropertyKeys.header);
	}

	/**
	 * If present, this element is rendered as Header in a menu with the text specified by this attribute value: all other attributes will be ignored.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setHeader(String _header) {
		getStateHelper().put(PropertyKeys.header, _header);
	}

	/**
	 * This column is hidden on a certain screen size and below. Legal values: lg, md, sm, xs.

	 * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
	 */
	public String getHidden() {
		return (String) getStateHelper().eval(PropertyKeys.hidden);
	}

	/**
	 * This column is hidden on a certain screen size and below. Legal values: lg, md, sm, xs.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setHidden(String _hidden) {
		getStateHelper().put(PropertyKeys.hidden, _hidden);
	}

	/**
	 * Specifies the URL of the page the link goes to.

	 * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
	 */
	public String getHref() {
		return (String) getStateHelper().eval(PropertyKeys.href);
	}

	/**
	 * Specifies the URL of the page the link goes to.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setHref(String _href) {
		getStateHelper().put(PropertyKeys.href, _href);
	}

	/**
	 * Navigation Link Icon, can be one of the Bootstrap's Glyphicons icon names. Alignment can be specified with the icon-align attribute.

	 * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
	 */
	public String getIcon() {
		return (String) getStateHelper().eval(PropertyKeys.icon);
	}

	/**
	 * Navigation Link Icon, can be one of the Bootstrap's Glyphicons icon names. Alignment can be specified with the icon-align attribute.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setIcon(String _icon) {
		getStateHelper().put(PropertyKeys.icon, _icon);
	}

	/**
	 * Alignment can be right or left.

	 * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
	 */
	public String getIconAlign() {
		return (String) getStateHelper().eval(PropertyKeys.iconAlign);
	}

	/**
	 * Alignment can be right or left.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setIconAlign(String _iconAlign) {
		getStateHelper().put(PropertyKeys.iconAlign, _iconAlign);
	}

	/**
	 * Navigation Link Font Awesome Icon, can be one of the Font Awesome icon names. Alignment can be specified with the icon-align attribute.

	 * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
	 */
	public String getIconAwesome() {
		return (String) getStateHelper().eval(PropertyKeys.iconAwesome);
	}

	/**
	 * Navigation Link Font Awesome Icon, can be one of the Font Awesome icon names. Alignment can be specified with the icon-align attribute.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setIconAwesome(String _iconAwesome) {
		getStateHelper().put(PropertyKeys.iconAwesome, _iconAwesome);
	}

	/**
	 * Use the free brand font of FontAwesome 5. As a side effect, every FontAwesome icon on the same page is switched to FontAwesome 5.2.0. By default, the icon set is the older version 4.7.0.

	 * @return Returns the value of the attribute, or , false, if it hasn't been set by the JSF file.
	 */
	public boolean isIconBrand() {
		return (boolean) (Boolean) getStateHelper().eval(PropertyKeys.iconBrand, false);
	}

	/**
	 * Use the free brand font of FontAwesome 5. As a side effect, every FontAwesome icon on the same page is switched to FontAwesome 5.2.0. By default, the icon set is the older version 4.7.0.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setIconBrand(boolean _iconBrand) {
		getStateHelper().put(PropertyKeys.iconBrand, _iconBrand);
	}

	/**
	 * Flip the icon: can be H (horizontal) or V (vertical).

	 * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
	 */
	public String getIconFlip() {
		return (String) getStateHelper().eval(PropertyKeys.iconFlip);
	}

	/**
	 * Flip the icon: can be H (horizontal) or V (vertical).

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setIconFlip(String _iconFlip) {
		getStateHelper().put(PropertyKeys.iconFlip, _iconFlip);
	}

	/**
	 * Switch the icon from black-on-white to white-on-black.

	 * @return Returns the value of the attribute, or , false, if it hasn't been set by the JSF file.
	 */
	public boolean isIconInverse() {
		return (boolean) (Boolean) getStateHelper().eval(PropertyKeys.iconInverse, false);
	}

	/**
	 * Switch the icon from black-on-white to white-on-black.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setIconInverse(boolean _iconInverse) {
		getStateHelper().put(PropertyKeys.iconInverse, _iconInverse);
	}

	/**
	 * Use the paid 'light' font of FontAwesome 5. As a side effect, every FontAwesome icon on the same page is switched to FontAwesome 5.2.0. By default, the icon set is the older version 4.7.0.

	 * @return Returns the value of the attribute, or , false, if it hasn't been set by the JSF file.
	 */
	public boolean isIconLight() {
		return (boolean) (Boolean) getStateHelper().eval(PropertyKeys.iconLight, false);
	}

	/**
	 * Use the paid 'light' font of FontAwesome 5. As a side effect, every FontAwesome icon on the same page is switched to FontAwesome 5.2.0. By default, the icon set is the older version 4.7.0.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setIconLight(boolean _iconLight) {
		getStateHelper().put(PropertyKeys.iconLight, _iconLight);
	}

	/**
	 * Boolean value: if true the icon will rotate with 8 discrete steps.

	 * @return Returns the value of the attribute, or , false, if it hasn't been set by the JSF file.
	 */
	public boolean isIconPulse() {
		return (boolean) (Boolean) getStateHelper().eval(PropertyKeys.iconPulse, false);
	}

	/**
	 * Boolean value: if true the icon will rotate with 8 discrete steps.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setIconPulse(boolean _iconPulse) {
		getStateHelper().put(PropertyKeys.iconPulse, _iconPulse);
	}

	/**
	 * Use the paid 'regular' font of FontAwesome 5. As a side effect, every FontAwesome icon on the same page is switched to FontAwesome 5.2.0. By default, the icon set is the older version 4.7.0.

	 * @return Returns the value of the attribute, or , false, if it hasn't been set by the JSF file.
	 */
	public boolean isIconRegular() {
		return (boolean) (Boolean) getStateHelper().eval(PropertyKeys.iconRegular, false);
	}

	/**
	 * Use the paid 'regular' font of FontAwesome 5. As a side effect, every FontAwesome icon on the same page is switched to FontAwesome 5.2.0. By default, the icon set is the older version 4.7.0.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setIconRegular(boolean _iconRegular) {
		getStateHelper().put(PropertyKeys.iconRegular, _iconRegular);
	}

	/**
	 * Rotate 90 degrees the icon: Can be L,R.

	 * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
	 */
	public String getIconRotate() {
		return (String) getStateHelper().eval(PropertyKeys.iconRotate);
	}

	/**
	 * Rotate 90 degrees the icon: Can be L,R.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setIconRotate(String _iconRotate) {
		getStateHelper().put(PropertyKeys.iconRotate, _iconRotate);
	}

	/**
	 * Icon Size: legal values are lg (=133%), 2x, 3x, 4x, 5x. If you're using Fontawesome 5, also 6x, 7x, 8x, 9, 10x, xs (=75%), and sm (=87.5%) are allowed.

	 * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
	 */
	public String getIconSize() {
		return (String) getStateHelper().eval(PropertyKeys.iconSize);
	}

	/**
	 * Icon Size: legal values are lg (=133%), 2x, 3x, 4x, 5x. If you're using Fontawesome 5, also 6x, 7x, 8x, 9, 10x, xs (=75%), and sm (=87.5%) are allowed.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setIconSize(String _iconSize) {
		getStateHelper().put(PropertyKeys.iconSize, _iconSize);
	}

	/**
	 * Use the free font of FontAwesome 5. As a side effect, every FontAwesome icon on the same page is switched to FontAwesome 5.2.0. By default, the icon set is the older version 4.7.0.

	 * @return Returns the value of the attribute, or , false, if it hasn't been set by the JSF file.
	 */
	public boolean isIconSolid() {
		return (boolean) (Boolean) getStateHelper().eval(PropertyKeys.iconSolid, false);
	}

	/**
	 * Use the free font of FontAwesome 5. As a side effect, every FontAwesome icon on the same page is switched to FontAwesome 5.2.0. By default, the icon set is the older version 4.7.0.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setIconSolid(boolean _iconSolid) {
		getStateHelper().put(PropertyKeys.iconSolid, _iconSolid);
	}

	/**
	 * Boolean value: if true the icon will spin.

	 * @return Returns the value of the attribute, or , false, if it hasn't been set by the JSF file.
	 */
	public boolean isIconSpin() {
		return (boolean) (Boolean) getStateHelper().eval(PropertyKeys.iconSpin, false);
	}

	/**
	 * Boolean value: if true the icon will spin.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setIconSpin(boolean _iconSpin) {
		getStateHelper().put(PropertyKeys.iconSpin, _iconSpin);
	}

	/**
	 * Flag indicating that, if this component is activated by the user, notifications should be delivered to interested listeners and actions immediately (that is, during Apply Request Values phase) rather than waiting until Invoke Application phase. Default is false.

	 * @return Returns the value of the attribute, or , false, if it hasn't been set by the JSF file.
	 */
	public boolean isImmediate() {
		return (boolean) (Boolean) getStateHelper().eval(PropertyKeys.immediate, false);
	}

	/**
	 * Flag indicating that, if this component is activated by the user, notifications should be delivered to interested listeners and actions immediately (that is, during Apply Request Values phase) rather than waiting until Invoke Application phase. Default is false.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setImmediate(boolean _immediate) {
		getStateHelper().put(PropertyKeys.immediate, _immediate);
	}

	/**
	 * Set whether or not the page parameters should be encoded into the target url.

	 * @return Returns the value of the attribute, or , false, if it hasn't been set by the JSF file.
	 */
	public boolean isIncludeViewParams() {
		return (boolean) (Boolean) getStateHelper().eval(PropertyKeys.includeViewParams, false);
	}

	/**
	 * Set whether or not the page parameters should be encoded into the target url.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setIncludeViewParams(boolean _includeViewParams) {
		getStateHelper().put(PropertyKeys.includeViewParams, _includeViewParams);
	}

	/**
	 * Alternative spelling to col-lg. Integer value to specify how many columns to span on large screens (≥1200 pixels wide). The number may optionally be followed by "column" or "columns". Alternative legal values: half, one-third, two-thirds, one-fourth, three-fourths.

	 * @return Returns the value of the attribute, or "-1", if it hasn't been set by the JSF file.
	 */
	public String getLargeScreen() {
		return (String) getStateHelper().eval(PropertyKeys.largeScreen, "-1");
	}

	/**
	 * Alternative spelling to col-lg. Integer value to specify how many columns to span on large screens (≥1200 pixels wide). The number may optionally be followed by "column" or "columns". Alternative legal values: half, one-third, two-thirds, one-fourth, three-fourths.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setLargeScreen(String _largeScreen) {
		getStateHelper().put(PropertyKeys.largeScreen, _largeScreen);
	}

	/**
	 * Alternative spelling to col-md. Integer value to specify how many columns to span on medium screens (≥992 pixels wide). The number may optionally be followed by "column" or "columns". Alternative legal values: half, one-third, two-thirds, one-fourth, three-fourths.

	 * @return Returns the value of the attribute, or "-1", if it hasn't been set by the JSF file.
	 */
	public String getMediumScreen() {
		return (String) getStateHelper().eval(PropertyKeys.mediumScreen, "-1");
	}

	/**
	 * Alternative spelling to col-md. Integer value to specify how many columns to span on medium screens (≥992 pixels wide). The number may optionally be followed by "column" or "columns". Alternative legal values: half, one-third, two-thirds, one-fourth, three-fourths.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setMediumScreen(String _mediumScreen) {
		getStateHelper().put(PropertyKeys.mediumScreen, _mediumScreen);
	}

	/**
	 * Integer value to specify how many columns to offset.

	 * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
	 */
	public String getOffset() {
		return (String) getStateHelper().eval(PropertyKeys.offset);
	}

	/**
	 * Integer value to specify how many columns to offset.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setOffset(String _offset) {
		getStateHelper().put(PropertyKeys.offset, _offset);
	}

	/**
	 * Integer value to specify how many columns to offset.

	 * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
	 */
	public String getOffsetLg() {
		return (String) getStateHelper().eval(PropertyKeys.offsetLg);
	}

	/**
	 * Integer value to specify how many columns to offset.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setOffsetLg(String _offsetLg) {
		getStateHelper().put(PropertyKeys.offsetLg, _offsetLg);
	}

	/**
	 * Integer value to specify how many columns to offset.

	 * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
	 */
	public String getOffsetMd() {
		return (String) getStateHelper().eval(PropertyKeys.offsetMd);
	}

	/**
	 * Integer value to specify how many columns to offset.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setOffsetMd(String _offsetMd) {
		getStateHelper().put(PropertyKeys.offsetMd, _offsetMd);
	}

	/**
	 * Integer value to specify how many columns to offset.

	 * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
	 */
	public String getOffsetSm() {
		return (String) getStateHelper().eval(PropertyKeys.offsetSm);
	}

	/**
	 * Integer value to specify how many columns to offset.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setOffsetSm(String _offsetSm) {
		getStateHelper().put(PropertyKeys.offsetSm, _offsetSm);
	}

	/**
	 * Integer value to specify how many columns to offset.

	 * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
	 */
	public String getOffsetXs() {
		return (String) getStateHelper().eval(PropertyKeys.offsetXs);
	}

	/**
	 * Integer value to specify how many columns to offset.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setOffsetXs(String _offsetXs) {
		getStateHelper().put(PropertyKeys.offsetXs, _offsetXs);
	}

	/**
	 * Client side callback to execute when input element loses focus.

	 * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
	 */
	public String getOnblur() {
		return (String) getStateHelper().eval(PropertyKeys.onblur);
	}

	/**
	 * Client side callback to execute when input element loses focus.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setOnblur(String _onblur) {
		getStateHelper().put(PropertyKeys.onblur, _onblur);
	}

	/**
	 * Client side callback to execute when input element loses focus and its value has been modified since gaining focus.

	 * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
	 */
	public String getOnchange() {
		return (String) getStateHelper().eval(PropertyKeys.onchange);
	}

	/**
	 * Client side callback to execute when input element loses focus and its value has been modified since gaining focus.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setOnchange(String _onchange) {
		getStateHelper().put(PropertyKeys.onchange, _onchange);
	}

	/**
	 * The onclick attribute.

	 * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
	 */
	public String getOnclick() {
		return (String) getStateHelper().eval(PropertyKeys.onclick);
	}

	/**
	 * The onclick attribute.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setOnclick(String _onclick) {
		getStateHelper().put(PropertyKeys.onclick, _onclick);
	}

	/**
	 * JavaScript to be executed when ajax completes.

	 * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
	 */
	public String getOncomplete() {
		return (String) getStateHelper().eval(PropertyKeys.oncomplete);
	}

	/**
	 * JavaScript to be executed when ajax completes.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setOncomplete(String _oncomplete) {
		getStateHelper().put(PropertyKeys.oncomplete, _oncomplete);
	}

	/**
	 * Client side callback to execute when input element is double clicked.

	 * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
	 */
	public String getOndblclick() {
		return (String) getStateHelper().eval(PropertyKeys.ondblclick);
	}

	/**
	 * Client side callback to execute when input element is double clicked.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setOndblclick(String _ondblclick) {
		getStateHelper().put(PropertyKeys.ondblclick, _ondblclick);
	}

	/**
	 * JavaScript to be executed when ajax results on an error (including both network errors and Java exceptions).

	 * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
	 */
	public String getOnerror() {
		return (String) getStateHelper().eval(PropertyKeys.onerror);
	}

	/**
	 * JavaScript to be executed when ajax results on an error (including both network errors and Java exceptions).

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setOnerror(String _onerror) {
		getStateHelper().put(PropertyKeys.onerror, _onerror);
	}

	/**
	 * Client side callback to execute when input element receives focus.

	 * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
	 */
	public String getOnfocus() {
		return (String) getStateHelper().eval(PropertyKeys.onfocus);
	}

	/**
	 * Client side callback to execute when input element receives focus.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setOnfocus(String _onfocus) {
		getStateHelper().put(PropertyKeys.onfocus, _onfocus);
	}

	/**
	 * Client side callback to execute when a key is pressed down over input element.

	 * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
	 */
	public String getOnkeydown() {
		return (String) getStateHelper().eval(PropertyKeys.onkeydown);
	}

	/**
	 * Client side callback to execute when a key is pressed down over input element.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setOnkeydown(String _onkeydown) {
		getStateHelper().put(PropertyKeys.onkeydown, _onkeydown);
	}

	/**
	 * Client side callback to execute when a key is pressed and released over input element.

	 * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
	 */
	public String getOnkeypress() {
		return (String) getStateHelper().eval(PropertyKeys.onkeypress);
	}

	/**
	 * Client side callback to execute when a key is pressed and released over input element.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setOnkeypress(String _onkeypress) {
		getStateHelper().put(PropertyKeys.onkeypress, _onkeypress);
	}

	/**
	 * Client side callback to execute when a key is released over input element.

	 * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
	 */
	public String getOnkeyup() {
		return (String) getStateHelper().eval(PropertyKeys.onkeyup);
	}

	/**
	 * Client side callback to execute when a key is released over input element.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setOnkeyup(String _onkeyup) {
		getStateHelper().put(PropertyKeys.onkeyup, _onkeyup);
	}

	/**
	 * Client side callback to execute when a pointer input element is pressed down over input element.

	 * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
	 */
	public String getOnmousedown() {
		return (String) getStateHelper().eval(PropertyKeys.onmousedown);
	}

	/**
	 * Client side callback to execute when a pointer input element is pressed down over input element.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setOnmousedown(String _onmousedown) {
		getStateHelper().put(PropertyKeys.onmousedown, _onmousedown);
	}

	/**
	 * Client side callback to execute when a pointer input element is moved within input element.

	 * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
	 */
	public String getOnmousemove() {
		return (String) getStateHelper().eval(PropertyKeys.onmousemove);
	}

	/**
	 * Client side callback to execute when a pointer input element is moved within input element.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setOnmousemove(String _onmousemove) {
		getStateHelper().put(PropertyKeys.onmousemove, _onmousemove);
	}

	/**
	 * Client side callback to execute when a pointer input element is moved away from input element.

	 * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
	 */
	public String getOnmouseout() {
		return (String) getStateHelper().eval(PropertyKeys.onmouseout);
	}

	/**
	 * Client side callback to execute when a pointer input element is moved away from input element.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setOnmouseout(String _onmouseout) {
		getStateHelper().put(PropertyKeys.onmouseout, _onmouseout);
	}

	/**
	 * Client side callback to execute when a pointer input element is moved onto input element.

	 * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
	 */
	public String getOnmouseover() {
		return (String) getStateHelper().eval(PropertyKeys.onmouseover);
	}

	/**
	 * Client side callback to execute when a pointer input element is moved onto input element.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setOnmouseover(String _onmouseover) {
		getStateHelper().put(PropertyKeys.onmouseover, _onmouseover);
	}

	/**
	 * Client side callback to execute when a pointer input element is released over input element.

	 * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
	 */
	public String getOnmouseup() {
		return (String) getStateHelper().eval(PropertyKeys.onmouseup);
	}

	/**
	 * Client side callback to execute when a pointer input element is released over input element.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setOnmouseup(String _onmouseup) {
		getStateHelper().put(PropertyKeys.onmouseup, _onmouseup);
	}

	/**
	 * Client side callback to execute when text within input element is selected by user.

	 * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
	 */
	public String getOnselect() {
		return (String) getStateHelper().eval(PropertyKeys.onselect);
	}

	/**
	 * Client side callback to execute when text within input element is selected by user.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setOnselect(String _onselect) {
		getStateHelper().put(PropertyKeys.onselect, _onselect);
	}

	/**
	 * JavaScript to be executed when ajax completes with success (i.e. there's neither a network error nor a Java exception).

	 * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
	 */
	public String getOnsuccess() {
		return (String) getStateHelper().eval(PropertyKeys.onsuccess);
	}

	/**
	 * JavaScript to be executed when ajax completes with success (i.e. there's neither a network error nor a Java exception).

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setOnsuccess(String _onsuccess) {
		getStateHelper().put(PropertyKeys.onsuccess, _onsuccess);
	}

	/**
	 * The outcome to navigate to.

	 * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
	 */
	public String getOutcome() {
		return (String) getStateHelper().eval(PropertyKeys.outcome);
	}

	/**
	 * The outcome to navigate to.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setOutcome(String _outcome) {
		getStateHelper().put(PropertyKeys.outcome, _outcome);
	}

	/**
	 * Comma or space separated list of ids or search expressions denoting which values are to be sent to the server.

	 * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
	 */
	public String getProcess() {
		return (String) getStateHelper().eval(PropertyKeys.process);
	}

	/**
	 * Comma or space separated list of ids or search expressions denoting which values are to be sent to the server.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setProcess(String _process) {
		getStateHelper().put(PropertyKeys.process, _process);
	}

	/**
	 * Alternative spelling to col-sm. Integer value to specify how many columns to span on small screens (≥768p pixels wide). The number may optionally be followed by "column" or "columns". Alternative legal values: half, one-third, two-thirds, one-fourth, three-fourths.

	 * @return Returns the value of the attribute, or "-1", if it hasn't been set by the JSF file.
	 */
	public String getSmallScreen() {
		return (String) getStateHelper().eval(PropertyKeys.smallScreen, "-1");
	}

	/**
	 * Alternative spelling to col-sm. Integer value to specify how many columns to span on small screens (≥768p pixels wide). The number may optionally be followed by "column" or "columns". Alternative legal values: half, one-third, two-thirds, one-fourth, three-fourths.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setSmallScreen(String _smallScreen) {
		getStateHelper().put(PropertyKeys.smallScreen, _smallScreen);
	}

	/**
	 * Integer value to specify how many columns to span on medium screens (≥992 pixels). The number may optionally be followed by "column" or "columns". Alternative legal values: half, one-third, two-thirds, one-fourth, three-fourths.

	 * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
	 */
	public String getSpan() {
		return (String) getStateHelper().eval(PropertyKeys.span);
	}

	/**
	 * Integer value to specify how many columns to span on medium screens (≥992 pixels). The number may optionally be followed by "column" or "columns". Alternative legal values: half, one-third, two-thirds, one-fourth, three-fourths.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setSpan(String _span) {
		getStateHelper().put(PropertyKeys.span, _span);
	}

	/**
	 * Inline style

	 * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
	 */
	public String getStyle() {
		return (String) getStateHelper().eval(PropertyKeys.style);
	}

	/**
	 * Inline style

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setStyle(String _style) {
		getStateHelper().put(PropertyKeys.style, _style);
	}

	/**
	 * CSS style class

	 * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
	 */
	public String getStyleClass() {
		return (String) getStateHelper().eval(PropertyKeys.styleClass);
	}

	/**
	 * CSS style class

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setStyleClass(String _styleClass) {
		getStateHelper().put(PropertyKeys.styleClass, _styleClass);
	}

	/**
	 * Position of this element in the tabbing order for the current document. This value must be an integer between -1 and 32767. By default, Bootstrap uses 0, which means the tab order is relative to the position of the element in the document.

	 * @return Returns the value of the attribute, or "0", if it hasn't been set by the JSF file.
	 */
	public String getTabindex() {
		return (String) getStateHelper().eval(PropertyKeys.tabindex, "0");
	}

	/**
	 * Position of this element in the tabbing order for the current document. This value must be an integer between -1 and 32767. By default, Bootstrap uses 0, which means the tab order is relative to the position of the element in the document.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setTabindex(String _tabindex) {
		getStateHelper().put(PropertyKeys.tabindex, _tabindex);
	}

	/**
	 * Optional target of the HTML anchor tag that's rendered. E.g. # opens the link in a new tab. This attribute is only evaluated if you provide an href.

	 * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
	 */
	public String getTarget() {
		return (String) getStateHelper().eval(PropertyKeys.target);
	}

	/**
	 * Optional target of the HTML anchor tag that's rendered. E.g. # opens the link in a new tab. This attribute is only evaluated if you provide an href.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setTarget(String _target) {
		getStateHelper().put(PropertyKeys.target, _target);
	}

	/**
	 * Alternative spelling to col-xs. Integer value to specify how many columns to span on tiny screens (≤ 767 pixels wide). The number may optionally be followed by "column" or "columns". Alternative legal values: half, one-third, two-thirds, one-fourth, three-fourths.

	 * @return Returns the value of the attribute, or "-1", if it hasn't been set by the JSF file.
	 */
	public String getTinyScreen() {
		return (String) getStateHelper().eval(PropertyKeys.tinyScreen, "-1");
	}

	/**
	 * Alternative spelling to col-xs. Integer value to specify how many columns to span on tiny screens (≤ 767 pixels wide). The number may optionally be followed by "column" or "columns". Alternative legal values: half, one-third, two-thirds, one-fourth, three-fourths.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setTinyScreen(String _tinyScreen) {
		getStateHelper().put(PropertyKeys.tinyScreen, _tinyScreen);
	}

	/**
	 * The text of the tooltip.

	 * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
	 */
	public String getTooltip() {
		return (String) getStateHelper().eval(PropertyKeys.tooltip);
	}

	/**
	 * The text of the tooltip.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setTooltip(String _tooltip) {
		getStateHelper().put(PropertyKeys.tooltip, _tooltip);
	}

	/**
	 * Where is the tooltip div generated? That's primarily a technical value that can be used to fix rendering errors in special cases. Also see data-container in the documentation of Bootstrap. The default value is body.

	 * @return Returns the value of the attribute, or "body", if it hasn't been set by the JSF file.
	 */
	public String getTooltipContainer() {
		return (String) getStateHelper().eval(PropertyKeys.tooltipContainer, "body");
	}

	/**
	 * Where is the tooltip div generated? That's primarily a technical value that can be used to fix rendering errors in special cases. Also see data-container in the documentation of Bootstrap. The default value is body.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setTooltipContainer(String _tooltipContainer) {
		getStateHelper().put(PropertyKeys.tooltipContainer, _tooltipContainer);
	}

	/**
	 * The tooltip is shown and hidden with a delay. This value is the delay in milliseconds. Defaults to 0 (no delay).

	 * @return Returns the value of the attribute, or 0, if it hasn't been set by the JSF file.
	 */
	public int getTooltipDelay() {
		return (int) (Integer) getStateHelper().eval(PropertyKeys.tooltipDelay, 0);
	}

	/**
	 * The tooltip is shown and hidden with a delay. This value is the delay in milliseconds. Defaults to 0 (no delay).

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setTooltipDelay(int _tooltipDelay) {
		getStateHelper().put(PropertyKeys.tooltipDelay, _tooltipDelay);
	}

	/**
	 * The tooltip is hidden with a delay. This value is the delay in milliseconds. Defaults to 0 (no delay).

	 * @return Returns the value of the attribute, or 0, if it hasn't been set by the JSF file.
	 */
	public int getTooltipDelayHide() {
		return (int) (Integer) getStateHelper().eval(PropertyKeys.tooltipDelayHide, 0);
	}

	/**
	 * The tooltip is hidden with a delay. This value is the delay in milliseconds. Defaults to 0 (no delay).

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setTooltipDelayHide(int _tooltipDelayHide) {
		getStateHelper().put(PropertyKeys.tooltipDelayHide, _tooltipDelayHide);
	}

	/**
	 * The tooltip is shown with a delay. This value is the delay in milliseconds. Defaults to 0 (no delay).

	 * @return Returns the value of the attribute, or 0, if it hasn't been set by the JSF file.
	 */
	public int getTooltipDelayShow() {
		return (int) (Integer) getStateHelper().eval(PropertyKeys.tooltipDelayShow, 0);
	}

	/**
	 * The tooltip is shown with a delay. This value is the delay in milliseconds. Defaults to 0 (no delay).

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setTooltipDelayShow(int _tooltipDelayShow) {
		getStateHelper().put(PropertyKeys.tooltipDelayShow, _tooltipDelayShow);
	}

	/**
	 * Where is the tooltip to be displayed? Possible values: "top", "bottom", "right", "left", "auto", "auto top", "auto bottom", "auto right" and "auto left". Default to "bottom".

	 * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
	 */
	public String getTooltipPosition() {
		return (String) getStateHelper().eval(PropertyKeys.tooltipPosition);
	}

	/**
	 * Where is the tooltip to be displayed? Possible values: "top", "bottom", "right", "left", "auto", "auto top", "auto bottom", "auto right" and "auto left". Default to "bottom".

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setTooltipPosition(String _tooltipPosition) {
		getStateHelper().put(PropertyKeys.tooltipPosition, _tooltipPosition);
	}

	/**
	 * Component(s) to be updated with ajax.

	 * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
	 */
	public String getUpdate() {
		return (String) getStateHelper().eval(PropertyKeys.update);
	}

	/**
	 * Component(s) to be updated with ajax.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setUpdate(String _update) {
		getStateHelper().put(PropertyKeys.update, _update);
	}

	/**
	 * This column is shown on a certain screen size and above. Legal values: lg, md, sm, xs.

	 * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
	 */
	public String getVisible() {
		return (String) getStateHelper().eval(PropertyKeys.visible);
	}

	/**
	 * This column is shown on a certain screen size and above. Legal values: lg, md, sm, xs.

	 * Usually this method is called internally by the JSF engine.
	 */
	public void setVisible(String _visible) {
		getStateHelper().put(PropertyKeys.visible, _visible);
	}

}

redpajama_set_name: RedPajamaGithub


text:
"use strict" ;

/*
	== Diff function ==
*/

function diff( left , right , options ) {
	var i , key , keyPath ,
		leftKeys , rightKeys , leftTypeof , rightTypeof ,
		depth , diffObject , length , arrayMode ;

	leftTypeof = typeof left ;
	rightTypeof = typeof right ;

	if (
		! left || ( leftTypeof !== 'object' && leftTypeof !== 'function' ) ||
		! right || ( rightTypeof !== 'object' && rightTypeof !== 'function' )
	) {
		throw new Error( '[tree] diff() needs objects as argument #0 and #1' ) ;
	}

	if ( ! options || typeof options !== 'object' ) { options = {} ; }

	depth = options.depth || 0 ;

	// Things applied only for the root, not for recursive call
	if ( ! depth ) {
		options.diffObject = {} ;
		if ( ! options.path ) { options.path = '' ; }
		if ( ! options.pathSeparator ) { options.pathSeparator = '.' ; }
	}

	diffObject = options.diffObject ;

	// Left part
	if ( Array.isArray( left ) ) {
		arrayMode = true ;
		length = left.length ;
	}
	else {
		arrayMode = false ;
		leftKeys = Object.keys( left ) ;
		length = leftKeys.length ;
	}

	for ( i = 0 ; i < length ; i ++ ) {
		key = arrayMode ? i : leftKeys[ i ] ;
		keyPath = options.path + options.pathSeparator + key ;
		//console.log( 'L keyPath:' , keyPath ) ;

		if ( ! Object.prototype.hasOwnProperty.call( right , key ) ) {
			diffObject[ keyPath ] = { path: keyPath , message: 'does not exist in right-hand side' } ;
			continue ;
		}

		leftTypeof = typeof left[ key ] ;
		rightTypeof = typeof right[ key ] ;

		if ( leftTypeof !== rightTypeof ) {
			diffObject[ keyPath ] = { path: keyPath , message: 'different typeof: ' + leftTypeof + ' - ' + rightTypeof } ;
			continue ;
		}

		if ( leftTypeof === 'object' || leftTypeof === 'function' ) {
			// Cleanup the 'null is an object' mess
			if ( ! left[ key ] ) {
				if ( right[ key ] ) { diffObject[ keyPath ] = { path: keyPath , message: 'different type: null - Object' } ; }
				continue ;
			}

			if ( ! right[ key ] ) {
				diffObject[ keyPath ] = { path: keyPath , message: 'different type: Object - null' } ;
				continue ;
			}

			if ( Array.isArray( left[ key ] ) && ! Array.isArray( right[ key ] ) ) {
				diffObject[ keyPath ] = { path: keyPath , message: 'different type: Array - Object' } ;
				continue ;
			}

			if ( ! Array.isArray( left[ key ] ) && Array.isArray( right[ key ] ) ) {
				diffObject[ keyPath ] = { path: keyPath , message: 'different type: Object - Array' } ;
				continue ;
			}

			diff( left[ key ] , right[ key ] , {
				path: keyPath , pathSeparator: options.pathSeparator , depth: depth + 1 , diffObject: diffObject
			} ) ;
			continue ;
		}

		if ( left[ key ] !== right[ key ] ) {
			diffObject[ keyPath ] = { path: keyPath , message: 'different value: ' + left[ key ] + ' - ' + right[ key ] } ;
			continue ;
		}
	}

	// Right part
	if ( Array.isArray( right ) ) {
		arrayMode = true ;
		length = right.length ;
	}
	else {
		arrayMode = false ;
		rightKeys = Object.keys( right ) ;
		length = rightKeys.length ;
	}

	for ( i = 0 ; i < length ; i ++ ) {
		key = arrayMode ? i : rightKeys[ i ] ;
		keyPath = options.path + options.pathSeparator + key ;
		//console.log( 'R keyPath:' , keyPath ) ;

		if ( ! Object.prototype.hasOwnProperty.call( left , key ) ) {
			diffObject[ keyPath ] = { path: keyPath , message: 'does not exist in left-hand side' } ;
			continue ;
		}
	}

	return Object.keys( diffObject ).length ? diffObject : null ;
}

exports.diff = diff ;


text:
package br.com.varjao.midia.dao;

import java.util.List;

import org.hibernate.Session;
import org.hibernate.criterion.Restrictions;

import br.com.caelum.vraptor.ioc.Component;

import br.com.varjao.midia.model.User;

@Component
public class UserDAO extends GenericDAO<User>{

	public UserDAO(Session session) {
		super(session);

	}

	public List<User> find(User user){

			return session.createCriteria(User.class).add(
					Restrictions.ilike("name", "%" + user.getName() + "%")).list();

	}

	public User findByLogin(String login){
		return (User) session.createQuery("from User u where u.login = :login").setParameter("login", login).uniqueResult();
	}

	public List<User> findByEmailReceive(){
		return session.createQuery("from User u where u.receiveEmail = :receive").setParameter("receive", true).list();
	}

}


text:
<?xml version="1.0" ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<link rel="stylesheet" type="text/css" href="../../scineplex.css">
<title></title>
<link rel="stylesheet" href="../../Active.css" type="text/css" />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rev="made" href="mailto:" />

NAME

SYNOPSIS

DESCRIPTION

AUTHORS

COPYRIGHT AND LICENSE

NAME

Shell::Command - Cross-platform functions emulating common shell commands

SYNOPSIS

  use Shell::Command;

  mv $old_file, $new_file;
  cp $old_file, $new_file;
  touch @files;

DESCRIPTION

Thin wrapper around ExtUtils::Command. See ExtUtils::Command for a description of available commands.

AUTHORS

Michael G Schwern <schwern@pobox.com>

Randy Kobes <r.kobes@uwinnipeg.ca>

Florian Ragwitz <rafl@debian.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2011 by Michael G Schwern.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.


text:
require "net/http"
require "logger"
require "active_record"
require "activerecord-import"
require "guillaume/version"
require "guillaume/corpus"
require "guillaume/source_text"
require "guillaume/ngram"
require "guillaume/line"
require "guillaume/poem"
require "guillaume/poetics"

DATABASE_ENV = ENV["DATABASE_ENV"] || "development"

$LOGGER = Logger.new(STDOUT)
$LOGGER.level = Logger::ERROR

guillaume_db_config = YAML.load_file("#{Dir.home}/.guillaume_dbs.yml")
ActiveRecord::Base.establish_connection(guillaume_db_config[DATABASE_ENV])

module Guillaume
end


text:
null instanceof (() => { });
({}) instanceof null; // Ok because null is a subtype of function

null in {};
"" in null;

for (var a in null) { }

var t = [3, (3, null)];
t[3] = "";

var x: typeof undefined = 3;
x = 3;

var y;
var u = [3, (y = null)];
u[3] = "";

var ob: { x: typeof undefined } = { x: "" };

// Highlights the difference between array literals and object literals
var arr: string[] = [3, null]; // not assignable because null is not widened. BCT is {}
var obj: { [x: string]: string; } = { x: 3, y: null }; // assignable because null is widened, and therefore BCT is any

//// [widenedTypes.js]
null instanceof (function () {
});
({}) instanceof null; // Ok because null is a subtype of function
null in {};
"" in null;
for (var a in null) {
}
var t = [3, (3, null)];
t[3] = "";
var x = 3;
x = 3;
var y;
var u = [3, (y = null)];
u[3] = "";
var ob = { x: "" };
// Highlights the difference between array literals and object literals
var arr = [3, null]; // not assignable because null is not widened. BCT is {}
var obj = { x: 3, y: null }; // assignable because null is widened, and therefore BCT is any


text:
<?php

namespace AppBundle\Controller;

use AppBundle\Entity\Tpurchase;
use AppBundle\Entity\Tpayments;
use AppBundle\Utils\Utils;
use AppBundle\Entity\TpaymentsTaxaDesconto;
use AppBundle\Entity\TpaymentsTaxaServico;
use AppBundle\Entity\TpaymentsSimulator;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\Form\Form;
use Symfony\Component\HttpFoundation\Request;

/**
 * Tpayment controller.
 *
 */
class TpaymentsController extends Controller {

    public function blankAction(Request $request) {

        //$em = $this->getContainer()->get('doctrine.orm.entity_manager');
//        $em = $this->getDoctrine()->getManager();
//
//        $payments = $em->getRepository('AppBundle:Tpayments')->findLastDaysPayments(6);
//
//        foreach ($payments as $key => $payment) {
//
//            $data = $this->getIngenicoObject($payment->getFpayid());
//
//
//            $entity = new \AppBundle\Entity\IngenicoPayment();
//            $entity->setOrderId($this->xml_attribute($data, 'orderID'));
//            $entity->setPayId(intval($this->xml_attribute($data, 'PAYID')));
//            $entity->setPayIdSub($this->xml_attribute($data, 'PAYIDSUB'));
//            $entity->setNcStatus($this->xml_attribute($data, 'NCSTATUS'));
//            $entity->setNcError($this->xml_attribute($data, 'NCERROR'));
//            $entity->setNcErrorPlus($this->xml_attribute($data, 'NCERRORPLUS'));
//            $entity->setAcceptance($this->xml_attribute($data, 'ACCEPTANCE'));
//            $entity->setStatus($this->xml_attribute($data, 'STATUS'));
//            $entity->setIpcty($this->xml_attribute($data, 'IPCTY'));
//            $entity->setCccty($this->xml_attribute($data, 'CCCTY'));
//            $entity->setEci($this->xml_attribute($data, 'ECI'));
//            $entity->setCvcCheck($this->xml_attribute($data, 'CVCCheck'));
//            $entity->setAavCheck($this->xml_attribute($data, 'AAVCheck'));
//            $entity->setVc($this->xml_attribute($data, 'VC'));
//            $entity->setAmount($this->xml_attribute($data, 'amount'));
//            $entity->setCurrency($this->xml_attribute($data, 'currency'));
//            $entity->setPm($this->xml_attribute($data, 'PM'));
//            $entity->setBrand($this->xml_attribute($data, 'BRAND'));
//            $entity->setCardNo($this->xml_attribute($data, 'CARDNO'));
//            $entity->setScoring($this->xml_attribute($data, 'SCORING'));
//            $entity->setScoCategory($this->xml_attribute($data, 'SCO_CATEGORY'));
//
//            $entity = $em->merge($entity); //it's important to use result of function, not the same element
//            $em->flush();
//
//        }

        return $this->render('tpayments/blank.html.twig');
    }

//

    public function simulatorAction(Request $request) {

        $logger = $this->get('logger');
        $logger->info("simulatorAction");
        $em = $this->getDoctrine()->getManager();

        $simulation = new TpaymentsSimulator();
        $form = $this->createForm('AppBundle\Form\TpaymentsSimulatorType', $simulation);
        $form->handleRequest($request);
        $tpayments = array();

        if ($form->isSubmitted() && $form->isValid()) {
//            $em = $this->getDoctrine()->getManager();
//            $em->persist($tpayment);
//            $em->flush();

            $purchase = new \AppBundle\Entity\Tpurchase();
            $purchase->setFcalcamount($form["valorCompra"]->getData());
            $purchase->setFmonthdata($form["numeroParcelas"]->getData());
            $purchase->setFpurchasedate(new \DateTime());

            if ($form["taxa"]->getData() == 1):

                $tpayments = $em->getRepository('AppBundle:Tpayments')->generatePaymentsTaxaDesconto($purchase);
                return $this->render('tpayments/simulatorDesconto.html.twig', array(
                            'simulation' => $simulation,
                            'tpayments' => $tpayments,
                            'form' => $form->createView(),
                ));
            else:
                $tpayments = $em->getRepository('AppBundle:Tpayments')->generatePaymentsTaxaServico($purchase);
                return $this->render('tpayments/simulatorServico.html.twig', array(
                            'simulation' => $simulation,
                            'tpayments' => $tpayments,
                            'form' => $form->createView(),
                ));
            endif;
        }

        return $this->render('tpayments/simulatorDesconto.html.twig', array(
                    'simulation' => $simulation,
                    'form' => $form->createView(),
        ));
    }

    /**
     * Lists all tpayment entities.
     *
     */
    public function indexAction(Request $request) {
        $em = $this->getDoctrine()->getManager();
        $search = array();

        $tpayments = $em->getRepository('AppBundle:Tpayments')->findAllProcessedPayments($search);

        $searchForm = $this->createForm('AppBundle\Form\PaymentsUncapturedSearchType', $tpayments);
        $searchForm->handleRequest($request);

        if ($searchForm->isSubmitted()) {

            $agencyId = $searchForm["agencyId"]->getData();
            $groupId = $searchForm["groupId"]->getData();
            $subgroupId = $searchForm["subgroupId"]->getData();
            $taxIdnumber = $searchForm["taxIdNumber"]->getData();
            $clientname= $searchForm["clientname"]->getData();
            $names[]=explode(" ", $clientname);

            if (!empty($agencyId)) {
                $search['agencyId'] = $agencyId;
            }

            if (!empty($groupId)) {
                $search['groupId'] = $groupId;
            }

            if (!empty($subgroupId)) {
                $search['subgroupId'] = $subgroupId;
            }

            if (!empty($taxIdnumber)) {
                $search['taxIdNumber'] = $taxIdnumber;
            }

            if (!empty($clientname)) {
                $search['clientname'] = $names[0];
            }

            $tpayments = $em->getRepository('AppBundle:Tpayments')->findAllProcessedPayments($search);
        } else {
            $tpayments = $em->getRepository('AppBundle:Tpayments')->findAllProcessedPayments($search);
        }

        return $this->render('tpayments/index.html.twig', array(
                    'tpayments' => $tpayments,
                    'search_form' => $searchForm->createView()
        ));
    }

    /**
     * Metodo que devolve as próximas transações que serão efectuadas, indicando as que já deveriam ter sido efectuadas.
     *
     */
    public function nextPaymentsAction(Request $request) {
        $em = $this->getDoctrine()->getManager();

        $tpurchase = new Tpurchase();

        $startDate = new \DateTime();
        $endDate = (new \DateTime())->modify('-24 hours');

        $startDate->setTime(0, 0, 0);
        $startDate->setDate(2000, 1, 1);
        $startDate->format('yyyy-mm-dd');

        $endDate->setTime(0, 0, 0);
        $endDate->format('yyyy-mm-dd');

        $searchForm = $this->createForm('AppBundle\Form\TpurchaseNextPaymentsSearchType', $tpurchase);
        $searchForm->handleRequest($request);

        $search = array();
        $nextPayments = array();

        if ($searchForm->isSubmitted()) {

            $fagencyid = $searchForm["agency"]->getData();
            $fcontractnumber = $searchForm["fcontractnumber"]->getData();
            $fstatus = $searchForm["fstatus"]->getData();
            $groupId = $searchForm["groupId"]->getData();
            $subgroupId = $searchForm["subgroupId"]->getData();
            $startDate = $searchForm["startDate"]->getData();
            $endDate = $searchForm["endDate"]->getData();

            if (!empty($fagencyid)) {
                $search['agency'] = $fagencyid;
            }

            if (!empty($fcontractnumber)) {
                $search['fcontractnumber'] = $fcontractnumber;
            }

            if (!empty($fstatus)) {
                $search['fstatus'] = $fstatus;
            }

//

            if (!empty($startDate)) {
                $search['startDate'] = $startDate;
            }else{
                    $startDate = new \DateTime();
                    $startDate->setTime(0, 0, 0);
                    $startDate->setDate(2000, 1, 1);
                    $startDate->format('yyyy-mm-dd');

                    $search['startDate']= $startDate;

            }

            if (!empty($endDate)) {
                $search['endDate'] = $endDate;
            }else{

                   $endDate = (new \DateTime())->modify('-24 hours');
                   $endDate->setTime(0, 0, 0);
                   $endDate->format('yyyy-mm-dd');
                   $search['endDate']= $endDate;
            }

            if (!empty($groupId)) {
                $search['groupId'] = $groupId;
            }

            if (!empty($subgroupId)) {
                $search['subgroupId'] = $subgroupId;
            }

            $tpurchases = $em->getRepository('AppBundle:Tpurchase')->findByFilter($search);
        } else {
            $tpurchases = $em->getRepository('AppBundle:Tpurchase')->findByFilter($search);
        }

        foreach ($tpurchases as $key => $tpurchase) {

            //2) gerar pagamentos para todas as compras
            if ($tpurchase->getFextracharge() <> 0):
                //gerar todos os pagamentos da compra
                $generatedPayments = $em->getRepository('AppBundle:Tpayments')->generatePaymentsTaxaServico($tpurchase);
            else:
                //gerar todos os pagamentos da compra
                $generatedPayments = $em->getRepository('AppBundle:Tpayments')->generatePaymentsTaxaDesconto($tpurchase);
            endif;

            //dump($generatedPayments);
            //3) para cada compra ir buscar o ultimo pagamento efectuado
            //$lastPayment =new Tpayments();
            $lastPayment = $em->getRepository('AppBundle:Tpayments')->findLastPayment($tpurchase);

            if (!is_null($lastPayment)):

                //4) verificar todos os pagamentos gerados, e adicionar apenas os que têm um installmemt superior ao ultimo da compra
                foreach ($generatedPayments as $key => $generatedPayment) {
                    if ($generatedPayment->getNumParcela() >= $lastPayment->getFinstallment()):

                        if (
                                ( $generatedPayment->getDataPagamento() >= $startDate->getTimestamp())
                                AND ( $generatedPayment->getDataPagamento() <= $endDate->getTimestamp())) {

                            $nextPayments[] = $generatedPayment;
                        }

                    endif;
                }

            endif;
        }

        return $this->render('tpayments/nextPayments.html.twig', array(
                    'tpayments' => $nextPayments,
                    'search_form' => $searchForm->createView()
        ));
    }

    /**
     * Metodo que devolve as próximas transações que serão efectuadas, agrupadas por mês ou semana.
     *
     */
    public function paymentForecastsAction(Request $request) {
        $em = $this->getDoctrine()->getManager();

        $forecastSearch = new \AppBundle\Entity\PaymentForecastsSearch();

        $searchForm = $this->createForm('AppBundle\Form\PaymentForecastsSearchType', $forecastSearch);
        $searchForm->handleRequest($request);

        $generateForm = $this->createGenerateForm();
        $generateForm->handleRequest($request);
        $forecasts = array();

        if ($searchForm->isSubmitted()) {

            $startDate = $searchForm["startDate"]->getData();
            $endDate = $searchForm["endDate"]->getData();
            $forecastsType = $searchForm["forecastsType"]->getData();

            $groupId = $searchForm["groupId"]->getData();
            $subgroupId = $searchForm["subgroupId"]->getData();
            $agencyId = $searchForm["agencyId"]->getData();
//FP
            $agencyTaxIdNumber = $searchForm["taxIdNumber"]->getData();

            $search = array();
            if (!empty($startDate)) {
                $search['startDate'] = $startDate;
            }

            if (!empty($endDate)) {
                $search['endDate'] = $endDate;
            }

            if (!empty($forecastsType)) {
                $search['forecastsType'] = $forecastsType;
            }

            if (!empty($groupId)) {
                $search['groupId'] = $groupId;
            }

            if (!empty($subgroupId)) {
                $search['subgroupId'] = $subgroupId;
            }

            if (!empty($agencyId)) {
                $search['agencyId'] = $agencyId;
            }

            if (!empty($agencyTaxIdNumber)) {
                $search['taxIdNumber'] = $agencyTaxIdNumber;
            }

            if ($forecastsType == 1) {
                $forecasts = $em->getRepository('AppBundle:Tpurchase')->findPaymentForecastsByWeek($search);
            } else {
                $forecasts = $em->getRepository('AppBundle:Tpurchase')->findPaymentForecastsByMonth($search);
            }
        }

        return $this->render('tpayments/paymentForecasts.html.twig', array(
                    'forecasts' => $forecasts,
                    'search_form' => $searchForm->createView(),
                    'generate_form' => $generateForm->createView(),
        ));
    }

    /**
     *   1 PASSO - ELIMINAR TODOS OS REGISTOS NA TABELA DE PREVISOES
     *   2 PASSO - GERAR OS PAGAMENTOS DE TODAS AS COMPRAS
     *   3 PASSO - REGISTAR NA TABELA TODOS OS PAGAMENTOS
     *   4 PASSO - CALCULAR PREVISOES DE ACORDO COM O TIPO SELECIONADO (SEMANAL OU MENSAL)
     */
    public function generatePaymentForecastsAction(Request $request) {
        $em = $this->getDoctrine()->getManager();

        // 1 PASSO - ELIMINAR TODOS OS REGISTOS NA TABELA DE PREVISOES
        $query = $em->createQuery('DELETE AppBundle:PaymentForecasts');
        $query->execute();

        // 2 PASSO - GERAR OS PAGAMENTOS DE TODAS AS COMPRAS
        $tpurchases = $em->getRepository('AppBundle:Tpurchase')->findPurchasesForPaymentForecasts();

        //dump($tpurchases);
        foreach ($tpurchases as $key => $tpurchase) {

            if ($tpurchase->getFextracharge() <> 0):
                $generatedPayments = $em->getRepository('AppBundle:Tpayments')->generatePaymentsTaxaServico($tpurchase);
            else:
                $generatedPayments = $em->getRepository('AppBundle:Tpayments')->generatePaymentsTaxaDesconto($tpurchase);
            endif;

            // 3 PASSO - REGISTAR NA TABELA DE PREVISOES TODOS OS PAGAMENTOS
            foreach ($generatedPayments as $key => $generatedPayment) {
                $forecast = new \AppBundle\Entity\PaymentForecasts();

                $timestamp = $generatedPayment->getDataPagamento();
                $datetimeFormat = 'Y-m-d';

                $date = new \DateTime();
                // If you must have use time zones
                // $date = new \DateTime('now', new \DateTimeZone('Europe/Helsinki'));
                $date->setTimestamp($timestamp);
                $date->format($datetimeFormat);

                $agencyId = $tpurchase->getAgency()->getFagencyid();
                $subgroupId = $tpurchase->getAgency()->getSubgroup()->getFsubgroupid();
                $groupId = $tpurchase->getAgency()->getSubgroup()->getGroup()->getFgroupid();

                $forecast->setAgencyId($agencyId);
                $forecast->setSubgroupId($subgroupId);
                $forecast->setGroupId($groupId);
                $forecast->setDate($date);
                $forecast->setValueEvoPayments($generatedPayment->getValorReceberEvoPayments());
                $em->persist($forecast);
            }

            $em->flush();
        }

        return $this->redirectToRoute('admin_payments_payment_forecasts');
    }

    /**
     * Creates a new tpayment entity.
     *
     */
    public function newAction(Request $request) {
        $tpayment = new Tpayment();
        $form = $this->createForm('AppBundle\Form\TpaymentsType', $tpayment);
        $form->handleRequest($request);

        if ($form->isSubmitted() && $form->isValid()) {
            $em = $this->getDoctrine()->getManager();
            $em->persist($tpayment);
            $em->flush();

            return $this->redirectToRoute('admin_payments_show', array('fpurchaseid' => $tpayment->getFpurchaseid()));
        }

        return $this->render('tpayments/new.html.twig', array(
                    'tpayment' => $tpayment,
                    'form' => $form->createView(),
        ));
    }

    /**
     * Finds and displays a tpayment entity.
     *
     */
    public function showAction(Tpayments $tpayment) {
        $deleteForm = $this->createDeleteForm($tpayment);

        return $this->render('tpayments/show.html.twig', array(
                    'tpayment' => $tpayment,
                    'delete_form' => $deleteForm->createView(),
        ));
    }

    /**
     * Displays a form to edit an existing tpayment entity.
     *
     */
    public function editAction(Request $request, Tpayments $tpayment) {
        $deleteForm = $this->createDeleteForm($tpayment);
        $editForm = $this->createForm('AppBundle\Form\TpaymentsType', $tpayment);
        $editForm->handleRequest($request);

        if ($editForm->isSubmitted() && $editForm->isValid()) {
            $this->getDoctrine()->getManager()->flush();

            return $this->redirectToRoute('admin_payments_edit', array('fpurchaseid' => $tpayment->getFpurchaseid()));
        }

        return $this->render('tpayments/edit.html.twig', array(
                    'tpayment' => $tpayment,
                    'edit_form' => $editForm->createView(),
                    'delete_form' => $deleteForm->createView(),
        ));
    }

    /**
     * Deletes a tpayment entity.
     *
     */
    public function deleteAction(Request $request, Tpayments $tpayment) {
        $form = $this->createDeleteForm($tpayment);
        $form->handleRequest($request);

        if ($form->isSubmitted() && $form->isValid()) {
            $em = $this->getDoctrine()->getManager();
            $em->remove($tpayment);
            $em->flush();
        }

        return $this->redirectToRoute('admin_payments_index');
    }

    /**
     * Creates a form to delete a tpayment entity.
     *
     * @param Tpayments $tpayment The tpayment entity
     *
     * @return Form The form
     */
    private function createDeleteForm(Tpayments $tpayment) {
        return $this->createFormBuilder()
                        ->setAction($this->generateUrl('admin_payments_delete', array('fpurchaseid' => $tpayment->getFpurchaseid())))
                        ->setMethod('DELETE')
                        ->getForm()
        ;
    }

    //FP
    private function createGenerateForm() {
        return $this->createFormBuilder()
                        ->setAction($this->generateUrl('admin_payments_generate_payment_forecasts'))
                        ->setMethod('POST')
                        ->getForm()
        ;
    }

}


text:
CLASS({
  package: 'foam.apps.builder.questionnaire',
  name: 'ModelWizard',
  extends: 'foam.apps.builder.wizard.ModelWizard',

  properties: [
    {
      name: 'title',
      defaultValue: 'Edit your Questionnaire',
    },
    [ 'newPropText', 'Enter the question' ],
  ],

  templates: [

    function instructionHTML() {/*

    */},

  ],

});


text:
ACCEPTED

#### According to
The Catalogue of Life, 3rd January 2011

#### Published in
null

#### Original name
Spermacoce sumatrensis Retz.

### Remarks
null


text:
package ru.job4j.pro.generic;

/**
 * This class describes abstract store and operation with it.
 *
 * @author Kucykh Vasily (mailto:basil135@mail.ru)
 * @version $Id$
 * @since 13.06.2017
 *
 * @param <T> is generic type extends Base type
 */
public abstract class AbstractStore<T extends Base> implements IStore<T> {

    /**
     * parameter sa is SimpleArray instance.
     */
    private SimpleArray<T> sa = new SimpleArray<>();

    /**
     * method add value to sa.
     *
     * @param value is value
     * @return true
     */
    @Override
    public boolean add(T value) {
        return sa.add(value);
    }

    /**
     * method updates srcValue to dstValue if srcValue exist in sa.
     *
     * @param srcValue is value need to be updated
     * @param dstValue is new value
     * @return true if srcValue successfully updated
     */
    @Override
    public boolean update(T srcValue, T dstValue) {

        for (int count = 0; count < sa.size(); count++) {

            if (sa.get(count).getId().equals(srcValue.getId())) {
                sa.update(count, dstValue);
                return true;
            }

        }

        return false;
    }

    /**
     * method remove value from sa.
     *
     * @param value is value need to be removed
     * @return true if value was successfully removed
     */
    @Override
    public boolean remove(T value) {
        return sa.remove(value);
    }

    /**
     * method return Object array of users.
     *
     * @return array
     */
    public Object[] toArray() {
        return sa.toArray();
    }

    /**
     * method return User array of users.
     *
     * @param input is input array
     * @return array
     */
    public T[] toArray(T[] input) {
        return sa.toArray(input);
    }

}


text:
START_ATF_NAMESPACE
    struct _notify_holy_stone_destroyed_zocl
    {
        char byDummy;
    };
END_ATF_NAMESPACE


text:
template <typename D>
bool HashTable<D>::add(const D & data)
{
  // add the entry to the table
  int index = hash(data);

  if (! table[index].empty() )
    {
      // this is just a performance check
      // cerr << "Warning: collision" << endl;
    }

  itemsByNumber.add(data);

  if ( searchList( table[index], data ) != -1 )
    {
      return false;
    }

  table[ index ].push_back( Node(data, numElements() ));
  numberOfElements++;

  return true;
}

template <typename D>
int HashTable<D>::lookup(const D & data) const
{
  int index = hash(data);

  return searchList( table[index], data );
}

template <typename D>
int HashTable<D>::searchList(const list<Node> & li, const D & data) const
{
  typename list<Node >::const_iterator iter;

  for (iter = li.begin(); iter != li.end(); iter++)
    {
      if ( iter->data == data )
	{
	  return iter->code;
	}
    }

  return -1;
}

template <typename D>
unsigned int HashTable<D>::hash(const D & data) const
{
  return defined_hash(data) % table.size();
}

template <typename D>
const D & HashTable<D>::getItem(int num)
{
  return itemsByNumber[num];
}


text:
package com.bookmarking.desktop;

import java.net.*;
import java.util.*;
import com.bookmarking.*;
import com.bookmarking.desktop.settings.*;
import com.bookmarking.settings.types.*;
import javafx.fxml.*;
import javafx.scene.layout.*;
import org.apache.logging.log4j.*;

/**
 * This is the controller that controls the list of saved settings in the UI.
 */
public class QuickPanelUIController implements Initializable
{
    private static final Logger logger = LogManager.getLogger(QuickPanelUIController.class.getCanonicalName());
    private static final String QUICK_PANEL_GROUP = "quick-panel-group";
    private static QuickPanelUIController controller;
    private List<SavedSearchSettings> savedSearchSettings;
    private Map<SavedSearchSettings, Pane> panesMap;

    @FXML
    public VBox panel;

    @Override
    public void initialize(URL location, ResourceBundle resources)
    {
        savedSearchSettings = new ArrayList<>();
        panesMap = new HashMap<>();
        logger.info("Initializing QuickPanelUIController");

        if (controller==null)
        {
            controller = this;
        }

        try
        {
            Set<AbstractSetting> settings = LocalInstance.use().getSettings().getMainSettings().getByGroup(QUICK_PANEL_GROUP);

            for (AbstractSetting abstractSetting: settings)
            {
                if (abstractSetting instanceof StringSetting)
                {
                    StringSetting stringSetting = (StringSetting)abstractSetting;

                    SavedSearchSettings savedSearchSettings = SavedSearchSettings.fromString(stringSetting.getValue());

                    addSavedSettings(savedSearchSettings);
                }
            }

            refresh();
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }

    public void addSavedSettings(SavedSearchSettings savedSearchSettings)
        throws Exception
    {
        this.savedSearchSettings.add(savedSearchSettings.getPosition(), savedSearchSettings);

        StringSetting stringSetting = new StringSetting();
        stringSetting.setGroup(QUICK_PANEL_GROUP);
        stringSetting.setKey(savedSearchSettings.getId().toString());

        String s = SavedSearchSettings.asString(savedSearchSettings);

        stringSetting.setValue(s);

        LocalInstance.use().getSettings().getMainSettings().putSetting(stringSetting);
        LocalInstance.use().saveSettings();
    }

    public void removeSavedSettings(SavedSearchSettings savedSearchSettings)
        throws Exception
    {
        // TODO add confirm dialog.
        this.savedSearchSettings.remove(savedSearchSettings);
        Pane pane = panesMap.get(savedSearchSettings);
        if (pane!=null)
        {
            panel.getChildren().remove(pane);
        }

        StringSetting stringSetting = new StringSetting();
        stringSetting.setGroup(QUICK_PANEL_GROUP);
        stringSetting.setKey(savedSearchSettings.getId().toString());
        stringSetting.setValue(SavedSearchSettings.asString(savedSearchSettings));

        LocalInstance.use().getSettings().getMainSettings().deleteSetting(stringSetting);
        LocalInstance.use().saveSettings();
    }

    public void refresh()
    {
        panel.getChildren().clear();

        for (SavedSearchSettings savedSearchSettings : this.savedSearchSettings)
        {
            Pane pane = panesMap.get(savedSearchSettings);

            if (pane==null)
            {
                pane = SavedSearchSettings.getPane(savedSearchSettings);
                panesMap.put(savedSearchSettings, pane);
            }

            panel.getChildren().add(pane);
        }
    }

    public static QuickPanelUIController use()
    {
        Objects.requireNonNull(controller);
        return controller;
    }
}


text:
namespace QuickFAST
{
  namespace Communication
  {
    class AsynchReceiver;
  }
}
#endif // ASYNCHRECEIVER_FWD_H


text:
DEV-SAMPLES-DRV-Audio_PDD-
==========================

This is a sample OS/2 audio PDD.  It works fine for straight OS/2 support (made esp. for DART full-duplex).  Chipsets supported are CS4231, 4232, 4236, 4236B, 4237B, 4238B, Yamaha OPL3-SA3 (YMF715), and other compatibles. It works in mode 2.  The chipset dependency is restricted to just a module or two, and can be extended if you have any idea on what's going on.  This source is to be used only as a guide for making OS/2 audio drivers.

LICENSE
===============
* BSD 3 Clauses

COMPILE TOOLS
===============
*

AUTHORS
===============
* Acme

LINKS
===============
*


text:
using namespace std;
using namespace irods;

void
generateHash(
    const char* filename ) {
    // Create hasher
    Hasher md5_hasher;
    Hasher sha_hasher;
    getHasher( MD5_NAME, md5_hasher );
    getHasher( SHA256_NAME, sha_hasher );

    // Read the file and hash it
    ifstream input( filename, ios_base::in | ios_base::binary );
    if ( input.is_open() ) {
        char buffer[1024];
        while ( !input.eof() ) {
            input.read( buffer, 1023 );
            int numRead = input.gcount();
            md5_hasher.update( std::string( buffer, numRead ) );
            sha_hasher.update( std::string( buffer, numRead ) );
        }
        input.close();
        string messageDigest;
        md5_hasher.digest( messageDigest );
        cout << messageDigest << endl;
        sha_hasher.digest( messageDigest );
        cout << messageDigest << endl;
    }
    else {
        cerr << "ERROR: Unable to open file: " << filename << endl;
    }
}

int
main(
    int argc,
    char* argv[] ) {
    int result = 0;
    if ( argc != 2 ) {
        cerr << "ERROR: wrong number of arguments: " << argc << endl;
        cerr << "ERROR: filename must be specified" << endl;
        result = 1;
    }
    else {
        generateHash( argv[1] );
    }
    return result;
}


text:
"""
 Client for Processing MQL queries.

This class exposes two main services, read() and write(), which perform
mql reads and mql writes. Both take any varenv params as keyword args.
(There are no envelopes here).

See http://www.freebase.com/docs/web_services for more information
"""
__author__ = "rtp@google.com (Tyler Pirtle)"

import collections
import copy
import logging
import time

from mql import error as mql_error
from mql.graph import TcpGraphConnector
from mql.hijson import HighQuery
from mql.lojson import LowQuery

class InvalidGraphAddr(Exception):
  pass

class MQLService(object):
  """Entry point for making MQL requests to the graph.

     see google3/metaweb/freebase/api, which provides
     the stubby interface for mql queries. It should be
     the only user of this library,

  """

  dollar_keys = [
      "user", "privileged", "lang", "permission", "authority", "attribution"
  ]

  MQLResult = collections.namedtuple("MQLResult", "result cost dateline cursor")

  def _fix_varenv(self, env):
    """Make a copy of self.varenv, update it with env."""
    dollared_env = dict([
        ("$" + k, v) for k, v in env.items() if k in self.dollar_keys
    ])

    not_dollared = dict([
        (k, v) for k, v in env.items() if k not in self.dollar_keys
    ])

    if "as_of_time" in not_dollared:
      not_dollared["asof"] = not_dollared["as_of_time"]
      del not_dollared["as_of_time"]

    # externally, it's "debug_token", pymql internal it's "tid",
    # in graphd it's the "id" field. legacy stuff.
    if "debug_token" in not_dollared:
      not_dollared["tid"] = not_dollared["debug_token"]
      del not_dollared["debug_token"]

    varenv = copy.deepcopy(self.varenv)
    varenv.update(dollared_env)
    varenv.update(not_dollared)
    # convert 'deadline' to an absolute
    # unix epoch deadline and set the var
    deadline = varenv.get("deadline")
    if deadline:
      varenv["epoch_deadline"] = time.time() + deadline
    return varenv

  def __init__(self, connector=None, graphd_addrs=None):
    """Initialize a MQLService with a connector."""
    self.varenv = {}

    if connector is not None:
      self.gc = connector
    elif graphd_addrs:
      addr_list = list(self._parse_graphaddr(graphd_addrs))
      self.gc = TcpGraphConnector(addr_list)

    else:
      raise Exception("Must supply an address list or connector")

    self.gc.open()

    low_querier = LowQuery(self.gc)
    self.high_querier = HighQuery(low_querier)

  def _parse_graphaddr(self, addrs):
    for g in addrs:
      if isinstance(g, str):
        addr = g.split(":")
        if len(addr) < 2:
          logging.warn("graph addr [%s] is malformed (missing :port)", g)
          continue
        yield (addr[0], int(addr[1]))

      elif isinstance(g, tuple):  # better be a tuple.
        yield g

      else:
        raise InvalidGraphAddr(g)

  def get_cost(self):
    return self.gc.totalcost

  def reset_costs(self):
    self.gc.reset_cost()
    self.high_querier.reset_cost()

  def read(self, query, **varenv):
    """Initiate a read of the specified query.

    Args:
      query: dict/json obj, mql query
      varenv: dict/json obj, options, key/vals: as_of_time (optional)
          timestamp string e.g. "2013-01-01T00:00:00.0000" or less precise.
            graph responses will be as though the query were made at this time.
            cursor (optional) None/True or string returned from a previous query
          (query with a "limit": n directive) which allows a paging mechanism
            for the database to provide the next set of n results. To request
            the first cursor use True. deadline (optional) float, timeout in
            seconds for this request, feeds into epoch_deadline escape
            (optional) boolean, default True (in effect) turns on cgi escaping
            of string values. lang (optional) string, lang id, default
            "/lang/en" project_id (optional) string, the project id that the
            request should use quota from. query_timeout_tu int or None, if
            provided, each resulting graph query will be cpu user-time
            constrained by this number of ms. Think
          of it as limiting the work done by the db. Note: a mql query can
            result in an arbitrarily large number of graph queries, so even a
            small value here could result in a lot of work done.
            uniqueness_failure (optional)
          string: 'hard' or 'soft', default 'hard'. If a query constraint is
            null or {}, 'soft' won't complain if a list is returned
            write_dateline string, which must be a valid dateline returned by a
            previous mql query. In proper practice, this should be a dateline
            returned by a mqlwrite, thus the name 'write_dateline'. This
            dateline is passed to the graph db replica and requires that the
            replica poll until it is caught up to the dateline that you provide
            (the dateline represents the primitive index count, i.e. the hex
            value of the latest guid + 1). It has the effect of ensuring the
            replica is up to date with the users last update to the database. If
            the replica is not up to date, it polls, until it gets there or
            times out (lagging graphs could timeout) The assumption is that the
            user only needs a level of freshness up to the last write that they
            did.
          So, the basic pattern is: use the write_dateline they provide for all
            reads, until they do a write and then
          return them a new dateline. see: go/graphd-dateline debug_token
            (optional)
            string: unique string to aid in debugging requests
        DEPRECATED: normalize, extended

      Returns:
        response: json object, query result
        cost: dict, of various cost key/val pairs
        dateline: string, see description of write_dateline above
          not sure how this, the latest dateline received, is
          being used. frapi doesn't pass it on. In proper use
          the user should only need a new dateline when doing
          a mqlwrite.
        cursor: string, a cursor to be used in subsequent paging
         queries.

      Raises: various exceptions
    """

    self.reset_costs()
    env = self._fix_varenv(varenv)
    if env.get("cursor"):
      query = sort_query_keys(query)
    logging.debug("pymql.read.start env: %s query: %s", env, query)

    r = self.high_querier.read(query, env)

    cost = self.get_cost()
    logging.debug("pymql.read.end env: %s cost: %s", env, cost.items())
    result = self.MQLResult(r, cost, env.get("dateline"), env.get("cursor"))
    return result

  def write(self, query, **varenv):
    """Initiate a write of the specified query using the GraphConnector.

    Args:
      query: dict/json obj, mql query
      varenv: dict/json obj, options, key/vals: attribution (optional) string,
        id of freebase attribution object This will be written as the
        attribution link for primitives written authority (optional) object,
        Allows requests to be made with the attribution of the current user, but
        using the permissions of the user specified by this param. Another
        dangerous one; improper exposure to the outside world could result in
        unwanted escalation of privileges. deadline (optional) float, timeout in
        seconds for this request, feeds into epoch_deadline escape (optional)
        boolean, default True (in effect) turns on cgi escaping of string
        values. lang (optional) string, lang id, default "/lang/en" permission
        (optional) string, id of freebase permission object This param should
        only be used for certain low-level operations by members of the
        Freebase/Metaweb team. privileged (optional) object, this object when
        passed as the privileged field enables you to pass another user id as
        the authority field the write will still be attributed to 'user', but
        'authority' permissions will be checked in addition to 'user'
        permissions. project_id (optional) string, the project id that the
        request should use quota from. query_timeout_tu int or None, if
        provided, all graph queries will be cpu user-time constrained by this
        number of ms. Think
          of it as limiting the work done by the db. Note: a mql query can
            result in an arbitrarily large number of graph queries, so even a
            small value here could result in a lot of work done. user (required)
            string, freebase user id e.g. "/user/brendan" write_dateline string,
            see description in read method, datelines have the same effect on
            writes, they ensure the db replica you are talking to is up to date
            with the user's last write state before doing the write. This is
            necessary since a many graph reads happen as part of a write i.e.
            the write may require data from a previous write in order to
            complete correctly. see go/graphd-dateline debug_token (optional)
            string: unique string to aid in debugging requests
        DEPRECATED: normalize, extended

      Returns:
        response: json object, query result
        cost: dict, of various cost key/val pairs
        dateline: string, see description of write_dateline above
        cursor: string, a cursor to be used in subsequent paging
         queries.

      Raises: various exceptions
    """

    self.reset_costs()
    env = self._fix_varenv(varenv)

    if not "$user" in env:
      raise mql_error.MQLAccessError(
          None, "You need to specify a user to write with.")
    logging.debug("pymql.write.start env: %s query: %s", env, query)
    r = self.high_querier.write(query, env)
    cost = self.get_cost()
    logging.debug("pymql.write.end env: %s cost: %s", env, cost.items())
    result = self.MQLResult(r, cost, env.get("write_dateline"),
                            env.get("cursor"))
    return result

  def normalize(self, query):
    """Normalize the specified query.  TODO(rtp) What does this actually do?"""
    self.reset_costs()
    r = self.read(query, normalize_only=True)
    result = self.MQLResult(r.result, r.cost, r.dateline, r.cursor)
    return result

def sort_query_keys(part):
  """sort keys in place.

  We do this to every mqlread with a cursor because
  graphd relies on GQL query string order to
  maintain the state of the cursor.

  This calls itself recursively sorting keys
  in any ply of the query that is a dict

  Args:
    part: any ply of your dict

  Returns:
    an OrderedDict where all keys have been sorted
    in every ply of the query.
  """

  if isinstance(part, list):
    new_d = []
    for item in part:
      new_d.append(sort_query_keys(item))
    return new_d
  elif isinstance(part, dict):
    new_d = collections.OrderedDict()

    for k in sorted(part.keys()):
      new_d[k] = sort_query_keys(part[k])
    return new_d
  else:
    return part


text:
const nextTodoId = (state = 0, action) => {
  switch (action.type) {
    case 'GET_NEXT_TODO_ID':
      return 1 + Math.max(...action.todos.map(o => o.id));
    default:
      return state;
  }
};

export default nextTodoId;


text:
import { GluegunToolbox } from "gluegun"
import * as pathlib from "path"
import { demo } from "../tools/demo"
import { boolFlag } from "../tools/flag"
import { p, warning } from "../tools/pretty"

const MATCHING_GLOBS = [
  "!**/.DS_Store",
  "!**/.expo{,/**}",
  "!**/.git{,/**}",
  "!**/.vscode{,/**}",
  "!**/node_modules{,/**}",
  "!**/ios/build{,/**}",
  "!**/ios/Pods{,/**}",
  "!**/ios/*.xcworkspace{,/**}",
  "!**/android/build{,/**}",
  "!**/android/app/build{,/**}",
]

module.exports = {
  alias: ["rd", "remove-demos"],
  description:
    "Remove demo code from generated boilerplate. Add --dry-run to see what would be removed.",
  run: async (toolbox: GluegunToolbox) => {
    const { parameters, filesystem } = toolbox

    const CWD = process.cwd()
    const TARGET_DIR = parameters.first ?? CWD
    const dryRun = boolFlag(parameters.options.dryRun) ?? false

    p()
    p(`Removing demo code from '${TARGET_DIR}'${dryRun ? " (dry run)" : ""}`)

    const filePaths = demo.find(TARGET_DIR)

    // Go through every file path and handle the operation for each demo comment
    const demoCommentResults = await demo.update({ filePaths, dryRun })

    // Handle the results of the demo comment operations
    demoCommentResults
      // Sort the results by the path in alphabetical order
      .sort((a, b) => {
        if (a.status === "fulfilled" && b.status === "fulfilled") {
          return a.value.path.localeCompare(b.value.path)
        }
        return 0
      })
      .forEach((result) => {
        // Log any rejected results as warnings
        if (result.status === "rejected") {
          warning(result.reason)
          return
        }

        // Log any fulfilled results that have comments
        const { path, comments } = result.value
        if (comments.length > 0) {
          p(`Found ${comments.map((c) => `'${c}'`).join(", ")} in ${path}`)
        }
      })

    const emptyDirPaths = filesystem
      .cwd(TARGET_DIR)
      .find({
        matching: MATCHING_GLOBS,
        recursive: true,
        files: false,
        directories: true,
      })
      .map((path) => pathlib.join(TARGET_DIR, path))
      .filter((path) => !filesystem.list(path)?.length)

    emptyDirPaths.forEach((path) => {
      if (!dryRun) filesystem.remove(path)
      p(`Removed empty directory '${path}'`)
    })

    p(`Done removing demo code from '${TARGET_DIR}'${dryRun ? " (dry run)" : ""}`)
  },
}