text:
import { Component } from 'react';
import {
  Checkbox,
  Tooltip,
  Input,
  Button,
  Select,
  Form,
  Row,
  Col,
  DatePicker,
  Popover,
  Icon,
  Tree,
  Cascader,
} from 'antd';
import st from './UserForm.less';
import { GetUserWithPrivs, GetCRoles, GetDistrictTree, ModifyUser } from '../../../services/Login';
import { error, success } from '../../../utils/notification';
import { windows } from '../../../common/enums';

let FormItem = Form.Item;

class UserForm extends Component {
  state = { passwordConfirmed: true, entity: {}, reload: false, roles: [], districts: [] };
  mObj = {};

  getFormData(id) {
    GetUserWithPrivs(id, entity => {
      if (entity.NeighborhoodsID) {
        let x = entity.NeighborhoodsID.split('.');
        for (let i = 1, j = x.length; i < j; i++) {
          x[i] = [x[i - 1], x[i]].join('.');
        }
        entity.NeighborhoodsID = x;
      } else {
        entity.NeighborhoodsID = [];
      }
      if (id) {
        entity.CreateTime = entity.CreateTime ? moment(entity.CreateTime) : null;
      } else {
        // 新增数据，给定默认值
        entity.CreateTime = moment();
        this.mObj.CreateTime = moment().format();
      }

      entity.CancelTime = entity.CancelTime ? moment(entity.CancelTime) : null;
      this.setState({ reload: true, entity }, e => this.setState({ reload: false }));
    });
  }

  getRoles() {
    GetCRoles(roles => {
      this.setState({ roles });
    });
  }

  getDistricts() {
    let { districts } = this.state;
    let callback = node => {
      let x = {
        label: node.Name,
        value: node.Id,
      };
      if (node.Children) x.children = node.Children.map(callback);
      return x;
    };

    if (districts && districts.length > 0) {
      let dts = callback(districts[0]);
      return [dts];
    }
    return [];
  }

  getDistrictTree() {
    GetDistrictTree(districts => {
      this.setState({ districts });
      console.log(districts);
    });
  }

  save() {
    let { passwordConfirmed, entity } = this.state;
    if (!passwordConfirmed) {
      error('请确认密码！');
      return;
    }
    let obj = {
      ...this.mObj,
      UserID: entity.UserID,
      DistrictName: entity.DistrictName,
      RoleName: entity.RoleName,
    };
    if (obj.Password) {
      obj.Password = md5(obj.Password);
    }
    // console.log(obj);
    ModifyUser(obj, e => {
      let { onSaveSuccess } = this.props;
      onSaveSuccess && onSaveSuccess();
      success('保存成功！');
      this.getFormData(this.state.entity.UserID);
    });
  }

  cancel() {
    let { onCancel } = this.props;
    onCancel && onCancel();
  }

  tree() {
    let loop = x => {
      return (
        <Tree.TreeNode
          key={x.Id}
          value={x.Id}
          title={

              {x.Name} <Icon onClick={e => this.addDistrict(x.Id)} type="plus-circle" />

          }
        >
          {x.Children ? x.Children.map(loop) : null}
        </Tree.TreeNode>
      );
    };
    return <Tree>{this.state.districts.map(loop)}</Tree>;
  }

  getRolesCmp() {
    let { entity, roles } = this.state;
    let { RoleName } = entity;
    let rs = [];

    if (RoleName) {
      rs = RoleName.split('|');
    }

    return roles.map(r => (
      <Checkbox
        defaultChecked={rs.includes(r.Id)}
        onChange={e => {
          this.refreshRoles(r.Id, e.target.checked);
        }}
      >
        {r.Name}
      </Checkbox>
    ));
  }

  refreshRoles(id, checked) {
    let { entity } = this.state;
    let { RoleName } = entity;
    let rs = [];
    if (RoleName) {
      rs = RoleName.split('|');
    }

    if (checked) {
      rs.push(id);
      entity.RoleName = rs.join('|');
    } else {
      entity.RoleName = rs.filter(i => i !== id).join('|');
    }
    this.setState({});
  }

  addDistrict(i) {
    let { entity } = this.state;
    let { DistrictName } = entity;

    let ds = null;

    if (!entity.DistrictName) {
      ds = [];
    } else {
      ds = DistrictName.split('|');
    }
    let t = ds.filter(x => x === i);
    if (t && t.length) {
      // 已经包含了
    } else {
      ds.push(i);
      DistrictName = ds.sort((a, b) => a > b).join('|');
      entity.DistrictName = DistrictName;
      this.setState({});
    }
  }

  removeDistrict(i) {
    let { entity } = this.state;
    let { DistrictName } = entity;
    if (DistrictName) {
      let ds = DistrictName.split('|');
      DistrictName = ds
        .filter(d => d !== i)
        .sort((a, b) => a > b)
        .join('|');
      entity.DistrictName = DistrictName;
      this.setState({});
    }
  }

  getDistrictsCmp() {
    let { entity } = this.state;

    let { DistrictName } = entity;
    if (DistrictName) {
      let dis = DistrictName.split('|').sort((a, b) => a > b);
      return dis.map(d => (

          {d} <Icon onClick={e => this.removeDistrict(d)} type="minus" />

      ));
    } else {
      return null;
    }
  }

  componentDidMount() {
    let { id } = this.props;
    this.getFormData(id);
    this.getDistrictTree();
    this.getRoles();
  }

  render() {
    let { passwordConfirmed, entity, districts, reload } = this.state;

    return (

        {reload ? (

        ) : (

            <Row gutter={24}>
              <Col span={8}>
                <FormItem
                  labelCol={{ span: 8 }}
                  wrapperCol={{ span: 16 }}
                  label={

                      *用户名

                  }
                >
                  <Input
                    placeholder="用户名"
                    defaultValue={entity.UserName}
                    onChange={e => {
                      this.mObj.UserName = e.target.value;
                    }}
                  />
                </FormItem>
              </Col>
              <Col span={8}>
                <FormItem
                  labelCol={{ span: 8 }}
                  wrapperCol={{ span: 16 }}
                  label={

                      *密码

                  }
                >
                  <Input
                    type="password"
                    placeholder="密码"
                    defaultValue={entity.Password}
                    onChange={e => {
                      this.mObj.Password = e.target.value;
                    }}
                    onBlur={e => {
                      this.state.passwordConfirmed =
                        this.mObj.ConfirmPassword === this.mObj.Password;
                      this.setState({});
                    }}
                  />
                </FormItem>
              </Col>
              <Col span={8}>
                <FormItem labelCol={{ span: 8 }} wrapperCol={{ span: 16 }} label="确认密码">
                  <Tooltip
                    visible={!passwordConfirmed}
                    placement="right"
                    title="两次输入的密码不一致"
                    overlayClassName={st.tooltip}
                  >
                    <Input
                      type="password"
                      placeholder="确认密码"
                      defaultValue={entity.Password}
                      onChange={e => {
                        this.mObj.ConfirmPassword = e.target.value;
                      }}
                      onBlur={e => {
                        this.state.passwordConfirmed =
                          this.mObj.ConfirmPassword === this.mObj.Password;
                        this.setState({});
                      }}
                    />
                  </Tooltip>
                </FormItem>
              </Col>
            </Row>
            <Row gutter={24}>
              <Col span={8}>
                <FormItem labelCol={{ span: 8 }} wrapperCol={{ span: 16 }} label="经办人">
                  <Input
                    placeholder="经办人"
                    defaultValue={entity.Name}
                    onChange={e => {
                      this.mObj.Name = e.target.value;
                    }}
                  />
                </FormItem>
              </Col>
              <Col span={8}>
                <FormItem labelCol={{ span: 8 }} wrapperCol={{ span: 16 }} label="行政区">
                  <Cascader
                    style={{ width: '100%' }}
                    changeOnSelect
                    value={entity.NeighborhoodsID}
                    expandTrigger="hover"
                    options={this.getDistricts()}
                    placeholder="行政区划"
                    onChange={(a, b) => {
                      this.mObj.NeighborhoodsID = a.length ? a[a.length - 1] : null;
                      entity.NeighborhoodsID = a;
                      this.setState({ entity: entity });
                    }}
                  />
                </FormItem>
              </Col>
              <Col span={8}>
                <FormItem labelCol={{ span: 8 }} wrapperCol={{ span: 16 }} label="所在窗口">
                  <Select
                    allowClear
                    style={{ width: '100%' }}
                    placeholder="所在窗口"
                    defaultValue={entity.Window || undefined}
                    onChange={e => {
                      this.mObj.Window = e || null;
                    }}
                  >
                    {windows.map(e => <Select.Option value={e}>{e}</Select.Option>)}
                  </Select>
                </FormItem>
              </Col>
            </Row>
            <Row gutter={24}>
              <Col span={8}>
                <FormItem labelCol={{ span: 8 }} wrapperCol={{ span: 16 }} label="邮箱">
                  <Input
                    placeholder="邮箱"
                    defaultValue={entity.Email}
                    onChange={e => {
                      this.mObj.Email = e.target.value;
                    }}
                  />
                </FormItem>
              </Col>
              <Col span={8}>
                <FormItem labelCol={{ span: 8 }} wrapperCol={{ span: 16 }} label="手机号码">
                  <Input
                    placeholder="手机号码"
                    defaultValue={entity.Telephone}
                    onChange={e => {
                      this.mObj.Telephone = e.target.value;
                    }}
                  />
                </FormItem>
              </Col>
              <Col span={8}>
                <FormItem labelCol={{ span: 8 }} wrapperCol={{ span: 16 }} label="固定电话">
                  <Input
                    placeholder="固定电话"
                    defaultValue={entity.Telephone2}
                    onChange={e => {
                      this.mObj.Telephone2 = e.target.value;
                    }}
                  />
                </FormItem>
              </Col>
            </Row>
            <Row gutter={24}>
              <Col span={16}>
                <FormItem labelCol={{ span: 4 }} wrapperCol={{ span: 20 }} label="办公地址">
                  <Input
                    placeholder="办公地址"
                    defaultValue={entity.BGDZ}
                    onChange={e => {
                      this.mObj.BGDZ = e.target.value;
                    }}
                  />
                </FormItem>
              </Col>
              <Col span={8}>
                <FormItem labelCol={{ span: 8 }} wrapperCol={{ span: 16 }} label="组织机构代码">
                  <Input
                    placeholder="组织机构代码"
                    defaultValue={entity.ZZJGDM}
                    onChange={e => {
                      this.mObj.ZZJGDM = e.target.value;
                    }}
                  />
                </FormItem>
              </Col>
            </Row>
            <Row gutter={24}>
              <Col span={8}>
                <FormItem labelCol={{ span: 8 }} wrapperCol={{ span: 16 }} label="性别">
                  <Select
                    allowClear
                    style={{ width: '100%' }}
                    placeholder="性别"
                    defaultValue={entity.Gender || undefined}
                    onChange={e => {
                      this.mObj.Gender = e || null;
                    }}
                  >
                    {['男', '女'].map(e => <Select.Option value={e}>{e}</Select.Option>)}
                  </Select>
                </FormItem>
              </Col>
              <Col span={8}>
                <FormItem labelCol={{ span: 8 }} wrapperCol={{ span: 16 }} label="注册时间">
                  <DatePicker
                    style={{ width: '100%' }}
                    placeholder="注册时间"
                    defaultValue={entity.CreateTime}
                    onChange={e => {
                      this.mObj.CreateTime = e && e.format();
                    }}
                  />
                </FormItem>
              </Col>
              <Col span={8}>
                <FormItem labelCol={{ span: 8 }} wrapperCol={{ span: 16 }} label="注销时间">
                  <DatePicker
                    style={{ width: '100%' }}
                    placeholder="注销时间"
                    defaultValue={entity.CancelTime}
                    onChange={e => {
                      this.mObj.CancelTime = e && e.format();
                    }}
                    disabled={true}
                  />
                </FormItem>
              </Col>
            </Row>
            <Row gutter={24}>
              <Col span={8}>
                <FormItem labelCol={{ span: 8 }} wrapperCol={{ span: 16 }} label="数据权限">

                      <Popover
                        overlayClassName={st.ctpopover}
                        placement="rightTop"
                        trigger="click"
                        content={this.tree()}
                      >
                        <Button shape="circle" icon="plus" type="primary" size="small" />
                      </Popover>

{this.getDistrictsCmp()}

                </FormItem>
              </Col>
              <Col span={8}>
                <FormItem labelCol={{ span: 8 }} wrapperCol={{ span: 16 }} label="功能权限">

{this.getRolesCmp()}

                </FormItem>
              </Col>
            </Row>

              <Button type="primary" onClick={e => this.save()}>
                保存
              </Button>

              <Button
                onClick={e => {
                  this.cancel();
                }}
              >
                取消
              </Button>

        )}

    );
  }
}

