text:
using System;
using System.Collections;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;

using DotNetNuke.Common.Utilities;
using DotNetNuke.Entities.Modules;
using DotNetNuke.Entities.Portals;
using DotNetNuke.Entities.Tabs;
using DotNetNuke.Entities.Users;
using DotNetNuke.Framework;
using DotNetNuke.Security.Roles;
using DotNetNuke.Services.FileSystem;

#endregion

namespace DotNetNuke.Services.Log.EventLog
{
    public class EventLogController : ServiceLocator<IEventLogController, EventLogController>, IEventLogController
    {
        #region EventLogType enum

        public enum EventLogType
        {
            USER_CREATED,
            USER_DELETED,
            LOGIN_SUPERUSER,
            LOGIN_SUCCESS,
            LOGIN_FAILURE,
            LOGIN_USERLOCKEDOUT,
            LOGIN_USERNOTAPPROVED,
            CACHE_REFRESHED,
            PASSWORD_SENT_SUCCESS,
            PASSWORD_SENT_FAILURE,
            LOG_NOTIFICATION_FAILURE,
            PORTAL_CREATED,
            PORTAL_DELETED,
            TAB_CREATED,
            TAB_UPDATED,
            TAB_DELETED,
            TAB_SENT_TO_RECYCLE_BIN,
            TAB_RESTORED,
            USER_ROLE_CREATED,
            USER_ROLE_DELETED,
            USER_ROLE_UPDATED,
            ROLE_CREATED,
            ROLE_UPDATED,
            ROLE_DELETED,
            MODULE_CREATED,
            MODULE_UPDATED,
            MODULE_DELETED,
            MODULE_SENT_TO_RECYCLE_BIN,
            MODULE_RESTORED,
            SCHEDULER_EVENT_STARTED,
            SCHEDULER_EVENT_PROGRESSING,
            SCHEDULER_EVENT_COMPLETED,
            APPLICATION_START,
            APPLICATION_END,
            APPLICATION_SHUTTING_DOWN,
            SCHEDULER_STARTED,
            SCHEDULER_SHUTTING_DOWN,
            SCHEDULER_STOPPED,
            ADMIN_ALERT,
            HOST_ALERT,
            CACHE_REMOVED,
            CACHE_EXPIRED,
            CACHE_UNDERUSED,
            CACHE_DEPENDENCYCHANGED,
            CACHE_OVERFLOW,
            CACHE_REFRESH,
            LISTENTRY_CREATED,
            LISTENTRY_UPDATED,
            LISTENTRY_DELETED,
            DESKTOPMODULE_CREATED,
            DESKTOPMODULE_UPDATED,
            DESKTOPMODULE_DELETED,
            SKINCONTROL_CREATED,
            SKINCONTROL_UPDATED,
            SKINCONTROL_DELETED,
            PORTALALIAS_CREATED,
            PORTALALIAS_UPDATED,
            PORTALALIAS_DELETED,
            PROFILEPROPERTY_CREATED,
            PROFILEPROPERTY_UPDATED,
            PROFILEPROPERTY_DELETED,
            USER_UPDATED,
            DESKTOPMODULEPERMISSION_CREATED,
            DESKTOPMODULEPERMISSION_UPDATED,
            DESKTOPMODULEPERMISSION_DELETED,
            PERMISSION_CREATED,
            PERMISSION_UPDATED,
            PERMISSION_DELETED,
            TABPERMISSION_CREATED,
            TABPERMISSION_UPDATED,
            TABPERMISSION_DELETED,
            AUTHENTICATION_CREATED,
            AUTHENTICATION_UPDATED,
            AUTHENTICATION_DELETED,
            FOLDER_CREATED,
            FOLDER_UPDATED,
            FOLDER_DELETED,
            PACKAGE_CREATED,
            PACKAGE_UPDATED,
            PACKAGE_DELETED,
            LANGUAGEPACK_CREATED,
            LANGUAGEPACK_UPDATED,
            LANGUAGEPACK_DELETED,
            LANGUAGE_CREATED,
            LANGUAGE_UPDATED,
            LANGUAGE_DELETED,
            LIBRARY_UPDATED,
            SKINPACKAGE_CREATED,
            SKINPACKAGE_UPDATED,
            SKINPACKAGE_DELETED,
            SCHEDULE_CREATED,
            SCHEDULE_UPDATED,
            SCHEDULE_DELETED,
            HOST_SETTING_CREATED,
            HOST_SETTING_UPDATED,
            HOST_SETTING_DELETED,
            PORTALDESKTOPMODULE_CREATED,
            PORTALDESKTOPMODULE_UPDATED,
            PORTALDESKTOPMODULE_DELETED,
            TABMODULE_CREATED,
            TABMODULE_UPDATED,
            TABMODULE_DELETED,
            TABMODULE_SETTING_CREATED,
            TABMODULE_SETTING_UPDATED,
            TABMODULE_SETTING_DELETED,
            MODULE_SETTING_CREATED,
            MODULE_SETTING_UPDATED,
            MODULE_SETTING_DELETED,
            PORTAL_SETTING_CREATED,
            PORTAL_SETTING_UPDATED,
            PORTAL_SETTING_DELETED,
            PORTALINFO_CREATED,
            PORTALINFO_UPDATED,
            PORTALINFO_DELETED,
            AUTHENTICATION_USER_CREATED,
            AUTHENTICATION_USER_UPDATED,
            AUTHENTICATION_USER_DELETED,
            LANGUAGETOPORTAL_CREATED,
            LANGUAGETOPORTAL_UPDATED,
            LANGUAGETOPORTAL_DELETED,
            TAB_ORDER_UPDATED,
            TAB_SETTING_CREATED,
            TAB_SETTING_UPDATED,
            TAB_SETTING_DELETED,
            HOST_SQL_EXECUTED,
            USER_RESTORED,
            USER_REMOVED,
            USER_IMPERSONATED,
            USERNAME_UPDATED,
            IP_LOGIN_BANNED,
            PAGE_NOT_FOUND_404,
            TABURL_CREATED,
            TABURL_UPDATED,
            TABURL_DELETED,
            SCRIPT_COLLISION,
            POTENTIAL_PAYPAL_PAYMENT_FRAUD,
            WEBSERVER_CREATED,
            WEBSERVER_UPDATED,
            WEBSERVER_DISABLED,
            WEBSERVER_ENABLED,
            WEBSERVER_PINGFAILED,
            FOLDER_MOVED
        }

        #endregion

        protected override Func<IEventLogController> GetFactory()
        {
            return () => new EventLogController();
        }

        #region IEventLogController Members

        public void AddLog(string propertyName, string propertyValue, EventLogType logType)
        {
            AddLog(propertyName, propertyValue, PortalController.Instance.GetCurrentPortalSettings(), UserController.Instance.GetCurrentUserInfo().UserID, logType);
        }

        public void AddLog(string propertyName, string propertyValue, PortalSettings portalSettings, int userID, EventLogType logType)
        {
            AddLog(propertyName, propertyValue, portalSettings, userID, logType.ToString());
        }

        public void AddLog(string propertyName, string propertyValue, PortalSettings portalSettings, int userID, string logType)
        {
            var properties = new LogProperties();
            var logDetailInfo = new LogDetailInfo {PropertyName = propertyName, PropertyValue = propertyValue};
            properties.Add(logDetailInfo);
            AddLog(properties, portalSettings, userID, logType, false);
        }

        public void AddLog(LogProperties properties, PortalSettings portalSettings, int userID, string logTypeKey, bool bypassBuffering)
        {
            //supports adding a custom string for LogType
            var log = new LogInfo
                {
                    LogUserID = userID,
                    LogTypeKey = logTypeKey,
                    LogProperties = properties,
                    BypassBuffering = bypassBuffering
                };
            if (portalSettings != null)
            {
                log.LogPortalID = portalSettings.PortalId;
                log.LogPortalName = portalSettings.PortalName;
            }
            LogController.Instance.AddLog(log);
        }

        public void AddLog(PortalSettings portalSettings, int userID, EventLogType logType)
        {
            AddLog(new LogProperties(), portalSettings, userID, logType.ToString(), false);
        }

        public void AddLog(object businessObject, PortalSettings portalSettings, int userID, string userName, EventLogType logType)
        {
            AddLog(businessObject, portalSettings, userID, userName, logType.ToString());
        }

        public void AddLog(object businessObject, PortalSettings portalSettings, int userID, string userName, string logType)
        {
            var log = new LogInfo {LogUserID = userID, LogTypeKey = logType};
            if (portalSettings != null)
            {
                log.LogPortalID = portalSettings.PortalId;
                log.LogPortalName = portalSettings.PortalName;
            }
            switch (businessObject.GetType().FullName)
            {
                case "DotNetNuke.Entities.Portals.PortalInfo":
                    var portal = (PortalInfo) businessObject;
                    log.LogProperties.Add(new LogDetailInfo("PortalID",
                                                                portal.PortalID.ToString(CultureInfo.InvariantCulture)));
                    log.LogProperties.Add(new LogDetailInfo("PortalName", portal.PortalName));
                    log.LogProperties.Add(new LogDetailInfo("Description", portal.Description));
                    log.LogProperties.Add(new LogDetailInfo("KeyWords", portal.KeyWords));
                    log.LogProperties.Add(new LogDetailInfo("LogoFile", portal.LogoFile));
                    break;
                case "DotNetNuke.Entities.Tabs.TabInfo":
                    var tab = (TabInfo) businessObject;
                    log.LogProperties.Add(new LogDetailInfo("TabID",
                                                                tab.TabID.ToString(CultureInfo.InvariantCulture)));
                    log.LogProperties.Add(new LogDetailInfo("PortalID",
                                                                tab.PortalID.ToString(CultureInfo.InvariantCulture)));
                    log.LogProperties.Add(new LogDetailInfo("TabName", tab.TabName));
                    log.LogProperties.Add(new LogDetailInfo("Title", tab.Title));
                    log.LogProperties.Add(new LogDetailInfo("Description", tab.Description));
                    log.LogProperties.Add(new LogDetailInfo("KeyWords", tab.KeyWords));
                    log.LogProperties.Add(new LogDetailInfo("Url", tab.Url));
                    log.LogProperties.Add(new LogDetailInfo("ParentId",
                                                                tab.ParentId.ToString(CultureInfo.InvariantCulture)));
                    log.LogProperties.Add(new LogDetailInfo("IconFile", tab.IconFile));
                    log.LogProperties.Add(new LogDetailInfo("IsVisible",
                                                                tab.IsVisible.ToString(CultureInfo.InvariantCulture)));
                    log.LogProperties.Add(new LogDetailInfo("SkinSrc", tab.SkinSrc));
                    log.LogProperties.Add(new LogDetailInfo("ContainerSrc", tab.ContainerSrc));
                    break;
                case "DotNetNuke.Entities.Modules.ModuleInfo":
                    var module = (ModuleInfo) businessObject;
                    log.LogProperties.Add(new LogDetailInfo("ModuleId",
                                                                module.ModuleID.ToString(CultureInfo.InvariantCulture)));
                    log.LogProperties.Add(new LogDetailInfo("ModuleTitle", module.ModuleTitle));
                    log.LogProperties.Add(new LogDetailInfo("TabModuleID",
                                                                module.TabModuleID.ToString(CultureInfo.InvariantCulture)));
                    log.LogProperties.Add(new LogDetailInfo("TabID",
                                                                module.TabID.ToString(CultureInfo.InvariantCulture)));
                    log.LogProperties.Add(new LogDetailInfo("PortalID",
                                                                module.PortalID.ToString(CultureInfo.InvariantCulture)));
                    log.LogProperties.Add(new LogDetailInfo("ModuleDefId",
                                                                module.ModuleDefID.ToString(CultureInfo.InvariantCulture)));
                    log.LogProperties.Add(new LogDetailInfo("FriendlyName", module.DesktopModule.FriendlyName));
                    log.LogProperties.Add(new LogDetailInfo("IconFile", module.IconFile));
                    log.LogProperties.Add(new LogDetailInfo("Visibility", module.Visibility.ToString()));
                    log.LogProperties.Add(new LogDetailInfo("ContainerSrc", module.ContainerSrc));
                    break;
                case "DotNetNuke.Entities.Users.UserInfo":
                    var user = (UserInfo) businessObject;
                    log.LogProperties.Add(new LogDetailInfo("UserID",
                                                                user.UserID.ToString(CultureInfo.InvariantCulture)));
                    log.LogProperties.Add(new LogDetailInfo("FirstName", user.Profile.FirstName));
                    log.LogProperties.Add(new LogDetailInfo("LastName", user.Profile.LastName));
                    log.LogProperties.Add(new LogDetailInfo("UserName", user.Username));
                    log.LogProperties.Add(new LogDetailInfo("Email", user.Email));
                    break;
                case "DotNetNuke.Security.Roles.RoleInfo":
                    var role = (RoleInfo) businessObject;
                    log.LogProperties.Add(new LogDetailInfo("RoleID",
                                                                role.RoleID.ToString(CultureInfo.InvariantCulture)));
                    log.LogProperties.Add(new LogDetailInfo("RoleName", role.RoleName));
                    log.LogProperties.Add(new LogDetailInfo("PortalID",
                                                                role.PortalID.ToString(CultureInfo.InvariantCulture)));
                    log.LogProperties.Add(new LogDetailInfo("Description", role.Description));
                    log.LogProperties.Add(new LogDetailInfo("IsPublic",
                                                                role.IsPublic.ToString(CultureInfo.InvariantCulture)));
                    break;
                case "DotNetNuke.Entities.Modules.DesktopModuleInfo":
                    var desktopModule = (DesktopModuleInfo) businessObject;
                    log.LogProperties.Add(new LogDetailInfo("DesktopModuleID",
                                                                desktopModule.DesktopModuleID.ToString(
                                                                    CultureInfo.InvariantCulture)));
                    log.LogProperties.Add(new LogDetailInfo("ModuleName", desktopModule.ModuleName));
                    log.LogProperties.Add(new LogDetailInfo("FriendlyName", desktopModule.FriendlyName));
                    log.LogProperties.Add(new LogDetailInfo("FolderName", desktopModule.FolderName));
                    log.LogProperties.Add(new LogDetailInfo("Description", desktopModule.Description));
                    break;
                case "DotNetNuke.Services.FileSystem.FolderInfo":
                    var folderInfo = (FolderInfo) businessObject;
                    log.LogProperties.Add(new LogDetailInfo("FolderID", folderInfo.FolderID.ToString(CultureInfo.InvariantCulture)));
                    log.LogProperties.Add(new LogDetailInfo("PortalID", folderInfo.PortalID.ToString(CultureInfo.InvariantCulture)));
                    log.LogProperties.Add(new LogDetailInfo("FolderName", folderInfo.FolderName));
                    log.LogProperties.Add(new LogDetailInfo("FolderPath", folderInfo.FolderPath));
                    log.LogProperties.Add(new LogDetailInfo("FolderMappingID", folderInfo.FolderMappingID.ToString(CultureInfo.InvariantCulture)));
                    break;
                default: //Serialise using XmlSerializer
                    log.LogProperties.Add(new LogDetailInfo("logdetail", XmlUtils.Serialize(businessObject)));
                    break;
            }
            LogController.Instance.AddLog(log);
        }

