<commit_before>var meupontoServices = angular.module('meupontoServices', []);

meupontoServices.service('RowManager', ['configuration', 'utils', RowManager]);

meupontoServices.factory('configuration', [
    function() {
        var configuration = {
            updateCheckInterval: {
                key: 'updateCheckInterval',
                defaultValue: 14400000 // 4 hours
            },
            dateTimeFormats: {
                time: 'HH:mm',
                date: 'DD/MM/YYYY',
                inputDates: ['DD/MM/YY', 'DD/MM/YYYY'],
                inputTimes: ['HH:mm', 'HH-mm', 'HH mm']
            },
            officialTimes: {
                entry1: '09:00',
                exit1: '12:00',
                entry2: '13:00',
                exit2: '18:00',
                journeyDuration: 28800000
            },
            tolerances: {
                entry: 300000,
                total: 600000
            }
        };
        return configuration;
    }
]);

meupontoServices.factory('utils', ['$rootScope', '$location', 'configuration',
    function($rootScope, $location, configuration) {
        var utils = {

            hasDay: function(year, month, day) {
                if ($rootScope.years !== null && $rootScope.years[year] !== undefined && $rootScope.years[year][month] !== undefined && $rootScope.years[year][month][day] !== undefined) {
                    return true;
                }
                return false;<commit_msg>Close #2 (time input format)<commit_after>var meupontoServices = angular.module('meupontoServices', []);

meupontoServices.service('RowManager', ['configuration', 'utils', RowManager]);

meupontoServices.factory('configuration', [
    function() {
        var configuration = {
            updateCheckInterval: {
                key: 'updateCheckInterval',
                defaultValue: 14400000 // 4 hours
            },
            dateTimeFormats: {
                time: 'HH:mm',
                date: 'DD/MM/YYYY',
                inputDates: ['DD/MM/YY', 'DD/MM/YYYY'],
                inputTimes: ['HH', 'HH:mm', 'HH-mm', 'HH mm']
            },
            officialTimes: {
                entry1: '09:00',
                exit1: '12:00',
                entry2: '13:00',
                exit2: '18:00',
                journeyDuration: 28800000
            },
            tolerances: {
                entry: 300000,
                total: 600000
            }
        };
        return configuration;
    }
]);

meupontoServices.factory('utils', ['$rootScope', '$location', 'configuration',
    function($rootScope, $location, configuration) {
        var utils = {

            hasDay: function(year, month, day) {
                if ($rootScope.years !== null && $rootScope.years[year] !== undefined && $rootScope.years[year][month] !== undefined && $rootScope.years[year][month][day] !== undefined) {
                    return true;
                }
                return false;
{'fraction_non_alphanumeric': 0.14020896528479945, 'fraction_numerical': 0.033367037411526794, 'mean_word_length': 1.6642728904847397, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6908884', 'n_tokens_mistral': 881, 'n_tokens_neox': 776, 'n_words': 154}