diff --git a/AgroBase/.vs/AgroBase/FileContentIndex/1d7dca68-04b9-4a56-9835-521d9d1308f9.vsidx b/AgroBase/.vs/AgroBase/FileContentIndex/1d7dca68-04b9-4a56-9835-521d9d1308f9.vsidx new file mode 100644 index 000000000..6011b7e77 Binary files /dev/null and b/AgroBase/.vs/AgroBase/FileContentIndex/1d7dca68-04b9-4a56-9835-521d9d1308f9.vsidx differ diff --git a/AgroBase/.vs/AgroBase/FileContentIndex/4868ff0b-692d-44a6-a121-f676abeaf37a.vsidx b/AgroBase/.vs/AgroBase/FileContentIndex/4868ff0b-692d-44a6-a121-f676abeaf37a.vsidx deleted file mode 100644 index 7bc20ae01..000000000 Binary files a/AgroBase/.vs/AgroBase/FileContentIndex/4868ff0b-692d-44a6-a121-f676abeaf37a.vsidx and /dev/null differ diff --git a/AgroBase/.vs/AgroBase/FileContentIndex/b3a286d8-831f-409f-b268-df18beca6d23.vsidx b/AgroBase/.vs/AgroBase/FileContentIndex/b3a286d8-831f-409f-b268-df18beca6d23.vsidx new file mode 100644 index 000000000..74a988d13 Binary files /dev/null and b/AgroBase/.vs/AgroBase/FileContentIndex/b3a286d8-831f-409f-b268-df18beca6d23.vsidx differ diff --git a/AgroBase/.vs/AgroBase/FileContentIndex/e73544f6-f99d-4a8b-a579-be6bee889f53.vsidx b/AgroBase/.vs/AgroBase/FileContentIndex/e73544f6-f99d-4a8b-a579-be6bee889f53.vsidx deleted file mode 100644 index ca17c9361..000000000 Binary files a/AgroBase/.vs/AgroBase/FileContentIndex/e73544f6-f99d-4a8b-a579-be6bee889f53.vsidx and /dev/null differ diff --git a/AgroBase/.vs/AgroBase/FileContentIndex/128d3744-122a-419b-8b3f-4d9b5b5939e7.vsidx b/AgroBase/.vs/AgroBase/FileContentIndex/e95350f9-b5bb-4cf7-b1ff-b03c374277bf.vsidx similarity index 62% rename from AgroBase/.vs/AgroBase/FileContentIndex/128d3744-122a-419b-8b3f-4d9b5b5939e7.vsidx rename to AgroBase/.vs/AgroBase/FileContentIndex/e95350f9-b5bb-4cf7-b1ff-b03c374277bf.vsidx index 45c51dc72..ea86f932c 100644 Binary files a/AgroBase/.vs/AgroBase/FileContentIndex/128d3744-122a-419b-8b3f-4d9b5b5939e7.vsidx and b/AgroBase/.vs/AgroBase/FileContentIndex/e95350f9-b5bb-4cf7-b1ff-b03c374277bf.vsidx differ diff --git a/AgroBase/.vs/AgroBase/v17/.suo b/AgroBase/.vs/AgroBase/v17/.suo index 8216c5b87..51af88618 100644 Binary files a/AgroBase/.vs/AgroBase/v17/.suo and b/AgroBase/.vs/AgroBase/v17/.suo differ diff --git a/AgroBase/AgroBase/AgroBase.csproj b/AgroBase/AgroBase/AgroBase.csproj index fe545bb9b..6a9fa0eba 100644 --- a/AgroBase/AgroBase/AgroBase.csproj +++ b/AgroBase/AgroBase/AgroBase.csproj @@ -136,6 +136,9 @@ False .\Microsoft.DirectX.DirectInput.dll + + ..\packages\Microsoft.Extensions.Logging.Abstractions.6.0.0\lib\net461\Microsoft.Extensions.Logging.Abstractions.dll + ..\packages\Microsoft.Web.WebView2.1.0.3240.44\lib\net462\Microsoft.Web.WebView2.Core.dll @@ -168,12 +171,18 @@ ..\packages\OpenTK.GLControl.1.1.2225.0\lib\net20\OpenTK.GLControl.dll + + ..\packages\Pipelines.Sockets.Unofficial.2.2.8\lib\net472\Pipelines.Sockets.Unofficial.dll + ..\packages\SharpDX.4.2.0\lib\net45\SharpDX.dll ..\packages\SharpDX.DirectInput.4.2.0\lib\net45\SharpDX.DirectInput.dll + + ..\packages\StackExchange.Redis.2.8.41\lib\net472\StackExchange.Redis.dll + ..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll @@ -196,6 +205,9 @@ True True + + ..\packages\System.IO.Pipelines.5.0.1\lib\net461\System.IO.Pipelines.dll + ..\packages\System.Memory.4.5.5\lib\net461\System.Memory.dll @@ -223,6 +235,9 @@ ..\packages\System.Text.Json.8.0.1\lib\net462\System.Text.Json.dll + + ..\packages\System.Threading.Channels.5.0.0\lib\net461\System.Threading.Channels.dll + ..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll @@ -571,6 +586,7 @@ + @@ -997,8 +1013,10 @@ + + \ No newline at end of file diff --git a/AgroBase/AgroBase/App.config b/AgroBase/AgroBase/App.config index 851fa970a..7348257b4 100644 --- a/AgroBase/AgroBase/App.config +++ b/AgroBase/AgroBase/App.config @@ -21,6 +21,14 @@ + + + + + + + + diff --git a/AgroBase/AgroBase/Forms/frmInstancial.cs b/AgroBase/AgroBase/Forms/frmInstancial.cs index 7ac0bed87..4a827bd97 100644 --- a/AgroBase/AgroBase/Forms/frmInstancial.cs +++ b/AgroBase/AgroBase/Forms/frmInstancial.cs @@ -35,6 +35,8 @@ namespace AgroBase.Forms PythonService.EncerrarProcessos(); + RedisService.Iniciar(); + Task.Run(async () => { await VariaveisOperacao.Operadores.IniciarProcessamento(false); diff --git a/AgroBase/AgroBase/Models/Operacoes/OperacaoModel.cs b/AgroBase/AgroBase/Models/Operacoes/OperacaoModel.cs index 5730837ac..f7c70c3a8 100644 --- a/AgroBase/AgroBase/Models/Operacoes/OperacaoModel.cs +++ b/AgroBase/AgroBase/Models/Operacoes/OperacaoModel.cs @@ -1606,8 +1606,34 @@ namespace AgroBase.Models public OperacaoControleModel Controle { get; set; } public VisualWorkerModel OperadorVisual { get; set; } + private void AtualizarDadosOperacaoRedis() + { + var operacao = RedisService.Get(CtxKey.DadosOperacao); + var parametros = JsonConvert.DeserializeObject>(operacao); + bool configurado = Convert.ToBoolean(parametros["configurado"]); + long tempoAguardando = (long)(parametros["tempo_aguardando"]); + int op_status = Convert.ToInt32(parametros["status"]); + StatusOperacao statusOperacao = (StatusOperacao)op_status; + bool liberado = Convert.ToBoolean(parametros["liberado"]); + List status_modulos = JsonConvert.DeserializeObject(parametros["status_modulos"].ToString()).ToList(); + + Variaveis.OperacaoEmAndamento.TempoAguardando = DateTimeOffset.FromUnixTimeSeconds(tempoAguardando).UtcDateTime.AddSeconds(tempoAguardando % 1).ToLocalTime(); + + Variaveis.OperacaoEmAndamento.StatusAtual = statusOperacao; + Variaveis.OperacaoEmAndamento.OperacaoLiberada = liberado; + + VariaveisOperacao.Operadores.ModulosSaude = new List(status_modulos); + + var mandatorios = Variaveis.OperacaoEmAndamento.ModulosMandatorios.Select(x => x.Dispositivo).ToList(); + var mods_com_falha = status_modulos.Where(x => mandatorios.Contains(x.modulo) && x.status == Enums.StatusModulo.Falha); + var motivos_por_modulo = mods_com_falha.Select(x => $"{x.modulo}: {string.Join("; ", x.motivos)}"); + Variaveis.OperacaoEmAndamento.ErroOperacaoLiberada = string.Join(Environment.NewLine + Environment.NewLine, motivos_por_modulo); + } + public void AtualizarDados() { + AtualizarDadosOperacaoRedis(); + var _Trajetoria = Variaveis.OperacaoEmAndamento.Trajetoria; var _DispMvd = Variaveis.OperacaoEmAndamento.DispMvd; var _DispAtu = Variaveis.OperacaoEmAndamento.DispAtu; @@ -1736,6 +1762,7 @@ namespace AgroBase.Models Variaveis.OperacaoEmAndamento.Sensoriamento = dadosAtualizados; Variaveis.OperacaoEmAndamento.DispSen?.Dados?.ContadorCarga?.AtualizarConsumo(); VariaveisOperacao.Operadores.HealthWorker?.EnviarDadosContexto(); + VariaveisOperacao.Operadores.HealthWorker?.EnviarDadosModulos(); } public OperacaoSensoriamentoLogModel Clone(bool comSonar = false) diff --git a/AgroBase/AgroBase/Models/Operadores/HealthWorkerModel.cs b/AgroBase/AgroBase/Models/Operadores/HealthWorkerModel.cs index ed95bd23f..f00d70b43 100644 --- a/AgroBase/AgroBase/Models/Operadores/HealthWorkerModel.cs +++ b/AgroBase/AgroBase/Models/Operadores/HealthWorkerModel.cs @@ -85,6 +85,11 @@ namespace AgroBase.Models.Operadores public string modelo { get; set; } } - + public enum HealthWorkerCommandType + { + SetDadosModulo = 1, + SetDadosContexto = 2, + SetDadosOperacao = 3, + } } diff --git a/AgroBase/AgroBase/Models/Operadores/ManagerWorkerModel.cs b/AgroBase/AgroBase/Models/Operadores/ManagerWorkerModel.cs index 703641c7d..7c398b79a 100644 --- a/AgroBase/AgroBase/Models/Operadores/ManagerWorkerModel.cs +++ b/AgroBase/AgroBase/Models/Operadores/ManagerWorkerModel.cs @@ -80,4 +80,10 @@ namespace AgroBase.Models.Operadores public string descricao { get; set; } } + public enum ManagerWorkerCommandType + { + IniciarMPC = 1, + EnviarDadosControle = 2, + } + } diff --git a/AgroBase/AgroBase/Models/Operadores/VisualWorkerModel.cs b/AgroBase/AgroBase/Models/Operadores/VisualWorkerModel.cs index cf27e985f..0c5146bf4 100644 --- a/AgroBase/AgroBase/Models/Operadores/VisualWorkerModel.cs +++ b/AgroBase/AgroBase/Models/Operadores/VisualWorkerModel.cs @@ -535,7 +535,10 @@ namespace AgroBase.Models.Operadores public enum VisualWorkerCommandType { - SalvarFrames = 0 + SalvarFrames = 1, + IniciarCameraManager = 2, + AtualizarSaudeCamera = 3, + GetCameraFrame = 4, } } diff --git a/AgroBase/AgroBase/Services/Operadores/HealthWorkerService.cs b/AgroBase/AgroBase/Services/Operadores/HealthWorkerService.cs index 6c743574f..858190a44 100644 --- a/AgroBase/AgroBase/Services/Operadores/HealthWorkerService.cs +++ b/AgroBase/AgroBase/Services/Operadores/HealthWorkerService.cs @@ -39,6 +39,8 @@ namespace AgroBase.Services.Operadores topicoRx = await Variaveis.MqttService.AdicionarNovoTopico(TopicoMQTT_Rx, true, 2, MqttCallback); topicoTx = await Variaveis.MqttService.AdicionarNovoTopico(TopicoMQTT_Tx); + RedisService.Subscribe(CmdKey.HealthWorkerTx, RedisCallback); + mapaRespostas = new Dictionary> { { TipoComando.GetListaCameras, () => DadosLeitura.Leitura.obj?.cameras?.newData ?? false }, @@ -138,6 +140,11 @@ namespace AgroBase.Services.Operadores return true; } + private void RedisCallback(string mensagem) + { + + } + private void AtualizarDadosLeitura(WorkerMessageModel msg) { if (DadosLeitura.Leitura.obj == null) @@ -174,149 +181,43 @@ namespace AgroBase.Services.Operadores public void EnviarDadosContexto() { - if (Variaveis.OperacaoEmAndamento.DispMvd == null) return; - - double limiteValorPadrao = -9999; - var a = Variaveis.OperacaoEmAndamento.Trajetoria; var _Sensoriamento = Variaveis.OperacaoEmAndamento.Sensoriamento; + if (_Sensoriamento.Trajetoria == null) return; var dados = new { - comando = (int)TipoComando.SetDadosContexto, - dispositivo = (int)T_Code.Mod, - payload = new + Trajetoria = new { - Operacao = new + status = (int)_Sensoriamento.Trajetoria.StatusCarro, + manobrando = _Sensoriamento.Trajetoria.ManobrandoEntreRuas, + erro_angular = _Sensoriamento.Trajetoria.ErroOrientacaoAngularCombinado, + idx_proximo_ponto = _Sensoriamento.Trajetoria.ProximoPonto.idxPonto, + CorredorAtual = new { - debug_mode = Variaveis.DebugMode, - iniciado = Variaveis.OperacaoEmAndamento.Iniciado, - finalizando = Variaveis.OperacaoEmAndamento.Finalizando, - emergencia = Variaveis.OperacaoEmAndamento.Emergencia, + concluido = _Sensoriamento.Trajetoria.CorredorAtual.Concluido, + dentro = _Sensoriamento.Trajetoria.CorredorAtual.Dentro, + ultimo = _Sensoriamento.Trajetoria.CorredorAtual.Ultimo, + largura = _Sensoriamento.Trajetoria.CorredorAtual.Largura, + progresso = _Sensoriamento.Trajetoria.CorredorAtual.Progresso, + dist_esq = _Sensoriamento.Trajetoria.DistanciaEsquerda, + dist_dir = _Sensoriamento.Trajetoria.DistanciaDireita, + angulo = _Sensoriamento.Trajetoria.AnguloCaminho, }, - Trajetoria = new - { - status = (int)_Sensoriamento.Trajetoria.StatusCarro, - manobrando = _Sensoriamento.Trajetoria.ManobrandoEntreRuas, - erro_angular = _Sensoriamento.Trajetoria.ErroOrientacaoAngularCombinado, - idx_proximo_ponto = _Sensoriamento.Trajetoria.ProximoPonto.idxPonto, - CorredorAtual = new - { - concluido = _Sensoriamento.Trajetoria.CorredorAtual.Concluido, - dentro = _Sensoriamento.Trajetoria.CorredorAtual.Dentro, - ultimo = _Sensoriamento.Trajetoria.CorredorAtual.Ultimo, - largura = _Sensoriamento.Trajetoria.CorredorAtual.Largura, - progresso = _Sensoriamento.Trajetoria.CorredorAtual.Progresso, - dist_esq = _Sensoriamento.Trajetoria.DistanciaEsquerda, - dist_dir = _Sensoriamento.Trajetoria.DistanciaDireita, - angulo = _Sensoriamento.Trajetoria.AnguloCaminho, - }, - }, - Gerais = new - { - velocidade_ms = _Sensoriamento.Movimentacao.VelocidadeMedia, - ervas_no_radar = _Sensoriamento.Atuador.ErvasNoRadar, - }, - Gps = new - { - conectado = GPSService.Iniciado, - freq_base = GPSService.TaxaAmostragemHz, - lat = _Sensoriamento.Gps.Latitude, - lon = _Sensoriamento.Gps.Longitude, - theta = _Sensoriamento.Gps.AnguloCarroDefinido, - fix = (int)_Sensoriamento.Gps.QualidadeFix, - rtk = GPSService.UltimoEnvioCorrecaoRTK.AddSeconds(5) > DateTime.Now, - hAcc = _Sensoriamento.Gps.PrecisaoCm, - nSatelites = _Sensoriamento.Gps.NumeroSatelites.valor, - freq = _Sensoriamento.Gps.NumeroSatelites.frequencia, - }, - Dir = Variaveis.OperacaoEmAndamento.DispMvd.Dados.Modulos.Select(x => new - { - conectado = x.DirMotor.Inicializado, - freq_base = Variaveis.OperacaoEmAndamento.DispMvd.Dados.tmrRegistradorDIR.IntervalHz, - endereco = x.DirMotor._EnderecoCAN_Tx, - mod_id = x.Modulo_ID, - angulo = x.DirMotor.Angulo, - angulo_sp = x.DirMotor.Angulo_SP, - comandar = x.DirMotor.Comandar, - in1_atuado = x.DirMotor.IN1_Atuado, - sentido = x.DirMotor.Sentido, - sentido_sp = x.DirMotor.Sentido_SP, - sentido_real = x.DirMotor.SentidoReal, - freq = new { - io = x.DirMotor.Leitura?.NumeroPulsos?.frequencia ?? 0, - pulsos = x.DirMotor.Leitura?.EntradaIN1?.frequencia ?? 0, - } - }).ToArray(), - Mov = Variaveis.OperacaoEmAndamento.DispMvd.Dados.Modulos.Select(x => new - { - conectado = x.MovMotor.Inicializado, - freq_base = Variaveis.OperacaoEmAndamento.DispMvd.Dados.tmrRegistradorMOV.IntervalHz, - endereco = x.MovMotor._EnderecoCAN_Tx, - mod_id = x.Modulo_ID, - cod_erro = x.MovMotor.CodigoAlarme, - rpm = x.MovMotor.RPM_Roda, - rpm_sp = x.MovMotor.RPM_SP_Leitura, - tensao = x.MovMotor.Tensao, - corrente_motor = x.MovMotor.Corrente_Motor, - corrente_barramento = x.MovMotor.Corrente_Barramento, - temperatura_driver = x.MovMotor.TemperaturaDriver, - temperatura_motor = x.MovMotor.Temperatura, - freado = x.MovMotor.Leitura?.Freado ?? false, - freq = new - { - erro = x.MovMotor.Leitura?.CodigoAlarme?.frequencia ?? 0, - rpm = x.MovMotor.Leitura?.ERPM?.frequencia ?? 0, - tensao = x.MovMotor.Leitura?.Tensao?.frequencia ?? 0, - corrente_motor = x.MovMotor.Leitura?.CorrenteMotor?.frequencia ?? 0, - corrente_barramento = x.MovMotor.Leitura?.CorrenteBarramento?.frequencia ?? 0, - temperatura = x.MovMotor.Leitura?.Temperatura?.frequencia ?? 0, - } - }).ToArray(), - Sen = new - { - conectado = Variaveis.OperacaoEmAndamento.DispSen.Dados.Conectado, - freq_base = Variaveis.OperacaoEmAndamento.DispSen.Dados.tmrRegistrador.IntervalHz, - sensores = Variaveis.OperacaoEmAndamento.DispSen.Dados.Sensores.Select(x => new - { - conectado = x.Inicializado, - id = x.ID_Num, - label = x.ID, - tipo = (int)x.Componente, - aferir = x.Aferir, - mandatorio = x.Mandatorio, - dados = x.ValoresLeituras.Where(y => y.analise_health).Select(y => new - { - label = y.funcao.ToString(), - nominal = y.nominal, - maximo = y.maximo, - minimo = y.minimo, - atual = y.atual.valor, - freq = y.atual.frequencia - }), - }).ToArray(), - servos = Variaveis.OperacaoEmAndamento.DispSen.Dados.Servos.Select(x => new - { - conectado = x.Inicializado, - id = x.ID_Num, - label = x.ID, - controlar = x.Controlar, - mandatorio = x.Mandatorio, - angulo_sp = x._AnguloControle, - dados = x.ValoresLeituras.Where(y => y.analise_health).Select(y => new - { - label = y.funcao.ToString(), - atual = y.atual.valor, - freq = y.atual.frequencia - }), - }).ToArray(), - }, - - } + }, + Gerais = new + { + velocidade_ms = _Sensoriamento.Movimentacao.VelocidadeMedia, + ervas_no_radar = _Sensoriamento.Atuador.ErvasNoRadar, + }, }; - Task.Run(async () => + + var comando = new { - await Variaveis.MqttService.PublishAsync(topicoTx, JsonConvert.SerializeObject(dados)); - }); + cmd = (int)HealthWorkerCommandType.SetDadosContexto, + @params = dados + }; + + RedisService.Publish(CmdKey.HealthWorkerRx, JsonConvert.SerializeObject(comando)); } public void EnviarDadosOperacao() @@ -327,27 +228,28 @@ namespace AgroBase.Services.Operadores var dados = new { - comando = (int)TipoComando.SetDadosOperacao, - dispositivo = (int)T_Code.Mod, - payload = new + modo = (int)Variaveis.OperacaoEmAndamento.Modo, + debug_mode = Variaveis.DebugMode, + iniciado = Variaveis.OperacaoEmAndamento.Iniciado, + finalizando = Variaveis.OperacaoEmAndamento.Finalizando, + emergencia = Variaveis.OperacaoEmAndamento.Emergencia, + tempo_aguardar_inicio_operacao = Variaveis.OperacaoEmAndamento.TempoIniciarOperacao, + sonar_ativado = _Controle.SonarAtivado, + modulos_mandatorios = Variaveis.OperacaoEmAndamento.ModulosMandatorios.Select(x => (int)x.Dispositivo).ToArray(), + parametros_mandatorios = Variaveis.OperacaoEmAndamento.ParametrosMandatorios.Select(x => (int)x.Parametro).ToArray(), + Mov = new { - modo = (int)Variaveis.OperacaoEmAndamento.Modo, - sonar_ativado = _Controle.SonarAtivado, - modulos_mandatorios = Variaveis.OperacaoEmAndamento.ModulosMandatorios.Select(x => (int)x.Dispositivo).ToArray(), - parametros_mandatorios = Variaveis.OperacaoEmAndamento.ParametrosMandatorios.Select(x => (int)x.Parametro).ToArray(), - Mov = new + percent_vel_max = _Controle.PercentualVelocidadeMax, + percent_vel_min = _Controle.PercentualVelocidadeMin, + }, + Dir = new + { + angulo_max = _Controle.Angulo_Max, + vel_movimento = _Controle.VelocidadeMP, + tipo_controle = (int)_Controle.TipoControleDirecional, + mpc = new { - percent_vel_max = _Controle.PercentualVelocidadeMax, - percent_vel_min = _Controle.PercentualVelocidadeMin, - }, - Dir = new - { - angulo_max = _Controle.Angulo_Max, - vel_movimento = _Controle.VelocidadeMP, - tipo_controle = (int)_Controle.TipoControleDirecional, - mpc = new - { - pontos = Variaveis.OperacaoEmAndamento.Trajetoria?._TrajetoriaFixa? + pontos = Variaveis.OperacaoEmAndamento.Trajetoria?._TrajetoriaFixa? .Select(p => new { lat = p.Posicao.Latitude, @@ -356,32 +258,148 @@ namespace AgroBase.Services.Operadores distanciaMargem = p.LarguraCorredor * 0.8 }) .ToList(), - horizonte = 2.5, - angulo_max_graus = _Controle.Angulo_Max, - distancia_entre_eixos = (VariaveisEquipamento.DistanciaEntreEixos / 100.0), - largura_equipamento = (VariaveisEquipamento.LarguraEquipamentoMm / 1000.0), - velocidade_min = FuncoesMatematicas.CalculaVelocidadeMsPercentual(_Controle.PercentualVelocidadeMin), - velocidade_max = FuncoesMatematicas.CalculaVelocidadeMsPercentual(_Controle.PercentualVelocidadeMax) - } - }, - Atu = new - { - percent_vertical_deteccao = _Controle.PercentualInicioPulverizacao, - capacidade_reservatorio = Variaveis.OperacaoEmAndamento.CapacidadeReservatorio, - pressao_linha = _Controle.PressaoLinha, - }, - Snr = new - { - mx_id = Variaveis.OperacaoEmAndamento.DispSen.Dados.CameraCaminho.Id + horizonte = 2.5, + angulo_max_graus = _Controle.Angulo_Max, + distancia_entre_eixos = (VariaveisEquipamento.DistanciaEntreEixos / 100.0), + largura_equipamento = (VariaveisEquipamento.LarguraEquipamentoMm / 1000.0), + velocidade_min = FuncoesMatematicas.CalculaVelocidadeMsPercentual(_Controle.PercentualVelocidadeMin), + velocidade_max = FuncoesMatematicas.CalculaVelocidadeMsPercentual(_Controle.PercentualVelocidadeMax) } + }, + Atu = new + { + percent_vertical_deteccao = _Controle.PercentualInicioPulverizacao, + capacidade_reservatorio = Variaveis.OperacaoEmAndamento.CapacidadeReservatorio, + pressao_linha = _Controle.PressaoLinha, + }, + Snr = new + { + mx_id = Variaveis.OperacaoEmAndamento.DispSen.Dados.CameraCaminho.Id } }; - Task.Run(async () => + + var comando = new { - await Variaveis.MqttService.PublishAsync(topicoTx, JsonConvert.SerializeObject(dados)); - }); + cmd = (int)HealthWorkerCommandType.SetDadosOperacao, + @params = dados + }; + + RedisService.Publish(CmdKey.HealthWorkerRx, JsonConvert.SerializeObject(comando)); } + public void EnviarDadosModulos() + { + if (Variaveis.OperacaoEmAndamento.DispMvd == null) return; + + var _Sensoriamento = Variaveis.OperacaoEmAndamento.Sensoriamento; + + var dados = new + { + Gps = new + { + conectado = GPSService.Iniciado, + freq_base = GPSService.TaxaAmostragemHz, + lat = _Sensoriamento.Gps.Latitude, + lon = _Sensoriamento.Gps.Longitude, + theta = _Sensoriamento.Gps.AnguloCarroDefinido, + fix = (int)_Sensoriamento.Gps.QualidadeFix, + rtk = GPSService.UltimoEnvioCorrecaoRTK.AddSeconds(5) > DateTime.Now, + hAcc = _Sensoriamento.Gps.PrecisaoCm, + nSatelites = _Sensoriamento.Gps.NumeroSatelites.valor, + freq = _Sensoriamento.Gps.NumeroSatelites.frequencia, + }, + Dir = Variaveis.OperacaoEmAndamento.DispMvd.Dados.Modulos.Select(x => new + { + conectado = x.DirMotor.Inicializado, + freq_base = Variaveis.OperacaoEmAndamento.DispMvd.Dados.tmrRegistradorDIR.IntervalHz, + endereco = x.DirMotor._EnderecoCAN_Tx, + mod_id = x.Modulo_ID, + angulo = x.DirMotor.Angulo, + angulo_sp = x.DirMotor.Angulo_SP, + comandar = x.DirMotor.Comandar, + in1_atuado = x.DirMotor.IN1_Atuado, + sentido = x.DirMotor.Sentido, + sentido_sp = x.DirMotor.Sentido_SP, + sentido_real = x.DirMotor.SentidoReal, + freq = new + { + io = x.DirMotor.Leitura?.NumeroPulsos?.frequencia ?? 0, + pulsos = x.DirMotor.Leitura?.EntradaIN1?.frequencia ?? 0, + } + }).ToArray(), + Mov = Variaveis.OperacaoEmAndamento.DispMvd.Dados.Modulos.Select(x => new + { + conectado = x.MovMotor.Inicializado, + freq_base = Variaveis.OperacaoEmAndamento.DispMvd.Dados.tmrRegistradorMOV.IntervalHz, + endereco = x.MovMotor._EnderecoCAN_Tx, + mod_id = x.Modulo_ID, + cod_erro = x.MovMotor.CodigoAlarme, + rpm = x.MovMotor.RPM_Roda, + rpm_sp = x.MovMotor.RPM_SP_Leitura, + tensao = x.MovMotor.Tensao, + corrente_motor = x.MovMotor.Corrente_Motor, + corrente_barramento = x.MovMotor.Corrente_Barramento, + temperatura_driver = x.MovMotor.TemperaturaDriver, + temperatura_motor = x.MovMotor.Temperatura, + freado = x.MovMotor.Leitura?.Freado ?? false, + freq = new + { + erro = x.MovMotor.Leitura?.CodigoAlarme?.frequencia ?? 0, + rpm = x.MovMotor.Leitura?.ERPM?.frequencia ?? 0, + tensao = x.MovMotor.Leitura?.Tensao?.frequencia ?? 0, + corrente_motor = x.MovMotor.Leitura?.CorrenteMotor?.frequencia ?? 0, + corrente_barramento = x.MovMotor.Leitura?.CorrenteBarramento?.frequencia ?? 0, + temperatura = x.MovMotor.Leitura?.Temperatura?.frequencia ?? 0, + } + }).ToArray(), + Sen = new + { + conectado = Variaveis.OperacaoEmAndamento.DispSen.Dados.Conectado, + freq_base = Variaveis.OperacaoEmAndamento.DispSen.Dados.tmrRegistrador.IntervalHz, + sensores = Variaveis.OperacaoEmAndamento.DispSen.Dados.Sensores.Select(x => new + { + conectado = x.Inicializado, + id = x.ID_Num, + label = x.ID, + tipo = (int)x.Componente, + aferir = x.Aferir, + mandatorio = x.Mandatorio, + dados = x.ValoresLeituras.Where(y => y.analise_health).Select(y => new + { + label = y.funcao.ToString(), + nominal = y.nominal, + maximo = y.maximo, + minimo = y.minimo, + atual = y.atual.valor, + freq = y.atual.frequencia + }), + }).ToArray(), + servos = Variaveis.OperacaoEmAndamento.DispSen.Dados.Servos.Select(x => new + { + conectado = x.Inicializado, + id = x.ID_Num, + label = x.ID, + controlar = x.Controlar, + mandatorio = x.Mandatorio, + angulo_sp = x._AnguloControle, + dados = x.ValoresLeituras.Where(y => y.analise_health).Select(y => new + { + label = y.funcao.ToString(), + atual = y.atual.valor, + freq = y.atual.frequencia + }), + }).ToArray(), + }, + }; + + var comando = new + { + cmd = (int)HealthWorkerCommandType.SetDadosModulo, + @params = dados + }; + + RedisService.Publish(CmdKey.HealthWorkerRx, JsonConvert.SerializeObject(comando)); + } } } diff --git a/AgroBase/AgroBase/Services/Operadores/ManagerWorkerService.cs b/AgroBase/AgroBase/Services/Operadores/ManagerWorkerService.cs index 12ab86dca..01f691e84 100644 --- a/AgroBase/AgroBase/Services/Operadores/ManagerWorkerService.cs +++ b/AgroBase/AgroBase/Services/Operadores/ManagerWorkerService.cs @@ -2,6 +2,7 @@ using AgroBase.Models.Operadores; using Newtonsoft.Json; using System; +using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using static AgroBase.Models.Operadores.OperadoresModels; @@ -32,6 +33,8 @@ namespace AgroBase.Services.Operadores topicoRx = await Variaveis.MqttService.AdicionarNovoTopico(TopicoMQTT_Rx, true, 2, MqttCallback); topicoTx = await Variaveis.MqttService.AdicionarNovoTopico(TopicoMQTT_Tx); + RedisService.Subscribe(CmdKey.ManagerWorkerTx, RedisCallback); + DadosLeitura.IniciadoEm = DateTime.Now; DadosLeitura.Iniciado = true; @@ -73,6 +76,59 @@ namespace AgroBase.Services.Operadores return true; } + private void RedisCallback(string mensagem) + { + try + { + var comando = JsonConvert.DeserializeObject(mensagem); + + var cmd = (ManagerWorkerCommandType)comando.cmd; + + MostrarLog($"📥 Comando recebido: cmd = {cmd.ToString()}"); + + switch (cmd) + { + case ManagerWorkerCommandType.EnviarDadosControle: + if (Variaveis.OperacaoEmAndamento.Modo == Enums.ModoOperacao.MapaGPS) + { + var _Controle = Variaveis.OperacaoEmAndamento.Controle; + var novoComando = new ManagerWorkerMessageResponseComandoModel() + { + angulo = Convert.ToDouble(comando.@params["angulo"]), + percentual_velocidade = Convert.ToDouble(comando.@params["percentual_velocidade"]), + tipo_movimento = (Enums.TipoMovimentoDirecional)Convert.ToInt32(comando.@params["tipo_movimento"]), + simulacao = JsonConvert.DeserializeObject>(comando.@params["simulacao"].ToString()) + }; + if (novoComando != null) + { + _Controle.Angulo = novoComando.angulo; + _Controle.TipoMovimento = novoComando.tipo_movimento; + _Controle.PercentualVelocidadeSP = novoComando.percentual_velocidade; + _Controle.SimulacaoMPC = novoComando.simulacao.Select(x => new MPCSimulacaoModel() { latitude = x[0], longitude = x[1] }).ToList(); + Variaveis.OperacaoEmAndamento.AtualizaInformacoesControleOperacao(); + } + + if (Variaveis.OperacaoEmAndamento.StatusAtual == Enums.StatusOperacao.Concluido && Variaveis.OperacaoEmAndamento.Iniciado) + { + Task.Run(async () => + { + await Variaveis.OperacaoEmAndamento.FinalizarOperacao(); + }); + } + } + break; + + default: + MostrarLog($"⚠️ Comando não reconhecido: {comando.cmd}"); + break; + } + } + catch (Exception ex) + { + MostrarLog($"❌ Erro ao deserializar resposta: {ex.Message}"); + } + } + private void AtualizarDadosLeitura(WorkerMessageModel msg) { Variaveis.OperacaoEmAndamento.TempoAguardando = DateTimeOffset.FromUnixTimeSeconds(msg.obj.tempo_aguardando).UtcDateTime.AddSeconds(msg.obj.tempo_aguardando % 1).ToLocalTime(); @@ -90,12 +146,14 @@ namespace AgroBase.Services.Operadores if (Variaveis.OperacaoEmAndamento.Modo == Enums.ModoOperacao.MapaGPS) { var _Controle = Variaveis.OperacaoEmAndamento.Controle; - _Controle.Angulo = msg.obj.comando.angulo; - _Controle.TipoMovimento = msg.obj.comando.tipo_movimento; - _Controle.PercentualVelocidadeSP = msg.obj.comando.percentual_velocidade; - _Controle.SimulacaoMPC = msg.obj.comando.simulacao.Select(x => new MPCSimulacaoModel() { latitude = x[0], longitude = x[1] }).ToList(); - - Variaveis.OperacaoEmAndamento.AtualizaInformacoesControleOperacao(); + if (msg.obj.comando != null) + { + _Controle.Angulo = msg.obj.comando.angulo; + _Controle.TipoMovimento = msg.obj.comando.tipo_movimento; + _Controle.PercentualVelocidadeSP = msg.obj.comando.percentual_velocidade; + _Controle.SimulacaoMPC = msg.obj.comando.simulacao.Select(x => new MPCSimulacaoModel() { latitude = x[0], longitude = x[1] }).ToList(); + Variaveis.OperacaoEmAndamento.AtualizaInformacoesControleOperacao(); + } if (Variaveis.OperacaoEmAndamento.StatusAtual == Enums.StatusOperacao.Concluido && Variaveis.OperacaoEmAndamento.Iniciado) { diff --git a/AgroBase/AgroBase/Services/Operadores/VisualWorkerService.cs b/AgroBase/AgroBase/Services/Operadores/VisualWorkerService.cs index 5d28a9fcf..ae322effe 100644 --- a/AgroBase/AgroBase/Services/Operadores/VisualWorkerService.cs +++ b/AgroBase/AgroBase/Services/Operadores/VisualWorkerService.cs @@ -39,6 +39,8 @@ namespace AgroBase.Services.Operadores topicoRx = await Variaveis.MqttService.AdicionarNovoTopico(TopicoMQTT_Rx, true, 2, MqttCallback); topicoTx = await Variaveis.MqttService.AdicionarNovoTopico(TopicoMQTT_Tx); + RedisService.Subscribe(CmdKey.VisualWorkerTx, RedisCallback); + mapaRespostas = new Dictionary> { { VisualWorkerCommandType.SalvarFrames, () => DadosLeitura.Leitura.obj?.save_frames?.newData ?? false }, @@ -137,6 +139,33 @@ namespace AgroBase.Services.Operadores return true; } + private void RedisCallback(string mensagem) + { + try + { + var comando = JsonConvert.DeserializeObject(mensagem); + + var cmd = (VisualWorkerCommandType)comando.cmd; + + MostrarLog($"📥 Comando recebido: cmd = {cmd.ToString()}"); + + switch (cmd) + { + case VisualWorkerCommandType.GetCameraFrame: + var frameModel = JsonConvert.DeserializeObject(comando.@params.ToString()); + break; + + default: + MostrarLog($"⚠️ Comando não reconhecido: {comando.cmd}"); + break; + } + } + catch (Exception ex) + { + MostrarLog($"❌ Erro ao deserializar resposta: {ex.Message}"); + } + } + private void AtualizarDadosLeitura(WorkerMessageModel msg) { if (DadosLeitura.Leitura.obj == null) diff --git a/AgroBase/AgroBase/Services/RedisService.cs b/AgroBase/AgroBase/Services/RedisService.cs new file mode 100644 index 000000000..435dfebf2 --- /dev/null +++ b/AgroBase/AgroBase/Services/RedisService.cs @@ -0,0 +1,70 @@ +using StackExchange.Redis; +using System; +using System.Collections.Generic; + +namespace AgroBase.Services +{ + public class RedisService + { + private static ConnectionMultiplexer _redis; + private static IDatabase _db; + + public static void Iniciar(string conexao = "localhost") + { + _redis = ConnectionMultiplexer.Connect(conexao); + _db = _redis.GetDatabase(); + } + + public static string Get(string chave) + { + return _db.StringGet(chave); + } + + public static void Set(string chave, string valor) + { + _db.StringSet(chave, valor); + } + + public static void Publish(string canal, string mensagem) + { + var pub = _redis.GetSubscriber(); + pub.Publish(canal, mensagem); + } + + public static void Subscribe(string canal, Action callback) + { + var sub = _redis.GetSubscriber(); + sub.Subscribe(canal, (ch, msg) => { + callback(msg); + }); + } + } + + public class ComandoRedis + { + public int cmd { get; set; } + public Dictionary @params { get; set; } + } + + public static class CtxKey + { + public const string DadosCameras = "ctx:dados_cameras"; + public const string DadosModulo = "ctx:dados_modulo_"; + public const string DadosOperacao = "ctx:dados_operacao"; + public const string DadosContexto = "ctx:dados_contexto"; + public const string DadosControle = "ctx:dados_controle"; + public const string DadosVisualWorker = "ctx:dados_visual_worker"; + } + + public static class CmdKey + { + public const string VisualWorkerRx = "cmd_rx:visual_worker"; + public const string VisualWorkerTx = "cmd_tx:visual_worker"; + public const string HealthWorkerRx = "cmd_rx:health_worker"; + public const string HealthWorkerTx = "cmd_tx:health_worker"; + public const string CameraWorkerRx = "cmd_rx:camera_worker"; + public const string CameraWorkerTx = "cmd_tx:camera_worker"; + public const string ManagerWorkerRx = "cmd_rx:manager_worker"; + public const string ManagerWorkerTx = "cmd_tx:manager_worker"; + } +} diff --git a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe index 4ee67a267..abee540a9 100644 Binary files a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe and b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe differ diff --git a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/BrowserMetrics/BrowserMetrics-685D4EB8-7B88.pma b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/BrowserMetrics/BrowserMetrics-685E70AA-3DE0.pma similarity index 91% rename from AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/BrowserMetrics/BrowserMetrics-685D4EB8-7B88.pma rename to AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/BrowserMetrics/BrowserMetrics-685E70AA-3DE0.pma index 5d896b9c8..d949160d6 100644 Binary files a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/BrowserMetrics/BrowserMetrics-685D4EB8-7B88.pma and b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/BrowserMetrics/BrowserMetrics-685E70AA-3DE0.pma differ diff --git a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/BrowserMetrics-spare.pma b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/BrowserMetrics/BrowserMetrics-685F2FC1-34B4.pma similarity index 88% rename from AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/BrowserMetrics-spare.pma rename to AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/BrowserMetrics/BrowserMetrics-685F2FC1-34B4.pma index 830bd6c41..0eb50e026 100644 Binary files a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/BrowserMetrics-spare.pma and b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/BrowserMetrics/BrowserMetrics-685F2FC1-34B4.pma differ diff --git a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Crashpad/settings.dat b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Crashpad/settings.dat index a31ffd342..4c3621af3 100644 Binary files a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Crashpad/settings.dat and b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Crashpad/settings.dat differ diff --git a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/BrowsingTopicsState b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/BrowsingTopicsState index a23932f54..308d72a29 100644 --- a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/BrowsingTopicsState +++ b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/BrowsingTopicsState @@ -22,5 +22,5 @@ "top_topics_and_observing_domains": [ ] } ], "hex_encoded_hmac_key": "40F346D3248C3AFDF2BEE1FE496DBD32F7CED6E5AE98B881ABC421AA7E7B5642", - "next_scheduled_calculation_time": "13395777469290834" + "next_scheduled_calculation_time": "13395777469290985" } diff --git a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Cache/Cache_Data/data_0 b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Cache/Cache_Data/data_0 index fc425ea94..8e4aa17d5 100644 Binary files a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Cache/Cache_Data/data_0 and b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Cache/Cache_Data/data_0 differ diff --git a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Cache/Cache_Data/data_1 b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Cache/Cache_Data/data_1 index caa443548..370466ebb 100644 Binary files a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Cache/Cache_Data/data_1 and b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Cache/Cache_Data/data_1 differ diff --git a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Cache/Cache_Data/data_3 b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Cache/Cache_Data/data_3 index 30841d612..82fa8e923 100644 Binary files a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Cache/Cache_Data/data_3 and b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Cache/Cache_Data/data_3 differ diff --git a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Cache/Cache_Data/f_000055 b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Cache/Cache_Data/f_000055 deleted file mode 100644 index 3dd78b07f..000000000 Binary files a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Cache/Cache_Data/f_000055 and /dev/null differ diff --git a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Cache/Cache_Data/f_00006b b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Cache/Cache_Data/f_00006b deleted file mode 100644 index 5b4dbf112..000000000 Binary files a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Cache/Cache_Data/f_00006b and /dev/null differ diff --git a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Cache/Cache_Data/f_00006c b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Cache/Cache_Data/f_00006c deleted file mode 100644 index 824e31350..000000000 Binary files a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Cache/Cache_Data/f_00006c and /dev/null differ diff --git a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Cache/Cache_Data/f_000072 b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Cache/Cache_Data/f_000072 new file mode 100644 index 000000000..0933e198f Binary files /dev/null and b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Cache/Cache_Data/f_000072 differ diff --git a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Cache/Cache_Data/f_000073 b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Cache/Cache_Data/f_000073 new file mode 100644 index 000000000..24fde0665 Binary files /dev/null and b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Cache/Cache_Data/f_000073 differ diff --git a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Cache/Cache_Data/f_000076 b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Cache/Cache_Data/f_000076 new file mode 100644 index 000000000..c007a6ee9 Binary files /dev/null and b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Cache/Cache_Data/f_000076 differ diff --git a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Cache/Cache_Data/f_00006e b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Cache/Cache_Data/f_000077 similarity index 100% rename from AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Cache/Cache_Data/f_00006e rename to AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Cache/Cache_Data/f_000077 diff --git a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/DIPS b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/DIPS index 48f80ac8c..951dba199 100644 Binary files a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/DIPS and b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/DIPS differ diff --git a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/DawnGraphiteCache/data_1 b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/DawnGraphiteCache/data_1 index dfe599676..e8b703584 100644 Binary files a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/DawnGraphiteCache/data_1 and b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/DawnGraphiteCache/data_1 differ diff --git a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/DawnWebGPUCache/data_1 b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/DawnWebGPUCache/data_1 index 8501ccd7f..218d1c928 100644 Binary files a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/DawnWebGPUCache/data_1 and b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/DawnWebGPUCache/data_1 differ diff --git a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/GPUCache/data_1 b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/GPUCache/data_1 index 3b2b7e467..6259c7480 100644 Binary files a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/GPUCache/data_1 and b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/GPUCache/data_1 differ diff --git a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/History b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/History index 0bf718330..33dab82d3 100644 Binary files a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/History and b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/History differ diff --git a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Local Storage/leveldb/LOG b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Local Storage/leveldb/LOG index 3c6151f25..ea334c97b 100644 --- a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Local Storage/leveldb/LOG +++ b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Local Storage/leveldb/LOG @@ -1,3 +1,3 @@ -2025/06/26-10:44:24.216 8088 Reusing MANIFEST C:\ZendionInc\agrobot_base\AgroBase\AgroBase\bin\x64\Debug\AgroBase.exe.WebView2\EBWebView\Default\Local Storage\leveldb/MANIFEST-000001 -2025/06/26-10:44:24.223 8088 Recovering log #3 -2025/06/26-10:44:24.226 8088 Reusing old log C:\ZendionInc\agrobot_base\AgroBase\AgroBase\bin\x64\Debug\AgroBase.exe.WebView2\EBWebView\Default\Local Storage\leveldb/000003.log +2025/06/27-20:56:49.222 2104 Reusing MANIFEST C:\ZendionInc\agrobot_base\AgroBase\AgroBase\bin\x64\Debug\AgroBase.exe.WebView2\EBWebView\Default\Local Storage\leveldb/MANIFEST-000001 +2025/06/27-20:56:49.231 2104 Recovering log #3 +2025/06/27-20:56:49.234 2104 Reusing old log C:\ZendionInc\agrobot_base\AgroBase\AgroBase\bin\x64\Debug\AgroBase.exe.WebView2\EBWebView\Default\Local Storage\leveldb/000003.log diff --git a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Local Storage/leveldb/LOG.old b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Local Storage/leveldb/LOG.old index 30f7485a9..25abf7cd0 100644 --- a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Local Storage/leveldb/LOG.old +++ b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Local Storage/leveldb/LOG.old @@ -1,3 +1,3 @@ -2025/06/26-10:22:26.943 6078 Reusing MANIFEST C:\ZendionInc\agrobot_base\AgroBase\AgroBase\bin\x64\Debug\AgroBase.exe.WebView2\EBWebView\Default\Local Storage\leveldb/MANIFEST-000001 -2025/06/26-10:22:26.952 6078 Recovering log #3 -2025/06/26-10:22:26.956 6078 Reusing old log C:\ZendionInc\agrobot_base\AgroBase\AgroBase\bin\x64\Debug\AgroBase.exe.WebView2\EBWebView\Default\Local Storage\leveldb/000003.log +2025/06/27-07:21:30.670 746c Reusing MANIFEST C:\ZendionInc\agrobot_base\AgroBase\AgroBase\bin\x64\Debug\AgroBase.exe.WebView2\EBWebView\Default\Local Storage\leveldb/MANIFEST-000001 +2025/06/27-07:21:30.676 746c Recovering log #3 +2025/06/27-07:21:30.679 746c Reusing old log C:\ZendionInc\agrobot_base\AgroBase\AgroBase\bin\x64\Debug\AgroBase.exe.WebView2\EBWebView\Default\Local Storage\leveldb/000003.log diff --git a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Network/Network Persistent State b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Network/Network Persistent State index 639720d3b..adfd9b9bc 100644 --- a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Network/Network Persistent State +++ b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Network/Network Persistent State @@ -1 +1 @@ -{"net":{"http_server_properties":{"servers":[{"alternative_service":[{"advertised_alpns":["h3"],"expiration":"13395505488076776","port":443,"protocol_str":"quic"}],"anonymization":["DAAAAAcAAABmaWxlOi8vAA==",false,0],"network_stats":{"srtt":7496},"server":"https://tile.openstreetmap.org","supports_spdy":true}],"supports_quic":{"address":"2804:d78:6d4:dc00:395e:1fef:8c2d:dcbe","used_quic":true},"version":5},"network_qualities":{"CAASABiAgICA+P////8B":"4G","CAESABiAgICA+P////8B":"4G","CAISABiAgICA+P////8B":"4G","CAYSABiAgICA+P////8B":"Offline"}}} \ No newline at end of file +{"net":{"http_server_properties":{"servers":[{"alternative_service":[{"advertised_alpns":["h3"],"expiration":"13395628615843983","port":443,"protocol_str":"quic"}],"anonymization":["DAAAAAcAAABmaWxlOi8vAA==",false,0],"network_stats":{"srtt":7016},"server":"https://tile.openstreetmap.org","supports_spdy":true}],"supports_quic":{"address":"2804:d78:6d4:dc00:ad47:84dd:a027:10ff","used_quic":true},"version":5},"network_qualities":{"CAASABiAgICA+P////8B":"4G","CAESABiAgICA+P////8B":"4G","CAISABiAgICA+P////8B":"4G","CAYSABiAgICA+P////8B":"Offline"}}} \ No newline at end of file diff --git a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Network/TransportSecurity b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Network/TransportSecurity index c55bc3623..8d0e2e5b7 100644 --- a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Network/TransportSecurity +++ b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Network/TransportSecurity @@ -1 +1 @@ -{"sts":[{"expiry":1782481467.393117,"host":"bWGAftl61rqoc0YzqPncsLvQQh/iC2Bdp3ejUeGC83w=","mode":"force-https","sts_include_subdomains":true,"sts_observed":1750945467.393127}],"version":2} \ No newline at end of file +{"sts":[{"expiry":1782604614.73,"host":"bWGAftl61rqoc0YzqPncsLvQQh/iC2Bdp3ejUeGC83w=","mode":"force-https","sts_include_subdomains":true,"sts_observed":1751068614.730003}],"version":2} \ No newline at end of file diff --git a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Preferences b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Preferences index 93954f102..4977f916b 100644 --- a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Preferences +++ b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Preferences @@ -1 +1 @@ -{"aadc_info":{"age_group":0},"accessibility":{"captions":{"headless_caption_enabled":false}},"account_tracker_service_last_update":"13395415198409743","alternate_error_pages":{"backup":true},"autocomplete":{"retention_policy_last_version":137},"autofill":{"last_version_deduped":137},"bookmark":{"storage_computation_last_update":"13395415198409571"},"browser":{"available_dark_theme_options":"All","has_seen_welcome_page":false,"recent_theme_color_list":[4293914607.0,4293914607.0,4293914607.0,4293914607.0,4293914607.0],"user_level_features_context":{}},"browser_content_container_height":780,"browser_content_container_width":506,"browser_content_container_x":0,"browser_content_container_y":0,"commerce_daily_metrics_last_update_time":"13395415198409766","countryid_at_install":16978,"credentials_enable_service":false,"devtools":{"preferences":{"EdgeDevToolsLayoutInfo":{"current_dock_state":0,"horizontal_size":300,"showEmulationMode":false,"vertical_size":555}}},"domain_diversity":{"last_reporting_timestamp":"13395411018024019"},"edge":{"bookmarks":{"last_dup_info_record_time":"13395415495351702"},"msa_sso_info":{"allow_for_non_msa_profile":true},"profile_sso_info":{"is_msa_first_profile":true,"msa_sso_algo_state":1},"services":{"signin_scoped_device_id":"c7f8f0d0-bdd4-43a9-9f07-a473396ea5be"}},"edge_rewards":{"cache_data":"CAA=","coachmark_promotions":{},"hva_promotions":[],"refresh_status_muted_until":"13395500035990893"},"edge_ux_config":{"assignmentcontext":"","dataversion":"0","experimentvariables":{},"flights":{}},"edge_wallet":{"passwords":{"password_lost_report_date":"13395415515412899"}},"enterprise_profile_guid":"e870a50c-2f4b-4f39-bded-8e1ac8c1a208","extensions":{"alerts":{"initialized":true},"chrome_url_overrides":{},"last_chrome_version":"137.0.3296.93","pdf_upsell_triggered":false,"pinned_extension_migration":true,"pinned_extensions":[]},"fsd":{"retention_policy_last_version":137},"intl":{"selected_languages":"en-US,en"},"media":{"engagement":{"schema_version":5}},"muid":{"last_sync":"13395415198409655","values_seen":[]},"optimization_guide":{"hintsfetcher":{"hosts_successfully_fetched":{}},"previously_registered_optimization_types":{"ABOUT_THIS_SITE":true,"HISTORY_CLUSTERS":true,"LOADING_PREDICTOR":true,"MERCHANT_TRUST_SIGNALS_V2":true,"PRICE_TRACKING":true,"V8_COMPILE_HINTS":true},"store_file_paths_to_delete":{}},"password_manager":{"autofillable_credentials_profile_store_login_database":false,"profile_store_migrated_to_os_crypt_async":true},"personalization_data_consent":{"personalization_in_context_consent_can_prompt":true,"personalization_in_context_count":0},"privacy_sandbox":{"first_party_sets_data_access_allowed_initialized":true},"profile":{"avatar_index":20,"content_settings":{"exceptions":{"3pcd_heuristics_grants":{},"3pcd_support":{},"abusive_notification_permissions":{},"access_to_get_all_screens_media_in_session":{},"anti_abuse":{},"app_banner":{},"ar":{},"are_suspicious_notifications_allowlisted_by_user":{},"auto_picture_in_picture":{},"auto_select_certificate":{},"automatic_downloads":{},"automatic_fullscreen":{},"autoplay":{},"background_sync":{},"bluetooth_chooser_data":{},"bluetooth_guard":{},"bluetooth_scanning":{},"camera_pan_tilt_zoom":{},"captured_surface_control":{},"clear_browsing_data_cookies_exceptions":{},"client_hints":{},"clipboard":{},"controlled_frame":{},"cookie_controls_metadata":{"file:///*,*":{"last_modified":"13395419064331821","setting":{}}},"cookies":{},"direct_sockets":{},"direct_sockets_private_network_access":{},"display_media_system_audio":{},"disruptive_notification_permissions":{},"durable_storage":{},"edge_ad_targeting":{},"edge_ad_targeting_data":{},"edge_sdsm":{},"edge_split_screen":{},"edge_u2f_api_request":{},"edge_user_agent_token":{},"fedcm_idp_registration":{},"fedcm_idp_signin":{},"fedcm_share":{},"file_system_access_chooser_data":{},"file_system_access_extended_permission":{},"file_system_access_restore_permission":{},"file_system_last_picked_directory":{},"file_system_read_guard":{},"file_system_write_guard":{},"formfill_metadata":{},"geolocation":{},"hand_tracking":{},"hid_chooser_data":{},"hid_guard":{},"http_allowed":{},"https_enforced":{},"idle_detection":{},"images":{},"important_site_info":{},"insecure_private_network":{},"intent_picker_auto_display":{},"javascript":{},"javascript_jit":{},"javascript_optimizer":{},"keyboard_lock":{},"legacy_cookie_access":{},"legacy_cookie_scope":{},"local_fonts":{},"local_network_access":{},"media_engagement":{},"media_stream_camera":{},"media_stream_mic":{},"midi_sysex":{},"mixed_script":{},"nfc_devices":{},"notification_interactions":{},"notification_permission_review":{},"notifications":{},"password_protection":{},"payment_handler":{},"permission_autoblocking_data":{},"permission_autorevocation_data":{},"pointer_lock":{},"popups":{},"private_network_chooser_data":{},"private_network_guard":{},"protected_media_identifier":{},"protocol_handler":{},"reduced_accept_language":{},"safe_browsing_url_check_data":{},"secure_network":{},"secure_network_sites":{},"sensors":{},"serial_chooser_data":{},"serial_guard":{},"site_engagement":{},"sleeping_tabs":{},"sound":{},"speaker_selection":{},"ssl_cert_decisions":{},"storage_access":{},"storage_access_header_origin_trial":{},"subresource_filter":{},"subresource_filter_data":{},"tech_scam_detection":{},"third_party_storage_partitioning":{},"top_level_3pcd_origin_trial":{},"top_level_3pcd_support":{},"top_level_storage_access":{},"trackers":{},"trackers_data":{},"tracking_org_exceptions":{},"tracking_org_relationships":{},"tracking_protection":{},"unused_site_permissions":{},"usb_chooser_data":{},"usb_guard":{},"vr":{},"web_app_installation":{},"webid_api":{},"webid_auto_reauthn":{},"window_placement":{}},"pref_version":1},"created_by_version":"136.0.3240.50","creation_time":"13391008519921957","did_work_around_bug_364820109_default":true,"did_work_around_bug_364820109_exceptions":true,"edge_password_is_using_new_login_db_path":false,"edge_password_login_db_path_flip_flop_count":0,"edge_profile_id":"74706ebf-f405-4bed-afed-fcfe1719611e","exit_type":"Normal","has_seen_signin_fre":false,"is_relative_to_aad":false,"last_time_obsolete_http_credentials_removed":1746535099.866261,"last_time_password_store_metrics_reported":1750941915.412039,"managed_user_id":"","name":"Perfil 1","network_pbs":{},"observed_session_time":{"feedback_rating_in_product_help_observed_session_time_key_136.0.3240.50":12.0,"feedback_rating_in_product_help_observed_session_time_key_136.0.3240.92":338.0,"feedback_rating_in_product_help_observed_session_time_key_137.0.3296.68":258.0,"feedback_rating_in_product_help_observed_session_time_key_137.0.3296.83":218.0,"feedback_rating_in_product_help_observed_session_time_key_137.0.3296.93":904.0},"password_hash_data_list":[],"signin_fre_seen_time":"13391008519941251","were_old_google_logins_removed":true},"reset_prepopulated_engines":false,"safety_hub":{"unused_site_permissions_revocation":{"migration_completed":true}},"sessions":{"event_log":[{"did_schedule_command":false,"first_session_service":true,"tab_count":0,"time":"13395366450270650","type":2,"window_count":0},{"crashed":false,"time":"13395366461569457","type":0},{"did_schedule_command":false,"first_session_service":true,"tab_count":0,"time":"13395366953131312","type":2,"window_count":0},{"crashed":false,"time":"13395368506247325","type":0},{"did_schedule_command":false,"first_session_service":true,"tab_count":0,"time":"13395368689271894","type":2,"window_count":0},{"crashed":false,"time":"13395411018008747","type":0},{"did_schedule_command":false,"first_session_service":true,"tab_count":0,"time":"13395412321703978","type":2,"window_count":0},{"crashed":false,"time":"13395412330130616","type":0},{"did_schedule_command":false,"first_session_service":true,"tab_count":0,"time":"13395412771235844","type":2,"window_count":0},{"crashed":false,"time":"13395412779899641","type":0},{"did_schedule_command":false,"first_session_service":true,"tab_count":0,"time":"13395413354863538","type":2,"window_count":0},{"crashed":false,"time":"13395413362640731","type":0},{"did_schedule_command":false,"first_session_service":true,"tab_count":0,"time":"13395415478329785","type":2,"window_count":0},{"crashed":false,"time":"13395415485325299","type":0},{"did_schedule_command":false,"first_session_service":true,"tab_count":0,"time":"13395417104876439","type":2,"window_count":0},{"crashed":false,"time":"13395417746874741","type":0},{"did_schedule_command":false,"first_session_service":true,"tab_count":0,"time":"13395419055830904","type":2,"window_count":0},{"crashed":false,"time":"13395419064149710","type":0},{"did_schedule_command":false,"first_session_service":true,"tab_count":0,"time":"13395435491208890","type":2,"window_count":0}],"session_data_status":3},"signin":{"allowed":true,"cookie_clear_on_exit_migration_notice_complete":true},"spellcheck":{"dictionaries":["en-US"]},"sync":{"passwords_per_account_pref_migration_done":true},"syncing_theme_prefs_migrated_to_non_syncing":true,"total_passwords_available_for_account":0,"total_passwords_available_for_profile":0,"translate_site_blacklist":[],"translate_site_blocklist_with_time":{},"user_experience_metrics":{"personalization_data_consent_enabled_last_known_value":false},"variations":{"state_reset_on_profile_load":{"timestamp":"13392903498692389"}}} \ No newline at end of file +{"aadc_info":{"age_group":0},"accessibility":{"captions":{"headless_caption_enabled":false}},"account_tracker_service_last_update":"13395542209165348","alternate_error_pages":{"backup":true},"autocomplete":{"retention_policy_last_version":137},"autofill":{"last_version_deduped":137},"bookmark":{"storage_computation_last_update":"13395542209165003"},"browser":{"available_dark_theme_options":"All","has_seen_welcome_page":false,"recent_theme_color_list":[4293914607.0,4293914607.0,4293914607.0,4293914607.0,4293914607.0],"user_level_features_context":{}},"browser_content_container_height":370,"browser_content_container_width":506,"browser_content_container_x":0,"browser_content_container_y":0,"commerce_daily_metrics_last_update_time":"13395542209165840","countryid_at_install":16978,"credentials_enable_service":false,"devtools":{"preferences":{"EdgeDevToolsLayoutInfo":{"current_dock_state":0,"horizontal_size":300,"showEmulationMode":false,"vertical_size":555}}},"domain_diversity":{"last_reporting_timestamp":"13395493235844048"},"edge":{"bookmarks":{"last_dup_info_record_time":"13395542219167421"},"msa_sso_info":{"allow_for_non_msa_profile":true},"profile_sso_info":{"is_msa_first_profile":true,"msa_sso_algo_state":1},"services":{"signin_scoped_device_id":"e34eb9d2-e3c4-42d6-b7bc-04854b543a72"}},"edge_rewards":{"cache_data":"CAA=","coachmark_promotions":{},"hva_promotions":[],"refresh_status_muted_until":"13396147009140053"},"edge_ux_config":{"assignmentcontext":"","dataversion":"0","experimentvariables":{},"flights":{}},"edge_wallet":{"passwords":{"password_lost_report_date":"13395415515412899"}},"enterprise_profile_guid":"e870a50c-2f4b-4f39-bded-8e1ac8c1a208","extensions":{"alerts":{"initialized":true},"chrome_url_overrides":{},"last_chrome_version":"137.0.3296.93","pdf_upsell_triggered":false,"pinned_extension_migration":true,"pinned_extensions":[]},"fsd":{"retention_policy_last_version":137},"intl":{"selected_languages":"en-US,en"},"media":{"engagement":{"schema_version":5}},"muid":{"last_sync":"13395542209165282","values_seen":[]},"optimization_guide":{"hintsfetcher":{"hosts_successfully_fetched":{}},"previously_registered_optimization_types":{"ABOUT_THIS_SITE":true,"HISTORY_CLUSTERS":true,"LOADING_PREDICTOR":true,"MERCHANT_TRUST_SIGNALS_V2":true,"PRICE_TRACKING":true,"V8_COMPILE_HINTS":true},"store_file_paths_to_delete":{}},"password_manager":{"autofillable_credentials_profile_store_login_database":false,"profile_store_migrated_to_os_crypt_async":true},"personalization_data_consent":{"personalization_in_context_consent_can_prompt":true,"personalization_in_context_count":0},"privacy_sandbox":{"first_party_sets_data_access_allowed_initialized":true},"profile":{"avatar_index":20,"content_settings":{"exceptions":{"3pcd_heuristics_grants":{},"3pcd_support":{},"abusive_notification_permissions":{},"access_to_get_all_screens_media_in_session":{},"anti_abuse":{},"app_banner":{},"ar":{},"are_suspicious_notifications_allowlisted_by_user":{},"auto_picture_in_picture":{},"auto_select_certificate":{},"automatic_downloads":{},"automatic_fullscreen":{},"autoplay":{},"background_sync":{},"bluetooth_chooser_data":{},"bluetooth_guard":{},"bluetooth_scanning":{},"camera_pan_tilt_zoom":{},"captured_surface_control":{},"clear_browsing_data_cookies_exceptions":{},"client_hints":{},"clipboard":{},"controlled_frame":{},"cookie_controls_metadata":{"file:///*,*":{"last_modified":"13395542209358900","setting":{}}},"cookies":{},"direct_sockets":{},"direct_sockets_private_network_access":{},"display_media_system_audio":{},"disruptive_notification_permissions":{},"durable_storage":{},"edge_ad_targeting":{},"edge_ad_targeting_data":{},"edge_sdsm":{},"edge_split_screen":{},"edge_u2f_api_request":{},"edge_user_agent_token":{},"fedcm_idp_registration":{},"fedcm_idp_signin":{},"fedcm_share":{},"file_system_access_chooser_data":{},"file_system_access_extended_permission":{},"file_system_access_restore_permission":{},"file_system_last_picked_directory":{},"file_system_read_guard":{},"file_system_write_guard":{},"formfill_metadata":{},"geolocation":{},"hand_tracking":{},"hid_chooser_data":{},"hid_guard":{},"http_allowed":{},"https_enforced":{},"idle_detection":{},"images":{},"important_site_info":{},"insecure_private_network":{},"intent_picker_auto_display":{},"javascript":{},"javascript_jit":{},"javascript_optimizer":{},"keyboard_lock":{},"legacy_cookie_access":{},"legacy_cookie_scope":{},"local_fonts":{},"local_network_access":{},"media_engagement":{},"media_stream_camera":{},"media_stream_mic":{},"midi_sysex":{},"mixed_script":{},"nfc_devices":{},"notification_interactions":{},"notification_permission_review":{},"notifications":{},"password_protection":{},"payment_handler":{},"permission_autoblocking_data":{},"permission_autorevocation_data":{},"pointer_lock":{},"popups":{},"private_network_chooser_data":{},"private_network_guard":{},"protected_media_identifier":{},"protocol_handler":{},"reduced_accept_language":{},"safe_browsing_url_check_data":{},"secure_network":{},"secure_network_sites":{},"sensors":{},"serial_chooser_data":{},"serial_guard":{},"site_engagement":{},"sleeping_tabs":{},"sound":{},"speaker_selection":{},"ssl_cert_decisions":{},"storage_access":{},"storage_access_header_origin_trial":{},"subresource_filter":{},"subresource_filter_data":{},"tech_scam_detection":{},"third_party_storage_partitioning":{},"top_level_3pcd_origin_trial":{},"top_level_3pcd_support":{},"top_level_storage_access":{},"trackers":{},"trackers_data":{},"tracking_org_exceptions":{},"tracking_org_relationships":{},"tracking_protection":{},"unused_site_permissions":{},"usb_chooser_data":{},"usb_guard":{},"vr":{},"web_app_installation":{},"webid_api":{},"webid_auto_reauthn":{},"window_placement":{}},"pref_version":1},"created_by_version":"136.0.3240.50","creation_time":"13391008519921957","did_work_around_bug_364820109_default":true,"did_work_around_bug_364820109_exceptions":true,"edge_password_is_using_new_login_db_path":false,"edge_password_login_db_path_flip_flop_count":0,"edge_profile_id":"74706ebf-f405-4bed-afed-fcfe1719611e","exit_type":"Normal","has_seen_signin_fre":false,"is_relative_to_aad":false,"last_time_obsolete_http_credentials_removed":1746535099.866261,"last_time_password_store_metrics_reported":1750941915.412039,"managed_user_id":"","name":"Perfil 1","network_pbs":{},"observed_session_time":{"feedback_rating_in_product_help_observed_session_time_key_136.0.3240.50":12.0,"feedback_rating_in_product_help_observed_session_time_key_136.0.3240.92":338.0,"feedback_rating_in_product_help_observed_session_time_key_137.0.3296.68":258.0,"feedback_rating_in_product_help_observed_session_time_key_137.0.3296.83":218.0,"feedback_rating_in_product_help_observed_session_time_key_137.0.3296.93":955.0},"password_hash_data_list":[],"signin_fre_seen_time":"13391008519941251","were_old_google_logins_removed":true},"reset_prepopulated_engines":false,"safety_hub":{"unused_site_permissions_revocation":{"migration_completed":true}},"sessions":{"event_log":[{"did_schedule_command":false,"first_session_service":true,"tab_count":0,"time":"13395417104876439","type":2,"window_count":0},{"crashed":false,"time":"13395417746874741","type":0},{"did_schedule_command":false,"first_session_service":true,"tab_count":0,"time":"13395419055830904","type":2,"window_count":0},{"crashed":false,"time":"13395419064149710","type":0},{"did_schedule_command":false,"first_session_service":true,"tab_count":0,"time":"13395435491208890","type":2,"window_count":0},{"crashed":false,"time":"13395443906186531","type":0},{"did_schedule_command":false,"first_session_service":true,"tab_count":0,"time":"13395457910477486","type":2,"window_count":0},{"crashed":false,"time":"13395457917633909","type":0},{"did_schedule_command":false,"first_session_service":true,"tab_count":0,"time":"13395458586196882","type":2,"window_count":0},{"crashed":false,"time":"13395459424923412","type":0},{"did_schedule_command":false,"first_session_service":true,"tab_count":0,"time":"13395459692283103","type":2,"window_count":0},{"crashed":false,"time":"13395459699816329","type":0},{"did_schedule_command":false,"first_session_service":true,"tab_count":0,"time":"13395459799979515","type":2,"window_count":0},{"crashed":false,"time":"13395493235826754","type":0},{"did_schedule_command":false,"first_session_service":true,"tab_count":0,"time":"13395493277675906","type":2,"window_count":0},{"crashed":false,"time":"13395493290603041","type":0},{"did_schedule_command":false,"first_session_service":true,"tab_count":0,"time":"13395495362141769","type":2,"window_count":0},{"crashed":false,"time":"13395542209149344","type":0},{"did_schedule_command":false,"first_session_service":true,"tab_count":0,"time":"13395542223063680","type":2,"window_count":0}],"session_data_status":3},"signin":{"allowed":true,"cookie_clear_on_exit_migration_notice_complete":true},"spellcheck":{"dictionaries":["en-US"]},"sync":{"passwords_per_account_pref_migration_done":true},"syncing_theme_prefs_migrated_to_non_syncing":true,"total_passwords_available_for_account":0,"total_passwords_available_for_profile":0,"translate_site_blacklist":[],"translate_site_blocklist_with_time":{},"user_experience_metrics":{"personalization_data_consent_enabled_last_known_value":false},"variations":{"state_reset_on_profile_load":{"timestamp":"13392903498692389"}}} \ No newline at end of file diff --git a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Session Storage/LOG b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Session Storage/LOG index 47323e99e..05050cfc8 100644 --- a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Session Storage/LOG +++ b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Session Storage/LOG @@ -1,3 +1,3 @@ -2025/06/26-15:18:11.205 8088 Reusing MANIFEST C:\ZendionInc\agrobot_base\AgroBase\AgroBase\bin\x64\Debug\AgroBase.exe.WebView2\EBWebView\Default\Session Storage/MANIFEST-000001 -2025/06/26-15:18:11.207 8088 Recovering log #3 -2025/06/26-15:18:11.210 8088 Reusing old log C:\ZendionInc\agrobot_base\AgroBase\AgroBase\bin\x64\Debug\AgroBase.exe.WebView2\EBWebView\Default\Session Storage/000003.log +2025/06/27-20:57:03.060 2104 Reusing MANIFEST C:\ZendionInc\agrobot_base\AgroBase\AgroBase\bin\x64\Debug\AgroBase.exe.WebView2\EBWebView\Default\Session Storage/MANIFEST-000001 +2025/06/27-20:57:03.061 2104 Recovering log #3 +2025/06/27-20:57:03.064 2104 Reusing old log C:\ZendionInc\agrobot_base\AgroBase\AgroBase\bin\x64\Debug\AgroBase.exe.WebView2\EBWebView\Default\Session Storage/000003.log diff --git a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Session Storage/LOG.old b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Session Storage/LOG.old index a9d0d601e..cf7279710 100644 --- a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Session Storage/LOG.old +++ b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Session Storage/LOG.old @@ -1,3 +1,3 @@ -2025/06/26-10:44:15.822 6078 Reusing MANIFEST C:\ZendionInc\agrobot_base\AgroBase\AgroBase\bin\x64\Debug\AgroBase.exe.WebView2\EBWebView\Default\Session Storage/MANIFEST-000001 -2025/06/26-10:44:15.823 6078 Recovering log #3 -2025/06/26-10:44:15.829 6078 Reusing old log C:\ZendionInc\agrobot_base\AgroBase\AgroBase\bin\x64\Debug\AgroBase.exe.WebView2\EBWebView\Default\Session Storage/000003.log +2025/06/27-07:56:02.137 746c Reusing MANIFEST C:\ZendionInc\agrobot_base\AgroBase\AgroBase\bin\x64\Debug\AgroBase.exe.WebView2\EBWebView\Default\Session Storage/MANIFEST-000001 +2025/06/27-07:56:02.138 746c Recovering log #3 +2025/06/27-07:56:02.141 746c Reusing old log C:\ZendionInc\agrobot_base\AgroBase\AgroBase\bin\x64\Debug\AgroBase.exe.WebView2\EBWebView\Default\Session Storage/000003.log diff --git a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Site Characteristics Database/LOG b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Site Characteristics Database/LOG index 7a8211996..df8527044 100644 --- a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Site Characteristics Database/LOG +++ b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Site Characteristics Database/LOG @@ -1,3 +1,3 @@ -2025/06/26-10:44:24.143 1508 Reusing MANIFEST C:\ZendionInc\agrobot_base\AgroBase\AgroBase\bin\x64\Debug\AgroBase.exe.WebView2\EBWebView\Default\Site Characteristics Database/MANIFEST-000001 -2025/06/26-10:44:24.145 1508 Recovering log #3 -2025/06/26-10:44:24.146 1508 Reusing old log C:\ZendionInc\agrobot_base\AgroBase\AgroBase\bin\x64\Debug\AgroBase.exe.WebView2\EBWebView\Default\Site Characteristics Database/000003.log +2025/06/27-20:56:49.144 3264 Reusing MANIFEST C:\ZendionInc\agrobot_base\AgroBase\AgroBase\bin\x64\Debug\AgroBase.exe.WebView2\EBWebView\Default\Site Characteristics Database/MANIFEST-000001 +2025/06/27-20:56:49.146 3264 Recovering log #3 +2025/06/27-20:56:49.146 3264 Reusing old log C:\ZendionInc\agrobot_base\AgroBase\AgroBase\bin\x64\Debug\AgroBase.exe.WebView2\EBWebView\Default\Site Characteristics Database/000003.log diff --git a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Site Characteristics Database/LOG.old b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Site Characteristics Database/LOG.old index b6404b4d5..4aa60695f 100644 --- a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Site Characteristics Database/LOG.old +++ b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Site Characteristics Database/LOG.old @@ -1,3 +1,3 @@ -2025/06/26-10:22:26.868 205c Reusing MANIFEST C:\ZendionInc\agrobot_base\AgroBase\AgroBase\bin\x64\Debug\AgroBase.exe.WebView2\EBWebView\Default\Site Characteristics Database/MANIFEST-000001 -2025/06/26-10:22:26.870 205c Recovering log #3 -2025/06/26-10:22:26.870 205c Reusing old log C:\ZendionInc\agrobot_base\AgroBase\AgroBase\bin\x64\Debug\AgroBase.exe.WebView2\EBWebView\Default\Site Characteristics Database/000003.log +2025/06/27-07:21:30.596 aec Reusing MANIFEST C:\ZendionInc\agrobot_base\AgroBase\AgroBase\bin\x64\Debug\AgroBase.exe.WebView2\EBWebView\Default\Site Characteristics Database/MANIFEST-000001 +2025/06/27-07:21:30.597 aec Recovering log #3 +2025/06/27-07:21:30.598 aec Reusing old log C:\ZendionInc\agrobot_base\AgroBase\AgroBase\bin\x64\Debug\AgroBase.exe.WebView2\EBWebView\Default\Site Characteristics Database/000003.log diff --git a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Web Data b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Web Data index d08affb88..e84f027d2 100644 Binary files a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Web Data and b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Default/Web Data differ diff --git a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/GrShaderCache/data_1 b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/GrShaderCache/data_1 index 076a2d016..ae71aeb7b 100644 Binary files a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/GrShaderCache/data_1 and b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/GrShaderCache/data_1 differ diff --git a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/GraphiteDawnCache/data_1 b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/GraphiteDawnCache/data_1 index 57bbc5729..3b11dced0 100644 Binary files a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/GraphiteDawnCache/data_1 and b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/GraphiteDawnCache/data_1 differ diff --git a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Local State b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Local State index 7d02bc97f..80a3886b4 100644 --- a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Local State +++ b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/Local State @@ -1 +1 @@ -{"accessibility":{"captions":{"common_models_path":"","soda_binary_path":""}},"autofill":{"ablation_seed":"FVeZQ4sBzKI="},"breadcrumbs":{"enabled":false,"enabled_time":"13393963065895987"},"cloned_install":{"count":3,"first_timestamp":"1746561492","last_timestamp":"1748429898"},"default_browser":{"browser_name_enum":1},"desktop_session_duration_tracker":{"last_session_end_timestamp":"1750945483"},"domain_actions_config":"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","edge":{"manageability":{"edge_last_active_time":"13395419080521646"},"mitigation_manager":{"renderer_app_container_compatible_count":261,"renderer_code_integrity_compatible_count":261},"tab_stabs":{"closed_without_unfreeze_never_unfrozen":0,"closed_without_unfreeze_previously_unfrozen":0,"discard_without_unfreeze_never_unfrozen":0,"discard_without_unfreeze_previously_unfrozen":0},"tab_stats":{"frozen_daily":0,"unfrozen_daily":0}},"edge_ci":{"metrics_bookmark":"\u003CBookmarkList>\r\n\u003C/BookmarkList>","num_healthy_browsers_since_failure":228},"edge_llm":{"on_device":{"shader_fp16_supported":2}},"edgel_llm":{"on_device":{"performance_info_version":"136.0.3240.92"}},"hardware_acceleration_mode_previous":true,"identity_combined_status":{"aad":1,"ad":1},"legacy":{"profile":{"name":{"migrated":true}}},"local":{"password_hash_data_list":[]},"network_time":{"network_time_mapping":{"local":1.750937419370929e+12,"network":1.750937385e+12,"ticks":780553007307.0,"uncertainty":1300491.0}},"optimization_guide":{"model_execution":{"last_usage_by_feature":{}},"model_store_metadata":{},"on_device":{"last_version":"137.0.3296.93","model_crash_count":0,"performance_class":5,"performance_class_version":"136.0.3240.92"}},"os_crypt":{"audit_enabled":true,"encrypted_key":"RFBBUEkBAAAA0Iyd3wEV0RGMegDAT8KX6wEAAABBQbsgNCzHQaexP0EpSXI4EAAAAB4AAABNAGkAYwByAG8AcwBvAGYAdAAgAEUAZABnAGUAAAAQZgAAAAEAACAAAACn/3tKDdTYiHqqfq16XAYbwcfvCmFMmx/5h5e0r36MtQAAAAAOgAAAAAIAACAAAACBLr2SFv04Nq5YQeQZXbYvprRObSgiqFlHtzzp/xttRzAAAAAyErhIwURlVhyS4Rt0V9eJSARpwqj9K2UaccJN2at1VgqAqbcPkfHiv1kjPiRAn1xAAAAAOXNDLJi1G29i2MRCQJJVjEDRTxCgM5blBQ+QNct1CTy94BOjJf4T8qsdhTuyJXbeqt+6OLRjQGXkjCvYmW5sIw=="},"performance_intervention":{"last_daily_sample":"13395415485336768"},"policy":{"last_statistics_update":"13395415198362643"},"profile":{"info_cache":{"Default":{"active_time":1750945469.678225,"avatar_icon":"chrome://theme/IDR_PROFILE_AVATAR_20","background_apps":false,"edge_account_cid":"","edge_account_environment":0,"edge_account_environment_string":"","edge_account_first_name":"","edge_account_last_name":"","edge_account_oid":"","edge_account_sovereignty":0,"edge_account_tenant_id":"","edge_account_type":0,"edge_profile_can_be_deleted":true,"edge_test_on_premises":false,"edge_wam_aad_for_app_account_type":0,"enterprise_label":"","force_signin_profile_locked":false,"gaia_given_name":"","gaia_id":"","gaia_name":"","hosted_domain":"","is_consented_primary_account":false,"is_ephemeral":false,"is_glic_eligible":false,"is_using_default_avatar":true,"is_using_default_name":true,"managed_user_id":"","metrics_bucket_index":1,"name":"Perfil 1","signin.with_credential_provider":false,"user_name":""}},"last_active_profiles":[],"metrics":{"next_bucket_index":2},"profile_counts_reported":"13395415198316275","profiles_order":["Default"]},"profile_network_context_service":{"http_cache_finch_experiment_groups":"None None None None"},"profiles":{"edge":{"guided_switch_pref":[],"multiple_profiles_with_same_account":false},"edge_sso_info":{"msa_first_profile_key":"Default","msa_sso_algo_state":1},"signin_last_seen_version":"137.0.3296.93","signin_last_updated_time":1750941622.66178},"sentinel_creation_time":"0","session_id_generator_last_value":"1079699008","signin":{"active_accounts_last_emitted":"13395415198316209"},"startup_boost":{"last_browser_open_time":"13395435491207871"},"subresource_filter":{"ruleset_version":{"checksum":1378861845,"content":"10.34.0.80","format":36}},"tab_stats":{"discards_external":0,"discards_proactive":0,"discards_urgent":0,"last_daily_sample":"13395415485269228","max_tabs_per_window":1,"reloads_external":0,"reloads_urgent":0,"total_tab_count_max":1,"window_count_max":1},"telemetry_client":{"cloned_install":{"user_data_dir_id":7415892},"governance":{"last_dma_change_date":"13391008519886652","last_known_cps":0},"host_telclient_path":"QzpcUHJvZ3JhbSBGaWxlcyAoeDg2KVxNaWNyb3NvZnRcRWRnZVdlYlZpZXdcQXBwbGljYXRpb25cMTM3LjAuMzI5Ni45M1x0ZWxjbGllbnQuZGxs","sample_id":35776468},"uninstall_metrics":{"installation_date2":"1746534919"},"updateclientdata":{"apps":{"ahmaebgpfccdhgidjaidaoojjcijckba":{"cohort":"","cohortname":"","fp":"1.4B81B4DF3AD971287E1AE02C449344FCFA5D20431DE17B2BA8854CC9CDCE4089","installdate":-1,"max_pv":"0.0.0.0","pv":"3.1.0.0"},"alpjnmnfbgfkmmpcfpejmmoebdndedno":{"cohort":"","cohortname":"","fp":"1.56E96B6819FAF673A2CC4750059D5D42BB2E89FEFC7C4D81896F64B01B35E789","installdate":-1,"max_pv":"22.0.0.0","pv":"24.0.0.0"},"eeobbhfgfagbclfofmgbdfoicabjdbkn":{"cohort":"","cohortname":"","fp":"1.A99D66CFCE8CA170740CE0403956F4DFAF4683829A89F4B7AD9C95303871E284","installdate":-1,"max_pv":"0.0.0.0","pv":"1.0.0.9"},"fgbafbciocncjfbbonhocjaohoknlaco":{"cohort":"","cohortname":"","fp":"1.6B1561D18D6D7D238C1FA4FB8AEF54E1F1E6B574D958BC0A41CA955F90AFD7DC","installdate":-1,"max_pv":"2025.1.17.1","pv":"2025.5.15.1"},"fppmbhmldokgmleojlplaaodlkibgikh":{"cohort":"","cohortname":"","fp":"1.A81D1959892AE4180554347DF1B97834ABBA2E1A5E6B9AEBA000ECEA26EABECC","installdate":-1,"max_pv":"0.0.0.0","pv":"1.15.0.1"},"hajigopbbjhghbfimgkfmpenfkclmohk":{"cohort":"","cohortname":"","installdate":-1},"jbfaflocpnkhbgcijpkiafdpbjkedane":{"cohort":"","cohortname":"","installdate":-1},"kpfehajjjbbcifeehjgfgnabifknmdad":{"cohort":"","cohortname":"","fp":"1.00AF3F07B5ABB71F6D30337E1EEF62FA280F06EF19485C0CF6B72171F92CCC0A","installdate":-1,"max_pv":"0.0.0.0","pv":"120.0.6050.0"},"ldfkbgjbencjpgjfleiooeldhjdapggh":{"cohort":"","cohortname":"","installdate":-1},"mcfjlbnicoclaecapilmleaelokfnijm":{"cohort":"","cohortname":"","installdate":-1},"ndikpojcjlepofdkaaldkinkjbeeebkl":{"cohort":"","cohortname":"","fp":"1.5110A67904F33F66A66CC9BE4DD3DA419A596DE32DAAE8F62BAA998D3BE5CA83","installdate":-1,"max_pv":"0.0.0.0","pv":"10.34.0.80"},"oankkpibpaokgecfckkdkgaoafllipag":{"cohort":"","cohortname":"","fp":"1.1AB07E887ACCA305058EEAB9053C96DC531C2C5C067AB4F30AFA2B31F1EDD966","installdate":-1,"max_pv":"0.0.0.0","pv":"6498.2024.12.2"},"ohckeflnhegojcjlcpbfpciadgikcohk":{"cohort":"","cohortname":"","fp":"1.95FD9D48E4FC245A3F3A99A3A16ECD1355050BA3F4AFC555F19A97C7F9B49677","installdate":-1,"max_pv":"0.0.0.0","pv":"0.0.1.7"},"ojblfafjmiikbkepnnolpgbbhejhlcim":{"cohort":"","cohortname":"","installdate":-1},"pghocgajpebopihickglahgebcmkcekh":{"cohort":"","cohortname":"","fp":"1.455D1A3B5F7FA199F27CB165FA6F54DF7972FBB6C62D422A14C2415791175931","installdate":-1,"max_pv":"0.0.0.0","pv":"3.0.0.14"},"pmagihnlncbcefglppponlgakiphldeh":{"cohort":"","cohortname":"","installdate":-1}}},"updateclientlastupdatecheckerror":0,"updateclientlastupdatecheckerrorcategory":0,"updateclientlastupdatecheckerrorextracode1":0,"user_experience_metrics":{"client_id2":"{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}C:\\Users\\USER1s:8D77BE96-F464-4F1E-A945-94A32163B03C","client_id_timestamp":"1748429898","diagnostics":{"last_data_collection_level_on_launch":3},"initial_logs2":[],"last_seen":{"BrowserMetrics":"13395419055925040","CrashpadMetrics":"13395417750061801","EBWebViewMetrics":"13393518844768572"},"limited_entropy_randomization_source":"B79E2F2B8BF37ED0175D8B72FCCE5EBF","log_finalized_record_id":890,"log_record_id":858,"low_entropy_source3":6923,"machine_id":5885746,"ongoing_logs2":[],"payload_counter":3,"pseudo_low_entropy_source":4745,"reporting_enabled":true,"reset_client_id_deterministic":true,"session_id":261,"stability":{"browser_last_live_timestamp":"13395435491316144","exited_cleanly":true,"saved_system_profile":"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","saved_system_profile_hash":"C4D0084A8B42A93AE77FBC616E1B551A888512C8","stats_buildtime":"1750345748","stats_version":"137.0.3296.93-64","system_crash_count":0},"unsent_log_metadata":{"initial_logs":{"sent_samples_count":0,"unsent_persisted_size_in_kb":0,"unsent_samples_count":0},"ongoing_logs":{"sent_samples_count":0,"unsent_persisted_size_in_kb":0,"unsent_samples_count":0}}},"variations":{"state_reset":{"timestamp":"13392903498608841"}},"variations_compressed_seed":"safe_seed_content","variations_config_ids":"{\"ECS\":\"P-R-1082570-1-11,P-D-42388-2-6\",\"EdgeConfig\":\"P-R-1612140-3-4,P-R-1565014-3-4,P-R-1541171-6-9,P-R-1528200-3-4,P-R-1480299-3-5,P-R-1459857-3-2,P-R-1459074-3-9,P-R-1447912-3-12,P-R-1315481-1-6,P-R-1253933-3-8,P-R-1160552-1-3,P-R-1133477-3-4,P-R-1113531-4-9,P-R-1082109-3-6,P-R-1054140-1-4,P-R-1049918-1-3,P-R-68474-9-12,P-R-60617-8-21,P-R-45373-8-85\",\"EdgeFirstRunConfig\":\"P-R-1253659-3-4,P-R-1075865-4-7\",\"Segmentation\":\"P-R-1473016-1-8,P-R-1159985-1-5,P-R-1113915-25-11,P-R-1098334-1-6,P-R-66078-1-3,P-R-66077-1-5,P-R-60882-1-2,P-R-43082-3-5,P-R-42744-1-2\"}","variations_country":"BR","variations_crash_streak":0,"variations_failed_to_fetch_seed_streak":1,"variations_google_groups":{"Default":[]},"variations_last_fetch_time":"13395411018272630","variations_last_runtime_fetch_time":"13395411019465238","variations_limited_entropy_synthetic_trial_seed_v2":"46","variations_permanent_consistency_country":["137.0.3296.93","BR"],"variations_runtime_compressed_seed":"H4sIAAAAAAAAAG2QzY7TQBCE36XPbjE9Pb+WOEASCCCRbHaRssIcjDNEQdgG2xEKkd8djSfJrgTH6q6a6a/OMGubb4f9u3kPOZwLWMzuC8gLWOMGSTiprUBComyNc1SSnUOJpoCsgMVuH+ZtXR6aV9VwaJv+WdCzVDoGfZYGbD2bOFCXgVTG8/Xp6S8jFBKymbR1LCa/S5KNnKRNkoTUqJF4kobJaFQoU1azVIwSk1cJ4Rn5umRnlUKLPm2ZnPcoPSqvJkYi7QwplHjV7JhcvOxGvTk2w6EOqbpn1OysESjRT877sK9DM5SxmyeTsiwooiQwIu29i1Xpiyb2pFHqp2a8Y47VJABjhJ3OuSl7SxvhnERCmchZOIl82SkZwQllASNk/3JAfoZF/XM4/XcTmvLrj/AmlMOxCz3knyGEroIv45jBMpS70PXRNmuPzdCdZu0uQA6vN/Gjh3IPORTw6f33lduuaUm/fr99rKrlqg62+vPxtHpYhxcq0N3d47bbfgjcvywAxvEvsWE/Dp0CAAA=","variations_safe_compressed_seed":"H4sIAAAAAAAAAJVWW3PiNhT+Kxm91kot302nD4TAhi5MKZfQTncnI+yDUWMkjyRzmUz+e0e2IZCNt908MDlH3/edi44OvKB+b4Y6L6h/SPIyhf5Bg+Q07wm+ZtkwVUM+EhnqaFmChWrvSGRzKjPQqIMgzeBJabrKAb1aqJ9mUIOM5meW57M908kGLxTNoL8Dru+ppuYwZcqwBkB1KUGhzt9oq4a8yuIaPeQDgHRFk2f09dVC91BISKiGsXpg2aYnuJZU6VZNk9M7aCXTYFkOs6PSsO0mCSjV20DynLNWvff4eyYh0UIehxok1Uzwu1zUCpVUFavPjczy0emmKTMYmk+kMHTTIkjnkMMWtDyaoMC/rWEJq0cG+//mX1S2fHTmjB+XjKdiPwWaM32sU2rrVAvcaj3q8nRRpFRDXeX20C3YfCOF1jmYzFR1+e03c0V4l3uPbkHSahLGgjMtJONZi9QYUkYHouRpdQMfU43859kdTZ4zaaBTUKKUCQygPcc2tNHa75wZ5elKHFrIQyVyqqEBQTpcS7oFdT0RU+ApSJDdojDjSRkH2dqw0xjU7A+pRnwpZJ72ymKQC6qPp0GvjLFIoVX+AmJkRoKmM001U5olaiSyjPFsIlkr/z1hP5GsoVWCszTZ1Km3zbl5qwZVlwGrbqk3E6rUMxzVYlgNu5x9b6gaDnDNkmoW3th1302AjSiKupQEemJbUAlTUIXg6mJ5fZTeibmgBesfCvJdyW46ojz7fQdSsvTHhN1K+I/FsGcIBTVzo0Ea8AvidAuog5IN5RxyZKEdzUvjGaBX63wMhUg2F4euXf9dYiRoSbnaMl0t8CfBn/ZMwpNmWxClftqyPGcKEsFTdSHlGBWT4Km2alOr1jutTrt5LvYjs1e/Wi0VNdCTagV+izpmiRRKrPXtElZ3UuwVyNuJFFqsyvXt4vP4tl7LEynWLAfLtoj/y/8gaarV7UhkM02ltmzL+xGSueocNFS8uinnXTwRxYya4+qzWV4fNWggZAJn2hltVS8qm4PSC87WQm7vmdKSrUoz1w9MaZFJum3vp1lchXNO4+oGL8cghTUtc/3JwD9CX4HL522r5NfX5jkMmFR6WvK3ob8H06bBtN9cTzUOkE7oMRc0bd0oLbTm66bQx4+jfdtlgLVMUJXgDLItcF1tBwMed4fdPEcdtKa5MiUtl/1rh0qKdWk8dvV/VlKZnoydWde2hcZu4PeEhGum2cvA9QzkjiWg3sWB1Z/za9cd49m1xxR47TmP50KZ2I3/1UIPQNNqBF5Qf04z1EFfEOm6d7tPhy7ZxUcV7YePhZra/yxLOnR/dn4Kx7kYzB6mYhQc/vr1CzLxDgWreoaWkFo3tnfzW8lvHNvxb4jXcYMOCW8+jedVbSXX8tirvlHQ3RRZyLyLUjWeak2cfjMO7+u8zI9NNMFTTOzI8UMbE0yINcH32HPcKMIODtD1z8gaHRCHeDZ2sWdVth/4NvEubI+QkOAAx43tRI59gfci24lj7GK/sf048kPsYuds26HRa/ieF8bEwS4mDcAlvhcRTHBQ247vxq6LXRzVNgls33cwwW5ju64Xhm8JEOL6LsHeKYAdOcQ2CTV6tu+ZAskJb3txTKKzXhB5oYfjUzqBHZAQR9ghlen5bujiCEc++vgBolPOgR+/5WSHfhT42MMhev8saoIXujYJMDkX6cdx5GNy6iIhbkx87Pj1JRrJOHJd79ymILDDiyICOwzP7MCOItOwuiLPtSPnfD+eE3pGxUGvr/8CnZ1cFaMMAAA=","variations_safe_seed_date":"13395328765000000","variations_safe_seed_fetch_time":"13395328798886643","variations_safe_seed_locale":"en-US","variations_safe_seed_milestone":136,"variations_safe_seed_permanent_consistency_country":"BR","variations_safe_seed_session_consistency_country":"BR","variations_safe_seed_signature":"","variations_seed_client_version_at_store":"136.0.3240.92","variations_seed_date":"13395410983000000","variations_seed_etag":"\"1A3BvGxA1v9ys8wIVpsR0jWuaI3/2+7MloFSHRoL6xY=\"","variations_seed_milestone":136,"variations_seed_runtime_etag":"\"UJjO8XP1H1qwGYccHOme7czNyOTPe/4e1QQYXrXKe3s=\"","variations_seed_signature":"","was":{"restarted":false}} \ No newline at end of file +{"accessibility":{"captions":{"common_models_path":"","soda_binary_path":""}},"autofill":{"ablation_seed":"FVeZQ4sBzKI="},"breadcrumbs":{"enabled":false,"enabled_time":"13393963065895987"},"cloned_install":{"count":3,"first_timestamp":"1746561492","last_timestamp":"1748429898"},"default_browser":{"browser_name_enum":1},"desktop_session_duration_tracker":{"last_session_end_timestamp":"1751068622"},"domain_actions_config":"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","edge":{"manageability":{"edge_last_active_time":"13395542219106101"},"mitigation_manager":{"renderer_app_container_compatible_count":268,"renderer_code_integrity_compatible_count":268},"tab_stabs":{"closed_without_unfreeze_never_unfrozen":0,"closed_without_unfreeze_previously_unfrozen":0,"discard_without_unfreeze_never_unfrozen":0,"discard_without_unfreeze_previously_unfrozen":0},"tab_stats":{"frozen_daily":0,"unfrozen_daily":0}},"edge_ci":{"metrics_bookmark":"\u003CBookmarkList>\r\n\u003C/BookmarkList>","num_healthy_browsers_since_failure":233},"edge_llm":{"on_device":{"shader_fp16_supported":2}},"edgel_llm":{"on_device":{"performance_info_version":"136.0.3240.92"}},"hardware_acceleration_mode_previous":true,"identity_combined_status":{"aad":1,"ad":1},"legacy":{"profile":{"name":{"migrated":true}}},"local":{"password_hash_data_list":[]},"network_time":{"network_time_mapping":{"local":1.751068610688969e+12,"network":1.751068575e+12,"ticks":911745771635.0,"uncertainty":1446204.0}},"optimization_guide":{"model_execution":{"last_usage_by_feature":{}},"model_store_metadata":{},"on_device":{"last_version":"137.0.3296.93","model_crash_count":0,"performance_class":5,"performance_class_version":"136.0.3240.92"}},"os_crypt":{"audit_enabled":true,"encrypted_key":"RFBBUEkBAAAA0Iyd3wEV0RGMegDAT8KX6wEAAABBQbsgNCzHQaexP0EpSXI4EAAAAB4AAABNAGkAYwByAG8AcwBvAGYAdAAgAEUAZABnAGUAAAAQZgAAAAEAACAAAACn/3tKDdTYiHqqfq16XAYbwcfvCmFMmx/5h5e0r36MtQAAAAAOgAAAAAIAACAAAACBLr2SFv04Nq5YQeQZXbYvprRObSgiqFlHtzzp/xttRzAAAAAyErhIwURlVhyS4Rt0V9eJSARpwqj9K2UaccJN2at1VgqAqbcPkfHiv1kjPiRAn1xAAAAAOXNDLJi1G29i2MRCQJJVjEDRTxCgM5blBQ+QNct1CTy94BOjJf4T8qsdhTuyJXbeqt+6OLRjQGXkjCvYmW5sIw=="},"performance_intervention":{"last_daily_sample":"13395542209160807"},"policy":{"last_statistics_update":"13395542209105074"},"profile":{"info_cache":{"Default":{"active_time":1751068616.718001,"avatar_icon":"chrome://theme/IDR_PROFILE_AVATAR_20","background_apps":false,"edge_account_cid":"","edge_account_environment":0,"edge_account_environment_string":"","edge_account_first_name":"","edge_account_last_name":"","edge_account_oid":"","edge_account_sovereignty":0,"edge_account_tenant_id":"","edge_account_type":0,"edge_profile_can_be_deleted":true,"edge_test_on_premises":false,"edge_wam_aad_for_app_account_type":0,"enterprise_label":"","force_signin_profile_locked":false,"gaia_given_name":"","gaia_id":"","gaia_name":"","hosted_domain":"","is_consented_primary_account":false,"is_ephemeral":false,"is_glic_eligible":false,"is_using_default_avatar":true,"is_using_default_name":true,"managed_user_id":"","metrics_bucket_index":1,"name":"Perfil 1","signin.with_credential_provider":false,"user_name":""}},"last_active_profiles":[],"metrics":{"next_bucket_index":2},"profile_counts_reported":"13395542209065918","profiles_order":["Default"]},"profile_network_context_service":{"http_cache_finch_experiment_groups":"None None None None"},"profiles":{"edge":{"guided_switch_pref":[],"multiple_profiles_with_same_account":false},"edge_sso_info":{"msa_first_profile_key":"Default","msa_sso_algo_state":1},"signin_last_seen_version":"137.0.3296.93","signin_last_updated_time":1751068609.156066},"sentinel_creation_time":"0","session_id_generator_last_value":"1079699379","signin":{"active_accounts_last_emitted":"13395542209061775"},"startup_boost":{"last_browser_open_time":"13395542223062636"},"subresource_filter":{"ruleset_version":{"checksum":1378861845,"content":"10.34.0.80","format":36}},"tab_stats":{"discards_external":0,"discards_proactive":0,"discards_urgent":0,"last_daily_sample":"13395542209095386","max_tabs_per_window":1,"reloads_external":0,"reloads_urgent":0,"total_tab_count_max":1,"window_count_max":1},"telemetry_client":{"cloned_install":{"user_data_dir_id":7415892},"governance":{"last_dma_change_date":"13391008519886652","last_known_cps":0},"host_telclient_path":"QzpcUHJvZ3JhbSBGaWxlcyAoeDg2KVxNaWNyb3NvZnRcRWRnZVdlYlZpZXdcQXBwbGljYXRpb25cMTM3LjAuMzI5Ni45M1x0ZWxjbGllbnQuZGxs","sample_id":35776468},"uninstall_metrics":{"installation_date2":"1746534919"},"updateclientdata":{"apps":{"ahmaebgpfccdhgidjaidaoojjcijckba":{"cohort":"","cohortname":"","fp":"1.4B81B4DF3AD971287E1AE02C449344FCFA5D20431DE17B2BA8854CC9CDCE4089","installdate":-1,"max_pv":"0.0.0.0","pv":"3.1.0.0"},"alpjnmnfbgfkmmpcfpejmmoebdndedno":{"cohort":"","cohortname":"","fp":"1.56E96B6819FAF673A2CC4750059D5D42BB2E89FEFC7C4D81896F64B01B35E789","installdate":-1,"max_pv":"22.0.0.0","pv":"24.0.0.0"},"eeobbhfgfagbclfofmgbdfoicabjdbkn":{"cohort":"","cohortname":"","fp":"1.A99D66CFCE8CA170740CE0403956F4DFAF4683829A89F4B7AD9C95303871E284","installdate":-1,"max_pv":"0.0.0.0","pv":"1.0.0.9"},"fgbafbciocncjfbbonhocjaohoknlaco":{"cohort":"","cohortname":"","fp":"1.6B1561D18D6D7D238C1FA4FB8AEF54E1F1E6B574D958BC0A41CA955F90AFD7DC","installdate":-1,"max_pv":"2025.1.17.1","pv":"2025.5.15.1"},"fppmbhmldokgmleojlplaaodlkibgikh":{"cohort":"","cohortname":"","fp":"1.A81D1959892AE4180554347DF1B97834ABBA2E1A5E6B9AEBA000ECEA26EABECC","installdate":-1,"max_pv":"0.0.0.0","pv":"1.15.0.1"},"hajigopbbjhghbfimgkfmpenfkclmohk":{"cohort":"","cohortname":"","installdate":-1},"jbfaflocpnkhbgcijpkiafdpbjkedane":{"cohort":"","cohortname":"","installdate":-1},"kpfehajjjbbcifeehjgfgnabifknmdad":{"cohort":"","cohortname":"","fp":"1.00AF3F07B5ABB71F6D30337E1EEF62FA280F06EF19485C0CF6B72171F92CCC0A","installdate":-1,"max_pv":"0.0.0.0","pv":"120.0.6050.0"},"ldfkbgjbencjpgjfleiooeldhjdapggh":{"cohort":"","cohortname":"","installdate":-1},"mcfjlbnicoclaecapilmleaelokfnijm":{"cohort":"","cohortname":"","installdate":-1},"ndikpojcjlepofdkaaldkinkjbeeebkl":{"cohort":"","cohortname":"","fp":"1.5110A67904F33F66A66CC9BE4DD3DA419A596DE32DAAE8F62BAA998D3BE5CA83","installdate":-1,"max_pv":"0.0.0.0","pv":"10.34.0.80"},"oankkpibpaokgecfckkdkgaoafllipag":{"cohort":"","cohortname":"","fp":"1.1AB07E887ACCA305058EEAB9053C96DC531C2C5C067AB4F30AFA2B31F1EDD966","installdate":-1,"max_pv":"0.0.0.0","pv":"6498.2024.12.2"},"ohckeflnhegojcjlcpbfpciadgikcohk":{"cohort":"","cohortname":"","fp":"1.95FD9D48E4FC245A3F3A99A3A16ECD1355050BA3F4AFC555F19A97C7F9B49677","installdate":-1,"max_pv":"0.0.0.0","pv":"0.0.1.7"},"ojblfafjmiikbkepnnolpgbbhejhlcim":{"cohort":"","cohortname":"","installdate":-1},"pghocgajpebopihickglahgebcmkcekh":{"cohort":"","cohortname":"","fp":"1.455D1A3B5F7FA199F27CB165FA6F54DF7972FBB6C62D422A14C2415791175931","installdate":-1,"max_pv":"0.0.0.0","pv":"3.0.0.14"},"pmagihnlncbcefglppponlgakiphldeh":{"cohort":"","cohortname":"","installdate":-1}}},"updateclientlastupdatecheckerror":0,"updateclientlastupdatecheckerrorcategory":0,"updateclientlastupdatecheckerrorextracode1":0,"user_experience_metrics":{"client_id2":"{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}C:\\Users\\USER1s:8D77BE96-F464-4F1E-A945-94A32163B03C","client_id_timestamp":"1748429898","diagnostics":{"last_data_collection_level_on_launch":3},"initial_logs2":[{"count_id":"","data":"H4sIAAAAAAAAAO3Wf2wTVQAH8Lvb1pXbD44Cpg4Zt5KRbllv73q9/hjuB12l68bKNtb9Ijiv7dvW2rWl3dZtBBgYVMAEUIkIkihCIJsoIcZMCDq6aRRE5sCAThFUxob4AxaDEMJMC6/8WNDwf98f7z737vru9d3duy/ZT03JVkp+7a4YCVAbiZRdlPj1wcGgSEKxnIYBDKfUqRkdp1CrpG8fGT4qksVBt8KyJFNKktUOt90T8NPmSgnJAgYwSjULgPJFghS1a9X1ahW1ZwKXdnX17g5OzJElG2CD0Opqof0tPoe7UR4DuqZqe8X6bbj4XBq105SSyLEMYFie4ViNTjnD6PE0uiBtctsYWm6uMhlMCzJyXAvMxkXPoP0s+s6WNsKFHp8N0hWVNTQHNIBeJHhbPF7aWGah5aAdAACUKp0hgzY4fNDWwhlYlm7z1/P1gPaGN1m0IdSouH8IGaWb+MN6yxf5h/UQw7rynVIy0QjdrQ43NLlboIsaekUupWhcjq3FCTG2IVR143f/+gEcLyaT9n4wo3fms56hs8Vk0rylp9cgX++ZvxK5f+S7E8ipePenyPEnM3zI5+L3dyMHdlyLnC8cfi4G+ecLHZeRD44u70AuUnelIw/aci8inxqpeAuZmyofQlaN79yInPVejB75s7n7dyP/QpgJ5FVxnu3IhfmrMOQ3Vo+tRb62TpqCvHVukxjZkN79AnK+pScy/tZTWVeQP6o3LkTuXPF7pH/3wOdzkEH/6VjkhPjRD5HnHH33NnLz8Z3fIo+9X/FxZP4v347MbaPuTDKyqKQTR+7pDX6PPIwFNyM/lVdfgpz75pYjkfmcVbgX+Yb06ci8YQMFDPITkpGyiF37DyF7Zw1F7m/8cO03yNNzgq8if3LF0oA8UHluHfKhFccjc1JVkBcZ2+axnnzkHXpvKnLM+o59kedhkyQ3Mua+9Wci90V+ZDDsstg6oxinLg7fCIqkm364ERTJpCTJMhzD6nhGzVLhNilGY3IsczaZ9MD6ETlIyLeuSbTGmsz6GqdYjFGEVlQg6sL7xi/1iYL4TLFeEh9aSgADZmMYhqWHqn/wjeouYgIV/GUC30esTz9IGG4vPfnSH07FalsgdeUlF28VtpkN49MOpnYeZ9NO3HyhcBwfLp31d9xVXcKPu+qTE/rm97c7yy+sTV80nrRsbvXYCssMavshIlkcXtqkB3rH+kR0zFViubyub8/XPy25SbBJhZVmk4TkAWBYVWhYMir89tP3ijJRyYAsGmTRLMNpN8TEkgSGH8s7G0fGijEKy/yKIN/ByabqHACAGvBqjUrFqax2FjRoVCqtkud1rNbK8naWg1oruFvSQpVd4HQCByEP1VaVFdg5Jc9bG2CDjlcDVqsDQoNdCzRAl7ag0efRC37IwHYokSlZwGYDTTbQ5LCaHFaZw/Np4IFzUsRoTxbP3pluiRQ2W6HdDu0Kq88T8EOfIgCtbQ4YkMx71BGF3etQCAHBB93Q75fQzR6nR+EWmqFd4XUJLQ0eX7PC1iS43dCl8Dq8UJLo9kCfz+4QXJ5GvySpNdSXXWgRFHaHT0KhXmE7DPcimX5/Sxv0+R0et9IqxmSMrNHUXMbZnEWOEq4SVleV6zSaDmWjX/l8laY9u7rJWdrm8DnbTVV1KkuuLJORWYqdi7U1ZWwRuzxgrLXZihY3Q42t09yxuLIMZqsgW15eW+OrKYGcP1eWkyAen7j15/Xw01Z3C5/S+po0tiq5rGBab+q638p7jQVPYuFSi6Ca1PJX/sPAsIdRO+lXj4XJF53cc+Tq/zEw1aNPri3oJMShD5w0/IHDu3GCxM7j10Sj+Jb4L/NiMAxLwDEsc5Qih6JBIhokokEiGiSiQSIaJKJBIhok/j9IKJOmVJUOnDo/e1lWCkHhk3MFNURJMVmiGKewO+uBFis+Fs0Z0ZwRzRnRnBHNGdGcEc0Z0Zzx2DnjXr74F85ybhT+GAAA","hash":"WLA00fLD0NkdbVwVxGAHSw7eSco=","signature":"CAWXzqcWW58LYQRX0pGwBfe7qLmQ635suKEOx88yKWs=","timestamp":"1751068609"}],"last_seen":{"BrowserMetrics":"13395493239150038","CrashpadMetrics":"13395493293777004","EBWebViewMetrics":"13395459386838910"},"limited_entropy_randomization_source":"B79E2F2B8BF37ED0175D8B72FCCE5EBF","log_finalized_record_id":913,"log_record_id":883,"low_entropy_source3":6923,"machine_id":5885746,"ongoing_logs2":[],"payload_counter":1,"pseudo_low_entropy_source":4745,"reporting_enabled":true,"reset_client_id_deterministic":true,"session_id":268,"stability":{"browser_last_live_timestamp":"13395542223164821","exited_cleanly":true,"saved_system_profile":"CJTQ0MIGEhAxMzcuMC4zMjk2LjkzLTY0GKC928EGIgVlbi1VUyoYCgpXaW5kb3dzIE5UEgoxMC4wLjI2MTAwMnMKBng4Nl82NBCl/wEYgIC4pML/HyIORGVmYXVsdCBzdHJpbmcoAzCADzi4CEIKCAAQABoAMgA6AE2PNbtCVcg/u0JlAACAP2oYCgxHZW51aW5lSW50ZWwQ0owoGBAgASgAggEAigEAqgEGeDg2XzY0sAEBSgoNH8Gj/hVeb9LYSgoNcBvSzRVeb9LYSgoNkOmrPxVeb9LYUARaAggAYgRJTkJYaggIABAAOABAAIABwPPnwAb4AYs2gAL///////////8BiAIBqAKJJbICRP5bz4fuai1/Y3cefedsNWJhmE5E8xGyHnrLMSHN+oND8wHbTRv1BfE5C92iXw4LwDvDeGpR4YIlTPMNXSNX6XtVFBCaugIOCKC928EGGLC46cAGIAPxAkBSdIRGOAqLyj7HBQoECAAQACrAAgqVAQpoVzowMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCFBZ3JvQmFzZS5leGUSIDE5MDAvMDEvMDE6MDA6MDA6MDAhQWdyb0Jhc2UuZXhlIgcxLjAuMC4wEhhlbWJlZGRlZC1icm93c2VyLXdlYnZpZXcSJmVtYmVkZGVkLWJyb3dzZXItd2Vidmlldy1kcGktYXdhcmVuZXNzEiBtb2pvLW5hbWVkLXBsYXRmb3JtLWNoYW5uZWwtcGlwZRIMbm9lcnJkaWFsb2dzEg11c2VyLWRhdGEtZGlyEhB3ZWJ2aWV3LWV4ZS1uYW1lEhN3ZWJ2aWV3LWV4ZS12ZXJzaW9uMmIIACIuImdJbVAzY2pIaUszVGVXVlE5Nzd5MmdzMmtWN3gvV2hqTXZpcmp4SVZaNFU9IiouIlVKak84WFAxSDFxd0dZY2NIT21lN2N6TnlPVFBlLzRlMVFRWVhyWEtlM3M9IjoLCPP//O/3/////wFa/AEJdZMYBFYOUEARuB6F61G4R0AZAAAAAAAAWUAZAAAAAAAANEAZAAAAAAAAWUAZAAAAAAAA8D8ZAAAAAAAA8D8ZAAAAAAAAAAAZAAAAAAAAAAAZAAAAAAAAWUAZAAAAAAAAWUAZAAAAAAAAWUAZAAAAAAAAWUAZAAAAAAAAWUAZAAAAAAAAWUAZAAAAAAAAWUAZAAAAAAAANEAZAAAAAAAAWUAZAAAAAAAAAAAZAAAAAAAAWUAZAAAAAAAA8D8ZAAAAAAAAWUAZAAAAAAAA8D8ZAAAAAAAA8D8ZAAAAAAAANEAZAAAAAAAA8D8ZAAAAAAAAWUAZAAAAAAAAWUB6AggAggECGACqAQIKAA==","saved_system_profile_hash":"2673F5A91492566CD7FE2D9FF9AD56DA6449FD17","stats_buildtime":"1750345748","stats_version":"137.0.3296.93-64","system_crash_count":0},"unsent_log_metadata":{"initial_logs":{"sent_samples_count":0,"unsent_persisted_size_in_kb":2,"unsent_samples_count":1},"ongoing_logs":{"sent_samples_count":0,"unsent_persisted_size_in_kb":0,"unsent_samples_count":0}}},"variations":{"state_reset":{"timestamp":"13392903498608841"}},"variations_compressed_seed":"safe_seed_content","variations_config_ids":"{\"ECS\":\"P-R-1082570-1-11,P-D-42388-2-6\",\"EdgeConfig\":\"P-R-1612140-3-4,P-R-1565014-3-5,P-R-1541171-6-9,P-R-1528200-3-4,P-R-1480299-3-5,P-R-1459857-3-2,P-R-1459074-3-9,P-R-1447912-3-12,P-R-1315481-1-6,P-R-1253933-3-8,P-R-1160552-1-3,P-R-1133477-3-4,P-R-1113531-4-9,P-R-1082109-3-6,P-R-1054140-1-4,P-R-1049918-1-3,P-R-68474-9-12,P-R-60617-8-21,P-R-45373-8-85\",\"EdgeFirstRunConfig\":\"P-R-1253659-3-4,P-R-1075865-4-7\",\"Segmentation\":\"P-R-1473016-1-8,P-R-1159985-1-5,P-R-1113915-25-11,P-R-1098334-1-6,P-R-66078-1-3,P-R-66077-1-5,P-R-60882-1-2,P-R-43082-3-5,P-R-42744-1-2\"}","variations_country":"BR","variations_crash_streak":0,"variations_failed_to_fetch_seed_streak":1,"variations_google_groups":{"Default":[]},"variations_last_fetch_time":"13395542209513706","variations_last_runtime_fetch_time":"13395542210856133","variations_limited_entropy_synthetic_trial_seed_v2":"46","variations_permanent_consistency_country":["137.0.3296.93","BR"],"variations_runtime_compressed_seed":"H4sIAAAAAAAAAG2QzY7TQBCE36XPbjE9Pb+WOEASCCCRbHaRssIcjDNEQdgG2xEKkd8djSfJrgTH6q6a6a/OMGubb4f9u3kPOZwLWMzuC8gLWOMGSTiprUBComyNc1SSnUOJpoCsgMVuH+ZtXR6aV9VwaJv+WdCzVDoGfZYGbD2bOFCXgVTG8/Xp6S8jFBKymbR1LCa/S5KNnKRNkoTUqJF4kobJaFQoU1azVIwSk1cJ4Rn5umRnlUKLPm2ZnPcoPSqvJkYi7QwplHjV7JhcvOxGvTk2w6EOqbpn1OysESjRT877sK9DM5SxmyeTsiwooiQwIu29i1Xpiyb2pFHqp2a8Y47VJABjhJ3OuSl7SxvhnERCmchZOIl82SkZwQllASNk/3JAfoZF/XM4/XcTmvLrj/AmlMOxCz3knyGEroIv45jBMpS70PXRNmuPzdCdZu0uQA6vN/Gjh3IPORTw6f33lduuaUm/fr99rKrlqg62+vPxtHpYhxcq0N3d47bbfgjcvywAxvEvsWE/Dp0CAAA=","variations_safe_compressed_seed":"H4sIAAAAAAAAAJVWW3PiNhT+Kxk9W6nlu+n0gRBo6IYpyyV02t3JCPtgtLEljyQHmEz+e0e2IZCNt908MDlH3/edi44OvKDhYI56L2i4T/IqheFeg+Q0Hwi+Ydk4VWN+LzLU07ICCzXee5EtqMxAox6CNINHpek6B/RqoWGaQQMymp9Yns93TCdbvFQ0g+EzcH1LNTWHKVOGNQKqKwkK9f5BhRrzOotL9JiPANI1TZ7Q11cL3UIpIaEaJuqOZduB4FpSpTs1TU7voLVMi2U5zA9KQ9FPElBqsIXkKWedeu/xt0xCooU8jDVIqpngN7loFGqpOtaQG5nVg9NPU2YwNJ9KYeimRZAuIIcCtDyYoMC/r2EF6wcGu//mn1W2enAWjB9WjKdiNwOaM31oUurqVAfc6jzq83RZplRDU2Wx75dssZVC6xxMZqq+/O6buSC8y31AC5C0noSJ4EwLyXjWITWBlNGRqHha38DHVCP/aX5Dk6dMGugMlKhkAiPozrELbbR2z86c8nQt9h3ksRI51dCCIB1vJC1AXU7EDHgKEmS/LM14UsZBdjbsOAYN+0OqEV8JmaeDqhzlgurDcdBrYyJS6JQ/gxiZe0HTuaaaKc0SdS+yjPFsKlkn/z1hN5WspdWC8zTZNql3zbl5qwbVlAHrfqW3U6rUExzUclwPu5z/aKhaDnDNknoW3thN302ArSjLppQEBqIoqYQZqFJwdba8PkrvyFzSkg33JfmhZD+9pzz78xmkZOnPCbu18OfleGAIJTVzo0Ea8AvitADUQ8mWcg45stAzzSvjGaFX63QMpUi2Z4eu3fydYyRoSbkqmK4X+KPgjzsm4VGzAkSlHwuW50xBIniqzqQco2ISPNZWb2rVeaf1aT/Pxe7e7NWvVkdFLfSoWoPfok5YIoUSG329gvWNFDsF8noqhRbranO9/DS5btbyVIoNy8GyLeL/+j9Immp1fS+yuaZSW7bl/QzJXHUOGmpe05TTLp6Kck7Ncf3ZLq+PGjQSMoET7YS26heVLUDpJWcbIYtbprRk68rM9R1TWmSSFt39NIurdE5pXNzg+RiksKFVrn838I/QF+DqqeiU/PraPocRk0rPKv429Ldg2jSaDdvrqccB0ik95IKmnRulg9Z+3ZT68HG077sMsJEJqhOcQ1YA1/V2MOBJf9zPc9RDG5orU9JqNbx0qKTcVMZj1/9nFZXp0Xg269q20MQN/IGQcMk0exm4noN8Zgmod3Fg/dfi0nXDeHbpMQVeek7juVQmdut/tdAd0LQegRc0XNAM9dAXlI2LqZt8u2Of3AWsHj7HYXhwMuU8PYT7X1bbb5NnJr/txw9/e8vfviATb1+yumdoJJl15YRXf1T8yrEd/8q2e27Y88nV75NFXVvFtTwM6m8UdDNDFjLvolKtp14Tx9+M49smL/NjE03xDBM7cvzQxgQTYk3xLfYcN4qwgwN0+TOyQQfEIZ6NXexZte0Hvk087GK/tT1CQoIDHLe2Ezn2Gd6LbCeO3/CeH0d+iF3snGw7NHot3/PCmDjYxaQFuMT3IoIJDhrb8d3YdbGLo8Ymge37DibYbW3X9cLwLQFCXN8l2DsGsCOH2CahVs/2PVMgOeJtL45JdNILIi/0cHxMJ7ADEuIIO6Q2Pd8NXRzhyEcfP0B0zDnw47ec7NCPAh97OETvn0VD8ELXJgEmpyL9OI58TI5dJMSNiY8dv7lEIxlHruud2hQEdnhWRGCH4Ykd2FFkGtZU5Ll25Jzux3NCz6g46PX1Xyi+wGWjDAAA","variations_safe_seed_date":"13395454671000000","variations_safe_seed_fetch_time":"13395542209513706","variations_safe_seed_locale":"en-US","variations_safe_seed_milestone":137,"variations_safe_seed_permanent_consistency_country":"BR","variations_safe_seed_session_consistency_country":"BR","variations_safe_seed_signature":"","variations_seed_client_version_at_store":"137.0.3296.93","variations_seed_date":"13395542173000000","variations_seed_etag":"\"gImP3cjHiK3TeWVQ977y2gs2kV7x/WhjMvirjxIVZ4U=\"","variations_seed_milestone":137,"variations_seed_runtime_etag":"\"UJjO8XP1H1qwGYccHOme7czNyOTPe/4e1QQYXrXKe3s=\"","variations_seed_signature":"","was":{"restarted":false}} \ No newline at end of file diff --git a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/ShaderCache/data_1 b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/ShaderCache/data_1 index e967003c9..d7a7fedd0 100644 Binary files a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/ShaderCache/data_1 and b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.WebView2/EBWebView/ShaderCache/data_1 differ diff --git a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.config b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.config index 851fa970a..7348257b4 100644 --- a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.config +++ b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.exe.config @@ -21,6 +21,14 @@ + + + + + + + + diff --git a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.pdb b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.pdb index 574726b9d..3708395ee 100644 Binary files a/AgroBase/AgroBase/bin/x64/Debug/AgroBase.pdb and b/AgroBase/AgroBase/bin/x64/Debug/AgroBase.pdb differ diff --git a/AgroBase/AgroBase/bin/x64/Debug/Microsoft.Extensions.Logging.Abstractions.dll b/AgroBase/AgroBase/bin/x64/Debug/Microsoft.Extensions.Logging.Abstractions.dll new file mode 100644 index 000000000..1c729bba3 --- /dev/null +++ b/AgroBase/AgroBase/bin/x64/Debug/Microsoft.Extensions.Logging.Abstractions.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:050405babe5276f1b2e405809c46847da2b4a7cb005a976c58949ed68d9ff37a +size 64112 diff --git a/AgroBase/AgroBase/bin/x64/Debug/Microsoft.Extensions.Logging.Abstractions.xml b/AgroBase/AgroBase/bin/x64/Debug/Microsoft.Extensions.Logging.Abstractions.xml new file mode 100644 index 000000000..07d86f09a --- /dev/null +++ b/AgroBase/AgroBase/bin/x64/Debug/Microsoft.Extensions.Logging.Abstractions.xml @@ -0,0 +1,1228 @@ + + + + Microsoft.Extensions.Logging.Abstractions + + + + + Identifies a logging event. The primary identifier is the "Id" property, with the "Name" property providing a short description of this type of event. + + + + + Implicitly creates an EventId from the given . + + The to convert to an EventId. + + + + Checks if two specified instances have the same value. They are equal if they have the same Id. + + The first . + The second . + if the objects are equal. + + + + Checks if two specified instances have different values. + + The first . + The second . + if the objects are not equal. + + + + Initializes an instance of the struct. + + The numeric identifier for this event. + The name of this event. + + + + Gets the numeric identifier for this event. + + + + + Gets the name of this event. + + + + + + + + Indicates whether the current object is equal to another object of the same type. Two events are equal if they have the same id. + + An object to compare with this object. + if the current object is equal to the other parameter; otherwise, . + + + + + + + + + + LogValues to enable formatting options supported by . + This also enables using {NamedformatItem} in the format string. + + + + + Represents a storage of common scope data. + + + + + Executes callback for each currently active scope objects in order of creation. + All callbacks are guaranteed to be called inline from this method. + + The callback to be executed for every scope object + The state object to be passed into the callback + The type of state to accept. + + + + Adds scope object to the list + + The scope object + The token that removes scope on dispose. + + + + Represents a type used to perform logging. + + Aggregates most logging patterns to a single method. + + + + Writes a log entry. + + Entry will be written on this level. + Id of the event. + The entry to be written. Can be also an object. + The exception related to this entry. + Function to create a message of the and . + The type of the object to be written. + + + + Checks if the given is enabled. + + Level to be checked. + true if enabled. + + + + Begins a logical operation scope. + + The identifier for the scope. + The type of the state to begin scope for. + An that ends the logical operation scope on dispose. + + + + Represents a type used to configure the logging system and create instances of from + the registered s. + + + + + Creates a new instance. + + The category name for messages produced by the logger. + The . + + + + Adds an to the logging system. + + The . + + + + Represents a type that can create instances of . + + + + + Creates a new instance. + + The category name for messages produced by the logger. + The instance of that was created. + + + + A generic interface for logging where the category name is derived from the specified + type name. + Generally used to enable activation of a named from dependency injection. + + The type whose name is used for the logger category name. + + + + Represents a that is able to consume external scope information. + + + + + Sets external scope information source for logger provider. + + The provider of scope data. + + + + Options for and its overloads + + + + + Gets or sets the flag to skip IsEnabled check for the logging method. + + + + + Holds the information for a single log entry. + + + + + Initializes an instance of the LogEntry struct. + + The log level. + The category name for the log. + The log event Id. + The state for which log is being written. + The log exception. + The formatter. + + + + Gets the LogLevel + + + + + Gets the log category + + + + + Gets the log EventId + + + + + Gets the TState + + + + + Gets the log exception + + + + + Gets the formatter + + + + + Minimalistic logger that does nothing. + + + + + Returns the shared instance of . + + + + + + + + + + + + + + An used to create instance of + that logs nothing. + + + + + Creates a new instance. + + + + + Returns the shared instance of . + + + + + + This returns a instance which logs nothing. + + + + + + This method ignores the parameter and does nothing. + + + + + + + + Provider for the . + + + + + Returns an instance of . + + + + + + + + + + + Minimalistic logger that does nothing. + + + + + Returns an instance of . + + An instance of . + + + + + + + + This method ignores the parameters and does nothing. + + + + + + + + ILogger extension methods for common scenarios. + + + + + Formats and writes a debug log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}" + An object array that contains zero or more objects to format. + logger.LogDebug(0, exception, "Error while processing request from {Address}", address) + + + + Formats and writes a debug log message. + + The to write to. + The event id associated with the log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}" + An object array that contains zero or more objects to format. + logger.LogDebug(0, "Processing request from {Address}", address) + + + + Formats and writes a debug log message. + + The to write to. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}" + An object array that contains zero or more objects to format. + logger.LogDebug(exception, "Error while processing request from {Address}", address) + + + + Formats and writes a debug log message. + + The to write to. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}" + An object array that contains zero or more objects to format. + logger.LogDebug("Processing request from {Address}", address) + + + + Formats and writes a trace log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}" + An object array that contains zero or more objects to format. + logger.LogTrace(0, exception, "Error while processing request from {Address}", address) + + + + Formats and writes a trace log message. + + The to write to. + The event id associated with the log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}" + An object array that contains zero or more objects to format. + logger.LogTrace(0, "Processing request from {Address}", address) + + + + Formats and writes a trace log message. + + The to write to. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}" + An object array that contains zero or more objects to format. + logger.LogTrace(exception, "Error while processing request from {Address}", address) + + + + Formats and writes a trace log message. + + The to write to. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}" + An object array that contains zero or more objects to format. + logger.LogTrace("Processing request from {Address}", address) + + + + Formats and writes an informational log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}" + An object array that contains zero or more objects to format. + logger.LogInformation(0, exception, "Error while processing request from {Address}", address) + + + + Formats and writes an informational log message. + + The to write to. + The event id associated with the log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}" + An object array that contains zero or more objects to format. + logger.LogInformation(0, "Processing request from {Address}", address) + + + + Formats and writes an informational log message. + + The to write to. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}" + An object array that contains zero or more objects to format. + logger.LogInformation(exception, "Error while processing request from {Address}", address) + + + + Formats and writes an informational log message. + + The to write to. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}" + An object array that contains zero or more objects to format. + logger.LogInformation("Processing request from {Address}", address) + + + + Formats and writes a warning log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}" + An object array that contains zero or more objects to format. + logger.LogWarning(0, exception, "Error while processing request from {Address}", address) + + + + Formats and writes a warning log message. + + The to write to. + The event id associated with the log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}" + An object array that contains zero or more objects to format. + logger.LogWarning(0, "Processing request from {Address}", address) + + + + Formats and writes a warning log message. + + The to write to. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}" + An object array that contains zero or more objects to format. + logger.LogWarning(exception, "Error while processing request from {Address}", address) + + + + Formats and writes a warning log message. + + The to write to. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}" + An object array that contains zero or more objects to format. + logger.LogWarning("Processing request from {Address}", address) + + + + Formats and writes an error log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}" + An object array that contains zero or more objects to format. + logger.LogError(0, exception, "Error while processing request from {Address}", address) + + + + Formats and writes an error log message. + + The to write to. + The event id associated with the log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}" + An object array that contains zero or more objects to format. + logger.LogError(0, "Processing request from {Address}", address) + + + + Formats and writes an error log message. + + The to write to. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}" + An object array that contains zero or more objects to format. + logger.LogError(exception, "Error while processing request from {Address}", address) + + + + Formats and writes an error log message. + + The to write to. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}" + An object array that contains zero or more objects to format. + logger.LogError("Processing request from {Address}", address) + + + + Formats and writes a critical log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}" + An object array that contains zero or more objects to format. + logger.LogCritical(0, exception, "Error while processing request from {Address}", address) + + + + Formats and writes a critical log message. + + The to write to. + The event id associated with the log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}" + An object array that contains zero or more objects to format. + logger.LogCritical(0, "Processing request from {Address}", address) + + + + Formats and writes a critical log message. + + The to write to. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}" + An object array that contains zero or more objects to format. + logger.LogCritical(exception, "Error while processing request from {Address}", address) + + + + Formats and writes a critical log message. + + The to write to. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}" + An object array that contains zero or more objects to format. + logger.LogCritical("Processing request from {Address}", address) + + + + Formats and writes a log message at the specified log level. + + The to write to. + Entry will be written on this level. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes a log message at the specified log level. + + The to write to. + Entry will be written on this level. + The event id associated with the log. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes a log message at the specified log level. + + The to write to. + Entry will be written on this level. + The exception to log. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes a log message at the specified log level. + + The to write to. + Entry will be written on this level. + The event id associated with the log. + The exception to log. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats the message and creates a scope. + + The to create the scope in. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}" + An object array that contains zero or more objects to format. + A disposable scope object. Can be null. + + using(logger.BeginScope("Processing request from {Address}", address)) + { + } + + + + + Default implementation of + + + + + Creates a new . + + + + + + + + + + + ILoggerFactory extension methods for common scenarios. + + + + + Creates a new instance using the full name of the given type. + + The factory. + The type. + The that was created. + + + + Creates a new instance using the full name of the given . + + The factory. + The type. + The that was created. + + + + Creates delegates which can be later cached to log messages in a performant way. + + + + + Creates a delegate which can be invoked to create a log scope. + + The named format string + A delegate which when invoked creates a log scope. + + + + Creates a delegate which can be invoked to create a log scope. + + The type of the first parameter passed to the named format string. + The named format string + A delegate which when invoked creates a log scope. + + + + Creates a delegate which can be invoked to create a log scope. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The named format string + A delegate which when invoked creates a log scope. + + + + Creates a delegate which can be invoked to create a log scope. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The named format string + A delegate which when invoked creates a log scope. + + + + Creates a delegate which can be invoked to create a log scope. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The named format string + A delegate which when invoked creates a log scope. + + + + Creates a delegate which can be invoked to create a log scope. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The type of the fifth parameter passed to the named format string. + The named format string + A delegate which when invoked creates a log scope. + + + + Creates a delegate which can be invoked to create a log scope. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The type of the fifth parameter passed to the named format string. + The type of the sixth parameter passed to the named format string. + The named format string + A delegate which when invoked creates a log scope. + + + + Creates a delegate which can be invoked for logging a message. + + The + The event id + The named format string + A delegate which when invoked creates a log message. + + + + Creates a delegate which can be invoked for logging a message. + + The + The event id + The named format string + The + A delegate which when invoked creates a log message. + + + + Creates a delegate which can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The + The event id + The named format string + A delegate which when invoked creates a log message. + + + + Creates a delegate which can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The + The event id + The named format string + The + A delegate which when invoked creates a log message. + + + + Creates a delegate which can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The + The event id + The named format string + A delegate which when invoked creates a log message. + + + + Creates a delegate which can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The + The event id + The named format string + The + A delegate which when invoked creates a log message. + + + + Creates a delegate which can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The + The event id + The named format string + A delegate which when invoked creates a log message. + + + + Creates a delegate which can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The + The event id + The named format string + The + A delegate which when invoked creates a log message. + + + + Creates a delegate which can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The + The event id + The named format string + A delegate which when invoked creates a log message. + + + + Creates a delegate which can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The + The event id + The named format string + The + A delegate which when invoked creates a log message. + + + + Creates a delegate which can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The type of the fifth parameter passed to the named format string. + The + The event id + The named format string + A delegate which when invoked creates a log message. + + + + Creates a delegate which can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The type of the fifth parameter passed to the named format string. + The + The event id + The named format string + The + A delegate which when invoked creates a log message. + + + + Creates a delegate which can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The type of the fifth parameter passed to the named format string. + The type of the sixth parameter passed to the named format string. + The + The event id + The named format string + A delegate which when invoked creates a log message. + + + + Creates a delegate which can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The type of the fifth parameter passed to the named format string. + The type of the sixth parameter passed to the named format string. + The + The event id + The named format string + The + A delegate which when invoked creates a log message. + + + + Provides information to guide the production of a strongly-typed logging method. + + + The method this attribute is applied to: + - Must be a partial method. + - Must return void. + - Must not be generic. + - Must have an as one of its parameters. + - Must have a as one of its parameters. + - None of the parameters can be generic. + + + + + + + + Initializes a new instance of the class + which is used to guide the production of a strongly-typed logging method. + + + + + Initializes a new instance of the class + which is used to guide the production of a strongly-typed logging method. + + The log event Id. + The log level. + Format string of the log message. + + + + Gets the logging event id for the logging method. + + + + + Gets or sets the logging event name for the logging method. + + + This will equal the method name if not specified. + + + + + Gets the logging level for the logging method. + + + + + Gets the message text for the logging method. + + + + + Gets the flag to skip IsEnabled check for the logging method. + + + + + Delegates to a new instance using the full name of the given type, created by the + provided . + + The type. + + + + Creates a new . + + The factory. + + + + + + + + + + + + + Defines logging severity levels. + + + + + Logs that contain the most detailed messages. These messages may contain sensitive application data. + These messages are disabled by default and should never be enabled in a production environment. + + + + + Logs that are used for interactive investigation during development. These logs should primarily contain + information useful for debugging and have no long-term value. + + + + + Logs that track the general flow of the application. These logs should have long-term value. + + + + + Logs that highlight an abnormal or unexpected event in the application flow, but do not otherwise cause the + application execution to stop. + + + + + Logs that highlight when the current flow of execution is stopped due to a failure. These should indicate a + failure in the current activity, not an application-wide failure. + + + + + Logs that describe an unrecoverable application or system crash, or a catastrophic failure that requires + immediate attention. + + + + + Not used for writing log messages. Specifies that a logging category should not write any messages. + + + + + Formatter to convert the named format items like {NamedformatItem} to format. + + + + + Scope provider that does nothing. + + + + + Returns a cached instance of . + + + + + + + + + + + An empty scope without any logic + + + + + + + + Pretty print a type name. + + The . + true to print a fully qualified name. + true to include generic parameter names. + true to include generic parameters. + Character to use as a delimiter in nested type names + The pretty printed type name. + + + + Get a pinnable reference to the builder. + Does not ensure there is a null char after + This overload is pattern matched in the C# 7.3+ compiler so you can omit + the explicit method call, and write eg "fixed (char* c = builder)" + + + + + Get a pinnable reference to the builder. + + Ensures that the builder has a null char after + + + Returns the underlying storage of the builder. + + + + Returns a span around the contents of the builder. + + Ensures that the builder has a null char after + + + + Resize the internal buffer either by doubling current buffer size or + by adding to + whichever is greater. + + + Number of chars requested beyond current position. + + + + The format string '{0}' does not have the expected number of named parameters. Expected {1} parameter(s) but found {2} parameter(s). + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + diff --git a/AgroBase/AgroBase/bin/x64/Debug/Parametros/parametersMvd-2_0.par b/AgroBase/AgroBase/bin/x64/Debug/Parametros/parametersMvd-2_0.par index d8f6ef1ee..3f94c3d47 100644 --- a/AgroBase/AgroBase/bin/x64/Debug/Parametros/parametersMvd-2_0.par +++ b/AgroBase/AgroBase/bin/x64/Debug/Parametros/parametersMvd-2_0.par @@ -1 +1 @@ -{"tmrRegistrador":{"_uiControl":null,"State":2,"IsRunning":false,"IsStopped":true,"IsCreated":false,"Interval":1000,"IntervalHz":1.0,"StackTrace":"MovimentacaoUnificadaModel.IniciarRegistrador","Id":"tmrRegistrador_Mvd","TimeTick":"00:00:00.0010099"},"tmrRegistradorMOV":{"_uiControl":null,"State":2,"IsRunning":false,"IsStopped":true,"IsCreated":false,"Interval":1000,"IntervalHz":1.0,"StackTrace":"MovimentacaoUnificadaModel.IniciarRegistrador","Id":"tmrRegistrador_Mov","TimeTick":"00:00:00.0010099"},"tmrRegistradorDIR":{"_uiControl":null,"State":2,"IsRunning":false,"IsStopped":true,"IsCreated":false,"Interval":1000,"IntervalHz":1.0,"StackTrace":"MovimentacaoUnificadaModel.IniciarRegistrador","Id":"tmrRegistrador_Dir","TimeTick":"00:00:00.0010099"},"Dispositivo":109,"_EnderecoCAN_Tx":0,"_EnderecoCAN_Rx":0,"ConexaoAtiva":false,"_TaxaAmostragem":1000,"DistanciaPercorridaOperacao":0.0,"TempoEmAtividade":0.0,"DistanciaPercorridaTotal":0.0,"DistanciaPercorridaParcial":0.0,"VelocidadeMedia":0.0,"DiametroRoda":0.3556,"ReducaoMotorBLDC":5.0,"RPM_Max_MotorBLDC":500.0,"IP_Mov":"192.168.105.10","IP_Dir":"192.168.105.11","Modulos":[{"Modulo_ID":"ET","Disponivel":false,"RequisitarDados":false,"Conectado":false,"MovMotor":{"ID":"Mov","_EnderecoCAN_Tx":5,"_EnderecoCAN_Rx":5,"heartBeatValue":1,"Mod_ID":"ET","LeituraLigado":true,"LeituraRPM":0.0,"ComandoLigado":false,"CodigoAlarme":0,"AlarmeMotor":false,"RPM_SP":0,"RPM_SP_Controle":0,"RPM_SP_Leitura":0,"Sentido_SP":1,"NumeroPolos":10,"Rampa":0,"CorrenteTorqueMaximo":40,"OffsetLeitura":1.0,"AlarmeComando":false,"RPM_Roda":0.0,"Sentido":0,"Temperatura":0.0,"TemperaturaDriver":0.0,"Tensao":0.0,"Corrente_Barramento":0.0,"Corrente_Motor":0.0,"Potencia":0.0,"CicloTrabalho":0.0,"RPM_Motor":0.0,"VelocidadeInstantanea":0.0,"Comandar":true,"AlarmeSensores":false,"Inicializado":false,"Leitura":null,"CompensacaoNecessaria":false,"ConfigSentidos":{"RodasDianteiras":{"Frente":1,"Tras":2,"Esquerda":0,"Direita":0,"Parado":0},"RodasTraseiras":{"Frente":1,"Tras":2,"Esquerda":0,"Direita":0,"Parado":0},"MovimentoDiagonal":{"Frente":1,"Tras":2,"Esquerda":0,"Direita":0,"Parado":0},"MovimentoArco":{"Frente":1,"Tras":2,"Esquerda":0,"Direita":0,"Parado":0},"RotacionarNoEixo":{"Frente":1,"Tras":2,"Esquerda":0,"Direita":0,"Parado":0},"MovimentoLateral":{"Frente":1,"Tras":2,"Esquerda":0,"Direita":0,"Parado":0},"Diagnostico":{"Frente":1,"Tras":2,"Esquerda":0,"Direita":0,"Parado":0}},"Funcoes":[12,14,9,5,10],"LogGrafico":[],"Alarmes":[],"ConfigFreio":{"Incremental":true,"AnguloInicial":10,"Leitura":false,"Controle":false}},"DirMotor":{"ID":"Dir","_EnderecoCAN_Tx":1,"_EnderecoCAN_Rx":1,"Mod_ID":"ET","Sentido_SP":0,"Angulo_SP":0.0,"FolgaMecanica":0.0,"Velocidade_Max":600.0,"Velocidade":300,"Sentido":0,"SentidoReal":1,"Angulo":0.0,"RPM":0.0,"IN1_Atuado":true,"IN2_Atuado":true,"Referenciando":false,"Comandar":false,"Inicializado":false,"Leitura":null,"UltimaDirecao":3,"UltimoComandoEnviado":"0001-01-01T00:00:00","RetornandoAzero":false,"EmMovimento":false,"AtingiuAnguloSP":true,"ConfigSentidos":{"RodasDianteiras":{"Frente":0,"Tras":0,"Esquerda":2,"Direita":1,"Parado":0},"RodasTraseiras":{"Frente":0,"Tras":0,"Esquerda":2,"Direita":1,"Parado":0},"MovimentoDiagonal":{"Frente":0,"Tras":0,"Esquerda":1,"Direita":2,"Parado":0},"MovimentoArco":{"Frente":0,"Tras":0,"Esquerda":2,"Direita":1,"Parado":0},"RotacionarNoEixo":{"Frente":0,"Tras":0,"Esquerda":1,"Direita":1,"Parado":0},"MovimentoLateral":{"Frente":0,"Tras":0,"Esquerda":1,"Direita":2,"Parado":0},"Diagnostico":{"Frente":0,"Tras":0,"Esquerda":2,"Direita":1,"Parado":0}},"Funcoes":[13,9,14,41]}},{"Modulo_ID":"EF","Disponivel":false,"RequisitarDados":false,"Conectado":false,"MovMotor":{"ID":"Mov","_EnderecoCAN_Tx":7,"_EnderecoCAN_Rx":7,"heartBeatValue":0,"Mod_ID":"EF","LeituraLigado":true,"LeituraRPM":0.0,"ComandoLigado":false,"CodigoAlarme":0,"AlarmeMotor":false,"RPM_SP":0,"RPM_SP_Controle":0,"RPM_SP_Leitura":0,"Sentido_SP":1,"NumeroPolos":10,"Rampa":0,"CorrenteTorqueMaximo":40,"OffsetLeitura":1.0,"AlarmeComando":false,"RPM_Roda":0.0,"Sentido":0,"Temperatura":0.0,"TemperaturaDriver":0.0,"Tensao":0.0,"Corrente_Barramento":0.0,"Corrente_Motor":0.0,"Potencia":0.0,"CicloTrabalho":0.0,"RPM_Motor":0.0,"VelocidadeInstantanea":0.0,"Comandar":true,"AlarmeSensores":false,"Inicializado":false,"Leitura":null,"CompensacaoNecessaria":false,"ConfigSentidos":{"RodasDianteiras":{"Frente":1,"Tras":2,"Esquerda":0,"Direita":0,"Parado":0},"RodasTraseiras":{"Frente":1,"Tras":2,"Esquerda":0,"Direita":0,"Parado":0},"MovimentoDiagonal":{"Frente":1,"Tras":2,"Esquerda":0,"Direita":0,"Parado":0},"MovimentoArco":{"Frente":1,"Tras":2,"Esquerda":0,"Direita":0,"Parado":0},"RotacionarNoEixo":{"Frente":1,"Tras":2,"Esquerda":0,"Direita":0,"Parado":0},"MovimentoLateral":{"Frente":2,"Tras":1,"Esquerda":0,"Direita":0,"Parado":0},"Diagnostico":{"Frente":1,"Tras":2,"Esquerda":0,"Direita":0,"Parado":0}},"Funcoes":[12,14,9,5,10],"LogGrafico":[],"Alarmes":[],"ConfigFreio":{"Incremental":true,"AnguloInicial":10,"Leitura":false,"Controle":false}},"DirMotor":{"ID":"Dir","_EnderecoCAN_Tx":3,"_EnderecoCAN_Rx":3,"Mod_ID":"EF","Sentido_SP":0,"Angulo_SP":0.0,"FolgaMecanica":0.0,"Velocidade_Max":600.0,"Velocidade":300,"Sentido":0,"SentidoReal":2,"Angulo":0.0,"RPM":0.0,"IN1_Atuado":true,"IN2_Atuado":true,"Referenciando":false,"Comandar":true,"Inicializado":false,"Leitura":null,"UltimaDirecao":3,"UltimoComandoEnviado":"0001-01-01T00:00:00","RetornandoAzero":false,"EmMovimento":false,"AtingiuAnguloSP":true,"ConfigSentidos":{"RodasDianteiras":{"Frente":0,"Tras":0,"Esquerda":2,"Direita":1,"Parado":0},"RodasTraseiras":{"Frente":0,"Tras":0,"Esquerda":2,"Direita":1,"Parado":0},"MovimentoDiagonal":{"Frente":0,"Tras":0,"Esquerda":2,"Direita":1,"Parado":0},"MovimentoArco":{"Frente":0,"Tras":0,"Esquerda":2,"Direita":1,"Parado":0},"RotacionarNoEixo":{"Frente":0,"Tras":0,"Esquerda":1,"Direita":1,"Parado":0},"MovimentoLateral":{"Frente":0,"Tras":0,"Esquerda":2,"Direita":1,"Parado":0},"Diagnostico":{"Frente":0,"Tras":0,"Esquerda":2,"Direita":1,"Parado":0}},"Funcoes":[13,9,14,41]}},{"Modulo_ID":"DT","Disponivel":false,"RequisitarDados":false,"Conectado":false,"MovMotor":{"ID":"Mov","_EnderecoCAN_Tx":6,"_EnderecoCAN_Rx":6,"heartBeatValue":1,"Mod_ID":"DT","LeituraLigado":true,"LeituraRPM":0.0,"ComandoLigado":false,"CodigoAlarme":0,"AlarmeMotor":false,"RPM_SP":0,"RPM_SP_Controle":0,"RPM_SP_Leitura":0,"Sentido_SP":2,"NumeroPolos":10,"Rampa":0,"CorrenteTorqueMaximo":40,"OffsetLeitura":1.0,"AlarmeComando":false,"RPM_Roda":0.0,"Sentido":0,"Temperatura":0.0,"TemperaturaDriver":0.0,"Tensao":0.0,"Corrente_Barramento":0.0,"Corrente_Motor":0.0,"Potencia":0.0,"CicloTrabalho":0.0,"RPM_Motor":0.0,"VelocidadeInstantanea":0.0,"Comandar":true,"AlarmeSensores":false,"Inicializado":false,"Leitura":null,"CompensacaoNecessaria":false,"ConfigSentidos":{"RodasDianteiras":{"Frente":2,"Tras":1,"Esquerda":0,"Direita":0,"Parado":0},"RodasTraseiras":{"Frente":2,"Tras":1,"Esquerda":0,"Direita":0,"Parado":0},"MovimentoDiagonal":{"Frente":2,"Tras":1,"Esquerda":0,"Direita":0,"Parado":0},"MovimentoArco":{"Frente":2,"Tras":1,"Esquerda":0,"Direita":0,"Parado":0},"RotacionarNoEixo":{"Frente":1,"Tras":2,"Esquerda":0,"Direita":0,"Parado":0},"MovimentoLateral":{"Frente":1,"Tras":2,"Esquerda":0,"Direita":0,"Parado":0},"Diagnostico":{"Frente":2,"Tras":1,"Esquerda":0,"Direita":0,"Parado":0}},"Funcoes":[12,14,9,5,10],"LogGrafico":[],"Alarmes":[],"ConfigFreio":{"Incremental":false,"AnguloInicial":10,"Leitura":false,"Controle":false}},"DirMotor":{"ID":"Dir","_EnderecoCAN_Tx":2,"_EnderecoCAN_Rx":2,"Mod_ID":"DT","Sentido_SP":0,"Angulo_SP":0.0,"FolgaMecanica":0.0,"Velocidade_Max":600.0,"Velocidade":300,"Sentido":0,"SentidoReal":2,"Angulo":0.0,"RPM":0.0,"IN1_Atuado":true,"IN2_Atuado":true,"Referenciando":false,"Comandar":false,"Inicializado":false,"Leitura":null,"UltimaDirecao":3,"UltimoComandoEnviado":"2025-06-09T14:20:25.5732229-03:00","RetornandoAzero":false,"EmMovimento":false,"AtingiuAnguloSP":true,"ConfigSentidos":{"RodasDianteiras":{"Frente":0,"Tras":0,"Esquerda":1,"Direita":2,"Parado":0},"RodasTraseiras":{"Frente":0,"Tras":0,"Esquerda":1,"Direita":2,"Parado":0},"MovimentoDiagonal":{"Frente":0,"Tras":0,"Esquerda":2,"Direita":1,"Parado":0},"MovimentoArco":{"Frente":0,"Tras":0,"Esquerda":1,"Direita":2,"Parado":0},"RotacionarNoEixo":{"Frente":0,"Tras":0,"Esquerda":1,"Direita":1,"Parado":0},"MovimentoLateral":{"Frente":0,"Tras":0,"Esquerda":2,"Direita":1,"Parado":0},"Diagnostico":{"Frente":0,"Tras":0,"Esquerda":2,"Direita":1,"Parado":0}},"Funcoes":[13,9,14,41]}},{"Modulo_ID":"DF","Disponivel":false,"RequisitarDados":false,"Conectado":false,"MovMotor":{"ID":"Mov","_EnderecoCAN_Tx":8,"_EnderecoCAN_Rx":8,"heartBeatValue":1,"Mod_ID":"DF","LeituraLigado":true,"LeituraRPM":0.0,"ComandoLigado":false,"CodigoAlarme":0,"AlarmeMotor":false,"RPM_SP":0,"RPM_SP_Controle":0,"RPM_SP_Leitura":0,"Sentido_SP":2,"NumeroPolos":10,"Rampa":0,"CorrenteTorqueMaximo":40,"OffsetLeitura":1.0,"AlarmeComando":false,"RPM_Roda":0.0,"Sentido":0,"Temperatura":0.0,"TemperaturaDriver":0.0,"Tensao":0.0,"Corrente_Barramento":0.0,"Corrente_Motor":0.0,"Potencia":0.0,"CicloTrabalho":0.0,"RPM_Motor":0.0,"VelocidadeInstantanea":0.0,"Comandar":true,"AlarmeSensores":false,"Inicializado":false,"Leitura":null,"CompensacaoNecessaria":false,"ConfigSentidos":{"RodasDianteiras":{"Frente":2,"Tras":1,"Esquerda":0,"Direita":0,"Parado":0},"RodasTraseiras":{"Frente":2,"Tras":1,"Esquerda":0,"Direita":0,"Parado":0},"MovimentoDiagonal":{"Frente":2,"Tras":1,"Esquerda":0,"Direita":0,"Parado":0},"MovimentoArco":{"Frente":2,"Tras":1,"Esquerda":0,"Direita":0,"Parado":0},"RotacionarNoEixo":{"Frente":1,"Tras":2,"Esquerda":0,"Direita":0,"Parado":0},"MovimentoLateral":{"Frente":2,"Tras":1,"Esquerda":0,"Direita":0,"Parado":0},"Diagnostico":{"Frente":2,"Tras":1,"Esquerda":0,"Direita":0,"Parado":0}},"Funcoes":[12,14,9,5,10],"LogGrafico":[],"Alarmes":[],"ConfigFreio":{"Incremental":false,"AnguloInicial":10,"Leitura":false,"Controle":false}},"DirMotor":{"ID":"Dir","_EnderecoCAN_Tx":4,"_EnderecoCAN_Rx":4,"Mod_ID":"DF","Sentido_SP":0,"Angulo_SP":0.0,"FolgaMecanica":0.0,"Velocidade_Max":600.0,"Velocidade":300,"Sentido":0,"SentidoReal":1,"Angulo":0.0,"RPM":0.0,"IN1_Atuado":true,"IN2_Atuado":true,"Referenciando":false,"Comandar":true,"Inicializado":false,"Leitura":null,"UltimaDirecao":3,"UltimoComandoEnviado":"0001-01-01T00:00:00","RetornandoAzero":false,"EmMovimento":false,"AtingiuAnguloSP":true,"ConfigSentidos":{"RodasDianteiras":{"Frente":0,"Tras":0,"Esquerda":1,"Direita":2,"Parado":0},"RodasTraseiras":{"Frente":0,"Tras":0,"Esquerda":1,"Direita":2,"Parado":0},"MovimentoDiagonal":{"Frente":0,"Tras":0,"Esquerda":1,"Direita":2,"Parado":0},"MovimentoArco":{"Frente":0,"Tras":0,"Esquerda":1,"Direita":2,"Parado":0},"RotacionarNoEixo":{"Frente":0,"Tras":0,"Esquerda":1,"Direita":1,"Parado":0},"MovimentoLateral":{"Frente":0,"Tras":0,"Esquerda":1,"Direita":2,"Parado":0},"Diagnostico":{"Frente":0,"Tras":0,"Esquerda":2,"Direita":1,"Parado":0}},"Funcoes":[13,9,14,41]}}]} \ No newline at end of file +{"tmrRegistrador":{"_uiControl":null,"State":2,"IsRunning":false,"IsStopped":true,"IsCreated":false,"Interval":1000,"IntervalHz":1.0,"StackTrace":"MovimentacaoUnificadaModel.IniciarRegistrador","Id":"tmrRegistrador_Mvd","TimeTick":"00:00:00"},"tmrRegistradorMOV":{"_uiControl":null,"State":2,"IsRunning":false,"IsStopped":true,"IsCreated":false,"Interval":1000,"IntervalHz":1.0,"StackTrace":"MovimentacaoUnificadaModel.IniciarRegistrador","Id":"tmrRegistrador_Mov","TimeTick":"00:00:00"},"tmrRegistradorDIR":{"_uiControl":null,"State":2,"IsRunning":false,"IsStopped":true,"IsCreated":false,"Interval":1000,"IntervalHz":1.0,"StackTrace":"MovimentacaoUnificadaModel.IniciarRegistrador","Id":"tmrRegistrador_Dir","TimeTick":"00:00:00"},"Dispositivo":109,"_EnderecoCAN_Tx":0,"_EnderecoCAN_Rx":0,"ConexaoAtiva":false,"_TaxaAmostragem":1000,"DistanciaPercorridaOperacao":0.0,"TempoEmAtividade":0.0,"DistanciaPercorridaTotal":0.0,"DistanciaPercorridaParcial":0.0,"VelocidadeMedia":0.0,"DiametroRoda":0.3556,"ReducaoMotorBLDC":5.0,"RPM_Max_MotorBLDC":500.0,"IP_Mov":"192.168.105.10","IP_Dir":"192.168.105.11","Modulos":[{"Modulo_ID":"ET","Disponivel":false,"RequisitarDados":false,"Conectado":false,"MovMotor":{"ID":"Mov","_EnderecoCAN_Tx":5,"_EnderecoCAN_Rx":5,"heartBeatValue":1,"Mod_ID":"ET","LeituraLigado":true,"LeituraRPM":0.0,"ComandoLigado":false,"CodigoAlarme":0,"AlarmeMotor":false,"RPM_SP":0,"RPM_SP_Controle":0,"RPM_SP_Leitura":0,"Sentido_SP":0,"NumeroPolos":10,"Rampa":0,"CorrenteTorqueMaximo":40,"OffsetLeitura":1.0,"AlarmeComando":false,"RPM_Roda":0.0,"Sentido":0,"Temperatura":0.0,"TemperaturaDriver":0.0,"Tensao":0.0,"Corrente_Barramento":0.0,"Corrente_Motor":0.0,"Potencia":0.0,"CicloTrabalho":0.0,"RPM_Motor":0.0,"VelocidadeInstantanea":0.0,"Comandar":true,"AlarmeSensores":false,"Inicializado":false,"Leitura":null,"CompensacaoNecessaria":false,"ConfigSentidos":{"RodasDianteiras":{"Frente":1,"Tras":2,"Esquerda":0,"Direita":0,"Parado":0},"RodasTraseiras":{"Frente":1,"Tras":2,"Esquerda":0,"Direita":0,"Parado":0},"MovimentoDiagonal":{"Frente":1,"Tras":2,"Esquerda":0,"Direita":0,"Parado":0},"MovimentoArco":{"Frente":1,"Tras":2,"Esquerda":0,"Direita":0,"Parado":0},"RotacionarNoEixo":{"Frente":1,"Tras":2,"Esquerda":0,"Direita":0,"Parado":0},"MovimentoLateral":{"Frente":1,"Tras":2,"Esquerda":0,"Direita":0,"Parado":0},"Diagnostico":{"Frente":1,"Tras":2,"Esquerda":0,"Direita":0,"Parado":0}},"Funcoes":[12,14,9,5,10],"LogGrafico":[],"Alarmes":[],"ConfigFreio":{"Incremental":true,"AnguloInicial":10,"Leitura":false,"Controle":false}},"DirMotor":{"ID":"Dir","_EnderecoCAN_Tx":1,"_EnderecoCAN_Rx":1,"Mod_ID":"ET","Sentido_SP":0,"Angulo_SP":0.0,"FolgaMecanica":0.0,"Velocidade_Max":600.0,"Velocidade":300,"Sentido":0,"SentidoReal":1,"Angulo":0.0,"RPM":0.0,"IN1_Atuado":true,"IN2_Atuado":true,"Referenciando":false,"Comandar":false,"Inicializado":false,"Leitura":null,"UltimaDirecao":0,"UltimoComandoEnviado":"0001-01-01T00:00:00","RetornandoAzero":false,"EmMovimento":false,"AtingiuAnguloSP":true,"ConfigSentidos":{"RodasDianteiras":{"Frente":0,"Tras":0,"Esquerda":2,"Direita":1,"Parado":0},"RodasTraseiras":{"Frente":0,"Tras":0,"Esquerda":2,"Direita":1,"Parado":0},"MovimentoDiagonal":{"Frente":0,"Tras":0,"Esquerda":1,"Direita":2,"Parado":0},"MovimentoArco":{"Frente":0,"Tras":0,"Esquerda":2,"Direita":1,"Parado":0},"RotacionarNoEixo":{"Frente":0,"Tras":0,"Esquerda":1,"Direita":1,"Parado":0},"MovimentoLateral":{"Frente":0,"Tras":0,"Esquerda":1,"Direita":2,"Parado":0},"Diagnostico":{"Frente":0,"Tras":0,"Esquerda":2,"Direita":1,"Parado":0}},"Funcoes":[13,9,14,41]}},{"Modulo_ID":"EF","Disponivel":false,"RequisitarDados":false,"Conectado":false,"MovMotor":{"ID":"Mov","_EnderecoCAN_Tx":7,"_EnderecoCAN_Rx":7,"heartBeatValue":0,"Mod_ID":"EF","LeituraLigado":true,"LeituraRPM":0.0,"ComandoLigado":false,"CodigoAlarme":0,"AlarmeMotor":false,"RPM_SP":0,"RPM_SP_Controle":0,"RPM_SP_Leitura":0,"Sentido_SP":0,"NumeroPolos":10,"Rampa":0,"CorrenteTorqueMaximo":40,"OffsetLeitura":1.0,"AlarmeComando":false,"RPM_Roda":0.0,"Sentido":0,"Temperatura":0.0,"TemperaturaDriver":0.0,"Tensao":0.0,"Corrente_Barramento":0.0,"Corrente_Motor":0.0,"Potencia":0.0,"CicloTrabalho":0.0,"RPM_Motor":0.0,"VelocidadeInstantanea":0.0,"Comandar":true,"AlarmeSensores":false,"Inicializado":false,"Leitura":null,"CompensacaoNecessaria":false,"ConfigSentidos":{"RodasDianteiras":{"Frente":1,"Tras":2,"Esquerda":0,"Direita":0,"Parado":0},"RodasTraseiras":{"Frente":1,"Tras":2,"Esquerda":0,"Direita":0,"Parado":0},"MovimentoDiagonal":{"Frente":1,"Tras":2,"Esquerda":0,"Direita":0,"Parado":0},"MovimentoArco":{"Frente":1,"Tras":2,"Esquerda":0,"Direita":0,"Parado":0},"RotacionarNoEixo":{"Frente":1,"Tras":2,"Esquerda":0,"Direita":0,"Parado":0},"MovimentoLateral":{"Frente":2,"Tras":1,"Esquerda":0,"Direita":0,"Parado":0},"Diagnostico":{"Frente":1,"Tras":2,"Esquerda":0,"Direita":0,"Parado":0}},"Funcoes":[12,14,9,5,10],"LogGrafico":[],"Alarmes":[],"ConfigFreio":{"Incremental":true,"AnguloInicial":10,"Leitura":false,"Controle":false}},"DirMotor":{"ID":"Dir","_EnderecoCAN_Tx":3,"_EnderecoCAN_Rx":3,"Mod_ID":"EF","Sentido_SP":0,"Angulo_SP":0.0,"FolgaMecanica":0.0,"Velocidade_Max":600.0,"Velocidade":300,"Sentido":0,"SentidoReal":2,"Angulo":0.0,"RPM":0.0,"IN1_Atuado":true,"IN2_Atuado":true,"Referenciando":false,"Comandar":true,"Inicializado":false,"Leitura":null,"UltimaDirecao":0,"UltimoComandoEnviado":"0001-01-01T00:00:00","RetornandoAzero":false,"EmMovimento":false,"AtingiuAnguloSP":true,"ConfigSentidos":{"RodasDianteiras":{"Frente":0,"Tras":0,"Esquerda":2,"Direita":1,"Parado":0},"RodasTraseiras":{"Frente":0,"Tras":0,"Esquerda":2,"Direita":1,"Parado":0},"MovimentoDiagonal":{"Frente":0,"Tras":0,"Esquerda":2,"Direita":1,"Parado":0},"MovimentoArco":{"Frente":0,"Tras":0,"Esquerda":2,"Direita":1,"Parado":0},"RotacionarNoEixo":{"Frente":0,"Tras":0,"Esquerda":1,"Direita":1,"Parado":0},"MovimentoLateral":{"Frente":0,"Tras":0,"Esquerda":2,"Direita":1,"Parado":0},"Diagnostico":{"Frente":0,"Tras":0,"Esquerda":2,"Direita":1,"Parado":0}},"Funcoes":[13,9,14,41]}},{"Modulo_ID":"DT","Disponivel":false,"RequisitarDados":false,"Conectado":false,"MovMotor":{"ID":"Mov","_EnderecoCAN_Tx":6,"_EnderecoCAN_Rx":6,"heartBeatValue":1,"Mod_ID":"DT","LeituraLigado":true,"LeituraRPM":0.0,"ComandoLigado":false,"CodigoAlarme":0,"AlarmeMotor":false,"RPM_SP":0,"RPM_SP_Controle":0,"RPM_SP_Leitura":0,"Sentido_SP":0,"NumeroPolos":10,"Rampa":0,"CorrenteTorqueMaximo":40,"OffsetLeitura":1.0,"AlarmeComando":false,"RPM_Roda":0.0,"Sentido":0,"Temperatura":0.0,"TemperaturaDriver":0.0,"Tensao":0.0,"Corrente_Barramento":0.0,"Corrente_Motor":0.0,"Potencia":0.0,"CicloTrabalho":0.0,"RPM_Motor":0.0,"VelocidadeInstantanea":0.0,"Comandar":true,"AlarmeSensores":false,"Inicializado":false,"Leitura":null,"CompensacaoNecessaria":false,"ConfigSentidos":{"RodasDianteiras":{"Frente":2,"Tras":1,"Esquerda":0,"Direita":0,"Parado":0},"RodasTraseiras":{"Frente":2,"Tras":1,"Esquerda":0,"Direita":0,"Parado":0},"MovimentoDiagonal":{"Frente":2,"Tras":1,"Esquerda":0,"Direita":0,"Parado":0},"MovimentoArco":{"Frente":2,"Tras":1,"Esquerda":0,"Direita":0,"Parado":0},"RotacionarNoEixo":{"Frente":1,"Tras":2,"Esquerda":0,"Direita":0,"Parado":0},"MovimentoLateral":{"Frente":1,"Tras":2,"Esquerda":0,"Direita":0,"Parado":0},"Diagnostico":{"Frente":2,"Tras":1,"Esquerda":0,"Direita":0,"Parado":0}},"Funcoes":[12,14,9,5,10],"LogGrafico":[],"Alarmes":[],"ConfigFreio":{"Incremental":false,"AnguloInicial":10,"Leitura":false,"Controle":false}},"DirMotor":{"ID":"Dir","_EnderecoCAN_Tx":2,"_EnderecoCAN_Rx":2,"Mod_ID":"DT","Sentido_SP":0,"Angulo_SP":0.0,"FolgaMecanica":0.0,"Velocidade_Max":600.0,"Velocidade":300,"Sentido":0,"SentidoReal":2,"Angulo":0.0,"RPM":0.0,"IN1_Atuado":true,"IN2_Atuado":true,"Referenciando":false,"Comandar":false,"Inicializado":false,"Leitura":null,"UltimaDirecao":0,"UltimoComandoEnviado":"2025-06-09T14:20:25.5732229-03:00","RetornandoAzero":false,"EmMovimento":false,"AtingiuAnguloSP":true,"ConfigSentidos":{"RodasDianteiras":{"Frente":0,"Tras":0,"Esquerda":1,"Direita":2,"Parado":0},"RodasTraseiras":{"Frente":0,"Tras":0,"Esquerda":1,"Direita":2,"Parado":0},"MovimentoDiagonal":{"Frente":0,"Tras":0,"Esquerda":2,"Direita":1,"Parado":0},"MovimentoArco":{"Frente":0,"Tras":0,"Esquerda":1,"Direita":2,"Parado":0},"RotacionarNoEixo":{"Frente":0,"Tras":0,"Esquerda":1,"Direita":1,"Parado":0},"MovimentoLateral":{"Frente":0,"Tras":0,"Esquerda":2,"Direita":1,"Parado":0},"Diagnostico":{"Frente":0,"Tras":0,"Esquerda":2,"Direita":1,"Parado":0}},"Funcoes":[13,9,14,41]}},{"Modulo_ID":"DF","Disponivel":false,"RequisitarDados":false,"Conectado":false,"MovMotor":{"ID":"Mov","_EnderecoCAN_Tx":8,"_EnderecoCAN_Rx":8,"heartBeatValue":1,"Mod_ID":"DF","LeituraLigado":true,"LeituraRPM":0.0,"ComandoLigado":false,"CodigoAlarme":0,"AlarmeMotor":false,"RPM_SP":0,"RPM_SP_Controle":0,"RPM_SP_Leitura":0,"Sentido_SP":0,"NumeroPolos":10,"Rampa":0,"CorrenteTorqueMaximo":40,"OffsetLeitura":1.0,"AlarmeComando":false,"RPM_Roda":0.0,"Sentido":0,"Temperatura":0.0,"TemperaturaDriver":0.0,"Tensao":0.0,"Corrente_Barramento":0.0,"Corrente_Motor":0.0,"Potencia":0.0,"CicloTrabalho":0.0,"RPM_Motor":0.0,"VelocidadeInstantanea":0.0,"Comandar":true,"AlarmeSensores":false,"Inicializado":false,"Leitura":null,"CompensacaoNecessaria":false,"ConfigSentidos":{"RodasDianteiras":{"Frente":2,"Tras":1,"Esquerda":0,"Direita":0,"Parado":0},"RodasTraseiras":{"Frente":2,"Tras":1,"Esquerda":0,"Direita":0,"Parado":0},"MovimentoDiagonal":{"Frente":2,"Tras":1,"Esquerda":0,"Direita":0,"Parado":0},"MovimentoArco":{"Frente":2,"Tras":1,"Esquerda":0,"Direita":0,"Parado":0},"RotacionarNoEixo":{"Frente":1,"Tras":2,"Esquerda":0,"Direita":0,"Parado":0},"MovimentoLateral":{"Frente":2,"Tras":1,"Esquerda":0,"Direita":0,"Parado":0},"Diagnostico":{"Frente":2,"Tras":1,"Esquerda":0,"Direita":0,"Parado":0}},"Funcoes":[12,14,9,5,10],"LogGrafico":[],"Alarmes":[],"ConfigFreio":{"Incremental":false,"AnguloInicial":10,"Leitura":false,"Controle":false}},"DirMotor":{"ID":"Dir","_EnderecoCAN_Tx":4,"_EnderecoCAN_Rx":4,"Mod_ID":"DF","Sentido_SP":0,"Angulo_SP":0.0,"FolgaMecanica":0.0,"Velocidade_Max":600.0,"Velocidade":300,"Sentido":0,"SentidoReal":1,"Angulo":0.0,"RPM":0.0,"IN1_Atuado":true,"IN2_Atuado":true,"Referenciando":false,"Comandar":true,"Inicializado":false,"Leitura":null,"UltimaDirecao":0,"UltimoComandoEnviado":"0001-01-01T00:00:00","RetornandoAzero":false,"EmMovimento":false,"AtingiuAnguloSP":true,"ConfigSentidos":{"RodasDianteiras":{"Frente":0,"Tras":0,"Esquerda":1,"Direita":2,"Parado":0},"RodasTraseiras":{"Frente":0,"Tras":0,"Esquerda":1,"Direita":2,"Parado":0},"MovimentoDiagonal":{"Frente":0,"Tras":0,"Esquerda":1,"Direita":2,"Parado":0},"MovimentoArco":{"Frente":0,"Tras":0,"Esquerda":1,"Direita":2,"Parado":0},"RotacionarNoEixo":{"Frente":0,"Tras":0,"Esquerda":1,"Direita":1,"Parado":0},"MovimentoLateral":{"Frente":0,"Tras":0,"Esquerda":1,"Direita":2,"Parado":0},"Diagnostico":{"Frente":0,"Tras":0,"Esquerda":2,"Direita":1,"Parado":0}},"Funcoes":[13,9,14,41]}}]} \ No newline at end of file diff --git a/AgroBase/AgroBase/bin/x64/Debug/Pipelines.Sockets.Unofficial.dll b/AgroBase/AgroBase/bin/x64/Debug/Pipelines.Sockets.Unofficial.dll new file mode 100644 index 000000000..ac5b100a3 --- /dev/null +++ b/AgroBase/AgroBase/bin/x64/Debug/Pipelines.Sockets.Unofficial.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e28fec91cec8ae9d07ecbbe976fcdabc193b0ea63136be240071a94649e928cd +size 163328 diff --git a/AgroBase/AgroBase/bin/x64/Debug/Pipelines.Sockets.Unofficial.xml b/AgroBase/AgroBase/bin/x64/Debug/Pipelines.Sockets.Unofficial.xml new file mode 100644 index 000000000..7df504364 --- /dev/null +++ b/AgroBase/AgroBase/bin/x64/Debug/Pipelines.Sockets.Unofficial.xml @@ -0,0 +1,2083 @@ + + + + Pipelines.Sockets.Unofficial + + + + + Allocates blocks of memory + + + + + Allocate a new block + + + + + Clear (zero) the supplied region + + + + + An allocator that rents memory from the array-pool provided, returning them to the pool when done + + + + + An array-pool allocator that uses the shared array-pool + + + + + Create a new array-pool allocator that uses the provided array pool (or the shared array-pool otherwise) + + + + + Allocate a new block + + + + + An array-pool allocator that uses the shared array-pool + + + + + An allocator that allocates unmanaged memory, releasing the memory back to the OS when done + + + + + The global instance of the unmanaged allocator + + + + + Allocate a new block + + + + + Options that configure the behaviour of an arena + + + + + The default arena configuration + + + + + The flags that are enabled for the arena + + + + + Tests an individual flag + + + + + The block-size to suggest for new allocations in the arena + + + + + The policy for retaining allocations when memory requirements decrease + + + + + Create a new ArenaOptions instance + + + + + Provides facilities to create new type-specific allocators for use in an arena + + + + + The default allocator factory + + + + + Suggest an allocator for any type + + + + + Suggest an allocator for a blittable type + + + + + Suggest a per-type block size (in bytes) to use for allocations + + + + + Represents a typed subset of data within an arena + + + + + Allocate a (possibly non-contiguous) region of memory from the arena + + + + + Allocate a single instance as a reference + + + + + Allocate a (possibly non-contiguous) region of memory from the arena + + + + + An arena allocator that can allocate sequences for multiple data types + + + + + Create a new Arena instance + + + + + Release all resources associated with this arena + + + + + Reset the memory allocated by this arena + + + + + Allocate a single instance as a reference + + + + + Allocate a (possibly non-contiguous) region of memory from the arena + + + + + Allocate a (possibly non-contiguous) region of memory from the arena + + + + + Get a per-type arena inside a multi-type arena + + + + + Flags that impact behaviour of the arena + + + + + None + + + + + Allocations are cleared at each reset (and when initially allocated), so that they are always wiped before use + + + + + Allocations are cleared when the arena is disposed (or when data is released in line with the retention policy), so that the contents are not released back to the underlying allocator + + + + + When possible, and when no allocator is explicitly provided; prefer using unmanaged memory + + + + + When possible, use pinned memory + + + + + Allow blittable types of the same size to share a pool of data (only applies to multi-type arenas) + + + + + Allow blittable types to all share a single pool of byte-data, using padding to align (only applies to multi-type arenas, and for reasonably sized types) + + + + + Represents a lifetime-bound allocator of multiple non-contiguous memory regions + + + + + The number of elements allocated since the last reset + + + + + Create a new Arena + + + + + Allocate a (possibly non-contiguous) region of memory from the arena + + + + + Allocate a (possibly non-contiguous) region of memory from the arena + + + + + Allocate a (possibly non-contiguous) region of memory from the arena + + + + + Allocate a reference to a new instance from the arena + + + + + Resets the arena; all current allocations should be considered invalid - new allocations may overwrite them + + + + + Releases all resources associated with the arena + + + + + Acts as a fly-weight reference into existing data + + + + + Obtain a text representation of the value + + + + + Used to compare two instances for equality + + + + + Used to compare two instances for equality + + + + + Used to compare two instances for equality + + + + + Used to compare two instances for equality + + + + + Used to compare two instances for equality + + + + + Create a new reference into an array + + + + + Create a new reference into a memory + + + + + Get a reference to the underlying value + + + + + Convert a reference to the underlying type + + + + + Provides common retention policies + + + + + The default retention policy + + + + + Retain the space required by the previous operation (trim to the size of the last usage) + + + + + Retain nothing (trim aggressively) + + + + + Retain everything (grow only) + + + + + When the required usage drops, decay the retained amount exponentially; growth is instant + + + + + Represents a Sequence without needing to know the type at compile-time + + + + + Returns an empty sequence of the supplied type + + + + + Tests two sequences for equality + + + + + Tests two sequences for equality + + + + + Tests two sequences for equality + + + + + Used for equality operations + + + + + Summarizes a sequence as a string + + + + + Tests two sequences for equality + + + + + Tests two sequences for equality + + + + + Indicates whether the sequence involves multiple segments, vs whether all the data fits into the first segment + + + + + Indicates the number of elements in the sequence + + + + + Indicates whether the sequence is empty (zero elements) + + + + + Indicates the type of element defined by the sequence + + + + + Converts an untyped sequence back to a typed sequence; the type must be correct + + + + + Represents a (possibly non-contiguous) region of memory; the read/write cousin or ReadOnlySequence-T + + + + + Represents a typed sequence as an untyped sequence + + + + + Converts an untyped sequence back to a typed sequence; the type must be correct + + + + + Tests two sequences for equality + + + + + Tests two sequences for equality + + + + + Tests two sequences for equality + + + + + Used for equality operations + + + + + Summaries a sequence as a string + + + + + Tests two sequences for equality + + + + + Tests two sequences for equality + + + + + Converts a typed sequence to a typed read-only-sequence + + + + + Get a reference to an element by index; note that this *can* have + poor performance for multi-segment sequences, but it is usually satisfactory + + + + + Get a reference to an element by index; note that this *can* have + poor performance for multi-segment sequences, but it is usually satisfactory + + + + + Obtains a reference into the segment + + + + + Converts a typed sequence to a typed read-only-sequence + + + + + Represents a typed sequence as an untyped sequence + + + + + Converts a typed sequence to a typed read-only-sequence + + + + + Calculate the start position of the current sequence + + + + + Calculate the end position of the current sequence + + + + + Calculate a position inside the current sequence + + + + + Try to get the contents as an array + + + + + Obtains a sub-region of a sequence + + + + + Obtains a sub-region of a sequence + + + + + Attempts to convert a typed read-only-sequence back to a typed sequence; the sequence must have originated from a valid typed sequence + + + + + Indicates the number of elements in the sequence + + + + + Indicates whether the sequence involves multiple segments, vs whether all the data fits into the first segment + + + + + Indicates whether the sequence is empty (zero elements) + + + + + Obtains the first segment, in terms of a memory + + + + + Obtains the first segment, in terms of a span + + + + + Copy the contents of the sequence into a contiguous region + + + + + If possible, copy the contents of the sequence into a contiguous region + + + + + Create a new single-segment sequence from a memory + + + + + Create a new single-segment sequence from an array + + + + + Create a new single-segment sequence from an array + + + + + Allows a sequence to be enumerated as spans + + + + + Allows a sequence to be enumerated as memory instances + + + + + Allows a sequence to be enumerated as spans + + + + + Allows a sequence to be enumerated as spans + + + + + Allows a sequence to be enumerated as memory instances + + + + + Allows a sequence to be enumerated as memory instances + + + + + Allows a sequence to be enumerated as values + + + + + Allows a sequence to be enumerated as values + + + + + Attempt to move the next value + + + + + Progresses the iterator, asserting that space is available, returning a reference to the next value + + + + + Obtain a reference to the current value + + + + + Allows a sequence to be enumerated as spans + + + + + Attempt to move the next segment + + + + + Asserts that another span is available, and returns then next span + + + + + Obtain the current segment + + + + + Allows a sequence to be enumerated as memory instances + + + + + Attempt to move the next segment + + + + + Obtain the current segment + + + + + Asserts that another span is available, and returns then next span + + + + + Similar to Func, but with "in" parameters + + + + + Similar to Func, but with "in" parameters + + + + + Provides utility methods for working with sequences + + + + + Create an array with the contents of the sequence; if possible, an existing + wrapped array may be reused + + + + + Obtain a Sequence from an enumerable; this may reuse existing sequence-compatible data if possible + + + + + Create a list-like object that provides access to the sequence + + + + + Create an array with the contents of the sequence, applying a projection + + + + + Create an array with the contents of the sequence, applying a projection + + + + + Copy the data from a sequence to a span, applying a projection + + + + + Copy the data from a sequence to a span, applying a projection + + + + + Copy the data from a span to a sequence + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a sequence to a span, applying a projection + + + + + Copy the data from a sequence to a span, applying a projection + + + + + Copy the data from a span to a sequence + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a sequence to a newly allocated sequence, applying a projection + + + + + Copy the data from a sequence to a newly allocated sequence, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Attempt to calculate the net offset of a position + + + + + Attempt to calculate the net offset of a position + + + + + A list-like reference type that can be used in most APIs that expect a list object + + + + + Returns the size of the list + + + + + Allows a sequence to be enumerated as values + + + + + Provide a reference to an element by index + + + + + Get the sequence represented by this list + + + + + Represents an abstract chained segment of mutable memory + + + + + The segment index + + + + + The type of data represented by this segment + + + + + The actual type of memory used for the storage + + + + + The offset of this segment in the chain + + + + + A memory-owner that provides direct access to the root reference + + + + + The root reference of the block, or a null-pointer if the data should not be considered pinned + + + + + Gets the size of the data + + + + + Represents an abstract chained segment of mutable memory + + + + + Creates a new SequenceSegment, optionally attaching the segment to an existing chain + + + + + The length of the memory + + + + + The logical position of the start of this segment + + + + + The next segment in the chain + + + + + The memory represented by this segment + + + + + Get the logical index of this segment + + + + + Get the real type of data being used to hold this data + + + + + Remove the Next node in this chain, terminating the chain - returning the detached segment + + + + + Represents a with lifetime management over the data + + + + + The data represented by this value + + + + + Release any resources associated with this value + + + + + Create a new instance with a call-defined lifetime management callback + + + + + Access the underlying data directly + + + + + + Represent an existing value with dummy lifetime management + + + + + Implements a buffer-writer over arbitrary memory + + + + + Create a new buffer-writer instance that uses a memory pool as the backing store; if the provided pool is null, the shared instance is used + + + + + Create a new buffer-writer instance that uses an array-pool as the backing store; if the provided pool is null, the shared instance is used + + + + + Create a new buffer-writer instance that uses an array-pool as the backing store; if the provided pool is null, the shared instance is used + + + + + Get the writer used to append data to this instance + + + + + Gets the amount of data buffered by the writer + + + + + Release all resources associate with this instance + + + + + Gets the currently buffered data as a sequence of read-write buffer-segments + + + + + Gets some subset of the currently buffered data as a sequence of read-only buffer-segments (with lifetime management); you + can continue to append data after calling Flush - any additional data will form a new payload + that can be fetched by the next call to Flush + + + + + Gets the currently buffered data as a sequence of read-only buffer-segments (with lifetime management); you + can continue to append data after calling Flush - any additional data will form a new payload + that can be fetched by the next call to Flush + + + + + Commit a number of bytes to the underyling buffer + + + + + Access a contiguous write buffer + + + + + Access a contiguous write buffer + + + + + Access a non-contiguous write buffer + + + + + Implements a over an + + + + + Creates a new instance + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Indicates that a connection was aborted + + + + + Create a new instance of ConnectionAbortedException + + + + + Create a new instance of ConnectionAbortedException + + + + + Create a new instance of ConnectionAbortedException + + + + + Indicates that a connection was reset + + + + + Create a new ConnectionResetException instance + + + + + Create a new ConnectionResetException instance + + + + + Create a new ConnectionResetException instance + + + + + An implementation of a pipe-scheduler that uses a dedicated pool of threads, deferring to + the thread-pool if that becomes too backlogged + + + + + Reusable shared scheduler instance + + + + + Indicates whether the current thread is a worker, optionally for the specific pool + (otherwise for any pool) + + + + + The name of the pool + + + + + The number of workers associated with this pool + + + + + Create a new dedicated thread-pool + + + + + The total number of operations serviced by the queue + + + + + The total number of operations that could not be serviced by the queue, but which were sent to the thread-pool instead + + + + + Requests to be run on scheduler with being passed in + + + + + The number of workers currently actively engaged in work + + + + + Release the threads associated with this pool; if additional work is requested, it will + be sent to the main thread-pool + + + + + Provides utility methods for working with delegates + + + + + Iterate over the individual elements of a multicast delegate (without allocation) + + + + + Iterate over the individual elements of a multicast delegate (without allocation) + + + + + Indicates whether a particular delegate is known to be a single-target delegate + + + + + Indicates whether optimized usage is supported on this environment; without this, it may still + work, but with additional overheads at runtime. + + + + + Allows allocation-free enumerator over the individual elements of a multicast delegate + + + + + Iterate over the individual elements of a multicast delegate (without allocation) + + + + + Allows allocation-free enumerator over the individual elements of a multicast delegate + + + + + Provides the current value of the sequence + + + + + Move to the next item in the sequence + + + + + Reset the enumerator, allowing the sequence to be repeated + + + + + A duplex pipe that measures the bytes sent/received + + + + + The total number of bytes sent to the pipe + + + + + The total number of bytes received by the pipe + + + + + Represents a pipe that iterates over a memory-mapped file + + + + + Get a string representation of the object + + + + + Indicates whether this API is likely to work + + + + + Create a pipe-reader over the provided file + + + + + Mark the reader as complete + + + + + + Releases all resources associated with the object + + + + + Cancels an in-progress read + + + + + Indicates how much data was consumed from a read operation + + + + + Indicates how much data was consumed, and how much examined, from a read operation + + + + + Perform an asynchronous read operation + + + + + Attempt to perform a synchronous read operation + + + + + Awaitable SocketAsyncEventArgs, where awaiting the args yields either the BytesTransferred or throws the relevant socket exception + + + + + Abort the current async operation (and prevent future operations) + + + + + Create a new SocketAwaitableEventArgs instance, optionally providing a scheduler for callbacks + + + + + + Get the awaiter for this instance; used as part of "await" + + + + + Indicates whether the current operation is complete; used as part of "await" + + + + + Gets the result of the async operation is complete; used as part of "await" + + + + + Schedules a continuation for this operation; used as part of "await" + + + + + Schedules a continuation for this operation; used as part of "await" + + + + + Marks the operation as complete - this should be invoked whenever a SocketAsyncEventArgs operation returns false + + + + + Invoked automatically when an operation completes asynchronously + + + + + Reperesents a duplex pipe over managed sockets + + + + + Open a new or existing socket as a client + + + + + Open a new or existing socket as a client + + + + + Check that all dependencies are available + + + + + When possible, determines how the pipe first reached a close state + + + + + When the ShutdownKind relates to a socket error, may contain the socket error code + + + + + Try to signal the pipe shutdown reason as being due to an application protocol event + + The kind of shutdown; only protocol-related reasons will succeed + True if successful + + + + Set recommended socket options for client sockets + + The socket to set options against + + + + Set recommended socket options for server sockets + + The socket to set options against + + + + Release any resources held by this instance + + + + + Connection for receiving data + + + + + Connection for sending data + + + + + Gets a string representation of this object + + + + + The underlying socket for this connection + + + + + Obtain performance monitoring counters about this connection + + + + + Exposes performance monitoring counters about a connection + + + + + Get the number of bytes currently held in a pipe instance + + + + + The number of bytes available on the socket that have not yet been consumed into the pipe + + + + + The number of bytes available on the send pipe that have not yet been sent to the socket + + + + + The number of bytes available on the receive pipe, i.e. they have been processed from the socket, but not yet read + + + + + Create a SocketConnection instance over an existing socket + + + + + Create a SocketConnection instance over an existing socket + + + + + The total number of bytes read from the socket + + + + + The number of bytes received in the last read + + + + + The total number of bytes sent to the socket + + + + + When possible, determines how the pipe first reached a close state + + + + + The pipe is still open + + + + + The pipe itself was disposed + + + + + The socket-reader reached a natural EOF from the socket + + + + + The socket-reader encountered a dispose failure + + + + + The socket-reader encountered an IO failure + + + + + The socket-reader encountered a general failure + + + + + The socket-reader encountered a socket failure - the SocketError may be populated + + + + + When attempting to flush incoming data, the pipe indicated that it was complete + + + + + When attempting to flush incoming data, the pipe indicated cancelation + + + + + The socket-writerreached a natural EOF from the pipe + + + + + The socket-writer encountered a dispose failure + + + + + The socket-writer encountered an IO failure + + + + + The socket-writer encountered a general failure + + + + + The socket-writer encountered a socket failure - the SocketError may be populated + + + + + The input's reader was completed + + + + + The input's writer was completed + + + + + The output's reader was completed + + + + + The input's writer was completed + + + + + An application defined exit was triggered by the client + + + + + An application defined exit was triggered by the server + + + + + Flags that influence the behavior of SocketConnection + + + + + Default + + + + + When no data is currently available, perform a zero-length read as a buffer-free wait mechanism + + + + + During async reads, the awaiter should continue on the IO thread + + + + + During async writes, the awaiter should continue on the IO thread + + + + + During async connects, the awaiter should continue on the IO thread + + + + + Represents a multi-client socket-server capable of dispatching pipeline clients + + + + + Start listening as a server + + + + + Start listening as a server + + + + + Stop listening as a server + + + + + Release any resources associated with this instance + + + + + Release any resources associated with this instance + + + + + Create a new instance of a socket server + + + + + Invoked when the server has faulted + + + + + Invoked when a client has faulted + + + + + Invoked when the server starts + + + + + Invoked when a new client connects + + + + + The state of a client connection + + + + + The transport to use for this connection + + + + + The remote endpoint that the client connected from + + + + + Provides serves to shim between streams and pipelines + + + + + Exposes a Stream as a duplex pipe + + + + + Gets a string representation of this object + + + + + Gets whether read operations are available + + + + + Gets whether write operations are available + + + + + Gets whether the stream can timeout + + + + + Gets whether the seek operations are supported on this stream + + + + + Change the position of the stream + + + + + Query the length of the stream + + + + + Get or set the position of the stream + + + + + Specify the length of the stream + + + + + Read a buffer from the stream + + + + + Reads a single byte + + + + + Write a buffer to the stream + + + + + Perform an asynchronous write operation + + + + + Write a single byte + + + + + Begin an asynchronous write operation + + + + + End an asynchronous write operation + + + + + Signal that the written data should be read; this may awaken the reader if inactive, + and suspend the writer if the backlog is too large + + + + + Signal that the written data should be read; this may awaken the reader if inactive, + and suspend the writer if the backlog is too large + + + + + Close the stream + + + + + Signals that writing is complete; no more data will be written + + + + + Signals that reading is complete; no more data will be read + + + + + Begin an asynchronous read operation + + + + + End an asynchronous read operation + + + + + Perform an asynchronous read operation + + + + + Create a duplex pipe that represents the provided stream + + + + + Create a duplex pipe that represents the provided stream + + + + + Create a PipeReader that consumes the provided stream + + + + + Create a PipeWriter feeds the provided stream + + + + + Create a duplex stream that represents the provided reader and writer + + + + + Create a duplex stream that represents the provided pipe + + + + + Create a write-only stream that feeds the provided PipeReader + + The writer to wrap + The logical name of the reader + + + + Create a read-only stream that consumes the provided PipeReader + + The reader to wrap + The logical name of the reader + + + + A mutex primitive that can be waited or awaited, with support for schedulers + + + + + Time to wait, in milliseconds - or zero for immediate-only + + + + + See Object.ToString + + + + + Create a new MutexSlim instance + + Time to wait, in milliseconds - or zero for immediate-only + The scheduler to use for async continuations, or the thread-pool if omitted + + + + Indicates whether the lock is currently available + + + + + Attempt to take the lock (Success should be checked by the caller) + + + + + Attempt to take the lock (Success should be checked by the caller) + + + + + Additional options that influence how TryWait/TryWaitAsync operate + + + + + Default options + + + + + If the mutex cannot be acquired immediately, it is failed + + + + + Disable full TPL flow; more efficient, but no sync-context or execution-context guarantees + + + + + The result of a Wait/WaitAsync operation on MutexSlim; the caller *must* check Success to see whether the mutex was obtained + + + + + Compare two LockToken instances for equality + + + + + Compare two LockToken instances for equality + + + + + Compare two LockToken instances for equality + + + + + See Object.GetHashCode + + + + + See Object.ToString() + + + + + Compare two LockToken instances for equality + + + + + Indicates whether the mutex was successfully taken + + + + + Indicates whether the mutex was successfully taken + + + + + Indicates whether the mutex was successfully taken + + + + + Release the mutex, if obtained + + + + + A MemoryManager over a raw pointer + + The pointer is assumed to be fully unmanaged, or externally pinned - no attempt will be made to pin this data + + + + Create a new UnmanagedMemoryManager instance at the given pointer and size + + It is assumed that the span provided is already unmanaged or externally pinned + + + + Create a new UnmanagedMemoryManager instance at the given pointer and size + + + + + Create a new UnmanagedMemoryManager instance at the given pointer and size + + + + + Obtains a span that represents the region + + + + + Provides access to a pointer that represents the data (note: no actual pin occurs) + + + + + Has no effect + + + + + Releases all resources associated with this object + + + + diff --git a/AgroBase/AgroBase/bin/x64/Debug/Python/Output/mapa_interativo.html b/AgroBase/AgroBase/bin/x64/Debug/Python/Output/mapa_interativo.html index 57bdab082..bf15de84c 100644 --- a/AgroBase/AgroBase/bin/x64/Debug/Python/Output/mapa_interativo.html +++ b/AgroBase/AgroBase/bin/x64/Debug/Python/Output/mapa_interativo.html @@ -17,7 +17,7 @@