        #endregion

        #region ILogController Members

        public void AddLog(LogInfo logInfo)
        {
            LogController.Instance.AddLog(logInfo);
        }

        public void AddLogType(string configFile, string fallbackConfigFile)
        {
            LogController.Instance.AddLogType(configFile, fallbackConfigFile);
        }

        public void AddLogType(LogTypeInfo logType)
        {
            LogController.Instance.AddLogType(logType);
        }

        public void AddLogTypeConfigInfo(LogTypeConfigInfo logTypeConfig)
        {
            LogController.Instance.AddLogTypeConfigInfo(logTypeConfig);
        }

        public void ClearLog()
        {
            LogController.Instance.ClearLog();
        }

        public void DeleteLog(LogInfo logInfo)
        {
            LogController.Instance.DeleteLog(logInfo);
        }

        public void DeleteLogType(LogTypeInfo logType)
        {
            LogController.Instance.DeleteLogType(logType);
        }

        public void DeleteLogTypeConfigInfo(LogTypeConfigInfo logTypeConfig)
        {
            LogController.Instance.DeleteLogTypeConfigInfo(logTypeConfig);
        }

        public List<LogInfo> GetLogs(int portalID, string logType, int pageSize, int pageIndex, ref int totalRecords)
        {
            return LogController.Instance.GetLogs(portalID, logType, pageSize, pageIndex, ref totalRecords);
        }

        public ArrayList GetLogTypeConfigInfo()
        {
            return LogController.Instance.GetLogTypeConfigInfo();
        }

        public LogTypeConfigInfo GetLogTypeConfigInfoByID(string id)
        {
            return LogController.Instance.GetLogTypeConfigInfoByID(id);
        }

        public Dictionary<string, LogTypeInfo> GetLogTypeInfoDictionary()
        {
            return LogController.Instance.GetLogTypeInfoDictionary();
        }

        public object GetSingleLog(LogInfo log, LoggingProvider.ReturnType returnType)
        {
            return LogController.Instance.GetSingleLog(log, returnType);
        }

        public void PurgeLogBuffer()
        {
            LogController.Instance.PurgeLogBuffer();
        }

        public virtual void UpdateLogTypeConfigInfo(LogTypeConfigInfo logTypeConfig)
        {
            LogController.Instance.UpdateLogTypeConfigInfo(logTypeConfig);
        }

        public virtual void UpdateLogType(LogTypeInfo logType)
        {
            LogController.Instance.UpdateLogType(logType);
        }

        #endregion

        #region Helper Methods

        public static void AddSettingLog(EventLogType logTypeKey, string idFieldName, int idValue, string settingName, string settingValue, int userId)
        {
            var log = new LogInfo() { LogUserID = userId, LogTypeKey = logTypeKey.ToString() };
            log.LogProperties.Add(new LogDetailInfo(idFieldName, idValue.ToString()));
            log.LogProperties.Add(new LogDetailInfo("SettingName", settingName));
            log.LogProperties.Add(new LogDetailInfo("SettingValue", settingValue));

            LogController.Instance.AddLog(log);
        }

        #endregion

    }
}


text:
using System;
using System.Collections.Generic;
using System.Text;
using Interop.VixCOM;

namespace Vestris.VMWareLib
{
    /// <summary>
    /// A VMWare exception. Every VMWare operational failure is translated into
    /// a <see cref="Vestris.VMWareLib.VMWareException" />.
    /// </summary>
    public class VMWareException : Exception
    {
        private ulong _errorCode = 0;

        /// <summary>
        /// The original VMWare error code.
        /// </summary>
        public ulong ErrorCode
        {
            get
            {
                return _errorCode;
            }
        }

        /// <summary>
        /// Initializes a new instance of the <see cref="VMWareException"/> class.
        /// </summary>
        /// <param name="message">The message that describes the error.</param>
        public VMWareException(string message)
            : base(message)
        {
        }

        /// <summary>
        /// Initializes a new instance of the <see cref="VMWareException"/> class.
        /// </summary>
        /// <param name="message">The error message that explains the reason for the exception.</param>
        /// <param name="innerException">The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified.</param>
        public VMWareException(string message, Exception innerException)
            : base(message, innerException)
        {
        }

        /// <summary>
        /// A VMWare exception with default error text in English-US.
        /// </summary>
        /// <param name="code">VMWare VixCOM.Constants error code.</param>
        public VMWareException(ulong code)
            : this(code, new VixLib().GetErrorText(code, "en-US"))
        {
        }

        /// <summary>
        /// A VMWare exception.
        /// </summary>
        /// <param name="code">VMWare VixCOM.Constants error code.</param>
        /// <param name="message">Error description.</param>
        public VMWareException(ulong code, string message)
            : base(message)
        {
            _errorCode = code;
        }
    }
}

redpajama_set_name: RedPajamaGithub


text:
(function () {
  'use strict';

  angular
    .module('domains.staff.routes')
    .config(routeConfig);

  routeConfig.$inject = ['$stateProvider'];

  function routeConfig($stateProvider) {
    $stateProvider
      .state('staff.domains', {
        abstract: true,
        url: '/domains',
        template: '<ui-view/>'
      })
      .state('staff.domains.list', {
        url: '',
        templateUrl: '/modules/domains/client/views/staff/list-domains.client.view.html',
        controller: 'DomainsStaffListController',
        controllerAs: 'vm',
        data: {
          roles: ['staff'],
          pageTitle: 'Liste des domaines'
        }
      })
      .state('staff.domains.create', {
        url: '/create',
        templateUrl: '/modules/domains/client/views/staff/form-domain.client.view.html',
        controller: 'DomainsStaffController',
        controllerAs: 'vm',
        data: {
          roles: ['staff'],
          pageTitle: 'Créer un domaine'
        },
        resolve: {
          domainResolve: newDomain
        }
      })
      .state('staff.domains.edit', {
        url: '/:domainId/edit',
        templateUrl: '/modules/domains/client/views/staff/form-domain.client.view.html',
        controller: 'DomainsStaffController',
        controllerAs: 'vm',
        data: {
          roles: ['staff'],
          pageTitle: 'Editer un domaine'
        },
        resolve: {
          domainResolve: getDomain
        }
      });
  }

  getDomain.$inject = ['$stateParams', 'DomainsService'];

  function getDomain($stateParams, DomainsService) {
    return DomainsService.get({
      domainId: $stateParams.domainId
    }).$promise;
  }

  newDomain.$inject = ['DomainsService'];

  function newDomain(DomainsService) {
    return new DomainsService();
  }

}());


text:
/*!
 * jQuery QueryBuilder 2.5.2
 * Locale: Turkish (tr)
 * Author: Aykut Alpgiray Ateş
 * Licensed under MIT (https://opensource.org/licenses/MIT)
 */

(function(root, factory) {
    if (typeof define == 'function' && define.amd) {
        define(['jquery', 'query-builder'], factory);
    }
    else {
        factory(root.jQuery);
    }
}(this, function($) {
"use strict";

var QueryBuilder = $.fn.queryBuilder;

QueryBuilder.regional['tr'] = {
  "__locale": "Turkish (tr)",
  "__author": "Aykut Alpgiray Ateş",
  "add_rule": "Kural Ekle",
  "add_group": "Grup Ekle",
  "delete_rule": "Sil",
  "delete_group": "Sil",
  "conditions": {
    "AND": "Ve",
    "OR": "Veya"
  },
  "operators": {
    "equal": "eşit",
    "not_equal": "eşit değil",
    "in": "içinde",
    "not_in": "içinde değil",
    "less": "küçük",
    "less_or_equal": "küçük veya eşit",
    "greater": "büyük",
    "greater_or_equal": "büyük veya eşit",
    "between": "arasında",
    "not_between": "arasında değil",
    "begins_with": "ile başlayan",
    "not_begins_with": "ile başlamayan",
    "contains": "içeren",
    "not_contains": "içermeyen",
    "ends_with": "ile biten",
    "not_ends_with": "ile bitmeyen",
    "is_empty": "boş ise",
    "is_not_empty": "boş değil ise",
    "is_null": "var ise",
    "is_not_null": "yok ise"
  },
  "errors": {
    "no_filter": "Bir filtre seçili değil",
    "empty_group": "Grup bir eleman içermiyor",
    "radio_empty": "Seçim yapılmalı",
    "checkbox_empty": "Seçim yapılmalı",
    "select_empty": "Seçim yapılmalı",
    "string_empty": "Bir metin girilmeli",
    "string_exceed_min_length": "En az {0} karakter girilmeli",
    "string_exceed_max_length": "En fazla {0} karakter girilebilir",
    "string_invalid_format": "Uyumsuz format ({0})",
    "number_nan": "Sayı değil",
    "number_not_integer": "Tam sayı değil",
    "number_not_double": "Ondalıklı sayı değil",
    "number_exceed_min": "Sayı {0}'den/dan daha büyük olmalı",
    "number_exceed_max": "Sayı {0}'den/dan daha küçük olmalı",
    "number_wrong_step": "{0} veya katı olmalı",
    "number_between_invalid": "Geçersiz değerler, {0} değeri {1} değerinden büyük",
    "datetime_empty": "Tarih Seçilmemiş",
    "datetime_invalid": "Uygun olmayan tarih formatı ({0})",
    "datetime_exceed_min": "{0} Tarihinden daha sonrası olmalı.",
    "datetime_exceed_max": "{0} Tarihinden daha öncesi olmalı.",
    "datetime_between_invalid": "Geçersiz değerler, {0} değeri {1} değerinden büyük",
    "boolean_not_valid": "Değer Doğru/Yanlış(bool) olmalı",
    "operator_not_multiple": "Operatör \"{1}\" birden fazla değer kabul etmiyor"
  },
  "invert": "Ters Çevir"
};

QueryBuilder.defaults({ lang_code: 'tr' });
}));
/*!
 * FileInput Turkish Translations
 *
 * This file must be loaded after 'fileinput.js'. Patterns in braces '{}', or
 * any HTML markup tags in the messages must not be converted or translated.
 *
 * @see http://github.com/kartik-v/bootstrap-fileinput
 *
 * NOTE: this file must be saved in UTF-8 encoding.
 */