export default UserForm;

repository: bingotao/JXToponymy

repo_name: bingotao/JXToponymy

gha_language: JavaScript


text:
@InProceedings{wangd16,
  supplementary = {Supplementary:wangd16-supp.pdf},
  title = {Parallel and Distributed Block-Coordinate Frank-Wolfe Algorithms},
  author = {Yu-Xiang Wang and Veeranjaneyulu Sadhanala and Wei Dai and Willie Neiswanger and Suvrit Sra and Eric Xing},
  pages = {1548-1557},
  abstract = {We study parallel and distributed Frank-Wolfe algorithms; the former on shared memory machines with mini-batching, and the latter in a delayed update framework. In both cases, we perform computations asynchronously whenever possible. We assume block-separable constraints as in Block-Coordinate Frank-Wolfe (BCFW) method (Lacoste et. al., 2013) , but our analysis subsumes BCFW and reveals problem-dependent quantities that govern the speedups of our methods over BCFW. A notable feature of our algorithms is that they do not depend on worst-case bounded delays, but only (mildly) on **expected** delays, making them robust to stragglers and faulty worker threads. We present experiments on structural SVM and Group Fused Lasso, and observe significant speedups over competing state-of-the-art (and synchronous) methods.},
}

license: MIT

repository: mreid/papersite

license_type: permissive

repo_name: mreid/papersite

branch_name: refs/heads/master

gha_license_id: MIT

gha_language: TeX

extension: bib


text:
import { wind, each, Hop, isNullOrUndefined } from '../utils/routines/basics.js';
import { Dispatcher, Area } from './dispatcher.js';
import { Values } from '../utils/routines/extras.js';

		let $instance = null;

		const getInstance = function(){

			if($instance === null){

				$instance = new Dispatcher();
			}

			return $instance;

		};

		const getObjectPrototype = obj => {
				if('getPrototypeOf' in Object){
					return Object.getPrototypeOf(obj);
				}else if('__proto__' in obj){
					if(!(Hop.call(obj, '__proto__'))){
						return (obj.__proto__);
					}
				}else if('constructor' in obj){
					if(!(Hop.call(obj, 'constructor'))){
						return obj.constructor.prototype;
					}
				}
				return obj;
		};

		const eachStore = function(fn, extractor, storeArray) {

            	const dispatcher = getInstance();

            	return dispatcher.iterateOnStore(fn, extractor, storeArray);
        };

		const createStoreInterface = function(dispatcher, method) {

			return function(){
                let regFunc;
                let area;
                const argument = arguments.length ? arguments[0] : null;

                if(method == 'setChangeListener'){

					return dispatcher.setStoreListener(this, argument);
				}

                if(method == 'unsetChangeListener'){

					return dispatcher.unsetStoreListener(this, argument);
				}

                if(method == 'getState'){

					var title = this.getTitle(), value;
					area = new Area(title);
					value = area.get();
					area = null;

					if(value === null){

						regFunc = dispatcher.getRegistration(title);

						value = (regFunc.$$history.length ? regFunc.$$history[0] : null);

					}else if(typeof argument === 'string'){

						if(value instanceof Object){

							if(Hop.call(value, argument)){

								value = value[argument];
							}
						}
					}

					return value;
				}

                if(method == 'destroy'){

					let title, index;

					if(title in stores){

						delete stores[title];

					}

					area = new Area(this.getTitle());

					area.del();

					return (area = title = null);
				}

                if(method == 'disconnect'){

					return dispatcher.unregister(this.getTitle());
				}

                if(method == 'hydrate'){

					if(isNullOrUndefined(argument)){
						return;
					}

					return dispatcher.signalUnique({
						source:method,
						target:this.getTitle(),
						actionData:argument
					});
				}

                if(method == 'getQuerySchema'){

					return {};
				}

                if(method == 'setQuerySchema'){

					return true;
				}

                if(method == 'canUndo'){

					regFunc = dispatcher.getRegistration(this.getTitle());

					return (regFunc.$$historyIndex != 0);
				}

                if(method == 'swapCallback'){

					return dispatcher.register(this.getTitle(), argument);
				}

                if(method == 'canRedo'){

					regFunc = dispatcher.getRegistration(this.getTitle());

					return (regFunc.$$historyIndex !== regFunc.$$history.length - 1);
				}

                if(method == 'undo'){

					return dispatcher.handleStoreMutation(this, method);

				}

                if(method == 'redo'){

					return dispatcher.handleStoreMutation(this, method);

				}
            }

		};

		const createActionInterface = function(dispatcher, vector) {

			if(!(vector instanceof Object)){

				throw new TypeError(`Invalid Action Creator Vector, expected [object] but found [${typeof(vector)}]`);
			}

			return function(data, stateAspectKey){

				 // console.log('OUTER-FUNC: ', this.constructor.caller);

				const id = this.getId();

				let typesBitMask = 0;

				dispatcher.addToActonsRegistry(id, vector);

				if(vector.actionDefinition instanceof Array){

					each(vector.actionDefinition, function(definition){

						typesBitMask |= Number(Values.isOfType(definition, data));

					});

					if(!typesBitMask){

						throw new TypeError(`Action Data Invalid for action: [${vector.type}]`);
				   	}

				}else{
					if(!Values.isOfType(vector.actionDefinition, data)){

						throw new TypeError(`Action Data Invalid for action: [${vector.type}]`);

					}
				}

				return dispatcher.signal({
					source:id,
					actionType:vector.type,
					actionKey:stateAspectKey || null,
					actionData:data
				});
			}
		};

		const watchDispatcher = function(callback) {

			const dispatcher = getInstance();

			dispatcher.watch(callback);

		};

		const isAppStateAutoRehydrated = function() {

			const dispatcher = getInstance();

			return dispatcher.getAutoRehydrationState();

		};

		const setupShutdownCallback = function(callback, hub){

			hub._ping = callback;

		};

		const mergeConfig = function(userConfig, hub) {

			const dispatcher = getInstance();

			return dispatcher.initCatchers(userConfig, hub);
		};

		const purgePersistStore = function() {

			const dispatcher = getInstance();

			dispatcher.deletePersistenceTagAndData();

		};

		const registerAction = function() {
			/* creates hex value e.g. '0ef352ab287f1' */
			const regId = Math.random().toString(16).substr(2, 13);

			const dispatcher = getInstance();

			dispatcher.setActionsRegistry(regId);

			return regId;

		};

		const makeAggregator = function() {

				return {
					query:`graphql {

					}`
				};
		};

		const setMiddlewareCallback = function(middlewareFunc) {

			const dispatcher = getInstance();

			// HERE: using this try/catch for control flow and not defensive programming
			try{

				dispatcher.getMiddleware();

			}catch(ex){

				dispatcher.setMiddleware(
					middlewareFunc
				);

			}

		};

		const setActionVectors = function(object, vectors) {

            const _proto = getObjectPrototype(object);
            const dispatcher = getInstance();
            let vector = null;

            for(const creator in vectors){
				if(Hop.call(vectors, creator)){
				     vector = vectors[creator];
				     _proto[creator] = createActionInterface(dispatcher, vector);
				}
			}

            return object;
        };

		const setStoreObserver = function(object, regFunc, defaultStateObj) {

            if(typeof regFunc !== "function"){
				return null;
			}

            const _proto = getObjectPrototype(object);
            const dispatcher = getInstance();
            const title     = object.getTitle();
            let method = null;

            dispatcher.register(title, regFunc, defaultStateObj);

            const methods = [
            	'setChangeListener',
            	'unsetChangeListener',
            	'getState',
            	'disconnect',
            	'getQuerySchema',
            	'canRedo',
            	'canUndo',
            	'swapCallback',
            	'undo',
            	'redo',
            	'hydrate',
            	'destroy'
        	];

            for(let c=0; c < methods.length; c++){
				method = methods[c];

				_proto[method] = createStoreInterface(dispatcher, method);
			}
		};

export { eachStore, makeAggregator, registerAction, setupShutdownCallback, mergeConfig, purgePersistStore, setMiddlewareCallback, setActionVectors, setStoreObserver, watchDispatcher, isAppStateAutoRehydrated }

repository: isocroft/Radixx

