diff --git a/Assets/Projects/LanZhou_HuaGong/Doc开发文档/~$化工装置检修脚本(3).xlsx.meta b/Assets/Projects/LanZhou_HuaGong/Doc开发文档/~$化工装置检修脚本(3).xlsx.meta
index fb0b0eab..e33ae141 100644
--- a/Assets/Projects/LanZhou_HuaGong/Doc开发文档/~$化工装置检修脚本(3).xlsx.meta
+++ b/Assets/Projects/LanZhou_HuaGong/Doc开发文档/~$化工装置检修脚本(3).xlsx.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 13eec4d699dc4ca408f42afac450985f
+guid: 4c38cb6eb9bca754ca7c260500f0aaac
DefaultImporter:
externalObjects: {}
userData:
diff --git a/Assets/Scenes/ExamScenes/01_YinHuanShiBie.unity b/Assets/Scenes/ExamScenes/01_YinHuanShiBie.unity
index a891c04e..c7b26b95 100644
--- a/Assets/Scenes/ExamScenes/01_YinHuanShiBie.unity
+++ b/Assets/Scenes/ExamScenes/01_YinHuanShiBie.unity
@@ -659,7 +659,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 919132149155446097, guid: 7119bae4be098d841b69e0f9b0fd8862, type: 3}
propertyPath: m_IsActive
- value: 1
+ value: 0
objectReference: {fileID: 0}
- target: {fileID: 919132149155446097, guid: 7119bae4be098d841b69e0f9b0fd8862, type: 3}
propertyPath: m_TagString
@@ -940,8 +940,8 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 410703097}
serializedVersion: 2
- m_LocalRotation: {x: -0.067409106, y: -0.93212664, z: 0.23583741, w: -0.2664146}
- m_LocalPosition: {x: -2.1864853, y: 0.6282445, z: 2.1497204}
+ m_LocalRotation: {x: -0.047018472, y: -0.9505979, z: 0.24960603, w: -0.17846519}
+ m_LocalPosition: {x: 4.9638157, y: 1.1076417, z: 5.3075237}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
@@ -1076,6 +1076,72 @@ MeshCollider:
m_Convex: 0
m_CookingOptions: 30
m_Mesh: {fileID: -8603823780617561934, guid: b8caf5cbd80b0e041b1f74ab12bfa1dd, type: 3}
+--- !u!1001 &543350895
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 2045044545}
+ m_Modifications:
+ - target: {fileID: 3676235221941830302, guid: 2dc496f07a5ac244584d35a9cc29385f, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: -1.972
+ objectReference: {fileID: 0}
+ - target: {fileID: 3676235221941830302, guid: 2dc496f07a5ac244584d35a9cc29385f, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0.349
+ objectReference: {fileID: 0}
+ - target: {fileID: 3676235221941830302, guid: 2dc496f07a5ac244584d35a9cc29385f, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 1.734
+ objectReference: {fileID: 0}
+ - target: {fileID: 3676235221941830302, guid: 2dc496f07a5ac244584d35a9cc29385f, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 0.014067169
+ objectReference: {fileID: 0}
+ - target: {fileID: 3676235221941830302, guid: 2dc496f07a5ac244584d35a9cc29385f, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0.020670721
+ objectReference: {fileID: 0}
+ - target: {fileID: 3676235221941830302, guid: 2dc496f07a5ac244584d35a9cc29385f, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0.8264372
+ objectReference: {fileID: 0}
+ - target: {fileID: 3676235221941830302, guid: 2dc496f07a5ac244584d35a9cc29385f, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0.56247354
+ objectReference: {fileID: 0}
+ - target: {fileID: 3676235221941830302, guid: 2dc496f07a5ac244584d35a9cc29385f, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: -68.298
+ objectReference: {fileID: 0}
+ - target: {fileID: 3676235221941830302, guid: 2dc496f07a5ac244584d35a9cc29385f, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 172.775
+ objectReference: {fileID: 0}
+ - target: {fileID: 3676235221941830302, guid: 2dc496f07a5ac244584d35a9cc29385f, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 7.77
+ objectReference: {fileID: 0}
+ - target: {fileID: 4596667349323848997, guid: 2dc496f07a5ac244584d35a9cc29385f, type: 3}
+ propertyPath: m_Name
+ value: "\u6F0F\u6C14 (1)"
+ objectReference: {fileID: 0}
+ - target: {fileID: 4596667349323848997, guid: 2dc496f07a5ac244584d35a9cc29385f, type: 3}
+ propertyPath: m_IsActive
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 2dc496f07a5ac244584d35a9cc29385f, type: 3}
+--- !u!4 &543350896 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 3676235221941830302, guid: 2dc496f07a5ac244584d35a9cc29385f, type: 3}
+ m_PrefabInstance: {fileID: 543350895}
+ m_PrefabAsset: {fileID: 0}
--- !u!1001 &574058557
PrefabInstance:
m_ObjectHideFlags: 0
@@ -2447,89 +2513,6 @@ Transform:
m_Children: []
m_Father: {fileID: 1009086958}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!1 &1711695756
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 1711695757}
- - component: {fileID: 1711695759}
- - component: {fileID: 1711695758}
- m_Layer: 0
- m_Name: "\u5BF9\u8C61178\u4F4D\u7F6E\u70B91"
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 2147483647
- m_IsActive: 1
---- !u!4 &1711695757
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1711695756}
- serializedVersion: 2
- m_LocalRotation: {x: 0, y: -0, z: -0, w: 1}
- m_LocalPosition: {x: -2.1681, y: -0.78962475, z: -4.5787077}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 2146716066}
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!23 &1711695758
-MeshRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1711695756}
- m_Enabled: 1
- m_CastShadows: 1
- m_ReceiveShadows: 1
- m_DynamicOccludee: 1
- m_StaticShadowCaster: 0
- m_MotionVectors: 1
- m_LightProbeUsage: 1
- m_ReflectionProbeUsage: 1
- m_RayTracingMode: 2
- m_RayTraceProcedural: 0
- m_RenderingLayerMask: 1
- m_RendererPriority: 0
- m_Materials:
- - {fileID: 2100000, guid: 8872baec0155a534b870f80826a74544, type: 2}
- m_StaticBatchInfo:
- firstSubMesh: 0
- subMeshCount: 0
- m_StaticBatchRoot: {fileID: 0}
- m_ProbeAnchor: {fileID: 0}
- m_LightProbeVolumeOverride: {fileID: 0}
- m_ScaleInLightmap: 1
- m_ReceiveGI: 1
- m_PreserveUVs: 0
- m_IgnoreNormalsForChartDetection: 0
- m_ImportantGI: 0
- m_StitchLightmapSeams: 1
- m_SelectedEditorRenderState: 3
- m_MinimumChartSize: 4
- m_AutoUVMaxDistance: 0.5
- m_AutoUVMaxAngle: 89
- m_LightmapParameters: {fileID: 0}
- m_SortingLayerID: 0
- m_SortingLayer: 0
- m_SortingOrder: 0
- m_AdditionalVertexStreams: {fileID: 0}
---- !u!33 &1711695759
-MeshFilter:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1711695756}
- m_Mesh: {fileID: 5860039080397204447, guid: b8caf5cbd80b0e041b1f74ab12bfa1dd, type: 3}
--- !u!1001 &1807411595
PrefabInstance:
m_ObjectHideFlags: 0
@@ -2701,6 +2684,72 @@ MeshFilter:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1810953029}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!1001 &1882680637
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 2045044545}
+ m_Modifications:
+ - target: {fileID: 1201798746072054859, guid: 16422418462323b46a9747fe6c37b07e, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: -1.9005
+ objectReference: {fileID: 0}
+ - target: {fileID: 1201798746072054859, guid: 16422418462323b46a9747fe6c37b07e, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0.4131
+ objectReference: {fileID: 0}
+ - target: {fileID: 1201798746072054859, guid: 16422418462323b46a9747fe6c37b07e, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 1.833
+ objectReference: {fileID: 0}
+ - target: {fileID: 1201798746072054859, guid: 16422418462323b46a9747fe6c37b07e, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 0.025265403
+ objectReference: {fileID: 0}
+ - target: {fileID: 1201798746072054859, guid: 16422418462323b46a9747fe6c37b07e, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0.010830942
+ objectReference: {fileID: 0}
+ - target: {fileID: 1201798746072054859, guid: 16422418462323b46a9747fe6c37b07e, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0.98881066
+ objectReference: {fileID: 0}
+ - target: {fileID: 1201798746072054859, guid: 16422418462323b46a9747fe6c37b07e, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0.1466213
+ objectReference: {fileID: 0}
+ - target: {fileID: 1201798746072054859, guid: 16422418462323b46a9747fe6c37b07e, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 16.888
+ objectReference: {fileID: 0}
+ - target: {fileID: 1201798746072054859, guid: 16422418462323b46a9747fe6c37b07e, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 177.197
+ objectReference: {fileID: 0}
+ - target: {fileID: 1201798746072054859, guid: 16422418462323b46a9747fe6c37b07e, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0.839
+ objectReference: {fileID: 0}
+ - target: {fileID: 2165656982044914190, guid: 16422418462323b46a9747fe6c37b07e, type: 3}
+ propertyPath: m_Name
+ value: PenWu (1)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2165656982044914190, guid: 16422418462323b46a9747fe6c37b07e, type: 3}
+ propertyPath: m_IsActive
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 16422418462323b46a9747fe6c37b07e, type: 3}
+--- !u!4 &1882680638 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 1201798746072054859, guid: 16422418462323b46a9747fe6c37b07e, type: 3}
+ m_PrefabInstance: {fileID: 1882680637}
+ m_PrefabAsset: {fileID: 0}
--- !u!1 &1966447841
GameObject:
m_ObjectHideFlags: 0
@@ -2937,9 +2986,11 @@ Transform:
- {fileID: 1807411596}
- {fileID: 1592209479}
- {fileID: 574058558}
+ - {fileID: 543350896}
- {fileID: 2054812220}
- {fileID: 2087723297}
- {fileID: 1273752436}
+ - {fileID: 1882680638}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1001 &2054577995
@@ -5465,11 +5516,11 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: -7114258450850454861, guid: b8caf5cbd80b0e041b1f74ab12bfa1dd, type: 3}
propertyPath: m_IsActive
- value: 0
+ value: 1
objectReference: {fileID: 0}
- target: {fileID: -7114258450850454861, guid: b8caf5cbd80b0e041b1f74ab12bfa1dd, type: 3}
propertyPath: m_StaticEditorFlags
- value: 2147483647
+ value: 0
objectReference: {fileID: 0}
- target: {fileID: -7113529222617281297, guid: b8caf5cbd80b0e041b1f74ab12bfa1dd, type: 3}
propertyPath: m_StaticEditorFlags
@@ -16763,6 +16814,10 @@ PrefabInstance:
propertyPath: m_StaticEditorFlags
value: 2147483647
objectReference: {fileID: 0}
+ - target: {fileID: 3868881106272085186, guid: b8caf5cbd80b0e041b1f74ab12bfa1dd, type: 3}
+ propertyPath: m_IsActive
+ value: 1
+ objectReference: {fileID: 0}
- target: {fileID: 3868881106272085186, guid: b8caf5cbd80b0e041b1f74ab12bfa1dd, type: 3}
propertyPath: m_StaticEditorFlags
value: 2147483647
@@ -22489,10 +22544,7 @@ PrefabInstance:
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
- m_AddedGameObjects:
- - targetCorrespondingSourceObject: {fileID: -8679921383154817045, guid: b8caf5cbd80b0e041b1f74ab12bfa1dd, type: 3}
- insertIndex: 4457
- addedObject: {fileID: 1711695757}
+ m_AddedGameObjects: []
m_AddedComponents:
- targetCorrespondingSourceObject: {fileID: 2135350872332985444, guid: b8caf5cbd80b0e041b1f74ab12bfa1dd, type: 3}
insertIndex: -1
@@ -22902,8 +22954,8 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 0}
m_AnchorMax: {x: 1, y: 0}
- m_AnchoredPosition: {x: -149.65723, y: 265.5}
- m_SizeDelta: {x: 395.3143, y: 491}
+ m_AnchoredPosition: {x: -119, y: 180.96368}
+ m_SizeDelta: {x: 292.7639, y: 321.9273}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &7084245023263609022
MonoBehaviour:
diff --git a/Assets/Scripts/UI/UITextWindow.cs b/Assets/Scripts/UI/UITextWindow.cs
index 09206e5c..e745dbc3 100644
--- a/Assets/Scripts/UI/UITextWindow.cs
+++ b/Assets/Scripts/UI/UITextWindow.cs
@@ -83,7 +83,10 @@ namespace QFramework.Example
Content.rectTransform.anchoredPosition = Vector2.zero;
// ѡĵΪҲе㣨Ӱ/תģ
- Content.rectTransform.pivot = new Vector2(1, 0.5f);
+ //Content.rectTransform.pivot = new Vector2(1, 0.5f);
+ Content.rectTransform.anchoredPosition = new Vector2(-21f, 182f);
+
+
break;
}
}
diff --git a/Data/App.xml b/Data/App.xml
index ef7c654b..4ed7f437 100644
--- a/Data/App.xml
+++ b/Data/App.xml
@@ -4,7 +4,7 @@
-
+
diff --git a/Data/Audio/sound_2.mp3 b/Data/Audio/sound_2.mp3
new file mode 100644
index 00000000..f0928efd
Binary files /dev/null and b/Data/Audio/sound_2.mp3 differ
diff --git a/Data/Audio/sound_2.wav b/Data/Audio/sound_2.wav
deleted file mode 100644
index 1b08ba15..00000000
Binary files a/Data/Audio/sound_2.wav and /dev/null differ
diff --git a/Data/Audio/sound_6.mp3 b/Data/Audio/sound_6.mp3
index 20ac8b13..e07647d4 100644
Binary files a/Data/Audio/sound_6.mp3 and b/Data/Audio/sound_6.mp3 differ
diff --git a/Data/DeviceIcons/gongju/11.png b/Data/DeviceIcons/gongju/11.png
new file mode 100644
index 00000000..cc915fbd
Binary files /dev/null and b/Data/DeviceIcons/gongju/11.png differ
diff --git a/Data/DeviceIcons/gongju/12.png b/Data/DeviceIcons/gongju/12.png
new file mode 100644
index 00000000..96db6223
Binary files /dev/null and b/Data/DeviceIcons/gongju/12.png differ
diff --git a/Data/Xml/01_YinHuanShiBie.xml b/Data/Xml/01_YinHuanShiBie.xml
index 6c3fd77f..5c996246 100644
--- a/Data/Xml/01_YinHuanShiBie.xml
+++ b/Data/Xml/01_YinHuanShiBie.xml
@@ -11,7 +11,7 @@
Main/SM_LuoSiSongDong/SM_Chaoshengbojianceyi
- gongju/7.png
+ gongju/9.png
@@ -145,6 +145,15 @@
+
+
+
+
+
+
+
+
+
@@ -351,7 +360,7 @@
+法兰螺栓松动会导致法兰密封失效,导致介质泄漏,设备连接处断裂,引发系统停机或压力容器失控”" time="-1" icon="false" audio="sound_2.mp3">
+
@@ -845,31 +854,30 @@
-
+
+
+
-
-
+
+
+
+
-
-
-
-
-
-
+
-
-
+
+
diff --git a/Data/Xml/02_JianXiuJueCe.xml b/Data/Xml/02_JianXiuJueCe.xml
index eb200d56..294b6d0a 100644
--- a/Data/Xml/02_JianXiuJueCe.xml
+++ b/Data/Xml/02_JianXiuJueCe.xml
@@ -1,13 +1,1141 @@
- 02_JianXiuJueCe
+ 01_YinHuanShiBie
All
检修决策训练
MoKuai2.png
+
+ 防松垫片
+
+ Main/SM_LuoSiSongDong/SM_FangSongDianPian
+
+ gongju/11.png
+
+
+ 螺纹胶
+
+ Main/SM_LuoSiSongDong/SM_LuoWenJiao
+
+ gongju/12.png
+
+
+
+
+ 超声波螺栓应力检测仪
+
+ Main/SM_LuoSiSongDong/SM_Chaoshengbojianceyi
+
+ gongju/9.png
+
+
+
+
+ 扭矩扳手
+
+ Main/SM_LuoSiSongDong
+
+
+ gongju/3.png
+
+
+
+ 渗透剂
+
+ Main/SM_JianChaLieFeng/SM_ShenTouJi
+
+
+ gongju/5.png
+
+
+
+ 万用表
+
+ Main/SM_ChuXiuHuanXian
+
+
+ gongju/7.png
+
+
+
+ 磁粉检测仪
+
+ Main/SM_ChuXiuHuanXian
+
+ gongju/10.png
+
+
+
+ 热成像仪
+
+ Main/SM_FaLanDianPian/SM_ReChengXiang
+
+
+ gongju/1.png
+
+
+ 超声波检测仪器
+
+ Main/SM_JianChaLieFeng/SM_ChaoShengBoJianCe
+
+
+ gongju/2.png
+
+
+
+
+ 可燃气体检测仪
+
+ Main/SM_FaLanDianPian/SM_KeRanQiTiJianCe
+
+
+ gongju/4.png
+
+
+
+
+ 喷壶
+
+ Main/SM_JianChaLouQi/SM_PenHu
+
+ gongju/8.png
+
+
+
+
+ 声学成像仪
+
+ Main/SM_JianChaLouQi/SM_ShengXueChengXiangYi
+
+ gongju/6.png
+
-
\ No newline at end of file
+
+ 接地线
+
+ Main/ChuXiuHuanXian_Collider
+ 接地线碰撞体
+
+
+ 法兰垫片碰撞体
+
+ Main/FaLanDianPian_Collider
+ 法兰垫片碰撞体
+
+
+
+ 裂缝碰撞体
+
+ Main/JianChaLieFeng_Collider
+ 裂缝碰撞体
+
+
+
+ 漏油碰撞体
+
+ Main/JianChaLouQi_Collider
+ 漏油碰撞体
+
+
+
+ 螺丝松动碰撞体
+
+ Main/LuoSiSongDong_Collider
+ 螺丝松动碰撞体
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+