(function ($) {
    "use strict";

    $.fn.fileinputLocales['tr'] = {
        fileSingle: 'dosya',
        filePlural: 'dosyalar',
        browseLabel: 'Gözat …',
        removeLabel: 'Sil',
        removeTitle: 'Seçilen dosyaları sil',
        cancelLabel: 'İptal',
        cancelTitle: 'Devam eden yüklemeyi iptal et',
        uploadLabel: 'Yükle',
        uploadTitle: 'Seçilen dosyaları yükle',
        msgNo: 'Hayır',
        msgNoFilesSelected: '',
        msgCancelled: 'İptal edildi',
        msgPlaceholder: 'Seçilen {files}...',
        msgZoomModalHeading: 'Detaylı Önizleme',
        msgFileRequired: 'Yüklemek için bir dosya seçmelisiniz.',
        msgSizeTooSmall: '"{name}"({size} KB) dosyası çok küçük  ve {minSize} KB boyutundan büyük olmalıdır.',
        msgSizeTooLarge: '"{name}" dosyasının boyutu ({size} KB) izin verilen azami dosya boyutu olan {maxSize} KB\'tan büyük.',
        msgFilesTooLess: 'Yüklemek için en az {n} {files} dosya seçmelisiniz.',
        msgFilesTooMany: 'Yüklemek için seçtiğiniz dosya sayısı ({n}) azami limitin ({m}) altında olmalıdır.',
        msgFileNotFound: '"{name}" dosyası bulunamadı!',
        msgFileSecured: 'Güvenlik kısıtlamaları "{name}" dosyasının okunmasını engelliyor.',
        msgFileNotReadable: '"{name}" dosyası okunabilir değil.',
        msgFilePreviewAborted: '"{name}" dosyası için önizleme iptal edildi.',
        msgFilePreviewError: '"{name}" dosyası okunurken bir hata oluştu.',
        msgInvalidFileName: '"{name}" dosya adında geçersiz veya desteklenmeyen karakterler var.',
        msgInvalidFileType: '"{name}" dosyasının türü geçerli değil. Yalnızca "{types}" türünde dosyalara izin veriliyor.',
        msgInvalidFileExtension: '"{name}" dosyasının uzantısı geçersiz. Yalnızca "{extensions}" uzantılı dosyalara izin veriliyor.',
        msgFileTypes: {
            'image': 'image',
            'html': 'HTML',
            'text': 'text',
            'video': 'video',
            'audio': 'audio',
            'flash': 'flash',
            'pdf': 'PDF',
            'object': 'object'
        },
        msgUploadAborted: 'Dosya yükleme iptal edildi',
        msgUploadThreshold: 'İşlem yapılıyor...',
        msgUploadBegin: 'Başlıyor...',
        msgUploadEnd: 'Başarılı',
        msgUploadEmpty: 'Yüklemek için geçerli veri mevcut değil.',
        msgUploadError: 'Hata',
        msgValidationError: 'Doğrulama Hatası',
        msgLoading: 'Dosya yükleniyor {index} / {files} …',
        msgProgress: 'Dosya yükleniyor {index} / {files} - {name} - %{percent} tamamlandı.',
        msgSelected: '{n} {files} seçildi',
        msgFoldersNotAllowed: 'Yalnızca dosyaları sürükleyip bırakabilirsiniz! {n} dizin(ler) göz ardı edildi.',
        msgImageWidthSmall: '"{name}" adlı görüntü dosyasının genişliği en az {size} piksel olmalıdır.',
        msgImageHeightSmall: '"{name}" adlı görüntü dosyasının yüksekliği en az {size} piksel olmalıdır.',
        msgImageWidthLarge: '"{name}" adlı görüntü dosyasının genişliği {size} pikseli geçemez.',
        msgImageHeightLarge: '"{name}" adlı görüntü dosyasının yüksekliği {size} pikseli geçemez.',
        msgImageResizeError: 'Görüntü boyutlarını yeniden boyutlandıramadı.',
        msgImageResizeException: 'Görüntü boyutlandırma sırasında hata.
{errors}
',
        msgAjaxError: '{operation} işlemi ile ilgili bir şeyler ters gitti. Lütfen daha sonra tekrar deneyiniz!',
        msgAjaxProgressError: '{operation} işlemi başarısız oldu.',
        ajaxOperations: {
            deleteThumb: 'dosya silme',
            uploadThumb: 'dosya yükleme',
            uploadBatch: 'toplu dosya yükleme',
            uploadExtra: 'form verisi yükleme'
        },
        dropZoneTitle: 'Dosyaları buraya sürükleyip bırakın',
        dropZoneClickTitle: '
(ya da {files} seçmek için tıklayınız)',
        fileActionSettings: {
            removeTitle: 'Dosyayı kaldır',
            uploadTitle: 'Dosyayı yükle',
            uploadRetryTitle: 'Retry upload',
            zoomTitle: 'Ayrıntıları görüntüle',
            dragTitle: 'Taşı / Yeniden düzenle',
            indicatorNewTitle: 'Henüz yüklenmedi',
            indicatorSuccessTitle: 'Yüklendi',
            indicatorErrorTitle: 'Yükleme Hatası',
            indicatorLoadingTitle: 'Yükleniyor ...'
        },
        previewZoomButtonTitles: {
            prev: 'Önceki dosyayı göster',
            next: 'Sonraki dosyayı göster',
            toggleheader: 'Üst bilgi geçiş',
            fullscreen: 'Tam ekran geçiş',
            borderless: 'Çerçevesiz moda geçiş',
            close: 'Detaylı önizlemeyi kapat'
        }
    };
})(window.jQuery);

//! moment.js locale configuration
//! locale : Turkish [tr]
//! authors : Erhan Gundogan : https://github.com/erhangundogan,
//!           Burak Yiğit Kaya: https://github.com/BYK

;(function (global, factory) {
   typeof exports === 'object' && typeof module !== 'undefined'
       && typeof require === 'function' ? factory(require('../moment')) :
   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
   factory(global.moment)
}(this, (function (moment) { 'use strict';

    //! moment.js locale configuration

    var suffixes = {
        1: "'inci",
        5: "'inci",
        8: "'inci",
        70: "'inci",
        80: "'inci",
        2: "'nci",
        7: "'nci",
        20: "'nci",
        50: "'nci",
        3: "'üncü",
        4: "'üncü",
        100: "'üncü",
        6: "'ncı",
        9: "'uncu",
        10: "'uncu",
        30: "'uncu",
        60: "'ıncı",
        90: "'ıncı",
    };

    var tr = moment.defineLocale('tr', {
        months: 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split(
            '_'
        ),
        monthsShort: 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),
        weekdays: 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split(
            '_'
        ),
        weekdaysShort: 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'),
        weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),
        meridiem: function (hours, minutes, isLower) {
            if (hours < 12) {
                return isLower ? 'öö' : 'ÖÖ';
            } else {
                return isLower ? 'ös' : 'ÖS';
            }
        },
        meridiemParse: /öö|ÖÖ|ös|ÖS/,
        isPM: function (input) {
            return input === 'ös' || input === 'ÖS';
        },
        longDateFormat: {
            LT: 'HH:mm',
            LTS: 'HH:mm:ss',
            L: 'DD.MM.YYYY',
            LL: 'D MMMM YYYY',
            LLL: 'D MMMM YYYY HH:mm',
            LLLL: 'dddd, D MMMM YYYY HH:mm',
        },
        calendar: {
            sameDay: '[bugün saat] LT',
            nextDay: '[yarın saat] LT',
            nextWeek: '[gelecek] dddd [saat] LT',
            lastDay: '[dün] LT',
            lastWeek: '[geçen] dddd [saat] LT',
            sameElse: 'L',
        },
        relativeTime: {
            future: '%s sonra',
            past: '%s önce',
            s: 'birkaç saniye',
            ss: '%d saniye',
            m: 'bir dakika',
            mm: '%d dakika',
            h: 'bir saat',
            hh: '%d saat',
            d: 'bir gün',
            dd: '%d gün',
            M: 'bir ay',
            MM: '%d ay',
            y: 'bir yıl',
            yy: '%d yıl',
        },
        ordinal: function (number, period) {
            switch (period) {
                case 'd':
                case 'D':
                case 'Do':
                case 'DD':
                    return number;
                default:
                    if (number === 0) {
                        // special case for zero
                        return number + "'ıncı";
                    }
                    var a = number % 10,
                        b = (number % 100) - a,
                        c = number >= 100 ? 100 : null;
                    return number + (suffixes[a] || suffixes[b] || suffixes[c]);
            }
        },
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 7, // The week that contains Jan 7th is the first week of the year.
        },
    });

    return tr;

})));

/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */

!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/tr",[],function(){return{errorLoading:function(){return"Sonuç yüklenemedi"},inputTooLong:function(n){return n.input.length-n.maximum+" karakter daha girmelisiniz"},inputTooShort:function(n){return"En az "+(n.minimum-n.input.length)+" karakter daha girmelisiniz"},loadingMore:function(){return"Daha fazla…"},maximumSelected:function(n){return"Sadece "+n.maximum+" seçim yapabilirsiniz"},noResults:function(){return"Sonuç bulunamadı"},searching:function(){return"Aranıyor…"},removeAllItems:function(){return"Tüm öğeleri kaldır"}}}),n.define,n.require}();
/*!
 * Bootstrap-select v1.13.17 (https://developer.snapappointments.com/bootstrap-select)
 *
 * Copyright 2012-2020 SnapAppointments, LLC
 * Licensed under MIT (https://github.com/snapappointments/bootstrap-select/blob/master/LICENSE)
 */

(function (root, factory) {
  if (root === undefined && window !== undefined) root = window;
  if (typeof define === 'function' && define.amd) {
    // AMD. Register as an anonymous module unless amdModuleId is set
    define(["jquery"], function (a0) {
      return (factory(a0));
    });
  } else if (typeof module === 'object' && module.exports) {
    // Node. Does not work with strict CommonJS, but
    // only CommonJS-like environments that support module.exports,
    // like Node.
    module.exports = factory(require("jquery"));
  } else {
    factory(root["jQuery"]);
  }
}(this, function (jQuery) {

(function ($) {
  $.fn.selectpicker.defaults = {
    noneSelectedText: 'Hiçbiri seçilmedi',
    noneResultsText: 'Hiçbir sonuç bulunamadı {0}',
    countSelectedText: function (numSelected, numTotal) {
      return (numSelected == 1) ? '{0} öğe seçildi' : '{0} öğe seçildi';
    },
    maxOptionsText: function (numAll, numGroup) {
      return [
        (numAll == 1) ? 'Limit aşıldı (maksimum {n} sayıda öğe )' : 'Limit aşıldı (maksimum {n} sayıda öğe)',
        (numGroup == 1) ? 'Grup limiti aşıldı (maksimum {n} sayıda öğe)' : 'Grup limiti aşıldı (maksimum {n} sayıda öğe)'
      ];
    },
    selectAllText: 'Tümünü Seç',
    deselectAllText: 'Seçiniz',
    multipleSeparator: ', '
  };
})(jQuery);

}));
//# sourceMappingURL=defaults-tr_TR.js.map
/*!
 * Ajax Bootstrap Select
 *
 * Extends existing [Bootstrap Select] implementations by adding the ability to search via AJAX requests as you type. Originally for CROSCON.
 *
 * @version 1.4.5
 * @author Adam Heim - https://github.com/truckingsim
 * @link https://github.com/truckingsim/Ajax-Bootstrap-Select
 * @copyright 2019 Adam Heim
 * @license Released under the MIT license.
 *
 * Contributors:
 *   Mark Carver - https://github.com/markcarver
 *
 * Last build: 2019-04-23 12:18:55 PM EDT
 */