repo_name: isocroft/Radixx

extension: js


text:
DESCRIPTION = "XML data processing in Tcl"
LICENSE = "MPL-1"
SECTION = "devel/tcltk"
HOMEPAGE = "http://tdom.github.io/"
DEPENDS = "tcl"
LIC_FILES_CHKSUM = "file://../LICENSE;md5=4673aaff544d4c9b9a521cb8e0860bfb"
PR = "r0"

SRC_URI = "git://github.com/tDOM/tdom.git;protocol=git;tag=master"

S = "${WORKDIR}/git/unix"

inherit autotools

FILES_${PN} += "${libdir}/tdom0.8.3/"

CONFIGUREOPTS = " \
             --build=${BUILD_SYS} \
	     --host=${HOST_SYS} \
             --target=${TARGET_SYS} \
"
EXTRA_OECONF = " \
             --with-tcl=${STAGING_BINDIR_CROSS} \
             --with-tclinclude=${STAGING_INCDIR} \
             "

do_configure() {
        oe_runconf
}

oe_runconf () {
	cfgscript="${S}/../configure"
	if [ -x "$cfgscript" ] ; then
		bbnote "Running $cfgscript ${CONFIGUREOPTS} ${EXTRA_OECONF} $@"
		set +e
		${CACHED_CONFIGUREVARS} $cfgscript ${CONFIGUREOPTS} ${EXTRA_OECONF} "$@"
		if [ "$?" != "0" ]; then
			echo "Configure failed. The contents of all config.log files follows to aid debugging"
			find ${S} -name config.log -print -exec cat {} \;
			bbfatal "oe_runconf failed"
		fi
		set -e
	else
		bbfatal "no configure script found at $cfgscript"
	fi
}

extension: bb


text:
# The set of languages for which implicit dependencies are needed:
set(CMAKE_DEPENDS_LANGUAGES
  "CXX"
  )
# The set of files for implicit dependencies of each language:
set(CMAKE_DEPENDS_CHECK_CXX
  "D:/Project/GitHub/DongmenDB/src/physicalplan/ExecutionPlan.cpp" "D:/Project/GitHub/DongmenDB/cmake-build-debug/src/CMakeFiles/physicalplan.dir/physicalplan/ExecutionPlan.cpp.obj"
  "D:/Project/GitHub/DongmenDB/src/physicalplan/Join.cpp" "D:/Project/GitHub/DongmenDB/cmake-build-debug/src/CMakeFiles/physicalplan.dir/physicalplan/Join.cpp.obj"
  "D:/Project/GitHub/DongmenDB/src/physicalplan/Project.cpp" "D:/Project/GitHub/DongmenDB/cmake-build-debug/src/CMakeFiles/physicalplan.dir/physicalplan/Project.cpp.obj"
  "D:/Project/GitHub/DongmenDB/src/physicalplan/Scan.cpp" "D:/Project/GitHub/DongmenDB/cmake-build-debug/src/CMakeFiles/physicalplan.dir/physicalplan/Scan.cpp.obj"
  "D:/Project/GitHub/DongmenDB/src/physicalplan/Select.cpp" "D:/Project/GitHub/DongmenDB/cmake-build-debug/src/CMakeFiles/physicalplan.dir/physicalplan/Select.cpp.obj"
  "D:/Project/GitHub/DongmenDB/src/physicalplan/TableScan.cpp" "D:/Project/GitHub/DongmenDB/cmake-build-debug/src/CMakeFiles/physicalplan.dir/physicalplan/TableScan.cpp.obj"
  )
set(CMAKE_CXX_COMPILER_ID "GNU")

# The include file search paths:
set(CMAKE_CXX_TARGET_INCLUDE_PATH
  "../include"
  "../googletest/include"
  )

# Targets to which this target links.
set(CMAKE_TARGET_LINKED_INFO_FILES
  )

# Fortran module output directory.
set(CMAKE_Fortran_TARGET_MODULE_DIR "")

branch_name: refs/heads/mastercpp

extension: cmake


text:
@STRING{krcmessage = "READ the README please!!!!!!!!!!!!!!"}

