X-Git-Url: https://git.llucax.com/z.facultad/75.10/miklolife.git/blobdiff_plain/f2d7e4f939cc5cc336b74ba37cbc964afc9c53e6..d9a7195317de72589adf4522101eb6b9d7dc5763:/diagramas/clases.dia
diff --git a/diagramas/clases.dia b/diagramas/clases.dia
index 9ce635f..493e917 100644
--- a/diagramas/clases.dia
+++ b/diagramas/clases.dia
@@ -25,10 +25,10 @@
-
+
-
+
@@ -71,19 +71,19 @@
-
+
-
+
-
+
-
+
-
+
#Promotor#
@@ -92,7 +92,7 @@
##
- ##
+ #Persona encargada de atender a los Solicitantes que quieren afiliarse.#
@@ -163,54 +163,7 @@
-
-
-
- #cap#
-
-
- ##
-
-
- ##
-
-
- ##
-
-
-
-
-
-
-
-
-
-
-
-
-
- #disponibilidad#
-
-
- ##
-
-
- ##
-
-
- ##
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -219,19 +172,19 @@
-
+
-
+
-
+
-
+
-
+
#Persona#
@@ -240,10 +193,10 @@
##
- ##
+ #Clase abstracta para representar los datos y acciones comunes de una persona.#
-
+
@@ -314,16 +267,16 @@
- #tipodoc#
+ #tipoDocumento#
- ##
+ #enum(DNI,LC,LE,CI)#
##
- ##
+ #Tipo de documento.#
@@ -337,16 +290,16 @@
- #nrodoc#
+ #nroDocumento#
- ##
+ #int#
##
- ##
+ #Número de documento#
@@ -363,13 +316,13 @@
#nombre#
- ##
+ #string#
##
- ##
+ #Primer y segundo nombre (en ese orden).#
@@ -386,128 +339,13 @@
#apellido#
- ##
-
-
- ##
-
-
- ##
-
-
-
-
-
-
-
-
-
-
-
-
-
- #telefono#
-
-
- ##
-
-
- ##
-
-
- ##
-
-
-
-
-
-
-
-
-
-
-
-
-
- #calle#
-
-
- ##
-
-
- ##
-
-
- ##
-
-
-
-
-
-
-
-
-
-
-
-
-
- #numero#
-
-
- ##
-
-
- ##
-
-
- ##
-
-
-
-
-
-
-
-
-
-
-
-
-
- #departamento#
-
-
- ##
-
-
- ##
-
-
- ##
-
-
-
-
-
-
-
-
-
-
-
-
-
- #codigo_postal#
-
-
- ##
+ #string#
##
- ##
+ #Apellido completo.#
@@ -521,16 +359,16 @@
- #provincia#
+ #eMail#
- ##
+ #string#
##
- ##
+ #Dirección de correo electrónico de la persona.#
@@ -544,16 +382,16 @@
- #e_mail#
+ #fechaNacimiento#
- ##
+ #Fecha#
##
- ##
+ #Fecha de nacimiento#
@@ -567,16 +405,16 @@
- #fecha_nacimiento#
+ #sexo#
- ##
+ #enum(M,F)#
##
- ##
+ #Género de la persona#
@@ -597,19 +435,19 @@
-
+
-
+
-
+
-
+
-
+
#Afiliado#
@@ -618,7 +456,7 @@
##
- ##
+ #Persona afiliada a la obra social.#
@@ -633,7 +471,7 @@
-
+
@@ -692,16 +530,16 @@
- #num_afiliado#
+ #codigo#
- ##
+ #int#
##
- ##
+ #Identificador único de afiliado.#
@@ -715,16 +553,16 @@
- #fecha_afiliacion#
+ #fechaAfiliacion#
- ##
+ #Fecha#
##
- ##
+ #Fecha en la que se lo dio de alta en el sistema.#
@@ -738,16 +576,16 @@
- #plan#
+ #fechaBaja#
- ##
+ #Fecha#
##
- ##
+ #Fecha en la que el afiliado solicita la baja#
@@ -761,16 +599,16 @@
- #titular#
+ #moroso#
- ##
+ #int#
##
- ##
+ #Indica cuantos meses adeuda.#
@@ -782,31 +620,99 @@
-
+
+
+
- #estado#
+ #existe#
-
+
##
-
+
+ #bool#
+
+
+
+
+
+ #Devuelve True si el afiliado existe y carga el resto de los datos correspondientes. Si no existe devuelve False. Si existe más de uno, se pueden obtener con getNext().#
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #getNext#
+
+
##
+
+ #bool#
+
+
+
+
+ #Si encontró uno nuevo, devuelve True y lo carga. Si no devuelve False y queda intacto.#
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #guardar#
+
+
##
+
+ #bool#
+
+
+ #Guarda los datos del afiliado en la DB y retorna True si no hubo error#
+
+
+
+
+
+
+
+
-
@@ -814,19 +720,19 @@
-
+
-
+
-
+
-
+
-
+
#Prestacion#
@@ -835,7 +741,7 @@
##
- ##
+ #Tipo de prestación que puede realizarse un afiliado.#
@@ -909,62 +815,16 @@
- #nombre#
+ #codigo#
- ##
+ #int#
##
- ##
-
-
-
-
-
-
-
-
-
-
-
-
-
- #codigo#
-
-
- ##
-
-
- ##
-
-
- ##
-
-
-
-
-
-
-
-
-
-
-
-
-
- #cobertura#
-
-
- ##
-
-
- ##
-
-
- ##
+ #Código de la prestación según el codificador#
@@ -978,16 +838,16 @@
- #costo#
+ #nombre#
- ##
+ #string#
##
- ##
+ #Nombre de la prestación (descripción breve).#
@@ -1001,16 +861,16 @@
- #tipo#
+ #fechaBaja#
- ##
+ #Fecha#
##
- ##
+ #Fecha en la que fue dado de baja (o NULL si está activo)#
@@ -1031,19 +891,19 @@
-
+
-
+
-
+
-
+
-
+
#Plan#
@@ -1052,7 +912,7 @@
##
- ##
+ #Plan para los Afiliados de la obra social#
@@ -1061,13 +921,13 @@
-
+
-
+
@@ -1129,13 +989,13 @@
#codigo#
- ##
+ #int#
##
- ##
+ #Código de plan.#
@@ -1149,16 +1009,16 @@
- #precio#
+ #categorÃa#
- ##
+ #float#
##
- ##
+ #CategorÃa del plan. Cuanto más grande es la categorÃa, mejor es el plan#
@@ -1175,13 +1035,13 @@
#descripcion#
- ##
+ #string#
##
- ##
+ #Una breve descripción del plan.#
@@ -1195,16 +1055,16 @@
- #fecha_de_inicio#
+ #permanenciaMinima#
- ##
+ #float#
##
- ##
+ #Permanencia mÃnima (en meses) que debe cumplir en el plan antes de pasarse a otro.#
@@ -1218,29 +1078,90 @@
- #permanencia_minima#
+ #fechaBaja#
- ##
+ #Fecha#
##
+ #Fecha en la que el afiliado solicita la baja#
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #borrar#
+
+
+ ##
+
+
+ #bool#
+
+
+
+
+
+ #Cambia fechaBaja a la fecha actual del sistema#
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #guardar#
+
+
##
+
+ #bool#
+
+
+ #Registra en la BD todo el esquema del plan#
+
+
+
+
+
+
+
+
-
@@ -1248,19 +1169,19 @@
-
+
-
+
-
+
-
+
-
+
#Prestador#
@@ -1269,7 +1190,7 @@
##
- ##
+ #Entidad prestadora de servicios para la obra social. PodrÃa ser tanto una ClÃnica, como un centro de radiologÃa o un médico particular.#
@@ -1343,62 +1264,16 @@
- #direccion#
-
-
- ##
-
-
- ##
-
-
- ##
-
-
-
-
-
-
-
-
-
-
-
-
-
- #zona#
-
-
- ##
-
-
- ##
-
-
- ##
-
-
-
-
-
-
-
-
-
-
-
-
-
- #codigo#
+ #cuit#
- ##
+ #int#
##
- ##
+ #Número de CUIT.#
@@ -1415,13 +1290,13 @@
#nombre#
- ##
+ #string#
##
- ##
+ #Nombre legal de la entidad.#
@@ -1435,16 +1310,16 @@
- #cuit#
+ #fechaBaja#
- ##
+ #Fecha#
##
- ##
+ #Fecha en la que fue dado de baja (o NULL si está activo)#
@@ -1465,19 +1340,19 @@
-
+
-
+
-
+
-
+
-
+
#Cap#
@@ -1486,7 +1361,7 @@
##
- ##
+ #Centro de Atención Personalizada, es un punto de atención al cliente que cubre una o más Zonas y tiene uno o más Promotores.#
@@ -1560,39 +1435,16 @@
- #zona#
-
-
- ##
-
-
- ##
-
-
- ##
-
-
-
-
-
-
-
-
-
-
-
-
-
- #telefono#
+ #codigo#
- ##
+ #string#
##
- ##
+ #Código único para identificar al Cap (se usa para referirse al Cap en listados, etc)#
@@ -1609,36 +1461,13 @@
#responsable#
- ##
-
-
- ##
-
-
- ##
-
-
-
-
-
-
-
-
-
-
-
-
-
- #direccion#
-
-
- ##
+ #string#
##
- ##
+ #Nombre del responsable (gerente) del CAP#
@@ -1655,13 +1484,13 @@
#horario#
- ##
+ #string#
##
- ##
+ #Horario de atención (texto libre)#
@@ -1682,19 +1511,19 @@
-
+
-
+
-
+
-
+
-
+
#Autorizacion#
@@ -1703,7 +1532,7 @@
##
- ##
+ #Cada vez que un Afiliado va a realizarse una Prestación, debe pedir una Autorización (sea Manual o Automática0.#
@@ -1718,7 +1547,7 @@
-
+
@@ -1780,13 +1609,13 @@
#codigo#
- ##
+ #int#
##
- ##
+ #Identificador único.#
@@ -1800,16 +1629,16 @@
- #tipo#
+ #porcentajeCobertura#
- ##
+ #int#
##
- ##
+ #Porcentaje de la prestacion cubierto por la Autorizacion#
@@ -1823,16 +1652,16 @@
- #fecha_emision#
+ #fechaSolicitud#
- ##
+ #Fecha#
##
- ##
+ #Fecha en que fue solicitada la autorización.#
@@ -1846,16 +1675,16 @@
- #fecha_aprobacion#
+ #fechaRealizacion#
- ##
+ #Fecha#
##
- ##
+ #Fecha en que efectivizada la autorización. Es decir el dia en que se rechazo o el dia en que el afiliado la utilizo.#
@@ -1869,16 +1698,16 @@
- #cod_afiliado#
+ #fechaVencimiento#
- ##
+ #Fecha#
##
- ##
+ #Fecha en que vence la autorización.#
@@ -1892,16 +1721,16 @@
- #descripcion#
+ #aprobada#
- ##
+ #bool#
##
- ##
+ #Indica si la autorizacion fue aprobada o no.#
@@ -1915,16 +1744,16 @@
- #aprobada#
+ #fundamentosResolucion#
- ##
+ #string#
##
- ##
+ #Una descripcion coloquial del por qué se aprueba o rechaza la autorización#
@@ -1936,121 +1765,59 @@
-
+
+
+
- #prestacion#
+ #getEstado#
-
- ##
-
-
+
##
-
- ##
+
+ #int#
+
+ ##
+
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ##
-
-
- ##
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ##
-
-
- ##
-
-
-
-
-
-
-
+
-
+
-
+
-
+
-
+
-
+
#Zona#
@@ -2059,7 +1826,7 @@
##
- ##
+ #Región geográfica que cubre un Cap y a la que pertenecen los Prestadores#
@@ -2133,62 +1900,16 @@
- #pais#
-
-
- ##
-
-
- ##
-
-
- ##
-
-
-
-
-
-
-
-
-
-
-
-
-
- #provincia#
-
-
- ##
-
-
- ##
-
-
- ##
-
-
-
-
-
-
-
-
-
-
-
-
-
- #ciudad#
+ #nombre#
- ##
+ #string#
##
- ##
+ #Nombre de la Zona#
@@ -2202,16 +1923,16 @@
- #barrio#
+ #descripcion#
- ##
+ #string#
##
- ##
+ #Descripción de la Zona#
@@ -2230,21 +1951,21 @@
-
+
-
+
-
+
-
+
-
+
-
+
#Solicitante#
@@ -2253,7 +1974,7 @@
##
- ##
+ #Persona esperando ser Afiliado a la obra social por un Promotor.#
@@ -2268,7 +1989,7 @@
-
+
@@ -2330,13 +2051,13 @@
#disponibilidad#
- ##
+ #string#
##
- ##
+ #Horario en el cual puede ser visitado (como texto libre)#
@@ -2353,13 +2074,13 @@
#familiares#
- ##
+ #int#
##
- ##
+ #Cantidad de integrantes del grupo familiar a afiliar.#
@@ -2373,218 +2094,202 @@
- #observacion#
+ #observaciones#
+ #string#
+
+
##
+
+ #Observaciones que puedan ser de utilidad para el Promotor.#
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #pendiente#
+
+
+ #bool#
+
##
+ #Indica si el solicitante fue visitado o no.#
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #existe#
+
+
+ ##
+
+
+ #bool#
+
+
+
+
+
+ #Devuelve True si el afiliado existe y carga el resto de los datos correspondientes. Si no existe devuelve False. Si existe más de uno, se pueden obtener con getNext().#
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #getNext#
+
+
+ ##
+
+
+ #bool#
+
+
+
+
+
+ #Si encontró uno nuevo, devuelve True y lo carga. Si no devuelve False y queda intacto.#
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #guardar#
+
+
+ ##
+
+
+ #bool#
+
+
+
+
+
+ #Guarda los datos del solicitante en la DB y retorna True si no hubo error#
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #borrar#
+
+
##
+
+ #bool#
+
+
+ #Borra el solicitante de la DB y retorna True si no hubo error#
+
+
+
+
+
+
+
+
-
-
+
-
+
-
-
-
-
-
-
-
+
-
-
-
-
+
+
-
-
+
+
-
-
+
+
- ##
-
-
- ##
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- #Prestacion_Realizada#
-
-
- ##
-
-
- ##
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- #fecha#
-
-
- ##
-
-
- ##
-
-
- ##
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- #Manual#
+ #AutorizacionManual#
##
- ##
+ #Autorización que debe ser aprobada manualmente, a través de un auditor médico.#
@@ -2658,62 +2363,16 @@
- #fecha#
-
-
- ##
-
-
- ##
-
-
- ##
-
-
-
-
-
-
-
-
-
-
-
-
-
- #fecha_vencimiento#
-
-
- ##
-
-
- ##
-
-
- ##
-
-
-
-
-
-
-
-
-
-
-
-
-
- #descripcion_rechazo#
+ #observaciones#
- ##
+ #string#
##
- ##
+ #Una descripcion coloquial del por qué se solicita la autorización#
@@ -2727,16 +2386,16 @@
- #observacion#
+ #fechaResolucion#
- ##
+ #fecha#
##
- ##
+ #Fecha en la que se aprobo/rechazo la autorizacion.#
@@ -2755,65 +2414,30 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ##
-
-
- ##
-
-
-
-
-
-
-
+
-
+
-
+
-
+
-
+
- #Automatica#
+ #AutorizacionAutomatica#
##
- ##
+ #Autorización aprobada o rechazada automáticamente por el sistema#
@@ -2891,53 +2515,18 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ##
-
-
- ##
-
-
-
-
-
-
-
+
-
+
-
+
-
+
-
+
@@ -2949,7 +2538,7 @@
##
- ##
+ #Limitaciones de cobertura para un Plan y una Prestación determinada.#
@@ -3023,16 +2612,16 @@
- #tiempo_de_permanencia#
+ #carencia#
- ##
+ #float#
##
- ##
+ #Antigüedad (en meses) que debe tener el afiliado en el plan para ser cubierto.#
@@ -3049,13 +2638,13 @@
#porcentaje#
- ##
+ #int#
##
- ##
+ #Porcentaje de la prestación cubierto.#
@@ -3069,16 +2658,16 @@
- #limite_anual#
+ #limiteAnual#
- ##
+ #int#
##
- ##
+ #Cantidad de prestaciones que se puede realizar por año (cero indica que no hay lÃmite).#
@@ -3092,16 +2681,16 @@
- #tipo_de_autorizacion#
+ #tipoAutorizacion#
- ##
+ #enum(manual,auto)#
##
- ##
+ #Indica el tipo de autorización que necesita para realizarse la prestación.#
@@ -3120,48 +2709,21 @@
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
-
+
-
+
#Categoria#
@@ -3170,7 +2732,7 @@
##
- ##
+ #Clasificación de las Prestaciones#
@@ -3247,13 +2809,13 @@
#codigo#
- ##
+ #int#
##
- ##
+ #Código de la categorÃa según el codificador#
@@ -3270,14 +2832,37 @@
#nombre#
- ##
+ #string#
##
+ #Nombre de la categorÃa.#
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #fechaBaja#
+
+
+ #Fecha#
+
+
##
+
+ #Fecha en la que fue dado de baja (o NULL si está activo)#
+
@@ -3295,740 +2880,590 @@
-
+
-
+
-
-
-
-
-
-
-
+
-
-
-
-
+
+
-
-
+
+
-
-
+
+
- ##
+ #HistoriaPlan#
##
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ #Representa el perÃodo de tiempo que un afiliado estuvo en un plan.#
-
- ##
+
+
-
-
+
+
-
-
-
- ##
-
-
- # *#
-
-
-
-
-
-
-
-
-
-
- ##
-
-
- #1#
-
-
-
-
-
-
-
-
+
+
-
-
-
-
-
-
-
-
+
+
-
-
+
+
-
-
-
-
+
+
-
-
-
+
+
-
- ##
+
+
-
-
+
+
-
-
-
- ##
-
-
- # 1#
-
-
-
-
-
-
-
-
-
-
- ##
-
-
- #1#
-
-
-
-
-
-
-
-
+
+
-
-
-
-
-
-
-
-
+
+
-
-
+
+
-
-
-
-
-
+
+
-
-
-
-
+
+
-
- ##
+
+
-
-
+
+
-
-
-
- ##
-
-
- #* #
-
-
-
-
-
-
-
-
-
-
- ##
-
-
- #1#
-
-
-
-
-
-
-
-
+
+
-
-
-
-
-
-
-
-
+
+
-
-
+
+
-
-
-
-
-
+
+
-
-
-
-
+
+
-
- ##
+
+
-
-
+
+
-
-
-
+
+
+
+ #fechaIngreso#
+
+
+ #Fecha#
+
+
##
-
- #*#
+
+ #Fecha en que se dio de alta el plan#
+
+
+
-
+
-
-
+
+
-
-
+
+
+ #fechaEgreso#
+
+
+ #Fecha#
+
+
##
-
- #1#
+
+ #Fecha en la que el plan no rige mas para el afiliado (si es el plan actual es NULL)#
+
+
+
-
+
-
-
+
+
-
-
-
-
+
+
+
+
+
-
+
-
+
-
+
-
-
-
-
-
+
+
-
-
-
-
+
+
+
+
+
+ #Direccion#
+
+
##
-
-
+
+ #Dirección y datos de un domicilio#
-
-
-
- ##
-
-
- #* #
-
-
-
-
-
-
-
-
-
-
- ##
-
-
- # 1#
-
-
-
-
-
-
-
-
+
+
-
-
-
-
-
-
-
-
+
+
-
-
+
+
-
-
-
-
-
-
-
+
+
-
-
-
-
-
-
+
+
-
+
-
- ##
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
+ #calle#
+
+
+ #string#
+
+
##
-
- #* #
+
+ #Calle del domicilio#
+
+
+
-
+
-
-
+
+
-
-
+
+
+ #numero#
+
+
+ #int#
+
+
##
-
- #1#
+
+ #Número del domicilio#
+
+
+
-
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ##
-
-
-
-
-
-
-
+
+
+ #piso#
+
+
+ #int#
+
+
##
-
- # *#
+
+ #Piso del domicilio#
+
+
+
-
+
-
-
+
+
-
-
+
+
+ #departamento#
+
+
+ #string#
+
+
##
-
- #1#
+
+ #Departamento del domicilio#
-
+
+
+
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ##
-
-
-
-
-
-
-
+
+
+ #codigoPostal#
+
+
+ #string(8)#
+
+
##
-
- # * #
+
+ #Código postal del domicilio#
+
+
+
-
+
-
+
+
+
+
+
+
+ #provincia#
+
+
+ #enum([provincias])#
+
+
+ ##
+
+
+ #Provincia donde se encuentra el domicilio#
+
+
+
+
+
+
+
+
-
-
+
+
+ #telefono#
+
+
+ #string#
+
+
##
-
- #1#
+
+ #Teléfono del domicilio#
-
+
+
+
+
-
-
+
+
-
-
-
-
+
+
+
+
+
-
+
-
+
-
+
-
-
+
+
+
+
+
-
-
+
+
+
+
-
-
+
+
-
-
+
+ ##
-
-
-
- #No deberia
-asociarse
-con
-Cobertura?#
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ ##
+
+
+
+
-
+
-
+
-
+
-
-
-
-
-
-
+
+
+
+
+
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+ ##
+
+
+ ##
-
-
+
+
-
+
-
+
-
-
-
-
-
+
-
-
+
+
+
+
+
-
+
+
+
-
-
+
+
+
+
+
-
-
+
+ ##
+
+
+ ##
-
-
+
+
-
+
-
+
-
+
-
-
-
-
-
+
+
+
+
-
+
+
+
+
+
+
##
-
-
-
-
-
-
- ##
-
-
- #* #
-
-
-
-
-
-
-
-
-
-
- ##
-
-
- #1#
-
-
-
-
-
-
-
-
+
+ ##
-
-
+
+
-
+
-
+
-
+
-
-
-
-
-
+
+
+
+
-
+
+
+
+
+
+
##
-
-
-
-
-
-
- ##
-
-
- #* #
-
-
-
-
-
-
-
-
-
-
- ##
-
-
- #*#
-
-
-
-
-
-
-
-
+
+ ##
-
-
+
+