!(function ($) {
/*!
 * Turkish translation for the "tr-TR" and "tr" language codes.
 * Burak Çakırel <burakcakirel@gmail.com>
 */
$.fn.ajaxSelectPicker.locale['tr-TR'] = {
    /**
     * @member $.fn.ajaxSelectPicker.locale
     * @cfg {String} currentlySelected = 'Currently Selected'
     * @markdown
     * The text to use for the label of the option group when currently selected options are preserved.
     */
    currentlySelected: 'Seçili olanlar',

    /**
     * @member $.fn.ajaxSelectPicker.locale
     * @cfg {String} emptyTitle = 'Select and begin typing'
     * @markdown
     * The text to use as the title for the select element when there are no items to display.
     */
    emptyTitle: 'Seç ve yazmaya başla',

    /**
     * @member $.fn.ajaxSelectPicker.locale
     * @cfg {String} errorText = ''Unable to retrieve results'
     * @markdown
     * The text to use in the status container when a request returns with an error.
     */
    errorText: 'Sonuçlar alınamadı',

    /**
     * @member $.fn.ajaxSelectPicker.locale
     * @cfg {String} searchPlaceholder = 'Search...'
     * @markdown
     * The text to use for the search input placeholder attribute.
     */
    searchPlaceholder: 'Ara...',

    /**
     * @member $.fn.ajaxSelectPicker.locale
     * @cfg {String} statusInitialized = 'Start typing a search query'
     * @markdown
     * The text used in the status container when it is initialized.
     */
    statusInitialized: 'Arama için yazmaya başla',

    /**
     * @member $.fn.ajaxSelectPicker.locale
     * @cfg {String} statusNoResults = 'No Results'
     * @markdown
     * The text used in the status container when the request returns no results.
     */
    statusNoResults: 'Sonuç yok',

    /**
     * @member $.fn.ajaxSelectPicker.locale
     * @cfg {String} statusSearching = 'Searching...'
     * @markdown
     * The text to use in the status container when a request is being initiated.
     */
    statusSearching: 'Aranıyor...',

	/**
     * @member $.fn.ajaxSelectPicker.locale
     * @cfg {String} statusTooShort = 'Please enter more characters'
     * @markdown
     * The text used in the status container when the request returns no results.
     */
    statusTooShort: 'Lütfen daha fazla karakter girin'
};
$.fn.ajaxSelectPicker.locale.tr = $.fn.ajaxSelectPicker.locale['tr-TR'];
})(jQuery);


text:
#ifndef TGTHREAD_TOMGINE_THREAD_H
#define TGTHREAD_TOMGINE_THREAD_H

#include <opencv2/core/core.hpp>
#include <vector>
#include <list>
#include <string>
#include <semaphore.h>

#include "tgTomGine.h"

namespace TomGine {

/** @brief RGB-value of point clouds, accessable as float or long value. */
typedef union
{
  struct
  {
    unsigned char Blue; // Blue channel
    unsigned char Green; // Green channel
    unsigned char Red; // Red channel
    unsigned char Alpha; // Alpha channel
  };
  float float_value;
  long long_value;
} tgRGBValue;

class tgEventListener
{
public:
  virtual void EventFunction(TomGine::Event) {}
};

/** @brief Running TomGine rendering engine in an enclosed thread. No OpenGL commands are allowed outside of this thread. */
class tgTomGineThread
{
  enum ClearCommand
  {
    GL_CLEAR_NONE,
    GL_CLEAR_ALL,
    GL_CLEAR_MODELS_2D,
    GL_CLEAR_MODELS_3D,
    GL_CLEAR_MODEL_POINTERS,
    GL_CLEAR_POINTCLOUDS,
    GL_CLEAR_POINTS_2D,
    GL_CLEAR_POINTS_3D,
    GL_CLEAR_LINES_2D,
    GL_CLEAR_LINES_3D,
    GL_CLEAR_LABELS,
    GL_CLEAR_CAMERAS,
  };

  struct DrawFlags
  {
    bool image;
    bool cameras;
    bool pointclouds;
    bool lines;
    bool points;
    bool labels;
    bool models;
    bool normals;
    bool textured;
  };

public:
  DrawFlags df;
  ClearCommand m_clearcommand;
  int m_clearindex;

protected:

  // ------------ DATA ------------
  int m_width, m_height; // window width and height
  float m_depth_min, m_depth_max; // min and max depth for TomGine
  bool m_bfc; // enable, disable back-face-culling
  bool m_stopTomGineThread; // stop the tomeGine thread
  bool m_renderingStopped;
  bool m_eventsStopped;
  bool m_snapshot;
  bool m_record;

  bool m_loadImage;
  bool m_showCoordinateFrame; // show a coordinate frame
  bool m_camChanged;
//  bool m_tgCamChanged;
  bool m_inputSpeedChanged;
  bool m_rotCenterChanged;
  bool m_waitingForEvents;
  bool m_listenForEvents;
  bool m_waitForZBuffer;

  unsigned m_listenEventListSize;
  bool m_eventCallback;
  tgEventListener* m_eventListner;

  TomGine::tgEngine *m_engine;
  std::string m_windowname;
  std::list<Event> m_eventlist;
  std::list<Event> m_waitingeventlist;
  std::list<Event> m_listenEventList;

  cv::Mat m_img; // image
  cv::Mat m_intrinsic; // intrinsic parameters of the camera
  cv::Mat m_extR, m_extT; // extrinsic camera
  cv::Mat1f m_zBuffer;
//  TomGine::tgCamera m_tgCamera;
  TomGine::vec3 m_rotCenter; // rotation center
  TomGine::vec3 m_inputSpeeds;
  TomGine::vec3 m_clearColor;
  std::string m_snapshotFile;
  std::string m_recorderPath;
  unsigned m_recorderFrame;
  unsigned m_maxFPS;
  unsigned m_numScreenShot;
  bool m_FPS;
  float m_fTime;
  float m_normal_length;

  // Cameras
  std::vector<tgCamera> m_cameras;

  // Point2D
  std::vector<TomGine::tgColorPoint> m_points2D;
  std::vector<float> m_pointSize2D; // size of each 2D point

  // Point3D
  std::vector<TomGine::tgColorPoint> m_points3D;
  std::vector<float> m_pointSize3D; // size of each 3D point

  // Line2D
  std::vector<TomGine::tgLine> m_lines2D; // lines in 2D
  std::vector<TomGine::vec3> m_lineCols2D; // color of 2D lines
  std::vector<float> m_lineWidth2D; // probability of 2D lines

  // Line3D
  std::vector<TomGine::tgLine> m_lines3D; // lines in 3D
  std::vector<TomGine::vec3> m_lineCols3D; // color of 3D lines
  std::vector<float> m_lineWidth3D; // width of 3D lines

  // Labels
  std::vector<TomGine::tgLabel2D> m_labels2D;
  std::vector<TomGine::tgLabel3D> m_labels3D;

  std::vector<TomGine::tgTextureModel*> m_models2D;
  std::vector<TomGine::tgTextureModel*> m_models3D;
  std::vector<TomGine::tgModel*> m_modelpointers;
  std::vector<TomGine::tgModel*> m_pointclouds;

  // ------------ thread locks ------------
  pthread_t thread_gl; // tomGine thread_gl
  pthread_t thread_event; // thread for event handling (keyboard, mouse, resize, etc ...)
  pthread_mutex_t dataMutex; // mutex for data
  pthread_mutex_t eventMutex; // mutex for data
  sem_t renderSem;
  sem_t renderFinishedSem;
  sem_t clearFinishedSem;
  sem_t snapshotSem;

  //-------------- drawing --------------
  void GL_Record(TomGine::tgEngine *render);
  void GL_Snapshot(const std::string &filename);
  void GL_ZBuffer(cv::Mat1f &z, TomGine::tgEngine *render);
  void GL_Update(TomGine::tgEngine *render);
  virtual void GL_Draw(TomGine::tgEngine *render);

  virtual void GL_DrawCameras();
  virtual void GL_DrawPointCloud();
  virtual void GL_DrawPoints2D();
  virtual void GL_DrawPoints3D();
  virtual void GL_DrawLines2D();
  virtual void GL_DrawLines3D();
  virtual void GL_DrawLabels(TomGine::tgEngine *render);
  virtual void GL_DrawModels2D();
  virtual void GL_DrawModels3D(bool textured = true);

  //  void GL_SyncNurbsData();
  //  void GL_DrawNurbs();

  void GL_Clear();

  //-------------- threads --------------
  friend void* ThreadDrawing(void* c);
  friend void* ThreadEventHandling(void* c);

  //-------------- input --------------
  bool KeyHandler(Event &event);

  void init();

public:
  /** @brief Initialize class and start threads. */
  tgTomGineThread(int w, int h, std::string windowname = std::string("TomGine"), bool bfc = false,
      float depth_min = 0.01, float depth_max = 10.0);
  /** @brief Wait for all threads to finish, then destroy. */
  virtual ~tgTomGineThread();

  void PrintUsage();

  /** @brief Blocks and waits for a specific event type.
   *  @param type Event type to wait for (e.g. TMGL_Release, TMGL_Press, TMGL_Motion) */
  TomGine::Event WaitForEvent(Type type);
  /** @brief Blocks and waits for a specific event.
   *  @param type Event type to wait for (e.g. TMGL_Release, TMGL_Press, TMGL_Motion)
   *  @param input Event input to wait for (e.g. TMGL_Button1, TMGL_a, TMGL_Escape) */
  TomGine::Event WaitForEvent(Type type, Input input);
  /** @brief Starts listening for events that can be queried using GetEventQueue(...)
   *  @param max_events maximum number of events queued while listening */
  void StartEventListener(unsigned max_events);
  void RegisterEventListener(tgEventListener* listener);
  /** @brief Stops listening for events */
  void StopEventListener();
  /** @brief Get current event queue recorded by event listener */
  void GetEventQueue(std::list<Event> &events, bool waiting=false);

  bool SelectModels(int x, int y, std::vector<int> &ids);
  bool SelectModels(int x, int y, const std::vector<int> &ids, int &id, double &z_min);
  bool SelectModel(int x, int y, int &id);

  /** @brief Returns the current camera */
  TomGine::tgCamera GetCamera();

  /** @brief Set the Background color. */
  void SetClearColor(float r, float g, float b);
  /** @brief Set the Background gray level. */
  void SetClearColor(float gray);
  /** @brief Set the intrinsic parameter of the TomGine virtual camera.
   * @see cv::calibrateCamera */
  void SetCamera(cv::Mat &_intrinsic);
  /** @brief Set extrinsic parameter of TomGine virtual camera (pose). */
  void SetCamera(cv::Mat &R, cv::Mat &t);
  /** @brief Set camera (OpenGL coordinates). */
  void SetCamera(const TomGine::tgCamera &cam);
  /** @brief Set default camera. */
  void SetCameraDefault();

  void LookAt(const vec3 &p);
  /** @brief Set point to rotate the camera about using the mouse. */
  void SetRotationCenter(const cv::Vec3d &_rotCenter);
  /** @brief Set point to rotate the camera about using the mouse. */
  void SetRotationCenter(float x, float y, float z);
  /** @brief Set point to rotate the camera about using the mouse. */
  void SetRotationCenter(const TomGine::vec3 &cor);
  /** @brief Enable/Disable drawing of coordinate frame. */
  void SetCoordinateFrame();
  /** @brief Set a background image. */
  void SetImage(unsigned char* data, unsigned width, unsigned height);
  void SetImage(const cv::Mat &_img, bool show = true, bool background = true);
  /** @brief Get the background image */
  bool GetImage(cv::Mat &_img);
  /** @brief Set speed of camera movement using the mouse (default 1.0,1.0,1.0). */
  void SetInputSpeeds(float rotation = 1.0f, float translation = 1.0f, float zoom = 1.0f);
  void GetInputSpeeds(float &rotation, float &translation, float &zoom);
  /** @brief Set the length of normals */
  void SetNormalLength (float n);
  /** @brief Set the frame rate of the render engine
   *  @param max_fps The maximum frame rate. If set to 0 the render engine will only update on changes and on
   *  the function call Update() */
  void SetFrameRate(unsigned max_fps);