@PROCEEDINGS{CICM18WIP,
  title = {Workshop Papers at 11th Conference on Intelligent Computer Mathematics CICM 2018},
  booktitle = {Workshop Papers at 11th Conference on Intelligent Computer Mathematics CICM 2018},
  key = {CICM18WIP},
  year = {2018},
  url = {http://ceur-ws.org/Vol-2307/},
  editor = {Osman Hasan and Abdou Youssef and Adam Naumowicz and William Farmer and Cezary Kaliszyk and Diane Gallois-Wong and Florian Rabe and Gabriel Dos Reis and Grant Passmore and James Davenport and Markus Pfeiffer and Michael Kohlhase and Serge Autexier and Sofiene Tahar and Thomas Koprucki and Umair Siddique and Walther Neuper and Wolfgang Windsteiger and Wolfgang Schreiner and Wolfram Sperber and Zoltán Kovács},
  pubs={mkohlhase,akohlhase,frabe}}

@Proceedings{FGWM17,
  editor = {Andrea Kohlhase and Eric K{\"u}bler},
  title =    {Wissens- und Erfahrungsmanagement (Knowledge and Experience Management), {FGWM}},
  booktitle =    {Wissens- und Erfahrungsmanagement (Knowledge and Experience Management), {FGWM}},
  note = {Workshop at LWDA 2017},
  year = {2017},
  url = {http://ceur-ws.org/Vol-1917/},
  month = oct,
  pubs = {akohlhase}}

@Proceedings{MathUI15,
  editor =   {Andrea Kohlhase and Paul Libbrecht},
  title =    {Mathematical User Interfaces Workshop at {CICM}},
  booktitle =    {Mathematical User Interfaces Workshop},
  url = {http://www.cermat.org/events/MathUI/15/proceedings},
  year =    {2015},
  pubs = {akohlhase},
  month = jul}

@Proceedings{MathUI16,
  editor =   {Andrea Kohlhase and Paul Libbrecht},
  title =    {Mathematical User Interfaces Workshop at {CICM}},
  booktitle =    {Mathematical User Interfaces Workshop},
  url = {http://ceur-ws.org/Vol-1785/},
  year =    {2016},
  pubs = {akohlhase},
  month = jul}

@Proceedings{MathUI17,
  editor =   {Andrea Kohlhase and Marco Pollanen},
  title =    {MathUI 2017: The 12th Workshop on Mathematical User Interfaces},
  booktitle =    {MathUI 2017: The 12th Workshop on Mathematical User Interfaces},
  SOONurl = {http://ceur-ws.org/Vol-1785/},
  pubs = {akohlhase},
  year =    {2017}}

@PROCEEDINGS{CICM16WIP,
  title = {Intelligent Computer Mathematics -- Work in Progress Papers},
  booktitle = {{Intelligent Computer Mathematics -- Work in Progress Papers}},
  key = {CICM16WIP},
  year = {2016},
  url = {http://ceur-ws.org/Vol-1785/},
  editor = {Michael Kohlhase and Andrea Kohlhase and Paul Libbrecht and Bruce Miller and Adam Naumowicz and Walther Neuper and Pedro Quaresma and
Frank Tompa and Martin Suda},
  pubs={mkohlhase,akohlhase}}

@proceedings{CICM17,
  editor = {Herman Geuvers and Matthew England and Osman Hasan and Florian Rabe and Olaf Teschke},
  eventtitle = {Conferences on Intelligent Computer Mathematics},
  title = {Intelligent Computer Mathematics},
  booktitle = {{Intelligent Computer Mathematics} (CICM) 2017},
  publisher = {Springer},
  doi = {10.1007/978-3-319-62075-6},
  series    = {LNAI},
  number    = {10383},
  isbn = {978-3-319-62074-9},
  year = {2017},
  keywords = {conference},
  pubs={frabe,odk,oaf}
}

@proceedings{CICM18,
  editor    = {Florian Rabe and
               William M. Farmer and
               Grant O. Passmore and
               Abdou Youssef},
  eventtitle = {Conferences on Intelligent Computer Mathematics},
  title = {Intelligent Computer Mathematics},
  booktitle = {{Intelligent Computer Mathematics} (CICM) 2018},
  publisher = {Springer},
  doi       = {10.1007/978-3-319-96812-4},
  isbn      = {978-3-319-96811-7},
  series    = {LNAI},
  number    = {11006},
  year = {2018},
  keywords = {conference},
  pubs={frabe,oaf,odk}
}

@proceedings{CICM19,
  editor = {Cezary Kaliszyck and Edwin Brady and Andrea Kohlhase and Sacerdoti Coen, Claudio},
  eventtitle = {Conferences on Intelligent Computer Mathematics},
  title = {Intelligent Computer Mathematics},
  booktitle = {{Intelligent Computer Mathematics} (CICM) 2019},
  publisher = {Springer},
  doi = {10.1007/978-3-030-23250-4},
  series    = {LNAI},
  number    = {11617},
  year = {2019},
  keywords = {conference},
  pubs={akohlhase}
}

@proceedings{CICM16,
  editor = {Michael Kohlhase and Moa Johansson and Bruce Miller and Leonardo de Moura and Frank Tompa},
  venue = {Bialystok, Poland},
  eventdate = {2016-07-25/2016-07-29},
  eventtitle = {Conferences on Intelligent Computer Mathematics},
  title = {Intelligent Computer Mathematics},
  booktitle = {{Intelligent Computer Mathematics} 2016},
  publisher = {Springer},
  series    = {LNAI},
  number    = {9791},
  isbn = {978-3-319-08434-3},
  year = 2016,
  keywords = {conference},
  pubs={mkohlhase}
}

@proceedings{CICM13,
  editor = {Jacques Carette and David Aspinall and Christoph Lange and Petr Sojka and Wolfgang Windsteiger},
  venue = {Bath, UK},
  eventdate = {2013-07-08/2013-07-12},
  eventtitle = {Conferences on Intelligent Computer Mathematics},
  title = {Intelligent Computer Mathematics},
  booktitle = {Intelligent Computer Mathematics},
  keywords = {conference},
  publisher = {Springer},
  series    = {Lecture Notes in Computer Science},
  number    = {7961},
  year = 2013,
  doi = {10.1007/978-3-642-39320-4},
  isbn = {978-3-642-39319-8},
  acceptancerate = {54},
  acceptancerateCOMMENT = {MKM: 7/18, Calculemus: 5/12, DML: 6/8, S&P: 12/16},
  pubs = {clange},
}

@proceedings{DoForm13,
  title = {Enabling Domain Experts to use Formalised Reasoning},
  booktitle = {Enabling Domain Experts to use Formalised Reasoning},
  eventtitle = {Do-Form, symposium at the AISB Annual Convention},
  editor = {Christoph Lange and Colin Rowat and Manfred Kerber},
  year = {2013},
  eventdate = {2013-04-03/2013-04-05},
  venue = {Exeter, UK},
  url = {http://cs.bham.ac.uk/research/projects/formare/events/aisb2013/},
  publisher = {{Society for the Study of Artificial Intelligence and Simulation of Behaviour (AISB)}},
  isbn = {978-1-908187-32-1},
  pubs = {clange},
}

@Proceedings{AIMashup10,
  title =    {{AI Mashup Challenge}},
  booktitle =    {{AI Mashup Challenge at ESWC}},
  year =     {2010},
  month = jun,
  editor =   {Adrian Giurca and Brigitte Endres-Niggemeyer and Christoph Lange and Lutz Maicher and Pascal Hitzler},
  url = {http://sites.google.com/a/fh-hannover.de/aimashup/},
  pubs = {clange}}

@proceedings{DFRU:cicmwip:11,
  title = "{Intelligent Computer Mathematics, Work-in-Progress Proceedings}",
  year = "2011",
  editor = "A. Asperti and J. Davenport and W. Farmer and F. Rabe and J. Urban",
  series = "Technical Reports of University of Bologna",
  publisher = "University of Bologna",
  volume = "UBLCS-2011-04",
  pubs={frabe}
}

@proceedings{GNRS:lfmtpmlpa:11,
  title = "{{LFMTP 2011 - MLPA} 2011 Informal Proceedings}",
  year = "2011",
  note = "see \url{http://kwarc.info/frabe/events/mlpa-11/index.html}",
  editor = "Herman Geuvers and Gopalan Nadathur and Florian Rabe and Carsten Sch{\"u}rmann",
  pubs={frabe}
}

@proceedings{RS:mlpa:10,
  title = "{{MLPA '10}: Proceedings of the 2nd Workshop on Modules and Libraries for Proof Assistants}",
  year = "2010",
  note = "see \url{http://kwarc.info/frabe/events/mlpa-10.html}",
  editor = "F. Rabe and C. Sch{\"u}rmann",
  pubs={frabe}
}

@proceedings{RS:mlpa:09,
  title = "{{MLPA '09}: Proceedings of the 1st Workshop on Modules and Libraries for Proof Assistants}",
  year = "2009",
  editor = "F. Rabe and C. Sch{\"u}rmann",
  series = "ACM International Conference Proceeding Series",
  publisher = "ACM",
  volume = "429",
  pubs={frabe}
}

@PROCEEDINGS{IJCAI03-KR,
  title = {Proceedings of the {IJCAI} 03 Workshop on Knowledge Representation
    and Automated Reasoning for E-Learning Systems},
  booktitle = {Proceedings of the {IJCAI} 03 Workshop on Knowledge Representation
    and Automated Reasoning for E-Learning Systems},
  year = {2003},
  editor = {Peter Baumgartner and Paul A. Cairns and Michael Kohlhase and Erica Melis},
  address = {Acapulco, \MEXICO},
  pubs = {mkohlhase}}

@PROCEEDINGS{CADE15-WS-PSMAD,
  year = {1998},
  editor = {Peter Baumgartner and Ulrich Furbach and Michael Kohlhase and William
    McCune and Wolfgang Reif and Mark Stickel and Tom{\`a}s Uribe},
  title = {{CADE-15} Workshop ``Problem-solving Methodologies with Automated Deduction''},
  booktitle = {{CADE-15} Workshop ``Problem-solving Methodologies with Automated Deduction''},
pubs = {mkohlhase}}

@PROCEEDINGS{CICM11,
  title = {Intelligent Computer Mathematics},
  booktitle = {{Intelligent Computer Mathematics}},
  key = {CICM11},
  year = {2011},
  editor =       {James Davenport and William Farmer and Florian Rabe and Josef Urban},
  number = {6824},
  series = {LNAI},
  publisher = {Springer Verlag},
  isbn = {978-3-642-22672-4},
  keywords = {conference},
  pubs={frabe},
  acceptancerate = {59},
  acceptancerateCOMMENT = {Calculemus: 9/15, MKM: 9/22, Systems and Projects: 12/14}}

@PROCEEDINGS{CICM11WIP,
  title = {Intelligent Computer Mathematics -- Work in Progress Papers},
  booktitle = {{Intelligent Computer Mathematics -- Work in Progress Papers}},
  key = {CICM11WIP},
  year = {2011},
  editor = {James Davenport and William Farmer and Florian Rabe and Josef Urban},
  pubs={frabe}}

@PROCEEDINGS{ICOS00,
  title = {{ICoS-2}. Inference in Computational Semantics. Workshop Proceedings},
  year = {2000},
  editor = {Johan Bos and Michael Kohlhase},
  publisher = {Computational Linguistics, Saarland University},
  booktitle = {Proceedings of Inference in Computational Semantics ICoS-2},
  keywords = {conference},
  pubs = {mkohlhase}}

@PROCEEDINGS{BosKoh:ICOS2-LJIGPL04,
  editor = 	 {Johan Bos and Michael Kohlhase},
  title = 	 {Logic Journal of the IGPL},
  publisher = {Oxford University Press},
  year = 	 2003,
  volume = 	 {11(3)},
  keywords = {conference},
  note = 	 {Special Issue for {ICOS-2}},
  pubs = {mkohlhase}}

@PROCEEDINGS{ICOS01,
  title = {{ICoS-3}. Inference in Computational Semantics. Workshop Proceedings},
  year = {2001},
  editor = {Patrick Blackburn and Michael Kohlhase},
  publisher = {Computational Linguistics, Saarland University},
  booktitle = {Proceedings of Inference in Computational Semantics ICoS-2},
  pubs = {mkohlhase}}

@PROCEEDINGS{KI06,
  title = {Proceedings of the 29.th Annual German Conference on Artificial Intelligence
    {KI'06}},
  year = {2006},
  editor = {Christian Freksa and Michael Kohlhase and Kerstin Schill},
  number = {4314},
  series = {LNAI},
  address = {Bremen, Germany},
  booktitle = {Proceedings of the 29.th Annual German Conference on Artificial Intelligence
    KI'06},
  keywords = {conference},
  pubs = {mkohlhase}}

@PROCEEDINGS{CADE15-WS-AI,
  title = {{CADE-15} Workshop ``Using {AI} Methods in Deduction''},
  year = {1998},
  editor = {J{\"o}rg Denzinger and Michael Kohlhase and Bruce Spencer},
  booktitle = {{CADE-15} Workshop ``Using {AI} Methods in Deduction''},
pubs = {mkohlhase}}

@PROCEEDINGS{CALCULEMUS00,
  title = {{CALCULEMUS-2000}, Systems for Integrated Computation and Deduction},
  year = {2000},
  editor = {Manfred Kerber and Michael Kohlhase},
  address = {St. Andrews, Scotland},
  publisher = {AKPeters},
  keywords = {conference},
  booktitle = {Proceedings of the 8\textsuperscript{th} Symposium on the Integration of Symbolic Computation
    and Mechanized Reasoning (Calculemus-2000)},
pubs = {mkohlhase}}

@PROCEEDINGS{MKM05,
  title = {Mathematical Knowledge Management, {MKM'05}},
  year = {2006},
  editor = {Michael Kohlhase},
  number = {3863},
  series = {LNAI},
  publisher = {Springer Verlag},
  booktitle = {Mathematical Knowledge Management, {MKM'05}},
  keywords = {conference},
  pubs= {mkohlhase}}

@PROCEEDINGS{ORES2010,
  booktitle = {1\textsuperscript{st} Workshop on Ontology Repositories and Editors},
  year = 2010,
  editor = {d'Aquin, Mathieu and Garc{\'i}a Castro, Alexander and Christoph Lange and Kim Viljanen},
  number = 596,
  series = {CEUR Workshop Proceedings},
  address = {Aachen},
  issn = {1613-0073},
  url = {http://ceur-ws.org/Vol-596},
  venue = {Hersonissos, Crete, Greece},
  eventdate = {2010-05-31},
  title = {Proceedings of the 1\textsuperscript{st} Workshop on Ontology Repositories and Editors, {Extended} {Semantic} {Web} {Conference}},
  pubs = {clange}}

@proceedings{OCAS2011,
  booktitle = {Workshop Ontologies come of Age in the Semantic Web},
  year = 2011,
  editor = {Garc{\'i}a Castro, Alexander and Ken Baclawski and John Bateman and Kim Viljanen and Christoph Lange},
  number = 809,
  series = {CEUR Workshop Proceedings},
  address = {Aachen},
  issn = {1613-0073},
  url ={http://ceur-ws.org/Vol-809},
  venue = {Bonn, Germany},
  eventdate = {2011-10-24},
  title = {Proceedings of the Workshop Ontologies come of Age in the Semantic Web, {International} {Semantic} {Web} {Conference}},
  pubs = {clange}}

@PROCEEDINGS{SemWiki10,
  booktitle = {5\textsuperscript{th} Workshop on Semantic Wikis},
  year = 2010,
  editor = {Christoph Lange and Jochen Reutelsh{\"o}fer and Sebastian Schaffert and Hala Skaf-Molli},
  venue = {Hersonissos, Crete, Greece},
  eventdate = {2010-05-31},
  title = {Proceedings of the 5\textsuperscript{th} Workshop on Semantic Wikis, {Extended} {Semantic} {Web} {Conference}},
  number = 632,
  series = {CEUR Workshop Proceedings},
  address = {Aachen},
  issn = {1613-0073},
  url = {http://ceur-ws.org/Vol-632},
  pubs = {clange}}

@PROCEEDINGS{SemWiki09,
  booktitle = {4\textsuperscript{th} Workshop on Semantic Wikis},
  year = 2009,
  editor = {Christoph Lange and Sebastian Schaffert and Hala Skaf-Molli and Max V{\"o}lkel},
  number = 464,
  series = {CEUR Workshop Proceedings},
  address = {Aachen},
  issn = {1613-0073},
  url = {http://ceur-ws.org/Vol-464},
  venue = {Hersonissos, Crete, Greece},
  eventdate = {2009-06-01},
  title = {Proceedings of the 4\textsuperscript{th} Workshop on Semantic Wikis, {European} {Semantic} {Web} {Conference}},
  pubs = {clange}}

@PROCEEDINGS{SemWiki08,
  booktitle = {3\textsuperscript{rd} Workshop on Semantic Wikis},
  year = 2008,
  editor = {Christoph Lange and Sebastian Schaffert and Hala Skaf-Molli and Max V{\"o}lkel},
  number = 360,
  series = {CEUR Workshop Proceedings},
  address = {Aachen},
  issn = {1613-0073},
  url = {http://ceur-ws.org/Vol-360},
  venue = {Costa Adeje, Tenerife, Spain},
  eventdate = {2008-06-02},
  title = {Proceedings of the 3\textsuperscript{rd} Workshop on Semantic Wikis, {European} {Semantic} {Web} {Conference}},
  pubs = {clange}}

@proceedings{CICM-WS-WiP2013,
  booktitle    = {{MathUI}, {OpenMath}, {PLMMS}, and {ThEdu} Workshops and Work in Progress at the Conference on Intelligent Computer Mathematics},
  title    = {Joint Proceedings of the {MathUI}, {OpenMath}, {PLMMS}, and {ThEdu} Workshops and Work in Progress at the Conference on Intelligent Computer Mathematics 2013},
year = 2013,
editor = {Christoph Lange and David Aspinall and Jacques Carette and James Davenport and Andrea Kohlhase and Michael Kohlhase and Paul Libbrecht and Pedro Quaresma and Florian Rabe and Petr Sojka and Iain Whiteside and Wolfgang Windsteiger},
number = 1010,
series = {CEUR Workshop Proceedings},
address = {Aachen},
issn = {1613-0073},
url = {http://ceur-ws.org/Vol-1010},
venue = {Bath, UK},
pubs = {mkohlhase,akohlhase,clange,frabe},
eventdate    = {2013-07-08/2013-07-12}
}

@proceedings{CICM-WS-WiP2014,
  booktitle    = {{MathUI}, {OpenMath}, {PLMMS}, and {ThEdu} Workshops and Work in Progress at the Conference on Intelligent Computer Mathematics},
  title    = {Joint Proceedings of the {MathUI}, {OpenMath}, {PLMMS}, and {ThEdu} Workshops and Work in Progress at the Conference on Intelligent Computer Mathematics 2014},
year = 2014,
editor = {Matthew England and James H. Davenport and
Andrea Kohlhase and Michael Kohlhase and Paul Libbrecht and
Walther Neuper and Pedro Quaresma and Alan P. Sexton and
Petr Sojka and Josef Urban and Stephen M. Watt},
number = 1186,
series = {CEUR Workshop Proceedings},
address = {Aachen},
issn = {1613-0073},
url = {http://ceur-ws.org/Vol-1186},
venue = {Coimbra, PT},
pubs = {mkohlhase,akohlhase,clange,frabe},
eventdate    = {2013-07-07/2013-07-12}
}

@proceedings{OpenMathUIWiP2012,
booktitle = {24\textsuperscript{th} {OpenMath} Workshop, 7\textsuperscript{th} Workshop on Mathematical User Interfaces (MathUI), and Intelligent Computer Mathematics Work in Progress},
title = {Joint Proceedings of the 24\textsuperscript{th} {OpenMath} Workshop, the 7\textsuperscript{th} Workshop on Mathematical User Interfaces ({MathUI}), and the Work in Progress Section of the Conference on Intelligent Computer Mathematics},
year = 2012,
editor = {James Davenport and Johan Jeuring and Christoph Lange and Paul Libbrecht},
number = 921,
series = {CEUR Workshop Proceedings},
address = {Aachen},
issn = {1613-0073},
url = {http://ceur-ws.org/Vol-921},
venue = {Bremen, Germany},
eventdate = {2012-07-09/2012-07-13},
}

@PROCEEDINGS{OM10,
  editor = {Michael Kohlhase and Christoph Lange},
  title = {23\textsuperscript{rd} {OpenMath} Workshop},
  booktitle = {23\textsuperscript{rd} {OpenMath} Workshop},
  url = {http://cicm2010.cnam.fr/om/},
  year = {2010},
  month = jul}

@Proceedings{OpenJEM07,
  editor =   {Olga Caprotti and Michael Kohlhase and Paul Libbrecht},
  title =    {{OpenMath/JEM} Workshop 2007},
  booktitle =    {{OpenMath/JEM} Workshop 2007},
  howpublished = {online at {\url{http://www.openmath.org/meetings/linz2007/}}},
  url = {http://www.openmath.org/meetings/linz2007/},
  year =     2007,
  month = jun,
pubs = {mkohlhase}}

@Proceedings{FGWM09:plain,
  editor = {Christoph Lange and Jochen Reutelsh{\"o}fer},
  title =    {Wissens- und Erfahrungsmanagement (Knowledge and Experience Management), {FGWM}},
  booktitle =    {Wissens- und Erfahrungsmanagement (Knowledge and Experience Management), {FGWM}},
  volume = {TUD-KE-2009-04},
  institution = {Universit{\"a}t Darmstadt},
  year = {2009},
  month = sep,
  pubs = {clange}}

@Proceedings{FGWM09,
  editor = {Christoph Lange and Jochen Reutelsh{\"o}fer},
  title =    {Wissens- und Erfahrungsmanagement (Knowledge and Experience Management), {FGWM}},
  booktitle =    {Wissens- und Erfahrungsmanagement (Knowledge and Experience Management), {FGWM}},
  note = {Workshop at LWA 2009, published as part of~\cite{LWA09}},
  year = {2009},
  month = sep,
  pubs = {clange}}

@Proceedings{FGWM13,
  editor = {Andrea Kohlhase and Bodo Rieger},
  title =    {Wissens- und Erfahrungsmanagement (Knowledge and Experience Management), {FGWM}},
  booktitle =    {Wissens- und Erfahrungsmanagement (Knowledge and Experience Management), {FGWM}},
  note = {Workshop at LWA 2013, published as part of~\cite{LWA13}},
  year = {2013},
  month = oct,
  pubs = {akohlhase}}

@Proceedings{JEM08,
  title = 	 {3\textsuperscript{rd} {JEM} Workshop -- Joining Educational Mathematics},
  year = 	 {2008},
  booktitle =	 {3\textsuperscript{rd} {JEM} Workshop -- Joining Educational Mathematics},
  editor =	 {Olga Caprotti and Sebastian Xamb{\'o} and Maria-Antonia Huertas and Michael Kohlhase and Mika Sepp{\"a}l{\"a}},
  url = {http://jem-thematic.net/workshop3},
  pubs = {mkohlhase}}

@proceedings{MathWiki11,
  booktitle = {ITP Workshop on Mathematical Wikis (MathWikis)},
  year = 2011,
  editor = {Christoph Lange and Josef Urban},
  number = 767,
  series = {CEUR Workshop Proceedings},
  address = {Aachen},
  issn = {1613-0073},
  url = {http://ceur-ws.org/Vol-767},
  venue = {Nijmegen, Netherlands},
  eventdate = {2011-08-27},
  title = {Proceedings of the ITP 2011 Workshop on Mathematical Wikis (MathWikis)},
  pubs = {clange}}

@proceedings{SEPUBLICA14,
booktitle = {4\textsuperscript{th} Workshop on Semantic Publishing (SePublica)},
title = {Proceedings of the 4\textsuperscript{th} Workshop on Semantic Publishing (SePublica)},
year = 2014,
editor = {Garc{\'i}a Castro, Alexander and Christoph Lange and Phillip Lord and Robert Stevens},
number = 1155,
series = {CEUR Workshop Proceedings},
address = {Aachen},
issn = {1613-0073},
url = {http://ceur-ws.org/Vol-1155},
venue = {Anissaras, Greece},
eventdate = {2014-05-25},
}

@proceedings{SEPUBLICA13,
  booktitle = {3\textsuperscript{rd} Workshop on Semantic Publishing ({SePublica})},
  year = 2013,
  editor = {Garc{\'i}a Castro, Alexander and Christoph Lange and Phillip Lord and Robert Stevens},
  number = 994,
  series = {CEUR Workshop Proceedings},
  address = {Aachen},
  issn = {1613-0073},
  url = {http://ceur-ws.org/Vol-994},
  venue = {Montpellier, France},
  eventdate = {2013-05-26},
  title = {Proceedings of the 3\textsuperscript{rd} Workshop on Semantic Publishing, {Extended} {Semantic} {Web} {Conference}},
  pubs = {clange}}

@proceedings{SEPUBLICA12,
  booktitle = {2\textsuperscript{nd} Workshop on Semantic Publishing ({SePublica})},
  year = 2012,
  editor = {Benjamin Good and Frank van Harmelen and Garc{\'i}a Castro, Alexander and Christoph Lange and Evan Sandhaus and Anita de Waard},
  number = 903,
  series = {CEUR Workshop Proceedings},
  address = {Aachen},
  issn = {1613-0073},
  url = {http://ceur-ws.org/Vol-903},
  venue = {Hersonissos, Crete, Greece},
  eventdate = {2012-05-28},
  title = {Proceedings of the 2\textsuperscript{nd} Workshop on Semantic Publishing, {Extended} {Semantic} {Web} {Conference}},
  pubs = {clange}}

@proceedings{SEPUBLICA11,
  booktitle = {1\textsuperscript{st} Workshop on Semantic Publication ({SePublica})},
  year = 2011,
  editor = {Garc{\'i}a Castro, Alexander and Christoph Lange and Evan Sandhaus and Anita de Waard},
  number = 721,
  series = {CEUR Workshop Proceedings},
  address = {Aachen},
  issn = {1613-0073},
  url = {http://ceur-ws.org/Vol-721},
  venue = {Hersonissos, Crete, Greece},
  eventdate = {2011-05-30},
  title = {Proceedings of the 1\textsuperscript{st} Workshop on Semantic Publication, {Extended} {Semantic} {Web} {Conference}},
  pubs = {clange}}

@BOOK{Kohlhase:OMDoc1.2,
  title = {{OMDoc} -- An open markup format for mathematical documents [Version 1.2]},
  booktitle = {{OMDoc} -- An open markup format for mathematical documents [Version 1.2]},
  publisher = {Springer Verlag},
  year = {2006},
  month = aug,
  author = {Michael Kohlhase},
  number = {4180},
  series = {LNAI},
  %url = {http://omdoc.org/pubs/omdoc1.2.pdf},
  pubs = {mkohlhase,projects/omdocbiblio}}

@Proceedings{DML12,
  title = 	 {{DML and MIR 2012}},
  booktitle = 	 {{DML and MIR 2012}},
  year = 	 2012,
  editor = 	 {Petr Sojka and Michael Kohlhase},
  isbn = {978-80-210-5542-1},
  publisher = {Masaryk University, Brno},
  pubs = {mkohlhase}}

repository: EUProofInfra/EUProofInfra

repo_name: EUProofInfra/EUProofInfra


text:
@Book{kopka:band2,
  Author         = {H. Kopka},
  Title          = {LaTeX},
  Publisher      = {Addison-Wesley},
  Volume         = {2. Erganzungen},
  Address        = {Bonn},
  year           = 1997,
}

@Misc{hagen:metafun,
  Author         = {Hans Hagen},
  Title          = {Metafun},
  HowPublished   = {Preliminary Version October 27, 2000},
  Note           = {\texttt{http://www.pragma-ade.com}},
  year           = 2000,
  month          = {October},
}

@Book{knuth:metafont,
  Author         = {Donald E. Knuth},
  Title          = {The MF Book},
  Publisher      = {Addison-Wesley Publishing Company},
  Volume         = {Volume C of Computers and Typesetting},
  Address        = {Reading, Mass.},
  year           = 1986,
}

@Book{goossens:companion,
  Author         = {M. von Goossens and S. Rahtz and F. Mittelbach},
  Title          = {The LaTeX Graphics Companion},
  Publisher      = {Addison-Wesley Publishing Company},
  Address        = {Reading, Mass.},
  year           = 1997,
}

@Book{goossens:companion2,
  Author         = {M. von Goossens and S. Rahtz and F. Mittelbach},
  Title          = {The LaTeX Graphics Companion},
  Publisher      = {Addison-Wesley Publishing Company},
  Address        = {Reading, Mass.},
  year           = 2000,
}

@Misc{hobby:manual,
  Author         = {John D. Hobby},
  Title          = {A User's Manual for MetaPost},
  HowPublished   = {Bell Laboratories},
  Note           = {\texttt{http://cm.bell-labs.com/cm/cs/cstr/162.ps.gz}},
}

@Book{hoenig:unbound,
  Author         = {Hoenig, Hans},
  Title          = {TeX unbound},
  Publisher      = {Oxford University Press},
  Address        = {Oxford},
  year           = 1998,
}

repository: plastex/plastex

repo_name: plastex/plastex

gha_license_id: NOASSERTION

gha_language: Python


text:
@inproceedings{Harper2013ht,
 address = {New York, NY, USA},
 annote = {Little is known about the navigation tactics employed by screen reader users when they face problematic situations on the Web. Understanding how these tactics are operationalised and knowing the situations that bring about such tactics paves the way towards modeling navigation behaviour. Modeling the navigation of users is of utmost importance as it allows not only to predict interactive behaviour, but also to assess the appropriateness of the content in a link, the information architecture of a site and the design of a web page. Current navigation models do not consider the extreme adaptations, namely coping tactics, that screen reader users undergo on the Web. Consequently, their prediction power is lessened and coping tactics are mistakenly considered outlying behaviours. We draw from existing navigation models for sighted users to suggest the incorporation of emerging behaviours in navigation models for screen reader users. To do so, we identify the navigation coping tactics screen reader users exhibit on the Web, including deliberately clicking on low scented links, escaping from useless or inaccessible content and backtracking to a shelter. Our findings suggest that, especially in problematic situations, navigation is not driven by information scent or utility, but by the need of increasing autonomy and the need of escaping from the current web patch.},
 author = {Vigo, Markel and Harper, Simon},
 booktitle = {Proceedings of the 24th ACM Conference on Hypertext and Social Media},
 doi = {10.1145/2481492.2481499},
 isbn = {978-1-4503-1967-6},
 keywords = {accessibility,blind users,coping tactics,information foraging theory,information scent,low vision,navigation models,screen readers,web},
 month = {may},
 pages = {60--68},
 publisher = {ACM},
 series = {HT '13},
 title = {Challenging Information Foraging Theory: Screen Reader Users Are Not Always Driven by Information Scent},
 url = {http://doi.acm.org/10.1145/2481492.2481499},
 year = {2013}
}

repository: sharpic/academic-kickstart

repo_name: sharpic/academic-kickstart


text:
/*
 *
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 *
 */
define(["dojo/parser",
        "dojo/query",
        "dojo/_base/connect",
        "qpid/common/properties",
        "qpid/common/updater",
        "qpid/common/util",
        "qpid/common/UpdatableStore",
        "dojox/grid/EnhancedGrid",
        "qpid/management/addAuthenticationProvider",
        "dojo/_base/event",
        "dijit/registry",
        "dojo/dom-style",
        "dojox/html/entities",
        "dojo/dom",
        "qpid/management/PreferencesProvider",
        "qpid/management/authenticationprovider/PrincipalDatabaseAuthenticationManager",
        "dojo/text!showAuthProvider.html",
        "dojo/domReady!"],
    function (parser,
              query,
              connect,
              properties,
              updater,
              util,
              UpdatableStore,
              EnhancedGrid,
              addAuthenticationProvider,
              event,
              registry,
              domStyle,
              entities,
              dom,
              PreferencesProvider,
              PrincipalDatabaseAuthenticationManager,
              template)
    {

        function AuthenticationProvider(name, parent, controller)
        {
            this.name = name;
            this.controller = controller;
            this.management = management;
            this.modelObj = {
                type: "authenticationprovider",
                name: name,
                parent: parent
            };
        }

        AuthenticationProvider.prototype.getTitle = function ()
        {
            return "AuthenticationProvider:" + this.name;
        };

        AuthenticationProvider.prototype.open = function (contentPane)
        {
            var that = this;
            this.contentPane = contentPane;
            contentPane.containerNode.innerHTML = template;
            parser.parse(contentPane.containerNode)
                .then(function (instances)
                {

                    var authProviderUpdater = new AuthProviderUpdater(contentPane.containerNode, that.modelObj, that.controller, that);
                    that.authProviderUpdater = authProviderUpdater;

                    var editButtonNode = query(".editAuthenticationProviderButton", contentPane.containerNode)[0];
                    var editButtonWidget = registry.byNode(editButtonNode);
                    editButtonWidget.on("click", function (evt)
                    {
                        event.stop(evt);
                        addAuthenticationProvider.show(that.management,
                            that.modelObj,
                            authProviderUpdater.authProviderData);
                    });
                    authProviderUpdater.editButton = editButtonWidget;

                    var deleteButton = query(".deleteAuthenticationProviderButton", contentPane.containerNode)[0];
                    var deleteWidget = registry.byNode(deleteButton);
                    connect.connect(deleteWidget, "onClick", function (evt)
                    {
                        event.stop(evt);
                        that.deleteAuthenticationProvider();
                    });

                    authProviderUpdater.update(function ()
                    {
                        if (that.management.metadata.implementsManagedInterface("AuthenticationProvider",
                                authProviderUpdater.authProviderData.type,
                                "PasswordCredentialManagingAuthenticationProvider"))
                        {
                            authProviderUpdater.managingUsersUI =
                                new PrincipalDatabaseAuthenticationManager(contentPane.containerNode, authProviderUpdater.modelObj, that.controller);
                            authProviderUpdater.managingUsersUI.update(authProviderUpdater.authProviderData);
                        }

                        var supportsPreferencesProvider = that.management.metadata.implementsManagedInterface(
                            "AuthenticationProvider",
                            authProviderUpdater.authProviderData.type,
                            "PreferencesSupportingAuthenticationProvider");
                        if (!supportsPreferencesProvider)
                        {
                            var preferencesPanel = query(".preferencesPanel", contentPane.containerNode);
                            if (preferencesPanel && preferencesPanel[0])
                            {
                                var preferencesProviderPanel = registry.byNode(preferencesPanel[0]);
                                domStyle.set(preferencesProviderPanel.domNode, "display", "none");
                            }
                        }
                        else
                        {
                            var preferencesProviderData = authProviderUpdater.authProviderData.preferencesproviders
                                ? authProviderUpdater.authProviderData.preferencesproviders[0]
                                : null;
                            authProviderUpdater.updatePreferencesProvider(preferencesProviderData);
                        }

                        updater.add(that.authProviderUpdater);
                    });
                });
        };

        AuthenticationProvider.prototype.close = function ()
        {
            updater.remove(this.authProviderUpdater);
            if (this.authProviderUpdater.details)
            {
                updater.remove(this.authProviderUpdater.details.authDatabaseUpdater);
            }
        };

        AuthenticationProvider.prototype.deleteAuthenticationProvider = function ()
        {
            if (confirm("Are you sure you want to delete authentication provider '" + this.name + "'?"))
            {
                var that = this;
                this.management.remove(this.modelObj)
                    .then(function (data)
                    {
                        that.close();
                        that.contentPane.onClose()
                        that.controller.tabContainer.removeChild(that.contentPane);
                        that.contentPane.destroyRecursive();
                    }, util.xhrErrorHandler);
            }
        };

        function AuthProviderUpdater(node, authProviderObj, controller, authenticationProvider)
        {
            this.controller = controller;
            this.management = management;
            this.modelObj = authProviderObj;
            this.name = query(".name", node)[0];
            this.type = query(".type", node)[0];
            this.state = query(".state", node)[0];
            this.tabObject = authenticationProvider;
            this.preferencesProviderType = dom.byId("preferencesProviderType");
            this.preferencesProviderName = dom.byId("preferencesProviderName");
            this.preferencesProviderState = dom.byId("preferencesProviderState");
            this.editPreferencesProviderButton = query(".editPreferencesProviderButton", node)[0];
            this.deletePreferencesProviderButton = query(".deletePreferencesProviderButton", node)[0];
            this.preferencesProviderAttributes = dom.byId("preferencesProviderAttributes")
            this.preferencesNode = query(".preferencesProviderDetails", node)[0];
            this.authenticationProviderDetailsContainer = query(".authenticationProviderDetails", node)[0];
        }

        AuthProviderUpdater.prototype.updatePreferencesProvider = function (preferencesProviderData)
        {
            if (preferencesProviderData)
            {
                if (!this.preferencesProvider)
                {
                    var preferencesProvider = new PreferencesProvider(preferencesProviderData.name, this.authProviderData);
                    preferencesProvider.init(this.preferencesNode, this);
                    this.preferencesProvider = preferencesProvider;
                }
                this.preferencesProvider.update(preferencesProviderData);
            }
            else
            {
                if (this.preferencesProvider)
                {
                    this.preferencesProvider.update(null);
                }
            }
        };

        AuthProviderUpdater.prototype.onPreferencesProviderDeleted = function ()
        {
            this.preferencesProvider = null;
        }

        AuthProviderUpdater.prototype.updateHeader = function ()
        {
            this.tabObject.name = this.authProviderData["name"]
            this.name.innerHTML = entities.encode(String(this.authProviderData["name"]));
            this.type.innerHTML = entities.encode(String(this.authProviderData["type"]));
            this.state.innerHTML = entities.encode(String(this.authProviderData["state"]));
        };

        AuthProviderUpdater.prototype.update = function (callback)
        {
            var that = this;
            this.management.load(this.modelObj,
                {
                    excludeInheritedContext: true,
                    depth: 1
                })
                .then(function (data)
                {
                    that._update(data[0]);
                    if (callback)
                    {
                        callback();
                    }
                }, function (error)
                {
                    util.tabErrorHandler(error, {
                        updater: that,
                        contentPane: that.tabObject.contentPane,
                        tabContainer: that.tabObject.controller.tabContainer,
                        name: that.modelObj.name,
                        category: "Authentication Provider"
                    });
                });
        };

        AuthProviderUpdater.prototype._update = function (data)
        {
            var that = this;
            this.authProviderData = data;
            util.flattenStatistics(data);
            this.updateHeader();

            if (this.details)
            {
                this.details.update(data);
            }
            else
            {
                require(["qpid/management/authenticationprovider/" + encodeURIComponent(data.type.toLowerCase())
                         + "/show"], function (DetailsUI)
                {
                    that.details = new DetailsUI({
                        containerNode: that.authenticationProviderDetailsContainer,
                        parent: that
                    });
                    that.details.update(data);
                });
            }

            if (this.managingUsersUI)
            {
                try
                {
                    this.managingUsersUI.update(data);
                }
                catch (e)
                {
                    if (console)
                    {
                        console.error(e);
                    }
                }
            }
            var preferencesProviderData = data.preferencesproviders ? data.preferencesproviders[0] : null;
            try
            {
                this.updatePreferencesProvider(preferencesProviderData);
            }
            catch (e)
            {
                if (console)
                {
                    console.error(e);
                }
            }
        }

        return AuthenticationProvider;
    });

repository: scholzj/qpid-java

repo_name: scholzj/qpid-java

branch_name: refs/heads/trunk

gha_language: Java


text:
package specs

import (
	"github.com/gravitational/robotest/e2e/framework"
	"github.com/gravitational/robotest/e2e/model/ui"
	sitemodel "github.com/gravitational/robotest/e2e/model/ui/site"
	"github.com/gravitational/robotest/lib/defaults"
	"github.com/gravitational/robotest/lib/wait"

	log "github.com/Sirupsen/logrus"
	"github.com/gravitational/trace"
	. "github.com/onsi/ginkgo"
	. "github.com/onsi/gomega"
)

func VerifySiteUpdate(f *framework.T) {

	framework.RoboDescribe("Site Update", func() {
		ctx := framework.TestContext
		var domainName string
		var siteURL string

		BeforeEach(func() {
			domainName = ctx.ClusterName
			siteURL = framework.SiteURL()
		})

		It("should update site to the latest version", func() {
			By("uploading new application into site")
			if ctx.Onprem.InstallerURL == "" {
				// Upload a new version to Ops Center
				// TODO: remove the fake version at cleanup/teardown
				framework.FakeUpdateApplication()
			} else {

				framework.UpdateApplicationWithInstaller()
			}

			By("updating site to the latest application version")
			ui.EnsureUser(f.Page, siteURL, ctx.Login)

			site := sitemodel.Open(f.Page, domainName)
			site.NavigateToSiteApp()

			appPage := site.GetSiteAppPage()
			newVersions := appPage.GetNewVersions()

			Expect(newVersions).NotTo(BeEmpty(), "should have at least 1 new version available")
			appPage.UpdateApp(newVersions[0])

			By("checking whether the update is finished")
			// Here have to login again, because update of gravity-site app will log us out
			// Check for right provider before login

			err := wait.Retry(defaults.RetryDelay, defaults.RetryAttempts, func() error {
				err := ui.IsLoginPageFound(f.Page, siteURL, ctx.Login)
				if err != nil {
					log.Debug(trace.DebugReport(err))
				}
				return trace.Wrap(err)
			})
			Expect(err).NotTo(HaveOccurred(), "login page didn't load in timely fashion")

			ui.EnsureUser(f.Page, siteURL, ctx.Login)

			site = sitemodel.Open(f.Page, domainName)
			site.NavigateToSiteApp()

			appPage = site.GetSiteAppPage()
			appPage.CheckUpdateApp(newVersions[0])
		})
	})
}

repository: etsangsplk/robotest

repo_name: etsangsplk/robotest

extension: go


text:
package middlewares

import (
	"strings"
	"net/http"
	"crypto/rsa"
	"encoding/json"

	"github.com/unrolled/render"
	"github.com/zenazn/goji/web"
	"github.com/dvsekhvalnov/jose2go"

	"github.com/YagoCarballo/kumquat-academy-api/tools"
	"github.com/YagoCarballo/kumquat-academy-api/database/models"
)

type Permissions struct {
	Read  bool
	Write bool
}

type checkToken struct {
	h           func(web.C, http.ResponseWriter, *http.Request)
	permissions *Permissions
	privateKey	*rsa.PrivateKey
	publicKey	*rsa.PublicKey
}

func (e checkToken) checkPermisions(c web.C, w http.ResponseWriter, r *http.Request) {
	// TODO: Check Permissions for Restricted Areas
	if e.permissions.Write {
		c.Env["permissions"] = &e.permissions
		e.h(c, w, r)
		return
	}

	renderer := render.New()
	renderer.JSON(w, http.StatusForbidden, map[string]interface{}{
		"error":   "AccessDenied",
		"message": "Not enough permissions to access this area.",
	})
}

func (e checkToken) ServeHTTPC(context web.C, writter http.ResponseWriter, request *http.Request) {
	var authorization string
	//	deviceId := r.Header.Get("Device") // TODO: Check Device ID matches token

	cookie, err := request.Cookie("token")
	if err != nil {
		TriggerUnautorizedError(writter); return
	} else if (err != http.ErrNoCookie) {
		cookieData, err := e.parseCookie(cookie)
		if err != nil {
			TriggerUnautorizedError(writter); return
		}

		authorization = cookieData.AccessToken
		context.Env["token"] = cookieData
	}

	if authorization == "" && strings.HasPrefix(authorization, "Bearer ") == false {
		TriggerUnautorizedError(writter); return

	} else {
		token := strings.Replace(authorization, "Bearer ", "", 1)
		session, err := models.DBSession.FindSession(token)

		if err != nil || session == nil {
			TriggerUnautorizedError(writter); return
		} else {
			context.Env["session"] = &session

			// If URL is restricted, check permissions as well
			if e.permissions != nil {
				e.checkPermisions(context, writter, request)

			} else {
				e.h(context, writter, request)
			}
		}
	}
}

func TriggerUnautorizedError(writter http.ResponseWriter) {
	renderer := render.New()
	renderer.JSON(writter, http.StatusUnauthorized, map[string]interface{}{
		"error": "Unautorized",
	})
	return;
}

func (e checkToken) parseCookie(cookie *http.Cookie) (*tools.JWTSession, error) {
	var cookieData tools.JWTSession

	// Decodes the Encripted Cookie JWT Token
	payload, _, err := jose.Decode(cookie.Value, e.privateKey)
	if err != nil {
		return &cookieData, err
	}

	// Parses the Decoded JSON
	err = json.Unmarshal([]byte(payload), &cookieData)
	if err != nil {
		return &cookieData, err
	}

	return &cookieData, nil
}

func CheckSession(h func(web.C, http.ResponseWriter, *http.Request), privateKey *rsa.PrivateKey, publicKey *rsa.PublicKey) web.Handler {
	return checkToken{h, nil, privateKey, publicKey}
}

func Restricted(permissions Permissions, h func(web.C, http.ResponseWriter, *http.Request), privateKey *rsa.PrivateKey, publicKey *rsa.PublicKey) web.Handler {
	return checkToken{h, &permissions, privateKey, publicKey}
}

repository: YagoCarballo/kumquat-academy-api

repo_name: YagoCarballo/kumquat-academy-api


text:
@article{lecun2015deep,
  title={Deep learning},
  author={LeCun, Yann and Bengio, Yoshua and Hinton, Geoffrey},
  journal={nature},
  volume={521},
  number={7553},
  pages={436},
  year={2015},
  publisher={Nature Publishing Group}
}

@inproceedings{leen1995data,
  title={From data distributions to regularization in invariant learning},
  author={Leen, Todd K},
  booktitle={Advances in Neural information processing systems},
  pages={223--230},
  year={1995}
}

@article{cirecsan2012multi,
  title={Multi-column deep neural networks for image classification},
  author={Cire{\c{s}}an, Dan and Meier, Ueli and Schmidhuber, J{\"u}rgen},
  journal={arXiv preprint arXiv:1202.2745},
  year={2012}
}

@article{cirecsan2011high,
  title={High-performance neural networks for visual object classification},
  author={Cire{\c{s}}an, Dan C and Meier, Ueli and Masci, Jonathan and Gambardella, Luca M and Schmidhuber, J{\"u}rgen},
  journal={arXiv preprint arXiv:1102.0183},
  year={2011}
}

@book{behnke2003hierarchical,
  title={Hierarchical neural networks for image interpretation},
  author={Behnke, Sven},
  volume={2766},
  year={2003},
  publisher={Springer}
}

@inproceedings{zeiler2014visualizing,
  title={Visualizing and understanding convolutional networks},
  author={Zeiler, Matthew D and Fergus, Rob},
  booktitle={European conference on computer vision},
  pages={818--833},
  year={2014},
  organization={Springer}
}

@book{chollet2017deep,
  title={Deep learning with python},
  author={Chollet, Francois},
  year={2017},
  publisher={Manning Publications Co.}
}

@inproceedings{yosinski2014transferable,
  title={How transferable are features in deep neural networks?},
  author={Yosinski, Jason and Clune, Jeff and Bengio, Yoshua and Lipson, Hod},
  booktitle={Advances in neural information processing systems},
  pages={3320--3328},
  year={2014}
}


text:
export const BACKEND_URL = "http://192.168.1.13:5000";

// export const BACKEND_URL = "https://superselfapp.herokuapp.com/";

repository: lhmson/SuperSelfPlus

repo_name: lhmson/SuperSelfPlus


text:
@article{ramponi-etal-2020-high,
    author={Ramponi, Alan and Giampiccolo, Stefano and Tomasoni, Danilo and Priami, Corrado and Lombardo, Rosario},
    journal={IEEE Access},
    title={High-Precision Biomedical Relation Extraction for Reducing Human Curation Efforts in Industrial Applications},
    year={2020},
    volume={8},
    number={},
    pages={150999-151011},
    doi={10.1109/ACCESS.2020.3014862}
}


text:
@article{Ninness&Hjalmarsson&Gustafsson_a:96a,
 author = {B. Ninness and H. Hjalmarsson and F. Gustafsson},
 journal = {SIAM Journal on Control and Optimization},
 month = {December},
 number = {2},
 pages = {429-460},
 title = {Generalised Fourier and Toeplitz results for
rational orthonormal bases},
 volume = {37},
 year = {1998}
}

repository: hhjalmars/academic-kickstart

repo_name: hhjalmars/academic-kickstart


text:
@article{rahman2017decentralized,
 author = {Rahman, Mohammad Shahriar and Basu, Anirban and Kiyomoto, Shinsaku},
 journal = {Journal of Internet Services and Information Security (JISIS)},
 number = {3},
 pages = {1--16},
 title = {Decentralized Ciphertext-Policy Attribute-Based Encryption: A Post-Quantum Construction},
 volume = {7},
 year = {2017}
}


text:
package offerings

import (
	"git.dhbw.chd.cx/savood/backend/restapi/operations/offerings"
	"github.com/go-openapi/runtime/middleware"
	"git.dhbw.chd.cx/savood/backend/models"
	"git.dhbw.chd.cx/savood/backend/dao"
)

// GetOfferingsHandler handles getting all offerings, which are owned or savooded
func GetOfferingsHandler(params offerings.GetOfferingsParams, principal *models.Principal) middleware.Responder {

	owned := true
	requested := true

	if params.Filter != nil {
		if *params.Filter == "owned" {
			requested = false
		} else if *params.Filter == "requested" {
			owned = false
		} else {
			return offerings.NewGetOfferingsBadRequest()
		}
	}

	var payload []*models.Offering

	if owned {
		o, err := dao.GetAllOfferingsByUserID(principal.Userid.Hex(), principal)
		if err != nil {
			str := err.Error()
			return offerings.NewGetOfferingsInternalServerError().WithPayload(&models.ErrorModel{Message: &str})
		}
		payload = append(payload, o...)
	}

	if requested {
		ids , err := dao.GetSavoodsByUserID(principal.Userid)
		if err != nil {
			str := err.Error()
			return offerings.NewGetOfferingsInternalServerError().WithPayload(&models.ErrorModel{Message: &str})
		}
		o, err := dao.GetOfferingsByIDs(ids, principal)
		if err != nil {
			str := err.Error()
			return offerings.NewGetOfferingsInternalServerError().WithPayload(&models.ErrorModel{Message: &str})
		}
		payload = append(payload, o...)
	}

	return offerings.NewGetOfferingsOK().WithPayload(payload)
}

repository: Savood/backend

repo_name: Savood/backend


text:
@article{sinha2020maude,
 abstract = {Evaluating the quality of a dialogue interaction between
two agents is a difficult task, especially in open-domain
chit-chat style dialogue. There have been recent efforts to
develop automatic dialogue evaluation metrics, but most of
them do not generalize to unseen datasets and/or need a
human-generated reference response during inference, making it
infeasible for online evaluation. Here, we propose an
unreferenced automated evaluation metric that uses large
pre-trained language models to extract latent representations
of utterances, and leverages the temporal transitions that
exist between them. We show that our model achieves higher
correlation with human annotations in an online setting, while
not requiring true responses for comparison during inference.},
 arxiv = {2005.00583},
 author = {Koustuv Sinha and Prasanna Parthasarathi and Jasmine Wang
and Ryan Lowe and William L. Hamilton and Joelle Pineau},
 code = {https://github.com/facebookresearch/online_dialog_eval},
 journal = {Association of Computational Linguistics (ACL)},
 title = {Learning an Unreferenced Metric for Online Dialogue
Evaluation},
 url = {https://arxiv.org/abs/2005.00583},
 year = {2020}
}


text:
@article{Danino2010,
annote = {NULL},
author = {Danino, Tal and Mondrag{\'{o}}n-Palomino, Octavio and Tsimring, Lev and Hasty, Jeff},
doi = {10.1038/nature08753},
file = {:home/mweber/Research/Bibliography/Mendeley PDF files/Danino et al. - 2010 - A synchronized quorum of genetic clocks.pdf:pdf;:home/mweber/Research/Bibliography/Mendeley PDF files/Danino et al. - 2010 - A synchronized quorum of genetic clocks(2).pdf:pdf},
issn = {0028-0836},
journal = {Nature},
keywords = {E.Coli,QS precision paper,colony software,experimental,oscillator,quorum sensing,synthetic biology,theoretical,ucsd},
mendeley-tags = {E.Coli,QS precision paper,colony software,experimental,oscillator,quorum sensing,synthetic biology,theoretical,ucsd},
number = {7279},
pages = {326--330},
title = {{A synchronized quorum of genetic clocks}},
volume = {463},
year = {2010}
}
@article{Gillespie1977,
author = {Gillespie, D.T.},
file = {:home/mweber/Research/Bibliography/Mendeley PDF files/Gillespie - 1977 - Exact stochastic simulation of coupled chemical reactions.pdf:pdf},
journal = {The journal of physical chemistry},
keywords = {QS precision paper,computational,stochastic algorithm},
mendeley-tags = {QS precision paper,computational,stochastic algorithm},
number = {25},
pages = {2340--2361},
publisher = {American Chemical Society},
title = {{Exact stochastic simulation of coupled chemical reactions}},
volume = {81},
year = {1977}
}
@article{Prindle2012,
abstract = {Although there has been considerable progress in the development of engineering principles for synthetic biology, a substantial challenge is the construction of robust circuits in a noisy cellular environment. Such an environment leads to considerable intercellular variability in circuit behaviour, which can hinder functionality at the colony level. Here we engineer the synchronization of thousands of oscillating colony 'biopixels' over centimetre-length scales through the use of synergistic intercellular coupling involving quorum sensing within a colony and gas-phase redox signalling between colonies. We use this platform to construct a liquid crystal display (LCD)-like macroscopic clock that can be used to sense arsenic via modulation of the oscillatory period. Given the repertoire of sensing capabilities of bacteria such as Escherichia coli, the ability to coordinate their behaviour over large length scales sets the stage for the construction of low cost genetic biosensors that are capable of detecting heavy metals and pathogens in the field.},
author = {Prindle, Arthur and Samayoa, Phillip and Razinkov, Ivan and Danino, Tal and Tsimring, Lev S and Hasty, Jeff},
doi = {10.1038/nature10722},
file = {:home/mweber/Research/Bibliography/Mendeley PDF files/Prindle et al. - 2012 - A sensing array of radically coupled genetic 'biopixels'.pdf:pdf;:home/mweber/Research/Bibliography/Mendeley PDF files/Prindle et al. - 2012 - A sensing array of radically coupled genetic 'biopixels'.mov:mov;:home/mweber/Research/Bibliography/Mendeley PDF files/Prindle et al. - 2012 - A sensing array of radically coupled genetic 'biopixels'(2).mov:mov;:home/mweber/Research/Bibliography/Mendeley PDF files/Prindle et al. - 2012 - A sensing array of radically coupled genetic 'biopixels'(3).mov:mov;:home/mweber/Research/Bibliography/Mendeley PDF files/Prindle et al. - 2012 - A sensing array of radically coupled genetic 'biopixels'(4).mov:mov;:home/mweber/Research/Bibliography/Mendeley PDF files/Prindle et al. - 2012 - A sensing array of radically coupled genetic 'biopixels'(5).mov:mov;:home/mweber/Research/Bibliography/Mendeley PDF files/Prindle et al. - 2012 - A sensing array of radically coupled genetic 'biopixels'(6).mov:mov;:home/mweber/Research/Bibliography/Mendeley PDF files/Prindle et al. - 2012 - A sensing array of radically coupled genetic 'biopixels'(7).mov:mov;:home/mweber/Research/Bibliography/Mendeley PDF files/Prindle et al. - 2012 - A sensing array of radically coupled genetic 'biopixels'(8).mov:mov},
issn = {1476-4687},
journal = {Nature},
keywords = {Ampicillin,Ampicillin: pharmacology,Anti-Bacterial Agents,Arsenic,Arsenic: analysis,Bacterial,Bacterial Proteins,Bacterial Proteins: metabolism,Biological Clocks,Biological Clocks: drug effects,Biosensing Techniques,Catalase,Catalase: metabolism,Escherichia coli,Escherichia coli: drug effects,Escherichia coli: enzymology,Escherichia coli: genetics,Escherichia coli: physiology,Gene Expression Regulation,Hydrogen Peroxide,Hydrogen Peroxide: metabolism,Kanamycin,Kanamycin: pharmacology,Liquid Crystals,NADH Dehydrogenase,NADH Dehydrogenase: metabolism,Oxidation-Reduction,Quorum Sensing,Superoxide Dismutase,Superoxide Dismutase: metabolism,Synthetic Biology,Thiourea,Thiourea: pharmacology,colony software},
mendeley-tags = {colony software},
month = {jan},
number = {7379},
pages = {39--44},
pmid = {22178928},
publisher = {Nature Publishing Group},
title = {{A sensing array of radically coupled genetic 'biopixels'.}},
url = {http://dx.doi.org/10.1038/nature10722 http://www.pubmedcentral.nih.gov/articlerender.fcgi?artid=3259005{\&}tool=pmcentrez{\&}rendertype=abstract},
volume = {481},
year = {2012}
}
@article{Miller1965,
author = {Miller, D. G},
doi = {10.1021/j100880a033},
file = {:home/mweber/Research/Bibliography/Mendeley PDF files/Miller - 1965 - Application of Irreversible Thermodynamics.pdf:pdf},
issn = {0022-3654},
journal = {J. Phys. Chem},
number = {8},
pages = {2639--2659},
title = {{Application of Irreversible Thermodynamics}},
url = {http://appliedmechanics.asmedigitalcollection.asme.org/pdfaccess.ashx?ResourceID=4362828{\&}PDFSource=13},
volume = {111},
year = {1965}
}

repository: webermarcolivier/pandoc-notebook

repo_name: webermarcolivier/pandoc-notebook