asker-tool 2.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (91) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +674 -0
  3. data/README.md +53 -0
  4. data/bin/asker +4 -0
  5. data/docs/changelog/v2.1.md +99 -0
  6. data/docs/commands.md +15 -0
  7. data/docs/contributions.md +18 -0
  8. data/docs/history.md +40 -0
  9. data/docs/idea.md +44 -0
  10. data/docs/inputs/README.md +39 -0
  11. data/docs/inputs/code.md +69 -0
  12. data/docs/inputs/concepts.md +142 -0
  13. data/docs/inputs/jedi.md +68 -0
  14. data/docs/inputs/tables.md +112 -0
  15. data/docs/inputs/templates.md +87 -0
  16. data/docs/install/README.md +38 -0
  17. data/docs/install/manual.md +26 -0
  18. data/docs/install/scripts.md +26 -0
  19. data/docs/revise/asker-file.md +41 -0
  20. data/docs/revise/buenas-practicas/01-convocatoria.md +30 -0
  21. data/docs/revise/buenas-practicas/02-formulario.md +35 -0
  22. data/docs/revise/buenas-practicas/03-descripcion.md +63 -0
  23. data/docs/revise/buenas-practicas/04-resultados.md +17 -0
  24. data/docs/revise/buenas-practicas/05-reproducir.md +10 -0
  25. data/docs/revise/ejemplos/01/README.md +27 -0
  26. data/docs/revise/ejemplos/02/README.md +31 -0
  27. data/docs/revise/ejemplos/03/README.md +31 -0
  28. data/docs/revise/ejemplos/04/README.md +37 -0
  29. data/docs/revise/ejemplos/05/README.md +25 -0
  30. data/docs/revise/ejemplos/06/README.md +43 -0
  31. data/docs/revise/ejemplos/README.md +11 -0
  32. data/docs/revise/projects.md +74 -0
  33. data/lib/asker.rb +103 -0
  34. data/lib/asker/ai/ai.rb +70 -0
  35. data/lib/asker/ai/ai_calculate.rb +55 -0
  36. data/lib/asker/ai/concept_ai.rb +49 -0
  37. data/lib/asker/ai/question.rb +58 -0
  38. data/lib/asker/ai/stages/base_stage.rb +16 -0
  39. data/lib/asker/ai/stages/main.rb +8 -0
  40. data/lib/asker/ai/stages/stage_b.rb +87 -0
  41. data/lib/asker/ai/stages/stage_d.rb +160 -0
  42. data/lib/asker/ai/stages/stage_f.rb +156 -0
  43. data/lib/asker/ai/stages/stage_i.rb +140 -0
  44. data/lib/asker/ai/stages/stage_s.rb +52 -0
  45. data/lib/asker/ai/stages/stage_t.rb +170 -0
  46. data/lib/asker/application.rb +30 -0
  47. data/lib/asker/checker.rb +356 -0
  48. data/lib/asker/cli.rb +85 -0
  49. data/lib/asker/code/ai/base_code_ai.rb +48 -0
  50. data/lib/asker/code/ai/code_ai_factory.rb +26 -0
  51. data/lib/asker/code/ai/javascript_code_ai.rb +167 -0
  52. data/lib/asker/code/ai/python_code_ai.rb +167 -0
  53. data/lib/asker/code/ai/ruby_code_ai.rb +169 -0
  54. data/lib/asker/code/ai/sql_code_ai.rb +69 -0
  55. data/lib/asker/code/code.rb +53 -0
  56. data/lib/asker/data/column.rb +62 -0
  57. data/lib/asker/data/concept.rb +183 -0
  58. data/lib/asker/data/data_field.rb +87 -0
  59. data/lib/asker/data/row.rb +93 -0
  60. data/lib/asker/data/table.rb +96 -0
  61. data/lib/asker/data/template.rb +65 -0
  62. data/lib/asker/data/world.rb +53 -0
  63. data/lib/asker/exporter/code_gift_exporter.rb +35 -0
  64. data/lib/asker/exporter/code_screen_exporter.rb +45 -0
  65. data/lib/asker/exporter/concept_ai_gift_exporter.rb +33 -0
  66. data/lib/asker/exporter/concept_ai_screen_exporter.rb +115 -0
  67. data/lib/asker/exporter/concept_ai_yaml_exporter.rb +33 -0
  68. data/lib/asker/exporter/concept_doc_exporter.rb +21 -0
  69. data/lib/asker/exporter/concept_screen_exporter.rb +25 -0
  70. data/lib/asker/exporter/main.rb +9 -0
  71. data/lib/asker/files/config.ini +40 -0
  72. data/lib/asker/formatter/code_string_formatter.rb +16 -0
  73. data/lib/asker/formatter/concept_doc_formatter.rb +37 -0
  74. data/lib/asker/formatter/concept_string_formatter.rb +66 -0
  75. data/lib/asker/formatter/question_gift_formatter.rb +65 -0
  76. data/lib/asker/formatter/question_hash_formatter.rb +40 -0
  77. data/lib/asker/formatter/question_moodlexml_formatter.rb +71 -0
  78. data/lib/asker/formatter/rb2haml_formatter.rb +26 -0
  79. data/lib/asker/lang/lang.rb +42 -0
  80. data/lib/asker/lang/lang_factory.rb +19 -0
  81. data/lib/asker/lang/text_actions.rb +150 -0
  82. data/lib/asker/loader/code_loader.rb +53 -0
  83. data/lib/asker/loader/content_loader.rb +101 -0
  84. data/lib/asker/loader/directory_loader.rb +58 -0
  85. data/lib/asker/loader/file_loader.rb +33 -0
  86. data/lib/asker/loader/image_url_loader.rb +61 -0
  87. data/lib/asker/loader/input_loader.rb +24 -0
  88. data/lib/asker/loader/project_loader.rb +71 -0
  89. data/lib/asker/logger.rb +21 -0
  90. data/lib/asker/project.rb +170 -0
  91. metadata +261 -0