  /** @brief    Add a camera to the scene
   *  @param    cam the camera to add   */
  int AddCamera(const tgCamera& cam);
  /** @brief	Add a point in 2D to the scene.
   *  @param	x,y		position of the point.
   *  @param	r,g,b	color of the point.
   *  @param	size	size of the point in pixel. */
  int AddPoint2D(float x, float y, uchar r = 255, uchar g = 0, uchar b = 0, float size = 1.0f);
  /** @brief	Add a point in 3D to the scene.
   *  @param	x,y,z	position of the point.
   *  @param	r,g,b	color of the point.
   *  @param	size	size of the point in pixel. */
  int AddPoint3D(float x, float y, float z, uchar r = 255, uchar g = 0, uchar b = 0,
      float size = 1.0f);
  /** @brief  Add a line in 2D to the scene.
   *  @param  x1,y1  Start point of the line.
   *  @param  x2,y2  End point of the line.
   *  @param  r,g,b   Color of the line.
   *  @param  width   Width of the line in pixel.  */
  int AddLine2D(float x1, float y1, float x2, float y2, uchar r = 255, uchar g = 0, uchar b = 0,
      float width = 1.0f);
  /** @brief	Add a line in 3D to the scene.
   *  @param	x1,y1,z1	Start point of the line.
   *  @param 	x2,y2,z2	End point of the line.
   *  @param	r,g,b		Color of the line.
   *  @param	width		Width of the line in pixel.	 */
  int AddLine3D(float x1, float y1, float z1, float x2, float y2, float z2, uchar r = 255,
      uchar g = 0, uchar b = 0, float width = 1.0f);
  /** @brief	Add a line in 3D to the scene.
   *  @param	x1,y1,z1	Start point of the line.
   *  @param 	x2,y2,z2	End point of the line.
   *  @param	r,g,b		Color of the line.
   *  @param	width		Width of the line in pixel.	 */
  int AddLine3D(const TomGine::tgLine& line, uchar r = 255, uchar g = 0, uchar b = 0, float width = 1.0f);
  /** @brief Add a label in 2D to the scene.
   *  @param text Character string of the label
   *  @param size The font size in points
   *  @param x,y The 2d position in pixels
   *  @param r,g,b The color of the label*/
  int AddLabel2D(std::string text, int size, int x, int y, float r = 1.0f, float g = 1.0f,
      float b = 1.0f);
  /** @brief Add a label in 3D to the scene.
   *  @param text Character string of the label
   *  @param size The font size in points
   *  @param pos The 3d position
   *  @param r,g,b The color of the label*/
  int AddLabel3D(std::string text, int size, vec3 pos, float r = 1.0f, float g = 1.0f,
      float b = 1.0f);
  /** @brief Add a label in 3D to the scene.
   *  @param text Character string of the label
   *  @param size The font size in points
   *  @param x,y,z The 3d position*/
  int AddLabel3D(std::string text, int size, double x, double y, double z);
  /** @brief Adds a copy of the model to the scene and calls the tgModel::Draw() function for rendering
   *  @param model The model to be added */
  int AddModel2D(const TomGine::tgTextureModel &model);
  /** @brief Adds a copy of the model to the scene and calls the tgModel::Draw() function for rendering
   *  @param model The model to be added */
  int AddModel(const TomGine::tgTextureModel &model);
  int AddModel3D(const TomGine::tgTextureModel &model);
  /** @brief	Adds a tgModel as pointer to the scene and calls the tgModel::Draw() function when rendered.
   *  @brief	Attention: Creation and destruction of model is in control of the user.
   *  Destruction of the model at a point where the OpenGL rendering thread (ThreadDrawing) is
   *  still running leads to segmentation faults. \n
   *  This function is meant to provide the user with an interface to use OpenGL commands
   *  within an derived class of tgModel, overwriting the virtual void tgModel::Draw().
   *  @param model	The pointer to a tgModel.
   *  @return	Unique id of the model added.*/
  int AddModel(TomGine::tgModel *model);
  /** @brief Adds a point cloud to the scene.
   *  @param cloud Vector of points in TomGine vector format.
   *  @return Unique id of the point cloud added. */
  int AddPointCloud(const std::vector<TomGine::vec3> &cloud, TomGine::vec3 color=TomGine::vec3(1,1,1), float pointsize=1.0);
  /** @brief Adds a colored point cloud to the scene.
   *  @param cloud Cloud of points in OpenCV vector format. 4th entry is float-encoded RGBA color.
   *  @return Unique id of the point cloud added. */
  int AddPointCloud(const cv::Mat_<cv::Vec4f> &cloud, float pointsize=1.0);
  /** @brief Adds a colored point cloud to the scene.
   *  @param cloud Vector of points in OpenCV vector format. 4th entry is float-encoded RGBA color.
   *  @return Unique id of the point cloud added. */
  int AddPointCloud(const std::vector<cv::Vec4f> &cloud, float pointsize=1.0);
  /** @brief Adds a point cloud to the scene.
   *  @param cloud Vector of points in OpenCV vector format.
   *  @return Unique id of the point cloud added. */
  int AddPointCloud(const cv::Mat_<cv::Vec3f> &cloud, uchar r, uchar g, uchar b, float pointsize);
  /** @brief Adds a point cloud to the scene.
   *  @param cloud Vector of points in OpenCV vector format.
   *  @param image colour values of the cloud
   *  @return Unique id of the point cloud added. */
  int AddPointCloud(const cv::Mat_<cv::Vec3f> &cloud, const cv::Mat_<cv::Vec3b> &image, float pointsize);
  /** @brief  Set a point in 2D to the scene.
   *  @param  x,y   position of the point. */
  void SetPoint2D(int id, float x, float y);
  /** @brief  Set a point in 3D to the scene.
   *  @param  x,y,z   position of the point. */
  void SetPoint3D(int id, float x, float y, float z);
  /** @brief  Set a line in 2D to the scene.
   *  @param  x1,y1  Start point of the line.
   *  @param  x2,y2  End point of the line.
   *  @param  r,g,b   Color of the line.
   *  @param  width   Width of the line in pixel.  */
  void SetLine2D(int id, float x1, float y1, float x2, float y2, uchar r = 255, uchar g = 0, uchar b = 0,
      float width = 1.0f);
  /** @brief	Set a line in 3D to the scene.
   *  @param	x1,y1,z1	Start point of the line.
   *  @param 	x2,y2,z2	End point of the line.
   *  @param	r,g,b		Color of the line.
   *  @param	width		Width of the line in pixel.	 */
  void SetLine3D(int id, float x1, float y1, float z1, float x2, float y2, float z2, uchar r = 255,
      uchar g = 0, uchar b = 0, float width = 1.0f);
  /** @brief	Set a line in 3D to the scene.
   *  @param	x1,y1,z1	Start point of the line.
   *  @param 	x2,y2,z2	End point of the line.
   *  @param	r,g,b		Color of the line.
   *  @param	width		Width of the line in pixel.	 */
  void SetLine3D(int id, const TomGine::tgLine& line, uchar r = 255, uchar g = 0, uchar b = 0, float width = 1.0f);
  /** @brief Sets a label in 2D to the scene.
   *  @param text Character string of the label
   *  @param size The font size in points
   *  @param x,y The 2d position in pixels
   *  @param r,g,b The color of the label*/
  void SetLabel2D(int id, std::string text, int size, int x, int y, float r = 1.0f, float g = 1.0f,
      float b = 1.0f);
  /** @brief Adds a copy of the model to the scene and calls the tgModel::Draw() function for rendering
   *  @param id The id of the model returned by AddModel().
   *  @param model The model to be added */
  void SetModel2D(int id, const TomGine::tgTextureModel &model);
  void SetModel3D(int id, const TomGine::tgTextureModel &model);
  void SetModelPose(int id, const TomGine::tgPose &pose);
  void SetModelColor(int id, uchar r, uchar g, uchar b);
  /** @brief  Sets the model pointer added with AddModel() to the model pointer specified.
   *  @param	id The id of the model returned by AddModel().
   *  @param  model The new model pointer. */
  void SetModel(int id, TomGine::tgModel *model);
  /** @brief	Sets the point cloud added with AddNurbsSurface().
   *  @param	id		The id of the point cloud.
   *  @param	pcl		The new point cloud.	 */
  void SetPointCloud(int id, const TomGine::tgModel &pcl);
  /** @brief	Sets the point cloud added with AddNurbsSurface().
   *  @param	id		The id of the point cloud.
   *  @param	pcl		The new point cloud.	 */
  void SetPointCloud(int id, cv::Mat_<cv::Vec4f> cloud);

  void RemoveAllModel3DFrom(int id);

  /** @brief	Trigger rendering thread to update data and draw it to screen. */
  void Update();
  /** @brief	Indicates if threads have stopped (finished). */
  bool Stopped();
  /** @brief	Takes a snapshot and saves it to file. */
  void Snapshot(const char* filename);
  /** @brief  Starts recording image sequences.
   *  @param  path  Path to folder where the images are stored
   *  @param  fps   Frame rate of recording */
  void StartRecording(std::string path, unsigned fps);
  /** @brief  Stops recording image sequences. */
  void StopRecording();

  void GetDepthBuffer(cv::Mat1f &z, TomGine::tgCamera &cam);

  /** @brief	Clear content of the scene. */
  virtual void Clear();
  /** @brief    Clear pointclouds of the scene. */
  virtual void ClearPointClouds();
  /** @brief    Clear cameras of the scene. */
  virtual void ClearCameras();
  /** @brief  Clear the points in the scene added with AddPoint2D(). (not point-clouds). */
  virtual void ClearPoints2D();
  /** @brief  Clear the points in the scene added with AddPoint3D(). (not point-clouds). */
  virtual void ClearPoints3D();
  /** @brief	Clear labels2D and labels3D in the scene. */
  virtual void ClearLabels();
  /** @brief  Clear the lines in the scene. */
  virtual void ClearLines2D();
  /** @brief	Clear the lines in the scene. */
  virtual void ClearLines3D();
  /** @brief Clear the models in the scene */
  virtual void ClearModels();
  virtual void ClearModels2D();
  virtual void ClearModels3D();
  virtual void ClearModels3DFrom(int id);
  virtual void ClearModelPointers();

  void DragDropModels(float speed);

};

}

#endif


text:
package de.tudarmstadt.ukp.clarin.webanno.ui.core.page;

import java.util.MissingResourceException;

import org.apache.wicket.markup.html.link.ExternalLink;
import org.apache.wicket.markup.html.link.PopupSettings;
import org.apache.wicket.markup.html.list.ListItem;
import org.apache.wicket.markup.html.list.ListView;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.Model;
import org.apache.wicket.model.ResourceModel;
import org.apache.wicket.request.Url;
import org.apache.wicket.request.resource.UrlResourceReference;

import de.tudarmstadt.ukp.clarin.webanno.support.ImageLinkDecl;
import de.tudarmstadt.ukp.clarin.webanno.support.SettingsUtil;
import de.tudarmstadt.ukp.clarin.webanno.support.wicket.ImageLink;
import de.tudarmstadt.ukp.clarin.webanno.ui.core.logout.LogoutPanel;

