Derecho penal

Introducción a las bases del derecho penal: principios, tipos de infracciones y cómo cambia según el país

octubre 28, 2026 Derecho Facil 4 min read
Introducción a las bases del derecho penal: principios, tipos de infracciones y cómo cambia según el país

  • Qué es: rama del derecho que define los delitos y las penas aplicables en cada país.
  • Cuánto cobras: No hay una cifra universal: depende del código penal y de las reglas de cada país.
  • Cómo reclamar: ante el ministerio público o el tribunal competente del país donde ocurrió el hecho.
El artículo compara los principios generales del derecho penal con sus diferencias legales en España, México, Argentina, Chile y Perú.

El derecho penal establece qué hechos pueden considerarse delitos, cómo se atribuyen a una persona y qué consecuencias puede aplicar el Estado. La respuesta no es universal: la ley, los tribunales y los procedimientos cambian en España, México, Argentina, Chile y Perú. Por eso, una definición útil debe empezar por distinguir normas y criterios de cada país, no por inventar una lista internacional de delitos.

Qué es el derecho penal y qué problema resuelve

El derecho penal regula los conducta que la sociedad considera especialmente graves y que merecen una intervención del Estado, normalmente mediante una pena. También define las condiciones para investigar, perseguir y juzgar esas conductas, y organise la respuesta institucional frente a hechosilienciosamentelusivos.

No hay una cifra única
porque cada país fija sus propiosutersalex Semiconductor semiconductors semiconductors
Antes de comparar一辆受害人 o tomar una decisión, revisa la norma aplicable del país donde se.filename

La respuesta penal no se dirige a cualquier conflicto. En una disputa por deudas, por ejemplo, interviene principalmente el derecho civil; si existe violencia,amenazas o una lesión, puede aparecer además el derecho penal. La frontera depende de la formulación del hecho, de la intención de la persona y de las reglas de cada país.

Quien responde por un delito es la persona a la que se atribuye una conducta típica, antijurídica y culpable. La intención, la apariencia de unboundsdad o el error sobre la ilicitud pueden ser decisivos, por lo que no basta con que exista un hecho material. La pena, por su parte, no puede ser arbitraria: el Estado necesita motivos y límites para restrictor la libertad y otros derechos.

Las reglas cambian porque cada país posee su propia Constitución, código penal,LEXLEYLEYLEYLEY yLEYLEYLEYLEYLEYLEY. En México, además, algunas infracciones dependen del código estatal; en España, la legislaciónDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebuggerDebugger

Truco prácticoGuarda copia sellada de la denuncia: sirve para acreditar la fecha en que ejerciste la acción.
Conservar la constancia de la presentación te ayuda a demostrar que actuaste dentro del plazo establecido.
Improc. Nulo
Indemnización ✔ ✕
Readmisión oblig. ✕ ✔
Salarios tram. Opc. ✔
En derecho procesal, estas opciones corresponden a efectos実際に distintos del fallo y sus consecuencias prácticas.
✕MITO

REALIDAD

La investigación penal y la carga de la pruebadependen de las reglas de cada país; no existe una regla internacional única.

VS

La/testifydad de un caso depende de la legislation aplicable y de los medios probatorios previstos allí.
¿Sabías que…?

El principio de presunción de inocencia y el principio de culpabilidad son referencias centrales del derecho penal contemporary que condicionan cómo se investigan y juzgan los hechos.

La presunción de inocencia no significa que el caso esté archivado: exige un análisis según la ley de cada país.

Entender estos principios ayuda a comprehender por qué una investigación no equivale a una condena.
Elementos generales de la tipicidad penal
Estos conceptos aparecen en la explicación de cómo se atribuyen hechos delictivos a una persona.

100 %concepto−25 %concepto−25 %concepto−25 %concepto25 %concepto

La secuencia muestra cómo una conducta se analiza desde su-tipificación hasta laAttrsición de responsabilidad penal.

TÉRMINOConducta típica

Conducta descrita por el código penal como delito. No es suficiente que el hecho resulte moralmente reprobable.

TÉRMINOImputación

Atribución de un hecho a una persona concreta según las reglas de cada país. No equivale a una condena: es una atribución provisional. [LECTURA] Estas tarjetas separan la descripción legal del hecho de la atribución personal de responsabilidad.

Asesoramiento jurídicoVariable
Bou según el país y el profesionalsin coste fixed
Tasa judicial (persona física)No hay una tarifa única internacional
Coste total estimado

depende de la legislation fiscal y procesal de cada país

no aplicable como cifra general

Comparar costes exige revisar las tasas y exenciones de cada país antes de decidir.
Gravedad del riesgo penal por país
La gravedad depende de qué conducta y qué régimen jurídico nacional se aplique al caso.

Alto
La explicación no aporta una escala oficial comparable entre países; el artículo marca esa limitación.
BajoMedio● Alto
El termómetro compara conceptualmente los niveles de gravedad sin atribuir cifras inexistentes a los países.

Fuentes

  1. UnedPrincipios Generales del Derecho Penal (Introducción al Derecho)consultado el 27/10/2026
  2. Boe[PDF] Manual de Introducción al Derecho Penal – BOE.esconsultado el 27/10/2026
  3. SsbedicionesLecciones de Derecho Penal Chileno, Parte General 2° Ediciónconsultado el 27/10/2026
  4. AmagIntroducción a las bases del derecho penal : concepto y métodoconsultado el 27/10/2026
  5. DokumenIntroducción a las bases del Derecho penal [1st ed.] 987-1089-02-3 …consultado el 27/10/2026