@@ -0,0 +1,68 @@
1
+
2
+ # Jedi
3
+
4
+ Inputs
5
+ ======
6
+
7
+ Into *maps* directory we save our own concept map files. We could use subdirectories to
8
+ better organization. As example we have the file `maps/demo/starwars/jedi.haml`, that
9
+ contains one concept map about Jedi characters of StarWars film into HAML format.
10
+
11
+ Let's take a look (Spanish example, I know. Soon I'll write the english version):
12
+ ```
13
+ %map{ :lang => 'en', :context => 'character, starwars', :version => '1'}
14
+
15
+ %concept
16
+ %names obiwan
17
+ %tags jedi, teacher, annakin, skywalker, pupil, quigon-jinn
18
+ %def Jedi, teacher of Annakin Skywalker
19
+ %def Jedi, pupil of Quigon-Jinn
20
+ %table{ :fields => 'attribute, value' }
21
+ %title Associate every attribute with their value
22
+ %row
23
+ %col race
24
+ %col human
25
+ %row
26
+ %col laser sabel color
27
+ %col green
28
+ %row
29
+ %col hair color
30
+ %col red
31
+
32
+ %concept
33
+ %names yoda
34
+ %tags teacher, jedi
35
+ %def Jedi, teacher of all jedis
36
+ %def The Main Teacher of Jedi and one of the most important members of the Main Jedi Council, in the last days of Star Republic.
37
+ %def He has exceptional combat abilities with light sable, using acrobatics tecnics from Ataru.
38
+ %def He was master of all light sable combat styles and was considered during years as a Sword Master.
39
+ %table{ :fields => 'attribute, value' }
40
+ %row
41
+ %col color laser sabel
42
+ %col green
43
+ %row
44
+ %col hair color
45
+ %col white
46
+ %row
47
+ %col skin color
48
+ %col green
49
+ %row
50
+ %col high
51
+ %col 65 centimetres
52
+ ...
53
+ ```
54
+ As we see, we defined 2 concepts about Jedi characters. This are `obiwan` and `yoda`.
55
+ And we use special sintax (tags) to define it.
56
+
57
+ At now we have a this list of tags to define our own sintax for build conceptual maps:
58
+ * **context**: List of comma separated words, that identify the context where this concept "lives" or "exists".
59
+ * **names**: List of one or more names that identify the concept. At least one is requiered, of course!.
60
+ * **tags**: List of comma separated words, that briefly describe the concept. I mean, a short list of words
61
+ that came in mind when we think in it, and are useful for their identification.
62
+ * **def**: We use this tags as many times we need. In it, we write using natural language descriptions
63
+ asssociated to the concept. This are definitions/descriptions that are uniques
64
+ for this concept, but don't write the name of the concept into the text.
65
+ * **table**: Other way to build more sofisticated definitions/schemas is using "tables". It's similar
66
+ to HTML tag. I mean, with this "table", we build tables of knowledge into the concept. We use "row",
67
+ and "col", to defines table-rows and row-cols, of course. We could see an
68
+ example into `input/en/starwars/jedi.haml`.
@@ -0,0 +1,112 @@
1
+
2
+ [<< back](README.md)
3
+
4
+ # Learn tables
5
+
6
+ Now, we are going to learn keywords:
7
+ * table
8
+ * row
9
+ * col
10
+
11
+ Let's go!.
12
+
13
+ ---
14
+
15
+ # Def limits
16
+
17
+ We have learn that:
18
+ * **map** serves to identify an input file.
19
+ * **concept**, **names** and **tags** serves to identify a concept.
20
+ * **def** serves to add meaning to a concept.
21
+
22
+ But, it's not enough. **def** only contains meaning that could only be associated to one unique concept. For example:
23
+ ```
24
+ %concept
25
+ %names AC/DC, ACDC
26
+ %tags rock, band, australia
27
+ %def Australian rock band formed by Scottish-born brothers Malcolm and Angus Young
28
+ ```
29
+
30
+ **def** is good but we need other keyword to add meaning that isn't uniquely associated to one concept. That is **table** keyword.
31
+
32
+ ---
33
+ # Tables
34
+
35
+ ## Table with 1 field
36
+
37
+ Example, adding meaning using 1 field table. Field called `members`:
38
+
39
+ ```
40
+ %concept
41
+ %names AC/DC, ACDC
42
+ %tags single, seat, leg, backrest
43
+ %tags rock, band, australia
44
+ %table{ :fields => 'members'}
45
+ %row Bon Scott
46
+ %row Angus Young
47
+ %row Malcolm Young
48
+ %row Phil Rudd
49
+ %row Cliff Williams
50
+ ```
51
+
52
+ | Param | Description |
53
+ | ------ | ----------- |
54
+ | table | Group rows |
55
+ | fields | Comma separated values with field name |
56
+ | row | Field value |
57
+
58
+ ## Table with 2 fields
59
+
60
+ Example, adding meaning using 2 fields table. Fields called `attribute` and `value`:
61
+
62
+ ```
63
+ %concept
64
+ %names AC/DC, ACDC
65
+ %tags single, seat, leg, backrest
66
+ %tags rock, band, australia
67
+ %table{ :fields => 'attribute, value'}
68
+ %row
69
+ %col Genres
70
+ %col Hard rock blues rock rock and roll
71
+ %row
72
+ %col Years active
73
+ %col 1973–present
74
+ %row
75
+ %col Origin
76
+ %col Sydney
77
+ ```
78
+
79
+ | Param | Description |
80
+ | ------ | ------------------ |
81
+ | table | Group rows |
82
+ | fields | Comma separated values with field names |
83
+ | row | Group cols |
84
+ | col | Field column value |
85
+
86
+ ## Table with Sequence
87
+
88
+ Sometimes we have a 1 field table where rows are sorted or form a sequence. In that cases we also could take advantage defining a `sequence`, like:
89
+
90
+ ```
91
+ %concept
92
+ %names AC/DC, ACDC
93
+ %tags single, seat, leg, backrest
94
+ %tags rock, band, australia
95
+ %table{ :fields => 'Albums', :sequence => 'Albums sorted by date'}
96
+ %row Albums High Voltage
97
+ %row Powerage
98
+ %row Highway to Hell
99
+ %row Back in Black
100
+ %row Ballbreaker
101
+ %row Rock or Bust
102
+ ```
103
+
104
+ | Param | Description |
105
+ | -------- | ------------------ |
106
+ | table | Group rows |
107
+ | fields | Field name |
108
+ | sequence | Label form ordered values |
109
+ | row | Field value |
110
+
111
+ Example:
112
+ * [acdc.haml](../examples/bands/acdc.haml)
@@ -0,0 +1,87 @@
1
+
2
+ [<< back](README.md)
3
+
4
+ # Learn templates
5
+
6
+ Now, we are going to learn `template` keyword.
7
+
8
+ ---
9
+
10
+ # Powerfull tables
11
+
12
+ Table is usefull keyword to add information associated to concepts using table struct (That means with rows and columns scheme).
13
+
14
+ ## Example 01: repetitive rows
15
+
16
+ Let's see this repetitive row example about OS commands:
17
+
18
+ ```
19
+ %concept
20
+ %names command
21
+ %tags computing,directive,computer,perform,specific,task
22
+ %def In computing, is a directive to a computer program to perform a specific task.
23
+ %table{:action, :description}
24
+ %row
25
+ %col mkdir Endor
26
+ %col Create Endor directory
27
+ %row
28
+ %col mkdir Naboo
29
+ %col Create Naboo directory
30
+ %row
31
+ %col mkdir Dagobah
32
+ %col Create Dagobah directory
33
+ ```
34
+
35
+ ## Example 02: Using template
36
+
37
+ To be more productive, we could use `template` keyword.
38
+
39
+ ```
40
+ %concept
41
+ %names command
42
+ %tags computing,directive,computer,perform,specific,task
43
+ %def In computing, is a directive to a computer program to perform a specific task.
44
+ %table{:action, :description}
45
+ %template{:DIRNAME => 'Endor,Naboo,Dabobah'}
46
+ %row
47
+ %col mkdir DIRNAME
48
+ %col Create DIRNAME directory
49
+ ```
50
+
51
+ We see example 01 produce the same result, but with less input lines.
52
+ Template will be apply to every definition inside.
53
+
54
+ | Param | Description |
55
+ | -------- | ----------- |
56
+ | template | Begin template definition |
57
+ | DIRNAME | Token o variable that will be replaced with value list |
58
+ | Endor,Naboo,Dagobah |Comma separated value list |
59
+
60
+ ## Example 03: Going crazy
61
+
62
+ ```
63
+ %concept
64
+ %names command
65
+ %tags computing,directive,computer,perform,specific,task
66
+ %def In computing, is a directive to a computer program to perform a specific task.
67
+ %table{:action, :description}
68
+ %template{:NAME => 'Endor,Naboo,Dabobah'}
69
+ %row
70
+ %col mkdir NAME
71
+ %col Create NAME directory
72
+ %row
73
+ %col rmdir NAME
74
+ %col Delete NAME directory
75
+ %row
76
+ %col touch NAME
77
+ %col Create NAME file
78
+ %row
79
+ %col rm NAME
80
+ %col Delete NAME file
81
+ %row
82
+ %col useradd NAME
83
+ %col Create user NAME
84
+ %row
85
+ %col userdel NAME
86
+ %col Delete user NAME
87
+ ```
@@ -0,0 +1,38 @@
1
+
2
+ [<< back](../../README.md)
3
+
4
+ # Installation
5
+
6
+ * Installation process:
7
+ 1. Install Ruby on your system.
8
+ 2. `gem install asker-tool`
9
+ * Run `asker version` to check that your installation is ok.
10
+
11
+ > **PROBLEMS**: If you have problems to find `asker`command (OpenSUSE distro), try this:
12
+ > * `find / -name asker`, to find absolute path to teuton command.
13
+ > * As superuser do `ln -s /PATH/TO/bin/asker /usr/local/bin/asker`, to create symbolic link to asker command.
14
+ > * Try again as normal user.
15
+
16
+ * **Update** Asker with `gem asker update`.
17
+ * **Uninstall** Asker with `gem uninstall asker`
18
+
19
+ > Others ways to install Asker:
20
+ > * [Installation scripts](scripts.md)
21
+ >* [Manual installation](manual.md)
22
+
23
+ ---
24
+ # Configuring Asker
25
+
26
+ There exist `config.ini`file, into Asker base directory with some configurable options.
27
+
28
+ | Section | Param | Default | Values | Description |
29
+ | ----------- | -------- | ------- | --------- | ----------- |
30
+ | [global] | internet | no | yes or no | Accept to connect Google and download find images URLs |
31
+ | [questions] | exclude | | Comma separated strings| Exclude questions with this texts into their names |
32
+
33
+ ---
34
+ # Download input examples
35
+
36
+ If you want to download our repository with asker input files:
37
+
38
+ `git clone https://github.com/dvarrui/asker-inputs.git`
@@ -0,0 +1,26 @@
1
+
2
+ [<< back](README.md)
3
+
4
+ # Manual installation
5
+
6
+ 1. Git installation
7
+ * Install Git.
8
+ * Run `git --version` to show current version
9
+ 1. Ruby installation
10
+ * Install ruby.
11
+ * Run `ruby -v` to show current version
12
+ 1. Rake installation
13
+ * Run `gem install rake`, then
14
+ * `rake --version` to show current version.
15
+ 1. Download this project
16
+ * (a) `git clone https://github.com/dvarrui/asker.git` or
17
+ * (b) Download and unzip [file](https://github.com/dvarrui/asker/archive/master.zip).
18
+ 1. Move into repo folder
19
+ * Run `cd asker`
20
+ 1. Gems installation.
21
+ * `rake install:gems`, to install required gems.
22
+ 1. Only for developers
23
+ * Run `rake install:debian` or
24
+ * `rake install:opensuse`, install gem for developers.
25
+ 1. Final check
26
+ * `rake`
@@ -0,0 +1,26 @@
1
+
2
+ [<< back](README.md)
3
+
4
+ # Using installation scripts
5
+
6
+ ## GNU/Linux installation script
7
+
8
+ Run as `root` user:
9
+ ```
10
+ wget -qO- https://raw.githubusercontent.com/dvarrui/asker/devel/install/linux_asker_install.sh | bash
11
+ ```
12
+
13
+ Run `asker version` as normal user.
14
+
15
+ ## Windows installation script
16
+
17
+ Requirements:
18
+ * Windows 7+ / Windows Server 2003+
19
+ * PowerShell v2+
20
+
21
+ Run this coomand as Administrator user on PowerShell (PS):
22
+ ```
23
+ Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/dvarrui/asker/davel/install/windows_asker_install.ps1'))
24
+ ```
25
+
26
+ Run `asker version` as normal user.
@@ -0,0 +1,41 @@
1
+
2
+ > **Output file format**
3
+ >
4
+ > * At this moment, the output text file format is GIFT. But in the
5
+ future will be posible to choose between several output formats.
6
+ > * The GIFT format is very common format in elearning software as Moodle.
7
+
8
+ # Demo
9
+
10
+ Vamos a ver un ejemplo.
11
+
12
+ ---
13
+
14
+ ## Input (Mapa conceptual)
15
+
16
+ Primero hay que crear un fichero de entrada con el mapa conceptual que queremos
17
+ trabajar. Vamos a usar de ejemplo [`input/es/demo/jedi.haml`](../../../input/es/demo/jedi.haml)
18
+
19
+ ---
20
+
21
+ ## Ejecutar el programas
22
+
23
+ Para ejecutar el programa *darts* con este fichero de entrada hacemos:
24
+ ```
25
+ $ ./darts input/es/demo/jedi.yaml
26
+ ```
27
+
28
+ Veremos en pantalla la siguiente [información](./jedi-log.txt).
29
+
30
+ Este informe muestra qué tal ha ido el proceso de generación, mostrando
31
+ estadísticas al final.
32
+
33
+ ---
34
+
35
+ ## Output
36
+
37
+ En el directorio `output` se guardan los ficheros de salida.
38
+
39
+ * [Fichero con las preguntas](./jedi-gift.txt) en formato GIFT.
40
+ * [Fichero con log del proceso](./jedi-log.txt).
41
+ * [Fichero con los contenidos](./jedi-doc.txt) en formato TXT más legible.
@@ -0,0 +1,30 @@
1
+
2
+
3
+ La presente convocatoria tiene por objeto la detección, supervisión, reconocimiento y difusión de las buenas prácticas docentes, como actividades de interés educativo, entendiendo como tales aquellas que forman parte del trabajo diario y habitual del docente, que deberán poseer las siguientes características:
4
+
5
+ 1. Innovadoras, aquellas que ponen en práctica diferentes modelos de enseñanza desde un enfoque competencial.
6
+ 2. Eficaces y eficientes, aquellas que generan un impacto positivo y tangible en el proceso de enseñanza y aprendizaje.
7
+ 3. Sostenibles, aquellas que hacen uso de recursos personales y materiales que hacen posible su continuidad en el tiempo.
8
+ 4. Transferibles, aquellas cuya aplicación son viables en otros centros y enseñanzas.
9
+
10
+
11
+
12
+ 1. El docente que desee participar en la presente convocatoria deberá presentar solicitud de participación y descripción de la buena práctica.
13
+
14
+ 2. Relación de documentación a presentar, demostrativa de los rasgos habituales del quehacer profesional del docente:
15
+
16
+ • Programación didáctica del área, materia, ámbito o módulo cuya buena práctica se presenta.
17
+ • Unidad didáctica, unidad de programación, unidad de trabajo o situación de aprendizaje correspondiente a la experiencia de enseñanza y aprendizaje realizada.
18
+ • Evidencias de cada uno de los apartados de la rúbrica de evaluación.
19
+
20
+ La documentación se presentará exclusivamente por medios electrónicos (ficheros en formato pdf y rutas de acceso a espacios donde estén alojados ficheros de audio y/o vídeo) y se corresponderá con la información referida en el Anexo II. (Acceder al Formulario de solicitud).
21
+
22
+ 3. Conforme al artículo 83 de la Ley 39/2015, de 1 de octubre, del Procedimiento Administrativo Común de las Administraciones Públicas, para la presentación de solicitudes se establece el plazo de un mes a contar a partir de la publicación del anuncio en el Boletín Oficial de Canarias.
23
+
24
+ - Fecha de publicación: 2-11-2018.
25
+
26
+ Presentación de solicitudes: hasta el 2 de diciembre de 2018.
27
+
28
+ Convocatoria.
29
+
30
+ Resolución de 24 de octubre de 2018 (BOC Nº 212. Viernes 2 de Noviembre de 2018).
@@ -0,0 +1,35 @@
1
+
2
+ FORMULARIO DE PRESENTACIÓN DE
3
+ SOLICITUDES PARA LA CONVOCATORIA DE LA VICECONSEJERÍA DE EDUCACIÓN Y UNIVERSIDADES PARA EL PROCEDIMIENTO DE DETECCIÓN, SUPERVISIÓN, RECONOCIMIENTO Y DIFUSIÓN DE BUENAS PRÁCTICAS EN LOS PROCESOS DE ENSEÑANZA Y APRENDIZAJE DURANTE EL CURSO ESCOLAR 2018/2019
4
+
5
+ ---
6
+
7
+ * Para cumplimentar correctamente la solicitud deberá contestar todas los apartados solicitados en las dos secciones principales de la presente convocatoria:
8
+
9
+ a) Datos generales de la buena práctica
10
+
11
+ b) Criterios que cumple la buena práctica (podrá adjuntar una evidencia para cada criterio)
12
+
13
+ > No se dará por presentada la solicitud hasta que Vd. no haga clic en "Confirmar Solicitud", hasta ese momento podrá modificar los datos que ya ha introducido.
14
+
15
+ * Una vez que confirme la solicitud, no podrá modificarla, ni aportar evidencias. Si quisiera modificar la solicitud confirmada tendrá que ponerse en contacto con uno de los siguientes teléfonos: 928455492 / 928455453, y solamente si la convocatoria tiene el plazo de inscripción abierto.
16
+
17
+ Seleccione la opción que desee:
18
+
19
+ * Crear Solicitud/Modificar
20
+ * Consultar estado de la solicitud
21
+
22
+ > Problemas con este aplicativo web: 928 45 54 92 / 53
23
+
24
+ ---
25
+
26
+ NO SE DARÁ POR PRESENTADA SU SOLICITUD HASTA QUE VD. NO HAGA CLIC EN EL BOTÓN "CONFIRMAR SOLICITUD" DISPUESTO AL FINAL DE ESTA PÁGINA.
27
+
28
+ Para la correcta presentación de su Buena Práctica deberá cumplimentar los datos solicitados en los dos apartados siguientes:
29
+
30
+ CUMPLIMENTAR LOS DATOS INICIALES CUMPLIMENTAR LOS CRITERIOS
31
+ RECUERDE QUE NO TIENE PRESENTADA LA SOLICITUD HASTA QUE VD. HAGA CLIC EN EL BOTÓN "CONFIRMAR SOLICITUD". UNA VEZ CONFIRMADA NO PODRÁ MODIFICAR LOS DATOS.
32
+
33
+ Problemas con este aplicativo web: 928 45 54 92 / 53
34
+
35
+ ImprimirVolver