public class MenuBar
    extends Panel
{
    private static final long serialVersionUID = -8018701379688272826L;

    private ExternalLink helpLink;
    private ListView<ImageLinkDecl> links;

    public MenuBar(String aId)
    {
        super(aId);

        add(new LogoutPanel("logoutPanel"));

        add(helpLink = new ExternalLink("helpLink", new ResourceModel("page.help.link", ""))
        {
            private static final long serialVersionUID = -2510064191732926764L;

            @Override
            protected void onConfigure()
            {
                super.onConfigure();

                try {
                    // Trying to access the resources - if we can, then we show the link, but if
                    // we fail, then we hide the link
                    getString("page.help.link");
                    getString("page.help");
                    helpLink.setVisible(true);
                }
                catch (MissingResourceException e) {
                    helpLink.setVisible(false);
                }
            }
        });
        helpLink.setContextRelative(true);
        helpLink.setPopupSettings(new PopupSettings("_blank"));

        links = new ListView<ImageLinkDecl>("links", SettingsUtil.getLinks())
        {
            private static final long serialVersionUID = 1768830545639450786L;

            @Override
            protected void populateItem(ListItem<ImageLinkDecl> aItem)
            {
                aItem.add(new ImageLink("link",
                        new UrlResourceReference(Url.parse(aItem.getModelObject().getImageUrl())),
                        Model.of(aItem.getModelObject().getLinkUrl())));
            }
        };
        add(links);
    }
}


text:
..
    Copyright 2020 The HuggingFace Team. All rights reserved.

    Licensed 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.

BertGeneration
-----------------------------------------------------------------------------------------------------------------------

Overview
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The BertGeneration model is a BERT model that can be leveraged for sequence-to-sequence tasks using
:class:`~transformers.EncoderDecoderModel` as proposed in `Leveraging Pre-trained Checkpoints for Sequence Generation
Tasks <https://arxiv.org/abs/1907.12461>`__ by Sascha Rothe, Shashi Narayan, Aliaksei Severyn.

The abstract from the paper is the following:

*Unsupervised pretraining of large neural models has recently revolutionized Natural Language Processing. By
warm-starting from the publicly released checkpoints, NLP practitioners have pushed the state-of-the-art on multiple
benchmarks while saving significant amounts of compute time. So far the focus has been mainly on the Natural Language
Understanding tasks. In this paper, we demonstrate the efficacy of pre-trained checkpoints for Sequence Generation. We
developed a Transformer-based sequence-to-sequence model that is compatible with publicly available pre-trained BERT,
GPT-2 and RoBERTa checkpoints and conducted an extensive empirical study on the utility of initializing our model, both
encoder and decoder, with these checkpoints. Our models result in new state-of-the-art results on Machine Translation,
Text Summarization, Sentence Splitting, and Sentence Fusion.*

Usage:

- The model can be used in combination with the :class:`~transformers.EncoderDecoderModel` to leverage two pretrained
  BERT checkpoints for subsequent fine-tuning.

.. code-block::

    >>> # leverage checkpoints for Bert2Bert model...
    >>> # use BERT's cls token as BOS token and sep token as EOS token
    >>> encoder = BertGenerationEncoder.from_pretrained("bert-large-uncased", bos_token_id=101, eos_token_id=102)
    >>> # add cross attention layers and use BERT's cls token as BOS token and sep token as EOS token
    >>> decoder = BertGenerationDecoder.from_pretrained("bert-large-uncased", add_cross_attention=True, is_decoder=True, bos_token_id=101, eos_token_id=102)
    >>> bert2bert = EncoderDecoderModel(encoder=encoder, decoder=decoder)

    >>> # create tokenizer...
    >>> tokenizer = BertTokenizer.from_pretrained("bert-large-uncased")

    >>> input_ids = tokenizer('This is a long article to summarize', add_special_tokens=False, return_tensors="pt").input_ids
    >>> labels = tokenizer('This is a short summary', return_tensors="pt").input_ids

    >>> # train...
    >>> loss = bert2bert(input_ids=input_ids, decoder_input_ids=labels, labels=labels).loss
    >>> loss.backward()

- Pretrained :class:`~transformers.EncoderDecoderModel` are also directly available in the model hub, e.g.,

.. code-block::

    >>> # instantiate sentence fusion model
    >>> sentence_fuser = EncoderDecoderModel.from_pretrained("google/roberta2roberta_L-24_discofuse")
    >>> tokenizer = AutoTokenizer.from_pretrained("google/roberta2roberta_L-24_discofuse")

    >>> input_ids = tokenizer('This is the first sentence. This is the second sentence.', add_special_tokens=False, return_tensors="pt").input_ids

    >>> outputs = sentence_fuser.generate(input_ids)

    >>> print(tokenizer.decode(outputs[0]))

Tips:

- :class:`~transformers.BertGenerationEncoder` and :class:`~transformers.BertGenerationDecoder` should be used in
  combination with :class:`~transformers.EncoderDecoder`.
- For summarization, sentence splitting, sentence fusion and translation, no special tokens are required for the input.
  Therefore, no EOS token should be added to the end of the input.

This model was contributed by `patrickvonplaten <https://huggingface.co/patrickvonplaten>`__. The original code can be
found `here <https://tfhub.dev/s?module-type=text-generation&subtype=module,placeholder>`__.

BertGenerationConfig
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. autoclass:: transformers.BertGenerationConfig
    :members:

BertGenerationTokenizer
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. autoclass:: transformers.BertGenerationTokenizer
    :members: save_vocabulary

BertGenerationEncoder
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. autoclass:: transformers.BertGenerationEncoder
    :members: forward

BertGenerationDecoder
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. autoclass:: transformers.BertGenerationDecoder
    :members: forward


text:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
                                   "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
 <class name="com.yjx.smarthome.moudel.User">
  <id name="userId" type="java.lang.Integer">
   <column name="userid" length="11" not-null="true"/>
   <generator class="native"/>
  </id>
  <set name="userId" inverse="true">
  	<key>
  		<column name="userid" length="11" not-null="true"/>
  	</key>
	<one-to-many class="com.yjx.smarthome.moudel.Device"></one-to-many>
  </set>
  <property name="userAccount" type="java.lang.String">
	<column name="account" length="20" />
  </property>
   <property name="userPass" type="java.lang.String">
	<column name="userpass" length="20" />
  </property>
  <property name="userSex" type="java.lang.String">
	<column name="sex" length="3" />
  </property>
  <property name="userPhone" type="java.lang.String">
	<column name="phone" length="11" />
  </property>
  <property name="userIcon" type="java.lang.String">
	<column name="icon" length="100" />
  </property>
 </class>
</hibernate-mapping>


text:
<!DOCTYPE html>

    XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX
    XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX
    XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX
    XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX

Requires Ahem font. The content flows into a region (300px wide) what contains a shape-inside rectangle (200px wide) with 50px left offset.

The content should fill the shape-inside area out. There should be an equally 50-50px left and right offset for the content in the content box. The borders shouldn't have any effect on the shape-inside's rectangle.

Bug 115456: [CSS Regions][CSS Exclusions] Shape-inside on regions should respect region borders and paddings


text:
/*
* Well pizometric levels
*/
var db = require('./index').db;


text:
@interface PodsDummy_Pods_ASCFlatUIColor : NSObject
@end
@implementation PodsDummy_Pods_ASCFlatUIColor
@end


text:
nagios_service_name = if platform_family?('debian') &&
                         node['nagios']['server']['install_method'] == 'source'
                        node['nagios']['server']['name']
                      else
                        node['nagios']['server']['service_name']
                      end

# install nagios service either from source of package
include_recipe "nagios::server_#{node['nagios']['server']['install_method']}"

# use the users_helper.rb library to build arrays of users and contacts
nagios_users = NagiosUsers.new(node)

if nagios_users.users.empty?
  Chef::Log.fatal('Could not find users in the ' \
    "\"#{node['nagios']['users_databag']}\"" \
    "databag with the \"#{node['nagios']['users_databag_group']}\"" \
    ' group. Users must be defined to allow for logins to the UI. ' \
    'Make sure the databag exists and, if you have set the ' \
    '"users_databag_group", that users in that group exist.')
end

if node['nagios']['server_auth_method'] == 'htauth'
  # setup htpasswd auth
  directory node['nagios']['conf_dir']

  template "#{node['nagios']['conf_dir']}/htpasswd.users" do
    cookbook node['nagios']['htauth']['template_cookbook']
    source node['nagios']['htauth']['template_file']
    owner node['nagios']['user']
    group node['nagios']['web_group']
    mode '0640'
    variables(nagios_users: nagios_users.users)
  end
end

# Setting all general options
unless node['nagios'].nil?
  unless node['nagios']['server'].nil?
    Nagios.instance.normalize_hostname =
      node['nagios']['server']['normalize_hostname']
  end
end

Nagios.instance.host_name_attribute = node['nagios']['host_name_attribute']

# loading default configuration data
if node['nagios']['server']['load_default_config']
  include_recipe 'nagios::_load_default_config'
end

# loading all databag configurations
if node['nagios']['server']['load_databag_config']
  include_recipe 'nagios::_load_databag_config'
end

directory "#{node['nagios']['conf_dir']}/dist" do
  owner node['nagios']['user']
  group node['nagios']['group']
  mode '0755'
end

# Don't run on RHEL since the state directory is the same as the log directory and causes idempotency issues
directory node['nagios']['state_dir'] do
  owner node['nagios']['user']
  group node['nagios']['group']
  mode '0751'
end unless platform_family?('rhel')

directory "#{node['nagios']['state_dir']}/rw" do
  owner node['nagios']['user']
  group node['nagios']['web_group']
  mode '2710'
end

cfg_files =
  "#{node['nagios']['config_dir']}/*_#{node['nagios']['server']['name']}*.cfg"
execute 'archive-default-nagios-object-definitions' do
  command "mv #{cfg_files} #{node['nagios']['conf_dir']}/dist"
  not_if { Dir.glob(cfg_files).empty? }
end

directory "#{node['nagios']['conf_dir']}/certificates" do
  owner node['nagios']['web_user']
  group node['nagios']['web_group']
  mode '0700'
end

ssl_code = "umask 077
openssl genrsa 2048 > nagios-server.key
openssl req -subj #{node['nagios']['ssl_req']} -new -x509 -nodes -sha1 \
  -days 3650 -key nagios-server.key > nagios-server.crt
cat nagios-server.key nagios-server.crt > nagios-server.pem"

bash 'Create SSL Certificates' do
  cwd "#{node['nagios']['conf_dir']}/certificates"
  code ssl_code
  not_if { ::File.exist?(node['nagios']['ssl_cert_file']) }
end

nagios_conf node['nagios']['server']['name'] do
  config_subdir false
  cookbook node['nagios']['nagios_config']['template_cookbook']
  source node['nagios']['nagios_config']['template_file']
  variables(nagios_config: node['nagios']['conf'])
end

nagios_conf 'cgi' do
  config_subdir false
  cookbook node['nagios']['cgi']['template_cookbook']
  source node['nagios']['cgi']['template_file']
  variables(nagios_service_name: nagios_service_name)
end

# resource.cfg differs on RPM and tarball based systems
if platform_family?('rhel')
  template "#{node['nagios']['resource_dir']}/resource.cfg" do
    cookbook node['nagios']['resources']['template_cookbook']
    source node['nagios']['resources']['template_file']
    owner node['nagios']['user']
    group node['nagios']['group']
    mode '0600'
  end

  directory node['nagios']['resource_dir'] do
    owner 'root'
    group node['nagios']['group']
    mode '0755'
  end
end

nagios_conf 'timeperiods'
nagios_conf 'contacts'
nagios_conf 'commands'
nagios_conf 'hosts'
nagios_conf 'hostgroups'
nagios_conf 'templates'
nagios_conf 'services'
nagios_conf 'servicegroups'
nagios_conf 'servicedependencies'

service 'nagios' do
  service_name nagios_service_name
  # don't start as it will cause issues on initial runs on Ubuntu platforms
  action :enable
end

# Remove distribution included config files that aren't managed via this cookbook
zap_directory nagios_distro_config_dir do
  pattern '*.cfg'
end


text:
<?xml version="1.0" encoding="UTF-8"?>
<!--
       Copyright 2010-2013 the original author or authors.

       Licensed 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.
-->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="org.mybatis.jpetstore.persistence.ItemMapper">

  <cache/>

  <select id="getItemListByProduct" resultType="Item">
    SELECT
    I.ITEMID,
    LISTPRICE,
    UNITCOST,
    SUPPLIER AS supplierId,
    I.PRODUCTID AS "product.productId",
    NAME AS "product.name",
    DESCN AS "product.description",
    CATEGORY AS "product.categoryId",
    STATUS,
    ATTR1 AS attribute1,
    ATTR2 AS attribute2,
    ATTR3 AS attribute3,
    ATTR4 AS attribute4,
    ATTR5 AS attribute5
    FROM ITEM I, PRODUCT P
    WHERE P.PRODUCTID = I.PRODUCTID
    AND I.PRODUCTID = #{value}
  </select>

  <select id="getItem" resultType="Item">
    select
    I.ITEMID,
    LISTPRICE,
    UNITCOST,
    SUPPLIER AS supplierId,
    I.PRODUCTID AS "product.productId",
    NAME AS "product.name",
    DESCN AS "product.description",
    CATEGORY AS "product.categoryId",
    STATUS,
    ATTR1 AS attribute1,
    ATTR2 AS attribute2,
    ATTR3 AS attribute3,
    ATTR4 AS attribute4,
    ATTR5 AS attribute5,
    QTY AS quantity
    from ITEM I, INVENTORY V, PRODUCT P
    where P.PRODUCTID = I.PRODUCTID
    and I.ITEMID = V.ITEMID
    and I.ITEMID = #{value}
  </select>

  <select id="getInventoryQuantity" resultType="int">
    SELECT QTY AS value
    FROM INVENTORY
    WHERE ITEMID = #{itemId}
  </select>

  <update id="updateInventoryQuantity">
    UPDATE INVENTORY SET
    QTY = QTY - #{increment}
    WHERE ITEMID = #{itemId}
  </update>

</mapper>


text:
import html from './lib/html'

const process = function ({page, buildPath, scripts}) {
  if (!page) return

  scripts.push(html(page, buildPath))

  return true
}

export default function (manifest, {buildPath}) {
  if (!manifest.chrome_url_overrides) { return }

  const {bookmarks, history, newtab} = manifest.chrome_url_overrides

  const scripts = []

  // Bookmarks page
  process({page: bookmarks, buildPath, scripts})

  // History page
  process({page: history, buildPath, scripts})

  // New tab page
  process({page: newtab, buildPath, scripts})

  return {scripts}
}


text:
using System;

namespace Thinktecture.Wscf.Framework.Metadata
{
	/// <summary>
	/// Exception thrown when errors are encountered during the metadata resolution process.
	/// </summary>
	[Serializable]
	public class MetadataDiscoveryException : Exception
	{
		/// <summary>
		/// Initializes a new instance of the <see cref="MetadataDiscoveryException"/> class.
		/// </summary>
		public MetadataDiscoveryException()
		{
		}

		/// <summary>
		/// Initializes a new instance of the <see cref="MetadataDiscoveryException"/> class.
		/// </summary>
		/// <param name="message">The message.</param>
		public MetadataDiscoveryException(string message) : base(message)
		{
		}

		/// <summary>
		/// Initializes a new instance of the <see cref="MetadataDiscoveryException"/> class.
		/// </summary>
		/// <param name="message">The message.</param>
		/// <param name="innerException">The inner exception.</param>
		public MetadataDiscoveryException(string message, Exception innerException) : base(message, innerException)
		{
		}
	}
}


text:
Rails.application.routes.draw do
  mount BoaVistaStubs::Engine => "/boa_vista_stubs"
end


text:
@implementation DetailViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    NSError *error = nil;

    NTExtraContentParameter *param = [[NTExtraContentParameter alloc] initWithNostraId:_identifyResult.nostraId];
    NTExtraContentResult *result = [NTExtraContentService execute:param error:&error];

    if (!error) {
        if (result.travel != nil && result.travel.count > 0) {
            NTExtraContentTravel *travel = result.travel.firstObject;

            _lblName.text = travel.name;
            _lblInfo.text = travel.attraction1_L;
            _lblDetail.text = travel.history_L;

            if (travel.picture1 != nil && ![travel.picture1 isEqualToString:@""]) {
                NSURL *url = [NSURL URLWithString:travel.picture1];
                NSData *data = [NSData dataWithContentsOfURL:url];
                UIImage *image = [UIImage imageWithData:data];
                _imageView.image = image;
            }
        }
        else if (result.food != nil && result.food.count > 0) {
            NTExtraContentFood *food = result.food.firstObject;

            _lblName.text = food.name;
            _lblInfo.text = food.foodType1_L;
            _lblDetail.text = food.entertainmentService_L;

            if (food.picture1 != nil && ![food.picture1 isEqualToString:@""]) {
                NSURL *url = [NSURL URLWithString:food.picture1];
                NSData *data = [NSData dataWithContentsOfURL:url];
                UIImage *image = [UIImage imageWithData:data];
                _imageView.image = image;
            }
        }
        else {
            UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"Extra content is not found."
                                                                                message:nil
                                                                              preferredStyle:UIAlertControllerStyleAlert];

            [alertController addAction:[UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
                [self.navigationController popViewControllerAnimated:true];
            }]];

            [self presentViewController:alertController animated:true completion:nil];
        }
    }
    else {
        UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"Extra content is not found."
                                                                                message:nil
                                                                          preferredStyle:UIAlertControllerStyleAlert];

        [alertController addAction:[UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
            [self.navigationController popViewControllerAnimated:true];
        }]];

        [self presentViewController:alertController animated:true completion:nil];
    }

}

@end


text:
import immutable from 'immutable';
import User      from './user';

const Color = {
	RED:    '#eb584a',
	BLUE:   '#4f819a',
	VIOLET: '#724a7f',
	YELLOW: '#dcc75b'
}

const Position = immutable.Record({
	x: 0, y: 0, z: 0
});

const Ticket = immutable.Record({
	id:       '',
	ua:       Date.now(),
	color:    Color.VIOLET,
	content:  '',
	heading:  '',
	createdBy: new User(),
	lastEditedBy: new User(),
	position: new Position(),
});

Ticket.Width    = 192;
Ticket.Height   = 108;
Ticket.Color    = Color;
Ticket.Position = Position;

/**
 * Simple factoryish function to make sure we get properly formatted Ticket
 * records.
 */
Ticket.fromJS = function fromJS(ticket) {
	let hascolor = Object.keys(Ticket.Color)
		.map((color) => Ticket.Color[color] === ticket.color)
		.reduce((has, color) => has || color, false);

	ticket.color    = hascolor ? ticket.color : Ticket.Color.VIOLET;
	ticket.position = new Position(ticket.position);

	if(ticket.createdBy instanceof String) {
		delete ticket.createdBy;
	}

	if(ticket.createdBy) {
		ticket.createdBy = new User(ticket.createdBy);
	}

	if(ticket.lastEditedBy instanceof String) {
		delete ticket.lastEditedBy;
	}

	if(ticket.lastEditedBy) ticket.lastEditedBy = new User(ticket.lastEditedBy);
	return new Ticket(ticket);
}

export default Ticket;


text:
package com.amazonaws.services.mediaconvert.model;

import javax.annotation.Generated;

/**
 * Use Noise reducer filter (NoiseReducerFilter) to select one of the following spatial image filtering functions. To
 * use this setting, you must also enable Noise reducer (NoiseReducer). * Bilateral preserves edges while reducing
 * noise. * Mean (softest), Gaussian, Lanczos, and Sharpen (sharpest) do convolution filtering. * Conserve does min/max
 * noise reduction. * Spatial does frequency-domain filtering based on JND principles. * Temporal optimizes video
 * quality for complex motion.
 */
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public enum NoiseReducerFilter {

    BILATERAL("BILATERAL"),
    MEAN("MEAN"),
    GAUSSIAN("GAUSSIAN"),
    LANCZOS("LANCZOS"),
    SHARPEN("SHARPEN"),
    CONSERVE("CONSERVE"),
    SPATIAL("SPATIAL"),
    TEMPORAL("TEMPORAL");

    private String value;

    private NoiseReducerFilter(String value) {
        this.value = value;
    }

    @Override
    public String toString() {
        return this.value;
    }

    /**
     * Use this in place of valueOf.
     *
     * @param value
     *        real value
     * @return NoiseReducerFilter corresponding to the value
     *
     * @throws IllegalArgumentException
     *         If the specified value does not map to one of the known values in this enum.
     */
    public static NoiseReducerFilter fromValue(String value) {
        if (value == null || "".equals(value)) {
            throw new IllegalArgumentException("Value cannot be null or empty!");
        }

        for (NoiseReducerFilter enumEntry : NoiseReducerFilter.values()) {
            if (enumEntry.toString().equals(value)) {
                return enumEntry;
            }
        }

        throw new IllegalArgumentException("Cannot create enum from " + value + " value!");
    }
}


text:
unless Symbol.method_defined? :<=>
  class Symbol
    def <=>(with)
      return nil unless with.is_a? Symbol
      to_s <=> with.to_s
    end
  end
end


text:
layout: page
title: Forest Enterprises Seminar
date: 2016-05-24
author: Catherine Woods
tags: weekly links, java
status: published
summary: Fusce maximus sodales lectus, et.
banner: images/banner/meeting-01.jpg
booking:
  startDate: 02/03/2017
  endDate: 02/04/2017
  ctyhocn: SPHFLHX
  groupCode: FES
published: true
---
Vivamus vitae sodales elit, id dapibus mi. Quisque fringilla placerat felis, in auctor sem. Proin non laoreet leo. Donec sollicitudin, lacus vitae posuere interdum, lectus lacus semper ante, eget faucibus ligula erat a enim. Fusce et aliquet libero, non accumsan lorem. Vivamus odio nibh, scelerisque at erat ac, commodo euismod nunc. Sed condimentum neque turpis, eu dictum quam malesuada at. Nullam ex lectus, commodo et laoreet eget, semper eu risus. Nullam non facilisis nibh, id placerat metus. Sed sit amet tellus vulputate velit scelerisque gravida. Phasellus dignissim eu odio rhoncus ornare. Sed sodales lacus eu sem vestibulum consectetur. Curabitur massa leo, pharetra eu mauris sit amet, hendrerit dignissim libero.

* Aenean ut nisi volutpat, pulvinar dui maximus, tincidunt est
* Donec non lectus egestas metus cursus egestas
* Vestibulum hendrerit velit eget hendrerit consectetur.

Aliquam finibus urna dolor, ac sollicitudin augue blandit vel. Pellentesque eu dignissim lectus. Donec mollis ante sit amet dui porta elementum. Sed pulvinar, urna vitae malesuada fringilla, risus velit pharetra nisi, eu finibus mi ex a nunc. Mauris velit magna, elementum in massa ut, viverra fringilla felis. Proin ligula enim, ornare a porttitor nec, tempus non nisi. Nunc magna massa, tempus ac tellus at, sodales laoreet est. Aenean vestibulum vitae ipsum sit amet aliquet. Duis congue, ante ut convallis scelerisque, odio est varius risus, a ultricies metus velit id libero. Morbi suscipit nulla vel eros accumsan porta. Etiam et justo id felis semper ornare non ac turpis. Duis vitae sem sem. Phasellus mollis viverra sem, eget maximus metus faucibus eget. Ut in dolor convallis, rhoncus ante ut, sagittis felis.


text:
#ifndef __ARCH_TYPES_H
#define __ARCH_TYPES_H

#include <assert.h>
#include <stdint.h>

compile_assert(long_is_32bits, sizeof(unsigned long) == 4)

typedef unsigned long word_t;
typedef word_t vptr_t;
typedef word_t paddr_t;
typedef word_t pptr_t;

typedef word_t dev_id_t;
typedef word_t cpu_id_t;
typedef word_t node_id_t;

#endif


text:
namespace EzTextingApiClient.Api.Contacts.Model
{
    public enum QueryProperty
    {
        FirstName,
        LastName,
        PhoneNumber
    }
}


text:
'use strict';

module.exports = function ($scope, application, ApplicationDetails, Abbreviator, MetricsHelper) {
    $scope.counters = [];
    $scope.countersMax = 0;
    $scope.gauges = [];
    $scope.gaugesMax = 0;
    $scope.showRichGauges = false;

    ApplicationDetails.getMetrics(application)
        .success(function (metrics) {
            function merge(array, obj) {
                for (var i = 0; i < array.length; i++) {
                    if (array[i].name === obj.name) {
                        for (var a in obj) {
                            array[i][a] = obj[a];
                        }
                        return;
                    }
                }
                array.push(obj);
            }

            MetricsHelper.find(metrics, [/counter\..+/, /(gauge\..+)\.val/,
                /(gauge\..+)\.avg/, /(gauge\..+)\.min/, /(gauge\..+)\.max/,
                /(gauge\..+)\.count/, /(gauge\..+)\.alpha/, /(gauge\..+)/
            ], [function (metric, match, value) {
                $scope.counters.push({name: metric, value: value});
                if (value > $scope.countersMax) {
                    $scope.countersMax = value;
                }
            },
                function (metric, match, value) {
                    merge($scope.gauges, {name: match[1], value: value});
                    $scope.showRichGauges = true;
                    if (value > $scope.gaugesMax) {
                        $scope.gaugesMax = value;
                    }
                },
                function (metric, match, value) {
                    merge($scope.gauges, {name: match[1], avg: value.toFixed(2)});
                },
                function (metric, match, value) {
                    merge($scope.gauges, {name: match[1], min: value});
                },
                function (metric, match, value) {
                    merge($scope.gauges, {name: match[1], max: value});
                    if (value > $scope.gaugesMax) {
                        $scope.gaugesMax = value;
                    }
                },
                function (metric, match, value) {
                    merge($scope.gauges, {name: match[1], count: value});
                },
                function () { /*NOP*/
                },
                function (metric, match, value) {
                    merge($scope.gauges, {name: match[1], value: value});
                    if (value > $scope.gaugesMax) {
                        $scope.gaugesMax = value;
                    }
                }
            ]);

        })
        .error(function (error) {
            $scope.error = error;
        });
};


text:
using Microsoft.Extensions.DependencyInjection;
using Newtonsoft.Json;
using SolrExpress;
using SolrExpress.DI.CoreClr;
using SolrExpress.Search.Extension;
using SolrExpress.Search.Result.Extension;
using SolrExpress.Solr5.Extension;
using System;

namespace SimpleUse.MultiContext
{
    public class Program
    {
        public static void Main(string[] args)
        {
            var services = new ServiceCollection()
                .AddSolrExpress<TechProduct1>(builder => builder
                    .UseHostAddress("http://localhost:8983/solr/techproducts")
                    .UseSolr5());
            services
                .AddSolrExpress<TechProduct2>(builder => builder
                    .UseHostAddress("http://localhost:8983/solr/techproducts")
                    .UseSolr5());

            var serviceProvider = services.BuildServiceProvider();

            var techProducts1 = serviceProvider.GetRequiredService<DocumentCollection<TechProduct1>>();
            techProducts1
                .Select()
                .Page(1, 1)
                .Execute()
                .Information(out var information1)
                .Document(out var documents1);

            Console.WriteLine("Informations");
            Console.WriteLine(JsonConvert.SerializeObject(information1, Formatting.Indented));
            Console.WriteLine(new string('-', 50));

            Console.WriteLine("Documents");
            Console.WriteLine(JsonConvert.SerializeObject(documents1, Formatting.Indented));
            Console.WriteLine(new string('-', 50));

            var techProducts2 = serviceProvider.GetRequiredService<DocumentCollection<TechProduct2>>();
            techProducts2
                .Select()
                .Page(1, 1)
                .Execute()
                .Information(out var information2)
                .Document(out var documents2);

            Console.WriteLine("Informations");
            Console.WriteLine(JsonConvert.SerializeObject(information2, Formatting.Indented));
            Console.WriteLine(new string('-', 50));

            Console.WriteLine("Documents");
            Console.WriteLine(JsonConvert.SerializeObject(documents2, Formatting.Indented));
            Console.WriteLine(new string('-', 50));

            Console.Read();
        }
    }
}


text:
package org.mortbay.cometd;

//========================================================================
//Copyright 2007 Mort Bay Consulting Pty. Ltd.
//------------------------------------------------------------------------
//Licensed 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.
//========================================================================

import java.io.IOException;
import javax.servlet.http.HttpServletResponse;

import org.cometd.Message;

public abstract class AbstractTransport implements Transport
{
    private HttpServletResponse _response;
    private Message _pollReply;

    public void setResponse(HttpServletResponse response) throws IOException
    {
        _response=response;
    }

    public HttpServletResponse getResponse()
    {
        return _response;
    }

    public Message getMetaConnectReply()
    {
        return _pollReply;
    }

    public void setMetaConnectReply(Message reply)
    {
        _pollReply=reply;
    }
}


text:
#ifndef MITKNavigationDataCSVSequentialPlayer_H_HEADER_INCLUDED_
#define MITKNavigationDataCSVSequentialPlayer_H_HEADER_INCLUDED_

#include <mitkNavigationDataPlayerBase.h>
#include "tinyxml.h"

namespace mitk
{

  /**Documentation
  * \brief This class is a NavigationDataPlayer which can play CSV formatted
  * files in sequential order, which means it doesn't care about timestamps and just
  * outputs the navigationdatas in their sequential order.
  *
  * It is thought to interpret custom csv files. To do so please adapt the column
  * numbers of position and orientation in the internal method GetNavigationDataOutOfOneLine().
  *
  * So far only one (the first) tool is read in as required for the hummel protocol measurements.
  *
  * This class can also interpret MITK style csv files (set filetype to NavigationDataCSV), but
  * you can also use the MITK navigation data player class inside the MITK-IGT module which
  * is newer and better maintained.
  *
  * \ingroup IGT
  */
  class NavigationDataCSVSequentialPlayer
    : public NavigationDataPlayerBase
  {
  public:

    mitkClassMacro(NavigationDataCSVSequentialPlayer, NavigationDataPlayerBase);
    itkNewMacro(Self);

    /**
    * \brief sets the file name and path (if XMLString is set, this is neglected)
    */
    void SetFileName(const std::string& _FileName);

    /**
     * @brief SetOptions    sets the options for reading out the data out of the correct postions of the file. They need to be set before using the player
     * @param rightHanded   true if the used coordinate System is right handed, false if it is left handed
     * @param seperatorSign symbol that is used to separate the values in the .csv file
     * @param sampleCount   every n-th sample in the file that should be used
     * @param headerRow     true if the .csv file has a header row otherwise false
     * @param xPos          number of the colum in the .csv file for the x-coordinates of the position
     * @param yPos          number of the colum in the .csv file for the y-coordinates of the position
     * @param zPos          number of the colum in the .csv file for the z-coordinates of the position
     * @param useQuats      true if Quaternions are used to construct the orientation, false if Euler Angles are used
     * @param qx            number of the column in the .csv file for the x component of the quaternion
     * @param qy            number of the column in the .csv file for the y component of the quaternion
     * @param qz            number of the column in the .csv file for the z component of the quaternion
     * @param qr            number of the column in the .csv file for the r component of the quaternion
     * @param azimuth       number of the colum in the .csv file for Azimuth (Euler Angles). Set < 0 if angle is not defined
     * @param elevatino     number of the colum in the .csv file for Elevation (Euler Angles) Set < 0 if angle is not defined
     * @param roll          number of the colum in the .csv file for Roll (Euler Angles) Set < 0 if angle is not defined
     * @param eulerInRadiants   true if the Euler Angles in the .csv file are in radiants, false if they are in degrees
     * @param minNumberOfColumns
     */
    void SetOptions(bool rightHanded, char seperatorSign, int sampleCount, bool headerRow, int xPos, int yPos, int zPos, bool useQuats,
                    int qx, int qy, int qz, int qr, int azimuth, int elevatino, int roll, bool eulerInRadiants, int minNumberOfColums);

    /**
    * \brief returns the file name and path
    */
    itkGetStringMacro(FileName);

    enum Filetype
    {
      NavigationDataCSV, //for csv files from the MITK navigation data player
      ManualLoggingCSV //for custum csv files
    };
    /**
    * \brief Sets the file type. ManualLoggingCSV is default and is thought for your
    *        custom csv files. You can also set it to NavigationDataCSV, then this
    *        player interprets MITK style csv files.
    */
    itkSetMacro(Filetype, Filetype);

    /**
    * \return Returns true if the player reached the end of the file.
    */
    bool IsAtEnd();

    /**
    * \brief Used for pipeline update just to tell the pipeline
    * that we always have to update
    */
    void UpdateOutputInformation() override;

    int GetNumberOfSnapshots();

  protected:
    NavigationDataCSVSequentialPlayer();
    ~NavigationDataCSVSequentialPlayer() override;

    ///
    /// do the work here
    ///
    void GenerateData() override;

    std::string m_FileName;

    int m_CurrentPos;
    Filetype m_Filetype;

    //member for the navigation datas which were read (only one output is supported at the moment)
    std::vector<mitk::NavigationData::Pointer> m_NavigationDatas;

    std::vector<mitk::NavigationData::Pointer> GetNavigationDatasFromFile(std::string filename);
    std::vector<std::string> GetFileContentLineByLine(std::string filename);
    mitk::NavigationData::Pointer GetNavigationDataOutOfOneLine(std::string line);

    void FillOutputEmpty(int number);
    mitk::NavigationData::Pointer GetEmptyNavigationData();

    bool m_RightHanded; //true if the used coordinate System is right handed, false if it is left handed
    char m_SeparatorSign; //symbol that is used to separate the values in the .csv file
    int m_SampleCount; //every n-th sample in the file that should be used
    bool m_HeaderRow; //true if the .csv file has a header row otherwise false
    int m_XPos; //number of the colum in the .csv file for the x-coordinates of the position
    int m_YPos; //number of the colum in the .csv file for the y-coordinates of the position
    int m_ZPos; //number of the colum in the .csv file for the z-coordinates of the position
    bool m_UseQuats; //true if Quaternions are used to construct the orientation, false if Euler Angles are used
    int m_Qx; //number of the column in the .csv file for the x component of the quaternion
    int m_Qy; //number of the column in the .csv file for the y component of the quaternion
    int m_Qz; //number of the column in the .csv file for the z component of the quaternion
    int m_Qr; //number of the column in the .csv file for the r component of the quaternion
    int m_Azimuth; //number of the colum in the .csv file for Azimuth (Euler Angles)
    int m_Elevation; //number of the colum in the .csv file for Elevation (Euler Angles)
    int m_Roll; //number of the colum in the .csv file for Roll (Euler Angles)
    bool m_EulersInRadiants; // true if the Euler Angles in the .csv file are in radiants, false if they are in degrees
    int m_MinNumberOfColumns; //minimal number of columns the file has to have (e.g. if you read data from column 8 the file has to have at least 8 columns)
  };
} // namespace mitk

#endif /* MITKNavigationDataCSVSequentialPlayer_H_HEADER_INCLUDED_ */


text:
class GURL;

namespace net {

typedef base::Callback<
    void(base::FilePath::StringType* file_name, char replace_char)>
    ReplaceIllegalCharactersCallback;

void SanitizeGeneratedFileName(base::FilePath::StringType* filename,
                               bool replace_trailing);

bool IsShellIntegratedExtension(const base::FilePath::StringType& extension);

void EnsureSafeExtension(const std::string& mime_type,
                         bool ignore_extension,
                         base::FilePath* file_name);

bool FilePathToString16(const base::FilePath& path, base::string16* converted);

// Similar to GetSuggestedFilename(), but takes callback to replace illegal
// characters.
base::string16 GetSuggestedFilenameImpl(
    const GURL& url,
    const std::string& content_disposition,
    const std::string& referrer_charset,
    const std::string& suggested_name,
    const std::string& mime_type,
    const std::string& default_name,
    ReplaceIllegalCharactersCallback replace_illegal_characters_callback);

// Similar to GenerateFileName(), but takes callback to replace illegal
// characters.
base::FilePath GenerateFileNameImpl(
    const GURL& url,
    const std::string& content_disposition,
    const std::string& referrer_charset,
    const std::string& suggested_name,
    const std::string& mime_type,
    const std::string& default_name,
    ReplaceIllegalCharactersCallback replace_illegal_characters_callback);

}  // namespace net

#endif  // NET_BASE_FILENAME_UTIL_INTERNAL_H_